IP Library Granted Patent US 7,240,200
Granted Patent B2
US 7,240,200 · App. 10/259,542 · Granted Jul 3, 2007

System and method for guaranteeing software integrity via combined hardware and software authentication

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,240,200
App. No.
10/259,542
Granted
Jul 3, 2007
Kind
B2
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.

Claims (24)

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 h 1 , 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 h 0 , said modulus pq, and a private RSA key z, where s=h 0 z 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 h 1 of said transmitted message having a greatest common denominator other than 1 is substantially zero, whereby h 1 z=1 mod Φ(pq), where Φ(pq)=(p−1)(q−1), and said correct hash value h 1 is a public RSA key corresponding to said private RSA key z, and

wherein said integrity value K′ equals g 1 x g 2 a mod M, where x=s h mod pq, h is a hash value of said message computed by said user device in a similar manner as said correct hash value h 1 , M is a public modulus, a is a stored digital signet, and g 1 and g 2 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 h 1 , guaranteeing the integrity of said message,

wherein said stored values include a predetermined integrity value K=g 1 h0 g 2 a mod M, where a is a digital signet M is a public modulus, and g 1 and g 2 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 h 1 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 h 0 , said modulus pq, and a private RSA key z, where s=h 0 z 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 h 1 of said transmitted message having a greatest common denominator otter than 1 is substantially zero, whereby h 1 z=1 mod Φ(pq), where Φ(pq)=(p−1)(q−1), and said correct hash value h 1 is a public RSA key corresponding to said private RSA key z, and

wherein said integrity value K′ equals g 1 x g 2 a mod M, where x=s h mod pq, h is a hash value of said message computed by said user device in a similar manner as said correct hash value h 1 , M is a public modulus, a is a stored digital signet, and g 1 and g 2 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 h 1 , guaranteeing the integrity of said message,

wherein said stored values include a predetermined integrity value K=g 1 h0 g 2 a mod M, where a is a digital signet, M is a public modulus, and g 1 and g 2 are preferably unique values.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2021
From: UNILOC 2017 LLC
To: ATREUS LABS LLC
Reel/Frame 057453/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: UNILOC LUXEMBOURG S.A.
To: UNILOC 2017 LLC
Reel/Frame 046532/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: UNILOC LUXEMBOURG S.A.
Reel/Frame 044095/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2002
From: LOTSPIECH, JEFFREY BRUCE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013619/0658 →