Professional Documents
Culture Documents
Nhap-Mon-An-Toan-Thong-Tin - Nguyen-Linh-Giang - 2020apr20-Intro-To-Information-Security-Giangnl-Chapter5-V1.4 - (Cuuduongthancong - Com)
Nhap-Mon-An-Toan-Thong-Tin - Nguyen-Linh-Giang - 2020apr20-Intro-To-Information-Security-Giangnl-Chapter5-V1.4 - (Cuuduongthancong - Com)
.c
ng
co
an
PGS. Nguyễn Linh Giang
th
ng
Bộ môn Truyền thông và
o
du
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
Bài toán xác thực
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Nội dung
om
.c
ng
l Bài toán xác thực.
co
l Tấn công vào hệ xác thực
an
Các phương pháp xác thực thông điệp
th
l ng
– Mã xác thực thông điệp
o
Hàm băm
du
Chữ ký số
u
l
cu
3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bài toán xác thực
om
.c
ng
l Các yêu cầu của bài toán xác thực
co
– Điểm lại các dạng tấn công
an
l Tấn công vào tính riêng tư:
th
– Giải mật: giải mật nội dung thông điệp.
ng
– Phân tích luồng truyền tải: xác định mẫu thông điệp, xác định
o
tần suất trao đổi thông điệp, định vị, xác định chức năng các
du
trạm, định vị
u
– Đảm bảo tính riêng tư: ngăn chặn bằng mật mã và làm nhiễu
thông tin.
4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bài toán xác thực
om
.c
ng
l Tấn công vào tính xác thực:
Trá hình: đưa ra các thông điệp vào hệ thống với tên giả mạo.
co
–
– Thay đổi nội dung thông điệp: phá huỷ tính toàn vẹn.
an
– Thay đổi trình tự trao đổi thông điệp: tấn công vào giao thức.
th
– Thay đổi theo tiến trình thời gian: làm trễ hoặc phát lại thông
ng
điệp.
Từ chối dịch vụ: từ chối gửi hoặc nhận thông điệp: sử dụng
o
–
du
om
.c
Các tiêu chuẩn xác thực
ng
l
– Xác thực chủ thể tham gia vào trao đổi thông tin
co
– Thông điệp có nguồn gốc;
an
– Nội dung thông điệp toàn vẹn, không bị thay đổi trong quá trình
truyền tin (xác thực nội dung thông điệp);
th
– Thông điệp được gửi đúng trình tự và thời điểm (xác thực phiên);
ng
l Mục đích của bài toán xác thực:
o
– Chống lại các tấn công chủ động:
du
l Thay đổi trình tự trao đổi thông tin (hoạt động của các giao thức).
l Các phương pháp xác thực và chống giả mạo:
– Mã hoá thông điệp;
– Sử dụng mã xác thực thông điệp;
– Sử dụng hàm băm;
6 – Sử dụng các giao thức xác thực
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bài toán xác thực
om
.c
ng
l Các hàm xác thực
co
– Các cơ chế xác thực được thực hiện trên hai mức:
an
l Mức thấp: trong hệ thống phải có các hàm chức năng cho
th
phép kiểm tra tính xác thực của chủ thể và thông điệp:
ng
– Hàm tạo các giá trị đặc trưng xác thực chủ thể và thông điệp.
o
l Mức cao:
du
– Sử dụng các hàm xác thực trong các giao thức xác thực.
u
Cho phép thẩm định tính xác thực của chủ thể và thông điệp.
cu
7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Bài toán xác thực
om
.c
ng
– Các dạng hàm xác thực:
co
l Mã hoá thông điệp: sử dụng hàm mã hoá để xác thực
dựa vào việc sở hữu khoá bí mật.
an
th
l Mã xác thực thông điệp: tạo ra mã xác thực thông điệp
độ dài cố định bằng phương pháp mã hoá.
ng
Hàm băm xác thực thông điệp: tạo mã băm của thông
o
l
du
l Chữ ký số: tạo dấu hiệu đặc trưng xác định duy nhất
cu
chủ thể.
l Các phương pháp tạo sinh các dấu hiệu xác thực
l Các giao thức xác thực
8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tấn công vào hệ xác thực
Xác thực và xác thực hoàn hảo
om
.c
ng
l Vấn đề giả mạo và xác thực
co
X Y Bên nhận và X’
Tạo thông
– Vấn đề: tồn tại điệp và gắn
dấu xác thực
thực hiện xác
thực thông
an
điệp
hay không phương A
B
th
Y Y’
pháp xác thực hoàn K - Dấu hiệu kiểm
Bên tấn công tra xác thực
ng
hảo chống lại giả mạo !? vào hệ xác
thực C
o
– Các kịch bản tấn công vào hệ xác thực:
du
l Kịch bản 1:
u
– A tạo bản tin X, gắn dấu hiệu xác thực, được bản tin Y và gửi Y cho B
cu
l Kịch bản 2:
– Giữa A và B không có phiên làm việc.
– C tạo ra văn bản Y’, giả mạo A và gửi cho B
9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Lý thuyết xác thực Simmons
Xác thực và xác thực hoàn hảo
om
.c
Xác suất tấn công giả mạo
ng
l
co
– Ps: xác suất tấn công thành công bằng thay thế;
an
– Pi: xác suất tấn công thành công bằng mạo danh;
th
– Xác suất giả mạo thành công: PD=max(Pi, Ps)
ng
– Khoá K: thông tin tham gia vào quá trình xác thực
o
du
P{X = Xi} ≠0
cu
– NK: số lượng các dấu hiệu xác thực KL: P{K = KL} ≠0
– NY: số lượng văn bản được gắn dấu hiệu xác thực Yj,
sao cho P{Y = Yj} ≠0
10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực bằng cách mã hoá
om
.c
Sử dụng phương pháp mật mã khoá đối xứng
ng
l
co
– Thông điệp gửi từ đúng nguồn vì chỉ có người gửi biết
khoá bí mật dùng chung
an
– Nội dung không thể bị thay đổi vì văn bản rõ có cấu
trúc nhất định
th
ng
– Các gói tin được đánh số thứ tự và có mã hoá nén
o
11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực bằng phương pháp mã
hóa
om
.c
ng
l Xác thực: chống giả mạo
co
– Xây dựng các dấu hiệu đặc trưng cho đối tượng cần
an
xác thực:
th
l Đối tượng cần xác thực: ng
– Chủ thể tham gia vào quá trình trao đổi thông tin: nguồn
o
gốc thông tin từ các nguồn được xác thực.
du
– Nội dung thông tin trao đổi: không bị sửa đổi trong quá
trình trao đổi – tính nguyên bản của thông tin.
u
cu
– Xác thực phiên trao đổi thông tin: giao thức trao đổi, trật
tự hoạt động của giao thức, thời gian trao đổi thông tin,
dấu hiệu phiên.
l Dấu hiệu: dùng các phương pháp mã hóa để tạo dấu hiệu xác
12 thực: dùng các thuật toán mật mã.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực bằng phương pháp mã
hóa
om
.c
ng
– Quá trình xác thực
co
l Tạo dấu hiệu đặc trưng từ đối tượng.
an
– Bằng cách sử dụng các phương pháp mật mã.
th
– Tính bền vững của dấu hiệu: khi thay đổi nội dung
ng
cần xác thực hoặc thay đổi dấu hiệu: hệ thống xác
thực phát hiện dễ dàng.
o
du
l Dấu hiệu được gắn kèm đối tượng trong quá trình trao
u
l Bên nhận sẽ tính toán lại dấu hiệu từ nội dung thông tin
l So sánh dấu hiệu vừa tính được với dấu hiệu gửi kèm.
l Nếu trùng khớp: dấu hiệu được xác thực; Ngược lại:
13 không được xác thực.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
om
.c
ng
l Dùng mã xác thực thông điệp (MAC Message
co
Authentication Code)
an
l Là khối có kích thước nhỏ cố định gắn vào
th
thông điệp tạo ra từ thông điệp đó và khóa bí
ng
mật chung
o
du
không
l Giải thuật tạo MAC giống giải thuật mã hóa
nhưng không cần giải mã
14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
om
.c
ng
l MAC = CK(M)
co
– M: là bản tin
an
– K: là khoá mật được chia sẻ chỉ bởi người gửi và
người nhận;
th
ng
CK(M): là một hàm xác thực, cho kết quả là một
o
–
du
15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
om
.c
ng
l Có thể có nhiều thông điệp có cùng chung
co
MAC
an
– Nhưng nếu biết 1 thông điệp và MAC, rất khó tìm ra
một thông điệp khác cùng MAC
th
ng
Các thông điệp có cùng xác suất tạo ra MAC
o
–
du
16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mã hoá bản tin và cách tấn công
của đối phương
om
.c
ng
l Mã hoá bản tin
co
– Đối xứng
an
– Không đối xứng
th
Sự an toàn của thuật toán phụ thuộc độ dài
ng
l
o
bit của khoá
du
17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mã hoá bản tin và cách tấn công
của đối phương
om
.c
ng
l Ví dụ tấn công
co
– Đối phương biết bản mật C (Ciphertext)
an
l Pi = DKi (C) cho tất cả khoá Ki
th
l Đến khi Pi khớp với bản rõ P (Plaintext)
ng
l Đối với CheckSum
o
du
18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ tấn công vào MAC
om
.c
ng
l Giả sử: size(K) > size (MAC) (k>n)
co
l Match (so khớp): là bản Mi tạo ra gần khớp
an
vơí bản M1
th
ng
l Dùng cách tấn công vét cạn
o
(brute-force)
du
u
cu
19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Ví dụ tấn công vào MAC
om
.c
ng
l Tấn công MAC bằng cách lặp lại:
co
– Vòng 1:
an
l Cho: M1, MAC1 = CK (M1)
th
l Tính: Mi = CKi(MAC1) cho tất cả khoá
ng
l Số các so khớp tạo ra ≈2k-n
o
du
– Vòng 2:
u
om
.c
ng
l Kết quả:
co
– Nếu k = a*n → mất a vòng để tìm ra
an
– Nếu k < n thì ngay vòng 1 tạo ra luôn sự so khớp.
Ví dụ th
ng
–
o
l Nếu một khoá kích thước k=80 bit
du
om
.c
ng
l Tồn tại khả năng có nhiều khoá thoả mãn
co
việc so khớp
an
ð Đối phương có thể thực hiện cùng một
th
kiểm tra trên một cặp(bảntin,CheckSum)
ng
mới.
o
du
u
cu
22
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Mật mã CheckSum dựa trên DES
om
.c
ng
D1 D2 DN-1 DN
(64 bits) (64 bits) (64 bits) (64 bits)
co
an
th
ng
K K K K
DES DES DES DES
o
Encrypt Encrypt Encrypt Encrypt
du
u
cu
O1 O2 ON-1 ON
(64 bits) (64 bits) (64 bits) (64 bits)
23
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
om
.c
ng
co
an
th
o ng
du
u
cu
24
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
om
.c
ng
l Chỉ cần xác thực, không cần mã hoá tốn thời gian và
co
tài nguyên
an
– Thông điệp hệ thống
th
– Chương trình máy tính ng
l Tách riêng bảo mật và xác thực sẽ khiến tổ chức
linh hoạt hơn
o
du
l Cần đảm bảo tính toàn vẹn của dữ liệu trong suốt
cu
thời gian tồn tại, không chỉ trong lúc lưu chuyển
– Vì thông điệp có thể bị thay đổi sau khi giải mã
25
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng hàm băm
om
.c
ng
l Tạo ra hàm băm có kích thước xác định từ thông điệp
co
đầu vào(không cần khoá): h=H(M)
an
l Hàm băm không cần giữ bí mật
th
l Giá trị băm gắn kèm với thông điệp để đảm bảo tính
ng
toàn vẹn của thông điệp
o
du
26
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các yêu cầu đối với hàm băm
om
.c
ng
l Có thể áp dụng với thông điệp M với độ dài bất kỳ
co
l Tạo ra giá trị băm h có độ dài cố định
an
l H(M) dễ dàng tính được với bất kỳ M nào
th
l Từ h rất khó tìm được M sao cho h=H(M): tính một
ng
chiều
o
l Từ M1 rất khó tìm được M2 sao cho H(M1)=H(M2)
du
27
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các yêu cầu đối với hàm băm
om
.c
ng
l Đặc điểm 4 là đặc điểm ”1 chiều ” (one -
co
way). Nó tạo ra 1 mã cho bản tin nhưng
an
không thể tạo ra 1 bản tin cho 1 mã
Đặc điểm 5 đảm bảo: th
ng
l
o
– 1 bản tin thay thế khi bị băm không cùng giá trị
du
28
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các yêu cầu đối với hàm băm
om
.c
ng
l Một hàm băm mà thoả mãn các đặc điểm từ
co
1®5 trong danh sách trên thì vẫn bị coi là 1
an
hàm băm kém. Nếu đặc điểm 6 được thoả
th
mãn, nó mới được coi là một hàm băm tốt.
ng
Đặc điểm 6 bảo vệ bản tin khỏi một lớp các tấn
o
l
du
attack).
29
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng hàm băm
om
.c
ng
co
an
th
o ng
du
u
cu
30
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực dùng hàm băm
om
.c
ng
co
an
th
o ng
du
u
cu
31
CuuDuongThanCong.com https://fb.com/tailieudientucntt
So sánh MAC và Hash
om
.c
ng
l Tương tự hàm MAC nhưng gọi là hash
co
không khoá, MAC là hash có khoá
an
th
o ng
du
u
cu
32
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các hàm băm đơn giản
om
.c
ng
l Nguyên tắc hoạt động chung:
co
– Input: file, message.. được chia thành chuỗi các
an
block n bit
–
th
Xử lý đầu vào: mỗi block được xử lý tại 1 thời
ng
điểm và lặp lại với các block khác ð tạo ra 1 giá
o
du
33
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hàm băm XOR
om
.c
ng
l Thực hiện phép XOR bit-by-bit
co
l Có thể biểu diễn như sau:
an
Ci = bi1 Å bi2 Å … Å bim
th
– ng
– Trong đó:
o
34
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hàm băm XOR
om
.c
ng
l Minh họa:
co
Bit 1 Bit 2 ……. Bit n
an
th
ng
Block 1 B11 B21 ……. Bn1
o
du
…. ….. …….. …… ……
cu
om
.c
ng
l Thực hiện: Xoay đi một bit rồi thực hiện
co
phép XOR → tăng tính ngẫu nhiên
an
l Sơ đồ:
th
ng
– Khởi tạo n bit của giá trị băm bằng 0
o
– Xử lý mỗi block n-bit thành công là như sau:
du
36
CuuDuongThanCong.com https://fb.com/tailieudientucntt
SHA-1 (Secure Hash Algorithm -1)
om
.c
ng
l Đây là một hàm băm 1 chiều
co
l Các phiên bản
an
SHA-0: Công bố năm 1993
th
– ng
– SHA-1:
o
– SHA-2: Bao gồm tập hợp SHA-224, SHA-256,
du
SHA-384, và SHA-512
u
cu
37
CuuDuongThanCong.com https://fb.com/tailieudientucntt
SHA-1
om
.c
ng
l Đặc điểm của hàm:
co
– Input: Đầu vào message có size < 264
an
l Chia thành các Block có size = 512 bit
– Ra: 1 Digest độ dài 160 bit
th
ng
Bảo mật:
o
–
du
38
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sơ đồ hoạt động
om
.c
ng
co
an
th
o ng
du
u
cu
39
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Một số kết quả test
om
.c
ng
l Một số giá trị digest của SHA-1:
co
– SHA1("The quick brown fox jumps over the lazy dog") ==
an
"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"
th
– SHA1("The quick brown fox jumps over the lazy cog") ==
ng
"de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3"
o
– SHA1("") ==
du
"da39a3ee5e6b4b0d3255bfef95601890afd80709"
u
cu
40
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chữ ký số
om
.c
ng
co
ØYêu cầu
an
ØPhân loại
th
ng
ØTạo và chứng thực chữ ký
o
du
Ø Chứng thư số
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Yêu cầu
om
.c
ng
Ø Dựa trên thông điệp
co
Ø Sử dụng thông tin duy nhất thuộc về người
an
gửi à chống giả mạo
th
ng
Ø Dễ kiểm tra và nhận dạng
o
Ø
u
42
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Phân loại
om
.c
ng
Ø Thường được phân làm 2 loại:
co
ü Chữ ký trực tiếp
an
ü Chữ ký phân xử
th
o ng
du
u
cu
43
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chữ ký trực tiếp
om
.c
ng
l Chỉ bao gồm các thành phần truyền thông
co
l Có thể được tạo ra :
an
l Mã hoã toàn bộ bản tin với khoá riêng của người gửi
l
th
Mã hoá mã băm của bản tin với khoá riêng của người gửi
ng
Tính hợp lệ của chữ ký phụ thuộc vào việc bảo
o
l
du
44
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chữ ký phân xử
om
.c
ng
l Hoạt động chung :
co
l Mọi bản tin được gửi từ X đến Y phải thông qua A, để
an
kiểm tra nguồn gốc và nội dung của nó
th
l Bản tin được ghi lại thời gian rồi được gửi đến B + 1
ng
thông điệp được đảm bảo bởi A.
o
l Sự có mặt của A giải quyết vấn đề: X có thể phủ nhận
du
45
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tạo chữ ký
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
47
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Digital Certificate
om
.c
ng
l Để chứng thực được chữ ký điện tử bắt buộc
co
người nhận phải có khoá chung của người
an
gửi.
th
Bản chất cặp khoá này không liên hệ với
ng
l
thuộc tính của người sử dụng à cần có cơ
o
du
certificate
l Các Certificate được CA cung cấp
48
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các thông tin trong Certificate
om
.c
ng
l Phiên bản
co
l Số serial
an
l Nhà cung cấp Certifficate
th
l Người sở hữu Certificate ng
l Thời gian hiệu lực của Certificate
o
l
Chữ ký số của nhà cung cấp
u
l
cu
49
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tạo Certificate
om
.c
ng
l Các Certificate được
co
tạo ra còn để chứng
thực cho bản thân nó
an
th
l Các CA có cấu trúc ng
phân cấp
o
l
Certificate cho CA gốc
u
cu
50
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc phân cấp của CA
om
.c
ng
co
an
th
o ng
du
u
cu
51
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực chuỗi Certificate
om
.c
ng
co
an
th
o ng
du
u
cu
52
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các giao thức xác thực
om
.c
ng
l Xác thực hai bên
co
l Các phương pháp mã hoá cổ điển
an
Phương pháp mã hoá khoá công khai
th
l ng
o
du
u
cu
53
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xác thực hai bên
om
.c
ng
l Tại đây, chúng ta chỉ xem xét vấn đề quản lý
co
phân phối khoá
an
l Tồn tại 2 vấn đề :
th
Tính tin cậy : ngăn chặn hiện tượng giả mạo và tấn công
ng
l
vào khoá phiên
o
du
l Xác định thời điểm: chống lại kiểu tấn công replay
u
cu
54
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Phương pháp chống replay
om
.c
ng
l 2 phương pháp:
co
l Timestamp: gắn 1 timestamp vào bản tin --> yêu cầu
an
đồng bộ
th
l Challenge/Response: A sẽ gửi đến B 1 nonce và đợi trả
ng
lời của B. Nếu có chứa giá trị nonce chính xác thì mới
bắt đầu gửi bản tin
o
du
u
cu
55
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Đánh giá 2 phương pháp
om
.c
ng
l Timestamp: không áp dụng cho các ứng dụng
co
hướng kết nối
an
l Yêu cầu đồng bộ giữa các tiến trình đồng hồ
th
l Cơ hội tấn công thành công sẽ tăng lên nếu có 1 khoảng
ng
thời gian không đồng bộ
Tính luôn thay đổi và không dự đoàn trước được của các độ
o
l
du
l
cu
om
.c
ng
l Sử dụng 1 trung tâm phân phối khoá tin
co
cậy(KDC)
an
l Mỗi bên chia sẻ 1 khoá mật với KDC:khoá
chính th
o ng
l KDC sẽ sinh ra các khoá phiên: sử dụng1
du
om
.c
ng
l Phương pháp này đảm bảo là mỗi bên đều lưu
co
trữ khoá công khai hiện thời của bên còn lại
an
l Tất cả các phương pháp trên vẫn tồn tại
những điểm thiếu sót th
o ng
l Có nhiều phương pháp:
du
l Denny
u
cu
l Woo và Law
58
CuuDuongThanCong.com https://fb.com/tailieudientucntt