Access control considerations when cloning

There are three classes of roles to consider for cloning operations.
  • Roles at the share administration (SA) node.
  • Roles at the source node: coprocessor share signing (CSS) node
  • Roles at the target node: coprocessor share signing (CSS) node
Your security policy must define who will have the authority to:
  • Generate a random master key at the source node.
  • Set the master key, the action which brings a new master key into operation. When the master key changes, the keys enciphered by the master key must be updated.
  • Generate the retained Rivest-Shamir-Adleman (RSA) keys to certify the public keys of the source and target nodes (the SA key), and to generate the retained keys at the source (CSS) and target (CSR) nodes.
  • Register the SA key and its hash and determine whether it will be a split responsibility.

In addition, you must decide how many nodes must cooperate to clone a master key. Of course, this must be selected to avoid collusion.

In deciding the m and n values, consider when the cloning will take place and whether you need to reconstitute the master key from a fewer number of shares than the total number obtained from the source node (perhaps because of share corruption or the unavailability of one or more individuals who can obtain or install a share).

Note: The cryptographic node management (CNM) utility places all of the shares from a node in the csr.db file. Each share is encrypted under a unique, triple-length data encryption standard (DES) key which itself is encrypted by the CSR public key of the target node.

Table 1 provides guidance for selecting the permissions applicable to the roles that are related to cloning.

Table 1. CCA commands related to master key cloning
Code Command name Verb name Consideration
X'001A' Set Master Key Master_Key_Process Critical. This role must have knowledge of the contents of the new master key register and the implications of a master key change.
X'001D' Compute Verification Pattern Many All
X'0020' Generate Random Master Key Master_Key_Process Not critical except that it fills the new master key register.
X'0032' Clear New Master Key Register Master_Key_Process This role is assigned to the role that can set the master key. The role can override the collected shares. It must be mutually exclusive with the Generate Random Master Key command.
X'0033' Clear Old Master Key Register Master_Key_Process Generally not used.
X'008E' Generate Key Key_Generate Random_Number_Generate All
X'0090' Reencipher to Current Master Key Key_Token_Change This role depends on who will update the working keys encrypted by the master key.
X'0100' PKA96 Digital Signature Generate Digital_Signature_Generate This role certifies the SA, CSS, and CSR keys.
X'0101' PKA96 Digital Signature Verify Digital_Signature_Verify All
X'0102' PKA96 Key Token Change PKA_Key_Token_Change This role depends on who will update the working keys encrypted by the master key.
X'0103' PKA96 PKA Key Generate PKA_Key_Generate This role is required to generate the SA, CSS, and CSR keys.
X'0107' One-Way Hash, SHA-1 One_Way_Hash All
X'0114' Change User Profile Authentication Data Access_Control_Initialization This role allows to change the passphrase in any profile. Use with discretion.
X'0116' Read Public access control Information Access_Control_Maintenance All
X'011C' Set EID Cryptographic_Facility_Control This role is required to set up the CSS and CSR nodes.
X'011D' Initialize Master Key Cloning Cryptographic_Facility_Control This role is required to set up the m of n values at the CSS and CSR nodes.
X'0200' PKA Register Public Key Hash PKA_Public_Key_Hash_Register This role must be used at the CSS and CSR nodes to ensure the SA key can be recognized. Split responsibility with X'0201'.
X'0201' PKA Public Key Register PKA_Public_Key_Register This role must be used at the CSS and CSR nodes to ensure the SA key can be recognized. Split responsibility with X'0200'.
X'0203' Delete Retained Key Retained_Key_Delete This role is used to remove obsolete SA, CSS, and CSR keys. Be careful about denial of service.
X'0204' PKA Clone Key Generate PKA_Key_Generate This role is required to generate the CSS and CSR keys.
X'0211' - X'021F' Clone-info (Share) Obtain Master_Key_Distribution This role is assigns a profile and role for each share to enforce split responsibility.
X'0221' - X'022F' Clone-info (Share) Install Master_Key_Distribution This role is assigns a profile and role for each share to enforce split responsibility.
X'0230' List Retained Key Retained_Key_List All