Logo id.androidermagazine.com
Logo id.androidermagazine.com

Bagaimana Android menyimpan sidik jari Anda?

Anonim

Pelepasan iPhone tanpa sensor sidik jari telah membawa beberapa pembicaraan tentang penggunaan sidik jari untuk otentikasi dan seberapa aman data disimpan. Itu luar biasa. Bahkan jika Anda tidak khawatir tentang bagaimana hal itu dilakukan, Anda perlu banyak orang lain untuk peduli sehingga dilakukan dengan cara yang tidak perlu Anda khawatirkan!

Sebagai permulaan, Apple menggunakan solusi serupa dan jika Anda memiliki model yang lebih tua dengan sensor sidik jari Anda sama amannya menggunakannya seperti sebelumnya. Hal yang sama berlaku untuk ponsel Samsung lama yang meluncurkan pra-Marshmallow dan menggunakan metode Samsung sendiri.

Cara Google menyimpan data sidik jari Anda adalah cara yang paling aman dengan teknologi saat ini. Ini juga menarik betapa sederhananya gambaran umum dari semuanya setelah Anda melihatnya. Sederhana dan aman selalu merupakan kombo yang menang.

Penyimpanan, menurut sifatnya, tidak terlalu aman. Itu sama dengan menulis sesuatu pada kertas post-it dan meletakkannya di lemari arsip. Itu ada di sana karena itu harus ada di sana, dan hal terbaik yang dapat Anda lakukan adalah mengontrol siapa yang memiliki akses ke sana. Untuk lemari file, Anda menggunakan kunci, dan untuk telepon Anda, Anda menggunakan enkripsi. Untuk data sidik jari Anda, beberapa langkah lebih lanjut: Lingkungan Eksekusi Tepercaya (TEE).

TEE adalah area terpisah dan terisolasi di perangkat keras ponsel. TEE mungkin menggunakan prosesor dan memori sendiri atau dapat menggunakan instance tervirtualisasi pada CPU utama. Dalam kedua kasus tersebut, TEE sepenuhnya terisolasi dan terisolasi menggunakan memori yang didukung perangkat keras dan perlindungan input / output. Satu-satunya cara Anda akan masuk adalah jika TEE memungkinkan Anda masuk, dan itu tidak akan pernah terjadi. Bahkan jika ponsel di-root atau bootloader tidak terkunci, TEE terpisah dan masih utuh.

Prosesor terpisah dengan memori dan sistem operasinya sendiri digunakan untuk menganalisis dan menyimpan data sidik jari Anda.

Google menggunakan apa yang mereka sebut TEE terpercaya untuk mendukung ini. Sistem operasi yang sangat kecil dan efisien, bernama Trusty OS, berjalan pada perangkat keras TEE dan driver kernel memungkinkannya untuk berkomunikasi dengan sistem. Ada pustaka Android (Anda dapat menebaknya: API Terpercaya) yang dapat digunakan pengembang sehingga mereka dapat menanyakan jumlah pertanyaan ya atau tidak pada TEE. Bukan hanya data sidik jari disimpan di TEE. Hal-hal seperti kunci DRM dan kunci enkripsi bootloader pabrikan juga hidup di TEE dan bekerja dengan cara yang sama dengan data sidik jari Anda - jawab apakah data yang disajikan kepadanya oleh suatu aplikasi cocok dengan data yang diketahui baik yang disimpannya.

Pabrikan lain dapat menggunakan OS Trusty atau kemudian dapat menggunakan sistem yang berbeda. Selama semua kriteria terpenuhi (tercantum di bawah) dan TEE terisolasi dan terisolasi akan memenuhi standar keamanan yang diperlukan untuk menggunakan Pixel Imprint (sebelumnya Nexus Imprint).

Diagram blok TEE TrustMone ARM.

