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?
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.
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.
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.
Hoàn tất!
Hãy cùng làm lại nào, nhưng nhanh hơn.
L-Ạ-I-N-À-O !
Tha tớ đi!
Chúng ta sẽ cùng phân tích từng bước.
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.
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.
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.
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.
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.