プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

情報セキュリティにおけるPGPが使用する4種類の鍵とは?

PGPが使用する4種類の鍵

PGP(Pretty Good Privacy)では、以下の4種類の鍵が使用されます。

  • 使い捨てのセッション対称鍵(ワンタイムセッション鍵)
  • 公開鍵
  • 秘密鍵
  • パスフレーズに基づく対称鍵

セッション鍵の生成

各セッション鍵は1つのメッセージに対応しており、そのメッセージの暗号化と復号のみを目的として使用されます。メッセージの暗号化・復号は共通鍵(対称)暗号アルゴリズムによって行われます。必要な鍵長は128ビットであり、CAST-128を用いてランダムな128ビットの数値が生成されます。

乱数生成器への入力には、ユーザーのキーストローク入力から得られるランダムな128ビットの鍵と、暗号化対象の平文として扱われる2つの64ビットブロックが含まれます。CFBモードを使用して2つの64ビットの暗号文ブロックが生成され、これらを連結することで128ビットのセッション鍵が構成されます。ここで使用されるアルゴリズムは、ANSI X12.17で規定されたものに基づいています。

鍵識別子(Key ID)

1人のユーザーが複数の公開鍵・秘密鍵ペアを持つことも可能です。その場合、それぞれの鍵ペアに何らかのIDが必要になります。各公開鍵に関連付けられた鍵IDは、その公開鍵の最下位64ビットで構成されます。つまり、公開鍵KUaの鍵IDは(KUa mod 264)となります。この長さであれば、鍵IDが重複する確率は極めて小さく抑えられます。

鍵IDはPGPのデジタル署名にも利用されます。送信者は複数の秘密鍵の中から任意の1つを選んでメッセージダイジェストを暗号化できるため、受信者側はどの鍵が使用されたのかを特定できるようにする必要があるからです。

鍵リング(Key Ring)

鍵IDはPGPのサービスにおいて重要な役割を果たします。機密性と認証の両方を提供するPGPメッセージには、2つの鍵IDが含まれることになります。

これらの鍵は、関係者が効率的かつ効果的に利用できるよう、体系的な方法で保存・管理される必要があります。PGPの設計では、各ノードに2つのデータ構造を用意しています。1つはそのノード自身が所有する公開鍵・秘密鍵ペアを保存するためのもので、もう1つはこのノードが把握している他のユーザーの公開鍵を保存するためのものです。

秘密鍵リングは表として捉えることができ、各行はそのユーザーが所有する公開鍵・秘密鍵ペアの1つを定義します。各行には以下の情報が含まれます。

  • タイムスタンプ: この鍵ペアが作成された日時。

  • 鍵ID: このエントリの公開鍵の最下位64ビット。

  • 公開鍵: 鍵ペアの公開鍵部分。

  • 秘密鍵: 鍵ペアの秘密鍵部分。

  • ユーザーID: 一般的にはユーザーのメールアドレス。

秘密鍵リングは、ユーザーID、鍵ID、またはその両方によってインデックス化できます。ただし、セキュリティ上の理由から、鍵の値そのものは鍵リングに平文で保存されず、パスフレーズによる復号手順を必要とする暗号化された状態で管理されます。

  1. 情報セキュリティにおける公開鍵暗号方式の主な応用と仕組みを解説

    公開鍵暗号方式とは公開鍵暗号方式は「非対称鍵暗号」とも呼ばれ、オンラインソフトウェアにおいて不可欠な暗号化・復号の仕組みです。この方式では、「公開鍵」と「秘密鍵」という2つの異なる鍵を使用します。対称鍵暗号アルゴリズムでは、暗号化と復号に同じ1つの鍵を使います。一方、公開鍵暗号方式では2つの鍵を使い分け、どちらか一方の鍵で暗号化したデータは、もう一方の鍵でのみ復号できるという特徴を持ちます。公開鍵暗号方式で生成される鍵は、512ビット、1024ビット、2048ビットなど非常に大きなサイズになります。そのため、これらの鍵を人が記憶することは現実的ではなく、USBトークンやハードウェアセキュリティ

  2. 情報セキュリティにおける公開鍵暗号システムの基本原理を解説

    公開鍵暗号システムとは公開鍵暗号(Public Key Cryptography)は、情報の機密性を確保するための不可欠な手段となっています。特に、秘密裏に通信を行いたい利用者同士が暗号鍵を交換する「鍵配布」の仕組みにおいて、その重要性が際立っています。また、デジタル署名の機能も備えており、ユーザーが鍵に署名することで本人性を検証できる点も大きな特徴です。この公開鍵暗号の考え方は、共通鍵暗号(対称鍵暗号)に関わる2つの難しい課題を解決しようとする試みから生まれました。第一の課題は鍵配布の問題です。共通鍵暗号における鍵配布では、以下のような要件が必要でした。通信を行う両者が、あらかじめ何らかの方