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

PGPのサービスとは?認証・機密性・圧縮など6つの主要機能を解説

PGPが提供する主なサービス

PGP(Pretty Good Privacy)は、電子メールやファイルのセキュリティを確保するために、以下のようなサービスを提供しています。

認証(Authentication)

PGPの認証では、ハッシュ関数としてSHA-1が使用され、160ビットのメッセージダイジェストが生成されます。公開鍵暗号方式(EP:公開暗号化、DP:公開復号)には、RSAまたはDSSのアルゴリズムを利用できます。

SHA-1とRSAの組み合わせは、強力なデジタル署名方式を実現します。RSAの強度により、受信者は「対応する秘密鍵の所有者だけが署名を作成できる」ことが保証されます。また、SHA-1の強度により、ハッシュコードに対応する新しいメッセージ、つまり元のメッセージの署名を他の誰も作成できないことが保証されます。

機密性(Confidentiality)

機密性は、PGPがサポートするもう一つの重要なサービスです。送信するメッセージや、ローカルにファイルとして保存するデータを暗号化することで実現されます。暗号化には、CAST-128、IDEA、3DESのいずれかが64ビットの暗号フィードバック(CFB)モードで使用されます。

共通鍵(セッション鍵)は一度だけ使用され、必要なビット数の乱数として生成されます。この鍵はメッセージとともに送られ、受信者の公開鍵を使って暗号化されます。

具体的な処理の流れは以下の通りです。

  • 送信者はメッセージを作成し、このメッセージ専用のセッション鍵として使う乱数を生成します。
  • メッセージは、セッション鍵を使ってCAST-128、IDEA、または3DESで暗号化されます。
  • セッション鍵は受信者の公開鍵を使ってRSAで暗号化され、メッセージの先頭に付加されます。
  • 受信者は自分の秘密鍵でRSA復号を行い、セッション鍵を復元します。
  • 復元したセッション鍵を使ってメッセージを復号します。

機密性と認証の併用

この2つのサービスは、同じメッセージに対して組み合わせて使用することもできます。まず、平文のメッセージに対して署名を生成し、メッセージの先頭に付加します。その後、「平文メッセージ+署名」をCAST-128(またはIDEA、3DES)で暗号化し、セッション鍵をRSAで暗号化します。

この順序(署名→暗号化)は、逆の順序(暗号化→暗号文への署名)よりも望ましいとされています。一般に、署名は平文のメッセージと一緒に保存しておく方が便利だからです。さらに、第三者による検証の観点からも、先に署名を行っておけば、第三者が署名を検証する際に共通鍵を気にする必要がなくなります。

圧縮(Compression)

デフォルト設定では、PGPは署名を付与した後、暗号化する前にメッセージを圧縮します。これにより、電子メール送信時のデータ量とファイル保存時のディスク容量の両方を節約できるという利点があります。

電子メール互換性(E-mail Compatibility)

一部の電子メールシステムでは、ASCIIテキストで構成されるブロックしか扱えません。PGPを使用する場合、送信されるブロックの大部分は暗号化されるため、ASCIIテキストへの変換(Radix-64エンコードなど)が必要になります。

セグメンテーション(分割)

電子メールの機能には、最大メッセージ長の制限があります。たとえば、インターネット上で利用できる一部のサービスでは、最大長が50,000オクテットに設定されています。この制限を超えるメッセージは、より小さなセグメントに分割され、それぞれが個別に送信されます。受信側では、これらのセグメントを自動的に再結合して元のメッセージを復元します。

  1. 公開鍵暗号の機能とは?暗号化・デジタル署名・証明書の役割を解説

    公開鍵暗号方式は「非対称暗号」とも呼ばれる暗号技術で、利用者が公開鍵と秘密鍵からなる一組の鍵ペアを持つことを特徴としています。片方の鍵で処理した情報は、もう片方の鍵でしか元に戻せないという性質を持ち、この仕組みによってさまざまなセキュリティ機能が実現されています。 公開鍵暗号の主な機能は、大きく分けて「暗号化」「デジタル署名」「証明書」の3つです。それぞれの役割と仕組みを詳しく見ていきましょう。 1. 暗号化(Encryption)― 機密性と完全性の確保 暗号化は、平文のメッセージを鍵を使って読み取れない形式に変換する機能です。受け取った側は復号の手順を経ることで、元のメッセージを正確に取り

  2. 情報セキュリティにおけるRSA暗号の手順とは?鍵生成から暗号化・復号まで徹底解説

    RSAアルゴリズムとは RSAアルゴリズムは、ロナルド・リベスト(Ron Rivest)、アディ・シャミア(Adi Shamir)、レナード・アドルマン(Leonard Adleman)の3人によって考案された公開鍵暗号アルゴリズムです。RSAはデジタル署名の検証だけでなく、一般データの暗号化・復号にも対応しており、安全な情報交換を実現する技術として広く活用されています。 RSAを支える数学的な安全性 RSAアルゴリズムの安全性は、「大きな数の素因数分解が極めて困難である」という性質に基づいています。非常に大きな数を効率的に素因数分解する実用的な手法は現在のところ存在しないため、RSA鍵を解