Document Version 2.3 © Oracle Corporation This document may be reproduced whole and intact including the Copyright notice. FIPS 140-2 Non-Proprietary Security Policy Oracle Linux 7 OpenSSH Client Cryptographic Module FIPS 140-2 Level 1 Validation Software Version: R7-4.0.0 Date: March 18th , 2020 Oracle Linux 7 OpenSSL Client Cryptographic Module Security Policy i Title: Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy DATE: March 18th, 2020 Author: Oracle Security Evaluations – Global Product Security Contributing Authors: Oracle Security Evaluations – Global Product Security Oracle Linux Engineering Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com Copyright © 2020, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. Oracle specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may reproduced or distributed whole and intact including this copyright notice. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy ii TABLE OF CONTENTS Section Title Page 1. Introduction......................................................................................................................................................................... 1 1.1 Overview................................................................................................................................................................................1 1.2 Document Organization.........................................................................................................................................................1 2. Oracle Linux 7 OpenSSH Client Cryptographic Module ......................................................................................................... 2 2.1 Functional Overview ..............................................................................................................................................................2 2.2 FIPS 140-2 Validation Scope...................................................................................................................................................2 3. Cryptographic Module Specification .................................................................................................................................... 3 3.1 Definition of the Cryptographic Module................................................................................................................................3 3.2 Definition of the Physical Cryptographic Boundary...............................................................................................................4 3.3 Modes of Operation...............................................................................................................................................................4 3.4 Approved Security Functions from OpenSSH module ...........................................................................................................5 3.5 Approved or Allowed Security Functions from OpenSSL Module..........................................................................................5 3.6 Non-Approved Security Functions from OpenSSH Module ...................................................................................................6 3.7 Non-Approved Security Functions from OpenSSL Module....................................................................................................6 4. Module Ports and Interfaces................................................................................................................................................ 7 5. Physical Security .................................................................................................................................................................. 8 6. Operational Environment..................................................................................................................................................... 9 6.1 Tested Environments .............................................................................................................................................................9 6.2 Vendor Affirmed Environments.............................................................................................................................................9 6.3 Operational Environment Policy ..........................................................................................................................................13 7. Roles, Services and Authentication .....................................................................................................................................14 7.1 Roles.....................................................................................................................................................................................14 7.2 FIPS Approved Services and Descriptions ............................................................................................................................14 7.3 Non FIPS Approved Services and Descriptions ....................................................................................................................15 7.4 Operator Authentication......................................................................................................................................................15 8. Key and CSP Management ..................................................................................................................................................16 8.1 Random Number and Key Generation.................................................................................................................................16 8.2 Key/CSP Storage...................................................................................................................................................................16 8.3 Key/CSP Zeroization.............................................................................................................................................................16 9. Self-Tests ............................................................................................................................................................................17 9.1 Power-Up Self-Tests.............................................................................................................................................................17 9.1.1 Integrity Tests ......................................................................................................................................................................17 9.1.2 Cryptographic Algorithm Tests ............................................................................................................................................17 9.2 On-Demand self-tests ..........................................................................................................................................................17 10. Crypto-Officer and User Guidance.......................................................................................................................................18 10.1 Crypto-Officer Guidance ......................................................................................................................................................18 10.1.1 OpenSSH Client Configuration .............................................................................................................................................20 10.2 User Guidance......................................................................................................................................................................21 10.2.1 Handling Self-Test Errors......................................................................................................................................................21 11. Mitigation of Other Attacks ................................................................................................................................................22 Acronyms, Terms and Abbreviations .........................................................................................................................................23 References.................................................................................................................................................................................24 Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy iii List of Tables Table 1: FIPS 140-2 Security Requirements............................................................................................................2 Table 2: FIPS Approved Security Functions from OpenSSH Module........................................................................5 Table 3: Approved Security Functions from Bound OpenSSL Module .....................................................................5 Table 4: Non Approved but Allowed Security Functions from Bound OpenSSL Module...........................................5 Table 5: Non-Approved Functions from OpenSSH Module.....................................................................................6 Table 6: Non-Approved Functions from OpenSSL Module......................................................................................6 Table 7: Mapping of FIPS 140 Logical Interfaces ....................................................................................................7 Table 8: Tested Operating Environment................................................................................................................9 Table 9: Vendor Affirmed Operating Environment ..............................................................................................13 Table 10: FIPS Approved Services and Descriptions .............................................................................................14 Table 11: Non FIPS Approved Services and Descriptions.......................................................................................15 Table 12: CSP Table............................................................................................................................................16 Table 13: Acronyms............................................................................................................................................23 Table 14: References..........................................................................................................................................24 List of Figures Figure 1: Oracle Linux 7 OpenSSH Logical Cryptographic Boundary ........................................................................4 Figure 2: Oracle Linux 7 OpenSSH Client Hardware Block Diagram.........................................................................4 Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 1 of 24 1. Introduction 1.1 Overview This document is the Security Policy for the Oracle Linux 7 OpenSSH Client Cryptographic Module by Oracle Corporation. Oracle Linux 7 OpenSSH Client Cryptographic Module is also referred to as “the Module” or “Module”. This Security Policy specifies the security rules under which the module shall operate to meet the requirements of FIPS 140-2 Level 1. It also describes how the Oracle Linux 7 OpenSSH Client Cryptographic Module functions in order to meet the FIPS 140-2 requirements, and the actions that operators must take to maintain the security of the module. This Security Policy describes the features and design of the Oracle Linux 7 OpenSSH Client Cryptographic Module using the terminology contained in the FIPS 140-2 specification. FIPS 140-2, Security Requirements for Cryptographic Module specifies the security requirements that will be satisfied by a cryptographic module utilized within a security system protecting sensitive but unclassified information. The NIST/CCCS Cryptographic Module Validation Program (CMVP) validates cryptographic module to FIPS 140-2. Validated products are accepted by the Federal agencies of both the USA and Canada for the protection of sensitive or designated information. 1.2 Document Organization The FIPS 140-2 submission package contains: • Oracle Linux 7 OpenSSH Client Cryptographic Module Non-Proprietary Security Policy • Other supporting documentation as additional references With the exception of this Non-Proprietary Security Policy, the FIPS 140-2 Validation Documentation is proprietary to Oracle and is releasable only under appropriate non-disclosure agreements. For access to these documents, please contact Oracle. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 2 of 24 2. Oracle Linux 7 OpenSSH Client Cryptographic Module 2.1 Functional Overview The Oracle Linux 7 OpenSSH Client Cryptographic Module is a software module implementing the cryptographic support for the SSH protocol in the Oracle Linux user space. The Oracle Linux 7 OpenSSH Client Cryptographic Module is distributed with Oracle Linux open-source distributions. The Module implements SSH protocol and acts as a client providing SSH service. 2.2 FIPS 140-2 Validation Scope The following table shows the security level for each of the eleven sections of the validation. Security Requirements Section Level Cryptographic Module Specification 1 Cryptographic Module Ports and Interfaces 1 Roles and Services and Authentication 1 Finite State Machine Model 1 Physical Security N/A Operational Environment 1 Cryptographic Key Management 1 EMI/EMC 1 Self-Tests 1 Design Assurance 3 Mitigation of Other Attacks N/A Table 1: FIPS 140-2 Security Requirements Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 3 of 24 3. Cryptographic Module Specification 3.1 Definition of the Cryptographic Module The Oracle Linux 7 OpenSSH Client Cryptographic Module is defined as software-only multi-chip standalone module as defined by the requirements within FIPS PUB 140-2. The logical cryptographic boundary of the module consists of application, library file and their integrity check HMAC files, which are delivered through the Oracle Linux Yum Server as listed below. The module will use the Oracle Linux OpenSSL Cryptographic Module (FIPS 140-2 Certificate #3474) as a bound module which provides the underlying cryptographic algorithms necessary for establishing and maintaining the SSH session. In addition the integrity check uses the cryptographic services provided by the Oracle Linux OpenSSL Cryptographic Module as used by the utility application of fipscheck using the HMAC-SHA-256 algorithm. This requires a copy of a Cert. #3474 validated version of the Oracle Linux OpenSSL Cryptographic Module to be installed on the system for the current module to operate. The cryptographic Module combines a vertical stack of Oracle Linux components intended to limit the external interface each separate component may provide. The following software needs to be installed for the module to operate: • Oracle Linux 7 OpenSSH Client Cryptographic Module with the version of the OpenSSH Client RPM file openssh-clients-7.4p1-16.el7.x86_64.rpm • The bound module of OpenSSL with FIPS 140-2 Certificate #3474 • The contents of the fipscheck RPM package fipscheck-1.4.1-6.el7.x86_64 • The contents of the fipscheck-lib RPM package (version 1.4.1-6.el7.x86_64). The OpenSSH Client RPM package of the Module includes the binary files, integrity check HMAC files and Man Pages. Any application other than the OpenSSH Client application delivered with the aforementioned OpenSSH RPM package is not part of the Module. The FIPS certificate for this module will not be valid if any other application than the OpenSSH Client application is used. The files comprising the module are the following: • /usr/sbin/ssh • /usr/bin/fipscheck • /usr/lib64/fipscheck/ssh.hmac • /usr/lib64/fipscheck/fipscheck.hmac • /usr/lib64/fipscheck/libfipscheck.so.1.2.1.hmac • /usr/lib64/libfipscheck.so.1.2.1 Figure 1 shows the logical block diagram of the module executing in memory on the host system. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 4 of 24 Figure 1: Oracle Linux 7 OpenSSH Logical Cryptographic Boundary 3.2 Definition of the Physical Cryptographic Boundary The physical cryptographic boundary is defined as the hard enclosure of the host system on which it runs. See Figure 2 below. No components are excluded from the requirements of FIPS PUB 140-2. Figure 2: Oracle Linux 7 OpenSSH Client Hardware Block Diagram 3.3 Modes of Operation The Module supports two modes of operation: FIPS approved and non-FIPS approved mode. The mode of operation is implicitly assumed depending on the services/security functions invoked. The Module turns to the FIPS approved mode after power-on self-tests succeed. The services available in FIPS mode can be found in section 7.2, Table 10. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 5 of 24 3.4 Approved Security Functions from OpenSSH module The Oracle Linux 7 OpenSSH Client Cryptographic Module contains the following FIPS Approved Algorithms: Approved Certificate Key Derivation (NIST SP 800-135 Section 5.2 for SSH) (SHA 1, 256, 384, 512 ) CVL C 611 Table 2: FIPS Approved Security Functions from OpenSSH Module Note: The SSH protocol except the SP 800-135 Key Derivation Function has not been reviewed or tested by the CAVP and CMVP. 3.5 Approved or Allowed Security Functions from OpenSSL Module The following table shows Approved security functions provided by the bound OpenSSL module. Algorithm Certificate AES (CBC ( e/d; 128 , 192 , 256 ); CTR ( int only; 128 , 192 , 256 )) C 422, C 423, C 429 Triple-DES (CBC) C 429 HMAC (SHA-1, SHA-256, SHA-512) C 422, C 423, C429 KAS FFC Component (Diffie Hellman all except KDF (shared secret computation) C 429 KAS ECC Component (EC Diffie-Hellman all except KDF (shared secret computation) C 429 RSA (2048, 3072, 4096) C 429 DRBG (Hash, HMAC, and AES-CTR) C 422, C 423, C 429 SHA (1, 256, 512) C 422, C 423, C 429 ECDSA (P-256, P-384, P-521) C 429 Table 3: Approved Security Functions from Bound OpenSSL Module The following table shows the non-approved but allowed functions provided by the bound OpenSSL module. Algorithm Usage Diffie-Hellman (2048-8192 key lengths) Key Establishment (in combination with the SSH module) EC Diffie-Hellman (P-256, P-384, P-521) Key Establishment (in combination with the SSH module) NDRNG Used for seeding NIST SP 800-90A DRBG. Table 4: Non Approved but Allowed Security Functions from Bound OpenSSL Module The OpenSSH and the bound OpenSSL module together provide the Diffie Hellman and EC Diffie Hellman key agreement. The OpenSSH module only implements the KDF portion of the key agreement as stated in table 2 above and the bound OpenSSL module provides the shared secret computation as stated in table 3 above. • Diffie-Hellman (key sizes between 2048 and 8192 bits provides between 112 and 202 bits of encryption strength); • EC Diffie-Hellman (curve sizes P-256, P-384, and P-521 provides between 112 and 256 bits of encryption strength). Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 6 of 24 3.6 Non-Approved Security Functions from OpenSSH Module The use of following non-Approved security functions will put the module in non-Approved mode implicitly. Algorithm Usage Ed25519 Signature scheme based on Curve 25519 Table 5: Non-Approved Functions from OpenSSH Module 3.7 Non-Approved Security Functions from OpenSSL Module The use of following security functions will put the module in the non-Approved mode of operation implicitly. Table 6: Non-Approved Functions from OpenSSL Module Algorithm Usage RSA signature generation Using keys less than 2048 DSA signature generation With key size 1024 bit Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 7 of 24 4. Module Ports and Interfaces The module interfaces can be categorized as follows: • Data Input Interface • Data Output Interface • Control Input interface • Status Output Interface As a software-only module, the module does not have physical ports. For the purpose of the FIPS 140-2 validation, the physical ports are interpreted to be the physical ports of the hardware platform on which the module runs. The Table below, shows the mapping of ports and interfaces as per FIPS 140-2 Standard. FIPS 140 Interface Physical Port Module Interfaces Data Input Keyboard, Ethernet port Input parameters and data of the ssh command on the command line with configuration file ~/.ssh/known_hosts, /etc/ssh/ssh_known_hosts, key files ~/.ssh/id_ecdsa*, ~/.ssh/id_rsa*, input data via SSHv2 channel, input data via local or remote port-forwarding port, input data from the bound OpenSSL module via its API parameters Data Output Display, Ethernet Port Output data returned by the ssh command, output data sent via the SSHv2 channel, output data sent via local or remote port-forwarding port, output data sent to the bound OpenSSL module via its API parameters Control Input Keyboard, Ethernet port Invocation of the ssh command on the command line or control input via /etc/ssh/ssh_config and ~./.ssh/config file, SSHv2 protocol message requests received from SSH server. Status Output Display, Ethernet Port Status messages returned after the command execution, status of processing SSHv2 protocol message requests. Power Input PC power supply N/A Table 7: Mapping of FIPS 140 Logical Interfaces Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 8 of 24 5. Physical Security The Module is comprised of software only and thus does not claim any physical security. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 9 of 24 6. Operational Environment The module operates in a modifiable operational environment per FIPS 140-2 Security Level 1 specifications. The module runs on a commercially available general-purpose operating system executing on the hardware specified in sections 6.1 and 6.2. 6.1 Tested Environments The Module was tested on the following environments with and without PAA i.e. AES-NI: Operating Environment Processor Hardware Oracle Linux 7.6 64 bit Intel® Xeon® Silver 4114 Oracle Server X7-2 Oracle Linux 7.6 64 bit AMD® EPYC 7551 Oracle Server X7-2 Table 8: Tested Operating Environment 6.2 Vendor Affirmed Environments The following platforms have not been tested as part of the FIPS 140-2 level 1 certification however Oracle “vendor affirms” that these platforms are equivalent to the tested and validated platforms. Additionally, Oracle affirms that the module will function the same way and provide the same security services on any of the systems listed below. Operating Environment Processor Hardware Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600/E5-2600 v2 Cisco UCS B200 M3 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Cisco UCS B200 M4 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Cisco UCS B200 M5 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2400/E5-2400 v2 Cisco UCS B22 M3 Oracle Linux 7.6 64-bit Intel® Xeon® E7-2800/E7-8800 Cisco UCS B230 M2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-2800/E7-8800 v3 Cisco UCS B260 M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-4600/E5-4600 v2 Cisco UCS B420 M3 Oracle Linux 7.6 64-bit Intel® Xeon® E5-4600 v3 & v4 Cisco UCS B420 M4 Oracle Linux 7.6 64-bit Intel® Xeon® E7-2800/E7-8800 Cisco UCS B440 M2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-2800 v2/E7-4800 v2/E7-8800 v2/E7-4800 v3/E7-8800 v3 Cisco UCS B460 M4 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Cisco UCS B480 M5 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2400/E5-2400 v2 Cisco UCS C22 M3 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600/E5-2600 v2 Cisco UCS C220 M3 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Cisco UCS C220 M4 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Cisco UCS C220 M5 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2400/E5-2400 v2 Cisco UCS C24 M3 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600/E5-2600 v2 Cisco UCS C240 M3 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Cisco UCS C240 M4 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Cisco UCS C240 M5 Oracle Linux 7.6 64-bit Intel® Xeon® E7-2800 v2/E7-4800 v2, v3 & v4/E7-8800 v2 & v4 Cisco UCS C460 M4 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Cisco UCS C480 M5 Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 10 of 24 Operating Environment Processor Hardware Oracle Linux 7.6 64-bit Intel® Xeon® D-1500 Cisco UCS E1120D-M3/K9 Oracle Linux 7.6 64-bit Intel® Xeon® D-1500 Cisco UCS E180D-M3/K9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Dell PowerEdge FC630 Oracle Linux 7.6 64-bit Intel® Xeon® E5-4600 v3 Dell PowerEdge FC830 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Dell PowerEdge M630 Blade Oracle Linux 7.6 64-bit Intel® Xeon® E5-4600 v4 Dell PowerEdge M830 Blade Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Dell PowerEdge R630 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Dell PowerEdge R730 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Dell PowerEdge R730xd Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4 Dell PowerEdge R930 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Dell PowerEdge T630 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2/E7-8800 v2 Fujitsu PRIMEQUEST 2400E Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Fujitsu PRIMEQUEST 2400E2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v4 Fujitsu PRIMEQUEST 2400E3 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2 Fujitsu PRIMEQUEST2400L Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Fujitsu PRIMEQUEST2400L2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v4 Fujitsu PRIMEQUEST 2400L3 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2 Fujitsu PRIMEQUEST 2400S Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2 Fujitsu PRIMEQUEST 2400S Lite Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Fujitsu PRIMEQUEST 2400S2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Fujitsu PRIMEQUEST 2400S2 Lite Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v4 Fujitsu PRIMEQUEST 2400S3 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v4 Fujitsu PRIMEQUEST 2400S3 Lite Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v2 Fujitsu PRIMEQUEST 2800B Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Fujitsu PRIMEQUEST 2800B2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v4 Fujitsu PRIMEQUEST 2800B3 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v2 Fujitsu PRIMEQUEST 2800E Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Fujitsu PRIMEQUEST 2800E2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v4 Fujitsu PRIMEQUEST 2800E3 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v2 Fujitsu PRIMEQUEST 2800L Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Fujitsu PRIMEQUEST 2800L2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v4 Fujitsu PRIMEQEST 2800L3 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Fujitsu PRIMEQUEST 3800B Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Fujitsu PRIMERGY BX2580 M1 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Fujitsu PRIMERGY BX2580 M2 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Fujitsu PRIMERGY CX2560 M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Fujitsu PRIMERGY RX2530 M1 Oracle Linux 7.6 64-bit Intel® Xeon®E5-2600 v4 Fujitsu PRIMERGY RX2530 M2 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Fujitsu PRIMERGY RX2530 M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Fujitsu PRIMEGY RX2540 M1 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Fujitsu PRIMERGY RX2540 M2 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Fujitsu PRIMERGY RX2540 M4 Oracle Linux 7.6 64-bit Intel® Xeon®E7-4800 v2/E7-8800 v2 Fujitsu PRIMERGY RX4770 M1 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v3/E7-8800 v3 Fujitsu PRIMERGY RX4770 M2 Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 11 of 24 Operating Environment Processor Hardware Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 Fujitsu PRIMERGY RX4770 M3 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Fujitsu PRIMERGY RX4770 M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Hitachi Compute Blade 2500 CB520H B4 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v2 Hitachi Compute Blade 2500 CB520X B2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Hitachi Compute Blade 2500 CB520X B3 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Hitachi Compute Blade 500 CB520H B4 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v2 Hitachi Compute Blade 500 CB520X B2 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Hitachi QuantaGrid D51B-2U Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Hitachi QuantaPlex T41S-2U Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Hitachi Vantara Hitachi Advanced Server DS120 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Hitachi Vantara Hitachi Advanced Server DS220 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Hitachi Vantara Hitachi Advanced Server DS240 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 HPE Integrity MC990 X Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v2 HPE ProLiant BL460c Gen8 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 HPE ProLiant BL460c Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-4600 v3 HPE ProLiant BL660c Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 HPE ProLiant DL160 Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 HPE ProLiant DL180 Gen9 Oracle Linux 7.6 64-bit Intel ® Pentium® G2120 & Intel® Xeon® E3-1200 v2 HPE ProLiant DL320e Gen8 Oracle Linux 7.6 64-bit Intel® Pentium® G3200-series/G3420, Core i3-4100- series/Intel® Xeon® E3-12 v3 HPE ProLiant DL320e Gen8 v2 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 HPE ProLiant DL360 Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2400/E5-2400 v2 HPE ProLiant DL360e Gen8 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 HPE ProLiant DL360p Gen8 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 HPE ProLiant DL380 Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2400/E5-2400 v2 HPE ProLiant DL380e Gen8 Oracle Linux 7.6 64-bit Intel® Xeon® E5-4600/E5-4600 v2 HPE ProLiant DL560 Gen8 Oracle Linux 7.6 64-bit Intel® Xeon®E5-4600 v3 & v4 HPE ProLiant DL560 Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2/E7-8800 v2 HPE ProLiant DL580 Gen8 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v3/E7-8800 v3 HPE ProLiant DL580 Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 HPE ProLiant ML350 Gen9 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 HPE Synergy 480 Gen9 Compute Module Oracle Linux 7.6 64-bit Intel® Xeon®E7-4800 v4/E7-8800 v4 HPE Synergy 620 Gen9 Compute Module Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 HPE Synergy 680 Gen9 Compute Module Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Huawei FusionServer 1288H V5 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Huawei FusionServer 2288H V5 Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 12 of 24 Operating Environment Processor Hardware Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Huawei FusionServer CH121 V5 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Huawei FusionServer CH121L V5 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Huawei FusionServer CH242 V5 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Huawei FusionServer RH2288H V3 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable Processors Huawei FusionServer XH321 V5 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Inspur Yingxin NF5170M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Inspur Yingxin NF5180M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Inspur Yingxin NF5240M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Inspur Yingxin NF5270M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Inspur Yingxin NF5280M4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Inspur Yingxin NF5460M4 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v3 & v4/E7-8800 v3 & v4 Inspur Yingxin NX8480M4 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/5100/4100/3100 Processors Lenovo ThinkSystem SD530 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/5100/4100/3100 Processors Lenovo ThinkSystem SN550 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/5100 Processors Lenovo ThinkSystem SN850 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/5100 Processors Lenovo ThinkSystem SR850 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/5100 Processors Lenovo ThinkSystem SR860 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/5100 Processors Lenovo ThinkSystem SR950 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 NEC Express 5800/A1040d Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 NEC Express 5800/A2010d Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 NEC Express 5800/A2020d Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 NEC Express 5800/A2040d Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 NEC NX7700x/A4010M-4 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 NEC NX7700x/A4012L-1 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800/4800 v4 NEC NX7700x/A4012L-1D Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v4 NEC NX7700x/A4012L-2 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800/4800 v4 NEC NX7700x/A4012L-2D Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v3/E7-8800 v3 NEC NX7700x/A4012M-4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Oracle Netra Server X5-2 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Oracle Server X5-2 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Oracle Server X5-2L Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Oracle Server X5-4 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v3 Oracle ServerX5-8 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Oracle Server X6-2 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Oracle Server X6-2L Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v4 Oracle Server X6-2M Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/4100 Processors Oracle Server X7-2 Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100/4100 Processors Oracle Server X7-2L Oracle Linux 7.6 64-bit Intel® Xeon® Scalable 8100/6100 Processors Oracle Server X7-8 Oracle Linux 7.6 64-bit Intel® Xeon® x7500-series Oracle Sun Fire X4470 Oracle Linux 7.6 64-bit Intel® Xeon® x7500-series Oracle Sun Fire X4800 Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 13 of 24 Operating Environment Processor Hardware Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 Oracle Sun Server X2-8 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 Oracle Sun Server X2-4 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 Oracle Sun Server X3-2 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 Oracle Sun Server X3-2L Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v2 Oracle Sun Server X4-2 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v2 Oracle Sun Server X4-2L Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v2 Oracle Sun Server X4-4 Oracle Linux 7.6 64-bit Intel® Xeon® E7-8800 v2 Oracle Sun Server X4-8 Oracle Linux 7.6 64-bit Intel® Xeon®E7-8800 v3 & v4 SGI UV 300RL Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v4/E7-8800 v3 & v4 SGI UV 300 Oracle Linux 7.6 64-bit AMD Opteron™ 6000 Sugon A840-G10 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Sugon CB50-G20 Oracle Linux 7.6 64-bit AMD Opteron™ 6000 Sugon A840-G10 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Sugon CB50-G20 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2 Sugon CB80-G20 Oracle Linux 7.6 64-bit Intel Xeon E7-8800/4800-v3 Series Sugon CB80-G25 Oracle Linux 7.6 64-bit AMD Opteron™ 6300 Sugon CB85-G10 Oracle Linux 7.6 64-bit Intel® Xeon® 6100, 5100, 4100, 3100 Sugon I420-G30 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Sugon I610-G20 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 Sugon I620-G20 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v3 & v4 Sugon I840-G20 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2 Sugon I840-G25 Oracle Linux 7.6 64-bit Intel® Xeon® E7-4800 v2 & v3/E7-8800 v2 & v3 Sugon I980-G20 Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Sugon TC4600T Oracle Linux 7.6 64-bit Intel® Xeon® E5-2600 v3 & v4 Supermicro SuperServer SYS- 6018U-TR4T+ Table 9: Vendor Affirmed Operating Environment CMVP makes no statement as to the correct operation of the module or the security strengths of the generated keys when ported if the specific operational environment is not listed on the validation certificate. 6.3 Operational Environment Policy The operating system is restricted to a single operator (concurrent operators are explicitly excluded). The entity using the application is the single user of the module. In FIPS Approved mode, the ptrace(2) system call, the debugger (gdb(1)), and strace(1) shall be not used. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 14 of 24 7. Roles, Services and Authentication 7.1 Roles The roles are implicitly assumed by the entity accessing the module services. The Module supports the following roles: • User Role: Performs services to establish, maintain and close SSH session, show status and self-tests • Crypto Officer Role: Performs module installation and configuration and terminate ssh Application 7.2 FIPS Approved Services and Descriptions The following table shows the available services, the roles allowed, the Critical Security Parameters (CSPs) involved and how they are accessed in the FIPS mode. In the table below, the “U” represents a User Role, and “CO” denotes a Crypto Officer role. U CO Service Name Service Description Keys and CSP(s) Access X Establish SSH Session SSH authentication RSA or ECDSA key pair R, W, X Negotiate a SSH V2 key agreement Diffie-Hellman or EC Diffie-Hellman key pair Key derivation using SP800-135 SSH KDF shared secret, derived session encryption keys (Triple-DES or AES), and derived data authentication (HMAC) keys X Maintain SSH Session Provide data encryption and data authentication over SSH V2 network protocol Derived session encryption keys (Triple-DES or AES), and derived data authentication (HMAC) keys R X Close SSH session Zeroize SSH derived session encryption and data authentication keys by closing the SSH session Derived session encryption key (Triple-DES or AES) and data authentication keys, Shared secret Z X Terminate SSH client application Zeroize SSH derived session encryption and data authentication keys by terminating the SSH client application X Self-Test Perform on-demand self-tests None R, X X Show Status Show status of the module None R, X X Installation Install the SSH Client None X X Configure SSH Client Configure the SSH Client None R, W, X R – Read, W – Write, X – Execute, Z – Zeroize Table 10: FIPS Approved Services and Descriptions Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 15 of 24 7.3 Non FIPS Approved Services and Descriptions The following table shows Non FIPS approved services. Any use of these services will put the module in non-FIPS mode implicitly. U CO Service Name Service Description Keys and CSP(s) Access X Establish SSH Session SSH authentication RSA, DSA with keys listed in Table 6, Ed25519 R, W, X R – Read, W – Write, X – Execute, Z – Zeroize Table 11: Non FIPS Approved Services and Descriptions 7.4 Operator Authentication The module does not support operator authentication mechanisms. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 16 of 24 8. Key and CSP Management The following keys, cryptographic key components and other critical security parameters are contained in the module. CSP Name Generation/Input Use Zeroizarion Shared Secret N/A (entered via API parameter from the bound OpenSSL module) Shared secret used to derive session keys. Zeroized by the closing the SSH session or terminating the SSH application Derived session key (AES, Triple-DES1 , HMAC) N/A (derived from the shared secret via SP800- 135 SSH KDF) SSH session keys used for encrypt/decrypt and data authentication operations. Client RSA private key N/A (keys are read from the key file) RSA Client private key used to authenticate SSH Client Client ECDSA private key ECDSA private key used to authenticate SSH Client Client EC Diffie-Hellman private key N/A (keys are entered from the bound OpenSSL Module via API parameters) EC Diffie-Hellman private key used as part of the key agreement protocol. Client Diffie-Hellman private key Diffie-Hellman private key used as part of the key agreement protocol. Table 12: CSP Table 8.1 Random Number and Key Generation The module does not implement any random number generator nor does it provide key generation. The module only provides key derivation through the implementation of the SP 800-135 KDF. When establishing the SSH Session, the module calls the bound OpenSSL module which generates the shared secret. The module derives keys from this shared secret applying SP 800-135 KDF. When the module requests encryption/decryption services provided by the OpenSSL bound module, the resulting derived symmetric key (i.e. the output of the SP 800-135 KDF) will be passed to the OpenSSL bound module via API parameters. The module does not support manual key entry. 8.2 Key/CSP Storage The module does not perform persistent storage of keys. The keys and CSPs are temporarily stored as plaintext in the RAM. The client’s public and private keys are stored in the key files in ~/.ssh directory, which are outside its logical boundary. 8.3 Key/CSP Zeroization The destruction functions overwrite the memory occupied by keys with zeros and deallocates the memory with the free () call. In case of abnormal termination, or swap in/out of a physical memory page of a process, the keys in physical memory are overwritten before the physical memory is allocated to another process. 1 According to IG A.13, the same Triple-DES key shall not be used to encrypt more than 2^28 64-bit blocks of data. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 17 of 24 9. Self-Tests 9.1 Power-Up Self-Tests The module performs power-up self-tests at module initialization to ensure that the module is not corrupted. The self-tests are automatically triggered without any user intervention. While the module is performing the power-up tests, services are not available and input or output data is not possible: the module is not available for use until the self-tests are completed successfully. 9.1.1 Integrity Tests The integrity check is performed by the fipscheck application using the HMAC-SHA-256 algorithm implemented by the bound Oracle Linux OpenSSL Cryptographic Module. When the OpenSSH module starts, it triggers the power- on self-tests which, includes the software integrity test. The user space integrity verification is performed as follows: the OpenSSH Client application links with the library libfipscheck.so which is intended to execute fipscheck to verify the integrity of the OpenSSH Client application file using the HMAC-SHA-256 algorithm. Upon calling the FIPSCHECK_verify() function provided with libfipscheck.so, fipscheck is loaded and executed, and the following steps are performed: 1. OpenSSL, loaded by fipscheck, performs the integrity check of the OpenSSL library files using the HMAC- SHA-256 algorithm 2. fipscheck performs the integrity check of its application file using the HMAC-SHA-256 algorithm provided by the OpenSSL Module 3. fipscheck automatically verifies the integrity of libfipscheck.so before processing requests of calling applications 4. The fipscheck application performs the integrity check of the OpenSSH Client application file. The fipscheck computes the HMAC-SHA-256 checksum of that and compares the computed value with the value stored inside the /usr/lib64/fipscheck/.hmac checksum file. The fipscheck application returns the appropriate exit value based on the comparison result: zero if the checksum is OK, an error code otherwise (which brings the OpenSSH Module into the error state). The libfipscheck.so library reports the result to the OpenSSH Client application. If any of those steps fail, an error code is returned and the OpenSSH Module enters the error state with the message ‘FIPS integrity verification test failed’. In Error state, all data output is inhibited and no cryptographic operation is allowed. The module needs to be reloaded in order to recover from the Error state. 9.1.2 Cryptographic Algorithm Tests The OpenSSH module will use the Oracle Linux OpenSSL Cryptographic Module as a bound module which provides the underlying cryptographic algorithms. All the known answer tests are implemented by the bound OpenSSL Modules. 9.2 On-Demand self-tests The module provides the Self-Test service to perform self-tests on demand. On demand self-tests can be invoked by powering-off and reloading the module. This service performs the same tests executed during power-up. During the execution of the on-demand self-tests, crypto services are not available and no data output or input is possible. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 18 of 24 10. Crypto-Officer and User Guidance The following guidance items are to be used for assistance in maintaining the module's validated status while in use. 10.1 Crypto-Officer Guidance The version of the RPM file containing the FIPS validated Module is stated in section 3.1 above. The Oracle Linux OpenSSL Cryptographic Module referenced in section 3.1 must be installed according to its Security Policy. The RPM package of the Module can be installed by standard tools recommended for the installation of Oracle packages on an Oracle Linux system (for example, yum, RPM, and the RHN remote management tool). To configure the operating environment to support FIPS Approved mode, perform the following steps: 1. Insure that the system is registered with the unbreakable Linux Network (ULN) and that the OL7_X86_64_latest channel is enabled # yum-config-manager –enable ol7_latest 2. Install the dracut-fips package: # yum install dracut-fips 3. Install the dracut-fips-aesni package (if AES-NI is supported): To check if AES-NI is supported run: # grep aes /proc/cpuinfo If it is supported, run: # yum install dracut-fips-aesni 4. Recreate the INITRAMFS image: # dracut -f 5. Perform the following steps to configure the boot loader so that the system boots into FIPS mode: a) Identify the boot partition and the UUID of the partition. If /boot or /boot/efi resides on a separate partition, the kernel parameter boot= must be supplied. The partition can be identified with the command: # df /boot or df /boot/efi Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 233191 30454 190296 14% /boot # blkid /dev/sda1 /dev/sda1: UUID="6046308a-75fc-418e-b284-72d8bfad34ba" TYPE="xfs" b) As the root user, edit the /etc/default/grub file as follows: i. Add the fips=1 option to the boot loader configuration. GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 rd.lvm.lv=ol/swap rd.lvm.lv=ol/root crashkernel=auto vconsole.keymap=uk rhgb quiet fips=1" Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 19 of 24 ii. If the contents of /boot reside on a different partition to the root partition, you must use the boot=UUID=boot_UUID line to the boot loader configuration to specify the device that should be mounted onto /boot when the kernel loads. GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 rd.lvm.lv=ol/swap rd.lvm.lv=ol/root crashkernel=auto vconsole.keymap=uk rhgb quiet boot=UUID=6046308a-75fc-418e-b284-72d8bfad34ba fips=1" iii. Save the changes. This is required for FIPS to perform kernel validation checks, where it verifies the kernel against the provided HMAC file in the /boot directory. Note: On systems that are configured to boot with UEFI, /boot/efi is located on a dedicated partition as this is formatted specifically to meet UEFI requirements. This does not automatically mean that /boot is located on a dedicated partition. Only use the boot= parameter if /boot is located on a dedicated partition. If the parameter is specified incorrectly or points to a non-existent device, the system may not boot. If the system is no longer able to boot, you can try to modify the kernel boot options in grub to specify an alternate device for the boot=UUID=boot_UUID parameter, or remove the parameter entirely. 6. Rebuild the GRUB configuration as follows: On BIOS-based systems, run the following command: # grub2-mkconfig -o /boot/grub2/grub.cfg On UEFI-based systems, run the following command: # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg To ensure proper operation of the in-module integrity verification, prelinking must be disabled on all system files. By default, the prelink package is not installed on the system. However, if it is installed, disable prelinking on all libraries and binaries as follows: Set PRELINKING=no in the /etc/sysconfig/prelink configuration file. If the libraries were already prelinked, undo the prelink on all of the system files as follows: # prelink –u –a 7. Reboot the system Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 20 of 24 8. Verify that FIPS Mode is enabled by running the command: # cat /proc/sys/crypto/fips_enabled The response should be “1” The version of the RPM containing the validated Modules is the version listed in Section 3. The integrity of the RPM is automatically verified during the installation of the Modules and the Crypto Officer shall not install the RPM file if the RPM tool indicates an integrity error. Use care whenever making configuration changes that could potentially prevent access to the /proc/sys/crypto/fips_enabled flag (fips=1) in the file/proc. If the module does not detect this flag during initialization, the module is not setup to operate FIPS compatible mode. All user space modules depend on this file for running in FIPS compatible mode. 10.1.1 OpenSSH Client Configuration The user must not use DSA keys for performing SSH authentication as OpenSSH only allows DSA keys with 1024 bit size which are disallowed as per [SP 800-131A]. The user must not accept DSA host keys potentially offered during the first contact of an SSH Client as OpenSSH only allows DSA keys with 1024 bit size which are disallowed as per [SP 800- 131A]. When re-generating RSA host keys, the crypto officer should generate RSA keys with a size of 2048 bit or higher according to [SP 800-131A]. The crypto officer should inform the user base to not use RSA keys with key sizes smaller than 2048 bits. With operating environment setup as stated in the above section, the following restrictions are applicable. For the module, the mode of operation is implicitly assumed depending on the services/security functions invoked as stated in section 3.3 and the successive sections lists the available ciphers from the module. Any use of non- approved cipher or non-Approved key size will result in the module entering the non-FIPS mode of operation. No more cipher addition is possible by configuration or command line options. • SSH protocol version 1 is not allowed • GSSAPI is not allowed • Only the following ciphers are allowed: o aes128-ctr o aes192-ctr o aes256-ctr o aes128-cbc o aes192-cbc o aes256-cbc o 3des-cbc o rijndael-cbc@lysator.liu.se Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 21 of 24 Only the following message authentication codes are allowed: • hmac-sha1 • hmac-sha2-256 • hmac-sha2-512 • hmac-sha1- etm@openssh.com • hmac-sha2-256- etm@openssh.com • hmac-sha2-512- etm@openssh.com 10.2 User Guidance This module is used by connecting to it with the SSH server. See the ssh(1) man page for general usage documentation of the SSH client. When connecting to a previously unknown server, the user will be prompted to verify a fingerprint of the server's public key. This must be done by consulting a trusted source. 10.2.1 Handling Self-Test Errors OpenSSL's self tests failures may prevent OpenSSH from operating. See the Guidance section in the OpenSSL Security Policy for instructions on handling OpenSSL self-test failures. The OpenSSH self-test consists of the software integrity test. If the integrity test fails, OpenSSH enters an error state. The only recovery from this type of failure is to reinstall the OpenSSH module. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 22 of 24 11. Mitigation of Other Attacks The Oracle Linux 7 OpenSSH Client cryptographic module does not mitigate against attacks. Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 23 of 24 Acronyms, Terms and Abbreviations Term Definition AES Advanced Encryption Standard CCCS Canadian Centre for Cyber Security CMVP Cryptographic Module Validation Program CSP Critical Security Parameter DRBG Deterministic Random Bit Generator ECDSA Elliptic Curve Digital Signature Algorithm HMAC (Keyed) Hash Message Authentication Code KDF Key Derivation Function NIST National Institute of Standards and Technology PAA Processor Algorithm Acceleration PUB Publication SHA Secure Hash Algorithm SSH Secure Shell Table 13: Acronyms Oracle Linux 7 OpenSSH Client Cryptographic Module Security Policy Page 24 of 24 References The FIPS 140-2 standard, and information on the CMVP, can be found at http://csrc.nist.gov/groups/STM/cmvp/index.html. More information describing the module can be found on the Oracle web site athttps://www.oracle.com/linux/. This Security Policy contains non-proprietary information. All other documentation submitted for FIPS 140-2 conformance testing and validation is “Oracle - Proprietary” and is releasable only under appropriate non- disclosure agreements. Document Author Title FIPS PUB 140-2 NIST FIPS PUB 140-2: Security Requirements for Cryptographic Modules FIPS IG NIST Implementation Guidance for FIPS PUB 140-2 and the Cryptographic Module Validation Program NIST SP 800-135 NIST Recommendation for Existing Application-Specific Key Derivation Functions NIST SP 800-131A NIST Recommendation for the Transitioning of Cryptographic Algorithms and Key Sizes Table 14: References