ol 7 kernel crypto api security policy1.1 - csrc.nist.gov · section 10.1.1 describes the secure...

32
Document Version 1.1 ©Oracle Corporation This document may be reproduced whole and intact including the Copyright notice. FIPS 140-2 Non-Proprietary Security Policy Oracle Linux 7 Kernel Crypto API Cryptographic Module FIPS 140-2 Level 1 Validation Software Version: R7-2.0.0 Date: December 7, 2018

Upload: others

Post on 07-Sep-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

DocumentVersion1.1 ©OracleCorporationThisdocumentmaybereproducedwholeandintactincludingtheCopyrightnotice.

FIPS140-2Non-ProprietarySecurityPolicy

OracleLinux7KernelCryptoAPICryptographicModule

FIPS140-2Level1Validation

SoftwareVersion:R7-2.0.0

Date:December7,2018

Page 2: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy

i

Title:OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy

December07,2018

Author:AtsecInformationSecurity

ContributingAuthors:

OracleLinuxEngineering

OracleSecurityEvaluations–GlobalProductSecurity

OracleCorporation

WorldHeadquarters

500OracleParkway

RedwoodShores,CA94065

U.S.A.

WorldwideInquiries:

Phone:+1.650.506.7000

Fax:+1.650.506.7200

oracle.com

Copyright©2018,Oracleand/oritsaffiliates.Allrightsreserved.Thisdocumentisprovidedforinformationpurposesonlyandthecontentshereofaresubjectto

changewithoutnotice.Thisdocumentisnotwarrantedtobeerror-free,norsubjecttoanyotherwarrantiesorconditions,whetherexpressedorallyorimpliedin

law,includingimpliedwarrantiesandconditionsofmerchantabilityorfitnessforaparticularpurpose.Oraclespecificallydisclaimanyliabilitywithrespecttothis

documentandnocontractualobligationsareformedeitherdirectlyorindirectlybythisdocument.Thisdocumentmayreproducedordistributedwholeand

intactincludingthiscopyrightnotice.

OracleandJavaareregisteredtrademarksofOracleand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.

Page 3: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy ii

TABLEOFCONTENTSSection Title Page

1. Introduction.......................................................................................................................................................................1

1.1 Overview...............................................................................................................................................................................1

1.2 DocumentOrganization........................................................................................................................................................1

2. OracleLinux7KernelCryptoAPICryptographicModule.....................................................................................................2

2.1 FunctionalOverview.............................................................................................................................................................2

2.2 FIPS140-2ValidationScope..................................................................................................................................................2

3. CryptographicModuleSpecification...................................................................................................................................3

3.1 DefinitionoftheCryptographicModule...............................................................................................................................3

3.2 DefinitionofthePhysicalCryptographicBoundary..............................................................................................................4

3.3 ModesofOperation..............................................................................................................................................................4

3.4 ApprovedorAllowedSecurityFunctions..............................................................................................................................4

3.5 Non-ApprovedbutAllowedSecurityFunctions....................................................................................................................9

3.6 Non-ApprovedSecurityFunctions........................................................................................................................................9

4. ModulePortsandInterfaces.............................................................................................................................................10

5. PhysicalSecurity...............................................................................................................................................................11

6. OperationalEnvironment.................................................................................................................................................12

6.1 TestedEnvironments..........................................................................................................................................................12

6.2 VendorAffirmedEnvironments..........................................................................................................................................12

7. Roles,ServicesandAuthentication...................................................................................................................................17

7.1 Roles....................................................................................................................................................................................17

7.2 FIPSApprovedOperatorServicesandDescriptions...........................................................................................................17

7.3 Non-FIPSApprovedServicesandDescriptions...................................................................................................................18

7.4 OperatorAuthentication.....................................................................................................................................................18

8. KeyandCSPManagement................................................................................................................................................19

8.1 RandomNumberGeneration..............................................................................................................................................19

8.2 KeyEntry/Output................................................................................................................................................................20

8.3 Key/CSPStorage..................................................................................................................................................................20

8.4 Key/CSPZeroization............................................................................................................................................................20

9. Self-Tests..........................................................................................................................................................................21

9.1 Power-UpSelf-Tests............................................................................................................................................................21

9.1.1 IntegrityTests.....................................................................................................................................................................21

9.2 ConditionalSelf-Tests.........................................................................................................................................................22

10. Crypto-OfficerandUserGuidance....................................................................................................................................23

10.1 Crypto-OfficerGuidance.....................................................................................................................................................23

10.1.1 SecureInstallationandStartup...........................................................................................................................................23

10.1.2 FIPS140-2andAESNISupport...........................................................................................................................................24

10.2 UserGuidance.....................................................................................................................................................................24

10.2.1 AES-XTSUsage....................................................................................................................................................................24

10.2.2 AES-GCMUsage..................................................................................................................................................................25

10.2.3 Triple-DESUsage.................................................................................................................................................................25

10.3 HandlingSelf-TestErrors.....................................................................................................................................................25

11.MitigationofOtherAttacks..............................................................................................................................................26

Acronyms,TermsandAbbreviations.......................................................................................................................................27

References..............................................................................................................................................................................28

Page 4: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy

iii

ListofTables

Table1:FIPS140-2SecurityRequirements...............................................................................................................................2Table2:FIPSApprovedorAllowedSecurityFunctions...............................................................................................................9Table3:Non-ApprovedbutAllowedFunctions..........................................................................................................................9Table4:Non-ApprovedDisallowedFunctions...........................................................................................................................9Table5:MappingofFIPS140LogicalInterfacestoLogicalPorts..............................................................................................10Table6:TestedOperatingEnvironment...................................................................................................................................12Table7:VendorAffirmedOperatingEnvironment...................................................................................................................16Table8:FIPSApprovedOperatorServicesandDescriptions....................................................................................................18Table9:Non-FIPSApprovedOperatorServicesandDescriptions.............................................................................................18Table10:CSPTable.................................................................................................................................................................19Table11:Power-OnSelf-Tests.................................................................................................................................................21Table12:ConditionalSelf-Tests...............................................................................................................................................22Table13:Acronyms................................................................................................................................................................27Table14:References..............................................................................................................................................................28

ListofFigures

Figure1:OracleLinux7KernelCryptoAPILogicalCryptographicBoundary..............................................................................3Figure2:OracleLinux7KernelCryptoAPIHardwareBlockDiagram.........................................................................................4

Page 5: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page1of28

1. Introduction1.1 Overview

ThisdocumentistheSecurityPolicyfortheOracleLinux7KernelCryptoAPICryptographicModulebyOracle

Corporation.OracleLinux7KernelCryptoAPICryptographicModuleisalsoreferredtoas“theModuleor

Module”.ThisSecurityPolicyspecifiesthesecurityrulesunderwhichthemoduleshalloperatetomeetthe

requirementsofFIPS140-2Level1.ItalsodescribeshowtheOracleLinux7KernelCryptoAPICryptographic

ModulefunctionsinordertomeettheFIPSrequirements,andtheactionsthatoperatorsmusttaketomaintain

thesecurityofthemodule.

ThisSecurityPolicydescribesthefeaturesanddesignoftheOracleLinux7KernelCryptoAPICryptographic

ModuleusingtheterminologycontainedintheFIPS140-2specification.FIPS140-2,SecurityRequirementsfor

CryptographicModulespecifiesthesecurityrequirementsthatwillbesatisfiedbyacryptographicmoduleutilized

withinasecuritysystemprotectingsensitivebutunclassifiedinformation.TheNIST/CSECryptographicModule

ValidationProgram(CMVP)validatescryptographicmoduletoFIPS140-2.Validatedproductsareacceptedbythe

FederalagenciesofboththeUSAandCanadafortheprotectionofsensitiveordesignatedinformation.

1.2 DocumentOrganization

TheSecurityPolicydocumentisonedocumentinaFIPS140-2SubmissionPackage.Inadditiontothisdocument,

theSubmissionPackagecontains:

• OracleLinux7KernelCryptoAPICryptographicModuleNon-ProprietarySecurityPolicy

• Othersupportingdocumentationasadditionalreferences.

WiththeexceptionofthisNon-ProprietarySecurityPolicy,theFIPS140-2ValidationDocumentationis

proprietarytoOracleandisreleasableonlyunderappropriatenon-disclosureagreements.Foraccesstothese

documents,pleasecontactOracle.

Page 6: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page2of28

2. OracleLinux7KernelCryptoAPICryptographicModule

2.1 FunctionalOverviewTheOracleLinux7KernelCryptoAPICryptographicModule(hereafterreferredtoasthe“Module”)isasoftware

onlycryptographicmodulethatprovidesgeneral-purposecryptographicservicestotheremainderoftheLinux

kernel.TheOracleLinux7KernelCryptoAPICryptographicModuleissoftwareonly,securitylevel1cryptographic

module,runningonamulti-chipstandaloneplatform.

2.2 FIPS140-2ValidationScopeThefollowingtableshowsthesecuritylevelforeachoftheelevensectionsofthevalidation.SeeTable1below.

SecurityRequirementsSection LevelCryptographicModuleSpecification 1

CryptographicModulePortsandInterfaces 1

RolesandServicesandAuthentication 1

FiniteStateMachineModel 1

PhysicalSecurity N/A

OperationalEnvironment 1

CryptographicKeyManagement 1

EMI/EMC 1

Self-Tests 1

DesignAssurance 3

MitigationofOtherAttacks N/A

Table1:FIPS140-2SecurityRequirements

Page 7: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page3of28

3. CryptographicModuleSpecification

3.1 DefinitionoftheCryptographicModule

TheOracleLinux7KernelCryptoAPIisasoftware-onlymulti-chipstandalonemoduleasdefinedbythe

requirementswithinFIPSPUB140-2.Thelogicalcryptographicboundaryofthemoduleconsistsofshared

libraryfilesandtheirintegritycheckHMACfiles,whicharedeliveredthroughtheOraclePublicYumPackage

Manager(RPM)aslistedbelow:

Thelistofcomponentsrequiredforthemoduletooperatearedefinedbelow:

• OracleLinux7KernelCryptoAPICryptographicModulewiththeversionoftheRPMfile3.10.0-

862.3.3.0.1.el7.x86_64

• Themoduleinstantiationisprovidedbythedracut-fipsanddracut-fips-aesnipackagewiththeversionofthe

RPMfileof033-535.0.2.el7.x86_64

• TheboundmoduleOracleLinuxNSSCryptographicModulewithFIPS140-2Certificate#3143(hereafter

referredtoasthe“NSSboundmodule”or“NSSmodule”)

• ThecontentsofthehmaccalcRPMpackageversion0.9.13-4.el7.x86_64.

TheOracleLinux7KernelCryptoAPIRPMpackageoftheModuleincludesthebinaryfiles,integritycheckHMAC

filesandManPages.Thefilescomprisingthemodulearethefollowing:

• kernelloadablecomponents/lib/modules/$(uname-r)/kernel/crypto/*.ko

• kernelloadablecomponents/lib/modules/$(uname-r)/kernel/arch/x86/crypto/*.ko

• statickernelbinary/boot/vmlinuz-$(uname-r)

• sha512hmacbinaryfileforperformingtheintegritychecks/usr/bin/sha512hmac

• sha512hmacbinaryHMACfile:/usr/lib64/hmaccalc/sha512hmac.hmac

TheNSSboundmoduleprovidestheHMAC-SHA-512algorithmusedbythesha512hmac

binaryfiletoverifytheintegrityofboththesha512hmacfileandthevmlinuz(statickernelbinary).

Figure1showsthelogicalblockdiagramofthemoduleexecutinginmemoryonthehostsystem.

Figure1:OracleLinux7KernelCryptoAPILogicalCryptographicBoundary

Page 8: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page4of28

3.2 DefinitionofthePhysicalCryptographicBoundaryThephysicalcryptographicboundaryisdefinedasthehardenclosureofthehostsystemonwhichitruns.See

figure2below.NocomponentsareexcludedfromtherequirementsofFIPSPUB140-2.

Figure2:OracleLinux7KernelCryptoAPIHardwareBlockDiagram

3.3 ModesofOperation

Themodulesupportstwomodesofoperation:theFIPSapprovedandnon-approvedmodes.Theswitching

betweenthemodeisimplicitdependingontheserviceinvoked.

Section10.1.1describestheSecureInstallationandstartuptocorrectlyinstallandconfigurethemodule.The

moduleturnstoFIPSapprovedmodeaftercorrectinitializationandsuccessfulcompletionofpower-onself-tests.

Invokinganon-Approvedalgorithmoranon-ApprovedkeysizewithanApprovedalgorithmaslistedinTable4

willresultinthemoduleimplicitlyenteringthenon-FIPSmodeofoperation.Aftercompletionoftheservicethe

modulewillimplicitlytransitionbacktotheFIPSmodeandthendependingonthenextservicecallitwilleither

remaininFIPSmodeorwilltransitiontonon-approvedmode.

TheapprovedservicesavailableinFIPSmodecanbefoundinsection7.2,Table8.Thenon-approvedservices

availableinnon-FIPSmodecanbefoundinsection7,Table9.

3.4 ApprovedorAllowedSecurityFunctionsTheOracleLinux7KernelCryptoAPICryptographicModulecontainsthefollowingFIPSApprovedAlgorithms

listedinTable2:

ApprovedorAllowedSecurityFunctions Certificate

SymmetricAlgorithmsAES (aesasm):

CBC,ECB(e/d;128,192,256);CTR(extonly;128,192,256)

CCM(KS:128,192,256)(Assoc.DataLenRange:0-0,2^16)(PayloadLength

5407

5488

Page 9: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page5of28

ApprovedorAllowedSecurityFunctions Certificate

Range:0-32(NonceLength(s):78910111213(TagLength(s):46810121416)

CMAC:Generation:(AES-128,192,256)BlockSizes:Full,Partial

MessageLength:0-65536TagLength:0-16

Verification:(AES-128,192,256)BlockSizes:Full,Partial

MessageLength:0-65536TagLength:0-16

GCM(KS:AES_128,AES_192,AES_256)(d)TagLength(s):128120112104966432)(d)

PTLengthsTested:(0,128,256,120,248);AADLengthstested:(0,128,256,120,248);96BitIV_Supported

XTS((KS:XTS_128,XTS_256)((e/d)(f))

(aesgen):CBC,ECB(e/d;128,192,256);CTR(ext.only;128,192,256)CCMKeyLengths:128,192,256(bits)TagLengths:32,48,64,80,96,112,128(bits)IVLengths:56,64,72,80,88,96,104(bits)PlainTextLength:0-32

AADLength:0-65536

CMAC:Generation:(AES-128,192,256)BlockSizes:Full,Partial

MessageLength:0-65536TagLength:0-16

Verification:(AES-128,192,256)BlockSizes:Full,Partial

MessageLength:0-65536TagLength:0-16

GCM(KS:AES_128,AES_192,AES_256)(d)TagLength(s):128120112104966432)(d)

PTLengthsTested:(0,128,256,120,248);AADLengthstested:(0,128,256,120,248);96BitIV_Supported

XTS((KS:XTS_128,XTS_256)((e/d)(f))

5408

5490

aesgen_iiv:CBC,ECB(e/d;128,192,256);CTR(ext.only;128,192,256)

GCM(KS:AES_128,AES_192,AES_256(e)

TagLength(s):64,96,128)

IVGenerated:(Internally(usingSection8.2.1));PTLengthsTested:(128,256,120,248);AADLengthstested:(64,96);96BitIV_Supported

5421

5491

aesasm_iiv:CBC,ECB(e/d;128,192,256);CTR(extonly;128,192,256)

GCM(KS:AES_128,AES_192,AES_256(e)

TagLength(s):1289664)

IVGenerated:(Internally(usingSection8.2.1));

5420

5489

Page 10: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page6of28

ApprovedorAllowedSecurityFunctions Certificate

PTLengthsTested:(128,256,120,248);AADLengthstested:(64,96);96BitIV_Supported

aesni_blkasm:CBC,ECB(e/d;128,192,256);CTR(extonly;128,192,256)

GCM(KS:AES_128,AES_192,AES_256)(d)TagLength(s):1289664)

PTLengthsTested:(128,256,120,248);AADLengthstested:(64,96);

96BitIV_Supported

XTS((KS:XTS_128,XTS_256);((e/d)(f))

5410

5493

aesni:CBC,ECB(e/d;128,192,256);CTR(ext.only;128,192,256)

CCM:KeyLengths:128,192,256(bits)TagLengths:32,48,64,80,96,112,128(bits)

IVLengths:56,64,72,80,88,96,104(bits)PlainTextLength:0-32

AADLength:0-65536

CMAC:Generation:(AES-128,192,256)BlockSizes:Full,Partial

MessageLength:0-65536TagLength:0-16

Verification:(AES-128,192,256)BlockSizes:Full,Partial

MessageLength:0-65536TagLength:0-16

GCM(KS:AES_128,AES_192,AES_256)d)

TagLength(s):32,64,96,104,112,120,128)

PTLengthsTested:(0,128,256,120,248);AADLengthstested:(0,120,128,248,256);

96BitIV_Supported

XTS((KS:XTS_128,XTS_256);((e/d)(f))

5409

5492

aesni_blkasm_iiv:CBC,ECB(e/d;128,192,256);CTR(ext.only;128,192,256)

GCM(KS:AES_128,AES_192,AES_256)(e)

IVGeneration:Internal(usingSection8.2.1)

KeyLengths:128,192,256(bits)

TagLengths:64,96,128(bits)

PlainTextLengths:120,128,248,256(bits)

96BitIV_Supported

5411

5494

aesni_iivCBC,ECB(e/d;128,192,256);CTR(ext.only;128,192,256)

GCM(KS:AES_128,AES_192,AES_256)e)

TagLength(s):64,96,128)

PTLengthsTested:(120,128,248,256);AADLengthstested:(64,96);

96BitIV_Supported

5422

5495

Page 11: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page7of28

ApprovedorAllowedSecurityFunctions Certificate

TripleDES CImplementation:TCBC,TECB(KO1e/d);CTR(extonly)CMAC:Generation:3-Key:BlockSizes:Full,PartialMessageLength:0-65536

TagLength:0-8

Verification:3-Key:BlockSizes:Full,PartialMessageLength:0-65536

TagLength:0-8

2729

2763

SecureHashStandard(SHS)SHS GenericCImplementation:

SHA-1(BYTE-only)SHA-224(BYTE-only)SHA-256(BYTE-only)SHA-384(BYTE-only)SHA-512(BYTE-only)

4342

4591

shaavx:SHA-1(BYTE-only)SHA-224(BYTE-only)SHA-256(BYTE-only)SHA-384(BYTE-only)SHA-512(BYTE-only)

4352

4418

shaavx2:SHA-1(BYTE-only)SHA-224(BYTE-only)SHA-256(BYTE-only)SHA-384(BYTE-only)SHA-512(BYTE-only)

4341

4405

shamb:SHA-256(BYTE-only)SHA-512(BYTE-only)

4363

4417

DataAuthenticationCodeHMAC GenericCImplementation:

HMAC-SHA1(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA224(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA256(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA384(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA512(KeySizeRangesTested:KS<BSKS=BSKS>BS)

3583

3816

shaavx:HMAC-SHA1(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA224(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA256(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA384(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA512(KeySizeRangesTested:KS<BSKS=BSKS>BS)

3590

3662

Shaavx2:HMAC-SHA1(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA224(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA256(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA384(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA512(KeySizeRangesTested:KS<BSKS=BSKS>BS)

3582

3646

Page 12: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page8of28

ApprovedorAllowedSecurityFunctions Certificate

Shamb:HMAC-SHA256(KeySizeRangesTested:KS<BSKS=BSKS>BS)HMAC-SHA512(KeySizeRangesTested:KS<BSKS=BSKS>BS)

3602

3661

AsymmetricAlgorithmsRSA shagen:

FIPS186-4:ALG[RSASSA-PKCS1_V1_5]SIG(Ver)(2048SHA(1,224,256,384,512))(3072SHA(1,

224,256,384,512))

2892

3072

shaavx:FIPS186-4:ALG[RSASSA-PKCS1_V1_5]SIG(Ver)(2048SHA(1,224,256,384,512))(3072SHA(1,

224,256,384,512))

2905

2954

Shaavx2:FIPS186-4:ALG[RSASSA-PKCS1_V1_5]SIG(Ver)(2048SHA(1,224,256,384,512))(3072SHA(1,

224,256,384,512))

2891

2949

Shamb:FIPS186-4:ALG[RSASSA-PKCS1_V1_5]SIG(Ver)(2048SHA(256,512))(3072SHA(256,512))

2920

2953

RandomNumberGenerationDRBG CTRDRBG:

aesasm:CTR_DRBG:[PredictionResistanceTested:EnabledandNotEnabled;BlockCipher_Use_df:(AES-128,AES-192,AES-256)

2103

2163

aesni:CTR_DRBG:[PredictionResistanceTested:EnabledandNotEnabled;BlockCipher_Use_df:(AES-128,AES-192,AES-256)

2105

2165

aesgen:CTR_DRBG:[PredictionResistanceTested:EnabledandNotEnabled;BlockCipher_Use_df:(AES-128,AES-192,AES-256)

2104

2164

HashDRBG:shagen:Hash_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled(SHA-1,SHA-256,SHA-384,SHA-512)

2107

2363

shaavx:Hash_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled(SHA-1,SHA-256,SHA-384,SHA-512)

2116

2175

shaavx2:Hash_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled(SHA-1,SHA-256,SHA-384,SHA-512)

2106

2166

shamb:Hash_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled(SHA-256,SHA-512)

2128

2174

HMACDRBG:shagen:

2107

2363

Page 13: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page9of28

ApprovedorAllowedSecurityFunctions Certificate

HMAC_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled(SHA-1,SHA-256,SHA-384,SHA-512)

shaavx:HMAC_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled (SHA-1,SHA-256,SHA-384,SHA-512)

2116

2175

Shaavx2:HMAC_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled (SHA-1,SHA-256,SHA-384,SHA-512)

2106

2166

shamb:HMAC_BasedDRBG:[PredictionResistanceTested:EnabledandNotEnabled (SHA-256,SHA-512)

2128

2174

AlgorithmsusedfromBoundNSSmoduleHMAC HMAC-SHA512(KeySizeRangesTested:KS<BSKS=BSKS>BS) 3077

3767

Table2:FIPSApprovedorAllowedSecurityFunctions

3.5 Non-ApprovedbutAllowedSecurityFunctionsThefollowingalgorithmisconsiderednon-ApprovedbutallowedtobeusedinaFIPS-approvedmode:

Algorithm Usage

NDRNGfromLinuxRNG UsedforseedingNISTSP800-90ADRBG

Table3:Non-ApprovedbutAllowedFunctions

3.6 Non-ApprovedSecurityFunctionsThefollowingalgorithmsareconsiderednon-ApprovedandmaynotbeusedinaFIPS-approvedmodeof

operation:

Algorithm Usage

AES-XTS(192bit) Encrypt/Decrypt

AESGCM EncryptionwithexternalIV

DES Encrypt/Decrypt

SHA-1(multiple-buffer) AnyuseofSHA1-mb(CAVStestedCerts#4363,#4417;KATnotperformed)

ANSIX9.31RNG KeyandSeedGeneration

JitterRNG Non-DeterministicRandomNumberGeneration

Table4:Non-ApprovedDisallowedFunctions

Page 14: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page10of28

4. ModulePortsandInterfaces

Themoduleinterfacescanbecategorizedasfollows:

• DataInputInterface• DataOutputInterface• ControlInputinterface• StatusOutputInterfaceThemodulecanbeaccessedbyutilizingtheAPIitexposes.Tablebelow,showsthemappingofportsand

interfacesasperFIPS140-2Standard.

FIPS140Interface ModuleInterfacesDataInput APIinputparameters

DataOutput APIoutputparameters

ControlInput APIfunctioncalls,kernelcommandline

StatusOutput APIreturncodes,kernellogs

Table5:MappingofFIPS140LogicalInterfacestoLogicalPorts

Page 15: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page11of28

5. PhysicalSecurityTheModuleiscomprisedofsoftwareonlyandthusdoesnotclaimanyphysicalsecurity.

Page 16: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page12of28

6. OperationalEnvironment

6.1 TestedEnvironments

ThemoduleoperatesinamodifiableoperationalenvironmentperFIPS140-2level1specifications.TheModule

wastestedonthefollowingenvironmentswithandwithoutPAAi.e.AES-NI:

OperatingEnvironment Processor HardwareOracleLinux7.364bit Intel(R)Xeon(R)E5-2699v4 OracleServerX6-2

OracleLinux7.364bit Intel(R)Xeon(R)Silver4114 OracleServerX7-2

Table6:TestedOperatingEnvironment

6.2 VendorAffirmedEnvironments

ThefollowingplatformshavenotbeentestedaspartoftheFIPS140-2level1certificationhoweverOracle

“vendoraffirms”thattheseplatformsareequivalenttothetestedandvalidatedplatforms.Additionally,Oracle

affirmsthatthemodulewillfunctionthesamewayandprovidethesamesecurityservicesonanyofthesystems

listedbelow.

OperatingEnvironment Processor HardwareOracleLinux7.364-bit Intel®Xeon®E5-2600/E5-2600v2 CiscoUCSB200M3

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 CiscoUCSB200M4

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors CiscoUCSB200M5

OracleLinux7.364-bit Intel®Xeon®E5-2400/E5-2400v2 CiscoUCSB22M3

OracleLinux7.364-bit Intel®Xeon®E7-2800/E7-8800 CiscoUCSB230M2

OracleLinux7.364-bit Intel®Xeon®E7-2800/E7-8800v3 CiscoUCSB260M4

OracleLinux7.364-bit Intel®Xeon®E5-4600/E5-4600v2 CiscoUCSB420M3

OracleLinux7.364-bit Intel®Xeon®E5-4600v3&v4 CiscoUCSB420M4

OracleLinux7.364-bit Intel®Xeon®E7-2800/E7-8800 CiscoUCSB440M2

OracleLinux7.364-bit Intel®Xeon®E7-2800v2/E7-4800v2/E7-8800

v2/E7-4800v3/E7-8800v3

CiscoUCSB460M4

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors CiscoUCSB480M5

OracleLinux7.364-bit Intel®Xeon®E5-2400/E5-2400v2 CiscoUCSC22M3

OracleLinux7.364-bit Intel®Xeon®E5-2600/E5-2600v2 CiscoUCSC220M3

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 CiscoUCSC220M4

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors CiscoUCSC220M5

OracleLinux7.364-bit Intel®Xeon®E5-2400/E5-2400v2 CiscoUCSC24M3

OracleLinux7.364-bit Intel®Xeon®E5-2600/E5-2600v2 CiscoUCSC240M3

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 CiscoUCSC240M4

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors CiscoUCSC240M5

OracleLinux7.364-bit Intel®Xeon®E7-2800v2/E7-4800v2,v3&

v4/E7-8800v2&v4

CiscoUCSC460M4

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors CiscoUCSC480M5

OracleLinux7.364-bit Intel®Xeon®D-1500 CiscoUCSE1120D-M3/K9

OracleLinux7.364-bit Intel®Xeon®D-1500 CiscoUCSE180D-M3/K9

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 DellPowerEdgeFC630

Page 17: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page13of28

OperatingEnvironment Processor HardwareOracleLinux7.364-bit Intel®Xeon®E5-4600v3 DellPowerEdgeFC830

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 DellPowerEdgeM630Blade

OracleLinux7.364-bit Intel®Xeon®E5-4600v4 DellPowerEdgeM830Blade

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 DellPowerEdgeR630

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 DellPowerEdgeR730

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 DellPowerEdgeR730xd

OracleLinux7.364-bit Intel®Xeon®E7-4800v4 DellPowerEdgeR930

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 DellPowerEdgeT630

OracleLinux7.364-bit Intel®Xeon®E7-4800v2/E7-8800v2 FujitsuPRIMEQUEST2400E

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 FujitsuPRIMEQUEST2400E2

OracleLinux7.364-bit Intel®Xeon®E7-8800v4 FujitsuPRIMEQUEST2400E3

OracleLinux7.364-bit Intel®Xeon®E7-4800v2 FujitsuPRIMEQUEST2400L

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 FujitsuPRIMEQUEST2400L2

OracleLinux7.364-bit Intel®Xeon®E7-8800v4 FujitsuPRIMEQUEST2400L3

OracleLinux7.364-bit Intel®Xeon®E7-4800v2 FujitsuPRIMEQUEST2400S

OracleLinux7.364-bit Intel®Xeon®E7-4800v2 FujitsuPRIMEQUEST2400SLite

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 FujitsuPRIMEQUEST2400S2

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 FujitsuPRIMEQUEST2400S2Lite

OracleLinux7.364-bit Intel®Xeon®E7-8800v4 FujitsuPRIMEQUEST2400S3

OracleLinux7.364-bit Intel®Xeon®E7-8800v4 FujitsuPRIMEQUEST2400S3Lite

OracleLinux7.364-bit Intel®Xeon®E7-8800v2 FujitsuPRIMEQUEST2800B

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 FujitsuPRIMEQUEST2800B2

OracleLinux7.364-bit Intel®Xeon®E7-8800v4 FujitsuPRIMEQUEST2800B3

OracleLinux7.364-bit Intel®Xeon®E7-8800v2 FujitsuPRIMEQUEST2800E

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 FujitsuPRIMEQUEST2800E2

OracleLinux7.364-bit Intel®Xeon®E7-8800v4 FujitsuPRIMEQUEST2800E3

OracleLinux7.364-bit Intel®Xeon®E7-8800v2 FujitsuPRIMEQUEST2800L

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 FujitsuPRIMEQUEST2800L2

OracleLinux7.364-bit Intel®Xeon®E7-8800v4 FujitsuPRIMEQEST2800L3

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors FujitsuPRIMEQUEST3800B

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 FujitsuPRIMERGYBX2580M1

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 FujitsuPRIMERGYBX2580M2

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors FujitsuPRIMERGYCX2560M4

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 FujitsuPRIMERGYRX2530M1

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 FujitsuPRIMERGYRX2530M2

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors FujitsuPRIMERGYRX2530M4

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 FujitsuPRIMEGYRX2540M1

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 FujitsuPRIMERGYRX2540M2

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors FujitsuPRIMERGYRX2540M4

OracleLinux7.364-bit Intel®Xeon®E7-4800v2/E7-8800v2 FujitsuPRIMERGYRX4770M1

OracleLinux7.364-bit Intel®Xeon®E7-4800v3/E7-8800v3 FujitsuPRIMERGYRX4770M2

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 FujitsuPRIMERGYRX4770M3

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors FujitsuPRIMERGYRX4770M4

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 HitachiComputeBlade2500CB520HB4

Page 18: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page14of28

OperatingEnvironment Processor HardwareOracleLinux7.364-bit Intel®Xeon®E7-8800v2 HitachiComputeBlade2500CB520XB2

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 HitachiComputeBlade2500CB520XB3

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 HitachiComputeBlade500CB520HB4

OracleLinux7.364-bit Intel®Xeon®E7-8800v2 HitachiComputeBlade500CB520XB2

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 HitachiQuantaGridD51B-2U

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HitachiQuantaPlexT41S-2U

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HitachiVantaraHitachiAdvancedServer

DS120

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HitachiVantaraHitachiAdvancedServer

DS220

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HitachiVantaraHitachiAdvancedServer

DS240

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 HPEIntegrityMC990X

OracleLinux7.364-bit Intel®Xeon®E5-2600v2 HPEProLiantBL460cGen8

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 HPEProLiantBL460cGen9

OracleLinux7.364-bit Intel®Xeon®E5-4600v3 HPEProLiantBL660cGen9

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HPEProLiantDL160Gen9

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HPEProLiantDL180Gen9

OracleLinux7.364-bit Intel®Pentium®G2120&Intel®Xeon®E3-

1200v2

HPEProLiantDL320eGen8

OracleLinux7.364-bit Intel®Pentium®G3200-series/G3420,Corei3-

4100-series/Intel®Xeon®E3-12v3

HPEProLiantDL320eGen8v2

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HPEProLiantDL360Gen9

OracleLinux7.364-bit Intel®Xeon®E5-2400/E5-2400v2 HPEProLiantDL360eGen8

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HPEProLiantDL360pGen8

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HPEProLiantDL380Gen9

OracleLinux7.364-bit Intel®Xeon®E5-2400/E5-2400v2 HPEProLiantDL380eGen8

OracleLinux7.364-bit Intel®Xeon®E5-4600/E5-4600v2 HPEProLiantDL560Gen8

OracleLinux7.364-bit Intel®Xeon®E5-4600v3&v4 HPEProLiantDL560Gen9

OracleLinux7.364-bit Intel®Xeon®E7-4800v2/E7-8800v2 HPEProLiantDL580Gen8

OracleLinux7.364-bit Intel®Xeon®E7-4800v3/E7-8800v3 HPEProLiantDL580Gen9

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HPEProLiantML350Gen9

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 HPESynergy480Gen9ComputeModule

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 HPESynergy620Gen9ComputeModule

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 HPESynergy680Gen9ComputeModule

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HuaweiFusionServer1288HV5

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HuaweiFusionServer2288HV5

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HuaweiFusionServerCH121V5

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HuaweiFusionServerCH121LV5

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HuaweiFusionServerCH242V5

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 HuaweiFusionServerRH2288HV3

OracleLinux7.364-bit Intel®Xeon®ScalableProcessors HuaweiFusionServerXH321V5

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 InspurYingxinNF5170M4

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 InspurYingxinNF5180M4

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 InspurYingxinNF5240M4

Page 19: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page15of28

OperatingEnvironment Processor HardwareOracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 InspurYingxinNF5270M4

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 InspurYingxinNF5280M4

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 InspurYingxinNF5460M4

OracleLinux7.364-bit Intel®Xeon®E7-4800v3&v4/E7-8800v3&v4 InspurYingxinNX8480M4

OracleLinux7.364-bit Intel®Xeon®Scalable

8100/6100/5100/4100/3100Processors

LenovoThinkSystemSD530

OracleLinux7.364-bit Intel®Xeon®Scalable

8100/6100/5100/4100/3100Processors

LenovoThinkSystemSN550

OracleLinux7.364-bit Intel®Xeon®Scalable8100/6100/5100

Processors

LenovoThinkSystemSN850

OracleLinux7.364-bit Intel®Xeon®Scalable8100/6100/5100

Processors

LenovoThinkSystemSR850

OracleLinux7.364-bit Intel®Xeon®Scalable8100/6100/5100

Processors

LenovoThinkSystemSR860

OracleLinux7.364-bit Intel®Xeon®Scalable8100/6100/5100

Processors

LenovoThinkSystemSR950

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 NECExpress5800/A1040d

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 NECExpress5800/A2010d

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 NECExpress5800/A2020d

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 NECExpress5800/A2040d

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 NECNX7700x/A4010M-4

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 NECNX7700x/A4012L-1

OracleLinux7.364-bit Intel®Xeon®E7-8800/4800v4 NECNX7700x/A4012L-1D

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v4 NECNX7700x/A4012L-2

OracleLinux7.364-bit Intel®Xeon®E7-8800/4800v4 NECNX7700x/A4012L-2D

OracleLinux7.364-bit Intel®Xeon®E7-4800v3/E7-8800v3 NECNX7700x/A4012M-4

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 OracleNetraServerX5-2

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 OracleServerX5-2

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 OracleServerX5-2L

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 OracleServerX5-4

OracleLinux7.364-bit Intel®Xeon®E7-8800v3 OracleServerX5-8

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 OracleServerX6-2

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 OracleServerX6-2L

OracleLinux7.364-bit Intel®Xeon®E5-2600v4 OracleServerX6-2M

OracleLinux7.364-bit Intel®Xeon®Scalable8100/6100/4100

Processors

OracleServerX7-2

OracleLinux7.364-bit Intel®Xeon®Scalable8100/6100/4100

Processors

OracleServerX7-2L

OracleLinux7.364-bit Intel®Xeon®Scalable8100/6100Processors OracleServerX7-8

OracleLinux7.364-bit Intel®Xeon®x7500-series OracleSunFireX4470

OracleLinux7.364-bit Intel®Xeon®x7500-series OracleSunFireX4800

OracleLinux7.364-bit Intel®Xeon®E7-8800 OracleSunServerX2-8

OracleLinux7.364-bit Intel®Xeon®E7-4800 OracleSunServerX2-4

OracleLinux7.364-bit Intel®Xeon®E5-2600 OracleSunServerX3-2

OracleLinux7.364-bit Intel®Xeon®E5-2600 OracleSunServerX3-2L

OracleLinux7.364-bit Intel®Xeon®E5-2600v2 OracleSunServerX4-2

Page 20: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page16of28

OperatingEnvironment Processor HardwareOracleLinux7.364-bit Intel®Xeon®E5-2600v2 OracleSunServerX4-2L

OracleLinux7.364-bit Intel®Xeon®E7-8800v2 OracleSunServerX4-4

OracleLinux7.364-bit Intel®Xeon®E7-8800v2 OracleSunServerX4-8

OracleLinux7.364-bit Intel®Xeon®E7-8800v3&v4 SGIUV300RL

OracleLinux7.364-bit Intel®Xeon®E7-4800v4/E7-8800v3&v4 SGIUV300

OracleLinux7.364-bit AMDOpteron™6000 SugonA840-G10

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 SugonCB50-G20

OracleLinux7.364-bit AMDOpteron™6000 SugonA840-G10

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 SugonCB50-G20

OracleLinux7.364-bit Intel®Xeon®E7-4800v2 SugonCB80-G20

OracleLinux7.364-bit Intel®Xeon®E7-4800v4 SugonCB80-G25

OracleLinux7.364-bit AMDOpteron™6300 SugonCB85-G10

OracleLinux7.364-bit Intel®Xeon®6100,5100,4100,3100 SugonI420-G30

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 SugonI610-G20

OracleLinux7.364-bit Intel®Xeon®E5-2600v3 SugonI620-G20

OracleLinux7.364-bit Intel®Xeon®E7-4800v3&v4 SugonI840-G20

OracleLinux7.364-bit Intel®Xeon®E7-4800v2 SugonI840-G25

OracleLinux7.364-bit Intel®Xeon®E7-4800v2&v3/E7-8800v2&v3 SugonI980-G20

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 SugonTC4600T

OracleLinux7.364-bit Intel®Xeon®E5-2600v3&v4 SupermicroSuperServerSYS-6018U-

TR4T+

Table7:VendorAffirmedOperatingEnvironmentCMVPmakesnostatementastothecorrectoperationofthemoduleorthesecuritystrengthsofthegeneratedkeyswhensoportedifthespecificoperationalenvironmentisnotlistedonthevalidationcertificate.

Page 21: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page17of28

7. Roles,ServicesandAuthentication7.1 Roles

Therolesareimplicitlyassumedbytheentityaccessingthemoduleservices.Themodulesupportsthefollowingroles:• UserRole:performssymmetricencryption/decryption,keyedhash,messagedigest,randomnumbergeneration,showstatus,zeroization.• CryptoOfficerRole:performsthemoduleinstallationandconfiguration,module'sinitialization,self-tests.

7.2 FIPSApprovedOperatorServicesandDescriptions

ThebelowtableprovidesafulldescriptionofFIPSApprovedservicesprovidedbythemoduleandtherolesallowedtoinvokeeachservice.U CO ServiceName ServiceDescription KeysandCSP(s) AccessType(s)X Symmetric

Encryption/DecryptionEncryptsordecryptsablockofdatausing3-KeyTriple-DESorAESinFIPSmode

AESor3-KeyTriple-DESKey R,W,X

X KeyedHash(HMAC) SignandorauthenticatedatausingHMAC-SHA HMACKey R,W,XX MessageDigest HashablockofdatausingSHS. None N/AX RandomNumberGeneration GeneraterandomnumbersbasedontheNISTSP800-90A

StandardEntropyinputstringandseed

R,W,X

X AuthenticatedEncryption Encrypt-then-MACcipher(authenc)usedforIPsec AESkey,HMACkey R,W,XX ShowStatus Showstatusofthemodulestateviaverbosemode,exitcodes

andkernellogs(dmesg) None N/A

X Self-Test Initiateondemandpower-onself-testsbyrestartingthedevicewhichwillalsocleartheRAMmemory.

None N/A

X Zeroize Zeroizeallcriticalsecurityparameterswhenfreeingthecipherhandler

AllkeysandCSP’s Z

X ModuleInitialization InitializethemoduleintotheFIPSApprovedMode None N/A X InstallationandConfiguration Installandconfigurethemodule. None N/A

X Errordetectioncode1 Errordetectioncodeusingcrc32c,crct10dif None N/AX Datacompression1 Performsdatacompressionusingdeflate,lz4,lz4hc,lzo,zlib,

zlib-deflateNone N/A

R–Read,W–Write,X–Execute,Z–Zeroize

1Thealgorithmsusedinthisservicedonotprovidecryptographicattribute.

Page 22: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page18of28

Table8:FIPSApprovedOperatorServicesandDescriptions

7.3 Non-FIPSApprovedServicesandDescriptions

Thefollowingtableliststhenon-Approvedservicesavailableinnon-FIPSmode.

U CO ServiceName ServiceDescription KeysandCSP(s) AccessType(s)X Symmetric

Encryption/DecryptionEncryptsordecryptsusingnon-Approvedalgorithms AES-XTS(192-bitkey),DES,AESGCM

encryptionwithexternalIVR,W,X

X RandomNumberGeneration

GenerationofrandomnumbersusingtheANSIX9.31PRNGorJitterRNG.

None N/A

X MessageDigest Hashingusingnon-approvedhashfunctionsfromTable4

None N/A

X KeyedHash HMACKeys<112bits. HMACkeys<112bits. R,W,X

R–Read,W–Write,X–Execute,Z–Zeroize

Table9:Non-FIPSApprovedOperatorServicesandDescriptions

7.4 OperatorAuthentication

ThemoduleisaLevel1software-onlycryptographicmoduleanddoesnotimplementauthentication.Theroleisimplicitlyassumedbasedontheservicerequested.

Page 23: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page19of28

8. KeyandCSPManagementThefollowingkeys,cryptographickeycomponentsandothercriticalsecurityparametersarecontainedinthemodule.

CSPName Generation Entry/Output Storage ZeroizationAESKeys(128,192,256bits) N/A Keyispassedintothemodulevia

APIinputparameterkernelmemory Memoryisautomatically

overwrittenbyzeroeswhenfreeingthecipherhandler

Triple-DESKeys(192bits) N/A KeyispassedintothemoduleviaAPIinputparameter

kernelmemory Memoryisautomaticallyoverwrittenbyzeroeswhenfreeingthecipherhandler

DRBGEntropyInputString ObtainedfromNDRNG N/A kernelmemory Memoryisautomaticallyoverwrittenbyzeroeswhenfreeingthecipherhandler

DRBGinternalstate(V,keyandCvalues

DerivedfromEntropyinputasdefinedinNISTSP800-90A

N/A kernelmemory Memoryisautomaticallyoverwrittenbyzeroeswhenfreeingthecipherhandler

HMACKey(≥112bits) N/A KeyispassedintothemoduleviaAPIinputparameter

kernelmemory Automaticallyzeroizedwhenfreeingthecipherhandle

Table10:CSPTable

8.1 RandomNumberGeneration

ThemoduleemploystheDeterministicRandomBitGenerator(DRBG)basedon[SP800-90A]forthecreationofrandomnumbers.TheDRBGsupportstheHash_DRBG,HMAC_DRBGandCTR_DRBGmechanisms.TheDRBGisinitializedduringmoduleinitialization.ThemoduleloadsbydefaulttheDRBGusingHMACDRBGwithSHA-512,withoutpredictionresistance.ToseedtheDRBG,themoduleusesaNon-DeterministicRandomNumberGenerator(NDRNG)astheentropysource.TheNDRNGprovidesatleast130bitsofentropytotheDRBGduringinitialization(seed)andreseeding(reseed).ThemoduleperformscontinuousrandomnumbergeneratortestontheoutputofNDRNGtoensurethatconsecutiverandomnumbersdonotrepeat,andperformsDRBGhealthtestsasdefinedinsection11.3of[SP800-90A].ThemoduledoesnotprovideanykeygenerationserviceorperformkeygenerationforanyofitsApprovedalgorithms.KeysarepassedinfromcallingapplicationviaAPIparameters.CAVEAT:Themodulegeneratesrandomstringswhosestrengthsaremodifiedbyavailableentropy.

Page 24: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page20of28

8.2 KeyEntry/OutputThekeysareprovidedtothemoduleviaAPIinputparametersinplaintextform.Thekeysarenottransmittedbeyondthephysicalboundary.Themoduledoesnotsupportmanualkeyentry.

8.3 Key/CSPStorageSymmetrickeysandHMACkeysareprovidedtothemodulebythecallingprocess,andaredestroyedwhenreleasedbytheappropriateAPIfunctioncalls.Themoduledoesnotperformpersistentstorageofkeys.TheRSApublickeyusedforsignatureverificationisstoredaspartofthemoduleandreliesontheoperatingsystemforitsprotection.

8.4 Key/CSPZeroizationTheapplicationthatusesthemoduleisresponsibleforappropriatedestructionandzeroizationofthekeymaterial.Themoduleprovidesfunctionsforkeyallocationanddestruction.WhenacallingkernelcomponentscallstheappropriateAPIfunctionthatoperationoverwritesmemorywith0’sandthenfreesthatmemory.

Page 25: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page21of28

9. Self-TestsFIPS140-2requiresthattheModuleperformself-teststoensuretheintegrityoftheModuleandthecorrectnessofthecryptographicfunctionalityatstartup.Inaddition,themoduleperformsconditionaltestforNDRNG.Onsuccessfulcompletionofthepower-uptests,themoduleisoperationalandthecryptoservicesareavailable.Afailureofanyoftheself-testspanicstheModuleandnocryptooperationsarepossible.Theonlyrecoveryistorebootthemodule.Seesection10.3fordetails.

9.1 Power-UpSelf-TestsThemoduleperformspower-upself-testsatmoduleinitializationwithoutoperatorintervention.Whilethemoduleisperformingthepower-uptests,servicesarenotavailableandinputoroutputisnotpossible.Theon-demandpowerupself-testscanbeperformedbypowercyclingtheModuleorbyrebootingtheoperatingsystem.Thetablebelowsummarizesthepower-onself-testsperformedbythemodule.Iftheknownanswerdoesnotmatchthetestfails.ThedifferentimplementationsofthesamealgorithmslistedinTable2aretestedseparatelybyperformingtheknown-answertestsusingthesametestvectors.

Algorithm Test

AES KAT,encryptionanddecryptionare tested separately for themodesECB,CBC,CTR,XTS,GCM,CCM,CMAC

Triple-DES KAT,encryptionanddecryptionare tested separately for themodesECB,CBC,CTR,CMAC.

SP800-90ACTR_DRBG KAT

SP800-90AHash_DRBG KAT

SP800-90AHMAC_DRBG KAT

SHS SHA-1,SHA-256,SHA-512KAT

HMAC HMAC-SHA-1,HMAC-SHA-256,HMAC-SHA-512KAT

ModuleIntegritytest Performedbysha512hmacapplicationwithHMAC-SHA-512providedbyNSS

RSASignatureVerification2 Partoftheintegritytest(consideredasaKAT)

Table11:Power-OnSelf-Tests

9.1.1 IntegrityTests

Theintegrityofthestatickernelbinaryisperformedbysha512hmacapplicationusingHMAC-SHA-512.Atruntime,themoduleinvokesthesha512hmacutilitytocalculatetheHMACvalueofthestatickernelbinaryfileandthencomparesitwiththepre-storedHMACfilein/boot/.vmlinuz-$(uname-r).hmac.Thesha512hmacapplicationperformsitsownintegritycheckbycalculatingtheHMACvalueofitsbinaryandcomparingittotheHMACvaluestoredinsha512hmac.hmac.TheHMAC-SHA-512algorithmisprovidedbytheboundNSSmoduleandisKATtestedbeforetheNSSmodulemakesitselfavailabletothesha512hmacapplication.

2TheRSAsignatureverificationisonlyusedaspartofintegritytestandisnotavailableasaservicefromthemodule.

Page 26: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page22of28

TheOracleLinuxloadablecomponents(*.koreferencedinsection3.1)loadedintotheLinuxkernelduringboottimearecheckedwiththeRSAsignatureverificationimplementationoftheLinuxkerneltoconfirmtheirintegrity.IftheHMACvaluesdonotmatchortheRSAsignatureverificationfailsthekernelpanicsindicatingerrorstate.

9.2 ConditionalSelf-TestsThemoduleperformsconditionaltestsonthecryptographicalgorithmsshowninthefollowingtable:

Algorithm TestNDRNG Themoduleperformsconditionalself-testsontheoutputofNDRNG.

Table12:ConditionalSelf-Tests

Page 27: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page23of28

10. Crypto-OfficerandUserGuidanceThissectionprovidesguidancefortheCryptographicOfficerandtheUsertomaintainproperuseofthemoduleperFIPS140-2requirements.

10.1 Crypto-OfficerGuidance

TooperatetheKernelCryptoAPImodule,theoperatingsystemmustberestrictedtoasingleoperatormodeofoperation.(Thisshouldnotbeconfusedwithsingleusermodewhichisrunlevel1onOracleLinux.ThisreferstoprocesseshavingaccesstothesamecryptographicinstancewhichOracleLinuxensurescannothappenbythememorymanagementhardware.)

10.1.1 SecureInstallationandStartupCryptoOfficersusetheInstallationinstructionstoinstalltheModuleintheirenvironment.TheversionoftheRPMcontainingtheFIPSvalidatedmoduleisstatedinsection3.1above.TheRPMpackageoftheModulecanbeinstalledbystandardtoolsrecommendedfortheinstallationofOraclepackagesonanOracleLinuxsystem(forexample,yum,RPM,andtheRHNremotemanagementtool).TheintegrityoftheRPMisautomaticallyverifiedduringtheinstallationoftheModuleandtheCryptoOfficershallnotinstalltheRPMfileiftheOracleLinuxYumServerindicatesanintegrityerror.TheRPMfileslistedinsection3aresignedbyOracleandduringinstallation;Yumperformssignatureverificationwhichensuresassecuredeliveryofthecryptographicmodule.IftheRPMpackagesaredownloadedmanually,thentheCOshouldrun‘rpm–K<rpm-file-name>’commandafterimportingthebuilder’sGPGkeytoverifythepackagesignature.Inaddition,theCOcanalsoverifythehashoftheRPMpackagetoconfirmaproperdownload.ToconfiguretheoperatingenvironmenttosupportFIPSperformthefollowingsteps:1. Installthedracut-fipspackage:

#yuminstalldracut-fips-033-535.0.2.el7.x86_642. RecreatetheINITRAMFSimage:

#dracut-fAfterregeneratingtheinitramfs,theCryptoOfficerhastoappendthefollowingstringtothekernelcommandlinebychangingthesettinginthebootloader:

fips=1

If/bootor/boot/efiresidesonaseparatepartition,thekernelparameterboot=<partitionof/bootor/boot/efi>mustbesupplied.Thepartitioncanbeidentifiedwiththecommand"df/boot"or"df/boot/efi"respectively.Forexample:$df/bootFilesystem 1K-blocks Used Available Use Mountedon/dev/sda1 233191 30454 190296 14% /bootThepartitionof/bootislocatedon/dev/sda1inthisexample.Therefore,thefollowingstringneedstobeappendedtothekernelcommandline:

boot=/dev/sda1Executetherebootcommandtorebootthesystemandselectthenewlyinstalledkernel.

Page 28: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page24of28

10.1.2 FIPS140-2andAESNISupport

AccordingtotheKernelCryptoAPIFIPS140-2SecurityPolicy,theKernelCryptoAPImodulesupportstheAES-NIIntelprocessorinstructionsetasanapprovedcipher.TheAES-NIinstructionsetisusedbytheModule.IncaseyouconfiguredafulldiskencryptionusingAES,youmayusetheAES-NIsupportforahigherperformancecomparedtothesoftware-onlyimplementation.ToutilizetheAES-NIsupport,thementionedModulemustbeloadedduringboottimebyinstallingaplugin.Beforeyouinstalltheplugin,youMUSTverifythatyourprocessorofferstheAES-NIinstructionsetbycallingthefollowingcommand:

cat/proc/cpuinfo|grepaesIfthecommandreturnsalistofproperties,includingthe“aes”string,yourCPUprovidestheAES-NIinstructionset.Ifthecommandreturnsnothing,AES-NIisnotsupported.YouMUSTNOTinstallthefollowingpluginifyourCPUdoesnotsupportAES-NIbecausethekernelwillpanicduringboot.ThesupportfortheAES-NIinstructionsetduringboottimeisenabledbyinstallingthefollowingplugin(makesurethattheversionofthepluginRPMmatchestheversionoftheinstalledRPMs!):

#installthedracut-fips-aesnipackageyuminstalldracut-fips-aesni-033-535.0.2.el7.x86_64#recreatetheinitramfsimagedracut–f

Thechangescomeintoeffectduringthenextreboot.

10.2 UserGuidance

CTRandRFC3686modemustonlybeusedforIPsec.Itmustnotbeusedotherwise.TherearethreeimplementationsofAES:aes-generic,aesni-intel,andaes-x86_64onx86_64machines.TheadditionalspecificimplementationsofAESforthex86architecturearedisallowedandnotavailableonthetestplatforms.WhenusingtheModule,theusershallutilizetheLinuxKernelCryptoAPIprovidedmemoryallocationmechanisms.Inaddition,theusershallnotusethefunctioncopy_to_user()onanyportionofthedatastructuresusedtocommunicatewiththeLinuxKernelCryptoAPI.OnlythecryptographicmechanismsprovidedwiththeLinuxKernelCryptoAPIareconsideredforuse.TheNSSboundmodule,althoughused,isonlyconsideredtosupporttheintegrityverificationandisnotintendedforgeneral-purposeusewithrespecttothisModule.

10.2.1 AES-XTSUsage

TheXTSmodemustonlybeusedforthediskencryptionfunctionalityofferedbydm-crypt.

Page 29: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page25of28

10.2.2 AES-GCMUsageTheGCMwithinternalIVgenerationinFIPSmodeisincompliancewithRFC4106andshallonlybeusedinconjunctionwiththeIPsecstackofthekerneltobecomplaintwithIGA.5.AnyotherusageofGCMwillbeconsiderednon-Approved.Incasethemodule'spowerislostandthenrestored,thekeyusedfortheAESGCMshallberedistributed.

10.2.3 Triple-DESUsage

AccordingtoIGA.13,thesameTriple-DESkeyshallnotbeusedtoencryptmorethan2^1664-bitblocksofdata.

10.3 HandlingSelf-TestErrors

TheModuletransitiontoerrorstatewhenanyofself-testorconditionaltestfails.Inerrorstate,thekernelisinapanickedstateandtheoperatingsystemwillnotload.Assuch,theoutputisinhibitedandnocryptooperationsareavailableintheerrorstate.Inordertorecoverfromtheerror,themoduleneedstorebooted.Ifthefailurecontinues,themoduleneedstobereinstalled.Thekerneldumpsselftestsuccessandfailuremessagesintothekernelmessageringbuffer.Postboot,themessagesaremovedto/var/log/messages.Usedmesgtoreadthecontentsofthekernelringbuffer.Theformatoftheringbuffer(dmesg)outputis:

alg:self-testsfor%s(%s)passedTypicalmessagesaresimilarto"alg:self-testsforhmac(sha1-generic)(hmac(sha1))passed"foreachalgorithm/sub-algorithmtype.

Page 30: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page26of28

11. MitigationofOtherAttacksThemoduledoesnotclaimtomitigateagainstanyattacks.

Page 31: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page27of28

Acronyms,TermsandAbbreviations

Term DefinitionAES AdvancedEncryptionStandardCAVP CryptographicAlgorithmValidationProgramCMVP CryptographicModuleValidationProgramCSE CommunicationsSecurityEstablishmentCSP CriticalSecurityParameterDH Diffie-HellmanDHE Diffie-HellmanEphemeralDRBG DeterministicRandomBitGeneratorECDH EllipticCurveDiffie-HellmanECDSA EllipticCurveDigitalSignatureAlgorithmEDC ErrorDetectionCodeHMAC (Keyed)HashMessageAuthenticationCodeIKE InternetKeyExchangeKAT KnownAnswerTestKDF KeyDerivationFunctionNIST NationalInstituteofStandardsandTechnologyPAA ProcessorAlgorithmAccelerationPBKDF PasswordBasedKeyDerivationFunctionPOST PowerOnSelfTestPR PredictionResistancePSS ProbabilisticSignatureSchemePUB PublicationSHA SecureHashAlgorithm

Table13:Acronyms

Page 32: OL 7 Kernel Crypto API Security Policy1.1 - csrc.nist.gov · Section 10.1.1 describes the Secure Installation and startup to correctly install and configure the module. The The module

OracleLinux7KernelCryptoAPICryptographicModuleSecurityPolicy Page28of28

ReferencesTheFIPS140-2standard,andinformationontheCMVP,canbefoundathttp://csrc.nist.gov/groups/STM/cmvp/index.html.MoreinformationdescribingthemodulecanbefoundontheOraclewebsiteathttps://www.oracle.com/linux/.

ThisSecurityPolicycontainsnon-proprietaryinformation.AllotherdocumentationsubmittedforFIPS140-2conformancetestingandvalidationis“Oracle-Proprietary”andisreleasableonlyunderappropriatenon-disclosureagreements.

Document Author TitleFIPSPUB140-2 NIST FIPSPUB140-2:SecurityRequirementsforCryptographicModulesFIPSIG NIST Implementation Guidance for FIPS PUB 140-2 and the Cryptographic

ModuleValidationProgramFIPSPUB140-2AnnexA NIST FIPS140-2AnnexA:ApprovedSecurityFunctionsFIPSPUB140-2AnnexB NIST FIPS140-2AnnexB:ApprovedProtectionProfiles

FIPSPUB140-2AnnexC NIST FIPS140-2AnnexC:ApprovedRandomNumberGenerators

FIPSPUB140-2AnnexD NIST FIPS140-2AnnexD:ApprovedKeyEstablishmentTechniquesDTRforFIPSPUB140-2 NIST Derived Test Requirements (DTR) for FIPS PUB 140-2, Security

RequirementsforCryptographicModulesNISTSP800-67 NIST Recommendation for the Triple Data Encryption Algorithm TDEA Block

CypherFIPSPUB197 NIST AdvancedEncryptionStandardFIPSPUB198-1 NIST TheKeyedHashMessageAuthenticationCode(HMAC)FIPSPUB186-4 NIST DigitalSignatureStandard(DSS)FIPSPUB180-4 NIST SecureHashStandard(SHS)NISTSP800-131A NIST RecommendationfortheTransitioningofCryptographicAlgorithmsand

KeySizesPKCS#1 RSA

LaboratoriesPKCS#1v2.1:RSACryptographicStandard

Table14:References