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?
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