Khóa luận Nghiên cứu sử dụng công nghệ bảo mật ssl/tls

Được thiết kếbởi Netscape bao gồm các cơchếbảo mật trong các sản phẩm trình duyệt đểtạo ra truyền thông an toàn trên mạng, SSL (Secure Sockets Layer) hiện đang là giao thức bảo mật được sửdụng phổbiến trên Internet nhất là trong các hoạt động thương mại điện tử. Ban đầu, SSL được thiết kếkết hợp cùng với giao thức HTTP được sửdụng bởi các Web server và browser, nhưng bây giờnó đã là một thành phần quan trọng trong mọi loại truyền thông Internet bảo mật. Việt Nam đang trên đường hội nhập với nền công nghệthông tin thếgiới, các hoạt động giao dịch trên mạng ởViệt Nam cũng sẽdiễn ra sôi nổi, khi đó vấn đềbảo mật trởnên quan trọng, việc triển khai SSL là điều cần thiết. Tuy nhiên đến nay hầu hết các website ởViệt Nam đều chưa sửdụng SSL trong các giao dịch của mình. Trong khoá luận này, em tiến hành nghiên cứu chi tiết vềgiao thức bảo mật SSL và cách triển khai chúng trên Internet Information Service (IIS) và Windows Server Enterprise 2003. Chúng tôi hy vọng rằng với khoá luận này sẽ đem đến cái nhìn cụthểhơn vềSSL và bảo mật mạng, tầm quan trọng của nó cũng như ứng dụng trong thực tế.

