IBM 2 - Manuals
IBM 2 – Manual in PDF format online.
Manuals:
Manual IBM 2
Summary
CCA Release 2.54 Contents Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii About This Publication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
CCA Release 2.54 Cryptographic_Resource_Deallocate (CSUACRD) . . . . . . . . . . . . . . . . 2-46 Key_Storage_Designate (CSUAKSD) . . . . . . . . . . . . . . . . . . . . . . . 2-48 Key_Storage_Initialization (CSNBKSI) . . . . . . . . . . . . . . . . . . . . . . . 2-50 Logon_Control (CSUALCT) . . . ....
CCA Release 2.54 Aggregate Role Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . B-30 Access-Control-Point List . . . . . . . . . . . . . . . . . . . . . . . . . . . B-30 Default Role Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-31 Profile Structure . . . . . ....
CCA Release 2.54 Triple-DES Ciphering Algorithms . . . . . . . . . . . . . . . . . . . . . . . . D-10 MAC Calculation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-13 RSA Key-Pair Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-15 Access-Control Algor...
CCA Release 2.54 Figures 1-1. CCA Security API, Access Layer, Cryptographic Engine . . . . . . . . 1-3 2-1. CCA Node, Access-Control, and Master-Key Management Verbs . . 2-1 2-2. Coprocessor-to-Coprocessor Master-Key Cloning . . . . . . . . . . . 2-16 2-3. Cryptographic_Facility_Query Information Re...
CCA Release 2.54 C-1. Key Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2 C-2. Key Type Default Control-Vector Values . . . . . . . . . . . . . . . . C-3 C-3. Control-Vector-Base Bit Map . . . . . . . . . . . . . . . . . . . . . . . C-5 C-4. Multiply-Enciphering and Multi...
CCA Release 2.54 xii IBM 4758 CCA Basic Services, Release 2.54, February 2005
CCA Release 2.54 Notices References in this publication to IBM products, programs, or services do not implythat IBM intends to make these available in all countries in which IBM operates.Any reference to an IBM product, program, or service is not intended to state orimply that only IBM’s product, pr...
CCA Release 2.54 The following terms, denoted by a double asterisk (**) in this publication, are thetrademarks of other companies: Diebold Diebold Inc. Docutel Docutel MasterCard MasterCard International, Inc. Pentium Intel Corporation NCR National Cash Register Corporation RSA RSA Data Security, In...
CCA Release 2.54 Revision History About This Publication The manual is intended for systems and applications analysts and applicationprogrammers who will evaluate or create programs for the IBM 4758 CommonCryptographic Architecture (CCA) support for the IBM 4758 Models 002 and 023technology used wit...
Revision History CCA Release 2.54 Eleventh Edition, April, 2004, CCA Support Program,Release 2.52 This revision to the February, 2004, edition of the IBM 4758 CCA Basic Services Reference and Guide for the IBM 4758 Models 002 and 023 , Release 2.52, replaces the February, 2004, Release 2.51 edition....
CCA Release 2.54 Revision History 1. Functions in support of EMV-compatible smart-cards. Support of the PIN Change/Unblock function described in the VISA Integrated Circuit Card Specification Manual , Section C.11 Support of the key-generation function used for secure messagingdescribed in the VISA ...
Revision History CCA Release 2.54 Eighth Edition, Revised, CCA Support Program, Release 2.41 This revised Release 2.41 manual incorporates additional information concerning access controls (see “CCA Access-Control” on page 2-2) and other minor editorialchanges. Eighth Edition, CCA Support Program, R...
CCA Release 2.54 Revision History can create an application to to clone keys having any of the CSS, CSR, andSA keys longer than 1024-bits. See “Establishing Master Keys” on page 2-13. The PKA_Key_Token_Change verb now returns return code 0 and reason code0 if you request to update a key token that c...
Revision History CCA Release 2.54 The PKA_Symmetric_Key_Export, PKA_Symmetric_Key_Generate, andPKA_Symmetric_Key_Import verbs are updated to include support of the“OAEP” key-wrapping technique as specified in the RSA PKCS#1-v2.0specification. The action associated with the derivation-counter in cont...
CCA Release 2.54 Fifth Edition, CCA Support Program, Release 2.30 The fifth edition of the IBM 4758 CCA Basic Services Reference and Guide Version 2.30 for the IBM 4758 Models 002 and 023 technology and describes the Common Cryptographic Architecture (CCA) application programming interface (API) tha...
CCA Release 2.54 Organization This manual includes: Chapter 1, “Introduction to Programming for the IBM CCA” presents anintroduction to programming for the CCA application programming interface andproducts. Chapter 2, “CCA Node-Management and Access-Control” provides a basicexplanation of the access...
CCA Release 2.54 Related Publications In addition to the manuals listed below, you may wish to refer to other CCA productpublications which may be of use with applications and systems you might developfor use with the IBM 4758 product. While there is substantial commonality in theAPI supported by th...
CCA Release 2.54 IBM Journal of Research and Development Volume 38 Number 2, 1994 , G322-0191 USA Federal Information Processing Standard (FIPS): – Data Encryption Standard, 46-1-1988 – Secure Hash Algorithm, 180-1, May 31, 1994 – Cryptographic Module Security, 140-1. PKCS #1&v2.0: RSA Cryptogra...
CCA Release 2.54 Chapter 1. Introduction to Programming for the IBM CCA This chapter introduces you to the IBM Common Cryptographic Architecture (CCA) application programming interface (API). This chapter explains some basicconcepts you use to obtain cryptographic and other services from the PCICryp...
CCA Release 2.54 An Overview of the CCA Environment Figure 1-1 on page 1-3 provides a conceptual framework for positioning the CCA Security API . Application programs make procedure calls to the API to obtain cryptographic and related I/O services. The CCA API is designed so that a call canbe issued...
CCA Release 2.54 Figure 1-1. CCA Security API, Access Layer, Cryptographic Engine IBM 4758 PCI Cryptographic Coprocessor: The Coprocessor provides a secure programming and hardware environment wherein DES and RSA processes areperformed. The CCA support program enables applications to employ a set of...
CCA Release 2.54 Applications employ the CCA security API to obtain services from and to managethe operation of a cryptographic system that meets CCA architecture specifications. Cryptographic Engine: The CCA architecture defines a cryptographic subsystem that contains a cryptographic engine operati...
CCA Release 2.54 The Coprocessor supports multiple logons by different users from different hostprocesses. The Coprocessor also supports requests from multiple threads within asingle host process. A user is logged on and off by the Logon_Control verb. During logon, theLogon_Control verb establishes ...
CCA Release 2.54 The security server and a directory server manage key storage . Applications can store locally used cryptographic keys in a key-storage facility. This is especiallyuseful for long-life keys. Keys stored in key storage are referenced through the useof a key label . Before deciding wh...
CCA Release 2.54 The Security API, Programming Fundamentals You obtain CCA cryptographic services from the PCI Cryptographic Coprocessorthrough procedure calls to the CCA security application programming interface(API). Most of the services provided are considered an implementation of the IBMCommon ...
CCA Release 2.54 CSUA Cryptographic-node and hardware-control services. The last three letters in the entry-point name identify the specific service in a groupand are often the first letters of the principal words in the verb pseudonym. Supported Environments: At the start of each verb description i...
CCA Release 2.54 each verb. For descriptions of these parameters, see the definitions with theindividual verbs. Variable Direction: The parameter descriptions use the following terms to identify the flow of information: Input The application program sends the variable to the verb (to thecalled routi...
CCA Release 2.54 Commonly Encountered Parameters Some parameters are common to all verbs, other parameters are used with manyof the verbs. This section describes several groups of these parameters: Parameters common to all verbs Rule_array and other keyword parameters Key_identifiers, key_labels, an...
CCA Release 2.54 See Appendix A, “Return Codes and Reason Codes” for a detailed discussion ofreturn codes and a complete list of all return and reason codes. Value Meaning 0 Indicates normal completion; a few nonzero reason codes are associated withthis return code. 4 Indicates the verb processing c...
CCA Release 2.54 External A key that is either in the clear, or is encrypted (wrapped) by some key-encrypting key other than the master key. Generally, when a key is to be transported from place to place, or is to be held for asignificant period of time, it is required to encrypt the key with a tran...
CCA Release 2.54 CCA Access-Control This section describes these CCA access-control system topics: Understanding access control Role-based access control Initializing and managing the access-control system Logging on and logging off Protecting your transaction information. Understanding Access Contr...
CCA Release 2.54 A role-based system is more efficient than one in which the authority is assignedindividually for each user. In general, users can be segregated into just a fewdifferent categories of access rights. The use of roles allows the administrator todefine each of these categories just onc...
CCA Release 2.54 Understanding Profiles Any user who needs to be authenticated to the Coprocessor must have a user profile . Users who only need the capabilities defined in the default role do not need a profile. A user profile defines a specific user to the CCA implementation. Each profilecontains ...
CCA Release 2.54 Initializing and Managing the Access-Control System Before you can use a Coprocessor with newly loaded or initialized CCA supportyou should initialize roles, profiles, and other data. You may also need to updatesome of these values from time to time. Access-control initialization an...
CCA Release 2.54 Take care to ensure that you define roles that have the authority to performinitialization, including the RQ-TOKEN and RQ-REINT options of the Cryptographic_Facility_Control (CSUACFC) verb. You must also ensure there areactive profiles that use these roles. If you configure your Cop...
CCA Release 2.54 Notes: 1. During the portions of the year when Daylight Savings Time is not in effect, the time difference between Eastern Standard Time and GMT is 5 hours. 2. In the OS/400 environment, no translation is provided for Role and Profile names. The Coprocessor will initialize the defau...
CCA Release 2.54 logged on, and frees resources you were using in the host system and in theCoprocessor. Use of Logon Context Information The Logon_Control verb offers the capability to save and restore logon contextinformation through the GET-CNTX and PUT-CNTX rule-array keywords. The GET-CNTX keyw...
CCA Release 2.54 Protecting Your Transaction Information When you are logged on to the Coprocessor, the information transmitted to andfrom the CCA Coprocessor application is cryptographically protected using yoursession key. A message authentication code is used to ensure that the data wasnot altere...
CCA Release 2.54 used to establish the maximum strength of certain cryptographic functions, theenvironment identifier, and the maximum number of master-key-cloning shares,and the minimum number of shares needed to reconstitute a master key. Reset the intrusion latch. The intrusion latch circuit can ...
CCA Release 2.54 Cryptographic_Resource_Allocate verb will fail if a cryptographic resource isalready allocated. To determine the number of CCA Coprocessors installed in a machine, use theCryptographic_Facility_Query verb with the STATCARD rule-array keyword. Theverb returns the number of Coprocesso...
CCA Release 2.54 the Coprocessor device driver. 5 The host code then polls each Coprocessor in turn to determine which ones contain the CCA application. As each Coprocessor isevaluated, the CCA host code associates the identifiers CRP01, CRP02, and soforth to the Coprocessors with CCA. 6 In the abse...
CCA Release 2.54 PKA_Key_Token_Change verbs). Whenever a working key is encrypted for localuse, it is encrypted using the current master-key. Symmetric and Asymmetric Master-Keys The CCA Version 2 implementation incorporates a second set of master-keyregisters. One register set is used to encrypt DE...
CCA Release 2.54 The verb performs a one-way function on the key-of-interest, the result of whichis either returned or compared to a known correct result. Establishing a master key from an internally generated random value. The Master_Key_Process verb can be used to randomly generate a new master-ke...
CCA Release 2.54 ┌──────────────────────────────────┐ │Share─Administration Control Point│ 3. │ │ │ │ │ CERT{SA}(SA) H(CERT{SA}(SA)) │ │ ───────┬──── ───┬─────────── │ │ │ │ │ └─────────│─────────│──────────────┘ │ │ ┌────────────────────────┐ │ │ ┌────────────────────────┐ │CCA Cryptographic Engine...
CCA Release 2.54 7. In the target node, generate a retained key usable for master-key administration, the Coprocessor Share Receiving (CSR) key, and have this key certified by the SA key. 8. Once a master key has been established in the source node, perhaps through random master-key generation, obta...
CCA Release 2.54 AIX and Windows Multi-Coprocessor Master-Key Support: It is a general recommendation that all of the CCA Coprocessors within the system use the samecurrent and old master keys. When setting a new master-key, it is essential that allof the changes are performed by a single program ru...
CCA Release 2.54 Access_Control_Initialization Access_Control_Initialization (CSUAACI) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Access_Control_Initialization verb is used to initialize or update parametersand tables for the Access-Control system in the 4758 Cryptograp...
CCA Release 2.54 Access_Control_Initialization verb_data_length_2 The verb_data_length_2 parameter is a pointer to an integer variable containingthe number of bytes of data in the verb_data_2 variable. verb_data_2 The verb_data_2 parameter is a pointer to a string variable containing dataused by the...
CCA Release 2.54 Access_Control_Maintenance name The name parameter is a pointer to a string variable containing the name of a role or user profile which is the target of the request. This field is used differently depending on the function being performed. Keyword Meaning Function to perform (one r...
Access_Control_Maintenance CCA Release 2.54 Rule-ArrayKeyword Contents of output_data Variable GET-ROLE The field contains the non-secret portion of the selected role.This includes the following data, in the order listed. Role version Two bytes containing integer values, where the first byte contain...
CCA Release 2.54 Access_Control_Maintenance Required Commands The Access_Control_Maintenance verb requires the following commands to beenabled in the hardware: Read public access-control information (offset X ' 0116 ' ) with the LSTPROFS , LSTROLES , GET-PROF , GET-ROLE , and Q-NUM-RP keywords Delet...
Cryptographic_Facility_Control CCA Release 2.54 Cryptographic_Facility_Control (CSUACFC) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X Use the Cryptographic_Facility_Control verb to perform the following services: Reinitialize the CCA application in the Coprocessor. Set the da...
CCA Release 2.54 Cryptographic_Facility_Control Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. rule_array_count The rule_array_count parameter is a pointer to an integer variable contai...
Cryptographic_Facility_Control CCA Release 2.54 verb_data_length The verb_data_length parameter is a pointer to an integer variable containing the number of bytes of data in the verb_data variable. On input, specify thesize of the variable. The verb updates the variable with the size of the returned...
Cryptographic_Facility_Query CCA Release 2.54 Cryptographic_Facility_Query (CSUACFQ) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Cryptographic_Facility_Query verb is used to retrieve information about theCryptographic Coprocessor and the CCA application program in that C...
CCA Release 2.54 Cryptographic_Facility_Query On output, the verb sets the variable to the number of rule-array elements itreturns to the application program. Note: With this verb, the number of returned rule-array elements can exceed the rule-array count that you specified on input. Be sure that yo...
Cryptographic_Facility_Query CCA Release 2.54 Figure 2-3 (Page 1 of 7). Cryptographic_Facility_Query Information Returned in the Rule Array Element Number Name Description Output rule-array for option STATCCA 1 NMK Status State of the New Master-Key register: One means the register is clear Two mean...
CCA Release 2.54 Cryptographic_Facility_Query Figure 2-3 (Page 2 of 7). Cryptographic_Facility_Query Information Returned in the Rule Array Element Number Name Description Output rule-array for option STATCCAE 1 Symmetric NMKStatus State of the Symmetric New Master-Keyregister: One means the registe...
Cryptographic_Facility_Query CCA Release 2.54 Figure 2-3 (Page 3 of 7). Cryptographic_Facility_Query Information Returned in the Rule Array Element Number Name Description Output rule-array for option STATCARD 1 Number of InstalledAdapters The number of active CryptographicCoprocessors installed in ...
CCA Release 2.54 Cryptographic_Facility_Query Figure 2-3 (Page 4 of 7). Cryptographic_Facility_Query Information Returned in the Rule Array Element Number Name Description 12 Flash Memory Size A numeric character string containing the sizeof the flash EPROM memory on theCoprocessor, in 64-kilobyte i...
Cryptographic_Facility_Query CCA Release 2.54 Figure 2-3 (Page 5 of 7). Cryptographic_Facility_Query Information Returned in the Rule Array Element Number Name Description 5 Low VoltageDetected A numeric character string containing a value toindicate whether a power supply voltage wasbelow the minim...
CCA Release 2.54 Cryptographic_Facility_Query Figure 2-3 (Page 6 of 7). Cryptographic_Facility_Query Information Returned in the Rule Array Element Number Name Description Output rule-array for option STATEID (Environment Identifier) 1,2 EID The two elements when concatenated providethe 16-byte EID ...
Cryptographic_Facility_Query CCA Release 2.54 verb_data_length The verb_data_length parameter is a pointer to an integer variable containing the number of bytes of data in the verb_data variable. verb_data The verb_data parameter is a pointer to a string variable containing data sent to the Coproces...
CCA Release 2.54 Cryptographic_Resource_Allocate resource_name_length The resource_name_length parameter is a pointer to an integer variable containing the number of bytes of data in the resource_name variable. Thelength must be within the range of 1 to 64. resource_name The resource_name parameter ...
CCA Release 2.54 Key_Storage_Designate key_storage_file_name_length The key_storage_file_name_length parameter is a pointer to an integer variable containing the number of bytes of data in the key_storage_file_name variable.The length must be within the range of 1 to 64. key_storage_file_name The ke...
Key_Storage_Initialization CCA Release 2.54 Key_Storage_Initialization (CSNBKSI) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Key_Storage_Initialization verb initializes a key-storage file using the currentsymmetric or asymmetric master-key. The initialized key storage wi...
CCA Release 2.54 Key_Storage_Initialization key_storage_file_name_length The key_storage_file_name_length parameter is a pointer to an integer variable containing the number of bytes of data in the key_storage_file_name variable.The length must be within the range of 1 to 64. key_storage_file_name T...
CCA Release 2.54 Logon_Control user_id The user_id parameter is a pointer to a string variable containing the ID string which identifies the user to the system. The user ID must be exactly eightcharacters in length. Shorter user IDs should be padded on the right withspace characters. The user_id par...
Logon_Control CCA Release 2.54 On input, this field contains the length (in bytes) of the auth_data variable.When no usage is defined for the auth_data parameter, set the length variable to zero. On output, this field contains the number of bytes of data returned in theauth_data variable. auth_data ...
CCA Release 2.54 Master_Key_Distribution Master_Key_Distribution (CSUAMKD) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Master_Key_Distribution verb is used to perform these operations related tothe distribution of shares of the master key: Generate and distribute a share...
Master_Key_Distribution CCA Release 2.54 – The private_key_name of the Coprocessor-retained key used to decrypt the clone_info_encrypting_key. This key must have the CLONE attribute set at the time of key generation. – The certifying_key_name of the public key already registered in the Coprocessor u...
CCA Release 2.54 Master_Key_Distribution Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. rule_array_count The rule_array_count parameter is a pointer to an integer variable containing th...
CCA Release 2.54 Master_Key_Process Master_Key_Process (CSNBMKP) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Master_Key_Process verb operates on the three master-key registers: new,current, and old. Use the verb to: Clear the new and clear the old master-key registers Ge...
Master_Key_Process CCA Release 2.54 The master-key verification pattern (MKVP) of the new master-key is compared against the MKVP of the current and the old master-keys. If they are the same, the service fails with return code 8, reason code 704. If any of the eight-byte parts of the new master-key ...
Random_Number_Tests CCA Release 2.54 Random_Number_Tests (CSUARNT) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X The Random_Number_Tests verb invokes the USA NIST FIPS PUB 140-1specified cryptographic operational tests. These tests, selected by a rule-arraykeyword, consist of: F...
CCA Release 2.54 ────────────┬───────────────── ┌──────────────────┐ │PKA_Key_Token_Build├┐ └┬──────────────────┘│┌─────────┐ └──────┬───────┬────┘│ │ │ │(Skeleton) │ ┌─────────────┐ │ ┌───────────────┐ │ │PKA_Key_Import├┐ │ │PKA_Key_Generate├┐ │ └┬─────────────┘│ │ └┬───────────────┘│ │ └─────┬────...
CCA Release 2.54 The PKA_Key_Generate verb either retains the generated private key within theCoprocessor, or the verb outputs the generated private key in one of three forms soyou can control where the private key is deployed. You can request that the generated private key be retained within the se...
CCA Release 2.54 restricted key usage. These systems can determine if a requesting process hasthe right to use the particular key name that is cryptographicly bound to the privatekey. You specify such a key name when you build the skeleton_key_token in the PKA_Key_Token_Build verb. For RSA keys, you...
CCA Release 2.54 You provide or identify the operational transport key (key-encrypting key) and theencrypted private key with its associated public key to the import service. Theservice will return the private key encrypted under the current asymmetricmaster-key along with the public key. The Coproc...
CCA Release 2.54 PKA_Key_Generate PKA_Key_Generate (CSNDPKG) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Key_Generate verb is used to generate a public-private key-pair for usewith the RSA algorithm. The skeleton_key_token specified to the verb determines the followi...
PKA_Key_Generate CCA Release 2.54 Note: When using the RETAINED key option, the key label supplied in the skeleton key-token references the key storage within the Coprocessor, and in thiscase must not reference a record in the host-system key-storage. The rule-array keyword CLONE flags a generated a...
CCA Release 2.54 PKA_Key_Generate Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. rule_array_count The rule_array_count parameter is a pointer to an integer variable containing the numbe...
CCA Release 2.54 PKA_Key_Import PKA_Key_Import (CSNDPKI) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Key_Import verb is used to import a public-private key-pair. A privatekey must be accompanied by the associated public key. A source private-key maybe in the clear or...
CCA Release 2.54 PKA_Key_Import Required Commands The PKA_Key_Import verb requires the PKA Key Import command (offset X ' 0104 ' ) to be enabled in the hardware. Chapter 3. RSA Key-Management 3-13
PKA_Key_Token_Build CCA Release 2.54 key_values_structure_length The key_values_structure_length parameter is a pointer to an integer variable containing the number of bytes of data in the key_values_structure variable.The maximum length is 2500 bytes. key_values_structure The key_values_structure p...
PKA_Key_Token_Build CCA Release 2.54 Token Type ModulusLength inBits PublicExponent Key-Values Structure (Hexadecimal) StructureLength(Bytes) RSA-CRT 512 Random(0) 0200 0000 0000 0000 0000 0000 0000 0000 0000 18 RSA-CRT 512 3 0200 0000 0001 0000 0000 0000 0000 0000 0000 03 19 RSA-CRT 512 65537 0200 ...
PKA_Key_Token_Change CCA Release 2.54 PKA_Key_Token_Change (CSNDKTC) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Key_Token_Change verb changes RSA private keys from enciphermentwith the old asymmetric master-key to encipherment with the current asymmetricmaster-key. ...
CCA Release 2.54 PKA_Key_Token_Change key_identifier_length The key_identifier_length parameter is a pointer to an integer variable containing the number of bytes of data in the key_identifier variable. Onoutput, the variable contains the length of the key token returned by the verb ifa key token (n...
PKA_Public_Key_Hash_Register CCA Release 2.54 PKA_Public_Key_Hash_Register (CSNDPKH) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Public_Key_Hash_Register verb is used to register a hash value for apublic key in anticipation of verifying the public key offered in a su...
PKA_Public_Key_Register CCA Release 2.54 PKA_Public_Key_Register (CSNDPKR) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Public_Key_Register verb is used to register a public key in thecryptographic engine. Keywords in the rule array designate the subsequentpermissible...
CCA Release 2.54 Chapter 4. Hashing and Digital Signatures This chapter discusses the data hashing and the digital signature techniques youcan use to determine data integrity. A digital signature may also be used toestablish the non-repudiation security property. (Another approach to data integrityb...
CCA Release 2.54 The CCA products support the following hash functions: Secure Hash Algorithm-1 (SHA-1) The SHA-1 is defined in FIPS 180-1 and produces a 20-byte, 160-bit hash value. The algorithm performs best onbig-endian, general purpose computers. This algorithm is usually preferred overMD5 if t...
CCA Release 2.54 Digital_Signature_Generate rule_array The rule_array parameter is a pointer to a string variable containing an array of keywords. The keywords are eight bytes in length, and must be left-justifiedand padded on the right with space characters. The rule_array keywords areshown below: ...
MDC_Generate CCA Release 2.54 MDC_Generate (CSNBMDG) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X Use the MDC_Generate verb to create a 128-bit (16-byte) hash value on a datastring whose integrity you intend to confirm. After using this verb to generate anMDC, you can compare...
CCA Release 2.54 MDC_Generate Format CSNBMDG return_code Input Integer reason_code Input Integer exit_data_length In/Output Integer exit_data In/Output String exit_data_length bytes text_length Input Integer text Input String text_length bytes rule_array_count Input Integer rule_array Input Stringar...
MDC_Generate CCA Release 2.54 Chaining_Vector The chaining_vector parameter is a pointer to an 18-byte string variable the security server uses as a work area to hold segmented data between verbinvocations. Note: When segmenting text, the application program must not change the data in this string b...
CCA Release 2.54 One_Way_Hash One_Way_Hash (CSNBOWH) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The One_Way_Hash verb obtains a hash value from a text string using the MD5,SHA-1, or RIPEMD-160 hashing methods, as you specify in the rule_array. You can provide all of the dat...
One_Way_Hash CCA Release 2.54 Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. rule_array_count The rule_array_count parameter is a pointer to an integer variable containing the number of...
CCA Release 2.54 Figure 5-1 (Page 2 of 2). Basic CCA DES Key-Management Verbs Verb Page Service Entry Point SvcLcn PKA_Decrypt 5-73 Uses an RSA private-key to decrypt a symmetric keyformatted in an RSA DSI PKCS #1 block type 2 structureand return the symmetric key in the clear. CSNDPKD E PKA_Encrypt...
CCA Release 2.54 A key that is multiply-enciphered under the master key is an operational key (OP). The key is operational because a cryptographic facility can use the master key tomultiply-decipher it to obtain the original key-value. A key that ismultiply-enciphered under a key-encrypting key (oth...
CCA Release 2.54 Checking a Control Vector Before Processing a CryptographicCommand Before a CCA cryptographic facility processes a command that uses amultiply-enciphered key, the facility’s logic checks the control vector associated withthe key. The control vector must indicate a valid key type for...
CCA Release 2.54 Asymmetric DES keys. An asymmetric DES key is a key in a key pair in whichthe keys are used as opposites. – ENCIPHER and DECIPHER. Used to only encrypt data versus only to decrypt data. – MAC and MACVER. Used in generating (and verifying) a MAC versus only verifying a MAC. – PINGEN ...
CCA Release 2.54 Figure 5-4 on page 5-9 shows the key-type, key subtype, and key-usage keywordsthat can be combined in the Control_Vector_Generate verb and theKey_Token_Build verb to build a control vector. The left column lists the key types,the middle column lists the subtype keywords, and the rig...
CCA Release 2.54 Figure 5-3 (Page 2 of 2). Key Types and Verb Usage Key Type Usable with Verbs IKEYXLAT, OKEYXLAT Key_Translate PIN Class These keys are used in the various financial-PIN processing commands. They aredouble-length keys. In operational form and in external form, these keys are associa...
CCA Release 2.54 Figure 5-5 (Page 3 of 3). Control Vector Key-Subtype and Key-Usage Keywords Keyword Meaning DKYL5 A DKYGENKY key with this subtype can be used to generate aDKYGENKY key with a subtype of DKYL4. DKYL6 A DKYGENKY key with this subtype can be used to generate aDKYGENKY key with a subty...
CCA Release 2.54 Random_Number_Generate Diversified_Key_Generate ┬ ┬ ┌────┴────┐ │ │ │ Clear_Key_ │ Key_Part_ Import │ Import ┬ ┌───────────────────┘ ┌─────────────────┐ ┬ │ │ ┴ │ │ │ │ ┌────┐ Symmetric_Key_Import ┌───────────────┐ │K │ │Internal Key─Token ├─────Key_Record_Write├─e S │ ┌──────┴─────...
CCA Release 2.54 Since the two halves are random numbers, it is unlikely that the result of the DOUBLE keyword will produce two halves with the same 64-bit values. Exporting and Importing Keys, Symmetric Techniques To operate on data with the same key at two different nodes, you must transportthe ke...
CCA Release 2.54 ┌──────────────┐ ┌──────────────┐ Operational │ Key to Be │ │ Imported │ Operational Form of Key │ Exported │ │ Key │ Form of Key at Node A └──────┬───────┘ └─────────────┘ at Node B │ │ │ │ ┌───────────────────────────│──────┐ ┌──────│───────────────────────────┐│Key_Export ┌──────...
CCA Release 2.54 therefore it is very important to handle the key-generating key with a high degree ofsecurity lest the interactions with the whole population of cards be placed injeopardy. In the current implementation, several methods of diversifying a key are supported: CLR8-ENC , TDES-ENC , TDES...
CCA Release 2.54 Security Precautions Be sure to see the “Observations on Secure Operations” chapter in the CCA Support Program Installation Manual . In order to maintain a secure cryptographic environment, each cryptographic nodemust be audited on a regular basis. This audit should be aimed at prev...
Cryptographic_Variable_Encipher CCA Release 2.54 Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. c-variable_encrypting_key_identifier The c-variable_encrypting_key_identifier parameter i...
CCA Release 2.54 Data_Key_Import Data_Key_Import (CSNBDKM) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Data_Key_Import verb imports an encrypted, source DES single-length ordouble-length DATA key and creates or updates a target internal key-token with themaster-key-encip...
CCA Release 2.54 Diversified_Key_Generate Diversified_Key_Generate (CSNBDKG) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Diversified_Key_Generate verb generates a key based on a function of akey-generating key, the process rule, and data that you supply. Thekey-generatin...
Diversified_Key_Generate CCA Release 2.54 Returns the diversified key, multiply-enciphered by the master key modified bythe control vector. Restrictions The TDES-XOR rule-array keyword is available starting with Release 2.50. The TDESEMV2 and TDESEMV4 rule-array keywords are available starting with ...
Diversified_Key_Generate CCA Release 2.54 Keyword Meaning TDESEMV2,TDESEMV4 Note: These options are available starting with Release 2.51. Specifies that 10, 18, 26, or 34 bytes of clear data shall beprocessed to form an EMV card-unique key and then asession key as specified in the EMV 2000 Integrate...
Diversified_Key_Generate CCA Release 2.54 generating_key_identifier The generating_key_identifier parameter is a pointer to a string variable containing the key-generating-key key-token or key label of a key-token record. data_length The data_length parameter is a pointer to an integer variable cont...
Key_Export CCA Release 2.54 Key_Export (CSNBKEX) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Key_Export verb exports a source DES internal-key into a target externalkey-token. Existing information in the target key-token is overwritten. The targetkey is enciphered by the...
CCA Release 2.54 Key_Generate unless you are using the TOKEN keyword, you must identify a null key-token on input. Required Commands Depending on your specification of key form, key type, and use of the SINGLE-R key length control, different commands are required to enable operation of theKey_Genera...
CCA Release 2.54 Key_Generate Figure 5-12. Key_Type and Key_Form Keywords for a Key Pair Key_Type_1 Key_Type_2 Key_FormOPOP,OPIM,IMIM Key_FormOPEX Key_FormEXEX Key_FormIMEX DATAMACMACMACVERDATAC *DATAM *DATAM *CIPHERCIPHERCIPHERDECIPHERDECIPHERENCIPHERENCIPHERKEYGENKY *DKYGENKY * DATAMACMACVERMACDAT...
Key_Part_Import CCA Release 2.54 Key_Part_Import (CSNBKPI) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Key_Part_Import verb is used to accumulate “parts” of a key and store theresult as an encrypted partial key or as the final key. Individual key-parts areexclusive-ORed ...
Key_Part_Import CCA Release 2.54 Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. rule_array_count The rule_array_count parameter is a pointer to an integer variable containing the number...
CCA Release 2.54 Key_Part_Import Required Commands The Key_Part_Import verb requires the following commands to be enabled in theactive role: The Load First Key Part command (offset X ' 001B ' ) with the FIRST keyword. The Combine Key Parts command (offset X ' 001C ' ) with the MIDDLE and LAST keywor...
Key_Test CCA Release 2.54 Key_Test (CSNBKYT) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X You use the Key_Test verb to verify the value of a key or key-part. Severalverification algorithms are supported. The verb supports testing of clear keys,enciphered keys, master keys, an...
Key_Test CCA Release 2.54 key_identifier The key_identifier parameter is a pointer to a string variable containing an internal key-token, a key label that identifies an internal key-token record in keystorage, or a clear key. The key token contains the key or the key part used to generate or verify ...
CCA Release 2.54 Key_Token_Build Key_Token_Build (CSNBKTB) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Key_Token_Build verb assembles an external or internal key-token inapplication storage from information you supply. The verb can include a control vector you supply or ...
Key_Token_Build CCA Release 2.54 Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. key_token The key_token parameter is a pointer to a string variable containing the assembled key-token. N...
CCA Release 2.54 Key_Token_Build key_value The key_value parameter is a pointer to a string variable containing the encrypted key-value incorporated into the encrypted-key portion of the keytoken if you use the KEY rule_array keyword. Single-length keys must be left-justified in the variable and pad...
CCA Release 2.54 Key_Translate Key_Translate (CSNBKTR) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Key_Translate verb uses one key-encrypting key to decipher an input key andthen enciphers this key using another key-encrypting key within the secureenvironment. Specify th...
Multiple_Clear_Key_Import CCA Release 2.54 clear_key_length The clear_key_length parameter is a pointer to an integer variable containing the number of bytes of data in the clear_key variable. clear_key The clear_key parameter is a pointer to a string variable containing the single-length (8-byte) o...
PKA_Decrypt CCA Release 2.54 source_encrypted_key_length The source_encrypted_key_length parameter is a pointer to an integer variable containing the number of bytes of data in the source_encrypted_key variable.The maximum size allowed is 256 bytes. source_encrypted_key The source_encrypted_key para...
PKA_Encrypt CCA Release 2.54 rule_array The rule_array parameter is a pointer to a string variable containing an array of keywords. The keywords are eight bytes in length, and must be left-justifiedand padded on the right with space characters. The rule_array keywords areshown below: clear_source_da...
PKA_Symmetric_Key_Export CCA Release 2.54 PKA_Symmetric_Key_Export (CSNDSYX) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Symmetric_Key_Export verb enciphers a symmetric DES or CDMFdefault DATA-key using an RSA public key. Specify the symmetric key to be exported, the...
CCA Release 2.54 PKA_Symmetric_Key_Export Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. rule_array_count The rule_array_count parameter is a pointer to an integer variable containing t...
CCA Release 2.54 PKA_Symmetric_Key_Generate PKA_Symmetric_Key_Generate (CSNDSYG) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Symmetric_Key_Generate verb generates a random DES-key andenciphers the key value. The key value is enciphered under an RSA public-key fordist...
CCA Release 2.54 PKA_Symmetric_Key_Generate Format CSNDSYG return_code Output Integer reason_code Output Integer exit_data_length In/Output Integer exit_data In/Output String exit_data_length bytes rule_array_count Input Integer one, two, or three rule_array Input Stringarray rule_array_count * 8 by...
PKA_Symmetric_Key_Import CCA Release 2.54 PKA_Symmetric_Key_Import (CSNDSYI) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The PKA_Symmetric_Key_Import verb recovers a symmetric DES (or CDMF) keythat is enciphered by an RSA public key. The verb deciphers the RSA-encipheredsymm...
PKA_Symmetric_Key_Import CCA Release 2.54 RSA_enciphered_key_length The RSA_enciphered_key_length parameter is a pointer to an integer containing the number of bytes of data in the RSA_enciphered_key variable.The maximum size allowed is 2500 bytes. RSA_enciphered_key The RSA_enciphered_key parameter...
CCA Release 2.54 Random_Number_Generate Random_Number_Generate (CSNBRNG) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Random_Number_Generate verb generates a random number for use as aninitialization vector, clear key, or clear key-part. You specify whether the random num...
CCA Release 2.54 Chapter 6. Data Confidentiality and Data Integrity This chapter describes the verbs that use the Data Encryption Standard (DES)algorithm to encrypt and decrypt data and to generate and verify a messageauthentication code (MAC). Figure 6-1. Data Confidentiality and Data Integrity Ver...
CCA Release 2.54 verbs also support the ANSI X9.23 mode of encryption. In X9.23 encryption, atleast one byte of data and up to eight bytes of data are always added to the end ofyour plaintext. The last of the added bytes is a binary value equal to the number ofadded bytes. The ANSI X9.23 process ens...
CCA Release 2.54 Ensuring Data Integrity CCA offers three classes of services for ensuring data integrity: Message authentication code (MAC) techniques based on the DES algorithm Hashing techniques Digital signature techniques. This chapter includes the MAC verbs. For information on using hashing or...
CCA Release 2.54 In each procedure call, a segmenting-control keyword indicates whether the callcontains the first, middle, or last unit of segmented data; the chaining_vector parameter specifies the work area that the verb uses. (The defaultsegmenting-control keyword ONLY specifies that segmenting ...
CCA Release 2.54 Decipher Decipher (CSNBDEC) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Decipher verb uses the Data Encryption Standard (DES) or the CommercialData Masking Facility (CDMF) algorithm and a cipher key to decipher data(ciphertext). This verb results in data...
Decipher CCA Release 2.54 ciphertext The ciphertext parameter is a pointer to a string variable containing the text to be deciphered. initialization_vector The initialization_vector parameter is a pointer to a string variable containing the initialization_vector the verb uses with the input data. ru...
CCA Release 2.54 Decipher length of the plaintext when it returns. The length will be different whenpadding is removed. Required Commands The Decipher verb requires the Decipher command (offset X ' 000F ' ) to be enabled in the hardware. Chapter 6. Data Confidentiality and Data Integrity 6-7
Encipher CCA Release 2.54 Encipher (CSNBENC) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Encipher verb uses the DES algorithm and a secret key to encipher data. Thisverb returns data called ciphertext. The returned ciphertext can be as many as eight bytes longer than the...
CCA Release 2.54 Encipher text_length The text_length parameter is a pointer to an integer variable. On input, the text_length variable contains the number of bytes of data in the cleartextvariable. On output, the text_length variable contains the number of bytes ofdata in the ciphertext variable. p...
CCA Release 2.54 MAC_Generate chaining_vector The chaining_vector parameter is a pointer to a string variable containing a work area the security server uses to carry segmented data between procedurecalls. Note: The application program must not change the data in this variable. MAC The MAC parameter...
CCA Release 2.54 Chapter 7. Key-Storage Verbs This chapter describes how you can use key-storage mechanisms and theassociated verbs for creating, writing, reading, listing, and deleting records in keystorage. Figure 7-1. Key-Storage-Record Services Verb Page Service Entry Point SvcLcn DES_Key_Record...
CCA Release 2.54 Use the Key_Record_Delete verb to delete a key token from a key record, or toentirely delete the key record from key storage. Use the Key_Record_List verb to determine the existence of key records in keystorage. The Key_Record_List verb creates a key-record-list data set withinforma...
CCA Release 2.54 DES_Key_Record_Delete DES_Key_Record_Delete (CSNBKRD) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The DES_Key_Record_Delete verb does either of the following tasks: Replaces the token in a key record with a null key-token Deletes an entire key record, includ...
CCA Release 2.54 DES_Key_Record_List DES_Key_Record_List (CSNBKRL) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The DES_Key_Record_List verb creates a key-record-list data set containinginformation about specified key records in key storage. Information listed includeswhether...
DES_Key_Record_List CCA Release 2.54 data_set_name_length The data_set_name_length parameter is a pointer to an integer variable containing the number of bytes of data returned by the verb in thedata_set_name variable. The maximum returned value is 64 bytes. data_set_name The data_set_name parameter...
PKA_Key_Record_Write CCA Release 2.54 key_label The key_label parameter is a pointer to a string variable containing the key label that identifies the key record in PKA key-storage where the key token is tobe written. key_token_length The key_token_length parameter is a pointer to an integer variabl...
CCA Release 2.54 Chapter 8. Financial Services Support Verbs There are several classes of verbs described in this chapter: Finance industry PIN processing verbs. Information common to these verbs isdescribed in the next section. Support for changing the acceptable PIN on a smart card based on VISA a...
CCA Release 2.54 Figure 8-1 (Page 2 of 2). Financial Services Support Verbs Verb Page Service Entry Point SvcLcn PIN_Change/Unblock 8-52 Calculates a PIN for a smart card based on keys and datayou supply according to VISA and EMV specifications. CSNBPCU E Secure_Messaging_for_Keys 8-59 Securely inco...
CCA Release 2.54 PIN-Calculation Method and PIN-Block Format Summary As described in the following sections, you can use a variety of PIN calculationmethods and a variety of PIN-block formats with the various PIN-processing verbs.Figure 8-3 provides a summary of the supported combinations. Figure 8-...
CCA Release 2.54 OPINENC (output PIN-block encrypting) key type The PIN verbs that encrypt a PIN block require the encrypting key tohave a control vector that specifies an OPINENC key type. KEYGENKY (unique-key-per-transaction base key-generating key) key type The Encrypted_PIN_Translate and Encrypt...
CCA Release 2.54 Note: To avoid errors when using the IBM 3624 PIN-block format, you should not include in the decimalization table a decimal digit that is also used as a paddigit. For information about a pad digit, see “PIN Profile” on page 8-10. validation_data The second element in the data array...
CCA Release 2.54 – Eleven (rightmost) digits of PAN data, excluding the check digit. For information about a PAN, see “Personal Account Number (PAN)” onpage 8-13. – A constant, six.– A one-digit key index selector from one to six.– Three numeric characters of validation data. reserved The second and...
CCA Release 2.54 Format Control Enforcement: The format-control level is the second element in a PIN profile. For the IBM 4758 implementation, this element must be set to NONE followed by four space characters. Pad Digit: The pad digit is the third element in a PIN profile. Certain PIN-block formats...
CCA Release 2.54 The CKSN is the concatenation of a terminal identifier and a sequence numberwhich together define a unique terminal (within the set of terminals associated witha given base key) and the sequence number of the transaction originated by thatterminal. Each time the terminal completes a...
CCA Release 2.54 Personal Account Number (PAN) A personal account number (PAN) identifies an individual and relates that individualto an account at the financial institution. The PAN consists of the following: Issuer identification number Customer account number One check digit. For the ISO-0 PIN-bl...
Clear_PIN_Encrypt CCA Release 2.54 Format CSNBCPE return_code Output Integer reason_code Output Integer exit_data_length In/Output Integer exit_data In/Output String exit_data_length bytes PIN_encrypting_key_identifier Input String 64 bytes rule_array_count Input Integer zero or one rule_array Input...
Clear_PIN_Generate CCA Release 2.54 Clear_PIN_Generate (CSNBPGN) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Clear_PIN_Generate verb generates an A-PIN or an O-PIN by using one of thefollowing calculation methods that you specify with a rule-array keyword (see“PIN-Calcul...
CCA Release 2.54 Clear_PIN_Generate Restrictions None Format CSNBPGN return_code Output Integer reason_code Output Integer exit_data_length In/Output Integer exit_data In/Output String exit_data_length bytes PIN_generating_key_identifier Input String 64 bytes rule_array_count Input Integer one rule_...
Clear_PIN_Generate CCA Release 2.54 PIN_check_length The PIN_check_length parameter points to an integer variable in the range from 4 to 16 containing the length of the PIN offset. The verb uses the PINcheck length if you specify the IBM-PINO keyword for the calculation method. Otherwise, ensure tha...
CCA Release 2.54 Clear_PIN_Generate_Alternate Clear_PIN_Generate_Alternate (CSNBCPA) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Clear_PIN_Generate_Alternate verb is used to obtain a value, the “O-PIN”(offset or VISA-PVV), that will relate the institution-assigned PIN to...
CCA Release 2.54 Clear_PIN_Generate_Alternate Note: When using the ISO-0 format, use the 12 rightmost PAN digits, excluding the check digit. encrypted_PIN_block The encrypted_PIN_block parameter points to a string variable containing the encrypted PIN-block of the (customer-selected) C-PIN value. ru...
CCA Release 2.54 Clear_PIN_Generate_Alternate When using the NL-PIN-1 keyword, identify the following elements in the data array: When using the VISA-PVV keyword, identify the following elements in the data array. For more information about transaction security data for the VISA-PVVcalculation metho...
Clear_PIN_Generate_Alternate CCA Release 2.54 returned_result The returned_result parameter points to a string variable containing the clear O-PIN returned by the verb. The 16-byte result will be left-justified and paddedon the right with space characters. The length of the PIN offset in the returne...
CVV_Generate CCA Release 2.54 rule_array The rule_array parameter is a pointer to a string variable containing an array of keywords. The keywords are eight bytes in length, and must be left-justifiedand padded on the right with space characters. The rule_array keywords areshown below: PAN_data The P...
CVV_Verify CCA Release 2.54 CVV_Verify (CSNBCSV) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The CVV_Verify verb supports the VISA card-verification value (CVV) and theMasterCard card-verification code (CVC) process as defined for track 2 by verifyinga CVV. For details about...
CCA Release 2.54 Encrypted_PIN_Generate Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. PIN_generating_key_identifier The PIN_generating_key_identifier parameter points to a string varia...
CCA Release 2.54 Encrypted_PIN_Translate Encrypted_PIN_Translate (CSNBPTR) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Encrypted_PIN_Translate verb can change PIN block encryption, andoptionally format a PIN into a different PIN-block format. You can use this verb inan i...
CCA Release 2.54 Encrypted_PIN_Translate Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. input_PIN_encrypting_key_identifier The input_PIN_encrypting_key_identifier parameter is a pointe...
Encrypted_PIN_Translate CCA Release 2.54 rule_array The rule_array parameter is a pointer to a string variable containing an array of keywords. The keywords are eight bytes in length, and must be left-justifiedand padded on the right with space characters. output_PIN_profile The output_PIN_profile p...
Encrypted_PIN_Verify CCA Release 2.54 Encrypted_PIN_Verify (CSNBPVR) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2/23 X X X X The Encrypted_PIN_Verify verb extracts a trial PIN (T-PIN) from an encryptedPIN-block and verifies this value by comparing it to an account PIN (A-PIN)calculated ...
CCA Release 2.54 Encrypted_PIN_Verify The verb does the following: Decrypts the input PIN-block by using the supplied IPINENC key in ECB mode,or derives the decryption key using the specified KEYGENKY key and CKSNand uses ANSI X9.24-specified “special decryption.” The EPINVER bit must bevalued to on...
CCA Release 2.54 Encrypted_PIN_Verify When using the VISA-PVV or VISAPVV4 keywords, identify the following elements in the data array. For more information about these elements, andtransaction security data for the VISA-PVV calculation method, see “VISA PINValidation Value (PVV) Calculation Method” ...
Encrypted_PIN_Verify CCA Release 2.54 Required Commands The Encrypted_PIN_Verify verb requires the following commands to be enabled inthe hardware, based on the keyword specified for the PIN-calculation methods. The Encrypted_PIN_Translate verb also requires the Unique Key Per Transaction,ANSI X9.24...
CCA Release 2.54 Key_Encryption_Translate | Key_Encryption_Translate (CSNBKET) | Platform/ | Product | OS/2 | AIX | Win NT/ | 2000 | OS/400 | IBM 4758-2/23 | X | The Key_Encryption_Translate verb is used to change the method of key | encryption. An input key can be a double-length external CCA DATA ...
Key_Encryption_Translate CCA Release 2.54 | Format | CSNBKET | return_code | Output | Integer | reason_code | Output | Integer | exit_data_length | In/Output | Integer | exit_data | In/Output | String | exit_data_length bytes | rule_array_count | Input | Integer | one | rule_array | Input | String |...
PIN_Change/Unblock CCA Release 2.54 PIN_Change/Unblock (CSNBPCU) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-23 X Use the PIN_Change/Unblock verb to prepare an encrypted message-portion forcommunicating an original or replacement PIN for an EMV smart-card. The verbembeds the PIN(s) in an...
CCA Release 2.54 PIN_Change/Unblock authentication_key_identifier_length The authentication_key_identifier_length parameter points to an integer variable set to 64. This is the string length of the related key identifier. authentication_key_identifier The authentication_key_identifier parameter poin...
PIN_Change/Unblock CCA Release 2.54 When an MAC-MDK and/or ENC-MDK of key type DKYGENKY is specified withcontrol vector bits (19-22) of B'1111', the Generate Diversified Key (DALL withDKYGENKY key type) command (offset X ' 0290 ' ) must also be enabled in the active role. PIN-blockencryptingkey-type...
Secure_Messaging_for_Keys CCA Release 2.54 Returns the enciphered text. Restrictions This verb is supported beginning with Release 2.50. Format CSNBSKY return_code Output Integer reason_code Output Integer exit_data_length In/Output Integer exit_data In/Output String exit_data_length bytes rule_arra...
Secure_Messaging_for_PINs CCA Release 2.54 Secure_Messaging_for_PINs (CSNBSPN) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-23 X Use the Secure_Messaging_for_PINs verb to decrypt an input PIN-block, optionallyreformat the PIN-block, and incorporate the PIN-block into a text block you also...
Secure_Messaging_for_PINs CCA Release 2.54 input_PIN_block The input_PIN_block parameter is a pointer to an eight-byte string variable containing the input, encrypted PIN-block. PIN_encrypting_key_identifier The PIN_encrypting_key_identifier parameter is a pointer to a string variable containing an ...
CCA Release 2.54 SET_Block_Compose Parameters For the definitions of the return_code , reason_code , exit_data_length , and exit_data parameters, see “Parameters Common to All Verbs” on page 1-11. rule_array_count The rule_array_count parameter is a pointer to an integer variable containing the numb...
SET_Block_Decompose CCA Release 2.54 Required Commands The SET_Block_Decompose verb requires the SET Block Decompose command(command offset X ' 010C ' ) to be enabled in the hardware. Two additional commands are used when encrypting PIN data with this verb. When using an IPINENC type key, the verb r...
CCA Release 2.54 Transaction_Validation Transaction_Validation (CSNBTRV) Platform/ Product OS/2 AIX Win NT/ 2000 OS/400 IBM 4758-2 X X X X The Transaction_Validation verb supports the generation and validation ofAmerican Express card security codes (CSC). The Transaction_Validation verb generates an...
CCA Release 2.54 Transaction_Validation Operation Element Description Validation-Values Length GENERATE and CSC-345 555554444333where:55555 = CSC 5 value4444 = CSC 4 value333 = CSC 3 value 12 VERIFY and CSC-3 333 = CSC 3 value 3 VERIFY and CSC-4 4444 = CSC 4 value 4 VERIFY and CSC-5 55555 = CSC 5 va...
CCA Release 2.54 Appendix A. Return Codes and Reason Codes This appendix describes the return codes and the reason codes that a verb uses toreport the results of processing. Each return code is associated with a reason code that supplies details about theresult of verb processing. A successful resul...
CCA Release 2.54 Figure A-2 on page A-2 shows the reason codes, listed in numeric sequence andgrouped by their corresponding return code. The return codes appear in decimalform, and the reason codes appear in decimal and hexadecimal (hex) form. Return Code 0 Figure A-2. Reason Codes for Return Code ...
CCA Release 2.54 Return Code 4 Figure A-3. Reason Codes for Return Code 4 ReturnCodeDec ReasonCodeDec (Hex) Meaning 4 001 (001) The verification test failed. 4 013 (00D) The key token has an initialization vector, and the initialization_vector parameter value is nonzero. The verb uses the value in t...
CCA Release 2.54 Return Code 8 Figure A-4 (Page 1 of 6). Reason Codes for Return Code 8 ReturnCodeDec ReasonCodeDec (Hex) Meaning 8 012 (00C) The token-validation value in an external key token is notvalid. 8 022 (016) The ID number in the request field is not valid. 8 023 (017) An access to the dat...
CCA Release 2.54 Figure A-4 (Page 2 of 6). Reason Codes for Return Code 8 ReturnCodeDec ReasonCodeDec (Hex) Meaning 8 063 (03F) A key token had an invalid token header (for example, not aninternal token). 8 064 (040) The RSA key is not permitted to perform the requestedoperation. Likely causes are k...
CCA Release 2.54 Figure A-4 (Page 3 of 6). Reason Codes for Return Code 8 ReturnCodeDec ReasonCodeDec (Hex) Meaning 8 155 (09B) The value that the generated_key_identifier parameter specifies is not valid, or it is not consistent with the value thatthe key_form parameter specifies. 8 156 (09C) A key...
CCA Release 2.54 Return Code 12 Figure A-5. Reason Codes for Return Code 12 ReturnCodeDec ReasonCodeDec (Hex) Meaning 12 097 (061) File space in key storage is insufficient to complete theoperation. 12 196 (0C4) The device driver, the security server, or the directory server isnot installed, or is n...
CCA Release 2.54 Return Code 16 Figure A-6. Reason Codes for Return Code 16 ReturnCodeDec ReasonCodeDec (Hex) Meaning 16 099 (063) An unrecoverable error occurred in the security server; contactyour IBM service representative. 16 336 (150) An error occurred in a cryptographic hardware or softwarecom...
CCA Release 2.54 Appendix B. Data Structures This appendix describes the following data structures: Key tokens Chaining vector records Key-storage records Key record list data set Access-control data structures Master key shares Distributed function control vector. Key Tokens This section describes ...
CCA Release 2.54 An IBM 4758 does not permit the introduction of a new master key value that hasthe same verification value as either the current master-key or as the oldmaster-key. Token-Validation Value and Record-Validation Value The Token-Validation Value (TVV) is a checksum that helps ensure th...
CCA Release 2.54 DES Key-Tokens DES key-token data structures are 64 bytes in length, contain an enciphered key, acontrol vector, various flag bits, version number, and token validation value. An internal key-token contains a key multiply-enciphered by a master key while an external key-token contai...
CCA Release 2.54 External DES Key-Token CCA implementations generally use a version X ' 00 ' external key-token. See Figure B-4. The IBM 4758 Version 2 CCA Support Program also uses a versionX ' 01 ' external key-token to hold a double-length DATA key that is associated with a null (all-zero bits) c...
CCA Release 2.54 DES Key-Token Flag Byte 1: DES Key-Token Flag Byte 2: Figure B-6. Key-Token Flag Byte 1 Bits (MSB...LSB) 1 Meaning 1xxx xxxx The encrypted key value and the Master Key Verification Pattern arepresent 0xxx xxxx An encrypted key is not present x0xx xxxx The control-vector value is not...
CCA Release 2.54 Coprocessor but your application will encounter a performance penalty witheach use of the key. Protection of the private key is provided by encrypting a confounder (a random number) and the private key information exclusive of the modulus. An encryptedprivate key in an external key-...
CCA Release 2.54 RSA Private-Key Blinding Information: Figure B-22. RSA Private-Key Blinding Information Offset (Bytes) Length(Bytes) Description 000 001 X ' FF ' , Section identifier, private-key blinding information. Used with internal key-tokens created by the CCA Support Program, Version1 (havin...
CCA Release 2.54 Figure B-30 (Page 2 of 2). Key-Record-List Data Set Format (OS/400 only) Offset Length Meaning Detail Record 0 1 This field contains an asterisk (*) if the key-storage record did not have acorrect record validation value; this record should be considered to be apotential error. 1 2 ...
CCA Release 2.54 Role Structure This section describes the data structures used with roles. Basic Structure of a Role The following figure describes how the Role data is structured. This is the format used when role data is transferred to or from the Coprocessor, using verbsCSUAACI or CSUAACM. Bytes...
CCA Release 2.54 Aggregate Role Structure A set of zero one or more role definitions are sent in a single data structure. Thisstructure consists of a header , followed by one or more role structures as defined in “Basic Structure of a Role” on page B-29. The header defines the number of roles which ...
CCA Release 2.54 The entire access-control-point structure is comprised of a header, followed by oneor more access-control-point segments. The header indicates how many segmentsare contained in the entire structure. The layout of this structure is illustrated in Figure B-33. Bytes Field ┌───────┐ ──...
CCA Release 2.54 Figure B-34 (Page 2 of 2). Functions Permitted in Default Role Code Function Name X ' 0113 ' Change the expiration date in a user profile X ' 0114 ' Change the authentication data (for example, passphrase) in a userprofile X ' 0115 ' Reset the logon failure count in a user profile X...
CCA Release 2.54 The checksum is defined as the exclusive-OR (XOR) of each byte in the profile structure. The high-order byte of the checksum field is set to zero (X ' 00 ' ), and the exclusive-OR result is put in the low-order byte. Note: The checksum value is not used in the current profile struct...
CCA Release 2.54 Figure B-39 (Page 1 of 2). Authentication Data for Each Authentication Mechanism Field name Length (bytes) Description Length 2 The size of this set of authentication mechanism data, inbytes. The length field includes all bytes of mechanism datafollowing the length field itself. Mec...
CCA Release 2.54 Authentication Data for Passphrase Authentication: For passphrase authentication, the mechanism data field contains the 20-byte SHA-1 hash of theuser's passphrase. The hash is computed in the host, where it is used to constructthe profile that is downloaded to the Coprocessor. Figur...
CCA Release 2.54 1 5a 2d 2 53 61 6d 7 6c 65 2 5 72 6f ...Z- Sample Pro 66 69 6c 65 2 31 2 2d ab cd 4a 5f 53 6d file 1 -....J_Sm 69 74 68 2 41 44 4d 49 4e 31 2 2 7 cd 6 1 ith ADMIN1 .... 7 cd c 1f 24 1 2 1 1 8 7 ce ....."... ...... 6 1 8 fb f5 c4 84 75 5f ba 59 6b ca ..........u_.Yk. 4a 9d ca 8 f...
CCA Release 2.54 1 1 5a 2d 2 53 61 ...........Z- Sa 6d 7 6c 65 2 5 72 6f 66 69 6c 65 2 31 2 2d mple Profile 1 - ab cd 4a 5f 53 6d 69 74 68 2 41 44 4d 49 ....J_Smith ADMI 4e 31 2 2 7 cd 6 1 7 cd c 1f 24 1 N1 .........".. 2 1 1 8 7 ce 6 1 8 fb f5 . .............. c4 84 75 5f ba 59 6b ca 4a 9d ca 8...
CCA Release 2.54 00 03 The number of bytes of data in the access-control points for thissegment. There are 3 bytes, for the access-control points from 512through 535. 00 00 A reserved field, which must be filled with zeros. 8F 99 FE This is the second set of access-control points, with one bitcorres...
CCA Release 2.54 Aggregate Role Data Structure Figure B-45 shows the an aggregate role data structure, like you would load usingthe CSUAACI verb. 1 1 62 2a 4e 65 77 ............New 2 64 65 66 61 75 6c 74 2 72 6f 6c 65 2 31 2a default role 1 ab cd 44 45 46 41 55 4c 54 2 23 45 1 f ....DEFAULT #E.. 17 ...
CCA Release 2.54 Master Key Shares Data Formats Master key shares, and potentially other information to be “cloned” from oneCoprocessor to another Coprocessor are packed into a data structure as describedin Figure B-46. Figure B-46. Cloning Information Token Data Structure Offset (Bytes) Length(Byte...
CCA Release 2.54 Function Control Vector The export (distribution) of cryptographic implementations by USA companies iscontrolled under USA Government export regulations. An IBM 4758 becomes apractical cryptographic engine when it accepts and validates digitally signedsoftware. IBM has chosen to exp...
CCA Release 2.54 Appendix C. CCA Control-Vector Definitions and KeyEncryption This appendix describes the following: DES control-vector values 1 Specifying a control-vector-base value Changing control vectors CCA key encryption and decryption processes. In the Common Cryptographic Architecture (CCA)...
CCA Release 2.54 Usually there is a default control-vector associated with each of the key types justlisted; see Figure C-2 on page C-3. The bits in positions 16-22 and 33-37generally have different meanings for every key class. Many of the remaining bitsin a control vector have a common meaning. Mo...
CCA Release 2.54 Key-Form Bits, ‘fff’ and ‘FFF’ The key-form bits, 40-42...and for a double-length key, bits 104-106...aredesignated ‘fff’ and ‘FFF’ in the preceding diagram. These bits can have thesevalues: 000 Single-length key (only ‘fff’, not ‘FFF’) 010 Double-length key, left half 001 Double-le...
CCA Release 2.54 2. For key-encrypting keys, set the following bits: The Key-Encrypting Key-limiting bits, previously described as bits “hhh, bits35 to 37,” are not supported in any current release of the Coprocessor CCAsupport. The key-generating usage bits (gks, bits 18 to 20). Set the gks bits to...
CCA Release 2.54 The MAC control bits (bits 20 and 21). For a MAC generation key, set bits20 and 21 to B ' 11 ' . For a MAC verification key, set bits 20 and 21 to B ' 01 ' . The key-form bits (fff, bits 40 to 42). For a single-length key, set the bits toB ' 000 ' . For a double-length key, set the ...
CCA Release 2.54 9. For the IPINENC (inbound) and OPINENC (outbound) PIN-block ciphering keys, do the following: Set the TRANSLAT bit (t, bit 21) to 1 to permit the key to be used in thePIN_Translate verb. The Control_Vector_Generate verb can set theTRANSLAT bit to 1 when you supply the TRANSLAT key...
CCA Release 2.54 13. For all keys, set the following bits: The export bit (E, bit 17). If set to 0, the export bit prevents a key frombeing exported. By setting this bit to 0, you can prevent the receiver of akey from exporting or translating the key for use in another cryptographicsubsystem. Once t...
CCA Release 2.54 CCA Key Encryption and Decryption Processes This section describes the CCA key-encryption processes: CCA DES key encryption CCA RSA private key encryption Encipherment of DES keys under RSA in “PKA92” format Encipherment of a DES key-encrypting key under RSA in “NL-EPP-5” format. CC...
CCA Release 2.54 ┌──────────────┬──────────────┬──────────────┐ ┌──────────────┬──────────────┐│ Master Key │ │ Control Vector │ └────│─────────┴────│─────────┴────│─────────┘ └────│─────────┴─────────│────┘ │ 7 8 │ 15 16 │ 23 │ 7 8 │ 15 │ ┌─────────│────┬─────────│────┬──────────────┤ │ ├──┐ │ ├──┐...
CCA Release 2.54 PKA92 Key Format and Encryption Process The PKA_Symmetric_Key_Export, PKA_Symmetric_Key_Generate, and thePKA_Symmetric_Key_Import verbs optionally support a PKA92 method of encrypting a DES or CDMF key with an RSA public key. This format is adaptedfrom the IBM Transaction Security S...
CCA Release 2.54 Encrypting a Key_Encrypting Key in the NL-EPP-5 Format The PKA_Symmetric_Key_Generate verb supports a NL-EPP-5 method of encrypting a DES key-encrypting key with an RSA public key. The verb returns anencrypted key block by RSA encrypting a key record formed in the followingmanner: 1...
CCA Release 2.54 you can enter another part that is set to the value of the pre-exclusive-OR quantity (which quantity is discussed later). Use the Key_Generate verb to generate an IMPORTER/EXPORTER pair ofKEKs, with the KEY-PART control vector bit set on. Then use theKey_Part_Import verb to enter an...
CCA Release 2.54 Note that if you are processing a double-length key, you almost certainly will haveto process the key twice, using the key-encrypting key modified by different valueseach appropriate to a key half. Then you concatenate the resulting two correctkey-halves. ┌──────────────────────────...
CCA Release 2.54 Changing Control Vectors with the Control_Vector_Translate Verb Do the following when using the Control_Vector_Translate verb: Provide the control information for testing the control vectors of the source,target, and key-encrypting keys to ensure that only sanctioned changes can bep...
CCA Release 2.54 This expression tests whether the control vectors associated with the sourcekey and the target key meet your criteria for the desired translation. Encipher two copies of the mask array, each under a differentcryptographic-variable key (key type CVARENC). To encipher each copy of the...
CCA Release 2.54 Selecting the Key-Half Processing Mode The Control_Vector_Translate verb rule-array keywords determine which key halvesare processed in the verb call, as shown in Figure C-9. Keyword SINGLE Keyword RIGHT Keyword BOTH Keyword LEFT ┌─────────┬─────────┐ ┌─────────┬─────────┐ ┌────────...
CCA Release 2.54 The verb first processes the source and target tokens as with the SINGLE keyword. Then the source token is processed using the single-length enciphered key and the source token right-half controlvector to obtain the actual key value. The key value is thenenciphered using the KEK and...
CCA Release 2.54 Appendix D. Algorithms and Processes This appendix provides processing details for the following aspects of the CCAdesign: Cryptographic key-verification techniques Ciphering methods Triple-DES algorithms, EDE2 and EDE3 MAC calculation methods Access-control algorithms Master-key sp...
CCA Release 2.54 S/390 Based Master Key Verification Method When the first and third portions of the symmetric master key have the same value,the master key is effectively a double-length DES key. In this case, the master keyverification pattern (MKVP) is based on this algorithm: C = X ' 45454545454...
CCA Release 2.54 The CCA DES key verification algorithm does the following: 1. Sets KKR ′ = KKR exclusive-OR RN 2. Sets K1 = X ' 4545454545454545 ' 3. Sets X1 = DES encoding of KKL using key K1 4. Sets K2 = X1 exclusive-OR KKL 5. Sets X2 = DES encoding of KKR ′ using key K2 6. Sets VP = X2 exclusive...
CCA Release 2.54 When the keywords PADMDC-2 and PADMDC-4 are used, the supplied text is always padded as follows: If the supplied text is less than 16 bytes in length, pad bytes are appended tomake the text length equal to 16 bytes. If the supplied text is at least 16 bytes in length, pad bytes are ...
CCA Release 2.54 MDC-2 Calculation The MDC-2 calculation consists of the following procedure: MDC-2 (n, text, KEY1, KEY2, MDC); For i := 1,2,...,n do Call MDC-1(KEY1, KEY2, T8<i>, T8<i>, OUT1, OUT2)Set KEY1 := OUT1Set KEY2 := OUT2 End do Set output MDC := (KEY1 || KEY2). End procedure MD...
CCA Release 2.54 General Data Encryption Processes Although the fundamental concepts of ciphering (enciphering and deciphering) dataare simple, different methods exist to process data strings that are not a multiple ofeight bytes in length. Two widely used methods for enciphering general data aredef...
CCA Release 2.54 Triple-DES Ciphering Algorithms Triple-DES is used to encrypt keys, PIN blocks, and general data. Severaltechniques are employed: T-DES ECB DES keys, when triple encrypted under a double-length DES key, are ciphered using an e-d-e scheme without feedback. SeeFigure C-4 onpage C-13. ...
CCA Release 2.54 MAC Calculation Methods With CCA Release 2.51, three variations of DES based message authentication aresupported by the MAC_Generate and MAC_Verify verbs: ANSI X9.9 ANSI X9.19 optional Procedure 1 EMV post-padding of X ' 80 ' . The Financial Institution (Wholesale) Message Authentic...
CCA Release 2.54 RSA Key-Pair Generation RSA key-pair generation is determined based on user input of the modulus bitlength, public exponent, and key type. The output is based on creating primes pand q in conformance with ANSI X9.31 requirements as follows: prime p bit length = ((modulus_bit_length ...
CCA Release 2.54 Access-Control Algorithms The following sections describe algorithms and protocols used by theaccess-control system. Passphrase Verification Protocol This section describes the process used to log a user on to the CryptographicCoprocessor. Design Criteria The passphrase verification...
CCA Release 2.54 Appendix E. Financial System Verbs Calculation Methodsand Data Formats This appendix describes the following: PIN-calculation methods PIN-block formats Unique-key-per-transaction calculation methods MasterCard and VISA card verification techniques VISA and EMV smart card PIN-related...
CCA Release 2.54 PIN-Calculation Methods The financial PIN verbs support some or all of these PIN-calculation methods, seeFigure 8-3 on page 8-6: IBM 3624 PIN (IBM-PIN) IBM 3624 PIN Offset (IBM-PINO) Netherlands PIN-1 (NL-PIN-1). IBM German Bank Pool Institution PIN VISA PIN Validation Value (PVV) I...
CCA Release 2.54 IBM 3624 PIN-Calculation Method The IBM 3624 PIN-calculation method calculates a PIN that is from 4 to 16 digits inlength. The IBM 3624 PIN-calculation method consists of the following steps to create theA-PIN: 1. Encrypt the hexadecimal validation data with a key that has a control...
CCA Release 2.54 IBM 3624 PIN Offset Calculation Method The IBM 3624 PIN Offset calculation method is the same as the IBM 3624PIN-calculation method except that a step is added after the A-PIN is calculated tocalculate or use an offset, O-PIN: To calculate an O-PIN, the additional step subtracts (di...
CCA Release 2.54 Netherlands PIN-1 Calculation Method The Netherlands PIN-1 (NL-PIN-1) calculation method calculates a PIN that is 4digits in length. The method consists of the following steps to create the A-PIN: 1. Encrypt the hexadecimal validation data with a key that has a control vector that s...
CCA Release 2.54 IBM German Bank Pool Institution PIN-Calculation Method The IBM German Bank Pool Institution PIN calculation method calculates aninstitution PIN that is 4 digits in length. The German Bank Pool Institution PIN-calculation method consists of the followingsteps: 1. Encrypt the hexadec...
CCA Release 2.54 VISA PIN Validation Value (PVV) Calculation Method The VISA-PVV calculation method calculates a VISA-PVV that is 4 digits in length. The VISA PIN Validation Value (PVV) calculation method consists of the followingsteps: 1. Let X denote the transaction_security_parameter element. Thi...
CCA Release 2.54 Interbank PIN-Calculation Method The Interbank PIN-calculation method consists of the following steps: 1. Let X denote the transaction_security_parameter element converted to an array of sixteen 4-bit numeric values. This parameter consists of (in the followingsequence) the 11 right...
CCA Release 2.54 ISO-0 PIN-Block Format An ISO-0 PIN-block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1PIN-block formats. The ISO-0 PIN-block format supports a PIN from 4 to 12 digitsin length. A PIN that is longer than 12 digits is truncated on the right. The following are the formats o...
CCA Release 2.54 UKPT Calculation Methods This section describes the calculation methods for deriving theunique-key-per-transaction (UKPT) key according to ANSI X9.24 and performingthe special encryption and special decryption processes. 1 Deriving an ANSI X9.24 Unique-Key-Per-Transaction Key To det...
CCA Release 2.54 The following is an example of calculating the current PIN encrypting key: W a = X'4567 89AB CDE ' C a = X'11' S a1 = X'1' T a1 = X'4567 89AB CDF ' T b1 = X'6489 F5A3 1618 2AB' T c1 = X'F9AC C638 1939 44BC' K a2 = X'D842 BA3 C2D1 6417' . . . S a20 = X'1' T a20 = X'4567 89AB CDF 1' T...
CCA Release 2.54 CVV and CVC Method Figure E-6 2 shows the method used to generate a card-verification value (CVV) for track 2. Each (decimal) digit is represented as a 4-bit, binary value and packed twodigits per byte. ┌─────────────────┬──────────┬───────────────┬────────────────────┐ │ PAN │ Exp ...
CCA Release 2.54 VISA and EMV-Related Smart Card Formats and Processes The VISA and EMV specifications for performing secure messaging with an EMVcompliant smart card are covered in these documents: EMV 2000 Integrated Circuit Card Specification for Payment Systems Version4.0 (EMV4.0) Book 2 Design ...
CCA Release 2.54 3. Set the second digit of block-2 to the length of the new PIN (4 to 12), followed by the new PIN, and padded to the right with X ' F ' . 4. Include any current PIN by placing it into the leftmost digits of block-3. 5. Exclusive-OR blocks -1, -2, and -3 to form the 8-byte PIN block...
CCA Release 2.54 TDESEMV2 causes processing with a branch factor of 2 and a height of 16. TDESEMV4 causes processing with a branch factor of 4 and a height of 8. PIN-Block Self-encryption In the Secure_Messaging_for_PINs (CSNBSPN) verb, you can use the SELFENC rule-array keyword to specify that the ...
CCA Release 2.54 Appendix F. Verb List This appendix lists the verbs supported by the CCA Support Program feature forthe IBM 4758 PCI Cryptographic Coprocessor. Figure F-1 lists each verb by the verb’s pseudonym and entry-point name andshows the operating environment under which the verb is supporte...
CCA Release 2.54 List of Abbreviations ANSI American National Standards Institute ACF/VTAM Advanced Communications Functionfor the Virtual TelecommunicationsAccess Method AIX Advanced Interactive Executiveoperating system APF Authorized Program Facility API Application Programming Interface ASCII Am...
CCA Release 2.54 Glossary This glossary includes some terms and definitions fromthe IBM Dictionary of Computing , New York: McGraw Hill, 1994. This glossary also includes some terms anddefinitions from: The American National Standard Dictionary for Information Systems , ANSI X3.172-1990, copyright 1...
CCA Release 2.54 U Unique Key Per Transaction (UKPT) . UKPT is a cryptographic process that can be used to decipher PINblocks in a transaction. user-exit routine . A user-written routine that receives control at predefined user-exit points. user ID . User identification. userid . A string of charact...
CCA Release 2.54 Index A Access Control, CCA 2-2 Access_Control_Initialization (CSUAACI) 2-21 Access_Control_Maintenance (CSUAACM) 2-24 American Express transaction validation verb 8-75 American National Standards Institute (ANSI) X3.106 (CBC) method D-7 X9.19 method D-13 X9.23 method D-7 X9.9 metho...
IBM Manuals
-
IBM SC41-5210-04
Manual
-
IBM TM7
Manual
-
IBM 8677
Manual
-
IBM EM78P809N
Manual
-
IBM 610
Manual
-
IBM AIX 4.3
Manual
-
IBM 8128
Manual
-
IBM PANEL1173-841
Manual
-
IBM L150
Manual
-
IBM E50
Manual
-
IBM 8319
Manual
-
IBM DS3300
Manual
-
IBM 9519-AG1
Manual
-
IBM 6.00E+04
Manual
-
IBM PD78082(A)
Manual
-
IBM S544-5343-03
Manual
-
IBM PPC-1510PT
Manual
-
IBM 37L1388
Manual
-
IBM V2.3
Manual
-
IBM DS4500
Manual