All modules
CMVP Validated Module · FIPS 140-3 Security Policy

Apple corecrypto Module v13.0 [Apple silicon, User, Software, SL1]

Certificate#5065StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorApple Inc.
Low review priority  ·  no TCB surface named  ·  last validated 10 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date9/21/2030
CaveatWhen operated in approved mode. No assurance of minimum security of SSPs (e.g., keys, bit strings) that are externally loaded, or of SSPs established with externally loaded SSPs.
VendorApple Inc.

Derived Review-Risk Graph (review prompts, not findings)

flowchart LR
  %% Deterministic review-risk graph for Apple corecrypto Module v13.0 [Apple silicon, User, Software, SL1]
  %% Review prompts and evidence gaps, NOT vulnerability findings.
  subgraph CMVP["CMVP-disclosed clues"]
    C2["[low] Firmware update / recovery<br/>/ rollback (referenced in<br/>text)<br/><i>Recovery</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>Unauthenticated<br/>UnAuth</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>IPSEC<br/>HTTPS</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>application</i>"]
  end
  subgraph Inference["Derived inference"]
    I2["Possible only, trusted<br/>code is reachable through<br/>update and recovery paths."]
    I3["Possible only, some<br/>services may process input<br/>before, or without,<br/>operator authentication."]
    I5["Possible only, a protocol<br/>is referenced, but whether<br/>it is a live channel or<br/>only a KDF/algorithm name<br/>is unconfirmed."]
    I6["Possible only, a<br/>runtime/OS is referenced,<br/>but its membership in the<br/>cryptographic boundary is<br/>not established."]
  end
  subgraph Risk["Reviewer question"]
    R2["Are update images<br/>authenticated before<br/>parsing, and are<br/>downgrade/rollback paths<br/>constrained?"]
    R3["Can unauthenticated<br/>services leak state,<br/>consume resources, or<br/>transition security state?"]
    R5["If a live TLS/SSH/IKE<br/>channel exists, could<br/>library CVEs apply, or is<br/>this only a<br/>KDF/documentation name?"]
    R6["If the OS/runtime is<br/>in-boundary, could its<br/>CVEs be hidden by<br/>firmware-only versioning?"]
  end
  subgraph Evidence["Evidence needed to close"]
    E2["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>update image format ·<br/>signature-before-parse<br/>proof · anti-rollback /<br/>downgrade policy"]
    E3["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>pre-auth reachability<br/>matrix · rate limits and<br/>output redaction ·<br/>abuse-case tests"]
    E5["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>library identity and<br/>version ·<br/>certificate-validation<br/>behaviour · protocol-CVE<br/>disposition"]
    E6["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>runtime identity and<br/>config · kernel/runtime<br/>hardening profile ·<br/>patch/backport manifest"]
  end
  C2 --> I2 --> R2 --> E2
  C3 --> I3 --> R3 --> E3
  C5 --> I5 --> R5 --> E5
  C6 --> I6 --> R6 --> E6
  classDef clue fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
  classDef infer fill:#fff7e6,stroke:#b98500,color:#6b4e00;
  classDef risk fill:#fbe9e9,stroke:#b02a2a,color:#7a1f1f;
  classDef evidence fill:#e6f4ea,stroke:#1e7d34,color:#14532d;
  class C2,C3,C5,C6 clue;
  class I2,I3,I5,I6 infer;
  class R2,R3,R5,R6 risk;
  class E2,E3,E5,E6 evidence;
Underlying clues
flowchart LR
  %% Deterministic clue tier for Apple corecrypto Module v13.0 [Apple silicon, User, Software, SL1]
  %% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
  subgraph CMVP["CMVP-disclosed clues (deterministic)"]
    C2["[low] Firmware update / recovery / rollback (referenced in text)<br/><i>Recovery</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>Unauthenticated<br/>UnAuth</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>IPSEC<br/>HTTPS</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>application</i><br/>src: text:keyword"]
  end
  classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
  classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
  classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
  class C2,C3,C5,C6 clueLow;

Security Policy, page by page

Page 1

Apple Inc. Apple corecrypto Module v13.0 [Apple silicon, User, Software, SL1] Prepared for: Apple Inc. One Apple Park Way Cupertino, CA 95014 Prepared by: atsec information security corporation

4516 Seton Center Parkway, Suite 250

Austin, TX 78759 www.atsec.com

Page 2
Table of Contents
#SectionPage
Page 3

This document may be reproduced and distributed only in its original entirely without revision.

Page 4
List of Tables
ItemPage
Table 1: Security Levels7
Table 2: Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets)9
Table 3: Tested Operational Environments - Software, Firmware, Hybrid12
Table 4: Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid13
Table 5: Modes List and Description13
Table 6: Approved Algorithms - AES-CBC14
Table 7: Approved Algorithms - AES-CCM14
Table 8: Approved Algorithms - AES-CFB12815
Table 9: Approved Algorithms - AES-CFB815
Table 10: Approved Algorithms - AES-CMAC15
Table 11: Approved Algorithms - AES-CTR15
Table 12: Approved Algorithms - AES-ECB16
Table 13: Approved Algorithms - AES-GCM16
Table 14: Approved Algorithms - AES-KW16
Table 15: Approved Algorithms - AES-OFB17
Table 16: Approved Algorithms - AES-XTS17
Table 17: Approved Algorithms - CTR_DRBG17
Table 18: Approved Algorithms - ECDSA-KEYGEN18
Table 19: Approved Algorithms - ECDSA-KEYVER18
Table 20: Approved Algorithms - ECDSA-SIGGEN18
Table 21: Approved Algorithms - ECDSA-SIGVER18
Table 22: Approved Algorithms - HMAC-SHA119
Table 23: Approved Algorithms - HMAC-SHA22419
Table 24: Approved Algorithms - HMAC-SHA25619
Table 25: Approved Algorithms - HMAC-SHA38419
Table 26: Approved Algorithms - HMAC-SHA51220
Table 27: Approved Algorithms - HMAC-SHA512/25620
Table 28: Approved Algorithms - KAS-ECC-SSC20
Table 29: Approved Algorithms - KAS-FFC-SSC20
Table 30: Approved Algorithms - KBKDF21
Table 31: Approved Algorithms - PBKDF21
Table 32: Approved Algorithms - RSA-KEYGEN21
Table 33: Approved Algorithms - RSA-SIGGEN21
Table 34: Approved Algorithms - RSA-SIGVER22
Table 35: Approved Algorithms - SAFEPRIME-KEYGEN22
Table 36: Approved Algorithms - SHA122
Table 37: Approved Algorithms - SHA22422
Table 38: Approved Algorithms - SHA25623
Table 39: Approved Algorithms - SHA38423
Table 40: Approved Algorithms - SHA51223
Table 41: Approved Algorithms - SHA512/25623
Table 42: Vendor-Affirmed Algorithms24
Page 5

List of Figures This document may be reproduced and distributed only in its original entirely without revision.

Page 6

Trademarks Apple’s trademarks applicable to this document are listed in https://www.apple.com/legal/intellectual-property/trademark/appletmlist.html. Other company, product, and service names may be trademarks or service marks of others. This document may be reproduced and distributed only in its original entirely without revision.

Page 7
SectionTitleSecurity Level
1General1
2Cryptographic module specification1
3Cryptographic module interfaces1
4Roles, services, and authentication1
5Software/Firmware security1
6Operational environment1
7Physical securityN/A
8Non-invasive securityN/A
9Sensitive security parameter management1
10Self-tests1
11Life-cycle assurance1
12Mitigation of other attacksN/A
Overall Level1
1.1 Overview

This document is the non-proprietary FIPS 140-3 Security Policy for Apple corecrypto Module v13.0 [Apple silicon, User, Software, SL1] cryptographic module. It contains the security rules under which the module must operate and describes how this module meets the requirements as specified in FIPS PUB 140-3 (Federal Information Processing Standards Publication 140-3) for

1.2 Security Levels

Table 1: Security Levels This document may be reproduced and distributed only in its original entirely without revision.

Page 8
2 Cryptographic Module Specification
2.1 Description

Purpose and Use: The Apple corecrypto Module v13.0 [Apple silicon, User, Software, SL1] cryptographic module (hereafter referred to as “the module”) provides implementations of lowlevel cryptographic primitives to the Device OS’s (iOS 16, iPadOS 16, watchOS 9, tvOS 16, T2OS

13 and macOS 13 Ventura) Security Framework and Common Crypto. The module provides

services intended to protect data in transit and at rest. The module is optimized for library use within the Device OS user space and does not contain any terminating assertions or exceptions. It is implemented as a Device OS dynamically loadable library. After the library is loaded, its cryptographic functions are made available to the Device OS application. Any internal error detected by the module is returned to the caller with an appropriate return code. The calling Device OS application must examine the return code and act accordingly. The module communicates any error status synchronously through the use of its documented return codes, thus indicating the module’s status. Caller-induced or internal errors do not reveal any sensitive material to callers. Module Type: Software Module Embodiment: MultiChipStand Module Characteristics: N/A Cryptographic Boundary: The module cryptographic boundary is delineated by the dotted green rectangle in the Figure

  1. The module executes within the user space of the computing platforms and operating systems listed in the Tested Operational Environments Table section 2.2. Tested Operational Environment’s Physical Perimeter (TOEPP): The physical perimeter is represented by the most exterior black line in the block diagram Figure
  2. This document may be reproduced and distributed only in its original entirely without revision.
Page 9
Package or File NameSoftware/ Firmware VersionFeaturesIntegrity Test
corecrypto- 1608.60.11v13.0N/AHMAC-SHA-256
Operating SystemHardware PlatformProcessorsPAA/PAIHypervisor or Host OSVersion(s)
iPadOS 16iPad (5th generation)Apple A Series A9YesNAv13.0
iPadOS 16iPad Pro 9.7-inchApple A Series A9XYesNAv13.0
2.2 Tested and Vendor Affirmed Module Version and Identification

Tested Module Identification

