Bagaimana Apple (secara pribadi) menemukan offline perangkat Anda yang hilang?

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.

Source: https://habr.com/ru/post/id455054/


All Articles