Share via


Office 2010 のデジタル署名

Trustworthy Computing Security チームでプログラム マネージャーを務めている Shelley Gu です。今回は、Office 2010 のデジタル署名に追加した新しい機能について、その一部を紹介したいと思います。まずデジタル署名とその使用方法について簡単に説明し、その後で、Office 2010 のデジタル署名のしくみを詳しく解説していきます。

デジタル署名とは

商取引の電子化が進んでいます。こうした背景から、デジタル署名も関係当事者を各自の取引と法的に結び付ける手段としてますます使用されるようになってきました。デジタル署名を使用すれば、文書に署名した人物の身元を証明し、デジタル署名が文書に適用されてから文書の内容が変更されていないかどうかを確認できます。デジタル署名は暗号化技術に基づくセキュリティを実現し、電子商取引に伴うリスクの軽減に活躍します。Office では、世界中の企業や公共部門の組織が抱える情報セキュリティ ニーズに対応するべく、デジタル署名機能が強化されました。

デジタル署名を作成するには、デジタル証明書が必要です。この証明書は所有者の身元を関係当事者に証明するもので、信頼ある証明機関 (CA) から入手する必要があります。デジタル証明書をまだ取得していない場合は、Office Marketplace をご利用ください。Microsoft のパートナー各社が、デジタル証明書や、Office に統合可能なその他の高度な署名サービスを提供しています。

デジタル署名の挿入

Word、Excel、PowerPoint 2010 では、Office Backstage ビューでデジタル署名を追加できます。

画像

Word、Excel、InfoPath の [挿入] タブで、署名欄または印鑑署名欄を追加できます。

画像

署名欄は次のように表示されます。

画像

印鑑署名欄 (東アジアで一般的に使用される) は次のように表示されます。

画像

Office のデジタル署名のしくみ

Office 2007 以降のバージョンでは、Office 2003 以前のバージョンのバイナリ署名の後継として、より進化した XML-DSig と呼ばれるオープンな署名標準が採用されています。XML-DSig では、署名を人間がほぼ判読可能な XML 形式で表現します。XML-DSig の詳細については、https://www.w3.org/Signature を参照してください。

Office 2010 のデジタル署名では、Windows Vista 以降でサポートされている高度なアルゴリズム (楕円曲線公開キーなど) を使用できます。サポート対象の全オペレーティング システムで、より強力な SHA-512 などのハッシュ アルゴリズムも使用できます。

デジタル署名に関して一番差し迫った問題は、署名に使用した証明書の有効期限が多くの場合 1 年以内に切れてしまうことです。証明書の有効期限が切れれば、署名の信頼性も保証されなくなってしまいます。 署名の有効期間を延長したい場合は、証明書の正当性を証するために必要な情報のコピーを保管しておく必要があります。また、暗号化技術が古くなることも心配しなければならないでしょう。

幸い、こうした問題に対処するために、XML-DSig 標準には XAdES と呼ばれる拡張があります。

XAdES とは

XAdES (XML Advanced Electronic Signatures) は、XML-DSig を段階的に拡張する署名フォーマット群を定めています。各フォーマットは 1 つ前のレベルに基づいて、これを拡張します。レベルが上がるごとに、デジタル署名の信頼性も上がります。

XAdES を実装することで、Office は EU 電子署名指令 1999/93/EC に準拠し、また、ブラジルにおけるデジタル署名の認定標準として XAdES を定めたブラジル政府の新指令にも準拠する運びになりました。

Office 2010 では、XML-DSig の署名に加えて、さまざまなレベルの XAdES 署名を作成できます。

さまざまなデジタル署名レベルをまとめた表。この情報の画像が表示されない場合は、この投稿に関するテキスト ベースの情報を電子メール (OffTeam@microsoft.com) で請求してください。

Office 2010 のベータ版で作成できる署名は XAdES-T が上限となりますが、Office 2010 RTM 版では上の表で紹介した署名をすべて作成できるようになります。

タイムスタンプ付きデジタル署名 (XAdES-T 署名) は、Office 2010 の開発にあたり、特に重視したシナリオです。タイムスタンプ付きの署名を作成するには、事前に次の操作が必要です。

  • RFC 3161 に準拠するタイムスタンプ サーバーをセットアップする。
  • クライアント システムがタイムスタンプ サーバーの場所を検出できるようにするための署名ポリシーを構成する。タイムスタンプ サーバーのルート証明書をルート証明書ストアに追加する必要もあります。

構成がすべて終わったら、通常と同じように署名を作成できるようになります。信頼されているタイムスタンプ サーバーが付加するタイムスタンプによって、証明書の有効期限が切れてしまった後でも、署名に使用した際にはその証明書の期限が切れていなかったことが証明されるため、署名の有効期間が事実上延長されます。つまり、タイムスタンプによって、証明書の期限切れから署名が保護され、署名の適用後に証明書が失効した場合でも署名の効力は残ります。

