IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

<>
  • 特表-イベント・ログの改竄耐性 図1
  • 特表-イベント・ログの改竄耐性 図2
  • 特表-イベント・ログの改竄耐性 図3A
  • 特表-イベント・ログの改竄耐性 図3B
  • 特表-イベント・ログの改竄耐性 図4
  • 特表-イベント・ログの改竄耐性 図5
  • 特表-イベント・ログの改竄耐性 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-23
(54)【発明の名称】イベント・ログの改竄耐性
(51)【国際特許分類】
   G06F 21/64 20130101AFI20221216BHJP
   G06F 11/34 20060101ALI20221216BHJP
【FI】
G06F21/64
G06F11/34 176
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022516384
(86)(22)【出願日】2020-09-21
(85)【翻訳文提出日】2022-03-14
(86)【国際出願番号】 IB2020058764
(87)【国際公開番号】W WO2021069991
(87)【国際公開日】2021-04-15
(31)【優先権主張番号】16/595,563
(32)【優先日】2019-10-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】クワン、マイケル
(72)【発明者】
【氏名】バレンタイン、スコット
(72)【発明者】
【氏名】ソフィア、アントニー、トーマス
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042MA08
5B042MA14
5B042MC40
(57)【要約】
【課題】 イベント・ログの改竄耐性
【解決手段】 実施例は、プロセッサにより、コンピュータにより実行されたイベントに応答して第1のイベント・レコードを生成すること、及びプロセッサにより、生成された第1のイベント・レコードに応答して第1の改竄耐性レコードを生成することについて記載する。改竄耐性レコードは、第1のイベント・レコードに少なくとも部分的に基づいて生成される第1の署名と、第1のイベント・レコードに少なくとも部分的に基づいて生成される第2の署名とを含む。側面は、また、第1のイベント・レコードの改竄を検出するための要求に応じて、第1の改竄耐性レコード内の第1の署名及び第2の署名に基づいて第1のイベント・レコードを確認することを含む。
【選択図】
【特許請求の範囲】
【請求項1】
ログに対して改竄耐性を追加することにより1つ又はそれ以上のイベントのログを安全にするためのコンピュータ実装方法であって、前記方法は、
プロセッサにより、前記コンピュータにより実行されたイベントに応答して第1のイベント・レコードを生成するステップと、
前記プロセッサにより、生成された前記第1のイベント・レコードに応答して第1の改竄耐性レコードを生成するステップであって、前記第1の改竄耐性レコードが、
前記第1のイベント・レコードに少なくとも部分的に基づいて生成される第1の署名と、
前記第1のイベント・レコードに少なくとも部分的に基づいて生成される第2の署名と
を含むステップと、
前記第1のイベント・レコードの改竄を検出するための要求に応じて、前記第1の改竄耐性レコード内の前記第1の署名及び前記第2の署名に基づいて前記第1のイベント・レコードを確認するステップと
を含む、コンピュータ実装方法。
【請求項2】
前記第1の改竄耐性レコードは、さらに、前記第1の署名及び前記第2の署名の生成において使用された暗号化関数のタイプの識別子を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1の改竄耐性レコードは、さらに、前記第1のイベント・レコードの空間的参照を含み、前記空間的参照が前記第1のイベント・レコードを識別する、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記第2の署名は、前記第1のイベント・レコード、前記第1のイベント・レコードの前記空間的参照及び前記第1の署名に少なくとも部分的に基づいて生成される、請求項3に記載のコンピュータ実装方法。
【請求項5】
さらに、
前記プロセッサにより、前記コンピュータによって実行され、前記第1の改竄耐性レコードが生成された後に発生する第2のイベントに応答して第2のイベント・レコードを生成することと、
前記プロセッサにより、生成された前記第2のイベント・レコードに応答して第2の改竄耐性レコードを生成することと
を含み、前記第2の改竄耐性レコードが、
前記第2のイベント・レコードに少なくとも部分的に基づいて生成される第3の署名と、
前記第2のイベント・レコードに少なくとも部分的に基づいて生成される第4の署名であって、前記第1の署名及び前記第3の署名は、同一の暗号化関数を使用して生成され、前記第2の署名と前記第4の署名が同一の暗号化関数を使用して生成され、かつ
前記第2のイベント・レコードの改竄を検出するための要求に応答して、前記第2の改竄耐性レコード内の前記第3の署名及び前記第4の署名に基づいて前記第2のイベント・レコードを確認する、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第3の署名は、前記第2のイベント・レコード及び前記第1の改竄耐性レコードの少なくとも部分に少なくとも基づいて生成される、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記第4の署名は、前記第2のイベント・レコード、前記第3の署名及び前記第1の改竄耐性レコードの少なくとも部分に少なくとも基づいて生成される、請求項5に記載のコンピュータ実装方法。
【請求項8】
前記第1の署名及び前記第2の署名は、異なる暗号化関数を使用して生成される、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記の方法クレームの何れかによる方法の全ステップを実行するために適応された手段を含むシステム。
【請求項10】
前記の方法クレームの何れかによる方法の全ステップを実行するための命令を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イベント・ロガーにより生成された記録を保護することに関し、より具体的には、イベント・ログ処理のインフラ基盤に影響を与えることなく、既存のイベント・ロガーにより生成された記録を保護することに関する。
【背景技術】
【0002】
サーバと言ったシステムにおいては、イベント・ロガーは、サーバの操作に関連するシステム・イベントといったイベントに対応するイベント・レコードを記録する。企業は、規制コンプライアンスの部分として、ログされたイベント・レコードを監査することができる。コンプライアンスに対し、監査は、イベント・レコードの内容が未修正で残されていること、若しくは如何なる変更でも追跡されたことを確認しなければならない可能性がある。
【発明の概要】
【0003】
本出願を通じて実施例は、既存のイベント・ロギング・システムにおける改竄耐性に関する技術的問題に対する技術的なソリューションを提供し、イベント・レコードを含む既存のログ・データを使用する既存のワークフロー及びシステムを企業が維持し易くする。提供される技術的なソリューションは、イベント・ロギング・システムの機能を改善する。
【0004】
本発明は、請求項1において方法を提供し、対応するシステム及びコンピュータ・プログラムは、それぞれ請求項9及び10において請求される。
【0005】
実施例は、以下の図面及び説明を参照してより理解されるであろう。図面のコンポーネントは、スケール通りである必要はない。さらに図面において、類似の参照符号は、図面の全体を通して対応する部分を指定する。
【図面の簡単な説明】
【0006】
図1図1は、本明細書の教示の実施において使用するシステムを示す。
図2図2は、実施形態による改竄耐性のある記録を含むイベント・ログを示す。
図3A図3Aは、実施形態による多数の署名を有する改竄耐性の記録を含むイベント・ログを示す。
図3B図3Bは、もう1つの実施形態による多数の署名を有する改竄耐性のレコードを含むイベント・ログを示す。
図4図4は、例示的実施形態による改竄耐性のレコードを生成するための方法を示す。
図5図5は、実施形態による多数の署名を有する改竄耐性のレコードのイネーブル化することを示す。
図6図6は、実施形態による多数の署名を有する改竄耐性のレコードのディセーブル化することを示す。
【発明を実施するための形態】
【0007】
追加的な特徴及び効果は、技術的ソリューションの技術、実施例、及び本明細書で説明される側面を通じて実現される。
【0008】
イベント・ロギング・システムにより生成されたログ・データを使用する既存のワークフローを維持しながら、改竄耐性の追加的機能により、既存のイベント・ロギング・システムを増強する技術が記載される。本明細書を通じて説明される実施例は、生成されたログ・データを修正することなくログ・データの改竄耐性を容易にする。イベント・レコードのために生成された改竄耐性データは、もう1つのイベント・レコードとして格納され、かつ改竄耐性のデータは、多数の署名を含む。イベント・レコードが改竄されたか否かを監査するために、イベント・レコードは、他の記録と比較することができる。この他の記録は、他の操作の間には迂回させることができる。したがって、既存のイベント・ロギング・システムが既存のワークフローが使用するワークフローを修正するコストを要求すること無しに、規制コンプライアンスのための改竄耐性を提供するように改善することができる。加えて、イベント・ロギング・システムの安全レベルは、改竄耐性の記録において多数の異なる署名を使用することにより、改善することができる。例示的な実施形態においては、イベント・ロギング・システムは、署名データを管理するように構成され、それぞれの署名に伴う追加のメタデータ及びそれぞれの署名内に含まれる異なるペイロードを含む。追加的に、イベント・ロギング・システムは、影響を受けていない署名を使用して署名データを確認する能力を維持しながら、イベント・ログに追加されたデータについて個別的な署名を動的にイネーブル又はディセーブルするように構成することができる。
【0009】
図1は、実施例のシステム100を示す。システム100は、サーバ・コンピュータなどといったコンピュータとすることができる。システム100は、他のコンポーネントの中でも、プロセッサ110、メモリ120、ユーザ・インタフェース150及び通信インタフェース170を含むことができる。
【0010】
プロセッサ110は、システム100にインストールされたオペレーティング・システム、制御命令及びアプリケーションの実行のための責任のある中央プロセッサとすることができる。プロセッサ110は、論理を実行するために操作可能な1つ又はそれ以上のデバイスとすることができる。論理は、プロセッサ110により実行された場合にプロセッサ110をしてロジックにより実装された特徴を実行するため、メモリ120又はその他のメモリ内に実体化されたコンピュータ実行可能な命令又はコンピュータ・コードを含むことができる。コンピュータ・コードは、プロセッサ110で実行可能な命令を含むことができる。コンピュータ・コードは、埋め込まれた論理を含むことができる。コンピュータ・コードは、現在知られ、又は今後発見される、C++、C#、JAVA(登録商標)、Pascal、Visua Basic、Perl、Hyper Text Marup Lunguage(HTML)、Java(登録商標)Script、アセンブラ語、シェル・シュクリプト、又はこれらの如何なる組み合わせといった、如何なるコンピュータ言語においても記述することができる。コンピュータ・コードは、ソース・コード又はコンパイル済みコードを含むことができる。プロセッサ110は、汎用プロセッサ、中央処理ユニット、サーバ、特定用途集積回路(ASIC)、デジタル信号プロセッサ、フィールド・プログラマブル・ゲート・アレイ(FPGA)、デジタル回路、アナログ回路、又はこれらの組み合わせとすることができる。プロセッサ110は、システム100のメモリ120及び他のコンポーネントと通信することができる。1実施例においては、プロセッサ110は、また、ユーザ・インタフェース150及び通信インタフェース170といった追加的な要素と通信することができる。
【0011】
メモリ120は、非過渡的なコンピュータ記録媒体である。メモリ120は、DRAM、SRAM、フラッシュ、又は如何なる他のタイプのメモリ、又はこれらの組み合わせとすることができる。メモリ120は、プロセッサ110により実行可能なオペレーティング・システム122及びアプリケーション125を格納することができる。オペレーティング・システム122及びアプリケーション125は、システム100の製造者、プロバイダ、又はエンド・ユーザによりメモリ120上に格納することができる。メモリ120は、イメージ、ビデオ、ドキュメント、スプレッドシート、オーディオ・ファイル及びシステム100の操作に関連する可能性のある他のデータを含むことができる。例えば、メモリ120は、イベント・レコード・ログ127を格納するために使用することができる。
【0012】
ユーザ・インタフェース150は、ディスプレイ、スピーカ、キーボード、マウス、又はユーザ相互作用を容易にする如何なる他のコンポーネントでも含むことができる。ユーザ・インタフェース150は、代替的に又は追加的にユーザ相互作用を容易にすることができるマイクロホン、又は如何なる他のコンポーネントとすることができる。ユーザ・インタフェース150は、プロセッサ、メモリ、通信インタフェース、集積回路、アンテナ、抵抗、キャパシタ、及び如何なる他のハードウェア・コンポーネントといった回路とすることができる。ユーザ・インタフェース150は、また、ソフトウェアを含む。例えば、ユーザ・インタフェース130は、メモリ上に格納することができる命令又はデータ又はそれら両方を含むことができる。命令又はデータ又はそれらの両方は、ユーザ・インタフェース150の操作を制御することができる。命令は、コンピュータ実行可能である。データは、ユーザ・インタフェース150に関連するパラメータ又は事前設定の状態を含むことができる。
【0013】
イベント・レコード・ログ127は、1つ又はそれ以上のイベント・レコード130a-130xを含む。イベント・レコードは、システム100の操作を記述するデータ記録である。オペレーティング・システム122は、プロセッサ110を使用して操作が開始され、又は完了され、又はそれらの両方に応答して、イベント・レコードを記録する。例えば、イベントは、システム100のスタートアップ・イベント、ファイル生成イベント、ファイル・コピー・イベント、ユーザ・ログイン・イベント、又はオペレーティング・システム122が検出できる如何なる他のイベントとすることができる。オペレーティング・システム122は、事前決定されたタイプのイベントを検出するように構成することができる。例えば、オペレーティング・システム122は、ファイル生成イベント、ファイル・コピー・イベント、ファイル移動イベント、ファイル削除イベント、ファイル修正イベント、又は如何なる他のファイル・イベントといった、“ファイル”・タイプ・イベントを検出するように構成することができる。追加的に又は代替的に、オペレーティング・システム122は、ユーザ・ログイン・イベント、ユーザ・ログアウト・イベント、ユーザ・プロファイル変更イベント、及び他のユーザ・イベントといった“ユーザ”・タイプ・イベントを検出するように構成することができる。他のイベント・タイプも可能であり、上記のものは、まさしく数少ない実施例である。
【0014】
イベント・レコードは、事前決定されたフォーマットを使用して格納される。例えば、イベント・レコードは、ヘッダ及びペイロードを含むことができる。ペイロードは、対応するイベントの記述を含む。例えば、対応するイベントがファイル・イベントの場合、ペイロードは、ファイル識別、ファイル・ロケーション、実行された操作の表示及びイベントを記述する他の情報を含む。例示的な実施形態においては、ヘッダは、ペイロード長、タイムスタンプなど、ペイロードを記述するメタデータを含む。イベント・レコードは、ファイルとすることができる。代替的にイベント・レコードは、ログ・ストリームといったファイル又はストリーム内のエントリとすることができる。
【0015】
イベント・レコード・ログ127は、システム100の操作を確認するために使用される。例えば、オペレーティング・システム122は、システム管理機能(System Management Facilities:SMF)を含むことができる。SMFエンタープライズは、イベント・レコード・ログ127を使用して、規制コンプライアンスを表示する。例えば、コンプライアンスのため、システム100は、事前決定されたやり方で操作を実行することができる。SMFは、アプリケーション・プログラミング・インタフェース(API)を介してというように、イベント・ログ127への問合せを容易にして、システム100が操作の事前決定されたやり方を遵守したことを保証する。この点において、SMF又はシステム監査は、事前決定されたイベント・レコードのフォーマットに従って操作する。このため、事前決定されたフォーマットの修正は、システム監査及びSMFをして、現在の操作をできなくする。
【0016】
規制コンプライアンスは、SMFがイベント・レコード・ログ127内のイベント・レコードが改竄されていないことを保証することにおいて重要なものとする。そのような改竄耐性のレコードの追加は、本明細書において説明するように、SMF及びシステム監査の修正を引き起こすので、追加的なコストをもたらす。本明細書にわたって説明する実施例は、この技術的問題に対する技術的ソリューションを提供する。
【0017】
図2は、改竄耐性レコード200を含むイベント・レコード・ログ127の実施例を示す。例えば、プロセッサ110は、イベント・レコード130aを生成することができる。これに応答してオペレーティング・システム122は、追加的に、イベント・レコード130aについて改竄耐性情報を含むメタデータを生成することができる。オペレーティング・システム122は、本明細書において改竄耐性レコード200として参照される別のイベント・レコードとして、改竄耐性情報を記録するか、又はフォーマット化する。オペレーティング・システム122は、続いてイベント・レコード・ログ127に改竄耐性レコード200を記録することができる。したがって、プロセッサは、イベント・レコードに、イベント・レコード130aの改竄耐性情報を含む別のレコードを挿入することができる。改竄耐性レコード200は、イベント・レコードと同一の、事前決定されたフォーマットを使用することができる。
【0018】
例えば、図2に示されるように、改竄耐性レコード200は、ヘッダ210、メタデータ215、及びペイロード220を含む。例示的な実施形態においては、ペイロード220は、対応するイベント・レコード130aについての少なくとも2つのデジタル的な署名を含む。デジタル的な署名は、対応するイベント・レコード130aの信頼性を表す。実施例においては、デジタル的な署名は、非対称暗号化又は如何なる他のタイプの暗号化技術を使用するといったように、暗号化される。例えば、それぞれのデジタル的な署名は、イベント・レコード130aのコンテンツ、秘密鍵、公開鍵、タイムスタンプ、又はイベント・レコード130aに関連するイベントの他の情報に基づくことができる。実施例においては、イベント・レコード130aのコンテンツは、暗号化前にハッシュ・スキームを使用してハッシュ化することができる。イベント・レコード130aを確認するため、オペレーティング・システム122は、ペイロード220内のデジタル的な署名を復号して、抽出されたデータをイベント・レコード130aのコンテンツと比較する。ヘッダ210は、ペイロード220の長さ又はタイムスタンプを含む。メタデータ215は、ペイロード220が典型的なイベント・レコードの場合のようなイベントの記述ではなく、改竄耐性情報を含むことを示す識別子を含む。追加的に、メタデータ215は、デジタル的な署名が用いた暗号化タイプといったペイロード220を生成する際に使用されたデジタル的な署名に関する情報を含む。
【0019】
実施例においては、オペレーティング・システム122は、イベント・レコード130aといった単一のイベント・レコードに改竄耐性レコード200を関連付けることができる。例えば、ヘッダ210は、イベント・レコード130aの空間的参照を含むことができる。空間的参照は、イベント・レコード130aのメモリ・ロケーションとすることができる。代替的に、又は追加的に、空間的参照は、改竄耐性レコード200と、対応するイベント・レコード130aとの間の空間的関係とすることができる。例えば、空間的関係は、複数のレコードのメモリ・ロケーションに基づいて事前決定することができる。このような場合において、第1のイベント・レコードの空間的参照は、事前決定された関係に基づいて暗黙的に識別され、第2のイベント・レコードのメモリ・ロケーションは、このために改竄耐性レコードにおける空間的参照を明示的に保存することを避けることはない。
【0020】
したがって、空間的参照は、明示的に格納されるか、又は暗黙的にするかの何れかである。これが明示的である場合、第1のイベント・レコード130aのロケーションは、改竄耐性レコード200内に格納される。ロケーションは、メモリ又はファイル内の第1のイベント・レコードのロケーションとすることができる。空間的参照が暗黙的である場合、これはメモリ又はファイル内のデータに関連する。システム100は、第1のイベント・レコード130aと、改竄耐性レコード200との間の事前決定された空間的関係を使用することができる。例えば、事前決定された空間的関係にしたがって、第1のイベント・レコード130aは、その間に他のレコードを有することなく改竄耐性レコード200に先行することができる。代替的に、事前決定された空間的関係は、第1のイベント・レコード130aと、改竄耐性レコード200との間において第1のイベント・レコード130aと同一のタイプの他のイベント・レコードを許容する。実施例においては、他のイベント・レコードは、改竄耐性レコード200のペイロード220である改竄耐性データに含まれていない。
【0021】
実施例においては、オペレーティング・システム122は、改竄耐性レコード200を、イベント・レコード130a~130xというように、イベント・レコード・ログ127内の1つ以上のイベント・レコードと関連付けることができる。このため、ヘッダ210は、改竄耐性レコード200に関連するそれぞれのイベント・レコードの空間的参照を含むことができる。追加的に、ヘッダ210又はメタデータ215は、改竄耐性レコード200が関連づけられた多数のイベント・レコード及びペイロード220内に含まれるそれぞれのデジタル的な署名の各々の長さを含むことができる。実施例においては、オペレーティング・システム122は、改竄耐性レコード200をイベント・ログ127内の事前決定された数の連続するイベント・レコードに関連付けることができる。例えば、改竄耐性レコード200は、イベント・ログ127内の5つの連続するレコード、又は10の連続するイベント・レコード、又は事前決定された如何なる他の数のイベント・レコードにでも関連付けることができる。代替的に、又は追加的に、改竄耐性レコード200に関連付けられるイベント・レコードの数は、改竄耐性レコード200が関連付けられる事前決定されたメモリ領域内に格納されるイベント・レコードの数に基づいて、動的に決定することができる。ヘッダ210内の空間参照は、改竄耐性レコード200に関連づけられる事前決定されたメモリ領域を識別することができる。
【0022】
他の実施例では、オペレーティング・システム122は、改竄耐性レコード200を、ファイル・タイプ・イベント、ユーザ・タイプ・イベント、又は如何なる他のイベント・タイプといった、選択されたタイプのイベントに関連付けることができる。例えば、改竄耐性レコード200が、ファイル・タイプ・イベントに関連付けられることを想定すると、オペレーティング・システム122は、オペレーティング・システム122は、イベント・レコード130aを改竄耐性レコード200に関連付けることができる。改竄耐性レコード200のヘッダ210は、そのような場合、改竄耐性レコード200に関連付けられたイベント・レコードのタイプの識別子を含むことができる。上記の実施例においては、ヘッダ210は、ファイル・タイプ・イベントの識別子を含むことができる。オペレーティング・システム122は、それぞれのファイル・タイプ・イベントのレコードを、改竄耐性レコード200に関連付けることができる。
【0023】
さらにもう1つの実施例においては、オペレーティング・システム122は、改竄耐性レコード200を、同一タイプの連続するイベント・レコードのセットに関連付けることができる。連続的なイベント・レコードのセット内のイベント・レコードのメモリ・ロケーションは、改竄耐性レコード200に先行することができ、また逆も可能である。例えば、同一タイプの1つ又はそれ以上の連続するイベントが検出されることに応答して、オペレーティング・システム122は、改竄耐性レコード200を生成すると共に対応するイベントについて生成されたイベント・レコードに関連付ける。例えば、オペレーティング・システム122は、同一タイプの第1のイベント・レコード130a及び第2のイベント・レコード130bを生成することができる。この場合、オペレーティング・システム122は、第1のイベント・レコード130a及び第2のイベント・レコード130bに関連する改竄耐性レコード200を生成することができる。他の実施形態では、改竄耐性レコード200は、同一タイプの2つ以上のイベント・レコードに関連付けることができる。
【0024】
例示的な実施形態においては、改竄耐性レコード内のデジタル的な署名は、イベント・レコード・データのみをカバーするように、又は改竄耐性レコード内のメタデータ又はヘッダといったデータをカバーするように構成することができる。本明細書において使用するように、用語、カバーは、デジタル的な署名を生成するために使用されるデータを意味する。言い換えれば、署名を生成するために使用されるデータが、カバーされ、かつ署名生成処理に使用されないデータは、カバーされず、又は未カバーである。改竄耐性レコード内に格納される第2のデジタル的な署名を生成する場合、データについて、両方の署名又は1つの署名だけでカバーされるデータについて考慮されなければならない。
【0025】
図3Aに示す実施形態のような1つの実施形態においては、改竄耐性レコード内のデジタル的な署名は、イベント・レコード・データをカバーするのみであり(すなわち、署名によって改竄耐性情報はカバーされない。)、2つのデジタル的な署名によりデータをカバーすることと、署名が独立して生成されることとの間には、矛盾はない。そのような実施形態においては、イベント・レコード1~xが改竄耐性レコード310内の両方の署名を生成するために使用され、改竄耐性レコード330については、同様にレコードx+2~x+yである。
【0026】
図3Bに示した実施形態といった他の実施形態においては、改竄耐性レコード内のデジタル的な署名は、現在の改竄耐性レコード内のデータをカバーし、問題はさらに複雑である。署名の部分としてカバーされる必要があるメタデータは、改竄耐性レコード310として示されるように、しばしば存在する(例えば、署名を生成するために使用される暗号化方法)。
【0027】
例示的な実施形態においては、連続する改竄耐性レコードは、しばしばそれらのデジタル的な署名内に以前の改竄耐性レコードからの情報を含むので、デジタル的な署名は、レコードが追加又は削除されないことを保証するため、互いにチェインとされる(改竄耐性レコード330というように)。以前の改竄耐性レコード330から使用されたデータ片の例は、図3Bに示されるように新たな署名として含まれる。これらの実施形態においては、レコードの確認の間、第1の署名を確認することは、それが第2の署名により要求される情報をカバーしないので、イベント・ログについて改竄がなされていないことを保証することはできない。署名は、個別的に確認することはできるが、改竄が発生していないことを確認するためには、イベント・ログに関連する全部の署名を確認することが必要である。
【0028】
ここで、図3Aを参照すると、実施形態により多数の署名を有する改竄耐性レコードを含むイベント・レコード・ログ300が示される。図示されるように、イベント・ログ300は、複数のイベント・レコード302、第1の改竄耐性(T-R)レコード310、及び第2の改竄耐性(T-R)レコード330を含む。図示されるように、第1のT-Rレコード310は、ヘッダ312、メタデータ314、第1の署名316、メタデータ318及び第2の署名320を含む。ヘッダ312は、T-Rレコード310についてのタイムスタンプを含む。メタデータ314は、使用した暗号化のタイプ及びイベント・レコード302について使用された空間情報といった、第1の署名316を生成するために使用した情報を含む。第1の署名316は、デジタル的な署名が、イベント・レコード302のために生成されたことを含む。同様に、メタデータ318は、使用された暗号化のタイプ、イベント・レコード302のために使用された空間情報などといった、第2の署名320を生成するために使用した情報を含む。第2の署名320は、デジタル的な署名がイベント・レコード302のために生成されたことを含む。例示的な実施形態では、第1の署名316及び第2の署名320を生成するために使用された暗号化タイプは異なる。
【0029】
第2のT-Rレコード330は、ヘッダ332,メタデータ334、第1の署名336、メタデータ338、及び第2の署名340を含む。ヘッダ332は、T-Rレコード330のためのタイムスタンプを含む。メタデータ334は、第1の署名336を生成するために使用された、用いられた暗号化のタイプ、イベント・レコード302について使用された空間情報などといった情報を含む。第1の署名316は、デジタル的な署名がイベント・レコード302のために生成されたことを含む。同様に、メタデータ338は、第2の署名340を生成するために使用された、用いられた暗号化のタイプ、イベント・レコード302について使用された空間情報などといった情報を含む。第2の署名340は、デジタル的な署名がイベント・レコード302のために生成されたことを含む。例示的な実施形態においては、第1の署名316及第3の署名336を生成するために使用した暗号化のタイプは、同一であり、かつ第2の署名320及び第4の署名340を生成するために使用された暗号化のタイプは、同一である。
【0030】
ここで、図3Bを参照すると、実施形態により多数の署名を有する改竄耐性レコードを含むイベント・レコード・ログ300が示される。図3Aに示されたイベント・ログ300と同様に、イベント・ログ300は、複数のイベント・レコード302,第1の改竄耐性(T-R)レコード310、及び第2の改竄耐性(T-R)レコード330を含む。図3Aに示した実施形態とは対照的に、第1のT-Rレコード310及び第2のT-Rレコード330内の署名316,320,336,及び340は、イベント・レコード302以外のデータをカバーする。例えば、図示するように、署名316は、イベント・レコード1~xのデータ、ヘッダ312、及びメタデータ314をカバーする。同様に、署名320は、イベント・レコード1~xのデータ、ヘッダ312,メタデータ314、署名316及びメタデータ318をカバーする。当業者により理解されるであろう様に、どのデータ・フィールドがそれぞれの署名によりカバーされるかについては、種々の組み合わせが使用できる。
【0031】
図4は、例示的な実施形態による改竄耐性レコードを生成するための方法を示す。プロセッサが、本方法を実装する。本方法は、ブロック405に示されるように、プロセッサにより、イベントに応答してイベント・レコードを生成することを含む。プロセッサは、イベントの発生を検出する。例えば、プロセッサは、事前決定されたイベント・タイプの発生を検出するように構成することができる。事前決定されたタイプのイベントの発生に応答して、プロセッサは、イベント・レコードを生成する。ブロック410に示されるように、プロセッサは、改竄耐性レコードを、イベント・レコードの生成に応答して生成する。次いで、ブロック415に示されるように、プロセッサは、第1の署名及び第2の署名を改竄耐性レコードに追加する。例示的な実施形態では、第1の署名及び第2の署名は、イベント・レコードに少なくとも部分的に基づいて生成され、第1の証明及び第2の署名は、異なる暗号化関数を使用して生成される。
【0032】
例示的な実施形態においては、改竄耐性レコードは、また、イベント・レコードの空間参照を含み、空間参照は、第1のイベント・レコードのメモリ・ロケーションを識別する。これらの実施形態においては、第1の署名は、イベント・レコード及びイベント・レコードの空間参照に少なくとも部分的に基づいて生成される。例示的な実施形態においては、第2の署名は、イベント・レコード、第1の署名及びイベント・レコードの空間参照に基づいて生成される。一度プロセッサが改竄耐性レコードに署名を追加すると、改竄耐性レコードは、ブロック420に示されるように、イベント・レコード・ログ内に格納される。第1のイベント・レコードの改竄の検出の要求に応答して、プロセッサは、ブロック425に示されるように、第1の改竄耐性レコード内の第1の署名及び第2の署名に基づいて第1のイベント・レコードを確認する。
【0033】
例示的な実施形態においては、第1の改竄耐性レコードは、第1の署名及び第2の署名を生成することにおいて使用された暗号化関数のタイプの指定を含む。プロセッサはさらに、コンピュータにより実行され、第1の改竄耐性レコードの生成の後に発生する第2のイベントに応答して、第2のイベント・レコードを生成するように構成される。プロセッサは、その後、生成された第2のイベント・レコードに応答して第2の改竄耐性レコードを生成する。第2の改竄耐性レコードは、第2のイベント・レコードに少なくとも部分的に基づいて生成される第3の署名及び第2のイベント・レコードに少なくとも部分的に基づいて生成される第4の署名を含み、ここで、第1の署名及び第3の署名は、同一の暗号化関数を使用して生成され、第2の署名及び第4の署名は、同一の暗号化関数を使用して生成される。例示的な実施形態では、第3の署名は、第2のイベント・レコード及び第1の改竄耐性レコードに少なくとも部分的に基づいて生成される。第4の署名は、第2のイベント・レコード、第3の署名、及び第1の改竄耐性レコードの少なくとも部分に、少なくとも部分的に基づいて生成される。
【0034】
例示的な実施形態においては、イベント・ロギング・システムは、第2又は第3のデジタル的な署名の使用が選択的にイネーブル又はディセーブル、すなわち、オン及びオフすることができるように構成される。例示的な実施形態においては、イネーブル化及びディセーブル化は、改竄耐性レコードが記述されるまで、イネーブル化又はディセーブル化の何れかかが遅延されるか、若しくは、イネーブル化又はディセーブル化の要求を受領するやいなや、改竄耐性レコードを直ちに生成することによって、改竄耐性レコードの境界上で発生する。
【0035】
図5は、本実施形態による多数の署名を有する改竄耐性レコードのイネーブル化を示す。例示的な実施形態においては、追加の署名を使用することをイネーブルするための要求は、ヘッダ512、メタデータ514、及び署名516を含む改竄耐性レコード510が生成された後に受領される。第2の署名の追加を示す識別子が、改竄耐性レコード520の署名の変更が発生することを示すメタデータ・フィールド524に記述される。メタデータ524は、識別子を含み、署名526及び任意的に署名530によってカバーされる。それぞれのデジタル的な署名のメタデータ524,528は、改竄耐性レコード520に格納され、第1の署名から開始して改竄耐性レコード520が構築されるまで、それぞれの署名526,530が生成される。イネーブル化の場合、第2の署名は、以前の改竄耐性レコード(すなわち以前のレコードをチェインしない)をカバーしないか、又は以前のレコードのいくつかの部分をカバーする(例えば、全レコード又は第1の署名のカバーと同一のカバー)かの何れかとすることができる。以前のレコードのいくつかの部分をカバーする場合、第1の署名がすでに以前のレコードをカバーしているので、追加の署名で以前のレコードをカバーしなくても十分である。
【0036】
図6は、本実施形態による多数の署名を有する改竄耐性レコードのディセーブル化を示す。例示的な実施形態では、追加の署名の使用をディセーブルするための要求は、ヘッダ、612、メタデータ614、署名616、メタデータ618及び署名620を含む改竄耐性レコード610が生成された後に受領される。第2の署名を削除することを示し、改竄耐性レコード630が単一の署名636を有することを示す識別子が、改竄耐性レコード630の署名の変更が発生することを示す、メタデータ・フィールド634に記入される。例示的な実施形態では、連続する改竄耐性レコードのレコードをチェインすることは、署名オプションがイネーブル、ディセーブル、又は交代された場合、現在の改竄耐性レコードを含んでいるか、又は含まないかの何れかによるものとすることができる。
【0037】
改竄耐性レコードの確認は、また、署名変化の識別子がセットされていない限り、それぞれの署名についてのメタデータが矛盾しないか(すなわち、以前のレコード及び現在のレコードが、同一のメタデータを有する)を確認するべきである。イネーブル化に応答して、レコード生成の間と同一のカバーを用いるデジタル的な署名が使用される(すなわち、以前のレコードが第2の署名を使用してカバーされていない場合、確認は、ランニング時にハッシュを計算するものと仮定する)。これは、確認の間に行われる如何なる他のテストに対しても追加される(時間計算、レコードのカウントなど)。
【0038】
例示的な実施形態においては、プロセッサ110は、イベント・レコードが改竄耐性レコードであるか、又は典型的なイベント・レコードであるかを、イベント・レコードのヘッダ210を使用して識別することができる。プロセッサ110は、プロセッサ110がイベント・レコード・ログ127の規制コンプライアンス監査を実行していない限り、改竄耐性レコード200を迂回するか又は無視する。監査の間、プロセッサ110は、分析されるべきそれぞれのイベント・レコードの各々について改竄耐性レコード200を識別する。プロセッサ110は、イベント・レコードのコンテンツと、改竄耐性レコード200のペイロード内のデジタル的な署名とを比較することにより、イベント・レコードのコンテンツが修正、又は改竄されているか否かを決定する。イベント・レコードのコンテンツが比較に基づいて承認できない場合、プロセッサ110は、監査レポート内で、又はエラーを表示する、監査ノート、又は如何なる他のユーザ通知といった如何なる他の仕方によって、イベント・レコードにフラグを付する。代替的に、比較がイベント・レコードの改竄フリーとの確認を承認する場合、プロセッサ110は、次のイベント・レコードを分析し続け、監査報告を完成させる。
【0039】
本明細書を通して説明された実施例において、プロセッサ110は、改竄耐性レコード200を、対応するイベント・レコードにイベント・レコードを修正することなく関連付ける。イベント・レコードは、事前決定されたイベント・レコードのフォーマットを使用し続けることができるので、イベント・レコード・ログを読み出し、かつ分析するための如何なる既存のインフラ基盤又はアプリケーソン又はそれらの両方は、如何なる変更もなく操作を続けることができる。したがって、規制コンプライアンスのための改竄耐性は、効率的なやり方で、既存プロセスを修正するためのコストを招くことなく、既存のインフラ基盤に追加することができる。
【0040】
したがって、本出願を通じて説明された実施例により解決される問題は、既存のログ・データを使用する既存のワークフロー及びソフトウェアを維持しながら既存のイベント・ロギング・システムに改竄耐性を挿入する能力である。実施例は、デジタル的な署名を、既存のログAPIsを使用して提供されるデータを修正することなく追加的なログ・データとしてログ・データ内に導入することを容易にする。したがって、改竄耐性のメタデータは、他のログされたイベント・レコードと同一のフォーマットにおける改竄耐性のメタデータの提供により直接既存のレコード・ログに一体化することができる。これは、ログされたイベント・レコードを移行させる場合の移行性に加え、既存のツールとの互換性のある使用の容易性を提供する。改竄耐性の情報は、ログされたイベント・レコードと共に透過的に移行される。本出願を通して説明された技術的ソリューションを使用することにより、ロギング・プラットホームは、元のプラットホームのコア機能に影響を与えることなく、改竄耐性を含むことができる。
【0041】
本明細書において使用する用語は、特定の実施形態を記述する目的のためのものであり、本開示を限定することを意図するものではない。本明細書で使用するように、単数形、“a”、“an”及び“the”は、文脈が明らかにそれ以外を示さない限り、同様に複数形態を含むことを意図する。さらに、用語、含む“comprise”、含んでいる“comprising”、又はこれらの両方が本明細書において使用される場合、宣言された特徴、整数、ステップ、操作、要素、又はコンポーネント又はこれらの組み合わせの存在を特定するが、1つ又はそれ以上の他の特徴、整数、ステップ、操作、要素、コンポーネント又はグループ又はそれらの組み合わせの存在又は追加を除外するものでないことについて理解されるべきである。
【0042】
以下の請求項内の対応する構造、材料、活動、及びすべての手段又はステップ・プラス・ファンクションの均等物は、特に請求項のように、請求項の他の要素との組み合わせにおける機能をもたらすための如何なる構造、材料、又は活動を含むことを意図する。本明細書の実施例は、例示及び設営の目的で提示され、かつ開示された形態のものに尽きる又は限定されることを意図しない。多くの修正及び変形は、本明細書の範囲及び精神から逸脱すること無しに、当業者において明らかであろう。
【0043】
技術的ソリューションは、システム、方法、又はコンピュータ・プログラム製品又はこれらの組み合わせとすることができる。コンピュータ・プログラム製品は、プロセッサに対して本発明の特徴を遂行させるためのコンピュータ可読なプログラム命令をそれ上に有する記録媒体(又は複数の媒体)を含むことができる。
【0044】
コンピュータ可読な記録媒体は、命令実行デバイスが使用するための複数の命令を保持し格納することができる有形のデバイスとすることができる、コンピュータ可読な媒体は、例えば、これらに限定されないが、電気的記録デバイス、磁気的記録デバイス、光学的記録デバイス、電気磁気的記録デバイス、半導体記録デバイス又はこれらのいかなる好ましい組み合わせとすることができる。コンピュータ可読な記録媒体のより具体的な実施例は、次のポータブル・コンピュータ・ディスク、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能なプログラマブル・リード・オンリー・メモリ(EPROM又はフラッシュ・メモリ(登録商標))、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・イオンリー・メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリ・スティック、フロッピー・ディスク(登録商標)、パンチ・カード又は命令を記録した溝内に突出する構造を有する機械的にエンコードされたデバイス、及びこれらの好ましい如何なる組合せを含む。本明細書で使用するように、コンピュータ可読な記録媒体は、ラジオ波又は他の自由に伝搬する電磁波、導波路又は他の通信媒体(例えば、光ファイバ・ケーブルを通過する光パルス)といった電磁波、又はワイヤを通して通信される電気信号といったそれ自体が一時的な信号として解釈されることはない。
【0045】
本明細書において説明されるコンピュータ・プログラムは、コンピュータ可読な記録媒体からそれぞれのコンピューティング/プロセッシング・デバイスにダウンロードでき、又は例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク又はワイヤレス・ネットワーク及びそれからの組み合わせといったネットワークを介して外部コンピュータ又は外部記録デバイスにダウンロードすることができる。ネットワークは、銅通信ケーブル、光通信ファイバ、ワイヤレス通信ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ及びエッジ・サーバ又はこれらの組み合わせを含むことができる。それぞれのコンピューティング/プロセッシング・デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読なプログラム命令を受領し、このコンピュータ可読なプログラム命令を格納するためにそれぞれのコンピューティング/プロセッシング・デバイス内のコンピュータ可読な記録媒体内に転送する。
【0046】
本発明の操作を遂行するためのコンピュータ可読なプログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、マシン依存命令、マイクロ・コード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は1つ又はそれ以上の、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、“C”プログラミング言語又は類似のプログラム言語といった手続き型プログラミング言語を含むプログラミング言語のいかなる組合せにおいて記述されたソース・コード又はオブジェクト・コードのいずれかとすることができる。コンピュータ可読なプログラム命令は、全体がユーザ・コンピュータ上で、部分的にユーザ・コンピュータ上でスタンドアローン・ソフトウェア・パッケージとして、部分的にユーザ・コンピュータ上で、かつ部分的にリモート・コンピュータ上で、又は全体がリモート・コンピュータ又はサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)を含むいかなるタイプのネットワークを通してユーザ・コンピュータに接続することができ、又は接続は、外部コンピュータ(例えばインターネット・サービス・プロバイダを通じて)へと行うことができる。いくつかの実施形態では、例えばプログラマブル論理回路、フィールド・プログラマブル・ゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電気回路がコンピュータ可読なプログラム命令を、コンピュータ可読なプログラム命令の状態情報を使用して、本発明の特徴を実行するために電気回路をパーソナライズして実行することができる。
【0047】
本出願の祖鬼面を、本発明の実施形態にしたがい、フローチャート命令及び方法のブロック図、又はそれらの両方、装置(システム)、及びコンピュータ可読な記録媒体及びコンピュータ・プログラムを参照して説明した。フローチャートの図示及びブロック図又はそれら両方及びフローチャートの図示におけるブロック及びブロック図、又はそれらの両方のいかなる組合せでもコンピュータ可読なプログラム命令により実装することができることを理解されたい。
【0048】
これらのコンピュータ可読なプログラム命令は、汎用目的のコンピュータ、特定目的のコンピュータ、または他のプロセッサ又は機械を生成するための他のプログラマブル・データ・プロセッシング装置に提供することができ、コンピュータのプロセッサ又は他のプログラマブル・データ・プロセッシング装置による実行がフローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装するための手段を生成する。コンピュータ、プログラマブル・データ・プロセッシング装置及び他の装置又はこれらの組み合わせが特定の仕方で機能するように指令するこれらのコンピュータ可読なプログラム命令は、またコンピュータ可読な記録媒体に格納することができ、その内に命令を格納したコンピュータ可読な記録媒体は、フローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作の特徴を実装する命令を含む製造品を構成する。
【0049】
コンピュータ可読なプログラム命令は、またコンピュータ、他のプログラマブル・データ・プロセッシング装置、又は他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、又は他のデバイス上で操作ステップのシリーズに対してコンピュータ実装プロセスを生じさせることで、コンピュータ、他のプログラマブル装置又は他のデバイス上でフローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装させる。
【0050】
図のフローチャート及びブロック図は、本発明の種々の実施形態にしたがったシステム、方法及びコンピュータ・プログラム製品のアーキテクチャ、機能、及び可能な実装操作を示す。この観点において、フローチャート又はブロック図は、モジュール、セグメント又は命令の部分を表すことかでき、これらは、特定の論理的機能(又は複数の機能)を実装するための1つ又はそれ以上の実行可能な命令を含む。いくつかの代替的な実装においては、ブロックにおいて記述された機能は、図示した以外で実行することができる。例えば、連続して示された2つのブロックは、含まれる機能に応じて、実際上1つのステップとして遂行され、同時的、実質的に同時的に、部分的又は完全に一時的に重ね合わされた仕方で実行することができ、又は複数のブロックは、時として逆の順番で実行することができる。またブロック図及びフローチャートの図示、又はこれらの両方及びブロック図中のブロック及びフローチャートの図示又はこれらの組み合わせは、特定の機能又は動作を実行するか又は特定の目的のハードウェア及びコンピュータ命令を遂行する特定目的のハードウェアに基づいたシステムにより実装することができることを指摘する。
図1
図2
図3A
図3B
図4
図5
図6
【手続補正書】
【提出日】2022-04-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ログに対して改竄耐性を追加することにより1つ又はそれ以上のイベントのログを安全にするためのコンピュータ実装方法であって、前記方法は、
プロセッサにより、前記コンピュータにより実行されたイベントに応答して第1のイベント・レコードを生成することと
前記プロセッサにより、生成された前記第1のイベント・レコードに応答して第1の改竄耐性レコードを生成することであって、前記第1の改竄耐性レコードが、
前記第1のイベント・レコードに少なくとも部分的に基づいて生成される第1の署名と、
前記第1のイベント・レコードに少なくとも部分的に基づいて生成される第2の署名と
を含み、
前記第1のイベント・レコードの改竄を検出するための要求に応じて、前記第1の改竄耐性レコード内の前記第1の署名及び前記第2の署名に基づいて前記第1のイベント・レコードを確認することと
を含む、コンピュータ実装方法。
【請求項2】
前記第1の改竄耐性レコードは、さらに、前記第1の署名及び前記第2の署名の生成において使用された暗号化関数のタイプの識別子を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記第1の改竄耐性レコードは、さらに、前記第1のイベント・レコードの空間的参照を含み、前記空間的参照が前記第1のイベント・レコードを識別する、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記第2の署名は、前記第1のイベント・レコード、前記第1のイベント・レコードの前記空間的参照及び前記第1の署名に少なくとも部分的に基づいて生成される、請求項3に記載のコンピュータ実装方法。
【請求項5】
さらに、
前記プロセッサにより、前記コンピュータによって実行され、前記第1の改竄耐性レコードが生成された後に発生する第2のイベントに応答して第2のイベント・レコードを生成することと、
前記プロセッサにより、生成された前記第2のイベント・レコードに応答して第2の改竄耐性レコードを生成することと
を含み、前記第2の改竄耐性レコードが、
前記第2のイベント・レコードに少なくとも部分的に基づいて生成される第3の署名と、
前記第2のイベント・レコードに少なくとも部分的に基づいて生成される第4の署名であって、前記第1の署名及び前記第3の署名は、同一の暗号化関数を使用して生成され、前記第2の署名と前記第4の署名が同一の暗号化関数を使用して生成され、かつ
前記第2のイベント・レコードの改竄を検出するための要求に応答して、前記第2の改竄耐性レコード内の前記第3の署名及び前記第4の署名に基づいて前記第2のイベント・レコードを確認する、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第3の署名は、前記第2のイベント・レコード及び前記第1の改竄耐性レコードの少なくとも部分に少なくとも基づいて生成される、請求項5に記載の方法。
【請求項7】
前記第4の署名は、前記第2のイベント・レコード、前記第3の署名及び前記第1の改竄耐性レコードの少なくとも部分に少なくとも基づいて生成される、請求項5に記載のコンピュータ実装方法。
【請求項8】
前記第1の署名及び前記第2の署名は、異なる暗号化関数を使用して生成される、請求項1に記載のコンピュータ実装方法。
【請求項9】
ログに対して改竄耐性を追加することにより1つ又はそれ以上のイベントのログを安全化するためのコンピュータ・システムであって、前記コンピュータ・システムのプロセッサが、
前記コンピュータにより実行されたイベントに応答して第1のイベント・レコードを生成すること、
生成された前記第1のイベント・レコードに応答して、
前記第1のイベント・レコードに少なくとも部分的に基づいて生成される第1の署名と、前記第1のイベント・レコードに少なくとも部分的に基づいて生成される第2の署名と
を含む第1の改竄耐性レコードを生成すること、
前記第1のイベント・レコードの改竄を検出するための要求に応じて、前記第1の改竄耐性レコード内の前記第1の署名及び前記第2の署名に基づいて前記第1のイベント・レコードを確認すること

を実行する、コンピュータ・システム
【請求項10】
前記第1の改竄耐性レコードは、さらに、前記第1の署名及び前記第2の署名の生成において使用された暗号化関数のタイプの識別子を含む、請求項9に記載のシステム。
【請求項11】
前記第1の改竄耐性レコードは、さらに、前記第1のイベント・レコードの空間的参照を含み、前記空間的参照が前記第1のイベント・レコードを識別する、請求項9に記載のシステム。
【請求項12】
前記第2の署名は、前記第1のイベント・レコード、前記第1のイベント・レコードの前記空間的参照及び前記第1の署名に少なくとも部分的に基づいて生成される、請求項11に記載のコンピュータ実装方法。
【請求項13】
さらに、
前記第1の改竄耐性レコードが生成された後に発生する第2のイベントに応答して第2のイベント・レコードを生成することと、
前記プロセッサにより、生成された前記第2のイベント・レコードに応答して第2の改竄耐性レコードを生成することと
を含み、前記第2の改竄耐性レコードが、
前記第2のイベント・レコードに少なくとも部分的に基づいて生成される第3の署名と、
前記第2のイベント・レコードに少なくとも部分的に基づいて生成される第4の署名であって、前記第1の署名及び前記第3の署名は、同一の暗号化関数を使用して生成され、前記第2の署名と前記第4の署名が同一の暗号化関数を使用して生成され、かつ
前記第2のイベント・レコードの改竄を検出するための要求に応答して、前記第2の改竄耐性レコード内の前記第3の署名及び前記第4の署名に基づいて前記第2のイベント・レコードを確認する、請求項9に記載のシステム。
【請求項14】
前記第3の署名は、前記第2のイベント・レコード及び前記第1の改竄耐性レコードの少なくとも部分に少なくとも基づいて生成される、請求項13に記載のシステム。
【請求項15】
前記第4の署名は、前記第2のイベント・レコード、前記第3の署名及び前記第1の改竄耐性レコードの少なくとも部分に少なくとも基づいて生成される、請求項13に記載のシステム。
【請求項16】
前記第1の署名及び前記第2の署名は、異なる暗号化関数を使用して生成される、請求項9に記載のシステム。
【請求項17】
請求項1~8の何れか1項に記載のコンピュータ実装方法をコンピュータが実行するための、コンピュータ・プログラム。
【国際調査報告】