Virtual machine with securely distributed bytecode verification
First Claim
1. A system for executing a software application comprising a plurality of hardware independent bytecodes, the system comprising:
- a computing system data generates bytecodes;
a virtual machine, remote to the computing system, comprising means for receiving a plurality of authenticated bytecodes from said computing system, and means for executing said plurality of authenticated bytecodes;
means for testing said bytecodes against a set of predetermined criteria; and
means for securely distributing said testing means between said virtual machine and said computing system so that bytecode testing completed by the computing system is authenticated by the virtual machine prior to the execution of the authenticated bytecodes by said virtual machine.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for executing a software application comprising a plurality of hardware independent bytecodes is provided comprising a computing system that generates bytecodes, a virtual machine, remote to the computing system, that receives a plurality of bytecodes from said computing system, and executes said plurality of bytecodes, a system for testing said bytecodes against a set of predetermined criteria in which the testing is securely distributed between said virtual machine and said computing system so that the bytecode verification completed by the computing system is authenticated by the virtual machine prior to the execution of the bytecodes by said virtual machine. A method for distributed bytecode verification is also provided.
206 Citations
23 Claims
-
1. A system for executing a software application comprising a plurality of hardware independent bytecodes, the system comprising:
-
a computing system data generates bytecodes; a virtual machine, remote to the computing system, comprising means for receiving a plurality of authenticated bytecodes from said computing system, and means for executing said plurality of authenticated bytecodes; means for testing said bytecodes against a set of predetermined criteria; and
means for securely distributing said testing means between said virtual machine and said computing system so that bytecode testing completed by the computing system is authenticated by the virtual machine prior to the execution of the authenticated bytecodes by said virtual machine. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A virtual machine for executing a software application comprising a plurality of bytecodes, the virtual machine being executed by a hardware processor, the virtual machine comprising:
-
means for receiving an authenticated bytecode, the authenticated bytecode being previously compared against a predetermined set of criteria and having a proof of authenticity; means for determining that the authenticated bytecode is not corrupted based on the proof of authenticity; and means for executing said bytecode. - View Dependent Claims (8, 9, 10)
-
-
11. A system for executing a software application comprising a plurality of bytecodes, the system comprising:
-
a computer system comprising means for verifying that a bytecode conforms to a predetermined set of criteria to generate a verified bytecode, and means for generating an authenticated bytecode from said verified bytecode; and a virtual machine, remote from said computer system, for executing said authenticated bytecodes, said virtual machine comprising means for receiving said authenticated bytecodes, means for determining that the authenticated bytecodes are not corrupted, and means for executing said authenticated bytecodes. - View Dependent Claims (12, 13, 14)
-
-
15. A smart card having a plastic card having a microcontroller embedded therein, the smart card comprising:
a virtual machine being executed by a microcontroller, the virtual machine executing a software application comprising a plurality of previously verified bytecodes, the virtual machine comprising means for receiving an authenticated bytecode, the authenticated bytecode being previously compared against a predetermined set of criteria and having a proof of authenticity, means for determining that the authenticated bytecode is not corrupted based on the proof of authenticity, and means for executing said bytecode. - View Dependent Claims (16, 17)
-
18. A method for executing a software application on a virtual machine, the application comprising a plurality of bytecodes, comprising:
-
receiving an authenticated bytecode by a virtual machine, the authenticated bytecode being previously compared against a predetermined set of criteria and having a proof of authenticity; determining that the authenticated bytecode is not corrupted based on the proof of authenticity; and executing said bytecode. - View Dependent Claims (19, 20, 21)
-
-
22. A virtual machine for executing a software application comprising a plurality of bytecodes, the virtual machine being executed by a hardware processor, the virtual machine comprising:
-
means for receiving data comprising a plurality of authenticated bytecodes, the authenticated bytecodes being previously compared against a predetermined set of criteria to reduce the amount of data received by the virtual machine; means for determining that the authenticated bytecodes are not corrupted; and means for executing said bytecodes. - View Dependent Claims (23)
-
Specification