TLS (Transport Layer Security) Là Gì?

Huyền Hồ
15 phút
TLS là gì

TLS được coi như một “dũng sĩ” bảo vệ thông tin cá nhân của người dùng và tăng bảo mật trang web trên internet trước sự tấn công của những hacker mạng. Không chỉ vậy, những website có cài đặt giao thức bảo truyền tải bảo mật TLS được người tin tưởng và Google đánh giá cao.

Vậy TLS là gì? Nó có tác động như thế nào đến người dùng và xếp hạng trang web của bạn trên kết quả tìm kiếm? Tất cả những thắc mắc đó sẽ được UptopZ giải đáp qua bài viết dưới đây!

TLS là gì?

TLS (Transport Layer Security) là giao thức mật mã (Security Protocol) được thiết kế để cung cấp lớp bảo mật truyền tải dữ liệu và thông tin riêng tư của người dùng qua mạng Internet. So với người tiền nhiệm SSL (Secure Sockets Layer) hiện không còn được khuyến khích dùng nữa, thì TLS mang đến một giải pháp bảo mật đầu cuối đảm bảo an toàn hơn cho mọi dữ liệu được gửi qua lại giữa các thiết bị và ứng dụng với nhau và ngăn chặn các hành vi nghe trộm hoặc đánh cắp thông tin từ các hacker.

TLS (Transport Layer Security) - giao thức mật mã nhằm bảo vệ dữ liệu khi di chuyển trong môi trường internet
TLS (Transport Layer Security) – giao thức mật mã nhằm bảo vệ dữ liệu khi di chuyển trong môi trường internet

Thông thường, TLS sẽ được triển khai trên TCP để mã hóa các giao thức lớp ứng dụng như: HTTP, FTP, SMTP và IMAP. Ngoài ra, nó cũng có thể được triển khai trên UDP, DCCP và SCTP (ví dụ: đối với các ứng dụng dựa trên VPN và SIP). Đây được gọi là Datagram Transport Layer Security (DTLS) và được chỉ định trong RFCs 6347, 5238 và 6083.

Hình ảnh quen thuộc nhất của giao thức TLS là biểu tượng ổ khóa trên thanh địa chỉ của trình duyệt. Điều này cũng đồng nghĩa là trình duyệt web của bạn an toàn và một kết nối bảo mật đã được thiết lập.

Cơ chế hoạt động của giao thức TLS

Cách thức hoạt động của TLS.
Cách thức hoạt động của TLS.
  • TLS hoạt động dựa trên khóa công khai và khóa riêng tư. Đồng thời, mỗi cặp khóa chỉ được sử dụng trong một giao dịch duy nhất.
  • Khi người dùng muốn truy cập vào một địa chỉ trang web bất kỳ, trình duyệt sẽ gửi yêu cầu phản hồi chứng chỉ SSL.
  • Khóa công khai được gửi đến máy chủ của trang web được bảo mật để thiết lập kết nối an toàn với một khóa phiên duy nhất.
  • Sau khi nhận được phản hồi, trình duyệt sẽ tiến hành xác minh tính hợp lệ của chứng chỉ bao gồm: loại chứng chỉ, thời hạn sử dụng và tổ chức phát hành.
  • Khi quá trình xác nhận hoàn tất, trình duyệt sẽ gửi lại khóa phiên đối xứng, tiếp đến máy chủ sẽ giải mã khóa phiên đối xứng bằng khóa riêng của nó.
  • Tiếp theo, máy chủ sẽ gửi lại một xác nhận được mã hóa bằng khóa phiên để bắt đầu phiên được mã hóa. Mỗi khóa phiên đều là duy nhất để bảo vệ quyền riêng tư của người dùng, bảo mật máy chủ và tính toàn vẹn của dữ liệu được truyền đi.

Hậu trường trao đổi khóa mật mã của giao thức bảo mật TLS

Mã hóa tiêu chuẩn TLS sử dụng hai loại mật mã chính gồm: mật mã đối xứng (Symmetric Cryptography) và mật mã bất đối xứng (Asymmetric Cryptography) để dữ liệu được truyền đi an toàn và nhanh chóng hơn.

