US6704868B1 - Method for associating a pass phase with a secured public/private key pair - Google Patents

Method for associating a pass phase with a secured public/private key pair Download PDF

Info

Publication number
US6704868B1
US6704868B1 US09/439,235 US43923599A US6704868B1 US 6704868 B1 US6704868 B1 US 6704868B1 US 43923599 A US43923599 A US 43923599A US 6704868 B1 US6704868 B1 US 6704868B1
Authority
US
United States
Prior art keywords
user
key
password
private key
encrypting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US09/439,235
Inventor
David Carroll Challener
Richard Alan Dayan
James Peter Ward
Michael Vanover
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo PC International Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US09/439,235 priority Critical patent/US6704868B1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATON reassignment INTERNATIONAL BUSINESS MACHINES CORPORATON ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WARD, JAMES P., VANOVER, MICHAEL, CHALLENER, DAVID C., DAYAN, RICHARD A.
Application granted granted Critical
Publication of US6704868B1 publication Critical patent/US6704868B1/en
Assigned to LENOVO (SINGAPORE) PTE LTD. reassignment LENOVO (SINGAPORE) PTE LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Assigned to LENOVO PC INTERNATIONAL reassignment LENOVO PC INTERNATIONAL NUNC PRO TUNC ASSIGNMENT (SEE DOCUMENT FOR DETAILS). Assignors: LENOVO (SINGAPORE) PTE LTD.
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Definitions

  • the present invention is related to the subject matter of a United States Patent Application entitled “DATA PROCESSING SYSTEM AND METHOD FOR MAINTAINING SECURE USER PRIVATE KEYS IN NON-SECURE STORAGE,” filed on Mar. 3, 1999, U.S. Ser. No. 09/262,123
  • the present invention relates to a method and system for data processing in general, and in particular to a method and system for providing data security. Still more particularly, the present invention relates to a method for associating a pass phrase with a secured public/private key pair.
  • Cryptography involves a method for encrypting data in order to provide protection and security for the data.
  • the message can be encrypted using a mathematical function known as a cryptographic algorithm.
  • the most common cryptographic algorithms are key-based, where special knowledge of variable information called a “key” is required to decrypt an encrypted message.
  • key-based cryptographic algorithms There are two prevalent types of key-based cryptographic algorithms, namely, symmetric key (or secret key) algorithms and public key (asymmetric key) algorithms.
  • the security provided by these cryptographic algorithms is centered around the keys and not the details of the cryptographic algorithms. In other words, the cryptographic algorithms can typically be known to all, but the keys can only be known by intended parties. As a result, it is possible to publish the cryptographic algorithm for public scrutiny, and then mass produce the cryptographic algorithm for incorporation into security products.
  • DES Data Encryption Standard
  • the encryption key and the decryption key are the same.
  • This single key encryption arrangement is not flaw-free because the sender and recipient of a message must somehow exchange information regarding the secret key. Each side must trust the other not to disclose the key.
  • the sender must generally communicate the key via another relatively secure communication path (similar to a bank sending the personal identification number for an ATM card through the mail). This arrangement is not practical when, for example, the parties interact electronically for the first time over a computer network.
  • the key used for encryption is different from the key used for decryption. It is generally very difficult to calculate the decryption key from an encryption key.
  • the public key used for encryption is made public via a readily accessible directory, while the corresponding private key used for decryption is known only to the recipient of the encrypted message.
  • a sender retrieves the recipient's public key and uses it to encrypt the message prior to sending the message. The recipient then decrypts the encrypted message with the corresponding private key. It is also possible to encrypt a message using a private key and decrypt the encrypted message using a public key, which is sometimes used in digital signatures to authenticate the source of a message.
  • RSA names of the more popular public key algorithms
  • RSA names of the more popular public key algorithms
  • each user private key is also associated with a password, and both are enclosed within an individual secure wrapper. All user private keys along with their respective passwords are stored in a protected storage area within an encryption/decryption device, such as a signature chip.
  • a signature chip In order to allow the signature chip to perform an authentication procedure, such as signing signatures, a user must provide a correct password to the signature chip.
  • a user public/private key pair is first established for a user.
  • the user public/private key pair includes a user public key and a user private key.
  • the user public/private key pair is encrypted along with a random password, utilizing a chip public key.
  • a first symmetric key is generated.
  • the random password is then encrypted utilizing the first symmetric key.
  • a first password is generated by hashing a first pass phrase.
  • the first password is encrypted along with the first symmetric key, also utilizing the chip public key.
  • a second password and a second symmetric key is generated.
  • the second password is generated by hashing a second pass phrase.
  • the first symmetric key can be obtained by utilizing the first pass phase, and the random password can then obtained by utilizing the first symmetric key.
  • the random password is subsequently encrypted along with the second symmetric key, utilizing the chip public key.
  • the user can access the user private key to perform the authentication function by providing the second pass phrase.
  • FIG. 1 is a block diagram of a computer system in which a preferred embodiment of the present invention is implemented
  • FIG. 2 a is a high-level logic flow diagram of a method for associating a pass phrase with a user public/private key pair, in accordance with a preferred embodiment of the present invention.
  • FIG. 2 b is a high-level logic flow diagram of a method for changing the associated pass phrase from FIG. 2 a , in accordance with a preferred embodiment of the present invention.
  • the present invention may be utilized in a variety of computer systems under a number of different operating systems.
  • the computer systems may be, for example, a personal computer, a mid-range computer, or a mainframe computer.
  • the computer system may be a stand-alone system or part of a network such as a local-area network (LAN) or a wide-area network (WAN).
  • LAN local-area network
  • WAN wide-area network
  • FIG. 1 there is illustrated a block diagram of a computer system in which a preferred embodiment of the present invention is implemented.
  • a processor 12 a read-only memory (ROM) 13 , and a Random Access Memory (RAM) 14 are connected to a system bus 11 of a computer system 10 .
  • Processor 12 , ROM 13 , and RAM 14 are also coupled to a PCI bus 20 of computer system 10 through a PCI host bridge 16 .
  • PCI host bridge 16 provides a low latency path through which processor 12 may directly access PCI devices mapped anywhere within bus memory and/or I/O address spaces.
  • PCI host bridge 16 also provides a high bandwidth path allowing PCI devices to directly access RAM 14 .
  • a communications adapter 15 connects computer system 10 to a local-area network (LAN) 17 .
  • SCSI 18 is utilized to control a high-speed SCSI disk drive 19 .
  • Expansion bus bridge 29 such as a PCI-to-ISA bus bridge, may be utilized for coupling an ISA bus 25 to PCI bus 20 .
  • a keyboard 26 and a mouse 28 may be attached to ISA bus 25 for performing certain basic I/O functions.
  • an audio adapter 23 and a graphics adapter 21 may be attached to PCI bus 20 . Graphics adapter 21 controls visual output through a video monitor 22 and audio adapter 23 controls audio output through a speaker 24 .
  • a security device such as a signature chip 31 , which contains an encryption/decryption engine 32 and a protected storage area 33 , is coupled to PCI bus 20 .
  • Encryption/decryption engine 32 includes an encryption/decryption algorithm that is utilized to encode and decode messages transmitted and received by computer system 10 .
  • Encryption/decryption engine 32 preferably performs public/private key encryption and decryption.
  • Protected storage area 33 is utilized to store user public/private key pairs. User public/private key pairs stored within protected storage area 33 are protected by encryption/decryption engine 32 and are not directly accessible to computer system 10 or its other components.
  • Protected storage area 33 may be implemented with an electronically erasable storage device.
  • Each user of computer system 10 has a separate and unique user public/private key pair established for each application within computer system 10 .
  • the term “user” is understood to mean a person, a service, an application, a device, or any other entity that may access an application.
  • the term “user” is not limited to a human user.
  • a certificate may be established within computer system 10 for a user to access a particular application.
  • the certificate may be specifically established for and associated with a particular user and a particular application.
  • the certificate preferably includes a pointer to its associated application, an identity of the user associated with this certificate, and a pointer to the user private key associated with the user of this certificate and application.
  • encryption/decryption engine 32 accesses the user private key pointed to by the application's associated certificate, and then encrypts the message or signs a signature utilizing the user private key.
  • FIG. 2 a there is illustrated a high-level logic flow diagram of a method for associating a pass phrase with a secured user public/private key pair, in accordance with a preferred embodiment of the present invention.
  • a user public/private key pair is first received by a signature chip such as signature chip 31 from FIG. 1, as shown in block 41 .
  • this user public/private key pair has already been certified with the proper authority.
  • a random password, preferably 64 bits in length, to be associated with the user public/private key pair is then generated for the user, as depicted in block 42 .
  • This random password which is preferably generated by a random generator, is typically very difficult for a human user to remember.
  • the random password is first encrypted along with the user public/private key pair, as shown in block 43 .
  • the chip public key may come from an unprotected or protected storage area of the signature chip.
  • the encrypted package of the random password and the user public/private key pair can be stored in a hard disk, such as SCSI disk drive 19 from FIG. 1 .
  • any record of the user public/private key pair outside the signature chip can be discarded (by the human user) for security reasons, as depicted in block 44 .
  • a first symmetric key preferably 56 bits in length, is generated utilizing a random number generator, as shown in block 45 .
  • the random password is then encrypted utilizing the first symmetric key, as depicted in block 46 .
  • a first password preferably 64 bits in length, is generated utilizing a first hashed pass phrase, preferably greater than 200 bytes in length, as shown in block 47 .
  • the first password is preferably generated utilizing a hashed pass phrase because a pass phrase permits greater permutation, and thus added security, not to mention a pass phrase is relatively easy for a human user to remember.
  • the first password is then encrypted along with the first symmetric key, as depicted in block 48 .
  • the encrypted package of the first password and first symmetric key is then stored in the hard disk. At this point, any record of the random password and first symmetric key outside the signature chip can be discarded (by the human user) for security reasons, as illustrated in block 49 .
  • a first pass phrase sent by a user is hashed by a processor, such as processor 12 in FIG. 1, in a system memory, such as RAM 14 in FIG. 1, to obtain its corresponding first password.
  • This first password along with the encrypted package of the first password and first symmetric key (from the hard disk) are then sent to the signature chip.
  • the signature chip decrypts the encrypted package of the first password and first symmetric key.
  • the signature chip compares the first password from the decrypted package of the first password and first symmetric key with the sent first password.
  • the signature can use the first symmetric key in the decrypted package if both first passwords match with each other.
  • the signature chip recognizes that the first symmetric key is not a signature key (i.e., the user private key of the user public/private key pair), and hence exports the first symmetric key to the system memory.
  • the processor utilizes the first symmetric key to decrypt the random password.
  • the random password is subsequently sent to the signature chip along with a copy of the encrypted user public/private key pair stored in the hard drive to authorize the signature chip to perform a signatory function using the user private key.
  • FIG. 2 b there is illustrated a high-level logic flow diagram of a method for changing the associated pass phrase from FIG. 2 a , in accordance with a preferred embodiment of the present invention.
  • a second password is generated by hashing a second pass phrase, as shown in block 51 . Similar to the first pass phrase from block 47 of FIG. 2 a , the second pass phrase is chosen by the human user and it should be for the human user to remember.
  • a second symmetric key is generated, as depicted in block 52 .
  • the first pass phrase (i.e., the old pass phrase) is sent by the user to the processor to hash, and the hashed result (i.e., the first password) is sent to the signature chip along with a copy of the encrypted package of the first password and first symmetric key to obtain the corresponding first symmetric key from the signature chip, as depicted in block 53 .
  • the random password is then decrypted by utilizing the first symmetric key, as depicted in block 54 .
  • the random password is then encrypted utilizing the second symmetric key, as illustrated in block 55 .
  • the second password is then encrypted along with the second symmetric key, as illustrated in block 56 .
  • the encrypted package of the second password and second symmetric key is subsequently stored in the hard disk.
  • the first (old) pass phrase for accessing the user private key to provide an authentication function has been replaced by the second (new) pass phrase.
  • the present invention provides an improved method for associating a pass phrase with a secured user public/private key pair.
  • a random password is preferably encrypted with both user public and private keys (as shown in block 43 of FIG. 2 a ), it is sufficient to encrypt the password and only the user private key from the user public/private key pair.
  • signal bearing media include, without limitation, recordable type media such as floppy disks or CD ROMs and transmission type media such as analog or digital communications links.

