An ninh mạng - Bài 3: Xác thực thông điệp

• Các vấn đề xác thực thông điệp

• Mã xác thực thông điệp (MAC)

• Hàm băm và hàm băm mật HMAC

• Chữ ký số

An ninh mạng - Bài 3: Xác thực thông điệp trang 1

Trang 1

An ninh mạng - Bài 3: Xác thực thông điệp trang 2

Trang 2

An ninh mạng - Bài 3: Xác thực thông điệp trang 3

Trang 3

An ninh mạng - Bài 3: Xác thực thông điệp trang 4

Trang 4

An ninh mạng - Bài 3: Xác thực thông điệp trang 5

Trang 5

An ninh mạng - Bài 3: Xác thực thông điệp trang 6

Trang 6

An ninh mạng - Bài 3: Xác thực thông điệp trang 7

Trang 7

An ninh mạng - Bài 3: Xác thực thông điệp trang 8

Trang 8

An ninh mạng - Bài 3: Xác thực thông điệp trang 9

Trang 9

An ninh mạng - Bài 3: Xác thực thông điệp trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 14 trang minhkhanh 12340
Bạn đang xem 10 trang mẫu của tài liệu "An ninh mạng - Bài 3: Xác thực thông điệp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: An ninh mạng - Bài 3: Xác thực thông điệp

An ninh mạng - Bài 3: Xác thực thông điệp
1BÀI 3.
XÁC THỰC THÔNG ĐIỆP
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
1
Nội dung
• Các vấn đề xác thực thông điệp
• Mã xác thực thông điệp (MAC)
• Hàm băm và hàm băm mật HMAC
• Chữ ký số
2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
21. ĐẶT VẤN ĐỀ
3
1. Đặt vấn đề
4
Kênh truyền
Alice Bob
Mallory
M
M’
M’’
Thay đổi nội dung 
M thành M’
Hoặc, bản tin M’’ 
giả danh Alice 
CuuDuongThanCong.com https://fb.com/tailieudientucntt
3Một ví dụ - Tấn công vào sơ đồ trao đổi 
khóa Diffie-Hellman 
• Nhắc lại sơ đồ:
• Kịch bản tấn công:
 C sinh 2 cặp khóa (X’A ,Y’A) và (X’B ,Y’B)
 Tráo khóa YA bằng Y’A, YB bằng Y’B
 Hãy suy luận xem tại sao C có thể biết được mọi thông tin A và B 
trao đổi với nhau
5
XA < q
YA = a
X
A mod q
XB < q
YB = a
X
B mod q
YA
YB
A
KS = YB 
X
A mod q
KS = YA 
X
B mod q
B
Xác thực thông điệp
• Bản tin phải được xác minh:
Nội dung toàn vẹn: bản tin không bị sửa đổi
Bao hàm cả trường hợp Bob cố tình sửa đổi
Nguồn gốc tin cậy:
Bao hàm cả trường hợp Alice phủ nhận bản tin
Bao hàm cả trường hợp Bob tự tạo thông báo và “vu khống” 
Alice tạo ra thông báo này
Đúng thời điểm
 Các dạng tấn công điển hình vào tính xác thực: Thay
thế (Substitution), Giả danh (Masquerade), tấn công
phát lại (Reply attack), Phủ nhận (Repudiation)
6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
4Xác thực bằng mật mã khóa đối xứng
• Nhắc lại sơ đồ mật mã khóa đối xứng
7
Mã hóa Giải mã
Kênh truyền
M
KS KS
M’
C C’
Người
gửi
Người 
nhận
Kẻ tấn 
công
Câu hỏi 2:
Mức độ an toàn xác thực của 
sơ đồ này?
C C’
Câu hỏi 1:
Người nhận có nhận ra được 
M’ là thông điệp bị thay thế?
Xác thực bằng mật mã khóa công khai
• Chúng ta đã biết sơ đồ bí mật: mã hóa bằng khóa công 
khai của người nhận
• Sơ đồ xác thực: mã hóa bằng khóa cá nhân của người 
gửi
8
Mã hóa Giải mã
Kênh truyền
M
KRA KUA
M’
C C’
Kẻ tấn 
công
C C’Trả lời các câu hỏi tương tự!
Người
gửi
Người 
nhận
CuuDuongThanCong.com https://fb.com/tailieudientucntt
52. MÃ XÁC THỰC THÔNG ĐIỆP (MAC)
9
Message Authentication Code
• Xây dựng trên cơ sở hệ mật mã khóa đối xứng:
 Hai bên đã trao đổi một cách an toàn khóa mật K
 Sử dụng các thuật toán mã hóa khối ở chế độ CBC-MAC
