JP4725978B2 - 時刻証明サーバ、時刻証明方法、及び時刻証明プログラム - Google Patents

時刻証明サーバ、時刻証明方法、及び時刻証明プログラム Download PDF

Info

Publication number
JP4725978B2
JP4725978B2 JP2007512972A JP2007512972A JP4725978B2 JP 4725978 B2 JP4725978 B2 JP 4725978B2 JP 2007512972 A JP2007512972 A JP 2007512972A JP 2007512972 A JP2007512972 A JP 2007512972A JP 4725978 B2 JP4725978 B2 JP 4725978B2
Authority
JP
Japan
Prior art keywords
time
unit
server
certification
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007512972A
Other languages
English (en)
Other versions
JPWO2006109723A1 (ja
Inventor
正和 上畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Instruments Inc
Original Assignee
Seiko Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Instruments Inc filed Critical Seiko Instruments Inc
Priority to JP2007512972A priority Critical patent/JP4725978B2/ja
Publication of JPWO2006109723A1 publication Critical patent/JPWO2006109723A1/ja
Application granted granted Critical
Publication of JP4725978B2 publication Critical patent/JP4725978B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Description

本発明は、時刻証明サーバ、時刻証明方法、及び時刻証明プログラムに関し、例えば、電子文書に対してタイムスタンプを発行するものに関する。
近年の情報技術の急激な進歩に伴って、公文書や私文書をデジタル情報化した電子文書にて調製する所謂ペーパレス化が推進されている。
また、このようにして作成された電子文書に付与される法的な地位を整備するため電子文書法が施行されようとしている。
このようにして作成され保存される電子文書では発行日などの時刻証明(日付証明)が重要であり、時刻証明を行うタイムスタンプシステムが利用されている。
図13は、従来のタイムスタンプシステムのシステム構成を説明するためのブロック図である。
タイムスタンプシステム100は、時刻配信局に設置された時刻配信サーバ101、時刻認証局に設置されたタイムスタンプサーバ102、及びクライアント端末103、103、・・・などから構成されている。
タイムスタンプサーバ102はタイムスタンプを発行するサーバであり、クライアント端末103は、タイムスタンプの発行を受ける端末装置である。タイムスタンプ発行の手順は次の通りである。
クライアント端末103は、時刻証明対象である電子文書のハッシュ値をタイムスタンプサーバ102に送信する。
タイムスタンプサーバ102は、クライアント端末103からハッシュ値を受信し、内蔵する内部クロックが出力する時刻と受信したハッシュ値に対して電子署名を生成し、これをタイムスタンプとしてクライアント端末103に送信する。
時刻配信サーバ101は、タイムスタンプシステム100で使用する時刻の基準となる時刻を管理及び配信するサーバである。
時刻配信サーバ101は、例えば、基準時刻を計測するための原子時計を備えており、この原子時計が出力する基準時刻をタイムスタンプサーバ102に配信する。
タイムスタンプサーバ102は、時刻配信サーバ101から基準時刻を受信し、これを用いて内部クロックを更正する。
基準時刻の改竄と通信経路の遅延を防ぐために、タイムスタンプサーバ102と時刻配信サーバ101の通信経路は、例えば、SSL(Secure Sockets Layer)などの技術を用いて暗号化され、通信プロトコルとしてNTP(Network Time Protocol)を用いている。なお、NTPは時刻の配信用に標準化されたプロトコルであり、通信経路による遅延を補正することができる。
なお、図13では、タイムスタンプサーバ102が1台だけ記されているが、複数のタイムスタンプサーバ102が時刻配信サーバ101に接続されるように構成することができる。
このようなタイムスタンプシステムを構成する技術として、次の信頼されるサードパーティクロックおよび信頼されるローカルクロックを提供するためのシステムおよび方法がある。
特表2003−519417公報
この技術は、時刻配信サーバ101としてマスタクロックシステムを配置し、タイムスタンプサーバ102としてローカルクロックシステムを配置したものであり、マスタクロックシステムがローカルクロックシステムを検査などするものである。
この構成により、マスタクロックシステム(時刻配信サーバ101)は、ローカルクロックシステム(タイムスタンプサーバ102)に基準時刻を配信し、更に、ローカルクロックシステムで時刻が改竄されないか監査を行う。
従来のタイムスタンプシステム100では、時刻配信サーバ101とタイムスタンプサーバ102の間の通信に、例えばNTPやPKI(Public Key Infrastructure)を用い、高精度かつ高信頼性を確保していた。
更に、これらのシステムの安全性を確保するために、耐タンパ装置(安全性が確保された装置)を実装し、耐タンパ装置にこれらの通信機能を持たせていた。
一般に、耐タンパ装置の情報処理能力は限られており、しかも、複雑なシステムの実行は困難である。
そのため、耐タンパ装置でこれらの機能を実現する場合、実装が複雑なために高コストとなっていた。
そこで、本発明の目的は、高精度・高信頼を確保しつつ、低コストで時刻認証を行うことである。
本発明は、前記目的を達成するために、時刻を出力する時計装置と、更正時刻発生装置から更正時刻を取得する更正時刻取得手段と、前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正手段と、前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得手段と、基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信手段と、前記所定単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証手段と、クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信手段と、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成手段と、前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信手段と、具備したことを特徴とする時刻証明サーバを提供する(第1の構成)。
第1の構成において、前記検証手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、前記時計装置が所定の範囲の精度にて作動していると検証するように構成することもできる(第2の構成)。
第1の構成、又は第2の構成において、前記時刻証明情報生成手段は、前記更正した時刻を用いて前記時刻証明情報を生成するように構成することもできる(第3の構成)。
第1の構成、第2の構成、又は第3の構成において、前記所定の単位を変更する所定単位変更手段を具備するように構成することもできる(第4の構成)。
第4の構成において、前記所定単位変更手段は、前記所定の単位を第1の単位に設定し、前記検証手段が前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位に前記所定の単位を設定するように構成することもできる(第5の構成)。
第3の構成において、前記検証手段と前記時刻証明情報生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えるように構成することもできる(第6の構成)。
第6の構成において、前記第1の動作モードは、前記検証手段が前記時計装置を検証する検証モードと、前記時刻証明情報生成手段が前記時刻証明情報を生成する時刻証明情報生成モードと、から成り、前記動作モード切替手段は、前記検証モードと前記時刻証明情報生成モードの切替において、モード切替元の動作が完了した後にモード切替先に動作モードを切り替えるように構成することもできる(第7の構成)。
また、本発明は、時刻を出力する時計装置を備えたコンピュータにおいて行う時刻証明方法であって、前記コンピュータは、更正時刻取得手段と、時刻更正手段と、第1の時刻取得手段と、基準時刻受信手段と、検証手段と、証明対象情報受信手段と、時刻証明情報生成手段と、時刻証明情報送信手段と、を備えており、前記更正時刻取得手段によって、更正時刻発生装置から更正時刻を取得する更正時刻取得ステップと、前記時刻更正手段によって、前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正ステップと、前記第1の時刻取得手段によって、前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得ステップと、前記基準時刻受信手段によって、基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信ステップと、前記検証手段によって、前記所定単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証ステップと、前記証明対象情報受信手段によって、クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信ステップと、前記時刻証明情報生成手段によって、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成ステップと、前記時刻証明情報送信手段によって、前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信ステップと、を含むことを特徴とする時刻証明方法を提供する(第の構成)。
前記第の構成において、前記コンピュータは、所定単位変更手段を備え、前記所定単位変更手段によって、前記所定の単位を第1の単位に設定し、前記検証ステップで前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位に前記所定の単位を設定する所定単位変更ステップを含むように構成することもできる(第の構成)。
更に、本発明は、 時刻を出力する時計装置を備えたコンピュータで時刻を証明する機能を実現する時刻証明プログラムであって、更正時刻発生装置から更正時刻を取得する更正時刻取得機能と、前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正機能と、前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得機能と、基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信機能と、前記所定単位以上の時刻において前記第1の時刻取得機能で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証機能と、クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信機能と、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成機能と、前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信機能と、をコンピュータで実現する時刻証明プログラムを提供する(第10の構成)。
本発明によると、高精度・高信頼を確保しつつ、低コストで時刻認証を行うことができる。
(1)実施の形態の概要
本実施の形態のタイムスタンプサーバでは、例えば、百ミリ秒単位で時刻を計測しており、この時刻を用いてタイムスタンプを発行している。
しかし、証明対象にもよるが、一般にタイムスタンプで重要なのは日付であり、秒針が改竄されたとしても実質的に悪影響はないものと考えられる。
そこで、本実施の形態では、タイムスタンプサーバの内部クロックが計測する時刻を分単位以上の部分(年月日分)と、秒単位(ミリ秒など、1秒未満の単位も含む)の部分に分け、分単位以上の部分は監査局が監査し、秒単位の部分は時刻配信局が配信する時刻に同期させることにした。
即ち、分単位以上の部分に関しては基準時刻との一致を確認し、秒単位の部分は時刻配信局が配信する時刻で更正する。
このように外部から内部クロックを更正できる範囲を秒単位に限定することにより、分単位以上の部分の改竄が極めて困難となり、高いセキュリティレベルを保つことができる。
また、タイムスタンプサーバが内蔵する耐タンパチップは、監査局から送られてくる基準時刻と内部クロックの比較を行うだけで、分単位以上の部分の更正は行わないため、タイムスタンプサーバと監査局をNTPなどで接続する必要がなく、耐タンパチップへのプログラムの実装が容易になる。
このように、時刻の管理をセキュリティを要する部分(分単位以上の部分)と、必ずしもセキュリティ上重要でないが品質保証に必要な部分(秒単位の部分)を分離して管理することによりタイムスタンプシステムを簡略化することができる。
(2)実施の形態の詳細
図1は、本実施の形態のタイムスタンプサーバの内部クロックが計測する時刻の一例を示した図である。
図の例では、「2005年3月30日15時30分20秒2百ミリ秒」となっている。このように、タイムスタンプサーバの内部クロックは時刻を百ミリ秒単位で計測している。
この時刻のうち、分単位以上の部分、即ち「2005年3月30日15時30分」の部分はタイムスタンプを発行するに際してセキュリティを要する部分であり、以下時刻ラベルと呼ぶことにする。
一方、秒単位の部分、即ち「20秒2百ミリ秒」はタイムスタンプの品質を提供する部分である。
時刻ラベル(分単位の部分)は、後述する監査サーバにより正しい値であることが監査され、秒単位の部分は後述する時刻配信サーバが配信する配信時刻により更正される。
なお、本実施の形態では、一例として秒単位を境としてセキュリティに関係する部分と品質保証に関係する部分に時刻を区分したが、これに限定するものではなく、タイムスタンプの対象などに応じて、更に大きい単位、あるいは小さい単位で区分することも可能である。
即ち、例えば、タイムスタンプで1秒単位まで正確な時刻が必要な場合は、1秒以上の部分を監査サーバで監査し、999ミリ秒以下の時刻を時刻配信サーバで更正する。
図2は、本実施の形態に係るタイムスタンプシステムのシステム構成の一例を示したブロック図である。
タイムスタンプシステム1は、監査サーバ2、時刻配信サーバ3、タイムスタンプサーバ4、クライアント端末5、5、・・・などがインターネットなどのネットワーク6で接続可能に配設されている。
なお、以下では、クライアント端末5、5、・・・を特に区別しないため、単にクライアント端末5と記す。
タイムスタンプサーバ4は、クライアント端末5からの要求に応じてタイムスタンプを発行するサーバである。
ここで、タイムスタンプとは、電子文書の確定時刻を証明する情報であり、その文書がいつから存在しているのか、及びその時点から第三者のみならず作成者本人にも改竄されていないことを証明するものである。
本実施の形態では、タイムスタンプの形態として、従来から使用されているものを使用する。
一例として、まず、タイムスタンプサーバ4は、クライアント端末5から電子文書のハッシュ値(ダイジェスト値)を送信してもらう。
そしてタイムスタンプサーバ4は、内部クロックが出力する時刻と、クライアント端末5から受信したハッシュ値に対し、タイムスタンプ用電子署名鍵を用いて電子署名を作成し、クライアント端末5に返信する。
この電子署名がタイムスタンプとして使用される。なお、本実施の形態はこれに限定せずに、内部クロックを用いて時刻を証明する各種の形態のタイムスタンプに適用することが可能である。
タイムスタンプサーバ4は、例えば、マザーボードなどに設置された外部クロック12と、耐タンパチップなどで構成された耐タンパ部10を備えている。
外部クロックは、例えば、水晶発振式の時計装置であって、タイムスタンプサーバ4は、時刻配信サーバ3より配信される配信時刻を用いて外部クロック12をミリ秒単位まで更正することができる。
なお、タイムスタンプサーバ4と時刻配信サーバ3は、NTPで通信を行い、タイムスタンプサーバ4は、配信時刻を受信する。
この通信は、タイムスタンプサーバ4のマザーボード上に設置されたCPU(Central Processing Unit)で行えばよく、耐タンパ部10で行う必要はない。そのため、NTPによる通信機能を耐タンパ部10の外部に設置することができ、耐タンパ部10の実装を単純化することができる。
なお、後述するように、外部クロック12は、内部クロック17の秒単位の部分を更正するのに用いられるため、外部クロック12の更正に関しては、高度なセキュリティ対策が必要ない。
そのため、タイムスタンプシステム1では、必ずしも時刻配信サーバ3を使用する必要はない。
時刻配信サーバ3に代わる配信時刻の提供元としては、電波時計(標準時を通知する電波を受信し、自動的に標準時と同期する時計)やGPS(Global Positioning System)衛生から送られてくる時刻、あるいは時報など、各種の装置やサービスを用いることができる。
更に、これらの配信時刻の出力源をタイムスタンプサーバ4に内蔵してしまえば、タイムスタンプサーバ4を配信時刻の提供元にネットワーク接続する必要が無くなり、タイムスタンプシステム1の構成がより簡略化される。
耐タンパ部10は、例えば、耐タンパチップによって構成され、高度なセキュリティレベルを維持している。
耐タンパチップは、内部構造の解析や不正操作が著しく困難になるように構成されたICチップであり、しかも、内部構造を解析しようとすると自動的に壊れるようになっている。
なお、耐タンパチップは、CPU、ROM(Read Only Memory)、RAM(Random Access Memory)、EEPROM(Electrically Erasable and Programmable ROM)、入出力インターフェース、内部クロックなどをバスラインで接続してICチップに封印しており、耐タンパチップ自体でコンピュータを構成している。
耐タンパ部10は、監査用公開鍵15、タイムスタンプ用電子署名鍵16、内部クロック17、前回証明書18などを有している。
また、EEPROMに記憶したタイムスタンププログラムを耐タンパチップのCPUで実行することにより、耐タンパ部10の動作モードを切り替えるモード切替部13が構成される。
監査用公開鍵15は、監査サーバ2から送信されてくる時刻証明書に付随するデジタル署名を復号化するための公開鍵情報である。
この時刻証明書には、監査サーバ2の原子時計の出力時刻を用いて更正された基準時刻が記されている。
耐タンパ部10は、デジタル署名を用いて時刻証明書の正当性を確認し、これによって、基準時刻の有効性を確認する。
タイムスタンプ用電子署名鍵16は、クライアント端末5から送信されてきたハッシュ値と、内部クロック17が出力する時刻を対象に、耐タンパ部10がデジタル署名するための秘密鍵情報である。
内部クロック17は、タイムスタンプで証明する時刻を計測するための時計装置である。
内部クロック17は、耐タンパ部10の内部に構成されるという制約があるため、高精度の時計装置で構成することが困難である。そのため、精度を保つために、耐タンパ部10は、外部クロック12を参照して内部クロック17の秒単位を更正する。
前回証明書18は、前回の時刻監査の際に監査サーバ2から送られてきて使用した時刻証明書をEEPROMなどに記憶しておいたものである。
耐タンパ部10は、監査サーバ2から送信されてきた基準時刻を確認する際に、この基準時刻が前回に監査サーバ2から受信した基準時刻よりも後であることを確認する。
タイムスタンプにおいて、最も防がなくてはならないことは、改竄などによりバックデイト(過去の時刻を出力させること)された時刻でタイムスタンプを発行することである。
そのため、耐タンパ部10は、監査サーバ2から送信されてきた基準時刻が前回に監査を行った時刻(前回証明書18に記載されている時刻)よりも後であることを確認する。
そして、監査サーバ2から送信されてきた基準時刻が前回証明書18に記載された時刻よりも前である場合は、エラーメッセージを発するなどして監査モード(後述)で停止し、タイムスタンプの発行を行わない。
このように前回の基準時刻を記憶しておき、監査に用いる基準時刻がこれよりも後の時刻であることを確認することにより、バックデイトされた時刻でタイムスタンプが発行されるのを防止することができる。
なお、工場出荷時に、デフォルトの前回証明書18を耐タンパ部10に記憶させておく。
また、一般、内部クロック17は、更正しなくても数ヶ月間程度は1分以内の精度を維持できるので、タイムスタンプサーバ4のユーザは、その間に内部クロック17の更正を行う。
モード切替部13は、耐タンパ部10の動作モードを順次切り替える機能部である。
耐タンパ部10が行う動作モードには、監査モード、同期モード、スタンプモードがある。
これらの各動作モードはそれぞれ独立したモジュールが行い、モジュール間の干渉が生じないようにしてある。
監査モードは、監査サーバ2から送信されてきた基準時刻を用いて内部クロック17の時刻ラベルが正しいことを監査する動作モードである。
同期モードは、時刻配信サーバ3から配信される配信時刻を用いて内部クロック17の秒単位の部分を正確な時刻に同期させる動作モードである。
スタンプモードは、クライアント端末5からの要求に対してタイムスタンプを発行する動作モードである。
モード切替部13は、耐タンパ部10の動作モードを、例えば、監査モード→スタンプモード→同期モード→監査モード→・・・、といったように、所定の順序にて順次切り替えていく。そして、モード切替部13は、現在動作中の動作モードが完了するまでは耐タンパ部10を次の動作モードに切り替えない。
そのため、スタンプモードで動作するためには、監査モードと同期モードが完了していることが必要となり、耐タンパ部10は、監査、同期された時刻にてタイムスタンプを発行することができる。
また、耐タンパ部10は、監査モード、同期モードの少なくとも一方でエラーが発生した場合に、タイムスタンプの発行を停止することができる。
更に、図3を用いて耐タンパ部10の動作モードの切り替えについて詳細に説明する。 耐タンパ部10は、図3に示したように、監査モード→スタンプモード→同期モード→監査モード→・・・の順序で動作モードを順次切り替えていく。
このうち、監査モードとスタンプモードは、時刻ラベルを扱うため、高いセキュリティを要する動作モードであり(以下、セキュリティモード)、一方、同期モードは秒単位を扱うため、高いセキュリティが必ずしも必要ない動作モード(以下、一般モード)である。
このように、耐タンパ部10は、セキュリティモードと一般モードを切り替えて動作することにより、高いセキュリティの必要な処理と高いセキュリティの必要のない処理を同時に行うことを防止している。
しかも、各動作モードは独立したモジュールにて動作するため、耐タンパ部10は、セキュリティモードでの処理と一般モードでの処理が耐タンパ部10内で干渉することを防ぐことができ、クラッキングなどの不正アクセスに対して高い耐性を備えている。
なお、耐タンパ部10では、セキュリティモードを監査モードとスタンプモードに区分して切り替えているが、これらは何れもセキュリティモードなので、同じモードにて監査とスタンプの発行を行うように構成してもよい。
このように、耐タンパ部10は、検証手段(時刻監査を行う)と時刻証明情報生成手段(タイムスタンプを発行する)が動作する第1の動作モードと、前記時刻更正手段(秒単位の同期をとる)が動作する第2の動作モード(同期モード)と、を切り替える動作モード切替手段(モード切替部13)を具備し、前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替える。
そして、第1の動作モードは、前記検証手段が前記時計装置を検証する検証モード(監査モード)と、前記時刻証明情報生成手段が前記時刻証明情報を生成する時刻証明情報生成モード(スタンプモード)と、から成り、前記モード切替手段は、前記検証モードと前記時刻証明情報生成モードの切替において、モード切替元の動作(監査モードとスタンプモードの何れか一方の動作モード)が完了した後にモード切替先(他方のモード)に動作モードを切り替える。
更に、本実施の形態では、同期モード→監査モード→スタンプモード→同期モード→・・・の順序でモードの切り替えを行ったが、モード切り替えの順序はこれに限定するものではなく、例えば、監査モード→同期モード→スタンプモード→監査モード・・・など、他の順序で動作モードを切り替えてもよい。
図2に戻り、監査サーバ2は、監査局が運営するサーバであって、ネットワーク6を介してタイムスタンプサーバ4に接続し、タイムスタンプサーバ4の内部クロック17を監査する。
監査サーバ2とタイムスタンプサーバ4の通信回線は、例えば、SSLなどの技術を用いて暗号化されており、外部からのクラッキングが困難になっている。
一般に、監査局は、タイムスタンプサーバ4を運営する事業者とクライアント端末5のユーザからみて第三者が運営している。
このように、第三者が監査サーバ2を運営することにより、タイムスタンプサーバ4の事業者とクライアント端末5のユーザが共謀してタイムスタンプのバックデイトを行うことは事実上不可能になり、極めて高いセキュリティレベルを実現することができる。
監査サーバ2は、原子時計22と監査用秘密鍵23を備えている。そして、タイムスタンプサーバ4から基準時間の要求があった場合に、原子時計22が出力する時刻を記した時刻証明書を作成し、これを監査用秘密鍵23で署名してタイムスタンプサーバ4に送信する。原子時計22は、基準時刻を出力する基準時計装置を構成している。
なお、詳細は後述するが、監査サーバ2は、タイムスタンプサーバ4との通信経路の遅延時間を計測し、原子時計22が出力する時刻を遅延時間分だけ進めて基準時刻とする。
これによって、タイムスタンプサーバ4が受信した時刻証明書に記録されている基準時刻は、タイムスタンプサーバ4が時刻証明書を受信した時刻と一致する。
時刻配信サーバ3は、ネットワーク6を用いてタイムスタンプサーバ4に接続し、タイムスタンプサーバ4に現在時刻を配信するサーバである。
時刻配信サーバ3とタイムスタンプサーバ4の通信回線は、例えば、SSLを用いて暗号化されており、この暗号化された通信経路内を例えばNTPを用いて時刻が配信される。
このように、時刻配信サーバ3とタイムスタンプサーバ4の通信経路は暗号化されているため外部からのクラッキングが困難となっている。
更に、NTPを用いることにより、時刻配信サーバ3は、遅延のない時刻をミリ秒程度の精度でタイムスタンプサーバ4に提供することができる。
図4は、モード切替部13による耐タンパ部10のモード切り替えを説明するためのフローチャートである。
同期モードと監査モードの何れから開始してもよいが、監査サーバ2で保証され、時刻配信サーバ3で同期した時刻でタイムスタンプを発行するために、スタンプモードを同期モードと監査モードの後にするのが望ましい。
また、タイムスタンプサーバ4の起動後は、同期モードと監査モードを行った後、スタンプモードを行う。
まず、モード切替部13は、耐タンパ部10を同期モードにて動作させる(ステップ5)。
同期モードにおいて、耐タンパ部10は、外部クロック12が出力する時刻の秒単位の部分を参照し、これを用いて内部クロック17を更正する。この処理によって、内部クロック17はミリ秒の単位まで更正することができる。
これは、耐タンパ部10が、タイムスタンプサーバ4のマザーボードに設置されたCPUに、外部クロック12が出力する時刻の入力を要求することにより行われる。
耐タンパ部10へは、外部クロック12が出力する時刻の秒単位の部分が入力されるが、耐タンパ部10に全ての単位の時刻を入力して、耐タンパ部10が秒単位の部分を参照するように構成してもよい。
なお、エラーが発生するなどして同期モードが完了しない場合、モード切替部13は耐タンパ部10の動作モードを同期モードを保ったまま停止する。
これにより、同期しない時刻でタイムスタンプが発行されるのを防ぐことができる。
同期モードにて秒単位の更正が完了すると、モード切替部13は耐タンパ部10の動作モードを監査モードに切り替える(ステップ10)。
監査モードでは、耐タンパ部10は、監査サーバ2に時刻証明書の発行を要求する。そして、耐タンパ部10は、これに応じて監査サーバ2から送信されてきた時刻証明を受信し、時刻証明書に記されている基準時刻の時刻ラベルと内部クロック17から出力される時刻の時刻ラベルを比較する。
なお、時刻ラベルが一致しない場合、モード切替部13は耐タンパ部10の動作モードを切り替えずに監査モードのまま保持し、停止する。
これにより、監査が完了しない時刻でタイムスタンプが発行されるのを防ぐことができる。
監査モードにて時刻ラベルの監査が完了すると、モード切替部13は耐タンパ部10の動作モードをスタンプモードに切り替える(ステップ15)。
スタンプモードにおいては、耐タンパ部10は、クライアント端末5からのタイムスタンプの要求を受け付け、タイムスタンプを発行する。
耐タンパ部10は、スタンプモードの間は自由にタイムスタンプを発行することができる。
スタンプモードで何らかのエラーが生じた場合、モード切替部13は耐タンパ部10の動作モードをスタンプモードに保持する。
即ち、耐タンパ部10は、クライアント端末5から、時刻証明対象となる電子文書のハッシュ値(証明対象情報)を受信し(証明対象情報受信手段)、精度を検証した内部クロック17が出力する時刻を用いて、この電子文書のハッシュ値のタイムスタンプ(時刻証明情報)を生成する(時刻証明情報生成手段)。そして、耐タンパ部10は、生成したタイムスタンプをクライアント端末5に送信する(時刻証明情報送信手段)。
スタンプモードが完了すると、特に理由がない限りモード切替部13は、強制終了を行わないでステップ5〜20の無限ループを行い(ステップ20;N)、耐タンパ部10は同期モード(ステップ5)に戻る。
タイムスタンプを強制終了によって停止させる場合(ステップ20;Y)、モード切替部13は、モード切り替えを終了する。
強制終了は、例えば、ステップ5〜ステップ20のループを所定回数行った場合に行ったり、あるいは、管理者の判断によって行うなど、各種の形態が可能である。
以上のようにモード切替部13は、動作モードの切り替えを順次行うが、時刻証明書の基準時刻の有効期限が例えば1時間であるため、本実施の形態では、この無限ループを1時間程度で一巡するように構成した。
同期モード、監査モードに要する時間は数分程度であり、耐タンパ部10は、ほとんどの時間をスタンプモードで稼動することができる。
図5は、同期モードにおけるタイムスタンプサーバ4の動作を説明するための図である。
まず、タイムスタンプサーバ4と時刻配信サーバ3の関係について説明する。
タイムスタンプサーバ4は、外部クロック12の更正に際して時刻配信サーバ3に現在時刻の配信を要求する。
時刻配信サーバ3は、例えば原子時計などによって配信される時刻によって更正された正確な内部クロック20を備えており、この時刻をタイムスタンプサーバ4に送信する。
タイムスタンプサーバ4は、時刻配信サーバ3から配信された時刻を用いて外部クロック12を更正する。
タイムスタンプサーバ4は、耐タンパ部10の動作モードとは独立してこの更正処理を行うことができる。
タイムスタンプサーバ4は、外部クロック12の精度を保つのに必要な頻度(例えば、1時間に1回程度)にて外部クロック12を更正することにより、外部クロック12を常に正確に保つことができる。
次に、耐タンパ部10と外部クロック12の関係について説明する。
耐タンパ部10は、同期モードにおいて、外部クロック12(より正確にはタイムスタンプサーバ4のマザーボードに設置されたCPU)に対して現在の時刻の秒単位の部分の出力を要求する。
そして、耐タンパ部10は、この要求に応じて出力された秒単位の部分を耐タンパ部10の内部に取り込んで、内部クロック17の秒単位を更正する。
外部クロック12は、時刻配信サーバ3からの配信時刻により高い精度で時刻を計測しているため、耐タンパ部10は内部クロック17を高い精度で構成することができる。
即ち、耐タンパ部10は、外部クロック12を介して内部クロック17の秒単位を時刻配信サーバ3の内部クロック20の正確な時刻に同期させることができる。
このように、耐タンパ部10は、外部クロック12の出力のうち、秒単位の部分しか参照しないため、外部クロック12の時刻が改竄されたとしても、タイムスタンプで改竄できる範囲は秒単位に限定される。
そのため、同期モードにおいて時刻ラベルは何らの影響を受けないため、高いセキュリティレベルを実現することができる。
図6は、タイムスタンプサーバ4が外部クロック12を同期させる手順を説明するためのフローチャートである。
以下の処理において、タイムスタンプサーバ4のマザーボードに設置されたCPUと時刻配信サーバ3が備えたCPUが所定のプログラムに従って行うものである。
なお、タイムスタンプサーバ4は、マザーボードに設置されたCPUのほかに耐タンパ部10にもCPUを備えているため、図6では、これらを区別するために、タイムスタンプサーバ4をマザーボード上のCPUによる「タイムスタンプサーバ」と、耐タンパ部10のCPUによる「耐タンパ部」に分けて記述した。
まず、タイムスタンプサーバ4は、時刻配信サーバ3に対して現在時刻の送信を要求する(ステップ30)。
この要求に対し、時刻配信サーバ3は、内部クロック20の出力する現在時刻をタイムスタンプサーバ4に送信する(ステップ35)。
タイムスタンプサーバ4は、時刻配信サーバ3から現在時刻を受信し、これを用いて外部クロック12を更正する(ステップ40)。以上によって外部クロック12の更正処理が終了する。
なお、内部クロック17は、外部クロック12の秒単位しか参照しないため、外部クロック12の更正も秒単位で行えば足りる。
図7は、タイムスタンプサーバ4が内部クロック17を同期させる手順を説明するためのフローチャートである。
以下の処理は、図6のフローチャートと同様に、耐タンパ部10が備えたCPUと、時刻配信サーバ3のマザーボードに設置されたCPUが行うものである。
まず、耐タンパ部10は、タイムスタンプサーバ4に対して外部クロック12が計測している秒単位の時刻を要求する(ステップ50)。
これに対し、タイムスタンプサーバ4は、外部クロック12の出力する秒単位の時刻を耐タンパ部10に出力する(ステップ55)。
耐タンパ部10は、タイムスタンプサーバ4から秒単位の時刻を取得し、これを用いて内部クロック17が計測している時刻のうちの秒単位を更正する(ステップ60)。
このように、耐タンパ部10は、更正時刻発生装置(外部クロック12)から更正時刻を取得する更正時刻取得手段と、前記取得した更正時刻を用いて、前記時計装置が計測する時刻のうち、前記所定の単位よりも小さい単位の時刻(ここでは秒単位)を更正する時刻更正手段と、を備えている。
以上のようにして、耐タンパ部10は、内部クロック17を更正する。より詳細には、耐タンパ部10は、内部クロック17の秒単位とタイムスタンプサーバ4から取得した秒単位の比較を行い、一致する場合は、特に更正処理をせずに処理を終え、一致しない場合は、内部クロック17の秒単位をタイムスタンプサーバ4から取得した秒単位に修正する。
なお、内部クロック17の通常の精度から、内部クロック17の更正の時間間隔において内部クロック17の時刻ラベルが変化するほど秒単位が進んだりあるいは遅れたりすることはないので、秒単位だけ更正すれば内部クロック17の計測する時刻を時刻ラベルと秒単位に渡って精度が保証される。
図8は、監査モードにおけるタイムスタンプサーバ4と監査サーバ2の動作を説明するための図である。
タイムスタンプサーバ4は、耐タンパ部10の動作モードが監査モードに切り替わると、耐タンパ部10の要求により監査サーバ2に対して基準時刻の送信を要求する。
監査サーバ2は、タイムスタンプサーバ4から基準時刻の送信要求を受けると、原子時計22の出力する時刻を参照して時刻証明書40を作成し、監査用秘密鍵23でデジタル署名してタイムスタンプサーバ4に送信する。
時刻証明書40には、基準時刻、制限時間、シリアル番号、固有情報、ハッシュ値、デジタル署名など記録されている。
基準時刻は、原子時計22が出力した現在時刻である。なお、より詳細には、監査サーバ2は、タイムスタンプサーバ4との通信の遅延時間を測定し、これを考慮して現在時刻を調整するが、これについては後述する。
制限時間は、時刻証明書40に記録してある基準時刻の有効期限である。即ち、時刻証明書40に記してある基準時刻で監査した内部クロック17の出力時刻は、この制限時間の間、監査局により精度が保証される。
シリアル番号は、監査サーバ2が発行順に付与する時刻証明書の番号であるが、連番を発行すると、外部から推測が容易になる可能性があることから、本実施の形態では、シリアル番号を乱数により構成した。
固有情報は、例えば、耐タンパ部10のID情報など、タイムスタンプサーバ4のハードウェアに固有な情報である。固有情報が一致しない場合、耐タンパ部10は、エラーを発する。
なお、これらの項目のほかに、時刻証明書40の有効期限や、時刻証明書40の正当性が確認された後、タイムスタンプサーバ4と監査サーバ2の間の通信の共通鍵なども時刻証明書40に含めることができる。
ハッシュ値は、現在時刻、制限時間、シリアル番号、固有情報など、改竄を防止する情報を、ハッシュ関数によって演算したハッシュ値である。
デジタル署名は、ハッシュ値を監査用秘密鍵23で暗号化したものである。
タイムスタンプサーバ4は、監査サーバ2から時刻証明書40を受信すると、これを耐タンパ部10に渡す。
耐タンパ部10は、時刻証明書40に記載されている基準時刻の時刻ラベルと内部クロック17の時刻ラベルの一致を確認した後、デジタル署名を用いて時刻証明書40の正当性を確認する。
図9は、タイムスタンプサーバ4と監査サーバ2が時刻ラベルの監査を行う手順を説明するためのフローチャートである。
まず、耐タンパ部10は、タイムスタンプサーバ4のCPU(以下、タイムスタンプサーバ4)に対して時刻証明書の要求を行う(ステップ105)。
タイムスタンプサーバ4は、これを受けて監査サーバ2に対して時刻証明書の発行を要求する(ステップ110)。
監査サーバ2は、タイムスタンプサーバ4から時刻証明書の発行の要求を受けて時刻証明書40を作成し、タイムスタンプサーバ4に送信する(ステップ115)。
タイムスタンプサーバ4は、監査サーバ2から送信されてきた時刻証明書を受信し、これを耐タンパ部10に入力する(ステップ120)。
耐タンパ部10は、タイムスタンプサーバ4から時刻証明書を受け取り、時刻証明書に記されている基準時刻と内部クロック17の時刻を比較する(ステップ125)。
この比較は時刻ラベル、即ち分単位で行い、秒単位は行わない。例えば、時刻証明書40に記載されていた時刻が「2005年3月20日12時30分3秒2百ミリ秒」で、内部クロック17の時刻が「2005年3月20日12時30分0秒5百ミリ秒」であった場合、両者は分単位以上が同じであるので、耐タンパ部10は両者が一致すると判断する。
このように、耐タンパ部10は、監査サーバ2(基準時刻配信サーバ)から基準となる時刻を受信する基準時刻受信手段を備えている。
また、耐タンパ部10は、内部クロック17が出力した時刻のうち、所定の単位以上(ここでは分以上)の時刻を取得する第1の時刻取得手段を備えている。
時刻証明書40に記載されていた時刻と内部クロック17の時刻が一致しない場合(ステップ130;N)、耐タンパ部10は、同期モードに戻る(ステップ133)。
なお、偶発的なエラーにより時刻証明書の時刻と内部クロック17が一致しない場合もあるので、時刻証明書40に記載されていた時刻と内部クロック17の時刻が一致しない場合(ステップ130;N)、耐タンパ部10はステップ105に戻って再度時刻証明書を要求するように構成することもできる。この場合、時刻証明書の時刻と内部クロック17の不一致が所定回数に達した場合にステップ133に移行するように構成することができる。また、ステップ133を有せずに、時刻証明書40に記載されていた時刻と内部クロック17の時刻が一致しない場合(ステップ130;N)、ステップ105に戻るように構成することもできる。この場合、所定回数監査に失敗した場合、耐タンパ部10はエラーを発して動作を停止するように構成することもできる。
両時刻が一致する場合(ステップ130;Y)、耐タンパ部10は、時刻証明書40の有効性を確認する(ステップ135)。
このように、耐タンパ部10は、所定単位(分単位)以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲(分単位以上)の精度で作動していることを検証する検証手段を備えている。
この有効性は、時刻証明書40に付属するデジタル署名を監査用公開鍵15で復号化してハッシュ値を取り出し、更に時刻証明書40から監査サーバ2と同じハッシュ関数を用いてハッシュ値を求め、両者の一致を確認することにより行う。
また、時刻証明書40に時刻証明書40の有効期限が付属している場合は、有効期限内であることを確認する。
このように、時刻証明書40と内部クロック17の時刻の比較を時刻証明書40の有効性の確認の前に行ったのは、時刻の比較をなるべく速やかに行うためである。
即ち、有効性の確認の後に時刻の比較を行うと、有効性の確認に要する時間だけ内部クロック17の時刻が進んでしまい、時刻証明書40に記載されている時刻との差が大きくなるためである。
そのため、復号化の時間を省略するために、時刻証明書の基準時刻は暗号化をしないように構成することができる。
時刻証明書40が有効でなかった場合(ステップ140;N)、耐タンパ部10はステップ105に戻る。
時刻証明書40が有効であった場合(ステップ140;Y)、耐タンパ部10は、前回証明書18(図2)に記載されている基準時刻と、時刻証明書40に記載されている基準時刻との前後関係を比較する(ステップ145)。
時刻証明書40に記載されている基準時刻が、前回証明書18に記載されている基準時刻よりも前の時刻であった場合(ステップ150;N)、耐タンパ部10はステップ105に戻る。
一方、時刻証明書40に記載されている基準時刻が、前回証明書18に記載されている基準時刻よりも後の時刻であった場合(ステップ150;Y)、前回証明書18を今回受け取った時刻証明書40にて上書きするなどして置き換える。
耐タンパ部10は、通信回線の状態などにより、監査エラーが発生する場合があり、この場合は、その都度ステップ105に戻って監査サーバ2に時刻証明書の発行を要求するが、監査サーバ2は、例えば、その回数を計数し、所定回数に達した場合は、耐タンパ部10を停止させるコマンドをタイムスタンプサーバ4に送信する。このように、タイムスタンプサーバ4で何らかの異常が発生していると考えられる場合、監査サーバ2は耐タンパ部10を停止させることができる。
以上の例では、時刻ラベルを分単位以上としたが、より小さい単位で時刻監査を行う場合について図10(a)のフローチャートを用いて説明する。ここでは、時刻ラベルを1秒以上とした場合を例に採り説明する。
このように、より小さい単位で時刻監査を行う場合は、大きい単位から小さい単位にかけて段階的に時刻監査を行う。
まず、監査モードになると、耐タンパ部10は、前回に秒単位での時刻監査を行ったか確認する(ステップ160)。
例えば、工場出荷後に初めて時刻監査を行う場合や、耐タンパ部10をリセットした場合など、前回に秒単位での時刻監査を行っていない場合(ステップ160;N)、監査サーバ2と耐タンパ部10は、分単位で監査を実行する(ステップ165)。
これは、耐タンパ部10が、監査サーバ2から時刻証明書を取得し、これを用いて、内部クロック17が分単位で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から±30秒以内であることを確認する。
内部クロック17が分単位で一致しなかった場合、監査に成功しなかったため(ステップ170;N)、耐タンパ部10はステップ165に戻り、監査サーバ2から時刻証明書を取得して分単位の監査を行う。
このようにして、偶発的なエラーなどにより監査が不成功となった場合、耐タンパ部10は、再度監査を試みる。
一方、前回の時刻監査で秒単位の時刻監査を行っている場合(ステップ160;Y)、又は内部クロック17の時刻が時刻証明書の時刻と分単位で一致して監査が成功した場合(ステップ170;Y)、耐タンパ部10は、秒単位での監査を実行する(ステップ175)。これは、耐タンパ部10が、監査サーバ2から時刻証明書を取得し、これを用いて、内部クロック17が秒単位で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から±500ミリ秒以内であることを確認する。
内部クロック17の秒単位の時刻は、同期モードにて外部クロック12と同期させてあるため、内部クロック17の時刻が分単位で一致する場合、秒単位以下の時刻は外部クロック12の精度(通常ミリ秒程度)で動作していることが推定される。
そのため、分単位での監査が成功した場合、内部クロック17はミリ秒程度の精度で動作していることが期待されるので、例えば、30秒単位での監査などの中間段階を経ずに秒単位の監査に移行することができる。
内部クロック17が秒単位で一致しなかった場合、監査に成功しなかったため(ステップ180;N)、耐タンパ部10はステップ165に戻り、監査サーバ2から時刻証明書を取得して分単位の監査を行う。
このようにして、偶発的なエラーなどにより秒単位での時刻監査が不成功となった場合、耐タンパ部10は、分単位での時刻監査を再度試みる。
一方、内部クロック17の時刻が時刻証明書の時刻と秒単位で一致して監査が成功した場合(ステップ180;Y)、耐タンパ部10は、監査モードを終了する。
このように、耐タンパ部10は、分単位(低精度)での時刻監査を行い、これに成功すると秒単位(高精度)での時刻監査を行う。そして、秒単位での時刻監査が成功した場合、耐タンパ部10は、次回の監査モードにおいても引き続き秒単位での時刻監査を行う。
一方、秒単位での時刻監査が成功しなかった場合、耐タンパ部10は、精度を落として分単位での時刻監査を再度試み(又は、偶発的なエラーの場合もあるため、所定回数だけ秒単位での時刻監査を繰り返してもよい)、不成功の原因が通信の遅延などによる偶発的なエラーであるか確認し、偶発的なエラーであった場合は高精度の時刻監査を引き続き行う。
このように、高精度の時刻監査時でエラーが生じた場合に、精度を落として確かめ時刻監査を行ってエラーが連続するか確認することにより、ネットワークの通信状態による遅延時間の揺らぎといった偶発的な時刻監査エラーが生じた場合でも適切に時刻監査を行うことができる。
以上のように、耐タンパ部10は、1分単位から1秒単位といったように、所定の単位を変更する所定単位変更手段を具備している。
そして、耐タンパ部10は、前記所定の単位を第1の単位(例えば1分)に設定し、前記検証手段が前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位(例えば1秒)に前記所定の単位を設定する。
次に、図10(b)を用いて上記の手順をより一般化した記載にて説明する。
ここで、第1精度は、第2精度よりも高精度となっており、耐タンパ部10は、より高精度で時刻監査を行う場合は、低い精度から高い精度にかけて段階的に時刻監査を行う。
まず、監査モードになると、耐タンパ部10は、前回に第1精度での時刻監査を行ったか確認する(ステップ260)。
前回に第1精度での時刻監査を行っていない場合(ステップ260;N)、監査サーバ2と耐タンパ部10は、第2精度で監査を実行する(ステップ265)。
これは、耐タンパ部10が、監査サーバ2から時刻証明書を取得し、これを用いて、内部クロック17が第2精度で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から所定時間以内(例えば、±(第2精度で計測できる最小時間の半分)以内)であることを確認する。
内部クロック17が第2精度で一致しなかった場合、監査に成功しなかったため(ステップ270;N)、耐タンパ部10はステップ260に戻り、監査サーバ2から時刻証明書を取得して第2単位の監査を行う。
このようにして、偶発的なエラーなどにより監査が不成功となった場合、耐タンパ部10は、再度監査を試みる。
一方、前回の時刻監査で第1精度で時刻監査を行っている場合(ステップ260;Y)、又は内部クロック17の時刻が時刻証明書の時刻と第2精度一致して監査が成功した場合(ステップ270;Y)、耐タンパ部10は、第1精度での監査を実行する(ステップ275)。これは、耐タンパ部10が、監査サーバ2から時刻証明書を取得し、これを用いて、内部クロック17が第1精度で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から所定時間内(例えば、±(第1精度で計測できる最小時間の半分)以内)であることを確認する。
内部クロック17が第1精度で一致しなかった場合、監査に成功しなかったため(ステップ280;N)、耐タンパ部10はステップ265に戻り、監査サーバ2から時刻証明書を取得して第2精度の監査を行う。
このようにして、偶発的なエラーなどにより秒単位での時刻監査が不成功となった場合、耐タンパ部10は、第2精度での時刻監査を再度試みる。
一方、内部クロック17の時刻が時刻証明書の時刻と第1精度で一致して監査が成功した場合(ステップ280;Y)、耐タンパ部10は、監査モードを終了する。
次に、監査サーバ2がタイムスタンプサーバ4に基準時刻を配信する際に使用するプロトコルについて説明する。
例えば、時刻ラベルを分単位以上とする場合、一般に監査サーバ2とタイムスタンプサーバ4の通信経路による遅延時間は1分よりも非常に小さいため、遅延対策を行う必要は必ずしもないが、例えば、時刻ラベルを秒単位で監査する場合には、以下のプロトコルを用いることにより、通信経路による遅延の影響を補正する。
図11は、時刻監査において用いられるプロトコルを説明するためのフローチャートである。
まず、タイムスタンプサーバ4は、監査サーバ2に時刻証明書の送信を要求すると共に内部クロック17の現在時刻を監査サーバ2に送信する(ステップ205)。
これによって、監査サーバ2は、タイムスタンプサーバ4から時刻証明書の要求と内部クロック17の時刻を受信する(ステップ210)。
内部クロック17の時刻は、外部クロック12と同期しているため、一般にミリ秒単位まで正確である。そのため、監査サーバ2は、自己の保有する原子時計22の現在時刻から内部クロック17の時刻を減算して遅延時間を計算する(ステップ215)。
なお、遅延時間が合理的な範囲を超えて大きい場合は、例えば、タイムスタンプサーバ4を停止させるなどの処理を行う。
次に、監査サーバ2は、原子時計22の現在時刻から遅延時間分進んだ時刻により基準時刻を生成し、この基準時刻を用いて時刻証明書を作成する(ステップ220)。
そして、監査サーバ2は、この時刻証明書をタイムスタンプサーバ4に送信する(ステップ225)。
このように、監査サーバ2は基準時刻配信サーバを構成し、時刻証明サーバ(タイムスタンプサーバ4)との通信回線における遅延時間を測定する遅延時間測定手段と、前記基準時計装置から出力された基準時刻を、前記測定した遅延時間分だけ進めた基準時刻を生成する基準時刻生成手段と、前記生成した基準時刻を前記時刻証明サーバに送信する基準時刻送信手段と、を具備している。
更に、監査サーバ2は、前記時刻証明サーバから、当該時刻証明サーバが備えた時計装置が出力した時刻を受信する時刻受信手段を具備し、前記遅延時間測定手段は、前記受信した時刻と、前記受信を行った際に前記基準時計装置が出力する時刻と、の差を用いて前記遅延時間を測定する。
タイムスタンプサーバ4は、監査サーバ2から時刻証明書を受信し(ステップ230)、これを用いて内部クロック17の時刻ラベルの確認を行う。
以上のように、監査サーバ2は、遅延時間分だけ進んだ時刻を基準時刻として時刻証明書を作成するため、タイムスタンプサーバ4は、時刻証明書に記載された基準時刻において時刻証明書を受信することができる。
図12は、タイムスタンプサーバ4のハードウェア的な構成の一例を示した図である。
タイムスタンプサーバ4は、CPU51、RAM52、ROM53、耐タンパチップ56、通信制御装置57、記憶装置58、入出力I/F(インターフェース)60などの各機能部がバスライン50で接続されて構成されている。
CPU51は、所定のプログラムに従って、各種の演算処理、及び情報処理やタイムスタンプサーバ4を構成する各構成要素の制御を行ったりする中央処理装置である。
CPU51は、例えば、耐タンパチップ56(耐タンパ部10を構成する)のCPUと協働して情報処理を行い、監査サーバ2から時刻証明書を取得したり、時刻配信サーバ3の配信時刻を用いて外部クロック12を更正したり、あるいは、クライアント端末5からの要求によりタイムスタンプを発行したりする。
ROM53は、タイムスタンプサーバ4を動作させるための基本的なプログラムやデータなどを記憶した読み出し専用のメモリである。
RAM52は、CPU51が動作するためのワーキングエリアを提供する読み書き可能なメモリである。時刻証明書の取得や、外部クロック12の構成、及びタイムスタンプの発行を行うためのエリアが確保可能に構成されている。
耐タンパチップ56は、外部からの解析が著しく困難に構成されたICチップであって、内部にCPU、内部クロック17、RAM、ROM、EEPROMなどを備えている。 EEPROMに記憶されているタイムスタンププログラムをCPUで実行することにより、耐タンパ部10が形成される。タイムスタンププログラム、監査用公開鍵15、タイムスタンプ用電子署名鍵16、前回証明書18は、例えば、EEPROMに記憶されている。
通信制御装置57は、タイムスタンプサーバ4をネットワーク6に接続する機能部である。タイムスタンプサーバ4は、通信制御装置57を介して、監査サーバ2、時刻配信サーバ3、クライアント端末5などと通信を行うことができる。
記憶装置58は、例えば、ハードディスクなどで構成された大容量で読み書き可能な記憶装置である。
記憶装置58には、プログラム類を格納したプログラム格納部61とデータ類を記憶したデータ格納部62が形成されている。
プログラム格納部61には、OS(Operating System)、通信プログラム、・・・などの各種プログラムがCPU51で実行可能に記憶されている。
OSは、ファイル入出力の管理や各種機能部を制御するなど、タイムスタンプサーバ4を運営する基本的な機能をCPU51に発揮させるためのプログラムである。
通信プログラムは、通信制御装置57を制御し、ネットワーク6を介した通信を行うための機能をCPU51に発揮させるためのプログラムである。
以上、本実施の形態について説明したが、タイムスタンプシステム1によって次のような効果を得ることができる。
(1)時刻配信サーバ3が配信する配信時刻により内部クロック17の秒単位を更正することにより高精度な時刻同期が可能となる。
(2)耐タンパチップには従来に比べて単純なアルゴリズムを実装するので、ICチップの開発・製造コストを低減することができる。
(3)時刻証明と時刻同期を分離することにより、高精度な時刻によるタイムスタンプシステムをインターネットなど不安定なネットワークを用いても容易に構築することができる。
(4)監査サーバ2は、単純な時刻証明書を配信することにより監査を行うことができるため、多数のタイムスタンプサーバ4を擁する大規模なタイムスタンプシステムを構築することができる。
(5)タイムスタンプサーバ4は、前回監査した時刻と今回使用する基準時刻を比較することにより、内部クロック17のバックデートを防ぐことができる。
また、本実施の形態により、信頼される時刻を供給するためのシステム(タイムスタンプシステム1)であって、マスタクロックシステム(監査サーバ2)と、前記マスタクロックシステムと通信する信頼されるローカルクロックシステム(タイムスタンプサーバ4)と、前記マスタクロックシステムとの間にセキュリティ保護された通信とを備えるシステムであって、前記マスタクロックシステムから配信される時刻情報に基づいて前記ローカルクロックシステムの正確性を比較検証するシステムと、前記ローカルクロックシステムに時刻情報を供給する信頼できる時刻であっても秒針部分の時刻を供給するためのシステム(時刻配信サーバ3)により、高精度な時刻同期と高信頼の時刻供給を可能とするシステムを提供することができる。
本実施の形態のタイムスタンプサーバの内部クロックが計測する時刻の一例を示した図である。 本実施の形態に係るタイムスタンプシステムのシステム構成の一例を示したブロック図である。 耐タンパ部の動作モードの切替を説明するための図である。 耐タンパ部の動作モードの切替を説明するためのフローチャートである。 同期モードにおけるタイムスタンプサーバの動作を説明するための図である。 タイムスタンプサーバが外部クロックを同期させる手順を説明するためのフローチャートである。 タイムスタンプサーバが内部クロックを同期させる手順を説明するためのフローチャートである。 監査モードにおけるタイムスタンプサーバと監査サーバの動作を説明するための図である。 タイムスタンプサーバと監査サーバが時刻ラベルの監査を行う手順を説明するためのフローチャートである。 内部クロックを段階的に監査する場合を説明するためのフローチャートである。 時刻監査において用いられるプロトコルを説明するためのフローチャートである。 タイムスタンプサーバのハードウェア的な構成の一例を示した図である。 従来のタイムスタンプシステムのシステム構成を説明するためのブロック図である。
符号の説明
1 タイムスタンプシステム
2 監査サーバ
3 時刻配信サーバ
4 タイムスタンプサーバ
5 クライアント端末
6 ネットワーク
10 耐タンパ部
12 外部クロック
13 モード切替部
15 監査用公開鍵
16 タイムスタンプ用電子署名鍵
17 内部クロック
18 前回証明書
22 原子時計
23 監査用秘密鍵

Claims (10)

  1. 時刻を出力する時計装置と、
    更正時刻発生装置から更正時刻を取得する更正時刻取得手段と、
    前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正手段と、
    前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得手段と、
    基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信手段と、
    前記所定単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証手段と、
    クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信手段と、
    前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成手段と、
    前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信手段と、
    を具備したことを特徴とする時刻証明サーバ。
  2. 前記検証手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、前記時計装置が所定の範囲の精度にて作動していると検証することを特徴とする請求項1に記載の時刻証明サーバ。
  3. 記時刻証明情報生成手段は、前記更正した時刻を用いて前記時刻証明情報を生成することを特徴とする請求項1、又は請求項2に記載の時刻証明サーバ。
  4. 前記所定の単位を変更する所定単位変更手段を具備したことを特徴とする請求項1、請求項2、又は請求項3に記載の時刻証明サーバ。
  5. 前記所定単位変更手段は、前記所定の単位を第1の単位に設定し、前記検証手段が前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位に前記所定の単位を設定することを特徴とする請求項4に記載の時刻証明サーバ。
  6. 前記検証手段と前記時刻証明情報生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、
    前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えることを特徴とする請求項3に記載の時刻証明サーバ。
  7. 前記第1の動作モードは、前記検証手段が前記時計装置を検証する検証モードと、前記時刻証明情報生成手段が前記時刻証明情報を生成する時刻証明情報生成モードと、から成り、
    前記動作モード切替手段は、前記検証モードと前記時刻証明情報生成モードの切替において、モード切替元の動作が完了した後にモード切替先に動作モードを切り替えることを特徴とする請求項6に記載の時刻証明サーバ。
  8. 時刻を出力する時計装置を備えたコンピュータにおいて行う時刻証明方法であって、前記コンピュータは、更正時刻取得手段と、時刻更正手段と、第1の時刻取得手段と、基準時刻受信手段と、検証手段と、証明対象情報受信手段と、時刻証明情報生成手段と、時刻証明情報送信手段と、を備えており、
    前記更正時刻取得手段によって、更正時刻発生装置から更正時刻を取得する更正時刻取得ステップと、
    前記時刻更正手段によって、前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正ステップと、
    前記第1の時刻取得手段によって、前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得ステップと、
    前記基準時刻受信手段によって、基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信ステップと、
    前記検証手段によって、前記所定単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証ステップと、
    前記証明対象情報受信手段によって、クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信ステップと、
    前記時刻証明情報生成手段によって、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成ステップと、
    前記時刻証明情報送信手段によって、前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信ステップと、
    を含むことを特徴とする時刻証明方法。
  9. 前記コンピュータは、所定単位変更手段を備え、
    前記所定単位変更手段によって、前記所定の単位を第1の単位に設定し、前記検証ステップで前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位に前記所定の単位を設定する所定単位変更ステップを含むことを特徴とする請求項に記載の時刻証明方法。
  10. 時刻を出力する時計装置を備えたコンピュータで時刻を証明する機能を実現する時刻証明プログラムであって、
    更正時刻発生装置から更正時刻を取得する更正時刻取得機能と、
    前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正機能と、
    前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得機能と、
    基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信機能と、
    前記所定単位以上の時刻において前記第1の時刻取得機能で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証機能と、
    クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信機能と、
    前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成機能と、
    前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信機能と、
    をコンピュータで実現する時刻証明プログラム。
JP2007512972A 2005-04-11 2006-04-07 時刻証明サーバ、時刻証明方法、及び時刻証明プログラム Active JP4725978B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007512972A JP4725978B2 (ja) 2005-04-11 2006-04-07 時刻証明サーバ、時刻証明方法、及び時刻証明プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005113380 2005-04-11
JP2005113380 2005-04-11
JP2007512972A JP4725978B2 (ja) 2005-04-11 2006-04-07 時刻証明サーバ、時刻証明方法、及び時刻証明プログラム
PCT/JP2006/307451 WO2006109723A1 (ja) 2005-04-11 2006-04-07 時刻証明サーバ、基準時刻配信サーバ、時刻証明方法、基準時刻配信方法、時刻証明プログラム、及び通信プロトコルプログラム

Publications (2)

Publication Number Publication Date
JPWO2006109723A1 JPWO2006109723A1 (ja) 2008-11-13
JP4725978B2 true JP4725978B2 (ja) 2011-07-13

Family

ID=37086996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007512972A Active JP4725978B2 (ja) 2005-04-11 2006-04-07 時刻証明サーバ、時刻証明方法、及び時刻証明プログラム

Country Status (3)

Country Link
US (1) US8041980B2 (ja)
JP (1) JP4725978B2 (ja)
WO (1) WO2006109723A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4455474B2 (ja) * 2005-11-04 2010-04-21 株式会社東芝 タイムスタンプ更新装置及びタイムスタンプ更新プログラム
JP5054768B2 (ja) * 2006-06-21 2012-10-24 ヴィーブ−システムズ アクチエンゲゼルシャフト 侵入検出のための方法と装置
US8301790B2 (en) * 2007-05-30 2012-10-30 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
JP5252539B2 (ja) * 2007-11-09 2013-07-31 独立行政法人情報通信研究機構 標準時刻配信装置、タイムスタンプ装置、タイムスタンプ利用者用装置、時刻認証システム、時刻認証方法、および時刻認証プログラム
JP2009187179A (ja) * 2008-02-05 2009-08-20 Seiko Instruments Inc タイムスタンプ装置及び方法
JP5105291B2 (ja) * 2009-11-13 2012-12-26 セイコーインスツル株式会社 長期署名用サーバ、長期署名用端末、長期署名用端末プログラム
EP2330787B1 (en) * 2009-12-01 2017-09-27 Vodafone Holding GmbH Generation of a time-dependent password in a mobile comunication device
JP4686646B1 (ja) * 2010-08-20 2011-05-25 株式会社野村総合研究所 認証管理装置および認証管理方法
US11487871B2 (en) * 2015-01-31 2022-11-01 San Diego Gas & Electric Company Methods and systems for detecting and defending against invalid time signals
WO2019146755A1 (ja) * 2018-01-25 2019-08-01 株式会社村田製作所 フィルムコンデンサ、及び、フィルムコンデンサ用の外装ケース

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04230890A (ja) * 1990-06-12 1992-08-19 Seiko Epson Corp 時計機能付き受信機及び時刻修正方法
JPH1028119A (ja) * 1996-07-10 1998-01-27 Nec Eng Ltd 複数装置間の時刻設定処理方式
JP2002216420A (ja) * 2001-01-23 2002-08-02 Sony Corp データコピー装置、データコピー管理システム、及びサーバ装置
JP2002229869A (ja) * 2001-02-02 2002-08-16 Amano Corp 時刻同期方法とそのシステム並びに時刻同期用プログラム媒体
JP2003098280A (ja) * 2001-09-26 2003-04-03 Hitachi Ltd 時刻情報提供システム及び時刻情報提供方法
JP2004046756A (ja) * 2002-05-20 2004-02-12 Fujitsu Fip Corp ライセンス管理方法、ライセンス管理システム、ライセンス管理プログラム
JP2004194306A (ja) * 2002-11-26 2004-07-08 Seiko Instruments Inc 日時確定音声記録システム及び日時確定音声データ認証システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194556B2 (en) * 2001-03-30 2007-03-20 Intel Corporation Method and apparatus for high accuracy distributed time synchronization using processor tick counters
FI115811B (fi) * 2001-06-27 2005-07-15 Nokia Corp Menetelmä aikatiedon tarkistamiseksi, järjestelmä ja päätelaite

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04230890A (ja) * 1990-06-12 1992-08-19 Seiko Epson Corp 時計機能付き受信機及び時刻修正方法
JPH1028119A (ja) * 1996-07-10 1998-01-27 Nec Eng Ltd 複数装置間の時刻設定処理方式
JP2002216420A (ja) * 2001-01-23 2002-08-02 Sony Corp データコピー装置、データコピー管理システム、及びサーバ装置
JP2002229869A (ja) * 2001-02-02 2002-08-16 Amano Corp 時刻同期方法とそのシステム並びに時刻同期用プログラム媒体
JP2003098280A (ja) * 2001-09-26 2003-04-03 Hitachi Ltd 時刻情報提供システム及び時刻情報提供方法
JP2004046756A (ja) * 2002-05-20 2004-02-12 Fujitsu Fip Corp ライセンス管理方法、ライセンス管理システム、ライセンス管理プログラム
JP2004194306A (ja) * 2002-11-26 2004-07-08 Seiko Instruments Inc 日時確定音声記録システム及び日時確定音声データ認証システム

Also Published As

Publication number Publication date
US20080307247A1 (en) 2008-12-11
US8041980B2 (en) 2011-10-18
WO2006109723A1 (ja) 2006-10-19
JPWO2006109723A1 (ja) 2008-11-13

Similar Documents

Publication Publication Date Title
JP4725978B2 (ja) 時刻証明サーバ、時刻証明方法、及び時刻証明プログラム
US6393126B1 (en) System and methods for generating trusted and authenticatable time stamps for electronic documents
US8756428B2 (en) Authentication method for an electronic document and verification method of a document thus authenticated
US7409557B2 (en) System and method for distributing trusted time
US6513116B1 (en) Security information acquisition
US20050160272A1 (en) System and method for providing trusted time in content of digital data files
JP4877738B2 (ja) 記録装置、及び記録方法
CN102687459A (zh) 长期署名用服务器、长期署名用终端、长期署名用终端程序及长期署名验证用服务器
CN110678889A (zh) 用于提供安全保护的报时的方法和计时器
JP5039931B2 (ja) 情報処理装置
WO2000079348A2 (en) System and method for providing a trusted third party clock and trusted local clock
JP4918717B2 (ja) 計測装置
JP5223860B2 (ja) 時刻情報配信システム、時刻配信局、端末、時刻情報配信方法及びプログラム
JP4918718B2 (ja) タイムスタンプ発行装置、タイムスタンプ発行方法、及びタイムスタンプ発行プログラム
JP4125975B2 (ja) タイムスタンプシステム及びそのプログラム
JP4868322B2 (ja) 情報処理システム、及び情報処理方法
KR100760028B1 (ko) 전자서명 인증서의 장기검증방법 및 시스템
JP2007266797A (ja) 認証システムおよびその認証方法
JP4860327B2 (ja) 時刻証明装置及びプログラム
JP5761683B2 (ja) 情報処理装置、及び情報処理プログラム
JP2007215104A (ja) 端末機器
JP2003248736A (ja) 情報機器の時刻証明に関する装置及びプログラム
JP2023064977A (ja) タイムスタンプ発行方法
JP2023066063A (ja) タイムスタンプ発行システム、タイムスタンプ発行方法およびタイムスタンプ発行プログラム
JP2021038965A (ja) タイムスタンプ装置、タイムスタンプシステム、タイムスタンプ方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110401

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110405

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110405

R150 Certificate of patent or registration of utility model

Ref document number: 4725978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250