SSL là gì? SSL hoạt động như thế nào?

SSL là gì? SSL hoạt động như thế nào?

SSL là gì? SSL hoạt động như thế nào? Có những giao thức ssl nào? Cấu trúc SSl ra làm sao? Đây sẽ là toàn bộ nội dung chính của bài viết ngày hôm nay. Hãy cùng Huỳnh Quí IT đi xem qua và đọc thêm nhé các bạn.

Như chúng ta đã biết thì kể từ khi Internet ra đời. Cùng theo đó lĩnh vực công nghệ tin không ngừng phát triền, kèm theo Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng.

Một trong các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), máy truy tìm dữ liệu (search engine), các dịch vụ thương mại và chuyển ngân, và các dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học ảo. Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên Internet.

Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các trang Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web).

  • Đó là một kênh trao đổi thông  tin rất hữu ích và nhanh chóng. Song tất cả không phải là toàn mỹ, nghĩa là mọi thông tin khi bạn trao đổi thông qua Internet có thể bị bên thứ 3 tác động vào hay là rò rỉ thông tin…vv

Để khắc phục những hạn chế đó, chúng ta đã phát triển các giao thức giúp phần nào hạn chế điều đó. Trong đó biết tới một giao thức góp phần tối ưu công việc bảo mật thông tin trên nền World Wide Web. Đó là giao thức SSL (viết tắt Secure Sockets Layer)

Nào, bây giờ hãy cùng Huỳnh Quí IT đi vào nội dung chính của bài viết là giao thức SSL cũng như ứng dụng của nó trên Web Server.

Giới thiệu về SSL

Lịch sử phát triển của giao thức SSL

Tại sao sử dụng SSL?

Như chúng ta đã biết công nghệ thông tin ngày càng phát triển và thay đổi hàng ngày hàng giờ. Đồng thời cùng với sự ra đời của Internet, thì đã góp phần tăng thêm một kênh truyền tải thông tin.

Ngày nay việc bảo mật thông tin là yếu tố quan trọng để quyết định sự sống còn của một tổ chức ,một công ty hay doanh nghiệp. Với sự phát triển nhanh chóng của công nghệ đã mang lại nhiều tiện ích cho người dùng nhưng đồng thời cũng đặt ra một nhu cầu hết sức cấp thiết về sự an toàn bảo mật.Và SSL chính là giải pháp tốt nhất hiện nay đáp ứng những nhu cầu đó và nó được coi như là “lá chắn cuối cùng” trong bảo mật thương mại điện tử.

Việc truyền các thông tin nhạy cảm trên mạng rất không an toàn vì những vấn đề sau:

  • Bạn không thể luôn luôn chắc rằng bạn đang trao đổi thông tin với đúng đối tượng cần trao đổi.
  • Dữ liệu mạng có thể bị chặn ,vì vậy dữ liệu có thể bị 1 đối tượng thứ 3 khác đọc trộm, thường được biết đến như attacker .
  • Nếu attacker có thể chặn dữ liệu, attacker có thể sửa đổi dữ liệu trước khi gửi nó đến người nhận.

Như vậy SSL được đã được phát triển nhằm giải quyết triệt để các vấn đề trên

Giao thức SSL là gì?

  • SSL (Secure Sockets Layer) là giao thức an ninh thông tin mạng được sử dụng rộng rãi nhất hiện nay nhằm mã hóa và cung cấp một kênh an toàn giữa các máy tính trên Internet hoặc mạng nội bộ. SSL thường được sử dụng khi một trình duyệt web cần kết nối bảo mật đến một máy chủ web.
  • Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữa client và server. Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù là có sự thay đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL. Phiên bản TSL 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.
  • SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( Internet Messaging Access Protocol) và FTP (File Transport Protocol).

Để đảm bảo tính bảo mật thông tin trên internet hay bất kì mạng TCP/IP nào thì SSL (Secure Socket Layer) ra đời kết hợp với những yếu tố sau để thiết lập giao dịch an toàn:

  • Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết nối. Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử dụng.
  • Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại trừ việc nghe trộm những thông tin “ nhạy cảm” khi nó được truyền qua Internet, dữ liệu phải được mã hoá để không thể bị đọc được bởi những người khác ngoài người gửi và người nhận.
  • Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính xác thông tin gốc gửi đến.

