Bài giảng Bảo mật Hệ thống Thông tin - Chương 3: Định danh và Xác thực
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
50 trang |
Chia sẻ: vutrong32 | Lượt xem: 1070 | Lượt tải: 0
Bạn đang xem trước 20 trang 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, để 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ật Máy tính
Đại học Bách Khoa Tp.HCM
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
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
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
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
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
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
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
Đị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
5
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
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
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
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
DAC và điều khiển dòng thông tin4
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
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
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
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
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
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
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
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
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
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
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
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
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
14
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
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
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
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
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
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
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
17
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
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
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
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
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
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
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
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
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
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
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
Nội dung
Phương pháp định danh2
Giới thiệu về định danh và xác thực1
Giao thức xác thực4
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
24
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
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
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
Alice
Bob
Malice
“Tôi là Alice”
Hãy chứng minh
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
Giao thức xác thực đơn giản
A
lic
e
B
o
b
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
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
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.
B
o
b
1: “Tôi là Alice”
2: “Hãy chứng minh”
3: “My password is frank”
M
a
lic
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
28
Giao thức xác thực đơn giản với hàm hash
PA: password của Alice
h(): hàm hash
A
lic
e
B
o
b
1: “Tôi là Alice”
2: “Hãy chứng minh”
3: h(PA)
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
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
B
o
b
1: “Tôi là Alice”
2: “Hãy chứng minh”
3: h(PA)
M
a
lic
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
30
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
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
Giao thức xác thực challenge-response
N: số nonce (number used once)
A
lic
e
B
o
b
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
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
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
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
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
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
Giao thức xác thực dùng khóa đối xứng
Khuyết điểm:
Chỉ có Bob xác thực được Alice
Alice không biết có đúng là Bob không
A
lic
e
B
o
b
1: “Tôi là Alice”
2: N
3: {N}KAB
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
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
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
A
lic
e
B
o
b
1: “Tôi là Alice”
2: {N}KAB
3: {N}KAB
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
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
A
lic
e
B
o
b
1: “Tôi là Alice”, NA
2: NB , {NA}KAB
3: {NB}KAB
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
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
B
o
b
1.1.: “Tôi là Alice”, NA
1.2: NB , {NA}KAB
2.1: “Tôi là Alice”, NB
M
a
lic
e
2.2: NC , {NB}KAB
1.3.: {NB}KAB
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
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
A
lic
e
B
o
b
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
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
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
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
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
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
Giao thức xác thực dùng khóa công khai
Dùng mã hóa công khai
A
lic
e
B
o
b
1: “Tôi là Alice”
2: {N}KA
3: 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
42
Giao thức xác thực dùng khóa công khai
Dùng chữ ký số
A
lic
e
B
o
b
1: “Tôi là Alice”
2: N
3: [N]KA
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
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
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
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
Giao thức dùng khóa đối xứng: N2 khóa
Giao thức Kerberos: N 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
45
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
KA
Malice
KM
Bob
KB
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
Giao thức xác thực KERBEROS
Quá trình Alice login vào hệ thống sử dụng KERBEROS
KA: khóa chung giữa Alice và KDC, KA = h(password)
SA: khóa phiên
TGTA = {Alice, SA}KKDC
Alice KDC
Password
Alice yêu cầu TGT
{SA, TGTA}KA
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
Giao thức xác thực KERBEROS
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
A
lic
e
K
D
C
B
o
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
48
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
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
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
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
Các file đính kèm theo tài liệu này:
- baomathethongthongtin_lecture3_5481.pdf