(57)【要約】【課題】電子データに付与されている時刻データの正当性を保証する。【解決手段】ネットワーク上にサーバとクライアントを配置し、クライアントは目的の電子データより電子データパターンデータを作成してサーバに送信する。サーバはリクエストを受け取った時点で時刻を取得し、時刻のデータとクライアントが送ってきた電子データパターンデータを保存すると同時に、クライアントに時刻のデータを送信する。【選択図】        図１
2004328042.tif 000002
【特許請求の範囲】
【請求項１】
通信路上に時刻保証サーバとクライアントとなる機器があるシステムにおいて、クライアントは保持する電子データから電子データパターンデータを作成し、作成した前記電子データパターンデータとともに時刻保証サーバに時刻取得リクエストを送信し、クライアントから時刻取得リクエストを受け取った時刻保証サーバは、時刻を得て時刻データを生成し、リクエスト内部に含まれる前記電子データパターンデータを前記時刻データとともに記録し、さらに前記時刻データをクライアントに送信し、クライアントは、時刻保証サーバが送信した前記時刻データを前記電子データとともに保存することを特徴とする時刻保証方式。
【請求項２】
前記通信路上でサーバとクライアントは暗号化通信方式によって通信を行うことを特徴とする請求項１記載の時刻保証方式。
【請求項３】
前記時刻データは時刻をあらわす文字列もしくは数値であることを特徴とする請求項１記載の時刻保証方式。
【請求項４】
前記時刻データは時刻をあらわす文字列もしくは数値を暗号化したものであることを特徴とする請求項１記載の時刻保証方式。
【請求項５】
前記時刻データは時刻をあらわす文字列もしくは数値、もしくはそれを暗号化したものと、少なくとも時刻保証サーバ内部で一意な識別子との組であることを特徴とする請求項１記載の時刻保証方式。
【請求項６】
前記時刻データは時刻をあらわす文字列もしくは数値を暗号化する暗号化方式とは、非対称暗号化方式の秘密鍵によって暗号化する暗号化方式であることを特徴とする請求項４もしくは請求項５記載の時刻保証方式。
【請求項７】
前記電子データパターンデータとは、前記電子データ全体もしくは一部のデータであることを特徴とする請求項１記載の時刻保証方式。
【請求項８】
前記電子データパターンデータとは、前記電子データ全体もしくは一部のデータから生成したチェックサムデータであることを特徴とする請求項１記載の時刻保証方式。
【請求項９】
前記電子データパターンデータとは、前記電子データ全体もしくは一部のデータを複数のブロックに分割し、各ブロックから生成したチェックサムデータ列であることを特徴とする請求項１記載の時刻保証方式。
【請求項１０】
前記電子データパターンデータとは、前記電子データ全体もしくは一部のデータを暗号化したデータであることを特徴とする請求項１記載の時刻保証方式。
【請求項１１】
前記電子データパターンデータとは、前記電子データ全体もしくは一部のデータを暗号化する暗号化方式は非対称暗号化方式の秘密鍵によって暗号化する暗号化方式であることを特徴とする請求項１０記載の時刻保証方式。
【請求項１２】
請求項７、８、９、１０、１１のいずれか２つ以上の方式によって電子データパターンデータを作成することを特徴とする請求項１記載の時刻保証方式。
【請求項１３】
請求項１の時刻保証方式において、クライアントは予めサーバに前記時刻取得リクエストを送信してサーバより時刻データを取得して、前記電子データと時刻保証サーバから取得した前記時刻データを保持し、サーバはクライアントからの前記時刻取得リクエストによって送られてきた前記電子データパターンデータと前記時刻データを保持している状態において、クライアントは保持する前記電子データから前記電子データパターンデータを作成し、作成した前記電子データパターンデータを前記時刻データとともに時刻保証サーバに時刻検証リクエストを送信し、クライアントから時刻検証リクエストを受け取った時刻保証サーバは、保存してある前記電子データパターンデータを前記時刻データの組にクライアントが送信してきた前記電子データパターンデータを前記時刻データが存在するかどうかをチェックし、そのチェックした結果をクライアントに返すことを特徴とする時刻保証方式の時刻検証方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子データ化された時刻を保証する方式に関する。
【０００２】
【従来の技術】
一般に電子データにはそのデータの作成年月日や修正年月日といった時刻データが付与されているものが多い。あるいはそのデータの中に時刻を表す時刻データが含まれている場合も多い。
【０００３】
しかしながら前者の時刻データはその電子データを保持するシステムや、あるいはシステムの持つコマンド（例えばＵＮＩＸ（登録商標）オペレーティングシステムにおけるｔｏｕｃｈコマンドなど）によって容易に変更することができる。また後者の場合はユーザやプログラムがデータを編集することによってやはり容易に変更することが可能である。
【０００４】
このように従来、電子化されたデータに付与された時刻データが改竄されていないことを保証することは困難であった。
【０００５】
【発明が解決しようとする課題】
したがって、例えばある電子データが作成された時刻を確認したい場合でも、電子データに付与されている時刻データ自体の信頼性がないためそれができないという問題がある。これは、例えば複写機の使用カウンター値を元に課金を行うような場合、そのカウンター値など課金に関する情報を電子的に記録した時に、後でその電子データを悪意を持った者が時刻データも含めて改竄することが可能であるということを示している。またあるいはＵＳＡにおける特許システムのように、他者より先に発明を行ったことを示す必要がある場合などにおいて、電子化されたデータを用いて発明を行った日時を示すといったことも困難であることを示している。
【０００６】
電子データの時刻データを暗号化、例えば公知の非対称暗号化方式における秘匿鍵によって暗号化する方法なども考えられるが、同じ手法で別の時刻を表す暗号データに置き換えられてもそれを検証する方法がないという問題がある。あるいは、電子データとその時刻データを全て暗号化してしまう方法も考えられるが、この場合単に電子データの閲覧目的で時刻データの検証を特に必要としない場合にも暗号化されたデータの復号処理が必要となりデータの閲覧時に利便性が低くなる。また閲覧した結果の復号された電子データと改竄された時刻データとを用いて同じ手法で暗号化されたデータを作成して、そのデータに置き換えられた場合にやはり検証できないという問題がある。
【０００７】
【課題を解決するための手段】
上記問題を解決するために本発明による時刻保証方式は以下の構成を備える。すなわち、通信路上に時刻保証サーバとクライアントとなる機器があるシステムにおいて、クライアントは保持する電子データから電子データパターンデータを作成し、作成した前記電子データパターンデータとともに時刻保証サーバにリクエストを送信し、クライアントからリクエストを受け取った時刻保証サーバは、時刻を得て、リクエスト内部に含まれる電子データパターンデータを前記時刻とともに記録し、前記時刻から生成した時刻データをクライアントに送信し、クライアントは、時刻保証サーバが送信した前記時刻データを前記電子データとともに保存する。
【０００８】
あるいは、クライアントは予めサーバに前記時刻取得リクエストを送信してサーバより時刻データを取得して、前記電子データと時刻保証サーバから取得した前記時刻データを保持し、サーバはクライアントからの前記時刻取得リクエストによって送られてきた前記電子データパターンデータと前記時刻データを保持している状態において、クライアントは保持する前記電子データから前記電子データパターンデータを作成し、作成した前記電子データパターンデータを前記時刻データとともに時刻保証サーバに時刻検証リクエストを送信し、クライアントから時刻検証リクエストを受け取った時刻保証サーバは、保存してある前記電子データパターンデータを前記時刻データの組にクライアントが送信してきた前記電子データパターンデータを前記時刻データが存在するかどうかをチェックし、そのチェックした結果をクライアントに返す。
【０００９】
【発明の実施の形態】
（実施例１）
以下、本発明による一実施形態を、図面を参照して詳細に説明する。
【００１０】
図１はインターネットに代表されるネットワーク上に複数のコンピュータが接続されている様子を示す図である。図１において、１１０は通信路であり、公知のイーサネット（登録商標）やあるいは電話回線網などで構成される、１００は時刻保証サーバ・コンピュータであり、本発明による時刻保証サーバ機能を実現するために必要なソフトウェアが実行されている。１０１はクライアント・コンピュータであり、本発明による時刻保証方式のクライアント側で必要なソフトウェアが実行されている。
【００１１】
図２は、図１の１００或いは１０１等の本発明による時刻保証方式を実現するプログラムが実行されるコンピュータシステムの構成を示すブロック図である。２０１はＣＰＵで、システム全体の制御などを行っている。２０２はキーボードで、２０１ａのマウスと共にシステムに情報などを入力するために使用される。２０３は表示部で、ＣＲＴや液晶ディスプレイなどで構成されている。２０４はＲＯＭ、２０５はＲＡＭで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。２０６はハードディスク装置、２０７はフロッピー（登録商標）・ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。２０８はプリンタである。２０９はネットワークインターフェースであり、ネットワークとの接続を制御する。このネットワークインターフェースは例えばイーサネット（登録商標）コントローラなどが代表的であるが、この他にも公知のモデム、や無線ＬＡＮシステムなどの接続を制御する機器もしくはソフトウェアなどでも構わない。
【００１２】
図３は本発明による時刻保証方式における時刻保証サーバとクライアントとの通信手順を表す図である。図３における１００はサーバ、１０１はクライアントであり、図１の同じ番号のものと同一である。
【００１３】
まず、クライアント１０１は時刻保証の対象となるデータより電子データパターンデータを作成する。
【００１４】
電子データパターンデータとは元の電子データをある程度認識するために十分なデータであれば任意の方式でよい。例えば、対象の電子データ全体もしくは一部そのものであっても良いし、あるいは対象の電子データ全体もしくは一部を公知の暗号化方式、特に非対称暗号化方式における秘密鍵によって暗号化したようなものでもよい。またあるいは、対象の電子データ全体もしくは一部から例えばＣＲＣなど公知のチェックサム方式で算出したチェックサムデータであってもよい。さらには、対象の電子データ全体もしくは一部のデータを幾つかのブロックに分割し、各ブロックに対してチェックサム処理を行って得たチェックサムデータ列であっても良い。
【００１５】
本実施例では、対象の電子データを幾つかのブロックに分割し、各ブロックに対してチェックサム処理を行って得られたチェックサムデータ列を電子データパターンデータとして用いることにする。
【００１６】
データの分割方法は任意であるが、本実施例では対象の電子データを予め定めた大きさで分割（例えば１０２４ｂｙｔｅ）して、最後のブロックが予め定めた大きさに満たない場合もそのまま１ブロックとして取り扱うものとする。この分割の例を示すのが図５である。
【００１７】
図５の５０１は対象の電子データであり、本例では１０２４Ｂｙｔｅで分割されている。また５０２は電子データ５０１を分割した各ブロックより生成されたチェックサムデータ列を表している。
【００１８】
次に、クライアント１０１は生成した電子データパターンデータとともに時刻取得リクエストをサーバ１００に送信する。サーバ１００とクライアント１０１の間の通信方式は任意のもので構わない。また、送信される時刻取得リクエストは少なくとも電子データパターンデータを含むものであれば任意の形式のもので良い。
【００１９】
次に、クライアント１０１からの時刻取得リクエストを受け取ったサーバ１００はまず時刻を取得して（Ｓ３０３）、時刻データを生成する（Ｓ３０４）。時刻データは少なくとも時刻を表すデータ、例えば、
２０００．０５．０９．１５：５５：０７  ＪＳＴ
といった文字列などを含むものであれば任意のもので良い。本実施例では時刻データはこの文字列に加えてサーバ１００内部で一意な識別子（ＩＤ）を付与したものであるとする。例えば今、識別子が１００である場合、
１００    ２０００．０５．０９．１５：５５：０７  ＪＳＴ
といった文字列であっても良い。
【００２０】
またあるいは、この文字列を公知の暗号化方式で暗号化しても良い。特に、公知の非対称暗号化方式の秘密鍵による暗号化を行った場合、このデータは最終的にクライアントに返されるので、クライアント側での改竄をある程度防ぐことができるという利得もあるが、本発明による時刻保証方式では必須ではないのでここでは省略する。
【００２１】
次にサーバ１００はＳ３０４で生成した時刻データとクライアント１０１が送信してきた電子データパターンデータを保存する（Ｓ３０５）。時刻データと電子データパターンデータは互いに関連付けられる必要がある。これらのデータの管理に公知のデータベースシステムなどを用いるのでも良いし、例えば単純に
１００    ２０００．０５．０９．１５：５５：０７  ＪＳＴ  チェックサム１，  チェックサム２，  ．．．．  ，  チェックサムＮ
というような形式でファイルに保存するのでも良い。本実施例では例えば図６のようなファイルを作成して保存するものとする。図６の６０１でＣＳチェックサムの意味である。
【００２２】
次に、サーバ１００は時刻データをクライアント１０１に送信する（Ｓ３０６）。この時のサーバ１００とクライアント１０１の間の通信方式も任意のもので構わない。また、送信される応答は少なくとも時刻データを含むものであれば任意の形式のもので良い。
【００２３】
最後にクライアント１０１はサーバ１００が返す時刻データを受け取り保存する（Ｓ３０７）。保存の方式は任意であるが、少なくとも電子データ側から時刻データを参照できる必要がある。そのために公知のデータベースシステムなどを用いて管理するのでも良いし、あるいは電子データに時刻データを接合したり挿入したりするのでも良い。またあるいは、時刻データをファイルに保存する場合のファイル名に元の電子データのファイル名と何らかの関連付けをするのでも良い。本例では単純に元の電子データの末尾に時刻データを接合させるものとする。
【００２４】
（実施例２）
第二の実施例では、第一の実施例でクライアントが得た時刻データを検証する場合の処理について述べる。本例の説明では、第一の実施例で説明した部分については省略する。
【００２５】
図４は第一の実施例でクライアントが得た時刻データを検証する場合の処理の流れを示す図である。図４の１００はサーバ、１０１はクライアントであり図１と同番号になっている。
【００２６】
まず、Ｓ４０１でクライアント１０１は時刻を検証したい電子データと時刻データを取り出す。第一の実施例で述べた方法では、電子データの末尾に時刻データを接合させたので、本例では、時刻データが接合した電子データを、元の電子データと時刻データに分離することにより時刻データを得るものとする。時刻データの形式については実施例１で説明したのでここでは省略する。
【００２７】
次に、Ｓ４０２では電子データパターンデータを作成する。Ｓ４０２の処理は第一の実施例で説明した図３のＳ３０１と同一である必要がある。
【００２８】
続いて、Ｓ４０３でクライアント１０１は時刻検証リクエストをサーバ１００に対して送信する。サーバ１００とクライアント１０１の間の通信方式は任意のもので構わない。また、送信される時刻検証リクエストは少なくとも電子データパターンデータと時刻データを含むものであれば任意の形式のもので良い。
【００２９】
クライアント１０１から時刻検証リクエストを受け取ったサーバ１００はクライアントが送ってきた時刻データと電子データパターンデータの組み合わせが、自分が保持しているデータ一覧に存在するかどうかを調べる。自分が保持しているデータとは、第一の実施例のＳ３０５で説明した過去に受けた時刻取得リクエストに応じて時刻データと電子データパターンデータの対応データのことであり、第一の実施例においては図６にて説明したものである。
【００３０】
したがって、ここではクライアント１０１が送信してきた時刻検証リクエスト内に記述されている電子データパターンと時刻データの組が、図６の６０１にあるかどうかを判定する。第一の実施例および本例の場合、時刻データにはサーバ１００内部で一意である識別子が付与されているので、例えば図６の６０１の各行について識別子が一致するものがあるかどうかを調べる。識別子が一致するものが見つかったならば、さらに時刻を表す文字列と電子データパターンデータであるチェックサムデータ列が両方とも一致するかどうかを調べる。時刻を表す文字列とチェックサムデータ列が両方とも一致した場合、サーバ１００はクライアント１０１が送信してきた検証リクエストは正しいと判断する。一方、識別子が一致するものが見つからなかったり、あるいは時刻を表す文字列とチェックサムデータ列の少なくともいずれかが一致しなかった場合には、サーバ１００はクライアント１０１が送信してきた検証リクエストは正しくないと判断する。その判断結果を元に、検証結果として送信するデータを作成（Ｓ４０５）し、さらにクライアント１０１に送信する（Ｓ４０６）。Ｓ４０５で作成し、Ｓ４０６で送信するデータの形式は検証の正否を示すデータを含むものであれば任意のもので良い。
【００３１】
最後にクライアント１０１はサーバからの検証結果を受け取り処理は終了する（Ｓ４０７）。
【００３２】
【発明の効果】
以上説明したように、本発明によれば通信路上に時刻保証サーバとクライアントとなる機器があるシステムにおいて、クライアントは保持する電子データから電子データパターンデータを作成し、作成した前記電子データパターンデータとともに時刻保証サーバに時刻取得リクエストを送信し、クライアントから時刻取得リクエストを受け取った時刻保証サーバは、時刻を得て時刻データを生成し、リクエスト内部に含まれる前記電子データパターンデータを前記時刻データとともに記録し、さらに前記時刻データをクライアントに送信し、クライアントは、時刻保証サーバが送信した前記時刻データを前記電子データとともに保存する。
【００３３】
さらに、クライアントは予めサーバに前記時刻取得リクエストを送信してサーバより時刻データを取得して、前記電子データと時刻保証サーバから取得した前記時刻データを保持し、サーバはクライアントからの前記時刻取得リクエストによって送られてきた前記電子データパターンデータと前記時刻データを保持している状態において、クライアントは保持する前記電子データから前記電子データパターンデータを作成し、作成した前記電子データパターンデータを前記時刻データとともに時刻保証サーバに時刻検証リクエストを送信し、クライアントから時刻検証リクエストを受け取った時刻保証サーバは、保存してある前記電子データパターンデータを前記時刻データの組にクライアントが送信してきた前記電子データパターンデータを前記時刻データが存在するかどうかをチェックし、そのチェックした結果をクライアントに返すことにより、クライアントが持つ電子データの持つ時刻データの検証を行うことができる。
【図面の簡単な説明】
【図１】システム全体の構成図
【図２】コンピュータシステムの構成を示す図
【図３】第一の実施例における処理の流れを示す図
【図４】第二の実施例における処理の流れを示す図
【図５】電子データパターンデータ作成の一例を示す図
【図６】サーバ側で電子データパターンデータと時刻データとの管理方式の一例を示す図
【符号の説明】
１０２  マウス
２０１  ＣＰＵ
２０２  キーボード
２０３  表示部
２０４  ＲＯＭ
２０５  ＲＡＭ
２０６  ハードディスク
２０７  フロッピー（登録商標）ディスク
２０８  プリンタ
【図１】
2004328042.tif 000003
【図２】
2004328042.tif 000004
【図３】
2004328042.tif 000005
【図４】
2004328042.tif 000006
【図５】
2004328042.tif 000007
【図６】
2004328042.tif 000008