Enkripsi iCloud
Enkripsi data di iCloud terkait erat dengan model penyimpanan data, dimulai dengan kerangka dan API CloudKit yang memungkinkan app dan perangkat lunak sistem menyimpan data di iCloud atas nama pengguna, dan terus memperbaruinya di seluruh perangkat dan di web.
Enkripsi CloudKit
CloudKit adalah kerangka yang memungkinkan pengembang app menyimpan data nilai kunci, data terstruktur, dan aset (data besar yang disimpan secara terpisah dari database, seperti gambar atau video) di iCloud. CloudKit mendukung database publik dan pribadi, yang dikelompokkan di wadah. Database publik dibagikan secara global, biasanya digunakan untuk aset umum, dan tidak dienkripsi. Database pribadi menyimpan data iCloud masing-masing pengguna.
CloudKit menggunakan hierarki kunci yang cocok dengan struktur data. Setiap database pribadi wadah dilindungi oleh hierarki kunci, yang terletak di kunci asimetris yang disebut kunci Layanan CloudKit. Kunci ini unik bagi setiap pengguna iCloud dan dibuat di perangkat tepercaya mereka. Saat data ditulis ke CloudKit, semua kunci rekaman dibuat di perangkat tepercaya pengguna dan dibungkus dengan hierarki kunci yang sesuai sebelum data apa pun diunggah.
Banyak layanan Apple, yang tercantum di artikel Dukungan Apple tinjauan keamanan data iCloud, menggunakan enkripsi ujung ke ujung dengan kunci layanan CloudKit yang dirancang dilindungi dengan cara yang sama dengan penyelarasan Rantai Kunci iCloud. Untuk wadah CloudKit ini, kunci layanan hanya tersedia di perangkat tepercaya pengguna dan tidak dapat diakses oleh Apple atau pihak ketiga mana pun. Kunci ini diselaraskan di antara perangkat pengguna bahkan jika pengguna memilih untuk tidak menggunakan Rantai Kunci iCloud untuk menyelaraskan kata sandi, kunci sandi, dan data pengguna lainnya. Jika perangkat hilang, pengguna dapat memulihkan data Rantai Kunci iCloud mereka melalui penggunaan pemulihan Rantai Kunci iCloud aman, Kontak Pemulihan Akun, atau Kunci Pemulihan Akun.
Manajemen kunci enkripsi
Keamanan data terenkripsi di CloudKit mengandalkan keamanan kunci enkripsi masing-masing. Kunci layanan CloudKit dibagi menjadi dua kategori: dienkripsi ujung ke ujung dan tersedia setelah pengesahan.
Kunci layanan yang dienkripsi ujung ke ujung: Untuk layanan iCloud yang dienkripsi ujung ke ujung, kunci pribadi layanan CloudKit yang relevan tidak pernah disediakan ke server Apple. Pasangan kunci layanan, termasuk kunci pribadi, dibuat secara lokal di perangkat tepercaya pengguna dan ditransfer ke perangkat lain pengguna menggunakan keamanan Rantai Kunci iCloud. Meskipun alur pemulihan dan sinkronisasi Rantai Kunci iCloud dilakukan oleh server Apple, server ini secara kriptografis dicegah dari mengakses data rantai kunci pengguna mana pun. Di kasus terburuk hilangnya akses Rantai Kunci iCloud dan semua mekanisme pemulihannya, data yang dienkripsi ujung ke ujung di CloudKit akan hilang. Apple tidak dapat membantu memulihkan data ini.
Kunci layanan tersedia setelah pengesahan: Untuk layanan lainnya, seperti Foto dan iCloud Drive, kunci layanan disimpan di Modul Keamanan Perangkat Keras iCloud di pusat data Apple, dan dapat diakses oleh beberapa layanan Apple. Saat pengguna masuk ke iCloud di perangkat baru dan mengesahkan ID Apple miliknya, kunci ini dapat diakses oleh server Apple tanpa interaksi atau input pengguna lebih lanjut. Misalnya, setelah masuk ke iCloud.com, pengguna dapat segera melihat foto mereka secara online. Kunci layanan ini merupakan kunci tersedia setelah pengesahan.