Ngày nay, nhiều người kết nối với web hơn bao giờ hết và từ nhiều nơi hơn.
Chúng ta kết nối với máy tính xách tay, điện thoại và máy tính bảng và có thể sẽ sớm kết nối với các thiết bị và phụ kiện cá nhân. Chúng ta truy cập Internet từ các mạng không đáng tin cậy và thậm chí đôi khi qua các mạng có tính thù địch. Khi có rất nhiều hoạt động chuyển đổi trên mạng, chúng ta bắt buộc phải có biện pháp để bảo vệ dữ liệu của mình và dữ liệu của người dùng.
Trên hết, là các nhà phát triển, chúng tôi cần hiểu sự cần thiết và tính thực tế của SSL.
SSL là gì? Đây là viết tắt của Secure Sockets Layer (Lớp cổng bảo mật) và là một giao thức mã hoá được thiết kế để bảo mật hoạt động giao tiếp qua Internet. Tính năng này đảm bảo quyền riêng tư, thông qua việc mã hoá và tính toàn vẹn, để ngăn chặn hành vi xem trộm hoặc can thiệp vào kết nối Internet của bạn. SSL có một vài thiếu sót, nhưng đó là cách thức hàng đầu – và thực sự là cách duy nhất – để đảm bảo bất kỳ loại bảo mật giao tiếp dữ liệu nào trên Internet.
Theo SSL Pulse, một năm trước, chúng tôi chỉ mới có khoảng 15% sử dụng SSL; hiện nay, chúng tôi đã sử dụng hơn 50%.
Hai từ viết tắt:
TLS: dành cho hầu hết các ý định và mục đích đều giống như SSL. Nói một cách chính xác, SSL 3.1 đã được đổi tên thành TLS và TLS là tên tiêu chuẩn của IETF. Nhưng chúng có thể thay thế cho nhau!
HTTPS:Đây là HTTP trên SSL, chỉ là lớp về khả năng bảo mật của SSL và HTTP tiêu chuẩn. Trước tiên là giao thức bắt tay máy khách–máy chủ, sử dụng tiêu chuẩn mã hoá khoá công khai/riêng tư để tạo khoá dùng chung – được phần thứ hai của giao thức SSL sử dụng để mã hoá giao tiếp.
Kết nối Internet có thể mang lại cảm giác an toàn, tức thì và nhanh chóng. Cảm giác như chúng ta đang nói chuyện trực tiếp với trang web. Nhưng trên thực tế, đó không phải là kết nối trực tiếp. Hoạt động giao tiếp của chúng tôi đi qua bộ định tuyến wifi, nhà cung cấp dịch vụ Internet (ISP) và có thể là các proxy trung gian khác giữa thiết bị của bạn và trang web. Nếu không có HTTPS, mọi hoạt động trao đổi thông tin của chúng ta đều ở dạng văn bản thuần tuý.
Vấn đề là người dùng hiếm khi nhập URL đầy đủ có chỉ định HTTPS – hoặc họ nhấp vào một đường liên kết bằng HTTP. Tệ hơn, bạn có thể tạo ra một cuộc tấn công xen giữa và thay thế HTTPS bằng HTTP. Công cụ có tên SSLstrip được giới thiệu vào năm 2009 đã thực hiện được điều đó. Firesheep, từ năm 2010, chỉ mới mở mạng Wi-Fi để gửi cookie một cách rõ ràng, nghĩa là người dùng có thể nghe cuộc trò chuyện hoặc đăng nhập vào tài khoản Facebook của ai đó.
Nhưng SSL (tương đối) rẻ, nhanh chóng và dễ dàng triển khai (hãy xem ssllabs.com và sách của Ilya Grigorik về Mạng trình duyệt hiệu suất cao). Với mục đích phi thương mại, bạn thậm chí có thể nhận các chứng chỉ miễn phí từ startssl.com! Tính năng Ghim khoá công khai được thiết kế nhằm cung cấp cho các nhà điều hành trang web một phương thức để hạn chế những tổ chức phát hành chứng chỉ thực sự có thể cấp chứng chỉ cho trang web của họ.
"Vào tháng 1 năm nay (2010), Gmail đã chuyển sang sử dụng HTTPS cho mọi thứ theo mặc định. .. Để làm được điều này, chúng tôi không phải triển khai máy móc bổ sung nào cũng như không triển khai phần cứng đặc biệt nào. Trên các máy giao diện người dùng sản xuất của chúng tôi, SSL chiếm <1% tải CPU, <10 KB bộ nhớ cho mỗi kết nối và <2% hao tổn mạng...
Nếu bây giờ bạn dừng đọc thì bạn chỉ cần nhớ một điều: SSL không còn tốn kém nhiều năng lực tính toán nữa.”
– Công nghệ ép xung SSL, Adam Langley (Google)
Cuối cùng, một số lỗi chúng ta thường gặp nhất:
- Nội dung hỗn hợp:những trang web sử dụng HTTP cũng như HTTPS. Người dùng của bạn sẽ thấy khó chịu vì họ phải nhấp vào nút quyền để tải nội dung. (Chrome và Firefox thực sự chặn nội dung hỗn hợp từ iframe.) Đảm bảo rằng tất cả các tài nguyên của bạn trên trang HTTPS đều được tải qua HTTPS, bằng cách sử dụng URL tương đối hoặc URL tương đối theo lược đồ, ví dụ:
<style src="//foo.com/style.css">
- Cookie không an toàn: được gửi trong dữ liệu rõ ràng thông qua kết nối HTTP. Hãy tránh điều này bằng cách đặt thuộc tính bảo mật trên tiêu đề cookie. Bạn cũng có thể sử dụng tiêu đề "Bảo mật truyền tải nghiêm ngặt" mới để yêu cầu Bảo mật truyền tải SSL (HSTS).
Cướp lại bóng
- Nếu quan tâm đến quyền riêng tư và tính toàn vẹn của dữ liệu người dùng, bạn cần sử dụng SSL. Dịch vụ này nhanh hơn, dễ dàng hơn và rẻ hơn bao giờ hết.
- Hãy tránh các lỗi triển khai phổ biến, chẳng hạn như lỗi nội dung hỗn hợp hoặc không đặt đúng bit tiêu đề HTTP.
- Sử dụng URL tương đối hoặc lược đồ tương đối.
- Hãy xem một số tính năng mới thú vị như HSTS và ghim chứng chỉ
Trang trình bày: Bạn đã có SSL chưa?