IP Library Granted Patent US 7,512,800
Granted Patent B2
US 7,512,800 · App. 10/772,065 · Granted Mar 31, 2009

Key management technique for establishing a secure channel

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,512,800
App. No.
10/772,065
Granted
Mar 31, 2009
Kind
B2
Abstract

A key management technique establishes a secure channel through an indeterminate number of nodes in a network. The technique comprises enrolling a smart card with a unique key per smart card. The unique key is derived from a private key that is assigned and distinctive to systems and a card base of a card issuer. An enrolled smart card contains a stored public entity-identifier and the secret unique key. The technique further comprises transacting at a point of entry to the network. The transaction creates a PIN encryption key derived from the smart card unique key and a transaction identifier that uniquely identifies the point of entry and transaction sequence number. The technique also comprises communicating the PIN encryption key point-to-point in encrypted form through a plurality of nodes in the network, and recovering the PIN at a card issuer server from the PIN encryption key using the card issuer private key.

Claims (163)

1. A method for establishing a secure channel through an indeterminate number of nodes in a network comprising:

enrolling a smart card with a unique key per smart card, the unique key derived from a private key that is assigned and distinctive to systems and a card base of a card issuer, an enrolled smart card containing a stored public entity-identifier and the unique key;

transacting at a point of entry to the network, the transaction creating a PIN encryption key by hashing a keying code that is derived from the smart card unique key and a transaction identifier that uniquely identifies the point of entry and a transaction sequence number;

communicating a PIN point-to-point in encrypted form through a plurality of nodes in the network; and

recovering the PIN at a card issuer server using the PIN encryption key and the card issuer private key.

2. The method according to claim 1 further comprising:

defining public key values (e, N) that are exclusive to a card issuer system and card base, the key value e being a public exponent and the key value N being a modulus in an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system;

defining a private key value d that is exclusive to the card issuer system and card base, the private key value d being a secret RSA private key;

computing a secret key u that is unique to the smart card using an equation of the form:

u=x d (mod N),

where x is an entity-identifier that identifies the smart card and the entity; and

storing the secret key u on the smart card with public key values x, e, and N.

3. The method according to claim 1 further comprising:

receiving at an entity-activated terminal an entity-entered Personal Identification Number (PIN) and an entity-inserted smart card;

passing the PIN to the smart card;

computing at the smart card an equation of the form:

K=u·TSN H (mod N ),

where K is a keying code, u is a secret key, TSN is a transaction sequence identifier that identifies the terminal and a sequence number for a transaction originating at the terminal, H is a hash of transaction data elements, and N is a modulus in an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system; and

hashing at the smart card the keying code K to form the PIN encryption key KPE according to an equation of the form:

KPE=h(K),

where h( ) is a hashing algorithm.

4. The method according to claim 3 further comprising:

hashing at the smart card the keying code K to form an encryption key according to an encryption definition selected from a triple Data Encryption Standard (3-DES) and an Advanced Encryption Standard (AES).

5. The method according to claim 3 further comprising:

padding the keying code K with transaction-related data prior to the hash operation h(K).

6. The method according to claim 3 further comprising:

deriving the PIN encryption key KPE uniquely as a function of the secret key u for each transaction.

7. The method according to claim 6 further comprising:

maintaining the private key value d as a secret known only to the card issuer as the only entity capable of decrypting a cryptogram C.

8. The method according to claim 1 further comprising:

receiving an encrypted PIN at a card issuer server;

computing a hash H of transaction data;

computing an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system encryption t of a transaction sequence identifier TSN that identifies a transaction terminal and a sequence number for a transaction originating at the terminal according to an equation of the form:

TSN e (mod N),

where N is a modulus in an RSA system;

computing a cryptogram quantity C using public data according to an equation of the form:

C=x·t H (mod N ),

where x is an entity-identifier that identifies the smart card and the entity;

decrypting the cryptogram quantity C using the private key value d that is exclusive to the card issuer system and card base, the private key value d being a secret RSA private key, the decryption according to an equation of the form:

K=C d (mod N); and

decrypting the PIN using a PIN encryption key KPE=h(K) where h( ) is a hashing algorithm.

9. The method according to claim 1 further comprising:

encrypting the PIN at the smart card.

10. The method according to claim 1 further comprising:

receiving at an entity-activated terminal an entity-entered Personal Identification Number (PIN) and an entity-inserted smart card;

passing the PIN to the smart card;

generating a random number r at the smart card that is unique to a transaction;

computing at the smart card an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system encryption t according to an equation of the form

t=r e (mod N),

where e is the public exponent and N the modulus of the RSA system;

computing at the smart card a hash H of common public transaction data;

computing at the smart card a keying code K and a PIN encryption key KPE according to equations of the form:

K=u·r H (mod N ), and

KPE=h(K),

where u is a secret key and H is a hash of transaction data elements;

sending the PIN encryption key KPE and RSA system encryption t through the network; and

erasing the random number r.

11. The method according to claim 10 further comprising:

receiving a PIN encryption key KPE and encryption t at a card issuer server;

computing a hash H of transaction data;