• Bên gửi:
 Tính toán tag t = MAC(K, M) : kích thước cố định, không phụ thuộc
kích thước của M
 Truyền (M||t)
• Bên nhận: xác minh Verify(K, M’, t)
Tính t’ = MAC(K,M’)
 So sánh: nếu t’ = t thì Verify(K, M,t) = 1, ngược lại Verify(K, M,t) = 0
10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
6CBC-MAC
11
Mã
hóa
Mã
hóa
Mã
hóa
m[0] m[1] m[2] m[3]
 
Mã
hóa

tag
K1 K1 K1 K1
Mã
hóa
K2
tag
K = (K1,K2)
t
Một số sơ đồ sử dụng mã MAC
12
M
C
|| M
t’
M’ C So
sánh
t
M
C
|| M
t’
M’ C So
sánh
K
K
a) Xác thực bằng MAC
t
E D
K1
K2
K2
K1
b) Xác thực bằng MAC, bảo mật bằng mật mã khóa đối xứng
(Sơ đồ 1)
CuuDuongThanCong.com https://fb.com/tailieudientucntt
7Một số sơ đồ sử dụng mã MAC(tiếp)
13
t
M
C
C So
sánh
E D
K1
K2
K1
c) Xác thực bằng MAC, bảo mật bằng mật mã khóa đối xứng
(Sơ đồ 2)
||
t’
K2K2
Bài tập: Kiểm tra các sơ đồ này đáp ứng được yêu cầu nào về xác thực?
Độ an toàn của MAC
• Mô hình tấn công:
Hai bên sử dụng khóa K ngẫu nhiên
Kẻ tấn công thu được các cặp giá trị (Mi, ti) đã được xác thực
• Kẻ tấn công bẻ khóa thành công nếu tìm được bản tin M 
≠ Mi Ɐ i sao cho Verify(K, M,t) = 1
• MAC được coi là an toàn khi kẻ tấn công thực thi hành vi 
bẻ khóa trong thời gian T nào đó chỉ thành công với xác 
suất lớn nhất là 2-n với n là kích thước MAC
14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
8Độ an toàn của MAC (tiếp)
• Kích thước bản tin: LM
• Kích thước tag: Lt
• Nếu LM ≤ Lt và LM không đổi: Mã MAC an toàn
• Nếu LM thay đổi: |M| > |t| nên tồn tại M2 ≠ M1 sao cho 
MAC(M2) = MAC (M1)
 MAC bị giảm tính an toàn
• Yêu cầu với giải thuật tạo MAC:
 Nếu biết trước (M1,t1), rất khó tìm M2 sao cho MAC(M2) = t1
 Xác suất tìm được cặp bản tin M1 và M2 sao cho t1 = t2 không lớn 
hơn 2-n
Giả sử M’ là một dạng biến đổi của M, xác suất để t’ = t lớn nhất là 
2-n
15
Độ an toàn của MAC (tiếp) – Tấn công 
phát lại (Replay attack)
• Kẻ tấn công phát lại bản tin M đã được chứng thực trong 
phiên truyền thông trước đó
• Thiết kế MAC không chống được tấn công phát lại
 cần thêm các yếu tố chống tấn công phát lại trong các 
giao thức truyền thông sử dụng MAC
• Một số kỹ thuật chống tấn công phát lại:
Giá trị ngẫu nhiên
Tem thời gian
16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
93.HÀM BĂM
17
Khái niệm
• Hàm băm H: thực hiện phép biến đổi:
 Đầu vào: bản tin có kích thước bất kỳ
 Đầu ra: giá trị digest h = H(M)có kích thước n bit cố định (thường 
nhỏ hơn rất nhiều so với kích thước bản tin đầu vào)
• Các yêu cầu với hàm băm:
1. Có thể áp dụng với thông điệp M với độ dài bất kỳ
2. Tạo ra giá trị băm h có độ dài cố định
3. H(M) dễ dàng tính được với bất kỳ M nào
4. Từ h rất khó tìm được M sao cho h = H(M): tính một chiều
5. Biết trước M1 rất khó tìm được M2 sao cho H(M1) = H(M2)
6. Rất khó tìm được cặp (M1,M2) sao cho H(M1)=H(M2)
• Ứng dụng
18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
10
Tấn công ngày sinh (Birthday paradox 
attack)
• h = H(M): kích thước n bit
 n << LM luôn tồn tại M2 ≠ M1 sao cho H(M2) = H(M1)
 kẻ tấn công muốn được bản tin M2 có lợi cho anh ta để thay thế 
