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