情報セキュリティとPKI -...

26
マルチメディアシステム論 資料 2019.7 情報セキュリティとPKI 1

Transcript of 情報セキュリティとPKI -...

Page 1: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

マルチメディアシステム論 資料 2019.7

情報セキュリティとPKI

1

Page 2: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

機密性 Confidentiality 認可されていない個人や団体等,又はプロセスに対して,情報を使用不可又は非公開にする特性 例)通信路の暗号化

完全性 Integrity 資産の正確さ及び完全さを保護する特性 例)デジタル署名

可用性 Availability 認可された団体等が要求したときに,アクセス及び使用が可能である特性 例)システムの二重化,データのバックアップ

情報セキュリティの三大要素 C.I.A.

2

2

Page 3: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

3

• 「確実に当事者同士が通信している」ことが保証できること(認証と情報開示)

• 第三者に通信中の内容が漏れないこと(秘匿性)

• 通信で得られた内容が適切に管理されていることが明確であること(セキュリティ・ポリシ,プライバシ・ポリシ等)

セキュリティ確保のための基盤技術

3

Page 4: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

4

暗号(秘匿性)

平文 plain text

暗号文 cipher text

暗号化 encryption

複号(化) decryption

4

Page 5: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

5

• 対称(共通)鍵暗号:秘密鍵 (secret key) • 暗号化と復号化の鍵が同じ,または,片方の鍵から別の鍵が容易に推測可能

• 暗号化のコスト(計算時間等)が低い • 非対称(公開)鍵暗号:公開鍵 (public key)・私有鍵 (private key) • 片方の鍵を得ても別の鍵が推測困難 • 暗号化のコスト(計算時間等)が高い

暗号の種類

5

Page 6: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

6

• 秘密鍵を相手に渡すには別の経路が必要 • 複数人で秘密鍵を持ち合うのは困難 • 未知の人との通信が困難

対称(共通)鍵暗号

暗号文平文

秘密

暗号文 平文

秘密安心できない 通信路

安全な通信路

A B

秘密鍵 秘密鍵

6

Page 7: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

7

• 単換字暗号(シーザー暗号) • 一定のルールで別の文字に変換する • IBM → HAL (一文字手前の文字)

• ブロック暗号 • 固定長の文字をまとめて暗号化する • DES (Data Encryption Standard) • AES (Advanced Encryption Standard) • 他に3DES, AES, Blowfish, RC6など

対称(共通)鍵暗号の種類

7

Page 8: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

8

• ストリーム暗号 • ビットまたは複数ビットをまとめて、乱数系列を鍵として暗号化し、転送する

• 注意点 • 鍵を安全に共有することが困難

対称(共通)鍵暗号の種類

8

Page 9: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

9

• 花子は太郎に宛てた手紙を箱に入れ,自分の鍵をかけて太郎宛に送る。

• 太郎は箱は開けることはできないが,自分の鍵をさらにかけて,花子宛に送り返す。

• 二重に鍵をかけられた箱を受け取った花子は,自分の鍵を外し,太郎の鍵だけがかかった箱を送り返す。

• 太郎は自分の鍵で箱を開け,手紙を読む!

• 「暗号」でこの方法が使えないのはなぜ?

共通鍵を共有せずに安全に送る?

9

Page 10: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

10

• 鍵を共有する必要は無い • 公開鍵がわかれば未知の人と通信が可能 • 暗号化したのがA本人である保証は無い

非対称(公開)鍵暗号:秘匿性

暗号文平文

秘密

Bの公開鍵

暗号文 平文

秘密

Bの私有鍵

安心できない 通信路

鍵の共有は 不要

A B

10

Page 11: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

11

• W.Diffe, M.E.Hellman が方式を考案(1976) • RSA暗号(素因数分解問題)

• R.Rivest, A.Shamir, L.Adelmanの提案 • EIGamal暗号(離散対数問題) • 楕円曲線暗号(離散対数問題) • 特徴

• 素因数分解,離散対数,楕円曲線など,数論的構成要素を持つ

非対称(公開)鍵暗号の種類

11

Page 12: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

12

• 共通鍵暗号用に,秘密鍵を共有するためにも利用できる

公開鍵暗号:鍵確立

暗号化 した 秘密鍵

秘密鍵

秘密

Bの公開鍵

秘密

Bの私有鍵

安心できない 通信路

A B暗号化 した 秘密鍵

秘密鍵

12

Page 13: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

13

• 確かにAが送ったことがわかる • 送ったデータが正確に届いたことがわかる(データの完全性)

• 暗号化することも可

公開鍵暗号:デジタル署名

署名付 平文

平文

Aの私有鍵

署名付 平文

平文

Aの公開鍵

安心できない 通信路

鍵の共有は 不要A B秘密

13

Page 14: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

14

• 秘密鍵を作って暗号化する • 秘密鍵はAの私有鍵で署名,Bの公開鍵で暗号化する • BはBの私有鍵で秘密鍵を得て平文化