Page 10
Operating SystemHardware PlatformProcessorsPAA/PAIHypervisor or Host OSVersion(s)
iPadOS 16iPad (7th generation)Apple A Series A10 FusionYesNAv13.0
iPadOS 16iPad Pro 10.5-inchApple A Series A10X FusionYesNAv13.0
iPadOS 16iPad mini (5th generation)Apple A Series A12 BionicYesNAv13.0
iPadOS 16iPad Pro 11-inch (1st generation)Apple A Series A12X BionicYesNAv13.0
iPadOS 16iPad Pro 11-inch (2nd generation)Apple A Series A12Z BionicYesNAv13.0
iPadOS 16iPad (9th generation)Apple A Series A13 BionicYesNAv13.0
iPadOS 16iPad Air (4th generation)Apple A Series A14 BionicYesNAv13.0
iPadOS 16iPad mini (6th generation)Apple A Series A15 BionicYesNAv13.0
iPadOS 16iPad Pro 11-inch (3rd generation)Apple M Series M1YesNAv13.0
iPadOS 16iPad Pro 11-inch (4th generation)Apple M Series M2YesNAv13.0
iOS 16iPhone XApple A Series A11 BionicYesNAv13.0
iOS 16iPhone XS MaxApple A Series A12 BionicYesNAv13.0
iOS 16iPhone 11 ProApple A Series A13 BionicYesNAv13.0
iOS 16iPhone 12Apple A Series A14 BionicYesNAv13.0
iOS 16iPhone 13 Pro MaxApple A Series A15 BionicYesNAv13.0
iOS 16iPhone 14 Pro MaxApple A Series A16 BionicYesNAv13.0

This document may be reproduced and distributed only in its original entirely without revision.

Page 11
Operating SystemHardware PlatformProcessorsPAA/PAIHypervisor or Host OSVersion(s)
watchOS 9Apple Watch Series S4Apple S Series S4YesNAv13.0
watchOS 9Apple Watch Series S5Apple S Series S5YesNAv13.0
watchOS 9Apple Watch Series S6Apple S Series S6YesNAv13.0
watchOS 9Apple Watch Series S7Apple S Series S7YesNAv13.0
watchOS 9Apple Watch Series S8Apple S Series S8YesNAv13.0
tvOS 16Apple TV 4KApple A Series A10X FusionYesNAv13.0
tvOS 16Apple TV 4K (2nd generation)Apple A Series A12 BionicYesNAv13.0
tvOS 16Apple TV 4K (3rd generation)Apple A Series A15 BionicYesNAv13.0
T2OS 13Apple Security Chip T2Apple T Series T2YesNAv13.0
macOS 13 VenturaMacBook Pro (13- inch, M1, 2020)Apple M Series M1YesNAv13.0
macOS 13 VenturaMacBook Pro (16- inch, 2021)Apple M Series M1 ProYesNAv13.0
macOS 13 VenturaMacBook Pro (16- inch, 2021)Apple M Series M1 MaxYesNAv13.0
macOS 13 VenturaMac StudioApple M Series M1 UltraYesNAv13.0
macOS 13 VenturaMacBook Pro (13- inch, M2, 2020)Apple M Series M2YesNAv13.0
macOS 13 VenturaMacBook Pro (14- inch, 2023)Apple M Series M2 ProYesNAv13.0
macOS 13 VenturaMacBook Pro (16- inch, 2023)Apple M Series M2 MaxYesNAv13.0

This document may be reproduced and distributed only in its original entirely without revision.

Page 12
Operating SystemHardware Platform
iPadOS 16iPad Pro 12.9-inch
iPadOS 16iPad (6th generation)
iPadOS 16iPad Pro 12.9-inch (2nd generation)
iPadOS 16iPad Air (3rd generation)
iPadOS 16iPad (8th generation)
iPadOS 16iPad Pro 12.9-inch (3rd generation)
iPadOS 16iPad Pro 12.9-inch (4th generation)
iPadOS 16iPad Pro 12.9-inch (5th generation)
iPadOS 16iPad Pro 12.9-inch (6th generation)
iOS 16iPhone 8
iOS 16iPhone 8 Plus
iOS 16iPhone XS
iOS 16iPhone XR
iOS 16iPhone 11
iOS 16iPhone 11 Pro Max
iOS 16iPhone SE (2nd generation)
iOS 16iPhone 12 mini
iOS 16iPhone 12 Pro
iOS 16iPhone 12 Pro Max
iOS 16iPhone 13 mini
iOS 16iPhone 13
iOS 16iPhone 13 Pro
iOS 16iPhone 14 Pro
watchOS 9Apple Watch SE
macOS 13 VenturaMac mini

Table 3: Tested Operational Environments - Software, Firmware, Hybrid Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid: This document may be reproduced and distributed only in its original entirely without revision.

Page 13
Operating SystemHardware Platform
macOS 13 VenturaiMac (24-inch)
macOS 13 VenturaMacBook Pro (14-inch, 2021)
macOS 13 VenturaMacBook Air
Mode NameDescriptionTypeStatus Indicator
Approved modeApproved mode of operation is entered when the module utilizes the services that use the security functions listed in the Approved Algorithms Table and the Vendor Affirmed Algorithms Table.ApprovedThe dedicated API function returns a '1' from fips_allowed_mode() for block cipher functions and fips_allowed() for all other services to indicate the executed cryptographic algorithm was approved
Non- Approved modeNon-Approved mode of operation is entered when the module utilizes non- approved security functions in the Table Non-Approved Algorithms Not Allowed in the Approved Mode of Operation.Non- ApprovedThe dedicated API function returns a '0' from fips_allowed_mode() for block cipher functions and fips_allowed() for all other services to indicate the executed cryptographic algorithm was non- approved

Table 4: Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid CMVP makes no statement as to the correct operation of the module or the security strengths of the generated keys when so ported if the specific operational environment is not listed on the validation certificate.

2.3 Excluded Components

None for this module Modes List and Description: This document may be reproduced and distributed only in its original entirely without revision.

Page 14
AlgorithmCAVP CertPropertiesReference
AES-CBCA3423-SP 800-38A
AES-CBCA3424-SP 800-38A
AES-CBCA3425-SP 800-38A
AES-CBCA3426-SP 800-38A
AES-CBCA3483-SP 800-38A
AES-CBCA3484-SP 800-38A
AES-CBCA3485-SP 800-38A
AES-CBCA3486-SP 800-38A
AlgorithmCAVP CertPropertiesReference
AES-CCMA3424-SP 800-38C
AES-CCMA3426-SP 800-38C
AES-CCMA3427-SP 800-38C
AES-CCMA3484-SP 800-38C
AES-CCMA3486-SP 800-38C
AES-CCMA3487-SP 800-38C
AlgorithmCAVP CertPropertiesReference
AES-CFB128A3423-SP 800-38A
AES-CFB128A3424-SP 800-38A
AES-CFB128A3426-SP 800-38A
AES-CFB128A3483-SP 800-38A
AES-CFB128A3484-SP 800-38A
2.5 Algorithms

Approved Algorithms: Table 6: Approved Algorithms - AES-CBC Table 7: Approved Algorithms - AES-CCM This document may be reproduced and distributed only in its original entirely without revision.

Page 15
AlgorithmCAVP CertPropertiesReference
AES-CFB128A3486-SP 800-38A
AlgorithmCAVP CertPropertiesReference
AES-CFB8A3424-SP 800-38A
AES-CFB8A3426-SP 800-38A
AES-CFB8A3484-SP 800-38A
AES-CFB8A3486-SP 800-38A
AlgorithmCAVP CertPropertiesReference
AES-CMACA3426-SP 800-38B
AES-CMACA3486-SP 800-38B
AlgorithmCAVP CertPropertiesReference
AES-CTRA3424-SP 800-38A
AES-CTRA3426-SP 800-38A
AES-CTRA3427-SP 800-38A
AES-CTRA3484-SP 800-38A
AES-CTRA3486-SP 800-38A
AES-CTRA3487-SP 800-38A
AlgorithmCAVP CertPropertiesReference
AES-ECBA3423-SP 800-38A
AES-ECBA3424-SP 800-38A

Table 8: Approved Algorithms - AES-CFB128 Table 9: Approved Algorithms - AES-CFB8 Table 10: Approved Algorithms - AES-CMAC Table 11: Approved Algorithms - AES-CTR This document may be reproduced and distributed only in its original entirely without revision.

Page 16
AlgorithmCAVP CertPropertiesReference
AES-ECBA3426-SP 800-38A
AES-ECBA3427-SP 800-38A
AES-ECBA3483-SP 800-38A
AES-ECBA3484-SP 800-38A
AES-ECBA3486-SP 800-38A
AES-ECBA3487-SP 800-38A
AlgorithmCAVP CertPropertiesReference
AES-GCMA3424-SP 800-38D
AES-GCMA3426-SP 800-38D
AES-GCMA3427-SP 800-38D
AES-GCMA3484-SP 800-38D
AES-GCMA3486-SP 800-38D
AES-GCMA3487-SP 800-38D
AlgorithmCAVP CertPropertiesReference
AES-KWA3424-SP 800-38F
AES-KWA3426-SP 800-38F
AES-KWA3484-SP 800-38F
AES-KWA3486-SP 800-38F
AlgorithmCAVP CertPropertiesReference
AES-OFBA3423-SP 800-38A
AES-OFBA3424-SP 800-38A

Table 12: Approved Algorithms - AES-ECB Table 13: Approved Algorithms - AES-GCM Table 14: Approved Algorithms - AES-KW This document may be reproduced and distributed only in its original entirely without revision.

Page 17
AlgorithmCAVP CertPropertiesReference
AES-OFBA3426-SP 800-38A
AES-OFBA3483-SP 800-38A
AES-OFBA3484-SP 800-38A
AES-OFBA3486-SP 800-38A
AlgorithmCAVP CertPropertiesReference
AES-XTS Testing Revision 2.0A3423-SP 800-38E
AES-XTS Testing Revision 2.0A3424-SP 800-38E
AES-XTS Testing Revision 2.0A3426-SP 800-38E
AES-XTS Testing Revision 2.0A3483-SP 800-38E
AES-XTS Testing Revision 2.0A3484-SP 800-38E
AES-XTS Testing Revision 2.0A3486-SP 800-38E
AlgorithmCAVP CertPropertiesReference
Counter DRBGA3424-SP 800-90A Rev. 1
Counter DRBGA3426-SP 800-90A Rev. 1
Counter DRBGA3427-SP 800-90A Rev. 1
Counter DRBGA3484-SP 800-90A Rev. 1
Counter DRBGA3486-SP 800-90A Rev. 1
Counter DRBGA3487-SP 800-90A Rev. 1
AlgorithmCAVP CertPropertiesReference
ECDSA KeyGen (FIPS186-4)A3426-FIPS 186-4
ECDSA KeyGen (FIPS186-4)A3428-FIPS 186-4

Table 15: Approved Algorithms - AES-OFB Table 16: Approved Algorithms - AES-XTS CTR_DRBG Table 17: Approved Algorithms - CTR_DRBG This document may be reproduced and distributed only in its original entirely without revision.

