(57)【特許請求の範囲】
【請求項１】
処理機構と解析機構と通信機構と業務データベースを接続されたデータベース管理機構を有する計算機と入力装置と出力装置と記憶装置を有するサーバと、処理機構と解析機構と通信機構を有する計算機と入力装置と出力装置と記憶装置を有するクライアントとを接続した電子帳票処理システムにおける、電子帳票における入出力項目と、当該入出力項目に表示または入力されるデータを格納する業務データベースのレコードとの対応づけを登録された電子帳票テンプレートに従い、電子帳票の入出力項目に表示または入力されるデータに関連して当該電子帳票の入出力項目に対応する業務データベースのレコードの読出しまたは更新を行う電子帳票処理方法であって、
サーバの記憶装置には、データ領域と、サーバ定義パラメータ領域とユーザ定義パラメータ領域とからなるアクセス制御パラメータ領域と、サーバ定義保護情報領域とユーザ定義保護情報領域とからなるアクセス制御パラメータ保護情報領域とデータ保護情報領域とからなる文書保護情報領域を有する電子帳票テンプレートが予め記憶され、
サーバの計算機における処理機構（以下、サーバの処理機構という）は、サーバの記憶装置から前記電子帳票テンプレートを読み込み、サーバの入力装置により入力されたサーバ定義パラメータ用情報を基にサーバ定義パラメータを生成して電子帳票テンプレートのサーバ定義パラメータ領域に登録し、サーバの入力装置により入力されたユーザ定義パラメータ用情報を基にユーザ定義パラメータを生成して電子帳票テンプレートのユーザ定義パラメータ領域に登録し、ユーザ定義パラメータの参照あるいは更新の権限を有するユーザのユーザ名がサーバの入力装置により入力されたとき、該ユーザ名を電子帳票テンプレートのユーザ定義パラメータ領域にユーザ定義パラメータの属性として登録し、
さらに、サーバの処理機構は、前記サーバ定義パラメータとユーザ定義パラメータについてそれぞれハッシュ値を計算して該それぞれのハッシュ値をサーバの記憶装置に記憶し、サーバの記憶装置に予め記憶されているサーバの秘密鍵を読み込み前記サーバ定義パラメータのハッシュ値に対して該秘密鍵で暗号化して署名を作成して該署名を前記電子帳票テンプレートのサーバ定義保護情報領域に登録し、前記ユーザ定義パラメータのハッシュ値に対して該秘密鍵で暗号化して署名を作成して該署名を前記電子帳票テンプレートのユーザ定義保護情報領域に登録し、それぞれの登録が行われた前記電子帳票テンプレートをサーバの記憶装置に格納する、ことを特徴とする電子帳票処理方法。
【請求項２】
請求項１記載の電子帳票処理方法において、
サーバの処理機構は、サーバの計算機における通信機構（以下、サーバの通信機構という）を介して受信した前記クライアントから送信された電子帳票テンプレート送信要求に応じて前記サーバの記憶装置に格納した電子帳票テンプレートをクライアントに送信し、
クライアントの計算機における処理機構（以下、クライアントの処理機構という）は、前記サーバから送信された電子帳票テンプレートをクライアントの計算機における通信機構（以下、クライアントの通信機構という）を介して受信し、該受信した電子帳票テンプレートに定義している前記サーバ定義パラメータ及びユーザ定義パラメータで定義している各入力項目のデータ型をクライアントの計算機における解析機構（以下、クライアントの解析機構という）で解析し、各入力項目毎の入力フォームを解析結果に従いクライアントの記憶装置から取得してクライアントの表示装置に表示し、該表示に従ってユーザにより入力されたデータを前記電子帳票テンプレートのデータ領域に更新データとして保存し、該データの保存された電子帳票テンプレートをクライアントの通信機構を介してサーバに送信し、
サーバの処理機構は、サーバの通信機構を介してクライアントから電子帳票テンプレートを受信し、受信した電子帳票テンプレートに登録されているサーバ定義パラメータとユーザ定義パラメータについてそれぞれハッシュ値を計算し、サーバの記憶装置から記憶されているサーバ定義パラメータとユーザ定義パラメータについてのそれぞれハッシュ値を読み出し、該計算されたそれぞれのハッシュ値と該読み出されたそれぞれのハッシュ値を比較し、サーバ定義パラメータとユーザ定義パラメータが改ざんされていないことを確認し、確認後、電子帳票テンプレートのデータ領域の更新データに基づき前記サーバの計算機におけるデータベース管理機構を介して前記業務データベースの内容の更新あるいは該業務データベースからのデータの読み出しを行うことを特徴とする電子帳票処理方法。
【請求項３】
請求項１または請求項２記載の電子帳票処理方法において、
前記サーバ定義パラメータは、前記クライアント側のユーザが変更することのできないパラメータであることを特徴とする電子帳票処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子帳票処理方法に係わり、ユーザの入力ミスや不正入力のチェックを行えるようにし、また、データの不正な改ざんを防止することを可能にする電子帳票処理方法に関する。
【０００２】
【従来の技術】
通信ネットワークを介した電子帳票処理方法として、インターネットを利用した電子帳票処理方法が注目を集めている。これは、クライアント側で入力したデータをサーバ側に送り、サーバはデータベースなどと連携して処理を行い、結果をクライアント側に出力する方法である。
サーバとデータベースとの連携には、ＣＧＩ(Common Gateway Interface)を利用したものが一般的である。
ＣＧＩとはサーバと外部プログラムとのインタフェースを定義したものであるが、これを利用したＣＧＩプログラムにより、サーバとデータベースなどの外部システムとの連携が可能になる。
【０００３】
「イントラネットのためのオブジェクト指向データベース技術」（ソフト・リサーチ・センター社発行、大磯和宏他著）の１４１ページから１８４ページによると、具体的な手順は、以下の通りである。
▲１▼ ｗｅｂブラウザからのＷｅｂサーバへＣＧＩプログラム起動要求
▲２▼ ｗｅｂサーバがＣＧＩプログラムを起動してパラメータを渡す
▲３▼ ＣＧＩプログラムがデータベースシステムにアクセスする
▲４▼ データベースシステムから検索や更新の結果やアクションがＣＧＩプログラムに返される
▲５▼ ＣＧＩプログラムが結果をＨＴＭＬにしてＷｅｂサーバの標準出力に返す
▲６▼ ＷｅｂサーバがＣＧＩプログラムの出力をＷｅｂブラウザに転送する
ここで、ユーザの要求からデータやシステムの機密性や保全性を保証するために、ＣＧＩプログラムでユーザの不正な要求を排除したり、Ｗｅｂサーバやデータベースシステムのアクセス管理を行うことにより、Ｗｅｂサーバやデータベースシステムに対する不正なアクセスや改ざんを防止している。
また、ダウンロードプログラムをサーバからクライアントにインストールすることで、ユーザの不正な要求を、クライアント側で防止する方法もある。
【０００４】
【発明が解決しようとする課題】
しかしながら、ＣＧＩプログラムでは、ユーザの入力はサーバ側で処理されるので、単純な入力ミスや入力漏れなども一度サーバ側に送信して、初めてエラーを検出してもう一度クライアントに送り返して、入力を受け付けるという方法を取るため、通信のオーバヘッドが多くなる。
また、ＣＧＩプログラムを起動するフォームはユーザ側で勝手に作成して、送信することも可能なので、ユーザが起こしうる全ての不正アクセスを想定し、ＣＧＩプログラム側でフィルタリングを行わなければならない。
ダウンロードプログラムをクライアント側にインストールして、ユーザの不正入力をクライアント側で防止する方法に関しても、種類の異なる帳票毎にプログラムを作成して管理するにはコストがかかる。
また、この方法でもユーザがプログラムを勝手に作成してデータをサーバへ送信することが可能である。
さらに、前記のＣＧＩプログラムを用いる方法でも、ダウンロードプログラムを用いる方法でも、基本的にプログラムベースで管理を行っているので、処理方法に変更を加える場合にその管理コストが大きくなる。
【０００５】
本発明の目的は、前記従来技術の問題点を解決し、電子帳票処理のために必要なアプリケーションの数を減少させ、さらに処理手順の変更に対して、柔軟に対処し、またユーザの入力ミスによるサーバとクライアントとの通信のオーバヘッドを減少させながら、ユーザの不正な取り引きを防止することができる電子帳票処理方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明は、
サーバとクライアントを有する電子帳票処理システムにおいて、電子帳票における入出力項目と、当該入出力項目に表示または入力されるデータを格納する業務データベースのレコードとの対応づけを記憶した電子帳票テンプレートにしたがい、電子帳票の入出力項目に表示または入力されるデータに関連して当該電子帳票の入出力項目に対応する業務データベースのレコードの読出しまたは更新を行う電子帳票処理方法であり、
当該電子帳票への入出力項目に対応する業務データベースのデータレコードの読出しと更新を制御するパラメータ情報（アクセス制御パラメータ情報）を前記電子帳票テンプレートに記憶し、当該アクセス制御パラメータ情報に対する参照、更新の権限を、セキュリティポリシに従い1つ以上の管理レベル（アクセス制御レベル）に設定し、当該アクセス制御レベルを示す識別コードをタグコード（セキュリティタグコード）として当該アクセス制御パラメータに付加し、特定の該セキュリティタグコードが付加されたアクセス制御パラメータ値またはパラメータ値の集合に対して一方向ハッシュ関数を用いたハッシュ値を生成するようにしている。
【０００７】
さらに、サーバは、前記生成したハッシュ値を記憶した後、当該電子帳票テンプレートをクライアントの要求に応じてクライアントに送付し、
クライアントは、送付された電子帳票テンプレートを基に電子帳票テンプレートの入出力項目に対するデータの入力要求またはデータの表示要求（あわせてデータアクセス要求と呼ぶ）を当該電子帳票テンプレートに記録した後、当該電子帳票テンプレートをサーバに送付し、
サーバは、受け取った電子帳票テンプレートに記憶されている特定のセキュリティタグコードが付加されたアクセス制御パラメータ値またはパラメータ値の集合のハッシュ値を生成し、予めサーバで記憶した当該電子帳票テンプレートのハッシュ値と比較し、当該電子帳票テンプレートに記憶された、特定のセキュリティタグコードが付加されたアクセス制御パラメータ値またはパラメータ値の内容が改ざんされていないことを確認した後、当該電子帳票テンプレートに記憶されたアクセス要求に基づき、当該電子帳票への入出力項目に対応する業務データベースのデータレコード読出し、または、更新を行うようにしている。
【０００８】
また、サーバとクライアントを有する電子帳票処理システムにおいて、電子帳票における入出力項目と、当該入出力項目に表示または入力されるデータを格納する業務データベースのレコードとの対応づけを記憶した電子帳票テンプレートにしたがい、電子帳票の入出力項目に表示または入力されるデータに関連して当該電子帳票の入出力項目に対応する業務データベースのレコードの読出しまたは更新を行う電子帳票処理方法であり、
当該電子帳票への入出力項目に対応する業務データベースのデータレコードの読出しと更新を制御するパラメータ情報（アクセス制御パラメータ情報）を前記電子帳票テンプレートに記憶し、
当該アクセス制御パラメータ情報に対する参照、更新の権限を、セキュリティポリシに従い1つ以上の管理レベル（アクセス制御レベル）に設定し、
当該アクセス制御レベルを示す識別コードをタグコード（セキュリティタグコード）として当該アクセス制御パラメータに付加し、
クライアントの特定のユーザに対して特定のセキュリティタグコードが付加されたアクセス制御パラメータ値またはパラメータ値に対する変更権限を付与し、
サーバは、該変更権限を付与されたユーザのＩＤと該ユーザが提供する公開暗号鍵を記憶した後、電子帳票テンプレートをクライアント側の要求に応じてクライアントに送付し、
クライアント側は、当該電子帳票テンプレートのセキュリティタグコードを参照して、特定のセキュリティタグコード付けされたアクセス制御パラメータ値またはパラメータ値の集合に対する更新を行い、更新者が有する秘密鍵を用いて特定のタグ付けされたアクセス制御パラメータ値またはパラメータ値の集合に電子署名を生成し、生成した電子署名を電子帳票テンプレートに付加し、さらに、当該電子帳票テンプレートに関するデータアクセス要求を設定して当該電子帳票テンプレートをサーバに送付し、
サーバは、当該電子帳票テンプレートを送付してきたクライアント側ユーザが提供している公開暗号鍵を用いて当該電子帳票テンプレートの電子署名を解読することにより、特定タグ付けされたアクセス制御パラメータ更新に関するクライアント側での更新者をサーバ側で同定し、当該特定セキュリティタグ付けされたアクセス制御パラメータの値については改ざんチェックを省略するようにしている。
【０００９】
また、サーバとクライアントを有する電子帳票処理システムにおいて、電子帳票における入出力項目と、当該入出力項目に表示または入力されるデータを格納する業務データベースのレコードとの対応づけを記憶した電子帳票テンプレートにしたがい、電子帳票の入出力項目に表示または入力されるデータに関連して当該電子帳票の入出力項目に対応する業務データベースのレコードの読出しまたは更新を行う電子帳票処理方法であり、
前記サーバは、前記電子帳票テンプレートに定義されている電子帳票の各入出力項目の集合を識別するためのタグ情報を電子帳票テンプレートに付加し、当該電子帳票への入出力項目に対応する業務データベースのデータレコードの読出しと更新を制御するタグ記述されたアクセス制御パラメータ情報に対する参照、更新権限を、セキュリティポリシに従い、1つ以上のアクセス制御レベルに分類し、当該アクセス制御レベルを示す属性を、セキュリティタグコードとして前記電子帳票テンプレートに定義し、前記セキュリティタグコードを用いて、特定のタグ付けされた電子帳票入出力データまたはアクセス制御パラメータに対してサーバ側で電子署名を前記電子帳票テンプレートに付加して、特定のタグ付けされた電子帳票入出力データまたはアクセス制御パラメータに対する変更権限をクライアントの特定のユーザに付与した後、該電子帳票テンプレートをクライアント側の要求に応じてクライアントに送付し、
クライアント側では、セキュリティタグコードを参照して、特定のタグ付けされたアクセス制御パラメータの更新あるいは電子帳票入出力データの内容の更新を行い、更新者の電子署名を電子帳票テンプレートに付加し、該更新者の電子署名と、サーバ側で行った電子帳票テンプレートの特定のタグ付けされた電子帳票入出力データまたはアクセス制御パラメータに対する電子署名に基づき、特定のタグ付き電子帳票定義データの内容が改ざんされていないか確認し、電子帳票テンプレートをサーバに送付する前にクライアント側で、更新者の同定を可能にするようにしている。
【００１０】
また、前記アクセス制御パラメータは、前記クライアント側のユーザが変更することのできないサーバ定義パラメータと、前記サーバから変更権限を付与された前記クライアント側のユーザが自由に変更することのできるユーザ定義パラメータを有するようにしている。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図１は、本発明の実施の形態を示す処理フロー図である。
図２は、本実施の形態を実現するための装置構成を含む電子帳票処理システムの全体構成図である。
図３は、本実施の形態を実現するための、サーバ装置のモジュール構成である。
図４は、本実施の形態を実現するための、クライアント装置のモジュールである。
【００１２】
まず、図２に示す電子帳票処理システムの全体構成図について説明する。
【００１３】
本実施形態の電子帳票処理システムは、電子帳票処理を管理するサーバ１１と電子帳票の入力を行うクライアント１２とが、通信ネットワーク１３で連結されたシステムである。
サーバ１１の装置構成は、計算機１１１に、記憶装置１１２、業務データベース１１３、通信ケーブル１１４を接続したものである。
クライアント１２の装置構成は、計算機１２２に、入力装置１２１、表示装置１２３、記憶装置１２４、通信ケーブル１２５を接続したものである。
【００１４】
図３は、サーバ１１のモジュール構成である。
計算機１１１は、通信機構２１、処理機構２２、解析機構２３、データベース管理機構２４で構成されている。なお、サーバに付随する入力装置、出力装置（表示装置）等の記載は図示省略している。
通信機構２１は、クライアント１２と通信を行うためのものである。
解析機構２３は、電子帳票の処理手順を記述した帳票テンプレートの解析を行うものである。
処理機構２２は、解析機構２３が解析した帳票テンプレートに対する処理を実行するものである。
データベース処理機構２４は、処理機構２２で処理する帳票テンプレートをもとに、業務データベース１１３のデータの読み出しと更新を行うものである。
記憶装置１１２は、帳票テンプレートの保存や、帳票処理で用いる暗号／復号ライブラリの保存、アクセス制御パラメータのハッシュ値の保存を行うものである。
【００１５】
図４は、クライアント１２のモジュール構成である。
計算機１２２は、通信機構３１、処理機構３２、解析機構３３で構成されている。
通信機構３１は、電子帳票処理サーバ１１と通信を行うためのものである。
解析機構３３は、電子帳票の処理手順を記述した帳票テンプレートの解析を行うものである。
処理機構３２は、解析機構３３が解析した帳票テンプレートに対する処理を実行するものである。
記憶装置１２４は、帳票処理で用いる暗号／復号ライブラリの保存や表示機構１２３に帳票の入力画面を表示するためのＧＵＩ（Graphical User Interface）ライブラリの保存を行うものである。
【００１６】
図５は、帳票テンプレート４１の構成図である。
まず、図５に示す、帳票テンプレート４１の構成図について説明する。
帳票テンプレート４１は、タグ付き文字データで記述される。
１行目＜帳票テンプレート＞は帳票テンプレートの開始タグで、帳票テンプレート４１の情報の開始を示している。最終行である１８行目の＜／帳票テンプレート＞は、帳票テンプレートの終了タグであり、帳票テンプレート４１の情報の終了を示している。
すなわち、帳票テンプレートの開始タグと終了タグで挟まれた、２行目から１７行目が帳票テンプレートタグの値であり、帳票テンプレート４１の内容である。
帳票テンプレート４１は、データ領域４１１、アクセス制御パラメータ４１２、文書保護情報４１３で構成される。
【００１７】
データ領域４１１は、ユーザの入力内容を帳票の入力項目毎に保存する領域である。
図５の例では、２行目のデータ領域開始タグ＜データ領域＞と６行目のデータ領域終了タグ＜／データ領域＞に挟まれた、３行目から５行目がデータ領域の内容である。
データ領域４１１では、帳票における入力項目毎に対応するタグを割り振り、ユーザの入力したデータを対応するタグの値として保存する。
図５では、この帳票の入力項目は、商品名と数量と配送先であり、まだユーザは何も入力していないので、どのタグも値がないが、例えばユーザが商品名をディスプレイと入力したら、３行目は＜商品名＞ディスプレイ＜／商品名＞となる。
【００１８】
アクセス制御パラメータ４１２は、サーバ定義パラメータ４１４、ユーザ定義パラメータ４１５で構成される。
アクセス制御パラメータ４１２は、データ領域４１１の入力項目と業務データベース１１３のデータレコードとの対応づけと、データ領域４１１の入力項目データと対応する業務データベース１１３のデータレコードの読み出し及び更新とを制御するパラメータ情報（アクセス制御情報）を記述するものである。
サーバ定義パラメータ４１４は、アクセス制御パラメータ４１２で定義されるアクセス制御パラメータの内、電子帳票処理サーバ１１で定義され、電子帳票処理クライアント１２のユーザは変更できないアクセス制御パラメータを定義するものである。
ユーザ定義パラメータ４１５は、アクセス制御パラメータ４１２で定義されるアクセス制御パラメータの内、サーバから変更権限を与えられた電子帳票処理クライアント１２のユーザが自由に変更できる、アクセス制御パラメータを定義するものである。
【００１９】
文書保護情報４１３は、アクセスパラメータ保護情報４１６、データ保護情報４１７で構成される。
文書保護情報４１３は、アクセス制御パラメータ４１２やデータ領域４１１の不正な改ざんを防止するために、アクセス制御パラメータ４１２やデータ領域４１１の定義者または変更者の署名を保存するものである。
【００２０】
アクセス制御パラメータ保護情報４１６は、アクセス制御パラメータ４１２の不正な改ざんを防止するために、アクセス制御パラメータ４１２の定義者または変更者の署名を保存する。
アクセス制御パラメータ保護情報４１６は、サーバ定義パラメータ保護情報４１８、ユーザ定義パラメータ保護情報４１９で構成される。
サーバ定義パラメータ保護情報４１８は、サーバ定義パラメータ４１４が帳票処理クライアント１２のユーザによって改ざんされないように、帳票処理サーバの署名を保存するものである。
ユーザ定義パラメータ保護情報４１９は、ユーザ定義パラメータ４１５が帳票処理クライアント１２のユーザによって変更されたときに、変更を行ったユーザを特定するために変更を行ったユーザの署名を保存するものである。
データ保護情報４１７は、データ領域４１１が帳票処理クライアント１２のユーザによって変更されたときに、同一のユーザが変更を行った入力項目とその内容に対しての当該ユーザの署名を保存するものである。
【００２１】
図６は、本実施形態により作成された文書テンプレート４１のアクセス制御パラメータ４１２を示す。
図７は、本実施形態により作成された文書テンプレート４１の文書保護情報４１３を示す。
図８は、本実施形態により作成された、アクセス制御パラメータ４１２のテーブル構成図である。
アクセス制御パラメータ４１２は、入力項目名５１１毎に、
入力データ型を示すデータ型５１２、
入力の際有効なデータの情報が格納されているデータベースを指定する入力ＤＢ５１３、
入力の際有効なデータの情報が格納されているデータベースのレコードを指定する入力レコード５１４、
ユーザの入力したデータを格納する業務データベース１１３のデータベース名を指定する出力ＤＢ５１５、
ユーザの入力したデータのデータの情報を格納する業務データベースのレコードを示す出力レコード５１６で構成される。
【００２２】
次に、図２、図３、図４及び、図５、図６、図７、図８を引用しながら、図１のフロー図に従って、本実施形態の処理動作を説明する。
ステップ１１０１では、まず、サーバ１１の計算機１１１の処理機構２２に新規帳票テンプレート４１を作成する。
図８で示しているアクセス制御パラメータ４１２に対する参照、更新権限を、セキュリティポリシに従って、１つ以上のアクセス制御レベルに分類して、このアクセス制御レベルの内の１つに対応するクライアント１２のユーザが変更できない情報をサーバ定義パラメータ４１４に、また、アクセス制御レベルの内の他の１つに対応するクライアントのユーザが変更できる情報をユーザ定義パラメータ４１５に定義する。
図６のアクセス制御パラメータ４１２では、３行目から４行目で商品名に対するサーバ定義パラメータ、５行目で数量に対するサーバ定義パラメータ、６行目で配送先に対するサーバ定義パラメータをそれぞれ定義している。また、１０行目で商品名に対するユーザ定義パラメータ、１１行目で数量に対するユーザ定義パラメータ、１４行目で配送先に対するユーザ定義パラメータを定義している。また、ユーザ定義パラメータ４１５では、商品入力、配送先入力という新たなタグを追加して、各入力項目をカテゴリ分けしている。
すなわち商品入力というカテゴリには、商品名と数量という２つの入力項目を定義し、前記２つの入力項目の入力担当者として山田花子を商品入力タグの属性として定義している。同様に配送先入力というカテゴリには、配送先という入力項目を定義している。
【００２３】
ステップ１１０２では、ユーザ定義パラメータ４１５にセキュリティタグコードを付加し、ユーザ定義パラメータ４１５の変更権限者を定義して、ユーザ定義パラメータタグの属性として付加する。図６において、セキュリティタグコードは、８行目に記述された「変更担当＝“佐藤一郎”」である。
【００２４】
ステップ１１０３では、アクセス制御パラメータ４１２において、サーバ定義パラメータ４１４と、ユーザ定義パラメータ４１５についてそれぞれハッシュ値を計算し、記憶装置１１２に保存する。また、当該ハッシュ値それぞれに電子署名を作成し、それぞれをサーバ定義保護情報４１８と、ユーザ定義保護情報４１９に付加する。
具体的には、処理機構２２で、サーバ定義パラメータ４１４について、一方向関数を用いてハッシュ値を計算して求め、その値を記憶装置１１２に保存する。また、当該ハッシュ値に対して記憶装置１１２に保存されているサーバ１１の秘密鍵で暗号化し署名を作成する。これをサーバ定義保護情報４１８に付加する。
同様に、処理機構２２で、ユーザ定義パラメータ４１５について、一方向関数を用いてハッシュ値を計算し、その値を記憶装置１１２に保存する。また、当該ハッシュ値に対して記憶装置１１２に保存されているサーバ１１の秘密鍵で暗号化し電子署名を作成する。これをユーザ定義保護情報４１９に付加する。
ステップ１１０１からステップ１１０３の処理により、あらかじめ帳票テンプレートを１つ以上作成しておき、記憶装置１１２にあらかじめ保存しておく。
【００２５】
ステップ１２０１及びステップ１１０４では、クライアント１２のユーザは、入力装置１２１から入力する帳票テンプレートをサーバにおいて検索するための検索条件を、通信機構３１を通じてサーバ１１の通信機構２１に送信する。
サーバ１１の処理機構２２は、クライアント１２から送られた帳票テンプレートの検索条件をもとに、記憶装置１１２の中から帳票テンプレートを検索し、対応する帳票テンプレート４１を通信機構２１を通じて、クライアントの通信機構３１へ送信する。
クライアントの処理機構３２は、通信機構３１が受信した帳票テンプレート４１を取得する。
【００２６】
ステップ１２０２では、ユーザからのユーザ定義パラメータ４１５の変更要求があれば、クライアント１２の計算機１２２の処理機構３２は解析機構３３を通じて帳票テンプレート４１を解析して、帳票テンプレート４１のユーザ定義パラメータ４１５に定義している変更権所有者と、ユーザが入力装置１２１から入力するユーザに関するユーザ情報を比較して、ユーザがユーザ定義パラメータ４１５の変更権を所有しているか確認し、変更権を所有していない場合は変更を受け付けずに、ステップ１２０４に行く。
変更権を所有している場合はユーザ定義パラメータ４１５の変更を受け付ける。
この際、処理機構３２は変更したユーザ定義パラメータ４１５が、サーバ定義パラメータ４１４と矛盾してないかまた、サーバのデータベースにアクセスするように変更されていないかを監視し、矛盾が生じた場合は変更を無効にする。
【００２７】
図９に、本実施形態により変更されたアクセス制御パラメータ４１２を示す。
９行目で商品入力カテゴリの入力担当者が佐藤一郎に、１３行目で配送先入力カテゴリの入力担当者が鈴木太郎に、１４行目で配送先のデータ型５１２が選択に、入力ＤＢ５１３が資材に、入力レコード５１４が配送先に変更されている。
このように、データの参照先として、サーバ１１上のデータベースは指定することはできないが、クライアント１２のローカルにあるデータベースは、ユーザ定義パラメータ４１５に指定することができる。
【００２８】
ステップ１２０３では、処理機構３２が、更新したユーザ定義パラメータ４１５について一方向関数でハッシュ値を計算して、その値に対して記憶装置１２４に保存されているユーザ定義パラメータ４１５の変更者の秘密鍵で暗号化し電子署名を作成する。これをユーザ定義保護情報４１９に書き込む。
【００２９】
ステップ１２０４では、ユーザからのデータ入力（更新）の要求があれば、処理機構３２は解析機構３３を通じて帳票テンプレート４１を解析して、帳票テンプレート４１のユーザ定義パラメータ４１５に定義している入力担当者と、ユーザが入力装置１２１から入力するユーザに関するユーザ情報を比較して、ユーザがデータ領域４１１への入力権（更新権）を所有しているか確認し、入力権を所有していない場合は変更を受け付けずに、ステップ１２０６に行く。
入力権を所有している場合は、帳票テンプレート４１に定義している各入力項目のデータ型を解析機構３３が解析し、処理機構３２が各入力項目毎に対応した入力フォームを、記憶装置１２４に保存されている入力画面のＧＵＩライブラリより取得し、表示装置１２３に入力画面を作成、表示して、入力権を所有しているデータ領域４１１への入力を受け付ける。
【００３０】
図１０は、本実施形態によって作成された、表示装置１２３に表示された入力画面６１である。
図９の最新のアクセス制御パラメータ４１２を見ると、３行目より商品名のデータ型は選択、５行目より数量のデータ型は数値であるので、それぞれ選択フォーム６２、数値フォーム６３が画面上に作成される。
配送先に関しては１３行目より、現在のユーザに入力の権限が与えられていないので、入力ができないように入力フォームを作成しない。
このようにして作成された入力画面をもとに、ユーザは入力の権限が与えられた入力項目に対して入力を行い、処理機構３２はユーザの入力データを解析機構３３を通して、帳票テンプレート４１のデータ領域４１１の対応するタグの値として保存する。
その際、処理機構３２は、ユーザが無効な入力をしていないかどうかを、解析機構３３を通してアクセス制御パラメータ４１２とユーザの入力データとを比較し、ユーザの無効な入力を受け付けないようにする。
なお、本実施形態では、ユーザ定義パラメータに入力権を設定できることは記載されているが、入力権の他に参照権を設定することもできる。この場合、参照権のないデータは画面上に表示されない。
【００３１】
ユーザが入力を終え、登録ボタン６５を押下したら、入力受付を終了しステップ１２０５へ進む。
また、図９のアクセス制御パラメータの３行目には、商品名はカタログデータベースの商品名というレコードから選択するように定義している。
このカタログデータベースがサーバにあるとすると、クライアント１２は、サーバ１１にデータベースへのアクセスを要求する必要がある。
このように処理の途中でサーバとの更新が必要となった場合も、入力処理を中止しステップ１２０５に進む。
【００３２】
ステップ１２０５では、ユーザが更新した帳票入力データについて、処理装置３２が一方向関数でハッシュ値を計算し、その値に対して記憶装置１２４に保存されているデータ領域４１１の入力データ変更者の秘密鍵で暗号化し電子署名を作成する。これをデータ保護情報４１７に書き込む。
【００３３】
ステップ１２０６では、処理機構３２が記憶装置１２４に保存されているサーバ１１の公開鍵で、サーバ定義保護情報４１８に定義されているサーバ定義パラメータ４１４の電子署名を復号化し、サーバ定義パラメータ４１４のハッシュ値を計算したものと比較し、サーバ定義パラメータが改ざんされていないか確認する。
【００３４】
次に、処理機構３２が記憶装置１２４に保存されているユーザ定義パラメータ４１５の変更権所有者の公開鍵で、ユーザ定義保護情報４１９に定義されているユーザ定義パラメータ４１５の電子署名を復号化し、ユーザ定義パラメータ４１５のハッシュ値を計算したものと比較し、ユーザ定義パラメータが改ざんされていないか確認する。
また、処理機構３２が、解析機構３３を通じて、データ領域４１１のデータが、アクセス制御パラメータ４１２に定義しているパラメータと比較して有効であるか確認する。
サーバ定義パラメータ４１４の非改ざん性、ユーザ定義パラメータ４１５の非改ざん性、データ領域の４１１の正当性がすべて確認されたら、ステップ１２０７に進む。
上記説明における公開鍵、秘密鍵は既に公知になっている公開鍵、秘密鍵と同様のものであるので、公開鍵、秘密鍵についての説明は省略する。
【００３５】
ステップ１２０７とステップ１１０５では、処理機構３２が通信機構３１を通じて帳票テンプレート４１をサーバ１１に送信し、サーバ１１の処理機構２２は通信機構２１を通じて帳票テンプレートを取得する。
【００３６】
ステップ１１０６では、処理機構２２が記憶装置１１２に保存されているサーバ１１の公開鍵で、サーバ定義保護情報４１８に定義されているサーバ定義パラメータ４１４の電子署名を復号化し、ステップ１１０２で記憶装置１１２に保存していた当該ハッシュ値と比較し、サーバ定義パラメータが改ざんされていないか確認する。
次に、処理機構２２が記憶装置１１２に保存されているユーザ定義パラメータ４１５の変更権所有者の公開鍵で、ユーザ定義保護情報４１９に定義されているユーザ定義パラメータ４１５の電子署名を復号化し、ユーザ定義パラメータ４１５のハッシュ値を計算したものと比較し、ユーザ定義パラメータが改ざんされていないか確認する。
また、処理機構２２が、解析機構２３を通じて、データ領域４１１のデータが、アクセス制御パラメータ４１２に定義しているパラメータと比較して有効であるか確認する。
サーバ定義パラメータ４１４の非改ざん性、ユーザ定義パラメータ４１５の非改ざん性、データ領域の４１１の正当性がすべて確認されたら、ステップ１１０７に進む。
なお、ステップ１２０６とステップ１１０６は同じ処理を行っているので、どちらか一方を省略することも可能である。
【００３７】
ステップ１１０７では、処理機構２２が文書保護情報４１７に定義されているデータ領域４１１の電子署名を、記憶装置１１２に保存されているユーザ定義パラメータ４１５で定義されているそれぞれの入力担当者の公開鍵で復号化し、データ領域４１１の入力データのハッシュ値を計算したものと比較し、データ領域４１１がアクセス制御パラメータ４１２で定義された入力担当者によって入力されたかどうか確認する。
【００３８】
ステップ１１０８では、処理機構２２がデータベース管理機構２４を通じて、アクセス制御パラメータ４１２を用いて、データ領域４１１の更新内容をもとに業務データベース１１３の内容を更新したり、業務データベース１１３からデータを読み出す。
業務データベース１１３からのデータの読み出し処理は、例えば、ステップ１２０４で、商品名の選択肢をカタログデータベースの商品名レコードから読み出すというクライアント１２からの要求に対して、対応するデータベースからデータを読み込む処理である。
【００３９】
ステップ１１０９とステップ１２０８では、ステップ１１０８で処理した結果を通信機構２１を通じてクライアント１２に送信し、処理機構３２は通信機構３１を通じて処理結果を受信する。
【００４０】
ステップ１２０９では、ステップ１２０３で登録ボタン５５が押下されていたら、処理を終了する。それ以外の場合、すなわち、ステップ１２０４の処理の途中でサーバとの交信が必要になり、サーバとの交信結果が受信された場合にはステップ１２０４に戻る。
サーバとの交信結果が受信された場合、例えば、ステップ１２０４における商品名の選択肢をサーバ１１の業務データベースから読み込んだデータを受信した場合には、この受信データをもとに、処理機構３２が表示装置１２３に商品名の選択肢を表示させる。この画面表示を図１１に示す。
サーバ定義パラメータ４１４に従って、カタログデータベースの商品名から読み出してきた、商品名の選択肢がノートパソコン、エアコン、電子レンジであるとすると画面表示は６７のようになる。
【００４１】
【発明の効果】
以上述べたように、本発明によれば、帳票の入力データと業務データベースのレコードの読み出しと更新を制御するアクセス制御パラメータを、サーバ側で定義するパラメータとクライアント側で定義変更できるパラメータとに分け、それぞれに署名を付加することにより、アクセス制御パラメータを不正に改ざんして、データベースにアクセスすることを防止することが可能となる。
また、クライアント側でパラメータを変更することができることにより、より柔軟な電子帳票処理が可能となる。
【図面の簡単な説明】
【図１】本発明の電子帳票処理方法の実施例の処理手順のフローチャートを示す図である。
【図２】本発明の適用される電子帳票処理システムの全体構成を示す図である。
【図３】サーバのモジュール構成を示す図である。
【図４】クライアントのモジュール構成を示す図である。
【図５】電子帳票テンプレートの構成を示す図である。
【図６】アクセス制御パラメータの構成を示す図である。
【図７】文書保護情報の構成を示す図である。
【図８】アクセス制御パラメータのテーブル構成図である。
【図９】クライアントのユーザがユーザ定義パラメータを変更した後のアクセス制御パラメータの構成を示す図である。
【図１０】初期帳票入力画面を示す図である。
【図１１】入力項目の選択肢をサーバから読み出してきた後の帳票入力画面を示す図である。
【符号の説明】
１１  サーバ
１２  クライアント
１３  通信ネットワーク
１１１、１２２  計算機
１１２、１２４  記憶装置
１１３  業務データベース
１２１  入力装置
１２３  表示装置
【図１】
0003818795.tif 000002
【図２】
0003818795.tif 000003
【図３】
0003818795.tif 000004
【図４】
0003818795.tif 000005
【図５】
0003818795.tif 000006
【図６】
0003818795.tif 000007
【図７】
0003818795.tif 000008
【図８】
0003818795.tif 000009
【図９】
0003818795.tif 000010
【図１０】
0003818795.tif 000011
【図１１】
0003818795.tif 000012