System and method for guaranteeing software integrity via combined hardware and software authentication
First Claim
1. A system for guaranteeing message integrity, comprising:
- a distribution center that transmits a transmission including a message and appended values; and
a user device that receives said transmission and computes an integrity value K′
that depends on said transmission and at least one stored value, where K′
selectively enables successful further processing of said message if and only if a computed hash value h matches a correct hash value h1, guaranteeing the integrity of said message,wherein said appended values include a modulus pq and an authentication value a tat is an encrypted version of an original hash value h0, said modulus pq, and a private RSA key z, where s=h0z mod pq,wherein said modulus pq is a product of two prime numbers p and q, neither of said prime numbers p and q being separately included in said transmission,wherein said prime numbers p and q are selected by said distribution center such that the likelihood of a product (p−
1)(q−
1) and an odd-valued correct hash value h1 of said transmitted message having a greatest common denominator other than 1 is substantially zero, whereby h1z=1 mod Φ
(pq), where Φ
(pq)=(p−
1)(q−
1), and said correct hash value h1 is a public RSA key corresponding to said private RSA key z, andwherein said integrity value K′
equals g1xg2a mod M, where x=sh mod pq, h is a hash value of said message computed by said user device in a similar manner as said correct hash value h1, M is a public modulus, a is a stored digital signet, and g1 and g2 are preferably unique stored values.
4 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and computer program product enabling individual user devices to authenticate and validate a digital message sent by a distribution center, without requiring transmissions to the distribution center. The center transmits the message with an appended modulus that is the product of two specially selected primes. The transmission also includes an appended authentication value that is based on an original message hash value, a new message hash value, and the modulus. The new message hash value is designed to be the center'"'"'s public RSA key; a corresponding private RSA key is also computed. Individual user devices combine a digital signet, a public modulus, preferably unique hardware-based numbers, and an original message hash to compute a unique integrity value K. Subsequent messages are similarly processed to determine new integrity values K′, which equal K if and only if new messages originated from the center and have not been corrupted.
-
Citations
4 Claims
-
1. A system for guaranteeing message integrity, comprising:
-
a distribution center that transmits a transmission including a message and appended values; and a user device that receives said transmission and computes an integrity value K′
that depends on said transmission and at least one stored value, where K′
selectively enables successful further processing of said message if and only if a computed hash value h matches a correct hash value h1, guaranteeing the integrity of said message,wherein said appended values include a modulus pq and an authentication value a tat is an encrypted version of an original hash value h0, said modulus pq, and a private RSA key z, where s=h0z mod pq, wherein said modulus pq is a product of two prime numbers p and q, neither of said prime numbers p and q being separately included in said transmission, wherein said prime numbers p and q are selected by said distribution center such that the likelihood of a product (p−
1)(q−
1) and an odd-valued correct hash value h1 of said transmitted message having a greatest common denominator other than 1 is substantially zero, whereby h1z=1 mod Φ
(pq), where Φ
(pq)=(p−
1)(q−
1), and said correct hash value h1 is a public RSA key corresponding to said private RSA key z, andwherein said integrity value K′
equals g1xg2a mod M, where x=sh mod pq, h is a hash value of said message computed by said user device in a similar manner as said correct hash value h1, M is a public modulus, a is a stored digital signet, and g1 and g2 are preferably unique stored values.
-
-
2. A system for guaranteeing message integrity, comprising:
-
a distribution center that transmits a transmission including a message and at least one appended value; and a user device that receives said transmission and computes an integrity value K′
that depends on said transmission and at least one stored value, where K′
selectively enables successful further processing of said message if and only if a computed hash value h matches a correct hash value h1, guaranteeing the integrity of said message,wherein said stored values include a predetermined integrity value K=g1h0 g2a mod M, where a is a digital signet M is a public modulus, and g1 and g2 are preferably unique values.
-
-
3. A method for guaranteeing message integrity, comprising:
-
transmitting a transmission including a message and appended values from a distribution center; receiving said transmission with a user device; computing an integrity value K′
that depends on said transmission and at least one stored value, where K′
selectively enables successful further processing of said message if and only if a computed hash value h matches a correct hash value h1 guaranteeing the integrity of said message,wherein said appended values include a modulus pq and an authentication value s that is an encrypted version of an original hash value h0, said modulus pq, and a private RSA key z, where s=h0z mod pq, wherein said modulus pq is a product of two prime numbers p and q, neither of said prime numbers p and q being separately included in said transmission, wherein said prime numbers p and q are selected by said distribution center such that the likelihood of a product (p−
1)(q−
1) and an odd-valued correct hash value h1 of said transmitted message having a greatest common denominator otter than 1 is substantially zero, whereby h1z=1 mod Φ
(pq), where Φ
(pq)=(p−
1)(q−
1), and said correct hash value h1 is a public RSA key corresponding to said private RSA key z, andwherein said integrity value K′
equals g1x g2a mod M, where x=sh mod pq, h is a hash value of said message computed by said user device in a similar manner as said correct hash value h1, M is a public modulus, a is a stored digital signet, and g1 and g2 are preferably unique stored values.
-
-
4. A method for guaranteeing message integrity, comprising:
-
transmitting a transmission including a message and at least one appended value from a distribution center; receiving said transmission with a user device; computing an integrity value K′
that depends on said transmission and at least one stored value, where K′
selectively enables successful further processing of said message if and only if a computed hash value h matches a correct hash value h1, guaranteeing the integrity of said message,wherein said stored values include a predetermined integrity value K=g1h0 g2a mod M, where a is a digital signet, M is a public modulus, and g1 and g2 are preferably unique values.
-
Specification