Android 13 veya sonraki sürümlerin yüklü olduğu cihazlarda Android, İlk Kullanımda Güven (TOFU) kimlik doğrulama yaklaşımını (RFC7435) destekler. Bu yaklaşım, kullanıcıların sunucu tarafından kullanılan kök CA'yı yükleyip alan adını kayıtlı bir ağda ayarlayarak bir kurumsal (EAP) ağa güvenmesine olanak tanır. TOFU, kullanıcının bir kurumsal ağa ilk kez bağlandığında cihazın kimliği doğrulanmamış bir genel anahtar almasına ve sonraki bağlantılar için anahtarı saklamasına olanak tanır.
Arka plan
Yalnızca şifre gerektiren kişisel ağlara kıyasla, kurumsal ağlarda ortak anahtar altyapısı (PKI) kimlik doğrulaması kullanılır. Bu kimlik doğrulama, istemcinin sertifikaları önceden yüklemesini gerektirir. Android 11 veya önceki sürümlerde kullanıcılar, ağ ayarlarında sunucu CA sertifikası için Doğrulama seçeneğini belirleyerek sunucu tarafı sertifikasının doğrulanmasını atlayabilir. Ancak güvenliği artırmak ve WPA R2 spesifikasyonuna uymak için Android 12, kurumsal ağlarda sunucu sertifikası doğrulaması zorunluluğu getirdi. Bu ek koşul, kullanıcıların bu tür ağlar için bir CA sertifikası yüklemesi gerektiğinden kullanıcılar için bir engel oluşturdu. TOFU, kullanıcıların kök CA'sını kabul ederek PKI tabanlı bir kurumsal ağa bağlanmasına olanak tanır.
Özellik davranışı
TOFU'yu destekleyen cihazlar, 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österir.
Kablosuz ağ seçiciyi kullanarak yeni bir ağa bağlanma
Kablosuz ağ seçicide yeni bir kurumsal ağ seçin.
Cihaz, ağın güvenilir olup olmadığını onaylamak için bir iletişim kutusu (Şekil 1) gösterir.
Ağ bağlantısını kabul etmek için Evet, bağlan'a, reddetmek için Hayır, bağlanma'ya dokunun.
Evet, bağlan'a dokunursanız cihaz, güvenlik parametrelerini otomatik olarak yapılandırır, ağa bağlanır ve ağ için otomatik bağlanma özelliğini etkinleştirir.
Hayır, bağlanma'ya dokunursanız cihazın ağ bağlantısı kesilir ve ağ için otomatik bağlantı devre dışı bırakılır.
1. şekil. TOFU özelliği için iletişim kutusu
Otomatik bağlanma özelliği etkinleştirilmiş mevcut bir ağa bağlanma
Otomatik bağlantının etkinleştirildiği ancak geçerli bir CA sertifikası olmayan bir kurumsal ağa bağlanırken cihaz otomatik olarak bağlanır ve ardından kalıcı (kapatılamayan) bir bildirim gösterir.
Bildirime dokunun.
Cihaz, ağın güvenilir olup olmadığını onaylamak için bir iletişim kutusu (Şekil 1) gösterir.
Ağ bağlantısını kabul etmek için Evet, bağlan'a, reddetmek için Hayır, bağlanma'ya dokunun.
Evet, bağlan'a dokunursanız cihaz, güvenlik parametrelerini otomatik olarak yapılandırır, ağa bağlanır ve ağ için otomatik bağlanma özelliğini etkinleştirir.
Hayır, bağlanma'ya dokunursanız cihazın ağ bağlantısı kesilir ve ağ için otomatik bağlantı devre dışı bırakılır.
Uygulama
TOFU özelliğini desteklemek için Android Açık Kaynak Projesi'nde (AOSP) /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
adresinde sağlanan supplicant HAL'lerini uygulayın.
Android 13'te uygulamaların kullanabileceği aşağıdaki herkese açık API'ler mevcuttur:
WifiManager#isTrustOnFirstUseSupported()
: Cihazın TOFU'yu destekleyip desteklemediğini gösterir.WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: TOFU'yu etkinleştirir.WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: TOFU'nun etkin olup olmadığını gösterir.
Doğrulama
Cihazınızda TOFU'nun uygulanmasını doğrulamak için aşağıdaki testleri kullanın:
- CTS:
CtsWifiTestCases
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest