Chúng ta đang ở trong thời gian thay đổi lớn về web, tiền tố HTTP quen thuộc đang được nhanh chóng thay thế bằng HTTPS. Tiền tố HTTPS cũng đã có mặt từ lâu trong thế giới Web, nhưng thường được sử dụng ở những trang liên quan đến tiền nhiều hơn như: trang web của ngân hàng, các cửa hàng mua sắm trực tuyến, mạng xã hội hay dịch vụ Web như Gmail.
Tuy nhiên, hiện tại các trang Web vẫn còn sử dụng HTTP đang được khuyến khích, thúc đẩy bởi cả Google và Mozilla để nhanh chóng chuyển sang HTTPS. Theo đó các trình duyệt sẽ dán nhãn với các trang Web dùng kết nối HTTP là “không an toàn”. Google thậm chí còn mạnh tay hơn khi xếp hạng các trang dùng kết nối HTTPS ở thứ hạng cao hơn.
Với các nỗ lực như vậy, HTTPS đã không còn giới hạn trong các trang của ngân hàng và webmail nữa, thay vào đó càng ngày càng có nhiều website sử dụng kết nối này. Vậy chữ “S” trong HTTPS có gì thần thánh mà những ông lớn về Internet lại phải hỗ trợ để phổ biến nó như vậy?
Chữ “S” có phải là Security (An toàn) không?
Mặc dù những trang Web sử dụng kết nối HTTP đang bị các trình duyệt dán nhãn là không an toàn, nhưng điều đó không có nghĩa là các trang web HTTPS là an toàn. Nói chính xác hơn, HTTPS chỉ có nghĩa là kết nối của bạn là an toàn, chứ không phải dữ liệu của bạn lưu trên website đó là an toàn. Trên thực tế, HTTPS không liên quan gì đến website, máy chủ lưu trữ, hay bất cứ dữ liệu nào bạn cung cấp cho nó.
Nếu HTTPS không đảm bảo sự an toàn, thì chính xác là nó có tác dụng gì? Nói một cách ngắn gọn, HTTPS mang lại ba điều: sự bí mật, toàn vẹn và độ tin cậy.
- Trước tiên, điều đơn giản nhất là sự bí mật:
HTTPS sử dụng mã hóa để đảm bảo không ai có thể xem được dữ liệu truyền qua dây dẫn. Khi trình duyệt của bạn kết nối với một website thông qua HTTPS, kết nối từ trình duyệt của bạn đến trang web bạn muốn xem sẽ được mã hóa. Điều đó nghĩa là bất kỳ dữ liệu nào được trao đổi, cũng sẽ không hiển thị cho bất kỳ ai rình mò trong mạng lưới.
- Khả năng mã hóa của HTTPS cũng mang lại đặc điểm thứ hai cho nó: tính toàn vẹn.
Anh Jacob Hoffman-Andrews từ EFF (Electronic Frontier Foundation: Tổ chức Biên giới điện tử) cho biết, mã hóa giống như “một rào chắn nhỏ tối thiểu” cho Web ngày nay. “Nếu chúng ta đang thiết kế lại Internet từ đầu ngày hôm nay, chúng tôi sẽ nói mã hóa rất rẻ tiền và dễ dàng, không còn hạn chế việc xuất sang định dạng khác nữa, do vậy nó sẽ là mặc định và bạn sẽ không phải lo gì về nó nữa.”
Nếu không có mã hóa, bất kỳ ai với chút ít khả năng cũng có thể giám sát được kết nối, để biết mọi thứ bạn yêu cầu và những gì các trang web gửi trả lại. Không chỉ vậy, người đó – được gọi là Người Đứng Giữa (Man-in-the-Middle) – sẽ có thể can thiệp vào dòng dữ liệu gửi đi và nhận lại đó. Ví dụ, nhà mạng cung cấp Internet có thể hiển thị một quảng cáo để buộc bạn phải click vào quảng cáo đó mới được đọc.
Và điều này không phải chưa từng xảy ra. Bằng kỹ thuật tấn công man-in-the-middle, nhà mạng không dây Verizon đã chỉnh sửa băng thông trên mạng lưới của họ để tạo ra một bộ theo dõi (nó bổ sung thêm một đoạn đầu gắn vào HTTP được gọi là X-UIDH) và gửi đến toàn bộ các trang web không mã hóa mà khách hàng của Verizon thường truy cập.
Điều này cho phép Verizon, theo cách nói của EFF, “lắp ghép một hồ sơ vĩnh viễn, sâu sắc về thói quen duyệt web của người dùng mà không cần sự đồng ý của họ.” Ngoài Verizon, các dịch vụ Wifi của Comcast và AT&T cũng tương tự như vậy.
Việc các nhà mạng làm gì với dữ liệu này vẫn là điều không thể đoán được, do vậy đây có thể xem như một trong các lý do lớn nhất làm Google muốn Web chuyển sang kết nối HTTPS. Trong khi đó với kết nối mã hóa khi website sử dụng HTTPS, các dữ liệu được truyền trên đó sẽ rất khó bị đọc được. Sẽ không có cách nào để đọc hay can thiệp vào đoạn văn bản toàn mã hiệu nếu không có chìa khóa mã hóa. Đây chính là ưu điểm thứ hai của HTTPS, khi nó đảm bảo bạn nhận được đúng nội dung trình duyệt yêu cầu.
Từ khả năng mã hóa của mình, HTTPS còn có một lợi ích khác: đó là ngăn chặn việc kiểm duyệt từ các nhà cung cấp dịch vụ mạng hay các chính phủ. Như đã nói ở trên, các mạng lưới không mã hóa làm cho việc kiểm duyệt trở nên rất dễ dàng – bên thứ ba chỉ việc can thiệp vào luồng dữ liệu, khóa hoặc thay đổi những gì bạn muốn đọc lại.
Tuy nhiên, với khả năng mã hóa đường truyền, các bên thứ ba sẽ không theo dõi và can thiệp được vào nội dung hay luồng dữ liệu đó. Ví dụ, chính phủ Nga từng muốn chặn, không cho truy cập một bài viết trên trang Wikipedia, nhưng bởi vì Wikipedia sử dụng HTTPS nên không có cách nào để biết những người đang truy cập vào trang này đang yêu cầu bài viết nào. Chính phủ Nga lúc đó đối mặt với sự lựa chọn, hoặc chặn cả trang Wikipedia hoặc không gì cả, và cuối cùng họ chọn không gì cả.
Việc thiếu hụt khả năng mã hóa đường truyền còn tạo ra một nguy cơ khác lớn hơn. Một cuộc tấn công mạng bị đưa ra ánh sáng vào năm ngoái đã cho thấy, sự thiếu hụt các trang web HTTPS còn tạo ra nguy cơ tấn công DDoS phân tán, bằng cách sử dụng các truy cập từ những người dùng không biết gì về cuộc tấn công này.
Cuộc tấn công Đại Pháo - Great Cannon – giống như tên gọi của mình, là một cuộc tấn công rất tinh vi. Bằng cách nào đó, ai đấy đã chiếm quyền một bit Javascript cung cấp bởi Baidu, người khổng lồ về tìm kiếm của Trung Quốc, và thêm vào đó một phụ tải (payload) để nó thường xuyên gửi đi các yêu cầu đến hai website, vốn thách thức sự kiểm duyệt của chính phủ Trung Quốc. Bất kỳ ai bị gắn đoạn script kia khi truy cập vào Baidu, sẽ là một phần của cuộc tấn công mà không biết.
Cách duy nhất để ngăn chặn một cuộc tấn công kiểu Great Cannon, hay việc theo dõi mạng lưới như của Verizon, là mã hóa băng thông truy cập của bạn.
- Điều cuối cùng HTTPS mang lại là tính xác thực và tin cậy
Trang web bạn đang truy cập sẽ được xác nhận bởi trình duyệt rằng đây đúng là trang web đó và không phải một kẻ mạo danh. Để xác thực kết nối của bạn, các trình duyệt Web duy trì một danh sách các chứng nhận đã được thẩm định là đáng tin cậy và đã được biết.
Khi trình duyệt của bạn yêu cầu tải một trang nào đó, nó sẽ nhận được các chứng nhận an toàn của trang đó, chứa một chuỗi có thể dẫn ngược về đơn vị thẩm định chứng nhận đó. Nếu đơn vị thẩm định đó phù hợp với một đơn vị thẩm định mà trình duyệt đã biết, sau đó trình duyệt của bạn sẽ tin tưởng trang web mà bạn đang kết nối là đúng như những gì nó tuyên bố.
Tuy nhiên, hiện tại các trang Web vẫn còn sử dụng HTTP đang được khuyến khích, thúc đẩy bởi cả Google và Mozilla để nhanh chóng chuyển sang HTTPS. Theo đó các trình duyệt sẽ dán nhãn với các trang Web dùng kết nối HTTP là “không an toàn”. Google thậm chí còn mạnh tay hơn khi xếp hạng các trang dùng kết nối HTTPS ở thứ hạng cao hơn.

