# 7. iOS Security

![](https://1178537843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2KUxfxUFmy000PDT7MtM%2Fuploads%2Fgit-blob-b2273bada7adda06b24b8d75a457f1921bf05e1f%2Fios-logo.png?alt=media)

iOS devices have limitations compared to Android and include a hardware security component. Jailbreaking may be required to install third-party apps (sideloading).

## iOS Architecture

[Apple iOS Security](https://support.apple.com/guide/security/welcome/web) is based on a hardware and a software layer, and iOS **is based on the Linux O.S**.

* All apps are signed by Apple (with a developer profile) - Free developer account allows Sideloading.
* 2 partitions on the file system (user and O.S. partitions) - the user can only see user's file
* Each iOS device has a device and a group key, created during manufacturing
  * iOS utilizes secure boot chain, Touch ID/Face ID, and the Secure Enclave for hardware-based encryption and key management.

[**iOS Architecture**](https://mas.owasp.org/MASTG/iOS/0x06a-Platform-Overview/#ios-security-architecture)

![iOS Security Architecture](https://1178537843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2KUxfxUFmy000PDT7MtM%2Fuploads%2Fgit-blob-8b84cb72094c57288728093023c8b7f87fa8d17c%2Fios-sec-architecture.png?alt=media)

Most iOS Applications are based on native [Objective C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011210-CH1-SW1), and [Swift](https://developer.apple.com/swift/resources/).

* Developed in [Xcode](https://developer.apple.com/xcode/) environment
* `.iPA` format - signed bundle of folders and assets
* Unzipping .iPA results into a `/Payload` folder
  * `Application.app`
  * `iTunesMetadata.plist`
  * `Info.plist`
  * various unique `.json`, assets, resources

***
