(57)【要約】【課題】オフライン環境でタイムスタンプを発行できるようにする。【解決手段】タイムスタンプ装置１０は、クライアント事業者に提供され、タイムスタンプ装置１０とクライアント端末５は、クライアント事業者側に設置されている。タイムスタンプ装置１０は、据置タイプとして使用することもできるし、あるいは、客先などにクライアント端末５と共に持参することもできる。タイムスタンプ装置１０は、タイムスタンプを発行するための時計部や暗号鍵を備えており、クライアント端末５から要求があると、通信網３とオフライン状態でタイムスタンプを発行できる。タイムスタンプ装置１０は、一定時間ごとに管理サーバ３０に接続して認証を受けると共に管理サーバ３０から基準時刻の配信を受けて時計部を補正するようになっており、認証を受けずに所定の消去時間が経過すると、暗号鍵を自動的に消去する。【選択図】図１
2011082727.tif 000002
【特許請求の範囲】
【請求項１】
タイムスタンプ用の暗号鍵を取得する暗号鍵取得手段と、
前記取得した暗号鍵を期限付きで記憶する暗号鍵記憶手段と、
所定のサーバから認証を受ける認証手段と、
前記認証を受けた場合に、前記記憶した暗号鍵の記憶期限を更新する更新手段と、
時刻を出力する時刻出力手段と、
タイムスタンプの要求を受け付け、前記出力した時刻と前記記憶した暗号鍵でタイムスタンプを発行するタイムスタンプ部に前記出力した時刻と前記記憶した暗号鍵を提供する提供手段と、
を具備したことを特徴とする情報処理装置。
【請求項２】
前記認証手段は、所定時間ごとに前記所定のサーバに認証を要求して、認証を受けることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記更新手段が更新する時間は、前記認証手段が認証を要求する所定時間以上であることを特徴とする請求項１、又は請求項２に記載の情報処理装置。
【請求項４】
前記認証の際に前記所定のサーバから時刻情報を受信する時刻情報受信手段と、
前記受信した時刻情報を用いて前記時刻出力手段の時刻を補正する補正手段と、
を具備したことを特徴とする請求項１、請求項２、又は請求項３に記載の情報処理装置。
【請求項５】
前記認証手段による認証に失敗した場合に、前記記憶した暗号鍵を消去する消去手段を具備したことを特徴とする請求項１から請求項４までの何れか１の請求項に記載の情報処理装置。
【請求項６】
前記タイムスタンプ部を具備したことを特徴とする請求項１から請求項５までの何れか１の請求項に記載の情報処理装置。
【請求項７】
前記各手段は、耐タンパ装置の内部に形成されていることを特徴とする請求項１から請求項６までの何れか１の請求項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、例えば、タイムスタンプを発行するものに関する。
【背景技術】
【０００２】
近年の情報技術の急激な進歩に伴って、公文書や私文書をデジタル情報化した電子文書にて調製する所謂ペーパレス化が推進されている。
また、このようにして作成された電子文書に付与される法的な地位を整備するため電子文書法が施行されている。
このようにして作成され保存される私的・公的電子文書では発行日などの時刻証明（日付証明）が重要であり、時刻証明を行うタイムスタンプシステムが利用されている。
【０００３】
図９は、従来のタイムスタンプシステムを説明するための図である。
タイムスタンプシステム１００は、時刻配信局に設置された時刻配信サーバ１０１、時刻認証局に設置されたタイムスタンプサーバ１０２、及びクライアント端末１０５、１０５、・・・などから構成されている。
【０００４】
時刻配信サーバ１０１は、例えば、原子時計を備えており、タイムスタンプシステム１００で使用する基準時刻をタイムスタンプサーバ１０２に配信する。
タイムスタンプサーバ１０２は、時刻配信サーバ１０１から配信される基準時刻によって内部クロックが正確な時刻を出力するように管理すると共に、内部クロックの出力する時刻によってタイムスタンプを発行する。
クライアント端末１０５は、通信網１０３を介してタイムスタンプサーバ１０２にアクセスしてタイムスタンプの発行を要求し、電子文書に対してタイムスタンプを受ける。
【０００５】
タイムスタンプの発行は、クライアント端末１０５が電子文書のハッシュ値をタイムスタンプサーバ１０２に送信し、タイムスタンプサーバ１０２がこれに内部クロックの時刻を付与して秘密鍵で電子署名することにより行われる。
第三者は、当該秘密鍵に対応する公開鍵によって電子署名を検証することができ、これによって時刻と電子文書の非改竄性が確認される。
【０００６】
このように、タイムスタンプサーバ１０２が時刻配信サーバ１０１から時刻の配信を受けながら、クライアント端末１０５にタイムスタンプを発行する技術として、次の特許文献１の「時刻証明サーバ、基準時刻配信サーバ、時刻証明方法、基準時刻配信方法、時刻証明プログラム、及び通信プロトコルプログラム」がある。
この技術は、高精度・高信頼を確保しつつ、低コストで時刻認証を行うものである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】ＷＯ２００６／１０９７２３号公報
【０００８】
ところで、従来のタイムスタンプサーバ１０２は、時刻認証局に設置されているため、クライアント端末１０５は、タイムスタンプの発行を受けるために通信網１０３を介してタイムスタンプサーバ１０２にオンライン接続する必要があった。
しかし、例えば、クライアント端末１０５を外に持ち出すなど、いつもオンライン環境で使用できるとは限らない。
特に、近年は小型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）を携帯することが一般的となっており、営業担当者がデモやプレゼンテーションのためにクライアント端末１０５を客先に持って行くことも考えられるが、客先がオンライン環境でないとタイムスタンプの発行を受けることができなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、オフライン環境でタイムスタンプを発行できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記目的を達成するために、請求項１に記載の発明では、タイムスタンプ用の暗号鍵を取得する暗号鍵取得手段と、前記取得した暗号鍵を期限付きで記憶する暗号鍵記憶手段と、所定のサーバから認証を受ける認証手段と、前記認証を受けた場合に、前記記憶した暗号鍵の記憶期限を更新する更新手段と、時刻を出力する時刻出力手段と、タイムスタンプの要求を受け付け、前記出力した時刻と前記記憶した暗号鍵でタイムスタンプを発行するタイムスタンプ部に前記出力した時刻と前記記憶した暗号鍵を提供する提供手段と、を具備したことを特徴とする情報処理装置を提供する。
請求項２に記載の発明では、前記認証手段は、所定時間ごとに前記所定のサーバに認証を要求して、認証を受けることを特徴とする請求項１に記載の情報処理装置を提供する。
請求項３に記載の発明では、前記更新手段が更新する時間は、前記認証手段が認証を要求する所定時間以上であることを特徴とする請求項１、又は請求項２に記載の情報処理装置を提供する。
請求項４に記載の発明では、前記認証の際に前記所定のサーバから時刻情報を受信する時刻情報受信手段と、前記受信した時刻情報を用いて前記時刻出力手段の時刻を補正する補正手段と、を具備したことを特徴とする請求項１、請求項２、又は請求項３に記載の情報処理装置を提供する。
請求項５に記載の発明では、前記認証手段による認証に失敗した場合に、前記記憶した暗号鍵を消去する消去手段を具備したことを特徴とする請求項１から請求項４までの何れか１の請求項に記載の情報処理装置を提供する。
請求項６に記載の発明では、前記タイムスタンプ部を具備したことを特徴とする請求項１から請求項５までの何れか１の請求項に記載の情報処理装置を提供する。
請求項７に記載の発明では、前記各手段は、耐タンパ装置の内部に形成されていることを特徴とする請求項１から請求項６までの何れか１の請求項に記載の情報処理装置を提供する。
【発明の効果】
【００１１】
本発明によれば、タイムスタンプ装置に時計と暗号鍵を期限つきで備えることによりオフラインで使用することができる。
【図面の簡単な説明】
【００１２】
【図１】タイムスタンプシステムの概要を説明するための図である。
【図２】タイムスタンプシステムの構成を説明するための図である。
【図３】タイマ部が行う暗号鍵の時限管理を説明するための図である。
【図４】タイムスタンプシステムの動作を説明するためのフローチャートである。
【図５】タイムスタンプ装置がタイムスタンプを発行する手順を説明するためのフローチャートである。
【図６】タイムスタンプ装置がタイムスタンプを発行する手順の変形例を説明するためのフローチャートである。
【図７】タイムスタンプ装置が管理サーバから暗号鍵をダウンロードする手順を説明するためのフローチャートである。
【図８】変形例に係るタイムスタンプ装置を説明するための図である。
【図９】従来のタイムスタンプシステムを説明するための図である。
【発明を実施するための形態】
【００１３】
（１）実施形態の概要
図１は、本実施の形態に係るタイムスタンプシステム１の概要を説明するための図である。
タイムスタンプ装置１０は、クライアント事業者に提供され、タイムスタンプ装置１０とクライアント端末５、５、・・・は、クライアント事業者側に設置されている。
タイムスタンプ装置１０は、据置タイプとして使用することもできるし、あるいは、客先などにクライアント端末５と共に持参することもできる。
【００１４】
タイムスタンプ装置１０は、タイムスタンプを発行するための時計部（内部クロック）や暗号鍵（秘密鍵）を備えており、クライアント端末５から要求があると、通信網３とオフライン状態でタイムスタンプを発行できる。
【００１５】
タイムスタンプ装置１０は、一定時間ごとに管理サーバ３０に接続して認証を受けると共に管理サーバ３０から基準時刻の配信を受けて時計部を補正するようになっており、認証を受けずに所定の消去時間が経過すると、暗号鍵を自動的に消去してタイムスタンプを発行できなくする。
【００１６】
また、タイムスタンプ装置１０は、機密性の優れたＨＳＭ（Ｈａｒｄｗａｒｅ  Ｓｅｃｕｒｉｔｙ  Ｍｏｄｕｌｅ）を用いて構成されており、時計部、暗号鍵、タイマ部など、タイムスタンプを発行する機能部をＨＳＭ内に格納して外部からの不正な解析を防止している。
【００１７】
従来のＴＳＵ（Ｔｉｍｅ  Ｓｔａｍｐｉｎｇ  Ｕｎｉｔｓ）の暗号システムは、暗号鍵がＴＳＵに保管されているため、ＴＳＵが盗難されて不正な電子署名が付与されるのを防ぐために厳格な管理が必要であった。
これに対し、タイムスタンプシステム１では、ある一定時間以上ＴＳＵ（タイムスタンプ装置１０）がＴＡ（Ｔｉｍｅ  Ａｕｔｈｏｒｉｔｙ：時刻配信局、ここでは管理サーバ３０が対応）にアクセスしなかった場合、例えば、紛失後、１時間が経過した場合、暗号鍵が自動的に消滅することから、たとえＴＳＵが盗難にあったとしても不正電子署名される危険性はない。
タイムスタンプシステム１によってＴＳＵの安全性が改善されたことで、従来ＴＳＡ（Ｔｉｍｅ−Ｓｔａｍｐｉｎｇ  Ａｕｔｈｏｒｉｔｙ）事業者にしか設置ができなかったＴＳＵを客先のシステムとして設置することが可能となる。
【００１８】
（２）実施形態の詳細
図２は、本実施形態に係るタイムスタンプシステム１の構成を説明するための図である。
タイムスタンプシステム１は、クライアント端末５、タイムスタンプ装置１０、通信網３、管理サーバ３０などから構成されている。
クライアント端末５とタイムスタンプ装置１０は、クライアント（個人、企業など）側に設置され、管理サーバ３０は、管理センタに設置されている。
【００１９】
クライアント端末５は、例えば、据置タイプや携帯可能なＰＣであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク（記憶媒体）などで構成されている。
【００２０】
クライアント端末５は、ＣＰＵでワードプロセッサプログラムを実行することにより、ワードプロセッサ機能を発揮し、ユーザの電子文書６の作成・編集作業を支援する他、作成した電子文書を記憶媒体に記憶する。
【００２１】
クライアント端末５は、インターフェースを介してタイムスタンプ装置１０に接続し、電子文書６のハッシュ値をタイムスタンプ装置１０に送信してタイムスタンプ７の発行を受ける。
このインターフェースとしては、タイムスタンプ装置１０を直付けする場合には、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子などが用いられ、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）経由で接続する場合には、ＬＡＮ端子が用いられる。
【００２２】
ここで、ハッシュ値は、ハッシュ関数（一方向性関数の一種）によって電子文書から計算される数値であって、電子文書が一部でも異なればハッシュ値が異なるため、電子文書とハッシュ値を対応させることができる。
【００２３】
即ち、電子文書が改竄された場合、当該改竄された電子文書のハッシュ値を計算すると元の電子文書のハッシュ値と異なるため、改竄を検出することができる。
また、ハッシュ値のデータ量は、電子文書のデータ量に比べて小さいため、電子文書そのものをタイムスタンプ装置１０に送信せずに、ハッシュ値を電子文書の代用として送信することにより、タイムスタンプの発行・保管を効率化している。
【００２４】
タイムスタンプ装置１０は、耐タンパ構造を備えたＨＳＭ内に、メモリ１２、ＣＰＵ１４、タイマ部１５、メモリ１６、バッテリ１８、タイムスタンプ部２０、時計部２１などを格納して構成されており、ＴＳＵとしての機能を有している。
タイムスタンプ装置１０は、ＬＡＮなどを介して複数のクライアント端末５と接続してもよいし、特定のクライアント端末５に直付けしてクライアント端末５と共に移動できるように構成してもよい。
【００２５】
メモリ１２は、半導体で構成された記憶媒体（内部メモリ）であって、ユーザ認証情報２６（ユーザＩＤ、パスワードなど）、サーバ秘密鍵２５に対応するサーバ公開鍵２７、装置公開鍵２４に対応する装置秘密鍵１３、デジタル署名値２８、図示しないが、タイムスタンプ装置１０の機器ＩＤやＣＰＵ１４が実行するプログラムなどが記憶されている。
これらは、例えば、工場出荷時にメモリ１２に記憶される。
また、タイムスタンプ装置１０は、管理サーバ３０との暗号通信用に暗号鍵１７（乱数）を発生するが、これもメモリ１２に一時記憶される。
【００２６】
メモリ１６は、半導体で構成された記憶媒体（内部メモリ）であって、管理サーバ３０からダウンロードした暗号鍵１７を一時的に記憶している。
暗号鍵１７は、秘密鍵であって、第三者は、これに対応する公開鍵を管理サーバ３０などからダウンロードしてタイムスタンプの検証を行うことができる。
なお、メモリ１２は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、メモリ１６は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であるが、同一の記憶媒体にメモリ１２とメモリ１６を形成してもよい。
【００２７】
ＣＰＵ１４は、メモリ１２に記憶されたプログラムを実行し、タイムスタンプの発行に必要な各種の情報処理やタイムスタンプ装置１０の各部の制御を行う。
ＣＰＵ１４で、プログラムを実行することにより、タイマ部１５、時計部２１、タイムスタンプ部２０などが構成される。
【００２８】
タイマ部１５は、暗号鍵１７がメモリ１６に記憶されている時間を計測し、一定時間の間に、タイムスタンプ装置１０が管理サーバ３０で認証しないと暗号鍵１７を消去する内部タイマである。以下、この一定時間を消去時間と呼ぶことにする。
タイマ部１５は、タイムスタンプ装置１０が管理サーバ３０で認証すると、消去時間の計測を０にリセットして消去までの期限を更新する。
このリセット機能により、タイムスタンプ装置１０が消去時間内に管理サーバ３０で認証する限り、タイマ部１５は、暗号鍵１７を消去せず、メモリ１６に暗号鍵１７が維持される。
【００２９】
消去時間が経過するとタイマ部１５が暗号鍵１７を消去するため、タイムスタンプ装置１０は、所定の一定時間（認証間隔時間と呼ぶ）ごとに管理サーバ３０にアクセスして認証を受けるようになっている。
認証間隔時間が消去時間よりも長いと認証を行う前に消去時間に達して暗号鍵１７が消去されてしまうため、認証間隔時間は消去時間以下に設定されている。
本実施の形態では、一例として、認証間隔時間と消去時間を共に１時間とする。認証間隔時間と消去時間が等しい場合、管理サーバ３０へのアクセス頻度が最も少なくなり効率的である。
【００３０】
更に、消去時間経過直前に認証間隔時間が経過すると暗号鍵１７の消去直前に管理サーバ３０で認証を受けなければならず、タイムスタンプ装置１０の安定動作が妨げられる可能性があるため、タイムスタンプ装置１０は、認証間隔時間を計測する開始時点を自動補正する機能を備えている。
これにより、例えば、暗号鍵１７の消去タイミングより３分前以内に認証タイミングがある場合、消去タイミングの所定時間前（例えば、５分前）より前に認証タイミングが来るように、認証時間を計測する開始時点をシフトする。
【００３１】
あるいは、タイマ部１５が計測する時間と認証タイミングを連動させ、消去時間の所定時間前（例えば、５分前）にタイムスタンプ装置１０が管理サーバ３０に認証を求めるように構成することもできる。
なお、本実施の形態では、タイムスタンプ装置１０は、管理サーバ３０に定期的に認証を求めるが、これは不定期であってもよい。
【００３２】
時計部２１は、タイムスタンプのための日時刻を出力する内部クロックであり、数時間（例えば、３時間）補正をせずとも精度を維持することができる。
タイムスタンプ装置１０は、タイマ部１５と時計部２１を有するが、これらは、１つのクロック装置の出力にタイマ部１５用のオフセットと時計部２１のオフセットを設定することにより構成することができる。
時計部２１の時刻は、管理サーバ３０が認証の際に配信する基準時刻により補正され、常に正しい時刻が出力されるようになっている。
【００３３】
タイムスタンプ部２０は、クライアント端末５から送信されてきたハッシュ値に時計部２１の出力する日時刻を付与して暗号鍵１７で電子署名（暗号化）することによりタイムスタンプを発行し、クライアント端末５に送信する。
通信部１１は、有線、あるいは無線を介して通信網３に接続し、管理サーバ３０と通信する。
また、クライアント端末５が通信機能を有する場合、通信部１１を用いずにクライアント端末５の通信機能を用いて管理サーバ３０にアクセスしてもよい。
【００３４】
バッテリ１８は、ＣＰＵ１４や、タイムスタンプ装置１０のその他の構成要素に電力を供給する電池であり、タイムスタンプ装置１０は、バッテリ１８の電力により単体で動作することができる。
そのため、タイムスタンプ装置１０が盗難されて外部から電力供給がない状態となった場合であっても、タイマ部１５が暗号鍵１７を消去することができる。
また、タイムスタンプ装置１０は、外部電源に接続している場合には、これらから電力の供給を受けてバッテリ１８の消耗を抑制する他、バッテリ１８を充電するように構成することもできる。
【００３５】
この他、タイムスタンプ装置１０は、耐タンパ構造を有しており、外部からの解析ができないようになっている。
例えば、バッテリ１８がメモリ１２、１６に供給する電力は、タイムスタンプ装置１０の筐体に張り巡らされたコイルを介して供給され、タイムスタンプ装置１０を物理的に開けるとコイルが断線してメモリ１２、１６の電力が途絶え、暗号鍵１７などの記憶内容が消去される。
【００３６】
以上、タイムスタンプ装置１０の構成について説明したが、安全性が担保された時刻でタイムスタンプを発行するために特許文献１に示されている技術をタイムスタンプ装置１０に適用することも可能である。
この場合、タイムスタンプ装置１０は、同期モード、監査モード、スタンプモードの３モードを順次切り替えていくモード切替手段を備えている。
モード切替手段は、同期モード→監査モード→スタンプモード→同期モード→・・・というように、一方向にモード切替を繰り返し、逆戻りはしない。そして、モード切替手段は、現在動作しているモードが終了するまで次のモードに移行しない。
【００３７】
同期モードは、タイムスタンプ装置１０が管理サーバ３０から基準時刻の時刻配信を受けて時計部２１を補正するモードである。
スタンプモードは、タイムスタンプ部２０がタイムスタンプを発行するモードである。
【００３８】
監査モードは、時計部２１の時刻が正しいか監査するモードであり、例えば、次のようにして監査を行う。
この場合、タイムスタンプシステム１は、第三者が運営する監査サーバを備える。
監査モードでは、タイムスタンプ装置１０は、通信網３を介して監査サーバに接続し、監査サーバから監査用の時刻証明書を配信してもらう。監査用の時刻を第三者が発行することによりセキュリティが高まる。
【００３９】
監査モードにおいて、タイムスタンプ装置１０は、まず、前回受信した時刻証明書よりも今回受信した時刻証明書を比較し、今回受信した時刻証明書の時刻が前回受信した時刻証明書の時刻以前である場合には、監査モードで停止する。
次に、前回受信した時刻証明書の時刻よりも今回受信した時刻証明書の時刻が後である場合は、今回受信した時刻証明書の時刻と時計部２１の時刻を比較し、両者が所定の誤差範囲内でない場合には監査モードで停止し、誤差範囲内である場合は、次のスタンプモードに移行する。
【００４０】
モード切替部は、以上の３モードを、例えば、１時間で一周させる。そして、監査モードを完了しなければスタンプモードに移行できないため、スタンプモードでは、時計部２１は正しい時間を出力しており、タイムスタンプ部２０は、正しい日時刻でタイムスタンプを発行することができる。
【００４１】
管理サーバ３０は、タイムスタンプ装置１０の認証、基準時刻の配信、及びタイムスタンプ装置１０に対する暗号鍵１７の送信を行うサーバであって、ＴＡとしての機能を有している。
管理サーバ３０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク（記憶媒体）などを備えており、これらを用いて通信部３１、認証部３２、時刻配信部３３、暗号鍵ＤＢ（ｄａｔａｂａｓｅ）３４などが形成されている。
【００４２】
通信部３１は、通信網３を介して通信部１１と通信する。
認証部３２は、タイムスタンプ装置１０に対して機器認証とユーザ認証による２要素認証を行う。具体的に認証方法については後述する。
時刻配信部３３は、時刻証明書によってタイムスタンプ装置１０に基準時刻を配信する。
【００４３】
基準時刻の配信方法は、公知の方法を用いることができ、例えば、基準時刻配信用に標準されたプロトコルであり、通信経路による遅延を補正するＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）を用いてもよいし、あるいは、特許文献１で行っている方法を用いてもよい。
【００４４】
なお、特許文献１では、次のようにして基準時刻の配信を行う。
まず、時刻配信部３３は、タイムスタンプ装置１０から現在時刻を送信してもらって、これから通信網３の通信による遅延時間を計算し、遅延時間だけ進めた時間を時刻証明書に記録してタイムスタンプ装置１０に送信する。
ＣＰＵ１４は、時刻証明書を受信すると、これに記載されている時刻に時計部２１を補正する。
【００４５】
更に、特許文献１の例に倣って、時計部２１の計測する日時刻を、セキュリティを要する部分（一例として、分単位以上の部分とする）と品質保証に必要な部分（一例として秒単位とする）に分離し、ＣＰＵ１４は、秒単位のみ補正するように構成し、セキュリティをより高めることもできる。
【００４６】
暗号鍵ＤＢ３４は、ハードディスクなどに形成されており、タイムスタンプ装置１０と対応づけて暗号鍵１７を記憶している。
タイムスタンプ装置１０から暗号鍵１７の要求があった場合、管理サーバ３０は、暗号鍵ＤＢ３４から暗号鍵１７を取得し、共通鍵１９で暗号化してタイムスタンプ装置１０に送信する。
【００４７】
図３は、タイマ部１５が行う暗号鍵１７の時限管理を説明するための図である。
タイマ部１５は、ＣＰＵ１４が管理サーバ３０から暗号鍵１７をダウンロードしてメモリ１６に記憶すると経過時間の計測を開始する。
そして、タイマ部１５は、消去時間経過前にタイムスタンプ装置１０が管理サーバ３０で認証を受けると、経過時間を０にリセットして経過時間の計測を再開し、タイムスタンプ装置１０が管理サーバ３０で認証されずに消去時間が経過すると、暗号鍵１７を消去する。
【００４８】
タイムスタンプ装置１０が管理サーバ３０で認証される度に経過時間の計測をリセットするため、消去時間内における認証が継続している限り、暗号鍵１７は、タイムスタンプ装置１０から消去されず、タイムスタンプ部２０はタイムスタンプを発行することができる。
消去時間は、時計部２１の時計が必要な精度を保てる期間内であればよく、例えば、３時間程度まで設定することができる。本実施の形態では、一例として消去時間を１時間とする。
また、消去時間は、本実施の形態では固定値とするが、ユーザが状況に応じて可変に設定できるように構成することもできる。
【００４９】
図４は、タイムスタンプシステム１の動作を説明するためのフローチャートである。
以下の処理は、タイムスタンプ装置１０のＣＰＵ１４と管理サーバ３０のＣＰＵが所定のプログラムに従って行うものである。なお、暗号鍵１７は、メモリ１６に記憶されているものとする。
【００５０】
タイムスタンプ装置１０は、オフライン状態で動作し、前回の認証時間から所定の認証間隔時間が経過したか否かを判断して認証時間であるか否かを判断する（ステップ５）。
認証時間でないと判断した場合（ステップ５；Ｎ）、タイムスタンプ装置１０は、ステップ５にて、引き続き認証時間の経過を監視する。
認証時間であると判断した場合（ステップ５；Ｙ）、タイムスタンプ装置１０は、通信網３を介して管理サーバ３０にアクセスしてオンライン状態となり、管理サーバ３０に対して認証の要求を行う。
【００５１】
すると、タイムスタンプ装置１０と管理サーバ３０は、互いを機器認証し、更に、管理サーバ３０は、タイムスタンプ装置１０のユーザ認証を行うことにより相互認証する（ステップ１０）。
相互認証では、管理サーバ３０によるタイムスタンプ装置１０の認証を機器認証とユーザ認証による２要素認証とし、成りすまし認証を防止している。
【００５２】
ここで、タイムスタンプ装置１０と管理サーバ３０が互いを機器認証する手順について説明する。
相互認証は、まず、管理サーバ３０がタイムスタンプ装置１０を認証し、次いで、タイムスタンプ装置１０が管理サーバ３０を認証する。
管理サーバ３０がタイムスタンプ装置１０を認証する場合、タイムスタンプ装置１０は、暗号通信で使用する共通鍵１９（乱数値）を生成し、サーバ公開鍵２７で暗号化する。
続けてタイムスタンプ装置１０は、クライアント端末５から入力されたユーザ認証情報２６を共通鍵１９で暗号化し、更に、ユーザ認証情報２６をハッシュ関数でハッシュ化したハッシュ値を装置秘密鍵１３で暗号化し、デジタル署名値２８を生成する。これら各情報（共通鍵１９、ユーザ認証情報２６、デジタル署名値２８、及びタイムスタンプ装置１０の機器ＩＤ）をサーバ公開鍵２７で暗号化し、管理サーバ３０に送信する。
【００５３】
これに対し、管理サーバ３０は、共通鍵１９と機器ＩＤをサーバ秘密鍵２５で復号化して、共通鍵１９を取得すると共に、タイムスタンプ装置１０を特定する。タイムスタンプ装置１０の特定は、認証に用いる装置公開鍵２４でデジタル署名値２８を検証することで行われる。デジタル署名値２８の検証は、ユーザ認証情報２６のハッシュ値とデジタル署名値２８を装置公開鍵２４で復号化した時のハッシュ値を比較し、同一であれば、認証に成功し、不等であれは否認する。
一般に、共通鍵を用いた暗号処理の方が非対称鍵（秘密鍵、公開鍵）を用いた暗号処理よりも情報処理量が少なくて効率がよいため、タイムスタンプ装置１０と管理サーバ３０は、まず、サーバ公開鍵２７とサーバ秘密鍵２５を用いて共通鍵１９を共有し、以降、共通鍵１９を用いて暗号通信を行う。
【００５４】
次に、管理サーバ３０は、共通鍵１９でユーザ認証情報を復号化し、更に、装置公開鍵２４でデジタル署名値２８を復号化する。
そして、管理サーバ３０は、これら復号化したユーザ認証情報２６とデジタル署名値２８によるタイムスタンプ装置１０の検証を行う。
検証が成功した場合は、引き続き処理を続行し、検証が失敗した場合は、不正なユーザ認証情報２６、あるいはタイムスタンプ装置１０であることから接続要求を拒否する。
【００５５】
一方、タイムスタンプ装置１０が管理サーバ３０を認証する場合、管理サーバ３０は、デジタル署名値２９をタイムスタンプ装置１０に送信する。
このデジタル署名値２９は、管理サーバ３０が、ハッシュ関数を使って自身の管理サーバＩＤとサーバ情報からハッシュ値を計算し、これをサーバ秘密鍵２５を使って暗号化することにより生成される。
タイムスタンプ装置１０は、サーバ公開鍵２７でデジタル署名値２９を復号化してハッシュ値を取り出し、ハッシュ値を比較することで、管理サーバ３０の検証を行う。
検証が成功した場合は、引き続き処理を続行し、検証が失敗した場合は、不正な管理サーバ３０であることから接続要求を拒否する。
以上のように、タイムスタンプ装置１０と管理サーバ３０は、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）を用いた認証と、２要素認証により相互認証を行う。
【００５６】
相互認証が成功すると、管理サーバ３０（時刻配信部３３）は、時刻証明書を用いて基準時刻をタイムスタンプ装置１０に配信する（ステップ１５）。
一方、ステップ１０で相互認証に失敗した場合は、タイムスタンプ装置１０は、暗号鍵１７を強制消去する。あるいは、所定回数認証を試みて認証に成功しなかった場合に暗号鍵１７を消去するように構成することもできる。
【００５７】
タイムスタンプ装置１０は、管理サーバ３０から基準時刻の配信を受けると、これを用いて時計部２１の時刻を補正し（ステップ２０）、タイマ部１５にリセット指令を発する（ステップ２５）。
【００５８】
なお、相互認証のタイミング（ステップ１０）と、時刻補正のタイミング（ステップ２０）の近接を防ぐために、相互認証してから所定間隔をおいてリセット信号を送出するように構成することができる。
この場合、リセット指令発令タイミングを基準とすると、認証時間の計測タイミングが自動補正されたことになる。
【００５９】
タイマ部１５は、リセット指令があったか否かを監視しており（ステップ３０）、リセット指令があった場合（ステップ３０；Ｙ）、消去時間の計測をリセットする（ステップ３５）。
また、リセット指令がなかった場合（ステップ３０；Ｎ）、あるいはリセットの後（ステップ３５）、タイマ部１５は、消去時間が経過したか否かを判断する（ステップ４０）。
【００６０】
消去時間が経過していない場合（ステップ４０；Ｎ）、タイマ部１５は、ステップ３０に戻ってリセット指令の有無を監視し、消去時間が経過した場合（ステップ４０；Ｙ）、タイマ部１５は、暗号鍵１７を消去する（ステップ４５）。
以上のようにして、タイムスタンプ装置１０は、管理サーバ３０から消去時間前に認証を受け続ける限り正確な時間と暗号鍵１７を維持することができる。
【００６１】
図５は、タイムスタンプ装置１０がタイムスタンプを発行する手順を説明するためのフローチャートである。
まず、クライアント端末５でユーザが電子文書を作成する（ステップ１００）。
ユーザは、タイムスタンプアイコンをクリックするなどして、クライアント端末５にタイムスタンプの付与を指令する。
【００６２】
すると、クライアント端末５は、電子文書のハッシュ値を計算し、これをタイムスタンプ装置１０に送信してタイムスタンプの発行を要求する（ステップ１０５）。
タイムスタンプ装置１０は、タイムスタンプの発行の要求を受け付けると、メモリ１６に暗号鍵１７が記憶されているか否かを確認する（ステップ１１５）。
暗号鍵１７が記憶されている場合（ステップ１１５；Ｙ）、タイムスタンプ装置１０は、クライアント端末５から受信したハッシュ値に時計部２１が出力する時刻を付与して暗号鍵１７で暗号化してタイムスタンプを発行し、これをクライアント端末５に送信する。
【００６３】
なお、第三者は、暗号鍵１７（秘密鍵）に対応する公開鍵でタイムスタンプの正統性を検証し、タイムスタンプが正統であった場合、タイムスタンプが発行されたハッシュ値と、対象となる電子文書のハッシュ値を計算して両者を対比することにより電子文書が改竄されていないことを確認することができる。
即ち、タイムスタンプによって、その電子文書がタイムスタンプで証明される日時刻に確かに存在していたことを保証することができる。
【００６４】
フローチャートに戻り、メモリ１６に暗号鍵１７が記憶されていない場合（ステップ１１５；Ｎ）、暗号鍵１７がタイマ部１５によって消去されているため、管理サーバ３０は、タイムスタンプを発行することができず、クライアント端末５にタイムスタンプ非発行通知を送信する（ステップ１２５）。
【００６５】
クライアント端末５は、タイムスタンプの発行を要求した後（ステップ１０５）、タイムスタンプ、あるいはタイムスタンプ非発行通知の何れかを受信することにより、管理サーバ３０によりタイムスタンプが発行されたか否かを確認し（ステップ１３０）、タイムスタンプを受信した場合は（ステップ１３０；Ｙ）、これを電子文書と対応づけて記憶する（ステップ１３５）。
一方、タイムスタンプ非発行通知を受信した場合は（ステップ１３０；Ｎ）、タイムスタンプの発行が不可であることをユーザに提示する（ステップ１４０）。
【００６６】
以上のように、タイムスタンプ装置１０は、管理サーバ３０から認証を受けることにより、時計部２１の正確な時刻と、暗号鍵１７の安全を担保できる間、タイムスタンプ装置１０の内部に存在する時計部２１と暗号鍵１７でタイムスタンプを発行できるため、オフライン状態でタイムスタンプを発行することができる。
また、暗号鍵１７が消去されている場合は、後に図７を用いて説明するダウンロード処理によって、暗号鍵１７を管理サーバ３０からタイムスタンプ装置１０にダウンロードすることができる。
【００６７】
図６は、タイムスタンプ装置１０がタイムスタンプを発行する手順の変形例を説明するためのフローチャートである。
図５と同じ処理には同じステップ番号を付して説明を簡略化する。
クライアント端末５で電子文書を作成し（ステップ１００）、クライアント端末５がタイムスタンプ装置１０にタイムスタンプの発行を要求すると（ステップ１０５）、タイムスタンプ装置１０は、メモリ１６に暗号鍵１７が記憶されているか否かを確認し（ステップ１１５）、暗号鍵１７が記憶されている場合は（ステップ１１５；Ｙ）、タイムスタンプを発行してクライアント端末５に送信する（ステップ１２０）。
【００６８】
一方、メモリ１６に暗号鍵１７が記憶されて無い場合（ステップ１１５；Ｎ）、タイムスタンプ装置１０は、管理サーバ３０に接続して管理サーバ３０から暗号鍵１７をダウンロードし（ステップ２００）、タイムスタンプを発行してクライアント端末５に送信する（ステップ１２０）。このダウンロードは、後に図７で説明するダウンロード処理で行うことができる。
クライアント端末５は、以上のようにして発行されたタイムスタンプを受信して記憶する（ステップ１３５）。
このように、この変形例では、暗号鍵１７が消去されていた場合でも、管理サーバ３０から暗号鍵１７をダウンロードしてタイムスタンプを発行することができる。
【００６９】
図７は、タイムスタンプ装置１０が管理サーバ３０から暗号鍵１７をダウンロードする手順を説明するためのフローチャートである。
この処理は、図５で暗号鍵１７が消去されている場合や、図６のステップ２００で用いることができる。
図４と同じ処理には同じステップ番号を付し、説明を簡略化する。
【００７０】
タイムスタンプ装置１０は、メモリ１６に暗号鍵１７が記憶されていないことを確認してから管理サーバ３０に接続し、管理サーバ３０に暗号鍵１７の送信を要求する。
そして、タイムスタンプ装置１０と管理サーバ３０は、相互認証を行い（ステップ１０）、認証後に管理サーバ３０は、タイムスタンプ装置１０に基準時刻を配信する（ステップ１５）。
タイムスタンプ装置１０は、管理サーバ３０から時刻の配信を受けると、これを用いて時計部２１の時刻を補正する（ステップ２０）。
【００７１】
管理サーバ３０は、タイムスタンプ装置１０が時刻を補正したことを確認し、暗号鍵ＤＢ３４からタイムスタンプ装置１０の暗号鍵１７を取得して、これを共通鍵１９で暗号化してタイムスタンプ装置１０に送信する（ステップ２０５）。
タイムスタンプ装置１０は、管理サーバ３０から暗号鍵１７を受信すると、これを共通鍵１９で復号化してメモリ１６に記憶し（ステップ２１０）、タイマ部１５にリセット指令を発する（ステップ２５）。
タイマ部１５が行う動作（ステップ３０〜４５）は、図４と同じである。
【００７２】
このように、タイムスタンプ装置１０が管理サーバ３０から暗号鍵１７をダウンロードする際には、併せて時刻補正も行う。
タイムスタンプ装置１０は、暗号鍵１７を受信して記憶するとタイムスタンプを発行することができるため、時計部２１の補正を行って時計部２１の精度を担保するためである。
【００７３】
図８は、変形例に係るタイムスタンプ装置１０を説明するための図である。
タイムスタンプ装置１０は、耐タンパ構造を有するＨＳＭで構成されたスタンプモジュール５１と鍵管理モジュール２３から構成されている。
スタンプモジュール５１は、ＣＰＵ５３、タイムスタンプ部２０及びバッテリ５２を備えている。
鍵管理モジュール２３は、図１のタイムスタンプ装置１０からタイムスタンプ部２０を除いた構成を有している。
【００７４】
スタンプモジュール５１のタイムスタンプ部２０は、クライアント端末５からタイムスタンプの発行要求を受けると、鍵管理モジュール２３のメモリ１６から暗号鍵１７の提供を受け、時計部２１から現在日時刻の出力を受けてタイムスタンプを発行する。
【００７５】
スタンプモジュール５１のＣＰＵ５３は、ＣＰＵ１４よりも情報処理能力が高く、タイムスタンプ部２０は高速にタイムスタンプを発行することができる。
一方、鍵管理モジュール２３は、時計部２１の時刻と暗号鍵１７の記憶を管理するため、ＣＰＵ１４は、ＣＰＵ５３ほどの処理能力を必要としない。
本変形例の構成は、例えば、既存のスタンプモジュール５１に、鍵管理モジュール２３を拡張モジュールとして追加してタイムスタンプ装置１０を構成する場合に用いることができる。
【００７６】
以上に説明した本実施の形態、及び変形例によって、次のような効果を得ることができる。
（１）機密性の優れたＨＳＭにメモリ１６及びタイマ部１５を格納したタイムスタンプ装置１０と、これと通信する管理サーバ３０でタイムスタンプシステム１を構成することにより、重要な暗号鍵１７の保管とＴＡ（管理サーバ３０）の時刻を利用したタイムスタンプサーバシステムを構築することができる。
（２）タイマ部１５によって、一定時間以上、タイムスタンプ装置１０から管理サーバ３０に対するアクセスが無くなった段階で、一時的に記録した暗号鍵１７を消去することができる。
（３）暗号鍵１７が消去された段階で、タイムスタンプ部２０のタイムスタンプ発行処理（電子署名処理）に使われた暗号鍵が消去されることになり、以後タイムスタンプの発行ができなくなる。この機能により、タイムスタンプ装置１０は、盗難された場合でも不正なタイムスタンプの発行ができなくなる。
（４）タイマ部１５の働きにより、一定時間以上の時間が経過した段階で、一時的に記録したタイムスタンプ装置１０からの時刻情報を消去し、再度タイムスタンプ装置１０に対して新しい時刻を要求する。この要求処理により、時計部２１の時刻の精度を高める効果が得られるのと同時に、タイムスタンプ装置１０との通信による安全性が確保される。
（５）タイムスタンプ装置１０は、一定時間ごとに管理サーバ３０にアクセスする以外はオフラインで動作することができるため、オフラインでタイムスタンプを発行することができる。また、管理サーバ３０での認証を行うことによりオフラインでの信頼性を確保することができる。
（６）タイムスタンプ装置１０は、暗号鍵１７の自動消去機能を有するため、従来はＴＳＵ事業者に設置する必要があったＴＳＵ（タイムスタンプ装置１０）をユーザ側に設置することができる。
（７）タイムスタンプ装置１０は、ユーザ側に配置されるため、ユーザはいつでも好きなときにタイムスタンプを発行してもらうことができる。
（８）複数のタイムスタンプ装置１０がユーザ側に分散して配置されるため、タイムスタンプ発行要求の一極集中を防ぐことができる。これにより、従来のＴＳＵサーバで発生していた混雑時の待ち時間を回避することができる。
（９）午前９時、及び午後５時付近にタイムスタンプ発行要求が集中する傾向があり、従来のＴＳＵサーバは、これら集中する要求に応える能力を備えるための設備投資が必要であったが、タイムスタンプシステム１では、管理サーバ３０は、一定時間ごとの認証を行える能力があればよいため、サーバ装置の設置・維持コストを低減することができる。
【００７７】
以上に説明した本実施の形態、及び変形例によって、次の構成を得ることができる。
タイムスタンプ装置１０は、管理サーバ３０から暗号鍵１７をダウンロードして取得するため、タイムスタンプ用の暗号鍵を取得する暗号鍵取得手段を備えている。
また、ダウンロードした暗号鍵１７は、メモリ１６に記憶され、消去時間で規定された期限に達するとタイマ部１５が暗号鍵１７を消去するため、タイムスタンプ装置１０は、前記取得した暗号鍵を期限付きで記憶する暗号鍵記憶手段を備えている。
また、タイムスタンプ装置１０は、管理サーバ３０から認証を受けて、タイマ部１５の消去時間をリセットして、暗号鍵１７を記憶しておく期限を更新するため、所定のサーバ（管理サーバ３０）から認証を受ける認証手段と、前記認証を受けた場合に、前記記憶した暗号鍵の記憶期限を更新する更新手段を備えている。
また、時計部２１は、時刻を出力する時刻出力手段として機能し、管理サーバ３０は、タイムスタンプの要求を受け付け、前記出力した時刻と前記記憶した暗号鍵でタイムスタンプを発行するタイムスタンプ部に前記出力した時刻と前記記憶した暗号鍵を提供する提供手段として機能している。
このため、タイムスタンプシステム１は、上記各手段を備えた情報処理装置として機能している。
【００７８】
タイムスタンプ装置１０は、認証間隔時間ごとに管理サーバ３０で認証を受けるため、前記認証手段は、所定時間（認証間隔時間）ごとに前記所定のサーバに認証を要求して、認証を受けている。
【００７９】
また、消去時間は認証間隔時間以上とすることができるため、前記更新手段が更新する時間（消去時間）は、前記認証手段が認証を要求する所定時間以上である。
【００８０】
更に、タイムスタンプ装置１０は、認証の際に管理サーバ３０から時刻証明書を受信して時計部２１を補正するため、前記認証の際に前記所定のサーバから時刻情報を受信する時刻情報受信手段と、前記受信した時刻情報を用いて前記時刻出力手段の時刻を補正する補正手段を備えている。
【００８１】
また、タイムスタンプ装置１０は、管理サーバ３０との相互認証に失敗した場合に、暗号鍵１７を消去するように構成することができ、この場合、前記認証手段による認証に失敗した場合に、前記記憶した暗号鍵を消去する消去手段を備えている。
【００８２】
タイムスタンプ装置１０は、タイムスタンプ部２０を備えており、また、タイムスタンプ装置１０は、耐タンパ構造を有するＨＳＭ内に形成されているため、前記タイムスタンプ部を備え、前記各手段は、耐タンパ装置の内部に形成されている。
【符号の説明】
【００８３】
１  タイムスタンプシステム
３  通信網
５  クライアント端末
６  電子文書
７  タイムスタンプ
１０  タイムスタンプ装置
１１  通信部
１２  メモリ
１３  装置秘密鍵
１４  ＣＰＵ
１５  タイマ部
１６  メモリ
１７  暗号鍵
１８  バッテリ
１９  共通鍵
２０  タイムスタンプ部
２１  時計部
３０  管理サーバ
３１  通信部
３２  認証部
３３  時刻配信部
３４  暗号鍵ＤＢ
２４  装置公開鍵
２５  サーバ秘密鍵
２６  ユーザ認証情報
２７  サーバ公開鍵
２８  デジタル署名値
２９  デジタル署名値
【図１】
2011082727.tif 000003
【図２】
2011082727.tif 000004
【図３】
2011082727.tif 000005
【図４】
2011082727.tif 000006
【図５】
2011082727.tif 000007
【図６】
2011082727.tif 000008
【図７】
2011082727.tif 000009
【図８】
2011082727.tif 000010
【図９】
2011082727.tif 000011