Saat Anda mendaftarkan sidik jari di ponsel Android Anda, sensor mengambil data dari pemindaian. OS Trusty menganalisis data ini di dalam TEE, kemudian menciptakan dua hal: satu set data validasi dan templat sidik jari terenkripsi. Tampaknya ini adalah data sampah untuk segalanya kecuali TEE yang juga memiliki kunci untuk menguraikan data sampah itu. Template sidik jari terenkripsi ini disimpan dalam wadah terenkripsi baik di TEE atau di penyimpanan terenkripsi ponsel Anda. Tiga lapisan enkripsi berarti hampir tidak mungkin untuk mendapatkan data, dan bahkan jika Anda bisa, itu tidak berguna tanpa cara menguraikannya.

Android mengharuskan data sidik jari Anda diamankan dengan kunci unik, dan Anda tidak dapat membawanya ke telepon lain atau menggunakannya kembali untuk pengguna lain.

Data validasi disimpan di dalam TEE. Ketika Anda meletakkan jari Anda pada pemindai untuk mencoba dan melakukan sesuatu, pemindai membuat profil data. Melalui API Percaya, aplikasi terkait meminta kernel untuk menanyakan TEE apakah itu benar. TEE memeriksa data validasi yang disimpan menggunakan prosesor dan memori terpisah, dan jika cukup data yang cocok itu mengatakan ya. Jika tidak ada data yang cocok, dikatakan tidak. Respons lulus atau gagal ini dikirim kembali ke kernel sebagai token perangkat lunak yang dapat dibaca oleh API untuk melihat hasilnya.

Sementara TEE itu sendiri menggunakan OS mandiri dan perangkat keras untuk tetap aman, templat sidik jari menggunakan enkripsi berbasis perangkat lunak. Itu harus ditandatangani oleh kunci yang sangat spesifik agar valid. Kunci ini dibuat menggunakan informasi khusus perangkat, informasi khusus pengguna, dan informasi khusus waktu. Dengan kata lain, jika Anda menghapus pengguna, mengganti perangkat atau mencoba mendaftarkan ulang sidik jari (sistem dapat mengetahui apakah Anda menimpa sidik jari yang ada) kunci tidak lagi dikenali dan tidak dapat digunakan untuk mendekripsi sidik jari templat.

Aturan dasar yang harus diikuti oleh setiap perusahaan yang membuat ponsel Android dengan sensor sidik jari:

  • Semua analisis data sidik jari harus dilakukan di dalam TEE
  • Semua data yang terkait dengan sidik jari harus disimpan di TEE atau di memori tepercaya (memori yang bahkan tidak bisa dilihat oleh CPU utama)
  • Data profil sidik jari harus dienkripsi sendiri bahkan jika disimpan dalam penyimpanan telepon terenkripsi
  • Menghapus akun pengguna juga harus menghapus data yang terkait dengan sidik jari pengguna tersebut dengan aman
  • Di mana profil sidik jari disimpan tidak boleh terlihat oleh aplikasi, proses, atau pengguna apa pun termasuk pengguna root
  • Data sidik jari dalam bentuk apa pun tidak boleh dicadangkan ke sumber lain, termasuk cloud atau komputer Anda atau aplikasi apa pun
  • Otentikasi sidik jari harus digunakan oleh proses yang memintanya (tidak berbagi data sidik jari apa pun, bahkan hanya jawaban ya atau tidak untuk melihat apakah itu benar)

Ketika Anda memiliki beberapa spesifikasi standar yang jelas, tidaklah sulit untuk memenuhinya. Inilah yang memastikan bahwa apa pun ponsel Android yang Anda gunakan, data sidik jari Anda akan disimpan dengan aman dan tidak ada proses sistem atau aplikasi lain yang dapat mengaksesnya. Seiring berkembangnya kriptografi, terutama enkripsi yang didukung perangkat keras, metode penyimpanan data sidik jari Anda juga akan aman. Akan menarik untuk melihat ke belakang begitu Android Z diluncurkan dan melihat seberapa jauh kita telah sampai.