System and method for integrating secure and non-secure software objects
First Claim
1. A method of protecting data comprising the acts of:
- creating a first process associated with a first address space, said first process comprising an executing trusted application;
creating a second process associated with a second address space, said first address space being inaccessible to said second process, said second process created by and controlled by said first process, said second process comprising an executing untrusted application;
running, in said first process, a first software object which stores data in said first address space;
running, in said second process, a second software object which accesses said second address space; and
directing, by said first process, an action performable by said second software process.
2 Assignments
0 Petitions
Accused Products
Abstract
A secure first process uses a non-secure software object by hosting said non-secure software object in a separate second process, where the first process'"'"'s address space is inaccessible to the second process. The first process communicates with the second process, preferably by means of a COM API that the second process exposes to the first process. The application that runs in the second process may expose APIs of the hosted non-secure object to the first process, and the first process may communicate with the non-secure object hosted in the second process through this API. In a preferred embodiment, the second process renders its output in a child window of the first process, so that the use of a second process to host non-secure software objects is transparent to a user of the first process.
-
Citations
24 Claims
-
1. A method of protecting data comprising the acts of:
-
creating a first process associated with a first address space, said first process comprising an executing trusted application; creating a second process associated with a second address space, said first address space being inaccessible to said second process, said second process created by and controlled by said first process, said second process comprising an executing untrusted application; running, in said first process, a first software object which stores data in said first address space; running, in said second process, a second software object which accesses said second address space; and directing, by said first process, an action performable by said second software process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for integrating a secure application with an open application on a computing device including a processor, said computing device further including an operating system which provides a plurality of processes, each process having an address space associated therewith, said system comprising:
-
a first trusted application executable on said processor in a first of said plurality of processes having a first address space, wherein said first trusted application accesses protected data in said first address space, and wherein said first trusted application provides a service by using a pre-determined software object; a second untrusted application executable on said processor in a second of said plurality of processes having a second address space, said second process created and controlled by said first process, wherein said second untrusted application hosts said pre-determined software object, and wherein said second untrusted application exposes a callable interface to said first trusted application, said first address space being inaccessible to said second process. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification