Cái bắt tay

Khi cậu bắt đầu đọc bộ truyện này, trình duyệt của cậu đang hiển thị một hình khóa trên thanh địa chỉ.

Sao cái này lại xảy ra vậy?

Trình duyệt của cậu đang kết nối đến máy chủ cảu chúng tớ, nơi mà bộ truyện này được lưu trữ, và chúng cùng nhau tạo ra một kết nối an toàn để vận chuyển tin nhắn.

Nhưng đầu tiên, chúng cần phải đồng ý với nhau về việc làm thế nào để giao tiếp bảo mật.

Nếu quá trình đàm phán không thành công, trình duyệt của cậu sẽ hiển thị một thông báo cảnh cáo về việc này.
Nếu một thỏa thuận đã đạt được, trình duyệt sẽ hiển thị một hình khóa trên thanh địa chỉ.

Quá trình này, sự đàm phán giữa trình duyệt và máy chủ, được gói là cái "bắt tay" ( the handshake ).

Nó xảy ra rất nhanh. Chúng tớ sẽ cho cậu xem cách mà nó xảy ra.

Browserbird sẽ là trình duyệt của cậu.
Compugter sẽ là máy chủ của chúng tớ.

Cùng bắt đầu trình diễn nào!

Sẵn sàng chưa? Đây là cách mà "cái bắt tay" xảy ra trong chuyện động siêu chậm.

Đập tay trái!
Đập tay phải!
Lắc dọc!
Xoay ngang!
Cù lét!

Hoàn tất!

Hãy cùng làm lại nào, nhưng nhanh hơn.

Tay trái - Tay phải - Lắc - Xoay - Cù!

L-Ạ-I-N-À-O !

Tha tớ đi!

Chúng ta sẽ cùng phân tích từng bước.

Bước 1: Đập tay trái. Hay còn gọi là "Xin chào người dùng".

Tôi gửi cho Compugter danh sách các phiên bản SSL/TLS và thuật toán mã hóa mà tôi có thể sử dụng. Hiện nay tôi ưu tiên TLS 1.3, nên tôi cũng gửi key_share.

Có một từ hay hơn để gọi danh sách cách thuật toán mã hóa là "Bộ mật mã"( cipher suite ).

Và giờ thì câu trông pro hơn hẳn đúng không.

Giao thức SSL và TLS đã phát triển rất nhiều qua thời gian, chúng ta sẽ nói về nó sau.

Và tớ sẽ chờ câu trả lời từ Compugter.

Bước 2: Đập tay phải. Hay còn gọi là "Xin chào máy chủ".

Tôi chọn TLS 1.3 và một cipher suite, đồng thời gửi lại key_share của mình. Từ đây, TLS 1.3 sẽ mã hóa phần còn lại của bắt tay.

Ngay sau đó tôi gửi chứng chỉ của mình, trong đó có khóa công khai, để họ xác minh danh tính của tôi.

Bước ba: shaka dọc. Còn gọi là Key Share.

Tớ sẽ kiểm tra chứng chỉ của Compugter để đảm bảo rằng chúng hợp lệ.

Vì cả hai đã gửi key share trước đó, chúng ta đều có thể suy ra cùng một bí mật, đảm bảo tính bí mật.

Bước bốn: xoay ngang shaka. Còn gọi là Finished Messages.

Từ ServerHello (bước hai) trở đi, quá trình bắt tay được mã hóa.

Họ trao đổi thông điệp Finished để chứng minh đã suy ra cùng một bí mật — và chỉ trong một lần khứ hồi, khóa phiên đã sẵn sàng.

Bước 5: Cù lét. Hay còn gọi là "Mọi thứ giờ đây đã bảo mật".
Giờ thì mọi thông tin giữa Browserbird và Compugter sẽ được bảo mật trong phiên này.

Mật khẩu, thông tin thẻ tín dụng, mọi thứ.

Rất đơn giản phải không?

Lần tiếp theo khi cậu kết nối với một trang sử dụng HTTPS, hãy cho phép trình duyệt thực hiện cái bắt tay vì cậu đã biết cách chúng hoạt động.

Tiếp tục với HowHTTPS.works...

HTTPS, SSL, TLS. Lạy chúa! Chúng là cái quái gì thế? Chúng có giống nhau không vậy?

Tiếp tục đọc