Chương 5
CÁC ỨNG DỤNG XÁC THỰC
Giới thiệu
•
Mục đích của các ứng dụng xác thực là hỗ trợ xác thực và chữ ký số ở mức ứng
dụng
•
Phân làm 2 loại chính
–
Dựa trên mã hóa đối xứng
•
•
–
Giao thức Needham-Schroeder
Dựa trên khóa công khai được chứng thực
•
•
Trần Bá Nhiệm
Dịch vụ Kerberos
Dịch vụ X.509
Hệ thống PGP
An ninh Mạng
2
Kerberos
•
•
Hệ thống dịch vụ xác thực phát triển bởi MIT
Nhằm đối phó với các hiểm họa sau
–
–
–
•
Người dùng giả danh là người khác
Người dùng thay đổi địa chỉ mạng của client
Người dùng xem trộm thông tin trao đổi và thực hiện kiểu tấn công lặp lại
Bao gồm 1 server tập trung có chức năng xác thực người dùng và các server dịch vụ
phân tán
–
–
Trần Bá Nhiệm
Tin cậy server tập trung thay vì các client
Giải phóng chức năng xác thực khỏi các server dịch vụ và các client
An ninh Mạng
3
Ký hiệu
–
–
–
C: Client
AS: Server xác thực
V: Server dịch vụ
–
IDC: Danh tính người dùng trên C
–
IDV: Danh tính của V
–
PC: Mật khẩu của người dùng trên C
–
ADC: Địa chỉ mạng của C
–
KV: Khóa bí mật chia sẻ bởi AS và V
–
–
–
Trần Bá Nhiệm
║: Phép ghép
TGS: Server cấp thẻ
TS: Nhãn thời gian
An ninh Mạng
4
Một hội thoại xác thực đơn giản
•
Giao thức
(1) C → AS: IDC ║ PC ║ IDV
(2) AS → C: Thẻ
(3) C → V:
IDC ║ Thẻ
Thẻ = EK [IDC ║ ADC ║ IDV]
V
•
Hạn chế
–
–
Mật khẩu truyền từ C đến AS không được bảo mật
Nếu thẻ chỉ sử dụng được một lần thì phải cấp thẻ mới cho mỗi lần truy nhập cùng một dịch
vụ
–
–
Trần Bá Nhiệm
Nếu thẻ sử dụng được nhiều lần thì có thể bị lấy cắp để sử dụng trước khi hết hạn
Cần thẻ mới cho mỗi dịch vụ khác nhau
An ninh Mạng
5
Hội thoại xác thực Kerberos 4
(a) Trao đổi với dịch vụ xác thực: để có thẻ cấp thẻ
(1) C → AS: IDC ║ IDtgs ║ TS1
(2) AS → C: EK [KC,tgs ║ IDtgs ║ TS2 ║ Hạn2 ║ Thẻtgs]
C
Thẻtgs = EK [KC,tgs ║ IDC ║ ADC ║ IDtgs ║ TS2 ║ Hạn2]
tgs
(b) Trao đổi với dịch vụ cấp thẻ: để có thẻ dịch vụ
(3) C → TGS: IDV ║ Thẻtgs ║ DấuC
(4) TGS → C: EK
[K
║ IDV ║ TS4 ║ ThẻV]
C,tgs C,V
ThẻV = EK [KC,V ║ IDC ║ ADC ║ IDV ║ TS4 ║ Hạn4]
V
DấuC = EK
C,tgs
[IDC ║ ADC ║ TS3]
(c) Trao đổi xác thực client/server: để có dịch vụ
(5) C → V: ThẻV ║ DấuC
(6) V → C: EK
[TS5 + 1]
C,V
Trần Bá Nhiệm
An ninh Mạng
6
Mô hình tổng quan Kerberos
Mỗi phiên
người dùng
một lần
c ầu
Yêu
thẻ
cấp
thẻ
Client
Th ẻ
u
Yêu cầ
AS
h
óa p
+ kh
iê n
h vụ
thẻ dịc
TGS
iên
hóa ph
Thẻ + k
Mỗi dịch vụ
một lần
Yê
u
Gử
i dấ
Mỗi phiên
cầ
ud
ị ch
Server
vụ
dịch vụ
us
erv
er
dịch vụ
một lần
Trần Bá Nhiệm
An ninh Mạng
7
Phân hệ Kerberos
•
Một phân hệ Kerberos bao gồm
–
–
–
•
•
Một server Kerberos chứa trong CSDL danh tính và mật khẩu băm của các thành viên
Một số người dùng đăng ký làm thành viên
Một số server dịch vụ, mỗi server có một khóa bí mật riêng chỉ chia sẻ với server Kerberos
Mỗi phân hệ Kerberos thường tương ứng với một phạm vi hành chính
Hai phân hệ có thể tương tác với nhau nếu 2 server chia sẻ 1 khóa bí mật và đăng
ký với nhau
–
Trần Bá Nhiệm
Điều kiện là phải tin tưởng lẫn nhau
An ninh Mạng
8
Phân hệ A
1
2
3
1. Yêu cầu thẻ cho TGS cục bộ
4
2. Thẻ cho TGS cục bộ
3. Yêu cầu thẻ cho TGS ở xa
7
6
5
4. Thẻ cho TGS ở xa
5. Yêu cầu thẻ cho server ở xa
6. Thẻ cho server ở xa
7. Yêu cầu dịch vụ ở xa
Phân hệ B
Trần Bá Nhiệm
An ninh Mạng
9
Kerberos 5
•
Phát triển vào giữa những năm 1990 (sau Kerberos 4 vài năm) đặc tả trong RFC
1510
•
Có một số cải tiến so với phiên bản 4
–
Khắc phục những khiếm khuyết của môi trường
•
Phụ thuộc giải thuật mã hóa, phụ thuộc giao thức mạng, trật tự byte thông báo không theo chuẩn, giá trị
hạn dùng thẻ có thể quá nhỏ, không cho phép ủy nhiệm truy nhập, tương tác đa phân hệ dựa trên quá
nhiều quan hệ tay đôi
–
Khắc phục những thiếu sót kỹ thuật
•
Mã hóa hai lần có một lần thừa, phương thức mã hóa PCBC để đảm bảo tính toàn vẹn không chuẩn dễ
bị tấn công, khóa phiên sử dụng nhiều lần có thể bị khai thác để tấn công lặp lại, có thể bị tấn công mật
khẩu
Trần Bá Nhiệm
An ninh Mạng
10
Dịch vụ xác thực X.509
•
Nằm trong loạt khuyến nghị X.500 của ITU-T nhằm chuẩn hóa dịch vụ thư mục
–
•
Servers phân tán lưu giữ CSDL thông tin người dùng
Định ra một cơ cấu cho dịch vụ xác thực
–
–
Danh bạ chứa các chứng thực khóa công khai
Mỗi chứng thực bao gồm khóa công khai của người dùng ký bởi một bên chuyên trách chứng
thực đáng tin
•
•
Định ra các giao thức xác thực
Sử dụng mật mã khóa công khai và chữ ký số
–
Trần Bá Nhiệm
Không chuẩn hóa giải thuật nhưng khuyến nghị RSA
An ninh Mạng
11
Khuôn dạng X.509
Trần Bá Nhiệm
An ninh Mạng
12
Nhận chứng thực
•
Cứ có khóa công khai của CA (cơ quan chứng thực) là có thể xác minh được chứng
thực
•
Chỉ CA mới có thể thay đổi chứng thực
–
•
Chứng thực có thể đặt trong một thư mục công khai
Cấu trúc phân cấp CA
–
–
Người dùng được chứng thực bởi CA đã đăng ký
Mỗi CA có hai loại chứng thực
•
•
•
Chứng thực thuận: Chứng thực CA hiện tại bởi CA cấp trên
Chứng thực nghịch: Chứng thực CA cấp trên bởi CA hiện tại
Cấu trúc phân cấp CA cho phép người dùng xác minh chứng thực bởi bất kỳ CA nào
Trần Bá Nhiệm
An ninh Mạng
13
Phân cấp X.509
Trần Bá Nhiệm
An ninh Mạng
14
Thu hồi chứng thực
•
•
Mỗi chứng thực có một thời hạn hợp lệ
Có thể cần thu hồi chứng thực trước khi hết hạn
–
–
–
•
•
Khóa riêng của người dùng bị tiết lộ
Người dùng không còn được CA chứng thực
Chứng thực của CA bị xâm phạm
Mỗi CA phải duy trì danh sách các chứng thực bị thu hồi (CRL)
Khi nhận được chứng thực, người dùng phải kiểm tra xem nó có trong CRL không
Trần Bá Nhiệm
An ninh Mạng
15
Các thủ tục xác thực
Trần Bá Nhiệm
An ninh Mạng
16
Cấp chứng chỉ
•
•
Certification authority (CA): gắn kết khóa công cộng với thực thể E nào đó.
E (người, router) đăng ký khóa công cộng của họ với CA.
–
–
–
E cung cấp “bằng chứng để nhận dạng” cho CA.
CA tạo ra chứng chỉ ràng buộc E với khóa công cộng của nó.
chứng chỉ chứa khóa công cộng của E được ký số bởi CA – CA nói “đây là khóa công cộng của E”
chữ ký số (đã
khóa công cộng của Bob
+
K
K
Bob
B
B
khóa riêng
thông tin để nhận dạng
+
mã hóa)
CA
-
K
chứng chỉ cho khóa công cộng
của Bob, ký bởi CA
CA
17
Mô tả chứng chỉ
•
•
Số thứ tự (duy nhất)
thông tin về người sở hữu chứng chỉ, bao gồm giải thuật và chính giá trị khóa
(không hiển thị ra)
❒
thông tin về người phát hành
chứng chỉ
❒
ngày kiểm tra tính hợp lệ
❒
chữ ký số bởi người phát hành
chứng chỉ
18
Sử dụng chứng chỉ
Giải mã
Chứng nhận hợp lệ
&
liệu
Xác Tài
nhận
chữ ký
Tổ chức chứng nhận (CA)
& còn giá trị
Thông tin
Ok! Tin tưởng
chấp nhận đề
Đáng&tin
cậy ?
nghị.
Tạo chứng nhận
Xác thực chứng nhận
Chứng nhận X.509
Yêu cầu cấp
Ký
chứng nhận theo
&
Mã hóa
Private
key
Chuẩn X.509
Tài
Public
liệu
Thông tin
key
19
Public
key
Sử dụng chứng chỉ
Hủy
Chứng nhận
đã bị HỦY
Khóa bí mật bị
vào 25/3/2009 3:10:22
CA
BẺ !
?
Cần
Cần chứng
chứng thực
thực
Xác thực chứng
giấy
giấy chứng
chứng nhận
nhận
Hủy chứng nhận nhận
Private
key
Chứng n
Yêu cầu hận đã
bị HỦY
HỦY ch
ứng nhậngày 25/3
/2009
n
3:10:22
20
giao dịch