Credant CmgCryptoLib Version 1.7 Credant Cryptographic Kernel Version 1.5 FIPS Non-Proprietary Security Policy, Version 1.7 Level 1 Validation

Similar documents
FIPS Security Policy

FIPS Security Policy

Juniper Network Connect Cryptographic Module Version 2.0 Security Policy Document Version 1.0. Juniper Networks, Inc.

IOS Common Cryptographic Module (IC2M)

EgoSecure GmbH. EgoSecure Full Disk Encryption (FDE) Cryptographic Module. FIPS Security Policy

SecureDoc Disk Encryption Cryptographic Engine

Symantec Corporation

SEL-3021 Serial Encrypting Transceiver Security Policy Document Version 1.9

Hughes Network Systems, LLC Hughes Crypto Kernel Firmware Version: FIPS Non-Proprietary Security Policy

This Security Policy describes how this module complies with the eleven sections of the Standard:

FIPS Level 1 Validation March 31, 2011 Version 1.12

FIPS Non-Proprietary Security Policy

Dolphin DCI 1.2. FIPS Level 3 Validation. Non-Proprietary Security Policy. Version 1.0. DOL.TD DRM Page 1 Version 1.0 Doremi Cinema LLC

FIPS Security Policy. for Marvell Semiconductor, Inc. Solaris 2 Cryptographic Module

Dolphin Board. FIPS Level 3 Validation. Security Policy. Version a - Dolphin_SecPolicy_000193_v1_3.doc Page 1 of 19 Version 1.

FIPS Non-Proprietary Security Policy. Level 1 Validation Version 1.2

Hewlett-Packard Development Company, L.P. NonStop Volume Level Encryption (NSVLE) Product No: T0867 SW Version: 2.0

Lexmark PrintCryption TM (Firmware Version 1.3.1)

FIPS SECURITY POLICY FOR

Hitachi Virtual Storage Platform (VSP) Encryption Board. FIPS Non-Proprietary Cryptographic Module Security Policy

ProtectV StartGuard. FIPS Level 1 Non-Proprietary Security Policy

Security Policy: Astro Subscriber Motorola Advanced Crypto Engine (MACE)

Security Policy Document Version 3.3. Tropos Networks

Juniper Networks Pulse Cryptographic Module. FIPS Level 1 Security Policy Version: 1.0 Last Updated: July 19, 2013

Security Policy: Astro Subscriber Encryption Module Astro Spectra, Astro Saber, Astro Consolette, and Astro XTS3000. Version

Security Policy for FIPS KVL 3000 Plus

STS Secure for Windows XP, Embedded XP Security Policy Document Version 1.4

Dolby IMS-SM FIPS Level 2 Validation. Nonproprietary Security Policy Version: 4

Integral Memory PLC. Crypto Dual (Underlying Steel Chassis) and Crypto Dual Plus (Underlying Steel Chassis) FIPS Security Policy

Oracle Solaris Kernel Cryptographic Framework Software Version 1.0 and 1.1

The Xirrus Wi Fi Array XS4, XS8 Security Policy Document Version 1.0. Xirrus, Inc.

Oracle Solaris Userland Cryptographic Framework Software Version 1.0 and 1.1

SecureD v Security Policy

ARX (Algorithmic Research) PrivateServer Hardware version 4.7 Firmware version 4.8.1

Meru Networks. Security Gateway SG1000 Cryptographic Module Security Policy Document Version 1.2. Revision Date: June 24, 2009

Seagate Secure TCG Enterprise SSC Pulsar.2 Self-Encrypting Drive FIPS 140 Module Security Policy

Sony Security Module. Security Policy

Imprivata FIPS Cryptographic Module Non-Proprietary Security Policy Version: 2.9 Date: August 10, 2016

CoSign Hardware version 7.0 Firmware version 5.2

Canon MFP Security Chip. ISO/IEC Security Policy

KEY-UP Cryptographic Module Security Policy Document Version 0.5. Ian Donnelly Systems (IDS)

BCM58100B0 Series: BCM58101B0, BCM58102B0, BCM58103B0 Cryptographic Module VC0 Non-Proprietary Security Policy Document Version 0.

