(57)【要約】【課題】電子商取引において、単純に差分に電子署名を付した場合は、受信者は差分が送信者によって作成されたことしか推定できないため、生成した電子文書に対して署名検定ができない。【解決手段】２台の装置に共通する雛形データを予め記憶させ、データを送信する装置は、オリジナル情報を暗号化し、差分情報を生成し、暗号化したオリジナル情報と差分情報をパッケージ化し、データを受信する装置は、受信したデータをアンパッケージし、差分情報と雛形データからオリジナル情報を復元し、暗号化したデータを復号化し、復号化したデータと復元したオリジナル情報が一致するか否かを判定する。【選択図】　図１
2004133497.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークで接続された２台以上の情報処理装置間で、電子文書をやり取りする電子商取引方法において、
電子文書を送信する装置は、電子文書データを暗号化し、電子文書データを加工し、前記暗号化した電子文書データと前記加工した電子文書データをパッケージ化して送信し、
電子文書を受信する装置は、受信したデータを加工した電子文書データと暗号化した電子文書データにアンパッケージ化し、前記加工した電子文書データを復元し、前記暗号化した電子文書データを復号化し、前記復元した電子文書データと前記復号化した電子文書データが一致するか否かを判定することを特徴とする電子商取引方法。
【請求項２】
少なくとも２台の装置に共通する雛形データを備え、前記電子文書を送信する装置は、電子文書データを加工する際に電子文書データと雛形データの差分情報を抽出し、前記電子文書を受信する装置は、加工した電子文書データを復元する際に前記雛形データと前記差分情報を合成することを特徴とする請求項１記載の電子商取引方法。
【請求項３】
電子文書データを加工する際に差分情報を圧縮し、加工した電子文書データを復元する際に圧縮された差分情報を伸長することを特徴とする請求項２記載の電子商取引方法。
【請求項４】
前記電子文書を送信する装置は、電子文書データを加工する際に電子文書データを圧縮し、前記電子文書を受信する装置は、加工した電子文書データを復元する際に圧縮された電子文書データを伸長することを特徴とする請求項１記載の電子商取引方法。
【請求項５】
電子文書データを暗号化する際に電子文書データのメッセージダイジェストを算出し、前記電子文書データのメッセージダイジェストを暗号化し、復元した電子文書データと復号化した電子文書データが一致するか否かを判定する際に復元した電子文書データのメッセージダイジェストを算出し、前記算出したメッセージダイジェストと前記復号化したメッセージダイジェストとが一致するか否かを判定することを特徴とする請求項１記載の電子商取引方法。
【請求項６】
少なくとも２台の装置に共通する雛形データを備え、前記電子文書を送信する装置は、電子文書データを加工する際に電子文書データと雛形データの差分情報を抽出し、前記電子文書を受信する装置は、加工した電子文書データを復元する際に前記雛形データと前記差分情報を合成することを特徴とする請求項５記載の電子商取引方法。
【請求項７】
電子文書データを加工する際に差分情報を圧縮し、加工した電子文書データを復元する際に圧縮された差分情報を伸長することを特徴とする請求項６記載の電子商取引方法。
【請求項８】
前記電子文書を送信する装置は、電子文書データを加工する際に電子文書データを圧縮し、前記電子文書を受信する装置は、加工した電子文書データを復元する際に圧縮された電子文書データを伸長することを特徴とする請求項５記載の電子商取引方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子文書を用いた電子商取引方法に係り、特にネットワーク環境で分散した担当者間で電子文書を通信させながら業務を進めるのに好適な電子商取引方法に関する。
【０００２】
【従来の技術】
発注者から受注者へ発注書を電子文書として送信し、受注者がそれを見て業務を行うような電子商取引において、発注書が発注者によって作成されたものであり、改竄やなりすましがないことを、受注者や第三者によって推定できることが望まれている。この課題はいわゆる電子署名法のもと、公開鍵暗号方式などの暗号技術を応用した電子署名技術を用いて、発注者が発注書に電子署名を付すことで解決されるようになった（例えば、特許文献１参照）。
【０００３】
一方、Ｗｅｂ−ＥＤＩのような電子商取引においては、データ送信量削減のため、オリジナルに対する差分を送信し、受注者はオリジナルと差分とから得られた発注情報を用いて業務を行っている。この取引では、差分情報の受信者である受注者側のシステムで、オリジナルと差分とから発注情報を生成することを、発注者と受注者の間で予め合意することが前提となっている。この合意を支援するために、送信側及び受信側のシステムで、通信路の暗号化や送受信したデータの厳重な管理を行っている。このような差分情報をやり取りする電子商取引に電子署名技術を利用しようとする場合、差分情報に電子署名を付して送信することが考えられる。電子署名技術により、受注者や第三者は、差分情報が発注者によって作成されたデータであることを推定できる。
【０００４】
しかし、オリジナルが改竄されてしまった場合や、オリジナルと差分とから得た受注情報が改竄された場合は、発注者の意図とは異なる情報によって業務が遂行されてしまうため、何らかの被害が出ることが想定される。この場合、電子署名法では、あくまで差分情報が発注者によって作成されたものと推定できることしか言えないため、情報の改竄は電子署名法の適用範囲を超えた問題となる。例えば、悪意のある受注者が、オリジナルの発注品項目の単位をｇ（グラム）からｋｇ（キログラム）に改竄した場合、オリジナルと差分とから作られた発注情報は、発注者の意図したものではなくなるため、発注者が被害を蒙ることとなる。この場合、誰が改竄したのか、電子商取引システムの欠陥なのか、などが争われることとなる。
【０００５】
【特許文献１】
特開２００２−９１３０３号公報
【０００６】
【発明が解決しようとする課題】
上記のように、従来の電子署名技術では、単純に差分に電子署名を付した場合は、受信者は差分が送信者によって作成されたことしか推定できないため、生成した電子文書に対する署名検定が行えない。
【０００７】
本発明の目的はオリジナルに対する差分情報をやりとりする電子商取引において、オリジナルと差分情報とからの得られる情報が送信者によって作成されたことを、受信者や第三者によって推定できる電子商取引方法を提供することである。
【０００８】
【課題を解決するための手段】
電子文書の改竄やなりすましを防ぎつつ、差分情報を送信することでデータ転送量を削減するために、２台の装置に共通する雛形データを予め記憶し、電子商取引ではオリジナル情報から、雛形データを除く部分を差分情報として生成する。データを送信する装置は、オリジナル情報を暗号化し、差分情報を生成し、暗号化したオリジナル情報と差分情報をパッケージ化して送信する。データを受信する装置は、受信したパッケージ化されたデータをアンパッケージし、差分情報と雛形データからオリジナル情報を復元し、暗号化したデータを復号化し、復号化したデータと復元したオリジナル情報が一致するか否かを判定する。
【０００９】
【発明の実施の形態】
以下、本発明の実施例を図面に基づいて説明する。
【００１０】
図１３を用いて本実施例における業務の内容を説明する。本発明では、２台以上（ここでは２台）の業務処理装置１，２をネットワークで物理的に接続されている環境下で、複数の業務担当者が電子文書へのデータの入力などの業務を行っている。ここでは受発注業務において、業務処理装置１では発注業務担当者が発注書を作成し、発注書を受信した受注業務担当者が、受信した発注書は発注業務担当者によって作成されたものであることが確認できるようにするため、発注書に暗号化を施してから受注業務担当者へ発注書を送付する。
【００１１】
業務処理装置２ではインターネットを介して発注書を受信後、このデータを復号化し、業務処理装置１と２の間でのデータ不整合や転送後のデータ改竄がない、つまり、確かに発注業務担当者によって作成された発注書であることを受注業務担当者が確認したのち、この発注書を基に受注業務を行う。
【００１２】
業務処理装置１，２に共通する雛形文書を予め記憶し、秘密鍵に対応する公開鍵は業務処理装置２のハードディスク上に格納されている。
（１）業務処理装置１において、発注業務担当者は、発注書の差分（例えば発注する商品型番・個数など）と、どの雛型文書かを識別する雛型ＩＤとを入力する。
（２）上記（１）で得た差分と雛形ＩＤから、バイナリのデータ列である差分情報を生成する。
（３）上記（１）で入力した雛型ＩＤから雛型文書を特定して、これを差分とマージして注文情報を生成する。
（４）上記（３）で作った注文情報に対するダイジェストを計算し、このダイジェストを発注者の秘密鍵を使って暗号化して電子署名を生成する。
（５）上記（２）で生成した差分情報と、上記（４）で生成した注文情報に対する電子署名とをパッケージングして、業務処理装置２に送信する。
（６）業務処理装置２は、上記（５）で送られてきた情報をアンパッケージングし、差分情報と電子署名とに分割する。
（７）上記（６）で得た差分情報から、差分と雛型ＩＤを抽出し、雛型ＩＤから雛型文書を特定し、これを差分とマージして注文情報を生成する。
（８）上記（６）で得た電子署名を発注業務担当者の公開鍵を使って復号化する。
（９）上記（７）で生成した注文情報のダイジェストを計算し、これが上記（８）で得た値と一致するかどうかを調べて署名の検定を行う。
（１０）業務処理装置２では、検証された注文情報を受注業務担当者に出力する。
【００１３】
本発明の電子商取引方法では、注文情報に対応して発注業務担当者の電子署名が存在し、（８）によって、業務処理装置２では、この注文情報が発注業務担当者によって作成されたことを推定できる。また、（６）で得た電子署名と、（７）で生成した注文情報とを組にして出力することで、受信業務担当者や第三者が発注業務担当者の公開鍵を使って、注文情報が発注業務担当者によって作成されたことを推定できる。
【００１４】
本実施例のハードウエアの構成を、図２を用いて説明する。
【００１５】
業務処理装置１は、電子文書の発行業務に必要なディスプレイ１１、キーボード１２、マウス１３、フロッピーディスク駆動装置１４、フロッピーディスク２９、ハードディスク１５、メインメモリ１６及びＣＰＵ１７からなるハードウエアを備える。ディスプレイ１１、キーボード１２、マウス１３、フロッピーディスク駆動装置１４、ハードディスク１５及びメインメモリ１６は、ＣＰＵ１７よりバス１８を介してアクセスされる。フロッピーディスク２９は、フロッピーディスク駆動装置１４を介してアクセスできる。業務処理装置１は、サーバ１９を介してインターネット２０と接続される。
【００１６】
業務処理装置２は、受注業務に必要なディスプレイ２１、キーボード２２、マウス２３、ハードディスク２４、メインメモリ２５及びＣＰＵ２６を備える。ディスプレイ２１、キーボード２２、マウス２３、ハードディスク２４及びメインメモリ２５は、ＣＰＵ２６よりバス２７を介してアクセスされる。業務処理装置２は、サーバ２８を介してインターネット２０と接続される。
【００１７】
図１を用いて、本実施例のソフトウエアの構成を説明する。業務処理装置１のメインメモリ１６には、業務処理装置１を制御する全体制御プログラム１６０が常にロードされている。発注業務を行う場合は、さらに、発注業務制御プログラム１６１、発注データ作成プログラム１６２、送信データ生成制御プログラム１６３及び発注データ送信プログラム１６４がメモリ１６にロードされる。送信データ生成制御プログラム１６３は、注文情報生成プログラム１６３１、注文情報暗号化プログラム１６３２、差分情報生成プログラム１６３３、圧縮処理プログラム１６３４及び送信データ生成プログラム１６３５から構成される。
【００１８】
また、本実施例では、発注業務を実施する前に、暗号化に必要な秘密鍵および公開鍵を準備する必要がある。秘密鍵および公開鍵は、証明書認証局などの他者によって作成（発行）できるが、この場合は証明書認証局などへの使用料の支払いが必要となるため、本実施例では業務処理装置１が秘密鍵及び公開鍵を作成する。業務処理装置１のメインメモリ１６には、鍵生成システムとして、鍵生成処理制御プログラム１６５、鍵生成プログラム１６５１、利用者ＩＤ登録プログラム１６５２、秘密鍵ＦＤ作成プログラム１６５３及び公開鍵ファイル作成プログラム１６５４が一時的にロードされる。ワークエリア１６６は、常に確保される。ハードディスク１５には、商品ＤＢ１５１、レイアウト情報格納ＤＢ１５２、業務履歴ＤＢ１５３及び電子文書データ蓄積ＤＢ１５４が格納される。秘密鍵（暗号化鍵）ファイル３０は、フロッピーディスク２９に格納され、フロッピーディスク駆動装置１４を介して参照される。
【００１９】
業務処理装置２のメインメモリ２５には、業務処理装置２を制御する全体制御プログラム２５０が常にロードされている。受注業務を行う場合は、受注業務制御プログラム２５１、受注データ受信プログラム２５２、受信データ解析制御プログラム２５３及び受注処理実行プログラム２５４がメインメモリ２５にロードされる。受信データ解析制御プログラム２５３は、受信データ分割プログラム２５３１、注文情報生成プログラム２５３２、注文情報復号化プログラム２５３３、圧縮復元プログラム２５３４及び署名検定プログラム２５３５から構成される。ワークエリア２５５は常に確保される。ハードディスク２４には、公開鍵ファイル４０、レイアウト情報格納ＤＢ２４２及び電子文書データ蓄積ＤＢ２４４が記憶される。
【００２０】
以上述べたハードウエア・ソフトウエアの構成の下で発注業務処理が行なわれる。業務処理装置１のハードディスク１５に格納されるレイアウト情報格納ＤＢ１５２と業務処理装置２のハードディスク２４に格納されるレイアウト情報格納ＤＢ２４２のそれぞれの内容は同一である。また、業務処理装置１で使用する秘密鍵ファイル３０に対応する公開鍵ファイル４０は、業務処理装置２のハードディスク２４に格納される。
【００２１】
業務処理装置１では、発注業務制御プログラム１６１が発注データ作成プログラム１６２を起動し、業務担当者から発注書発行に必要なデータを入力させ（図１３の（１））、注文情報を生成する（図１３の（３））。ネットワーク上でのデータの改竄の有無を検証する場合、注文情報あるいは注文情報の一部と、注文情報を暗号化したものとをパッケージして送信し、受信側で、受信データをアンパッケージし、注文情報あるいは注文情報の一部と復号化した注文情報とを比較する。注文情報の作成終了後、注文情報あるいは注文情報の一部と、注文情報を暗号化したものとをパッケージするまでの一連の処理の制御を行う送信データ生成制御プログラム１６３を起動する。
【００２２】
データを暗号化するとデータ量が増加し、通信に多大な負荷がかかるので、暗号化する対象のデータのメッセージダイジェストを求め、このメッセージダイジェストに対して暗号化することが行われる。メッセージダイジェストとは、ハッシュ関数という特別な関数を使って、任意の文字列から、決められた範囲の整数を生成した値である。ハッシュ関数は一方向関数であり、例えばＳＨＡ−１、ＭＤ５などがある。メッセージダイジェストから元のデータを復元することは出来ない。また、ハッシュ関数は、入力データが１ｂｉｔでも異なると、値が大きく異なったダイジェストを生成するので、元ファイルのダイジェストを保存しておくことで、そのファイルに変更が加えられたか否かを確認できる。メッセージダイジェストの暗号化は、元ファイルそのものを保存する方法よりもデータ量が節約でき、さらに改竄の検知も容易であるという特徴がある。
【００２３】
メッセージダイジェストを暗号化する場合は、注文情報生成プログラム１６３１により、発注データ作成プログラム１６２によって作成された注文情報のメッセージダイジェストを求める（図１３の（４））。注文情報暗号化プログラム１６３２は、秘密鍵ファイル３０を用いて注文情報を暗号化する（図１３の（４））。注文情報の一部のみをパッケージする場合は、差分情報生成プログラム１６３３によって、発注業務処理に必要な情報のみを差分情報として抽出し（図１３の（２））、必要であれば圧縮処理プログラム１６３４を用いて、注文情報あるいは注文情報の一部に対して圧縮処理を施す。送信データ生成プログラム１６３５によって、注文情報あるいは差分情報と、暗号化したデータとをパッケージングし、発注データ送信プログラム１６４によって、受注業務処理を行う業務処理装置２へパッケージングした結果を送信する（図１３の（５））。
【００２４】
業務処理装置２では受注業務処理が行なわれる。受注業務制御プログラム２５１は、受注データ受信プログラム２５２を常時起動状態にしており、データを受信すると、受信データ解析制御プログラム２５３を起動する。送られてきたデータを、受信データ分割プログラム２５３１によって、注文情報あるいは差分情報と暗号化データとに分割し（図１３の（６））、注文情報生成プログラム２５３２によって、差分情報の場合は差分情報を元にして注文情報を生成し（図１３の（７））、注文情報復号化プログラム２５３３によって公開鍵を用いて暗号化されたデータを復号化する（図１３の（８））。データが圧縮されている場合は圧縮復元プログラム２５３４によって圧縮データを復元し、署名検定プログラム２５３５によって復号化したデータと注文情報との比較を行う。復号化したデータがメッセージダイジェストの場合は、注文情報のメッセージダイジェストを求め、これと復号したメッセージダイジェストとを比較し、双方が一致した場合は注文情報が確かに発注業務担当者によって作成されたものであると判断し（図１３の（９））、送られてきた注文情報に対する受注業務が可能となり、受注業務担当者は受注処理実行プログラム２５４を起動する（図１３の（１０））。
【００２５】
本実施例で使用するデータの暗号化及び復号化を説明する。データの暗号化及び復号化では、暗号化と復号化とでそれぞれ異なる鍵を用いる公開鍵暗号方式アルゴリズム（例えば　ＲＳＡ、ＤＳＡ、ＥＣＤＳＡなどがある。）を用いる。このアルゴリズムでは、秘密鍵と公開鍵の１組の鍵を持ち、秘密鍵で暗号化したデータは対応する公開鍵でしか復号化出来ない。図３に秘密鍵ファイル３０及び公開鍵ファイル４０の内容を示す。秘密鍵ファイル３０には、利用者のＩＤ番号３１、暗証番号３２、発行番号３３及び秘密鍵３４が格納されている。公開鍵ファイル４０には、利用者ＩＤ番号４１、発行番号４２及び公開鍵４３が格納されている。秘密鍵と公開鍵の対応関係は発行番号３３および４２によって管理される。
【００２６】
発注業務担当者にＩＣカードあるいはフロッピーディスクに格納された秘密鍵ファイル３０を予め配布し、発注業務担当者は、業務開始前にフロッピーディスクの場合はフロッピーディスク駆動装置、ＩＣカードの場合はＩＣカードリーダにそれぞれ記憶媒体をセットする。本実施例ではフロッピーディスク２９で秘密鍵を配布するものとする。
【００２７】
業務処理装置１において、秘密鍵を作成する方法を図４のフローチャートを用いて説明する。秘密鍵ファイルは、複数発注業務担当者がいる場合は人数分作成してもよいし、１つのみ作成し共用してもよい。ここでは、秘密鍵をＮ人分作成するとする。
【００２８】
ステップ４０１において全体制御処理プログラム１６０は鍵作成の指示を操作者から受けると、鍵生成処理制御プログラム１６５を起動し、ワークエリア１６６内のプログラムカウンタＫを０にセットする。ステップ４０２において、Ｋに１を加算して発行番号をカウントする。ステップ４０３でＫの値とＮの値を比較し、Ｋ≦Ｎならばステップ４０４以降の処理を行い、そうでなければ処理を終了する。
【００２９】
ステップ４０４において鍵生成プログラム１６５１を用いてワークエリア１６６内のメモリに公開鍵暗号方式に基づいた秘密鍵と公開鍵のペアを格納する。公開鍵と秘密鍵のペアは互いに素な２つの大きな整数を作り出すことによって得られ、その詳細な作成アルゴリズムは、後藤他、「ＲＡＳ暗号鍵高速生成方式」（電子情報通信学会論文誌、Ｄ−１，Ｖｏｌ７２−ｄ−１，Ｎｏ３，ｐｐ２１３−２２０，１９８９）に開示されている。
【００３０】
ステップ４０５で利用者ＩＤ登録プログラム１６５２を実行し、キーボード１２から鍵作成担当者が入力した対象とする人のＩＤ番号３１、４１と暗証番号３２をワークエリア１６６のメモリに格納する。暗証番号３２には鍵作成担当者がデフォルト値を設定し、対象者が使用時に暗証番号の変更を行うのが望ましい。
【００３１】
ステップ４０６において、秘密鍵ＦＤ作成プログラム１６５３を実行し、メモリに格納されたデータを利用して、鍵作成担当者が新しく挿入した秘密鍵格納用フロッピーディスク２９内の秘密鍵ファイル３０に、一人の使用者を示すＩＤ番号３１、デフォルトの暗証番号３２、発行番号３３及び公開鍵暗号方式に基づく秘密鍵３４を書き込む。
【００３２】
ステップ４０７において、公開鍵ファイル作成プログラム１６５４を実行し、メモリに格納されたデータを、ネットワークを介してハードディスク２４内の公開鍵ファイル４０上の図３に示す使用者ＫのＩＤ番号４１、発行番号４２及び公開鍵４３に書き込む。
【００３３】
上記ステップ４０２から４０７を使用者全員分（Ｎ個）だけ繰り返すことにより、フロッピーディスクとハードディスクには図３の秘密鍵ファイル３０及び公開鍵ファイル４０に示すような内容が格納される。暗号化のための秘密鍵ファイル３０を格納するフロッピーディスクは、予め業務開始前に発注業務の担当者に配布される。受注業務を行う業務処理装置２のハードディスク２４上にはＮ個の公開鍵が格納されていることになる。
【００３４】
以下、図５のフローチャートを用いて、発注データ作成プログラム１６２の処理を説明する。発注データ作成プログラム１６２は、（１）新規に発注書を発行する処理（発注書発行）と、（２）既に発行済みの発注書を訂正して再発行する処理（発注書訂正再発行）からなる。発注業務担当者から発注業務の開始の指示があった場合、全体制御プログラム１６０は、発注業務制御プログラム１６１を起動し、さらに発注業務制御プログラム１６１は発注データ作成プログラム１６２を起動する。
【００３５】
ステップ１０１において、発注データ作成プログラム１６２は、これから行う業務が（１）発注書発行業務あるいは（２）発注書訂正再発行業務のいずれかを発注業務担当者に選択させるための画面をディスプレイ装置１１に表示し、入力を待つ。発注業務担当者は（１）発注書発行業務か（２）発注書訂正再発行業務かをキーボード１２あるいはマウス１３を用いて指定する。
【００３６】
ステップ１０２では、指定された業務が発注書発行業務かどうかを判断する。１）発注書発行業務と判断した場合はステップ１０３へ処理を進める。２）発注書訂正再発行業務と判断した場合はステップ１０９へ処理を進める。以下、１）発注書発行業務の処理内容について説明し、ステップ１０９（（２）発注書訂正再発行業務）については後述する。
【００３７】
レイアウト情報格納ＤＢ１５２には、図６に示すような複数の電子文書のレイアウト情報が格納されている。ステップ１０３ではレイアウト情報格納ＤＢ１５２を参照し、ディスプレイ１１に電子文書のフォーマット情報を表示し、発注業務担当者にキーボード１２あるいはマウス１３からどの電子文書を使用するのかを指定させるための画面を表示する。ここでは、図６の発注書Ａ６１が選択されたとする。選択されたレイアウトＩＤは電子文書識別番号として用いられ、ステップ１０４では、このＩＤを用いてレイアウト情報格納ＤＢ１５２が参照され、該当するレイアウト情報がワークエリア１６６上に読み込まれ、ステップ１０５では、読み込んだレイアウト情報を元に電子文書がディスプレイ１１に表示される。レイアウト情報格納ＤＢ１５２の内容を図６の表６４に示す。表６４では、発注書ＡのレイアウトＩＤは“１”である。
【００３８】
ステップ１０６では、画面を元に発注に必要なデータの入力を行う。ここでは、商品番号と必要個数を入力する。日付や発注番号は自動採番でもよいし、担当者の手入力でもよいが、ここでは自動採番とする。発注データ作成プログラム１６２は、入力されたデータの整合性のチェックや、商品番号を元に商品ＤＢ１５１から商品名を検索・表示するなどの処理を行う。入力の終了した電子文書を図７の発注書Ａ７１に示す。
【００３９】
発注業務担当者がデータ入力の終了を指示すると、ステップ１０７において、発注データ作成プログラム１６２で得られたデータおよび、参照した電子文書名が参照データとして電子文書データ蓄積ＤＢ１５４に登録される。また、通番が採番されて登録される。図８の表８３に電子文書データ蓄積ＤＢ１５４の内容を示す。通番８３１を“１”、参照データ８３２を“発注書Ａ”、及びデータ８３３を“１０７，２００２０５３１，１２１５，ミルククッキー，１０，１３２６，グルメクッキー，１５”としてそれぞれ登録する。
【００４０】
ステップ１０８で、業務履歴ＤＢ１５３の登録を行う。業務履歴ＤＢ１５３の内容を図８の表８２に示す。業務履歴ＤＢ１５３に発注書の発注番号“１０７”を発注ＩＤ８２１とし、ステップ１０７で採番した通番（図８のデータ８３１）を蓄積ＩＤ８２２とし、電子文書の状態８２３を“発注”としてそれぞれ登録する。
【００４１】
次に、図９のフローチャートを用いて、図５のステップ１０９の（２）発注書訂正再発行を説明する。図７の発注書７１の電子文書に対して、発注書訂正再発行を行うものとする。
【００４２】
ステップ２０１において、ディスプレイ１１に発注番号入力画面を表示し、発注業務担当者にキーボード１２あるいはマウス１３から発注書の番号を入力させる。ここでは“発注ＩＤ”として“１０７”を指定したとする。
【００４３】
ステップ２０２において業務履歴ＤＢ１５３を参照し、該当する発注書番号を検索し、該当する蓄積ＩＤを得る。ここでは、“蓄積ＩＤ”として“１”を得る。
【００４４】
ステップ２０３において、電子文書データ蓄積ＤＢ１５４からステップ２０２で得られた蓄積ＩＤと一致する通番を検索し、対応するデータをステップ２０４でワークエリア１６６上のメモリに展開（格納）する。ここではデータ“１０７，２００２０５３１，１２１５，ミルククッキー，１０，１３２６，グルメクッキー，１５”をメモリ上に展開する。
【００４５】
ステップ２０５において、ステップ２０３で参照したレコードの参照データの値が通番である場合はステップ２０３に戻り、対応する通番を再び検索する。参照データの値が電子文書識別番号の場合はステップ２０６に進む。ここでは“発注書Ａ”となっているので、ステップ２０６に進み、ワークエリア１６６上のデータを保存する。
【００４６】
ステップ２０７ではレイアウト情報格納ＤＢ１５２を参照し、ステップ２０５で得られた電子文書識別番号のレイアウト情報を読み込み、ステップ２０８でレイアウトを表示する。
【００４７】
ステップ２０９でワークエリア１６６上に展開されたデータをディスプレイ１１上に表示する。
【００４８】
ステップ２１０において、データ、即ち、商品番号と必要個数を入力する。日付や発注番号は自動採番し、入力されたデータの整合性のチェックや、商品番号を元に商品ＤＢ１５１から商品名を検索して表示するなどの処理を行う。入力の終了した電子文書を図７の発注書７２に示す。
【００４９】
ステップ２１１において、差分情報を生成する。ステップ２０６で保存したデータを参照し、画面上のデータとの差分を抽出する。ここではデータ“１０９，，，，，，，１４２６，にこにこせんべい，２０”が得られる。差分情報を、ステップ２１２において電子文書データ蓄積ＤＢ１５４のデータとして追加し（図８のデータ８３９）、ステップ２１３において電子文書処理開始時に参照した参照データを登録し（図８のデータ８３８）、ステップ２１４において通番を採番（図８のデータ８３７）して登録する。
【００５０】
ステップ２１５において業務履歴ＤＢ１５３に、発注ＩＤ（図８のデータ８２７）と、ステップ２１４で採番した通番を蓄積ＩＤ（図８のデータ８２８）として登録し、さらに電子文書の状態に“発注”（図８のデータ８２９）を登録する。
【００５１】
発注データ作成プログラム１６２終了後、送信データ生成制御プログラム１６３を実行する。図１０のフローチャートを説明する。
【００５２】
送信データ生成制御プログラム１６３は、暗号化する対象データを出来るだけ小さくし、処理時間を短縮するために、注文情報のメッセージダイジェストを生成する場合（ステップ３０１）、注文情報生成プログラム１６３１を起動する（ステップ３０２）。ここでの目的は、ステップ１０３で指定した発注書のレイアウト情報、入力したデータ、及び発注データ作成プログラム１６２が生成した商品名、日付及び発注番号からなるワークエリア１６６上の注文情報に対しメッセージダイジェストを計算することである。データの要約であるメッセージダイジェストに対して暗号化を行えば、処理時間を短縮できる。
【００５３】
ステップ３０３において注文情報暗号化プログラム１６３２が起動され、注文情報あるいはステップ３０１で計算した注文情報のメッセージダイジェストに対し、発注業務担当者が持つ秘密鍵ファイル３０を使って暗号化を行う。この時、例えば画面上に暗号化確認ボタンを配置し、発注業務担当者によってボタンが押されるまで待つことで、明示的に暗号化を行うことを確認し、確認されたタイミングでフロッピーディスクから秘密鍵を読み込み、暗号化を行っても良い。
【００５４】
注文情報の一部である差分情報を、注文情報を暗号化したものといっしょにパッケージングする場合（ステップ３０４）、ステップ３０５において、差分情報生成プログラム１６３３が起動され、電子文書データ蓄積ＤＢ１５４の参照データ８３８及びデータ８３９が読み込まれ、差分情報が生成される。
【００５５】
注文情報あるいは差分情報を圧縮処理する（ステップ３０６）場合、ステップ３０７で圧縮処理を行い、ステップ３０８において送信データ生成プログラム１６３５は、注文情報あるいは差分情報とステップ３０３で得られた暗号化データとをｔａｒ　、ｚｉｐや、ＭＩＭＥ　ｍｕｌｔｉｐａｒｔ／ｒｅｌａｔｅｄ　などを用いてパッケージングし、ステップ３０９において、発注データ送信プログラム１６４は、ステップ３０８でパッケージングしたバイナリのデータ列を業務処理装置２へ送信する。
【００５６】
次に、業務処理装置２の処理を説明する。レイアウト情報格納ＤＢ２４２は業務処理装置１のレイアウト情報格納ＤＢ１５２と同じ内容を有し、電子文書データ蓄積ＤＢ２４４（図１２）は電子文書データ蓄積ＤＢ１５４と同じ形式を有する。図１１のフローチャートを用いて、図７の発注書７２を受信する場合を説明する。
【００５７】
業務処理装置２において、受注データ受信プログラム２５２は常時起動されており、常にデータが受信可能な状態になっている。
【００５８】
ステップ５０１において業務処理装置１からデータを受信すると、ステップ５０２において受注業務制御プログラム２５１は受信データ解析制御プログラム２５３を起動し、さらに、受信データ解析制御プログラム２５３は受信データ分割プログラム２５３１を起動する。ここでは、業務処理装置１から受信したデータを注文情報あるいは差分情報と暗号化データとに分割する。
【００５９】
ステップ５０３において注文情報あるいは差分情報に圧縮処理が施されている場合は、圧縮復元プログラム２５３４で伸長処理を行う（ステップ５０４）。
【００６０】
次に、注文情報生成プログラム２５３２において、注文情報を生成する。受信したデータが差分情報であった場合（ステップ５０５）、ステップ５０６において、ステップ５０２で得られた差分情報あるいはステップ５０４で伸長処理した差分データから参照データ及びデータを抽出し、電子文書データ蓄積ＤＢ２４４の参照データ１２８及びデータ１２９に登録する。参照データ１２８の値は“１”、データ１２９の値は“１０９，，，，，，，１４２６，にこにこせんべい，２０”である。さらに、データ１２９の値をワークエリア２５５に書き込む。
【００６１】
ステップ５０７において、参照データ１２８の値は“１”なので、通番“１”となっているレコードを検索して、ステップ５０８において、通番“１”に対応するデータ１２３の値を参照し、ワークエリア２５５にマージする。ここでは、マージした結果は“１０９，２００２０５３１，１２１５，ミルククッキー，１０，１３２６，グルメクッキー，１５，１４２６，にこにこせんべい，２０”となる。
【００６２】
ステップ５０９において、参照データ１２２が通番の場合はステップ５０７に戻り、電子文書識別番号の場合はステップ５１０に進み、該当するレイアウト情報格納ＤＢ２４２を読み込む。ここでは参照データ１２２が“発注書Ａ”となっているので、レイアウト格納情報ＤＢ２４２を参照し、“発注書Ａ”のフォーマット情報をワークエリア２５５に読み込み、注文情報の生成を終了する。ここでの注文情報は、発注書Ａのフォーマット情報と、ステップ５０８で生成した値“１０９，２００２０５３１，１２１５，ミルククッキー，１０，１３２６，グルメクッキー，１５，１４２６，にこにこせんべい，２０”である。ステップ５１１において公開鍵ファイル４０を参照し、暗号化データを復号化する。
【００６３】
復号化したデータがメッセージダイジェストの場合（ステップ５１２）、ステップ５１３において注文情報のメッセージダイジェストを算出し、ステップ５１４において、ステップ５１３で得られたメッセージダイジェストとステップ５１１で復号化したメッセージダイジェストとの比較、あるいは注文情報とステップ５１１で復号化した注文情報との比較を行って、改竄があったか否かを検定する。
【００６４】
データが一致した場合は、業務処理装置１において発注業務担当者が発注データ作成プログラム１６２によって作成した注文情報と、業務処理装置２において注文情報生成プログラム２５３２が生成された注文情報とが一致したことになるため、注文情報が確かに発注業務担当者によって作成されたものであると判断し、一致しなかった場合は、注文情報は発注業務担当者によって作成されたものではないことになる。
【００６５】
【発明の効果】
発注書に対して暗号化を行うことにより、オリジナル部分の改竄が行われても、容易に改竄を検出でき、安全な電子商取引を行うことができる。
【図面の簡単な説明】
【図１】ハードウエア構成図である。
【図２】ソフトウエア構成図である。
【図３】秘密鍵ファイルおよび公開鍵ファイルの構造である。
【図４】鍵作成のためのフローチャートである。
【図５】発注データ作成プログラムの処理フローチャートである。
【図６】レイアウト情報格納ＤＢである。
【図７】発注書の入力例である。
【図８】業務処理装置１の業務履歴ＤＢおよび電子文書データ蓄積ＤＢである。
【図９】発注書訂正再発行の処理フローチャートである。
【図１０】送信データ生成制御プログラムの処理フローチャートである。
【図１１】業務処理装置２における発注書受信後の処理フローチャートである。
【図１２】業務処理装置２の電子文書データ蓄積ＤＢである。
【図１３】本発明の業務概略図である。
【符号の説明】
１：業務処理装置，２：業務処理装置，１１：ディスプレイ，１２：キーボード，　１３：マウス，１４：フロッピーディスク駆動装置，１５：ハードディスク，１６：メインメモリ，１７：ＣＰＵ，１８：バス，１９：サーバ，２０：インターネット，２１：ディスプレイ，２２：キーボード，２３：マウス，２４：ハードディスク，２５：メインメモリ，２６：ＣＰＵ，：２７バス，２８：サーバ，２９：フロッピーディスク，３０：秘密鍵（暗号化鍵）ファイル，１６０：全体制御プログラム，１６１：発注業務制御プログラム，１６２：発注データ作成プログラム，１６３：送信データ生成制御プログラム
【図１】
2004133497.tif 000003
【図２】
2004133497.tif 000004
【図３】
2004133497.tif 000005
【図４】
2004133497.tif 000006
【図５】
2004133497.tif 000007
【図６】
2004133497.tif 000008
【図７】
2004133497.tif 000009
【図８】
2004133497.tif 000010
【図９】
2004133497.tif 000011
【図１０】
2004133497.tif 000012
【図１１】
2004133497.tif 000013
【図１２】
2004133497.tif 000014
【図１３】
2004133497.tif 000015