
Mengomunikasikan informasi darurat menggunakan satelit
Pengguna dengan iPhone 14 atau lebih baru dapat berkomunikasi melalui tautan satelit untuk menyediakan berbagai layanan. Koneksi satelit menimbulkan batasan bandwidth yang signifikan dan memerlukan protokol keamanan dengan beban bandwidth minimal. Terlepas dari jenis komunikasi (Darurat SOS, SMS, atau iMessage), Apple membangun sesi aman antara perangkat yang berada di luar jaringan dan pusat data Apple. Perangkat mendaftarkan materi kunci publik terlebih dahulu ke server melalui jaringan seluler atau Wi-Fi untuk menghemat bandwidth saat berada di luar jangkauan jaringan.
Arsitektur keamanan inti
Saat perangkat meminta layanan satelit, perangkat tersebut membangun koneksi aman dengan pusat data Apple dengan merujuk pada hash yang dipersingkat dari kunci publiknya untuk pertukaran kunci. Setiap pasangan kunci publik-pribadi hanya mendukung satu sesi, dengan masa berlaku maksimum delapan jam. Server menghasilkan pasangan kunci publik-pribadi yang sesuai untuk setiap pasangan kunci klien terlebih dahulu dan membagikan kunci publik tersebut kepada klien.
Setelah sesi berakhir atau selesai, server Apple dan perangkat akan menghapus kunci pribadi yang bersangkutan, sehingga memberikan kerahasiaan maju. Apple dan perangkat secara berkala mendaftarkan kunci tambahan, serta melakukannya kembali setelah perangkat online usai penggunaan kunci pribadi, sehingga menyediakan keamanan pascakompromi untuk komunikasi satelit. Pengamat tidak dapat mengidentifikasi pengguna dari pengenal sesi, karena setiap perangkat mengganti pengenal pada setiap sesi untuk mencegah pengaitan.
Bantuan Darurat dan Bantuan di Jalan Raya melalui satelit
Saat pengguna menggunakan SOS atau Bantuan di Jalan Raya melalui Satelit, koneksi aman ke Apple (seperti yang dijelaskan di atas) melindungi isi komunikasi. Lapisan enkripsi tambahan memastikan bahwa konten tetap terenkripsi hingga ke server aplikasi, yang kemudian meneruskan pesan ini ke layanan darurat Apple dan mitra bantuan jalan raya dengan enkripsi transportasi.
iMessage melalui satelit
Saat bertukar iMessage melalui Wi-Fi atau seluler, perangkat akan bertukar materi penting bersama dengan pesan jika ada perangkat dalam grup pengirim atau penerima yang mendukung layanan satelit. Melalui mekanisme ini, perangkat menerima pembaruan kunci secara berkala yang memungkinkan perangkat mengenkripsi dan mendekripsi pesan saat konektivitas seluler tidak tersedia dan perangkat terhubung ke satelit. Karena adanya batasan masa pakai kunci, pengguna perlu bertukar pesan dalam 30 hari terakhir untuk berkomunikasi di luar jangkauan jaringan.
Setiap perangkat menghasilkan materi kunci simetris dan mendistribusikannya menggunakan enkripsi iMessage untuk mengenkripsi pesan keluarnya sendiri. Setiap pesan menggunakan kunci simetris unik yang dihasilkan melalui fungsi derivasi kunci berbasis hash (HKDF) dengan mekanisme ratchet untuk penghitungan pesan yang sesuai. Setelah menerima pesan, perangkat penerima mencari kunci simetris pengirim untuk menghasilkan kunci pesan yang sesuai. Ketika perangkat kembali online, kunci simetris baru didistribusikan untuk sesi berikutnya.
Perangkat pengirim mengirimkan iMessage melalui satelit hanya setelah menerima beban yang ditandatangani dari penerima yang mengonfirmasi bahwa perangkat tersebut dapat menerima pesan melalui satelit.
Catatan: iMessage yang menggunakan satelit hanya mendukung pesan satu ke satu, bukan grup.
SMS melalui satelit
Ketika pengguna mengirim atau menerima pesan SMS melalui satelit, pesan tersebut dikirim ke atau diterima dari Fungsi Interoperabilitas (IWF) jaringan. IWF menerima pesan yang ditujukan kepada klien yang tidak terhubung ke jaringan dari penyedia layanan pengirim (klien tampak sedang roaming saat tidak terhubung ke jaringan, karena tidak berada di jaringan lokal penyedia layanan). Demikian pula, IWF mengirimkan pesan keluar dari klien yang tidak terhubung ke jaringan ke penyedia layanan telekomunikasi penerima. Enkripsi dan autentikasi melindungi pesan SMS yang dikirimkan di antara klien yang tidak terhubung ke jaringan dan IWF, mencegah Apple dan pihak yang memiliki akses sinyal satelit untuk mengakses atau memodifikasi pesan tersebut.
Pertukaran kunci Diffie-Hellman menggunakan kurva NIST P256 dimulai saat klien terhubung ke jaringan dan selesai saat klien lepas dari jaringan dan membangun koneksi satelit awal. Menggunakan HKDF-SHA-256, Apple dan perangkat tersebut menghasilkan beberapa kunci dari pertukaran kunci ini. Satu kunci mengenkripsi secara simetris (menggunakan AES-GCM dengan kunci 256-bit) informasi klien yang diperlukan untuk perutean SMS yang tepat (IMSI dan SMSC). Rangkaian lainnya menyediakan enkripsi dua arah untuk pesan antara klien dan IWF, juga menggunakan AES-GCM dengan kunci 256-bit.
Karena koneksi satelit memiliki bandwidth yang lebih rendah dan latensi yang lebih tinggi daripada komunikasi seluler tradisional, tidak semua pesan SMS yang masuk langsung sampai ke klien saat terhubung di luar jaringan untuk mencegah spam atau pesan bernilai rendah menunda pengambilan SMS penting. Sebaliknya, sistem hanya mengirimkan pesan masuk ke klien jika salah satu dari kondisi berikut terpenuhi:
1. Klien, meskipun sedang tidak terhubung ke jaringan, telah mengirim pesan kepada pengirim dalam kurun waktu 24 jam terakhir.
2. Pengirim adalah pengirim yang disetujui (dalam kontak darurat pengguna atau anggota keluarga iCloud).
Jika tidak, Apple akan menyimpan pesan yang dienkripsi di servernya hingga klien kembali online dan mengambil pesan tersebut melalui jaringan tradisional. Untuk menjaga privasi pengguna, Apple memastikan bahwa IWF tidak mengetahui daftar pengirim yang disetujui pengguna.
Klien menggunakan HMAC-SHA-256 dengan kunci yang berasal dari kunci utama sesi untuk menghasilkan nama samaran acak untuk setiap nomor telepon di setiap sesi. Saat sesi dibuat, klien mengirimkan nama samaran untuk setiap nomor telepon yang ada dalam daftar yang diizinkan ke server Apple. Demikian pula, sistem ini menghasilkan dan mengirimkan nama samaran ke Apple setiap kali klien mengirim SMS ke nomor telepon. Hal ini memungkinkan Apple untuk menyimpan daftar nama samaran pengirim yang diizinkan untuk sesi tersebut.
Saat seseorang mengirim SMS ke klien setelah sesi terjalin, IWF mengenkripsi pesan tersebut dan menghitung nama samaran nomor telepon pengirim. IWF kemudian mengirimkan informasi ini bersama dengan pesan terenkripsi ke server Apple. Server membandingkan nama samaran pengirim pesan yang masuk dengan daftar yang diizinkan dan meneruskan pesan terenkripsi jika ada kecocokan.