Tôi không thể tìm thấy câu trả lời rõ ràng cho điều này trong tài liệu chính thức.Mật khẩu keychain có được sao lưu bằng iTunes/iCloud không?
Liệu kSecAttrAccessible có ảnh hưởng đến hành vi của cách một mục keychain của lớp kSecClassGenericPassword được sao lưu hay không?
Chỉ kSecAttrAccessibleWhenPasscodeSetThisDeviceChỉ rõ ràng rằng mục không được sao lưu. AFAICS, lý do duy nhất tại sao kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly làm cho nó rõ ràng là bởi vì nó theo thiết kế.
Điều này có nghĩa là liệu một kSecClassGenericPassword được sao lưu hay không là chi tiết triển khai và có thể thay đổi không?
Tham khảo
(điểm nổi bật riêng dùng để nhấn mạnh)
iPhone Keychain sao lưu
Trong iOS, một ứng dụng luôn luôn có quyền truy cập vào mục keychain riêng của mình và không có quyền truy cập vào mục bất kỳ ứng dụng khác . Hệ thống tạo mật khẩu riêng cho khóa và lưu trữ khóa trên thiết bị theo cách không thể truy cập vào bất kỳ ứng dụng nào. Khi người dùng sao lưu dữ liệu iPhone, dữ liệu keychain được sao lưu nhưng các bí mật trong móc khóa vẫn được mã hóa trong bản sao lưu. Mật khẩu keychain không được bao gồm trong bản sao lưu. Do đó, mật khẩu và các bí mật khác được lưu trữ trong keychain trên iPhone không thể được sử dụng bởi người nào đó có quyền truy cập vào bản sao lưu iPhone. Vì lý do này, điều quan trọng là sử dụng keychain trên iPhone để lưu trữ mật khẩu và các dữ liệu khác (chẳng hạn như cookie) có thể được sử dụng để đăng nhập vào các trang web bảo mật. https://developer.apple.com/library/ios/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html
Về sao lưu được mã hóa trong iTunes
Để bảo vệ bản sao lưu của iPhone, iPad, hoặc iPod touch của bạn trong iTunes, bạn có thể sử dụng mật khẩu bảo vệ và mã hóa. Tính năng Mã hóa sao lưu trong iTunes khóa và mã hóa dữ liệu của bạn. Một mã hóa iTunes sao lưu bao gồm thông tin chắc chắn rằng các bản sao lưu khác không:
- mật khẩu đã lưu của bạn thiết lập
- Wi-Fi
- lịch sử trang web
- dữ liệu Sức khỏe
https://support.apple.com/en-gb/HT205220
Giới thiệu về sao lưu trong iCloud và iTunes Sao lưu iTunes
Sao lưu iTunes bao gồm gần như tất cả dữ liệu và cài đặt của thiết bị. Bản sao lưu iTunes không bao gồm:
- Dữ liệu hoạt động, y tế và Keychain (Để sao lưu nội dung này, bạn cần sử dụng Sao lưu được mã hóa trong iTunes.)
https://support.apple.com/en-gb/HT204136
iOS an
iOS 9.0 hoặc mới hơn
tháng 9 năm 2015
iCloud sao lưu
Trong khi cơ sở dữ liệu keychain của người dùng được sao lưu vào iCloud, nó vẫn được bảo vệ bằng khóa UID-rối. Điều này cho phép keychain chỉ được khôi phục cho cùng một thiết bị mà nó bắt nguồn và điều đó có nghĩa là không ai khác, bao gồm cả Apple, có thể đọc các mục keychain của người dùng.
https://www.apple.com/business/docs/iOS_Security_Guide.pdf
Keychain Bảo vệ dữ liệu
lớp keychain khác có một “Thiết bị này chỉ” đối tác, mà luôn luôn được bảo vệ với UID khi được sao chép từ các thiết bị trong một bản sao lưu, làm cho nó vô dụng nếu được khôi phục vào thiết bị di động.