(57)【要約】【課題】データベースに格納された電子データの真正性を保証し、またバックアップされたデータの真正性を保証するためのシステムと方法を提供する。【解決手段】データベースの電子データをレコード単位でハッシュ関数によりハッシュ値を求め、テーブルのレコードの累計についてハッシュ関数によりハッシュ値を作成して保存し、ハッシュ値を証明書の形式で公開し、証明書に対応する電子データ領域のみを外部記憶装置にバックアップする。バックアップファイルの電子データからハッシュ値を計算し、公開された証明書に記載されたハッシュ値と比較して、バックアップファイルの真正性を検証し、真正性が検証されたときのみシステムに電子データを書き戻す。【選択図】          図１
2004259229.tif 000002
【特許請求の範囲】
【請求項１】
データベースに保存されるファイルの電子データとそのバックアップファイルの真正性を保証するシステムにおいて、
業務処理システムと、外部記憶装置と、データ真正性保証サーバとを備え、
前記データ真正性保証サーバは、
前記業務処理システムの電子データを外部記憶装置にバックアップするデータバックアップ処理部と、
バックアップする電子データについて、レコード単位でハッシュ関数によりハッシュ値を求め、レコードの累計についてハッシュ関数によりハッシュ値を作成し、作成したハッシュ値を証明書の形で公開するハッシュ値作成処理部と、
前記作成したハッシュ値を保存するハッシュ値記憶部と、
前記外部記憶装置に保存されたバックアップファイルの電子データからハッシュ関数によりハッシュ値を計算し、計算されたハッシュ値を、前記公開された証明書に記載されたハッシュ値と比較して、前記バックアップファイルの電子データの真正性を検証するデータ真正性検証部と、
前記ハッシュ値の比較の結果、不一致の場合、前記バックアップした電子データは改ざんが行われていると判断し、一致する場合、前記バックアップした電子データは改ざんが行われていないと判断し、システムに前記電子データを書き戻すデータ復元処理部とを備えることを特徴とするシステム。
【請求項２】
請求項１において、前記業務処理システムは証明書発行システムであり、外部記憶装置にバックアップする電子データは証明書発行履歴であるシステム。
【請求項３】
請求項１において、前記作成したハッシュ値を暗号化し、また復号化する電子署名処理部を備えるシステム。
【請求項４】
業務処理システムのデータベースに保存されるファイルの電子データとそのバックアップファイルの真正性を保証する方法において、
前記データベースの電子データをレコード単位でハッシュ関数によりハッシュ値を求め、
複数のレコードを有するテーブルのレコードの累計についてハッシュ関数によりハッシュ値を作成し、前記ハッシュ値を保存し、
前記ハッシュ値を証明書の形式で公開し、
公開が行われた前記証明書に対応する電子データ領域のみを外部記憶装置にバックアップし、
前記外部記憶装置に保存された前記バックアップファイルの電子データからハッシュ関数によりハッシュ値を計算し、
計算されたハッシュ値を、前記公開された証明書に記載されたハッシュ値と比較して、前記バックアップファイルの電子データの真正性を検証し、
前記ハッシュ値の比較の結果、不一致の場合、前記バックアップした電子データは改ざんが行われていると判断し、一致する場合、前記バックアップした電子データは改ざんが行われていないと判断し、システムに前記電子データを書き戻すステップを備えることを特徴とする方法。
【請求項５】
請求項４において、前記業務処理システムは証明書発行システムであり、外部記憶装置にバックアップする電子データは証明書発行履歴である方法。
【請求項６】
請求項４において、レコードの累計についてのハッシュ値を暗号鍵で暗号化してから公開するステップと、
公開されたハッシュ値を公開鍵で復号化してから、前記バックアップファイルの電子データから計算されたハッシュ値と比較するステップを備える方法。
【請求項７】
請求項４において、前記バックアップファイルの電子データの真正性検証結果を管理者に通知するステップを備える方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、イントラネット、業務処理システム等における電子データの真正性を保証するためのシステムと方法に関するものである。
【０００２】
【従来の技術】
従来から、外部からイントラネットへの不正侵入、又はイントラネット内での不正侵入等により、データベースの改ざんが行われる危険が有り、これを防止する必要がある。
【０００３】
また、一般にシステムのデータベースは、バックアップのため外部記憶装置に保存することが行われている。システムに異常が有った場合、外部記憶装置からバックアップしたデータを読み込み、データベース等に書き戻す。
【０００４】
このように、データベース自体が改ざんされる危険がある。また、データベース等に格納された電子データを外部記憶装置にバックアップした場合には、外部記憶装置にバックアップしたデータの改ざんが行われる危険がある。外部記憶装置に保存したデータが改ざんされていることを検知せずにシステムへの書き戻しが行われると、業務に支障をきたすことになる。特に、証明書生成システムの場合は、データの真正性が損なわれると非常に大きい問題である。また、改ざんされたデータを書き戻すとシステムに重大な問題を引き起こす場合が有る。
【０００５】
特開２００３−２２００９号では、ハッシュ関数によりデータの真正性を検証し、データが改ざんされたと判断された場合は、バックアップファイルをもとにファイルを復元する。しかし、特開２００３−２２００９号は、バックアップファイルの改ざんには対応していない。
データベースの電子データの真正性を厳密に保証し、またバックアップファイルの真正性を厳密に保証する必要がある。
【０００６】
【特許文献１】
特開２００３−２２００９号
【０００７】
【発明が解決しようとする課題】
本発明は、このような問題点を解決するためなされたものであり、データベースに格納された電子データの真正性を保証し、またバックアップされたデータの真正性を保証するためのシステムと方法を提供しようとするものである。
【０００８】
【課題を解決するための手段】
本発明は１態様において、データベースに保存されるファイルの電子データとそのバックアップファイルの真正性を保証するシステムにおいて、業務処理システムと、外部記憶装置と、データ真正性保証サーバとを備える。前記データ真正性保証サーバは、前記業務処理システムの電子データを外部記憶装置にバックアップするデータバックアップ処理部と、バックアップする電子データについて、レコード単位でハッシュ関数によりハッシュ値を求め、レコードの累計についてハッシュ関数によりハッシュ値を作成し、作成したハッシュ値を証明書の形で公開するハッシュ値作成処理部と、前記作成したハッシュ値を保存するハッシュ値記憶部と、を備える。
【０００９】
また前記データ真正性保証サーバは、前記外部記憶装置に保存されたバックアップファイルの電子データからハッシュ関数によりハッシュ値を計算し、計算されたハッシュ値を、前記公開された証明書に記載されたハッシュ値と比較して、前記バックアップファイルの電子データの真正性を検証するデータ真正性検証部と、前記ハッシュ値の比較の結果、不一致の場合、前記バックアップした電子データは改ざんが行われていると判断し、一致する場合、前記バックアップした電子データは改ざんが行われていないと判断し、システムに前記電子データを書き戻すデータ復元処理部とを備える。
【００１０】
前記業務処理システムは証明書発行システムでもよく、外部記憶装置にバックアップする電子データは証明書発行履歴でもよい。
前記作成したハッシュ値を暗号化し、また復号化する電子署名処理部を備えることが好ましい。
【００１１】
本発明はまた、業務処理システムのデータベースに保存されるファイルの電子データとそのバックアップファイルの真正性を保証する方法において、前記データベースの電子データをレコード単位でハッシュ関数によりハッシュ値を求め、複数のレコードを有するテーブルのレコードの累計についてハッシュ関数によりハッシュ値を作成し、前記ハッシュ値を保存し、前記ハッシュ値を証明書の形式で公開し、公開が行われた前記証明書に対応する電子データ領域のみを外部記憶装置にバックアップするステップを備える。
【００１２】
又、本発明方法は、前記外部記憶装置に保存された前記バックアップファイルの電子データからハッシュ関数によりハッシュ値を計算し、計算されたハッシュ値を、前記公開された証明書に記載されたハッシュ値と比較して、前記バックアップファイルの電子データの真正性を検証し、前記ハッシュ値の比較の結果、不一致の場合、前記バックアップした電子データは改ざんが行われていると判断し、一致する場合、前記バックアップした電子データは改ざんが行われていないと判断し、システムに前記電子データを書き戻すステップを備える。
【００１３】
レコードの累計についてのハッシュ値を暗号鍵で暗号化してから公開するステップと、公開されたハッシュ値を公開鍵で復号化してから、前記バックアップファイルの電子データから計算されたハッシュ値と比較するステップを備えることが好ましい。
また、前記バックアップファイルの電子データの真正性検証結果を管理者に通知するステップを備えることが好ましい。
【００１４】
本発明によれば、バックアップする電子データをレコード単位でハッシュ値を求め、更にテーブル単位でレコードの累計のハッシュ値を求め、これを公開することで、データベースにある電子データの真正性を保証できるようにする。そして、公開されたハッシュ値に対応する電子データのみをバックアップする。
バックアップしたデータを復元するときは、バックアップしたデータを再度検証し、真正であると検証できた場合のみバックアップしたデータをシステムに書き戻すことにより、バックアップされたデータが真正であることを保証することが出来る。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
本発明の実施の形態として、証明書生成システムにおける証明書データベースの保護の例を記述する。しかし、本発明の真正性保証システムと方法は、証明書生成システムに限定されるものではなく、広く業務処理システムに使用することが出来る。
【００１６】
本実施例の証明書生成システムにおいては、証明書の発行履歴はデータベースに保存され、システムの安全な運用ができるようになっている。証明書発行履歴データベースは、定期的にバックアップが行われ、外部記憶装置に保存される。データベースに重大な問題が発生した場合には、外部記憶装置に保存されたバックアップデータから、証明書発行履歴データベースが再構築される。証明書の発行履歴データベースは、追記型のテーブル構造であり、挿入されたレコードは改変されないことを前提としている。
【００１７】
図１により、本発明の実施の形態による証明書生成システム１の構成を説明する。証明書生成システム１は、証明書発行システム１０と、外部記憶装置２０と、データ真正性保証サーバ３０とを備える。
証明書発行システム１０は、証明書ファイル格納部１１を備える。証明書ファイル格納部１１には、データベースとして、証明書の発行履歴ファイル１４が保存されている。
【００１８】
外部記憶装置２０は、バックアップファイル格納部２１を備える。これは例えば光ディスクである。証明書の発行履歴ファイル１４は、データバックアップ処理部３１により、バックアップファイル格納部２１にバックアップファイル２４としてバックアップされる。本実施の形態では、この証明書発行システム１０内のデータベースと、外部記憶装置２０にバックアップされた電子データについて真正性の保証を行う。
【００１９】
データ真正性保証サーバ３０は、データバックアップ処理部３１と、ハッシュ値作成処理部３２と、電子署名処理部３４と、データ真正性検証部３５と、データ復元処理部３６とを備える。データバックアップ処理部３１は、証明書発行システム１０が、証明書の発行履歴ファイル１４について定期的に外部記憶装置２０にバックアップするようにする。ハッシュ値作成処理部３２は、バックアップの前に、証明書の発行履歴ファイル１４について、ハッシュ関数によりハッシュ値を計算する。
【００２０】
電子署名処理部３４は、ハッシュ値作成処理部３２により生成されたハッシュ値に電子署名する。
【００２１】
データ真正性検証部３５は、外部記憶装置２０にバックアップした証明書の発行履歴ファイルを証明書発行システム１０に書き戻すまえに、再度バックアップした証明書の発行履歴ファイル１４についてハッシュ関数によりハッシュ演算して、ハッシュ値を算出する。
【００２２】
データ真正性検証部３５は、バックアップ前に求めた証明書の発行履歴ファイル１４のハッシュ値と、バックアップファイル２４について計算したハッシュ値とを比較して、バックアップファイルの真正性を検証する。バックアップした証明書の発行履歴ファイル１４について改ざんが行われていないと判断された場合には、データ復元処理部３６は、外部記憶装置２０バックアップしたバックアップファイル２４を証明書発行システム１０に書き戻す。
【００２３】
図２は、本発明の実施の形態による生成されるハッシュ値の概念図である。１番目の証明書についての全項目を１レコードとして証明書テーブルに保存する。このレコードをハッシュ関数で演算しハッシュ値を算出して付加する。次の証明書について同様に、証明書の全項目を１レコードとして証明書テーブルに保存し、ハッシュ関数で演算しハッシュ値を算出する。さらに後述する式で求める累計ハッシュ値を計算し、その値を保存する。３番目以下ｎ番目までの証明書について同様に証明書テーブルに保存し、累計ハッシュ値を計算し保存する。このようにして、レコード順に累計ハッシュ値を計算し、最後のレコードまでを含んだテーブル全体の累計ハッシュ値を生成する。このハッシュ値を証明書等で公開することにより、テーブル全体の真正性を保証することが可能となる。
【００２４】
テーブルをバックアップする時には、真正性が保証されているテーブルの領域までをバックアップする。復元時にはバックアップされたデータの真正性を検証するので、真正なデータのみをデータベースに復元することが出来る。
【００２５】
図３により、本システムの実施の形態による証明書発行システム１０から外部記憶装置２０へ電子データをバックアップするデータ保存工程と、外部記憶装置２０から証明書発行システム１０へ電子データを書き戻すデータ復元工程のステップを説明する。図３の（ａ）はデータ保存工程、（ｂ）はデータ復元工程を表す。
【００２６】
図３の（ａ）を参照して、データ保存工程を説明する。ステップＳ１では、証明書発行システム１０は、システムに秘密に保持された秘密鍵を用いて、証明書を生成する。
ステップＳ２では、証明書に記載された全ての項目をデータベースのフィールドとし、１つの証明書について、データベース上の１レコードとして証明書発行履歴ファイル１４に保存する。
【００２７】
ステップＳ３では、証明書のレコードを、数値データに符合化する。本実施の形態では、ハッシュ演算によりハッシュ値を生成して使用する。ｎ番目のレコードのハッシュ演算により符合化されたハッシュ値をＨｎとする。ｎ番目の証明書レコードの末尾フィールドにレコード順のハッシュ値を複合したハッシュ値である累計ハッシュ値（「ｔｂＨ」と呼称する）を追加する。これが、図２の概念図に示したものである。
【００２８】
本実施の形態では、ｎ番目のレコードが挿入された場合の累計ハッシュ値ｔｂＨは、
ｔｂＨ  ｎ  ＝  Ｈａｓｈ（Ｈｎ＋ｔｂＨｎ−１）              （式１）
により求める。即ち、累計ハッシュ値ｔｂＨは、ｎ番目のレコードのハッシュ値とｎ−１番目までの累計ハッシュ値の合計について、ハッシュ値を求めたものである。
１番目のレコードの場合、それ以前のレコードが存在しないため、ｔｂＨｎ−１に相当するｔｂＨ０には、乱数値または固定数値を代入する。この累計ハッシュ値ｔｂＨによれば、レコードの生成順序が確定される。
【００２９】
ステップＳ４では、ステップＳ１〜３が所定の一定回数、または定期的に行われた後、最後尾の証明書レコードに追加された累計ハッシュｔｂＨを秘密鍵で暗号化して電子署名し、テーブルハッシュ証明書（Ｘ．５０９形式）として発行する。発行された証明書はＷｅｂ、新聞、電子メール等で公開される。
【００３０】
ステップＳ５では、ステップＳ４で公開されたテーブルのハッシュ値で真正性を保証出来るレコードまでの証明書テーブルの範囲を、外部記憶装置２０にバックアップファイル２４としてファイル形式で保存する。この時、保存したファイルに累計ハッシュｔｂＨを記載した累計ハッシュ証明書を添付する。
ステップＳ６では、バックアップされたファイルは光ディスク等の長期保存可能な記憶媒体で保存する。
【００３１】
図３の（ｂ）を参照して、電子データの復元工程を説明する。システムに重大な問題が発生し、光ディスク等にバックアップされた保存データからデータベースを復元する必要が生じたとする。
ステップＳ７では、光ディスクに格納されたバックアップファイル２４に保存された電子データから累計ハッシュ値を再計算する。
【００３２】
ステップＳ８では、公開されたハッシュ証明書の署名されたハッシュ値を公開鍵で復号する。復号して得られたハッシュ値と、ステップＳ７で計算した累計ハッシュ値とが、一致しているかどうかを確認し、バックアップファイル２４の真正性を検証する。
【００３３】
このように、本発明の実施の形態では、書き戻しの前に再度バックアップファイル２４に記載されたレコード番号１からｎ番目までの証明書ハッシュ値を順次計算して累計ハッシュ値を求め、この値が公開されたハッシュ証明書に記載のハッシュ値と一致するかどうか比較を行うことで検証を行うことができる。
【００３４】
ステップＳ９では、添付されている累計ハッシュ証明書が公開されたハッシュ証明書と一致しない場合は、バックアップファイル２４が改ざんされたか、又は何らかの異常があったと判断し、バックアップファイル２４から証明書発行システム１０に書き戻すさずに、管理者に警告を行う。
【００３５】
ステップＳ１０では、添付されている累計ハッシュ証明書が公開されたハッシュ証明書と一致し、検証の結果バックアップファイル２４の真正性が確認された場合は、バックアップファイル２４に記載された電子データから、証明書発行システム１０の発行履歴ファイル１４を復元する。
【００３６】
【発明の効果】
以上説明したように、本発明では、データベースの電子データからハッシュ関数によってハッシュ値を生成し、レコードの累計についてハッシュを算出し、ハッシュ証明書等の形で公開することにより、外部記憶装置にバックアップしたバックアップデータの真正性を検証することが可能となる。バックアップデータをシステムへ復元する時には、真正性が確認されたデータのみを復元することにより、バックアップデータの改ざんによる不正及びシステムの破壊を未然に防ぐことができ、また、そのような障害の影響を極力抑えることができる。例えば、所定のレコード数毎にまたは定期的にバックアップを行い証明書を公開することにより、公開した証明書によってその間に生成されるレコード単位でデータベースの真正性を検証可能となっているので、バックアップデータの一部に改ざんがあった場合でも、改ざん箇所を極力特定でき、復元可能範囲を極力大きくすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態によるシステムの構成図。
【図２】本発明の実施の形態によるハッシュ値の生成方法を説明する概念図。
【図３】本発明の実施の形態によるシステムのステップの概略図。
【符号の説明】
１０  証明書発行システム
１１  証明書ファイル格納部
１４  証明書の発行履歴ファイル
２０  外部記憶装置
２１  バックアップファイル格納部
２４  バックアップファイル
３０  データ真正性保証サーバ
３１  データバックアップ処理部
３２  ハッシュ値作成処理部
３４  電子署名処理部
３５  データ真正性検証部
３６  データ復元処理部
【図１】
2004259229.tif 000003
【図２】
2004259229.tif 000004
【図３】
2004259229.tif 000005