pdf86 trang | Chia sẻ: lvbuiluyen | Lượt xem: 3503 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu sử dụng công nghệ bảo mật ssl/tls, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đặng Thị Huê NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬT SSL/TLS KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành : Công nghệ thông tin Cán bộ hướng dẫn: PGS.TS. Trịnh Nhật Tiến HÀ NỘI - 2005 Trang i Lời cảm ơn Em xin gửi lời cảm ơn chân thành tới thầy giáo hướng dẫn PGS.TS Trịnh Nhật Tiến đã tận tình hướng dẫn, cho em những định hướng và ý kiến quý báu cùng sự trực tiếp chỉ bảo của chị Trương Thị Thu Hiền đã giúp em hoàn thành tốt luận văn tốt nghiệp. Em chân thành cảm ơn tất cả các thầy cô trong Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã nhiệt tình giảng dạy và giúp đỡ em trong quá trình học tập tại trường. Con xin gửi đến Bố Mẹ và gia đình tình thương yêu và lòng biết ơn. Bố Mẹ và gia đình luôn là nguồn động viên của con và là chỗ dựa vững chắc cho cuộc đời con. Tôi xin cảm ơn các bạn cùng lớp đã động viên và giúp đỡ tôi trong thời gian thực hiện luận văn này. Vì thời gian có hạn, khoá luận tốt nghiệp của em không tránh khỏi khiếm khuyết. Rất mong nhận được sự góp ý của thầy cô và các bạn Hà Nội, ngày 06 tháng 06 năm 2005. Sinh viên Đặng Thị Huê Trang ii Tóm tắt Được thiết kế bởi Netscape bao gồm các cơ chế bảo mật trong các sản phẩm trình duyệt để tạo ra truyền thông an toàn trên mạng, SSL (Secure Sockets Layer) hiện đang là giao thức bảo mật được sử dụng phổ biến trên Internet nhất là trong các hoạt động thương mại điện tử. Ban đầu, SSL được thiết kế kết hợp cùng với giao thức HTTP được sử dụng bởi các Web server và browser, nhưng bây giờ nó đã là một thành phần quan trọng trong mọi loại truyền thông Internet bảo mật. Việt Nam đang trên đường hội nhập với nền công nghệ thông tin thế giới, các hoạt động giao dịch trên mạng ở Việt Nam cũng sẽ diễn ra sôi nổi, khi đó vấn đề bảo mật trở nên quan trọng, việc triển khai SSL là điều cần thiết. Tuy nhiên đến nay hầu hết các website ở Việt Nam đều chưa sử dụng SSL trong các giao dịch của mình. Trong khoá luận này, em tiến hành nghiên cứu chi tiết về giao thức bảo mật SSL và cách triển khai chúng trên Internet Information Service (IIS) và Windows Server Enterprise 2003. Chúng tôi hy vọng rằng với khoá luận này sẽ đem đến cái nhìn cụ thể hơn về SSL và bảo mật mạng, tầm quan trọng của nó cũng như ứng dụng trong thực tế. Trang iii MỤC LỤC Chương 1 MỘT SỐ VẤN ĐỀ VỀ BẢO MẬT ......................................................5 1.1 Vấn đề an toàn mạng .......................................................................................5 1.1.1 Giao thức bảo mật ngăn cách (tách rời) ......................................................5 1.1.2 Bảo mật đặc tả ứng dụng .............................................................................6 1.1.3 Bảo mật với các giao thức trung tâm...........................................................7 1.1.4 Giao thức bảo mật song song ......................................................................8 1.2 Vấn đề mã hoá .................................................................................................9 1.2.1 Khái niệm mã hoá........................................................................................9 1.2.2 Hệ mã hoá đối xứng ..................................................................................10 1.2.3 Hệ mã hoá phi đối xứng ............................................................................10 1.2.4 Chứng chỉ khoá công khai.........................................................................11 1.3 Vấn đề ký số ..................................................................................................12 1.4 Vấn đề xác thực số.........................................................................................13 Chương 2 KHE CẮM AN TOÀN (SSL) .............................................................16 2.1 Tổng quan về SSL .........................................................................................16 2.1.1 Lịch sử SSL ...............................................................................................16 2.1.2 Cơ bản về SSL...........................................................................................16 2.1.3 SSL và ứng dụng thương mại điện tử........................................................19 2.2 Giao thức bản ghi (Record Protocol).............................................................20 2.3 Giao thức ChangeCipherSpec .......................................................................23 2.4 Giao thức cảnh báo (Alert Protocol) .............................................................23 2.4.1 Kiểu Closure Alert.....................................................................................24 2.4.2 Kiểu Error Alert.........................................................................................24 2.5 Giao thức bắt tay (Handshake Protocol) .......................................................25 2.5.1 Giai đoạn 1 : Các thông điệp Hello cho kết nối logic ...............................28 • 1. Thông điệp HelloRequest ......................................................................28 • 2. Thông điệp ClientHello .........................................................................28 2.5.2 Giai đoạn 2 : Xác thực Server và trao đổi khoá ........................................30 Trang iv • 4. Thông điệp ServerCertificate ................................................................30 • 5. Thông điệp ServerKeyExchange...........................................................32 • 6. Thông điệp CertificateRequest ..............................................................34 • 7. Thông điệp ServerHelloDone................................................................36 2.5.3 Giai đoạn 3 : Xác thực Client và trao đổi khoá .........................................36 • 8. Thông điệp ClientCertificate .................................................................36 • 9. Thông điệp ClientKeyExchange ...........................................................37 • 10. Thông điệp CertificateVerify ..............................................................38 2.5.4 Giai đoạn 4 : Kết thúc kết nối bảo mật......................................................40 • 11. Thông điệp ChangeCipherSpec...........................................................40 • 12. Thông điệp Finished ............................................................................41 2.5.5 Xác thực Server, xác thực client................................................................42 2.5.5.1 Xác thực Server .................................................................................42 2.5.5.2 Xác thực Client..................................................................................43 2.6 Bảo mật của SSL ...........................................................................................45 2.6.1 Các hệ mã hoá sử dụng với SSL................................................................45 2.6.2 Bảo mật của SSL .......................................................................................46 2.7 Ưu điểm và hạn chế của SSL/TLS ................................................................48 2.7.1 Ưu điểm của SSL.......................................................................................48 2.7.2 Hạn chế của SSL .......................................................................................49 2.7.2.1 Các giới hạn giao thức cơ bản ...........................................................49 2.7.2.2 Giới hạn công cụ................................................................................51 2.7.2.3 Các giới hạn môi trường....................................................................51 2.7.3 Tối ưu hoá SSL..........................................................................................52 2.7.3.1 Công nghệ tăng tốc giao dịch SSL ....................................................53 2.7.3.2 Tăng tốc SSL với vấn đề duy trì website (Web site persistence)......55 2.7.3.3 Tăng tốc SSL và content switch ........................................................55 2.7.3.4 Quá trình phát triển của bộ tăng tốc SSL ..........................................56 2.7.3.5 Bộ tăng tốc SSL của SonicWALL ....................................................56 2.7.3.6 Các đặc điểm nổi bật và lợi ích của SonicWALL SSL Offloader ....57 2.7.3.7 Các phương án triển khai...................................................................59 Chương 3 BẢO MẬT TẦNG GIAO VẬN (TLS)...............................................61 3.1 Giới thiệu tổng quan ......................................................................................61 Trang v 3.2 Thông điệp giao thức cảnh báo .....................................................................62 3.3 Xác thực thông điệp.......................................................................................63 3.4 Sinh nguyên liệu khoá ...................................................................................64 3.5 Xác nhận chứng chỉ .......................................................................................67 3.6 Thông điệp Finished ......................................................................................67 3.7 Các bộ mã cơ sở ............................................................................................68 Chương 4 SỬ DỤNG GIAO THỨC SSL/TLS....................................................69 Tài liệu tham khảo.......................................................................................................77 Trang vi Danh sách hình vẽ Hình 1. Vị trí SSL trong mô hình giao thức bảo mật tách rời .........................................5 Hình 2 Bảo mật có thể được gắn trực tiếp vào giao thức ứng dụng................................6 Hình 3. IPSec...................................................................................................................7 Hình 4. Giao thức ứng dụng sử dụng Kerberos...............................................................8 Hình 5. SSL tính toán một mã thông điệp.....................................................................14 Hình 6. Vị trí SSL trong mô hình OSI...........................................................................17 Hình 7. Vị trí giao thức bản ghi trong giao thức SSL ...................................................21 Hình 8. Các giai đoạn thi hành của giao thức bản ghi...................................................21 Hình 9. Cấu trúc một thông điệp SSL Record...............................................................22 Hình 10. Thông điệp ChangeCipherSpec......................................................................23 Hình 11. Định dạng thông điệp Alert ............................................................................24 Hình 12. Vị trí giao thức bắt tay....................................................................................25 Hình 13. Tiến trình bắt tay ............................................................................................26 Hình 14. Thông điệp Certificate....................................................................................31 Hình 15. ServerKeyExchange mang các tham số Diffie-Hellman................................32 Hình 16. ServerKeyExchange mang các tham số RSA.................................................33 Hình 17. ServerKeyExchange sử dụng Fortezza...........................................................33 Hình 18. Server ký một hàm băm của các tham số ServerKeyExchange .....................34 Hình 19. Thông điệp CertificateRequest .......................................................................35 Hình 20. Thông điệp ServerHelloDone.........................................................................36 Hình 21. Thông điệp ClientKeyExchange với RSA .....................................................37 Hình 22. Thông điệp ClientKeyExchange với Diffie-Hellman.....................................38 Hình 23. Thông điệp ClientKeyExchange với Fortezza ...............................................38 Hình 24. CertificateVerify.............................................................................................39 Hình 25. Thông điệp Finished .......................................................................................41 Trang vii Hình 26. Thông điệp Finish bao gồm một hàm băm.....................................................42 Hình 27. Quá trình xác thực server ...............................................................................43 Hình 28. Quá trình xác thực client ................................................................................45 Hình 29. Một bộ tăng tốc trực tuyến .............................................................................54 Hình 30. TLS sử dụng HMAC để sinh đầu ra giả ngẫu nhiên ......................................65 Hình 31. Hàm giả ngẫu nhiên của TLS sử dụng cả MD5 và SHA ...............................66 Hình 32. TLS sử dụng PRF để tạo ra master secret và nguyên liệu khoá.....................67 Hình 33. TLS sử dụng PRF cho các thông điệp Finished .............................................68 Danh sách bảng biểu Bảng 1. Giá trị các kiểu chứng chỉ ................................................................................35 Bảng 2. Sự khác biệt giữa SSL v3.0 và TLSv1.0..........................................................61 Bảng 3. Các thay đổi trong giao thức cảnh báo.............................................................62 Bảng 4. Các bước sinh một đầu ra giả ngẫu nhiên ........................................................64 Trang viii Bảng chú giải một số cụm từ viết tắt CA Certificate Authority (Tổ chức cấp chứng chỉ) Client Máy khách HTTP HyperText Transfer Protocol (Giao thức truyền siêu văn bản) IETF Internet Engineering Task Force LDAP Lightweight Directory Access Protocol MAC Message Authentication Code (Mã xác thực thông điệp) Server Máy chủ SSL Secure Sockets Layer (Khe cắm an toàn) TCP/IP Transfer Control Protocol/Internet Protocol TLS Transport Layer Security (Bảo mật tầng giao vận) Giới thiệu Nghiên cứu sử dụng công nghệ SSL/TLS Đặng Thị Huê Trang 1 Giới thiệu Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều các hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin trên đường truyền. Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường truyền. Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ mạng TCP/IP nào, SSL (Secure Sockets Layer) đã kết hợp những yếu tố sau để thiết lập được một giao dịch an toàn : đó là khả năng bảo mật thông tin, xác thực và toàn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các browser và Web server, cho phép người sử dụng làm việc với các trang Web ở chế độ an toàn. Khi Web browser sử dụng kết nối SSL tới server, biểu tượng ổ khóa sẽ xuất hiện trên thanh trạng thái của cửa sổ browser và dòng “http” trong hộp nhập địa chỉ URL sẽ đổi thành “https”. Một phiên giao dịch HTTPS sử dụng cổng 443 thay vì sử dụng cổng 80 như dùng cho HTTP.Tuy nhiên, mặt trái của SSL là làm chậm lại hiệu nǎng thực hiện của ứng dụng. Mức sử dụng tài nguyên hệ thống CPU đòi hỏi trong tiến trình mã hoá và giải mã cho một trang SSL có thể cao hơn từ 10 đến 100% so với các trang không được bình thường. Nếu máy chủ có lưu lượng các trang SSL cao, có thể chúng ta phải cân nhắc tới việc sử dụng thêm một bộ tǎng tốc SSL phần cứng. Đề tài luận văn đề cập đến thuộc lĩnh vực an toàn, xác thực và bảo mật thông tin trên mạng. An toàn thông tin là một yêu cầu rất quan trọng trong việc truyền dữ liệu trên mạng đặc biệt là với các giao dịch thương mại điện tử, còn xác thực là một trong những mục tiêu trọng tâm của các website học tập trực tuyến. Những hậu quả do rò rỉ thông tin gây ra là rất lớn và khó có thể lường hết được. Ngày nay, dù ở Việt Nam, các nhà quản trị mạng đã bắt đầu quan tâm tới lĩnh vực này, nhưng thực sự vẫn chưa có nhiều nghiên cứu được tiến hành chi tiết và việc ứng dụng còn là rất hạn chế. Với xu thế phát triển hiện nay, trên con đường hội nhập với nền công nghệ thông tin của thế giới, chúng ta cần có những hiểu biết sâu sắc và toàn diện về an toàn và bảo mật thông tin. Từ những vấn đề nêu trên, luận văn đã thực hiện việc tiến hành những nghiên cứu chi tiết về một công nghệ bảo mật và xác thực mạng hiện nay đang được sử dụng rất phổ biến là Secure Sockets Layer (SSL), giao thức bảo mật tầng giao vận. Đồng thời cũng đưa ra giới thiệu công nghệ tăng tốc SSL, được sử dụng nhằm tăng hiệu Giới thiệu Nghiên cứu sử dụng công nghệ SSL/TLS Đặng Thị Huê Trang 2 năng của Website. Với khoá luận này, em muốn mang lại cái nhìn chi tiết hơn về công nghệ bảo mật SSL, hy vọng rằng nó sẽ được áp dụng rộng rãi ở Việt Nam trong một tương lai không xa. Nội dung khoá luận được trình bày bao gồm các phần sau : Chương 1 trình bày một số phương pháp bảo mật mạng cùng với các khái niệm cơ bản về mã hoá, xác thực, ký số… Có bốn phương pháp bảo mật mạng. Phương pháp thứ nhất là thêm vào một giao thức (SSL) giữa tầng TCP/IP và HTTP, đó là phương pháp bảo mật mạng tách rời, nó yêu cầu những thay đổi rất nhỏ ở giao thức bên trên và bên dưới nó. Phương pháp thứ hai là bảo mật đặc tả ứng dụng. Phương pháp này thêm trực tiếp các dịch vụ bảo mật vào trong giao thức (Secure HTTP). Phương pháp bảo mật thứ ba là bảo mật với các giao thức trung tâm, tức là các dịch vụ bảo mật được thêm trực tiếp vào giao thức mạng trung tâm, tất cả các dịch vụ bảo mật sẽ trở thành một phần tuỳ chọn của bản thân Internet Protocol, đây chính là kiến trúc IPSEC. IPSEC cũng có rất nhiều tiện ích giống SSL, nó độc lập với giao thức ứng dụng. Và phương pháp bảo mật cuối cùng là bảo mật song song. Ví dụ phổ biến về phương pháp này là giao thức Kerberos. Giao thức Kerberos làm việc như một bộ công cụ mà các giao thức khác có thể sử dụng cho các dịch vụ bảo mật, nhưng bản thân nó không phải là giải pháp bảo mật hoàn toàn. Chương 2 giới thiệu về hoạt động của SSL. SSL là giao thức đa mục đích được phát triển bởi Netscape, có thể hỗ trợ cho rất nhiều ứng dụng. SSL hoạt động bên trên TCP/IP và bên dưới các ứng dụng tầng cao hơn như HTTP, LDAP…SSL cho phép một server có hỗ trợ SSL tự xác thực với một client cũng hỗ trợ SSL, cho phép client tự xác thực với server và cho phép cả hai bên thiết lập một kết nối được mã hoá. Điều này là rất quan trọng với cả hai bên khi có những giao dịch mang tính riêng tư. Ngoài ra dữ liệu còn được bảo vệ nhờ cơ chế tự động phát hiện các xáo trộn hay thay đổi trong thông điệp. Ngày nay, SSL được sử dụng rộng rãi như nền tảng bảo mật cho các Website bán hàng qua mạng thanh toán bằng thẻ tín dụng, các trang tài chính ngân hàng, giao dịch chứng khoán, các dịch vụ của chính phủ như thuế, an ninh xã hội, quân đội….Tuy nhiên việc triển khai SSL cũng còn nhiều hạn chế do sự bảo hộ và kiểm soát chặt chẽ của chính phủ Mỹ. Tiếp theo là mô tả cấu trúc và phương pháp làm việc của các giao thức Record Protocol, ChangeCipherSpec Protocol, Alert Protocol, Handshake Protocol. Giới thiệu Nghiên cứu sử dụng công nghệ SSL/TLS Đặng Thị Huê Trang 3 Record Protocol nhận dữ liệu từ tầng trên gửi xuống, phân nhỏ thành từng block, nén dữ liệu, bổ sung dữ liệu kiểm tra, mã hoá và gửi đi. Khi nhận dữ liệu về tiến trình được thực hiện ngược lại : giải mã, kiểm tra, gỡ nén và sắp xếp lại rồi gửi lại cho tầng trên. ChangeCipherSpec Protocol bao gồm duy nhất một thông điệp, được sử dụng để client báo cho server biết rằng các bản ghi sau này sẽ được