You are on page 1of 7

09.01.

2023

HỌC VIỆN KỸ THUẬT MẬT MÃ


KHOA AN TOÀN THÔNG TIN Khái niệm, phân loại xác
******** 1
thực và giao thức xác thực

2 Truyền trực tiếp bí mật


GIAO THỨC AN TOÀN MẠNG
Bài 2.1. Một số nguyên thủy xác thực
3 Thách đố bằng nonce

4 Thách đố bằng timestamp

Mục tiêu bài học Tài liệu tham khảo


Kiến thức 1. Giáo trình "Giao thức an toàn mạng máy
 Khái niệm, phân loại xác thực tính"// Chương 2 "Các giao thức xác
 Khái niệm, phân loại giao thức xác thực thực"
 Một số nguyên thủy xác thực thuộc các loại 2. Giáo trình "Mật mã ứng dụng"//
khác nhau
Chương 5 "Giao thức mật mã"
Kỹ năng
 Phân tích hoạt động của giao thức xác thực

3 4

Một số khái niệm trong xác thực


Khái niệm, phân loại xác
1
thực và giao thức xác thực

2 Truyền trực tiếp bí mật Xác thực là hành vi xác nhận sự thật
một thuộc tính của một đối tượng hoặc
một chủ thể.
3 Thách đố bằng nonce – Xác thực thông điệp
– Xác thực thực thể

4 Thách đố bằng timestamp


6

1
09.01.2023

Một số khái niệm trong xác thực Một số khái niệm trong xác thực

Xác thực thực thể là một thủ tục mà


qua đó, một thực thể thiết lập một tính
Xác thực thông điệp là một cơ chế cho
chất được yêu cầu cho một thực thể khác
phép khẳng định rằng thông điệp không
bị thay đổi trong quá trình truyền và bên • Thực thể: người dùng, tiến trình, client,
nhận có thể kiểm tra được nguồn gốc của server
thông điệp
• Tính chất được yêu cầu: có mật khẩu
đúng, có nắm giữ khóa bí mật...
7 8

Giao thức xác thực Ký hiệu quy ước


Giao thức xác thực (thực thể) là một
giao thức mật mã với mục đích thực hiện
• Alice (A), Bob (B)... là tên của thực thể;
xác thực. 1 chiều
Số chiều
2 chiều
• Alice  Bob: m: Alice gửi m đến Bob;

Có • {m}K: mã hóa m bởi khóa K;


Giao thức Thỏa
xác thực thuận khóa
Không
• PA: mật khẩu của A
Trực tiếp
Truyền yếu
tố bí mật
Nonce • KPA: khóa công khai của A;
Thách đố -
Giải đố
Timestamp 9 10

Ký hiệu quy ước


Khái niệm, phân loại xác
1
thực và giao thức xác thực
• KAB: khóa bí mật chia sẻ giữa A và B;

• TA: tem thời gian tạo bởi thực thể A;


2 Truyền trực tiếp bí mật

• NA: số ngẫu nhiên tạo bởi thực thể A;


3 Thách đố bằng nonce
• sigA(m): chữ ký số tạo bởi thực thể A
trên thông báo m;
4 Thách đố bằng timestamp
11

2
09.01.2023

Truyền trực tiếp yếu tố bí mật Truyền trực tiếp yếu tố bí mật

 Điều kiện
Alice và Bob chia sẻ mật khẩu PA • Mật khẩu có thể bị chặn thu
 Yêu cầu • Nhưng thực tế vẫn được sử dụng rộng rãi
Bob xác thực được Alice (phần lớn các website)
 Thực hiện • Để đảm bảo an toàn, quá trình xác thực
1. Alice  Bob: "Alice", PA được thực hiện qua một kênh mã hóa
2. Bob kiểm tra tính hợp lệ và chấp nhận
hoặc từ chối truy cập
13 14

Truyền trực tiếp yếu tố bí mật Xác thực bằng mật khẩu
1.Lưu mật khẩu dạng rõ

Phương án lưu trữ mật khẩu của


Alice ở phía Bob:
– Lữu trữ dạng rõ
– Lưu trữ dạng băm
– Lưu trữ dạng băm có phụ gia (salt)

15 16

Xác thực bằng mật khẩu Xác thực bằng mật khẩu
2. Lưu mật khẩu dạng băm 3. Lưu mật khẩu dạng băm có salt

17 18

3
09.01.2023

Nonce
Khái niệm, phân loại xác
1
thực và giao thức xác thực Nonce là một đại lượng được sinh ngẫu
nhiên, sao cho không bao giờ lặp lại
2 Truyền trực tiếp bí mật  Để không lặp lại, nonce thường có kích thước
lớn (~128 bít)
 Việc nonce không lặp lại giúp đảm bảo tính
