REBIND
Rebind a Key Receiving Device (KRD) to a Key Distribution Host (KDH).
This is done when a KDH needs to update the credentials held at the KRD that represent
the KDH; for example, if the certificate is about to expire. These are the steps, in sequence, with
the CCA service APIs
identified:
- On KDH
- Generate a new RSA key pair (E-kdh-new, D-kdh-new), made by the HSM in their mainframe.
- Use CCA service CSNDPKG.
- Extract public key (E-kdh-new) into PKCS #10 certificate signing request (CSR-KDH-new).
- Use CCA service CSNDPIC.
- KDH sends CSR-KDH-new to the Certificate Authority to be turned into a certificate CredKDH-new under the agreed CA.
- KDH receives from CA these TR-34 objects.
- CredKDH-new: A certificate holding (E-kdh-new). Store certificate for use with all KRDs during REBIND.
- CRL-CA: New Certificate Revocation List. Store for use until not considered fresh any longer.
- CredCA: A certificate for CA. Install this in the CCA HSM PKI manually from the TKE for each domain that will use the TR-34 protocol. Also, keep this for new card provisioning.
- The KDH requests a random number from the KRD.
- Generate a new RSA key pair (E-kdh-new, D-kdh-new), made by the HSM in their mainframe.
- On KRD
- Call CCA service CSNBRNGL using keyword RT-KRD to create the
TR-34 token that contains the random number that is needed by the KDH.
- INPUT:
- RN-length: Length of the random number needed.
- OUTPUT:
- RT-KRD: Random number token.
- KEY STORAGE:
- RT-KRD stored in application space.
- INPUT:
- Send RT-KRD to KDH.
- Call CCA service CSNBRNGL using keyword RT-KRD to create the
TR-34 token that contains the random number that is needed by the KDH.
- On KDH
- If CRL-CA is not fresh any longer, the KDH should obtain a new CRL-CA before doing the next step.
- Call CCA service CSNDT34B using keyword REBINDCR.
- INPUT:
- RT-KRD: Random number token received from KRD.
- CRL-CA: Certificate Revocation List from CA.
- CredKRD: KRD credential with ID and public key.
- CredKDH-new: New KDH credential with ID and public key.
- CredKDH-old: Old KDH credential with ID and public key.
- D-kdh: Old private key needed to sign the REBIND data block.
- OUTPUT:
- UBT-KDH: REBIND token.
- INPUT:
- KDH sends the UBT-KDH token to the KRD.
- On KRD
- The KRD receives the UBT-KDH token from the KDH and now must process it to complete the REBIND.
- Call CCA service CSNDT34C using keyword REBINDRV.
- INPUT:
- UBT-KDH: REBIND token received from KDH.
- CredKRD: KRD credential with ID and public key.
- CredKDH: Old KDH credential with ID and public key.
- RT-KRD. Token originally sent by the KRD to the KDH and used now for validation.
- OUTPUT:
- UBT-KDH – is – valid: (yes or no/error)
- CredKDH-new: New KRD credential.
- KEY STORAGE:
- CredKDH-new stored in application space.
- INPUT:
- The application on the KRD removes all the keys associated with the CredKDH that sent the REBIND request (they are regarded as invalid). The KRD stores the CredKDH-new so that future key distribution events can be handled. This completes the REBIND phase.