暗号技術を用いた認証
牧之内研究室M1
久保正明
牧之内研究室「インターネット実習」Webページ
http://www.db.is.kyushu-u.ac.jp/rinkou/internet/
暗号
暗号化
ある情報を他人にわからないように変換す
例:アルファベットをずらす ab,bc,
現在は数学的な理論に基づき暗号化されている
暗号化技術はなぜ解読が困難なのか
整数論の環(掛け算はあるが割り算が無い)
一方向の計算しかできない
大きな数を現実的な時間で素因数分解することが困難(という前
提)
ただし、20028月現在、確実に素因数分解ができるアルゴリズムが
インドで考案され、暗号解読への応用が期待されている
暗号化の種類
共通鍵暗号
公開鍵暗号
共通鍵(秘密鍵)暗号
暗号化と復号化に同じ鍵(秘密鍵)を用いる暗号方式
鍵が共通なためデータ送受信の前に鍵を安全な方法で
送信する必要がある
送信者 受信者
平文 暗号文 平文
暗号化 復号化
事前に同じ鍵を共有しておく
暗号文は盗聴される恐れがあるため,
鍵は他者に秘密にしておく必要がある
公開鍵暗号
公開鍵と秘密鍵を使ってデータの暗号化・復号化を行う
暗号方式
公開鍵は他人に広く公開し、秘密鍵は本人だけが管理
暗号化と復号化を同じ鍵で行なう共通鍵暗号方式に比
べて、鍵を安全な経路で輸送する必要がないため、鍵の
管理が簡単で安全性が高い
送信者 受信者
平文 暗号文 平文
暗号化 復号化
受信者の公開鍵 受信者の秘密鍵
公開鍵、秘密鍵の比較
共通鍵方式
暗号化、復号化の鍵が同一高速
本文、ファイル内容の暗号化に利用
公開鍵方式
暗号化と復号化の鍵が異なる多人数とのやり取り、低速
共通鍵の暗号化・復号化、デジタル署名に使用
公開鍵暗号方式 共通鍵暗号方式
鍵の管理 秘密鍵は1つなので容易 複数の秘密鍵が必要なので困難
鍵の交換 公開鍵を交換すれば良い 秘密鍵の交換が必要
鍵交換時の危険性 改ざんにのみ注意が必要 盗聴されれば終わり
処理時間 長い(数百~数千倍) 短い
認証 第三者に証明できる 不十分
DES
1974IBMNSAが開発
共通鍵暗号
パスワードの保存などに使用
合衆国商務省標準局(NBS)により長期間標準化
64ビット(事実上56ビット)のブロック化
鍵を用いた非線形処理
RSA
1977年に開発
公開鍵暗号
素因数分解を行う効率的なアルゴリズムがない
ことが大前提
合衆国の厳しい輸出規制(ビット数の制限)
1998年に銀行などで128ビットを使用可
SSHのユーザ認証などに使用
その他暗号アルゴリズム
3DES DES3回かける
AES DESの発展形
IDEA
MD5 パスワードなど
Diffie-Hellman
Blowfish
Twofish
ArcFour
暗号化の安全性・脆弱性
DES
1998RSA Lab.のコンテストにより3日で解読され
RSA
1997RSA56ビットが5ヶ月で解読される
1999RSA512ビットが5.2ヶ月で解読され
現実に暗号解読は可能
ただし、計算機数百台とある程度の時間が必要
RSA社が賞金をかけている
具体的なパスワードの解読法
これかな?
eD7Cif9sDS
・単語辞書
Pwdファイル
の一般的情報
hoge2000
・個人情報からの想定
・一般単語からの想定
適当に想定
パスワード解読ソフト
John the ripper
暗号化手順 逆は不可能
hoge2000
・パスワードファイル内の
暗号化された文字列
SSH
リモートでログインするプログラム
通信路の暗号化
認証
公開鍵暗号(RSAなど:バージョンにより異なる)
セッション
共有鍵暗号(3DESなど:バージョンにより異なる)
SSHでの認証のしくみ
比較
ユーザA公開鍵
ユーザ名・公開鍵
乱数
乱数を公開鍵で暗号化
セッションID
個人鍵
複合
乱数
セッションID
MD5
MD5
MD5
MD5値‘
比較
ユーザAの公開鍵
実験
SSHの盗聴
ポート番号21
>ssh host2
>tcpdump xX host host1 and port 22
暗号化されているので見れない
host1 host2
注:スイッチングハブを介している場合、
盗聴は無理なので通常のハブを利用する
SSHでのポート転送
ポート番号21
>ssh L 9080:host2:21 host2
>ftp localhost 9080
ポート番号9080
暗号路
FTPの暗号化
>tcpdump xX host host2 and port 21
(もともと通信されていないポート)
>tcpdump X host host2 and port 22
(暗号化されている)
ftp ftpd
ssh sshd
host1 host2
ポート番号9080
注:現在研究室では
sftpを利用しているため
単にftpを使っても盗聴できない