Bài giảng Mật mã học - Chương 5+6
NỘI DUNG BÀI HỌC
1. Vị trí của mật mã trong mạng máy tính
2. Cơ sở hạ tầng khoá công khai
3. IPsec
4. SSL/TLS
5. PGP và S/MIME
6. Kerberos
7. SSH
8. Bài tập
Tóm tắt nội dung Bài giảng Mật mã học - Chương 5+6, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
h của PGP 75 5. PGP và S/MIME S/MIME S/MIME (Secure/Multipurpose Internet Mail Extensions) Là một chuẩn Internet về định dạng cho email. Hầu như mọi email trên Internet được truyền qua giao thức SMTP theo định dạng MIME. S/MIME đưa vào hai phương pháp an ninh cho email: mã hóa email và chứng thực. Cả hai cách đều dựa trên mã hóa bất đối xứng và PKI. 76 5. PGP và S/MIME S/MIME 77 5. PGP và S/MIME S/MIME 78 5. PGP và S/MIME S/MIME Các tính năng của một Webmail client hỗ trợ S/MIME: Tạo ra một chữ ký số cho một email gửi đi để đảm bảo người nhận email tin rằng không có sự can thiệp và được đến từ người gửi. Mã hóa một email gửi đi để ngăn chặn bất cứ ai xem, thay đổi... Nội dung của email trước khi đến với người nhận. Xác minh chữ ký số của một email đã ký đến với một quá trình liên quan đến một danh sách thu hồi chứng chỉ (CRL). Tự động giải mã một email gửi đến để người nhận có thể đọc được nội dung của email. Trao đổi chữ ký hoặc email đã được mã hóa với những người dùng khác của S/MIME. 79 5. PGP và S/MIME S/MIME 80 5. PGP và S/MIME S/MIME 81 5. PGP và S/MIME S/MIME 82 6. Kerberos 83 6. Kerberos Tổng quan Kerberos là một giao thức mã hoá dùng để xác thực trong các mạng máy tính hoạt động trên những đường truyền không an toàn. Giao thức Kerberos có khả năng chống lại việc nghe lén hay gửi lại các gói tin cũ và đảm bảo tính toàn vẹn của dữ liệu. Mục tiêu khi thiết kế giao thức này là nhằm vào client- server và đảm bảo chứng thực cho cả hai chiều. Giao thức được xây dựng dựa trên mật mã hóa khóa đối xứng và cần đến một bên thứ ba mà cả hai phía tham gia giao dịch tin tưởng. 84 6. Kerberos Tổng quan Học viện kỹ thuật Massachusetts (MIT) phát triển Kerberos để bảo vệ các dịch vụ mạng cung cấp bởi dự án Athena. Tên của giao thức được đặt theo tên của con chó ba đầu Cerberus canh gác cổng địa ngục trong thần thoại Hy Lạp. Giao thức đã được phát triển dưới nhiều phiên bản, trong đó các phiên bản từ 1 đến 3 chỉ dùng trong nội bộ MIT. Các hệ điều hành Windows XP và Windows Server 2003 sử dụng một phiên bản thực hiện Kerberos làm phương pháp mặc định để chứng thực. Hệ điều hành Mac OS cũng sử dụng Kerberos trong các phiên bản máy khách và máy chủ của mình. 85 6. Kerberos Tổng quan 86 6. Kerberos Tổng quan 87 6. Kerberos Tổng quan 88 6. Kerberos Tổng quan 89 6. Kerberos Mô tả phiên giao dịch Với: AS = Máy chủ chứng thực (authentication server), TGS = Máy chủ cấp vé (ticket granting server), SS = Máy chủ dịch vụ (service server). Nội dung chính: người sử dụng chứng thực mình với máy chủ chứng thực AS, sau đó chứng minh với máy chủ cấp vé TGS rằng mình đã được chứng thực để nhận vé, cuối cùng chứng minh với máy chủ dịch vụ SS rằng mình đã được chấp thuận để sử dụng dịch vụ. 1. Người sử dụng nhập tên và mật khẩu tại máy tính của mình (máy khách). 2. Phần mềm máy khách thực hiện hàm băm một chiều trên mật khẩu nhận được. Kết quả sẽ được dùng làm khóa bí mật của người sử dụng. 90 6. Kerberos Mô tả phiên giao dịch 3. Phần mềm máy khách gửi một gói tin (không mật mã hóa) tới máy chủ dịch vụ AS để yêu cầu dịch vụ. Nội dung của gói tin đại ý: "người dùng XYZ muốn sử dụng dịch vụ". (Cả khóa bí mật lẫn mật khẩu đều không được gửi tới AS). 4. AS kiểm tra nhân dạng của người yêu cầu có nằm trong cơ sở dữ liệu của mình không. Nếu có thì AS gửi 2 gói tin sau tới người sử dụng: Gói tin A: "Khóa phiên TGS/máy khách" được mật mã hóa với khóa công khai của người sử dụng. Gói tin B: "Vé chấp thuận" (bao gồm định danh người sử dụng (ID), địa chỉ mạng của người sử dụng, thời hạn của vé và "Khóa phiên TGS/máy khách") được mật mã hóa với khóa bí mật của TGS. 91 6. Kerberos Mô tả phiên giao dịch 5. Khi nhận được 2 gói tin trên, phần mềm máy khách giải mã gói tin A để có khóa phiên với TGS. (Người sử dụng không thể giải mã được gói tin B vì nó được mã hóa với khóa bí mật của TGS). Tại thời điểm này, người dùng có thể nhận thực mình với TGS. 6. Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói tin sau tới TGS: Gói tin C: Bao gồm "Vé chấp thuận" từ gói tin B và chỉ danh (ID) của yêu cầu dịch vụ. Gói tin D: Phần nhận thực (bao gồm chỉ danh người sử dụng và thời điểm yêu cầu), mật mã hóa với "Khóa phiên TGS/máy khách". 92 6. Kerberos Mô tả phiên giao dịch 7. Khi nhận được 2 gói tin C và D, TGS giải mã D rồi gửi 2 gói tin sau tới người sử dụng: Gói tin E: "Vé" (bao gồm chỉ danh người sử dụng, địa chỉ mạng người sử dụng, thời hạn sử dụng và "Khóa phiên máy chủ/máy khách") mật mã hóa với khóa bí mật của máy chủ cung cấp dịch vụ. Gói tin F: "Khóa phiên máy chủ/máy khách" mật mã hóa với "Khóa phiên TGS/máy khách". 93 6. Kerberos Mô tả phiên giao dịch 8. Khi nhận được 2 gói tin E và F, người sử dụng đã có đủ thông tin để nhận thực với máy chủ cung cấp dịch vụ SS. Máy khách gửi tới SS 2 gói tin: Gói tin E thu được từ bước trước (trong đó có "Khóa phiên máy chủ/máy khách" mật mã hóa với khóa bí mật của SS). Gói tin G: phần nhận thực mới, bao gồm chỉ danh người sử dụng, thời điểm yêu cầu và được mật mã hóa với "Khóa phiên máy chủ/máy khách". 94 6. Kerberos Mô tả phiên giao dịch 9. SS giải mã "Vé" bằng khóa bí mật của mình và gửi gói tin sau tới người sử dụng để xác nhận định danh của mình và khẳng định sự đồng ý cung cấp dịch vụ: Gói tin H: Thời điểm trong gói tin yêu cầu dịch vụ cộng thêm 1, mật mã hóa với "Khóa phiên máy chủ/máy khách". 10.Máy khách giải mã gói tin xác nhận và kiểm tra thời gian có được cập nhật chính xác. Nếu đúng thì người sử dụng có thể tin tưởng vào máy chủ SS và bắt đầu gửi yêu cầu sử dụng dịch vụ. 11.Máy chủ cung cấp dịch vụ cho người sử dụng. 95 6. Kerberos Mô tả phiên giao dịch 96 7. SSH Tổng quan Telnet, rlogin, rsh, rcp, và FTP đã từng là những giao thức lớp ứng dụng phổ biến giúp người dùng đăng nhập vào một máy tính từ xa và truyền file giữa các máy tính trên mạng. Tuy nhiên, các giao thức này truyền tải dữ liệu thô mà không có bất kỳ sự bảo vệ nào, nên dễ bị đánh cắp mật khẩu, nghe trộm, giả mạo IP, và các loại tấn công khác. Năm 1995, nhà nghiên cứu người Phần Lan Tatu Ylonen đưa ra giải thuật Secure Shell (SSH) để bảo vệ việc đăng nhập từ xa đối với các cuộc tấn công bảo mật. 97 7. SSH Tổng quan SSH được định nghĩa trong RFC 4251. SSH sử dụng cổng TCP 22. SSH có thể hoạt động trên các flatform khác nhau: – Kết nối đến một máy chủ SSH trên một router của Cisco từ một máy khách chạy Windows – Kết nối đến một máy chủ Linux từ một router Cisco hay có thể kết nối đến một máy chủ Windows 2008 từ một máy khách sử dụng hệ điều hành Linux. 98 7. SSH Tổng quan SSH tạo ra một kết nối bảo mật giữa hai máy tính sử dụng các giải thuật mã hoá và chứng thực. Có khả năng nén dữ liệu, bảo mật cho dữ liệu truyền (SFTP) và sao chép file (SCP). Là giao thức ứng dụng client-server. SSH được chia thành 3 lớp trong lớp ứng dụng của mô hình mạng TCP/IP: – Connection Layer – User Authentication Layer – Transport Layer 99 7. SSH Tổng quan 100 7. SSH Cách thức hoạt động SSH được thực hiện qua 3 bước: 1. Định danh host: – Việc định danh host được thực hiện qua việc trao đổi khoá. Mỗi máy tính có hỗ trợ kiểu truyền thông SSH có một khoá định danh duy nhất. Khoá này gồm hai thành phần: khoá riêng và khoá công khai. Khoá công khai được sử dụng khi cần trao đổi giữa các máy chủ với nhau trong phiên làm việc SSH, dữ liệu sẽ được mã hoá bằng khoá công khai và chỉ có thể giải mã bằng khoá riêng. 101 7. SSH Cách thức hoạt động SSH được thực hiện qua 3 bước: 1. Định danh host: – Khi hai hệ thống bắt đầu một phiên làm việc SSH, máy chủ sẽ gửi khoá công khai của nó cho máy khách. Máy khách sinh ra một khoá phiên ngẫu nhiên và mã hoá khoá này bằng khoá công cộng của máy chủ, sau đó gửi lại cho máy chủ. Máy chủ sẽ giải mã khoá phiên này bằng khoá riêng của mình và nhận được khoá phiên. Khoá phiên này sẽ là khoá sử dụng để trao đổi dữ liệu giữa hai máy. Quá trình này được xem như các bước nhận diện máy chủ và máy khách. 102 7. SSH Cách thức hoạt động 103 7. SSH Cách thức hoạt động SSH được thực hiện qua 3 bước: 2. Mã hoá: – Sau khi hoàn tất việc thiết lập phiên làm việc bảo mật (trao đổi khoá, định danh), quá trình trao đổi dữ liệu diễn ra thông qua một bước trung gian đó là mã hoá/giải mã. Dữ liệu gửi/nhận trên đường truyền đều được mã hoá và giải mã theo cơ chế đã thoả thuận trước giữa máy chủ và máy khách. – Việc lựa chọn cơ chế mã hoá thường do máy khách quyết định. Các cơ chế mã hoá thường được chọn bao gồm: 3DES, IDEA, và Blowfish. Khi cơ chế mã hoá được lựa chọn, máy chủ và máy khách trao đổi khoá mã hoá cho nhau. 104 7. SSH Cách thức hoạt động SSH được thực hiện qua 3 bước: 3. Chứng thực: – Mỗi định danh và truy nhập của người sử dụng có thể được cung cấp theo nhiều cách khác nhau. Chẳng hạn, kiểu chứng thực rhosts có thể được sử dụng, nhưng không phải là mặc định; nó đơn giản chỉ kiểm tra định danh của máy khách được liệt kê trong file rhost (theo DNS và địa chỉ IP). – Việc chứng thực mật khẩu là một cách rất thông dụng để định danh người sử dụng, nhưng ngoài ra cũng có các cách khác: chứng thực RSA, sử dụng ssh-keygen và ssh-agent để chứng thực các cặp khoá. 105 8. Bài tập 1. Trình bày cơ chế Anti-Replay của giao thức AH trong IPsec. 2. Nêu các ứng dụng của Ipsec. 3. Replay attack là gì? 4. Sử dụng ví dụ để trình bày chi tiết cơ chế hoạt động của SSL. 5. Mô tả chi tiết hoạt động của giao thức SSH. 106 8. Bài tập 6. Nêu sự khác biệt giữa transport mode và tunnel mode. 7. Nêu các yêu cầu cần thiết khi triển khai Kerberos. 8. Trình bày mục tiêu của chuẩn X.509. 9. X.509 thu hồi các chứng chỉ bằng cách nào? 10. Xây dựng một bảng tổng hợp về vai trò, công dụng, đặc điểm của các giao thức nêu trong bài.
File đính kèm:
- bai_giang_mat_ma_hoc_chuong_56.pdf