Apple 裝置上的「資料保護」
在具備「資料保護」的 Apple 裝置上,每個檔案都是使用檔案(或範圍)專屬密鑰來加以保護。依據檔案的可存取性情況,使用 NIST AED 密鑰封裝演算法加以封裝的密鑰,會進一步使用其中一個類別密鑰進行封裝。封裝的檔案專屬密鑰接著會儲存在檔案的後設資料中。
使用 APFS 格式的裝置可能支援檔案複製功能(使用寫入時拷貝技術的零成本拷貝)。檔案複製後,複本的每一半會各自獲得一個用於接受寫入的新密鑰,以便透過新密鑰將新資料寫入媒體。隨著時間推移,檔案可能會包含分別對應到不同密鑰的不同範圍(或片段)。但是組成同一個檔案的所有範圍都會受到相同的類別密鑰保護。
當打開檔案時,系統會使用檔案系統密鑰來解密其後設資料,以呈現封裝的檔案專屬密鑰以及表示其保護類別的記號。檔案(或範圍)專屬密鑰會使用類別密鑰來解除封裝,然後提供給硬體 AES 引擎,該引擎會在從快閃儲存空間中讀取檔案時,對檔案進行解密。所有封裝檔案密鑰的處理作業會在「安全隔離區」中進行;系統永遠不會直接向「應用程式處理器」洩漏檔案密鑰。啟動時,「安全隔離區」會與 AES 引擎進行協調以獲取臨時密鑰。當「安全隔離區」解除封裝檔案密鑰時,它們會透過臨時密鑰來重新封裝,並傳送回「應用程式處理器」。
資料卷宗檔案系統中所有檔案的後設資料都使用隨機卷宗密鑰進行加密,該密鑰是在首次安裝作業系統時,或使用者清除裝置時製作而成。此密鑰會以只有「安全隔離區」知道的密鑰封裝密鑰來加密和封裝,以便長期儲存。使用者每次清除裝置時密鑰封裝密鑰都會更改。在 A9(和較新版本)SoCs 上,「安全隔離區」依賴熵(受到反重播系統支援)來實現可抹除性,以及保護其密鑰封裝密鑰與其他資產。如需更多資訊,請參閱:安全非揮發性儲存裝置。
與檔案或範圍專屬密鑰相同,資料卷宗的後設資料密鑰永遠不會直接提供給「應用程式處理器」,而是「安全隔離區」會提供每次啟動時產生的臨時版本。儲存時,系統會使用儲存在可抹除儲存空間中的「可抹除的密鑰」,或使用媒體密鑰封裝密鑰(受到「安全隔離區」反重播機制保護),對加密的檔案系統密鑰進行額外封裝。此密鑰的功能並非提供額外的資料保密性,而是可以視需求快速清除(由使用者使用「清除所有內容和設定」選項來清除,或者由使用者或管理者從行動裝置管理(MDM)解決方案、Microsoft Exchange ActiveSync 或 iCloud 發出遠端清除指令來清除)。以此方式清除密鑰將會透過加密編譯的方式讓裝置上的所有檔案無法存取。
系統可能會使用一或數個檔案(或範圍)專屬密鑰來加密檔案的內容,該密鑰使用類別密鑰封裝並儲存在檔案的後設資料中,檔案後設資料接著又使用檔案系統密鑰進行加密。類別密鑰使用硬體 UID 取得保護,而某些類別則透過使用者密碼取得保護。此階層架構同時提供了彈性與效能。例如,更改檔案的類別只需要重新封裝其檔案專屬密鑰,更改密碼只需要重新封裝類別密鑰。