Tải bản đầy đủ (.doc) (5 trang)

Tổng quan về giao thức Secure Socket Layer (SSL) doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (91.59 KB, 5 trang )

Giới thiệu chung về SSL
Chúng ta thường gặp hầu hết giao thức ống ảo ở tầng transport, xa hơn nữa, là giao thức
Secure Sockets Layer (SSL) nằm trong những thứ khác, bảo mật những tác vụ HTML
(Hypertext Markup Language) trên Web. Khi chúng ta gặp, SSL có rất nhiều những ứng
dụng và có thể dễ dàng được sử dụng để xây dựng mục đích tổng quát những đường ống
ảo ở tầng Transport. SSL hoạt động trên vùng rộng nghĩa là những tiện ích của TCPdump
và SSLdump, hãy xem cách thức chúng ta có thể sử dụng để xây dựng một đường ống ảo
giữa hai chương trình hoặc cả hai cái không cần đến những quan tâm đến SSL, cuối cùng
hãy xem cách chúng ta có thể sử dụng SSL để xây dựng một VPN giữa hai mạng.
Tổng quan về SSL (Secure Sockets Layer)
SSL là một sự xuất hiện bổ sung của VPN trên thị trường. Nó được thiết kế cho những
giải pháp truy cập từ xa và không cung cấp những kết nối site-to-site. SSL VPNs cung
cấp vấn đề bảo mật truy cập đầu tiên những ứng dụng web. Bởi vì SSL sử dụng trình
duyệt web, điển hình là những người sử dụng không phải chạy bất kỳ phần mềm client
đặc biệt nào trên những máy tính của họ.
SSL VPNs hoạt động ở tầng phiên (session layer) của mô hình tiêu chuẩn OSI. Và bởi vì
client là một trình duyệt web, chỉ những ứng dụng đó mà chúng hổ trợ trình duyệt web,
bằng mặc định, nó sẽ làm việc với một giải pháp VPN. Vì thế những ứng dụng như
Telnet, FTP, SMTP, POP3, multimedia, hệ thống điện thoại di động IP, điều khiển
desktop từ xa, và những cái khác không làm việc với SSL VPNs bởi vì chúng không sử
dụng trình duyệt web cho giao diện đầu cuối người dùng của họ. Tất nhiên, nhiều nhà
cung cấp cũng sử dụng cả java hoặc ActiveX để nâng cao SSL VPNs bằng việc hổ trợ
những ứng dụng không phải là HTTP, những khách hàng là POP3, SMTP e-mail, và tập
tin Microsoft Windows và chia sẻ máy in. Ví dụ sự bổ sung SSL VPNs của Cisco hỗ trợ
những ứng dụng không phải là web chẳng hạn Citrix, Windows Terminal Services, và
nhiều cái khác. Thêm vào đó, một vài nhà cung cấp sử dụng java hay ActiveX để phân
phối những thành phần SSL VPNs khác, chẳng hạn như thêm vào những chức năng bảo
mật cho việc xóa hết những dấu vết từ một hoạt động của một khách hàng trên máy tính
của họ sau khi SSL VPNs đã được kết thúc. Cisco chỉ sự bổ xung SSL VPN như là
WebVPN.
Những bổ sung SSL Client (SSL Client Implementations)


