Professional Documents
Culture Documents
An Ninh Mang Bui Trong Tung Lec4 (Cuuduongthancong - Com)
An Ninh Mang Bui Trong Tung Lec4 (Cuuduongthancong - Com)
Nội dung
CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
1. TỔNG QUAN VỀ GIAO THỨC MẬT MÃ
CuuDuongThanCong.com https://fb.com/tailieudientucntt 2
Các thuộc tính của giao thức mật mã
• Các bên tham gia phải hiểu về các bước thực hiện giao
thức
• Các bên phải đồng ý tuân thủ chặt chẽ các bước thực
hiện
• Giao thức phải rõ ràng, không nhập nhằng
• Giao thức phải đầy đủ, xem xét mọi tình huống có thể
• Với giao thức mật mã: Giao thức phải được thiết kế
để khi thực hiện không bên nào thu được nhiều lợi
ích hơn so với thiết kế ban đầu.
CuuDuongThanCong.com https://fb.com/tailieudientucntt 3
Giao thức có trọng tài – Ví dụ
• Alice và Bob tin tưởng vào Trent-Bên thứ 3 mà cả 2 cùng
tin tưởng Trent
(1)
(2)
(3)
(4)
(6) (7)
OK
(1)
(2)
(3)
(3) Bob
Alice
8
CuuDuongThanCong.com https://fb.com/tailieudientucntt 4
Giao thức sử dụng trọng tài
• Khi 2 bên đã không tin tưởng nhau, có thể đặt niềm tin
vào bên thứ 3 không?
• Tăng chi phí
• Tăng trễ
• Trọng tài trở thành “cổ chai” trong hệ thống
• Trọng tài bị tấn công
10
CuuDuongThanCong.com https://fb.com/tailieudientucntt 5
Giao thức tự phân xử(Self-Enforcing
Protocols)
• Không cần đến bên thứ 3
• Giao thức có cơ chế để một bên có thể phát hiện sự gian
lận của bên còn lại
• Không phải tình huống nào cũng có thể tìm ra giao thức
như vậy
11
12
CuuDuongThanCong.com https://fb.com/tailieudientucntt 6
Một ví dụ khác-Shamir 3-pass protocol
1. Bob Alice: E(K1,M)
2. Alice Bob: E(K2, E(K1,M))
3. Bob Alice: D(K1, E(K2, E(K1,M)))
4. Alice: D(K2, D(K1, E(K2, E(K1,M))))
13
14
CuuDuongThanCong.com https://fb.com/tailieudientucntt 7
Hãy xem lại sơ đồ bảo mật sử dụng mật
mã khóa đối xứng
KS ? KS
M M
Mã hóa Giải mã
Alice Bob
C C
Kênh truyền
KS*
15
16
CuuDuongThanCong.com https://fb.com/tailieudientucntt 8
Giao thức phân phối khóa không tập
trung – Giao thức 1.2
• Sử dụng các yếu tố chống tấn công phát lại
(replay attack)
(1) A B: IDA || N1
(2) B A: E(KM, IDB || KS || N1 || N2)
(3) A B: A kiểm tra N1 và gửi E(KS, N2)
(4) B kiểm tra N2
• Hạn chế của phân phối khóa không tập trung?
17
18
CuuDuongThanCong.com https://fb.com/tailieudientucntt 9
Giao thức phân phối khóa tập trung-
Giao thức 2.1
(1) A KDC: IDA || IDB
(2) KDC A: E(KA, KS || IDA || IDB || E(KB, IDA || KS))
(3) A giải mã, thu được KS
(4) A B: E(KB, IDA || KS)
(5) A ↔ B: E(KS, Data)
• Hãy xem xét tính an toàn của giao thức này?
Tấn công nghe lén
Tấn công thay thế
Tấn công giả mạo
Tấn công phát lại
19
20
CuuDuongThanCong.com https://fb.com/tailieudientucntt 10
Giao thức 2.2 (Needham-Schroeder)
21
22
CuuDuongThanCong.com https://fb.com/tailieudientucntt 11
Giao thức 2.3 (Denning)
23
• Vì sao việc sử dụng nhãn thời gian TB của B tốt hơn nhãn
thời gian T của KDC trong giao thức 2.3
• Hãy xem thêm các giao thức khác trong Section 3.1,
Chapter 3, “Applied Cryptography: Protocols, Algorthms,
and Source Code in C”, 2nd Edition, Bruce Schneier
24
CuuDuongThanCong.com https://fb.com/tailieudientucntt 12
Giao thức 2.4 (Kehne)
25
26
CuuDuongThanCong.com https://fb.com/tailieudientucntt 13
Hãy xem lại sơ đồ bảo mật sử dụng mật
mã khóa công khai
M
KUB
Mã hóa
? KRB
Giải mã
M
Alice Bob
C C
Kênh truyền
28
CuuDuongThanCong.com https://fb.com/tailieudientucntt 14
Giao thức 3.1 – Tấn công man-in-the-middle
• C tự sinh cặp khóa (K’UA, K’RA) và (K’UB, K’RB)
A C B
(1) A B: IDA || KUA || N1
(1’) C B: IDA || K’UA || N1
(5) A B: E(K’UB,DataA)
(5) A B: E(KUB,DataA)
29
30
CuuDuongThanCong.com https://fb.com/tailieudientucntt 15
Giao thức phân phối khóa tập trung-
Giao thức 4.1
• Sử dụng bên thứ 3 tin cậy – PKA (Public Key Authority)
Có cặp khóa (KUPKA, KRPKA)
Nhận các khóa công khai KUA của A và KUB của B một cách an
toàn. Làm thế nào vì đây chính là bài toán đang cần giải quyết
• A và B đều có khóa công khai KUPKA của PKA
• Giao thức 4.1
(1) A PKA: IDA || IDB - Kiểm tra tính an toàn
(2) PKA A: E(KRPKA, IDB || KUB) của giao thức này?
(3) A B: E(KUB, N1) - Có thể tấn công vào
(4) B PKA: IDB || IDA giao thức này như
(5) PKA B: E(KRPKA, IDA || KUA) thế nào?
(6) B A: E(KUA, N1)
31
32
CuuDuongThanCong.com https://fb.com/tailieudientucntt 16
Giao thức phân phối khóa tập trung-
Giao thức 4.2
(1) A PKA: IDA || IDB || T1
(2) PKA A: E(KRPKA, IDB || KUB || T1)
(3) A B: E(KUB, N1)
(4) B PKA: IDB || IDA || T2
(5) PKA B: E(KRPKA, IDA || KUA || T2)
(6) B A: E(KUA, N1)
T1, T2: nhãn thời gian chống tấn công phát lại
• Giao thức này có hạn chế gì?
33
34
CuuDuongThanCong.com https://fb.com/tailieudientucntt 17
Giao thức phân phối khóa tập trung-
Giao thức 4.3
• Bên thứ 3 được tin cậy – CA(Certificate Authority)
Có cặp khóa (KUCA, KRCA)
Phát hành chứng thư số cho khóa công khai của các
bên có dạng
Cert = E(KRCA, ID || KU || Time)
ID: định danh của thực thể
KU: khóa công khai của thực thể đã được đăng ký tại CA
Time: Thời hạn sử dụng khóa công khai. Thông thường
có thời điểm bắt đầu có hiệu lực và thời điểm hết hiệu
lực.
35
CuuDuongThanCong.com https://fb.com/tailieudientucntt 18
Giao thức 4.3 (tiếp)
37
CuuDuongThanCong.com https://fb.com/tailieudientucntt 19
Kết luận
39
40
CuuDuongThanCong.com https://fb.com/tailieudientucntt 20
Sơ đồ chung
• Phía gửi : hàm ký
1. Băm bản tin gốc, thu được giá
trị băm H
2. Mã hóa giá trị băm bằng khóa
riêng chữ kí số S
3. Gắn chữ kí số lên bản tin gốc
(M || S)
42
CuuDuongThanCong.com https://fb.com/tailieudientucntt 21
Chữ ký điện tử có trọng tài
• Trọng tài (Trent – T) có nhiệm vụ:
Áp dụng một số lần kiểm tra lên bản tin, kiểm tra tính toàn vẹn của nội
dung và nguồn gốc
Kiểm tra nhãn thời gian (timestamp) của bản tin
(1) A T: IDA || E(KUB,M) || SignA(E(KUB,M)) || TA || SignA(MAT)
(2) T A: IDA || E(KUB,M) || SignA(E(KUB,M)) || TA || SignT(MTB)
(3) A gửi cho B bản tin 2
SignA(E(KUB,M)) = E(KRA, H(E(KUB,M)))
Sign(MAT) = E(KRA, H(MAT))
MAT = IDA || E(KUB,M) || SignA(E(KUB,M)) || TA
Sign(MTB) = E(KRT, H(MTB))
MTB = IDA || E(KUB,M) || SignA(E(KUB,M)) || TA
43
• Một số giao dịch điện tử yêu cầu cần che giấu thông tin
cá nhân của các bên tham gia:
Thương mại điện tử
Bầu cử điện tử
• Chữ ký mù: người ký không biết nội dung của văn bản
Người kiểm tra tính hợp lệ của phiếu bầu không được phép biết
nội dung của phiếu (tên cử tri, người được cử tri bầu...)
Sau khi xác minh và chấp nhận cho khách hàng rút tiền, ngân hàng
không thể kiểm tra lại trên tờ tiền điện tử lưu thông có tên người rút
là gì.
44
CuuDuongThanCong.com https://fb.com/tailieudientucntt 22
Chữ ký mù RSA cho Phiếu bầu điện tử
• Cơ quan bầu cử sử dụng cặp khóa KU = (e,n), KR = (d,n)
• Sau khi đã thực hiện xác thực với cơ quan bầu cử, Alice
điền thông tin trên phiếu bầu. Thông tin này được ghi lên
bản tin X:
Chọn 1 giá trị ngẫu nhiên r Chữ ký
điện tử
Làm mù nội dung lá phiếu: M’ = (H(X).re) mod n của cơ
Đưa cho cơ quan bầu cử ký quan BC
• Cơ quan BC thực hiện ký mù lên X
46
CuuDuongThanCong.com https://fb.com/tailieudientucntt 23
Chữ ký nhóm
• Yêu cầu: Chỉ xác thực được chữ ký và nhóm nào ký,
không xác định được chính xác người ký
• Giao thức:
(1) Người quản trị tạo ra n*m cặp khóa
(2) Người quản trị phân phối cho mỗi thành viên của nhóm
m cặp khóa
(3) Người quản trị công bố danh sách khóa công khai (thứ
tự đã xáo trộn)
(4) Khi cần ký, mỗi người lựa chọn 1 khóa cá nhân ngẫu
nhiên để ký
(5) Người xác thực tìm khóa công khai trong danh sách (3)
để xác thực chữ ký
47
CuuDuongThanCong.com https://fb.com/tailieudientucntt 24