(57)【特許請求の範囲】
【請求項１】
クライアントとサーバとが接続されたネットワーク上のクライアントとサーバ間での電子データの送受信を仲介しかつ保管する電子公証システムであって、
前記クライアントとサーバ間で送受信される電子データを格納するためのデータベースと、前記クライアントとサーバ間で送受信される電子データを前記データベースに記憶するか否かを判断する条件である抽出ルールと、前記クライアントとサーバ間で送受信される電子データを送信先となるクライアントまたはサーバへ転送しおよび前記クライアントとサーバ間で送受信される電子データを前記データベースに記憶するための転送処理プログラムとを記憶する記憶装置と、前記記憶装置内の前記転送処理プログラムを実行する演算装置とを備え、
前記抽出ルールは、サーバ名と抽出条件とを含み、
前記抽出条件は、電子データが所定の文字列を含むという条件、または電子データが所定のデータ形式であるという条件を含み、
前記演算装置は、前記転送処理プログラムを特定する転送処理アドレスへの接続要求を前記クライアントから受信すると、前記記憶装置内の前記転送処理プログラムの実行により、
クライアント公開鍵を前記クライアントから受信し、
前記転送処理アドレスを受信する以前の前処理において前記サーバによって前記クライアント公開鍵をサーバ秘密鍵で暗号化されたクライアント公開鍵暗号データと、前記サーバ内の契約受付アドレスへの接続要求とを、前記クライアントから受信すると、前記契約受付アドレスへの接続要求を前記サーバへ送信し、
サーバ公開鍵を前記サーバから受信し、
前記クライアントから受信された前記クライアント公開鍵暗号データを前記サーバから受信された前記サーバ公開鍵で復号化し、復号化された前記クライアント公開鍵が前記クライアントから受信された前記クライアント公開鍵に一致するかを判断し、一致した場合に前記クライアントとサーバ間での電子データの送受信のための処理を続行し、一致しない場合に前記クライアントとサーバ間での電子データの送受信のための処理を中止し、
前記クライアントとサーバ間での電子データの送受信のための処理を続行する場合に、前記電子データを前記クライアントまたは前記サーバから受信すると、前記電子データの送信元または送信先が当該抽出ルール内のサーバ名に合致しかつ前記電子データが含む文字列または前記電子データのデータ形式が当該抽出ルール内の抽出条件に合致する抽出ルールが前記記憶装置内に存在するか判断し、存在する場合に前記電子データを前記記憶装置内のデータベースに記憶すると共に前記電子データを送信先となる前記クライアントまたは前記サーバへ送信し、存在しない場合に前記電子データを前記データベースに記憶せずに前記電子データを送信先となる前記クライアントまたは前記サーバへ送信し、
前記演算装置は、前記電子データを前記記憶装置内のデータベースに記憶する場合に、前記電子データと共に、送信元となるクライアントのクライアント公開鍵または送信元となるサーバのサーバ公開鍵と、送信先となるクライアントのクライアント公開鍵または送信先となるサーバのサーバ公開鍵を、前記記憶装置内のデータベースに記憶することを特徴とする電子公証システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上でやりとりされた電子的なデータを記録する技術に係り、特に電子契約、電子商取引に関する。
【０００２】
【従来の技術】
電子商取引などの電子契約の普及により、契約を行う当事者間において、電子発注書・電子明細書・電子契約書などの電子データが、確かに送受されたことを証明する仕組みに対するニーズが高まっている。これを実現する方法として、電子署名による証明方法と、第三者機関である公証機関による証明方法がある。電子署名による証明方法は、送受信する電子データに当事者それぞれの電子署名を付与する方法である。この方法では契約時点において、各々の電子署名を付与できるのが各々の当事者であるという前提のもと、電子署名を付与した（＝電子データを受信した）ことが証明できる。一方第三者機関を用いる方法として、特開2000-78235号公報、特開平11-261549号公報などが公知技術である。これらは内容証明付き電子メールと呼ばれる技術であり、公証機関にメールサーバを設置し、当事者は公証機関のメールサーバを仲介して互いに電子データのやりとりを行う方法である。この方法では、当事者間でやりとりされる電子データは、公証機関内のメールサーバに一度蓄積された上で相手方に送付される。これにより公証機関が信頼できる機関であれば、当事者間において電子データが送受信されたことを証明できる。
【０００３】
【発明が解決しようとする課題】
従来の電子署名による方式は、証明すべきデータ全てに対して電子署名を付与する必要があり操作が煩雑であり、内容証明付きメールを利用した方式では、当事者間において、データを送信時点と受信時点にずれが生じるため、契約に至るまでに時間の遅延が生じる。
【０００４】
消費者契約においては、企業は消費者に対する商品説明や約款説明の義務、さらには消費者に契約の意志があるかを再確認させ錯誤による契約でないことを立証する義務が生じる。このため企業は、商品説明、約款、契約書、契約内容の確認を消費者に確かに送信し、契約者側から契約の申し込み確かに受信したことを証明する必要がある。これを電子署名を用いて実現しようとした場合には、これらの全てのデータに対して消費者が受理したことを証明する署名を付与してもらう必要があり操作が煩雑である。また内容証明付きメールを利用した場合は、これらの全てのデータをそれぞれメールで送信し、それぞれのデータを受理した旨をメールで返信を受ける必要がある。一般にメールは送信のタイミングと受信のタイミングにタイムラグがあり、契約に至るまでの複数の文章をそれぞれメールでやりとりさせると契約に至るまでに時間の遅延が多くかかる。また近年の Webの普及により、商品情報の提供の主流は  Web で行われることが多く、情報提供は  Web  で行い契約のプロセスはメールベースで行うことは、インターフェィスを統一する上で好ましくない。
【０００５】
本発明の目的は、契約の当事者が意識することなく公証機関がその契約に関する情報を取得するため、契約の当事者の負担を軽減しつつ、契約の当事者の片方又は双方の利益を保護することが可能な電子公証方法及びそのシステムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、契約を行う当事者の片方が  Web サーバなどの契約を行うサーバを提供し、他方がクライアントとしてサーバにオンラインで接続して契約を行う、例えば企業と消費者等の契約形態において、サーバ、クライアント間で送受信される通信内容と契約当事者を特定するための認証データを公証機関においてオンラインで受信し記録する。これによりクライアント側の契約当事者（消費者）がサーバ側の契約当事者（企業）に、Webなどと同様にアクセスし、商品説明、約款、契約書を順次ダウンロードし、契約申し込みをアップロードするだけで、当事者間において電子データの送受信が確かに行われたことを公証機関が記録することが可能である。
【０００７】
本発明においては、クライアントからサーバへの接続を、クライアントから公証機関への接続Ａと、また公証機関からサーバへの接続Ｂにより構成する。また公証機関は接続Ａ開設時にはクライアントに対する認証と通信路の暗号化を行うことで、接続Ａに対して送受信した電子データがクライアントから、あるいはクライアントに対するものであることが保証できる。同様に接続Ｂに対しても、サーバの認証と通信路の暗号化を行うことで、接続Ｂに対して送受信した電子データがサーバから、あるいはサーバに対するものであることが保証できる。上記接続を確立した上でさらに公証機関は接続Ａ、接続Ｂから受けた電子データをそれぞれ接続Ｂ、接続Ａに対して転送すると同時に、公証機関内に予め記録してある抽出データの内容に基づき、送受信される電子データを、公証機関内のＤＢ（データベース）に記録するかを決定する。抽出データは例えば「契約の文字列を含む電子データは記録する」といった一連の抽出ルールからなるデータである。
【０００８】
記録を行うと判断した電子データは、誰と誰の間でのやりとりされた電子データを特定するための認証データ（接続Ａ、接続Ｂの開設時にサーバおよびクライアントの認証データ）と、通信日時と共に、公証機関内のＤＢに記録する。
【０００９】
【発明の実施の形態】
本発明は図１に示すように、契約クライアント１１００、契約サーバ１２００、公証サーバ１３００をネットワーク１４００により接続して構成する。契約クライアント１１００は計算システムであり、演算装置、記憶装置、入出力装置、通信装置から構成する。演算装置は、例えばＭＰＵであり、記憶装置に記憶したプログラムを実行する。記憶装置は例えばメモりである。入出力装置は、例えばキーボード、マウス、ディスプレイであり、外部のオペレータへの情報表示あるいは情報入力を行う。通信装置は、例えばネットワークカードであり、ネットワーク１４００を介して、他の公証システム１３００、契約サーバ１２００と通信する。契約サーバ１２００の構成は、契約クライアント１１００と同じ構成を持つ。公証サーバ１３００の構成も、契約クライアント１１００と同じ構成を持ち、さらに通信記録ＤＢ（データベース）１５００と接続してある。通信記録ＤＢ１５００は、例えばハードディスクである。ネットワーク１４００は、例えばインターネットである。
【００１０】
契約クライアント１１００の記憶装置には、契約要求処理１１１０、契約クライアント秘密鍵１１２０、契約クライアント公開鍵１１３０、契約開始処理アドレス１１４０を記憶する。契約要求処理１１１０の詳細は後述する。契約クライアント秘密鍵１１２０および契約クライアント公開鍵１１３０は、公開鍵暗号のそれぞれ秘密鍵と公開鍵である。公開鍵暗号では、秘密鍵で暗号化したデータは公開鍵で複合化でき、逆に公開鍵で暗号化したデータは秘密鍵で複合化できる。また公開鍵から秘密鍵の推定は困難であり、公開鍵を公に公開し、秘密鍵を他人に漏洩しないようにする。これにより、公開鍵により暗号化することで、秘密鍵を持つ者だけが解読できる暗号化通信が実現でき、また秘密鍵により暗号化し暗号化したデータを公開することで、秘密鍵を持つものが作成したデータであることを推定する電子署名として用いることができる。なお本実施例において秘密鍵の漏洩はないものとする。契約開始処理アドレス１１４０は、ネットワーク１４００上において後述契約開始処理１２１０に接続するためのネットワークアドレスである。
【００１１】
契約サーバ１２００の記憶装置には、契約開始処理１２１０、契約受付処理１２２０、契約約款１２３０、契約書１２４０、契約サーバ秘密鍵１２５０、契約サーバ公開鍵１２６０、転送処理アドレス１２７０、契約受付処理アドレス１２８０を記憶する。契約開始処理１２１０は、契約クライアント１１００が公証サーバ１３００経由で契約サーバ１２００に接続させるための前処理を行う処理であり詳細は後述する。契約受付処理１２２０は契約クライアント１１００と契約に関するデータの送受信を行う処理であり詳細については後述する。契約約款１２３０は、契約に関する約款を記載したデータである。契約書１２４０は、契約内容を記載したデータである。契約サーバ秘密鍵１２５０、契約サーバ公開鍵１２６０は、それぞれ公開鍵暗号の秘密鍵および公開鍵である。転送処理アドレス１２７０は、ネットワーク１４００上において後述転送処理１３１０に接続するためのネットワークアドレスである。契約受付処理アドレス１２８０は、ネットワーク１４００上において後述契約受付処理１２２０に接続するためのネットワークアドレスである。
【００１２】
公証サーバ１３００の記憶装置には、転送処理１３１０、抽出ルール１３２０、公証サーバ秘密鍵１３３０、公証サーバ公開鍵１３４０を記録する。転送処理１３１０は、契約クライアント１１００と契約サーバ１２００の間で送受信されるデータを転送ならびに記録する処理であり詳細については後述する。抽出ルール１３２０は、前記転送を行うデータの中から記録するデータを抽出するルールデータであり詳細は後述する。公証サーバ秘密鍵１３３０、公証サーバ公開鍵１３４０は、それぞれ公開鍵暗号の秘密鍵および公開鍵である。
【００１３】
以下、契約クライアント１１００と契約サーバ１２００において、ネットワーク１４００を介した契約が行われるものとし、その手順について述べる。
【００１４】
最初に公証サーバ１３００を介して、契約クライアント１１００と契約サーバ１２００が接続するための、前処理を契約要求処理１１１０と契約開始処理１２１０により行う。この前処理について以下述べる。
【００１５】
まず契約クライアント１１００は契約要求処理１１１０により契約開始処理アドレス１１４０に対する接続を要求する。これにより契約サーバ１２００側の契約開始処理１２１０が接続要求を受ける。以下契約クライアント１１００の動作は、契約要求処理１１１０に基づくものであり、契約サーバ１２００の動作は契約開始処理１２１０に基づくものであるとする。まず契約クライアント１１００は、契約者クライアント公開鍵１１３０を送信し、契約サーバ１２００は契約クライアント公開鍵１１３０を受信する。次に契約サーバ１２００は契約クライアント１１００に対して、転送処理アドレス１２７０、契約受付アドレス１２８０、契約クライアント公開鍵暗号データを送付する。ここで契約クライアント公開鍵暗号データとは、契約クライアント公開鍵１１３０を契約サーバ秘密鍵１２５０で暗号化したデータである。この契約クライアント公開鍵暗号データは、公証サーバ１３００が、契約クライアント１１００から接続要求を受けた時に、その接続要求が契約サーバ１２００が認める接続要求かを判断するのに用いる。
【００１６】
以降は契約クライアント１１００が公証サーバ１３００経由で契約サーバ１２００に接続する処理である。
【００１７】
契約クライアント１１００は契約サーバ１２００から、転送処理アドレス１２７０、契約受付アドレス１２８０、契約クライアント公開鍵暗号データを受け取ると、転送処理アドレス１２７０に対する接続を要求する。これにより公証サーバ１３００の転送処理１３１０が接続要求を受ける。以下公証サーバ１３００の動作は転送処理１３１０に基づくものであるとする。契約クライアント１１００は、契約者クライアント公開鍵１１３０を送信し、公証サーバ１３００は契約クライアント公開鍵１１３０を受信する。公証サーバ１３０は、公証サーバ公開鍵１３４０を送信し、契約クライアント１１００は公証サーバ公開鍵１３４０を受信する。以降、公証サーバ１３００が契約クライアント１１００に対してデータを送信する際は、送信するデータを契約クライアント公開鍵１１３０で暗号化して送るものとし、契約クライアント１１００が公証サーバ１３００からデータを受信する際には契約クライアント秘密鍵１１２０でデータを複合化するものとする。公開鍵暗号の性質により契約クライアント公開鍵１１３０で暗号化したデータは契約クライアント秘密鍵１１２０でしか複合化できないため、こうすることで公証サーバ１３００から契約クライアント１１００に対して送信するデータは契約クライアント１１００のみがその内容を解読できるようにできる。また、契約クライアント１１００が公証サーバ１３００に対してデータを送信する際は、送信するデータを公証サーバ公開鍵１３４０で暗号化して送るものとし、公証サーバ１３００が契約クライアント１１００からデータを受信する際には公証サーバ秘密鍵１３３０でデータを複合化するものとする。次に契約クライアント１１００は公証サーバ１３００に契約受付アドレス１２８０、契約クライアント公開鍵暗号データを送信する。なお契約受付アドレス１２８０、および契約クライアント公開鍵暗合データの送信は、契約クライアント１１００が、転送処理アドレス１２７０に対する接続を要求する時に合わせて送信しても良い。公証サーバ１３００は、契約受付アドレス１２８０、契約クライアント公開鍵暗号データを受信すると、契約受付アドレス１２８０に対する接続を要求する。これにより契約サーバ１２００の契約受付処理１２２０が接続要求を受ける。以下契約サーバ１２００の動作は、契約受付処理１２２０に基づくものであるとする。次に公証サーバ１３００と契約サーバ１２００の間において、公証サーバ公開鍵１３４０と契約サーバ公開鍵１２６０の交換が行われる。この交換方法ならびに以降のデータの暗号・複合方法は、契約クライアント１１００と公証サーバ１３００の間でなされた方法と同じであるため省略する。次に公証サーバ１３００は、契約クライアント公開鍵暗号データを契約サーバ公開鍵１２６０で複合化する。この複合結果が契約クライアント公開鍵１１３０と一致するかを判断し、一致した場合は以降の処理を続行し、一致しない場合は処理を中止する。以降、公証サーバ１３００は契約クライアント１１００からデータを受信した場合には、契約サーバ１２００に送信し、契約サーバ１２００からデータを受信した場合には、契約クライアント１１００にデータを送信する。以上で接続処理は完了する。
【００１８】
次に公証サーバ１３００を経由し契約クライアント１１００と契約サーバ１２００の間でデータの送受信がなされた場合の処理について述べる。公証サーバ１３００は契約クライアント１１００あるいは契約サーバ１２００からデータを受信すると、そのデータを通信記録ＤＢ１５００に記録するかを抽出ルール１３２０に基づき判断する。抽出ルール１３２０に記載されたデータは、例えばあらかじめ契約サーバ１２００を提供する契約者が公証サーバ１３００に対して登録をしておく。抽出ルール１３２０は、図２に示すように、サーバ名２１００と抽出条件２２００からなるデータであり、サーバ名２１００で示されるサーバに対して送信されるデータあるいは前記サーバから送られるデータの中で抽出条件２２００に一致するデータを通信記録ＤＢ１５００に記憶するというルールを複数登録したデータである。ここで抽出条件２２００は、例えば「契約の文字列を含む」、「約款の文字列を含む」といった、送受信されるデータ内にある特定のパターンのデータが含まれるかといった条件や、「ＸＭＬ(eXtensible Markup Language)形式のデータである」、「音声データである」といった送受信されるデータの形式がある特定の形式であるといった条件である。これにより公証サーバ１３００は、送受信されるデータの送信元あるいは送信先がサーバ名２１００で示されたサーバであり、かつそのデータが抽出条件２２００に合致するルールが存在する場合には、そのデータを通信記録ＤＢ１５００に保存する。通信記録ＤＢ１５００の構造は図３に示すように、日時３１００、送信元認証データ３２００、送信先認証データ３３００、通信データ３４００の項目からなるテーブルである。公証サーバ１３００が送受信されるデータを記録する際には、そのデータ自体を通信データ３４００に記憶する。さらに通信がなされた時刻を日時３１００に記録する。契約クライアント１１００から契約サーバ１２００に対して前記データが送信された場合には、送信元認証データ３２００として契約クライアント公開鍵１１３０を、送信先認証データ３３００として契約サーバ公開鍵１２６０を記録する。逆に契約サーバ１２００から契約クライアント１１００に対して前記データが送信された場合には、送信元認証データ３２００として契約サーバ公開鍵１２６０を、送信先認証データ３３００として契約クライアント公開鍵１１３０を記録する。さらに公証サーバ１３００は、送受信されるデータを通信記録ＤＢ１５００に記録する/しないに関わらず全てのデータを、契約クライアント１１００から受信したデータは契約サーバ１２００へ、契約サーバ１２００から受信したデータは契約クライアント１１００に転送する。
【００１９】
以上により、契約クライアント１１００、契約サーバ１２００間において、契約に関わるデータ（契約約款１２３０、契約書１２４０）が順次送受信されると、その内容が公証サーバ１３００の通信記録ＤＢ１５００に記憶される。これにより後日、契約に関して裁判等の論争があった場合には、公証サーバ１３００の通信記録ＤＢ１５００に記憶されたデータを、第三者による証拠として利用することが可能となる。
【００２０】
以下、本実施形態をＷＷＷ（World Wide Web）を用いて実現した場合の契約クライアント１１００，契約サーバ１２００，公証サーバ１３００間の通信手順について述べる。契約サーバ１２００および公証サーバ１３００上においてＷｅｂのサーバプログラム（以下Ｗｅｂサーバと呼ぶ）を実行する。Ｗｅｂサーバは、クライアントから、ＵＲＬ（ Uniform Resource Identifier ）と呼ばれるインターネット上のアドレスにより、サーバ上のデータやプログラムへのアクセス要求を受けると、そのデータあるいはプログラムの実行結果を返信するプログラムである。契約開始処理１２１０，契約受付処理１２２０、転送処理１３１０は、Ｗｅｂサーバから起動されるプログラムであり、例えば  CGI ( Common Gateway Interface )プログラムである。また転送処理１３１０は、契約サーバ１２００上のＷｅｂサーバにアクセスするためＷｅｂのクライアントプログラム（以下Ｗｅｂクライアントと呼ぶ）としての機能を備える。契約要求処理１１１０はＷｅｂクライアントである。まず契約クライアント１１００が契約要求処理１１１０により契約開始処理１２１０にアクセスするために、図４に示すＵＲＬ４１００を指定する。ＵＲＬ４１００は、契約サーバ１２００を特定するアドレス部分４１１０と、契約開始処理１２１０を特定するアドレス部分４１２０と、契約クライアント公開鍵１１３０を引数としてわたす引数部分４１３０から構成する。契約サーバ１２００が契約開始処理１２１０により契約要求処理１１１０に対して返信する内容はＵＲＬ４２００となる。ＵＲＬ４２００は、公証サーバ１３００を特定するアドレス部分４２１０と、転送処理１３１０を特定するアドレス部分４２２０と、契約サーバ１２００の契約受付処理１２２０のアドレスを引数としてわたす引数部分４２３０と、前記契約クライアント公開鍵暗合データを引数としてわたす部分４２４０と契約クライアント公開鍵１１３０を引数としてわたす引数部分４２５０から構成する。次に契約クライアント１１００は、契約サーバ１２００からＵＲＬ４２００を受信すると、ＵＲＬ４２００に、契約サーバ１２００に対して何要求するかを示すデータを引数部分４４１０として追加する。この新たに作成されたＵＲＬがＵＲＬ４４００である。引数部分４４１０は、具体的には、契約サーバ１２００上のデータ（例えば契約約款１２３０や契約書１２４０）を送信するように要求するデータや、契約クライアント１１００上のデータ（例えば契約書１２４０に変更を加えた場合のその変更内容）を契約サーバ１２００に送るためのデータである。契約クライアント１１００は契約要求処理１１１０により作成したＵＲＬ４４００を用いて接続を要求する。この接続要求は公証サーバ１３００が転送処理１３１０により受ける。なお本実施例では、契約クライアント公開鍵１１３０を引数部分４２５０として転送処理１３１０への引数として送信したが、IETF( Internet Engineering Task Force )により標準化されたＲＦＣ（Requests For Comment）２２４６のように下位の通信レベルで契約クライアント公開鍵１１３０の送信を行ってもよい。次に公証サーバ１３００は転送処理１３１０により、ＵＲＬ４４００の引数部分４２３０から契約サーバ１２００の契約受付処理１２２０のアドレスを��出しＵＲＬ４３００を生成する。ＵＲＬ４３００は、契約サーバ１２００を特定するアドレス部分４３１０と、契約受付処理１２２０を特定するアドレス部分４３２０と、公証サーバ公開鍵１３４０を引数としてわたす引数部分４３３０と、契約受付処理１２２０に対して何を要求するかを指示する引数部分４４１０からなる。さらに公証サーバ１３００は転送処理１３２０によりＵＲＬ４４００を用いて接続を要求する。この接続要求は、契約サーバ１２００が契約受付処理１２２０により受ける。契約サーバ１２００は契約受付処理１２２０により、引数部分４４１０の内容に従い、契約クライアント１１００にデータの送信あるいは契約クライアント１１００からのデータの受信を行う。
【００２１】
以上により契約サーバ１１００と契約クライアント１２００は二者間で通信を行うのと同じ手順で通信を行うだけで、その内容を公証機関１３００に記録することを可能とする通信インフラを実現することができる。公証機関１３００に記録された情報は、公証機関１３００によってその内容の正当性が保証される。
【００２２】
【発明の効果】
本発明によれば、契約の当事者が意識することなく公証機関がその契約に関する情報を取得するため、契約の当事者の負担を軽減しつつ、契約の当事者の片方又は双方の利益を保護することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態のシステム構成を示した図
【図２】本発明の実施の形態の抽出ルールの構造を示した図
【図３】本発明の実施の形態の通信記録ＤＢの構造を示した図
【図４】本発明の実施の形態のＷｅｂを用いた場合のＵＲＬの具体例を示した図
【符号の説明】
１１００…契約クライアント、１２００…契約サーバ、１３００…公証サーバ、１４００…ネットワーク
【図１】
0004120189.tif 000002
【図２】
0004120189.tif 000003
【図３】
0004120189.tif 000004
【図４】
0004120189.tif 000005