IP Library Granted Patent US 8,121,955
Granted Patent B2
US 8,121,955 · App. 10/346,230 · Granted Feb 21, 2012

Signing program data payload sequence in program loading

Assignee: Oracle America, Inc.
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 8,121,955
App. No.
10/346,230
Granted
Feb 21, 2012
Kind
B2
Abstract

Communicating program data between a first device and a second device comprises disassembling a first program file comprising program data into at least one logical data unit, partitioning each of the at least one logical data unit into at least one protocol data unit and computing a first fingerprint over the payload portion of the at least one protocol data unit of the at least one logical data unit. The format of the at least one protocol data unit is defined by a communication protocol and includes a payload portion.

Claims (34)

1. A method comprising:

receiving, on loading terminal from a host computer, an augmented converted applet file comprising (i) program data, and (ii) verification data including one or more members of the group comprising a first fingerprint and a first authentication code based at least in part on said first fingerprint, wherein said loading terminal is different from a smart card;

separating, on said loading terminal, the verification data from the program data in the augmented converted applet file;

disassembling, on said loading terminal, said program data into at least one logical data unit;

creating, on said loading terminal, at least one verification protocol data unit associated with one of said at least one logical data unit, said verification protocol data unit comprising verification data for said logical data unit, wherein the verification data for the logical data unit is generated using the verification data separated from the program data in the augmented converted applet file;

partitioning, on said loading terminal, 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 used to communicate the at least one protocol data unit between the loading terminal and the smart card, wherein the format of the protocol data unit includes a payload portion; and

communicating, from the loading terminal to the smart card, said protocol data units of said at least one logical data unit and the at least one verification protocol data unit according to said communication protocol.

2. The method of claim 1 wherein said method further comprises:

creating at least one link protocol data unit associated with one of said at least one logical data unit, said link protocol data unit comprising link data for said logical data unit.

3. The method of claim 1 further comprising:

receiving, by said loading terminal from said smart card, an indication of whether said first fingerprint matches a second fingerprint computed over the payload portion of the protocol data units received by said smart card.

4. The method of claim 1 further comprising:

receiving, by said loading terminal from said smart card, an indication of whether said one or more members match a second authentication code based at least in part on a second fingerprint, said second fingerprint computed over the payload portion of the protocol data units received by said smart card.

5. The method of claim 1 wherein

said communication protocol comprises an application protocol data unit (APDU) protocol; and

said protocol data units comprise application protocol data units (APDUs).

6. The method of claim 1 , further comprising receiving, by said loading terminal from said smart card an indication of whether said one or more members matches a second fingerprint computed over the payload portion of the protocol data units received by said smart card, or a second authentication code based at least in part on said second fingerprint.

7. A program storage device readable by a machine, embodying a program of instructions executable by the machine to perform a method comprising:

receiving, on loading terminal from a host computer, an augmented converted applet file comprising (i) program data, and (ii) verification data including one or more members of the group comprising a first fingerprint and a first authentication code based at least in part on said first fingerprint, wherein said loading terminal is different from a smart card;

separating, on said loading terminal, the verification data from the program data in the augmented converted applet file;

disassembling, on said loading terminal, said program data into at least one logical data unit;

creating, on said loading terminal, at least one verification protocol data unit associated with one of said at least one logical data unit, said verification protocol data unit comprising verification data for said logical data unit, wherein the verification data for the logical data unit is generated using the verification data separated from the program data in the augmented converted applet file;

partitioning, on said loading terminal, 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 used to communicate the at least one protocol data unit between the loading terminal and the smart card, wherein the format of the protocol data unit includes a payload portion; and

communicating, from the loading terminal to the smart card, said protocol data units of said at least one logical data unit and the at least one verification protocol data unit according to said communication protocol.

8. An apparatus comprising:

a loading terminal including:

a memory for storing program data; and

a processor configured to:

receive, from a host computer, an augmented converted applet file comprising (i) program data, and (ii) verification data including one or more members of the group comprising a first fingerprint and a first authentication code based at least in part on said first fingerprint;

separate the verification data from the program data in the augmented converted applet file;

disassemble said program data into at least one logical data unit;

create at least one verification protocol data unit associated with one of said at least one logical data unit, said verification protocol data unit comprising verification data for said logical data unit, wherein the verification data for the logical data unit is generated using the verification data separated from the program data in the augmented converted applet file;

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 used to communicate the at least one protocol data unit between the loading terminal and the smart card, wherein the format of the protocol data unit includes a payload portion; and

communicate, to a smart card, said protocol data units of said at least one logical data unit and the at least one verification protocol data unit according to said communication protocol, wherein said loading terminal is different from the smart card.

Assignments (2)
CHANGE OF NAME Recorded Sep 1, 2011
From: SUN MICROSYSTEMS, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 026843/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2003
From: DE JONG, EDUARD
To: SUN MICROSYSTEMS, INC.
Reel/Frame 013679/0252 →
Continuity (1)
Related Publication 20040143551A1 · Jul 22, 2004