Các phiên bản của SSL

  • Giao thức SSL ban đầu được phát triển bởi Netscape.Ngày nay Visa, MasterCard, American Express cũng như nhiều côngty giải pháp tài chính hàng đầu khác trên thế giới đã và đang ứng dụng SSL trong thương mại điện tử.
  • Cho đến bây giờ, có ba phiên bản của SSL:
    • SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications. Nó chứa một số khiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoài.
    • SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x. Nó có một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối tượng trung gian. Trong một nỗ lực nhằm dùng sự không chắc chắn của công chúng về bảo mật của SSL. Microsoft cũng đã giới thiệu giao thức PCT cạnh tranh trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996.
    • SSL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của Microsoft bằng cách giới thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL 2.0 và thêm một số tính năng mới. Vào thời điểm này, Microsoft nhượng bộ và đồng ý hỗ trợ SSL trong tất cả các phiên bản phần mềm dựa vào TCP/IP của nó .

Cấu trúc của giao thức SSL

SSL được thiết kế để dùng TCP cung cấp 1 dịch vụ bảo mật đầu cuối-đến-đầu cuối đáng tin cậy.SSL không phải là một giao thức đơn mà là 2 lớp giao thức, như minh họa dưới đây:

chong giao thuc ssl

Theo hình này, SSL ám chỉ một lớp (bảo mật) trung gian giữa lớp vận chuyển (Transport Layer) và lớp ứng dụng (Application Layer). SSL được xếp lớp lên trên một dịch vụ vận chuyển định hướng nối kết và đáng tin cậy, chẳng hạn như được cung cấp bởi TCP.

SSL Record Protocol cung cấp các dịch vụ bảo mật cơ bản cho nhiều giao thức khác nhau ở các lớp trên. Trong thực tế, Hyper Text Transfer Protocol (HTTP), cung cấp dịch vụ trao đổi cho tương tác Web client/server, có thể hoạt động trên đỉnh của SSL. Ba giao thức lớp trên được định nghĩa như là các phần của SSL: Handshake Protocol, Change Cypher Spec Protocol và Alert Protocol.

Các giao thức mang tính đặc trưng SSL này được dùng trong phần quản lý trao đổi SSL. Như vậy có ta thấy SSL có 2 lớp giao thức hay 4 thành phần con của SSL:

  • SSL Handshake Protocol.
  • SSL Change Cipher Spec Protocol.
  • SSL Alert Protocol.
  • SSL Record Protocol.

Giao Thức SSL Record Protocol:

SSL Record Protocol cung cấp 2 dịch vụ cho kết nối SSL:

+ Confidentiality (tính cẩn mật): Handshake Protocol định nghĩa 1 khóa bí mật được chia sẻ, khóa này được sử dụngcho mã hóa quy ước các dữ liệu SSL.

+ Message integrity (tính toàn vẹn thông điệp): Handshake Protocol cũng định nghĩa 1 khóa bí mật được chia sẻ, khóa này được sử dụng để hình thành MAC (mã xác thực message).

Giao thức SSL Change Cipher Spec Protocol:

Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất trong ba giao thức đặc trưng của SSL mà sử dụng giao thức SSL Record . Giao thức này bao gồm một message đơn 1 byte giá trị là 1. Mục đích chính của message này là sinh ra trạng thái tiếp theo để gán vào trạng thái hiện tại, và trạng thái hiện tại cập nhật lại bộ mã hóa để sử dụng trên kết nối này.

Giao thức SSL Alert:

Giao thức SSL Alert được dùng để truyền cảnh báo liên kết SSL với đầu cuối bên kia.Như với những ứng dụng khác sử dụng SSL, alert messages được nén và mã hóa, được chỉ định bởi trạng thái hiện tại.

