情報社会とセキュリティ ( 第 10 回 ) 産業技術科学科多田知正 htada@kyokyo-u.ac.jp 2013/6/24 1
今日の内容 認証について 2013/6/24 2
認証とは? コンピュータや各種サービスをある人に利 させるにあたって その人が名乗っている本人であること その人に利 する権利があること を確認すること 2013/6/24 3
パスワード認証 現在もっとも 般的な認証 式 ユーザを識別する ID とユーザ本人だけが知っているパスワードを入 http://m.nj-clucker.com/2006102322.php 2013/6/24 4
パスワードの保存 パスワードはファイルに保存してある ファイルを盗まれるとパスワードを られてしまう tanaka tanaka99 suzuki suzuki88 satoh satoh77 : : : もちろんこのままではまずい 2013/6/24 5
パスワードの暗号化 それならパスワードを暗号化して保存すればいい tanaka tanaka99 suzuki suzuki88 satoh satoh77 : : : tanaka s0/3jasd suzuki ]9q3j9J2 satoh 9l81*1H : : : 暗号化の鍵がばれると全てのパスワードが盗まれてしまう 2013/6/24 6
ではどうすればいいか? これまでに説明した 法に答えがあります ヒント 2013/6/24 7
パスワードファイル パスワードファイルにはパスワードのハッシュ値が書かれている tanaka suzuki satoh Ec0vdWgr4lmzn600FxMPL/ NzwSKKj/XexDJY.hJAZWA0 mrcz.btemof3zvv.ldqt70 : : : 2013/6/24 8
復習 : ハッシュ関数とは 入 されたデータから固定 (128 ビットなど ) の数字列を出 する関数 ハッシュ関数 d7 5b 78 d5 31... ハッシュ値 2013/6/24 9
ハッシュ関数の性質 ハッシュ値から元の入 データの内容を推測できない d7 5b 78 d5 31... ハッシュ値から元のパスワードを復元出来ない 2013/6/24 10
ハッシュ関数の性質 同じハッシュ値になる入 データを つけるのは困難 ハッシュ関数 d7 5b 78 d5 31... つけるのは非常に困難 同じハッシュ値 偽造パスワードを作るのも困難 2013/6/24 11
パスワードのチェック ID: tanaka pass: tanaka99 入 されたパスワード パスワードファイル ハッシュ関数 tanaka suzuki satoh Ec0vdWgr4lmzn600FxMPL/ Ec0vdWgr4lmzn600FxMPL/ NzwSKKj/XexDJY.hJAZWA0 mrcz.btemof3zvv.ldqt70 : : ハッシュ値が 致すれば入 されたパスワードは正しいと判断する 2013/6/24 12
ということは パスワードファイルを てもパスワードがわからない パスワードを忘れました教えてください 無理です ケチ 意地悪で教えないのではなく, 管理者でも利 者のパスワードは られない 2013/6/24 13
パスワードを忘れた場合 管理者はパスワードを消して新しく作り直すしかない わかりました 新しいパスワードは... です 多少 間がかかるが仕 がない 2013/6/24 14
パスワード認証の欠点 パスワードを忘れてしまう パスワードを盗まれる パスワードの推測 誕 日などの個人情報を がかりに パスワードクラック 総当り攻撃 辞書攻撃 2013/6/24 15
パスワードのトレードオフ 忘れないように簡単なパスワードを付けると他人に推測されやすい 推測されないように複雑なパスワードを付けると忘れやすい このように を追求するともう が犠牲になる関係をトレードオフという 2013/6/24 16
新しい認証 式 セキュリティトークン ワンタイムパスワード 体認証 ( バイオメトリクス認証 ) 2013/6/24 17
セキュリティトークン 認証の助けとなる小さい機器 パスワードなどの情報を格納している トークンを持っている人しかシステムを使えない 2013/6/24 18
さまざまなトークン USB トークン PC の USB ポートに挿して使うタイプ スマートカード型 IC カード Bluetooth 型トークン Bluetoothで通信するタイプ USB 端 を備えるものが多い PC カード型トークン ノート PC のカードスロットに入れるタイプ 非接続型トークン ユーザがトークンに表示されるパスワードを 動で入 するタイプ 携帯電話 携帯電話をトークンとして利 するシステムもある 2013/6/24 19
ワンタイムパスワード パスワードが盗まれるかも知れない だったらパスワードを 使い捨て しよう One Time ( 回限りの ) Password 2013/6/24 20
ワンタイムパスワードの種類 イベント同期 式 時刻同期 式 チャレンジ レスポンス 式 2013/6/24 21
イベント同期 式 ユーザはパスワード 成器 ( トークン ) を持っている 640205 スイッチを入れると数字が表示される 1001 トークンの ID 2013/6/24 22
イベント同期 式 ユーザは 分の ID( トークンの識別 ) とともに表示された数字をパスワードとして入 しサーバに送る ID:1001 pass:640205 640205 1001 2013/6/24 23
イベント同期 式 サーバはそれぞれのトークンが次にどのような数字を 成するかわかっている ログイン回数 1003 1002 9:00 879032 1001 1 9:01410982 986511 1 2 9:02 643567 986526 640210 2 3 9:03 986518 640204 880228 3 4 640205 880243 : 4 880247 : : 2013/6/24 24
イベント同期 式 サーバは保存している表に基づきトークンの ID と入 された数字を検証する ID:1001 pass:640205 1003 1002 9:00 879032 1001 1 9:01410982 986511 1 2 9:02 643567 986526 640210 2 3 9:03 986518 640204 880228 3 4 640205 880243 : 4 880247 : : 両 が 致 認証 OK 2013/6/24 25
実際は... サーバとトークンは同じ暗号鍵を持つ 640205 1001 ID:1001 pass:640205 1001 6 回 1002 3 回 1003 5 回 1004 6 回 : スイッチを押すたびに暗号鍵を いて新しいパスワードを 成 640205 トークンIDとログイン回数から暗号鍵を いてパスワードを 成 2013/6/24 26
時刻同期 式 ユーザはパスワード 成器 ( トークン ) を持っている 640205 9:02 時刻とともに数字が変化する 1001 トークンの ID 2013/6/24 27
時刻同期 式 ユーザは 分の ID( トークンの識別 ) とともに表示された数字をパスワードとして入 しサーバに送る ID:1001 pass:640205 640205 9:02 1001 2013/6/24 28
時刻同期 式 サーバはそれぞれのトークンが時刻によってどのような数字を 成するかわかっている 1003 1002 9:00 879032 1001 9:009:01410982 986511 9:009:01 9:02 643567 986526 640210 9:019:02 9:03 986518 640204 880228 9:029:03640205 880243 : 9:03 880247 : : 2013/6/24 29
時刻同期 式 サーバは現在の時刻に基づいてトークンの ID と入 された数字を検証する ID:1001 pass:640205 1003 1002 9:00 879032 1001 9:009:01410982 986511 9:009:01 9:02 643567 986526 640210 9:019:02 9:03 986518 640204 880228 9:029:03640205 880243 : 9:03 880247 : : 両 が 致 認証 OK 2013/6/24 30
実際は... サーバとトークンは同じ暗号鍵を持つ 640205 9:02 ID:1001 pass:640205 1001 現在時刻から暗号鍵を いて新しいパスワードを 成 640205 トークンIDと現在時刻から暗号鍵を いてパスワードを 成 2013/6/24 31
チャレンジ レスポンス 式 ユーザは電卓のような機器を持っている 関数 関数 ある関数に基づいて計算を う サーバも同じ関数を持つ 2013/6/24 32
チャレンジ レスポンス 式 サーバにアクセス要求を出す もしもし 関数 2013/6/24 33
チャレンジ レスポンス 式 サーバはランダムな数 ( チャレンジ ) を 成してパソコンに送る 827340 827340 関数 チャレンジは毎回違う値を いる 2013/6/24 34
チャレンジ レスポンス 式 ユーザは受け取ったチャレンジを機器に入 する計算結果 ( レスポンス ) が表示される 827340 関数 827340 関数 917412 2013/6/24 35
チャレンジ レスポンス 式 ユーザは表示されたレスポンスを入 し, サーバに送り返す 827340 917412 関数 2013/6/24 36
チャレンジ レスポンス 式 サーバは独 にチャレンジからレスポンスを計算し, パソコンから受け取ったレスポンスと比較 827340 関数 917412 917412 両 が 致 認証 OK 2013/6/24 37
ワンタイムパスワードの変形 画面表示と記憶を組み合わせた新しい認証 式 ニーモニック認証 マトリクス認証 パスワードとして入 するものが毎回変化するという意味でワンタイムパスワードの変形ともいえる ただしユーザの記憶に基づく 式なのでトークンを利 するワンタイムパスワードとは異なる 2013/6/24 38
ニーモニック認証 写真やイラストの中から, 分の記憶と関連付けた組み合わせを選ぶことで本人を識別する http://www.mneme.co.jp/mne/index.html 2013/6/24 39
マトリクス認証 マトリクス表の位置だけを記憶し, そこに毎回ランダムに表示される 字列を入 http://itpro.nikkeibp.co.jp/free/tis/keitai/ 20040825/148987/?ST=keitai&P=1 2013/6/24 40
体認証 人間の 体的特徴や癖の情報を いて う認証 バイオメトリクス認証とも う 2013/6/24 41
体認証で いるもの 指紋 のひらの静脈 顔 眼の虹彩 http://pr.fujitsu.com/jp/ news/2005/12/22.html http://ja.wikipedia.org 2013/6/24 42
本人拒否率と他人受容率 本人拒否率 本人であるにもかかわらず拒否される確率 他人受容率 本人でないにもかかわらず受理される確率 本人拒否率を 0 に近づけようとすると他人受容率が高くなってしまう 他人受容率を 0 に近づけようとすると本人拒否率が高くなってしまう トレードオフの関係 2013/6/24 43
体認証のコスト 特殊な機器を必要とする 指紋センサ カメラ コストがかかる 2013/6/24 44
体情報の複製 体情報を複製できる?? 2013/6/24 45
体情報の複製の例 ゼラチンで作った人 指で多くの指紋認証システムを通過 残留指紋をゼラチンに写し取って人 指を作り その人 指で認証を通過させる事に成功している 紙で作った人 虹彩で虹彩認証システムをも通過できる可能性がある 虹彩画像を印刷した紙で偽証ができたという研究例 静脈認証システムに 体以外 ( 大根で作った人 指 ) を登録できた 2005 年時点では 人 指をデータ登録して認証を通過させるという実験に成功しただけ 誤認証が起こる危険があるとただちに い切ることはできない 内部犯等が不正にデータを登録する可能性もある 2013/6/24 46
破られた場合の危険性 体情報は 涯不変である 度複製によって破られてしまうと 安全性を回復できない パスワードの場合 破られたパスワードを無効化し, 新しいパスワードを発 するのが容易 2013/6/24 47
その他の問題 ケガや病気などによって 認証を受けられなくなってしまう危険がある対象者が成 期にある場合 サイズ 体が変わってしまい 本人拒否率が上がってしまう 体情報は 涯不変であるが故に 脱退等の時に無効化できない指紋を初めとしたプライバシー情報をシステム管理者に知られてしまう全てのシステムで同じ情報を使わねばならない あるシステムのシステム管理者は 登録された情報を使って別のシステムの認証を通過できてしまう可能性がある 2013/6/24 48
ツーファクタ認証 認証 式は ユーザの知識を利 したもの パスワード ユーザの持ち物を利 したもの セキュリティトークン ユーザの 体情報を利 したもの 体認証 これらのうち2つの 式を組み合わせて認証を うことをツーファクタ認証という セキュリティトークンとパスワードを併 セキュリティトークンと 体認証を併 2013/6/24 49
まとめ 認証ってむずかしい パスワードはいけてない 体認証にも問題はある 複数の 式を組み合わせれば解決? 2013/6/24 50