37
2019/6/18 1 情報社会とセキュリティ(第9回) 産業技術科学科 多田 知正 [email protected]

情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 1

情報社会とセキュリティ(第9回)

産業技術科学科

多田 知正

[email protected]

Page 2: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 2

今日の内容

◼ 暗号化を用いた技術

◼ SSL

◼ S/MIME

Page 3: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 3

SSLとは

インターネット上で情報を暗号化して通信するためのプロトコル

Ethernetなど

IP

TCP/UDP

SSL

HTTP FTP TELNET

Ethernetなど

IP

TCP/UDP

HTTP FTP TELNET

Secure Socket Layerの略

Page 4: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 4

SSLの利用

https:で始まるURL

鍵マーク

Page 5: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 5

共通鍵暗号による通信

SSLでは,共通鍵暗号を用いて通信を行う

公開鍵暗号は処理に時間がかかる

どうやって安全に鍵を渡すか

Page 6: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 6

SSLのしくみ

クライアントがサーバに要求を送信する

秘密鍵

通信するから鍵をくれ

Page 7: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 7

SSLのしくみ

サーバはクライアントに証明書付きの鍵(サーバ証明書)を送る

A社の公開鍵であることを証明します

認証

局印

秘密鍵

Page 8: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 8

SSLのしくみ

クライアントはサーバの証明書をチェックする

A社の公開鍵であることを証明します

認証

局印

本物?秘密鍵

Page 9: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 9

SSLのしくみ

本物であることが確認されたら,クライアントはサーバの公開鍵を用いて,通信に用いる共通鍵(セッション鍵)を暗号化

A社の公開鍵であることを証明します

認証

局印