Page 18
AlgorithmCAVP CertPropertiesReference
ECDSA KeyGen (FIPS186-4)A3486-FIPS 186-4
ECDSA KeyGen (FIPS186-4)A3488-FIPS 186-4
AlgorithmCAVP CertPropertiesReference
ECDSA KeyVer (FIPS186-4)A3426-FIPS 186-4
ECDSA KeyVer (FIPS186-4)A3428-FIPS 186-4
ECDSA KeyVer (FIPS186-4)A3486-FIPS 186-4
ECDSA KeyVer (FIPS186-4)A3488-FIPS 186-4
AlgorithmCAVP CertPropertiesReference
ECDSA SigGen (FIPS186-4)A3426-FIPS 186-4
ECDSA SigGen (FIPS186-4)A3428-FIPS 186-4
ECDSA SigGen (FIPS186-4)A3486-FIPS 186-4
ECDSA SigGen (FIPS186-4)A3488-FIPS 186-4
AlgorithmCAVP CertPropertiesReference
ECDSA SigVer (FIPS186-4)A3426-FIPS 186-4
ECDSA SigVer (FIPS186-4)A3428-FIPS 186-4
ECDSA SigVer (FIPS186-4)A3486-FIPS 186-4
ECDSA SigVer (FIPS186-4)A3488-FIPS 186-4
AlgorithmCAVP CertPropertiesReference
HMAC-SHA-1A3426-FIPS 198-1

Table 18: Approved Algorithms - ECDSA-KEYGEN Table 19: Approved Algorithms - ECDSA-KEYVER Table 20: Approved Algorithms - ECDSA-SIGGEN Table 21: Approved Algorithms - ECDSA-SIGVER HMAC-SHA1 This document may be reproduced and distributed only in its original entirely without revision.

Page 19
AlgorithmCAVP CertPropertiesReference
HMAC-SHA-1A3428-FIPS 198-1
HMAC-SHA-1A3486-FIPS 198-1
HMAC-SHA-1A3488-FIPS 198-1
AlgorithmCAVP CertPropertiesReference
HMAC-SHA2-224A3426-FIPS 198-1
HMAC-SHA2-224A3428-FIPS 198-1
HMAC-SHA2-224A3486-FIPS 198-1
HMAC-SHA2-224A3488-FIPS 198-1
AlgorithmCAVP CertPropertiesReference
HMAC-SHA2-256A3426-FIPS 198-1
HMAC-SHA2-256A3428-FIPS 198-1
HMAC-SHA2-256A3429-FIPS 198-1
HMAC-SHA2-256A3486-FIPS 198-1
HMAC-SHA2-256A3488-FIPS 198-1
HMAC-SHA2-256A3489-FIPS 198-1
AlgorithmCAVP CertPropertiesReference
HMAC-SHA2-384A3426-FIPS 198-1
HMAC-SHA2-384A3428-FIPS 198-1
HMAC-SHA2-384A3486-FIPS 198-1
HMAC-SHA2-384A3488-FIPS 198-1

Table 22: Approved Algorithms - HMAC-SHA1 HMAC-SHA224 Table 23: Approved Algorithms - HMAC-SHA224 HMAC-SHA256 Table 24: Approved Algorithms - HMAC-SHA256 HMAC-SHA384 Table 25: Approved Algorithms - HMAC-SHA384 This document may be reproduced and distributed only in its original entirely without revision.

Page 20
AlgorithmCAVP CertPropertiesReference
HMAC-SHA2-512A3426-FIPS 198-1
HMAC-SHA2-512A3428-FIPS 198-1
HMAC-SHA2-512A3486-FIPS 198-1
HMAC-SHA2-512A3488-FIPS 198-1
AlgorithmCAVP CertPropertiesReference
HMAC-SHA2-512/256A3426-FIPS 198-1
HMAC-SHA2-512/256A3428-FIPS 198-1
HMAC-SHA2-512/256A3486-FIPS 198-1
HMAC-SHA2-512/256A3488-FIPS 198-1
AlgorithmCAVP CertPropertiesReference
KAS-ECC-SSC Sp800-56Ar3A3426-SP 800-56A Rev. 3
KAS-ECC-SSC Sp800-56Ar3A3486-SP 800-56A Rev. 3
AlgorithmCAVP CertPropertiesReference
KAS-FFC-SSC Sp800-56Ar3A3426-SP 800-56A Rev. 3
KAS-FFC-SSC Sp800-56Ar3A3486-SP 800-56A Rev. 3
AlgorithmCAVP CertPropertiesReference
KDF SP800-108A3426-SP 800-108 Rev. 1
KDF SP800-108A3428-SP 800-108 Rev. 1

HMAC-SHA512 Table 26: Approved Algorithms - HMAC-SHA512 Table 27: Approved Algorithms - HMAC-SHA512/256 Table 28: Approved Algorithms - KAS-ECC-SSC Table 29: Approved Algorithms - KAS-FFC-SSC KBKDF This document may be reproduced and distributed only in its original entirely without revision.

Page 21
AlgorithmCAVP CertPropertiesReference
KDF SP800-108A3486-SP 800-108 Rev. 1
KDF SP800-108A3488-SP 800-108 Rev. 1
AlgorithmCAVP CertPropertiesReference
PBKDFA3426-SP 800-132
PBKDFA3428-SP 800-132
PBKDFA3486-SP 800-132
PBKDFA3488-SP 800-132
AlgorithmCAVP CertPropertiesReference
RSA KeyGen (FIPS186-4)A3426-FIPS 186-4
RSA KeyGen (FIPS186-4)A3428-FIPS 186-4
RSA KeyGen (FIPS186-4)A3486-FIPS 186-4
RSA KeyGen (FIPS186-4)A3488-FIPS 186-4
AlgorithmCAVP CertPropertiesReference
RSA SigGen (FIPS186-4)A3426-FIPS 186-4
RSA SigGen (FIPS186-4)A3428-FIPS 186-4
RSA SigGen (FIPS186-4)A3486-FIPS 186-4
RSA SigGen (FIPS186-4)A3488-FIPS 186-4
AlgorithmCAVP CertPropertiesReference
RSA SigVer (FIPS186-4)A3426-

Table 30: Approved Algorithms - KBKDF Table 31: Approved Algorithms - PBKDF Table 32: Approved Algorithms - RSA-KEYGEN Table 33: Approved Algorithms - RSA-SIGGEN This document may be reproduced and distributed only in its original entirely without revision.

Page 22
AlgorithmCAVP CertPropertiesReference
RSA SigVer (FIPS186-4)A3428-FIPS 186-4
RSA SigVer (FIPS186-4)A3486-FIPS 186-4
RSA SigVer (FIPS186-4)A3488-FIPS 186-4
AlgorithmCAVP CertPropertiesReference
Safe Primes Key GenerationA3426-SP 800-56A Rev. 3
Safe Primes Key GenerationA3486-SP 800-56A Rev. 3
AlgorithmCAVP CertPropertiesReference
SHA-1A3426-FIPS 180-4
SHA-1A3428-FIPS 180-4
SHA-1A3486-FIPS 180-4
SHA-1A3488-FIPS 180-4
AlgorithmCAVP CertPropertiesReference
SHA2-224A3426-FIPS 180-4
SHA2-224A3428-FIPS 180-4
SHA2-224A3486-FIPS 180-4
SHA2-224A3488-FIPS 180-4
AlgorithmCAVP CertPropertiesReference
SHA2-256A3426-FIPS 180-4
SHA2-256A3428-FIPS 180-4

Table 34: Approved Algorithms - RSA-SIGVER SAFEPRIME-KEYGEN Table 35: Approved Algorithms - SAFEPRIME-KEYGEN SHA1 Table 36: Approved Algorithms - SHA1 SHA224 Table 37: Approved Algorithms - SHA224 SHA256 This document may be reproduced and distributed only in its original entirely without revision.

Page 23
AlgorithmCAVP CertPropertiesReference
SHA2-256A3429-FIPS 180-4
SHA2-256A3486-FIPS 180-4
SHA2-256A3488-FIPS 180-4
SHA2-256A3489-FIPS 180-4
AlgorithmCAVP CertPropertiesReference
SHA2-384A3426-FIPS 180-4
SHA2-384A3428-FIPS 180-4
SHA2-384A3486-FIPS 180-4
SHA2-384A3488-FIPS 180-4
AlgorithmCAVP CertPropertiesReference
SHA2-512A3426-FIPS 180-4
SHA2-512A3428-FIPS 180-4
SHA2-512A3486-FIPS 180-4
SHA2-512A3488-FIPS 180-4
AlgorithmCAVP CertPropertiesReference
SHA2-512/256A3426-FIPS 180-4
SHA2-512/256A3428-FIPS 180-4
SHA2-512/256A3486-FIPS 180-4
SHA2-512/256A3488-FIPS 180-4

Table 38: Approved Algorithms - SHA256 SHA384 Table 39: Approved Algorithms - SHA384 SHA512 Table 40: Approved Algorithms - SHA512 SHA512/256 Table 41: Approved Algorithms - SHA512/256 Vendor-Affirmed Algorithms: This document may be reproduced and distributed only in its original entirely without revision.

Page 24
NamePropertiesImplementationReference
Cryptographic Key Generation (CKG)RSA Key Generation:Modulus: 2048, 3072, 4096; Key strength: from 112 to 150-bits ECDSA Key Generation:P-224, P- 256, P-384, P-521; Key strength: from 112 to 256-bits Safe Prime Key Generation:Safe prime groups: MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192 Key strength: from 112 to 200-bitsApple corecrypto Module [Apple ARM, User, Software, SL1] (c_ltc)FIPS 140-3 IG D.H. and [SP800- 133rev2] sections 4 and 5.1
CKGRSA Key Generation:Modulus: 2048, 3072, 4096; Key strength: from 112 to 150-bits ECDSA Key Generation:P-224, P- 256, P-384, P-521; Key strength: from 112 to 256-bits Safe Prime Key Generation:MODP-2048, MODP- 3072, MODP-4096, MODP-6144, MODP-8192 Key strength: from 112 to 200-bitsApple corecrypto Module [Apple ARM, User, Software, SL1] (vng_ltc)FIPS 140-3 IG D.H. and [SP800- 133rev2] sections 4 and 5.1
NameCaveatUse and Function
MD5Allowed in Approved mode with no security claimed per IG 2.4.A Digest Size: 128-bitMessage Digest (used as part of the TLS key establishment scheme v1.0, v1.1 only)
NameUse and Function
ANSI X9.63 KDFHash based Key Derivation Function

Table 42: Vendor-Affirmed Algorithms Non-Approved, Allowed Algorithms: There are no non-Approved but “Allowed functions” with security claimed algorithms in Non-Approved, Not Allowed Algorithms: This document may be reproduced and distributed only in its original entirely without revision.

