🌟

情報セキュリティマネジメント試験ノート~(二)暗号と認証

2022/02/04に公開

暗号とは

  • 暗号:情報の機密性を維持するために、暗号は昔から使われてきた
    • 平文:暗号されていないデータ
    • 暗号化:平文から暗号文を作ること
    • 暗号文:文章でなくデータ(暗号されたデータ)
    • 暗号アルゴリズム:平文から暗号文を作るための法則
    • 鍵:暗号アルゴリズムを使用し、平文が変化するなどの量
    • 復号:暗号文を平文に戻すこと
  • 危殆化:コンピューターの性能向上に伴って、高速に短時間で快特作業ができるようになるため、暗号の安全性が低下すること(暗号技術の期限切れのようなもの)
  • CRTPTREC暗号リスト:総務省と経済産業省が安全性を認めた暗号技術のリスト
  • 暗号方式と暗号技術使用の判断
    • 暗号方式の観点:
      • 処理速度:暗号化と復号化にかかる処理時間・速度
      • 鍵の数:暗号化と復号化する際に必要な鍵の数(暗号文をやりとりする対象者が増えるとともに、鍵の数が増える)
      • 鍵の配布方法:相手に復号鍵を渡す経路・方法
    • 暗号技術の観点:
      • 暗号アルゴリズム:暗号化と復号化にかかる処理時間・CPUの負荷
      • 鍵の長さ:長ければ長いほど、暗号強度が高まり解読されにくくなる一方、処理速度が落ちる
      • 危殆化:PCの処理速度の向上により、暗号解読の時間が減り、安全性が低下する

共通鍵暗号方式

  • 共通鍵暗号方式:暗号化と復号化で同じ鍵(共通鍵)を使う暗号方式
    • 処理速度が速い
    • 共通鍵暗号方式を使った暗号化機能が付いてるソフトが多いので、手軽に使える
    • 鍵の配布に手間がかかる
  • 共通鍵の管理:必要な鍵の数が多くなる(n人にn(n-1)/2個の鍵を用意し、受け渡しする必要がある)

共通鍵暗号方式の代表的な暗号技術:

  • DES(Data Encryption Standard):
    • 鍵の長さは56ビット、NISTがアメリカ標準暗号化方式として制定したが、解読可能性がある理由で危殆化した
  • AES(Advanced Encryption Standard):
    • 鍵の長さは128・192・256ビットから選べる。NISTがアメリカ標準暗号方式として制定した。DESの危殆化に伴い、後継の暗号技術を一般公募し、安全面と実装面でもっとも優れた暗号技術が採用され、AESと名つけられた

公開鍵暗号方式

  • 公開鍵暗号方式:暗号化と復号で、別々の鍵(公開鍵と秘密鍵)を使う暗号方式
    • 一人つき、ペアである二つの鍵(公開鍵と秘密鍵)を使う
    • 公開鍵は不特定多数の利用者に公開し、秘密鍵は誰でも知らせない
    • 公開鍵を使って、平文を暗号した暗号文は、ペアである秘密鍵でしか復号できない。これを暗号化で使う
    • 秘密鍵を使って、平文を暗号化した暗号文は、ペアである公開鍵でしか復号できない。これをディジタル署名で使う
    • 暗号化手順:
      1. 送信者は事前に受信者の公開鍵を取得する(受け渡しの方法には、PGP(当事者の間で直接行う方法)やPKI(公開鍵の受け渡しを第三者の期間のPKIの認証局を経由して行う方法)がある)
      2. 送信者が受信者の公開鍵で、平文を暗号し、暗号文を受信者に送る
      3. 受信者は受信者の秘密鍵で、暗号文を復号し、平文を取り出す
    • 暗号化で確かめられること:盗聴なし
    • 公開鍵暗号方式の特徴
      • 共通鍵暗号方式に比べ、処理時間がかかる
      • 公開鍵・秘密鍵の環境構築に手間や費用がかかる
  • 公開鍵の管理:n人に対し、公開鍵と秘密鍵の必要な数は2n個になる
  • RSA:公開鍵暗号方式の代表的な暗号技術。非常に大きな数の素因数分解が困難なことを利用していて、世界中で広く使われている暗号技術

ハイブリッド暗号

  • 暗号方式
    • 共通鍵暗号方式
      • 処理速度が速い
      • 人数が多い場合、必要な鍵の数が多くなる
      • 合計n人が利用する場合の鍵の数:n(n-1)/2
      • 鍵の配布が手間
      • 鍵の配布方法:電話やメール、手紙など
      • 手軽で少人数で利用に向く
    • 公開鍵暗号方式
      • 処理速度が遅い
      • 人数が多くても、1人につき2つだけ鍵が要る
      • 鍵の配布が容易
      • 鍵の配布:PGP・PKI
      • 環境構築に手間かかる・多人数の利用にむく
  • ハイブリッド暗号:公開鍵暗号方式の短所を、共通鍵暗号方式と組み合わせることで補う暗号方式
    • 手順:
      1. 送信者は平文を共通鍵を使って暗号化し、暗号文を作る。なお、共通鍵は自動的に生成したものを使う
      2. 送信者は、その共通鍵事態を平文にし、受信者の公開鍵で暗号化し、暗号化した共通鍵を作る
      3. 送信者は1の暗号文と2の暗号した共通鍵を受信者に送る
      4. 受信者は受信者の秘密鍵で2の暗号化した共通鍵を復号し、共通鍵を取り出す
      5. 受信者は、4の共通鍵を使って、1の暗号文を復号し、平文を取り出す
    • 特徴
      • 共通鍵暗号方式の処理速度が速いことを活かしつつ、短所の鍵の配布が手間を穴埋めする
      • 公開鍵暗号方式の鍵の配布が容易を活化しつつ、短所の処理速度が遅い穴を埋める

ディジタル署名

  • ハッシュ関数:改ざんなしを確かめるために使う計算方法。ディジタル署名の中でよく使われる
    • ハッシュ化:平文をハッシュ関数で計算し、メッセージダイジェストを作ること
    • 異なる平文から同一のダイジェストになることは、計算上あり得ない
    • 平文からダイジェストが作れるが、逆は作れない。これを一方向性や不可逆性と表現する
    • ダイジェストにより、ファイルの内容を見比べなくても、内容が同じだと確認できる
    • ダイジェストは平文のファイルサイズに関わらず、一定のサイズになる
    • ハッシュ関数の手順:
      1. 送信者は平文をハッシュ化し、送信者のダイジェストを作る
      2. 送信者は平文と送信者のダイジェストを受信者に送る
      3. 受信者は受信した平文をハッシュ化し、受信者のダイジェストを作る
      4. 受信者は、2の送信者のダイジェストと3の受信者のダイジェストを比較し、同一であれば、改ざんなしを確認できる
    • 代表的なハッシュ関数
      • MD5:平文から128ビットのダイジェストを作るハッシュ関数。広く使われている一方、脆弱性が見つかっており、危殆化している
      • SHA-1:平文から160ビットのダイジェストを作るハッシュ関数。深刻ではないが、脆弱性が指摘されている
      • SHA-256 :平文から256ビットのダイジェストを作る関数。上記2種類よりも安全とされている
  • パスワード管理:ハッシュ関数は、パスワード管理にも使われる。パスワードの盗聴は防止できる
  • ディジタル署名:公開鍵暗号方式の暗号化と逆の手順で、なりすましと改ざんはなしを確認できる
    • 手順:
      1. 送信者は平文をハッシュ化し、送信者のダイジェストを作る
      2. 送信者は送信者のダイジェスト自体を平文として送信者の秘密鍵を使って、暗号化し暗号ダイジェストを作る
      3. 送信者は1の平文と2の暗号ダイジェストを受信者に送る
      4. 受信者は送信者の公開鍵を使って2の暗号ダイジェストを復号し、送信者のダイジェストを取り出す
      5. 受信者は受信した1の平文をハッシュ化し、受信者のダイジェストを作る
      6. 受信者は4の送信者のダイジェストと5の受信者のダイジェストを比較し、同一であれば、なりすましなしと改ざんなしを確認できる
    • 確かめること
      • 暗号化により、盗聴なしを確認でき、機密性を維持する
      • ディジタル署名により、なりすましなしと改ざんなしを確認でき、真正性と完全性を維持する
  • ディジタル署名と暗号化:ディジタル署名により、なりすましと改ざんなしを確認できるが、盗聴なしは確認できない。そのため、暗号化と組み合わせて使う

