TLS là gì? Tại sao nên sử dụng TLS?

14/05/2021

Banner hosting giá rẻ dành cho sinh viên

Khi nói về bảo mật dữ liệu và quyền riêng tư trên Internet, người ta thường đề cập đến giao thức bảo mật TLS. Vậy thì TLS là gì và tại sao nên sử dụng TLS, Vietnix sẽ giải đáp cho bạn trong bài viết sau đây.

TLS là gì?

Transport Layer Security hay TLS, là một giao thức bảo mật được chấp nhận rộng rãi được thiết kế để bảo mật dữ liệu và quyền riêng tư khi giao tiếp trên Internet. TLS được sử dụng chủ yếu để mã hóa giao tiếp giữa các ứng dụng web và máy chủ, chẳng hạn như trình duyệt web tải một trang web.

TLS cũng có thể được sử dụng để mã hóa các phương thức giao tiếp khác như email, tin nhắn và giọng nói (VoIP). Bài viết này sẽ tập trung vào vai trò của TLS trong bảo mật ứng dụng web.

tls-la-gi

TLS được đề xuất bởi IETF, một tổ chức tiêu chuẩn quốc tế, và phiên bản đầu tiên của giao thức được ra mắt vào năm 1999. Phiên bản mới nhất là TLS 1.3, được xuất bản vào năm 2018.

Cách thức hoạt động của TLS

Sau khi đã hiểu rõ TLS là gì, bạn cần biết được cách thức hoạt động của nó. Một trang web hoặc ứng dụng muốn sử dụng TLS phải có chứng chỉ TLS được cài đặt trên server gốc (còn được gọi là “chứng chỉ SSL”).

Banner Hosting Cao Cấp dành cho SEOer

Chứng chỉ TLS do tổ chức phát hành chứng chỉ cấp cho cá nhân hoặc doanh nghiệp sở hữu tên miền. Chứng chỉ chứa thông tin quan trọng về người sở hữu tên miền, cùng với khóa công khai (public key) của server, cả hai đều quan trọng để xác thực danh tính của server.

cach-thuc-hoat-dong-cua-tls

Kết nối TLS được bắt đầu bằng một trình tự được gọi là TLS handshake. Khi người dùng truy cập một trang web sử dụng TLS, TLS handshake sẽ bắt đầu giữa thiết bị của người dùng (client) và web server.

Trong quá trình TLS handshake, thiết bị của người dùng và web server sẽ: 

  • Chỉ định phiên bản TLS (TLS 1.0, 1.2, 1.3, v.v.) sử dụng
  • Quyết định xem bộ mã hóa sẽ sử dụng
  • Xác thực danh tính của server bằng chứng chỉ TLS của server
  • Tạo session key để mã hóa tin nhắn sau khi quá trình handshake hoàn tất

TLS handshake

TLS handshake thiết lập một bộ mật mã cho mỗi phiên giao tiếp. Bộ mật mã là một tập hợp các thuật toán chỉ định các chi tiết như khóa mã hóa được chia sẻ hoặc session key nào sẽ được sử dụng cho phiên cụ thể. TLS có thể đặt các session key phù hợp trên một kênh không được mã hóa nhờ vào công nghệ được gọi là hạ tầng mã khóa công khai.

Quá trình handshake cũng xử lý việc xác thực, thường bao gồm server chứng minh danh tính của nó cho máy khách. Điều này được thực hiện bằng cách sử dụng public key.

Public key là khóa mã hóa sử dụng mã hóa một chiều, nghĩa là bất kỳ ai có khóa này đều có thể giải mã dữ liệu được mã hóa bằng private key của máy chủ để đảm bảo tính xác thực của nó. Tuy nhiên, chỉ người gửi ban đầu mới có thể mã hóa dữ liệu bằng private key. Public key của máy chủ là một phần của chứng chỉ TLS.

Sau khi dữ liệu được mã hóa và xác thực, dữ liệu sẽ được đánh dấu mã xác thực tin nhắn (MAC). Sau đó, người nhận có thể xác minh MAC để đảm bảo tính toàn vẹn của dữ liệu. Đây là loại giống như giấy bạc chống giả mạo được tìm thấy trên một chai aspirin; người tiêu dùng biết thuốc không bị giả mạo vì giấy bạc vẫn còn nguyên vẹn khi họ mua.

