Pulse Secure Cryptomod Security Policy
Total Page:16
File Type:pdf, Size:1020Kb
Pulse Secure Cryptographic Module FIPS 140-2 Level 1 Non-Proprietary Security Policy Version: 2.5 Last Updated: March 2017 Pulse Secure, LLC 2700 Zanker Road, Suite 200 San Jose, CA 95134 http://www.pulsesecure.net 1 Pulse Secure Cryptographic Module Revision History Authors Date Version Comment Pulse Secure, LLC 2017-Mar 2.5 Updated based on review comments Pulse Secure, LLC 2017-Feb 2.4 Updated based on review Pulse Secure, LLC 2016-Oct 2.3 Updated based on lab comments Pulse Secure, LLC 2016-Aug-23 2.2 Add Pulse One to platform list Pulse Secure, LLC 2016-Aug-2 2.1 Update per review comments Pulse Secure, LLC 2016-05-25 2.0 186-4 RSA key generation support Update integrity tests to use HMAC- SHA256 Pulse Secure, LLC 2015-12-16 1.1 Deprecation of X9.31 RNG and Dual EC DRBG Pulse Secure, LLC 2014-12-16 1.1 Changes for rebranding 2 Pulse Secure Cryptographic Module Contents Revision History .............................................................................................................................. 2 1 Introduction ............................................................................................................................. 4 2 Tested Configurations .............................................................................................................. 6 3 Ports and Interfaces ................................................................................................................. 7 4 Modes of Operation and Cryptographic Functionality ............................................................. 8 4.1 Critical Security Parameters and Public Keys ...................................................................... 10 4.2 Special Notes on GCM ........................................................................................................ 12 4.3 Special Notes on Entropy ................................................................................................... 12 5 Roles, Authentication and Services ........................................................................................ 14 6 Self-tests ................................................................................................................................. 16 7 Operational Environment ....................................................................................................... 17 8 Mitigation of Other Attacks .................................................................................................... 17 3 Pulse Secure Cryptographic Module 1 Introduction This document comprises the non-proprietary FIPS 140-2 Security Policy for the Pulse Secure Cryptographic Module, hereafter referred to as the Module. Figure 1 - Block Diagram The Module is a software library providing a C-language application program interface (API) for use by other processes that require cryptographic functionality. The Module is classified by FIPS 140-2 as a software module, multi-chip standalone module embodiment. The physical cryptographic boundary is the general purpose computer on which the Module is installed. The logical cryptographic boundary of the Module is the fipscanister object module, a single object 4 Pulse Secure Cryptographic Module Security Policy module file named fipscanister.o. The Module performs no communications other than with the calling application (the process that invokes the Module’s services). The FIPS 140-2 security levels for the Module are as follows: Security Requirement Security Level Cryptographic Module Specification 1 Cryptographic Module Ports and Interfaces 1 Roles, Services, and Authentication 2 Finite State Model 1 Physical Security NA Operational Environment 1 Cryptographic Key Management 1 EMI/EMC 1 Self-Tests 1 Design Assurance 1 Mitigation of Other Attacks NA Table 1 - Security Level of Security Requirements The Module’s software version for this validation is 2.0. 5 Pulse Secure Cryptographic Module Security Policy 2 Tested Configurations Operational Processor Optimizations Hardware Device Environment (Target) 1. IVE OS 2.0 32-bit Intel Atom Processor N270 (x86) None Pulse Secure MAG2600 2. IVE OS 2.0 64-bit Intel Pentium Processor E2160 (x86) None Pulse Secure MAG 4610 3. IVE OS 2.0 64-bit Intel Pentium Processor E2160 (x86) None Pulse Secure MAG SM160 4. IVE OS 2.0 64-bit Intel Core2 Quad Q9400 (x86) None Pulse Secure MAG SM360 5. IVE OS 2.0 64-bit Intel Celeron Processor J1900 (x86) None Pulse Secure PSA300 6. IVE OS 2.0 64-bit Intel Celeron Processor J1900 (x86) None Pulse Secure PSA3000 7. IVE OS 2.0 64-bit Intel Pentium Processor G3420 (x86) None Pulse Secure PSA5000 8. IVE OS 2.0 64-bit Intel Xeon E3-1275v3 (x86) AES-NI Pulse Secure PSA 7000f 9. IVE OS 2.0 64-bit Intel Xeon E3-1275v3 (x86) AES-NI Pulse Secure PSA 7000c 10. Pulse One version 2.0 Intel Xeon E3-1275v3 (x86) AES-NI Pulse Secure PSA 7000f 11. Pulse One version 2.0 Intel Xeon E3-1275v3 (x86) AES-NI Pulse Secure PSA 7000c 12. IVE OS 2.0 64-bit on Intel Xeon E5-2620 v4 None Dell Power Edge VMware ESXi R430/R530, Intel Xeon E5-2620 v4 Table 2 - Supported Platforms 6 Pulse Secure Cryptographic Module Security Policy 3 Ports and Interfaces The physical ports of the Module are the same as the computer system on which it is executing. The logical interface is a C-language application program interface (API). Logical interface type Description Control input API entry point and corresponding stack parameters Data input API entry point data input stack parameters Status output API entry point return values and status stack parameters Data output API entry point data output stack parameters Table 3 - Logical interfaces As a software module, control of the physical ports is outside the Module’s scope. However, when the Module is performing self-tests, or is in an error state, all output on the logical data output interface is inhibited. The Module is single-threaded and in error scenarios returns only an error value (no data output is returned). 7 Pulse Secure Cryptographic Module Security Policy 4 Modes of Operation and Cryptographic Functionality The Module supports Approved and non-approved mode selection of mode depends on which algorithms are chosen from Tables 4a and 4b. Tables 4a and 4b list the Approved and Non- approved but Allowed algorithms, respectively. Table 4c lists Non-approved algorithms not allowed in FIPS-mode of operation. If any algorithm listed in table 4c is chosen, the module is operating in non-FIPS mode of operation. Function Algorithm Options Cert. # [FIPS 197] AES Encryption, [SP 800-38C] CCM ECB; CBC; CCM; GCM 128/ 192/256 AES 4334 Decryption and CMAC [SP 800-38D] GCM [SP 800-38B] CMAC Encryption, Decryption and CMAC generate and verify AES 4341 CURVES (P-224, P-256, P-384, P-521, K-233, K-283, K- ECC CDH Primitive [SP 800-56A] CVL 1046 409, B-233, B-283, B-409, B-571) Random Number [SP 800-90Ar1] DRBG Hash DRBG (SHA-1, all SHA-2 sizes) Generation; Prediction resistance HMAC DRBG (SHA-1, all SHA-2 sizes) DRBG 1384 Symmetric key supported for all CTR DRBG (AES 128/192/256) generation variations Digital Signature and [FIPS 186-4] DSA PQG Ver, Sig Ver (1024 with SHA-1 only) Asymmetric Key (Legacy use only) Generation PQG Ver, Sig Ver (2048/3072 with all SHA-2 sizes) DSA 1152 Digital Signature and [FIPS 186-4] DSA PQG Gen, Key Pair Gen, Sig Gen (2048/3072 with all Asymmetric Key SHA-2 sizes) Generation [FIPS 186-4] ECDSA SigVer: CURVES (P-192: (SHA-1, 224, 256, Encryption, (Legacy use only) 384, 512) P-224: (SHA-1) P-256: (SHA-1) P-384: (SHA- ECDSA 1026 Decryption and CMAC 1) P-521: (SHA-1) K-163: (SHA-1, 224, 256, 384, 512) K- 233: (SHA-1, 224, 256, 384, 512) K-283: (SHA-1) K-409: (SHA-1) K-571: (SHA-1) B-163: (SHA-1) B-233: (SHA-1) B-283: (SHA-1) B-409: (SHA-1) B-571: (SHA-1) ) [FIPS 186-4] ECDSA PKG: CURVES (P-224 P-256 P-384 P-521 K-224 K-256 K- 384 K-521 B-224 B-256 B-384 B-521 ExtraRandomBits TestingCandidates) PKV: CURVES (ALL-P ALL-K ALL-B ) SigGen: CURVES P-224: (SHA-224, 256, 384, 512) P-256: (SHA-224, 256, 384, 512) P-384: (SHA-224, 256, 384, 512) P-521: (SHA-224, 256, 384, 512) K-233: (SHA-224, 256, 384, 512) K- 283: (SHA-224, 256, 384, 512) K-409: (SHA- 224, 256, 384, 512) K-571: (SHA-224, 256, 384, 512) B-233: (SHA-224, 256, 384, 512) B-283: (SHA-224, 256, 384, 512) B-409: (SHA-224, 256, 384, 512) B-571: (SHA-224, 256, 384, 512) ) SigVer: CURVES (P-192: (SHA-1, 224, 256, 384, 512) P-224: (SHA-1, 224, 256, 384, 512) P- 256: (SHA-1, 224, 256, 384, 512) P-384: (SHA-1, 224, 256, 384, 512) P-521: (SHA-1, 224, 256, 384, 512) K-163: (SHA-1, 224, 256, 384, 512) K- 233: (SHA-1, 224, 256, 384, 512) K-283: (SHA- 8 Pulse Secure Cryptographic Module Security Policy 1, 224, 256, 384, 512) K-409: (SHA-1, 224, 256, 384, 512) K-571: (SHA-1, 224, 256, 384, 512 B- 163: (SHA-1, 224, 256, 384, 512) B-233: (SHA- 1, 224, 256, 384, 512) B-283: (SHA-1, 224, 256, 384, 512) B-409: (SHA-1, 224, 256, 384, 512) B- 571: (SHA-1, 224, 256, 384, 512) ) Keyed Hash [FIPS 198] HMAC HMAC with SHA-1, SHA-2 (224, 256, 384, 512) HMAC 2880 Digital Signature and [FIPS 186-4] RSA SigVer9.31, SigVerPKCS1.5, SigVerPSS (1024/4096 with Asymmetric Key (Legacy use only) all SHA sizes) RSA 2345 Generation [FIPS 186-4] RSA SigVer9.31, SigVerPKCS1.5, SigVerPSS (2048/3072 with all SHA-2 sizes) GenKey9.31, SigGen9.31, SigGenPKCS1.5, SigGenPSS (2048/3072with all SHA-2 sizes) Message Digests [FIPS 180-4] SHA SHA-1, SHA-2 (224, 256, 384, 512) SHS 3577 [SP 800-67] Triple- Triple-DES TECB (Encrypt/Decrypt); TCBC (Encrypt/Decrypt) Encryption, DES 2346 Decryption and CMAC Triple-DES [SP 800-38B] CMAC 3-Key Triple-DES; CMAC generate and verify 2347 Table 4a – FIPS Approved Cryptographic Functions The Module supports only NIST defined curves for use with ECDSA and ECC CDH. Refer to the transition tables available at the CMVP Web site (http://csrc.nist.gov/groups/STM/cmvp/). Category Algorithm Description Key Agreement EC Diffie- Non-compliant (untested) Diffie-Hellman scheme using elliptic curve, Hellman supporting all NIST defined B, K and P curves. Key agreement is a service provided for calling process use, but is not used to establish keys into the Module.