Giao thức TLS là gì? TLS hoạt động như thế nào

TLS là phương thức thức mã hóa được sử dụng trong giao thức HTTPS của các website hiện đại. Thực tế, TLS không phải SSL mà thậm chí còn là một bản cải tiến. Vậy Giao thức TLS là gì? TLS hoạt động như thế nào? Hãy cùng Khotenmien.vn tìm hiểu trong bài viết hôm nay.

1. Giao thức TLS là gì?

TLS viết tắt của Transport Layer Security hay thường được gọi là giao thức bảo mật tầng giao vận. Giao thức TLS được phát triển dựa trên tiêu chuẩn SSL v3.0 (Secure Socket Layer). Giao thức TLS phiên bản v1.0 (TLS v1.0) do tổ chức Internet Engineering Task Force (IETF) nói ra tại RFC 2246 tháng 01/1999. Có thể nói rằng giao thức TLS v1.0 được phát triển dựa trên giao thức SSL v3.0 thế nhưng giữa chúng có những điểm khác biệt khác biệt đặc biệt là sự không tương thích giữa chúng.

Giao thức TLS là gì? TLS hoạt động như thế nào?
Giao thức TLS là gì?

2. Tại sao mã hóa TLS lại quan trọng.

 

Giao thức TLS là gì? TLS hoạt động như thế nào?
Tại sao mã hóa TLS lại quan trọng

Trong thời kỳ mà tội phạm mạng đang ngày càng gia tăng cùng với sự phát triển nhanh chóng của Internet, bảo đảm an toàn cho các dịch vụ  Web là yêu cầu cần thiết mà trong đó TLS là một giao thức quan trọng. TLS sẽ giúp cả khách hàng  nhà sản xuất dịch vụ qua mạng internet an tâm hơn với các hoạt động online, giảm bớt các mối đe dọa tấn công mạng như nghe lén, giả mạo, đánh cắp dữ liệu,…

Nhìn chung chuyển dời sang các giao thức bảo mật cao như TLS là xu thế tất yếu của lĩnh vực công nghệ. Không đảm bảo được các yếu tố bảo mật thì những tiến bộ công nghệ mới nhất cũng chưa hẳn đem đến đa lợi ích hơn so sánh với các sai lầm phát sinh.

3. TLS hoạt động như thế nào?

TLS bảo mật thông tin liên hệ thông qua việc dùng asymmetric public key infrastructure (cơ sở hạ tầng khóa công khai bất đối xứng) để tạo thành kết nối giữa client – server & sau đó sử dụng khóa đối xứng (symetric) để mã hóa trong phần còn lại của phiên truyền dữ liệu. Trước hết ta cùng xem các phương thức mã hóa này hoạt động thế nào.

Giao thức mã hóa bất đối xứng dùng hai khóa không giống nhau để mã hóa thông tin liên lạc giữa hai bên:

  • Khóa riêng tư – private key: khóa này do chủ sở hữu trang Web kiểm soát & nó được lưu giữ 1 cách riêng tư. Khóa này nằm phía trên máy chủ Web và đã được dùng để giải mã thông tin được mã hóa bởi khóa công khai.
  • Khóa công khai – public key: khóa này khả dụng cho toàn bộ những ai ước muốn tương tác với máy chủ theo cách an toàn. Thông tin được mã hóa bằng khóa công khai chỉ có thể sẽ được giải mã bằng khóa riêng tư.

Cặp public key  private key có những mối quan hệ được xác định bằng hàm toán học, nhưng được thiết kế để việc tính toán private key từ public key gần như là bất khả thi với độ dài khóa đủ lớn. Thuật toán cũng đảm bảo tin nhắn được mã hóa bằng public key không thể giải mã bằng chính public key mà phải có private key (được lưu giữ ở server). bởi vậy Client có thể tạo thành một khóa chung  trao đổi với server mà không sợ hacker nghe lén public key  giải mã nó. Khóa chung này sau đấy được dùng cho giao thức mã hóa đối xứng.

Với giao thức mã hóa đối xứng (symmetric), dữ liệu được mã hóa  giải mã bằng khóa bí mật (secret key) mà cả người gửi  người nhận đều biết; thường là 128 thế nhưng tốt quan trọng là có độ dài 256 bit (bất kỳ thứ gì nhỏ hơn 80 bit hiện được coi là không an toàn). Mã hóa đối xứng hiệu quả hơn về mặt tính toán so sánh với mã hóa bất đối xứng, tuy nhiên có một khóa bí mật chung có nghĩa là nó cần được sẻ chia 1 cách an toàn. Đó là lý do ban đầu ta cần sử dụng mã hóa bất đối xứng để trao đổi secet key tuy vậy sau đấy lại sử dụng mã hóa đối xứng để trao đổi các dữ liệu lớn.

