Xem mẫu

  1. 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
  2. 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
  3. Giíi thiÖu (2) 3
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. M∙ ho¸ vµ gi¶i m∙ (1) M· ho¸ Gi¶i m· Key=010011..1 Key=010011..1 10
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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