Secure Enclave Processor

From The iPhone Wiki
Revision as of 21:09, 21 April 2022 by Yeroc-sebrof (talk | contribs) (Lee Gray paper was a dead link, switching to internet archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Secure Enclave (not to be confused with the Secure Element) is part of the A7 and newer chips used for data protection, Touch ID, and Face ID. The purpose of the Secure Enclave is to handle keys and other info such as biometrics that is sensitive enough to not be handled by the AP. It is isolated with a hardware filter so the AP cannot access it. It shares RAM with the AP, but its portion of the RAM (known as TZ0) is encrypted. The secure enclave itself is a flashable 4MB AKF processor core called the secure enclave processor (SEP) as documented in Apple Patent Application 20130308838. The technology used is similar to ARM's TrustZone/SecurCore but contains proprietary code for Apple KF cores in general and SEP specifically. It is also responsible for generating the UID key on A9 or newer chips that protects user data at rest.

The SEP is located in the devicetree under IODeviceTree:/arm-io/sep and manged by the AppleSEPManager driver as seen here


The SEP has its own OS called SEP OS which is based on Darbat/L4[1][2] and there exists a tool called seputil which is used to communicate with it.

Further References