(57)【特許請求の範囲】
【請求項１】
データの暗号化を行う暗号制御部に、データの登録時刻の管理のためのカレンダ時計を備え、
前記カレンダ時計の暗号化されていないデータで時刻を設定するプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、
前記カレンダ時計の時刻の再設定は、第三者の知り得ないキーで暗号化した時刻を用いる暗号モードでのみ可能とすることを特徴としたカレンダ時計の制御方法。
【請求項２】
前記カレンダ時計の時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較して、時刻を再設定することを特徴とした請求項１記載のカレンダ時計の制御方法。
【請求項３】
前記カレンダ時計の時刻の再設定時に、複数のカレンダ時計の時刻から正しい時刻を演算して再設定をすることを特徴とした請求項１記載のカレンダ時計の制御方法。
【請求項４】
前記カレンダ時計の時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較し、自分の時刻が所定の時刻以上異なる場合は、故障と判断することを特徴とした請求項２記載のカレンダ時計の制御方法。
【請求項５】
データの登録の制御を行う制御部と、
データの暗号化の制御を行う暗号制御部とを備えたデータ管理装置であって、  前記暗号制御部にデータの登録時刻の管理のためのカレンダ時計を備え、
前記カレンダ時計の暗号化されていないデータで時刻を設定するプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、
前記カレンダ時計の時刻の再設定は、第三者の知り得ないキーで暗号化した時刻を用いる暗号モードでのみ可能とすることを特徴としたデータ管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書等のデータを電子的に登録する場合において、その登録日時を記録し、また、その文書や登録日時の情報を容易に改ざんできないようにするためのカレンダ時計の制御方法及びデータ管理装置に関する。
【０００２】
文書を証拠性のあるデータとして電子的に管理するためには、当該文書の内容を第三者が改ざんしていないことを電子的に証明する必要がある。それを実現するためには、登録すべき文書と登録時刻に対して、チェックコードを作成したデータをセットで格納する手段が考えられる。ただし、そのためには、当該時刻を第三者が変更できないような手段の提供、およびチェックコードの演算方法が第三者に知られないように管理する手段を実現する必要がある。
【０００３】
【従来の技術】
従来、改ざんを防ぎ、また改ざんを検出するためには、当該文書に対してチェックコードを付与し、そのチェックコードの演算方法は暗号手段によって行い、暗号キーは第三者に渡らないように管理されていた。また、文書の登録日時を管理するため、第三者が容易にシステムの時刻を変更できないよう、再セットの禁止手段を持つものであった。
【０００４】
【発明が解決しようとする課題】
前記従来のものには、次のような課題があった。
【０００５】
時計は精度の関係でずれる場合もあれば、故障で交換する場合もある。このため定期的に時計を他の時計とチェックし補正する手段および甚だしくずれている時計は故障として交換することを判断する必要がある。しかしながら、再セットを禁止しながら定期的に補正する機能を提供する時計は現状では存在しないものであった。
【０００６】
本発明は、カレンダ時計の不正なセットを禁止し、かつ時刻の補正機能を提供することを目的とする。
【０００７】
【課題を解決するための手段】
図１は本発明の原理説明図である。図１中、３ａは制御部、４は暗号制御部、１５ａはカレンダ時計である。
【０００８】
本発明は前記従来の課題を解決するため次のように構成した。
【０００９】
（１）：データの暗号化を行う暗号制御部４に、データの登録時刻の管理のためのカレンダ時計１５ａを備え、前記カレンダ時計１５ａの暗号化されていないデータで時刻を設定するプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、前記カレンダ時計１５ａの時刻の再設定は、第三者の知り得ないキーで暗号化した時刻を用いる暗号モードでのみ可能とする。
【００１０】
（２）：前記（１）のカレンダ時計の制御方法において、前記カレンダ時計１５ａの時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較して中間値を取る等の法則により求めた時刻を再設定する。
【００１１】
（３）：前記（１）のカレンダ時計の制御方法において、前記カレンダ時計１５ａの時刻の再設定時に、複数のカレンダ時計１５ａの時刻から正しい時刻を演算して再設定する。
【００１２】
（４）：前記（１）のカレンダ時計の制御方法において、前記カレンダ時計１５ａの時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較し、自分の時刻が所定の時刻以上異なる場合は、故障と判断する。
【００１３】
（５）：データの登録の制御を行う制御部３ａとデータの暗号化の制御を行う暗号制御部４とを備えたデータ管理装置であって、前記暗号制御部４にデータの登録時刻の管理のためのカレンダ時計１５ａを備え、前記カレンダ時計１５ａの暗号化されていないデータで時刻を設定するプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、前記カレンダ時計１５ａの時刻の再設定は、第三者の知り得ないキーで暗号化した時刻を用いる暗号モードでのみ可能とする。
【００１４】
（作用）
前記構成に基づく作用を説明する。
【００１５】
暗号制御部４にデータの登録時刻の管理のためのカレンダ時計１５ａを備え、前記カレンダ時計１５ａのプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、前記カレンダ時計１５ａの時刻の再設定は、暗号モードでのみ可能とする。このため、カレンダ時計の不正なセットを禁止し、かつ時刻の補正を行うことができる。
【００１６】
また、前記カレンダ時計１５ａの時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較して、中間値を取る等の法則により求めた時刻を再設定する。このため、複数の時刻の中間値又は平均値等を正しい時刻とすることで、容易に正しい時刻の再設定を行うことができる。
【００１７】
さらに、前記カレンダ時計１５ａの時刻の再設定時に、複数のカレンダ時計１５ａの時刻から正しい時刻を演算して、時刻を再設定する。このため、外部の制御部３ａから与えられた時刻で再設定ができ、暗号制御部４での設定処理が容易になる。
【００１８】
また、前記カレンダ時計１５ａの時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較し、自分の時刻が所定の時刻以上異なる場合は、故障と判断する。このため、故障したカレンダ時計１５ａをシステムから切り離し交換を要求することができる。
【００１９】
さらに、暗号制御部４にデータの登録時刻の管理のためのカレンダ時計１５ａを備え、前記カレンダ時計１５ａのプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、前記カレンダ時計１５ａの時刻の再設定は、暗号モードでのみ可能とする。このため、カレンダ時計の不正なセットを禁止し、かつ時刻の補正を行うことができるデータ管理装置を提供することができる。
【００２０】
【発明の実施の形態】
文書の管理を行うためのカレンダ時計の時刻は、文書の管理を行う装置（システム）出荷時に、出荷工場のセキュリティルームでプレインテキストモード（暗号化されていないデータ）でセットし、以降のプレインテキストにおけるセットを禁止する。また、当該装置出荷後、フィールド（ユーザ先）運用時は、当該時計を管理するソフトウェアも含めて、第三者の知り得ないキーで暗号化した時刻でのみ再セット可能とする。
【００２１】
・以下、カレンダ時計の制御手順を示す。ただし、当然ながら全ての時計は、同一の秘密キーを持つものとする。
【００２２】
1)工場で、プレインテキストモードで時刻を合わせる。
【００２３】
2)工場で、以降のプレインテキストモードの時刻セットを禁止する（ロックコマンドでセット不可能とする）。
【００２４】
3)装置の出荷を行う。
【００２５】
4)当該装置の時刻をプレインテキストモードでリードし、文書等のデータ管理を行う。
【００２６】
5)当該装置内の他のカレンダ時計の時刻、もしくはネットワーク等で接続された他の装置のカレンダ時計の時刻をプレインテキストモードでリードする。
【００２７】
6)正しい時刻を有するカレンダ時計はどれかを決定する。
【００２８】
7)決定した正しい時刻を有するカレンダ時計の時刻を、暗号モードでリードする。
【００２９】
8)上記7)で暗号モードでリードした時刻を目的とするカレンダ時計に与える。
【００３０】
9)暗号モードで時刻を与えられたカレンダ時計は、当該値を復号して、時刻を新たな値に変更する。
【００３１】
・時計のずれを補正する場合、プレインテキストモードで補正すると、悪意のソフト（人）が時刻を不正に改ざんすることが容易にできてしまう。このため、暗号モードの状態で時刻補正する機能が必要となる。暗号モードでカレンダ時計の時刻がリードされてから、暗号モードで別の複数のカレンダ時計の時刻がライトされた時、リードからライトまでの時間差を補正するとともに、当該ライトされた複数の時刻を復号し当該カレンダ時計の時刻との中間値（又は平均値）を新たな時刻として再セットする機能を持つようにする。
【００３２】
・当該カレンダ時計の時刻のセットに関して、自分の時刻と与えられた複数の時刻を比較し、差が所定の時間を超えている場合は、自分の時計を異常と判断し切り離す（故障として交換することを要求する）。
【００３３】
（１）：システム構成の説明
図２はシステム構成図である。図２において、データ管理装置１は、他のシステム（データ管理装置）２と回線制御部６、７によりＲＡＮ等のネットワークを通して接続されている。データ管理装置１には、互いにシステムバス５で接続された主制御部３、暗号制御部４ａ、暗号制御部４ｂ、・・・暗号制御部４ｎ、回線制御部６が設けてある。
【００３４】
主制御部３は、データ管理装置１の全体の制御を行うものである。暗号制御部４ａ〜４ｎは、文書等のデータを暗号化するもので、処理負荷を分散するため複数設けられている。回線制御部６は、他のシステム２等と通信をするため通信回線の制御を行うものである。
【００３５】
（２）：暗号制御部の説明
図３は暗号制御部の説明図である。図３において、暗号制御部４には、コマンドインタフェース１０、ＭＰＵ（マイクロプロセッサユニット）１１、ＦＲＯＭ（フラッシュリードオンリメモリ）１２、ＲＡＭ（ランダムアクセスメモリ）１３、暗号ハード１４、時計ハード１５が設けてある。
【００３６】
コマンドインタフェース１０は、暗号制御部４とシステムバス５との入出力の制御を行うものである。ＭＰＵ１１は、暗号制御部４全体の制御を行うものである。ＦＲＯＭ１２は、電気的に全ビット内容（ブロック単位も可能）を消して、内容を書き直せる読み出し用のメモリである。ＲＡＭ１３は、データの書き込みと読み出しが可能なメモリである。暗号ハード１４は、データを暗号化および復号するハードウェアである（ソフトで構成することもできる）。時計ハード１５は、時刻をカウントするハードウェア（カレン時計）である（ソフトで構成することもできる）。
【００３７】
（３）：動作モードの説明
暗号制御部４のＦＲＯＭ１２は、制御プログラムおよびこの発明で使用する次の動作モード1)〜4)を記憶するものである。
【００３８】
1)プレインテキストモードによる時刻のライトの許可・禁止。
【００３９】
2)新たに与えられた暗号モードの時刻を、そのまま復号してセットするかどうかを示す設定。
【００４０】
3)新たに与えられた複数の暗号モードの時刻の演算方法。具体的には平均値、中間値等。
【００４１】
4)新たに与えられた暗号モードの時刻と自分の時刻を比較することの有効／無効。
【００４２】
暗号キーも含め、前記1)〜4)の情報を、ＦＲＯＭ１２の替わりにＲＡＭ１３を電池でバックアップして記憶することもできる。なお、ＦＲＯＭ１２および電池でバックアップしたＲＡＭ１３の不正読み出し等の悪戯に対しては、データを破壊する機能を有するものである。
【００４３】
ＦＲＯＭ１２上のプログラムは、コマンドインタフェース１０を通して、主制御部３と情報交換を行い、時刻のプレインテキストモードおよび暗号モードのリード・ライト、時刻の補正、時刻の故障検出を行う。
【００４４】
暗号モードのリードの場合は、時計ハード１５の読み値を暗号ハード１４で暗号化して、主制御部３に通知する。また、主制御部３は、当該読み値をそのまま暗号モードで暗号制御部４に書き込み、その値を暗号ハード１４で復号して書き込まれた値を認識するものである。
【００４５】
（４）：３個の暗号制御部を使用した時刻の合わせ方の説明
図４はカレンダ時計の制御処理フローチャートである。以下、図４の処理Ｓ１〜処理Ｓ６に従って説明する。
【００４６】
Ｓ１：主制御部３は、３つの暗号制御部４ａ〜４ｃの時計ハード１５からプレインテキストモードで時刻をリードし、処理Ｓ２に移る。
【００４７】
Ｓ２：主制御部３は、３つの暗号制御部４ａ〜４ｃの時計ハード１５からリードした時刻が所定の誤差範囲かどうか判断する。この判断で所定の誤差範囲の場合はこの処理を終了し、所定の誤差範囲でない場合は処理Ｓ３に移る。
【００４８】
Ｓ３：主制御部３は、所定の時刻から１つでも時刻の誤差が大きい暗号制御部の時計ハード１５があった場合、３つの中で最も適当な時刻（中間値、平均値等）を示す時計を選択し、処理Ｓ４に移る。
【００４９】
Ｓ４：主制御部３は、３つの中で最も適当な時刻を示す時計ハード１５から時刻を暗号モードでリードし、処理Ｓ５に移る。
【００５０】
Ｓ５：主制御部３は、リードした時刻を他の暗号制御部に対して暗号モードでライトする。
【００５１】
Ｓ６：ライトされた各暗号制御部は、暗号ハード１４によりその時刻を復号し、自身の時計にセットし、この処理を終了する。
【００５２】
ここで、上記処理Ｓ４〜Ｓ６までの間の処理時間分、時計が遅れることになる。これを補正するため、暗号モードでライトした値に対して所定の時間足した（補正した）値を各暗号ハード１４が計算し、時計ハード１５にライトする。この所定の値（制御にかかる時間）は、システムにて予め設定しておく。
【００５３】
（５）：暗号制御部自身で時計を選択する場合の説明
上記図４の例では、主制御部３が最適な時刻を有する暗号制御部を設定していたが、その他に、暗号制御部が自身で補正する方法がある。この方法を次に示す。
【００５４】
1)主制御部３は、３つの暗号制御部４ａ〜４ｃの時計ハード１５から暗号モードで時刻をリードする。各暗号制御部４ａ〜４ｃは、この時の時刻を記録しておく。
【００５５】
2)主制御部３は、前記リードした３つの値の時刻を、そのまま各暗号制御部４ａ〜４ｃに対して暗号モードでライトする。
【００５６】
3)各暗号制御部４ａ〜４ｃは、その３つの値を暗号ハード１４で複合し、最も適当な（平均値、中間値）時刻を選択し、現在の時刻から上記1)に記録した時刻を差し引いた値を補正し、自分の時計（時計ハード１５）にセットする。
【００５７】
以上実施の形態で説明したように、もし、ある暗号制御部の時計が故障し、正確な時刻から外れてしまった場合は、主制御部３がプレインテキストモードでリードした時点でその暗号制御部を切り離すか、もしくは、３つの時刻をもらった各暗号制御部が異常を検出し、自分の時刻が異常と判断した暗号制御部が自分自身を切り離すようにする。
【００５８】
このように、文書等のデータを登録するデータ管理装置において、時刻を第三者が変更できないような手段を提供するものである。
【００５９】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
【００６０】
（１）：暗号制御部にデータの登録時刻の管理のためのカレンダ時計を備え、前記カレンダ時計のプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、前記カレンダ時計の時刻の再設定は、暗号モードでのみ可能とするため、カレンダ時計の不正なセットを禁止し、かつ時刻の補正を行うことができる。
【００６１】
（２）：カレンダ時計の時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較して、時刻を再設定するため、複数の時刻の中間値又は平均値等を正しい時刻とすることで、容易に正しい時刻の再設定を行うことができる。
【００６２】
（３）：カレンダ時計の時刻の再設定時に、複数のカレンダ時計の時刻から正しい時刻を演算して時刻を再設定するため、外部の制御部から与えられた時刻で再設定ができ、暗号制御部での設定処理が容易になる。
【００６３】
（４）：カレンダ時計の時刻の再設定時に、暗号モードで与えられた他の複数のカレンダ時計の時刻と自分の時刻を比較し、自分の時刻が所定の時刻以上異なる場合は、故障と判断するため、故障したカレンダ時計をシステムから切り離し交換を要求することができる。
【００６４】
（５）：暗号制御部にデータの登録時刻の管理のためのカレンダ時計を備え、前記カレンダ時計のプレインテキストモードでの時刻設定後は、それ以降のプレインテキストモードでの時刻設定を禁止し、前記カレンダ時計の時刻の再設定は、暗号モードでのみ可能とするため、カレンダ時計の不正なセットを禁止し、かつ時刻の補正を行うことができるデータ管理装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】実施の形態におけるシステム構成図である。
【図３】実施の形態における暗号制御部の説明図である。
【図４】実施の形態におけるカレンダ時計の制御処理フローチャートである。
【符号の説明】
３ａ  制御部
４  暗号制御部
１５ａ  カレンダ時計
【図１】
0004216413.tif 000002
【図２】
0004216413.tif 000003
【図３】
0004216413.tif 000004
【図４】
0004216413.tif 000005