説明

データの完全性を保証するための方法及び装置

データの完全性を保証するための方法及び装置を提供する。
【解決手段】本発明にかかる方法及びシステムにおいては、ネットワークの中途にある潜在的に信頼できないトランスコーダが、パケット化されたデータのストリームをトランスコードすることを可能にしつつ、ストリームの残りのエンドツーエンドの完全性及びセキュリティを維持する。さらに、本発明にかかる方法などは、パケットの境界にわたる暗号チェックサムを算出する通信速度に大きな影響を与えずに、通信の完全性チェックを提供し、適合的な暗号チェックサム算出を可能とする。このような暗号チェックサムによって、信頼できないトランスコーダが、適切な方法でトランスコードを実行でき、目的とする受信機は、依然として送信データの完全性を確認することができ、送信データのどの暗号化も、可能な限り信頼可能な状態にさせることができる。

【発明の詳細な説明】
【技術分野】
【0001】
[発明の分野]
本発明は、データ伝送及びデータストレージにおけるデータ操作の分野に関する。
より詳細には、本特許を請求する発明は、データのトランスコードまたは処理の期間中のセキュリティに関する。
【0002】
[関連米国出願]
本出願は、次の同一出願人による同時係属中の特許出願:2003年7月9日に出願されて、本発明の譲受人に譲渡された「CRYPTOGRAPHIC CHECKSUMS ENABLING DATA MANIPULATION AND TRANSCODING」という発明の名称の米国特許出願第10/616,680号、及び、2003年7月9日に出願されて、本発明の譲受人に譲渡された「METHOD AND SYSTEM FOR PROVIDING TRANSCODABILITY TO FRAME CODED STREAMING MEDIA」という発明の名称の米国特許出願第10/617,348号に関連する。
これらの米国特許出願は、参照により本明細書に援用される。
【背景技術】
【0003】
パケット化されたデータの伝送環境及びストリーミングメディア環境は、システム設計者に多くの課題を提示する。
たとえば、クライアントは、異なる表示能力、電源能力、通信能力、及び計算能力を有する可能性がある。
これに加えて、通信リンクは、異なる最大帯域幅、品質レベル、及び時間的に変化する特性を有する可能性がある。
たとえば、ビデオストリーミングシステムが成功するには、時間的に変化する通信リンクを介して異なるタイプのクライアントへビデオをストリーミングできなければならず、このストリーミングは、スケーラブルで、且つ、安全な方法で行われなければならない。
スケーラビリティは、異なるデバイス能力を有する多数のクライアントへのストリーミングを可能にするのに必要とされ、セキュリティは、特に無線ネットワークにおいて、コンテンツを盗聴者から保護するのに重要である。
【0004】
本明細書では、「データ」という用語は、本出願で使用されるように、あらゆる形式の電子情報を指すことができることに留意されたい。
このような情報が有線ケーブルで通信されようと、光リンクで通信されようと、無線で通信されようと、それ以外の或る手段によって通信されようと「データ」は、ストリーミングされたメディアを意味することができ、ビデオまたは音響、ネットワークのパーツ間またはコンピュータのアーキテクチャ内で通信されるコンピュータ情報、ネットワーク内でまたはインターネットを介してコンピュータ間で計算された情報等である。
データは、一般に、パケット化されたフォーマットで通信される。
「メディアストリーム」及び「データストリーム」という用語は、本明細書では、通信されている一連のデータパケットを示すのに使用される。
【0005】
また、次の解説は、データの伝送に関する従来技術の手法の欠点について具体的に述べるが、このような欠点は、任意の特定のタイプのデータの通信にのみ限定されるものではないことにも留意されたい。
そうではなく、従来技術の問題は、さまざまなタイプのメディアデータに及ぶ。
このさまざまなタイプのメディアデータには、音響ベースのデータ、発話ベースのデータ、画像ベースのデータ、グラフィックデータ、ウェブページベースのデータ等が含まれるが、これらに限定されるものではない。
【0006】
メディアデータがストリーミングされる環境では、スケーラビリティ及び効率性を達成するために、圧縮されたメディアストリームを中間ネットワークノードにおいて適合させる、すなわちトランスコードする必要がある。
トランスコーダは、圧縮されたメディアストリームを入力として取り込み、次いで、その圧縮されたメディアストリームを処理して別の圧縮されたメディアストリームを出力として生成する。
例示のトランスコードオペレーションには、ビットレート低減、レートシェーピング、空間的ダウンサンプリング(spatial down-sampling)、フレームレート低減、及び圧縮フォーマットの変更が含まれる。
ネットワークトランスコードは、たとえば、特定のクライアントの表示能力にビデオストリームの空間解像度を適合させることにより、または、無線チャネルの時間的に変化する特性と整合するようにビデオストリームのビットレートを動的に調整することにより、システムのスケーラビリティ及び効率性を改善することができる。
【0007】
例として、ストリーミングメディアビデオのクリップは、ウェブページの提示の一部とすることができる。
大きな帯域幅接続における、大きく強力なデスクトップ受信機は、たとえば、高品位テレビ(HDTV)のフル解像度でフルフレームレートのビデオストリームを受信して解読することができる。
しかしながら、同じネットワークの無線付属物は、はるかに小さな帯域幅で無線ユーザを接続することしかできない場合がある。
このストリームは、搬送するために、より小さな帯域幅の信号に変換されなければならない。
この変換をトランスコードと呼ぶ。
【0008】
ネットワークトランスコードによって、ビデオストリーミングシステムにおけるスケーラビリティが容易にされるが、ネットワークトランスコードは、ストリーミングシステムのセキュリティに深刻な脅威ももたらす。
この理由は、暗号化されたストリームに対して実行される従来のトランスコードオペレーションが、一般に、そのストリームを解読して、解読されたストリームをトランスコードし、次いで、その結果を再暗号化することを必要とするからである。
具体的には、トランスコーダは暗号化鍵を必要とし、コンテンツは、トランスコーダでは、解読されて、平文の形式で存在する。
あらゆるトランスコーダは、ストリームを解読しなければならないので、各ネットワークトランスコードノードは、システム全体のセキュリティにおける危険性のある欠陥を提供する。
【0009】
さらに、ネットワークには、トランスコードを実行するには理想的に配置されるが、信頼することができないノードが戦略的に置かれる場合がある。
これらの信頼できないノードは、個々のコンピュータの場合もあるし、リモートロケーションのクライアントイントラネットの場合もあるし、発信元の送信機と目的の受信機との間に挿入された他の任意のノードの場合もある。
【0010】
より具体的には、従来のビデオストリーミング手法では、たとえば、アプリケーションレベルの暗号化を使用すると、ビデオは、まず、フレーム間圧縮アルゴリズムを使用して、ビットストリームに符号化、すなわち圧縮される。
その結果のビットストリームは、次に、暗号化することができ、その結果の暗号化されたストリームは、パケット化されて、信頼できないデータグラムプロトコル(UDP)等の転送プロトコルを使用してネットワークを介して送信される。
【0011】
ここで、この背景の解説における「符号化する、復号する、符号化、復号、符号化された、復号された」等の用語の使用は、ネットワークキャリアがケーブルであろうと、光ファイバであろうと、無線キャリアであろうと、それ以外のネットワーク接続であろうと、それらネットワークキャリアを介した転送に適した形式へのデータの圧縮またはそれ以外の符号化を指すことに留意されたい。
「暗号化する、解読する、暗号化すること、解読すること、暗号化、解読」等は、認可されない受信者からデータのセキュリティを保護するのに使用されるか、または、受信されたデータが正確に本来送信されたものであることを検証するのに使用される暗号符号化を指す。
【0012】
図1Aは、従来のアプリケーションレベル暗号化が実行される順序(すなわち、圧縮符号化102、暗号化/チェックサム計算104、及びパケット化106)を示すブロック図100である。
この従来の手法に関連した1つの難点は、パケットを喪失した時に起こる。
具体的には、喪失したパケットからのデータがなければ、解読及び/または復号は不可能ではないにしても困難となる場合があるので、エラー回復は困難となる。
【0013】
図1Bは、図1Aのプロセス100によって生成された結果の、パケット化されたデータストリームを示している。
データストリーム111は、圧縮符号化機能102によって圧縮され、暗号化された暗号チェックサム(CCS)112が、暗号化/CCS機能104によって後尾に追加される。
パケット化106は、データ及びCCSから成る信号を、ネットワークの所要サイズのパケット113に分割する。
データの解読、または、データが暗号化されていない場合のデータの検証を行うには、パケットのすべてを、暗号化されたデータストリームに再組み立てしなければならない。
パケット113の1つが喪失すると、欠落したパケットがなければCCSは無効となるために、メッセージ全体が喪失する。
【0014】
ここで、暗号化及びCCSの計算は、関連しているが、同じオペレーションではないことに留意されたい。
CCSは、計算する、すなわち算出することができ、暗号化されていないデータストリームの後尾に追加することができ、CCSは、受信機において、ストリームの完全性及び真正性を検証するのに使用することができる。
データの完全性とは、送信された一組のデータが受信された一組のデータであることを意味し、受信デバイスが、受信データに対して比較的高い信頼度を有することができることを意味する。
データの真正性は、受信された一組のデータが、送信機と称するもの(purported sender)によって実際に送信されたことを意味し、たとえば、敵意のある偽名が使用されていなかったことを意味する。
この場合も、この用語は、受信機が受信データに有することができる信頼度に関係する。
【0015】
図1Cは、上記で解説した理由から、暗号化されたデータをトランスコードしなければならないトランスコードプロセスの機能ブロック図を示している。
プロセス120では、メディアストリームが122で解読され、124でトランスコードされ、次いで、126で再暗号化される。
データが暗号化されていない期間中、そのデータは、安全でないノードまたは信頼できないノードにおける認可されていない読み出しまたは操作に対してアクセス可能である。
【0016】
ハイブリッド有線/無線ネットワークでは、有線ネットワーク上の固定されたクライアント及び無線ネットワーク上の移動クライアントへメディアを同時にストリーミングすることが必要となることが多い。
このようなハイブリッドシステムでは、多くの場合、固定された有線クライアントへはフル帯域幅の高解像度のデータストリームを送信し、移動無線受信機へはより低い帯域幅の中解像度のメディアストリームを送信することが望ましい場合がある。
しかしながら、従来のメディアストリーミング手法は、ハイブリッド有線/無線ネットワークに対応するストリーミングに容易に適合するのに必要な効率性、セキュリティ、及びスケーラビリティを達成していない。
【0017】
さらに、望まれないデータ送信機及びデータトランスコーダの精巧さ及び敵意が増大すること、及び複雑なデータ環境におけるデータ通信速度の必要性が増加の一途をたどることは、互いに反する働きをする。
速度の必要性が増加することによって、データの伝送はより簡単にされ、理想的には暗号チェックサムなしにされる一方、セキュリティの必要性が高まることによって、より頻繁に計算された、より複雑な暗号チェックサムが必要とされる。
【特許文献1】米国特許出願公開第2002/095586号
【特許文献2】米国特許第6065008号
【特許文献3】米国特許出願公開第2001/029581号
【発明の開示】
【発明が解決しようとする課題】
【0018】
したがって、ネットワークの中途に存在する潜在的に信頼できないトランスコーダが、パケット化されたデータのストリームをトランスコードすることを可能にできると同時に、依然としてストリームの残りの部分のエンドツーエンドのセキュリティを維持する方法及び/またはシステムが必要とされる。
このような方法及びシステムは、通信速度に過度の出費なしに、通信の完全性のチェックも提供すべきである。
具体的には、潜在的に信頼できないトランスコーダが適切な方法でトランスコードを実行することを可能にするが、依然として、目的の受信機が送信データの完全性を確認することを可能にし、且つ、送信データのどの暗号化も、可能な限り高い程度で危険にさらされず信頼できる状態にあることを可能にする、暗号チェックサムを計算して実行するための手段が必要とされる。
【0019】
[発明の概要]
したがって、本明細書では、データパケット間で暗号チェックサムを算出するための方法及びシステムが提示され、ネットワークの中途にある潜在的に信頼できないトランスコーダが、パケット化されたデータのストリームをトランスコードすることを可能にすると同時に、依然としてストリームの残りのエンドツーエンドの完全性及びセキュリティを維持する。
提示された方法及びシステムは、パケットの境界にわたる暗号チェックサムを算出する通信速度に過度の出費なしに通信の完全性チェックを提供し、したがって、非常に効率的で適合的な暗号チェックサム算出が可能になる。
パケット間で算出された暗号チェックサムによって、潜在的に信頼できないトランスコーダが適切な方法でトランスコードを実行することが可能になり、さらに、目的とする受信機は、依然として送信データの完全性を確認することが可能になり、送信データのどの暗号化も、可能な限り高い程度で危険にさらされず信頼できる状態にあることが可能になる。
【課題を解決するための手段】
【0020】
データの完全性を保証するための方法及び装置が開示される。
一実施の形態では、本発明は、複数の第1のデータセグメント及び複数の第2のデータセグメントを含む複数のデータパケットについて、複数の第1のデータセグメントの暗号チェックサムを計算し、且つ複数の第1のデータセグメントの暗号チェックサムを複数のデータパケットとは別に送信することを可能にする。
【0021】
本発明のオペレーションは、図面を参照することによって最もよく視覚化することができる。
【発明を実施するための最良の形態】
【0022】
[詳細な説明]
本出願は、次の同一出願人による同時係属中の特許出願:2003年7月9日に出願されて、本発明の譲受人に譲渡された「CRYPTOGRAPHIC CHECKSUMS ENABLING DATA MANIPULATION AND TRANSCODING」という発明の名称の米国特許出願第10/616,680号、及び、2003年7月9日に出願されて、本発明の譲受人に譲渡された「METHOD AND SYSTEM FOR PROVIDING TRANSCODABILITY TO FRAME CODED STREAMING MEDIA」という発明の名称の米国特許出願第10/617,348号に関連する。
これらの米国特許出願は、参照により本明細書に援用される。
【0023】
本発明の特定の実施の形態の以下の説明は、図示及び説明の目的で提示されたものである。
それらの実施の形態は、網羅的であることを目的とするものでもなければ、開示した厳密な形態に本発明を限定することを目的とするものでもなく、以下の教示に鑑みて、多くの変更及び変形が可能であることは明らかである。
本発明の原理及びその実用的な用途を最もよく説明し、それによって、本発明、及び、検討された特定の使用に適するようなさまざまな変更を有するさまざまな実施の形態を他の当業者が最もよく利用することを可能にするために、それら実施の形態は選ばれて説明されている。
本発明の範囲は、本明細書に添付された特許請求の範囲及びそれらの等価物によって規定されることが意図されている。
【0024】
本明細書では、パケット化されたデータの暗号チェックサムを生成して適用する方法が提示される。
暗号チェックサム(CCS)の目的は、データの完全性を確認することであり、たとえば、データが他者によって変更されていないことを検証することである。
一実施の形態では、本発明の提示は、潜在的に信頼できないトランスコーダがメディアストリームをトランスコードすることを可能にすると同時に、依然としてメディアストリームの所望のエンドツーエンドのセキュリティを維持することを可能にする安全なスケーラブルストリーミング(SSS)の状況におけるものである。
具体的には、本明細書では、潜在的に信頼できないトランスコーダが適切な方法でトランスコードを実行する限り、受信機が送信データの完全性を依然として確認できるように、複数のデータパケットにわたる暗号チェックサムを設計して実行するための方法及びシステムが開示される。
【0025】
安全なトランスコードが必要される理由は、潜在的に信頼できないトランスコーダが、そのトランスコード後に適切な暗号チェックサムを追加することは期待できないからである。
その代わり、本発明の実施の形態は、送信機が、予定されるトランスコードされたビットストリームのチェックサムをすでに含んでいるように設計される。
【0026】
図2は、本発明の一実施の形態を示している。
図2は、上記欠点を克服する手段を提供する安全なメディアストリーミングシステムを達成する方法を示すブロック図200である。
プロセス200は、圧縮/符号化機能202、パケット化204、及び暗号化/CCS計算206を組み込む。
このプロセスでは、送信のためのパケット化が、暗号化/CCS計算206の前に行われる。
図2の方法は、従来の圧縮アルゴリズムのいずれも使用することができる。
ここでは、チェックサム計算206が各データパケットの暗号チェックサムを計算する前に、データストリームは符号化される。
【0027】
図3は、プロセス200の一実施の形態の結果を示している。
プロセス200では、312でデータ301がセグメントA304、B305、C306、及びD307に分割される。
暗号チェックサムは、各セグメント304〜307について計算される。
313では、暗号チェックサムの計算後、各セグメント304〜307及びその各暗号チェックサム314、315、316、及び317が結合されて、データパケット321、322、323、及び324にされる。
たとえば、セグメントA304及びその関連したチェックサムCCS(A)314が結合されて、データパケット321が形成される。
セグメントB305及びその関連したチェックサムCCS(B)315が結合されて、データパケット322が形成される。
【0028】
ここで、各データセグメントの長さは、本発明の実施の形態では、その最大長に、その関連したCCSの長さを加えたものが、ネットワークの最大パケットペイロードサイズまたは最大送信可能単位(MTU)よりも小さくなるように選ばれることに留意されたい。
先に解説したように、データパケットは、最終的には、単一のセグメントを含むこともできるし、複数のセグメントを含むこともできる。
また、4つのパケットが図示されているが、任意の個数のパケットを使用できることに留意されたい。
【0029】
本明細書で、「セグメント」、「独立復号可能部分」、及び「トランケート(切断)可能単位」という用語は、本明細書で解説された本発明の実施の形態では異なる意味を有する場合があることに留意されたい。
パケットの独立復号可能部分は、パケットペイロードの他の部分を復号する必要なく復号可能なパケットのペイロードの一部である。
さらに、暗号化されている場合、独立復号可能部分は、ペイロードの残りの部分を解読することなく解読が可能である。
トランケート可能単位は、解読を伴っていようがいまいが、パケットの残りの部分に有害な影響を与えることなく、パケットからトランケートすることができるパケットペイロードの一部である。
この解説では時に、これらの用語は、幾分交換可能に使用されるが、依然としてそれらの個々の意味を維持する。
セグメントは、パケットペイロードの全体またはその或る部分を含むことができるデータの一部である。
セグメントは、当該用語の用法に応じて、独立復号可能部分またはトランケート可能単位とすることもできるし、その双方またはそのいずれでもないものとすることもできる。
【0030】
一実施の形態では、「セグメント」という用語は、ストリーミングビデオの復号可能フレームを暗に意味するのに使用される。
別の実施の形態では、「セグメント」は、個別に算出された暗号チェックサムを有するデータパケットの部分を示すのに使用される。
さらに別の実施の形態では、この用語は、複数のパケットの共にグループ化された部分を示すのに使用される。
この場合、暗号チェックサムは、複数のセグメント全体について算出される。
【0031】
図4Aは、トランケートによってトランスコードを行うことができる本発明の一実施の形態の機能を示している。
メディアストリーム411は、412で、セグメントに分割される。
各セグメントは、1つまたは2つ以上の独立復号可能部分(A、B等)を含む。
この場合も、パケットペイロードは、1つまたは2つ以上の独立復号可能部分またはセグメントを含むことができ、いくつかの実施の形態では、独立復号可能部分は、独立トランケート可能単位を含むことができることに留意されたい。
パケット413に示すように、暗号チェックサムは、復号可能部分またはトランケート可能単位のそれぞれについて優先度の順序で計算される。
暗号チェックサム415は、第1のトランケート可能単位A403について計算され、その結果、CCS(A)415となる。
暗号チェックサム416は、独立復号可能部分A403、暗号チェックサムCCS(A)415、及び独立復号可能部分B404を含む先行パケットペイロード全体について計算される。
その結果のチェックサムは、CCS(A,CCS(A),B)416として示されている。第3の独立復号可能部分が含まれている場合、次の暗号チェックサムは、
CCS(A,CCS(A),B,CCS(A,CCS(A),B),C)
として示されることに留意されたい。
【0032】
トランスコーダ可読ヘッダ414が、パケット413に適用される。
このトランスコーダ可読ヘッダは、パケットのトランケートポイント等の情報を含む。
【0033】
トランスコード417がこの実施の形態で実行される時、トランスコーダは、選択されたトランケート可能単位をトランケートすることができる。
パケットが暗号化されている場合、この形式のトランスコードを行うのに、解読は必要とされない。
図4Aに示す例では、トランケート可能単位B及びその関連した暗号チェックサム416がトランケートされる。
パケットの、トランケートされず解読されない残りの部分418は、その後、その必要な暗号チェックサムCCS(A)415、独立復号可能部分A403、及びヘッダ414がそのままの状態で転送される。
図4Aに示す本発明の実施の形態では、任意の個数のトランケート可能単位及びそれらの関連した暗号チェックサムを、トランスコード要件の必要に応じてパケットからトランケートすることができる。
各場合に、トランケート可能単位、その関連した暗号チェックサム、及び、暗号チェックサムがトランケートされた単位の算出を含む後続のトランケート可能単位もトランケートされる。
【0034】
図4Bは、本発明の別の実施の形態を示している。
図4Bでは、メディアストリーム421が、422でセグメントに分割される。
これらのセグメントは、上記で解説したように、A、B、C、D等として示す任意の個数の独立復号可能部分を含むことができる。
この例では、いくつかのセグメントは、各部分のサイズのために、他よりも多くの独立復号可能部分を含むことに留意されたい。
独立復号可能部分の個数の選択は、本発明のこの実施の形態では、データパケットの最大サイズに基づいている。
たとえば、独立復号可能部分A433、B434、及びC435は、1つのセグメントに結合されている一方、独立復号可能部分D436は、単独で同様のサイズのセグメントを占めている。
【0035】
図4Bに示す実施の形態では、暗号チェックサムが、他の独立復号可能部分とは独立して、各独立復号可能部分について算出される。
データパケット423は、独立復号可能部分A433及びCCS(A)425と、独立復号可能部分B434及びCCS(B)426と、独立復号可能部分C435及びCCS(C)427とを結合したものから形成される。
【0036】
次に、パケット423のトランスコード428は、選択された独立復号可能部分またはトランケート可能単位、及び、関連した暗号チェックサムをトランケートすることを含む。
図示した例では、トランケート可能単位C435及びCCS(C)427がトランケートされる。
この実施の形態では、トランスコーダ可読ヘッダ424は、そのままの状態であり、トランケートポイントに関するヘッダ情報を保持する。
したがって、トランケートされたパケット429は、トランケート可能単位B及びCCS(B)426をトランケートすることによるその後のトランケートによってトランスコードを行うのに利用可能である。
このようにして、トランスコードを達成するのにいかなるパケットも解読及び再暗号化する必要なく、ネットワークにおける任意の所望の箇所でトランスコードを行うことができる。
各トランケートにおいて、解読されないパケットの残りの部分はその必要な暗号チェックサムを保持し、ストリーミングされたメディアはそのエンドツーエンドのセキュリティを保持する。
【0037】
ここで、いくつかの実施の形態では、メディアストリームからパケット全体を消去することによってトランスコードを行うことができることに留意されたい。
また、暗号チェックサムは、パケットの検証等のために、暗号化されていないメディアストリームにも使用できることにも留意されたい。
【0038】
図5Aは、本発明の実施の形態が受けるプロセスの結果を示している。
「A、B、C等」として示されたデータを含むメディアストリーム500は、トランケート可能単位502に分割される501。
安全なメディアストリームの各パケットペイロードは、暗号化され503、CCS(A)506、CCS(B)507、及びCCS(C)508として示された独立した暗号チェックサム(CCS)が後尾に追加される。
504に示すように、暗号化されたトランケート可能単位は、関連した暗号チェックサムと共に結合されて、適切な長さの送信可能データパケットにされる。
【0039】
ここで、暗号チェックサムは、多くの異なる関数を介して算出できることに留意されたい。
一般的なチェックサムは、既知のハッシュ関数を含むことができる。
既知のハッシュ関数は、暗号化されたデータパケットに含まれるデータのフィンガープリントを提供し、受信データの真正性及び解読されたデータの正当性を保証することができる。
暗号チェックサムの能力を提供するのに使用できるチェックサム関数の他の例には、メッセージ認証コード(MAC)、MD4及びMD5(メッセージダイジェストアルゴリズム)等の鍵付きハッシュ、SHA(安全なハッシュアルゴリズム)、RIPEMD(RACE完全性プリミティブ評価メッセージダイジェスト)、及びHMAC(メッセージ認証用鍵付きハッシング)が含まれる。
また、いくつかの実施形態では、デジタル署名方式も使用することができる。
【0040】
本発明の別の実施の形態では、データセグメントのトランケート可能単位への分割は、安全なスケーラブルストリーミング(SSS)と呼ばれる。
SSS等の技法を使用して、トランケート可能単位はパケット化される。
各データパケットは、そのパケットに含まれるヘッダにおいて定義できる適切なトランケートポイントでパケットをトランケートすることによってトランスコードすることができる。
たとえば、トランスコード中、ビットレート低減、フレームレート低減等は、パケットから1つまたは2つ以上のトランケート可能単位をトランケートする、すなわち削除することによって達成される。
【0041】
本発明のこの実施の形態では、トランスコーダ可読ヘッダ505が書き込まれて、送信可能パケットに適用される。
上記で図5Aに関して解説したように、トランスコーダ可読ヘッダは、パケット内のパケットペイロードに関する情報を含むが、パケットペイロードのコンテンツを公開するものではない。
510に示すように、トランスコーダ可読ヘッダを読み出すことによって、トランスコーダは、部分509を消去する、すなわち、送信可能パケットを「縮小」することができるが、その削除される部分もパケットの残りの部分も解読することはない。
図示した例では、独立復号可能部分AにもCにも影響を与えず、それらの関連した暗号チェックサムにも影響を与えず、独立復号可能部分Bがその関連した暗号チェックサムと共に消去される。
このようにして、ストリーミングされたメディアデータのエンドツーエンドのセキュリティは、トランスコード機能を妨げることなく維持され、受信機は、トランスコードされたデータの完全性を確認することができる。
【0042】
図5A及び図5Bに示す実施の形態では、トランスコードが行われた後、新しいトランスコーダ可読ヘッダ511を書き込んで、新しいデータパケット510のコンテンツを反映することができる。
前のトランスコーダ可読ヘッダと同様に、含まれるパケットペイロードの始点及び終点並びにペイロード優先度に関する情報は含まれるが、コンテンツを公開する情報は含まれない。
確かに、新しいトランスコーダ可読ヘッダは、パケットペイロードの解読またはCCSの評価を行うのに用いる鍵を有しないトランスコーダによって書き込まれるので、新しいトランスコーダ可読ヘッダは、パケットペイロードのコンテンツを公開することができない。
【0043】
新しいトランスコーダ可読ヘッダによって、起こり得るさらなるトランスコード及びスケーリングを、通信の下流の別のロケーションで行うことができる。
パケットペイロードのサイズ及びロケーションに加えて、パケットペイロードの優先度もトランスコーダ可読ヘッダに含まれ、ウェブページの所有者によって廃棄可能とみなされるウェブページからの情報等、他の優先度情報も含めることができる。
大きなデスクトップコンピュータよりも小さな表示能力を有するハンドヘルドデバイスへの送信の場合、いくつかの複雑なウェブページの情報の多くは、たとえその表示を試みたとしても失われる。
この低い優先度の情報を早期のトランスコードで除去可能にすることによって、これらのより小さなデバイスへ送信する時に、貴重な帯域幅を他のユーザ用に保存することができる。
【0044】
本発明の実施の形態は、ストリーミングされないデータパケットを処理することができる。
図5Bは、別の実施の形態のプロセスをブロックフォーマットで示している。
図5Bでは、記憶されたデータが、暗号チェックサムを乱すことなく操作される。
セグメントA、B、及びCを含む大きなデータパケット514が、記憶媒体521から取り出される。
図5Bの例では、データは、基本的に圧縮されて、記憶空間が削減される。
これは、データのセグメント、このケースではセグメントBと、その関連したCCS517とをトランスコード519によって除去することにより行われる。
トランスコードの結果は、より小さなデータパケット522となる。
このようなトランスコードは、セグメントA及びCをそのままの状態で残すこと、並びに、重要なことに、CCS(A)516及びCCS(C)518は影響を受けないことに留意されたい。
トランスコーダ可読ヘッダ515が後のオペレーションに必要である場合、当該ヘッダを新しいトランスコーダ可読ヘッダ511に置き換えることができる。
【0045】
本発明の実施の形態によって提供されるトランスコード方式は、ストリーミングされるデータに限定されるものではなく、記憶されたデータにも使用できることに留意されたい。
これに加えて、このトランスコード技法は、暗号化されたデータだけでなく、暗号化されていないデータにも有益である。
いずれにしても、トランスコードは、暗号チェックサムの混乱なしに、且つ、符号化されたデータを読み出す必要なく、行うことができる。
【0046】
これを行うプロセスの一実施の形態を図6Aに示す。
プロセス600は、610で、ストリーミングされるメディア信号をセグメントに分割することによって開始する。
セグメントは、当該セグメントの1つまたは2つ以上及びそれらの関連した暗号チェックサムが通信パケットに適合することを可能にする適切な分割であれば、どの分割でもよい。
適切に分割された独立復号可能部分の一例は、たとえばJPEG−2000といったジョイントピクチャエキスパートグループ(JPEG)によって開発された圧縮標準規格で送信できるような高詳細圧縮画像(highly detailed compressed image)の一部とすることができる。
多くの例では、送信された第1のデータは、高ピクセレーション画像(highly pixilated image)を生成するのに十分なデータを含む。
その後、ストリームの後続のデータによって、画像の細部が連続的に精緻化される。
大きなディスプレイ上でのこのような画像の提示には、強調された細部を利用することができる。
しかしながら、ハンドヘルドコンピュータのディスプレイは、最初の精緻化後の画像と最後の最も高く詳細化された精緻化後の画像との間の差異を示すことができない。
論理トランスコードは、受信機が詳細を使用できない場合に、ストリームからのより高く詳細化されたデータを除去することができる。
送信データの場合、時に、単一のパケットが、いくつかの詳細レベルを備えたデータを含む場合がある。
しかしながら、より大きな画像の中には、必要なすべてのデータを運ぶのに多くのパケットを必要とするものがある。
【0047】
一旦分割されると、620で、各セグメントまたは複数のセグメントの統合したものについて暗号チェックサムが計算される。
630で、セグメント及びそれらセグメントの関連した暗号チェックサムが結合されて、適切なサイズのデータパケットにされ、ネットワークにおいて送信される。
【0048】
図6Bは、この実施の形態におけるトランスコーダによる次の動作を示している。
必要な帯域幅を低減するためであろうと、目的とする受信機の限界に適合するためであろうと、それ以外の何らかの理由のためであろうと、潜在的に信頼できないノードで動作しているトランスコーダが、メディアストリームのトランスコードに必要とされる場合、メディアストリームが615でアクセスされ、トランスコーダ可読ヘッダが625で読み出される。
トランスコーダ可読ヘッダは、パケットの所与の部分を消去するかどうかを判断する際に使用できるトランケートポイント、各独立復号可能部分の始点及び終点、その部分の相対的な重要度等、パケットのコンテンツに顕著な情報を含む。
パケットの適切な独立復号可能部分を消去することは、635で行われる。
パケットの残りの部分の暗号化にも符号化にも完全性にも影響を与えることなくパケットの一部を消去することによって、広帯域に制限された環境における通信に対してより補正可能な、より小さなパケットが生成されることに留意されたい。
トランスコーダ可読ヘッダが必要とされる場合645、トランスコーダ可読ヘッダが655で書き込まれて、トランケートされたデータパケットに適用される。
パケットの転送が665で行われる。
【0049】
ここで、本発明の実施の形態は、暗号化されていないデータの符号化及び送信において同じ機能を実行することに留意されたい。
暗号チェックサムのデータ検証機能は、その基礎を成すデータが暗号化されていようとクリアであろうと、同様のままである。
さらに、暗号チェックサムのデータ検証機能は、データの一部が暗号化されておらず、一部が暗号化されている用途についても同様のままである。
【0050】
さらに解説するように、本発明の実施の形態で使用される暗号チェックサムの算出形式の一利点は、その算出形式の結果、よりコンパクトな、トランスコードされていないデータストリームが得られるということである。
データストリームが小さく、暗号チェックサムの算出が少ない場合、データ通信を、以前の形式の暗号チェックサムの算出の場合よりも高速にすることができる。
【0051】
図7Aは、パケット内でのデータのセグメント化及びパケット間での暗号チェックサムの算出を示している。
図7Aでは、701〜705としてそれぞれ示されたパケットP1、P2、P3、ないしPi及びPnが、それぞれ、例として3つのセグメントA1、B1、C1ないしAn、Bn、Cnを含む。
これらのセグメントは、711、721、731;712、722、732;713、723、733;714、724、734、及び715、725、735としてそれぞれ示されている。
本発明のこの実施の形態では、暗号チェックサムは、異なるパケットから選択されたセグメントについて計算される。
【0052】
一実施の形態では、暗号チェックサム716は、P1〜Pnの「A」セグメントのすべてについて算出される。
この暗号チェックサムは、ここでは、CCS[A1,A2,…An]と呼ばれる。
同様に、暗号チェックサム726は、P1〜Pnの「B」セグメントのすべてについて算出される。
この暗号チェックサムは、ここでは、CCS[B1,B2,…Bn]と呼ばれる。
同様に、暗号チェックサム736は、P1〜Pnの「C」セグメントのすべてについて算出される。
この暗号チェックサムは、ここでは、CCS[C1,C2,…Cn]と呼ばれる。
この実施の形態では、3つの図示した暗号チェックサムは、連結されて、ここでは、Pccsと呼ばれる追加パケット706にされる。
【0053】
ここで、図示したパケットのすべてにおいて、3つのセグメントが示されているが、パケットは、任意の個数のセグメントを有することができることに留意されたい。
異なる個数のセグメントを有するパケットも、本発明の実施の形態によって対応することができる。
さらに、異なる個数のデータセグメントを有するパケットが、単一のデータストリームを構成することもできる。
【0054】
これに加えて、図に示したセグメントがたとえ均一なサイズを有していても、一般に、セグメントは異なるサイズを有し、これは、本発明の実施の形態によって直接対応される。
【0055】
また、数群のセグメントについて算出された暗号チェックサムは、それ自体異なるパケットで送信することもできるし、同じパケットで送信することもできることにも留意されたい。
本発明の実施の形態は、パケットにおいて、セグメントの任意の組み合わせを後尾に追加したり、連結したり、組み立てたりすることができる。
【0056】
たとえば、セグメントは、均一なサイズであることが稀であり、したがって、セグメントのサイズ及びパケットのサイズに応じて、可変の個数のセグメントがパケットに適合できるので、本発明の実施の形態は、異なる個数のセグメントのパケットに対応する。
一例として、MPEGで符号化されたビデオシーケンスは、3つの異なるタイプのフレームを有することができ、これらのフレームは、セグメントとすることができる。
さらに、ビデオのコンテンツ自体が、フレームのサイズを幅広く変化させる可能性がある。
所与のパケット内の複数のセグメント及び変化する個数のセグメントは、利用可能な通信帯域幅を効率的に使用するために本実施の形態によって対応される。
【0057】
図7Bは、パケット内でのデータのセグメント化並びにパケット間及びパケット内の双方での暗号チェックサムの算出を示している。
図7Bでは、この場合も、3つのパケットP1、P2、及びP3がそれぞれ、751、761、771;752、762、772;及び753、763、773でそれぞれ示された3つのセグメントA、B、及びCを有する。
図7Bでは、上記で解説したセグメントと異なり、3つのAセグメント751、752、753は、それそれ、そのセグメントの後尾に追加されてそのセグメントの関連したパケット内に収容された自身の暗号チェックサムを有する。
これらの内部暗号チェックサムは、CCS(A1)781、CCS(A2)782、及びCCS(A3)783で示されている。
すでに述べたように、数群のセグメントについて、一組の暗号チェックサムが算出され、追加パケットに連結される。
一方、「A」セグメントの暗号チェックサム754は、それらセグメントに関連した、後尾に追加された暗号チェックサムだけでなく、それらセグメントの暗号チェックサムも含む。
この暗号チェックサム754は、CCS[A1,CCS(A1),A2,CCS(A2),A3,CCS(A3)]で示されている。
Pccs744の残りの暗号チェックサムは、セグメントのみの暗号チェックサムである。
たとえば、Pccs744のセグメント764は、3つのBセグメントの暗号チェックサムCCS(B1,B2,B3)を含む。
セグメント774は、3つのCセグメントの暗号チェックサムCCS(C1,C2,C3)を含む。
図7Bの例では、セグメント764及び774のいずれも、セグメント754のように、別のチェックサムを含む、セグメントの暗号チェックサムを含まない。
【0058】
本発明の実施の形態は、セグメントの暗号チェックサムとセグメント/CCSの暗号チェックサムとの任意の組み合わせを結合できることに留意されたい。
また、後尾に追加された暗号チェックサムは、パケットの最初のセグメントについてのものである必要はなく、その暗号チェックサムが必要とされるどのセグメントについても含めることができることにも留意されたい。
【0059】
本発明の実施の形態は、データパケット内の異なるセグメントの異なる暗号チェックサムを算出できることに留意されたい。
また、実施の形態は、或るセグメントの暗号チェックサムを、同じパケットの別のセグメントの暗号チェックサムを算出することなく算出することもできる。
これによって、暗号チェックサムをデータストリーム内で異なる速度で算出することが可能になる。
したがって、本発明のいくつかの実施の形態は、暗号チェックサムの算出を、利用可能な帯域幅、変化するセキュリティの必要性、変化する利用可能な計算能力、またはそれ以外の判定基準に適合させることができる。
以下でさらに解説するように、完全性チェックは、トランスコードの使用可能性(transcoding enablement)に優先することもできるし、その逆も可能である。
トランスコードの必要性は、完全性チェックの必要性よりも高くすることができ、たとえば、高い完全性優先度を有するデータセグメントよりも低い完全性優先度を有するデータセグメントについて、より頻度の高い暗号チェックサム算出を必要とすることもできるし、より頻度の低い暗号チェックサム算出を必要とすることもできる。
【0060】
ここで、上記で図示して解説したパケットは、対象となるデータパケットと同じデータパスで送信できることに留意されたい。
しかしながら、それらのパケットは、同じデータパスに限定されるものではない。
たとえば、高セキュリティに関連した環境では、暗号チェックサムパケットは、帯域外で送信することができ、これは、異なるデータパスを介することを意味する。
たとえば、いくつかのネットワークでは、一般のネットワークよりもはるかに高いセキュリティを条件とした別個の高セキュリティアドミニストレータのネットが存在する可能性がある。
データのセキュリティ及び完全性を保証するのに使用される暗号チェックサムは、データパケットを受信する同じ受信ノードまたは他の或るノードへこれらの平行パスで送信することができる。
【0061】
図8は、潜在的に信頼できないトランスコードノードによるデータストリームのトランスコードを示している。
図8では、例示のデータストリーム820は、4つのデータパケットを含む。
これら4つのデータパケットのうちの3つ801、802、及び803は、それぞれが3つのセグメントA、B、及びCを含む。
4番目のパケット809は、データセグメント、CCS(A)、CCS(B)、及びCCS(C)の暗号チェックサムを含む。
トランスコードは、複数の目的のために複数の手段によって行うことができるが、図8では、850で、データパケットのそれぞれからCセグメントを消去することによって行われる。
トランスコーダは、各パケットのトランケートポイントのみを知っている必要があり、各データパケットからCセグメントをトランケートし、また、Pccs809からCCS(C)もトランケートする。
これらのトランケートポイントは、パケットヘッダにおいて特定することができる。
すると、その結果のデータパケットストリーム830は、一組のより小さなパケット811〜813及びより小さなPccs810を含む。
このトランケートのトランスコードは、暗号化されたデータストリーム及び暗号化されていないデータストリームに同様に上手く行うこともできるし、データの一部が暗号化され一部が暗号化されていないデータストリームに同様に上手く行うこともできる。
【0062】
上述したように、この形式の暗号チェックサム算出の一利点の結果、よりコンパクトな、トランスコードされていないデータストリームが得られる。
データストリームが小さく、暗号チェックサムの算出が少ない場合、データ通信を、以前の形式の暗号チェックサムの算出の場合よりも高速にすることができる。
【0063】
図9は、本発明の一実施の形態によるパケット間の暗号チェックサムを算出するための装置のブロック図である。
この装置901は、データストリーム920を受信する受信機902を備える。
暗号チェックサムは、さまざまな判定基準に基づいて暗号チェックサム計算機903により算出される。
これら判定基準のいくつかは、利用可能な帯域幅、利用可能な計算能力、セキュリティの必要性、データストリームに含まれるデータの重要度等である。
【0064】
また、装置901は、暗号チェックサム(CCS)追加器(appender)904も含む。
このCCS追加器904は、暗号チェックサム及びデータセグメントのパケットを後尾に追加若しくは連結するか、または、それ以外の方法で組み立てるためのものである。
追加器904は、いくつかの実施の形態では、データセグメントを暗号チェックサムセグメントと連結する;データセグメントを他のデータセグメントと連結する;暗号チェックサムを互いに連結する、ことが可能である。
追加器904は、この実施の形態では、データストリーム930について算出された暗号チェックサムを含むパケットを組み立てるか、後尾に追加するか、または連結する。
データストリーム930は、受信機902によって受信されたデータセグメント、及び、暗号チェックサム計算機903によって算出された暗号チェックサムを含む。
本発明の実施の形態は、事前に暗号化されたデータにも適用可能であることに留意すべきである。
すなわち、本発明は、(おそらく別のパーティによって)事前に暗号化されたデータの暗号チェックサムを算出する一実施の形態によく適している。
それを行う際に、本実施の形態により、別のパーティによって暗号化されたデータについても、完全性の検証が可能になる。
【0065】
図10Aは、本発明の一実施の形態のオペレーションを示すフローチャートである。
図10では、プロセス1000は、1010で、複数のデータパケットにおける複数の第1のデータセグメントの暗号チェックサムを算出することによって開始する。
暗号チェックサムは、上記CCS計算機903によって算出することができる。
この算出は、データ完全性及び/または暗号化検証を可能にするどの既知の機能によっても行うことができる。
この場合も、データ完全性は、データのソース及びデータコンテンツの信頼を含むことに留意されたい。
完全性をチェックする一機能は、公言された(avowed)データソースが実際にデータソースであることを保証することである。
【0066】
1020で、本発明の本実施の形態は、追加パケットに暗号チェックサムを含める。
他の実施の形態では、完全性が検証を必要とするデータを含むパケット、及び、スタンドアロンパケットの後尾に暗号チェックサムを追加することができる。
暗号チェックサムをスタンドアロンパケットに含める能力によって、データストリームは、変更しないですむことが可能になり、さらに、データ完全性及びセキュリティを保証することができる。
プロセス1000は、1099で終了する。
【0067】
暗号チェックサムの算出及び包含は、異なるデータセグメント及び異なるパケットについて異なる速度で行うことができることに留意されたい。
これによって、異なるデータセグメントは、同じデータパケットまたは異なるデータパケットのいずれにおいても、異なる優先度または異なる完全性チェック要件を有することが可能になる。
一例として、MPEGで符号化されたビデオクリップを含むデータストリームは、Iフレーム、Pフレーム、及びBフレームを含むデータセグメントを有することができる。
Iフレームは、最も高い優先度を有し、一般に、トランケートもトランスコードも行われない。
Pフレームは、次に高い優先度を有し、トランケートもトランスコードもほとんど行われない。
Bフレームは、最も低い優先度を有し、通常、トランケートまたはトランスコードが行われる。
ビデオクリップの完全性が重大であり、且つ、Iフレーム以外はすべてトランケートする必要もある場合、Iフレームについては、検証を受けるのに十分な頻度で暗号チェックサムを算出することができ、Pフレーム及びBフレームについては、頻繁なトランケートを可能にするためにより高い頻度で暗号チェックサムを算出することができる。
他方、フレームがほとんどトランケートされない場合、Iフレームの完全性を保証するために、Iフレームの暗号チェックサムは、より高い頻度で算出することができ、Pフレーム及びBフレームの暗号チェックサムは、完全性のチェックの要求として、より低い頻度で算出することができる。
異なるレベルの完全性チェックを使用することが有益となり得る重要な部類の用途は、発話、音響、画像、ビデオ、コンピュータグラフィックス、またはそれ以外のタイプのメディアのスケーラブル(または進歩的若しくは組み込み式)圧縮アルゴリズムを使用する用途である。
これらのスケーラブル圧縮アルゴリズムの例には、空間スケーラビリティ、周波数スケーラビリティ、SNR(振幅)スケーラビリティ、対象領域スケーラビリティ、若しくは色平面スケーラビリティを有するJPEG−2000;空間スケーラビリティ、時間スケーラビリティ、若しくはSNR(振幅)スケーラビリティ、対象領域(ROI)若しくはオブジェクトスケーラビリティ、若しくは微粒子スケーラビリティ(FGS)を使用するMPEG−1/2/4若しくはH.261/2/3/4;スケーラブル先進音響符号化(スケーラブルAAC);複数の音響オブジェクトの個々の圧縮及び構成のためのMPEG−4合成音響を使用したオブジェクトベースの音響符号化;または、進歩的/スケーラブルグラフィックス圧縮が含まれる。
これらのスケーラブル符号化アルゴリズムは、一般に、ベースレイヤ(base layer)ビットストリーム及び1つまたは2つ以上のエンハンスメントレイヤ(enhancement layer)ビットストリームを生成し、多くの場合、レイヤごとに完全性チェックを適合させることが望ましい。
一般に、多くの用途は、異なる優先度を有するか、または、異なるレベルの完全性チェックを必要とする、異なるサブセットのデータを含み、したがって、完全性チェックの程度は、用途の要件に一致するように、上述したように各サブセットのデータについて調整することができる。
このようにして、過度の暗号チェックサムの計算が回避され、通信帯域幅及び計算資源の双方が保存されると同時に、依然として必要なレベルの完全性チェックが提供される。
【0068】
これに加えて、一定の用途では、利用可能な帯域幅または計算資源は、時間と共に変化する場合があり、完全性チェックの量は、追加された利用可能な資源が利用可能になった時にそれら資源を活用するように適合することができる。
暗号チェックサムの算出の量または頻度を、利用可能な帯域幅または計算に依存するように、または、少なくとも利用可能な帯域幅または計算を認識するように適合させることは、「日和見主義的完全性チェック」方式と呼ぶことができる。
これに加えて、本発明による実施の形態は、暗号チェックサム算出の強度を変更し、且つ/または、動的に選択することにもよく適している。
すなわち、暗号チェックサムの強度は、暗号チェックサムのタイプ(または長さ)に対応する。
一般に、長い暗号チェックサムは、短い暗号チェックサムが提供するものよりも、正確である確率が高い完全性チェックを提供することができる。
したがって、利用可能な帯域幅または計算に依存するように、または、少なくとも利用可能な帯域幅または計算を認識するように暗号チェックサム算出の強度を適合させることも、「日和見主義的完全性チェック」方式と呼ぶことができる。
【0069】
図10Bは、複数のパケット内に複数のセグメントがあり、2つ以上の暗号チェックサムが、必要とされるレベルのデータ完全性及びセキュリティを達成するのに必要である、本発明の一実施の形態のオペレーションを示している。
図10Bでは、この場合も、1015で、暗号チェックサムが、複数のデータパケットの複数の第1のセグメントについて算出される。
上述したように、パケットは、多くのタイプのデータ及び多くのタイプの多数のデータセグメントを含むことができる。
本実施の形態では、パケットは、どの特定の個数のセグメントにも限定されるものではない。
【0070】
ステップ1025で、暗号チェックサムが、1025で追加パケットに含められる。
暗号チェックサムの包含は、データ若しくは他の暗号チェックサムまたはそれらのタイプの組み合わせを含むことができる、前に定義されたパケットの後尾に追加することとして行うことができる。
包含は、上述したCCS追加器904によって行うことができる。
【0071】
1035で、暗号チェックサムが、複数のデータパケットの複数の第2のセグメントについて計算される。
「第2」という用語は、以下でさらに解説するように、暗号チェックサム算出の優先度または順序を意味するものではない。
この用語は、ここでは、データセグメントのグループを区別するためにのみ使用される。
この場合も、暗号チェックサムは、先に解説したように、CCS計算機903が算出することができる。
【0072】
第2の暗号チェックサムは、1045で追加データパケットに含められ、この場合も、第2の暗号チェックサムは、CCS追加器904が後尾に追加するかまたは連結することができる。
本発明の実施の形態は、同じデータパケットまたは異なるデータパケットのいずれかに異なる暗号チェックサムを含めることが可能であることに留意されたい。
また、「第1」及び「第2」は、本明細書で使用されるように、データパケットにおけるセグメントの特定の順序を示すことを意味するものでもなければ、暗号チェックサムの算出の優先順位付けを意味するものでもない。
これらの用語は、ここでは、セグメントのタイプのグループ化を意味するのに使用される。
したがって、追加セグメント(たとえば、3つ以上のセグメント)がある場合、これらの追加セグメントも、同様の方法で処理される。
したがって、図10Bのステップ1045の完了時に、3つ以上のセグメントがある場合、本発明は、必要に応じて、ステップ1035に戻り、図10Bのプロセスを繰り返すのによく適している。
【0073】
本発明の実施の形態は、コンピュータシステムで動作することが予想される。
汎用コンピュータシステムに一般的な構成を図11にブロック図の形で示す。
汎用コンピュータ1100は、プロセッサ1101が、揮発性メモリ1102、不揮発性メモリ1103、場合により或る形態のデータ記憶デバイス1104及び表示デバイス1105にバス1110によって電子的に接続されることを特徴とする。
表示デバイス1105は、異なる形態で実施できることに留意されたい。
ビデオCRTスクリーンまたはビデオLCDスクリーンが一般的であるが、この実施の形態は、他のデバイスで実施することもできるし、場合によりなくてもよい。
また、バス1110は、可能な英数字入力デバイス1106、カーソル制御1107、及び通信I/Oデバイス1108も接続する。
通信I/Oデバイス1108は、ストリーミングされるメディアの送信、トランスコード、及び受信に関与する本発明の実施の形態の状況で重要である。
さまざまな実施形態では、通信I/Oデバイス1108は、モデム、イーサネット(登録商標)接続、無線デバイス、または、コンピュータシステムと通信ネットワークとの間で信号を通信する他のあらゆる手段として実現することができる。
英数字入力デバイス1106は、任意の個数の可能なデバイスとして実施することができるが、一般に、キーボードとして実施される。
【0074】
次に図12を参照して、一要素を成す完全性チェックモジュール1202を有する受信機1200の概略図が示されている。
動作時において、受信機1200は、処理される可能性のあるデータパケットを受信し、完全性チェックモジュール1202は、受信データパケットの暗号チェックサム(すなわち、新しい暗号チェックサム)を計算することによってパケットの完全性をチェックし、その暗号チェックサムを受信された暗号チェックサム(たとえば、事前に決定された暗号チェックサム)と比較する。
より具体的には、受信機1200は、たとえば、データストリーム930について算出された暗号チェックサムを含むパケットを受信する。
このデータストリーム930は、受信機902によって受信されたデータセグメント、及び、暗号チェックサム計算機903によって算出された暗号チェックサムを含む(930、902、903はすべて図9)。
一実施の形態では、受信された暗号チェックサムが、完全性チェックモジュール1202によって算出された暗号チェックサムと一致する場合、完全性チェックモジュール1202は、暗号チェックサムが一致することを示す。
逆に、受信された暗号チェックサムが、完全性チェックモジュール1202によって算出された暗号チェックサムと異なる場合、完全性チェックモジュール1202は、暗号チェックサムが一致しないことを示す。
一実施の形態では、この一致する結果または異なる結果の表示は、たとえば出力1204を介して外部のユーザに提供される。
【0075】
したがって、本発明の実施の形態は、さまざまなコンポーネントから成る。
すなわち、一実施の形態では、本発明は、データセグメントが与えられると、適切な暗号チェックサムを計算し、関連したデータパケットを組み立てて送信する単位(たとえば、図9の装置901)から成る。
本実施の形態は、さらに、トランスコードモジュールまたはデータ操作モジュールから成る。
これに加えて、本実施の形態は、受信機(たとえば、受信機1200)から成る。
この受信機は、データパケットの完全性を検証するために、受信されて(場合により)操作またはトランスコードされたデータパケットに対して完全性チェックを実行する。
受信機という用語は、本出願では、複数のコンポーネントを説明するのに使用されることが理解されるべきである。
たとえば、図9では、装置901は、データストリーム920を受信する受信機902を含む。
これに加えて、図12は、たとえば図9の装置901から送信されたデータパケット及び対応する暗号チェックサムを受信するための受信機1200を含む。
したがって、本発明の実施の形態は、ネットワーク内の潜在的に信頼できないトランスコーダがメディアストリームをトランスコードすることを可能にすると同時に、依然としてストリームの残りのエンドツーエンドのセキュリティを維持することを可能にする方法及びシステムを提供する。
具体的には、潜在的に信頼できないノード(たとえば、トランスコーダ)が適切な方法でトランスコードまたはデータ操作を実行する限り、潜在的に信頼できないノードが適切な方法でトランスコードまたはデータ操作を実行したことを受信機が依然として確認でき、且つ、受信機が依然として送信データの完全性を確認でき、送信データのどの暗号化も危険にさらされていないことを確認できるように暗号チェックサムを計算して実行するための方法及びシステムが開示される。
【0076】
さらに、本発明の実施の形態は、トランスコードまたは変更された、暗号化されていないデータの完全性を保証するのにも有益である。
具体的には、潜在的に信頼できないノードが適切な方法でトランスコードまたはデータ操作を実行する限り、潜在的に信頼できないノードが適切な方法でトランスコードまたはデータ操作を実行したことを受信機が依然として確認できるように暗号チェックサムを計算して実行するための方法及びシステムが開示される。
すなわち、受信機は、依然として、送信データの完全性を確認することができ、データのトランスコードまたは変更が適切で且つ容認できる方法で実行されたことを確認することができる。
【0077】
本発明の特定の実施の形態の上記説明は、図示及び説明の目的で提示されたものである。
それら説明は、網羅的であることを目的とするものでもなければ、開示した厳密な形態に本発明を限定することを目的とするものでもなく、上記教示に鑑みて、多くの変更及び変形が可能であることは明らかである。
本発明の原理及びその実用的な用途を最もよく説明し、それによって、本発明、及び、検討された特定の使用に適するようなさまざまな変更を有するさまざまな実施の形態を他の当業者が最もよく利用することを可能にするために、それら実施の形態は選ばれて説明されている。
本発明の範囲は、本明細書に添付された特許請求の範囲及びそれらの等価物によって規定されることが意図されている。
【図面の簡単な説明】
【0078】
【図1A】従来のアプリケーションレベル暗号化が実行される順序を示すブロック図である。
【図1B】従来のアプリケーションレベル暗号化の送信結果を示すブロック図である。
【図1C】ネットワークレベル暗号化を使用する別の従来の安全なストリーミングシステムを示すブロック図である。
【図2】本発明の実施の形態によるパケット化/暗号化方法を示すブロック図である。
【図3】本発明の実施の形態による、符号化、パケット化、及び暗号化が行われたメディアストリームを示す図である。
【図4A】本発明の実施の形態による、独立に計算された暗号チェックサムを有する、符号化されたデジタルストリームを示す図である。
【図4B】本発明の実施の形態による、独立に計算された暗号チェックサムを有する、符号化されたデジタルストリームを示す図である。
【図5A】本発明の実施の形態による、独立に計算された暗号チェックサムが後尾に追加された、符号化されたデータストリームを示す図である。
【図5B】本発明の実施の形態による、独立に計算された暗号チェックサムが後尾に追加された、符号化されたデジタルデータパケットが、トランスコードされて記憶されることを示す図である。
【図6A】本発明の実施の形態による方法を示すブロック図である。
【図6B】本発明の実施の形態によるトランスコード方法を示すブロック図である。
【図7A】本発明の実施の形態による、パケット内でのデータのセグメント化及びパケット間での暗号チェックサムの算出を示す図である。
【図7B】本発明の実施の形態による、パケット内でのデータのセグメント化、並びに、パケット間及びパケット内の双方での暗号チェックサムの算出を示す図である。
【図8】本発明の一実施の形態による、セグメントトランケートによるデータパケットストリームのトランスコードを示す図である。
【図9】本発明の一実施の形態による、パケット間の暗号チェックサムを算出するための装置を示す図である。
【図10A】本発明の一実施の形態による、パケット間での暗号チェックサムの算出を示すフロー図である。
【図10B】本発明の一実施の形態による、複数のセグメントを含むパケット間での暗号チェックサムの算出を示すフロー図である。
【図11】本発明の実施の形態による例示のコンピュータシステムを示す図である。
【図12】本発明の一実施の形態による、完全性チェックモジュールを有する受信機の概略図である。
【符号の説明】
【0079】
102・・・圧縮符号化,
104・・・暗号化/CCS計算,
106・・・パケット化,
111・・・ストリーミングメディア信号,
112・・・暗号チェックサム(CCS),
122・・・解読,
124・・・トランスコード,
126・・・再暗号化,
202・・・圧縮符号化,
204・・・パケット化,
206・・・暗号化/CCS計算,
301・・・メディアストリーム,
411・・・メディアストリーム,
413・・・データパケット,
414・・・ヘッダ,
417・・・トランスコード,
411・・・メディアストリーム,
413・・・データパケット,
414・・・ヘッダ,
417・・・トランスコード,
421・・・メディアストリーム,
422・・・セグメント,
423・・・データパケット,
424・・・ヘッダ,
428・・・トランスコード,
500・・・ストリーミング可能データ,
504・・・高帯域幅パケット,
505,511,515・・・トランスコーダ可読ヘッダ,
514・・・大きなパケット,
519・・・トランスコード,
521・・・記憶媒体,
902・・・受信機,
903・・・CCS計算機,
904・・・CCS追加器,
1100・・・コンピュータシステム,
1104・・・永久記憶デバイス,
1105・・・表示デバイス,
1106・・・英数字入力,
1107・・・カーソル制御,
1108・・・信号I/O,
1200・・・受信機,
1202・・・完全性チェックモジュール,

