Mutually authenticated secure key exchange (MASKE)
First Claim
1. A cryptographic method, including:
- generating, at a first entity, a first public key MB, the first public key MB being session specific;
receiving from a second entity, at the first entity, a second public key MA, the second public key MA being session specific;
generating, at the first entity, a first secret SB by hashing one or more parameters that are known to the first entity and the second entity, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, the first public key MB, and the second public key MA;
generating, at the first entity, a first session key KB, the first session key KB being different from the first secret SB, both the first session key KB and the first secret SB being computed from the second public key MA;
encrypting, at the first entity, a first random nonce NB with the first session key KB or the first secret SB to obtain a first encrypted result;
encrypting, at the first entity, the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random nonce;
transmitting the encrypted random nonce from the first entity to the second entity;
receiving a response to the encrypted random nonce; and
authenticating through determining whether the response includes a correct modification of the first random nonce NB.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a cryptographic method which includes receiving at a first entity a second public key MA. At least one of a first session key KB and a first secret SB may be generated based on the second public key MA. A first random nonce NB may be generated which may be encrypted with at least one of the first session key KB and the first secret SB to obtain an encrypted random nonce. The encrypted random nonce may be transmitted from the first entity. In response to transmitting the encrypted random nonce, the first computer may receive a data signal containing a modification of the first random nonce NB+1. If the modification of the first random nonce NB+1 was correctly performed, then at least one of (i) opening a communication link at the first computer, and (ii) generating a first initialization vector IB is performed.
-
Citations
36 Claims
-
1. A cryptographic method, including:
-
generating, at a first entity, a first public key MB, the first public key MB being session specific; receiving from a second entity, at the first entity, a second public key MA, the second public key MA being session specific; generating, at the first entity, a first secret SB by hashing one or more parameters that are known to the first entity and the second entity, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, the first public key MB, and the second public key MA;generating, at the first entity, a first session key KB, the first session key KB being different from the first secret SB, both the first session key KB and the first secret SB being computed from the second public key MA; encrypting, at the first entity, a first random nonce NB with the first session key KB or the first secret SB to obtain a first encrypted result; encrypting, at the first entity, the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random nonce; transmitting the encrypted random nonce from the first entity to the second entity; receiving a response to the encrypted random nonce; and authenticating through determining whether the response includes a correct modification of the first random nonce NB. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable storage medium containing executable computer program instructions which, when executed, cause a first computer system to perform a cryptographic method including:
-
generating, at the first computer system, a first public key MB, the first public key MB being session specific; receiving from a second computer system, at the first computer system, a second public key MA, the second public key MA being session specific; generating, at the first computer system, a first secret SB by hashing one or more parameters that are known to the first computer system and the second computer system, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, the first public key MB, and the second public key MA;generating, at the first computer system, a first session key KB, the first session key KB being different from the first secret SB, both the first session key KB and the first secret SB being computed from the second public key MA; encrypting, at the first computer system, a first random nonce NB with the first session key KB or the first secret SB to obtain a first encrypted result; encrypting, at the first computer system, the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random nonce; transmitting the encrypted random nonce from the first computer system to the second computer system; and authenticating through determining whether a response to the encrypted random nonce includes a correct modification of the first random nonce NB.
-
-
18. A distributed readable storage medium containing executable computer program instructions which, when executed, cause a first computer system and a second computer system to perform a computer cryptographic method through a network, the method comprising:
-
generating at the first computer system a first public key MB, the first public key MB being session specific; generating at the second computer system a second public key MA, the second public key MA being session specific; receiving at the first computer system the second public key MA; generating, at the first computer system, a first secret SB by hashing one or more parameters that are known to the first computer system and the second computer system, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, the first public key MB, and the second public key MA;generating at the first computer system a session key KB, the session key KB being different from the first secret SB, both the session key KB and the first secret SB being computed from the second public key MA; generating at the first computer system a first random nonce NB; encrypting at the first computer system the first random nonce NB with the first session key KB or the first secret SB to obtain a first encrypted result; encrypting at the first computer system the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random nonce; transmitting the encrypted random nonce and the first public key MB from the first computer system to the second computer system to establish the session key at the second computer system; receiving at the first computer system from the second computer system a response to the encrypted random nonce; and authenticating the second computer system at the first computer system through determining whether the response includes a correct modification of the first random nonce NB.
-
-
19. A computer system for performing a cryptographic method through a network, the computer system comprising:
-
a processor; a network interface coupled to the network and coupled to the processor, the network interface to receive a request including information on a user identification; and a storage device coupled to the processor, the storage device to store a user password corresponding to the user identification, and wherein the processor is to perform a method, including; receiving a second public key MA through the network interface from a second computer system, the second public key MA being session specific; generating, at the first computer system, a first secret SB by hashing one or more parameters that are known to the first computer system and the second computer system, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, the first public key MB, and the second public key MA;generating a first session key KB, the session key KB being different from the first secret SB, both the session key KB and the first secret SB being computed from the second public key MA; generating a first public key MB, the first public key MB being session specific; generating a first random nonce NB, the first random nonce NBB; encrypting the first random nonce NB with the session key KB or the first secret SB to obtain a first encrypted result; encrypting the first encrypted result with the other one of the session key KB or the first secret SB to obtain an encrypted random nonce; transmitting the encrypted random nonce and the first public key MB through the network interface; authenticating through determining whether a response to the encrypted random nonce includes a correct modification of the first random nonce. - View Dependent Claims (20)
-
-
21. A cryptographic method, comprising:
-
receiving at a first entity a second public key MA and an encrypted second random number from a second entity; generating a first secret SB by hashing one or more parameters that are known to the first entity and the second entity, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, a first public key MB, and the second public key MA;generating a first session key KB, the session key KB being different from the first secret SB, both the session key KB and the first secret SB being computed from the second public key MA; decrypting, using the first secret SB and the first session key KB, to retrieve a second random number NA from the encrypted second random number; modifying the second random number NA to obtain a modified second random number; encrypting the modified second random number with the first session key KB or the first secret SB to obtain a first encrypted result; encrypting the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random package; and transmitting the encrypted random package from the first entity. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A computer readable storage medium containing executable computer program instructions which, when executed, cause a first computer system to perform a cryptographic method including:
-
receiving at the first computer system a second public key MA and an encrypted second random number from a second computer system; generating a first secret SB by hashing one or more parameters that are known to the first computer system and the second computer system, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, a first public key MB, and the second public key MA;generating a first session key KB, the session key KB being different from the first secret SB, both the session key KB and the first secret SB being computed from the second public key MA; decrypting, using the first secret SB and the first session key KB, to retrieve the second random number NA from the encrypted second random number; modifying the second random number NA to obtain a modified second random number; encrypting the modified second random number with the first session key KB or the first secret SB to obtain a first encrypted result; encrypting the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random package; transmitting the encrypted random package from the first computer system for authentication.
-
-
34. A distributed readable storage medium containing executable computer program instructions which, when executed, cause a first computer system and a second computer system to perform a cryptographic method through a network, the method including:
-
receiving, from the second computer system and at the first computer system, a second public key MA and an encrypted second random number; generating a first secret SB by hashing one or more parameters that are known to the first computer system and the second computer system, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, a first public key MB, and the second public key MA;generating a first session key KB, the session key KB being different from the first secret SB, both the session key KB and the first secret SB being computed from the second public key MA; decrypting, using the first secret SB, to retrieve a second random number NA from the encrypted second random number; modifying the second random number NA to obtain a modified second random number; encrypting the modified second random number with the first session key KB or the first secret SB to obtain a first encrypted result; encrypting the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random package; transmitting the encrypted random package from the first computer system to the second computer system.
-
-
35. A computer system for performing a cryptographic method through a network, the computer system comprising:
-
a processor; a network interface coupled to the network and coupled to the processor, the network interface to receive a request including information on a user identification; and a storage device coupled to the processor, the storage device to store a user password associated with the user identification, and wherein the processor is to perform a method, including generating a first public key MB; receiving a second public key MA and an encrypted second random number through the network interface from a second computer system; generating a first secret SB by hashing one or more parameters that are known to the first computer system and the second computer system, at least one of the parameters being a result of hashing one or more of the following;
a first password PB, a first public key MB, and the second public key MA;generating a first session key KB, the session key KB being different from the first secret SB, both the session key KB and the first secret SB being computed from the second public key MA; decrypting, using the first secret SB and the first session key KB, to retrieve the second random number NA from the encrypted second random number; modifying the second random number NA to obtain a modified second random number; encrypting the modified second random number with the first session key KB or the first secret SB to obtain a first encrypted result; encrypting the first encrypted result with the other one of the first session key KB or the first secret SB to obtain an encrypted random package; transmitting the encrypted random package through the network interface. - View Dependent Claims (36)
-
Specification