computing a cryptogram quantity C using public data according to an equation of the form:

C=x·t H (mod N ),

where x is an entity-identifier that identifies the smart card and the entity;

decrypting the cryptogram quantity C using the private key value d that is exclusive to the card issuer system and card base, the private key value d being a secret RSA private key, the decryption according to an equation of the form:

K=C d (mod N); and

decrypting the PIN using the PIN encryption key KPE=h(K) where h( )is a hashing algorithm.

12. The method according to claim 1 further comprising:

computing at the smart card a hash H of transaction data;

communicating the transaction data hash to a card issuer server;

computing at the card issuer server a hash of transaction data; and

verifying the communicated hash with the server-computed hash for authentication and integrity checking.

13. A data security apparatus comprising:

a smart card that establishes a secure channel through an indeterminate number of nodes in a network comprising:

an interface for communicating with a card reader and/or writer;

a processor coupled to the interface; and

a memory coupled to the processor that stores a public entity-identifier and a secret unique key derived from a private key that is assigned and distinctive to systems and a card base of a card issuer, the memory further comprising:

a computable readable program code embodied therein that creates a PIN encryption key derived from the smart card unique key and a transaction identifier that uniquely identifies a point of entry and transaction sequence number;

a computable readable program code causing the processor to receive an entity-entered Personal Identification Number (PIN);

a computable readable program code causing the processor to compute an equation of the form:

K=u·TSN H (mod N ),

where K is a keying code, u is a secret key, TSN is a transaction sequence identifier that identifies the point of entry and a sequence number for a transaction originating at the terminal, H is a hash of transaction data elements, and N is a modulus in an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system; and

a computable readable program code causing the processor to hash the keying code K to form the PIN encryption key KPE according to an equation of the form:

KPE=h(k),

where h( ) is a hashing algorithm.

14. The apparatus according to claim 13 further comprising:

a secret unique key u stored in the memory with public key values x, e, and N where x is an entity-identifier that identifies the smart card and the entity, key value e is a public exponent and key value N is a modulus in an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system, the public key values (e, N) being exclusive to a card issuer system and card base;

wherein the secret key u is unique to the smart card and computed using an equation of the form:

u=x d (mod N),

where a private key value d is exclusive to the card issuer system and card base, the private key value d being a secret RSA private key.

15. The apparatus according to claim 13 wherein the memory further comprises:

a computable readable program code causing the processor to hash the keying code K to form an encryption key according to an encryption definition selected from a triple Data Encryption Standard (3-DES) and an Advanced Encryption Standard (AES).

16. The apparatus according to claim 13 wherein the memory further comprises:

a computable readable program code causing the processor to pad the keying code K with transaction-related data prior to the hash operation h(K).

17. The apparatus according to claim 13 wherein the memory further comprises:

a computable readable program code causing the processor to hash transaction data elements and communicate the hash point-to-point to a card issuer enabling simultaneous key management and integrity checking.

18. A data security apparatus comprising:

an enrollment system that establishes a secure channel through an indeterminate number of nodes in a network, the enrollment system comprising:

a communication interface for communicating with a writer configured to accept a smart card;

a processor coupled to the communication interface; and

a memory coupled to the processor and having a computable readable program code embodied therein causing the processor to initialize and personalize the smart card with a unique key per smart card, the unique key derived from a private key that is assigned and distinctive to systems and a card base of a card issuer, the unique key for usage by the smart card to create a PIN encryption key computed by an equation of the form

K=u·TSN H (mod N ),

where K is a keying code, u is a secret key, TSN is a transaction sequence identifier that identifies a terminal and a sequence number for a transaction originating at the terminal, H is a hash of transaction data elements, and N is a modulus in an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system; and

the smart card hashes the keying code K to form the PIN encryption key KPE according to an equation of the form:

KPE=h(k),

where h( ) is a hashing algorithm.

19. The apparatus according to claim 18 wherein the memory further comprises:

a computable readable program code causing the processor to write to an enrolled smart card a stored public entity-identifier and the secret unique key.

20. The apparatus according to claim 18 wherein the memory further comprises:

a computable readable program code causing the processor to define public key values (e, N) that are exclusive to the card issuer system and card base, the key value e being a public exponent and the key value N being a modulus in an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system;

a computable readable program code causing the processor to define a private key value d that is exclusive to the card issuer system and card base, the private key value d being a secret RSA private key;

a computable readable program code causing the processor to compute a secret key u that is unique to the smart card using an equation of the form:

u=x d (mod N),

where x is an entity-identifier that identifies the smart card and the entity; and

a computable readable program code causing the processor to store the secret key u on the smart card with public key values x, e, and N.

21. A data security apparatus comprising:

a card issuer server that establishes a secure channel through an indeterminate number of nodes in a network, the card issuer server comprising:

a communication interface for communicating with the network;

a processor coupled to the communication interface; and

a memory coupled to the processor and having a computable readable program code embodied therein causing the processor to recover a Personal Identification Number (PIN) from an encrypted PIN received via the network using a card issuer private key and a transaction PIN encryption key, the transaction PIN encryption key created by hashing a keying code that is derived from a smart card unique key initialized and personalized to the smart card and derived from the card issuer private key, and a transaction identifier that uniquely identifies a point of entry and a transaction sequence number.