3 Thách đố bằng nonce tươi của thông điệp (thông điệp chỉ được sử
dụng 1 lần) trong xác thực
 Nonce luôn được sinh bởi bên xác thực
4 Thách đố bằng timestamp (authentication server).
20

Mật mã đối xứng + nonce (1/2) Mật mã đối xứng + nonce (2/2)
 Thực hiện

1. Alice  Bob: "Alice" Initialization


 Điều kiện
2. Bob  Alice: NB; Challenge
Alice và Bob chia sẻ khóa bí mật KAB
3. Alice  Bob: {NB}KAB Response
 Yêu cầu
Decision
4. Bob:
Bob xác thực được Alice
 Giải mã bằng KAB;

21  Chấp nhận nếu thấy NB; 22

Hàm băm + nonce (1/2) Hàm băm + nonce (2/2)


 Thực hiện
1. Alice  Bob: "Alice"
 Điều kiện 2. Bob  Alice: NB;
Alice và Bob chia sẻ khóa bí mật KAB 3. Alice  Bob: H(KAB || NB);
 Yêu cầu 4. Bob:
 Tính lại H(KAB || NB)
Bob xác thực được Alice
 Chấp nhận nếu giá trị trùng nhau;

23 24

4
09.01.2023

Chữ ký số + nonce (1/2) Chữ ký số + nonce (2/2)


 Thực hiện
1. Alice  Bob: "Alice"
 Điều kiện 2. Bob  Alice: NB
Alice có cặp khóa bí mật, công khai 3. Alice  Bob: sigA(NB)
 Yêu cầu 4. Bob:
 Sử dụng KPA để kiểm tra chữ ký;
Bob xác thực được Alice
 Chấp nhận nếu chữ ký hợp lệ;

25 26

Mã hóa khóa công khai + nonce (1/2) Mã hóa khóa công khai + nonce (1/2)
 Thực hiện

1. Alice  Bob: "Alice"


 Điều kiện
2. Bob  Alice: {NB}KPA
Alice có cặp khóa bí mật, công khai
3. Alice  Bob: NB
 Yêu cầu
4. Bob
Bob xác thực được Alice
 So sánh với NB ban đầu;

27  Chấp nhận nếu giống nhau. 28

Timestamp
Khái niệm, phân loại xác
1 Timestamp đại lượng chỉ thời gian trên
thực và giao thức xác thực
đồng hồ của mỗi bên tham gia xác thực.
 Luôn có sự sai lệch giữa đồng hồ của các bên
2 Truyền trực tiếp bí mật nên phải xác định một sai số chấp nhận được
: TB-  TA  TB+
 Mỗi timestamp sẽ hợp lệ trong một khoảng
3 Thách đố bằng nonce thời gian nhất định  để chống tấn công
phát lại (replay attack) bên xác thực cần có
cơ chế đảm bảo mỗi timestamp chỉ được sử
4 Thách đố bằng timestamp dụng một lần (ví dụ: ghi nhớ timestamp gần
nhất được sử dụng bởi mỗi thực thể) 30

5
09.01.2023

Mật mã đối xứng + timestamp (1/2) Mật mã đối xứng + timestamp (2/2)
 Thực hiện
 Điều kiện 1. Alice  Bob: "Alice", {TA}KAB
− Alice và Bob thống nhất cơ chế nhãn
2. Bob
thời gian
 Giải mã bằng KAB để thu được TA
− Alice và Bob chia sẻ khóa bí mật KAB
 Chấp nhận nếu TA hợp lệ
 Yêu cầu

Bob xác thực được Alice


31 32

Hàm băm + timestamp (1/2) Hàm băm + timestamp (2/2)


 Thực hiện
 Điều kiện 1. Alice  Bob: "Alice", TA, H(KAB || TA);
− Alice và Bob thống nhất cơ chế nhãn
2. Bob:
thời gian
 Kiểm tra tính hợp lệ của TA
− Alice và Bob chia sẻ khóa bí mật KAB
 Tính lại H(KAB || TA)
 Yêu cầu
 Chấp nhận nếu trùng với giá trị gửi đến;
Bob xác thực được Alice
33 34

Chữ ký số + timestamp (1/2) Chữ ký số + timestamp (2/2)


 Thực hiện
 Điều kiện 1. Alice  Bob: "Alice", TA, sigA(TA)
− Alice và Bob thống nhất cơ chế nhãn
2. Bob:
thời gian
 Kiểm tra tính hợp lệ của TA
− Alice có cặp khóa bí mật, công khai
 Sử dụng KPA để kiểm tra chữ ký;
 Yêu cầu
 Chấp nhận nếu chữ ký hợp lệ;
Bob xác thực được Alice
35 36

6
09.01.2023

TỰ TÌM HIỂU
Các giao thức xác thực khác
trong tài liệu [2]

37

You might also like