The present invention provides a device for authenticating user's access rights to resources, which comprises first memory means for storing challenging data, second memory means for storing unique identifying information of the user, third memory means for storing proof support information which is a result of executing predetermined computations to the unique identifying information of the user and unique security characteristic information of the device, response generation means for generating a response from the challenging data stored in the first memory means, the unique identifying information stored in the second memory means and the proof support information stored in the third memory means, and verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information of the device satisfy a specific predefined relation.

Patent
   RE42762
Priority
Feb 23 1996
Filed
Mar 17 2000
Issued
Sep 27 2011
Expiry
Oct 18 2016
Assg.orig
Entity
unknown
145
29
EXPIRED
0. 1. A device for authenticating user's access rights to resources comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing predetermined computations to the user unique identifying information and unique security characteristic information of the device;
response generation means for generating a response from the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; and
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information of the device satisfy a specific predefined relation.
2. The device for authenticating user's access rights to resources of claim 1 further comprising: A device for authenticating user's access rights to resources comprising:
first memory means for storing challenging data; second memory means for storing unique identifying information of the user; third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data; response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation;
and protect means for preventing any data inside stored information from being observed or being tampered with from the outside, and for at least confining storing the second memory means and the response generation means.
3. The A device for authenticating user's access rights to resources of claim 1, wherein comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data;
response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; and
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation; wherein
at least the second memory means and the response generation means are implemented within a small portable device such as a smart card.
4. The A device for authenticating user's access rights to resources of claim 1, wherein comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data;
response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; and
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation; wherein
the response generation means comprises:
first calculation means for replaying the unique security characteristic information of the device by executing predetermined calculations to the unique identifying information of the user stored in the second memory means and the proof support information stored in the third memory means; and
second calculation means for generating a response by executing predetermined calculations to the challenging data stored in the first memory means and the unique security characteristic information of the device replayed by the first calculation means.
5. The A device for authenticating user's access rights to resources of claim 1, wherein comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data;
response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; and
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation; wherein
the response generation means comprises:
third calculation means for generating first intermediate information by executing predetermined calculations to the challenging data stored in the first memory means and the proof support information stored in the third memory means;
fourth calculation means for generating second intermediate information by executing predetermined calculations to the challenging data stored in the first memory means and the user unique identifying information stored in the second memory means; and
fifth calculation means for generating a response by executing predetermined calculations to the first intermediate information generated by the third calculation means and the second intermediate information generated by the fourth calculation means.
6. The device for authenticating user's access rights to resources of claim 5, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, at least confining the second memory means and the fourth calculation means.
7. The device for authenticating user's access rights to resources of claim 5, wherein
at least the second memory means and the fourth calculation means are implemented within a portable device such as a smart card.
8. The A device for authenticating user's access rights to resources of claim 1, wherein comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data;
response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; and
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information of the device is a decryption key of a cipher function, satisfy a specific predetermined relation; wherein
the challenging data is encryption of information using the cipher function with the encryption key corresponding to the decryption key, and
the verification means verifies the legitimacy of the response by verifying that the response generated by the response generation means is identical with decryption of the challenging data with the decryption key.
9. The A device for authenticating user's access rights to resources of claim 1, wherein comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data;
response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; and
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information of the device is an encryption key of a cipher function, and satisfy a specific predefined relation; wherein
the verification means verifies the legitimacy of the response by verifying that the response generated by the response generation means is identical with encryption of the challenging data with the encryption key.
10. The A device for authenticating user's access rights to resources of claim 1, wherein comprising:
the characteristic information of the device is the signature key of a digital signature function, and
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data;
response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means; and
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation; wherein
the verification means verifies the legitimacy of the response by verifying that the response generated by the response generation means is identical with the digital signature for the challenging data, which is calculated with the signature key.
11. The device for authenticating user's access rights to resources of claim 8, wherein
the cipher function is of the asymmetric key cryptography, and
the unique security characteristic information of the device is one component of the key pair of the cipher function.
12. The device for authenticating user's access rights to resources of claim 9, wherein
the cipher function is of the asymmetric key cryptography, and
the unique security characteristic information of the device is one component of the key pair of the cipher function.
13. The device for authenticating user's access rights to resources of claim 11, wherein
the cipher function is of the public key cryptography, and
the unique security characteristic information of the device is the private key of the public key pair of the cipher function.
14. The device for authenticating user's access rights to resources of claim 12, wherein
the cipher function is of the public key cryptography, and
the unique security characteristic information of the device is the private key of the public key pair of the cipher function.
15. The device for authenticating user's access rights to resources of claim 8, wherein
the cipher function is of the symmetric key cryptography, and
the unique security characteristic information of the device is the common key of the cipher function.
16. The device for authenticating user's access rights to resources of claim 9, wherein
the cipher function is of the symmetric key cryptography, and
the unique security characteristic information of the device is the common key of the cipher function.
17. The A device for authenticating user's access rights to resources of claim 1, further comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of executing a first computation using both the user unique identifying information and unique security characteristic information, wherein the unique security characteristic information is one of a decryption key of a cipher function, an encryption key of a cipher function, and a signature key of a digital signature function, which corresponds to the challenging data;
response generation means for generating a response by executing a second computation using the challenging data stored in the first memory means, the unique identifying information of the user stored in the second memory means, and the proof support information stored in the third memory means;
verification means for verifying legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation;
a proving device having the first memory means, the second memory means, the third memory means and the response generation means; and
a verification device having fourth memory means for storing the challenging data, fifth memory means for storing the response and the verification means, wherein
the verification device transfers the challenging data stored in the fourth memory means to the first memory means of the proving device, the proving device transfers the response generated by the response generation means to the fifth memory means of the verification device, and the verification means of the verification device verifies the legitimacy of the response stored in the fifth memory means.
18. The device for authenticating user's access rights to resources of claim 17, wherein
the unique security characteristic information of the device is an encryption key of a cipher function,
the verification device comprises random number generation means for generating a random number and for storing it in the fourth memory means, and
the verification means verifies the legitimacy of the response by verifying that the response stored in the fifth memory means is identical with encryption of the challenging data stored in the fourth memory means with the encryption key.
19. The device for authenticating user's access rights to resources of claim 17, wherein
the unique security characteristic information of the device is a decryption key of a cipher function,
the verification device comprises random number generation means for generating a random number, sixth memory means for storing the generated random number and seventh memory means for storing a seed for challenging data, and wherein
the random number generation means stores the generated random number in the sixth memory means while randomizing the seed for the challenging data stored in the seventh memory means by executing predefined calculations to the random number stored in the sixth memory means and the seed stored in the seventh memory means and then storing the randomized seed as challenging data in the fourth memory means, and
the verification means of the verification device de-randomizes the response stored in the fifth memory means by executing predefined calculations to the random number stored in the sixth memory means and the response stored in the fifth memory means, and then verifies the legitimacy of the de-randomized response by verifying that the de-randomized result is identical with decryption of the seed stored in the seventh memory means with the decryption key which is the unique security characteristic information of the device.
20. The device for authenticating user's access rights to resources of claim 17, wherein
the unique security characteristic information of the device is the signature key of a digital signature function, and
the verification device comprises random number generation means for generating a random number and storing the generated random number as challenging data in the fourth memory means, and wherein
the verification means of the verification device verifies the legitimacy of the response by verifying that the response stored in the fifth memory means is identical with the digital signature for the challenging data stored in the fourth memory means, which is calculated with the signature key which is the unique security characteristic information of the device.
21. The device for authenticating user's access rights to resources of claim 18, wherein
the unique security characteristic information of the device is the private key D of an RSA public key pair with a modulus n, and
the verification means verifies the legitimacy of the response by verifying that the E-th power of the response R stored in the fifth memory means, where E denotes the public key associated with the private key D, is congruent with the challenging data C stored in the fourth memory means modulo n (RE mod n=C mod n).
22. The device for authenticating user's access rights to resources of claim 19, wherein
the unique security characteristic information of the device is the private key D of an RSA public key pair with a modulus n, a seed C′ for challenging data stored in the seventh memory means is an RSA-encryption of data K with the public key E of the RSA public key pair (DE modφ(n)=1, C′=KE mod n),
a random number r generated by the random number generation means is stored in the sixth memory means,
challenging data C generated and stored in the fourth memory means satisfies the relation C=rEC′ mod n, and
the verification means verifies the legitimacy of the response R stored in the fifth memory means by verifying that the quotient of R divided by r modulo n is congruent with the data K modulo n (K mod n=r−1 R mod n).
23. The device for authenticating user's access rights to resources of claim 21, wherein
a proof support information t stored in the third memory means satisfies the relation t=D−e+wφ(n), where e denotes user unique identifying information stored in the second memory means, w denotes a conflict-free random number determined dependent upon both n and e and φ (n) denotes the Euler number of n, and
the response generated by response generation means is identical with the D-th power of challenging data C stored in the first memory means modulo n (R=CD mod n).
24. The device for authenticating user's access rights to resources of claim 22, wherein
a proof support information t stored in the third memory means satisfies the relation t=D−e+wφ(n), where e denotes user unique identifying information stored in the second memory means, w denotes a conflict-free random number determined dependent upon both n and e and φ (n) denotes the Euler number of n, and
the response generated by response generation means is identical with the D-th power of challenging data C stored in the first memory means modulo n (R=CD mod n).
25. The device for authenticating user's access rights to resources of claim 23, wherein
the response generation means further comprises:
third calculation means for calculating the t-th power of challenging data C stored in the first memory means modulo n (Ct mod n), where t denotes proof support information stored in the third memory means;
fourth calculation means for calculating the e-th power of the challenging data C modulo n (Ce mod n), where e denotes user unique identifying information stored in the second memory means; and
fifth calculation means for calculating a response R by multiplying the result calculated by the third calculation means by the result calculated by the fourth calculation means modulo n (R=CtCe mod n).
26. The device for authenticating user's access rights to resources of claim 24, wherein
the response generation means further comprises:
third calculation means for calculating the t-th power of challenging data C stored in the first memory means modulo n (Ct mod n), where t denotes proof support information stored in the third memory means;
fourth calculation means for calculating the e-th power of the challenging data C modulo n (Ce mod n), where e denotes user unique identifying information stored in the second memory means; and
fifth calculation means for calculating a response R by multiplying the result calculated by the third calculation means by the result calculated by the fourth calculation means modulo n (R=CtCe mod n).
27. The device for authenticating user's access rights to resources of claim 25, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
28. The device for authenticating user's access rights to resources of claim 26, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
29. The device for authenticating user's access rights to resources of claim 21, wherein
proof support information t stored in the third memory means satisfies the relation t=D+F(n, e), where e denotes user unique identifying information stored in the second memory means, and F(x, y) denotes a two-variable collision-free function, and
a response generated by the response generation means is identical with the D-th power of challenging data C stored in the first memory means modulo n (R=CD mod n).
30. The device for authenticating user's access rights to resources of claim 22, wherein
proof support information t stored in the third memory means satisfies the relation t=D+F(n, e), where e denotes the user unique identifying information stored in the second memory means, and F(x, y) denotes a two-variable collision-free function, and
a response generated by the response generation means is identical with the D-th power of challenging data C stored in the first memory means modulo n (R=CD mod n).
31. The device for authenticating user's access rights to resources of claim 29, wherein
the response generation means further comprises:
third calculation means for calculating the t-th power of challenging data C stored in the first memory means modulo n, where t denotes the proof support information stored in the third memory means (Ct mod n);
fourth calculation means for calculating the F(n, e)-th power of the challenging data C modulo n (CF(n, e) mod n), where e denotes the user unique identifying information stored in the second memory means and F(x, y) denotes a two-variable collision-free function; and
fifth calculation means for calculating a response R by dividing the result calculated by the third calculation means by the result calculated by the fourth calculation means modulo n (R=Ct C−F(n, e) mod n).
32. The device for authenticating user's access rights to resources of claim 30, wherein
the response generation means further comprises:
third calculation means for calculating the t-th power of challenging data C stored in the first memory means modulo n, where t denotes proof support information stored in the third memory means (Ct mod n);
fourth calculation means for calculating the F(n, e)-th power of the challenging data C modulo n (CF(n, e) mod n), where e denotes user unique identifying information stored in the second memory means and F(x, y) denotes a two-variable collision-free function; and
fifth calculation means for calculating a response R by dividing the result calculated by the third calculation means by the result calculated by the fourth calculation means modulo n (R=Ct C−F(n, e) mod n).
33. The device for authenticating user's access rights to resources of claim 31, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
34. The device for authenticating user's access rights to resources of claim 32, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
35. The device for authenticating user's access rights to resources of claim 18, wherein
the unique security characteristic information of the device is a key D of a Pohlig-Heilman key pair of a modulus p, and
the verification means verifies the legitimacy of the response by verifying that the E-th power of the response R stored in the fifth memory means, where E denotes the counterpart key of the key D (DE mod (p−1)=1), is congruent with the challenging data C stored in the fourth memory means modulo p (RE mod p=C mod p).
36. The device for authenticating user's access rights to resources of claim 19, wherein
the unique security characteristic information of the device is a key D of a Pohlig-Hellman key pair of a modulus p,
a seed C′ for challenging data stored in the seventh memory means is Pohlig-Hellman-encryption of data K with the counterpart key E of the key D (DE mod (p−1)=1, C′=KE mod p),
a random number r generated by the random number generation means is stored in the sixth memory means,
challenging data C stored in the fourth memory means satisfies the relation C=rEC′ mod p, and
the verification means verifies the legitimacy of the response R stored in the fifth memory means by verifying that the quotient of R divided by r modulo p is congruent with the data K modulo p (K mod p=r−1 R mod p).
37. The device for authenticating user's access rights to resources of claim 35, wherein
proof support information t stored in the third memory means satisfies the relation t=D+F(p, e), where e denotes the user unique identifying information stored in the second memory means, and F(x, y) denotes a two-variable collision-free function, and
a response generated by the response generation means is identical with the D-th power of challenging data C stored in the first memory means modulo p (R=CD mod p).
38. The device for authenticating user's access rights to resources of claim 36, wherein
proof support information t stored in the third memory means satisfies the relation t=D+F(p, e), where e denotes the user unique identifying information stored in the second memory means, and F(x, y) denotes a two-variable collision-free function, and
a response generated by the response generation means is identical with the D-th power of challenging data C stored in the first memory means modulo p (R=CD mod p).
39. The device for authenticating user's access rights to resources of claim 37, wherein
the response generation means further comprises:
third calculation means for calculating the t-th power of challenging data C stored n the first memory means modulo p, where t denotes the proof support information stored in the third memory means (Ct mod p);
fourth calculation means for calculating the F(p, e)-th power of the challenging data C modulo p (CF(p, e) mod p), where e denotes the user unique identifying information stored in the second memory means and F(x, y) denotes a two-variable collision-free function; and
fifth calculation means for calculating a response R by dividing the result calculated by the third calculation means by the result calculated by the fourth calculation means modulo p (R=Ct C−F(p, e) mod p).
40. A device for authenticating user's access rights to resources of claim 38, wherein
the response generation means further comprises:
third calculation means for calculating the t-th power of challenging data C stored in the first memory means modulo p, where t denotes the proof support information stored in the third memory means (Ct mod p);
fourth calculation means for calculating the F(p, e)-th power of the challenging data C modulo p (CF(p, e) mod p), where e denotes the user unique identifying information stored in the second memory means and F(x, y) denotes a two-variable collision-free function; and
fifth calculation means for calculating a response R by dividing the result calculated by the third calculation means by the result calculated by the fourth calculation means modulo p (R=Ct C−F(p, e) mod p).
41. The device for authenticating user's access rights to resources of claim 39, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
42. The device for authenticating user's access rights to resources of claim 40, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
43. The device for authenticating user's access rights to resources of claim 19, wherein
the unique security characteristic information of the device is the private key X of an ElGamal public key pair with a modulus p and a generator G,
the public key Y corresponding to X is the X-th power of G modulo p (Y=GX mod p),
u denotes the z-th power of the modulo p (u=Gz mod p) for a random number z,
K′ denotes the product modulo p of the z-th power of Y modulo p and a data K (K′=Yz K mod p),
the seventh memory means retains the pair of u and K′,
a random number r generated by the random generation means is stored in the sixth memory means,
C denotes the product modulo p of K′ and r (C=rK′ mod p),
the fourth memory means retains the pair C and u, and
the verification means verifies the legitimacy of the response R stored in the fifth memory means by verifying that the quotient of R divided by r modulo p is congruent with K modulo p (K mod p=r−1 R mod p).
44. The device for authenticating user's access rights to resources of claim 43, wherein
proof support information t stored in the third memory means satisfies the relation t=X+F(p, e), where e denotes the user unique identifying information stored in the second memory means and F(x, y) denotes a two-variable collision-free function, and
a response R generated by the response generation means is identical with the quotient of C divided by X-th power of u modulo p (R=u−xC mod p), where the pair C and u is the challenging data stored in the first memory means.
45. The device for authenticating user's access rights to resources of claim 44, wherein
the response generation means further comprises:
third calculation means for calculating the t-th power of the component u of the challenging data pair stored in the first memory means modulo p, where t denotes proof support information stored in the third memory means (ut mod p);
fourth calculation means for calculating the F(p, e)-th power of u modulo p (uF(p, e) mod p), where e denotes the user unique identifying information stored in the second memory means and F(x, y) denotes a two-variable collision-free function; and
fifth calculation means for calculating a response R by dividing the product of the other component C of the challenging data pair and the result calculated by the fourth calculation means by the result calculated by the third calculation means modulo p (R=CuF(p, e) u−t mod p).
46. The device for authenticating user's access rights to resources of claim 45, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
47. The device for authenticating user's access rights to resources of claim 20, wherein
the unique security characteristic information of the device is the signature key X of an ElGamal public key pair with a modulus p and a generator G,
the public key Y corresponding to X is the X-th power of G modulo p (Y=GX mod p),
a response stored in the fifth memory means is a pair of R and S, and
the verification means verifies the legitimacy of the response R stored in the fifth memory means by verifying that the C-th power of G for the challenging data C stored in the fourth memory means is congruent modulo p with the product of the R-th power of Y and the S-th power of R (Gc mod p=YRRS mod p).
48. The device for authenticating user's access rights to resources of claim 47, wherein
proof support information t stored in the third memory means satisfies the relation t=X+F(p, e), where e denotes the user unique identifying information stored in the second memory means, and F(x, y) denotes a two-variable collision-free function, and
the response generation means generates a response pair R and S by carrying out the following steps of:
generating a random number k;
calculating R as the k-th power of G modulo p (R=Gk mod p); and
calculating S according to the relation S=(C−RX) k−1 mod (p−1).
49. The device for authenticating user's access rights to resources of claim 48, further comprising:
protect means for preventing any data inside from being observed or being tampered with from the outside, confining the second memory means and the fourth calculation means.
50. The device for authenticating user's access rights to resources of claim 4, wherein
the user unique identifying information stored in the second memory means is a decryption key of a cipher function,
the proof support information stored in the third memory means is an encryption of the unique security characteristic information of the device with the encryption key corresponding the decryption key, and
the first calculation means calculates the unique security characteristic information of the device by decrypting the proof support information stored in the third memory means with the decryption key stored in the second memory means.
51. The device for authenticating user's access rights to resources of claim 50, wherein
the cipher function is of the asymmetric key cryptography, and
the user unique identifying information is a component of the key pair of the cipher function.
52. The device for authenticating user's access rights to resources of claim 51, wherein
the cipher function is of the public key cryptography, and
the user unique identifying information is the private key of the public key pair of the cipher function.
53. The device for authenticating user's access rights to resources of claim 50, wherein
the cipher function is of the symmetric key cryptography, and
the user unique identifying information is the common secret key of the cipher function.
54. The device for authenticating user's access rights to resources of claim 8, wherein
the verification device further comprises:
eighth memory means for storing a clear data encryption of which is the challenging data stored in the first memory means; and
comparison means for examining whether the clear data stored in the eighth memory means is identical with data inputted to the comparison means, and wherein
the verification means feeds the response stored in the fifth memory means to the comparison means, receives the answer from the comparison means, and thereby the verification means verifies the legitimacy of the response if and only if the received answer shows that the clear data stored in the eighth memory means is identical with the data inputted to the comparison means.
55. The device for authenticating user's access rights to resources of claim 19, wherein
the verification device further comprises:
eighth memory means for storing clear data encryption of which is the seed for challenging data stored in the seventh memory means; and
comparison means for examining whether the clear data stored in the eighth memory means is identical with data inputted to the comparison means, and wherein
the verification means feeds the de-randomized value of the response stored in the fifth memory means to the comparison means, receives the answer from the comparison means, and thereby the verification means verifies the legitimacy of the response if and only if the received answer shows that the clear data stored in the eighth memory means is identical with the de-randomized value of the response inputted to the comparison means.
56. The device for authenticating user's access rights to resources of claim 8, wherein
the verification device further comprises:
ninth memory means for storing a value obtained by applying a one-way function to clear data encryption of which is the challenging data stored in the seventh memory means;
sixth calculation means for outputting a value calculated by applying the one-way function to an inputted data; and
comparison means for examining whether the value stored in the ninth memory means is identical with data inputted to the comparison means, and wherein
the verification means feeds the response to the sixth calculation means, receives a result from the sixth calculation means, feeds the result to the comparison means and receives an answer from the comparison means, and thereby the verification means verifies the legitimacy of the response if and only if the received answer shows that the result of the calculation by the sixth calculation means is identical with the data stored in the ninth memory means.
57. The device for authenticating user's access rights to resources of claim 19, wherein
the verification device further comprises:
ninth memory means for storing a value obtained by applying a one-way function to clear data encryption of which is a seed for the challenging data stored in the seventh memory means;
sixth calculation means for outputting a value calculated by applying the one-way function to inputted data, and comparison means for examining whether the value stored in the ninth memory means is identical with data inputted to the comparison means, and wherein
the verification means feeds the de-randomized value of the response to the sixth calculation means, receives a result from the sixth calculation means, feeds the result to the comparison means and receives an answer from the comparison means, and thereby the verification means verifies the legitimacy of the response if and only if the received answer shows that the result of the calculation by the sixth calculation means is identical with the data stored in the ninth memory means.
58. The device for authenticating user's access rights to resources of claim 8, wherein
the verification device further comprises:
program execution means for executing code of a program encryption of which is the challenging data stored in the seventh memory means, and wherein
the verification means feeds the response stored in the fifth memory means as program code to the program execution means, and
the program execution means correctly functions if and only if the response generation means correctly decrypts the challenging data which is an encryption of the code of the program, that is, the encryption of the program is correctly decrypted.
59. The device for authenticating user's access rights to resources of claim 19, wherein
the verification device further comprises:
program execution means for executing code of a program encryption of which is the seed for challenging data stored in the seventh memory means, and wherein
the verification means feeds the de-randomized value of the response stored in the fifth memory means as program code to the program execution means, and
the program execution means correctly functions if and only if the response generation means correctly decrypts the seed for challenging data which is an encryption of the code of the program, that is, the encryption of the program is correctly decrypted.
60. The device for authenticating user's access rights to resources of claim 8, wherein
the verification device further comprises:
program execution means;
program storing means; and
program decryption means, and wherein
the program storing means stores code of a program a part or all of which is encrypted,
an encryption of the decryption key for the partial or whole encrypted program code is the challenging data stored in the seventh memory means,
the verification means feeds the response to the program decryption means,
the program decryption means decrypts the program stored in the program storing means with the response as a decryption key, and
the program execution means correctly executes the decrypted program if and only if the response generation means correctly decrypts the challenging data, that is, the decryption key for decrypting the encryption of the program is correctly decrypted.
61. The device for authenticating user's access rights to resources of claim 19, wherein
the verification device further comprises:
program execution means;
program storing means; and
program decryption means, and wherein
the program storing means stores code of a program a part or all of which is encrypted,
an encryption of the decryption key for the partial or whole encrypted program code is the seed for challenging data stored in the seventh memory means,
the verification means feeds the de-randomized value of the response to the program decryption means,
the program decryption means decrypts the program stored in the program storing means with the response as a decryption key, and
the program execution means correctly executes the decrypted program if and only if the response generation means correctly decrypts the seed for the challenging data, that is, the decryption key for decrypting the encryption of the program is correctly decrypted.
62. The device for authenticating user's access rights to resources of claim 17, wherein
the proving device and the verification device are installed in a box material, and
the verification device transfers the challenging data stored in the fourth memory means to the first memory means of the proving device and the proving device transfers the response generated by the response generation means to the fifth memory means of the verification device without using a communication network outside of the box material.
0. 63. A method for authenticating user's access rights to resources by verifying the legitimacy of a response generated from challenging data for proving the user's access rights, comprising:
a step for storing the challenging data;
a step for storing unique identifying information of the user;
a step for storing proof support information which is a result of predetermined computations to the unique identifying information of the user and unique security characteristic information;
a step for generating a response by executing predetermined computations to the challenging data, the unique identifying information of the user and the proof support information; and
a step for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation.
0. 64. A computer program product for use with a computer, the computer program product comprising:
a computer usable medium having computer readable program code means embodied in the medium for causing the computer to authenticate user's access rights to resources by verifying the legitimacy of a response generated from challenging data for proving the user's access rights, the computer program product having:
computer readable program code means for causing the computer to store the challenging data;
computer readable program code means for causing the computer to store unique identifying information of the user;
computer readable program code means for causing the computer to store proof support information which is a result of predetermined computations to the unique identifying information of the user and unique security characteristic information;
computer readable program code means for causing the computer to generate a response by executing a predetermined computations to the challenging data, the unique identifying information of the user and the proof support information; and
computer readable program code means for causing the computer to verify the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation.
0. 65. A computer program product for use with a computer, the computer program product comprising:
a computer usable medium having computer readable program code means embodied in the medium for causing the computer to generate a response from challenging data, the legitimacy of which is to be verified for authenticating user's access rights, the computer program product having:
computer readable program code means for causing the computer to store the challenging data;
computer readable program code means for causing the computer to store unique identifying information of the user;
computer readable program code means for causing the computer to store proof support information which is a result of predetermined computations to the unique identifying information of the user and unique security characteristic information; and
computer readable program code means for causing the computer to generate a response by executing predetermined computations to the challenging data, the unique identifying information of the user and the proof support information.
0. 66. A program execution control device for authenticating user's access rights to resources by verifying the legitimacy of a response generated from challenging data for proving the user's access rights and controlling execution of a program based on the authentication of the user's access rights, comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of predetermined computations to the unique identifying information of the user and unique security characteristic information of the device;
response generation means for generating a response by executing predetermined computations to the challenging data, the unique identifying information of the user and the proof support information;
verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information satisfy a specific predefined relation; and
continuation means for continuing execution of the program if the legitimacy of the response is verified.
0. 67. An information processing apparatus for authenticating user's access rights to specific information processing resources by verifying the legitimacy of a response generated for proving the user's access rights and permitting access to the specific information processing resources, comprising:
first memory means for storing challenging data;
second memory means for storing unique identifying information of the user;
third memory means for storing proof support information which is a result of predetermined computations to the unique identifying information of the user and unique security characteristic information;
response generation means for generating a response by executing predetermined computations to the challenging data, the unique identifying information of the user and the proof support information;
verification means for verifying the legitimacy of the response by verifying that tho response, the challenging data and the unique security characteristic information satisfy a specific predefined relation; and
permission means for permitting access to the specific information processing resources if the legitimacy of the response is verified.

