Secure method for roaming keys and certificates
First Claim
1. In an Internet based network comprising at least one server and at least one client which enables users to communicate with said at least one server, a method for encrypted communications using private keys and certificates, comprising steps of:
- (a) a user choosing a username and a passphrase via said at least one client;
(b) said at least one client generating a private key and a public key using random data collected from said user and other sources that cannot be accessed by said at least one server;
(c) calculating a first hash value of said passphrase using an algorithm;
(d) calculating an authentication value based on said private key and said passphrase;
(e) encrypting said private key and said authentication value using said passphrase;
(f) submitting said username, along with said first hash value, said encryption result and said public key to said at least one server over a secure channel;
(g) said at least one server checking whether said user'"'"'s record exists in a databse associated with said at least one server;
(h) if a check result of (g) is yes, then verifying access to said user'"'"'s record by comparing said first hash value with a stored hash value of said passphrase;
(i) if a check result of (g) is no, then creating a record for said user;
(j) creating and signing a certificate that certifies said username and said public key;
(k) storing said first hash value, said encryption result and said certificate in said user'"'"'s record; and
(l) returning a confirmation to said at least one client.
11 Assignments
0 Petitions
Accused Products
Abstract
A simple scheme is provided for server storage of private keys and certificates in a secure manner, thus solving the difficult problems of roaming certificates. A user can access his private keys and certificates from anywhere in the network. Despite that the server stores the user'"'"'s private keys, the server must not be able to impersonate the user on a network or sign messages for the user. A scheme for truly secure transactions is also provided.
28 Citations
22 Claims
-
1. In an Internet based network comprising at least one server and at least one client which enables users to communicate with said at least one server, a method for encrypted communications using private keys and certificates, comprising steps of:
-
(a) a user choosing a username and a passphrase via said at least one client;
(b) said at least one client generating a private key and a public key using random data collected from said user and other sources that cannot be accessed by said at least one server;
(c) calculating a first hash value of said passphrase using an algorithm;
(d) calculating an authentication value based on said private key and said passphrase;
(e) encrypting said private key and said authentication value using said passphrase;
(f) submitting said username, along with said first hash value, said encryption result and said public key to said at least one server over a secure channel;
(g) said at least one server checking whether said user'"'"'s record exists in a databse associated with said at least one server;
(h) if a check result of (g) is yes, then verifying access to said user'"'"'s record by comparing said first hash value with a stored hash value of said passphrase;
(i) if a check result of (g) is no, then creating a record for said user;
(j) creating and signing a certificate that certifies said username and said public key;
(k) storing said first hash value, said encryption result and said certificate in said user'"'"'s record; and
(l) returning a confirmation to said at least one client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In an Internet based network comprising at least one server and at least one client which enables users to communicate with said at least one server, a method for encrypted communications using private keys and certificates, comprising steps of:
-
(a) said at least one client sending a user'"'"'s username and a hash result of said user'"'"'s passphrase to said at least one server over a secure channel;
(b) said at least one server locating said user'"'"'s record from a database associated with said at least one server;
(c) comparing said hash result with a stored hash result;
(d) if said hash result and said stored hash result matches, returning with said user'"'"'s certificate and an encrypted value comprising said user'"'"'s private key and an authentication value;
(e) said at least one client decrypting said encrypted value using said passphrase; and
(f) verifying said authentication value using said passphrase to ensure that said private key has not been tampered with on said at least one server;
wherein if said private key has not been tampered with on said at least one server, said at least one client obtains said private key and said certificate. - View Dependent Claims (8, 9, 10, 11)
-
-
12. An Internet based network for secure communications using private keys and certificates, comprising:
-
at least one server; and
at least one client via which a user logs in said network by entering a username and a passphrase;
wherein said at least one client is operable to;
generate a private key and a public key using random data collected from said user and other sources that cannot be accessed by said at least one server;
calculate a hash result of said passphrase using an algorithm;
calculate authentication value based on said private key and said passphrase;
encrypt said private key and said authentication value using said passphrase;
submit said username, along with said hash result, said encryption result and said public key to said at least one server over a secure channel;
wherein said at least one server is operable to;
check whether said user'"'"'s record exists in a database associated with said at least one server;
if the check result is yes, verify access to said user'"'"'s record by comparing said hash result with a stored hash value of said passphrase;
if the check result is no, create a record for said user;
create and sign a certificate that certifies said username and said public key;
storing said hash result, said encryption result and said certificate in said user'"'"'s record; and
return a confirmation to said at least one client. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An Internet based network for secure communications using private keys and certificates, comprising:
-
at least one server; and
at least one client via which a user logs in said network by entering a username and a passphrase;
wherein said at least one server is operable to;
receive said user'"'"'s username and a hash result of said user'"'"'s passphrase from said at least one client over a secure channel;
locate said user'"'"'s record from a database associated with said at least one server;
compare said hash result with a stored hash result;
if said hash result and said stored hash result matches, return with said user'"'"'s certificate and an encrypted value comprising said user'"'"'s private key and an authentication value;
wherein said at least one client is operable to;
decrypt said encrypted value using said passphrase; and
verify said authentication value using said passphrase to ensure that said private key has not been tampered with on said at least one server;
wherein if said private key has not been tampered with on said at least one server, said at least one client obtains said private key and said certificate. - View Dependent Claims (18, 19, 20)
-
-
21. A method for a user to approve electronic transactions in a secure manner and to approve receiving notifications, comprising the steps of:
-
a server preparing a message that describes an intended transaction;
said server sending said message to a client via which said user communicates with said server;
said client presenting a user interface describing an intended transaction to said user, asking said user to make a yes or no decision, wherein said intended transaction is canceled if said user chooses no;
if said user chooses yes, said client signing said message using said user'"'"'s private key and sending said signed message to said server, wherein both said client and said server seed said message with random values before signing to avoid replay attacks; and
said server may proceed to present said signed message to a third party authorizing said intended transaction.
-
-
22. An Internet based network for secure communications, comprising:
-
at least one server; and
at least one client that has possession of a user'"'"'s private key and certificate;
wherein said at least one server prepares a message that describes an intended transaction and sends said message to said at least one client;
wherein said at least one client presents a user interface describing said intended transaction to said user, asking said user to make a yes or no decision;
wherein said intended transaction is cancelled if said user chooses no;
wherein if said user chooses yes, said at least one client signs said message using said user'"'"'s private key and sends said signed message to said at least server, wherein both said at least one client and said at least one server seed said message with random values before signing to avoid replay attacks; and
wherein said at least one server may proceed to present said signed message to a third party authorizing said intended transaction.
-
Specification