CMS/PKCS #7 で提供されるセキュリティ サービス

CMS/PKCS #7 では、複数のセキュリティ サービスを 1 つのアプリケーションに実装できます。セキュリティ サービスとは、データ保護の一種であり、セキュリティ サービスを実装するための機構や暗号化アルゴリズムには依存しません。

データ暗号化は、デジタル エンベロープを使用して行われます。このセキュリティ サービスによって、高い確率で目的の受信者のみがメッセージを読むことができるようになります。デジタル エンベロープは、一連の受信者へのメッセージを暗号化します。デジタル エンベロープを提供する主なクラスは、EnvelopedCms クラスです。詳細については、「EnvelopedCms メッセージ」を参照してください。

エンティティ認証およびデータの整合性は、デジタル署名を通じて提供されます。これらのセキュリティ サービスを使用すると、メッセージの作成者または送信者であると主張するエンティティが確かにそのエンティティであり、署名後にデータが変更されていない確率が高くなります。エンティティは、人、ソフトウェア アプリケーション、または一意の ID を持つその他の任意のソースです。

一連の署名者が、メッセージにデジタル署名できます。さらに、各署名には一連の副署名を含めることができます。デジタル署名を提供する主なクラスは、SignedCms クラスです。詳細については、「SignedCms メッセージ」を参照してください。

これまでに述べたセキュリティ サービスを組み合わせて、エンティティ認証、データの整合性、およびデータの機密性を提供できます。これは、メッセージのデジタル署名とデジタル エンベロープ化の両方で実現されます。これらの機構はどちらが先でも適用できますが、最初にメッセージに署名してからエンベロープ化するほうが有利になる場合があります。その場合、署名するデータはまだ暗号化されていないので、データがわかりやすくなります。詳細については、「エンベロープ化および署名された CMS/PKCS #7 メッセージ」を参照してください。

デジタル署名されデジタル エンベロープ化されたメッセージには、属性を含めることもできます。属性は、CMS/PKCS #7 で提供されるセキュリティ サービスを効果的に拡張します。たとえば、メッセージがデジタル署名された時刻を SignedCms メッセージに含めることができます。署名時刻を含めると、否認防止を実装する要件を満たすのに役立つ場合があります。セキュリティ サービスは、メッセージの作成者または送信者が、メッセージの作成または送信を後で否定するのを防止するのに役立ちます。属性の背景情報については、「CMS/PKCS #7 メッセージのコンポーネント」を参照してください。

関連項目

参照

System.Security.Cryptography.Pkcs

その他の技術情報

System.Security.Cryptography.Pkcs について

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.