VMware, Inc. VMware Horizon JCE (Java Cryptographic Extension) Module

FIPS Security Policy for Cisco Aironet Lightweight AP1131, AP1142, AP1242, AP1252, AP1262, CAP3502e, and CAP3502i Wireless LAN Access Points

FIPS Security Policy UGS Teamcenter Cryptographic Module

SafeNet LUNA EFT FIPS LEVEL 3 SECURITY POLICY

FIPS Cryptographic Module Security Policy Entrust Authority Security Toolkit for the Java Platform

Secure Cryptographic Module (SCM)

CAT862 Dolby JPEG 2000/MPEG-2 Media Block IDC Security Policy. Version 3 June 30, 2010

Security Policy. FORTEZZA Crypto Card

Cisco VPN 3002 Hardware Client Security Policy

Symantec Corporation Symantec Cryptographic Module Software Version: 1.1. FIPS Non-Proprietary Security Policy

FIPS Level 2 Security Policy for FlagStone Core (Versions V a, V a, V )

FEITIAN Technologies Company, LTD epass Token Hardware Version: FIPS Non-Proprietary Security Policy

AirMagnet SmartEdge Sensor A5200, A5205, A5220, and A5225 Security Policy

Dell SonicWALL. NSA 220, NSA 220W and NSA 240. FIPS Non-Proprietary Security Policy

1 INTRODUCTION CRYPTOGRAPHIC MODULE SPECIFICATION... 9

IBM System Storage TS1140 Tape Drive Machine Type 3592, Model E07. Security Policy

econet smart grid gateways: econet SL and econet MSA FIPS Security Policy

Version 2.0. FIPS Non-Proprietary Security Policy. Certicom Corp. September 27, 2005

Toshiba Secure TCG Opal SSC and Wipe technology. Self-Encrypting Drive Series

Lecture 1 Applied Cryptography (Part 1)

Enhanced Bandwidth Efficient Modem (EBEM) Cryptographic Module Non-Proprietary Security Policy

Prepared by the Fortress Technologies, Inc., Government Technology Group 4023 Tampa Rd. Suite Oldsmar, FL 34677

IBM System Storage TS1120 Tape Drive - Machine Type 3592, Model E05. Security Policy

Acme Packet 3820 and Acme Packet 4500

DataTraveler 5000 (DT5000) and DataTraveler 6000 (DT6000) Ultimate Security in a USB Flash Drive. Submitted by SPYRUS, Inc.

Barco ICMP FIPS Non-Proprietary Security Policy

FIPS Non-Proprietary Security Policy

Oracle Linux 7 OpenSSH Server Cryptographic Module

Practical Aspects of Modern Cryptography

Route1 FIPS Cryptographic Module

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Hydra PC FIPS Sector-based Encryption Module Security Policy

Forensics Challenges. Windows Encrypted Content John Howie CISA CISM CISSP Director, Security Community, Microsoft Corporation

NIST Cryptographic Toolkit

Silent Circle Mobile Application Cryptographic Module

Payment Card Industry (PCI) PIN Transaction Security (PTS) Hardware Security Module (HSM) Evaluation Vendor Questionnaire Version 2.

Apple Inc. Apple OS X CoreCrypto Kernel Module, v5.0 FIPS Non-Proprietary Security Policy

Certicom Security for Government Suppliers developing products to meet the US Government FIPS security requirement

Non-Proprietary Security Policy Version 1.1

Motorola PTP 800 Series CMU Cryptographic Module Security Policy

Seagate Secure TCG Enterprise SSC Self-Encrypting Drives FIPS 140 Module Security Policy

Oracle Linux 6 OpenSSH Server Cryptographic Module

Comtech EF Data Corporation SLM-5650A TRANSEC Module Hardware Version: 1.2; Firmware Version: FIPS Non-Proprietary Security Policy

FIPS Non-Proprietary Security Policy. Cotap Cryptographic Module. Software Version 1.0. Document Version 1.4.

Samsung FIPS BC for Mobile Phone and Tablet FIPS Security Policy

