Professional Documents
Culture Documents
Giáo Trình - An Toàn Và An Ninh Thông Tin M NG - 316934
Giáo Trình - An Toàn Và An Ninh Thông Tin M NG - 316934
3
Các chủ đề tiểu luận
4
Các chủ đề tiểu luận
6
Các chủ đề tiểu luận
7
Các chủ đề tiểu luận
8
Các chủ đề tiểu luận
9
Các chủ đề tiểu luận
z Các hệ thống phát hiện xâm nhập dựa trên dấu hiệu;
z Các hệ thống phát hiện xâm nhập dựa trên bất
thường;
z Bảo mật mạng LAN không dây;
z Các dạng tấn công vào mạng sensor.
z Các dạng tấn công từ chối dịch vụ;
z Tấn công SQL Injection;
z Phát hiện tấn công quét cổng;
z Các phương pháp, quy trình phát hiện lỗ hổng hệ
thống.
10
Đánh giá
11
Chương I. Nhập môn
1. Nhập môn
2. Các dịch vụ, cơ chế an toàn an ninh thông tin và các
dạng tấn công vào hệ thống mạng
3. Các dạng tấn công
4. Các dịch vụ an toàn an ninh
5. Các mô hình an toàn an ninh mạng
12
Nhập môn
13
Nhập môn
14
Nhập môn
– Một số ví dụ về vấn đề
bảo vệ an toàn thông tin:
z Truyền file: A và B trao đổi thông tin
riêng tư
A B
– A truyền file cho B;
– Trong file chứa C chặn
giữ thông
những thông tin bí tin trao
đổi giữa
mật; A và B
15
Nhập môn
z Giả mạo:
– Kịch bản giống trường hợp D không thông tin E
trước;
D E
– F tạo một thông điệp của
riêng mình, chứa những Danh sách giả
mạo
17
Nhập môn
z Các cơ chế bảo mật luôn đi đôi với các biện pháp đối phó.
z Lựa chọn những giải pháp thích hợp với từng ngữ cảnh sử
dụng.
18
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
19
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
20
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
21
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
24
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
z Chống phủ định ( nonrepudiation ): yêu cầu người gửi
cũng như người nhận thông điệp không thể phủ định
được liên kết.
z Kiểm soát truy cập ( access control ): yêu cầu mọi sự
truy cập tới tài nguyên thông tin đều được kiểm soát chặt
chẽ từ hệ thống.
z Tính sẵn sàng ( availability ): yêu cầu hệ thống tính
toán sẵn sàng đối với những bên được uỷ quyền mỗi khi
cần đến.
25
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
26
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
27
Các dạng tấn công vào hệ thống
z Các dạng tấn công vào hệ thống máy tính và mạng:
Nguån th«ng tin N¬i nhËn th«ng tin
28
Các dạng tấn công vào hệ thống
29
Các dạng tấn công vào hệ thống
30
Các dạng tấn công vào hệ thống
31
Các dạng tấn công vào hệ thống
Tấn công thụ động
truyền tải.
32
Các dạng tấn công vào hệ thống
Tấn công thụ động
33
Các dạng tấn công vào hệ thống
Tấn công thụ động
34
Các dạng tấn công vào hệ thống
Tấn công chủ động
35
Các dạng tấn công vào hệ thống
Tấn công chủ động
36
Các dạng tấn công vào hệ thống
Tấn công chủ động
37
Các dạng tấn công vào hệ thống
Tấn công chủ động
– Dạng tấn công chủ động rất khó có thể ngăn chặn
tuyệt đối. Điều đó yêu cầu phải bảo vệ vật lý mọi
đường truyền thông tại mọi thời điểm.
– Mục tiêu an toàn: phát hiện và phục hồi lại thông
tin từ mọi trường hợp bị phá huỷ và làm trễ.
38
Các dịch vụ an toàn an ninh
Đảm bảo tính riêng tư ( Confidentiality )
z Bảo vệ các thông điệp đơn lẻ hoặc một số trường đơn lẻ của
thông điệp.
– Không thực sự hữu ích;
– Trong nhiều trường hợp khá phức tạp;
– Yêu cầu chi phí lớn khi thực hiện.
– Đảm bảo tính riêng tư: bảo vệ luồng thông tin trao đổi khỏi
các thao tác phân tích
z Yêu cầu: phía tấn công không thể phát hiện được các đặc
điểm của quá trình truyền tin:
– Nguồn và đích của thông tin;
– Tần suất, độ dài;
– Các thông số khác của luồng thông tin.
40
Các dịch vụ an toàn an ninh
Đảm bảo tính xác thực ( Authentication )
41
Các dịch vụ an toàn an ninh
Đảm bảo tính xác thực ( Authentication )
– Đối với những liên kết trực tuyến, có hai khía cạnh
cần phải chú ý tới:
z Tại thời điểm khởi tạo kết nối, dịch vụ xác thực phải hai
thực thể tham gia vào trao đổi thông tin phải được ủy
quyền.
z Dịch vụ cần khẳng định rằng kết nối không bị can thiệp
bởi một bên thứ ba. Trong đó bên thứ ba này có thể giả
mạo một trong hai bên được ủy quyền để có thể tham
giâ vào quá trình truyền tin và thu nhận các thông điệp.
42
Các dịch vụ an toàn an ninh
Đảm bảo tính sẵn sàng ( Availability)
43
Các dịch vụ an toàn an ninh
Đảm bảo tính toàn vẹn( Integrity)
44
Các dịch vụ an toàn an ninh
Đảm bảo tính toàn vẹn ( Integrity )
45
Các dịch vụ an toàn an ninh
Đảm bảo tính toàn vẹn ( Integrity )
46
Các dịch vụ an toàn an ninh
Dịch vụ chống phủ nhận ( Nonrepudiation)
47
Các dịch vụ an toàn an ninh
Dịch vụ kiểm soát truy cập
48
Các mô hình an toàn mạng và
hệ thống
Th«ng tin
mËt Th«ng tin
mËt
Qu¸ tr×nh truyÒn tin ®−îc Qu¸ tr×nh truyÒn tin ®−îc
b¶o mËt §èi ph−¬ng b¶o mËt
50
Các mô hình an toàn mạng và
hệ thống
51
Các mô hình an toàn mạng và
hệ thống
– Bên thứ ba được ủy quyền: trong nhiều trường
hợp, cần thiết cho quá trình truyền tin mật:
z Có trách nhiệm phân phối những thông tin mật giữa hai
bên truyền tin;
z Giữ cho các thông tin trao đổi với các bên được bí mật
đối với người tấn công.
z Có trách nhiệm phân xử giữa hai phía truyền tin về tính
xác thực của thông điệp được truyền.
52
Các mô hình an toàn mạng và
hệ thống
53
Các mô hình an toàn mạng và
hệ thống
54
Các mô hình an toàn mạng và
hệ thống
55
Các mô hình an toàn mạng và
hệ thống
Cæng
§èi ph−¬ng b¶o vÖ C¸c tµi nguyªn
Kªnh truy nhËp
cña hÖ thèng:
Con ng−êi D÷ liÖu;
PhÇn mÒm C¸c qu¸ tr×nh
,øng dông;
C¸c phÇn mÒm;...
56
Chương II.
Các phương pháp mật mã khóa đối
xứng
57
Sơ đồ chung của phương pháp
mã hóa đối xứng
58
Sơ đồ mật mã khóa đối xứng
61
Sơ đồ chung của phương pháp
mật mã khóa đối xứng
z Khóa mật mã
– Tập hợp khoá K = { K1, K2, ... KL},
– Khóa độ dài l: Ki=[ki1, ..., kil];
kij ∈ C, C - bảng ký tự khóa; thông thường C = {0, 1}
– Phân phối khóa giữa các bên trao đổi thông tin:
z Phân phối khóa không tập trung: Nếu khóa K được tạo ra từ phía
nguồn, khóa K cần được chuyển cho phía nhận tin thông qua một
kênh bí mật .
z Phân phối khóa tập trung: Khóa K do bên thứ ba được ủy quyền
tạo ra và được phân phối cho cả hai phía gửi và nhận tin.
62
Sơ đồ chung của phương pháp
mật mã khóa đối xứng
z Mã mật:
– Tập hợp thông điệp mã mật Y = [ Y1, Y2, ..., YN ]
– Thông điệp mã mật: Yj = [yj1, yj2, ..., yjn]
– yjp ∈B, B – bảng ký tự mã mật; thông thường B = {0, 1}
63
Sơ đồ chung của phương pháp
mật mã khóa đối xứng
64
Sơ đồ chung của phương pháp
mã hóa đối xứng
65
Sơ đồ chung của phương pháp mã
hóa đối xứng
z Mật mã
– Hệ thống mật mã có thể được phân loại dựa vào các tiêu
chí:
z Dạng của phép toán tham gia vào mã hóa văn bản từ dạng
thông thường sang dạng được mật mã hóa. Các phương
pháp mã hóa thông thường này dựa vào các nguyên lý sau:
– Phép thay thế: mỗi ký tự trong bản thông điệp sẽ được ánh xạ
vào phần tử khác.
– Phép đổi chỗ: các ký tự trong thông điệp ban đầu được phân
bố lại.
– Phép dịch;
– Yêu cầu chính: không có thông tin bị mất mát.
66
Sơ đồ chung của phương pháp
mã hóa đối xứng
67
Sơ đồ chung của phương pháp
mã hóa đối xứng
68
Sơ đồ chung của phương pháp
mã hóa đối xứng
z Thám mã
– Quá trình xác định X hoặc K hoặc cả hai từ phía thứ
ba gọi là thám mã ( cryptanalyst )
– Chiến lược được nhà thám mã sử dụng phụ thuộc
vào bản chất của sơ đồ mã hoá và những thông tin
do anh ta nắm được.
– Các dạng thám mã: Các dạng tấn công vào thông
điệp được mã hoá.
69
Sơ đồ chung của phương pháp
mã hóa đối xứng
z Chỉ biết văn bản được mã hoá ( ciphertext only attack ). Dạng
bẻ khóa này là khó nhất. Nhà phân tích có thể biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Phương pháp phá khóa: thử tất cả các tổ hợp khóa có thể để tìm
ra tổ hợp khóa thích hợp. Trong trường hợp không gian khóa lớn
thì phương pháp này không thực hiện được.
– Đối phương cần phải phân tích văn bản mật, thực hiện các kiểm
nghiệm thống kê.
z Đối phương cần phải có một số ý niệm về dạng ban đầu của
văn bản gốc: tiếng Anh, Pháp, hoặc là các file DOS.
– Dạng tấn công này dễ dàng đối phó nhất vì đối phương chỉ có một
số lượng thông tin ít nhất để giải mã.
70
Sơ đồ chung của phương pháp
mã hóa đối xứng
z Nếu đối phương bắt được một số văn bản gốc và văn bản mã hóa tương
ứng ( known plaintext attack ). Nhà phân tích biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Một hoặc một số cặp văn bản gốc – văn bản mã hoá được xây dựng từ một
khoá mật.
– Dựa vào những thông tin trên, nhà phân tích tìm cách phát hiện khóa mật K.
– Nhà phân tích có thể dựa vào nguồn gốc của thông điệp và ước đoán được
một số thông tin trong văn bản gốc. Từ đó dựa vào cặp thông điệp xác định
khóa mật.
71
Sơ đồ chung của phương pháp
mã hóa đối xứng
z Khi nhà phân tích thu được hệ thống nguồn, anh ta có thể
sử dụng một văn bản gốc được lựa chọn trước để xác định
văn bản mã hóa dựa vào đó xác định cấu trúc khóa mật (
chosen plaintext attack ). Nhà phân tích biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Văn bản gốc được nhà phân tích lựa chọn cùng với văn bản
mật sinh ra bởi khoá mật.
72
Sơ đồ chung của phương pháp
mã hóa đối xứng
z Văn bản mã hoá cho trước ( chosen ciphertext attack ). Nhà phân tích
biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Nội dung của một số văn bản mã hoá và văn bản gốc đã được giải mã tương
ứng sử dụng mã mật.
– Nhà phân tích phải giải mã văn bản mã hóa hoặc xác định được khóa mật.
z Văn bản tuỳ chọn ( chosen text attack ). Nhà phân tích biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Văn bản gốc được nhà phân tích lựa chọn cùng với văn bản mật sinh ra bởi
khoá mật.
– Nội dung của văn bản mã hoá và văn bản gốc được đã giải mã tương ứng sử
dụng mã mật.
73
Sơ đồ chung của phương pháp
mã hóa đối xứng
74
Sơ đồ chung của phương pháp
mã hóa đối xứng
75
Sơ đồ chung của phương pháp
mã hóa đối xứng
76
Sơ đồ chung của phương pháp
mã hóa đối xứng
78
Một số phương pháp mã hóa đối
xứng kinh điển
z Khi thám mã bằng phương pháp vét cạn: chỉ cần thử với 25
khóa;
– Ngôn ngữ trong bản gốc đã biết trước và dễ dàng nhận biết.
79
Một số phương pháp mã hóa đối
xứng kinh điển
– Mã mật Hill
z Thuật toán mã hoá
– Mỗi ký tự được gán giá trị số: a = 0, b = 1, ..., z = 25
– Lựa chọn m ký tự liên tiếp của văn bản gốc;
– Thay thế các ký tự đã lựa chọn bằng m ký tự mã mật.
– Việc thay thế ký tự được thực hiện bằng m phương trình
tuyến tính.
– Hệ phương trình mã hóa:
C = KP ( mod 26 )
K- ma trận khóa
z Thuật toán giải mã
P = K-1C ( mod 26 )
80
Một số phương pháp mã hóa đối
xứng kinh điển
81
Một số phương pháp mã hóa đối
xứng kinh điển
82
Một số phương pháp mã hóa đối
xứng kinh điển
⎧ C = E K (P) = KP
⎨ −1 −1
⎩ P = D K (C) = K C = K KP = P
83
Một số phương pháp mã hóa đối
xứng kinh điển
84
Một số phương pháp mã hóa đối
xứng kinh điển
– Ta có Y = XK ⇒ K = X-1Y.
– Ví dụ: văn bản gốc: “friday” được mã hoá bằng mã mật
Hill 2 x 2 thành “PQCFKU”.
z Ta có: K( 5 17 ) = ( 15 16 ); K( 8 3 ) = ( 2 5 ); K( 0 24 ) = ( 10
20 )
z Với hai cặp ban đầu ta có :
⎛15 16 ⎞ ⎛ 5 17 ⎞
⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟K ⇒
⎝ 2 5 ⎠ ⎝8 3 ⎠
−1
⎛ 5 17 ⎞ ⎛15 16 ⎞ ⎛ 9 1 ⎞⎛15 16 ⎞ ⎛ 7 19 ⎞
K = ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟
⎝ 8 3 ⎠ ⎝ 2 5 ⎠ ⎝ 2 15 ⎠⎝ 2 5 ⎠ ⎝ 8 3 ⎠
85
Một số phương pháp mã hóa đối
xứng kinh điển
– Hệ thống Vernam.
z Để chống lại quá trình thám mã, cần lựa chọn khoá thoả mãn:
– Khoá có độ dài bằng văn bản rõ.
– Khóa được chọn sao cho khoá và văn bản gốc độc lập thống kê.
z Hệ mã mật Vernam:
– Dùng cho mã nhị phân
– Ci = pi ⊕ ki
– pi: bit thứ i của văn bản gốc;
– ki: bit thứ i của khoá;
– Ci: bit thứ i của văn bản được mã hoá;
– ⊕: phép toán XOR.
86
Một số phương pháp mã hóa đối
xứng kinh điển
87
Lý thuyết hệ mật của Shannon
z Khái niệm an toàn
tuyệt đối.
88
Lý thuyết hệ mật của Shannon
89
Lý thuyết hệ mật của Shannon
90
Lý thuyết hệ mật của Shannon
91
Lý thuyết hệ mật của Shannon
92
Lý thuyết hệ mật của Shannon
– Ví dụ: hệ mã Vernam
z Bảng chữ cái: A = { 0, 1, ..., |A|– 1 }
z Độ dài của văn bản gốc, khoá và văn bản mã bằng nhau:
M = L = N.
z Khoá được chọn ngẫu nhiên: P( K = k ) = |A|-M đối với
|A|M tổ hợp khoá.
z Quá trình mã hoá: Yi = Xi ⊕ Ki, i = 1, 2, ..., M.
z Do với mỗi ký tự xj thuộc Xi và yi thuộc Yj ta có duy nhất
ki thuộc Kj, do đó: P( Y = y | X = x ) = P( Z = z ) = |A|-M
không phụ thuộc vào X.
93
Lý thuyết hệ mật của Shannon
z Yêu cầu đối với khoá trong hệ thống bảo mật tuyệt đối.
– Định lý: đối với hệ mật hoàn hảo
H( X ) = H( X | Y ) ≤ H( K )
– Nếu bảng ký tự gốc và bảng ký tự mã có cùng số ký tự: LX = LK
( trong trường hợp mã sử dụng một lần – one time pad ) và văn
bản gốc hoàn toàn ngẫu nhiên, giới hạn Shannon về tính mật
hoàn hảo sẽ trở thành:
l≥M
– Độ dài của khóa ít nhất phải bằng độ dài của văn bản gốc để
đảm bảo tính mật tuyệt đối.
94
Lý thuyết hệ mật của Shannon
96
Phương pháp mật mã DES
z Văn bản gốc X, văn bản mã mật Y là các chuỗi nhị phân độ
dài 64 bit.
z Khóa K có độ dài 56 bit.
z Từng khối 64 bit được mã hóa độc lập sử dụng chung một
khóa.
97
Phương pháp mật mã DES
98
S- DES
(Simplified data encryption standard)
99
Giải thuật S-DES(Simplified DES):
ENCRYPTION DECRYPTION
10-bit key
8-bit plaintext
8-bit plaintext
P10
Shift IP
IP
P8
K1 K1
fk fk
Shift
SW SW
P8
K2 K2
fk fk
IP-1 IP-1
10
1
Giải thuật S-DES
P10
5 5
LS-1 LS-1
5 5
P8
8
LS-2 LS-2
5 5
P8
8
10
4
Mã hoá S-DES:
10
5
Hàm fk:
8-bit plaintext
IP
4
4
E/P
fk
F
8 8
+ K1
4 4
Hình 3:Mô hình chi tiết fk
S0 S0
2
2
P4
4
10 +
4
6
E/P(expension/permutation):
z Nếu gọi 4 bit đầu vào là (n1,n2,n3,n4) thì E/P được biểu diễn chi
tiết như sau:
10
7
Khối thay thế S-box
z Tại đầu vào S-box một khối 8 bit được chia thành hai khối 4 bit;
z Mỗi khối 4 bit được đưa vào S0 và S1
z Thay thế mỗi khối 4 bit bằng khối 2 bit;
z Các khối S0 và S1 được định nghĩa như sau:
S0: S1:
10
8
Khối thay thế S-box
10
9
Hoán vị P4
11
0
Hàm SW
z Hàm fk chỉ thực hiện trên 4 bit trái của đầu vào;
z Hàm SW hoán đổi 4 bit phải và 4 bit trái để lần áp
dụng hàm fk thứ 2 sẽ thực hiện trên 4 bit phải.
z Áp dụng hàm fk lần 2 thực hiện các hàm E/P
,S0,S1,P4 như trên.
11
1
Quản trị và phân phối khóa trong mã
hóa đối xứng
11
3
Quản trị và phân phối khóa trong mã
hóa đối xứng
11
4
Quản trị và phân phối khóa trong mã
hóa đối xứng
B¶o vÖ kh«ng
Kho¸ chÝnh D÷ liÖu b»ng mËt m·
11
5
Quản trị và phân phối khóa trong mã
hóa đối xứng
11
6
Quản trị và phân phối khóa trong mã
hóa đối xứng
z Trung tâm phân phối khóa KDC trả lời A bằng thông điệp được
mã hóa bằng khóa KMA. Như vậy chỉ có A là người duy nhất có
thể giải mã thành công thông điệp và A cũng xác định được
nguồn gốc của thông điệp ( A xác định được thông điệp là do
KDC gửi tới do khóa KMA chỉ có duy nhất A và KDC biết ).
Trong thông điệp chứa những thông tin dành cho A:
– Khóa phiên sử dụng một lần KS;
– Thông điệp gốc cùng với dấu hiệu nhận dạng N1. Các thông tin này
cho phép A so sánh câu trả lời từ KDC với yêu cầu ban đầu.
11
8
Quản trị và phân phối khóa trong mã
hóa đối xứng
Như vậy, A có thể kiểm tra rằng yêu cầu ban đầu không bị
thay đổi trước khi KDC nhận được và do có dấu hiệu
nhận dạng N1 nên thông điệp này không phải là phiên
bản phát lại của một yêu cầu nào đó trước đó.
Trong thông điệp cũng có những thông tin dành cho B:
– Khóa phiên sử dụng một lần KS;
– Định danh của A – IDA.
Hai thông tin này được mã hóa với khóa mật KMB chia sẻ
giữa B và KDC. Những thông tin này được gửi cho B để
thiết lập liên kết và chứng minh định danh của A.
11
9
Quản trị và phân phối khóa trong mã
hóa đối xứng
z A lưu lại khóa phiên KS để sử dụng cho liên kết sắp thiết lập
và
– gửi cho B những thông tin của KDC dành cho B – Ekb[ KS ||
IDA ]. Vì những thông tin này được mã hóa bằng KMB nên
chúng được bảo vệ khỏi hình thức nghe trộm. Sau khi nhận
được thông điệp từ A, B biết được khóa phiên KS, và biết
được phía bên kia là A từ định danh của A. Thêm vào đó, B
biết được những thông tin này là do KDC cung cấp vì được
mã hóa bằng KMB – Ekb.
– Như vậy từ thời điểm này, khóa phiên đã được phân phối mật
tới A và B. A và B có thể sử dụng khóa phiên để trao đổi thông
tin. Tuy nhiên để tăng độ tin cậy cho quá trình trao đổi thông
tin và ngăn chặn các khả năng tấn công, hai bước sau có thể
được áp dụng:
12
0
Quản trị và phân phối khóa trong mã
hóa đối xứng
12
1
Quản trị và phân phối khóa trong mã
hóa đối xứng
(2)E K a [K s || Y ªu cÇu || N 1 || E K b (K s , ID A )]
(3) E K b [K s || ID A ]
Bªn khëi
C¸c b−íc ph©n phèi khãa Bªn nhËn
t¹o liªn kÕt
liªn kÕt B
A
12 (4) E K s [N 2 ]
12
3
Quản trị và phân phối khóa trong mã
hóa đối xứng
Bªn khëi
Bªn nhËn
t¹o liªn kÕt
liªn kÕt B
A
(2)EMKm[Ks || Yªu cÇu || IDB || f(N1) || N2)]
12
4
Quản trị và phân phối khóa trong mã
hóa đối xứng
– Các yêu cầu của phân phối khoá không tập trung:
z Mỗi hệ thống giao tiếp theo liên kết mật với tất cả các hệ thống
trạm khác với mục đích phân phối khoá phiên.
z Số lượng khoá phiên cực đại có thể có sẽ bằng: n( n – 1 ) / 2.
– Kịch bản phân phối khoá không tập trung.
z A gửi yêu cầu khoá phiên tới cho B cùng với dấu hiệu nhận
dạng N1;
z B trả lời bằng thông điệp được mã hoá bằng khoá chính chung
( shared master key ). Trong câu trả lời chứa khoá phiên do B
lựa chọn Ks, định danh của B, giá trị f( N1 ), và đấu hiệu nhận
dạng N2.
z Sử dụng khoá phiên mới, A gửi trả f( N2 ) cho B.
12
5
Kết chương
12
6
Chương III. Các hệ mật khóa công khai
12
7
Nguyên lý hệ mật khoá công khai
z Đặc điểm
– Mật mã công khai dựa trên cơ sở của các hàm
toán học.
– Không dựa trên phép thay thế và đổi chỗ như
trong phương pháp mã hoá đối xứng.
– Mã mật công khai là bất đối xứng.
z Trong cơ chế mã mật khoá công khai sử dụng hai khoá:
khoá mật và khoá công khai.
z Các hệ quả của việc sử dụng hai khoá bất đối xứng:
12 tính toàn vẹn, tính xác thực, phân phối khoá.
8
Nguyên lý hệ mật khoá công khai
z Xuất xứ:
– Hệ mã mật khoá công khai được phát triển nhằm
giải quyết hai vấn đề phức tạp nảy sinh từ
phương pháp mã hoá đối xứng:
z Vấn đề thứ nhất: bài toán phân phối khoá;
z Vấn đề thứ hai: chữ ký điện tử.
12
9
Nguyên lý hệ mật khoá công khai
13
1
Nguyên lý hệ mật khoá công khai
z Hệ mật khoá công khai.
– Sơ đồ mã mật khoá công khai sử dụng một khoá
để mã hoá và một khoá khác có liên quan để giải
mã. Các thuật toán mã hoá và giải mã có một số
đặc điểm quan trọng sau:
z Không thể xác định được khoá giải mã nếu chỉ biết
thuật toán mã hoá và khoá mã hoá.
z Một số hệ mã mật khoá công khai ( như RSA ) còn
cung cấp khả năng sử dụng bất kỳ một khoá trong cặp
khoá làm khoá mã hoá thì khoá còn lại sẽ được dùng
13 làm khoá giải mã.
2
Nguyên lý hệ mật khoá công khai
– Sơ đồ mã hoá công khai:
z A và B có các cặp khóa (KRA, KPA), (KRB, KPB). Các khóa này dùng để mã
hoá và giải mã các thông điệp.
z A và B công bố khoá công khai KPA, KPB trong cặp khoá, khoá còn lại
được giữ mật.
z Khi gửi thông điệp cho B, A sẽ mã hoá văn bản bằng khoá công khai KPB
của B.
z Khi nhận được thông điệp, B sẽ giải mã bằng khoá mật KRB. Bên thứ ba
không giải mã được thông điệp vì chỉ có B biết khoá mật KRB của B.
Khóa công khai của B Khóa riêng của B
– Sơ đồ xác thực:
z Nếu A muốn gửi thông điệp được xác thực cho B, A sẽ
mã hoá văn bản bằng khoá riêng của A.
z Khi B nhận được thông điệp, B sẽ giải mã bằng khoá
công khai của A. Không một bên thứ ba có thể giải mã
được thông điệp vì chỉ có B biết khoá mật của B.
Khóa riêng của A Khóa công khai của A
– Đặc điểm:
z Mọi bên trao đổi thông tin có truy nhập tới khoá công khai.
z Khoá mật ( khoá riêng tư ) được lưu giữ cục bộ tại mỗi bên và
không bao giờ được phân phối.
z Do hệ thống tự quản lý khoá mật nên kênh truyền thông tin tới là
mật.
z Hệ thống có thể thay đổi khoá mật và công bố khoá công khai mới
tương ứng để thay thế khoá công khai cũ bất cứ lúc nào.
13
5
Nguyên lý hệ mật khoá công khai
Bảo mật 1. Kho¸ ph¶i ®−îc gi÷ mËt. 1. Mét trong hai kho¸ ph¶i ®−îc gi÷ mËt.
2. Kh«ng thÓ gi¶i m· v¨n b¶n nÕu kh«ng 2. Kh«ng thÓ gi¶i m· v¨n b¶n nÕu
cã th«ng tin bæ sung. kh«ng cã th«ng tin bæ sung.
3. C¸c kiÕn thøc vÒ thuËt to¸n céng víi 3. C¸c kiÕn thøc vÒ thuËt to¸n céng víi
mÉu cña v¨n b¶n mËt kh«ng ®ñ ®Ó mÉu cña v¨n b¶n mËt kh«ng ®ñ
x¸c ®Þnh kho¸. ®Ó x¸c ®Þnh kho¸.
13
6
Nguyên lý hệ mật khoá công khai
z Các yêu cầu đối với hệ mật khóa công khai
– Quá trình sinh cặp khóa KP, KR là dễ trên phương diện tính toán;
– Quá trình mã hóa bản tin bằng khóa công khai KP ở bên gửi là dễ:
Y = EKP(M);
– Quá trình giải mã ra văn bản rõ khi biết khóa riêng KR và bản tin mật Y
là dễ:
M = DKR(Y);
– Đối với thám mã, nếu chỉ biết KP sẽ rất khó trên phương diện tính toán
để tính ra KR;
– Đối với thám mã, nếu chỉ biết KP và bản tin mật Y sẽ rất khó trên
phương diện tính toán để tính ra bản tin rõ M;
– Nguyên lý đối xứng: quá trình mã hóa – giải mã có thể áp dụng theo
hai chiều: M = DKP[EKR(M)]
13
7
Nguyên lý hệ mật khoá công khai
13
8
Nguyên lý hệ mật khoá công khai
z Sơ đồ thuật toán
z Thám mã RSA
z Cơ sở lý thuyết số
14
1
Sơ đồ thuật toán RSA
z Xuất xứ
– RSA do Ron Rivest, Adi Shamir và Len Adlenman
phát minh năm 1977;
– Hệ thống mã khoá công khai phổ biến và đa năng:
z Được sử dụng trong các ứng dụng mã hóa/giải mã;
z Chứng thực;
z Phân phối và trao đổi khoá.
14
2
Sơ đồ thuật toán RSA
Bản rõ M<n
Mã mật C = Me mod n
– Giải mã
Mã mật C
Bản rõ M = Cd mod n =
14
(Me)d mod n
4
Sơ đồ thuật toán RSA
14
5
Sơ đồ thuật toán RSA
z Tạo khoá
– Tìm các số e, d sao cho:
Med=M mod n
– Hệ quả của định lý Euler: cho p và q là số nguyên tố,
n và m là hai số nguyên sao cho: n=pq và 0 < m < n,
k là số nguyên bất kỳ. Đẳng thức sau nghiệm đúng:
mkφ(n)+1=mk(p-1)(q-1)+1≡m mod n
– Như vậy: ed = kφ(n)+1, tức là:
– ed ≡1 mod φ(n) hay d ≡e-1 mod φ(n) có nghĩa là
gcd(φ(n), d) = 1 và gcd(φ(n), e) = 1
14
6
Sơ đồ thuật toán RSA
14
7
Sơ đồ thuật toán RSA
– Ví dụ
z p = 7, q = 17
z n = pq = 119; φ(n)=(p-1)(q-1)=96
z Chọn e nguyên tố cùng nhau với φ(n), nhỏ hơn φ(n),
– Chọn e = 5;
z Tìm d: d≡e-1 mod φ(n)
– d=77 => cặp khóa: e=(5, 119); d=(77, 119)
14
8
Sơ đồ thuật toán RSA
z Mã hoá và giải mã
– Vấn đề trong thuật toán mã hoá và giải mã RSA là việc thực hiện phép
toán luỹ thừa và phép toán đồng dư với số nguyên lớn.
– Giải quyết dựa trên tính chất của phép toán mođun:
[(a mod n) x (b mod n)] mod n = (a x b) mod n
– Tính am với m lớn.
z Biểu diễn nhị phân của m =bkbk-1…b0=∑bi≠02i
z Do đó: ⎛ ⎞
⎜
⎜ ∑ 2i ⎟
⎟
a =a
m ⎝ bi ≠0 ⎠
= ∏a 2i
bi ≠ 0
z Sinh khoá
– Các bước quan trọng trong tạo khóa:
z Xác định 2 số nguyên tố p và q. Để tránh tấn công vét cạn, p và q
phải lớn.
z Xác định e và d
- Xác định số nguyên tố p, q (sử dụng thuật toán Miller – Rabin)
1. Chọn một số nguyên lẻ n ngẫu nhiên (sử dụng bộ sinh số
giả ngẫu nhiên).
2. Chọn một số nguyên a < n ngẫu nhiên.
3. Thực hiện thuật toán xác suất để kiểm tra số nguyên tố.
Nếu n test thành công thì loại bỏ giá trị n và quay lại bước 1.
4. Nếu n test thành công với số lượng test đủ, chấp nhận n;
mặt khác, quay lại bước 2.
15 - Chọn e và tính d từ e và φ(n) (sử dụng thuật toán Euclid)
0
Thám mã RSA
15
1
Quản lý khóa trong sơ đồ mật mã khóa
công khai
15
2
Phân phối khóa công khai
z Các mô hình
– Công bố công khai
– Công bố thư mục công khai
– Trung tâm ủy quyền khóa công khai
– Chứng thư khóa công khai
15
3
Phân phối khóa công khai
15
5
Phân phối khóa công khai
15
6
Phân phối khóa công khai
7
Phân phối khóa công khai
– Phân tích:
z Số lượng giao dịch tăng;
z Bốn giao dịch đầu sử dụng ít vì khóa công khai có thể lưu trữ để
dùng trong các lần sau;
z Định kỳ các bên phải cập nhật các phiên bản khóa công khai
mới.
– Ưu điểm:
z An toàn hơn;
z Kết hợp xác thực hai bên;
– Nhược điểm
z PKA là nút thắt cổ chai của hệ thống.
z Các bên phải truy cập PKA mỗi khi cần khóa công khai;
z PKA là điểm yếu của toàn bộ hệ thống do số giao dịch lớn.
15
8
Phân phối khóa công khai
z Sơ đồ đơn giản:
– A gửi B: KPA || IDA
– B tạo khóa phiên Ks và gửi lại A: EKPA(KS)
z Sơ đồ kèm xác thực
– A gửi B: EKPB(N1||IDA)
– B gửi A: EKPA(N1||N2)
– A gửi B: EKPB(N2)
– A gửi B: EKPB(EKRA(KS))
16
0
Nguyên lý trao đổi khóa Diffie-Hellman
16
3
Thuật toán trao đổi khoá
16
4
Tính bảo mật của hệ mật
16
5
Hệ mật và thám mã
16
7
Bài toán xác thực
Nội dung
16
9
Bài toán xác thực
17
0
Bài toán xác thực
1
Bài toán xác thực
z Các tiêu chuẩn xác thực
– Xác thực chủ thể tham gia vào trao đổi thông tin
– Thông điệp có nguồn gốc;
– 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ông điệp được gửi đúng trình tự và thời điểm (xác thực phiên);
z Mục đích của bài toán xác thực:
– Chống lại các tấn công chủ động:
z Chống giả mạo;
z Thay đổi nội dung dữ liệu;
z Thay đổi trình tự trao đổi thông tin (hoạt động của các giao thức).
z Các phương pháp xác thực thông điệp:
– Mã hoá thông điệp;
Sử dụng mã xác thực thông điệp;
17 –
– Sử dụng hàm băm;
2
Bài toán xác thực
17
3
Bài toán xác thực
17
4
Lý thuyết xác thực Simmons
17
5
Lý thuyết xác thực Simmons
Xác thực và xác thực hoàn hảo
z MAC = CK(M)
– M: là bản tin
– K: là khoá mật được chia sẻ chỉ bởi người gửi và
người nhận;
– CK(M): là một hàm xác thực, cho kết quả là một
xâu ký tự có độ dài cố định;
17
9
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
18
0
Mã hoá bản tin và cách tấn công
của đối phương
18
1
Mã hoá bản tin và cách tấn công
của đối phương
z Ví dụ tấn công
– Đối phương biết bản mật C (Ciphertext)
z Pi = DKi (C) cho tất cả khoá Ki
z Đến khi Pi khớp với bản rõ P (Plaintext)
z Đối với CheckSum
– MAC n bit → 2n CheckSum tạo ra
– N bản tin áp dụng (N>>2n)
– Khóa K bit → 2k khóa tạo ra
18
2
Ví dụ tấn công vào MAC
18
3
Ví dụ tấn công vào MAC
z Kết quả:
– Nếu k = a*n → mất a vòng để tìm ra
– Nếu k < n thì ngay vòng 1 tạo ra luôn sự so khớp.
– Ví dụ
z Nếu một khoá kích thước k=80 bit
z CheckSum kích thước là n=32 bit
z Thì vòng 1 sẽ tạo ra khoảng 248 khóa Vòng 2 sẽ thu
hẹp xuống còn 216 khóa
Vòng 3 sẽ tạo chỉ 1 khoá đơn, và đó chính là khoá được
18 dùng bởi người gửi.
5
Ví dụ tấn công vào MAC
18
6
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
18
7
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)
z Chỉ cần xác thực, không cần mã hoá tốn thời gian và
tài nguyên
– Thông điệp hệ thống
– Chương trình máy tính
z Tách riêng bảo mật và xác thực sẽ khiến tổ chức
linh hoạt hơn
– Chẳng hạn mỗi chức năng ở 1 tầng riêng
z Cần đảm bảo tính toàn vẹn của dữ liệu trong suốt
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ã
18
8
Xác thực dùng hàm băm
18
9
Các yêu cầu đối với hàm băm
19
0
Các yêu cầu đối với hàm băm
19
2
Xác thực dùng hàm băm
19
3
Xác thực dùng hàm băm
19
4
So sánh MAC và Hash
19
5
Các hàm băm đơn giản
19
6
Hàm băm XOR
z Minh họa:
Bit 1 Bit 2 ……. Bit n
…. ….. …….. …… ……
19
9
SHA-1 (Secure Hash Algorithm -1)
20
0
SHA-1
20
1
Sơ đồ hoạt động
20
2
Một số kết quả test
20
3
Chữ ký số
¾Yêu cầu
¾Phân loại
¾Tạo và chứng thực chữ ký
¾ Digital Certificate
Yêu cầu
20
6
Chữ ký trực tiếp
20
7
Chữ ký phân xử
20
8
Tạo chữ ký
20
9
Chứng thực chữ ký
21
0
Digital Certificate
z Phiên bản
z Số serial
z Nhà cung cấp Certifficate
z Người giữ Certificate
z Thời gian hợp pháp của Certificate
z Các thuộc tính
z Chữ ký số của nhà cung cấp
z Khoá công khai của người sở hứu Certificate
z Thuật toán băm dùng để tạo chữ ký.
21
2
Tạo Certificate
21
3
Cấu trúc phân cấp của CA
21
4
Xác thực chuỗi Certificate
21
5
Các giao thức xác thực
21
6
Xác thực hai bên
21
7
Phương pháp chống replay
z 2 phương pháp:
z Timestamp: gắn 1 timestamp vào bản tin --> yêu cầu
đồng bộ
z Challenge/Response: A sẽ gửi đến B 1 nonce và đợi trả
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
21
8
Đánh giá 2 phương pháp
22
1
Đánh dấu thông tin vào dữ liệu
22
2
Mục lục
22
3
I.Giới thiệu chung
z 1.Lịch sử ra đời
z 2.Phân loại
z 3. Ứng dụng
22
4
1. Lịch sử ra đời
22
5
2.Phân loại Watermarking
22
6
3. Ứng dụng
22
7
3. Ứng dụng
22
8
3. Ứng dụng
22
9
3. Ứng dụng
23
0
II.Các vấn đề kĩ thuật
23
1
1.Các phase cơ bản của một thuật
toán watermarking
-pha nhúng
watermark.
-pha phân
phối
watermark.
-pha trích dẫn
watermark.
-pha quyết
định.
23
2
1.1.Phase nhúng watermark
23
3
1.2.Phase phân phối
23
4
1.3.Phase trích dẫn
23
5
1.4.Phase quyết định
23
7
2.Các kiểu tấn công và yêu cầu
23
8
3.So sánh watermark với mã mật
23
9
4.So sánh watermarking với nén
ảnh
z nén không mất mát thông tin không làm ảnh hưởng đến hệ
thống watermark thì phương thức nén có mất mát thông tin sẽ
gây ra méo cho watermark
z mục tiêu thiết kế của hệ thống nén mất mát thông tin là đối
nghịch hẳn với mục tiêu của watermarking
24
0