System for communicating program data between a first device and a second device

Share
Save
Discuss
Claim

Share On Facebook Share On Twitter Share By Email
Save Item
Save Item
Add to
my lists

Filing Information

  • Publication Number: US20040143641
  • Application Number: US10346581
  • Filing date: 01/16/2003
  • Publication date: 07/22/2004
  • Predicted expiration date: 01/16/2023
Explore Your Innovation Network™ for an introduction to:

Innovation Network Your First Name:
Last Name:
 
Already a member? Sign In
  • U.S. Classifications: 709/213  · 709/229  · 709/236  ·
  • International Classifications: G06F015/177 · G06F015/167 ·
  • Related U.S. Application Data:
    CROSS REFERENCE TO RELATED APPLICATIONS
    0001 This application is related to the following:
    0002 U.S. patent application Ser. No. ______, filed Jan. 16, 2003 in the name of inventor Eduard de Jong, entitled “Signing Program Data Payload Sequence in Program Loading”, Attorney Docket No. SUN-P8713, commonly assigned herewith.
    0003 U.S. patent application Ser. No. ______, filed Jan. 16, 2003 in the name of inventor Eduard de Jong, entitled “Using a Digital Fingerprint to Commit Loaded Data in a Device”, Attorney Docket No. SUN-P8714, commonly assigned herewith.
    0004 U.S. patent application Ser. No. ______, filed Jan. 16, 2003 in the name of inventor Eduard de Jong, entitled “Ordering Program Data for Loading on a Device”, Attorney Docket No. SUN-P8715, commonly assigned herewith.
    0005 U.S. patent application Ser. No. ______, filed Jan. 16, 2003 in the name of inventor Eduard de Jong, entitled “Optimized Representation of Data Type Information in Program Verification”, Attorney Docket No. SUN-P8716, commonly assigned herewith.
    0006 U.S. patent application Ser. No. ______, filed Jan. 16, 2003 in the name of inventor Eduard de Jong, entitled “Run Time Code Integrity Checks”, Attorney Docket No. SUN-P8717, commonly assigned herewith.
    0007 U.S. patent application Ser. No. ______, filed Jan. 16, 2003 in the name of inventor Eduard de Jong, entitled “Linking of Virtual Methods”, Attorney Docket No. SUN-P8718, commonly assigned herewith.
  • View document at: (opens new window):
    USPTO  ·  PAIR  ·  esp@cenet  ·  Patent Family
61 Claims, 45 Drawings


Abstract

A system for communicating program data between devices includes a first device configured to disassemble a program file comprising program data into at least one logical data unit, partition each logical data unit into at least one protocol data unit and compute a first fingerprint over the payload portion of the protocol data units. The first device is also configured to send the protocol data units and at least one member of the group comprising the first fingerprint and a first authentication code based on the first fingerprint to a second device. The second device is configured to compute a second fingerprint over the payload portion of the protocol data units and to commit the program to a memory based on whether the at least one member matches the second fingerprint or a second authentication code based on the second fingerprint.

References Cited

The current document has no citations.

Referenced By

Document NumberAssigneeInventorsIssue/Pub Date
US7559055Research In Motion LimitedLianghua Yang et al.Jul 2009

Read Patent

Read patent

Independent Claims | See all claims (61)

  1. 1. A system for communicating program data between a first device and a second device, the system comprising: a first device configured to: disassemble a first program file comprising program data into a first at least one logical data unit; partition each of said first at least one logical data unit into a first at least one protocol data unit, the format of said first at least one protocol data unit defined by a communication protocol and including a payload portion; compute a first fingerprint over the payload portion of said first at least one protocol data unit of said first at least one logical data unit; and send a second program file comprising said program data and one or more members of the group comprising said first fingerprint and a first authentication code based at least in part on said first fingerprint; a second device configured to: receive said second program file and at least one of said group; disassemble said program data into a second at least one logical data unit; and partition each of said second at least one logical data unit into a second at least one protocol data unit; and a third device comprising a memory, said third device configured to: receive at least one of said group and said second at least one protocol data unit; compute a second fingerprint over the payload portion of said second at least one protocol data unit; and commit said program to said memory based at least in part on whether said one or more members match said second fingerprint or a second authentication code based at least in part on said second fingerprint.
  2. 22. A system for communicating program data between a first device and a second device, the system comprising: a first device configured to: disassemble a first program file comprising program data into at least one logical data unit; partition each of said at least one logical data unit into at least one protocol data unit, the format of said at least one protocol data unit defined by a communication protocol and including a payload portion; compute a first fingerprint over the payload portion of the protocol data units of said at least one logical data unit; and send said protocol data units of said at least one logical data unit and one or more members of the group comprising said first fingerprint and a first authentication code based at least in part on said first fingerprint to said second device according to said protocol; and a second device comprising a memory, said second device configured to: receive at least one of said group and said protocol data units; compute a second fingerprint over the payload portion of said protocol data units; and commit said program to said memory based at least in part on whether said one or more members match said second fingerprint or a second authentication code based at least in part on said second fingerprint.
  3. 41. A system for communicating program data between a first device and a second device, the system comprising: a first device configured to: disassemble a first program file comprising program data into a first at least one logical data unit; partition each of said first at least one logical data unit into a first at least one protocol data unit, the format of said first at least one protocol data unit defined by a communication protocol and including a payload portion, the order of protocol data units within said first at least one protocol data unit determined according to a predetermined order; compute a first fingerprint over the payload portion of said first at least one protocol data unit of said first at least one logical data unit; and send a second program file comprising said program data and one or more members of the group comprising said first fingerprint and a first authentication code based at least in part on said first fingerprint; a second device configured to: receive said second program file and at least one of said group; disassemble said program data into a second at least one logical data unit; and partition each of said at second least one logical data unit into a second at least one protocol data unit, the order of protocol data units within said second at least one protocol data unit identical to the order of protocol data units within said first at least one protocol data unit, the content of said first at least one protocol data unit identical to the content of said second at least one protocol data unit; and a third device comprising a memory, said third device configured to: receive said one or more members and said second at least one protocol data unit; compute a second fingerprint over the payload portion of said second at least one protocol data unit; and commit said program to said memory based at least in part on whether said one or more members match said second fingerprint or a second authentication code based at least in part on said second fingerprint.