22. The apparatus according to claim 21 wherein:

the smart card unique key is a secret key u that is unique to the smart card and is computed by a card enrollment system using an equation of the form:

u=x d (mod N),

where x is an entity-identifier that identifies the smart card and the entity; a private key value d is a secret RSA private key, and key value N is a modulus in an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system, the key values d and N being exclusive to a card issuer system and card base.

23. The apparatus according to claim 21 wherein the memory further comprises:

a computable readable program code causing the processor to receive a PIN encryption key KPE at a card enrollment server;

a computable readable program code causing the processor to compute a hash H of transaction data;

a computable readable program code causing the processor to compute an RSA (Rivest, Shamir, and Adelman Public Key Cryptosystem) system encryption t of a transaction sequence identifier TSN that identifies a transaction terminal and a sequence number for a transaction originating at the terminal according to an equation of the form:

t=TSN e (mod N),

where N is a modulus in an RSA system;

a computable readable program code causing the processor to compute a cryptogram quantity C using public data according to an equation of the form:

C=x·t H (mod N ),

where x is an entity-identifier that identifies the smart card and the entity;

a computable readable program code causing the processor to decrypt the cryptogram quantity C using the private key value d that is exclusive to the card issuer system and card base, the private key value d being a secret RSA private key, the decryption according to an equation of the form:

K=C d (mod N); and

a computable readable program code causing the processor to decrypt the PIN using the PIN encryption key KPE=h(K) where h( )is a hashing algorithm.

24. The apparatus according to claim 21 wherein the memory further comprises:

a computable readable program code causing the processor to receive a PIN encryption key KPE and encryption t;

a computable readable program code causing the processor to compute a hash H of transaction data;

a computable readable program code causing the processor to compute a cryptogram quantity C using public data according to an equation of the form:

C=x·t H (mod N ),

where x is an entity-identifier that identifies the smart card and the entity;

a computable readable program code causing the processor to decrypt the cryptogram quantity C using the private key value d that is exclusive to the card issuer system and card base, the private key value d being a secret RSA private key, the decryption according to an equation of the form:

K=C d (mod N); and

a computable readable program code causing the processor to decrypt the PIN using the PIN encryption key KPE=h(K) where h( )is a hashing algorithm.

25. The apparatus according to claim 21 wherein the memory further comprises:

a computable readable program code causing the processor to hash transaction data elements and compare the hash to a hash received point-to-point from a smart card enabling simultaneous key management and integrity checking.

26. A transaction system comprising:

a network;

a plurality of servers and/or hosts mutually coupling to the network;

a plurality of terminals coupled to the servers and/or hosts via the network and available for transacting;

a plurality of smart cards enrolled in the transaction system and adapted for insertion into the terminals and transacting via the servers and/or hosts; and

a plurality of processors distributed among the smart cards, the servers and/or hosts, and/or the terminals, at least one of the processors establishing a secure channel through an indeterminate number of nodes in the network by communicating, and decrypting a PIN encrypted using a PIN encryption key created by hashing a keying code that is derived from a smart card unique key and a transaction identifier that uniquely identifies a point of entry terminal and a transaction sequence number, the smart card unique key being derived from a private key that is assigned and distinctive to systems and a card base of a card issuer.

27. A transaction system comprising:

a network;

a plurality of servers and/or hosts mutually coupling to the network;

a plurality of terminals coupled to the servers and/or hosts via the network and available for transacting;

a plurality of smart cards enrolled in the transaction system and adapted for insertion into the terminals and transacting via the servers and/or hosts; and

a plurality of processors distributed among the smart cards, the servers and/or hosts, and/or the terminals, at least one of the processors establishing a secure channel through an indeterminate number of nodes in the network by communicating, and decrypting a PIN encrypted using a PIN encryption key creating by hashing a keying code that is derived from a smart card unique key and a hash of transaction data elements.

28. A transaction system establishing a secure channel through an indeterminate number of nodes in a network comprising:

means for enrolling a smart card with a unique key per smart card, the unique key being derived from a private key that is assigned and distinctive to systems and a card base of a card issuer, an enrolled smart card containing a stored public entity-identifier and the unique key;

means for transacting at a point of entry to the network, the transaction creating a PIN encryption key by hashing a keying code that is derived from the smart card unique key and a transaction identifier that uniquely identifies the point of entry and a transaction sequence number;

means for communicating a PIN point-to-point in encrypted form through a plurality of nodes in the network; and

means for recovering the PIN at a card issuer server using the PIN encryption key and the card issuer private key.

Assignments (10)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 22, 2019
From: NIBC BANK N.V., AS SECURITY AGENT
To: UTIMACO INC.
Reel/Frame 050135/0404 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Feb 5, 2019
From: UTIMACO INC.
To: NIBC BANK N.V.
Reel/Frame 048240/0281 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2004
From: HOPKINS, W. DALE
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 015258/0485 →