JP2023535633A - 受信したセンサデータの追跡された部分をコンピュータ暗号処理を使用して検証すること - Google Patents

受信したセンサデータの追跡された部分をコンピュータ暗号処理を使用して検証すること Download PDF

Info

Publication number
JP2023535633A
JP2023535633A JP2023506108A JP2023506108A JP2023535633A JP 2023535633 A JP2023535633 A JP 2023535633A JP 2023506108 A JP2023506108 A JP 2023506108A JP 2023506108 A JP2023506108 A JP 2023506108A JP 2023535633 A JP2023535633 A JP 2023535633A
Authority
JP
Japan
Prior art keywords
file
computer
data
tracked
master file
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
Application number
JP2023506108A
Other languages
English (en)
Inventor
チャクラ、アル
チャクラ、ラマ
フレイ、ブライス
フリーマン、ラトレル、ディー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023535633A publication Critical patent/JP2023535633A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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 challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

コンピュータは、記録されたイベントの態様を表すキャプチャデバイスの出力を特定する。コンピュータは、キャプチャデバイスの出力の追跡された部分を暗号処理し、キャプチャデバイスの出力からのマスターファイルのメディアデータの追跡された部分、前記マスターファイルのメディアデータの追跡された部分のマスターの追跡された部分のメタデータ、およびマスターファイルのブロックチェーンデータを含む検証可能なマスターファイルを生成する。マスターファイルのブロックチェーンデータは、前記マスターファイルのブロックの履歴部分と、マスターファイルの署名キー部分と、マスターファイルのメディアデータの追跡された部分の署名付きハッシュを含む。また、コンピュータは、マスターファイルのメディアデータの追跡された部分を修正して、参照ファイルのメディアデータの追跡された部分、参照ファイルおよび分散可能ファイルを生成する。コンピュータは、これらの各ファイルの真正性を検証する。

Description

