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

mToken CryptoID

Certificate#4845StandardFIPS 140-3Level3TypeHardwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorCentury Longmai Technology Co. Ltd
Medium review priority  ·  no TCB surface named  ·  last validated 21 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level3
Module typeHardware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date10/20/2029
CaveatWhen installed, initialized and configured as specified in Section 11of the Security Policy. When operated in approved mode
VendorCentury Longmai Technology Co. Ltd

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

flowchart LR
  %% Deterministic review-risk graph for mToken CryptoID
  %% 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>Update</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>UnAuth<br/>Status Output</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>IPSEC<br/>no library/version identified</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<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 mToken CryptoID
  %% 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>Update</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>UnAuth<br/>Status Output</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>IPSEC<br/>no library/version identified</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<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

Century Longmai Technology Co. Ltd mToken CryptoID Document Version: 1.1 Date: 2024-10-15 Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 2
Table of Contents
#SectionPage
Page 3

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 4
List of Tables
ItemPage
Table 1: Security Levels5
Table 2: Tested Module Identification – Hardware8
Table 3: Modes List and Description9
Table 4: Approved Algorithms11
Table 5: Vendor-Affirmed Algorithms12
Table 6: Non-Approved, Not Allowed Algorithms12
Table 7: Security Function Implementations16
Table 8: Entropy Certificates16
Table 9: Entropy Sources16
Table 10: Ports and Interfaces17
Table 11 – LED status17
Table 12: Authentication Methods19
Table 13: Roles20
Table 14: Approved Services35
Table 15: Non-Approved Services37
Table 16: Mechanisms and Actions Required38
Table 17: EFP/EFT Information39
Table 18: Hardness Testing Temperatures39
Table 19: Storage Areas40
Table 20: SSP Input-Output Methods40
Table 21: SSP Zeroization Methods41
Table 22: SSP Table 143
Table 23: SSP Table 246
Table 24: Pre-Operational Self-Tests48
Table 25: Conditional Self-Tests50
Table 26: Pre-Operational Periodic Information51
Table 27: Conditional Periodic Information55
Table 28: Error States55
Table 29 - References59
Table 30 – Acronyms and Definitions60
Figure 1 - mToken CryptoID-K9 and mToken CryptoID-A37
Figure 2 – Block Diagram8
Page 5
SectionTitleSecurity Level
1General3
2Cryptographic module specification3
3Cryptographic module interfaces3
4Roles, services, and authentication3
5Software/Firmware security3
6Operational environmentN/A
7Physical security3
8Non-invasive securityN/A
9Sensitive security parameter management3
10Self-tests3
11Life-cycle assurance3
12Mitigation of other attacksN/A
Overall Level3

meets the requirements as specified in FIPS PUB 140-3 (Federal Information Processing Standards Publication 140-3) for a Security Level 3 module. In this document, the terms “token”, “cryptographic module” or “the module” are used interchangeably to refer to the mToken CryptoID.

1.2 Security Levels

The FIPS 140-3 security levels for the Module are as follows from Table 1: Table 1: Security Levels

2.1 Description

The Longmai mToken CryptoID is a new generation smartcard chip based two-factor authentication device utilizing CCID drivers. The smartcard chip design utilizes the built-in mCOS to communicate with a General Purpose Computer (GPC) via the USB interface in a “plug-and-play” manner. The mToken CryptoID implements the USB Circuit Cards Interface Device (CCID) protocol to communicate with the host application running on a computer device. CCID drivers work to protect the device and are less susceptible to packet sniffing thus providing stronger authentication. The Application Protocol Data Unit (APDU) command-response protocol is transferred via the USB interface and is compatible with ISO/IEC 7816-4 standards. It provides the security services needed to interact with the Public Key Infrastructure (PKI) applications, including Digital Signature Generation/Verification for online authentication and Data Encryption/Decryption for online transactions. Here is the list of main functions provided by the

Page 6
✓ Offers multiple application security Authentication support
✓ mToken CryptoID supports standard smart card applications like Windows smart card logon, VPN, Bit
Locker.etc.
✓ Smart Card Based
Utilizes 32-bit smart card technology enabling smart card-based authentication and strong
authentication.
✓ Plug-and-Play
mToken CryptoID is certified from Microsoft HCK/HLK and automatically installs drivers from Microsoft
Windows Update.
✓ Unique Global Hardware ID
Employs both a unique global hardware ID and user-defined 32-bit software ID for device own
identification.
✓ Cryptography Standards Compliant
Microsoft SmartCard Mini Driver
Microsoft CryptoAPI
PKCS# 11 V2.20
X509 v3 certificate storage
SSL V3, IPSEC/KEC, PC/SC, CCID
✓ Multiple Platform Compatibility Support across various OS platform including Windows Server 2003, Vista and 7,8,10,11, Mac OS X, and Linux.✓ Multiple Platform Compatibility Support across various OS platform including Windows Server 2003, Vista and 7,8,10,11, Mac OS X, and Linux.
Page 7

Cryptographic Boundary: The physical form of the Module is depicted below in Figure 1 and the block diagram is depicted in Figure 2 below. The Module is a hardware module with a multi-chip standalone embodiment. The cryptographic boundary of the Module is defined by the hard, semi-transparent, polycarbonate (plastic) or metal casing of the USB token. The Module is comprised of a SCC-XE microcontroller sitting atop a Printed Circuit Board (PCB). The PCB carries the signals and instructions of the microcontroller to the other components contained within the Module. All cryptographic functions and firmware are stored within the microcontroller package and executed by a 32-bit CPU (Core Processing Unit). Figure 1 - mToken CryptoID-K9 and mToken CryptoID-A3 Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 8
Model and/or Part NumberHardware VersionFirmware VersionProcessorsFeatures
mToken CryptoID-K9SCC-XE- K93.12AisinoChip Electronics SCC-XE, ARM Cortex M0Metal enclosure
mToken CryptoID-A3SCC-XE- A33.12AisinoChip Electronics SCC-XE, ARM Cortex M0Plastic enclosure
2.2 Tested and Vendor Affirmed Module Version and Identification

Tested Module Identification

Page 9
Mode NameDescriptionTypeStatus Indicator
Approved ModeCO can set the module to Approved ModeApprovedSteady green LED is on and the red LED is off. Returns "01" from the calling GetData APDU command
Non- Approved modeBy default, the module will be set to Non-Approved mode by manufacturer.Non- ApprovedGreen LED is off and the steady red LED is on Returns "00" from the calling GetData APDU command

N/A for this module. Tested Operational Environments - Software, Firmware, Hybrid: N/A for this module. Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid: N/A for this module.

2.3 Excluded Components

NOTE: No Components were excluded from the cryptographic boundary

2.4 Modes of Operation

Modes List and Description: Table 3: Modes List and Description Configuration of the Approved Mode of Operation The mToken CryptoID module is originally non-compliant and must be configured to operate in an approved mode of operation. The Approved mode of operation is configured by the Issuer (CO) prior to being distributed to the end users. Please see Section 11.1 Installation, Initialization, and Startup Procedures for initial Approved mode configuration. command which indicates that all self-tests have completed successfully. In Approved mode, only approved algorithms are allowed and available to the services. Please refer to the LED status table for the details of the LED status indicator of the module. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 10
AlgorithmCAVP CertPropertiesReference
AES-CBCA2660Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CMACA2660Direction - Generation, Verification Key Length - 128, 192, 256SP 800-38B
AES-ECBA2660Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-KWA2660Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38F
ECDSA KeyGen (FIPS186-4)A2663Curve - P-256, P-521FIPS 186-4
ECDSA KeyVer (FIPS186-4)A2663Curve - P-256, P-521FIPS 186-4
ECDSA SigGen (FIPS186-4)A2663Component - No Curve - P-256, P-521FIPS 186-4
ECDSA SigVer (FIPS186-4)A2663Component - No Curve - P-256, P-521FIPS 186-4

Configuration of the Non-Approved Mode of Operation The Module is sent from manufacturing to the Issuer (CO) in Non-Approved mode. When the Module operates in Non-Approved mode, the green LED is off and the steady red LED is on. The Module returns “00” from the calling GetData APDU command which indicates that the module is in Non-Approved mode, and the module returns “0000000000000000” to the calling GetHealthStatus APDU command which indicates that the self-test have completed successfully. The GetData APDU command returns an error when the Module is uninitialized. Both Approved services and Non-Approved services are listed in Table 19: Approved Services and Table 20: Non-Approved Services are allowed in Non-Approved mode. Mode Change Instructions and Status [O]: Once the Module is initialized, the Issuer can switch the mode of operation by calling the ChangeWorkingMode APDU command with “P1” parameter. If “P1” is 1, the module is configured to operate in Approved mode; if “P1” is 0, the module is configured to operate in Non-Approved mode. The Module is zeroized as part of the switching process preventing the sharing of CSPs between modes. After the successful completion of the pre-operational self-tests, the Module automatically enters Approved mode or Non-Approved mode based on the value of the “P1” parameter.

2.5 Algorithms