Đối với mật mã đối xứng (Symmetric Cryptography)

  • Quá trình mã hóa và giải mã dữ liệu đều sử dụng một khóa chung bí mật chỉ người gửi và người nhận mới biết.
  • Mật mã khóa đối xứng này thường có độ dài từ 128 bit trở lên, tốt nhất là 256 bit. Những mật mã nhỏ hơn 80 bit đều bị coi là không an toàn.
  • Mật mã đối xứng có lợi thế về mặt tính toán. Nhưng bản chất của nó vẫn là khóa chung, vì vậy nếu không được chia sẻ an toàn thì tính bảo mật của nó sẽ biến mất.
Hình ảnh cho thấy cách hoạt động của mật mã đối xứng: Văn bản thô - Mã hóa - Bản mã - Giải mã - Văn bản thô
Hình ảnh cho thấy cách hoạt động của mật mã đối xứng.

Thuật toán mã hóa khóa chia sẻ (Mật mã đối xứng)

Các thuật toán Twofish, Blowfish, AES thường được dùng để mã hóa khóa được chia sẻ trước (đối xứng).Trong đó AES đang là thuật toán được sử dụng phổ biến nhất.

Tất cả các thuật toán trên được chia làm hai loại chính gồm: Mã hóa dòng và Mã hóa khối.

Mã hóa dòng

Kết hợp các bit văn bản thuần túy với một dòng bit mã hóa giả ngẫu nhiên bằng các phép toán trên thao tác bit. Mật mã dòng sử dụng một khóa mật mã để mã hóa từng chữ số văn bản thuần túy trong luồng dữ liệu theo các phép biến đổi khác nhau cho từng bit một.

Mã hóa khối

Hoạt động trên khối thông tin (nhóm bit) có độ dài xác định và sử dụng thuật toán mã hóa để chuyển đổi khối văn bản thuần túy thành khối văn bản mã hóa trực tiếp. Đây là thuật toán xử lý khối, nó có thể xử lý khối dữ liệu độ dài 128 bit đầu vào và biến nó thành khối dữ liệu được mã hóa 128 bit ở đầu ra.

Đối với mật mã bất đối xứng

  • Một cặp mã khóa sẽ được thiết lập gồm khóa công khai và khóa cá nhân. Trong đó, cả hai khóa này sẽ có mối liên hệ mật thiết với nhau về mặt toán học. Nhưng khóa công khai sẽ có độ dài đủ lớn để đảm bảo bên thứ ba không thể áp dụng các kỹ thuật tính toán thực tế để lấy được khóa riêng tư thông qua khóa công khai.
  • Với thiết lập này, người gửi sẽ sử dụng khóa riêng của người nhận để mã hóa dữ liệu và dữ liệu này chỉ được giải mã bằng khóa riêng của người nhận.
  • Ưu điểm lớn nhất của mật mã không đối xứng là không cần đảm bảo tính bảo mật trong quá trình chia sẻ mã khóa. Nhược điểm là mối quan hệ toán học giữa khóa công khai và khóa cá nhân có kích thước rất lớn, thường độ dài khóa công khai được đề xuất tối thiểu là 1024 bit (tốt hơn nếu là 2048 bit). Điều này khiến việc mã hóa bất đối xứng nặng hơn rất nhiều so với mã hóa bất đối xứng có cùng độ bền. Trong nhiều trường hợp, quá trình mã hóa và giải mã dữ liệu của kỹ thuật sử dụng mật mã bất đối xứng cũng diễn ra chậm hơn.

Thuật toán mã hóa khóa công khai (Mật mã bất đối xứng)

Mã hóa khóa công khai chủ yếu sử dụng các thuật toán như RSA và Elliptic Curve Cryptography (ECC) để tạo ra khóa công khai và khóa riêng tư. Các thuật toán này rất dễ dàng trong việc tính toán để tạo ra khóa công khai và khóa riêng tư, nhưng rất khó hoặc không thể cho bất kỳ ai muốn tính toán để lấy được khóa riêng tư dựa trên khóa công khai.

RSA

Là thuật toán được Rivest – Shamir – Adleman lần đầu tiên được mô tả công khai vào năm 1977. Tên của nó được bắt nguồn từ các chữ cái đầu trong tên của những người sáng lập. Thuật toán RSA được xây dựng dựa trên khó khăn của việc giả định tính toán các số nguyên rất lớn, kích thước điển hình 2.048 bit đến 4.096 bit.

Mô hình minh họa quá trình trao đổi thông tin sử dụng hệ mã đối xứng - RSA.
Mô hình trao đổi thông tin sử dụng thuật toán mã hóa RSA.

