IBM 2 Computer Hardware User Manual


 
CCA Release 2.54
Access-Control Algorithms
The following sections describe algorithms and protocols used by the
access-control system.
Passphrase Verification Protocol
This section describes the process used to log a user on to the Cryptographic
Coprocessor.
Design Criteria
The passphrase verification protocol is designed to meet the following criteria.
1. The use of cryptographic algorithms is permitted in the client logon software,
but there must be no storage of any long-term cryptographic keys. This is
because secure key storage is generally not available in the client workstation.
2. Replay attacks must not be feasible. This means that the logon request
message must be protected so that it cannot be captured by an adversary, and
later replayed to gain access to the genuine user's privileges.
3. An attacker should not be able to guess the cleartext content of the logon
request message.
4. No special hardware should be required on the client workstation.
5. The logon process must result in the establishment of a session key known
only to the Cryptographic Coprocessor and the client. This key will be used on
subsequent transactions to prove the identity of the sender, and to secure
transmitted data.
6. The session key will be generated in the Coprocessor. Its hardware-based
random-number generator is of higher quality than software-based
random-number sources generally available.
Description of the Protocol
The protocol is comprised of the following steps.
1. The user provides his User ID (UID) and passphrase.
2. The passphrase is hashed in the client workstation, using SHA-1. The resulting
hash is used to construct a logon key, denoted K
L
.
K
L
is a triple-length DES key. The three components of the triple-length key
are denoted K1
L
, K2
L
, and K3
L
.K1
L
is comprised of the first eight bytes of the
hash, K2
L
is comprised of the second eight bytes, and K3
L
is comprised of the
last four bytes, concatenated with four bytes of X'00'. Figure D-12 shows an
example to clarify this.
Passphrase is "This is my passphrase!"
SHA-1 hash of the passphrase is hex 42BED1CD 1DB68934 6319E315 F3C96A8 B2E8DB2
└───────┬───────┘ └────────┬──────┘ └───┬──┘
││
K1 is 42BED1CD 1DB68934 ───────────────────┘
K2 is 6319E315 F3C96A8 ──────────────────────────────────────┘
K3 is B2E8DB2  ───────────────────────────────────────────────────┘
Figure D-12. Example of Logon Key Computation
D-16 IBM 4758 CCA Basic Services, Release 2.54, February 2005