This is a Continuation-in-Part of Application Ser. No. 08/731,928, filed Oct. 18, 1996, now abandoned.

1. Field of the Invention

The present invention relates to a device for authenticating user's access rights to resources.

2. Discussion of the Related Art

Program execution control technologies are known in the field to which the present invention belongs. The program execution control technologies are technologies to:

By using these technologies, execution of the application program is enabled only for proper users having the authentication key. The technologies are commercialized in the software marketing field, two examples being Sentine/SuparPro (trade mark) from Rainbow Technologies, Inc. and HASP (trade mark) from Aladdin Knowledge Systems, Ltd.

In the use of program execution control technologies, a user who executes software possesses an authentication key as user identification information. The authentication key is a key for encryption and is distributed to the user by a party who allows use of software, a software vender, for example. The authentication key is securely sealed in a memory, or the like, of hardware to prevent duplication, and is delivered to the user using physical means such as the postal service. The user mounts personal computer/workstation using a designated method. When the user starts up the application program and when the execution of the program reaches the user authentication routine, the program communicates with the hardware in which the authentication key of the user is embedded. Based on the results of the communication, the program identifies the authentication key, and moves the execution to the following step upon confirmation of existence of the correct authentication key. If the communication fails and the verification of the existence of the authentication key is not established, the program stops automatically, discontinuing the execution of subsequent steps.