Một nguyên nhân chính mà những người quản trị mạng yêu cầu đưa ra những bổ sung
SSL VPN những giao thức SSL VPNs mà không yêu cầu bất cứ loại phần mềm đặc biệt
của VPN Client nào để được cài đặt trước trên những máy tính để bàn của người sử dụng.
Tất nhiên, người sử dụng biết một vài phần mềm cần thiết, giống như một trình duyệt
web đươc hổ trợ SSL, đặc thù với cả Java và ActiveX cũng được hổ trợ, và hầu như
người sử dụng đã cài những điều này từ một sự cài đặt ban đầu trên máy tính.
Có 3 loại SSL Client Implementation tổng quát:
• Clientless
• Thin client
• Network client
Bởi vì chỉ một trình duyệt web được yêu cầu trên máy tính người sử dụng, SSL client
thông thường được xem như là “Clientless” hoặc “webified”. Vì thế SSL VPN thỉnh
thoảng được gọi là clientless VPN. Điều trở ngại chính của một clientless VPN là chỉ
giao thông dạng web có thể được bảo vệ.
Đặc thù của một Thin client là phần mềm java hoặc ActiveX đã tải xuống thông qua SSL
VPN đến máy tính người sử dụng. Nó cho phép một tập hợp nhỏ những ứng dụng không
phải là web được vận chuyển thông qua SSL VPN. Trong việc truy cập dựa vào mạng,
một SSL client được cài đặt trên máy tính của người sử dụng; tuy nhiên, đặc tính này
được tải xuống máy tính của người sử dụng.
SSL Protection
SSL VPN không cần thiết cung cấp việc bảo vệ của dữ liệu ở tầng network, chẳng hạn
như IPSec, PPTP, và L2TP. Client SSL VPN cung cấp việc bảo vệ cho những ứng dụng
web ở tầng Session (tầng thứ 5) mà chúng sử dụng trình duyệt web. Vì thế, nó sử dụng
việc bảo vệ giao thông ở một vài thứ được giới hạn, cho ứng dụng giao thông được bảo
vệ, một vài cách sự truy cập của người sử dụng đến ứng dụng phải thông qua một trình
duyệt web. Tất nhiên, bất kỳ một cách kết nối kiểu HTTP có thể dễ dàng được bảo vệ bởi
vì người sử dụng sử dụng trình duyệt web cho kiểu chức năng này, nhưng điều này có thể
xuất hiện những vấn đề cho những kiểu ứng dụng khác, chẳng hạn như Telnet, POP3,
SMTP, SNMP, ping, traceroute, FTP, IP telephony, Citrix, Oracle’s SQL*net, tập tin và
việc chia sẽ máy in thông qua Windows hoặc Unix và nhiều thứ khác.

Sự khác nhau giữa IPSec và SSL VPNs:
• IPSec cung cấp sự bảo vệ cho những gói IP và những giao thức đã vận chuyển hai mạng
hoặc giữa hai máy.
• SSL VPNs cung cấp việc bảo vệ cho sự truy cập của người sử dụng đến những dịch vụ
và những ứng dụng trên mạng.
Kiến trúc mạng:
Một SSL được cấu hình trên Router:
+ Chuẩn độc lập.
+ Giải quyết ECT và kết nối với một hub server DMVPN.
Hoạt động:
o Dùng một trình duyệt web được enable SSL,người dùng thiết lập một kết nối đến SSL
VPN.
o Phiên SSL VPN được thiết lập.
o Người dùng truy cập trong cùng một mạng.
Chú ý: SSL VPN cung cấp một lối đi vào mạng. Nó luôn được thiết lập sau tường
lửa.
Đặc điểm:
* Dùng IE để thiết lập một kết nối đến cổng SSL VPN.
* Cổng SSL VPN sẽ đáp ứng với người dùng đăng nhập vào trang HTML.
* Usename và password sẽ được xác nhận đến cổng cho việc chứng thực với máy chủ
RADIUS.
* Nếu một phiên được thiết lập, cổng sẽ được duy trì băng cách gửi một phiên ”cookies”.
* Cookies này phải ghi nhớ tất cả các ngừời dùng HTTP tiếp theo để yêu cầu cho việc
chứng thực tại cổng SSL VPN.
* Nếu cookies này bị lỗi hay bị hỏng, phiên này sẽ bị ngưng và người dùng sẽ không truy
cập trong cùng mạng được nữa.
* Việc dùng phiên để ghi nhớ mãi cho đến khi người dùng log out, phiên này sẽ ngưng
hay bị xoá sạch bởi cổng SSL VPN.
* Trang SSL VPN và các toolbar sẽ được trình bày trên trình duyệt web của người dùng.
* Từ trang này người dùng có thể truy cập đến các trang HTTP có sẵn bằng cách nhấn

