Ngày nay, Internet có thể được dùng để liên lạc điện tử. Những người sử dụng Internet vì mục đích này thường có nhu cầu bảo đảm an toàn cho thông tin liên lạc đó. Thông tin liên lạc an toàn có thể được đảm bảo bằng cách sử dụng kênh an toàn. Một kênh an toàn sẽ cung cấp cho người sử dụng ba tính năng là: chứng thực những người có liên quan trong liên lạc, bảo mật cho thông tin được trao đổi trong liên lạc và bảo đảm tính toàn vẹn của thông tin được trao đổi trong liên lạc.
Công nghệ TLS – codedoansinhvien@gmail.com MỤC LỤC Mở đầu SSL(Secure Socket Layer) TLS (Transport Layer Security) 2.1 Lịch sử SSL TSL 2.2 Sự khác SSL TLS 2.3 SSL/TLS làm giao thức bảo mật riêng 2.4 Tính bảo đảm an tồn SSL/TLS Các thành phần TLS 3.1 TLS Record Protocol 3.2 TLS Handshake Protocol 3.2.1 Giai đoạn thương lượng: 10 3.2.2 Giai đoạn ứng dụng: 12 Các loại tin nhắn giao thức cảnh báo 12 Xác thực thông điệp .16 Các Cipher Suites .17 Khả cộng tác với SSL 19 Tương lai SSL TLS .20 Các ứng dụng TLS 21 10 Sử dụng giao thức SSL/TLS 21 10.1 Cài đặt Certificate Services cho Windows 2003 Server 21 10.2 Tạo yêu cầu Certificate 22 10.3 Gởi yêu cầu certificate 22 10.4 Phát sinh download Certificate .23 10.5 Cài SSL cho web site 23 10.6 Cấu hình 24 10.7 Cài đặt Apache Webserver hỗ trợ SSL 24 10.7.1 Các packages cần cài đặt 24 https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com 10.7.2 Biên dịch 24 10.7.3 Start Apache webserver with ssl .25 10.7.4 Cấu hình httpd.conf 25 TÀI LIỆU THAM KHẢO 27 https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com Mở đầu Ngày nay, Internet dùng để liên lạc điện tử Những người sử dụng Internet vì mục đích thường có nhu cầu bảo đảm an tồn cho thơng tin liên lạc Thơng tin liên lạc an tồn đảm bảo cách sử dụng kênh an toàn Một kênh an toàn cung cấp cho người sử dụng ba tính là: chứng thực người có liên quan liên lạc, bảo mật cho thơng tin trao đổi liên lạc bảo đảm tính tồn vẹn thơng tin trao đổi liên lạc SSL(Secure Socket Layer) TLS (Transport Layer Security) 2.1 Lịch sử SSL TSL SSL biến thể TLS giao thức sử dụng để thiết lập sử dụng kênh truyền thơng an tồn hai trình ứng dụng (khách hàng – máy chủ) có trao đổi thơng tin SSL giao thức lập mạng máy tính cung cấp tính chứng thực, bảo mật đảm bảo tính tồn vẹn cho thơng tin trao đổi phương tiện sử dụng mạng máy tính https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com Trước đây, SSL thiết kế tổ chức Netscape Communications vào năm 1994 SSL phiên 1.0 chưa công bố mà sử dụng nội Netscape Phiên ban hành lần đầu tiên, SSL 2.0, thì lại có nhược điểm nghiêm trọng đòi hỏi phải cho đời phiên SSL Vào năm 1995, Microsoft tiến hành phát triển PCT (một công nghệ liên lạc cá nhân) để khắc phục lại nhược điểm SSLv2 Đáp lại, Netscape phát triển SSL phiên 3.0 để giải nhược điểm SSLv2 cung cấp thêm số tính mà PCT khơng có Tháng năm 1996, quan Đặc Trách Kỹ Thuật Internet (IETF) cho phép hai nhóm phụ trách hoạt động TLS tiến hành thực tiêu chuẩn hóa giao thức dạng SSL TLS 1.0 lần định nghĩa RFC 2246 vào tháng 1999 nâng cấp lên phiên SSL 3.0 Như nêu RFC, "sự khác biệt giao thức SSL 3.0 không đáng kể, họ đủ quan trọng mà TLS 1.0 SSL 3.0 khơng tương thích." TLS 1.0 bao gồm phương tiện mà TLS thực hạ cấp kết nối đến SSL 3.0 TLS 1.1(SSL 3.2) TLS 1.1 quy định RFC 4.346 tháng năm 2006 Đây cập nhật từ phiên 1.0 TLS Sự khác biệt đáng kể phiên bao gồm: Nhập bảo vệ chống lại tấn công Cipher block chaining (CBC) Các ngầm khởi Vector (IV) thay IV rõ ràng Thay đổi việc xử lý sai sót padding Hỗ trợ cho thơng số đăng ký IANA TLS 1.2 định nghĩa RFC 5.246 tháng năm 2008 Nó dựa TLS trước 1.1 đặc điểm kỹ thuật khác biệt bao gồm: https://www.facebook.com/codedoansinhvien Trang Cơng nghệ TLS – codedoansinhvien@gmail.com Sự kết hợp MD5/SHA-1 chức pseudorandom (PRF) thay với SHA-256, với tùy chọn để sử dụng mật mã, quy định PRFs Sự kết hợp MD5/SHA-1 hash kết thúc tin nhắn thay với SHA-256, với tùy chọn để sử dụng thuật tốn mã hóa-suite thuật tốn băm cụ thể Sự kết hợp MD5/SHA-1 yếu tố kỹ thuật số, ký kết thay hash đơn đàm phán bắt tay, mặc định SHA-1 Nâng cao clients khả máy chủ để xác định thuật toán hash chữ ký họ chấp nhận Mở rộng hỗ trợ cho thuật tốn mã hóa mật mã xác thực, sử dụng chủ yếu cho Galois / Counter Mode (GCM) chế độ CCM mã hóa AES TLS mở rộng định nghĩa Advanced Encryption Standard (AES) CipherSuites thêm vào 2.2 Sự khác SSL TLS SSL v3.0 TLS v1.0 Protocol version in messages 3.0 3.1 Alert protocol message types 12 23 Message authentication ad hoc standard Key material generation ad hoc PRF CertificateVerify complex simple Finished ad hoc PRF Baseline cipher suites Includes Fortezza no Fortezza https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com 2.3 SSL/TLS làm giao thức bảo mật riêng SSL tạo riêng thành giao thức dùng cho bảo mật Trong đó, tầng bảo mật đặc biệt thêm vào kiến trúc giao thức Internet Ở giao thức Internet (IP) chịu trách nhiệm định tuyến tin nhắn mạng Giao thức Kiểm sốt Truyền dẫn (TCP) có nhiệm vụ đảm bảo độ đáng tin cậy cho thông tin liên lạc Phía Giao thức Truyền Đa Văn Bản (HTTP) xác định chi tiết trình tương tác trình duyệt Web máy chủ Web SSL thêm vào tính bảo đảm an toàn cách vận hành giao thức bảo mật riêng đòi hỏi rất thay đổi giao thức nói Đó lý bảo đảm an toàn cho ứng dụng Internet khác HTTP(HTTPS), SMTP (SMTPS), NNTP(NNTPS), LDAP(LDAPS), FTP(FTPS), telnet (telnets), IMAP4(IMAPS), POP3(POP3S) 2.4 Tính bảo đảm an tồn SSL/TLS SSL/TLS đánh giá mạnh hàm mã hóa bên giao thức Trong phiên cuối TLS 1.2 (RFC 5246), thuật toán SHA256 sử dụng cho hàm giả ngẫu nhiên (PRF) HMAC – hàm băm nhất theo yếu tố ký số, mã hóa AES 3DES thay cho IDEA DES cũ TLS 1.2 có năm thuộc tính mã hóa thiết kế để dùng cho ký số, mã hóa luồng, mã hóa khối, mã hóa AEAD (authenticated encryption with https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com additional data), mã hóa khóa cơng cộng tương ứng là: ký số, mã hóa mật mã luồng, mã hóa mật mã khối, mã hóa có chứng thực với liệu bổ sung (AEAD) mã hóa khóa cơng cộng Sự hỗ trợ mở rộng cho mật mã mã hóa có chứng thực, sử dụng chủ yếu cho chế đọ Galois/Counter (GCM) chế độ CCM mã hóa AES (Advanced Encryption Standard –Tiêu chuẩn mã hóa cao cấp) Chương trình thêm định nghĩa phần mở rộng TLS mật mã AES Máy khách sử dụng khóa cơng cộng quan chứng nhận (CA) để xác nhận chữ ký số CA chứng nhận máy chủ Nếu xác minh chữ ký số thì máy khách tiếp nhận giấy chứng nhận máy chủ làm chứng nhận hợp pháp phát hành CA đáng tin Bảo vệ chống lại xuống cấp giao thức phiên trước (phiên an tồn hơn) mật mã yếu Đánh số cho tất ghi Ứng dụng với mã số thứ tự sử dụng mã số thứ tự mã chứng thực tin (MAC) Sử dụng digest tin nhắn củng cố thêm khóa (vì có người giữ khóa kiểm tra MAC) Cấu trúc HMAC sử dụng hầu hết mật mã TLS ciphersuites quy định RFC 2104 (SSLv3 sử dụng MAC dựa sở hàm băm khác) Tin nhắn hoàn thành trình thỏa thuận ("Finished") gửi hàm băm tất tin nhắn thương lượng trao đổi mà hai bên đầu xem Các thành phần TLS https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com 3.1 TLS Record Protocol 3.2 TLS Handshake Protocol Một máy khách máy chủ TLS thương lượng hoạt động kết nối cách sử dụng thủ tục thương lượng Trong trình thương lượng, máy khách máy chủ thỏa thuận tham số khác sử dụng để thiết lập kết nối an tồn (các kết nối kênh mã hóa) Q trình thương lượng bắt đầu máy khách kết nối với máy chủ yêu cầu kết nối an toàn (https), trình diễn danh sách mật mã hỗ trợ (các mật mã hàm băm) Từ danh sách máy khách này, máy chủ chọn mật mã mạnh nhất hàm băm mà hỗ trợ, sau thơng báo định cho máy khách Máy chủ gửi lại nhận dạng dạng chứng nhận số Giấy chứng nhận thường có chứa tên máy chủ, quan chứng nhận (CA) đáng tin cậy, khóa mã hóa cơng cộng máy chủ Máy khách liên lạc với máy chủ phát hành giấy chứng nhận (tức CA đáng tin cậy nói trên) xác nhận chứng nhận mang tính hợp lệ trước tiến hành https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com Để tạo khóa phiên sử dụng cho kết nối an tồn, máy khách cần mã hóa mã số ngẫu nhiên (RN) với khóa cơng cộng máy chủ (PbK), gửi kết đến máy chủ Chỉ có máy chủ giải mã (với khóa riêng mình (PvK)): thực tế khiến cho bên thứ ba khơng thể xem phím vì có máy chủ máy khách truy cập vào liệu Máy khách biết PbK RN, máy chủ biết PvK RN (sau giải mã tin nhắn máy khách) Một bên thứ ba biết RN xâm nhập vào PvK Từ mã số ngẫu nhiên cho, hai bên tạo liệu khóa để phục vụ cho việc mã hóa giải mã liệu (tin nhắn) Điều kết thúc trình thương lượng bắt đầu kết nối an tồn, mã hóa giải mã với liệu khóa tạo kết nối kết thúc Q trình thương lượng TLS có chứng thực máy khách 3.2.1 Giai đoạn thương lượng: https://www.facebook.com/codedoansinhvien Trang Công nghệ TLS – codedoansinhvien@gmail.com - Client gửi tin nhắn mang tên ClientHello để xác định phiên cao nhất giao thức SSL/TLS mà hỗ trợ, mã số ngẫu nhiên, danh sách mật mã phương pháp nén hỗ trợ - Server phản hồi lại tin nhắn ServerHello, bao gồm phiên giao thức chọn, mã số ngẫu nhiên, mật mã phương pháp nén từ lựa chọn máy khách đưa Máy chủ gửi phiên id làm phần tin nhắn thực trình thương lượng nối tiếp - Server gửi tin nhắn Certificate (tùy thuộc vào mật mã chọn) Server yêu cầu giấy chứng nhận từ máy khách để kết nối hai bên chứng thực, sử dụng tin nhắn CertificateRequest - Server gửi tin nhắn ServerHelloDone biết thực trình thương lượng Client phản hồi tin nhắn Certificate có chứa giấy chứng nhận máy khách - Client gửi tin nhắn ClientKeyExchange mà có chứa PreMasterSecret, khóa cơng cộng khơng có gì PreMasterSecret mã hóa cách sử dụng khóa cơng cộng giấy chứng nhận máy chủ Client gửi tin nhắn CertificateVerify, chữ ký tin nhắn trước có sử dụng khóa cá nhân giấy chứng nhận máy khách Chữ ký xác nhận cách sử dụng khóa cơng cộng giấy chứng nhận máy khách Điều giúp cho máy chủ biết máy khách truy cập vào khóa cá nhân sở hữu giấy chứng nhận Sau đó, máy khách máy chủ sử dụng số ngẫu nhiên PreMasterSecret để tính tốn bí mật chung, gọi "master secret" (bí mật chính) Tất liệu khóa khác sử dụng cho kết nối xuất phát từ bí mật (các giá trị ngẫu nhiên máy khách máy chủ tạo ra), thông qua “hàm giả ngẫu nhiên” thiết kế cách cẩn trọng https://www.facebook.com/codedoansinhvien Trang 10 Công nghệ TLS – codedoansinhvien@gmail.com Một cải tiến TLS so với SSL thủ tục để thông báo cảnh báo bảo mật thực tế tiềm ẩn Đặc biệt, TLS định nghĩa gần gấp đôi với nhiều mô tả cảnh báo Bảng 1-2 cung cấp danh sách đầy đủ thơng báo TLS Nó đánh dấu TLS (với ký hiệu bên trái cột đầu tiên), nhấn mạnh thực tế mô tả cảnh báo 41 (NoCertificate) đa bị xoa TLS Các đặc điểm kỹ thuật TLS gỡ bỏ cảnh báo vì, thực tế, rất khó để thực Diễn giải thành cơng cảnh báo NoCertificate đòi hỏi trình độ cao đồng hóa giao thức cảnh báo bắt tay (Alert and Handshake protocols), đồng hóa có nghĩa khơng thì khơng cần thiết Để loại bỏ yêu cầu cho đồng hóa này, TLS có clients mà khơng có giấy chứng nhận phù hợp đơn giản trả lại thông báo Giấy chứng nhận sản phẩm Value Name Meaning CloseNotify Bên gửi rõ ràng đóng kết nối; thơng báo đóng có mức độ cảnh báo trầm trọng 10 UnexpectedMessage Bên gửi nhận thơng báo khơng phù hợp; cảnh báo luôn gây tràn 20 BadRecord-MAC Bên gửi nhận tin nhắn với mã xác thực thông điệp xấu; cảnh báo luôn gây tràn 21 Decryption-Failed Bên gửi tin nhắn giải mật mã khơng hợp lệ (ví dụ, khơng phải bội số kích thước khối có đệm khơng hợp lệ); cảnh báo ln ln gây tràn 22 RecordOverflow Bên gửi tin nhắn nhận mà sau giải mã giải https://www.facebook.com/codedoansinhvien Trang 12 Công nghệ TLS – codedoansinhvien@gmail.com nén, có kích thước 214 + 2048 byte; cảnh báo luôn gây tràn 30 DecompressionFailure Bên gửi nhận liệu mà khơng thể giải nén; cảnh báo ln ln gây tràn 40 Hand-ShakeFailure Bên gửi đàm phán để thiết lập chấp nhận dịch vụ an ninh cho phiên làm việc; cảnh báo luôn gây tràn 41 NoCertificate Bên gửi (mà ln ln clients) khơng có giấy chứng nhận mà đáp ứng yêu cầu xác nhận máy chủ 42 BadCertificate Bên gửi nhận giấy chứng nhận sửa đổi (ví dụ, chữ ký khơng thể xác minh) 43 UnsupportedCertificate Bên gửi nhận giấy chứng nhận loại khơng thể hỗ trợ 44 Certificate-Revoked Bên gửi nhận giấy chứng nhận mà bị thu hồi quan cấp giấy chứng nhận 45 Certificate-Expired Bên gửi nhận giấy chứng nhận hết hạn 46 Certificate-Unknown Bên gửi vấn đề không xác định với giấy chứng nhận nhận 47 Illegal Parameter Bên gửi nhận tin nhắn bắt tay với giá trị tham số bất hợp pháp không phù hợp với thông số khác 48 UnknownCA https://www.facebook.com/codedoansinhvien Bên gửi khơng thể xác Trang 13 Cơng nghệ TLS – codedoansinhvien@gmail.com định không tin tưởng quan chứng nhận chuỗi giấy chứng nhận nhận được; cảnh báo luôn gây tràn 49 Access-Denied Bên gửi bên xác định giấy chứng nhận ngang hàng khơng có quyền truy cập để tiếp tục đàm phán; cảnh báo luôn gây tràn 50 DecodeError Bên gửi tin nhắn nhận giải mã vì trường giá trị khỏi phạm vi cho phép chiều dài tin nhắn không hợp lệ; cảnh báo luôn gây tràn 51 DecryptError Bên gửi hoạt động mật mã cần thiết để bắt tay đàm phán thất bại 60 ExportRestriction Bên gửi phát tham số đàm phán không phù hợp với hạn chế xuất áp dụng Hoa Kỳ; cảnh báo luôn gây tràn 70 Protocol-Version Bên gửi khơng thể hỗ trợ phiên giao thức TLS yêu cầu; cảnh báo luôn gây tràn 71 Insufficient-Security Bên gửi (luôn máy chủ) u cầu mật mã dãy phòng an toàn hỗ trợ clients; cảnh báo luôn gây tràn 80 InternalError Bên gửi lỗi địa phương để hoạt động độc lập giao thức https://www.facebook.com/codedoansinhvien Trang 14 Công nghệ TLS – codedoansinhvien@gmail.com TLS (như thất bại cấp phát nhớ) làm cho khơng thể tiếp tục; cảnh báo luôn gây tràn 90 UserCanceled Bên gửi muốn hủy bỏ việc đàm phán bắt tay vì lý khác lỗi giao thức; tin nhắn thường lời cảnh báo cần theo sau CloseNotify 100 NoRenegotiation Người gửi khơng thể thực theo yêu cầu ngang hàng để đàm phán lại TLS handshake; cảnh báo luôn gây tràn Mô tả cảnh báo TLS Xác thực thơng điệp Một lĩnh vực khác, TLS cải thiện so với SSL thuật toán để xác thực thông điệp Cách xác thực SSL kết hợp thơng tin liệu ứng dụng độc lập, tạo dành cho giao thức SSL Giao thức TLS dựa mã xác thực tin nhắn tiêu chuẩn gọi h-mac (for Hashed Message Authentication Code) Các thuật toán h-mac quy định tiêu chuẩn, bị phân tích mật mã nghiêm ngặt Các đặc điểm kỹ thuật h-mac bao gồm mơ tả xác phương pháp tiếp cận, mã nguồn mẫu, hình minh họa h-mac định dạng so sánh với số liệu khác văn Lưu ý h-mac khơng xác định thuật tốn băm cụ thể (như md5 hay sha); hơn, hoạt động hiệu với bất kỳ thuật toán băm đủ mạnh Thông điệp TLS mã xác thực ứng dụng đơn giản tiêu chuẩn h-mac Mac kết phương pháp h-mac, cách sử dụng thuật toán băm bất điều gì với phần mềm mật mã thương lượng yêu cầu Bí mật h-mac mac viết bí mật xuất phát từ bí mật tổng thể Bảng 1-3 liệt kê thơng tin bảo vệ https://www.facebook.com/codedoansinhvien Trang 15 Công nghệ TLS – codedoansinhvien@gmail.com Băm MAC hoạt động với thuật toán băm Các Cipher Suites Về bản, TLS gần hỗ trợ dãy cipher suites SSL, nhiên, rõ ràng hỗ trợ cho Fortezza/dms cipher suites gỡ bỏ Các mật mã định nghĩa dãy phòng TLS có khả mở rộng dãy phòng mật mã phát triển triển khai thực Bởi vì IETF có quy trình rõ ràng để đánh giá đề xuất, cải tiến dễ dàng để thêm vào TLS họ để SSL Bảng 1-5 liệt kê Cipher Suites TLS, với giá trị tin nhắn hello https://www.facebook.com/codedoansinhvien Trang 16 Cơng nghệ TLS – codedoansinhvien@gmail.com Hình 5: TLS uses the PRF for Finished messages Value Cipher Suite 0,0 TLS_NULL_WITH_NULL_NULL 0,1 TLS_RSA_WITH_NULL_MD5 0,2 TLS_RSA_WITH_NULL_SHA 0,3 TLS_RSA_EXPORT_WITH_RC4_40_MD5 0,4 TLS_RSA_WITH_RC4_128_MD5 0,5 TLS_RSA_WITH_RC4_128_SHA 0,6 TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 0,7 TLS_RSA_WITH_IDEA_CBC_SHA 0,8 TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 0,9 TLS_RSA_WITH_DES_CBC_SHA 0,10 TLS_RSA_WITH_3DES_EDE_CBC_SHA 0,11 TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 0,12 TLS_DH_DSS_WITH_DES_CBC_SHA 0,13 TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 0,14 TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 0,15 TLS_DH_RSA_WITH_DES_CBC_SHA https://www.facebook.com/codedoansinhvien Trang 17 Công nghệ TLS – codedoansinhvien@gmail.com 0,16 TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 0,17 TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 0,18 TLS_DHE_DSS_WITH_DES_CBC_SHA 0,19 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 0,20 TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 0,21 TLS_DHE_RSA_WITH_DES_CBC_SHA 0,22 TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 0,23 TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 0,24 TLS_DH_anon_WITH_RC4_128_MD5 0,25 TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 0,26 TLS_DH_anon_WITH_DES_CBC_SHA 0,27 TLS_DH_anon_WITH_3DES_EDE_CBC_SHA Bảng 1-5 TLS Version 1.0 Baseline CipherSuite Values Khả cộng tác với SSL Như trường hợp với chuyển đổi từ phiên SSL 2.0 sang phiên SSL 3.0, có cách rõ ràng cho hệ thống để hỗ trợ hai SSL 3.0 TLS 1.0 cách tương thích Một clients hỗ trợ phiên SSL 3.0 phiên TLS 1.0 phải gửi phiên SSL 3.0 ClientHello, với phiên giao thức thiết lập để 3.1 Nếu máy chủ TLS hiểu, phản ứng với TLS ServerHello; khơng, phản ứng với ServerHello SSL, clients biết để rơi trở lại phiên SSL 3.0 Máy chủ TLS hỗ trợ, họ không hỗ trợ SSL, cần chuẩn bị để chấp nhận SSL v3.0 ClientHello Nếu họ nhận thông điệp với phiên thiết lập để 3.1, họ tiến hành cách an tồn với bắt tay TLS Trường xác định kiểu bắt tay tin nhắn Message Types Code Description HelloRequest ClientHello https://www.facebook.com/codedoansinhvien Trang 18 Công nghệ TLS – codedoansinhvien@gmail.com ServerHello 11 Certificate 12 ServerKeyExchange 13 CertificateRequest 14 ServerHelloDone 15 CertificateVerify 16 ClientKeyExchange 20 Finished Tương lai SSL TLS Tương lai SSL TLS rõ ràng tay IETF, nhà phát triển trình duyệt web, máy chủ Web, hệ thống Internet khác có yêu cầu an ninh Phiên 3.0 ssl thành lập khu vực này, và, hệ thống nhiều kết nối với Internet giao dịch Internet nhiều yêu cầu an ninh, SSL ảnh hưởng phát triển Đã có, thiết bị khác nhau, từ nhận WebTV cho máy tính Palm bao gồm việc triển khai SSL TLS Ngoài ra, ứng dụng khác cho thương mại Web thường xuyên thực quyền lợi giao thức bảo mật hiệu mạng The Open Settlement Protocol, ví dụ, dựa vào SSL để đảm bảo dịch vụ dựa IP điện thoại, ứng dụng không dây Diễn đàn Nghị định thư xác định biến thể TLS3 cho việc đảm bảo thiết bị cầm tay Sự thay đổi từ SSL công nghệ độc quyền để TLS tiêu chuẩn mở tăng cường giao thức Bây TLS quản lý tổ chức tiêu chuẩn quốc tế, tham gia phát triển mở cửa cho bất kỳ bên quan tâm Quá trình chuẩn hóa TLS cho an ninh mạng cộng đồng tự nhiều để cải thiện nâng cao hoạt động giao thức Nếu lỗ hổng phát hiện, nên mới, hiệu thuật tốn mã hóa phát triển, dễ dàng nhiều để sửa đổi TLS thích hợp Điều đảm bảo lợi ích mình, tên nó, SSL tiếp tục hỗ trợ an tồn thơng tin liên lạc Internet nhiều năm tới Các ứng dụng TLS https://www.facebook.com/codedoansinhvien Trang 19 Công nghệ TLS – codedoansinhvien@gmail.com SSL TLS thực rộng rãi số dự án phần mềm mã nguồn mở Các lập trình viên sử dụng thư viện OpenSSL, NSS, GnuTLS cho chức SSL / TLS Microsoft Windows đưa thống xử lý SSL TLS vào làm phần gói Secure Channel mình Các lập trình viên Delphi sử dụng thư viện gọi Indy Khai triển trình duyệt Hầu hết tất trình duyệt web gần hỗ trợ TLS: Safari hỗ trợ TLS (chưa xác định phiên bản) Mozilla Firefox phiên hỗ trợ TLS 1.0 Internet Explorer Windows Windows Server 2008 R2 hỗ trợ TLS 1.2 Opera 10 hỗ trợ TLS 1.2 10 Sử dụng SSL/TLS 10.1 Cài đặt Certificate Services cho Windows 2003 Server Trong Windows 2003 Server, mở cửa sổ Control Panel Chọn Add/Remove Programs, chọn tiếp Add/Remove Windows Components 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 để hoàn thành trình cài đặt 10.2 Tạo yê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 https://www.facebook.com/codedoansinhvien Trang 20 Công nghệ TLS – codedoansinhvien@gmail.com 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 10.3 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 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 MIIC9DCCAl0CAQAwXzEQMA4GA1UEAxMHdGVzdGluZzEQMA4GA1UECxM HU3lzRGVwdDEQMA4GA1UEChMHTmV0U29mdDENMAsGA1UEBxMESENN QzELMAkGA1UECBMCVEIxCzAJBgNVBAYTAlZOMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQC3uElzTyLG7bwsPv0zuljVLodhZ3DvkOtyliod/iRjHlX VeG49WpDjFcp0vY2QFJClp0fvU586Bqnf6R1UbW7z8dDSLLo3gMQuyaYOAZhV HeeVVE4yv/vxuTBO+JW8wYN9NrsPsxHQiUgyyBIQgphnEyamClfeFYEimNQs9/3 tnQIDAQABoIIBUzAaBgorBgEEAYI3DQIDMQwWCjUuMC4yMTk1LjIwNQYKK wYBBAGCNwIBDjEnMCUwDgYDVR0PAQH/BAQDAgTwMBMGA1UdJQQMM AoGCCsGAQUFBwMBMIH9BgorBgEEAYI3DQICMYHuMIHrAgEBHloATQBpA GMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEAbgBuAGUAb AAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGk AZABlAHIDgYkAXxNuAz6gcBaZUdef8WQ2PAroKMW8sprcKv7QD2encz6/Wct9 DZ5CkGynLGy0f+Lff7ViSDJqxYWaJ68ddqgXyAqIilF63kivPTiC6yxLaNX65v3cnK Fx4UrUrGXZtub7M7/NuxSipOW0Vv7yCHganypxDyRzp6IhulEnL4APEH4AAAA AAAAAADANBgkqhkiG9w0BAQUFAAOBgQBmEU7t4rNg+xXg9l1YWh+ +Ye2x3yt3S9r+/LOblckL8jllmYsS7YLvHBQYXj9zN5mh2RpoLllWWlct7wHKWig8 https://www.facebook.com/codedoansinhvien Trang 21 Công nghệ TLS – codedoansinhvien@gmail.com 7G/oeBWeGIf9bJXJFvOBYO2x/eBwK+Qk0ufy1KIKUozeS7WnqaFFse+912/mqH5h 7bh+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 10.4 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 10.5 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 https://www.facebook.com/codedoansinhvien Trang 22 Công nghệ TLS – codedoansinhvien@gmail.com Chọn Select Pending request and install the certificate, chọn Next Chọn file certificate Nhấn Finish 10.6 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 10.7 Cài đặt Apache Webserver hỗ trợ SSL 10.7.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 10.7.2 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 https://www.facebook.com/codedoansinhvien Trang 23 Công nghệ TLS – codedoansinhvien@gmail.com 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 10.7.3 Start Apache webserver with ssl #apachectl startssl 10.7.4 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 Chạy MMC, vào Key Manager, chọn Create New Key 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 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 https://www.facebook.com/codedoansinhvien Trang 24 Công nghệ TLS – codedoansinhvien@gmail.com Cung cấp thông tin tổ chức bạn, nhấn Commit Change Now để Save khoá Kết cặp khoá (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ất định) Chọn Microsoft từ danh sách hãng phần mềm có sẵn 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 Về dịch vụ chứng thực điện tử : http://www.digitalid.verisign.com http://www.verisign.com TÀI LIỆU THAM KHẢO The Transport Layer Security Ver1.1 The Transport Layer Security Ver1.2 https://www.facebook.com/codedoansinhvien Trang 25 Công nghệ TLS – codedoansinhvien@gmail.com The Transport Layer Security Ver1.3 SSL SSL and TLS Essentials, Securing the Web (2000) Stephen Thomas SSL & TLS Essentials Securing the Web 2000 Mission Critical Internet Security Syngress Publishing, Inc, 2001 Hack Proofing Your Web Applications Syngress Publishing, Inc, 2001 https://www.facebook.com/codedoansinhvien Trang 26 ... Suite 0,0 TLS_ NULL_WITH_NULL_NULL 0,1 TLS_ RSA_WITH_NULL_MD5 0,2 TLS_ RSA_WITH_NULL_SHA 0,3 TLS_ RSA_EXPORT_WITH_RC4_40_MD5 0,4 TLS_ RSA_WITH_RC4_128_MD5 0,5 TLS_ RSA_WITH_RC4_128_SHA 0,6 TLS_ RSA_EXPORT_WITH_RC2_CBC_40_MD5... mà TLS 1.0 SSL 3.0 không tương thích." TLS 1.0 bao gồm phương tiện mà TLS thực hạ cấp kết nối đến SSL 3.0 TLS 1.1(SSL 3.2) TLS 1.1 quy định RFC 4.346 tháng năm 2006 Đây cập nhật từ phiên 1.0 TLS. .. TLS_ RSA_EXPORT_WITH_RC2_CBC_40_MD5 0,7 TLS_ RSA_WITH_IDEA_CBC_SHA 0,8 TLS_ RSA_EXPORT_WITH_DES40_CBC_SHA 0,9 TLS_ RSA_WITH_DES_CBC_SHA 0,10 TLS_ RSA_WITH_3DES_EDE_CBC_SHA 0,11 TLS_ DH_DSS_EXPORT_WITH_DES40_CBC_SHA 0,12 TLS_ DH_DSS_WITH_DES_CBC_SHA