【特許請求の範囲】
【請求項1】
データの完全性を保証するための方法であって、
複数の第1のデータセグメント及び複数の第2のデータセグメントを含む複数のデータパケットについて、前記複数の前記第1のデータセグメントの暗号チェックサムを計算することと、
前記複数の前記第1のデータセグメントの前記暗号チェックサムを前記複数のデータパケットとは別に送信することを可能にすることと
を含む方法。
【請求項2】
前記複数の前記第2のデータセグメントの暗号チェックサムを計算することと、
前記複数の前記第2のデータセグメントの前記暗号チェックサムを前記複数のデータパケットとは別に送信することを可能にすることと
をさらに含む請求項1に記載の方法。
【請求項3】
前記複数の前記第1のデータセグメントの前記第1の暗号チェックサム及び前記複数の前記第2のデータセグメントの前記暗号チェックサムを、同じデータパケットに含めること
をさらに含む請求項2に記載の方法。
【請求項4】
前記複数の前記第1のデータセグメントの前記暗号チェックサムは、前記複数の前記第2のデータセグメントの前記暗号チェックサムが計算される速度(rate)とは異なる速度で計算される
請求項1に記載の方法。
【請求項5】
前記暗号チェックサムを計算することは、日和見主義的完全性チェック(opportunistic integrity checking)方式を利用する
請求項1に記載の方法。
【請求項6】
前記暗号チェックサムを計算することは、
暗号化されたデータパケットに含まれるデータのフィンガープリントを提供し、受信データの真正性及び解読されたデータの正当性を保証するハッシュ関数と、
メッセージ認証コード(MAC)と、メッセージダイジェストアルゴリズム鍵付きハッシュと、
SHA(安全なハッシュアルゴリズム)と、
RIPEMD(RACE完全性プリミティブ評価メッセージダイジェスト)と、
HMAC(メッセージ認証用鍵付きハッシング)と、
デジタル署名方式と
から成る群から選択される技法を使用して実行される
請求項1に記載の方法。
【請求項7】
前記複数の前記データパケットは、安全な、スケーラブルにストリーミング可能なデータ
を含む請求項1に記載の方法。
【請求項8】
前記複数の前記データパケットは、
発話と、
音響と、
画像と、
ビデオと、
コンピュータグラフィックと
から成る群から選択されるメディアのスケーラブルに圧縮されたデータを含むデータ
を含む
請求項1に記載の方法。
【請求項9】
前記複数の前記データパケットは、
空間スケーラビリティ、周波数スケーラビリティ、SNR(振幅)スケーラビリティ、対象領域スケーラビリティ、もしくは色平面スケーラビリティを有するJPEG−2000;
空間スケーラビリティ、時間スケーラビリティ、もしくはSNR(振幅)スケーラビリティ、対象領域(ROI)もしくはオブジェクトスケーラビリティ、もしくは微粒子スケーラビリティ(FGS)を使用するMPEG−1/2/4またはH.261/2/3/4;スケーラブル先進音響符号化(スケーラブルAAC);
複数の音響オブジェクトの個々の圧縮及び構成のためのMPEG−4合成音響を使用するオブジェクトベースの音響符号化;並びに、
進歩的/スケーラブルグラフィックス圧縮
から成る群から選択される技法に従ってスケーラブルにフォーマットされたデータを含む
請求項1に記載のデータの完全性を保証するための方法。
【請求項10】
前記複数の前記データパケットは、
メディアデータ
を含む
請求項1に記載のデータの完全性を保証するための方法。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate

【図12】
image rotate


【公表番号】特表2007−516660(P2007−516660A)
【公表日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2006−538158(P2006−538158)
【出願日】平成16年10月21日(2004.10.21)
【国際出願番号】PCT/US2004/035387
【国際公開番号】WO2005/045653
【国際公開日】平成17年5月19日(2005.5.19)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】