Android 13 veya üstünü çalıştıran cihazlar için Android, kullanıcıların sunucu tarafından kullanılan kök CA'yı yükleyerek ve etki alanı adını ağ kaydedildi. TOFU, kullanıcı bir kurumsal ağa ilk kez bağlandığında cihazın kimliği doğrulanmamış bir genel anahtar elde etmesine ve anahtarı sonraki bağlantılar için saklamasına olanak tanır.
Arka plan
Yalnızca parola gerektiren kişisel ağlarla karşılaştırıldığında kurumsal ağlar, istemcinin sertifikaları önceden yüklemesini gerektiren ortak anahtar altyapısı (PKI) kimlik doğrulamasını kullanır. Android 11 veya önceki sürümlerde kullanıcılar, sunucu tarafı sertifikasının doğrulanmasını atlayarak ağ ayarlarında sunucu CA sertifikası için Doğrulama seçeneğini belirleyebilir. Ancak güvenliği güçlendirmek ve WPA R2 spesifikasyonuna uymak için Android 12, kurumsal ağların sunucu sertifikası doğrulamasına sahip olması zorunluluğunu getirdi. Bu ek gereksinim, bu tür ağlar için CA sertifikası yüklemeleri gerektiğinden kullanıcılar için bir engel oluşturdu. TOFU, kullanıcılara PKI tabanlı bir kurumsal ağa yalnızca kök CA'yı kabul ederek bağlanmaları için bir yol sağlar.
Özellik davranışı
TOFU'yu destekleyen cihazlar, bir kullanıcı önceden yüklenmiş, kimliği doğrulanmış bir genel anahtara sahip olmayan bir kurumsal ağa bağlandığında aşağıdaki davranışı görüntüler.
Wi-Fi seçici aracılığıyla yeni ağa bağlanın
Wi-Fi seçicide yeni bir kurumsal ağ seçin.
Cihaz, ağın güvenilir olup olmadığını doğrulamak için bir iletişim kutusu (Şekil 1) görüntüler.
Ağ bağlantısını kabul etmek için Evet, bağlan'a dokunun veya reddetmek için Hayır, bağlanma'ya dokunun .
Evet, bağlan öğesine dokunursanız cihaz, güvenlik parametrelerini otomatik olarak yapılandırır, ağa bağlanır ve ağ için otomatik bağlanmayı etkinleştirir.
Hayır, bağlanma'ya dokunursanız cihazın ağ bağlantısı kesilir ve ağ için otomatik bağlanma devre dışı bırakılır.
Şekil 1. TOFU özelliği iletişim kutusu
Otomatik bağlantı etkinken mevcut ağa bağlanın
Otomatik bağlantının etkin olduğu ancak geçerli bir CA sertifikası olmayan bir kurumsal ağa bağlanıldığında cihaz otomatik olarak bağlanır ve ardından yapışkan (kapatılamaz) bir bildirim görüntüler.
Bildirime dokunun.
Cihaz, ağın güvenilir olup olmadığını doğrulamak için bir iletişim kutusu (Şekil 1) görüntüler.
Ağ bağlantısını kabul etmek için Evet, bağlan'a dokunun veya reddetmek için Hayır, bağlanma'ya dokunun .
Evet, bağlan öğesine dokunursanız cihaz, güvenlik parametrelerini otomatik olarak yapılandırır, ağa bağlanır ve ağ için otomatik bağlanmayı etkinleştirir.
Hayır, bağlanma'ya dokunursanız cihazın ağ bağlantısı kesilir ve ağ için otomatik bağlanma devre dışı bırakılır.
Uygulama
TOFU özelliğini desteklemek için Android Açık Kaynak Projesi'nde (AOSP) sağlanan istek sahibi HAL'leri /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
uygulayın.
Aşağıdaki genel API'ler Android 13'te uygulamalar tarafından kullanılabilir:
-
WifiManager#isTrustOnFirstUseSupported()
: Cihazın TOFU'yu destekleyip desteklemediğini belirtir. -
WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: TOFU'yu etkinleştirir. -
WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: TOFU'nun etkin olup olmadığını gösterir.
Doğrulama
TOFU'nun cihazınıza uygulandığını doğrulamak için aşağıdaki testleri kullanın:
- CTS:
CtsWifiTestCases
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest