Architektura iOS
Každý operační systém má v sobě bezpečnostní mechanismus, který zařízení chrání. Mechanismy jsou běžně přizpůsobeny bezpečnostnímu modelu, na kterém je založena celková bezpečnost zařízení. Bezpečnost systému iOS je vystavěna na bezpečnostním modelu a systému mechanismů, které předchází možným bezpečnostním rizikům. V této kapitole je popsána architektura zabezpečení systému iOS a způsoby, jakými je systém iOS zabezpečen proti útokům malwaru, exploitu a zásahu do systému.
Architektura systému iOS vychází z původní architektury operačního systému od společnosti Apple, tj. Mac OS X. Základní model architektury systému iOS (viz Obrázek 2.1) se skládá z pěti vrstev. Některé zdroje nezahrnují do modelu vrstvu aplikací. V našem případě je vrstva znázorněna pro větší přehlednost.
Aplikace
Rozhraní Cocoa Touch
Multimédia
Služby
Jádro systému
Obrázek 2.1 – Architektura systému iOS
Vrstva aplikací často není zahrnována do modelu architektury systému iOS. Do této vrstvy jsou řazeny pouze instalované aplikace v zařízení. Zahrnovány jsou také nativní aplikace, 10 které jsou v systému iOS předinstalované. Vrstva Cocoa Touch je důležitá pro správnou funkci grafického rozhraní systému iOS a aplikací. Je závislá na zobrazovacím frameworku UIKit, s jehož pomocí jsou následně vykreslovány aplikace, napsané v jazyce Objective-C. Nejdůležitější funkcí frameworku UIKit je rozhraní pro dotykové ovládání aplikací a rozpoznávání gest. Jazyk Cocoa je používán pro tvorbu aplikací, určených pro provoz v prostředí systému iOS. Cocoa není programovací jazyk v původním významu. Je to jen nástroj, s jehož pomocí vývojáři upravují své aplikace tak, aby bylo sjednoceno grafické rozhraní a ovládací prvky. Vrstva multimédií obsahuje grafické, video a audio nástroje pro správné zpracování multimediálního obsahu. Obsahuje grafické knihovny OpenGL a OpenAL, Core Graphics Framework pro zpracování 2D a 3D grafiky, knihovnu Assets pro zpracování fotografií a videí, knihovny pro zpracování zvukových a video formátů. Součástí vrstvy služeb jsou systémové služby, podporující správnou funkci a instalaci aplikací, cloudové úložiště, správu vnitřní paměti zařízení, databázové nástroje, nástroje pro zpracovávání skriptů a mechanismy pro zabezpečení zařízení.Jádro systému zajišťuje bezproblémový provoz systému iOS na hardwaru zařízení. Obsahuje ovladače k hardwarovým modulům pro grafiku, procesor, operační paměť a síťové připojení. Jádro systému je šifrované a dešifrování je možné pouze při znalosti šifrovacího klíče a tzv. AES inicializačního vektoru. Šifrovací klíč i inicializační vektor jsou dále šifrovány s využitím GID klíče, který je pro každé zařízení se systémem iOS unikátní.