←セキュリティ論シラバスへ 第12回講義内容へ→ ←講義のツボメニューへ 鍵交換方式 【2002.1.8 】【第11回】 9.鍵交換方式 共通鍵暗号系による通信のためのセッション鍵(講義資料P.50を参照)を共有する方法 SSHバージョン2、SSL(TLS,RFC2246)で用いられている。 9.1 Diffie-Hellman(DH)方式 準備 ●ある大きな素数pと、そのpを方とするときの原始元(講義資料p.40)gを一つ選び、プロトコル参加者全員に公開する。 鍵共有手順 ユーザAとBが鍵を共有したいとする。 1.Aは整数a,0 ≤ a ≤ p - 1 をランダムに生成し、秘密に保持する。そして、次のaを計算し、Bに送る。 α=gamod p 2.Bは整数b,0 ≤ b ≤ p - 1 をランダムに生成し、秘密に保持する。そして、次のβを計算し、Aに送る。 β=gbmod p 3.Aは以下の計算を行い、得られたKを共有鍵とする。 K = βa mod p = (gb mod p)a mod p =gab mod p 4.Bも同様に以下の計算を行い、得られたKを共有鍵とする。 K = αb mod p = (ga mod p)b mod p = gab mod p 9.2DH方式の安全性 公開されているp,g,盗聴により得られたα、βだけからでは、離散対数(discrete logarithm)問題(講義資料P.36,40)、例えば: given p,g,α, find a such that α= ga mod p を解かない限りKは得られない。 ● Man-in-the-middle Attack 不正者MがA,Bの間に割って入る方式 A ↔ M ↔ B 1.Aはaをランダムに生成し、α=ga mod p を計算し、Bに送る(送ったつもりになっているが実際はBに届いていない。) 2.Mはaを横取りする。Mはa’をランダムに生成し、Aになりすましてα'=ga' mod p をBに送る。 3.Bはbをランダムに生成し、β=gb mod pを計算し、Aに送る(同上)。 4.Mはβを横取りするMはb’をランダムに生成し、Bになりすましてβ'=gb' mod p をAに送る。 5.MとAの間でKA = gab' mod pが共有され、MとBの間でKB = ga'b mod pが共有される。 6.Aから送られてきた通信はKAで復号した後、KBで暗号化し、Bに送る。Bから送られてきたものはその逆を行う。 10.認証 ●認証技術の分類 1.ユーザ認証(個人認証) 2.クライアントの認証 3.リモート認証 10.1 ユーザ認証 〇ユーザ認証の分類 1.記憶によるもの 2.補助装置によるもの 3.身体的特徴によるもの もちろん、上の3方式を任意に組み合わせることが可能であるし、実際そうなっている例が多い。 1.記憶によるもの 具体的な方式 ・暗証番号 ・パスワード 例:銀行 〇利点 ・導入しやすい ・コストが安い ・抵抗感がない 〇欠点 ・セキュリティ的に1番弱い ・パスワードが推測されやすい ・パスワードを忘れる 2.補助装置によるもの 具体的な方式 ・磁気カード ・ICカード 例:学生証 内部の記憶装置、あるいは、演算装置(暗号化ハードウェアなど)を覗き見ることができないハードウェアのことを耐タンパー性をもつという。 〇利点 ・パスワード方式よりは高いセキュリティ 〇欠点 ・パスワード方式よりもコストが高くなる ・本人かどうか判別できない 3.身体的特徴によるもの 身体的特徴のことをバイオメトリクス(biometrics)という。 具体的な方式 ・指紋 ・網羅 ・虹彩 ・掌形 ・顔 ・音声 ・筆跡 ・DNA 正当なユーザを拒絶してしまう確率を誤排除率(false rejection rate),不正なユーザを受け入れてしまう確率を誤受入率(false acceptance rate )という。 〇利点、欠点 ←セキュリティ論シラバスへ
鍵交換方式