Pada hari Senin di WWDC Apple, Apple
memperkenalkan fitur baru yang keren yang disebut "Find My .
" Tidak seperti standar
"Find My iPhone," yang mengandalkan infrastruktur seluler dan GPS dari perangkat yang hilang, fitur Find Me bahkan dapat menemukan perangkat
tanpa SIM. -kartu dan GPS: misalnya, laptop, atau bahkan
tag lokasi "bodoh" yang melekat pada item apa pun (Apple mengisyaratkan hanya dalam arti luas).
Idenya adalah untuk mengubah seluruh jaringan iPhone yang ada menjadi sistem crowdsourcing skala besar untuk melacak objek di sekitarnya. Setiap iPhone yang aktif akan secara konstan memonitor pesan suar BLE yang berasal dari perangkat lain. Ketika dia menemukan salah satu sinyal ini, dia menandai paket dengan koordinat GPS-nya dan mengirimkannya ke server Apple. Ini bagus untuk membingungkan seperti saya, yang terus-menerus kehilangan barang: jika saya meninggalkan ransel saya
di bus wisata di China di kantor, cepat atau lambat seseorang akan menemukan sinyalnya - dan saya akan langsung mencari tahu di mana menemukannya.
(Perlu dicatat bahwa bukan Apple yang mengemukakan gagasan itu. Faktanya, perusahaan seperti
Tile sudah ada cukup lama. Dan ya, mereka harus khawatir dengan bisnis mereka).
Jika Anda tidak terkesan dengan deskripsi di atas, izinkan saya mengajukan pertanyaan yang harus Anda tanyakan:
bagaimana sistem ini melindungi terhadap pelanggaran privasi besar-besaran?Kami mencantumkan potensi masalah:
- Jika perangkat terus-menerus memancarkan sinyal BLE yang secara unik mengidentifikasinya, semua orang punya cara (lain) untuk melacak Anda. Pemasar sudah menggunakan WiFi dan alamat MAC Bluetooth untuk ini, dan fungsi Temukan Saya membuat saluran pelacakan lain.
- Dia juga mendeklasifikasi mereka yang terlibat dalam proses tersebut. Sekarang orang-orang ini akan mengirim lokasi mereka saat ini ke Apple (mungkin mereka sudah melakukannya). Tetapi sekarang mereka harus berbagi informasi ini juga dengan orang asing yang "kehilangan" perangkat mereka. Itu bisa berakhir buruk.
- Penipu juga dapat meluncurkan serangan aktif di mana mereka memalsukan lokasi perangkat Anda. Meskipun ini tampaknya tidak mungkin, orang selalu terkejut.
Kabar baiknya adalah Apple mengklaim bahwa sistem tersebut memberikan privasi yang kuat melalui penggunaan kriptografi yang tepat. Namun, seperti biasa, mereka menolak
memberikan detail implementasi . Andy Greenberg di Wired menggambarkan
implementasi teknis parsial dari Apple, yang memungkinkan banyak untuk dipahami. Sayangnya, kisah ini masih menyisakan celah yang sangat besar. Saya yang akan saya isi, menawarkan deskripsi yang paling mungkin tentang apa yang sebenarnya dilakukan Apple.
Peringatan besar: banyak yang bisa sepenuhnya salah. Saya pasti akan memperbarui artikel ketika Apple memberi tahu lebih banyak.
Beberapa masalah besar
Untuk menguraikan skenario, Anda perlu memperkenalkan beberapa perangkat ke dalam gambar. Untuk inspirasi, ambil Lassie serial televisi 1950-an.
Perangkat pertama yang kita sebut
Timmy adalah "hilang."
Timmy memiliki pemancar radio BLE, tetapi tidak ada GPS atau koneksi internet. Untungnya, dia sudah dipasangkan dengan perangkat kedua bernama
Ruth , yang ingin menemukannya. Karakter utama kami adalah
Lassie : ini adalah iPhone dari orang asing acak (dan tidak sadar) yang (misalkan) memiliki setidaknya koneksi internet berkala dan GPS yang andal. Dan Lassie adalah gadis yang sangat baik. Perangkat jaringan berkomunikasi melalui server iCloud Apple, seperti yang ditunjukkan di bawah ini:

