Method and system for process working set isolation
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-012/00
G06F-013/00
G06F-013/28
G06F-012/14
G06F-012/08
출원번호
US-0847370
(2013-03-19)
등록번호
US-9575906
(2017-02-21)
발명자
/ 주소
Oxford, William V.
출원인 / 주소
Rubicon Labs, Inc.
대리인 / 주소
Sprinkle IP Law Group
인용정보
피인용 횟수 :
3인용 특허 :
52
초록▼
Embodiments of systems and methods disclosed herein may isolate the working set of a process such that the data of the working set is inaccessible to other processes, even after the original process terminates. More specifically, in certain embodiments, the working set of an executing process may be
Embodiments of systems and methods disclosed herein may isolate the working set of a process such that the data of the working set is inaccessible to other processes, even after the original process terminates. More specifically, in certain embodiments, the working set of an executing process may be stored in cache and for any of those cache lines that are written to while in secure mode those cache lines may be associated with a secure descriptor for the currently executing process. The secure descriptor may uniquely specify those cache lines as belonging to the executing secure process such that access to those cache lines can be restricted to only that process.
대표청구항▼
1. A system, comprising: a processor;a memory;a secret key stored in hardware;a cache having one or more lines comprising data of one or more processes executed on the processor in a secure mode; anda secure execution controller configured to control access to a first line of the cache using a first
1. A system, comprising: a processor;a memory;a secret key stored in hardware;a cache having one or more lines comprising data of one or more processes executed on the processor in a secure mode; anda secure execution controller configured to control access to a first line of the cache using a first secure descriptor based on the secret key and associated with a first process such that only the first process can access the first line of the cache and control access to a second line of cache using a second secure descriptor based on the secret key and associated with a second process such that only the second process can access the second line of the cache, wherein the first secure descriptor and the second secure descriptor are different secure descriptors. 2. The system of claim 1, wherein the system was placed in secure mode based on the first secure descriptor. 3. The system of claim 1, wherein the secure execution controller is configured to cause an entire working set of the first process to be stored in the cache and to cause writes to a memory location other than the cache in the secure mode to be disabled. 4. The system of claim 1, wherein the first process has terminated. 5. The system of claim 3, wherein the secure execution controller is configured to cause the first line of the cache to be associated with the first secure descriptor associated with the first process. 6. The system of claim 5, wherein the secure execution controller is configured to cause a security flag associated with the first line of the cache to be set when the first process writes the data. 7. The system of claim 6, wherein the secure execution controller is configured to control access by causing the following steps to be performed: determining that the first line of cache is being accessed by the first process,determining if the first process is executing in secure mode,determining a third secure descriptor associated with the first process,comparing the first secure descriptor and the third secure descriptor, andallowing access only if the first is executing in secure mode and the first secure descriptor matches the third secure descriptor. 8. A method, comprising: executing one or more processes on a processor in a secure mode;storing data in one or more lines of a cache, wherein the data was stored in a first line of the cache by a first process executed on the processor in the secure mode and in a second line of the cache by a second process executed on the processor in the secure mode; andcontrolling access to the first line of the cache using a first secure descriptor associated with the first process such that only the first process can access the first line of the cache and controlling access to the second line of the cache using a second secure descriptor associated with the second process such that only the second process can access the second line of the cache, wherein the first secure descriptor and the second secure descriptor are different secure descriptors and are based on a secret key stored in hardware on a system comprising the processor and the cache. 9. The method of claim 8, wherein the secure mode was entered based on the first secure descriptor. 10. The method of claim 8, further comprising storing an entire working set of the first process in the cache and disabling writes to a memory location other than the cache in the secure mode. 11. The method of claim 8, wherein the first process has terminated. 12. The method of claim 10, further comprising associating the first line of the cache with the first secure descriptor associated with the first process. 13. The method of claim 12, further comprising setting a security flag associated with the line of the cache when the first process writes the data. 14. The method of claim 13, wherein controlling access comprises: determining that the first line of cache is being accessed by the first process,determining if the first process is executing in secure mode,determining a third secure descriptor associated with the first process,comparing the first secure descriptor and the third secure descriptor, andallowing access only if the first is executing in secure mode and the first secure descriptor matches the third secure descriptor. 15. A non-transitory computer readable medium, comprising instructions for: executing one or more processes on a processor in a secure mode;storing data in one or more lines of a cache, wherein the data was stored in a first line of the cache by a first process executed on the processor in the secure mode and in a second line of the cache by a second process executed on the processor in the secure mode; andcontrolling access to the first line of the cache using a first secure descriptor associated with the first process such that only the first process can access the first line of the cache and controlling access to the second line of the cache using a second secure descriptor associated with the second process such that only the second process can access the second line of the cache, wherein the first secure descriptor and the second secure descriptor are different secure descriptors and are based on a secret key stored in hardware on a system comprising the processor and the cache. 16. The non-transitory computer readable medium of claim 15, wherein the secure mode was entered based on the first secure descriptor. 17. The non-transitory computer readable medium of claim 15, further comprising instructions for storing an entire working set of the first process in the cache and disabling writes to a memory location other than the cache in the secure mode. 18. The non-transitory computer readable medium of claim 15, wherein the first process has terminated. 19. The non-transitory computer readable medium of claim 17, further comprising instructions for associating the first line of the cache with the first secure descriptor associated with the first process. 20. The non-transitory computer readable medium of claim 19, further comprising instructions for setting a security flag associated with the first line of the cache when the process writes the data. 21. The non-transitory computer readable medium of claim 20, wherein controlling access comprises: determining that the first line of cache is being accessed by the first process,determining if the first process is executing in secure mode,determining a third secure descriptor associated with the first process,comparing the first secure descriptor and the third secure descriptor, andallowing access only if the first is executing in secure mode and the first secure descriptor matches the third secure descriptor.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (52)
Onishi Katsuyoshi (Yokohama JPX) Takada Osamu (Sagamihara JPX) Kimura Koichi (Yokohama JPX) Yamaga Mitsuhiro (Kawasaki JPX) Ogura Toshihiko (Ebina JPX) Shibata Yasushi (Hadano JPX), Address filter unit for carrying out address filter processing among plurality of networks and method thereof.
Childs Matthew H. (Arlington TX) Norcross Thomas M. (Arlington TX), Automatic data generation for self-test of cryptographic hash algorithms in personal security devices.
Hideya Akashi JP; Toshio Okochi IE; Toru Shonai JP; Masamori Kashiyama JP, Cache memory control circuit including summarized cache tag memory summarizing cache tag information in parallel processor system.
Steven T. Ansell ; Andrew R. Cherenson ; Mark E. Paley ; Steven B. Katz ; John Michael Kelsey, Jr. ; Bruce Schneier, Copy security for portable music players.
Jakubowski Mariusz H. ; Venkatesan Ramarathnam, Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of.
Baum Richard I. (Poughkeepsie NY) Brent Glen A. (Fishkill NY) Gibson Donald H. (Salt Point NY) Lindquist David B. (Poughkeepsie NY), Database sort and merge apparatus with multiple memory arrays having alternating access.
Mills Robert A. (Gambrills MD) Unkenholz Mark R. (Eldersburg MD) Wilson Mark W. (Columbia MD) Burroughs John E. (Annapolis MD), Device for and method of cryptography that allows third party access.
Rasmussen Harry R. (Tacoma WA) LaBounty Jack D. (Bellevue WA) Rosenow Michael J. (Issaquah WA) Hoskinson John D. (Pacific WA) Maurin Joseph G. (Puyallup WA), Encrypted communication system.
Clifford P. Van Dyke ; Peter T. Brundrett ; Michael M. Swift ; Praerit Garg ; Richard B. Ward, Extensible security system and method for controlling access to objects in a computing environment.
Oxford, William V., Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol.
Flusche Frederick O. (Hyde Park NY) Tan Kwang G. (Poughkeepsie NY) Wright Ralph W. (Pleasant Valley NY), Reconfigurable key-in-storage means for protecting interleaved main storage.
Bright Michael W. (Arlington Heights IL) Ziolko Eric F. (Schaumburg IL) Wilson Alan L. (Hoffman Estates IL) Bray Michelle M. (Schaumburg IL) Hennen Harry A. (Woodstock IL) Weiss David L. (Roselle IL), Secure communication system.
Ishibashi,Yoshihito; Oishi,Tateo; Muto,Akihiro; Kitahara,Jun; Shirai,Taizou, Systems and methods for content distribution using one or more distribution keys.
Ginter Karl L. ; Shear Victor H. ; Spahn Francis J. ; Van Wie David M., Systems and methods for the secure transaction management and electronic rights protection.
Johnson, Simon P.; Savagaonkar, Uday R.; Scarlata, Vincent R.; McKeen, Francis X.; Rozas, Carlos V., Technique for supporting multiple secure enclaves.
Scarlata, Vincent R.; Johnson, Simon P.; Beker, Vladimir; Walker, Jesse; Rozas, Carlos V.; Santoni, Amy L.; Anati, Ittai; Makaram, Raghunandan; McKeen, Francis X.; Savagaonkar, Uday R., Using authenticated manifests to enable external certification of multi-processor platforms.
Oxford, William V., Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.