Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
2,1 MB
Nội dung
HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN BÁO CÁO BÀI TẬP LỚN Đề tài: Tìm hiểu giao thức xác thực Kerberos Giảng viên hướng dẫn : Vũ Thị Vân Sinh viên thực : Đặng Đình Hồng AT150320 Nguyễn Minh Hồng AT150121 Trịnh Minh Hồng AT150221 Hà Nội, Ngày 12 tháng 09 năm 2021 Nhận xét giảng viên môn LỜI MỞ ĐẦU Hiên công nghệ thông tin phát triển cách mạnh mẽ, kèm việc sử dụng rộng rãi hệ thống máy tính cá nhân hay tổ chức Vì thơng tin quan trọng lưu trữ ngày nhiều, mục tiêu đa số công mạng Cũng lý mà việc có biện pháp hay áp dụng sách thích hợp để đảm bảo hệ thống máy chủ ln tình trạng an tồn thơng tin không bị đánh cắp Một vần đề cần lưu ý vấn đề xác thực hệ phân tán yếu tố vô quan trọng hệ phân tán khơng thể làm việc đơn lẻ mà phải tương tác với Trong q trình tương tác hệ phân tán phải có q trình xác thực để đảm bảo yêu cầu bảo mật gia tăng quyền hạn cho thành viên, đặc biệt để chống lại nguy bảo mật ngày gia tăng Hiện có nhiều phương pháp xác thực người dùng áp dụng phổ biến như: username password, chữ ký số, Tokens,… Trong Kerberos giao thức với chế bảo mật tốt, có độ tin cậy cao giao thức xác thực mã nguồn cung cấp miễn phí mà đem lại hiệu cao MỤC LỤC LỜI MỞ ĐẦU I Giao thức xác thực Kerberos 1 Tổng quan giao thức Kerberos 1.1 Tổng quan .1 1.2 Lịch sử phát triển 1.3 Ứng dụng Kerberos 2 Nội dung giao thức Kerberos .2 2.1 Khái niệm .2 2.2 Các thành phần .4 2.3 Nguyên lý hoạt động 2.4 Đánh giá .15 II Quá trình xác thực Kerberos .16 Cấu hình Domain Controller 16 1.1 Cấu hình domain 16 1.2 Kết cấu hình Domain 24 Cấu hình Client 24 2.1 Cấu hình IP Client 24 2.2 Cấu hình lient vào Domain 26 2.3 Kết bắt gói tin Kerberos Wireshark 28 III Kết luận .28 I Giao thức xác thực Kerberos Tổng quan giao thức Kerberos 1.1 Tổng quan - Kerberos giao thức chứng thực mạng phát triển dự án Athena học viện công nghệ Massachusetts (MIT) Kerberos chế chứng thực mạnh cho ứng dụng client/server môi trường mạng phân tán - Nó cho phép cá nhân giao tiếp với mạng khơng an tồn cách xác thực người dùng với người dùng khác theo chế bảo mật an toàn giúp chống nghe hay cơng reply attack mạng - Nó đảm bảo tính tồn vẹn tính mật cho thơng tin truyền đi, dựa mơ hình mã hóa khóa đối xứng địi hỏi thành phần thứ ba tin cậy (trusted third party) tham gia vào trình chứng thực 1.2 Lịch sử phát triển - Kerberos phát triển Học viện kỹ thuật Massachusetts (MIT) nhằm bảo vệ dịch vụ cung cấp dự án Athena - Giao thức đặt tên dựa theo nhân vật thần thoại Hy Lạp Kerberos (hay Cerberus), chó săn đầu khổng lồ âm phủ - Kerberos trải qua nhiều phiên bản, đó, phiên từ – sử dụng nội bên MIT - Steve Miller Clifford Neuman, người thiết kế Kerberos phiên 4, cơng bố phiên vào cuối thập niên 80, mục đích họ dùng để phục vụ cho dự án Athena - Phiên 5, phát triển John Kohl Clifford Neuman, xuất RFC 1510 vào 1993, với mục đích khắc phục giới hạn vấn đề liên quan đến bảo mật phiên - Windows 2000, XP 2003 Server sử dụng Kerberos phương pháp chứng thực mặc định Hệ điều hành Mac OS sử dụng Kerberos phiên Client Server - Năm 2005, nhóm làm việc IETF Kerberos cập nhật đặc điểm kỹ thuật địa http://www.ietf.org/html.charters/krb-wg-charter.html Các cập nhật gần bao gồm: + RFC 3961: Các quy định mật mã hóa kiểm tra tổng + RFC 3962: Mã hoá AES cho Kerberos + RFC 4120: Phiên tiêu chuẩn Kerberos V5: "The Kerberos Network Authentication Service (V5)" Phiên thay RFC 1510, làm rõ vấn đề giao thức cách sử dụng + RFC 4121: Phiên tiêu chuẩn GSS-API: "Cơ cấu GSS-API Kerberos Version 5: Version 2." 1.3 Ứng dụng Kerberos - OpenSSH (với Kerberos v5 cao hơn) NFS (kể từ NFSv3) PAM (với mô đun pam_krb5) SOCKS (kể từ SOCKS5) Apache (với mô đun mod auth kerb) Devecot IMAP4 POP3 Hệ thống X Windows Nội dung giao thức Kerberos 2.1 Khái niệm 2.1.1 Khái niệm - Kerberos sử dụng đối tác tin cậy bên thứ ba để thực q trình chứng thực, gọi Trung tâm phân phối khóa (Key Distribution Center - KDC) - Kerberos làm việc dựa ticket để thực trình chứng thực người dùng Kerberos trì sở liệu chứa secret key; client server chia sẻ secret key thân với Kerberos - Để thực q trình giao tiếp thực thể, Kerberos tạo session key Khóa dùng để bảo mật q trình tương tác thực thể với 2.1.2 Mục tiêu - Đảm bảo mật người dùng không bị thất lạc mạng - Đáp ứng việc mật người dùng không lưu trữ trực tiếp máy mà loại bỏ sau sử dụng - Mật người dùng không cất giữ hình thức khơng mã hóa sở liệu máy chủ dịch vụ - Người sử dụng có yêu cầu nhập mật lần phiên làm việc Đặc tính gọi Single Sign-On - Các máy chủ ứng dụng không trực tiếp xác thực thông tin cho người dùng họ, điều làm cho hệ thống có kết quả: + Người Quản trị quản lý tập trung tài khoản người dùng máy chủ xác thực mà không cần thao tác máy chủ dịch vụ + Khi người dùng thay đổi mật mình, thay đổi cho tất dịch vụ lúc + Không có xác thực thừa nhằm bảo vệ mật - Đảm bảo xác thực chéo phía người dùng phải chứng minh mà bên máy chủ phải xác thực lại người dùng - Sau hoàn thành xác nhận uỷ quyền, Client Server phải có khả thiết lập kết nối mã hóa, yêu cầu 2.1.3 Yêu cầu Kerberos - Các yêu cầu Kerberos là: + Bảo mật : Một kẻ nghe trộm bắt thông tin cần thiết để giả mạo người dùng Nghĩa Kerberos phải đủ mạnh để kẻ địch khơng thể liệt vào kênh xâm nhập + Đáng tin cậy: Tất dịch vụ mạng sử dụng Kerberos để kiểm soát truy nhập Vì thế, Kerberos phải đáng tin cậy phải sử dụng kiến trúc máy chủ phân tán + Trong suốt: Người dùng phát chứng thực, ngoại trừ yêu cầu nhập mật + Khả mở rộng: Hệ thống phải có khả hỗ trợ số lượng lớn máy chủ máy khách 2.2 Các thành phần 2.2.1 Realm Principa - Realm: Là tên miền để thiết lập giới hạn phạm vi mà máy chủ xác thực có thẩm quyền để xác thực người dùng, máy chủ lưu trữ dịch vụ - Principal: Tên mục sở liệu máy chủ xác thực thành phần tham gia xác thực hệ thống bao gồm người sử dụng server 2.2.2 KDC – Key Distribution Center - Trung tâm phân phối khóa (Key Distribution Center - KDC) đối tượng hệ thống Kerberos liên quan đến việc xác thực người dùng dịch vụ Các máy chủ xác thực realm kerberos có chức phân phối ticket người dùng nhà cung cấp dịch vụ - Trên lý thuyết nằm hồn tồn máy chủ vật lý KDC bao gồm thành phần: + Máy chủ chứng thực AS (Authentication Server): biết mật tất người dùng lưu giữ sở liệu tập trung chứa + Máy chủ cấp khoá TGS (Ticket Granting Server): cung cấp ticket dịch vụ cho người dùng truy nhập vào máy chủ mạng + Cơ sở liệu (Database) 2.2.3 AS, TGS, Database - Server xác thực-Authentication Server (AS) + Máy chủ xác thực ( Authentication server – AS ) phần KDC giúp trả lời yêu cầu xác thực từ người dùng + Khi người sử dụng có yêu cầu xác nhận, họ đăng nhập tài khoản mật ( đăng ký khởi tạo tài khoản người dùng ) + Để đáp lại yêu cầu xác thực người dùng, AS kiểm tra nhân dạng người yêu cầu có nằm sở liệu hay khơng Nếu có AS gửi gói tin sau tới người dùng Gói tin A: “Khố phiên TGS/máy khách” mật mã hố với khố bí mật người dùng Gói tin B: “Vé chấp thuận”(TGT) (bao gồm ID, địa mạng người dùng, thời hạn vé “Khoá phiên TGS/máy khách”) mật mã hoá với khố bí mật TGS + Người dùng sử dụng TGT để có cung cấp vé dịch vụ khác mà không cần phải đăng nhập lại - Server cấp vé-Ticket Granting Server (TGS ) + Có nhiệm vụ kiểm tra tính hợp lệ đảm bảo xác thực giưa người dùng với máy chủ ứng dụng TGS có nhiệm vụ kiểm tra tính hợp lệ vé TGT + Nếu vé TGT người dùng hợp lệ cấp cho người dùng ticket thơng hành để truy cập vào server ứng dụng - Cơ sở liệu + Cơ sở liệu cho mục chứa liên kết với người sử dụng dịch vụ Mỗi mục chứa thơng tin sau: Khố mật mã có thơng tin liên quan Thời gian hiệu lực tối đa cho vé Thời gian tồn tối đa vé, gia hạn (chỉ Kerberos 5) Các thuộc tính cờ đặc trưng cho hành vi vé Mật hết hạn + Nó giúp đảm bảo thơng tin mã hóa lưu việc trao đổi các máy với 2.2.4 Ticket - Vé Client gởi đến ứng dụng máy chủ để chứng minh xác thực nhằm mục đích nhận dạng - Vé phát hành máy chủ xác thực mã hóa cách sử dụng khố bí mật dịch vụ - Khố khóa bí mật chia sẻ máy chủ xác thực máy chủ cung cấp dịch vụ, Client yêu cầu cấp vé Nội dung vé gồm: + Những yêu cầu người sử dụng thiết yếu + Địa IP máy khách mà từ vé sử dụng + Ngày thời vé có tính hợp lệ + Vịng đời tối đa vé + Các khóa phiên - Một vé tạo KDC mã hoá để đảm bảo người khơng có khố khơng mở để sửa - Bởi Kerberos xác thực lần đăng nhập nên sau đăng nhập ngồi máy tham gia vào hệ thơng Kerberos Vì vậy, vé Kerberos có vịng đời ngắn, khoảng từ 10-24h Điều thuận tiện cho việc đăng nhập lần ngày làm việc người dùng, hạn chế việc công lấy liệu quan trọng 2.2.5 Khóa phiên - Người dùng dịch vụ chia sẻ bí mật với KDC Khóa người sử dụng phép băm thông tin đầu vào mật cho Đối với server dịch vụ, chìa khóa bí mật họ (được đặt quản trị viên) Các khóa gọi khóa dài hạn, khơng thay đổi phiên làm việc thay đổi - Ở người dùng phải xác thực server dịch vụ cho thời gian khách hàng có phiên làm việc mở dịch vụ đó, tạo KDC vé ban hành, gọi khóa phiên - Các khóa phiên đóng vai trò chứng minh xác thực người sử dụng 2.3 Nguyên lý hoạt động 2.3.1 Mô tả hoạt động - Kerberos hoạt động dựa máy chủ chứng thực tập trung KDC (Key Distribution Centre) KDC cung cấp vé cho việc chứng thực người dùng bảo mật khoá phiên vé gồm giai đoạn bước trao đổi: - Client chứng thực AS (Authentication Server - biết khoá mật tất người dùng lưu giữ sở liệu tập trung ) + AS_REQ yêu cầu từ người dùng xác thực ban đầu yêu cầu chuyển trực tiếp tới Authentication Server (AS) + AS_REP trả lời máy chủ xác thực với yêu cầu trước người dùng Nó chứa TGT (mã hóa cách sử dụng khóa TGS bí mật) khóa phiên (được mã hóa khóa bí mật 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 máy chủ mạng) + TGS_REQ yêu cầu từ khách hàng đến Máy chủ cấp vé (TGS) cho vé vào máy chủ dịch vụ Về chứa TGT (mã hóa cách sử dụng khóa TGS bí mật) khóa phiên (được mã hóa khóa bí mật người dùng yêu cầu) Hình 1.7 c) Pha thứ ba: Truyền thơng chứng thực client/server Hình 1.8 Bên Client - Khi nhận gói tin E F, người sử dụng có đủ thơng tin để chứng thực với máy chủ cung cấp dịch vụ Client giải mã gói tin F để lấy khóa phiên Server/Client Khóa vào cổng máy chủ cung cấp dịch vụ - Người sử dụng tạo gói tin G bao gồm: định danh người dùng, Timestamp Nó mã hóa với khóa phiên Server/Client lấy gói tin F - Client sau gửi Server thơng điệp AP_REQ có chứa: + Gói tin E: Service Ticket mã hóa khóa bí mật máy chủ dịch vụ 12 + Gói tin G: chứng thực Client máy chủ dịch vụ, mã hóa khóa phiên chung Server/Client + Service Name Hình 1.9 Bên máy chủ dịch vụ - Máy chủ cung cấp dịch vụ giải mã Service ticket gói tin E khóa bí mật mình, lấy liệu phân quyền Client khoá phiên Server dùng khố phiên nhận giải mã gói G, xác minh Timestamp Nếu hợp lệ Server gửi cho Client thơng điệp AP_REP + Gói tin H: Gồm Timestamp gói tin G cộng thêm 1, sau mã hóa với khóa phiên Server/Client mà người sử dụng mở - Client giải mã gói tin H có thời gian kiểm tra thời gian có cập nhật xác Nếu người sử dụng tin tưởng vào máy chủ bắt đầu gửi yêu cầu sử dụng dịch vụ 2.4 Đánh giá 2.4.1 Ưu điểm - Khi sử dụng Kerberos, mật không truyền mạng dạng rõ mà ln mã hóa - Kerberos không yêu cầu người dùng lặp lặp lại thao tác nhập mật trước truy cập vào dịch vụ, hạn chế nguy công ăn cắp liệu 13 - Giao thức mã hóa theo chuẩn mã hóa cao cấp Triple DES, RC4, AES nên an toàn - Kerberos giao thức xác thực cho máy chủ tin cậy mạng khơng đáng tin cậy Cụ thể dụng để xác thực qua internet mơ hình phân tán tập trung - Tất trao đổi máy chứa timestamp nên vé bị đánh cắp tái sử dụng, chống công dùng lại (replay attack) - Kerberos có khả tương thích cao tích hợp vào hệ điều hành phổ biến (windows, linux , unix, mac os ) tích hơp trực tiếp vào ứng dụng mạng hoạt động hệ điều hành khác 2.4.2 Nhược điểm - Khó tích hợp hệ thống cũ: hệ thống sẵn có mạng có chế chứng thực riêng, sở liệu thơng tin người dùng riêng, địi hỏi phải sửa lại mã chương trình hệ thống di chuyển, thay đổi sở liệu người dùng - Độ bảo mật hệ thống phụ thuộc vào an toàn hệ thống KDC Nếu KDC bị cơng tồn thành phần hệ thống bị tê liệt - Đòi hỏi máy tính hệ thống phải đồng thời gian (không chênh lệch phút) Nếu không đảm bảo điều này, chế xác thực dựa thời hạn sử dụng không hoạt động - Với chế đăng nhập lần máy tính, máy tính rơi vào tay kẻ cơng mạng tồn liệu người dùng bị đánh cắp gây nguy cho toàn hệ thống II Quá trình xác thực Kerberos Cấu hình Domain Controller 1.1 Cấu hình domain - Tạo Domain Windows Server 2008 - Vào Start Run gõ “cmd” gõ “dcpromo” - Hộp thoại Welcome to the Actice Directory Domain Services Installation Wizard: chọn Next 14 Hình 2.1 - Hộp thoại Choose a Deployment Configuration: Chọn Creat a new domain in a new forest Next Hình 2.2 - Hộp thoại Name the Forest RootDomain: Gõ hoang.com Next 15 Hình 2.3 - Hệ thống kiểm tra tên miền vừa nhập Hình 2.4 - Hộp thoại NetBios Name: Gõ Hoang Next 16 Hình 2.5 - Hộp thoại Set Forest Functional Level Set Domain Functional Level chọn: Windows Server 2008 Next Hình 2.6 17 Hình 2.7 - Hệ thống kiểm tra cấu hình DNS Hình 2.8 - Hộp thoại Additional options for this domain controller:DNS ServerNext 18 Hình 2.9 - Hộp thoại Active Directory Domain Services Installation Wizard chọn: Yes Hình 2.10 - Hộp thoại Location for Database, Log Files, and SYSVOL chọn: Next 19 Hình 2.11 - Hộp thoại Directory Services Restore Mode Administrator Password: Nhập Pass Next Hình 2.12 - Kết cấu hình 20 Hình 2.13 Hình 2.14 - Kết thúc 21 Hình 2.15 1.2 Kết cấu hình Domain - Kết có domain hoang.com máy Server nằm Domain Hình 2.16 Cấu hình Client 22 2.1 Cấu hình IP Client - Cấu hình IP, DNS Hình 2.17 Hình 2.18 - Kiểm tra kết nối tới Domain 23 Hình 2.19 2.2 - Cấu hình lient vào Domain Vào Domain hoang.com với tài khoản Administrator Hình 2.20 24 Hình 2.21 - Kết vào domain thành cơng Hình 2.22 25 2.3 Kết bắt gói tin Kerberos Wireshark Hình 2.23 III - - Kết luận Báo cáo tìm hiểu lịch sử hình thành phát triển Kerberos nêu rõ mục tiêu, yêu cầu nguyên tắc hoạt động chung hệ thống Kerberos qua đánh giá ưu điểm hạn chế mô hình xác thực Kerberos Kerberos giao thức xác thực dùng mã hóa mạng máy tính hoạt động đường truyền khơng an tồn Giao thức Kerberos có khả chống lại việc nghe hay gửi lại gói tin cũ đảm bảo tính toàn vẹn liệu Mục tiêu thiết kế giao thức nhằm vào mơ hình máy chủ-máy khách (client-server) đảm bảo nhận thực cho hai chiều 26 ... 26 2.3 Kết bắt gói tin Kerberos Wireshark 28 III Kết luận .28 I Giao thức xác thực Kerberos Tổng quan giao thức Kerberos 1.1 Tổng quan - Kerberos giao thức chứng thực... 1 Tổng quan giao thức Kerberos 1.1 Tổng quan .1 1.2 Lịch sử phát triển 1.3 Ứng dụng Kerberos 2 Nội dung giao thức Kerberos .2 2.1 Khái niệm... Windows 2000, XP 2003 Server sử dụng Kerberos phương pháp chứng thực mặc định Hệ điều hành Mac OS sử dụng Kerberos phiên Client Server - Năm 2005, nhóm làm việc IETF Kerberos cập nhật đặc điểm kỹ thuật