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