Identification of the authentication key by the user authentication routine is executed according to the following protocol, for example:

Otherwise, a user who does not possess the correct authentication key may be able to execute the program by recording once the content of communication during the normal execution process, and by responding to the application program according to the recording each time the subsequent program is executed. Such improper execution of the application program by replaying the communication content is called a replay attack.

In order to prevent a replay attack, in general, a random number is generated and used for each communication as the number to be transmitted to the hardware in which the key is embedded.

The present invention has been made in view of the above circumstances and has an object to provide a device for authenticating user's access rights to resources and its method which set both users and the protecting side such as application providers free from inconveniences caused by handling of large amount of unique information, for example, a lot of authentication keys, and thereby user's access rights are easily and simply authenticated when the execution control of the program, privacy protection of electronic mails, access control of files or computer resources and so forth are carried out.

Additional objects and advantages of the invention will be set forth in part in the description which follows and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims. To achieve the objects and in accordance with the purpose of the invention, as embodied and broadly described herein, one aspect of a device for authenticating user's access rights to resources of the present invention comprises first memory means for storing challenging data, second memory means for storing unique identifying information of the user, third memory means for storing proof support information which is a result of executing predetermined computations to the user unique identifying information and unique security characteristic information of the device, response generation means for generating a response from the challenging data stored in the first memory means, the unique identifying information stored in the second memory means and the proof support information stored in the third memory means, and verification means for verifying the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information of the device satisfy a specific predefined relation.

