AES-256 và OFB: chọn một cấu trúc mã hóa VPN hoàn chỉnh
Mã khối, độ dài khóa và chế độ là những lựa chọn khác nhau. Đánh giá tính bí mật và tính toàn vẹn cùng lúc, rồi tuân theo chính sách kênh được hỗ trợ.
AES-256 và OFB trả lời những câu hỏi khác nhau, và đây chính là chỗ các bài đánh giá mã hóa sai khi coi chúng là những lựa chọn cạnh tranh. Một bên nêu tên một mã khối với độ dài khóa; bên kia mô tả cách một mã khối được chuyển thành dòng cho một thông điệp dài hơn. Một cuốn sổ tay để chọn biện pháp bảo vệ phải nhìn vào toàn bộ cấu trúc, kể cả cách bên nhận phát hiện một gói đã bị sửa.
Gọi tên bốn phần của cấu trúc
Mỗi bài đánh giá quy về bốn câu hỏi: nguyên thủy và độ dài khóa nào, thông điệp được xử lý thế nào với nó, bên nhận từ chối một thay đổi trái phép ra sao, và giao thức quản lý đầu vào, khóa cùng thời hạn của chúng thế nào. Một danh sách tên quen thuộc chỉ trả lời câu đầu tiên. Câu thứ hai và thứ ba là nơi những khác biệt thực sự nằm, và câu thứ tư là nơi các triển khai lặng lẽ tách nhau. Hãy hỏi theo thứ tự đó và ghi lại câu trả lời.
OFB xuất hiện trong số các chế độ bí mật của ấn phẩm NIST về các chế độ mã khối, và tính bí mật là tất cả những gì nó cung cấp. Một giao thức ghép một chế độ mã hóa với một MAC riêng phải kết hợp chúng đúng cách, và tên thuật toán không chứng minh được sự kết hợp đó. Vì vậy chỉ tên chế độ không thể giải quyết một quyết định triển khai.
Câu hỏi thứ tư là câu mà người vận hành thực sự có thể kiểm chứng trên hệ thống đang chạy.
Ưu tiên cấu trúc có xác thực
Mã hóa có xác thực cung cấp tính bí mật và tính toàn vẹn cùng lúc, và các cấu trúc AEAD cũng bảo vệ dữ liệu liên quan khỏi bị sửa mà không mã hóa nó. Đó là một thuộc tính của việc bảo vệ gói, và không liên quan đến việc một người đã đăng nhập thành công hay chưa.
Hướng dẫn của Netgate về cấu hình mật mã OpenVPN chỉ ra các tùy chọn AEAD, trong đó có AES-GCM, cho kênh dữ liệu, và đó là kiểu chính sách được hỗ trợ cần tuân theo. Hãy dùng những lựa chọn mà bản phát hành đã cài và các máy khách ngang hàng hỗ trợ, thay vì sao chép một bảng xếp hạng chế độ lịch sử vào một triển khai mới. Khả năng tương thích cũ, các phần phụ trợ mật mã và hỗ trợ offload đều giới hạn những gì thực sự có sẵn.
Một cấu trúc được hỗ trợ luôn thắng một cách kết hợp khéo léo.
Đọc kết quả đã thương lượng, không phải đề nghị
Một mã xuất hiện trong danh sách được chấp nhận không nói gì về phiên hiện tại. Hãy đọc biện pháp bảo vệ kênh dữ liệu đã thương lượng ở máy khách hoặc ở cổng, rồi so với chính sách bạn định áp dụng. Một cấu hình vẫn liệt kê tùy chọn cũ cho một máy ngang hàng cũ là quyết định tương thích, không phải tuyên bố về phiên đang ở trước mặt bạn.
openvpn --config client.conf --verb 4 2>&1 | grep -Ei 'cipher|data channel|auth'
Ở cổng, đầu ra tương đương là hiệp hội bảo mật hoặc chi tiết mật mã của kết nối, tùy nền tảng. Trong cả hai trường hợp, đề nghị và kết quả là những sự thật khác nhau. Một danh sách có tùy chọn cũ cho một máy ngang hàng cũ không có nghĩa mọi phiên đều dùng nó, và phiên dùng nó chính là điều bạn cần biết.
Ghi lại cả hai sự thật cùng nhau, kèm ngày và phiên bản máy khách.
Chỉ đo những gì có thể so sánh
Thông lượng phụ thuộc vào phần cứng của các điểm cuối, cách triển khai, tăng tốc, kích thước gói và cấu hình đã chọn. Cả độ dài khóa lẫn từ OFB đều không cho bạn biết triển khai nào sẽ nhanh hơn. Vì vậy một phép đo từ trang khác, trong trường hợp tốt nhất, chỉ là gợi ý về phần cứng mà người khác sở hữu. Con số của bạn bắt đầu từ các điểm cuối của bạn.
Để so sánh có phép, hãy giữ các điểm cuối, khối lượng công việc và chính sách yêu cầu không đổi, rồi ghi lại biện pháp bảo vệ đã thương lượng cùng các phiên bản triển khai. Sau đó đánh giá kết quả theo việc ứng dụng có xong không, mất bao nhiêu và các điểm cuối đang làm gì, thay vì suy ra chi phí mật mã từ một lần đo tốc độ. Một con số tạo ra trong điều kiện khác là câu chuyện, không phải phép đo.
Nếu một máy ngang hàng cũ không đáp ứng được chính sách, đó là quyết định tương thích cho chủ của nó.
Giữ tính toàn vẹn ngoài cuộc mặc cả
Tắt các kiểm tra toàn vẹn hoặc chấp nhận một máy chủ chưa xác minh không phải là tối ưu hiệu năng và cũng không phải là bản sửa tương thích. Nó thay đổi thuộc tính bảo mật mà cấu trúc được chọn để cung cấp. Điều tương tự áp dụng cho việc mở rộng danh sách mã được chấp nhận cho đến khi một máy ngang hàng cũ kết nối được: kết nối thành công và chính sách không còn nữa.
Hãy viết cấu trúc được chấp nhận và chủ sở hữu của nó vào sổ tay, để thay đổi tiếp theo bắt đầu từ một quyết định chứ không phải một sở thích.
Điều bạn muốn là một chính sách mà cả hai đầu có thể thực thi. Tranh luận xem tên nào mạnh nhất là một cuộc trò chuyện khác, và nó thường kết thúc mà không có quyết định.