Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PKIの説明など

 PKIの説明など

公開鍵基盤(PKI)やそれにまつわるタームについての説明

Takahiro Hirata

August 27, 2021
Tweet

More Decks by Takahiro Hirata

Other Decks in Programming

Transcript

  1. 自己紹介
 名前: 平田 恭嘉 (ヒラタ タカヒロ) 
 HN: たーくん/checche/ちぇちぇ 


    所属: 株式会社オプト AIソリューション開発部 20新卒 
 最近の仕事: ディスプレイ広告の効果予測(深層学習など) 
 領域準MVPを頂きました 
 最近の技術スタック: 
 Data science: PyTorch, 機械学習>ベイズ, 画像系 
 Backend: Django, FastAPI, apollo-server(GraphQL) 
 Frontend: Vue.js 
 Infra: AWSいろいろ 
 Times: #times_checche 
 Like: 音楽(鑑賞/演奏), 服, ビール, 漫画 
 株式会社Digeon:
 製品開発(AI/Web), 受託, 教育事業など 
 副業メンバー超募集中 (Python,Go,Vue,ML,DS,etc) 

  2. 情報セキュリティの概要
 ♯ 情報セキュリティとは 
 情報セキュリティは、情報セキュリティマネジメントシステム(ISMS)に関する国際規格ISO/IEC 27000と、その国内規格 化であるJIS Q 27000で次のように定義されている。
 「情報の機密性、完全性及び可用性を維持すること。注記

    さらに、真正性、責任追跡性、否認防止、信頼性などの特 性を維持することを含めることもある。」
 ♯ 物理的セキュリティと論理的セキュリティ 
 ﹣ 物理的セキュリティ
 物理的セキュリティとは建物や設備などを対象とした物理的なセキュリティのこと。
 例: 耐震設備、電源設備、入退室管理設備、ケーブル類の物理的保護
 ﹣ 論理的セキュリティ
 論理的セキュリティとは物理的セキュリティ以外のすべてのセキュリティ対策のことです。さらに3つに分類する ことができる。
 https://www.kikakurui.com/q/Q27000-2019-01.html 

  3. 情報セキュリティの3つの特性
 注) エンティティとは、物質的な実体に限らず実存する概念という意味である。 
 情報セキュリティの文脈においては、情報を使用する組織及び人、情報を扱う設備、ソフトウェア及び物理的媒体などを意味します。 
 ♯ 機密性 (Confidentiality) 


    「認可されていない個人,エンティティ又はプロセスに対して,情報を使用させず,また,開示しない特性。」 
 つまり、権限をもったものだけが許可された範囲内で活動できるようにする特性です。 
 確保方法: アクセス制御、認証、暗号化 
 ♯ 完全性 (Integrity) 
 「正確さ及び完全さの特性。」 
 つまり、処理結果に欠落や改ざんなどが発生しないようにする特性です。 
 確保方法: ハッシュ関数やディジタル署名 
 ♯ 可用性 (Availability) 
 「認可されたエンティティが要求したときに,アクセス及び使用が可能である特性。」 
 つまり、必要なときに正常なサービスを提供できる状態を維持する特性です。 
 確保方法: 冗長化、十分なリソースの確保、バックアップ 

  4. 付加的な4つの特性
 ♯ 真正性 (Authenticity) 
 「エンティティは,それが主張するとおりのものであるという特性。」
 確保方法: 本人であることを識別/認証する。
 ♯ 責任追跡性

    (Accountability) 
 動作内容を一意に追跡できることを確実にする特性です。
 確保方法: エンティティを一意に識別できるように、IDなどを設けて、そしてログを取る。
 ♯ 否認防止 (Non-Repudiation) 
 「主張された事象又は処置の発生,及びそれらを引き起こしたエンティティを証明する能力。」
 つまり、事象を否定されないように証明できることです。
 確保方法: ディジタル署名、タイムスタンプ
 ♯ 信頼性 (Reliability)
 「意図する行動と結果とが一貫しているという特性。」
 つまり、処理結果に期待された効果との整合が取れていることを確実にする特性です。
 確保方法: 保守点検、バグや脆弱性への対処

  5. 共通鍵暗号
 ♯ 概要
 共通鍵暗号(common key cryptosystem)
 対称鍵暗号(symmetric key encryption)
 などの呼び方がある。


    暗号化(Encryption)と復号化(Decryption)に同じ鍵(共通鍵)を 使用する。
 暗号化/復号化を同じエンティティが行う場合などに使う。
 ♯ デメリット
 中間者攻撃(man-in-the-middle attack)を受けやすい
 (鍵配送問題)
 あるコンテンツを10人に送りたいとき10人分の共通鍵を用意 し、10人分の暗号化が必要
 10人が相互に通信する場合45個用意する。
 https://www.anoopcnair.com/pki-basics-intune-pki-made-e asy-with-joy-1/ 

  6. 中間者攻撃
 ♯ 中間者攻撃(man-in-the-middle attack; MITM) 
 通信途中に割り込み、通信内容の盗聴や改ざんを行う攻撃
 対策するには、何らかの方法で公開鍵(共通鍵)の完全性を保証しなければならない。
 Aさん
 Bさん


    Cさん
 暗号化して安全に通信しているつもり 
 ③C-B共通鍵をおくる 
 ①Cが妨害
 ⑤C-B鍵で暗号化したデータ 
 ④Cが妨害
 ②A-B共通鍵をもらう 
 ⑦A-B鍵で暗号化したデー タ
 ⑥復号化しデータの盗聴/改ざんを 行う

  7. 公開鍵暗号
 ♯ 概要
 公開鍵暗号(Public-key cryptography)
 非対称鍵暗号(Asymmetric Key Encryption)
 などの呼び方がある。
 エンティティごとにキーペアを作成し、公開鍵を暗号化、秘密

    鍵を復号化に用いる。
 まず、公開鍵は全エンティティ間で共有する。
 送信するエンティティは、送信先のエンティティに対応した公 開鍵で暗号化し、受信したエンティティは自身の秘密鍵で復 号化する。
 ♯ 秘密鍵は外部に公開しないため受信者以外が復 号化することは困難 
 https://www.anoopcnair.com/pki-basics-intune-pki-made-e asy-with-joy-1/ 

  8. ディジタル署名
 ♯ 概要
 あるデータをハッシュ化し、秘密鍵で暗号化したもの。
 送信側エンティティは自身の秘密鍵で署名する。
 秘密鍵は送信者しか持っていないため、これで発信元の信頼性が証明 される。
 ♯ 送信者
 ﹣

    1. データのハッシュ値を計算
 ﹣ 2. ハッシュを秘密鍵で暗号化し、それを署名とする。
 ﹣ 3. 署名とデータを送る
 ♯ 受信者
 ﹣ 1. 送信者の公開鍵で署名を復号化し、ハッシュ値を取得
 ﹣ 2. 受信データのハッシュ値を計算
 ﹣ 3. 1と2が同じであれば真正性が証明される。
 https://www.ipa.go.jp/security/pki/024.html 

  9. ディジタル署名と暗号化の組み合わせ
 ♯ データを受信者の公開鍵で暗号化したうえで、それに対しデジタル署名を行うという感じ。 
 ﹣ 1. データを送信先(受信者)の公開鍵で暗号化 (公開鍵暗号方式)
 ﹣ 2.

    暗号化されたデータのハッシュ値の計算 (デジタル署名)
 ﹣ 3. 2を送信者の秘密鍵で暗号化し、それを署名とする。 (デジタル署名)
 ﹣ 4. 署名と1で暗号化されたデータを送る。
 ﹣ 5. 送信者の公開鍵で署名を復号化し、ハッシュ値を取得 (デジタル署名)
 ﹣ 6. 暗号化されたデータのハッシュ値を計算 (デジタル署名)
 ﹣ 7. 5と6が同じであれば真正性が証明される。 (デジタル署名)
 ﹣ 8. データを秘密鍵で復号化し、データを得る。 (公開鍵暗号方式)
 暗号化され たメッセージ
 暗号化され たメッセージ
 暗号化され たメッセージ
 暗号化され たメッセージ
 メッセージ メッセージ
  10. 公開鍵基盤
 ♯ 公開鍵基盤(Public Key Infrastructure; PKI) 
 公開鍵と秘密鍵は誰でも生成可能である。
 したがって、公開鍵暗号技術による認証や署名において、鍵の正当性が保証されていることが重要。
 鍵の正当性は心の所有者であることが適切に証明できている状況をいう。


    これを実現するために、第三者(CA)が署名して発行するディジタル証明書が用いられている。
 PKIはディジタル証明書と、それを発行/管理する機関であるCAによって築かれる相互認証の基盤である。