Isi kandungan:
- Apa penyulitan?
- Perubahan dalam Lollipop
- Isu prestasi
- Penyulitan tidak wajib (dan adakah anda memerlukannya?)
Terdapat banyak maklumat di luar sana tentang penyulitan cakera penuh "default" Android 5.0 Lollipop (FDE). Sebahagian daripadanya adalah maklumat yang baik, sebahagian daripadanya adalah maklumat yang tidak baik, dan banyaknya hanya berulang spekulasi. Walaupun ini berlaku untuk perbualan yang baik - dan FDE adalah sesuatu yang patut dibincangkan - kami mahu memecahkan titik-titik yang lebih baik ke dalam perbincangan yang mudah dibaca.
Ini tidak dimaksudkan untuk menjadi semua dokumen akhir pada penyulitan Android. Google telah memaparkannya. Kami akan menangani soalan-soalan yang berorientasikan pengguna yang kami terus mendengar. Seperti biasa, gunakan komen untuk perbincangan supaya kita semua boleh belajar sedikit perkara.
Apa penyulitan?
Penyulitan adalah proses melindungi data menggunakan kunci penyulitan. Fikirkan kata laluan sebagai kunci, dan penyulitan adalah kunci yang sangat selamat. Anda memerlukan kunci untuk masuk untuk melakukan sesuatu. Dan semasa masuk tanpa kunci yang betul mungkin, itu tidak mungkin. (Ya, mana-mana dan setiap sistem penyulitan boleh - secara teorinya, sekurang-kurangnya - dikalahkan oleh individu pesakit dan licik.)
Pada Android kami, semua data pengguna pada peranti (sejak Android 3.0) boleh disulitkan. Data ini sebenarnya disulitkan dengan cepat, sebelum ia pernah ditulis ke cakera. Pada gilirannya, data akan di-decrypted sebelum ia akan dikembalikan kepada mana-mana program yang meminta. Apa yang anda perlukan adalah kunci yang betul, iaitu kata laluan berdasarkan kata laluan master peranti.
Perubahan dalam Lollipop
Walaupun FDE telah tersedia di Android sejak Android Honeycomb 3.x yang dilanda malapetaka, Android 5.0 membawa beberapa perubahan besar dan peningkatan dalam bagaimana ia berfungsi.
Dalam Lollipop, FDE dilakukan dengan ciri kernel yang bertindak secara langsung pada lapisan blok storan. Ini bermakna penyulitan boleh berfungsi pada peranti flash seperti storan eMMC - yang tidak mempunyai ciri penyulitan asal - kerana mereka menyerahkan diri kepada kernel sebagai peranti blok standard. Penyulitan tidak mungkin dengan sistem fail yang bercakap terus dengan storan (seperti YAFFS). Orang yang membuat telefon atau tablet anda mungkin telah menyertakan kaedah untuk menyulitkan storan luaran (seperti Kad SD), tetapi Android AOSP kebanyakannya berkaitan dengan storan dalaman. Algoritma yang digunakan ialah 128-bit AES dengan CBC dan vektor inisialisasi sektor garam yang disulitkan dengan menggunakan fungsi hash SHA256. Kekunci induk juga menggunakan panggilan ke perpustakaan OpenSSL.
Dengan kata lain, ia selamat.
Pada boot pertama ke Android, peranti anda membuat kunci induk 128-bit rawak, kemudian mencampurkannya dan menyimpannya dalam metadata crypto. Data ini dikunci oleh frasa laluan pengguna anda. (Dan ingat, orang-orang, jangan gunakan kata laluan yang lemah.) Hash yang terhasil juga ditandatangani melalui sokongan perkakasan, seperti ciri-ciri Persekitaran Pelaksanaan Dipercayai TEE seperti TrustZone. Sebelum Android 5.0, kunci tuanya disulitkan berdasarkan kata laluan pengguna, yang boleh terdedah kepada serangan luar kotak melalui ADB.
Menariknya, Google tidak menggunakan enjin kriptografi perkakasan Qualcomm di AOSP atau untuk Nexus 6. Ini tidak cekap kerana ia memaksa penyulitan dan penyahsulitan berasaskan CPU semasa cakera I / O (mungkin pada setiap selang 512 byte) berbanding menggunakan perkakasan berasaskan Qualcomm ciri prestasi. Kami tidak akan meneka kedua sebab ini, tetapi tahu bahawa OEM bebas untuk melaksanakannya seperti yang mereka suka. Kami berharap mereka akan.
Google telah banyak melakukan penyulitan cakera penuh pada Android yang selamat. Semua dalam semua, mereka telah melakukan pekerjaan yang cukup baik.
Isu prestasi
Anda mungkin pernah mendengar tentang prestasi buruk untuk membaca dan menulis cakera pada peranti Nexus dengan penyulitan yang didayakan. Memang benar - apabila anda perlu menyulitkan dan menyahsulit dengan cepat, kelajuan I / O cakera akan menderita. Seperti yang disebutkan di atas, Google tidak menggunakan ciri-ciri kernel berasaskan perkakasan Qualcomm pada Nexus 6, yang menyebabkan ia mengalami sedikit lebih banyak lagi. Tetapi bagaimana buruknya?
Cakera I / O dalam Lollipop adalah beberapa kali lebih cepat daripada yang ada di KitKat dan versi Android sebelumnya. Pengoptimum perisian dan kod khusus peranti bermakna Android boleh membaca dan menulis dari storan lebih cepat dari sebelumnya. Ini adalah perkara yang sangat baik yang kebanyakannya diabaikan oleh kali I / O yang lebih perlahan disebabkan oleh penyulitan.
Jika anda perlu menggunakan FDE (atau terpaksa menggunakannya kerana anda membeli Nexus baru dan tidak mahu memasang firmware tersuai) prestasi anda masih akan menjadi lebih baik (di atas kertas) daripada yang telah dilakukan pada KitKat. Ia tidak semestinya sebaik sahaja tanpa penyulitan. Dalam penggunaan dunia sebenar, kebanyakan pengguna yang kami telah berbincang tidak menyedari sebarang lag peranti kerana I / O lambat. Pengalaman anda mungkin berbeza.
Sekiranya anda mahu atau memerlukan FDE, trade-off mungkin berbaloi.
Penyulitan tidak wajib (dan adakah anda memerlukannya?)
Sesiapa sahaja dengan telefon yang sudah mempunyai kemas kini Lollipop boleh memberitahu anda bahawa Lollipop tidak memaksa anda untuk menggunakan penyulitan. Walaupun Nexus 6 dan Nexus 9 (dan mungkin semua peranti Nexus masa depan) dihantar dengannya dan tidak ada cara mudah untuk mematikannya, telefon yang dikemas kini kepada Lollipop - seperti Galaxy Note 4 - tidak secara automatik mempunyai penyulitan cakera penuh yang didayakan.
Begitu juga untuk peranti baru yang perkapalan dengan Android 5.x seperti LG G Flex 2. Opsyen ada yang perlu anda aktifkan, tetapi secara default penyulitan penuh dimatikan. Ini membawa kita kepada pilihan - adakah kita memerlukan penyulitan cakera penuh?
Banyak daripada kita akan mendapati penyulitan cakera penuh berguna. Sekiranya anda mempunyai maklumat sensitif yang anda tidak pernah ingin jatuh ke tangan yang salah di telefon anda, FDE adalah rahmat. Bagi seseorang untuk masuk ke dalam data anda, mereka mesti mengetahui kata laluan peranti anda. Tidak ada jumlah yang mengalir melalui dawai akan membiarkan mereka masuk, dan dengan syarat anda menggunakan kata laluan yang kuat, data anda selamat kerana selepas beberapa teka-teki yang salah, semuanya berjalan terkunci.
Bagi orang lain, sekadar keselamatan skrin kunci biasa akan cukup. Sekiranya kita kehilangan telefon, kita dapat menghapusnya secara jauh melalui Pengurus Peranti Android atau utiliti lain, dan jika seseorang boleh pergi offline sebelum kita boleh mengelap, maka cukup bertuah untuk memintas kata laluan skrin kunci kami (ia boleh berlaku), semuanya dapatkan beberapa gambar dan akses akaun Google yang kami dapat dengan cepat menukar kata laluan.
Terdapat juga isu pengintipan kerajaan untuk dipikirkan. Walaupun sebahagian besar daripada kita tidak mempunyai alasan untuk takut apa-apa akibat daripada apa yang telah kita simpan pada telefon kita, kita masih berhak mendapat sedikit privasi dan perlindungan apabila data peribadi kita berkenaan. Penyulitan cakera penuh menjadikan kami lebih dekat untuk memastikan data kami selamat dari agensi-agensi kerajaan yang berfikir mereka perlu melihatnya.
Hanya anda tahu jika anda memerlukan penyulitan peranti penuh.