PPT

q
q
情報セキュリティ
第2回:2006年4月21日(金)
q
q
本日学ぶこと

パスワードと認証
q
q
q
q
ユーザ認証の基本構成
パスワード解析方法と対策
パスワード管理法
パスワード以外のユーザ認証
2
認証(Authentication)とは

ユーザ認証とは
q

ユーザ名とパスワードなどの組み合わせを使って,コンピュータ
を利用しようとしている人にその権利があるかどうかや,その人
が名乗っている本人かどうかなどを確認すること
メッセージ認証とは
q
「メッセージが正しい送信者からのものである」という性質
3
ユーザ認証とパスワード

ユーザ認証のモデル
Prover
(証明者)

② OK/NG
Verifier
(認証者)
ユーザ情報として「個人識別情報」と「パスワード」の組を用
いて,個人を識別する
q
q
q

①ユーザ情報を入力
入力時,パスワードは画面上に表示されない
個人識別情報は,システムが提供する
パスワードは,システムが提供するものもあれば,利用者が設
定するものもある
どのようなパスワードを使用すれば安全か?
4
パスワード解析の前提

敵対者の目標:他人の個人識別情報(ユーザ名,口座番号
など)および認証方法を既知として,そこから,認証に必要な
パスワードを発見すること
Cracker
(敵対者)

①Proverの
ユーザ情報を入力
② OK/NG
Verifier
(認証者)
認証方法
q
q
敵対者が同じ認証方法を所有する:UNIXのパスワードクラック
 いくらでも試せる
敵対者は認証方法を所有しない:Webサーバ,銀行ATM
 失敗するとペナルティ
5
パスワード解析の種類


ブルート・フォース・アタック(brute-force attack,総当り法)
辞書攻撃
6
ブルート・フォース・アタック



すべてのパスワード候補をVerifierに送り,「当たり」が出るま
で続ける
時間(安全性の尺度)は,
1回の判定時間×探索終了までの回数
探索終了までの回数は,パスワードの候補の数に比例
q
q

パスワードになり得る値の集合を「パスワード空間」
という
期待値は,パスワード空間のサイズの半分
パスワード空間が大きいほど安全
二分探索法などで
効率よく発見する
ことはできない
7
数字によるパスワード(1)

銀行の暗証番号
q
q
4桁の数字:10000通り
 もし敵対者が認証システムを所有していて,(電子工作など
で装置を作って)1秒間に100回の入力ができるなら,最大
でも100秒でパスワードが割り出せる
 現実には,1回の入力が0.01秒とできないように対処してい
るので,一応安全に運用されている
8桁の数字なら?:100000000通り
 同様の敵対者の行動で,最大106秒…およそ11.5日
 誰もが覚えていられる?
8
数字によるパスワード(2)

10文字
q
q
4文字で10000通り
8文字で100000000通り(1.00×108通り)
9
英数字によるパスワード

62文字
q
q
4文字で14776336通り
8文字で218340105584896通り(2.18×1014通り)
10
英数字と記号によるパスワード

95文字
q
q
4文字で81450625通り
8文字で6634204312890625通り(6.63×1015通り)
11
パスワード空間のサイズ:まとめ
文字数
数字のみ
4
1.00×104
5
1.00×105
6
1.00×106
7
1.00×107
8
1.00×108
1.11×104
1.11×105
1.11×106
1.11×107
1.11×108
英数字
1.48×107
9.16×108
1.50×107
9.31×108
英数字と記号
8.14×107
7.73×109
8.23×107
7.82×109
5.68×1010
7.35×1011
5.77×1010
7.43×1011
3.52×1012
6.98×1013
3.58×1012
7.06×1013
2.18×1014
6.63×1015
2.21×1014
6.70×1015
ちょうど
以内


数字のみ<英数字<英数字と記号
1文字増えるとパスワード空間がうんと大きくなる
12
辞書攻撃

問題のあるパスワード
q
q
q
q

個人識別情報そのもの,または一部,または少し付加しただけ
 takehiko, take, takehiko1, takehi0
プライベートな情報
 配偶者や恋人の名前,電話番号や生年月日
辞書に載っている単語
 apple, web
辞書に載っている単語を組み合わせただけ
 appleweb, apple!web
辞書と,選ばれる傾向をもとに,パスワードを発見する方法
を「辞書攻撃」という
q
q
ツールが存在する
ブルート・フォース・アタックと別の方法で見つかってしまう!
13
パスワードの選び方

どのようなパスワードを使用すればよいか?
q
q
q
q
q
q
文字種や字数の制限があれば,それに従う
UNIXのパスワードでは,英数字と記号を織り交ぜて,
6文字以上8文字以内にする
自分は思い出しやすいものにする
 長ければいいってもんでもない
辞書攻撃で破られるようなパスワードは使用しない
パスワードをメモしない(?)
あちこちの認証システムで同一のパスワードにしない(?)
14
さらなる問題


Linuxでは,パスワードはどのように管理されている?
自分がネットワーク管理者になったら,パスワードは
どのように管理する?
15
UNIXのパスワード(1)

ユーザまたは
管理者が入
力
登録
パスワード:
"wakayama"
ランダム
ソルト:"cc"
暗号化
(crypt関数)
暗号化されたパスワード:
"ccwp5gV6wOumk"
"wakayama"を推測
するのは極めて困
難
パスワード
ファイル
/etc/passwd
16
UNIXのパスワード(2)