本発明は、一般に、メディアキャプチャの分野に関し、より具体的には、もともとキャプチャされたメディアファイルの真正性、キャプチャされたメディアファイルに加えられた変更の性質、およびキャプチャされたメディアに関連するファイルのさまざまなバージョンの真正性の検証に関するものである。
データは、写真カメラ、音声キャプチャ装置、赤外線ビデオキャプチャ装置、レーダー空間情報キャプチャ装置、ソナー空間情報キャプチャ装置、ライダー空間情報キャプチャ装置、レーザー「トリップワイヤー」、化学署名情報キャプチャ装置、X線画像キャプチャ装置、マイクロ波画像キャプチャ装置、気圧読み取り装置、風力計など、様々なキャプチャ装置のセンサから取得することができる。場合によっては、1つまたは複数これらの装置によってキャプチャされた保存データが、その装置によって取り込まれたものを真正に表していることを検証できることが重要である。
本開示の態様は、記録されたメディアファイルの追跡された部分の真正性を確認することに関連する欠点および問題を認識し、対処するものである。本発明の他の態様は、オリジナルメディアファイルの追跡された部分を重要なデータサブセットとして特定し、それらの部分に対して行われた変更の性質を検証することを可能にする。本発明の他の実施形態は、検証可能な記録されたメディアファイルに加えられた変更に基づくと思われるファイルの真実性を評価する。
本発明による実施形態において、コンピュータは、記録されたイベントの態様を表すキャプチャデバイス出力を特定する。コンピュータは、キャプチャデバイスの出力を暗号処理して、キャプチャデバイスの出力からのマスターファイルのメディアデータの追跡された部分、マスターメディアデータのマスターの追跡された部分のメタデータ、およびマスターファイルのブロックチェーンデータを含む検証可能なマスターファイルを生成する。マスターファイルのブロックチェーンデータは、マスターファイルのブロックの履歴部分、マスターファイルの署名キー部分、およびマスターファイルの追跡された部分の署名データハッシュを含む。暗号処理は、コンピュータがメディアデータを前記追跡された部分に対応する少なくとも1つのデータサブセットに分割することと、コンピュータがデータサブセットのハッシュを生成することと、コンピュータがハッシュおよびデータサブセットのメタデータを生成することと、コンピュータがハッシュのメタデータを追跡されたデータパケットに結合することと、コンピュータが追跡されたデータパケットに暗号的に署名をすることとを含む。本発明の他の態様では、コンピュータはまた、参照ファイルのメディアデータの追跡された部分、参照ファイルのメタデータ、および参照ファイルのブロックチェーンデータを含む参照ファイルを準備することによって、参照ファイルのメディアデータの追跡された部分を生成するために、マスターファイルのメディアデータの追跡された部分を修正する。参照ファイルのブロックチェーンデータは、マスターファイルのブロックチェーンデータと、マスターファイルのブロックチェーンデータのハッシュ、参照ファイルのブロックチェーンメタデータ、および参照ファイルの追跡された部分の署名付きデータのハッシュを含むブロックチェーンインクリメント情報とを含む。本発明の他の態様では、参照ファイルは、マスターファイルのメディアデータの追跡された部分を、参照ファイルの修正されたメディアに変更するためにコンピュータによって行われた複製可能な変更を示す命令をさらに含む。本発明の他の態様では、コンピュータは、前記検証可能なマスターファイルのコピーとして特定されるチャレンジドマスターファイルを受信する。コンピュータはまた、前記チャレンジドマスターファイルを検証する要求を受け取り、マスターファイルの検証ルーチンを実行して、チャレンジドマスターファイルの有効性を評価する。マスターファイルの検証ルーチンにおいて、コンピュータは、チャレンジドマスターファイルのメディアデータの追跡された部分をハッシュ化し、ハッシュ化されたチャレンジドマスターファイルのメディアデータの追跡された部分を生成する。コンピュータは、チャレンジドマスターファイルの署名付きメディアデータハッシュ部分の署名を削除して、署名なしチャレンジドマスターファイルのメディアデータの追跡された部分を生成し、前記ハッシュされたチャレンジドマスターファイルのメディアデータの追跡された部分と署名なしチャレンジドマスターファイルのメディアデータの追跡された部分が一致するかどうかを判断する。本発明の他の態様では、コンピュータは、マスターファイルの修正版として特定される参照ファイルを受信する。コンピュータはまた、参照ファイルがマスターファイルの修正版であるかどうかを判断する要求を受信し、参照ファイルの検証ルーチンを実行する。参照ファイルの検証ルーチンにおいて、コンピュータは、マスターファイルのブロックチェーンデータのハッシュと、参照ファイルのブロックチェーンデータのハッシュとが一致するかどうかを判断する。一致する場合、コンピュータは、ブロックチェーンインクリメント情報によって示される変更を参照ファイルのメディアデータの追跡された部分に適用し、ハッシュ化された参照ファイルのメディアデータの追跡された部分を生成する。また、コンピュータは、参照ファイルのブロックチェーンデータの署名を削除して、署名なしハッシュの参照ファイルのブロックチェーンデータを生成する。コンピュータは、ハッシュ化された参照ファイルのメディアデータの追跡された部分と、前記署名なし参照ファイルのブロックチェーンデータとが一致するかどうかを判断する。本発明の他の態様では、コンピュータは、前記マスターファイルの真正な修正として特定された参照ファイルと、分散可能ファイルと、前記分散可能ファイルが前記マスターの真正な修正として特定された前記参照ファイルの真正な修正であるかどうかを判断する要求を受信する。次に、コンピュータは、分散可能ファイルの検証ルーチンを実行し、ここにおいてコンピュータは、分散可能ファイルのブロックチェーンデータのハッシュが、参照ファイルのブロックチェーンデータのハッシュと一致するかどうかを判断する。分散可能ファイルの検証ルーチンにおいて、コンピュータは、分散可能のメディアデータの追跡された部分のハッシュが、代表メディアブロックの対応する署名なしハッシュと一致するかどうかも判断する。
本発明の別の実施形態では、システムは:プログラム命令を実装したコンピュータ可読記憶媒体を含むコンピュータシステムであって、プログラム命令は、コンピュータによって実行可能であり、コンピュータに、キャプチャデバイスの出力を特定することと、前記出力は記録されたイベントの態様を表すことと;前記キャプチャデバイスの出力を暗号的に処理して、検証可能なマスターファイルを生成することと;ここで、前記検証可能なマスターファイルは前記キャプチャデバイスの出力からのメディアデータの追跡された部分、前記マスターメディアデータのマスターの追跡された部分のメタデータ、およびマスターファイルのブロックチェーンデータを含み;前記マスターファイルのブロックチェーンデータは、マスターファイルのブロックの履歴部分、マスターファイルの署名キー部分、およびマスターファイルの追跡された部分の署名付きデータハッシュを含むことを行わせることを含む。
本発明の別の実施形態では、コンピュータプログラム製品は、プログラム命令を実装したコンピュータ可読記憶媒体を含み、プログラム命令は、コンピュータによって実行可能であり、コンピュータに:キャプチャデバイスの出力を特定することと、前記出力は記録されたイベントの態様を表すことと;前記キャプチャデバイスの出力を暗号的に処理して、検証可能なマスターファイルを生成することと;ここで、前記検証可能なマスターファイルは前記キャプチャデバイスの出力からのメディアデータの追跡された部分、前記マスターメディアデータのマスターの追跡された部分のマスターの追跡された部分のメタデータ、およびマスターファイルのブロックチェーンデータを含み;前記マスターファイルのブロックチェーンデータは、マスターファイルのブロックの履歴部分、マスターファイルの署名キー部分、およびマスターファイルの追跡された部分の署名付きデータハッシュを含むことを行わせることを含む。
データファイルの真正性を確認する際の問題点として、与えられたファイルが実際にキャプチャデバイスから記録されたデータの選択された部分の真のコピーを含んでいるかどうかを判断することが困難な場合がある。他の問題としては、変更ログ内の指示が、キャプチャデータの修正版を含むファイルの追跡された部分に生じた変更の真の表現であるかどうかを判断することができる。他の問題は、マスターファイルの複製ではなく、マスターファイルの追跡された部分の検証可能なバリエーションを含むとされるファイルの様々なバージョン(例えば、参照ファイルや分散可能ファイル)の部分の真正性を検証しようとするときに発生する。
本発明のこれらおよび他の目的、特徴および利点は、添付図面と関連して読まれる、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。図面の様々な特徴は、詳細な説明と関連して本発明を理解する際に当業者を容易にするために明確にするための図であるため、縮尺通りではない。図面は、以下に記載される。
検証可能なマスターファイルのメディアデータの追跡された部分のコンピュータ実装による生成のためのシステムの概要を示す模式的なブロック図である。 図1に示すシステムを用いて実施される、メディアデータを取り込み、関連するマスターファイルを保存する方法を示すフローチャートである。 本発明の態様による追跡された部分を有するマスターファイルの例示的なフォーマットである。 図1に示すシステムを用いて実施される、本発明の態様による参照ファイルの追跡された部分を生成するためにマスターファイルを修正する方法を示すフローチャートである。 本発明の態様による追跡された部分を有する参照ファイルの例示的なフォーマットである。 図1に示したシステムを用いて実施される、本発明の態様による追跡された部分を有するマスターファイルを検証する方法を示すフローチャートである。 図1に示すシステムを用いて実施される、本発明の態様による参照ファイルの追跡された部分を検証する方法を示すフローチャートである。 図1に示したシステムを用いて実施される、本発明の態様による分散可能ファイルの追跡された部分を検証する方法を示すフローチャートである。 図1に示される1つまたは複数のコンピュータまたは装置に全てまたは部分的に組み込まれ、図1に示されるシステムおよび方法と協働することができる本開示の実施形態によるコンピュータシステムを示す概略ブロック図である。 本発明の実施形態における、クラウドコンピューティング環境を示す図である。 本発明の実施形態における、抽象化モデルレイヤを示す図である。
添付の図面を参照した以下の説明は、特許請求の範囲およびその等価物によって定義される本発明の例示的な実施形態の包括的な理解を助けるために提供されるものである。その理解を助けるために様々な具体的な詳細を含むが、これらは単に例示的なものとみなされる。したがって、当業者であれば、本発明の範囲および精神から逸脱することなく、本明細書に記載された実施形態の様々な変更および修正を行うことができることを認識するであろう。さらに、周知の機能および構造に関する説明は、明瞭性および簡潔性のために省略されることがある。
以下の説明および特許請求の範囲で使用される用語および単語は、書誌的な意味に限定されるものではなく、単に、本発明の明確かつ一貫した理解を可能にするために使用されるものである。したがって、本発明の例示的な実施形態の以下の説明は、例示の目的のみのために提供され、添付の請求項およびその等価物によって定義される本発明を限定する目的ではないことは、当業者には明らかであるはずである。
単数形の「a」、「an」、および「the」は、文脈が明らかに他に指示しない限り、複数の参照語を含むことが理解されるものとする。したがって、例えば、「参加者」への言及は、文脈が明らかに他に指示しない限り、そのような参加者の1人以上への言及を含む。
さて、一般的に図を組み合わせて参照し、特に図1および図2を参照して、記録されたメディアファイルの追跡された部分の真正性、記録されたメディアファイルの追跡された部分に加えられた変更の性質、および記録されたメディアファイルの追跡された部分に加えられた検証可能な変更に基づくと思われるファイルの真正性を確認する方法200の概要を説明する。方法200は、任意に共有された記憶装置122と、態様124(記録されたメディアファイルの追跡された部分の真正性を協同で確認し、記録されたメディアファイルの追跡された部分に加えられた変更の性質を示し、記録されたメディアファイルの追跡された部分に加えられた検証可能な変更に基づくとされるファイルの真実性を実証する信号処理チップ126、暗号処理チップ128、ROM130および一般処理チップ132を含む)を有するサーバコンピュータ120によって実施されるため、システム100内で使用可能である。記憶装置122は、この発明の態様の精神内で、受信バス、I/Oバス、ネットワーキングカード、またはマスターファイル300、または参照ファイル500などのファイルデータを受信できる他のアイテムを含む様々な形態を取り得ることに留意されたい。
本発明の方法は、本明細書に記載されたデータを捕捉する適切な権利、ならびに捕捉されたデータを記載された方法で使用および処理する権利を有する参加者グループ(例えば、専門組織、企業体など)および個人によって使用されることが想定されることに留意されたい。また、本発明の態様に従って肖像がキャプチャまたは使用されるモデルは、そのようなキャプチャおよび使用に対して有効な同意を提供していることが想定される。本書に記載されたデータは、法的に適切な方法に従い、意図された用途に必要なすべての同意を得て、キャプチャおよび使用される。
本発明の態様によれば、センサを有するキャプチャデバイス136は、画像、音、圧力測定値などの現実134の態様を記録し、サーバコンピュータ120に関連する信号処理チップ126にその態様を渡す。キャプチャデバイスセンサは、信号処理チップ126に生データを送り、システム100は、生データをシステム100によって使用可能なフォーマットに変換し、任意に圧縮する。信号処理チップ126がデータを圧縮しない場合、任意の圧縮チップ(図示せず)が使用されてもよい。暗号処理チップ128は、処理された(そして場合によっては圧縮された)データを取り、データを所定のサブセット(処理されるデータに関連するピクセルまたは他の離散ユニットなど)に分割し、サブセットをハッシュ化する。本発明の態様によれば、ハッシュ化されるサブセットの少なくとも1つは、メディアデータの追跡可能な部分と対応する。サブセット(追跡された部分に対応するサブセットを含む)のハッシュを使用して、暗号処理チップ128は、各ハッシュの追跡された部分のメタデータ(例えば、サブセット、タイムスタンプなど)を追加し、ROM130に保持される不変で固有の秘密鍵で追跡された部分のハッシュデータパケット(すなわち、それぞれの追跡部分メタデータとハッシュ)を暗号的に署名する。署名された追跡された部分のデータハッシュおよびメディアデータは、一般処理チップ132に渡され、署名された追跡された部分のデータハッシュおよびメディアデータを、任意の関連するメタデータとともに、図3に示すフォーマットを有するマスターファイル300に結合する。本発明の態様によれば、マスターファイルのブロックチェーンデータ310は、マスターファイルのブロックの履歴部分311A、マスターファイルの署名キー部分314A、およびマスターファイルの追跡された部分の署名付きデータハッシュ316Aを含む。マスターファイルのブロックの履歴の特定の部分は、ヌルであってもよいし、マスターファイル300の元の、変更されていない性質を反映する他の合意されたコンテンツを含んでもよいことに留意されたい。
図2をさらに参照すると、サーバコンピュータ120は、ブロック202において、キャプチャデバイス136からセンサデータを受信し、センサデータは、ブロック206において暗号処理されるメディアデータ(追跡されるメディアデータの一部分を含む)に変換される。図2を引き続き参照すると、暗号処理は、ブロック208において、メディアデータをサブセットに分割し(サブセットの少なくとも1つがメディアデータの追跡された部分に対応する)、ブロック211において、サブセットをハッシュ化することを含む。追跡された部分の特定は、エンドユーザの選択によって、コンピュータ実装の選択アルゴリズムにおいて確立されたプリファレンスに従ってサーバコンピュータ120によって、またはこの技術分野における既知の当業者によって選択される他の任意の方法で達成されてもよいことに留意されたい。ブロック212において、暗号処理チップ128は、ハッシュ化されたメディアデータの追跡された部分を追跡された部分のメタデータ(これ自体、ハッシュ化されてもよい)と結合して、ハッシュ化された追跡された部分データパケットにする。ブロック214において、暗号処理チップ128は、追跡された部分のハッシュ化されたデータパケットに暗号的に署名する。一般処理チップ132は、ブロック216において、マスターファイル300を生成し、サーバコンピュータ120は、ブロック218において、マスターファイルを共有された記憶装置122に格納する。
図3を参照すると、この発明の態様によるマスターファイル300のフォーマットが示されており、この発明の実施形態によるフォーマットは、メタデータ301、センサメディアデータの追跡された部分302、及び内部ブロックチェーンデータ310の3つの部分を含む。特に、図3に示すマスターファイル300は、ブロックチェーンデータ311Aの1ブロックのみを有するファイルであり、この単一のブロックは、ジェネシスブロックと呼ばれる。なお、このファイル形式は、既存のファイル形式を拡張したものとして実装してもよい。図3はマスターファイル300を示しているが、システム100は、この発明の態様に従って、マスターファイル300を修正するときに他のファイル(参照ファイル500として知られ、図1に概略的に、図5にさらに詳細に示される)を生成し、参照ファイルは(図5に示され、以下でさらに詳細に論じられる)同じ全体フォーマットを有することが留意される。
内部ブロックチェーンデータ310は、マスターファイル300および参照ファイル500の追跡された部分データ(および任意に追跡された部分のメタデータ)の以前のバージョンに対応する前のブロックの暗号ハッシュを含むことによって暗号的にリンクされたブロックに保持されているファイルおよびそのメディアデータ(および任意にメタデータ)のバージョンに関する情報のブロックを含む。
マスターファイル300のメディアデータの追跡された部分302は、キャプチャデバイス136内のセンサによってキャプチャされたオリジナルのメディアデータを表し、この発明の態様によれば、ブロックチェーンデータ310は、マスターファイル300の内部にある非分散ブロックチェーン(すなわち、各データブロックが前のブロックの暗号ハッシュを含んでいるデータ構造)であることに留意されたい。
ブロックチェーンデータ310は、ハッシュ可能部分と、任意に(ファイルバリアントに依存する)ブロックハッシュに含まれない特定の拡張子とを含む。ハッシュ可能部分は、前のブロックハッシュ313A、513Bなど(または、ジェネシスブロックの場合は、ヌルなどの何らかの合意された選択)、このブロックに対する署名で使用される公開鍵(任意で、公開鍵に関する任意のメタデータ)、このバージョンに到達するために前のデータバージョンから行われた変更のハッシュ(またはルートハッシュ)(またはジェネシスブロックの場合は、ヌルなどの何らかの合意された選択)、2つのフォーマットのうちの1つで現在のメディアデータの追跡された部分302の署名付きのハッシュなどを含んでいる。第1の署名付きハッシュの形式は、このバージョンのファイルのメタデータ(またはそのハッシュ)およびこのバージョンのファイルのメディアデータの追跡される部分(またはそのハッシュ/ルートハッシュ)の署名付きハッシュを含み;第2の署名付きハッシュの形式は、このバージョンのファイルのメディアデータの追跡された部分、および(任意に)このバージョンのファイルのメタデータの署名付きハッシュを含んでいる。マスターファイル300(1つのブロックしか持たない内部ブロックチェーンを持つファイル)は、以下のようにサブセクションに分割されたブロックチェーンデータを有することに留意されたい:一般的なファイルのメタデータ301、メディアデータ(センサからのオリジナル)追跡された部分302、内部ブロックチェーンデータ(1ブロックのみ)310、起源/ジェネシスブロック311A、起源/ジェネシスブロックのハッシュ可能部分312A、前のブロックハッシュ(この場合、ヌルまたは他の予め定義された規約)313A、任意で公開鍵に関するメタデータを含むデジタル署名に使用される公開鍵314A、他のブロックメタデータ315A、(a)ファイルのメタデータ(またはそのハッシュ)とファイルのメディアデータの追跡された部分(またはそのハッシュ/ルートハッシュ)のいずれかの署名されたハッシュ、または(b)ファイルのメタデータの署名付きハッシュと、ファイルのメディアデータの追跡された部分316Aのファイルの署名付きハッシュ(またはルートハッシュ)である。また、マスターファイル300は、追跡された部分のメタデータ322Aの署名付きハッシュ317Aを含む。マスターファイル300は、ブロック318Aにおいて、変更ログ320Aに含まれる規定命令の署名付きハッシュを含む。マスターファイル300について、ブロック318Aは、ヌルまたはマスターファイルの性質が変更されていないことを表すために合意された他の値であってもよいことに留意されたい。
上述の構造に加えて、ブロック319Aに含まれる3つの任意のファイル拡張部分320A、321A、および322Aがあり、この発明の態様の中に含まれ得る。第1の拡張部分は、メディアデータの追跡された部分の現在のバージョンに到達するために、メディアデータの追跡された部分の以前のバージョン上の変更を複製することを可能にする、何らかの形式の変更ログ320Aである。変更ログ320は、メディアデータ302に発生した変更を反復的に文書化した情報を含む。マスターファイル300を超える各反復に対して、変更ログ320は、その反復におけるメディアデータ302への変更を表す関連情報を含む。マスターファイル300自体については、変更ログ320は、好ましくは、ヌルセット値を保持することに留意されたい。変更ログは、参照メディアファイルのコピーに対してのみ必要である。変更ログは任意であるが、分散可能なコピーの場合は必要ない。第2拡張321Aは、メディアファイルの履歴のその段階でのメディアデータの追跡された部分のコピーである。これは、どのファイルバリアントにも必要ではなく、単に追加される値となり得る。第3の拡張322Aは、メディアデータのどの部分が追跡された部分であるかを示す追跡された部分のメタデータである。
図4を参照すると、マスターファイル300の修正版500(参照ファイルとも呼ばれる)を作成する方法400が示されている。上述したように、この発明の態様による参照ファイル500は、図4に示すフローロジックに従って生成されたオリジナルの、マスターファイル300の修正版である。ブロック404において、サーバコンピュータ120は、マスターファイル300のコピー(マスターファイルデータの追跡された部分を含む)を受信し、ブロック406において、サーバコンピュータ120は、例えば、画像または音声編集アルゴリズム(不図示)を使用してマスターファイルのメディアデータ302を修正する。マスターメディアデータ302を修正した後、サーバコンピュータ120は、ブロック408において、メタデータ501、変更されたマスターメディアデータの追跡された部分502(図5に見られ、以下に詳細に説明する)を含むファイルを受信する。
より詳細には、サーバコンピュータ120は、ブロック410において、変更されたメディアデータを、参照ファイルのメディアデータの追跡された部分502として保存する。サーバコンピュータ120は、ブロック412において、参照ファイルのメタデータ501を生成し、ブロック414において、サーバコンピュータ120は、参照ファイルのメディアデータの追跡された部分502、参照ファイルのメタデータ501、および参照ファイルのブロックチェーンデータ510を結合して、参照ファイルのデータパケットにする。本明細書で使用される場合、ブロックチェーンという用語は、従来のブロックチェーン、ハッシュチェーン、暗号リンクリスト、またはブロックチェーンが提供する機能およびデータ完全性を複製する他の不変のデータ構造を指す。ブロック416において、サーバコンピュータ120は、参照ファイルのデータパケットに暗号的に署名する。ブロック418において、サーバコンピュータ120は、参照ファイルのブロックチェーンデータ510を生成し、現在反復されている参照ブロックチェーンデータ302xを既存のブロックチェーンに追加することによって、ブロックチェーンを更新する。ブロック420において、サーバコンピュータ120は、署名されたデータパケット516を含む参照ファイル500を生成し、ブロック422において、参照ファイルのブロックチェーンデータ510を格納する。
図5を参照して示すように、参照ファイルのブロックチェーンデータ510は、ファイルのデータ(および任意でメタデータ)の以前のバージョンに対応する前のブロックの暗号ハッシュを含むことによって暗号的にリンクされたブロックに保持されたファイルおよびそのデータ(および任意でメタデータ)のバージョンに関する情報を含んでいる。本発明の態様による参照ファイルのための好ましい構造に関する追加の詳細が、ここで、特に図5を参照して提供される。複数のブロックを有する内部ブロックチェーンを有する参照ファイルが500で示され、このファイルは、その最初の作成以降に修正されたメディアの追跡された部分を表す。参照ファイルは、一般的な参照ファイルのメタデータ501、参照ファイルのメディアデータ(オリジナルから修正された)追跡された部分502、および内部ブロックチェーンデータ510を含む。内部ブロックチェーンデータ510は、511A(マスターファイル300に関連するジェネシスブロック)、511B(最初の第1ファイル(すなわち、マスターファイル300に対する変更の第1ラウンド)に関連する修正されたブロック)、511x(元のマスターファイル300に対するおそらく数ラウンドの変更に関連する第2または後の参照ブロック)を含む一連のブロックを含んでいる。チェーン内の各ブロックは、上記のようにさらにサブセクションに分割され、サブセクションは、数値系列(すなわち、511、512、513、514、515、516、517、518、519、520、521、および522)に従ってラベル付けされている。メディアデータの変更の各ラウンドが行われると、サーバコンピュータ120は、新しい参照ファイル500および関連するブロックチェーンデータを生成し、チェーン内の各ブロックは同じ相対形式を維持する。便宜上、参照ファイルのブロックチェーンサブセクション間の数値参照は、同じ数値配列(例えば、511、512、513、514、515、516、517、518、519、520、521、および522)に従い、各世代のサブセクションは、そこに付されたインデックス付きの添え字(「B」で始まる)を有している。これを図5に511B、512B、513B、514B、515B、516B、517B、518B、519B、520B、521B、および522Bと511x、512x、513x、514x、515x、516x、517x、518x、519x、520x、521x、および522xと模式化して示した。26世代以上変化した場合(例えば、アルファベットを最後まで使い終わった)、Aから始まる添え字が追加される(例えば、アルファベットの2周目はBA、BBなどから始まる)。添え字「A」は、元の、マスターファイル300に関連するデータ用に取っておき、マスターファイル用に生成された、ジェネシス/起源ブロックを特定するために使用されることに留意されたい。
図5を引き続き参照すると、参照ファイルのブロックチェーンデータ510はまた、以前のブロックハッシュ513x、公開鍵514x、および任意の関連メタデータを有する他のブロックメタデータ515xを含むハッシュ可能部分512x、および上述した署名付きハッシュ化メディアデータのいずれかの任意のバージョンを含んでいる。公開鍵514xは、同じバージョンのすべてのアルゴリズムによって共有される汎用秘密鍵に対応する公開鍵、またはそのアルゴリズムのインストールに固有の秘密鍵に対応する公開鍵のいずれかとして、修正を行うアルゴリズムを表す。
サーバコンピュータ120は、ブロックチェーンデータ510xに3つの拡張子を添付する。第1の拡張子、520xは、メディアデータの追跡された部分の現在のバージョンに到達するために、メディアデータの追跡された部分の前のバージョン上の変更を複製することを可能にする何らかの形式の変更ログである。上述のように、変更ログ520xは、参照ファイルのメディアデータの追跡された部分502に発生した変更を反復的に文書化する情報を含む。マスターファイル500を超える各反復に対して、変更ログ520xは、その反復における参照ファイルのメディアデータの追跡された部分502への変更を表す関連情報を含む。変更ログ520xは、参照メディアファイルのコピーにのみ必要である。変更ログ520xは任意であるが、分散可能なコピーには必要ない。第2の拡張子、522xは、参照ファイルのメディアデータの追跡された部分502のどのサブセットが重要とみなされ、どの変更について追跡されるべきかを記述する追跡された部分メタデータである。第3の拡張子521xは、メディアファイルの履歴のその段階での参照ファイルのメディアデータの追跡された部分502(またはメディアデータの追跡された部分のみ)のコピーである。これは、いずれのファイルバリアントにも必要ではなく、単に追加される値となり得る。
ブロックチェーンはまた、ブロック512xのハッシュ可能な部分、前のブロックハッシュ(ジェネシスブロックであるブロックAの場合、この値はヌルまたは他の事前定義された規約)513x、公開鍵514xに関するメタデータを含むことができる、デジタル署名で使われる公開鍵、他のブロックメタデータ515xを含む。ブロック516xは、メディアデータの追跡された部分の署名付きハッシュと、場合によってはメタデータを含む。この情報の好ましい形式は2つある:(a)ファイルのメタデータの署名付きハッシュ(またはそのルートハッシュ)とファイルのメディアデータの追跡された部分(またはそのハッシュ/ルートハッシュ)、または(b)ファイルのメタデータの署名付きハッシュとファイルのメディアデータの追跡された部分の署名付きハッシュ(またはルートハッシュ)である。この署名付きハッシュ化された情報のための他のフォーマットも、この技術分野の当業者の好みに従って選択され得る。ブロック517xは、追跡された部分のメタデータの署名付きハッシュを含み、ブロック518xは、ブロックインクリメント命令520xの署名付きハッシュ(または署名付きルートハッシュ)を含む。命令と、関連するハッシュは、マスターファイルからの変更がないため、ジェネシスブロックであるブロックAにおいてのみヌル値として存在する可能性があることに留意されたい。ブロック519xは「ブロック拡張子」であり、これは参照メディアファイルに保持される情報であり、分散可能なメディアファイルでは必要とされなく(しかし制限されない)、ブロックハッシュには含まれないことが望ましい。ブロック520xは、前のブロックによって表されるメディアデータのバージョンからこのブロックによって表されるメディアデータのバージョンに到達する方法を詳述する規定的で複製可能な命令を含む(ブロックAではヌルとして存在するが、これは、他の場所で述べたように、ブロックAが、キャプチャデバイス136のセンサから来たメディアの元のマスターファイルのバージョンを表すからである)。ブロック521xは、メディアの履歴のこの時点におけるメディアデータ(またはメディアデータの追跡された部分のみ)の任意の冗長コピーを含み、522xは、メディアデータのどのサブセットが重要とみなされ、どの変更について追跡されるべきかを記述する追跡された部分メタデータを含む。
図6を参照して、次に、本発明の態様によるマスターファイル300を検証するためのプロセスを説明する。ブロック604において、サーバコンピュータ120は、検証されるべきチャレンジドマスターファイル(以下、「CMF」)を受信する。ブロック606において、サーバコンピュータ120は、CMFのメディアデータの追跡された部分およびCMFの追跡された部分のメタデータの署名なしハッシュを含む第1のCMF比較要素を生成するため、CMFの追跡された部分のデータおよびCMFの追跡された部分のメタデータをハッシュする。ブロック608において、サーバコンピュータ120は、CMFのメディアデータの追跡された部分および署名付きCMFの追跡された部分のメタデータの署名付きハッシュをCMFマスターブロックチェーンデータから署名を削除し、CMFのメディアデータの追跡された部分および署名付きCMFの追跡された部分のメタデータの署名なしハッシュを含む第2のCMFの比較要素を生成する。ブロック610において、サーバコンピュータ120は、第1のCMFの比較要素と第2のCMFの比較要素とを比較し、ブロック612において、それらのファイルが一致するかどうかを判断する。第1のCMFの比較要素と第2のCMFの比較要素とが一致する場合、サーバコンピュータ120は、ブロック614において、CMFをオリジナル参照ファイル300の真正コピーであると見なす。しかし、第1のCMFの比較要素と第2のCMFの比較要素が一致しない場合、サーバコンピュータ120はCMFの真正性を確認せず、サーバコンピュータはブロック616でCMFを不真正であるとみなす。
本発明の態様によれば、起源ブロックの公開鍵が有効であり(すなわち、それを供給したセンサデバイスを表す)、公開鍵を供給したキャプチャデバイス130が信頼されている(これは、公開鍵がマスターメディアファイルに埋め込まれて以来キャプチャデバイス136のセンサに手を加えられていないことを含む)ことが仮定されることに留意されたい。キャプチャデバイス136のセンサが信頼されていることを検証することは、アプリケーションがオリジナルのメディアファイルを検証することを含むかどうかにかかわらず、様々な方法で行われ得る。
図7を参照して、本発明の態様による参照ファイル500を検証するためのプロセス700を、次に説明する。ブロック704において、サーバコンピュータ120は、認証(例えば、参照ファイルコンテンツが、参照ファイルとともに提供される指示に従ってマスターファイルコンテンツから修正されたコンテンツを表すかどうか)のためにマスターファイル300と比較される参照ファイル500を受信する。ブロック706において、サーバコンピュータ120は、参照ファイル500のジェネシスブロックのハッシュをマスターファイル300のジェネシスブロックのハッシュと比較し、ブロック708において、サーバコンピュータは、比較したジェネシスブロックのハッシュが一致するかどうかを判断する。比較されたジェネシスブロックのハッシュが一致しない場合、参照ファイルは真正でない可能性があり、コンピュータはブロック718に移行する。
比較されたジェネシスブロックのハッシュが一致する場合、コンピュータはブロック710に移り、参照ファイルのブロックチェーンのインクリメント情報において提供された変更をマスターファイルのメディアデータの追跡された部分に適用し、その結果をハッシュ化して、第1の参照ファイルの比較要素を生成する。ブロック712において、サーバコンピュータ120は、RFブロックチェーンデータ内の署名付きハッシュの署名を削除して、第2のRF比較要素を生成する。第1の参照ファイルの比較要素は、ハッシュ化された参照ファイルのメディアデータの追跡された部分または当業者によって用いられる判断に従って選択される他の要素を含むことに留意されたい。第2の参照ファイルは、署名なし参照ファイルのブロックチェーンデータまたは当業者によって使用される判断に従って選択される他の要素を含むことに留意されたい。ブロック714において、サーバコンピュータ120は、第1の参照ファイルの比較要素と第2の参照ファイルの比較要素とが一致するかどうかを判断する。参照ファイルの比較要素が一致する場合、サーバコンピュータ120は、ブロック716に移行し、参照ファイル300の真正性を確認する。参照ファイルの比較要素が一致しない場合、参照ファイルの正当性は確認されず、コンピュータはブロック718に移り、ここでコンピュータは参照ファイル300の真正性を確認せず、参照ファイルは不真正とラベル付けされてもよい。
ここで、図8を参照して、この発明の態様による分散可能ファイルの検証方法について説明する。ブロック804において、コンピュータは、分散可能ファイル(以下、「DF」)および検証済み真正参照ファイル(以下、「VARF」)を受信し、VARFの真正な派生物または他の修正であると主張するDFが、実際にVARFに含まれるメディアデータの真正バージョンを含むファイルであるかどうかを判断する。ブロック806において、コンピュータは、DFのブロックチェーンデータのハッシュをVARFのブロックチェーンデータのハッシュと比較し、ブロック808において、比較されたブロックチェーンデータのハッシュが一致するかどうかを判断する。DFは、ブロック519xおよびそこに含まれるブロックを含むための要件なしに、VARFと同じファイル形式に従っていることに留意されたい。ブロックチェーンデータの比較されたハッシュが一致しない場合、分散可能なファイルは真正ではない可能性があり、サーバコンピュータ120はブロック816に移行する。
比較されたブロックチェーンデータのハッシュが一致する場合、コンピュータはブロック810に移動し、ブロック812において、DFの追跡された部分のメディアファイルのハッシュを代表メディアブロックの対応する署名なしハッシュと比較する。一実施形態では、対応する署名なしハッシュは、代表メディアブロックxの署名なし署名付きハッシュ516xであり、代表メディアブロックxは、ブロックチェーンの履歴における、関連する反復において、ブロック502で、メディアデータの追跡される部分を表すブロックである。DFの追跡された部分のメディアファイルのハッシュと、最後のDFのブロックチェーンブロックのハッシュとが一致する場合、DFは真正であるとみなされる。ブロック814において、コンピュータは、DFの真正性を検証する。
本明細書で使用されるキャプチャデバイスの出力という用語は、センサデータを含むことに留意されたい。また、本明細書で使用されるマスターファイルという用語は、図3に示されるフォーマットに従うメディアファイルであって、先に説明した方法によるキャプチャデバイスのセンサが記録する現実の直接の結果であるものを含むことに留意されたい。
本明細書で使用する参照ファイルという用語は、分散を意図しないメディアファイルであって、図5に示すファイル形式を使用するものを含む。このフォーマットは、様々なフォーマットの変更ログを含んでもよいし、変更ログを含まなくてもよい。参照メディアファイルは、先に説明した方法に従って変更を受けたものであるため、マスターメディアファイルとは異なるものである。
分散可能メディアファイルという用語は、エンド受信者に分散することを目的としたメディアファイルを含む。分散可能メディアファイルは、図5に示す形式を使用する。メディアデータがいかなる変更も受けていない(したがって、ブロックチェーンはジェネシスブロックのみを含む)分散可能メディアファイルは、マスターメディアファイルと実質的に同じであることに留意されたい。また、ファイルに関するメタデータが必須ではないと考えられる場合(したがって、そのハッシュはブロックチェーンに含まれない)、分散可能メディアファイルにおけるメタデータは、オリジナルのメディアファイルにおけるメタデータと異なる可能性があることに留意されたい。変更ログという用語は、メディアデータの以前のバージョンをメディアデータの現在のバージョンに修正する方法(たとえば、マスターファイルのメディアデータの追跡された部分からメディアデータの追跡された部分をインクリメントする方法など)に関する複製可能な命令を含む。
フローチャートおよびブロック図に関して、本開示の図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および動作を示すものである。この点に関して、フローチャートまたはブロック図における各ブロックは、特定の論理機能を実行するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことができる。他の一部の実装形態において、ブロック内に示した機能は、各図に示す順序とは異なる順序で実行してもよい。例えば、連続して示される2つのブロックは、実際には、関係する機能に応じて、略同時に実行してもよいし、場合により逆順で実行してもよい。なお、ブロック図もしくはフローチャートまたはその両方における各ブロック、および、ブロック図もしくはフローチャートまたはその両方における複数のブロックの組み合わせは、特定の機能または動作を行う、または専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースのシステムによって、実行可能である。
図9を参照すると、システムまたはコンピュータ環境1000は、一般的なコンピューティングデバイスの形態で示されるコンピュータ図1010を含む。方法1000は、例えば、一般にメモリ1030、より具体的にはコンピュータ可読記憶媒体1050と呼ばれる、コンピュータ可読記憶装置、又はコンピュータ可読記憶媒体上に具現化された、プログラム命令を含むプログラム1060で具現化されてもよい。このようなメモリもしくはコンピュータ可読記憶媒体またはその両方は、不揮発性メモリ又は不揮発性ストレージを含む。例えば、メモリ1030は、RAM(ランダムアクセスメモリ)又はROM(リードオンリーメモリ)等の記憶媒体1034、及びキャッシュメモリ1038を含むことができる。プログラム1060は、コンピュータシステム1010のプロセッサ1020によって実行可能である(プログラムステップ、コード、又はプログラムコードを実行するため)。また、追加のデータストレージは、データ1114を含むデータベース1110として具現化されてもよい。コンピュータシステム1010及びプログラム1060は、ユーザに対してローカルであってもよいし、リモートサービスとして(例えば、クラウドベースのサービスとして)提供されてもよいコンピュータ及びプログラムの汎用的な表現であり、さらなる例では、通信ネットワーク1200を使用してアクセスできるウェブサイト(例えば、ネットワーク、インターネット、又はクラウドサービスと対話する)を使用して提供されてもよい。コンピュータシステム1010はまた、本明細書において、ラップトップ又はデスクトップコンピュータ等のデバイスに含まれるコンピュータデバイス又はコンピュータ、あるいは単独又はデータセンタの一部としての1つまたは複数のサーバを一般的に表すことが理解される。コンピュータシステムは、ネットワークアダプタ/インタフェース1026、及び入力/出力(I/O)インタフェース1022を含むことができる。I/Oインタフェース1022は、コンピュータシステムに接続され得る外部装置1074とのデータの入力と出力を可能にする。ネットワークアダプタ/インタフェース1026は、コンピュータシステムと通信ネットワーク1200として一般的に示されるネットワークとの間の通信を提供してもよい。
このコンピュータシステム1010は、プログラムモジュールなどのコンピュータシステム実行可能命令がコンピュータシステムによって実行されるという一般的な文脈で説明されることがある。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでもよい。方法ステップ及びシステム構成要素及び技術は、方法及びシステムの各ステップのタスクを実行するためのプログラム1060のモジュールで具現化されてもよい。モジュールは、図中ではプログラムモジュール1064として一般的に表されている。プログラム1060及びプログラムモジュール1064は、プログラムの特定のステップ、ルーチン、サブルーチン、命令又はコードを、実行することができる。
本開示の方法は、モバイルデバイスなどのデバイス上でローカルに実行することができ、又は、例えば、リモートであってもよく、通信ネットワーク1200を使用してアクセスすることができるサーバ1100上でサービスを実行することができる。また、プログラム又は実行可能な命令は、プロバイダによってサービスとして提供されてもよい。コンピュータ1010は、通信ネットワーク1200を介してリンクされるリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境で実施されてもよい。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカル及びリモートのコンピュータシステムの記憶媒体の両方に配置されてもよい。
コンピュータ1010は、様々なコンピュータ可読媒体を含むことができる。そのような媒体は、コンピュータ1010(例えば、コンピュータシステム、又はサーバ)によってアクセス可能な任意の利用可能な媒体であってよく、揮発性及び不揮発性媒体、並びに、取り外し可能及び取り外し不可能な媒体の両方を含むことが可能である。コンピュータメモリ1030は、ランダムアクセスメモリ(RAM)1034、もしくはキャッシュメモリ1038またはこれらの組み合わせなどの揮発性メモリの形態の追加のコンピュータ可読媒体を含むことができる。コンピュータ1010は、他の取り外し可能/取り外し不可能な、揮発性/不揮発性のコンピュータ記憶媒体、一例では、ポータブルコンピュータ可読記憶媒体1072をさらに含むことができる。一実施形態では、コンピュータ可読記憶媒体1050は、取り外し不可能、不揮発性磁気媒体から読み出しおよび書き込むために提供され得る。コンピュータ可読記憶媒体1050は、例えば、ハードディスクドライブとして具現化することができる。追加のメモリ及びデータストレージは、例えば、データ1114を格納し、処理ユニット1020と通信するためのストレージシステム1110(例えば、データベース)として提供することができる。データベースは、サーバ1100上に格納され、又はサーバ1100の一部とすることができる。図示しないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピーディスク」)から読み出し及び書き込むための磁気ディスクドライブ、およびCD-ROM、DVD-ROM又は他の光学媒体などの取り外し可能な不揮発性の光ディスクから読み出し又は書き込むための光ディスクドライブを提供することが可能である。そのような例では、各々は、1つまたは複数のデータ媒体インタフェースによってバス1014に接続することができる。以下でさらに描かれ、説明されるように、メモリ1030は、本発明の実施形態の機能を遂行するように構成された1つまたは複数のプログラムモジュールを含むことができる少なくとも1つのプログラム製品を含むことができる。
本開示で説明する方法は、例えば、一般的にプログラム1060と呼ばれる1つまたは複数のコンピュータプログラムで具現化され、コンピュータ可読記憶媒体1050内のメモリ1030に格納され得る。プログラム1060は、プログラムモジュール1064を含むことができる。プログラムモジュール1064は、一般に、本明細書に記載されるような本発明の実施形態の機能もしくは方法論またはその両方を遂行することができる。1つまたは複数のプログラム1060は、メモリ1030に格納され、処理ユニット1020によって実行可能である。一例として、メモリ1030は、オペレーティングシステム1052、1つまたは複数のアプリケーションプログラム1054、他のプログラムモジュール、及びコンピュータ可読記憶媒体1050上のプログラムデータを格納してもよい。プログラム1060、およびコンピュータ可読記憶媒体1050上に記憶されたオペレーティングシステム1052及びアプリケーションプログラム1054は、同様に処理ユニット1020によって実行可能であることが理解される。また、アプリケーション1054およびプログラム1060は、一般的に示されており、本開示で議論される1つまたは複数のアプリケーションおよびプログラムのすべてを含むか、またはその一部であり得ること、あるいはその逆であること、つまり、アプリケーション1054およびプログラム1060が本開示で議論される1つまたは複数のアプリケーションおよびプログラムのすべてまたはその一部であることが理解される。また、制御システム70(図8に示す)は、コンピュータシステム1010及びその構成要素の全て又は一部を含むことができ、もしくは、制御システムは、コンピュータシステム1010及びその構成要素の全て又は一部と遠隔コンピュータシステムとして通信またはその両方をし、本開示で論じる制御システム機能を実現できることも理解されよう。また、図1に示される1つまたは複数の通信デバイス110も同様に、コンピュータシステム1010およびその構成要素のすべてまたは一部を含むことができ、もしくは通信デバイスは、本開示において説明されるコンピュータ機能を実現するために、コンピュータシステム1010およびその構成要素のすべてまたは一部とリモートコンピュータシステムとして通信できるまたはその両方であることが理解される。
1つまたは複数のプログラムは、プログラムがコンピュータ可読記憶媒体に具現化もしくは符号化またはその両方がされるように、1つまたは複数のコンピュータ可読記憶媒体に格納されることができる。一例では、格納されたプログラムは、プロセッサ、またはプロセッサを有するコンピュータシステムによって実行され、方法を実行する、またはコンピュータシステムに1つまたは複数の機能を実行させるためのプログラム命令を含むことができる。
コンピュータ1010は、キーボード、ポインティングデバイス、ディスプレイ1080などの1つまたは複数の外部装置1074;ユーザがコンピュータ1010と対話することを可能にする1つまたは複数のデバイス;もしくはコンピュータ1010が1つまたは複数の他のコンピュータデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)と通信することもできる。そのような通信は、入力/出力(I/O)インタフェース1022を介して発生し得る。まだ、コンピュータ1010は、ネットワークアダプタ/インタフェース1026を介して、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、もしくは公衆ネットワーク(例えば、インターネット)またはこれらの組み合わせなどの1つまたは複数のネットワーク1200と通信することができる。描かれているように、ネットワークアダプタ1026は、バス1014を介してコンピュータ1010の他の構成要素と通信する。図示されていないが、他のハードウェアもしくはソフトウェアコンポーネントまたはこれらの組み合わせが、コンピュータ1010と共に使用され得ることを理解されたい。例としては、マイクロコード、デバイスドライバ1024、冗長処理装置、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイブストレージシステム等が挙げられるが、これらに限定されるものではない。
コンピュータまたはコンピュータ1010上で実行されるプログラムは、通信ネットワーク1200として具現化される1つまたは複数の通信ネットワークを介して、サーバ1100として具現化されるサーバと通信し得ることが理解される。通信ネットワーク1200は、例えば、無線、有線、又は光ファイバ、並びにルータ、ファイアウォール、スイッチ、及びゲートウェイコンピュータを含む伝送媒体及びネットワークリンクを含んでもよい。通信ネットワークは、有線、無線通信リンク、または光ファイバケーブルなどの接続を含んでもよい。通信ネットワークは、ライトウェイトディレクトリアクセスプロトコル(LDAP)、トランスポートコントロールプロトコル/インターネットプロトコル(TCP/IP)、ハイパーテキストトランスポートプロトコル(HTTP)、ワイヤレスアプリケーションプロトコル(WAP)など、様々なプロトコルを使用して互いに通信するインターネットなどのネットワークおよびゲートウェイの世界的な集合を表すことができる。また、ネットワークは、例えば、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)など、複数の異なるタイプのネットワークを含んでもよい。
一例では、コンピュータは、インターネットを使用してウェブ(ワールドワイドウェブ)上のウェブサイトにアクセスすることができるネットワークを使用することができる。一実施形態では、モバイルデバイスを含むコンピュータ1010は、インターネット、または例えば公衆交換電話網(PSTN)、セルラーネットワークを含むことができる通信システムまたはネットワーク1200を使用することができる。PSTNは、電話回線、光ファイバケーブル、伝送リンク、セルラーネットワーク、および通信衛星を含むことができる。インターネットは、例えば、携帯電話またはラップトップコンピュータを使用して、テキストメッセージ(SMS)、マルチメディアメッセージングサービス(MMS)(SMSに関連)、電子メール、またはウェブブラウザを介して検索エンジンにクエリを送信する、多数の検索およびテキスト送信技術を容易にすることができる。検索エンジンは、検索結果、すなわち、クエリに対応するウェブサイト、文書、または他のダウンロード可能なデータへのリンクを取得し、同様に、検索結果を、例えば、検索結果のウェブページとして装置を介してユーザに提供することが可能である。
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶装置は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピュータ装置/処理装置へダウンロード可能である。あるいは、ネットワーク(例えばインターネット、LAN、WANもしくはワイヤレスネットワークまたはこれらの組み合わせ)を介して、外部コンピュータまたは外部記憶装置へダウンロード可能である。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはこれらの組み合わせを備えることができる。各コンピュータ装置/処理装置内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、各々のコンピュータ装置/処理装置におけるコンピュータ可読記憶媒体に記憶するために転送する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、スモールトークやC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンドアロン型ソフトウェアパッケージとして完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または、完全にリモートコンピュータもしくはサーバ上で実行可能である。後者の場合、リモートコンピュータは、LANやWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続してもよいし、外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続してもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行する目的で当該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
本発明の実施形態は、本明細書において、本発明の実施形態に係る方法、装置(システム)、およびコンピュータプログラム製品のフローチャートもしくはブロック図またはその両方を参照して説明されている。フローチャートもしくはブロック図またはその両方における各ブロック、および、フローチャートもしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実行可能である。
上記のコンピュータ可読プログラム命令は、機械を生産するために、コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供してよい。これにより、かかるコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行するための手段を創出する。上記のコンピュータ可読プログラム命令はさらに、コンピュータ、プログラマブルデータ処理装置もしくは他の装置またはこれらの組み合わせに対して特定の態様で機能するよう命令可能なコンピュータ可読記憶媒体に記憶してよい。これにより、命令が記憶された当該コンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作の態様を実行するための命令を含む製品を構成する。
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブル装置、または他の装置にロードし、一連の動作ステップを当該コンピュータ、他のプログラマブル装置、または他の装置上で実行させることにより、コンピュータ実行プロセスを生成してもよい。これにより、当該コンピュータ、他のプログラマブル装置、または他の装置上で実行される命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行する。
本開示の図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に係るシステム、方法およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャートまたはブロック図における各ブロックは、特定の論理機能を実行するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことができる。他の一部の実装形態において、ブロック内に示した機能は、各図に示す順序とは異なる順序で実行してもよい。例えば、連続して示される2つのブロックは、実際には、関係する機能に応じて、略同時に実行してもよいし、部分的もしくは全体的に時間的に重複した態様で実行してもよいし、場合により逆順で実行してもよい。なお、ブロック図もしくはフローチャートまたはその両方における各ブロック、および、ブロック図もしくはフローチャートまたはその両方における複数のブロックの組み合わせは、特定の機能または動作を行う、または専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースのシステムによって、実行可能である。
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実装は、クラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている又は後に開発される任意の他のタイプのコンピューティング環境と組み合わせて実施することが可能である。
クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、リソースは、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの展開モデルを含むことがある。
特性は以下の通りである。
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による利用が促進される。
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含む任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
展開モデルは以下の通りである。
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで、図10に例示的なクラウドコンピューティング環境2050を示す。図示するように、クラウドコンピューティング環境2050は1つ以上のクラウドコンピューティングノード2010を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、PDAもしくは携帯電話2054A、デスクトップコンピュータ2054B、ラップトップコンピュータ2054C、もしくは自動車コンピュータシステム2054Nまたはこれらの組み合わせなど)は通信を行うことができる。ノード2010は互いに通信することができる。ノード2010は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1つ以上のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境2050は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、図10に示すコンピュータ装置2054A~Nの種類は例示に過ぎず、コンピューティングノード2010およびクラウドコンピューティング環境2050は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
ここで、クラウドコンピューティング環境2050(図10)によって提供される機能的抽象化レイヤのセットを図11に示す。なお、図11に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本発明の実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、以下のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェアレイヤ2060は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム2061、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ2062、サーバ2063、ブレードサーバ2064、記憶装置2065、ならびにネットワークおよびネットワークコンポーネント2066が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア2067およびデータベースソフトウェア2068を含む。
仮想化レイヤ2070は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ2071、仮想ストレージ2072、仮想プライベートネットワークを含む仮想ネットワーク2073、仮想アプリケーションおよびオペレーティングシステム2074、ならびに仮想クライアント2075。
一例として、管理レイヤ2080は以下の機能を提供することができる。リソース準備2081は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定2082は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウド消費者およびタスクの識別確認を可能にする。ユーザポータル2083は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理2084は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行2085は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
ワークロードレイヤ2090は、クラウドコンピューティング環境が利用可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション2091、ソフトウェア開発およびライフサイクル管理2092、仮想教室教育の配信2093、データ分析処理2094、取引処理2095、およびキャプチャされたままのセンサデバイス媒体データに対してなされた変更の保存および検証2096が含まれる。
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。同様に、本明細書に記載された本開示の実施形態の特徴又は機能性の例は、特定の実施形態の説明で使用されているか、又は例として記載されているかどうかにかかわらず、本明細書に記載された本開示の実施形態を限定すること、又は本明細書に記載された例に限定することは意図していない。説明された実施形態の範囲および精神から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を説明するため、または当業者が本明細書に開示される実施形態を理解できるようにするために選択された。

