5/5/2013
1
BẢOMẬTMẠNG
•Hiểucácnguyênlýcủabảomậtmạng:
•mậtmã
•chứngthực
•tínhtoànvẹn
•khóaphânbố
•Bảomậttrongthựctế:
•cácfirewall
•bảomậttrongcáclớpapplication,transport,network,data‐link
1
Bảomậtmạnglàgì?
Sựbảomật: chỉcóngườigửi,ngườinhậnmới“hiểu”được
nộidungthôngđiệp
•ngườigửimãhóathôngđiệp
•ngườinhậngiảimãthôngđiệp
Chứngthực: ngườigửi,ngườinhậnxácđịnhlànhậnranhau
Sựtoànvẹnthôngđiệp: ngườigửi,ngườinhậnmuốnbảo
đảmthôngđiệpkhôngbịthayđổi(trênđườngtruyềnhoặc
saukhinhận)
Truycập&tínhsẵnsàng: cácdịchvụphảicókhảnăngtruy
cậpvàsẵnsàngđốivớicácuser
2
Cácđốitượngcầnbảomật
•TrìnhduyệtWeb/serverchocácgiaodịchđiệntử
•Client/Serverngânhàngtrựctuyến
•DNSservers
•Cácroutertraođổithôngtincậpnhậtbảngrouting
•.v.v.
3
Kẻxấucóthểlàmnhữngviệcgì?
•nghelén: ngănchặncácthôngđiệp
•kíchhoạtchèn cácthôngđiệpvàotrongkếtnối
•giảdanh: cóthểgiảmạođịachỉnguồntronggói(hoặc
bấtkỳtrườngnàotrongđó)
•cướp: “tiếptục”kếtnốihiệnhànhnhưngthayngườigửi
hoặcngườinhậnbằngchínhhọ
•từchốidịchvụ:dịchvụhiệntạibịngườikhácdùng
(đồngnghĩaquátải)
•.v.v.
4
5/5/2013
2
Cácnguyênlýmãhóa
5
khóađối xứng:khóabêngửivàbênnhậngiốngnhau
khóacôngcộng:khóamãchung,khóagiảimãbímật(riêng)
văn bản gốcvă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
Hacker
Mãhóakhóađối xứng
mậtmãthaythế:thaythứnàythànhthứkhác
•mãhóakýtựđơn:thaythếtừngkýtựmột
6
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: nko. s gktc wky. mgsbc
ví dụ:
•Bẻkhóakiểumãhóađơngiảnnàydễkhông?
bruteforce(khónhưthếnào?)
khác?
Mãhóakhóađối xứng
:DES
DES:DataEncryptionStandard
•ChuẩnmãhóacủaHoaKỳ[NIST1993]
•Khóađối xứng 56‐bit,vănbảngốcvào64‐bit
•BảomậttrongDESnhưthếnào?
•chưacócáchtiếpcận“backdoor‐cửasau”đểgiải
mã
•làmchoDESbảomậthơn:
•dùng3khóatuầntự(3‐DES)trongmỗidatum
•dùngcơchếliênkếtkhốimã
7
Mãhóakhóađối
xứng
:DES
•hoánvịđầutiên
•16vònggiốngnhau,mỗi
vòngdùngkhóa48bit
khácnhau
•hoánvịcuốicùng
8
DEShoạtđộng
5/5/2013
3
AES:AdvancedEncryptionStandard
•ChuẩnNISTkhóađối xứng mới(tháng11‐2001)
thaythếchoDES
•Dữliệuxửlýtừngkhối128bit
•Cáckhóa128,192hoặc256bit
•Giảimãbruteforce(thửsai)tốn1svớiDES,tốn149
tỷtỷnămvớiAES
9
Mãhóakhóacôngcộng
khóađối xứng
•yêucầungườigửi,
ngườinhậnphảibiết
khóacôngcộng
•Làmsaobiếtkhóa
côngcộngđótrong
lầnđầutiên(đặcbiệt
vớinhữngngười
chưabaogiờgặp
trước)?
10
Mãhóakhóacôngcộng
tiếpcậnkháchoàntoàn
ngườigửi,ngườinhận
khôngchiasẻkhóacông
cộng
khóacôngcộngchomọi
ngườiđềubiết
khóagiảimãriêngchỉcó
ngườinhậnbiết
Giảithuậtmãhóakhóacôngcộng
cầnK(.)vàK(.)nhưsau:
11
BB
chokhóacôngcộngK,phảikhôngthể
tínhtoánrađượckhóariêngK
B
B
Yêucầu:
1
2
giảithuậtRSA: Rivest,Shamir,Adelson
+-
K (K (m)) = m
B
B
-+
+
-
Sựchứngthực
Mụctiêu: BobmuốnAlice“chứngthực”nhândạng
củacôđốivớianhta
12
Môtảcáchthứchiệnthực: Alice nói“TôilàAlice”
Thấtbạisẽxảyra??
“Tôi là Alice”
5/5/2013
4
Sựtoànvẹn
•Chữkýsố:Kỹthuậtmãhóatươngtựnhưcácchữkýbằngtay.
•ngườigửi(Bob)đánhdấu(sốhóa)tàiliệu,thiếtlậpthuộctínhlàngườisở
hữu/tạolậptàiliệu.
•cóthểkiểmtra,khôngthểlàmgiả:ngườinhận(Alice)cóthểchứngthựcvới
ngườikháclàchỉcóBobchứngoàirakhôngcóai(kểcảAlice)đãkýtrêntài
liệuđó.
13
Chữkýsố
Chữkýsốđơngiảnchothôngđiệpm:
•Bobkýmbằngcáchmãhóavớikhóariêngcủaanhấy
K
B
,tạothôngđiệp“đãđượcký”,K
B
(m)
14
-
-
Dear Alice
Oh, how I have missed
you. I think of you all the
time! …(blah blah blah)
Bob
thôngđiệpcủaBob,m
giảithuậtmã
hóakhóacông
cộng
khóariêngcủa
Bob
K
B
-
thông điệp của
Bob là m, đã ký
(mã hóa) với khóa
riêng của anh ấy
K
B
-
(m)
Chữkýsố(tt)
•GiảsửAlicenhậnđượcm,vớichữkýsốhóalàK
B
(m)
•AlicekiểmtramđãđượckýbởiBobbằngcáchápdụngkhóa
côngcộngcủaBoblàK
B
choK
B
(m)sauđókiểmtraK
B
(K
B
(m))=
m.
•NếuK
B
(K
B
(m))=m,bấtcứaiđãkýmphảidùngkhóariêng
củaBob
Alicekiểmtra:
Bobđãkým.
Khôngcóaikhácđãkým.
Bobđãkýmvàkhôngkým’.
Khôngthểphủnhận:
AlicecóthểgiữmvàchữkýK
B
(m)đểchứngthực
rằngBobđãkým.
15
+
+
-
-
-
-
+
-
Phânloạithôngđiệp
Tínhtoáncácthôngđiệpdài
cóchiphíđắt
Mụctiêu: “dấutay”sốhóacó
kíchthướccốđịnh,dễtính
toánđược
•ápdụnghàmbămHvàom,
tínhđượcphânloạithông
điệpkíchthướccốđịnh,
H(m).
Cácđặctínhhàmbăm:
•nhiều‐một
•sinhraphânloạithôngđiệp
kíchthướccốđịnh(“dấu
tay”)
•chophânloạithôngđiệpx,
khôngthểtínhtoánđểtìmm
dùngx=H(m)
16
thông điệp
lớn m H: hàm
băm
H(m)
5/5/2013
5
Khóaphânbốvàchứngchỉ
Vấnđềkhóađối xứng:
•Làmthếnào2thựcthểcùngthiếtlập
khóabímậttrênmạng?
Giảipháp:
•Trungtâmphânbốkhóa(key
distributioncenter‐KDC)đượctincậy
–hoạtđộngtrunggiangiữacácthực
thể
Vấnđềkhóacôngcộng:
•KhiAlicelấyđượckhóacông
cộngcủaBob(từwebsite,
email,đĩa)làmsaobiếtkhóa
côngcộngcủaBobchứkhông
phảicủaHacker?
Giảipháp:
•nơicấpchứngchỉ(certification
authority‐CA)đượctincậy
17
Cấpchứngchỉ
•Certificationauthority(CA):gắnkếtkhóacôngcộngvớithực
thểEnàođó.
•E(người,router)đăngkýkhóacôngcộngcủahọvớiCA.
•Ecungcấp“bằngchứngđểnhậndạng”choCA.
•CAtạorachứngchỉràngbuộcEvớikhóacôngcộngcủanó.
•chứngchỉchứakhóacôngcộngcủaEđượckýsốbởiCA–C
Anói
“đâylàkhóacôngcộngcủaE”
18
khóa công cộng
của Bob
K
B
+
thông tin để
nhận dạng Bob
chữký
số(đã
mã hóa)
khóa
riêng
CA
K
CA
-
K
B
+
chứng chỉcho khóa
công cộng của Bob,
ký bởi CA
Môtảchứngchỉ
19
•Sốthứtự(duynhất)
•thôngtinvềngườisởhữuchứngchỉ,baogồmgiảithuậtvà
chínhgiátrịkhóa(khônghiểnthịra)
thông tin vềngười
phát hành chứng
chỉ
ngày kiểm tra tính
hợp lệ
chữký sốbởingười
phát hành chứng
chỉ
Sửdụngchứngchỉ
20
Thông tin
Public
key
Private
key
Tổ chức chứng nhận (CA)
Thông tin Public
key
Tạo chứng nhận
Yêu cầu cấp
chứng nhận theo
Chuẩn X.509
Chứng nhận
X.509
Tài liệu
Ký
&
Mã hóa
Giải mã
&
Xác nhận chữ
ký
Tài liệu
Đáng tin cậy
?
Xác thực chứng nhận
Chứn g nhận
hợp lệ
& còn g iá t rị
Ok!
Tin tưởng &
chấp nhận đề nghị.