公開鍵暗号方式

すべての暗号化システムは、鍵という概念に基づいています。 普通のメッセージから読めないメッセージへの、通常は数学的な変換の基礎を成すのが、鍵です。 何世紀にもわたり、大多数の暗号化システムは、秘密鍵暗号に依存してきました。 過去 30 年の間に現れた公開鍵暗号のみが、秘密鍵暗号に挑戦するものです。

秘密鍵暗号

秘密鍵暗号システムでは、送信者と受信者間で共有される単一の鍵が使用されます。 双方がその鍵を持つ必要があります。送信者は鍵を使用してメッセージを暗号化し、受信者はその同じ鍵を使用してメッセージを復号します。 送信者と受信者双方がこの鍵を秘密にしておき、通信の秘密が保たれるようにしなければなりません。 この種の暗号化には、広範囲にわたる一般的な使用には適さない以下のような特性があります。
  • 秘密鍵暗号では、秘密に通信する必要のある個人のペアごとに 1 つの鍵が必要とされます。 参加者の増加に伴い、必要な鍵の数が劇的に増加します。
  • 通信するペア間で鍵を共有する必要があるため、鍵を参加者に配布する必要があります。 秘密鍵を伝送する必要があるため、鍵が盗まれてしまう危険があります。
  • 参加者は、事前に手配してのみ通信することが可能です。 使用可能な暗号メッセージを自由に他の人に送信することはできません。 相手側の参加者と、鍵を共有することにより、通信するための手配をしなければなりません。

秘密鍵暗号は、同じ鍵を使用してメッセージの暗号化や復号を行うため、対称暗号化とも呼ばれます。

公開鍵暗号

公開鍵暗号では、数学的に関連した鍵のペアが使用されます。 最初の鍵で暗号化されたメッセージは、2 番目の鍵で復号されなければならず、2 番目の鍵で暗号化されたメッセージは最初の鍵で復号されなければなりません。

公開鍵システムの参加者はそれぞれ、鍵のペアを 1 つ持ちます。 1 つの鍵は秘密鍵として指名され、秘密のまま保持されます。 もう一方の鍵は誰でも希望する人に配布されます。この鍵が公開鍵です。

誰でもお客様の公開鍵を使用してメッセージを暗号化することができますが、お客様のみがそれを読むことができます。 メッセージの受信者は、自分の秘密鍵を使用して受信したメッセージを復号します。

同様に、お客様は他の任意のユーザーのメッセージをそのユーザーの公開鍵を使用して暗号化することができ、そのユーザーは自分の秘密鍵を使用して、それを復号することができます。 したがって、安全が保証されていない接続を通してメッセージを安全に送信することができます。

この種の暗号化には、一般的な使用に適した以下のような特性があります。
  • 公開鍵暗号では、参加者につき 2 つの鍵のみが必要です。
  • 機密性に対する必要をより簡単に満たすことができます。すなわち、機密にする必要があるのは秘密鍵のみで、秘密鍵は共有する必要がないため、対称鍵システムの共有鍵と比較して伝送中に盗まれる危険性が低くなります。
  • 公開鍵は公開することができるため、通信前に秘密鍵を共有する必要がなくなります。 受信者の公開鍵を知っている人は誰でもそれを使用してメッセージを送信でき、受信者はそのメッセージを読むことができます。

公開鍵暗号は、同じ鍵を使用してメッセージを暗号化、復号できないため、非対称暗号化とも呼ばれます。 その代わり、ペアの 1 つの鍵を使用して、もう一方の鍵の処理を元に戻します。

対称鍵暗号では、鍵が盗まれたり傍受されたりしないように注意してください。 誰でも鍵ペアを作成して公開鍵の方を公開できる公開鍵暗号では、課題は、公開鍵の所有者が本当にその人であることを検証することにあります。 ユーザーが鍵ペアを作成し、その公開鍵を偽名の下に公開することを妨げるものは何もありません。 その公開鍵にリストされた所有者は、秘密鍵を持たないため、その公開鍵で暗号化されたメッセージを読むことができません。 偽の公開鍵の作成者がそれらのメッセージを傍受することができた場合、この人は別の人に宛てられたメッセージを復号して読むことができます。 偽造鍵の可能性を打ち消すために、公開鍵システムには、公開鍵や他の情報をデジタル証明書およびデジタル署名で検証する仕組みが用意されています。

Public Key Infrastructure (PKI)

PKI は、公開鍵テクノロジーを使用して、アプリケーションが安全に対話できるようにするインフラストラクチャーです。 PKI は、公開鍵暗号化を使用してプライバシーを提供します。 実際には、ごく少量のデータをこの方法で暗号化します。 一般に、セッション鍵 を対称アルゴリズムと共に使用して、大量のデータを効率的に送信します。

ビジネス・トランザクションでは、プライバシーよりも信頼の方がさらに重要です。 PKI は秘密鍵を使用して、アプリケーションが文書に署名できるようにします。 受信側が送信側を認証するには、送信側の公開鍵を取得する信頼できる方法が必要です。 この公開鍵はデジタル証明書の形式で提供され、信頼のおける第三者認証局 (CA) によって仲介されます。