◎情報セキュリティ 3つの観点:機密性、完全性、可用性⇒CIAと呼ぶ ◎不正攻撃 ポートスキャン…クラッカーが「発見」段階で攻撃対象とするコンピュータへの攻撃の糸口を発見するために使用する代表的な手段 DoD攻撃…攻撃の対象となる機器に対して、大量のデータや不正なパケットを送りつけることで、サービスの提供を不能にしたり、システムをダ ウンさせたりする攻撃 盗聴…ネットワークを介して送受信されている音声やデータを不正に傍受すること。これを回避するための対策が暗号化 ソーシャルエンジニアリング…必要なIDやパスワードを物理的手段によって獲得する行為 ◎古典暗号 換字暗号:平文の文字を別の文字に置き換える ・シーザー暗号…ek(x)=(x+k) mod 26 dk(y)=(y-k+26) mod 26 ・アフィン暗号…ek(x)=(ax+b) mod 26 dk(y)=a-1(y-b) mod 26 転置暗号(スキュタレー暗号)n文字ずつ1行に書いて列方向に読む ◎暗号の攻撃 暗号文単独攻撃…暗号文のみ持っている 既知文単独攻撃…平文とそれに対応する暗号文を持っている 選択平文攻撃(CPA)…平文を選んでそれに対応する暗号文を作れる 選択暗号文攻撃(CCA)…暗号文を選んで対応する平文を作れる 適応的選択文暗号攻撃(CCA2)…都合良く何度でも ◎暗号の安全性 計算量的安全性…既存の最も高度な技術を利用して計算しても莫大な時間を必要とする 情報理論的安全性…無限の計算資源を使っても破ることができない ◎共通鍵(秘密鍵)暗号 暗号化アルゴリズムは公開 DES…1976年にアメリカ連符畏怖の標準暗号として採用 ブロック暗号 ブロック長=64bit 鍵の長さ=56bit フェイスティル構造を採用 DESを強化したものがTDES AES…2001年に承認された ブロック長=128bit 鍵長=128,192,256bit ◎利用モード ECB…同じ鍵なので、平文が同じだと暗号文も同じになる CBC…復号に前ブロックの暗号文を使うので、暗号文にエラーがあった時、それ以降の復号にも影響が出る(CFBも同様) OFB…暗号文のエラーの影響が他に及ばない ◎公開鍵暗号 秘密鍵から公開鍵を生成するのは用意だが、公開鍵から秘密鍵を割り出すのは困難であるという一方向性を利用した暗号方式 ◎RSA暗号…素因数分解の難しさを利用 秘密鍵…二つの素数 p , q , d(ただし、d mod φ(n) = 1) 公開鍵…n=p×q e=d-1 mod φ(n) 暗号化:c=me mod n 復号:m=cd mod n φ(n)=(p-1)(q-1) d-1:dの乗法逆元。拡張ユークリッド(互除)法を用いる (例)p=29 q=31 d=149のとき、n=29*31=899 φ(n)=28*30=840 s0=1 s1=0 t0=0 t1=1 r0=φ(n)=840 r1=d=149 q1=r0/r1 s2=s0-q1*s1 t2=t0-q1*t1 i qi 0 ri si ti 840 1 0 1 5 149 0 1 2 1 95(840-149*5) 1(1-5*0) -5(0-5*1) 3 1 54(149-95*1) -1(0-1*1) 6(1-1*(-5)) 4 1 41 2 -11 5 3 13 -3 17 6 6(13/2) 2 11 -62 7 2 1(13-6*2) -69(-3-6*11) 389(17-6*(-62) 8 0 最後のtが求める乗法逆元eである。この場合 e=389 確認:e*d mod φ(n)=1 暗号化:me mod nの計算は、べき乗剰余計算アルゴリズムを用いる (例)平文:123 鍵は前例に同じ この時 c=123389 mod 899 1. eを2進数に変換 389(10)=110000101(2) 2. iはビット数 r=1 , b0=m bi=bi-1*bi-1 mod n ri=ri-1*bi mod n(ただし、ei=1のときのみ) i ei bi ri 0 1 123 123 1 0 745(123*123 mod 899) 123 2 1 342(745*745 mod 899) 712(123*342 mod 899) 3 0 94 712 4 0 745 712 5 0 342 712 6 0 94 712 7 1 745 30(712*745 mod 899) 8 1 342 1 371(30*342 mod 899) 149 よって、c=371 復号は 371 mod 899 ◎公開鍵暗号の安全性 ・一方向性(OW) ・強秘匿性(SS)…平文についての何らかの情報が少しでも漏れた時、暗号が解読されたとする。 ・識別不可能性(IND)…二つの平文M1、M2のどちらかに対応する暗号文をCとし、その対応を知らない攻撃者がどちらの平文に対応するか推定でき ない。 ・非展性(NM)…平文に対する暗号文をC=f(M)とする。Cのみを知っている攻撃者がMに関連するM’に対する暗号文C’を作り出すことができない。 最も安全な暗号:適応的選択文暗号攻撃(CCA2)のもとで識別不可能性(IND)をもつ。⇒IND-CCA2 RSA暗号をIND-CCA2に強化したのがRSA-OAEP。 ◎エルガマル暗号…離散対数問題の困難さを利用 公開鍵…素数p , g(pにおける原始元) , y=gx mod p 秘密鍵…x(x∈Fp) 原始元:a∈Fp=Zp={0,1,2,…,p-1}のとき、a0,a1,a2,…,ap-1がap-1で始めて1となるとき、aはpにおける原始元という。 (例)F5=Z5={0,1,2,3,4}において、 0,1は明らかに違う。 2:21=2,22=4,23=8=3,24=6=1 よって2は原始元 3:31=3,32=9=4,33=12=2,34=6=1 よって3は原始元 4:41=4,42=16=1 よって4は原始元ではない 原始元以外だと、gx mod p のパターンが限られてくる。 暗号化:c1=gr mod p (rは乱数), c2=m*yr mod p c1,c2の両方を送る 復 号:m=c2/c1x mod p *注意* ・素数pは十分大きく(1024bit以上)、p-1が小さな素数の積で表されないこと ・乱数rは平文ごとに変える ◎鍵配送・共有 ・Diffie-Hellman鍵配送方式 離散対数問題の難しさを利用 1.素数p、Fpの原始元gを公開鍵扱いする。 2.xU∈Fpとなる乱数を生成し、gxU mod pを計算して相手に送る。 A:xA∈Fp yA=gxA mod p B:xB∈Fp yB=gxB mod p 3.送られてきたyUに自分の乱数xUを乗じれば共通の鍵が作られる。 A:KA=(yB)xA mod p=(gxB)xA mod p B:KB=(yA)xB mod p=(gxA)xB mod p ∴KA=KB 公開鍵暗号のきっかけとなった。 ・ID-NIKS 1982年にBlomによって提案された。 対称行列を用いた予備通信が不要な鍵共有法。 信頼のおけるセンターを用意し、各ユーザのID情報を利用する。 ◎電子署名(電子認証) 電子的な手段による署名。電子署名を利用して実現される認証。 特に公開鍵暗号方式を利用して実現される電子署名をディジタル署名という。 公開鍵暗号の場合、なりすましが可能。そこで… 公開鍵認証基盤(PKI)…公開鍵証明書に記載された利用者の公開鍵を利用し、利用者が相互に相手を正当であることが確認でき、利用者同士の安 全な通信を保証する仕組み。 ブラインド署名…署名すべきデータを隠したままで署名できる。この方式は、署名の受領者は自分の秘密情報を知られることなく受領した署名を 利用することができるため、電子マネーや電子投票で利用される。 DSA署名…1994年、アメリカデジタル署名基準。エルガマル署名。 <補足> ・ある要素xについて、x*n=1となるとき、nをxの乗法逆元という。 {x,n}∈Fp=Zpのとき、x*n mod p となるとき、nをpを法とするxの乗法逆元という。例で言えば、 149*389 =57961=64*840+1 なので、149*389 mod 840=1 すなわち、 149は840を法とする389の乗法逆元である あるいは 389は840を法とする149の乗法逆元である ということになる。 ・練習問題 RSA暗号において、p=17,q=29,d=131のとき、 1.dの乗法逆元、eをもとめよ。 2.118を暗号化せよ。また、復号せよ。 <解答> 1.φ(n)=(17-1)(29-1)=16*28=448 i qi 0 ri si ti 448 1 0 1 3 131 0 1 2 2 55 1 -3 3 2 21 -2 7 4 1 13 5 -17 5 1 8 -7 24 6 1 5 12 -41 7 1 3 -19 65 8 1 2 31 -106 1 -50 171 よって、e=171 検証:171*131=22401 22401 mod 448=(5*448+1) mod 448 = 1 2.e=171(10)=10101011(2) n=17*29=493 i ei bi ri 0 1 118 118 1 1 120 356 2 0 103 356 3 1 256 424 4 0 460 424 5 1 103 288 6 0 256 288 7 1 460 356 1 よって、c=356 d=131(10)=10000011(2) i di bi ri 0 1 356 356 1 1 35 135 2 0 239 135 3 0 426 135 4 0 52 135 5 0 239 135 6 0 426 135 7 1 52 118 1 よって、m=118 これで、暗号化・復号が正しいことが分った。
© Copyright 2024 Paperzz