With the above constitution, the unique security characteristic information of the device assigned to the protecting side and the unique identifying information of the user are made to be independent of each other. The information on actual access rights is represented as proof support information (i.e., an access ticket). The user has the user unique identifying information in advance, and on the other hand, a protector, such as a program creator prepares the unique security characteristic information, or the counterpart of the unique security characteristic information in terms of the public key cryptography, independent of the user unique identifying information held by the user. An access ticket is generated based on the user unique identifying information and the unique security characteristic information used in creation of the application program or the like. Access tickets are distributed to the users, whereby authentication of the user's access rights to resources such as execution control can be performed. Thus complexity occurring in the case where both sides of user and protector use the same information for performing authentication can be avoided.

Moreover, in the above constitution, at least the second memory means and the response generation means may be confined in the protect means which prevents any data inside from being observed or being tampered with from the outside. It may also be possible to implement at least the second memory means and the response generation means within a small portable device such as a smart card.

The response generating means may comprise first calculation means and second calculation means, wherein the first calculation means executes predetermined calculations to the user unique identifying information stored in the second memory means and the proof support information stored in the third memory means to obtain the unique security characteristic information as a result, and the second calculation means executes predetermined calculations to the challenging data stored in the first memory means and the unique security characteristic information calculated by the first calculation means to generate the response as a result of calculation.

The above-described response generation means may comprise third calculation means, fourth calculation means and fifth calculation means. The third calculation means executes predetermined calculations to the challenging data stored in the first memory means and the proof support information stored in the third memory means, the fourth calculation means executes predetermined calculations to the challenging data stored in the first memory means and the user unique identifying information stored in the second memory means, and the fifth calculation means executes predetermined calculations to the results of calculation by the third and fourth calculation means, whereby the response is generated. In this case, at least the second memory means and the fourth calculation means can be confined within the protect means which prevents any data inside from being observed or being tampered with from the outside. At least the second memory means and the fourth calculation means may be implemented within a small portable device such as a smart card.

The accompanying drawings, which are incorporated in and constitute a part of this specification illustrate embodiment of the invention and, together with the description, serve to explain the objects, advantages and principles of the invention. In the drawings:

FIG. 1 is a block diagram showing an example of the fundamental constitution of the present invention;

FIG. 2 is a block diagram showing an example of the constitution of the present invention in case that an entire device is implemented within a single PC;

FIG. 3 is a block diagram showing the constitution of a first embodiment of a device for authenticating user's access rights to resources according to the present invention;

FIG. 4 is a flow chart showing functions of means constituting the devices of the first embodiment;

FIG. 5 is a block diagram showing the constitutions of a verification device and a proving device of a second embodiment of the device for authenticating user's access rights to resources according to the present invention;

FIG. 6 is a flow chart showing functions of means constituting the verification device of the second embodiment;

FIG. 7 is a block diagram showing a constitutional example of execution means of the verification means of the second embodiment;

FIG. 8 is a flow chart showing functions of the constitutional example of the execution means shown in FIG. 7;

FIG. 9 is a block diagram showing a second constitutional example of execution means of the verification means of the second embodiment;

FIG. 10 is a flow chart showing functions of the constitutional example of the execution means shown in FIG. 9;

FIG. 11 is a block diagram showing a third constitutional example of execution means of the verification means of the second embodiment;

FIG. 12 is a flow chart showing functions of the constitutional example of the execution means shown in FIG. 11;

FIG. 13 is a block diagram showing a fourth constitutional example of execution means of the verification means of the second embodiment;

FIG. 14 is a flow chart showing functions of the constitutional example of the execution means shown in FIG. 13;

FIG. 15 is a block diagram showing the constitution of a proving device of a third embodiment of the device for authenticating user's access rights to resources according to the present invention;

FIG. 16 is a flow chart showing functions of means constituting the proving device of the third embodiment;

FIG. 17 is a block diagram showing a constitutional example of a fourth embodiment of the device for authenticating user's access rights to resources according to the present invention;

FIG. 18 is a block diagram showing another constitutional example of the fourth embodiment;

FIG. 19 is a flow chart showing functions of means of the constitutional example shown in FIG. 17;

FIG. 20 is a block diagram showing the constitution of a fifth embodiment of the device for authenticating user's access rights to resources according to the present invention;

FIG. 21 is a flow chart showing functions of means constituting a verification device of the fifth embodiment;

FIG. 22 is a block diagram showing the constitution of a sixth embodiment of the device for authenticating user's access rights to resources according to the present invention;

FIG. 23 is a flow chart showing functions of means constituting devices of the sixth embodiment;

FIG. 24 is a block diagram showing the constitution of a seventh embodiment of the device for authenticating user's access rights to resources according to the present invention;

FIG. 25 is a flow chart showing functions of means constituting devices of the seventh embodiment; and

FIG. 26 is a block diagram showing a part of constitution of a proving device of ninth and tenth embodiments of the device for authenticating user's access rights to resources according to the present invention.

At first, an example of the fundamental constitution of the present invention is described. The user authentication system of the example can be applied to privacy protection of electronic mails or control of access to files or computer resources as well a s control of execution of applications.

In FIG. 1, the user authentication system comprises a verification device 10 and a proving device 11: the proving device 111 receives an access ticket (proof support data) from an access ticket generation device 12; the verification device 10 executes a verification routine 15; the proving device 11 retains user identifying information 16 and the access ticket 13 and executes a response generation program 17.

The access ticket generation device 12 is installed in the protector side, such as an application provider. The access ticket generation device 12 generates the access ticket 13 based on unique security characteristic information of the device 14 and the user identifying information 16 and the access ticket 13 is forwarded to the user through communication or sending of a floppy-diskette or the like to be retained by the proving device 11 of the user. Then the verification devices 10 sends challenging data 18 to the proving device 11. The proving deice 181 generates a response 19 by utilizing the access ticket 13 and the user identifying information 16, and returns it to the verification device 10. The verification device 10 verifies the legitimacy of the response based on the challenging data, that is, the verification device 10 verifies that the response has been generated based on the challenging data and the unique security characteristic information of the device.

If the legitimacy of the response is verified, the access rights of the user is authenticated; accordingly, continuation of execution of a program, access to files, and so forth, are permitted.

With the above constitution, an example of execution control of an application program is now described.

