Method and apparatus for validating travelling object-oriented programs with digital signatures
First Claim
1. In a system having at least one computer and a memory, a method of operating said computer using at least one digital cell comprising the steps of:
- determining whether a program being executed is processing an existing digital cell, said digital cell comprising a digital data structure that identifies at least one class definition and a plurality of related object instances that are bound to said class definition, at least part of said class definition having been digitally signed and said digital data structure including at least one class defining program with the plurality of object instances,placing said existing cell into an executable state if said determining step indicates that an existing cell is to be processed;
accessing digital information to be processed by said existing digital cell;
processing said digital information by one of said related object instances; and
monitoring security of related object instances by screening at least some of the instructions of the class definition of the related object instance by verifying at least one digital signature supplied to the cell during execution of the object.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of operating computers in accordance with an enhanced object-oriented programming methodology creates a framework for efficiently performing automated business transactions. The object-oriented programming methodology is used in conjunction with a travelling program, i.e., a digital data structure which includes a sequence of instructions and associated data which has the capability of determining at least one next destination or recipient for receiving the travelling program and for transmitting itself, together with all relevant data determined by the program to the next recipient or destination Using the methods described herein, the data is more closely bound to the program in such a way that objects may be most efficiently transferred from one computer user to another without the objects being previously known to the recipient computer user. The present invention utilizes object "cells" which are data structures stored, for example, on a disk that reflects a collection of (related) objects instances whose execution has been suspended, and which can be resumed later on the same or a different platform. The collection of object instances can be gathered together into cells (or "electronic forms") suitable for storage or transmission to another computer user in such a way that instances are unambiguously bound to their respective class definition. The present invention also creates improved tools for creating and using cells so that electronic forms can be defined using object-oriented techniques while allowing such forms to be easily transferred among a diverse population of computer users--without demanding that all users maintain compatible libraries of all object-class definition programs and without demanding that all users maintain identical synchronized versions of that class. The invention provides a digital signature methodology to insure security and integrity, so that electronic forms (i.e., cells) composed of a collection of objects can be received and executed by a user without putting the user at risk that some of the object classes embedded in the cell might be subversive "trojan horse" programs that might steal, destroy or otherwise compromise the security or integrity of the user'"'"'s system or data.
-
Citations
34 Claims
-
1. In a system having at least one computer and a memory, a method of operating said computer using at least one digital cell comprising the steps of:
-
determining whether a program being executed is processing an existing digital cell, said digital cell comprising a digital data structure that identifies at least one class definition and a plurality of related object instances that are bound to said class definition, at least part of said class definition having been digitally signed and said digital data structure including at least one class defining program with the plurality of object instances, placing said existing cell into an executable state if said determining step indicates that an existing cell is to be processed; accessing digital information to be processed by said existing digital cell; processing said digital information by one of said related object instances; and monitoring security of related object instances by screening at least some of the instructions of the class definition of the related object instance by verifying at least one digital signature supplied to the cell during execution of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. In a system having at least one computer and a memory, a method of operating said computer using at least one digital cell comprising the steps of:
-
determining whether a program being executed is processing an existing digital cell, said digital cell comprising a digital data structure that identifies at least one class definition and a plurality of related object instances that are bound to said class definition, at least part of said class definition having been digitally signed and said digital data structure including at least one class defining program with the plurality of object instances, placing said existing cell into an executable state if said determining step indicates that an existing cell is to be processed; accessing digital information to be processed by said existing digital cell; processing said digital information by one of said related object instances; and monitoring security by verifying at least one digital signature supplied to the cell and performing at least one of; screening at least one of said related object instances before executing said object instance; screening at least one of said related object instances during execution of said object instance; and screening operations invoked by said object instance as a result of the execution of the object instance.
-
-
29. In a communications system having at least one computer and a memory, a method of operating said computer comprising the steps of:
-
loading a digital cell in said memory, said digital cell comprising a digital data structure that identifies a collection of related programs, each of which are bound by a class definition; processing a received function by accessing said digital cell to determine which program is to perform said received function; executing a program for performing the received function; and monitoring the security of the program during execution thereof, based on security information associated with the digital cell, said security information including a digital signature associated with the digital cell, wherein said monitoring step includes verifying the digital signature supplied to said digital cell.
-
-
30. In a system having at least one computer and being operable to receive programs from at least one other computer, a method of operating said computer using at least one digital cell comprising a collection of data including indicia of at least one class definition program and a digital signature, the method comprising the steps of:
-
processing the digital cell by; receiving said digital cell from another computer; loading at least part of the class definition program into memory; verifying the digital signature of the digitally signed material; placing the class definition program into execution using data from at least one of;
data received from another computer, and data available within the system performing the execution; andmonitoring said program during its execution by screening at least some of the instructions of the program by verifying the digital signature supplied to the cell. - View Dependent Claims (31, 32, 33, 34)
-
Specification