Bảo mật mạng
1
Ch ng 7ươ
B o m t ả ậ
m ngạ
Computer Networking:
A Top Down Approach
Featuring the Internet
,
3
rd
edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
All material copyright 1996-2006
J.F Kurose and K.W. Ross, All Rights Reserved
Slide này được biên dịch sang tiếng Việt theo
sự cho phép của các tác giả
Bảo mật mạng
2
Ch ng 7: B o m t m ngươ ả ậ ạ
Mục tiêu:
❒
hiểu các nguyên lý của bảo mật mạng:
❍
m t mãậ
❍
ch ng th cứ ự
❍
tính toàn v nẹ
❍
khóa phân bố
❒
bảo mật trong thực tế:
❍
các firewall
❍
b o m t trong các l p application, transport, ả ậ ớ
network, link
7.1 B o m t m ng là gì?ả ậ ạ
B o m t m ngả ậ ạ 3
Bảo mật mạng
4
B o m t m ng là gì?ả ậ ạ
Sự bảo mật: chỉ có người gửi, người nhận mới
“hiểu” được nội dung thông điệp
❍
ng i g i mã hóa thông đi p ườ ử ệ
❍
ng i nh n gi i mã thông đi pườ ậ ả ệ
Chứng thực: người gửi, người nhận xác định là
nhận ra nhau
Sự toàn vẹn thông điệp: người gửi, người nhận
muốn bảo đảm thông điệp không bị thay đổi
(trên đường truyền hoặc sau khi nhận) mà
không bị phát hiện
Truy cập & tính sẵn sàng: các dịch vụ phải có
khả năng truy cập và sẵn sàng đối với các
user
Bảo mật mạng
5
B n và k thù: Alice, Bob, Trudyạ ẻ
❒
Bob, Alice (bạn bè) muốn truyền thông “an
toàn”
❒
Trudy (kẻ xâm nhập) có thể ngăn chặn, xóa,
thêm các thông điệp
truy n ề
an toàn
nh n ậ
an toàn
kênh
d li u, các thông ữ ệ
đi p đi u khi nệ ề ể
d li uữ ệ
d li uữ ệ
Alice
Bob
Trudy
Bảo mật mạng
6
Bob, Alice có th là nh ng ai?ể ữ
❒
trình duyệt Web/server cho các giao dịch điện tử
❒
client/server ngân hàng trực tuyến
❒
DNS servers
❒
các router trao đổi thông tin cập nhật bảng routing
❒
.v.v.
Bảo mật mạng
7
B n và k thùạ ẻ
Hỏi: Kẻ xấu có thể làm những việc gì?
Đáp: rất nhiều!
❍
nghe lén:
ngăn ch n các thông đi p ặ ệ
❍
kích ho t ạ
chèn
các thông đi p vào trong k t n i ệ ế ố
❍
gi danh:ả
có th gi m o đ a ch ngu n trong gói ể ả ạ ị ỉ ồ
(ho c b t kỳ tr ng nào trong đó)ặ ấ ườ
❍
c p:ướ
“ti p t c” k t n i hi n hành nh ng thay ế ụ ế ố ệ ư
ng i g i ho c ng i nh n b ng chính h ườ ử ặ ườ ậ ằ ọ
❍
t ch i d ch v :ừ ố ị ụ
d ch v hi n t i b ng i khác ị ụ ệ ạ ị ườ
dùng (đ ng nghĩa quá t i)ồ ả
❍
.v.v.
7.2 Các nguyên lý mã hóa
B o m t m ngả ậ ạ 8
Bảo mật mạng
9
Ngôn ng mã hóaữ
khóa đối xứng: khóa bên gửi và bên nhận giống nhau
khóa công cộng: khóa mã chung, khóa giải mã bí mật
(riêng)
văn b n g cả ố
văn b n g cả ố
văn b n đã mã hóaả
K
A
gi i thu tả ậ
mã hóa
gi i thu tả ậ
gi i mãả
khóa mã
c a Aliceủ
khóa mã
c a Bobủ
K
B
Bảo mật mạng
10
Mã hóa khóa đ i x ngố ứ
mật mã thay thế: thay thứ này thành thứ khác
❍
mã hóa ký t đ n: thay th t ng ký t m tự ơ ế ừ ự ộ
văn bản gốc: abcdefghijklmnopqrstuvwxyz
văn bản đã mã hóa: mnbvcxzasdfghjklpoiuytrewq
văn bản gốc: bob. i love you. alice
mã hóa thành: nkn. s gktc wky. mgsbc
ví d :ụ
H i:ỏ B khóa ki u mã hóa đ n gi n này d không?ẻ ể ơ ả ễ
brute force (khó nh th nào?)ư ế
khác?
Bảo mật mạng
11
Mã hóa khóa đ i x ngố ứ
khóa đối xứng: Bob và Alice cùng biết (đối xứng) khóa: K
❒
vd: khóa được biết trong mẫu mã hóa ký tự đơn
❒
Hỏi: Làm thế nào Bob và Alice thỏa thuận giá trị khóa?
văn b n g cả ố
văn b n đã mãả
K
A-B
giải thuật
mã hóa
giải thuật
giải mã
A-B
K
A-B
văn b n g c, mả ố
K (m)
A-B
K (m)
A-B
m = K ( )
A-B
Bảo mật mạng
12
Mã hóa khóa đ i x ngố ứ : DES
DES: Data Encryption Standard
❒
chuẩn mã hóa của Hoa Kỳ [NIST 1993]
❒
khóa đối xứng 56-bit, văn bản gốc vào 64-
bit
❒
Bảo mật trong DES như thế nào?
❍
ch a có cách ti p c n “backdoor-c a sau” đ gi i ư ế ậ ử ể ả
mã
❒
làm cho DES bảo mật hơn:
❍
dùng 3 khóa tu n t (3-DES) trong m i datumầ ự ỗ
❍
dùng c ch liên k t kh i mãơ ế ế ố
Bảo mật mạng
13
Mã hóa khóa
đ i x ngố ứ : DES
hoán vị đầu tiên
16 vòng giống
nhau, mỗi vòng
dùng khóa 48 bit
khác nhau
hoán vị cuối cùng
DES ho t đ ngạ ộ
Bảo mật mạng
14
AES: Advanced Encryption Standard
❒
chuẩn NIST khóa đối xứng mới (tháng 11-2001) thay thế cho
DES
❒
dữ liệu xử lý từng khối 128 bit
❒
các khóa 128, 192, hoặc 256 bit
❒
giải mã brute force (thử sai) tốn 1s với DES, tốn 149 tỷ tỷ
năm với AES
Bảo mật mạng
15
Mã hóa khóa công c ngộ
khóa đối xứng
❒
yêu cầu người gửi,
người nhận phải
biết khóa công
cộng
❒
Hỏi: làm sao biết
khóa công cộng đó
trong lần đầu tiên
(đặc biệt với
những người chưa
bao giờ gặp
trước)?
Mã hóa khóa công c ngộ
❒
ti p c n khác hoàn ế ậ
toàn
❒
ng i g i, ng i nh n ườ ử ườ ậ
không chia s khóa ẻ
công c ngộ
❒
khóa công c ng cho ộ
m i ng i đ u bi tọ ườ ề ế
❒
khóa gi i mã riêng ch ả ỉ
có ng i nh n bi tườ ậ ế
Bảo mật mạng
16
Mã hóa khóa công c ngộ
văn b n g c ả ố
m
văn b n đã mãả
encryption
algorithm
decryption
algorithm
khóa công
c ng c a Bobộ ủ
văn b n g cả ố
K (m)
B
+
K
B
+
khóa riêng c a ủ
Bob
K
B
-
m = K (K (m))
B
+
B
-
Bảo mật mạng
17
Gi i thu t mã hóa khóa công c ngả ậ ộ
cần K ( ) và K ( ) như sau:
B
B
.
.
cho khóa công c ng K , nó ph i ộ ả
không th tính toán ra đ c ể ượ
khóa riêng K
B
B
Yêu c u:ầ
1
2
gi i thu t RSA:ả ậ Rivest, Shamir, Adelson
+
-
K (K (m)) = m
B
B
-
+
+
-
Bảo mật mạng
18
RSA: ch n các khóaọ
1. Ch n 2 s nguyên t l n p, q (m i s có th đ n 1024 bit)ọ ố ố ớ ỗ ố ể ế
2. Tính
n = pq, z = (p-1)(q-1
)
3. Ch n ọ
e (
v iớ
e<n)
sao cho không có th a s chung v i z. ừ ố ớ
(
e, z
là nguyên t cùng nhau).ố
4. Ch n ọ
d
sao cho
ed-1
chia h t cho ế
z
.
(nói cách khác:
ed
mod
z = 1
).
5.
khóa công c ng ộ
là
(n,e).
khóa riêng
là
(n,d).
K
B
+
K
B
-
Bảo mật mạng
19
RSA: mã hóa, gi i mãả
0. Cho (
n,e
) và (
n,d
) theo tính toán trênở
1. Đ mã hóa m u bit, ể ẫ
m
, tính:
c = m
mod
n
e
2. Đ gi i mã m u bit, ể ả ẫ
c
, tính:
m = c
mod
n
d
m = (m
mod
n)
e
mod
n
d
c
Bảo mật mạng
20
RSA ví d :ụ
Bob ch n ọ
p=5, q=7
. Thì
n=35, z=24
.
e=5
(vì
e, z
nguyên t cùng nhau).ố
d=29
(vì
ed-1
chia h t cho z)ế
ký tự
m
m
e
c = m mod n
e
l
12
1524832
17
c
m = c mod n
d
17
481968572106750915091411825223071697
12
c
d
ký tự
l
mã hóa:
gi i mã:ả
Bảo mật mạng
21
RSA: T i sao làạ
m = (m
mod
n)
e
mod
n
d
(m
mod
n)
e
mod
n = m
mod
n
d
ed
K t qu c a lý thuy t “s h u ích”:ế ả ủ ế ố ữ N u ế
p,q
nguyên t ố
và
n = pq,
thì:
x
mod
n = x
mod
n
y y
mod
(p-1)(q-1)
= m
mod
n
ed
mod
(p-1)(q-1)
= m
mod
n
1
= m
(dùng lý thuy t s trên)ế ố ở
(ch n ọ
ed
sao cho chúng chia cho
(p-1)(q-1)
d 1 )ư
Bảo mật mạng
22
RSA: đ c tính quan tr ng khácặ ọ
Đ c tính sau đây s r t h u ích:ặ ẽ ấ ữ
K (K (m)) = m
B
B
-
+
K (K (m))
B
B
+
-
=
đ u tiên dùng ầ
khóa công c ng, ộ
sau đó dùng
khóa riêng
đ u tiên dùng ầ
khóa riêng, sau
đó dùng khóa
công c ngộ
K t qu gi ng nhauế ả ố
7.3 S ch ng th cự ứ ự
B o m t m ngả ậ ạ 23
Bảo mật mạng
24
S ch ng th cự ứ ự
Mục tiêu: Bob muốn Alice “chứng thực” nhân dạng của cô đối với
anh ta
Giao th c ap1.0:ứ Alice nói “Tôi là Alice”
Th t b i s x y ra??ấ ạ ẽ ả
“Tôi là Alice”
Bảo mật mạng
25
S ch ng th cự ứ ự
Mục tiêu: Bob muốn Alice “chứng thực” nhân dạng của cô đối với
anh ta
Giao th c ap1.0:ứ Alice nói “Tôi là Alice”
Trong m ng, Bob ạ
không “nhìn th y” ấ
Alice, vì th đ n gi n ế ơ ả
Trudy tuyên b cô ta ố
là Alice
“Tôi là Alice”