従来の秘密鍵または対称鍵の暗号化には、安全な通信を要求する複数のユーザーが共有する、秘密鍵が1つ必要です。この鍵は、ユーザー間で送信される保護メッセージの暗号化および復号化に使用されるため、各ユーザーへは事前に安全な方法で鍵を配布する必要があります。問題は、鍵を安全に伝送および格納することが困難であるということです。
公開鍵の暗号化による公開鍵/秘密鍵のペアおよび鍵配布のための安全な方法を採用することで、この問題は解決します。対応する秘密鍵の所有者のみが復号化できるメッセージは、自由に使用できる公開鍵によって暗号化できます。秘密鍵は、その他のセキュリティ資格証明とともに、ウォレットと呼ばれる暗号化されたコンテナに、安全に格納されます。
メッセージ機密は公開鍵のアルゴリズムによって保証できますが、通信の保護は必ずしも保証されません。これは、通信するユーザーのアイデンティティが検証されていないためです。通信の保護を確立するには、メッセージの暗号化に使用する公開鍵が、対象となる受信者のものであることを確認する必要があります。公開鍵が受信者のものでない場合、第三者によって通信が盗聴され、公開鍵の要求が妨害される可能性があります。これによって、独自の公開鍵が妥当な鍵と置き換えられる危険もあります(仲介者による妨害)。
この妨害を回避するには、公開鍵の所有者の確認(認証と呼ばれるプロセス)が必要です。認証は、通信する双方の委託する第三者の認証局(CA)によって行われます。
CAは、エンティティの名前、公開鍵およびその他の特定のセキュリティ資格証明が記載された、公開鍵の証明書を発行します。通常、資格証明には、CAの名前と署名、該当する認証の有効期間(開始日および終了日)が記載されています。
CAは、メッセージの復号化には公開鍵を使用しますが、暗号化には秘密鍵を使用するため、メッセージがCAによって暗号化されたことが確認されます。CAの公開鍵は一般に知られており、アクセスされるたびに認証を受ける必要はありません。このCAの公開鍵が、Oracleウォレットに格納されています。