Cách nhập chứng chỉ VPN trên Android và xác minh khóa
Nhập tệp P12 vào Android, xác nhận nhà cung cấp nào giữ khóa và tìm ra ai thực sự sở hữu yêu cầu khóa màn hình.
Việc nhập chứng chỉ ứng dụng khách VPN trên Android mất vài phút. Kiểm tra xem nó đã vào đúng chỗ lại mất nhiều thời gian hơn, và đó chính là phần mà hầu hết mọi người bỏ qua khi hộp thoại cài đặt báo thành công. Thông báo thành công chỉ có nghĩa là tệp đã được phân tích. Nó không nói gì về việc nhà cung cấp nào giữ khóa riêng tư hay liệu vẫn còn một bản sao trong thư mục Downloads của bạn.
Bước 1: Đọc P12 trước khi nó rời khỏi máy của bạn
Hãy bắt đầu với chính tệp. Nếu bạn không thể nêu tên chủ thể, nhà phát hành và ngày hết hạn bên trong nó, bạn đang nhập một thứ mà sau này bạn sẽ không thể xác minh.
Một gói PKCS#12 thường chứa chứng chỉ ứng dụng khách, khóa riêng tư của nó và chuỗi nhà phát hành. openssl pkcs12 -in client.p12 -info -noout in MAC và các thuật toán mã hóa mà không đổ vật liệu khóa ra, nên bạn thấy gói có được bảo vệ bằng mật khẩu hay không và bằng loại mật mã nào. Tiếp theo hãy chạy keytool -list -v -keystore client.p12 -storetype PKCS12 để lấy bí danh, dấu vân tay SHA-256 và khoảng hiệu lực mà bạn sẽ so sánh với điện thoại.
Gửi mật khẩu qua một kênh khác với tệp, hoặc chuyển giao tệp trong một luồng phân phối được quản lý không để lại bản sao. Một mật khẩu dán vào cùng tin nhắn trò chuyện với tệp lưu trữ sẽ biến hai biện pháp kiểm soát thành một.
Bước 2: Cài đặt nó vào khe mà ứng dụng VPN thực sự đọc
Trên Android 11 đến 14 nguyên bản, đường đi qua Cài đặt, Bảo mật, Mã hóa và thông tin xác thực, Cài đặt chứng chỉ, rồi VPN và chứng chỉ người dùng của ứng dụng. Cách diễn đạt và việc lồng nhau thay đổi giữa các bản phát hành và giao diện nhà sản xuất, nên hãy theo nhãn loại thông tin xác thực thay vì một vị trí menu đã ghi nhớ. Trong hồ sơ công việc, hãy cài từ bên trong phía công việc, vì thông tin xác thực không vượt qua ranh giới hồ sơ.
Đừng đặt danh tính ứng dụng khách vào khe chứng chỉ CA. Khe đó cấp dữ liệu cho kho tin cậy của người dùng, và từ Android 7 các ứng dụng bỏ qua CA do người dùng thêm trừ khi cấu hình bảo mật mạng của chúng cho phép, nên chứng chỉ ứng dụng khách để ở đó không bao giờ xuất hiện trong bộ chọn khóa của VPN.
Một số ứng dụng khách VPN không bao giờ chạm vào kho hệ thống và thay vào đó nhập P12 vào thư mục ứng dụng của riêng chúng. Đó là một thiết kế hợp lệ, nhưng nó thay đổi mọi bước sau đó: khóa giờ sống trong hộp cát của ứng dụng và mạnh đúng bằng cách ứng dụng đó xử lý kho của chính nó. Hãy xem tài liệu của ứng dụng khách trước khi cho rằng KeyChain có tham gia.
Bước 3: Chứng minh nhà cung cấp nào giữ khóa
Việc nhập xác nhận việc phân tích, không phải sự hỗ trợ phần cứng. Trên Android 12 trở đi, KeyInfo.getSecurityLevel() báo cáo khóa nằm trong Môi trường thực thi tin cậy, trong StrongBox hay trong phần mềm, và nó thay thế lệnh gọi isInsideSecureHardware() cũ hơn. Nếu ứng dụng khách VPN không hiển thị giá trị đó, dấu vân tay từ bước 1 là phương án dự phòng của bạn. Một chứng chỉ được mã hóa lại trong quá trình nhập sẽ không khớp từng byte, nhưng khóa công khai và chủ thể vẫn khớp.
Không thể xuất không giống với không dùng được. Một khóa không thể rời khỏi thiết bị vẫn có thể được dùng bởi bất kỳ ứng dụng nào mà người dùng cho phép chọn bí danh đó, và đó là lý do lời nhắc bí danh là biện pháp kiểm soát thật chứ không phải thủ tục. Tài liệu Android Keystore đáng đọc một lần nếu bạn đang đưa ra quyết định thiết kế đó.
Sau đó hãy tính đến những bản sao bạn đã tạo. P12 trên máy tính xách tay, bản trong tệp đính kèm của phiếu và bản trong bản sao lưu tháng trước đều vẫn là danh tính hợp lệ cho đến khi nhà phát hành thu hồi chúng. Việc bảo vệ bằng phần cứng cho phiên bản trên điện thoại không làm gì cho những bản đó.
Bước 4: Tìm ra ai là chủ sở hữu yêu cầu khóa màn hình
Ba bí mật bị lẫn ở đây: PIN mở khóa thiết bị, cụm mật khẩu của khóa riêng tư và mật khẩu tài khoản VPN. Lời nhắc cho một cái không bao giờ là yêu cầu đặt lại những cái khác, và đặt lại sai cái là cách người ta tự khóa mình ra khỏi một hồ sơ vốn đang chạy tốt.
Khi quản trị viên thiết bị hoặc chính sách hồ sơ được quản lý yêu cầu khóa, yêu cầu đó thuộc về chính sách ấy, không phải chứng chỉ. adb shell dumpsys device_policy liệt kê các quản trị viên đang hoạt động và chất lượng mật khẩu họ áp đặt, đây là cách nhanh nhất để xem liệu một tác nhân MDM có phải là lý do khiến quy tắc PIN của bạn thay đổi. Gỡ chứng chỉ sẽ không nới lỏng chính sách, và gỡ chính sách là quyết định hành chính chứ không phải chỉnh cài đặt.
Cũng hãy dự tính một sự đánh đổi về khả năng sử dụng. Nếu khóa yêu cầu sự cho phép của người dùng, đường hầm không thể dựng lên trước lần mở khóa đầu tiên, nên các lần đồng bộ theo lịch và đánh thức từ xa thất bại theo thiết kế. Hãy quyết định điều đó trước khi triển khai, không phải sau.
Tránh lối tắt sửa locksettings.db hoặc chạy lại một cách xử lý cũ cho mẫu đã quên. Những quy trình đó được viết cho các bản dựng cụ thể, chúng có thể để kho thông tin xác thực ở trạng thái mà khung không còn mong đợi, và chúng không bao giờ thay đổi chính sách đã yêu cầu khóa ngay từ đầu.
Bước 5: Ngừng sử dụng danh tính và xác minh việc từ chối
Việc ngừng sử dụng có ba phần và chỉ phần đầu là cục bộ. Gỡ hồ sơ VPN, xóa chứng chỉ người dùng trong Cài đặt, Bảo mật, Mã hóa và thông tin xác thực, Thông tin xác thực người dùng, sau đó yêu cầu nhà phát hành thu hồi số sê-ri của chứng chỉ. Chỉ xóa cục bộ sẽ để lại một thông tin xác thực mà máy chủ vẫn chấp nhận nếu ai đó giữ P12.
Hãy xác minh kết quả thay vì giả định. Thử kết nối với hồ sơ đã ngừng sử dụng và xác nhận máy chủ từ chối nó. Một đường hầm vẫn dựng lên nghĩa là bạn đã thu hồi sai số sê-ri hoặc ứng dụng khách lặng lẽ rơi về một danh tính khác đã cài đặt.
Nếu bạn đang hoàn nguyên một lần nhập thất bại, hãy nhập lại từ gói đã mã hóa gốc và kiểm tra lại dấu vân tay thay vì dùng lại tệp khóa đã giải mã mà bạn để lại trên đĩa.