In the above constitution, a user of an application program retains only one piece of user identifying information 16. The user identifying information is equivalent to a password in the password authentication and is unique, significant information which identifies the user. If it is possible for the user to copy and distribute the user identifying information 16, it will lead to the use of the application program by the user without legitimate access rights; therefore, the user identifying information 16 is protected by protection means so that even the user who is a legitimate owner of the user identifying information 16 cannot steal it. The protection means may be a hardware with a protecting effect (hereinafter referred to as tamper-resistant hardware) against theft of the inside conditions by external probes. A method of implementation of the tamper-resistant hardware will be described later.

In addition to the user identifying information 16, the response generation program 17 which executes predetermined computations is provided to the user. The program 17 performs communication with a user authentication routine (verification routine 15): on receiving two parameters, namely, the user identifying information 16 and the access ticket 13, the program 17 executes computations to arbitrary inputted values to generate the response 19 for identifying the user. The user identifying information 16 is used in the course of the computation, and it is required to protect at least a part of the program 17 by the protection means since leakage of the user identifying information 16 to the outside will cause a problem by the above-described reason.

Hereinafter, memory means for storing the user identifying information and a part of the program which are protected by the protection means, device for executing the part of the program (for example, consisting of a memory and a MPU) and the protection means are integrally referred to as token (shown by the reference numeral 20 in FIG. 1). The token may have portability, like a smart card.

Similar to the conventional execution control technologies, the verification routine 15 is set to the application program. The verification routine 15 is same as that of the conventional technologies in that it communicates with the response generation program 17 retained by the user, and continues execution of the program if and only if a returned result (response 18) is correct. Therefore, it is necessary that the program creator knows the method of computing the combination of transferred data (challenging data 18) and correct returned data corresponding thereto (response 19).

Some examples of functions of the verification routine 15 are explained as follows:

In the case where the returned data is assumed to be a result of encryption of the transferred data in accordance with a predetermined encryption algorithm, the unique security characteristic information of the device is an encryption key.

2. Data to be transferred (challenging data 18) and data generated by applying a one-way function to expected returned data (expected value) are embedded in the verification routine 15. The verification routine 15 fetches the data to be transferred and transfers it to the user, and receives the returned data from the user. Then the verification routine 15 compares data generated by applying the one-way function to the returned data from the user with the expected value: if they are identical with each other, the verification routine 15 executes the next step of the program; if they are not identical, the verification routine 15 halts the execution of the program.

In the case where the returned data is assumed to be a result of encryption of the transferred data in accordance with a predetermined encryption algorithm, the unique security characteristic information of the device is an encryption key.

3. Protection is provided by encrypting a part of code of the application program in accordance with a predetermined encryption algorithm so that execution of the program may be impossible. The verification routine 15 transfers the encrypted code to the user and receives returned data from the user, and then replace the received value with the encrypted code.

With this constitution, execution of the program may be possible if and only if the returned data is a correct decryption of the encrypted code. In this case, the unique security characteristic information is a decryption key for decrypting the encrypted code.

4. Protection is provided by encrypting a part of code of the application program in accordance with a predetermined encryption algorithm so that execution of the program may be impossible. Moreover, data generated by encrypting a decryption key paired with the encryption key used for encrypting the code is embedded as transferred data in the verification routine 15. The verification routine 15 transfers the encrypted decryption key to the user and receives returned data from the user, and then decrypts the encrypted code with the value of the received data as a decryption key.

With this constitution, the encrypted code is correctly decrypted if and only if the returned data is a decryption key which has been correctly decrypted, and accordingly execution of the program becomes possible. In this case, the unique security characteristic information of the device is a decryption key for decrypting the encrypted decryption key.

In the conventional execution control technologies, the user identifying information (authentication key of the user) is identical with the unique security characteristic information of the device. The conventional response generation routine receives the unique security characteristic information and the data transferred from the verification routine as the input, and then executes computations thereto for generating data to be returned.

By contrast, the present invention is characterized in that the user identifying information 16 and the unique security characteristic information of the device 14 are independent of each other. In this constitutional example, the response generation program 17 adds the access ticket 13 to the user identifying information 16 and the data transferred from the verification routine 15 (challenging data 18) as the input, and then executes predetermined computations to them for generating the data to be returned (response 19). The constitution has the following properties:

1. The access ticket 13 is the data calculated based on the specific user identifying information 16 and the unique security characteristic information of the device.

2. At least from the viewpoint of the computation amount, it is impossible to calculate the unique security characteristic information from the access ticket 13 without knowing the user identifying information 16.

3. The response generation program 17 executes computations for generating correct data to be returned if and only if a correct combination of the user identifying information 16 and the access ticket 13. Note that the access ticket 13 has been calculated based on the user identifying information 16.

With the constitution described so far, the execution control can be carried out by the following steps: the user has the user identifying information 16 in advance; the program creator prepares the application program independent of the user identifying information 16 retained by the user; and the program creator generates the access ticket 13 based on the user identifying information 16 and the unique security characteristic information of the device 16 used in creating the application program and distributes the access ticket 13 to the user.

It may be possible to constitute the user identifying information 16 by two pieces of user identifying information for distinguishing the information used for preparing the access ticket 13 from the information used in a communication program by the user. In the most representative example, the user identifying information 16 is made to be a public key pair: the public key is published to be used for generating the access ticket; and the individual key is confined within the token 20 as user's individual secret information. In this case, it is possible to calculate the access ticket 13 while the user identifying information 16 is kept secret by calculating the access ticket 13 from the unique security characteristic information 14 and the public key of the public key pair.

In a first embodiment, an access ticket t is defined as the relation (1).
t=D−e+ωφ(n)  (1)

In the following bulleted paragraphs, symbols used in the above relation are described.

Among the above numbers, t, E and n can be open to public without any risk, while the rest of the numbers, namely D, e, ω, p, q and φ(n), are to be kept secret to everybody but those who are allowed to generate an access ticket. FIG. 3 depicts the constitution of the first embodiment. A verification device 10 comprises the followings: an access ticket public key storing means 101; a random number generation means 102; a random number storing means 103; a response storing means 105; a verification means 106; an execution means 107; and an error trapping means 108. On the other hand, a proving device 11 comprises the followings: a challenging data storing means 111; a first calculation means 112; an access ticket storing means 113; a second calculation means 114; a user identifying information storing means 115; and a response generation means 116.

By the following numbered paragraphs, the function of the means constituting the devices will be described.

A second embodiment to be described is the same as the first embodiment regarding the definition of an access ticket t and the function of the proving device. However, the verification device works differently. The difference in the roles between challenging data C and a response R causes the difference in the function between the two embodiments: in the first embodiment, a response R is encryption of a random challenging data C; in the second embodiment, a response R will be decryption of challenging data C which is encryption of some other meaningful data.

FIG. 5 depicts the constitution of devices of the second embodiment, and FIG. 6 depicts flow of data. A verification device 10 comprises the following means: an access ticket public key storing means 101; a random number generation means 102; a random number storing means 103; a response storing means 105; a randomizing means 121; a challenge seed storing means 122; a de-randomizing means 123; and an execution means 310. A proving device 11 comprises the following means: a challenging data storing means 111; a first calculation means 102; an access ticket storing means 113; a second calculation means 114; a user identifying information storing means 115; and a response generation means 116.

By the following numbered paragraphs, the function of the means constituting the devices will be described step by step.

The following paragraphs describes several examples of implementation of the execution means 310.

In a third embodiment, the definition of an access ticket is given as the relation (16).
t=D+F(n, e)   (16)
The following bulleted paragraphs illustrate the symbols appearing in the relation (16).

FIGS. 15 and 16 are for depicting this embodiment: FIG. 15 depicts the constitution of the devices of this embodiment; FIG. 16 depicts flow of data. In FIG. 15, a proving device 11 comprises a challenging data storing means 111, a first calculation means 112, an access ticket storing means 113, a second calculation means 114, a user identifying information storing means 115, a response generation means 116, and an exponent generation means 130. A verification device 10 in this embodiment may be identical with that in any of the first embodiment (shown in FIG. 3) or the second embodiment (shown in FIG. 5).

By the following numbered paragraphs, the function of the means constituting the devices will be described step by step.

In a fourth embodiment, a proving device 11 comprises a computer program executed on a user's PC or workstation, a smart card or PC card (PCMCIA card) attachable to the user's PC or workstation, and a program executed on this smart card or PC card.

As is obvious from the explanation of the former three embodiments, a user identifying information e, stored in a user identifying information storing means 115, must be kept secret to others. Furthermore, observing process of execution of a second calculation means 114, which needs e as an input to itself, may lead to leak of e. The same situation applies to an exponent generation means 130. Consequently, in practical use, the user identifying information storing means 115, the second calculation means 114 and the exponent generation means 130 should be protected by some means against attempts to pry out some crucial secret out of them.

One solution is confining the crucial part of the proving device 11 within hardware equipped with function to prevent its inside from being observed or tampered with by unauthorized means. Generally, such hardware is called tamper-resistant hardware.

In creating the tamper-resistant hardware, it is possible to use the technology disclosed in Japanese Laid-open Patent Publication 5-75135, Japanese Laid-open Patent Publication 5-68727 or Japanese Laid-Open Patent Publication 3-100753, for example. In Japanese Laid-open Patent Publication 5-75135, an enclosure composed of a plurality of cards having multi-layered conductive patterns is provided surrounding an information memory medium. Memory information is destroyed when the conductive pattern which is detected differs from an expected pattern.

In Japanese Laid-Open Patent Publication 5-68727, a detection circuit composed of an integration circuit or the like is provided surrounding an information memory medium in addition to a conductive winding being formed, and through this, when there is infiltration to the electronic circuit region, fluctuations in electromagnetic energy are detected and memory information is destroyed.

In Japanese Laid-Open Patent Publication 3-100753, an optical detector is provided within hardware, and the optical detector detects external light which enters when a force is applied which destroys the hardware or punctures the hardware, and a memory destruction device resets memory information.

Further, choosing tamper-resistant hardware with portability such as a smart card or PC card may provide users with additional merits. Among information dealt with by a proving device 11, only an access ticket and a user identifying information are unique to an individual user. Hence, for example, it may be useful to confine a user identifying information storing means 115, access ticket storing means 113, a second calculation means 114 and exponent generation means 130 within a smart card or PC card, and implement the rest of the proving device 10 as a program to be executed on an arbitrary PC or workstation: a user can use an arbitrary PC or workstation, assuming that the program is installed on it, as his/her proving device only by inserting his/her own smart card or PC card into the computer.

FIG. 17 depicts constitution of a proving device 11 of the first and second embodiments when a user identifying information storing means 115 and a second calculation means 115 are confined within a smart card.

FIG. 18 depicts constitution of a proving device 11 of the third embodiment when a exponent generation means 130 in addition to a user identifying information storing means 115 and a second calculation means 115 is confined within a smart card.

For both FIGS. 17 and 18, a card-side I/F means 141 within a smart card is an interface to a host computer for communication between a host computer and the smart card. More practically, the card-side I/F means 141 comprises buffer memory and a communication program.

A host-side I/F means 140, which is a part of a host computer, is the counter part of the card-side I/F means 141. Both I/F means, cooperating with each other, transfer messages from the host computer to the smart card, and vice versa.

The following numbered paragraphs describe the function of the means constituting the devices.

In this embodiment, it is possible to calculate the intermediate result R′ and the differential S concurrently, because the former is calculated within the host computer and the latter is within the smart card. Obviously, this concurrent calculation reduces the total time which the proving device 11 needs for calculating a response to a received challenging data.

Further, in this embodiment, the access ticket storing means 113 may retain more than one access tickets, and the access ticket searching means 142 retrieves an appropriate access ticket using a modulus issued by the verification device 10 as a key for retrieval. Basically, different verification device, which may be embedded within a different application program or server program, should assume a different modulus. Therefore, a user who want to access to more than one application programs or server programs is obliged to have a number of access tickets.

The stated function of the access ticket searching means 142 would release a user from paraphernalia of selecting a correct access ticket by himself.

In a fifth embodiment, the Pohlig-Hellman asymmetric key cryptography is used instead of the RSA public key cryptography.

In this embodiment, the definition of an access ticket t is given as the relation (30).
t=D+F(p, e)   (30)

The following bulleted paragraphs illustrate the symbols appearing in the relation (30).

FIGS. 20 and 21 are for depicting this embodiment: FIG. 20 depicts the constitution of the devices of this embodiment; FIG. 21 depicts flow of data. In FIG. 20, a proving device 41 comprises the following means: a challenging data storing means 411; a first calculation means 412; an access ticket storing means 413; a second calculation means 414; a user identifying information storing means 415; a response generation means 416; and an exponent generation means 430. On the other hand, a verification device 40 comprises the following means: a key storing means 401; a random number generation means 402; a random number storing means 403; a response storing means 405; a randomizing means 421; a challenging seed storing means 422; a de-randomizing means 423; and an execution means 310.

By the following numbered paragraphs, the function of the means constituting the devices will be described step by step.

A sixth embodiment is substantially similar to the third embodiment except that the ElGamal public key cryptography is used this time instead of the RSA public key cryptography.

In this embodiment, the definition of an access ticket t is given as the relation (42).
t=X+F(p, e)   (42)

The following bulleted paragraphs illustrate the symbols appearing in the relation (42).

FIGS. 22 and 23 are for depicting this embodiment: FIG. 22 depicts the constitution of the devices; of this embodiment; FIG. 23 depicts flow of data. In FIG. 22, a proving device 51 comprises the following means: a challenging data storing means 511; a first calculation means 512; an access ticket storing means 513; a second calculation means 514; a user identifying information storing means 515; a response generation means 516; and an exponent generation means 530. On the other hand, a verification device 50 comprises the following means: an access ticket public key storing means 501; a random number generation means 502; a random number storing means 503; a response storing means 505; a randomizing means 521; a challenge seed storing means 522; a de-randomizing means 523; and an execution means 310.

By the following numbered paragraphs, the function of the means constituting the devices will be described step by step.

The straightforward implementation of the above constitution would involve the following problem: use of a common pair of seeds for challenging data (u, C′) for more than one occurrences of authentication allows an attacker to construct a device which emulates the proving device 11 without the user identifying information or the access ticket. To construct such an emulator, H=RC−1 mod p is recorded first where C is the challenging data at the first occurrence of authentication and R is the response to C calculated by the proving device 11. The emulator retains this H instead of the user identifying information e and the access ticket t, and on arbitrary input (u, C) issued by the verification device 10, returns to a response R calculated according to the relation R=HC mod p. Thus, the verification device 10 should have pair of seeds (u′, C′) as many as necessary, and should use distinct pair for distinct occurrence of authentication (Note that k for u=Gz mod p is a random number).

A seventh embodiment exploits the ElGamal signature rather than the RSA public key cryptography in the first three embodiments or the ElGamal public key cryptography in the sixth embodiment.

In this embodiment, the definition of an access ticket t is given as the relation (56).
t=X+F(p, e)   (56)

The following bulleted paragraphs illustrate the symbols appearing in the relation (56).

FIGS. 24 and 25 are for depicting this embodiment: FIG. 24 depicts the constitution of the devices of this embodiment; FIG. 25 depicts flow of data. In FIG. 24, a proving device 61 comprises the following means: a challenging data storing means 611; a random number generation means 612; a first calculation means 613; a second calculation means 614; an access ticket storing means 615; and a user identifying information storing means 616. On the other hand, verification device 60 comprises the following means: an access ticket public key storing means 601; a random number generation means 602; a random number storing means 603; a response storing means 605; a verification means 606; a execution means 607; and an error trapping means 608.

By the following numbered paragraphs, the function of the means constituting the devices will be described step by step.

An eighth embodiment provides an example of specification for ways how to generate access tickets safely.

In any case of the previous embodiments, access tickets are calculated as output of a predefined function on input of specific secret information, namely user identifying information and access ticket secret keys. Since leak of that secret information threatens the safety of the entire scheme of authentication, a safe device may be necessary in generating access tickets. Such a device is required to provide the function which absolutely prevents leakage of the secret information contained within it or results of calculations carried out within it.

One of the simplest ways to constitute such a safe device is to implement services of generating and issuing access ticket to users on an isolated computer kept safe from any attempts at illegal accesses by users: in order to protect that server computer against physical accesses by users, the computer should be placed in a room entry into which is severely controlled; further, if the server computer is networked with users' PCs and access tickets are issued to users on network, the threat of attacks via network should be taken into account; in protecting the server computer from those network attacks, the firewall technology (for details see “Building Internet Firewalls” by D. Brent Chapman and Elizabeth D. Zwicky, O'Reilly & Associates, Inc.) may be useful.

As shown in the previous embodiments, an access ticket is generated so that only the user to whom the ticket is issued can use it. Speaking more accurately, a user may succeed in authentication procedure between a verification device and a proving device if and only if he is able to feed to the proving device both an access ticket and user identifying information based on which the access ticket has been generated.

Moreover, access tickets stated in the previous embodiments satisfy a stricter standard of safety: there is no way to forge an access ticket or to construct a device which em emulates the proving device even though an attacker is assumed to be able to collect an arbitrary number of access tickets issued by legitimate access ticket issuers.

The fact that access ticket satisfies the above standard implies that access tickets are safe enough to be conveyed to users by relatively insecure means like electronic mails on Internet.

A ninth embodiment uses a composition method for an access ticket and user identifying information differing from those of the previous embodiments this method is different from those of the previous embodiments in that the public information associated with user identifying information is used instead of the user identifying information itself in generating an access ticket.

Therefore, according to the method stated below, a safe access ticket issuing server stated in the eighth embodiment is not necessary: a user is allowed to generate an access ticket with a program executed on his own PC or workstation. That program doesn't contain any secret information or any secret algorithm.

The identifying information of a user U is the private key du of an RSA public key pair. By (eu, nu), the public key corresponding to the private key du is denoted. Hence, nu=puqu for two distinct large prime numbers pu and qu, and du and eu are integers determined so as to satisfy the relations (64).
1≦du<(pu−1)(qu−1)
1≦eu<(pu−1)(qu−1)   (64)

eudu=1 mod (pu−1)(qu−1)

Hereafter, the condition that nu is at least as large as a constant N common to all users is further assumed.

