33
PKI (Public Key Infrastructure) ととととと 2011 と 11 と 29 と ( と ) 1

PKI (Public Key Infrastructure) とクラウド

  • Upload
    melosa

  • View
    23

  • Download
    1

Embed Size (px)

DESCRIPTION

PKI (Public Key Infrastructure) とクラウド. 2011 年 11 月 29 日 ( 火 ). インターネット上の認証. 各種 Web サービス 買い物、銀行口座、 ホテル予約、講義登録、 etc. 計算機利用サービス 計算機センター、クラウド、グリッド、 etc. 求められるセキュリティの要件 本人であること 内容が不正に書き換えられていないこと 内容が他人に盗み見られないこと. 例) クラウド. インターネット上のサービスを、   今すぐ、   必要な量だけ、 利用するための環境を提供する - PowerPoint PPT Presentation

Citation preview

Page 1: PKI (Public Key Infrastructure) とクラウド

PKI (Public Key Infrastructure) とクラウド

2011 年 11 月 29 日 ( 火 )

1

Page 2: PKI (Public Key Infrastructure) とクラウド

インターネット上の認証 各種 Web サービス

買い物、銀行口座、ホテル予約、講義登録、 etc.

計算機利用サービス 計算機センター、クラウド、グリッド、 etc.

求められるセキュリティの要件 本人であること 内容が不正に書き換えられていないこと 内容が他人に盗み見られないこと

2

Page 3: PKI (Public Key Infrastructure) とクラウド

例) クラウド インターネット上のサービスを、

  今すぐ、  必要な量だけ、利用するための環境を提供する PaaS (Platform as a Service)

プラットフォーム(計算機そのもの)として提供 SaaS (Software as a Service)

ソフトウェアとして提供

クラウドの実用事例:  「エコポイント申請窓口サイトを1カ月で構築」

3http://www.publickey1.jp/blog/09/1.html

Page 4: PKI (Public Key Infrastructure) とクラウド

Amazon EC2 PaaS の代表的なサービスのひとつ

http://aw s.am azon.com /jp/ec2/

計算機、ハードディスク装置、ネットワーク回線について、必要な利用量と利用期間を指定して利用 提供された計算機の管理者として利用可能:

 ソフトウェアのインストール、ユーザ登録、等

利用した資源の量に応じた料金 4

Page 5: PKI (Public Key Infrastructure) とクラウド

Amazon EC2 のアカウント申請

メールアドレス、パスワードの登録

住所等の個人情報入力

本人確認

5

Page 6: PKI (Public Key Infrastructure) とクラウド

本人確認 電話番号を入力

電話がかかってくるので、画面に表示される数字を入力

6

Page 7: PKI (Public Key Infrastructure) とクラウド

Amazon EC2 の計算機利用 Web サイトにログイン

使う計算機の種類、量を指定 "Key Pair" の作成

7

Key Pair?Key Pair?

Page 8: PKI (Public Key Infrastructure) とクラウド

PKI (Public Key Infrastructure)

Key Pair ( 鍵の対 ) による暗号化技術「公開鍵暗号方式 (Public Key Cryptosystem) 」を用いたセキュリティ基盤技術 Key Pair: 公開鍵 + 秘密鍵

PKI の目的: 通信内容の暗号化 = のぞき見への対策 通信内容の保証 = 改ざんへの対策

8

Page 9: PKI (Public Key Infrastructure) とクラウド

暗号化 (encrypt) と復号 (decrypt) に同じ鍵を利用 例) シーザー暗号 (Caesar cipher)

実際は、もっと複雑で実用的なものを利用 DES, AES

安全に鍵の情報を教える手段が必要

従来の暗号化技術:共通鍵暗号(Symmetric Key Cryptosystem)

9

My name is James Bond.

Oa pcog ku Lcogu Dqpf.

encrypt decrypt

Page 10: PKI (Public Key Infrastructure) とクラウド

公開鍵暗号方式の概要 2個の鍵 (key1, key2) の片方を使って暗号

化、もう片方を使って復号

POINT: 暗号化に使った鍵では復号できない10

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...encrypt

(key1)decrypt(key2)

confidential confidential

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...encrypt

(key2)decrypt(key1)

confidential confidential

Page 11: PKI (Public Key Infrastructure) とクラウド

公開鍵 (Public Key) と 秘密鍵 (Private Key)

Key Pair の片方を「公開鍵」として、送信相手に渡す 公開鍵が盗み見られても問題ない

もう片方は「秘密鍵」として、誰にも見せない

11

Page 12: PKI (Public Key Infrastructure) とクラウド

例1) 通信内容の暗号化 user A から user B に送信するメールを暗

