(57)【要約】データの完全性を保証するための方法及び装置を提供する。【解決手段】本発明にかかる方法及びシステムにおいては、ネットワークの中途にある潜在的に信頼できないトランスコーダが、パケット化されたデータのストリームをトランスコードすることを可能にしつつ、ストリームの残りのエンドツーエンドの完全性及びセキュリティを維持する。さらに、本発明にかかる方法などは、パケットの境界にわたる暗号チェックサムを算出する通信速度に大きな影響を与えずに、通信の完全性チェックを提供し、適合的な暗号チェックサム算出を可能とする。このような暗号チェックサムによって、信頼できないトランスコーダが、適切な方法でトランスコードを実行でき、目的とする受信機は、依然として送信データの完全性を確認することができ、送信データのどの暗号化も、可能な限り信頼可能な状態にさせることができる。【選択図】図５Ａ
2007516660.tif 000002
【特許請求の範囲】
【請求項１】
データの完全性を保証するための方法であって、
複数の第１のデータセグメント及び複数の第２のデータセグメントを含む複数のデータパケットについて、前記複数の前記第１のデータセグメントの暗号チェックサムを計算することと、
前記複数の前記第１のデータセグメントの前記暗号チェックサムを前記複数のデータパケットとは別に送信することを可能にすることと
を含む方法。
【請求項２】
前記複数の前記第２のデータセグメントの暗号チェックサムを計算することと、
前記複数の前記第２のデータセグメントの前記暗号チェックサムを前記複数のデータパケットとは別に送信することを可能にすることと
をさらに含む請求項１に記載の方法。
【請求項３】
前記複数の前記第１のデータセグメントの前記第１の暗号チェックサム及び前記複数の前記第２のデータセグメントの前記暗号チェックサムを、同じデータパケットに含めること
をさらに含む請求項２に記載の方法。
【請求項４】
前記複数の前記第１のデータセグメントの前記暗号チェックサムは、前記複数の前記第２のデータセグメントの前記暗号チェックサムが計算される速度（rate）とは異なる速度で計算される
請求項１に記載の方法。
【請求項５】
前記暗号チェックサムを計算することは、日和見主義的完全性チェック（opportunistic integrity checking）方式を利用する
請求項１に記載の方法。
【請求項６】
前記暗号チェックサムを計算することは、
暗号化されたデータパケットに含まれるデータのフィンガープリントを提供し、受信データの真正性及び解読されたデータの正当性を保証するハッシュ関数と、
メッセージ認証コード（ＭＡＣ）と、メッセージダイジェストアルゴリズム鍵付きハッシュと、
ＳＨＡ（安全なハッシュアルゴリズム）と、
ＲＩＰＥＭＤ（ＲＡＣＥ完全性プリミティブ評価メッセージダイジェスト）と、
ＨＭＡＣ（メッセージ認証用鍵付きハッシング）と、
デジタル署名方式と
から成る群から選択される技法を使用して実行される
請求項１に記載の方法。
【請求項７】
前記複数の前記データパケットは、安全な、スケーラブルにストリーミング可能なデータ
を含む請求項１に記載の方法。
【請求項８】
前記複数の前記データパケットは、
発話と、
音響と、
画像と、
ビデオと、
コンピュータグラフィックと
から成る群から選択されるメディアのスケーラブルに圧縮されたデータを含むデータ
を含む
請求項１に記載の方法。
【請求項９】
前記複数の前記データパケットは、
空間スケーラビリティ、周波数スケーラビリティ、ＳＮＲ（振幅）スケーラビリティ、対象領域スケーラビリティ、もしくは色平面スケーラビリティを有するＪＰＥＧ−２０００；
空間スケーラビリティ、時間スケーラビリティ、もしくはＳＮＲ（振幅）スケーラビリティ、対象領域（ＲＯＩ）もしくはオブジェクトスケーラビリティ、もしくは微粒子スケーラビリティ（ＦＧＳ）を使用するＭＰＥＧ−１／２／４またはＨ．２６１／２／３／４；スケーラブル先進音響符号化（スケーラブルＡＡＣ）；
複数の音響オブジェクトの個々の圧縮及び構成のためのＭＰＥＧ−４合成音響を使用するオブジェクトベースの音響符号化；並びに、
進歩的／スケーラブルグラフィックス圧縮
から成る群から選択される技法に従ってスケーラブルにフォーマットされたデータを含む
請求項１に記載のデータの完全性を保証するための方法。
【請求項１０】
前記複数の前記データパケットは、
メディアデータ
を含む
請求項１に記載のデータの完全性を保証するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［発明の分野］
本発明は、データ伝送及びデータストレージにおけるデータ操作の分野に関する。
より詳細には、本特許を請求する発明は、データのトランスコードまたは処理の期間中のセキュリティに関する。
【０００２】
［関連米国出願］
本出願は、次の同一出願人による同時係属中の特許出願：２００３年７月９日に出願されて、本発明の譲受人に譲渡された「CRYPTOGRAPHIC CHECKSUMS ENABLING DATA MANIPULATION AND TRANSCODING」という発明の名称の米国特許出願第１０／６１６，６８０号、及び、２００３年７月９日に出願されて、本発明の譲受人に譲渡された「METHOD AND SYSTEM FOR PROVIDING TRANSCODABILITY TO FRAME CODED STREAMING MEDIA」という発明の名称の米国特許出願第１０／６１７，３４８号に関連する。
これらの米国特許出願は、参照により本明細書に援用される。
【背景技術】
【０００３】
パケット化されたデータの伝送環境及びストリーミングメディア環境は、システム設計者に多くの課題を提示する。
たとえば、クライアントは、異なる表示能力、電源能力、通信能力、及び計算能力を有する可能性がある。
これに加えて、通信リンクは、異なる最大帯域幅、品質レベル、及び時間的に変化する特性を有する可能性がある。
たとえば、ビデオストリーミングシステムが成功するには、時間的に変化する通信リンクを介して異なるタイプのクライアントへビデオをストリーミングできなければならず、このストリーミングは、スケーラブルで、且つ、安全な方法で行われなければならない。
スケーラビリティは、異なるデバイス能力を有する多数のクライアントへのストリーミングを可能にするのに必要とされ、セキュリティは、特に無線ネットワークにおいて、コンテンツを盗聴者から保護するのに重要である。
【０００４】
本明細書では、「データ」という用語は、本出願で使用されるように、あらゆる形式の電子情報を指すことができることに留意されたい。
このような情報が有線ケーブルで通信されようと、光リンクで通信されようと、無線で通信されようと、それ以外の或る手段によって通信されようと「データ」は、ストリーミングされたメディアを意味することができ、ビデオまたは音響、ネットワークのパーツ間またはコンピュータのアーキテクチャ内で通信されるコンピュータ情報、ネットワーク内でまたはインターネットを介してコンピュータ間で計算された情報等である。
データは、一般に、パケット化されたフォーマットで通信される。
「メディアストリーム」及び「データストリーム」という用語は、本明細書では、通信されている一連のデータパケットを示すのに使用される。
【０００５】
また、次の解説は、データの伝送に関する従来技術の手法の欠点について具体的に述べるが、このような欠点は、任意の特定のタイプのデータの通信にのみ限定されるものではないことにも留意されたい。
そうではなく、従来技術の問題は、さまざまなタイプのメディアデータに及ぶ。
このさまざまなタイプのメディアデータには、音響ベースのデータ、発話ベースのデータ、画像ベースのデータ、グラフィックデータ、ウェブページベースのデータ等が含まれるが、これらに限定されるものではない。
【０００６】
メディアデータがストリーミングされる環境では、スケーラビリティ及び効率性を達成するために、圧縮されたメディアストリームを中間ネットワークノードにおいて適合させる、すなわちトランスコードする必要がある。
トランスコーダは、圧縮されたメディアストリームを入力として取り込み、次いで、その圧縮されたメディアストリームを処理して別の圧縮されたメディアストリームを出力として生成する。
例示のトランスコードオペレーションには、ビットレート低減、レートシェーピング、空間的ダウンサンプリング（spatial down-sampling）、フレームレート低減、及び圧縮フォーマットの変更が含まれる。
ネットワークトランスコードは、たとえば、特定のクライアントの表示能力にビデオストリームの空間解像度を適合させることにより、または、無線チャネルの時間的に変化する特性と整合するようにビデオストリームのビットレートを動的に調整することにより、システムのスケーラビリティ及び効率性を改善することができる。
【０００７】
例として、ストリーミングメディアビデオのクリップは、ウェブページの提示の一部とすることができる。
大きな帯域幅接続における、大きく強力なデスクトップ受信機は、たとえば、高品位テレビ（ＨＤＴＶ）のフル解像度でフルフレームレートのビデオストリームを受信して解読することができる。
しかしながら、同じネットワークの無線付属物は、はるかに小さな帯域幅で無線ユーザを接続することしかできない場合がある。
このストリームは、搬送するために、より小さな帯域幅の信号に変換されなければならない。
この変換をトランスコードと呼ぶ。
【０００８】
ネットワークトランスコードによって、ビデオストリーミングシステムにおけるスケーラビリティが容易にされるが、ネットワークトランスコードは、ストリーミングシステムのセキュリティに深刻な脅威ももたらす。
この理由は、暗号化されたストリームに対して実行される従来のトランスコードオペレーションが、一般に、そのストリームを解読して、解読されたストリームをトランスコードし、次いで、その結果を再暗号化することを必要とするからである。
具体的には、トランスコーダは暗号化鍵を必要とし、コンテンツは、トランスコーダでは、解読されて、平文の形式で存在する。
あらゆるトランスコーダは、ストリームを解読しなければならないので、各ネットワークトランスコードノードは、システム全体のセキュリティにおける危険性のある欠陥を提供する。
【０００９】
さらに、ネットワークには、トランスコードを実行するには理想的に配置されるが、信頼することができないノードが戦略的に置かれる場合がある。
これらの信頼できないノードは、個々のコンピュータの場合もあるし、リモートロケーションのクライアントイントラネットの場合もあるし、発信元の送信機と目的の受信機との間に挿入された他の任意のノードの場合もある。
【００１０】
より具体的には、従来のビデオストリーミング手法では、たとえば、アプリケーションレベルの暗号化を使用すると、ビデオは、まず、フレーム間圧縮アルゴリズムを使用して、ビットストリームに符号化、すなわち圧縮される。
その結果のビットストリームは、次に、暗号化することができ、その結果の暗号化されたストリームは、パケット化されて、信頼できないデータグラムプロトコル（ＵＤＰ）等の転送プロトコルを使用してネットワークを介して送信される。
【００１１】
ここで、この背景の解説における「符号化する、復号する、符号化、復号、符号化された、復号された」等の用語の使用は、ネットワークキャリアがケーブルであろうと、光ファイバであろうと、無線キャリアであろうと、それ以外のネットワーク接続であろうと、それらネットワークキャリアを介した転送に適した形式へのデータの圧縮またはそれ以外の符号化を指すことに留意されたい。
「暗号化する、解読する、暗号化すること、解読すること、暗号化、解読」等は、認可されない受信者からデータのセキュリティを保護するのに使用されるか、または、受信されたデータが正確に本来送信されたものであることを検証するのに使用される暗号符号化を指す。
【００１２】
図１Ａは、従来のアプリケーションレベル暗号化が実行される順序（すなわち、圧縮符号化１０２、暗号化／チェックサム計算１０４、及びパケット化１０６）を示すブロック図１００である。
この従来の手法に関連した１つの難点は、パケットを喪失した時に起こる。
具体的には、喪失したパケットからのデータがなければ、解読及び／または復号は不可能ではないにしても困難となる場合があるので、エラー回復は困難となる。
【００１３】
図１Ｂは、図１Ａのプロセス１００によって生成された結果の、パケット化されたデータストリームを示している。
データストリーム１１１は、圧縮符号化機能１０２によって圧縮され、暗号化された暗号チェックサム（ＣＣＳ）１１２が、暗号化／ＣＣＳ機能１０４によって後尾に追加される。
パケット化１０６は、データ及びＣＣＳから成る信号を、ネットワークの所要サイズのパケット１１３に分割する。
データの解読、または、データが暗号化されていない場合のデータの検証を行うには、パケットのすべてを、暗号化されたデータストリームに再組み立てしなければならない。
パケット１１３の１つが喪失すると、欠落したパケットがなければＣＣＳは無効となるために、メッセージ全体が喪失する。
【００１４】
ここで、暗号化及びＣＣＳの計算は、関連しているが、同じオペレーションではないことに留意されたい。
ＣＣＳは、計算する、すなわち算出することができ、暗号化されていないデータストリームの後尾に追加することができ、ＣＣＳは、受信機において、ストリームの完全性及び真正性を検証するのに使用することができる。
データの完全性とは、送信された一組のデータが受信された一組のデータであることを意味し、受信デバイスが、受信データに対して比較的高い信頼度を有することができることを意味する。
データの真正性は、受信された一組のデータが、送信機と称するもの（purported sender）によって実際に送信されたことを意味し、たとえば、敵意のある偽名が使用されていなかったことを意味する。
この場合も、この用語は、受信機が受信データに有することができる信頼度に関係する。
【００１５】
図１Ｃは、上記で解説した理由から、暗号化されたデータをトランスコードしなければならないトランスコードプロセスの機能ブロック図を示している。
プロセス１２０では、メディアストリームが１２２で解読され、１２４でトランスコードされ、次いで、１２６で再暗号化される。
データが暗号化されていない期間中、そのデータは、安全でないノードまたは信頼できないノードにおける認可されていない読み出しまたは操作に対してアクセス可能である。
【００１６】
ハイブリッド有線／無線ネットワークでは、有線ネットワーク上の固定されたクライアント及び無線ネットワーク上の移動クライアントへメディアを同時にストリーミングすることが必要となることが多い。
このようなハイブリッドシステムでは、多くの場合、固定された有線クライアントへはフル帯域幅の高解像度のデータストリームを送信し、移動無線受信機へはより低い帯域幅の中解像度のメディアストリームを送信することが望ましい場合がある。
しかしながら、従来のメディアストリーミング手法は、ハイブリッド有線／無線ネットワークに対応するストリーミングに容易に適合するのに必要な効率性、セキュリティ、及びスケーラビリティを達成していない。
【００１７】
さらに、望まれないデータ送信機及びデータトランスコーダの精巧さ及び敵意が増大すること、及び複雑なデータ環境におけるデータ通信速度の必要性が増加の一途をたどることは、互いに反する働きをする。
速度の必要性が増加することによって、データの伝送はより簡単にされ、理想的には暗号チェックサムなしにされる一方、セキュリティの必要性が高まることによって、より頻繁に計算された、より複雑な暗号チェックサムが必要とされる。
【特許文献１】米国特許出願公開第２００２／０９５５８６号
【特許文献２】米国特許第６０６５００８号
【特許文献３】米国特許出願公開第２００１／０２９５８１号
【発明の開示】
【発明が解決しようとする課題】
【００１８】
したがって、ネットワークの中途に存在する潜在的に信頼できないトランスコーダが、パケット化されたデータのストリームをトランスコードすることを可能にできると同時に、依然としてストリームの残りの部分のエンドツーエンドのセキュリティを維持する方法及び／またはシステムが必要とされる。
このような方法及びシステムは、通信速度に過度の出費なしに、通信の完全性のチェックも提供すべきである。
具体的には、潜在的に信頼できないトランスコーダが適切な方法でトランスコードを実行することを可能にするが、依然として、目的の受信機が送信データの完全性を確認することを可能にし、且つ、送信データのどの暗号化も、可能な限り高い程度で危険にさらされず信頼できる状態にあることを可能にする、暗号チェックサムを計算して実行するための手段が必要とされる。
【００１９】
［発明の概要］
したがって、本明細書では、データパケット間で暗号チェックサムを算出するための方法及びシステムが提示され、ネットワークの中途にある潜在的に信頼できないトランスコーダが、パケット化されたデータのストリームをトランスコードすることを可能にすると同時に、依然としてストリームの残りのエンドツーエンドの完全性及びセキュリティを維持する。
提示された方法及びシステムは、パケットの境界にわたる暗号チェックサムを算出する通信速度に過度の出費なしに通信の完全性チェックを提供し、したがって、非常に効率的で適合的な暗号チェックサム算出が可能になる。
パケット間で算出された暗号チェックサムによって、潜在的に信頼できないトランスコーダが適切な方法でトランスコードを実行することが可能になり、さらに、目的とする受信機は、依然として送信データの完全性を確認することが可能になり、送信データのどの暗号化も、可能な限り高い程度で危険にさらされず信頼できる状態にあることが可能になる。
【課題を解決するための手段】
【００２０】
データの完全性を保証するための方法及び装置が開示される。
一実施の形態では、本発明は、複数の第１のデータセグメント及び複数の第２のデータセグメントを含む複数のデータパケットについて、複数の第１のデータセグメントの暗号チェックサムを計算し、且つ複数の第１のデータセグメントの暗号チェックサムを複数のデータパケットとは別に送信することを可能にする。
【００２１】
本発明のオペレーションは、図面を参照することによって最もよく視覚化することができる。
【発明を実施するための最良の形態】
【００２２】
［詳細な説明］
本出願は、次の同一出願人による同時係属中の特許出願：２００３年７月９日に出願されて、本発明の譲受人に譲渡された「CRYPTOGRAPHIC CHECKSUMS ENABLING DATA MANIPULATION AND TRANSCODING」という発明の名称の米国特許出願第１０／６１６，６８０号、及び、２００３年７月９日に出願されて、本発明の譲受人に譲渡された「METHOD AND SYSTEM FOR PROVIDING TRANSCODABILITY TO FRAME CODED STREAMING MEDIA」という発明の名称の米国特許出願第１０／６１７，３４８号に関連する。
これらの米国特許出願は、参照により本明細書に援用される。
【００２３】
本発明の特定の実施の形態の以下の説明は、図示及び説明の目的で提示されたものである。
それらの実施の形態は、網羅的であることを目的とするものでもなければ、開示した厳密な形態に本発明を限定することを目的とするものでもなく、以下の教示に鑑みて、多くの変更及び変形が可能であることは明らかである。
本発明の原理及びその実用的な用途を最もよく説明し、それによって、本発明、及び、検討された特定の使用に適するようなさまざまな変更を有するさまざまな実施の形態を他の当業者が最もよく利用することを可能にするために、それら実施の形態は選ばれて説明されている。
本発明の範囲は、本明細書に添付された特許請求の範囲及びそれらの等価物によって規定されることが意図されている。
【００２４】
本明細書では、パケット化されたデータの暗号チェックサムを生成して適用する方法が提示される。
暗号チェックサム（ＣＣＳ）の目的は、データの完全性を確認することであり、たとえば、データが他者によって変更されていないことを検証することである。
一実施の形態では、本発明の提示は、潜在的に信頼できないトランスコーダがメディアストリームをトランスコードすることを可能にすると同時に、依然としてメディアストリームの所望のエンドツーエンドのセキュリティを維持することを可能にする安全なスケーラブルストリーミング（ＳＳＳ）の状況におけるものである。
具体的には、本明細書では、潜在的に信頼できないトランスコーダが適切な方法でトランスコードを実行する限り、受信機が送信データの完全性を依然として確認できるように、複数のデータパケットにわたる暗号チェックサムを設計して実行するための方法及びシステムが開示される。
【００２５】
安全なトランスコードが必要される理由は、潜在的に信頼できないトランスコーダが、そのトランスコード後に適切な暗号チェックサムを追加することは期待できないからである。
その代わり、本発明の実施の形態は、送信機が、予定されるトランスコードされたビットストリームのチェックサムをすでに含んでいるように設計される。
【００２６】
図２は、本発明の一実施の形態を示している。
図２は、上記欠点を克服する手段を提供する安全なメディアストリーミングシステムを達成する方法を示すブロック図２００である。
プロセス２００は、圧縮／符号化機能２０２、パケット化２０４、及び暗号化／ＣＣＳ計算２０６を組み込む。
このプロセスでは、送信のためのパケット化が、暗号化／ＣＣＳ計算２０６の前に行われる。
図２の方法は、従来の圧縮アルゴリズムのいずれも使用することができる。
ここでは、チェックサム計算２０６が各データパケットの暗号チェックサムを計算する前に、データストリームは符号化される。
【００２７】
図３は、プロセス２００の一実施の形態の結果を示している。
プロセス２００では、３１２でデータ３０１がセグメントＡ３０４、Ｂ３０５、Ｃ３０６、及びＤ３０７に分割される。
暗号チェックサムは、各セグメント３０４〜３０７について計算される。
３１３では、暗号チェックサムの計算後、各セグメント３０４〜３０７及びその各暗号チェックサム３１４、３１５、３１６、及び３１７が結合されて、データパケット３２１、３２２、３２３、及び３２４にされる。
たとえば、セグメントＡ３０４及びその関連したチェックサムＣＣＳ（Ａ）３１４が結合されて、データパケット３２１が形成される。
セグメントＢ３０５及びその関連したチェックサムＣＣＳ（Ｂ）３１５が結合されて、データパケット３２２が形成される。
【００２８】
ここで、各データセグメントの長さは、本発明の実施の形態では、その最大長に、その関連したＣＣＳの長さを加えたものが、ネットワークの最大パケットペイロードサイズまたは最大送信可能単位（ＭＴＵ）よりも小さくなるように選ばれることに留意されたい。
先に解説したように、データパケットは、最終的には、単一のセグメントを含むこともできるし、複数のセグメントを含むこともできる。
また、４つのパケットが図示されているが、任意の個数のパケットを使用できることに留意されたい。
【００２９】
本明細書で、「セグメント」、「独立復号可能部分」、及び「トランケート（切断）可能単位」という用語は、本明細書で解説された本発明の実施の形態では異なる意味を有する場合があることに留意されたい。
パケットの独立復号可能部分は、パケットペイロードの他の部分を復号する必要なく復号可能なパケットのペイロードの一部である。
さらに、暗号化されている場合、独立復号可能部分は、ペイロードの残りの部分を解読することなく解読が可能である。
トランケート可能単位は、解読を伴っていようがいまいが、パケットの残りの部分に有害な影響を与えることなく、パケットからトランケートすることができるパケットペイロードの一部である。
この解説では時に、これらの用語は、幾分交換可能に使用されるが、依然としてそれらの個々の意味を維持する。
セグメントは、パケットペイロードの全体またはその或る部分を含むことができるデータの一部である。
セグメントは、当該用語の用法に応じて、独立復号可能部分またはトランケート可能単位とすることもできるし、その双方またはそのいずれでもないものとすることもできる。
【００３０】
一実施の形態では、「セグメント」という用語は、ストリーミングビデオの復号可能フレームを暗に意味するのに使用される。
別の実施の形態では、「セグメント」は、個別に算出された暗号チェックサムを有するデータパケットの部分を示すのに使用される。
さらに別の実施の形態では、この用語は、複数のパケットの共にグループ化された部分を示すのに使用される。
この場合、暗号チェックサムは、複数のセグメント全体について算出される。
【００３１】
図４Ａは、トランケートによってトランスコードを行うことができる本発明の一実施の形態の機能を示している。
メディアストリーム４１１は、４１２で、セグメントに分割される。
各セグメントは、１つまたは２つ以上の独立復号可能部分（Ａ、Ｂ等）を含む。
この場合も、パケットペイロードは、１つまたは２つ以上の独立復号可能部分またはセグメントを含むことができ、いくつかの実施の形態では、独立復号可能部分は、独立トランケート可能単位を含むことができることに留意されたい。
パケット４１３に示すように、暗号チェックサムは、復号可能部分またはトランケート可能単位のそれぞれについて優先度の順序で計算される。
暗号チェックサム４１５は、第１のトランケート可能単位Ａ４０３について計算され、その結果、ＣＣＳ（Ａ）４１５となる。
暗号チェックサム４１６は、独立復号可能部分Ａ４０３、暗号チェックサムＣＣＳ（Ａ）４１５、及び独立復号可能部分Ｂ４０４を含む先行パケットペイロード全体について計算される。
その結果のチェックサムは、ＣＣＳ（Ａ，ＣＣＳ（Ａ），Ｂ）４１６として示されている。第３の独立復号可能部分が含まれている場合、次の暗号チェックサムは、
ＣＣＳ（Ａ，ＣＣＳ（Ａ），Ｂ，ＣＣＳ（Ａ，ＣＣＳ（Ａ），Ｂ），Ｃ）
として示されることに留意されたい。
【００３２】
トランスコーダ可読ヘッダ４１４が、パケット４１３に適用される。
このトランスコーダ可読ヘッダは、パケットのトランケートポイント等の情報を含む。
【００３３】
トランスコード４１７がこの実施の形態で実行される時、トランスコーダは、選択されたトランケート可能単位をトランケートすることができる。
パケットが暗号化されている場合、この形式のトランスコードを行うのに、解読は必要とされない。
図４Ａに示す例では、トランケート可能単位Ｂ及びその関連した暗号チェックサム４１６がトランケートされる。
パケットの、トランケートされず解読されない残りの部分４１８は、その後、その必要な暗号チェックサムＣＣＳ（Ａ）４１５、独立復号可能部分Ａ４０３、及びヘッダ４１４がそのままの状態で転送される。
図４Ａに示す本発明の実施の形態では、任意の個数のトランケート可能単位及びそれらの関連した暗号チェックサムを、トランスコード要件の必要に応じてパケットからトランケートすることができる。
各場合に、トランケート可能単位、その関連した暗号チェックサム、及び、暗号チェックサムがトランケートされた単位の算出を含む後続のトランケート可能単位もトランケートされる。
【００３４】
図４Ｂは、本発明の別の実施の形態を示している。
図４Ｂでは、メディアストリーム４２１が、４２２でセグメントに分割される。
これらのセグメントは、上記で解説したように、Ａ、Ｂ、Ｃ、Ｄ等として示す任意の個数の独立復号可能部分を含むことができる。
この例では、いくつかのセグメントは、各部分のサイズのために、他よりも多くの独立復号可能部分を含むことに留意されたい。
独立復号可能部分の個数の選択は、本発明のこの実施の形態では、データパケットの最大サイズに基づいている。
たとえば、独立復号可能部分Ａ４３３、Ｂ４３４、及びＣ４３５は、１つのセグメントに結合されている一方、独立復号可能部分Ｄ４３６は、単独で同様のサイズのセグメントを占めている。
【００３５】
図４Ｂに示す実施の形態では、暗号チェックサムが、他の独立復号可能部分とは独立して、各独立復号可能部分について算出される。
データパケット４２３は、独立復号可能部分Ａ４３３及びＣＣＳ（Ａ）４２５と、独立復号可能部分Ｂ４３４及びＣＣＳ（Ｂ）４２６と、独立復号可能部分Ｃ４３５及びＣＣＳ（Ｃ）４２７とを結合したものから形成される。
【００３６】
次に、パケット４２３のトランスコード４２８は、選択された独立復号可能部分またはトランケート可能単位、及び、関連した暗号チェックサムをトランケートすることを含む。
図示した例では、トランケート可能単位Ｃ４３５及びＣＣＳ（Ｃ）４２７がトランケートされる。
この実施の形態では、トランスコーダ可読ヘッダ４２４は、そのままの状態であり、トランケートポイントに関するヘッダ情報を保持する。
したがって、トランケートされたパケット４２９は、トランケート可能単位Ｂ及びＣＣＳ（Ｂ）４２６をトランケートすることによるその後のトランケートによってトランスコードを行うのに利用可能である。
このようにして、トランスコードを達成するのにいかなるパケットも解読及び再暗号化する必要なく、ネットワークにおける任意の所望の箇所でトランスコードを行うことができる。
各トランケートにおいて、解読されないパケットの残りの部分はその必要な暗号チェックサムを保持し、ストリーミングされたメディアはそのエンドツーエンドのセキュリティを保持する。
【００３７】
ここで、いくつかの実施の形態では、メディアストリームからパケット全体を消去することによってトランスコードを行うことができることに留意されたい。
また、暗号チェックサムは、パケットの検証等のために、暗号化されていないメディアストリームにも使用できることにも留意されたい。
【００３８】
図５Ａは、本発明の実施の形態が受けるプロセスの結果を示している。
「Ａ、Ｂ、Ｃ等」として示されたデータを含むメディアストリーム５００は、トランケート可能単位５０２に分割される５０１。
安全なメディアストリームの各パケットペイロードは、暗号化され５０３、ＣＣＳ（Ａ）５０６、ＣＣＳ（Ｂ）５０７、及びＣＣＳ（Ｃ）５０８として示された独立した暗号チェックサム（ＣＣＳ）が後尾に追加される。
５０４に示すように、暗号化されたトランケート可能単位は、関連した暗号チェックサムと共に結合されて、適切な長さの送信可能データパケットにされる。
【００３９】
ここで、暗号チェックサムは、多くの異なる関数を介して算出できることに留意されたい。
一般的なチェックサムは、既知のハッシュ関数を含むことができる。
既知のハッシュ関数は、暗号化されたデータパケットに含まれるデータのフィンガープリントを提供し、受信データの真正性及び解読されたデータの正当性を保証することができる。
暗号チェックサムの能力を提供するのに使用できるチェックサム関数の他の例には、メッセージ認証コード（ＭＡＣ）、ＭＤ４及びＭＤ５（メッセージダイジェストアルゴリズム）等の鍵付きハッシュ、ＳＨＡ（安全なハッシュアルゴリズム）、ＲＩＰＥＭＤ（ＲＡＣＥ完全性プリミティブ評価メッセージダイジェスト）、及びＨＭＡＣ（メッセージ認証用鍵付きハッシング）が含まれる。
また、いくつかの実施形態では、デジタル署名方式も使用することができる。
【００４０】
本発明の別の実施の形態では、データセグメントのトランケート可能単位への分割は、安全なスケーラブルストリーミング（ＳＳＳ）と呼ばれる。
ＳＳＳ等の技法を使用して、トランケート可能単位はパケット化される。
各データパケットは、そのパケットに含まれるヘッダにおいて定義できる適切なトランケートポイントでパケットをトランケートすることによってトランスコードすることができる。
たとえば、トランスコード中、ビットレート低減、フレームレート低減等は、パケットから１つまたは２つ以上のトランケート可能単位をトランケートする、すなわち削除することによって達成される。
【００４１】
本発明のこの実施の形態では、トランスコーダ可読ヘッダ５０５が書き込まれて、送信可能パケットに適用される。
上記で図５Ａに関して解説したように、トランスコーダ可読ヘッダは、パケット内のパケットペイロードに関する情報を含むが、パケットペイロードのコンテンツを公開するものではない。
５１０に示すように、トランスコーダ可読ヘッダを読み出すことによって、トランスコーダは、部分５０９を消去する、すなわち、送信可能パケットを「縮小」することができるが、その削除される部分もパケットの残りの部分も解読することはない。
図示した例では、独立復号可能部分ＡにもＣにも影響を与えず、それらの関連した暗号チェックサムにも影響を与えず、独立復号可能部分Ｂがその関連した暗号チェックサムと共に消去される。
このようにして、ストリーミングされたメディアデータのエンドツーエンドのセキュリティは、トランスコード機能を妨げることなく維持され、受信機は、トランスコードされたデータの完全性を確認することができる。
【００４２】
図５Ａ及び図５Ｂに示す実施の形態では、トランスコードが行われた後、新しいトランスコーダ可読ヘッダ５１１を書き込んで、新しいデータパケット５１０のコンテンツを反映することができる。
前のトランスコーダ可読ヘッダと同様に、含まれるパケットペイロードの始点及び終点並びにペイロード優先度に関する情報は含まれるが、コンテンツを公開する情報は含まれない。
確かに、新しいトランスコーダ可読ヘッダは、パケットペイロードの解読またはＣＣＳの評価を行うのに用いる鍵を有しないトランスコーダによって書き込まれるので、新しいトランスコーダ可読ヘッダは、パケットペイロードのコンテンツを公開することができない。
【００４３】
新しいトランスコーダ可読ヘッダによって、起こり得るさらなるトランスコード及びスケーリングを、通信の下流の別のロケーションで行うことができる。
パケットペイロードのサイズ及びロケーションに加えて、パケットペイロードの優先度もトランスコーダ可読ヘッダに含まれ、ウェブページの所有者によって廃棄可能とみなされるウェブページからの情報等、他の優先度情報も含めることができる。
大きなデスクトップコンピュータよりも小さな表示能力を有するハンドヘルドデバイスへの送信の場合、いくつかの複雑なウェブページの情報の多くは、たとえその表示を試みたとしても失われる。
この低い優先度の情報を早期のトランスコードで除去可能にすることによって、これらのより小さなデバイスへ送信する時に、貴重な帯域幅を他のユーザ用に保存することができる。
【００４４】
本発明の実施の形態は、ストリーミングされないデータパケットを処理することができる。
図５Ｂは、別の実施の形態のプロセスをブロックフォーマットで示している。
図５Ｂでは、記憶されたデータが、暗号チェックサムを乱すことなく操作される。
セグメントＡ、Ｂ、及びＣを含む大きなデータパケット５１４が、記憶媒体５２１から取り出される。
図５Ｂの例では、データは、基本的に圧縮されて、記憶空間が削減される。
これは、データのセグメント、このケースではセグメントＢと、その関連したＣＣＳ５１７とをトランスコード５１９によって除去することにより行われる。
トランスコードの結果は、より小さなデータパケット５２２となる。
このようなトランスコードは、セグメントＡ及びＣをそのままの状態で残すこと、並びに、重要なことに、ＣＣＳ（Ａ）５１６及びＣＣＳ（Ｃ）５１８は影響を受けないことに留意されたい。
トランスコーダ可読ヘッダ５１５が後のオペレーションに必要である場合、当該ヘッダを新しいトランスコーダ可読ヘッダ５１１に置き換えることができる。
【００４５】
本発明の実施の形態によって提供されるトランスコード方式は、ストリーミングされるデータに限定されるものではなく、記憶されたデータにも使用できることに留意されたい。
これに加えて、このトランスコード技法は、暗号化されたデータだけでなく、暗号化されていないデータにも有益である。
いずれにしても、トランスコードは、暗号チェックサムの混乱なしに、且つ、符号化されたデータを読み出す必要なく、行うことができる。
【００４６】
これを行うプロセスの一実施の形態を図６Ａに示す。
プロセス６００は、６１０で、ストリーミングされるメディア信号をセグメントに分割することによって開始する。
セグメントは、当該セグメントの１つまたは２つ以上及びそれらの関連した暗号チェックサムが通信パケットに適合することを可能にする適切な分割であれば、どの分割でもよい。
適切に分割された独立復号可能部分の一例は、たとえばＪＰＥＧ−２０００といったジョイントピクチャエキスパートグループ（ＪＰＥＧ）によって開発された圧縮標準規格で送信できるような高詳細圧縮画像（highly detailed compressed image）の一部とすることができる。
多くの例では、送信された第１のデータは、高ピクセレーション画像（highly pixilated image）を生成するのに十分なデータを含む。
その後、ストリームの後続のデータによって、画像の細部が連続的に精緻化される。
大きなディスプレイ上でのこのような画像の提示には、強調された細部を利用することができる。
しかしながら、ハンドヘルドコンピュータのディスプレイは、最初の精緻化後の画像と最後の最も高く詳細化された精緻化後の画像との間の差異を示すことができない。
論理トランスコードは、受信機が詳細を使用できない場合に、ストリームからのより高く詳細化されたデータを除去することができる。
送信データの場合、時に、単一のパケットが、いくつかの詳細レベルを備えたデータを含む場合がある。
しかしながら、より大きな画像の中には、必要なすべてのデータを運ぶのに多くのパケットを必要とするものがある。
【００４７】
一旦分割されると、６２０で、各セグメントまたは複数のセグメントの統合したものについて暗号チェックサムが計算される。
６３０で、セグメント及びそれらセグメントの関連した暗号チェックサムが結合されて、適切なサイズのデータパケットにされ、ネットワークにおいて送信される。
【００４８】
図６Ｂは、この実施の形態におけるトランスコーダによる次の動作を示している。
必要な帯域幅を低減するためであろうと、目的とする受信機の限界に適合するためであろうと、それ以外の何らかの理由のためであろうと、潜在的に信頼できないノードで動作しているトランスコーダが、メディアストリームのトランスコードに必要とされる場合、メディアストリームが６１５でアクセスされ、トランスコーダ可読ヘッダが６２５で読み出される。
トランスコーダ可読ヘッダは、パケットの所与の部分を消去するかどうかを判断する際に使用できるトランケートポイント、各独立復号可能部分の始点及び終点、その部分の相対的な重要度等、パケットのコンテンツに顕著な情報を含む。
パケットの適切な独立復号可能部分を消去することは、６３５で行われる。
パケットの残りの部分の暗号化にも符号化にも完全性にも影響を与えることなくパケットの一部を消去することによって、広帯域に制限された環境における通信に対してより補正可能な、より小さなパケットが生成されることに留意されたい。
トランスコーダ可読ヘッダが必要とされる場合６４５、トランスコーダ可読ヘッダが６５５で書き込まれて、トランケートされたデータパケットに適用される。
パケットの転送が６６５で行われる。
【００４９】
ここで、本発明の実施の形態は、暗号化されていないデータの符号化及び送信において同じ機能を実行することに留意されたい。
暗号チェックサムのデータ検証機能は、その基礎を成すデータが暗号化されていようとクリアであろうと、同様のままである。
さらに、暗号チェックサムのデータ検証機能は、データの一部が暗号化されておらず、一部が暗号化されている用途についても同様のままである。
【００５０】
さらに解説するように、本発明の実施の形態で使用される暗号チェックサムの算出形式の一利点は、その算出形式の結果、よりコンパクトな、トランスコードされていないデータストリームが得られるということである。
データストリームが小さく、暗号チェックサムの算出が少ない場合、データ通信を、以前の形式の暗号チェックサムの算出の場合よりも高速にすることができる。
【００５１】
図７Ａは、パケット内でのデータのセグメント化及びパケット間での暗号チェックサムの算出を示している。
図７Ａでは、７０１〜７０５としてそれぞれ示されたパケットＰ１、Ｐ２、Ｐ３、ないしＰｉ及びＰｎが、それぞれ、例として３つのセグメントＡ１、Ｂ１、Ｃ１ないしＡｎ、Ｂｎ、Ｃｎを含む。
これらのセグメントは、７１１、７２１、７３１；７１２、７２２、７３２；７１３、７２３、７３３；７１４、７２４、７３４、及び７１５、７２５、７３５としてそれぞれ示されている。
本発明のこの実施の形態では、暗号チェックサムは、異なるパケットから選択されたセグメントについて計算される。
【００５２】
一実施の形態では、暗号チェックサム７１６は、Ｐ１〜Ｐｎの「Ａ」セグメントのすべてについて算出される。
この暗号チェックサムは、ここでは、ＣＣＳ［Ａ１，Ａ２，…Ａｎ］と呼ばれる。
同様に、暗号チェックサム７２６は、Ｐ１〜Ｐｎの「Ｂ」セグメントのすべてについて算出される。
この暗号チェックサムは、ここでは、ＣＣＳ［Ｂ１，Ｂ２，…Ｂｎ］と呼ばれる。
同様に、暗号チェックサム７３６は、Ｐ１〜Ｐｎの「Ｃ」セグメントのすべてについて算出される。
この暗号チェックサムは、ここでは、ＣＣＳ［Ｃ１，Ｃ２，…Ｃｎ］と呼ばれる。
この実施の形態では、３つの図示した暗号チェックサムは、連結されて、ここでは、Ｐｃｃｓと呼ばれる追加パケット７０６にされる。
【００５３】
ここで、図示したパケットのすべてにおいて、３つのセグメントが示されているが、パケットは、任意の個数のセグメントを有することができることに留意されたい。
異なる個数のセグメントを有するパケットも、本発明の実施の形態によって対応することができる。
さらに、異なる個数のデータセグメントを有するパケットが、単一のデータストリームを構成することもできる。
【００５４】
これに加えて、図に示したセグメントがたとえ均一なサイズを有していても、一般に、セグメントは異なるサイズを有し、これは、本発明の実施の形態によって直接対応される。
【００５５】
また、数群のセグメントについて算出された暗号チェックサムは、それ自体異なるパケットで送信することもできるし、同じパケットで送信することもできることにも留意されたい。
本発明の実施の形態は、パケットにおいて、セグメントの任意の組み合わせを後尾に追加したり、連結したり、組み立てたりすることができる。
【００５６】
たとえば、セグメントは、均一なサイズであることが稀であり、したがって、セグメントのサイズ及びパケットのサイズに応じて、可変の個数のセグメントがパケットに適合できるので、本発明の実施の形態は、異なる個数のセグメントのパケットに対応する。
一例として、ＭＰＥＧで符号化されたビデオシーケンスは、３つの異なるタイプのフレームを有することができ、これらのフレームは、セグメントとすることができる。
さらに、ビデオのコンテンツ自体が、フレームのサイズを幅広く変化させる可能性がある。
所与のパケット内の複数のセグメント及び変化する個数のセグメントは、利用可能な通信帯域幅を効率的に使用するために本実施の形態によって対応される。
【００５７】
図７Ｂは、パケット内でのデータのセグメント化並びにパケット間及びパケット内の双方での暗号チェックサムの算出を示している。
図７Ｂでは、この場合も、３つのパケットＰ１、Ｐ２、及びＰ３がそれぞれ、７５１、７６１、７７１；７５２、７６２、７７２；及び７５３、７６３、７７３でそれぞれ示された３つのセグメントＡ、Ｂ、及びＣを有する。
図７Ｂでは、上記で解説したセグメントと異なり、３つのＡセグメント７５１、７５２、７５３は、それそれ、そのセグメントの後尾に追加されてそのセグメントの関連したパケット内に収容された自身の暗号チェックサムを有する。
これらの内部暗号チェックサムは、ＣＣＳ（Ａ１）７８１、ＣＣＳ（Ａ２）７８２、及びＣＣＳ（Ａ３）７８３で示されている。
すでに述べたように、数群のセグメントについて、一組の暗号チェックサムが算出され、追加パケットに連結される。
一方、「Ａ」セグメントの暗号チェックサム７５４は、それらセグメントに関連した、後尾に追加された暗号チェックサムだけでなく、それらセグメントの暗号チェックサムも含む。
この暗号チェックサム７５４は、ＣＣＳ［Ａ１，ＣＣＳ（Ａ１），Ａ２，ＣＣＳ（Ａ２），Ａ３，ＣＣＳ（Ａ３）］で示されている。
Ｐｃｃｓ７４４の残りの暗号チェックサムは、セグメントのみの暗号チェックサムである。
たとえば、Ｐｃｃｓ７４４のセグメント７６４は、３つのＢセグメントの暗号チェックサムＣＣＳ（Ｂ１，Ｂ２，Ｂ３）を含む。
セグメント７７４は、３つのＣセグメントの暗号チェックサムＣＣＳ（Ｃ１，Ｃ２，Ｃ３）を含む。
図７Ｂの例では、セグメント７６４及び７７４のいずれも、セグメント７５４のように、別のチェックサムを含む、セグメントの暗号チェックサムを含まない。
【００５８】
本発明の実施の形態は、セグメントの暗号チェックサムとセグメント／ＣＣＳの暗号チェックサムとの任意の組み合わせを結合できることに留意されたい。
また、後尾に追加された暗号チェックサムは、パケットの最初のセグメントについてのものである必要はなく、その暗号チェックサムが必要とされるどのセグメントについても含めることができることにも留意されたい。
【００５９】
本発明の実施の形態は、データパケット内の異なるセグメントの異なる暗号チェックサムを算出できることに留意されたい。
また、実施の形態は、或るセグメントの暗号チェックサムを、同じパケットの別のセグメントの暗号チェックサムを算出することなく算出することもできる。
これによって、暗号チェックサムをデータストリーム内で異なる速度で算出することが可能になる。
したがって、本発明のいくつかの実施の形態は、暗号チェックサムの算出を、利用可能な帯域幅、変化するセキュリティの必要性、変化する利用可能な計算能力、またはそれ以外の判定基準に適合させることができる。
以下でさらに解説するように、完全性チェックは、トランスコードの使用可能性（transcoding enablement）に優先することもできるし、その逆も可能である。
トランスコードの必要性は、完全性チェックの必要性よりも高くすることができ、たとえば、高い完全性優先度を有するデータセグメントよりも低い完全性優先度を有するデータセグメントについて、より頻度の高い暗号チェックサム算出を必要とすることもできるし、より頻度の低い暗号チェックサム算出を必要とすることもできる。
【００６０】
ここで、上記で図示して解説したパケットは、対象となるデータパケットと同じデータパスで送信できることに留意されたい。
しかしながら、それらのパケットは、同じデータパスに限定されるものではない。
たとえば、高セキュリティに関連した環境では、暗号チェックサムパケットは、帯域外で送信することができ、これは、異なるデータパスを介することを意味する。
たとえば、いくつかのネットワークでは、一般のネットワークよりもはるかに高いセキュリティを条件とした別個の高セキュリティアドミニストレータのネットが存在する可能性がある。
データのセキュリティ及び完全性を保証するのに使用される暗号チェックサムは、データパケットを受信する同じ受信ノードまたは他の或るノードへこれらの平行パスで送信することができる。
【００６１】
図８は、潜在的に信頼できないトランスコードノードによるデータストリームのトランスコードを示している。
図８では、例示のデータストリーム８２０は、４つのデータパケットを含む。
これら４つのデータパケットのうちの３つ８０１、８０２、及び８０３は、それぞれが３つのセグメントＡ、Ｂ、及びＣを含む。
４番目のパケット８０９は、データセグメント、ＣＣＳ（Ａ）、ＣＣＳ（Ｂ）、及びＣＣＳ（Ｃ）の暗号チェックサムを含む。
トランスコードは、複数の目的のために複数の手段によって行うことができるが、図８では、８５０で、データパケットのそれぞれからＣセグメントを消去することによって行われる。
トランスコーダは、各パケットのトランケートポイントのみを知っている必要があり、各データパケットからＣセグメントをトランケートし、また、Ｐｃｃｓ８０９からＣＣＳ（Ｃ）もトランケートする。
これらのトランケートポイントは、パケットヘッダにおいて特定することができる。
すると、その結果のデータパケットストリーム８３０は、一組のより小さなパケット８１１〜８１３及びより小さなＰｃｃｓ８１０を含む。
このトランケートのトランスコードは、暗号化されたデータストリーム及び暗号化されていないデータストリームに同様に上手く行うこともできるし、データの一部が暗号化され一部が暗号化されていないデータストリームに同様に上手く行うこともできる。
【００６２】
上述したように、この形式の暗号チェックサム算出の一利点の結果、よりコンパクトな、トランスコードされていないデータストリームが得られる。
データストリームが小さく、暗号チェックサムの算出が少ない場合、データ通信を、以前の形式の暗号チェックサムの算出の場合よりも高速にすることができる。
【００６３】
図９は、本発明の一実施の形態によるパケット間の暗号チェックサムを算出するための装置のブロック図である。
この装置９０１は、データストリーム９２０を受信する受信機９０２を備える。
暗号チェックサムは、さまざまな判定基準に基づいて暗号チェックサム計算機９０３により算出される。
これら判定基準のいくつかは、利用可能な帯域幅、利用可能な計算能力、セキュリティの必要性、データストリームに含まれるデータの重要度等である。
【００６４】
また、装置９０１は、暗号チェックサム（ＣＣＳ）追加器（appender）９０４も含む。
このＣＣＳ追加器９０４は、暗号チェックサム及びデータセグメントのパケットを後尾に追加若しくは連結するか、または、それ以外の方法で組み立てるためのものである。
追加器９０４は、いくつかの実施の形態では、データセグメントを暗号チェックサムセグメントと連結する；データセグメントを他のデータセグメントと連結する；暗号チェックサムを互いに連結する、ことが可能である。
追加器９０４は、この実施の形態では、データストリーム９３０について算出された暗号チェックサムを含むパケットを組み立てるか、後尾に追加するか、または連結する。
データストリーム９３０は、受信機９０２によって受信されたデータセグメント、及び、暗号チェックサム計算機９０３によって算出された暗号チェックサムを含む。
本発明の実施の形態は、事前に暗号化されたデータにも適用可能であることに留意すべきである。
すなわち、本発明は、（おそらく別のパーティによって）事前に暗号化されたデータの暗号チェックサムを算出する一実施の形態によく適している。
それを行う際に、本実施の形態により、別のパーティによって暗号化されたデータについても、完全性の検証が可能になる。
【００６５】
図１０Ａは、本発明の一実施の形態のオペレーションを示すフローチャートである。
図１０では、プロセス１０００は、１０１０で、複数のデータパケットにおける複数の第１のデータセグメントの暗号チェックサムを算出することによって開始する。
暗号チェックサムは、上記ＣＣＳ計算機９０３によって算出することができる。
この算出は、データ完全性及び／または暗号化検証を可能にするどの既知の機能によっても行うことができる。
この場合も、データ完全性は、データのソース及びデータコンテンツの信頼を含むことに留意されたい。
完全性をチェックする一機能は、公言された（avowed）データソースが実際にデータソースであることを保証することである。
【００６６】
１０２０で、本発明の本実施の形態は、追加パケットに暗号チェックサムを含める。
他の実施の形態では、完全性が検証を必要とするデータを含むパケット、及び、スタンドアロンパケットの後尾に暗号チェックサムを追加することができる。
暗号チェックサムをスタンドアロンパケットに含める能力によって、データストリームは、変更しないですむことが可能になり、さらに、データ完全性及びセキュリティを保証することができる。
プロセス１０００は、１０９９で終了する。
【００６７】
暗号チェックサムの算出及び包含は、異なるデータセグメント及び異なるパケットについて異なる速度で行うことができることに留意されたい。
これによって、異なるデータセグメントは、同じデータパケットまたは異なるデータパケットのいずれにおいても、異なる優先度または異なる完全性チェック要件を有することが可能になる。
一例として、ＭＰＥＧで符号化されたビデオクリップを含むデータストリームは、Ｉフレーム、Ｐフレーム、及びＢフレームを含むデータセグメントを有することができる。
Ｉフレームは、最も高い優先度を有し、一般に、トランケートもトランスコードも行われない。
Ｐフレームは、次に高い優先度を有し、トランケートもトランスコードもほとんど行われない。
Ｂフレームは、最も低い優先度を有し、通常、トランケートまたはトランスコードが行われる。
ビデオクリップの完全性が重大であり、且つ、Ｉフレーム以外はすべてトランケートする必要もある場合、Ｉフレームについては、検証を受けるのに十分な頻度で暗号チェックサムを算出することができ、Ｐフレーム及びＢフレームについては、頻繁なトランケートを可能にするためにより高い頻度で暗号チェックサムを算出することができる。
他方、フレームがほとんどトランケートされない場合、Ｉフレームの完全性を保証するために、Ｉフレームの暗号チェックサムは、より高い頻度で算出することができ、Ｐフレーム及びＢフレームの暗号チェックサムは、完全性のチェックの要求として、より低い頻度で算出することができる。
異なるレベルの完全性チェックを使用することが有益となり得る重要な部類の用途は、発話、音響、画像、ビデオ、コンピュータグラフィックス、またはそれ以外のタイプのメディアのスケーラブル（または進歩的若しくは組み込み式）圧縮アルゴリズムを使用する用途である。
これらのスケーラブル圧縮アルゴリズムの例には、空間スケーラビリティ、周波数スケーラビリティ、ＳＮＲ（振幅）スケーラビリティ、対象領域スケーラビリティ、若しくは色平面スケーラビリティを有するＪＰＥＧ−２０００；空間スケーラビリティ、時間スケーラビリティ、若しくはＳＮＲ（振幅）スケーラビリティ、対象領域（ＲＯＩ）若しくはオブジェクトスケーラビリティ、若しくは微粒子スケーラビリティ（ＦＧＳ）を使用するＭＰＥＧ−１／２／４若しくはＨ．２６１／２／３／４；スケーラブル先進音響符号化（スケーラブルＡＡＣ）；複数の音響オブジェクトの個々の圧縮及び構成のためのＭＰＥＧ−４合成音響を使用したオブジェクトベースの音響符号化；または、進歩的／スケーラブルグラフィックス圧縮が含まれる。
これらのスケーラブル符号化アルゴリズムは、一般に、ベースレイヤ（base layer）ビットストリーム及び１つまたは２つ以上のエンハンスメントレイヤ（enhancement layer）ビットストリームを生成し、多くの場合、レイヤごとに完全性チェックを適合させることが望ましい。
一般に、多くの用途は、異なる優先度を有するか、または、異なるレベルの完全性チェックを必要とする、異なるサブセットのデータを含み、したがって、完全性チェックの程度は、用途の要件に一致するように、上述したように各サブセットのデータについて調整することができる。
このようにして、過度の暗号チェックサムの計算が回避され、通信帯域幅及び計算資源の双方が保存されると同時に、依然として必要なレベルの完全性チェックが提供される。
【００６８】
これに加えて、一定の用途では、利用可能な帯域幅または計算資源は、時間と共に変化する場合があり、完全性チェックの量は、追加された利用可能な資源が利用可能になった時にそれら資源を活用するように適合することができる。
暗号チェックサムの算出の量または頻度を、利用可能な帯域幅または計算に依存するように、または、少なくとも利用可能な帯域幅または計算を認識するように適合させることは、「日和見主義的完全性チェック」方式と呼ぶことができる。
これに加えて、本発明による実施の形態は、暗号チェックサム算出の強度を変更し、且つ／または、動的に選択することにもよく適している。
すなわち、暗号チェックサムの強度は、暗号チェックサムのタイプ（または長さ）に対応する。
一般に、長い暗号チェックサムは、短い暗号チェックサムが提供するものよりも、正確である確率が高い完全性チェックを提供することができる。
したがって、利用可能な帯域幅または計算に依存するように、または、少なくとも利用可能な帯域幅または計算を認識するように暗号チェックサム算出の強度を適合させることも、「日和見主義的完全性チェック」方式と呼ぶことができる。
【００６９】
図１０Ｂは、複数のパケット内に複数のセグメントがあり、２つ以上の暗号チェックサムが、必要とされるレベルのデータ完全性及びセキュリティを達成するのに必要である、本発明の一実施の形態のオペレーションを示している。
図１０Ｂでは、この場合も、１０１５で、暗号チェックサムが、複数のデータパケットの複数の第１のセグメントについて算出される。
上述したように、パケットは、多くのタイプのデータ及び多くのタイプの多数のデータセグメントを含むことができる。
本実施の形態では、パケットは、どの特定の個数のセグメントにも限定されるものではない。
【００７０】
ステップ１０２５で、暗号チェックサムが、１０２５で追加パケットに含められる。
暗号チェックサムの包含は、データ若しくは他の暗号チェックサムまたはそれらのタイプの組み合わせを含むことができる、前に定義されたパケットの後尾に追加することとして行うことができる。
包含は、上述したＣＣＳ追加器９０４によって行うことができる。
【００７１】
１０３５で、暗号チェックサムが、複数のデータパケットの複数の第２のセグメントについて計算される。
「第２」という用語は、以下でさらに解説するように、暗号チェックサム算出の優先度または順序を意味するものではない。
この用語は、ここでは、データセグメントのグループを区別するためにのみ使用される。
この場合も、暗号チェックサムは、先に解説したように、ＣＣＳ計算機９０３が算出することができる。
【００７２】
第２の暗号チェックサムは、１０４５で追加データパケットに含められ、この場合も、第２の暗号チェックサムは、ＣＣＳ追加器９０４が後尾に追加するかまたは連結することができる。
本発明の実施の形態は、同じデータパケットまたは異なるデータパケットのいずれかに異なる暗号チェックサムを含めることが可能であることに留意されたい。
また、「第１」及び「第２」は、本明細書で使用されるように、データパケットにおけるセグメントの特定の順序を示すことを意味するものでもなければ、暗号チェックサムの算出の優先順位付けを意味するものでもない。
これらの用語は、ここでは、セグメントのタイプのグループ化を意味するのに使用される。
したがって、追加セグメント（たとえば、３つ以上のセグメント）がある場合、これらの追加セグメントも、同様の方法で処理される。
したがって、図１０Ｂのステップ１０４５の完了時に、３つ以上のセグメントがある場合、本発明は、必要に応じて、ステップ１０３５に戻り、図１０Ｂのプロセスを繰り返すのによく適している。
【００７３】
本発明の実施の形態は、コンピュータシステムで動作することが予想される。
汎用コンピュータシステムに一般的な構成を図１１にブロック図の形で示す。
汎用コンピュータ１１００は、プロセッサ１１０１が、揮発性メモリ１１０２、不揮発性メモリ１１０３、場合により或る形態のデータ記憶デバイス１１０４及び表示デバイス１１０５にバス１１１０によって電子的に接続されることを特徴とする。
表示デバイス１１０５は、異なる形態で実施できることに留意されたい。
ビデオＣＲＴスクリーンまたはビデオＬＣＤスクリーンが一般的であるが、この実施の形態は、他のデバイスで実施することもできるし、場合によりなくてもよい。
また、バス１１１０は、可能な英数字入力デバイス１１０６、カーソル制御１１０７、及び通信Ｉ／Ｏデバイス１１０８も接続する。
通信Ｉ／Ｏデバイス１１０８は、ストリーミングされるメディアの送信、トランスコード、及び受信に関与する本発明の実施の形態の状況で重要である。
さまざまな実施形態では、通信Ｉ／Ｏデバイス１１０８は、モデム、イーサネット（登録商標）接続、無線デバイス、または、コンピュータシステムと通信ネットワークとの間で信号を通信する他のあらゆる手段として実現することができる。
英数字入力デバイス１１０６は、任意の個数の可能なデバイスとして実施することができるが、一般に、キーボードとして実施される。
【００７４】
次に図１２を参照して、一要素を成す完全性チェックモジュール１２０２を有する受信機１２００の概略図が示されている。
動作時において、受信機１２００は、処理される可能性のあるデータパケットを受信し、完全性チェックモジュール１２０２は、受信データパケットの暗号チェックサム（すなわち、新しい暗号チェックサム）を計算することによってパケットの完全性をチェックし、その暗号チェックサムを受信された暗号チェックサム（たとえば、事前に決定された暗号チェックサム）と比較する。
より具体的には、受信機１２００は、たとえば、データストリーム９３０について算出された暗号チェックサムを含むパケットを受信する。
このデータストリーム９３０は、受信機９０２によって受信されたデータセグメント、及び、暗号チェックサム計算機９０３によって算出された暗号チェックサムを含む（９３０、９０２、９０３はすべて図９）。
一実施の形態では、受信された暗号チェックサムが、完全性チェックモジュール１２０２によって算出された暗号チェックサムと一致する場合、完全性チェックモジュール１２０２は、暗号チェックサムが一致することを示す。
逆に、受信された暗号チェックサムが、完全性チェックモジュール１２０２によって算出された暗号チェックサムと異なる場合、完全性チェックモジュール１２０２は、暗号チェックサムが一致しないことを示す。
一実施の形態では、この一致する結果または異なる結果の表示は、たとえば出力１２０４を介して外部のユーザに提供される。
【００７５】
したがって、本発明の実施の形態は、さまざまなコンポーネントから成る。
すなわち、一実施の形態では、本発明は、データセグメントが与えられると、適切な暗号チェックサムを計算し、関連したデータパケットを組み立てて送信する単位（たとえば、図９の装置９０１）から成る。
本実施の形態は、さらに、トランスコードモジュールまたはデータ操作モジュールから成る。
これに加えて、本実施の形態は、受信機（たとえば、受信機１２００）から成る。
この受信機は、データパケットの完全性を検証するために、受信されて（場合により）操作またはトランスコードされたデータパケットに対して完全性チェックを実行する。
受信機という用語は、本出願では、複数のコンポーネントを説明するのに使用されることが理解されるべきである。
たとえば、図９では、装置９０１は、データストリーム９２０を受信する受信機９０２を含む。
これに加えて、図１２は、たとえば図９の装置９０１から送信されたデータパケット及び対応する暗号チェックサムを受信するための受信機１２００を含む。
したがって、本発明の実施の形態は、ネットワーク内の潜在的に信頼できないトランスコーダがメディアストリームをトランスコードすることを可能にすると同時に、依然としてストリームの残りのエンドツーエンドのセキュリティを維持することを可能にする方法及びシステムを提供する。
具体的には、潜在的に信頼できないノード（たとえば、トランスコーダ）が適切な方法でトランスコードまたはデータ操作を実行する限り、潜在的に信頼できないノードが適切な方法でトランスコードまたはデータ操作を実行したことを受信機が依然として確認でき、且つ、受信機が依然として送信データの完全性を確認でき、送信データのどの暗号化も危険にさらされていないことを確認できるように暗号チェックサムを計算して実行するための方法及びシステムが開示される。
【００７６】
さらに、本発明の実施の形態は、トランスコードまたは変更された、暗号化されていないデータの完全性を保証するのにも有益である。
具体的には、潜在的に信頼できないノードが適切な方法でトランスコードまたはデータ操作を実行する限り、潜在的に信頼できないノードが適切な方法でトランスコードまたはデータ操作を実行したことを受信機が依然として確認できるように暗号チェックサムを計算して実行するための方法及びシステムが開示される。
すなわち、受信機は、依然として、送信データの完全性を確認することができ、データのトランスコードまたは変更が適切で且つ容認できる方法で実行されたことを確認することができる。
【００７７】
本発明の特定の実施の形態の上記説明は、図示及び説明の目的で提示されたものである。
それら説明は、網羅的であることを目的とするものでもなければ、開示した厳密な形態に本発明を限定することを目的とするものでもなく、上記教示に鑑みて、多くの変更及び変形が可能であることは明らかである。
本発明の原理及びその実用的な用途を最もよく説明し、それによって、本発明、及び、検討された特定の使用に適するようなさまざまな変更を有するさまざまな実施の形態を他の当業者が最もよく利用することを可能にするために、それら実施の形態は選ばれて説明されている。
本発明の範囲は、本明細書に添付された特許請求の範囲及びそれらの等価物によって規定されることが意図されている。
【図面の簡単な説明】
【００７８】
【図１Ａ】従来のアプリケーションレベル暗号化が実行される順序を示すブロック図である。
【図１Ｂ】従来のアプリケーションレベル暗号化の送信結果を示すブロック図である。
【図１Ｃ】ネットワークレベル暗号化を使用する別の従来の安全なストリーミングシステムを示すブロック図である。
【図２】本発明の実施の形態によるパケット化／暗号化方法を示すブロック図である。
【図３】本発明の実施の形態による、符号化、パケット化、及び暗号化が行われたメディアストリームを示す図である。
【図４Ａ】本発明の実施の形態による、独立に計算された暗号チェックサムを有する、符号化されたデジタルストリームを示す図である。
【図４Ｂ】本発明の実施の形態による、独立に計算された暗号チェックサムを有する、符号化されたデジタルストリームを示す図である。
【図５Ａ】本発明の実施の形態による、独立に計算された暗号チェックサムが後尾に追加された、符号化されたデータストリームを示す図である。
【図５Ｂ】本発明の実施の形態による、独立に計算された暗号チェックサムが後尾に追加された、符号化されたデジタルデータパケットが、トランスコードされて記憶されることを示す図である。
【図６Ａ】本発明の実施の形態による方法を示すブロック図である。
【図６Ｂ】本発明の実施の形態によるトランスコード方法を示すブロック図である。
【図７Ａ】本発明の実施の形態による、パケット内でのデータのセグメント化及びパケット間での暗号チェックサムの算出を示す図である。
【図７Ｂ】本発明の実施の形態による、パケット内でのデータのセグメント化、並びに、パケット間及びパケット内の双方での暗号チェックサムの算出を示す図である。
【図８】本発明の一実施の形態による、セグメントトランケートによるデータパケットストリームのトランスコードを示す図である。
【図９】本発明の一実施の形態による、パケット間の暗号チェックサムを算出するための装置を示す図である。
【図１０Ａ】本発明の一実施の形態による、パケット間での暗号チェックサムの算出を示すフロー図である。
【図１０Ｂ】本発明の一実施の形態による、複数のセグメントを含むパケット間での暗号チェックサムの算出を示すフロー図である。
【図１１】本発明の実施の形態による例示のコンピュータシステムを示す図である。
【図１２】本発明の一実施の形態による、完全性チェックモジュールを有する受信機の概略図である。
【符号の説明】
【００７９】
１０２・・・圧縮符号化，
１０４・・・暗号化／ＣＣＳ計算，
１０６・・・パケット化，
１１１・・・ストリーミングメディア信号，
１１２・・・暗号チェックサム（ＣＣＳ），
１２２・・・解読，
１２４・・・トランスコード，
１２６・・・再暗号化，
２０２・・・圧縮符号化，
２０４・・・パケット化，
２０６・・・暗号化／ＣＣＳ計算，
３０１・・・メディアストリーム，
４１１・・・メディアストリーム，
４１３・・・データパケット，
４１４・・・ヘッダ，
４１７・・・トランスコード，
４１１・・・メディアストリーム，
４１３・・・データパケット，
４１４・・・ヘッダ，
４１７・・・トランスコード，
４２１・・・メディアストリーム，
４２２・・・セグメント，
４２３・・・データパケット，
４２４・・・ヘッダ，
４２８・・・トランスコード，
５００・・・ストリーミング可能データ，
５０４・・・高帯域幅パケット，
５０５，５１１，５１５・・・トランスコーダ可読ヘッダ，
５１４・・・大きなパケット，
５１９・・・トランスコード，
５２１・・・記憶媒体，
９０２・・・受信機，
９０３・・・ＣＣＳ計算機，
９０４・・・ＣＣＳ追加器，
１１００・・・コンピュータシステム，
１１０４・・・永久記憶デバイス，
１１０５・・・表示デバイス，
１１０６・・・英数字入力，
１１０７・・・カーソル制御，
１１０８・・・信号Ｉ／Ｏ，
１２００・・・受信機，
１２０２・・・完全性チェックモジュール，
【図１Ａ】
2007516660.tif 000003
【図１Ｂ】
2007516660.tif 000004
【図１Ｃ】
2007516660.tif 000005
【図２】
2007516660.tif 000006
【図３】
2007516660.tif 000007
【図４Ａ】
2007516660.tif 000008
【図４Ｂ】
2007516660.tif 000009
【図５Ａ】
2007516660.tif 000010
【図５Ｂ】
2007516660.tif 000011
【図６Ａ】
2007516660.tif 000012
【図６Ｂ】
2007516660.tif 000013
【図７Ａ】
2007516660.tif 000014
【図７Ｂ】
2007516660.tif 000015
【図８】
2007516660.tif 000016
【図９】
2007516660.tif 000017
【図１０Ａ】
2007516660.tif 000018
【図１０Ｂ】
2007516660.tif 000019
【図１１】
2007516660.tif 000020
【図１２】
2007516660.tif 000021
【国際調査報告】
2007516660.tif 000022
2007516660.tif 000023