Approved Algorithms: The Module implements the Approved cryptographic algorithms listed in the table below. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 11
AlgorithmCAVP CertPropertiesReference
Hash DRBGA2662Prediction Resistance - No Mode - SHA2-256SP 800-90A Rev. 1
HMAC-SHA2-256A2661Key Length - Key Length: 128-256 Increment 8FIPS 198-1
HMAC-SHA2-384A2661Key Length - Key Length: 128-256 Increment 8FIPS 198-1
HMAC-SHA2-512A2661Key Length - Key Length: 128-256 Increment 8FIPS 198-1
KAS-ECC Sp800- 56Ar3A2659Domain Parameter Generation Methods - P-256, P-521 Function - Key Pair Generation Scheme - ephemeralUnified - KAS Role - Initiator, Responder Key Length - 256SP 800-56A Rev. 3
RSA KeyGen (FIPS186-4)A2663Key Generation Mode - B.3.3 Modulo - 2048 Primality Tests - Table C.2 Private Key Format - StandardFIPS 186-4
RSA SigGen (FIPS186-4)A2663Signature Type - PKCS 1.5 Modulo - 2048FIPS 186-4
RSA SigVer (FIPS186- 4)A2663Signature Type - PKCS 1.5 Modulo - 2048FIPS 186-4
SHA2-256A2661-FIPS 180-4
SHA2-384A2661-FIPS 180-4
SHA2-512A2661-FIPS 180-4
NamePropertiesImplementationReference
CKG [IG D.H][133] Sections 4 and 5.1 Asymmetric signature key generation using unmodified DRBG output:AisinoChip Electronics SCC-XE [133] Sections 4 and 5.2 Asymmetric key establishment key generation using unmodified DRBG output:AisinoChip Electronics SCC-XE [133] Sections 4 and 6.1 Direct symmetric key generation using unmodified DRBG output:ARM Cortex M0 [133] Section 6.2.1 Derivation of symmetric keysmToken CryptoID Core DRBG ComponentKey Generation

Table 4: Approved Algorithms Note: KAS [56Ar3] - Per [IG] D.F Scenario 2 path (2), [56Ar3] compliant key agreement scheme where testing is performed end-to-end for the shared secret computation and a KDF compliant with onestepkdf. without key confirmation. Vendor-Affirmed Algorithms: The Module implements the Approved Vendor Affirmed cryptographic algorithms listed in the Table below. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 12
NamePropertiesImplementationReference
from a key agreement shared secret.:ARM Cortex M0
NameUse and Function
SHA-1Hashing (not CAVP tested)
RSADigital Signature Generation and Verification using 1024 bit keys
KTSRSA-based Key Wrapping
HMAC-SHA-1Message Authentication Code (not CAVP tested)
Triple-DESEncryption and Decryption (not CAVP tested)
CMAC with Triple-DESMessage Authentication Code
NameTypeDescriptionPropertiesAlgorithms
KAS1KAS-FullKey AgreementCaveat:Key establishment method providesKAS-ECC Sp800- 56Ar3: (A2659) Notes: Ephemeral

Table 5: Vendor-Affirmed Algorithms Non-Approved, Allowed Algorithms: Note: The Module does not implement any Non-Approved, Algorithms Allowed in the Approved Mode of Operation. N/A for this module. Non-Approved, Allowed Algorithms with No Security Claimed: Note: The Module does not implement any Non-Approved, Algorithms Allowed with No Security Claimed in the Approved Mode of Operation. N/A for this module. Non-Approved, Not Allowed Algorithms: The Module implements the Non-Approved, Not Allowed cryptographic algorithms listed in the table below. Table 6: Non-Approved, Not Allowed Algorithms

2.6 Security Function Implementations

The table below shows the Security Function Implementations that the module implements: Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 13
NameTypeDescriptionPropertiesAlgorithms
between 128 and 256 bits of encryption strengthUnified (Initiator, Responder), KPG, Partial with oneStepKdf Curves: P-256, P- 521 SHA2-256: (A2661) SHA2-384: (A2661) SHA2-512: (A2661)
KTS1KTS-WrapKey TransportCaveat:Key establishment method provides between 128 and 256 bits of encryption strengthAES-KW: (A2660) Security Strength: 128, 192, 256
KTS2KTS-WrapKey TransportPublications:[IG D.G] Caveat:Key establishment method provides between 128 and 256 bits of encryption strengthAES-ECB: (A2660) Security Strength: 128, 192, 256 AES-CMAC: (A2660) Security Strength: 128, 192, 256
SymGen1CKGSymmetric Key GenerationPublications:[IG D.H], SP800- 133r2 Ref: Section 6.1AES-ECB: (A2660) Security Strength: 128, 192, 256 AES-CBC: (A2660) Security Strength: 128, 192, 256
AsymGen1AsymKeyPair- KeyGenAsymmetric Key- Pair GenerationECDSA KeyGen (FIPS186-4): (A2663) Curves: P-256, P- 521 Hash DRBG: (A2662)
AsymVer1AsymKeyPair- KeyVerAsymmetric Key- Pair VerificationECDSA KeyVer (FIPS186-4): (A2663) Curves: P-256, P- 521 Hash DRBG: (A2662)
SigGen1DigSig-SigGenDigital Signature GenerationECDSA SigGen (FIPS186-4): (A2663) Curves: P-256, P-

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 14
NameTypeDescriptionPropertiesAlgorithms
521 Hash DRBG: (A2662) SHA2-256: (A2661) SHA2-384: (A2661) SHA2-512: (A2661)
SigVer1DigSig-SigVerDigital Signature VerificationECDSA SigVer (FIPS186-4): (A2663) Curves: P-256, P- 521 Hash DRBG: (A2662) SHA2-256: (A2661) SHA2-384: (A2661) SHA2-512: (A2661)
AsymGen2AsymKeyPair- KeyGenAsymmetric Key- Pair GenerationRSA KeyGen (FIPS186-4): (A2663) Size: n=2048 Hash DRBG: (A2662)
SigGen2DigSig-SigGenDigital Signature GenerationRSA SigGen (FIPS186-4): (A2663) Size: n=2048 Hash DRBG: (A2662) SHA2-256: (A2661) SHA2-384: (A2661) SHA2-512: (A2661)
SigVer2DigSig-SigVerDigital Signature VerificationRSA SigVer (FIPS186-4): (A2663) Size: n=2048 Hash DRBG: (A2662) SHA2-256: (A2661) SHA2-384: (A2661) SHA2-512: (A2661)
SigVer3DigSig-SigVerDigital Signature VerificationECDSA SigVer (FIPS186-4):

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 15
NameTypeDescriptionPropertiesAlgorithms
(A2663) Curve: P-256 Hash DRBG: (A2662) SHA2-256: (A2661)
RBGDRBGRandom Number GenerationHash DRBG: (A2662) Security Strength: 256 SHA2-256: (A2661)
EntropyENT-ESVEntropy SourceHash DRBG: (A2662) Security Strength: 256
HashSHASecure HashSHA2-256: (A2661) SHA2-384: (A2661) SHA2-512: (A2661)
Message AuthenticationMACMessage AuthenticationHMAC-SHA2-256: (A2661) HMAC-SHA2-384: (A2661) HMAC-SHA2-512: (A2661) AES-CMAC: (A2660) Security Strength: 128, 192, 256
AES EncryptionBC-AuthBlock CipherAES-CBC: (A2660) Security Strength: 128, 192, 256 AES-ECB: (A2660) Security Strength: 128, 192, 256
AES DecryptionBC-UnAuthBlock CipherAES-CBC: (A2660) Security Strength: 128, 192, 256 AES-ECB: (A2660) Security Strength: 128, 192, 256
SymGen2CKGSymmetric Key GenerationPublications:[IG D.H], SP800- 133r2 Ref: Section 6.2.1AES-CBC: (A2660) Security Strength: 128, 192, 256 AES-ECB: (A2660)

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 16
NameTypeDescriptionPropertiesAlgorithms
Security Strength: 128, 192, 256
Cert NumberVendor Name
E44Century Longmai Technology Co. Ltd
NameTypeOperational EnvironmentSample SizeEntropy per SampleConditioning Component
mToken CryptoID CorePhysicalAisinoChip Electronics SCC-XE1bit0.222745 bitsN/A

Table 7: Security Function Implementations

2.7 Algorithm Specific Information

Note: There is no Algorithm Specific Information.

2.8 RBG and Entropy

Table 8: Entropy Certificates The Module uses the following entropy source: Table 9: Entropy Sources

2.9 Key Generation

For Key Generation, see Section 2.5 and Section 2.6 above.

2.10 Key Establishment

For Key Establishment, see Section 2.5 and Section 2.6 above.

2.11 Industry Protocols

Note: The Module does not provide any industry protocols. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 17
Physical PortLogical Interface(s)Data That Passes
LEDStatus OutputN/A
USB Data pinsData Input Data Output Control Input Status OutputAll logical data
USB Power pinNoneN/A
ConditionGreen LEDRed LED
Power OffOFFOFF
Self-test in progressONON
Approved modeONOFF
Approved mode errorBLINK (200ms)OFF
Switching to Non-Approved modeSLOW BLINK (1000ms)OFF
Non-Approved modeOFFON
Non-Approved mode errorOFFBLINK (200ms)
Switching to Approved modeOFFSLOW BLINK (1000ms)
3 Cryptographic Module Interfaces
3.1 Ports and Interfaces

The Module’s ports and associated FIPS defined logical interface categories are listed in the table below. Table 10: Ports and Interfaces The mToken CryptoID uses an LED to encode various status conditions as shown in the table below: Table 11 – LED status

4 Roles, Services, and Authentication
4.1 Authentication Methods

