公開鍵方式

6. セキュリティについて
6-1. セキュリティの必要性
何を守るべきか(1)

データの保護
• 改竄されないように. 他人に見られないように.

計算機資源、ネットワーク資源の保護
• 快適につかえるように.

悪用防止(目的外利用の禁止)
• 他人へ迷惑をかけないように.
• 自分が悪さをしない.(言うまでもない)
何を守るべきか(2)
ー データの保護 ー


金銭情報、プライバシー、命にかかわる情
報 → 社会的責任の問題
大学の場合
• 研究アイディア
• 試験問題、成績
• 人事、入札
何を守るべきか(3)
ー 計算機資源、ネットワーク資源 ー

計算機資源、ネットワーク資源の安定した
利用
何を守るべきか(4)
ー 悪用防止 ー

平成12年 不正アクセス禁止法 施行
• 自ら不正していなくても 第三者に不正利用 されれ
ば、 管理不足 を理由に何億もの損害賠償に及ぶ
恐れ.
• (自らの不正は論外.)
! 車にキーを付けっ放しで放置しないのと同じ
何が怖いのか?



自分のところが破壊されるだけでなく、踏
み台にされて新たに加害者になること
組織の責任(大きな会社、大学だと社会的
効果が大きい) → 社会的信頼の失墜
フレッツ,CATV等常時接続の普及
→家庭PCも攻撃に参加する危険性
なぜいまセキュリティが叫ばれ
ているか?

もともとは学術界等を中心に成長
→ 使用している人のモラルがあった
(モラルに依存した設計. 開放的な設計.)

しかし昨今急速に一般市民に広まった.
→ セキュリティが問題となるようになった.
6-2. インターネットのセキュリ
ティ ー人的側面ー
どのようにして狙われるか(1)





電話でのなりすまし
建物への侵入
ネットワーク越しの侵入
通信内容の傍受,データの改竄
ウィルス
どのようにして狙われるか(2)
ー パスワードクラック ー


Brute Force(総当たり)攻撃
スニッファ(盗聴)
• 出張先からアクセスした時、端末に仕掛けがして
ありパスワードが盗まれた
• ノートPCを持ち込んでつながれ、盗聴される
→ 一般ユーザ権限で侵入し、rootの奪
取
ユーザの責任について



データの防衛
サイトの防衛
不正アクセスの禁止
データの防衛



ファイルのアクセス権を適切に設定
当然パスワード管理もしっかり
インターネット上でのやりとりは他人に見ら
れていると思ったほうがよい!
サイトの防衛(1)
ー パスワード管理 ー

悪い例
• アカウントと同じ
• 誕生日や電話番号
• 英単語
• (空パスワードは論外)

良い例
• 他人が見たら無意味で、自分だけが絶対忘れない

定期的に変更
[Brute Force(総当たり)攻撃に関して]
アルファベット(大文字小文字)と数字による
ランダムな8文字の組み合わせ
628 ← 15桁
The Oxford English Dictionary
59万語 ← 6桁
→ 英単語パスワードの場合、破られる危険性は10億倍!
サイトの防衛(2)
ー ウィルス対策 ー

メールの添付ファイルの形でやってくること
が多い
ファイル共有にも注意(サイト内からの感染)

ウィルス対策ソフトの活用

サイトの防衛(3)
ー 管理 ー

いらないサービスは切っておく
(適切な制限)


侵入検知(IDS)
ログの解析
不正アクセスの禁止

不正アクセスの禁止

ツールを試してみるのもダメ
• 例:ポートスキャンツール等
→ アタックの準備の第一歩と見られる

アカウントの貸し借りももちろんダメ
ネット上のトラブル

公衆の面前での誹謗中傷は名誉毀損にな
る(実社会と同様にネット上でも)

サイバースペースって言えども本当に仮想
空間ではない

簡単に手に入る”マスメディア”
(自分の発言を1000人に伝える手段を得ることは、昔は
大変なことだったけど...)
インターネットのエチケット(1)
ー 異機種で構成されている ー

使ってはいけない記号がある
• 半角カナ (アイウエオ や 「」・、。)
• 機種依存文字(㍑ ㎡ Ⅱ ① ② ③ )
• i-mode 文字
インターネットのエチケット(2)
ー メールのエチケット ー

