Điểm cơ bản của SSL được thiết kế độc lập với tầng ứng dụng để đảmbảo tính bí mật, an toàn và chống giả mạo luồng thông tin qua Internet giữa haiứng dụng bất kỳ, thí dụ như webserver và
Trang 1SSL (Secure Sockets Layer)
TCP/IP Layer Protocol
Application Layer HTTP, Telnet, FTP,
Secure Socket Layer SSLTransport Layer TCPInternet Layer IPSSL và TCP/IP
GIAO THỨC SSL LÀM VIỆC NHƯ THẾ NÀO?
Trang 2Điểm cơ bản của SSL được thiết kế độc lập với tầng ứng dụng để đảmbảo tính bí mật, an toàn và chống giả mạo luồng thông tin qua Internet giữa haiứng dụng bất kỳ, thí dụ như webserver và các trình duyệt khách (browsers), do
đó được sử dụng rộng rãi trong nhiều ứng dụng khác nhau trên môi trườngInternet Toàn bộ cơ chế hoạt động và hệ thống thuật toán mã hoá sử dụngtrong SSL được phổ biến công khai, trừ khoá chia xẻ tạm thời (session key)được sinh ra tại thời điểm trao đổi giữa hai ứng dụng là tạo ngẫu nhiên và bímật đối với người quan sát trên mạng máy tính Ngoài ra, giao thức SSL cònđỏi hỏi ứng dụng chủ phải được chứng thực bởi một đối tượng lớp thứ ba (CA)thông qua giấy chứng thực điện tử (digital certificate) dựa trên mật mã côngkhai (thí dụ RSA) Sau đây ta xem xét một cách khái quát cơ chế hoạt động củaSSL để phân tích cấp độ an toàn của nó và các khả năng áp dụng trong các ứngdụng nhạy cảm, đặc biệt là các ứng dụng về thương mại và thanh toán điện tử
Giao thức SSL dựa trên hai nhóm con giao thức là giao thức “bắt tay”(handshake protocol) và giao thức “bản ghi” (record protocol) Giao thức bắttay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổithông tin hoặc dữ liệu, còn giao thức bản ghi xác định khuôn dạng cho tiếnhành mã hoá và truyền tin hai chiều giữa hai đối tượng đó Khi hai ứng dụngmáy tính, thí dụ giữa một trình duyệt web và máy chủ web, làm việc với nhau,máy chủ và máy khách sẽ trao đổi “lời chào” (hellos) dưới dạng các thông điệpcho nhau với xuất phát đầu tiên chủ động từ máy chủ, đồng thời xác định cácchuẩn về thuật toán mã hoá và nén số liệu có thể được áp dụng giữa hai ứngdụng Ngoài ra, các ứng dụng còn trao đổi “số nhận dạng/khoá theo phiên”(session ID, session key) duy nhất cho lần làm việc đó Sau đó ứng dụng khách(trình duyệt) yêu cầu có chứng thực điện tử (digital certificate) xác thực củaứng dụng chủ (web server)
Chứng thực điện tử thường được xác nhận rộng rãi bởi một cơ quantrung gian (là CA -Certificate Authority) như RSA Data Sercurity hay
Trang 3VeriSign Inc., một dạng tổ chức độc lập, trung lập và có uy tín Các tổ chứcnày cung cấp dịch vụ “xác nhận” số nhận dạng của một công ty và phát hànhchứng chỉ duy nhất cho công ty đó như là bằng chứng nhận dạng (identity) chocác giao dịch trên mạng, ở đây là các máy chủ webserver.
Sau khi kiểm tra chứng chỉ điện tử của máy chủ (sử dụng thuật toán mật
mã công khai, như RSA tại trình máy trạm), ứng dụng máy trạm sử dụng cácthông tin trong chứng chỉ điện tử để mã hoá thông điệp gửi lại máy chủ mà chỉ
có máy chủ đó có thể giải mã Trên cơ sở đó, hai ứng dụng trao đổi khoá chính(master key) - khoá bí mật hay khoá đối xứng - để làm cơ sở cho việc mã hoáluồng thông tin/dữ liệu qua lại giữa hai ứng dụng chủ khách Toàn bộ cấp độbảo mật và an toàn của thông tin/dữ liệu phụ thuộc vào một số tham số: (i) sốnhận dạng theo phiên làm việc ngẫu nhiên; (ii) cấp độ bảo mật của các thuậttoán bảo mật áp dụng cho SSL; và (iii) độ dài của khoá chính (key length) sửdụng cho lược đồ mã hoá thông tin
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm(phiên bản 3.0):
1 DES - chuẩn mã hoá dữ liệu (ra đời năm 1977), phát minh và sửdụng của chính phủ Mỹ
2 DSA - thuật toán chữ ký điện tử, chuẩn xác thực điện tử), phát minh
Trang 46 RSA - thuật toán khoá công khai, cho mã hoá va xác thực, phát triểnbởi Rivest, Shamir và Adleman;
7 RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuậttoán RSA;
8 SHA-1 - thuật toán hàm băm an toàn, phát triển và sử dụng bởichính phủ Mỹ
9 SKIPJACK - thuật toán khoá đối xứng phân loại được thực hiệntrong phần cứng Fortezza, sử dụng bởi chính phủ Mỹ
10 Triple-DES - mã hoá DES ba lần
Cơ sở lý thuyết và cơ chế hoạt động của các thuật toán sử dụng về bảomật bên trên hiện nay là phổ biến rộng rãi và công khai, trừ các giải pháp thựchiện trong ứng dụng thực hành vào trong các sản phẩm bảo mật (phần cứng,phần dẻo, phần mềm)
GIAO THỨC SSL
SSL Message
Các bước thực hiện để thiết lập kết nối SSL giữa client và server:
1 Khi browser muốn thiết lập một kết nối SSL với server thì gởi mộtURL bắt đầu bằng https thay vì http
2 Browser sẽ tự động gởi đến server một số thông tin cần thiết để tạokết nối SSL với server như phiên bản SSL, bộ mã …
3 Server sẽ tự động trả lời bằng cách gởi cho browser một digitalcertificate của site cùng với một số thông tin như phiên bản SSL sửdụng, bộ mã…
4 Browser sẽ kiểm tra thông tin chứa trong certificate của server :
Trang 5a Thời gian sử dụng của certificate.
b CA đã ký vào certificate có được tin cậy hay không
c Kiểm tra public key của CA đã tạo ra chữ ký điện tử
d Kiểm tra domain name của certificate server có trùng vớidomain name của server không
5 Nếu việc định danh server thành công thì borwser sẽ phát sinh ramột khoá duy nhất gọi là “session key” để mã hoá tất cả giao tiếp saunày
6 Browser mã hoá session key bằng public key của server và gởi đếncho server
7 Server giải mã dữ liệu nhận được bằng private key (lúc này thì chỉ
có client và server biết session key)
8 Browser gởi một thông điệp đến server để thông báo những thôngđiệp sau này sẽ được mã hoá bằng session key
9 Sever gởi một thông điệp đến client để thông báo những thông điệpsau này sẽ được mã hoá bằng session key
10 Phiên làm việc SSL được thành lập, SSL sẽ sử dụng phương pháp
mã hoá secret key để mã hoá và giải mã dữ liệu trong qúa trình giao tiếp
11 Khi phiên làm việc kết thúc thì session key bị huỷ bỏ
Kiến trúc phân tầng SSL
Kiến trúc phân tầng SSL/TCP
Trang 6Quá trình bắt tay của SSL sử dụng ba giao thức:
SSL Handshake protocol: xác định một phiên làm việc ( thống nhấtsession key, )
SSL Chage Cipher Spec: thống nhất giải thuật mã hoádùng trongphiên làm việc
SSL Alert Protocol: thông báo lổi
Dữ liệu, lệnh của các giao thức này được đóng gói và truyền xuống lớpSSL Record Protocol SSL Record Protocol được truyền xuống lớp dướiTCP, IP
Dữ liệu được phân mảnh, mã hoá, tính digest và truyền xuống cho lớpTCP để gởi đi
Độ tin cậy của SSL: SSL 40bit và SSL 128 bit
SSL cung cấp hai mức độ tin cậy: 40 bit và 128 bit SSL 128 bit và SSL
40 bit ý nói độ dài của session key dùng để mã hoá dữ liệu sau khi đã địnhdanh và thiết lập session key bằng giải thuật public key (RSA hoặc Dellfi-Hellman) Độ dài của khoá session key càng lớn thì độ bảo mật càng tăng.Hiện nay SSL 128 bit có độ tin cậy lớn nhất Theo RSA phải mất hằng tỉnăm mới có thể giải mã được bằng các kỷ thuật hiện nay
Trang 7Các transactions sử dụng SSL 40bit hoặc 128 bit tuỳ thuộc vào khả năngcủa từng browser.
Để có được SSL Certificate 128bit thì ta phải tạo private key 1024 bit
cả các thông tin sau này
SSL 3.0 bổ sung thêm cho SSL 2.0 bằng cách hỗ trợ cho chứng thựcmáy khách (client certificate), giúp server có thể nhận diện ngược lại client.SSL 3.0 hoạt động như SSL 2.0 , nhưng sau khi client đã xác thực server, đếnlượt server sẽ kiểm tra ngược lại client
4.1 Cấu hình SSL
Click Start Programs Administrative Tools Click InternetInformation Services ( IIS ) Click phải vào website cần thiết lập SSL ClickProperties
Trang 8Click Directory Security Tab Click Server Certifcate…
Màn hình Welcome to the Web Server Certificate Wizard xuất hiện,Click Next
Trang 9Trên trang Server Certificate Chọn Create a new Certificate ,sau đó ClickNext
Note: Tại đây bạn có thể Import Certificate có sẵn thì bạn phải làm các bướcsau:
Click Import certificate from a.pfx file Click Next
Trang 10Trong màn hình Import Certificate, Click Browser… đến nơi chứa Certificateđó,sau đó Click Next
Và nhập Password Click Next và tiếp tục bước
Trang 11Trong Delayed or Immediate Request Click Prepare the request now, but send
it later
Màn hình Name and Security Setting
Name :Web test Sau đó Click Next
Trang 12Hoàn thành các thông số sau :
Trang 13Trên Geographical Information Page nhập các thông số sau:
Trang 14Click Next
Click Finish hoàn thành quá trình Configuration SSL
Trang 151.2 Tạo request
Trên Web Server ta sẽ tạo Request đến CA Server
Mở trình duyệt Web Internet Expolorer
Click Request a Certifcate
Click Advance Certificate Request
Trang 16Click Submit a Certfiate request by using a base ……….
Sau đó mở file C:\certreq.txt
Trang 17Copy nội dung của file certreq.txt và dán nó vào trong Request Box
Click Certifiate Template List Click Web Server Click Submit
Sau khi CA server xác nhận và đồng ý cấp Certificate, từ Client vào lại26.0.0.2/certsrv View the status of a pending certificate request Saved-
Trang 18Request Certificate (Tuesday August 29 2006 5:42:02 PM) Chọn DERencoded Click Download Certificate
Click Save về máy Web Server
Trang 194.3 Import Certificate vào Web server
Double Click File certnew.cer vừa Download
Click Install Certificate…
Click Next
Trang 20Click Next
Click Finish hoàn thành quá trình Import Certificate Web Server
Trang 211.3 Certificate Request chưa được giải quyết
Trở lại với IIS trên Client ,nhấp chuột phải vào website cần thiết lập SSL Properties Directory security Server Certificate Next
Chọn Process the Pending request and install the certificate Click Next
Trang 22Click Browser…đến file certnew.cer Click Next
Trên SSL port Page nhập Port 443 Click Next
Trang 23Click Next tiếp tục quá trình đăng ký
Click Finish để hoàn thành
Trang 244.5 User Log on vào Web SSL
Mở trình duyệt Web Internet Explorer
Trên thanh Address nhập : https://26.0.0.3