Hãy xem xét bốn câu hỏi về mọi lần đăng nhập VPN: điều gì bảo vệ mật khẩu khi truyền tải, thành phần nào nhận nó, thành phần đó làm gì với nó, và điều gì được lưu lại sau đó. Mỗi câu trả lời là một biện pháp kiểm soát khác nhau, và một câu trả lời mạnh cho một câu không nói gì về những câu còn lại. Sai lầm là coi mã hóa đường hầm như thể nó bao phủ cả bốn. Nó chỉ bao phủ câu đầu tiên, và chỉ câu đầu tiên.

Hãy hỏi ai là người kết thúc phiên, chứ không phải phiên có được mã hóa hay không.

Mã hóa cho ai, chính xác?

TLS bảo vệ mật khẩu giữa máy khách và thứ kết thúc kết nối. Nếu điểm cuối đó là cổng VPN, mã xác thực của cổng nhìn thấy mật khẩu dưới dạng văn bản thuần, xác thực nó và chuyển tiếp chính nó hoặc một giá trị dẫn xuất. Đó là thiết kế có chủ đích, không phải rò rỉ. Một người quan sát mạng trên đường đi không học được gì hữu ích, và thành phần thực hiện xác minh học được mọi thứ nó cần.

Cộng đồng OpenVPN ghi chép điều này một cách rõ ràng: auth-user-pass-verify chuyển các thông tin xác thực đã gửi cho một tập lệnh hoặc plugin xác minh. Đó là sự bàn giao có chủ đích giữa các thành phần, và nó thuộc mô hình tin cậy như một bên được nêu tên.

Trình xác minh nhìn thấy mật khẩu

Khi một thành phần nhận mật khẩu để xác minh, các kiểm soát truy cập, việc ghi nhật ký và chất lượng mã của nó quyết định liệu bí mật có được giữ kín hay không. Một tập lệnh ghi thông tin xác thực vào nhật ký, hoặc một plugin lưu nó vào bộ nhớ đệm, tạo ra mức phơi bày lớn hơn nhiều so với giao thức. Quyền truy cập phụ thuộc vào kiến trúc và vai trò, không phải đường hầm, vì vậy chủ dịch vụ kiểm soát trình xác minh thuộc phạm vi đánh giá.

Các phương pháp khác nhau phơi bày vật liệu khác nhau. Xác thực bằng chứng chỉ chứng minh khóa riêng mà không gửi nó, và luồng liên bang có thể giữ mật khẩu tại nhà cung cấp danh tính đồng thời phát hành một khẳng định giới hạn cho VPN. Những thiết kế đó thu hẹp vòng tròn; không có thiết kế nào loại bỏ mọi bên tin cậy.

Hàm băm được lưu trữ bảo vệ một giai đoạn khác

Hướng dẫn của NIST tách truyền tải được bảo vệ khỏi việc lưu trữ trình xác minh bền vững. Việc thêm muối và một sơ đồ băm có chi phí giải quyết mối đe dọa trình xác minh được lưu trữ, tức là điều xảy ra sau đó nếu cơ sở dữ liệu bị rò rỉ. Chúng không làm gì cho một thành phần thời gian chạy phải nhận đầu vào để so sánh nó. Đọc hướng dẫn như thể nó hứa hẹn sự bí mật thời gian chạy là một lỗi phân loại.

Do đó, một kho mật khẩu được băm tốt và một tập lệnh xác minh bị phơi bày có thể cùng tồn tại trong một sản phẩm mà không mâu thuẫn.

Chọn một phương pháp thu hẹp vòng tròn

Nếu yêu cầu là cổng không bao giờ nhận được mật khẩu có thể dùng lại, hãy chọn một phương pháp thực sự đảm bảo điều đó; thay đổi mật mã dữ liệu không tạo ra thuộc tính đó. Xác minh chứng chỉ của máy chủ VPN cho bạn biết bạn đã đến đối tác nào; nó không nói gì về cách đối tác đó xử lý thông tin xác thực sau đó. Giữ xác minh máy chủ, dùng thông tin xác thực riêng cho từng dịch vụ, và tuân theo luồng danh tính mà tổ chức hỗ trợ.

Ghi lại bên nhận mật khẩu, bên xác thực nó và hình thức lưu giữ nó. Ba câu trả lời đó nằm cạnh hồ sơ kết nối, vì chúng sống lâu hơn bất kỳ đường hầm cụ thể nào.

Câu hỏi hữu ích không phải là mật khẩu có được mã hóa hay không, mà là nó bị giấu khỏi ai, thành phần nào nhận nó và hình thức nào tồn tại sau đó.

Bài viết liên quan