LOGO
Trường Đại Học Khoa Học Tự Nhiên Tp. HCM - Khoa Công Nghệ Thông Tin
Cao học Hệ thống thông tin khóa 17
Kỹ thuật chứng thực và định danh
người dùng
GVHD: TS. Đặng Trần Khánh
SVTH: Lê Ngô Thục Vi
Nguyễn Thị Bảo Chi
17/03/2009
1
NỘI DUNG
Khái niệm chung
1
Giao thức Kerberos
2
Trust Negotiation
3
2
Khái niệm chung
Chứng thực (authentication):
Trong an ninh máy tính: là một quy trình nhằm cố
gắng xác minh nhận dạng số (digital identity) của
phần truyền gửi thông tin (sender) trong liên lạc.
Trong mạng lưới tín nhiệm: là một cách để đảm
bảo rằng người dùng chính là người mà họ nói,
và người dùng hiện đang thi hành những chức
năng trong một hệ thống chính là người đã được
ủy quyền để làm những việc đó
3
Khái niệm chung
Authen tication vs. Authorizat i on
Authentication (chứng thực): quy trình dùng để
xác minh sự nhận dạng của một người dùng
Authorization (ủy quyền): quy trình nhằm xác
minh rằng một người dùng biết trước, có quyền
lực để thao tác một quá trình hoạt động nào đó
hay không
Authentication phải được thực hiện trước
Authorization
4
NỘI DUNG
Khái niệm chung
1
Giao thức Kerberos
2
Trust Negotiation
3
5
KERBEROS
KERBEROS
Lịch sử phát triển1
Khái niệm2
Nguyên tắc hoạt động3
Mô tả giao thức4
Hoạt động5
Đánh giá6
6
Lịch sử phát triển
Được học viện Massachusetts phát triển với
mục đích bảo vệ các dịch vụ mạng cung cấp
bởi dự án Athena.
Được phát triển dưới nhiều phiên bản, trong đó
các phiên bản từ 1 đến 3 chỉ dùng trong nội bộ
MIT
Steve Miller và Cli<ord Neuman đã xuất bản
phiên bản 4 ra công chúng vào cuối thập niên
1980
Phiên bản 5 do John Kohl và Cli<ord Neuman
thiết kế vào năm 1993 với mục đích sửa các lỗi
của phiên bản 4.
7
Khái niệm
Kerberos là một giao thức mật mã dùng
để xác thực trong các mạng máy tính hoạt
động trên những đường truyền không an
toàn
Giao thức được xây dựng dựa trên mã hóa
khóa đối xứng và cần đến một bên thứ ba
mà cả hai phía tham gia giao dịch tin
tưởng
Mục tiêu: nhằm vào mô hình client-server
trên môi trường mạng phân tán và đảm
bảo nhận thực cho cả hai chiều
8
Khái niệm
Tại sao?
3 nguy cơ khi sử dụng dịch vụ trên server:
Người dùng giả dạng thành người khác
Người dùng thay đổi địa chỉ của máy làm
việc
Người dùng nghe lén sự trao đổi và sử
dụng replay attack
Công dụng:
Cho phép các thực thể truyền thông trong
mạng chứng thực lẫn nhau mà vẫn đảm bảo
an toàn
Chống nghe lén
Chống tấn công replay attack (gửi lại các
gói tin cũ)
Đảm bảo tính toàn vẹn và tính mật cho
thông tin truyền đi
9
Nguyên tắc hoạt động
Thiết kế dựa trên giao thức
Needham-Schroeder.
A → S: A, B, N
A
S → A: {N
A
, K
AB
, B, [K
AB
, A] K
BS
} K
AS
A → B: {K
AB
, A} K
BS
B → A: {N
B
} K
AB
A → B: {N
B
– 1} K
AB
(A: Alice, S: máy chủ, B: Bob)
10
Nguyên tắc hoạt động
“Máy chủ
chứng thực”
(Authentication
Server - AS)
KDC
“Máy chủ
cấp khoá”
(Ticket
Granting
Server -
TGS)
Sử dụng một bên thứ ba tham gia vào quá
trình nhận thực gọi là "trung tâm phân phối
khóa" (key distribution center - KDC).
11
Nguyên tắc hoạt động
Người sử dụng nhận thực mình
với máy chủ nhận thực AS
Chứng minh với máy chủ cấp vé
TGS rằng mình đã được nhận
thực để nhận vé.
Chứng minh với máy chủ dịch SS
vụ rằng mình đã được chấp thuận
để sử dụng dịch vụ.
12
Mô tả giao thức
A → S: A, B
S → A: {T
S
, L, K
AB
, B, [T
S
, L, K
AB
, A] K
BS
} K
AS
A → B: { T
S
, L, K
AB
, A} K
BS,
{A, T
A
} K
AB
B → A: { T
A
+ 1} K
AB
A: Alice, S: máy chủ, B: Bob
T, L: các chỉ thị về tính chất mới của gói tin
13
Hoạt động
-
Client yêu cầu vé truy
nhập TGS
- AS kiểm tra, trả về vé + khóa
phiên
-
Client yêu cầu vé từ TGS
- TGS trả về vé + khóa phiên
-
Client yêu cầu dịch vụ
- Server trả về chứng thực cho
phép sử dụng dịch vụ
14
Hoạt động
Pha 1
Bước 1: Người sử dụng nhập tên và mật khẩu tại
client.
Bước 2: Client thực hiện hàm băm một chiều trên mật
khẩu nhận được Key
client
Bước 3: Client gửi một gói tin (không mã hóa) tới AS
để yêu cầu dịch vụ "người dùng XYZ muốn sử dụng
dịch vụ". Không bao gồm Key
client
và mật khẩu
15
Hoạt động
Pha 1
Bước 4: AS kiểm tra người yêu cầu có nằm trong CSDL
không. Nếu có thì AS gửi 2 gói tin sau tới client:
•
Gói tin A: [Key
(client, TGS)
] Key
client
•
Gói tin B: Ticket Granting Ticket: [clientID, client address, validity, Key
(client, TGS)
] Key
TGS
Bước 5: Client giải mã gói tin A Key
(client, TGS)
.
Tại thời điểm này, người dùng có thể nhận thực mình
với TGS.
16
Hoạt động
Pha 2
Bước 6: Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói
tin sau tới TGS:
•
Gói tin C: Ticket Granting Ticket: service, [clientID, client address,
validity, Key
(client, TGS)
] Key
TGS
•
Gói tin D: Authenticator: [clientID, timestamp] Key
(client, TGS)
Bước 7: TGS giải mã D rồi gửi 2 gói tin sau tới client:
•
Gói tin E: Ticket
(client,service)
: service, [clientID, client address, validity, Key
(client, service)
] Key
service
•
Gói tin F: [Key
(client, service)
] Key
(client,TGS)
17
Hoạt động
Pha 3
Bước 8: Khi nhận được 2 gói tin E và F, client đã có đủ
thông tin để nhận thực với SS. Client gửi tới SS 2 gói
tin:
•
Gói tin G: là gói E: Ticket
(client,service)
thu được từ bước trước
•
Gói tin H: Authenticator: [clientID, timestamp] Key
(client, service)
Bước 9: SS giải mã "Vé" bằng Key
service
Key
(client,
service)
và gửi gói tin sau tới client để xác nhận định danh
của mình và khẳng định sự đồng ý cung cấp dịch vụ:
•
Gói tin I: [timestamp + 1] Key
(client, service)
18
Hoạt động
Pha 3
Bước 10: Client giải mã gói tin xác nhận và kiểm tra
thời gian có được cập nhật chính xác. Nếu đúng thì
client có thể tin tưởng vào máy chủ SS và bắt đầu gửi
yêu cầu sử dụng dịch vụ.
Bước 11: Máy chủ SS cung cấp dịch vụ cho client
19
20
Đánh giá
Ưu điểm:
Tăng cường bảo mật
•
Bảo đảm tính xác thực
•
Bảo đảm tính riêng tư và toàn vẹn
Hỗ trợ cơ chế ủy nhiệm
Cung cấp cơ chế chứng thực mạnh
•
Tăng sự tiện dụng cho người dùng
•
Hỗ trợ các nhà phát triển hệ thống
•
Đơn giản hóa công tác quản trị
21
Đánh giá
Khuyết điểm:
Khó tích hợp với các hệ thống cũ
Tấn công ở desktop
Điểm yếu trong mạng
Nếu máy chủ trung tâm ngừng hoạt động thì mọi
hoạt động sẽ ngừng lại
Giao thức đòi hỏi đồng hồ của tất cả những máy
tính liên quan phải được đồng bộ.
22
NỘI DUNG
Khái niệm chung
1
Giao thức Kerberos
2
Trust Negotiation
3
23
TRUST NEGOTIATION
Giới thiệu1
Các đặc tính chính yếu2
Các vấn đề đặt ra3
Mô hình Trust-X4
24
Giới thiệu
Trust Negotiation là một phương pháp tiếp
cận theo cách từng bước xây dựng lòng tin
(trust) giữa người truy cập với hệ thống
thông qua việc trao đổi tín khoản điện tử
(digital credentials)
Hạn chế của hệ thống truyền thống
Tại sao cần có Trust ?
Điểm khác biệt so với hệ thống khác ?
Một vài thuộc tính của Trust
Ví dụ minh họa
25