Mỗi message trong giao thức này gồm 2 bytes, Byte đầu tiên giữ giá trị cảnh báo hoặc nguy hiểm để thông báo độ nghiêm ngặt của message. Nếu mức độ là nguy hiểm, SSL lập tức chấp dứt kết nối, những kết nối cùng phiên khác vẫn có thể tiếp tục nhưng sẽ không kết nối nào khác trên phiên này được khởi tạo thêm, Byte thứ hai chứa một mã chỉ ra cảnh báo đặc trưng.

Đầu tiên, chúng ta liệt kê những cảnh báo đó mà luôn ở mức nguy hiểm ( được định nghĩa từ những thông số SSL):

  1. unexpected_message: message không thích hợp bad_record_mac: MAC không chính xác decompression_failure: việc giải nén nhận input không thích hợp(ví dụ như không thể giải nén hoặc giải nén lớn hơn độ dài tối đa cho phép).
  2. handshake_failure: bên gửi không thể thương lượng một bộ chấp nhận được của các thông số bảo mật được đưa ra từ những lựa chọn có sẵn
  3. illegal_parameter: một trường trong một handshake message thì vượt khỏi dãy hoặc trái với những trường khác

Phần còn lại của cảnh báo thì như sau:

  1. close_notify: thông báo cho bên nhận rằng bên gửi sẽ không gửi thêm message nào nữa trong kết nối này.Mỗi nhóm thì được yêu cầu gửi một close_notify cảnh báo trước khi kết thúc phần ghi của một kết nối.
  2. no_certificate: có thể được gửi để trả lời cho một yêu cầu certificate nếu không certificate thích hợp nào có sẵn.
  3. bad_certificate: certificate nhận được thì không hợp lệ(ví dụ như chứa một chữ ký không xác minh) unsupported_certificate: dạng certificate nhận được thì không hỗ trợ. certificate_revoked: certificate đã bị thu hồi bởi nhà cung cấp. certificate_expired: certificate đã hết hạn đăng ký.
  4. certificate_unknown: một số phát sinh không nói rõ xuất hiện trong quá trình xử ký certificate làm cho nó không thể chấp nhận.

Giao Thức SSL Handshake:

Giao thức này cho phép server và client chứng thực với nhau và thương lượng cơ chế mã hóa , thuật toán MAC và khóa mật mã được sử dụng để bảo vệ dữ liệu được gửi trong SSL record. Giao thức SSL Handshake thường được sử dụng trước khi dữ liệu của ứng dụng được truyền đi. Cơ chế giao thức SSL Handshake:

  1. Client sẽ gửi cho server số phiên bản SSL đang dùng, các tham số của thuật toán mã hoá, dữ liệu được tạo ra ngẫu nhiên (đó chính là digital signature) và một số thông tin khác mà server cần để thiết lập kết nối với client.
  2. Server gửi cho client số phiên bản SSL đang dùng, các tham số của thuật toán mã hoá, dữ liệu được tạo ra ngẫu nhiên và một số thông tin khác mà client cần để thiết lập kết nối với server. Ngoài ra server cũng gửi certificate của nó đến client, và yêu cầu certificate của client nếu cần.
  3. Client sử dụng một số thông tin mà server gửi đến để xác thực server. Nếu như server không được xác thực thì người sử dụng sẽ được cảnh báo và kết nối không được thiết lập. Còn nếu như xác thực được server thì phía client sẽ thực hiện tiếp bước 4.
  4. Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên, client (cùng với sự cộng tác của server và phụ thuộc vào thuật toán được sử dụng) sẽ tạo ra premaster secret cho phiên làm việc, mã hoá bằng khoá công khai (public key) mà server gửi đến trong certificate ở bước 2, và gửi đến server.
  5. Nếu server có yêu cầu xác thực client, thì phía client sẽ đánh dấu vào phần thông tin riêng chỉ liên quan đến quá trình “bắt tay” này mà hai bên đều biết. Trong trường hợp này, client sẽ gửi cả thông tin được đánh dấu và certificate của mình cùng với premaster secret đã được mã hoá tới server.
  6. Server sẽ xác thực client. Trường hợp client không được xác thực, phiên làm việc sẽ bị ngắt. Còn nếu client được xác thực thành công, server sẽ sử dụng khoá bí mật (private key) để giải mã premaster secret, sau đó thực hiện một số bước để tạo ra master secret.
  7. Client và server sẽ sử dụng master secret để tạo ra các session key, đó chính là các khoá đối xứng được sử dụng để mã hoá và giải mã các thông tin trong phiên làm việc và kiểm tra tính toàn vẹn dữ liệu.
  8. Client sẽ gửi một lời nhắn đến server thông báo rằng các message tiếp theo sẽ được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo rằng phía client đã kết thúc giai đoạn “bắt tay”.
  9. Server cũng gửi một lời nhắn đến client thông báo rằng các message tiếp theo sẽ được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo rằng server đã kết thúc giai đoạn “bắt tay”.
  10. Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL bắt đầu. Cả hai phía client và server sẽ sử dụng các session key để mã hoá và giải mã thông tin trao đổi giữa hai bên, và kiểm tra tính toàn vẹn dữ liệu