The mToken CryptoID supports Identity-Based Authentication to authenticate the operators. The Module supports External Authentication with KEY_EA which authenticates the host application running on a computer to the module. The Module also supports Internal Authentication with KEY_IA which the module authenticates itself to the host application. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 18
Method NameDescriptionSecurity MechanismStrength Each AttemptStrength per Minute
AM#1Single-Factor Cryptographic Software as the cryptographic key (KEY_MC) is only given to a single user.Challenge- response mechanism: The host application get a random value from the module. The host application then encrypts the random value with the pre-definedThe KEY_MC is a 256-bit AES key. The authentication mechanism has a 256-bit security strength which is 1/2^256.The device locks after 15 consecutive failed authentication attempts. The probability of a successful random attempt during a one- minute period is approximately 15/2^256

The Issuer is authenticated by providing the Main Control Key (KEY_MC) with ExternalAuth APDU command. Only the manufacturer or the distributor can be authenticated as an Issuer. When the Module is delivered to the end user, they can authenticate themselves by providing their KEY_PIN (i.e., Admin PIN or User PIN) with Verify PIN APDU command. The operators can logout by calling the ClearSecureState APDU command or by unplugging the module from the GPC. The Module uses the “challenge-response” method for all types of authentications. module for verification. The Module decrypts the ciphertext with the AES-256 symmetric algorithm and compares the result with the original random value from the GetChallenge command. If the results are the same, the authentication is completed successfully; otherwise, the authentication fails, and the Module will decrement the value pre-defined in “LeftRetryTimes”. Once the value stored in “LeftRetryTimes” reaches 0, the key is locked. The authentication data uses default keys and are required to be changed upon first login. For PIN-based authentication, the host application calls the GetChallenge command to get a random generates a SHA2-256 hash value from the PIN provided by the operator. The random value is encrypted with the SHA2-256 hash value of the PIN using an AES-128 symmetric algorithm. The PIN ID and ciphertext are transmitted to the Module for verification. The Module generates a SHA2-256 hash value from the PIN based on the PIN ID, decrypts the ciphertext with the SHA2-256 hash value using the predefined symmetric algorithm, and compares the result with the original random value from the GetChallenge command. Once the default PIN is used, changing it is required upon first login. If the results are the same, the authentication has been completed successfully; otherwise, the authentication fails, and the module will decrement the “LeftRetryTimes” variable. Once the value stored in “LeftRetryTimes” reaches 0, the PIN is locked. No visible display of the authentication data is allowed from the Module. The host application running on the GPC interacting with the module obscures the authentication data during data entry. The authentication data is stored in the key files which can never be exported outside the mToken CryptoID. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 19
Method NameDescriptionSecurity MechanismStrength Each AttemptStrength per Minute
symmetric algorithm and transmits the ciphertext to the module for verification.
AM#2Memorized Secret as a specific Secret (KEY_PIN) is associated with a specific user.the host application calls the gets a random value from the module. The host application then generates a SHA2-256 hash value from the PIN provided by the operator. The random value is encrypted with the SHA2-256 hash value of the PIN using a pre-defined symmetric algorithm.The host application calls the gets a random value from the module. The host application then generates a SHA2- 256 hash value from the PIN provided by the operator. The random value is encrypted with the SHA2-256 hash value of the PIN using a pre-defined symmetric algorithm.The KEY_PIN length must be between 8 and 32 characters with a combination of letters, numeric characters, and special characters (i.e., A-Z a-z 0-9 ~ ` ! @ # $ % ^ & * ( ) _ + | - = \ { } [ ] : ; " ' < > , . ? / Tab and Space) which is 1/96^8.The module will lock an account after 15 consecutive failed authentication attempts. An Admin may unlock a User or unlocking may be performed by reinitializing (remove and reinsert). The probability of a successful random attempt during a one- minute period is approximately 15/96^8.
4.2 Roles

The Module supports three (3) distinct operator roles, Issuer (CO), Admin and User. The cryptographic module enforces the separation of roles by associating the current connection with the most recent authenticated user identity. The Module does not support a maintenance role or bypass capability. The Module does not support concurrent operators. The current operator status is stored in the security context in memory. When the operator logs out or if another operator attempts to login, the security context will be cleared, and the operator will be logged out automatically. The security context will also be cleared when the Module is powered off. The Roles table and the Approved Services table lists all operator roles (Issuer (CO)

Page 20
NameTypeOperator TypeAuthentication Methods
Issuer (CO)IdentityCOAM#1
AdminIdentityOtherAM#2
UserIdentityOtherAM#2
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
FormatDeviceInitialize and format the file system. Can also use to configure certain mode. Set authenticatio n keys. Performing the zeroization service.Approv ed ModeFormat configuratio n, or working mode configuratio n, authenticati on keysSet new configurati ons to moduleNoneIssuer (CO) - DRBG_EI: Z - DRBG_Se ed: Z - DRBG_St ate Keys: Z - ECDSA Private Key: Z - KEY_EA: Z - KEY_IA: Z - KEY_MC: Z - KEY_PIN:

The Module does not support concurrent operators. Table 13: Roles

4.3 Approved Services

All approved services implemented by the Module are listed in the table below: Unless annotated with an ~, the service is available using secure messaging which uses S_ENC with CBCAES256 and S_MAC with CMAC-AES256 with access rights of E as defined below. The SSPs modes of access shown in the table below are defined as:

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 (SSP is input).
E = Execute: The Module uses the SSP in performing a cryptographic operation. Z Z - Z -

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 21
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
Z - PWD Hash: Z - RSA Private Key: Z - S_ENC: Z - S_MAC: Z - S_Private: Z - Session Key (up to 4): Z - ECDSA Public: Z - RSA Public Key: Z - S_Host: Z - S_Public: Z - HMAC Key: Z
ChangeWorkingMod eChange working mode: Approved or Non- ApprovedApprov ed ModeMode (Approved/N on- Approved)Switch to certain modeNoneIssuer (CO) - DRBG_EI: Z - DRBG_Se ed: Z - DRBG_St ate Keys: Z - ECDSA Private Key: Z - KEY_EA: Z - KEY_IA: Z - KEY_MC: Z - KEY_PIN: Z

Z Z Z Z 4): Z Z Z Z Z Z Z Z Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 22
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
- PWD Hash: Z - RSA Private Key: Z - S_ENC: Z - S_MAC: Z - S_Private: Z - Session Key (up to 4): Z - ECDSA Public: Z - RSA Public Key: Z - S_Host: Z - S_Public: Z - HMAC Key: Z
InstallPIN(secure messaging only)Install a new KEY_PINApprov ed ModeKEY_PIN for current ADF, key metadataN/ANoneIssuer (CO) - KEY_PIN: W
DRBGReseedReseed DRBG with internal entropy.Approv ed ModeInternal EntropyDRBG reseedRBG EntropyIssuer (CO) - DRBG_EI: G,E - DRBG_Se ed: G,E - DRBG_St ate Keys: G,E Admin - DRBG_EI: G,E - DRBG_Se ed: G,E - DRBG_St

Z Z Z 4): Z Z Z W G,E G,E G,E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 23
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
ate Keys: G,E User - DRBG_EI: G,E - DRBG_Se ed: G,E - DRBG_St ate Keys: E
GetFSMaxSpace~Get max available space for file systemApprov ed ModeNoneAvailable spaceNoneIssuer (CO) Admin User
GetChipID~Get the smart card chip serial numberApprov ed ModeNoneChip IDNoneIssuer (CO) Admin User
GetHealthStatus~Get self-test resultApprov ed ModeNoneSelf-test resultNoneIssuer (CO) Admin User
GetErrorLog~Get self-test and last cmd error logApprov ed ModeNoneGet self- test and last cmd error logNoneIssuer (CO) Admin User
HealthCheck~On demand self-testApprov ed ModeNonePerform on demand self-test againNoneIssuer (CO) Admin User
SessionKeyKASGenerate a key pair or Session Key using EC Diffie Hellman (P- 256/P-521) KAS and KDF. KDF use alg: SHA256/384/ 512 Generate key Type: AES 128/192/256Approv ed ModeAlgorithm IDs, KAS input keys, Key IDAsymAlgID , PublicKeyKTS1 AsymGen1Admin - S_Private: G,W,E,Z - S_Public: G,R,W,E, Z - Session Key (up to 4): G,W,Z - DRBG_St ate Keys: G,E - HMAC Key: G,E User - S_Private:

G,E G,E E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 24
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
G,W,E,Z - S_Public: G,R,W,E, Z - Session Key (up to 4): G,W,Z - DRBG_St ate Keys: G,E - HMAC Key: G,E
GenSessionKeyGenerate a Session KeyApprov ed ModeKey ID, Alg IDGenerate session key with DRBG engineSymGen1 SymGen2 RBGAdmin - DRBG_EI: G,E - Session Key (up to 4): G,W,Z - DRBG_St ate Keys: G,E - HMAC Key: G,E User - DRBG_EI: G,E - Session Key (up to 4): G,W,Z - DRBG_St ate Keys: G,E - HMAC Key: G,E
DestroySessionKeyDestroy Session KeyApprov ed ModeKey IDDestroy the certain session key, or destroy allNoneAdmin - Session Key (up to 4): Z User - Session Key (up to 4): Z
GetSessionInfoGet the Session Key's algorithmApprov ed ModeKey IDAlg IDNoneAdmin User

