SSL là viết tắt của Secure Sockets Layer. Nó là một giao thức mạng máy tính có khả năng mã hóa dữ liệu đang được gửi giữa máy chủ web và trình duyệt, ngăn chặn hacker đọc và sửa đổi bất kỳ thông tin nào được truyền tải. Thông tin này có thể là các dữ liệu nhạy cảm như thẻ tín dụng, tài khoản ngân hàng, mật khẩu,… hoặc bất kỳ thông tin cá nhân khác.
Nội dung chính:
Lịch sử phát triển
Cha đẻ của SSL là tiến sĩ Taher Elgamal, làm việc tại Netscape Communications. Phiên bản SSL 1.0 ra đời năm 1994 nhưng chỉ được lưu hành nội bộ và sử dụng trên trình duyệt Netscape (trình duyệt web đầu tiên trên thế giới, trước cả Internet Explorer của Microsoft). Phiên bản 2.0 được công bố tháng 2 năm 1995 nhưng chứa những lỗ hổng an ninh nghiêm trọng. Sau đó phiên bản 3.0 được thiết kế lại hoàn toàn mới vào năm 1996.
Tháng 1 năm 1999, tổ chức IETF đã chuẩn hoá SSL và đổi tên thành TLS (Transport Layer Security). Tuy nhiên mọi người vẫn gọi nó là SSL (chắc quen mồm).
Trên thực tế SSL đã không được cập nhật kể từ phiên bản 3.0 năm 1996 nhưng vẫn được sử dụng cho đến 2015 mới tạm dừng. Còn cái mà chúng ta đang dùng hiện nay thực sự là TLS. Tính đến nay nó đã ra mắt 4 phiên bản, từ bản gốc TLS 1.0 kế thừa từ SSL 3.0 cho đến bản mới nhất là TLS 1.3 chính thức được hoàn thiện đưa vào sử dụng từ tháng 8/2018.
Cùng với sự phát triển nhanh chóng của Internet, tiêu chuẩn SSL/TLS cũng trở thành xu hướng tất yếu. Số liệu thống kê từ Google tháng 10/2021 có trên 95% website trên toàn cầu đang sử dụng SSL.
Chứng chỉ số SSL là gì?
SSL Certificate (chứng chỉ số SSL) là một tệp dữ liệu được lưu trữ trên máy chủ web. Nó chứa các thông tin công khai dùng để nhận dạng tên miền và chủ sở hữu trang web. Có thể coi nó là một loại giấy phép định danh cho tên miền (giống như thẻ căn cước công dân) dùng để thiết lập kết nối bằng giao thức https cho website.
Các thông tin công khai lưu trong chứng chỉ có thể là:
- Các tên miền được cấp phép
- Người, tổ chức hoặc thiết bị được cấp
- Cơ quan cấp chứng chỉ
- Chữ ký số của cơ quan cấp chứng chỉ
- Tên miền phụ được liên kết
- Ngày cấp
- Ngày hết hạn
- Chìa khóa công khai (Public key) dùng để mã hóa dữ liệu
Ngoài ra, chứng chỉ còn bao gồm một chìa khóa bí mật (Private key) được lưu trữ trên máy chủ web. Và chỉ máy chủ web mới có thể sử dụng được chìa khóa bí mật này. Dữ liệu được mã hóa với Public key chỉ có thể giải mã bằng Private key.
SSL hoạt động như thế nào?
Để dễ hình dung, các bạn xem hình ảnh này:
Khi bạn truy cập vào 1 trang web sử dụng https thì:
- Trình duyệt sẽ gửi yêu cầu kết nối https đến máy chủ web.
- Máy chủ web sẽ gửi lại cho trình duyệt chứng chỉ SSL (bao gồm
Public key
) mà nó đã được cấp. - Trình duyệt kiểm tra thông tin chứng chỉ. Nếu hợp lệ, nó sẽ tạo ra
Session key
rồi gửi cho máy chủ web một bản sao. Trước khi gửi, thông tin vềSession key
sẽ được trình duyệt dùngPublic key
để mã hóa nhằm đảm bảo chỉ máy chủ web cóPrivate key
mới có thể mở. - Kể từ đây, mọi dữ liệu truyền tải giữa trình duyệt và máy chủ web đều sẽ được mã hóa và giải mã bằng
Session key
.
Một phiên làm việc giữa trình duyệt và máy chủ web có thể là một khoảng thời gian xác định hoặc cũng có thể kéo dài miễn là 2 bên vẫn đang kết nối. Sau khi phiên làm việc kết thúc, nếu người dùng kết nối lại với máy chủ web thì một session key
mới sẽ được tạo ra để sử dụng cho phiên làm việc tiếp theo.
Trình duyệt web kiểm tra thông tin chứng chỉ bằng cách nào?
Để đảm bảo tính khách quan và minh bạch thì mỗi chứng chỉ SSL được cấp cho 1 tên miền duy nhất. Và chỉ có những tổ chức uy tín (Certificate Authority, viết tắt là CA) mới đủ thẩm quyền cấp và quản lý các chứng chỉ SSL này. Họ chia sẻ công khai dữ liệu chứng chỉ số đã cấp trên internet, bất cứ ai đều có thể vào xem.
Khi trình duyệt nhận được chứng chỉ SSL mà website gửi đến, nó có thể đối chiếu với danh sách chứng chỉ đó để biết thông tin có chính xác hay không. Ngoài ra một số trình duyệt web (Firefox, Chrome) cũng tích hợp sẵn danh sách các CA uy tín để quá trình xác minh thông tin trở nên nhanh hơn.
Thực tế chúng ta hoàn toàn có thể tự tạo ra 1 chứng chỉ (gọi là self-signed SSL certificate). Nhưng chứng chỉ này không đủ tin tưởng vì thế trình duyệt web sẽ không chấp nhận loại chứng chỉ này. Để website có thể hoạt động với giao thức https thì bắt buộc chứng chỉ phải được cấp bởi một tổ chức uy tín.
Phân loại chứng chỉ số SSL
Hiện nay có 5 loại chứng chỉ số SSL cụ thể như sau:
1. Domain Validation (DV)
Đây là loại chứng chỉ số cơ bản, phổ biến nhất hiện nay với hơn 90% lượng website đang sử dụng.
- Nó phù hợp với mọi website.
- Cấp phát hoàn toàn tự động trong vài phút.
- Chỉ yêu cầu xác minh chủ sở hữu tên miền.
Loại chứng chỉ này là rẻ nhất, giá từ 150.000đ/năm. Nhưng cũng có nhiều tổ chức cung cấp SSL miễn phí loại này, chẳng hạn như Let’s Encrypt, Cloudflare, Godaddy,…
2. Organization Validation (OV)
Loại chứng chỉ dành cho doanh nghiệp hoặc tổ chức có giấy phép hoạt động hợp pháp. Website dùng chứng chỉ này sẽ được hiển thị thêm tên tổ chức/công ty, địa chỉ và quốc gia.
Thời gian đăng ký loại chứng chỉ này mất vài ngày vì tổ chức chứng thực cần thời gian xác minh các thông tin doanh nghiệp, giấy phép hoạt động, địa chỉ trụ sở, số điện thoại, email,…
Và giá của nó cũng đắt hơn nhiều so với chứng chỉ DV SSL, giá từ 600.000đ/năm.
3. Extended Validation (EV)
Là loại chứng chỉ cao cấp nhất dành cho doanh nghiệp/tổ chức. Về cơ bản loại chứng chỉ này là kiểu mở rộng của OV SSL. Nó cho phép hiển thị thêm mã số doanh nghiệp (hoặc số giấy phép tổ chức) và lĩnh vực, ngành nghề kinh doanh.
Trước đây trình duyệt web cho phép hiển thị đầy đủ tên công ty/tổ chức và mã quốc gia trên thanh địa chỉ nên website nào mà sử dụng chứng chỉ này thì cứ phải gọi là best uy tín.
Đáng tiếc là các trình duyệt phiên bản mới hiện nay không còn hỗ trợ hiển thị nữa rồi. Người dùng muốn xem thông tin phải click vào biểu tượng ổ khóa để xem. Sự thay đổi này làm mất đi giá trị của EV SSL.
Giá của EV SSL cũng khá chát, gói thấp nhất cũng vài triệu VNĐ/năm.
4. Wildcard SSL
Là loại chứng chỉ bảo mật có hiệu lực với tất cả các tên miền phụ (subdomain). Wildcard SSL khác với các loại SSL bình thường là có thể chạy cho không giới hạn tên miền phụ với chỉ một chứng chỉ SSL duy nhất. Khi xem thông tin chứng chỉ, bạn sẽ thấy CN kiểu như *.dovanphuong.com
.
Nếu bạn có nhiều subdomain, chẳng hạn blog.dovanphuong.com
, video.dovanphuong.com
, music.dovanphuong.com
,… thì thay vì phải mua SSL cho từng cái, bạn chỉ cần mua 1 chứng chỉ Wildcard là có thể dùng cho tất cả.
5. Multi-Domain (UCC/SAN) SSL
Khác với Wildcard SSL chỉ dùng được với 1 tên miền chính thì SAN SSL có thể dùng được với nhiều tên miền khác nhau, bao gồm cả tên miền phụ. Ví dụ: dovanphuong.com
, dovanphuong.net
, dovanphuong.vn
,…
Chứng chỉ Multi-Domain SSL có thể sử dụng cho tối đa 250 tên miền. Các nhà cung cấp bán gói cơ bản nhất hỗ trợ từ 3-4 tên miền với giá khoảng 600.000đ/năm.
Loại chứng chỉ SSL nào bảo mật tốt nhất?
Tất cả các loại chứng chỉ đều hỗ trợ mã hóa lên tới 256-bit với độ dài 2048 nên mức độ bảo mật là như nhau. Cho nên nếu website của bạn là cá nhân hoặc trang tin tức thông thường thì chỉ cần Domain Validation SSL là đủ.
Nếu các bạn muốn mua thì ssls.com là một lựa chọn tốt. Họ bán chứng chỉ Comodo PositiveSSL giá chỉ $5.55/năm (khoảng 127k). Nếu bạn mua 5 năm giá chỉ $17.20 (khoảng 395k). Bạn được dùng thử 30 ngày không cần thẻ tín dụng.
Bạn sử dụng mã giảm giá: MISSU10
để được giảm 10% đơn hàng.
Mua 5 năm còn có 13.25$ (khoảng 300k) rẻ nhất thị trường!
Hướng dẫn xem thông tin chứng chỉ SSL của một website
Các trang web sử dụng giao thức https sẽ có URL bắt đầu là https. Trên thanh địa chỉ của trình duyệt web có biểu tượng ổ khóa màu xanh lá cây.
Một số trình duyệt (Firefox, Opera) sẽ không hiện chữ Bảo mật mà chỉ hiện khóa xanh:
Để xem thông tin chi tiết về chứng chỉ SSL của trang web thì bạn click vào cái khóa đó. Chọn Chứng chỉ (Certificate) và chuyển qua Tab Details để xem.
Tại đây bạn sẽ xem được thông tin chi tiết về chứng chỉ SSL của một website. Nếu tên miền chỉ có CN và OU là tên miền đó sử dụng chứng chỉ Domain Validation SSL. Còn nếu có thông tin của O, L, S, C thì tên miền đó sử dụng chứng chỉ Organization Validation SSL (OV)
Ý nghĩa của các chữ cái viết tắt:
- CN = Common Name (tên miền đã xác thực)
- O = Organization (tổ chức sở hữu)
- OU = Organizational Unit (lĩnh vực hoạt động)
- L = Locality (khu vực)
- S = State (thành phố)
- C = Country (quốc gia)
- SERIALNUMBER = Số giấy phép (mã số doanh nghiệp)
Mã quốc gia: VN là Việt Nam, US là United States (Mỹ), DE là Deutschland (Đức),…
Các nhà cung cấp SSL uy tín
Let’s Encrypt là nhà cung cấp chứng chỉ SSL miễn phí phổ biến nhất hiện nay với hơn 50% thị phần. Đây là tổ chức phi lợi nhuận được tài trợ bởi Electronic Frontier Foundation, Linux Foundation, Google, Facebook, Mozilla, Cisco, Đại học Stanford, cùng nhiều tổ chức khác. Tiếp theo là Cloudflare – dịch vụ CDN miễn phí hàng đầu thế giới.
Còn về dịch vụ trả phí, số liệu thống kê từ w3techs.com cho biết IdenTrust với thị phần khổng lồ là 53,5% vẫn dẫn đầu thị trường năm 2021.
Nhà cung cấp | Tháng 10/2020 | Tháng 10/2021 |
IdenTrust | 52.0% | 53.6% |
DigiCert (Symantec) | 19.4% | 19.3% |
Sectigo (Comodo) | 17.4% | 16.7% |
GoDaddy | 6.8% | 6.4% |
GlobalSign | 2.9% | 2.6% |
Let’s Encrypt (miễn phí) | 0.1% | 1.2% |
Certum | 0.5% | 0.5% |
Secom Trust | 0.2% | 0.2% |
Entrust | 0.2% | 0.2% |
Actalis | 0.1% | 0.1% |
E-Tugra | 0.1% | 0.1% |
WISeKey Group | 0.1% | <0.1% |
Các nhà cung cấp trên phần lớn là dịch vụ trả phí, nếu có miễn phí thì cũng chỉ là dùng thử trong 1 khoảng thời gian ngắn. Các bạn muốn dùng miễn phí lâu dài thì tham khảo Let’s Encrypt, CloudFlare, SSLforFree,…