チェーンメールを受け取っても転送しない.
SPAMメール

著作権に注意(特にML)

コピーさせて!という発言はタブー.
サイト内でのエチケット

共有ディスクのディスクスペースに注意
(du, df)

不要プロセスを残してのリソース食い潰し
(ps, kill)
大量プリント時の状況チェック

最後に

(技術上のセキュリティホールも問題だがむしろ)
セキュリティ意識の方が問題になり易い

実社会のモラルは当然インターネット上で
もあてはまる

インターネットの方が無意識のうちにモラ
ル違反を起こしやすい
6-3. インターネットのセキュリ
ティ ー技術的側面ー
どのようなサービスが狙われるか

セキュリティホールの見つかってるもの
どのようにして狙われるか





ポートスキャン
ウィルス
DoS(ping of Death, SYN flood,
Smurfing(DDoS))
バッファオーバーフロー
Windows系サービス(ファイル共有)
メールのセキュリティ(1)

ウィルス(開かなければただのASCII)

勝手に開いてくれるソフトの存在
「小さな親切、大きなお世話!」
• Outlook等のソフトの穴が狙い
• トロイの木馬
• マクロウィルス
メールのセキュリティ(2)

通信の非秘匿性
→pgp, S/MIME がすすむだろう
メールのセキュリティ(3)

POP(パスワードの盗聴の危険性)
• APOP, POP/SSH, POP/SSL

SMTP(認証無し)
• POP before SMTP, SMTP AUTH

SPAM対策 (ブラックリストの活用)
• ブラックリストにのると送れなくなる可能性
Webのセキュリティ

送信データは盗聴の危険性(重要なものは
SSLを利用)

アクセス制御(ユーザ認証)をしているペー
ジがある
CookieやJAVAはセキュリティの観点か
ら言うと切った方がbetter

通信状態の確認(SSLになってるかどうか)
Netscape6の場合
plain
ssl
Netscape4の場合(1)
plain
ssl
Netscape4の場合(2)
plain
ssl
IE5の場合
plain
ssl
ファイアウォールによるセキュリ
ティ(1)

ファイアウォールとは
エンジンルーム
自動車の場合
Firewall
×
内部座席
Internet(WAN)
インターネット
Firewall
×
・パケットフィルタリング型
・アプリケーション
ゲートウェイ型
内部ネットワーク(LAN)
ファイアウォールによるセキュリ
ティ(2)

ファイアウォールの手法
• NAT(IPマスカレード,NAPT,PAT)
• DMZ
Internet(WAN)
×
NAT
202.xx.yy.a
202.xx.yy.b
172.16.zz.s
172.16.zz.t
Firewall
172.16.zz.u
内部ネットワーク(LAN)
Internet(WAN)
DMZ
公開サーバ類
Firewall
緩衝セグメント(DMZ)
内部ネットワーク(LAN)
ファイアウォールによるセキュリ
ティ(3)

ファイアウォールでまもれないもの
• Virus (Proxy型だと一部可能)
• オープンリレー, コンテンツフィルタリング
• アプリケーションの穴(例IIS)
• DoS(回線占有), Buffer Overflowは一部OK
• 人間の意識のレベル
RCNPの外部から使用できる
サービスについて
RCNPの内部から使用できる
サービスについて
情報の収集元



JPCERT/CC
IPA セキュリティセンター
bugtraq-jp
6-4. 暗号理論入門
[CONTENTS]



共通鍵方式
公開鍵方式(Diffie-Hellman)
公開鍵方式(RSA)
• 暗号化
• 電子署名


一方向ハッシュ関数
デジタルエンベロープ
[CONTENTS]
 共通鍵方式


←
公開鍵方式(Diffie-Hellman)
公開鍵方式(RSA)
• 暗号化
• 電子署名


一方向ハッシュ関数
デジタルエンベロープ
暗号の歴史

暗号の話はローマ時代までさかのぼる

主に軍事上、外交上の目的に利用された