G,W,E,Z G,R,W,E, Z 4): G,W,Z G,E 4): G,W,Z G,E G,E 4): G,W,Z G,E 4): Z Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 25
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
Create FileCreate a DF or EFApprov ed ModeFile metadata (access control, secure message req., etc.)Create a DF or EFNoneIssuer (CO) - RSA Public Key: W,Z - RSA Private Key: W,Z - ECDSA Public: W,Z - ECDSA Private Key: W,Z Admin - RSA Public Key: W,Z - RSA Private Key: W,Z - ECDSA Public: W,Z - ECDSA Private Key: W,Z User - RSA Public Key: W,Z - RSA Private Key: W,Z - ECDSA Public: W,Z - ECDSA Private Key: W,Z
Delete FileDelete a DF or EFApprov ed ModeFile identifierDelete a DF or EFNoneIssuer (CO) - RSA Public Key: W,Z - RSA Private Key: W,Z - ECDSA Public: W,Z - ECDSA Private

W,Z W,Z W,Z W,Z Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 26
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
Key: W,Z Admin - RSA Public Key: W,Z - RSA Private Key: W,Z - ECDSA Public: W,Z - ECDSA Private Key: W,Z User - RSA Public Key: W,Z - RSA Private Key: W,Z - ECDSA Public: W,Z - ECDSA Private Key: W,Z
ReadBinaryRead binary file dataApprov ed ModeFile identifierBinary file dataNoneAdmin User
UpdateBinaryUpdate binary file dataApprov ed ModeFile identifier, binary dataUpdate data into binary fileNoneAdmin User
AppendRecordAppend new record to record fileApprov ed ModeFile identifier, record dataRecord IDNoneAdmin User
ReadRecordRead record data of record fileApprov ed ModeFile identifier, record dataread dataNoneAdmin User
UpdateRecordUpdate data into a record of the record fileApprov ed ModeFile identifier, record dataUpdate RecordNoneAdmin User
Get DataGet device information (Module name, hardware, firmware versions, approved status) or get the specifiedApprov ed ModeInfo tag/identifierDevice infoNoneAdmin User

W,Z W,Z Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 27
NameDescription tag data. Authenticatio n is required for tag ID 0x4000- 0XFFFF according to the "Read" access control of EF 3F01Indicat orInputsOutputsSecurity FunctionsSSP Access
Put DataSet device information or save the specified tag dataApprov ed ModeInfo tag, new device infoSet device info or save the specified tag dataNoneAdmin User
Select FileSelect a DF or EF and get the informationApprov ed ModeFile identificationSelect a DF or EF, and get detail infoNoneIssuer (CO) Admin User
ChangeSecretKey(s ecure messaging only)Change the specified KEY_MC, KEY_IA, KEY_PIN, KEY_EAApprov ed ModeKey identifier, new key valueChange the specified key valueNoneIssuer (CO) - KEY_MC: W,Z - KEY_PIN: W,Z - KEY_EA: W,Z - KEY_IA: W,Z Admin - KEY_MC: W,Z - KEY_PIN: W,Z - KEY_EA: W,Z - KEY_IA: W,Z User - KEY_MC: W,Z - KEY_PIN: W,Z - KEY_EA: W,Z

W,Z W,Z W,Z W,Z W,Z W,Z W,Z W,Z W,Z W,Z Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 28
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
- KEY_IA: W,Z
UnblockSecretKey(s ecure messaging only)Unblock the specified Keys. Admin can unblock KEY_PIN, Issuer can unblock KEY_EA under MFApprov ed ModeKey ID, PIN or dataUnblock the specified Key_PIN or Key_EAHashIssuer (CO) - KEY_PIN: W,Z - KEY_EA: W,Z Admin - KEY_PIN: W,Z - KEY_EA: W,Z
GetChallenge~Get random challenge data from SP 800-90A DRBGApprov ed ModelengthRandom challenge dataRBGIssuer (CO) - DRBG_St ate Keys: R,G,E Admin - DRBG_St ate Keys: R,G,E User - DRBG_St ate Keys: R,G,E
ExternalAuth~External authenticatio n with KEY_EAApprov ed Modeacknowledg e responseAuthentica te with KEY_MC or KEY_EAKTS1Issuer (CO) - KEY_MC: E - KEY_EA: E Admin - KEY_MC: E - KEY_EA: E User - KEY_MC: E - KEY_EA: E
InternalAuthInternal authenticatioApprov ed Modeauthenticati on dataCalculated responseKTS1Issuer (CO) - KEY_IA:

W,Z W,Z W,Z R,G,E R,G,E R,G,E E E E E E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 29
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
n with KEY_IAE Admin - KEY_IA: E User - KEY_IA: E
Verify PinVerify Admin or User PINApprov ed ModePIN ID, challenge responseVerified PINKTS1 HashIssuer (CO) - KEY_PIN: E Admin - KEY_PIN: E User - KEY_PIN: E
GetSecretKeyInfoGet the specified information (i.e., Algorithm ID, PIN type, Left retry times, access control and Unblock PIN ID) of KEY_MC, KEY_IA, KEY_PIN, KEY_EAApprov ed ModeKey IDAlg, type, retry, AC,PIN id Secret role, Default secret flagNoneIssuer (CO) Admin User
ClearSecureStateLogoff current DF or MFApprov ed ModeMF, ADF, both, Role/FIPSLogoff current ADF or MFNoneIssuer (CO) Admin User
SymImportSessionK eyImport a Session Key that is wrapped by a Session KeyApprov ed ModeAlg ID, unwrap key ID, key ID to import, wrapped key valueImport wrapped session keyKTS1Admin - Session Key (up to 4): W,E User - Session Key (up to 4): W,E
SymExportSessionK eyExport a Session Key that is wrapped by a different Session KeyApprov ed Modewrap key ID, key ID to exportAlg ID, wrapped keyKTS1Admin - Session Key (up to 4): R,E User - Session

E E E E E 4): W,E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 30
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
Key (up to 4): R,E
SymCryptInit~Symmetric algorithm initializationApprov ed ModeKey ID, padding scheme, IVFirst step of encryption or decryptionAES Encryption AES DecryptionAdmin - Session Key (up to 4): E User - Session Key (up to 4): E
SymEncryptUpdate~Continuously encrypt data partApprov ed ModeplaintextciphertextAES EncryptionAdmin - Session Key (up to 4): E User - Session Key (up to 4): E
SymEncryptFinal~Encrypt the final data part and finish the operationApprov ed ModeplaintextciphertextAES EncryptionAdmin - Session Key (up to 4): E User - Session Key (up to 4): E
SymDecryptUpdate ~Continuously decrypt data partApprov ed ModeciphertextplaintextAES DecryptionAdmin - Session Key (up to 4): E User - Session Key (up to 4): E
SymDecryptFinal~Decrypt the final data part and finish the operationApprov ed ModeciphertextplaintextAES DecryptionAdmin - Session Key (up to 4): E User - Session Key (up to 4): E
MacInit~Initialize MAC CalculationApprov ed ModeKey IDInitialize a new Mac operationMessage Authenticat ionAdmin - Session Key (up to 4): E - HMAC Key: E User - Session Key (up to 4): E

4): R,E 4): E 4): E 4): E 4): E 4): E 4): E 4): E 4): E 4): E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 31
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
- HMAC Key: E
MacUpdate~MAC calculation updateApprov ed ModeDataContinue processing another data partMessage Authenticat ionAdmin - Session Key (up to 4): E - HMAC Key: G,E User - Session Key (up to 4): E - HMAC Key: G,E
MacFinal~MAC calculation finishApprov ed ModeDataMACMessage Authenticat ionAdmin - Session Key (up to 4): E - HMAC Key: G,E User - Session Key (up to 4): E - HMAC Key: G,E
AsymGenKeypairGenerate asymmetric key pairsApprov ed ModePub key ID and Pri Key, Alg ID, useRSA or ECDSA keypairAsymGen1 AsymGen2 AsymVer1Admin - RSA Public Key: G,W,Z - RSA Private Key: G,W,Z - ECDSA Public: G,W,Z - ECDSA Private Key: G,W,Z - DRBG_St ate Keys: G,E User - RSA Public Key: G,W,Z - RSA Private

4): E 4): E 4): E G,W,Z G,W,Z G,W,Z G,W,Z G,E G,W,Z Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 32
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
Key: G,W,Z - ECDSA Public: G,W,Z - ECDSA Private Key: G,W,Z
AsymWrapImportPu bImport a public key wrapped by a Session KeyApprov ed ModeUnwrap key ID, Pub key ID, Alg ID, use, wrapped keyImport a wrapped public keyKTS2 SigVer1 SigVer2Admin - RSA Public Key: W,Z - ECDSA Public: W,Z - Session Key (up to 4): E User - RSA Public Key: W,Z - ECDSA Public: W,Z - Session Key (up to 4): E
AsymImportPubImport a Public key in plaintextApprov ed ModePub key ID, Alg ID, use, Pub keyImport a plaintext public keyNoneAdmin - RSA Public Key: W,Z - ECDSA Public: W,Z User - RSA Public Key: W,Z - ECDSA Public: W,Z - Session Key (up to 4): E
AsymWrapImportPriImport a private key wrapped by a Session KeyApprov ed ModeUnwrap key ID, Pri key ID, Pub key ID, Alg ID, use, wrapped keyImport a wrapped private keyKTS2 SigGen1 SigGen2Admin - RSA Private Key: W,Z - ECDSA Private Key: W,Z

