(57)【特許請求の範囲】
【請求項１】
第１のコンピュータから第１のデータと少なくとも当該第１のデータに対する第１の電子署名とを受信し、記憶装置に格納する受信ステップと、
前記記憶装置に格納された前記第１のデータに対して当該第１のデータの送信先に対応するフォーマット変換を実施することにより第２のデータを生成し、前記記憶装置に格納するフォーマット変換ステップと、
プログラム格納部に格納されている、前記フォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムを読み出し、少なくとも前記フォーマット逆変換プログラムと前記記憶装置に格納された前記第１の電子署名及び前記第２のデータとを前記送信先に関連する第２のコンピュータに送信する送信ステップと、
を含み、コンピュータにより実行される情報処理方法。
【請求項２】
前記受信ステップにおいて、少なくとも前記フォーマット逆変換プログラムに対する第３の電子署名をさらに受信し、前記記憶装置に格納する、
ことを特徴とする請求項１記載の情報処理方法。
【請求項３】
前記記憶装置に格納された前記第２のデータ、前記第３の電子署名及び前記第１の電子署名と前記フォーマット逆変換プログラムとに対する第４の電子署名を生成する電子署名生成ステップ
をさらに含み、
前記送信ステップにおいて、前記第３の電子署名及び前記第４の電子署名をさらに前記第２のコンピュータに送信する
ことを特徴とする請求項２記載の情報処理方法。
【請求項４】
第１のコンピュータから第１のデータと少なくとも当該第１のデータに対する第１の電子署名とを受信し、記憶装置に格納する受信ステップと、
前記記憶装置に格納された前記第１のデータに対して当該第１のデータの送信先に対応するフォーマット変換を実施することにより第２のデータを生成し、前記記憶装置に格納するフォーマット変換ステップと、
少なくとも前記記憶装置に格納された前記第１の電子署名及び前記第２のデータと前記フォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムを識別するための識別情報とを前記送信先に関連する第２のコンピュータに送信する送信ステップと、
を含み、コンピュータにより実行される情報処理方法。
【請求項５】
第１のコンピュータから第１のデータと少なくとも当該第１のデータに対する第１の電子署名とを受信し、記憶装置に格納する受信ステップと、
前記記憶装置に格納された前記第１のデータに対して当該第１のデータの送信先に対応するフォーマット変換を実施することにより第２のデータを生成し、前記記憶装置に格納するフォーマット変換ステップと、
プログラム格納部に格納されている、前記フォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムを読み出し、少なくとも前記フォーマット逆変換プログラムと前記記憶装置に格納された前記第１の電子署名及び前記第２のデータとを前記送信先に関連する第２のコンピュータに送信する送信ステップと、
をコンピュータに実行させるためのプログラム。
【請求項６】
第１のコンピュータから第１のデータと少なくとも当該第１のデータに対する第１の電子署名とを受信し、記憶装置に格納する受信ステップと、
前記記憶装置に格納された前記第１のデータに対して当該第１のデータの送信先に対応するフォーマット変換を実施することにより第２のデータを生成し、前記記憶装置に格納するフォーマット変換ステップと、
少なくとも前記記憶装置に格納された前記第１の電子署名及び前記第２のデータと前記フォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムを識別するための識別情報とを前記送信先に関連する第２のコンピュータに送信する送信ステップと、
をコンピュータに実行させるためのプログラム。
【請求項７】
第１のコンピュータから第１のデータと少なくとも当該第１のデータに対する第１の電子署名とを受信する受信手段と、
前記受信手段により受信された前記第１のデータに対して当該第１のデータの送信先に対応するフォーマット変換を実施し、第２のデータを生成するフォーマット変換手段と、
少なくとも前記フォーマット変換手段により生成された前記第２のデータと前記フォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムと前記第１の電子署名とを前記送信先に関連する第２のコンピュータに送信する送信手段と、
を有するコンピュータ・システム。
【請求項８】
第１のコンピュータから第１のデータと少なくとも当該第１のデータに対する第１の電子署名とを受信する受信手段と、
前記受信ステップにおいて受信された前記第１のデータに対して当該第１のデータの送信先に対応するフォーマット変換を実施し、第２のデータを生成するフォーマット変換手段と、
少なくとも前記フォーマット変換ステップにおいて生成された前記第２のデータと前記フォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムを識別するための識別情報と前記第１の電子署名とを前記送信先に関連する第２のコンピュータに送信する送信手段と、
を有するコンピュータ・システム。
【発明の詳細な説明】
【技術分野】  本発明は、データ通信技術に関し、より詳しくはデータのオリジナリティ検証技術に関する。
【背景技術】  電子商取引においては、取引を行う契約書等の書類データが改竄されないように、書類データに対して所定のハッシュアルゴリズムが適用され、生成されたハッシュ値は暗号化され電子署名が生成される。そして、暗号化された書類データと共に電子署名を取引相手に送信する。取引相手は、書類データを復号化し、さらに所定のハッシュアルゴリズムを適用してハッシュ値を生成する。また、電子署名も復号化してハッシュ値を復元し、生成されたハッシュ値と比較することにより、改竄等が行われていないことを確認することができる。このような技術を用いれば二社間の取引であれば問題なく処理できる。  しかし、国際貿易業務においては、多数の会社や各種行政機関等が関連している。このような会社や行政機関同士の二社間の通信においては上で述べたような技術を適用すればよいが、三社以上の会社や行政機関等が関わる書類データが通信される場合には必ずしも上で述べたような技術では十分ではない。例えばＡからＢを経由してＣに書類データを送信する場合に、Ａにおいて生成された書類データが、Ｃのシステムや法制上そのままの形式では処理できない場合が生ずる。この際Ｂが書類データにＣのシステムや法制等に合わせてフォーマット変換を施す場合があるが、このようなフォーマット変換を施すと送信元たるＡの確証は得られなくなってしまう。
【発明の開示】
よって本発明の目的は、書類データが途中で変更される場合であっても送信元の確証を得られるようにするための技術を提供することである。  上記目的を達成するために、本発明の第１の態様に係る例えばＲＳＰ（Repository Service Provider）サーバにより実施される情報処理方法は、第１のコンピュータ（例えばＴＣ（Trade Chain）サーバ）から第１のデータ（例えばインボイス等の書類データ）と少なくとも当該第１のデータに対する第１の電子署名とを受信する受信ステップと、受信ステップにおいて受信された第１のデータに対して当該第１のデータの送信先（例えば直接の送信先だけでなく、国名などの場合を含む）に対応するフォーマット変換を実施し、第２のデータを生成するフォーマット変換ステップと、少なくともフォーマット変換ステップにおいて生成された第２のデータとフォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムと第１の電子署名とを送信先に関連する第２のコンピュータ（例えば送信先のＴＣサーバ）に送信する送信ステップとを含む。  このようにフォーマット逆変換プログラムとフォーマット変換前の第１のデータに対する第１の電子署名とを送信することにより、第２のコンピュータにおいて第１のデータが改竄等されていないことを確認することができるようになる。すなわち、送信元である第１のコンピュータ又はその管理・運営者の確証を得ることができるようになる。  なお、上で述べた受信ステップにおいて、少なくともフォーマット逆変換プログラムに対する第３の電子署名をさらに受信するような場合もある。第１のコンピュータにおいてフォーマット逆変換プログラムを送信先に対して保証するような場合もある。なお、フォーマット逆変換プログラムをさらに受信する場合もある。  さらに、第１のコンピュータから送信先の指定を含むフォーマット逆変換プログラムの送信要求を受信するステップと、送信先に対応するフォーマット逆変換プログラムを、フォーマット逆変換プログラム格納部から抽出し、第１のコンピュータに送信するステップとをさらに含む場合もある。このようにして送信したフォーマット逆変換プログラムに対する電子署名が第１のコンピュータにて生成される。  本発明の第２の態様に係る例えばＲＳＰサーバにより実施される情報処理方法は、第１のコンピュータから第１のデータと少なくとも当該第１のデータに対する第１の電子署名とを受信する受信ステップと、受信ステップにおいて受信された第１のデータに対して当該第１のデータの送信先に対応するフォーマット変換を実施し、第２のデータを生成するフォーマット変換ステップと、少なくともフォーマット変換ステップにおいて生成された第２のデータとフォーマット変換の逆変換を実施するためのフォーマット逆変換プログラムを識別するための識別情報（例えばフォーマット逆変換プログラムのＩＤ又は送信元である第１のコンピュータの情報によりフォーマット逆変換プログラムを特定できる場合には送信元の情報）と第１の電子署名とを送信先に関連する第２のコンピュータに送信する送信ステップとを含む。  例えば第２のコンピュータにフォーマット逆変換プログラムが保持されている場合には、フォーマット逆変換プログラムを送信せずともその���別情報を送信するだけで、第２のコンピュータにおいて、第２のデータをフォーマット逆変換し、第１のデータを復元することができるようになる。  本発明の第３の態様に係る例えば送信元のＴＣサーバにより実施される情報処理方法は、データのフォーマット変換を実施するコンピュータ（例えば実施例のＲＳＰサーバ）に対して、データの送信先の指定を含む、フォーマット変換の逆変換を行うためのフォーマット逆変換プログラムの送信要求を送信するステップと、データのフォーマット変換を実施するコンピュータからフォーマット逆変換プログラムを受信した場合には、少なくともフォーマット逆変換プログラムに対する電子署名を生成し、少なくとも生成された電子署名とデータと当該データに対する電子署名とを上記データのフォーマット変換を実施するコンピュータに送信する送信ステップとを含む。なお、フォーマット逆変換プログラムをデータのフォーマット変換を実施するコンピュータにさらに送信する場合もある。  このようにすることにより送信先のコンピュータ（例えば送信先のＴＣサーバ）に送信されたフォーマット逆変換プログラムの改竄の有無などを確認することができるようになる。  本発明の第４の態様に係る例えば送信元のＴＣサーバにおいて実施される情報処理方法は、データのフォーマット変換を実施するコンピュータに対して、データの送信先の指定を含む、フォーマット変換の逆変換を行うためのフォーマット逆変換プログラムの送信要求を送信するステップと、データのフォーマット変換を実施するコンピュータからフォーマット逆変換プログラムを受信した場合には、少なくともフォーマット逆変換プログラム及びデータに対する電子署名を生成し、少なくとも生成された電子署名とデータとをデータのフォーマット変換を実施するコンピュータに送信する送信ステップとを含む。本発明の第３の態様とは異なる形で電子署名を生成して送信する場合もある。  本発明の第５の態様に係る例えば送信先のＴＣサーバにおいて実施される情報処理方法は、送信先向けにフォーマット変換されたデータと少なくともフォーマット変換前のデータに対する電子署名と当該フォーマット変換の逆変換を行うためのフォーマット逆変換プログラムとを受信する受信ステップと、受信されたフォーマット逆変換プログラムを用いて上記フォーマット変換されたデータを逆変換し、逆変換データを生成するステップと、少なくとも逆変換データから第１ハッシュ値を計算するステップと、受信された電子署名から第２ハッシュ値を復元するステップと、計算された第１ハッシュ値と復元された第２ハッシュ値とを比較して改竄の有無を判断するステップとを含む。  このようにすればＲＳＰサーバ等でフォーマット変換が実施されていても、ＲＳＰサーバ等の処理の前に元のデータに対して改竄等が行われていないか等を判断することができるようになる。すなわち、送信元の確証を得ることができるようになる。  なお、上で述べた受信ステップにおいて、フォーマット逆変換プログラムに対する第２の電子署名を受信し、フォーマット逆変換プログラムから第３ハッシュ値を計算するステップと、第２の電子署名から第４ハッシュ値を復元するステップと、計算された第３ハッシュ値と復���された第４ハッシュ値とを比較して改竄の有無を判断するステップとをさらに含む場合もある。このようにフォーマット逆変換プログラムに対する第２の電子署名を受信すれば、送信元の認証を得たフォーマット逆変換プログラムであって、改竄等が行われていないことを確認できるようになる。  本発明の第６の態様に係る例えば送信先のＴＣサーバにより実施される情報処理方法は、送信先向けにフォーマット変換されたデータと少なくともフォーマット変換前のデータに対する電子署名と当該フォーマット変換の逆変換を行うためのフォーマット逆変換プログラムを識別するための識別情報とを受信する受信ステップと、受信されたフォーマット逆変換プログラムを識別するための識別情報を用いて、記憶装置から当該フォーマット逆変換プログラムを抽出するステップと、抽出されたフォーマット逆変換プログラムを用いてフォーマット変換されたデータを逆変換し、逆変換データを生成するステップと、逆変換データから第１ハッシュ値を計算するステップと、受信された電子署名から第２ハッシュ値を復元するステップと、計算された第１ハッシュ値と復元された第２ハッシュ値とを比較して改竄の有無を判断するステップとを含む。  このようにフォーマット逆変換プログラムを送信先のＴＣサーバで保持している場合にはデータを送信する都度にフォーマット逆変換プログラムを送信せずに、当該フォーマット逆変換プログラムを識別するための識別情報を送信すればよい。但し、送信元の国などが分かればフォーマット逆変換プログラムを特定できる場合もあり、必ずしもフォーマット逆変換プログラムのＩＤが必要なわけではない。  なお、本発明の第１乃至第６の態様に係る情報処理方法をコンピュータに実行させるためのプログラムを作成することも可能であって、当該プログラムは、例えばフロッピー・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、インターネットなどのネットワークを介して配布される場合もある。なお、処理途中のデータについては、コンピュータのメモリに一時保管される。
【発明を実施するための最良の形態】  ［実施例１］  本発明の実施例１に係るシステム概要図を第１図に示す。実施例１は、本発明を貿易ＥＤＩ（Electric Data Interchange）システムに適用した場合の第一の例である。ここでは、企業Ａから企業Ｂに書類データを送信する必要があるが、例えば企業Ａの属する国の法制等に従った書類データを企業Ｂの属する国の法制等に従った書類データに変換しなければならない場合を想定する。  コンピュータ・ネットワークであるインターネット１には、例えばインボイス等の書類データの送信元である企業Ａが管理・運用しているＴＣサーバＡ（３）と、例えば書類データのフォーマット変換や書類データの蓄積サービスなどを提供するためのＲＳＰサーバ７と、例えば書類データの送信先である企業Ｂが管理・運営しているＴＣサーバＢ（５）とが接続されている。なお、ＴＣサーバは２つだけでなく多数インターネット１に接続されている。また、ＲＳＰサーバ７も１つだけでなく複数存在している場合もある。  ＴＣサーバＡ（３）は、例えばＬＡＮ（Local Area Network）３ａを介して１又は複数のユーザ端末３ｂに接続している。なお、ＬＡＮではなく、インターネット等の他のネットワークを経由するような構成であってもよい。企業Ａの社員はユーザ端末３ｂを操作して、書類データの送信などをＴＣサーバＡ（３）に指示する。同様に、ＴＣサーバＢ（５）は、例えばＬＡＮ５ａを介して１又は複数のユーザ端末５ｂに接続している。なお、ＬＡＮではなく、インターネット等の他のネットワークを経由するような構成であってもよい。企業Ｂの社員はユーザ端末５ｂを操作して、書類データの受信などをＴＣサーバＢ（５）に指示する。なお、ＴＣサーバとユーザ端末間はＳＳＬ（Secure Socket Layer Protocol）方式で暗号化している。また、本実施例では、ユーザ端末による処理については説明を省略する。  ＲＳＰサーバ７は、送信元からの要求に基づき送信先に合わせて書類データのフォーマットなどを変換するためのフォーマット変換プログラム及びフォーマット逆変換プログラムを格納するフォーマット変換／逆変換プログラム格納部７１と、受信した書類データ等を蓄積するための書類データ格納部７５とを管理している。  第２図に、フォーマット変換／逆変換プログラム格納部７１に格納されるデータの管理テーブルの一例を示す。第２図の例では、送信先国名の列２０１と、フォーマット変換プログラム名の列２０３と、フォーマット逆変換プログラム名の列２０５とが含まれている。例えば、送信先国名がアメリカであれば、フォーマット変換プログラム名がＵＳＡ．ｅｘｅであり、フォーマット逆変換プログラム名がＵＳＡ＿ｉｖ．ｅｘｅである。送信先国名が日本であれば、フォーマット変換プログラム名がＪＰＮ．ｅｘｅであり、フォーマット逆変換プログラム名が、ＪＰＮ＿ｉｖ．ｅｘｅである。送信先国名が英国であれば、フォーマット変換プログラム名がＵＫ．ｅｘｅであり、フォーマット逆変換プログラム名がＵＫ＿ｉｖ．ｅｘｅである。なお、このような管理テーブルが送信元の国ごとに設けられる。なお、国毎にフォーマット変換プログラム及びフォーマット逆変換プログラムを設ける例を示したが、国ごとでなくとも、地域ごと、会社ごと等の場合���ある。  以下第１図に示したシステムの処理フローを説明するが、その前に２つのコンピュータ間で暗号化してデータを送信する際の処理について第３図を用いて説明しておく。送信元コンピュータ３０１から送信先コンピュータ３０３にオリジナル平文データ３１１を暗号化して送信する場合には、送信元コンピュータ３０１は、オリジナル平文データ３１１に対してワンタイム共通鍵３２５を用いてデータ暗号化処理３２３を実施し、暗号化データ３４５を生成する。データ暗号化処理３２３には、例えばトリプルＤＥＳ（Data Encryption Standard）を用いる。また、オリジナル平文データ３１１に対して例えばハッシュ関数ＳＨＡ−１を用いたハッシュアルゴリズム３１３を適用し、オリジナルのハッシュ値３１９を生成する。そしてオリジナルのハッシュ値３１９を、送信元の秘密鍵３１７を用いて例えばＲＳＡ暗号化処理３２１を実施し、電子署名３４１を生成する。また、ワンタイム共通鍵３２５に対して、送信先の公開鍵証明書３２９から得られる送信先の公開鍵３３１を用いて例えばＲＳＡ暗号化処理３２７を実施し、暗号化されたワンタイム共通鍵３４７を生成する。このように生成した電子署名３４１と暗号化データ３４５と暗号化されたワンタイム共通鍵３４７を送信元の公開鍵証明書３１５と共に、例えばＨＴＴＰ（Hyper Text Transfer Protocol）に従って送信先コンピュータ３０３に送信する。  送信先コンピュータ３０３は、電子署名３４１及び送信元の公開鍵証明書３１５を受信すると、当該送信元の公開鍵証明書３１５から送信元の公開鍵３５５を取り出し、電子署名３４１に対してＲＳＡ復号処理３５１を実施し、オリジナルのハッシュ値３５３を生成する。また、暗号化データ３４５及び暗号化されたワンタイム共通鍵３４７を受信すると、当該暗号化されたワンタイム共通鍵３４７に対して送信先の秘密鍵３６３を用いてＲＳＡ復号処理３５９を実施し、ワンタイム共通鍵３６１を復元する。このワンタイム共通鍵３６１を用いて暗号化データ３４５に対してデータ復号化処理３５７を実施し、受信した平文データ３６７を生成する。なお、送信先コンピュータ３０３には送信先の公開鍵証明書３２９が保持されており、必要に応じて送信元に送信されるようになっている。受信した平文データ３６７には、送信元で実施したのと同じハッシュアルゴリズム３６９を適用するとハッシュ値３７１が生成される。そして、オリジナルのハッシュ値３５３とハッシュ値３７１とに対する比較処理３７３により、受信した平文データがオリジナル平文３１１から改竄等が行われていないかが確認できる。すなわち、オリジナルのハッシュ値３５３とハッシュ値３７１が一致していれば改竄等は行われておらず、一致しなければ改竄等が行われた可能性がある。もし改竄等が行われていなければ、受信した平文データを後の処理に利用することができる。  以上の処理を前提として、実施例１の処理の概要を第４図を用いて説明する。送信元のコンピュータであるＴＣサーバＡ（３）では、インボイス等の書類データＡ（４０１）を生成し、当該書類データＡ（４０１）に対して企業Ａの電子署名４０３を生成する。そして書類データＡ（４０１）に企業Ａの電子署名４０３を付したデータをＲＳＰサーバ７に送信する。この際第３図に示したような処理が実施される。すなわち、書類データＡ（４０１）のハッシュ値を計算し且つ企業Ａの秘密鍵で暗号化することにより企業Ａの電子署名４０３を生成する。また、書類データＡ（４０１）はワンタイム共通鍵で暗号化され、当該ワンタイム共通鍵もＲＳＰの公開鍵で暗号化される。そして、暗号化された書類データＡ（４０１）、暗号化されたワンタイム共通鍵、企業Ａの公開鍵証明書及び企業Ａの電子署名がＲＳＰサーバ７に送信される。  ＲＳＰサーバ７では、受信時には第３図に示したような処理を実施する。すなわち、企業Ａの公開鍵証明書から企業Ａの公開鍵を得て企業Ａの電子署名に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値を復元する。また、暗号化されたワンタイム共通鍵をＲＳＰの秘密鍵で復号化することによりワンタイム共通鍵を得て、暗号化された書類データＡ（４０１）を復号化する。復号化された書類データＡ（４０１）に対してハッシュアルゴリズムを適用することによりハッシュ値を計算し、オリジナルのハッシュ値と比較することにより改竄等が行われていないことを確認する。  その後、当該書類データＡ（４０１）の送信先に合わせたフォーマット変換をフォーマット変換プログラムにより実施し、フォーマット変換された書類データＡ（４０５）を生成する。また、フォーマット変換の逆変換を行うためのフォーマット逆変換プログラム４０７をフォーマット変換／逆変換プログラム格納部７１から読み出す。そして、フォーマット変換された書類データＡ（４０５）とフォーマット逆変換プログラム４０７と企業Ａの電子署名４０３とに対するＲＳＰの電子署名４０９を生成する。すなわち、フォーマット変換された書類データＡ（４０５）とフォーマット逆変換プログラム４０７と企業Ａの電子署名４０３とからハッシュ値を計算し、ＲＳＰの秘密鍵で暗号化する。ＲＳＰサーバ７は、フォーマット変換された書類データＡ（４０５）とフォーマット逆変換プログラム４０７と企業Ａの電子署名４０３にＲＳＰの電子署名４０９を付したデータをＴＣサーバＢ（５）に送信する。  この送信の際にも第３図に示したような処理を実施する。すなわち、フォーマット変換された書類データＡ（４０５）とフォーマット逆変換プログラム４０７と企業Ａの電子署名４０３とをオリジナル平文データとしてワンタイム共通鍵で暗号化し、ＲＳＰの電子署名４０９とＲＳＰの公開鍵証明書と企業Ｂの公開鍵で暗号化されたワンタイム共通鍵と共にＴＣサーバＢ（５）に送信する。なお、本実施例では企業Ａの公開鍵証明書もＴＣサーバＢ（５）に送信しなければならない場合もある。但し、企業Ａの公開鍵証明書が別の手段で取得できるようになっていれば送信しなくともよい。  ＴＣサーバＢ（５）では、受信時に第３図に示したような処理を実施する。すなわち、ＲＳＰの公開鍵証明書からＲＳＰの公開鍵を得てＲＳＰの電子署名４０９に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値を復元する。また、暗号化されたワンタイム共通鍵を企業Ｂの秘密鍵で復号化することによりワンタイム共通鍵を得て、暗号化されたデータ４０３乃至４０７を復号化する。復号化されたデータ４０３乃至４０７に対してハッシュアルゴリズ���を適用することによりハッシュ値を計算し、オリジナルのハッシュ値と比較することにより改竄等が行われていないことを確認する。  もし改竄等が行われていないことが確認された場合には、フォーマット逆変換プログラム４０７を用いて、フォーマット変換された書類データＡ（４０５）にフォーマット逆変換を施し、書類データＡ（４１１）を生成する。また、書類データＡ（４１１）にハッシュアルゴリズムを適用してハッシュ値４１３を計算する。一方、企業Ａの公開鍵証明書から企業Ａの公開鍵を取り出して、企業Ａの電子署名４０３を当該企業Ａの公開鍵で復号化するとオリジナルのハッシュ値４１５が復元される。よって、ハッシュ値４１３とハッシュ値４１５を比較することにより、フォーマット変換された書類データＡ（４０５）が、真正な書類データＡ（４０１）から生成されたものであるか否かが確認できるのである。  以上述べた処理をまとめると第５図のようになる。ＴＣサーバＡ（３）は、インボイス等の書類データを生成し、また書類データに対する企業Ａの電子署名を生成し、企業Ａの電子署名と書類データを、送信先の指定と共にＲＳＰサーバ７に送信する（ステップＳ１）。上で述べたように第３図に示したように暗号化が行われ、企業Ａの公開鍵証明書や、暗号化されたワンタイム共通鍵等と共に送信される。ＲＳＰサーバ７は、ＴＣサーバＡ（３）から企業Ａの電子署名と書類データと送信先の指定を受信する（ステップＳ３）。受信時には、第３図に示したように、書類データの復号化や、受信した書類データが改竄等されていないか確認する処理を実施し、改竄等がなされていないことが確認されると書類データを書類データ格納部７５に格納する。  また、送信先に合わせたフォーマット変換を実施するためのフォーマット変換プログラムをフォーマット変換／逆変換プログラム格納部７１から読み出し、当該フォーマット変換プログラムを用いて書類データに対してフォーマット変換を実施することにより、フォーマット変換された書類データを生成し、例えば書類データ格納部７５に格納する（ステップＳ５）。そして、実施したフォーマット変換の逆変換を行うためのフォーマット逆変換プログラムをフォーマット変換／逆変換プログラム格納部７１から読み出し、当該フォーマット逆変換プログラムとフォーマット変換された書類データと企業Ａの電子署名とに対してＲＳＰの電子署名を生成する。第３図及び第４図で説明したようにフォーマット逆変換プログラムとフォーマット変換された書類データと企業Ａの電子署名とからハッシュ値を計算し、当該ハッシュ値をＲＳＰの秘密鍵で暗号化する。そして、フォーマット逆変換プログラムとフォーマット変換された書類データと企業Ａの電子署名とＲＳＰの電子署名とをＴＣサーバＢ（５）に送信する（ステップＳ７）。送信時には第３図に示したように、当該フォーマット逆変換プログラムとフォーマット変換された書類データと企業Ａの電子署名とを暗号化し、ＲＳＰの公開鍵証明書や、暗号化されたワンタイム共通鍵等と共に送信する。なお、企業Ａの共通鍵証明書も送信される場合もある。  ＴＣサーバＢ（５）は、ＲＳＰサーバ７からフォーマット逆変換プログラムとフォーマット変換された書類データと企��Ａの電子署名とＲＳＰの電子署名を受信する（ステップＳ９）。受信時には、第３図に示したように、受信したデータの復号化や、受信したデータが改竄等されていないか確認する処理を実施する。改竄等が実施されていないことが確認されると、フォーマット逆変換プログラムを用いて書類データに対してフォーマット逆変換を実施し、書類データを復元する（ステップＳ１１）。この書類データは例えばメモリに格納される。但し、この復元された書類データはＴＣサーバＡ（３）で生成されたものと同一か否かはまだわからない。そして、復元された書類データからハッシュ値を生成する（ステップＳ１３）。また、企業Ａの電子署名を企業Ａの公開鍵で復号化し、復号化ハッシュ値を生成する（ステップＳ１５）。そして、ステップＳ１３で生成したハッシュ値とステップＳ１５で復号した復号化ハッシュ値とを比較して、一致しているか判断する（ステップＳ１７）。もし、一致していれば当該書類データは企業Ａによる真正な書類データであり、フォーマット変換された書類データも真正な書類データとして使用することができる（ステップＳ１９）。この書類データは記憶装置に格納される。一方、一致しない場合には、企業Ａで作成され、企業Ａで認定した変換プログラムでフォーマット変換された書類データとして認められず、例えばユーザ端末５ｂに警告を発する（ステップＳ２１）。  このようにすれば、ＲＳＰサーバ７によりフォーマット変換が施されても元の書類データが送信元による真正な書類データであることを確認することができるようになる。［実施例２］  実施例１では、ＲＳＰサーバ７が自らが有するフォーマット逆変換プログラムを送信先であるＴＣサーバＢ（５）へ送信するような構成であった。一方、書類データについては送信元たる企業Ａが電子署名を作成していた。すなわち、企業Ｂは、書類データについては送信元の企業Ａによる確証を得るが、フォーマット逆変換プログラムについてはＲＳＰサーバ７からの確証を得るのみである。場合によっては、フォーマット逆変換プログラムについても企業Ａの確証を得るほうがよいこともある。実施例２は、フォーマット逆変換プログラムに送信元の確証を送信先の企業Ｂが得られるようにする場合の例を示す。  なお、第１図に示したシステム構成図は実施例２においても同じである。また、実施例２として説明するため、ＴＣサーバＡ（３）をＴＣサーバＥ（３Ｅ）とし、ＴＣサーバＢ（５）をＴＣサーバＦ（５Ｆ）として説明する。  まず第６図を用いて処理の概要を説明する。最初に、送信元のコンピュータであるＴＣサーバＥ（３Ｅ）は、ＲＳＰサーバ７から送信先に対応するフォーマット逆変換プログラム６０５を取得する。この際も第３図に示すような処理が実施される。すなわち、ＲＳＰサーバ７は、フォーマット逆変換プログラム６０５をワンタイム共通鍵で暗号化し、当該ワンタイム共通鍵を企業Ｅの公開鍵で暗号化する。また、フォーマット逆変換プログラム６０５のハッシュ値を所定のハッシュアルゴリズムにて計算し、当該ハッシュ値をＲＳＰの秘密鍵で暗号化することにより電子署名を生成する。そして、暗号化されたフォーマット逆変換プログラム６０５とＲＳＰの公開鍵証明書と暗号化されたワンタイム共通鍵と電子署名とをＴＣサーバＥ（３Ｅ）に送信する。ＴＣサーバＥ（３Ｅ）は、暗号化されたフォーマット逆変換プログラム６０５とＲＳＰの公開鍵証明書と暗号化されたワンタイム共通鍵と電子署名とを受信し、企業Ｅの秘密鍵でワンタイム共通鍵を復号化する。そして、ワンタイム共通鍵でフォーマット逆変換プログラム６０５を復号化する。また、ＲＳＰの公開鍵証明書からＲＳＰの公開鍵を取得し、ＲＳＰの電子署名を復号化してオリジナルのハッシュ値を復元する。一方、プログラム逆変換プログラム６０５に対して所定のハッシュアルゴリズムを適用してハッシュ値を計算する。これらのハッシュ値を比較することにより、改竄等が行われなかったか否かを判断する。  もし、改竄等が行われていない場合には、フォーマット逆変換プログラム６０５に対する企業Ｅの電子署名２（６０７）を生成する。すなわち、フォーマット逆変換プログラム６０５に対して所定のハッシュアルゴリズムを適用してハッシュ値を計算し、そのハッシュ値を企業Ｅの秘密鍵で暗号化する。さらにＴＣサーバＥ（３Ｅ）は、インボイス等の書類データＢ（６０１）を生成し、当該書類データＢ（６０１）に対して企業Ｅの電子署名を生成する。すなわち、書類データＢ（６０１）から所定のハッシュアルゴリズムに従ってハッシュ値を計算し、そのハッシュ値を企業Ｅの秘密鍵で暗号化する。  そして書類データＢ（６０１）に企業Ｅの電子署名１（６０３）を付したデータ及びフォーマット逆変換プログラム６０５に企業Ｅの電子署名２（６０７）を付したデータをＲＳＰサーバ７に送信する。この際第３図に示したような処理が実施される。すなわち、書類データＢ（６０１）のハッシュ値を計算し且つ企業Ｅの秘密鍵で暗号化することにより企業Ｅの電子署名１（６０３）を生成する。また、書類データＢ（６０１）はワンタイム共通鍵で暗号化され、当該ワンタイム共通鍵もＲＳＰの公開鍵で暗号化される。さらに、フォーマット逆変換プログラム６０５のハッシュ値を計算し且つ企業Ｅの秘密鍵で暗号化することにより企業Ｅの電子署名２（６０７）を生成する。また、フォーマット逆変換プログラム６０５はワンタイム共通鍵で暗号化される。そして、暗号化された書類データＢ（６０１）、暗号化されたワンタイム共通鍵、企業Ｅの公開鍵証明書、暗号化されたフォーマット逆変換プログラム６０５、企業Ｅの電子署名１（６０３）及び企業Ｅの電子署名２（６０７）がＲＳＰサーバ７に送信される。  ＲＳＰサーバ７では、受信時には第３図に示したような処理を実施する。すなわち、企業Ｅの公開鍵証明書から企業Ｅの公開鍵を得て企業Ｅの電子署名１（６０３）に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値α１を復元する。また、暗号化されたワンタイム共通鍵をＲＳＰの秘密鍵で復号化することによりワンタイム共通鍵を得て、暗号化された書類データＢ（６０１）を復号化する。復号化された書類データＢ（６０１）に対してハッシュアルゴリズムを適用することによりハッシュ値β１を計算し、オリジナルのハッシュ値α１と比較することにより改竄等が行われていないことを確認する。同様に、企業Ｅの公開鍵を得て企業Ｅの電子署名２（６０７）に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値α２を復元する。また暗号化されたフォーマット逆変換プログラム６０５をワンタイム共通鍵でもって復号化する。フォーマット逆変換プログラム６０５に対して所定のハッシュアルゴリズムにてハッシュ値β２を計算し、オリジナルのハッシュ値α２と比較することにより改竄等が行われていないことを確認する。  その後、当該書類データＢ（６０１）の送信先に合わせたフォーマット変換をフォーマット変換プログラムにより実施し、フォーマット変換された書類データＢ（６０９）を生成する。また、フォーマット変換された書類データＢ（６０９）とフォーマット逆変換プログラム６０５と企業Ｅの電子署名２（６０７）と企業Ｅの電子署名１（６０３）とに対するＲＳＰの電子署名６１１を生成する。すなわち、フォーマット変換された書類データＢ（６０９）とフォーマット逆変換プログラム６０５と企業Ｅの電子署名２（６０７）と企業Ｅの電子署名１（６０３）とからハッシュ値を計算し、ＲＳＰの秘密鍵で暗号化する。ＲＳＰサーバ７は、フォーマット変換された書類データＢ（６０９）とフォーマット逆変換プログラム６０５と企業Ｅの電子署名２（６０７）と企業Ｅの電子署名１（６０３）とＲＳＰの電子署名６１１を付したデータをＴＣサーバＦ（５Ｆ）に送信する。  この送信の際にも第３図に示したような処理を実施する。すなわち、フォーマット変換された書類データＢ（６０９）とフォーマット逆変換プログラム６０５と企業Ｅの電子署名２（６０７）と企業Ｅの電子署名１（６０３）をオリジナル平文データとしてワンタイム共通鍵で暗号化し、ＲＳＰの電子署名６１１とＲＳＰの公開鍵証明書と企業Ｆの公開鍵で暗号化されたワンタイム共通鍵と共にＴＣサーバＦ（５Ｆ）に送信する。なお、本実施例では企業Ｅの公開鍵証明書もＴＣサーバＦ（５Ｆ）に送信しなければならない場合もある。但し、企業Ｅの公開鍵証明書が別の手段で取得できるようになっていれば送信しなくともよい。  ＴＣサーバＦ（５Ｆ）では、受信時に第３図に示したような処理を実施する。すなわち、ＲＳＰの公開鍵証明書からＲＳＰの公開鍵を得てＲＳＰの電子署名６１１に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値を復元する。また、暗号化されたワンタイム共通鍵を企業Ｆの秘密鍵で復号化することによりワンタイム共通鍵を得て、暗号化されたデータ６０３乃至６０９を復号化する。復号化されたデータ６０３乃至６０９に対してハッシュアルゴリズムを適用することによりハッシュ値を計算し、オリジナルのハッシュ値と比較することにより改竄等が行われていないことを確認する。  もし改竄等が行われていないことが確認された場合には、さらにフォーマット逆変換プログラム６０５から所定のハッシュアルゴリズムにてハッシュ値６１３を計算し、企業Ｅの電子署名２（６０７）を企業Ｅの公開鍵で復号化し、オリジナルのハッシュ値６１５を復元する。そして、計算されたハッシュ値６１３とオリジナルのハッシュ値６１５を比較することにより、フォーマット逆変換プログラム６０５が企業Ｅが認定した逆変換プログラムであるかどうかを確認する。  もし、フォーマット逆変換プログラム６０５が企業Ｅが認定した逆変換プログラムであるということが確��されると、フォーマット変換された書類データ（６０９）をフォーマット逆変換プログラム６０５を用いて書類データＢ（６１７）を生成する。そして、書類データＢ（６１７）から所定のハッシュアルゴリズムにてハッシュ値６１９を生成する。一方、企業Ｅの公開鍵証明書から企業Ｅの公開鍵を取り出して、企業Ｅの電子署名１（６０３）を当該企業Ｅの公開鍵で復号化するとオリジナルのハッシュ値６２１が復元される。よって、ハッシュ値６１９とハッシュ値６２１を比較することにより、フォーマット変換された書類データ６０９が、真正な書類データＢ（６０１）から生成されたものであるか否か、すなわち企業Ｅで作成され、企業Ｅで認定した変換プログラムでフォーマット変換された書類データであるか否かが確認できるのである。  次に第７図を用いて実施例２の処理フローを説明する。最初に、ＴＣサーバＥ（３Ｅ）は、送信先の指定を含むフォーマット逆変換プログラムの送信要求をＲＳＰサーバ７に送信する（ステップＳ３１）。送信先の指定は、送信先を特定したものであっても良いし、送信先のグループ、例えば国などを指定するような形であっても良い。ＲＳＰサーバ７は、ＴＣサーバＥ（３Ｅ）から送信先の指定を含むフォーマット逆変換プログラムの送信要求を受信すると（ステップＳ３３）、送信先に対応するフォーマット逆変換プログラムをフォーマット変換／逆変換プログラム格納部７１から抽出し、ＴＣサーバＥ（３Ｅ）へ送信する（ステップＳ３５）。なお、フォーマット逆変換プログラムは、送信元と送信先とで特定される場合もあり、その場合には送信元及び送信先に対応するフォーマット逆変換プログラムをフォーマット変換／逆変換プログラム格納部７１から読み出すようにする。第３図に示したようにフォーマット逆変換プログラムの暗号化が行われ、ＲＳＰの電子署名と、ＲＳＰの公開鍵証明書や、暗号化されたワンタイム共通鍵等と共に送信される。  ＴＣサーバＥ（３Ｅ）は、ＲＳＰサーバ７から送信先に対応するフォーマット逆変換プログラムを受信する（ステップＳ３７）。第３図に示したように、ワンタイム共通鍵を復号化し、当該ワンタイム共通鍵を用いてフォーマット逆変換プログラムを復号化する。さらに、フォーマット逆変換プログラムからハッシュ値を計算し、ＲＳＰの電子署名からオリジナルのハッシュ値を復元し、比較することにより改竄等が行われていないことを確認する。そして改竄等が行われていない場合には、書類データに対して企業Ｅの電子署名１を生成し、フォーマット逆変換プログラムに対して企業Ｅの電子署名２を生成する。そして、書類データと当該書類データに対する企業Ｅの電子署名１とフォーマット逆変換プログラムと当該フォーマット逆変換プログラムに対する企業Ｅの電子署名２をＲＳＰサーバ７に送信する（ステップＳ３９）。この際再度送信先の情報を送信するようにしても良い。ここでも第３図のような処理が実施される。すなわち、書類データに対して所定のハッシュアルゴリズムを適用してハッシュ値を計算し、企業Ｅの秘密鍵にて暗号化することにより企業Ｅの電子署名１を生成し、フォーマット逆変換プログラムに対して所定のハッシュアルゴリズムを適用してハッシュ値を計算し、企業Ｅの秘密鍵���て暗号化することにより企業Ｅの電子署名２を生成する。また、書類データ及びフォーマット逆変換プログラムについてはワンタイム共通鍵で暗号化し、ワンタイム共通鍵をＲＳＰの公開鍵で暗号化する。そして、企業Ｅの公開鍵証明書と共にＲＳＰサーバ７に送信する。  ＲＳＰサーバ７は、ＴＣサーバＥ（３Ｅ）から企業Ｅの電子署名１と書類データと企業Ｅの電子署名２とフォーマット逆変換プログラムとを受信する（ステップＳ４１）。受信時には、第３図に示したように、書類データの復号化や、受信した書類データが改竄等されていないか確認する処理を実施し、改竄等がなされていないことが確認されると書類データ格納部７５に格納される。また、暗号化されたフォーマット逆変換プログラムの復号化や、受信したフォーマット逆変換プログラムが改竄等されていないか確認する処理を実施する。  そしてＲＳＰサーバ７は、フォーマット変換を行うためフォーマット変換／逆変換プログラム格納部７１から送信先に対応するフォーマット変換プログラムを読み出し、当該フォーマット変換プログラムを用いて書類データに対してフォーマット変換を実施することにより、フォーマット変換された書類データを生成し、例えば書類データ格納部７５に格納する（ステップＳ４３）。そして、受信したフォーマット逆変換プログラムと企業Ｅの電子署名２とフォーマット変換された書類データと企業Ｅの電子署名１とに対してＲＳＰの電子署名を生成する。第３図及び第６図で説明したようにフォーマット逆変換プログラムと企業Ｅの電子署名２とフォーマット変換された書類データと企業Ｅの電子署名１とからハッシュ値を計算し、当該ハッシュ値をＲＳＰの秘密鍵で暗号化する。そして、フォーマット逆変換プログラムと企業Ｅの電子署名２とフォーマット変換された書類データと企業Ｅの電子署名１とＲＳＰの電子署名とをＴＣサーバＦ（５Ｆ）に送信する（ステップＳ４５）。送信時には第３図に示したように、当該フォーマット逆変換プログラムと企業Ｅの電子署名２とフォーマット変換された書類データと企業Ｅの電子署名１とを暗号化し、ＲＳＰの公開鍵証明書や、暗号化されたワンタイム共通鍵等と共に送信する。なお、企業Ｅの共通鍵証明書も送信される場合もある。  ＴＣサーバＦ（５Ｆ）は、ＲＳＰサーバ７からフォーマット逆変換プログラムと企業Ｅの電子署名２とフォーマット変換された書類データと企業Ｅの電子署名１とＲＳＰ電子署名を受信する（ステップＳ４７）。受信時には、第３図に示したように、受信したデータの復号化や、受信したデータが改竄等されていないか確認する処理を実施する。改竄等が実施されていないことが確認されると、フォーマット逆変換プログラムに対して所定のハッシュアルゴリズムを適用してハッシュ値を生成し、企業Ｅの電子署名２をＲＳＰの公開鍵で復号化することにより復号化ハッシュ値を生成する（ステップＳ４９）。そして、生成したハッシュ値と復号化ハッシュ値を比較し、フォーマット逆変換プログラムが送信元が想定しているフォーマット逆変換プログラムであるかを確認する（ステップＳ５１）。もし、生成したハッシュ値と復号化ハッシュ値とが一致していない場合には、送信元が想定していないフォーマット逆変換プログラ���であるからステップＳ６３に移行して、企業Ｅで認定した逆変換プログラムとして認められない旨の警告を発する。  一方、ステップＳ５１で一致していると判断された場合には、当該フォーマット逆変換プログラムを用いて書類データに対してフォーマット逆変換を実施し、書類データを復元する（ステップＳ５３）。当該書類データを例えばメモリに格納する。但し、この復元された書類データはＴＣサーバＥ（３Ｅ）で生成されたものと同一か否かはまだわからない。そして、復元された書類データからハッシュ値２を生成する（ステップＳ５５）。また、企業Ｅの電子署名１を企業Ｅの公開鍵で復号化し、復号化ハッシュ値２を生成する（ステップＳ５７）。そして、ステップＳ５５で生成したハッシュ値２とステップＳ５７で復号した復号化ハッシュ値２とを比較して、一致しているか判断する（ステップＳ５９）。もし、一致していれば当該書類データは企業Ｅによる真正な書類データであり、フォーマット変換された書類データも真正な書類として使用することができる（ステップＳ６１）。書類データは記憶装置に格納される。一方、一致しない場合には、企業Ｅで作成され、企業Ｅで認定した変換プログラムでフォーマット変換された書類データとして認められず、例えばユーザ端末５ｂに警告を発する（ステップＳ６３）。  このようにすれば、ＲＳＰサーバ７によりフォーマット変換が施されても元の書類データが送信元による真正な書類データであることを確認することができるようになる。また、ＴＣサーバＦ（５Ｆ）において実行されるフォーマット逆変換プログラムも送信元の想定したフォーマット逆変換プログラムであることが確認できるため、ＴＣサーバＦ（５Ｆ）では安心して実行することができる。  なお、ステップＳ３９においてフォーマット逆変換プログラムをＴＣサーバＥ（３Ｅ）からＲＳＰサーバ７へ送信しない場合もある。また、フォーマット逆変換プログラムと書類データとに対して別々に企業Ｅの電子署名を生成していたが、一括して企業Ｅの電子署名を生成することもある。［実施例３］  実施例１及び実施例２では、フォーマット逆変換プログラムをＲＳＰサーバから送信先のＴＣサーバに送信する構成であったが、送信先がフォーマット逆変換プログラムのセットを保持しており且つ送信先で実行すべきフォーマット逆変換プログラムを特定できれば、書類データの送信の都度にフォーマット逆変換プログラムを送信する必要はなくなる。実施例３では、送信先がフォーマット逆変換プログラムのセットを保持している場合の例を説明する。  本発明の実施例３に係るシステム概要図を第８図に示す。コンピュータ・ネットワークであるインターネット１１には、例えばインボイス等の書類データの送信元である企業Ｃが管理・運用しているＴＣサーバＣ（１３）と、例えば書類データのフォーマット変換や書類データの蓄積サービスなどを提供するためのＲＳＰサーバ１７と、例えば書類データの送信先である企業Ｄが管理・運営しているＴＣサーバＤ（１５）とが接続されている。なお、ＴＣサーバは２つだけでなく多数インターネット１１に接続されている。また、ＲＳＰサーバ１７も１つだけでなく複数存在している場合もある。  ＴＣサーバＣ（１３）は、例え���ＬＡＮ（Local Area Network）１３ａを介して１又は複数のユーザ端末１３ｂに接続している。なお、ＬＡＮではなく、インターネット等の他のネットワークを経由する構成であってもよい。企業Ｃの社員はユーザ端末１３ｂを操作して、書類データの送信などをＴＣサーバＣ（１３）に指示する。また、ＴＣサーバＣ（１３）は、フォーマット逆変換プログラムを格納するフォーマット逆変換プログラム格納部１３ｃを管理している。同様に、ＴＣサーバＤ（１５）は、例えばＬＡＮ１５ａを介して１又は複数のユーザ端末１５ｂに接続している。なお、ＬＡＮではなくインターネット等の他のネットワークを経由するような構成であってもよい。企業Ｄの社員はユーザ端末１５ｂを操作して、書類データの受信などをＴＣサーバＤ（１５）に指示する。同様に、ＴＣサーバＤ（１５）は、フォーマット逆変換プログラムを格納するフォーマット逆変換プログラム格納部１５ｃを管理している。なお、本実施例では、ユーザ端末による処理については説明を省略する。  ＲＳＰサーバ１７は、送信元からの要求に基づき送信先に合わせて書類データのフォーマットなどを変換するためのフォーマット変換プログラムを格納するフォーマット変換プログラム格納部１７１と、受信した書類データ等を蓄積するための書類データ格納部１７５とを管理している。  第９図に、フォーマット逆変換プログラム格納部１３ｃ及び１５ｃに格納されるデータの管理テーブルの一例を示す。第９図の例では、フォーマット逆変換プログラムＩＤの列９０１と、フォーマット逆変換プログラム名の列９０３とが含まれている。例えば、送信元国名がアメリカの場合にはＵＳＡというフォーマット逆変換プログラムＩＤを与えて、そのＩＤに対応するフォーマット逆変換プログラム名をＵＳＡ＿ｉｖ．ｅｘｅとする。送信元国名が日本の場合にはＪＰＮというフォーマット逆変換プログラムＩＤを与えて、フォーマット逆変換プログラム名をＪＰＮ＿ｉｖ．ｅｘｅとする。送信元国名が英国の場合にはＵＫというフォーマット逆変換プログラムＩＤを与えて、フォーマット逆変換プログラム名をＵＫ＿ｉｖ．ｅｘｅとする。なお、国毎にフォーマット逆変換プログラムを設ける例を示したが、国ごとでなくとも、地域ごと、会社ごと等の場合もある。  なお、フォーマット変換プログラム格納部１７１には、送信先国名に対応してフォーマット変換プログラム名が格納された管理テーブルが設けられる。なお、送信元国名毎にこの管理テーブルが設けられるが、管理テーブルに対応してフォーマット逆変換プログラムＩＤが格納されている。なお、国ごとでなく、地域ごと、会社ごとなどであっても良い。  次に実施例３の処理の概要を第１０図を用いて説明する。送信元のコンピュータであるＴＣサーバＣ（１３）では、インボイス等の書類データＣ（１００１）を生成し、当該書類データＣ（１００１）に対して企業Ｃの電子署名を生成する。そして書類データＣ（１００１）に企業Ｃの電子署名１００３を付したデータをＲＳＰサーバ１７に送信する。この際第３図に示したような処理が実施される。すなわち、書類データＣ（１００１）のハッシュ値を計算し且つ企業Ｃの秘密鍵で暗号化することにより企業Ｃの電子署名１００３を生成する。また��書類データＣ（１００１）はワンタイム共通鍵で暗号化され、当該ワンタイム共通鍵もＲＳＰの公開鍵で暗号化される。そして、暗号化された書類データＣ（１００１）、暗号化されたワンタイム共通鍵、企業Ｃの公開鍵証明書及び企業Ｃの電子署名１００３がＲＳＰサーバ１７に送信される。  ＲＳＰサーバ１７では、受信時には第３図に示したような処理を実施する。すなわち、企業Ｃの公開鍵証明書から企業Ｃの公開鍵を得て企業Ｃの電子署名１００３に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値を復元する。また、暗号化されたワンタイム共通鍵をＲＳＰの秘密鍵で復号化することによりワンタイム共通鍵を得て、暗号化された書類データＣ（１００１）を復号化する。復号化された書類データＣ（１００１）に対してハッシュアルゴリズムを適用することによりハッシュ値を計算し、オリジナルのハッシュ値と比較することにより改竄等が行われていないことを確認する。  その後、当該書類データＣ（１００１）の送信先に合わせたフォーマット変換をフォーマット変換プログラムにより実施し、フォーマット変換された書類データＣ（１００５）を生成する。そして、フォーマット変換された書類データＣ（１００５）とフォーマット逆変換プログラムＩＤ１００７と企業Ｃの電子署名１００３とに対するＲＳＰの電子署名１００９を生成する。すなわち、フォーマット変換された書類データＣ（１００５）とフォーマット逆変換プログラムＩＤ１００７と企業Ｃの電子署名１００３とからハッシュ値を計算し、ＲＳＰの秘密鍵で暗号化する。ＲＳＰサーバ１７は、フォーマット変換された書類データＣ（１００５）とフォーマット逆変換プログラムＩＤ１００７と企業Ｃの電子署名１００３にＲＳＰの電子署名１００９を付したデータをＴＣサーバＤ（１５）に送信する。  なお、フォーマット逆変換プログラムＩＤ１００７に対してはＲＳＰの電子署名を生成しない場合もある。すなわち、送信元の情報（例えば送信元の国名や会社識別子、ネットワークにおけるアドレスなど）をフォーマット逆変換プログラムＩＤとして用いる場合には、あえてフォーマット逆変換プログラムＩＤ１００７に対してＲＳＰの電子署名を生成する必要がない場合もある。このような場合には、当該書類データＣ（１００１）の送信先に合わせたフォーマット変換をフォーマット変換プログラムにより実施し、フォーマット変換された書類データＣ（１００５）を生成する。また、フォーマット逆変換プログラムＩＤ１００７をフォーマット変換プログラム格納部１７１から読み出す。そして、フォーマット変換された書類データＣ（１００５）と企業Ｃの電子署名１００３とに対するＲＳＰの電子署名１０１１を生成する。すなわち、フォーマット変換された書類データＣ（１００５）と企業Ｃの電子署名１００３とからハッシュ値を計算し、ＲＳＰの秘密鍵で暗号化する。ＲＳＰサーバ１７は、フォーマット変換された書類データＣ（１００５）と企業Ｃの電子署名１００３にＲＳＰの電子署名１００９及びフォーマット逆変換プログラムＩＤ１００７を付したデータをＴＣサーバＤ（１５）に送信する。  この送信の際にも第３図に示したような処理を実施する。すなわち、上で述べた第１の例（ａ）の場合には、フォーマット変換された書類データＣ（１００５）とフォーマット逆変換プログラムＩＤ１００７と企業Ｃの電子署名１００３とをオリジナル平文データとしてワンタイム共通鍵で暗号化し、ＲＳＰの電子署名１００９とＲＳＰの公開鍵証明書と企業Ｄの公開鍵で暗号化されたワンタイム共通鍵と共にＴＣサーバＤ（１５）に送信する。なお、本実施例では企業Ｃの公開鍵証明書もＴＣサーバＤ（１５）に送信しなければならない場合もある。但し、企業Ｃの公開鍵証明書が別の手段で取得できるようになっていれば送信しなくともよい。  上で述べた第２の例（ｂ）の場合には、フォーマット変換された書類データＣ（１００５）と企業Ｃの電子署名１００３とをオリジナル平文データとしてワンタイム共通鍵で暗号化し、フォーマット逆変換プログラムＩＤ１００７とＲＳＰの電子署名１００９とＲＳＰの公開鍵証明書と企業Ｄの公開鍵で暗号化されたワンタイム共通鍵と共にＴＣサーバＤ（１５）に送信する。  ＴＣサーバＤ（１５）では、受信時に第３図に示したような処理を実施する。すなわち、ＲＳＰの公開鍵証明書からＲＳＰの公開鍵を得てＲＳＰの電子署名１００９に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値を復元する。また、暗号化されたワンタイム共通鍵を企業Ｄの秘密鍵で復号化することによりワンタイム共通鍵を得て、暗号化されたデータ１００３乃至１００７を復号化する。復号化されたデータ１００３乃至１００７に対してハッシュアルゴリズムを適用することによりハッシュ値を計算し、オリジナルのハッシュ値と比較することにより改竄等が行われていないことを確認する。上で述べた第２の例の場合には、ＲＳＰの公開鍵証明書からＲＳＰの公開鍵を得てＲＳＰの電子署名１００９に対してＲＳＡ復号化処理を実施し、オリジナルのハッシュ値を復元する。また、暗号化されたワンタイム共通鍵を企業Ｄの秘密鍵で復号化することによりワンタイム共通鍵を得て、暗号化されたデータ１００３及び１００５を復号化する。復号化されたデータ１００３及び１００５に対してハッシュアルゴリズムを適用することによりハッシュ値を計算し、オリジナルのハッシュ値と比較することにより改竄等が行われていないことを確認する。  もし改竄等が行われていないことが確認された場合には、フォーマット逆変換プログラムＩＤ１００７を用いてフォーマット逆変換プログラム格納部１５ｃから対応するフォーマット逆変換プログラムを抽出する。そして当該フォーマット逆変換プログラムを用いて、フォーマット変換された書類データＣ（１００５）にフォーマット逆変換を施し、書類データＣ（１０１３）を生成する。また、書類データＣ（１０１３）にハッシュアルゴリズムを適用してハッシュ値１０１７を計算する。一方、企業Ｃの公開鍵証明書から企業Ｃの公開鍵を取り出して、企業Ｃの電子署名１００３を当該企業Ｃの公開鍵で復号化するとオリジナルのハッシュ値１０１５が復元される。よって、ハッシュ値１０１７とハッシュ値１０１５を比較することにより、フォーマット変換された書類データＣ（１００５）が、真正な書類データＣ（１００１）から生成されたものであることが確認できるのである。  以上述べた処理をまとめると第１１図のようになる。���ＣサーバＣ（１３）は、インボイス等の書類データを生成し、また書類データに対する企業Ｃの電子署名を生成し、企業Ｃの電子署名と書類データを、送信先の指定と共にＲＳＰサーバ１７に送信する（ステップＳ７１）。なお、送信元の情報（例えば識別情報など）も送信される。上で述べたように第３図に示したように暗号化が行われ、企業Ｃの公開鍵証明書や、暗号化されたワンタイム共通鍵等と共に送信される。ＲＳＰサーバ１７は、ＴＣサーバＣ（１３）から企業Ｃの電子署名と書類データと送信先の指定を受信する（ステップＳ７３）。送信元の情報も受信する。受信時には、第３図に示したように、書類データの復号化や、受信した書類データが改竄等されていないか確認する処理を実施し、改竄等がなされていないことが確認されると書類データ格納部１７５に格納される。  また、送信先に合わせたフォーマット変換を実施するためのフォーマット変換プログラムをフォーマット変換プログラム格納部１７１から読み出し、当該フォーマット変換プログラムを用いて書類データに対してフォーマット変換を実施することにより、フォーマット変換された書類データを生成し、例えば書類データ格納部１７５に格納する（ステップＳ７５）。そして、実施したフォーマット変換の逆変換を行うためのフォーマット逆変換プログラムのＩＤを例えば送信元の情報に基づきフォーマット変換プログラム格納部１７１から読み出し、当該フォーマット逆変換プログラムＩＤとフォーマット変換された書類データと企業Ｃの電子署名とに対してＲＳＰの電子署名を生成する。上で述べたようにフォーマット変換された書類データと企業Ｃの電子署名とに対してＲＳＰの電子署名を生成する場合もある。第３図及び第１０図で説明したようにフォーマット逆変換プログラムＩＤとフォーマット変換された書類データと企業Ｃの電子署名とからハッシュ値を計算し、当該ハッシュ値をＲＳＰの秘密鍵で暗号化する。フォーマット変換された書類データと企業Ｃの電子署名とからハッシュ値を計算し、当該ハッシュ値をＲＳＰの秘密鍵で暗号化する場合もある。そして、フォーマット逆変換プログラムＩＤとフォーマット変換された書類データと企業Ｃの電子署名とＲＳＰの電子署名とをＴＣサーバＤ（１５）に送信する（ステップＳ７７）。送信時には第３図に示したように、当該フォーマット逆変換プログラムＩＤとフォーマット変換された書類データと企業Ｃの電子署名とを暗号化し、ＲＳＰの公開鍵証明書や、暗号化されたワンタイム共通鍵等と共に送信される。上で述べたようにフォーマット逆変換プログラムＩＤについては暗号化しないで送信する場合もある。なお、企業Ｃの共通鍵証明書も送信される場合もある。  ＴＣサーバＤ（１５）は、ＲＳＰサーバ１７からフォーマット逆変換プログラムＩＤとフォーマット変換された書類データと企業Ｃの電子署名とＲＳＰの電子署名とを受信する（ステップＳ７９）。受信時には、第３図に示したように、受信したデータの復号化や、受信したデータが改竄等されていないか確認する処理を実施する。改竄等が実施されていないことが確認されると、フォーマット逆変換プログラムＩＤを用いてフォーマット逆変換プログラム格納部１５ｃから対応するフォーマット逆変換プログラムを取り出し、書類データに対してフォーマット逆変換を実施し、書類データを復元する（ステップＳ８１）。復元されたデータはメモリに格納される。但し、この復元された書類データはＴＣサーバＣ（１３）で生成されたものと同一か否かはまだわからない。そして、復元された書類データからハッシュ値を生成する（ステップＳ８３）。また、企業Ｃの電子署名を企業Ｃの公開鍵で復号化し、復号化ハッシュ値を生成する（ステップＳ８５）。そして、ステップＳ８３で生成したハッシュ値とステップＳ８５で復号した復号化ハッシュ値とを比較して、一致しているか判断する（ステップＳ８７）。もし、一致していれば当該書類データは企業Ｃによる真正な書類データであり、フォーマット変換された書類データも真正な書類として使用することができる（ステップＳ８９）。書類データは例えば記憶装置に格納される。一方、一致しない場合には、企業Ｃで作成され、企業Ｃで認定した変換プログラムでフォーマット変換された書類データとして認められず、例えばユーザ端末１５ｂに警告を発する（ステップＳ９１）。  このようにすれば、ＲＳＰサーバ１７によりフォーマット変換が施されても元の書類データが送信元による真正な書類データであることを確認することができるようになる。   以上本発明の実施例を説明したが、本発明は上で述べた実施例に限定されない。例えば、ＴＣサーバやＲＳＰサーバといった名称は一例であって他の名称でも同様の機能を有するコンピュータであってもよい。また、ＴＣサーバやＲＳＰサーバは一台のコンピュータではなく複数のコンピュータにて実施することができる。また、公開鍵暗号の方法としてはＲＳＡを用いる例を示したが、他のＥｌＧａｍａｌや楕円又は超楕円暗号を用いることも可能である。共通鍵暗号もＤＥＳでなくともよい。フォーマット変換として説明したが、フォーマット以外の変換も含まれるものとする。
【図面の簡単な説明】
【図１】第１図は、実施例１のシステム概要を示す図である。
【図２】第２図は、フォーマット変換／逆変換プログラム格納部に格納された管理テーブルの一例を示す図である。
【図３】第３図は、電子署名及び暗号化方式を示す図である。
【図４】第４図は、実施例１の処理の概要を示す図である。
【図５】第５図は、実施例１の処理フローを示すフローチャートである。
【図６】第６図は、実施例２の処理の概要を示す図である。
【図７】第７図は、実施例２の処理フローを示すフローチャートである。
【図８】第８図は、実施例３のシステム概要を示す図である。
【図９】第９図は、フォーマット逆変換プログラム格納部に格納された管理テーブルの一例を示す図である。
【図１０】第１０図は、実施例３の処理の概要を示す図である。
【図１１】第１１図は、実施例３の処理フローを示すフローチャートである。
【図１】
0003946192.tif 000002
【図２】
0003946192.tif 000003
【図９】
0003946192.tif 000004
【図３】
0003946192.tif 000005
【図４】
0003946192.tif 000006
【図５】
0003946192.tif 000007
【図６】
0003946192.tif 000008
【図７】
0003946192.tif 000009
【図８】
0003946192.tif 000010
【図１０】
0003946192.tif 000011
【図１１】
0003946192.tif 000012