Abstract

A method for associating a pass phrase with a secured public/private key pair is disclosed. A user public/private key pair is first established for a user. The user public/private key pair includes a user public key and a user private key. Then, the user public/private key pair is encrypted along with a random password, utilizing a chip public key. Next, a first symmetric key is generated. The random password is encrypted utilizing the first symmetric key. A first password is generated by hashing a first pass phrase. Finally, the first password is encrypted along with the first symmetric key, also utilizing the chip public key. As a result, a user can access the user private key to perform an authentication function by providing the first pass phrase.

Description

CROSS-REFERENCE TO A RELATED PATENT APPLICATION
The present invention is related to the subject matter of a United States Patent Application entitled “DATA PROCESSING SYSTEM AND METHOD FOR MAINTAINING SECURE USER PRIVATE KEYS IN NON-SECURE STORAGE,” filed on Mar. 3, 1999, U.S. Ser. No. 09/262,123
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates to a method and system for data processing in general, and in particular to a method and system for providing data security. Still more particularly, the present invention relates to a method for associating a pass phrase with a secured public/private key pair.
2. Description of the Prior Art
Cryptography involves a method for encrypting data in order to provide protection and security for the data. For example, before the transmission of a message from one party to another, the message can be encrypted using a mathematical function known as a cryptographic algorithm. The most common cryptographic algorithms are key-based, where special knowledge of variable information called a “key” is required to decrypt an encrypted message. There are two prevalent types of key-based cryptographic algorithms, namely, symmetric key (or secret key) algorithms and public key (asymmetric key) algorithms. The security provided by these cryptographic algorithms is centered around the keys and not the details of the cryptographic algorithms. In other words, the cryptographic algorithms can typically be known to all, but the keys can only be known by intended parties. As a result, it is possible to publish the cryptographic algorithm for public scrutiny, and then mass produce the cryptographic algorithm for incorporation into security products.
In most symmetric key algorithms, such as Data Encryption Standard (DES), the encryption key and the decryption key are the same. This single key encryption arrangement is not flaw-free because the sender and recipient of a message must somehow exchange information regarding the secret key. Each side must trust the other not to disclose the key. Furthermore, the sender must generally communicate the key via another relatively secure communication path (similar to a bank sending the personal identification number for an ATM card through the mail). This arrangement is not practical when, for example, the parties interact electronically for the first time over a computer network.
With public key algorithms, by comparison, the key used for encryption is different from the key used for decryption. It is generally very difficult to calculate the decryption key from an encryption key. In a typical operation, the public key used for encryption is made public via a readily accessible directory, while the corresponding private key used for decryption is known only to the recipient of the encrypted message. In an exemplary public key transaction, a sender retrieves the recipient's public key and uses it to encrypt the message prior to sending the message. The recipient then decrypts the encrypted message with the corresponding private key. It is also possible to encrypt a message using a private key and decrypt the encrypted message using a public key, which is sometimes used in digital signatures to authenticate the source of a message. of the more popular public key algorithms is RSA (named after its inventors—Rivest, Shamir, and Adleman). With RSA, when a message is encrypted utilizing a user public key, the encrypted message may only be decrypted utilizing a user private key. In one implementation, each user private key is also associated with a password, and both are enclosed within an individual secure wrapper. All user private keys along with their respective passwords are stored in a protected storage area within an encryption/decryption device, such as a signature chip. In order to allow the signature chip to perform an authentication procedure, such as signing signatures, a user must provide a correct password to the signature chip. The details of this process can be found in the above-mentioned copending application, the pertinent portion of which is incorporated by reference herein. For security purposes, it is important that no copy of any user private key exists outside the secure wrapper. Thus, a user private key and its respective password can only be unwrapped inside the signature chip, leaving no opportunity for the password to be changed. Nonetheless, for mnemonic reasons such as to allow for a password that is more memorable to a human user (the initial password is generated by a random number generator) and other security reasons such as to protect the private key after the password has been inadvertently disclosed, it is important that the password within the secure wrapper be changed periodically. The present disclosure is related to a method for associating a pass phrase with a secured user public/private key pair such that the above-mentioned problem can be resolved.
SUMMARY OF THE INVENTION
In accordance with a preferred embodiment of the present invention, a user public/private key pair is first established for a user. The user public/private key pair includes a user public key and a user private key. Then, the user public/private key pair is encrypted along with a random password, utilizing a chip public key. Next, a first symmetric key is generated. The random password is then encrypted utilizing the first symmetric key. A first password is generated by hashing a first pass phrase. Finally, the first password is encrypted along with the first symmetric key, also utilizing the chip public key. As a result, a user can access the user private key to perform an authentication function by providing the first pass phrase.
If the first pass phrase needs to be changed, a second password and a second symmetric key is generated. The second password is generated by hashing a second pass phrase. The first symmetric key can be obtained by utilizing the first pass phase, and the random password can then obtained by utilizing the first symmetric key. The random password is subsequently encrypted along with the second symmetric key, utilizing the chip public key. At this point, the user can access the user private key to perform the authentication function by providing the second pass phrase.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention itself, as well as a preferred mode of use, further objects, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram of a computer system in which a preferred embodiment of the present invention is implemented;
FIG. 2a is a high-level logic flow diagram of a method for associating a pass phrase with a user public/private key pair, in accordance with a preferred embodiment of the present invention; and
FIG. 2b is a high-level logic flow diagram of a method for changing the associated pass phrase from FIG. 2a, in accordance with a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
The present invention may be utilized in a variety of computer systems under a number of different operating systems. The computer systems may be, for example, a personal computer, a mid-range computer, or a mainframe computer. In addition, the computer system may be a stand-alone system or part of a network such as a local-area network (LAN) or a wide-area network (WAN).
Referring now to the drawings and in particular to FIG. 1, there is illustrated a block diagram of a computer system in which a preferred embodiment of the present invention is implemented. As shown, a processor 12, a read-only memory (ROM) 13, and a Random Access Memory (RAM) 14 are connected to a system bus 11 of a computer system 10. Processor 12, ROM 13, and RAM 14 are also coupled to a PCI bus 20 of computer system 10 through a PCI host bridge 16. PCI host bridge 16 provides a low latency path through which processor 12 may directly access PCI devices mapped anywhere within bus memory and/or I/O address spaces. PCI host bridge 16 also provides a high bandwidth path allowing PCI devices to directly access RAM 14.
Also attached to PCI bus 20 is a communications adapter 15 and a small computer system interface (SCSI) 18. Communications adapter 15 connects computer system 10 to a local-area network (LAN) 17. SCSI 18 is utilized to control a high-speed SCSI disk drive 19. Expansion bus bridge 29, such as a PCI-to-ISA bus bridge, may be utilized for coupling an ISA bus 25 to PCI bus 20. As shown, a keyboard 26 and a mouse 28 may be attached to ISA bus 25 for performing certain basic I/O functions. In addition, an audio adapter 23 and a graphics adapter 21 may be attached to PCI bus 20. Graphics adapter 21 controls visual output through a video monitor 22 and audio adapter 23 controls audio output through a speaker 24.
In addition, a security device, such as a signature chip 31, which contains an encryption/decryption engine 32 and a protected storage area 33, is coupled to PCI bus 20. Encryption/decryption engine 32 includes an encryption/decryption algorithm that is utilized to encode and decode messages transmitted and received by computer system 10. Encryption/decryption engine 32 preferably performs public/private key encryption and decryption. Protected storage area 33 is utilized to store user public/private key pairs. User public/private key pairs stored within protected storage area 33 are protected by encryption/decryption engine 32 and are not directly accessible to computer system 10 or its other components. Protected storage area 33 may be implemented with an electronically erasable storage device.
Each user of computer system 10 has a separate and unique user public/private key pair established for each application within computer system 10. The term “user” is understood to mean a person, a service, an application, a device, or any other entity that may access an application. The term “user” is not limited to a human user. A certificate may be established within computer system 10 for a user to access a particular application. The certificate may be specifically established for and associated with a particular user and a particular application. The certificate preferably includes a pointer to its associated application, an identity of the user associated with this certificate, and a pointer to the user private key associated with the user of this certificate and application. When an application needs to transmit an encrypted message or to perform an authentication procedure, encryption/decryption engine 32 accesses the user private key pointed to by the application's associated certificate, and then encrypts the message or signs a signature utilizing the user private key. reference now to FIG. 2a, there is illustrated a high-level logic flow diagram of a method for associating a pass phrase with a secured user public/private key pair, in accordance with a preferred embodiment of the present invention. Starting at block 40, a user public/private key pair is first received by a signature chip such as signature chip 31 from FIG. 1, as shown in block 41. Typically, this user public/private key pair has already been certified with the proper authority. A random password, preferably 64 bits in length, to be associated with the user public/private key pair is then generated for the user, as depicted in block 42. This random password, which is preferably generated by a random generator, is typically very difficult for a human user to remember. Utilizing a chip public key, the random password is first encrypted along with the user public/private key pair, as shown in block 43. The chip public key may come from an unprotected or protected storage area of the signature chip. The encrypted package of the random password and the user public/private key pair can be stored in a hard disk, such as SCSI disk drive 19 from FIG. 1. At this point, any record of the user public/private key pair outside the signature chip can be discarded (by the human user) for security reasons, as depicted in block 44.
Next, a first symmetric key, preferably 56 bits in length, is generated utilizing a random number generator, as shown in block 45. The random password is then encrypted utilizing the first symmetric key, as depicted in block 46. A first password, preferably 64 bits in length, is generated utilizing a first hashed pass phrase, preferably greater than 200 bytes in length, as shown in block 47. The first password is preferably generated utilizing a hashed pass phrase because a pass phrase permits greater permutation, and thus added security, not to mention a pass phrase is relatively easy for a human user to remember. Utilizing the chip public key, the first password is then encrypted along with the first symmetric key, as depicted in block 48. The encrypted package of the first password and first symmetric key is then stored in the hard disk. At this point, any record of the random password and first symmetric key outside the signature chip can be discarded (by the human user) for security reasons, as illustrated in block 49.
During operation, a first pass phrase sent by a user is hashed by a processor, such as processor 12 in FIG. 1, in a system memory, such as RAM 14 in FIG. 1, to obtain its corresponding first password. This first password along with the encrypted package of the first password and first symmetric key (from the hard disk) are then sent to the signature chip. The signature chip decrypts the encrypted package of the first password and first symmetric key. The signature chip then compares the first password from the decrypted package of the first password and first symmetric key with the sent first password. The signature can use the first symmetric key in the decrypted package if both first passwords match with each other. Because the first symmetric key is much less than 1,024 bits, the signature chip recognizes that the first symmetric key is not a signature key (i.e., the user private key of the user public/private key pair), and hence exports the first symmetric key to the system memory. The processor utilizes the first symmetric key to decrypt the random password. The random password is subsequently sent to the signature chip along with a copy of the encrypted user public/private key pair stored in the hard drive to authorize the signature chip to perform a signatory function using the user private key.
With reference now to FIG. 2b, there is illustrated a high-level logic flow diagram of a method for changing the associated pass phrase from FIG. 2a, in accordance with a preferred embodiment of the present invention. Starting at block 50, a second password is generated by hashing a second pass phrase, as shown in block 51. Similar to the first pass phrase from block 47 of FIG. 2a, the second pass phrase is chosen by the human user and it should be for the human user to remember. Next, a second symmetric key is generated, as depicted in block 52. The first pass phrase (i.e., the old pass phrase) is sent by the user to the processor to hash, and the hashed result (i.e., the first password) is sent to the signature chip along with a copy of the encrypted package of the first password and first symmetric key to obtain the corresponding first symmetric key from the signature chip, as depicted in block 53. The random password is then decrypted by utilizing the first symmetric key, as depicted in block 54. The random password is then encrypted utilizing the second symmetric key, as illustrated in block 55. Utilizing the chip public key, the second password is then encrypted along with the second symmetric key, as illustrated in block 56. The encrypted package of the second password and second symmetric key is subsequently stored in the hard disk. As such, the first (old) pass phrase for accessing the user private key to provide an authentication function has been replaced by the second (new) pass phrase.
As has been described, the present invention provides an improved method for associating a pass phrase with a secured user public/private key pair. Although a random password is preferably encrypted with both user public and private keys (as shown in block 43 of FIG. 2a), it is sufficient to encrypt the password and only the user private key from the user public/private key pair.
It is also important to note that although the present invention has been described in the context of a fully functional computer system, those skilled in the art will appreciate that the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media utilized to actually carry out the distribution. Examples of signal bearing media include, without limitation, recordable type media such as floppy disks or CD ROMs and transmission type media such as analog or digital communications links.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.

