JPWO2008026238A1 - データ処理システム及びデータ処理方法及びプログラム - Google Patents
データ処理システム及びデータ処理方法及びプログラム Download PDFInfo
- Publication number
- JPWO2008026238A1 JPWO2008026238A1 JP2008531898A JP2008531898A JPWO2008026238A1 JP WO2008026238 A1 JPWO2008026238 A1 JP WO2008026238A1 JP 2008531898 A JP2008531898 A JP 2008531898A JP 2008531898 A JP2008531898 A JP 2008531898A JP WO2008026238 A1 JPWO2008026238 A1 JP WO2008026238A1
- Authority
- JP
- Japan
- Prior art keywords
- hash value
- data
- hash
- signature
- last
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/3236—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 using cryptographic hash functions
-
- 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/3247—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 digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
ログへの署名を行いつつ、検知できない改竄(書き換え、挿入、削除など)を防ぎ、改竄された場合、その箇所を限定できるログ出力装置及びプログラムを提供する。ログ出力装置が、データ部とハッシュ部で構成されるログレコードを形成し、ディスクに出力し、ハッシュ部は、データ部のハッシュ(データハッシュ)と、一つ前のレコードのハッシュ部のハッシュ(リンクハッシュ)を合わせたものとし、ハッシュチェーンの一部のレコードにのみ署名を付け、レコードをディスクに出力するタイミングで、該レコードのハッシュ部のコピーをプロセスメモリ上にも保持し、次のレコード出力時に、ディスク上の最新レコードのハッシュ部と、プロセスメモリ上に保持しているハッシュ部を比較し、一致すればディスク上のレコードが改竄されていないと判断し、一致しない場合は改竄されたと判断する。
Description
この発明は、例えばコンテンツ流通システムや企業情報システムにおけるログに関し、特にログデータに署名を付与することにより、検知できない改竄(書き換え、不正レコード挿入、削除など)を防ぎ、ログの完全性を確保するための技術に関する。
今日、コンテンツ流通システムや企業情報システムにおいて、システムに属する機器や装置から出力される「ログ」が重要な役割を果たすようになってきている。
例えば、コンテンツ流通システムでは、コンテンツホルダがコンテンツプロバイダ(配信業者)に許可した許諾の範囲で(許可した販売量、販売価格などで)コンテンツの販売が行われているかを、コンテンツプロバイダが配備展開するコンテンツ配信システムのログを元にコンテンツホルダが検証することが行われている、或いは今後行われようとしている。
また、デジタル映画を映画館に供給するスタジオが許諾した範囲で(許可した上映期間・上映回数で)映画を上映しているかを、映画館システムのログを元にスタジオが検証することが行われている、或いは今後行われようとしている。
例えば、コンテンツ流通システムでは、コンテンツホルダがコンテンツプロバイダ(配信業者)に許可した許諾の範囲で(許可した販売量、販売価格などで)コンテンツの販売が行われているかを、コンテンツプロバイダが配備展開するコンテンツ配信システムのログを元にコンテンツホルダが検証することが行われている、或いは今後行われようとしている。
また、デジタル映画を映画館に供給するスタジオが許諾した範囲で(許可した上映期間・上映回数で)映画を上映しているかを、映画館システムのログを元にスタジオが検証することが行われている、或いは今後行われようとしている。
一方、企業情報システムにおいては、顧客名簿や企業機密の情報漏洩といったセキュリティ問題が発生した場合に、予めシステムから収集し保存しておいたログを分析することで原因を追究したり、また、情報システムが正しく運用されていることを客観的に示す監査などの目的のためにもログが用いられてきている。
このように、あらゆるシステムにおいて、ログが重要な役割を果たすようになってきた今日、ログデータの改竄はシステム運用上重大な脅威となり、その完全性の確保(改竄されていないことの証明)が重要な課題となってきている。
このような背景の下、ログの完全性確保に向けて、大きく2つのアプローチがある。
1.ログの改竄そのものを防止する。
2.ログが改竄された場合、それを確実に検知できるようにする。
このうち、本書で説明する発明は、上記の2を主な目的としたものである。また、同様の目的を持つ先行技術について、以下に説明する。
1.ログの改竄そのものを防止する。
2.ログが改竄された場合、それを確実に検知できるようにする。
このうち、本書で説明する発明は、上記の2を主な目的としたものである。また、同様の目的を持つ先行技術について、以下に説明する。
例えば、特許文献1は、アクセスログなど時系列に発生するデータごとにハッシュ・署名をつけて保存するデータ記憶処理方法を開示している。その際、該当データと一つ前のデータのハッシュを合成したデータのハッシュを取り、それに署名を付けるハッシュチェーン構成を採っている。
しかしながら、この先行技術では、各レコード全てに署名を付けており、署名(秘密鍵演算)処理は計算量が多いため(概ねハッシュ計算の100−1000倍)、レコードが頻発するような状況下では処理負荷が高くなり、実用に向かないという問題点がある。さらに、各レコードに署名が付与される分、全体のサイズが大きくなるという問題点もある(署名にRSA(登録商標)(Rivest Shamir Adleman)2048ビット鍵を用いた場合、各レコードごとに256バイト、Base64変換すると約342バイト、サイズが大きくなる)。
これに対し、非特許文献1は、同じくログへの署名付与にハッシュチェーンを用いる構成を開示・推奨している。この先行技術では、ハッシュチェーンの最後のハッシュにのみ署名を付けた構成図を開示しており、署名負荷やログサイズを低減できる可能性に言及しているが、動的に変化するログデータに対し、どのようなタイミングで署名を付与するか、また署名で守られていないデータをどのように検知できない改竄から守るかなど、具体的な実装方式には一切触れられておらず、アイデアのメリットを具体的に享受することができない。
また、特許文献2は、ログではないが、署名対象データを分割し、各々のハッシュを算出し、それらを階層構造にした上で、最上位のハッシュに署名を付けることで、データの改竄検知が行えるアイデアが開示されている。
しかしながら、この先行技術では、ある程度ログが蓄積された最終段階でのみ署名を付けており、そこに至るまでの間にデータが改竄されても改竄に気付くことができないという問題がある(ログというデータの性格上、最後だけではなく、逐次署名を付けていく必要がある)。
特開2003−143139号公報
特開2001−519930号公報
Digital Cinema System Specification V1.0 P.116−117,July 20, 2005 Digital Cinema Initiatives, LLC, http://www.dcimovies.com/
本発明は、上記のような課題を解決することを主な目的とするとともに、更に、データが改竄された場合、改竄を検知できるだけでなく、改竄された箇所をできるだけ限定する機能も同時に合わせ持つ、データ処理システム、データ処理方法及びプログラムを得ることを主な目的とする。
この発明に係るデータ処理システムは、第一の記憶装置と第二の記憶装置とを用い、逐次出力されるデータにハッシュ値を付加し、ハッシュ値が付加されたデータを前記第二の記憶装置に格納するデータ処理システムであって、
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納するハッシュ値複製格納部と、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較するハッシュ値比較部と、
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成するハッシュ値生成部と、
前記ハッシュ値生成部により生成された前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納するデータ格納部とを有することを特徴とする。
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納するハッシュ値複製格納部と、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較するハッシュ値比較部と、
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成するハッシュ値生成部と、
前記ハッシュ値生成部により生成された前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納するデータ格納部とを有することを特徴とする。
前記ハッシュ値生成部は、
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致しないと判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値以外の値から新たな第二のハッシュ値を生成することを特徴とする。
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致しないと判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値以外の値から新たな第二のハッシュ値を生成することを特徴とする。
前記データ処理システムは、更に、
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致しないと判断された場合に、前記最後尾データにおける改竄を通知する改竄検出レポートを生成する改竄検出レポート生成部を有することを特徴とする。
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致しないと判断された場合に、前記最後尾データにおける改竄を通知する改竄検出レポートを生成する改竄検出レポート生成部を有することを特徴とする。
前記ハッシュ値複製格納部は、
前記第一の記憶装置として、耐タンパー装置に前記第一のハッシュ値と第二のハッシュ値の複製を格納することを特徴とする。
前記第一の記憶装置として、耐タンパー装置に前記第一のハッシュ値と第二のハッシュ値の複製を格納することを特徴とする。
前記データ処理システムは、更に、
複数のデータの中の特定のデータに対して署名を生成し、生成した署名を前記特定のデータにのみ付加する署名生成部を有することを特徴とする。
複数のデータの中の特定のデータに対して署名を生成し、生成した署名を前記特定のデータにのみ付加する署名生成部を有することを特徴とする。
前記署名生成部は、
一定のデータ間隔ごとに、署名を生成することを特徴とする。
一定のデータ間隔ごとに、署名を生成することを特徴とする。
前記署名生成部は、
一定の時間間隔ごとに、署名を生成することを特徴とする。
一定の時間間隔ごとに、署名を生成することを特徴とする。
前記署名生成部は、
前記データ処理システムを利用するアプリケーションプログラムからの指示に基づき、署名を生成することを特徴とする。
前記データ処理システムを利用するアプリケーションプログラムからの指示に基づき、署名を生成することを特徴とする。
前記署名生成部は、
前記データ処理システムの外部から前記第二の記憶装置に格納されているデータに対する転送要求があった際に、署名を生成することを特徴とする。
前記データ処理システムの外部から前記第二の記憶装置に格納されているデータに対する転送要求があった際に、署名を生成することを特徴とする。
前記署名生成部は、
前記データ処理システムを利用する利用者からの指示に基づき、署名を生成することを特徴とする。
前記データ処理システムを利用する利用者からの指示に基づき、署名を生成することを特徴とする。
前記署名生成部は、
前記データ処理システムのIDS(侵入検知システム)/IPS(侵入防止システム)が不正侵入を検知した際に、署名を生成することを特徴とする。
前記データ処理システムのIDS(侵入検知システム)/IPS(侵入防止システム)が不正侵入を検知した際に、署名を生成することを特徴とする。
前記署名生成部は、
前記データ処理システムが稼動を終了する際に、最後に出力されたデータに対する署名を生成することを特徴とする。
前記データ処理システムが稼動を終了する際に、最後に出力されたデータに対する署名を生成することを特徴とする。
前記データ処理システムは、更に、
前記データ処理システムの起動時に、前記第二の記憶装置に格納されているデータを検査し、署名が付加されている最後のデータより後に格納されたデータが存在する場合に、署名が付加されている最後のデータより後に格納されたデータが存在することを通知するアラートを生成するデータ検査部とを有することを特徴とする。
前記データ処理システムの起動時に、前記第二の記憶装置に格納されているデータを検査し、署名が付加されている最後のデータより後に格納されたデータが存在する場合に、署名が付加されている最後のデータより後に格納されたデータが存在することを通知するアラートを生成するデータ検査部とを有することを特徴とする。
前記ハッシュ値生成部は、
複数個の第一のハッシュ値から上位ハッシュ値を生成し、複数個の上位ハッシュ値から更なる上位ハッシュ値を生成して、複数階層にわたる上位ハッシュ値を生成することを特徴とする。
複数個の第一のハッシュ値から上位ハッシュ値を生成し、複数個の上位ハッシュ値から更なる上位ハッシュ値を生成して、複数階層にわたる上位ハッシュ値を生成することを特徴とする。
前記データ処理システムは、
前記ハッシュ値生成部により生成された上位ハッシュ値のうち最上位の上位ハッシュ値を用いて署名を生成する署名生成部を有することを特徴とする。
前記ハッシュ値生成部により生成された上位ハッシュ値のうち最上位の上位ハッシュ値を用いて署名を生成する署名生成部を有することを特徴とする。
この発明に係るデータ処理方法は、第一の記憶装置と第二の記憶装置とを用い、逐次出力されるデータにハッシュ値を付加し、ハッシュ値が付加されたデータを前記第二の記憶装置に格納するデータ処理方法であって、
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納し、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較し、
前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成し、
生成した前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納することを特徴とする。
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納し、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較し、
前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成し、
生成した前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納することを特徴とする。
この発明に係るプログラムは、第一の記憶装置と第二の記憶装置とを有するコンピュータに、逐次出力されるデータにハッシュ値を付加させ、ハッシュ値が付加されたデータを前記第二の記憶装置に格納させるプログラムであって、
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納するハッシュ値複製格納処理と、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較するハッシュ値比較処理と、
前記ハッシュ値比較処理により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成するハッシュ値生成処理と、
前記ハッシュ値生成処理により生成された前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納するデータ格納処理とをコンピュータに実行させることを特徴とする。
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納するハッシュ値複製格納処理と、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較するハッシュ値比較処理と、
前記ハッシュ値比較処理により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成するハッシュ値生成処理と、
前記ハッシュ値生成処理により生成された前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納するデータ格納処理とをコンピュータに実行させることを特徴とする。
このように、この発明によれば、第二の記憶装置に格納される格納データの第一のハッシュ値と第二のハッシュ値の複製を第一の記憶装置に格納し、新たなデータが出力された際に、第二の記憶装置に格納されている最後尾の第一のハッシュ値及び第二のハッシュ値と第一の記憶装置に格納されている最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較することにより改竄を検知することができ、第二の記憶装置に格納される全データに対して署名を付与する必要がなくなり、署名処理負荷を低減し、署名によるデータ量の増大も防ぐことができる。
さらには、本発明は、従来技術が持つ問題を解決しつつ、検知不能な改竄を防ぎ、改竄された場合、改竄された可能性のある箇所をできるだけ限定する機能を同時に合わせ持つという効果も奏するものである。
実施の形態1.
(ログ出力装置及びログ出力プログラムの基本構成と、一定行数間隔、一定時間間隔による署名付与)
(ログ出力装置及びログ出力プログラムの基本構成と、一定行数間隔、一定時間間隔による署名付与)
(ログの形式とハッシュチェーンの形成)
図1は、この発明の実施の形態1によるログ出力装置におけるログの形式を示すブロック図である。
ディスク1はログを記録・保持する。
ログレコード10(以下、単にレコードともいう)は、データ部11とハッシュ部12から構成されている。ここで、データ部11はログメッセージ本体である。
ハッシュ部12は、さらにデータ部11のハッシュ値であるデータハッシュ(DH)13と、一つ前のレコード10のハッシュ部12の更なるハッシュ値であるリンクハッシュ(LH)14から構成されている(ただし、最初のレコードについては、データハッシュのハッシュをリンクハッシュとする)。
データハッシュ(DH)13は、第一のハッシュ値の例であり、リンクハッシュ(LH)14は、第二のハッシュ値の例である。
レコード10のうち、ハッシュ部12の署名を計算し、それをハッシュ部12の後ろに署名(SIG)15として付与したレコードが署名レコード20である。
図1は、この発明の実施の形態1によるログ出力装置におけるログの形式を示すブロック図である。
ディスク1はログを記録・保持する。
ログレコード10(以下、単にレコードともいう)は、データ部11とハッシュ部12から構成されている。ここで、データ部11はログメッセージ本体である。
ハッシュ部12は、さらにデータ部11のハッシュ値であるデータハッシュ(DH)13と、一つ前のレコード10のハッシュ部12の更なるハッシュ値であるリンクハッシュ(LH)14から構成されている(ただし、最初のレコードについては、データハッシュのハッシュをリンクハッシュとする)。
データハッシュ(DH)13は、第一のハッシュ値の例であり、リンクハッシュ(LH)14は、第二のハッシュ値の例である。
レコード10のうち、ハッシュ部12の署名を計算し、それをハッシュ部12の後ろに署名(SIG)15として付与したレコードが署名レコード20である。
最初のレコードから署名レコード20まで、リンクハッシュ(LH)14のリンク群(ハッシュチェーン)でつながれたレコード群が署名ブロック1(2)及び署名ブロック2(3)である。最後のブロックN(4)は、まだ署名が付けられていない未署名状態であることを示している。
また、ブロック間でもハッシュチェーンはつながっている。図1では、署名ブロック2(3)の最初のレコードのリンクハッシュ(LH)14は署名ブロック1(2)の最後のレコードのハッシュ部12に連結している。
このようにして生成したログを、他のシステムに転送する場合は、転送先でログの完全性(改竄されていないこと)を検証できるよう、最新レコードに署名が付いた状態で送るようにすれば、一度に複数の署名ブロックを送ってもよい。
また、ブロック間でもハッシュチェーンはつながっている。図1では、署名ブロック2(3)の最初のレコードのリンクハッシュ(LH)14は署名ブロック1(2)の最後のレコードのハッシュ部12に連結している。
このようにして生成したログを、他のシステムに転送する場合は、転送先でログの完全性(改竄されていないこと)を検証できるよう、最新レコードに署名が付いた状態で送るようにすれば、一度に複数の署名ブロックを送ってもよい。
以上のようにログを構成することで、署名対象は最終レコードのハッシュ部12とすることができることから、署名付与時にログ全体を読み込んでハッシュを取る必要が無いというメリットが得られる。
(ログ出力装置の構成例)
図2は、この発明の実施の形態1によるログ出力装置の構成例を示すブロック図である。
図2は、この発明の実施の形態1によるログ出力装置の構成例を示すブロック図である。
ログ出力装置100は、CPU(Central Processing Unit)、メモリ、ディスクや、キーボード/マウスのような入力機器、ディスプレイのような出力機器から構成される一般的なコンピュータを想定している。
ログ出力装置100は、ログ出力処理部101を有している。ログ出力処理部101は、データ処理システムの例である。ログ出力処理部101は、例えば、メモリに常駐するログ出力常駐プログラムにより実現することができる。
ログ出力処理部101は、各種アプリケーションプログラム111(以下、単に、アプリケーションともいう)が出力するログをそれがリンクするログ出力ライブラリ110を介して、例えばプロセス間通信などにより受信し、署名付きログをディスク112に出力する。
ログ出力処理部101は、各種アプリケーションプログラム111(以下、単に、アプリケーションともいう)が出力するログをそれがリンクするログ出力ライブラリ110を介して、例えばプロセス間通信などにより受信し、署名付きログをディスク112に出力する。
また、ログ出力装置100は、最新ハッシュ記憶部102を備えている。最新ハッシュ記憶部102は、例えばプロセスメモリ上に最新のハッシュ値を記憶するためのメモリ領域を確保することで実現できる。
最新ハッシュ記憶部102は、ログとしてディスク112に出力された最新レコードのハッシュ部12(データハッシュ(DH)13及びリンクハッシュ(LH)14の両者)のコピーを保持するように構成されている。
最新ハッシュ記憶部102(プロセスメモリ)は第一の記憶装置の例であり、ディスク112は、第二の記憶装置の例である。
最新ハッシュ記憶部102は、ログとしてディスク112に出力された最新レコードのハッシュ部12(データハッシュ(DH)13及びリンクハッシュ(LH)14の両者)のコピーを保持するように構成されている。
最新ハッシュ記憶部102(プロセスメモリ)は第一の記憶装置の例であり、ディスク112は、第二の記憶装置の例である。
また、ログ出力装置100は、署名要求部103を備えている。署名要求部103は、外部或いはログ出力装置100内部からの署名要求を受け付け、ログ出力処理部101内の署名生成部1013(後述)に署名要求を出力することにより、ディスク112上のログの最新レコードに署名が付与される。
署名要求部103は具体的には、UNIX(登録商標)プログラムにおけるシグナルハンドラなどの機構により実現することもできるし、ログ出力ライブラリ110からの明示的な署名要求や、タイマーを保持し、自身で署名生成のタイミングを与えることなども可能である。
署名要求部103は具体的には、UNIX(登録商標)プログラムにおけるシグナルハンドラなどの機構により実現することもできるし、ログ出力ライブラリ110からの明示的な署名要求や、タイマーを保持し、自身で署名生成のタイミングを与えることなども可能である。
ログ出力装置100は、自身で公開鍵ペアを保有しており、各々秘密鍵保持部104、公開鍵保持部105に保持している。また、オプションで耐タンパー装置106を備えてもよく、その場合、最新ハッシュ記憶部102及び秘密鍵保持部104を、耐タンパー装置106の中に備える構成を取ってもよい。
次に、図3にログ出力処理部101(データ処理システム)の内部構成例について説明する。
ハッシュ値複製格納部1015は、ディスク112(第二の記憶装置)にレコードが格納される度に、格納されるレコードに付加されている、当該レコードのデータ部11から生成されたデータハッシュ(DH)13(第一のハッシュ値)と当該レコードの前に格納されたレコードのハッシュ部12から生成されたリンクハッシュ(LH)14(第二のハッシュ値)を複製し、データハッシュ(DH)13及びリンクハッシュ(LH)14の複製を最新ハッシュ記憶部102(第一の記憶装置)に格納する。
ハッシュ値比較部1011は、新たなデータ(データ部11)が出力された際に、ディスク112に最後に格納された最後尾データに付加されている最後尾のハッシュ部12(データハッシュ(DH)13及びリンクハッシュ(LH)14)と、最新ハッシュ記憶部102に格納されている最後尾のハッシュ部12の複製とを比較する。
ハッシュ値生成部1012は、ハッシュ値比較部1011により最後尾のハッシュ部12と最後尾のハッシュ部12の複製とが一致すると判断された場合に、新たなデータ(データ部11)から新たなデータハッシュ(DH)13を生成するとともに、最後尾のハッシュ部12から新たなリンクハッシュ(LH)14を生成する。
署名生成部1013は、署名要求部103からの署名要求に基づき、複数のデータのうちの特定のデータ(最後尾のデータ)に対して署名を生成し、生成した署名を当該特定のデータに付加する。署名生成部1013は、例えば、一定のデータ間隔ごとに、署名を生成するようにしてもいいし、一定の時間間隔ごとに、署名を生成するようにしてもよい。
データ格納部1014は、ハッシュ値生成部1012により生成された新たなデータハッシュ(DH)13とリンクハッシュ(LH)14をハッシュ部12として新たなデータ(データ部11)に付加し、データハッシュ(DH)13とリンクハッシュ(LH)14が付加された後のレコード10をディスク112(第二の記憶装置)に格納する。
また、データ格納部1014は、署名生成部1013により署名が生成された場合は、署名が付加された署名レコード20をディスク112に格納する。
また、データ格納部1014は、署名生成部1013により署名が生成された場合は、署名が付加された署名レコード20をディスク112に格納する。
改竄検出レポート生成部1016は、ハッシュ値比較部1011により最後尾のハッシュ部12と最後尾のハッシュ部12の複製とが一致しないと判断された場合に、最後尾データにおける改竄を通知する改竄検出レポートを生成する。
なお、ハッシュ値比較部1011により最後尾のハッシュ部12と最後尾のハッシュ部12の複製とが一致しないと判断された場合は、改竄検出レポート生成部1016により改竄検出レポートの生成とともに、ハッシュ値生成部1012は、新たなデータから新たなデータハッシュ(DH)13を生成するとともに、最後尾のハッシュ部12以外の値から新たなリンクハッシュ(LH)14を生成するようにしてもよい。この場合、新たなデータは、改竄のあった最後尾データとリンクしないことになる。
(ログ出力装置のハードウェア構成例)
次に、ログ出力処理部101を含むログ出力装置100のハードウェア構成例について説明する。
前述のように、ログ出力装置100は、一般的なコンピュータで構成することができ、例えば、図10に示すハードウェア構成とすることができる。
なお、図10の構成は、あくまでもログ出力装置100のハードウェア構成の一例を示すものであり、ログ出力装置100のハードウェア構成は図10に記載の構成に限らず、他の構成であってもよい。
次に、ログ出力処理部101を含むログ出力装置100のハードウェア構成例について説明する。
前述のように、ログ出力装置100は、一般的なコンピュータで構成することができ、例えば、図10に示すハードウェア構成とすることができる。
なお、図10の構成は、あくまでもログ出力装置100のハードウェア構成の一例を示すものであり、ログ出力装置100のハードウェア構成は図10に記載の構成に限らず、他の構成であってもよい。
図10において、ログ出力装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信ボード915は、ネットワークを介してログの転送先であるログ収集管理システムと接続されていてもよい。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
また、磁気ディスク装置920に、図1及び図2に示した署名付きログが格納されるようにしてもよい。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
また、磁気ディスク装置920に、図1及び図2に示した署名付きログが格納されるようにしてもよい。
上記プログラム群923には、本実施の形態及び以下に述べる実施の形態の説明においてログ出力処理部101及びその内部構成として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる説明において、「−の判定」、「−の計算」、「−の比較」、「−の評価」、「−の生成」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「−ファイル」や「−データベース」の各項目として記憶されている。「−ファイル」や「−データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
ファイル群924には、以下に述べる説明において、「−の判定」、「−の計算」、「−の比較」、「−の評価」、「−の生成」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「−ファイル」や「−データベース」の各項目として記憶されている。「−ファイル」や「−データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、本実施の形態及び以下に述べる実施の形態の説明においてログ出力処理部101及びその内部構成として説明しているものは、「−回路」、「−装置」、「−機器」、「手段」であってもよく、また、「−ステップ」、「−手順」、「−処理」であってもよい。
すなわち、ログ出力処理部101及びその内部構成として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態及び以下に述べる実施の形態のログ出力処理部101及びその内部構成としてコンピュータを機能させるものである。あるいは、本実施の形態及び以下に述べる実施の形態のログ出力処理部101及びその内部構成の手順や方法をコンピュータに実行させるものである。
すなわち、ログ出力処理部101及びその内部構成として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態及び以下に述べる実施の形態のログ出力処理部101及びその内部構成としてコンピュータを機能させるものである。あるいは、本実施の形態及び以下に述べる実施の形態のログ出力処理部101及びその内部構成の手順や方法をコンピュータに実行させるものである。
このように、本実施の形態及び以下に述べる実施の形態に示すログ出力装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したようにログ出力処理部101及びその内部構成として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
(ログ出力時の動作)
次に、ログ出力時の動作について述べる。
図5は、その時のログ出力処理部101の動作(データ処理方法)の例を示すフローチャートである。
次に、ログ出力時の動作について述べる。
図5は、その時のログ出力処理部101の動作(データ処理方法)の例を示すフローチャートである。
ログ出力処理を開始すると、ログ出力処理部101のハッシュ値比較部1011が、まず、ステップST301にて、ディスク112の最新レコードのハッシュ部12、つまりディスク112に最後に格納された最後尾データに付加されている最後尾のハッシュ部12を読み込む。
次にステップST302にて、ハッシュ値比較部1011は、最新ハッシュ記憶部102(プロセスメモリ)上に保持している最後尾のハッシュ部12のコピー値と比較する。
ステップST303において、不一致の場合は、ハッシュ値比較部1011はディスク上のログが改竄されたものと判断し、ステップST312にて改竄検出レポート生成部1016が改竄検出レポートを生成し、データ格納部1014が改竄検出レポートをディスク112に出力し、ログ出力処理を終了する。
一方、ステップST303において、最後尾のハッシュ部12とそのコピーとが一致していた場合は、ステップST304にて、ハッシュ値生成部1012が、該当データのデータ部11からデータハッシュ(DH)13を計算する。
次にステップST305にて、ハッシュ値生成部1012が、最新ハッシュ記憶部102(プロセスメモリ)上に保持している最後尾のハッシュ部12のコピーよりリンクハッシュ(LH)14を計算し、ステップST306でデータハッシュとリンクハッシュを合わせて、ハッシュ部12を生成する。
そして、ステップST307にて、データ格納部1014が、データ部11とハッシュ部12を合わせてレコード10を生成する。
次にステップST302にて、ハッシュ値比較部1011は、最新ハッシュ記憶部102(プロセスメモリ)上に保持している最後尾のハッシュ部12のコピー値と比較する。
ステップST303において、不一致の場合は、ハッシュ値比較部1011はディスク上のログが改竄されたものと判断し、ステップST312にて改竄検出レポート生成部1016が改竄検出レポートを生成し、データ格納部1014が改竄検出レポートをディスク112に出力し、ログ出力処理を終了する。
一方、ステップST303において、最後尾のハッシュ部12とそのコピーとが一致していた場合は、ステップST304にて、ハッシュ値生成部1012が、該当データのデータ部11からデータハッシュ(DH)13を計算する。
次にステップST305にて、ハッシュ値生成部1012が、最新ハッシュ記憶部102(プロセスメモリ)上に保持している最後尾のハッシュ部12のコピーよりリンクハッシュ(LH)14を計算し、ステップST306でデータハッシュとリンクハッシュを合わせて、ハッシュ部12を生成する。
そして、ステップST307にて、データ格納部1014が、データ部11とハッシュ部12を合わせてレコード10を生成する。
ここで、ステップST308にて、署名生成部1013が、署名要求部103からの署名要求があるか否かを判定し、署名要求がある場合は、さらにステップST309にてハッシュ部12の署名15を計算し、署名15をレコード10に付加し、署名要求がない場合は特になにもしない。
以上、生成したレコードをステップST310にてデータ格納部1014がディスク112に出力し、ステップST311にて、ハッシュ値複製格納部1015がステップST304−306において生成されたハッシュ部12のコピーを生成し、当該コピーを最新ハッシュ記憶部102(プロセスメモリ)上に保持する。
以上でログ出力処理は終了である。
以上でログ出力処理は終了である。
以上のように動作することで、ディスク上に出力されたログにハッシュチェーンを形成することができる。
また、署名で守られていないブロックが改竄されてしまうとそれを検知できなくなるが、上で示した通り、プロセスメモリ上に最後尾レコードのハッシュ部12(DHとLHを合わせたもの)を保持し、ディスクへのレコード書き出し時に随時比較するよう構成したことにより、署名で守られていないブロックの改竄も検知することができる。
さらに、プロセスメモリ上に保持するハッシュ部12のコピーを、耐タンパー装置106に保持するよう構成することにより、検知できない改竄をより精度高く防ぐことができる。すなわち、ディスク上の最後尾レコードのハッシュ部12と、プロセスメモリ上に保持したハッシュを同時に改竄されてしまうことを防ぐことができるのである。
また、図7に示すように、ステップST303において、不一致の場合は、改竄検出レポート生成部1016が改竄検出レポートを生成し(ステップST312)、データ格納部1014が改竄検出レポートをディスク112に出力した後(ST313)、ハッシュ値生成部1012が、ログ出力データのデータ部11からデータハッシュ(DH)13を生成するとともに(ステップST314)、このデータハッシュ(DH)13からリンクハッシュ(LH)14を生成する(ステップST315)。このようにすれば、新たなデータと改竄されている最後尾データとを切り離し、当該新たなデータから新たなハッシュチェーンを形成することができる。
また、本実施の形態に係る構成のメリットを特許文献1に照らして説明する。
本実施の形態に記載のアイデアも、特許文献1のアイデアも、ディスク上のログは、データ部11とハッシュ部12に分けることができ、どちらも改竄対象になり得る。従って、両アイデアともハッシュ部12のコピーをメモリ上に持つ構成を取っているが、特許文献1では本実施の形態の構成によるデータハッシュ(DH)13相当のみメモリ上に保持し、リンクハッシュ(LH)14に相当する部分はメモリ上に保持していない。
代わりに、特許文献1では、ディスク上のレコードに署名を付けることにより、リンクハッシュ部になされる可能性のある、検知できない改竄を防いでいる訳である。このような構成を取り続ける限り、ディスク上の毎レコードに署名を付けざるを得ず、冒頭で指摘した署名処理負荷という問題点から逃れることができないのである。
本実施の形態に記載のアイデアも、特許文献1のアイデアも、ディスク上のログは、データ部11とハッシュ部12に分けることができ、どちらも改竄対象になり得る。従って、両アイデアともハッシュ部12のコピーをメモリ上に持つ構成を取っているが、特許文献1では本実施の形態の構成によるデータハッシュ(DH)13相当のみメモリ上に保持し、リンクハッシュ(LH)14に相当する部分はメモリ上に保持していない。
代わりに、特許文献1では、ディスク上のレコードに署名を付けることにより、リンクハッシュ部になされる可能性のある、検知できない改竄を防いでいる訳である。このような構成を取り続ける限り、ディスク上の毎レコードに署名を付けざるを得ず、冒頭で指摘した署名処理負荷という問題点から逃れることができないのである。
一方、本実施の形態では、リンクハッシュ(LH)14もメモリ上に保持する構成としているため、検知できない改竄の防止をディスク上の全レコードへの署名に頼る必要がなく、部分的に署名することが可能という大きな効果を生み出すことに成功しているのである。
このように、本実施の形態では、リンクハッシュの改竄の有無を検証し、リンクハッシュに改竄がなければ、ハッシュチェーンが正当であることが確認できる。
このように、本実施の形態では、リンクハッシュの改竄の有無を検証し、リンクハッシュに改竄がなければ、ハッシュチェーンが正当であることが確認できる。
(署名付与時の動作)
次に、署名付与時の動作(ログ出力処理と独立に署名を付与する場合の動作)について述べる。
図6は、その時のログ出力処理部101の動作例を示すフローチャートである。
署名処理を開始すると、まず、ステップST401にて、ハッシュ値比較部1011が、ディスク上の最新レコードを読み込む。次にステップST402にて、読み込んだ最新レコードが署名済か否かを判定し、既に署名済の場合は署名処理を行う必要がないため、終了する。
署名がなされていない場合は、ステップST403にて、ハッシュ値比較部1011は、読み込んだレコードのハッシュ部12とプロセスメモリ上に保持している最新レコードのハッシュ部12とを比較する。
ステップST404にて、一致していない場合は、ハッシュ値比較部1011は、ディスク上のログレコードが改竄されたと判断し、ステップ407にて、改竄検出レポート生成部1016が改竄検出レポートを生成するとともに、データ格納部1014が改竄検出レポートをディスクに出力し、署名処理を終了する。
ステップST404において一致していた場合は、ステップST405にて、署名生成部1013が、ハッシュ部12の署名を計算する。
次に、ステップST406にて、署名生成部1013が、ディスク上の最新レコードに署名を付け加え、署名処理を終了する。
次に、署名付与時の動作(ログ出力処理と独立に署名を付与する場合の動作)について述べる。
図6は、その時のログ出力処理部101の動作例を示すフローチャートである。
署名処理を開始すると、まず、ステップST401にて、ハッシュ値比較部1011が、ディスク上の最新レコードを読み込む。次にステップST402にて、読み込んだ最新レコードが署名済か否かを判定し、既に署名済の場合は署名処理を行う必要がないため、終了する。
署名がなされていない場合は、ステップST403にて、ハッシュ値比較部1011は、読み込んだレコードのハッシュ部12とプロセスメモリ上に保持している最新レコードのハッシュ部12とを比較する。
ステップST404にて、一致していない場合は、ハッシュ値比較部1011は、ディスク上のログレコードが改竄されたと判断し、ステップ407にて、改竄検出レポート生成部1016が改竄検出レポートを生成するとともに、データ格納部1014が改竄検出レポートをディスクに出力し、署名処理を終了する。
ステップST404において一致していた場合は、ステップST405にて、署名生成部1013が、ハッシュ部12の署名を計算する。
次に、ステップST406にて、署名生成部1013が、ディスク上の最新レコードに署名を付け加え、署名処理を終了する。
以上のように構成することで、ログをディスクに出力するタイミング以外においても、ログ出力処理部101が署名要求を受けた任意のタイミングで署名を付与することができる。
(一定行数間隔による署名付与)
以上に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は一定行数間隔(一定のデータ間隔)にてログに署名を付けることができる。
なお、ログ出力処理部101の内部に、図示しないレコード出力回数カウンタを設け、一定回数に達したら自身で署名生成部1013に署名要求を出し、ディスク上に書き出したレコードに署名を付与するように構成することで、これを実現することができる。所定の行数間隔は、同じく図示しない設定ファイルなどに指定し、ログ出力処理部101が起動時にそれを読み込むよう構成することができる。
以上に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は一定行数間隔(一定のデータ間隔)にてログに署名を付けることができる。
なお、ログ出力処理部101の内部に、図示しないレコード出力回数カウンタを設け、一定回数に達したら自身で署名生成部1013に署名要求を出し、ディスク上に書き出したレコードに署名を付与するように構成することで、これを実現することができる。所定の行数間隔は、同じく図示しない設定ファイルなどに指定し、ログ出力処理部101が起動時にそれを読み込むよう構成することができる。
これにより、ログの署名による処理負荷、ログサイズの低減を図り、かつ、検知できない改竄の無いログを出力することができる。
(一定時間間隔による署名付与)
以上に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は一定時間間隔にてログに署名を付けることができる。
ログ出力処理部101の内部に、図示しないタイマーを設け、前回署名時から一定時間経過したら自身で署名生成部1013に署名要求を出し、ディスク上の最新レコードに署名を付与するように構成することで、これを実現することができる。所定の時間間隔は、同じく図示しない設定ファイルなどに指定し、ログ出力処理部101が起動時にそれを読み込むよう構成することができる。
以上に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は一定時間間隔にてログに署名を付けることができる。
ログ出力処理部101の内部に、図示しないタイマーを設け、前回署名時から一定時間経過したら自身で署名生成部1013に署名要求を出し、ディスク上の最新レコードに署名を付与するように構成することで、これを実現することができる。所定の時間間隔は、同じく図示しない設定ファイルなどに指定し、ログ出力処理部101が起動時にそれを読み込むよう構成することができる。
これにより、ログの署名による処理負荷、ログサイズの低減を図り、かつ、検知できない改竄の無いログを出力することができる。
(ログの完全性検証(正常時))
図4は、図1で説明した形式で出力されたログの、ログ検証手段(例えば、ログ転送先のログ収集管理システムに搭載されたログ検証プログラム)による検証手順を示すフローチャートである。
図4は、図1で説明した形式で出力されたログの、ログ検証手段(例えば、ログ転送先のログ収集管理システムに搭載されたログ検証プログラム)による検証手順を示すフローチャートである。
検証処理を開始すると、ステップST201にて、ログの中から最新レコード(ログの最後のレコード)を読み込む。
ステップST202にて署名レコードか否かを判定し(通常は最新レコードが署名レコードになるようにしてログを検証する)、署名レコードの場合は、ステップST206に進む。署名レコードでない場合の処理は後述する。
ステップST206にて、ログ出力装置の公開鍵で署名を復号し、ステップST207にて復号した署名とレコードのハッシュ部12を比較する。
ステップST208にて一致している場合はステップST212に進む。一致しない場合の処理は後述する。
ステップST212では、データ部11の検証を行うために、データ部11のハッシュを計算し、ハッシュ部12のデータハッシュ(DH)13との比較を行う。ステップST213にて一致している場合はST215に進む。一致しない場合の処理は後述する。
ステップST215では、一つ前のレコードとのリンクの検証を行うため、一つ前のレコードを読み込む。
ステップST216にて一つ前のレコードが無い場合は、検証処理は終了である。
ステップST216にて一つ前のレコードがある場合は、ステップST217にて、今読み込んだレコードを検証対象にし、ステップST218にて、検証対象レコードのハッシュ部12のハッシュを計算し、一つ前の検証対象レコードのハッシュ部12のリンクハッシュ(LH)14と比較する。ステップST218にて再度一致を確認する。
以上の処理をステップST216にてレコードが無いと判定されるまで繰り返すことにより、ログの検証を行うことができる。
ステップST202にて署名レコードか否かを判定し(通常は最新レコードが署名レコードになるようにしてログを検証する)、署名レコードの場合は、ステップST206に進む。署名レコードでない場合の処理は後述する。
ステップST206にて、ログ出力装置の公開鍵で署名を復号し、ステップST207にて復号した署名とレコードのハッシュ部12を比較する。
ステップST208にて一致している場合はステップST212に進む。一致しない場合の処理は後述する。
ステップST212では、データ部11の検証を行うために、データ部11のハッシュを計算し、ハッシュ部12のデータハッシュ(DH)13との比較を行う。ステップST213にて一致している場合はST215に進む。一致しない場合の処理は後述する。
ステップST215では、一つ前のレコードとのリンクの検証を行うため、一つ前のレコードを読み込む。
ステップST216にて一つ前のレコードが無い場合は、検証処理は終了である。
ステップST216にて一つ前のレコードがある場合は、ステップST217にて、今読み込んだレコードを検証対象にし、ステップST218にて、検証対象レコードのハッシュ部12のハッシュを計算し、一つ前の検証対象レコードのハッシュ部12のリンクハッシュ(LH)14と比較する。ステップST218にて再度一致を確認する。
以上の処理をステップST216にてレコードが無いと判定されるまで繰り返すことにより、ログの検証を行うことができる。
(ログの完全性検証(最新レコードが署名レコードでないケース))
ステップST202にて最新レコードが署名レコードでないと判定した場合、ステップST219にて、該当レコードは信用できないと判定する。
次に、最新の署名レコードを探すために、ステップST203にて次の(一つ前の)レコードを読む。
ステップST204にてレコードの有無を判定し、レコードがあった場合は再びステップST202にて署名レコードか否かを判定する。この処理を繰り返すことで、最新の署名レコードを探す。
この処理の過程で、ステップST204にて署名レコードが無いと判定した場合は、ステップST205にて、ログ自体が検証不能と判断し、検証処理を終了する。
ステップST202にて最新レコードが署名レコードでないと判定した場合、ステップST219にて、該当レコードは信用できないと判定する。
次に、最新の署名レコードを探すために、ステップST203にて次の(一つ前の)レコードを読む。
ステップST204にてレコードの有無を判定し、レコードがあった場合は再びステップST202にて署名レコードか否かを判定する。この処理を繰り返すことで、最新の署名レコードを探す。
この処理の過程で、ステップST204にて署名レコードが無いと判定した場合は、ステップST205にて、ログ自体が検証不能と判断し、検証処理を終了する。
(ログの完全性検証(ハッシュ部が改竄されたケース))
ステップST208にて、ハッシュ部12が、復号した署名、または一つ前の検証対象レコードのリンクハッシュ(LH)14と一致しない場合、ステップST209にて、該当署名ブロックの中で、検証対象レコードを含む、それより古いレコードは全て信用できないと判断し、ステップST210にて次の署名(ブロック)までログをサーチする。
ステップST211にて署名レコードがあると判定した場合は、そのレコードから再度ステップST206より検証処理を継続する。署名レコードが無いと判定した場合は、検証処理は終了である。
ステップST208にて、ハッシュ部12が、復号した署名、または一つ前の検証対象レコードのリンクハッシュ(LH)14と一致しない場合、ステップST209にて、該当署名ブロックの中で、検証対象レコードを含む、それより古いレコードは全て信用できないと判断し、ステップST210にて次の署名(ブロック)までログをサーチする。
ステップST211にて署名レコードがあると判定した場合は、そのレコードから再度ステップST206より検証処理を継続する。署名レコードが無いと判定した場合は、検証処理は終了である。
(ログの完全性検証(データ部が改竄されたケース))
ステップST213にて、データ部11のハッシュとデータハッシュ(DH)13が一致しない場合、ステップST214にて該当レコードのデータ部11が改竄されていると判定し、次にステップST215に戻り、一つ前のレコードから再び検証処理を継続する。
ステップST213にて、データ部11のハッシュとデータハッシュ(DH)13が一致しない場合、ステップST214にて該当レコードのデータ部11が改竄されていると判定し、次にステップST215に戻り、一つ前のレコードから再び検証処理を継続する。
以上、本実施の形態では、ログのように時間軸に沿って逐次出力されるデータに対し、そのデータ(メッセージ)本体に該当するデータ部と、新たに付加するハッシュ部から構成されるレコードを形成し、ディスクに出力するログ出力装置について説明した。
そして、上記ログ出力装置において、ハッシュ部は、データ部のハッシュ(以降、データハッシュ”DH”と呼ぶ)と、一つ前のレコードのハッシュ部のハッシュ(以降、リンクハッシュ”LH”と呼ぶ)を合わせたものから成り(一つ前のレコードが無い場合は、DHのハッシュをLHとする)、さらにハッシュ部のリンクから成るハッシュチェーンが形成されることを説明した。
また、上記ログ出力装置は、ハッシュチェーンの一部のレコードにのみ署名を付けることを説明した。
また、上記ログ出力装置は、データが出力されたタイミングで、該データのDHとLHを計算してハッシュ部を生成することによりレコードを形成し、それをディスクに出力するとともに、生成したハッシュ部(DH、LH両方を含む)のコピーをプロセスメモリ上に保持することを説明した。
また、上記ログ出力装置は、次のデータが出力された場合、ディスク上の最新レコードのハッシュ部と、プロセスメモリ上に保持しているハッシュ部を比較し、一致すればディスク上のレコードが改竄されていないと判断し、さらにハッシュチェーンでリンクされたレコードをディスクに出力し、一致しない場合は改竄されたと判断し、改竄を検出したことをレコードに記録するとともに、次のデータは前のレコードとリンクせず、一つ前のレコードが無いものとして新たにレコードを生成、記録することを説明した。
そして、上記ログ出力装置において、ハッシュ部は、データ部のハッシュ(以降、データハッシュ”DH”と呼ぶ)と、一つ前のレコードのハッシュ部のハッシュ(以降、リンクハッシュ”LH”と呼ぶ)を合わせたものから成り(一つ前のレコードが無い場合は、DHのハッシュをLHとする)、さらにハッシュ部のリンクから成るハッシュチェーンが形成されることを説明した。
また、上記ログ出力装置は、ハッシュチェーンの一部のレコードにのみ署名を付けることを説明した。
また、上記ログ出力装置は、データが出力されたタイミングで、該データのDHとLHを計算してハッシュ部を生成することによりレコードを形成し、それをディスクに出力するとともに、生成したハッシュ部(DH、LH両方を含む)のコピーをプロセスメモリ上に保持することを説明した。
また、上記ログ出力装置は、次のデータが出力された場合、ディスク上の最新レコードのハッシュ部と、プロセスメモリ上に保持しているハッシュ部を比較し、一致すればディスク上のレコードが改竄されていないと判断し、さらにハッシュチェーンでリンクされたレコードをディスクに出力し、一致しない場合は改竄されたと判断し、改竄を検出したことをレコードに記録するとともに、次のデータは前のレコードとリンクせず、一つ前のレコードが無いものとして新たにレコードを生成、記録することを説明した。
また、本実施の形態では、ハッシュ部のコピーをプロセスメモリ上ではなく、プログラムが動作する機器に搭載された耐タンパー装置内に保持するログ出力装置について説明した。
更に、本実施の形態では、一定ログレコード出力行数ごとに、ディスク上の最新レコードのハッシュ部に署名を付けるログ出力装置について説明した。
また、本実施の形態では、一定時間間隔ごとに、ディスク上の最新レコードのハッシュ部に署名を付けるログ出力装置について説明した。
実施の形態2.
(アプリケーション指示及び、外部からのログ転送要求に基づく署名付与)
本実施の形態では、ディスク上のログに署名を付けるタイミングとして、アプリケーション111による指示時、及び外部からのログ転送要求時を利用した実施の形態について述べる。
なお、ログ出力装置、ログ出力処理部101、ログ形式などの構成は、実施の形態1に記載のものと全て同じであるため、本実施の形態での記載は省略する。
(アプリケーション指示及び、外部からのログ転送要求に基づく署名付与)
本実施の形態では、ディスク上のログに署名を付けるタイミングとして、アプリケーション111による指示時、及び外部からのログ転送要求時を利用した実施の形態について述べる。
なお、ログ出力装置、ログ出力処理部101、ログ形式などの構成は、実施の形態1に記載のものと全て同じであるため、本実施の形態での記載は省略する。
(アプリケーション指示による署名付与)
実施の形態1に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は、アプリケーション111が指示するタイミングにてログに署名を付けることができる。
実施の形態1に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は、アプリケーション111が指示するタイミングにてログに署名を付けることができる。
アプリケーション111が、リンクするログ出力ライブラリ110に対し、ログ出力を要求するとともに、出力後署名も同時に付けるようにログ出力処理部101に指示するように構成することで、これを実現することができる。署名要求の指示は、ログ出力ライブラリ110が提供するログ出力API(Application Programming Interface)に、署名要求の有無を入力とする引数を追加するよう構成することができる。
これにより、例えば、ある業務アプリケーションの一つの処理単位を論理的な検証対象ログとした場合、アプリケーションが処理終了をログに記録する時に署名も付けるよう指示することで、論理的な検証対象ログの最後のレコードに署名を付与することができる。
(外部からのログ転送要求による署名付与)
実施の形態1に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は、外部(例えば、ログ収集管理システム)からのログ転送要求があったタイミングにてログに署名を付けることができる。
実施の形態1に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は、外部(例えば、ログ収集管理システム)からのログ転送要求があったタイミングにてログに署名を付けることができる。
図示しない外部のログ収集管理システムからログ転送要求を署名要求部103で受けるように構成することで、これを実現することができる。署名要求部103は、ログ転送要求を例えばシグナルの形で受信するよう構成することができる。
これにより、ログ収集管理システムは、ログ出力装置100から受信したログの最後のレコードに署名が付いているので、全てのレコードについて完全性を確認することができる。
本実施の形態では、アプリケーションの指示するタイミングで、ディスク上の最新レコードのハッシュ部に署名を付けるログ出力装置について説明した。
また、本実施の形態では、外部からのログ転送要求時に、ディスク上の最新レコードのハッシュ部に署名を付けるログ出力装置について説明した。
実施の形態3.
(管理者やオペレータの指示に基づく署名付与)
本実施の形態では、管理者やオペレータによる指示があった場合に、ディスク上のログに署名を付けることを想定した実施の形態について述べる。
なお、ログ出力装置、ログ出力処理部101、ログ形式などの構成は、実施の形態1に記載のものと全て同じであるため、本実施の形態での記載は省略する。
(管理者やオペレータの指示に基づく署名付与)
本実施の形態では、管理者やオペレータによる指示があった場合に、ディスク上のログに署名を付けることを想定した実施の形態について述べる。
なお、ログ出力装置、ログ出力処理部101、ログ形式などの構成は、実施の形態1に記載のものと全て同じであるため、本実施の形態での記載は省略する。
実施の形態1に説明した構成・動作に基づき、ログ出力処理部101の署名生成部1013は、管理者やオペレータ(ログ出力装置100の利用者)からの署名要求があったタイミングにてログに署名を付けることができる。
管理者やオペレータからの署名要求を署名要求部103で受けるように構成することで、これを実現することができる。
これにより、定期的な、或いは定型業務的なログ収集タイミング以外に、管理者・オペレータが必要とするイレギュラーなタイミングにおいても、全レコードについて完全性の検証が可能なログを得ることができる。
管理者やオペレータからの署名要求を署名要求部103で受けるように構成することで、これを実現することができる。
これにより、定期的な、或いは定型業務的なログ収集タイミング以外に、管理者・オペレータが必要とするイレギュラーなタイミングにおいても、全レコードについて完全性の検証が可能なログを得ることができる。
以上のように、本実施の形態では、管理者・オペレータの指示するタイミングで、ディスク上の最新レコードのハッシュ部に署名を付けるログ出力装置について説明した。
実施の形態4.
(IDS/IPSが侵入を検知したタイミングに基づく署名付与)
本実施の形態では、ログ出力装置100に併設されたIDS(侵入検知システム)や、IPS(侵入防止システム)が侵入を検知したタイミングで、ディスク上のログに署名を付ける実施の形態について述べる。
なお、ログ出力装置、ログ出力処理部101、ログ形式などの構成は、実施の形態1に記載のものと全て同じであるため、本実施の形態での記載は省略する。
(IDS/IPSが侵入を検知したタイミングに基づく署名付与)
本実施の形態では、ログ出力装置100に併設されたIDS(侵入検知システム)や、IPS(侵入防止システム)が侵入を検知したタイミングで、ディスク上のログに署名を付ける実施の形態について述べる。
なお、ログ出力装置、ログ出力処理部101、ログ形式などの構成は、実施の形態1に記載のものと全て同じであるため、本実施の形態での記載は省略する。
IDS/IPSによる侵入検知イベントを、ログ出力装置の署名要求部103で受けるように構成することで、署名生成部1013は、侵入検知イベントがあったときに署名を生成することができる。
これにより、ログ出力装置にセキュリティ上の脅威が及ぶ前に、ログに署名を付けることができる。
これにより、ログ出力装置にセキュリティ上の脅威が及ぶ前に、ログに署名を付けることができる。
以上のように、本実施の形態では、システムに併設のIDS(侵入検知システム)/IPS(侵入防止システム)が侵入を検知したタイミングで、ディスク上の最新レコードのハッシュ部に署名を付けるログ出力装置について説明した。
実施の形態5.
(ログ出力処理部101起動/終了時の動作)
本実施の形態では、ログ出力処理部101が、起動/終了時にディスク上のログに対して行う動作について、その実施の形態を述べる。
(ログ出力処理部101起動/終了時の動作)
本実施の形態では、ログ出力処理部101が、起動/終了時にディスク上のログに対して行う動作について、その実施の形態を述べる。
本実施の形態に係るログ出力装置100では、ログ出力処理部101の内部構成を、例えば、図8に示すようにする。
図8において、署名生成部1013は、実施の形態1に示したものと同様の機能を有するが、本実施の形態では、ログ出力処理部101が稼動を終了する際に、最後に出力されたデータに対する署名を生成する。
そして、データ検査部1017は、ログ出力処理部101の起動時に、ディスク112に格納されているデータを検査し、署名が付加されている最後のデータより後に格納されたデータが存在する場合に、署名が付加されている最後のデータより後に格納されたデータが存在することを通知するアラートを生成する。署名が付加されている最後のデータより後に格納されたデータは、改竄されている可能性があるデータと考えられるからである。
図8において、署名生成部1013及びデータ検査部1017以外は、図3に示したものと同様である。
また、ログ形式は、実施の形態1に記載のものと同じである。
図8において、署名生成部1013は、実施の形態1に示したものと同様の機能を有するが、本実施の形態では、ログ出力処理部101が稼動を終了する際に、最後に出力されたデータに対する署名を生成する。
そして、データ検査部1017は、ログ出力処理部101の起動時に、ディスク112に格納されているデータを検査し、署名が付加されている最後のデータより後に格納されたデータが存在する場合に、署名が付加されている最後のデータより後に格納されたデータが存在することを通知するアラートを生成する。署名が付加されている最後のデータより後に格納されたデータは、改竄されている可能性があるデータと考えられるからである。
図8において、署名生成部1013及びデータ検査部1017以外は、図3に示したものと同様である。
また、ログ形式は、実施の形態1に記載のものと同じである。
(ログ出力処理部101終了時の動作)
ログ出力処理部101の署名生成部1013は、稼動終了時(ログ出力処理部101をプログラムで構成する場合は、プログラム終了時)に、ディスク112上の最新のログレコード(最後にディスク112に格納されたレコード)に署名を付与するように構成する。
UNIX(登録商標)においては、プロセス終了時にSIGTERMシグナルを受けることが一般的であるため、SIGTERMシグナルハンドラの中にこのような処理を含めるよう構成することで、具体的に実現することができる。
ログ出力処理部101の署名生成部1013は、稼動終了時(ログ出力処理部101をプログラムで構成する場合は、プログラム終了時)に、ディスク112上の最新のログレコード(最後にディスク112に格納されたレコード)に署名を付与するように構成する。
UNIX(登録商標)においては、プロセス終了時にSIGTERMシグナルを受けることが一般的であるため、SIGTERMシグナルハンドラの中にこのような処理を含めるよう構成することで、具体的に実現することができる。
これにより、ログ出力装置100が停止中であっても、稼動停止の時間帯に、署名で守られないレコードがディスク上に放置されるケースを無くすことができる。
(ログ出力処理部101起動時の動作)
ログ出力処理部101のデータ検査部1017は、ログ出力処理部101の起動時(ログ出力処理部101をプログラムで構成する場合は、プログラム起動時)に、ディスク112上の最新ログレコードを参照し、署名が付与されていない場合、最後の署名の後に記録されたログレコードは信用できない(ログ内に署名レコードが一つも無い場合は、ログ全てが信用できない)旨のアラートをログに記録するよう構成する。
ログ出力処理部101のデータ検査部1017は、ログ出力処理部101の起動時(ログ出力処理部101をプログラムで構成する場合は、プログラム起動時)に、ディスク112上の最新ログレコードを参照し、署名が付与されていない場合、最後の署名の後に記録されたログレコードは信用できない(ログ内に署名レコードが一つも無い場合は、ログ全てが信用できない)旨のアラートをログに記録するよう構成する。
これにより、署名が付けられていない状態で改竄されたログを信用してしまうケースを防ぐことができる。
以上のように、本実施の形態では、稼動終了時に、ディスク上の最後のログレコードに署名を付けるログ出力装置について説明した。
また、本実施の形態では、起動時に、ディスク上の最後のログレコードに署名が付与されていない場合、最後の署名の後に記録されたレコードは信用できないことをログに記録するログ出力装置について説明した。
また、本実施の形態では、起動時に、ディスク上の最後のログレコードに署名が付与されていない場合、最後の署名の後に記録されたレコードは信用できないことをログに記録するログ出力装置について説明した。
実施の形態6.
(ハッシュツリーとの組み合わせによる、改竄された可能性のある箇所の限定)
本実施の形態では、ディスク上のログが改竄された場合、改竄された可能性のある場所をできるだけ限定するための実施の形態について述べる。
ハッシュチェーンを用いたログの検証方法は、実施の形態1や図4に示した通り、レコードのハッシュ部12が改竄されてしまうと、同一署名ブロックの中で、その該当レコードより古いレコードは、実際に改竄されていなくても、検証できないため、信用できないと判定せざるを得ない。
従って、検知できない改竄を防ぐという第一の目的は達成しているものの、署名レコード或いはその近傍のレコードのハッシュ部12が改竄されると、ログ全体或いは大部分が信用できない場合がある。
本実施の形態では、レコードをハッシュチェーンのみならず、ハッシュツリーと呼ばれるリンク方法も同時に組み合わせてリンクすることにより、ログが改竄された場合、改竄された可能性のある範囲をできるだけ限定することができる構成について説明する。
(ハッシュツリーとの組み合わせによる、改竄された可能性のある箇所の限定)
本実施の形態では、ディスク上のログが改竄された場合、改竄された可能性のある場所をできるだけ限定するための実施の形態について述べる。
ハッシュチェーンを用いたログの検証方法は、実施の形態1や図4に示した通り、レコードのハッシュ部12が改竄されてしまうと、同一署名ブロックの中で、その該当レコードより古いレコードは、実際に改竄されていなくても、検証できないため、信用できないと判定せざるを得ない。
従って、検知できない改竄を防ぐという第一の目的は達成しているものの、署名レコード或いはその近傍のレコードのハッシュ部12が改竄されると、ログ全体或いは大部分が信用できない場合がある。
本実施の形態では、レコードをハッシュチェーンのみならず、ハッシュツリーと呼ばれるリンク方法も同時に組み合わせてリンクすることにより、ログが改竄された場合、改竄された可能性のある範囲をできるだけ限定することができる構成について説明する。
(ハッシュツリーの構造)
図9は、複数ログレコードからなる署名ブロック2に、ハッシュツリーを施した状態を示す図である。ハッシュチェーンも同時に形成されているが、図が煩雑になるため、ハッシュツリーによるリンク構成のみ示している。
一段目のデータハッシュ(DH1)50は、各レコードのデータ部11のハッシュである。さらに一段目のデータハッシュ(DH1)50を一定個数(図では3個)合わせたデータのハッシュを取ったものが、二段目のデータハッシュ(DH2)51である。
同様に、二段目のデータハッシュ(DH2)51を一定個数(図では同じく3個)合わせたデータのハッシュを取ったものが、三段目のデータハッシュ(DH3)52である。
図9では、三段目のデータハッシュまでしか図示していないが、レコードが増えるにつれ、四段目、五段目のデータハッシュが必要となることは言うまでも無い。
図9は、複数ログレコードからなる署名ブロック2に、ハッシュツリーを施した状態を示す図である。ハッシュチェーンも同時に形成されているが、図が煩雑になるため、ハッシュツリーによるリンク構成のみ示している。
一段目のデータハッシュ(DH1)50は、各レコードのデータ部11のハッシュである。さらに一段目のデータハッシュ(DH1)50を一定個数(図では3個)合わせたデータのハッシュを取ったものが、二段目のデータハッシュ(DH2)51である。
同様に、二段目のデータハッシュ(DH2)51を一定個数(図では同じく3個)合わせたデータのハッシュを取ったものが、三段目のデータハッシュ(DH3)52である。
図9では、三段目のデータハッシュまでしか図示していないが、レコードが増えるにつれ、四段目、五段目のデータハッシュが必要となることは言うまでも無い。
なお、署名を付ける場合は、最上段のデータハッシュ群を合わせたものに対して署名を付けるよう構成する。また、図9に示すレコードの下から2つ分のように、一定個数(図では3個)に達しない半端なレコードが存在する場合は、一定個数に達していなくとも一つ上位のデータハッシュを生成し、署名60を付ける際に、最上段のデータハッシュ群に加え、半端なレコードをまとめたハッシュも加えた上で署名を付けるように構成する。
本実施の形態におけるログ出力装置100の構成は図2に示したものと同様であり、また、ログ出力処理部101の構成も図3に示したものと同様である。
但し、本実施の形態では、ログ出力処理部101のハッシュ値生成部1012は、図9に示すように、複数個のデータハッシュ(DH)(第一のハッシュ値)から上位のデータハッシュ(DH)(上位ハッシュ値)を生成し、複数個の上位のデータハッシュ(DH)から更なる上位のデータハッシュ(更なる上位ハッシュ値)を生成して、複数階層にわたる上位のデータハッシュ(DH)を生成する。
また、本実施の形態では、ログ出力処理部101の署名生成部1013は、ハッシュ値生成部1012により生成された上位のデータハッシュ(DH)のうち最上位のデータハッシュ(DH)を用いて署名を生成する。
但し、本実施の形態では、ログ出力処理部101のハッシュ値生成部1012は、図9に示すように、複数個のデータハッシュ(DH)(第一のハッシュ値)から上位のデータハッシュ(DH)(上位ハッシュ値)を生成し、複数個の上位のデータハッシュ(DH)から更なる上位のデータハッシュ(更なる上位ハッシュ値)を生成して、複数階層にわたる上位のデータハッシュ(DH)を生成する。
また、本実施の形態では、ログ出力処理部101の署名生成部1013は、ハッシュ値生成部1012により生成された上位のデータハッシュ(DH)のうち最上位のデータハッシュ(DH)を用いて署名を生成する。
(ハッシュツリーの検証)
次に、上記構造で作成されたハッシュツリーの検証について説明する。
まず、ログ出力装置100からログを取得したログ収集管理システムでは、ログ出力装置100の公開鍵で署名を復号し、最上位ノードのハッシュ群を合わせたものと比較する。つまり、最上位のデータハッシュ群を合わせたものと復号した署名から抽出されたデータハッシュとを比較する。両者が一致すれば、さらに各々の最上位ノードのデータハッシュを、一段下のノードのハッシュ群を合わせたもののハッシュと比較する。このような比較を最下段のノードに達するまで繰り返し、全て一致していれば、ハッシュ部分の改竄がないことを証明できる。
次に、各レコードごとにデータ部11のハッシュを計算し、各々対応する一段目のデータハッシュと比較することにより、データ部11の改竄の有無を検知することができる。
ここで、ハッシュ部分に改竄があると、改竄があったノードの下位にぶら下がるレコード群のデータは、全て信用できないことになる。
例えば、図9で三段目のデータハッシュのうち一番上にあるものが正しいものの(三段目のデータハッシュと復号した署名から抽出されたデータハッシュとが一致するものの)、それに対応する二段目のデータハッシュ群を合わせたもののハッシュと一致しない場合、それ以下のノード(図9では上から9レコード分)は、信用できないことになる。
次に、上記構造で作成されたハッシュツリーの検証について説明する。
まず、ログ出力装置100からログを取得したログ収集管理システムでは、ログ出力装置100の公開鍵で署名を復号し、最上位ノードのハッシュ群を合わせたものと比較する。つまり、最上位のデータハッシュ群を合わせたものと復号した署名から抽出されたデータハッシュとを比較する。両者が一致すれば、さらに各々の最上位ノードのデータハッシュを、一段下のノードのハッシュ群を合わせたもののハッシュと比較する。このような比較を最下段のノードに達するまで繰り返し、全て一致していれば、ハッシュ部分の改竄がないことを証明できる。
次に、各レコードごとにデータ部11のハッシュを計算し、各々対応する一段目のデータハッシュと比較することにより、データ部11の改竄の有無を検知することができる。
ここで、ハッシュ部分に改竄があると、改竄があったノードの下位にぶら下がるレコード群のデータは、全て信用できないことになる。
例えば、図9で三段目のデータハッシュのうち一番上にあるものが正しいものの(三段目のデータハッシュと復号した署名から抽出されたデータハッシュとが一致するものの)、それに対応する二段目のデータハッシュ群を合わせたもののハッシュと一致しない場合、それ以下のノード(図9では上から9レコード分)は、信用できないことになる。
(ハッシュチェーンとハッシュツリーを組み合わせることによる効果)
以上説明したハッシュチェーンとハッシュツリーを組み合わせることによる効果を、以下に説明する。
ハッシュチェーンのみでは、先に述べた通り、署名レコード或いはその近傍のレコードのハッシュ部12が改竄されると、信用できないレコードが大部分を占めてしまうという問題があることに触れたが、このような場合でも、ハッシュツリーのハッシュ部(ハッシュツリーのハッシュ部とは、DH1、DH2、DH3をいう)が改竄されていなければ、全レコードの検証を行うことができる。その逆(ハッシュツリーのハッシュ部の一部が改竄されていても、ハッシュチェーンのハッシュ部(ハッシュチェーンのハッシュ部とはDH1及びLHをいう)が改竄されていない)の場合でも、全レコードの検証を行うことができる。
また、ハッシュツリーのハッシュ部とハッシュチェーンのハッシュ部が同時に改竄されていたとしても、それがツリーの下位に近い方であれば、検証できる範囲は広く残されており、ハッシュチェーンで検証できない部分を検証可能とすることができるという効果を得ることができる。
以上説明したハッシュチェーンとハッシュツリーを組み合わせることによる効果を、以下に説明する。
ハッシュチェーンのみでは、先に述べた通り、署名レコード或いはその近傍のレコードのハッシュ部12が改竄されると、信用できないレコードが大部分を占めてしまうという問題があることに触れたが、このような場合でも、ハッシュツリーのハッシュ部(ハッシュツリーのハッシュ部とは、DH1、DH2、DH3をいう)が改竄されていなければ、全レコードの検証を行うことができる。その逆(ハッシュツリーのハッシュ部の一部が改竄されていても、ハッシュチェーンのハッシュ部(ハッシュチェーンのハッシュ部とはDH1及びLHをいう)が改竄されていない)の場合でも、全レコードの検証を行うことができる。
また、ハッシュツリーのハッシュ部とハッシュチェーンのハッシュ部が同時に改竄されていたとしても、それがツリーの下位に近い方であれば、検証できる範囲は広く残されており、ハッシュチェーンで検証できない部分を検証可能とすることができるという効果を得ることができる。
以上のように、本実施の形態では、ハッシュチェーンのみならず、ハッシュを階層的にもリンクしながらディスクにレコードを出力し、署名のタイミングで、ツリーの最上位ノードのハッシュ群にも署名を付けるログ出力装置について説明した。
なお、以上の実施の形態1−6に示したログ出力装置100、ログ出力処理部101は、例えば、コンテンツ流通システムや、企業情報システムにおいて求められるログの完全性確保を、現実的な処理負荷、データ量で実現することを目的とした用途に有用である。
なお、以上の実施の形態1−6では、ログデータを例にして説明したが、ログデータに限らず、逐次出力されるデータであれば実施の形態1−6に示したログ出力装置は適用可能である。
100 ログ出力装置、101 ログ出力処理部、102 最新ハッシュ記憶部、103 署名要求部、104 秘密鍵保持部、105 公開鍵保持部、106 耐タンパー装置、110 ログ出力ライブラリ、111 アプリケーション、1011 ハッシュ値比較部、1012 ハッシュ値生成部、1013 署名生成部、1014 データ格納部、1015 ハッシュ値複製格納部、1016 改竄検出レポート生成部、1017 データ検査部。
Claims (17)
- 第一の記憶装置と第二の記憶装置とを用い、逐次出力されるデータにハッシュ値を付加し、ハッシュ値が付加されたデータを前記第二の記憶装置に格納するデータ処理システムであって、
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納するハッシュ値複製格納部と、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較するハッシュ値比較部と、
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成するハッシュ値生成部と、
前記ハッシュ値生成部により生成された前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納するデータ格納部とを有することを特徴とするデータ処理システム。 - 前記ハッシュ値生成部は、
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致しないと判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値以外の値から新たな第二のハッシュ値を生成することを特徴とする請求項1に記載のデータ処理システム。 - 前記データ処理システムは、更に、
前記ハッシュ値比較部により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致しないと判断された場合に、前記最後尾データにおける改竄を通知する改竄検出レポートを生成する改竄検出レポート生成部を有することを特徴とする請求項1に記載のデータ処理システム。 - 前記ハッシュ値複製格納部は、
前記第一の記憶装置として、耐タンパー装置に前記第一のハッシュ値と第二のハッシュ値の複製を格納することを特徴とする請求項1に記載のデータ処理システム。 - 前記データ処理システムは、更に、
複数のデータの中の特定のデータに対して署名を生成し、生成した署名を前記特定のデータにのみ付加する署名生成部を有することを特徴とする請求項1に記載のデータ処理システム。 - 前記署名生成部は、
一定のデータ間隔ごとに、署名を生成することを特徴とする請求項5に記載のデータ処理システム。 - 前記署名生成部は、
一定の時間間隔ごとに、署名を生成することを特徴とする請求項5に記載のデータ処理システム。 - 前記署名生成部は、
前記データ処理システムを利用するアプリケーションプログラムからの指示に基づき、署名を生成することを特徴とする請求項5に記載のデータ処理システム。 - 前記署名生成部は、
前記データ処理システムの外部から前記第二の記憶装置に格納されているデータに対する転送要求があった際に、署名を生成することを特徴とする請求項5に記載のデータ処理システム。 - 前記署名生成部は、
前記データ処理システムを利用する利用者からの指示に基づき、署名を生成することを特徴とする請求項5に記載のデータ処理システム。 - 前記署名生成部は、
前記データ処理システムのIDS(侵入検知システム)/IPS(侵入防止システム)が不正侵入を検知した際に、署名を生成することを特徴とする請求項5に記載のデータ処理システム。 - 前記署名生成部は、
前記データ処理システムが稼動を終了する際に、最後に出力されたデータに対する署名を生成することを特徴とする請求項5に記載のデータ処理システム。 - 前記データ処理システムは、更に、
前記データ処理システムの起動時に、前記第二の記憶装置に格納されているデータを検査し、署名が付加されている最後のデータより後に格納されたデータが存在する場合に、署名が付加されている最後のデータより後に格納されたデータが存在することを通知するアラートを生成するデータ検査部とを有することを特徴とする請求項12に記載のデータ処理システム。 - 前記ハッシュ値生成部は、
複数個の第一のハッシュ値から上位ハッシュ値を生成し、複数個の上位ハッシュ値から更なる上位ハッシュ値を生成して、複数階層にわたる上位ハッシュ値を生成することを特徴とする請求項1に記載のデータ処理システム。 - 前記データ処理システムは、
前記ハッシュ値生成部により生成された上位ハッシュ値のうち最上位の上位ハッシュ値を用いて署名を生成する署名生成部を有することを特徴とする請求項14に記載のデータ処理システム。 - 第一の記憶装置と第二の記憶装置とを用い、逐次出力されるデータにハッシュ値を付加し、ハッシュ値が付加されたデータを前記第二の記憶装置に格納するデータ処理方法であって、
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納し、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較し、
前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成し、
生成した前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納することを特徴とするデータ処理方法。 - 第一の記憶装置と第二の記憶装置とを有するコンピュータに、逐次出力されるデータにハッシュ値を付加させ、ハッシュ値が付加されたデータを前記第二の記憶装置に格納させるプログラムであって、
前記第二の記憶装置にデータが格納される度に、前記第二の記憶装置に格納される格納データに付加されている、前記格納データから生成された第一のハッシュ値と前記格納データの前に格納されたデータのハッシュ値から生成された第二のハッシュ値とを複製し、第一のハッシュ値と第二のハッシュ値の複製を前記第一の記憶装置に格納するハッシュ値複製格納処理と、
新たなデータが出力された際に、前記第二の記憶装置に最後に格納された最後尾データに付加されている最後尾の第一のハッシュ値及び第二のハッシュ値と、前記第一の記憶装置に格納されている前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とを比較するハッシュ値比較処理と、
前記ハッシュ値比較処理により前記最後尾の第一のハッシュ値及び第二のハッシュ値と前記最後尾の第一のハッシュ値及び第二のハッシュ値の複製とが一致すると判断された場合に、前記新たなデータから新たな第一のハッシュ値を生成するとともに、前記最後尾の第一のハッシュ値及び第二のハッシュ値から新たな第二のハッシュ値を生成するハッシュ値生成処理と、
前記ハッシュ値生成処理により生成された前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とを前記新たなデータに付加し、前記新たな第一のハッシュ値と前記新たな第二のハッシュ値とが付加された前記新たなデータを前記第二の記憶装置に格納するデータ格納処理とをコンピュータに実行させることを特徴とするプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/316847 WO2008026238A1 (fr) | 2006-08-28 | 2006-08-28 | Système de traitement de données, procédé de traitement de données, et programme |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2008026238A1 true JPWO2008026238A1 (ja) | 2010-01-14 |
Family
ID=39135530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008531898A Pending JPWO2008026238A1 (ja) | 2006-08-28 | 2006-08-28 | データ処理システム及びデータ処理方法及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090328218A1 (ja) |
JP (1) | JPWO2008026238A1 (ja) |
CN (1) | CN101507178A (ja) |
WO (1) | WO2008026238A1 (ja) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949666B2 (en) | 2004-07-09 | 2011-05-24 | Ricoh, Ltd. | Synchronizing distributed work through document logs |
US8479004B2 (en) | 2006-08-31 | 2013-07-02 | Ricoh Co., Ltd | Paper-based document logging |
US8006094B2 (en) | 2007-02-21 | 2011-08-23 | Ricoh Co., Ltd. | Trustworthy timestamps and certifiable clocks using logs linked by cryptographic hashes |
US8996483B2 (en) | 2007-03-28 | 2015-03-31 | Ricoh Co., Ltd. | Method and apparatus for recording associations with logs |
CN101299849B (zh) * | 2008-04-25 | 2010-05-12 | 中兴通讯股份有限公司 | 一种WiMAX终端及其启动方法 |
US8185733B2 (en) * | 2008-10-02 | 2012-05-22 | Ricoh Co., Ltd. | Method and apparatus for automatically publishing content based identifiers |
JP5103352B2 (ja) * | 2008-10-27 | 2012-12-19 | 株式会社デジオン | 録音システム、録音方法及びプログラム |
WO2010097942A1 (ja) | 2009-02-27 | 2010-09-02 | 富士通株式会社 | 電子署名プログラム、電子署名装置、および電子署名方法 |
US8370689B2 (en) * | 2010-05-06 | 2013-02-05 | Utc Fire & Security Americas Corporation, Inc. | Methods and system for verifying memory device integrity |
US8335951B2 (en) | 2010-05-06 | 2012-12-18 | Utc Fire & Security Americas Corporation, Inc. | Methods and system for verifying memory device integrity |
JP5753273B2 (ja) * | 2011-10-14 | 2015-07-22 | 株式会社日立製作所 | データの真正性保証方法、管理計算機及び記憶媒体 |
DE102012110510A1 (de) | 2012-11-02 | 2014-05-08 | Fujitsu Technology Solutions Intellectual Property Gmbh | Verfahren zum geschützten Hinterlegen von Ereignisprotokoll-Daten eines Computersystems, Computerprogrammprodukt sowie Computersystem |
WO2014185165A1 (ja) | 2013-05-16 | 2014-11-20 | 日本電信電話株式会社 | 情報処理装置、および、情報処理方法 |
US9880983B2 (en) * | 2013-06-04 | 2018-01-30 | X1 Discovery, Inc. | Methods and systems for uniquely identifying digital content for eDiscovery |
JP6194221B2 (ja) * | 2013-10-08 | 2017-09-06 | 任天堂株式会社 | 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法 |
JP6063850B2 (ja) * | 2013-10-18 | 2017-01-18 | 株式会社日立製作所 | 不正検知方法 |
US10515231B2 (en) * | 2013-11-08 | 2019-12-24 | Symcor Inc. | Method of obfuscating relationships between data in database tables |
US10346550B1 (en) | 2014-08-28 | 2019-07-09 | X1 Discovery, Inc. | Methods and systems for searching and indexing virtual environments |
FR3030163B1 (fr) * | 2014-12-12 | 2016-12-30 | Oberthur Card Systems S A Regional Operating Headquarters | Procede de generation d’un fichier journal |
DE112015005991B4 (de) * | 2015-01-19 | 2024-02-08 | Mitsubishi Electric Corporation | Paketsendevorrichtung, Paketempfangsvorrichtung, Paketsendeprogramm und Paketempfangsprogramm |
KR102309203B1 (ko) * | 2015-04-23 | 2021-10-05 | 매그나칩 반도체 유한회사 | 반도체 칩의 위변조 방지 회로 및 방법 |
US9811279B2 (en) * | 2015-05-13 | 2017-11-07 | Bank Of America Corporation | Securing physical-storage-media data transfers |
US10326588B2 (en) | 2015-05-13 | 2019-06-18 | Bank Of America Corporation | Ensuring information security in data transfers by dividing and encrypting data blocks |
US10613777B2 (en) | 2015-05-13 | 2020-04-07 | Bank Of America Corporation | Ensuring information security in data transfers by utilizing decoy data |
US10193696B2 (en) * | 2015-06-02 | 2019-01-29 | ALTR Solutions, Inc. | Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers |
FR3043482B1 (fr) * | 2015-11-06 | 2018-09-21 | Ingenico Group | Procede d'enregistrement securise de donnees, dispositif et programme correspondants |
JP6647855B2 (ja) * | 2015-12-22 | 2020-02-14 | 任天堂株式会社 | データ交換システム、情報処理装置、データ交換プログラムおよびデータ交換方法 |
GB2548851B (en) * | 2016-03-30 | 2018-07-25 | The Ascent Group Ltd | Validation of the integrity of data |
US11018870B2 (en) * | 2017-08-10 | 2021-05-25 | Visa International Service Association | Biometric verification process using certification token |
DE112017007877B4 (de) * | 2017-09-25 | 2021-05-06 | Mitsubishi Electric Corporation | Steuerung und Steuerungssystem |
US10740499B2 (en) | 2018-03-12 | 2020-08-11 | Nuvoton Technology Corporation | Active shield portion serving as serial keypad |
JP7119537B2 (ja) * | 2018-04-24 | 2022-08-17 | 日本電信電話株式会社 | 検知システムおよび検知方法 |
CN108809942A (zh) * | 2018-05-10 | 2018-11-13 | 山东恒云信息科技有限公司 | 云服务环境中对日志取证实现数据完整性验证的方法 |
US11003653B2 (en) * | 2018-05-31 | 2021-05-11 | Intuit Inc. | Method and system for secure digital documentation of subjects using hash chains |
US11144631B2 (en) | 2018-09-11 | 2021-10-12 | Apple Inc. | Dynamic switching between pointer authentication regimes |
CN109299763B (zh) * | 2018-10-17 | 2021-11-02 | 国网江苏省电力有限公司无锡供电分公司 | 基于rfid密钥链的纸质涉密载体防篡改伪造方法 |
JP7279439B2 (ja) * | 2019-03-20 | 2023-05-23 | 株式会社リコー | ネットワーク機器、ログ記録方法、およびプログラム |
JP7277912B2 (ja) * | 2019-06-06 | 2023-05-19 | 株式会社ワイビーエム | ハッシュチェーン利用データ非改ざん証明システム及びそのためのデータ管理装置 |
US11240039B2 (en) * | 2019-06-28 | 2022-02-01 | Intel Corporation | Message index aware multi-hash accelerator for post quantum cryptography secure hash-based signing and verification |
KR102218297B1 (ko) * | 2019-08-01 | 2021-02-24 | 주식회사 블룸테크놀로지 | 원장의 증명 가능 프루닝 시스템 |
JP7395893B2 (ja) * | 2019-09-12 | 2023-12-12 | 富士フイルムビジネスイノベーション株式会社 | 機器及びプログラム |
JP2021175016A (ja) * | 2020-04-20 | 2021-11-01 | 株式会社日立製作所 | デジタル署名の管理方法、デジタル署名の管理システム |
US20220058295A1 (en) * | 2020-08-20 | 2022-02-24 | Micron Technology, Inc. | Safety and security for memory |
US11734012B2 (en) * | 2021-03-31 | 2023-08-22 | Bmc Software, Inc. | Systems and methods for efficient transfer of log data |
JPWO2023013446A1 (ja) * | 2021-08-03 | 2023-02-09 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139219A (ja) * | 1997-07-18 | 1999-02-12 | Fuji Xerox Co Ltd | 被検証データ生成装置、データ検証装置及び被検証データ生成プログラムを記録した媒体 |
JP2001519930A (ja) * | 1998-02-04 | 2001-10-23 | サンマイクロシステムズ インコーポレーテッド | 階層型ハッシュを用いた効率的な認証及び完全性検査の方法及びその装置 |
JP2002082834A (ja) * | 2000-09-07 | 2002-03-22 | Toshiba Corp | 履歴管理用の記憶媒体及びicカード |
JP2002335241A (ja) * | 2001-03-22 | 2002-11-22 | Hitachi Ltd | 暗号化署名付きデジタルデータの有効性を回復する方法とシステム |
JP2004068350A (ja) * | 2002-08-05 | 2004-03-04 | Kumagai Gumi Co Ltd | シールド掘進機、及び、カッタービットの交換方法 |
JP2004304338A (ja) * | 2003-03-28 | 2004-10-28 | Ntt Data Corp | データ登録システム、データ登録方法及びプログラム |
JP2005149011A (ja) * | 2003-11-13 | 2005-06-09 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置および履歴検証方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4208082B2 (ja) * | 2003-01-30 | 2009-01-14 | 富士通株式会社 | データ改ざん検出方法、データ改ざん検出装置及びデータ改ざん検出プログラム |
JP4460251B2 (ja) * | 2003-09-19 | 2010-05-12 | 株式会社エヌ・ティ・ティ・ドコモ | 構造化文書署名装置、構造化文書適応化装置及び構造化文書検証装置。 |
US20060031352A1 (en) * | 2004-05-12 | 2006-02-09 | Justin Marston | Tamper-proof electronic messaging |
JP4776906B2 (ja) * | 2004-10-05 | 2011-09-21 | キヤノン株式会社 | 署名生成方法及び情報処理装置 |
US8190915B2 (en) * | 2006-06-14 | 2012-05-29 | Oracle International Corporation | Method and apparatus for detecting data tampering within a database |
-
2006
- 2006-08-28 JP JP2008531898A patent/JPWO2008026238A1/ja active Pending
- 2006-08-28 US US12/374,821 patent/US20090328218A1/en not_active Abandoned
- 2006-08-28 WO PCT/JP2006/316847 patent/WO2008026238A1/ja active Application Filing
- 2006-08-28 CN CNA200680055594XA patent/CN101507178A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139219A (ja) * | 1997-07-18 | 1999-02-12 | Fuji Xerox Co Ltd | 被検証データ生成装置、データ検証装置及び被検証データ生成プログラムを記録した媒体 |
JP2001519930A (ja) * | 1998-02-04 | 2001-10-23 | サンマイクロシステムズ インコーポレーテッド | 階層型ハッシュを用いた効率的な認証及び完全性検査の方法及びその装置 |
JP2002082834A (ja) * | 2000-09-07 | 2002-03-22 | Toshiba Corp | 履歴管理用の記憶媒体及びicカード |
JP2002335241A (ja) * | 2001-03-22 | 2002-11-22 | Hitachi Ltd | 暗号化署名付きデジタルデータの有効性を回復する方法とシステム |
JP2004068350A (ja) * | 2002-08-05 | 2004-03-04 | Kumagai Gumi Co Ltd | シールド掘進機、及び、カッタービットの交換方法 |
JP2004304338A (ja) * | 2003-03-28 | 2004-10-28 | Ntt Data Corp | データ登録システム、データ登録方法及びプログラム |
JP2005149011A (ja) * | 2003-11-13 | 2005-06-09 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置および履歴検証方法 |
Also Published As
Publication number | Publication date |
---|---|
US20090328218A1 (en) | 2009-12-31 |
WO2008026238A1 (fr) | 2008-03-06 |
CN101507178A (zh) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2008026238A1 (ja) | データ処理システム及びデータ処理方法及びプログラム | |
JP5036406B2 (ja) | コンテンツデータ管理システム及び方法 | |
US7779478B2 (en) | System and method for distributed module authentication | |
CN101310472B (zh) | 用以支持获信任环境的计算机可读组件的自动更新 | |
JP2021518705A (ja) | ブロックチェーン台帳のためのランタイム自己修正 | |
US9864878B2 (en) | Event log tamper detection | |
JP2006511877A (ja) | ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法 | |
US20120066493A1 (en) | Secure Transfer and Tracking of Data Using Removable Non-Volatile Memory Devices | |
US20070204171A1 (en) | Data processing device and data processing method | |
KR20090087639A (ko) | 소프트웨어의 전자 서명 생성 방법, 검증 방법, 그 장치,및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체 | |
JP2003280972A (ja) | ファイル保管システムとnasサーバ | |
JP2007096783A (ja) | データ転送方法及びシステム | |
JP6046745B2 (ja) | 無効なエスクロー・キーの検出 | |
CN109522747A (zh) | 一种基于区块链的防篡改日志记录系统及方法 | |
CN111291399B (zh) | 数据加密方法、系统、计算机系统和计算机可读存储介质 | |
JP5255991B2 (ja) | 情報処理装置、及びコンピュータプログラム | |
WO2009057096A1 (en) | Fast update for hierarchical integrity schemes | |
WO2019210471A1 (zh) | 一种数据调用方法及数据调用装置 | |
JP4553660B2 (ja) | プログラム実行装置 | |
WO2020085226A1 (ja) | 制御方法、コンテンツ管理システム、プログラム、及び、データ構造 | |
US11645385B2 (en) | Counteracting fraudulent clock readings and side-channel attacks | |
US20190251532A1 (en) | Systems and methods for providing distributed licensing and subscription management | |
JP2008077179A (ja) | 電磁的記録の証拠能力及び/又は証拠価値を高める情報処理方法、プログラム及び装置 | |
US20210103674A1 (en) | Event log tamper resistance | |
CN114462998A (zh) | 一种日志防篡改方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110419 |