2016-04-27 34 views
5

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.

Trả lời

1

Liệu kSecAttrAccessible ảnh hưởng đến hành vi như thế nào một mục keychain của lớp kSecClassGenericPassword được sao lưu hay không?

Có.

Tôi không thấy bất kỳ mâu thuẫn quan trọng nào trong các báo giá khác nhau mà bạn đã đăng . Bất kể, trong những tình huống như thế này, tôi khuyên bạn nên căn cứ vào các quyết định của mình về các tuyên bố trong tài liệu Bảo mật iOS .

Điều này có nghĩa là liệu kSecClassGenericPassword được sao lưu hay không phải là chi tiết triển khai và có thể thay đổi không?

Tôi nghĩ rằng an toàn để nói rằng cơ chế chính xác của sao lưu là có thể thay đổi. Tuy nhiên, tôi hy vọng rằng bất kỳ thay đổi nào như vậy sẽ tiếp tục tôn vinh cờ xxxThisDeviceOnly. Chia sẻ và thưởng thức
-

Quinn
của Apple Quan hệ nhà phát triển, nhà phát triển Hỗ trợ kỹ thuật, Core OS/Phần cứng

Ref “Eskimo!”: https://forums.developer.apple.com/thread/45940 (Cần một tài khoản nhà phát triển của Apple)

Các vấn đề liên quan