(57)【要約】本発明は、第三者による意図的な時刻改ざんの機会を減らす時刻管理装置及び時刻管理方法を提供することを目的とする。この目的を達成するために、本発明は、予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、自走時刻を出力するローカル時計手段と、前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段とを有することを特徴とする、時刻管理装置により構成する。
2004107064.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込ステップと、
自走時刻を出力するローカル時計ステップと、
前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計ステップに設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計ステップに設定しない、時刻差判定ステップとを有することを特徴とする、時刻管理方法。
【請求項２】
前記外部時刻取込ステップによる前記外部時刻の取り込みは、一定の時間間隔で実行されることを特徴とする、請求項１に記載の時刻管理方法。
【請求項３】
前記外部時刻取込ステップによる前記外部時刻の取り込みは、ランダムな時間間隔で実行されることを特徴とする、請求項１に記載の時刻管理方法。
【請求項４】
前記予め定められた時間幅内で、前記外部時刻取込ステップにより、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込ステップによる前記外部時刻の取り込みを継続する、請求項２に記載の時刻管理方法。
【請求項５】
前記予め定められた時間幅内で、前記外部時刻取込ステップにより、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込ステップによる前記外部時刻の取り込みを継続する、請求項３に記載の時刻管理方法。
【請求項６】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段とを有することを特徴とする、時刻管理装置。
【請求項７】
前記外部時刻取込手段による前記外部時刻の取り込みは、一定の時間間隔で実行されることを特徴とする、請求項６に記載の時刻管理装置。
【請求項８】
前記外部時刻取込手段による前記外部時刻の取り込みは、ランダムな時間間隔で実行されることを特徴とする、請求項６に記載の時刻管理装置。
【請求項９】
前記予め定められた時間幅内で、前記外部時刻取込手段により、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込手段による前記外部時刻の取り込みを継続する、請求項７に記載の時刻管理装置。
【請求項１０】
前記予め定められた時間幅内で、前記外部時刻取込手段により、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込手段による前記外部時刻の取り込みを継続する、請求項８に記載の時刻管理装置。
【請求項１１】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込ステップと、
自走時刻を出力するローカル時計ステップと、
前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計ステップに設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計ステップに設定しない、時刻差判定ステップと、
前記ローカル時計ステップに設定された前記外部時刻が、前記外部時刻を前記ローカル時計ステップに設定する直前に前記ローカル時計ステップが出力した時刻よりも、過去の時刻に等しい場合には、前記ローカル時計ステップが出力する時刻が、前記外部時刻を前記ローカル時計ステップに設定する直前に前記ローカル時計ステップが出力した前記過去の時刻に達するまで、前記ローカル時計ステップの出力する時刻を出力することを阻止する時刻出力阻止ステップと、を有することを特徴とする、時刻管理方法。
【請求項１２】
前記外部時刻取込ステップによる前記外部時刻の取り込みは、一定の時間間隔で実行されることを特徴とする、請求項１１に記載の時刻管理方法。
【請求項１３】
前記外部時刻取込ステップによる前記外部時刻の取り込みは、ランダムな時間間隔で実行されることを特徴とする、請求項１１に記載の時刻管理方法。
【請求項１４】
前記予め定められた時間幅内で、前記外部時刻取込ステップにより、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込ステップによる前記外部時刻の取り込みを継続する、請求項１２に記載の時刻管理方法。
【請求項１５】
前記予め定められた時間幅内で、前記外部時刻取込ステップにより、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込ステップによる前記外部時刻の取り込みを継続する、請求項１３に記載の時刻管理方法。
【請求項１６】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段と、
前記ローカル時計手段に設定された前記外部時刻が、前記外部時刻を前記ローカル時計手段に設定する直前に前記ローカル時計手段が出力した時刻よりも、過去の時刻に等しい場合には、前記ローカル時計手段が出力する時刻が、前記外部時刻を前記ローカル時計手段に設定する直前に前記ローカル時計手段が出力した前記過去の時刻に達するまで、前記ローカル時計手段の出力する時刻を出力することを阻止する時刻出力阻止手段と、を有することを特徴とする、時刻管理装置。
【請求項１７】
前記外部時刻取込手段による前記外部時刻の取り込みは、一定の時間間隔で実行されることを特徴とする、請求項１６に記載の時刻管理装置。
【請求項１８】
前記外部時刻取込手段による前記外部時刻の取り込みは、ランダムな時間間隔で実行されることを特徴とする、請求項１６に記載の時刻管理装置。
【請求項１９】
前記予め定められた時間幅内で、前記外部時刻取込手段により、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込手段による前記外部時刻の取り込みを継続する、請求項１７に記載の時刻管理装置。
【請求項２０】
前記予め定められた時間幅内で、前記外部時刻取込手段により、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込手段による前記外部時刻の取り込みを継続する、請求項１８に記載の時刻管理装置。
【請求項２１】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込ステップと、
自走時刻を出力するローカル時計ステップと、
前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計ステップに設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計ステップに設定しない、時刻差判定ステップと、
前記自走時刻と前記外部時刻と前記差に、所定の鍵を使用して署名を行ッて第１の認証子を生成するステップと、
前記自走時刻と前記外部時刻と前記差及び前記第１の認証子を記憶するステップと、
署名発行命令を受信する受信ステップと、
前記受信ステップの受信した署名発行命令に従って、所定の署名発行時刻で所定の鍵を使用して署名を行ッて第２の認証子を生成するステップと、
前記署名発行時刻と前記第２の認証子を記憶するステップと、
を有することを特徴とする、時刻管理方法。
【請求項２２】
前記時刻差判定ステップが計算する、前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差が、前記差が予め定められた値以上であることを、所定の回数だけ連続して検出した場合には、所定の誤りが発生したことを示す、誤り表示発生ステップを更に有する、請求項２１に記載の方法。
【請求項２３】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段と、
前記自走時刻と前記外部時刻と前記差に、所定の鍵を使用して署名を行ッて第１の認証子を生成する手段と、
前記自走時刻と前記外部時刻と前記差及び前記第１の認証子を記憶する手段と、
署名発行命令を受信する受信手段と、
前記受信手段の受信した署名発行命令に従って、所定の署名発行時刻で所定の鍵を使用して署名を行ッて第２の認証子を生成する手段と、
前記署名発行時刻と前記第２の認証子を記憶する手段と、
を有することを特徴とする、時刻管理装置。
【請求項２４】
前記時刻差判定手段が計算する、前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差が、前記差が予め定められた値以上であることを、所定の回数だけ連続して検出した場合には、所定の誤りが発生したことを示す、誤り表示発生手段を更に有する、請求項２３に記載の装置。
【発明の詳細な説明】
【技術分野】  本発明は、時刻管理方式に関連し、特に、第三者による意図的な時刻の改ざんの機会を減少させた、時刻管理装置及び時刻管理方法に関連する。
【背景技術】  現在では、コンピュータで使用するファイルが作成されたときの時刻を保証して、セキュリティを確保するために、タイムスタンプが使用されている。このタイムスタンプは、理想的には、例えば、時刻管理装置として、誤差のない時計をコンピュータ等の内部に保持し、この時計により供給されるのが最良である。
しかし、実際には、コンピュータの内部に装備する時計は、誤差を生じる。従って、規準となる時計により、定期的に、補正を行うことが要求される。このような補正を行うための規準となる時計の一例としては、電波時計がある。
従来の技術では、電波時計から電波により送信される外部時刻情報が、時刻管理装置により受信可能である場合には、時刻管理装置は、その送信される外部時刻情報を用いて較正し、一方、外部時刻情報が受信が不可能な場合は、内蔵するローカル時計の時刻情報を較正せずに採用する。そして、この時刻管理装置の出力する時刻情報を、タイムスタンプとして使用していた。
しかしこの場合、偽の電波時計発信機を使って自由にローカル時計の示す時刻の改ざんが可能なために、電波時計から電波により送信される公的な時刻情報を、ディジタル署名のタイムスタンプとして活用できないという問題があった。
更に、従来の技術では、時刻管理装置の示すローカルな時刻が、外部より供給される外部時刻よりも進んでいる場合には、外部より供給される外部時刻情報を、時刻管理装置内に取り込むと、時刻管理装置の出力する時間が、僅かに過去の時点の時刻へ戻ることになる。このような場合には、この過去の時点の時刻を示す時間帯の時刻署名は、信頼性がなくなることとなる。
更に、タイムスタンプ時刻の正当性を証明する方法も求められている。
また、更に、下記の文献には、本願と関連する技術が記載されている。
【特許文献１】特開平６−２５８４６０号公報
【特許文献２】特開２００２−４８７６号公報
【特許文献３】特開２００２−２３６１８７号公報
【特許文献４】特開２００２−６３６１４号公報
【特許文献５】特開２００２−１８５４４９号公報
【特許文献６】特開２００３−２１８８６０号公報
【特許文献７】特開２００３−５２４３４８号公報
【発明の開示】
本発明は上記の点に鑑みてなされたもので、第三者による意図的な時刻の改ざんの機会を減らす時刻管理装置及び時刻管理装置方法を提供することを目的とする。
この目的を達成するために、本発明の時刻管理装置は、
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、
前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段とを有することを特徴とする。
本発明によれば、従来のように、単に外部時刻情報が受信可能か否かでローカル時計に外部時刻情報を設定するか又は自走させるかを切り替えるのではなく、外部より供給される時刻情報を定期的にあるいはランダムに、或る一定の時間帯の間に取り込み、装置内のローカルな時刻情報との時間誤差を求め、その値の大小に応じて外部時刻を設定しまたはローカル時刻をそのまま自走させて出力する。これにより、第三者による意図的な時刻の改ざんの機会を減らす時刻管理装置及び時刻管理方法を提供できる。
また、この目的を達成するために、本発明の時刻管理装置は、
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、
前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段と、
前記ローカル時計手段に設定された前記外部時刻が、前記外部時刻を前記ローカル時計手段に設定する直前に前記ローカル時計手段が出力した時刻よりも、前の時刻に等しい場合には、前記ローカル時計手段が出力する時刻が、前記外部時刻を前記ローカル時計手段に設定する直前に前記ローカル時計手段が出力した時刻に達するまで、前記ローカル時計手段の出力する時刻を出力することを阻止する時刻出力阻止手段と、を有することを特徴とする。
本発明によれば、時刻管理装置及び時刻管理方法の出力する時刻が、過去の時刻に戻ることがないので、意図的な時刻の改ざんの機会を減らす時刻管理装置及び時刻管理方法を提供できる。
更に、本発明は、タイムスタンプ時刻の正当性を証明する装置を提供することも目的とする。
この目的を達成するために、本発明の時刻管理装置は、
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段と、
前記自走時刻と前記外部時刻と前記差に、所定の鍵を使用して署名を行ッて第１の認証子を生成する手段と、
前記自走時刻と前記外部時刻と前記差及び前記第１の認証子を記憶する手段と、
署名発行命令を受信する受信手段と、
前記受信手段の受信した署名発行命令に従って、所定の署名発行時刻で所定の鍵を使用して署名を行ッて第２の認証子を生成する手段と、
前記署名発行時刻と前記第２の認証子を記憶する手段と、
を有することを特徴とする。
【図面の簡単な説明】  本発明の他の目的、特徴及び利点は、添付の図面を参照しながら以下の詳細な説明を読むことにより一層明瞭となるであろう。
図１は、本発明の原理を示す第１の実施例を示す図である。
図２は、本発明の第２の実施例の構成を示す図である。
図３は、本発明の第２の実施例のメモリの構成を示す図である。
図４は、本発明の第２の実施例の動作のフローチャートを示す図である。
図５は、本発明の第２の実施例の動作のタイムチャートの第１の例を示す図である。
図６は、本発明の第２の実施例の動作のタイムチャートの第２の例を示す図である。
図７は、本発明の第２の実施例の動作のタイムチャートの第３の例を示す図である。
図８は、本発明の原理を示す第３の実施例を示す図である。
図９は、本発明の第４の実施例の構成を示す図である。
図１０は、本発明の第４の実施例の動作のフローチャートを示す図である。
図１１は、本発明の第４の実施例の動作のタイムチャートを示す図である。
図１２は、本発明の第４の実施例を利用した署名システムの動作のフローチャートを示す図である。
図１３は、本発明の原理を示す第５の実施例を示す図である。
図１４は、本発明の第５の実施例の履歴メモリの構成を示す図である。
図１５は、本発明の第６の実施例の構成を示す図である。
図１６は、本発明の第６の実施例の動作のフローチャートを示す図である。
図１７は、本発明の第６の実施例の動作の時刻誤差計算処理ルーチンを示す図である。
図１８は、本発明の第７の実施例（連続して受信を誤った場合）の動作のフローチャートを示す図である。
【発明を実施するための最良の形態】  以下に、本発明を実施するための実施の形態について、図面を用いて説明する。
図１は、本発明の原理を示す第１の実施例の時刻管理システム１００を示す図である。図１において、時刻管理システム１００は、主に、電波時計送信所１０１と時刻管理装置１１０により構成される。電波時計送信所１０１は、送信アンテナ１０２から外部時刻情報１０５を送信する。図１の時刻管理装置１１０は、主に、受信アンテナ１１１、受信回路１１２、受信窓開閉回路１１３、時刻差判定回路１１４及びローカルクロック回路１１５より構成される。
図１の時刻管理装置１１０の受信回路１１２は、電波時計送信所１０１からの外部時刻情報１０５を、アンテナ１１１を介して受信し、そして、時刻データｔとして受信窓開閉回路１１３へ供給する。外部時刻情報１０５の形式については、図５を用いて後述する。
ローカルクロック回路１１５は、一旦初期値に設定された後に、自走して時刻データｔ’を出力する。
受信窓開閉回路１１３は、時刻差判定回路１１４から供給される制御信号Ｃ２に従って、受信窓を開き、この間に入力される時刻データｔを、時刻差判定回路１１４へ送る。
一方、ローカルクロック回路１１５も、時刻データｔ’を、時刻差判定回路１１４へ供給する。
時刻差判定回路１１４は、時刻データｔと時刻データｔ’の間の差の絶対値δｔを計算する。そして、この絶対値δｔが、予め定められた設定値σより小さい場合には、時刻差判定回路１１４は、時刻データｔを、時刻設定制御信号Ｃ１を介して、ローカルクロック回路１１５に設定するように制御する。一方、この絶対値δｔが、予め定められた設定値σ以上の場合には、時刻差判定回路１１４は、ローカルクロック回路１１５をそのまま自走するように制御信号Ｃ１を介して制御する。
次に、ローカルクロック回路１１５が、制御信号Ｃ１により、時刻データｔが設定されて再起動される又は自走するように制御されると、時刻差判定回路１１４は、制御信号Ｃ２により、受信窓開閉回路１１３の受信窓を閉じる。これにより、受信回路１１２から受信窓開閉回路１１３へ入力する時刻データｔは、時刻差判定回路１１４に供給されないので、ローカルクロック回路１１５は、自走する。
時刻差判定回路１１４は、予め定められた時刻Ｔに達したときに、再び制御信号Ｃ２を受信窓開閉回路１１３に送り、受信窓を開くように制御する。これにより、上述の動作を繰返す。
以上により、時刻の改ざんに強く、且つ、長期間にわたって高精度な時刻を提供できる時刻管理システム１１０を実現できる。
次に、図２、３、４、５、６及び７を使用して、本発明の第２の実施例をさらに詳しく説明する。
図２は、本発明の第２の実施例の時刻管理システムの構成を示す図である。図２に示された時刻管理システム１００は、主に、電波時計送信所１０１と時刻管理装置１１０により構成される。図２の時刻管理システム１００において、図１と同一番号を付した構成要素は、同一の構成要素を示す。図２の時刻管理装置１１０の時刻差判定回路１１４は、主に、マイクロプロセッサ（ＣＰＵ）２０１とメモリ２０２より構成される。
図３は、本発明の第２の実施例のメモリ２０２の構成を示す図である。メモリ２０２の領域３０１は、定期的に、時刻データｔを、ローカルクロック回路１１５に設定するか、又は、ランダムな時間間隔で時刻データｔを、ローカルクロック回路１１５に設定するかを示す情報を格納する。本実施例の場合には、定期的に、時刻データｔを、ローカルクロック回路１１５に設定する場合には、”０”を、また、ランダムな時間間隔で時刻データｔを、ローカルクロック回路１１５に設定する場合には、”１”を格納する。メモリ２０２の領域３０２は、ランダムな時間間隔で時刻データｔを、ローカルクロック回路１１５に設定する場合の時間間隔値であるランダム生成値を格納する。メモリ２０２の領域３０３は、前述の絶対値δｔを判断する規準となる、予め定められた設定値σを格納する。メモリ２０２の領域３０４は、定期的に、時刻データｔを、ローカルクロック回路１１５に設定する場合の時間間隔値ＴＩを格納する。また、メモリ２０２の領域３０５は、時刻データｔを、ローカルクロック回路１１５に次に設定する時刻Ｔを格納する。
図４は、本発明の第２の実施例の動作のフローチャートを示す図である。次に、本発明の第２の実施例の動作を、図４に示すフローチャートを使用して説明する。
本発明の第２の実施例の動作は、ステップ４０１で開始する。
次に、ステップ４０２で、図３のメモリ２０２の各領域３０１から３０４へ、図３を参照して前述したパラメータを設定する。領域３０１には、定期（０）／ランダム（１）ビット、領域３０２には、ランダム生成値、領域３０３には、設定値σそして、領域３０４には、時間間隔値ＴＩの、領域３０５には、時刻データｔを、ローカルクロック回路１１５に次に設定する時刻Ｔのそれぞれの初期値が設定される。
次に、ステップ４０３では、ＣＰＵ２０１は、受信回路１１２に対して制御信号２１０により時刻データｔの受信を指示し且つ、受信窓開閉回路１１３へ制御信号（Ｃ２）２１１により、受信窓を開くように指示する。
次に、ステップ４０４では、ＣＰＵ２０１は、ローカルクロック回路１１５から、信号２１２を使用して、時刻データｔ’を、ＣＰＵ２０１上で実行される時刻誤差計算プログラムへ、ロードする。
次に、ステップ４０５では、ＣＰＵ２０１は、受信窓開閉回路１１３から、信号２１３を使用して、時刻データｔを、ＣＰＵ２０１上で実行される時刻誤差計算プログラムへ、ロードする。
次に、ステップ４０６では、ＣＰＵ２０１により、時刻データｔと時刻データｔ’の時間差の絶対値δｔ＝｜ｔ−ｔ’｜を計算する。そして、時間差の絶対値δｔが、予め定められた設定値σより小さいかどうかが判断される。時間差の絶対値δｔが、予め定められた設定値σより小さいと判断された場合には、ステップ４０７へ進む。
ステップ４０７では、ＣＰＵ２０１は、制御信号（Ｃ１）２１４により制御して、受信窓開閉回路１１３から供給される時刻データｔを、信号２１２を介して、ローカルクロック回路１１５へ設定し、そして、ローカルクロック回路１１５を再起動する。
次にステップ４０８で、ＣＰＵ２０１は、制御信号（Ｃ２）２１１により、受信窓開閉回路１１３の受信窓を閉じるように制御する。そして、ステップ４０９へ進む。
ステップ４０９では、ＣＰＵ２０１は、ローカルクロック回路１１５の時刻データｔ’と、時刻データｔを、ローカルクロック回路１１５に次に設定する時刻Ｔが比較される。
ステップ４１０では、時刻データｔ’とＴが等しい場合には、ステップ４１１へ進む。一方、時刻データｔ’とＴが等しくない場合には、ステップ４０９へ進み、ステップ４０９と４１０を繰返す。
ステップ４１１では、メモリ２０２のビット３０１の値が”１”を有するか又は、”０”を有するかが判断される。メモリ２０２のビット３０１の値が”１”を有する場合には、ランダムな時間間隔で時刻データｔを、ローカルクロック回路１１５に設定することを示し、処理は、ステップ４１２へ進む。
ステップ４１２では、ＣＰＵ２０１は、メモリ２０２の領域３０４の時間間隔値ＴＩへ、領域３０２に格納されたランダム生成値をロードする。
次にステップ４１３では、ＣＰＵ２０１は、新たなランダム生成値を発生する。
次にステップ４１４では、ＣＰＵ２０１は、ステップ４１３で発生した新たなランダム生成値を、メモリ２０２の領域３０２へ格納する。そして、処理は、ステップ４１６へ進む。
一方、ステップ４１１で、メモリ２０２のビット３０１の値が”０”を有する場合には、定期的に、時刻データｔを、ローカルクロック回路１１５に設定する場合することを示し、処理は、ステップ４１５へ進む。
ステップ４１５では、メモリ２０２の領域３０４の時間間隔値ＴＩへ、値”１”をロードする。そして、処理はステップ４１６へ進む。
ステップ４１６では、時刻データｔを、ローカルクロック回路１１５に次に設定する時刻Ｔを、更新するために、メモリ２０２の領域３０５へ（Ｔ＋ＴＩ）を書きこむ。そして処理は、ステップ４０３に進み、上述の処理を繰返す。
一方、ステップ４０６で、時間差の絶対値δｔが、予め定められた設定値σ以上であると判断された場合には、ステップ４１７へ進む。
ステップ４１７では、ＣＰＵ２０１は、ローカルクロック回路１１５を自走させるように、制御信号（Ｃ１）２１４を介して制御する。そして、制御信号（Ｃ２）２１１により受信窓開閉回路１１３を制御して、受信窓を閉める。
次にステップ４１８では、ローカルクロック回路１１５は、新たな時刻（Ｔ＋ＴＩ）まで、自走したかが判断される。ローカルクロック回路１１５が、時刻（Ｔ＋ＴＩ）まで、自走したと判断される場合には、処理はステップ４０３に進み、上述の処理を繰返す。一方、ローカルクロック回路１１５はまだ、時刻（Ｔ＋ＴＩ）まで、自走していないと判断される場合には、処理はステップ４１７に進み、ステップ４１７とステップ４１８を繰返す。
以上により、図２の時刻管理装置１１０のローカルクロック回路１１５より、時刻データｔ又は、時刻データｔ’が出力される。
図５は、本発明の第２の実施例の動作のタイムチャートの第１の例を示す図である。図５（１）は、電波時計送信所１０１から送信される時刻データｔの時間を「秒」で示したものであり、ゼロ秒から次のゼロ秒までが、同一の分に対応する。
図５（２）は、電波時計送信所１０１から送信される時刻データｔの値のフォーマットを示す。この例では、最初の１０秒間は「分」の値が送信され、次の１０秒間は「時」の値が送信され、次の２０秒間は「通算日」が送信され、次の１０秒間は「年」の値が送信され、そして、最後の１０秒間は「曜日」が送信される。
図５（３）は、受信窓開閉回路１１３の受信窓を示し、受信窓は、ローカルクロック回路１１５の出力する時刻データｔ’と電波時計送信所１０１から送信される時刻データｔの値のずれにより、ΔＴだけ０秒からずれた時点ＴＡで、ＣＰＵ２０１により開かれる。一方、ＣＰＵ２０１によりローカルクロック回路１１５に時刻データｔが設定された後に、時刻ＴＣでＣＰＵ２０１により閉じられる。
図５（４）は、時刻差判定回路１１４による、時刻データｔの取り込みのタイミングＴＢを示す。タイミングＴＢで、時刻データｔ１が、時刻差判定回路１１４に取りこまれる。
図５（５）は、時刻差判定回路１１４による、ローカルクロック回路１１５からの時刻データｔ１’の取りこみのタイミングＴＢを示す。上述のタイミングＴＢで、時刻データｔ１’も、時刻差判定回路１１４に取りこまれる。
図５（６）は、時刻差判定回路１１４による、時刻データｔと時刻データｔ’の時間差の絶対値δｔ＝｜ｔ−ｔ’｜を計算するタイミングを示す。
図５（７）は、時刻差判定回路１１４による、ローカルクロック回路１１５へ、新時刻データｔ１を設定するタイミングを示す。
図５（８）は、時刻差判定回路１１４により新時刻データｔ１を設定するタイミングに１秒程度の遅延がある場合の、ローカルクロック回路１１５へ、新時刻データｔ１を設定するタイミングを示す。このように遅延がある場合でも、図５（１）に示すように、電波時計送信所１０１から送信される時刻データｔ１の時間は秒で検出されることが可能であるので、設定時に１秒ずらすことにより、電波時計送信所１０１から送信される時刻データｔ１の時間に正確にローカルクロック回路１１５に時刻データｔ１を設定することができる。
最後に、図５（９）は、新たに時刻データｔ１が設定された後の、ローカルクロック回路１１５の出力する時刻データを示す。
図６は、本発明の第２の実施例の動作のタイムチャートの第２の例を示す図である。図６は、「日」単位で、受信窓開閉回路１１３の受信窓を開く構成を示す。
図６（１）は、電波時計送信所１０１から送信される時刻データｔの時間を「時」単位で示したものであり、ゼロ時から次のゼロ時までが、同一の日に対応する。図６（２）は、受信窓開閉回路１１３の受信窓を示し、タイミングＴＡで開かれる。そして、時刻データｔがローカルクロック回路１１５へ設定できたタイミングＴＢで、受信窓開閉回路１１３の受信窓が閉じられる。また、この日の終了のタイミングＴＣまで、時刻データｔがローカルクロック回路１１５へ設定できない場合には、タイミングＴＣで受信窓開閉回路１１３の受信窓は閉じられる。
図７は、本発明の第２の実施例の動作のタイムチャートの第３の例を示す図である。図７は、「月」単位で、受信窓開閉回路１１３の受信窓を開く構成を示す。
図７（１）は、電波時計送信所１０１から送信される時刻データｔの時間を「日」単位で示したものであり、１日目から次の１日目までが、同一の月に対応する。
図７（２）は、受信窓開閉回路１１３の受信窓を開閉するタイミングを示す。１日目の最初のタイミングＴＡで受信窓開閉回路１１３の受信窓が開かれる。そして、時刻データｔがローカルクロック回路１１５へ設定できたタイミングＴＢで、受信窓開閉回路１１３の受信窓が閉じられる。この図７（２）のタイミングＴＡからタイミングＴＢの動作は、図７で説明した動作と同一である。
図７（３）は、第１日目で、時刻データｔがローカルクロック回路１１５へ設定できなかった場合を示す。この場合には、例えば、２日目まで受信窓開閉回路１１３の受信窓が開かれ、図７で説明したのと同一の動作が実行される。図７（４）は、第１日目及び第２日目ともに、時刻データｔがローカルクロック回路１１５へ設定できなかった場合を示す。この場合には、例えば、３日目まで受信窓開閉回路１１３の受信窓が開かれ、図７で説明したのと同一の動作が実行される。
次に本発明の第３の実施例について説明する。
図８は、本発明の原理を示す第３の実施例の時刻管理システム１００を示す図である。本実施例は、時刻管理装置１１０のローカルクロック回路１１５の示すローカルな時刻が、外部より供給される外部時刻情報１０５よりも進んでいる場合の実施例である。図８において、図１と同一番号の構成要素は、同一の構成要素を示す。図８に示された第３の実施例と、図１に示された第１の実施例の間の異なる点は、図８に示された第３の実施例は、クロックカウンタ８０１とゲート部８０２を有することである。
クロックカウンタ８０１は、時刻差判定回路１１４により計算される、時刻データｔと時刻データｔ’の間の差の絶対値δｔと、ローカルクロック回路１１５より出力されるクロックＣＬＫを入力とし、ゲート部８０２へゲートの開閉信号８０３を送る。
ゲート部８０２は、クロックカウンタ８０１より出力される、開閉信号８０３に従って、ローカルクロック回路１１５よりゲート部８０２に供給される時刻データを、時刻管理装置１１０から出力するかどうかを制御する。
図８の時刻管理装置１１０の受信回路１１２は、電波時計送信所１０１からの外部時刻情報１０５を、受信し、そして、時刻データｔとして受信窓開閉回路１１３へ供給する。外部時刻情報１０５の形式については、図５を用いて後述する。
ローカルクロック回路１１５は、一旦初期値に設定された後に、自走して時刻データｔ’を出力する。
受信窓開閉回路１１３は、時刻差判定回路１１４から供給される制御信号Ｃ２に従って、受信窓を開き、この間に入力される時刻データｔを、時刻差判定回路１１４へ送る。
一方、ローカルクロック回路１１５も、時刻データｔ’を、時刻差判定回路１１４へ供給する。
時刻差判定回路１１４は、時刻データｔと時刻データｔ’の間の差の絶対値δｔを計算する。そして、この絶対値δｔが、予め定められた設定値σより小さい場合には、時刻差判定回路１１４は、時刻データｔを、時刻設定制御信号Ｃ１を介して、ローカルクロック回路１１５に設定するように制御する。一方、この絶対値δｔが、予め定められた設定値σ以上の場合には、時刻差判定回路１１４は、ローカルクロック回路１１５をそのまま自走するように制御信号Ｃ１を介して制御する。
ここで、時刻管理装置１１０のローカルクロック回路１１５の示すローカルな時刻が、外部より供給される外部時刻情報１０５よりも進んでいる場合には、外部より供給される外部時刻情報１０５を、時刻管理装置１１０内に取り込むと、時刻管理装置１１０の出力する時間が、僅かに過去の時点の時刻へ戻ることになる。
第３の実施例では、時刻差判定回路１１４が、時刻データｔを、時刻設定制御信号Ｃ１を介して、ローカルクロック回路１１５に設定するように制御する場合に、絶対値δｔを、クロックカウンタ８０１に設定する。そして、クロックカウンタ８０１は、開閉信号８０３により、ゲート部８０２を閉じるように制御する。そして、次に、クロックカウンタ８０１が、クロックＣＬＫによりカウントアップされ、そして、設定された絶対値δｔにカウント値が達すると、開閉信号８０３により、ゲート部８０２を開くように制御する。このようにすることにより、時刻管理装置１１０の出力する時間が、過去の時点の時刻へ戻ることを防止できる。
次に、ローカルクロック回路１１５が、制御信号Ｃ１により、時刻データｔが設定されて再起動される又は自走するように制御されると、時刻差判定回路１１４は、制御信号Ｃ２により、受信窓開閉回路１１３の受信窓を閉じる。これにより、受信回路１１２から受信窓開閉回路１１３へ入力する時刻データｔは、時刻差判定回路１１４に供給されないので、ローカルクロック回路１１５は、自走する。
時刻差判定回路１１４は、予め定められた時刻Ｔに達したときに、再び制御信号Ｃ２を受信窓開閉回路１１３に送り、受信窓を開くように制御する。これにより、上述の動作を繰返す。
以上により、時刻の改ざんに強く、且つ、長期間にわたって高精度な時刻を提供できる時刻管理装置１１０を実現できかつ、時刻管理装置１１０から出力する時刻がこの時点の時刻に戻ることのない、信頼性ある時刻を出力できる。
次に、図９、１０、１１及び１２を使用して、本発明の第４の実施例をさら詳しく説明する。
図９は、本発明の第４の実施例の構成を示す図である。本実施例は、時刻管理装置１１０のローカルクロック回路１１５の示すローカルな時刻が、外部より供給される外部時刻情報１０５よりも進んでいる場合の実施例である。図９において、図２と同一番号の構成要素は、同一の構成要素を示す。図９に示された第４の実施例と、図２に示された第２の実施例の間の異なる点は、図９に示された第３の実施例は、ＣＰＵ２０１が、クロックカウンタの機能を含むことと、ゲート部８０２を有することである。
クロックカウンタの機能及びゲート部８０２の動作は、図８を参照して接続された第３の実施例と同一である。
図１０は、本発明の第４の実施例の動作のフローチャートを示す図である。図１０において、図４と同一番号を付したステップは、同一のステップを示すものとする。
図１０に示す本発明の第４の実施例の動作のフローチャートと図４に示す本発明の第２の実施例の動作のフローチャートの相違点は、図４のステップ４０７と４０８が、図１０のステップ１００１と置き換えられたことである。
図１０のステップ４０６では、ＣＰＵ２０１により、時刻データｔと時刻データｔ’の時間差の絶対値δｔ＝｜ｔ−ｔ’｜を計算する。そして、時間差の絶対値δｔが、予め定められた設定値σより小さいかどうかが決定される。時間差の絶対値δｔが、予め定められた設定値σより小さいと判断された場合には、ステップ１００１へ進む。
ステップ１００１では、ＣＰＵ２０１は、時刻データｔを、時刻設定制御信号Ｃ１を介して、ローカルクロック回路１１５に設定するように制御する。この場合には、ＣＰＵ２０１から開閉信号８０３が出力され、これにより、ゲート部８０２を閉じるように制御する。そして、次に、ＣＰＵ２０１内のクロックカウンタ機能が、クロックＣＬＫによりカウントアップされ、そして、設定された絶対値δｔにカウント値が達すると、開閉信号８０３により、ゲート部８０２を開くように制御する。このようにすることにより、時刻管理装置１１０の出力する時間が、過去の時点の時刻へ戻ることを防止できる。
図１１は、本発明の第４の実施例の動作のタイムチャートを示す図である。図１１の横軸は、電波時計送信所１０１より送られる外部時刻情報１０５による時間の経過を示し、一方、図１１の縦軸は、ローカルクロック回路１１５の自走クロックによる時間の経過を示す。
外部時刻情報１０５の時間とローカルクロック回路１１５の自走クロックによる時間の経過速度が一致している場合には、増加角度４５°の直線１１０１が示すように、外部時刻情報１０５による時間の経過とローカルクロック回路１１５の自走クロックによる時間の経過が一致する。一方、ローカルクロック回路１１５の自走クロックによる時間の経過速度の方が外部時刻情報１０５による時間の経過速度よりも速い場合には、直線１１０２のように、ローカルクロック回路１１５の自走クロックが進む。ローカルクロック回路１１５の自走クロックによる時間の経過速度の方が外部時刻情報１０５による時間の経過速度よりも遅い場合には、直線１１０３のように、ローカルクロック回路１１５の自走クロックが送れる。
ここで、直線１１０２に示されたように、ローカルクロック回路１１５の自走クロックが進む場合において、時刻Ｔでローカルクロック回路１１５が外部時刻情報１０５による時刻データｔに設定されると、時刻Ｔでは、ローカルクロック回路１１５はその出力する時刻が、過去にローカルクロック回路１１５が出力した時刻に戻ることとなり、時刻署名の信頼性が低下する。
そこで、ローカルクロック回路１１５の出力する時刻が、時刻Ｔにおいて外部時刻情報１０５による時刻データｔに設定された後に、時刻データｔと時刻データｔ’の時間差の絶対値δｔの間だけ、ゲート部８０２により、時刻管理装置１１０から出力するのを禁止する。これは、時刻ＴからＴ’の間は、時刻管理装置１１０からの時刻出力を停止することに想到する。そして、この期間の経過後に、即ち、時刻Ｔ’から、時刻の出力を開始することにより、以前にローカルクロック回路１１５が出力した時刻に戻ることを防止できる。
尚、ローカルクロック回路１１５の出力するローカルクロック時刻の方が遅れているときは、外部時刻情報１０５に一致させても過去の時刻へ戻ることがないので、δｔの期間、出力を阻止する必要はない。
図１２は、本発明の第４の実施例を利用した署名システムの動作のフローチャートを示す図である。例えば、本発明を利用した、署名システムのソフトウェア等により実行される。
ステップ１２０１で本署名システムの動作は開始する。
次にステップ１２０２で、署名システムのソフトウェアは、図９の開閉信号８０３が、オンかオフかを判断する。ここで、開閉信号８０３がオンの場合には、図９のゲート部８０２は、ローカルクロック回路１１５の出力するローカルクロック８０４を時刻管理装置１１０から出力する。開閉信号８０３がオフの場合には、ステップ１２０２を繰返す。
次にステップ１２０３では、署名システムのソフトウェアは、時刻管理装置１１０より出力される時刻が、全て０又は、全て１でないかを判断する。いずれかの場合には、処理はステップ１２０２へ戻り、上述の処理を繰返し、正規に時刻が出力されるまで待つ。いずれでもない場合には、処理はステップ１２０４へ進む。
ステップ１２０４では、署名システムのソフトウェアは、ローカルクロック回路からゲートを通して送られてくる時刻出力を入手する。
ステップ１２０５では、署名システムのソフトウェアは、署名する入力データを取得する。
次にステップ１２０６では、署名システムのソフトウェアは、ｋｅｙを取得する。
そして、ステップ１２０７で、署名システムのソフトウェアは、入力データと時刻出力とｋｅｙを用いて時刻署名付きデータを作成する。
そして、ステップ１２０８で、署名システムのソフトウェアは、作成した時刻署名付きデータを記憶装置に格納する。
最後にステップ１２０９で、署名システムのソフトウェアの処理は終了する。
以上のように、本発明を利用した、署名システムのソフトウェア等により、時刻署名付きデータを作成できる。
次に本発明の第５の実施例について説明する。
図１３は、本発明の原理を示す第５の実施例の時刻管理システム１００を示す図である。本実施例は、特に、正当な時計利用のための保証手段を提供する実施例である。
図１３において、図８と同一番号の構成要素は、同一の構成要素を示す。図８に示された第３の実施例と、図１３に示された第５の実施例の間の異なる点は、図１３に示された第１５の実施例は、時刻署名装置１３０１と時刻署名装置１３０１に接続された履歴メモリ１３０２とを有し、ゲート部８０２の出力信号が時刻署名装置１３０１へ供給されることである。また、署名鍵設定入力１３０３、要求出力モード入力１３０４及び電文入力１３０５が、時刻署名装置１３０１に入力され、署名付時刻、時刻署名付電文、及び時刻署名付時刻発行履歴が出力１３１０より出力される。
図１４は、履歴メモリ１３０２の内容の実施例を示す図である。履歴メモリ１３０２は、電波受信時刻ｔ’、電波時計時刻ｔ、署名発行時刻ｔｓ、誤差絶対値δｔ、及び認証子ＣＳを記憶する領域を有する。また、参照番号１４１０、１４１１、１４１２及び１４１３は、時刻管理装置１１０内での自動時刻発生の記録を示す。また参照記号１４２０、４１２１は、利用者側の要求で発行した時刻署名の記録を示す。
次に、図１３に示された第５の実施例の動作を、図１４を参照して説明する。図１３において、図８と同一番号の構成要素の動作は、図８に示された第３の実施例で説明した動作と同一である。
先ず、利用者の鍵、即ち認証子ＣＳは、署名鍵設定入力１３０３を介して時刻署名装置１３０１に設定される。
次に、時刻署名装置１３０１は、時刻管理装置１１０が常に正当な時刻情報を活用している証とするために、先ず、最初に、受信回路１１２、受信窓開閉回路１１３を介して、定期的に外部から正当な時刻情報ｔを受信する。そして、この受信した正当な時刻情報ｔとローカルクロック回路１１５で発生した時刻情報ｔ’との間の時間差δｔを、時間差判定回路１１４により求める。
そして、次に、受信した正当な時刻情報ｔと時間差δｔは、時刻署名装置１３０１に送られ、利用者の鍵ＣＳ１で署名される。そして、更に、時刻管理装置１１０の内部の時刻履歴メモリ１３０２に、図１４に示すように、自動時刻発生の記録１４１０として、電波受信時刻ｔ１’、電波時計時刻ｔ１、誤差絶対値δｔ１、及び認証子ＣＳ１が、保管される。
そして、業務処理で生じた文書へタイムスタンプを発行する場合には、要求出力モード入力１３０４及び電文入力１３０５から、タイムスタンプ発行の要求と、電文が入力される。この入力された電文に対して、タイムスタンプが付加されて、図１３の出力１３１０より時刻署名付電文が出力される。
更に、発行されるタイムスタンプである、ローカルクロック回路の発生する署名発生時刻ｔｓ１１、ｔｓ１２、．．、ｔｓ１ｍも上述と同様に、利用者の鍵で署名され、時刻管理装置１１０の内部の時刻履歴メモリ１３０２に、利用者側の要求で発行した時刻署名の記録１４２０として、保管される。利用者側の要求で発行した時刻署名の記録１４２０には、署名発行時刻ｔｓ１１、ｔｓ１２、．．、ｔｓ１ｍが順に、認証子ＣＳ１１、ＣＳ１２、ＣＳ１と共に、利用者側の要求で発行した時刻署名の記録１４２０として、保管される。
順に、時刻管理装置１１０の内部の時刻履歴メモリ１３０２に、図１４に示すように、自動時刻発生の記録１４１１として、電波受信時刻ｔ２’、電波時計時刻ｔ２、誤差絶対値δｔ２、及び認証子ＣＳ２が、保管される。
次に、上述と同様に、利用者側の要求で発行した時刻署名の記録１４２１には、署名発行時刻ｔｓ２１、ｔｓ１２が順に、認証子ＣＳ２１、ＣＳ２２と共に、利用者側の要求で発行した時刻署名の記録１４２１として、時刻履歴メモリ１３０２に、保管される。
更に、電波受信時刻ｔ３’、ｔ４’で、自動時刻発生の記録１４１２、１４１３が、時刻履歴メモリ１３０２に記憶される。
このように、と受信した正当な時刻情報ｔと時間差δｔを利用者の鍵で署名し、ローカルクロック回路１１５の発生する署名発生時刻ｔｓも同様に利用者の鍵で署名して、自動時刻発生の記録と利用者側の要求で発行した時刻署名の記録を、時刻管理装置１１０の内部の時刻履歴メモリ１３０２に保管する。そして、タイムスタンプ時刻の信頼性に関連する問題が発生した場合には、出力１３１０より、自動時刻発生の記録と利用者側の要求で発行した時刻署名の記録である、時刻署名付時刻発行履歴と署名付時刻とを出力し、この出力された情報に基づいて、正当な時計利用のための保証手段を提供することができる。
次に、図１５、１６及び１７を使用して、本発明の第６の実施例をさら詳しく説明する。
図１５は、本発明の第６の実施例の構成を示す図である。本実施例は、特に、正当な時計利用のための保証手段を提供する実施例である。図１５において、図９と同一番号の構成要素は、同一の構成要素を示す。図９に示された第４の実施例と、図１５に示された第６の実施例の間の異なる点は、図１５に示された第６の実施例は、時刻署名装置１３０１を有し、ゲート部８０２の出力信号が時刻署名装置１３０１へ供給されることである。また、署名鍵設定入力、要求出力モード入力及び電文入力が、入出力バス１３２０を介して、ＣＰＵ２０１に入力され、ＣＰＵ２０１からさらに、信号線１３２１を介して時刻署名装置１３０１に入力される。また、署名付時刻、時刻署名付電文、及び時刻署名付時刻発行履歴が、時刻署名装置１３０１、信号線１３２１を介してＣＰＵ２０１に入力され、ＣＰＵ２０１からさらに、入出力バス１３２０を介して、出力１３２０より出力される。
次に、図１５に示された第６の実施例での動作を説明する。図１５において、図９と同一番号の構成要素の動作は、図９に示された第４の実施例で説明した動作と同一である。
図１６及び図１７は、本発明の第６の実施例の動作のフローチャートを示す図である。図１６において、図１０と同一番号を付したステップは、同一のステップを示すものとする。また、図１７は、時刻誤差計算処理ルーチン１７００を示し、この時刻誤差計算処理ルーチン１７００は、ステップ１７０１で開始し、図１０のステップ４０３、４０４及び４０５と同一の動作を実行し、そして、ステップ１７０２で戻る処理を実行する。
図１０に示す本発明の第４の実施例の動作のフローチャートと図１６及び図１７に示す本発明の第６の実施例の動作のフローチャートの相違点は、図１０のステップ４０３から４０５が、図１６のステップ１６０１で実行され、ステップ１６０２、１６０３、１６０４、１６０５、１６０６，１６０７，１６０８、１６０９が追加されたことである。
図１６のステップ１６０１では、図１７のステップ４０２、４０３及び４０４に示されているように、図１０のステップ４０２、４０３及び４０４で実行される処理と同一の処理が実行される。
次に、ステップ１６０２では、電波時計時刻ｔ、誤差の絶対値δｔに対して、時刻署名装置１３０１が、認証子ＣＳで署名処理を実施し、そして、ｔ、δｔ及びＣＳを、上述の実施例５で、図１４を参照して示したように、図１５のＣＰＵ２０１に接続されたメモリ２０２内の領域の一部として構成される時刻履歴メモリに、記憶する。
次に、図１６のステップ４０６では、ＣＰＵ２０１により、時刻データｔと時刻データｔ’の時間差の絶対値δｔ＝｜ｔ−ｔ’｜を計算する。そして、時間差の絶対値δｔが、予め定められた設定値σより小さいかどうかが決定される。時間差の絶対値δｔが、予め定められた設定値σより小さいと判断された場合には、ステップ１６０３へ進む。
ステップ１６０３では、パラメータＬにゼロが代入される。そして、ステップ１００１へ進む。
ステップ１００１では、ＣＰＵ２０１は、時刻データｔを、時刻設定制御信号Ｃ１を介して、ローカルクロック回路１１５に設定するように制御する。この場合には、ＣＰＵ２０１から開閉信号８０３が出力され、これにより、ゲート部８０２を閉じるように制御する。そして、次に、ＣＰＵ２０１内のクロックカウンタ機能が、クロックＣＬＫによりカウントアップされ、そして、設定された絶対値δｔにカウント値が達すると、開閉信号８０３により、ゲート部８０２を開くように制御する。このようにすることにより、時刻管理装置１１０の出力する時間が、過去の時点の時刻へ戻ることを防止できる。
次に、ステップ４０６で、時間差の絶対値δｔが、予め定められた設定値σより大きいか又は等しいと判断された場合には、ステップ１６０４へ進む。
ステップ１６０４では、パラメータＬを１だけ増加し、ステップ１６０５へ進む。
ステップ１６０５では、δｔが所定の回数だけ連続してしきい値σを超えた可動化をパラメータＬの値を基にして判断し、δｔが所定の回数だけ連続してしきい値σを超えたと判断する場合には、ステップ１６０６へ進む。
そして、ステップ１６０６では、所定のエラーの発生したことを示す表示を行う。
一方、ステップ１６０５は、δｔがまだ所定の回数だけ連続してしきい値σを超えていないと判断される場合には、ステップ４１７へ進む。ステップ４１７の動作は、図１０で示された動作と同様である。
上述の、ステップ１００１の動作を完了した後には、ステップ４０９へ進む。
図４及び１０で説明したように、ステップ４０９では、ＣＰＵ２０１は、ローカルクロック回路１１５の時刻データｔ’と、時刻データｔを、ローカルクロック回路１１５に次に設定する時刻Ｔが比較される。
ステップ４１０では、時刻データｔ’とＴが等しい場合には、ステップ４１１へ進む。一方、時刻データｔ’とＴが等しくない場合には、ステップ１６０７へ進む。
ステップ１６０７では、入出力バス１３２０を介して、電文への署名要求の割り込みが行われたかどうかを判断する。電文への署名要求が行われた場合には、ステップ１６０８へ進む。署名要求が行われた場合には、ステップ４０９へ進み，ステップ４０９とステップ４１０を繰返す。
ステップ１６０８では、図１７を参照して説明した、時刻誤差計算処理ルーチンが再び実行される。このステップ１６０８の終了後に、処理は、ステップ１６０９へ進む。
ステップ１６０９では、署名発行時刻ｔｓに対して、図１５に示された時刻署名装置１３０１により、署名処理を実行し、入出力バス１３２０を介して時刻署名付電文を出力すると共に、署名発行時刻ｔｓと、認証子ＣＳを、図１４を参照して示したように、図１５のＣＰＵ２０１に接続されたメモリ２０２内の領域の一部として構成される時刻履歴メモリに、記憶する。そして、ステップ４０９へ進み，ステップ４０９とステップ４１０を繰返す。
ステップ４１０では、時刻データｔ’とＴが等しい場合には、ステップ４１１へ進み、図４及び図１０を参照して上述した動作を繰返す。
このように、受信した正当な時刻情報ｔと時間差δｔを利用者の鍵で署名し、ローカルクロック回路１１５の発生する時刻ｔｓも同様に利用者の鍵で署名して、自動時刻発生の記録と利用者側の要求で発行した時刻署名の記録を、時刻管理装置１１０の内部の時刻履歴メモリに保管する。そして、タイムスタンプ時刻の信頼性に関連する問題が発生した場合には、入出力バス１３２０より、自動時刻発生の記録と利用者側の要求で発行した時刻署名の記録である、時刻署名付時刻発行履歴と署名付時刻とを出力し、この出力された情報に基づいて、正当な時計利用のための保証手段を提供することができる。
次に本発明の第７の実施例を説明する。本発明の第７の実施例は、時刻管理装置が、例えば机の中のような電波の届かないところに置かれ、このために、時刻管理装置のローカルクロックのみで時間を刻んでいる状態において、時刻管理装置が電波時計から時刻を受信したときに、ローカル時刻ｔ’から電波時計の時刻ｔへ円滑に移行することを可能とする実施例である。
本第７の実施例では、電波時計の受信誤りの連続回数をＬ回とし、そして、時刻差｜ｔ−ｔ’｜が、σの初期値σ０のＬ倍よりも小さい場合には、電波時計時刻ｔを使用する。また、これに対して、時刻差｜ｔ−ｔ’｜が、σの初期値σ０のＬ倍以上である場合には、エラー表示を行って時刻管理装置の動作を停止させるように動作する。
図１８及び図１７は、本発明の第７の実施例の動作のフローチャートを示す図である。図１８において、図１６と同一番号を付したステップは、同一のステップを示すものとする。また、図１７は、時刻誤差計算処理ルーチン１７００を示し、この時刻誤差計算処理ルーチン１７００は、ステップ１７０１で開始し、図１０のステップ４０３、４０４及び４０５と同一の動作を実行し、そして、ステップ１７０２で戻る処理を実行する。
図１６に示す本発明の第６の実施例の動作のフローチャートと図１８に示す本発明の第７の実施例の動作のフローチャートの相違点は、図１６のステップ４１８と４６０の間にステップ１８０２が、更に、ステップ１６０３と１００１の間にステップ１８０１がそれぞれ追加されたことである。
図１８のステップ１６０１では、図１７のステップ４０２、４０３及び４０４に示されているように、図１０のステップ４０２、４０３及び４０４で実行される処理と同一の処理が実行される。
次に、ステップ１６０２では、電波時計時刻ｔ、誤差の絶対値δｔに対して、時刻署名装置１３０１が、認証子ＣＳで署名処理を実施し、そして、ｔ、δｔ及びＣＳを、上述の実施例５で、図１４を参照して示したように、図１５のＣＰＵ２０１に接続されたメモリ２０２内の領域の一部として構成される時刻履歴メモリに、記憶する。
次に、図１８のステップ４０６では、ＣＰＵ２０１により、時刻データｔと時刻データｔ’の時間差の絶対値δｔ＝｜ｔ−ｔ’｜を計算する。そして、時間差の絶対値δｔが、予め定められた設定値σより小さいかどうかが決定される。時間差の絶対値δｔが、予め定められた設定値σより小さいと判断された場合には、ステップ１６０３へ進む。
ステップ１６０３では、パラメータＬにゼロが代入される。そして、ステップ１８０１に示すように、パラメータσに初期値σ０を再設定して、ステップ１００１へ進む。
ステップ１００１では、ＣＰＵ２０１は、時刻データｔを、時刻設定制御信号Ｃ１を介して、ローカルクロック回路１１５に設定するように制御する。この場合には、ＣＰＵ２０１から開閉信号８０３が出力され、これにより、ゲート部８０２を閉じるように制御する。そして、次に、ＣＰＵ２０１内のクロックカウンタ機能が、クロックＣＬＫによりカウントアップされ、そして、設定された絶対値δｔにカウント値が達すると、開閉信号８０３により、ゲート部８０２を開くように制御する。このようにすることにより、時刻管理装置１１０の出力する時間が、過去の時点の時刻へ戻ることを防止できる。
次に、ステップ４０６で、時間差の絶対値δｔが、予め定められた設定値σより大きいか又は等しいと判断された場合には、ステップ１６０４へ進む。
ステップ１６０４では、パラメータＬを１だけ増加し、ステップ１６０５へ進む。
ステップ１６０５では、δｔが所定の回数だけ連続してしきい値σを超えた可動化をパラメータＬの値を基にして判断し、δｔが所定の回数だけ連続してしきい値σを超えたと判断する場合には、ステップ１６０６へ進む。
そして、ステップ１６０６では、所定のエラーの発生したことを示す表示を行う。
一方、ステップ１６０５は、δｔがまだ所定の回数だけ連続してしきい値σを超えていないと判断される場合には、ステップ４１７へ進む。ステップ４１７の動作は、図１６で示された動作と同様である。
次に、ステップ４１８において、ある一定時刻Ｔだけローカルクロックが自走した後に、ステップ１８０２に進み、ここでσ０をＬ倍した値をパラメータσに設定する。この後に、処理は、図１８に示すようにステップ４６０に進む。
上述の、ステップ１００１の動作を完了した後には、ステップ４０９へ進む。
図４及び１０で説明したように、ステップ４０９では、ＣＰＵ２０１は、ローカルクロック回路１１５の時刻データｔ’と、時刻データｔを、ローカルクロック回路１１５に次に設定する時刻Ｔが比較される。
ステップ４１０では、時刻データｔ’とＴが等しい場合には、ステップ４１１へ進む。一方、時刻データｔ’とＴが等しくない場合には、ステップ１６０７へ進む。
ステップ１６０７では、入出力バス１３２０を介して、電文への署名要求の割り込みが行われたかどうかを判断する。電文への署名要求が行われた場合には、ステップ１６０８へ進む。署名要求が行われた場合には、ステップ４０９へ進み，ステップ４０９とステップ４１０を繰返す。
ステップ１６０８では、図１７を参照して説明した、時刻誤差計算処理ルーチンが再び実行される。このステップ１６０８の終了後に、処理は、ステップ１６０９へ進む。
ステップ１６０９では、署名発行時刻ｔｓに対して、図１５に示された時刻署名装置１３０１により、署名処理を実行し、入出力バス１３２０を介して時刻署名付電文を出力すると共に、署名発行時刻ｔｓと、認証子ＣＳを、図１４を参照して示したように、図１５のＣＰＵ２０１に接続されたメモリ２０２内の領域の一部として構成される時刻履歴メモリに、記憶する。そして、ステップ４０９へ進み，ステップ４０９とステップ４１０を繰返す。
ステップ４１０では、時刻データｔ’とＴが等しい場合には、ステップ４１１へ進み、図４及び図１０を参照して上述した動作を繰返す。
このように、受信した正当な時刻情報ｔと時間差δｔを利用者の鍵で署名し、ローカルクロック回路１１５の発生する時刻ｔｓも同様に利用者の鍵で署名して、自動時刻発生の記録と利用者側の要求で発行した時刻署名の記録を、時刻管理装置１１０の内部の時刻履歴メモリに保管する。そして、タイムスタンプ時刻の信頼性に関連する問題が発生した場合には、入出力バス１３２０より、自動時刻発生の記録と利用者側の要求で発行した時刻署名の記録である、時刻署名付時刻発行履歴と署名付時刻とを出力し、この出力された情報に基づいて、正当な時計利用のための保証手段を提供することができる。
【図１】
2004107064.tif 000003
【図２】
2004107064.tif 000004
【図３】
2004107064.tif 000005
【図４】
2004107064.tif 000006
【図５】
2004107064.tif 000007
【図６】
2004107064.tif 000008
【図７】
2004107064.tif 000009
【図８】
2004107064.tif 000010
【図９】
2004107064.tif 000011
【図１０】
2004107064.tif 000012
【図１１】
2004107064.tif 000013
【図１２】
2004107064.tif 000014
【図１３】
2004107064.tif 000015
【図１４】
2004107064.tif 000016
【図１５】
2004107064.tif 000017
【図１６】
2004107064.tif 000018
【図１７】
2004107064.tif 000019
【図１８】
2004107064.tif 000020
【手続補正書】
【提出日】平成17年2月16日(2005.2.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込ステップと、
自走時刻を出力するローカル時計ステップと、
前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計ステップに設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計ステップに設定しない、時刻差判定ステップとを有する時刻管理方法であって、
前記予め定められた時間幅内で、前記外部時刻取込ステップにより、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込ステップによる前記外部時刻の取り込みを継続する、ところの時間管理方法。
【請求項２】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段とを有する時刻管理装置であって、
前記予め定められた時間幅内で、前記外部時刻取込手段により、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込手段による前記外部時刻の取り込みを継続する、ところの時刻管理装置。
【請求項３】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込ステップと、
自走時刻を出力するローカル時計ステップと、
前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計ステップに設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計ステップに設定しない、時刻差判定ステップと、
前記ローカル時計ステップに設定された前記外部時刻が、前記外部時刻を前記ローカル時計ステップに設定する直前に前記ローカル時計ステップが出力した時刻よりも、過去の時刻に等しい場合には、前記ローカル時計ステップが出力する時刻が、前記外部時刻を前記ローカル時計ステップに設定する直前に前記ローカル時計ステップが出力した前記過去の時刻に達するまで、前記ローカル時計ステップの出力する時刻を出力することを阻止する時刻出力阻止ステップと、を有することを特徴とする、時刻管理方法。
【請求項４】
前記外部時刻取込ステップによる前記外部時刻の取り込みは、一定の時間間隔で実行されることを特徴とする、請求項３に記載の時刻管理方法。
【請求項５】
前記外部時刻取込ステップによる前記外部時刻の取り込みは、ランダムな時間間隔で実行されることを特徴とする、請求項３に記載の時刻管理方法。
【請求項６】
前記予め定められた時間幅内で、前記外部時刻取込ステップにより、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込ステップによる前記外部時刻の取り込みを継続する、請求項４に記載の時刻管理方法。
【請求項７】
前記予め定められた時間幅内で、前記外部時刻取込ステップにより、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込ステップによる前記外部時刻の取り込みを継続する、請求項５に記載の時刻管理方法。
【請求項８】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段と、
前記ローカル時計手段に設定された前記外部時刻が、前記外部時刻を前記ローカル時計手段に設定する直前に前記ローカル時計手段が出力した時刻よりも、過去の時刻に等しい場合には、前記ローカル時計手段が出力する時刻が、前記外部時刻を前記ローカル時計手段に設定する直前に前記ローカル時計手段が出力した前記過去の時刻に達するまで、前記ローカル時計手段の出力する時刻を出力することを阻止する時刻出力阻止手段と、を有することを特徴とする、時刻管理装置。
【請求項９】
前記外部時刻取込手段による前記外部時刻の取り込みは、一定の時間間隔で実行されることを特徴とする、請求項８に記載の時刻管理装置。
【請求項１０】
前記外部時刻取込手段による前記外部時刻の取り込みは、ランダムな時間間隔で実行されることを特徴とする、請求項８に記載の時刻管理装置。
【請求項１１】
前記予め定められた時間幅内で、前記外部時刻取込手段により、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込手段による前記外部時刻の取り込みを継続する、請求項９に記載の時刻管理装置。
【請求項１２】
前記予め定められた時間幅内で、前記外部時刻取込手段により、前記外部時刻が取り込めない場合には、前記予め定められた時間幅を拡張して、前記外部時刻取込手段による前記外部時刻の取り込みを継続する、請求項１０に記載の時刻管理装置。
【請求項１３】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込ステップと、
自走時刻を出力するローカル時計ステップと、
前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計ステップに設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計ステップに設定しない、時刻差判定ステップと、
前記自走時刻と前記外部時刻と前記差に、所定の鍵を使用して署名を行って第１の認証子を生成するステップと、
前記自走時刻と前記外部時刻と前記差及び前記第１の認証子を記憶するステップと、
署名発行命令を受信する受信ステップと、
前記受信ステップの受信した署名発行命令に従って、所定の署名発行時刻で所定の鍵を使用して署名を行って第２の認証子を生成するステップと、
前記署名発行時刻と前記第２の認証子を記憶するステップと、
を有することを特徴とする、時刻管理方法。
【請求項１４】
前記時刻差判定ステップが計算する、前記外部時刻取込ステップにより取り込んだ前記外部時刻と、前記ローカル時計ステップの出力する前記自走時刻との差が、前記差が予め定められた値以上であることを、所定の回数だけ連続して検出した場合には、所定の誤りが発生したことを示す、誤り表示発生ステップを更に有する、請求項１３に記載の方法。
【請求項１５】
予め定められた時間幅内で外部時刻を取り込む外部時刻取込手段と、
自走時刻を出力するローカル時計手段と、
前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差を計算し、前記差が予め定められた値より小さい場合には前記外部時刻を前記ローカル時計手段に設定し、そして、前記差が予め定められた値以上の場合には前記外部時刻を前記ローカル時計手段に設定しない、時刻差判定手段と、
前記自走時刻と前記外部時刻と前記差に、所定の鍵を使用して署名を行って第１の認証子を生成する手段と、
前記自走時刻と前記外部時刻と前記差及び前記第１の認証子を記憶する手段と、
署名発行命令を受信する受信手段と、
前記受信手段の受信した署名発行命令に従って、所定の署名発行時刻で所定の鍵を使用して署名を行って第２の認証子を生成する手段と、
前記署名発行時刻と前記第２の認証子を記憶する手段と、
を有することを特徴とする、時刻管理装置。
【請求項１６】
前記時刻差判定手段が計算する、前記外部時刻取込手段により取り込んだ前記外部時刻と、前記ローカル時計手段の出力する前記自走時刻との差が、前記差が予め定められた値以上であることを、所定の回数だけ連続して検出した場合には、所定の誤りが発生したことを示す、誤り表示発生手段を更に有する、請求項１５に記載の装置。
【国際調査報告】
2004107064.tif 000021
2004107064.tif 000022
2004107064.tif 000023
2004107064.tif 000024