Page 25
NameUse and Function
BlowfishEncryption / Decryption
CAST5Encryption / Decryption Key Sizes: 40 to 128 bits in 8-bit increments
DESEncryption / Decryption Key Size: 56-bits
Diffie-HellmanShared Secret Computation using key size < 2048
ECDSAGeneration / Verification / SigGen / SigVer with curve P-192
ECDSA KeyGenKey Pair Generation for compact point representation of points
EC Diffie-HellmanShared Secret Computation using curves < P-224
EdDSAKey Generation, Signature Generation, Signature Verification with Ed25519
ECDHKey agreement with X25519
HKDF [SP800-56Crev2]Key Derivation Function
Integrated Encryption Scheme on elliptic curves (ECIES)Hybrid encryption scheme
MD2Message Digest size: 128-bit
MD4Message Digest size: 128-bit
MD5 (except in the TLS 1.0/1.1 context)Message Digest size: 128-bit
OMAC (One-Key CBC MAC)MAC generation / verification
RC2Encryption / Decryption Key Sizes 8 to 1024-bits
RC4Encryption / Decryption Key Sizes 8 to 4096-bits
RFC6637Key Derivation Function
RIPEMDMessage Digest size: 160-bits
RSA KeyGenANSI X9.31 Key Pair Generation with Key Size < 2048
RSA SigGenPKCS#1 v1.5 and PSS; Signature Generation Key Size < 2048
RSA SigVerSignature Verification Key Size < 1024
RSA Key WrappingOAEP, PKCS#1 v1.5 and -PSS schemes

This document may be reproduced and distributed only in its original entirely without revision.

Page 26
NameUse and Function
Triple-DES [SP 800-67r2]CBC, CTR, CFB64, ECB, CFB8, OFB
SHA-3Message Digest
HPKE (Hybrid Public Key Encryption) [RFC9180]Hybrid encryption scheme
KeccakMessage Digest
NameTypeDescriptionPropertiesAlgorithms
Unauthenticated Symmetric Encryption and DecryptionBC-UnAuthKey Size / Key Strength: 128, 192, 256-bits (for all but XTS, which supports 128 and 256 bit keys)AES [FIPS 197; SP 800-38A]:CBC AES [FIPS 197; SP 800-38A]:CFB128 AES [FIPS 197; SP 800-38A]:CFB8 AES [FIPS 197; SP 800-38A]:CTR AES [FIPS 197; SP 800-38A]:ECB AES [FIPS 197; SP 800-38A]:OFB AES [FIPS 197; SP 800-38E]:XTSAES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CBC AES-CFB128 AES-CFB128 AES-CFB128 AES-CFB128 AES-CFB128 AES-CFB128 AES-CFB8 AES-CFB8 AES-CFB8 AES-CFB8 AES-CTR AES-CTR AES-CTR AES-CTR AES-CTR AES-CTR AES-ECB AES-ECB AES-ECB AES-ECB AES-ECB

Table 44: Non-Approved, Not Allowed Algorithms

2.6 Security Function Implementations

This document may be reproduced and distributed only in its original entirely without revision.

Page 27
NameTypeDescriptionPropertiesAlgorithms
AES-ECB AES-ECB AES-ECB AES-OFB AES-OFB AES-OFB AES-OFB AES-OFB AES-OFB AES-XTS Testing Revision 2.0 AES-XTS Testing Revision 2.0 AES-XTS Testing Revision 2.0 AES-XTS Testing Revision 2.0 AES-XTS Testing Revision 2.0 AES-XTS Testing Revision 2.0
Authenticated Symmetric Encryption and DecryptionBC-AuthKey Size/ Key Strength: 128, 192, 256-bitsAES [FIPS 197; SP 800-38C]:CCM AES [FIPS 197; SP 800-38D]:GCMAES-CCM AES-CCM AES-CCM AES-CCM AES-CCM AES-CCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM

This document may be reproduced and distributed only in its original entirely without revision.

Page 28
NameTypeDescriptionPropertiesAlgorithms
Random Number GenerationDRBGKey Size/ Key Strength: 128, 256- bits. Derivation Function Enabled, No Prediction ResistanceDRBG [SP800- 90ARev1]:CTR_DRBG; AES-128, AES-256Counter DRBG Counter DRBG Counter DRBG Counter DRBG Counter DRBG Counter DRBG
ECDSA Asymmetric Key GenerationAsymKeyPair- KeyGen CKGCurve: P-224, P- 256, P-384, P- 521. Key Strength: from 112 to 256-bitsECDSA ANSI X9.62 [FIPS 186-4]:Key Pair Generation (CKG using method in Sections 4 and 5.1 [SP 800-133Rev2]). Testing CandidatesECDSA KeyGen (FIPS186-4) ECDSA KeyGen (FIPS186-4) ECDSA KeyGen (FIPS186-4) ECDSA KeyGen (FIPS186-4)
ECDSA Asymmetric Key VerificationAsymKeyPair- KeyVerCurve: P-224, P- 256, P-384, P- 521. Key Strength: from 112 to 256-bitsECDSA ANSI X9.62 [FIPS 186-4]:N/AECDSA KeyVer (FIPS186-4) ECDSA KeyVer (FIPS186-4) ECDSA KeyVer (FIPS186-4) ECDSA KeyVer (FIPS186-4)
ECDSA Digital Signature GenerationDigSig-SigGenCurve: P-224, P- 256, P-384, P- 521. Key Strength: from 112 to 256-bitsECDSA ANSI X9.62 [FIPS 186-4]:SHA2- 224, SHA2-256, SHA2- 384, SHA2- 512ECDSA SigGen (FIPS186-4) ECDSA SigGen (FIPS186-4) ECDSA SigGen (FIPS186-4) ECDSA SigGen (FIPS186-4)
ECDSA Digital Signature VerificationDigSig-SigVerCurve: P-224, P- 256, P-384, P- 521. Key Strength: from 112 to 256-bitsECDSA ANSI X9.62 [FIPS 186-4]:SHA-1, SHA2-224, SHA2- 256, SHA2-384, SHA2-512ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-4)

This document may be reproduced and distributed only in its original entirely without revision.

Page 29
NameTypeDescriptionPropertiesAlgorithms
ECDSA SigVer (FIPS186-4)
CMAC Message AuthenticationMACKey Size/ Key Strength: 128, 192, 256-bitsAES [FIPS 197; SP 800-38B]:CMACAES-CMAC AES-CMAC
HMAC Message AuthenticationMACKey Size: 8 - 262144 bitsHMAC SHA1 [FIPS 198]:Key Strength: 128 HMAC SHA224 [FIPS 198]:Key Strength: 224 HMAC SHA256 [FIPS 198]:Key Strength: 256 HMAC SHA384 [FIPS 198]:Key Strength: 384 HMAC SHA512 [FIPS 198]:Key Strength: 512 HMAC SHA512/256 [FIPS 198]:Key Strength: 256HMAC-SHA-1 HMAC-SHA-1 HMAC-SHA-1 HMAC-SHA-1 HMAC-SHA2- 224 HMAC-SHA2- 224 HMAC-SHA2- 224 HMAC-SHA2- 224 HMAC-SHA2- 256 HMAC-SHA2- 256 HMAC-SHA2- 256 HMAC-SHA2- 256 HMAC-SHA2- 256 HMAC-SHA2- 256 HMAC-SHA2- 384 HMAC-SHA2- 384 HMAC-SHA2- 384 HMAC-SHA2- 384 HMAC-SHA2- 512 HMAC-SHA2-

This document may be reproduced and distributed only in its original entirely without revision.

Page 30
NameTypeDescriptionPropertiesAlgorithms
512 HMAC-SHA2- 512 HMAC-SHA2- 512 HMAC-SHA2- 512/256 HMAC-SHA2- 512/256 HMAC-SHA2- 512/256 HMAC-SHA2- 512/256
ECC Shared Secret ComputationKAS-SSCP-224, P-256, P-384, P-521. Key Strength: from 112 to 256-bitsKAS-ECC-SSC [SP800-56ARev 3] and FIPS 140-3 IG D.F scenario 2 path 1:Scheme: ephemeral Unified KAS Role: initiator, responderKAS-ECC-SSC Sp800-56Ar3 KAS-ECC-SSC Sp800-56Ar3
FFC Shared Secret ComputationKAS-SSCMODP-2048, MODP-3072, MODP- 4096, MODP-6144, MODP-8192. Key Strength: from 112 to 200KAS-FFC-SSC [SP800- 56ARev3] and FIPS 140-3 IG D.F scenario 2 path 1:Scheme: dh Ephem with safe prime groups KAS Role: initiator, responderKAS-FFC-SSC Sp800-56Ar3 KAS-FFC-SSC Sp800-56Ar3
KBKDF Key Derivation with HMACKBKDFKey Size / Key Strength: 128 - 256 bits Supported [output] Lengths: 8-4096 Increment 8 Fixed Data Order: Before Fixed DataKBKDF [SP800- 108r1]:KDF Mode: Counter and Feedback MAC Mode: HMAC-SHA- 1, HMAC-SHA2-224, HMAC-SHA2- 256, HMAC-SHA2-384, HMAC- SHA2-512; Counter Length: 32KDF SP800-108 KDF SP800-108 KDF SP800-108 KDF SP800-108

This document may be reproduced and distributed only in its original entirely without revision.

Page 31
NameTypeDescriptionPropertiesAlgorithms
Key wrapping/ Key unwrappingKTS-WrapKey Size/ Key Strength: 128, 192, 256-bitsKTS (AES) [FIPS 197; SP 800-38 F]:AES- KWAES-KW AES-KW AES-KW AES-KW
RSA Asymmetric Key GenerationAsymKeyPair- KeyGen CKGKey Size: 2048, 3072, 4096-bits. Key Strength: from 112 to 150-bitsRSA [FIPS 186- 4]; ANSI X9.31:CKG using method in Sections 4 and 5.1 [SP 800-133Rev2]RSA KeyGen (FIPS186-4) RSA KeyGen (FIPS186-4) RSA KeyGen (FIPS186-4) RSA KeyGen (FIPS186-4)
RSA Digital Signature GenerationDigSig-SigGenKey Size: 2048, 3072, 4096-bits. Key Strength: from 112 to 150-bitsRSA [FIPS 186- 4]:PKCS#1 v1.5 and PKCS PSSRSA SigGen (FIPS186-4) RSA SigGen (FIPS186-4) RSA SigGen (FIPS186-4) RSA SigGen (FIPS186-4)
RSA Digital Signature VerificationDigSig-SigVerKey Size: 1024, 2048, 3072, 4096- bits. Key Strength: from 80 to 150- bitsRSA [FIPS 186- 4]:PKCS#1 v1.5 and PKCS PSSRSA SigVer (FIPS186-4) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-4)
Safeprime Key GenerationAsymKeyPair- KeyGen CKGSafe Prime Groups: MODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192. Key Strength: from 112 to 200-bitsSafe Primes Key Generation:Safe Prime Groups: MODP-2048, MODP- 3072, MODP-4096, MODP-6144, MODP- 8192; CKG using method in Sections 4 and 5.1 [SP 800- 133Rev2]Safe Primes Key Generation Safe Primes Key Generation