M1 đã được xác thực
• Phương pháp: vét cạn số bản tin cần tính tối thiểu là 
bao nhiêu sẽ chắc chắn thành công?
• Cải tiến bằng tấn công ngày sinh: cho phép giảm số bản 
tin xuống chỉ còn 2n/2 với xác suất thành công là ≥ 0.5:
 Công thức gần đúng tính xác suất thành công:
 ,  > 1 − 
()
 
19
N: số giá trị h
k: số bản tin cần kiểm tra
Một số hàm băm phổ biến
• MD5
 Kích thước digest: 128 bit
 Công bố thuật toán tấn công đụng độ (collision attack) vào 1995
 Năm 2005 tấn công thành công
• SHA-1
 Kích thước digest: 160 bit
 Đã có thuật toán tấn công đụng độ, nhưng chưa công bố tấn công 
thành công
• SHA-2: 256/512 bit
20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
11
HMAC
• Hashed MAC: kết hợp MAC và hàm băm để tăng cường 
an toàn cho hàm băm
21
H MAC
M H(M)
K
t
Một số sơ đồ sử dụng hàm băm để xác thực
22
h
M
H
|| M
h’
M’ H So
sánht
E D
KS
KS
a) Xác thực thông điệp và bảo mật bằng mật mã khóa đối xứng
M
H
|| H So
sánh
E
D
KS
KS
M M’
b) Xác thực thông điệp, mã băm được bảo vệ bằng mật mã khóa đối xứng
CuuDuongThanCong.com https://fb.com/tailieudientucntt
12
Một số sơ đồ sử dụng hàm băm để xác thực
23
h
M
H
|| M
h’
M’ H So
sánh
s
s
c) Xác thực thông điệp sử dụng HMAC
Bài tập:
1. Kiểm tra những sơ đồ trên đáp ứng được yêu cầu nào về xác thực
2. Kết hợp sử dụng hệ mật mã khóa công khai để tạo ra một số sơ đồ 
mới
4. CHỮ KÝ ĐIỆN TỬ
24
CuuDuongThanCong.com https://fb.com/tailieudientucntt
13
Khái niệm – Digital Signature 
• Chữ kí điện tử (chữ ký số) là đoạn dữ liệu được bên gửi 
gắn vào văn bản gốc trước khi truyền đi để chứng thực 
tác giả của văn bản và giúp người nhận kiểm tra tính toàn 
vẹn của dữ liệu mà mình thu được.
• Một số yêu cầu:
 Chữ ký phải mang đặc trưng của người tạo văn bản
 Chữ ký không thể sử dụng lại
 Văn bản đã ký không được sửa đổi. Nếu có thì cần phải thực hiện 
ký lại trên văn bản mới.
• Đề xuất của Diffie-Hellman: sử dụng khóa cá nhân của 
người gửi để mã hóa bản tin
 Hạn chế?
25
Sơ đồ chung
26
• 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)
• Phía nhận : hàm xác thực
1. Tách chữ kí số S khỏi bản tin.
2. Băm bản tin M, thu được giá
trị băm H
3. Giải mã S với khóa công khai
của người gửi, thu được H’
4. So sánh : H’ và H’’. Kết luận.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
14
Một số loại chữ ký điện tử
• Chữ ký điện tử trên các hệ mật mã khóa công khai: RSA, 
El-Gamal
• Chữ ký điện tử DSS
• Chữ ký mù (blind-signature)
• Chữ ký nhóm (group-signature)
• Chữ ký chống sao chép, xâm phạm bản quyền
• Chữ ký ủy nhiệm
• Chữ ký đồng thời
27
Tăng cường an toàn cho chữ ký điện tử
• Bảo vệ khóa cá nhân
 Sử dụng thẻ thông minh (smart card)
 Kết hợp sinh trắc học
• Chứng thực khóa công khai: PKI
• Chống phát lại (replay attack)
28
CuuDuongThanCong.com https://fb.com/tailieudientucntt

File đính kèm:

  • pdfan_ninh_mang_bai_3_xac_thuc_thong_diep.pdf