Office 2010 RTM 版での XAdES 署名の作成

既定では、Office 2010 では XAdES-EPES 署名が作成されます。作成する署名のレベルを指定するには、レジストリ設定を使用します。Office で作成される署名の種類を指定するレジストリ設定には、XAdESLevel と MinXAdESLevel の 2 つがあります。

さまざまなデジタル署名レベルをまとめた表。この情報の画像が表示されない場合は、この投稿に関するテキスト ベースの情報を電子メール (OffTeam@microsoft.com) で請求してください。

さまざまなデジタル署名レベルをまとめた表。この情報の画像が表示されない場合は、この投稿に関するテキスト ベースの情報を電子メール (OffTeam@microsoft.com) で請求してください。

MinXAdESLevel 設定を使用すれば、最低限必要な XAdES レベルを満たす署名が作成されるように指定できます。XAdES-T から上の署名はタイムスタンプ サーバーを利用できないときは作成できませんし、XAdES-C から上の署名は失効情報を利用できないときは作成できません。最低限のレベルを設定しておくことで、たとえば XAdES-X-L 署名を作成したいけれども、タイムスタンプ サーバーがダウンしているときは XAdES-EPES にするといった対応ができるようになります。

XAdES-T から上のレベルの署名を作成するには、タイムスタンプの照会に使用するタイムスタンプ サーバーの場所を Office に設定する必要があります。

さまざまなデジタル署名レベルをまとめた表。この情報の画像が表示されない場合は、この投稿に関するテキスト ベースの情報を電子メール (OffTeam@microsoft.com) で請求してください。

XAdES 署名に関する推奨事項

XAdES 署名を作成する場合は、次の 3 つのレベルのいずれかの使用を推奨します。

  • XAdES-EPES – 通常の XML-DSig 署名の作成に必要な情報のほかに追加の要件がないため、このレベルが既定の設定となっています。
  • XAdES-T – このレベルでは、RFC 3161 に準拠するタイムスタンプ サーバーを用意し、そのサーバーを使用するように Office を構成する必要があります。タイムスタンプ サーバーがある場合は、XAdES-T を既定で使用してください。
  • XAdES-X-L – タイムスタンプ サーバーがあり、完全な失効情報と証明書チェーン情報を含む署名が必要な場合は、このレベルを使用してください。

例:

作成したい署名は XAdES-X-L ですが、作成できない場合は、XAdES-T 以上の署名であれば許容範囲とすることにします。この場合は、次の設定を行います。

  • XAdESLevel = 5 (XAdES-X-L を要求)
  • MinXAdESLevel = 2 (最低限必要な署名レベルは XAdES-T)

この場合、Office は XAdES-X-L レベルを上限として署名を作成しようとします。XAdES-X-L 署名を作成できない場合は、前回作成できた XAdES レベルが MinXAdESLevel より低くなければ、そのレベルの署名が作成されます。この場合、XAdES-T、XAdES-C、XAdES-X が、XAdES-X-L 署名を作成できない場合の許容範囲の署名レベルとなります。これらも作成できない場合は、署名は追加されません。

Office 2010 ベータ版での XAdES 署名の作成

前述のように、Office 2010 ベータ版で作成できる署名レベルの上限は XAdES-T となっています。XAdES に関する残りの開発作業がベータ版の公開後に行われたためです。上記で説明した XAdESLevel レジストリ設定は依然として適用されますが、指定できる最大レベルは 2 (XAdES-T) です。MinXAdESLevel 設定はありませんが、作成できる XAdES の署名の種類はタイムスタンプがあるかないかの 2 つだけで、タイムスタンプの有無は TimestampRequired 設定 (RTM 版には存在しません) で指定します。

さまざまなデジタル署名レベルをまとめた表。この情報の画像が表示されない場合は、この投稿に関するテキスト ベースの情報を電子メール (OffTeam@microsoft.com) で請求してください。

XAdES-T 署名を作成するには、追加で TimestampRequired (下図) と TSALocation (上の説明を参照) を設定する必要もあります。

さまざまなデジタル署名レベルをまとめた表。この情報の画像が表示されない場合は、この投稿に関するテキスト ベースの情報を電子メール (OffTeam@microsoft.com) で請求してください。

Office 2010 ではセキュリティ機能を多数強化しましたが、XAdES 機能もその 1 つです。最後までお読みくださり、ありがとうございました。ご意見やご感想をお待ちしています。

原文の投稿日: 2009 年 12 月 8 日 (火曜日) 午後 4:12 投稿者: OffTeam

これはローカライズされたブログ投稿です。原文の記事は、https://blogs.technet.com/office2010/archive/2009/12/08/digital-signitures-in-office-2010.aspx をご覧ください。