G,W,Z G,W,Z G,W,Z W,Z 4): E W,Z 4): E W,Z W,Z 4): E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 33
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
- Session Key (up to 4): E User - RSA Public Key: W,Z - ECDSA Public: W,Z - Session Key (up to 4): E
AsymWrapExportPu bExport a public key wrapped with a Session KeyApprov ed ModeWrap SessionID, Pub key IDAlg ID, use, wrapped keyKTS2 SigVer1 SigVer2Admin - RSA Public Key: R - ECDSA Public: R - Session Key (up to 4): E User - RSA Public Key: R - ECDSA Public: R - Session Key (up to 4): E
AsymExportPubExport a Public key in plaintextApprov ed ModePub key IDAlg ID, use, keyNoneAdmin - RSA Public Key: R - ECDSA Public: R User - RSA Public Key: R - ECDSA Public: R
AsymWrapExportPriExport a Private key wrapped by a Session KeyApprov ed ModeWrap SessionID, Pri key IDAlg ID, use, wrapped keyKTS2 SigGen1 SigGen2Admin - RSA Private Key: R - ECDSA Private Key: R - Session Key (up to 4): E

4): E W,Z 4): E 4): E 4): E 4): E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 34
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
User - RSA Private Key: R - ECDSA Private Key: R - Session Key (up to 4): E
AsymSignCalculate digital signatureApprov ed ModePri key ID, Hash Alg ID, hash/dataAlg ID, signatureSigGen1 SigGen2Admin - RSA Private Key: E - ECDSA Private Key: E User - RSA Private Key: E - ECDSA Private Key: E
AsymVerifySignVerify digital signatureApprov ed ModePub key ID, Hash Alg ID, signatureAlg ID, signatureSigVer1 SigVer2 SigVer3Admin - RSA Private Key: E - ECDSA Private Key: E User - RSA Private Key: E - ECDSA Private Key: E
HashInit~Initialize a hash operationApprov ed ModeAlg IDInitialize a hash operationHashIssuer (CO) Admin User
HashUpdate~Continuously hash data partApprov ed ModeDataContinue processing another data partHashIssuer (CO) Admin User
HashFinale~Hash the final data part and get the hash valueApprov ed ModeDataDigest resultHashIssuer (CO) Admin User
SecureMessageKA S~EC Diffie- Hellman (P- 521) KASApprov ed ModeAlg ID, kdf hash ID,Alg ID, pub keyKAS1Issuer (CO) -

4): E Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 35
NameDescriptionIndicat orInputsOutputsSecurity FunctionsSSP Access
(including KDF) to generate the Secure Message Keys (S_ENC and S_MAC) to establish a secure channel between the module and the host applicationotherInfo, pub keyS_Private: G,W,E,Z - S_Public: G,R,W,E, Z - S_Host: E - S_ENC: G,W,Z - S_MAC: G,W,Z Admin - S_Private: G,W,E,Z - S_Public: G,R,W,E, Z - S_Host: E - S_ENC: G,W,Z - S_MAC: G,W,Z User - S_Private: G,W,E,Z - S_Public: G,R,W,E, Z - S_Host: E - S_ENC: G,W,Z - S_MAC: G,W,Z

G,W,E,Z G,R,W,E, Z E G,W,Z G,W,Z G,W,E,Z G,R,W,E, Z E G,W,Z G,W,Z Table 14: Approved Services Note: “use” is a parameter to specify the usage of the private-public key pairs. Option 1 means signature generation and verification only, Option 2 means key wrapping only, and Option 3 means the key pair can be used for both signature generation and verification, and key wrapping which is not allowed in Approved mode. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 36
NameDescriptionAlgorithmsRole
SessionKeyKASGenerate a key pair or Session Key using EC Diffie Hellman (P- 256/P-521) KAS and KDFSHA-1Admin, User
GenSessionKeyGenerate a Session KeyHMAC-SHA-1 Triple-DES CMAC with Triple-DESAdmin, User
Verify PINVerify Admin or User PIN.Triple-DESIssuer, Admin, User, Unauthenticated
SymImportSessionKeyImport a Session Key that is wrapped by a Session KeyTriple-DESAdmin, User
SymExportSessionKeyImport a Session Key that is wrapped by a Session KeyTriple-DESAdmin, User
SymCryptInitSymmetric algorithm initializationTriple-DESAdmin, User
SymEncryptUpdateContinuously encrypt data partTriple-DESAdmin, User
SymEncryptFinalEncrypt the final data part and finish the operationTriple-DESAdmin, User
SymDecryptUpdateContinuously decrypt data partTriple-DESAdmin, User
SymDecryptFinalDecrypt the final data part and finish the operationTriple-DESAdmin, User
MacInitInitialize MAC CalculationCMAC with Triple-DESAdmin, User
MacUpdateMAC calculation updateCMAC with Triple-DESAdmin, User
MacFinalMAC calculation finishCMAC with Triple-DESAdmin, User
AsymWrapImportPubImport a public key wrapped by a Session KeyTriple-DESAdmin, User

Note: For Getdata, authentication is required for tag ID 0x4000- 0XFFFF according to the “Read” access control of EF 3F01. The key attribute can identify the type of key, ID, number of retries, whether it is unmodified, etc. These attributes are not CSP or PSP. You cannot obtain the specific content of the key through the properties of the key, nor can you use (signature, verify, encrypt and decrypt) or clear the key through the properties of the key. For example: Retry time is 10 PIN value is 12345678 Through GetSecretKeyInfo you can get the ID and Retry, but can't get the PIN value. For details regarding service inputs, corresponding service outputs, status return codes and description of each service listed, please refer to section 4 of [APDU].

4.4 Non-Approved Services

All Non-Approved services implemented by the Module are listed in the table below: Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 37
NameDescriptionAlgorithmsRole
AsymWrapImportPriImport a private key wrapped by a Session KeyTriple-DESAdmin, User
AsymWrapExportPubExport a public key wrapped with a Session KeyTriple-DESAdmin, User
AsymWrapExportPriExport a Private key wrapped by a Session KeyTriple-DESAdmin, User
AsymSignCalculate digital signatureSHA-1Admin, User
AsymVerifySignVerify digital signatureSHA-1Admin, User
HashInitInitialize a hash operationSHA-1Issuer, Admin, User, Unauthenticated
HashUpdateContinuously hash data partSHA-1Issuer, Admin, User, Unauthenticated
HashFinaleHash the final data part and get the hash valueSHA-1Issuer, Admin, User, Unauthenticated
CreateSessionKeyCreate a Session Key with plaintext key valueSHA-1Admin, User
AsymEnDecryptRSA PKCS V1.5 encrypt/decryptRSAAdmin, User
AsymKeyOperationRSA encrypt/decrypt (no padding)RSAAdmin, User
AsymImportSessionKeyImport a Session Key that is wrapped by a Public KeyKTS Triple-DESAdmin, User
AsymExportSessionKeyExport an AES Session Key that is wrapped by a Public KeyKTS Triple-DESAdmin, User

Table 15: Non-Approved Services

4.5 External Software/Firmware Loaded

NOTE: There is no External Software/Firmware Loaded.

5 Software/Firmware Security
5.1 Integrity Techniques

The Module is composed of a single firmware component. The mToken CryptoID uses ECDSA P256(SHA2-256) for the integrity test of its firmware. ECDSA digital SigVer is an Approved algorithm that is provided by the module. The known digital signature value of the firmware is stored in the firmware binary. When the Module is powered-up, the Module will generate the SHA2-256 hash value of the firmware of the Module. Then use ECDSA P-256 to digitally verify the generated SHA2-256 hash value along with the stored digital signature. If this fails, the integrity test fails, and the Module enters the Error state.

5.2 Initiate on Demand

The operator can initiate the integrity test on demand via the HealthCheck service. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 38
MechanismInspection FrequencyInspection Guidance
Hard enclosureDuring Initialization by CO and Before first use by end user.Operator should look for damage
6 Operational Environment
6.1 Operational Environment Type and Requirements

Type of Operational Environment: Non-Modifiable How Requirements are Satisfied [O]:

6.2 Configuration Settings and Restrictions

The Module operates in a non-modifiable operational environment and does not implement a General Purpose Operating System. Once the firmware of the Module is loaded on the mToken CryptoID, it cannot be modified or erased, firmware cannot be upgraded/updated. The operational environment requirements do not apply to the Module.

7 Physical Security
7.1 Mechanisms and Actions Required

The Module’s enclosure, which surrounds the SCC-XE microcontroller, is made of fully hardened production grade polycarbonate (plastic) or metal. A colored polycarbonate or metal enclosure blocks the clear view of internal hardware components. There is a hard, non-malleable metal casing around the USB connector. The SCC-XE microcontroller is covered in a black, opaque, tamper resistant epoxy resin coating thus completely covering all critical components from visual inspection. Any attempt to remove or penetrate the enclosure is highly likely to cause serious damage to the Module and hardware components inside the enclosure, which will expose clear evidence of tampering. Removing the metal around the USB connector will cause physical damage to the USB connector and its related pins, making the entire cryptographic module inoperable. If evidence of tampering occurs, the Module should be returned to the issuer immediately to be destroyed. Once the cryptographic Module is powered off, all plaintext keys and unprotected CSPs will be zeroized. Table 16: Mechanisms and Actions Required

