(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023064977
(43)【公開日】2023-05-12
(54)【発明の名称】タイムスタンプ発行方法
(51)【国際特許分類】
G06Q 10/10 20230101AFI20230502BHJP
【FI】
G06Q10/10
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021175484
(22)【出願日】2021-10-27
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】石田 州裕
(72)【発明者】
【氏名】山上 辰典
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA11
(57)【要約】
【課題】オフライン環境においても信頼性の高いタイムスタンプを発行する。
【解決手段】本発明のローカルタイムスタンプ発行装置100は、同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて電子データに対してタイムスタンプトークンを発行するタイムスタンプ発行部121と、予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、特定のタイムスタンプ発行装置に対して、電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求する台帳タイムスタンプ要求部122と、特定のタイムスタンプ発行装置から台帳データに対して発行されたタイムスタンプトークンを取得する台帳タイムスタンプ取得部123と、を備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
オフライン環境に設置されたローカルタイムスタンプ発行装置によるタイムスタンプ発行方法であって、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行し、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求し、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する、
タイムスタンプ発行方法。
【請求項2】
請求項1に記載のタイムスタンプ発行方法であって、
前記特定のタイムスタンプ発行装置に対して、前回に当該特定のタイムスタンプ発行装置にタイムスタンプを要求した後に、前記ローカルタイムスタンプ発行装置が発行したタイムスタンプトークンを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
【請求項3】
請求項1又は2に記載のタイムスタンプ発行方法であって、
前記特定のタイムスタンプ発行装置に対して、前記ローカルタイムスタンプ発行装置が発行した複数のタイムスタンプトークンを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
【請求項4】
請求項1乃至3のいずれかに記載のタイムスタンプ発行方法であって、
周期的に予め設定されたタインミグに、前記特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対してタイムスタンプを要求する、
タイムスタンプ発行方法。
【請求項5】
請求項1乃至4のいずれかに記載のタイムスタンプ発行方法であって、
前記所定の情報処理装置からの前記電子データに対するタイムスタンプの要求に応じて、前記電子データのハッシュ値に時刻情報を付加して電子署名したタイムスタンプトークンを発行し、
前記特定のタイムスタンプ発行装置に対して、前記ハッシュ値と前記時刻情報と前記電子データに対して発行したタイムスタンプトークンとを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
【請求項6】
請求項5に記載のタイムスタンプ発行方法であって、
前記特定のタイムスタンプ発行装置に対して、前記ハッシュ値と前記時刻情報と前記電子データに対して発行したタイムスタンプトークンと前記電子データのファジーハッシュ値とを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
【請求項7】
請求項1乃至6のいずれかに記載のタイムスタンプ発行方法であって、
予め設定されたタイミングで、前記特定のタイムスタンプ発行装置に対して、過去に前記特定のタイムスタンプ発行装置から取得したタイムスタンプトークンを前記台帳データに含めて、当該台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
【請求項8】
請求項7に記載のタイムスタンプ発行方法であって、
予め設定されたタイミングで、前記特定のタイムスタンプ発行装置に対して、直近の過去に前記特定のタイムスタンプ発行装置から取得した1つのタイムスタンプトークンを前記台帳データに含めて、当該台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
【請求項9】
オフライン環境に設置されたローカルタイムスタンプ発行装置であって、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行するタイムスタンプ発行部と、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求する台帳タイムスタンプ要求部と、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する台帳タイムスタンプ取得部と、
を備えたローカルタイムスタンプ発行装置。
【請求項10】
オフライン環境に設置されたローカルタイムスタンプ発行装置に、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行し、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求し、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タイムスタンプ発行方法、ローカルタイムスタンプ発行装置、プログラムに関する。
【背景技術】
【0002】
文書、画像、動画、音声などの電子データについて、特定の時刻に存在していたこと、及び、特定の時刻以降に改ざんされていないこと、を証明するために、タイムスタンプを発行することが行われている(特許文献1参照)。タイムスタンプは、国等が指定するような公式な時刻認証局によって、電子データのハッシュ値に時刻情報を関連付けて電子署名することにより発行される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上述した公式な時刻認証局のタイムスタンプ発行サーバは、通常はインターネット上に設置される。このため、タイムスタンプを要求するユーザは、インターネットに接続されている環境にある必要がある。ところが、タイムスタンプを要求するユーザが、公的機関や企業などの情報漏洩対策が施された組織である場合には、かかる組織の情報処理装置は基本的にオフライン環境にある。すると、このような組織では、インターネット上の公式な時刻認証局にタイムスタンプを要求することができない、という問題が生じる。
【0005】
一方で、上述したようなオフライン環境にある組織において、組織内のローカルな環境にローカル時刻認証局を設置し、かかるローカル時刻認証局がタイムスタンプを発行するような運用も考えられる。しかしながら、この場合には、ローカル時刻認証局は公式な時刻認証局ではないため、タイムスタンプの信頼性に欠ける、という問題が生じる。
【0006】
このため、本発明の目的は、上述した課題である、オフライン環境において信頼性の高いタイムスタンプを発行することができない、ことを解決することができるタイムスタンプ発行方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一形態であるタイムスタンプ発行方法は、
オフライン環境に設置されたローカルタイムスタンプ発行装置によるタイムスタンプ発行方法であって、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行し、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求し、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する、
という構成をとる。
【0008】
また、本発明の一形態であるローカルタイムスタンプ発行装置は、
オフライン環境に設置されたローカルタイムスタンプ発行装置であって、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行するタイムスタンプ発行部と、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求する台帳タイムスタンプ要求部と、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する台帳タイムスタンプ取得部と、
を備えた、
という構成をとる。
【0009】
また、本発明の一形態であるプログラムは、
オフライン環境に設置されたローカルタイムスタンプ発行装置に、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行し、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求し、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する、
処理を実行させる、
という構成をとる。
【発明の効果】
【0010】
本発明は、以上のように構成されることにより、オフライン環境においても信頼性の高いタイムスタンプを発行することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態1におけるタイムスタンプ発行システムの全体構成を示す図である。
【
図2】
図1に開示したローカル時刻認証局サーバの構成を示すブロック図である。
【
図3】
図1に開示したローカル時刻認証局サーバに記憶されるタイムスタンプ台帳のデータ構造の一例を示す図である。
【
図4】
図1に開示したタイムスタンプ発行システムによるタイムスタンプ発行処理の動作を示す図である。
【
図5】
図1に開示したローカル時刻認証局サーバの動作を示すフローチャートである。
【
図6】
図1に開示したローカル時刻認証局サーバに記憶されるタイムスタンプ台帳のデータ構造の変形例を示す図である。
【
図7】本発明の実施形態2におけるローカルタイムスタンプ発行装置のハードウェア構成を示すブロック図である。
【
図8】本発明の実施形態2におけるローカルタイムスタンプ発行装置の構成を示すブロック図である。
【
図9】本発明の実施形態2におけるローカルタイムスタンプ発行装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
<実施形態1>
本発明の第1の実施形態を、
図1乃至
図6を参照して説明する。
図1乃至
図3は、タイムスタンプ発行システムの構成を説明するための図であり、
図4乃至
図5は、タイムスタンプ発行システムの処理動作を説明するための図である。
図6は、タイムスタンプ発行システムの変形例を説明するための図である。
【0013】
[構成]
本発明におけるタイムスタンプ発行システムは、文書、画像、動画、音声などの電子データについて、特定の時刻に存在していたこと、及び、特定の時刻以降に改ざんされていないこと、を証明するために、タイムスタンプを発行するためのシステムである。特に、本発明では、外部インターネットと接続されていないオフライン環境において、信頼性の高いタイムスタンプを発行することができるよう構成される。
【0014】
本実施形態におけるタイムスタンプ発行システムは、
図1に示すように、ローカルネットワークn内に設置された、ローカル時刻認証局サーバ10と、ユーザ端末20と、を備えている。例えば、ローカルネットワークnは、公的機関や企業などの情報漏洩対策が施された特定の組織のイントラネットであり、基本的には外部インターネットNに接続されていないオフライン環境にある。
【0015】
そして、ユーザ端末20は、特定の組織の従業員といったユーザUが操作する所定の情報処理装置である。ローカル時刻認証局サーバ10は、特定の組織が運営するサーバ装置であり、後述するように、ユーザUによって作成された文書などの電子データに対するタイムスタンプの要求をユーザ端末20から受け付けてタイムスタンプを発行するよう構成されており、ローカル環境でタイムスタンプを発行するローカルタイムスタンプ発行装置として機能する。
【0016】
また、ローカル時刻認証局サーバ10は、予め設定されたタイミング、例えば、各日で決められた時刻にのみ、外部インターネットNに接続可能である。外部インターネットNには、国等が指定するような公式な時刻認証局が運営する公式時刻認証局サーバ30が設置されている。公式時刻認証局サーバ30は、事前に登録された組織やユーザからの電子データに対するタイムスタンプの要求に応じて、タイムスタンプを発行するよう構成されたタイムスタンプ発行装置として機能する。そして、ローカル時刻認証局サーバ10は、かかる公式時刻認証局サーバ30に、外部インターネットNに接続可能なときにのみアクセスすることができる。以下、主に、ローカル時刻認証局サーバ10の構成について詳細に説明する。
【0017】
ローカル時刻認証局サーバ10は、演算装置と記憶装置とを備えた1台又は複数台の情報処理装置にて構成される。そして、ローカル時刻認証局サーバ10は、
図2に示すように、タイムスタンプ発行部11、台帳タイムスタンプ要求部12、台帳タイムスタンプ取得部13、検証部14、を備える。タイムスタンプ発行部11、台帳タイムスタンプ要求部12、台帳タイムスタンプ取得部13、検証部14の各機能は、演算装置が記憶装置に格納された各機能を実現するためのプログラムを実行することにより実現することができる。また、ローカル時刻認証局サーバ10は、台帳記憶部16を備える。台帳記憶部16は、記憶装置により構成される。以下、各構成について詳述する。
【0018】
タイムスタンプ発行部11は、ユーザ端末20から電子データに対するタイムスタンプの要求を受け付けると、かかる電子データに対してタイムスタンプトークンを発行する。具体的に、タイムスタンプ発行部11は、タイムスタンプを要求された電子データのハッシュ値に時刻情報を付加して電子署名したタイムスタンプトークンを発行する。なお、このとき、タイムスタンプ発行部11は、発行したタイムスタンプトークンをユーザ端末20に送信してもよく、後述するようにタイムスタンプトークンを含むタイムスタンプ台帳の検証後に当該タイムスタンプトークンをユーザ端末20に送信してもよい。
【0019】
そして、タイムスタンプ発行部11は、タイムスタンプトークンの発行に伴い、
図3に示すように、かかるタイムスタンプトークンに関する情報として、電子データのハッシュ値と、時刻情報と、タイムスタンプトークンと、の組み合わせからなるレコードをタイムスタンプ台帳に格納して、台帳記憶部16に記憶する。このとき、タイムスタンプ発行部11は、タイムスタンプ台帳内に、1レコードにつき1つのタイムスタンプに関する情報を格納するが、タイムスタンプ台帳内には複数のレコード、つまり、複数の電子データのそれぞれに対応するハッシュ値、時刻情報、タイムスタンプトークンの組み合わせからなるレコードを格納してもよい。
【0020】
台帳タイムスタンプ要求部12は、予め設定されたタイミングとなると、外部インターネットN上に設置された公式時刻認証局サーバ30(特定のタイムスタンプ発行装置)に外部ネットワークNを介して接続する。そして、台帳タイムスタンプ要求部12は、公式時刻認証局サーバ30に対して、台帳記憶部16に記憶しているタイムスタンプ台帳(台帳データ)に対するタイムスタンプを要求する。つまり、ローカル時刻認証局サーバ10は、通常はオフライン状況であるが、予め設定されたタイミングにのみ、外部インターネットNに接続して、公式時刻認証局サーバ30に対してタイムスタンプ台帳に対するタイムスタンプを要求する。ローカル時刻認証局サーバ10が外部インターネットNに接続するタイミングは、一例として夜中の特定時刻に設定され、毎日特定時刻になるとバッチ処理が起動し、タイムスタンプ台帳に対するタイムスタンプの要求が行われる。なお、上述した予め設定されたタイミングは、いかなるタイミングであってもよい。例えば、予め設定されたタイミングは、毎日の特定時刻や、一定時間が経過する毎に、というように周期的なタイミングであってもよく、予め設定されたイベントが発生したタイミングであってもよい。
【0021】
このとき、台帳タイムスタンプ要求部12は、タイムスタンプ台帳に複数のレコードが含まれている場合には、含まれている複数のレコードをまとめた状態でタイムスタンプを要求する。つまり、台帳タイムスタンプ要求部12は、前回にタイムスタンプを要求した後に格納された全てのレコードを含むタイムスタンプ台帳に対するタイムスタンプを要求する。このため、台帳タイムスタンプ要求部12は、上述したように予め設定されたタイミングに外部インターネットN上に設置された公式時刻認証局サーバ30に接続するよう設定されている場合には、接続するタイミングの間に発行され格納された全てのレコードを含むタイムスタンプ台帳に対するタイムスタンプを公式時刻認証局サーバ30に要求するよう構成されている。例えば、台帳タイムスタンプ要求部12は、一日ごとにバッチ処理を起動するよう構成されている場合には、その日のバッチ処理起動前に格納された全てのレコードを含むタイムスタンプ台帳に対するタイムスタンプの要求を行う。
【0022】
なお、ローカル時刻認証局サーバ10は、公式時刻認証局サーバ30に対してタイムスタンプ台帳に対するタイムスタンプを要求すると、後述するように台帳タイムスタンプ取得部13にて、公式時刻認証局サーバ30にて発行されたタイムスタンプ台帳に対するタイムスタンプトークン(台帳タイムスタンプトークン)を取得する。これに応じて、台帳タイムスタンプ要求部12は、上述したように公式時刻認証局サーバ30に対して新たにタイムスタンプを要求する際に、過去に公式時刻認証局サーバ30から取得した台帳タイムスタンプトークンを、これからタイムスタンプを要求する新たなタイムスタンプ台帳に含めて、当該新たなタイムスタンプ台帳に対するタイムスタンプを要求する。特に、台帳タイムスタンプ要求部12は、直近の過去つまり前回のタイムスタンプの要求時に公式時刻認証局サーバ30から取得した台帳タイムスタンプトークンを、新たなタイムスタンプ台帳に含めてタイムスタンプを要求する。但し、台帳タイムスタンプ要求部12は、過去の複数の台帳タイムスタンプトークンを新たなタイムスタンプ台帳に含めてタイムスタンプを要求してもよく、過去の台帳タイムスタンプトークンを含めずにタイムスタンプを要求してもよい。なお、台帳タイムスタンプ要求部12は、タイムスタンプ台帳のタイムスタンプを要求する際に、タイムスタンプ台帳及び台帳タイムスタンプトークンを公式時刻認証局サーバ30に送信してもよく、タイムスタンプ台帳及び台帳タイムスタンプトークンのハッシュ値のみを公式時刻認証局サーバ30に送信してもよい。
【0023】
台帳タイムスタンプ取得部13は、台帳タイムスタンプ要求部12によるタイムスタンプの要求に応じて公式時刻認証局サーバ30から発行されたタイムスタンプ台帳に対するタイムスタンプトークンである台帳タイムスタンプトークンを取得して、台帳記憶部16に記憶しておく。なお、公式時刻認証局サーバ30では、タイムスタンプを要求されたタイムスタンプ台帳(場合によっては過去の台帳タイムスタンプトークンを含む)のハッシュ値に時刻情報を付加して電子署名した台帳タイムスタンプトークンを発行する。ローカル時刻認証局サーバ10の台帳記憶部16に記憶された台帳タイムスタンプトークンは、上述したように台帳タイムスタンプ要求部12にて読み出され、新たなタイムスタンプ台帳に含められて公式時刻認証局サーバ30にタイムスタンプの要求が行われる。
【0024】
検証部14は、ユーザ端末20と協働して、当該ユーザ端末20からタイムスタンプを要求された電子データの検証を行う。具体的に、検証部14は、公式時刻認証局サーバ30から発行された台帳タイムスタンプトークンを用いて、タイムスタンプ台帳の検証を行う。例えば、検証部14は、公式時刻認証局サーバ30から取得した台帳タイムスタンプトークンを、公式時刻認証局サーバ30の公開鍵を用いて復号し、台帳記憶部16に記憶しているタイムスタンプ台帳のハッシュ値と台帳タイムスタンプトークンに含まれているハッシュ値とが一致しているか否かに応じて検証を行う。ハッシュ値が一致している場合には、台帳記憶部16に記憶しているタイムスタンプ台帳が、台帳タイムスタンプトークンに含まれている時刻情報の時刻に存在し、かかる時刻以降に改ざんされていないことが証明される。このため、タイムスタンプ台帳に含まれる電子データに対するタイムスタンプトークンについても、台帳タイムスタンプトークンに含まれている時刻情報の時刻に存在し、かかる時刻以降に改ざんされていないことが証明される。なお、台帳タイムスタンプに過去の台帳タイムスタンプトークンが含まれている場合には、当該過去の台帳タイムスタンプトークンが時刻情報の時刻に存在し、かかる時刻以降に改ざんされていないことが証明されることとなる。
【0025】
そして、検証部14は、タイムスタンプ台帳に含まれるタイムスタンプトークンを、検証済みのものとしてユーザ端末20に送信する。これにより、ユーザ端末20は、ローカル時刻認証局サーバ10にて発行されると共に、公式時刻認証局サーバ30のタイムスタンプにて検証済みのタイムスタンプトークンを用いて、電子データの検証を行うことができる。具体的に、ユーザ端末20は、タイムスタンプトークンをローカル時刻認証局サーバ10の公開鍵を用いて復号し、対象となる電子データのハッシュ値とタイムスタンプトークンに含まれているハッシュ値とが一致しているか否かに応じて検証を行う。ハッシュ値が一致している場合には、ユーザ端末20に記憶している電子データが、タイムスタンプトークンに含まれている時刻情報の時刻に存在し、かかる時刻以降に改ざんされていないことが、ローカル時刻認証局サーバ10にて証明されたこととなる。そして、このタイムスタンプトークンは、上述したように、公式時刻認証局サーバ30にてタイムスタンプが発行された時刻に存在し、かかる時刻以降に改ざんされていないことが証明されているため、同様に電子データについても証明されることとなる。
【0026】
なお、検証部14は、ユーザ端末20から電子データの検証の要求があったときに、かかる電子データのタイムスタンプトークンの証明を行ってもよい。つまり、検証部14は、ユーザ端末20から検証を要求された電子データのタイムスタンプトークンが含まれるタイムスタンプ台帳を、台帳タイムスタンプトークンを用いて検証し、その結果をユーザ端末20に送信してもよい。
【0027】
[動作]
次に、上述したタイムスタンプ発行システム、特に、ローカル時刻認証局サーバ10の動作、つまり、ローカルタイムスタンプ発行方法の動作を、主に
図4乃至
図5を参照して説明する。なお、ローカル時刻認証局サーバ10は、基本的には外部インターネットと接続されていないオフライン環境にあり、ローカルネットワークn内においてユーザ端末20と接続されている状態である。
【0028】
ローカル時刻認証局サーバ10は、オフライン環境において、ユーザ端末20から電子データに対するタイムスタンプの要求を受け付けると(
図4の符号A1、
図5のステップS1でYes)、かかる電子データに対してタイムスタンプトークンを発行する(
図4の符号A2、
図5のステップS2)。なお、ローカル時刻認証局サーバ10は、この時点でユーザ端末20に対してタイムスタンプトークンを送信してもよく、後にタイムスタンプトークンを含むタイムスタンプ台帳に対する台帳タイムスタンプトークンを公式時刻認証局サーバ30から取得してから、ユーザ端末20に対してタイムスタンプトークンを送信してもよい。
【0029】
ローカル時刻認証局サーバ10は、タイムスタンプトークンの発行に伴い、
図3に示すように、かかるタイムスタンプトークンに関する情報からなる、電子データのハッシュ値と、時刻情報と、タイムスタンプトークンと、の組み合わせからなるレコードをタイムスタンプ台帳に格納して、台帳記憶部16に記憶する。そして、ローカル時刻認証局サーバ10は、予め設定されたタイミング、例えば、1日1回のバッチ処理のタイミングとなるまで(
図5のステップS4でNo)、ユーザ端末20からの要求に応じて電子データに対するタイムスタンプの発行を行い(
図5のステップS1,S2)、かかるタイムスタンプに関する情報からなるレコードをタイムスタンプ台帳に格納する(
図5のステップS3)。
【0030】
ローカル時刻認証局サーバ10は、予め設定されたタイミング、例えば、1日1回のバッチ処理のタイミングとなると(
図5のステップS4でYes)、このときだけオフライン環境から外部インターネットN上に設置された公式時刻認証局サーバ30に外部ネットワークNを介して接続できる状況となる。そして、ローカル時刻認証局サーバ10は、公式時刻認証局サーバ30に対して、台帳記憶部16に記憶しているタイムスタンプ台帳に対するタイムスタンプを要求する(
図4の符号A3、
図5のステップS5)。このとき、ローカル時刻認証局サーバ10は、過去に公式時刻認証局サーバ30から取得した台帳タイムスタンプトークンを、これからタイムスタンプを要求する新たなタイムスタンプ台帳に含めて、当該新たなタイムスタンプ台帳に対するタイムスタンプを要求する。特に、ローカル時刻認証局サーバ10は、直近の過去つまり前回のタイムスタンプの要求時に公式時刻認証局サーバ30から取得した台帳タイムスタンプトークンを、新たなタイムスタンプ台帳に含めてタイムスタンプを要求する。
【0031】
その後、ローカル時刻認証局サーバ10は、タイムスタンプの要求に応じて公式時刻認証局サーバ30から発行されたタイムスタンプ台帳に対するタイムスタンプトークンである台帳タイムスタンプトークンを取得して、台帳記憶部16に記憶しておく(
図4の符号A4、
図5のステップS6)。なお、ローカル時刻認証局サーバ10は、公式時刻認証局サーバ30から台帳タイムスタンプトークンを取得後に、再びオフライン環境となる。
【0032】
そして、ローカル時刻認証局サーバ10の台帳記憶部16に記憶された台帳タイムスタンプトークンは、ユーザ端末20が保持する電子データの検証に用いられることとなる(
図4の符号A5)。例えば、ユーザ端末20が保持する電子データの検証は、以下のようにして行われる。まず、ローカル時刻認証局サーバ10は、公式時刻認証局サーバ30から発行された台帳タイムスタンプトークンを、公式時刻認証局サーバ30の公開鍵を用いて復号し、台帳記憶部16に記憶しているタイムスタンプ台帳のハッシュ値と台帳タイムスタンプトークンに含まれているハッシュ値とが一致しているか否かを調べる。ハッシュ値が一致している場合には、台帳記憶部16に記憶しているタイムスタンプ台帳が、台帳タイムスタンプトークンに含まれている時刻情報の時刻に存在し、かかる時刻以降に改ざんされていないことが証明される。このため、タイムスタンプ台帳に含まれる電子データに対するタイムスタンプトークンについても、公式時刻認証局サーバ30がタイムスタンプした時刻に存在し、かかる時刻以降に改ざんされていないことが証明される。
【0033】
そして、このタイムスタンプ台帳に含まれる検証済みのタイムスタンプトークンを用いてユーザ端末20が電子データの検証を行うことで、かかる電子データは、公式時刻認証局サーバ30が台帳タイムスタンプトークンを発行した時刻に存在し、かかる時刻以降に改ざんされていないことを証明することができる。なお、ユーザ端末20による電子データの検証は、タイムスタンプトークンをローカル時刻認証局サーバ10の公開鍵を用いて復号し、対象となる電子データのハッシュ値とタイムスタンプトークンに含まれているハッシュ値とが一致しているかを調べることで行う。
【0034】
以上のように、本実施形態によると、オフライン環境のローカル時刻認証局サーバ10を用いた場合であっても、検証対象となる電子データのタイムスタンプトークンを含むタイムスタンプ台帳に対して公式時刻認証局サーバ30によるタイムスタンプを発行してもらうことで、かかるタイムスタンプの時刻に電子データが存在し、かかる時刻以降に改ざんされていないことを証明することができる。その結果、オフライン環境においても、信頼性の高いタイムスタンプの発行を行うことができる。
【0035】
そして、タイムスタンプ台帳に、過去のタイムスタンプ台帳の台帳タイムスタンプトークンを含めてタイムスタンプを行う場合には、過去のタイムスタンプ台帳の改ざんを防止できるため、より信頼性が高まる。
【0036】
[変形例]
次に、上述したタイムスタンプ発行システムの変形例を説明する。ローカル時刻認証局サーバ10のタイムスタンプ発行部11は、タイムスタンプトークンの発行に伴い、
図6に示すようなタイムスタンプ台帳を生成して、台帳記憶部16に記憶してもよい。具体的に、変形例におけるタイムスタンプ台帳に格納される発行したタイムスタンプトークンのレコードには、電子データのハッシュ値と、時刻情報と、タイムスタンプトークンと、電子データのFuzzy Hash値(ファジーハッシュ値)と、の組み合わせからなる。Fuzzy Hash値とは、電子データのハッシュ値の1つであり、電子データが類似している場合、電子データ同士で近い値をとるよう算出される関数を用いたものである。Fuzzy Hash値の一例として、imphashやssdeepといったハッシュ関数によるものがある。
【0037】
そして、ローカル時刻認証局サーバ10の台帳タイムスタンプ要求部12は、上述同様に予め設定されたタイミングとなると、外部インターネットN上に設置された公式時刻認証局サーバ30に対して、台帳記憶部16に記憶している
図6に示すようにファジーハッシュ値を含むタイムスタンプ台帳に対するタイムスタンプを要求する。このとき、台帳タイムスタンプ要求部12は、上述同様に過去に公式時刻認証局サーバ30から取得した台帳タイムスタンプトークンを、これからタイムスタンプを要求する新たなタイムスタンプ台帳に含めて、当該新たなタイムスタンプ台帳に対するタイムスタンプを要求してもよい。
【0038】
以上のように、タイムスタンプ台帳に電子データのファジーハッシュ値を含めて公式時刻認証局サーバ30からタイムスタンプを取得することで、ファジーハッシュ値を用いて、検証した電子データに類似する電子データの検索が容易となったり、類似する電子データに対しても検証を行うことができる。
【0039】
<実施形態2>
次に、本発明の第2の実施形態を、
図7乃至
図9を参照して説明する。
図7乃至
図8は、実施形態2におけるローカルタイムスタンプ発行装置の構成を示すブロック図であり、
図9は、ローカルタイムスタンプ発行装置の動作を示すフローチャートである。なお、本実施形態では、上述した実施形態で説明したローカル時刻認証局サーバ10及びローカルタイムスタンプ発行方法の構成の概略を示している。
【0040】
まず、
図7を参照して、本実施形態におけるローカルタイムスタンプ発行装置100のハードウェア構成を説明する。ローカルタイムスタンプ発行装置100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
【0041】
そして、ローカルタイムスタンプ発行装置100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、
図8に示すタイムスタンプ発行部121と台帳タイムスタンプ要求部手段122と台帳タイムスタンプ取得部123とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述したタイムスタンプ発行部121と台帳タイムスタンプ要求部手段122と台帳タイムスタンプ取得部123とは、かかる手段を実現させるための専用の電子回路で構築されるものであってもよい。
【0042】
なお、
図7は、ローカルタイムスタンプ発行装置100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。
【0043】
そして、ローカルタイムスタンプ発行装置100は、上述したようにプログラムによって構築されたタイムタンプ発行部121と台帳タイムスタンプ要求部手段122と台帳タイムスタンプ取得部123との機能により、
図9のフローチャートに示すローカルタイムスタンプ発行方法を実行する。
【0044】
図9に示すように、オフライン環境に設置されたローカルタイムスタンプ発行装置100は、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行し(ステップS101)、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求し(ステップS102)、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する(ステップS103)、
という処理を実行する。
【0045】
本発明は、以上のように構成されることにより、台帳データに含まれるタイムスタンプトークンは、特定のタイムスタンプ発行装置によるタイムスタンプにより、所定の時刻に存在していたことと所定の時刻以降に改ざんされていないことを証明できる。このため、ローカルタイムスタンプ発行装置が発行したタイムスタンプトークンを用いた電子データの検証の信頼性が高まる。その結果、オフライン環境のタイムスタンプ発行装置を用いた場合であっても、信頼性の高いタイムスタンプの発行を行うことができる。
【0046】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0047】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。また、上述したタイムスタンプ発行部121と台帳タイムスタンプ要求部手段122と台帳タイムスタンプ取得部123との機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
【0048】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるローカルタイムスタンプ発行方法、ローカルタイムスタンプ発行装置、プログラムの構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
オフライン環境に設置されたローカルタイムスタンプ発行装置によるタイムスタンプ発行方法であって、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行し、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求し、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する、
タイムスタンプ発行方法。
(付記2)
付記1に記載のタイムスタンプ発行方法であって、
前記特定のタイムスタンプ発行装置に対して、前回に当該特定のタイムスタンプ発行装置にタイムスタンプを要求した後に、前記ローカルタイムスタンプ発行装置が発行したタイムスタンプトークンを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
(付記3)
付記1又は2に記載のタイムスタンプ発行方法であって、
前記特定のタイムスタンプ発行装置に対して、前記ローカルタイムスタンプ発行装置が発行した複数のタイムスタンプトークンを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
(付記4)
付記1乃至3のいずれかに記載のタイムスタンプ発行方法であって、
周期的に予め設定されたタインミグに、前記特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対してタイムスタンプを要求する、
タイムスタンプ発行方法。
(付記5)
付記1乃至4のいずれかに記載のタイムスタンプ発行方法であって、
前記所定の情報処理装置からの前記電子データに対するタイムスタンプの要求に応じて、前記電子データのハッシュ値に時刻情報を付加して電子署名したタイムスタンプトークンを発行し、
前記特定のタイムスタンプ発行装置に対して、前記ハッシュ値と前記時刻情報と前記電子データに対して発行したタイムスタンプトークンとを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
(付記6)
付記5に記載のタイムスタンプ発行方法であって、
前記特定のタイムスタンプ発行装置に対して、前記ハッシュ値と前記時刻情報と前記電子データに対して発行したタイムスタンプトークンと前記電子データのファジーハッシュ値とを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
(付記7)
付記1乃至6のいずれかに記載のタイムスタンプ発行方法であって、
予め設定されたタイミングで、前記特定のタイムスタンプ発行装置に対して、過去に前記特定のタイムスタンプ発行装置から取得したタイムスタンプトークンを前記台帳データに含めて、当該台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
(付記8)
付記7に記載のタイムスタンプ発行方法であって、
予め設定されたタイミングで、前記特定のタイムスタンプ発行装置に対して、直近の過去に前記特定のタイムスタンプ発行装置から取得した1つのタイムスタンプトークンを前記台帳データに含めて、当該台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行方法。
(付記9)
オフライン環境に設置されたローカルタイムスタンプ発行装置であって、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行するタイムスタンプ発行部と、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求する台帳タイムスタンプ要求部と、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する台帳タイムスタンプ取得部と、
を備えたローカルタイムスタンプ発行装置。
(付記9.1)
付記9に記載のタイムスタンプ発行装置であって、
前記台帳タイムスタンプ要求部は、前記特定のタイムスタンプ発行装置に対して、前回に当該特定のタイムスタンプ発行装置にタイムスタンプを要求した後に、前記ローカルタイムスタンプ発行装置が発行したタイムスタンプトークンを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行装置。
(付記9.2)
付記9又は9.1に記載のタイムスタンプ発行装置であって、
前記台帳タイムスタンプ要求部は、前記特定のタイムスタンプ発行装置に対して、前記ローカルタイムスタンプ発行装置が発行した複数のタイムスタンプトークンを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行装置。
(付記9.3)
付記9乃至9.2のいずれかに記載のタイムスタンプ発行装置であって、
前記台帳タイムスタンプ要求部は、周期的に予め設定されたタインミグに、前記特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対してタイムスタンプを要求する、
タイムスタンプ発行装置。
(付記9.4)
付記9乃至9.3のいずれかに記載のタイムスタンプ発行装置であって、
前記タイムスタンプ発行部は、前記所定の情報処理装置からの前記電子データに対するタイムスタンプの要求に応じて、前記電子データのハッシュ値に時刻情報を付加して電子署名したタイムスタンプトークンを発行し、
前記台帳タイムスタンプ要求部は、前記特定のタイムスタンプ発行装置に対して、前記ハッシュ値と前記時刻情報と前記電子データに対して発行したタイムスタンプトークンとを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行装置。
(付記9.5)
付記9.4に記載のタイムスタンプ発行装置であって、
前記台帳タイムスタンプ要求部は、前記特定のタイムスタンプ発行装置に対して、前記ハッシュ値と前記時刻情報と前記電子データに対して発行したタイムスタンプトークンと前記電子データのファジーハッシュ値とを含む前記台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行装置。
(付記9.6)
付記9乃至9.5のいずれかに記載のタイムスタンプ発行装置であって、
前記台帳タイムスタンプ要求部は、予め設定されたタイミングで、前記特定のタイムスタンプ発行装置に対して、過去に前記特定のタイムスタンプ発行装置から取得したタイムスタンプトークンを前記台帳データに含めて、当該台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行装置。
(付記9.7)
付記9.6に記載のタイムスタンプ発行装置であって、
前記台帳タイムスタンプ要求部は、予め設定されたタイミングで、前記特定のタイムスタンプ発行装置に対して、直近の過去に前記特定のタイムスタンプ発行装置から取得した1つのタイムスタンプトークンを前記台帳データに含めて、当該台帳データに対するタイムスタンプを要求する、
タイムスタンプ発行装置。
(付記10)
オフライン環境に設置されたローカルタイムスタンプ発行装置に、
前記ローカルタイムスタンプ発行装置と同一のローカル環境に設置された所定の情報処理装置からの電子データに対するタイムスタンプの要求に応じて、当該電子データに対してタイムスタンプトークンを発行し、
予め設定されたタイミングで、インターネット上に設置された特定のタイムスタンプ発行装置に接続して、当該特定のタイムスタンプ発行装置に対して、前記電子データに対して発行したタイムスタンプトークンを含む台帳データに対するタイムスタンプを要求し、
前記特定のタイムスタンプ発行装置から前記台帳データに対して発行されたタイムスタンプトークンを取得する、
処理を実行させるためのプログラム。
【符号の説明】
【0049】
10 ローカル時刻認証局サーバ
11 タイムスタンプ発行部
12 台帳タイムスタンプ要求部
13 台帳タイムスタンプ取得部
14 検証部
16 台帳記憶部
20 ユーザ端末
30 公式事項認証局サーバ
N 外部ネットワーク
n ローカルネットワーク
U ユーザ
100 ローカルタイムスタンプ発行装置
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 タイムスタンプ発行部
122 台帳タイムスタンプ要求部
123 台帳タイムスタンプ取得部