Untuk perangkat yang menjalankan Android 13 atau yang lebih tinggi, Android mendukung pendekatan autentikasi Trust on First Use (TOFU) (RFC7435), yang memungkinkan pengguna memercayai jaringan perusahaan (EAP) dengan menginstal root CA yang digunakan oleh server dan menetapkan nama domainnya di jaringan tersimpan. TOFU memungkinkan perangkat mendapatkan kunci publik yang tidak diautentikasi saat pengguna pertama kali terhubung ke jaringan perusahaan dan mempertahankan kunci untuk koneksi berikutnya.
Latar belakang
Dibandingkan dengan jaringan pribadi yang hanya memerlukan sandi, jaringan perusahaan menggunakan autentikasi infrastruktur kunci publik (PKI), yang mengharuskan klien untuk melakukan pra-penginstalan sertifikat. Di Android 11 atau yang lebih lama, pengguna dapat memilih opsi Jangan validasi untuk sertifikat CA server di setelan jaringan, yang mengabaikan validasi sertifikat sisi server. Namun, untuk memperkuat keamanan dan mematuhi spesifikasi WPA R2, Android 12 memperkenalkan persyaratan bagi jaringan perusahaan agar memiliki validasi sertifikat server. Persyaratan tambahan ini menciptakan hambatan bagi pengguna karena mereka harus menginstal sertifikat CA untuk jaringan tersebut. TOFU menyediakan cara bagi pengguna untuk terhubung ke jaringan perusahaan berbasis PKI dengan hanya menerima CA root-nya.
Perilaku fitur
Perangkat yang mendukung TOFU menampilkan perilaku berikut saat pengguna terhubung ke jaringan perusahaan yang tidak memiliki kunci publik terautentikasi yang sudah diinstal.
Menghubungkan ke jaringan baru melalui pemilih Wi-Fi
Pilih jaringan perusahaan baru di pemilih Wi-Fi.
Perangkat menampilkan dialog (Gambar 1) untuk mengonfirmasi apakah jaringan tepercaya.
Ketuk Ya, hubungkan untuk menerima koneksi jaringan, atau ketuk Tidak, jangan hubungkan untuk menolak.
Jika Anda mengetuk Ya, hubungkan, perangkat akan otomatis mengonfigurasi parameter keamanan, terhubung ke jaringan, dan mengaktifkan koneksi otomatis untuk jaringan.
Jika Anda mengetuk Tidak, jangan hubungkan, perangkat akan terputus dari jaringan dan menonaktifkan koneksi otomatis untuk jaringan tersebut.
Gambar 1. Dialog untuk fitur TOFU
Menghubungkan ke jaringan yang ada dengan mengaktifkan koneksi otomatis
Saat terhubung ke jaringan perusahaan yang mengaktifkan koneksi otomatis, tetapi tidak memiliki sertifikat CA yang valid, perangkat akan terhubung secara otomatis, lalu menampilkan notifikasi melekat (tidak dapat ditutup).
Ketuk notifikasi tersebut.
Perangkat menampilkan dialog (Gambar 1) untuk mengonfirmasi apakah jaringan tepercaya.
Ketuk Ya, hubungkan untuk menerima koneksi jaringan, atau ketuk Tidak, jangan hubungkan untuk menolak.
Jika Anda mengetuk Ya, hubungkan, perangkat akan otomatis mengonfigurasi parameter keamanan, terhubung ke jaringan, dan mengaktifkan koneksi otomatis untuk jaringan.
Jika Anda mengetuk No, jangan hubungkan, perangkat akan terputus dari jaringan dan menonaktifkan autoconnect untuk jaringan.
Implementasi
Untuk mendukung fitur TOFU, terapkan HAL pemohon yang disediakan di Proyek Open Source Android (AOSP) di /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
.
API publik berikut tersedia di Android 13 untuk digunakan oleh aplikasi:
WifiManager#isTrustOnFirstUseSupported()
: Menunjukkan apakah perangkat mendukung TOFU.WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: Mengaktifkan TOFU.WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: Menunjukkan apakah TOFU diaktifkan.
Validasi
Untuk memvalidasi penerapan TOFU di perangkat, gunakan pengujian berikut:
- CTS:
CtsWifiTestCases
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest