Đối với các thiết bị chạy Android 13 trở lên, Android hỗ trợ phương pháp xác thực Tin cậy khi sử dụng lần đầu (TOFU) ( RFC7435 ), cho phép người dùng tin cậy mạng doanh nghiệp (EAP) bằng cách cài đặt CA gốc được máy chủ sử dụng và đặt tên miền của nó trong một mạng đã lưu. TOFU cho phép thiết bị lấy khóa chung chưa được xác thực khi người dùng kết nối lần đầu với mạng doanh nghiệp và giữ lại khóa cho các kết nối tiếp theo.
Lý lịch
So với mạng cá nhân chỉ yêu cầu mật khẩu, mạng doanh nghiệp sử dụng xác thực cơ sở hạ tầng khóa công khai (PKI), yêu cầu máy khách cài đặt trước chứng chỉ. Trong Android 11 trở xuống, người dùng có thể chọn tùy chọn Không xác thực cho chứng chỉ CA của máy chủ trong cài đặt mạng, bỏ qua quá trình xác thực chứng chỉ phía máy chủ. Tuy nhiên, để tăng cường bảo mật và tuân thủ thông số kỹ thuật WPA R2, Android 12 đã đưa ra yêu cầu đối với các mạng doanh nghiệp phải có xác thực chứng chỉ máy chủ. Yêu cầu bổ sung này đã tạo ra rào cản đối với người dùng khi họ cần cài đặt chứng chỉ CA cho các mạng như vậy. TOFU cung cấp một cách để người dùng kết nối với mạng doanh nghiệp dựa trên PKI bằng cách chấp nhận CA gốc của nó.
hành vi tính năng
Các thiết bị hỗ trợ TOFU hiển thị hành vi sau đây khi người dùng kết nối với mạng doanh nghiệp chưa cài đặt khóa chung được xác thực.
Kết nối với mạng mới thông qua bộ chọn Wi-Fi
Chọn một mạng doanh nghiệp mới trong bộ chọn Wi-Fi.
Thiết bị sẽ hiển thị một hộp thoại (Hình 1) để xác nhận xem mạng có đáng tin cậy hay không.
Nhấn Có, kết nối để chấp nhận kết nối mạng hoặc nhấn Không, không kết nối để từ chối.
Nếu bạn nhấn Yes, connect , thiết bị sẽ tự động cấu hình các tham số bảo mật, kết nối với mạng và bật tự động kết nối cho mạng.
Nếu bạn chạm vào Không, không kết nối , thiết bị sẽ ngắt kết nối khỏi mạng và tắt tính năng tự động kết nối với mạng.
Hình 1. Hộp thoại cho tính năng TOFU
Kết nối với mạng hiện có với tính năng tự động kết nối được bật
Khi kết nối với mạng doanh nghiệp đã bật tự động kết nối nhưng không có chứng chỉ CA hợp lệ, thiết bị sẽ tự động kết nối, sau đó hiển thị thông báo cố định (không thể loại bỏ).
Nhấn vào thông báo.
Thiết bị sẽ hiển thị một hộp thoại (Hình 1) để xác nhận xem mạng có đáng tin cậy hay không.
Nhấn Có, kết nối để chấp nhận kết nối mạng hoặc nhấn Không, không kết nối để từ chối.
Nếu bạn nhấn Yes, connect , thiết bị sẽ tự động cấu hình các tham số bảo mật, kết nối với mạng và bật tự động kết nối cho mạng.
Nếu bạn chạm vào Không, không kết nối , thiết bị sẽ ngắt kết nối khỏi mạng và tắt tính năng tự động kết nối với mạng.
Thực hiện
Để hỗ trợ tính năng TOFU, hãy triển khai các HAL thay thế được cung cấp trong Dự án nguồn mở Android (AOSP) tại /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
.
Các API công khai sau đây có sẵn trong Android 13 để các ứng dụng sử dụng:
-
WifiManager#isTrustOnFirstUseSupported()
: Cho biết thiết bị có hỗ trợ TOFU hay không. -
WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: Bật TOFU. -
WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: Cho biết TOFU có được bật hay không.
Thẩm định
Để xác thực việc triển khai TOFU trên thiết bị của bạn, hãy sử dụng các bài kiểm tra sau:
- CTS:
CtsWifiTestCases
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest