(57)【要約】【課題】  構成要素の再利用先において、署名を再度生成することなく、構成要素が改竄されているか否かを検証可能とする。【解決手段】  Ｓ８００において、複数の構成要素と、前記構成要素に対応する署名情報からなる文書データを入力する。Ｓ８０１において、構成要素のうち、少なくとも一つの構成要素を選択する。Ｓ８０２において、選択された構成要素に対応する署名情報を検索し、Ｓ８０３において、選択された構成要素と構成要素の署名情報をメモリに記憶する。Ｓ８０４において選択された貼り付け先の文書に対して、記憶された構成要素と署名情報を貼り付ける（Ｓ８０５）。【選択図】  図８
2007102757.tif 000002
【特許請求の範囲】
【請求項１】
複数の構成要素と、前記構成要素に対応する署名情報からなる文書データを入力する入力工程と、
前記構成要素のうち、少なくとも一つの構成要素を選択する選択工程と、
前記選択された構成要素に対応する署名情報を検索する検索工程と、
前記選択された構成要素と前記構成要素の署名情報をメモリに記憶する記憶工程と、
前記記憶された構成要素と署名情報より、文書データを生成する生成工程を有することを特徴とする情報処理方法。
【請求項２】
前記生成工程は、前記記憶された構成要素と署名情報を、文書データに貼り付けることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記署名情報は、対応する構成要素を示すポインタ情報を含み、前記検索工程は、前記選択された構成要素に対応するポインタ情報を検索することを特徴とする請求項１又は２に記載の情報処理方法。
【請求項４】
前記入力工程で入力された文書データは、構成要素と前記構成要素に対応する署名情報を示す対応表を含み、前記検索工程は、前記対応表を用いて、前記選択された構成要素に対応する署名情報を検索することを特徴とする請求項１又は２に記載の情報処理方法。
【請求項５】
前記構成要素は、属性、レイアウト情報、文字コード列、文書構造、解像度可変のラスタ画像、ベクタ画像、モノクロ画像、カラー画像、三次元画像、文字認識した結果のテキスト情報、フォント情報の何れかであることを特徴とする請求項１〜４の何れか１項に記載の情報処理方法。
【請求項６】
前記構成要素の属性とは、文字、写真、線画、表である請求項５に記載の情報処理方法。
【請求項７】
複数の構成要素と、前記構成要素に対応する署名情報からなる文書データを入力する入力手段と、
前記構成要素のうち、少なくとも一つの構成要素を選択する選択手段と、
前記選択された構成要素に対応する署名情報を検索する検索手段と、
前記選択された構成要素と前記構成要素の署名情報を記憶する記憶手段と、
前記記憶された構成要素と署名情報より、文書データを生成する生成手段を有することを特徴とする情報処理装置。
【請求項８】
前記生成手段は、前記記憶された構成要素と署名情報を、文書データに貼り付けることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記署名情報は、対応する構成要素を示すポインタ情報を含み、前記検索手段は、前記選択された構成要素に対応するポインタ情報を検索することを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記入力手段で入力された文書データは、構成要素と前記構成要素に対応する署名情報を示す対応表を含み、前記検索手段は、前記対応表を用いて、前記選択された構成要素に対応する署名情報を検索することを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１１】
請求項１〜６の何れか１項に記載の情報処理方法を実行するコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータの改ざん検出技術に関するものである。
【背景技術】
【０００２】
近年、コンピュータとそのネットワークの急速な発達及び普及により、文字データ、画像データ、音声データなど、多種の情報がデジタル化されている。ディジタルデータは、経年変化などによる劣化がなく、いつまでも完全な状態で保存できる一方、容易に複製や編集・加工を施すことが可能である。こうしたディジタルデータの複製、編集、加工はユーザにとって大変有益である反面、ディジタルデータの保護が大きな問題となっている。そのため、セキュリティ技術は急速に重要性を増している。
【０００３】
そこで、送信されてきたデータが改ざんされたかどうかを受信者が検出するために、改ざん防止用の付加データを検証する方式としてデジタル署名という技術が提案されている。デジタル署名技術は，データ改ざんだけではなく，インターネット上でのなりすまし，否認などを防止する効果も持ち合わせている。
【０００４】
また、画像データの全体ではなく部分的な領域データが改ざんされているか否かを検証することを目的とし、特許文献１で開示されているような署名方法が提案されていた。特許文献１で提案されているデジタル画像に対する署名方法は、まず、画像のＲＯＩを選択し、選択したＲＯＩのハッシュ値を算出し、算出したハッシュ値を秘密鍵で暗号化することによってデジタル署名を生成し、デジタル署名を画像に添付するものである。
【特許文献１】米国特許５８９８７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
多種のディジタルデータを含んだ電子文書が流通している昨今、電子文書を再利用する際には、電子文書全体ではなく、電子文書に含まれる部分的な構成要素を再利用の単位とすることが多い。例えば、電子文書中の所定の単語、文、行、段落などのテキストデータ、所定の画像データ、或いは所定のグラフィックデータをコピーし、他の文書へ貼付けて再利用するケースが挙げられる。
【０００６】
しかし、特許文献１における技術では、原画像データ中の領域データが改竄されているか否かを検証することは可能であったが、ある部分的な構成要素を再利用した先のデータに関しての署名に対する技術は何等開示されていない。仮に、ある部分的な構成要素を再利用した場合は、再利用先で、再度、署名を生成しなければならないという問題が考えられる。
【０００７】
本発明は、かかる問題点に鑑みなされたものであり、構成要素の再利用先において、署名を再度生成することなく、構成要素が改竄されているか否かを検証可能とする技術を提供しようとするものである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の情報処理方法は、複数の構成要素と、前記構成要素に対応する署名情報からなる文書データを入力する入力工程と、前記構成要素のうち、少なくとも一つの構成要素を選択する選択工程と、前記選択された構成要素に対応する署名情報を検索する検索工程と、前記選択された構成要素と前記構成要素の署名情報をメモリに記憶する記憶工程と、前記記憶された構成要素と署名情報より、文書データを生成する生成工程を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、構成要素の再利用先において、署名を再度生成することなく、構成要素が改竄されているか否かを検証可能である。
【発明を実施するための最良の形態】
【００１０】
まず、デジタル署名、ハッシュ関数、公開鍵暗号について簡単に説明する。
【００１１】
［デジタル署名］
まず、デジタル署名について説明する。図１１は、署名作成処理および署名検証処理を表す模式図であり，この図を基に説明を行う。デジタル署名データ生成にはハッシュ関数と公開鍵暗号とが用いられる。これは、秘密鍵をＫｓ（１０６）、公開鍵をＫｐ（１０８）とすれば、送信者は、入力データＭ（１０１）にハッシュ処理１０２を施して固定長データであるダイジェストＨ（Ｍ）（番号１０３３）を算出する。その後、秘密鍵Ｋｓで固定長データＨ（Ｍ）に変換処理１００４を施してデジタル署名データＳ（１００５）を作成し、その後、デジタル署名データＳと入力データＭとを受信者に送信する。
【００１２】
受信者は、検証処理１０１２において，デジタル署名データＳ（１０１０）を公開鍵Ｋｐ（１０１１）で変換（復号）処理１００７を施したデータと、入力データＭ（１００７）にハッシュ処理１００８を施したデータ１００９とが一致するかどうか検証する。そして、上記検証の結果（１０１３）が一致していないならば、データＭの改ざんが行われたことを検出できる。
【００１３】
デジタル署名にはＲＳＡ、ＤＳＡなどの公開鍵暗号方式が用いられている。これらのデジタル署名の安全性は、秘密鍵を所有者以外のエンティティが、署名を偽造、もしくは秘密鍵を解読することが計算的に困難であることに基づいている。
【００１４】
［ハッシュ関数］
次に、ハッシュ関数について説明する。ハッシュ関数は署名対象データを非可逆に圧縮して署名付与処理時間を短縮するためにデジタル署名処理とともに利用される。つまり、ハッシュ関数は任意の長さのデータＭに処理を行い、一定の長さの出力データを生成する機能を持っている。ここで、出力Ｈ（Ｍ）を平文データＭのハッシュデータと呼ぶ。
【００１５】
特に、一方向性ハッシュ関数は、データＭを与えた時、Ｈ（Ｍ’）＝Ｈ（Ｍ）となる平文データＭ’の算出が計算量的に困難であるという性質を持っている。上記一方向性ハッシュ関数としてはＭＤ２、ＭＤ５、ＳＨＡ−１などの標準的なアルゴリズムが存在する。
【００１６】
［公開鍵暗号］
次に、公開鍵暗号について説明する。公開鍵暗号は２つの異なる鍵を利用し、片方の鍵で暗号処理したデータは、もう片方の鍵でしか復号処理できないという性質を持っている。上記２つの鍵のうち、一方の鍵は公開鍵と呼ばれ、広く公開するようにしている。また、もう片方の鍵は秘密鍵と呼ばれ、本人のみが持つ鍵である。
【００１７】
公開鍵暗号方式を用いたデジタル署名としては、ＲＳＡ署名、ＤＳＡ署名、Ｓｃｈｎｏｒｒ署名などが挙げられる。
【００１８】
＜実施形態１＞
本実施形態では、紙文書から構成要素毎に署名情報をつけた電子文書を生成する。そして、電子文書の構成要素のうち、選択された構成要素とそれに対応する署名情報とともにコピーし、貼り付けた先の電子文書上でも選択された構成要素の署名情報が機能する例について説明する。
【００１９】
図１は、本実施形態を用いたシステムイメージを示した図の一例である。図１が示すシステムイメージは、スキャナ１１と電子文書を生成するコンピュータ装置１２、電子文書を編集加工するコンピュータ装置１３、及び電子文書を印刷する印刷装置１４がネットワーク１５に接続されている。
【００２０】
図２は、本実施形態を用いて図１のシステムイメージを実現した場合の構成を示すシステムブロック図である。電子文書生成装置３１は、画像データが入力され、署名が付加される。署名が付加された画像データは電子文書として、ネットワーク３２を経由して、電子文書操作装置３３へ送信される。電子操作装置３３では、受信したデータを検証する他に、データの加工、編集、印刷の操作が行われる。
【００２１】
次に、図３を用いて、本実施の形態に適応可能なホストコンピュータについて説明する。図２は本実施形態に係る電子文書生成装置３１、及び電子文書操作装置３３として機能するホストコンピュータの基本構成を示すと共に、その周辺機器との関係を示す図である。同図において、ホストコンピュータ２１は、例えば一般に普及しているパーソナルコンピュータであり、ＨＤ２６、ＣＤ２７、ＦＤ２８、及びＤＶＤ２９などに蓄積したり、或いは、蓄積されている画像データをモニタ２２に表示したりすることが可能である。更に、ＮＩＣ２１０などを用いて、これらの画像データをインターネットなどを介して配布させることが可能である。また、ユーザからの各種指示等は、マウス２１３、及びキーボード２１４からの入力により行われる。ホストコンピュータ２１の内部では、ます２１６により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
【００２２】
図中、２２は、ホストコンピュータ２１からの種々の情報を表示することの出来るモニタである。
【００２３】
２３は、ホストコンピュータ２１内の各部の動作を制御、或いはＲＡＭ２５にロードされたプログラムを実行することのできるＣＰＵである。２４は、ＢＩＯＳやブートプログラムを記憶しているＲＯＭである。２５はＣＰＵ２３にて処理を行うために一時的にプログラムや処理対象の画像データを格納しておくＲＡＭであり、ここにＯＳやＣＰＵ２３が後述の各種処理を行うためのプログラムがロードされることになる。
【００２４】
２６は、ＲＡＭ等に転送されるＯＳやプログラムを格納したり、装置が動作中に画像データを格納したり、読出すために使用されるハードディスク（ＨＤ）である。２７は、外部記憶媒体の一つであるＣＤ−ＲＯＭ（ＣＤ−Ｒ）に記憶されたデータを読み込み或いは書き出すことのできるＣＤ−ＲＯＭドライブである。
【００２５】
２８は、ＣＤ−ＲＯＭドライブ２７と同様にＦＤ（フロッピー（登録商標）ディスク）からの読み込み、ＦＤへの書き出しができるＦＤドライブである。２９も、ＣＤ−ＲＯＭドライブ２７と同様にＤＶＤ−ＲＯＭからの読み込み、ＤＶＤ−ＲＡＭへの書き出しができるＤＶＤ−ＲＯＭ（ＤＶＤ−ＲＡＭ）ドライブである。尚、ＣＤ−ＲＯＭ、ＦＤ、ＤＶＤ−ＲＯＭ等に画像処理用のプログラムが記憶されている場合には、これらプログラムをＨＤ２６にインストールし、必要に応じてＲＡＭ２５に転送されるようになっている。
【００２６】
２１１は、ＲＡＭ２５、ＨＤ２６、ＣＤ−ＲＯＭ２７、ＦＤ２８、ＤＶＤ２９などに記憶されている画像データを、インターネットなどのネットワークに接続するＮＩＣ２１０にホストコンピュータ２１を接続するためのＩ／Ｆである。Ｉ／Ｆ２１１を介してホストコンピュータ２１は、Ｉ／Ｆ２１１を介してインターネットへデータを送信したり、インターネットからデータを受信する。
【００２７】
２１５は、ホストコンピュータ２１にマウス２１３やキーボード２１４を接続するためのＩ／Ｆで、Ｉ／Ｆ２１５を介してマウス２１３やキーボード２１４から入力された各種の指示がＣＰＵ２３に入力される。
【００２８】
図４は本実施形態を構成する電子文書生成装置３１と、電子文書操作装置３３の機能ブロック図である。
【００２９】
電子文書生成装置３１は、紙文書４０１を入力する紙文書入力部４０２、紙文書を解析し中間電子文書を生成する中間電子文書生成部４０３、秘密鍵入力部４０４を有する。さらに、中間電子文書および秘密鍵から署名情報を生成する署名情報生成部４０５、電子文書アーカイブ部４０６、電子文書を送信する電子文書送信部４０７から構成される。
【００３０】
電子文書操作装置３３は、電子文書４０８を受信する電子文書受信部４０９、電子文書４０８を展開し、中間電子文書と署名情報を取得する電子文書展開部４１０を有する。さらに、中間電子文書、署名情報、公開鍵入力部４１１から入力された公開鍵をもとに検証を行う署名情報検証部４１２を有する。そして、展開した電子文書を加工、編集、印刷などの操作を行う電子文書操作部４１３、記憶部４１４、操作する構成要素を選択する選択部４１５から構成される。
【００３１】
中間電子文書生成部４０３における処理の詳細を説明する。図５は本実施形態における中間電子文書生成部における処理のフローを示す図である。
【００３２】
Ｓ５０１で紙文書入力部から得られたデータを電子化する。図６（Ａ）は電子化したデータの一例である。
【００３３】
Ｓ５０２は電子データを属性ごとに領域分割する。ここでいう属性とは、文字、写真、表、線画があげられる。領域分割処理技術の具体例としては、文書画像中の黒画素塊、白画素塊の集合を抽出し、その形状、大きさ、集合状態等の特徴量から、文字、絵や図、表、枠、線といった特徴名で領域を抽出する。
【００３４】
例えば、図６（Ｂ）は抽出した特徴量をもとに属性を判別し、領域分割を行った結果であり、それぞれの領域の属性は、６０２、６０４，６０５、６０６は文字領域、６０３はカラー写真領域となっている。
【００３５】
次にＳ５０３では、Ｓ５０２で得られた領域ごとに文書情報を生成する。文書情報とは属性、ページの位置座標等のレイアウト情報、分割された領域の属性が文字であれば文字コード列や、段落や表題などの文書論理構造等があげられる。
【００３６】
Ｓ５０４では、Ｓ５０２で得られた領域ごとに伝達情報を変換する。伝達情報とは、レンダリングに必要な情報のことである。具体的には解像度可変のラスタ画像、ベクタ画像、モノクロ画像、カラー画像、それぞれの伝達情報のファイルサイズである。また、分割された領域の属性が文字であれば、文字認識した結果のテキスト、個々の文字の位置、フォント、文字認識によって得られた文字の信頼度等が伝達情報として挙げられる。
【００３７】
図６（Ｂ）では、文字領域６０２，６０４，６０５，６０６はベクタ画像に、カラー写真領域６０３はカラーラスタ画像に変換されるものとする。
【００３８】
次にＳ５０５では、Ｓ５０２で分割された領域とＳ５０３で生成された文書情報とＳ５０４で変換された伝達情報を関連付ける。関連付けた情報はツリー構造で記述される。ここでは、伝達情報および文書情報を構成要素と呼ぶ。
【００３９】
Ｓ５０６ではＳ５０５までで生成された構成要素を中間電子文書として保存する。保存の形式はツリー構造を表現可能な形式であればよい。本実施形態は構造化文書の一例であるＸＭＬで保存する。
【００４０】
次に、署名情報生成部４０５の詳細を説明する。図１０は本実施形態における署名情報生成部４０５における処理のフローを示す図である。
【００４１】
まず、Ｓ６１では、構成要素のダイジェスト値を、構成要素毎に夫々生成する。ここで、構成要素とは、中間電子文書中に含まれる署名対象データのことであり、図７（Ａ）における伝達情報ａ（７０１）、伝達情報ｂ（７０２）、或いは文書情報（７０３）であると考えれば理解し易い。また、ダイジェスト値を生成するために、本実施形態ではハッシュ関数を適用する。
【００４２】
Ｓ６２では、Ｓ６１で生成された構成要素のダイジェスト値に対して、秘密鍵入力部４０４で入力される秘密鍵を用いて署名処理を実行して、デジタル署名を算出する。
【００４３】
次に、Ｓ６３では、構成要素のポインタ情報を、構成要素毎に夫々生成する。ここで、ポインタ情報としては、構成要素をユニークに識別可能なものであれば良い。例えば、本実施形態では、ポインタ情報として、ＲＦＣ２３９６で規定されているＵＲＩを適用するものとするが、本発明はこれに限定されることなく、種々の値を識別情報として適用可能であることは明らかである。例えば、ＵＲＬやアドレス情報などでもよい。
【００４４】
続いて、Ｓ６４では、Ｓ６２で生成されたデジタル署名とＳ６３で生成されたポインタ情報より署名情報を生成し、署名生成処理を終了する。つまり、本実施形態では、署名情報は、構成要素のポインタ情報と、そのポインタ情報に対応するデジタル署名が含まれている。ここで、署名情報は、全ての構成要素に対して生成してもよいし、例えば、キーボードやマウスなどで構成要素を選択させて、選択された構成要素に対してのみ生成してもよい。
【００４５】
続いて、電子文書アーカイブ部４０７について図７を用いて説明する。７０１、及び７０２は中間電子文書生成部４０３で生成された中間電子文書の伝達情報、及び７０３は文書情報である。また、７０４、７０５、７０９は署名情報生成部４０５で生成された署名情報である。署名情報には、前述したように構成要素にあたる伝達情報や文書情報を指し示すポインタを含んでいる。図７（Ａ）でいうと、署名情報７０４には、伝達情報７０１を指し示すポインタ情報７０６、伝達情報７０２を指し示すポインタ情報７０７、文書情報７０３を指し示すポインタ情報７０８を埋め込む。
【００４６】
中間電子文書生成部４０３で生成された中間電子文書および署名情報生成部４０５で生成された署名情報は図７（Ａ）の例のように、伝達情報、文書情報、署名情報が個々のデータとして存在している。電子文書アーカイブ部４０６では図７（Ａ）のそれらをひとつにアーカイブし電子文書を生成する。図７（Ｂ）は中間電子文書と署名データをアーカイブ化したときの模式図であり、アーカイブデータ７１０は図４の電子文書４０８に該当する。
【００４７】
また、電子文書展開部４１０では、アーカイブデータである７１０を図７（Ａ）のように中間電子文書および署名情報の個々のデータに展開する。
【００４８】
署名情報検証部４１２における処理の詳細について図１３を用いて説明する。図１３は本実施形態における署名情報検証処理のフローを示すフローチャートである。
【００４９】
まず、Ｓ１４１では、構成要素のダイジェスト値を算出する。例えば、図７（Ａ）に示す例では、伝達情報や文書情報からダイジェスト値を生成する。
【００５０】
次に、Ｓ１４２では、署名情報に含まれるデジタル署名を、公開鍵入力部４１１で入力された公開鍵を用いて復号する。この公開鍵は、署名を生成した際の秘密鍵に対応している公開鍵である。
【００５１】
そして、Ｓ１４３では、Ｓ１４１で生成されたダイジェスト値と、Ｓ１４２で復号された値を比較し、等しい場合は、Ｓ１４４で、改ざんなしと判定する。Ｓ１４１で生成されたダイジェスト値と、Ｓ１４２で復号された値が等しくない場合は、Ｓ１４５で改ざんありと判定する。
【００５２】
電子文書操作部４１３における処理の詳細について、図８を用いて説明する。ここでは、電子文書操作のうち、コピー及び貼り付け編集のフローの例を示す。図９は、コピー及び貼り付け編集を説明するためのイメージ図である。尚、コピーに関しては、切り取り処理でも構わない。
【００５３】
まず、Ｓ８００では、貼り付け対象の構成要素を有する電子文書を入力する。例えば、図９において、９０８内に存在するものが貼り付け対象の構成要素を有する電子文書である。９０８内に存在するものは、前述した図７（Ａ）と同様であるので説明を省略する。
【００５４】
Ｓ８０１では、選択部４１５より、貼り付け対象の構成要素を選択する。例えば、図９の伝達情報ａ（７０１）を貼り付け対象の構成要素として選択される。尚、選択方法はマウス２１３に代表されるポインティングデバイスを用いて、電子文書中の領域を囲む動作や指し示す動作などがある。また、キーボード２１４上から構成要素が存在する領域の座標情報や、属性、伝達情報を直接入力してもよい。また、図１２のＳ１４４において、改ざんなしと判定された構成要素のみ、選択可能にしてもよい。さらに、選択される構成要素は１つであっても複数であってもよい。
【００５５】
次に、Ｓ８０２では、Ｓ８０１で選択された構成要素に対応する署名情報を検索する。署名情報には、前述したように、対応する構成要素のポインタ情報が埋め込まれている。よって、全ての署名情報より、Ｓ８０１で選択された構成要素のポインタ情報をもっている署名情報を検索する。例えば、図９の伝達情報ａ（７０１）をＳ８０１で選択された場合、この文書中に含まれる署名情報７０４，７０５，７０９から、伝達情報ａ（７０１）のポインタ情報を持っている署名情報を検索する。図９では、署名情報７０４が伝達情報ａ（７０１）に対応する署名情報として検出される。
【００５６】
Ｓ８０３では、Ｓ８０１で選択された構成要素と、Ｓ８０２で検索した署名情報を記憶部４１４にコピーする。記憶部４１４はコピー元である電子文書９０８やペースト先となる電子文書９０２をハンドリングするアプリケーションや、オペレーティングシステムと共通して使用可能である。また、コピーしたデータはデータ貼り付け時に呼び出される。
【００５７】
例えば、図９の９０８内にある伝達情報ａ（７０１）および対応する署名情報７０４をコピーする場合、まず、伝達情報ａと対応する署名情報７０４のデータ容量を調べ、記憶部のメモリ領域９０１を確保する。次に、確保したメモリ領域９０１に伝達情報ａと対応する署名情報７０４をコピーする。Ｓ８０４では、貼り付け先の電子文書を選択する。例えば、伝達情報Ａ（９０３）、伝達情報Ｂ（９０４）、署名情報α（９０５）、文書情報９０７から構成される電子文書を選択する。ここでは、貼り付け先の電子文書として、伝達情報Ａ（９０３）、伝達情報Ｂ（９０４）、署名情報α（９０５）、文書情報９０７から構成される電子文書を選択したが、構成要素をもたない新規の電子文書を選択してもよい。
【００５８】
Ｓ８０５では、Ｓ８０３でコピーした構成要素及び署名情報を、Ｓ８０４で選択された電子文書に貼り付ける。
【００５９】
Ｓ８０５の貼り付け処理の詳細について、図１２をもとに説明する。
【００６０】
Ｓ１２０１で記憶部上に確保されたメモリ領域（図９の９０１）に存在するオブジェクトのデータフォーマットを取得する。
【００６１】
Ｓ１２０２では、取得したデータフォーマットが貼り付け先の電子文書で処理可能かを判定する。例えば取得したデータフォーマットがデジタル署名であった場合、この署名情報は貼り付け先の電子文書上で検証処理が実行できるか否かを判定する。
【００６２】
ここで、Ｓ１２０２でＹＥＳと判定されれば、Ｓ１２０３に進み、貼り付け先の電子文書上にデータを貼り付ける。Ｓ１２０２でＮＯと判定された場合は、Ｓ１２０４に進み、データの貼り付けをしない。
【００６３】
例えば、図９では、メモリ領域９０１に存在する伝達情報ａと署名情報７０４の両方とも貼り付け先の電子文書９０２上で処理可能であったので、伝達情報、署名情報が９０２へ貼り付けられている。
【００６４】
上記説明したように、本実施形態によれば、構成要素のコピー操作時、構成要素に対応する署名情報をポインタ情報より検索して取得するので、構成要素と署名情報の両方のコピーが可能となる。
【００６５】
さらに、本実施形態によれば、構成要素の貼り付け操作時、構成要素と署名情報の両方を貼り付けるので、貼り付け先で署名を生成することなく、構成要素が改竄されているか否かを検証可能である。また、貼り付け先での署名検証は、図１１の検証処理と同様の処理で検証可能である。
【００６６】
さらに、上記実施形態では、構成要素と対応する署名情報を検索する際、電子文書中に含まれる全ての署名情報のポインタ情報を参照した。しかし、検索の仕方はこの方法とは限らない。例えば、署名情報生成時で構成要素と署名情報の対応表（図１４）を生成し、電子文書４０８に含める。そして、電子文書操作時に、電子文書４０８にある対応表を参照することで構成要素と対応する署名情報を取得する。この場合は、対応表を用いることで、電子文書操作時の対応署名情報取得の処理速度がさらに向上する。ここで、図１４の対応表は、図７（Ａ）の電子文書に対して生成した場合のものである。
【００６７】
（実施形態２）
実施形態１では、署名情報を個々の構成要素ごとに生成したが、本実施形態では、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）にて標準化が進展されているＸＭＬ−Ｓｉｇｎａｔｕｒｅを適用した例を説明する。
【００６８】
具体的には、紙文書からＸＭＬ  Ｓｉｇｎａｔｕｒｅの形式を適応した署名情報付き電子文書を生成する。そして、電子文書の構成要素のうち、選択された構成要素を署名情報とともにコピーし、貼り付けた先の電子文書上でも選択された構成要素の署名情報が機能する例について説明する。
【００６９】
図２０は、実施形態２における電子文書生成装置、及び電子文書操作装置のブロック図である。尚、実施形態２の動作に必要な構成及び処理手順は、署名情報生成部２００１、電子文書アーカイブ部２００２、電子文書展開部２００３、署名情報検証部２００４、電子文書操作部２００５における処理以外は実施形態１と同様である。以下は異なる部分のみ詳しく説明する。
【００７０】
署名情報生成部２００１においてＸＭＬ−Ｓｉｇｎａｔｕｒｅを適用した処理の詳細を説明する。
【００７１】
図１５は、実施形態２における署名情報生成部２００１における処理のフローを示す図である。図１６は、ＸＭＬ−Ｓｉｇｎａｔｕｒｅの形式で生成した署名情報の模式図である。
【００７２】
まず、Ｓ１５０１では構成要素のダイジェスト値を構成要素毎に夫々生成する。Ｓ１５０１の処理は、図１０のＳ６１と同じの処理であるので説明は省略する。
【００７３】
Ｓ１５０２では、ＳｉｇｎｅｄＩｎｆｏを生成する。ＳｉｇｎｅｄＩｎｆｏ１６０２は、構成要素のポインタ情報となるＵＲＩが記述されたＲｅｆｅｒｅｎｃｅ（図１６の１６０８、１６０９、１６１０）と、Ｒｅｆｅｒｅｎｃｅの子要素として、Ｓ１５０１で生成されたダイジェスト値（図１６の１６０５，１６０６，１６０７）が記述される。
【００７４】
Ｒｅｆｅｒｅｎｃｅは構成要素と一対一対応となっている。ＳｉｇｎｅｄＩｎｆｏにはＲｅｆｅｒｅｎｃｅのほかに、ＸＭＬ−Ｓｉｇｎａｔｕｒｅの仕様に準拠した図１６に図示しない署名アルゴリズムや正規化アルゴリズムの記述もされる。
【００７５】
Ｓ１５０３ではＳｉｇｎａｔｕｒｅＶａｌｕｅを生成する。ＳｉｇｎａｔｕｒｅＶａｌｕｅとは、Ｓ１５０２で生成したＳｉｇｎｅｄＩｎｆｏ１６０２に対し、秘密鍵入力部４０４で入力される秘密鍵を用いた署名処理による署名値である。（図１６の１６０３）
Ｓ１５０４でＸＭＬ署名を生成する。ＳｉｇｎｅｄＩｎｆｏ１６０２およびＳｉｇｎａｔｕｒｅＶａｌｕｅ１６０３、ＳｉｇｎａｔｕｒｅＶａｌｕｅの検証に用いる公開鍵の情報ＫｅｙＩｎｆｏ１６０４や、その他図示しないＸＭＬ−Ｓｉｇｎａｔｕｒｅの仕様に準拠した情報を記述し、署名生成処理を終了する。
【００７６】
つまり、本実施形態の署名情報には、各構成要素のダイジェスト値とポインタ情報と、これらのひとまとまりに対してのデジタル署名とが含まれている。
【００７７】
電子文書アーカイブ部２００２で生成されるデータについて図１７を用いて説明する。
【００７８】
７０１、及び７０２は中間電子文書生成部４０３で生成された中間電子文書の伝達情報、及び７０３は文書情報である。また、１６０１は署名情報生成部２００１で生成されたＸＭＬ署名である。
【００７９】
中間電子文書生成部４０３で生成された中間電子文書および署名情報生成部２００１で生成された署名情報は図１７（Ａ）の例のように、伝達情報、文書情報、署名情報が個々のデータとして存在している。
【００８０】
ＸＭＬ署名にはＵＲＩで示す署名対象の指定方法によって署名形式が異なるが、本実施形態では署名情報と構成要素が独立したＤｅｔａｃｈｅｄ署名を適用する。
【００８１】
電子文書アーカイブ部２００２では、図１７（Ａ）のそれらをひとつにアーカイブし電子文書を生成する。図１７（Ｂ）は中間電子文書と署名データをアーカイブ化したときの模式図であり、アーカイブデータ１７０１は電子文書２００５に該当する。
【００８２】
また、電子文書展開部４１０では、アーカイブデータである１７０１を図１７（Ａ）のように中間電子文書および署名情報の個々のデータに展開する。
【００８３】
署名情報検証部２００４における処理の詳細について説明する。ＸＭＬ署名の検証処理には、ＸＭＬ署名自体が改ざんされていないことを検証するステップと、構成要素が改ざんされていないかを検証するステップがある。
【００８４】
図１８は、ＸＭＬ署名の検証処理のフローチャートである。
【００８５】
Ｓ１８０１で、ＸＭＬ署名１６０１がもつＳｉｇｎａｔｕｒｅｖａｌｕｅを、公開鍵入力部４１１で入力された公開鍵を用いて復号する。図１６に示す例ではＫｅｙＩｎｆｏ１６０４に記述された公開鍵の情報を元に取得した公開鍵を用いてＳｉｇｎａｔｕｒｅＶａｌｕｅ１６０３を復号する。
【００８６】
Ｓ１８０２はＸＭＬ署名１６０１のもつＳｉｇｎｅｄＩｎｆｏ１６０２と、Ｓ１８０１で復号した値とを比較し、等しい場合は、Ｓ１８０３で、改ざんなしと判定する。ＳｉｇｎｅｄＩｎｆｏ１６０２と、Ｓ１８０１で復号された値とが等しくない場合は、Ｓ１８０４で改ざんありと判定する。
【００８７】
図１９は、構成要素の検証処理のフローチャートである。
【００８８】
まず、Ｓ１９０１で、各構成要素のダイジェスト値を算出する。例えば、図１７（Ａ）に示す例では、伝達情報や文書情報からそれぞれダイジェスト値を生成する。
【００８９】
Ｓ１９０２では、Ｓ１９０１で算出した各構成要素のダイジェスト値とＸＭＬ署名１６０１がもつダイジェスト値（図１６の１６０５、１６０６、１６０７）をそれぞれ比較する。構成要素のダイジェスト値とＸＭＬ署名１６０１がもつダイジェスト値が等しい場合は、Ｓ１９０３で、対応する構成要素が改ざんなしと判定する。等しくない場合は、Ｓ１９０４で改ざんありと判定する。
【００９０】
ＸＭＬ署名の検証処理と構成要素の検証処理において、ともに、改ざんなしと判定された場合（すなわち、図１８のＳ１８０３、図１９の図１９０３の場合）に、署名情報検証部２００４で、構成要素及び署名情報が改ざんされていないと判定する。
【００９１】
電子文書操作部２００５における処理について図２１を用いて説明する。図２１において、Ｓ８００、Ｓ８０１、Ｓ８０３、Ｓ８０４、Ｓ８０５は、実施形態１における図８の処理と同様であるので、説明を省略する。
【００９２】
Ｓ２１０１における構成要素に対応する署名情報を検索する処理は、ＳｉｇｎｅｄＩｎｆｏにあるＲｅｆｅｒｅｎｃｅに選択された構成要素のＵＲＩが記述されているかを検索する。もし選択された構成要素のＵＲＩが記述されていればそのＸＭＬ署名と構成要素は対応の関係にあるといえる。
【００９３】
上記説明したように、本実施形態によれば、署名情報が、Ｗ３Ｃにて標準化が進展されているＸＭＬ−Ｓｉｇｎａｔｕｒｅであっても署名情報と伝達情報のコピーが可能となる。
【００９４】
（実施形態３）
実施形態１、２では電子文書操作装置において、電子文書の署名情報を検証した後に電子文書内の操作を行っていたが、電子文書の署名を行わないで操作をしてもよい。例えば、図２２のように、電子文書の展開後にコピーしたい構成要素を選択し、選択された構成要素のみの署名情報の検証を行ってもよい。あるいは、図２３のように、電子文書の署名情報を検証せずに電子文書内の操作を行ってもよい。尚、図２２及び図２３における構成及び処理に関しては、実施形態１、２で説明したものと同じ構成及び処理であるので、説明は省略する。
【００９５】
本実施形態のように、電子文書全体の署名の検証をせず、選択した構成要素のみを検証、もしくは全く検証せずに文書内の操作を行う場合、処理時間を短縮することができる。
【００９６】
また、署名検証をしなくても、署名情報と構成要素のコピーが可能である。
【００９７】
さらに、実施形態１、２や、図２２のように、署名情報の検証を行った後で、電子文書内の操作を行う場合は、署名情報の検証に成功した場合のみ、電子文書内の操作を行えるようにしてもよい。この場合は、改ざんされていないと判定された構成要素及び署名情報が操作されることになる。
【００９８】
（その他の実施形態）
また、上記実施形態では、ネットワークを構成するハードウェア等が含まれるものの、各処理部は実際はソフトウェアで実現できるものである。即ち、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または、記録媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（または、ＣＰＵやＭＰＵ）が、記憶媒体に格納されたプログラムコードを読み出し、実行することによっても達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が、上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体が本発明を構成することになる。
【００９９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１００】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【図面の簡単な説明】
【０１０１】
【図１】本発明におけるシステムイメージ図である。
【図２】本発明におけるシステム図である。
【図３】本発明におけるホストコンピュータを示す図である。
【図４】実施形態１における電子文書生成装置、及び電子文書操作装置のブロック図である。
【図５】中間電子文書生成処理のフローチャートである。
【図６】（Ａ）電子化したデータの一例、（Ｂ）領域分割した一例である。
【図７】（Ａ）実施形態１における署名情報付加した中間電子文書の一例、（Ｂ）実施形態１における電子文書の一例である。
【図８】実施形態１における貼付け編集処理のフローチャートある。
【図９】貼付け編集処理のイメージ図である。
【図１０】実施形態１における署名情報生成処理のフローチャートである。
【図１１】署名情報のデータ構造図である。
【図１２】図８のＳ８０５における貼り付け処理の詳細フローチャートである。
【図１３】実施形態１における署名情報検証処理のフローチャートである。
【図１４】構成要素と署名情報の対応表である。
【図１５】実施形態２における署名情報生成処理のフローチャートである。
【図１６】ＸＭＬ−Ｓｉｇｎａｔｕｒｅの形式で生成した署名情報の模式図である。
【図１７】（Ａ）実施形態２における署名情報付加した中間電子文書の一例、（Ｂ）実施形態２における電子文書の一例である。
【図１８】実施形態２におけるＸＭＬ署名の検証処理のフローチャートである。
【図１９】実施形態２における構成要素の検証処理のフローチャートである。
【図２０】実施形態２における電子文書生成装置、及び電子文書操作装置のブロック図である。
【図２１】実施形態２における貼付け編集処理のフローチャートある。
【図２２】実施形態３における電子文書生成装置、及び電子文書操作装置のブロック図である。
【図２３】実施形態３における電子文書生成装置、及び電子文書操作装置のブロック図の別の例である。
【図１】
2007102757.tif 000003
【図２】
2007102757.tif 000004
【図３】
2007102757.tif 000005
【図４】
2007102757.tif 000006
【図５】
2007102757.tif 000007
【図６】
2007102757.tif 000008
【図７】
2007102757.tif 000009
【図８】
2007102757.tif 000010
【図９】
2007102757.tif 000011
【図１０】
2007102757.tif 000012
【図１１】
2007102757.tif 000013
【図１２】
2007102757.tif 000014
【図１３】
2007102757.tif 000015
【図１４】
2007102757.tif 000016
【図１５】
2007102757.tif 000017
【図１６】
2007102757.tif 000018
【図１７】
2007102757.tif 000019
【図１８】
2007102757.tif 000020
【図１９】
2007102757.tif 000021
【図２０】
2007102757.tif 000022
【図２１】
2007102757.tif 000023
【図２２】
2007102757.tif 000024
【図２３】
2007102757.tif 000025