Protecting mobile code against malicious hosts
AssigneeFraunhofer CRCG, Inc.
InventorsChenghui Luo, Jian Zhao
Life of this patent
Estimating the term…
Loading patent…
AssigneeFraunhofer CRCG, Inc.
InventorsChenghui Luo, Jian Zhao
Estimating the term…
Techniques for using a class loader to protect mobile code against a malicious host. The techniques include using the class loader to extend a class used by the mobile code such that a method is added to the code which authenticates the mobile code. When executed, the method provides a dynamic watermark that authenticates the code. The method may be encrypted until it is added to the code. One such method uses a static watermark in the code to determine whether the code has been modified. The techniques also include using a class loader to extend the class such that obfuscated symbolic names in the program that correspond to symbolic names defined by the class can be resolved. A way of doing this is to include a first association between the obfuscated symbolic names and encrypted forms of the corresponding symbolic names in the program and to make a second association between the encrypted forms of the corresponding symbolic names and information used to resolve the symbolic names defined in the class. The loader then uses the first and second associations to resolve the obfuscated names. The class extension techniques may be combined with obfuscation of names defined in the program and static watermarking to provide layered protection of the mobile code. The obfuscation and definition of the first association are done prior to execution of the program and the class extension is done on execution of the program. The disclosed techniques are particularly well-adapted for use with the byte codes produced by Java language compilers from Java language programs.
An improved class loader that loads a class in a program execution environment in a host computer system, the improved class loader being characterized in that:
An improved class loader that loads a class on execution of a program that uses the class in a program execution environment in a host computer system, the program including an encrypted component that contains information usable by the class loader to resolve symbolic names used in the program to specify entities defined in the class and the improved class loader being characterized in that:
The improved class loader set forth in 7 further characterized in that:
A method of protecting a program that is executed in a host computer system from the host, the program being executed in a program execution environment that includes a class loader that loads a class used by the program,
Code that includes symbolic names and is executable in a program execution environment that resolves the symbolic names, the symbolic names including system symbolic names defined in the execution environment and
Dependencies are inferred from the claim text.