(57)【要約】【課題】署名対象電子データ内の日時データと、タイムスタンプの日時データが一致しないため、電子データの作成時刻の信憑性が疑わしいものとなり、正当な方法でタイムスタンプを押していたとしても、第三者に対する信頼度が低くなるという問題があった。【解決手段】タイムスタンプ要求手段７がタイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子文書データファイル４の署名情報を、タイムスタンプサーバコンピュータ２へ送信し、タイムスタンプサーバコンピュータ２から発行可能日時が日時データとして付与された、タイムスタンプデータを受け取り、タイムスタンプ発行手段１２がクライアントコンピュータ１から発行可能日時情報と署名情報とを受け取り、発行可能日時を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータをクライアントコンピュータ１に送信するものである。【選択図】        図１
2004248154.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータと、このタイムスタンプサーバコンピュータにタイムスタンプの発行を要求するクライアントコンピュータとで構成されるタイムスタンプシステムであって、
上記タイムスタンプサーバコンピュータがタイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子文書データファイルの署名情報を、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータから上記発行可能日時が日時データとして付与された、タイムスタンプデータを受け取るタイムスタンプ要求手段
を備えたクライアントコンピュータ、
上記クライアントコンピュータから上記発行可能日時情報と署名情報とを受け取り、上記発行可能日時を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段
を備えたタイムスタンプサーバコンピュータ
を有することを特徴とするタイムスタンプシステム。
【請求項２】
送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータに、タイムスタンプの発行を要求するタイムスタンプシステムであって、
上記タイムスタンプサーバコンピュータがタイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子文書データファイルの署名情報を、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータから上記発行可能日時が日時データとして付与された、タイムスタンプデータを受け取るタイムスタンプ要求手段
を備えたことを特徴とするタイムスタンプシステム。
【請求項３】
クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプシステムであって、
上記クライアントコンピュータから、タイムスタンプデータに付与可能な日時データである発行可能日時情報と署名情報とを受け取り、上記発行可能日時になるまで、上記署名情報を署名データ格納ファイルに格納し、システム時刻が上記発行可能日時となったとき上記発行可能日時を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段と、
を備えたことを特徴とするタイムスタンプシステム。
【請求項４】
クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータと、このタイムスタンプサーバにタイムスタンプの発行を要求するクライアントコンピュータとで構成されるタイムスタンプシステムであって、
タイムスタンプの発行を予約する旨を上記タイムスタンプサーバコンピュータに通知し、上記タイムスタンプサーバコンピュータが発行するタイムスタンプデータを構成する日時データを、予約時刻として受け取るタイムスタンプ予約手段と、
上記予約時刻と同一になるように日時データを登録した、電子文書データファイルの署名情報を上記予約時刻情報とともに、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータからタイムスタンプデータを受け取るタイムスタンプ要求手段と
を備えたクライアントコンピュータ、
上記クライアントコンピュータからタイムスタンプの発行予約を受け付け、タイムスタンプデータに付与可能な日時データを予約時刻として上記クライアントコンピュータに送信する予約確定手段と、
上記クライアントコンピュータから上記予約時刻情報と署名情報とを受け取り、上記予約時刻を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段と
を備えたタイムスタンプサーバコンピュータ
を有することを特徴とするタイムスタンプシステム。
【請求項５】
送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータに、タイムスタンプの発行を要求するタイムスタンプシステムであって、
タイムスタンプの発行を予約する旨を上記タイムスタンプサーバコンピュータに通知し、上記タイムスタンプサーバコンピュータからタイムスタンプデータを構成する日時データを予約時刻として受け取るタイムスタンプ予約手段と、
上記予約時刻と同一になるように日時データを登録した、電子文書データファイルの署名情報を上記予約時刻情報とともに、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータからタイムスタンプデータを受け取るタイムスタンプ要求手段とを備え、
上記タイムスタンプ予約手段は上記タイムスタンプコンピュータから受け取った、上記予約時刻情報と、上記電子文書データファイル名とを予約情報ファイルに格納し、上記タイムスタンプ要求手段は上記予約情報ファイルに格納された上記予約時刻に基づき、該当する署名情報を上記予約時刻とともに上記タイムスタンプサーバコンピュータへ送信することを特徴とするタイムスタンプシステム。
【請求項６】
クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプシステムであって、
上記クライアントコンピュータからタイムスタンプの発行予約を受け付け、タイムスタンプデータに付与可能な日時データを予約時刻として上記クライアントコンピュータに送信する予約確定手段と、
上記クライアントコンピュータから上記予約時刻情報と署名情報とを受け取り、上記予約時刻を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段と
を備えたことを特徴とするタイムスタンプシステム。
【請求項７】
さらに、上記予約時刻または発行可能日時と同一になるように日時データを登録した、電子文書ファイルに上記日時データが登録されたことを確認した後、署名情報を付加するデータ編集手段を
備えたことを特徴とする、請求項１，２，４，５のいずれかに記載のタイムスタンプシステム。
【請求項８】
さらに、上記データ編集手段は、上記タイムスタンプ要求手段が受け取ったタイムスタンプデータを、上記電子文書データファイルに付加することを特徴とする、請求項７に記載のタイムスタンプシステム。
【請求項９】
送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータに、タイムスタンプの発行を要求するタイムスタンプ方法を、コンピュータに実行させるためのプログラムであって、
上記タイムスタンプサーバコンピュータがタイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子文書データファイルの署名情報を、上記タイムスタンプサーバコンピュータへ送信するタイムスタンプ要求ステップと、
上記タイムスタンプサーバコンピュータから上記発行可能日時が日時データとして付与された、タイムスタンプデータを受け取るタイムスタンプ取得ステップと
を実行させるためのプログラム。
【請求項１０】
送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータに、タイムスタンプの発行を要求するタイムスタンプ方法を、コンピュータに実行させるためのプログラムであって、
タイムスタンプの発行を予約する旨を上記タイムスタンプサーバコンピュータに通知する予約ステップと、
上記タイムスタンプサーバコンピュータからタイムスタンプデータを構成する日時データを予約時刻として受け取る予約確定ステップと、
上記予約時刻と同一になるように日時データを登録した、電子文書データファイルの署名情報を上記予約時刻情報とともに、上記タイムスタンプサーバコンピュータへ送信するタイムスタンプ要求ステップと、
上記タイムスタンプサーバコンピュータからタイムスタンプデータを受け取るタイムスタンプ取得ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、電子署名システムのタイムスタンプにかかり、署名対象電子文書データファイル内の日時データと、タイムスタンプの日時データとを一致させるタイムスタンプシステム及びそれをコンピュータに実行させるプログラムに関するものである。
【０００２】
【従来の技術】
電子署名とは、所定のハッシュ関数を用いて所定の電子文書データファイル（以下、電子データ）を暗号化し、得られた署名情報（署名データ）を該当の電子データに付加することである。デジタル署名と呼ばれることもある。電子署名により、電子データの正当性が保証され、改竄の有無を確認することができる。
【０００３】
また、認証機関による「タイムスタンピングサービス」と呼ばれる、電子署名がされた日時を証明するサービスがある。これは署名情報に日時データを付与し、その日時にその電子データが存在していたことと、その存在していた状態とを証明する。この署名情報に日時データを付与することを、「タイムスタンプを押す」または「タイムスタンプを発行する」と言い、署名情報に日時データを付与したタイムスタンプデータは、電子データに付加される。また、署名情報に有効期限が定められていたとき、その有効期限をタイムスタンプにて確認することもできる。電子署名をした本人が使用しているパソコン等ではなく、このように認証機関がタイプスタンプを押すことで、認証の信頼度が高まる。
【０００４】
図１２は、従来のタイムスタンプサーバのシステム構成図である。図１２に示すように、クライアント３１から「署名付き電子データ４２」をタイムスタンプサーバ３２に送信し、タイムスタンプサーバ３２でタイムスタンプが押された、「タイムスタンプつき電子データ４３」がクライアント３１に返信される。動作を説明する。
（１）エディタ３３で電子データを編集し、必要な時刻データを書き込む。この時刻データは、クロック３４を参照して得られるクライアント３１が保持する時刻に基づく。この時刻データとしては、電子データの作成時刻を示す、日時情報（例えば、２００３年２月１日、２００３年２月１日１０：１０：      ３０等）や時刻データを含む印影などが考えられる。
（２）エディタ３３は（１）の電子データに所定のハッシュ関数を用いて、電子
署名を行う。署名付き電子データ４２の作成する。
（３）タイムスタンプ要求手段３６が署名付き電子データ４２へのタイムスタンプを要求し、データ送受信手段３７が署名付き電子データ４２をデータ送
受信手段３９へ送信。
（４）データ送受信手段３９が署名付き電子データ４２を受け付け、タイムスタンプ発行手段４０がクロック４１に基づくタイムスタンプデータを作成。（５）データ送受信手段３９がタイムスタンプ付き電子データ４３をデータ送受信手段３７へ送信。エディタ３３は、必要に応じて、タイムスタンプ付き
電子データ４３を記憶装置（図示せず）に記憶する。
【０００５】
また特開２００２−１８２５６２号公報記載の日時情報設定装置によると、図１及び８に記載されているようにクライアントで署名をし、タイムスタンプを押している（発行している）。
【０００６】
【特許文献１】
特開２００２−１８２５６２号公報
【０００７】
【発明が解決しようとする課題】
特開２００２−１８２５６２号公報記載の技術では、クライアントでタイムスタンプを押しているため、その信頼度が疑わしいこともあった。信頼度を高めるために、クライアントではなく、信頼できる認証機関がタイプスタンプを押すように構成することが望ましい。
【０００８】
だが、この図１２に示したような従来技術でのタイムスタンプサーバ（認証機関が有する）では、クライアント側のエディタ３３で電子データに時刻データ（日時を含むデータ）を書き込んだとき、その時刻データとタイムスタンプデータ（日時データ）が一致しないという問題があった。上述したとおり、電子データの時刻データは、電子データの作成時刻を示す、日時情報や印影などである。言いかえると、時刻データは直視できる署名情報と言える。ところがこの時刻データとタイムスタンプデータとが一致しないと、電子データの作成時刻の信憑性が疑わしいものとなり、正当な方法でタイムスタンプを押していたとしても、第三者に対する信頼度が低くなるという問題があった。
時刻データとタイムスタンプデータが一致しない理由としては、次のことが考えられる。
（１）時刻データはクライアントのシステム時刻に基づき、タイムスタンプデータの日時データはタイムスタンプサーバのシステム時刻に基づく。図２０で説明すると、クライアント３１ではクロック３４、タイムスタンプサーバ３２ではクロック４１の時刻に基づく。このとき、クロック３４とクロック４１の時刻が合っていないと、時刻データとタイムスタンプデータと
は一致しない。
（２）また、（１）でクロック３４とクロック４１の時刻が合っていたとしても、クライアント３１とタイムスタンプサーバ３２とでデータを送受信する時間、またタイムスタンプサーバ３２での処理時間がかかるので、その分
タイムスタンプデータが時刻データより遅くなる。
【０００９】
この発明はかかる問題点を解決するためになされたものであり、署名対象電子データ内の日時データと、タイムスタンプの日時データとを一致させるタイムスタンプシステム及びそれをコンピュータに実行させるプログラムを得ることを目的とする。
【００１０】
【課題を解決するための手段】
本発明に係るタイムスタンプシステムは、クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータと、このタイムスタンプサーバコンピュータにタイムスタンプの発行を要求するクライアントコンピュータとで構成されるタイムスタンプシステムであって、上記タイムスタンプサーバコンピュータがタイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子文書データファイルの署名情報を、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータから上記発行可能日時が日時データとして付与された、タイムスタンプデータを受け取るタイムスタンプ要求手段を備えたクライアントコンピュータ、上記クライアントコンピュータから上記発行可能日時情報と署名情報とを受け取り、上記発行可能日時を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段を備えたタイムスタンプサーバコンピュータを有するものである。
【００１１】
また本発明に係るタイムスタンプシステムは、送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータに、タイムスタンプの発行を要求するタイムスタンプシステムであって、上記タイムスタンプサーバコンピュータがタイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子文書データファイルの署名情報を、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータから上記発行可能日時が日時データとして付与された、タイムスタンプデータを受け取るタイムスタンプ要求手段を備えたものである。
【００１２】
また本発明に係るタイムスタンプシステムは、クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプシステムであって、上記クライアントコンピュータから、タイムスタンプデータに付与可能な日時データである発行可能日時情報と署名情報とを受け取り、上記発行可能日時になるまで、上記署名情報を署名データ格納ファイルに格納し、システム時刻が上記発行可能日時となったとき上記発行可能日時を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段とを備えたものである。
【００１３】
また本発明に係るタイムスタンプシステムは、クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータと、このタイムスタンプサーバにタイムスタンプの発行を要求するクライアントコンピュータとで構成されるタイムスタンプシステムであって、タイムスタンプの発行を予約する旨を上記タイムスタンプサーバコンピュータに通知し、上記タイムスタンプサーバコンピュータが発行するタイムスタンプデータを構成する日時データを、予約時刻として受け取るタイムスタンプ予約手段と、上記予約時刻と同一になるように日時データを登録した、電子文書データファイルの署名情報を上記予約時刻情報とともに、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータからタイムスタンプデータを受け取るタイムスタンプ要求手段とを備えたクライアントコンピュータ、上記クライアントコンピュータからタイムスタンプの発行予約を受け付け、タイムスタンプデータに付与可能な日時データを予約時刻として上記クライアントコンピュータに送信する予約確定手段と、上記クライアントコンピュータから上記予約時刻情報と署名情報とを受け取り、上記予約時刻を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段とを備えたタイムスタンプサーバコンピュータを有するものである。
【００１４】
また本発明に係るタイムスタンプシステムは、送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプサーバコンピュータに、タイムスタンプの発行を要求するタイムスタンプシステムであって、タイムスタンプの発行を予約する旨を上記タイムスタンプサーバコンピュータに通知し、上記タイムスタンプサーバコンピュータからタイムスタンプデータを構成する日時データを予約時刻として受け取るタイムスタンプ予約手段と、上記予約時刻と同一になるように日時データを登録した、電子文書データファイルの署名情報を上記予約時刻情報とともに、上記タイムスタンプサーバコンピュータへ送信し、上記タイムスタンプサーバコンピュータからタイムスタンプデータを受け取るタイムスタンプ要求手段とを備え、上記タイムスタンプ予約手段は上記タイムスタンプコンピュータから受け取った、上記予約時刻情報と、上記電子文書データファイル名とを予約情報ファイルに格納し、上記タイムスタンプ要求手段は上記予約情報ファイルに格納された上記予約時刻に基づき、該当する署名情報を上記予約時刻とともに上記タイムスタンプサーバコンピュータへ送信することを特徴とするものである。
【００１５】
また本発明に係るタイムスタンプシステムは、クライアントコンピュータから送信された署名情報に日時データを付加したタイムスタンプデータを作成するタイムスタンプシステムであって、上記クライアントコンピュータからタイムスタンプの発行予約を受け付け、タイムスタンプデータに付与可能な日時データを予約時刻として上記クライアントコンピュータに送信する予約確定手段と、上記クライアントコンピュータから上記予約時刻情報と署名情報とを受け取り、上記予約時刻を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータを上記クライアントコンピュータに送信するタイムスタンプ発行手段とを備えたことを特徴とするものである。
【００１６】
また、上記予約時刻または発行可能日時と同一になるように日時データを登録した、電子文書ファイルに上記日時データが登録されたことを確認した後、署名情報を付加するデータ編集手段を備えたことを特徴とするものである。
【００１７】
また、上記データ編集手段は、上記タイムスタンプ要求手段が受け取ったタイムスタンプデータを、上記電子文書データファイルに付加することを特徴とするものである。
【００１８】
本発明に係るコンピュータに、タイムスタンプ方法を実行させるためのプログラムは、上記タイムスタンプサーバコンピュータがタイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子文書データファイルの署名情報を、上記タイムスタンプサーバコンピュータへ送信するタイムスタンプ要求ステップと、上記タイムスタンプサーバコンピュータから上記発行可能日時が日時データとして付与された、タイムスタンプデータを受け取るタイムスタンプ取得ステップとを備えたものである。
【００１９】
本発明に係るコンピュータに、タイムスタンプ方法を実行させるためのプログラムは、タイムスタンプの発行を予約する旨を上記タイムスタンプサーバコンピュータに通知する予約ステップと、上記タイムスタンプサーバコンピュータからタイムスタンプデータを構成する日時データを予約時刻として受け取る予約確定ステップと、上記予約時刻と同一になるように日時データを登録した、電子文書データファイルの署名情報を上記予約時刻情報とともに、上記タイムスタンプサーバコンピュータへ送信するタイムスタンプ要求ステップと、上記タイムスタンプサーバコンピュータからタイムスタンプデータを受け取るタイムスタンプ取得ステップとを備えたものである。
【００２０】
【発明の実施の形態】
実施の形態１．
図１は、本実施の形態におけるタイムスタンプシステムの構成を示したものである。クライアントコンピュータ１（以下、クライアント１）は、タイムスタンプサーバコンピュータ２（以下、タイムスタンプサーバ２）にタイムスタンプの発行を要求し、タイムスタンプデータを受け取る。タイムスタンプサーバ２は、クライアント１のタイムスタンプ発行の要求に基づき、送信された署名情報（以下、署名データ）に日時データを付加したタイムスタンプデータを作成する。タイムスタンプサーバ２は、信頼できる認証機関等が有しているものとし、クライアント１では署名者（編集者）が電子データの編集、署名をし、タイムスタンプが押された電子データ（タイムスタンプ付き電子データ）を必要に応じて、保管または第三者に渡す。さらに、タイムスタンプサーバ２は、複数のクライアント１からタイムスタンプ発行の要求を受け付け、タイムスタンプを発行することができる。
【００２１】
本実施の形態では、タイムスタンプサーバ２がタイムスタンプを発行可能とする発行可能日時をクライアント１から指定して、タイムスタンプの発行を要求する。発行可能日時は、現在の時刻に、通信に要する時間、タイムスタンプ発行までの処理に要する時間等を加算した時刻であり、この処理時間は予めクライアント１とタイムスタンプサーバ２との間で、決められた時間である。
【００２２】
図１において、クライアント１は、次の構成を有する。データ編集手段３は、編集対象の電子データ４を読み込み、適宜編集する。署名手段５は、データ編集手段３の要求に応じて、電子データ４に署名データを付加し、日付データ登録手段６は、データ編集手段３の要求に応じて、電子データ４に日時データを登録する。
【００２３】
タイムスタンプ要求手段７は、クロック８を参照しながら、タイムスタンプを発行可能とする発行可能日時と同一になるように日時データを登録した、電子データの署名情報を日時データとともに、タイムスタンプサーバ２へ送信し、タイムスタンプサーバ２から上記発行可能日時が日時データとして付与された、タイムスタンプデータを受け取る。
【００２４】
さらに、データ送受信手段９は、タイムスタンプサーバ２とデータの送受信を行い、タイムスタンプ付き電子データ１０は、データ編集手段３が、受け取ったタイムスタンプデータを、日付データが登録された電子データ４に付加したものである。
【００２５】
またタイムスタンプサーバ２は、次の構成を有する。データ送受信手段１１は、クライアント１とデータの送受信を行う。タイムスタンプ発行手段１２は、クライアント１から日時データ及び署名データを受け取り、受け取った日時データ及び署名データを署名データ格納ファイル１３に順次格納する。またタイムスタンプ発行手段１２は、署名データ格納ファイル１３とクロック１４とを参照しながら、日時データがシステム時刻となった署名データに対して、その日時データを日時情報としてタイムスタンプデータを作成する。
【００２６】
図２は、署名データ格納ファイル１３の構成を示した図である。図２に示すように、署名データ格納ファイル１３には「予約ＩＤ」、「クライアントＩＤ」、「署名データ」、「日時データ」が登録されている。「クライアントＩＤ」は、クライアント１を特定する一意のものであり、タイムスタンプデータを送信するときに必要となる。また「署名データ」は、図２では簡略化して記載しているが、電子データを所定ハッシュ関数を用いて暗号化したデータである。タイムスタンプ発行手段１２は、複数のクライアント１から日時データ及び署名データを受け取ると、順次署名データ格納ファイル１３にその情報を格納する。
【００２７】
図３は、本実施の形態におけるタイムスタンプ処理の流れを、クライアント１とタイムスタンプサーバ２の処理に分けて示した模式図である。タイムスタンプサーバ２でタイムスタンプが発行できないときの処理については、図４を用いて後述する。
（１）クライアント１
データ編集手段３は電子データ４を編集し、署名者（編集者）の電子データ４へのタイムスタンプ発行の要求に基づき、タイムスタンプ要求手段７にタイムスタンプ発行の要求をする。タイムスタンプ要求手段７から通知された日時データに基づき、日付データ登録手段５に対して、電子データ３に日時データを登録することを要求する。その後、署名手段４に対して、電子デー
タ３に署名データを付加することを要求する。
（２）クライアント１
タイムスタンプ要求手段７は、日時データ及び署名データをデータ送受信手段９を介して、タイムスタンプサーバ２へ送信する。
（３）タイムスタンプサーバ２
タイムスタンプ発行手段１２は、データ送受信手段１１を介して受信した、クライアントＩＤ、日時データ及び署名データを署名データ格納ファイル１３に格納する。またタイムスタンプ発行手段１２は、署名データ格納ファイル１３とクロック１４とを参照しながら、日時データがシステム時刻となった署名データに対して、その日時データを日時情報としてタイムスタンプデータを作成する。クライアント１にタイムスタンプデータを送信する。
（４）クライアント１
データ送受信手段９は、タイムスタンプデータを受け取り、タイムスタンプ要求手段７に渡す。タイムスタンプ要求手段７は、さらにデータ編集手段３にタイムスタンプデータに渡し、データ編集手段３は、タイムスタンプデータを電子データに付加する。
【００２８】
次に、タイムスタンプを発行する処理に関して、図４に示したフローチャートで説明する。図３で示した処理の流れの前半に相当する。データ編集手段３は、電子データ４を編集し、署名者（編集者）から電子データ４へのタイムスタンプ発行の要求を受付け、タイムスタンプ要求手段７に電子データ名を送付し、タイムスタンプの発行を要求する（ステップＳ１）。
【００２９】
タイムスタンプ要求手段７は、発行要求に基づき、タイムスタンプサーバ２へシステム時刻を問合せ、クライアント１のシステム時刻がタイムスタンプサーバ２のシステム時刻と同一になるように、クロック８を調整する。なおこの処理は、既に実施され、システム時刻の同期が取られているときは省略できる。タイムスタンプ要求手段７は、システム時刻に処理時間を加算した時刻を日時データとして、データ編集手段３に通知する（ステップＳ２）。処理時間とは、上述したとおり、通信に要する時間、タイムスタンプ発行までの処理に要する時間等を加算した時刻である。この処理時間は、予めクライアント１とタイムスタンプサーバ２との間で決められた一定時間であり、タイムスタンプ要求手段７が記憶している。
【００３０】
その後データ編集手段３は、通知された日時データに基づき、日付データ登録手段６に対して、電子データ４に日時データを登録することを要求（ステップＳ３）、署名手段５に対して、署名データを付加することを要求し、日時データ及び署名データをタイムスタンプ要求手段７に送信して、タイムスタンプの要求をする（ステップＳ４）。タイムスタンプ要求手段７は、クライアントＩＤ、日時データ及び署名データをデータ送受信手段９を介して、タイムスタンプサーバ２へ送信する（ステップＳ５）。
【００３１】
タイムスタンプ発行手段１２は、データ送受信手段１１を介して受信した、クライアントＩＤ、日時データ及び署名データを署名データ格納ファイル１３に格納する（ステップＳ６）。次にタイムスタンプ発行手段１２は、署名データ格納ファイル１３とクロック１４とを参照しながら、日時データがシステム時刻（システム時刻にタイムスタンプデータ作成時間を加算した時刻、以下同様）と同一となった署名データを検索し（ステップＳ７）、該当の署名データに、その日時データを日時情報として付加して、タイムスタンプデータを作成する。署名データ格納ファイル１３のクライアントＩＤに基づき、クライアント１にタイムスタンプデータを送信し（ステップＳ８）、タイムスタンプを発行する処理を終了する。
【００３２】
なおステップＳ７で、日時データがシステム時刻を超過している署名データを検索したときは、クライアント１にタイムスタンプデータが発行できなかった旨を通知し（ステップＳ９）、ステップＳ１からの処理に戻る。日時データがシステム時刻を超過してしまうのは、タイムスタンプ発行手段１２が同日時データを指定した別の署名データを処理していた、またはクライアント１から指定した処理時間（一定時間）以上に一連の処理時間を要した場合などが考えられる。このときは、クライアント側から再度、新しい日時データ及び署名データを送信する処理から始める。
【００３３】
またステップＳ７で、「システム時刻」を、「システム時刻にタイムスタンプデータ作成時間を加算した時刻」としているが、これはタイムスタンプ発行手段１２がタイムスタンプデータを作成するまでに、要する時間を考慮していているもので、その「タイムスタンプデータ作成時間」は予め定められている。「タイムスタンプデータ作成時間」を加算した時刻と、日時データとを比較することにより、日時データと同一のタイムスタンプデータを作成することができる。
【００３４】
次に、タイムスタンプ付きデータを作成する処理に関して、図５に示したフローチャートで説明する。図３で示した処理の流れの後半に相当する。データ送受信手段９は、タイムスタンプデータを受け取り、タイムスタンプ要求手段７に渡す（ステップＳ１１）。タイムスタンプ要求手段７は、さらにデータ編集手段３にタイムスタンプデータに渡す。データ編集手段３は、タイムスタンプデータを電子データ４に付加し、タイムスタンプ付き電子データ１０を作成する（ステップＳ１２）。
【００３５】
以上説明したように、本実施の形態によると、タイムスタンプサーバ２がタイムスタンプを発行可能とする発行可能日時をクライアント１から指定して、タイムスタンプの発行を要求する。この発行可能日時は、現在の時刻に、通信に要する時間、タイムスタンプ発行までの処理に要する時間等を加算した時刻であり、この処理時間は予めクライアント１とタイムスタンプサーバ２との間で、決められた時間を、タイムスタンプ要求手段７が記憶している。また、タイムスタンプ発行手段１２は、タイムスタンプデータ作成時間を考慮してタイムスタンプを発行するため、クライアント１から指定された、日時データでタイムスタンプを発行することができる。それにより、署名対象電子データ内の日時データと、タイムスタンプの日時データとを一致させることができる。
【００３６】
さらに、時刻データは直視できる署名情報と言えるが、この時刻データとタイムスタンプデータを一致させることにより、電子データの、第三者に対する信頼度を高めることができる。このように、本実施の形態によると、多少処理の遅延があったとしても、日時データとタイムスタンプの日時データを一致されたい証明書等の発行時には有用である。
【００３７】
また、クライアント１から日時データを指定するとき、処理時間だけではなく、署名者（編集者）の編集等に要する時間も考慮して、加算した日時データとすることができる。
【００３８】
さらにもし、日時データがシステム時刻を超過してしまい、タイムスタンプデータが発行できなかったときは、クライアント側から再度、新しい日時データ及び署名データを送信する処理から始めることができるので、タイムスタンプデータは必ず発行される。
【００３９】
また本実施の形態では、クライアント１側から送信するデータを署名データとしているが、これを署名付き電子データとして構成することもできる。このときは、タイムスタンプサーバ２からはタイムスタンプ付き電子データが送信されるのでクライアント１側で改めてタイムスタンプ付き電子データ１０を構成する必要はない。
【００４０】
実施の形態２．
本実施の形態で実施の形態１と異なるのは、クライアント１がタイムスタンプサーバ２にタイムスタンプの予約をし、取得した予約時刻と同一になるように、日時データを電子データに設定する点である。実施の形態１では、同一日時のタイムスタンプ発行要求が複数重なってしまったとき、タイムスタンプサーバ２は、全ての処理を完了することができないときがある。本実施の形態では、タイムスタンプサーバ２に予めタイムスタンプの発行を予約することで、タイムスタンプサーバ２は順次処理することができる。
【００４１】
図６は、本実施の形態におけるタイムスタンプシステムの構成を示したものである。図６において、実施の形態１で用いた図１と同一の構成については、同一符号を付している。
【００４２】
クライアント１は、次の構成を有する。データ編集手段３は、編集対象の電子データ４を読み込み、適宜編集する。署名手段５は、データ編集手段３の要求に応じて、電子データ４に署名データを付加し、日付データ登録手段６は、データ編集手段３の要求に応じて、電子データ４に日時データを登録する。タイムスタンプ予約手段２１は、タイムスタンプの発行を予約する旨をタイムスタンプサーバ２に通知し、タイムスタンプサーバ２が発行するタイムスタンプデータを構成する日時データを、予約時刻として受け取る。
【００４３】
さらに、データ送受信手段９は、タイムスタンプサーバ２とデータの送受信を行い、予約情報ファイル２２は、タイムスタンプ予約手段２１が受け取った予約ＩＤ、予約時刻、及び電子データ４の電子データ名を格納するファイルである。
【００４４】
タイムスタンプ要求手段７は、クロック８を参照しながら、予約時刻と同一になるように日時データを登録した、電子データの署名情報を予約時刻情報とともに、タイムスタンプサーバ２へ送信し、タイムスタンプサーバ２からタイムスタンプデータを受け取る。タイムスタンプ付き電子データ１０は、データ編集手段３が、受け取ったタイムスタンプデータを日付データが登録された、電子データ４に付加したものである。
【００４５】
またタイムスタンプサーバ２は、次の構成を有する。データ送受信手段１１は、クライアント１とデータの送受信を行う。予約確定手段２３は、クライアント１からタイムスタンプの発行予約を受け付け、予約ＩＤとタイムスタンプ時刻が格納された予約デーブルファイル２４及びクロック１４を参照しながら、タイムスタンプデータに付与可能な日時データである予約時刻を確定し、その予約ＩＤと予約時刻とをクライアント１に送信する。また予約確定手段２３は、通信に要する時間、タイムスタンプ発行までの処理に要する時間等を加算した、処理時間を考慮し、システム時刻にこの処理時間を加算した時刻を予約時刻とする。また処理時間は、クライアント１とタイムスタンプサーバ２との間で、予め決められた一定時間である。この処理時間（一定時間）を、処理時間ａとする。
【００４６】
タイムスタンプ発行手段１２は、クライアント１から予約ＩＤ、予約時刻及び署名データを受け取り、予約時刻を日時情報としてタイムスタンプデータを作成し、このタイムスタンプデータをクライアント１に送信する。
【００４７】
図７は、予約テーブルファイル２４の構成を示した図である。図７に示すように、予約テーブルファイル２４には「予約ＩＤ」、「タイムスタンプ時刻」が登録されている。タイムスタンプサーバ２は、タイムスタンプを順次発行するので、タイムスタンプデータはそれぞれ異なる日時データを有するようになる。予約確定手段２３は、「予約ＩＤ」のどこまで予約（発行済み含む）されているかの情報を記憶している。また、現在のシステム時刻をクロック１４から参照し、タイムスタンプデータに付与可能な日時データを、「タイムスタンプ時刻」から確定して、それを予約時刻としてクライアント１に送信する。
【００４８】
図８は、予約情報ファイル２２の構成を示した図である。図８に示すように、予約情報ファイル２２には「予約ＩＤ」、「予約時刻」、「電子データ名」が登録されている。データ編集手段３はタイムスタンプ予約手段２１にタイムスタンプの発行の予約を要求するが、そのとき該当する電子データ名を渡す。タイムスタンプ予約手段２１は、データ編集手段３の要求に基づきタイムスタンプの発行を予約し、タイムスタンプサーバ２から予約ＩＤ及び予約時刻を受け取る。タイムスタンプ予約手段２１は、記憶していた電子データ名、予約ＩＤ及び予約時刻を予約情報ファイル２２を格納する。このように、予約情報ファイル２２を構成することにより、署名者（編集者）は複数の電子データを同時に編集することが可能となる。
【００４９】
図９は、本実施の形態におけるタイムスタンプ処理の流れを、クライアント１とタイムスタンプサーバ２の処理に分けて示した模式図である。タイムスタンプサーバ２でタイムスタンプが発行できないときの処理については、図１０を用いて後述する。
（１）クライアント１
データ編集手段３は電子データ４を編集し、署名者（編集者）の電子データ４へのタイムスタンプ発行の要求に基づき、まずタイムスタンプ予約手段２１に電子データ名を送付する。タイムスタンプ予約手段２１は、データ送受信手段９を介して、タイムスタンプの予約の旨をタイムスタンプサーバ２へ送信する。このとき、予約であることを示す識別子と、クライアント１のクライアントＩＤとを送信する。
（２）タイムスタンプサーバ２
データ送受信手段１１は、クライアント１から予約であることを示す識別子と、クライアント１のクライアントＩＤとを受信すると、予約確定手段２３にその情報を渡す。予約確定手段２３は予約テーブルファイル２４、クロック１４を参照し、タイムスタンプデータに付与可能な日時データを、予約時刻として、予約ＩＤとともに、クライアント１に送信する。
（３）クライアント１
データ送受信手段９は、予約ＩＤ及び予約時刻を受信すると、その情報をタイムスタンプ予約手段２１に渡す。タイムスタンプ予約手段２１は、記憶していた電子データ名、渡された予約ＩＤ及び予約時刻を予約情報ファイル２２を格納する。
（４）クライアント１
データ編集手段３は、タイムスタンプ予約手段２１から予約時刻を受け取り、日付データ登録手段６に対して、電子データ４に日時データを登録することを要求する。その後、署名手段５に対して、電子データ４に署名データを付加することを要求する。
（５）クライアント１
タイムスタンプ要求手段７は、予約情報ファイル２２及びクロック８を参照しながら、予約時刻を確認する。予約時刻まで一定時間となったとき、該当署名データをデータ編集手段３により参照し、予約ＩＤ、予約時刻及び署名データをデータ送受信手段９を介して、タイムスタンプサーバ２へ送信する。
（６）タイムスタンプサーバ２
データ送受信手段１１は、クライアント１から予約ＩＤ、予約時刻及び署名データを受信すると、その情報をタイムスタンプ発行手段１２に渡す。タイムスタンプ発行手段１２は、予約時刻を日時情報としてタイムスタンプデータを作成し、データ送受信手段１１を介してこのタイムスタンプデータをクライアント１に送信する。
（７）クライアント１
データ送受信手段９は、タイムスタンプデータを受け取り、タイムスタンプ要求手段７に渡す。タイムスタンプ要求手段７は、さらにデータ編集手段３にタイムスタンプデータに渡し、データ編集手段３は、タイムスタンプデータを電子データに付加する。
【００５０】
次に、タイムスタンプ予約処理に関して、図１０に示したフローチャートで説明する。図９で示した処理の流れの前半に相当する。データ編集手段３は、電子データ４を編集し、署名者（編集者）から電子データ４へのタイムスタンプ発行の要求を受付け（ステップＳ２１）、タイムスタンプ予約手段２１に電子データ名を送付し、タイムスタンプの発行を要求する（ステップＳ２２）。タイムスタンプ予約手段２１は、データ送受信手段９を介して、タイムスタンプの予約の旨をタイムスタンプサーバ２へ送信する（ステップＳ２３）。このとき、予約であることを示す識別子と、クライアント１のクライアントＩＤとを送信する。
【００５１】
その後予約確定手段２３は、クライアント１からの予約要求であることを示す識別子と、クライアント１のクライアントＩＤとをデータ送受信手段１１から受信する。予約確定手段２３は、「予約ＩＤ」のどこまで予約（発行済み含む）されているかの情報を記憶している。また、現在のシステム時刻をクロック１４から参照し、タイムスタンプデータに付与可能な日時データを、予約テーブルファイル２４の「タイムスタンプ時刻」から確定して、それを予約時刻とする（ステップＳ２４）。具体的には、システム時刻に処理時間ａを加算した時刻と等しいか、それより遅く、近似の「タイムスタンプ時刻」が予約時刻となる。予約ＩＤ、予約時刻をクライアント１に送信する（ステップＳ２５）。
【００５２】
タイムスタンプ予約手段２１は、データ送受信手段９から予約ＩＤ及び予約時刻を渡され、記憶していた電子データ名、渡された予約ＩＤ及び予約時刻を予約情報ファイル２２を格納し（ステップＳ６）、タイムスタンプ予約処理は終了する。
【００５３】
次に、タイムスタンプ付きデータを作成する処理に関して、図１１に示したフローチャートで説明する。図９で示した処理の流れの後半に相当する。データ編集手段３は、タイムスタンプ予約手段２１から予約時刻を受け取り、日付データ登録手段６に対して、電子データ４に日時データを登録することを要求する（ステップＳ３１）。その後、データ編集手段３は、署名手段５に対して、電子データ３に署名データを付加することを要求する（ステップＳ３２）。
【００５４】
タイムスタンプ要求手段９は、予約情報ファイル８及びクロック１０を参照しながら、予約時刻を確認する。予約時刻まで一定時間となったとき、該当署名データをデータ編集手段３により参照し、予約ＩＤ、予約時刻及び署名データをデータ送受信手段９を介して、タイムスタンプサーバ２へ送信する（ステップＳ３３）。
【００５５】
このとき、一定時間とは、通信に要する時間、タイムスタンプ発行までの処理に要する時間等を加算した時刻である。この処理時間（一定時間）を処理時間ｂとする。処理時間ｂは予めクライアント１とタイムスタンプサーバ２との間で決められていて、タイムスタンプ要求手段７が記憶している。予約時刻まで処理時間ｂになったとき、署名データを送信するように構成することで、タイムスタンプ発行手段１６は、署名データを受け取ったら、即座にタイムスタンプデータを作成することができる。
【００５６】
次に、タイムスタンプ発行手段１２は、データ送受信手段１１を介してクライアント１から予約ＩＤ、予約時刻及び署名データを受信すると、受信した予約時刻がクロック１４に基づくシステム時刻（システム時刻にタイムスタンプデータ作成時間を加算した時刻、以下同様）より超過していないかを確認し（ステップＳ３４）、超過していないときは、システム時刻が予約時刻となるときに、タイムスタンプデータを作成し、データ送受信手段１１を介してこのタイムスタンプデータをクライアント１に送信する（ステップＳ３５）。
【００５７】
データ送受信手段９は、タイムスタンプデータを受け取り、タイムスタンプ要求手段７に渡す。タイムスタンプ要求手段７は、さらにデータ編集手段３にタイムスタンプデータに渡す。データ編集手段３は、タイムスタンプデータを電子データ４に付加し、タイムスタンプ付き電子データを作成する（ステップＳ３６）。
【００５８】
ステップＳ３４で、予約時刻がシステム時刻より超過していることを確認したときは、タイムスタンプデータを発行せず、クライアント１にタイムスタンプデータが発行できなかった旨を通知し、ステップＳ３１からの処理に戻る。予約時刻がシステム時刻を超過してしまうのは、予約時刻に含まれていた処理時間ａ以上に、一連の処理時間を要した場合などが考えられる。このときは、クライアント側から再度、新しい日時データ及び署名データを送信する処理から始める。
【００５９】
またステップＳ３４で、「システム時刻」を、「システム時刻にタイムスタンプデータ作成時間を加算した時刻」としているが、これは実施の形態１で上述したとおりである。
【００６０】
以上説明したように、本実施の形態によると、クライアント１がタイムスタンプサーバ２にタイムスタンプの予約をし、取得した予約時刻と同一になるように、日時データを電子データに設定し、その署名データに対してタイムスタンプの発行を要求する。それにより、署名対象電子データ内の日時データと、タイムスタンプの日時データとを一致させることができる。
【００６１】
また、予めタイムスタンプサーバ２へタイムスタンプ発行の予約をすることで、順次処理を行うことができ、処理重複による処理エラーを防ぐことができる。
【００６２】
さらにもし、予約時刻がシステム時刻を超過してしまい、タイムスタンプデータが発行できなかったときは、クライアント側から再度、新しい日時データ及び署名データを送信する処理から始めることができるので、タイムスタンプデータは必ず発行される。
【００６３】
また本実施の形態においても、クライアント１側から送信するデータを署名データとしているが、これを署名付き電子データとして構成することもできる。このときは、タイムスタンプサーバ２からはタイムスタンプ付き電子データが送信されるのでクライアント１側で改めてタイムスタンプ付き電子データ１０を構成する必要はない。
【００６４】
【発明の効果】
本発明は、以上説明したような構成を有するので、以下の効果を奏する。
【００６５】
署名対象電子データ内の日時データと、タイムスタンプの日時データとを一致させることができ、それにより電子データの、第三者に対する信頼度を高めることができる。
【図面の簡単な説明】
【図１】実施の形態１におけるタイムスタンプシステムの構成を示した図である。
【図２】署名データ格納ファイル１３のデータ構造を示した図である。
【図３】実施の形態１におけるタイムスタンプ処理をクライアント１、タイムスタンプサーバ２に分けて示した説明図である。
【図４】実施の形態１におけるタイムスタンプを発行する処理の流れを示した、フローチャートである。
【図５】実施の形態１におけるタイムスタンプ付きデータを作成する処理の流れを示した、フローチャートである。
【図６】実施の形態２におけるタイムスタンプシステムの構成を示した図である。
【図７】予約テーブルファイル２４のデータ構造を示した図である。
【図８】予約情報ファイル２２のデータ構造を示した図である。
【図９】実施の形態２におけるタイムスタンプ処理をクライアント１、タイムスタンプサーバ２に分けて示した説明図である。
【図１０】実施の形態２におけるタイムスタンプ予約処理の流れを示した、フローチャートである。
【図１１】実施の形態２におけるタイムスタンプ付きデータを作成する処理の流れを示した、フローチャートである。
【図１２】従来のタイムスタンプサーバシステムの構成を示した図である。
【符号の説明】
１  クライアントコンピュータ（クライアント）、２  タイムスタンプサーバコンピュータ（タイムスタンプサーバ）、３  データ編集手段、４  電子文書データファイル（電子データ）、７  タイムスタンプ要求手段、１２  タイムスタンプ発行手段、１３  署名データ格納ファイル、２１  タイムスタンプ予約手段、２２  予約情報ファイル、２３  予約確定手段。
【図１】
2004248154.tif 000003
【図２】
2004248154.tif 000004
【図３】
2004248154.tif 000005
【図４】
2004248154.tif 000006
【図５】
2004248154.tif 000007
【図６】
2004248154.tif 000008
【図７】
2004248154.tif 000009
【図８】
2004248154.tif 000010
【図９】
2004248154.tif 000011
【図１０】
2004248154.tif 000012
【図１１】
2004248154.tif 000013
【図１２】
2004248154.tif 000014