kougi10ito

計算機リテラシーM
第10回 情報セキュリティ
伊藤 高廣
http://www.micro.mse.kyutech.ac.jp/Literacy
セキュリティ

コンピュータの安全性



コンピュータへの不正なアクセス,不正利用な
どを防ぐ
データの改竄(かいざん)を防ぐ
情報漏洩(ろうえい)を防ぐ
セキュリティ対策


計算機内のファイルの場合:
不正利用を防ぐ


データの改竄を防ぐ


ログイン(ユーザ名とパスワード)
ファイルの属性(chmodなど)
データの漏洩を防ぐ

ファイルの属性
セキュリティ対策

メールの場合:

不正利用を防ぐ


データの改竄を防ぐ


パスワード
?
データの漏洩を防ぐ

?
送信したメールの
内容を変更される
送信したメールが
他人に読まれる
データを暗号化する

暗号とは?


データ列を別のデータ列に変換する手法
KIKAI JOUHOU → LJLBJ KPVIPV


暗号の方式:シーザー暗号
暗号のキー:1
シーザー暗号を解読するためのコマンド(caesar(6))
が標準装備されているUNIXシステムも多い。
例

「IIZUKA」,キー:1
「A」の次は「B」
JJAVLB

「FUKUOKA」,キー:1,2
GWLWPMB
キーを交互に使う
シーザー暗号の問題点

シーザー暗号は簡単すぎる


アルファベットの頻度や単語から推測できる
暗号のキーと,解読のキーが同じ



送信者と受信者は
同じキーを知っていなくてはならない
キーを秘密にしなくてはならない
キーを受信者に「安全」に
通知する必要がある
公開鍵暗号

暗号を作るキー(暗号鍵)と
暗号を解読するキー(復号鍵)のペア


片方をあらかじめ公開しておく
もう片方は“自分だけの”秘密にしておく
公開鍵暗号の原理(RSA)


2つの素数(かなり大きな数)を用意し,
これらの積を求める → n
b = ar ( mod n )
a = bs ( mod n )
を満たすような r と s を求める


実際には,2つの素数から簡単に r, s を求めることが
できる
n と r が暗号鍵(公開鍵)
n と s が復号鍵(秘密鍵)
暗号の作成

b = ar ( mod n )



a=元の文章を数値化した値
b=暗号
n, r は公開されているので,
誰でも暗号を作成できる
復号

a = bs ( mod n )



b=元の文章を数値化した値
a=暗号
s は秘密鍵なので,
復号できるのは s を知っている人だけ
2つの鍵の関係
データ
データ
公開鍵
秘密鍵
暗号A
暗号B
異なる
秘密鍵
公開鍵
データ
データ
公開鍵暗号で可能なこと


暗号を相手に送る
電子署名を行う

データが本物であるかどうかを検証する
暗号を送る

送る相手の公開鍵を使う
データ
暗号
受信者の公開鍵
受信者の秘密鍵
暗号
データ
送信者
受信者
電子署名

自分の秘密鍵を使う
データ
暗号
送信者の秘密鍵
送信者の公開鍵
暗号
データ
送信者
受信者
簡単な公開鍵暗号の例

簡単のため,連続する整数を扱う




「2 3 4 5」を暗号にしなさい


b = a × r ( mod n ) r は公開鍵
a = b × s ( mod n ) s は秘密鍵
n = 17, r = 7 とする
公開鍵 r を使う
「5 15 8 1」を解読しなさい

秘密鍵 s は分からない
暗号と解読



暗号作成は簡単
暗号解読は難しい
実際の公開鍵暗号では,
r や s が数百桁の数(1000bit程度)を使う


解読には 10,000,000 MIPS・年程度必要
教室の端末は 500MIPS程度