(57)【特許請求の範囲】
【請求項１】
文書を複数の個別部分として格納する手段であって、前記文書は、前記文書にどの個別部分が含まれるかを示す、全ての前記個別部分をリストする文書シーケンス、及び、少なくとも１つの前記個別部分の内容に関するデータを有する、手段と、
デジタル署名ポリシーに基づいて前記文書シーケンス及び前記データに対して個別にデジタル署名を適用する手段と、
前記文書に１つ又は複数の個別部分が追加され又は前記文書から１つ又は複数の個別部分が削除されることにより前記文書シーケンスが後に変更された場合に、前記文書シーケンスに対して適用された前記デジタル署名を無効にする手段と、
前記データが後に変更された場合に、前記文書シーケンスに対して適用された前記デジタル署名が有効であり、前記データに対して適用された前記デジタル署名が無効であることを示す手段とを含むシステム。
【請求項２】
前記格納手段が、ＸＰＳ文書フォーマットを含む、請求項１に記載のシステム。
【請求項３】
前記デジタル署名ポリシーは、サブセットの個々の個別部分が変更された場合に前記文書の構成が変更されたと見なされるように、前記構成に寄与する前記個別部分の前記サブセットを定義する、請求項１に記載のシステム。
【請求項４】
前記デジタル署名ポリシーは、サブセットの個々の個別部分が変更された場合に前記文書の構成が変更されたと見なされるように、前記構成に寄与する前記個別部分の第１のサブセット、および前記構成を変更せずに変更され得る部分の第２のサブセットを定義する、請求項１に記載のシステム。
【請求項５】
表示手段が、前記文書シーケンスが変更される場合に前記デジタル署名が無効であると示すように構成されたインターフェースを含む、請求項１に記載のシステム。
【請求項６】
コンピュータに、
複数の個別部分として格納された文書であって、前記文書にどの個別部分が含まれるかを示す、全ての前記個別部分をリストする文書シーケンス、及び、少なくとも１つの前記個別部分の内容に関するデータを有する文書の、前記文書シーケンス及び前記データに対して、デジタル署名ポリシーに従って個別にデジタル署名を適用するステップと、
前記文書に１つ又は複数の個別部分が追加され又は前記文書から１つ又は複数の個別部分が削除されることにより前記文書シーケンスが後に変更された場合に、前記文書シーケンスに対して適用された前記デジタル署名を無効にするステップと、
前記データが後に変更された場合に、前記文書シーケンスに対して適用された前記デジタル署名が有効であり、前記データに対して適用された前記デジタル署名が無効であることを示すステップと
を実行させるためのコンピュータ実行可能命令を記憶したコンピュータ読取り可能媒体。
【請求項７】
前記個別部分が、すべての固定文書部分および関連する関係部分と、すべての固定ページ部分および関連する固定ページ関係部分と、すべてのリソース部分と、前記文書に含まれたすべてのデジタル署名定義部分とを更に含む、請求項６に記載のコンピュータ読取り可能媒体。
【請求項８】
前記コンピュータ実行可能命令は、コアプロパティおよび注釈のうちの１つまたはいずれかが、前記デジタル署名を無効にせずに変更され得るかどうかユーザが指定することを可能にするステップをさらに含む、請求項６に記載のコンピュータ読取り可能媒体。
【請求項９】
前記適用ステップは、前記ユーザがコアプロパティの変更によって前記ユーザのデジタル署名が無効になると指定し、またコアプロパティ部分が存在する場合は、前記ユーザのデジタル署名を前記コアプロパティ部分に適用する、請求項８に記載のコンピュータ読取り可能媒体。
【請求項１０】
前記適用ステップは、前記ユーザがコアプロパティの変更によって前記ユーザのデジタル署名が無効にならないと指定し、またコアプロパティ部分が存在する場合は、前記デジタル署名を前記コアプロパティ部分に適用しない、請求項８に記載のコンピュータ読取り可能媒体。
【請求項１１】
前記コンピュータ実行可能命令は、前記ユーザがコアプロパティの変更によって前記ユーザのデジタル署名が無効にならないと指定し、またコアプロパティ部分が存在しない場合は、デジタル署名の前に前記コアプロパティ部分を作成するステップをさらに含む、請求項８に記載のコンピュータ読取り可能媒体。
【請求項１２】
プロセッサと、
前記プロセッサによって実行可能な命令を格納するメモリと、
を含むシステムであって、
前記命令は、
複数の個別部分として格納された文書であって、前記文書にどの個別部分が含まれるかを示す、全ての前記個別部分をリストする文書シーケンス、及び、少なくとも１つの前記個別部分の内容に関するデータを有する文書の、前記文書シーケンス及び前記データに対して、デジタル署名ポリシーに従って個別にデジタル署名を適用するステップと、
前記文書に１つ又は複数の個別部分が追加され又は前記文書から１つ又は複数の個別部分が削除されることにより前記文書シーケンスが後に変更された場合に、前記文書シーケンスに対して適用された前記デジタル署名を無効にするステップと、
前記データが後に変更された場合に、前記文書シーケンスに対して適用された前記デジタル署名が有効であり、前記データに対して適用された前記デジタル署名が無効であることを示すステップと
を含む行為を実施する、
システム。
【請求項１３】
前記デジタル署名ポリシーが、サブセットの個々の個別部分が変更された場合に前記文書の構成が変更されたと見なされるように、前記構成に寄与する前記個別部分の前記サブセットを定義する、請求項１２に記載のシステム。
【請求項１４】
個々の個別部分を変更すると前記デジタル署名が無効になるように前記デジタル署名が前記サブセットの各個別部分に有効に適用される、請求項１３に記載のシステム。
【請求項１５】
前記デジタル署名ポリシーが、前記文書の変更を引き起こさずに前記文書に加えられ得るデータをユーザが任意選択で指定することを可能にする、請求項１３に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
ペーパーレス技術の採用は、多くのユーザが文書を署名するのにデジタル署名を使用したがらないことによって妨げられてきた。これらのユーザの多くは、文書のデジタル署名が実際に何を意味するかについて混乱している。ユーザは、文書がユーザの直接制御から離れると、署名された文書に対する制御を欠くことも認識している。例えば、文書がユーザのデジタル署名を有する間に、不正な第三者が文書を操作することがある。その結果、デジタル文書はしばしば、印刷され、次いで、通常のペン書きで署名される。その時点で、文書がスキャンされようが、ハードコピーとして扱われようが、潜在的な利点の多くが失われる。
【発明の開示】
【０００２】
指示されたデジタル署名ポリシーに関する技術について述べられる。ある場合では、システムが、文書を複数の論理部分として格納するための手段を含む。このシステムは、文書にデジタル署名が適用されるときの文書構成を確立する手段と、文書構成がその後に変更されるかどうか示す手段とを含む。
【０００３】
この要約は、以下の詳細な説明でさらに述べられる選択された概念を簡略化された形で述べるために提供される。この要約は、特許請求の範囲中に記載された主題の主なまたは本質的な特徴を識別するためのものではなく、また特許請求の範囲中に記載された主題の範囲を定める助けとして使用するためのものでもない。
【０００４】
述べられた技術は、電子文書をデジタル署名付きで維持するためのデジタル署名ポリシーに関する。例えば、発行側ユーザは、文書を構成し、その構成に満足するときに文書にデジタル署名することを決定してもよい。デジタル署名ポリシーは、ユーザによって署名された構成で文書を維持するために文書のどの部分をデジタル署名で包含するか確立するように、基礎となるデータレベルで機能する。デジタル署名がデジタル署名ポリシーに従って適用される場合、ポリシーに違反する文書のどんな後続の操作によってもデジタル署名が無効になる。したがって、デジタル署名が存在し続けることは、文書がデジタル署名されてから変更されていないという証拠となる。したがって、デジタル署名ポリシーは、署名された文書の内容に関する確実性のレベルの向上を容易にし、すなわち、文書は、デジタル署名が適用されまたは適用されなかったときに有していたのと同じ構成を有する。文書構成に関する確実性のレベルの向上は、契約交渉および共同作業による文書作成と同じように多様なシナリオにおいて生産性を向上させることに寄与することができる。
【０００５】
記述された署名ポリシーは、文書のデータを個別の論理エンティティまたは部分に格納する文書パッケージおよび／または文書タイプで利用される。こうした構成の一例は、識別可能なルート部分と、ルート部分の有効な処理のための関連部分とを有するツリー構造である。こうした構成では、一部の部分は、内容に関するデータベースを格納し、ルート部分などの他の部分は、他の部分の相互関係を伝えるデータを格納する。例えば、ある部分は、所与のページの内容に関することがあり、別の部分は、所与のページの他のページに対する位置に関することがある。これを考慮して、デジタル署名ポリシーは、ユーザに提示された文書構成の維持のために、文書またはパッケージのどの基礎部分が包含されるか指定する。別の言い方をすると、デジタル署名ポリシーは、文書への後の変更を検出するために構成を利用することができるように、文書がデジタル署名されたときの文書の構成を有効に記録するように機能する。デジタル署名ポリシーは、こうした変更を検出し、それに応答してユーザの署名を無効にすることができる。少なくとも一部の実装形態は、将来のユーザによって文書の他のどの部分が、またどんなやり方で変更され得るかユーザが指定することをさらに可能にする。例えば、発行側ユーザは、文書に署名するときに、消費側ユーザが例えば、発行側ユーザの署名を無効にせずに文書に注釈を加えることができることを指定してもよい。
【０００６】
例示的なシステム
図１は、電子文書１０１が、それがデジタル署名されたときの文書の構成に一致したままかどうか判断するための署名ポリシーを実施するように構成された例示的なシステム１００を示す。システム１００は、デジタルデータ交換プラットフォーム１０６を介してコンシューマ１０４に結合されたパブリッシャ１０２を含む。デジタルデータ交換プラットフォームは、デジタルデータを転送するいずれかの手段を含むことができる。例えば、電子文書１０１を転送するために様々なタイプのネットワークが使用されてもよい。別の実施例では、電子文書は、ディスクやフラッシュデバイスなど、何らかのタイプの記憶媒体内に格納され、ある人から別の人に物理的に渡されてもよい。この場合、パブリッシャ１０２は、発行側ユーザ１１４のためのユーザインターフェースを作成するように物理的なコンピューティング装置上で動作するプログラムまたはソフトウェアを含む。同様に、コンシューマ１０４は、消費側ユーザ１２４のためのユーザインターフェースを作成するように物理的なコンピューティング装置上で動作するプログラムまたはソフトウェアを含む。
【０００７】
システム１００は、後に消費側ユーザ１２４に提示され得る文書１０１を生成するために発行側ユーザ１１４がパブリッシャ１０２と対話することを可能にするように構成される。文書作成プロセスの間のある時点で、発行側ユーザは、発行側ユーザがデジタル署名したいと望む文書構成に達することがある。パブリッシャ１０２上で動作するデジタル署名ポリシーは、文書１０１の構成を維持するのに十分な発行側ユーザのデジタル署名によってどの基礎文書部分が包含されるか指定する。消費側ユーザ１２４は、その後に文書１０１にアクセスすることができる。コンシューマ１０４は、文書１０１を開き、デジタル署名ポリシーに従って文書を検査する。発行側ユーザのデジタル署名が有効なままである場合では、有効な署名が存在することによって、文書が発行側ユーザの意図した構成と一致したままであることが消費側ユーザに保証される。デジタル署名が無効にされた場合では、消費側ユーザは、文書が変更されたという知識に基づいてそれに応じて行動することができる。同様に、文書がその後に発行側ユーザに戻される場合、パブリッシャは、発行側ユーザのデジタル署名が依然として有効かどうか査定することができる。次いで、発行側ユーザは、文書が変更されたかどうか知り、それに応じて行動することができる。
【０００８】
図２は、一実装形態に従ってデジタル署名ポリシーが実施され得る例示的な文書フォーマット２００の一般的な例を示している。この場合、文書フォーマット２００は、データを複数の個別の論理部分に格納する。パブリッシャまたはコンシューマによって解析されるとき、論理部分はまとまって、２０２で全体が示されるようにユーザに提示される文書の構成を作成する。文書は、テキスト、画像および／または他の通常の文書コンテンツを含んでもよい。この場合、論理部分は、第１の文書部分２０４、第２の文書部分２０６および第３の文書部分２０８として例示されている。もちろん、この実施例のほかに、他の例示的な文書フォーマットが、論理部分を別のやり方で編成してもよい。例えば、論理部分のツリータイプ編成の実施例について、下記に述べられる。
【０００９】
説明のために、作成者または発行側ユーザが文書２０２にデジタル署名をその現在の形または構成で適用することを望むシナリオについて考慮されたい。デジタル署名ポリシーは、現在の構成を確立するために、文書のどの部分がデジタル署名によって包含されるか指定する。例えば、この実施例では、デジタル署名ポリシーが、デジタル署名を伴う３つのすべての文書部分２０４、２０６および２０８を包含すると仮定する。指定された部分のいずれかの後のどんな変更によっても、発行側ユーザのデジタル署名が無効になる。したがって、有効なデジタル署名は、文書が、それが署名されたときの構成で存在することを示す。一部の実装形態では、デジタル署名ポリシーは、発行側ユーザが、デジタル署名を無効にせずに文書に加えられ得る追加のデータを指定することを可能にしてもよい。こうした実装形態の例について、図４に関して下記に述べられる。あるいはまたはさらに、一部の実装形態では、デジタル署名ポリシーは、文書の構成が変更されるときには必ず署名側ユーザのデジタル署名が無効にされることを保証するために、デジタル署名によって包含される必要のある減少した数または最小数の文書部分を定義する。
【００１０】
図３〜４は、一実装形態に従ってデジタル署名ポリシーが実施され得る文書フォーマットを例示する文書を示している。これらの文書が実施され得るこうした１つの文書フォーマットは、ワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社によって開発されたＸＭＬ文書仕様（ＸＰＳ：ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）文書フォーマットである。ＸＰＳ文書フォーマットに関する詳細は、少なくともｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｗｈｄｃ／Ｄｅｖｉｃｅ／ｐｒｉｎｔ／ｍｅｔｒｏ．ｍｓｐｘで公的に入手可能である。
【００１１】
この特定の実施例では、デジタル署名ポリシーは、文書が署名付きと見なされるように、どの文書部分がデジタル署名によって包含されるか示す。デジタル署名が指定された文書部分より少ない部分を包含する場合は、文書は、デジタル署名を無効にせずに後に変更され、したがって、デジタル署名が適用されたときの文書の構成に関する曖昧さをもたらすことがある。別の言い方をすると、デジタル署名ポリシーの機能は、署名時の文書構成のスナップショットを有効に作成するために、デジタル署名によってどの部分が包含されるか指定することである。図３〜４は、特定のシナリオにおいてデジタル署名ポリシーがどのように実施され得るかについての具体的な実施例を示している。当業者には、他のシナリオが当然認識されよう。
【００１２】
図３は、パッケージ関係部分３０１と、文書シーケンス部分３０２と、関連文書シーケンス（ＤＳ：ｄｏｃｕｍｅｎｔ  ｓｅｑｕｅｎｃｅ）関係部分３０３と、少なくとも１つの固定文書部分とを含む文書３００を示している。個々の固定文書の部分は、個々の固定文書（ＦＤ：ｆｉｘｅｄ  ｄｏｃｕｍｅｎｔ）関係部分に関連付けられる。この実施例では、３つの固定文書部分３０４、３０６および３０８が示されているが、他の実施例は、任意の数の固定文書部分を有し得る。図３が現れる文書の物理的な制約により、ＦＤ関係部分３０９は、固定文書部分３０４についてだけ示されている。
【００１３】
パッケージ関係３０１は、そのターゲットが一部分であり、そのソースがパッケージ全体である関係である。文書シーケンス部分３０２は、固定文書部分３０４、３０６および３０８を参照するマークアップを含む。別の言い方をすると、文書シーケンスは、文書３００内にどの固定文書が含まれるかリストする部分である。固定文書部分３０４、３０６または３０８のうちの１つまたは複数のどんな削除も、文書シーケンス部分３０２に反映される。同様に、新しい固定文書部分のどんな追加も、文書シーケンス部分に反映される。
【００１４】
個々の固定文書部分は、固定ページ部分を参照する。別の言い方をすると、固定文書部分は、その個々の固定ページのリストを含む。図３が現れる物理的ページのスペースの制約により、固定ページ部分は、固定文書部分３０４との関連付けでのみ示されている。この場合では、２つの固定ページ部分３１０および３１２が示されているが、個々の固定文書部分によって任意の数の固定ページ部分が参照され得る。固定ページ部分のいずれの削除または追加も、関連する固定文書部分に反映される。
【００１５】
個々の固定ページ部分は、個々のページがリンクされるリソースのすべてを指定する関係部分を通ってそのリソース部分にリンクされる。例えば、固定ページ部分３１０は、固定ページ（ＦＰ：ｆｉｘｅｄ  ｐａｇｅ）関係部分３２０を通ってリソース部分３２２、３２４に関連付けられる。図面ページの物理的制約により、関係部分およびリソース部分は、固定ページ部分３１２に関しては示されていない。固定ページ部分からの内容のいずれの削除または追加も、固定ページ部分および／または関連する関係部分に反映される。さらに、所与のリソースへのどんな変更も、そのリソースに反映される。
【００１６】
デジタル署名ポリシーは、デジタル署名が適用されるときの文書３００の構成または内容を確立する働きをする。この特定の実施例では、デジタル署名ポリシーは、デジタル署名がパッケージ関係部分３０１、文書シーケンス部分３０２、固定文書部分３０４、３０６および３０８、固定ページ部分３１０、３１２、リソース部分３２２、３２４、関連する関係部分３０３、３０９および３２０を包含しなければならないことを指定する。デジタル署名ポリシー規則は、データを複数の論理部分として格納する文書が、ユーザによってデジタル署名された構成で維持されることを保証するための機構を提供する。文書が論理部分として格納される場合では、文書構成は、部分の相互関係、ならびに部分内のデータから確立される。したがって、デジタル署名ポリシーは、部分相互関係と部分内データの両方を確立する働きをする。文書構成が部分相互関係または部分内データ、あるいはその両方によって変更される場合には、デジタル署名ポリシーは、デジタル署名を無効にさせる。こうしたデジタル署名ポリシー機構は、作成者または後続のユーザが、文書がデジタル署名に関連する構成と一致したままかどうか判断することを可能にする。
【００１７】
説明するために、文書３００が発行側ユーザによって、上記で指定されたデジタル署名ポリシーに従って、デジタル署名がパッケージ関係部分３０１、文書シーケンス部分３０２、ならびにその文書シーケンス関係部分３０３、固定文書部分３０４、３０６、３０８、およびその各々の固定文書関係部分（ＦＤ関係部分３０９だけが具体的に指定されている）、固定ページ部分３１０、３１２、ならびに固定ページ関係部分３２０およびリソース部分３２２、３２４を包含するようにデジタル署名されると仮定する。こうした場合、署名時に発行側ユーザのために表される文書構成は、デジタル署名ポリシーによって指定された署名付き部分によって有効に包含される。後続のユーザが文書３００に新しい固定文書を追加することを試みるとさらに仮定する。新しい文書は、文書シーケンス部分３０２に表される。文書シーケンス部へのこの変更によって、発行側ユーザのデジタル署名は、デジタル署名ポリシーに従って無効にされる。この特定の実装形態では、デジタル署名が無効にされるという事実は、ユーザが容易に気づくやり方で視覚的に表されてもよい。他の実装形態は、ユーザが実施しようとしている行為によって文書のデジタル署名が無効になることの警告をユーザに提供してもよい。しかし、この実装形態では、デジタル署名ポリシーは、消費側ユーザが新しい文書を追加してデジタル署名を無効することを回避しない。そうではなく、こうした行為によって、単にデジタル署名が無効になり、このシステムは、ユーザが適切と思うように行動するように、ユーザにこの情報を与える。例えば、消費側ユーザは、発行側ユーザの無効にされた署名を伴う文書を受け取る場合、その文書を改ざんされていると見なし、署名された新しい文書を発行側ユーザに要求してもよい。
【００１８】
上記実施例と同様に、後続のユーザが特定の固定ページ部分によって参照されたリソースを削除して、そのリソースを異なるリソースで置き換えようとするシナリオについて考慮されたい。例えば、リソースは、ユーザが第２の異なる画像で置き換えようとする画像であり得る。こうした行為は、変更（この場合は、文書の署名付きの部分を削除）しようとしているので、発行側ユーザのデジタル署名を無効にさせる。この実施例では、参照された画像の変更に応答してデジタル署名を無効にすることは、デジタル署名ポリシーの機能に一致する。例示するために、文書３００は、所与の価格で家を建築することの建築者による提案であると仮定する。参照された画像が、提案に含まれた家の青写真であるとさらに仮定する。提案の価格は、その特定の青写真を前提とするものである。したがって、建築者は、代わりの青写真に基づいて建築者が提案を作成したように見えるように、家主などの誰かが異なる青写真を代用できることを望まない。デジタル署名ポリシーは、提案が、建築者によって提案に署名された構成のままであること、または提案が、建築者によって署名された構成ともやは一致しないように変更されていることを建築者および／または家主に通知するように機能する。
【００１９】
図４は、文書が署名されていると見なされるにはどの文書部分がデジタル署名によって包含されるべきかデジタル署名ポリシーが指定する、別の文書４００を示している。文書がデジタル署名ポリシーに従ってデジタル署名される場合、デジタル署名は、それがデジタル署名されたときの文書の構成をキャプチャする。別の言い方をすると、この実装形態では、デジタル署名ポリシーは、内容が元のままの状態であると見なされるにはパッケージのどの部分が変化してはいけないか指定する。有効性を保証するために、一部のクライアントアプリケーションおよび／またはユーザは、パッケージ内の部分および関係のすべてが署名され、有効にされることを求めることがある。他のクライアントは、コンテンツが変化していないことを示すために、選択された部分または関係だけが署名され有効にされることを求めることがある。デジタル署名ポリシーは、パッケージの部分が変更可能なままであることを可能にしながら、署名される内容を定義する柔軟性を提供する。文書４００は、署名側ユーザが、ユーザのデジタル署名を壊さずに文書の特定の内容が変更され得る場合を指定してもよいシナリオの一例を提供している。
【００２０】
文書４００は、パッケージ関係部分４０２と、デジタル署名定義部分４０４と、コアプロパティ部分４０６とを含む。この場合、デジタル署名定義部分、コアプロパティ部分４０６およびパッケージ関係部分４０２は、パッケージレベルで定義され、したがって、文書レベルで継承され、デジタル署名ポリシーによって維持される。パッケージ関係４０２は、そのターゲットが一部分であり、そのソースがパッケージ全体である関係である。デジタル署名定義部４０４は、発行側ユーザが、文書にデジタル署名するように要求される１組の人、および要求された各デジタル署名に関連する条件または定義を定義することを可能にする。コアプロパティ部分は、ユーザが文書内で定義することができる１つまたは複数のプロパティに関する。例えば、１つのこうしたコアプロパティは、ユーザが希望する任意の名前または偽名を用いて自由に指定できる「文書作成者」であり得る。
【００２１】
文書４００はさらに、関連する文書シーケンス（ＤＳ）関係部分４１２を伴う文書シーケンス部４１０と、関連する固定文書（ＦＤ）関係部分４１６を伴う固定文書部分４１４とを含む。固定文書部分４１４は、固定ページ部分４１８および注釈部分４２０を参照する。固定ページ部分４１８は、固定ページ（ＦＰ）関係部分４２２に示されるように、リソース部分４２４にリンクされる。この特定の実装形態は、下記により詳細に論じられるサムネイル部分４２６をも含む。
【００２２】
デジタル署名ポリシーは、デジタル署名が適用されるときの文書４００の内容を確立するように機能する。この実装形態では、デジタル署名ポリシーは、文書がデジタル署名ポリシーに従うように、デジタル署名がパッケージ関係部分４０２、文書シーケンス部４１０およびそのＤＳ関係部分４１２、固定文書部分４１４およびそのＦＤ関係部分４１６、固定ページ部分４１８およびそのＦＰ関係部分４２２、ならびにリソース部分４２４を包含することを指定する。デジタル署名ポリシーはさらに、デジタル署名が、存在する場合にはサムネイル４２６を包含することを示す。もちろん、上記部分のそれぞれの単一の例だけが示されているが、多くの実装形態が部分４１４〜４２６の複数の例を有する。
【００２３】
この場合、パッケージ関係４０２に署名すると、後続のユーザが署名側ユーザのデジタル署名を無効にせずにパッケージ関係を変更することができなくなる。同様に、文書シーケンス部４１０およびそのＤＳ関係部分４１２に署名すると、デジタル署名を無効にせずに既存の固定文書の削除または新しい固定文書の追加を行うことができなくなる。固定文書部分４１４およびそのＦＤ関係部分４１６に署名すると、固定文書のページ順の変更、あるいは固定ページの削除または追加ができなくなる。固定ページ部分４１８およびそのＦＰ関係部分４２２への署名は、ページの内容が変更されることを防ぐ働きをする。リソース部分４２４に署名すると、リソース部分を削除しまたは置き換えることができなくなる。同様に、図示された実装形態のように、存在する場合にサムネイル部分に署名すると、署名を壊さずにサムネイル４２６を置き換えまたは削除することができなくなる。同様に、ここで示されるようにデジタル署名定義部分４０４が存在する場合、デジタル署名ポリシーは、デジタル署名を伴うデジタル署名定義部分を包含する。デジタル署名ポリシーは機能上、署名された構成から文書が変更されているかどうかに関する表示を集合的に提供するために、これらのコンポーネントのそれぞれに署名する。
【００２４】
この実装形態では、デジタル署名ポリシーは、署名側ユーザが、署名側ユーザのデジタル署名を無効にせずに文書の特定の部分の内容が操作され得るかどうか決定することを可能にする。例えば、署名側ユーザは、後続のユーザが、署名側ユーザのデジタル署名を無効にせず文書に内容を追加できることを望むであろうか。こうした１つの場合では、署名側ユーザは、後続ユーザが文書にデジタル署名を追加することを可能にするかどうか決定することができる。別の場合では、署名ユーザは、後続のユーザが文書へのコアプロパティ変更を行うことを可能にするかどうか決定することができる。別の場合では、署名側ユーザは、後続のユーザが文書に注釈を加えることを可能にするかどうか決定することができる。これらのオプションはそれぞれ、他とは独立したものであり、署名側ユーザは、文書へのオプションの追加も、いずれかの所望の組合せも可能にしないことがある。
【００２５】
図５は、コアプロパティに関する論理テーブル５００の形のデジタル署名ポリシーの一例を示している。論理テーブル５００は、相互排他的な２つのシナリオに関する。第１のシナリオでは、５０２に示されるように、署名側ユーザは、コアプロパティの変更を可能にすることを望む。第２のシナリオでは、５０４に示されるように、署名側ユーザは、コアプロパティの変更を可能にすることを望まない。２つのシナリオ５０２、５０４に関して、２つの状況のうちの１つが存在する。５０６に示されるようにコアプロパティ部分が存在し、あるいは５０８に示されるようにコアプロパティ部分が存在しない。
【００２６】
５１０に示されるように、署名側ユーザがコアプロパティの変更を可能にすることを望み、コアプロパティが存在する場合は、デジタル署名ポリシーは、ユーザが文書にデジタル署名するときにコアプロパティ部分を無署名のままにしておくが、ポリシーは、図４に関して述べたパッケージ関係にユーザのデジタル署名を適用する。パッケージ関係は、コアプロパティ部分へのリンクを含み、したがって、後続のユーザは、ユーザの署名を無効にせずにコアプロパティを変更することができる。
【００２７】
５１２に示されるように、署名側ユーザがコアプロパティ変更を可能にすることを望み、またコアプロパティが存在しない場合は、デジタル署名ポリシーは、ユーザが文書にデジタル署名する前にコアプロパティ部分を作成する。コアプロパティ部分は、この時点では空であり得るが、署名の前にそれを作成することによって、後に内容が追加されることが可能になる。次いで、コアプロパティ部分は、コアプロパティへの後続の変更が行われ得るように無署名のままにされる。上記のように、ユーザのデジタル署名は、要素（ｍａｔｅｒｉａｌ）が変更されまたは削除されないようにするために、パッケージ関係に適用される。
【００２８】
５１４に示されるように、署名側ユーザがコアプロパティの追加を可能にすることを望まず、またコアプロパティが存在する場合は、デジタル署名ポリシーは、ユーザのデジタル署名でコアプロパティ部分、ならびにパッケージ関係に署名する。こうしたシナリオでは、ユーザのデジタル署名は、コアプロパティ部分へのどんな変更によってもユーザの署名が無効になるように、コアプロパティ部分を包含する。
【００２９】
最後に、５１６に示されるように、署名側ユーザがコアプロパティの追加を可能にすることを望まず、またコアプロパティ部分が存在しない場合は、デジタル署名ポリシーは、ユーザが文書にデジタル署名する前にコアプロパティ部分を作成しない。他のシナリオと同様に、デジタル署名は、パッケージ関係に適用される。このシナリオでは、次にコアプロパティを追加するには、コアプロパティ部分の追加が必要である。コアプロパティ部分を追加すると、パッケージ関係部分が変更され、それによって、ユーザの署名が無効になる。
【００３０】
図４〜５をまとめて参照すると、デジタル署名ポリシーは、コアプロパティに関して上述されたのと同じやり方で注釈を扱うことができる。注釈は、固定文書部分４１４によって参照される注釈部分４２０に追加される。注釈部分がユーザのデジタル署名によって包含される場合は、注釈を加えると署名が無効になる。注釈部分が存在しない場合は、デジタル署名が適用された後に注釈部分を作成すると、固定文書部分が変更され、署名が無効になる。署名側ユーザが、注釈が追加されることを可能にしたい場合は、注釈部分が署名時に存在すべきであり、また無署名にしておかれるべきである。注釈部分は、文書にデジタル署名する前に作成されてもよい。こうした場合では、新しく作成された注釈部分は、ユーザのデジタル署名が適用されるときに空であることがある。
【００３１】
図６は、図４に表された文書４００に関連付けられ得るようなデジタル署名部分に関する。この実装形態では、デジタル署名部分は、署名起点部分６０２と、署名部分と、証明書部分とを含む。この場合、２つの署名部分６０４、６０６が、２つの証明書部分６０８、６１０と同様に表されている。この実装形態は、証明書部分６０８および６１０を別々の個別の部分として明示している。他の実装形態では、証明書部分は、関連する署名部分に組み込まれてもよい。署名起点部分６０２は、文書の使用可能なデジタル署名上を移動して見る（ｎａｖｉｇａｔｅ）ための始点を提供する。デジタル署名ポリシーによって指定された部分を包含するデジタル署名を含んでおり、また適切に検証される６０６や６０８などの署名部分は、有効であると見なされ得る。例えば、このシステムは、正確な部分がデジタル署名ポリシーに従って署名されていることを検証する。このシステムはさらに、上記のコアプロパティなど、任意選択で署名された部分の状況、および任意選択で署名された部分の状態がどのようにユーザに影響を及ぼしているか検証する。このシステムは、署名された部分について、署名が有効であることをも検証する。例えば、このシステムは、当業者に当然認識されるように、ハッシュ計算が一致するかどうかチェックする。
【００３２】
別の言い方をすると、署名部分がデジタル署名ポリシーと一致する文書部分を包含し、また署名検証が成功する場合は、文書は、ＸＰＳ文書など、有効な署名付き文書と見なされ得る。こうした場合では、ユーザは、こうした文書が、有効なデジタル署名が適用されたときに存在したのと同じ構成を有していると見なすことができる。
【００３３】
デジタル署名ポリシーは、追加の要素が文書に追加され得るかどうかに関する柔軟な解決策を提供する。この解決策は、発行側ユーザが、もしあるならばどんなオプションの要素が、デジタル署名を無効にせずに追加され得るか指定することを可能にする。次いで、デジタル署名ポリシーは、文書の現在の構成を考慮に入れ、それに応じて、図４〜６に上述されたように部分を作成しまたはそれに署名するように働く。少なくとも一部の実装形態は、スイッチに類似する。例えば、作成者が署名保護をオンにし、誰かがデジタル署名を追加する場合は、デジタル署名ポリシーは、作成者のデジタル署名を壊す。作成者が署名保護を望まない場合は、作成者のデジタル署名に影響を及ぼさずに、誰かがデジタル署名を追加することができる。同じ原理が、注釈およびコアプロパティなどの他のオプションの追加に適用される。したがって、この解決策は、それが署名側ユーザにポリシーパラメータを定義させ、デジタル署名ポリシーがそれに応じて、後続のユーザが署名側ユーザのデジタル署名を壊さずに内容を追加することを可能にするという点で、非常に柔軟である。しかし、その柔軟性にもかかわらず、デジタル署名ポリシーは、消費側ユーザのデジタル署名を壊さずに文書構成を誰かが変更することを防止し続ける。エンドユーザレベルでは、述べられたデジタル署名ポリシーは、ユーザのデジタル署名を有する文書が、ユーザによってデジタル署名された構成に一致したままであることの信頼性を向上させる。デジタル署名ポリシーは、デジタル署名ポリシーに従う文書および文書フォーマットと対話することができる他のソフトウェア製品に適合し、かつ／またはそれによって理解され得るデジタル署名ポリシーを確立するのにも有用である。デジタル署名ポリシーは、署名付き文書によって実際に何が包含されるか、デジタル署名ポリシーに従う署名付き文書をどのように生成するか、かつ／または文書のデジタル署名が有効かどうか判断するために、受信された文書をどのように評価するかについての規格を定義する。要約すると、デジタル署名ポリシーは、デジタル署名された文書が実際に何を意味するか定義する。
【００３４】
例示的なコンピューティング環境
図７は、デジタル署名ポリシーが実施され得る、例示的なシステムまたはコンピューティング環境７００を表している。システム７００は、第１のマシン７０１および第２のマシン７０２の形の汎用コンピューティングシステムを含む。
【００３５】
第１のマシン７０１の構成要素は、それだけに限らないが、１つまたは複数のプロセッサ７０４（例えばマイクロプロセッサ、コントローラなどのいずれか）、システムメモリ７０６と、様々なシステム構成要素を結合するシステムバス７０８とを含み得る。１つまたは複数のプロセッサ７０４は、第１のマシン７０１の動作を制御し、また他の電子およびコンピューティング装置と通信するための様々なコンピュータ実行可能命令を処理する。システムバス７０８は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレイテッドグラフィックポートおよびプロセッサ、または様々なバス構造のいずれかを使用したローカルバスを含めて、任意の数の複数のタイプのバス構造のいずれかを表す。
【００３６】
システム７００は、第１のマシン７０１によってアクセス可能である任意の媒体であり得る様々なコンピュータ読取り可能媒体を含み、揮発性と不揮発性、取外し可能と取外し不可能の両方の媒体を含む。システムメモリ７０６は、ランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）７１０などの揮発性メモリ、および／または読取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）７１２などの不揮発性メモリの形のコンピュータ読取り可能媒体を含む。基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）７１４は、起動時などに第１のマシン７０１内の構成要素間の情報転送を円滑に進める基本ルーチンを維持し、ＲＯＭ  ７１２に格納される。ＲＡＭ  ７１０は一般に、プロセッサ７０４のうちの１つまたは複数から直ぐにアクセス可能であり、かつ／またはそれによる操作を現在受けているデータおよび／またはプログラムモジュールを含む。
【００３７】
第１のマシン７０１は、他の取外し可能／取外し不可能、揮発性／不揮発性のコンピュータ記憶媒体を含んでもよい。例を挙げると、ハードディスクドライブ７１６は、取外し不可能な不揮発性の磁気媒体（図示せず）から読み出し、かつそこに書き込み、磁気ディスクドライブ７１８は、取外し可能な不揮発性の磁気ディスク７２０（例えば「フロッピー（登録商標）ディスク」）から読み出し、かつそこに書き込み、光ディスクドライブ７２２は、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）または他のいずれかのタイプの光学媒体など、取外し可能な不揮発性の光ディスク７２４から読み出し、かつ／またはそこに書き込む。この実施例では、ハードディスクドライブ７１６、磁気ディスクドライブ７１８および光ディスクドライブ７２２はそれぞれ、１つまたは複数のデータメディアインターフェース７２６によってシステムバス７０８に接続される。ディスクドライブおよび関連するコンピュータ読取り可能媒体は、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、および第１のマシン７０１のための他のデータの不揮発性記憶域を提供する。
【００３８】
例を挙げると、オペレーティングシステム７２６、１つまたは複数のアプリケーションプログラム７２８、他のプログラムモジュール７３０およびプログラムデータ７３２を含めて、任意の数のプログラムモジュールが、ハードディスク７１６、磁気ディスク７２０、光ディスク７２４、ＲＯＭ７１２および／またはＲＡＭ７１０に格納され得る。こうしたオペレーティングシステム７２６、アプリケーションプログラム７２８、他のプログラムモジュール７３０およびプログラムデータ７３２（またはその何らかの組合せ）は、本明細書で述べられたシステムおよび方法の一実施形態を含んでもよい。
【００３９】
ユーザは、キーボード７３４およびポインティング装置７３６（例えば「マウス」）など、任意の数の異なる入力装置を介して第１のマシン７０１とインターフェースすることができる。他の入力装置７３８（具体的には図示せず）は、マイクロホン、ジョイスティック、ゲームパッド、コントローラ、衛星放送アンテナ、シリアルポート、スキャナおよび／または同類物を含んでもよい。これらおよび他の入力装置は、システムバス７０８に結合された入出力インターフェース７４０を介してプロセッサ７０４に結合されるが、パラレルポート、ゲームポートおよび／またはユニバーサルシリアルバス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）など、他のインターフェースおよびバス構造によって接続されてもよい。
【００４０】
モニタ７４２または他のタイプの表示装置が、ビデオアダプタ７４４などのインターフェースを介してシステムバス７０８に接続され得る。モニタ７４２に加えて、他の出力周辺装置は、入出力インターフェース７４０を介して第１のマシン７０１に接続され得るスピーカ（図示せず）およびプリンタ７４６などの構成要素を含むことができる。
【００４１】
第１のマシン７０１は、第２のマシン７０２などの１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で動作することができる。例を挙げると、第２のマシン７０２は、パーソナルコンピュータ、携帯型コンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイスまたは他の共通ネットワークノードなどであり得る。第２のマシン７０２は、第１のマシン７０１に関して本明細書で述べられた要素および特徴の多くまたはすべてを含み得るポータブルコンピュータとして示される。
【００４２】
第１のマシン７０１と第２のマシン７０２の間の論理接続は、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）７５０および一般的な広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）７５２として示される。こうしたネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは一般的である。ＬＡＮネットワーキング環境内で実施されるとき、第１のマシン７０１は、ネットワークインターフェースまたはアダプタ７５４を介してローカルネットワーク７５０に接続される。ＷＡＮネットワーキング環境内で実施されるとき、第１のマシン７０１は一般に、モデム７５６、または広域ネットワーク７５２を介して通信を確立する他の手段を含む。第１のマシン７０１の内部にあることも、外部にあることもあるモデム７５６は、入出力インターフェース７４０または他の適切な機構を介してシステムバス７０８に接続され得る。示されたネットワーク接続は例示的なものであり、第１と第２のマシン７０１、７０２間の通信リンクを確立する他の手段が利用され得る。
【００４３】
システム７００で示されたようなネットワーク化された環境では、第１のマシン７０１に関して示されたプログラムモジュール、またはその一部は、リモートメモリ記憶装置内に格納されてもよい。例を挙げると、リモートアプリケーションプログラム７５８は、第２のマシン７０２のメモリ装置で維持される。例示するため、アプリケーションプログラム、およびオペレーティングシステム７２６などの他の実行可能プログラムコンポーネントは、本明細書では個別のブロックとして示されているが、こうしたプログラムおよびコンポーネントは、様々なときに第１のマシン７０１のそれぞれ異なる記憶コンポーネント内に常駐し、第１のマシンのプロセッサ７０４によって実行されることが認識されよう。
【００４４】
例示的なプロセス
図８は、デジタル署名ポリシーに関連する例示的なプロセス８００を示している。プロセスが示される順序は、限定と見なされるものではなく、任意の数の示されたプロセスブロックが、プロセスを実施する任意の順序で組み合わされ得る。さらに、プロセスは、任意の適切なハードウェア、ソフトウェア、ファームウェアまたはその組合せで実施され得る。
【００４５】
ブロック８０２で、プロセスは、デジタル署名ポリシーに従ってユーザのデジタル署名で包含する文書の部分を決定する。一部の実装形態では、デジタル署名ポリシーは、文書のすべての部分がデジタル署名されることを指定することができる。他の実装形態では、デジタル署名ポリシーは、デジタル署名される部分のサブセットを指定することができる。例えば、一実装形態では、デジタル署名ポリシーは、署名時に表された文書構成に寄与する部分に適用される。こうした場合では、デジタル署名ポリシーは、署名の後に文書が、ユーザが署名した文書構成から文書構成を変更するようなやり方で変更されているかどうかユーザおよび／または他のユーザに通知するように機能する。
【００４６】
ブロック８０４で、プロセスは、ブロック８０２で決定された部分にデジタル署名を適用する。ユーザのデジタル署名は、部分のうちのいずれかが変更される場合にはデジタル署名が壊されまたは無効にされるように、デジタル署名ポリシーによって指定されたすべての部分に有効に適用される。部分のいずれかに関するデジタル署名を壊すと、文書のデジタル署名全体が壊される。基礎となるその論理的根拠は、指定された部分のいずれかを変更すると文書構成が変更され得ることである。
【００４７】
このプロセスは、ユーザおよび／または後続のユーザが文書の扱い方についてより十分な知識を得たうえで決定することができるように、デジタル署名が有効のままかどうか表すことができる。デジタル署名ポリシーは、ユーザへの信頼性の度合いが増した環境を有効にもたらす。例えば、発行側ユーザが特定の文書構成に満足していており、その文書をデジタル署名する場合、デジタル署名ポリシーは、ユーザのデジタル署名が有効なままである限り、発行側ユーザと、いずれかの消費側ユーザの両方が、発行側ユーザによってデジタル署名された文書構成を見ているという確信をもって行動できることを保証する。これは、発行側ユーザが所望の文書構成にデジタル署名し、次いで、契約交渉において遭遇し得るような、相反する消費側に文書を送るシナリオにおいて特に有用であり得る。次いで、消費側ユーザが発行側ユーザに文書を返送する場合、発行側ユーザは、消費側が、検出するのは難しいが重要な何らかの変更を文書に加えたことに非常に用心することがある。デジタル署名ポリシーの機能性によって、発行側ユーザは、戻された文書が発行側ユーザがデジタル署名した同じ構成を有するか容易に判断することができる。デジタル署名ポリシーがユーザへのより高いレベルの信頼性をもたらすので、それは、特にユーザによって重要と見なされる事柄において、デジタル文書の受入れのレベルの向上を促し得る。さらに、システム面から見ると、デジタル署名ポリシーは、デジタル署名ポリシーに従う文書と対話し、またはそれをサポートすることができるソフトウェア製品間の相互運用性を促進する。
【００４８】
デジタル署名ポリシーに関する実装形態について、構造的特徴および／または方法に特有の言語で述べられたが、添付の特許請求の範囲の主題は、示された特定の特徴または方法に必ずしも限定されないことを理解されたい。そうではなく、特定の特徴および方法は、上記および下記に示された概念についての実装形態の例を提供するものである。
【図面の簡単な説明】
【００４９】
【図１】一実装形態に従ってデジタル署名ポリシーが実施され得る例示的なシステムを示す図である。
【図２】一実装形態に従ってデジタル署名ポリシーが実施され得る例示的な文書構成を示す図である。
【図３】一実装形態に従ってデジタル署名ポリシーが実施され得る例示的な文書構成を示す図である。
【図４】一実装形態に従ってデジタル署名ポリシーが実施され得る例示的な文書構成を示す図である。
【図５】一実装形態に従ってデジタル署名ポリシーが実施され得る例示的な文書構成を示す図である。
【図６】一実装形態に従ってデジタル署名ポリシーが実施され得る例示的な文書構成を示す図である。
【図７】一実装形態に従ってデジタル署名ポリシーが実施され得る例示的なシステム、装置、および環境内の構成要素を示す図である。
【図８】一実装形態による、デジタル署名ポリシーに関する例示的なプロセス図である。
【図１】
0005411500.tif 000002
【図２】
0005411500.tif 000003
【図３】
0005411500.tif 000004
【図４】
0005411500.tif 000005
【図５】
0005411500.tif 000006
【図６】
0005411500.tif 000007
【図７】
0005411500.tif 000008
【図８】
0005411500.tif 000009