Khóa riêng của người dùng chỉ được sử dụng cho auth?


8

Tôi có một câu hỏi đơn giản liên quan đến giao thức OpenVPN. Giả sử chúng ta có hai người dùng khác nhau, với các khóa khác nhau cho cùng một máy chủ và cả hai khóa 1024 bit. Nếu hai người dùng này thực hiện cùng một yêu cầu chính xác và ai đó đang đánh hơi dữ liệu trên máy chủ, người này (trình thám thính) sẽ thấy cùng một dữ liệu cho cả người dùng hoặc dữ liệu khác nhau? Câu hỏi là để biết liệu khóa riêng của người dùng có can thiệp vào mật mã SAU khi xác thực hay chỉ được sử dụng trong thời gian xác thực. Cảm ơn bạn.


Với bất kỳ mã hóa an toàn ngữ nghĩa nào, dữ liệu được mã hóa sẽ khác nhau ngay cả khi cả khóa và dữ liệu giống hệt nhau. Vì vậy, câu hỏi của bạn có thể được trình bày chính xác hơn là "Giao thức OpenVPN có sử dụng mã hóa an toàn về mặt ngữ nghĩa không?". Ngoài ra, với một số chế độ mã hóa, bất kỳ dữ liệu nào bạn chuyển sẽ ảnh hưởng đến mã hóa dữ liệu gửi sau đó. Do đó, ngay cả khi khóa chỉ được sử dụng ban đầu, nó vẫn sẽ ảnh hưởng đến cách dữ liệu được mã hóa trong suốt kết nối.
kasperd

Câu trả lời:


10

Nếu hai người dùng này thực hiện cùng một yêu cầu chính xác và ai đó đang đánh hơi dữ liệu trên máy chủ, người này (trình thám thính) sẽ thấy cùng một dữ liệu cho cả người dùng hoặc dữ liệu khác nhau?

Dữ liệu khác nhau.

Câu hỏi là để biết liệu khóa riêng của người dùng có can thiệp vào mật mã SAU khi xác thực hay chỉ được sử dụng trong thời gian xác thực.

Các khóa công khai / riêng tư chỉ được sử dụng trong quá trình đàm phán xác thực / khóa.


OpenVPN có thể hoạt động ở một trong hai chế độ , khóa chia sẻ trước hoặc sử dụng TLS có chứng chỉ. Khóa chia sẻ trước là tĩnh, không đổi, nhưng bạn đang hỏi về chế độ chứng chỉ.

Tôi sẽ không đi sâu vào chi tiết và bạn có thể tự tìm kiếm TLS, nhưng về cơ bản TLS sử dụng các chứng chỉ (và khóa riêng) để xác thực và trong giai đoạn đàm phán chính. Nó tạo ra một khóa mã hóa đối xứng (ví dụ: BlowFish, AES, v.v.) và sử dụng mật mã khóa công khai để chia sẻ khóa đó một cách an toàn.

Thông điệp thực tế sau đó được mã hóa bằng mã hóa đối xứng. Mỗi phiên có khóa mã hóa độc lập riêng (vì vậy nếu bạn ngắt kết nối và kết nối lại, bạn thực sự kết thúc bằng một khóa khác). Tương tự như vậy, mỗi người dùng sẽ có các phiên khác nhau và do đó các khóa khác nhau.

Có hai lý do để làm điều này. Mã hóa đối xứng nhanh hơn đáng kể so với mã hóa bất đối xứng, do đó được ưu tiên cho thông lượng cao (khó khăn là chia sẻ khóa, giai đoạn đàm phán giải quyết). Ngoài ra, bằng cách tạo khóa mới mỗi lần, các khóa bị xâm phạm sẽ khó tiết lộ dữ liệu của các phiên khác ( FS ).


À, chúng ta đi - câu trả lời mà tôi đang trong quá trình viết, chỉ được thể hiện rõ ràng hơn nhiều. +1 từ tôi.
MadHatter

+1 và được chấp nhận là câu trả lời. Câu trả lời của bạn rất có giá trị, và xóa câu hỏi của tôi. Cảm ơn bạn
dùng2864778

1

Mỗi khách hàng sẽ mã hóa dữ liệu của mình bằng khóa thỏa thuận giữa máy khách và máy chủ, vì vậy dữ liệu nhận được trên cổng VPN sẽ khác nhau đối với cả người dùng.


2
Phần đầu không đúng. OpenVPN sử dụng TLS , không sử dụng mật mã khóa công khai để mã hóa tin nhắn.
Bob
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.