1970年代までは共通鍵暗号方式
[Caesar暗号 (紀元前)]
A B C D E F … W X Y Z
D E F G H I … Z A B C
(暗号化)
RCNP → UFQS
(3文字ずらすことで暗号化)
(復号化)
UFQS → RCNP
(3文字もどす)
「ずらす文字数 ”3” が鍵.
暗号化を出来る人は復号化もできる. 」
[Vigenere (16世紀)]
文字数 k のメッセージユニットを
k次元のベクトルと考える.
k文字の隠語(鍵)σだけずらして暗号化.
v → v +σ
[Hill (1931)]
暗号化は可逆なk次正方行列Aで変換.
v → Av
復号化はその逆 ( A-1 を使う) .
w → A-1w
共通鍵暗号方式
平文
復号化
通信
暗号化
暗号文
暗号文
暗号化と復号化に同じ鍵を使用
平文
共通鍵暗号方式の欠点


鍵の配布を極秘に行う必要.
多人数になると、用意する鍵の数も膨大.
• n人ならば nC2 =n(n-1)/2 個必要
[CONTENTS]

共通鍵方式
 公開鍵方式(Diffie-Hellman)

公開鍵方式(RSA)
• 暗号化
• 電子署名


一方向ハッシュ関数
デジタルエンベロープ
←
公開鍵配布系(1)
(Diffie-Hellman方式)

送受信者双方がお互いの公開鍵を利用し
て共通鍵を生成する.
公開鍵配布系
Bobの公開鍵 Aliceの秘密鍵
共通鍵
Alice
Aliceの公開鍵 Bobの秘密鍵
共通鍵
Bob
お互いの公開情報から共通鍵を生成
公開鍵配布系(2)
ー 数学的背景 ー
大きな素数 qとある整数αを固定.各ユーザは
任意の整数 Nを選び K=αNを計算し,公開
情報とする.
Kが公開鍵. Nが秘密鍵.
Alice は KBを NA乗して鍵を生成.
Bob も KAを NB乗して鍵を生成.
→共通鍵 KBN =KAN = αN N が生成される.
A
B
A
B
公開鍵配布系(3)
ー 安全性の根拠 ー
「整数α,q, yを固定したとき,
y=αx (mod q)
となる整数 xを求めよ.」
この対数問題を解くには総当りでアタックするくら
いしかうまい解法が知られていない.
整数qが大きい時,これを解くには世界中の計算
機資源を総導入してもとてつもなく時間がかかる.
(1) x → y を求める計算.
q が10200程度で, また mod q での掛け算1回に10-2秒も
かかると仮定しても, わずか12秒程度で求まる.
(2) y → x を求める計算.
q がわずか1030程度で, またmod q での掛け算1回が現
在仮に10-9秒でできた仮定し, またコンピュータの10年
で4倍になるとかていしても, 100年単位の時間がかか
るであろう.
[CONTENTS]


共通鍵方式
公開鍵方式(Diffie-Hellman)
 公開鍵方式(RSA)
• 暗号化
• 電子署名


一方向ハッシュ関数
デジタルエンベロープ
←
公開鍵方式のしくみ(1)
(RSA方式)
公開鍵方式(RSA)
鍵a
データ1
データ2
鍵b
片方の鍵を公開鍵とし、もう一方を秘密鍵とする
公開鍵方式のしくみ(2)
ー 数学的背景1 ー
Nを整数とし,
整数 eと dを次の性質を満たすように取る.
「任意の整数 Mに対し,
Med≡M (mod N)」
問題はこのようなNとeとdをどのようにとるか?
fe
M
L
fd
fe :
fd :
(mod N)
M →
L → Ld (mod N)
とすると fd fd =id,
e
M
fd fd =id
例: N = 55
e = 3, d = 27
163 = 26 (mod 55)
2627 = 16 (mod 55)
公開鍵方式のしくみ(3)
ー 数学的背景2 ー
大きな素数 p, q を選択. N:=p・qとする.
p-1, q-1と素な整数 e を固定.
整数 dを e・d≡1(mod LCM(p-1,q-1))と
なるように取る. (Euclidの互除法)
[CONTENTS]



共通鍵方式
公開鍵方式(Diffie-Hellman)
公開鍵方式(RSA)
•暗号化 ←
• 電子署名


