iCloud功能與安全性介紹

2019-7-29 高田數位鑑識

當無法對iOS裝置進行檔案或物理取證時,雲端提取是一種可行的替代方案。新的iOS 13版本帶來更多的安全措施,但對數位鑑識人員的工作只會更加困難。下載iCloud備份的功能已經存在多年,但是需取得用戶帳密以及雙重驗證(2FA)的資訊始終是一個障礙。

iCloud安全分析

Apple不擁有存儲其用戶資料的伺服器。 iCloud備份,照片,訊息甚至密碼都儲存於Amazon,Microsoft,Google,AT&T和中國政府擁有的第三方伺服器上(適用於居住在中國大陸的用戶)。 但是,這並不代表著Amazon,Microsoft,Google,AT&T或中國政府可以讀取任何儲存於雲端伺服器的這些資料。 讓我們以iCloud備份為例,來看看Apple如何保護iCloud資料免於實體的威脅。

首先,用戶的iCloud備份檔案被切分成多個塊(Chunks),每個塊單獨上傳(以隨機的順序)到一個或多個伺服器。 每個塊都使用唯一的加密密鑰進行加密。沒有這些密鑰,即使以正確的順序組裝,資料仍是加密的二進制數據檔案。

那誰擁有加密密鑰呢?密鑰儲存在Cupertino資料中心的Apple自己的伺服器上。密鑰永遠不會傳遞給Apple以外的任何單位或中國政府(但執法單位在有合法的搜索權下,可以要求Apple提供嫌犯的iCloud資料,通常Apple會在48小時至3個禮拜內提供)。

從以上分析我們可以得知

  1. 由於Apple擁有用戶資料和加密密鑰,因此Apple可以完全可以讀取用戶資訊。
  2.  Apple可以將用戶的iCloud資料解密並將其移交給執法單位。
  3.  通過身份驗證的人,可以讀取資料和加密密鑰,因此可以從而下載和解密iCloud備份。

iCloud備份 (iCloud Backups)

iCloud備份的備份檔案內大多數的資料都可以使用用戶驗證資訊(Credential)進行解密,但某些重要的資訊會採用更安全的硬體加密機制來處理。該硬體加密過程會在iOS裝置內執行(在iPhone或iPad本身); 這些重要的資訊不會以未加密的形式傳輸出。由於採硬體加密方式,因此這些內容只能恢復到當初備份的那一台硬體裝置上(若移轉iCloud備份到新的裝置,舊的裝置必須在旁)。

在iOS 12和iOS 13(beta)中,此內容包括:

  • The Keychain: 包含Safari與第三方APP上的用戶帳密。Keychain只能在當初備份的那台裝置上解開,如果沒有原始裝置,即使Apple和執法單位都無法從iCloud備份上解開keychain資訊。Keychain的密鑰是由硬體的唯一性的資訊與螢幕鎖密碼組合而成。

以下內容不會被iCloud Backup備份:

  • Health Data

  • Home Data

  • 已儲存在其他雲服務的內容,如Gmail、Exchange

  • Face ID或Touch ID設定

此外,如果用戶有針對特定類別啟用iCloud同步,則會從iCloud備份中將同步項目排除,不進行iCloud備份。 這些項目包括:

  • iCloud照片

  • Apple Pay資料與設定

  • 聯絡人、日曆、筆記、語音備忘錄與音樂等

*注意*,iOS 13特別排除了以下兩個內容類別:

  • Call logs

  • Safari瀏覽紀錄

iCloud同步(iCloud Sync)

自從2011年iCloud備份出現以來,Apple正逐漸降低該功能。 iCloud Photo Library的推出使照片透過iCloud的同步服務在設備間同步資料。 一旦用戶啟用了 iCloud Photo Library,照片將不再儲存於iCloud備份中。 同樣的,一旦用戶啟用了iCloud Message(需要iOS 11.4及更高版本),簡訊與iMessage訊息將不再儲存在iCloud備份中,而是透過用戶的iCloud帳號進行同步。 iOS 13之後,iCloud備份將停止Call Logs和Safari瀏覽記錄的備份,這兩個類別會由iCloud同步功能取代。

Authentication token適合用於提取iCloud同步資料(受保護類別除外)。 以下總結了iCloud同步資料的安全機制:

  • 要讀取iCloud同步資料,需要用戶的Apple ID,密碼和2FA驗證碼。

  • 可透過Authentication Tokens讀取iCloud同步的資料。

  • Apple可以讀取用戶的iCloud同步資料。

  • 當政府或GDPR請求時提供iCloud同步資料時,Apple會提供。

  • 最後,Cellebrite Cloud Analyzer可以提取iCloud同步資料。

使用螢幕鎖加密的iCloud資料

該類別的資料受到最高等級的保護處理,採用了End-to-end Encryption(E2EE)來確保只有用戶才可解密這類別的資料。以下類型資料必須註冊在同一個Apple ID下,並知道裝置的螢幕鎖定密碼(或Mac系統密碼),才可以解密使用:

  • iCloud Keychain: 除了用戶帳密外,也包含了解開其他資料的加密密鑰。

  • iCloud訊息

  • Health資料

若要讀取這些保護的內容,你必須要有以下所有項目:

  • Apple ID與密碼

  • 一次性的2FA驗證碼(如果沒有啟用2FA,很多資料不會被同步至iCloud上)

  • 已註冊在iCloud Keychain上的設備的螢幕鎖密碼或Mac系統密碼

