Tìm hiểu và nghiên cứu giao thức Kerberos, xây dựng mô phỏng quá trình xác thực kerberos khi người dùng thuộc về nhiều nhóm ,liên quan đến Kerberos,chứng thực điện tử,chứng thư số ,pki,các giao thức xác thực như PAP ,CHAP, khóa công khai,khóa bí mậtphân loại giao thức xác thực
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ ĐỀ TÀI CHỨNG THỰC ĐIỆN TỬ Tìm hiểu nghiên cứu giao thức Kerberos, xây dựng mô trình xác thực kerberos người dùng thuộc nhiều nhóm Sinh viên thực hiện: Hà Nội - 2019 MỤC LỤC MỤC LỤC i DANH MỤC TỪ VIẾT TẮT .iii DANH MỤC BẢNG BIỂU HÌNH VẼ iv MỞ ĐẦU vi CHƯƠNG TỔNG QUAN VỀ CÁC GIAO THỨC XÁC THỰC 1.1 Tổng quan xác thực 1.1.1 Định nghĩa 1.1.2 Phân loại xác thực 1.2 Các phương pháp xác thực 1.2.1 Xác thực dựa ta biết 1.2.2 Xác thực dựa ta có 1.2.3 Xác thực dựa vào bạn 1.3 Các giao thức xác thực 1.3.1 Giao thức xác thực đơn giản 1.3.2 Giao thức xác thực challenge-response 1.3.3 Giao thức xác thực dùng khóa đối xứng 1.3.4 Giao thức xác thực khóa cơng khai .11 1.3.5 Giao thức xác thực kerberos 13 CHƯƠNG GIAO THỨC XÁC THỰC KERBEROS 16 2.1 Tổng quan giao thức xác thực kerberos 16 2.1.1 Tổng quan .16 2.1.2 Lịch sử phát triển 16 2.2 Một số khái niệm 17 2.2.1 KDC – Key Distribution Center 17 2.2.2 SS, AS, TGS 18 2.2.3 Ticket Session key .18 2.2.4 Ticket cache 19 2.3 Nguyên lý hoạt động .20 2.3.1 Mơ hình tiêu biểu 20 2.3.2 Mô tả giao thức .21 2.3.3 Nguyên lý hoạt động .21 2.3.4 Phân tích ưu nhược điểm 24 CHƯƠNG XÂY DỰNG MƠ PHỎNG Q TRÌNH XÁC THỰC KERBEROS KHI NGƯỜI DÙNG THUỘC NHIỀU NHÓM 26 3.1 Xác thực người dùng thuộc nhiều nhóm 26 3.1.1 Sự cố Kerberos Access Token 26 3.1.2 Các dấu hiệu cố kích thước Access token 27 3.1.3 Kịch Kerberos Token Bloat 28 3.2 Giải pháp khắc phục vấn đề 33 3.2.1 Đặt kích thước tối đa cho đệm token Kerberos .34 3.2.2 Khuyến cáo Microsoft tính tốn kích thước Token 35 3.3 Triển khai giao thức xác thực kerberos 36 3.3.1 Triển khai Active directory domain service Windows Server 2012 36 3.3.2 Join domain máy Client với Server .41 3.3.3 Kiểm tra kết nối giao thức 43 3.4 Triển khai xác thực kerberos người dùng thuộc nhiều nhóm 45 KẾT LUẬN .48 DANH MỤC TÀI LIỆU THAM KHẢO 49 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Ý nghĩa KDC Key Distribution Center LDAP Lightweight Directory Access Protocol SS Service Server AS Authentication Server TGS Ticket Granting Server SID Security Identifier LSA Local Security Authority SAM Security Accounts Manager GPO Group Policy Object DANH MỤC BẢNG BIỂU HÌNH VẼ Hình Khắc phục lỗi kerberos 33 Hình Khắc phục lỗi Kerberos 34 Hình 3 Check token size report 35 Hình Triển khai giao thức kerberos .36 Hình Triển khai giao thức kerberos .36 Hình Triển khai giao thức kerberos .37 Hình Triển khai giao thức kerberos .37 Hình Triển khai giao thức kerberos .38 Hình Triển khai giao thức kerberos .38 Hình 10 Triển khai giao thức kerberos .39 Hình 11 Triển khai giao thức kerberos 39 Hình 12 Triển khai giao thức kerberos .40 Hình 13 Triển khai giao thức kerberos 10 40 Hình 14 Triển khai giao thức kerberos 11 41 Hình 15 Triển khai giao thức kerberos 12 41 Hình 16 Triển khai giao thức kerberos 13 41 Hình 17 Triển khai giao thức kerberos 14 42 Hình 18 Triển khai giao thức kerberos 15 42 Hình 19 Triển khai giao thức kerberos 16 42 Hình 20 Triển khai giao thức kerberos 17 43 Hình 21 Triển khai giao thức kerberos 18 43 Hình 22 Tạo người dùng server 44 Hình 23 Đăng nhập từ máy client 44 Hình 24 Bắt gói tin Kerberos .44 Hình 25 Lấy user token .45 Hình 26 Lấy user token .45 Hình 27 Kiểm tra đăng nhập với tài khoản .46 Hình 28 Kiểm tra đăng nhập với tài khoản .46 Hình 29 Tạo MaxTokenSize 47 Hình 30 Cài giá trị cho MaxTokenSize 47 Hình 31 Đăng nhập thành cơng sau sửa lỗi 47 MỞ ĐẦU Sự phát triển lớn mạnh công nghệ thông tin năm qua dẫn đến việc sử dụng rộng rãi hệ thống máy tính hầu hết tổ chức cá nhân công cộng Độ tin cậy phần cứng, phần mềm ngày nâng cao với việc liên tục giảm giá, tăng kỹ chuyên môn chuyên viên thông tin góp phần khuyến khích việc sử dụng dịch vụ máy tính cách rộng rãi Vì việc quản lý hệ thống máy tính nhiều Do việc áp dụng hệ thống máy tính ngày nhiều, cơng việc xử lý mạng thơng qua chúng Qua thơng tin quan trọng lưu trữ ngày nhiều Đây thứ đắt hacker ln nhắm tới Cũng lý mà dấy lên lo ngại đến an toàn máy chủ cho người quản trị hay nhân viên an tồn khác Để ngăn chặn điều người quản trị cần 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 Vì lý trên, nhóm chọn đề tài “Tìm hiểu nghiên cứu giao thức Kerberos, xây dựng mô trình xác thực kerberos người dùng thuộc nhiều nhóm” CHƯƠNG TỔNG QUAN VỀ CÁC GIAO THỨC XÁC THỰC 1.1 Tổng quan xác thực 1.1.1 Định nghĩa Xác thực theo nghĩa thông thường: Xác thực chứng thực (hoặc người đó) đáng tin cậy, có nghĩa lời khai báo người đưa vật thật Xác thực đối tượng có nghĩa cơng nhận nguồn gốc đối tượng, xác thực người thường bao gồm việc thẩm tra nhận dạng họ Việc xác thực thường phụ thuộc vào nhiều nhân tố xác thực (Authentication factors) để chứng minh cụ thể Xác thực điện tử Xác thực an ninh máy tính quy trình nhằm cố gắng xác minh nhận dạng số (digital iđentity) phần truyền gửi thông tin (sender) giao thông liên lạc chẳng hạn yêu câu đăng nhập Phần gửi cần xác thực người dùng máy tính, thân máy tính chương trình máy tính (computer program) Ngược lại tin cậy mù qng hồn tồn khơng thiết lập đòi hỏi nhận dạng Song thiết lập quyền địa vị hẹp hòi người dùng chương trinh ứng dụng mà Trong mạng lưới tín nhiệm, việc “xác thực” cách để đảm bảo người dùng người mà họ nói họ là, người dùng thi hành chức hệ thống, thực tế người ủy quyền để làm việc Mục đích việc xác thực chứng minh danh định hợp lệ phù hợp với người dùng Và định có cho phép người dùng truy cập vào tài nguyên hệ thống hay không 1.1.2 Phân loại xác thực Xác thực liệu: Xác thực liệu kiểu xác thực đảm bảo thực thể chứng thực nguồn gốc thực tạo liệu thời điểm đó, đảm bảo tính tồn vẹn liệu - Xác thực thông điệp - Xác thực giao dịch - Xác thực khóa - Xác thực nguồn gốc liệu - Xác thực đảm bảo toàn vẹn liệu Xác thực thực thể: Xác thực thực thể xác thực định danh đối tượng tham gia giao thức truyền tin Thực thể hay đối tượng người dùng, thiết bị đầu cuối Tức thực thể xác thực định danh thực thể thứ hai giao thức, bên thứ hai thực tham gia vào giao thức - Xác thực dựa vào thực thể: biết ? (Something Known) - Xác thực dựa vào thực thể: sở hữu ?(Something Possessed) - Xác thực dựa vào thực thể: thừa hưởng gì?(Something Inherent) 1.2 Các phương pháp xác thực Khi đối tượng ủy quyền, nguồn xác thực kiểm tra xác nhận tính xác thực đối tượng Có nhiều phương pháp cơng nghệ khác để tiến hành xác thực đối tượng hệ thống Tuy nhiên, việc lựa chọn phương pháp công nghệ xác thực phụ thuộc vào thời gian, giá thành, quy mơ, chí mơi trường sử dụng hệ thống xác thực đánh giá rủi ro Dưới ba phương pháp xác thực phổ biến lựa chọn triển khai Xác thực dựa ta biết Xác thực dựa vào ta có Xác thực dựa tính vật lý khơng đổi 1.2.1 Xác thực dựa ta biết Phương pháp xác thực sử dụng Username Password Đây giải pháp truyền thống hay sử dụng nhất, giải pháp sử dụng tài khoản hệ thống Mỗi tài khoản bao gồm tên truy nhập (username) mật khâu (password) Tên truy nhập dùng đề phân biệt người dùng khác (thường hệ thống), mật khâu đề xác thực lại người sử dụng tên người sử đụng thật không Mật thường cho người sở hữu tên truy nhập tương ứng đặt giữ bí mật có người biết Khi người dùng muốn đăng nhập sử dụng tài nguyên hệ thống phải đăng nhập cách nhập tên mật Trước hết, hệ thống đối chiếu tên truy nhập cầu người dùng đưa vào sở liệu tên người dùng, tồn tên người dùng hệ thống tiếp tục đối chiếu mật đưa vào tương ứng với tên truy nhập sở liệu Qua hai lần đối chiếu thỏa mãn người đăng nhập người dùng hợp lệ hệ thống Thiết kế sử dụng đơn giản, tốn tài nguyên Hệ thống gồm sở liệu người dùng với thông tin chủ yếu tên truy nhập mật Tương ứng với tên truy nhập quyên sử dụng người hệ thống Do thơng tin khơng chiếm nhiều tài nguyên Người dùng để hiểu để sử dụng.Và chi phí để thực giải pháp rẻ so với giải pháp khác Nhưng giải pháp có nhược điểm lớn khơng có bảo mật cao Vì người đùng thường có tên đăng nhập nhiêu người dùng có Mặt khác, người dùng thường chọn mật để nhớ không cân thận gõ mật khẩu, để bị cơng Kẻ tần cơng có nhiều phương pháp để đạt mật thâm nhập vào hệ thông đọc file mật khẩu, dự đoán mật khẩu, vét cạn từ từ điển để tìm mật khẩu, lừa người dùng đề lộ mật Một số biện pháp để tăng tính bảo mật cho giải pháp này: - CheckMaxTokenSize - Tập lệnh miễn phí nhân viên Microsoft ghép lại - Get-TokenSizeReport - Một tập lệnh miễn phí có nguồn gốc từ CheckMaxTokenSize nhà tư vấn độc lập Hình 3 Check token size report 3.3 Triển khai giao thức xác thực kerberos 3.3.1 Triển khai Active directory domain service Windows Server 2012 Tại server manager chọn Dashboard chọn Add roles and features Hình Triển khai giao thức kerberos 40 Next đến chọn Active Directory Domain Services Hình Triển khai giao thức kerberos Hình Triển khai giao thức kerberos 41 Hình Triển khai giao thức kerberos Hình Triển khai giao thức kerberos 42 Hình Triển khai giao thức kerberos Next bước tiếp install để hồn tất: Hình 10 Triển khai giao thức kerberos 43 Hình 11 Triển khai giao thức kerberos Chọn Promote this server to a domain controller để tiến hành cài đặt domain controller Hình 12 Triển khai giao thức kerberos Tích “Add a new forest” đặt tên cho domain > Next 44 Hình 13 Triển khai giao thức kerberos 10 Chọn phiên Windows Server đặt password DSRM xong Next Hình 14 Triển khai giao thức kerberos 11 Tiến hành Next bước tiếp để cài đặt, sau máy tính tự động reset để hồn tất q trình: Hình 15 Triển khai giao thức kerberos 12 45 Hình 16 Triển khai giao thức kerberos 13 3.3.2 Join domain máy Client với Server Trên máy client chọn Computer > Properties > Change settings Hình 17 Triển khai giao thức kerberos 14 Hình 18 Triển khai giao thức kerberos 15 46 Hình 19 Triển khai giao thức kerberos 16 Nhập Username Pass admin domain: Hình 20 Triển khai giao thức kerberos 17 Sau hệ thống yêu cầu restart lại máy để hồn tất q trình: Hình 21 Triển khai giao thức kerberos 18 47 3.3.3 Kiểm tra kết nối giao thức Tạo user windows server: Hình 22 Tạo người dùng server Dùng User vừa tạo Server để đăng nhập máy client Hình 23 Đăng nhập từ máy client Domain Controller dùng giao thức Kerberos để xác thực User Ta sử dụng wireshark để bắt gói tin q trình xác thực client server: 48 Hình 24 Bắt gói tin Kerberos Ta thấy có protocol KBR5, kerberos 3.4 Triển khai xác thực kerberos người dùng thuộc nhiều nhóm Bước Tạo user windows server 2012 Bước Tạo nhiều groups windows server 2012 Tài khoản anhhq có nằm nhóm Hình 25 Lấy user token Tài khoản bacvd 1015 groups khác: 49 Hình 26 Lấy user token Bước Thử đăng nhập vào từ máy client xem kết quả: - Với user bacvd 1015 groups đăng nhập lỗi Hình 27 Kiểm tra đăng nhập với tài khoản Tài khoản anhhq có nhóm đăng nhập bình thường 50 Hình 28 Kiểm tra đăng nhập với tài khoản Bước 4: Khắc phục lỗi đăng nhập bị limit token Tăng kích thước token lên: Truy cập vào Registry Editor: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Pa rameters Tạo DWORD (32-bit) với tên MaxTokenSize để giá trị 48000 Hình 29 Tạo MaxTokenSize 51 Hình 30 Cài giá trị cho MaxTokenSize Sau tiến hành cài giá trị, ta khởi động lại server máy đăng nhập lại, ta thấy đăng nhập thành cơng khơng báo lỗi Hình 31 Đăng nhập thành cơng sau sửa lỗi KẾT LUẬN 52 Kerberos giao thức mật mã dùng để xác thực 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 tồ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 Tuy nhiên trình xây dựng thêm người dùng vào nhóm cần phải ý đến trình xử lý token SSID Cần phải tính tốn hợp lý số lượng thành viên, nhóm người dùng cho hợp lý để trình xác thực khơng xảy lỗi q trình xác thực DANH MỤC TÀI LIỆU THAM KHẢO [ [Online] Available: https://support.microsoft.com/en1] hk/help/327825/problems-with-kerberos-authentication-when-a-userbelongs-to-many-grou [ [Online] Available: https://activedirectoryfaq.com/2018/10/ad2] migration-maximum-number-of-group-memberships/ [ [Online] Available: http://woshub.com/kerberos-token-size-and-issues- 53 3] of-its-growth/ [ Đ h B K T HCM, "Giao thức xác thực kerberos" [ J Sprenger, "Kerberos and Access Token Limitations" 4] 5] 54 ... trên, nhóm chọn đề tài Tìm hiểu nghiên cứu giao thức Kerberos, xây dựng mô trình xác thực kerberos người dùng thuộc nhiều nhóm CHƯƠNG TỔNG QUAN VỀ CÁC GIAO THỨC XÁC THỰC 1.1 Tổng quan xác thực. .. MƠ PHỎNG Q TRÌNH XÁC THỰC KERBEROS KHI NGƯỜI DÙNG THUỘC NHIỀU NHÓM 3.1 Xác thực người dùng thuộc nhiều nhóm 3.1.1 Sự cố Kerberos Access Token Windows tạo Access Token cho lần đăng nhập người dùng. .. Dùng mã hóa cơng khai: Hình Giao thức xác thực dùng khóa cơng khai Dùng chữ ký số: 18 Hình Xác thực sử dụng chữ ký số 1.3.5 Giao thức xác thực kerberos Kerberos giao thức mật mã dùng để xác thực