Chữ "S" trong HTTPS có gì thần thánh và nó có làm trang web của bạn bảo mật tốt hơn?

    Nguyễn Hải,  

    Những hiểu nhầm lớn về HTTPS đang giúp thúc đẩy sự phổ biến của kết nối này, và nó hoàn toàn không vô tình bị hiểu nhầm như vậy.

    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ố.

    HTTPS - Tấm lá chắn đắt đỏ cho bảo mật Web

    Giờ chắc hẳn bạn đã hiểu những gì HTTPS mang lại: sự mã hóa, tính toàn vẹn và tính xác thực – cũng như tại sao ngân hàng, Gmail, Facebook, Twitter hay ngày càng nhiều trang web khác đang sử dụng nó. Nhưng liệu HTTPS có phải một lá chắn hoàn hảo, hữu hiệu cho các thế giới Web ngày nay hay không? Liệu mọi website đều nên chuyển sang sử dụng kết nối này hay không?

    Không hẳn vậy.

    Blogger và là nhà phát triển, ông Dave Winer trong một bài đăng trên blog cho rằng “HTTPS là một nhà hát bảo mật đắt đỏ.” Ông lập luận rằng HTTPS không những không giúp đỡ gì cho các trang web lưu trữ cũ, mà còn làm lãng phí thời gian của những người sở hữu trang web. Không chỉ có Winer, ông Tim Berner-Lee cũng đặt nghi vấn về khả năng đảm bảo tính toàn vẹn của HTTPS.

    Cả hai đều nhấn mạnh những vấn đề tiềm tàng của việc chuyển sang HTTPS sẽ làm phức tạp thêm quá trình thiết lập website và tạo ra điều gì đó mới mẻ trên Web, và nó có thể phá vỡ các liên kết. Đó là điều mà các nhà phát triển hiểu biết có thể dễ dàng bỏ qua. Tuy nhiên, thế giới web rộng lớn không chỉ do các nhà phát triển hiểu biết, mà còn từ bất kỳ ai với việc bỏ ra vài USD một tháng.

    Trong khi đó, yêu cầu các trang web bổ sung một chứng chỉ bảo mật là thêm một rào cản đáng kể để truy cập vào Web. Bất kỳ ai đều đã sử dụng HTTPS cho website của mình đểu biết rằng đó là một sự phiền phức khủng khiếp. Đây dường như là trở ngại lớn nhất để phổ biến rộng rãi HTTPS đối với những người vận hành các website nhỏ.

    Cho đến gần đây, vẫn chưa có cách nào để có một chứng chỉ SSL miễn phí (một vài nhà phát hành chứng chỉ không thu phí cấp chứng chỉ, nhưng sẽ tính phí nếu bạn thu hồi nó). Tuy nhiên đã có một số giải pháp từ các tên tuổi trong làng công nghệ để giải quyết vấn đề này.

    Tổ chức EFF (Electronic Frontier Foundation) và Mozilla đã hợp tác với nhau để tạo ra Let’s Encrypt, một công cụ để mang lại các chứng chỉ HTTPS miễn phí, cũng tương tự như giải pháp của Symantec. Các lựa chọn này thực sự miễn phí, không yêu cầu người dùng phải cung cấp thông tin nhân dạng. Đó cũng là một tập hợp các công cụ dòng lệnh để giúp việc cài đặt và chỉnh sửa các chứng chỉ đơn giản nhất có thể.

    Tuy nhiên, đó cũng chưa phải là hết. Sau khi có được chứng chỉ, bạn sẽ phải cài đặt nó và để máy chủ web của bạn hoạt động cho đúng. Lại một lần nữa, giả sử rằng bạn có kiến thức của một người quản trị hệ thống cơ bản, điều này sẽ không quá khó khăn, nhưng việc tinh chỉnh nó đến khi bạn có được điểm A trong bài kiểm tra bảo mật của SSLLab sẽ mất nhiều giờ để sửa lỗi (ngay cả Facebook cũng chỉ được điểm B trong bài kiểm tra này).

    Do vậy, việc đơn giản hóa quá trình thiết lập HTTPS sẽ cần nhiều công cụ hơn trong chuỗi công cụ của bạn. Nó sẽ làm các cá nhân phải phụ thuộc nhiều hơn vào các công cụ được xây dựng bởi người khác. Và đối với những nhà phát triển Web cá nhân, khi họ phải phụ thuộc vào các công ty lớn để giải quyết các vấn đề phức tạp, điều đó sẽ làm giảm mất niềm vui của họ. Vì lúc đó, họ không còn là người sáng tạo của Web nữa, chỉ đơn giản là người dùng.

    Không những vậy, cách các trình duyệt nhấn mạnh kết nối HTTPS ngày nay đang gây hiểu lầm nghiêm trọng và cần được thay đổi. Trong khi các kết nối HTTP bị gắn nhãn "không an toàn" bởi Firefox của Mozilla và các trình duyệt thuộc từ Chromium Project, các kết nối HTTPS lại được gắn nhãn là “an toàn”.

    Điều này có thể gây ra các hiểu nhầm nghiêm trọng cho người dùng. Trên thực tế, các trình duyệt không có cách nào để biết được rằng trang web đó thực sự “an toàn” theo nghĩa rộng hơn hay không. Sử dụng HTTPS, không có nghĩa trang web đó không lưu trữ mật khẩu và số thẻ tín dụng của bạn dưới dạng văn bản đơn thuần (plain text). Cũng không có nghĩa trang web đó không bị hack để gắn vào các đoạn Javascript độc hại và những điều tương tự như vậy. Như đã nói ở trên, HTTPS chỉ giúp đảm bảo các kết nối đến trang web đó được an toàn hơn mà thôi.

    Ngoài ra ông Winer cũng đặc biệt lo ngại về Google khi hãng này có những lợi ích tài chính trong việc thúc đẩy mọi trang web chuyển sang HTTPS. Do kết nối HTTPS sẽ ngăn chặn các đối thủ của Google can thiệp vào kết quả tìm kiếm. Tuy nhiên việc hãng ngừng tải và xếp hạng các trang web sử dụng kết nối HTTP để thúc đẩy chuyển sang HTTPS là một sự lạm dụng nghiêm trọng vị thế của họ trong hệ sinh thái web.

    Nhưng rõ ràng không thể phủ nhận sự cần thiết của mã hóa trong Web. Không chỉ người dùng cần đến nó, mà còn mạng lưới cũng cần đến mã hóa để đảm bảo tính trung lập của mình. Không những vậy, nếu không có mã hóa, chỉ cần lướt web thôi cũng có thể biến bạn thành một kẻ giúp đỡ không chủ đích cho một cuộc tấn công DDoS.

    Do vậy, HTTPS vẫn là một sự lựa chọn tốt khi mang đến cho người dùng tính bí mật lớn hơn, đảm bảo tính toàn vẹn của dữ liệu khi chuyển tiếp, và cung cấp một sự xác thực đầy ý nghĩa và giúp mạng lưới trở nên ít thù địch hơn hiện tại. Có thể sự lạm dụng vẫn sẽ xảy ra, sự giám sát vẫn có thể thực hiện được, nhưng các cuộc tấn công sẽ “chuyển từ số lượng lớn sang nhắm vào các mục tiêu cụ thể hơn” và mạng lưới sẽ trở lại thành một đường ống truyền tin vô hại.

    Tham khảo Ars Technica

    Tin cùng chuyên mục
    Xem theo ngày