mToken CryptoID

Certificate details

Certificate ID #4845
Status active
Validation dates 21.10.2024
Sunset date 20-10-2029
Standard FIPS 140-3
Security level 3
Type Hardware
Embodiment Multi-Chip Stand Alone
Caveat When installed, initialized and configured as specified in Section 11of the Security Policy. When operated in approved mode
Exceptions
  • Operational environment: N/A
  • Non-invasive security: N/A
  • Mitigation of other attacks: N/A
Description mToken CryptoID is designed based on a secure smartcard chip that utilizes the in-built mCOS to communicate with Computer device via USB interface in a "plug and play" manner. It can realize various Public Key Infrastructure (PKI) applications including digital signature, online authentications, online transactions, software security, etc.
Vendor Century Longmai Technology Co. Ltd http://www.longmai.net/
Lab UL Verification Services, Inc.
Algorithms
  • AES-CBCA2660
  • AES-CMACA2660
  • AES-ECBA2660
  • AES-KWA2660
  • ECDSA KeyGen (FIPS186-4)A2663
  • ECDSA KeyVer (FIPS186-4)A2663
  • ECDSA SigGen (FIPS186-4)A2663
  • ECDSA SigVer (FIPS186-4)A2663
  • Hash DRBGA2662
  • HMAC-SHA2-256A2661
  • HMAC-SHA2-384A2661
  • HMAC-SHA2-512A2661
  • KAS-ECC Sp800-56Ar3A2659
  • RSA KeyGen (FIPS186-4)A2663
  • RSA SigGen (FIPS186-4)A2663
  • RSA SigVer (FIPS186-4)A2663
  • SHA2-256A2661
  • SHA2-384A2661
  • SHA2-512A2661
References

This certificate's webpage directly references 0 certificates, transitively this expands into 0 certificates.

Security policy

Extracted keywords

Symmetric Algorithms
AES, AES-256, AES-128, AES-, CAST, Triple-DES, TDEA, HMAC, CMAC
Asymmetric Algorithms
ECDH, ECDSA, DH
Hash functions
SHA-1, SHA-3
Schemes
MAC, Key Agreement
Protocols
SSL, VPN
Randomness
DRBG, RBG
Elliptic Curves
P-256, P-521, P-512
Block cipher modes
ECB, GCM, CCM

Trusted Execution Environments
PSP
Vendor
Microsoft

Security level
Level 3

Automated analysis

Automated inference - use with caution

All attributes shown in this section (e.g., links between certificates, products, vendors, and known CVEs) are generated by automated heuristics and have not been reviewed by humans. These methods can produce false positives or false negatives and should not be treated as definitive without independent verification. This applies equally to the Cross-references section below. If you want to know more about how this data is computed and how reliable it is, see our documentation on automated analysis. If you believe any information here is inaccurate or harmful, please submit feedback.

No automatically derived data are available in this section.

Cross-references

No references are available for this certificate.

Processing updates

Feed
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate data changed.
  • The certificate was first processed.

Raw data

