デジタル署名の概要
適用先
この記事の内容
デジタル署名とは
デジタル署名は、紙文書に署名する場合と同じ理由の多くで使用できます。 デジタル署名は、コンピューター暗号化を使用して、フォーム テンプレート、電子メール メッセージ、ドキュメントなどのデジタル情報を認証するために使用されます。 デジタル署名は、以下の保証を確立するのに役立ちます。
- 信頼性 デジタル署名は、署名者が誰であるかを保証するのに役立ちます。
- 整合性 デジタル署名は、コンテンツがデジタル署名されてから変更または改ざんされていないことを保証するのに役立ちます。
- 否認不可 デジタル署名は、署名されたコンテンツの配信元をすべての関係者に証明するのに役立ちます。 "否認" とは、署名されたコンテンツとの関連付けを拒否する署名者の行為を指します。
フォーム テンプレートに関するこれらの保証を行うには、フォーム テンプレートにデジタル署名する必要があります。 また、フォーム テンプレートのデジタル署名を有効にして、ユーザーが入力したフォームについて同じ保証を行うこともできます。どちらの場合も、フォームまたはフォーム テンプレートにデジタル署名するには、次の要件を満たす必要があります。
- デジタル署名が有効である。
- デジタル署名に関連付けられている証明書が現在 (有効期限切れではありません) です。
- 発行元と呼ばれる署名した個人または組織が信頼されている。
- デジタル署名に関連付けられている証明書は、信頼された証明機関 (CA) によって発行元に発行されます。
互換性に関する考慮事項
フォーム テンプレートを作成するときに、デジタル署名を有効にして、ユーザーがフォーム全体またはフォームの特定の部分にデジタル署名を追加できるようにします。 Microsoft Office InfoPath 2007 では、ブラウザー互換のフォーム テンプレートを設計することもできます。 ブラウザー互換フォーム テンプレートは、特定の互換性モードを使用して InfoPath で設計されたフォーム テンプレートです。 ブラウザーと互換性のあるフォーム テンプレートは、InfoPath Forms Servicesを実行しているサーバーに発行されるときにブラウザーで有効にすることができます。 ブラウザーが有効なフォーム テンプレートでは、ユーザーが入力するフォームの特定の部分にのみデジタル署名を追加できます。フォームの一部に対してデジタル署名を有効にすると、署名はフォームの特定の部分のデータにのみ適用されます。
InfoPath でデジタル署名を使用する方法
フォーム テンプレートをデザインするときに、ユーザーがフォーム テンプレートに基づいてフォームに入力するときにデジタル署名を追加できるかどうかを指定できます。 また、ユーザーがフォーム全体に署名できるか、フォームの一部に署名できるかを指定することもできます。 デジタル署名を有効にしてフォームの一部に追加できるようにする場合は、フォーム内の署名可能なデータを決定する必要があります。 さらに、そのデータをフォーム テンプレートに追加するセクションに関連付けることができます。 署名されると、署名されたフォームまたはフォームの一部は、署名を無効にしないと変更できません。
フォーム テンプレートを設計する場合は、ユーザーがフォームに複数のデジタル署名を追加できるかどうか、およびそれらの署名を共同署名する必要があるかどうか (この場合、各署名は他の署名とは独立しています)、またはカウンター署名 (この場合、各署名はフォームに署名し、その前の署名) を指定することもできます。
注
XML スキーマに基づいてフォーム テンプレートが設計されている場合は、XML スキーマに World Wide Web Consortium (W3C) XML デジタル署名名前空間にあるノードがある場合にのみ、そのフォーム テンプレートのデジタル署名を有効にすることができます。
ユーザーがフォーム テンプレートに基づいてフォームに署名できるようにデジタル署名を有効にするだけでなく、デザインしたフォーム テンプレートにデジタル署名することもできます。 フォーム テンプレートにデジタル署名すると、フォームのデジタル署名がフォームに入力したユーザーを認証するのと同じ方法で、フォーム テンプレートのデザイナーとして認証されます。 また、フォーム テンプレートにデジタル署名を追加すると、フォーム テンプレートを完全信頼レベルで操作することもできます。 たとえば、完全信頼レベルのセキュリティを使用するマネージド コードを含むフォーム テンプレートは、ユーザーのコンピューターにインストールするか、フォーム テンプレート デザイナーによってデジタル署名されて使用できるようにする必要があります。
注
Microsoft Office Outlook 2007 ユーザーが InfoPath フォームのコピーを電子メール メッセージとして他の Office Outlook 2007 ユーザーに送信し、そのフォームが完全信頼セキュリティ レベルで実行されるように設定されている場合、適切に動作するには、関連付けられているフォーム テンプレートにデジタル署名を付ける必要があります。
フォームまたはフォーム テンプレートにデジタル署名を追加するには、デジタル証明書が必要です。 デジタル証明書は、商用証明機関または内部セキュリティ管理者から取得できます。 デジタル証明書を購入する決定は、フォーム テンプレートを展開するorganization計画の広さによって異なります。
デジタル証明書
フォーム テンプレートにデジタル署名する場合、InfoPath では、秘密キーと デジタル署名 または 両方 の値を持つ証明書のみが キー使用法 属性に使用されます。 さらに、証明書の目的は コード署名 証明書である必要があります。
InfoPath では XML 署名を使用してフォームにデジタル署名を行うため、ユーザーがデジタル証明書を使用してフォームに署名する場合、ユーザーの証明書には次のガイドラインが適用されます。
- 証明書には、証明書が発行された日時と有効期限の日付と時刻の有効な値が含まれている必要があります。
- 証明書は、ユーザーのコンピューターにインストールされ、秘密キーに関連付けられている必要があります。
- 証明書に含まれるキー使用法プロパティには、 digitalSignature または nonRedpudiation の値を含める必要があります。 キーの使用法は、証明書キーを使用する対象を定義します。
注
作成したデジタル証明書は正式な証明機関によって発行されないため、作成した証明書を使用して署名されたフォーム テンプレートは、自己署名フォーム テンプレートと呼ばれます。 これらの自己署名証明書は認証されていないと見なされ、フォーム テンプレートのセキュリティ レベルが [完全信頼] に設定されている場合、セキュリティ警告が生成されます。 InfoPath は、その証明書の秘密キーにアクセスできるコンピューターでのみ自己署名証明書を信頼します。 ほとんどの場合、秘密キーが他のコンピューターと共有されていない限り、InfoPath は証明書を作成したコンピューターでのみ自己署名証明書を信頼します。
証明機関には、商用証明機関と内部証明機関の 2 種類があります。
商用証明機関
開発者で、VeriSign, Inc.などの商用証明機関からデジタル証明書を取得する場合は、お客様またはorganizationがその機関に申請を提出する必要があります。
開発者としての状態に応じて、ソフトウェア発行元に対してクラス 2 またはクラス 3 のデジタル証明書を申請する必要があります。
- クラス 2 のデジタル証明書 個人としてソフトウェアを発行するユーザー向けに設計されたデジタル証明書。 このクラスのデジタル証明書は、個々の発行元の ID に関する保証を提供するのに役立ちます。
- クラス 3 デジタル証明書 ソフトウェアを発行する企業やその他の組織向けに設計されたデジタル証明書。 このクラスのデジタル証明書は、発行organizationの ID に関する保証を高めるのに役立ちます。 クラス 3 のデジタル証明書は、ソフトウェアの小売チャネルによって提供される保証のレベルを表すために設計されています。 クラス 3 デジタル証明書の申請者は、Dun & Bradstreet Financial Services からの評価に基づいて、最低限の財務安定性レベルを満たす必要もあります。
デジタル証明書を受け取ると、InfoPath フォーム テンプレートの署名に使用するコンピューターにインストールする方法の指示が表示されます。
内部証明機関
組織や企業によっては、独自の証明機関として機能するセキュリティ管理者またはグループが存在する場合があります。 この管理者またはグループは、Microsoft Certificate Server などの証明機関ツールを使用して、デジタル証明書を生成または配布できます。 organizationでの Microsoft Office のデジタル署名機能の使用方法によっては、organizationの内部証明機関のデジタル証明書を使用してフォーム テンプレートに署名できる場合があります。 または、承認された証明書を使用して、管理者がフォーム テンプレートに署名する必要がある場合があります。 organizationのポリシーの詳細については、ネットワーク管理者または IT 部門にお問い合わせください。