Bảo mật hệ thống thông tin giao thức ssl

62 3.6K 1
Bảo mật hệ thống thông tin giao thức ssl

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bảo mật hệ thống thông tin giao thức ssl. tài liệu hay, bảo mật tìm hiểu hệ thống giao thức ssl, tài liệu hay dành cho sinh viên các trường đại học cao dẳng, chuyên ngành công nghệ thông tin, dành cho các sinh viên đại học cao đẳng

Giáo viên hướng dẫn : Ths.Lê Phúc Sinh viên thực hiện : Huỳnh Anh Hào Võ Thị Thu Nguyệt Lê Thanh Phong Nguyễn Thị Thanh Thảo Thành phố Hồ Chí Minh 12/2009 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TPHCM KHOA CÔNG NGHỆ THÔNG TIN II  ĐỀ TÀI MÔN BẢO MẬT THÔNG TIN PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 2 MỤC LỤC Giới Thiệu CHƢƠNG I : SECURE SOCKET LAYER & TRANSPORT LAYER SECURITY 5 I.1 Tại sao sử dụng SSL 5 I.2 Kiến trúc SSL 9 I.3 Giao thức SSL Record 10 I.4 Giao thức SSL Change Cipher Spec 13 I.5 Giao thức SSL Alert 13 I.6 Giao thức SSL Handshake 15 I.6.1 Giai đoạn 1 : Thiết lập khả năng bảo mật 16 I.6.2 Giai đoạn 2 : Xác thực server và trao đổi khóa 18 I.6.3 Giai đoạn 3 : Xác thực client và trao đổi khóa 19 I.6.4 Giai đoạn 4 : Kết thúc 19 I.7 Tính toán mã hóa 20 I.7.1 Việc tạo Master Secret 20 I.7.2 Việc sinh các tham số mã hóa 21 I.8 Transport Layer Security 22 I.8.1 Version number 22 I.8.2 Message Authentication Code 22 I.8.3 Hàm tính số ngẫu nhiên 23 I.8.4 Mã cảnh báo 24 I.8.5 Cipher suite 25 I.8.6 Các dạng client certificate 25 I.8.7 Certificate Verify và Finished Message 26 I.8.8 Tính toán mã hóa 26 I.8.9 Phần đệm 26 CHƢƠNG II : JAVA SECURE SOCKET EXTENSION API 27 II.1 Quan hệ giữa các Class 27 II.2 Các Class và Interface chính 28 II.2.1 Lớp SocketFactory và ServerSocketFactory 28 II.2.2 Lớp SSLSocketFactory và SSLServerSocketFactory 28 II.2.3 Lớp SSLSocket và SSLServerSocket 29 PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 3 II.2.4 Non-blocking I/O với SSLEngine 30 II.2.5 Quá trình khởi động 31 II.2.6 Phát sinh và xử lý dữ liệu SSL/TLS 32 II.2.7 Trạng thái hoạt động 34 II.2.8 Blocking Tasks 35 II.2.9 Kết thúc 35 II.2.10 SSLSession Interface 36 II.2.11 Lớp HttpsURLConnection 36 II.3 Các Class và Interface hỗ trợ 37 II.3.1 Lớp SSLContext 38 II.3.2 TrustManager Interface 39 II.3.3 Lớp TrustManagerFactory 39 II.3.4 X509TrustManager Interface 42 II.3.5 KeyManager Interface 44 II.3.6 Lớp KeyManagerFactory 45 II.3.7 X509KeyManager Interface 46 II.3.8 Mối liên hệ TrustManagers và KeyManagers 46 II.4 Các Class và Interface hỗ trợ thứ cấp 47 II.4.1 SSLSessionContext Interface 47 II.4.2 SSLSessionBindingListener Interface 47 II.4.3 Lớp SSLSessionBindingEvent 47 II.4.4 HandShakeCompletedListener Interface 47 II.4.5 Lớp SSLHandShakeCompletedEvent 47 II.4.6 HostnameVerifier Interface 47 II.4.7 Lớp X509Certificate 48 CHƢƠNG III : SSL ATTACK 49 III.1 Các phương pháp tấn công SSL dựa trên kỹ thuật tấn công MITM 49 III.1.1 Diffie Hellman MITM Attack 49 III.1.2 SSL Sniff & SSLSTrip MITM Attack 46 III.2 Demo tấn công SSL Strip 51 CHƢƠNG IV : SSL CAPABILITY 52 IV.1 Các ứng dụng phổ biến của SSL 52 IV.2 Triển khai SSL 54 Tham khảo PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 4 Giới thiệu : Mục tiêu thực hiện đề tài này của những thành viên tham gia là đi sâu tìm hiểu về :  Cấu trúc cũng như cơ chế hoạt động của SSL.  Lập trình xây dựng một web server chạy SSL.  Cách thức tấn công một phiên giao dịch SSL.  Khả năng ứng dụng SSL trong bảo mật thông tin. Đây là lần đầu thực hiện một đề tài lớn nên còn nhiều thiếu sót , mong Thầy và các bạn đóng góp ý kiến để đề tài được hoàn thiện hơn. Chúng em xin cảm ơn sự hướng dẫn nhiệt tình của Thầy Ths.Lê Phúc đã giúp chúng em hoàn thành đề tài này. PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 5 Chương I : I.1 Tại sao sử dụng SSL : 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 và 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ử. Giao thức SSL ban đầu được phát triển bởi Netscape.Version 1.0 thì đã không bao giờ được công bố rộng rãi.Version 2.0 được công bố vào tháng 2/1995 nhưng chứa nhiều lỗ hỏng bảo mật và sau cùng đưa đến mô hình SSL version 3.0 được ban hành năm 1996.Bản sau cùng này được dùng cho TLS version 1.0 và được IETF xác định như một giao thức chuẩn trong RFC 2246 vào tháng 1/1999. Ngày nay Visa, MasterCard, American Express cũng như nhiều công ty 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ử. 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. SSL giải quyết các vấn đề trên.SSL giải quyết vấn đề đầu tiên bằng cách cho phép 1 cách tùy chọn mỗi bên trao đổi có thể chắc chắn về định danh của phía đối tác trong 1 quá trình gọi là authentication (xác thực).Một khi các bên đã được xác thực,SSL cung cấp 1 kết nối được mã hóa giữa 2 bên để truyền bảo mật các message .Việc mã hóa trong quá trình trao đổi thông tin giữa 2 bên cung cấp sự riêng tư bí mật,vì vậy mà giải quyết được vấn đề thứ 2.Thuật toán mã hóa được sử dụng với SSL bao gồm hàm băm mã hóa,tương tự như 1 checksum.Nó đảm bảo rằng dữ liệu không bị thay đổi trong quá trình truyền dẫn.Hàm băm mã hóa giải quyết vấn đề thứ 3,tính toàn vẹn dữ liệu. Chú ý rằng,cả xác thực và mã hóa đều là tùy chọn, và phụ thuộc vào cipher suites (các bộ mã hóa) được đàm phán giữa 2 đối tượng. Một ví dụ rõ ràng nhất mà trong đó bạn nên sử dụng SSL là trao đổi thông tin giao dịch qua mạng (e- commerce).Trong trao đổi e-commerce,thật dại dột khi giả định rằng bạn có thể chắc chắn về định danh của server mà bạn đang trao đổi thông tin.Ai đó có thể dễ dàng tạo ra 1 Website giả hứa hẹn các dịch vụ tuyệt vời ,chỉ để cho bạn nhập vào đó số tài khoản.SSL cho phép bạn, client,xác thực về định danh của server.Nó cũng cho phép server xác thực định danh của client,mặc dù trong các giao tác Internet,việc này hiếm khi được làm. PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 6 Một khi client và server đã hài lòng với định danh của mỗi bên đối tác.SSL cung cấp tính bảo mật và tính toàn vẹn thông qua các thuật toán mã hóa mà nó sử dụng.Điều này cho phép các thông tin nhạy cảm,như số tài khoản,được truyền đi 1 cách an toàn trên Internet. Trong khi SSL cung cấp tính xác thực,tính bảo mật và toàn vẹn dự liệu,nó không cung cấp non-repudiation (tính không từ chối).Non-repudiation có nghĩa là khi 1 đối tượng gửi đi 1 message ,thì sau đó không thể phủ nhận việc mình đã gửi message đó.Khi 1 chữ kí số tương đương được liên kết với 1 message,việc trao đổi này sau đó có thể được chứng minh.SSL 1 mình nó không cung cấp non-repudiation. Tiến trình SSL: Việc trao đổi trên mạng sử dụng SSL bắt đầu với việc trao đổi thông tin qua lại giữa client và server.Sự trao đổi thông tin này gọi là SSL handshake. Ba mục tiêu chính của SSL handshake là: Đàm phán cipher suite. Xác thực định danh (tùy chọn). Hình thành cơ chế bảo mật thông tin, bằng cách thỏa thuận các cơ chế mã hóa. Đàm phán Cipher suite : Một phiên SSL bắt đầu với việc đàm phán giữa client và server xem cipher suite nào mà chúng sẽ sử dùng.Một cipher suite là 1 tập các thuật toán mã hóa và kích thước khóa mà máy tính có thể dùng để mã hóa dữ liệu.Một cipher suite bao gồm thông tin về các thuật toán trao đổi khóa công khai và các thuật toán thỏa thuận khóa,và các hàm băm mã hóa.Client nói với server các cipher suite nào nó có sẵn và server lựa chọn cipher suite tốt nhất có thể chấp nhận. Xác thực server : Trong SSL,bước xác thực là tùy chọn,nhưng trong ví dụ về giao tác e-commerce trên Web, client theo thông thường sẽ muốn xác thực server.Việc xác thực server cho phép client chắc chắn rằng chính server này đại diện cho đối tượng mà client tin tưởng. Để chứng minh server thuộc về tổ chức mà nó khẳng định là nó đại diện,server phải trình chứng chỉ khóa công khai của nó cho client.Nếu chứng chỉ này là hợp lệ ,client có thể chắc chắn về định danh của server. Thông tin trao đổi qua lại giữa client và server cho phép chúng thỏa thuận 1 khóa bí mật chung.Ví dụ,với RSA,client dùng khóa công khai của server,có được từ chứng chỉ khóa công khai, để mã hóa thông tin khóa bí mật.Client gửi thông tin khóa bí mật đã được mã hóa đến server.Chỉ có server mới có thể giải mã cái message này bởi vì quá trình giải mã phải cần đến khóa riêng của server. Gửi dữ liệu đã mã hóa: Bây giờ,cả client và server có thể truy cập đến khóa bí mật chung.Với mỗi message ,chúng dùng đến hàm băm mã hóa,đã được chọn trong bước thứ nhất của tiến trình này,và chia sẻ thông tin bí mật,để tính toán 1 HMAC nối thêm vào message.Sau đó,chúng dùng khóa bí mật và thuật toán khóa bí mật đã được đàm phán ở bước đầu tiên của tiến trình này để mã hóa dữ liệu và HMAC an toàn.Client và server giờ đây có thể trao đổi thông tin với nhau 1 cách an toàn với các dữ liệu đã băm và mã hóa. Giao thức SSL: PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 7 Phần trước cung cấp sự mô tả sơ lược về SSL handshake, là sự trao đổi thông tin giữa client và server trước khi gửi các message đã được mã hóa.Phần này mô tả chi tiết hơn.Hình sau minh họa chuỗi tuần tự các message được trao đổi trong SSL handshake.Các message mà chỉ được gửi trong 1 trường hợp nào đó được đánh dấu là tùy chọn. Hình II: Các message SSL Client Server Các message SSL được gửi theo thứ tự sau: 1) Client hello: client gửi đến server các thông tin bao gồm phiên bản SSL cao nhất và 1 danh sách các cipher suite mà nó hỗ trợ. (TLS 1.0 được chỉ ra như là SSL3.1).Thông tin cipher suite bao gồm các thuật toán mã hóa và kích thước khóa. 2) Server hello: server chọn ra phiên bản SSL cao nhất và cipher suite tốt nhất mà cả client và server hỗ trợ, và gửi thông tin này về cho client. 3) Certificate: server gửi cho client 1 chứng chỉ hoặc 1 chuỗi chứng chỉ.Về cơ bản,1 chuỗi chứng chỉ bắt đầu bằng chứng chỉ khóa công khai của server và kết thúc bằng chứng chỉ gốc của tổ chức có thẩm quyền chứng chỉ.Message này là tùy chọn,nhưng nó được dùng bất cứ khi nào xác thực server là cần thiết. 4) Certificate request: nếu server cần xác thực client,nó gửi cho client 1 yêu cầu xem chứng chỉ.Trong các ứng dụng internet,message này hiếm khi được gửi đi. 1.Client hello 7.Certificate tùy chọn 8.Client key exchange 9.Certificate verify tùy chọn 10.Change cipher spec 11.Finish 14.Encrypted data 15.Close messages 2.Server hello 3.Certificate tùy chọn 4.Certificate request tùy chọn 5.Server key exchange tùy chọn 6.Server hello done 12.Change cipher spec 13.Finished 14.Encrypted data 15.Close message PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 8 5) Server key exchange: server gửi cho client 1 message trao đổi khóa server trong khi khóa công khai được gửi ở phần 3) bên trên thì không đủ cho trao đổi khóa. 6) Server hello done: server nói với client rằng nó hoàn thành các message đàm phán ban đầu. 7) Certificate: nếu server cần chứng chỉ từ client trong message 4, client gửi chuỗi chứng chỉ của nó,cũng giống như server làm trong message 3. 8) Client key exchange: client sinh ra thông tin được dùng để tạo ra khóa trong mã hóa đối xứng.Với RSA, client mã hóa thông tin khóa này bằng khóa công khai của server rồi gửi nó đến server. 9) Certificate verify: message này được gửi khi client trình ra chứng chỉ như trên.Mục tiêu của nó là cho phép server hoàn thành tiến trình xác thực client.Khi message này được dùng,client gửi thông tin với chữ kí số tạo bằng hàm băm mã hóa.Khi server giải mã thông tin này bằng khóa công khai của client,server có thể xác thực client. 10) Change cipher spec: client gửi message bảo server thay đổi kiểu mã hóa. 11) Finished: client nói với server rằng nó sẵn sàng để bắt đầu trao đổi dữ liệu an toàn. 12) Change cipher spec: server gửi message bảo client thay đổi kiểu mã hóa. 13) Finished: server nói với client rằng nó sẵn sàng để bắt đầu trao đổi dữ liệu an toàn.Kết thúc SSL handshake. 14) Encrypted data: client và server trao đổi với nhau,sử dụng thuật toán mã hóa đối xứng và hàm băm mã hóa đã đàm phán ở message 1 và 2,và dùng khóa bí mật mà client gửi cho server trong message 8. 15) Closed messages : Kết thúc 1kết nối,mỗi bên gửi 1 message close-notify để thông báo đầu kia biết kết nối bị đóng. Nếu các tham số được sinh ra trong 1 phiên SSL được lưu lại,các tham số này có thể thỉnh thoảng được dùng lại cho các phiên SSL sau.Việc lưu lại các tham số phiên SSL cho phép các trao đổi bảo mật về sau được bắt đầu nhanh chóng hơn. Lựa chọn Cipher suite và xóa Entity verification: Giao thức SSL/TLS định nghĩa 1 chuỗi các bước đặc biệt để bảo đảm 1 kết nối “được bảo vệ”.Tuy nhiên,việc lựa chọn Cipher suite sẽ tác động trực tiếp đến loại bảo mật mà kết nối có được.Ví dụ,nếu 1 cipher suite nặc danh được chọn,ứng dụng không có cách nào để kiểm tra định danh của đầu xa.Nếu 1 suite-không có mã hóa, được chọn,tính bí mật của dữ liệu không thể được bảo vệ.Thêm vào đó,giao thức SSL/TLS không chỉ rõ rằng những tài liệu chứng nhận nhận được phải khớp với những cái mà đầu kia gửi.Nếu kết nối theo cách nào đó mà bị redirect đến 1 kẻ xấu,nhưng tài liệu chứng nhận của kẻ xấu này khi trình ra thì được chấp nhận dựa trên những tư liệu tin tưởng hiện tại,kết nối này sẽ được xét là hợp lệ. Khi dùng SSLSockets/SSLEngines,nên luôn luôn kiểm tra tài liệu chứng nhận của đầu xa trước khi gửi bất kì dữ liệu nào.Các lớp SSLSockets và SSLEngines không tự động kiểm tra hostname trong URL có khớp với hostname trong tài liệu chứng nhận của đầu kia hay không.Một ứng dụng có thể bị khai thác bằng URL spoofing nếu hostname không được kiểm tra. Các giao thức như HTTPS cần thiết phải kiểm tra hostname.Các ứng dụng có thể dùng HostnameVerifier để viết chồng lên luật hostname HTTPS mặc định . PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 9 I.2 Kiến trú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. Hình I.1 : Chồng giao thức SSL SSL Handshake Protocol SSL Change Cypher Spec Protocol SSL Alert Protocol HTTP SSL Record Protocol TCP IP 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 và được xét đến trong phần sau. Hai khái niệm SSL quan trọng là SSL session (phiên SSL) và SSL connection ( kết nối SSL) ,được định nghĩa như sau: Connection ( kết nối): 1 kết nối là 1 transport _ trong định nghĩa mô hình phân lớp OSI_ cung cấp 1 loại dịch vụ thích hợp.Với SSL,những kết nối như vậy là những mối quan hệ ngang hàng.Các kết nối thì trao đổi nhanh chóng.Mỗi kết nối gắn với 1 phiên. Session (phiên): 1 phiên SSL là 1 liên kết giữa 1 client và 1 server.Các phiên được tạo ra bằng Handshake Protocol (giao thức bắt tay).Các phiên định nghĩa 1 tập các tham số bảo mật bằng mật mã,có thể được chia sẻ giữa nhiều kết nối.Các phiên được dùng để tránh những đàm phán tốn kém_về các tham số bảo mật mới_cho mỗi kết nối. Giữa bất kì 1 cặp của nhóm nào (các ứng dụng như HTTP trên client hay server),có thể có nhiều kết nối bảo mật .Về lý thuyết ,có thể có nhiều phiên đồng thời giữa các nhóm,nhưng đặc trưng này không được dùng trong thực tiễn. Thực sự có nhiều trạng thái gắn với mỗi phiên.Một khi 1 phiên được thành lập,có trạng thái hoạt động hiện thời cho cả đọc và ghi, (như nhận và gửi ).Thêm vào đó, trong suốt quá trình Handshake Protocol, trạng thái treo đọc và ghi được tạo ra.Dựa trên kết luận thành công của Handshake Protocol,các trạng thái treo trở thành trạng thái hiện thời. -Một trạng thái phiên được định nghĩa bởi các thông số sau (các định nghĩa lấy từ đặc trưng SSL): Session Identifier : 1 chuỗi byte bất kì được chọn bởi server để nhận dạng trạng thái phiên là hoạt động (active) hay phục hồi lại (resumable). Peer certificate: một chứng chỉ X509.v3.Thành phần này của trạng thái có thể là null. Compression method: thuật toán được dùng để nén dữ liệu trước khi mã hóa. PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 10 Cypher spec : chỉ ra thuật toán mã hóa dữ liệu (như rỗng,AES…) và thuật toán băm (như MD5 hay SHA- 1) sử dụng để tính toán MAC.Nó cũng định nghĩa các thuộc tính mã hóa như hash-size. Master secret : 48 byte bí mật được chia sẻ giữa client và server. Is resumable : một cờ chỉ ra rằng phiên này có thể được dùng để khởi tạo các kết nối khác hay không. -Một trạng thái kết nối được định nghĩa bởi các tham số sau: Server and client random: các chuỗi byte được chọn bởi server và client cho mỗi kết nối. Server write MAC secret: khóa bí mật được sử dụng bởi phép tính MAC trên dữ liệu, được gửi bởi server. Client write MAC secret: khóa bí mật được sử dụng bởi phép tính MAC trên dữ liệu,được gửi bởi client. Server write key: khóa mã hóa quy ước cho dữ liệu được mã hóa bởi server và giải mã bởi client. Client write key :khóa mã hóa quy ước cho dữ liệu được mã hóa bởi client và giải mã bởi server. Initialization vectors: khi 1 khối mã trong mode CBC được dùng, một vector khởi tạo (IV) được duy trì cho mỗi key.Phần này được khởi tạo trước tiên bởi SSL Handshake Protocol.Sau đó,khối mã hóa cuối cùng từ mỗi record được để dành lại để dùng làm IV cho record sau . Sequence number : mỗi bên duy trì các sequence number riêng cho mỗi message được truyền hoặc được nhận trong mỗi kết nối.Khi 1 bên gửi hoặc nhận một change cypher spec message,sequence number thích hợp được thiết lập về 0.Sequence number không thể vượt quá 2 64 -1. I.3 Giao thức SSL Record : 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ụng cho 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). Hình sau chỉ ra toàn bộ hoạt động của SSL Record Protocol.SSL Record Protocol nhận 1 message ứng dụng sắp được truyền đi,phân mảnh dữ liệu thành nhiều block,nén dữ liệu 1 cách tùy chọn,áp dụng vào 1 MAC,mã hóa,thêm vào header,và truyền khối kết quả thu được trong 1 segment TCP.Dữ liệu nhận được được giải mã,kiểm tra ,giải nén,sắp xếp lại và phân phối đến người sử dụng ở lớp cao hơn. [...]... Đề tài môn Bảo mật thông tin I.6 Giao thức SSL Handshake : Phần „khó nuốt‟ nhất của SSLgiao thức 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 Giao thức SSL Handshake... 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 I.5 Giao thức SSL Alert : Giao thức SSL Alert được dùng để... tiên là các giao thức đặc trưng -SSL, được bàn đến trong phần kế tiếp.Chú ý rằng không có sự khác biệt nào được tạo ra giữa các ứng dụng (như HTTP ) có thể dùng SSL, nội dung dữ liệu được tạo ra bởi các ứng dụng đó thì không trong suốt đối với SSL Secure Socket Layer 12 PTIT 2009 Đề tài môn Bảo mật thông tin Hình sau minh họa định dạng SSL record I.4 Giao thức SSL Change Cipher Spec : Giao thức SSL Change... của các thông điệp trao đổi Secure Socket Layer 26 PTIT 2009 Đề tài môn Bảo mật thông tin Chương II : II.1 Quan hệ giữa các Class : Để liên lạc một cách bảo mật, cả hai đầu của kết nối phải kích hoạt SSL Trong JSSE API, những lớp đầu cuối của kết nối là SSLSocket và SSLEngine Trong biểu đồ bên dưới, những class lớn được dùng để tạo SSLSocket/SSLEngines được sắp xếp theo trật tự logic Một SSLSocket... Layer 15 PTIT 2009 Đề tài môn Bảo mật thông tin Hình I.5b Cơ chế giao thức SSL Handshake I.6.1 Giai đoạn 1 – Thiết lập khả năng bảo mật : Giai đoạn này được dung để bắt đầu một kết nối logic và thiết lập khả năng bảo mật mà sẽ liên kết với nó.Việc trao đổi thì được khởi tạo bởi client bằng việc gửi một client_hello message với những thông số sau đây: Version: version SSL mới nhất mà client biết Random:... cấp dữ liệu mà nó muốn gửi đến SSLEngine thông qua SSLEngine.wrap() để thu được dữ liệu đã mã hóa SSL/ TLS tương ứng.Ứng dụng sau đó gửi dữ liệu cho đầu bên theo cơ chế vận chuyển mà nó đã chọn Khi ứng dụng nhận được dữ liệu đã mã hóa SSL/ TLS qua cơ chê Secure Socket Layer 32 PTIT 2009 Đề tài môn Bảo mật thông tin vận chuyển, nó cung cấp dữ liệu này cho SSLEngine thông qua SSLEngine.unwrap() để thu được... phương thức available()trên đối tượng đạt được từ SSLSocket.getInputStream()trả về tổng số của bytes dữ liệu ứng dụng giải mã thành công từ kết nối kết nối SSL nhưng lúc này chưa đọc bởi ứng dụng Tạo một SSLSocket : SSLSocket có thể tạo được bằng hai cách Thứ nhất, một SSLSocket có thể tạo bởi SSLSocketFactory qua một vài phương thức createSocket trên lớp đó Cách thứ hai tạo SSLSockets qua phương thức. .. được tạo bởi một SSLSocketFactory hoặc một SSLServerSocket cho việc nhận vào một kết nối inbound.( mặt khác, một SSLServerSocket được tạo bởi một SSLServerSocketFactory) Cả các đối tượng SSLSocketFactory và SSLServerSocketFactory được tạo bởi SSLContext Một SSLEngine được tạo một cách trực tiếp bởi SSLContext, và dựa vào ứng dụng để quản lý tất cả I/O Ghi chú: Khi sử dụng SSLSockets/SSLEngines ta nên... liệu Lớp SSLSocket/SSLEngine sẽ không tự động xác minh, ví dụ hostname trong một URL trùng với hostname trong xác thực đầu cuối Ứng dụng có thể bị lợi dụng URL spoofing nếu hostname không được xác minh Có hai cách để sử dụng và khởi tạo một SSLContext: Secure Socket Layer 27 PTIT 2009 Đề tài môn Bảo mật thông tin Đơn giản nhất là gọi phương thức tĩnh getDefault trên lớp SSLSocketFactory hoặc SSLServerSocketFactory... 11 PTIT 2009 Đề tài môn Bảo mật thông tin  SSLCompressed.type: giao thức ở lớp trên được dùng để xử lí phân mảnh này  SSLCompressed.length: chiều dài của phân mảnh đã được nén  SSLCompressed.fragment: phân mảnh đã được nén (nếu nén không được dùng, phân mảnh ở dạng plaintext) Chú ý rằng,cái này tương tự như thuật toán HMAC.Điểm khác biệt là 2 phần đệm (pad) được || trong SSLv3 và được XOR trong . SECURITY 5 I.1 Tại sao sử dụng SSL 5 I.2 Kiến trúc SSL 9 I.3 Giao thức SSL Record 10 I.4 Giao thức SSL Change Cipher Spec 13 I.5 Giao thức SSL Alert 13 I.6 Giao thức SSL Handshake 15 I.6.1 Giai. 12/2009 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TPHCM KHOA CÔNG NGHỆ THÔNG TIN II  ĐỀ TÀI MÔN BẢO MẬT THÔNG TIN PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer. suốt đối với SSL. PTIT 2009 Đề tài môn Bảo mật thông tin Secure Socket Layer 13 Hình sau minh họa định dạng SSL record. I.4 Giao thức SSL Change Cipher Spec : Giao thức SSL Change

Ngày đăng: 01/07/2014, 15:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan