(57)【要約】【課題】情報が存在した時刻を証明する署名データを、これまでより効率的に作成して当該情報に付加する。【解決手段】情報が存在した時刻を証明する時刻証明システム１０であって、情報の同一性を証明するために情報に基づいて生成された同一性証明用データを取得する同一性証明用データ取得部２００と、利用者から受けた指示に応答して、時刻の経過に応じて変化する対象物を外部から観測し、観測した結果得られる観測データに基づいて時刻証明用データを生成する時刻証明用データ生成部２２０と、同一性証明用データおよび時刻証明用データの組に基づいて、対象物を観測した時刻に情報が存在したことを示す署名データを生成する署名データ生成部２３０と、署名データを情報に対応付けて記録する情報記録部２４０とを備える時刻証明システム１０を提供する。【選択図】図２
2006303963.tif 000002
【特許請求の範囲】
【請求項１】
情報を管理するシステムであって、
前記情報の同一性を証明するために前記情報に基づいて生成された第１データを取得する第１データ取得部と、
第１利用者から受けた指示に応答して、時刻の経過に応じて変化する対象物を外部から観測し、観測した結果得られる観測データに基づいて第２データを生成する第２データ生成部と、
前記第１データおよび前記第２データの組に基づいて、前記対象物を観測した時刻に前記情報が存在したことを示す署名データを生成する署名データ生成部と、
前記署名データを前記情報に対応付けて記録する情報記録部と
を備えるシステム。
【請求項２】
前記第２データ生成部は、再現性なく時刻の経過に応じて変化する対象物を観測し、観測した結果得られる観測データに基づいて第２データを生成する
請求項１記載のシステム。
【請求項３】
前記第２データ生成部は、予め定められた自然現象を観測し、観測した結果得られる観測データに基づいて第２データを生成する
請求項２記載のシステム。
【請求項４】
前記第２データ生成部は、時刻の経過に応じて変化する対象物を撮影装置で撮影した画像データを前記観測データとして取得する
請求項２記載のシステム。
【請求項５】
前記第２データ生成部は、予め定められた有線又は無線の放送を受信装置で受信した放送信号を前記観測データとして取得する
請求項２記載のシステム。
【請求項６】
前記第２データ生成部は、通信ネットワークに接続されたサーバ装置から送信されるデータを観測し、観測した結果得られる観測データに基づいて第２データを生成する
請求項２記載のシステム。
【請求項７】
前記第２データ生成部は、複数の対象物の各々を観測することにより複数の観測データを取得し、前記複数の観測データの各々から対象物毎に予め定められた抽出方法によりデータを抽出して抽出データとし、複数の抽出データを予め定められた組み合わせ方法により組み合わせることにより前記第２データを生成する
請求項１記載のシステム。
【請求項８】
前記複数の対象物は第１対象物と第２対象物を含み、
前記第１対象物と第２対象物とは相異なる
請求項７に記載のシステム。
【請求項９】
前記複数の対象物は第１対象物と第２対象物を含み、
前記第１対象物に対応する前記抽出方法を第１抽出方法、前記第２対象物に対応する前記抽出方法を第２抽出方法とすると、
前記第１抽出方法と第２抽出方法とは相異なる
請求項７に記載のシステム。
【請求項１０】
前記対象物を時刻の経過に応じて順次観測し、観測した結果得られる観測データを観測時刻に対応付けて記録する観測履歴記録部と、
第２利用者から受けた前記情報が存在した時刻を証明すべき旨の指示に応答して、前記情報記録部に記録された前記情報および前記署名データを取得する情報取得部と、
証明すべき時刻に対応する観測データを前記観測履歴記録部から検索し、検索された観測データ、取得した前記情報および前記署名データに基づいて、当該時刻に前記情報が存在していたか否かを判断する判断部と
をさらに有する
請求項１記載のシステム。
【請求項１１】
前記署名データ生成部は、前記第１データ、および、前記第２データに追加して、更に、前記第２データを取得するために前記対象物を観測した観測時刻を含めて署名データを生成し、
前記判断部は、前記署名データから前記観測時刻を抽出し、抽出した前記観測時刻に対応する観測データを前記観測履歴記録部から検索する
請求項１０記載のシステム。
【請求項１２】
前記署名データ生成部は、前記第１データおよび前記第２データの組を、前記判断部によって復号可能な暗号鍵により暗号化することにより前記署名データを生成し、
前記判断部は、前記署名データを復号化することにより、前記第１データおよび前記第２データを抽出する
請求項１０記載のシステム。
【請求項１３】
前記署名データ生成部は、前記第１データおよび前記第２データの組を、公開鍵暗号系の公開鍵により暗号化することにより前記署名データを生成し、
前記判断部は、前記署名データを前記公開鍵暗号系の秘密鍵で復号化することにより、前記第１データおよび前記第２データを抽出する
請求項１０記載のシステム。
【請求項１４】
複数の前記対象物を所定の順序で指定した対象物リストを前記判断部から取得するリスト取得部を更に有し、
前記第２データ生成部は、前記対象物リストに含まれる複数の前記対象物の各々を、前記所定の順序に応じて順次観測し、何れかの前記対象物から観測データが得られたことを条件として当該観測データに基づいて第２データを生成し、
前記判断部は、前記対象物リストにおいて指定された何れかの対象物の観測データに基づいて、当該観測データの観測時刻に前記情報が存在していたと判断した場合に、前記情報が当該時刻に存在していたと判断する
請求項１０記載のシステム。
【請求項１５】
前記第２データ生成部は、前記観測データを取得して前記第２データを生成する処理の処理中に、当該処理の内容が解析されていると判断した場合に、当該処理を中断する
請求項１記載のシステム。
【請求項１６】
前記第２データ生成部は、第１利用者から受けた指示に応答して、時刻の経過に応じて変化する対象物を外部の観測装置から観測し、前記観測装置と前記第２データ生成部との間で相互認証に成功したことを条件として前記観測装置から暗号通信により観測データを取得し、前記観測データに基づいて第２データを生成する
請求項１記載のシステム。
【請求項１７】
所定の時刻に情報が存在したことを示す署名データを前記情報に対応付けて記録するシステムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
前記情報の同一性を証明するために前記情報に基づいて生成された第１データを取得する第１データ取得部と、
第１利用者から受けた指示に応答して、時刻の経過に応じて変化する対象物を外部から観測し、観測した結果得られる観測データに基づいて第２データを生成する第２データ生成部と、
前記第１データおよび前記第２データの組に基づいて、前記対象物を観測した時刻に前記情報が存在したことを示す署名データを生成する署名データ生成部と、
前記署名データを前記情報に対応付けて記録する情報記録部と
して機能させるプログラム。
【請求項１８】
情報に署名データを付加する情報管理装置と、前記署名データの正当性を判定する判定装置とを備えるシステムに適用される方法であって、
前記情報管理装置において、
前記情報の同一性を証明するために前記情報に基づいて生成された第１データを取得する段階と、
第１利用者から受けた指示に応答して、時刻の経過に応じて変化する対象物を外部から観測し、観測した結果得られる観測データに基づいて第２データを生成する段階と、
前記第１データおよび前記第２データの組に基づいて、前記対象物を観測した時刻に前記情報が存在したことを示す署名データを生成する段階と、
前記署名データを前記情報に対応付けて記録する段階と
前記判定装置において、
前記対象物を時刻の経過に応じて順次観測し、観測した観測データを観測時刻に対応付けて記録する段階と、
第２利用者から前記情報が存在した時刻を証明すべき旨の指示に応じて、前記情報管理装置において記録された前記情報および前記署名データを前記情報管理装置から取得する段階と、
証明すべき時刻に対応する観測データを順次観測した観測データから検索し、検索された観測データ、取得した前記情報および前記署名データに基づいて、当該時刻に前記情報が存在していたか否かを判断する段階と
を備える方法。
【請求項１９】
前記第１利用者に対して前記情報管理装置を提供する段階を備える
請求項１８に記載の方法。
【請求項２０】
前記第２利用者に対して前記判定装置を提供する段階を備える
請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を管理するシステム、方法およびプログラムに関する。特に、本発明は、情報が存在した時刻を証明するシステム、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、病院の診断に関する情報を記録したカルテ等を、電子データとして保存することが検討されている。しかしながら、カルテなどの重要な文書を電子データとして保存する場合、その電子データを書き換えることでカルテの内容を簡単に改変できてしまうことが問題となる。更に、法整備によって電子データが公的な文書として認められるようになれば、その改変に対する対策は一層重要となる。
【０００３】
これに対して、従来、電子データとして保存される文書に対して、その文書が存在した時刻を証明する電子署名を付加する技術が用いられている（特許文献１を参照。）。この技術においては、権威ある機関の電子署名を、文書およびその文書が存在した時刻に対して付加する。これにより、その電子署名の正当性を検証することで、その文書がその時刻に存在したことを証明することができる。
【０００４】
また、他の例として、時刻を引数とした乱数発生器によってランダムな図形を発生させ、その図形の少なくとも一部を切り取って文書に付加することで、所定の時刻にその文書が存在したことを証明する技術が提案されている（特許文献２を参照。）。この技術によれば、乱数発生器を外部からアクセスできないように適切に保護できれば、文書が存在していた時刻を証明することができる。
【特許文献１】特開２００４−１３５０２４号公報
【特許文献２】特開２００２−１２５１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、権威ある機関の電子署名を文書に付加するには、電子署名を付加しようとするたびに、ネットワークを介してその機関のサーバ等と通信しなければならない。このため、電子署名を得るために処理時間を要し、また、そのサーバ等と通信できない環境では電子署名を得ることができない。また、利用者は、電子署名を付加する回数等に基づいて対価を支払わなければならない場合があり、カルテのように頻繁に文書を更新する用途には費用が膨大となり適していない。
【０００６】
また、電子署名を付加する装置を、文書を作成する装置と同一の組織内に設けた場合には、組織ぐるみの不正行為に対処することはできない。これは、特許文献２の技術においても同様であり、乱数発生器を金庫室等の機密庫内に閉じ込めて保管稼動させなければ、改ざんに対する耐性が低くなってしまう（例えば、特許文献２の段落２５を参照。）。
【０００７】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明においては、情報を管理するシステムであって、情報の同一性を証明するために情報に基づいて生成された第１データを取得する第１データ取得部と、第１利用者から受けた指示に応答して、時刻の経過に応じて変化する対象物を外部から観測し、観測した結果得られる観測データに基づいて第２データを生成する第２データ生成部と、第１データおよび第２データの組に基づいて、対象物を観測した時刻に情報が存在したことを示す署名データを生成する署名データ生成部と、署名データを情報に対応付けて記録する情報記録部とを備えるシステム、当該システムに適用される方法および情報処理装置を当該システムとして機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【０００９】
本発明によれば、情報が存在した時刻を証明する署名データを、これまでより効率的に作成して当該情報に付加することができる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、時刻証明システム１０の全体構成を示す。時刻証明システム１０は、第１利用者に対して提供される情報管理装置２０と、観測装置２５−１〜Ｎと、第２利用者に対して提供される判定装置３０とを備え、第１利用者によって入力された情報を管理する。情報管理装置２０は、文書、画像または音声等の情報を外部から取得する。例えば、情報管理装置２０は、医療現場等においてカルテが更新される毎に更新されたそのカルテを取得する。そして、情報管理装置２０は、署名を作成する指示に応答して、その情報がその取得した時刻に存在したことを示す署名データを生成し、その署名データをその情報に対応付けて記録する。署名データの生成には、外部の時刻サーバから取得した現在時刻の情報と、観測装置２５−１〜Ｎの少なくとも何れか１つにより対象物を観測した観測データとが用いられる。
【００１２】
観測装置２５−１〜Ｎの各々は、時刻の経過に応じて変化する対象物を観測する。例えば、観測装置２５−１−Ｎの各々は、リアルタイムで更新される交通渋滞情報を公開するウェブサーバであってもよいし、海、川または滝の流れ等の自然現象を撮像装置で撮像して撮像画像を公開するウェブ・カメラ用のサーバであってもよい。また、観測装置２５−１〜Ｎの各々は、相異なる複数の対象物を観測することが望ましい。
【００１３】
判定装置３０は、観測装置２５−１〜Ｎの各々が対象物を観測した結果得られる観測データを順次取得して、その観測時刻に対応付けて順次記録している。なお、ここで記録される観測データとは、対象物から直接得られる画像データ等のデータのみならず、その画像データに対して圧縮処理やハッシュ生成処理等の所定の処理を加えたデータであってもよい。そして、判定装置３０は、情報管理装置２０に記録された情報が存在した時刻を証明すべき旨の指示に応じて、情報管理装置２０に記録された情報が所定の時刻に存在したか否かを判定し、判定結果を出力する。
【００１４】
本実施例に係る時刻証明システム１０は、所定の時刻に情報が存在したことを示す署名データを、権威ある機関等により厳重に管理された判定装置３０にアクセスすることなく生成する。これにより、署名データを頻繁に生成する場合であっても、その処理時間および費用等を削減することを目的とする。また、本実施例に係る時刻証明システム１０によれば、署名データの作成処理に、時刻の変化に応じて変化する自然現象等を観測したデータを用いる。これにより、悪意ある利用者により情報の存在時刻を偽装しにくくすることを目的とする。
【００１５】
図２は、情報管理装置２０の機能を機能ブロックに分類して示す。情報管理装置２０は、第１データ取得部の一例である同一性証明用データ取得部２００と、リスト取得部２１０と、第２データ取得部の一例である時刻証明用データ生成部２２０と、署名データ生成部２３０と、情報記録部２４０とを有する。同一性証明用データ取得部２００は、外部から情報を取得し、情報の同一性を証明するためにその情報に基づいて生成された同一性証明用データを取得する。同一性証明用データは、本発明に係る第１データの一例である。例えば、同一性証明用データ取得部２００は、外部から取得した情報から、予め定められたハッシュ関数によりダイジェストデータを生成し、そのダイジェストデータを同一性証明用データとしてもよい。
【００１６】
リスト取得部２１０は、時刻の経過に応じて変化する複数の対象物を所定の順序で指定した対象物リストを、判定装置３０の存在判断部３２０から取得する。このリストの取得には、判定装置３０との間で定められた暗号方式による暗号通信を用いることが望ましい。そして、時刻証明用データ生成部２２０は、第１利用者から受けた署名作成指示に応答して、対象物リストにより指定された複数の対象物を順次観測し、観測した結果得られる観測データに基づいて時刻証明用データを生成する。時刻証明用データは、本発明に係る第２データの一例である。なお、時刻証明用データ生成部２２０は、リスト取得部２１０により取得された対象物リストにより対象物を特定する処理に代えて、情報管理装置２０の製造時に予め設定された対象物リストを用いて対象物を特定してもよい。
【００１７】
署名データ生成部２３０は、時刻証明用データを取得するために対象物を観測した観測時刻を、時刻サーバから取得した現在時刻に基づいて特定する。そして、署名データ生成部２３０は、同一性証明用データおよび時刻証明用データの組と、その観測時刻とに基づいて、対象物を観測した時刻にその情報が存在したことを示す署名データを生成する。例えば、署名データ生成部２３０は、観測時刻、同一性証明用データおよび時刻証明用データの組を暗号鍵で暗号することにより１つの署名データを生成してもよい。なお、ここに言う署名データの生成とは、例えば暗号鍵の保持者等のような特定の者以外の者によっては、同一性証明用データおよび時刻証明用データの各々を分離して取り出せないようなデータ処理をいう。これにより、悪意ある利用者による署名の改ざんを極めて困難とすることができる。そして、情報記録部２４０は、生成された署名データを、取得した情報に対応付けて記録する。
【００１８】
図３は、判定装置３０の機能を機能ブロックに分類して示す。判定装置３０は、観測履歴記録部３００と、情報取得部３１０と、存在判断部３２０とを有する。観測履歴記録部３００は、対象物を時刻の経過に応じて順次観測し、観測した結果得られる観測データを観測時刻に対応付けて記録する。情報取得部３１０は、情報が存在した時刻を証明すべき証明指示に応じて、情報記録部２４０に記録された情報および署名データを情報管理装置２０から取得する。存在判断部３２０は、証明すべき時刻に対応する観測データを観測履歴記録部３００から検索する。そして、存在判断部３２０は、検索された観測データ、取得した情報および署名データに基づいて、その時刻にその情報が存在していたか否かを判断し、判断結果を出力する。
【００１９】
図４は、情報管理装置２０が情報に署名データを付加して記録する処理のフローチャートを示す。同一性証明用データ取得部２００は、署名データを付加する対象となる情報を外部から取得する（Ｓ４００）。そして、同一性証明用データ取得部２００は、外部から取得した情報の同一性を証明するためにその情報に基づいて生成された同一性証明用データを取得する（Ｓ４１０）。
【００２０】
時刻証明用データ生成部２２０は、利用者から受けた指示に応答して、対象物を外部から観測することによって観測データを取得する（Ｓ４２０）。好ましくは、時刻証明用データ生成部２２０は、再現性なく時刻の経過に応じて変化する対象物を観測し、観測した結果得られる観測データに基づいて時刻証明用データを生成する。ここで、再現性のない変化とは、対象物がその過去の形態と同一になる可能性が全く無い場合のみならず、その可能性が極めて低い所定の確率値未満であって、利用者にとって認知できないほどに極めて低い場合を含む。また、対象物の形態は、時刻を入力とした関数によっては一意に定まらないことが望ましい。より詳細には、時刻証明用データ生成部２２０は、予め定められた自然現象(滝の流れ、海の波または空の雲)を観測してもよい。観測方法としては、時刻証明用データ生成部２２０は、時刻の経過に応じて変化する対象物を撮像装置で撮像した画像データを観測データとして取得してもよい。これにより、ある時点の観測データが他の時点の観測データと等しくなる可能性を極めて低くすることができる。
【００２１】
これに代えて、時刻証明用データ生成部２２０は、天気図等のように対象物の特徴を一定の規則で抽出した情報を取得してもよい。更に他の例として、時刻証明用データ生成部２２０は、予め定められた有線または無線の放送を受信装置で受信した放送信号を観測してもよい。例えば、この放送信号は、放送事業者により配信される文字、音声または動画等のデータを示すものである。このように、既に権威ある機関により公開されている情報を用いれば、時刻証明システム１０を導入する費用を少なくすることができると共に、署名の信頼性を高めることができる。更に好ましくは、時刻証明用データ生成部２２０は、観測装置２５−１〜Ｎの各々との間で相互認証に成功したことを条件として、観測装置２５−１〜Ｎの各々から暗号通信によりデータを取得する。これらの相互認証および暗号通信は、一例として、SSL(Secure Socket Layer)に準拠した通信等により実現可能である。これにより、観測の対象物の成りすましを防止すると共に、観測データの漏洩を防止できる。
【００２２】
次に、時刻証明用データ生成部２２０は、第１利用者から受けた指示に応答して、時刻の経過に応じて変化する対象物を外部の観測装置２５−１〜Ｎ等から観測し、観測した結果得られる観測データに基づいて時刻証明用データを生成する（Ｓ４３０）。例えば、時刻証明用データ生成部２２０は、予め定められたハッシュ関数により観測データからハッシュデータを生成し、そのハッシュデータを時刻証明用データとする。好ましくは、時刻証明用データ生成部２２０は、複数の対象物の各々を観測することにより複数の観測データを取得した上で、それらの観測データの各々から対象物毎に予め定められた抽出方法によりデータを抽出して抽出データとする。ここで、複数の対象物のうち第１対象物に対応する第１抽出方法と、第２対象物に対応する第２抽出方法とは、相異なることが更に好ましい。そして、時刻証明用データ生成部２２０は、複数の抽出データを予め定められた組み合わせ方法により組み合わせることにより時刻証明用データを生成する。これにより、各対象物の特徴を活かして信頼性が高くかつ再現性の低い時刻証明用データを得ることができる。
【００２３】
これに代えて、リスト取得部２１０が対象物リストを取得した場合においては、時刻証明用データ生成部２２０は、対象物リストに含まれる複数の対象物の各々を、所定の順序に応じて順次観測し、何れかの対象物から観測データが得られたことを条件として、その観測データに基づいて時刻証明用データを生成してもよい。これにより、ネットワークやウェブサーバに障害が発生している場合であっても、署名データを生成させ易くすることができる。
【００２４】
署名データ生成部２３０は、同一性証明用データおよび時刻証明用データの組に基づいて、対象物を観測した時刻にその情報が存在したことを示す署名データを生成する（Ｓ４４０）。例えば、署名データ生成部２３０は、同一性証明用データおよび時刻証明用データの組を、存在判断部３２０によって復号可能な暗号鍵により暗号化することにより署名データを生成してもよい。好ましくは、この暗号鍵は、公開鍵暗号系の公開鍵である。また、署名データ生成部２３０は。同一性証明用データ、および、時刻証明用データに追加して、更に、時刻証明用データを生成するために対象物を観測した観測時刻を含めて署名データを生成してもよい。更にこの場合、観測時刻を取得するために情報管理装置２０および判定装置３０に設けられた時計は、NTP(Network Time Protocol)に準拠した通信により、互いに同一時刻を指すように同期されていることが望ましい。
【００２５】
そして、情報記録部２４０は、生成された署名データを取得した情報に対応付けて記録する（Ｓ４５０）。また、情報記録部２４０は、判定装置３０により復号可能な暗号鍵により情報を暗号化して記録する。これにより、改ざんのみならず情報の破棄に対しても適切に対応することができる。
【００２６】
図５は、情報管理装置２０が取得する観測データの具体例を示す。（ａ）は、観測データの一例である天気図データを示す。天気図データは、例えば、観測対象となる地域の地理情報に、等圧線や温暖・寒冷前線等を重ね合わせて表示した画像データである。天気図データは、各々の地域で実測された気圧等のデータに基づいて作成されるので、複数の互いに異なる時点の天気図データが全く同一となることは極めて稀である。従って、天気図データに基づいて時刻証明用データを生成すれば、その後にその時点の時刻証明用データを偽造することを極めて困難とすることができる。
【００２７】
（ｂ）は、観測データの一例である交通渋滞情報データを示す。交通渋滞情報データは、例えば、観測対象となる路線の路線図に、交通渋滞の程度を示す画像を重ね合わせて表示した画像である。交通渋滞データは、各々の調査地点で実測された車両の数等に基づいて作成されるので、複数の互いに異なる時点の交通渋滞データが全く同一となることは極めて稀である。従って、交通渋滞データに基づいて時刻証明用データを生成すれば、その後のその時点の時刻証明用データを偽造することを極めて困難とすることができる。
【００２８】
なお、例示したこれらの対象物の内容は、数十秒から数分間隔程度の予め定められた長さの期間が経過する毎に更新されることが望ましい。即ち例えば、観測装置２５−１は、天気図データが１秒間隔で更新される場合であっても、情報管理装置２０または判定装置３０に送信する天気図データは、上記予め定められた長さの期間が経過する毎に更新することが望ましい。これにより、情報管理装置２０および判定装置３０に備えられた時計がずれていた場合であっても、時刻の証明を適切に行うことができる。
【００２９】
（ｃ）は、観測データの一例である放送信号を示す。放送信号は、例えば、各家庭等に設置された受像機に表示される画像を示す。近年の放送デジタル化により、放送信号はデジタルデータとして配信される場合が多い。このため、同一時点の放送はどこで受信してもほぼ同一となる。このような放送信号に基づいて時刻証明用データを生成すれば、時刻証明用データの偽造を困難とするのみならず、時刻証明用データの信頼性を高めることができる。
【００３０】
これらの例に加えて、観測データは、インターネット等のネットワークに接続された各種のサーバによって送信されるデータであってもよい。例えば、観測データとは、ウェブサーバから送信されるウェブページのデータであってもよいし、ＦＴＰサーバから送信されるファイルのデータであってもよいし、メールサーバから送信されるメールのデータであってもよい。また、これらのデータは、文字、音声または動画の他、静止画や図画等の様々なデータを含んでもよい。即ち、時刻証明用データ生成部２２０は、通信ネットワークに接続されたサーバ装置から送信されるデータを観測し、観測した結果得られる観測データに基づいて時刻証明用データを生成してもよい。
【００３１】
図６は、情報管理装置２０が時刻証明用データの生成処理の中断を判断する処理のフローチャートを示す。時刻証明用データ生成部２２０は、好ましくは、観測データを取得して時刻証明用データを生成する処理の処理中に、その処理の内容が解析されているか否かを、例えば定期的に判断する（Ｓ６００）。より詳細には、時刻証明用データ生成部２２０は、時刻証明用データを生成する処理をＯＳ上で実現するプロセス・スレッドに対して、デバッガ用プロセスがアタッチされている場合には、その処理の内容が解析されていると判断してもよい。また、時刻証明用データ生成部２２０は、その処理を実行するプログラムコードが、予め定められた基準の速度以下の極めて遅い速度で実行されている場合には、その処理の内容を解析するためのトレース用プログラムが実行されていると判断してもよい。そして、その処理の内容が解析されている場合に（Ｓ６１０：ＹＥＳ）、時刻証明用データ生成部２２０は、時刻証明用データの生成処理を中断する（Ｓ６２０）。
【００３２】
これに加えて、時刻証明用データ生成部２２０を実現するプログラムコードは、情報管理装置２０の記録媒体上で暗号化されて記録されることが望ましい。実行可能なプログラムコードを暗号化する技術は、例えば、出願人らにより開発されたTrustedJVM等の技術により実現可能である。出願時点において、この暗号が不当に解読されたという情報は得られていないことから、時刻証明用データ生成部２２０の処理内容を利用者から秘密にできると考えられる。これらの総合的な対策によって、観測の対象物を利用者から秘密に保つことができる。
【００３３】
図７は、判定装置３０が観測データを記録する処理のフローチャートを示す。判定装置３０は、以下の処理を、例えば時刻の経過に応じて順次行う。まず、観測履歴記録部３００は、観測装置２５−１〜Ｎ等を用いて対象物を観測する（Ｓ７００）。そして、観測履歴記録部３００は、対象物を観測した結果得られる観測データを取得する（Ｓ７１０）。そして、観測履歴記録部３００は、観測データを観測時刻に対応付けて記録する（Ｓ７２０）。
【００３４】
ここで、観測データとは、対象物を観測した結果得られる観測データであればよく、対象物から直接得られるデータのみならず、そのデータに対して予め定められた処理を行ったデータであってもよい。例えば、観測データとしては以下の具体例が挙げられる。
図８に、観測データの具体例を示す。
【００３５】
（１）対象物から直接得られるデータ
観測データとは、例えば、天気図の画像データ、撮像装置により撮像した画像データ、または渋滞情報を図式化した画像データであってもよい。例えば本図では、観測履歴記録部３００は、観測時刻に対応付けて、その時刻に各々の対象物から取得した画像データをjpegファイルとして記録している。これらの画像データから署名データを得るには、まず、これらの画像データにハッシュ関数を適用して時刻証明用データを得る必要がある。即ちこの例の場合には、悪意ある利用者によって観測データが盗み出されたとしても、そのハッシュ関数の演算内容が漏洩しなければ、時刻証明の偽造を防ぐことができる。
【００３６】
（２）対象物から直接得られるデータのハッシュデータ
観測データとは、例えば、（１）に例示した、対象物から直接得られる画像データ等に対して、ハッシュ関数を適用したハッシュデータであってもよい。例えば本図では、観測履歴記録部３００は、観測時刻に対応付けて、その時刻における画像データからハッシュデータを生成し、そのハッシュデータを、.hashという拡張子のファイルとして記録する。ハッシュデータは、対象物から直接得られるデータと比較してデータサイズが小さいので、観測履歴記録部３００の必要容量を小さくできる。
【００３７】
（３）複数の対象物から得られるデータの組み合わせ
観測データとは、例えば、（２）の例示したハッシュデータをそれぞれの観測対象物について生成した上で、それらを組み合わせて得られるデータであってもよい。即ちこの場合、観測履歴記録部３００は、複数の対象物から得られる複数のハッシュデータを、予め定められた組み合わせ方法によって組み合わせることによって観測データを取得する。例えば本図では、観測履歴記録部３００は、.datという拡張子のファイルとして観測データを記録している。この場合には、（２）の場合と同様に、観測履歴記録部３００の必要容量を小さくすることができる。
【００３８】
なお、情報管理装置２０と観測装置２５−１〜Ｎとの間のネットワーク構成と、判定装置３０と観測装置２５−１〜Ｎとの間のネットワーク構成とは異なっている場合が多い。例えば、判定装置３０が基幹ネットワークに接続しているのに対して、情報管理装置２０は、末端のネットワークに設けられたルータにダイアルアップ接続しているような場合もある。このため、ある時刻において、判定装置３０においてはその時刻に観測された全てのデータが得られるが、情報管理装置２０においては、通信遅延等のため、その時刻よりも前に観測されたデータしか得られない場合もある。
【００３９】
このような状況に対応すべく、好ましくは、観測履歴記録部３００は、以下のように、ある時刻における観測データを複数生成する。
図９は、観測履歴記録部３００によって複数の観測データが生成される処理の概念図である。まず、観測履歴記録部３００は、ある時刻において第１の対象物から得られるハッシュデータを、その時刻に第２の対象物から得られるハッシュデータと組み合わせることにより第１の観測データを得る。更に、観測履歴記録部３００は、ある時刻において第１の対象物から得られるハッシュデータを、その時刻よりも所定の期間（例えば１分間）遡った時刻に第２の対象物から得られるハッシュデータと組み合わせることにより第２の観測データを得る。更に、観測履歴記録部３００は、ある時刻において第１の対象物から得られるハッシュデータを、その時刻よりも所定の期間（例えば１分間）後の時刻に第２の対象物から得られるハッシュデータと組み合わせることにより第３の観測データを得る。そして、観測履歴記録部３００は、これらの観測データを、第１の対象物を観測した観測時刻に対応付けて記録する。
【００４０】
次に、図１０を用いて、上述の（１）から（３）の各々の場合について、判定装置３０が署名データの正当性を判定する処理のフローチャートを説明する。
【００４１】
（１）または（２）の場合について。
情報取得部３１０は、第２利用者から受けた、情報が存在した時刻を証明すべき旨の指示に応答して（Ｓ１０００：ＹＥＳ）、情報記録部２４０に記録された情報および署名データを情報管理装置２０から取得する（Ｓ１０１０）。存在判断部３２０は、公開鍵暗号系の秘密鍵により署名データを復号化することにより、署名データに含めて記録された、対象物の観測時刻を抽出する（Ｓ１０２０）。
【００４２】
そして、存在判断部３２０は、抽出した観測時刻に対応する観測データを観測履歴記録部３００から検索する（Ｓ１０３０）。ここで言う観測データとは、（１）の場合には、天気図の画像データ等のデータ自体であり、（２）の場合には、そのデータに、予めハッシュ関数を適用したハッシュデータである。また、観測対象物が複数である場合には、存在判断部３２０は、各々の観測対象物に対応する観測データの各々を取得する。次に、存在判断部３２０は、署名データを復号化することにより、時刻証明用データおよび同一性証明用データを抽出する（Ｓ１０４０）。そして、存在判断部３２０は、時刻証明用データ、同一性証明用データ、情報自体、および、検索された観測データに基づいて、当該観測時刻に情報が存在していたか否かを判断する（Ｓ１０５０）。
【００４３】
（１）の例では、存在判断部３２０は、検索された観測データに対してハッシュ関数を適用することによってハッシュデータを生成し、複数の対象物について生成したハッシュデータを所定の組み合わせ方法で組み合わせることにより時刻証明用データを生成する。（２）の例では、存在判断部３２０は、検索した観測データはハッシュデータであるので、複数の対象物についてのハッシュデータを所定の組み合わせ方法で組み合わせることにより時刻証明用データを生成する。
【００４４】
そして、存在判断部３２０は、生成したその時刻証明用データが、抽出した時刻証明用データと一致するか否かを判断する。そして、一致したことを条件として更に、存在判断部３２０は、情報自体からその情報の同一性証明用データを生成し、抽出した同一性証明用データと一致するか否かを判断する。一致する場合には、存在判断部３２０は、当該観測時刻に情報が存在していたと判断する。
【００４５】
これに代えて、対象物リストに複数の対象物が指定されている場合においては、存在判断部３２０は、何れかの観測データに基づく同一性証明用データにより判定を行ってもよい。具体的には、存在判断部３２０は、対象物リストに指定された何れかの対象物の観測データに基づいて、当該観測データの観測時刻に情報が存在していたと判断した場合に、その情報がその観測時刻に存在していたいと判断してもよい。これにより、ネットワークやウェブサーバに障害が発生していたときに生成された署名データについても、その正当性を適切に判定できる。
【００４６】
なお、本図の例に代えて、存在判断部３２０は、対象物の観測時刻を抽出しなくてもよい。この場合、存在判断部３２０は、観測履歴記録部３００に記録された観測データの各々について、その観測データから生成した時刻証明用データが、署名データ中の時刻証明用データと一致するか否かを順次判断してもよい。このような処理によっても、観測時刻を用いた処理よりも処理時間が多く必要となるものの、署名データの正当性判断を適切に行うことができる。
【００４７】
（３）の場合について。
情報取得部３１０は、情報が存在した時刻を証明すべき旨の指示に応じて（Ｓ１０００：ＹＥＳ）、情報記録部２４０に記録された情報および署名データを情報管理装置２０から取得する（Ｓ１０１０）。存在判断部３２０は、公開鍵暗号系の秘密鍵により署名データを復号化することにより、署名データに含めて記録された、対象物の観測時刻を抽出する（Ｓ１０２０）。
【００４８】
そして、存在判断部３２０は、抽出した観測時刻に対応する複数の観測データを観測履歴記録部３００から検索する（Ｓ１０３０）。ここで言う観測データとは、複数の対象物から得られたデータからハッシュデータを取り出した上で、それらのハッシュデータを所定の方法により組み合わせて生成されたデータである。即ちこの場合、時刻証明用データと観測データとは同一である。
【００４９】
次に、存在判断部３２０は、署名データを復号化することにより、時刻証明用データおよび同一性証明用データを抽出する（Ｓ１０４０）。そして、存在判断部３２０は、時刻証明用データ、同一性証明用データ、情報自体、および、検索された観測データに基づいて、当該観測時刻に情報が存在していたか否かを判断する（Ｓ１０５０）。
【００５０】
具体的には、存在判断部３２０は、検索された複数の観測データのそれぞれについて、その観測データが、抽出した時刻証明用データと一致するか否かを判断する。そして、何れかの観測データが時刻証明用データと一致したことを条件として更に、存在判断部３２０は、情報自体からその情報の同一性証明用データを生成し、抽出した同一性証明用データと一致するか否かを判断する。一致する場合には、存在判断部３２０は、当該観測時刻に情報が存在していたと判断する。
このように、同一の観測時刻に対応付けて複数の観測データを記録することで、その観測時刻に複数の対象物を一斉に観測できなかった場合であっても、時刻証明を正しく認証することができる。
【００５１】
図１１は、本実施例または変形例における情報管理装置２０または判定装置３０として機能する情報処理装置５００のハードウェア構成の一例を示す。情報処理装置５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００５２】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００５３】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００５４】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置５００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００５５】
情報処理装置５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置５００にインストールされて実行される。プログラムが情報処理装置５００等に働きかけて行わせる動作は、図１から図１０において説明した情報管理装置２０または判定装置３０における動作と同一であるから、説明を省略する。
【００５６】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置５００に提供してもよい。
【００５７】
以上、本実施例に係る時刻証明システム１０によれば、所定の時刻に情報が存在したことを示す署名データを、権威ある機関等により厳重に管理された装置にアクセスすることなく生成することができる。これにより、署名データを頻繁に生成する必要があるがその正当性を判断する頻度が低い場合においては、処理時間および費用等を大幅に削減することができる。また、本実施例に係る時刻証明システム１０によれば、署名データの作成処理に、時刻の変化に応じて変化する自然現象等を観測した観測データを用いる。これにより、悪意ある利用者により情報の存在時刻を偽装しにくくすることができる。
【００５８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００５９】
【図１】図１は、時刻証明システム１０の全体構成を示す。
【図２】図２は、情報管理装置２０の機能を機能ブロックに分類して示す。
【図３】図３は、判定装置３０の機能を機能ブロックに分類して示す。
【図４】図４は、情報管理装置２０が情報に署名データを付加して記録する処理のフローチャートを示す。
【図５】図５は、情報管理装置２０が取得する観測データの具体例を示す。
【図６】図６は、情報管理装置２０が時刻証明用データの生成処理の中断を判断する処理のフローチャートを示す。
【図７】図７は、判定装置３０が観測データを記録する処理のフローチャートを示す。
【図８】図８は、観測データの具体例を示す。
【図９】図９は、観測履歴記録部３００によって複数の観測データが生成される処理の概念図である。
【図１０】図１０は、判定装置３０が署名データの正当性を判定する処理のフローチャートを示す。
【図１１】図１１は、情報管理装置２０または判定装置３０として機能する情報処理装置５００のハードウェア構成の一例を示す。
【符号の説明】
【００６０】
１０  時刻証明システム
２０  情報管理装置
２５  観測装置
３０  判定装置
２００  同一性証明用データ取得部
２１０  リスト取得部
２２０  時刻証明用データ生成部
２３０  署名データ生成部
２４０  情報記録部
３００  観測履歴記録部
３１０  情報取得部
３２０  存在判断部
５００  情報処理装置
【図１】
2006303963.tif 000003
【図２】
2006303963.tif 000004
【図３】
2006303963.tif 000005
【図４】
2006303963.tif 000006
【図５】
2006303963.tif 000007
【図６】
2006303963.tif 000008
【図７】
2006303963.tif 000009
【図８】
2006303963.tif 000010
【図９】
2006303963.tif 000011
【図１０】
2006303963.tif 000012
【図１１】
2006303963.tif 000013