Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
631 words
A login method to enhance security in a network computer system having at least one server computer coupled over a communication network to a plurality of client computers, wherein each client computer is coupled to directly access a persistent storage device and wherein each client computer is operated by a control program after login, the method comprising the steps of: receiving a login ID and password PW from a user at a first one of said client computers; computing, at said first client computer, a hash value H 1 PW of the password PW; transmitting a first-stage login request including ID from said first client computer to a first one of said server computers; receiving said first-stage login request at said first server computer; providing, at said first server computer, a key-exchange key KEK; encrypting KEK at said first server computer; transmitting a first-stage login response, including the encrypted KEK, from said first server computer to said first client computer; receiving said first-stage login response at said first client computer; decrypting, at said first client computer, the encrypted KEK, to yield KEK; providing, at said first client computer, a first split key SK 1 ; encrypting, at said first client computer, key SK 1 , using KEK as an encryption key, to yield ESK 1 ; transmitting a second-stage login request, including ESK 1 , from said first client computer to said first server computer; receiving said second-stage login request at said first server computer; decrypting, at said first server computer, ESK 1 , using KEK as a decryption key, to yield SK 1 ; providing, at said first server computer, a second split key SK 2 ; combining, at said first server computer, the first and second split keys SK 1 an SK 2 , to yield session key SK; encrypting, at said first server computer, the second split key SK 2 , using KEK as an encryption key, to yield ESK 2 ; transmitting a second-stage login response, including ESK 2 , from said first server computer to said first client computer; receiving the second-stage login response at said first client computer; decrypting, at said first client computer, ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; combining, at said first client computer, the first and second split keys SK 1 and SK 2 , to yield sessions key SK; encrypting further transmissions between said first client computer and said first server computer, using sessions key SK as an encryption key; transmitting a third-stage login request from said client computer to said first server computer, following said step of combining, at said first client computer, the first and second split keys SK 1 and SK 2 ; receiving the third-stage login request at said first server computer; looking up, at said first server computer, a first split persistent storage key PK 1 associated in a database with the ID received with said first-stage login request; encrypting, at said first server computer, key PK 1 , using SK as an encryption key, to yield EPK 1 ; transmitting a third-stage login response, including EPK 1 , from said first server computer to said first client computer; receiving the third-stage login response at said first client computer; decrypting, at said first client computer, EPK 1 received with said third-stage login response, using SK as a decryption key; providing, at said first client computer, a second split persistent storage key PK 2 ; combining, at said first client computer, the first and second split persistent storage keys PK 1 and PK 2 , to yield persistent storage key PK; and encrypting further data stored in the persistent storage device operatively coupled to said first client computer, using PK as an encryption key.
Claim 2
Dependent Claim
631 words
A login method to enhance security in a network computer system having at least one server computer coupled over a communication network to a plurality of client computers, wherein each client computer is coupled to directly access a persistent storage device and wherein each client computer is operated by a control program after login, the method comprising the steps of: receiving a login ID and password PW from a user at a first one of said client computers; computing, at said first client computer, a hash value H 1 PW of the password PW; transmitting a first-stage login request including ID from said first client computer to a first one of said server computers; receiving said first-stage login request at said first server computer; providing, at said first server computer, a key-exchange key KEK; encrypting KEK at said first server computer; transmitting a first-stage login response, including the encrypted KEK, from said first server computer to said first client computer; receiving said first-stage login response at said first client computer; decrypting, at said first client computer, the encrypted KEK, to yield KEK; providing, at said first client computer, a first split key SK 1 ; encrypting, at said first client computer, key SK 1 , using KEK as an encryption key, to yield ESK 1 ; transmitting a second-stage login request, including ESK 1 , from said first client computer to said first server computer; receiving said second-stage login request at said first server computer; decrypting, at said first server computer, ESK 1 , using KEK as a decryption key, to yield SK 1 ; providing, at said first server computer, a second split key SK 2 ; combining, at said first server computer, the first and second split keys SK 1 an SK 2 , to yield session key SK; encrypting, at said first server computer, the second split key SK 2 , using KEK as an encryption key, to yield ESK 2 ; transmitting a second-stage login response, including ESK 2 , from said first server computer to said first client computer; receiving the second-stage login response at said first client computer; decrypting, at said first client computer, ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; combining, at said first client computer, the first and second split keys SK 1 and SK 2 , to yield sessions key SK; encrypting further transmissions between said first client computer and said first server computer, using sessions key SK as an encryption key; transmitting a third-stage login request from said client computer to said first server computer, following said step of combining, at said first client computer, the first and second split keys SK 1 and SK 2 ; receiving the third-stage login request at said first server computer; looking up, at said first server computer, a first split persistent storage key PK 1 associated in a database with the ID received with said first-stage login request; encrypting, at said first server computer, key PK 1 , using SK as an encryption key, to yield EPK 1 ; transmitting a third-stage login response, including EPK 1 , from said first server computer to said first client computer; receiving the third-stage login response at said first client computer; decrypting, at said first client computer, EPK 1 received with said third-stage login response, using SK as a decryption key; providing, at said first client computer, a second split persistent storage key PK 2 ; combining, at said first client computer, the first and second split persistent storage keys PK 1 and PK 2 , to yield persistent storage key PK; and encrypting further data stored in the persistent storage device operatively coupled to said first client computer, using PK as an encryption key.
Claim 3
Dependent Claim
37 words
A method as recited in claim 1 , wherein said step of providing, at said first client computer, a second split persistent storage key PK 2 , comprises the step of generating PK 2 by pseudo-random generation.
Claim 4
Dependent Claim
286 words
A method as recited in claim 1 : wherein, after said step of computing a hash value H 1 PW at said first client computer, and prior to said step of transmitting a first-stage login request, said method further includes the steps of: providing, at said first client computer, a public key PUB and a corresponding private key PVT; and encrypting, at said first client computer, the public key PUB, using H 1 PW as an encryption key, to yield EPUB; wherein said first-stage login request includes ID and EPUB and wherein, following said step of receiving said first-stage login request at said first server computer and prior to said step of encrypting KEK at said first server computer, said method further comprises the steps of: looking up, at said first server computer, the hash value H 1 PW associated in a database with the ID received with said first-stage login request; decrypting, at said first server computer, the EPUB received with said first-stage login request, using H 1 PW as a decryption key, yielding PUB; wherein, said step of encrypting KEK at said first server computer comprises the steps of: encrypting KEK, at said first server computer, using PUB as a public key, to yield EKEK; and encrypting EKEK, at said first server computer, using H 1 PW as an encryption key, to yield DEKEK; wherein, said first-stage login response includes DEKEK and wherein said step of decrypting, at said first client computer, the encrypted KEK, comprises the steps of: decrypting DEKEK, at said first client computer, using H 1 PW as a decryption key, to yield EKEK; and decrypting EKEK, at said first client computer, using PVT as a private key, to yield KEK.
Claim 5
Dependent Claim
39 words
A method as recited in claim 3 , wherein said step of providing, at said first client computer, a public key PUB and a corresponding private key PVT, comprises the step of generating PUB and PVT by pseudo-random generation.
Claim 6
Dependent Claim
286 words
A method as recited in claim 1 , wherein after said step of decrypting, at said first client computer, the encrypted KEK, and prior to said step of transmitting a second-stage login request, said method further comprising the steps of: providing a server authentication string SRV at said first client computer; and encrypting SRV at said first client computer, using KEK as an encryption key, to yield ESRV; wherein said second-stage login request further includes ESRV and wherein, after said step of receiving said second-stage login request at said first server computer, and prior to said step of transmitting a second-stage login response, said method further comprising the steps of: decrypting ESRV at said first server computer, using KEK as a decryption key, to yield SRV; modifiying SRV, at said first server computer, by applying a predetermined algorithm function to SRV, to yield ISRV; and encrypting ISRV at said first server computer, using KEK as an encryption key, to yield EISRV; wherein said second-stage login response further includes EISRV and wherein, after said step of receiving said second-stage login response at said client computer, said method further comprises the steps of: decrypting EISRV at said first client computer, using KEK as a decryption key, to yield ISRV; applying, at said first client computer, the inverse of said predetermined algorithm function to ISRV, to yield SRV; and comparing, at said first client computer, the yielded SRV with the SRV provided in said step of providing a server authentication string SRV at said first client computer; and aborting the login procedure upon a failure to match said yielded SRV with said SRV provided in said step of providing a server authentication string SRV at said first client computer.
Claim 7
Dependent Claim
31 words
A method as recited in claim 5 , wherein said step of providing a server authentication string SRV at said first computer comprises the step of generating SRV by pseudo-random generation.
Claim 8
Dependent Claim
271 words
A method as recited in claim 5 , wherein after said step of receiving said second-stage login request at said first server computer, and prior to said step of transmitting a second-stage login response, said method further comprising the steps of: providing a client authentication string CLT at said first server computer; and encrypting CLT at said first server computer, using KEK as an encryption key, to yield ECLT; wherein said second-stage login response further includes ECLT and wherein, after said step of receiving said second-stage login response at said first client computer said method further comprising the steps of: decrypting ECLT at said first client computer, using KEK as a decryption key, to yield CLT; modifiying CLT, at said first client computer, by applying a predetermined algorithm function to CLT, to yield ICLT; encrypting ICLT at said first client computer, using SK as an encryption key, to yield EICLT; transmitting a third-stage login request, including EICLT, from said first client computer to said first server computer; receiving said third-stage login request at said first server computer; decrypting EICLT at said first server computer, using SK as a decryption key, to yield ICLT; applying, at said first server computer, the inverse of said predetermined algorithm function to ICLT, to yield CLT; comparing, at said first server computer, the yielded CLT with the CLT provided in said step of providing a client authentication string CLT at said first server computer; and rejecting the login procedure upon a failure to match said yielded CLT with said CLT provided in said step of providing a client authentication string CLT at said first server computer.
Claim 9
Dependent Claim
31 words
A method as recited in claim 7 , wherein said step of providing a client authentication string CLT at said first server comprises the step of generating CLT by pseudo-random generation.
Claim 10
Independent Claim
34 words
A method as recited in 1 , wherein said step of providing, at said first client computer, a first split encryption key SK 1 comprises the step of generating SK 1 by pseudo-random generation.
Claim 11
Independent Claim
34 words
A method as recited in 1 , wherein said step of providing, at said first client computer, a first split encryption key SK 1 comprises the step of generating SK 1 by pseudo-random generation.
Claim 12
Dependent Claim
35 words
A method as recited in claim 1 , wherein said step of providing, at said first server computer, a second split encryption key SK 2 comprises the step of generating SK 2 by pseudo-random generation.
Claim 13
Dependent Claim
31 words
A method as recited in claim 1 , wherein said step of providing, at said first server computer, a key-exchange key KEK, comprises the step of generating KEK by pseudo-random generation.
Claim 14
Dependent Claim
702 words
A login method to enhance security in a network computer system having at least one server computer coupled over a communication network to a plurality of client computers, wherein each client computer is coupled to directly access a persistent storage device and wherein each client computer is operated by a control program after login, the method comprising the steps of: receiving a login ID and password PW from a user at a first one of said client computers; computing, at said first client computer, a hash value H 1 PW of the password PW; transmitting a first-stage login request including ID from said first client computer to a first one of said server computers; receiving said first-stage login request at said first server computer; providing, at said first server computer, a key-exchange key KEK; encrypting KEK at said first server computer; transmitting a first-stage login response, including the encrypted KEK, from said first server computer to said first client computer; receiving said first-stage login response at said first client computer; decrypting, at said first client computer, the encrypted KEK, to yield KEK; providing, at said first client computer, a first split key SK 1 ; encrypting, at said first client computer, key SK 1 , using KEK as an encryption key, to yield ESK 1 ; transmitting a second-stage login request, including ESK 1 , from said first client computer to said first server computer; receiving said second-stage login request at said first server computer; decrypting, at said first server computer, ESK 1 , using KEK as a decryption key, to yield SK 1 ; providing, at said first server computer, a second split key SK 2 ; combining, at said first server computer, the first and second split keys SK 1 and SK 2 , to yield session key SK; encrypting, at said first server computer, the second split key SK 2 , using KEK as an encryption key, to yield ESK 2 ; transmitting a second-stage login response, including ESK 2 , from said first server computer to said first client computer; receiving the second-stage login response at said first client computer; decrypting, at said first client computer, ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; combining, at said first client computer, the first and second split keys SK 1 and SK 2 , to yield sessions key SK; encrypting further transmissions between said first client computer and said first server computer, using sessions key SK as an encryption key; wherein, after said step of computing a hash value H 1 PW at said first client computer, and prior to said step of transmitting a first-stage login request, said method further includes the steps of: providing, at said first client computer, a public key PUB and a corresponding private key PVT; and encrypting, at said first client computer, the public key PUB, using H 1 PW as an encryption key, to yield EPUB; wherein said first-stage login request includes ID and EPUB and wherein, following said step of receiving said first-stage login request at said first server computer and prior to said step of encrypting KEK at said first server computer, said method further comprises the steps of: looking up, at said first server computer, the hash value H 1 PW associated in a database with the ID received with said first-stage login request; decrypting, at said first server computer, the EPUB received with said first-stage login request, using H 1 PW as a decryption key, yielding PUB; and wherein, said step of encrypting KEK at said first server computer comprises the steps of: encrypting KEK, at said first server computer, using PUB as a public key, to yield EKEK; and encrypting EKEK, at said first server computer, using H 1 PW as an encryption key, to yield DEKEK; wherein, said first-stage login response includes DEKEK and wherein said step of decrypting, at said first client computer, the encrypted KEK, comprises the steps of: decrypting DEKEK, at said first client computer, using H 1 PW as a decryption key, to yield EKEK; and decrypting EKEK, at said first client computer, using PVT as a private key, to yield KEK.
Claim 15
Dependent Claim
702 words
A login method to enhance security in a network computer system having at least one server computer coupled over a communication network to a plurality of client computers, wherein each client computer is coupled to directly access a persistent storage device and wherein each client computer is operated by a control program after login, the method comprising the steps of: receiving a login ID and password PW from a user at a first one of said client computers; computing, at said first client computer, a hash value H 1 PW of the password PW; transmitting a first-stage login request including ID from said first client computer to a first one of said server computers; receiving said first-stage login request at said first server computer; providing, at said first server computer, a key-exchange key KEK; encrypting KEK at said first server computer; transmitting a first-stage login response, including the encrypted KEK, from said first server computer to said first client computer; receiving said first-stage login response at said first client computer; decrypting, at said first client computer, the encrypted KEK, to yield KEK; providing, at said first client computer, a first split key SK 1 ; encrypting, at said first client computer, key SK 1 , using KEK as an encryption key, to yield ESK 1 ; transmitting a second-stage login request, including ESK 1 , from said first client computer to said first server computer; receiving said second-stage login request at said first server computer; decrypting, at said first server computer, ESK 1 , using KEK as a decryption key, to yield SK 1 ; providing, at said first server computer, a second split key SK 2 ; combining, at said first server computer, the first and second split keys SK 1 and SK 2 , to yield session key SK; encrypting, at said first server computer, the second split key SK 2 , using KEK as an encryption key, to yield ESK 2 ; transmitting a second-stage login response, including ESK 2 , from said first server computer to said first client computer; receiving the second-stage login response at said first client computer; decrypting, at said first client computer, ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; combining, at said first client computer, the first and second split keys SK 1 and SK 2 , to yield sessions key SK; encrypting further transmissions between said first client computer and said first server computer, using sessions key SK as an encryption key; wherein, after said step of computing a hash value H 1 PW at said first client computer, and prior to said step of transmitting a first-stage login request, said method further includes the steps of: providing, at said first client computer, a public key PUB and a corresponding private key PVT; and encrypting, at said first client computer, the public key PUB, using H 1 PW as an encryption key, to yield EPUB; wherein said first-stage login request includes ID and EPUB and wherein, following said step of receiving said first-stage login request at said first server computer and prior to said step of encrypting KEK at said first server computer, said method further comprises the steps of: looking up, at said first server computer, the hash value H 1 PW associated in a database with the ID received with said first-stage login request; decrypting, at said first server computer, the EPUB received with said first-stage login request, using H 1 PW as a decryption key, yielding PUB; and wherein, said step of encrypting KEK at said first server computer comprises the steps of: encrypting KEK, at said first server computer, using PUB as a public key, to yield EKEK; and encrypting EKEK, at said first server computer, using H 1 PW as an encryption key, to yield DEKEK; wherein, said first-stage login response includes DEKEK and wherein said step of decrypting, at said first client computer, the encrypted KEK, comprises the steps of: decrypting DEKEK, at said first client computer, using H 1 PW as a decryption key, to yield EKEK; and decrypting EKEK, at said first client computer, using PVT as a private key, to yield KEK.
Claim 16
Independent Claim
744 words
A system to enhance security in a network computer environment, said system comprising: a communication network; at least one server computer, including a first server computer, coupled to said communication network; a plurality of client computers, including a first client computer, coupled to said communication network; a persistent storage device operatively coupled to each of said client computers; means, associated with said first client computer, for receiving a login ID and password PW; means, associated with said first client computer, for computing a hash value H 1 PW of the password PW; means associated with said first client computer, for providing a public key PUB and a corresponding private key PVT; means associated with said first client computer, for encrypying the public key PUB, using H 1 PW as an encryption key, to yield EPUB; wherein said first-stage login request includes ID and EPUB and wherein, following said means for receiving said first-stage login request at said first server computer and prior to said step of encrypting KEK at said first server computer, said means further comprises: means associated with said first server computer, for looking up the hash value H 1 PW associated in a database with the ID received with said first-stage login request; means associated with said first server computer, for decrypting the EPUB received with said first-stage login request, using H 1 PW as a decryption key, yielding PUB; and wherein, said means for encrypting KEK at said first server computer comprises: means associated with said first server computer, for encrypting KEK using PUB as a public key, to yield EKEK; and means associated with said first server computer for encrypting EKEK using H 1 PW as an encryption key, to yield DEKEK; wherein, said first-stage login response includes DEKEK and wherein said means for decrypting, at said first client computer the encrypted KEK, comprises: means associated with said first client computer, for decrypting DEKEK using H 1 PW as a decryption key, to yield EKEK; and means associated with said first client computer for decrypting EKEK using PVT as a private key, to yield KEK; means, associated with said first client computer, for transmitting a first-stage login request including ID, through said communication network, to said first server computer; means, associated with said first server computer, for providing a first encryption key KEK; means, associated with said first server computer, for encrypting KEK; means, associated with said first server computer, for transmitting a first-stage login response, including the encrypted KEK, through said communication network, to said first client computer; means, associated with said first client computer, for decrypting the encrypted KEK, to yield KEK; means, associated with said first client computer, for providing a first split encryption key SK 1 ; means, associated with said first client computer, for encrypting the first split key SK 1 , using KEK as an encryption key, to yield ESK 1 ; means, associated with said first client computer, for transmitting a second-stage login request, including ESK 1 , through said communication network, to said first server computer; means, associated with said first server computer, for decrypting ESK 1 , using KEK as a decryption key, to yield SK 1 ; means, associated with said first server computer, for providing a second split encryption key SK 2 ; means, associated with said first server computer, for combining the first and second split keys SK 1 and SK 2 , to yield session key SK; means, associated with said first server computer, for encrypting the second split symmetric key SK 2 , using KEK as an encryption key, to yield ESK 2 ; means, associated with said first server computer, for transmitting a second-stage login response, including ESK 2 , through said communication network, to said first client computer; means, associated with said first client computer, for decrypting ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; means, associated with said first client computer, for combining the first and second split keys SK 1 and SK 2 , to yield session key SK; means, associated with said first client computer, for encrypting further transmissions from said first client computer to said first server computer, using symmetric session key SK as an encryption key; and means, associated with said first server computer, for encrypting further transmissions from said first server computer to said first client computer, using symmetric session key SK as an encryption key.
Claim 17
Independent Claim
744 words
A system to enhance security in a network computer environment, said system comprising: a communication network; at least one server computer, including a first server computer, coupled to said communication network; a plurality of client computers, including a first client computer, coupled to said communication network; a persistent storage device operatively coupled to each of said client computers; means, associated with said first client computer, for receiving a login ID and password PW; means, associated with said first client computer, for computing a hash value H 1 PW of the password PW; means associated with said first client computer, for providing a public key PUB and a corresponding private key PVT; means associated with said first client computer, for encrypying the public key PUB, using H 1 PW as an encryption key, to yield EPUB; wherein said first-stage login request includes ID and EPUB and wherein, following said means for receiving said first-stage login request at said first server computer and prior to said step of encrypting KEK at said first server computer, said means further comprises: means associated with said first server computer, for looking up the hash value H 1 PW associated in a database with the ID received with said first-stage login request; means associated with said first server computer, for decrypting the EPUB received with said first-stage login request, using H 1 PW as a decryption key, yielding PUB; and wherein, said means for encrypting KEK at said first server computer comprises: means associated with said first server computer, for encrypting KEK using PUB as a public key, to yield EKEK; and means associated with said first server computer for encrypting EKEK using H 1 PW as an encryption key, to yield DEKEK; wherein, said first-stage login response includes DEKEK and wherein said means for decrypting, at said first client computer the encrypted KEK, comprises: means associated with said first client computer, for decrypting DEKEK using H 1 PW as a decryption key, to yield EKEK; and means associated with said first client computer for decrypting EKEK using PVT as a private key, to yield KEK; means, associated with said first client computer, for transmitting a first-stage login request including ID, through said communication network, to said first server computer; means, associated with said first server computer, for providing a first encryption key KEK; means, associated with said first server computer, for encrypting KEK; means, associated with said first server computer, for transmitting a first-stage login response, including the encrypted KEK, through said communication network, to said first client computer; means, associated with said first client computer, for decrypting the encrypted KEK, to yield KEK; means, associated with said first client computer, for providing a first split encryption key SK 1 ; means, associated with said first client computer, for encrypting the first split key SK 1 , using KEK as an encryption key, to yield ESK 1 ; means, associated with said first client computer, for transmitting a second-stage login request, including ESK 1 , through said communication network, to said first server computer; means, associated with said first server computer, for decrypting ESK 1 , using KEK as a decryption key, to yield SK 1 ; means, associated with said first server computer, for providing a second split encryption key SK 2 ; means, associated with said first server computer, for combining the first and second split keys SK 1 and SK 2 , to yield session key SK; means, associated with said first server computer, for encrypting the second split symmetric key SK 2 , using KEK as an encryption key, to yield ESK 2 ; means, associated with said first server computer, for transmitting a second-stage login response, including ESK 2 , through said communication network, to said first client computer; means, associated with said first client computer, for decrypting ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; means, associated with said first client computer, for combining the first and second split keys SK 1 and SK 2 , to yield session key SK; means, associated with said first client computer, for encrypting further transmissions from said first client computer to said first server computer, using symmetric session key SK as an encryption key; and means, associated with said first server computer, for encrypting further transmissions from said first server computer to said first client computer, using symmetric session key SK as an encryption key.
Claim 18
Dependent Claim
20 words
A method as recited in claim 13 , wherein said key KEK and said key SK comprise symmetric encryption keys.
Claim 19
Dependent Claim
675 words
An article of manufacture comprising a computer program carrier readable by a first client computer coupled to a computer network system having a plurality of client computers and a computer program carrier readable by a first server computer coupled to said computer network system, the computer program carriers embodying one or more instructions executable by the first remote computer and the first server computer to perform method steps of: receiving a login ID and password PW from a user at a first one of said client computers; computing, at said first client computer, a hash value H 1 PW of the password PW; providing, at said first server computer, a key-exchange key KEK; providing, at said first client computer, a public key PUB and a corresponding private key PVT; encrypting, at said first client computer, the public key PUB, using H 1 PW as an encryption key, to yield EPUB; wherein said first-stage login request includes ID and EPUB and wherein, following said step of receiving said first-stage login request at said first server computer and prior to said step of encrypting KEK at said first server computer, said method further comprises the steps of: looking up, at said first server computer, the hash value H 1 PW associated in a database with the ID received with said first-stage login request; decrypting, at said first server computer, the EPUB received with said first-stage login request, using H 1 PW as a decryption key, yielding PUB; and wherein, said step of encrypting KEK at said first server computer comprises the steps of: encrypting KEK, at said first server computer, using PUB as a public key, to yield EKEK; and encrypting EKEK, at said first server computer, using H 1 PW as an encryption key, to yield DEKEK; wherein, said first-stage login response includes DEKEK and wherein said step of decrypting, at said first client computer, the encrypted KEK, comprises the steps of: decrypting DEKEK, at said first client computer, using H 1 PW as a decryption key, to yield EKEK; and decrypting EKEK, at said first client computer, using PVT as a private key, to yield KEK; transmitting a first-stage login request including ID from said first client computer to a first one of said server computers; receiving said first-stage login request at said first server computer; encrypting KEK at said first server computer; transmitting a first-stage login response, including the encrypted KEK, from said first server computer to said first client computer; receiving said first-stage login response at said first client computer; decrypting, at said first client computer, the encrypted KEK, to yield KEK; providing, at said first client computer, a first split key SK 1 ; encrypting, at said first client computer, key SK 1 , using KEK as an encryption key, to yield ESK 1 ; transmitting a second-stage login request, including ESK 1 , from said first client computer to said first server computer; receiving said second-stage login request at said first server computer; decrypting, at said first server computer, ESK 1 , using KEK as a decryption key, to yield SK 1 ; providing, at said first server computer, a second split key SK 2 ; combining, at said first server computer, the first and second split keys SK 1 and SK 2 , to yield session key SK; encrypting, at said first server computer, the second split key SK 2 , using KEK as an encryption key, to yield ESK 2 ; transmitting a second-stage login response, including ESK 2 , from said first server computer to said first client computer; receiving the second-stage login response at said first client computer; decrypting, at said first client computer, ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; combining, at said first client computer, the first and second split keys SK 1 and SK 2 , to yield sessions key SK; encrypting further transmissions between said first client computer and said first server computer, using sessions key SK as an encryption key.
Claim 20
Dependent Claim
675 words
An article of manufacture comprising a computer program carrier readable by a first client computer coupled to a computer network system having a plurality of client computers and a computer program carrier readable by a first server computer coupled to said computer network system, the computer program carriers embodying one or more instructions executable by the first remote computer and the first server computer to perform method steps of: receiving a login ID and password PW from a user at a first one of said client computers; computing, at said first client computer, a hash value H 1 PW of the password PW; providing, at said first server computer, a key-exchange key KEK; providing, at said first client computer, a public key PUB and a corresponding private key PVT; encrypting, at said first client computer, the public key PUB, using H 1 PW as an encryption key, to yield EPUB; wherein said first-stage login request includes ID and EPUB and wherein, following said step of receiving said first-stage login request at said first server computer and prior to said step of encrypting KEK at said first server computer, said method further comprises the steps of: looking up, at said first server computer, the hash value H 1 PW associated in a database with the ID received with said first-stage login request; decrypting, at said first server computer, the EPUB received with said first-stage login request, using H 1 PW as a decryption key, yielding PUB; and wherein, said step of encrypting KEK at said first server computer comprises the steps of: encrypting KEK, at said first server computer, using PUB as a public key, to yield EKEK; and encrypting EKEK, at said first server computer, using H 1 PW as an encryption key, to yield DEKEK; wherein, said first-stage login response includes DEKEK and wherein said step of decrypting, at said first client computer, the encrypted KEK, comprises the steps of: decrypting DEKEK, at said first client computer, using H 1 PW as a decryption key, to yield EKEK; and decrypting EKEK, at said first client computer, using PVT as a private key, to yield KEK; transmitting a first-stage login request including ID from said first client computer to a first one of said server computers; receiving said first-stage login request at said first server computer; encrypting KEK at said first server computer; transmitting a first-stage login response, including the encrypted KEK, from said first server computer to said first client computer; receiving said first-stage login response at said first client computer; decrypting, at said first client computer, the encrypted KEK, to yield KEK; providing, at said first client computer, a first split key SK 1 ; encrypting, at said first client computer, key SK 1 , using KEK as an encryption key, to yield ESK 1 ; transmitting a second-stage login request, including ESK 1 , from said first client computer to said first server computer; receiving said second-stage login request at said first server computer; decrypting, at said first server computer, ESK 1 , using KEK as a decryption key, to yield SK 1 ; providing, at said first server computer, a second split key SK 2 ; combining, at said first server computer, the first and second split keys SK 1 and SK 2 , to yield session key SK; encrypting, at said first server computer, the second split key SK 2 , using KEK as an encryption key, to yield ESK 2 ; transmitting a second-stage login response, including ESK 2 , from said first server computer to said first client computer; receiving the second-stage login response at said first client computer; decrypting, at said first client computer, ESK 2 received with the second-stage login response, using KEK as a decryption key, to yield SK 2 ; combining, at said first client computer, the first and second split keys SK 1 and SK 2 , to yield sessions key SK; encrypting further transmissions between said first client computer and said first server computer, using sessions key SK as an encryption key.
Claim 21
Dependent Claim
19 words
A method as recited in claim 15 , wherein said key KEK and said key SK comprise symmetric keys.