Minh hoạ bài viết HTTPS hoạt động thế nào

HTTPS hoạt động thế nào và ổ khoá xanh thật sự bảo đảm điều gì

Ổ khoá nhỏ trên thanh địa chỉ trình duyệt là thứ hầu như ai cũng thấy mỗi ngày, nhưng ít người biết đằng sau nó là một quy trình khá công phu. Hiểu HTTPS làm gì giúp bạn đánh giá đúng mức độ an toàn của một trang web — và quan trọng không kém, biết nó không bảo vệ bạn khỏi những gì.

Vấn đề mà HTTPS giải quyết

Khi bạn gửi dữ liệu qua Internet, gói tin đi qua rất nhiều chặng: bộ định tuyến trong nhà, thiết bị của nhà mạng, các trung tâm trung chuyển, rồi mới tới máy chủ đích. Với giao thức HTTP thuần, toàn bộ nội dung đi qua các chặng đó ở dạng văn bản rõ. Bất kỳ ai kiểm soát được một chặng đều đọc được mật khẩu bạn vừa gõ, và tệ hơn, sửa được nội dung trang trước khi nó tới máy bạn.

HTTPS bổ sung một lớp mã hoá gọi là TLS vào giữa. Nó giải quyết ba việc cùng lúc:

  • Bí mật — người đứng giữa không đọc được nội dung.
  • Toàn vẹn — nội dung bị sửa trên đường sẽ bị phát hiện.
  • Xác thực — bạn có cơ sở tin rằng máy chủ đang trả lời đúng là chủ sở hữu tên miền đó.

Chứng chỉ số và chuỗi tin cậy

Vế xác thực là phần thú vị nhất. Máy chủ trình ra một chứng chỉ số — về bản chất là một tệp nói rằng “khoá công khai này thuộc về tên miền kia”, kèm chữ ký của một tổ chức thứ ba gọi là Certificate Authority (CA).

Trình duyệt của bạn không tin chứng chỉ đó vì nội dung nó viết gì. Trình duyệt tin vì nó kiểm tra được chữ ký, và chữ ký ấy truy ngược về một trong vài trăm CA gốc đã được cài sẵn trong hệ điều hành hoặc trình duyệt. Đó là lý do người ta gọi là chuỗi tin cậy: bạn tin trình duyệt, trình duyệt tin CA gốc, CA gốc ký cho CA trung gian, CA trung gian ký cho chứng chỉ của trang web.

Điểm yếu của mô hình này cũng nằm ngay ở đó: chỉ cần một CA bị xâm nhập hoặc cấp chứng chỉ sai, kẻ tấn công có thể tạo chứng chỉ hợp lệ cho một tên miền không thuộc về họ. Đây là chuyện đã từng xảy ra trong thực tế, và là lý do các cơ chế giám sát như Certificate Transparency ra đời.

Bắt tay TLS diễn ra thế nào

Trước khi byte dữ liệu đầu tiên được gửi, hai bên phải thống nhất cách mã hoá. Quá trình này gọi là handshake:

  1. Trình duyệt gửi danh sách các bộ thuật toán nó hỗ trợ.
  2. Máy chủ chọn một bộ và gửi lại chứng chỉ của mình.
  3. Trình duyệt xác minh chứng chỉ — đúng tên miền chưa, còn hạn không, chuỗi ký có truy về CA tin cậy không, có nằm trong danh sách thu hồi không.
  4. Hai bên trao đổi khoá để cùng tính ra một khoá phiên chung mà bên thứ ba nghe lén không suy ra được.
  5. Từ đó trở đi mọi thứ được mã hoá bằng khoá phiên ấy.

Bước bốn dùng một kỹ thuật quan trọng gọi là forward secrecy: khoá phiên sinh mới cho mỗi lần kết nối và không lưu lại. Nghĩa là kể cả sau này khoá riêng của máy chủ bị lộ, những phiên đã ghi lại từ trước vẫn không giải mã được.

Những gì HTTPS không làm

Đây là chỗ hay bị hiểu nhầm nhất. Ổ khoá xanh chỉ nói rằng kết nối được mã hoá và tên miền đúng như hiển thị. Nó không nói gì về việc trang web đó có lương thiện hay không.

Một trang lừa đảo hoàn toàn có thể có HTTPS hợp lệ — chứng chỉ miễn phí giờ cấp trong vài giây. Nếu bạn vào nhầm một tên miền viết sai chính tả gần giống ngân hàng của mình, ổ khoá vẫn xanh, vì đúng là kết nối tới tên miền đó được mã hoá thật. Cái sai nằm ở chỗ bạn đang ở nhầm nhà, không phải ở lớp bảo vệ.

HTTPS cũng không giấu được việc bạn đang truy cập tên miền nào. Nhà mạng vẫn thấy bạn kết nối tới đâu, chỉ là không đọc được bạn xem gì trên đó.

Vài điều nên nhớ

  • Kiểm tra tên miền, đừng chỉ nhìn ổ khoá. Đọc kỹ từng ký tự, nhất là với trang liên quan tới tiền.
  • Cảnh báo chứng chỉ của trình duyệt là thứ đáng dừng lại đọc, không phải thứ để bấm “vẫn tiếp tục” cho nhanh.
  • Trên Wi-Fi công cộng, HTTPS bảo vệ nội dung bạn gửi. Nhưng nếu trang bạn vào chỉ có HTTP thuần thì mọi thứ vẫn phơi ra.
Scroll to Top