This document may be reproduced and distributed only in its original entirely without revision.

Page 32
NameTypeDescriptionPropertiesAlgorithms
Message DigestSHAN/ASHS [FIPS 180- 4]:SHA1 SHS [FIPS 180- 4]:SHA224 SHS [FIPS 180- 4]:SHA256 SHS [FIPS 180- 4]:SHA384 SHS [FIPS 180- 4]:SHA512 SHS [FIPS 180- 4]:SHA512/256SHA-1 SHA-1 SHA-1 SHA-1 SHA2-224 SHA2-224 SHA2-224 SHA2-224 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-256 SHA2-384 SHA2-384 SHA2-384 SHA2-384 SHA2-512 SHA2-512 SHA2-512 SHA2-512 SHA2-512/256 SHA2-512/256 SHA2-512/256 SHA2-512/256
PBKDF Key DerivationPBKDFKey Size / Key Strength: 128 - 256 bits Password length: 8- 128 bytes Increment 1 Salt Length: 128-4096 Increment 8 Iteration Count: 10-1000 Increment 1PBKDF [SP800- 132]:HMAC with: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512PBKDF PBKDF PBKDF PBKDF

This document may be reproduced and distributed only in its original entirely without revision.

Page 33
NameTypeDescriptionPropertiesAlgorithms
KBKDF Key Derivation with CMACKBKDFKey Size / Key Strength: 128 - 256 bits Supported [output] Lengths: 8-4096 Increment 8 Fixed Data Order: Before Fixed Data Counter Length: 8, 16, 24, 32KBKDF [SP800- 108r1]:KDF Mode: Counter CMAC Mode: CMAC- AES128, CMAC- AES192, CMAC- AES256KDF SP800-108 KDF SP800-108

Table 45: Security Function Implementations

2.7 Algorithm Specific Information

GCM IV AES-GCM IV is constructed in compliance with IG C.H scenario 1 (TLS 1.2) and scenario 2 (IPsecv3). Users should consult IG C.H specific scenario for all the details and requirements of using AES-GCM mode. The GCM IV generation follows RFC 5288 and shall only be used for the TLS protocol version 1.2. The counter portion of the IV is set by the module within its cryptographic boundary. The module does not implement the TLS protocol. The module’s implementation of AES-GCM is used together with an application that runs outside the module’s cryptographic boundary. The design of the TLS protocol implicitly ensures that the nonce_explicit, or counter portion of the IV will not exhaust all of its possible values. The GCM IV generation follows RFC 4106 and shall only be used for the IPsec-v3 protocol version 3. The counter portion of the IV is set by the module within its cryptographic boundary. The module does not implement the IPsec protocol. The module’s implementation of AES-GCM is used together with an application that runs outside the module’s cryptographic boundary. The design of the IPsec protocol implicitly ensures that the nonce_explicit, or counter portion of the IV will not exhaust all of its possible values. In both protocols in case the module’s power is lost and then restored, the key used for the AES GCM encryption/decryption shall be re-distributed. This condition is not enforced by the module; however, it is met implicitly. The module does not retain any state when power is lost. As indicated in Table 11, column Storage, the module exclusively uses volatile storage. This means that AES-GCM key/IVs are not persistently stored during power off: therefore, there is no re-connection possible when the power is back on with re-generation of the key used for GCM. After restoration of the power, the user of the module (e.g., TLS, IKE) along with User application This document may be reproduced and distributed only in its original entirely without revision.

Page 34
NameTypeOperational EnvironmentSample SizeEntropy per SampleConditioning Component
Apple corecrypto physical entropy sourcePhysicalSee Tested Operational Environment Table in section 2.2256 bitSHA-256 [ACVP cert. # C1223]
Apple corecrypto non- physical entropy sourceNon- PhysicalSee Tested Operational Environment Table in section 2.2256 bitSHA-256 [ACVP Certs. # A3687, A3522]

that implements the protocol, must perform a complete new key establishment operation using new random numbers (Entropy input string, DRBG seed, DRBG internal state V and Key, shared secret values that are not retained during power cycle, see table 11) with subsequent KDF operations to establish a new GCM key/IV pair on either side of the network communication channel. AES-XTS AES-XTS mode is only approved for hardware storage applications. The length of the AES-XTS data unit does not exceed 220 blocks. The module checks explicitly that Key_1 ≠ Key_2 before using the keys in the XTS-Algorithm to process data with them compliant with IG C.I. Key Derivation using SP 800-132 PBKDF2 The module implements a CAVP compliance tested key derivation function compliant to [SP800132]. The service returns the key derived from the provided password to the caller. The length of the password used as input to PBKDFv2 shall be at least 8 characters and the worst-case probability of guessing the value is 10^8 assuming all characters are digits only. The user shall choose the password length and the iteration count in such a way that the combination will make the key derivation computationally intensive. PBKDFv2 is implemented to support the option 1a specified in section 5.4 of [SP800-132]. The keys derived from [SP800-132] map to section 4.1 of [SP800-133rev2] as indirect generation from DRBG. The derived keys may only be used in storage applications.

2.8 RBG and Entropy

Table 46: Entropy Sources Entropy sources: Two entropy sources (one non-physical entropy source and one physical entropy source) residing within the TOEPP provide the random bits. The entropy sources are located within the physical perimeter of the module (TOEPP) but outside the cryptographic boundary of the module. This document may be reproduced and distributed only in its original entirely without revision.

Page 35

RBGs: The NIST [SP 800-90ARev1] approved deterministic random bit generators (DRBG) used for random number generation is a CTR_DRBG using AES-256 with derivation function and without prediction resistance. The module performs DRBG health tests according to [SP800-90ARev1 section 11.3]. The deterministic random bit generators are seeded by /dev/random. The /dev/random is the User Space interface. RBG Output: The output of entropy sources provides 256-bits of entropy to seed and reseed SP800-90ARev1 DRBG during initialization (seed) and reseeding (reseed).

2.9 Key Generation

The module generates RSA, Diffie-Hellman, and ECDSA and EC Diffie-Hellman keys and SSPs in accordance with FIPS 140-3 IG D.H. The cryptographic module performs Cryptographic Key Generation (CKG) for asymmetric keys as per sections 4 and 5.1 [SP800-133r2] (vendor affirmed), compliant with [FIPS186-4], and using DRBG compliant with [SP800-90ARev1]. A seed (i.e., the random value) used in asymmetric key generation is a direct output from [SP800-90ARev1] CTR_DRBG. The key generation service for RSA, Diffie-Hellman, ECDSA and EC Diffie-Hellman key pairs as well as the [SP 800-90ARev1] DRBG have been ACVT tested with algorithm certificates found in the Approved Algorithms Table.

2.10 Key Establishment

The module provides the following key/SSP establishment services in the Approved mode:

Page 36

The module provides SP800-56ARev3 compliant key establishment according to FIPS 140-3 IG D.F scenario 2 path (1) with Diffie-Hellman shared secret computation. The shared secret computation provides between 112 and 200 bits of encryption strength.

2.11 Industry Protocols

No parts of the TLS or IPsec protocols, other than those mentioned above, have been tested by the CAVP and CMVP. This document may be reproduced and distributed only in its original entirely without revision.

Page 37
Physical PortLogical Interface(s)Data That Passes
N/AData Input Data OutputData inputs/outputs are provided in the variables passed in the C language Application Programming Interfaces (APIs) and callable service invocations, generally through caller-supplied buffers
N/AControl InputControl inputs which control the mode of the module are provided through dedicated parameters.
N/AStatus OutputStatus output is provided in return codes and through messages. Documentation for each API lists possible return codes. A complete list of all return codes returned by the C language APIs within the module is provided in the header files and the API documentation. Messages are also documented in the API documentation.

Table 47: Ports and Interfaces This document may be reproduced and distributed only in its original entirely without revision.

Page 38
NameTypeOperator TypeAuthentication Methods
Crypto OfficerRoleCONone
NameDescripti onIndicat orInputsOutputsSecurity FunctionsSSP Access
AES Encryption/Decryp tionExecute AES- mode encrypt or decrypt operation1plaintext data and key / ciphertex t data and keyciphertext data / plaintext dataUnauthentica ted Symmetric Encryption and Decryption Authenticate d Symmetric Encryption and DecryptionCrypto Officer - AES key: W,E
AES Key Wrapping / Key unwrappingExecute AES-key wrapping or unwrappi ng operation1AES key wrapping key, unwrapp ed key / Wrapped key, AES keywrapped key / unwrapped keyKey wrapping/ Key unwrappingCrypto Officer - AES key- wrappin g key: W,E
4 Roles, Services, and Authentication

FIPS 140-3 does not require an authentication mechanism for level 1 modules. Therefore, the module does not support an authentication mechanism for Crypto Officer. The Crypto Officer role is authorized to access all services provided by the module (see Table - Approved Services and Table - Non-Approved Services).

4.2 Roles
4.3 Approved Services

The module implements a dedicated API function to indicate if a requested service utilizes an approved security function (see also section 2.4). This document may be reproduced and distributed only in its original entirely without revision.

Page 39
NameDescripti onIndicat orInputs wrapping keyOutputsSecurity FunctionsSSP Access
Secure Hash GenerationGenerate a digest for the requested algorithm1messagedigestMessage DigestCrypto Officer
Message Authentication GenerationGenerate a MAC digest using the requested SHA algorithm or AES algorithm1message, MAC key, MAC algorith mMACCMAC Message Authenticatio n HMAC Message Authenticatio nCrypto Officer - AES key: W,E - HMAC key: W,E
Message Authentication Code VerificationVerify a MAC digest1MAC, message, MAC key, MAC algorith mpass/failCMAC Message Authenticatio n HMAC Message Authenticatio nCrypto Officer - AES key: W,E - HMAC key: W,E
RSA signature generation and verificationSign a message with a specified RSA private key. Verify the signature of a message with a specified RSA1SigGen: private key, message, hash function; SigVer: public key, digital signature , message,SigGen: computed signature; SigVer: pass/fail result of digital signature verificationRSA Digital Signature Generation RSA Digital Signature VerificationCrypto Officer - RSA key pair: W,E

n This document may be reproduced and distributed only in its original entirely without revision.

Page 40
NameDescripti onIndicat orInputsOutputsSecurity FunctionsSSP Access
public key.hash function
ECDSA signature generation and verificationSign a message with a specified ECDSA private key Verify the signature of a message with a specified ECDSA public key1SigGen: private key, message, hash function; SigVer: public key, digital signature , message, hash functionSigGen: computed signature; SigVer: pass/fail result of digital signature verificationECDSA Digital Signature Generation ECDSA Digital Signature VerificationCrypto Officer - ECDSA key pair: W,E
Random Number GenerationGenerate random number1Length or size for requeste d numbersrandom bit- stringRandom Number GenerationCrypto Officer - Entropy input string: E - DRBG seed, internal state V value, and key: G,R,E
PBKDFDerive key from password1PasswordPBKDF derived keyPBKDF Key DerivationCrypto Officer - PBKDF derived key: G,R - PBKDF passwor d: E

G,R,E d: E This document may be reproduced and distributed only in its original entirely without revision.

Page 41
NameDescripti onIndicat orInputsOutputsSecurity FunctionsSSP Access
KBKDFDerive key from key derivation key1Derivatio n keyKBKDF derived keyKBKDF Key Derivation with HMAC KBKDF Key Derivation with CMACCrypto Officer - KBKDF key derivati on key: W,E - KBKDF derived key: G,R,E
RSA key pair generationGenerate a keypair for a requested modulus1Modulus sizeRSA key pairRSA Asymmetric Key GenerationCrypto Officer - RSA key pair: G,R,E
ECDSA key pair generationGenerate a keypair for a requested elliptic curve1CurveECDSA key pairECDSA Asymmetric Key Generation ECDSA Asymmetric Key VerificationCrypto Officer - ECDSA key pair: G,R,E
Safe primes key generationGenerate a keypair for a requested 'safe' domain paramete r1CurveDiffie_Hellm an key pairSafeprime Key GenerationCrypto Officer - Diffie- Hellman key pair: G,R,E
Diffie-Hellman shared secret computationGenerate a shared secret1Received public key and possesse d private keyDH shared secretFFC Shared Secret ComputationCrypto Officer - Diffie- Hellman shared

W,E G,R,E r This document may be reproduced and distributed only in its original entirely without revision.

Page 42
NameDescripti onIndicat orInputsOutputsSecurity FunctionsSSP Access
secret: G,R,W,E
EC Diffie-Hellman shared secret computationGenerate a shared secret1Received public key and possesse d private keyECDH shared secretECC Shared Secret ComputationCrypto Officer - EC Diffie- Hellman shared secret: G,R,W,E
Self-testexecute CASTs in table section 10.21powerpass/fail resultsUnauthentica ted Symmetric Encryption and Decryption Authenticate d Symmetric Encryption and Decryption Random Number Generation ECDSA Asymmetric Key Generation ECDSA Asymmetric Key Verification ECDSA Digital Signature Generation ECDSA Digital Signature Verification CMACCrypto Officer - HMAC key: E - AES key: E - AES key- wrappin g key: E - ECDSA key pair: E - RSA key pair: E - DRBG seed, internal state V value, and key: E - PBKDF derived key: E - KBKDF key derivati

G,R,W,E G,R,W,E This document may be reproduced and distributed only in its original entirely without revision.

Page 43
NameDescripti onIndicat orInputsOutputsSecurity FunctionsSSP Access
Message Authenticatio n HMAC Message Authenticatio n ECC Shared Secret Computation FFC Shared Secret Computation KBKDF Key Derivation with HMAC Key wrapping/ Key unwrapping RSA Asymmetric Key Generation RSA Digital Signature Generation RSA Digital Signature Verification Safeprime Key Generation Message Digest PBKDF Key Derivation KBKDF Key Derivation with CMACon key: E - KBKDF derived key: E - EC Diffie- Hellman shared secret: E - EC Diffie Hellman key pair: E - Diffie- Hellman shared secret: E - Diffie- Hellman key pair: E

This document may be reproduced and distributed only in its original entirely without revision.

Page 44
NameDescripti onIndicat orInputsOutputsSecurity FunctionsSSP Access
Show StatusReturn the module statusN/AN/AStatus outputNoneCrypto Officer
Show module version infoReturn Module Base Name and Module Version NumberN/AN/AModule informatioi nNoneCrypto Officer
ZeroizationSSPs are zeroised when the system is powered down, when all resources of symmetri c crypto function context, all resources of hash context, all resources of Diffie- Hellman context for Diffie- Hellman and EC Diffie- Hellman,1N/AN/ANoneCrypto Officer - AES key: Z - AES key- wrappin g key: Z - HMAC key: Z - ECDSA key pair: Z - RSA key pair: Z - Entropy input string: Z - DRBG seed, internal state V value, and key: Z

This document may be reproduced and distributed only in its original entirely without revision.

Page 45
NameDescripti onIndicat orInputsOutputsSecurity FunctionsSSP Access
all resources of asymmetr ic crypto function context and all resources of key derivation function context are released- PBKDF derived key: Z - KBKDF key derivati on key: Z - PBKDF passwor d: Z - KBKDF key derivati on key: Z - Diffie- Hellman key pair: Z - EC Diffie Hellman key pair: Z - Diffie- Hellman shared secret: Z - EC Diffie- Hellman shared secret: Z

Z Z Z Table 49: Approved Services The abbreviations of the access rights to SSPs have the following interpretation: This document may be reproduced and distributed only in its original entirely without revision.

Page 46
NameDescriptionAlgorithmsRole
Triple-DES encryption / decryptionExecute Triple-DES mode encrypt or decrypt operation.Triple-DES [SP 800- 67r2]CO
RSA Key EncapsulationThe CAST does not perform the full KTS, only the raw RSA encrypt/decrypt.RSA Key WrappingCO
RSA Key pair GenerationGenerate a keypair with non-approved key sizesRSA KeyGenCO
RSA Signature GenerationSign a message with non- approved private keyRSA SigGenCO
RSA Signature VerificationVerify the signature of a message with a non- approved public key.RSA SigVerCO
Diffie Hellman Shared Secret ComputationFor key sizes < 2048Diffie-HellmanCO
EC Diffie Hellman Shared Secret ComputationFor curve sizes < P-224EC Diffie-HellmanCO
ECDSA key-pair generation , ECDSA key verification, ECDSA signature generation, ECDSA signature verificationFor curve P-192ECDSACO
ECDSA Key Pair Generation for compact point representation of pointsFor compact point representation of pointsECDSA KeyGenCO
EdDSA Key Generation, Signature Generation, Signature VerificationEd25519EdDSACO
ECDH Key AgreementX25519ECDHCO

G = Generate: The module generates or derives the SSP. R = Read: The SSP is read from the module (e.g., the SSP is output). W = Write: The SSP is updated, imported, or written to the module. E = Execute: The module uses the SSP in performing a cryptographic operation. Z = Zeroise: The module zeroises the SSP. N/A = The service does not access any SSP during its operation This document may be reproduced and distributed only in its original entirely without revision.

Page 47
NameDescriptionAlgorithmsRole
Hybrid encryption schemeEncryption schemes that combine asymmetric and symmetric algorithmsIntegrated Encryption Scheme on elliptic curves (ECIES) HPKE (Hybrid Public Key Encryption) [RFC9180]CO
ANSI X9.63 Key DerivationSHA-1 hash-basedANSI X9.63 KDFCO
SP800-56Crev2 Key Derivation (HKDF)SHA-256 hash-basedHKDF [SP800- 56Crev2]CO
RFC6637 Key DerivationSHA hash basedRFC6637CO
OMAC Message Authentication Code Generation and VerificationOne-Key CBC-MAC using 128-bit keyOMAC (One-Key CBC MAC)CO
Message digest generationMessage digest generation using non-approved algorithmsMD2 MD4 MD5 (except in the TLS 1.0/1.1 context) RIPEMD SHA-3 KeccakCO
Symmetric encryption / decryptionSymmetric encryption / decryption using non- approved algorithmsBlowfish CAST5 DES RC2 RC4CO

Table 50: Non-Approved Services

4.5 External Software/Firmware Loaded

N/A This document may be reproduced and distributed only in its original entirely without revision.

Page 48
5 Software/Firmware Security
5.1 Integrity Techniques

A software integrity test is performed on the runtime image of the module. The HMAC-SHA256 implemented in the module is used as the approved algorithm for the integrity test. If the test fails, the module enters an error state where no cryptographic services are provided, and data output is prohibited i.e. the module is not operational.

5.2 Initiate on Demand

The module’s integrity test can be performed on demand by power-cycling the computing platform. Integrity tests on demand is performed as part of the Pre-Operational Self-Tests. It is automatically executed at power- on. This document may be reproduced and distributed only in its original entirely without revision.

Page 49
6 Operational Environment
6.1 Operational Environment Type and Requirements

Type of Operational Environment: Modifiable

6.2 Configuration Settings and Restrictions

The module is supplied as part of Device OS, a commercially available general-purpose operating system executing on the computing platforms specified in section 2.2. This document may be reproduced and distributed only in its original entirely without revision.

Page 50
7 Physical Security

The FIPS 140-3 physical security requirements do not apply to the Apple corecrypto Module v12.0 [Apple silicon, User, Software, SL1] since it is a software module. This document may be reproduced and distributed only in its original entirely without revision.

Page 51
8 Non-Invasive Security

Per IG 12.A, until the requirements of NIST SP 800-140F are defined, non-invasive mechanisms fall under ISO/IEC 19790:2012 Section 7.12 Mitigation of other attacks. The requirements of this area are not applicable to the module. This document may be reproduced and distributed only in its original entirely without revision.

Page 52
Storage Area NameDescriptionPersistence Type
RAMThe module stores ephemeral SSPs in RAM provided by the operational environment. They are received for use or generated by the module only at the command of the calling application. The operating system protects all SSPs through the memory separation and protection mechanisms. No process other than the module itself can access the SSPs in its process’ memory.Dynamic
NameFromToFormat TypeDistribution TypeEntry TypeSFI or Algorithm
API input parametersOperating calling application (TOEPP)Cryptographic modulePlaintextManualElectronic
API output parametersCryptographic moduleOperating calling application (TOEPP)PlaintextManualElectronic
Zeroization MethodDescriptionRationaleOperator Initiation
Context object destructionSSPs are zeroised when the appropriate context object is destroyedZeroization when structure is deallocatedBy calling the zeroization function cc_clear
Power downSSPs are zeroised when the system is powered downSSPs are zeroised when the system is powered downOperator can initiate power down
9 Sensitive Security Parameters Management
9.1 Storage Areas
9.2 SSP Input-Output Methods

Table 52: SSP Input-Output Methods

9.3 SSP Zeroization Methods

This document may be reproduced and distributed only in its original entirely without revision.

Page 53
Zeroization MethodDescriptionRationaleOperator Initiation
Intermediate value zeroizationIntermediate keygen values are zeroized before the module returns from the key generation function.Intermediate keygen values are zeroized before the module returns from the key generation function.N/A
NameDescriptionSize - Strengt hType - CategoryGenerated ByEstablished ByUsed By
AES keyAES key128 to 256 bits - 128 to 256 bitsSymmetric - CSPUnauthenticate d Symmetric Encryption and Decryption Authenticated Symmetric Encryption and Decryption CMAC Message Authentication
AES key- wrapping keyAES KW128 to 256 bits - 128 to 256 bitssymmetric - CSPKey wrapping/ Key unwrapping
HMAC keyHMAC key8 - 262144 bits - 112 to 256-bitsMAC - CSPHMAC Message Authentication
ECDSA key pairECDSA key pair (including intermediat e keygen values)P-224, P-256, P-384, P-521 - 112 to 256 bitsAsymmetri c - CSPECDSA Asymmetri c Key GenerationECDSA Asymmetric Key Verification ECDSA Digital Signature Generation ECDSA Digital

Table 53: SSP Zeroization Methods Data output interfaces are inhibited while zeroisation is performed.

9.4 SSPs

h This document may be reproduced and distributed only in its original entirely without revision.

Page 54
NameDescriptionSize - Strengt hType - CategoryGenerated ByEstablished ByUsed By Signature Verification
RSA key pairRSA key pair (including intermediat e keygen values)2048 - 4096 - 112 to 150 bitsAsymmetri c - CSPRSA Asymmetri c Key GenerationRSA Digital Signature Generation RSA Digital Signature Verification
Entropy input stringEntropy input string. Obtained from the entropy source, used to seed the DRBG256 bits - 256 bitsEntropy input string - CSPRandom Number Generation
DRBG seed, internal state V value, and keyDRBG input parameters256 bits - 256 bitsDRBG - CSPRandom Number GenerationRandom Number Generation
PBKDF derived keyPBKDF derived key128 to 256 bits - 128 to 256 bitsStorage key - CSPPBKDF Key Derivation
PBKDF passwordPBKDF password64 to 1024 bits - N/APassword - CSPPBKDF Key Derivation
KBKDF key derivatio n keyKBKDF key derivation key128 to 256 bits - 128 to 256 bitsDerivation key - CSPKBKDF Key Derivation with HMAC KBKDF Key

h N/A This document may be reproduced and distributed only in its original entirely without revision.

Page 55
NameDescriptionSize - Strengt hType - CategoryGenerated ByEstablished ByUsed By Derivation with CMAC
KBKDF derived keyKBKDF derived key128 to 256 bits - 128 to 256 bitsDerived key - CSPKBKDF Key Derivation with HMAC KBKDF Key Derivation with CMAC
Diffie- Hellman key pairDiffie- Hellman key pair (including intermediat e keygen values)MODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192 - 112 to 200 bitsAsymmetri c - CSPSafeprime Key GenerationFFC Shared Secret Computation
Diffie- Hellman shared secretDiffie- Hellman shared secretMODP- 2048, MODP- 3072, MODP- 4096, MODP- 6144, MODP- 8192 - 112 to 200 bitsAsymmetri c - CSPFFC Shared Secret Computatio n
EC Diffie Hellman key pairEC Diffie- Hellman key pair (including intermediatP-224, P-256, P-384, P-521 -Asymmetri c - CSPECDSA Asymmetri c Key GenerationECC Shared Secret Computation

h This document may be reproduced and distributed only in its original entirely without revision.

Page 56
NameDescriptionSize - Strengt hType - CategoryGenerated ByEstablished ByUsed By
e keygen values)112- 256 bits
EC Diffie- Hellman shared secretEC Diffie- Hellman shared secretP-224, P-256, P-384, P-521 - 112- 256 bitsAsymmetri c - CSPECC Shared Secret Computatio n
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
AES keyAPI input parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power down
AES key- wrapping keyAPI input parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power down
HMAC keyAPI input parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power down
ECDSA key pairAPI input parameters API output parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power down Intermediate value zeroizationDRBG seed, internal state V value, and key:Used With
RSA key pairAPI input parametersRAM:PlaintextFrom service invocationContext object destruction Power downDRBG seed, internal state V

h Table 54: SSP Table 1 This document may be reproduced and distributed only in its original entirely without revision.

Page 57
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
API output parametersto service completionIntermediate value zeroizationvalue, and key:Used With
Entropy input stringRAM:PlaintextStorage duration during the usage of the CSPPower downDRBG seed, internal state V value, and key:Used With
DRBG seed, internal state V value, and keyRAM:PlaintextStorage duration during the usage of the CSPPower downEntropy input string:Derived From
PBKDF derived keyAPI output parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power downPBKDF password:Derived From
PBKDF passwordAPI input parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power downPBKDF derived key:Used With
KBKDF key derivation keyAPI input parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power downKBKDF derived key:Used With
KBKDF derived keyAPI output parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power downKBKDF key derivation key:Derived From
Diffie- Hellman key pairAPI input parameters API output parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power down Intermediate value zeroizationDiffie-Hellman shared secret:Used With

This document may be reproduced and distributed only in its original entirely without revision.

Page 58
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
Diffie- Hellman shared secretAPI output parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power downDiffie- Hellman key pair:Used With
EC Diffie Hellman key pairAPI input parameters API output parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power down Intermediate value zeroizationEC Diffie-Hellman shared secret:Used With
EC Diffie- Hellman shared secretAPI output parametersRAM:PlaintextFrom service invocation to service completionContext object destruction Power downEC Diffie Hellman key pair:Used With

Table 55: SSP Table 2 This document may be reproduced and distributed only in its original entirely without revision.

Page 59
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetails
HMAC- SHA2-256 (A3486)112-bit keyMessage AuthenticationSW/FW IntegrityModule successful executionThe HMAC-SHA2-256 value calculated at runtime is compared with the HMAC-SHA2- 256 value stored in the module, computed at compilation time.
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
AES-GCM (A3424)128-bit keyKATCASTModule becomes operationalAuthenticated decryption operationTest runs at Power-on before the integrity test
Counter DRBG (A3487)AES 128-bit keyKATCASTModule becomes operationalHealth test per SP800- 90ARev1 section 11.3Test runs at Power-on before the integrity test
HMAC- SHA2-256 (A3426)SHA2-256KATCASTModule becomes operationalMessage authenticationTest runs at Power-on before the integrity test
10 Self-Tests

While the module is executing the self-tests, services are not available, and input and output are inhibited.

10.1 Pre-Operational Self-Tests

The module performs a pre-operational software integrity automatically when the module is loaded into memory (i.e., at power on) before the module transitions to the operational state. A used to perform the approved integrity technique. Prior to using HMAC-SHA-256, a Conditional Cryptographic Algorithm Self-Tests (CAST) is performed. Table 56: Pre-Operational Self-Tests

10.2 Conditional Self-Tests

This document may be reproduced and distributed only in its original entirely without revision.

Page 60
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
HMAC- SHA-1 (A3426)SHA-1KATCASTModule becomes operationalMessage authenticationTest runs at Power-on before the integrity test
HMAC- SHA2-512 (A3426)SHA2-512KATCASTModule becomes operationalMessage authenticationTest runs at Power-on before the integrity test
RSA KeyGen (FIPS186-4) (A3426)SHA2-256 and respective keysPCTPCTSuccessful key generationCalculation and verification of a digital signatureRSA key pair generation.
RSA SigGen (FIPS186-4) (A3426)PKCS#1 v1.5 with 2048 bit key and SHA2- 256KATCASTModule becomes operationalSignature Generation or Key Generation service requestTest runs at Power-on before the integrity test
RSA SigVer (FIPS186-4) (A3426)PKCS#1 v1.5 with 2048 bit key and SHA2- 256KATCASTModule becomes operationalSignature Verification or Key Generation service requestTest runs at Power-on before the integrity test
ECDSA KeyGen (FIPS186-4) (A3426)SHA2-256 and respective keysPCTPCTSuccessful key generationKey generationEC key pair generation.
ECDSA SigGen (FIPS186-4) (A3426)P-224 with SHA-224KATCASTModule becomes operationalSignature Generation or Key Generation service requestTest runs at Power-on before the integrity test
ECDSA SigVer (FIPS186-4) (A3426)P-224 with SHA-224KATCASTModule becomes operationalSignature Verification or Key Generation service requestTest runs at Power-on before the integrity test

This document may be reproduced and distributed only in its original entirely without revision.

Page 61
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
KAS-ECC- SSC Sp800- 56Ar3 (A3426)P-224 curveKATCASTModule becomes operationalShared secret computationTest runs at Power-on before the integrity test
KAS-FFC- SSC Sp800- 56Ar3 (A3426)MODP- 2048KATCASTModule becomes operationalShared secret computationTest runs at Power-on before the integrity test
KDF SP800- 108 (A3426)Counter mode using SHA-1, SHA-256, SHA-512KATCASTModule becomes operationalKey derivationTest runs at Power-on before the integrity test
PBKDF (A3426)SHA-1, SHA-256, SHA-512KATCASTModule becomes operationalKey derivationTest runs at Power-on before the integrity test
Safe Primes Key Generation (A3426)MODP- 2048PCTPCTSuccessful key generationSection 5.6.2.1.4 of SP 800- 56Arev3key gen
AES-CBC (A3423)128-bit keyKATCASTModule becomes operationalEncryption and decryption run separatelyTest runs at Power-on before the integrity test
AES-ECB (A3423)128-bit keyKATCASTModule becomes operationalEncryption and decryption run separatelyTest runs at Power-on before the integrity test
AES-XTS Testing Revision 2.0 (A3483)128-bit keyKATCASTModule becomes operationalEncryptionTest runs at Power-on before the integrity test
AES-CCM (A3424)128-bit keyKATCASTModule becomes operationalAuthenticated encryption andTest runs at Power-on

This document may be reproduced and distributed only in its original entirely without revision.

Page 62
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetails decryption run separatelyConditions before the integrity test
AES-CMAC (A3426)128-bit keyKATCASTModule becomes operationalAuthenticated encryptionTest runs at Power-on before the integrity test
HMAC- SHA2- 512/256 (A3486)SHA2- 512/256KATCASTModule becomes operationalMessage authenticationTest runs at Power-on before the integrity test
NameDescriptionConditionsRecovery MethodIndicator
Error State1) The HMAC-SHA- 256 value computed over the module did not match the pre- computed value or 2) The computed value in the invoked Conditional CAST did not match the known value or 3) The1) Pre- operational Software Integrity Test failure or 2) Conditional CAST failure 3) Conditional PCT failurePower cycle the device which results in the module being reloaded into memory and reperforming the pre- operational software integrity test and the Conditional CASTs.1) Print statement “FAILED: fipspost_post_integrity” to stdout or 2) Print statement “FAILED:<event>” to stdout (<event> refers to any of the cryptographic functions listed Table - Conditional Self-Tests 3) Error code “CCEC_GENERATE_KEY_CONSISTENCY” returned for ECDSA and EC Diffie- Hellman Error code “CCRSA_GENERATE_KEY_CONSISTENCY” returned for RSA Error code “CCDH_GENERATE_KEY_CONSISTENCY” returned for Diffie-Hellman
10.3 Periodic Self-Test Information
10.4 Error States