vào ” Start Application Access” link ,người dùng có thể truy cập lại đến các server bên
trong được cấu hình thông qua cổng chuyển tiếp TCP.
TCP port forwarding
• Người dùng download một java applet để bắt đầu một yêu cầu HTTP đến cổng SSL
VPN từ client.
• Cổng SSL VPN sẽ tạo một kết nối TCP đến server.
• Sau khi cài đặt, kết nối giữa client và server sẽ được xử lí như là một đường nối SSL
với những gói tin TCP đang được chuyển từ một hướng khác.
So sánh
GIAO THỨC SSL
Chúng ta hãy bắt đầu xem xét phiên làm việc của một loại SSL. Như là một giao thức ở
tầng transport, SSL phụ thuộc vào giao thức ở tầng transport để truyền gói tin của nó. Về
nguyên tắc cơ bản, đó không là nguyên nhân để SSL chạy trên UDP, nhưng có khả năng
có thể phải xây dựng vào giao thức SSL của chính nó. Để tránh nhưng sự phức tạp này,
SSL phụ thuộc vào một giao thức truyền tải tin cậy để chạy. Giống với giao thức TCP.
Một phiên làm việc của SSL bao gồm 3 bước sau: cài đặt kết nối, trao đổi dữ liệu và thoát
khỏi kết nối. Trong bước đầu tiên, việc mã hoá, thẩm định quyền và các thuật toán nén
được sắp xếp, đồng nhất và tuỳ chọn trên server, client sẽ được xác nhận và khoá trao đổi
sẽ được thay thế.
Bước 2, client và server trao đổi dữ liệu ứng dụng. Những dữ liệu này sẽ được mã hoá và
chứng thực để chắc chắn rằng dữ liệu không thể đọc bởi một bên thứ ba và để bên thứ ba
không thể thay đổi mà không nhận ra.
Khi những ứng dụng đã hoàn tất việc trao đổi dữ liệu hay một trong số chúng khai báo
kết thưc như là EOF. Bởi vì khai báo kết thúc đã được chứng thực, nó không thể được giả
mạo bởi third party. Điều này ngăn chặn ảnh hưởng xấu parties từ việc giả mạo một TCP
FIN và việc ngắt dữ liệu sớm.
SSL 3 và chứng thực TSL phụ thuộc cả vào 2 phía gửi những khai báo kết thúc, nhưng
trong thực hành, điều này thường được bỏ qua và chỉ có 1 phía gửi nó.
Luồng gói tin SSL cơ bản
Hình sau đây mô tả phiên làm việc của SSL. Đầu tiên 9 thông điệp bao gồm cả thiết lập

kết nối.Trong phần này client sẽ gửi đến server một thông điệp là clienthello để chỉ ra
phiên ban SSL mà nó hổ trợ và danh sách các cipher suites và thuật toán nén để mà nó sẽ
dùng chúng.
Server sẽ trả lời với 3 thông điệp. Các tin nhắn này sẽ tổng hợp lại thành 1 cấp trong mỗi
bước điều khiển vì thế 3 tin nhắn này sẽ gửi như là một phân đoạn TCP đơn lẻ.
Đầu tiên thông điệp serverhello cho biết các cipher suites và thuật toán nén mà server đã
chọn.
Thông điệp thứ 2 chứng thực của server.Chứng thực để đáp ứng cho 2 mục đích. Đầu
tiên, nó xác nhận tính đồng nhất của server.Thứ 2 nó chứa đựng khoá công cộng của
server cái mà client dùng để mã hoá một bí mật sẽ được dùng trên tất cả các cạnh để phát
ra các mã cần cho một phiên làm việc.
Cuối cùng, server gửi một thông điệp ServerHelloDone. Bởi vì một vài chế độ SSL phụ
thuộc vào server điều khiển những thông điệp. Gói ServerHelloDone đáp ứng để đánh
dấu kết thúc trình tự chào của server.Tại thời điểm này, server có chứng thực tuyệt đối
đển client, client và server đã đồng ý trên cùng cipher suites và thuật toán nén, và client
có khóa cần thiết để gửi bảo đảm đến server một vài khoá được phát ra.
Trong ba thông điệp này, client sẽ gửi tới server một vài khoá trao đổi (client key
exchange), để thông báo cho server biết, từ đây nó sẽ dùng những khoá phát sinh mới để
mã hoá và chứng thực các thông điệp của nó (ChangeCipherSpec), và cho server biết để
nó hoàn thành phần điều khiển của nó (Finished). Server đáp ứng ChangeCipherSpec của
chính nó và hoàn tất thông điệp.
Bây giờ những ứng dụng này bắt đầu cho việc trao đổi dữ liệu.Việc trao đổi dữ liệu giống
như trao đổi trên dữ liệu trên bất kì TCP nào ngoại trừ nhứng dữ liệu trên phân đoạn TCP
đã được mã hoá và chứng thực. Khi chúng ta xem việc trao đổi này với tcpdump ,chúng
ta xem nó sẽ không phân biệt được từ trao đổi dữ liệu trên bất kì phân đoạn TCP nào
ngoại trừ dữ liệu ứng dụng xuất hiện bits ngẫu nhiên. Thông điệp sau là khai báo kết
thúc.Tại thời điểm này dữ liệu sẽ không trao đổi lâu hơn nữa, và kết nối sẽ bị ngắt.

×