Xem mẫu
- an toμn m¹ng th«ng tin
Bμi 2: c¬ së mËt m∙ häc
Mai Quèc Kh¸nh
khanhmq@fpt.vn
1
- Giíi thiÖu (1)
• Tæng quan vÒ c¸c thuËt to¸n mËt m·
• TÊn c«ng mËt m·
• Thuéc tÝnh cña c¸c thuËt to¸n m· ho¸
• Ph©n lo¹i c¸c thuËt to¸n m· ho¸
2
- Giíi thiÖu (2)
3
- hai øng dông chÝnh cña c¸c
thuËt to¸n mËt m∙
• M· ho¸ d÷ liÖu (Data Encryption): chuyÓn ®æi b¶n râ
(plaintext) thµnh b¶n m· (ciphertext) ®Ó che dÊu nghÜa
cña nã
• Ký d÷ liÖu (Signing of Data): m¸y tÝnh kiÓm tra ch÷
ký sè (digital signature) cña b¶n râ hoÆc b¶n m· ®Ó
x¸c nhËn c¸c thùc thÓ nµo ®ã cã quyÒn truy cËp d÷
liÖu (®· ®−îc ký) hay kh«ng
• Mét sè thuËt to¸n mËt m· cã thÓ dïng cho c¶ hai môc
®Ých m· ho¸ vµ ký d÷ liÖu, mét sè thuËt to¸n chØ dïng
cho mét trong hai môc ®Ých.
4
- c¸c thµnh phÇn cña s¬ ®å
mËt m∙ truyÒn thèng
• B¶n râ (plaintext): b¶n tin gèc ®Çu vµo cña thuËt to¸n m· ho¸
• ThuËt to¸n m· ho¸ (encryption algorithm): thuËt to¸n thùc hiÖn c¸c
phÐp thay thÕ vµ chuyÓn ®æi trªn b¶n râ
• Kho¸ bÝ mËt (secret key): còng lµ mét ®Çu vµo cña thuËt to¸n m·
ho¸. Sù chuyÓn ®æi vµ thay thÕ sÏ ®−îc thùc hiÖn phô thuéc vµo
kho¸ nµy
• B¶n m· (ciphertext): b¶n tin ®· ®−îc x¸o trén ë ®Çu ra cña thuËt
to¸n. Cïng mét b¶n râ, nh−ng m· ho¸ víi hai kho¸ bÝ mËt kh¸c
nhau sÏ t¹o ra hai b¶n m· kh¸c nhau
• ThuËt to¸n gi¶i m· (decryption algorithm): thuËt to¸n ng−îc l¹i víi
thuËt to¸n m· ho¸. Víi ®Çu vµo lµ b¶n m· vµ cïng kho¸ bÝ mËt sÏ
t¸i t¹o ra b¶n râ ban ®Çu ë ®Çu ra cu¶ thuËt to¸n gi¶i m· 5
- C¸c tiªu chÝ ph©n lo¹i mËt m∙
• Theo phÐp to¸n sö dông ®Ó chuyÓn ®æi b¶n râ thµnh b¶n m·:
– Thay thÕ (substitution): mçi phÇn tö trong b¶n râ ®−îc ¸nh x¹ (map) sang
mét phÇn tö kh¸c
– Ho¸n vÞ (transposition): c¸c phÇn tö cña b¶n râ ®−îc s¾p xÕp l¹i
• Theo sè l−îng kho¸ ®−îc dïng:
– NÕu c¶ bªn göi vµ bªn nhËn sö dông cïng mét kho¸, th× hÖ thèng ®−îc
gäi lµ m· ho¸ ®èi xøng (symmetric), m· ho¸ kho¸ bÝ mËt (secret-key),
m· ho¸ mét kho¸ (single-key)
– NÕu bªn göi vµ bªn nhËn sö dông hai kho¸ kh¸c nhau, th× hÖ thèng ®−îc
gäi lµ m· ho¸ bÊt ®èi xøng (asymmetric), m· ho¸ kho¸ c«ng khai
(public-key), m· ho¸ hai kho¸ (two-key)
• Theo c¸ch thøc xö lý b¶n râ:
– MËt m· khèi (block cipher): xö lý mçi lÇn mét khèi c¸c phÇn tö ®Çu vµo,
t¹o ra mét khèi ®Çu ra víi mçi khèi ®Çu vµo
– MËt m· chuçi (stream cipher): xö lý liªn tiÕp c¸c phÇn tö ®Çu vµ, t¹o ra
mçi lÇn mét phÇn tö ®Çu ra 6
- ph©n lo¹i c¸c thuËt to¸n mËt m∙
• MËt m· ®èi xøng (symmetric cryptography) dïng mét
kho¸ cho m· ho¸/gi¶i m· hoÆc cho ký/kiÓm tra
• MËt m· kh«ng ®èi xøng (asymmetric cryptography)
dïng hai kho¸ kh¸c nhau cho m· ho¸/gi¶i m· hoÆc cho
ký/kiÓm tra
• C¸c hµm trén mËt m· (cryptographic hash functions)
sö dông c¸c kho¸ 0 (“kho¸” ë ®©y kh«ng ph¶i lµ mét
®Çu vµo t¸ch rêi mµ ®−îc “g¾n” hoÆc “trén” víi d÷
liÖu).
7
- tÊn c«ng mËt m∙ - Th¸m m∙
• TÊn c«ng mËt m· (cryptography attack) hay cßn gäi lµ
th¸m m· (cryptanalysis) lµ qu¸ tr×nh cè g¾ng ph¸t
hiÖn b¶n râ (plaintext) hoÆc kho¸ (key)
• ChiÕn l−îc ®−îc dïng bëi nh÷ng ng−êi th¸m m· phô
thuéc vµo tÝnh chÊt cña s¬ ®å m· ho¸ vµ c¸c th«ng tin
cã thÓ cã víi ng−êi th¸m m·
• Nh÷ng kiÓu th¸m m· truyÒn thèng (xem b¶ng trong
slide tiÕp theo)
• Nh÷ng kiÓu th¸m m· míi: th¸m m· vi sai, th¸m m·
tuyÕn tÝnh
8
- KiÓu tÊn c«ng Nh÷ng ®iÒu ng−êi th¸m m· biÕt tr−íc
ChØ víi b¶n m· • ThuËt to¸n m· ho¸
(ciphertext only) • B¶n m· ®−îc gi¶i m·
B¶n râ ®· biÕt • ThuËt to¸n m· ho¸
(known plaintext) • B¶n m· ®−îc gi¶i m·
• Mét hoÆc nhiÒu cÆp b¶n râ-b¶n m· ®−îc t¹o ra víi kho¸ bÝ mËt
B¶n râ ®· chän • ThuËt to¸n m· ho¸
(chosen plaintext) • B¶n m· ®−îc gi¶i m·
• B¶n râ ®· chän bëi ng−êi th¸m m·, cïng víi b¶n m· t−¬ng øng ®−îc t¹o ra
víi kho¸ bÝ mËt
B¶n m· ®· chän • ThuËt to¸n m· ho¸
(chosen ciphertext) • B¶n m· ®−îc gi¶i m·
• B¶n m· dù ®Þnh bëi ng−êi th¸m m·, cïng víi b¶n râ t−¬ng øng ®−îc gi¶i
m· víi kho¸ bÝ mËt
B¶n text ®· chän • ThuËt to¸n m· ho¸
• B¶n m· ®−îc gi¶i m·
• B¶n râ ®· chän bëi ng−êi th¸m m·, cïng víi b¶n m· t−¬ng øng ®−îc t¹o ra
víi kho¸ bÝ mËt
•B¶n m· dù ®Þnh bëi ng−êi th¸m m·, cïng víi b¶n râ t−¬ng øng ®−îc gi¶i m·
víi kho¸ bÝ mËt 9
- M∙ ho¸ vµ gi¶i m∙ (1)
M· ho¸ Gi¶i m·
Key=010011..1 Key=010011..1
10
- M∙ ho¸ vµ gi¶i m∙ (2)
Cã thÓ kho¸ ®−îc th× Ai còng kho¸ ®−îc nh−ng
còng cã thÓ më ®−îc chØ cã ng−êi gi÷ ch×a kho¸
míi cã thÓ më ®−îc.
11
- mËT m∙ kho¸ c«ng khai
• Gi¶i mËt m· c¸c thuËt m· ho¸ kho¸ c«ng khai:
– Thùc tÕ khi kho¸ ®−îc bÞ lé th× cã thÓ bÞ khai th¸c
– C¸c thuËt to¸n gi¶i m· kho¸ c«ng khai tËp trung
vµo viÖc ph¸ vì b¶n th©n hÖ thèng mËt m· vµ gÇn
víi c¸c nghiªn cøu to¸n häc thuÇn tuý h¬n c¸c
thuËt gi¶i m· mËt cæ ®iÓn.
– C¸c h−íng chÝnh:
• TÝnh to¸n c¸c thuËt to¸n rêi r¹c
• T×m thõa sè cña c¸c sè nguyªn lín
12
- tÊn c«ng tæng lùc
(Brute force attack)
• TÊn c«ng tæng lùc thö mäi kho¸ cã thÓ cã cho ®Õn khi
nµo t×m ra b¶n râ hiÓu ®−îc:
• VÒ mÆt lý thuyÕt, mäi thuËt to¸n mËt m· ®Òu cã thÓ bÞ
ph¸ vì b»ng c¸ch tÊn c«ng tæng lùc
• Trung b×nh, mét nöa sè ch×a kho¸ cã thÓ cã sÏ ph¶i
®−îc thö
• B¶ng d−íi ®©y chØ thêi gian trung b×nh ®Ó t×m hÕt mäi
ch×a kho¸ víi c¸c kÝch th−íc kho¸ kh¸c nhau
13
- Thêi gian trung b×nh ®Ó t×m kiÕm
theo kiÓu "vÐt c¹n" ®Ó t×m ra hÕt mäi ch×a kho¸
KÝch th−íc Sè l−îng kho¸ Víi tèc ®é xö lý Víi tèc ®é xö lý
1 phÐp gi¶i m· / μs 106 phÐp gi¶i m· / μs
kho¸ [bit] cã thÓ cã
231 μs = 35.8 phót
232 = 4.3 x 109
32 2.15 ms
255 μs = 1142 n¨m
256 = 7.2 x 1016
56 10.01 giê
2128 = 3.4 * 1038 2127 μs = 5.4 x 1024 n¨m 5.4 x 1018 n¨m
128
2168 = 3.7 * 1050 2167 μs = 5.4 x 1036 n¨m 5.4 x 1030 n¨m
168
14
- thÕ nµo lµ sè lín?
• B¶ng d−íi ®©y liÖt kª c¸c con sè tham chiÕu so s¸nh víi c¸c ®é
lín t−¬ng ®èi:
15
- thuéc tÝnh cña thuËt to¸n m∙ ho¸
• Khi m· ho¸ mét b¶n râ thµnh b¶n m·, cÇn quan t©m ®Õn c¸c
thuéc tÝnh sau:
– TruyÒn lçi: ®Æc tr−ng cho ¶nh h−ëng cña c¸c lçi bit x¶y ra
khi truyÒn b¶n m· lªn b¶n râ ®−îc t¸i t¹o.
• Tuú theo thuËt to¸n m· ho¸, mçi bit lçi cña b¶n m· cã
thÓ g©y ra mét hay nhiÒu bit lçi trªn b¶n râ ®−îc t¸i t¹o
– §ång bé ho¸: ®Æc tr−ng cho ¶nh h−ëng cña viÖc mÊt c¸c
®¬n vÞ d÷ liÖu b¶n m· lªn b¶n râ ®−îc t¸i t¹o
• Mét sè thuËt to¸ m· ho¸ kh«ng thÓ phôc håi b¶n râ tõ
b¶n m· ®· mÊt d÷ liÖu vµ do vËy cÇn ph¶i ®ång bé l¹i
trong tr−êng hîp mÊt b¶n tin
• C¸c thuËt to¸n kh¸c tù ®éng ®ång bé l¹i sau 0 ®Õn n bit
b¶n m· (n lín hay nhá tuú thuéc vµo thuËt to¸n) 16
- C¸c thuËt to¸n mËt m∙ (tãm t¾t)
C¸c thuËt to¸n
viÕt mËt m·
MËt m· / gi¶i m· MËt m· / gi¶i m· C¸c hµm trén
Tæng quan
®èi xøng kh«ng ®èi xøng mËt m·
C¸c chÕ ®é
Gi¶i mËt m· C¬ b¶n MDC’s / MACs
ho¹t ®éng
C¸c thuéc tÝnh DES RSA MD-5
AES Diffie-Hellman SHA-1
RC4 EIGamal CBC-MAC
17
nguon tai.lieu . vn