公開鍵暗号を使った通信例

暗号文平文

秘密

秘密鍵

安心できない 通信路

A B

Aの私有鍵

暗号化

署名 した 秘密鍵

署名暗号化 署名 した 秘密鍵

Bの公開鍵

暗号化

14

Page 15: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

15

• PKI : 「公開鍵認証基盤」 • 公開鍵暗号を使用することが有効であることはわかった

• ただし,公開鍵が正しく本人のものであることを保証する機能が必要になってくる

• この機能を実現するための仕組みが PKI

PKI (Public Key Infrastructure)

15

Page 16: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

16

• 認証 authetification 本人であること,正しいデータ源であることの保証

• 完全性 integrity 通信路で改竄されていないことの保証

• 秘匿性 confidentiality データのプライバシの保証

PKI のサービス(保証)

16

Page 17: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

17

• 認証機関 (CA: certification authority) • 公開鍵証明書

• 本人の名義+公開鍵に CA がデジタル署名したもの

• 使用者は CA を信頼することで成立 • 証明書リポジトリ

• 公開鍵証明書を参照できるDBサーバ

PKI を実現するための要素 (1)

17

Page 18: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

18

PKI の信頼モデル

CAの 自己署名証明書

BA

Aの署名文書Aの 公開鍵 証明書

CAAとBの信頼ポイント

Aの署名文書 Aの公開鍵 証明書

CAの自己署名 証明書

検証検証

18

Page 19: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

19

• 証明書の失効機能  名称変更,鍵の盗難,資格の停止等

• 私有鍵のバックアップ機能  鍵の紛失により復号できなくなる

• 自動更新機能  期限切れに対して自動的に更新する

• 鍵履歴管理機能  古い証明書で暗号化されたデータを検証するために必要

PKI を実現するための要素 (2)

19

Page 20: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

20

• 否認防止機能  悪用された証明によって,その他の証明が否定されないようにする

• クライアント・ソフトウェア  検証プロセスを自動的に実行する機能

• CA 間の相互認証 • 安全なタイムスタンプ機能  証明書の記録に必要

PKI を実現するための要素 (3)

20

Page 21: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

21

署名を検証する際は, CAの署名だけでなく,有効期間や拡張フィールド等の検証も必要 (過去に有効期間の検証を飛ばしてしまうバグのあるアプリケーションもあった)

証明書例 (X.509 v3)

証明書バージョン番号 証明書シリアル番号 デジタル署名アルゴリズム識別子 発行者名の識別名 有効期間 本人の識別名 本人の公開鍵  アルゴリズム識別子  公開鍵 v3 拡張部  拡張フィールド(タイプ,フラグ,値)  ... CA のデジタル署名  アルゴリズム識別子  署名

21

Page 22: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

22

SSL (Secure Socket Layer)

mycomputer.59304 -> wm.ipc.fukushima-u.ac.jp.HTTPS:wm.ipc.fukushima-u.ac.jp.HTTPS -> mycomputer.59304:mycomputer.59305 -> repo1.secomtrust.net.HTTP:repo1.secomtrust.net.HTTP -> mycomputer.59305mycomputer.59306 -> repo1.secomtrust.net.HTTP:repo1.secomtrust.net.HTTP -> mycomputer.59306:mycomputer.59304 -> wm.ipc.fukushima-u.ac.jp.HTTPS:

22

Page 23: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

23

層 層名 主要プロトコル 説明等 アドレス

7アプリケーション

httpsmtpdns

それぞれのアプリケーションごとの機能・アプリケーション特有の機能・データの表現方法など

「ドメイン名」

アプリケーションに依存するアドレス6

プレゼンテーション

5 セッション SSL アプリケーション間通信の暗号化など

4トランスポート TCP, UDP アプリケーション間の通信 ポート番号

3ネットワー

クIP

arp, icmp ネットワーク間の転送 IPアドレス

2データリン

ク ethernet ネットワーク内通信/MACプロトコル MACアドレス

1 物理 ethernet ケーブル,コネクタ,電気的特性など

23

Page 24: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

24

• TCP/IP 通信のソケットレベルで PKI を行う • https で使うサーバ証明書の作成手順 • サーバ用の公開鍵・私有鍵の作成 • 公開鍵をもとに証明書署名要求を作成 • CA に署名してもらう • 自己署名の場合は CA の公開鍵・私有鍵・自己証明書を作ってから署名

• 署名した証明書をサーバに設定

SSL (Secure Socket Layer)

24

Page 25: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

25

•「スタート」「名前を指定して実行」でcertmgr.msc

Windows 7,10 での証明書

25

Page 26: 情報セキュリティとPKI - 福島大学isl.sss.fukushima-u.ac.jp/~shinoda/jugyou/87126/2019/...PKI を実現するための要素 (3) 20 21 署名を検証する際 は, CAの署名だけ

26

•「アプリケーション」「ユーティリティ」「キーチェーンアクセス」

Mac OS X での証明書

26