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ớ sẽ gửi một danh sách các phiên bản SSL/TLS và thuật toán mã hóa mà tớ có thể làm việc với Compugter.

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ớ sẽ chọn ra phiên bản SSL/TLS tốt nhất và thuật toán mã hóa nên dùng giữa danh sách mà Browserbird đã gửi dựa trên các thiết lập của tớ.

Tớ sẽ đáp lại với một chứng chỉ,trong đó chứa khóa public của tớ, từ đó họ có thể biết tớ là ai.

Bước 3: Lắc dọc. Hay còn gọi là "Trao đổi khóa người dùng".

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

Tớ sẽ tạo ra một khóa "tiền chủ" (pre-master) để chúng tớ đều có thể sử dụng cho việc tạo ra các khóa đặc biệt sau này.

Tớ mã hóa khóa pre-master với khóa public của Compugter và gửi lại cho cậu ấy.

Bước 4: Xoay ngang. Hay còn gọi là "Thay đổi thông số mật mã".

Tớ sẽ sử dụng khóa private của tớ để giải mã khóa pre-master.

Nhưng cho đến hiện tại thì mọi kết nối của các cậu ấy vẫn đang công khia và chưa có tin nhắn nào được bảo mật.

Bọn họ đã sử dụng khóa bất đối xứng để mã hóa khóa pre-master nên giờ không ta không thể theo dõi nữa.

Giờ thì các cậu ấy đã tạo ra một "Mật mã chung" và sửa dụng như một khóa đối xứng.
Và Browserbird sẽ thử trước.
Compugter trả lời.
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