Bài giảng Bảo mật hệ thống thông tin - Chương 3: Định danh và xác thực (Identification and Authentication)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Bảo mật hệ thống thông tin - Chương 3: Định danh và xác thực (Identification and Authentication)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_bao_mat_he_thong_thong_tin_chuong_3_dinh_danh_va_x.pdf
Nội dung text: Bài giảng Bảo mật hệ thống thông tin - Chương 3: Định danh và xác thực (Identification and Authentication)
- Chương 3: Định danh và Xác thực (Identification and Authentication) Khoa Khoa học và Kỹ thuật Máy tính Đại học Bách Khoa Tp.HCM
- Nội dung 1 Giới thiệu về định danh và xác thực 2 Phương pháp định danh 3 Phương pháp xác thực 4 Giao thức xác thực Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 2
- Giới thiệu về định danh và xác thực Các bước trong điều khiển truy cập Định danh (Identification): Người dùng cung cấp danh định (identity) Xác thực (Authentication): Người dùng chứng minh danh định đó là đúng Ủy quyền (Authorization): Xác định quyền mà người dùng có Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 3
- Giới thiệu về định danh và xác thực Các bước trong điều khiển truy cập Định danh (Identification): Người dùng cung cấp danh định (identity) Xác thực (Authentication): Người dùng chứng minh danh định đó là đúng Ủy quyền (Authorization): Xác định quyền mà người dùng có Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 4
- Định danh Người dùng cung cấp danh định của mình cho hệ thống Mục đích: Tìm kiếm sự tồn tại và quyền hạn cho người dùng Trường Đại Học Bách Khoa Tp.HCM 5Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 5
- Xác thực Người dùng cung cấp bằng chứng là danh định đó là đúng và phù hợp với mình. Mục đích: Chứng minh danh định là hợp lệ và phù hợp với người dùng. Quyết định có cho phép người dùng truy cập vào tài nguyên của hệ thống hay không Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 6
- Nội dung 1 Giới thiệu về định danh và xác thực 2 Phương pháp định danh 3 Điều khiển dữ liệu với SQL 4 DAC và điều khiển dòng thông tin Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 7
- Phương pháp định danh Có 2 phương pháp: người dùng tự nhập thông tin về danh định Sử dụng danh định số hóa: Danh định sinh trắc học (biometric identity) Danh định máy tính (computer identity) Danh định số (digital identity) Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 8
- Phương pháp định danh Phương pháp 1: người dùng tự nhập thông tin về danh định Đây là phương pháp phổ biến nhất hiện nay Ví dụ: username, số tài khoản Bước đầu tiên khi một hacker muốn xâm nhập vào một hệ thống là thu thập danh sách các người dùng hợp lệ của hệ thống. Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 9
- Phương pháp định danh Phương pháp 2: Sử dụng danh định số hóa Danh định sinh trắc học (Biometric identity) Nhận dạng khuôn mặt (Facial recognition) Quét tròng mắt (iris scanners) Hình học bàn tay (hand geometry) Nhận dạng vân tay (fingerprint) Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 10
- Phương pháp định danh Phương pháp 2: Sử dụng danh định số hóa Danh định máy tính (Computer identity) Tên máy tính Địa chỉ MAC Địa chỉ IP Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 11
- Phương pháp định danh Phương pháp 2: Sử dụng danh định số hóa Danh định số (Digital identity) Chứng nhận số (Digital certificate) Thẻ thông minh (Smart card) Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 12
- Nội dung 1 Giới thiệu về định danh và xác thực 2 Phương pháp định danh 3 Phương pháp xác thực 4 Giao thức xác thực Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 13
- Phương pháp xác thực Các phương pháp xác thực: Những gì bạn biết (Something you know) Những gì bạn có (Something you have) Những gì là chính bạn (Something you are) Một phương pháp xác thực tốt là phương pháp mà không dễ bị đoán hoặc bị làm giả. Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 14
- Những gì bạn biết Ví dụ: Password Số PIN (Personal Identification Number) Ưu điểm Tiện lợi Chi phí thấp Khuyết điểm Mức độ bảo mật phụ thuộc vào độ phức tạp của password Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 15
- Những gì bạn biết Những vấn đề của password: Password yếu: dễ đoán (tên người dùng, ngày sinh nhật , ) Xây dựng chính sách password: Độ dài Có các ký tự đặc biệt (non-letter), có ký viết hoa, viết thường Khác với username, các từ dễ đoán Thay đổi password định kỳ Cần cân bằng giữa: hacker khó đoán và người dùng có thể nhớ Thu thập thông tin bất hợp pháp (Social engineering) Các phần mềm gián điệp (spyware), keystroke logging Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 16
- Những gì bạn có Thẻ thông minh (smart card): có bộ nhớ nhỏ và có khả năng thực hiện một vài tính toán Trong thẻ có lưu thông tin về người dùng và cả password. người dùng có thể chọn những password phức tạp và thay đổi khi cần Địa chỉ MAC, địa chỉ IP Trường Đại Học Bách Khoa Tp.HCM 17Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 17
- Những gì là chính bạn Sử dụng các yếu tố sinh trắc học để xác thực. Nhận dạng khuôn mặt Quét tròng mắt Hình học bàn tay Nhận dạng vân tay Xác thực bằng sinh trắc học gồm 2 bước Đăng ký mẫu Nhận dạng Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 18
- Những gì là chính bạn Các lỗi xảy ra khi xác thực bằng sinh trắc học Fraud rate False accept rate Alice Bob Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 19
- Những gì là chính bạn Các lỗi xảy ra khi xác thực bằng sinh trắc học Insult rate False reject rate Not Alice Alice Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 20
- Những gì là chính bạn Tỷ lệ lỗi sinh trắc học Fraud rate = Insult rate Vân tay (5%) Hình học bàn tay (0.1%) Tròng mắt (0.001%) Ưu điểm: Khó tấn công Khuyết điểm: Tốn kém: lưu trữ, xử lý Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 21
- Phương pháp xác thực Phương pháp xác thực tốt thì tốn kém Xét về khả năng bị tấn công: Biometrics < Smartcard < Password Xét về chi phí: Password < Smartcard < Biometrics Có thể kế hợp các phương pháp xác thực với nhau Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 22
- Nội dung 1 Giới thiệu về định danh và xác thực 2 Phương pháp định danh 3 Phương pháp xác thực 4 Giao thức xác thực Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 23
- Giao thức xác thực Giao thức xác thực đơn giản Giao thức xác thực challenge-response Giao thức xác thực dùng khóa đối xứng Giao thức xác thực dùng khóa công khai Giao thức xác thực KERBEROS Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 24
- Giới thiệu Giả sử là Alice muốn chứng minh với Bob là “Tôi chính là Alice” Alice cũng cần biết người còn lại có đúng là Bob không. Malice là người xấu có ý muốn phá giao thức xác thực “Tôi là Alice” Hãy chứng minh Alice Bob Malice Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 25
- Giao thức xác thực đơn giản Alice Bob 1: “Tôi là Alice” 2: “Hãy chứng minh” 3: “My password is frank” Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 26
- Giao thức xác thực đơn giản Password để ở dạng văn bản rõ, Malice có thể quan sát được. Bob Malice 1: “Tôi là Alice” 2: “Hãy chứng minh” 3: “My password is frank” Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 27
- Giao thức xác thực đơn giản với hàm hash PA: password của Alice h(): hàm hash Alice Bob 1: “Tôi là Alice” 2: “Hãy chứng minh” 3: h(PA) Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 28
- Giao thức xác thực đơn giản với hàm hash Tấn công bằng cách lặp lại thông điệp Bob Malice 1: “Tôi là Alice” 2: “Hãy chứng minh” 3: h(PA) Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 29
- Giao thức xác thực Giao thức xác thực đơn giản Giao thức xác thực challenge-response Giao thức xác thực dùng khóa đối xứng Giao thức xác thực dùng khóa công khai Giao thức xác thực KERBEROS Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 30
- Giao thức xác thực challenge-response N: số nonce (number used once) Alice Bob 1: “Tôi là Alice” 2: N 3: h(PA, N) Khuyết điểm: Bob phải biết trước password của Alice Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 31
- Giao thức xác thực Giao thức xác thực đơn giản Giao thức xác thực challenge-response Giao thức xác thực dùng khóa đối xứng Giao thức xác thực dùng khóa công khai Giao thức xác thực KERBEROS Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 32
- Giao thức xác thực dùng khóa đối xứng C: ciphertext M: plaintext KA: khóa của Alice C = {M}K KAB : Khoá chung giữa Alice và Bob Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 33
- Giao thức xác thực dùng khóa đối xứng Alice Bob 1: “Tôi là Alice” 2: N 3: {N}KAB Khuyết điểm: Chỉ có Bob xác thực được Alice Alice không biết có đúng là Bob không Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 34
- Giao thức xác thực dùng khóa đối xứng Giao thức xác thực lẫn nhau (mutual) dùng khóa đối xứng Alice Bob 1: “Tôi là Alice” 2: {N}KAB 3: {N}KAB Thông điệp ở bước 3 lặp lại từ bước 2: không thể xác thực người gửi Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 35
- Giao thức xác thực dùng khóa đối xứng Giao thức xác thực lẫn nhau cải tiến Alice Bob 1: “Tôi là Alice”, NA 2: NB , {NA}KAB 3: {NB}KAB Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 36
- Giao thức xác thực dùng khóa đối xứng Tấn công giao thức xác thực lẫn nhau cải tiến Bob Malice 1.1.: “Tôi là Alice”, NA 1.2: NB , {NA}KAB 2.1: “Tôi là Alice”, NB 2.2: NC , {NB}KAB 1.3.: {NB}KAB Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 37
- Giao thức xác thực dùng khóa đối xứng Giao thức xác thực lẫn nhau cải tiến khác Alice Bob 1: “Tôi là Alice”, NA 2: NB , {Bob, NA}KAB 3: {Alice, NB}KAB Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 38
- Giao thức xác thực Giao thức xác thực đơn giản Giao thức xác thực challenge-response Giao thức xác thực dùng khóa đối xứng Giao thức xác thực dùng khóa công khai Giao thức xác thực KERBEROS Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 39
- Giao thức xác thực dùng khóa công khai C: ciphertext M: plaintext KA: cặp khóa bí mật và công khai của Alice C ={M}KA: mã hóa bằng khóa công khai của Alice M = [C]KA: giải mã bằng khóa bí mật của Alice S = [M]KA: ký lên M bằng khóa bí mật của Alice [{M}KA]KA = M {[M]KA}KA = M Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 40
- Giao thức xác thực dùng khóa công khai Dùng mã hóa công khai Alice Bob 1: “Tôi là Alice” 2: {N}KA 3: N Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 41
- Giao thức xác thực dùng khóa công khai Dùng chữ ký số Alice Bob 1: “Tôi là Alice” 2: N 3: [N]KA Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 42
- Giao thức xác thực Giao thức xác thực đơn giản Giao thức xác thực challenge-response Giao thức xác thực dùng khóa đối xứng Giao thức xác thực dùng khóa công khai Giao thức xác thực KERBEROS Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 43
- Giao thức xác thực KERBEROS Là giao thức được sử dụng trong thực tế KERBEROS Dùng mã hóa đối xứng Được thiết kế để dùng trong những hệ thống nhỏ như là mạng nội bộ Dựa vào thành phần thứ 3 tin cậy là Trung tâm phân phối khóa (Key Distribution Center - KDC) Với N người dùng Giao thức dùng khóa công khai: 2N khóa 2 Giao thức dùng khóa đối xứng: N khóa Giao thức Kerberos: N khóa Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 44
- Giao thức xác thực KERBEROS Trung tâm phân phối khóa KDC KDC có một siêu khóa KKDC, chỉ có KDC mới biết khóa này KDC cung cấp: Ticket-Granting Ticket (TGT) TGT chứa khóa phiên, user ID và thời hạn TGT được mã hóa bằng KKDC Chỉ có KDC mới đọc được TGT KDC KKDC Alice Malice Bob KA KM KB Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 45
- Giao thức xác thực KERBEROS Quá trình Alice login vào hệ thống sử dụng KERBEROS Alice yêu cầu TGT Password {S , TGT } Alice A A KA KDC KA: khóa chung giữa Alice và KDC, KA = h(password) SA: khóa phiên TGTA = {Alice, SA}KKDC Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 46
- Giao thức xác thực KERBEROS Bob Alice KDC 1 2 3 4 1. Alice gửi cho KDC: Alice, Bob, TGTA, {timestamp}SA 2. KDC gửi cho Alice: {Bob, KAB, ticket-to-Bob}SA ticket-to-Bob: {Alice, KAB}KB 3. Alice gửi cho Bob: ticket-to-Bob, {timestamp}KAB 4. Bob gửi cho Alice: {timestamp + 1}KAB Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 47
- Giao thức xác thực KERBEROS Một thao tác dư thừa trong KERBEROS: KDC gửi cho Alice: {SA, TGTA}KA Trong khi TGTA = {Alice, SA}KKDC KDC gửi cho Alice: {SA}KA, TGTA Tiết kiệm chi phí KDC dùng KKDC để giải mã tất cả các TGT không cần biết ai gửi yêu cầu Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 48
- Nội dung 1 Giới thiệu về định danh và xác thực 2 Phương pháp định danh 3 Phương pháp xác thực 4 Giao thức xác thực Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 49
- Trường Đại Học Bách Khoa Tp.HCM Bảo mật hệ thống thông tin Khoa Khoa Học và Kỹ Thuật Máy Tính Chương 3: Định danh và Xác thực © 2011 50