2016-04-27 128 views
5

我一直無法在官方文檔中找到明確的答案。是由iTunes/iCloud備份的鑰匙串密碼?

kSecAttrAccessible是否會影響類kSecClassGenericPassword的keychain項目的備份行爲?

只有kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly明確聲明該項目未備份。 AFAICS,kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly使其明確的唯一原因是因爲它是有設計的。

這是否意味着無論是否備份kSecClassGenericPassword都是一個實現細節,並且可以更改此類主題?

參考
(用於強調自己的亮點)

iPhone鑰匙扣備份
在iOS系統中,應用程序始終有權訪問自己的鑰匙串項目,並沒有訪問任何其他應用程序的項目。系統爲鑰匙串生成自己的密碼,並將密鑰存儲在設備上,以使其無法被任何應用程序訪問。 當用戶備份iPhone數據時,會備份鑰匙串數據,但鑰匙串中的祕密在備份中保持加密狀態。鑰匙串密碼不包含在備份中。因此,iPhone上的鑰匙串中存儲的密碼和其他祕密不能被有權訪問iPhone備份的人使用。出於這個原因,使用iPhone上的鑰匙串來存儲可用於登錄到安全網站的密碼和其他數據(例如cookie)是非常重要的。 https://developer.apple.com/library/ios/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html

關於在iTunes
加密備份以保護您的iPhone,iPad或iPod touch的備份在iTunes中,您可以使用密碼保護和加密。 iTunes中的加密備份功能鎖定並編碼您的數據。 加密的備份的iTunes包括某些信息,其他備份不會:

  • 你保存的密碼
  • Wi-Fi設置
  • 網站歷史
  • 健康數據

https://support.apple.com/en-gb/HT205220

關於iCloud和iTunes中的備份 iTunes備份
iTunes備份包括幾乎所有設備的數據和設置。一個iTunes備份不包括:

  • 活動,健康和鑰匙扣數據(要備份這些內容,你需要在iTunes中使用的加密備份。

https://support.apple.com/en-gb/HT204136

IOS安全
的iOS 9.0或更高版本
2015年9月

iCloud雲備份
當用戶的鑰匙串數據庫備份到iCloud,但它仍然保護由UID糾結的密鑰。這允許鑰匙串僅被恢復到它所來源的相同設備,並且這意味着沒有其他人(包括Apple)可以讀取用戶的鑰匙串項目。

https://www.apple.com/business/docs/iOS_Security_Guide.pdf

鑰匙扣數據保護
其他鑰匙串類有一個「只此設備」配對,備份期間從設備被複制時,它總是有UID 保護,使之無用如果恢復到不同的設備。

回答

1

是否kSecAttrAccessible影響如何在鑰匙鏈上的物品類別kSecClassGenericPassword的 備份或不行爲?

是的。

我在您發佈的各種引用中看不到任何重大矛盾。無論如何,在這種情況下,我建議您根據iOS安全性文檔中的語句決定您的 決定。

這是否意味着無論是kSecClassGenericPassword備份還是 都不是實施細節,並且因此可能會更改?

我認爲可以肯定地說備份的確切機制是 可能會有變化。不過,我預計任何此類更改都會繼續遵守xxxThisDeviceOnly標誌。分享和欣賞
-

奎因
蘋果開發者關係,開發者技術支持,核心操作系統/硬件

參考「愛斯基摩人!」:https://forums.developer.apple.com/thread/45940(需要蘋果開發者賬號)