IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
   
     Home      Products      Services & industry solutions      Support & downloads      My IBM     
Security
Cryptocards
PCI-X Cryptographic Coprocessor
PCI Cryptographic Accelerator
PCI Cryptographic Coprocessor
Product Summary
Library
Order
Support
Education
CCA sample code
FAQ
Software updates
Contact

IBM PCI Cryptographic Coprocessor

Verifying the integrity of an IBM 4758

In the final manufacturing step, IBM 4758 Coprocessors generate their own public-private RSA device-key key-pair. The private key is retained within the IBM 4758. Manufacturing uses a class key to certify the device key. The certificate is returned to the Coprocessor. The Coprocessor's batteries and system power enable the Coprocessor to actively monitor for tampering events from the time of factory certification until the end of the Coprocessor's useful life. Detection of tampering activity results in the zeroization of the Coprocessor and destruction of the device key and its certificate.

The Verifying Type and Configuration of an IBM 4758 Device white paper (in PDF format) describes how you can identify the various IBM 4758 Coprocessors, the software that they contain, and how you can assure yourself that the device remains untampered.

IBM ships class-key certificates for each class of Coprocessor and a copy of the Coprocessor Load Utility (CLU) with the CCA and PKCS #11 Support Programs. The IBM 4758 root key used to validate class-key certificates is hard coded in the Coprocessor Load Utility (CLU). CLU validates a class-key certificate and then validates the device key certificate it retrieves from a Coprocessor. CLU then uses the validated device key to validate status responses that the Coprocessor signs with its device key.

You can determine that a Coprocessor is a legitimate, untampered IBM 4758 using the CLU VAlidate command and confirming these items in the status response:

  • The Coprocessor's segment 1 is in the INITIALIZED state
...and if you are using the CCA Support Program or the PKCS #11 Support Program...
  • The Coprocessor's segment 2 is RUNNABLE and the owner identifier is 2
  • The Coprocessor's segment 3 is RUNNABLE and the owner identifier is 2 indicating the CCA product, or
  • The Coprocessor's segment 3 is RUNNABLE and the owner identifier is 14 indicating the PKCS#11 product.

You can download "as is" CSUxCAV programs to validate an installed Coprocessor and the standard IBM software. The programs run the Coprocessor Load Utility (CLU) to query the Coprocessor and verify the above status items by inspection of the Machine-Readable Log (MRL) file produced by CLU. The CSUxCAV program returns these values that can be checked in, for example, a batch file:

0. All checks are positive
1. The Coprocessor failed one of the above conditions
2. The Machine-Readable Log was not found (not produced by CLU which is invoked by the process, or the log file was otherwise removed during process)
3. The IBM 4758 model-dependent class-key certificate file was not supplied
4. CLU returned an abnormal response
5. Some other exception occurred within CSUxCAV
You invoke the CUSxCAV program with a single parameter which is the file name (and path) of the IBM 4758 class-key certificate file:
In AIX: csufcav file_name
In Windows NT: csuncav file_name

You can download the CSUxCAV "as-is" utility program and place it in the same subdirectory as contains the CLU utility program. You should run the utility from that subdirectory. The first eight bytes of the SHA-1 hash of the utility EXE module, expressed in hexadecimal, are also listed.

For AIX: csufcav 1D12 22AC 8BF6 764D
For Windows NT: csuncav BC8E 191E 368E 3B4F

You will need one or more of the model-dependent class-key certificate files for the standard IBM 4758 models:

  1. IBM 4758 Model 002:  04k9127v.clu, 40h9952v.clu, 40h9951v.clu
  2. IBM 4758 Model 023:  04k9132v.clu, 12R8073V.clu, 40h9950v.clu, 40h9858v.clu, 41U0062V.clu, 44P1607V.clu

NOTE: The filenames for the Model 002 and Model 023 validation of class-key certificate files will change if the Coprocessor part numbers change.

The IBM 4758 root key, which is hard-coded into the CLU utility, expressed in hexadecimal with the most significant bit first, is

Public exponent:
00010001

Modulus:
80000000  00000000  00000000  00000010
0CACBAED  FCEB4A2D  1FCE8B0F  42AA10DE
B9405685  C800156C  000D4635  811F34D4
375F17F0  3445EC7B  C2516182  20F75391
D0F91FE6  AA52CA9A  463FE87B  F78FF842
A770EEC4  B8B07FD5  55BC54DF  194F3F6C
CE1B4936  EE0BAA1E  4E7E6D57  494E8334
26185CD3  6440ED2B  03963DBC  432DF717

  About IBM  |  Privacy  |  Terms of use  |  Contact