我一直無法在官方文檔中找到明確的答案。是由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 保護,使之無用如果恢復到不同的設備。