1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Mật mã và an toàn dữ liệu Tìm hiểu công nghệ Công nghệ TLS (Transport Layer Security)

26 1,1K 10

Đ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

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 347,5 KB

Nội dung

Tiểu luận môn Mật mã và an toàn dữ liệu Tìm hiểu công nghệ Công nghệ TLS (Transport Layer Security) 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 đó. 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 MỤC LỤC MỤC LỤC 1 1. Mở đầu 3 2. SSL(Secure Socket Layer) và TLS (Transport Layer Security) 3 2.1. Lịch sử SSL và TSL 3 2.2. Sự khác nhau giữa SSL và TLS 5 2.3. SSL/TLS làm giao thức bảo mật riêng 6 2.4. Tính năng bảo đảm an toàn của SSL/TLS 6 3. Các thành phần của TLS 7 3.1. TLS Record Protocol 8 3.2. TLS Handshake Protocol 8 3.2.1. Giai đoạn thương lượng: 9 3.2.2. Giai đoạn ứng dụng: 11 4. Các loại tin nhắn giao thức cảnh báo 11 5. Xác thực thông điệp 15 6. Các Cipher Suites cơ bản 16 7. Khả năng cộng tác với SSL 18 8. Tương lai của SSL và TLS 19 9. Các ứng dụng của TLS 20 10. Sử dụng SSL/TLS 20 10.1 Cài đặt Certificate Services cho Windows 2003 Server 20 10.2 Tạo một yêu cầu Certificate 20 10.3 Gởi yêu cầu certificate 21 10.4 Phát sinh và download 1 Certificate 22 10.5 Cài SSL cho web site 22 10.6 Cấu hình 23 10.7 Cài đặt Apache Webserver hỗ trợ SSL 23 10.7.1 Các packages cần cài đặt 23 10.7.2 Biên dịch 23 Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 1 Công nghệ TLS 10.7.3 Start Apache webserver with ssl 24 10.7.4 Cấu hình httpd.conf 24 TÀI LIỆU THAM KHẢO 25 Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 2 Công nghệ TLS 1. Mở đầu 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. 2. SSL(Secure Socket Layer) và TLS (Transport Layer Security) 2.1. Lịch sử SSL và TSL SSL và biến thể của nó TLS là các giao thức có thể được sử dụng để thiết lập và sử dụng một kênh truyền thông an toàn giữa hai trình ứng dụng (khách hàng – máy chủ) có trao đổi thông tin. SSL là một giao thức lập mạng máy tính cung cấp tính năng chứng thực, bảo mật và đảm bảo tính toàn vẹn cho thông tin được trao đổi bởi các phương tiện sử dụng mạng máy tính. Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 3 Công nghệ TLS Trước đây, SSL được thiết kế bởi tổ chức Netscape Communications vào năm 1994. SSL phiên bản 1.0 chưa từng được công bố mà chỉ được sử dụng trong nội bộ của Netscape. Phiên bản được ban hành lần đầu tiên, SSL 2.0, thì lại có những nhược điểm nghiêm trọng đòi hỏi phải cho ra đời một phiên bản SSL mới. 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ững nhược điểm của SSLv2. Đáp lại, Netscape cũng phát triển SSL phiên bản 3.0 để giải quyết nhược điểm SSLv2 và cung cấp thêm một số tính năng mà PCT không có. Tháng 5 năm 1996, cơ 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 hiện tiêu chuẩn hóa giao thức dạng SSL. TLS 1.0 lần đầu tiên được định nghĩa trong RFC 2246 vào tháng 1 1999 như là một nâng cấp lên phiên bản SSL 3.0. Như đã nêu trong RFC, "sự khác biệt giữa giao thức này và SSL 3.0 này không đáng kể, nhưng họ đủ quan trọng mà TLS 1.0 và SSL 3.0 không tương thích." TLS 1.0 bao gồm một phương tiện mà một TLS thực hiện có thể hạ cấp kết nối đến SSL 3.0. TLS 1.1(SSL 3.2) TLS 1.1 được quy định tại RFC 4.346 trong tháng 4 năm 2006. Đây là một bản cập nhật từ phiên bản 1.0 TLS. Sự khác biệt đáng kể trong phiên bản này 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) được thay thế bằng một IV rõ ràng. Thay đổi trong việc xử lý sai sót padding. Hỗ trợ cho các thông số đăng ký IANA. TLS 1.2 đã được định nghĩa trong RFC 5.246 trong tháng 8 năm 2008. Nó dựa trên TLS trước đó 1.1 đặc điểm kỹ thuật. sự khác biệt chính bao gồm: Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 4 Công nghệ TLS Sự kết hợp MD5/SHA-1 trong chức năng pseudorandom (PRF) đã được thay thế với SHA-256, với một tùy chọn để sử dụng mật mã, bộ quy định PRFs. Sự kết hợp MD5/SHA-1 trong hash kết thúc tin nhắn đã được thay thế với SHA-256, với một tùy chọn để sử dụng thuật toán mã hóa-suite thuật toán băm cụ thể. Sự kết hợp MD5/SHA-1 trong các yếu tố kỹ thuật số, ký kết được thay thế bằng một hash đơn đàm phán trong cái bắt tay, mặc định là SHA-1. Nâng cao trong các clients và khả năng của máy chủ để xác định các thuật toán hash và chữ ký của họ sẽ chấp nhận. Mở rộng hỗ trợ cho các thuật toán mã hóa mật mã xác thực, được sử dụng chủ yếu cho Galois / Counter Mode (GCM) và chế độ CCM của mã hóa AES. TLS mở rộng định nghĩa và Advanced Encryption Standard (AES) CipherSuites được thêm vào. 2.2. Sự khác nhau giữa SSL và 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 Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 5 Công nghệ TLS 2.3. SSL/TLS làm giao thức bảo mật riêng SSL đã được tạo riêng thành giao thức chỉ dùng cho bảo mật. Trong đó, một tầng bảo mật đặc biệt đã được thêm vào kiến trúc của giao thức Internet. Ở dưới cùng là giao thức Internet (IP) chịu trách nhiệm về định tuyến tin nhắn trên mạng. Giao thức Kiểm soá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 trên cùng là Giao thức Truyền Đa Văn Bản (HTTP) có thể xác định được các chi tiết của quá trình tương tác giữa các trình duyệt Web và máy chủ Web. SSL thêm vào tính năng bảo đảm an toàn bằng cách vận hành như một giao thức bảo mật riêng đòi hỏi rất ít sự thay đổi trong các giao thức đã nói trên và dưới đây. Đó là lý do tại sao nó có thể bảo đảm an toàn cho các ứng dụng Internet khác như HTTP(HTTPS), SMTP (SMTPS), NNTP(NNTPS), LDAP(LDAPS), FTP(FTPS), telnet (telnets), IMAP4(IMAPS), POP3(POP3S). 2.4. Tính năng bảo đảm an toàn của SSL/TLS SSL/TLS được đánh giá là mạnh như các hàm mã hóa bên trong giao thức này. Trong phiên bản cuối cùng TLS 1.2 (RFC 5246), thuật toán SHA256 được sử dụng cho hàm giả ngẫu nhiên (PRF) và HMAC – hàm băm duy nhất theo yếu tố ký số, bộ mã hóa AES và 3DES đã thay thế cho IDEA và DES cũ. TLS 1.2 có năm thuộc tính mã hóa được 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 Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 6 Công nghệ TLS 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 dữ liệu bổ sung (AEAD) và mã hóa khóa công cộng. Sự hỗ trợ mở rộng cho các mật mã mã hóa có chứng thực, được sử dụng chủ yếu cho chế đọ Galois/Counter (GCM) và chế độ CCM của mã hóa AES (Advanced Encryption Standard –Tiêu chuẩn mã hóa cao cấp). Chương trình cũng thêm định nghĩa các phần mở rộng TLS và các bộ mật mã AES. Máy khách có thể sử dụng khóa công cộng của cơ quan chứng nhận (CA) để xác nhận chữ ký số của CA trong chứng nhận máy chủ. Nếu có thể xác minh chữ ký số đó thì máy khách sẽ tiếp nhận giấy chứng nhận máy chủ làm chứng nhận hợp pháp được phát hành bởi CA đáng tin. Bảo vệ chống lại sự xuống cấp của giao thức trong phiên bản trước (phiên bản ít an toàn hơn) hoặc bộ mật mã yếu hơn. Đánh số cho tất cả các bản ghi của Ứng dụng với một mã số thứ tự và sử dụng mã số thứ tự này trong các mã chứng thực tin (MAC). Sử dụng digest của tin nhắn được củng cố thêm bởi một khóa (vì vậy chỉ có người giữ khóa mới có thể kiểm tra MAC). Cấu trúc HMAC được sử dụng bởi hầu hết các bộ mật mã TLS ciphersuites là được quy định trong RFC 2104 (SSLv3 được sử dụng bởi MAC dựa trên cơ sở hàm băm khác). Tin nhắn hoàn thành quá trình thỏa thuận ("Finished") sẽ gửi một hàm băm của tất cả các tin nhắn thương lượng được trao đổi mà cả hai bên đầu có thể xem. 3. Các thành phần của TLS Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 7 Công nghệ TLS 3.1. TLS Record Protocol 3.2. TLS Handshake Protocol Một máy khách và máy chủ TLS sẽ thương lượng một hoạt động kết nối bằng cách sử dụng thủ tục thương lượng. Trong quá trình thương lượng, máy khách và máy chủ sẽ thỏa thuận về các tham số khác nhau được sử dụng để thiết lập kết nối an toàn (các kết nối trong kênh mã hóa). Quá trình thương lượng bắt đầu khi một máy khách kết nối với một máy chủ yêu cầu kết nối an toàn (https), và trình diễn một danh sách các bộ mật mã được hỗ trợ (các mật mã và hàm băm). Từ danh sách của máy khách này, máy chủ sẽ chọn ra mật mã mạnh nhất và hàm băm mà nó cũng hỗ trợ, sau đó thông báo về quyết định này cho máy khách. Máy chủ sẽ gửi lại bản nhận dạng của nó dưới dạng chứng nhận số. Giấy chứng nhận này thường có chứa tên máy chủ, các cơ quan chứng nhận (CA) đáng tin cậy, và khóa mã hóa công cộng của máy chủ. Máy khách có thể liên lạc với máy chủ phát hành giấy chứng nhận (tức là CA đáng tin cậy như đã nói ở trên) và xác nhận rằng chứng nhận mang tính hợp lệ trước khi tiến hành. Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 8 Công nghệ TLS Để tạo ra các khóa phiên sử dụng cho kết nối an toàn, máy khách cần mã hóa một mã số ngẫu nhiên (RN) với khóa công cộng của máy chủ (PbK), và gửi kết quả đến máy chủ. Chỉ có máy chủ mới có thể giải mã nó (với khóa riêng của mình (PvK)): thực tế này khiến cho các bên thứ ba không thể xem các phím đó vì chỉ có máy chủ và máy khách mới có thể truy cập vào dữ liệu này. Máy khách sẽ được biết PbK và RN, và máy chủ được biết về PvK cùng RN (sau khi giải mã tin nhắn của máy khách). Một bên thứ ba chỉ có thể biết RN nếu xâm nhập được vào PvK. Từ mã số ngẫu nhiên đã cho, cả hai bên đều tạo ra dữ liệu khóa để phục vụ cho việc mã hóa cũng như giải mã dữ liệu (tin nhắn). Điều này sẽ kết thúc quá trình thương lượng và bắt đầu kết nối an toàn, được mã hóa và giải mã với dữ liệu khóa đã tạo cho đến khi kết nối kết thúc. Quá 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: Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 9 Công nghệ TLS - Client gửi một tin nhắn mang tên ClientHello để xác định phiên bản cao nhất của giao thức SSL/TLS mà nó hỗ trợ, một mã số ngẫu nhiên, một danh sách các bộ mật mã và phương pháp nén được hỗ trợ. - Server phản hồi lại bằng tin nhắn ServerHello, bao gồm phiên bản giao thức được chọn, mã số ngẫu nhiên, bộ mật mã và phương pháp nén từ lựa chọn được máy khách đưa ra. Máy chủ cũng có thể gửi một phiên id làm phần tin nhắn thực hiện quá trình thương lượng nối tiếp. - Server gửi tin nhắn Certificate (tùy thuộc vào bộ mật mã được chọn). Server yêu cầu giấy chứng nhận từ máy khách để kết nối có thể được cả hai bên chứng thực, sử dụng tin nhắn CertificateRequest. - Server gửi tin nhắn ServerHelloDone để cho biết nó đã thực hiện quá trình thương lượng. Client phản hồi bằng tin nhắn Certificate có chứa giấy chứng nhận của máy khách. - Client gửi tin nhắn ClientKeyExchange mà có thể có chứa PreMasterSecret, khóa công cộng hoặc không có gì. PreMasterSecret được mã hóa bằng cách sử dụng khóa công cộng của giấy chứng nhận máy chủ. Client gửi tin nhắn CertificateVerify, nó là một chữ ký trên các tin nhắn trước có sử dụng khóa cá nhân trong giấy chứng nhận của máy khách. Chữ ký này có thể được xác nhận bằng cách sử dụng khóa công cộng của giấy chứng nhận máy khách. Điều này sẽ giúp cho máy chủ biết được máy khách truy cập vào khóa cá nhân và sở hữu giấy chứng nhận đó. Sau đó, máy khách và máy chủ sẽ sử dụng các số ngẫu nhiên và PreMasterSecret để tính toán bí mật chung, được gọi là "master secret" (bí mật chính). Tất cả các dữ liệu khóa khác được sử dụng cho kết nối này đều xuất phát từ bí mật chính này (các giá trị ngẫu nhiên được máy khách và máy chủ tạo ra), thông qua một “hàm giả ngẫu nhiên” được thiết kế một cách cẩn trọng. Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 10 . TLS 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_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_ 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 Đoàn

Ngày đăng: 19/10/2014, 16:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w