(Karena
Timmy dan
Ruth harus dipasangkan di muka, keduanya mungkin milik orang yang sama. Saya menyebutkan bahwa Anda perlu membeli
dua perangkat Apple agar sistem dapat berfungsi? Ini tidak masalah dengan Apple.)
Kami sedang mempertimbangkan sistem keamanan, jadi pertanyaan pertama adalah:
siapa orang jahat itu ? Dalam situasi ini, jawabannya tidak menyenangkan:
siapa pun bisa menjadi penyerang potensial . Itu sebabnya masalahnya sangat menarik.
Anonimitas Timmy
Aspek yang paling penting dari sistem ini adalah Anda tidak boleh membiarkan orang luar melacak
Timmy , terutama ketika dia tidak tersesat. Ini menghilangkan beberapa keputusan yang cukup jelas, misalnya, ketika perangkat
Timmy berteriak:
"Hai, nama saya Timmy, tolong panggil ibuku Ruth dan beri tahu saya bahwa saya kehilangan .
" Ini juga menghilangkan hampir semua pengenal statis abadi, bahkan buram dan acak.
Persyaratan terakhir terdiri dari pengalaman menyedihkan dari layanan yang menyalahgunakan pengidentifikasi statis (misalnya,
alamat WiFi MAC Anda ) untuk melacak pergerakan perangkat. Apple telah berjuang
dengan kesuksesan campuran dengan mengacak pengidentifikasi seperti alamat MAC. Jika Apple menambahkan pengenal pelacakan statis untuk βFind My,β semua masalah hanya akan bertambah buruk.
Persyaratan ini berarti bahwa semua pesan yang dikirim oleh
Timmy harus buram. Selain itu, konten dari pesan-pesan ini harus berubah relatif sering ke nilai-nilai baru yang tidak dapat dikaitkan dengan yang lama. Satu cara yang jelas bagi perangkat berpasangan untuk mengenali pesan-pesan seperti itu adalah untuk membuat
Timmy dan
Ruth menyetujui daftar panjang "
alias " acak untuk
Timmy , dan biarkan
Timmy memilih yang berbeda setiap kali.
Ini sangat membantu. Setiap kali
Lassie melihat beberapa perangkat (tidak dikenal) mentransmisikan pengenal, ia tidak akan tahu apakah itu milik
Timmy : tetapi ia dapat mengirimkannya ke server Apple bersama dengan lokasi GPS-nya sendiri. Jika
Timmy tersesat,
Ruth mungkin meminta Apple untuk menemukan semua kemungkinan alias
Timmy . Dalam situasi ini, tidak seorang pun di luar Apple akan mengenali daftar ini, dan bahkan Apple sendiri akan mengenalinya hanya setelah seseorang hilang, sehingga pendekatan ini mencegah sebagian besar opsi pelacakan.
Cara yang sedikit lebih efisien untuk mengimplementasikan ide ini adalah dengan menggunakan fungsi kriptografi (misalnya, fungsi MAC atau hash) untuk menghasilkan daftar alias dari satu "sid" pendek, salinan yang disimpan oleh
Timmy dan
Ruth . Ini bagus karena mengurangi jumlah data yang disimpan. Tetapi untuk menemukan
Timmy ,
Ruth masih perlu mengirim semua nama panggilan - atau seed - ke Apple, yang harus mencari setiap nama panggilan di database-nya.
Menyembunyikan lokasi Lassie
Pendekatan yang dijelaskan dengan nama samaran harus menyembunyikan
identitas Timmy dari
Lassie dan bahkan dari Apple (sampai saat ketika
Ruth mulai mencarinya). Namun, ada kelemahan besar:
tidak menyembunyikan koordinat GPS dari Lassie .
Ini buruk karena setidaknya beberapa alasan. Setiap kali
Lassie menemukan perangkat dengan sinyal BLE, ia harus mengirim lokasinya saat ini ke server Apple (bersama dengan alias yang dilihatnya). Ini berarti bahwa
Lassie terus-menerus memberi tahu Apple di mana dia berada. Dan terlebih lagi, bahkan jika Apple berjanji untuk tidak menyimpan identitas
Lassie , hasil dari semua pesan ini adalah database terpusat besar yang menunjukkan semua lokasi GPS di mana perangkat Apple ditemukan.
Harap dicatat bahwa array data seperti itu sendiri menghasilkan banyak informasi. Ya, pengidentifikasi perangkat dapat berupa alias - tetapi ini tidak membuat informasi tidak berguna. Misalnya, jika
beberapa perangkat Apple menyiarkan koordinat yang sama di malam hari, maka ini memberikan kemungkinan alamat orang tersebut.
Cara yang jelas untuk mencegah Apple mengungkapkan data ini adalah dengan mengenkripsi data sehingga hanya mereka yang benar-benar
perlu mengetahui lokasi perangkat yang melihat informasi tersebut. Jika
Lassie menerima pesan dari
Timmy , maka satu-satunya orang yang benar-benar perlu mengetahui lokasi
Lassie adalah
Ruth . Untuk menjaga kerahasiaan informasi ini,
Lassie harus mengenkripsi koordinatnya dengan kunci publik
Ruth .
Tentu saja, muncul pertanyaan: bagaimana
Lassie akan mendapatkan kunci
Ruth ? Solusi yang jelas bagi
Timmy adalah meneriakkan kunci publik
Ruth di setiap siarannya. Tapi ini akan membuat pengidentifikasi statis yang lagi memungkinkan
Timmy untuk dilacak.
Untuk mengatasi masalah ini,
Ruth perlu memiliki
banyak kunci publik yang tidak ditambatkan , sehingga
Timmy dapat mengeluarkan kunci yang berbeda dengan setiap siaran. Salah satu pilihan adalah membuat
Ruth dan
Timmy menghasilkan banyak pasangan kunci umum yang berbeda (atau untuk menghasilkan banyak pasangan seperti itu dari sisi yang sama). Tapi ini menjengkelkan, dan
Ruth harus menyimpan banyak kunci rahasia. Dan pengidentifikasi yang disebutkan di bagian sebelumnya dapat diperoleh dengan hashing setiap kunci publik.
Pendekatan yang sedikit lebih baik (yang dapat digunakan atau tidak digunakan Apple) melibatkan
pengacakan kunci. Ini adalah fitur beberapa cryptosystems, seperti
Elgamal :
memungkinkan kedua pihak untuk mengacak kunci publik , sehingga tidak akan dikaitkan dengan yang asli. Bagian terbaik dari fitur ini adalah bahwa
Root dapat menggunakan
satu kunci rahasia tidak peduli versi acak dari kunci publiknya digunakan untuk enkripsi .

Semua ini mengarah pada ide akhir protokol. Di setiap siaran,
Timmy mengirimkan alias baru dan salinan acak kunci publik
Ruth . Ketika
Lassie menerima siaran, dia mengenkripsi koordinat GPS-nya dengan kunci publik dan mengirim pesan terenkripsi ke Apple.
Ruth dapat mengirim alias
Timmy ke server Apple, dan jika Apple menemukan kecocokan, dia dapat menerima dan mendekripsi koordinat GPS.
Apakah itu menyelesaikan semua masalah?
Yang tidak menyenangkan adalah tidak ada solusi ideal untuk banyak situasi perbatasan yang aneh. Misalnya, bagaimana jika
Timmy memiliki niat jahat dan ingin membuat
Lassie mengungkapkan lokasi Apple-nya? Bagaimana jika Old Smithers mencoba menculik
Lassie ?
Pada titik tertentu, jawaban atas pertanyaan ini bermuara pada kenyataan bahwa kami melakukan segala yang mungkin: masalah yang tersisa harus dipindahkan di luar model ancaman. Kadang bahkan Lassie tahu kapan harus berhenti.