認証
ユーザが入
力
パスワード:
"wakayama"
ソルト:"cc"
暗号化されたパスワード:
"ccwp5gV6wOumk"
暗号化
(crypt関数)
パスワード
ファイル
/etc/passwd
"ccwp5gV6wOumk"
等しい?
17
ソルト(salt)の役割


ソルトがないと…
ユーザ名
パスワード
暗号化パスワード
takehiko
wakayama
nNAvIrX23n2
murakawa
wakayama
nNAvIrX23n2
ソルトがあると…
ユーザ名
パスワード
ソルト
暗号化パスワード
takehiko
wakayama
cc
ccwp5gV6wOumk
murakawa
wakayama
se
seL7HUUbt2qmA
ソルトが異なれば,同じパスワードでも
異なる暗号化パスワードが生成される
18
UNIXのパスワード(3)

最近は
q
q
q
/etc/passwdには暗号化したパスワードを書かない
 /etc/shadowに記載し(シャドウパスワード),
rootしか読めない
DESではなくMD5をもとに暗号化する
 パスワード長,ソルト長ともに大きくなった
認証の一元化,ネットワーク化を支援するソフトウェアやシステ
ムも広く使われている
 NIS+
 Kerberos
 LDAP (Lightweight Directory Access Protocol)
 PAM (Pluggable Authentication Modules)
19
管理者の立場で(1)

パスワードはどう設定するか?
q
q
q

システムが生成,提供する
 よいパスワード生成プログラムを選べば安全にできる
 ユーザは覚えられず,紙などに記録するかも
ユーザに自由に決めてもらう
 安全性をユーザに委ねる
リマインダ(Reminder)を使用する
 パスワードを忘れた人が,あらかじめ登録しておいた簡単な
質問(例:母親の旧姓は?)に正しく答えれば,パスワードを
教える
 質問次第で,パスワードなしと同じになってしまう
現状の最善解は?
q
q
管理者が,個人識別情報と初期パスワードを提供する
ユーザが認証に成功すれば,まず(今後使用する)パスワード
を設定し,初期パスワードを破棄する
20
管理者の立場で(2)

パスワードの心得
q
q
q

再発行の注意点
q
q

パスワードを忘れた=システムに入れない
パスワードを忘れる人がいない組織はない
「暗号化されたパスワード」から,「パスワード」を求めることは
不可能
すぐには再発行しない
 ソーシャルエンジニアリングのおそれ
 ユーザ教育として
これまで発行したパスワードは使わない
ユーザが変更できるようにする場合
q
現在のパスワードを1回,新しいパスワードを2回入力させる
 いずれも画面に出さない
 新しいのが1回だと,打ち間違いを見抜けない
21
ユーザ認証再考



「タイプ(打鍵)すること」に問題はないか?
パスワードでなくてもいいのでは?
ネットワーク越しの認証は?
22
打鍵に対するパスワード取得方法

ショルダーハッキング(shoulder hacking)
q
q

パスワードを入力しているのを肩越しに見て,打鍵を記憶する
こと
対策:後ろの人に見せない
キーロガー(key logger)
q
q
キーボードからの入力を監視して記録するソフトウェア
対策:他人も使うコンピュータを使う際に注意する
23
パスワード以外のユーザ認証法

ユーザ認証とは?
q
q
ユーザの持つ情報を使用して,そのユーザであることを確認・
証明すること
ユーザの持つ情報とは?
 持っているもの:IDカードなど
 知っていること:パスワードなど
 身体的特徴:バイオメトリクス
Prover
(証明者)
①ユーザ情報を入力
② OK/NG
Verifier
(認証者)
24
バイオメトリクス(Biometrics)認証

個人に固有の情報を利用するユーザ認証方式
q

個人に固有の情報の例
q
q

長期間にわたって変化しにくく,類似する特徴・特性を
持つ第三者が皆無かきわめて少ないようなものを用いる
身体的特徴:指紋,虹彩,顔,手の甲の静脈,音声など
身体的な特性:筆跡,打鍵など
問題点
q
q
q
q
事前登録が必要…心理的な抵抗も
機器が高価
誤認識があり得る
安価な道具でなりすましができる可能性…グミの指
25
指紋入力装置の性能

http://www.hitachi-hec.co.jp/virsecur/shimonni/shimon01.htmより
限りなく0に(最優先)
なるべく0に(優先低め)
どちらも0にしたいが,一方を
下げると,もう一方は上がっ
てしまう(トレードオフ)
26
ネットワークを介した認証

リモートログイン(Prover-Verifier間に距離がある)で,盗聴さ
れてもよいユーザ認証方式は?
q
q
パスワードを暗号化しなければ…盗聴して,リプレイ攻撃
パスワードを暗号化すれば…暗号文を盗聴して,リプレイ攻撃
Prover
①ユーザ情報を入力
Verifier
② 盗聴
③盗聴内容を送る
Cracker
④ (Proverとして)OK

通信されるユーザ情報を毎回違うものにすればいい!
ワンタイムパスワード
27
ワンタイムパスワードの例:LM認証
② 接続要求
③チャレンジ
① パスワード
Client
Prover
④レスポンス
Server
(Verifier)
⑤ OK/NG
LMハッシュ = e(パスワード,"KGS!@#$%")
チャレンジは毎回異なる文字列(Serverが生成する)
レスポンス = e(LMハッシュ,チャレンジ)
eはDES暗号化アルゴリズム
28
本日のまとめ

パスワードのセキュリティ
q
q
q
よいパスワード,よい管理方式を選ぶ
ブルート・フォース・アタック以外でも破られることがある
パスワードがユーザ認証のすべてではない
29