An access ticket for a user U is composed as follows: the public key (E, n) of an RSA public key pair is taken to be the public key of the access ticket to be generated; the private key D which is paired with this public key (E, n) is taken to be the secret key of the access ticket; when the prime factorization of n is n=pq, the relations 65 is established; finally, the access ticket tu is defined by the relation (66).
1≦D<N   (65)
DE=1 mod (p−1)(q−1)
tU=DeU mod nu   (66)

In the above composition, the unique security characteristic information for authentication process is the private key D. Same as the cases in the previous embodiments, a user succeeds in authentication procedures if and only if he is able to prove that he has means to calculate a right response to challenging data issued to him by a verification device: the calculated response is right only when it is calculated based on the unique security characteristic information D.

The composition method presented in this embodiment is characterized by the property that an access ticket is encryption of the unique security characteristic information D and the user identifying information is the unique decryption key to obtain D from the access ticket. In addition, since the user identifying information is the private key of an RSA key pair, anybody who is allowed to know the public key paired with the private key can generate an access ticket for the user at will.

Hereafter, the device composition and operation of the proving device 71 are described with reference to FIG. 26.

1. A verification device 10 sends challenging data C to a challenging data storing means 711 of a proving device 11.

2. A decryption key generation means 712 of the proving device 11 acquires user identifying information du which is stored in a user identifying information storing means 715 and an access ticket tu which is stored in an access ticket storing means 713, and then calculates D′ according to the relation (67).
D′=tudu mod nu   (67)

3. On input of D′ calculated by the decryption key generation means 712 and the challenging data C stored in the challenging data storing means 711, a response generation means 714 of the proving device 71 calculates a response R according to the relation (68). The calculated response R is returned to the verification device 10.
R=CD′ mod n   (68)

4. The verification device 10 verifies the legitimacy of the response R.

The access ticket secret key D in the definition of the access ticket tu=Deu mod nu must be kept secret to the user U. Therefore, the user identifying information storing means 713, the decryption key generation means 712 and the response generation means 714 are to be incorporated in a defense means 760 which is a tamper-resistant hardware.

The same as the cases of the previous embodiments, the verification device authenticates access rights of the user if and only if he has the right pair of the ticket tu and the user identifying information e.

A tenth embodiment is substantially the same as the ninth embodiment, except that a response R is calculated using a symmetric key cipher instead of using the RSA public key cryptography as in the ninth embodiment and an access ticket is RSA-encryption of the decryption key (same as the encryption key) D of the symmetric key cipher. As the encryption key to generate the access ticket, the public key (eu, nu) and the RSA algorithm is used.

When the encryption function of the symmetric key encryption is expressed as Encrypt (key, plain message: the output of this function being the cipher message of the plain message which is the second argument of the function) and the decryption function is expressed as Decrypt (key, cipher message: the output being the plain message corresponding to the cipher message which is the second argument of the function), the challenging data C is defined by relation (69).
C=Encrypt (D, K)   (69)

Furthermore, the access ticket tu is defined by the relation (70).
tu=Deu mod nu   (70)

Hereafter, the operation of the proving device 11 is described with reference to FIG. 26.

1. A verification device 10 sends challenging data C to a challenging data storing means 711.

2. A decryption key generation means 712 of the proving device 11 acquires user identifying information du which is stored in a user identifying information storing means 715 and an access ticket tu which is stored in an access ticket storing means 713, and then calculates D′ according to the relation (71).
D′=tudu mod nu   (71)

3. On input of D′ calculated by the decryption key generation means 712 and the challenging data C stored in the challenging data storing means 711, a response generation means 714 of the proving device 11 calculates a response R according to the relation (72). The calculated response R is sent back to the verification device 10.
R=Decrypt (D′C)   (72)

4. The verification device 10 verifies the legitimacy of the response R.

The foregoing description of preferred embodiments of this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiments were chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents.

Kobayashi, Kenichi, Shin, Kil-Ho, Aratani, Toru

