JP4725978B2 - 時刻証明サーバ、時刻証明方法、及び時刻証明プログラム - Google Patents
時刻証明サーバ、時刻証明方法、及び時刻証明プログラム Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000009826 distribution Methods 0.000 claims description 54
- 238000012937 correction Methods 0.000 claims description 51
- 238000012795 verification Methods 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012550 audit Methods 0.000 description 171
- 238000004891 communication Methods 0.000 description 26
- 230000001360 synchronised effect Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012384 transportation and delivery Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000005336 cracking Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000000275 quality assurance Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 231100000989 no adverse effect Toxicity 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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
また、このようにして作成された電子文書に付与される法的な地位を整備するため電子文書法が施行されようとしている。
このようにして作成され保存される電子文書では発行日などの時刻証明(日付証明)が重要であり、時刻証明を行うタイムスタンプシステムが利用されている。
タイムスタンプシステム100は、時刻配信局に設置された時刻配信サーバ101、時刻認証局に設置されたタイムスタンプサーバ102、及びクライアント端末103、103、・・・などから構成されている。
タイムスタンプサーバ102は、クライアント端末103からハッシュ値を受信し、内蔵する内部クロックが出力する時刻と受信したハッシュ値に対して電子署名を生成し、これをタイムスタンプとしてクライアント端末103に送信する。
時刻配信サーバ101は、例えば、基準時刻を計測するための原子時計を備えており、この原子時計が出力する基準時刻をタイムスタンプサーバ102に配信する。
タイムスタンプサーバ102は、時刻配信サーバ101から基準時刻を受信し、これを用いて内部クロックを更正する。
この構成により、マスタクロックシステム(時刻配信サーバ101)は、ローカルクロックシステム(タイムスタンプサーバ102)に基準時刻を配信し、更に、ローカルクロックシステムで時刻が改竄されないか監査を行う。
更に、これらのシステムの安全性を確保するために、耐タンパ装置(安全性が確保された装置)を実装し、耐タンパ装置にこれらの通信機能を持たせていた。
そのため、耐タンパ装置でこれらの機能を実現する場合、実装が複雑なために高コストとなっていた。
第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の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証ステップと、前記証明対象情報受信手段によって、クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信ステップと、前記時刻証明情報生成手段によって、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成ステップと、前記時刻証明情報送信手段によって、前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信ステップと、を含むことを特徴とする時刻証明方法を提供する(第8の構成)。
前記第8の構成において、前記コンピュータは、所定単位変更手段を備え、前記所定単位変更手段によって、前記所定の単位を第1の単位に設定し、前記検証ステップで前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位に前記所定の単位を設定する所定単位変更ステップを含むように構成することもできる(第9の構成)。
更に、本発明は、 時刻を出力する時計装置を備えたコンピュータで時刻を証明する機能を実現する時刻証明プログラムであって、更正時刻発生装置から更正時刻を取得する更正時刻取得機能と、前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正機能と、前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得機能と、基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信機能と、前記所定の単位以上の時刻において前記第1の時刻取得機能で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証機能と、クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信機能と、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成機能と、前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信機能と、をコンピュータで実現する時刻証明プログラムを提供する(第10の構成)。
本実施の形態のタイムスタンプサーバでは、例えば、百ミリ秒単位で時刻を計測しており、この時刻を用いてタイムスタンプを発行している。
しかし、証明対象にもよるが、一般にタイムスタンプで重要なのは日付であり、秒針が改竄されたとしても実質的に悪影響はないものと考えられる。
このように外部から内部クロックを更正できる範囲を秒単位に限定することにより、分単位以上の部分の改竄が極めて困難となり、高いセキュリティレベルを保つことができる。
図1は、本実施の形態のタイムスタンプサーバの内部クロックが計測する時刻の一例を示した図である。
図の例では、「2005年3月30日15時30分20秒2百ミリ秒」となっている。このように、タイムスタンプサーバの内部クロックは時刻を百ミリ秒単位で計測している。
一方、秒単位の部分、即ち「20秒2百ミリ秒」はタイムスタンプの品質を提供する部分である。
時刻ラベル(分単位の部分)は、後述する監査サーバにより正しい値であることが監査され、秒単位の部分は後述する時刻配信サーバが配信する配信時刻により更正される。
タイムスタンプシステム1は、監査サーバ2、時刻配信サーバ3、タイムスタンプサーバ4、クライアント端末5、5、・・・などがインターネットなどのネットワーク6で接続可能に配設されている。
なお、以下では、クライアント端末5、5、・・・を特に区別しないため、単にクライアント端末5と記す。
ここで、タイムスタンプとは、電子文書の確定時刻を証明する情報であり、その文書がいつから存在しているのか、及びその時点から第三者のみならず作成者本人にも改竄されていないことを証明するものである。
一例として、まず、タイムスタンプサーバ4は、クライアント端末5から電子文書のハッシュ値(ダイジェスト値)を送信してもらう。
この電子署名がタイムスタンプとして使用される。なお、本実施の形態はこれに限定せずに、内部クロックを用いて時刻を証明する各種の形態のタイムスタンプに適用することが可能である。
外部クロックは、例えば、水晶発振式の時計装置であって、タイムスタンプサーバ4は、時刻配信サーバ3より配信される配信時刻を用いて外部クロック12をミリ秒単位まで更正することができる。
なお、タイムスタンプサーバ4と時刻配信サーバ3は、NTPで通信を行い、タイムスタンプサーバ4は、配信時刻を受信する。
そのため、タイムスタンプシステム1では、必ずしも時刻配信サーバ3を使用する必要はない。
更に、これらの配信時刻の出力源をタイムスタンプサーバ4に内蔵してしまえば、タイムスタンプサーバ4を配信時刻の提供元にネットワーク接続する必要が無くなり、タイムスタンプシステム1の構成がより簡略化される。
耐タンパチップは、内部構造の解析や不正操作が著しく困難になるように構成されたICチップであり、しかも、内部構造を解析しようとすると自動的に壊れるようになっている。
また、EEPROMに記憶したタイムスタンププログラムを耐タンパチップのCPUで実行することにより、耐タンパ部10の動作モードを切り替えるモード切替部13が構成される。
この時刻証明書には、監査サーバ2の原子時計の出力時刻を用いて更正された基準時刻が記されている。
耐タンパ部10は、デジタル署名を用いて時刻証明書の正当性を確認し、これによって、基準時刻の有効性を確認する。
内部クロック17は、耐タンパ部10の内部に構成されるという制約があるため、高精度の時計装置で構成することが困難である。そのため、精度を保つために、耐タンパ部10は、外部クロック12を参照して内部クロック17の秒単位を更正する。
耐タンパ部10は、監査サーバ2から送信されてきた基準時刻を確認する際に、この基準時刻が前回に監査サーバ2から受信した基準時刻よりも後であることを確認する。
そのため、耐タンパ部10は、監査サーバ2から送信されてきた基準時刻が前回に監査を行った時刻(前回証明書18に記載されている時刻)よりも後であることを確認する。
なお、工場出荷時に、デフォルトの前回証明書18を耐タンパ部10に記憶させておく。
また、一般、内部クロック17は、更正しなくても数ヶ月間程度は1分以内の精度を維持できるので、タイムスタンプサーバ4のユーザは、その間に内部クロック17の更正を行う。
耐タンパ部10が行う動作モードには、監査モード、同期モード、スタンプモードがある。
これらの各動作モードはそれぞれ独立したモジュールが行い、モジュール間の干渉が生じないようにしてある。
同期モードは、時刻配信サーバ3から配信される配信時刻を用いて内部クロック17の秒単位の部分を正確な時刻に同期させる動作モードである。
スタンプモードは、クライアント端末5からの要求に対してタイムスタンプを発行する動作モードである。
また、耐タンパ部10は、監査モード、同期モードの少なくとも一方でエラーが発生した場合に、タイムスタンプの発行を停止することができる。
このうち、監査モードとスタンプモードは、時刻ラベルを扱うため、高いセキュリティを要する動作モードであり(以下、セキュリティモード)、一方、同期モードは秒単位を扱うため、高いセキュリティが必ずしも必要ない動作モード(以下、一般モード)である。
しかも、各動作モードは独立したモジュールにて動作するため、耐タンパ部10は、セキュリティモードでの処理と一般モードでの処理が耐タンパ部10内で干渉することを防ぐことができ、クラッキングなどの不正アクセスに対して高い耐性を備えている。
監査サーバ2とタイムスタンプサーバ4の通信回線は、例えば、SSLなどの技術を用いて暗号化されており、外部からのクラッキングが困難になっている。
このように、第三者が監査サーバ2を運営することにより、タイムスタンプサーバ4の事業者とクライアント端末5のユーザが共謀してタイムスタンプのバックデイトを行うことは事実上不可能になり、極めて高いセキュリティレベルを実現することができる。
これによって、タイムスタンプサーバ4が受信した時刻証明書に記録されている基準時刻は、タイムスタンプサーバ4が時刻証明書を受信した時刻と一致する。
時刻配信サーバ3とタイムスタンプサーバ4の通信回線は、例えば、SSLを用いて暗号化されており、この暗号化された通信経路内を例えばNTPを用いて時刻が配信される。
更に、NTPを用いることにより、時刻配信サーバ3は、遅延のない時刻をミリ秒程度の精度でタイムスタンプサーバ4に提供することができる。
同期モードと監査モードの何れから開始してもよいが、監査サーバ2で保証され、時刻配信サーバ3で同期した時刻でタイムスタンプを発行するために、スタンプモードを同期モードと監査モードの後にするのが望ましい。
また、タイムスタンプサーバ4の起動後は、同期モードと監査モードを行った後、スタンプモードを行う。
同期モードにおいて、耐タンパ部10は、外部クロック12が出力する時刻の秒単位の部分を参照し、これを用いて内部クロック17を更正する。この処理によって、内部クロック17はミリ秒の単位まで更正することができる。
耐タンパ部10へは、外部クロック12が出力する時刻の秒単位の部分が入力されるが、耐タンパ部10に全ての単位の時刻を入力して、耐タンパ部10が秒単位の部分を参照するように構成してもよい。
これにより、同期しない時刻でタイムスタンプが発行されるのを防ぐことができる。
監査モードでは、耐タンパ部10は、監査サーバ2に時刻証明書の発行を要求する。そして、耐タンパ部10は、これに応じて監査サーバ2から送信されてきた時刻証明を受信し、時刻証明書に記されている基準時刻の時刻ラベルと内部クロック17から出力される時刻の時刻ラベルを比較する。
これにより、監査が完了しない時刻でタイムスタンプが発行されるのを防ぐことができる。
スタンプモードにおいては、耐タンパ部10は、クライアント端末5からのタイムスタンプの要求を受け付け、タイムスタンプを発行する。
スタンプモードで何らかのエラーが生じた場合、モード切替部13は耐タンパ部10の動作モードをスタンプモードに保持する。
タイムスタンプを強制終了によって停止させる場合(ステップ20;Y)、モード切替部13は、モード切り替えを終了する。
強制終了は、例えば、ステップ5〜ステップ20のループを所定回数行った場合に行ったり、あるいは、管理者の判断によって行うなど、各種の形態が可能である。
同期モード、監査モードに要する時間は数分程度であり、耐タンパ部10は、ほとんどの時間をスタンプモードで稼動することができる。
まず、タイムスタンプサーバ4と時刻配信サーバ3の関係について説明する。
タイムスタンプサーバ4は、外部クロック12の更正に際して時刻配信サーバ3に現在時刻の配信を要求する。
時刻配信サーバ3は、例えば原子時計などによって配信される時刻によって更正された正確な内部クロック20を備えており、この時刻をタイムスタンプサーバ4に送信する。
タイムスタンプサーバ4は、耐タンパ部10の動作モードとは独立してこの更正処理を行うことができる。
耐タンパ部10は、同期モードにおいて、外部クロック12(より正確にはタイムスタンプサーバ4のマザーボードに設置されたCPU)に対して現在の時刻の秒単位の部分の出力を要求する。
そして、耐タンパ部10は、この要求に応じて出力された秒単位の部分を耐タンパ部10の内部に取り込んで、内部クロック17の秒単位を更正する。
即ち、耐タンパ部10は、外部クロック12を介して内部クロック17の秒単位を時刻配信サーバ3の内部クロック20の正確な時刻に同期させることができる。
そのため、同期モードにおいて時刻ラベルは何らの影響を受けないため、高いセキュリティレベルを実現することができる。
以下の処理において、タイムスタンプサーバ4のマザーボードに設置されたCPUと時刻配信サーバ3が備えたCPUが所定のプログラムに従って行うものである。
この要求に対し、時刻配信サーバ3は、内部クロック20の出力する現在時刻をタイムスタンプサーバ4に送信する(ステップ35)。
なお、内部クロック17は、外部クロック12の秒単位しか参照しないため、外部クロック12の更正も秒単位で行えば足りる。
以下の処理は、図6のフローチャートと同様に、耐タンパ部10が備えたCPUと、時刻配信サーバ3のマザーボードに設置されたCPUが行うものである。
これに対し、タイムスタンプサーバ4は、外部クロック12の出力する秒単位の時刻を耐タンパ部10に出力する(ステップ55)。
このように、耐タンパ部10は、更正時刻発生装置(外部クロック12)から更正時刻を取得する更正時刻取得手段と、前記取得した更正時刻を用いて、前記時計装置が計測する時刻のうち、前記所定の単位よりも小さい単位の時刻(ここでは秒単位)を更正する時刻更正手段と、を備えている。
タイムスタンプサーバ4は、耐タンパ部10の動作モードが監査モードに切り替わると、耐タンパ部10の要求により監査サーバ2に対して基準時刻の送信を要求する。
基準時刻は、原子時計22が出力した現在時刻である。なお、より詳細には、監査サーバ2は、タイムスタンプサーバ4との通信の遅延時間を測定し、これを考慮して現在時刻を調整するが、これについては後述する。
固有情報は、例えば、耐タンパ部10のID情報など、タイムスタンプサーバ4のハードウェアに固有な情報である。固有情報が一致しない場合、耐タンパ部10は、エラーを発する。
デジタル署名は、ハッシュ値を監査用秘密鍵23で暗号化したものである。
耐タンパ部10は、時刻証明書40に記載されている基準時刻の時刻ラベルと内部クロック17の時刻ラベルの一致を確認した後、デジタル署名を用いて時刻証明書40の正当性を確認する。
まず、耐タンパ部10は、タイムスタンプサーバ4のCPU(以下、タイムスタンプサーバ4)に対して時刻証明書の要求を行う(ステップ105)。
監査サーバ2は、タイムスタンプサーバ4から時刻証明書の発行の要求を受けて時刻証明書40を作成し、タイムスタンプサーバ4に送信する(ステップ115)。
耐タンパ部10は、タイムスタンプサーバ4から時刻証明書を受け取り、時刻証明書に記されている基準時刻と内部クロック17の時刻を比較する(ステップ125)。
また、耐タンパ部10は、内部クロック17が出力した時刻のうち、所定の単位以上(ここでは分以上)の時刻を取得する第1の時刻取得手段を備えている。
なお、偶発的なエラーにより時刻証明書の時刻と内部クロック17が一致しない場合もあるので、時刻証明書40に記載されていた時刻と内部クロック17の時刻が一致しない場合(ステップ130;N)、耐タンパ部10はステップ105に戻って再度時刻証明書を要求するように構成することもできる。この場合、時刻証明書の時刻と内部クロック17の不一致が所定回数に達した場合にステップ133に移行するように構成することができる。また、ステップ133を有せずに、時刻証明書40に記載されていた時刻と内部クロック17の時刻が一致しない場合(ステップ130;N)、ステップ105に戻るように構成することもできる。この場合、所定回数監査に失敗した場合、耐タンパ部10はエラーを発して動作を停止するように構成することもできる。
両時刻が一致する場合(ステップ130;Y)、耐タンパ部10は、時刻証明書40の有効性を確認する(ステップ135)。
また、時刻証明書40に時刻証明書40の有効期限が付属している場合は、有効期限内であることを確認する。
即ち、有効性の確認の後に時刻の比較を行うと、有効性の確認に要する時間だけ内部クロック17の時刻が進んでしまい、時刻証明書40に記載されている時刻との差が大きくなるためである。
そのため、復号化の時間を省略するために、時刻証明書の基準時刻は暗号化をしないように構成することができる。
時刻証明書40が有効であった場合(ステップ140;Y)、耐タンパ部10は、前回証明書18(図2)に記載されている基準時刻と、時刻証明書40に記載されている基準時刻との前後関係を比較する(ステップ145)。
一方、時刻証明書40に記載されている基準時刻が、前回証明書18に記載されている基準時刻よりも後の時刻であった場合(ステップ150;Y)、前回証明書18を今回受け取った時刻証明書40にて上書きするなどして置き換える。
このように、より小さい単位で時刻監査を行う場合は、大きい単位から小さい単位にかけて段階的に時刻監査を行う。
例えば、工場出荷後に初めて時刻監査を行う場合や、耐タンパ部10をリセットした場合など、前回に秒単位での時刻監査を行っていない場合(ステップ160;N)、監査サーバ2と耐タンパ部10は、分単位で監査を実行する(ステップ165)。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から±30秒以内であることを確認する。
このようにして、偶発的なエラーなどにより監査が不成功となった場合、耐タンパ部10は、再度監査を試みる。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から±500ミリ秒以内であることを確認する。
そのため、分単位での監査が成功した場合、内部クロック17はミリ秒程度の精度で動作していることが期待されるので、例えば、30秒単位での監査などの中間段階を経ずに秒単位の監査に移行することができる。
一方、内部クロック17の時刻が時刻証明書の時刻と秒単位で一致して監査が成功した場合(ステップ180;Y)、耐タンパ部10は、監査モードを終了する。
そして、耐タンパ部10は、前記所定の単位を第1の単位(例えば1分)に設定し、前記検証手段が前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位(例えば1秒)に前記所定の単位を設定する。
ここで、第1精度は、第2精度よりも高精度となっており、耐タンパ部10は、より高精度で時刻監査を行う場合は、低い精度から高い精度にかけて段階的に時刻監査を行う。
まず、監査モードになると、耐タンパ部10は、前回に第1精度での時刻監査を行ったか確認する(ステップ260)。
前回に第1精度での時刻監査を行っていない場合(ステップ260;N)、監査サーバ2と耐タンパ部10は、第2精度で監査を実行する(ステップ265)。
これは、耐タンパ部10が、監査サーバ2から時刻証明書を取得し、これを用いて、内部クロック17が第2精度で一致するか確認することにより行う。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から所定時間以内(例えば、±(第2精度で計測できる最小時間の半分)以内)であることを確認する。
このようにして、偶発的なエラーなどにより監査が不成功となった場合、耐タンパ部10は、再度監査を試みる。
より詳細には、耐タンパ部10は、内部クロック17の時刻が時刻証明書に記載されている時刻から所定時間内(例えば、±(第1精度で計測できる最小時間の半分)以内)であることを確認する。
一方、内部クロック17の時刻が時刻証明書の時刻と第1精度で一致して監査が成功した場合(ステップ280;Y)、耐タンパ部10は、監査モードを終了する。
例えば、時刻ラベルを分単位以上とする場合、一般に監査サーバ2とタイムスタンプサーバ4の通信経路による遅延時間は1分よりも非常に小さいため、遅延対策を行う必要は必ずしもないが、例えば、時刻ラベルを秒単位で監査する場合には、以下のプロトコルを用いることにより、通信経路による遅延の影響を補正する。
まず、タイムスタンプサーバ4は、監査サーバ2に時刻証明書の送信を要求すると共に内部クロック17の現在時刻を監査サーバ2に送信する(ステップ205)。
内部クロック17の時刻は、外部クロック12と同期しているため、一般にミリ秒単位まで正確である。そのため、監査サーバ2は、自己の保有する原子時計22の現在時刻から内部クロック17の時刻を減算して遅延時間を計算する(ステップ215)。
なお、遅延時間が合理的な範囲を超えて大きい場合は、例えば、タイムスタンプサーバ4を停止させるなどの処理を行う。
そして、監査サーバ2は、この時刻証明書をタイムスタンプサーバ4に送信する(ステップ225)。
更に、監査サーバ2は、前記時刻証明サーバから、当該時刻証明サーバが備えた時計装置が出力した時刻を受信する時刻受信手段を具備し、前記遅延時間測定手段は、前記受信した時刻と、前記受信を行った際に前記基準時計装置が出力する時刻と、の差を用いて前記遅延時間を測定する。
以上のように、監査サーバ2は、遅延時間分だけ進んだ時刻を基準時刻として時刻証明書を作成するため、タイムスタンプサーバ4は、時刻証明書に記載された基準時刻において時刻証明書を受信することができる。
タイムスタンプサーバ4は、CPU51、RAM52、ROM53、耐タンパチップ56、通信制御装置57、記憶装置58、入出力I/F(インターフェース)60などの各機能部がバスライン50で接続されて構成されている。
CPU51は、例えば、耐タンパチップ56(耐タンパ部10を構成する)のCPUと協働して情報処理を行い、監査サーバ2から時刻証明書を取得したり、時刻配信サーバ3の配信時刻を用いて外部クロック12を更正したり、あるいは、クライアント端末5からの要求によりタイムスタンプを発行したりする。
RAM52は、CPU51が動作するためのワーキングエリアを提供する読み書き可能なメモリである。時刻証明書の取得や、外部クロック12の構成、及びタイムスタンプの発行を行うためのエリアが確保可能に構成されている。
記憶装置58には、プログラム類を格納したプログラム格納部61とデータ類を記憶したデータ格納部62が形成されている。
通信プログラムは、通信制御装置57を制御し、ネットワーク6を介した通信を行うための機能をCPU51に発揮させるためのプログラムである。
(1)時刻配信サーバ3が配信する配信時刻により内部クロック17の秒単位を更正することにより高精度な時刻同期が可能となる。
(3)時刻証明と時刻同期を分離することにより、高精度な時刻によるタイムスタンプシステムをインターネットなど不安定なネットワークを用いても容易に構築することができる。
(5)タイムスタンプサーバ4は、前回監査した時刻と今回使用する基準時刻を比較することにより、内部クロック17のバックデートを防ぐことができる。
2 監査サーバ
3 時刻配信サーバ
4 タイムスタンプサーバ
5 クライアント端末
6 ネットワーク
10 耐タンパ部
12 外部クロック
13 モード切替部
15 監査用公開鍵
16 タイムスタンプ用電子署名鍵
17 内部クロック
18 前回証明書
22 原子時計
23 監査用秘密鍵
Claims (10)
- 時刻を出力する時計装置と、
更正時刻発生装置から更正時刻を取得する更正時刻取得手段と、
前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正手段と、
前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得手段と、
基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信手段と、
前記所定の単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証手段と、
クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信手段と、
前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成手段と、
前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信手段と、
を具備したことを特徴とする時刻証明サーバ。 - 前記検証手段は、検証に用いる基準時刻が、前回の検証で用いた基準時刻よりも後の時刻であることが確認できた場合に、前記時計装置が所定の範囲の精度にて作動していると検証することを特徴とする請求項1に記載の時刻証明サーバ。
- 前記時刻証明情報生成手段は、前記更正した時刻を用いて前記時刻証明情報を生成することを特徴とする請求項1、又は請求項2に記載の時刻証明サーバ。
- 前記所定の単位を変更する所定単位変更手段を具備したことを特徴とする請求項1、請求項2、又は請求項3に記載の時刻証明サーバ。
- 前記所定単位変更手段は、前記所定の単位を第1の単位に設定し、前記検証手段が前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位に前記所定の単位を設定することを特徴とする請求項4に記載の時刻証明サーバ。
- 前記検証手段と前記時刻証明情報生成手段が動作する第1の動作モードと、前記時刻更正手段が動作する第2の動作モードと、を切り替える動作モード切替手段を具備し、
前記動作モード切替手段は、それぞれの動作モードにて動作が完了した後に動作モードを切り替えることを特徴とする請求項3に記載の時刻証明サーバ。 - 前記第1の動作モードは、前記検証手段が前記時計装置を検証する検証モードと、前記時刻証明情報生成手段が前記時刻証明情報を生成する時刻証明情報生成モードと、から成り、
前記動作モード切替手段は、前記検証モードと前記時刻証明情報生成モードの切替において、モード切替元の動作が完了した後にモード切替先に動作モードを切り替えることを特徴とする請求項6に記載の時刻証明サーバ。 - 時刻を出力する時計装置を備えたコンピュータにおいて行う時刻証明方法であって、前記コンピュータは、更正時刻取得手段と、時刻更正手段と、第1の時刻取得手段と、基準時刻受信手段と、検証手段と、証明対象情報受信手段と、時刻証明情報生成手段と、時刻証明情報送信手段と、を備えており、
前記更正時刻取得手段によって、更正時刻発生装置から更正時刻を取得する更正時刻取得ステップと、
前記時刻更正手段によって、前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正ステップと、
前記第1の時刻取得手段によって、前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得ステップと、
前記基準時刻受信手段によって、基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信ステップと、
前記検証手段によって、前記所定の単位以上の時刻において前記第1の時刻取得手段で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証ステップと、
前記証明対象情報受信手段によって、クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信ステップと、
前記時刻証明情報生成手段によって、前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成ステップと、
前記時刻証明情報送信手段によって、前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信ステップと、
を含むことを特徴とする時刻証明方法。 - 前記コンピュータは、所定単位変更手段を備え、
前記所定単位変更手段によって、前記所定の単位を第1の単位に設定し、前記検証ステップで前記第1の単位を用いて前記時計装置の精度を検証した場合に、前記第1の単位よりも小さい第2の単位に前記所定の単位を設定する所定単位変更ステップを含むことを特徴とする請求項8に記載の時刻証明方法。 - 時刻を出力する時計装置を備えたコンピュータで時刻を証明する機能を実現する時刻証明プログラムであって、
更正時刻発生装置から更正時刻を取得する更正時刻取得機能と、
前記取得した更正時刻を用いて、前記時計装置が出力する時刻のうち、セキュリティを要する所定の単位以上の単位の時刻の更正は行わずに前記所定の単位よりも小さい単位の時刻を更正する時刻更正機能と、
前記時計装置が出力した時刻のうち、前記所定の単位以上の時刻を取得する第1の時刻取得機能と、
基準時刻を配信する基準時刻配信サーバから基準となる時刻を受信する基準時刻受信機能と、
前記所定の単位以上の時刻において前記第1の時刻取得機能で取得した時刻と前記受信した基準時刻とが一致することを確認することにより、前記時計装置が所定の範囲の精度で作動していることを検証する検証機能と、
クライアント端末から、時刻証明対象となる証明対象情報を受信する証明対象情報受信機能と、
前記精度を検証した前記時計装置が出力する時刻を用いて、前記受信した証明対象情報の時刻証明情報を生成する時刻証明情報生成機能と、
前記生成した時刻証明情報をクライアント端末に送信する時刻証明情報送信機能と、
をコンピュータで実現する時刻証明プログラム。
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)
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)
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)
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 |
-
2006
- 2006-04-07 US US11/918,144 patent/US8041980B2/en active Active
- 2006-04-07 JP JP2007512972A patent/JP4725978B2/ja active Active
- 2006-04-07 WO PCT/JP2006/307451 patent/WO2006109723A1/ja active Application Filing
Patent Citations (7)
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 |