一方向ハッシュ関数
デジタルエンベロープ
公開鍵方式による暗号化(1)
(RSA方式)

受信者(Bob)から前もって公開鍵を送信
者(Alice)に渡しておく. このとき公開鍵は
他人に見られても構わない. 送信者はメッ
セージをその公開鍵で暗号化し, 受信者
は自分の秘密鍵で復号する.
公開鍵方式による暗号化
Bobの公開鍵
Bobの秘密鍵
平文
復号化
通信
暗号化
Alice 暗号文
暗号文
Bob
暗号化と復号化に異なる鍵を使用
平文
公開鍵方式による暗号化(2)
ー 安全性の根拠 ー
先述の対数問題の困難さと
公開情報Nから素数p,qを逆に求めるという
素因数分解の困難さに拠る.
[CONTENTS]



共通鍵方式
公開鍵方式(Diffie-Hellman)
公開鍵方式(RSA)
• 暗号化
•電子署名 ←


一方向ハッシュ関数
デジタルエンベロープ
公開鍵方式による電子署名


BobからAliceにメッセージを送るとき,そ
の文章が本当にBobから送られてきたも
のかどうか知りたい.
Bobはメッセージと一緒に, そのメッセー
ジを自分の秘密鍵で変換したもの(電子署
名)をAliceに同封する. Aliceはその電
子署名をBobの公開鍵で変換し, 元のメッ
セージと一致するかを確かめる.
公開鍵方式による電子署名
メッセージ
メッセージ
送信
Bobの秘密鍵
Bobの公開鍵
同封
電子署名
電子署名
Bob
Alice
[CONTENTS]



共通鍵方式
公開鍵方式(Diffie-Hellman)
公開鍵方式(RSA)
• 暗号化
• 電子署名
 一方向ハッシュ関数

デジタルエンベロープ
←
一方向ハッシュ関数(1)


= メッセージダイジェスト
任意のデータから, そのデータ固有の短い
情報(ハッシュ値)を与える関数.
• 衝突耐性 (H(x)=H(x’)となるx, x’を見出すこ
とが事実上不可能)
• 原像耐性 (yに対し, y =H(x)となるxを見出す
ことが事実上不可能)
一方向ハッシュ関数(2)
(例)
[Purdy(1974)]
p = 264-59
24 +17
24 +3
2
2
H(x) = x
+a1x
+ a2x3 + a3x2 + a4x + a5
(mod p)
但し, aiは任意の19桁の整数
一方向ハッシュ関数(3)

電子署名では通常, メッセージのハッシュ
値に対して署名を行い, 受け手側もメッ
セージのハッシュ値との一致性を検証する.
一方向ハッシュ関数を用いた電子署名
メッセージ
メッセージ
送信
一方向ハッシュ関数
一方向ハッシュ関数
ハッシュ値
ハッシュ値
Bobの秘密鍵
Bobの公開鍵
同封
電子署名
電子署名
Bob
Alice
[CONTENTS]



共通鍵方式
公開鍵方式(Diffie-Hellman)
公開鍵方式(RSA)
• 暗号化
• 電子署名

一方向ハッシュ関数
 デジタルエンベロープ
←
公開鍵方式の利点と欠点(1)

信頼できないネットワーク上でも鍵の配布
が出来る.

共通鍵方式に比べて処理時間が遅い.
(RSA(公開鍵方式)とDES(共通鍵方式)を比較した場
合,1000倍の差があると言われる.)
→公開鍵方式と共通鍵方式の補完的利用
公開鍵方式の利点と欠点(2)
sshのセッション
(1) Host-To-Host Authentication
(リモートホストの公開鍵を利用)
(2) Encryption
(ローカルホストで共通鍵作成)
(3) USER Authentication
(パスワード認証 or RSAユーザ認証)
(1)では公開鍵暗号方式, (2)以降は共通鍵暗号方式
6-5. 暗号化プログラムの実際
の使用方法
メールの暗号化、電子署名

pgp (暗号化&電子署名)
[実演]
ssh


RSAユーザ認証 (ttssh)
Port Forwarding (ttssh+メールPOP)
[実演]