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 TCPIP 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ệ SSLTLS Đặ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 TCPIP 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 TCPIP 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 Protoco 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 TCPIP 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ệ SSLTLS Đặ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 TCPIP 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 TCPIP 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 Protoco
ĐẠ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 hướng dẫn: PGS.TS Trịnh Nhật Tiến HÀ NỘI - 2005 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 hướng ý kiến quý báu trực tiếp bảo 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 thầy cô 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 giúp đỡ em trình học tập trường Con xin gửi đến Bố Mẹ gia đình tình thương u lịng biết ơn Bố Mẹ gia đình ln nguồn động viên chỗ dựa vững cho đời Tôi xin cảm ơn bạn lớp động viên giúp đỡ thời gian thực luận văn Vì thời gian có hạn, khố luận tốt nghiệp em khơng tránh khỏi khiếm khuyết Rất mong nhận góp ý thầy cô bạn Hà Nội, ngày 06 tháng 06 năm 2005 Sinh viên Đặng Thị Huê Trang i Tóm tắt Được thiết kế Netscape bao gồm chế bảo mật sản phẩm trình duyệt để tạo truyền thơng an tồn mạng, SSL (Secure Sockets Layer) giao thức bảo mật sử dụng phổ biến Internet hoạt động thương mại điện tử Ban đầu, SSL thiết kế kết hợp với giao thức HTTP sử dụng Web server browser, thành phần quan trọng loại truyền thông Internet bảo mật Việt Nam đường hội nhập với công nghệ thông tin giới, hoạt động giao dịch mạng Việt Nam diễn sôi nổi, vấn đề bảo mật trở nên quan trọng, việc triển khai SSL điều cần thiết Tuy nhiên đến hầu hết website Việt Nam chưa sử dụng SSL giao dịch Trong khoá luận này, em tiến hành nghiên cứu chi tiết giao thức bảo mật SSL cách triển khai chúng Internet Information Service (IIS) Windows Server Enterprise 2003 Chúng tơi hy vọng với khố luận đem đến nhìn cụ thể SSL bảo mật mạng, tầm quan trọng ứng dụng thực tế Trang ii MỤC LỤC Chương MỘT SỐ VẤN ĐỀ VỀ BẢO MẬT 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) 1.1.2 Bảo mật đặc tả ứng dụng .6 1.1.3 Bảo mật với giao thức trung tâm 1.1.4 Giao thức bảo mật song song 1.2 Vấn đề mã hoá 1.2.1 Khái niệm mã hoá 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 khố cơng khai .11 1.3 Vấn đề ký số 12 1.4 Vấn đề xác thực số .13 Chương KHE CẮM AN TOÀN (SSL) .16 2.1 Tổng quan SSL 16 2.1.1 Lịch sử SSL .16 2.1.2 Cơ SSL 16 2.1.3 SSL ứng dụng thương mại điện tử 19 2.2 Giao thức 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 : Các thông điệp Hello cho kết nối logic .28 • Thơng điệp HelloRequest 28 • Thơng điệp ClientHello 28 2.5.2 Giai đoạn : Xác thực Server trao đổi khoá 30 Trang iii • Thơng điệp ServerCertificate 30 • Thơng điệp ServerKeyExchange 32 • Thông điệp CertificateRequest 34 • Thơng điệp ServerHelloDone 36 2.5.3 Giai đoạn : Xác thực Client trao đổi khoá 36 • Thơng điệp ClientCertificate 36 • Thơng điệp ClientKeyExchange 37 • 10 Thông điệp CertificateVerify 38 2.5.4 Giai đoạn : 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 SSL 45 2.6.1 Các hệ mã hoá sử dụng với SSL 45 2.6.2 Bảo mật SSL .46 2.7 Ưu điểm hạn chế SSL/TLS 48 2.7.1 Ưu điểm SSL .48 2.7.2 Hạn chế SSL .49 2.7.2.1 Các giới hạn giao thức 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 đề trì website (Web site persistence) 55 2.7.3.3 Tăng tốc SSL content switch 55 2.7.3.4 Quá trình phát triển tăng tốc SSL 56 2.7.3.5 Bộ tăng tốc SSL SonicWALL 56 2.7.3.6 Các đặc điểm bật lợi ích SonicWALL SSL Offloader 57 2.7.3.7 Các phương án triển khai 59 Chương 3.1 BẢO MẬT TẦNG GIAO VẬN (TLS) .61 Giới thiệu tổng quan 61 Trang iv 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 .67 3.6 Thông điệp Finished 67 3.7 Các mã sở 68 Chương SỬ DỤNG GIAO THỨC SSL/TLS 69 Tài liệu tham khảo .77 Trang v Danh sách hình vẽ Hình Vị trí SSL mơ hình giao thức bảo mật tách rời .5 Hình Bảo mật gắn trực tiếp vào giao thức ứng dụng Hình IPSec Hình Giao thức ứng dụng sử dụng Kerberos .8 Hình SSL tính tốn mã thơng điệp .14 Hình Vị trí SSL mơ hình OSI 17 Hình Vị trí giao thức ghi giao thức SSL 21 Hình Các giai đoạn thi hành giao thức ghi 21 Hình Cấu trúc 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 tham số Diffie-Hellman 32 Hình 16 ServerKeyExchange mang tham số RSA .33 Hình 17 ServerKeyExchange sử dụng Fortezza 33 Hình 18 Server ký hàm băm 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 vi Hình 26 Thông điệp Finish bao gồm 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 tăng tốc trực tuyến .54 Hình 30 TLS sử dụng HMAC để sinh đầu giả ngẫu nhiên 65 Hình 31 Hàm giả ngẫu nhiên TLS sử dụng MD5 SHA .66 Hình 32 TLS sử dụng PRF để tạo master secret nguyên liệu khoá 67 Hình 33 TLS sử dụng PRF cho thông điệp Finished .68 Danh sách bảng biểu Bảng Giá trị kiểu chứng 35 Bảng Sự khác biệt SSL v3.0 TLSv1.0 61 Bảng Các thay đổi giao thức cảnh báo 62 Bảng Các bước sinh đầu giả ngẫu nhiên 64 Trang vii Bảng giải 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) Trang viii Giới thiệu Nghiên cứu sử dụng công nghệ SSL/TLS Giới thiệu Việc kết nối Web browser tới điểm mạng Internet qua nhiều hệ thống độc lập mà khơng có bảo vệ với thông tin đường truyền Không kể người sử dụng lẫn Web server có kiểm soát đường liệu hay kiểm sốt liệu có thâm nhập vào thơng tin đường truyền Để bảo vệ thông tin mật mạng Internet hay mạng TCP/IP nào, SSL (Secure Sockets Layer) kết hợp yếu tố sau để thiết lập giao dịch an tồn : khả bảo mật thơng tin, xác thực tồn vẹn liệu đến người dùng SSL tích hợp sẵn vào browser Web server, cho phép người sử dụng làm việc với 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 xuất trạng thái cửa sổ browser dòng “http” hộp nhập địa URL đổi thành “https” Một phiên giao dịch HTTPS sử dụng cổng 443 thay sử dụng cổng 80 dùng cho HTTP.Tuy nhiên, mặt trái SSL làm chậm lại hiệu nǎng thực ứng dụng Mức sử dụng tài nguyên hệ thống CPU địi hỏi tiến trình mã hố giải mã cho trang SSL cao từ 10 đến 100% so với trang không bình thường Nếu máy chủ có lưu lượng trang SSL cao, phải cân nhắc tới việc sử dụng thêm 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 tồn, xác thực bảo mật thơng tin mạng An tồn thơng tin u cầu quan trọng việc truyền liệu mạng đặc biệt với giao dịch thương mại điện tử, xác thực mục tiêu trọng tâm website học tập trực tuyến Những hậu rị rỉ thơng tin gây lớn khó lường hết Ngày nay, dù Việt Nam, nhà quản trị mạng bắt đầu quan tâm tới lĩnh vực này, thực chưa có nhiều nghiên cứu tiến hành chi tiết việc ứng dụng hạn chế Với xu phát triển nay, đường hội nhập với công nghệ thông tin giới, cần có hiểu biết sâu sắc toàn diện an toàn bảo mật thông tin Từ vấn đề nêu trên, luận văn thực việc tiến hành nghiên cứu chi tiết công nghệ bảo mật xác thực mạng sử dụng phổ biến Secure Sockets Layer (SSL), giao thức bảo mật tầng giao vận Đồng thời đưa giới thiệu công nghệ tăng tốc SSL, sử dụng nhằm tăng hiệu Đặng Thị Huê Trang Chương - Bảo mật tầng giao vận Nghiên cứu sử dụng công nghệ SSL/TLS 51 DecryptError Bên gửi thể thao tác lập mã chủ yếu tới thoả thuận handshake bị hỏng 60 ExportRestriction Bên gửi phát tham số thoả thuận không phù hợp với giới hạn xuất U.S 70 ProtocolVersion Bên gửi thể khơng thể hỗ trợ phiên giao thức TLS yêu cầu 71 InsufficientSecurity Bên gửi (luôn server) thể yêu cầu mã bảo mật hỗ trợ client InternalError Bên gửi thể lỗi cục để thi hành phụ thuộc vào giao thức TLS(như định vị nhớ lỗi) làm khơng thể tiếp tục UserCanceled Bên gửi thể muốn huỷ bỏ thoả thuận bắt tay vài lý khác lỗi giao thức; thông điệp thường cảnh báo, theo sau CloseNotify NoRenegotiation Bên gửi thể hiển khơng thể đồng ý với yêu cầu bên ngang hàng để thoả thuận lại bắt tay TLS; thông điệp cảnh báo 80 90 100 3.3 Xác thực thông điệp Một lĩnh vực khác mà TLS hồn thiện SSL thuật toán xác thực thông điệp Cách xác thực thông điệp SSL kết hợp thơng tin khố liệu ứng dụng đặc biệt hơn, tạo cho giao thức SSL Với giao thức TLS, dựa mã xác thực thông điệp chuẩn gọi H-MAC (Hashed Message Authentication Code) Thuật toán H-MAC chuẩn định nghĩa Đặc tả HMAC bao gồm mô tả tỉ mỉ phương pháp, mã nguồn ví dụ Chú ý H-MAC khơng định thuật tốn băm cụ thể (như MD5 hay SHA), làm việc hiệu với thuật toán băm Đặng Thị Huê Trang 63 Chương - Bảo mật tầng giao vận Nghiên cứu sử dụng công nghệ SSL/TLS Mã xác thực thông điệp TLS ứng dụng thẳng chuẩn H-MAC HMAC secret MAC write secret nhận từ master secret Sau liệu bảo vệ TLS Message Authentication Code • Dãy số (sequence number) • Kiểu thơng điệp giao thức TLS • Phiên TLS (ví dụ 3.1) • Chiều dài thơng điệp • Nội dung thơng điệp 3.4 Sinh ngun liệu khố Dựa chuẩn H-MAC, TLS định nghĩa thủ tục cho việc sử dụng HMAC để tạo đầu giả ngẫu nhiên Thủ tục sử dụng giá trị bí mật giá trị hạt giống ban đầu (có thể nhỏ), sinh đầu ngẫu nhiên an tồn Thủ tục tạo nhiều đầu ngẫu nhiên cần thiết Hình 30 minh hoạ thủ tục này, bảng liệt kê bước Như với chuẩn H-MAC, thủ tục khơng dựa thuật tốn băm cụ thể Bất kỳ thuật toán băm nào, MD5 hay SHA sử dụng cho đầu giả ngẫu nhiên Bảng Các bước sinh đầu giả ngẫu nhiên Bước Thủ tục Tính H-MAC secret seed Tính H-MAC secret kết bước 1; kết phần đầu giả ngẫu nhiên Tính H-MAC secret kết bước 2; kết thu phần đầu giả ngẫu nhiên Lặp lại bước nhiều lần Đặng Thị Huê Trang 64 Chương - Bảo mật tầng giao vận Nghiên cứu sử dụng cơng nghệ SSL/TLS Hình 30 TLS sử dụng HMAC để sinh đầu giả ngẫu nhiên Với cải tiến thêm vào, TLS sử dụng thủ tục đầu giả ngẫu nhiên để tạo hàm giả ngẫu nhiên, gọi PRF PRF kết hợp hai thể khác thủ tục đầu giả ngẫu nhiên, sử dụng thuật toán băm MD5, sử dụng SHA Chuẩn TLS định hàm sử dụng hai thuật toán trường hợp hai thuật tốn khơng an tồn Nó bắt đầu với giá secret (bí mật), giá trị seed (hạt giống), label (nhãn) Một hàm chia secret thành hai phần, dùng hàm băm MD5, dùng SHA Nó kết hợp nhãn seed thành giá trị đơn Chú ý đầu MD5 SHA có chiều dài khác (16 20 byte), sinh đầu giả ngẫu nhiên yêu cầu số lượng thao tác khác bước Đặng Thị Huê Trang 65 Chương - Bảo mật tầng giao vận Nghiên cứu sử dụng cơng nghệ SSL/TLS Hình 31 Hàm giả ngẫu nhiên TLS sử dụng MD5 SHA Các bước sinh đầu giả ngẫu nhiên TLS : • Bước : Chia secret thành phần nhau, secret bao gồm số lẻ byte, gộp byte phần (nó byte cuối phần đầu byte phần thứ hai) • Bước : Sinh đầu giả ngẫu nhiên sử dụng phần đầu secret, hàm băm MD5, kết hợp label seed • Bước : Sinh đầu giả ngẫu nhiên sử dụng phần thứ hai secret, hàm băm SHA, kết hợp label, seed • Bước : Exclusive-OR kết bước Với hiểu biết PRF, mơ tả làm TLS tạo nguyên liệu khoá Nguyên lý giống với SSL Mỗi hệ thống bắt đầu với premaster secret, tạo master secret Sau đó, sinh ngun liệu khố yêu cầu từ master secret Để sinh nguyên liệu khoá, TLS dựa PRF Các giá trị đầu vào master secret (“secret”), chuỗi ASCII “key expansion” (nhãn), dãy giá trị ngẫu nhiên server client cho seed Đặng Thị Huê Trang 66 Chương - Bảo mật tầng giao vận Nghiên cứu sử dụng công nghệ SSL/TLS Bản thân 48 byte master secret tính sử dụng PRF Trong trường hợp này, giá trị vào premaster secret, chuỗi ASCII “master secret” (nhãn), dãy giá trị ngẫu nhiên client server Hình 32 minh hoạ hai bước Hình 32 TLS sử dụng PRF để tạo master secret nguyên liệu khoá 3.5 Xác nhận chứng TLS khác SSL chi tiết hàm CertificateVerify Trong SSL, thông tin ký hàm CertificateVerify phức tạp, kết hợp hàm băm hai mức thông điệp handshake, master secret, padding Trong trường hợp TLS, thông tin ký đơn giản thông điệp handshake trước trao đổi suốt phiên 3.6 Thơng điệp Finished Thơng điệp Finished TLS có nội dung đơn giản, cỡ 12 byte, giá trị tạo cách áp dụng PRF với đầu vào master secret, nhãn “client finished” (với client) hay “server finished” (với server), dãy hàm băm MD5, SHA tất thông điệp handshake Đặng Thị Huê Trang 67 Chương - Bảo mật tầng giao vận Nghiên cứu sử dụng cơng nghệ SSL/TLS Hình 33 TLS sử dụng PRF cho thông điệp Finished 3.7 Các mã sở Về bản, TLS hỗ trợ hầu hết mã có SSL, nhiên hỗ trợ mở rộng cho mã Fortezza/DMS bị loại bỏ Tập hợp mã TLS định nghĩa mở rộng mã phát triển thi hành Vì IETF có tiến trình hoàn toàn xác định cho việc đánh giá đề xuất này, cải tiến dễ dàng thêm vào TLS SSL Đặng Thị Huê Trang 68 Chương - Sử dụng SSL/TLS Nghiên cứu sử dụng công nghệ SSL/TLS Chương SỬ DỤNG GIAO THỨC SSL/TLS 1.Cài đặt Certificate Services cho Windows 2003 Server Trong Windows 2003 Server, mở cửa sổ Control Panel Chọn Add/Remove Components Programs, chọn tiếp Add/Remove Windows Chọn Certificate Services Windows Components Wizard, nhấn Next Chọn kiểu dịch vụ mà bạn muốn cài đặt : Stand-Alone root CA, nhấn Next Nhập thông tin định danh CA yêu cầu nhấn Next Nhấn Next tiếp để chấp nhận thiết lập mặc định, nhấn Finish để hồn thành q trình cài đặt Tạo u cầu Certificate : Mở cửa sổ Internet Service Manager Microsoft Management Console (MMC) Mở bảng Property Web Site bạn cần cài Certificate Chọn tab Directory Security Nhấn vào nút Server Certificate, cửa sổ Certificate Wizard ra, nhấn Next Chọn Create a new certificate, nhấn Next Chọn Prepare the request now, but send it later chọn Next Gõ tên cho certificate, chọn dộ dài bit mã hố thơng tin cần thiết, nhấn Next để tiếp tục Chọn đường dẫn tên file để lưu thông tin certificate Kiểm tra lại thông tin bạn nhập, nhấn Next để tạo certificate Gởi yêu cầu certificate : Mở browser gõ https://servername/CertSrv/ Chọn Request a Certificate, chọn Next Chọn Advance Request, nhấn Next Đặng Thị Huê Trang 69 Chương - Sử dụng SSL/TLS Nghiên cứu sử dụng công nghệ SSL/TLS Chọn Submit a Certificate Request using a Base64, nhấn Next Mở file certificate vừa tạo Chọn copy nội dung file -BEGIN NEW CERTIFICATE REQUEST MIIC9DCCAl0CAQAwXzEQMA4GA1UEAxMHdGVzdGluZzEQMA4GA1UEC xMHU3lzRGVwdDEQMA4GA1UEChMHTmV0U29mdDENMAsGA1UEBxME SENNQzELMAkGA1UECBMCVEIxCzAJBgNVBAYTAlZOMIGfMA0GCSqGS Ib3DQEBAQUAA4GNADCBiQKBgQC3uElzTyLG7bwsPv0zuljVLodhZ3DvkOt yliod/iRjHlXVeG49WpDjFcp0vY2QFJClp0fvU586Bqnf6R1UbW7z8dDSLLo3g MQuyaYOAZhVHeeVVE4yv/vxuTBO+JW8wYN9NrsPsxHQiUgyyBIQgphnEya mClfeFYEimNQs9/3tnQIDAQABoIIBUzAaBgorBgEEAYI3DQIDMQwWCjUu MC4yMTk1LjIwNQYKKwYBBAGCNwIBDjEnMCUwDgYDVR0PAQH/BAQD AgTwMBMGA1UdJQQMMAoGCCsGAQUFBwMBMIH9BgorBgEEAYI3DQIC MYHuMIHrAgEBHloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQA gAFMAQwBoAGEAbgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHA AaABpAGMAIABQAHIAbwB2AGkAZABlAHIDgYkAXxNuAz6gcBaZUdef8 WQ2PAroKMW8sprcKv7QD2encz6/Wct9DZ5CkGynLGy0f+Lff7ViSDJqxYWaJ 68ddqgXyAqIilF63kivPTiC6yxLaNX65v3cnKFx4UrUrGXZtub7M7/NuxSipOW0 Vv7yCHganypxDyRzp6IhulEnL4APEH4AAAAAAAAAADANBgkqhkiG9w0BA QUFAAOBgQBmEU7t4rNg+xXg9l1YWh++Ye2x3yt3S9r+/LOblckL8jllmYsS7Y LvHBQYXj9zN5mh2RpoLllWWlct7wHKWig87G/oeBWeGIf9bJXJFvOBYO2x/e BwK+Qk0ufy1KIKUozeS7WnqaFFse+912/mqH5h7bh+McqwB0A+g/n1Cp0NkQ == -END NEW CERTIFICATE REQUEST Paste vào text box Base64 Encoded Certificate Request Dưới Certificate Template, chọn Web Server rối nhấn Next Nếu Certificate Server cấu hình Always Issue the Certificate, bạn download certificate 10 Nếu Certificate Server cấu hình Set the certificate request status to pending, bạn nhận thông điệp Certificate Pending Đặng Thị Huê Trang 70 Chương - Sử dụng SSL/TLS Nghiên cứu sử dụng công nghệ SSL/TLS Phát sinh download Certificate : Mở Certificate Authority (CA) Microsoft Management Console (MMC) cách chọn Start – Program – Administrator Tools – Certificate Authority Mở Certificate Authority Chọn Pending Requests Cửa sổ bên phải xuất yêu cầu chưa xử lý Nhấn phải chuột vào yêu cầu chưa xử lý đó, chọn All Tasks nhấn Issue Sau phát sinh certificate, việc download certificate Mở IE, gõ http://servername/CertSrv Trong trang mặc định, chọn Check on a pending certificate chọn Next Trong trang download, nhấn link Download CA Certificate Cài SSL cho web site : Mở Internet Service Manager Mở Property Web site muốn cài SSL Thiết lập cổng SSL 443 Chọn tab Directory Security, Secure Communications, nhấn Server Certificate Để mở Certificate Installation Wizard, nhấn Next Chọn Select Pending request and install the certificate, chọn Next Chọn file certificate Nhấn Finish Cấu hình : Trong tab Directory Security, Secure Communications, nhấn Edit Dialog Secure Communications xuất Chọn Require Secure Chanel (SSL), nhấn OK Nhấn Apply OK Đặng Thị Huê Trang 71 Chương - Sử dụng SSL/TLS Nghiên cứu sử dụng công nghệ SSL/TLS Cài đặt Apache Webserver hỗ trợ SSL 1.Các packages cần cài đặt : • mod-ssl-2.8.8-1.3.33.tar.gz (http://www.modssl.org) • openssl-0.9.7g.tar.gz (http://www.openssl.org) • apache-1.3.33.tar.gz (http://www.apache.org) • perl Module openssl thư viện thực giải thuật mã hoá DES, MD5, RSA, Module mod-ssl dùng để “plug-in” openssl vào apache webserver Chép packages vào thư mục giải nén Biên dịch : Trước tiên cài package perl trước Cài package OpenSSL $ cd openssl-0.9.7g $ perl Configure VC-WIN32 prefix=c:/openssl $ ms\do_ms Cài package modssl $ cd /mod-ssl-2.8.8-1.3.33 $ configure –with-apache= /apache-1.3.24 with –ssl= /openssl-0.9.6.b prefix=/usr/local/apache enable-shared=ssl Cài đặt Apache $ cd /apache-1.3.24 $ make $ make certificate $ make install Đặng Thị Huê Trang 72 Chương - Sử dụng SSL/TLS Nghiên cứu sử dụng công nghệ SSL/TLS Start Apache webserver with ssl : #apachectl startssl Cấu hình httpd.conf : Giả sử ta muốn website aaa.bbb.ccc.ddd hỗ trợ giao thức https SSLEngine on ServerName www.your-domain.netsoft DocumentRoot /www/docs/secure SSLCertificateFile /www/conf/ssl.crt/certificate-filename.crt SSLCertificateKeyFile /www/conf/ssl.key/filename.key Ngồi ra, sử dụng dịch vụ xác nhận chữ ký trực tuyến để phát sinh certificate cho server theo cách sau : Tạo yêu cầu chứng thực server : a Chạy MMC, vào Key Manager, chọn Create New Key b Chọn Put the request in a file that you will send to an authority, gán tên file yêu cầu chứng chỉ, nhấn Next c Gán tên mật (mã hố khố bí mật cần cài đặt chứng chỉ) cho cặp khoá, nhấn Next d Cung cấp thông tin tổ chức bạn, nhấn Commit Change Now để Save khoá Kết cặp khố (bí mật cơng khai), file u cầu chứng thực Server Chỉ WebBrowser đến trang http://digitalid.versign.com Chọn WebServer bên Organizations trang đăng ký VeriSign Chọn I want a Digital ID for Testing purpose only (miễn phí có giá trị thời gian định) Chọn Microsoft từ danh sách hãng phần mềm có sẵn Đặng Thị Huê Trang 73 Chương - Sử dụng SSL/TLS Nghiên cứu sử dụng công nghệ SSL/TLS Cut paste yêu cầu chứng thực vào nơi đặc biệt cung cấp tồn thơng tin u cầu Chọn Accept để chấp nhận yêu cầu, yêu cầu chấp nhận -> email chứa chứng Server VeriSign cung cấp gửi trở lại Phần chứng dòng BEGIN CERTIFICATE đến END CERTIFICATE email Tham khảo thêm modssl openssl địa : http://www.modssl.org http://www.openssl.org, dịch vụ chứng thực điện tử : http://www.digitalid.verisign.com hay http://www.verisign.com Đặng Thị Huê Trang 74 Kết luận Kết luận Khố luận nghiên cứu sử dụng cơng nghệ bảo mật SSL/TLS mạng Internet Những kết mà khoá luận đạt : Tiến hành nghiên cứu cơng nghệ bảo mật mạng, từ mơ hình giao thức mạng tách rời SSL/TLS thêm vào mơ hình OSI có khả triển khai rộng khắp, tương thích với nhiều ứng dụng Tiếp theo phân tích chi tiết hoạt động SSL, với giao thức Record Protocol, Handshake Protocol, Alert Protocol, ChangeCipherSpec Protocol Giao thức Record Protocol xác định định dạng dùng để truyền liệu, mã hố thơng tin tầng gửi xuống, thêm vào tham số dùng cho việc xác thực đảm bảo tính tồn vẹn thơng điệp Handshake Protocol sử dụng Record Protocol để trao đổi số thông tin client server lần đầu thiết lập kết nối SSL định mã sử dụng, trao đổi khoá phiên Là giao thức bảo mật sử dụng kỹ thuật mã hố khóa cơng khai để mã hoá tất liên lạc client server, SSL có số hạn chế định, hệ mã hố, độ dài khố, mơi trường ứng dụng, hạn chế giao thức cịn sách cơng ty phủ Hiện nay, SSL có hai phiên SSLv2.0 SSLv3.0, ngồi cịn có biến thể khác SSL gọi TLSv1.0 (Transport Layer Security) Về TLSv1.0 hoạt động giống SSLv3.0 có khác biệt hệ mã hố sử dụng, thơng báo lỗi chi tiết hơn, thông điệp kết thúc (Finished), cách xác thực thông điệp sinh nguyên liệu khoá Sử dụng SSL cần thiết cho giao dịch thương mại điện tử mạng, nhiên tốc độ truy cập website lại bị giảm đáng kể phải thực q trình xác thực mã hố, điều dễ gây khó chịu cho người dùng Để tăng hiệu website, sử dụng công nghệ tăng tốc SSL Đây thiết bị tăng tốc độ truy cập website sử dụng SSL lên đến 50 lần tương lai nhiều cải tiến đáng kể Hiện SSL nghiên cứu triển khai với website học tập trực tuyến hay bỏ phiếu từ xa thông qua mạng Internet, phục vụ cho việc xác thực người dùng Ví dụ, học sinh tham gia làm thi phải xác thực (q trình xác thực client) Sau đó, làm xong gửi lại, người phải tiến hành ký Đặng Thị Huê Trang 75 Kết luận làm để đảm bảo thơng tin không bị giả mạo hay mát Người quản trị dựa vào để xác thực định danh người dùng, kiểm tra nội dung thông tin Trong q trình triển khai SSL, ngồi thiết lập mơi trường cịn cần có chứng cho server Để tạo chứng cho server, phải liên lạc với CA đó, dĩ nhiên phải tốn khoản tiền Ngoài ràng buộc phủ Mỹ (cấm truyền bá cơng nghệ mã hố cấp cao nước ngồi khu vực Bắc Mỹ), nhận chứng thực “khoá yếu” Tuy nhiên, có khố có độ dài tuỳ ý mà xu nào, lại hồn tồn khơng vi phạm quyền Đó sử dụng công cụ cộng đồng mã nguồn mở (OpenSource) OpenSSL cung cấp cơng nghệ mã hố miễn phí cho tổ chức, cá nhân cho mục đích thương mại phi thương mại OpenSSL Project phổ biến công cụ mã nguồn mở nhằm triển khai giao thức SSL TLS cung cấp thư viện lập trình mã hố đầy đủ chức Do hướng phát triển nghiên cứu : nghiên cứu cơng cụ mã nguồn mở OpenSSL, thư viện lập trình mã hố khả triển khai áp dụng thực tế Việt Nam Mặc dù có nhiều cạnh tranh mặt công nghệ, SSL trở thành phương pháp lựa chọn bảo mật thương mại điện tử Web Từ SSL trở thành chuẩn mở, có tương lai, bảo mật thi hành cải tiến SSL tiếp tục trở thành giao thức bảo mật sử dụng nhiều sử dụng cho giao dịch Web Đặng Thị Huê Trang 76 Tài liệu tham khảo Tài liệu tham khảo Tài liệu tiếng Việt [1] GS.TS Phan Đình Diệu Lý thuyết mật mã an tồn thơng tin [2] Đàm Mạnh Hùng Các hệ mã hoá ứng dụng thương mạI điện tử Khoá luận tốt nghiệp Hà Nội, 2004 [3] PGS.TS Trịnh Nhật Tiến Giáo trình an tồn liệu Tài liệu tiếng Anh [4] Man Young Rhee Internet Security Cryptographic Principles, Algorithms and Protocols John Wiley, 2003 [5] Mitch Tulloch Microsoft Encyclopedia of Security Microsoft Press, 2003 [6] Network Security with OpenSSL O’Reilly & Associates, Inc, 2002 [7] Stephen Thomas SSL & TLS Essentials Securing the Web 2000 [8] Mission Critical Internet Security Syngress Publishing, Inc, 2001 [9] Hack Proofing Your Web Applications Syngress Publishing, Inc, 2001 Đặng Thị Huê Trang 77 ... 2.6 Bảo mật SSL 45 2.6.1 Các hệ mã hoá sử dụng với SSL 45 2.6.2 Bảo mật SSL .46 2.7 Ưu điểm hạn chế SSL/ TLS 48 2.7.1 Ưu điểm SSL .48 2.7.2 Hạn chế SSL. .. hành bảo mật phải quan tâm cẩn thận, chức bảo mật Đặng Thị Huê Trang Chương - Một số vấn đề bảo mật Nghiên cứu sử dụng công nghệ SSL/ TLS giao thức phải thay đổi thích hợp Một giao thức tách rời SSL. .. cứu sử dụng công nghệ SSL/ TLS Phần cuối luận văn phần giới thiệu cách cấu hình IIS Apache sử dụng bảo mật SSL với website Với khố luận này, chúng tơi muốn giới thiệu chế bảo mật (SSL) thương