7.5 EFP/EFT Information

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 39
Temp/Voltage TypeTemperature or VoltageEFP or EFTResult
LowTemperature-30CEFPZeroization/Shutdown
HighTemperature80CEFPZeroization/Shutdown
LowVoltage2.7vEFPShutdown
HighVoltage5.8vEFPShutdown
Temperature TypeTemperature
LowTemperature-30C
HighTemperature80C

Table 17: EFP/EFT Information

7.6 Hardness Testing Temperature Ranges

Table 18: Hardness Testing Temperatures The Module was only tested at nominal room temperature.

8 Non-Invasive Security

The Module does not implement any mitigation method against non-invasive attacks. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 40
Storage Area NameDescriptionPersistence Type
System MemoryOnly stored in volatile memory (RAM) in plaintext.Dynamic
Disk DriveStored in flash in plaintext, associated by memory location (pointer).Static
NameFromToFormat TypeDistribution TypeEntry TypeSFI or Algorithm
Input with Key wrapping using SP800-38fthe hostDisk DriveEncryptedManualElectronicKTS1
Input with Key wrapping using IG D.Gthe hostDisk DriveEncryptedManualElectronicKTS2
Input in plain textthe hostSystem MemoryPlaintextManualElectronicSigVer3
Output with Key wrapping using SP800-38fDisk Drivethe hostEncryptedManualElectronicKTS1
Output with Key wrapping using IG D.GDisk Drivethe hostEncryptedManualElectronicKTS2
Output in plain textSystem Memorythe hostPlaintextManualElectronicSigVer3
Zeroization MethodDescriptionRationaleOperator Initiation
Z1By rebooting the module.Reboot module, all data stored in volatile memory (RAM) will be lostImplicit
Z2Derive NewZeroize the old SSP, and then derive a new SSPExplicit
Z3"FormatDevice" APDU.Format the file system of the device with the specified configuration. Overwrite with 1's followed by reset to default value if appropriate.Explicit
9 Sensitive Security Parameters Management
9.1 Storage Areas

