デジタル証明書
通信をセキュリティで保護するには、認証が重要です。 ユーザーは、通信を行う相手に対して自分の身元を証明する機能と、相手の身元を確認する機能を持っていなければなりません。 ネットワーク上では通信の当事者どうしが通信中に物理的に会うことがないため、身元の認証は複雑な作業になります。 そのため、非倫理的な人物がメッセージを傍受したり、他人や他の実体を偽装したりする可能性があります。 通信プロセス内で必要な信頼レベルを維持するには、メソッドを実行する必要があります。
デジタル証明書は、ID を検証する手段を提供する一般的な資格情報です。 このセクションでは、証明書がセキュリティで保護された通信を提供する方法と、CryptoAPI を使用してそれらの証明書を使用および管理する方法の概要について説明します。
証明書は、エンティティを識別するデータのセットです。 信頼された組織は、個人に証明書を割り当てるか、公開キーを個人に関連付けるエンティティを割り当てます。 証明書が発行される個人またはエンティティは、その証明書のサブジェクトと呼ばれます。 証明書を発行する信頼された組織は 証明機関 (CA) であり、証明書の発行者と呼ばれます。 信頼できる CA は、証明書のサブジェクトの ID を確認した後にのみ証明書を発行します。
証明書では、暗号化手法を使用して、通信しているユーザー間の物理的な接触の欠如の問題に対処します。 これらの手法を使用すると、非倫理的な人物がメッセージを傍受、変更、または偽造する可能性が制限されます。 これらの暗号化手法により、証明書の変更が困難になります。 したがって、エンティティが他のユーザーを偽装することは困難です。
証明書内のデータには、証明書サブジェクトの 公開キーと秘密キーのペアからの公開暗号化キーが含まれます。 送信者の秘密キーで署名されたメッセージは、送信者の公開キーを使用してメッセージの受信者のみが取得できます。 このキーは、送信者の証明書のコピーにあります。 証明書から 公開キー を使用して署名を取得すると、証明書サブジェクトの 秘密キーを使用して署名が生成されたことが証明されます。 送信者が警戒し、秘密キーシークレットを保持している場合、受信者はメッセージ送信者の ID を信頼できます。
ネットワーク上には、多くの場合、 証明書サーバーと呼ばれる信頼されたアプリケーションがあります。 セキュリティで保護されたコンピューターで実行されている CA が証明書サーバーを管理します。 このアプリケーションは、すべてのクライアントの公開キーにアクセスできます。 証明書サーバーは、証明書と呼ばれるメッセージを分配します。各メッセージには、クライアント ユーザーの 1 人の公開キーが含まれています。 各証明書は CA の秘密キーで署名されます。 したがって、このような証明書の受信者は、指定された CA が送信したことを確認できます。
デジタル証明書には、証明書の件名に関する追加情報 (サブジェクトのメール アドレスや、証明書のサブジェクトが実行できるアクティビティなど) を提供する拡張機能と拡張プロパティも含まれます。