Thẻ mã hóa cho cổng VPN: bốn lần bàn giao trước khi mua
Một thẻ PCI được phát hiện chỉ là một trong bốn bước. Hãy lần theo trình điều khiển, phép mã hóa cần thiết và backend đang hoạt động của VPN trước khi trả tiền cho việc tăng tốc.
Các bộ tăng tốc mã hóa cũ xuất hiện trong danh mục PCI, và người ta giả định rằng VPN sẽ mã hóa nhanh hơn. Bốn lần bàn giao riêng biệt phải thành công trước khi điều đó đúng: hệ thống tìm thấy thiết bị, một trình điều khiển được duy trì điều khiển nó, một giao diện công bố phép toán mà VPN cần, và backend đang hoạt động của VPN yêu cầu phép toán đó. Nếu bất kỳ khâu nào thất bại, thẻ vẫn nằm ngoài đường đi thực sự của đường hầm.
Phát hiện là lần bàn giao đầu tiên, không phải lần cuối
Phát hiện chỉ chứng minh rằng bus nhìn thấy một thiết bị và nhân hệ điều hành có chút ý niệm về nó. Hỗ trợ trình điều khiển là cổng tiếp theo, và nó phụ thuộc vào phiên bản: một mô-đun có trong bản phát hành cũ có thể hoàn toàn không có trong gói nhân hiện tại. Hơn nữa, trình điều khiển phải đăng ký thuật toán và chế độ cụ thể mà kênh dữ liệu sử dụng. Một thẻ tăng tốc AES-CBC không làm gì cho cấu hình đang thương lượng AES-GCM.
Gọi tên từng lần bàn giao riêng trong đánh giá, vì thất bại ở lần thứ tư nhìn từ bên ngoài giống hệt thất bại ở lần đầu.
Đọc danh mục thuật toán của nhân
Bắt đầu bằng việc thu thập những gì máy chủ đã biết về thiết bị và về các thuật toán nó đã đăng ký.
lspci -nn | grep -i -E "crypt|hifn|soekris"
grep -E "^(name|driver|priority)" /proc/crypto | head -40Dòng PCI cung cấp các mã nhận dạng nhà sản xuất và thiết bị cần cho mọi tìm kiếm trình điều khiển, và/proc/crypto liệt kê các triển khai đã đăng ký cùng trình điều khiển và độ ưu tiên của chúng. Giá trị độ ưu tiên sắp xếp việc chọn giữa các triển khai của cùng một thuật toán, điều này không giống với việc một ứng dụng chọn một trong số chúng. Nếu thuật toán của thẻ không xuất hiện ở đó, trình điều khiển chưa bao giờ đăng ký nó và không thay đổi nào trong không gian người dùng sẽ gọi nó. Ghi lại các mã nhận dạng và tên triển khai thay vì ảnh chụp màn hình của thẻ.
VPN phải chọn đúng triển khai đó
Khả năng sẵn có trong nhân là một thực đơn, không phải bảo đảm rằng tiến trình VPN đã đặt hàng từ đó. Kiểm tra xem backend thực sự dùng gì.
openssl speed -evp aes-256-gcm
openssl engine -t -cLệnh đo tốc độ thử nghiệm đường đi riêng của thư viện và cho một đường cơ sở cho máy như đã cấu hình, trong khi danh sách engine cho thấy OpenSSL có bất kỳ nhà cung cấp tùy chọn nào hay không. Một VPN trong không gian người dùng với thư viện mã hóa riêng bỏ qua hoàn toàn các triển khai của nhân, nên một trình điều khiển đã đăng ký có thể không liên quan đến nó. Việc giảm tải kênh dữ liệu là cơ chế thứ ba, thay đổi cách xử lý gói thay vì gửi yêu cầu mật mã đến thẻ mở rộng. Xác định cơ chế nào trong ba cơ chế đó mô tả việc triển khai của bạn trước khi mua phần cứng cho cái thứ tư.
So sánh với đường đi CPU bạn đã có
Bộ xử lý hiện đại có các chỉ thị AES mà một thư viện được duy trì sử dụng mà không cần phần cứng thêm, và chúng tránh truyền qua bus và các bản sao thừa. Một bộ tăng tốc cũ có thể thua đường đi đó trong khi vẫn báo cáo những con số mật mã thô ấn tượng. Hãy đo khối lượng công việc thực: cùng lưu lượng, cùng thiết lập bảo vệ, đường cơ sở so với ứng viên, với tải CPU và thông lượng ứng dụng được ghi lại cùng nhau. Đưa hành vi cập nhật và phục hồi vào quyết định, vì một mô-đun không được duy trì làm tăng rủi ro bảo trì của cổng trong suốt vòng đời của nó.
Cơ sở để mua là một chuỗi được hỗ trợ cùng một lợi ích đã đo được. Một thẻ được phát hiện, hay một mô-đun mà ai đó từng biên dịch, không phải lý do để khiến một cổng được duy trì phụ thuộc vào phần cứng lỗi thời.