Claims (14)

What is claimed is:
1. A method for associating a pass phrase with a secured user public/private key pair within a computer system, said method comprising:
establishing a user public/private key pair for a user, wherein said user public/private key pair includes a user public key and a user private key;
encrypting said user private key along with a random password;
generating a first symmetric key;
encrypting said random password utilizing said first symmetric key;
generating a first password by hashing a first pass phrase;
encrypting said first password along with said first symmetric key;
utilizing said first pass phrase to access said user private key for performing an authentication function;
generating a second password by hashing a second pass phrase;
generating a second symmetric key;
encrypting said random password utilizing said second symmetric key;
encrypting said second password along with said second symmetric key; and
utilizing said second pass phrase to access said user private key for performing an authentication function.
2. The method according to claim 1, wherein encrypting said user private key along with said random password is performed utilizing a chip public key.
3. The method according to claim 1, wherein encrypting said first password along with said first symmetric key is performed utilizing a chip public key.
4. The method according to claim 1, wherein encrypting said user private key along with a random password further includes encrypting said user private key and said random password along with said user public key.
5. The method according to claim 1, wherein encrypting said second password along with said second symmetric key is performed utilizing a chip public key.
6. A computer system having a password associated with a secured user public/private key pair, said computer system comprising:
means for establishing a user public/private key pair for a user, wherein said user public/private key pair includes a user public key and a user private key;
means for encrypting said user private key along with a random password;
means for generating a first symmetric key;
means for encrypting said random password utilizing said first symmetric key;
means for generating a first password by hashing a first pass phrase;
means for encrypting said first password along with said first symmetric key;
means for utilizing said first pass phrase to access said user private key for performing an authentication functions;
means for generating a second password by hashing a second pass phrase;
means for generating a second symmetric key;
means for encrypting said random password utilizing said second symmetric key;
means for encrypting said second password along with said second symmetric key; and
means for utilizing said second pass phrase to access said user private key for performing an authentication function.
7. The computer system according to claim 6, wherein means for encrypting said user private key performs an encryption utilizing a chip public key.
8. The computer system according to claim 6, wherein means for encrypting said first password performs an encryption utilizing a chip public key.
9. The computer system according to claim 6,wherein means for encrypting said user private key along with a random password further includes a means for encrypting said user private key and said random password along with said user public key.
10. The computer system according to claim 6, wherein means for encrypting said second password along with said second symmetric key is performed utilizing a chip public key.
11. A computer program product for associating a pass phrase with a secured user public/private key pair within a computer system, said computer program product comprising:
program code means for establishing a user public/private key pair for a user, wherein said user public/private key pair includes a user public key and a user private key;
program code means for encrypting said user private key along with a random password;
program code means for generating a first symmetric key;
program code means for encrypting said random password utilizing said first symmetric key;
program code means for generating a first password by hashing a first pass phrase;
program code means for encrypting said first password along with said first symmetric key;
program code means for utilizing said first pass phrase to access said user private key for performing an authentication functions;
program code means for generating a second password by hashing a second pass phrase;
program code means for generating a second symmetric key;
program code means for encrypting said random password utilizing said second symmetric key;
program code means for encrypting said second password along with said second symmetric key; and
program code means for utilizing said second pass phrase to access said user private key for performing an authentication function.
12. The computer program product according to claim 11, wherein program code means for encrypting said user private key performs an encryption utilizing a chip public key.
13.The computer program product according to claim 11, wherein program code means for encrypting said random password performs an encryption utilizing a chip public key.
14. The computer program product according to claim 11, wherein said program code means for encrypting said user private key along with a random password further includes encrypting said user private key and said random password along with said user public key.
15. The computer program product according to claim 11, wherein said program code means for encrypting said second password along with said second symmetric key is performed utilizing a chip public key.
US09/439,235 1999-11-12 1999-11-12 Method for associating a pass phase with a secured public/private key pair Expired - Lifetime US6704868B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/439,235 US6704868B1 (en) 1999-11-12 1999-11-12 Method for associating a pass phase with a secured public/private key pair

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/439,235 US6704868B1 (en) 1999-11-12 1999-11-12 Method for associating a pass phase with a secured public/private key pair

