Bài giảng An toàn hệ thống thông tin - Chương 5: Quản lý và phân phối khóa (Key management and distribution) - Nguyễn Thị Hạnh
07/01/2018
Chương 5:
QUẢN LÝ VÀ PHÂN PHỐI KHÓA
(KEY MANAGEMENT AND DISTRIBUTION)
GV: Nguyễn Thị Hạnh
1
Nguyễn Thị Hạnh
Mục tiêu
˗ Giải thích được sự cần thiết của một Key-
Distribution Center (KDC)
˗ Làm thế nào để KDC có thể tạo ra được
Session Key giữa hai bên tham gia
° Khái niệm về Session Key
° Giải thích mô hình KDC
° Giải thích các bước tạo Session Key bằng KDC
˗ Giải thích về Flat Multiple KDCs; Hierarchical
Multiple KDCs
Nguyễn Thị Hạnh
2
1
07/01/2018
Mục tiêu
˗ Làm thế nào hai bên than gia dùng giao thức
Symmetric-Key Agreement để tạo session key
mà không dùng dịch vụ của KDC
° Diffie-Hellman Key Agreement
° Station-to-Station Key Agreement
˗ Mô tả Kerberos như là một KDC và một giao
thức xác thực: Servers; Operation; Using
Different Servers; Kerberos Version 5; Realms
Nguyễn Thị Hạnh
3
Mục tiêu
˗ Nêu được cần thiết của Certification đối với
Public Key
° Public Announcement
° Trusted Center
° Controlled Trusted Center
° Certification Authority
˗ X.509 đề xuất một định dạng Certificate như
thế nào?
° X.509 Certificate Format
Nguyễn Thị Hạnh
4
2
07/01/2018
Mục tiêu
˗ Nêu ra ý tưởng của Public-key Infrastructure
(PKI) và giải thích được nhiệm vụ của nó.
Nguyễn Thị Hạnh
5
Nội dung chính
1. Symmetric-key Distribution
2. Kerberos
3. Symmetric-Key Agreement
4. Public-key distribution
(Cryptography & Network Security. McGraw-Hill,
Inc., 2007., Chapter 15)
( Cryptography and Network Security: Principles
and Practices (3rd Ed.) – Chapter 14)
Nguyễn Thị Hạnh
6
3
07/01/2018
1. Symmetric-key Distribution
˗ Mã hóa khóa đối xứng là hiệu quả hơn mã
hóa khóa bất đối xứng đối với việc mã hóa các
thông điệp lớn. Tuy nhiên mã hóa khóa đối
xứng cần một khóa chia sẽ giữa hai tổ chức.
˗ Một người cần trao đổi thông điệp bảo mật với
N người, thì người đó cần N khóa khác nhau.
Vậy N người giao tiếp với N người khác thì
cần tổng số là N*(N-1) khóa
˗ ‰ số khóa không chỉ là vấn đề, mà phân phối
khóa là một vấn đề khác.
Nguyễn Thị Hạnh
7
Key-Distribution Center: KDC
˗ Để giảm số lượng khóa, mỗi người sẽ thiết lập
một khóa bí mật chia sẻ với KDC
˗ Làm thế nào để Alice có thể gửi một thông
điệp bảo mật tới Bob
Nguyễn Thị Hạnh
8
4
07/01/2018
Key-Distribution Center: KDC
˗ Quá trình xử lý như sau:
1. Alice gửi 1 yêu cầu đến KDC để nói rằng cô
ta cần một khóa phiên (session secret key)
giữa cô ta và Bob.
2. KDC thông báo với Bob về yều cầu của Alice
3. Nếu Bob đồng ý, một session key được tạo
giữa 2 bên.
˗ Khóa bí mật này được dùng để chứng thực
Alice và Bob với KDC và ngăn chặn Eve giả
mạo một trong hai.
Nguyễn Thị Hạnh
9
Key-Distribution Center: KDC
Flat Multiple KDCs
˗ Khi số lượng người dùng KDC tăng, hệ thống trở nên
khó quản lý và một bottleneck sẽ xảy ra.
˗ ‰ chúng ta có nhiều KDCs, chia thành các domain.
Mỗi domain có thể có một hoặc nhiều KDCs
˗ Alice muốn gửi thông điệp bí mật tới Bob, mà Bob
thuộc vào domain khác, thì Alice liên lạc với KDC của
cô ta mà trong đó tiếp tục liên lạc với KDC trong
domain của Bob.
˗ Hai KDCs như vậy thì được gọi là Flat multiple KDCs
Nguyễn Thị Hạnh
10
5
07/01/2018
Key-Distribution Center: KDC
Flat Multiple KDCs
Nguyễn Thị Hạnh
11
Key-Distribution Center: KDC
˗ Hierarchical Multiple KDCs
Nguyễn Thị Hạnh
12
6
07/01/2018
Khóa phiên (Session Keys)
˗ KDC tạo khóa bí mật cho mỗi thành viên, khóa
bí mật này chỉ có thể dùng giữa thành viên và
KDC, chứ không dùng giữa hai thành viên
˗ Nếu muốn dùng giữa hai thành viên, KDC tạo
một session key giữa hai thành viên, sử dụng
khóa của họ với trung tâm.
˗ Khóa phiên giữa hai thanh viên chỉ được
dùng một lần (sau giao tiếp kết thúc thì khóa
phiên cũng không còn tác dụng)
Nguyễn Thị Hạnh
13
Khóa phiên (Session Keys)
˗ Một giao thức đơn giản sử dụng một KDC
˗ Giao thức này có thể bị tấn công phát lại ở bước 3
Nguyễn Thị Hạnh
14
7
07/01/2018
Khóa phiên (Session Keys)
˗ Giao thức Needham-Schroeder (nền tảng của nhiều
giao thức khác)
Nguyễn Thị Hạnh
15
Khóa phiên (Session Keys)
˗ Giao thức Otway-Rees
Nguyễn Thị Hạnh
16
8
07/01/2018
2. KERBEROS
˗ Kerberos là một giao thức chứng thực
˗ Ra đời cùng thời điểm với KDC, nhưng đã trở
nên thông dụng. (Windows 2000 sử dụng cơ
chế Kerberos để chứng thực)
˗ Đầu tiên được thiết kế tại MIT, nó đã qua
nhiều phiên bản khác nhau
Nguyễn Thị Hạnh
17
2. KERBEROS
Trong giao thức Kerberos gồm có:
˗ Servers
˗ Operation
˗ Using Different Servers
˗ Kerberos Version 5
˗ Realms
Nguyễn Thị Hạnh
18
9
07/01/2018
Servers
˗ Authentication Server (AS): là KDC trong giao
thức Kerberos
˗ Ticket-granting server (TGS): phát hành một
ticket cho real server (Bob)
˗ Real (data) server (của Bob): cung cấp dịch vụ
cho người dùng (Alice)
Nguyễn Thị Hạnh
19
Servers
Nguyễn Thị Hạnh
20
10
07/01/2018
Nguyễn Thị Hạnh
Using Different Servers
Nếu Alice cần nhận các dịch vụ từ các servers
khác, cô ta chỉ cần lặp lại 4 bước sau cùng.
Nguyễn Thị Hạnh
22
11
07/01/2018
Kerberos Version 5
˗ Sự khác biệt nhỏ giữa phiên bản 4 và 5 như
sau:
1. Version 5 có một ticket lifetime dài hơn
2. Version 5 cho phép các ticket được tạo lại
mới
3. Version 5 có thể chấp nhận bất kỳ thuật toán
khóa đối xứng
4. Version 5 dùng một giao thức khác cho việc
mô tả kiểu dữ liệu
5. Version 5 có nhiều overhead hơn version 4
Nguyễn Thị Hạnh
23
Realms (lãnh địa)
˗ Kerberos cho phép sự phân bố toàn cục của
các AS và TGS, với mỗi hệ thống được gọi là
một realm. Người dùng có thế lấy một ticket
cho một local server hoặc remote server.
Nguyễn Thị Hạnh
24
12
07/01/2018
3. Symmetric-Key Agreement
˗ Alice và Bob có thể tạo ra một session key
giữa chúng mà không cần dùng một KDC.
Phương pháp tạo session-key này được tham
chiếu như một symmetric-key agreement.
˗ Hai phương pháp
° Diffie-Hellman Key Agreement
° Station-to-Station Key Agreement
Nguyễn Thị Hạnh
25
3.1 Diffie-Hellman Key Agreement
˗ Trong giao thức Diffie-Hellman hai bên tạo một
symmetric session key mà không cần KDC.
˗ Hai bên chọn p (nguyên tố lớn – 1024-bit), g
là phần tử sinh trong nhóm <Zp*,x>, không
cần bí mật (được công khai).
˗ Các bước của giao thức thực hiện như hình
sau.
Nguyễn Thị Hạnh
26
13
07/01/2018
3.1 Diffie-Hellman Key Agreement
Nguyễn Thị Hạnh
27
3.1 Diffie-Hellman Key Agreement
˗ Ví dụ: Cho trước g và p, các bước như sau:
1.Alice chọn ngẫu nhiên số lớn x với 0<=x<=p-1,
tính
R1 = gx mod p.
2.Bob chọn số lớn y với 0<=y<p-1, tính
R2 = gy mod p
1.Alice gửi R1 cho Bob (lưu ý là không gửi x).
2.Bob gửi R2 cho Alice (lưu ý là không gửi y).
3.Alice tính Symmetric Key K = (R2)x mod p
4.Bob tính Symmetric key K= (R1)y mod p
5.Giá trị của K giống nhau giữa Alice và Bob:
K=(gx mod p)y mod p=(gy)mod p)x mod p =gxy mod p
Nguyễn Thị Hạnh
28
14
07/01/2018
3.1 Diffie-Hellman Key Agreement
˗ Ví dụ: Giả sử rằng g = 7 và p = 23. Các bước như
sau:
1.Alice chọn x = 3 và tính R1 = 73 mod 23 = 21.
2.Bob chọn y = 6 và tính R2 = 76 mod 23 = 4.
3.Alice gửi số 21 cho Bob.
4.Bob gửi số 4 cho Alice.
5.Alice tính Symmetric Key K = 43 mod 23 = 18.
6.Bob tính Symmetric key K = 216 mod 23 = 18.
7.Giá trị của K giống nhau giữa Alice và Bob;
gxy mod p = 718 mod 35 = 18.
Nguyễn Thị Hạnh
29
3.1 Diffie-Hellman Key Agreement
˗ Ví dụ 2: Chúng ta dùng một chương trình tạo
một số nguyên ngẫu nhiên 521-bit (khoảng
159 chữ số). Chúng ta cũng chọn g, x, và y
như sau.
Nguyễn Thị Hạnh
30
15
07/01/2018
3.1 Diffie-Hellman Key Agreement
˗ Giá trị của R1, R2, và K là:
Nguyễn Thị Hạnh
31
3.1 Diffie-Hellman Key Agreement
Ý tưởng của Diffie-Hellman
Nguyễn Thị Hạnh
32
16
07/01/2018
3.1 Diffie-Hellman Key Agreement
Bảo mật của Diffie-Hellman:
1. Discrete Logarithm Attack
2. Man-in-the-Middle Attack
Nguyễn Thị Hạnh
33
3.1 Diffie-Hellman Key Agreement
Discrete Logarithm Attack
Eve chặn R1 và R2. Nếu cô ta tìm ra được x từ R1=gx
mod p và y từ R2=gy mod p ‰ có thể tính toán được
khóa K=gxy mod p ‰ Khóa bí mật này không còn bí
mật nữa.
Để an toàn, ta nên chọn:
˗ Số nguyên tố p phải là rất lớn (hơn 300 chữ số)
˗ Số p phải được chọn sao cho p-1 có ít nhất một
thừa số nguyên tố lớn (nhiều hơn 60 chữ số)
˗ Phần tử sinh phải được chọn từ nhóm <Zp*,x>
˗ Bob và Alice phải hũy x và y sau khi tính K; x và y
chỉ nên sử dụng một lần
Nguyễn Thị Hạnh
34
17
07/01/2018
3.1 Diffie-Hellman Key Agreement
M
Nguyễn Thị Hạnh
35
3.2 Station-to-Station Key Agreement
˗ Là một giao thức dựa trên Diffie-Hellman
˗ Dùng Digtal signature với Public-key
Certificates để thiết lập nên session key giữa
Alice và Bob
Nguyễn Thị Hạnh
36
18
07/01/2018
Nguyễn Thị Hạnh
37
3.2 Station-to-Station Key Agreement
˗ Giao thức này ngăn chặn được tấn công
man-in-the-middle.
° Sau khi chặn R1, Eve không thể gửi R2 của cô ta
cho Alice và giả bộ nó được gửi đến từ Bob bởi vì
Eve không thể giả mạo được Private key của Bob
để tạo ra Sinature – Signature không thể được
thẩm tra bằng public key của Bob được xác định
trong Certificate.
° Cùng cách tương tự Eve không thể giả private key
của Alice để ký thông điệp thứ 3 gửi bởi Alice.
Nguyễn Thị Hạnh
38
19
07/01/2018
4. PUBLIC-KEY DISTRIBUTION
˗ Trong mã hóa khóa công khai, mọi người có
thể truy xuất đến Public key của mọi người;
các Public Key này sẳn sàng được công khai
˗ Public key, giống như khóa bí mật, cần được
phân bố như thể nào cho hữu dụng
Nguyễn Thị Hạnh
39
4.1 Public Announcement
˗ Đưa Public Key lên Website, tạp chí
˗ Không an toàn, nó có thể bị giả mạo
Nguyễn Thị Hạnh
40
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An toàn hệ thống thông tin - Chương 5: Quản lý và phân phối khóa (Key management and distribution) - Nguyễn Thị Hạnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_an_toan_he_thong_thong_tin_chuong_5_quan_ly_va_pha.pdf