Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

TEE tepercaya

Trusty adalah Sistem Operasi (OS) aman yang menyediakan Trusted Execution Environment (TEE) untuk Android. OS Trusty berjalan pada prosesor yang sama dengan OS Android, tetapi Trusty diisolasi dari sistem lainnya oleh perangkat keras dan perangkat lunak. Trusty dan Android berjalan sejajar satu sama lain. Trusty memiliki akses ke kekuatan penuh dari prosesor dan memori utama perangkat tetapi sepenuhnya terisolasi. Isolasi Trusty melindunginya dari aplikasi berbahaya yang dipasang oleh pengguna dan potensi kerentanan yang mungkin ditemukan di Android.

Trusty kompatibel dengan prosesor ARM dan Intel. Pada sistem ARM, Trusty menggunakan ARM's Trustzone ™ untuk memvirtualisasikan prosesor utama dan menciptakan lingkungan eksekusi tepercaya yang aman. Dukungan serupa juga tersedia pada platform Intel x86 menggunakan Teknologi Virtualisasi Intel.

Gambar 1 . Diagram ikhtisar tepercaya.

Trusty terdiri dari:

  • Kernel OS kecil yang berasal dari Little Kernel
  • Driver kernel Linux untuk mentransfer data antara lingkungan aman dan Android
  • Pustaka ruang pengguna Android untuk berkomunikasi dengan aplikasi tepercaya (yaitu, mengamankan tugas / layanan) melalui driver kernel

Catatan: Trusty dan Trusty API dapat berubah. Untuk informasi tentang Trusty API, lihat Referensi API .

Mengapa Trusty?

Sistem operasi TEE lainnya biasanya disediakan sebagai blob biner oleh vendor pihak ketiga atau dikembangkan secara internal. Mengembangkan sistem TEE internal atau melisensikan TEE dari pihak ketiga dapat merugikan vendor System-on-Chip (SoC) dan OEM. Biaya moneter yang digabungkan dengan sistem pihak ketiga yang tidak dapat diandalkan menciptakan ekosistem yang tidak stabil untuk Android. Trusty diberikan kepada mitranya sebagai alternatif sumber terbuka yang andal dan gratis untuk Lingkungan Eksekusi Tepercaya mereka. Trusty menawarkan tingkat transparansi yang tidak mungkin dilakukan dengan sistem sumber tertutup.

Android mendukung berbagai implementasi TEE sehingga Anda tidak dibatasi untuk menggunakan Trusty. Setiap TEE OS memiliki cara uniknya sendiri untuk menyebarkan aplikasi tepercaya. Fragmentasi ini bisa menjadi masalah bagi pengembang aplikasi tepercaya yang mencoba memastikan aplikasi mereka berfungsi di setiap perangkat Android. Menggunakan Trusty sebagai standar membantu pengembang aplikasi untuk dengan mudah membuat dan menerapkan aplikasi tanpa memperhitungkan fragmentasi beberapa sistem TEE. Trusty TEE memberi pengembang dan mitra transparansi, kolaborasi, inspeksi kode, dan kemudahan debugging. Pengembang aplikasi tepercaya dapat berkumpul di sekitar alat dan API umum untuk mengurangi risiko menimbulkan kerentanan keamanan. Pengembang ini akan memiliki keyakinan bahwa mereka dapat mengembangkan aplikasi dan menggunakannya kembali di banyak perangkat tanpa pengembangan lebih lanjut.

Aplikasi dan layanan

Aplikasi Tepercaya didefinisikan sebagai kumpulan file biner (file yang dapat dieksekusi dan sumber daya), manifes biner, dan tanda tangan kriptografi. Saat runtime, aplikasi Tepercaya dijalankan sebagai proses yang terisolasi dalam mode tidak berhak di bawah kernel Tepercaya. Setiap proses berjalan dalam sandbox memori virtualnya sendiri yang memanfaatkan kapabilitas unit manajemen memori dari prosesor TEE. Pembuatan perangkat keras mengubah proses persis yang diikuti Trusty, tetapi misalnya, kernel menjadwalkan proses ini menggunakan penjadwal round-robin berbasis prioritas yang digerakkan oleh centang pengatur waktu yang aman. Semua aplikasi Tepercaya memiliki prioritas yang sama.

Gambar 2 . Ringkasan aplikasi tepercaya.

Aplikasi Tepercaya pihak ketiga

Saat ini semua aplikasi Trusty dikembangkan oleh satu pihak dan dikemas dengan image kernel Trusty. Seluruh gambar ditandatangani dan diverifikasi oleh bootloader selama boot. Pengembangan aplikasi pihak ketiga tidak didukung di Trusty untuk saat ini. Meskipun Trusty memungkinkan pengembangan aplikasi baru, hal itu harus dilakukan dengan sangat hati-hati; setiap aplikasi baru meningkatkan area basis komputasi tepercaya (TCB) sistem. Aplikasi tepercaya dapat mengakses rahasia perangkat dan dapat melakukan penghitungan atau transformasi data menggunakannya. Kemampuan untuk mengembangkan aplikasi baru yang berjalan di TEE membuka banyak kemungkinan inovasi. Namun, karena definisi TEE, aplikasi ini tidak dapat didistribusikan tanpa beberapa bentuk kepercayaan yang dilampirkan. Biasanya ini datang dalam bentuk tanda tangan digital oleh entitas yang dipercaya oleh pengguna produk yang menjalankan aplikasi.

Kegunaan dan contoh

Lingkungan eksekusi tepercaya dengan cepat menjadi standar di perangkat seluler. Pengguna semakin mengandalkan perangkat seluler mereka untuk kehidupan sehari-hari dan kebutuhan akan keamanan selalu berkembang. Perangkat seluler dengan TEE lebih aman daripada perangkat tanpa TEE.

Pada perangkat dengan implementasi TEE, prosesor utama sering disebut sebagai "tidak tepercaya", yang berarti ia tidak dapat mengakses area RAM tertentu, register perangkat keras, dan sekering tulis-sekali di mana data rahasia (seperti, kunci kriptografi khusus perangkat) berada disimpan oleh pabrikan. Perangkat lunak yang berjalan pada prosesor utama mendelegasikan operasi apa pun yang memerlukan penggunaan data rahasia ke prosesor TEE.

Contoh yang paling banyak dikenal dari ini di ekosistem Android adalah kerangka kerja DRM untuk konten yang dilindungi. Perangkat lunak yang berjalan pada prosesor TEE dapat mengakses kunci khusus perangkat yang diperlukan untuk mendekripsi konten yang dilindungi. Prosesor utama hanya melihat konten yang dienkripsi, memberikan tingkat keamanan dan perlindungan yang tinggi terhadap serangan berbasis perangkat lunak.

Ada banyak kegunaan lain untuk TEE seperti pembayaran seluler, perbankan aman, otentikasi multi-faktor, perlindungan penyetelan ulang perangkat, penyimpanan persisten yang dilindungi replay, PIN aman dan pemrosesan sidik jari, dan bahkan deteksi malware.