Các thuật toán mã hóa dùng trong SSL

  • Các thuật toán mã hoá (cryptographic algorithm -cipher) là các hàm để mã hoá và giải mã thông tin.
  • Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, sử dụng trong quá trình xác thực server và client, truyền tải các certificates và thiết lập các khoá của từng phiên giao dịch
  • Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào phiên bản SSL đang dùng, chính sách về độ dài khoá cảm thấy chấp nhận được – điều này liên quan đến mức độ bảo mật của thông tin, ….

Một số thuật toán SSL sử dụng:

  • DES (Data Encryption Standard)
  • DSA (Digital Signature Algorithm):
  • MD5 (Message Digest algorithm):
  • RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ liệu được Rivest, Shamir, and Adleman phát triển.
  • RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên thuật toán RSA.
  • RC2 and RC4:
  • SHA-1 (Secure Hash Algorithm):

Các thuật toán trao đổi khoá như KEA, RSA key exchange được sử dụng để 2 bên client và server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch SSL. Và thuật toán được sử dụng phổ biến là RSA key exchange.

Các phiên bản SSL 2.0 và SSL 3.0 hỗ trợ cho hầu hết các bộ mã hoá. Người quản trị có thể tuỳ chọn bộ mã hoá sẽ dùng cho cả client và server. Khi một client và server trao đổi thông tin trong giai đoạn bắt tay (handshake), họ sẽ xác định bộ mã hoá mạnh nhất có thể và sử dụng chúng trong phiên giao dịch SSL.

Ứng dụng của SSL

Các ứng dụng phổ biến của SSL:

Tuy đến nay vẫn còn tồn tại một số lỗ hổng có thể bị khai thác nhưng SSL vẫn là giao thức bảo mật cao nhất mà chưa một giao thức bảo mật nào có thể thay thế vai trò của nó . Nó phổ biến đến mức nếu thấy tên một giao thức có hậu tố “s” thì người ta biết ngay giao thức ứng dụng đó được kết hợp kèm với SSL. Sau đây là một số port phổ biến của những ứng dụng đi kèm SSL được IANA (Internet Assigned Numbers Authority) công nhận :

Name Port Description
Nsiiop 261 Dịch vụ IIOP trên TLS/SSL
Https 443 HTTP trên TLS/SSL
Smtps 465 SMTP trên TLS/SSL
Nntps 563 NNTP trên TLS/SSL
Ldaps 636 LDAP trên TLS/SSL
Ftps-data 989 FTP-dữ liệu trên TLS/SSL
Ftps 990 FTP-điều khiển trên TLS/SSL
Telnets 992 TELNET trên TLS/SSL
Imaps 994 IRC trên TLS/SSL

Ngoài một số ứng dụng phổ biến hiện nay của SSL như bảo mật trong Remote Desktop Protocol cho kết nối Terminal Service, Http cho Outlook Web Access hay Smtp/Imap/Pop3 cho mail , ứng dụng quan trọng của SSL mà không thể không nhắc tới là SSL VPN.

