(57)【特許請求の範囲】
【請求項１】
複数の担当者のそれぞれに割り当てられた複数の異なる関数を、あらかじめ決められた電子情報の回送ルートに対応する回送順に検証用データに対して適用した結果を、該電子情報に対応する秘密情報として格納する秘密情報格納手段と、
前記電子情報と前記検証用データを、前記複数の担当者のうちの一人に送る通信手段と、
前記電子情報が前記複数の担当者に回送される間に、前記検証用データに対して、実際の回送ルートに対応する回送順に前記複数の関数が適用された結果を、前記秘密情報と比較することで、該電子情報が正しく回送されたかどうかを確認する確認手段と
を備えることを特徴とする認証装置。
【請求項２】
正しく回送されたことが確認された確認済み電子情報に対して、代表者の電子署名を自動的に付加し、該確認済み電子情報を発信する発信手段をさらに備えることを特徴とする請求項１記載の認証装置。
【請求項３】
前記検証用データとして、ランダムな値を発生させる値生成手段をさらに備えることを特徴とする請求項１または２記載の認証装置。
【請求項４】
前記検証用データとして、前記電子情報のハッシュ値を生成する値生成手段をさらに備えることを特徴とする請求項１または２記載の認証装置。
【請求項５】
各担当者毎に前記関数を生成する関数生成手段と、該関数を各担当者毎に対応させて格納する関数格納手段とをさらに備えることを特徴とする請求項１、２、３、または４記載の認証装置。
【請求項６】
前記関数生成手段は、ハッシュ関数、秘密鍵暗号アルゴリズムの暗号化関数、および公開鍵暗号アルゴリズムの復号化関数のうちの１つを生成することを特徴とする請求項５記載の認証装置。
【請求項７】
回送される電子情報と、該電子情報と検証用データが第１の担当者に送られ、該電子情報が該第１の担当者から第２の担当者まで回送される間に、該第１の担当者から該第２の担当者までの複数の担当者のそれぞれに割り当てられた複数の異なる関数が、実際の回送ルートに対応する回送順に該検証用データに対して適用された結果とを、該第２の担当者から受け取る通信手段と、
第３の担当者に割り当てられた関数を格納する関数格納手段と、
前記第２の担当者から受け取った適用結果に対して、前記第３の担当者に割り当てられた関数を適用して、該受け取った適用結果を変換する変換手段とを備え、
前記通信手段は、変換された適用結果を前記電子情報に付加して次の送付先に送ることを特徴とする端末装置。
【請求項８】
前記関数格納手段は、前記関数を他の担当者に分からないように格納することを特徴とする請求項７記載の端末装置。
【請求項９】
前記関数格納手段は、前記関数を前記特定の担当者に分からないように格納することを特徴とする請求項８記載の端末装置。
【請求項１０】
前記関数格納手段は、取り外し可能であることを特徴とする請求項７記載の端末装置。
【請求項１１】
前記電子情報に付加された電子署名を検証する署名検証手段と、前記電子情報に前記第３の担当者の電子署名を付加する署名作成手段とをさらに備えることを特徴とする請求項７、８、９、または１０記載の端末装置。
【請求項１２】
コンピュータのためのプログラムを記録した記録媒体であって、
複数の担当者のそれぞれに割り当てられた複数の異なる関数を、あらかじめ決められた電子情報の回送ルートに対応する回送順に検証用データに対して適用した結果を、該電子情報に対応する秘密情報として格納する秘密情報格納手段と、
前記電子情報と前記検証用データを、前記複数の担当者のうちの一人に送る通信手段と、
前記電子情報が前記複数の担当者に回送される間に、前記検証用データに対して、実際の回送ルートに対応する回送順に前記複数の関数が適用された結果を、前記秘密情報と比較することで、該電子情報が正しく回送されたかどうかを確認する確認手段として、
前記コンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
コンピュータのためのプログラムを記録した記録媒体であって、
前記プログラムは、
回送される電子情報と、該電子情報と検証用データが第１の担当者に送られ、該電子情報が該第１の担当者から第２の担当者まで回送される間に、該第１の担当者から該第２の担当者までの複数の担当者のそれぞれに割り当てられた複数の異なる関数が、実際の回送ルートに対応する回送順に該検証用データに対して適用された結果とを、該第２の担当者から受け取る通信手段と、
第３の担当者に割り当てられた関数を格納する関数格納手段と、
前記第２の担当者から受け取った適用結果に対して、前記第３の担当者に割り当てられた関数を適用して、該受け取った適用結果を変換する変換手段として、前記コンピュータを機能させ、
前記通信手段は、変換された適用結果を前記電子情報に付加して次の送付先に送ることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１４】
通信手段が、電子情報と検証用データを、複数の担当者のうちの一人に送り、
確認手段が、前記複数の担当者のそれぞれに割り当てられた複数の異なる関数を、あらかじめ決められた前記電子情報の回送ルートに対応する回送順に前記検証用データに対して適用した結果を、該電子情報に対応する秘密情報として格納する秘密情報格納手段を参照し、該電子情報が該複数の担当者に回送される間に、該検証用データに対して、実際の回送ルートに対応する回送順に該複数の関数が適用された結果を、該秘密情報と比較することで、該電子情報が正しく回送されたかどうかを確認する
ことを特徴とする認証方法。
【請求項１５】
通信手段が、回送される電子情報と、該電子情報と検証用データが第１の担当者に送られ、該電子情報が該第１の担当者から第２の担当者まで回送される間に、該第１の担当者から該第２の担当者までの複数の担当者のそれぞれに割り当てられた複数の異なる関数が、実際の回送ルートに対応する回送順に該検証用データに対して適用された結果とを、該第２の担当者から受け取り、
変換手段が、第３の担当者に割り当てられた関数を格納する関数格納手段を参照し、前記第２の担当者から受け取った適用結果に対して、該第３の担当者に割り当てられた関数を適用して、該受け取った適用結果を変換し、
前記通信手段が、変換された適用結果を前記電子情報に付加して次の送付先に送る
ことを特徴とする回送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、企業間で電子取引を行う場合などに、文書が正当な作成者および承認者を経由したかどうかを検証し、決められたルートを正しく回送された文書に代表の電子署名を付与する認証システムおよびその方法に関する。
【０００２】
【従来の技術】
近年、企業の従業者による不正取引が企業にとって問題となっている。最近の不正取引の特徴として、金額の巨大化、不正の長期化が挙げられ、不正取引を防止することは企業にとって重大な課題となっている。また、最近のインターネットの流行により、企業間で電子取引を開始しようとする動きがあるが、この電子取引においても、不正取引を未然に防止することが求められている。
【０００３】
電子取引については、最近の暗号技術を利用した認証技術の発達により、コンピュータ・ネットワーク上で個人を電子的に認証することが可能となった。例えば、ユーザＡがユーザＢに文書を送る場合、ユーザＡは自分の電子署名を文書に付けて送る。すると、その文書を受け取ったユーザＢは、電子署名がユーザＡのものであることを検証することにより、受け取った文書が間違いなくユーザＡが作成した文書であることを確認することができる。
【０００４】
【発明が解決しようとする課題】
しかしながら、ネットワークを利用した電子取引には次のような問題がある。上述のような認証技術を企業内でやりとりされる文書に利用することで、文書作成や文書承認者などの文書を扱った担当者を特定することができる。しかし、認証技術はあくまで個人を特定するもので、文書を作成した人物が誰であるかは特定できるが、本当にその人物がその文書を作成する権限を持っていたかどうかは特定できない。同様に、文書を承認した人物が誰であるかは特定できるが、本当にその人物がその文書を承認する権限を持っていたかどうかは特定できない。
【０００５】
企業内でやり取りされる文書の場合、誰が文書を扱ったのかが分かるだけでは不十分であり、文書を扱った者がその文書を扱う権限を持っていたかどうかが重要となる。
【０００６】
また、企業間で電子取引を行う場合、例えばＡ企業からＢ企業に文書を送信するとすると、Ａ企業では送信する文書が間違いなくＡ企業で作成されたものであることを示すために、送信文書にＡ企業の代表の電子署名をつける。Ｂ企業は、受信文書につけられた電子署名を検証することで、文書が間違いなくＡ企業で作成されたものであることを確認できる。
【０００７】
ここで、Ａ企業において、代表の電子署名を付ける手段を、文書を作成もしくは検査する担当者に与えると、その担当者が本来の業務に関係のない文書にまで代表の電子署名を付けて、不正取引を行うことが可能となり、非常に危険である。よって、企業間で電子取引を安全に行うためには、文書を送信する企業内で、文書を送信する直前に代表の電子署名を文書に付けるようなシステムが必要となる。
【０００８】
本発明の課題は、文書を扱った人物が文書を扱う権限を持っていたかどうかをシステマチックに検証し、検証された文書に対して自動的に代表の電子署名を付けることで、不正取引を防止する認証システムおよびその方法を提供することである。
【０００９】
【課題を解決するための手段】
図１は、本発明の認証システムの原理図である。図１の認証システムは、通信ネットワーク７に接続された認証装置１と各担当者の端末装置４から成り、認証装置１は秘密情報格納手段２と確認手段３を備え、端末装置４は通信手段５と変換手段６を備える。
【００１０】
秘密情報格納手段２は、回送される電子情報に対応する秘密情報を格納し、確認手段３は、上記秘密情報と上記電子情報に付加された情報とに基づいて、その電子情報が正しく回送されたかどうかを確認する。
【００１１】
ネットワーク７上では、文書データ、画像データなどの任意の電子情報が関係する担当者の間で回送され、秘密情報格納手段２は、各電子情報に対応する秘密情報を、あらかじめそれらの担当者に知られないようにして格納している。各担当者の端末装置４を回送された電子情報が到着すると、確認手段３は、電子情報に付加された情報を取り出し、それと秘密情報とに基づいて回送ルートを確認する。
【００１２】
秘密情報としては、例えば、電子情報を扱う一人以上の担当者のそれぞれに割り当てられた関数を、回送順に検証用データに適用した結果が用いられる。そして、電子情報に検証用データが付加されて各担当者に回送される間に、その検証用データに対して、端末装置４により関数が適用された結果を、秘密情報と比較することで、電子情報が正しく回送されたかどうかが確認できる。
【００１３】
もし、両方の結果が一致しなければ、電子情報が、それを扱う権限のない担当者に回送されたか、あるいは、正規の回送ルートと異なる順序で回送された可能性があるとみなされる。このような場合には、その電子情報の発信処理を中止することができる。
【００１４】
そして、秘密情報と電子情報に付加された情報とが一致した場合にのみ、その電子情報に代表の電子署名を付けて社外に発信することで、従業者による不正取引を防止することができる。
【００１５】
また、端末装置４の通信手段５は、回送される電子情報を受け取り、次の送付先に送る。このとき、変換手段６は、受け取った電子情報に付加された情報を、特定の担当者に割り当てられたアルゴリズムに従って変換する。
【００１６】
特定の担当者とは、例えば、各端末装置４に割り当てられた担当者を指し、変換手段６は、その担当者にあらかじめ与えられた特定のデータ変換アルゴリズムに従って、電子情報に付加された情報を変換する。このデータ変換アルゴリズムとしては、例えば、上記関数が用いられる。
【００１７】
変換された情報は、通信手段５により電子情報に付加されて次の端末装置４に送られ、その端末装置４において、別のデータ変換アルゴリズムによる変換が施される。このようにして、電子情報が各担当者に回送される間に、付加情報が次々と変換されて、最終的には、回送されたルート特有の情報に変換される。認証装置１は、この情報を調べることで、電子情報が正しく回送されたかどうかを確認することができる。
【００１８】
そして、電子情報に付加された情報が正しい回送ルートに対応している場合にのみ、その電子情報に代表の電子署名を付けて社外に発信することで、従業者による不正取引を防止することができる。
【００１９】
例えば、図１の認証装置は、後述する図２におけるサーバ１１に対応し、秘密情報格納手段２は秘密情報記憶装置３０に対応し、確認手段３は秘密情報比較部２８に対応する。また、例えば、通信手段５はインタフェース４１、５１、６１に対応し、変換手段６は関数適用部４３、５３、６３に対応する。
【００２０】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本発明の認証システムにおいては、企業間で電子取引を安全に行うために、文書を送信する側の企業において、文書が、正当な担当者である作成者および承認者を経た場合にのみ、その文書に代表の電子署名を付けるようにする。
【００２１】
このため、サーバは、あらかじめ各担当者の端末に特定の関数を配っておき、文書とともに検証用の適当なデータを回送する。各端末は、与えられた関数を回送されるデータに順次適用し、関数値として次の端末に送る。そして、サーバは、最後の端末から送られた関数値を、最初のデータに各担当者の関数を回送順に適用した結果と比較して、回送ルートを検証する。
【００２２】
それらが一致すれば、文書が決められたルートで正しく回送されたものと判定し、自動的に、文書に代表の電子署名を付けて社外に発信する。このように、サーバのみが知っている関数と検証用データを用いることで、文書が正しい担当者を経由したかどうかがチェックされ、各担当者の権限が検証される。また、サーバが代表の電子署名を付与するので、担当者による電子署名の不正使用が防止される。
【００２３】
電子署名とは、データの送信者が本人しか知らない秘密鍵を用いて、なんらかの方法でデータを暗号化して作成した情報である。データの受信者が、送信者の身元が確かであることを確認するためには、例えば、認証局から発行される証明書の中の公開鍵を用いて電子署名を復号化し、その内容を検証すればよい。電子署名の生成に用いられる秘密鍵と証明書に記載される公開鍵とは対になっており、秘密鍵により暗号化されたデータは公開鍵により復号化することができる。
【００２４】
図２は、本発明の認証システムの構成図である。図２の認証システムは、サーバ１１と担当者の端末１２、１３、１４を含み、社外の通信ネットワークである外部ネットワークに接続されている。
【００２５】
サーバ１１は、インタフェース（ＩＦ）２１、文書発信部２２、署名作成部２３、署名検証部２４、関数発生部２５、値発生部２６、関数適用部２７、および秘密情報比較部２８を含む。サーバ１１には、関数記憶装置２９、秘密情報記憶装置３０、および文書記憶装置３１が接続されている。
【００２６】
また、担当者１の端末１２は、インタフェース４１、署名検証部４２、関数適用部４３、および署名作成部４４を含み、担当者２の端末１３は、インタフェース５１、署名検証部５２、関数適用部５３、および署名作成部５４を含み、担当者３の端末１４は、インタフェース６１、署名検証部６２、関数適用部６３、および署名作成部６４を含む。
【００２７】
これらの端末１２、１３、１４には、それぞれ、関数記憶装置４５、５５、６５が接続されている。また、サーバ１１と端末１２、１３、１４は、社内の通信ネットワークである内部ネットワークにより、互いに結合されている。なお、担当者の端末は、一般に任意の数だけ設けることができ、４台以上の場合も同様の構成を持つ。
【００２８】
このような認証システムにおいて、ある文書が担当者１から担当者３まで回送される場合を例に取り、その回送および発信を認証する動作を説明する。
まず、文書を回送する前に、サーバ１１の関数発生部２５は、担当者１、担当者２、担当者３用にそれぞれ個別の関数を発生させる。サーバ１１は、作成した関数を、他の担当者に知られないように各担当者に配送する。担当者１、担当者２、担当者３は、配送された関数を、それぞれ関数記憶装置４５、５５、６５に格納する。
【００２９】
また、サーバ１１は、各関数を関数記憶装置２９に格納する。その際、図３に示すように、文書の回送ルートに従って、文書種別、発信者、受信者、および関数からなる表を作成し、発信者から文書作成通知が来た時の回送ルート検索に用いる。ここでは、担当者１、担当者２、担当者３に対して、それぞれ、関数１、関数２、関数３が割り当てられており、文書種別“文１”は、担当者１、担当者２、担当者３、サーバの順の回送ルートに対応している。
【００３０】
図４は、実際に文書を発信するまでの過程で、サーバ１１や各端末間でやり取りされる通信データの表を示している。まず、担当者１が文書を発信する場合、手順Ｐ１において、端末１２は、インタフェース４１からサーバ１１のインタフェース２１に対して、作成した文書を送る。
【００３１】
サーバ１１の値発生部２６は、送られた文書に対するＩＤと、サーバ１１にしか分からない適当な値を一つ生成する。取り扱う文書が一種類しかない場合は、ＩＤは必ずしも生成する必要はなく、以下の処理において省略することができる。また、値はランダムに発生させてもよく、文書またはＩＤの一部を値として用いてもよい。
【００３２】
次に、サーバ１１は、文書種別と発信者の情報をもとに、関数記憶装置２９から文書の回送ルートを検索し、関数適用部２７において、回送ルートに含まれる担当者の各関数を、順次、値発生部２６が生成した値に適用する。関数を適用された値は、秘密情報として、図５に示すように、値発生部２６が生成したＩＤと共に秘密情報記憶装置３０に格納される。
【００３３】
手順Ｐ２において、サーバ１１は、値発生部２６が生成したＩＤと値を、インタフェース２１から端末１２のインタフェース４１に送る。インタフェース４１を介して値を受け取った関数適用部４３は、関数記憶装置４５に格納された関数１を受け取った値に適用する。そして、署名作成部４４は、文書、ＩＤ、および関数適用値である“関数１（値）”に、電子署名１を付ける。
【００３４】
このように、担当者の電子署名は、文書、ＩＤ、および関数適用値を含むデータの全体に付けるのが望ましいが、もちろん、その一部分に付けることも可能である。
【００３５】
手順Ｐ３において、端末１２は、文書、ＩＤ、関数適用値、および電子署名１を、インタフェース４１から端末１３のインタフェース５１に送る。インタフェース５１を介してこれらの情報を受け取った署名検証部５２は、担当者１が付けた電子署名１を検証する。
【００３６】
検証結果に誤りがなければ、関数適用部５３が、関数記憶装置５５に格納された関数２を、受け取った関数適用値に適用する。そして、署名作成部５４は、文書、ＩＤ、および関数適用値“関数２（関数１（値））”に、電子署名２を付ける。
【００３７】
手順Ｐ４において、端末１３は、文書、ＩＤ、関数適用値、電子署名１、および電子署名２を、インタフェース５１から端末１４のインタフェース６１に送る。インタフェース６１を介してこれらの情報を受け取った署名検証部６２は、担当者２が付けた電子署名２を検証する。
【００３８】
検証結果に誤りがなければ、関数適用部６３が、関数記憶装置６５に格納された関数３を、受け取った関数適用値に適用する。そして、署名作成部６４は、文書、ＩＤ、および関数適用値“関数３（関数２（関数１（値）））”に、電子署名３を付ける。
【００３９】
手順Ｐ５において、端末１４は、文書、ＩＤ、関数適用値、電子署名１、電子署名２、および電子署名３を、インタフェース６１からサーバ１１のインタフェース２１に送る。インタフェース２１を介してこれらの情報を受け取った署名検証部２４は、担当者３が付けた電子署名３を検証する。
【００４０】
検証結果に誤りがなければ、秘密情報比較部２８は、担当者３から送られた関数適用値と、秘密情報格納装置３０に格納された秘密情報とを比較する。その結果、両者の値が同一であれば、サーバ１１は、文書が適切なルートで回送されたものとみなし、文書、電子署名１、電子署名２、および電子署名３を、文書記憶装置３１に格納する。そして、文書発信部２２が、文書に代表の電子署名を付けて社外に発信する。
【００４１】
このシステムでは、サーバ１１が発生させた関数１、関数２、関数３は、担当者自身にも分からないようにして、それぞれ担当者１、担当者２、担当者３に渡され、関数記憶装置４５、５５、６５に格納される。
【００４２】
関数の配送方法としては、ＩＣカードなどの可搬記憶媒体を関数記憶装置として用い、これをオフラインで渡す方法、サーバ１１と各端末をセキュリティの確保された専用回線で結んで、ハードウェアによりオンラインで配送する方法などがある。前者の場合は、関数記憶装置を簡単に取り外しできるというメリットがある。
【００４３】
また、サーバ１１が、発生させた値、例えばランダムな値を回送する文書に付加し、各担当者がこのランダムな値にあらかじめサーバ１１から与えられた関数を適用することで、ランダムな値は各担当者にしか生成できない特定の値に変換される。
【００４４】
各担当者はそれぞれ同様の処理を行い、文書と関数により変換された値がサーバ１１に返される。サーバ１１は、各担当者に与えた関数を関数記憶装置２９に格納しておき、上記のランダムな値に各関数を順に適用した結果と、各担当者が各関数をランダムな値に順に適用した結果が同じかどうかを調べることで、文書が担当者１、担当者２、担当者３の順に回送されたかどうかを確認することができる。
【００４５】
また、サーバ１１が発生させた関数を、担当者自身にも分からないように関数記憶装置４５、５５、６５に格納しておけば、担当者が異動になった場合にも、同じ関数が自動的に新しい担当者に与えられる。このように、関数を担当者の役職に対して一意的に付与することで、異動に簡単に対応することができる。
【００４６】
さらに、担当者が一時的に不在になった場合は、関数を関数記憶装置ごと代理の担当者に渡すことで、簡単に対応することができる。特に、関数記憶装置として、簡単に取り外し可能なＩＣカードなどを用いた場合は、それを代理の担当者に渡すだけでよい。
【００４７】
また、関数を他の担当者に分からないようにしておくことで、他の担当者がその関数を与えられた担当者になりすますことを防止できる。この場合、各担当者は、受け取った値に他人の関数を適用することができず、したがって、文書が正しく回送されたかのように見せかけることはできない。
【００４８】
このように、関数は役職に対して付与されるが、電子署名は担当者個人に対して一意的に付与されており、異動に応じて変更される。文書に担当者の電子署名を付けて回送することで、問題が発生した場合に、その文書を扱った担当者を容易に特定することができる。
【００４９】
ところで、手順Ｐ１において、値発生部２６は、受け取った文書のハッシュ値を生成して、これを検証用の値として用いることもできる。これにより、作成者である担当者１による文書のすりかえができなくなり、システムの信頼性が向上する。
【００５０】
また、手順Ｐ２において、サーバ１１の署名作成部２３は、ＩＤと値にサーバの電子署名０を付けて端末１２に送ることもできる。この場合、図４の各手順における通信データは図６に示すようになり、端末１２の署名検証部４２は、サーバの電子署名０を検証する。そして、検証結果に誤りがなければ、関数適用部４３が関数１を受け取った値に適用する。
【００５１】
図７は、サーバ１１や端末１２、１３、１４に対応する情報処理装置（コンピュータ）の構成図である。図７の情報処理装置は、ＣＰＵ（中央処理装置）７１、メモリ７２、入力装置７３、出力装置７４、外部記憶装置７５、媒体駆動装置７６、ネットワーク接続装置７７を備え、それらの各装置はバス７８により互いに結合されている。
【００５２】
ＣＰＵ７１は、メモリ７２に格納されたプログラムを実行して、サーバ１１や端末１２、１３、１４の各処理を実現する。メモリ７２には、各処理に用いられるプログラムとデータが格納されている。このメモリ７２は、例えばＲＯＭ（read only memory）、ＲＡＭ（random access memory）等を含む。
【００５３】
入力装置７３は、例えばキーボード、ポインティングデバイス等に相当し、ユーザからの要求や指示の入力に用いられる。また、出力装置７４は、表示装置やプリンタ等に相当し、ユーザへの問い合せや処理結果等の出力に用いられる。
【００５４】
外部記憶装置７５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等である。この外部記憶装置７５に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ７２にロードして使用することができる。また、外部記憶装置７５は、関数記憶装置２９、４５、５５、６５、秘密情報記憶装置３０、および文書記憶装置３１としても使用され得る。
【００５５】
媒体駆動装置７６は、可搬記録媒体７９を駆動し、その記憶内容にアクセスする。可搬記録媒体７９としては、メモリカード（ＩＣカード）、フロッピーディスク、ＣＤ−ＲＯＭ（compact disk read only memory ）、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この可搬記録媒体７９に、上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ７２にロードして使用することができる。さらに、可搬記録媒体７９は、関数記憶装置４５、５５、６５としても使用することができる。
【００５６】
ネットワーク接続装置７７は、ＬＡＮ（local area network）等の任意の通信ネットワークに接続され、通信に伴うデータ変換等を行う。情報処理装置は、ネットワーク接続装置７７を介して、他の情報処理装置８０（サーバ１１、端末１２、１３、１４等）と通信する。これにより、必要に応じて、プログラムとデータを情報処理装置８０からネットワークを介して受け取り、それらをメモリ７２にロードして使用することができる。
【００５７】
次に、図８から図１０までを参照しながら、図２の認証システムによる処理の例について説明する。
図８は、関数としてハッシュ関数、または秘密鍵暗号システムにおける暗号化関数を用いた認証システムを示している。ハッシュ関数とは、与えられたデータに適当な操作を施すことで、元に戻すことのできないデータを生成する一方向性関数であり、秘密鍵暗号システムとは、ＤＥＳ（Data Encryption Standard）暗号のような秘密鍵暗号アルゴリズムを用いたシステムである。
【００５８】
秘密鍵暗号システムにおいては、暗号化と復号化の両方に秘密鍵を用いており、その鍵情報を知らないと、暗号化も復号化も行うことができない。ここでは、各担当者毎に異なる秘密鍵を用いた暗号化関数が与えられ、それらの鍵情報を担当者は知らないものとする。暗号化のアルゴリズムは、担当者毎に異なっていても同じでもよい。図８において、担当者１が文書を作成する場合の処理は、次のようになる。
【００５９】
Ｐ１１：  担当者１は、文書をサーバ１１に送って、文書の作成を通知する。Ｐ１２：  サーバ１１は、適当な値を一つ生成し、文書が回送される順に各担当者の関数を値に適用し、適用結果８１を秘密情報として、ＩＤとともに秘密情報記憶装置３０に格納する。適用結果８１は、図５の秘密情報と同様に、関数値“関数３（関数２（関数１（値）））”を表す。そして、関数を適用する前の値をＩＤとともに担当者１の端末１２に送る。このとき、サーバ１１は値を暗号化してから送ってもよい。
【００６０】
Ｐ１３：  端末１２は、送られてきた値に関数１を適用し、文書、ＩＤ、適用結果８２、および電子署名１を、担当者２の端末１３に送る。
Ｐ１４：  端末１３は、送られてきた値に関数２を適用し、文書、ＩＤ、適用結果８３、電子署名１、および電子署名２を、担当者３の端末１４に送る。
【００６１】
Ｐ１５：  端末１４は、送られてきた値に関数３を適用し、文書、ＩＤ、適用結果８４、電子署名１、電子署名２、および電子署名３を、サーバ１１に送る。サーバ１１は、送られてきた値８４と秘密情報記憶装置３０に格納された秘密情報８１を比較し、それらが同じであれば文書が正しく回送されたとみなす。
【００６２】
図９は、図８の認証システムにおける関数の適用結果（関数値）の具体例を示している。図９における処理は、次の通りである。
Ｐ２１：  担当者１は、文書をサーバ１１に送って、文書の作成を通知する。
【００６３】
Ｐ２２：  サーバ１１は、ＩＤ“１”と、一つのランダムな値“ｉ７５ｘ３ｆｗ０”を生成し、文書が回送される順に各担当者の関数を値に適用し、関数値“ｓ９ｉｈ６ｒｕｇ”を得る。次に、この関数値を秘密情報として、ＩＤ“１”とともに秘密情報記憶装置３０に格納する。そして、関数を適用する前の値“ｉ７５ｘ３ｆｗ０”を、ＩＤ“１”とともに担当者１の端末１２に送る。
【００６４】
Ｐ２３：  端末１２は、送られてきた値“ｉ７５ｘ３ｆｗ０”に関数１を適用して、関数値“ｎｎｑｏｌ８ｊ６”を得る。そして、文書、ＩＤ“１”、および関数値“ｎｎｑｏｌ８ｊ６”に電子署名１を付けて、担当者２の端末１３に送る。
【００６５】
Ｐ２４：  端末１３は、電子署名１を検証した後、送られてきた値“ｎｎｑｏｌ８ｊ６”に関数２を適用し、関数値“ｐｇｅ５ｂ９２ｈ”を得る。そして、文書、ＩＤ“１”、および関数値“ｐｇｅ５ｂ９２ｈ”に電子署名２を付けて、担当者３の端末１４に送る。
【００６６】
Ｐ２５：  端末１４は、電子署名２を検証した後、送られてきた値“ｐｇｅ５ｂ９２ｈ”に関数３を適用し、関数値“ｓ９ｉｈ６ｒｕｇ”を得る。そして、文書、ＩＤ“１”、および関数値“ｓ９ｉｈ６ｒｕｇ”に電子署名３を付けて、サーバ１１に送る。サーバ１１は、送られてきた値“ｓ９ｉｈ６ｒｕｇ”と秘密情報記憶装置３０に格納された秘密情報“ｓ９ｉｈ６ｒｕｇ”を比較し、それらが同じであるので、文書が正しく回送されたとみなす。
【００６７】
図１０は、関数として公開鍵暗号システムにおける復号化関数を用いた認証システムを示している。公開鍵暗号システムとは、ＲＳＡ（Rivest-Shamir-Adleman ）暗号のような公開鍵暗号アルゴリズムを用いたシステムである。
【００６８】
公開鍵暗号システムにおいては、暗号化に秘密鍵を用い、復号化に公開鍵を用いており、一般に、誰でも復号化を行うことができる。しかし、ここでは、各担当者毎に異なる復号化鍵を用いた復号化関数が与えられ、それらの鍵情報を担当者は知らないものとする。復号化のアルゴリズムは、担当者毎に異なっていても同じでもよい。図１０において、担当者１が文書を作成する場合の処理は、次のようになる。
【００６９】
Ｐ３１：  担当者１は、文書をサーバ１１に送って、文書の作成を通知する。Ｐ３２：  サーバ１１は、適当な値９１を一つ生成し、それを秘密情報として、ＩＤとともに秘密情報記憶装置３０に格納する。そして、文書が回送される順序とは逆の順序で各担当者の暗号関数を値に適用し、適用結果９２をＩＤとともに担当者１の端末１２に送る。適用結果９２は、関数値“暗号関数１（暗号関数２（暗号関数３（値）））”を表す。
【００７０】
Ｐ３３：  端末１２は、送られてきた値に復号関数１を適用し、文書、ＩＤ、復号結果９３、および電子署名１を、担当者２の端末１３に送る。復号結果９３は、関数値“暗号関数２（暗号関数３（値））”を表す。
【００７１】
Ｐ３４：  端末１３は、送られてきた値に復号関数２を適用し、文書、ＩＤ、復号結果９４、電子署名１、および電子署名２を、担当者３の端末１４に送る。復号結果９３は、関数値“暗号関数３（値）”を表す。
【００７２】
Ｐ３５：  端末１４は、送られてきた値に復号関数３を適用し、文書、ＩＤ、復号結果９５、電子署名１、電子署名２、および電子署名３を、サーバ１１に送る。サーバ１１は、送られてきた値９５と秘密情報記憶装置３０に格納された秘密情報９１を比較し、それらが同じであれば文書が正しく回送されたとみなす。
【００７３】
このように、担当者に与える関数に公開鍵暗号アルゴリズムを用い、その鍵情報を担当者に知らせないことで、鍵情報を含めた各担当者の関数を推定することが困難になり、システムの信頼性が向上する。
【００７４】
次に、図１１から図１７までを参照しながら、サーバ１１と各端末の処理のフローを説明する。
図１１は、サーバ１１による関数発生処理のフローチャートである。処理が開始されると、関数発生部２５は、担当者毎に個別の関数を発生させる（ステップＳ１）。次に、サーバ１１は、各関数を関数記憶装置２９に格納した後（ステップＳ２）、各担当者に配送し（ステップＳ３）、処理を終了する。
【００７５】
図１２は、端末による関数格納処理のフローチャートである。処理が開始されると、端末は、サーバ１１が発生させた関数を受け取り（ステップＳ１１）、それを端末の関数記憶装置に格納して（ステップＳ１２）、処理を終了する。
【００７６】
図１３は、端末による文書発信依頼処理のフローチャートである。処理が開始されると、端末は、担当者からの指示に従って文書を作成し（ステップＳ２１）、それをサーバ１１に送って（ステップＳ２２）、処理を終了する。
【００７７】
図１４は、文書発信依頼を受けたサーバ１１による値発生処理のフローチャートである。処理が開始されると、サーバ１１は、端末から文書を受け取り（ステップＳ３１）、値発生部２６は、ＩＤと適当な値を発生させる（ステップＳ３２）。
【００７８】
次に、関数適用部２７は、文書の種別と発信者の情報をもとに、図３に示したような関数記憶装置２９のデータから、文書の回送ルートを検索する（ステップＳ３３）。そして、値発生部２６が発生した値に、各担当者の関数を回送ルートの順に適用し（ステップＳ３４）、適用結果とＩＤを秘密情報記憶装置３０に格納する（ステップＳ３５）。サーバ１１は、ＩＤと関数適用前の値を文書発信を依頼してきた担当者の端末に送り（ステップＳ３６）、処理を終了する。
【００７９】
図１５は、文書発信を依頼した担当者の端末による文書回送処理のフローチャートである。処理が開始されると、端末は、サーバ１１からＩＤと値を受け取る（ステップＳ４１）。次に、関数適用部は、端末に付属する関数記憶装置から関数を取り出し（ステップＳ４２）、それを受け取った値に適用する（ステップＳ４３）。
【００８０】
そして、署名作成部は、文書とＩＤと関数値に電子署名を付けて（ステップＳ４４）、それらを次の担当者の端末に送り（ステップＳ４５）、処理を終了する。
【００８１】
図１６は、文書の回送を受けた担当者の端末による文書回送処理のフローチャートである。処理が開始されると、端末は、他の担当者の端末から、その担当者の電子署名付きの文書とＩＤと関数値を受け取る（ステップＳ５１）。次に、署名検証部は、その電子署名を検証して（ステップＳ５２）、それが正しいかどうかを判定する（ステップＳ５３）。
【００８２】
検証結果が正しいければ、次に、関数適用部は、端末に付属する関数記憶装置から関数を取り出し（ステップＳ５４）、それを受け取った関数値に適用する（ステップＳ５５）。
【００８３】
そして、署名作成部は、文書とＩＤと新しい関数値に電子署名を付けて（ステップＳ５６）、それらを次の担当者の端末またはサーバ１１に送り（ステップＳ５７）、処理を終了する。
【００８４】
ステップＳ５３において検証結果が正しくなければ、文書回送処理を中断し（ステップＳ５８）、エラー処理を行って、処理を終了する。エラー処理では、例えば、電子署名が正しくないことがサーバ１１に通知され、それがサーバ１１から対応する担当者に通知される。
【００８５】
図１７は、最後の担当者から文書の回送を受けたサーバ１１による文書発信処理のフローチャートである。処理が開始されると、サーバ１１は、その担当者の電子署名付きの文書とＩＤと関数値を受け取る（ステップＳ６１）。次に、署名検証部２４は、その電子署名を検証して（ステップＳ６２）、それが正しいかどうかを判定する（ステップＳ６３）。
検証結果が正しければ、次に、秘密情報比較部２８は、秘密情報記憶装置３０から登録されている関数値を取り出し（ステップＳ６４）、それを受け取った関数値と比較して（ステップＳ６５）、それらが同じかどうかを判定する（ステップＳ６６）。そして、それらが同じであれば、受け取った文書を文書記憶装置３１に格納する（ステップＳ６７）。
【００８６】
次に、文書発信部２２は、その文書に代表の電子署名を付けて、社外に発信し（ステップＳ６８）、処理を終了する。ステップＳ６３において検証結果が正しくないとき、および、ステップＳ６６において２つの値が同じでないときは、文書発信処理を中断し（ステップＳ６９）、エラー処理を行って、処理を終了する。
【００８７】
ステップＳ６３において検証結果が正しくなければ、エラー処理では、例えば、電子署名が正しくないことが対応する担当者に通知される。また、ステップＳ６６において２つの値が同じでなければ、エラー処理では、例えば、回送が正しく行われなかったことが文書の作成者および関連する担当者に通知される。
【００８８】
以上説明した実施形態において、一般に、関数は役職に対して一意的に設定され、担当者が変わっても変化しない。しかし、担当者が変わる度に関数を取り替えることで、より安全性の高いシステムを実現することもできる。
【００８９】
また、本発明の認証システムは、文書だけでなく、画像、音声、プログラムなどの任意の電子情報の回送および発信を認証する技術に適用可能であり、本発明の認証方法は、紙媒体などを含む任意の情報の回送および発送を認証する技術に適用可能である。
【００９０】
【発明の効果】
本発明によれば、企業間で電子取引が行われる場合に、まず、企業内で電子情報が正しく回送されたことを検証することで、各担当者に権限があるかどうかを確認することができる。そして、正しく回送された場合にのみ、企業の代表の電子署名を付けることで、電子情報を発信する企業における不正取引を防止することができる。
【００９１】
本発明は、電子取引において不正取引を防止するための一つの技術を提供しており、今後、電子取引を開始しようとする企業において、その利用が期待される。
【図面の簡単な説明】
【図１】本発明の認証システムの原理図である。
【図２】認証システムの構成図である。
【図３】関数記憶装置のデータを示している。
【図４】第１の通信データを示している。
【図５】秘密情報記憶装置のデータを示している。
【図６】第２の通信データを示している。
【図７】情報処理装置の構成図である。
【図８】第１の実施形態を示す図である。
【図９】関数値の例を示す図である。
【図１０】第２の実施形態を示す図である。
【図１１】関数発生処理のフローチャートである。
【図１２】関数格納処理のフローチャートである。
【図１３】文書発信依頼処理のフローチャートである。
【図１４】値発生処理のフローチャートである。
【図１５】第１の文書回送処理のフローチャートである。
【図１６】第２の文書回送処理のフローチャートである。
【図１７】文書発信処理のフローチャートである。
【符号の説明】
１  認証装置
２  秘密情報格納手段
３  確認手段
４  端末装置
５  通信手段
６  変換手段
７  通信ネットワーク
１１  サーバ
１２、１３、１４  端末
２１、４１、５１、６１  インタフェース
２２  文書発信部
２３、４４、５４、６４  署名作成部
２４、４２、５２、６２  署名検証部
２５  関数発生部
２６  値発生部
２７  関数適用部
２８  秘密情報比較部
２９、４５、５５、６５  関数記憶装置
３０  秘密情報記憶装置
３１  文書記憶装置
７１  ＣＰＵ
７２  メモリ
７３  入力装置
７４  出力装置
７５  外部記憶装置
７６  媒体駆動装置
７７  ネットワーク接続装置
７８  バス
７９  可搬記録媒体
８０  他の情報処理装置
８１、８２、８３、８４、９２、９３、９４  関数値
９１、９５  値
【図１】
0003898322.tif 000002
【図２】
0003898322.tif 000003
【図３】
0003898322.tif 000004
【図４】
0003898322.tif 000005
【図５】
0003898322.tif 000006
【図６】
0003898322.tif 000007
【図７】
0003898322.tif 000008
【図８】
0003898322.tif 000009
【図９】
0003898322.tif 000010
【図１０】
0003898322.tif 000011
【図１１】
0003898322.tif 000012
【図１２】
0003898322.tif 000013
【図１３】
0003898322.tif 000014
【図１４】
0003898322.tif 000015
【図１５】
0003898322.tif 000016
【図１６】
0003898322.tif 000017
【図１７】
0003898322.tif 000018