Another Digital Signature, How to attack digital signature

Another Digital Signature, How to attack digital signature

現代暗号理論の輪講講義用のスライド.
RSA以外のデジタル署名アルゴリズム,デジタル署名への攻撃,デジタル署名で解決できない課題について.
教科書:暗号技術入門 第3版(著:結城 浩)

35a1fed3213d925b4f5faeeb151e239d?s=128

Kensuke Kousaka

December 08, 2015
Tweet

Transcript

  1. ଞͷσδλϧॺ໊ʙ
 σδλϧॺ໊ͰղܾͰ͖ͳ͍໰୊ 15M7112 ∁ࡔ ݡ༎

  2. ଞͷσδλϧॺ໊ ElGamalํࣜ mod NͰ཭ࢄର਺ΛٻΊΔ͜ͱ͕ࠔ೉ͳ͜ͱΛར༻ DSA SchnorrͷΞϧΰϦζϜͱElGamalํࣜͷมछ ECDSA ପԁۂઢ҉߸Λ࢖༻ͨ͠ΞϧΰϦζϜ Rabinํࣜ mod

    NͰฏํࠜΛٻΊΔ͜ͱ͕ࠔ೉ͳ͜ͱΛར༻
  3. σδλϧॺ໊ʹର͢Δ߈ܸ

  4. σδλϧॺ໊ʹର͢Δ߈ܸ man-in-the-middle߈ܸ Ұํ޲ϋογϡؔ਺ʹର͢Δ߈ܸ σδλϧॺ໊Λ࢖ͬͯެ։伴҉߸Λ߈ܸ જࡏతِ଄ ͦͷଞͷ߈ܸ

  5. man-in-the-middle߈ܸ ߈ܸऀ͕ૹ৴ऀͱड৴ऀͷؒʹೖΓࠐΉ ૹ৴ऀʹ͸ड৴ऀͷΑ͏ʹɼड৴ऀʹରͯ͠͸ૹ৴ ऀͷΑ͏ʹͳΓ͢·͢

  6. man-in-the-middle߈ܸ ೖखͨ͠ެ։伴͕ਖ਼͍͠૬खͷ΋ͷ͔Λ͔֬ΊΔ ެ։伴ͷϋογϡ஋ʢFingerprintʣΛٻΊɼ͔֬ΊΔ
 ϓϩάϥϜ಺Ͱͷೝূɿެ։伴ͷ“ূ໌ॻ”Λ༻͍Δ

  7. Ұํ޲ϋογϡؔ਺ʹର͢Δ߈ܸ σδλϧॺ໊Ͱ࢖͏Ұํ޲ϋογϡؔ਺͕িಥ଱ੑ Λ࣋ͨͳ͍৔߹ σδλϧॺ໊Λࢪͨ͠ϋογϡ஋ͱಉ͡ϋογϡ஋ Λ࣋ͭҟͳΔϝοηʔδΛੜ੒Մೳ

  8. σδλϧॺ໊Λ࢖ͬͯ
 ެ։伴҉߸Λ߈ܸ RSAΛ༻͍ͨ৔߹ͷΈͷ࿩ σδλϧॺ໊ͷ࡞੒ɿॺ໊ = ϝοηʔδD mod N RSAͷ෮߸ॲཧʹ૬౰ σδλϧॺ໊Λ࢖ͬͯ҉߸จΛղಡ͢Δ

  9. σδλϧॺ໊Λ࢖ͬͯ
 ެ։伴҉߸Λ߈ܸ தؒऀ߈ܸͰɼ߈ܸऀ͕RSAͰ҉߸Խ͞Εͨ
 ϝοηʔδʢ=҉߸จʣΛ౪ௌ ҉߸จ = ϝοηʔδE mod N “ఴ෇σʔλʹॺ໊Λ͚ͭͯฦ৴ͯ͠΄͍͠”ͱ͍͏

    ϝʔϧຊจΛॻ͖ɼ҉߸จΛఴ෇σʔλʹͯ͠ຊདྷ ͷड৴ऀʹૹ৴
  10. σδλϧॺ໊Λ࢖ͬͯ
 ެ։伴҉߸Λ߈ܸ ड৴ऀ͕ఴ෇σʔλʢ=҉߸จʣʹॺ໊Λ͢Δ ॺ໊ = ఴ෇σʔλD mod N
 = ҉߸จD

    mod N
 = ϝοηʔδ ϝοηʔδʹ௚઀ॺ໊͢ΔͷͰ͸ͳ͘ɼϋογϡ஋ʹॺ໊Λ͢Δ ެ։伴҉߸ͱσδλϧॺ໊Ͱ࢖͏伴ϖΞΛผʑʹ͢Δ ҙຯ͕Θ͔Βͳ͍ϝοηʔδʹ͸ઈରʹσδλϧॺ໊Λ͠ͳ͍
  11. જࡏతِ଄ ҙຯͷͳ͍ϝοηʔδʹରͯ͠ਖ਼͍͠σδλϧॺ໊͕࡞Εͯ͠·͏ɿ જࡏతِ଄ ϥϯμϜͳϏοτྻSΛRSAͷެ։伴Ͱ҉߸Խͨ͠΋ͷΛMͱ͢Δ ͱɼS͕Mͷਖ਼͍͠σδλϧॺ໊ RSAͷެ։伴͸୭Ͱ΋ೖखग़དྷΔͨΊɼσδλϧॺ໊ͷજࡏతِ଄ ͕Մೳ RSA-PSSɿϝοηʔδʹιϧτΛՃ͑ͨ΋ͷ͔Βϋογϡ஋Λܭ ࢉ͠ɼ͜Εʹॺ໊͢Δ͜ͱͰજࡏతِ଄ʹରॲ

  12. ͦͷଞͷ߈ܸ ެ։伴҉߸ʹର͢Δ߈ܸͷଟ͘͸ɼσδλϧॺ໊΁ ͷ߈ܸͱͯ͠࢖͑Δ ϓϥΠϕʔτ伴Λ૯౰ͨΓͰ୳͢ RSAͷNΛૉҼ਺෼ղ͠Α͏ͱࢼΈΔ

  13. ϝοηʔδೝূίʔυͱ
 σδλϧॺ໊ͷൺֱ ϝοηʔδೝূίʔυ σδλϧॺ໊ ૹ৴ऀ ڞ༗伴ͰMAC஋Λܭࢉ ϓϥΠϕʔτ伴Ͱॺ໊Λ࡞੒ ड৴ऀ ڞ༗伴ͰMAC஋Λܭࢉ ެ։伴Ͱॺ໊Λݕূ

    伴഑ૹ໰୊ ى͖Δ ى͖ͳ͍͕ɼެ։伴ͷೝূ͕ผ్ඞཁ ਖ਼ਅੑ ◦ ◦ ೝূ ◦ʢ௨৴૬खʹରͯ͠ͷΈʣ ◦ʢୈࡾऀʹରͯ͠΋ʣ ൱ೝ๷ࢭ × ◦
  14. ϋΠϒϦου҉߸γεςϜͱ ϋογϡ஋΁ͷσδλϧॺ໊ ϋΠϒϦου҉߸γεςϜ ϝοηʔδશମΛର৅҉߸Ͱ҉߸Խ͠ɼର৅҉߸ͷ伴͚ͩΛެ ։伴҉߸Ͱ҉߸Խ σδλϧॺ໊ ϝοηʔδશମΛҰํ޲ϋογϡؔ਺ʹೖྗͯ͠ϋογϡ஋Λ ٻΊɼϋογϡ஋ʹରͯ͠ॺ໊ ର৅҉߸ͷ伴͸ػີੑͷΤοηϯεɼҰํ޲ϋογϡؔ਺ͷϋογϡ ஋͸ਖ਼ਅੑͷΤοηϯε

  15. σδλϧॺ໊Ͱ
 ղܾͰ͖ͳ͍໰୊ σδλϧॺ໊ɿվ͟ΜɼͳΓ͢·͠ɼ൱ೝΛ๷ࢭ ϝοηʔδͷਖ਼ਅੑΛ֬ೝ͠ɼೝূΛߦ͍ɼ൱ೝ๷ࢭ Λ࣮ݱ σδλϧॺ໊ͷલఏɿॺ໊ͷݕূʹ༻͍Δެ։伴͕ɼ
 ຊ෺ͷૹ৴ऀͷެ։伴Ͱ͋Δ͜ͱ վ͟Μ͞Ε͍ͯͳ͍ެ։伴ΛɼͳΓ͢·͠͞Ε͍ͯͳ͍ ૹ৴ऀ͔Βड͚औΔඞཁ͕͋Δ

  16. σδλϧॺ໊Ͱ
 ղܾͰ͖ͳ͍໰୊ ਖ਼͍͠ެ։伴Λೖख͢ΔͨΊͷ΋ͷɿূ໌ॻ ެ։伴ΛϝοηʔδͱΈͳ͠ɼ৴པͰ͖Δผͷਓ ʹσδλϧॺ໊ͯ͠΋Βͬͨ΋ͷ ެ։伴ج൫ʢPublic Key Infrastructure, PKIʣʹΑͬͯ ެ։伴҉߸ٴͼσδλϧॺ໊ͷٕज़Λࣾձతͳج൫

    ʹ͢Δ