天天看點

《iOS驗證實戰:調查、分析與移動安全》一3.6 iPhone作業系統

ios是專門為iphone開發的作業系統,但現在它也用在其他的apple裝置上,包括ipad、ipod touch和apple tv。盡管ios是專門為移動裝置而開發的,但是ios和mac os x系統擁有許多相似之處(apple developer, 2010)。

apple的開發者站點中有一個ios開發中心專區。正如第1章中提到的一樣,ios軟體開發套件(sdk)包括了在ios環境中開發和測試移動應用的工具。這些xcode工具也允許開發者在ios模拟器中測試自己的代碼,來進一步保證應用程式功能的正确性。

ios分層

ios核心和mac os x核心是松耦合的,ios核心包含幾個用于運作相關應用程式的層級。這些層級包括os核心層、服務核心層、媒體、cocoa觸摸和應用層。下面對ios架構層的描述(apple developer, 2010):

os核心層:該層直接作用于裝置硬體并提供包括底層網絡、外部配件通道和記憶體管理/檔案系統管理的服務。“common crypto”就存儲在此層的動态庫之一,它用于協助建立和管理證書,并由keychain services(在服務核心層)調用,為keychain檔案提供加密/解密功能。

服務核心:和os核心層鄰接,這層提供所有應用都可以使用的基礎系統服務。為了允許檔案通路和支援底層資料類型,它包含一些基礎内部接口(大部分基于c語言)。這些接口包括,諸如core foundation、cfnetwork、sqlite等功能。此層還存在安全服務,其中包括keychain services,此服務用于在裝置的keychain資料庫中執行資料存儲和加密。

媒體:媒體層包含了圖形、音頻和視訊技術。

cocoa觸摸:cocoa觸摸層包括為應用提供需要的虛接口架構的技術。這裡,大多數技術使用的是objective-c。

繼續閱讀