Claims (20)

  1. コンピュータによって、キャプチャデバイスの出力を特定することであって、前記出力は記録されたイベントの態様を表す、特定することと、
    前記コンピュータによって、検証可能なマスターファイルを生成するために、前記キャプチャデバイスの出力を暗号処理することであって、前記マスターファイルは少なくとも1つの追跡された部分を含む、暗号処理することと、
    を含み、
    前記検証可能なマスターファイルは、前記キャプチャデバイスの出力からのマスターファイルのメディアデータの追跡された部分、マスターメタデータ、およびマスターファイルのブロックチェーンデータを含み、
    前記マスターファイルのブロックチェーンデータが、マスターファイルのブロックの履歴部分、マスターファイルの署名キー部分、および前記マスターファイルのメディアデータの追跡された部分の署名付きハッシュを含む、コンピュータ実装方法。
  2. 前記暗号処理することは、
    前記コンピュータによって、前記メディアデータを、前記追跡された部分に対応する少なくとも1つの追跡されたデータサブセットに分割することと、
    前記コンピュータによって、前記少なくとも1つの追跡されたデータサブセットのハッシュを生成することと、
    前記コンピュータによって、前記少なくとも1つの追跡されたデータサブセットの前記ハッシュのメタデータを生成することと、
    前記コンピュータによって、前記ハッシュと前記ハッシュの前記メタデータを少なくとも1つの追跡されたデータパケットに結合することと、
    前記コンピュータによって、前記少なくとも1つのデータパケットに暗号的に署名することと、を含む、請求項1に記載のコンピュータ実装方法。
  3. 前記コンピュータによって、参照ファイルのメディアデータの追跡された部分を生成するために、前記マスターファイルのメディアデータの追跡された部分を修正することと、
    前記コンピュータによって、前記参照ファイルのメディアデータの追跡された部分、参照ファイルのメタデータ、および参照ファイルのブロックチェーンデータを含む参照ファイルを準備することと、
    をさらに含み、
    前記参照ファイルのブロックチェーンデータは、前記マスターファイルのブロックチェーンデータとブロックチェーンインクリメント情報を含み、
    前記ブロックチェーンインクリメント情報は、
    前記マスターファイルのブロックチェーンデータのハッシュ、参照ファイルのブロックチェーンメタデータ、追跡された部分のメタデータの署名付きハッシュ、前記マスターファイルのメディアデータの追跡された部分からメディアデータの追跡された部分をインクリメントする変更ログの署名付きハッシュ、および前記参照ファイルのメディアデータの追跡された部分の署名付きハッシュを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記参照ファイルは、前記修正された追跡された部分のメディアと前記マスターファイルのメディアデータの追跡された部分との間で前記コンピュータによってなされた複製可能な変更を示す命令をさらに含む、請求項3に記載のコンピュータ実装方法。
  5. 前記コンピュータによって、前記検証可能なマスターファイルのコピーとして特定される、チャレンジドマスターファイルを受信することと、
    前記コンピュータによって、前記チャレンジドマスターファイルを検証する要求を受信することと、
    前記コンピュータによって、前記チャレンジドマスターファイルの有効性を評価するために、マスターファイルの検証ルーチンを実行することと、
    をさらに含み、
    前記マスターファイルの検証ルーチンは、
    前記コンピュータによって、ハッシュ化されたチャレンジドマスターファイルのメディアデータの追跡された部分を生成するために、前記チャレンジドマスターファイルのメディアデータの追跡された部分をハッシュ化することと、
    前記コンピュータによって、署名なしチャレンジドマスターファイルのメディアデータの追跡された部分を生成するために、前記チャレンジドマスターファイルの前記メディアデータの追跡された部分の署名付きハッシュ部分の署名を削除することと、
    前記コンピュータによって、前記ハッシュ化されたチャレンジドマスターファイルのメディアデータの追跡された部分と前記署名なしチャレンジドマスターファイルのメディアデータの追跡された部分とが一致するかどうかを判断することと、
    を含む、請求項1に記載のコンピュータ実装方法。
  6. 前記コンピュータによって、前記マスターファイルの修正版として特定される参照ファイルを受信することと
    前記コンピュータによって、前記参照ファイルが前記マスターファイルの修正版であるかどうかを判断する要求を受信することと、
    前記コンピュータによって、参照ファイルの検証ルーチンを実行することと、
    をさらに含み、
    前記参照ファイルの検証ルーチンは、
    前記コンピュータによって、前記マスターファイルのブロックチェーンデータの前記ハッシュと、前記参照ファイルのブロックチェーンデータのハッシュとが一致するかどうかを判断することと、
    前記コンピュータによって、ハッシュ化された参照ファイルのメディアデータの追跡された部分を生成するために、前記ブロックチェーンインクリメント情報によって示される変更を前記参照ファイルのメディアデータの追跡された部分に適用し、署名なし参照ファイルのブロックチェーンデータを生成するために、参照ファイルのブロックチェーンデータを署名削除することと、
    前記コンピュータによって、前記ハッシュ化された参照ファイルのメディアデータの追跡された部分と、前記署名なし参照ファイルのブロックチェーンデータとが一致するかどうかを判断することと、
    を含む、請求項3に記載のコンピュータ実装方法。
  7. 前記コンピュータによって、前記マスターファイルの真正な修正として特定される参照ファイルを受信することと、
    前記コンピュータによって、分散可能なファイルを受信することと、
    前記コンピュータによって、前記分散可能なファイルが、前記マスターファイルの真正な修正として識別された前記参照ファイルの真正な修正であるかどうかを判断する要求を受信することと、
    前記コンピュータによって、分散可能ファイルの検証ルーチンを実行することと、
    を含み、
    前記分散可能ファイルの検証ルーチンは、分散可能ファイルのブロックチェーンデータのハッシュが前記参照ファイルのブロックチェーンデータのハッシュと一致するかどうか、および分散可能ファイルのメディアデータの追跡された部分のハッシュが代表メディアブロックの対応する署名なしハッシュと一致するかどうかを判断することを含む、請求項6に記載のコンピュータ実装方法。
  8. プログラム命令を実装したコンピュータ可読記憶媒体を含むコンピュータシステムであって、前記プログラム命令は、コンピュータによって実行可能であり、コンピュータに、
    キャプチャデバイスの出力を特定することであって、前記出力は記録されたイベントの態様を表す、特定することと、
    検証可能なマスターファイルを生成するために、前記キャプチャデバイスの出力を暗号処理することであって、前記マスターファイルは少なくとも1つの追跡された部分を含む、暗号処理することと、
    を行わせ、
    前記検証可能なマスターファイルは、前記キャプチャデバイスの出力からのマスターファイルのメディアデータの追跡された部分、マスターメタデータ、およびマスターファイルのブロックチェーンデータを含み、
    前記マスターファイルのブロックチェーンデータが、マスターファイルのブロックの履歴部分、マスターファイルの署名キー部分、および前記マスターファイルのメディアデータの追跡された部分の署名付きハッシュを含む、システム。
  9. 前記暗号処理することは、前記コンピュータに、
    前記コンピュータによって、前記メディアデータを、前記追跡された部分に対応する少なくとも1つの追跡されたデータサブセットに分割することと、
    前記少なくとも1つの追跡されたデータサブセットのハッシュを生成することと、
    前記少なくとも1つの追跡されたデータサブセットの前記ハッシュのメタデータを生成することと、
    前記ハッシュと前記ハッシュの前記メタデータを少なくとも1つの追跡されたデータパケットに結合することと、
    前記少なくとも1つのデータパケットに暗号的に署名することと、をさらに行わせる、請求項8に記載のシステム。
  10. 前記コンピュータに、
    参照ファイルのメディアデータの追跡された部分を生成するために、前記マスターファイルのメディアデータの追跡された部分を修正することと、
    前記参照ファイルのメディアデータの追跡された部分、参照ファイルのメタデータ、および参照ファイルのブロックチェーンデータを含む参照ファイルを準備することと、
    をさらに行わせ、
    前記参照ファイルのブロックチェーンデータは、前記マスターファイルのブロックチェーンデータとブロックチェーンインクリメント情報とを含み、
    前記ブロックチェーンインクリメント情報は、
    前記マスターファイルのブロックチェーンデータのハッシュ、追跡された部分のメタデータの署名付きハッシュ、前記マスターファイルのメディアデータの追跡された部分からメディアデータの追跡された部分をインクリメントする変更ログの署名付きハッシュ、参照ファイルのブロックチェーンメタデータ、および前記参照ファイルのメディアデータの追跡された部分の署名付きハッシュを含む、請求項8に記載のシステム。
  11. 前記参照ファイルは、前記修正されたメディアデータの追跡された部分と前記マスターファイルのメディアデータの追跡された部分との間で前記コンピュータによってなされた複製可能な変更を示す命令をさらに含む、請求項10に記載のシステム。
  12. 前記コンピュータに、
    前記検証可能なマスターファイルのコピーとして特定される、チャレンジドマスターファイルを受信することと、
    前記チャレンジドマスターファイルを検証する要求を受信することと、
    前記チャレンジドマスターファイルの有効性を評価するために、マスターファイルの検証ルーチンを実行することと、
    をさらに行わせ、
    前記マスターファイルの検証ルーチンは、前記コンピュータに、
    ハッシュ化されたチャレンジドマスターファイルのメディアデータの追跡された部分を生成するために、前記チャレンジドマスターファイルのメディアデータの追跡された部分をハッシュ化することと、
    前記コンピュータによって、署名なしチャレンジドマスターファイルのメディアデータの追跡された部分を生成するために、前記チャレンジドマスターファイルの前記メディアデータの追跡された部分の署名付きハッシュ部分の署名を削除することと、
    前記ハッシュ化されたチャレンジドマスターファイルのメディアデータの追跡された部分と前記署名なしチャレンジドマスターファイルのメディアデータの追跡された部分とが一致するかどうかを判断することと、
    をさらに行わせる、請求項8に記載のシステム。
  13. 前記マスターファイルの修正版として特定される参照ファイルを受信することと
    前記参照ファイルが前記マスターファイルの修正版であるかどうかを判断する要求を受信することと、
    参照ファイルの検証ルーチンを実行することと、
    をさらに含み、
    前記参照ファイルの検証ルーチンは、前記コンピュータに、
    前記マスターファイルのブロックチェーンデータの前記ハッシュと、前記参照ファイルのブロックチェーンデータのハッシュとが一致するかどうかを判断することと、
    ハッシュ化された参照ファイルのメディアデータの追跡された部分を生成するために、前記ブロックチェーンインクリメント情報によって示される変更を前記参照ファイルのメディアデータの追跡された部分に適用し、署名なし参照ファイルのブロックチェーンデータを生成するために、参照ファイルのブロックチェーンデータを署名削除することと、
    参照ファイルのメディアデータの追跡された部分と、前記署名なし参照ファイルのブロックチェーンデータとが一致するかどうかを判断することと、
    をさらに行わせる、請求項10に記載のシステム。
  14. 前記マスターファイルの真正な修正として特定される参照ファイルを受信することと、
    分散可能なファイルを受信することと、
    前記分散可能なファイルが、前記マスターファイルの真正な修正として識別された前記参照ファイルの真正な修正であるかどうかを判断する要求を受信することと、
    前記コンピュータによって、分散可能ファイルの検証ルーチンを実行することと、
    をさらに含み、
    前記分散可能ファイルの検証ルーチンは、分散可能ファイルのブロックチェーンデータのハッシュが前記参照ファイルのブロックチェーンデータのハッシュと一致するかどうか、および分散可能ファイルのメディアデータの追跡された部分のハッシュが代表メディアブロックの対応する署名なしハッシュと一致するかどうかを判断することを、さらに行わせる、請求項13に記載のシステム。
  15. プログラム命令を実装したコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、前記プログラム命令はコンピュータによって実行可能であり、前記コンピュータに、
    前記コンピュータを使用して、キャプチャデバイスの出力を特定することであって、前記出力は記録されたイベントの態様を表す、特定することと、
    前記コンピュータを使用して、検証可能なマスターファイルを生成するために、前記キャプチャデバイスの出力を暗号処理することであって、前記マスターファイルは少なくとも1つの追跡された部分を含む、暗号処理することと、
    を行わせ、
    前記検証可能なマスターファイルは、前記キャプチャデバイスの出力からのマスターファイルのメディアデータの追跡された部分、マスターメタデータ、およびマスターファイルのブロックチェーンデータを含み、
    前記マスターファイルのブロックチェーンデータが、マスターファイルのブロックの履歴部分と、マスターファイルの署名キー部分、および前記マスターファイルのメディアデータの追跡された部分の署名付きハッシュを含む、コンピュータプログラム製品。
  16. 前記暗号処理することは、前記コンピュータに、
    前記コンピュータによって、前記メディアデータを、前記追跡された部分に対応する少なくとも1つの追跡されたデータサブセットに分割することと、
    前記コンピュータを使用して、前記少なくとも1つの追跡されたデータサブセットのハッシュを生成することと、
    前記コンピュータを使用して、前記少なくとも1つの追跡されたデータサブセットの前記ハッシュのメタデータを生成することと、
    前記コンピュータを使用して、前記ハッシュと前記ハッシュの前記メタデータを少なくとも1つの追跡されたデータパケットに結合することと、
    前記コンピュータを使用して、前記少なくとも1つのデータパケットに暗号的に署名することと、をさらに行わせる、請求項15に記載のコンピュータプログラム製品。
  17. 前記コンピュータに、
    前記コンピュータを使用して、参照ファイルのメディアデータの追跡された部分を生成するために、前記マスターファイルのメディアデータの追跡された部分を修正することと、
    前記コンピュータを使用して、前記参照ファイルのメディアデータの追跡された部分、参照ファイルのメタデータ、および参照ファイルのブロックチェーンデータを含む参照ファイルを準備することと、
    をさらに行わせ、
    前記参照ファイルのブロックチェーンデータは、前記マスターファイルのブロックチェーンデータとブロックチェーンインクリメント情報とを含み、
    前記ブロックチェーンインクリメント情報は、
    前記マスターファイルのブロックチェーンデータのハッシュ、追跡された部分のメタデータの署名付きハッシュ、前記マスターファイルのメディアデータの追跡された部分からメディアデータの追跡された部分をインクリメントする変更ログの署名付きハッシュ、参照ファイルのブロックチェーンメタデータ、および前記参照ファイルのメディアデータの追跡された部分の署名付きハッシュを含む、請求項15に記載のコンピュータプログラム製品。
  18. 前記コンピュータに、
    前記コンピュータを使用して、前記検証可能なマスターファイルのコピーとして特定される、チャレンジドマスターファイルを受信することと、
    前記コンピュータを使用して、前記チャレンジドマスターファイルを検証する要求を受信することと、
    前記チャレンジドマスターファイルの有効性を評価するために、マスターファイルの検証ルーチンを実行することと、
    をさらに行わせ、
    前記マスターファイルの検証ルーチンは、前記コンピュータに、
    前記コンピュータを使用して、ハッシュ化されたチャレンジドマスターファイルのメディアデータの追跡された部分を生成するために、前記チャレンジドマスターファイルのメディアデータの追跡された部分をハッシュ化することと、
    前記コンピュータを使用して、前記コンピュータによって、署名なしチャレンジドマスターファイルのメディアデータの追跡された部分を生成するために、前記チャレンジドマスターファイルの前記メディアデータの追跡された部分の署名付きハッシュ部分の署名を削除することと、
    前記コンピュータを使用して、前記ハッシュ化されたチャレンジドマスターファイルのメディアデータの追跡された部分と前記署名なしチャレンジドマスターファイルのメディアデータの追跡された部分とが一致するかどうかを判断することと、
    をさらに行わせる、請求項15に記載のコンピュータプログラム製品。
  19. 前記コンピュータを使用して、前記マスターファイルの修正版として特定される参照ファイルを受信することと、
    前記コンピュータを使用して、前記参照ファイルが前記マスターファイルの修正版であるかどうかを判断する要求を受信することと、
    前記コンピュータを使用して、参照ファイルの検証ルーチンを実行することと、
    をさらに含み、
    前記参照ファイルの検証ルーチンは、前記コンピュータに、
    前記マスターファイルのブロックチェーンデータの前記ハッシュと、前記参照ファイルのブロックチェーンデータのハッシュとが一致するかどうかを判断することと、
    前記コンピュータを使用して、ハッシュ化された参照ファイルのメディアデータの追跡された部分を生成するために、前記ブロックチェーンインクリメント情報によって示される変更を前記参照ファイルのメディアデータの追跡された部分に適用し、署名なし参照ファイルのブロックチェーンデータを生成するために、参照ファイルのブロックチェーンデータを署名削除することと、
    前記コンピュータを使用して、前記ハッシュ化された参照ファイルのメディアデータの追跡された部分と、前記署名なし参照ファイルのブロックチェーンデータが一致するかどうかを判断することと、
    をさらに行わせる、請求項17に記載のコンピュータプログラム製品。
  20. 前記コンピュータを使用して、前記マスターファイルの真正な修正として特定される参照ファイルを受信することと、
    前記コンピュータを使用して、分散可能なファイルを受信することと、
    前記コンピュータを使用して、前記分散可能なファイルが、前記マスターファイルの真正な修正として識別された前記参照ファイルの真正な修正であるかどうかを判断する要求を受信することと、
    前記コンピュータによって、分散可能ファイルの検証ルーチンを実行することと、
    を含み、
    前記分散可能ファイルの検証ルーチンは、前記コンピュータに、前記分散可能ファイルのブロックチェーンデータのハッシュが前記参照ファイルのブロックチェーンデータのハッシュと一致するかどうか、および分散可能ファイルのメディアデータの追跡された部分のハッシュが代表メディアブロックの対応する署名なしハッシュと一致するかどうかを判断することをさらに行わせる、請求項19に記載のコンピュータプログラム製品。
