Thắc mắc về Diffie-Hellman

em có xem 1 video trên youtube giải thích về Diffie Hellman

ở phút 21:07

trong này anh kia có nói client và server ko trao đổi key qua internet, nhưng em đọc trên wiki : https://vi.wikipedia.org/wiki/Trao_đổi_khóa_Diffie-Hellman

thì người ta lại bảo sau khi trộn key xong thì client-server tiến hành trao đổi key cho nhau để tạo ra khóa chung, em muốn hỏi là người làm clip kia sai hay em hiểu ko đúng ý của họ nhỉ

em thấy thật vô lý nếu ko truyền key đã trộn cho nhau thì thế quái nào mà tạo được key chung để giao tiếp đc ??

1 Like

Đường trên (gọi theo video từ phút 17) là đường trao đổi public key, nếu bị chặn tại đó gọi là MITM, có thể đưa public key khác vào và không thể xác thực được.

Diffie-Hellman dùng để trao đổi session key, và đến tận phút 29 mới đề cập. Trong DH mỗi bên lấy secret riêng trộn với shared [ai cũng biết] truyền cho nhau, sau đó mỗi bên tự tính (secret riêng, đối phương truyền qua) làm session key, nên “session key không được truyền qua mạng”.

4 Likes

tức là 2 bên vẫn truyền qua lại với nhau 1 cái gì đó để tạo thành 1 giao thức chung để giao tiếp đúng ko anh, chứ như trong video nói ko rõ nên em xem thấy nó sai sai

vì em cũng có đọc qua cách người ta bảo mật http bằng ssl, server gửi đi 1 key public , sau đó client dùng key đó mã hóa thông tin để tạo session key và gửi về server ( thông tin bị mã hóa này chỉ có thể giải mã bằng private key ở server) , sau khi giải mã xong thì client-server sẽ dùng session key này để mã hóa/ giải mã dữ liệu

Đúng vậy. Ở đây có hai cách trao đổi là RSA và Diffie-Hellman exchange (DHE), trong đó DHE được khuyến cáo sử dụng vì không truyền session key trên mạng.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?