Apakah enkripsi perangkat lengkap melindungi data saya dari Google dan pemerintah?

13

Apple baru-baru ini membuat gelombang dalam komunitas teknologi dengan menolak untuk mematuhi penegakan hukum dalam hal mengakses data pengguna terenkripsi. Pernyataan mereka adalah bahwa mereka tidak memiliki kemampuan teknis untuk mendekripsi data ini.

Sebagai pengguna Android, apakah ada kemungkinan serupa (lebih disukai dibangun di dalam OS daripada pihak ketiga) yang dapat saya gunakan untuk mencapai perlindungan serupa dari bahkan Google dan produsen perangkat saya? Saya tahu ada "Enkripsi Perangkat Lengkap" di pengaturan saya, tetapi apakah ini mencegah Google dll untuk mengaksesnya?

Sebagai referensi, perangkat saya menjalankan Android Lollipop dan merupakan OnePlus Two. Jika versi lain seperti Marshmallow memungkinkan saya melakukan ini, itu bagus.

malexdev
sumber

Jawaban:

10

Google tidak tahu apa kunci enkripsi untuk perangkat Anda. Seluruh proses berlangsung di perangkat Anda dan kunci tidak pernah dikirim ke mana pun. Kuncinya sendiri juga tidak disimpan dalam plaintext di perangkat Anda :

Menyimpan kunci terenkripsi

Kunci terenkripsi disimpan dalam metadata crypto. Dukungan perangkat keras diimplementasikan dengan menggunakan kemampuan penandatanganan TEE (Trusted Execution Environment). Sebelumnya, kami mengenkripsi kunci master dengan kunci yang dihasilkan dengan menerapkan scrypt pada kata sandi pengguna dan garam yang disimpan. Untuk membuat kunci ini tahan terhadap serangan off-box, kami memperluas algoritma ini dengan menandatangani kunci yang dihasilkan dengan kunci TEE yang tersimpan. Tanda tangan yang dihasilkan kemudian diubah menjadi kunci panjang yang sesuai dengan satu lagi aplikasi scrypt. Kunci ini kemudian digunakan untuk mengenkripsi dan mendekripsi kunci master.

Jadi, bahkan jika seseorang memiliki salinan kunci master terenkripsi Anda, mereka tidak dapat mendekripsi tanpa kunci TEE dari SoC perangkat Anda.

Oleh karena itu, di luar kesalahan dalam implementasi, enkripsi perangkat lengkap akan mencegah siapa pun mengakses data Anda kecuali mereka tahu / memperoleh kata sandi Anda ATAU dapat menebak kata sandi Anda (misalnya melalui kekerasan atau semacam teknik rekayasa sosial). Pada perangkat yang tidak memiliki dukungan perangkat keras yang diperlukan, FDE akan berusaha mengenkripsi kunci menggunakan metode khusus perangkat lunak.

eldarerathis
sumber
@beeshyams Ini adalah fitur prosesor. Implementasi ARM disebut "TrustZone", tetapi arsitektur lain juga menyediakan mekanisme serupa. Idenya adalah Anda dapat membuat kunci perangkat, menyimpannya di tempat yang hanya dapat diakses oleh TEE, lalu tidak pernah mengungkapkannya ke dunia luar. Ketika Anda perlu mengenkripsi / mendekripsi sesuatu, Anda meminta kode yang berjalan di TEE untuk melakukannya untuk Anda, sehingga kunci tetap aman. Wikipedia memiliki artikel (-ish) yang layak .
eldarerathis
1
@eldarerathis Yang saya dengar adalah bahwa iPhone 6 dan yang lebih baru aman bahkan dari pembaruan OEM, karena verifikasi kata sandi ( termasuk penundaan / penguncian waktunya) diimplementasikan seluruhnya dalam perangkat keras. Yang saya tanyakan adalah apakah Android melakukan sesuatu yang serupa, atau apakah itu murni penguncian perangkat lunak - yang tentu saja dapat dilewati oleh pembaruan firmware. Saya juga bertanya apakah ada ponsel berbasis Android dengan bootloader yang menolak pembaruan tanpa memasukkan kode sandi yang ditentukan pengguna - yang akan membuat periode penguncian perangkat lunak lebih mudah dilewati.
Bob
1
Namun cara lain pengulangan kata adalah apakah ada cara untuk meminta bahwa dekripsi (dengan kata sandi pengguna) terjadi sebelum pembaruan diizinkan. Dengan kata lain, apakah (OEM, ditandatangani) pembaruan dapat diinstal dengan tanpa kunci dekripsi (tanpa penghapusan data pengguna secara wajib)?
Bob
1
@ Bob Sepengetahuan saya, Android tidak memerlukan kata sandi dekripsi untuk melakukan proses pembaruan, karena hanya mengenkripsi /userdatapartisi, bukan partisi yang akan diubah oleh pembaruan ( /systemdan /boot, umumnya). Ini hampir sama dengan iPhone 5 (dan lebih rendah).
eldarerathis
1
Saya ingin menambahkan, saya tidak yakin apakah penundaan umum per upaya adalah sesuatu yang dapat "dinonaktifkan" oleh pembaruan, atau jika Android menskalakannya secara artifisial. Android menggunakan putaran scrypt selama proses pembuatan kunci, sehingga akan perlu digunakan saat mendekripsi kunci juga, dan scrypt dirancang khusus agar sulit untuk dipercepat, sebagai mitigasi terhadap kekerasan. Sebanyak itu akan tetap konsisten. Penguncian setelah X jumlah upaya gagal (atau penguncian berskala, jika ada) akan diterapkan dalam perangkat lunak, AFAIK.
eldarerathis
-1

Enkripsi perangkat lengkap akan melindungi perangkat Anda jika Anda menggunakan kunci yang terlalu lama untuk memaksa, bahkan ketika penyerang dapat menggunakan teknik kekuatan kasar - dengan asumsi ada cara untuk memungkinkan mereka melakukan ini. Snowden mengatakan 64 karakter cukup panjang untuk enkripsi yang benar-benar tidak bisa dipecahkan. Jadi keamanan lengkap dapat dicapai - jika Anda tidak keberatan mengetikkan frasa sandi 64 karakter setiap kali Anda membangunkan ponsel.

Andrew Brown
sumber
Apakah Anda mengetahui batasan panjang PIN kunci layar? Pertimbangkan untuk me-reboot jawaban Anda dengan benar
beeshyams
Ya, 16 karakter adalah batasan jika Anda memeriksa kode sumber .
Firelord