JP2023506108A 2020-07-30 2021-06-15 受信したセンサデータの追跡された部分をコンピュータ暗号処理を使用して検証すること Pending JP2023535633A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/942,785 2020-07-30
US16/942,785 US11323264B2 (en) 2020-07-30 2020-07-30 Validating tracked portions of received sensor data using computer cryptographic processing
PCT/CN2021/100105 WO2022022126A1 (en) 2020-07-30 2021-06-15 Validating tracked portions of received sensor data using computer cryptographic processing

Publications (1)

Publication Number Publication Date
JP2023535633A true JP2023535633A (ja) 2023-08-18

Family

ID=80003572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023506108A Pending JP2023535633A (ja) 2020-07-30 2021-06-15 受信したセンサデータの追跡された部分をコンピュータ暗号処理を使用して検証すること

Country Status (6)

Country Link
US (1) US11323264B2 (ja)
JP (1) JP2023535633A (ja)
CN (1) CN116249982A (ja)
DE (1) DE112021004008T5 (ja)
GB (1) GB2612551A (ja)
WO (1) WO2022022126A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242415A (zh) * 2021-04-23 2022-10-25 伊姆西Ip控股有限责任公司 边缘交换机处实现的数据加密方法、电子设备和程序产品
US11818207B1 (en) * 2022-07-08 2023-11-14 T-Mobile Innovations Llc Methods and systems for ledger based content delivery using a mobile edge computing (MEC) server
US11792259B1 (en) 2022-09-28 2023-10-17 T-Mobile Innovations Llc Methods and systems for distributing rendering across devices in a customer premise

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7770013B2 (en) 1995-07-27 2010-08-03 Digimarc Corporation Digital authentication with digital and analog documents
DE19615301A1 (de) 1996-04-18 1997-10-23 Deutsche Telekom Ag Verfahren und Vorrichtung zum Aufzeichnen/Verarbeiten von authentischen Bild- und/oder Tondaten
US6199049B1 (en) 1998-09-30 2001-03-06 International Business Machines Corporation Verifiable electronic journal for a point of sale device and methods for using the same
US6628412B1 (en) 1999-08-05 2003-09-30 Hewlett-Packard Development Company, L.P. Methods of document management and automated document tracking, and a document management system
US7043473B1 (en) 2000-11-22 2006-05-09 Widevine Technologies, Inc. Media tracking system and method
US7262764B2 (en) 2002-10-31 2007-08-28 Microsoft Corporation Universal computing device for surface applications
DE10358144A1 (de) 2003-12-10 2005-08-04 Francotyp-Postalia Ag & Co. Kg Verfahren und Anordnung zum Authentifizieren von Daten
EP1908211A2 (en) 2005-07-27 2008-04-09 Doug Carson & Associates, Inc. Verifying provenance data associated with digital content
DE102007041694A1 (de) 2007-09-03 2009-03-05 Siemens Ag Verfahren zur Sicherstellung der Authentizität von digitalen Bild- und/oder Tonaufnahmen, digitales Aufzeichnungsgerät und Steuerungsprogramm
US9087325B2 (en) 2007-09-11 2015-07-21 Yahoo! Inc. Social network site including trust-based Wiki functionality
US9952934B2 (en) 2015-01-20 2018-04-24 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US11494761B2 (en) 2015-11-06 2022-11-08 Cable Television Laboratories, Inc. Systems and methods for digital asset security ecosystems
US9679276B1 (en) 2016-01-26 2017-06-13 Stampery, Inc. Systems and methods for using a block chain to certify the existence, integrity, and/or ownership of a file or communication
US20170373859A1 (en) 2016-06-23 2017-12-28 Praxik, Llc Cryptographic Signature System and Related Systems and Methods
CN106295401A (zh) 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法
WO2018195364A1 (en) * 2017-04-19 2018-10-25 Baton Systems, Inc. Time stamping systems and methods
EP3721578B1 (en) * 2017-12-08 2022-09-07 Ping Identity Corporation Methods and systems for recovering data using dynamic passwords
US20190361869A1 (en) 2018-05-24 2019-11-28 Imagerights International, Inc. Systems, devices, and methods for tracking creation and modification of digital records
US10348505B1 (en) 2018-05-24 2019-07-09 DeepTruth, LLC Systems and techniques for validation of media data
WO2019236470A1 (en) 2018-06-08 2019-12-12 The Trustees Of Columbia University In The City Of New York Blockchain-embedded secure digital camera system to verify audiovisual authenticity
US10361866B1 (en) 2018-08-13 2019-07-23 Truepic Inc. Proof of image authentication on a blockchain
US11298017B2 (en) * 2019-06-27 2022-04-12 Bao Tran Medical analysis system
US11637687B2 (en) * 2019-12-20 2023-04-25 Intel Corporation Methods and apparatus to determine provenance for data supply chains

Also Published As

Publication number Publication date
CN116249982A (zh) 2023-06-09
WO2022022126A1 (en) 2022-02-03
US20220038288A1 (en) 2022-02-03
US11323264B2 (en) 2022-05-03
DE112021004008T5 (de) 2023-06-01
GB2612551A (en) 2023-05-03
GB202302597D0 (en) 2023-04-12

Similar Documents

Publication Publication Date Title
US9824233B2 (en) Posixly secure open and access files by inode number
US10146671B2 (en) Testing of software upgrade
JP2023535633A (ja) 受信したセンサデータの追跡された部分をコンピュータ暗号処理を使用して検証すること
US20140081615A1 (en) Virtual systems testing
AU2021293965B2 (en) Preventing unauthorized package deployment in clusters
JP2022062705A (ja) ブロックチェーン実装型データ移行監査証跡を生成するためのコンピュータ実装方法、コンピュータシステム、プログラム(ブロックチェーンで実装されるデータ移行監査証跡)
US10623470B2 (en) Optimizing internet data transfers using an intelligent router agent
US10834289B2 (en) Detection of steganography on the perimeter
US9898281B2 (en) Verifying source code in disparate source control systems
US10540518B2 (en) Privacy annotation from differential analysis of snapshots
US11928605B2 (en) Techniques for cyber-attack event log fabrication
US20170134173A1 (en) Determining trustworthiness of a cryptographic certificate
US11917072B2 (en) Implementing opportunistic authentication of encrypted data
CN111598575A (zh) 业务流程控制方法、装置、电子设备和可读存储介质
US11496291B2 (en) Validating received sensor data using computer cryptographic processing
US9870304B2 (en) System for verifying historical artifacts in disparate source control systems
CN116158055A (zh) 用于软件部署配置的签名的实施
US20200142761A1 (en) Detecting co-resident services in a container cloud
US11755782B2 (en) Validating primary subsets of received sensor data using computer cryptographic processing
US20220179931A1 (en) Protection of a content repository using dynamic watermarking
US11483154B2 (en) Artificial intelligence certification of factsheets using blockchain
US11928131B2 (en) Synchronized activation of datasets in multicloud computing environment
US11283869B2 (en) Data governance in a dispersed storage network using bucket templates
US20220376924A1 (en) Header for conveying trustful client address
US10956517B2 (en) Holistic mapping and relocation of social media assets

Legal Events

Date Code Title Description
RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230405

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231114