Chức năng của TLS là gì?

TLS có những chức năng sau:

  • Mã hóa – Che giấu dữ liệu được truyền giữa hai bên, thường là máy chủ khách và ứng dụng web. Điều này ngăn chặn việc nghe trộm.
  • Xác thực – Xác nhận danh tính của hai bên giao tiếp qua internet. Điều này ngăn chặn các cuộc tấn công mạo danh.
  • Tính toàn vẹn – Xác minh rằng dữ liệu được gửi qua mạng không bị giả mạo trong hành trình của nó. Điều này ngăn chặn các cuộc tấn công man-in-the-middle. Tính toàn vẹn được đảm bảo bằng cách sử dụng chứng chỉ do tổ chức phát hành chứng chỉ đáng tin cậy (CA) cấp.  
  • Ngăn chặn phát lại – Điều này bảo vệ chống lại các cuộc tấn công vũ phu và các cuộc tấn công trung gian.

Tại sao TLS lại quan trọng? 

Sau khi tìm hiểu TLS là gì, bạn chắc hẳn đã hiểu được rằng không có TLS, những thông tin nhạy cảm như thông tin đăng nhập, chi tiết thẻ tín dụng và chi tiết cá nhân có thể dễ dàng bị thu thập. Bằng cách cho phép các ứng dụng máy khách và máy chủ hỗ trợ TLS, nó đảm bảo rằng dữ liệu truyền giữa chúng được mã hóa bằng các thuật toán an toàn và không thể xem được bởi các bên thứ ba.

Các phiên bản gần đây của tất cả các trình duyệt web hỗ trợ TLS và việc các máy chủ web hỗ trợ TLS ngày càng phổ biến. Tuy nhiên, việc sử dụng TLS cho e-mail và một số ứng dụng khác vẫn thường không phải là bắt buộc và không phải lúc nào người dùng cũng rõ liệu các kết nối của họ có được mã hóa hay không.

Lợi ích của giao thức TLS

Phiên được mã hóa bằng TLS cung cấp cơ chế xác thực an toàn, mã hóa dữ liệu và kiểm tra tính toàn vẹn của dữ liệu. Tuy nhiên, khi so sánh TLS với một bộ giao thức mã hóa và xác thực an toàn khác, chẳng hạn như Internet Protocol Security, TLS cung cấp các lợi ích bổ sung. Chúng bao gồm những lợi ích như sau:

  • Bảo mật được tích hợp trực tiếp vào mỗi ứng dụng, trái ngược với phần mềm hoặc phần cứng bên ngoài để xây dựng đường hầm IPsec.
  • Có mã hóa end-to-end thực sự (E2EE) giữa các thiết bị giao tiếp.
  • Có sự kiểm soát chi tiết đối với những gì có thể được truyền hoặc nhận trên một phiên được mã hóa.
  • Vì TLS hoạt động trong các lớp trên của mô hình Kết nối Hệ thống Mở (OSI), nó không có những rắc rối trong việc dịch địa chỉ mạng – network address translation (NAT) so với IPsec.
  • TLS cung cấp các chức năng ghi nhật ký và kiểm tra được tích hợp trực tiếp vào giao thức.

Những thách thức của giao thức TLS

Có một số hạn chế khi không sử dụng xác thực an toàn hoặc khi quyết định giữa TLS và các giao thức bảo mật khác, chẳng hạn như IPsec. Đây là vài ví dụ:

  • Vì TLS hoạt động ở Lớp 4 đến Lớp 7 của mô hình OSI, trái ngược với Lớp 3, là trường hợp của IPsec, mỗi ứng dụng và mỗi luồng giao tiếp giữa máy khách và máy chủ phải thiết lập phiên TLS của riêng mình để đạt được lợi ích xác thực và mã hóa dữ liệu.
  • Khả năng sử dụng TLS phụ thuộc vào việc mỗi ứng dụng có hỗ trợ hay không.
  • Vì TLS được triển khai trên cơ sở từng ứng dụng để đạt mức độ chi tiết được cải thiện và khả năng kiểm soát đối với các phiên được mã hóa, nó phải trả giá bằng chi phí quản lý tăng lên.