公開鍵基盤

  • PKI:なりすましなしで、確実に本人の公開鍵であると認証する仕組み
    • ディジタル証明書:公開鍵基盤(PKI)において、公開鍵が入ったディジタル証明書
    • 認証局:PKIにおいて、ディジタル証明書・CRLを発行する機関(信頼のある第三機関)
    • CRL(Certificate Revocation List):有効期限内にも関わらず、失効したディジタル証明書の一覧
    • ディジタル証明書の手順
      1. 送信者は公開鍵と秘密鍵を作成し、認証局に公開鍵が入ったディジタル署名と身分証明書を提出し登録申請する
      2. 認証局は内容を承認し、提出されたディジタル署名を入れたディジタル証明書を発行する
      3. 送信者が受信者にメール本文・送信者のディジタル署名・認証局のディジタル証明書を発行する
      4. 送信者が受信者にメール本文・送信者のディジタル署名・認証局のディジタル証明書を送る
      5. 受信者が認証局を信頼し、認証局が送信者を認証するのであれば、受信者は送信者を信頼できる
    • ルート認証局:最上位に位置する認証局
      • 送信者から受け取ったディジタル証明書は、信頼のあるルート認証局に認証され、下位認証局が発行したものであれば、そのディジタル証明書のなりすましなしが確認できる
      • ルート認証局は、認証局運用規程(CPS)を公開し、厳正な監査基準を満たす必要がある
    • ディジタル証明書の活用例
      • サーバ証明書
      • クライアント証明書
      • ルート証明書

暗号技術

  • 暗号技術:暗号方式をもとに、実際に使えるプロトコル、規格・ソフトへと、プログラム言語をつかって組んだもの
  • 楕円曲線暗号:RSA暗号と比べて、鍵長が短く、かつ処理が速いにも関わらず、同じレベルの強度がある暗号方式
  • S/MIME:ハイブリッド暗号を使って、メールを暗号化したり、ディジタル署名によるなりすまし・改ざんなしを確かめたりするための規格
  • PGP(Pretty Good Privacy):ハイブリッド暗号を使って、メールを暗号化したり、ディジタル署名によるなりすましなし・改ざんなしを確かめたりするためのソフトウェア

認証技術

  • 認証:なりすましがなく、確かに本人であることを識別すること
    • 利用者認証:本人であることの認証。ユーザ認証・本人認証ともいう
    • メッセージ認証:メッセージやメールなどの情報に、改ざんがないかを認証する
    • 時刻認証:時刻に改ざんがないかを認証する。ファイルの保存時刻・ログの記録時刻の改ざんなしを確認できる
  • メッセージ認証暗号:通信データの改ざんなしを確認するために作る暗号データ(共通鍵暗号方式、またはハッシュ関数を使う)
  • タイムスタンプ:ファイルの時刻の改ざんなしを確認する目的で、第三者機関である時刻認証局により発行される時刻情報

利用者認証

  • 利用者認証
    • 知識認証:本人のみが知る情報により認証する
    • 所有物認証:本人のみが持つものにより認証する
    • 生体認証:本人のみが持つ身体的特徴・行動的特徴により認証する
  • 多要素認証:なりすましを防ぐため、複数の認証方法を組み合わせること
    • 2要素認証:異なる認証方式を2つ組み合わせる方法
    • 2段階認証:同一の認証方式を2つ組み合わせる方法
  • ワンタイムパスワード:1回限り有効な使い捨てパスワード
  • PIN:暗証番号のことで、多要素認証における認証方法の1つとして利用される
  • シングルサインオン:一度あるシステムで利用者認証が通れば、他のシステムで改めて認証することなく、認証が通るための技術
  • リスクベース認証:不正アクセスを防ぐ目的で、普段とは異なる利用環境から認証を行なった場合に、追加で認証を行うための仕組み
  • CAPTCHA:プログラムが読み取れないが、人間なら読み取られる形状の文字
  • パスワードリマインダ:パスワードを忘れた場合に、「秘密の質問」によって、利用者認証すること
  • チャレンジレスポンス認証:ネットワーク上にパスワードを流さずに、利用者認証を行う方法。チャレンジ(一度しか使わない乱数)とハッシュ関数で計算したメッセージダイジェストを使う)

生体認証技術

  • 生体認証:バイオメトリクス認証ともいい、人間の身体的特徴や行動的特徴などの生体情報を使って、利用者を認証すること
    • 身体的特徴:静脈パターン認証、虹彩認証、網膜認証、顔認証、指紋認証
    • 行動的特徴:声紋認証、署名認証
    • 長所:盗難・貸出・複製・紛失のリスクがない
    • 短所:費用と手間がかかる/本人拒否率・他人受容率はゼロにはできない
  • 本人拒否率・他人受入率
    • 本人拒否率:誤って本人を拒否する確率(FRR(False Rejection Rate)ともいう)
    • 他人受入率:誤って他人を受け入れる確率(FAR(False Acceptance Rate)ともいう)
    • 一般的に他人受入率を低くすれば、本人拒否率は高くなる。逆に、本人拒否率を低くすれば、他人受入率は高くなる

Discussion