Với các nỗ lực như vậy, HTTPS đã không còn giới hạn trong các trang của ngân hàng và webmail nữa, thay vào đó càng ngày càng có nhiều website sử dụng kết nối này. Vậy chữ “S” trong HTTPS có gì thần thánh mà những ông lớn về Internet lại phải hỗ trợ để phổ biến nó như vậy?
Chữ “S” có phải là Security (An toàn) không?
Mặc dù những trang Web sử dụng kết nối HTTP đang bị các trình duyệt dán nhãn là không an toàn, nhưng điều đó không có nghĩa là các trang web HTTPS là an toàn. Nói chính xác hơn, HTTPS chỉ có nghĩa là kết nối của bạn là an toàn, chứ không phải dữ liệu của bạn lưu trên website đó là an toàn. Trên thực tế, HTTPS không liên quan gì đến website, máy chủ lưu trữ, hay bất cứ dữ liệu nào bạn cung cấp cho nó.
Nếu HTTPS không đảm bảo sự an toàn, thì chính xác là nó có tác dụng gì? Nói một cách ngắn gọn, HTTPS mang lại ba điều: sự bí mật, toàn vẹn và độ tin cậy.
- Trước tiên, điều đơn giản nhất là sự bí mật:
HTTPS sử dụng mã hóa để đảm bảo không ai có thể xem được dữ liệu truyền qua dây dẫn. Khi trình duyệt của bạn kết nối với một website thông qua HTTPS, kết nối từ trình duyệt của bạn đến trang web bạn muốn xem sẽ được mã hóa. Điều đó nghĩa là bất kỳ dữ liệu nào được trao đổi, cũng sẽ không hiển thị cho bất kỳ ai rình mò trong mạng lưới.