Đó là lý do tại sao không chỉ các nhà cung cấp thiết bị mạng phần cứng đang đua nhau trong việc phát triển các sản phẩm hổ trợ SSL VPN mà cả những nhà cung cấp thiết bị mạng “mềm” như Microsoft cũng đưa nó vào sản phẩm Windows Server 2008 và Windows Vista Service Pack 1 của mình với cơ chế Secure Socket Tunneling Protocol (SSTP).

Ứng Dụng SSL Trên Web Server

Web Server ?

Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html.

Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một n hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia).

Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name.

Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các tông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn.

Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến.

Có nhiều loại Web Server khác nhau, nhưng chủ yếu trên thị trường chỉ thường sử dụng Apache và IIS (Internet Information Server của Microsoft).

Giải Pháp Bảo Vệ Web Server
– Truyền thông HTTP được định nghĩa cho máy chủ Web nói chung, thông thường là các trang thông tin.
– Một số phương pháp cho Web Server an toàn hơn:

bao mat web server
Tuy nhiên nếu đang nghĩ đến việc chạy một trang điện tử hoặc các dịch vụ Web khác yêu cầu phiên giao dịch an toàn thì bạn cần phải mã hóa dữ liệu được truyền thông giữa máy chủ Web và các máy khách của nó.
Trường hợp thường được sử dụng nhất đó là Secure Sockets Layer (SSL), SSL sử dụng mã hóa khóa công khai để bảo vệ thông tin bí mật của người dùng (như là thẻ tín dụng, số tài khoản ngân hàng) vẫn được truyền tải trên Web.

Giá chứng chỉ SSL trên thị trường:

Tuỳ vào nhu cầu sử dụng của mỗi đối tượng hay công ty/doanh nghiệp mà giá cho mỗi chứng chỉ sẽ khác nhau. Hiện nay, đa phần các website blog cá nhân hay kể cả các website công ly vừa và nhỏ đều đang sử dụng các chứng chỉ bảo mật free từ các nhà cung cấp như: SSL For Free, ZeroSSL, Let’s Encrypt, CloudFlare,… Trong đó đặc biệt nhất và nhiều người sử dụng nhất là CloudFlare.

Ưu điểm của các chứng chỉ này là miễn phí, xin nhắc lại là miễn phí. Cái thứ 2 là dễ dàng cài đặt cho dù bạn có chuyên về web hay không vẫn làm được, cái cuối cùng là tự động cập nhật khi hết hạn. Hơn thế nữa, hiện tại các nhà cung cấp Hosting đã áp dụng chương trình hỗ trợ cài đặt cũng như thêm mục cài đặt tự động chứng chỉ này vào trình quản lý hosting như: Cpanel, Plesk,… Càng làm tăng thêm sự tiện lợi cho người dùng hiện nay.

Tuy nhiên, nhược điểm của các chứng chỉ miễn phí này là độ tin tưởng chưa cao, một số phần mềm antivirus có thể phát hiện và cảnh báo về độ tin tưởng của các chứng chỉ này, làm giảm lòng tin của khách hàng khi ghé thăm trang web của các bạn. Hơn thế nữa, nó cũng chỉ chấp nhận domain chính mà thôi, chứng chỉ free này không được hỗ trợ trên các subdomain.

Nếu là một doanh nghiệp, hoặc có một dự án nghiêm túc và các bạn có thêm các dịch vụ web riêng như webmail, web application thì mình khuyên các bạn nên mua cho mình 1 chứng chỉ số trả phí thay vì dùng miễn phí.

Vậy là hôm nay, chúng ta đã cùng nhau đi qua bài viết tìm hiểu về ssl. Các bạn hãy theo dõi chuyên mục có thể bạn chưa biết để đón xem nhiều bài viết hấp dẫn nữa nhé. Nếu thấy hay hãy share và vote 5* cho bài viết này nhé các bạn. Nếu có thắc mắc hay cần hỗ trợ có thể inbox mình qua Fanpage mình sẽ hỗ trợ trong khả năng nhé.

Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x