号化 user A: user B の公開鍵を使って暗号化 user B: user B の秘密鍵を使って復号

user B の秘密鍵が無ければ覗き見できない

12

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...encrypt

(user B's public key)decrypt(user B's private key)

confidential confidential

user A user B

need user B's private keyto decrypt

interceptintercept

Page 13: PKI (Public Key Infrastructure) とクラウド

例2) 通信内容の保証 user A の送信した内容が改ざんされてい

ないことを保証する 秘密鍵で暗号化したものを、本文と一緒に送付

13

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...

encrypt(user A's private key)

decrypt(user A's public key)

user A user B

..........

...........

... . ... .. ...... ... ....... .. . . .... ........ ...

compare

Page 14: PKI (Public Key Infrastructure) とクラウド

両方式の比較 共通鍵暗号方式:

共通鍵を渡す方法が問題 公開鍵暗号方式:

鍵の暗号化に要する時間が問題 (共通鍵暗号方式の数百倍~数千倍)= 大メッセージの暗号化には不適

両方式の併用 公開鍵暗号方式で、共通鍵を送付 共通鍵暗号方式で、本文を送付

14

Page 15: PKI (Public Key Infrastructure) とクラウド

公開鍵暗号方式のもう一つの問題: 本当に本人の公開鍵か?

他人による「なりすまし」(impersonation) の防止

公開鍵と本人の関係を保証する仕組みが必要 ⇒ 証明書 (Certificate)

15

Page 16: PKI (Public Key Infrastructure) とクラウド

一般的な証明書の例: パスポート 国 (外務省) が本人であることを

保証

発行時に、本人であることを十分確認 写真付きの証明書(運転免許等) 1点 もしくは、写真の無いもの 2点以上

保険証、印鑑登録等 社員証や学生証は、写真付きでも別途

16

Page 17: PKI (Public Key Infrastructure) とクラウド

X.509 証明書 PKI で定められたフォーマットによる証明書

「秘密鍵の所有者」と「その秘密鍵に対応する公開鍵」の関係を保証する。

発行機関:  CA (Certification Authority) 本人確認機関:  RA(Registration Authority)

インターネット上で利用できる電子情報で発行

17

Page 18: PKI (Public Key Infrastructure) とクラウド

CA (Certification Authority) 証明書の発行機関

private key の所有者と public key の関係を保証 . 電子署名( digital signature ) を添付 .

どの CA を信用するかは、計算機毎に設定可能

18

server A

CA1, CA2 を信用

server B

CA2 を信用

certificate

発行機関 : CA1

Page 19: PKI (Public Key Infrastructure) とクラウド

RA (Registration Authority) PKI において ,本人確認を行う機関 .

通常 ,利用者に近い場所に設置 本人確認の手段:

身分証明書(運転免許 ,パスポート等) + 対面 遠い場合は電子メール等

確認できたら , 発行機関に証明書発行依頼 本人確認は時間がかかるので大きな組織では発行機関と別に用意

必要に応じて複数 例) 各学部に RA を設置し , 大学事務局で認証書発行

小さな組織では発行機関が RA を兼務19

Page 20: PKI (Public Key Infrastructure) とクラウド

X.509 証明書の例Certificate: Data: Version: 3 (0x2) Serial Number: c1:73:39:44:df Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Amazon.com, OU=AWS, CN=AWS Limited-Assurance CA Validity Not Before: Oct 28 02:14:23 2010 GMT Not After : Oct 28 02:14:23 2011 GMT Subject: C=US, O=Amazon.com, OU=AWS-Developers, CN=1mpq368escdn Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:97:98:59:69:08:56:5c:48:4f:e6:fd:9f:ff:c7:

...

Signature Algorithm: sha1WithRSAEncryption 90:f8:78:c9:1e:0b:a7:40:96:54:62:4f:37:b7:2e:7c:fb:2c:

CA

有効期間

public key

CA の電子署名

20

Distinguished Name

(識別名 )

Page 21: PKI (Public Key Infrastructure) とクラウド

識別名 (Distinguished Name)

PKI 上で個人(や特定の計算機など)を識別するための名前 通常 , いくつかの情報の組み合わせで構成

country locality organization section common name(固有名詞 ) E-mail アドレス

一つの CA 内で重複しない . 証明書は、この個人と公開鍵の関係を保証する

21

Page 22: PKI (Public Key Infrastructure) とクラウド

電子署名 (Digital Signature)

証明書の要約 (digest) を CA の秘密鍵で暗号化したもの 証明書に添付して、証明書の内容を保証

22

CA's private key

encrypt

CA

.........

......

............

.........

...........

.......

............

CA's public key

.........

......

.........

......

user

comparedigest

User's public key + DNcertificate............

.........

...........

.......

............

deliver send

秘...................................................

decrypt

digest

server

秘...................................................

certificate

Page 23: PKI (Public Key Infrastructure) とクラウド

要約 (digest) 長いメッセージから固定バイト長 (20byte程度 ) の

digest を作成. 公開鍵暗号化の時間を短縮

悪質な書き換えの防止 同じ digest が生成されるようにメッセージを書き換え

ることが出来ると電子署名としての信頼性が維持できない

特殊な関数を利用: MD5, SHA1, etc. digest から元の文への復元は不可能 元の文が 1bit でも違うと digest が大きく変化

23

Page 24: PKI (Public Key Infrastructure) とクラウド

証明書発行の流れuser RA CA

key pair 作成private key

public key

証明書発行申請public key

distinguished name

JP, Kyushu Univ., ... Takeshi Nanri

本人確認

証明書発行依頼public key

distinguished name

重複確認

電子署名作成

証明書発行

digital signature

public key

distinguished name

CA, validity

OK

OK

24

証明書取得

Page 25: PKI (Public Key Infrastructure) とクラウド

サーバーによる利用者の認証 証明書の公開鍵を用いて認証

25

user'sprivate key

encrypt

user server

.........

......

user'spublic key

decrypt...............

.........

......

random message

compare

Page 26: PKI (Public Key Infrastructure) とクラウド

利用者によるサーバの認証 サーバの「成りすまし」 (impersonation)防止

26

server'sprivate key

encrypt

user server

.........

......

server'spublic key

decrypt...............

.........

......

compare

random message

Page 27: PKI (Public Key Infrastructure) とクラウド

秘密鍵の暗号化 PKI では、秘密鍵が他人に見られないことが重要 パソコンが盗まれる サーバの管理者が悪意で秘密鍵を見る

秘密鍵を、さらに暗号化可能 パスフレーズ(=パスワード)による暗号化 秘密鍵を参照するたびにパスフレーズ入力

27

Page 28: PKI (Public Key Infrastructure) とクラウド

SSO(Single Sign-On) 技術 一度の認証で、以降の認証を自動化

秘密鍵のパスフレーズ入力を省略

複数のサーバによるサービスの利用に有効

どうやって?

28

Page 29: PKI (Public Key Infrastructure) とクラウド

代理人 (Proxy) による SSO 一時的に利用可能な公開鍵と秘密鍵を持った

代理人を作成. 一般に短時間( 12時間程度)有効. 利用者の電子署名で,代理人であることを保証.

有効時間が比較的短いため,秘密鍵を暗号化する必要なし.→ 認証の度にパスフレーズを入力しなくて良い

29

Page 30: PKI (Public Key Infrastructure) とクラウド

Proxy の作成 短期間利用可能な Key Pair を作成.

それらを元に証明書を作成. 証明書に自分の秘密鍵で電子署名.

 ⇒ 一度だけパスワードの入力が必要.

30

private key

public key

名前発行機関 etc.

public key電子署名

certificate一時的に作成

digest,利用者の秘密鍵で暗号化

Page 31: PKI (Public Key Infrastructure) とクラウド

Proxy 証明書の例Certificate: Data: ... Issuer: O=Grid, O=Globus, OU=cc.kyushu-u.ac.jp, CN=Takeshi Nanri Validity Not Before: Dec 1 04:42:12 2002 GMT Not After : Dec 1 16:47:12 2002 GMT Subject: O=Grid, O=Globus, OU=cc.kyushu-u.ac.jp, CN=Takeshi Nanri, CN=proxy Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (512 bit) Modulus (512 bit): 00:ac:f1:8f:81:98:04:ef:da:6a:a1:53:4e:53:ea: ... 4e:1b:4b:7f:e7 Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 18:7a:a4:9c:7c:50:89:9f:97:e5:55:8b:aa:2a:a2:ae:f7:a3: ... b4:23

CA = user

validity = 12h

proxy's DN

temporal public key

user's digital signature

31

Page 32: PKI (Public Key Infrastructure) とクラウド

Proxy による認証 2 つの証明書を利用

利用者の証明書 proxy の証明書

proxy が正規の代理人であることを確認 CA の公開鍵でユーザの証明書の電子署名

を確認 ユーザの証明書に含まれる本人の公開鍵で

proxy の証明書の電子署名を確認 32

Page 33: PKI (Public Key Infrastructure) とクラウド

まとめ インターネット上の認証技術

公開鍵暗号方式 X.509 証明書 電子署名 Proxy

33