TLS ảnh hưởng đến hiệu suất của web application như thế nào?

Khi tìm hiểu TLS là gì, bạn không thể bỏ qua việc tìm hiểu TLS ảnh hưởng thế nào đến hiệu suất web. Và một thông tin đáng mừng đó là các phiên bản mới nhất của TLS hầu như không ảnh hưởng đến hiệu suất web application.

Do quá trình phức tạp liên quan đến việc thiết lập kết nối TLS, thời gian tải trang và sức mạnh tính toán được mở rộng. Máy khách và máy chủ phải giao tiếp qua lại nhiều lần trước khi bất kỳ dữ liệu nào được truyền đi và điều đó ngốn hết mili giây thời gian tải cho các ứng dụng web, cũng như một số bộ nhớ cho cả máy khách và máy chủ.

Tuy nhiên, có những công nghệ giúp giảm thiểu độ trễ tiềm ẩn do quá trình TLS handshake tạo ra. Một là TLS False Start, cho phép máy chủ và máy khách bắt đầu truyền dữ liệu trước khi quá trình TLS handshake hoàn tất. Một công nghệ khác để tăng tốc TLS là TLS Session Resumption, cho phép các máy khách và máy chủ đã giao tiếp trước đó sử dụng handshake dạng tóm tắt. 

Những cải tiến này đã giúp TLS trở thành một giao thức rất nhanh mà không ảnh hưởng đến thời gian tải. Đối với chi phí tính toán liên quan đến TLS, chúng hầu như không đáng kể theo tiêu chuẩn ngày nay.

TLS 1.3, được phát hành vào năm 2018, đã làm cho TLS nhanh hơn. TLS handshakes trong TLS 1.3 chỉ yêu cầu một giao tiếp qua lại thay vì hai lần, giúp rút ​​ngắn quá trình này vài mili giây. Khi người dùng đã kết nối với một trang web trước đó, quá trình TLS handshake không cần phải giao tiếp qua lại giúp tốc độ tăng nhanh hơn nữa.  

Sự khác biệt giữa SSL với TLS là gì?

TLS đã phát triển từ một giao thức mã hóa trước đó có tên là Lớp cổng bảo mật – Secure Sockets Layer (SSL), được phát triển bởi Netscape. 

TLS phiên bản 1.0 thực sự bắt đầu được phát triển dưới dạng SSL phiên bản 3.1, nhưng tên của giao thức đã được thay đổi trước khi xuất bản để cho biết rằng nó không còn được liên kết với Netscape. 

Vì đoạn lịch sử này, các thuật ngữ TLS và SSL đôi khi được sử dụng thay thế cho nhau.

Sự khác biệt giữa HTTPS và TLS là gì?

HTTPS là một triển khai mã hóa TLS trên giao thức HTTP, được sử dụng bởi tất cả các trang web cũng như một số dịch vụ web khác. Do đó, bất kỳ trang web nào sử dụng HTTPS đều đang sử dụng mã hóa TLS.

Kết luận

Không có TLS, những thông tin nhạy cảm như thông tin đăng nhập, chi tiết thẻ tín dụng và chi tiết cá nhân có thể dễ dàng bị người khác thu thập, nhưng cũng có thể theo dõi thói quen duyệt web, thư điện tử, trò chuyện trực tuyến và cuộc gọi hội nghị. Bằng cách cho phép các ứng dụng máy khách và máy chủ hỗ trợ TLS, nó đảm bảo rằng dữ liệu truyền giữa chúng được mã hóa bằng các thuật toán an toàn và không thể xem được bởi các bên thứ ba.

Phía trên là các thông tin liên quan đến giao thức TLS là gì mà Vietnix đã tổng hợp. Cảm ơn các bạn đã đọc bài!

5/5 - (1 bình chọn)

Banner Hosting Giá Rẻ tại Vietnix

Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PearsonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận