## Google, LLC ##### Integrated Compute Complex (ICC) ## FIPS 140-3 Non-Proprietary Security Policy Public Material - May be reproduced only in its original entirety (without revision). Page 1 of 30 Google, LLC 2025 Document Version 1.0 ## Table of Contents | 1 General ................................................................................................................................... | 5 | |-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------| | 1.1 Overview | .......................................................................................................................... 5 | | 1.2 Security Levels | ................................................................................................................. 5 | | 1.3 Additional Information | ....................................................................................................... 6 | | 2 Cryptographic Module Specification ........................................................................................ | 6 | | 2.1 Description | ....................................................................................................................... 6 | | 2.2 Tested and Vendor Affirmed Module Version | and Identification ........................................ 7 | | 2.3 Excluded Components | ...................................................................................................... 8 | | 2.4 Modes of Operation .......................................................................................................... | 8 | | 2.5 Algorithms | ........................................................................................................................ 9 | | 2.6 Security Function Implementations ..................................................................................10 | | | 2.7 Algorithm Specific Information | .........................................................................................11 | | 2.8 RBG and Entropy ............................................................................................................12 | | | 2.9 Key Generation................................................................................................................12 | | | 2.10 Key Establishment | .........................................................................................................12 | | 2.11 Industry Protocols | ..........................................................................................................13 | | 3 Cryptographic Module Interfaces............................................................................................13 | | | 3.1 Ports and Interfaces | ........................................................................................................13 | | 4 Roles, Services, and Authentication .......................................................................................13 | | | 4.1 Authentication Methods | ...................................................................................................13 | | 4.2 Roles | ...............................................................................................................................13 | | 4.3 Approved Services | ..........................................................................................................14 | | 4.4 Non-Approved Services ...................................................................................................21 | | | 4.5 External Software/Firmware Loaded ................................................................................21 | | | 4.6 Bypass Actions and Status | ..............................................................................................21 | | 4.7 Cryptographic Output Actions and Status | ........................................................................21 | | 5 Software/Firmware Security | ...................................................................................................21 | | 5.1 Integrity Techniques | ........................................................................................................21 | | 5.2 Initiate on Demand | ..........................................................................................................21 | | 6 Operational Environment........................................................................................................21 | | | 6.1 Operational Environment Type and Requirements | ..........................................................21 | | 6.2 Configuration Settings and Restrictions | ...........................................................................22 | | 7 Physical Security ....................................................................................................................22 | | | 7.1 Mechanisms and Actions Required..................................................................................22 | | Page 2 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). 8 Non-Invasive Security ............................................................................................................22 8.1 Mitigation Techniques ......................................................................................................22 9 Sensitive Security Parameters Management ..........................................................................22 9.1 Storage Areas .................................................................................................................22 9.2 SSP Input-Output Methods ..............................................................................................23 9.3 SSP Zeroization Methods ................................................................................................23 9.4 SSPs ...............................................................................................................................23 10 Self-Tests .............................................................................................................................25 10.1 Pre-Operational Self-Tests ............................................................................................25 10.2 Conditional Self-Tests ....................................................................................................26 10.3 Periodic Self-Test Information ........................................................................................28 10.4 Error States ...................................................................................................................29 10.5 Operator Initiation of Self-Tests .....................................................................................29 11 Life-Cycle Assurance ...........................................................................................................29 11.1 Installation, Initialization, and Startup Procedures ..........................................................29 11.2 Administrator Guidance .................................................................................................29 11.3 Non-Administrator Guidance ..........................................................................................30 11.4 Maintenance Requirements ...........................................................................................30 11.5 End of Life .....................................................................................................................30 12 Mitigation of Other Attacks ...................................................................................................30 12.1 Attack List ......................................................................................................................30 Page 3 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### List of Tables Table 1: Security Levels ............................................................................................................. 6 Table 2: Tested Module Identification - Software, Firmware, Hybrid (Executable Code Sets) .... 8 Table 3: Tested Operational Environments - Software, Firmware, Hybrid .................................. 8 Table 4: Modes List and Description .......................................................................................... 8 Table 5: Approved Algorithms ...................................................................................................10 Table 6: Vendor-Affirmed Algorithms ........................................................................................10 Table 7: Security Function Implementations ..............................................................................11 Table 8: Entropy Certificates .....................................................................................................12 Table 9: Entropy Sources ..........................................................................................................12 Table 10: Ports and Interfaces ..................................................................................................13 Table 11: Roles .........................................................................................................................13 Table 12: Approved Services ....................................................................................................20 Table 13: Mechanisms and Actions Required ...........................................................................22 Table 14: Storage Areas ...........................................................................................................22 Table 15: SSP Input-Output Methods ........................................................................................23 Table 16: SSP Zeroization Methods ..........................................................................................23 Table 17: SSP Table 1 ..............................................................................................................25 Table 18: SSP Table 2 ..............................................................................................................25 Table 19: Pre-Operational Self-Tests ........................................................................................25 Table 20: Conditional Self-Tests ...............................................................................................27 Table 21: Pre-Operational Periodic Information .........................................................................28 Table 22: Conditional Periodic Information ................................................................................28 Table 23: Error States ...............................................................................................................29 ### List of Figures Figure 1: Block Diagram ............................................................................................................. 7 Public Material - May be reproduced only in its original entirety (without revision). Page 4 of 30 Google, LLC 2025 Document Version 1.0 ## 1 General ### 1.1 Overview ####### Introduction Federal Information Processing Standards Publication 140-3 - Security Requirements for Cryptographic Modules specifies requirements for cryptographic modules to be deployed in a Sensitive but Unclassified environment. The National Institute of Standards and Technology (NIST) and Canadian Centre for Cyber Security (CCCS) Cryptographic Module Validation Program (CMVP) run the FIPS 140-3 program. NVLAP accredits independent testing labs to perform FIPS 140-3 testing; the CMVP validates modules meeting FIPS 140-3 validation. Validated is the term given to a module that is documented and tested against the FIPS 140-3 criteria. More information is also available on the CMVP website at: http://csrc.nist.gov/groups/STM/cmvp/index.html ####### About this Document This non-proprietary Cryptographic Module Security Policy for Integrated Compute Complex (ICC) from Google, LLC. provides an overview of the product and a high-level description of how it meets the overall Level 1 security requirements of FIPS 140-3. The Integrated Compute Complex (ICC) also be referred to as 'I C C' or the 'module' in this document. ####### Disclaimer The contents of this document are subject to revision without notice due to continued progress in methodology, design, and manufacturing. Google, LLC. shall have no liability for any error or damages of any kind resulting from the use of this document. ####### Notices This document may be freely reproduced and distributed in its entirety without modification. ### 1.2 Security Levels | Section | Title | Security Level | |-----------|-----------------------------------------|------------------| | 1 | General | 1 | | 2 | Cryptographic module specification | 1 | | 3 | Cryptographic module interfaces | 1 | | 4 | Roles, services, and authentication | 1 | | 5 | Software/Firmware security | 1 | | 6 | Operational environment | 1 | | 7 | Physical security | 1 | | 8 | Non-invasive security | N/A | | 9 | Sensitive security parameter management | 1 | | 10 | Self-tests | 1 | | 11 | Life-cycle assurance | 1 | Page 5 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Section | Title | Security Level | |-----------|-----------------------------|------------------| | 12 | Mitigation of other attacks | N/A | | | Overall Level | 1 | Table 1: Security Levels ### 1.3 Additional Information The module claims an overall Security Level of 1 with all individual sections at a Security Level 1. The module does not implement any non-invasive security mitigations or mitigations of other attacks and thus the requirements per these sections are inapplicable. ## 2 Cryptographic Module Specification ### 2.1 Description ###### Purpose and Use: The module's primary role is to generate, maintain, control, and manage the Critical Security Parameters (CSPs) and keys required for the operation of other cryptographic services within the IN763 A0 SoC. In particular, the module: - Is bound to and Implements a (logical) interface to the B227 True Random Number Generator (TRNG) Cryptographic Module (hardware version: 3.00b; FIPS 140-3 Cert. #5434) which serves as the trusted source of entropy, which can be used as the basis for generation of SSPs by the ICC module. - Implements an instance of a firmware -based Deterministic Random Bit Generator, seeded by the above entropy source, to generate cryptographic keys in support of the PSP Security Protocol (PSP) and ICE Secure Association Database (SADB). Note: The module itself does not support these protocols. - Performs a firmware integrity/load test for the Lookaside Compression and Cryptographic Engine (LCE) (a subsystem within the IN763 SoC). - Maintains access control to Critical Security Parameters (CSPs) which are isolated to secure memory locations. - Implements basic board- and processor-specific control and maintenance functions, such as "start CPU". Module Type : Firmware Module Embodiment : Single Chip Cryptographic Boundary: Page 6 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). The Integrated Compute Complex (ICC) is a firmware module within a single chip embodiment. The ICC Secure Firmware executes on two ARM Cortex A53 management processors within the Integrated Compute Complex (ICC) hardware block of the IN763 System-on-a-Chip (SoC). The Google IN763 SoC contains the Host Management Processor (HMP) consisting of the two ARMA53 CPUs on which the module's firmware executes, Local Secure Memory (LSM), System Controller (SYSCON), eFUSE Controller Module (ECM), and the Network Management Fabric and Coherency Mesh Network connecting these components and other subsystems. The components within the IN763 SoC are interconnected via an AMBA1 on-chip system bus. The module does not contain any persistent storage. The ICC Secure Firmware is comprised of a single binary image. The firmware is a selfcontained binary image (executable code and data) implemented as part of the ARM Trusted Firmware-A ("ATF") environment and system. It is a "Secure Payload", packaged as a "BL32" binary, and running in the ARM Secure EL1 execution state. It resides in part of the SoC's Local Secure Memory ("LSM"), in a region of LSM which is configured for "secure access only" and cannot be read or written or reconfigured by the Linux kernel or by applications. The module has its own (CPU-specific) stack space in this LSM region. ###### Tested Operational Environment's Physical Perimeter (TOEPP): The Tested Operational Environment's Physical Perimeter (TOEPP) is the IN763 SoC. Figure 1: Block Diagram ### 2.2 Tested and Vendor Affirmed Module Version and Identification ###### Tested Module Identification - Software, Firmware, Hybrid (Executable Code Sets): Page 7 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). Table 2: Tested Module Identification - Software, Firmware, Hybrid (Executable Code Sets) | Package or File Name | Software/ Firmware Version | Features | Integrity Test | |------------------------|------------------------------|------------|-----------------------| | ICC Secure Firmware | 2.10.0 | N/A | AES-CMAC Verification | ###### Tested Operational Environments - Software, Firmware, Hybrid: | Operating System | Hardware Platform | Processors | PAA/PAI | Hypervisor or Host OS | Version(s) | |--------------------|---------------------|------------------------|-----------|-------------------------|--------------| | N/A | IN763 SoC A0 | ARM Cortex-A53 (ARMv8) | No | N/A | 2.10.0 | ###### Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid: The module does not support any vendor-affirmed operational environments. ### 2.3 Excluded Components No components have been excluded from the cryptographic boundary of the module. ### 2.4 Modes of Operation ###### Modes List and Description: Table 4: Modes List and Description | Mode Name | Description | Types of Services | Status Indicator | |---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|---------------------------------------------------------------------------| | Approved Mode | No configuration of the module or installation steps are required from the operator; When the module is powered on its self-tests are executed without any operator intervention; The module enters the Approved mode of operation automatically if the self-tests at boot complete successfully | Approved | "Notice: GSP: crypto self-test passed" and "Notice: PSP: activating" logs | ###### Mode Change Instructions and Status: The module only supports one Approved mode of operation where only approved cryptographic functions and services are available. ###### Degraded Mode Description: The module does not support a degraded mode of operation. Page 8 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### 2.5 Algorithms ###### Approved Algorithms: | Algorithm | CAVP Cert | Properties | Reference | |-------------------------------------------------------------------|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------| | AES-CMAC | A7381 | Direction - Generation Key Length - 128, 192, 256 MAC Length - MAC Length: 128 Message Length - Message Length: 8- 1024 Increment 8 | SP 800-38B | | AES-ECB | A2932 | Direction - Encrypt Key Length - 128, 256 | SP 800-38A | | AES-ECB | A7381 | Direction - Encrypt Key Length - 128, 192, 256 | SP 800-38A | | Conditioning Component Block Cipher Derivation Function SP800-90B | A2932 | Key Length - 128 Payload Length - Payload Length: 512 | SP 800-90B | | Counter DRBG | A2721 | Prediction Resistance - No, Yes Supports Reseed - Yes Mode - AES-128, AES-256 Derivation Function Enabled - No Additional Input - Additional Input: 0-256 Increment 8, Additional Input: 0-384 Increment 8 Entropy Input - Entropy Input: 256, Entropy Input: 384 Nonce - Nonce: 0 Personalization String Length - Personalization String Length: 0-256 Increment 8, Personalization String Length: 0-384 Increment 8 Returned Bits - 128, 512 | SP 800-90A Rev. 1 | | Counter DRBG | A7381 | Prediction Resistance - No Supports Reseed - No Mode - AES-256 Derivation Function Enabled - No Additional Input - Additional Input: 0-256 Increment 8 Entropy Input - Entropy Input: 384 Nonce - Nonce: 0 Personalization String Length - Personalization String Length: 0-256 Increment 8 Returned Bits - 512 | SP 800-90A Rev. 1 | Page 9 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Algorithm | CAVP Cert | Properties | Reference | |---------------|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------| | KDF SP800-108 | A7381 | KDF Mode - Counter MAC Mode - CMAC-AES256 Supported Lengths - Supported Lengths: 128, 256 Fixed Data Order - Before Fixed Data Counter Length - 32 Supports Empty IV - No Custom Key In Length - 0 | SP 800-108 Rev. 1 | | SHA2-256 | A7381 | Message Length - Message Length: 0- 16384 Increment 8 | FIPS 180-4 | Table 5: Approved Algorithms ###### Vendor-Affirmed Algorithms: | Name | Properties | Implementation | Reference | |-----------------|--------------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | CKG - Section 4 | Key Type:Symmetric | N/A | NIST SP 800-133r2 Section 4 option 1 Using the Output of a Random Bit Generator; NIST SP 800-133r2 Section 6.1 The "Direct Generation" of Symmetric Keys; NIST SP 800-133r2 Section 6.2.2 Symmetric Keys Derived from a Pre-existing Key | Table 6: Vendor-Affirmed Algorithms ###### Non-Approved, Allowed Algorithms: The module does not support any Non-Approved, Allowed Algorithms. ###### Non-Approved, Allowed Algorithms with No Security Claimed: The module does not support any Non-Approved, Allowed Algorithms with no Security claimed. ###### Non-Approved, Not Allowed Algorithms: The module does not support any Non-Approved, Not Allowed Algorithms. ### Security Function Implementations Public Material - May be reproduced only in its original entirety (without revision). Page 10 of 30 Google, LLC 2025 Document Version 1.0 Table 7: Security Function Implementations | Name | Type | Description | Properties | Algorithms | |--------------------------|---------------|------------------------------------------------------------------------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | FW Integrity Check | BC- Auth | Used for the firmware integrity test | | AES-CMAC: (A7381) | | Encryption | BC- UnAuth | Used to encrypt SADB and PSP traffic | | AES-ECB: (A7381) | | Hashing | SHA | Message digest generation | | SHA2-256: (A7381) | | Random Number Generation | CKG DRBG | Generation of random bits and SSP generation | | Counter DRBG: (A7381) CKG - Section 4: () Key Type: Symmetric | | Key Derivation | CKG KBKDF | Used to derive per-SPI PSP Session keys | | KDF SP800-108: (A7381) AES-CMAC: (A7381) CKG - Section 4: () Key Type: Symmetric | | Entropy Source | DRBG ENT- ESV | [EVM] Random bits provided as entropy input from the bound B227 module | | Counter DRBG: (A2721) Prediction Resistance: Yes, No Supports Reseed: Yes Mode: AES-128, AES-256 Derivation Function Enabled : No Additional Input: 0-256 Increment 8 (AES-128), 0- 384 Increment 8 (AES-256) Entropy Input: 256 (AES- 128), 384 (AES-256) Nonce: 0 Personalization String Length: 0-256 Increment 8 (AES-128), 0-384 Increment 8 (AES-256) Returned Bits: 128 (AES- 128), 512 (AES-256) Conditioning Component Block Cipher Derivation Function SP800-90B: (A2932) Key Length: 128 bits Payload Length: 512 bits AES-ECB: (A2932) Direction: 128 Payload Length: 128, 256 | ### 2.7 Algorithm Specific Information Page 11 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). IG D.H CKG is supported for the following sections per NIST SP 800-133r2 as documented in the Security Policy Section 2.1, Vendor Affirmed Algorithms Table: Sections 4, 6.1 and 6.2.2. Post processing is not performed and thus IG D.I is inapplicable. IG D.L Per the IG, the Entropy Input, DRBG Seed and Counter DRBG State values - V and Key have been defined as CSPs. Per Additional Requirement #2. in the IG, the module has been tested without a derivation function and the ESV Cert. #E137 indicates that the entropy source provides full entropy to the module. IG D.M In accordance with IG D.M, the SP 800-108 KDF is used only for generation of symmetric keys. ### 2.8 RBG and Entropy Table 8: Entropy Certificates | Cert Number | Vendor Name | |---------------|---------------| | E137 | Google, LLC | | Name | Type | Operational Environment | Sample Size | Entropy per Sample | Conditioning Component | |---------------------|----------|---------------------------|---------------|-------------------------|--------------------------| | TRNG Entropy Source | Physical | IN763 SoC A0 IMC | 128 bits | 128 bits (full entropy) | BlockCipher_DF (A2932) | Table 9: Entropy Sources The module is a firmware module which includes one approved NIST SP 800-90Ar1 DRBG. The ICC Secure Firmware DRBG is seeded with 384 bits . The module's entropy source is consistent with Scenario 1 (b) described in FIPS 140-3 IG 9.3.A. The ICC module is bound to the B227 True Random Number Generator (TRNG) Cryptographic Module (hardware version: 3.00b; FIPS 140-3 Cert. 5434) which serves as the trusted source of entropy. The ICC DBRG is seeded using the B227 DRBG output with 384-bits of entropy (full entropy per bit) and the module generates SSPs of maximum size of 256 bits. ### 2.9 Key Generation The module generates symmetric keys in accordance with IG D.H and SP 800-133rev2, Section 4 option 1, Section 6.1 and Section 6.2.2. ### 2.10 Key Establishment The module does not support key establishment. Page 12 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### 2.11 Industry Protocols The module does not support any industry protocols. ## 3 Cryptographic Module Interfaces ### 3.1 Ports and Interfaces Table 10: Ports and Interfaces | Physical Port | Logical Interface(s) | Data That Passes | |-----------------|------------------------|----------------------------------------------------------------------------------------------------------------------| | N/A | Data Input | Secure EL1 command parameters; Fast Secure Monitor API parameters ; Google service request API parameters | | N/A | Data Output | Secure EL1 return data ; Fast Secure Monitor API return data; Google service request API return data | | N/A | Control Input | Secure EL1 commands; Fast Secure Monitor API commands; Google service request API commands, reset signal | | N/A | Status Output | Secure EL1 command response codes; Fast Secure Monitor API response codes; Google service request API response codes | | N/A | Power | Provides power to the module | The module does not support control output. ## 4 Roles, Services, and Authentication ### 4.1 Authentication Methods N/A for this module. The module does not support operator authentication; assumption of the Crypto Officer (CO) role is implicit based on the selected service(s). The CO role has access to all module services, and the module does not supper a User/Maintenance role. ### 4.2 Roles Table 11: Roles | Name | Type | Operator Type | Authentication Methods | |--------|--------|-----------------|--------------------------| | CO | Role | Crypto Officer | None | Page 13 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). The module does not allow concurrent operators. The Crypto Officer role is implicitly assumed by the entity accessing services implemented by the module. ### 4.3 Approved Services | Name | Descripti on | Indicato r | Inputs | Outputs | Security Functio ns | SSP Access | |--------------------|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|------------------------------------------|-----------------------|-------------------------| | Initialize | Module and PSP functions including generate PSP Master Key | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | N/A | Status (success/fail ure of self- tests) | Key Derivatio n | CO - Master PSP Keys: W | | Perform self-tests | Executed automatic ally when powered on | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi | Reset | Status (success/fail ure of self- tests) | None | CO | Page 14 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Name | Descripti on | Indicato r | Inputs | Outputs | Security Functio ns | SSP Access | |--------------|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------------------------------------------------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| | | | on of the service | | | | | | Show status | Status retrieved from the module | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | N/A | Status (Approved mode indicator/err or indicator) | None | CO | | Zeroizatio n | A module reset zeroises all SSPs | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | Reset | N/A | None | CO - Entropy Input String: Z - DRBG Seed: Z - DRBG V : Z - DRBG Key: Z - Master PSP Keys: Z - Security Associati on Databas e (SADB) Protectio n keys: Z - PSP | Page 15 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Name | Descripti on | Indicato r | Inputs | Outputs | Security Functio ns | SSP Access | |-------------------------------------------------------------------------|-----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|---------------------------------------------------------------|-----------------------|-----------------| | | | | | | | Session Keys: Z | | CPU state managem ent | CPU managem ent instruction (start CPU) | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | start CPU | CPU state | None | CO | | Get informatio n (Show Version / Show module's versioning informatio n) | Print buffer, command buffer | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | Get command | Module's firmware version (2.10.0), module identifier ("imc") | None | CO | | Print buffer | Start, stop functions | Approve d mode indicator | Start/stop functions/comma nds | N/A | None | CO | Page 16 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Name | Descripti on | Indicato r | Inputs | Outputs | Security Functio ns | SSP Access | |------------------------|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|---------------|-----------------------|--------------| | managem ent | | ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | | | | | | Submit request data | Input of request data | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | Request data | N/A | None | CO | | Retrieve response data | Retrieval of response data | Approve d mode indicator ("Notice: GSP: crypto self-test passed" | N/A | Response data | None | CO | Page 17 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Name | Descripti on | Indicato r | Inputs | Outputs | Security Functio ns | SSP Access | |-----------------------------|------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|---------------------|---------------------------|-----------------------------------------------------------------------------------------------------| | | | and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | | | | | | Generate New PSP Master Key | To generate a new PSP Master Key (Post- initializatio n) a.k.a. "Rotate key generation " | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | Key rotation/new key generation request via module API | Newly generated key | Random Number Generati on | CO - Master PSP Keys: W - Entropy Input String: W,E - DRBG Seed: G,E - DRBG V : G,E - DRBG Key: G,E | | Derive PSP Keys | To derive PSP Session Keys | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) | Master PSP Key | PSP Session Key | Key Derivatio n | CO - PSP Session Keys: G - Master PSP Keys: G,E | Page 18 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Name | Descripti on | Indicato r | Inputs | Outputs | Security Functio ns | SSP Access | |----------------------------------|------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|--------------------------------------------|------------------------------------------|--------------------------------------------------------------------------------| | | | combine d with successf ul completi on of the service | | | | | | Generate DRBG output | Random bit generation | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | Request for random bits | Random bits generated | Random Number Generati on Entropy Source | CO - DRBG Seed: G,E - DRBG Key: G,E - DRBG V : G,E - Entropy Input String: R,E | | Perform Firmware Load Test (LCE) | Firmware load/integr ity test performed by the ICC module for the LCE module | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi | N/A | Status (success/fail ure of the self-test) | FW Integrity Check | CO | Page 19 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). Table 12: Approved Services | Name | Descripti on | Indicato r | Inputs | Outputs | Security Functio ns | SSP Access | |------------|-----------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|------------|-----------------------|---------------------------------------------------------------------------------------| | | | on of the service | | | | | | Encryption | Used to encrypt SADB and PSP traffic | Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the | Plaintext | Ciphertext | Encrypti on | CO - Security Associati on Databas e (SADB) Protectio n keys: E - PSP Session Keys: E | | Hashing | Used to generate a hash of the input provided | service Approve d mode indicator ("Notice: GSP: crypto self-test passed" and "Notice: PSP: activatin g" logs) combine d with successf ul completi on of the service | Plaintext message | Hash | Hashing | CO | Page 20 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). The module provides the aforementioned Approved services which utilize algorithms. The module's firmware provides APIs operating at three levels . Requests for execution come in at higher levels and are translated into lower-level service calls: - Secure EL1 (Lowest level) - Fast Secure Monitor (Mid -level) - Google service requests (Mid - and High-Level) ### 4.4 Non-Approved Services The module does not support any Non-Approved Services. ### 4.5 External Software/Firmware Loaded The module does not support loading any firmware. ### 4.6 Bypass Actions and Status The module does not support a bypass capability. ### 4.7 Cryptographic Output Actions and Status The module does not support a self-initiated cryptographic output capability. ## 5 Software/Firmware Security ### 5.1 Integrity Techniques The module implements an AES-CMAC (256 bits) verification as the approved integrity mechanism. The AES-CMAC authentication key (a non-SSP) is stored within the module binary. On each boot/reset, the module generates afresh an AES-CMAC i.e. a 256-bit MAC value which is then compared to a known, stored value within the module. If the two values match the module successfully operates in the Approved mode, else returns an error indicator and fails its initialization. ### 5.2 Initiate on Demand The firmware integrity test can be executed on demand by rebooting the module. ## 6 Operational Environment ### 6.1 Operational Environment Type and Requirements Type of Operational Environment : Non-Modifiable Page 21 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ###### How Requirements are Satisfied : The module is a firmware module residing within the IN763 SoC. The procurement, build, and configuration procedures are controlled by the manufacturer. Therefore, the operational environment is considered non-modifiable. ### 6.2 Configuration Settings and Restrictions Additional restrictions do not apply. ## 7 Physical Security ### 7.1 Mechanisms and Actions Required | Mechanism | Inspection Frequency | Inspection Guidance | |-----------------------------------------------|------------------------|-----------------------| | Standard passivation applied on the IN763 SoC | None | None | The ICC is a firmware module implemented as part of the IN763 SoC, which is the physical perimeter. The IN763 SoC is a single chip with a production grade IC packaging and hence conforms to the Level 1 requirements for physical security. ## 8 Non-Invasive Security ### 8.1 Mitigation Techniques The module does not support any non-invasive attack mitigations. ## 9 Sensitive Security Parameters Management ### 9.1 Storage Areas Table 14: Storage Areas | Storage Area Name | Description | Persistence Type | |---------------------|----------------------------------------|--------------------| | LSM | Ephemeral storage of SSPs in plaintext | Dynamic | All SSPs are stored in the LSM/hardware registers in the TOEPP i.e., the IN763 SoC and are zeroised upon power cycle or after having been written to the calling application or subsystem internal to the IN763 SoC. The module does not maintain any persistent SSP storage. Page 22 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### 9.2 SSP Input-Output Methods Table 15: SSP Input-Output Methods | Name | From | To | Format Type | Distribution Type | Entry Type | SFI or Algorithm | |---------------|-------------------------|-----------------|---------------|---------------------|--------------|--------------------| | Entropy Input | B227 TRNG | LSM | Plaintext | Manual | Electronic | | | Output - 1 | LSM | External entity | Plaintext | Manual | Electronic | | | Output - 2 | Random Number Generator | External entity | Plaintext | Manual | Electronic | | ### 9.3 SSP Zeroization Methods Table 16: SSP Zeroization Methods | Zeroization Method | Description | Rationale | Operator Initiation | |-------------------------------------------------------------|--------------------------------------------------------------|--------------------------------------------------------------|-----------------------| | Zeroised on reset | SSPs stored ephemerally are zeroised on resetting the module | SSPs stored ephemerally are zeroised on resetting the module | Operator Initiated | | Zeroised after writing to the calling application/subsystem | Automatic zeroisation per the module design | Temporarily stored SSPs are zeroised once no longer used | Module Initiated | ### 9.4 SSPs | Name | Description | Size - Strength | Type - Category | Generated By | Established By | Used By | |----------------------|-------------------------------------------------------------------------------------------------------------------------|---------------------|---------------------|----------------|------------------|--------------------------| | Entropy Input String | Entropy Input provided by the B227 entropy source to the module; Defined as a CSP per IG D.L Resolution 3. for CTR_DRBG | 384 bits - 256-bits | Entropy input - CSP | | | Random Number Generation | Page 23 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). | Name | Description | Size - Strength | Type - Category | Generated By | Established By | Used By | |------------------------------------------------------|-----------------------------------------------------------------------------------------------------|-------------------------------|------------------------------|--------------------------|------------------|--------------------------| | DRBG Seed | Seed provided to the NIST SP 800-90Ar1 DRBG; Defined as a CSP per IG D.L Resolution 3. for CTR_DRBG | 384-bits - 256- bits | DRBG Seed - CSP | Entropy Source | | Random Number Generation | | DRBG V | NIST SP 800-90Ar1 DRBG State V value; Defined as a CSP per IG D.L Resolution 3. for CTR_DRBG | 128-bits - 128- bits | Internal state of DRBG - CSP | Random Number Generation | | Random Number Generation | | DRBG Key | NIST SP 800-90Ar1 DRBG Key value; Defined as a CSP per IG D.L Resolution 3. for CTR_DRBG | 256-bits - 256- bits | Internal state of DRBG - CSP | Random Number Generation | | Random Number Generation | | Master PSP Keys | Used to derive per- SPI PSP Session keys | 256-bit - 256-bits | Symmetric Key - CSP | Random Number Generation | | Key Derivation | | Security Association Database (SADB) Protection keys | Used to encrypt SADB | 256-bit - 256-bits | Symmetric Key - CSP | Random Number Generation | | Encryption | | PSP Session Keys | Used to encrypt PSP traffic | 128, 256 bits - 128, 256 bits | Symmetric Key - CSP | Key Derivation | | Encryption | Page 24 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). Table 17: SSP Table 1 | Name | Input - Output | Storage | Storage Duration | Zeroization | Related SSPs | |------------------------------------------------------|------------------|---------------|---------------------------|-------------------------------------------------------------------------------|-------------------------------------------| | Entropy Input String | Entropy Input | LSM:Plaintext | Until reset | Zeroised on reset | DRBG Seed:Used to derive | | DRBG Seed | | LSM:Plaintext | Until reset | Zeroised on reset | Entropy Input String:Derived From | | DRBG V | | LSM:Plaintext | Until reset | Zeroised on reset | DRBG Seed:Derived From DRBG Key:Used With | | DRBG Key | | LSM:Plaintext | Until reset | Zeroised on reset | DRBG Seed:Derived From DRBG V :Used With | | Master PSP Keys | Output - 1 | LSM:Plaintext | Until reset | Zeroised on reset | PSP Session Keys:Used to derive | | Security Association Database (SADB) Protection keys | Output - 2 | LSM:Plaintext | Until reset, until in use | Zeroised on reset Zeroised after writing to the calling application/subsystem | | | PSP Session Keys | Output - 1 | LSM:Plaintext | Until reset, until in use | Zeroised on reset Zeroised after writing to the calling application/subsystem | Master PSP Keys:Derived From | Table 18: SSP Table 2 Per IG 9.5.A, the module supports MD/EE. ## 10 Self-Tests ### 10.1 Pre-Operational Self-Tests Table 19: Pre-Operational Self-Tests | Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | |-----------------------|-------------------|---------------|-----------------|----------------------------------------|------------| | AES-CMAC Verification | 256 bits | KAT | SW/FW Integrity | "Notice: GSP: crypto self-test passed" | MAC Verify | Page 25 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### 10.2 Conditional Self-Tests | Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | Conditions | |-------------------------------------------------------|----------------------|-------------------------------------------------|-------------|----------------------------------------|-----------------------------------------|--------------| | AES-ECB (A7381) - 128 bits | Key Length: 128 bits | KAT | CAST | "Notice: GSP: crypto self-test passed" | Encrypt | On boot | | AES-ECB (A7381) - 192 bits | Key Length: 192 bits | KAT | CAST | "Notice: GSP: crypto self-test passed" | Encrypt | On boot | | AES-ECB (A7381) - 256 bits | Key Length: 256 bits | KAT | CAST | "Notice: GSP: crypto self-test passed" | Encrypt | On boot | | AES-CMAC (A7381) | Key Length: 128 bits | KAT | CAST | "Notice: GSP: crypto self-test passed" | Generation | On boot | | SHA2-256 (A7381) | 256 bits | KAT | CAST | "Notice: GSP: crypto self-test passed" | Hash | On boot | | Counter DRBG (A7381) | AES CTR (256 bits) | KAT | CAST | "Notice: GSP: crypto self-test passed" | Generate, Reseed, Instantiate functions | On boot | | Counter DRBG (A2721) | AES CTR (256 bits) | KAT | CAST | "Notice: GSP: crypto self-test passed" | Generate, Reseed, Instantiate functions | On boot | | LCE Firmware Integrity/Load Test (AES- CMAC 256- bit) | Key Length: 256 bits | Firmware Integrity/Load Test for the LCE module | SW/FW Load | "Notice: GSP: crypto self-test passed" | MAC generation | On boot | Page 26 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). Table 20: Conditional Self-Tests | Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | Conditions | |------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|-------------------------|-------------|----------------------------------------|--------------|--------------| | B227 Adaptive Proportion Test (ESV Cert. E137) | Sample size: 1 bit; Min- Entropy: H=50%; Cutoff Value: C=793; Window size: w=1024; False positive error rate: Alpha = 2^- 20 | SP 800-90B Health Tests | CAST | "Notice: GSP: crypto self-test passed" | [EVM] | On boot | | B227 Repetition Count Test (ESV Cert. E137) | Sample size: 1 bit; Min- Entropy: H=50%; Cutoff Value: C=41; False positive error rate: Alpha = 2^- 20 | SP 800-90B Health Tests | CAST | "Notice: GSP: crypto self-test passed" | [EVM] | On boot | | KDF SP800- 108 (A7381) | Mode: Counter, PRF: CMAC- AES256 | KAT | CAST | "Notice: GSP: crypto self-test passed" | Counter Mode | On boot | In the event that any of the above conditional tests fail except for the NIST SP 800-90B Health Tests, the cryptographic module will be halted, and data output will be inhibited, with the exception of the LCE Firmware Integrity Test / Firmware Load Test. In this case, the test is performed on behalf of the LCE module. Upon failure, the ICC module will reject the LCE firmware and the LCE module will remain in an uninitialized state. However, the ICC module will resume its operations. Failure of a NIST SP 800-90B Health Test causes the entropy source (within the bound B227 module) to raise an alarm and zeroise itself. The ICC module is unaffected in that it does not enter an error state itself but cannot generate any SSPs until entropy is provided to it. Page 27 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### 10.3 Periodic Self-Test Information | Algorithm or Test | Test Method | Test Type | Period | Periodic Method | |-----------------------|---------------|-----------------|-----------|------------------------| | AES-CMAC Verification | KAT | SW/FW Integrity | On Demand | Manually, via a reboot | Table 21: Pre-Operational Periodic Information Table 22: Conditional Periodic Information | Algorithm or Test | Test Method | Test Type | Period | Periodic Method | |------------------------------------------------------|-------------------------------------------------|-------------|-----------|----------------------------------| | AES-ECB (A7381) - 128 bits | KAT | CAST | On Demand | Manually by reloading the module | | AES-ECB (A7381) - 192 bits | KAT | CAST | On Demand | Manually by reloading the module | | AES-ECB (A7381) - 256 bits | KAT | CAST | On Demand | Manually by reloading the module | | AES-CMAC (A7381) | KAT | CAST | On Demand | Manually by reloading the module | | SHA2-256 (A7381) | KAT | CAST | On Demand | Manually by reloading the module | | Counter DRBG (A7381) | KAT | CAST | On Demand | Manually by reloading the module | | Counter DRBG (A2721) | KAT | CAST | On Demand | Manually by reloading the module | | LCE Firmware Integrity/Load Test (AES- CMAC 256-bit) | Firmware Integrity/Load Test for the LCE module | SW/FW Load | On Demand | Manually by reloading the module | | B227 Adaptive Proportion Test (ESV Cert. E137) | SP 800-90B Health Tests | CAST | On Demand | Manually by reloading the module | | B227 Repetition Count Test (ESV Cert. E137) | SP 800-90B Health Tests | CAST | On Demand | Manually by reloading the module | | KDF SP800-108 (A7381) | KAT | CAST | On Demand | Manually by reloading the module | Page 28 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### 10.4 Error States Table 23: Error States | Name | Description | Conditions | Recovery Method | Indicator | |-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|---------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| | Soft Error state | Upon failure of the LCE Firmware Integrity Test / Firmware Load Test | Failure of the LCE Firmware Integrity Test / Firmware Load Test | The module will return an error indicator and resume operation | ERROR: Firmware hash for image 99 DOES NOT MATCH, ERROR: lce abort image load | | Hard Error state | No cryptographic functions can be executed and all data output is inhibited | Failure of the pre-operational firmware integrity test Failure of the CASTs | The module would have to be re- initialized via a reload/reboot | "Integrity FAIL" for the failure of the pre-operational firmware integrity test and "crypto self-test failed" for the failure of one/more CASTs | | B227 Soft Error state | [EVM] The Soft Error state is cleared automatically by the B227 entropy source (the source raises an alarm, zeroises itself and becomes operational again) | Failure of a NIST SP 800- 90B Health Test | The entropy source (and thus the bound B227 module as a whole) recovers automatically | Failure of a NIST SP 800-90B Health Test causes the entropy source to raise an alarm and zeroise itself | ### 10.5 Operator Initiation of Self-Tests An operator can initiate pre-operational and conditional cryptographic algorithm self-tests on demand by rebooting the module. ## 11 Life-Cycle Assurance ### 11.1 Installation, Initialization, and Startup Procedures No specific instructions are required for initialization of the module in the Approved mode. ### 11.2 Administrator Guidance Please see Sections 2, 3, 4 and 11 in this document. Page 29 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision). ### 11.3 Non-Administrator Guidance Please see Sections 2, 3, 4 and 11 in this document. The module only supports a Crypto Officer (i.e. Administrator) role. ### 11.4 Maintenance Requirements No specific maintenance requirements apply. ### 11.5 End of Life The module can be zeroised to perform secure sanitization. ## 12 Mitigation of Other Attacks ### 12.1 Attack List The module does not support mitigation of any other attacks and thus the requirements of this section do not apply. Page 30 of 30 Google, LLC 2025 Document Version 1.0 Public Material - May be reproduced only in its original entirety (without revision).