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