Patent Priority Assignee Title
10506426, Jul 19 2019 Capital One Services, LLC Techniques for call authentication
10510074, Feb 01 2019 Capital One Services, LLC One-tap payment using a contactless card
10511443, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10516447, Jun 17 2019 Capital One Services, LLC Dynamic power levels in NFC card communications
10521790, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10524127, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10535062, Mar 20 2019 Capital One Services, LLC Using a contactless card to securely share personal data stored in a blockchain
10541995, Jul 23 2019 Capital One Services, LLC First factor contactless card authentication system and method
10542036, Oct 02 2018 Capital One Services, LLC Systems and methods for signaling an attack on contactless cards
10546444, Jun 21 2018 Capital One Services, LLC Systems and methods for secure read-only authentication
10554411, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10565587, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10579998, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10581611, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10582386, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10592710, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10607214, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10607216, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10615981, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10623393, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10630653, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10643420, Mar 20 2019 Capital One Services, LLC Contextual tapping engine
10657754, Dec 23 2019 Capital One Services, LLC Contactless card and personal identification system
10664831, Jul 09 2019 Capital One Services, LLC System and method enabling mobile near-field communication to update display on a payment card
10664941, Dec 24 2019 Capital One Services, LLC Steganographic image encoding of biometric template information on a card
10680824, Oct 02 2018 Capital One Services, LLC Systems and methods for inventory management using cryptographic authentication of contactless cards
10685350, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10686603, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10701560, Oct 02 2019 Capital One Services, LLC Client device authentication using contactless legacy magnetic stripe data
10713649, Jul 09 2019 Capital One Services, LLC System and method enabling mobile near-field communication to update display on a payment card
10733283, Dec 23 2019 Capital One Services, LLC Secure password generation and management using NFC and contactless smart cards
10733601, Jul 17 2019 Capital One Services, LLC Body area network facilitated authentication or payment authorization
10733645, Oct 02 2018 Capital One Services, LLC Systems and methods for establishing identity for order pick up
10748138, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10757574, Dec 26 2019 Capital One Services, LLC Multi-factor authentication providing a credential via a contactless card for secure messaging
10771253, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10771254, Oct 02 2018 Capital One Services, LLC Systems and methods for email-based card activation
10778437, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10783519, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10797882, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10832271, Jul 17 2019 Capital One Services, LLC Verified reviews using a contactless card
10841091, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10853795, Dec 24 2019 Capital One Services, LLC Secure authentication based on identity data stored in a contactless card
10860814, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10860914, Dec 31 2019 Capital One Services, LLC Contactless card and method of assembly
10861006, Apr 30 2020 Capital One Services, LLC Systems and methods for data access control using a short-range transceiver
10862540, Dec 23 2019 Capital One Services, LLC Method for mapping NFC field strength and location on mobile devices
10871958, Jul 03 2019 Capital One Services, LLC Techniques to perform applet programming
10878651, Jun 21 2018 Capital One Services, LLC Systems and methods for secure read-only authentication
10880327, Oct 02 2018 Capital One Services, LLC Systems and methods for signaling an attack on contactless cards
10885410, Dec 23 2019 Capital One Services, LLC Generating barcodes utilizing cryptographic techniques
10885514, Jul 15 2019 Capital One Services, LLC System and method for using image data to trigger contactless card transactions
10887106, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10909527, Oct 02 2018 Capital One Services, LLC Systems and methods for performing a reissue of a contactless card
10909544, Dec 26 2019 Capital One Services, LLC Accessing and utilizing multiple loyalty point accounts
10915888, Apr 30 2020 Capital One Services, LLC Contactless card with multiple rotating security keys
10949520, Oct 02 2018 Capital One Services, LLC Systems and methods for cross coupling risk analytics and one-time-passcodes
10963865, May 12 2020 Capital One Services, LLC Augmented reality card activation experience
10965465, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
10970712, Mar 21 2019 Capital One Services, LLC Delegated administration of permissions using a contactless card
10977361, May 16 2017 BEYONDTRUST SOFTWARE, INC Systems and methods for controlling privileged operations
10984416, Mar 20 2019 Capital One Services, LLC NFC mobile currency transfer
10992477, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11012435, Dec 19 2017 International Business Machines Corporation Multi factor authentication
11030339, Apr 30 2020 Capital One Services, LLC Systems and methods for data access control of personal user data using a short-range transceiver
11037136, Jan 24 2019 Capital One Services, LLC Tap to autofill card data
11038688, Dec 30 2019 Capital One Services, LLC Techniques to control applets for contactless cards
11062098, Aug 11 2020 Capital One Services, LLC Augmented reality information display and interaction via NFC based authentication
11063979, May 18 2020 Capital One Services, LLC Enabling communications between applications in a mobile operating system
11082229, Mar 18 2019 Capital One Services, LLC System and method for pre-authentication of customer support calls
11100511, May 18 2020 Capital One Services, LLC Application-based point of sale system in mobile operating systems
11102007, Oct 02 2018 Capital One Services, LLC Contactless card emulation system and method
11113685, Dec 23 2019 Capital One Services, LLC Card issuing with restricted virtual numbers
11120453, Feb 01 2019 Capital One Services, LLC Tap card to securely generate card data to copy to clipboard
11122033, Dec 19 2017 International Business Machines Corporation Multi factor authentication
11129019, Oct 02 2018 Capital One Services, LLC Systems and methods for performing transactions with contactless cards
11144915, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards using risk factors
11165586, Oct 30 2020 Capital One Services, LLC Call center web-based authentication using a contactless card
11182771, Jul 17 2019 Capital One Services, LLC System for value loading onto in-vehicle device
11182784, Oct 02 2018 Capital One Services, LLC Systems and methods for performing transactions with contactless cards
11182785, Oct 02 2018 Capital One Services, LLC Systems and methods for authorization and access to services using contactless cards
11195174, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11200563, Dec 24 2019 Capital One Services, LLC Account registration using a contactless card
11210656, Apr 13 2020 Capital One Services, LLC Determining specific terms for contactless card activation
11210664, Oct 02 2018 Capital One Services, LLC Systems and methods for amplifying the strength of cryptographic algorithms
11216799, Jan 04 2021 Capital One Services, LLC Secure generation of one-time passcodes using a contactless card
11222342, Apr 30 2020 Capital One Services, LLC Accurate images in graphical user interfaces to enable data transfer
11232272, Oct 02 2018 Capital One Services, LLC Systems and methods for contactless card applet communication
11233645, Oct 02 2018 Capital One Services, LLC Systems and methods of key selection for cryptographic authentication of contactless cards
11245438, Mar 26 2021 Capital One Services, LLC Network-enabled smart apparatus and systems and methods for activating and provisioning same
11270291, Apr 30 2020 Capital One Services, LLC Systems and methods for data access control using a short-range transceiver
11297046, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11301848, Oct 02 2018 Capital One Services, LLC Systems and methods for secure transaction approval
11321546, Oct 02 2018 Capital One Services, LLC Systems and methods data transmission using contactless cards
11336454, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11341480, Oct 02 2018 Capital One Services, LLC Systems and methods for phone-based card activation
11349667, Oct 02 2018 Capital One Services, LLC Systems and methods for inventory management using cryptographic authentication of contactless cards
11354555, May 04 2021 Capital One Services, LLC Methods, mediums, and systems for applying a display to a transaction card
11361302, Jan 11 2019 Capital One Services, LLC Systems and methods for touch screen interface interaction using a card overlay
11373169, Nov 03 2020 Capital One Services, LLC Web-based activation of contactless cards
11392933, Jul 03 2019 Capital One Services, LLC Systems and methods for providing online and hybridcard interactions
11423452, Oct 02 2018 Capital One Services, LLC Systems and methods for establishing identity for order pick up
11438164, Oct 02 2018 Capital One Services, LLC Systems and methods for email-based card activation
11438311, Oct 02 2018 Capital One Services, LLC Systems and methods for card information management
11438329, Jan 29 2021 Capital One Services, LLC Systems and methods for authenticated peer-to-peer data transfer using resource locators
11444775, Oct 02 2018 Capital One Services, LLC Systems and methods for content management using contactless cards
11455620, Dec 31 2019 Capital One Services, LLC Tapping a contactless card to a computing device to provision a virtual number
11456873, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11469898, Oct 02 2018 Capital One Services, LLC Systems and methods for message presentation using contactless cards
11482312, Oct 30 2020 Capital One Services, LLC Secure verification of medical status using a contactless card
11502844, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11521213, Jul 18 2019 Capital One Services, LLC Continuous authentication for digital services based on contactless card positioning
11521262, May 28 2019 Capital One Services, LLC NFC enhanced augmented reality information overlays
11528149, Apr 26 2019 BEYONDTRUST SOFTWARE, INC Root-level application selective configuration
11544707, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11562346, Apr 30 2020 Capital One Services, LLC Contactless card with multiple rotating security keys
11562358, Jan 28 2021 Capital One Services, LLC Systems and methods for near field contactless card communication and cryptographic authentication
11563583, Oct 02 2018 Capital One Services, LLC Systems and methods for content management using contactless cards
11610195, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11615395, Dec 23 2019 Capital One Services, LLC Authentication for third party digital wallet provisioning
11632148, Mar 26 2021 Capital One Services, LLC Network-enabled smart apparatus and systems and methods for activating and provisioning same
11637826, Feb 24 2021 Capital One Services, LLC Establishing authentication persistence
11638148, Oct 02 2019 Capital One Services, LLC Client device authentication using contactless legacy magnetic stripe data
11651361, Dec 23 2019 Capital One Services, LLC Secure authentication based on passport data stored in a contactless card
11658997, Oct 02 2018 Capital One Services, LLC Systems and methods for signaling an attack on contactless cards
11682012, Jan 27 2021 Capital One Services, LLC Contactless delivery systems and methods
11687930, Jan 28 2021 Capital One Services, LLC Systems and methods for authentication of access tokens
11694187, Jul 03 2019 Capital One Services, LLC Constraining transactional capabilities for contactless cards
11699047, Oct 02 2018 Capital One Services, LLC Systems and methods for contactless card applet communication
11700036, Mar 26 2021 Capital One Services, LLC Network-enabled smart apparatus and systems and methods for activating and provisioning same
11728994, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11770254, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11777933, Feb 03 2021 Capital One Services, LLC URL-based authentication for payment cards
11784820, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11790187, Oct 02 2018 Capital One Services, LLC Systems and methods for data transmission using contactless cards
11792001, Jan 28 2021 Capital One Services, LLC Systems and methods for secure reprovisioning
11804964, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11823175, Apr 30 2020 Capital One Services, LLC Intelligent card unlock
11843698, Oct 02 2018 Capital One Services, LLC Systems and methods of key selection for cryptographic authentication of contactless cards
11843700, Oct 02 2018 Capital One Services, LLC Systems and methods for email-based card activation
11848724, Mar 26 2021 Capital One Services, LLC Network-enabled smart apparatus and systems and methods for activating and provisioning same
11861604, Oct 02 2018 Capital One Services, LLC Systems and methods for cryptographic authentication of contactless cards
11902442, Apr 22 2021 Capital One Services, LLC Secure management of accounts on display devices using a contactless card
8843739, Apr 04 2012 Lockheed Martin Corporation Anti-tamper device, system, method, and computer-readable medium
9594898, May 01 2009 BeyondTrust Software, Inc. Methods and systems for controlling access to resources and privileges per process
Patent Priority Assignee Title
4218738, May 05 1978 International Business Machines Corporation Method for authenticating the identity of a user of an information system
4672572, May 21 1984 Gould Inc. Protector system for computer access and use
4731842, Dec 12 1984 International Business Machines Corporation Security module for an electronic funds transfer system
4757533, Sep 11 1985 SECURITY SOFTWARE AMERICA, INC , A CORP OF DE Security system for microcomputers
4809326, Mar 05 1985 Casio Computer Co., Ltd. IC card system
4827508, Oct 14 1985 ELECTRONIC PUBLISHING RESOURCES, INC Database usage metering and protection system and method
4856062, Nov 30 1984 EMC Corporation Computing and indicating device
4926480, Aug 22 1983 VAN DETSAN NETWORKS LIMITED LIABILITY COMPANY Card-computer moderated systems
4977594, Oct 14 1986 ELECTRONIC PUBLISHING RESOURCES, INC Database usage metering and protection system and method
5029207, Feb 01 1990 Cisco Technology, Inc External security module for a television signal decoder
5050213, Oct 14 1986 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
5157726, Dec 19 1991 Xerox Corporation Document copy authentication
5191611, Apr 03 1989 LANRALD DATA MGMT NV, LLC Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
5237610, Feb 01 1990 Cisco Technology, Inc Independent external security module for a digitally upgradeable television signal decoder
5315656, Jul 17 1989 AXYTRANS S A System for protecting documents or objects enclosed in a tamper-proof container
5410598, Oct 14 1986 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
5467396, Oct 27 1993 The Titan Corporation; TITAN CORPORATION, THE Tamper-proof data storage
5483597, Dec 30 1992 Authentication process for at least one identification device using a verification device and a device embodying the process
5499298, Mar 17 1994 Kent Ridge Digital Labs Controlled dissemination of digital information
5509117, Mar 10 1992 Frama AG Franking machine
5517567, Aug 23 1994 DAQ Electronics Inc. Key distribution system
5519778, Aug 13 1993 MICALI, SILVIO Method for enabling users of a cryptosystem to generate and use a private pair key for enciphering communications between the users
5521980, Feb 28 1994 Microsoft Technology Licensing, LLC Privacy-protected transfer of electronic information
5913025, Nov 14 1996 EMC IP HOLDING COMPANY LLC Method and apparatus for proxy authentication
6061740, Dec 09 1996 RPX Corporation Method and apparatus for heterogeneous network management
6134657, Nov 18 1991 International Business Machines Corporation Method and system for access validation in a computer system
JP3100753,
JP568727,
JP575135,
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Mar 17 2000Fuji Xerox Co., Ltd.(assignment on the face of the patent)
Date Maintenance Fee Events


Date Maintenance Schedule
Sep 27 20144 years fee payment window open
Mar 27 20156 months grace period start (w surcharge)
Sep 27 2015patent expiry (for year 4)
Sep 27 20172 years to revive unintentionally abandoned end. (for year 4)
Sep 27 20188 years fee payment window open
Mar 27 20196 months grace period start (w surcharge)
Sep 27 2019patent expiry (for year 8)
Sep 27 20212 years to revive unintentionally abandoned end. (for year 8)
Sep 27 202212 years fee payment window open
Mar 27 20236 months grace period start (w surcharge)
Sep 27 2023patent expiry (for year 12)
Sep 27 20252 years to revive unintentionally abandoned end. (for year 12)