Table 19: Storage Areas D.G D.G Table 20: SSP Input-Output Methods Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 41
Zeroization MethodDescriptionRationaleOperator Initiation
Z4Erased by "DeleteFile" APDUDeletes the specified DF or EF with 0xff.Explicit
Z5Erased by "DestroySessionKey" APDUDestroy the specified session key or all session keys with 0xffExplicit
Z6Erased by "ClearSecureState" APDUClear Auth statusImplicit
Z7SecureMessageKASZeroization of S_ENC, S_MAC, S_Private and S_Pulic keys and generates new of these.Implicit
Z8Automatically destroyed after authentication.Set 0xff to the temporary dataImplicit
Z9Erased by "ChangeWorkingMode" APDUFormat the file system of the device with the specified configuration. Overwrite with 1's followed by reset to default value if appropriate.Explicit
NameDescriptionSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
DRBG_EIEntropHash DRBG entropy input. ESV Cert. #E44y input, Nonce from the entropy source DRBG (Cert. #A2662)1150 - N/AN/A - CSPEntropyRBG
DRBG_See dEntropy input, Nonce from the entropy source DRBG (Cert. #A2662)1724 - N/AN/A - CSPEntropyRBG
DRBG_Stat e KeysDerived from inputs into the Hash_DRBG (V and C) DRBG (Cert. #A2662)440 - 256Symmetric Key - CSPRBGSymGen1 AsymGen1 SigGen1 AsymGen2 SymGen2

Table 21: SSP Zeroization Methods

9.4 SSPs

All usage of these SSPs by the Module are described in the services detailed in Section 4.3 Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 42
NameDescriptionSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
ECDSA Private KeyECDSA Signature Generation keyP256, P512 - 128, 256Asymmetri c Private Key - CSPAsymGen1ECDSA KeyGen (FIPS186-4) (A2663) ECDSA KeyVer (FIPS186-4) (A2663)
KEY_EAUsed to authenticate the host to the module8 and 32 character passwor d - N/APassword - CSPAES-KW (A2660)
KEY_IAUsed to authenticate the module to the host8 and 32 character passwor d - N/APassword - CSPAES-KW (A2660)
KEY_MCUsed to authenticate the Issuer256 - 256Symmetric Key - CSPAES-KW (A2660)
KEY_PINUsed to authenticate the Admin or User8 and 32 character passwor d - N/APassword - CSP
PWD Hash256-bit password hash for KEY_PIN256 - 256Hash Key - CSPHashHash
RSA Private KeyRSA PKCS1 Signature Generation Key2048 - 112Asymmetri c Private Key - CSPAsymGen2RSA KeyGen (FIPS186-4) (A2663)
S_ENCSecure messaging encryption key256 - 256Symmetric Key - CSPKAS1AES-CBC (A2660) AES-CMAC (A2660) AES-ECB (A2660)
S_MACSecure messaging MAC256 - 256MAC Key - CSPKAS1AES-CBC (A2660) AES-CMAC (A2660) AES-ECB (A2660)
S_PrivateEC DH Private key agreement keyP-521 - 256Asymmetri c Private Key - CSPAsymGen1KAS1 ECDSA KeyGen (FIPS186-4) (A2663) ECDSA KeyVer (FIPS186-4) (A2663)

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 43
NameDescriptionSize - StrengthType - CategoryGenerated ByEstablishe d ByUsed By
Session Key (up to 4)1. Data encryption /decryption 2. Wrapping other keys 3. HMAC/CMA C calculation128, 192, 256 - 128, 192, 256Symmetric Key - CSPSymGen1 SymGen2KTS2
HMAC KeyKeys used for HMAC- SHA2-256, HMAC- SHA2-384, and HMAC- SHA2-512HMAC- SHA2- 256, HMAC- SHA2- 384, HMAC- SHA2- 512 - 256, 384, 512MAC key - CSPMessage Authenticatio nMessage Authenticatio n
ECDSA PublicECDSA Verification and KASP256, P521 - 128, 256Asymmetri c Public Key - PSPAsymGen1KAS-ECC Sp800-56Ar3 (A2659) ECDSA SigVer (FIPS186-4) (A2663)
RSA Public KeyRSA PKCS1 Verification Key2048 - 112Asymmetri c Public Key - PSPAsymGen2RSA SigVer (FIPS186-4) (A2663)
S_HostSecure messaging ephemeral host public keyP-256, P-512 - 128, 256Asymmetri c Public Key - PSPKAS-ECC Sp800-56Ar3 (A2659) ECDSA KeyVer (FIPS186-4) (A2663)
S_PublicSecure messaging ephemeral module public keyP-256, P-512 - 128, 256Asymmetri c Public Key - PSPAsymGen1KAS-ECC Sp800-56Ar3 (A2659) ECDSA SigVer (FIPS186-4) (A2663)
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
DRBG_EISystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z9DRBG_Seed:Used with Hash_DRBG

Table 22: SSP Table 1 Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 44
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
DRBG_SeedSystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z9DRBG_EI:Derived from entropy source output and nonce DRBG_State Keys:Used by the Hash_DRBG
DRBG_State KeysSystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z9DRBG_Seed:Derived from entropy source output and nonce ECDSA Private:Derived from the DRBG into the HASH_DRBG RSA Private Key:Derived from the DRBG into the HASH_DRBG ECDSA Public:Derived from the DRBG into the HASH_DRBG RSA Public Key:Derived from the DRBG into the HASH_DRBG S_Private:Derived from the DRBG into the HASH_DRBG S_Public:Derived from the DRBG into the HASH_DRBG
ECDSA Private KeyInput with Key wrapping using SP800-38f Output with Key wrapping using SP800-38fDisk Drive :PlaintextN/AZ1 Z3 Z4 Z9DRBG_State Keys:Derived From ECDSA Public:Paired With
KEY_EAInput with Key wrapping using IG D.GDisk Drive :PlaintextN/AZ1 Z3 Z9
KEY_IAInput with Key wrapping using IG D.GDisk Drive :PlaintextN/AZ3 Z9
KEY_MCInput with Key wrapping using IG D.GDisk Drive :PlaintextN/AZ3 Z9

D.G D.G D.G Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 45
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
KEY_PINInput with Key wrapping using IG D.GDisk Drive :EncryptedN/AZ3 Z4 Z9PWD Hash:As hash value of KEY_PIN
PWD HashSystem Memory :PlaintextUntil it is usedZ3 Z8 Z9KEY_PIN:As the original value
RSA Private KeyInput with Key wrapping using SP800-38f Output with Key wrapping using SP800-38fDisk Drive :PlaintextN/AZ3 Z4 Z9DRBG_State Keys:Used With RSA Public Key:Paired With
S_ENCSystem Memory :PlaintextUntil the module is rebootedZ1 Z2 Z3 Z6 Z7 Z9S_Private:Join the derive process with S_MAC S_MAC:Used With
S_MACSystem Memory :PlaintextUntil the module is rebootedZ1 Z2 Z3 Z6 Z7 Z9S_Private:Join the derive process with S_ENC S_ENC:Used With
S_PrivateSystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z7 Z9S_ENC:Join the derive process with S_MAC S_MAC:Join the derive process with S_ENC S_Public:Paired With
Session Key (up to 4)Input with Key wrapping using SP800-38f Output with Key wrapping using SP800-38fSystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z5 Z6 Z7 Z9DRBG_State Keys:Use random value as session key
HMAC KeySystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z5 Z6 Z7 Z9Session Key (up to 4):Used With

D.G Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 46
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
ECDSA PublicOutput with Key wrapping using IG D.GDisk Drive :PlaintextN/AZ3 Z4 Z9ECDSA Private Key:Paired With
RSA Public KeyOutput with Key wrapping using IG D.GDisk Drive :PlaintextN/AZ3 Z4 Z9RSA Private Key:Paired With
S_HostInput in plain textSystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z6 Z9S_Private:: Join KAS with S_Private S_ENC:Derive from KAS, as a shared secret S_MAC:Derive from KAS, as a shared secret
S_PublicOutput in plain textSystem Memory :PlaintextUntil the module is rebootedZ1 Z3 Z6 Z9S_Private:Paired With

D.G D.G Table 23: SSP Table 2 Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 47
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetails
ECDSA SigVer (FIPS186-4) (A2663)ECDSA P- 256Signature VerificationSW/FW Integritysteady green LED will be observed and the GetHealthStatus APDU command returns code: 0000000000000000Executed on the whole firmware before the Module transition to the idle state.
ESVRCT and APTSP 800-90B Health-TestCritical FunctionSuccess or Failure CodeAs specified in [90B] section 4.4. for start-up requirements
10 Self-Tests
10.1 Pre-Operational Self-Tests

The Module performs self-tests to ensure the proper operation of the Module. Per FIPS 140-3 requirements, these are categorized as either pre-operational self-tests or conditional self-tests. When the mToken CryptoID is powered on, the Pre-Operational self-tests are executed automatically without any operator intervention. If the Module completes the Pre-Operational self-tests successfully, the Module will enter either Approved Mode or Non-Approved Mode depending on the initial configuration of the Module by the Manufacturer or Distributor. If the Module enters approved mode, a steady green LED will be observed; if the module enters Non-Approved mode, a steady red LED will be which indicates that the Pre-Operational self-tests have completed successfully. If any Pre-Operational self-test fails, the Module enters into the Error state. All data output is prohibited, and no further cryptographic operation is allowed. The green LED will blink quickly (flashing every 200ms), and the module will return an error code to indicate that the Module is in the Error state. The on-demand self-tests can be invoked by the HealthCheck APDU command or by unplugging the token and plugging it back in to reinitiate the Pre-Operational self-tests. The Module logs the last self-test error which can be retrieved via the APDU command GetHealthStatus.

  1. The Error log is stored on RAM, which records two types of errors: self-test error and error returned from module function interface. For detail error definition, please refer to the table description of STATUS CODE+ algorithm self-test status of “mToken CryptoID APDU Specification V1.4”.
  2. Obtain the error log via 80 05 command. No interface exists to modify/delete error log. While executing the read command, requires check the module’s authority, if is not login status of authorized user (CO/USR), then return error 0x6982. Authorized user may obtain certain log records after verifying PIN. By default, this will return “0”, if there are no errors; otherwise, the latest error will be returned. The Module performs the following pre-operational self-tests in table below: Longmai Public Material – May be reproduced only in its original entirety (without revision).
Page 48

Table 24: Pre-Operational Self-Tests Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 49
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
AES-ECB (A2660)AES-128 ECBKATCASTsteady green LED will be observed and the GetHealthStatus APDU command returns code: 0000000000000000Encryptionbootup
AES- CMAC (A2660)256KATCASTSuccess or Failure CodeAuthentication Encryptionbootup
AES-ECB (A2660)AES-128 ECBKATCASTSuccess or Failure CodeDecryptionbootup
AES- CMAC (A2660)256KATCASTSuccess or Failure CodeAuthenticated Decryptionbootup
Hash DRBG (A2662)SHA2-256KATCASTSuccess or Failure CodeHash_DRBG health tests per SP 800-90A Section 11.3 (Generate, Instantiate, and reseed)bootup
ECDSA SigGen (FIPS186- 4) (A2663)P-521KATCASTSuccess or Failure CodeSignature Generationbootup
ECDSA SigVer (FIPS186- 4) (A2663)P-521KATCASTSuccess or Failure CodeSignature Verificationbootup
ECDSA KeyGen (FIPS186- 4) (A2663)P-521PCT inclusive to KeyGen and KeyVerPCTSuccess or Failure CodeKey Generation Pairwise Consistency Test for Signature Generation and ECDH key generation. Inclusive to KeyGen and KeyVerbootup
ESVRCT and APTSP 800- 90B Health- TestCASTSuccess or Failure CodeAs specified in [90B] section 4.4 for continuous testsContinuous
10.2 Conditional Self-Tests

The Module performs the following conditional self-tests in the table below: Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 50
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetailsConditions
HMAC- SHA2-256 (A2661)HMAC- SHA2-256KATCASTSuccess or Failure CodeHMAC-SHA2- 256 KATbootup
HMAC- SHA2-384 (A2661)HMAC- SHA2-384KATCASTSuccess or Failure CodeHMAC-SHA2- 384 KATbootup
HMAC- SHA2-512 (A2661)HMAC- SHA2-512KATCASTSuccess or Failure CodeHMAC-SHA2- 512 KATbootup
RSA SigGen (FIPS186- 4) (A2663)2048-bit RSA PKCSv1.5 with SHA2- 224KATCASTSuccess or Failure CodeSignature Generationbootup
RSA SigVer (FIPS186- 4) (A2663)2048-bit RSA PKCSv1.5 with SHA2- 224KATCASTSuccess or Failure CodeSignature Verificationbootup
RSA KeyGen (FIPS186- 4) (A2663)2048-bitPCTPCTSuccess or Failure CodeRSA Pairwise Consistency TestWhen a new RSA key is generated
SHA2-256 (A2661)SHA2-256KATCASTSuccess or Failure CodeSHA2-256 KATbootup
SHA2-384 (A2661)SHA2-384KATCASTSuccess or Failure CodeSHA2-384 KATbootup
SHA2-512 (A2661)SHA2-512KATCASTSuccess or Failure CodeSHA2-512 KATbootup
KAS-ECC Sp800- 56Ar3 (A2659)Primitive Z and KDFKATCASTSuccess or Failure CodePer IG D.F, separately tested Primitive Z and KDFbootup
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
ECDSA SigVer (FIPS186-4) (A2663)Signature VerificationSW/FW IntegrityAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test

Table 25: Conditional Self-Tests Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 51
Algorithm or TestTest MethodTest TypePeriodPeriodic Method until the APDU command processing is completed.
ESVSP 800-90B Health-TestCritical FunctionN/AN/A
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-ECB (A2660)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed.
AES-CMAC (A2660)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed.
AES-ECB (A2660)KATCASTAutomatically performed by the Module every 2 minutesAutomatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed

Table 26: Pre-Operational Periodic Information Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 52
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-CMAC (A2660)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
Hash DRBG (A2662)KATCASTAutomatically performed before Reseed. When the bit number less than 2^48Automatically performed: programmatically
ECDSA SigGen (FIPS186-4) (A2663)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
ECDSA SigVer (FIPS186-4) (A2663)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
ECDSA KeyGen (FIPS186-4) (A2663)PCT inclusive to KeyGen and KeyVerPCTN/AN/A
ESVSP 800-90B Health-TestCASTContinuousAs specified in [90B] section 4.4 for continuous tests
HMAC-SHA2-256 (A2661)KATCASTAutomatically performed by theAutomatically performed:

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 53
Algorithm or TestTest MethodTest TypePeriod Module every 2 minutes.Periodic Method programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
HMAC-SHA2-384 (A2661)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
HMAC-SHA2-512 (A2661)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
RSA SigGen (FIPS186-4) (A2663)KATCASTAutomatically performed by the Module every 2 minutes.utomatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
RSA SigVer (FIPS186-4) (A2663)KATCASTAutomatically performed by theAutomatically performed: programmatically;

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 54
Algorithm or TestTest MethodTest TypePeriod Module every 2 minutes.Periodic Method If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
RSA KeyGen (FIPS186-4) (A2663)PCTPCTN/AN/A
SHA2-256 (A2661)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
SHA2-384 (A2661)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
SHA2-512 (A2661)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed

Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 55
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
KAS-ECC Sp800- 56Ar3 (A2659)KATCASTAutomatically performed by the Module every 2 minutes.Automatically performed: programmatically; If the module is in the process of executing an APDU command it will delay the periodic self-test until the APDU command processing is completed
NameDescriptionConditionsRecovery MethodIndicator
C_HEALTH_ERRORThe Module fails a self-test.Noise Generator Self-Test Error Symmetric Algorithm Self- Test Error Pairwise consistency test ErrorReboot moduleThe Module enters the error state and outputs status indication: The green LED blinks every 200ms

Table 27: Conditional Periodic Information

10.4 Error States
11 Life-Cycle Assurance
11.1 Installation, Initialization, and Startup Procedures

Installation and Initialization: Physical access to the Module shall be limited to the Crypto-Officer, and the CO shall be responsible for putting the module into the Approved mode upon initialization. First time access to the mToken CryptoID requires the CO to connect to the module and perform the initialization steps via the Factory Tool. The following steps must be performed by the CO to securely install, initialize and start up the cryptographic module in the FIPS 140-3 Approved mode of operation: Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 56
  1. The Issuer should open the Factory Tool, click Find button then Connect if the connected module is listed on the drop-down list next to the Find button. Select FIPS Mode checkbox and then click FormatDevice to initialize the Module. The process of FormatDevice is to clear all CSPs and set the module to Approved Mode. At this point, the Module’s LED will flash Green which indicates the operation has been done successfully.
  2. The Issuer needs to re-plug the Module to continue the setting. Repeat the Find then Connect step. To ensure module’s security, the default keys must be changed upon the first use, thus no further steps are allowed until the default keys are changed. The Issuer should be responsible for keeping the new keys secure.
  3. The Issuer needs to input correct KEY_MC, then click ExternalAuth to perform the Key Auth of the CO role., Later click SecureMessageKAS to establish an encrypted connection to initialize the device.
  4. The Issuer needs click InstallPin to install KEY_PIN of Admin and User. Admin PIN is "admin123" by default; User PIN is "12345678" by default.
  5. The Issuer may click ChangeWorkingMode to switch the module to Approved Mode or Non-Approved Mode accordingly, but the prerequisite is that the CO role is authenticated. Startup Procedures The security rules for Module usage are listed below for the Crypto Officer and User roles: • SecureMessageKAS service is required to be used to establish a secure channel between the Module and the host application running on a GPC before requesting any service. • The operator should check the LED status indicator to determine the state of the Module. • The operators should logout when they finish using the Module to maintain secure usage of the module. The operators can logout by calling the ClearSecureState APDU command or by unplugging the module from the GPC. The security rules for Module usage are listed below for the Crypto Officer role: • When installing the KEY_MC and KEY_PIN, the “LeftRetryTimes” field is required to be set to fifteen (15) so that the Module will block the KEY_MC and KEY_PIN after fifteen (15) failed login attempts. • The default value of KEY_MC is defined and exchanged between the Manufacturer and the Distributor as part of the contract. It is the Issuer’s responsibility to change the default key immediately once he/she receives the module. The Issuer can use the ChangeSecretKey APDU command to change the KEY_MC. • The Issuer should call the GetData APDU command to ensure that the module is configured to operate in approved mode. If the module is not configured to operate in approved mode, the Issuer should refer to Section 2.5 “Modes of Operation” for instructions on how to configure the module to operate in approved mode. • The Manufacturer provides a secure delivery and distribution process to maintain the integrity of the module. The Distributor should inspect the exterior of the delivered package and the tamper tab on each box that contains the modules and confirm the basic information matching with the received modules. Please refer to document “mToken CryptoID Configuration Management Plan” for more information. The security rules for module usage are listed below for the User role: • The default values of KEY_PIN (i.e., Admin PIN and User PIN) are required to be securely delivered to the end user by the Distributor to maintain the integrity of the module. It is the end Longmai Public Material – May be reproduced only in its original entirety (without revision).
Page 57

user’s responsibility to change the default KEY_PIN immediately once they receive the module. The end user can use the ChangeSecretKey APDU command to change the KEY_PIN. Delivery: The Module is shipped from the manufacturer without initialization to the Issuer (CO). The following steps must be performed to securely deliver the mToken CryptoID cryptographic Module to the authorized operator:

  1. The CO shall receive the Module from Longmai via trusted couriers (e.g., United Parcel Service, Federal Express, etc.).
  2. On receipt, the CO must inspect the delivered package for any tampering and if any signs of tampering are found, the CO should contact Longmai.
11.2 Administrator Guidance

This Module needs to negotiate a pair of AES Keys (S_ENC and S_ENC) to allow authentication and secure initialization of the Module. All communications to initialize the Module will require a secure session using this key pair which will encrypt and authenticate all data input. During module initialization, the operator of the Module will only operate it in approved mode and provide only approved and allowed security functions. To confirm operation in the Approved Mode of Operation, the operator can use the “Get Data” APDU command. All communication of the module will require a secure session using the S_ENC and S_ENC for encrypting and MACing all data input and output. Operators shall maintain physical possession of the device until keys are zeroized successfully. In this way, the zeroization technique is performed in a time that will not allow the CSPs to be compromised.

11.3 Non-Administrator Guidance

The Admin and User role can’t initialize the device, install KEY_MC, KEY_IA, KEY_EA or KEY_PIN, and can’t change the work mode either. After the Admin and User role performs KEY_PIN authentication, it can create and delete CSP files such as public and private keys.

11.4 Design and Rules [O]

Rules of Operation

  1. The Module provides three (3) distinct operator roles: Issuer (CO), Admin, and User.
  2. The Module provides identity-based authentication.
  3. The Module clears previous authentications on power cycle. Longmai Public Material – May be reproduced only in its original entirety (without revision).
Page 58
  1. An operator does not have access to any cryptographic services prior to assuming an authorized role.
  2. The Module allows the operator to initiate pre-operational and conditional self-tests via command as well as restarting the Module.
  3. Pre-Operational self-tests do not require any operator action.
  4. Data output is inhibited during key generation, self-tests, zeroization, and error states.
  5. Status information does not contain CSPs or sensitive data that if misused could lead to a compromise of the Module.
  6. There are no restrictions on which keys or SSPs are zeroized by the zeroization service.
  7. The Module does not support concurrent operators.
  8. The Module does not support a maintenance interface or role.
  9. The Module does not support a manual SSP establishment method.
  10. The Module does not have any proprietary external input/output devices used for entry/output of data.
  11. The Module does not enter or output plaintext CSPs.
  12. The Module does not output intermediate key values.
  13. The Module does not provide bypass services for ports/interfaces.
11.5 Maintenance Requirements
11.6 End of Life

After the end-of-life, the operator should send the device back to the Issuer (CO). The CO should zeroize all SSPs using the “FormatDevice“ service followed by shredding the Module.

12 Mitigation of Other Attacks

The Module implement the following mitigation methods against other attacks. Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 59
AbbreviationFull Specification Name
[FIPS140-3]Security Requirements for Cryptographic Modules, March 22, 2019
[APDU]mToken CryptoID APDU Specification, Century Longmai Technology Co. Ltd, December 29, 2021
[ISO19790]International Standard, ISO/IEC 19790, Information technology — Security techniques — Test requirements for cryptographic modules, Third edition, March 2017
[ISO24759]International Standard, ISO/IEC 24759, Information technology — Security techniques — Test requirements for cryptographic modules, Second and Corrected version, 15 December 2015
[IG]Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program, November 22, 2023
[108]NIST Special Publication 800-108r1, Recommendation for Key Derivation Using Pseudorandom Functions (Revised), August 2022
[131A]Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths, Revision 2, March 2019
[132]NIST Special Publication 800-132, Recommendation for Password-Based Key Derivation, Part 1: Storage Applications, December 2010
[133]NIST Special Publication 800-133, Recommendation for Cryptographic Key Generation, Revision 2, June 2020
[135]National Institute of Standards and Technology, Recommendation for Existing Application- Specific Key Derivation Functions, Special Publication 800-135rev1, December 2011.
[186]National Institute of Standards and Technology, Digital Signature Standard (DSS), Federal Information Processing Standards Publication 186-4, July 2013.
[197]National Institute of Standards and Technology, Advanced Encryption Standard (AES), Federal Information Processing Standards Publication 197, November 26, 2001
[198]National Institute of Standards and Technology, The Keyed-Hash Message Authentication Code (HMAC), Federal Information Processing Standards Publication 198-1, July, 2008
[180]National Institute of Standards and Technology, Secure Hash Standard, Federal Information Processing Standards Publication 180-4, August, 2015
[202]FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION, SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions, FIPS PUB 202, August 2015
[38A]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation, Methods and Techniques, Special Publication 800-38A, December 2001

References and Definitions The following standards may be referred to in this Security Policy. Table 29 - References Longmai Public Material – May be reproduced only in its original entirety (without revision).

Page 60
AbbreviationFull Specification Name
[38B]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication, Special Publication 800-38B, May 2005
[38C]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: The CCM Mode for Authentication and Confidentiality, Special Publication 800- 38C, May 2004
[38D]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC, Special Publication 800-38D, November 2007
[38E]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices, Special Publication 800-38E, January 2010
[38F]National Institute of Standards and Technology, Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping, Special Publication 800-38F, December 2012
[56Ar3]NIST Special Publication 800-56A Revision 3, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, April 2018
[56Br2]NIST Special Publication 800-56B Revision 2, Recommendation for Pair-Wise Key Establishment Schemes Using Finite Field Cryptography, March 2019
[56Cr2]NIST Special Publication 800-56C Revision 2, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, August 2020
[67]National Institute of Standards and Technology, Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher, Special Publication 800-67, May 2004
[90A]National Institute of Standards and Technology, Recommendation for Random Number Generation Using Deterministic Random Bit Generators, Special Publication 800-90A, Revision 1, June 2015.
[90B]National Institute of Standards and Technology, Recommendation for the Entropy Sources Used for Random Bit Generation, Special Publication 800-90B, January 2018.
AcronymDefinition
APDUApplication Protocol Data Unit
CCIDCircuit Cards Interface Device
MFMaster File. The root directory, contains all other directories and file
DFDedicated File. A directory contains other files and sub DF
EFElementary File. A file contains data, can be Binary File, Linear Variable Record File, Public Key File or Private Key File
ICIntegrated Circuit

Table 30

Page 61
AcronymDefinition
LEDLight Emitting Diode
PINPersonal Identification Number
PKIPublic Key Infrastructure

Longmai Public Material – May be reproduced only in its original entirety (without revision).