IBM 4767 custom programming

Custom software support

The 4767 HSM contains firmware to manage its specialized hardware and to control loading of additional software based on coprocessor-validated digital signatures. Software support includes the embedded Linux® operating system and special device drivers, which provide the platform for application support. Custom applications can be written to run within the HSM, using the internal APIs to perform cryptographic functions. Developing additional functions through User Defined Extensions (UDXs) using CCA as a starting point can be more economical and less time-consuming than creating an entirely new application.

Special key management functions and PIN processing routines are typical extensions.

When an application is substantially different from CCA, or is proprietary, a complete custom application can be built on the embedded Linux environment. Very different approaches to cryptographic processing or even non-cryptographic applications that require a secure processing environment can be developed for the HSM.

Programming custom applications

Alternatively, IBM offers a toolkit that you can use to create and debug custom applications yourself. Toolkit documentation can be obtained from the Library page. Because this is a specialized programming environment and there are special considerations related to the export and import of cryptographic implementations, the toolkit is available only under special contracts. Generally, in addition to the actual toolkit, customers will need to purchase consulting time for education and ongoing support. Any export or import considerations will be part of the toolkit custom contract. Please contact the Crypto team for additional information.

IBM Cryptographic Coprocessor Toolkit

4767 adapter

IBM offers the Cryptographic Coprocessor Toolkit for the IBM 4767 PCIe Cryptographic Coprocessor. The Toolkit is available as a services offering on a custom contract basis. It can:

  • be used to create or extend the application program that performs within the hardware security module (HSM)
  • enable users to create entirely new applications for the HSM
  • enable users to extend the functionality of IBM's CCA application program in the form of a user-defined extension (UDX)
  • authenticate programs
  • be used to interactively debug applications at the source level running in the HSM using its Interactive Code Analysis Tool (ICAT)

Note:

  1. A UDX must be deployed on a 4767 HSM installed on a supported server platform.
  2. The UDX development workstation is supported on 64-bit SUSE® (a Micro Focus Company) Linux Enterprise Server (SLES) and Red Hat® Enterprise Linux® (RHEL) operating systems.
  3. Toolkit coprocessor application code is compiled and linked using the GNU Compiler Collection (gcc).
  4. To learn more about the Toolkit, documentation is available for download in PDF format from the Library page under the heading IBM 4767 custom programming.

Custom application programs are loaded in Segment 3 of the HSM, which is the highest level of the HSM's four memory segments. Firmware loaded in Segment 3 can take full advantage of the embedded Linux operating system to perform security-sensitive tasks, cryptographic operations, or both.

A Toolkit custom contract normally provides education on preparing programs to operate within the HSM, a copy of the Toolkit, follow-up support, and assignment of a unique identifier for user code and certification of code-sign keys. Frequently a contract provides consultation to hasten application development, and sometimes provides for initial development by IBM. As needed, IBM is typically able to bid on development of your custom solution or extension.

Availability of the Toolkit, as well as applications created or extended with it, is subject to the export regulations of the United States Government, and in some cases to the import regulations of other countries.

Toolkit contacts

Please direct Toolkit inquiries to the Crypto team. Please direct UDX inquiries to one of the following IBM representatives:

Toolkit MD5 sums

Official MD5 sums for the 5.3.12 workstation 4767 Toolkits
5.3.12 (xSeries Linux + Windows)
cctk-5.2.23-20160527.xz: f4a0b9bb729e98477ed2ceb6279a1d94
5.2.23 (xSeries Linux + Windows)
cctk-5.2.23-20160617.xz: e289303ab5590df18d61824b9f05b05f
5.2.23 (xSeries Linux)
cctk-5.2.23-20160527.xz: c65daf44cd7b63540b24998427338fa7