讀取iCloud資料的限制

  • Authentication Tokens無法讀取採用螢幕鎖加密的資料(E2EE)

  • 一般情況下使用iCloud同步Keychain,Health或Messages時不會有問題。但設定新的iPhone以接收iCloud同步資訊時,過程需要輸入舊或既有iPhone螢幕鎖定密碼

  • Apple無法讀取透過iCloud同步的密碼,訊息或健康資料。即使數據存儲在Apple服務上,Apple也無法對其進行解密。

  • 當政府或GDPR請求時提供iCloud同步資料時,Apple不會提供螢幕鎖加密的iCloud資料(僅有一個例外)

  • 如果知道iOS裝置密碼或Mac系統密碼,則仍然可以4PC或PA提取

例外:iOS 11與12的保護與提取健康資料

從iOS 11開始,Apple提供了iCloud的健康資料同步功能。 在iOS 11中,除CDA記錄之外的所有類型的資料都採iCloud同步。且對活動,睡眠,營養,等類型的資料沒有額外的保護。

iOS 11健康資料保護方式

  1. 讀取iCloud上同步的健康資料,需Apple ID帳密與2FA驗證碼。
  2. Apple有技術能力取得iCloud上的健康資料。
  3. 當政府或GDPR請求時提供iCloud健康同步資料時,Apple會提供。
  4. PA可以分析iCloud同步的健康資料。

iOS 12健康資料保護方式

與iOS 11最大的不同,iOS 12針對健康資料採用E2EE加密方式;有趣的是,舊的(未加密的)健康資料在用戶將其最後一個設備更新到iOS 12後尚會在iCloud上保留一段時間。為了讀取iOS 12以上版本的iCloud同步的健康數據,需要以下所有項目:

  1. Apple ID帳密。
  2. 2FA驗證碼(若沒啟用2FA,則健康資訊不會同步至iCloud)。
  3. 任一個已在iCloud同步上註冊過的裝置或Mac。

已下為iOS 12的限制

  • 設定新的iPhone以接收iCloud同步資訊時,過程需輸入舊或既有iPhone螢幕鎖定密碼

  • Apple無法讀取透過iCloud同步的健康資料。即使數據存儲在Apple服務上,Apple也無法對其進行解密。

  • 當政府或GDPR請求時提供iCloud同步資料時,Apple不會提供螢幕鎖加密的iCloud健康資料。

  • 透過Cloud Analyzer有機會提取健康資料。

雙因素驗證的好處、Advantage of Two-Factor Authentication

如果用戶啟用了2FA雙因素身份驗證,用戶可獲得的備份深度,會比沒有啟用2FA多很多。如用戶可以使用iPhone直接重置Apple ID密碼,他們可以在不知道iCloud密碼的情況下停用“尋找我的iPhone”功能。

只有具有2FA身份驗證的帳戶才能執行以下操作:

  1. 同步密碼(iCloud Keychain)
  2. 同步訊息(簡訊與iMessages)
  3. 同步健康資料
  4. 同步螢幕使用時間資料

數位鑑識人員因2FA驗證,可以獲得的資訊比沒保護的情況下還完整。且若有手機的情況下,取得2FA的一次性密碼也相對簡單。或者也可以使用Authentication Tokens來跳過2FA驗證,但會有限制。

Token與2FA驗證的限制、Restrictions of Authentication Token and Two-Factor Authentication

早期,若使用驗證Token可從雲端提取大部分的資料,甚至包括iCloud備份。而今,Apple大幅限制了驗證Token可以提取的資料。您無法再使用Token來讀取已啟用2FA驗證的iCloud備份。雖然您仍然可以使用Token從非2FA帳戶下載iCloud備份,但這些Token的生命週期僅限於產生後的一小時。

不管有或沒有啟用2FA的狀態下,可以使用Token提取的同步內容包括(沒有一小時時間限制):

  1. 大部分的同步資料,包括聯絡人、行事曆、筆記等。
  2. Safari瀏覽紀錄。
  3. 電話撥打紀錄。
  4. iCloud照片。
  5. iDrive檔案。
  6. Cloud郵件。
  7. FileVailt 2硬碟加密救援的Token。

若啟用了2FA:

  • iCloud備份無法透過token讀取。

若2FA沒啟用:

  • iCloud備份可以使用Token取得,但有一個小時的限制。

以下為無法透過Token取得的內容:

  • 密碼(iCloud Keychain)。

  • 健康資料。

  • 螢幕時間。

  • 訊息(簡訊與iMessage),如果訊息沒啟用iCloud同步功能。

如何取得Apple ID帳密

因為token的限制較多,鑑識人員可以思考如何取得Apple ID驗證帳密:

  • 可透過Cellebrite PC Collector提取儲存於瀏覽器上的帳密。

  • PA可提取並分析儲存於Mac上的Keychain檔案。

  • 從iOS設備中提取Keychain檔案(使用Cellebrite 4PC提取),您可以使用Cellebrite PA來分析密碼(須知道備份密碼)。

總結

iCloud Authentication Token不再像過去前那樣方便。Token的加密和保護與一小時的組合限制使得Token對於讀取特定類型的同步資料是有效的。可惜的是,最有價值的資料無法透過Token取得,例如iCloud備份,密碼,健康和訊息。