2kwh91jH8J53j (h1k&914h ^&*^秘密鍵

Page 10: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 10

SSLのしくみ

クライアントは暗号化したセッション鍵をサーバに送る

2kwh91jH8J53j (h1k&914h ^&*^

セッション鍵 秘密鍵

Page 11: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 11

SSLのしくみ

サーバは受け取ったデータを自分の秘密鍵で復号→セッション鍵を得る

セッション鍵

2kwh91jH8J53j (h1k&914h ^&*^

秘密鍵

Page 12: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 12

SSLのしくみ

共通のセッション鍵を用いて暗号化通信を行う

セッション鍵

Page 13: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

実は

2019/6/18 13

今の説明はちょっと省略している部分があります

Page 14: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

暗号化と圧縮

2019/6/18 14

SSLでは暗号化とともに圧縮もやっている

複数の暗号化手法

複数の圧縮手法 を利用できる

クライアントとサーバの間でどの手法を用いるか合意をとる必要がある

Page 15: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

共通鍵は送らない

2019/6/18 15

通信に使う共通鍵は,実際にはネットワーク上を流れることはない

Page 16: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 16

SSLのしくみ

クライアントがサーバに要求を送信する際に

秘密鍵

通信するから鍵をくれ

利用可能な暗号化手法と圧縮手法の一覧クライアントで適当(ランダム)に作った数を一緒に送信する

暗号化メニュー手法A手法B圧縮メニュー手法X手法Y

176389

176389

作った数は覚えておく

Page 17: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 17

SSLのしくみ

サーバはクライアントに証明書付きの鍵(サーバ証明書)を送る

A社の公開鍵であることを証明します

認証

局印

秘密鍵

834762

176389

暗号化手法と圧縮手法サーバ側でランダムに作った数を一緒に送信する

834762

受信した数と今作った数を覚えておく

176389

暗号化は手法A圧縮は手法Xで行きましょう

Page 18: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 18

SSLのしくみ

クライアントはサーバの証明書をチェックする

A社の公開鍵であることを証明します

認証

局印

本物?秘密鍵

834762

176389

176389

834762

Page 19: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 19

SSLのしくみ

本物であることが確認されたら,クライアントはサーバの公開鍵を用いて,ランダムに作った別の数を暗号化

A社の公開鍵であることを証明します

認証

局印

2kwh91jH8J53j (h1k&914h ^&*^秘密鍵

755398

834762

176389

176389

834762

Page 20: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 20

SSLのしくみ

クライアントは暗号化した数をサーバに送る

2kwh91jH8J53j (h1k&914h ^&*^

秘密鍵

755398

834762

176389

176389

834762

Page 21: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 21

SSLのしくみ

サーバは受け取ったデータを自分の秘密鍵で復号→もとの数を得る

2kwh91jH8J53j (h1k&914h ^&*^

秘密鍵

755398

834762

176389

176389

834762

755398

Page 22: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 22

SSLのしくみ

•クライアントが最初に送った数•サーバが送った数•クライアントが後で送った数

セッション鍵

755398

176389 834762

サーバ,クライアント両方で

をもとに通信に用いる共通鍵(セッション鍵)を作成

Page 23: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 23

SSLのしくみ

共通のセッション鍵を用いて暗号化通信を行う

セッション鍵

Page 24: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 24

S/MIME

電子メールの暗号化方式の標準

PKIのしくみを利用している

暗号化

電子署名

特に目新しい話はありません...

Secure MIMEの略

Page 25: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 25

余談:MIMEとは

Multipurpose Internet Mail Extensionsの略

電子メールで各国語や画像,音声などを扱うための規格

そもそもなぜこんなものが必要なのか?

そこにはインターネットと電子メールの長い歴史がある

Page 26: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 26

電子メールは英語だけ?

電子メールはもともと英語の文章をやりとりすることを前提としていた

電子メールシステムは英語の文字しか扱うことができない

Page 27: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 27

ASCIIコード

アルファベットといくつかの記号(コンマ,ピリオドなど)と制御文字(スペース,タブなど)に0から127の数字が割り当てられている

7ビット(7つの0と1)で表される

英語の文章は7ビットの列で表される

1100001 1100010 1100011

“abc”

01100001 01100010 01100011

8ビット単位で送る場合は

Page 28: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 28

メールに歴史あり

01100001 01100010 01100011

8ビット単位で送る場合

最上位ビットは無視

昔のインターネットには7ビット単位で情報を送っていたネットワークが含まれていた

電子メールでは「7ビット単位で情報を転送する」と決められた

英語の文章だけを送ることを想定して作られたネットワーク

Page 29: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 29

メールサーバのふるまい

11100001 11100010 11100011

abcだな

01100001 01100010 01100011

たとえ8ビット単位でデータが送られてきても

8ビットの最上位ビットがきちんと転送されない→下位7ビットだけで情報をやりとりする必要がある

Page 30: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 30

日本語メールの文字コード

日本語にはいくつかの文字コードがあるが7ビットの列で表されるコードはただ1つ

ISO-2022-JP

インターネットメールで日本語を使う場合はこのコードを使うよう決められている

ほとんどJISコードと同じ

唯一の違いは「半角カナ」を含まないこと

Page 31: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 31

半角カナが嫌われる理由

半角カナは「禁断の8ビット目」を利用しているため,ISO-2022-JPからは除外されている

半角カナの入ったメールは文字化けすることが多い

ハンカクカナムカツク!

半角カナの入ったメールをどう処理するかはソフトによってばらばら

Page 32: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 32

文字以外のデータ

そんなわけで,電子メールでは8ビットの最上位ビットをきちんと転送しない

画像

音声

他の文字コードの日本語(Shift-JIS,EUCなど)

これらのデータは本来電子メールでは送れない

Page 33: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 33

MIMEの働き

MIMEは,これらのデータをメールでやりとりできるように,変換,復元するためのしくみ

情報を7ビットの列として表す

実際には8ビット単位(最上位ビットは0)で送る

ファイルのサイズが大きくなる→メールの添付ファイルで送るのはそもそも効率が悪い

Page 34: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 34

MIMEで変換されたデータ

Content-Type: application/pdf; name="=?iso-2022-jp?B?GyRCO3Y2SEZiRGo9cRsoQi5wZGY=?="Content-Transfer-Encoding: base64Content-Disposition: attachment; filename="=?iso-2022-jp?B?GyRCO3Y2SEZiRGo9cRsoQi5wZGY=?="

JVBERi0xLjQKJRamipIKNCAwIG9iago8PC9UeXBlL1hPYmplY3QKL1N1YnR5cGUvSW1hZ2UKL1dpZHRoIDE2NTYKL0hlaWdodCAyMzM5Ci9CaXRzUGVyQ29tcG9uZW50IDEKL0NvbG9yU3BhY2UvRGV2aWNlR3JheQovRmlsdGVyIC9DQ0lUVEZheERlY29kZQovRGVjb2RlUGFybXMgPDwvQ29sdW1ucyAxNjU2IC9Sb3dzIDIzMzk+PgovTGVuZ3RoIDQ0NDM1Cj4+CnN0cmVhbQoAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sgAppZABTSyACmlkAFNLIAKaWQAU0sg

すべてASCII文字からなるのが特徴

Page 35: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 35

まとめ

◼ 暗号化を用いた技術

◼ SSL

◼ S/MIME

Page 36: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

参考(?)リンク

2019/6/18 36

http://www.atmarkit.co.jp/fnetwork/rensai/cell02/ssl3.html

http://www.ipa.go.jp/security/pki/071.html

Page 37: 情報社会とセキュリティ(第 回)teched.kyokyo-u.ac.jp/~htada/class/security/security2019-9.pdf · 暗号化と圧縮 2019/6/18 14 sslでは暗号化とともに圧縮もやっている

2019/6/18 37

おまけ

◼ 実際にパケットが暗号化される様子を見てみよう