-
公开(公告)号:US11138346B2
公开(公告)日:2021-10-05
申请号:US16859634
申请日:2020-04-27
Applicant: Apple Inc.
Inventor: Manu Gulati , Joseph Sokol, Jr. , Jeffrey R. Wilcox , Bernard J. Semeria , Michael J. Smith
Abstract: In one embodiment, a system includes a non-volatile memory that may serve as both the main memory system and the backing store (or persistent storage). In some embodiments, the non-volatile memory is divided into a main memory portion and a persistent portion. Data in the main memory operation may be encrypted using one or more first keys, and data in the persistent portion may be encrypted using one or more second keys, in an embodiment. The volatile behavior of main memory may be implemented by discarding the one or more first keys in a power down event or other event that indicates a loss of main memory data, while the one or more second keys may be retained. In one embodiment, the physical address space of the non-volatile memory may be a mapping from a second physical address space that is used within the system.
-
公开(公告)号:US10891369B2
公开(公告)日:2021-01-12
申请号:US16664714
申请日:2019-10-25
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
公开(公告)号:US10671762B2
公开(公告)日:2020-06-02
申请号:US15748893
申请日:2016-08-25
Applicant: Apple Inc.
Inventor: Manu Gulati , Joseph Sokol, Jr. , Jeffrey R. Wilcox , Bernard J. Semeria , Michael J. Smith
Abstract: In one embodiment, a system includes a non-volatile memory that may serve as both the main memory system and the backing store (or persistent storage). In some embodiments, the non-volatile memory is divided into a main memory portion and a persistent portion. Data in the main memory operation may be encrypted using one or more first keys, and data in the persistent portion may be encrypted using one or more second keys, in an embodiment. The volatile behavior of main memory may be implemented by discarding the one or more first keys in a power down event or other event that indicates a loss of main memory data, while the one or more second keys may be retained. In one embodiment, the physical address space of the non-volatile memory may be a mapping from a second physical address space that is used within the system.
-
公开(公告)号:US20200081847A1
公开(公告)日:2020-03-12
申请号:US16564502
申请日:2019-09-09
Applicant: Apple Inc.
Inventor: Julien Oster , Thomas G. Holland , Bernard J. Semeria , Jason A. Harmening , Pierre-Olivier J. Martel , Gregory D. Hughes , P. Love Hornquist Astrand , Jacques Fortier , Ryan P. Nielson , Simon P. Cooper
IPC: G06F12/1009 , G06F21/62 , G06F9/455
Abstract: In an embodiment, a computer system comprises a page protection layer. The page protection layer may be the component in the system which manages the page tables for virtual to physical page mappings. Transactions to the page protection layer are used to create/manage mappings created in the page tables. The page protection layer may enforce dynamic security policies in the system (i.e. security policies that may not be enforced using only a static hardware configuration). In an embodiment, the page protection layer may ensure that it is the only component which is able to modify the page tables. The page protection layer may ensure than no component in the system is able to modify a page that is marked executable in any process' address space. The page protection may ensure that any page that is marked executable has code with a verified code signature, in an embodiment.
-
公开(公告)号:US20230418767A1
公开(公告)日:2023-12-28
申请号:US18343125
申请日:2023-06-28
Applicant: Apple Inc.
Inventor: Jeffry E. Gonion , Bernard J. Semeria
IPC: G06F12/14 , G06F12/1027
CPC classification number: G06F12/1483 , G06F12/1027 , G06F12/1475
Abstract: A memory permissions model for a processor that is based on the memory address accessed by an instruction as well as the program counter of the instruction. These permissions may be stored in permissions tables and indexed using the memory addresses of the instruction and the address of the memory locations that it accesses. Those indexes may be obtained from a page table in some cases. These memory permissions may be used in conjunction with other permissions, such as execute permissions and secondary execution privileges that are based on whether the instruction belongs to a particular instruction group.
-
公开(公告)号:US20220027452A1
公开(公告)日:2022-01-27
申请号:US17497826
申请日:2021-10-08
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
IPC: G06F21/44 , H04L9/32 , G06F15/78 , G06F21/54 , G06F21/78 , H04L29/06 , H04L9/08 , G06F12/109 , G06F21/56 , G06F21/12
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
公开(公告)号:US11144631B2
公开(公告)日:2021-10-12
申请号:US16539356
申请日:2019-08-13
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
IPC: G06F21/44 , G06F15/78 , G06F9/32 , H04L9/32 , G06F21/54 , G06F21/78 , H04L29/06 , H04L9/08 , G06F12/109 , G06F21/56 , G06F21/12
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
公开(公告)号:US11093601B2
公开(公告)日:2021-08-17
申请号:US16664719
申请日:2019-10-25
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
公开(公告)号:US12079142B2
公开(公告)日:2024-09-03
申请号:US18343145
申请日:2023-06-28
Applicant: Apple Inc.
Inventor: Jeffry E. Gonion , Bernard J. Semeria
IPC: G06F9/30 , G06F12/1027 , G06F12/14 , G06F21/52
CPC classification number: G06F12/1483 , G06F9/30076 , G06F9/30189 , G06F12/1027 , G06F12/1475 , G06F21/52 , G06F2221/034
Abstract: A permissions model for a processor in which permissions are based on the instruction group of an instruction. These permissions may be stored in permissions tables and indexed using the program counter of the instruction. The permissions may identify which of a plurality of instruction groups of an instruction set architecture (ISA) of a processor are permitted to execute from that program counter value. Accordingly, the instruction group of the instruction can be compared to the permitted instruction groups to determine if the instruction has execution permission. In some cases, the instruction-group-based permissions are secondary execution privileges; additional primary execution permissions that are determined using the program counter may also be used.
-
公开(公告)号:US11748468B2
公开(公告)日:2023-09-05
申请号:US17497826
申请日:2021-10-08
Applicant: Apple Inc.
Inventor: Bernard J. Semeria , Devon S. Andrade , Jeremy C. Andrus , Ahmed Bougacha , Peter Cooper , Jacques Fortier , Louis G. Gerbarg , James H. Grosbach , Robert J. McCall , Daniel A. Steffen , Justin R. Unger
IPC: G06F21/44 , G06F15/78 , G06F21/78 , G06F21/54 , G06F12/109 , G06F21/56 , G06F21/12 , H04L9/32 , H04L9/08 , H04L9/40
CPC classification number: G06F21/44 , G06F12/109 , G06F15/7807 , G06F21/125 , G06F21/54 , G06F21/565 , G06F21/78 , H04L9/0861 , H04L9/3236 , H04L9/3247 , H04L63/06
Abstract: Embodiments described herein enable the interoperability between processes configured for pointer authentication and processes that are not configured for pointer authentication. Enabling the interoperability between such processes enables essential libraries, such as system libraries, to be compiled with pointer authentication, while enabling those libraries to still be used by processes that have not yet been compiled or configured to use pointer authentication.
-
-
-
-
-
-
-
-
-