Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
279,5 KB
Nội dung
Đề tài: KERBEROS GV hướng dẫn: Nhóm SV thực hiện: 1. Lê Vũ Phong 2. Lê Hồ Chí Quốc Lớp: HTTT K30 MỤC LỤC I. NHỮNG KHÁI NIỆM LIÊN QUAN 1. An toàn thông tin 1.1 Khái niệm An toàn nghĩa là thông tin được bảo vệ, các hệ thống và những dịch vụ có khả năng chống lại những tai hoạ, lỗi và sự tác động không mong đợi, các thay đổi tác động đến độ an toàn của hệ thống là nhỏ nhất. Hệ thống có một trong các đặc điểm sau là không an toàn: Các thông tin dữ liệu trong hệ thống bị người không được quyền truy nhập tìm cách lấy và sử dụng (thông tin bị rò rỉ). Các thông tin trong hệ thống bị thay thế hoặc sửa đổi làm sai lệch nội dung (thông tin bị xáo trộn) Thông tin chỉ có giá trị cao khi đảm bảo tính chính xác và kịp thời, hệ thống chỉ có thể cung cấp các thông tin có giá trị thực sự khi các chức năng của hệ thống đảm bảo hoạt động đúng đắn. Mục tiêu của an toàn bảo mật trong công nghệ thông tin là đưa ra một số tiêu chuẩn an toàn. Ứng dụng các tiêu chuẩn an toàn này vào đâu để loại trừ hoặc giảm bớt các nguy hiểm. Do kỹ thuật truyền nhận và xử lý thông tin ngày càng phát triển đáp ứng cácyêu cầu ngày càng cao nên hệ thống chỉ có thể đạt tới độ an toàn nào đó. Quản lý an toàn và sự rủi ro được gắn chặt với quản lý chất lượng. Khi đánh giá độ an toàn thông tin cần phải dựa trên phân tích các rủi ro, tăng sự an toàn bằng cách giảm tối thiểu rủi ro. Các đánh giá cần hài hoà với đặc tính, cấu trúc hệ thống và quá trình kiểm tra chất lượng. Hiện nay các biện pháp tấn công càng ngày càng tinh vi, sự đe doạ tới độ an toàn thông tin có thể đến từ nhiều nơi theo nhiều cách chúng ta nên đưa ra các chính sách và phương pháp đề phòng cần thiết. 1.2 Taị sao phải quan tâm đến an toàn thông tin? Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể được quy tụ vào ba nhóm sau: Bảo vệ an toàn thông tin bằng các biện pháp hành chính. Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng). Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm). Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xân nhập nhất đó là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp thuật toán. An toàn thông tin bao gồm các nội dung sau: Đảm bảo tính tin cậy (Confidentiality): Thông tin không thể bị truy nhập trái phép bởi những người không có thẩm quyền. Đảm bảo tính nguyên vẹn (Integrity): Thông tin không thể bị sửa đổi, bị làm giả bởi những người không có thẩm quyền. Đảm bảo tính sẵn sàng (Availability): Thông tin luôn sẵn sàng để đáp ứng sử dụng cho người có thẩm quyền. Đảm bảo tính không thể từ chối (Non-repudiation): Thông tin được cam kết về mặt pháp luật của người cung cấp. Xác định càng chính xác các nguy cơ nói trên thì càng quyết định được tốt các giải pháp để giảm thiểu các thiệt hại. Có hai loại hành vi xâm phạm thông tin dữ liệu đó là: vi phạm chủ động và vi phạm thụ động. Vi phạm thụ động chỉ nhằm mục đích cuối cùng là nắm bắt được thông tin (đánh cắp thông tin). Việc làm đó có khi không biết được nội dung cụ thể nhưng có thể dò ra được người gửi, người nhận nhờ thông tin điều khiển giao thức chứa trong phần đầu các gói tin. Kẻ xâm nhập có thể kiểm tra được số lượng, độ dài và tần số trao đổi. Vì vậy vi pham thụ động không làm sai lệch hoặc hủy hoại nội dung thông tin dữ liệu được trao đổi. Vi phạm thụ động thường khó phát hiện nhưng có thể có những biện pháp ngăn chặn hiệu quả. Vi phạm chủ động là dạng vi phạm có thể làm thay đổi nội dung, xóa bỏ, làm trễ, xắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời điểm đó hoặc sau đó một thời gian. Vi phạm chủ động có thể thêm vào một số thông tin ngoại lai để làm sai lệch nội dung thông tin trao đổi. Vi phạm chủ động dễ phát hiện nhưng để ngăn chặn hiệu quả thì khó khăn hơn nhiều. Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệu nào là an toàn tuyệt đối. Một hệ thống dù được bảo vệ chắc chắn đến đâu cũng không thể đảm bảo là an toàn tuyệt đối. 2. Giao thức xác thực 2.1 Khái niệm Xác thực-Authentication là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó (hoặc một người nào đó) đáng tin cậy, có nghĩa là, những lời khai báo do người đó đưa ra hoặc về vật đó là sự thật. Xác thực một đối tượng còn có nghĩa là công nhận nguồn gốc (provenance) của đối tượng trong khi, xác thực một người thường bao gồm việc thẩm tra nhận dạng của họ. Việc xác thực thường phụ thuộc vào một hoặc nhiều nhân tố xác thực (authentication factors) để minh chứng cụ thể. Trong an ninh máy tính xác thực là một quy trình nhằm cố gắng xác minh nhận dạng số (digital identity) của phần truyền gửi thông tin (sender) trong giao thông liên lạc chẳng hạn như một yêu cầu đăng nhập. Phần gửi cần phải xác thực có thể là một người dùng sử dụng một máy tính, bản thân một máy tính hoặc một chương trình ứng dụng máy tính (computer program). Ngược lại Sự tin cậy mù quáng (blind credential) hoàn toàn không thiết lập sự đòi hỏi nhận dạng, song chỉ thiết lập quyền hoặc địa vị hẹp hòi của người dùng hoặc của chương trình ứng dụng mà thôi. Đinh nghĩa toán học Một mã xác thực là một bộ 4 (S,R,K,C) thoả mãn các điều kiện sau : − S là tập hữu hạn các trạng thái nguồn có thể − A là tập hợp các nhãn xác thực có thể − K là một tập hữu hạn các khoá có thể (không gian khoá) − Với mỗi k∈K có một quy tắc xác thực ek : S→R − Tập bản tin được xác định bằng C=S→R Chú ý một trạng thái nguồn tương đương với một bản rõ.Một bản tin gồm một bản rõ với một nhãn xác thực kèm theo,một cách chính xác hơn có thể coi đó là là một bản tin đã được xác nhận.Một quy tắc xác thực không nhất thiết phải là hàm đơn ánh. Để phát một thông báo (đã được kí).Alice và Bob phải tuân theo giao thức sau.Trước tiên họ phải chọn một khoá ngẫu nhiên K∈K.Điều này được thực hiện một cách bí mật như trong hệ mật khoá bi mật. Sau đó giả sử rằng Alice muốn gửi một trạng thái nguồn s∈S cho Bob trong một kênh không an toàn.Alice sẽ tính a=ek(s) và gửi bản tin (s, a) cho Bob.Khi nhận được (s, a) Bob tính a’=eK(s).Nếu a=a’ thì Bob chấp nhận bản tin là xác thực,ngược lại Bob sẽ loại bỏ nó. Ta sẽ nghiên cứu hai kiểu tấn công khác nhau mà Oscar có thể tiến hành.Trong cả hai loại này, Oscar sẽ là’’kẻ xâm nhập vào giưa cuộc’’.Các phép tấn công này được mô tả như sau: • Giả mạo Oscar đưa ra một bản tin (s, a) vào kênh và hi vọng nó sẽ được Bob chấp nhận. • Thay thế Oscar quan sát một bản tin trong (s, a) kênh, sau đó anh ta biến đổi nó thành (s’,a’), trong đó s’=s và hi vọng được Bob chấp nhận như một bản tin xác thực .Bởi vậy anh ta tin sẽ lái được Bob đi tới trạng thái nguồn mới này Ứng với mỗi phương pháp này là một xác xuất lừa bịp, là xác suất để Oscar thành công trong việc lừa Bob nếu anh ta (Oscar) tuân thủ một chiến lược tối ưu. Các xác suất này được kí hiệu là Pd 0 (trường hợp giảmạo) và Pd1 (trường hợp thay thế). Để tình Pd 0 và Pd 1 ta cần phải xác định các phân bố xác suất trên S vàK. Các xác suất này được kí hiệu tương ứng là P s và P k . Giả sử rằng Oscar đã biết mã xác thực và hai phân bố xác suất này. Chỉ có một thông tin mà Alice và Bob có nhưng mà Oscar không được biết là giá trị của khoá. 2.1 Các phương pháp xác thực 2.1.1 Xác thực dựa trên user name và password Sự kết hợp của một user name và password là cách xác thực cơ bản nhất. Với kiểu xác thực này, chứng từ ủy nhiệm User được đối chiếu với chứng từ được lưu trữ trên database hệ thống , nếu trùng khớp username và password, thì user được xác thực và nếu không User bị cấm truy cập. Phương thức này không bảo mật lắm vì chứng từ xác nhận User được gửi đi xác thực trong tình trạng plain text, tức không được mã hóa và có thể bị tóm trên đường truyền. 2.2.1 Challenge handshake authentication protocol (CHAP) Challenge Handshake Authentication Protocol (CHAP) cũng là mô hình xác thực dựa trên user name/password. Khi user cố gắng log on, server đảm nhiệm vai trò xác thực sẽ gửi một thông điệp thử thách (challenge message) trở lại máy tính User. Lúc này máy tính User sẽ phản hồi lại user name và password được mã hóa. Server xác thực sẽ so sánh phiên bản xác thực User được lưu giữ với phiên bản mã hóa vừa nhận , nếu trùng khớp, user sẽ được authenticated. Bản thân Password không bao giờ được gửi qua network. Phương thức CHAP thường được sử dụng khi User logon vào các remote servers của cty chẳng hạn như RAS server. Dữ liệu chứa password được mã hóa gọi là password băm (hash password). Một gói băm là một loại mã hóa không có phương cách giải mã. 2.2.3 Kerberos Kerberos authentication dùng một Server trung tâm để kiểm tra việc xác thực user và cấp phát thẻ thông hành (service tickets) để User có thể truy cập vào tài nguyên. Kerberos là một phương thức rất an toàn trong authentication bởi vì dùng cấp độ mã hóa rất mạnh. Kerberos cũng dựa trên độ chính xác của thời gian xác thực giữa Server và Client Computer, do đó cần đảm bảo có một time server hoặc authenticating servers được đồng bộ time từ các Internet time server. Kerberos là nền tảng xác thực chính của nhiều OS như Unix, Windows 2.2.4 Tokens Tokens là phương tiện vật lý như các thẻ thông minh (smart cards) hoặc thẻ đeo của nhân viên (ID badges) chứa thông tin xác thực. Tokens có thể lưu trữ số nhận dạng cá nhân-personal identification numbers (PINs), thông tin về user, hoặc passwords. Các thông tin trên token chỉ có thể được đọc và xử lý bởi các thiết bị đặc dụng, ví dụ như thẻ smart card được đọc bởi đầu đọc smart card gắn trên Computer, sau đó thông tin này được gửi đến authenticating server. Tokens chứa chuỗi text hoặc giá trị số duy nhất thông thương mỗi giá trị này chỉ sử dụng một lần. 2.2.5 Biometrics Biometrics (phương pháp nhận dạng sinh trắc học) mô hình xác thực dựa trên đặc điểm sinh học của từng cá nhân. Quét dấu vân tay (fingerprint scanner), quét võng mạc mắt (retinal scanner), nhận dạng giọng nói(voice- recognition), nhận dạng khuôn mặt(facerecognition). 2.2.6 Multi-factor authentication Multi-factor authentication, xác thực dựa trên nhiều nhân tố kết hợp, là mô hình xác thực yêu cầu kiểm ít nhất 2 nhân tố xác thực .Có thể đó là sự kết hợp của bất cứ nhân tố nào ví dụ như: bạn là ai, bạn có gì chứng minh, và bạn biết gì?. 2.2.7 Mutual authentication Mutual authentication, xác thực lẫn nhau là kỹ thuật bảo mật mà mỗi thành phần tham gia giao tiếp với nhau kiểm tra lẫn nhau. Trước hết Server chứa tài nguyên kiểm tra “giấy phép truy cập” của client và sau đó client lại kiểm tra “giấy phép cấp tài nguyên” của Server. II GIAO THỨC KERBEROS 1.Sơ lược về giao thức Tên của giao thức Kerberos được lấy từ 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. Nó được phát triển trong dự án Athena của học viện công nghệ MIT- Massachusetts Institute of Technology. Kerberos một giao thức mật mã dùng để xác thực trong các mạng máy tính theo mô hinh hình mô hình client-server 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 và đảm bảo tính toàn vẹn và tính bảo mật cho thông tin truyền đi cả hai chiều. 1.1.Lịch sử phát triển Học viện công nghệ 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. 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 tác giả chính của phiên bản 4, Steve Miller và Clifford Neuman, đã xuất bản giao thức ra công chúng vào cuối thập niên 1980, mặc dù mục đích chính của họ là chỉ phục vụ cho dự án Athena. Phiên bản 5, do John Kohl và Clifford Neuman thiết kế, xuất hiện trong tài liệu (RFC1510) vào năm 1993 (được thay thế bởi RFC 4120 vào năm 2005 với mục đích sửa các lỗi của phiên bản 4. MIT đã cung cấp các phiên bản thực hiện Kerberoslo miễn phí dưới giấy phép tương tự như dùng cho các sản phẩm BSD (Berkeley Software Distribution). [...]... với dịch vụ Kerberos, yêu cầu về môi trường: − Có ít nhất 1 máy chủ cài đặt dịch vụ Kerberos (Kerberos Server) − Các Clients phải được đăng ký với máy chủ Kerberos − Một số các máy chủ ứng dụng đóng vai trò phân bổ các khóa với máy Kerberos Để có kerberos Realms hoạt động ta cần có Một vùng một quản trị (administrative domain) Nếu như có nhiều realms, Kerberos servers phải phân bổ các khóa và ủy thác... TGS) "Vé" trong hệ thống Kerberos chính là các chứng thực chứng minh nhân dạng của người sử dụng Đối với người sử dụng, các khóa bí mật chính là băm thông tin đầu vào khi đăng ký thường được lưu trong các trung tâm phân phối khóa trên server Kerberos Mỗi người sử dụng (cả máy chủ và máy khách) trong hệ thống chia sẻ một khóa chung với máy chủ Kerberos Việc sở hữu thông tin về khóa chính là bằng chứng... chúng ta thấy thấy Kerberos thường được nhu cầu để mã hóa và giải mã thông điệp (vé và khóa) đi qua giữa những người khác nhau trong việc xác thực Điều quan trọng cần lưu ý là chỉ sử dụng Kerberos mã hóa khóa đối xứng (nói cách khác khóa cùng được sử dụng để mã hóa và giải mã ) Kerberos 4 thực hiện một loại mã hóa mà là ở DES 56 bit Sự yếu kém này đã dẫn đến dễ bị tấn công làm cho Kerberos 4 bị lỗi... phiên bản khác thực hiện Kerberos 5, Heimdal, cũng được thực hiện bởi nhóm đã xuất bản KTHKRB Các hệ điều hành Windows 2000, 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 để xác thực Những bổ sung của Microsoft vào bộ giao thức Kerberos được đề cập trong tài liệu RFC 3244 http://tools.ietf.org/html/3244 ("Microsoft Windows 2000 Kerberos Change Password... sử dụng khóa TGS bí mật) và khóa phiên (được mã hóa bằng khóa bí mật của người dùng yêu cầu) • Client xác thực TGS (Ticket Granting Server - cung cấp vé dịch vụ cho phép người dùng truy nhập vào các máy chủ trên mạng) TGS_REQ là yêu cầu từ khách hàng đến Cấp vé máy chủ (TGS) cho một vé thông hành Về cơ bản nó chứa TGT (mã hóa bằng cách sử dụng khóa TGS bí mật) và khóa phiên (được mã hóa bằng khóa bí... hạn chế thay thế và mạo danh người sử dụng hợp pháp 3.4.4 Khóa phiên Như chúng ta đã thấy, người dùng và các dịch vụ chia sẻ một bí mật với các KDC Đối với người sử dụng khóa nay chinh là phép băm các thông tin đầu vào và mật khẩu cho.Đối với server dịch vụ, đó là chìa khóa bí mật của họ (được đặt bởi quản trị viên) Các khóa này được gọi là khóa dài hạn, vì nó không thay đổi khi phiên làm việc thay... cũng sử dụng Kerberos trong các phiên bản Clients và Server của mình Năm 2005, nhóm làm việc của IETF về Kerberos cập nhật các đặc điểm kỹ thuật tại địa chỉ http://www.ietf.org/html.charters/krb-wg-charter.html Các cập nhật gần đây bao gồm: RFC 3961: Các quy định về mật mã hóa và kiểm tra tổng RFC 3962: Mã hoá AES cho Kerberos 5 RFC 4120: Phiên bản mới về tiêu chuẩn Kerberos V5: "The Kerberos Network... khai vận hành giữa UNIX của Kerberos 5 và tồn tại trong Active Directory của Windows là giới hạn hỗ trợ mã hóa chỉ dưng lại ở DES 56 bit Điều này sẽ làm giảm tính an toàn của hệ thống Vấn đề này sau đó đã được giải quyết với phiên bản 1,3 của MIT Kerberos 5 Phiên bản này được giới thiệu RC4-HMAC và bộ ba DES (3DES) và mới hơn AES 128 và AES 256 đáng đề cập đến 3.5 Hoạt động Kerberos không xây dựng các... Service (V5)" Phiên bản này thay thế RFC 1510, làm rõ các vấn đề của giao thức và cách sử dụng; RFC 4121: Phiên bản mới của tiêu chuẩn GSS-API: "Cơ cấu GSS-API của Kerberos Version 5: Version 2." 1.2 Ứng dụng của kerberos Ngày nay dịch vụ xác thực Kerberos này được ứng dụng nhiều ở thực tiễn như là: - Tích hợp trong các ứng dụng mạng +OpenSSH (với Kerberos v5 hoặc cao hơn) +NFS (kể từ NFSv3) +PAM (với modular... cầu), mật mã hóa với "Khóa phiên TGS/Client " Khi nhận được 2 gói tin C và D, TGS giải mã C, 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 Server/Client" mật mã hóa với "Khóa phiên TGS/Client . phân bổ các khóa với máy Kerberos. Để có kerberos Realms hoạt động ta cần có Một vùng một quản trị (administrative domain) Nếu như có nhiều realms, Kerberos servers phải phân bổ các khóa và ủy. trung tâm phân phối khóa trên server Kerberos. Mỗi người sử dụng (cả máy chủ và máy khách) trong hệ thống chia sẻ một khóa chung với máy chủ Kerberos. Việc sở hữu thông tin về khóa chính là bằng. Những bổ sung của Microsoft vào bộ giao thức Kerberos được đề cập trong tài liệu RFC 3244 http://tools.ietf.org/html/3244 ("Microsoft Windows 2000 Kerberos Change Password and Set Password