Quy trình bắt tay TLS được xảy ra như sau:

  • Client gửi một message “client hello tới Server. Message này gồm có version của SSL trên client, cipher setting (các thiết lập về mật mã), session data & các thông tin quan trọng khác mà server cần để client có thể tiếp cận thông qua giao thức SSL
  • Server phản hồi với một message “server hello”. Message này cũng gồm có version của SSL trên server, thiết lập mật mã, session data, public key & các thông tin thiết yếu khác mà client cần để tiếp cận thông qua SSL.
  • Client tiến hành công nhận SSL certificate (public key & các info khác mà Server vừa gửi) với Certificate Authority – CA (là các đơn vị thứ 3 cung cấp dịch vụ chứng thực số, ví dụ: GeoTrust, Digicert…). Nếu công nhận thất bại thì client sẽ từ chối tiếp xúcquá trình bắt tay SSL sẽ bị dừng lại. Nếu công nhận thành công thì tiếp tục bước sau
  • Client sinh một session key (hay chính là symetric secret key đã đề cập ở trên), mã hóa nó với public key & gửi nó đến server.
  • Server sử dụng private key để giải mã session key sau đó gửi kết quả thành công về cho client. Kết quả này cũng sẽ được mã hóa đối xứng với session key mà vừa được giải mã.

Sau khi việc khởi tạo trên hoàn tất, quy trình giao tiếp còn lại (trên các giao thức HTTPS/FTM/STMP,…) được mã hóa 2D bằng symetric secret key nói trên.

Bên cạnh khả năng mã hóa dữ liệu đầu cuối, TLS còn cho phép phần mềm khách xác thực quyền sở hữu khóa công khai của máy chủ, để đảm bảo website/máy chủ đang được truy cập tới là chuẩn xácVấn đề này thường được thực hiện thông qua việc dùng chứng thông số X.509 được cấp do bên thứ ba đáng tin cậy (được gọi là tổ chức phát hành chứng chỉ – CA) để công nhận tính xác thực của khóa công khai. Trong một số trường hợp, máy chủ có thể dùng chứng chỉ tự ký & nó cần được máy khách chấp thuận một cách rõ ràng (trình duyệt sẽ xuất hiện cảnh báo người sử dụng khi gặp chứng chỉ không đáng tin cậy). Các chứng chỉ riêng như vậy có thể được sử dụng trong các mạng riêng hoặc nơi có thể bảo đảm phân phối chứng chỉ an toàn. nhưng, chứng chỉ do các CA công khai cấp vẫn thường đáng tin cậy hơn.

4. Chức năng của giao thức TLS.

 

Giao thức TLS là gì? TLS hoạt động như thế nào?
Chức năng của giao thức TLS

Mã hóa (encryption)

Như đã đề cập, TLS dùng kết hợp các thuật toán mã hóa đối xứng  mã hóa bất đối xứng để bảo đảm dữ liệu được an toàn trong lúc truyền qua mạng internetnăng lực mã hóa của TLS có thể sẽ được dùng liên kết với các giao thức khác như TCP để tăng cường bảo mật cho kết nối dữ liệu.

Xác thực (authentication)

Bên cạnh mã hóa, xác thực là một công dụng quan trọng khác của TLS. Hãy tưởng tượng bạn kết nối với máy chủ giả mạo của một hacker mà không phát hiện thấykhởi tạo cả một đường hầm an toàn cho dữ liệu với đủ các phương thức bảo mật chỉ để chắc chắn rằng dữ liệu của mình sẽ đến tay hacker một cách “an toàn & nguyên vẹn”, thật mỉa mai! vì vậy khả năng xác thực máy chủ, đặc biệt là qua các chứng chỉ cấp bởi bên thứ ba, là rất cần thiết để bảo đảm kết nối Internet an toàn.

Bảo đảm tính vẹn toàn dữ liệu (data intergrity)

Kết hợp chức năng mã hóa & xác thực, TLS giúp đảm bảo tính toàn vẹn dữ liệu. Mã hóa giúp thông tin truyền giữa client & server không thể bị nghe lén hay thay đổi trong khi xác thực bảo vệ dữ liệu khỏi những địa chỉ giả mạo do hacker tạo ra. TLS bảo đảm tính bảo mật trong khi vẫn cung cấp hiệu năng ổn, nhất là khi cấu hình máy tính hiện đại đang ngày càng trở nên mãnh liệt.

5. Phần mềm giao thức TLS vào đâu?

TLS có khả năng ứng dụng rộng lớn trong tất cả lĩnh vựcnhưng nổi bật nhất vẫn là dùng làm giao thức bảo mật cho HTTPS. Cho dù độ phổ biến chưa cao như SSL tuy nhiên TLS có thể mang đến những năng lực tương đương  thậm chí tốt hơn ở một vài phương diện. Điều đấy khiến ngày nay người ta vẫn thường đặt chung SSL/TLS khi đề cập về các giao thức bảo mật của HTTPS.

Ngoài HTTPS, TLS còn có thể áp dụng trong nhiều giao thức khác như FTP, SNMP, NNTP & XMPP. Kể cả những lúc không hỗ trợ các giao thức chuẩn mực thì người ta vẫn có thể dùng khả năng mã hóa, xác thực của TLS cho các phần mềm client-server cần giao tiếp an toàn.

TẠM KẾT.

Qua bài viết trên, Khotenmien.vn đã giải thích Giao thức TLS là gì? TLS hoạt động như thế nào? Hi vọng rằng những thông tin vừa chia sẻ ở trên sẽ giúp ích cho các bạn từ đó có thể giúp bạn có thêm nhiều kiến thức về lĩnh vực này!

Xem thêm: NPM là gì? NPM hoạt động như thế nào?


Thu Uyên – Tổng hợp, chỉnh sửa.

Cám ơn bạn đã quan tâm đến sản phẩm tại Khotenmien.vn

Chúng tôi sẽ liên hệ bạn ngay nhé!