Chọn RSA chỉ vì công cụ chứng chỉ của cổng dùng nó làm mặc định là một quyết định được đưa ra trước câu hỏi quan trọng: những iPhone này sẽ được đăng ký như thế nào? Một kết nối do người dùng tự gõ và một hồ sơ cấu hình do bộ phận quản lý cung cấp thể hiện các cài đặt khác nhau, và một số lựa chọn chứng chỉ chỉ tồn tại trên một trong hai con đường đó. Sắp xếp đúng thứ tự thì kế hoạch chứng chỉ trở nên ngắn gọn; làm sai thì bạn phát hành thông tin xác thực mà điện thoại sẽ không dùng. Hãy coi các bước dưới đây là một chuỗi, vì mỗi bước thu hẹp các lựa chọn dành cho bước tiếp theo.

Bước một: chọn con đường đăng ký

Thiết lập thủ công nghĩa là người dùng nhập địa chỉ máy chủ, chọn phương thức xác thực và cung cấp mọi thông tin xác thực mà giao diện cho phép. Đăng ký được quản lý nghĩa là hồ sơ mang địa chỉ, các định danh và tham chiếu đến tải trọng thông tin xác thực. Con đường được quản lý có thể diễn đạt những tổ hợp mà màn hình thủ công không làm được, vì vậy quyết định về chứng chỉ phải đến sau lựa chọn này chứ không phải trước.

Cả hai con đường đều có thể xác thực một điện thoại. Chúng khác nhau ở chỗ bạn có thể cấu hình gì và ai sở hữu danh tính, nên hãy chọn một cách có chủ đích thay vì trộn hồ sơ được quản lý với việc nhập thông tin xác thực thủ công.

Bước hai: chọn thuật toán cho con đường bạn đã chọn

Với iPhone được cấu hình thủ công, ghi chú tương thích iOS của strongSwan khuyến nghị chứng chỉ máy chủ RSA, vì máy khách thủ công có thể không chấp nhận chứng chỉ máy chủ ECDSA; cùng những ghi chú đó xử lý macOS riêng. Hãy đọc đây là hướng dẫn cho nhóm máy khách được hỗ trợ, không phải luật vĩnh viễn về thiết bị Apple. Hồ sơ được quản lý có nhiều chỗ hơn: nó có thể chọn loại chứng chỉ một cách rõ ràng, bao gồm danh tính máy khách ECDSA, khi tải trọng và cổng đều hỗ trợ.

Xác thực các phiên bản iOS mà bạn thực sự hỗ trợ trước khi triển khai bất cứ thứ gì. Một điện thoại phòng thí nghiệm ở phiên bản mới nhất không mô tả một đội thiết bị có cả máy cũ, và một thuật toán chạy được trong phòng thí nghiệm vẫn có thể thất bại trên chiếc điện thoại cũ nhất ngoài thực địa. Lấy khoảng phiên bản từ hệ thống quản lý thiết bị chứ không phải từ trí nhớ. Nếu đội thiết bị trải rộng nhiều phiên bản, hãy thử chiếc cũ nhất trước, vì giao diện thủ công bị hạn chế nhất ở đó.

Bước ba: đọc các trường của hồ sơ như những thứ riêng biệt

Một số khóa có tên tương tự mô tả các đối tượng khác nhau. Địa chỉ từ xa là máy chủ mà điện thoại gọi đến. Định danh từ xa là danh tính IKE mà nó mong cổng trình bày. Tham chiếu chứng chỉ trong tải trọng trỏ đến thông tin xác thực của máy khách, và trường loại chứng chỉ chọn loại dùng cho xác thực máy IKEv2. Không mục nào trong số này là thuật toán chữ ký của CA, dù các từ có chồng lấn.

Tài liệu tham chiếu tải trọng IKEv2 của Apple liệt kê RSA là loại chứng chỉ mặc định với các biến thể ECDSA rõ ràng, và nó gắn khóa tên nhà phát hành với các cài đặt xác thực cụ thể. Hãy đọc những mối quan hệ đó trong tài liệu của phương thức bạn đã chọn thay vì sao chép một khóa từ một triển khai đang hoạt động.

Bước bốn: làm cho danh tính của cổng khớp với chứng chỉ của nó

Dùng một tên cổng rõ ràng, ví dụ vpn.example.com và đặt một tên chủ thể thay thế tương ứng vào chứng chỉ máy chủ. Hướng dẫn Apple của strongSwan cũng mong đợi việc dùng khóa mở rộng cho xác thực máy chủ. Chọn RSA hay ECDSA không thay đổi gì trong số đó: một thuật toán không thể sửa chữa sự không khớp tên, EKU bị thiếu hay chuỗi không đầy đủ.

Phân phối neo tin cậy là một nhiệm vụ riêng so với việc khẳng định danh tính. Điện thoại cần một chuỗi chứng chỉ mà nó có thể xác thực, và nó phải được cấu hình để mong đợi đúng tên mà bạn đã đặt vào chứng chỉ.

Việc một nền tảng khác kết nối thành công là bằng chứng về các quy tắc xác thực của nền tảng đó, không phải sự cho phép nới lỏng quy tắc của điện thoại. Giữ các kiểm tra giống nhau giữa các máy khách trừ khi bạn có lý do được ghi lại để khác biệt.

Bước năm: tách danh tính máy khách khỏi sự tin cậy CA

Chứng chỉ máy khách và khóa riêng của nó không phải là cùng một đối tượng với chứng chỉ CA mà điện thoại tin cậy. Việc đóng gói chứng chỉ CA trong một danh tính PKCS#12 không tự động cài nó làm neo tin cậy trên mọi thiết bị được hỗ trợ, nên hãy coi việc phân phối tin cậy là một bước riêng với kiểm tra riêng.

Nếu thiết kế dùng EAP dựa trên mật khẩu thay vào đó, điện thoại cần xác thực tài khoản dự kiến cùng với xác thực máy chủ. Con đường đó không biện minh cho việc gửi một khóa riêng máy khách dùng chung cho toàn bộ đội thiết bị, đó là một thiết kế khác với chế độ hỏng hóc tệ hơn nhiều.

Kết thúc kế hoạch với việc gia hạn và thu hồi trong đầu: ai cấp lại thông tin xác thực của máy khách, hồ sơ được cập nhật thế nào và một điện thoại bị mất bị cắt ra sao. Ghi lại phiên bản hồ sơ và các phiên bản thiết bị mà bạn đã xác thực, vì chính bản ghi đó khiến lần thay chứng chỉ tiếp theo trở thành một thay đổi thường lệ.

Bài viết liên quan