This document may be reproduced and distributed only in its original entirely without revision.

Page 63

Name

Description signature failed to verify successfully in the Conditional PCT. No cryptographic services are provided, and data output is prohibited

Conditions

Recovery Method

Indicator

10.5 Operator Initiation of Self-Tests

The module permits operators to initiate the pre-operational or conditional self-tests on demand for periodic testing of the module by rebooting the system (i.e., power-cycling). This document may be reproduced and distributed only in its original entirely without revision.

Page 64
11 Life-Cycle Assurance
11.1 Installation, Initialization, and Startup Procedures

Startup Procedures: The module is built into Device OS defined in section 2 and delivered/ installed with the respective Device OS. There is no standalone delivery of the module as a software library. Installation Process and Authentication Mechanisms: The vendor’s internal development process guarantees that the correct version of module goes with its intended Device OS version. For additional assurance, the module is digitally signed by vendor, and it is verified during the integration into Host Device OS. This digital signature-based integrity protection during the delivery/integration process is not to be confused with the HMAC-256 based integrity check performed by the module itself as part of its pre-operational self- tests.

11.2 Administrator Guidance

The Approved mode of operation is configured in the system by default and can only be transitioned into the non-Approved mode by calling one of the non-Approved services listed in Table - Non-Approved Services. If the device starts up successfully, then the module has passed all self-tests and is operating in the Approved mode. The ESV Public Use Document (PUD) reference for physical entropy source is: https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validationprogram/documents/entropy/E14_PublicUse.pdf The ESV Public Use Document (PUD) reference for non-physical entropy source is: https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validationprogram/documents/entropy/E15_PublicUse.pdf Apple Platform Certifications guide [platform certifications] and Apple Platform Security guide [SEC] are provided by Apple which offers IT System Administrators with the necessary technical information to ensure FIPS 140-3 Compliance of the deployed systems. This guide walks the reader through the system’s assertion of cryptographic module integrity and the steps necessary if module integrity requires remediation.