Security Requirements for Crypto Devices

WatchKey USB Token Cryptographic Module Model Number: K6 Smart Card Chip: Z32L256D32U PCB: K003010A Firmware Version: 360C6702

Seagate Momentus Thin Self-Encrypting Drives TCG Opal FIPS 140 Module Security Policy

FIPS Security Level 2 Policy LX-4000T Series Console Servers

Seagate Secure TCG Enterprise SSC Self-Encrypting Drives FIPS 140 Module. Security Policy. Security Level 2. Rev. 0.

IBM LTO Generation 6 Encrypting Tape Drive. FIPS Non-Proprietary Security Policy

RFS7000 SERIES Wireless Controller. FIPS Cryptographic Module Security Policy

RSA BSAFE Crypto-C Micro Edition Security Policy

FireEye CM Series: CM-4400, CM-7400, CM-9400

Certification Report

Bluefly Processor. Security Policy. Bluefly Processor MSW4000. Darren Krahn. Security Policy. Secure Storage Products. 4.0 (Part # R)

MultiApp ID V2.1 Platform FIPS Cryptographic Module Security Policy

FIPS Security Policy

Transcription:

Credant CmgCryptoLib Version 1.7 Credant Cryptographic Kernel Version 1.5 FIPS 140-2 Non-Proprietary Security Policy, Version 1.7 Level 1 Validation October 2007

1. INTRODUCTION 3 2. PRODUCT, BOUNDARY, MODULE DEFINITION 4 3. ROLES, SERVICES, POLICY 7 4. FINITE STATE MODEL 10 5. KEY MANAGEMENT 11 6. MODULE INTERFACE 13 7. SELF TESTS 13 8. DESIGN ASSURANCE 14 9. SECURE INSTALLATION AND OPERATION 14 2

COPYRIGHT @ 2007, Credant Technologies, Inc. All Rights Reserved. Credant, Credant Mobile Guardian and all Credant logos are registered trademarks of Credant Technologies Corporation. This document may be copied without the author s permission provided that it is copied in its entirety without modification. 1. Introduction Companies are increasingly using diverse mobile devices to store critical business information, improve productivity and enhance customer relationships. These mobile devices represent one of the most severe and often overlooked security threats to the enterprise. Frequently left unmanaged and with little to no enforced security, these devices are an open door to corporate applications, networks and databases and represent potentially significant financial, legal and regulatory liabilities. Without sufficient management tools and enforced security policies, companies have no way to prevent mobile security breaches, know if information is misused, or trace the source of mobile security incidents. Architected to protect the mobile enterprise, Credant Mobile Guardian (CMG) is the first security solution that addresses an organization's mobile security issues with centrally managed policy administration and strong on-device user authentication and policy enforcement. This cost-effective solution enables organizations with a growing mobile population to take full advantage of the benefits of today's mobile workplace and remain confident that business critical information is secure. The Credant Cryptographic Kernel (CCK) is the library of cryptographic functions used by the Credant Mobile Guardian (CMG) Suite of mobile security solutions. The CCK takes the form of a dynamic link software library (or a shared library on Palm for version 1.5) which provides an API to cryptographic functions, including AES, Triple DES, SHA-1, HMAC(SHA-1), and an ANSI X9.31compliant pseudorandom number generator. CMG Suite comprises the CMG Server, CMG Gatekeeper, and CMG Shield software products. These three components work together to ensure the security of data on mobile devices. The CMG Shield installs on the mobile device and protects its data from unauthorized access. The CMG Gatekeeper receives policy information from the Server and communicates it to the devices running the Shield. An administrator sets company policies via CMG Server software, and the Server forwards these settings to the instances of the CMG Gatekeeper. When a device synchronizes with its host PC, the Gatekeeper communicates these policies to the device. Note that the Credant Technologies cryptographic library has changed names from Credant Cryptographic Kernel (or CCK) in version 1.5 to CmgCryptoLib in version 1.7. The names CmgCryptoLib, Credant Cryptographic Kernel, and CCK are synonymous throughout this document. 3

2. Product, Boundary, Module Definition The CCK library and header file constitute the cryptographic software module for this FIPS 140-2 validation. The logical boundary contains the software modules that comprise the CCK library. The physical boundary for the module is defined as the enclosure of the computer system on which the functions of the library execute. 4

Windows Physical and Logical Cryptographic Boundaries Microprocessor Video Display Driver Monitor Data and Control Display Information System Memory Keyboard Keyboard Data User Commands Logical Cryptographic Boundary CCK DLL Mouse Network Mouse Network User Commands Files and Software Serial OS Data PC Card Optional Hardware Serial Port Serial Data and parameters Parallel Port Parallel Power Supply Power Source System Bus Physical Cryptographic Boundary 5

Windows Mobile 5, Windows Mobile 6, Symbian, and Palm Physical and Logical Cryptographic Boundaries Microprocessor Video Display Driver Screen Data and Control Display Information System Memory Data Keyboard Keyboard User Commands Logical Cryptographic Boundary CCK DLL Screen Input Touch Screen User Commands Add-on Memory Add-on Serial Memory Network Network Files and Software Serial OS Data PC Card Optional Hardware Serial Port Serial Data and parameters Universal Port Universal Port Power Supply Power Source System Bus Physical Cryptographic Boundary 6

The module constitutes a multi-chip stand-alone device (listed below), as defined by the FIPS 140-2 standard. The devices on which the CCK runs include: Intel-CPU-based computers running the Windows operating system: o Windows Vista (32 bit), and o Windows XP, service pack SP2 Windows Mobile 5 and 6 Pocket PC and Smartphone handheld computers and mobile phones. Symbian Series 60 handheld computers Personal digital assistants running PalmOS (versions 3.5.1 through 5.4.5) For version 1.5, the CCK was tested as a shared library on a standard, commercially available Palm Treo 650 running Palm OS 5.4.5. For version 1.7, the CCK was tested as a dynamic link library on the following devices: Device CPU OS Sprint PocketPC 6700 Intel PXA 270 XScale ARM Windows Mobile 5 Motorola Q Smartphone TI OMAP 2420 ARM Windows Mobile 6 Dell OptiPlex 740 AMD Athlon 64X2 5200+ Windows XP Dell OptiPlex 740 AMD Athlon 64X2 5200+ Windows Vista Nokia E62-1 TI OMAP 1710 ARM Symbian Series 60 3. Roles, Services, Policy The CCK supports both Crypto Officer (CO) and User roles, where a user is the application using CCK services to perform encryption, decryption, hashing, and random number generation. It does not support a maintenance role or a bypass capability. The CCK supports one Approved mode and it supports only FIPS 140-2 approved services (shown in Figure 1). In the CO role, the CO installs the CCK on a device. It is the CO s responsibility to install the CCK in the Approved mode according to the instructions specified in Section 9 of this Security Policy. 7

The cryptographic services provided by the software module are shown in the Figure 1. Note that the supported services do not include authentication. Service Type Algorithm FIPS Available in Modes Symmetric Cipher AES 197 Approved Symmetric Cipher Triple DES 46-3 Approved Message Authentication HMAC(SHA-1) 198 Approved Message Digest SHA1 180-1 Approved Random Number Generation ANSI X9.31 186-2 Approved Figure 1. Services offered by the Credant Cryptographic Kernel, applicable algorithm applicable FIPS specification, and availability. 8

The access granted to security relevant data items of these services for each role is shown in Figure 2. Note that the CCK FIPS 140-2 Vendor Evidence document enumerates the CCK API s in this table along with the parameters passed to each in Appendix E. Service Access (Role) Accessible SRDI Type of Access CCK API(s) Installation CO None Execute --None-- Initialization User None Execute CCK_initialize Run Self tests User None Execute CCK_self_tests, CCK_conditional_test Show status User None Execute/ Read CCK_fips_mode, CCK_status, AES User Read access to keys passed as pointer parameters to constant structures; no other access. Triple DES User Read access to keys passed as pointer parameters to constant structures; no other access. HMAC (SHA-1) User Read access to keys passed as pointer parameters to constant structures; no other access. Execute Execute Execute CCK_test_status CCK_set_AES_block_ size_and_key, CCK_AES_encrypt, CCK_AES_decrypt, CCK_AES_CBC_encrypt, CCK_AES_CBC_decrypt CCK_DES3_encrypt, CCK_DES3_decrypt, CCK_DES3_CBC_encrypt, CCK_DES3_CBC_decrypt CCK_HMAC_init, CCK_HMAC_destroy, CCK_HMAC_restart, CCK_HMAC_update, CCK_HMAC_truncated_final SHA1 User None Execute CCK_SHA1_reset, CCK_SHA1_get_hash, CCK_SHA1_update, CCK_SHA1_truncate_ and_report, CCK_SHA1_final_and_report, CCK_SHA1_final RNG User None Execute CCK_X931RNG_generate_ byte Figure 2. Access to Security Relevant Data Items (SRDI) for each service and role. 9

Note that installation differs from initialization in that installation does not involve execution of CCK services. Initialization must occur after installation is invoked by the CCK client, and results in execution of several CCK services in the process of creating memory and starting services necessary to support subsequent CCK operation. The inputs and outputs of each service are shown in Figure 3. The methods of the cryptographic software module are designed to be invoked by a single process per session handle. Service Installation Initialization Run Self tests Show status AES encryption (ECB & CBC modes) AES decryption (ECB & CBC modes) Triple DES encryption (ECB & CBC modes) Triple DES decryption (ECB & CBC modes) HMAC(SHA-1) SHA1 RNG Input/Output Input: Installation CD Output: Installed CCK software Input: Installed CCK software Output: Initialized CCK software (and client application) Input: none Output: self test status Input: none Output: module status indicator Input: plaintext, key, IV in CBC mode Output: ciphertext Input: ciphertext, key, IV in CBC mode Output: plaintext Input: plaintext, key, IV in CBC mode Output: ciphertext Input: ciphertext, key, IV in CBC mode Output: plaintext Input: a file, key Output: authentication code Input: a file Output: hash value Input: date/time (D/T) & seed (V) Output: a random byte Figure 3. Inputs and outputs of each service provided by the CCK. 4. Finite State Model The CCK uses a finite state model (FSM) to keep track of whether the module is in a valid state for performing cryptographic operations. The FSM resides in a thin layer of code between the API and the underlying cryptographic functions. The FSM guards access to all cryptographic functions and requires that the software module be properly initialized and must pass self tests before allowing cryptographic functions to be performed. It also tracks the state of conditional tests and continuous RNG tests. If any 10

of these tests fail, the FSM goes into an error state, preventing any further cryptographic functioning. The FSM has the states shown in Figure 4. State FSM_CRYPTOOFFICER FSM_POWER_ON FSM_RUNNING_SELF_TESTS FSM_RUNNING_CONDITIONAL_TEST FSM_USER FSM_ERROR FSM_POWER_OFF Description Crypto officer installs the CCK Initial (startup) state - self tests not yet run Self tests are running Test of specific method being invoked from FSM_USER state Self tests have passed. Ready to accept service requests Self test or conditional tests failed CCK has been installed but is not running Figure 4. States of the Finite State Model. 5. Key Management The CCK does not perform key generation or key establishment. The CCK does not perform key storage. Other than the key used to decrypt the library authentication data, the CCK maintains keys only in memory and does not store keys to persistent media. Therefore it does not provide the means for key storage or retrieval between successive power up cycles of the device. The CCK does perform key input. All key values and initial values are generated by code outside the cryptographic software boundary and are passed to the methods in the CCK by pointer reference. That is, they are stored in memory at an address allocated by code outside the cryptographic software boundary. This is then passed to the methods of the CCK. The CCK does not perform key output. It has no key output methods nor any methods that have the effect of key output. All secret keys and CSPs (including RNG seeds) used by the CCK are protected by the absence of any methods provided by the CCK API that enable, allow, or contribute to the disclosure, modification, or substitution (authorized or unauthorized) of any key, initial value, or seed passed into or used by the CCK. All CSPs used internally by the CCK (i.e. not passed to the CCK), such as those used by the random number generator, are protected by being zeroized immediately after use. 11

However, since the CCK does not own the memory in which the keys and initial values passed to it are stored, zeroization of these keys and initial values is the responsibility of the client code that calls the CCK. The Crypto Officer could also zeroize these keys and initial values by reformatting the hard drive on a PC, or by hard-resetting a Windows Mobile, Symbian, or Palm device. Occasionally, the memory containing keys and CSPs can be swapped by the Windows operating system to the hard drive of the PC. In order to avoid availability of these keys and CSPs in plain text, these swap files must either be wiped by the user or encrypted. When the CCK is executing in Credant's Windows-based products, the swap files are encrypted. Windows Mobile, Symbian, and Palm devices do not have swap files. The HMAC key and signature used to validate the CCK library are protected by being AES-128 encrypted. After validation is performed, the decryption key, decrypted HMAC key, and decrypted HMAC signature are all protected by being zeroized immediately after use. 12

6. Module Figure 5 maps elements of the API to the four required components of the logical interface. Logical Corresponding API Physical Ports Component component Data Input API functions that accept input data arguments Standard Input Ports (e.g., Keyboard) Data Output API functions that produce output in arguments and return values Standard Output Ports (e.g., Serial Port) Control Input API functions to initialize and N/A shutdown the module and to run self tests Status Output API functions which return information regarding module Standard Output Ports (e.g., Monitor) status Power N/A Supplied by device Figure 5. Logical interface components, API components, physical ports. 7. Self Tests When the CCK library is initialized for the first time, self-authentication is performed to ensure that the library has not been modified. The self-authentication is performed using HMAC(SHA-1) to compute the message authentication code of the library and is compared to an expected value. If the computed and expected values do not match, the attempt to initialize the library will fail, as will all subsequent initialization attempts until the library is re-loaded. Otherwise, it will succeed. Subsequent to successful selfauthentication, the CCK implements a number of self tests to ensure that it is functioning properly. On startup, the CCK executes known answer tests (KATs) on all its cryptographic functions (listed in Figure 1) before any cryptographic functions can be executed. In addition, the required continuous RNG test ensures that the RNG generates distinct arrays of bytes on each call. If any of these tests fail, the FSM controlling the operation of the CCK enters an error state, preventing any further functioning of the CCK. To recover from an error state, the power to the CCK must be recycled. If the CCK remains in the error state after a power recycle, the hard drive of the PC must be reformatted to ensure that all keys and CSP s used by the CCK are zeroized or a hard reset performed on the Windows Mobile, Symbian, or Palm device. Thereafter, the CCK must be reinstalled. There are no other means for recovering from an error state. 13

The self tests can be run on demand by power cycling the device running the CCK. The CCK library also contains an API, enabling the user to execute the self tests. 8. Design Assurance A configuration management system is used to control the versions of the source code components of the cryptographic software module. Each source file component is checked into the Concurrent Versions System (CVS). CVS is a well-known version control system that allows multiple software developers to change the same source files while maintaining records of each version and requiring resolution of conflicting changes. As part of this, CVS assigns each version of a file a unique version number. Each version of every file that is part of a commercial release of the software is tagged with a unique identifying name, and the CCK library is then built from those tagged source files. Version information governing this Security Policy and operator documents is maintained/tracked in a version control document, which is stored in CVS. The versions of the operator documents are controlled in an archive system. 9. Secure Installation and Operation Secure installation of the CCK must be performed by an employee playing the role of Crypto Officer at Credant Technologies or by a Crypto Officer at the company using the CCK or its associated products. Installation must be performed according to the instructions in the Installation Guide accompanying the CCK or its associated products. There is no special action the Crypto Officer must perform to ensure that the CCK is operated in FIPS mode. The CCK operates in FIPS mode by default. Secure operation of the CCK requires that each instance of the library be used by only one user and only one user at a time. In addition, the application that constitutes the User of the CCK must call the CCK_initialize method to initialize the CCK. Before initialization, no cryptographic functions are available. When CCK_initialize is called, the self tests are automatically invoked, and if and only if the tests pass, the module is available to perform cryptographic functions. 14