Publications (1)

Publication Number Publication Date
US6704868B1 true US6704868B1 (en) 2004-03-09

Family

ID=31888458

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/439,235 Expired - Lifetime US6704868B1 (en) 1999-11-12 1999-11-12 Method for associating a pass phase with a secured public/private key pair

Country Status (1)

Country Link
US (1) US6704868B1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105980A1 (en) * 2001-11-30 2003-06-05 International Business Machines Corporation Method of creating password list for remote authentication to services
US20030140241A1 (en) * 2001-12-04 2003-07-24 Paul England Methods and systems for cryptographically protecting secure content
US20030200435A1 (en) * 2001-12-04 2003-10-23 Paul England Methods and systems for authenticationof components in a graphics system
US20050055315A1 (en) * 2003-09-09 2005-03-10 Microsoft Corporation System and method for manifest generation
US20050149733A1 (en) * 2003-12-31 2005-07-07 International Business Machines Corporation Method for securely creating an endorsement certificate utilizing signing key pairs
US20060059350A1 (en) * 2004-08-24 2006-03-16 Microsoft Corporation Strong names
US20060156026A1 (en) * 2002-10-25 2006-07-13 Daniil Utin Password encryption key
US20060185007A1 (en) * 2005-02-14 2006-08-17 International Business Machines Corporation Secure authentication of service users of a remote service interface to a storage media
US7281010B2 (en) * 2000-11-15 2007-10-09 Lenovo (Singapore) Pte. Ltd. Trusted computing platform with dual key trees to support multiple public/private key systems
US20080162402A1 (en) * 2006-12-28 2008-07-03 David Holmes Techniques for establishing and enforcing row level database security
US20090083539A1 (en) * 2003-12-31 2009-03-26 Ryan Charles Catherman Method for Securely Creating an Endorsement Certificate in an Insecure Environment
US20120066504A1 (en) * 2010-09-13 2012-03-15 Computer Associates Think, Inc. Methods, apparatus and systems for securing user-associated passwords used for identity authentication
US8307098B1 (en) * 2000-08-29 2012-11-06 Lenovo (Singapore) Pte. Ltd. System, method, and program for managing a user key used to sign a message for a data processing system
US10402393B2 (en) * 2012-03-02 2019-09-03 Pure Storage, Inc. Slice migration in a dispersed storage network
US11232093B2 (en) 2012-03-02 2022-01-25 Pure Storage, Inc. Slice migration in a dispersed storage network

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398285A (en) 1993-12-30 1995-03-14 Motorola, Inc. Method for generating a password using public key cryptography
US5511122A (en) 1994-06-03 1996-04-23 The United States Of America As Represented By The Secretary Of The Navy Intermediate network authentication
US5734718A (en) 1995-07-05 1998-03-31 Sun Microsystems, Inc. NIS+ password update protocol
US5768373A (en) 1996-05-06 1998-06-16 Symantec Corporation Method for providing a secure non-reusable one-time password
US5812764A (en) 1997-01-30 1998-09-22 International Business Machines Password management system over a communications network
US5812669A (en) 1995-07-19 1998-09-22 Jenkins; Lew Method and system for providing secure EDI over an open network
US5825300A (en) 1993-11-08 1998-10-20 Hughes Aircraft Company Method of protected distribution of keying and certificate material
US5953422A (en) 1996-12-31 1999-09-14 Compaq Computer Corporation Secure two-piece user authentication in a computer network
US6061799A (en) * 1997-10-31 2000-05-09 International Business Machines Corp. Removable media for password based authentication in a distributed system
US6081893A (en) * 1997-05-28 2000-06-27 Symantec Corporation System for supporting secured log-in of multiple users into a plurality of computers using combined presentation of memorized password and transportable passport record
US6111956A (en) * 1997-10-23 2000-08-29 Signals, Inc. Method for secure key distribution over a nonsecure communications network
US6170058B1 (en) * 1997-12-23 2001-01-02 Arcot Systems, Inc. Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use
US6178409B1 (en) * 1996-06-17 2001-01-23 Verifone, Inc. System, method and article of manufacture for multiple-entry point virtual point of sale architecture
US6230272B1 (en) * 1997-10-14 2001-05-08 Entrust Technologies Limited System and method for protecting a multipurpose data string used for both decrypting data and for authenticating a user
US6253027B1 (en) * 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US6324650B1 (en) * 1998-03-16 2001-11-27 John W.L. Ogilvie Message content protection and conditional disclosure
US6567794B1 (en) * 1997-06-13 2003-05-20 Pitney Bowes Inc. Method for access control in a virtual postage metering system
US6594763B1 (en) * 1998-10-27 2003-07-15 Sprint Communications Company L.P. Object-based security system
US6594759B1 (en) * 1996-12-04 2003-07-15 Esignx Corporation Authorization firmware for conducting transactions with an electronic transaction system and methods therefor

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825300A (en) 1993-11-08 1998-10-20 Hughes Aircraft Company Method of protected distribution of keying and certificate material
US5398285A (en) 1993-12-30 1995-03-14 Motorola, Inc. Method for generating a password using public key cryptography
US5511122A (en) 1994-06-03 1996-04-23 The United States Of America As Represented By The Secretary Of The Navy Intermediate network authentication
US5734718A (en) 1995-07-05 1998-03-31 Sun Microsystems, Inc. NIS+ password update protocol
US5812669A (en) 1995-07-19 1998-09-22 Jenkins; Lew Method and system for providing secure EDI over an open network
US5768373A (en) 1996-05-06 1998-06-16 Symantec Corporation Method for providing a secure non-reusable one-time password
US6178409B1 (en) * 1996-06-17 2001-01-23 Verifone, Inc. System, method and article of manufacture for multiple-entry point virtual point of sale architecture
US6253027B1 (en) * 1996-06-17 2001-06-26 Hewlett-Packard Company System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
US6594759B1 (en) * 1996-12-04 2003-07-15 Esignx Corporation Authorization firmware for conducting transactions with an electronic transaction system and methods therefor
US5953422A (en) 1996-12-31 1999-09-14 Compaq Computer Corporation Secure two-piece user authentication in a computer network
US5812764A (en) 1997-01-30 1998-09-22 International Business Machines Password management system over a communications network
US6081893A (en) * 1997-05-28 2000-06-27 Symantec Corporation System for supporting secured log-in of multiple users into a plurality of computers using combined presentation of memorized password and transportable passport record
US6567794B1 (en) * 1997-06-13 2003-05-20 Pitney Bowes Inc. Method for access control in a virtual postage metering system
US6230272B1 (en) * 1997-10-14 2001-05-08 Entrust Technologies Limited System and method for protecting a multipurpose data string used for both decrypting data and for authenticating a user
US6111956A (en) * 1997-10-23 2000-08-29 Signals, Inc. Method for secure key distribution over a nonsecure communications network
US6061799A (en) * 1997-10-31 2000-05-09 International Business Machines Corp. Removable media for password based authentication in a distributed system
US6170058B1 (en) * 1997-12-23 2001-01-02 Arcot Systems, Inc. Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use
US6324650B1 (en) * 1998-03-16 2001-11-27 John W.L. Ogilvie Message content protection and conditional disclosure
US6594763B1 (en) * 1998-10-27 2003-07-15 Sprint Communications Company L.P. Object-based security system

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307098B1 (en) * 2000-08-29 2012-11-06 Lenovo (Singapore) Pte. Ltd. System, method, and program for managing a user key used to sign a message for a data processing system
US7281010B2 (en) * 2000-11-15 2007-10-09 Lenovo (Singapore) Pte. Ltd. Trusted computing platform with dual key trees to support multiple public/private key systems
US7194762B2 (en) * 2001-11-30 2007-03-20 Lenovo (Singapore) Pte. Ltd. Method of creating password list for remote authentication to services
US20030105980A1 (en) * 2001-11-30 2003-06-05 International Business Machines Corporation Method of creating password list for remote authentication to services
US20030140241A1 (en) * 2001-12-04 2003-07-24 Paul England Methods and systems for cryptographically protecting secure content
US20030200435A1 (en) * 2001-12-04 2003-10-23 Paul England Methods and systems for authenticationof components in a graphics system
US7380130B2 (en) * 2001-12-04 2008-05-27 Microsoft Corporation Methods and systems for authentication of components in a graphics system
US7203310B2 (en) * 2001-12-04 2007-04-10 Microsoft Corporation Methods and systems for cryptographically protecting secure content
US20060156026A1 (en) * 2002-10-25 2006-07-13 Daniil Utin Password encryption key
US8447990B2 (en) * 2002-10-25 2013-05-21 Cambridge Interactive Development Corp. Password encryption key
US9292674B2 (en) 2002-10-25 2016-03-22 Cambridge Interactive Development Corp. Password encryption key
US20050055315A1 (en) * 2003-09-09 2005-03-10 Microsoft Corporation System and method for manifest generation
US7814551B2 (en) * 2003-09-09 2010-10-12 Microsoft Corporation System and method for manifest generation
US7751568B2 (en) * 2003-12-31 2010-07-06 International Business Machines Corporation Method for securely creating an endorsement certificate utilizing signing key pairs
US20050149733A1 (en) * 2003-12-31 2005-07-07 International Business Machines Corporation Method for securely creating an endorsement certificate utilizing signing key pairs
US20090083539A1 (en) * 2003-12-31 2009-03-26 Ryan Charles Catherman Method for Securely Creating an Endorsement Certificate in an Insecure Environment
US8495361B2 (en) 2003-12-31 2013-07-23 International Business Machines Corporation Securely creating an endorsement certificate in an insecure environment
US8284942B2 (en) * 2004-08-24 2012-10-09 Microsoft Corporation Persisting private/public key pairs in password-encrypted files for transportation to local cryptographic store
US20060059350A1 (en) * 2004-08-24 2006-03-16 Microsoft Corporation Strong names
US8141142B2 (en) 2005-02-14 2012-03-20 International Business Machines Corporation Secure authentication of service users of a remote service interface to a storage media
US20060185007A1 (en) * 2005-02-14 2006-08-17 International Business Machines Corporation Secure authentication of service users of a remote service interface to a storage media
US20080162402A1 (en) * 2006-12-28 2008-07-03 David Holmes Techniques for establishing and enforcing row level database security
US8027993B2 (en) * 2006-12-28 2011-09-27 Teradota Us, Inc. Techniques for establishing and enforcing row level database security
US20120066504A1 (en) * 2010-09-13 2012-03-15 Computer Associates Think, Inc. Methods, apparatus and systems for securing user-associated passwords used for identity authentication
US8949616B2 (en) * 2010-09-13 2015-02-03 Ca, Inc. Methods, apparatus and systems for securing user-associated passwords used for identity authentication
US10402393B2 (en) * 2012-03-02 2019-09-03 Pure Storage, Inc. Slice migration in a dispersed storage network
US11232093B2 (en) 2012-03-02 2022-01-25 Pure Storage, Inc. Slice migration in a dispersed storage network
US11934380B2 (en) 2012-03-02 2024-03-19 Pure Storage, Inc. Migrating slices in a storage network