Người dùng RSA tạo và tính tích của hai số nguyên tố lớn cùng với một giá trị phụ (khóa công khai), trong đó các yếu tố chính đều được giữ bí mật. Lúc này, bất kỳ ai cũng có thể sử dụng khóa công khai để mã hóa dữ liệu, nhưng việc giải mã hoàn toàn không khả thi, nếu có thể thì chỉ với những người thật sự có kiến thức chuyên sâu về các hệ số nguyên tố.

Elliptic Curve Cryptography (ECC)

Elliptic Curve Cryptography – ECC là kỹ thuật mã hóa khóa công khai, độ an toàn dựa vào độ khó tính toán chỉ số hoặc sàng trường số trong bài toán Logarit rời rạc từ nhóm các điểm trên đường cong Elliptic (ECDLP).

ECC là công trình nghiên cứu độc lập của Neals Koblitz và Victor Miller, được giới thiệu vào năm 1991. Phát minh này đã tạo ra một bước ngoặc lớn trong ngành mật mã học và cung cấp độ an toàn vượt trội hơn so với các thuật toán trao đổi khóa đời đầu như RSA, Diffie-Hellman. ECC sẽ hoạt động tốt nhất đối với độ dài khóa nhỏ, ước tính độ an toàn thì cỡ khóa 256 bit (hệ mật ECC) bằng cỡ khóa 3248 bit (hệ mật RSA).

Ngoài ra, còn có rất nhiều phương pháp tạo và trao đổi khóa khác nhau như: Diffie-Hellman (DH), Ephemeral Diffie-Hellman (DHE), Elliptic Curve Diffie-Hellman (ECDH) và Ephemeral Elliptic Curve Diffie-Hellman (ECDHE).

Mô hình mã hóa khóa công khai sử dụng thuật toán ECC
Mô hình mã hóa khóa công khai sử dụng thuật toán ECC – Elliptic Curve Cryptography

Để hoạt động được TLS cũng cần phải xác thực quyền sở hữu công khai của máy chủ khi một máy khách được kết nối. Chứng chỉ số X.509 do một bên trung gian đáng tin cậy cấp sẽ được áp dụng trong trường hợp này. Bên trung gian này được gọi là Tổ chức phát hành chứng chỉ (CA) sẽ chịu trách nhiệm xác nhận tính xác thực của khóa công khai.

Trong một vài trường hợp, máy chủ cũng có thể sử dụng chứng chỉ tự ký nhưng cần phải được máy khách tin tưởng nhất là khi sử dụng mạng riêng hoặc nơi đã được cấp chứng chỉ phân phối an toàn. Nếu chứng chỉ không đủ tin cậy, trình duyệt sẽ hiển thị cảnh báo truy cập không an toàn. Vì thế, khuyến khích mọi người sử dụng chứng chỉ do các CA uy tín cung cấp.

Tại sao nên sử dụng TLS?

Trong lịch sử, dữ liệu truyền tải trên Internet không được mã hóa khiến thông tin người dễ dàng bị đánh cắp bởi những kẻ có ý đồ xấu. Do đó, Netscape đã chính thức giới thiệu Secure Sockets Layer (SSL) vào năm 1994. Một công nghệ bảo mật thiết lập kết nối an toàn giữa máy chủ (Web Server) và trình duyệt để bảo vệ thông tin người dùng trước sự xâm nhập từ các bên thứ ba.

SSL được phát triển lần lượt với ba phiên bản bao gồm: SSL 1.0, SSL 2.0 và SSL 3.0. Tuy nhiên, cả 3 phiên bản này đều bị Lực Lượng Đặc Nhiệm Kỹ thuật Internet (IETF: Internet Engineering Task Force) yêu cầu ngừng sử dụng. Trong đó, SSL 1.0 chưa bao giờ được phát hành vì mắc quá nhiều lỗi nghiêm trọng về bảo mật. SSL 2.0 được phát hành vào năm 1995, nhưng IETF đã yêu cầu ngừng sử dụng vào năm 2011. Theo tài liệu được công bố (RFC 6176) thì giao thức này tồn tại nhiều lỗ hổng lớn như sử dụng hàm băm mật mã học MD5 để xác thực tin nhắn, thiếu bảo vệ bắt tay để thiết lập kết nối an toàn hoặc sử dụng cùng một khóa để mã hóa và toàn vẹn tin nhắn. Phiên bản cuối cùng SSL 3.0 được phát hành vào tháng 11 năm 1996, IETF cũng ra thông báo ngừng sử dụng vào tháng 6 năm 2015.