{
  "_type": "sec_certs.sample.fips.FIPSCertificate",
  "cert_id": 4845,
  "dgst": "74f8d4b5c1276fad",
  "heuristics": {
    "_type": "sec_certs.sample.fips.FIPSCertificate.Heuristics",
    "algorithms": {
      "_type": "Set",
      "elements": [
        "ECDSA SigGen (FIPS186-4)A2663",
        "KAS-ECC Sp800-56Ar3A2659",
        "Hash DRBGA2662",
        "SHA2-256A2661",
        "RSA SigGen (FIPS186-4)A2663",
        "ECDSA KeyGen (FIPS186-4)A2663",
        "RSA SigVer (FIPS186-4)A2663",
        "#A2663",
        "#A2659",
        "HMAC-SHA2-256A2661",
        "HMAC-SHA2-384A2661",
        "AES-CBCA2660",
        "HMAC-SHA2-512A2661",
        "AES-CMACA2660",
        "AES-KWA2660",
        "SHA2-384A2661",
        "#A2662",
        "SHA2-512A2661",
        "ECDSA KeyVer (FIPS186-4)A2663",
        "RSA KeyGen (FIPS186-4)A2663",
        "AES-ECBA2660",
        "#A2660",
        "ECDSA SigVer (FIPS186-4)A2663",
        "#A2661"
      ]
    },
    "cpe_matches": null,
    "direct_transitive_cves": null,
    "extracted_versions": {
      "_type": "Set",
      "elements": [
        "-"
      ]
    },
    "indirect_transitive_cves": null,
    "module_processed_references": {
      "_type": "sec_certs.sample.certificate.References",
      "directly_referenced_by": null,
      "directly_referencing": null,
      "indirectly_referenced_by": null,
      "indirectly_referencing": null
    },
    "module_prunned_references": {
      "_type": "Set",
      "elements": []
    },
    "policy_processed_references": {
      "_type": "sec_certs.sample.certificate.References",
      "directly_referenced_by": null,
      "directly_referencing": null,
      "indirectly_referenced_by": null,
      "indirectly_referencing": null
    },
    "policy_prunned_references": {
      "_type": "Set",
      "elements": []
    },
    "related_cves": null,
    "verified_cpe_matches": null
  },
  "pdf_data": {
    "_type": "sec_certs.sample.fips.FIPSCertificate.PdfData",
    "br1_deviations": 0,
    "br1_tables": {
      "_type": "sec_certs.heuristics.br1.table_parsing.model.br1_tables.BR1Tables",
      "approved_algorithms": {
        "entries": [
          {
            "algorithm": "AES-CBC",
            "cavpCertName": "A2660",
            "properties": "Direction - Decrypt, Encrypt Key Length - 128, 192, 256",
            "reference": "SP 800-38A"
          },
          {
            "algorithm": "AES-CMAC",
            "cavpCertName": "A2660",
            "properties": "Direction - Generation, Verification Key Length - 128, 192, 256",
            "reference": "SP 800-38B"
          },
          {
            "algorithm": "AES-ECB",
            "cavpCertName": "A2660",
            "properties": "Direction - Decrypt, Encrypt Key Length - 128, 192, 256",
            "reference": "SP 800-38A"
          },
          {
            "algorithm": "AES-KW",
            "cavpCertName": "A2660",
            "properties": "Direction - Decrypt, Encrypt Key Length - 128, 192, 256",
            "reference": "SP 800-38F"
          },
          {
            "algorithm": "ECDSA KeyGen (FIPS186-4)",
            "cavpCertName": "A2663",
            "properties": "Curve - P-256, P-521",
            "reference": "FIPS 186-4"
          },
          {
            "algorithm": "ECDSA KeyVer (FIPS186-4)",
            "cavpCertName": "A2663",
            "properties": "Curve - P-256, P-521",
            "reference": "FIPS 186-4"
          },
          {
            "algorithm": "ECDSA SigGen (FIPS186-4)",
            "cavpCertName": "A2663",
            "properties": "Component - No Curve - P-256, P-521",
            "reference": "FIPS 186-4"
          },
          {
            "algorithm": "ECDSA SigVer (FIPS186-4)",
            "cavpCertName": "A2663",
            "properties": "Component - No Curve - P-256, P-521",
            "reference": "FIPS 186-4"
          },
          {
            "algorithm": "Hash DRBG",
            "cavpCertName": "A2662",
            "properties": "Prediction Resistance - No Mode - SHA2-256",
            "reference": "SP 800-90A Rev. 1"
          },
          {
            "algorithm": "HMAC-SHA2-256",
            "cavpCertName": "A2661",
            "properties": "Key Length - Key Length: 128-256 Increment 8",
            "reference": "FIPS 198-1"
          },
          {
            "algorithm": "HMAC-SHA2-384",
            "cavpCertName": "A2661",
            "properties": "Key Length - Key Length: 128-256 Increment 8",
            "reference": "FIPS 198-1"
          },
          {
            "algorithm": "HMAC-SHA2-512",
            "cavpCertName": "A2661",
            "properties": "Key Length - Key Length: 128-256 Increment 8",
            "reference": "FIPS 198-1"
          },
          {
            "algorithm": "KAS-ECC Sp800- 56Ar3",
            "cavpCertName": "A2659",
            "properties": "Domain Parameter Generation Methods - P-256, P-521 Function - Key Pair Generation Scheme - ephemeralUnified - KAS Role - Initiator, Responder Key Length - 256",
            "reference": "SP 800-56A Rev. 3"
          },
          {
            "algorithm": "RSA KeyGen (FIPS186-4)",
            "cavpCertName": "A2663",
            "properties": "Key Generation Mode - B.3.3 Modulo - 2048 Primality Tests - Table C.2 Private Key Format - Standard",
            "reference": "FIPS 186-4"
          },
          {
            "algorithm": "RSA SigGen (FIPS186-4)",
            "cavpCertName": "A2663",
            "properties": "Signature Type - PKCS 1.5 Modulo - 2048",
            "reference": "FIPS 186-4"
          },
          {
            "algorithm": "RSA SigVer (FIPS186- 4)",
            "cavpCertName": "A2663",
            "properties": "Signature Type - PKCS 1.5 Modulo - 2048",
            "reference": "FIPS 186-4"
          },
          {
            "algorithm": "SHA2-256",
            "cavpCertName": "A2661",
            "properties": "-",
            "reference": "FIPS 180-4"
          },
          {
            "algorithm": "SHA2-384",
            "cavpCertName": "A2661",
            "properties": "-",
            "reference": "FIPS 180-4"
          },
          {
            "algorithm": "SHA2-512",
            "cavpCertName": "A2661",
            "properties": "-",
            "reference": "FIPS 180-4"
          }
        ],
        "found": true,
        "section": 2,
        "subsection": 5
      },
      "approved_services": {
        "entries": [
          {
            "description": "Initialize and format the file system. Can also use to configure certain mode. Set authenticatio n keys. Performing the zeroization service.",
            "indicator": "Approv ed Mode",
            "inputs": "Format configuratio n, or working mode configuratio n, authenticati on keys",
            "name": "FormatDevice",
            "outputs": "Set new configurati ons to module",
            "rolesSspAccess": "Issuer (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:",
            "secFunImpl": "None"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "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",
            "secFunImpl": ""
          },
          {
            "description": "Change working mode: Approved or Non- Approved",
            "indicator": "Approv ed Mode",
            "inputs": "Mode (Approved/N on- Approved)",
            "name": "ChangeWorkingMod e",
            "outputs": "Switch to certain mode",
            "rolesSspAccess": "Issuer (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",
            "secFunImpl": "None"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "- 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",
            "secFunImpl": ""
          },
          {
            "description": "Install a new KEY_PIN",
            "indicator": "Approv ed Mode",
            "inputs": "KEY_PIN for current ADF, key metadata",
            "name": "InstallPIN(secure messaging only)",
            "outputs": "N/A",
            "rolesSspAccess": "Issuer (CO) - KEY_PIN: W",
            "secFunImpl": "None"
          },
          {
            "description": "Reseed DRBG with internal entropy.",
            "indicator": "Approv ed Mode",
            "inputs": "Internal Entropy",
            "name": "DRBGReseed",
            "outputs": "DRBG reseed",
            "rolesSspAccess": "Issuer (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",
            "secFunImpl": "RBG Entropy"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "ate Keys: G,E User - DRBG_EI: G,E - DRBG_Se ed: G,E - DRBG_St ate Keys: E",
            "secFunImpl": ""
          },
          {
            "description": "Get max available space for file system",
            "indicator": "Approv ed Mode",
            "inputs": "None",
            "name": "GetFSMaxSpace~",
            "outputs": "Available space",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Get the smart card chip serial number",
            "indicator": "Approv ed Mode",
            "inputs": "None",
            "name": "GetChipID~",
            "outputs": "Chip ID",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Get self-test result",
            "indicator": "Approv ed Mode",
            "inputs": "None",
            "name": "GetHealthStatus~",
            "outputs": "Self-test result",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Get self-test and last cmd error log",
            "indicator": "Approv ed Mode",
            "inputs": "None",
            "name": "GetErrorLog~",
            "outputs": "Get self- test and last cmd error log",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "On demand self-test",
            "indicator": "Approv ed Mode",
            "inputs": "None",
            "name": "HealthCheck~",
            "outputs": "Perform on demand self-test again",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Generate 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/256",
            "indicator": "Approv ed Mode",
            "inputs": "Algorithm IDs, KAS input keys, Key ID",
            "name": "SessionKeyKAS",
            "outputs": "AsymAlgID , PublicKey",
            "rolesSspAccess": "Admin - 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:",
            "secFunImpl": "KTS1 AsymGen1"
          },
          {
            "description": "Generate a Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "Key ID, Alg ID",
            "name": "GenSessionKey",
            "outputs": "Generate session key with DRBG engine",
            "rolesSspAccess": "Key: G,E Admin - 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",
            "secFunImpl": "SymGen1 SymGen2 RBG"
          },
          {
            "description": "Destroy Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "Key ID",
            "name": "DestroySessionKey",
            "outputs": "Destroy the certain session key, or destroy all",
            "rolesSspAccess": "Admin - Session Key (up to 4): Z User - Session Key (up to 4): Z",
            "secFunImpl": "None"
          },
          {
            "description": "Get the Session Key\u0027s algorithm",
            "indicator": "Approv ed Mode",
            "inputs": "Key ID",
            "name": "GetSessionInfo",
            "outputs": "Alg ID",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Description",
            "indicator": "Indicat or",
            "inputs": "Inputs",
            "name": "Name",
            "outputs": "Outputs",
            "rolesSspAccess": "SSP",
            "secFunImpl": "Security Functions"
          },
          {
            "description": "Create a DF or EF",
            "indicator": "Approv ed Mode",
            "inputs": "File metadata (access control, secure message req., etc.)",
            "name": "Create File",
            "outputs": "Create a DF or EF",
            "rolesSspAccess": "Access Issuer (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",
            "secFunImpl": "None"
          },
          {
            "description": "Delete a DF or EF",
            "indicator": "Approv ed Mode",
            "inputs": "File identifier",
            "name": "Delete File",
            "outputs": "Delete a DF or EF",
            "rolesSspAccess": "Key: W,Z Issuer (CO) - RSA Public Key: W,Z - RSA Private Key: W,Z - ECDSA Public: W,Z - ECDSA Private",
            "secFunImpl": "None"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "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",
            "secFunImpl": ""
          },
          {
            "description": "Read binary file data",
            "indicator": "Approv ed Mode",
            "inputs": "File identifier",
            "name": "ReadBinary",
            "outputs": "Binary file data",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Update binary file data",
            "indicator": "Approv ed Mode",
            "inputs": "File identifier, binary data",
            "name": "UpdateBinary",
            "outputs": "Update data into binary file",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Append new record to record file",
            "indicator": "Approv ed Mode",
            "inputs": "File identifier, record data",
            "name": "AppendRecord",
            "outputs": "Record ID",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Read record data of record file",
            "indicator": "Approv ed Mode",
            "inputs": "File identifier, record data",
            "name": "ReadRecord",
            "outputs": "read data",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Update data into a record of the record file",
            "indicator": "Approv ed Mode",
            "inputs": "File identifier, record data",
            "name": "UpdateRecord",
            "outputs": "Update Record",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Get device information (Module name, hardware, firmware versions, approved status) or get the specified",
            "indicator": "Approv ed Mode",
            "inputs": "Info tag/identifier",
            "name": "Get Data",
            "outputs": "Device info",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "tag data. Authenticatio n is required for tag ID 0x4000- 0XFFFF according to the \"Read\" access control of EF 3F01",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "",
            "secFunImpl": ""
          },
          {
            "description": "Set device information or save the specified tag data",
            "indicator": "Approv ed Mode",
            "inputs": "Info tag, new device info",
            "name": "Put Data",
            "outputs": "Set device info or save the specified tag data",
            "rolesSspAccess": "Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Select a DF or EF and get the information",
            "indicator": "Approv ed Mode",
            "inputs": "File identification",
            "name": "Select File",
            "outputs": "Select a DF or EF, and get detail info",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Change the specified KEY_MC, KEY_IA, KEY_PIN, KEY_EA",
            "indicator": "Approv ed Mode",
            "inputs": "Key identifier, new key value",
            "name": "ChangeSecretKey(s ecure messaging only)",
            "outputs": "Change the specified key value",
            "rolesSspAccess": "Issuer (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",
            "secFunImpl": "None"
          },
          {
            "description": "Unblock the specified Keys. Admin can unblock KEY_PIN, Issuer can unblock KEY_EA under MF",
            "indicator": "Approv ed Mode",
            "inputs": "Key ID, PIN or data",
            "name": "UnblockSecretKey(s ecure messaging only)",
            "outputs": "Unblock the specified Key_PIN or Key_EA",
            "rolesSspAccess": "Issuer (CO) - KEY_PIN: W,Z - KEY_EA: W,Z Admin - KEY_PIN: W,Z - KEY_EA: W,Z",
            "secFunImpl": "Hash"
          },
          {
            "description": "Get random challenge data from SP 800-90A DRBG",
            "indicator": "Approv ed Mode",
            "inputs": "length",
            "name": "GetChallenge~",
            "outputs": "Random challenge data",
            "rolesSspAccess": "Issuer (CO) - DRBG_St ate Keys: R,G,E Admin - DRBG_St ate Keys: R,G,E User - DRBG_St ate Keys:",
            "secFunImpl": "RBG"
          },
          {
            "description": "External authenticatio n with KEY_EA",
            "indicator": "Approv ed Mode",
            "inputs": "acknowledg e response",
            "name": "ExternalAuth~",
            "outputs": "Authentica te with KEY_MC or KEY_EA",
            "rolesSspAccess": "Issuer (CO) - KEY_MC: E - KEY_EA: E Admin - KEY_MC: E - KEY_EA: E User - KEY_MC: E - KEY_EA: E",
            "secFunImpl": "KTS1"
          },
          {
            "description": "Internal authenticatio",
            "indicator": "Approv ed Mode",
            "inputs": "authenticati on data",
            "name": "InternalAuth",
            "outputs": "Calculated response",
            "rolesSspAccess": "Issuer (CO) - KEY_IA:",
            "secFunImpl": "KTS1"
          },
          {
            "description": "n with KEY_IA",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "E Admin - KEY_IA: E User - KEY_IA:",
            "secFunImpl": ""
          },
          {
            "description": "Verify Admin or User PIN",
            "indicator": "Approv ed Mode",
            "inputs": "PIN ID, challenge response",
            "name": "Verify Pin",
            "outputs": "Verified PIN",
            "rolesSspAccess": "E Issuer (CO) - KEY_PIN: E Admin - KEY_PIN: E User - KEY_PIN: E",
            "secFunImpl": "KTS1 Hash"
          },
          {
            "description": "Get 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,",
            "indicator": "Approv ed Mode",
            "inputs": "Key ID",
            "name": "GetSecretKeyInfo",
            "outputs": "Alg, type, retry, AC,PIN id Secret role, Default secret flag",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Logoff current DF or MF",
            "indicator": "Approv ed Mode",
            "inputs": "MF, ADF, both, Role/FIPS",
            "name": "ClearSecureState",
            "outputs": "Logoff current ADF or MF",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "None"
          },
          {
            "description": "Import a Session Key that is wrapped by a Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "Alg ID, unwrap key ID, key ID to import, wrapped key value",
            "name": "SymImportSessionK ey",
            "outputs": "Import wrapped session key",
            "rolesSspAccess": "Admin - Session Key (up to 4): W,E User - Session Key (up to 4): W,E",
            "secFunImpl": "KTS1"
          },
          {
            "description": "Export a Session Key that is wrapped by a different Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "wrap key ID, key ID to export",
            "name": "SymExportSessionK ey",
            "outputs": "Alg ID, wrapped key",
            "rolesSspAccess": "Admin - Session Key (up to 4): R,E User - Session",
            "secFunImpl": "KTS1"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "Key (up to 4): R,E",
            "secFunImpl": ""
          },
          {
            "description": "Symmetric algorithm initialization",
            "indicator": "Approv ed Mode",
            "inputs": "Key ID, padding scheme, IV",
            "name": "SymCryptInit~",
            "outputs": "First step of encryption or decryption",
            "rolesSspAccess": "Admin - Session Key (up to 4): E User - Session Key (up to 4): E",
            "secFunImpl": "AES Encryption AES Decryption"
          },
          {
            "description": "Continuously encrypt data part",
            "indicator": "Approv ed Mode",
            "inputs": "plaintext",
            "name": "SymEncryptUpdate~",
            "outputs": "ciphertext",
            "rolesSspAccess": "Admin - Session Key (up to 4): E User - Session Key (up to 4): E",
            "secFunImpl": "AES Encryption"
          },
          {
            "description": "Encrypt the final data part and finish the operation",
            "indicator": "Approv ed Mode",
            "inputs": "plaintext",
            "name": "SymEncryptFinal~",
            "outputs": "ciphertext",
            "rolesSspAccess": "Admin - Session Key (up to 4): E User - Session Key (up to 4): E",
            "secFunImpl": "AES Encryption"
          },
          {
            "description": "Continuously decrypt data part",
            "indicator": "Approv ed Mode",
            "inputs": "ciphertext",
            "name": "SymDecryptUpdate ~",
            "outputs": "plaintext",
            "rolesSspAccess": "Admin - Session Key (up to 4): E User - Session Key (up to 4): E",
            "secFunImpl": "AES Decryption"
          },
          {
            "description": "Decrypt the final data part and finish the operation",
            "indicator": "Approv ed Mode",
            "inputs": "ciphertext",
            "name": "SymDecryptFinal~",
            "outputs": "plaintext",
            "rolesSspAccess": "Admin - Session Key (up to 4): E User - Session Key (up to 4): E",
            "secFunImpl": "AES Decryption"
          },
          {
            "description": "Initialize MAC Calculation",
            "indicator": "Approv ed Mode",
            "inputs": "Key ID",
            "name": "MacInit~",
            "outputs": "Initialize a new Mac operation",
            "rolesSspAccess": "Admin - Session Key (up to 4): E - HMAC Key: E User - Session Key (up to 4): E",
            "secFunImpl": "Message Authenticat ion"
          },
          {
            "description": "MAC calculation update",
            "indicator": "Approv ed Mode",
            "inputs": "Data",
            "name": "MacUpdate~",
            "outputs": "Continue processing another data part",
            "rolesSspAccess": "Key: E Admin - Session Key (up to 4): E - HMAC Key: G,E User - Session Key (up to 4): E - HMAC Key: G,E",
            "secFunImpl": "Message Authenticat ion"
          },
          {
            "description": "MAC calculation finish",
            "indicator": "Approv ed Mode",
            "inputs": "Data",
            "name": "MacFinal~",
            "outputs": "MAC",
            "rolesSspAccess": "Admin - Session Key (up to 4): E - HMAC Key: G,E User - Session Key (up to 4): E - HMAC",
            "secFunImpl": "Message Authenticat ion"
          },
          {
            "description": "Generate asymmetric key pairs",
            "indicator": "Approv ed Mode",
            "inputs": "Pub key ID and Pri Key, Alg ID, use",
            "name": "AsymGenKeypair",
            "outputs": "RSA or ECDSA keypair",
            "rolesSspAccess": "Admin - 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",
            "secFunImpl": "AsymGen1 AsymGen2 AsymVer1"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "Key: G,W,Z - ECDSA Public: G,W,Z - ECDSA Private Key: G,W,Z",
            "secFunImpl": ""
          },
          {
            "description": "Import a public key wrapped by a Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "Unwrap key ID, Pub key ID, Alg ID, use, wrapped key",
            "name": "AsymWrapImportPu b",
            "outputs": "Import a wrapped public key",
            "rolesSspAccess": "Admin - 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",
            "secFunImpl": "KTS2 SigVer1 SigVer2"
          },
          {
            "description": "Import a Public key in plaintext",
            "indicator": "Approv ed Mode",
            "inputs": "Pub key ID, Alg ID, use, Pub key",
            "name": "AsymImportPub",
            "outputs": "Import a plaintext public key",
            "rolesSspAccess": "Admin - 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",
            "secFunImpl": "None"
          },
          {
            "description": "Import a private key wrapped by a Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "Unwrap key ID, Pri key ID, Pub key ID, Alg ID, use, wrapped key",
            "name": "AsymWrapImportPri",
            "outputs": "Import a wrapped private key",
            "rolesSspAccess": "Admin - RSA Private Key: W,Z - ECDSA Private Key: W,Z",
            "secFunImpl": "KTS2 SigGen1 SigGen2"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "- Session Key (up to 4): E User - RSA Public Key: W,Z - ECDSA Public: W,Z - Session Key (up to 4): E",
            "secFunImpl": ""
          },
          {
            "description": "Export a public key wrapped with a Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "Wrap SessionID, Pub key ID",
            "name": "AsymWrapExportPu b",
            "outputs": "Alg ID, use, wrapped key",
            "rolesSspAccess": "Admin - 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",
            "secFunImpl": "KTS2 SigVer1 SigVer2"
          },
          {
            "description": "Export a Public key in plaintext",
            "indicator": "Approv ed Mode",
            "inputs": "Pub key ID",
            "name": "AsymExportPub",
            "outputs": "Alg ID, use, key",
            "rolesSspAccess": "Admin - RSA Public Key: R - ECDSA Public: R User - RSA Public Key: R - ECDSA",
            "secFunImpl": "None"
          },
          {
            "description": "Export a Private key wrapped by a Session Key",
            "indicator": "Approv ed Mode",
            "inputs": "Wrap SessionID, Pri key ID",
            "name": "AsymWrapExportPri",
            "outputs": "Alg ID, use, wrapped key",
            "rolesSspAccess": "Public: R Admin - RSA Private Key: R - ECDSA Private Key: R - Session Key (up to 4): E",
            "secFunImpl": "KTS2 SigGen1 SigGen2"
          },
          {
            "description": "",
            "indicator": "",
            "inputs": "",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "User - RSA Private Key: R - ECDSA Private Key: R - Session Key (up to 4): E",
            "secFunImpl": ""
          },
          {
            "description": "Calculate digital signature",
            "indicator": "Approv ed Mode",
            "inputs": "Pri key ID, Hash Alg ID, hash/data",
            "name": "AsymSign",
            "outputs": "Alg ID, signature",
            "rolesSspAccess": "Admin - RSA Private Key: E - ECDSA Private Key: E User - RSA Private Key: E - ECDSA Private Key: E",
            "secFunImpl": "SigGen1 SigGen2"
          },
          {
            "description": "Verify digital signature",
            "indicator": "Approv ed Mode",
            "inputs": "Pub key ID, Hash Alg ID, signature",
            "name": "AsymVerifySign",
            "outputs": "Alg ID, signature",
            "rolesSspAccess": "Admin - RSA Private Key: E - ECDSA Private Key: E User - RSA Private Key: E - ECDSA Private Key: E",
            "secFunImpl": "SigVer1 SigVer2 SigVer3"
          },
          {
            "description": "Initialize a hash operation",
            "indicator": "Approv ed Mode",
            "inputs": "Alg ID",
            "name": "HashInit~",
            "outputs": "Initialize a hash operation",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "Hash"
          },
          {
            "description": "Continuously hash data part",
            "indicator": "Approv ed Mode",
            "inputs": "Data",
            "name": "HashUpdate~",
            "outputs": "Continue processing another data part",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "Hash"
          },
          {
            "description": "Hash the final data part and get the hash value",
            "indicator": "Approv ed Mode",
            "inputs": "Data",
            "name": "HashFinale~",
            "outputs": "Digest result",
            "rolesSspAccess": "Issuer (CO) Admin User",
            "secFunImpl": "Hash"
          },
          {
            "description": "EC Diffie- Hellman (P- 521) KAS",
            "indicator": "Approv ed Mode",
            "inputs": "Alg ID, kdf hash ID,",
            "name": "SecureMessageKA S~",
            "outputs": "Alg ID, pub key",
            "rolesSspAccess": "Issuer (CO) -",
            "secFunImpl": "KAS1"
          },
          {
            "description": "(including KDF) to generate the Secure Message Keys (S_ENC and S_MAC) to establish a secure channel between the module and the host application",
            "indicator": "",
            "inputs": "otherInfo, pub key",
            "name": "",
            "outputs": "",
            "rolesSspAccess": "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 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",
            "secFunImpl": ""
          }
        ],
        "found": true,
        "section": 4,
        "subsection": 3
      },
      "authentication_methods": {
        "entries": [
          {
            "description": "Single-Factor Cryptographic Software as the cryptographic key (KEY_MC) is only given to a single user.",
            "mechanism": "Challenge- response mechanism: The host application get a random value from the module. The host application then encrypts the random value with the pre-defined",
            "name": "AM#1",
            "perMinute": "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",
            "strength": "The KEY_MC is a 256-bit AES key. The authentication mechanism has a 256-bit security strength which is 1/2^256."
          },
          {
            "description": "",
            "mechanism": "symmetric algorithm and transmits the ciphertext to the module for verification.",
            "name": "",
            "perMinute": "",
            "strength": ""
          },
          {
            "description": "Memorized 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.",
            "mechanism": "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.",
            "name": "AM#2",
            "perMinute": "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.",
            "strength": "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 ~ ` ! @ # $ % ^ \u0026 * ( ) _ + | - = \\ { } [ ] : ; \" \u0027 \u003c \u003e , . ? / Tab and Space) which is 1/96^8."
          }
        ],
        "found": true,
        "section": 4,
        "subsection": 1
      },
      "cond_self_tests": {
        "entries": [
          {
            "algorithmOrTest": "AES-ECB (A2660)",
            "condition": "bootup",
            "details": "Encryption",
            "indicator": "steady green LED will be observed and the GetHealthStatus APDU command returns code: 0000000000000000",
            "testMethod": "KAT",
            "testProps": "AES-128 ECB",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "AES- CMAC (A2660)",
            "condition": "bootup",
            "details": "Authentication Encryption",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "256",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "AES-ECB (A2660)",
            "condition": "bootup",
            "details": "Decryption",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "AES-128 ECB",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "AES- CMAC (A2660)",
            "condition": "bootup",
            "details": "Authenticated Decryption",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "256",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "Hash DRBG (A2662)",
            "condition": "bootup",
            "details": "Hash_DRBG health tests per SP 800-90A Section 11.3 (Generate, Instantiate, and reseed)",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "SHA2-256",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "ECDSA SigGen (FIPS186- 4) (A2663)",
            "condition": "bootup",
            "details": "Signature Generation",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "P-521",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "ECDSA SigVer (FIPS186- 4) (A2663)",
            "condition": "bootup",
            "details": "Signature Verification",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "P-521",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "ECDSA KeyGen (FIPS186- 4) (A2663)",
            "condition": "bootup",
            "details": "Key Generation Pairwise Consistency Test for Signature Generation and ECDH key generation. Inclusive to KeyGen and KeyVer",
            "indicator": "Success or Failure Code",
            "testMethod": "PCT inclusive to KeyGen and KeyVer",
            "testProps": "P-521",
            "type": "PCT"
          },
          {
            "algorithmOrTest": "ESV",
            "condition": "Continuous",
            "details": "As specified in [90B] section 4.4 for continuous tests",
            "indicator": "Success or Failure Code",
            "testMethod": "SP 800- 90B Health- Test",
            "testProps": "RCT and APT",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "HMAC- SHA2-256 (A2661)",
            "condition": "bootup",
            "details": "HMAC-SHA2- 256 KAT",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "HMAC- SHA2-256",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "HMAC- SHA2-384 (A2661)",
            "condition": "bootup",
            "details": "HMAC-SHA2- 384 KAT",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "HMAC- SHA2-384",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "HMAC- SHA2-512 (A2661)",
            "condition": "bootup",
            "details": "HMAC-SHA2- 512 KAT",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "HMAC- SHA2-512",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "RSA SigGen (FIPS186- 4) (A2663)",
            "condition": "bootup",
            "details": "Signature Generation",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "2048-bit RSA PKCSv1.5 with SHA2- 224",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "RSA SigVer (FIPS186- 4) (A2663)",
            "condition": "bootup",
            "details": "Signature Verification",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "2048-bit RSA PKCSv1.5 with SHA2- 224",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "RSA KeyGen (FIPS186- 4) (A2663)",
            "condition": "When a new RSA key is generated",
            "details": "RSA Pairwise Consistency Test",
            "indicator": "Success or Failure Code",
            "testMethod": "PCT",
            "testProps": "2048-bit",
            "type": "PCT"
          },
          {
            "algorithmOrTest": "SHA2-256 (A2661)",
            "condition": "bootup",
            "details": "SHA2-256 KAT",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "SHA2-256",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "SHA2-384 (A2661)",
            "condition": "bootup",
            "details": "SHA2-384 KAT",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "SHA2-384",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "SHA2-512 (A2661)",
            "condition": "bootup",
            "details": "SHA2-512 KAT",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "SHA2-512",
            "type": "CAST"
          },
          {
            "algorithmOrTest": "KAS-ECC Sp800- 56Ar3 (A2659)",
            "condition": "bootup",
            "details": "Per IG D.F, separately tested Primitive Z and KDF",
            "indicator": "Success or Failure Code",
            "testMethod": "KAT",
            "testProps": "Primitive Z and KDF",
            "type": "CAST"
          }
        ],
        "found": true,
        "section": 10,
        "subsection": 2
      },
      "error_states": {
        "entries": [
          {
            "conditions": "Noise Generator Self-Test Error Symmetric Algorithm Self- Test Error Pairwise consistency test Error",
            "description": "The Module fails a self-test.",
            "indicator": "The Module enters the error state and outputs status indication: The green LED blinks every 200ms",
            "name": "C_HEALTH_ERROR",
            "recoveryMethod": "Reboot module"
          }
        ],
        "found": true,
        "section": 10,
        "subsection": 4
      },
      "mechanisms_actions": {
        "entries": [
          {
            "inspectFreq": "During Initialization by CO and Before first use by end user.",
            "inspectGuidance": "Operator should look for damage",
            "mechanism": "Hard enclosure"
          }
        ],
        "found": true,
        "section": 7,
        "subsection": 1
      },
      "modes_of_operation": {
        "entries": [
          {
            "description": "CO can set the module to Approved Mode",
            "name": "Approved Mode",
            "statusIndicator": "Steady green LED is on and the red LED is off. Returns \"01\" from the calling GetData APDU command",
            "type": "Approved"
          },
          {
            "description": "By default, the module will be set to Non-Approved mode by manufacturer.",
            "name": "Non- Approved mode",
            "statusIndicator": "Green LED is off and the steady red LED is on Returns \"00\" from the calling GetData APDU command",
            "type": "Non- Approved"
          }
        ],
        "found": true,
        "section": 2,
        "subsection": 4
      },
      "non_approved_allowed_NSC": {
        "entries": [],
        "found": false,
        "section": 2,
        "subsection": 5
      },
      "non_approved_allowed_algos": {
        "entries": [],
        "found": false,
        "section": 2,
        "subsection": 5
      },
      "non_approved_not_allowed": {
        "entries": [
          {
            "name": "SHA-1",
            "use": "Hashing (not CAVP tested)"
          },
          {
            "name": "RSA",
            "use": "Digital Signature Generation and Verification using 1024 bit keys"
          },
          {
            "name": "KTS",
            "use": "RSA-based Key Wrapping"
          },
          {
            "name": "HMAC-SHA-1",
            "use": "Message Authentication Code (not CAVP tested)"
          },
          {
            "name": "Triple-DES",
            "use": "Encryption and Decryption (not CAVP tested)"
          },
          {
            "name": "CMAC with Triple-DES",
            "use": "Message Authentication Code"
          }
        ],
        "found": true,
        "section": 2,
        "subsection": 5
      },
      "non_approved_services": {
        "entries": [
          {
            "alg_accessed": "SHA-1",
            "description": "Generate a key pair or Session Key using EC Diffie Hellman (P- 256/P-521) KAS and KDF",
            "name": "SessionKeyKAS",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "HMAC-SHA-1 Triple-DES CMAC with Triple-DES",
            "description": "Generate a Session Key",
            "name": "GenSessionKey",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Verify Admin or User PIN.",
            "name": "Verify PIN",
            "role": "Issuer, Admin, User, Unauthenticated"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Import a Session Key that is wrapped by a Session Key",
            "name": "SymImportSessionKey",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Import a Session Key that is wrapped by a Session Key",
            "name": "SymExportSessionKey",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Symmetric algorithm initialization",
            "name": "SymCryptInit",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Continuously encrypt data part",
            "name": "SymEncryptUpdate",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Encrypt the final data part and finish the operation",
            "name": "SymEncryptFinal",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Continuously decrypt data part",
            "name": "SymDecryptUpdate",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Decrypt the final data part and finish the operation",
            "name": "SymDecryptFinal",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "CMAC with Triple-DES",
            "description": "Initialize MAC Calculation",
            "name": "MacInit",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "CMAC with Triple-DES",
            "description": "MAC calculation update",
            "name": "MacUpdate",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "CMAC with Triple-DES",
            "description": "MAC calculation finish",
            "name": "MacFinal",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Import a public key wrapped by a Session Key",
            "name": "AsymWrapImportPub",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Import a private key wrapped by a Session Key",
            "name": "AsymWrapImportPri",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Export a public key wrapped with a Session Key",
            "name": "AsymWrapExportPub",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "Triple-DES",
            "description": "Export a Private key wrapped by a Session Key",
            "name": "AsymWrapExportPri",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "SHA-1",
            "description": "Calculate digital signature",
            "name": "AsymSign",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "SHA-1",
            "description": "Verify digital signature",
            "name": "AsymVerifySign",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "SHA-1",
            "description": "Initialize a hash operation",
            "name": "HashInit",
            "role": "Issuer, Admin, User, Unauthenticated"
          },
          {
            "alg_accessed": "SHA-1",
            "description": "Continuously hash data part",
            "name": "HashUpdate",
            "role": "Issuer, Admin, User, Unauthenticated"
          },
          {
            "alg_accessed": "SHA-1",
            "description": "Hash the final data part and get the hash value",
            "name": "HashFinale",
            "role": "Issuer, Admin, User, Unauthenticated"
          },
          {
            "alg_accessed": "SHA-1",
            "description": "Create a Session Key with plaintext key value",
            "name": "CreateSessionKey",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "RSA",
            "description": "RSA PKCS V1.5 encrypt/decrypt",
            "name": "AsymEnDecrypt",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "RSA",
            "description": "RSA encrypt/decrypt (no padding)",
            "name": "AsymKeyOperation",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "KTS Triple-DES",
            "description": "Import a Session Key that is wrapped by a Public Key",
            "name": "AsymImportSessionKey",
            "role": "Admin, User"
          },
          {
            "alg_accessed": "KTS Triple-DES",
            "description": "Export an AES Session Key that is wrapped by a Public Key",
            "name": "AsymExportSessionKey",
            "role": "Admin, User"
          }
        ],
        "found": true,
        "section": 4,
        "subsection": 4
      },
      "ports_interfaces": {
        "entries": [
          {
            "data": "N/A",
            "logicalInterface": "Status Output",
            "physicalPort": "LED"
          },
          {
            "data": "All logical data",
            "logicalInterface": "Data Input Data Output Control Input Status Output",
            "physicalPort": "USB Data pins"
          },
          {
            "data": "N/A",
            "logicalInterface": "None",
            "physicalPort": "USB Power pin"
          },
          {
            "data": "Red LED",
            "logicalInterface": "Green LED",
            "physicalPort": "Condition"
          },
          {
            "data": "OFF",
            "logicalInterface": "OFF",
            "physicalPort": "Power Off"
          },
          {
            "data": "ON",
            "logicalInterface": "ON",
            "physicalPort": "Self-test in progress"
          },
          {
            "data": "OFF",
            "logicalInterface": "ON",
            "physicalPort": "Approved mode"
          },
          {
            "data": "OFF",
            "logicalInterface": "BLINK (200ms)",
            "physicalPort": "Approved mode error"
          },
          {
            "data": "OFF",
            "logicalInterface": "SLOW BLINK (1000ms)",
            "physicalPort": "Switching to Non-Approved mode"
          },
          {
            "data": "ON",
            "logicalInterface": "OFF",
            "physicalPort": "Non-Approved mode"
          },
          {
            "data": "BLINK (200ms)",
            "logicalInterface": "OFF",
            "physicalPort": "Non-Approved mode error"
          },
          {
            "data": "SLOW BLINK (1000ms)",
            "logicalInterface": "OFF",
            "physicalPort": "Switching to Approved mode"
          }
        ],
        "found": true,
        "section": 3,
        "subsection": 1
      },
      "roles": {
        "entries": [
          {
            "authMethodList": "AM#1",
            "name": "Issuer (CO)",
            "operatorType": "CO",
            "type": "Identity"
          },
          {
            "authMethodList": "AM#2",
            "name": "Admin",
            "operatorType": "Other",
            "type": "Identity"
          },
          {
            "authMethodList": "AM#2",
            "name": "User",
            "operatorType": "Other",
            "type": "Identity"
          }
        ],
        "found": true,
        "section": 4,
        "subsection": 2
      },
      "security_levels": {
        "entries": [
          {
            "level": "3",
            "section": "1",
            "title": "General"
          },
          {
            "level": "3",
            "section": "2",
            "title": "Cryptographic module specification"
          },
          {
            "level": "3",
            "section": "3",
            "title": "Cryptographic module interfaces"
          },
          {
            "level": "3",
            "section": "4",
            "title": "Roles, services, and authentication"
          },
          {
            "level": "3",
            "section": "5",
            "title": "Software/Firmware security"
          },
          {
            "level": "N/A",
            "section": "6",
            "title": "Operational environment"
          },
          {
            "level": "3",
            "section": "7",
            "title": "Physical security"
          },
          {
            "level": "N/A",
            "section": "8",
            "title": "Non-invasive security"
          },
          {
            "level": "3",
            "section": "9",
            "title": "Sensitive security parameter management"
          },
          {
            "level": "3",
            "section": "10",
            "title": "Self-tests"
          },
          {
            "level": "3",
            "section": "11",
            "title": "Life-cycle assurance"
          },
          {
            "level": "N/A",
            "section": "12",
            "title": "Mitigation of other attacks"
          },
          {
            "level": "3",
            "section": "",
            "title": "Overall Level"
          }
        ],
        "found": true,
        "section": 1,
        "subsection": 2
      },
      "self_tests": {
        "entries": [
          {
            "algorithmOrTest": "ECDSA SigVer (FIPS186-4) (A2663)",
            "details": "Executed on the whole firmware before the Module transition to the idle state.",
            "indicator": "steady green LED will be observed and the GetHealthStatus APDU command returns code: 0000000000000000",
            "testMethod": "Signature Verification",
            "testProps": "ECDSA P- 256",
            "type": "SW/FW Integrity"
          },
          {
            "algorithmOrTest": "ESV",
            "details": "As specified in [90B] section 4.4. for start-up requirements",
            "indicator": "Success or Failure Code",
            "testMethod": "SP 800-90B Health-Test",
            "testProps": "RCT and APT",
            "type": "Critical Function"
          }
        ],
        "found": true,
        "section": 10,
        "subsection": 1
      },
      "ssp_io_methods": {
        "entries": [
          {
            "dest": "Disk Drive",
            "distribution": "Manual",
            "entry": "Electronic",
            "format": "Encrypted",
            "name": "Input with Key wrapping using SP800-38f",
            "sfiAlgo": "KTS1",
            "source": "the host"
          },
          {
            "dest": "Disk Drive",
            "distribution": "Manual",
            "entry": "Electronic",
            "format": "Encrypted",
            "name": "Input with Key wrapping using IG D.G",
            "sfiAlgo": "KTS2",
            "source": "the host"
          },
          {
            "dest": "System Memory",
            "distribution": "Manual",
            "entry": "Electronic",
            "format": "Plaintext",
            "name": "Input in plain text",
            "sfiAlgo": "SigVer3",
            "source": "the host"
          },
          {
            "dest": "the host",
            "distribution": "Manual",
            "entry": "Electronic",
            "format": "Encrypted",
            "name": "Output with Key wrapping using SP800-38f",
            "sfiAlgo": "KTS1",
            "source": "Disk Drive"
          },
          {
            "dest": "the host",
            "distribution": "Manual",
            "entry": "Electronic",
            "format": "Encrypted",
            "name": "Output with Key wrapping using IG D.G",
            "sfiAlgo": "KTS2",
            "source": "Disk Drive"
          },
          {
            "dest": "the host",
            "distribution": "Manual",
            "entry": "Electronic",
            "format": "Plaintext",
            "name": "Output in plain text",
            "sfiAlgo": "SigVer3",
            "source": "System Memory"
          }
        ],
        "found": true,
        "section": 9,
        "subsection": 2
      },
      "ssp_zeroization_methods": {
        "entries": [
          {
            "description": "By rebooting the module.",
            "method": "Z1",
            "operatorId": "Implicit",
            "rationale": "Reboot module, all data stored in volatile memory (RAM) will be lost"
          },
          {
            "description": "Derive New",
            "method": "Z2",
            "operatorId": "Explicit",
            "rationale": "Zeroize the old SSP, and then derive a new SSP"
          },
          {
            "description": "\"FormatDevice\" APDU.",
            "method": "Z3",
            "operatorId": "Explicit",
            "rationale": "Format the file system of the device with the specified configuration. Overwrite with 1\u0027s followed by reset to default value if appropriate."
          },
          {
            "description": "Erased by \"DeleteFile\" APDU",
            "method": "Z4",
            "operatorId": "Explicit",
            "rationale": "Deletes the specified DF or EF with 0xff."
          },
          {
            "description": "Erased by \"DestroySessionKey\" APDU",
            "method": "Z5",
            "operatorId": "Explicit",
            "rationale": "Destroy the specified session key or all session keys with 0xff"
          },
          {
            "description": "Erased by \"ClearSecureState\" APDU",
            "method": "Z6",
            "operatorId": "Implicit",
            "rationale": "Clear Auth status"
          },
          {
            "description": "SecureMessageKAS",
            "method": "Z7",
            "operatorId": "Implicit",
            "rationale": "Zeroization of S_ENC, S_MAC, S_Private and S_Pulic keys and generates new of these."
          },
          {
            "description": "Automatically destroyed after authentication.",
            "method": "Z8",
            "operatorId": "Implicit",
            "rationale": "Set 0xff to the temporary data"
          },
          {
            "description": "Erased by \"ChangeWorkingMode\" APDU",
            "method": "Z9",
            "operatorId": "Explicit",
            "rationale": "Format the file system of the device with the specified configuration. Overwrite with 1\u0027s followed by reset to default value if appropriate."
          }
        ],
        "found": true,
        "section": 9,
        "subsection": 3
      },
      "storage_areas": {
        "entries": [
          {
            "description": "Only stored in volatile memory (RAM) in plaintext.",
            "name": "System Memory",
            "persistance": "Dynamic"
          },
          {
            "description": "Stored in flash in plaintext, associated by memory location (pointer).",
            "name": "Disk Drive",
            "persistance": "Static"
          }
        ],
        "found": true,
        "section": 9,
        "subsection": 1
      },
      "tested_module_id_hw": {
        "entries": [
          {
            "features": "Metal enclosure",
            "fwVersion": "3.12",
            "hwVersion": "SCC-XE- K9",
            "modelPartNum": "mToken CryptoID-K9",
            "processors": "AisinoChip Electronics SCC-XE, ARM Cortex M0"
          },
          {
            "features": "Plastic enclosure",
            "fwVersion": "3.12",
            "hwVersion": "SCC-XE- A3",
            "modelPartNum": "mToken CryptoID-A3",
            "processors": "AisinoChip Electronics SCC-XE, ARM Cortex M0"
          }
        ],
        "found": true,
        "section": 2,
        "subsection": 2
      },
      "tested_module_id_hw_hy": {
        "entries": [],
        "found": false,
        "section": 2,
        "subsection": 2
      },
      "tested_module_id_sw_fw_hy": {
        "entries": [],
        "found": false,
        "section": 2,
        "subsection": 2
      },
      "tested_op_env_sw_fw_hy": {
        "entries": [],
        "found": false,
        "section": 2,
        "subsection": 2
      },
      "vendor_affirmed_algos": {
        "entries": [
          {
            "algoPropList": "[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 keys",
            "implName": "mToken CryptoID Core DRBG Component",
            "name": "CKG [IG D.H]",
            "reference": "Key Generation"
          },
          {
            "algoPropList": "from a key agreement shared secret.:ARM Cortex M0",
            "implName": "",
            "name": "",
            "reference": ""
          }
        ],
        "found": true,
        "section": 2,
        "subsection": 5
      },
      "vendor_affirmed_op_env_sw_fw_hy": {
        "entries": [],
        "found": false,
        "section": 2,
        "subsection": 2
      }
    },
    "is_br1_format": true,
    "keywords": {
      "asymmetric_crypto": {
        "ECC": {
          "ECDH": {
            "ECDH": 1
          },
          "ECDSA": {
            "ECDSA": 75
          }
        },
        "FF": {
          "DH": {
            "DH": 1
          }
        }
      },
      "certification_process": {},
      "cipher_mode": {
        "CCM": {
          "CCM": 1
        },
        "ECB": {
          "ECB": 2
        },
        "GCM": {
          "GCM": 1
        }
      },
      "cplc_data": {},
      "crypto_engine": {},
      "crypto_library": {},
      "crypto_protocol": {
        "TLS": {
          "SSL": {
            "SSL": 1
          }
        },
        "VPN": {
          "VPN": 1
        }
      },
      "crypto_scheme": {
        "KA": {
          "Key Agreement": 1
        },
        "MAC": {
          "MAC": 11
        }
      },
      "device_model": {},
      "ecc_curve": {
        "NIST": {
          "P-256": 24,
          "P-512": 2,
          "P-521": 18
        }
      },
      "eval_facility": {},
      "fips_cert_id": {},
      "fips_certlike": {
        "Certlike": {
          "- PKCS 1": 2,
          "AES 128/192/256": 1,
          "AES-128": 3,
          "AES-256": 2,
          "HMAC-SHA-1": 4,
          "PKCS 1": 2,
          "PKCS1": 2,
          "RSA PKCS1": 2,
          "SHA-1": 8,
          "SHA-3": 1,
          "SHA2- 224": 2,
          "SHA2- 256": 2,
          "SHA2- 384": 1,
          "SHA2- 512": 1,
          "SHA2-256": 20,
          "SHA2-384": 8,
          "SHA2-512": 8
        }
      },
      "fips_security_level": {
        "Level": {
          "Level 3": 2
        }
      },
      "hash_function": {
        "SHA": {
          "SHA1": {
            "SHA-1": 8
          },
          "SHA3": {
            "SHA-3": 1
          }
        }
      },
      "ic_data_group": {},
      "javacard_api_const": {},
      "javacard_packages": {},
      "javacard_version": {},
      "os_name": {},
      "pq_crypto": {},
      "randomness": {
        "PRNG": {
          "DRBG": 22
        },
        "RNG": {
          "RBG": 9
        }
      },
      "side_channel_analysis": {},
      "standard_id": {
        "FIPS": {
          "FIPS 140-3": 6,
          "FIPS 180-4": 3,
          "FIPS 186-4": 7,
          "FIPS 198-1": 3,
          "FIPS PUB 140-3": 2,
          "FIPS PUB 202": 1,
          "FIPS140-3": 1,
          "FIPS186-4": 31
        },
        "ISO": {
          "ISO/IEC 19790": 2,
          "ISO/IEC 24759": 2,
          "ISO/IEC 7816-4": 1
        },
        "NIST": {
          "SP 800-38A": 2,
          "SP 800-38B": 1,
          "SP 800-38F": 1,
          "SP 800-56A": 1,
          "SP 800-90A": 3,
          "SP 800-90B": 3
        },
        "PKCS": {
          "PKCS 1": 2,
          "PKCS# 11": 1,
          "PKCS1": 2
        }
      },
      "symmetric_crypto": {
        "AES_competition": {
          "AES": {
            "AES": 13,
            "AES-": 2,
            "AES-128": 3,
            "AES-256": 2
          },
          "CAST": {
            "CAST": 34
          }
        },
        "DES": {
          "3DES": {
            "TDEA": 1,
            "Triple-DES": 21
          }
        },
        "constructions": {
          "MAC": {
            "CMAC": 8,
            "HMAC": 13
          }
        }
      },
      "tee_name": {
        "AMD": {
          "PSP": 5
        }
      },
      "tls_cipher_suite": {},
      "vendor": {
        "Microsoft": {
          "Microsoft": 4
        }
      },
      "vulnerability": {}
    },
    "module_algorithms": {
      "_type": "Set",
      "elements": [
        "ECDSA SigGen (FIPS186-4)A2663",
        "KAS-ECC Sp800-56Ar3A2659",
        "Hash DRBGA2662",
        "SHA2-256A2661",
        "RSA SigGen (FIPS186-4)A2663",
        "ECDSA KeyGen (FIPS186-4)A2663",
        "RSA SigVer (FIPS186-4)A2663",
        "HMAC-SHA2-256A2661",
        "HMAC-SHA2-384A2661",
        "AES-CBCA2660",
        "HMAC-SHA2-512A2661",
        "AES-CMACA2660",
        "AES-KWA2660",
        "SHA2-384A2661",
        "SHA2-512A2661",
        "ECDSA KeyVer (FIPS186-4)A2663",
        "RSA KeyGen (FIPS186-4)A2663",
        "AES-ECBA2660",
        "ECDSA SigVer (FIPS186-4)A2663"
      ]
    },
    "policy_algorithms": {
      "_type": "Set",
      "elements": [
        "#A2663",
        "#A2659",
        "#A2660",
        "#A2662",
        "#A2661"
      ]
    },
    "policy_metadata": {
      "/Author": "Hawes, David J. (Fed)",
      "/CreationDate": "D:20250609095343-04\u002700\u0027",
      "/Creator": "Microsoft\u00ae Word for Microsoft 365",
      "/MSIP_Label_4dd2c6e0-f1e3-4cf2-bd0b-256ab4cff3af_ActionId": "2994c836-9a45-4f31-aaff-abcec12da9cb",
      "/MSIP_Label_4dd2c6e0-f1e3-4cf2-bd0b-256ab4cff3af_ContentBits": "1",
      "/MSIP_Label_4dd2c6e0-f1e3-4cf2-bd0b-256ab4cff3af_Enabled": "true",
      "/MSIP_Label_4dd2c6e0-f1e3-4cf2-bd0b-256ab4cff3af_Method": "Privileged",
      "/MSIP_Label_4dd2c6e0-f1e3-4cf2-bd0b-256ab4cff3af_Name": "UNCLASSIFIED",
      "/MSIP_Label_4dd2c6e0-f1e3-4cf2-bd0b-256ab4cff3af_SetDate": "2025-06-09T13:50:09Z",
      "/MSIP_Label_4dd2c6e0-f1e3-4cf2-bd0b-256ab4cff3af_SiteId": "da9cbe40-ec1e-4997-afb3-17d87574571a",
      "/ModDate": "D:20250609095343-04\u002700\u0027",
      "/Producer": "Microsoft\u00ae Word for Microsoft 365",
      "pdf_file_size_bytes": 952125,
      "pdf_hyperlinks": {
        "_type": "Set",
        "elements": []
      },
      "pdf_is_encrypted": false,
      "pdf_number_of_pages": 61
    }
  },
  "state": {
    "_type": "sec_certs.sample.fips.InternalState",
    "module": {
      "_type": "sec_certs.sample.document_state.DocumentState",
      "convert_ok": true,
      "download_ok": true,
      "extract_ok": true,
      "json_hash": null,
      "source_hash": null,
      "txt_hash": null
    },
    "policy": {
      "_type": "sec_certs.sample.document_state.DocumentState",
      "convert_ok": true,
      "download_ok": true,
      "extract_ok": true,
      "json_hash": "bb6f7c90f2e2136e7e83a407f9ba6613e871b29010125b4f7d685ac427685230",
      "source_hash": "576a43aca7ad304749453c710dc44678d823eb129421dc53a66f662537aa99a0",
      "txt_hash": "4f14d776bf8f8b7ee7d34031d2728d6131a93a52f12fbe9eaafd52c27597dfb8"
    }
  },
  "web_data": {
    "_type": "sec_certs.sample.fips.FIPSCertificate.WebData",
    "caveat": "When installed, initialized and configured as specified in Section 11of the Security Policy. When operated in approved mode",
    "certificate_pdf_url": "https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/certificates/October 2024_041124_0733 (1).pdf",
    "date_sunset": "2029-10-20",
    "description": "mToken CryptoID is designed based on a secure smartcard chip that utilizes the in-built mCOS to communicate with Computer device via USB interface in a \"plug and play\" manner. It can realize various Public Key Infrastructure (PKI) applications including digital signature, online authentications, online transactions, software security, etc.",
    "embodiment": "Multi-Chip Stand Alone",
    "exceptions": [
      "Operational environment: N/A",
      "Non-invasive security: N/A",
      "Mitigation of other attacks: N/A"
    ],
    "fw_versions": null,
    "historical_reason": null,
    "hw_versions": null,
    "level": 3,
    "mentioned_certs": {},
    "module_name": "mToken CryptoID",
    "module_type": "Hardware",
    "revoked_link": null,
    "revoked_reason": null,
    "standard": "FIPS 140-3",
    "status": "active",
    "sw_versions": null,
    "tested_conf": null,
    "validation_history": [
      {
        "_type": "sec_certs.sample.fips.FIPSCertificate.ValidationHistoryEntry",
        "date": "2024-10-21",
        "lab": "UL Verification Services, Inc.",
        "validation_type": "Initial"
      }
    ],
    "vendor": "Century Longmai Technology Co. Ltd",
    "vendor_url": "http://www.longmai.net/"
  }
}