- Khả năng mã hóa của HTTPS cũng mang lại đặc điểm thứ hai cho nó: tính toàn vẹn.
Anh Jacob Hoffman-Andrews từ EFF (Electronic Frontier Foundation: Tổ chức Biên giới điện tử) cho biết, mã hóa giống như “một rào chắn nhỏ tối thiểu” cho Web ngày nay. “Nếu chúng ta đang thiết kế lại Internet từ đầu ngày hôm nay, chúng tôi sẽ nói mã hóa rất rẻ tiền và dễ dàng, không còn hạn chế việc xuất sang định dạng khác nữa, do vậy nó sẽ là mặc định và bạn sẽ không phải lo gì về nó nữa.”
Nếu không có mã hóa, bất kỳ ai với chút ít khả năng cũng có thể giám sát được kết nối, để biết mọi thứ bạn yêu cầu và những gì các trang web gửi trả lại. Không chỉ vậy, người đó – được gọi là Người Đứng Giữa (Man-in-the-Middle) – sẽ có thể can thiệp vào dòng dữ liệu gửi đi và nhận lại đó. Ví dụ, nhà mạng cung cấp Internet có thể hiển thị một quảng cáo để buộc bạn phải click vào quảng cáo đó mới được đọc.
Và điều này không phải chưa từng xảy ra. Bằng kỹ thuật tấn công man-in-the-middle, nhà mạng không dây Verizon đã chỉnh sửa băng thông trên mạng lưới của họ để tạo ra một bộ theo dõi (nó bổ sung thêm một đoạn đầu gắn vào HTTP được gọi là X-UIDH) và gửi đến toàn bộ các trang web không mã hóa mà khách hàng của Verizon thường truy cập.