TLS được phát triển từ Lớp cổng bảo mật cũ SSL. Trong tài liệu IETF, thì mọi phiên bản TLS đều an toàn hơn tất cả các phiên bản SSL vì TLS có các tính năng mà SSL không thể sử dụng được như: hệ mã có xác thực dữ liệu liên kết (AEAD – authenticated encryption with associated data), giao thức thỏa thuận khóa cho phép hai bên dựa trên đường cong Elliptic (ECDH: Elliptic Curve Diffie Hellman), giải thuật khóa công khai hay thuật toán chữ ký số dựa trên đường cong Elliptic (ECDSA: Elliptic Curve Digital Signature Algorithm), tiện ích mở rộng Thỏa thuận giao thức tầng ứng dụng (ALPN: Application-Layer Protocol Negotiation), giao thức truyền tải cung cấp bảo mật cho các ứng dụng dựa trên Datagram (DTLS: Datagram Transport Layer Security), tiện ích mở rộng cho phép các kết nối được nối lại với vé phiên thay vì ID phiên,…

Nếu không có TLS, “người khác” có thể dễ dàng thu thập thông tin đăng nhập, chi tiết tài khoản tín dụng và thông tin cá nhân của bạn. Thậm chí thói quen duyệt web, thư điện tử, cuộc trò chuyện trực tuyến hay cuộc gọi hội nghị cũng có thể bị theo dõi. Mục tiêu của TLS là đảm bảo chỉ có những tài khoản được chủ sở hữu cấp quyền mới có thể truy cập vào dữ liệu đang được truyền đi, các bên thứ ba không thể xem hoặc can thiệp thay đổi thông tin nhờ các thuật toán mã hóa dữ liệu an toàn.

Để tăng cường bảo mật, tốt nhất tất cả các máy khách và máy chủ nên chú trọng sử dụng TLS trong tất cả các giao tiếp qua Internet. Nên ưu tiên dùng phiên bản TLS 1.3 mới nhất để đảm bảo hiệu quả bảo mật tối đa. Với bản cập nhật TLS 1.3, các thuật toán kém an toàn hơn đều bị buộc ngừng hỗ trợ. Tuy nhiên, chỉ TLS thì vẫn chưa đủ, bạn nên kết hợp với khóa hạ tầng công khai X.509 (PKI) để dữ liệu được bảo mật hoàn toàn. Tốt nhất là sử dụng DNSSEC để đảm bảo hệ thống mà bạn đang kết nối có được sự an toàn như “nó” từng công bố.

Ngoài ra, TLS và HTTPS là hai công nghệ không thể hoạt động tách rời, khi HTTPS đã trở thành một tín hiệu xếp hạng kết quả tìm kiếm của Google thì những trang web sử dụng giao tiếp HTTP có mã hóa TLS thường được người dùng và trình duyệt tin tưởng hơn những trang web HTTP cũ, từ đó khả năng hiển thị và xếp hạng cũng tốt hơn.

Tham khảo thêm cách triển khai TLS cho website

Các trang web sử dụng mã hóa TLS đều phải có chứng chỉ SSL từ tổ chức phát hành chứng chỉ CA. Để biết thêm về cách thức hoạt động của chứng chỉ TLS / SSL hãy xem “Chứng chỉ SSL là gì“? Hoặc kiểm tra trang web của bạn đã thiết lập TLS hay chưa?

Cảm ơn bạn đã dành thời gian đồng hành cùng UptopZ Media xuyên suốt bài viết này, hy vọng nó thật sự hữu ích. Hẹn gặp lại trong các hướng dẫn tiếp theo.

Huyền Hồ
Một trong những cây bút giàu kinh nghiệm tại UptopZ với kỹ năng viết sáng tạo và hiểu biết sâu sắc về Marketing, SEO, Excel, Word… Những bài viết được chia sẻ bởi tác giả không chỉ mang tính thực tiễn mà còn cung cấp thông tin chi tiết và hữu ích cho bạn đọc. Hãy theo dõi UptopZ cùng tác giả để không bỏ lỡ những kiến thức và xu hướng mới nhất.
Chia sẻ bài viết