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.