Chứng chỉ VPN riêng không phải là một lớp mã hóa thêm
Chứng chỉ thay đổi danh tính và niềm tin, không phải số lớp mã hóa. Hãy quyết định bằng cách hỏi cái gì kết thúc ở đâu.
Cài chứng chỉ riêng trên một điểm cuối VPN có cảm giác như thêm lớp bảo vệ, vì chứng chỉ và mã hóa luôn xuất hiện cùng nhau ở khắp nơi. Thực tế nó thay đổi hai điều: điểm cuối trình bày danh tính nào, và đối tác của nó sẵn sàng tin tưởng nhà phát hành nào. Không điều nào trong hai điều đó bọc dữ liệu của bạn lần thứ hai. Nếu nhu cầu thật sự là một kênh được bảo vệ thứ hai, bạn cần một kênh thứ hai với các điểm cuối riêng, không phải thêm một chứng chỉ.
Ba công việc riêng biệt trong bắt tay TLS 1.3
RFC 8446 tách những điều này ra, và chính sự tách biệt đó là toàn bộ câu trả lời. Thông điệp Certificate mang chuỗi chứng chỉ của điểm cuối. CertificateVerify chứng minh việc sở hữu khóa riêng tương ứng và ràng buộc bản ghi bắt tay. Lớp ghi bảo vệ lưu lượng bằng các khóa lưu lượng đã thương lượng.
Thay chứng chỉ và hai mục đầu tiên thay đổi. Việc bảo vệ bản ghi không chạy hai lần, và nó không mạnh hơn chỉ vì nhà phát hành giờ là riêng tư.
Một CA riêng thực sự mua gì
Nó mua một hệ thống danh tính được kiểm soát: bạn quyết định ai được cấp, bạn quyết định nhà phát hành nào được đối tác chấp nhận, và bạn có thể thu hồi theo lịch của riêng mình. Điều đó thực sự hữu ích khi bạn vận hành cả hai đầu.
Nhưng nó cũng mang theo nghĩa vụ. Niềm tin phải được phân phối có chủ đích, việc xác minh đối tác phải được bật, và vòng đời của thông tin xác thực phải có người sở hữu. Một CA riêng không phải đường tắt vòng qua bất kỳ điều nào trong ba điều đó.
Khi nào kênh thứ hai là câu trả lời đúng
Giả sử một ứng dụng mở HTTPS đã xác minh tới dịch vụ của chính nó trong khi các gói của nó cũng đi qua VPN. Thiết kế đó có hai ranh giới với các điểm cuối có thể khác nhau, và đó là hình dạng của một kênh được bảo vệ thứ hai.
Sự khác biệt này quan trọng ở cổng. Nếu phiên TLS của ứng dụng kết thúc tại cổng VPN thay vì tại ứng dụng, lớp bảo vệ mà bạn tưởng có ở phía bên kia đường hầm không có ở đó. Hãy ghi ra ai kết thúc từng kênh trước khi khẳng định thuộc tính đó.
Hỏi việc cài đặt thay đổi điều gì
Yêu cầu cài chứng chỉ có thể mang ba nghĩa khác nhau. Nó có thể thay đổi danh tính của chính máy khách, một neo tin cậy dành riêng cho ứng dụng, hoặc niềm tin ở cấp nền tảng cho mọi thứ trên thiết bị. Những điều này không tương đương, và chỉ điều cuối cùng ảnh hưởng đến phần mềm không liên quan.
Hỏi điều nào trong ba là ý định, rồi hỏi nó phải đạt được gì. Nếu câu trả lời là mã hóa nhiều hơn, đề xuất đang nhắm vào cơ chế sai.
Ghi các ranh giới ra
Với mỗi kênh, ghi lại các điểm cuối, danh tính mà mỗi bên xác minh và những gì người vận hành ở giữa có thể thấy. Sau đó ghi lại hành vi khi thất bại: điều gì xảy ra khi xác minh thất bại, và điều gì xảy ra khi kênh bị từ chối.
Hai dòng trên một trang thường giải quyết một cuộc tranh luận mà việc luân chuyển chứng chỉ không thể giải quyết.
Quyết định bằng ba câu hỏi
Vấn đề là điểm cuối tự nhận mình là ai, hay điều gì xảy ra với dữ liệu? Lớp bảo vệ có cần tiếp tục qua cổng VPN tới một ứng dụng cụ thể không? Và bạn có thể kể tên hai điểm cuối sẽ kết thúc một kênh thứ hai không?
Nếu câu hỏi đầu là câu hỏi thật, hãy sửa danh tính và niềm tin. Nếu là câu thứ hai hoặc thứ ba, hãy thiết kế kênh thứ hai và để chứng chỉ ở đúng chỗ của nó.