(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023098680
(43)【公開日】2023-07-10
(54)【発明の名称】署名付きメディアデータを圧縮するための方法およびデバイス
(51)【国際特許分類】
H04L 9/32 20060101AFI20230703BHJP
G06F 21/64 20130101ALI20230703BHJP
【FI】
H04L9/32 200A
H04L9/32 200F
G06F21/64
【審査請求】未請求
【請求項の数】16
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022206369
(22)【出願日】2022-12-23
(31)【優先権主張番号】21217983
(32)【優先日】2021-12-28
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】502208205
【氏名又は名称】アクシス アーベー
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ボルカー, ビョルン
(72)【発明者】
【氏名】ルンドベリ, ステファン
(57)【要約】 (修正有)
【課題】署名付きメディアデータを圧縮するための方法及びデバイスを提供する。
【解決手段】署名付きメディアビットストリームは、データユニットと、署名ユニットと、から構成され、各署名ユニットが、1つ又は複数の、近くの関連するデータユニットから導出された少なくとも1つのフィンガープリントと、少なくとも1つのフィンガープリントのデジタル署名と、を含む。記憶方法は、メディアビットストリームのセグメントを受信することと、受信したセグメント中の反復データユニットのN≧2個のインスタンスを識別することと、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングした後に、受信されたセグメントを記憶する。検証方法は、記憶方法に従って記憶されたメディアビットストリームのセグメントを受信することと、署名ユニットを、その中に含まれているデジタル署名を使用して検証することと、を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
データユニット(I,O,P)と、1つまたは複数の近くのデータユニットに関連する署名ユニット(Sk)とから構成された署名付きメディアビットストリームを記憶する方法(200)であって、
各署名ユニットが、前記関連するデータユニットから導出された少なくとも1つのフィンガープリントと、前記少なくとも1つのフィンガープリントのデジタル署名とを含み、
前記方法が、
前記メディアビットストリームのセグメントを受信すること(210)と、
前記受信されたセグメント中の反復データユニット(O)のN≧2個のインスタンスを識別すること(212)と、
前記反復データユニットの前記識別されたインスタンスのうちの最高N-1個をプルーニングすること(214)と、
プルーニングの後に、前記受信されたセグメントを記憶すること(216)と
を含む、方法(200)。
【請求項2】
前記反復データユニットの前記プルーニングされたインスタンスのフィンガープリントをプルーニングすること(214.1)をさらに含み、
前記署名ユニットのうちの少なくとも1つが、
すべての関連するデータユニットのフィンガープリントと、
前記関連するデータユニットのプルーニング可能なものの前記フィンガープリントに依存しない、小さい署名(m)と
を含む、請求項1に記載の方法。
【請求項3】
前記署名ユニットが、そのままで記憶される、請求項1に記載の方法。
【請求項4】
各署名ユニットが、
すべての関連するデータユニットのフィンガープリントのうちのフィンガープリント(F)と、
プルーニング可能な関連するデータユニットの前記フィンガープリントに依存しない、フィンガープリントのうちの小さいフィンガープリント(f)と
を含む、請求項1または3に記載の方法。
【請求項5】
前記反復データユニットの前記プルーニングされたインスタンスの前記ビットストリーム中の位置を指示するプルーニングログを記憶すること(218)
をさらに含む、請求項1に記載の方法。
【請求項6】
各署名ユニットが、
前記関連するデータユニットの1つまたは複数のプルーニング可能なもののフィンガープリントに依存する、大きい署名(M)と、
プルーニング可能な関連するデータユニットの前記フィンガープリントに依存しない、小さい署名(m)と
を含み、
前記方法が、少なくとも1つのプルーニングされた反復データユニットに関連する署名ユニット中の前記大きい署名をプルーニングすること(220)をさらに含む、
請求項1から5のいずれか一項に記載の方法。
【請求項7】
データユニット(I,O,P)と、1つまたは複数の近くのデータユニットに関連する署名ユニット(Sk)とから構成された署名付きメディアビットストリームのセグメントを検証する方法(300)であって、
前記署名ユニットのうちの少なくとも1つが、
すべての関連するデータユニットのフィンガープリントと、
前記フィンガープリントのデジタル署名(M)と、
前記関連するデータユニットのプルーニング可能なものの前記フィンガープリントに依存しない、小さいデジタル署名(m)と
を含み、
前記方法が、
前記メディアビットストリームの記憶されたセグメントを受信すること(310)と、
前記小さいデジタル署名を使用して署名ユニットを検証すること(314)と、
受信された関連するデータユニットを、前記検証された署名ユニット中の前記フィンガープリントに関して検証すること(316a)と
を含む、方法(300)。
【請求項8】
データユニット(I,O,P)と、1つまたは複数の近くのデータユニットに関連する署名ユニット(Sk)とから構成された署名付きメディアビットストリームのセグメントを検証する方法(300)であって、
前記署名ユニットのうちの少なくとも1つが、
すべての関連するデータユニットのフィンガープリントのうちのフィンガープリント(F)と、
前記関連するデータユニットのプルーニング可能なものの前記フィンガープリントに依存しない、フィンガープリントのうちの小さいフィンガープリント(f)と、
フィンガープリントのうちの前記フィンガープリントの、およびフィンガープリントのうちの前記小さいフィンガープリントの、デジタル署名(M)と
を含み、
前記方法が、
前記メディアビットストリームの記憶されたセグメントを受信すること(310)と、
前記デジタル署名を使用して署名ユニットを検証すること(314)と、
受信された関連するデータユニットのフィンガープリントを算出すること(318)と、
前記算出されたフィンガープリントユニットのフィンガープリントを算出すること(322)と、
フィンガープリントのうちの前記算出されたフィンガープリントを、フィンガープリントのうちの前記小さいフィンガープリントに関して検証すること(324a)と
を含む、方法(300)。
【請求項9】
データユニット(I,O,P)と、1つまたは複数の近くのデータユニットに関連する署名ユニット(Sk)とから構成された署名付きメディアビットストリームのセグメントを検証する方法(300)であって、
前記署名ユニットのうちの少なくとも1つが、
前記関連するデータユニットの少なくとも1つのフィンガープリントと、
前記少なくとも1つのフィンガープリントのデジタル署名と
を含み、
前記方法は、
前記メディアビットストリームの記憶されたセグメントを受信すること(310)と、
前記記憶されたセグメントについてのプルーニングログを受信すること(312)であって、前記プルーニングログが、反復データユニット(O)のプルーニングされたインスタンスの前記ビットストリーム中の位置を指示する、プルーニングログを受信すること(312)と、
前記デジタル署名を使用して署名ユニットを検証すること(314)と、
前記プルーニングログによって指示された不在データユニットのフィンガープリントを無視しながら、受信された前記関連するデータユニットを、前記署名ユニットに関して検証すること(316b)と
を含む、方法(300)。
【請求項10】
前記署名ユニット中の前記少なくとも1つのフィンガープリントが、すべての関連するデータユニットのフィンガープリントのうちのフィンガープリントであり、前記方法が、
前記署名ユニットに関連する受信された前記データユニットのフィンガープリントを算出すること(318)と、
前記反復データユニットの、前記署名ユニットに関連しないインスタンスのフィンガープリントを算出し、前記プルーニングログに従って前記算出されたフィンガープリントを復帰させること(320a)と、
前記算出されたフィンガープリントのうちのフィンガープリントを算出すること(322)と、
フィンガープリントのうちの前記算出されたフィンガープリントを、前記署名ユニット中のフィンガープリントのうちの前記フィンガープリントに関して検証すること(324b)と
をさらに含む、請求項9に記載の方法。
【請求項11】
データユニット(I,O,P)と、1つまたは複数の近くのデータユニットに関連する署名ユニット(Sk)とから構成された署名付きメディアビットストリームのセグメントを検証する方法(300)であって、
前記署名ユニットのうちの少なくとも2つが、
すべての関連するデータユニットのフィンガープリントと、
少なくとも1つのフィンガープリントのデジタル署名と
を含み、
前記メディアビットストリームが、反復データユニット(O)の位置が固定であるフォーマットに従っており、
前記方法が、
前記メディアビットストリームの記憶されたセグメントを受信すること(310)と、
それぞれのデジタル署名を使用して前記署名ユニットを検証すること(314)と、
前記署名ユニットのうちの第1のものに関連する前記反復データユニット(O)のインスタンスを位置決めすること(326)と、
前記署名ユニットのうちの前記第1のものに関連する受信されたデータユニットを、その中の前記フィンガープリントに関して検証すること(328)と、
前記反復データユニットの前記位置決めされたインスタンスのフィンガープリントと一致するフィンガープリントを無視しながら、前記署名ユニットのうちの第2のものに関連する受信されたデータユニットを、その中の前記フィンガープリントに関して検証すること(330)と
を含む、方法(300)。
【請求項12】
データユニット(I,O,P)と、1つまたは複数の近くのデータユニットに関連する署名ユニット(Sk)とから構成された署名付きメディアビットストリームのセグメントを検証する方法(300)であって、
前記署名ユニットのうちの少なくとも1つが、
すべての関連するデータユニットのフィンガープリントのうちのフィンガープリントと、
フィンガープリントのうちの前記フィンガープリント(F)の、およびフィンガープリントのうちの小さいフィンガープリント(f)の、デジタル署名であって、フィンガープリントのうちの前記小さいフィンガープリントが、前記関連するデータユニットのプルーニング可能なもののフィンガープリントに依存しない、デジタル署名と
を含み、
前記メディアビットストリームが、反復データユニット(O)の位置が固定であるフォーマットに従っており、
前記方法が、
前記メディアビットストリームの記憶されたセグメントを受信すること(310)と、
前記デジタル署名を使用して署名ユニットを検証すること(314)と、
受信された関連するデータユニットのフィンガープリントを算出すること(318)と、
前記反復データユニットの、前記署名ユニットに関連しないインスタンスのフィンガープリントを算出し、前記固定位置に従って前記フィンガープリントを復帰させること(320b)と、
前記算出されたフィンガープリントのうちのフィンガープリントを算出すること(322)と、
フィンガープリントのうちの前記算出されたフィンガープリントを、前記署名ユニット中のフィンガープリントのうちの前記フィンガープリントに関して検証すること(324b)と
を含む、方法(300)。
【請求項13】
前記反復データユニットが、前記メディアビットストリームのすべてに適用可能なメタデータを含む、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記データユニットのうちの少なくともいくつかが、ビデオシーケンスのフレームに対応する、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記フィンガープリントのうちの少なくとも1つが、ハッシュまたはソルト付きハッシュである、請求項1から14のいずれか一項に記載の方法。
【請求項16】
請求項1から15のいずれか一項に記載の方法(200、300)を実施するように構成された処理回路(121、141)を備えるデバイス(120、140)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、無認可のアクティビティからデータを保護するためのセキュリティ構成(security arrangement)の分野に関する。本開示は、記憶空間および/または送信容量の使用の低減を伴う、署名付きメディアデータ、および特にビデオデータを記憶および検証する(validate)ための方法およびデバイスを提案する。
【背景技術】
【0002】
オーディオビットストリーム、ビデオビットストリームまたは他のメディアビットストリームは、様々なタイプのメタデータに関連し得る。メタデータは、その収集の時間、場所、コンテンツタイプおよび他の状態を指示するドキュメンテーションを含み得、メタデータは、メディアビットストリームのプレイバックを支援する設定、使用されたメディアコーディングフォーマットに関する情報、またはメディアビットストリームの受信者への潜在的関心の他の指示を含んでいることがある。メタデータをもつデータユニットをメディアビットストリーム中に周期的に挿入することによって、メタデータを受信者にとって利用可能にすることが慣例である。メディアビットストリームのオープンエンド性質のために、受信者が、ビットストリームの短いセグメントを消費するのか長いセグメントを消費するのか(たとえば、セグメントのコピーをプレイする、送るまたは保存する)、およびセグメントがビットストリーム中で時間的にどこに位置決めされるかを予測することが難しい。これは、メディアビットストリームの製作者が、メタデータをもつデータユニットを、比較的短い間隔において、データユニットが含んでいるそのメタデータがその間に変化しないにもかかわらず、挿入することをもたらす。挿入されたデータユニットは、不必要に記憶および通信リソースを消費するオーバーヘッドを表す。
【0003】
メタデータに加えて、ビットストリーム受信者が一度だけアクセスする必要がある任意のタイプの反復データユニット(repeating data unit)、いわゆる一度だけ必要な(only-needed-once)情報について、同様の問題が起こる。
【発明の概要】
【0004】
本開示の1つの目的は、一般的なデータユニットおよび署名ユニットに加えて反復データユニットを含んでいる、署名付きメディアビットストリームにおけるオーバーヘッドを低減するための方法およびデバイスを利用可能にすることである。この目的は、特に、メディアビットストリームの明確なセグメントにおけるオーバーヘッドを低減することを含み得る。その目的は、最初に署名されたメディアビットストリームのデータセキュリティを著しく損なうことなしに、オーバーヘッド低減を行うことをさらに含み得る。本開示のさらなる目的は、メディアビットストリームに再署名することなしに、すなわち、メディアビットストリームが最初に署名された暗号ファシリティ(cryptographic facility)へのアクセスを取得する必要なしに、オーバーヘッド低減を可能にすることである。またさらなる目的は、提案されるやり方でオーバーヘッド低減を受けたメディアビットストリームを検証するための方法およびデバイスを利用可能にすることである。
【0005】
これらの目的のうちの少なくともいくつかが、独立請求項において定義されるように本発明によって達成される。
【0006】
本発明の第1の態様では、データユニットI、O、Pと署名ユニットSkとから構成された署名付きメディアビットストリームを記憶する方法であって、それらの署名ユニットが1つまたは複数の近くのデータユニットに関連する、方法が提供される。本開示で使用される「記憶」することは、通信ネットワーク上で送信されるのに好適なデジタルデータファイルの準備など、永続的、長期および短期記憶、さらには一時(ephemeral)記憶に関係し得る。署名ユニットは、メディアビットストリームの受信者が、メディアビットストリームを検証すること、すなわち、署名ユニットが改変されていないことを妥当な信頼性を伴って確認する(verify)こと、およびデータユニットが署名ユニットと一致していることを確認することを可能にする。この目的で、各署名ユニットが、関連するデータユニットから導出された少なくとも1つのフィンガープリントと、少なくとも1つのフィンガープリントのデジタル署名とを含み得る。署名ユニットとのデータユニットの一致は、受信者側における独立したフィンガープリント計算が、署名ユニット中のフィンガープリントと同等のフィンガープリントを作り出すことになることを含み得る。第1の態様による本方法は、メディアビットストリームのセグメントを受信することと、受信されたセグメント中の反復データユニットOのN≧2個のインスタンスを識別することと、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすることと、プルーニングの後に、受信されたセグメントを記憶することとを含む。
【0007】
反復データユニットのうちのいくつかが除去されるので、メディアビットストリームの記憶されたセグメントのサイズは、受信されたセグメントのサイズよりも小さくなり、これは、メモリおよび通信リソースを温存する。さらに、少なくとも1つの反復ユニットが、記憶されたセグメント中に残っているので、メタデータへの受信者のアクセスが保証される。さらに、発明者は、受信者が受信されたセグメントを検証し得るのと匹敵するセキュリティレベルにおいて受信者がメディアビットストリームの記憶されたセグメントを検証することができる、プロシージャが設計され得ることを了解した。これは、検証(validation)が受信者側において成功している限り、記憶されたセグメントが、その真正性または完全性に関する新しい不確実性を導入することなしに、非セキュアなメモリ中に置かれることまたは非セキュア通信チャネル上で共有されることを可能にする。
【0008】
本発明の第2の態様では、データユニットI、O、Pと署名ユニットSkとから構成された署名付きメディアビットストリームのセグメントを検証する方法であって、その署名ユニットが1つまたは複数の近くのデータユニットに関連する、方法が提供される。各署名ユニットが、最小限として、関連するデータユニットから導出された少なくとも1つのフィンガープリントと、少なくとも1つのフィンガープリントのデジタル署名とを含んでいる。本方法は、メディアビットストリームの記憶されたセグメントを受信することと、署名ユニットを、その中に含まれている(1つまたは複数の)デジタル署名のうちのいずれかを使用して検証することとを含む。受信された関連するデータユニットは、次いで、直接的にまたは間接的にのいずれかで検証され、これは、記憶されたセグメントの真正性および/または完全性の確証(confirmation)としてとられ得る。
【0009】
一実施形態では、署名ユニットのうちの少なくとも1つが、すべての関連するデータユニットのフィンガープリントと、前記フィンガープリントのデジタル署名と、関連するデータユニットのプルーニング可能なもののフィンガープリントに依存しない、小さい(minor)デジタル署名とを含む。この実施形態では、本方法は、メディアビットストリームの記憶されたセグメントを受信することと、小さいデジタル署名を使用して署名ユニットを検証することと、受信された関連するデータユニットを、検証された署名ユニット中のフィンガープリントに関して検証することとを含む。
【0010】
別の実施形態では、署名ユニットのうちの少なくとも1つが、すべての関連するデータユニットのフィンガープリントのうちのフィンガープリントと、関連するデータユニットのプルーニング可能なもののフィンガープリントに依存しない、フィンガープリントのうちの小さいフィンガープリント(minor fingerprint)と(署名ユニットが、通常、反復データユニットのインスタンスがプルーニングされる前に、元のメディアビットストリームに基づいて準備されていることが想起される)、フィンガープリントのうちのフィンガープリントの、およびフィンガープリントのうちの小さいフィンガープリントの、デジタル署名とを含む。検証方法は、メディアビットストリームの記憶されたセグメントを受信することと、デジタル署名を使用して署名ユニットを検証することと、受信された関連するデータユニットのフィンガープリントを算出することと、算出されたフィンガープリントユニットのフィンガープリントを算出することと、フィンガープリントのうちの算出されたフィンガープリントを、フィンガープリントのうちの小さいフィンガープリントに関して検証することとを含む。
【0011】
別の実施形態では、署名ユニットのうちの少なくとも1つが、関連するデータユニットの少なくとも1つのフィンガープリントと、少なくとも1つのフィンガープリントのデジタル署名とを含む。本方法は、その場合、メディアビットストリームの記憶されたセグメントを受信することと、記憶されたセグメントについてのプルーニングログを受信することであって、プルーニングログが、反復データユニットOのプルーニングされたインスタンスのビットストリーム中の位置を指示する、プルーニングログを受信することと、デジタル署名を使用して署名ユニットを検証することと、プルーニングログによって指示された不在データユニットのフィンガープリントを無視しながら、受信された関連するデータユニットを、署名ユニットに関して検証することとを含む。
【0012】
以下で説明されることになる、この実施形態のさらなる発展が、署名ユニット中の前記少なくとも1つのフィンガープリントが、すべての関連するデータユニットのフィンガープリントのうちのフィンガープリントである場合に対処する。
【0013】
別の実施形態では、署名ユニットのうちの少なくとも2つが、すべての関連するデータユニットのフィンガープリントと、少なくとも1つのフィンガープリントのデジタル署名とを含む。本方法は、その場合、メディアビットストリームの記憶されたセグメントを受信することと、それぞれのデジタル署名を使用して署名ユニットを検証することと、署名ユニットのうちの第1のものに関連する反復データユニットOのインスタンスを位置決めすることと、反復データユニットの位置決めされたインスタンスのフィンガープリントと一致するフィンガープリントが無視されながら、署名ユニットのうちの第2のものに関連する受信されたデータユニットを、その中のフィンガープリントに関して検証することとを適切に含む。随意に、この実施形態は、署名ユニットのうちの第1のものに関連する受信されたデータユニットを、その中のフィンガープリントに関して検証するステップをも含む。
【0014】
また別の実施形態では、署名ユニットのうちの少なくとも1つが、すべての関連するデータユニットのフィンガープリントのうちのフィンガープリントと、フィンガープリントのうちのフィンガープリントの、およびフィンガープリントのうちの小さいフィンガープリントの、デジタル署名とを含む。さらに、メディアビットストリームは、反復データユニットOの位置が固定である(すなわち、受信者側において再生可能であるという意味で)フォーマットに従っている。この使用事例に対処するために、本方法は、メディアビットストリームの記憶されたセグメントを受信することと、デジタル署名を使用して署名ユニットを検証することと、受信された関連するデータユニットのフィンガープリントを算出することと、反復データユニットの、署名ユニットに関連しないインスタンスのフィンガープリントを算出し、前記固定位置に従ってフィンガープリントを復帰させることと、算出されたフィンガープリントのうちのフィンガープリントを算出することと、フィンガープリントのうちの算出されたフィンガープリントを、署名ユニット中のフィンガープリントのうちのフィンガープリントに関して検証することとを含む。
【0015】
これらの概説される実施形態のいずれも、メディアビットストリームフォーマットのそれぞれの構成について、メディアビットストリームの記憶されたセグメントが受信者側において検証され得ることを保証する。したがって、反復データユニットOのプルーニングは、署名の有用性を無効にしない、オーバーヘッド低減を達成する。署名-検証チェーンはそのままである。
【0016】
本発明の第3の態様では、メディアビットストリームのセグメントの記憶に関してデータ圧縮が可能にされる署名付きメディアビットストリームを生成する方法が提供される。本方法は、データユニットI、O、Pと、1つまたは複数の近くのデータユニットに関連する署名ユニットSkとから構成されたビットストリームを生成し、各署名ユニットは、関連するデータユニットから導出された少なくとも1つのフィンガープリントと、少なくとも1つのフィンガープリントのデジタル署名とを含む。第3の態様によれば、署名ユニットのうちの少なくとも1つが、
(a)すべての関連するデータユニットのフィンガープリント、および、関連するデータユニットのプルーニング可能なもののフィンガープリントに依存しない、小さい署名(minor signature)、ならびに/または
(b)すべての関連するデータユニットのフィンガープリントのうちのフィンガープリント、および、プルーニング可能な関連するデータユニットのフィンガープリントに依存しない、フィンガープリントのうちの小さいフィンガープリント
を含む。
本方法は、第1および第2の態様による方法の実施をサポートする。本方法は、たとえば、ビデオ収集システムにおいて実装され得る。
【0017】
本発明は、さらに、上記の方法を行うように構成されたデバイス、ならびにコンピュータにこれらの方法を行わせるための命令を含んでいるコンピュータプログラムに関する。コンピュータプログラムは、データキャリア上に記憶または分散され得る。本明細書で使用される「データキャリア」は、変調された電磁波または光波などの一時的データキャリア、あるいは非一時的データキャリアであり得る。非一時的データキャリアは、磁気、光またはソリッドステートタイプの永続的および非永続的記憶媒体など、揮発性および不揮発性メモリを含む。依然として「データキャリア」の範囲内で、そのようなメモリは、固定式に取り付けられるかまたはポータブルであり得る。
【0018】
概して、特許請求の範囲において使用されるすべての用語は、本明細書で別段明示的に定義されない限り、本技術分野におけるその通例の意味に従って解釈されるべきである。「1つの(a/an)/その(the)要素、装置、構成要素、手段、ステップなど」へのすべての言及は、別段明示的に述べられていない限り、その要素、装置、構成要素、手段、ステップなどの少なくとも1つの事例を指すようにオープンに解釈されるべきである。本明細書で説明されるいずれの方法のステップも、明示的に述べられていない限り、開示される厳密な順序で実施される必要はない。
【0019】
次に、例として、添付の図面を参照しながら、態様および実施形態が説明される。
【図面の簡単な説明】
【0020】
【
図1】署名付きメディアビットストリームのセグメントを交換する、接続されたエンティティを示す図である。
【
図2】署名付きメディアビットストリームを記憶する方法のフローチャートである。
【
図3】署名付きメディアビットストリームのセグメントを検証する方法のフローチャートである。
【
図4】そのそれぞれのコンテンツが図の下側部分に示されている、署名ユニットS
1、S
2、S
3と、固定位置における反復フレームOとを含むビデオフレームのシーケンスであって、本発明の実施形態1A.1が記憶および検証のためにそれに適用可能である、ビデオフレームのシーケンスを示す図である。
【
図5】そのそれぞれのコンテンツが図の下側部分に示されている、署名ユニットS
1、S
2、S
3と、固定位置における反復フレームOとを含むビデオフレームのシーケンスであって、本発明の実施形態1A.2が記憶および検証のためにそれに適用可能である、ビデオフレームのシーケンスを示す図である。
【
図6】そのそれぞれのコンテンツが図の下側部分に示されている、署名ユニットS
1、S
2、S
3と、固定位置における反復フレームOとを含むビデオフレームのシーケンスであって、本発明の実施形態1Bが記憶および検証のためにそれに適用可能である、ビデオフレームのシーケンスを示す図である。
【
図7】そのそれぞれのコンテンツが図の下側部分に示されている、署名ユニットS
1、S
2、S
3と、任意位置における反復フレームOとを含むビデオフレームのシーケンスであって、本発明の実施形態2A.1が記憶および検証のためにそれに適用可能であり、データ構造LOGが、記憶において追加され、検証において調べられる、ビデオフレームのシーケンスを示す図である。
【
図8】そのそれぞれのコンテンツが図の下側部分に示されている、署名ユニットS
1、S
2、S
3と、任意位置における反復フレームOとを含むビデオフレームのシーケンスであって、本発明の実施形態2A.2が記憶および検証のためにそれに適用可能である、ビデオフレームのシーケンスを示す図である。
【
図9】そのそれぞれのコンテンツが図の下側部分に示されている、署名ユニットS
1、S
2、S
3と、任意位置における反復フレームOとを含むビデオフレームのシーケンスであって、本発明の実施形態2B.1が記憶および検証のためにそれに適用可能であり、データ構造LOGが、記憶において追加され、検証において調べられる、ビデオフレームのシーケンスを示す図である。
【
図10】そのそれぞれのコンテンツが図の下側部分に示されている、署名ユニットS
1、S
2、S
3と、任意位置における反復フレームOとを含むビデオフレームのシーケンスであって、本発明の実施形態2B.2が記憶および検証のためにそれに適用可能である、ビデオフレームのシーケンスを示す図である。
【発明を実施するための形態】
【0021】
次に、本発明のいくつかの実施形態が示されている添付の図面を参照しながら、本開示の態様が以下でより十分に説明される。しかしながら、これらの態様は、多くの異なる形態で具現化され得、限定的なものとして解釈されるべきではなく、むしろ、これらの実施形態は、本開示が徹底的かつ完全であり、本発明のすべての態様の範囲を当業者に十分に伝えるように、例として提供される。同様の番号は、説明全体にわたって同様の要素を指す。
【0022】
メディアビットストリームのセグメントを記憶および検証するための方法およびデバイスは、様々な異なるコンテキストにおいておよび多くのタイプのメディアデータについて、貴重なものであり得る。
図1は、署名付きメディアビットストリームのセグメントを交換する(たとえば、記憶する/取り出す、送る/受信する)接続されたエンティティを示す。
図1は、ビデオ収集システム110が、署名付きビデオビットストリームを生成し、第1のデバイス120が、その署名付きビデオビットストリームを、チャネル130に好適なものにするために記憶し、それにより、受信者がその署名付きビデオビットストリームを取得することを可能にする、1つの現在企図される使用事例を示す。チャネル130は、通信ネットワーク131、ポータブルメモリ132および/またはメモリ133からなり得る。ビットストリームセグメントを「記憶」する行為は、いくつかの実施形態では、メモリ132、133中の従来の長期または短期記憶に加えて、通信ネットワーク131上で送信されるのに好適なデジタルデーテファイルの準備など、一時記憶に関係し得ることが想起される。受信者は、チャネル130からビデオビットストリームの記憶されたセグメントを取り出し、検証するように構成された第2のデバイス140を自由に使うことができ、随意に、ビデオシーケンスをレンダリングするためのプレイバックデバイス150を使用する。特に、メモリ132、133中の記憶の使用事例では、ビデオビットストリームの記憶を実施するエンティティが、受信者と一致し得ることに留意されたい。この場合、たとえば、第1のデバイス120と第2のデバイス140とが一致するとき、ビデオビットストリームセグメントの検証は、そのセグメントがメモリ132、133のうちの1つ中に置かれた後に、そのセグメントが、改変されなかったことを確認するのに役立つ。
【0023】
ビデオ収集システム110は、より正確には、カメラ111と、メタデータ挿入段112と、暗号化要素113とを含む。カメラ111は、ビデオデータユニットを含むビデオビットストリームとして表される、カメラ111が出力するビデオシーケンスを収集するように構成される。ビデオデータユニットのうちの少なくともいくつかが、ビデオシーケンスのそれぞれのフレームに対応し得る。その対応は、1つのフレームに固有であるすべてのデータが、それぞれのビデオデータユニット中に含まれていることを必要とし得る。ビデオビットストリームは、メッセージ、署名ユニットまたは他のデータ構造など、非フレームデータユニットをさらに含み得る。
【0024】
カメラ111は、予測コーディングと随意に組み合わせられる、ロスレスまたはロッシー圧縮など、様々なタイプのデータ圧縮を適用するように構成され得る。次の段落において予測コーディングの要素を検討する前に、本発明は、予測コーディングが適用されていないビデオビットストリームを含む、一般的なメディアビットストリームに適用可能であることが強調される。
【0025】
共通のシーンを示す過去のフレームに鑑みてあるビデオフレームを予測する能力は、予測コーディングの基礎をなす仮定である。予測コーディングは、ビデオデータのために特に適応されたデータ圧縮技法として説明され得る。予測コード化ビデオシーケンスのセグメントが、IフレームとPフレームとから構成され得る。IフレームとPフレームとは、これらのデータ構造が符号化する平文ビデオフレームと混同されるべきでない。Iフレームは、あらかじめ定義された関連する復号演算によって平文ビデオフレーム(またはビデオフレームのブロック)に復号され得る、単独で復号可能なビデオデータをもつデータ構造である。Pフレームは、その一部について、その関連する復号演算が、Pフレーム自体のビデオデータだけでなく少なくとも1つの他のIフレームまたはPフレームをも参照するデータ構造である。概念的に、およびやや簡略化されると、Pフレーム中のビデオデータは、その前のIフレームまたはPフレームが符号化するビデオフレームに対する変更または移動を表す。通常、復号演算が成功した場合、PフレームおよびIフレームから復号されるビデオフレームが区別され得ない。ビデオビットストリームの例示的なフラグメントが、IPPIPPPPIPPPIPPPの外観を有し得る。ここで、各Pフレームが、直前のIフレームまたはPフレームを参照する。リーディングPフレームが、前のPフレームを参照する場合、前のPフレームは、必ず少なくとも1つのさらなるIフレームまたはPフレームを参照する。Iフレームと、直接または間接的にIフレームを参照する後続のPフレームとの組合せは、ピクチャグループ(GOP)と呼ばれることがある。例では、以下のGOP、すなわち、IPP、IPPPP、IPPP、IPPPが見分けられ得る。
【0026】
予測コーディングの2つのさらなる発展が、第2の例示的なフレームシーケンス、IBBPBBIBBPBBIによって示され得る。ここで、Bフレームが、それらの最も近いIフレームまたはPフレームネイバーを(双方向に)参照し、各Pフレームが、最も近い前のIフレームを(一方向に)参照する。したがって、順方向予測Pフレーム構造に加えて、双方向予測Bフレームが予測コーディングにおいて使用され得る。基礎をなす双方向予測演算は、平滑化など、参照されるフレーム間の補間を含み得る。第2の例、IBBPBBIBBPBBIは、Pフレームが、直前に来る必要はないが、2つまたはそれ以上のステップ離れて位置決めされ得る、Iフレーム、PフレームまたはBフレームを参照することができることをさらに示す。第2の例のフラグメント、IBBPBBIBBPBBIは、それが他のIフレーム、PフレームまたはBフレームの参照なしに復号され得るので、GOPとして特徴づけられ得る。勧告ITU-T H.264(2019年6月)「Advanced video coding for generic audiovisual services」、国際電気通信連合、は、順方向予測フレームと双方向予測フレームの両方が使用されるビデオコーディング規格を指定する。
【0027】
同等の記法I、Pが本開示で使用されるが、すべてのIフレームおよびPフレームについて、これらのフレームが同一のコピーでないことを理解されたい。むしろ、それらは、フレームにわたって一致することも一致しないこともある、互いに依存しないビデオデータを含んでいる。
【0028】
メタデータ挿入段112は、ビデオビットストリームの全体に適用可能なメタデータを含んでいるデータユニットOを挿入するように構成される。すでに言及したように、このメタデータは、時間、場所およびビデオビットストリームの収集(の開始または終了)の他の状態を指示するドキュメンテーションを含み得、そのメタデータは、最適プレイバックを可能にする設定、使用されたビデオコーディングフォーマットに関する情報、検証のために使用されるべき証明書または(公開)暗号鍵、あるいはビデオビットストリームの受信者への潜在的使用の他の指示を含んでいることがある。これらの指示のいずれも変化しない限り、メタデータも不変であり、したがって、データユニットOは、反復と見なされ得る。したがって、ビデオビットストリームの受信者が、受信者の選定のいずれか1つのデータユニットOからメタデータを取得することを選定し得る。機能するシステムでは、概して、ビデオビットストリーム中のさらなるデータユニットOを読み取ることから期待されるべき追加の恩恵がない。
【0029】
暗号化要素113は、ビデオビットストリームに署名ユニットS1、S2、S3を挿入するように構成される。説明されることになるすべての実施形態では、各署名ユニットが、署名ユニットの前に、署名ユニットの後に、または署名ユニットの周りに位置決めされた関連するデータユニットから導出された少なくとも1つのフィンガープリント、ならびに少なくとも1つのフィンガープリントのデジタル署名を含む。フィンガープリントの集合は、ドキュメントと呼ばれることがある。デジタル署名を生成するために、暗号化要素113は、秘密鍵をその中に記憶していることがある。受信者は、受信者が、暗号化要素113によって作り出された署名が真正であることを確認するが、新しい署名を生成しないことを可能にする、同じ鍵ペアに属する公開鍵を保持し得る。示されている例では、公開鍵は、暗号化要素143中に保持される。公開鍵はまた、メディアビットストリームのメタデータとして含まれ得、その場合、公開鍵を受信者側において記憶する必要がない。ITU-T H.264フォーマットでは、署名ユニットは、ビデオビットストリーム中に補足エンハンスメント情報(SEI)メッセージとして含まれ得る。AV1規格では、署名は、メタデータオープンビットストリームユニット(OBU)中に含まれ得る。
【0030】
署名ユニットS1、S2、S3の各々は、すべての関連するデータユニットのフィンガープリントを含み得るか、またはそれは、すべての関連するデータユニットのフィンガープリントのうちのフィンガープリントを含み得るかのいずれかであり得る。フィンガープリントの各々は、ハッシュまたはソルト付きハッシュであり得る。ソルト付きハッシュは、データユニット(またはデータユニットの一部分)と暗号化ソルトとの組合せのハッシュであり得、ソルトの存在は、複数のハッシュへのアクセスを有する無認可のパーティが、どんなハッシュ関数が使用されているかを推測するのを阻止し得る。潜在的に有用な暗号化ソルトは、アクティブ内部カウンタの値と、乱数と、署名の時間および場所とを含む。ハッシュは、署名されるべきビデオデータの機密性に鑑みて、および/またはビデオデータが無認可のパーティによって操作された場合に問題となるであろう値に鑑みて十分であると見なされる安全レベルを提供する暗号関数である、ハッシュ関数(または、一方向性関数)hによって生成され得る。3つの例は、SHA-256、SHA3-512、およびRSA-1024である。ハッシュ関数は、フィンガープリントが、受信者がフィンガープリントを確認することになるときに再生成され得るように、あらかじめ定義されるものとする(たとえば、ハッシュ関数は再生可能であるものとする)。
【0031】
ビデオビットストリームセグメントの記憶が
図2の記憶方法200に従って実施される、第1のデバイス120は、処理回路121とメモリ122とから機能的に構成された、任意の好適なローカルまたは分散処理リソースであり得る。第1のデバイスは、いわゆるビデオ管理システム、またはVMSの構成要素であり得る。様々な実施形態では、第1のデバイス120は、ライブビデオビットストリームまたはオフラインビデオビットストリーム、またはその両方を処理するように構成される。
【0032】
第2のデバイス140は、処理回路141と、メモリ142と、公開鍵が中に置かれた随意の暗号化要素143とから機能的に構成された任意の好適な形態のローカルまたは分散処理リソースとして実装され得る。第2のデバイス140は、次に説明されることになる実施形態のいずれかによる、
図3の検証方法300を行うように構成される。
【0033】
概観として、表1は、それぞれ、
図2および
図3に示されている、記憶方法200および検証方法300の実施形態の適用可能性を指示する。
図2および
図3では、点線ボックスが、随意であるか、またはいくつかの実施形態においてのみ行われる、ステップを表す。
図2および
図3に示されているステップの順序は必ずしも意味のあるものであるとは限らないことが強調される。むしろ、当業者が了解するように、いくつかのステップの順序が修正され得、および/またはいくつかのステップが並列に実行され得る。
【0034】
実施形態1A.1
図4に関して、データユニットI、Pを含んでおり、反復データユニットOが矩形によって指示された固定位置を占有する、メディアビットストリームフォーマットが考慮される。そのビットストリームフォーマットは、そのような固定位置を指定するので、第2のデバイス140は、記憶されたビットストリームセグメント中のどのデータユニット間で、第1のデバイス120が、もしあれば、反復データユニットOのインスタンスをプルーニングしたかを解明することが可能であることになる。
図4中のデータユニットI、Pは、関連する署名ユニットS
1、S
2、S
3に先行するが、他の実施形態では、データユニットI、Pは、署名ユニットS
1、S
2、S
3に続き得るか、またはデータユニットI、Pが前と後の両方に位置決めされ得ることに留意されたい。
図4では、署名ユニットS
1、S
2、S
3は、各々、関連するデータユニットの個々のフィンガープリント(ハッシュ)のドキュメントを含んでおり、署名Mをさらに含んでいることがわかる。署名ユニットは、署名Mを使用して受信者側において検証され得る。メディアビットストリームがビデオビットストリームであると仮定すると、IデータユニットおよびPデータユニットは、IフレームおよびPフレームを表し得、GOPごとに1つの署名ユニットがある。
【0035】
記憶方法200の実施形態1A.1は、メディアビットストリームのセグメントを受信すること210と、受信されたセグメント中の反復データユニットOのN≧2個のインスタンスを識別すること212と、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすること214と、プルーニングの後に、受信されたセグメントを記憶すること216とを含む。署名ユニットS1、S2、S3は、そのままで、すなわち、210においてそれらが受信されたのと同じ状態で記憶されることを理解されたい。
【0036】
セグメントを受信するステップ210は、セグメントが、ローカルまたは外部通信ネットワーク上で送られるメッセージ中で配信されるようにすることを含み得、通信は、方法200を実施するエンティティとは異なるエンティティによって始動されることによって自己要求されていることがある。ステップ210の意味において「受信」することは、メモリからセグメントを取り出すことをも含むことができる。
【0037】
反復データユニットOの識別されたインスタンスのうちのある数をプルーニングするステップ214は、データユニットが記憶される前に、セグメントからそのデータユニットを削除することを含むことができる。ステップ214は、インスタンスに、それらが保存されないおよび/または送信されないものとすること、あるいはそれらが、記憶されるとメモリ中で自由に上書きされることを指示するマーカー(フラグ)を追加することなど、間接的な様々なタイプの削除要求をも含むことができる。
【0038】
プルーニングの後に、受信されたセグメントを記憶するステップ216は、ファイル、オブジェクト、データベースアイテムまたは別のデータ構造をインスタンス化または編集することを含み得る。すでに述べられたように、永続する様式で、たとえば、不揮発性メモリ中に、記憶されたセグメントを維持することは、本発明にとって必須ではない。むしろ、記憶されたセグメントは、差し迫った送信または中継のために使用されるべき一時ファイルであり得、これは、その後廃棄され得る。セグメントの全体を表すファイルが、ある時点で存在することが必須ではなく、むしろ、セグメントのより早い部分のネットワーク送信が、セグメントのより後の部分が作成される前に始まることができる。これは、オーバーヘッド低減方法200が、ライブストリーミングおよび同様の適用例に好適な処理チェーンにおいて統合されることを可能にする。
【0039】
方法200は、新しいデジタル署名を生成することを許可されない、すなわち、秘密鍵へのアクセスがない、エンティティによって正常に実施され得ることに留意されたい。したがって、方法200は、
図1中の第1のデバイス120によって実装され得る。
【0040】
検証方法300の実施形態1A.1は、メディアビットストリームの記憶されたセグメントを受信すること310と、それぞれのデジタル署名を使用して署名ユニットを検証すること314と、署名ユニットのうちの第1のものに関連する反復データユニットOのインスタンスを位置決めすること326と、署名ユニットのうちの第1のものに関連する受信されたデータユニットを、その中のフィンガープリントに関して検証すること328と、署名ユニットのうちの第2のものに関連する受信されたデータユニットを、その中のフィンガープリントに関して検証すること330とを含む。ステップ330において、反復データユニットの位置決めされたインスタンスのフィンガープリントと一致するフィンガープリントが無視される。この無視することは、反復データユニットOがすでに検証されたので、セキュリティの観点から中立である。無視することはまた、検証方法300が、反復データユニットOのいくつかのインスタンスがプルーニングされたにもかかわらず、進むことを可能し、それにより、対応するフィンガープリントは、メディアビットストリームの受信されたセグメント中でデータユニットとペアリングされ得ない。
【0041】
記憶されたセグメントを受信するステップ310は、通信ネットワーク131上で送信されるメッセージ中のセグメントを受信すること、および/またはメモリ132、133などからセグメントを読み取ることを含み得る。
【0042】
署名ユニットS1、S2、S3を検証するステップ314は、それ自体知られている様式で、その中に含まれているフィンガープリントが真正であることを検証するために鍵ペアの公開鍵を使用することを含み得る。これは、非対称署名セットアップとして説明され得、ここで、署名および確認は、秘密/公開鍵に対応する別個の暗号化演算である。本発明の範囲から逸脱することなく、対称および/または非対称確認演算の他の組合せが可能である。
【0043】
受信されたデータユニットI、Pを検証するステップ328および330は、メディアビットストリームのソースにおいて実施されたと見なされるフィンガープリンティング演算を複製すること、すなわち、同じハッシュ関数hを使用してフィンガープリントを再算出することを含み得る。署名ユニット中のすべてのフィンガープリントが正常に確認された場合、セグメントの対応するデータユニットが真正であると結論付けられ得る(検証)。
【0044】
「受信」すること、「プルーニング」すること、「検証」することなど、ステップに関係する詳細は、別段に明記されていない限り、本開示の後のセクションにおいて説明されることになる実施形態にも適用可能であり、したがって繰り返されない。
【0045】
実施形態1A.2
図5に関して、反復データユニットOが、矩形によって指示された固定位置を占有する、メディアビットストリームフォーマットが考慮される。第1のデバイス120が、反復データユニットOの1つのインスタンスをプルーニングした場合、第2のデバイス140は、記憶されたビットストリームセグメント中のどのデータユニット間で、これらのインスタンスが位置決めされたかを決定することが可能であることになる。
図5では、署名ユニットS
1、S
2、S
3が、関連するデータユニットの個々のハッシュを含んでいることがわかる。署名ユニットS
1、S
2、S
3は、署名(大きい(major)署名)Mと、小さい署名mとをさらに含んでいる。大きい署名Mは、元の署名ユニットを検証するために、すなわち、ビデオ収集システム110を出るときのその状態において使用される。小さい署名mは、反復データユニットOのプルーニング可能なインスタンスのフィンガープリントに依存しない。反復データユニットOのインスタンスは、それがセグメント中の唯一のインスタンスでない限り、概してプルーニング可能であり、唯一のインスタンスである場合、受信者は、別のインスタンスからメタデータを読み取ることによってそのインスタンスを置き換えることができない。第2の署名ユニットS
2は、反復データユニットのプルーニング可能なインスタンスのフィンガープリントを含んでおらず、したがって、小さい署名mを含む必要がないが、これは、ビットストリームフォーマットの均一性を向上させるために随意に行われ得る。
【0046】
小さい署名および大きい署名を生成するためのやり方が、一例として第1の署名ユニットS1を使用して、手短に説明される。一方では、これらの署名は、以下のように生成され得る。
M=s({h(O),h(I),h(P),h(P)})、
m=s({h(I),h(P),h(P)})、
ここで、{・}は連結を示し、sは、鍵ペア中の秘密鍵に依存する署名関数である。小さい署名mはh(O)に依存しないことに留意されたい。代替的に、小さい署名および大きい署名は、繰り返し、および場合によっては、マルチレベル様式で、生成される。第1のステップにおいて、小さい署名は、プルーニング可能なデータユニット以外のすべてのデータユニットのフィンガープリントに署名することによって生成される、
m=s({h(I),h(P),h(P)})。
小さい署名mは、反復データユニットOのプルーニング可能なインスタンスのフィンガープリントに依存しない。第2のステップにおいて、大きい署名Mは、小さい署名mとプルーニング可能なデータユニットとの組合せ(たとえば、連結)に署名することによって生成される、
M=s({m,h(O)})。
大きい署名Mのこの定式化は、第1の署名ユニットS1に関連するすべてのデータユニットのフィンガープリントへの依存を有する。暗号化署名は算出的に複雑な演算であるので、代替セットアップが、知覚できる算出節約を可能にすることができる。代替セットアップはまた、小さい署名と大きい署名との間のリンクを確立し、これは、無認可のパーティが正の検証成果を偽造するために小さい署名mを置き換えることをより困難にし得る。
【0047】
記憶方法200の実施形態1A.2は、メディアビットストリームのセグメントを受信すること210と、受信されたセグメント中の反復データユニットOのN≧2個のインスタンスを識別すること212と、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすること214と、反復データユニットのプルーニングされた最高N-1個のインスタンスのフィンガープリントをプルーニングすること214.1と、プルーニングの後に、受信されたセグメントを記憶すること216とを含む。随意に、少なくとも1つのプルーニングされた反復データユニットに関連する署名ユニット中の大きい署名Mは、オーバーヘッドをさらに低減するためにプルーニングされ得る220。
【0048】
検証方法300の実施形態1A.2は、メディアビットストリームの記憶されたセグメントを受信すること310と、小さいデジタル署名mを使用して署名ユニットを検証すること314と、受信された関連するデータユニットを、検証された署名ユニット中のフィンガープリントに関して検証すること316aとを含む。小さい署名mを含まない署名ユニットは、大きい署名Mを使用して、従来の様式で検証される。小さい署名ユニットと大きい署名ユニットとを含んでいるが、反復データユニットOのプルーニングされたインスタンスに関連しない、第1の署名ユニットS1が、大きいデジタル署名Mを使用して検証され得る。第2のデバイス140は、小さい署名mを使用して各署名ユニットを検証することを最初に試みるように構成され得、これが失敗するか、または小さい署名mが不在である場合、第2のデバイス140は、大きい署名Mを使用して署名ユニットを検証することを試み、両方の試みが成功しなかった場合、署名ユニットは拒否される。代替的に、第2のデバイス140は、大きい署名Mを使用して各署名ユニットを検証することを最初に試みるように構成され、これが失敗した場合、第2のデバイス140は、小さい署名mが存在するかどうかを検査し、小さい署名mが存在する場合、小さい署名mを使用して署名ユニットを検証することを試み、両方の試みが成功しなかった場合、署名ユニットは拒否される。第2のデバイス140を構成する代替のやり方は、反復データユニットOのプルーニングされたインスタンスに関連する署名ユニットが、比較的小さい部分をなす場合、わずかにより効率的であり得る。反復データユニットOのプルーニングされたインスタンスが、元のメディアビットストリーム中で位置決めされた、固定位置の知識は、この実施形態では利用されないことに留意されたい。
【0049】
実施形態1B
図6に関して、反復データユニットOが、矩形によって指示された固定位置を占有する、メディアビットストリームフォーマットが考慮される。第1のデバイス120が、反復データユニットOの1つのインスタンスをプルーニングした場合、第2のデバイス140は、これらのインスタンスがその間で位置決めされた、記憶されたビットストリームセグメント中のデータユニットを決定することが可能であることになる。
図6では、署名ユニットS
1、S
2、S
3が、フィンガープリントのうちのフィンガープリント、すなわち、マルチレベル様式でハッシュ関数hを適用することによって取得されたものを含んでいることがわかる。たとえば、第1の署名ユニットS
1中のフィンガープリントは、h({h(O),h(I),h(P),h(P)})であり得、ここで、{・}は、ビット単位並置など、連結を示す。代替的に、ハッシュ関数のカスケーディング適用例、すなわち、h
1=h(O)、h
2=h({h
1,I})、h
3=h({h
2,P})(第1のPフレーム)、h
4=h({h
2,P})(第2のPフレーム)が可能である。これらから、すべての関連するデータユニットO、I、P、Pへの少なくとも間接的依存を有する、フィンガープリントh
4は、第1の署名ユニットS
1中に含まれる。これは、
図6に示されていない。実施形態1Bの目的で、署名ユニットS
1、S
2、S
3が、大きい署名Mのみを含んでいることが十分である。
【0050】
記憶方法200の実施形態1Bは、メディアビットストリームのセグメントを受信すること210と、受信されたセグメント中の反復データユニットOのN≧2個のインスタンスを識別すること212と、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすること214と、プルーニングの後に、受信されたセグメントを記憶すること216とを含む。署名ユニットS1、S2、S3は、そのままで、すなわち、210においてそれらが受信されたのと同じ状態で記憶されることを理解されたい。
【0051】
検証方法300の実施形態1Bは、メディアビットストリームの記憶されたセグメントを受信すること310と、デジタル署名を使用して署名ユニットを検証すること314と、受信された関連するデータユニットのフィンガープリントを算出すること318と、反復データユニットの、署名ユニットに関連しないインスタンスのフィンガープリントを算出し、前記固定位置に従って(下側破線601によって示唆されるように)フィンガープリントを復帰させること320bと、算出されたフィンガープリントのうちのフィンガープリントを算出すること322と、フィンガープリントのうちの算出されたフィンガープリントを、署名ユニット中のフィンガープリントのうちのフィンガープリントに関して検証すること324bとを含む。反復データユニットの前記インスタンスのフィンガープリントを算出すること320bの等価な代替形態は、その関連する署名ユニットからフィンガープリントを取り出すことである(上側破線602)が、メディアビットストリームフォーマットが、署名ユニットに記憶されるべき、フィンガープリントのうちのフィンガープリントの算出の中間結果をなす、この特定のフィンガープリントを可能にするかどうかは不確実である。フィンガープリントが上側破線602に沿って取り出される場合、下側破線601によって示されている計算-復帰プロシージャを適用する必要がない。
【0052】
実施形態2A.1
図7に関して、反復データユニットOが可変位置を占有する、メディアビットストリームフォーマットが考慮される。
図7では、署名ユニットS
1、S
2、S
3が、関連するデータユニットの個々のハッシュを含んでおり、署名Mをさらに含んでいることがわかり、署名ユニットは、署名Mを使用して受信者側において検証され得る。データ構造LOGは、メディアビットストリームフォーマットの一部でない。
【0053】
記憶方法200の実施形態2A.1は、メディアビットストリームのセグメントを受信すること210と、受信されたセグメント中の反復データユニットOのN≧2個のインスタンスを識別すること212と、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすること214と、プルーニングの後に、受信されたセグメントを記憶すること216と、反復データユニットOのプルーニングされたインスタンスのビットストリーム中の位置を指示するプルーニングログLOGを記憶すること218とを含む。署名ユニットS1、S2、S3は、そのままで、すなわち、210においてそれらが受信されたのと同じ状態で記憶されることを理解されたい。プルーニングログは、反復データユニットOのプルーニングされたインスタンスよりも比較的少ない空間を占有することになり、したがって、正味節約が達成されることをさらに理解されたい。
【0054】
検証方法300の実施形態2A.1は、メディアビットストリームの記憶されたセグメントを受信すること310と、記憶されたセグメントについてのプルーニングログを受信すること312であって、プルーニングログが、反復データユニットOのプルーニングされたインスタンスのビットストリーム中の位置を指示する、プルーニングログを受信すること312と、デジタル署名を使用して署名ユニットを検証すること314と、
図7にLOGとして示されているプルーニングログによって指示された不在データユニットのフィンガープリントを無視しながら、受信された関連するデータユニットを、署名ユニットに関して検証すること316bとを含む。
【0055】
実施形態2A.2
図8に関して、反復データユニットOが可変位置を占有する、メディアビットストリームフォーマットが考慮される。
図8では、署名ユニットS
1、S
2、S
3が、関連するデータユニットの個々のハッシュを含んでいることがわかる。署名ユニットS
1、S
2、S
3は、署名(大きい署名)Mと、小さい署名mとをさらに含んでいる。大きい署名Mは、元の署名ユニットを検証するために、すなわち、ビデオ収集システム110を出るときのその状態において使用される。小さい署名mは、反復データユニットOのプルーニング可能なインスタンスのフィンガープリントに依存しない。反復データユニットOのインスタンスは、それがセグメント中の唯一のインスタンスでない限り、概してプルーニング可能であり、唯一のインスタンスである場合、受信者は、別のインスタンスからメタデータを読み取ることによってそのインスタンスを置き換えることができない。第2の署名ユニットS
2は、反復データユニットのプルーニング可能なインスタンスのフィンガープリントを含んでおらず、したがって、小さい署名mを含む必要がない。
【0056】
記憶方法200の実施形態2A.2は、メディアビットストリームのセグメントを受信すること210と、受信されたセグメント中の反復データユニットOのN≧2個のインスタンスを識別すること212と、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすること214と、反復データユニットのプルーニングされた最高N-1個のインスタンスのフィンガープリントをプルーニングすること214.1と、プルーニングの後に、受信されたセグメントを記憶すること216とを含む。随意に、少なくとも1つのプルーニングされた反復データユニットに関連する署名ユニット中の大きい署名Mは、オーバーヘッドをさらに低減するためにプルーニングされ得る220。
【0057】
検証方法300の実施形態2A.2は、メディアビットストリームの記憶されたセグメントを受信すること310と、小さいデジタル署名mを使用して署名ユニットを検証すること314と、受信された関連するデータユニットを、検証された署名ユニット中のフィンガープリントに関して検証すること316aとを含む。小さい署名mを含まない署名ユニットは、大きい署名Mを使用して、従来の様式で検証される。小さい署名ユニットと大きい署名ユニットとを含んでいるが、反復データユニットOのプルーニングされたインスタンスに関連しない、第1の署名ユニットS1が、大きいデジタル署名Mを使用して検証され得る。第2のデバイス140は、小さい署名mを使用して各署名ユニットを検証することを最初に試みるように構成され得、これが失敗するか、または小さい署名mが不在である場合、第2のデバイス140は、大きい署名Mを使用して署名ユニットを検証することを試み、両方の試みが成功しなかった場合、署名ユニットは拒否される。代替的に、第2のデバイス140は、大きい署名Mを使用して各署名ユニットを検証することを最初に試みるように構成され、これが失敗した場合、第2のデバイス140は、小さい署名mが存在するかどうかを検査し、小さい署名mが存在する場合、小さい署名mを使用して署名ユニットを検証することを試み、両方の試みが成功しなかった場合、署名ユニットは拒否される。
【0058】
実施形態2B.1
図9に関して、反復データユニットOが可変位置を占有する、メディアビットストリームフォーマットが考慮される。
図9では、署名ユニットS
1、S
2、S
3が、フィンガープリントのうちのフィンガープリント、すなわち、マルチレベル様式でハッシュ関数hを適用することによって取得されたものを含んでいることがわかる。たとえば、第1の署名ユニットS
1中のフィンガープリントは、h({h(O),h(I),h(P),h(P)})であり得、ここで、{・}は連結を示す。代替的に、
図6に関して上記で説明されたように、ハッシュ関数のカスケーディング適用例が可能である。実施形態2B.1の目的で、署名ユニットS
1、S
2、S
3が、大きい署名Mのみを含んでいることが十分である。
【0059】
記憶方法200の実施形態2B.1は、メディアビットストリームのセグメントを受信すること210と、受信されたセグメント中の反復データユニットOのN≧2個のインスタンスを識別すること212と、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすること214と、プルーニングの後に、受信されたセグメントを記憶すること216と、反復データユニットOのプルーニングされたインスタンスのビットストリーム中の位置を指示するプルーニングログLOGを記憶すること218とを含む。署名ユニットS1、S2、S3は、そのままで、すなわち、210においてそれらが受信されたのと同じ状態で記憶されることを理解されたい。プルーニングログは、反復データユニットOのプルーニングされたインスタンスよりも比較的少ない空間を占有することになることをさらに理解されたい。
【0060】
検証方法300の実施形態2B.1は、メディアビットストリームの記憶されたセグメントを受信すること310と、記憶されたセグメントについてのプルーニングログを受信すること312であって、プルーニングログが、反復データユニットOのプルーニングされたインスタンスのビットストリーム中の位置を指示する、プルーニングログを受信すること312と、デジタル署名を使用して署名ユニットを検証すること314と、プルーニングログによって指示された不在データユニットのフィンガープリントを無視しながら、受信された関連するデータユニットを、署名ユニットに関して検証すること316bと、署名ユニットに関連する受信されたデータユニットのフィンガープリントを算出すること318と、反復データユニットの、署名ユニットに関連しないインスタンスのフィンガープリントを算出し、プルーニングログに従って、(下側破線901によって示唆されるように)前記算出されたフィンガープリントを復帰させること320aと、算出されたフィンガープリントのうちのフィンガープリントを算出すること322と、フィンガープリントのうちの算出されたフィンガープリントを、署名ユニット中のフィンガープリントのうちのフィンガープリントに関して検証すること324bとを含む。代替的に、
図6に関して上記で説明されたように、上側破線902によって示されているように、反復データユニットOのプルーニングされたインスタンスのフィンガープリントが、反復データユニットOのプルーニングされていないインスタンスに関連する署名ユニットから取り出され得る。
【0061】
実施形態2B.2
図10に関して、反復データユニットOが可変位置を占有する、メディアビットストリームフォーマットが考慮される。署名ユニットS
1、S
2、S
3が、フィンガープリントのうちのフィンガープリント、すなわち、マルチレベル様式でハッシュ関数hを適用することによって取得されたものを含んでいることがわかる。たとえば、第1の署名ユニットS
1中のフィンガープリントは、h({h(O),h(I),h(P),h(P)})であり得、ここで、{・}は連結を示す。代替的に、
図6に関して上記で説明されたように、ハッシュ関数のカスケーディング適用例が可能である。実施形態2B.2の目的で、署名ユニットS
1、S
2、S
3が、大きい署名Mのみを含んでいることが十分である。また、
図10では、反復データユニットOの少なくとも1つのインスタンスに関連する署名ユニットS
1、S
3が、Fと示された、すべての関連するデータユニットのフィンガープリントのうちの(大きい)フィンガープリントだけでなく、反復データユニットOの関連するプルーニング可能なインスタンスのフィンガープリントに依存しない、fと示された、フィンガープリントのうちの小さいフィンガープリントをも含んでいることがわかる。(大きい)署名Mは、Fとfの両方に基づいて生成されており、したがって、Fおよびfの同時検証のために使用され得る。
【0062】
記憶方法200の実施形態2B.2は、メディアビットストリームのセグメントを受信すること210と、受信されたセグメント中の反復データユニット(O)のN≧2個のインスタンスを識別すること212と、反復データユニットの識別されたインスタンスのうちの最高N-1個をプルーニングすること214と、プルーニングの後に、受信されたセグメントを記憶すること216とを含む。
【0063】
検証方法300の実施形態2B.2は、メディアビットストリームの記憶されたセグメントを受信すること310と、デジタル署名を使用して署名ユニットを検証すること314と、受信された関連するデータユニットのフィンガープリントを算出すること318と、算出されたフィンガープリントユニットのフィンガープリントを算出すること322と、フィンガープリントのうちの算出されたフィンガープリントを、フィンガープリントのうちの小さいフィンガープリントfに関して検証すること324aとを含む。
【0064】
本開示の態様が、主に、数個の実施形態を参照しながら上記で説明された。しかしながら、当業者によって直ちに諒解されるように、上記で開示された実施形態以外の実施形態が、添付の特許請求の範囲によって規定される本発明の範囲内で等しく可能である。
【符号の説明】
【0065】
110 ビデオ収集システム
111 カメラ
112 メタデータ挿入段
113 暗号化要素
120 第1のデバイス
121 処理回路
122 メモリ
130 チャネル
131 通信ネットワーク
132 ポータブルメモリ、メモリ
133 メモリ
140 第2のデバイス
141 処理回路
142 メモリ
143 暗号化要素
150 プレイバックデバイス
200 記憶方法、方法、オーバーヘッド低減方法
300 検証方法
【外国語明細書】