Similar Documents

Publication Publication Date Title
US6718468B1 (en) Method for associating a password with a secured public/private key pair
US5604801A (en) Public key data communications system under control of a portable security device
US5815573A (en) Cryptographic key recovery system
US7243237B2 (en) Secure communication with a keyboard or related device
US6370250B1 (en) Method of authentication and storage of private keys in a public key cryptography system (PKCS)
US8712046B2 (en) Cryptographic key split combiner
US6266420B1 (en) Method and apparatus for secure group communications
US7499551B1 (en) Public key infrastructure utilizing master key encryption
US7685421B2 (en) System and method for initializing operation for an information security operation
US6704868B1 (en) Method for associating a pass phase with a secured public/private key pair
US20100005318A1 (en) Process for securing data in a storage unit
US8995653B2 (en) Generating a secret key from an asymmetric private key
JP2004530346A (en) Method and apparatus for generating, certifying, and using secure cryptographic keys
US20030174842A1 (en) Managing private keys in a free seating environment
JPH118620A (en) System and method for efficiently executing authentication of communication channel and facilitating detection of illegal forgery
US20210099290A1 (en) Ciphertext based quorum cryptosystem
WO1998036520A1 (en) Cryptographic key split combiner
CN114244508B (en) Data encryption method, device, equipment and storage medium
JP4663436B2 (en) Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method
US8307098B1 (en) System, method, and program for managing a user key used to sign a message for a data processing system
JP2001111539A (en) Cryptographic key generator and cryptographic key transmitting method
JP2004297755A (en) Key management server in encryption system, program for controlling decryption apparatus, key management server in signature/verification system and program for controlling verification apparatus
US11928247B2 (en) Methods and devices for AI model integrity and secrecy protection
EP2293211A1 (en) Digital rights management system with diversified content protection process
JPH09130376A (en) User password authentication method

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATON, NEW YO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHALLENER, DAVID C.;DAYAN, RICHARD A.;WARD, JAMES P.;AND OTHERS;REEL/FRAME:010417/0086;SIGNING DATES FROM 19991102 TO 19991110

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: LENOVO (SINGAPORE) PTE LTD.,SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:016891/0507

Effective date: 20050520

Owner name: LENOVO (SINGAPORE) PTE LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:016891/0507

Effective date: 20050520

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: LENOVO PC INTERNATIONAL, HONG KONG

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:LENOVO (SINGAPORE) PTE LTD.;REEL/FRAME:037160/0001

Effective date: 20130401