11.3 Non-Administrator Guidance

None This document may be reproduced and distributed only in its original entirely without revision.

Page 65
11.4 Design and Rules

The Crypto Officer shall consider the following requirements and restrictions when using the module.  AES-GCM see section 2.7.  AES-XTS see section 2.7.  PBKDF see section 2.7.

11.6 End of Life

The module secure sanitization is accomplished through the Lost Mode, remote wipe, and remote lock sections of the provided vendor document [platform certifications]. The operator can initiate sanitization. This document may be reproduced and distributed only in its original entirely without revision.

Page 66
12 Mitigation of Other Attacks

The module does not claim mitigation of other attacks. This document may be reproduced and distributed only in its original entirely without revision.

Page 67
Table, extracted as text (did not parse into structured rows)
Appendix A.             Glossary and Abbreviations AES                   Advanced Encryption Standard CAVP                  Cryptographic Algorithm Validation Program API                   Application Programming Interfaces CAST                  Cryptographic Algorithm Self-Test CAST5                 A symmetric-key 64-bit block cipher with 128-bit key CBC                   Cipher Block Chaining CCM                   Counter with Cipher Block Chaining-Message Authentication Code CFB                   Cipher Feedback CMAC                  Cipher-based Message Authentication Code CMVP                  Cryptographic Module Validation Program CSP                   Critical Security Parameter CTR                   Counter Mode DRBG                  Deterministic Random Bit Generator ECB                   Electronic Code Book ESVP                  Entropy Source Validation Program FFC                   Finite Field Cryptography FIPS                  Federal Information Processing Standards Publication GCM                   Galois Counter Mode HMAC                  Hash Message Authentication Code KAS                   Key Agreement Schema KAT                   Known Answer Test KBKDF                 Key Based Key Derivation Function KDF                   Key Derivation Function KW                    AES Key Wrap MAC                   Message Authentication Code NIST                  National Institute of Science and Technology OAEP                  Optimal Asymmetric Encryption Padding OFB                   Output Feedback PAA                   Processor Algorithm Acceleration PBKDF                 Password Based Key Derivation Function PRF                   Pseudo-Random Function PSS                   Probabilistic Signature Scheme PUD                   Public Use Document (ESVP) RSA                   Rivest, Shamir, Addleman SHA                   Secure Hash Algorithm SHS                   Secure Hash Standard SSC                   Shared Secret Computation TOEPP                 Tested Operational Environment Physical Perimeter XTS                   XEX-based Tweaked-codebook mode with cipher text Stealing This document may be reproduced and distributed only in its original entirely without revision.
Page 68
Appendix B.References
FIPS140-3FIPS PUB 140-3 - Security Requirements for Cryptographic Modules March 2019 https://doi.org/10.6028/NIST.FIPS.140-3
SP 800-140xCMVP FIPS 140-3 Related Reference https://csrc.nist.gov/Projects/cryptographic-module-validation-program/fips-140-3- standards
FIPS140-3_IGImplementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program September 2020 https://csrc.nist.gov/Projects/cryptographic-module-validation-program/fips-140-3-ig- announcements
FIPS140-3_MMCMVP FIPS 140-3 Draft Management Manual https://csrc.nist.gov/csrc/media/Projects/cryptographic-module-validation- program/documents/fips%20140-3/FIPS-140-3- CMVP%20Management%20Manual%20v2.0.pdf
SP 800-140FIPS 140-3 Derived Test Requirements (DTR) https://csrc.nist.gov/publications/detail/sp/800-140/final
SP 800-140ACMVP Documentation Requirements https://csrc.nist.gov/publications/detail/sp/800-140a/final
SP 800-140Br1CMVP Security Policy Requirements https://csrc.nist.gov/pubs/sp/800/140/b/r1/final
SP 800-140CCMVP Approved Security Functions https://csrc.nist.gov/publications/detail/sp/800-140c/final
SP 800-140DCMVP Approved Sensitive Security Parameter Generation and Establishment Methods https://csrc.nist.gov/publications/detail/sp/800-140d/final
SP 800-140ECMVP Approved Authentication Mechanisms https://csrc.nist.gov/publications/detail/sp/800-140e/final
SP 800-140FCMVP Approved Non-Invasive Attack Mitigation Test Metrics https://csrc.nist.gov/publications/detail/sp/800-140f/final
FIPS180-4Secure Hash Standard (SHS) March 2012 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
FIPS186-4Digital Signature Standard (DSS) July 2013 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
FIPS197Advanced Encryption Standard November 2001 http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf This document may be reproduced and distributed only in its original entirely without revision.
Page 69
FIPS198-1The Keyed Hash Message Authentication Code (HMAC) July 2008 http://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf
FIPS202SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions August 2015 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
PKCS#1Public Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 February 2003 http://www.ietf.org/rfc/rfc3447.txt
RFC3394Advanced Encryption Standard (AES) Key Wrap Algorithm September 2002 http://www.ietf.org/rfc/rfc3394.txt
RFC5649Advanced Encryption Standard (AES) Key Wrap with Padding Algorithm September 2009 http://www.ietf.org/rfc/rfc5649.txt
RFC9180Hybrid Public Key Encryption February 2022 https://www.ietf.org/rfc/rfc9180.pdf
SP800-38ANIST Special Publication 800-38A - Recommendation for Block Cipher Modes of Operation Methods and Techniques December 2001 http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
SP800-38BNIST Special Publication 800-38B - Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication May 2005 http://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf
SP800-38CNIST Special Publication 800-38C - Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality May 2004 http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38c.pdf
SP800-38DNIST Special Publication 800-38D - Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC November 2007 http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf
SP800-38ENIST Special Publication 800-38E - Recommendation for Block Cipher Modes of Operation: The XTS AES Mode for Confidentiality on Storage Devices January 2010 http://csrc.nist.gov/publications/nistpubs/800-38E/nist-sp-800-38E.pdf
SP800-38FNIST Special Publication 800-38F - Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping December 2012 http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf This document may be reproduced and distributed only in its original entirely without revision.
Page 70
SP800-38GNIST Special Publication 800-38G - Recommendation for Block Cipher Modes of Operation: Methods for Format - Preserving Encryption March 2016 http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38G.pdf
SP800-56Ar3Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography April, 2018 https://doi.org/10.6028/NIST.SP.800-56Ar3
SP800-56Br2Recommendation for Pair-Wise Key Establishment Schemes Using Integer Factorization Cryptography March 2019 https://doi.org/10.6028/NIST.SP.800-56Br2
SP800-56Cr2Recommendation for Key-Derivation Methods in Key-Establishment Schemes August 2020 https://doi.org/10.6028/NIST.SP.800-56Cr2
SP800-57NIST Special Publication 800-57 Part 1 Revision 5 - Recommendation for Key Management Part 1: General May 2020 https://doi.org/10.6028/NIST.SP.800-57pt1r5
SP800-67r2NIST Special Publication 800-67 Revision 1 - Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher January 2012 (withdrawn January 2014) https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-67r2.pdf
SP800-90Ar1NIST Special Publication 800-90A - Revision 1 - Recommendation for Random Number Generation Using Deterministic Random Bit Generators June 2015 http://dx.doi.org/10.6028/NIST.SP.800-90Ar1
SP800-90BNIST Special Publication 800-90B - Recommendation for the Entropy Sources Used for Random Bit Generation January 2018 https://doi.org/10.6028/NIST.SP.800-90B
SP800-108r1NIST Special Publication 800-108 - Recommendation for Key Derivation Using Pseudorandom Functions (Revision 1) https://doi.org/10.6028/NIST.SP.800-108r1
SP800-131Ar2Transitioning the Use of Cryptographic Algorithms and Key Lengths March 2019 https://doi.org/10.6028/NIST.SP.800-131Ar2
SP800-132NIST Special Publication 800-132 - Recommendation for Password-Based Key Derivation - Part 1: Storage Applications December 2010 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf This document may be reproduced and distributed only in its original entirely without revision.
Page 71
SP800-133r2Recommendation for Cryptographic Key Generation June 2020 https://doi.org/10.6028/NIST.SP.800-133r2
SP800-135r1NIST Special Publication 800-135 Revision 1 - Recommendation for Existing Application- Specific Key Derivation Functions December 2011 http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-135r1.pdf
SECApple Platform Security https://support.apple.com/guide/security/welcome/web https://manuals.info.apple.com/MANUALS/1000/MA1902/en_US/apple-platform-security- guide.pdf
platformApple Security Certifications and Compliance Center
certificationshttps://support.apple.com/en-gw/guide/certifications/welcome/web This document may be reproduced and distributed only in its original entirely without revision.