Điều này cho phép Verizon, theo cách nói của EFF, “lắp ghép một hồ sơ vĩnh viễn, sâu sắc về thói quen duyệt web của người dùng mà không cần sự đồng ý của họ.” Ngoài Verizon, các dịch vụ Wifi của Comcast và AT&T cũng tương tự như vậy.
Việc các nhà mạng làm gì với dữ liệu này vẫn là điều không thể đoán được, do vậy đây có thể xem như một trong các lý do lớn nhất làm Google muốn Web chuyển sang kết nối HTTPS. Trong khi đó với kết nối mã hóa khi website sử dụng HTTPS, các dữ liệu được truyền trên đó sẽ rất khó bị đọc được. Sẽ không có cách nào để đọc hay can thiệp vào đoạn văn bản toàn mã hiệu nếu không có chìa khóa mã hóa. Đây chính là ưu điểm thứ hai của HTTPS, khi nó đảm bảo bạn nhận được đúng nội dung trình duyệt yêu cầu.
Từ khả năng mã hóa của mình, HTTPS còn có một lợi ích khác: đó là ngăn chặn việc kiểm duyệt từ các nhà cung cấp dịch vụ mạng hay các chính phủ. Như đã nói ở trên, các mạng lưới không mã hóa làm cho việc kiểm duyệt trở nên rất dễ dàng – bên thứ ba chỉ việc can thiệp vào luồng dữ liệu, khóa hoặc thay đổi những gì bạn muốn đọc lại.

Tuy nhiên, với khả năng mã hóa đường truyền, các bên thứ ba sẽ không theo dõi và can thiệp được vào nội dung hay luồng dữ liệu đó. Ví dụ, chính phủ Nga từng muốn chặn, không cho truy cập một bài viết trên trang Wikipedia, nhưng bởi vì Wikipedia sử dụng HTTPS nên không có cách nào để biết những người đang truy cập vào trang này đang yêu cầu bài viết nào. Chính phủ Nga lúc đó đối mặt với sự lựa chọn, hoặc chặn cả trang Wikipedia hoặc không gì cả, và cuối cùng họ chọn không gì cả.
Việc thiếu hụt khả năng mã hóa đường truyền còn tạo ra một nguy cơ khác lớn hơn. Một cuộc tấn công mạng bị đưa ra ánh sáng vào năm ngoái đã cho thấy, sự thiếu hụt các trang web HTTPS còn tạo ra nguy cơ tấn công DDoS phân tán, bằng cách sử dụng các truy cập từ những người dùng không biết gì về cuộc tấn công này.

Cuộc tấn công Đại Pháo - Great Cannon – giống như tên gọi của mình, là một cuộc tấn công rất tinh vi. Bằng cách nào đó, ai đấy đã chiếm quyền một bit Javascript cung cấp bởi Baidu, người khổng lồ về tìm kiếm của Trung Quốc, và thêm vào đó một phụ tải (payload) để nó thường xuyên gửi đi các yêu cầu đến hai website, vốn thách thức sự kiểm duyệt của chính phủ Trung Quốc. Bất kỳ ai bị gắn đoạn script kia khi truy cập vào Baidu, sẽ là một phần của cuộc tấn công mà không biết.
Cách duy nhất để ngăn chặn một cuộc tấn công kiểu Great Cannon, hay việc theo dõi mạng lưới như của Verizon, là mã hóa băng thông truy cập của bạn.
- Điều cuối cùng HTTPS mang lại là tính xác thực và tin cậy
Trang web bạn đang truy cập sẽ được xác nhận bởi trình duyệt rằng đây đúng là trang web đó và không phải một kẻ mạo danh. Để xác thực kết nối của bạn, các trình duyệt Web duy trì một danh sách các chứng nhận đã được thẩm định là đáng tin cậy và đã được biết.

Khi trình duyệt của bạn yêu cầu tải một trang nào đó, nó sẽ nhận được các chứng nhận an toàn của trang đó, chứa một chuỗi có thể dẫn ngược về đơn vị thẩm định chứng nhận đó. Nếu đơn vị thẩm định đó phù hợp với một đơn vị thẩm định mà trình duyệt đã biết, sau đó trình duyệt của bạn sẽ tin tưởng trang web mà bạn đang kết nối là đúng như những gì nó tuyên bố.