(57)【要約】  電源入力回路と、コード化されたビデオ信号を受信する入力部と、コード化されたビデオ信号を処理し出力信号を生成するための処理指示が格納されたメモリと、入力部に連結され受信したコード化されたビデオ信号を処理指示に従って処理するデコーダと、メモリ及びデコーダに連結され、処理指示に従って前記コード化されたビデオ信号を処理するデコーダの動作を制御するための第1制御部と、第1制御部とメモリと電源入力回路とに連結された第2制御部とを備え、第2制御部は、スタートアップ状態の表れに従って第1制御部の動作を抑制して処理指示を認証し、処理指示が認証されると第1制御部の動作の抑制を解除し、これにより制御部がメモリから処理指示を読みこむのを許可することを特徴とするビデオ処理装置。
2009517972.tif 000002
【特許請求の範囲】
【請求項１】
電源入力回路と、
コード化されたビデオ信号を受信する入力部と、
前記コード化されたビデオ信号を処理し出力信号を生成するための処理指示が格納されたメモリと、
前記入力部に連結され、前記受信したコード化されたビデオ信号を処理するデコーダと、
前記メモリ及びデコーダに連結され、前記処理指示に従って前記コード化されたビデオ信号を処理する、前記デコーダの動作を制御するための第１制御部と、
前記第１制御部とメモリと電源入力回路とに連結された第２制御部であって、スタートアップ状態の表れに従って前記第１制御部の動作を抑制して前記処理指示を認証し、前記処理指示が認証されると前記第１制御部のスタートアップ動作を許可し、これにより前記第１制御部が前記メモリから前記処理指示を読みこむのを許可する、第２制御部と
を備えたことを特徴とするビデオ処理装置。
【請求項２】
前記第１及び第２制御部は、共通の集積回路に組み込まれていることを特徴とする請求項１に記載の装置。
【請求項３】
前記第２制御部とメモリと第１制御部とに連結されたデータバスをさらに備えたことを特徴とする請求項１に記載の装置。
【請求項４】
前記第１制御部はリセット入力端子を有し、前記第２制御部は前記第１制御部の前記リセット入力端子に連結された出力端子を有することを特徴とする請求項１に記載の装置。
【請求項５】
前記第２制御部は公開鍵暗号作成法を用いて認証を行うことを特徴とする請求項１に記載の装置。
【請求項６】
前記第２制御部は前記処理指示に透かしがあるかどうかをチェックすることによって認証を行うことを特徴とする請求項１に記載の装置。
【請求項７】
前記第２制御部は前記入力部が受信したビデオ信号を復号化し、前記復号化された信号を前記デコーダに渡すことを特徴とする請求項１に記載の装置。
【請求項８】
前記第２制御部は前記受信したビデオ信号を、格納された鍵を用いて復号化することを特徴とする請求項７に記載の装置。
【請求項９】
コード化されたビデオ信号を受信するステップと、
前記コード化されたビデオ信号を処理して、処理指示の実行に応じて出力信号を生成するステップと、
スタートアップ状態の表れを検知するステップと、
前記検知に応じて前記処理指示を認証するステップと、
前記処理指示が認証されるまで、処理指示の実行を抑制するステップと
を有することを特徴とするビデオ処理方法。
【請求項１０】
前記認証するステップは、チェックサムを計算するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記認証するステップは、前記計算したチェックサムを所定の値と比較するステップをさらに有することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記認証するステップは、前記メモリのブートセクタにアクセスするステップを有することを特徴とする請求項９に記載の方法。
【請求項１３】
前記認証するステップは、前記アクセスしたブートセクタを所定のブートセクタと比較するステップをさらに有することを特徴とする請求項１２に記載の方法。
【請求項１４】
前記維持するステップは、プロセッサのリセット入力端子を作動するステップを有することを特徴とする請求項９に記載の方法。
【請求項１５】
前記認証するステップは、公開鍵暗号作成法を用いることを特徴とする請求項９に記載の方法。
【請求項１６】
前記認証するステップは、前記処理指示に透かしがあるかどうかをチェックするステップを有することを特徴とする請求項９に記載の方法。
【請求項１７】
前記処理をするステップは、前記受信したビデオ信号を復号化し、前記復号化された信号をデコードするステップを有することを特徴とする請求項９に記載の方法。
【請求項１８】
前記復号化するステップは、少なくとも一つの格納された鍵を用いることを特徴とする請求項９に記載の方法。
【請求項１９】
前記処理をするステップは、一つの集積回路上で行われることを特徴とする請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、デジタルコンテンツの配信システムに関し、特にビデオ信号を受信及びデコードする装置及び方法に関する。
【背景技術】
【０００２】
図１は、例えばデジタルセットトップボックス（STB）またはテレビなどに実装される、デジタルビデオ処理アーキテクチャ１０を示している。アーキテクチャ１０は、不揮発性メモリ（ブートROM、またはフラッシュメモリなど）を有するプロセッサ２０と、ソフトウェア用のダイナミックメモリ３５とを備えている。ここでいう「プロセッサ」とは、マイクロプロセッサなどの、中央処理ユニット（CPU）を有する電子計算機一般を指す。CPUは一般に、計算及び論理演算を行う計算論理ユニット（ALU：Arithmetic Logic Unit）と、命令（例えばコードを有するコンピュータプログラムなど）をメモリから抽出し、必要な時にはALUを呼出しつつ命令を復号して実行する制御ユニットとを備えている。ここでいう「メモリ」とは一般に、チップ、テープ、ディスク、ドライブなど、データを格納可能な一つまたは複数のデバイスを指す。例としてのみ挙げると、メモリは、ランダムアクセスメモリ（RAM）,リードオンリーメモリ（ROM）,プログラム可能リードオンリーメモリ（PROM）,消去可能PROM（EPROM）,または電気的消去可能PROM（EEPROM）チップの一つまたは複数の形を取ってよい。メモリは内蔵でもよく、プロセッサを含む、例えば集積回路（IC）などの集積ユニットに対して外付けでもよい。
【０００３】
通常の運用では、デジタルコンテンツは入力部４０を用いて受信される。入力部４０は例えば、衛星受信機、インターネットプロトコール（IP）受信機、またはデジタルケーブルテレビ受信機の形をとってよい。受信したコンテンツは、プロセッサ２０がメモリバス２５を介してアクセスするソフトウェア命令を実行するのに応じて、デコーダ５０を使って復号される。電源入れ／リセット回路６０は、アーキテクチャ１０を従来の方法で運用、ブート、またはリブートするのに用いられる。このようなアークテクチャは、該当分野において通常の技量を有する者にはよく理解されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１のアーキテクチャ１０の問題点は、プロセッサの運用を制御するソフトウェアの改ざんやハッキングに対して弱いことである。例えばハッカーは、メモリ３０及び／または３５に格納されたプロセッサ実行コードなどの、部品製造会社（OEM: Original Equipment Manufacturer）のソフトウェアまたは他の認定されたソフトウェアを、デジタルコンテンツの窃盗やコピー、または他の不法または不正な目的のために、不正なまたは変更されたソフトウェアに置換することができてしまう。
【０００５】
従って、ハッカーや侵略者がセットトップボックスのコアソフトウェアを自身のまたは変更されたソフトウェアに置換したかを検知し、ハッキングが検知されたときはデジタルコンテンツの不正な取得や閲覧を防ぐために装置の運用を阻止するまたは妨げることのできる、方法及び装置を提供することが望ましい。
【課題を解決するための手段】
【０００６】
電源入力回路と、コード化されたビデオ信号を受信する入力部と、コード化されたビデオ信号を処理し出力信号を生成するための処理指示が格納されたメモリと、入力部に連結され受信したコード化されたビデオ信号を処理指示に従って処理するデコーダと、メモリ及びデコーダに連結され、処理指示に従って前記コード化されたビデオ信号を処理する、デコーダの動作を制御するための第1制御部と、第1制御部とメモリと電源入力回路とに連結された第2制御部とを備え、第2制御部は、スタートアップ状態の表れに従って第1制御部の動作を抑制して処理指示を認証し、処理指示が認証されると第1制御部の動作の抑制を解除し、これにより制御部がメモリから処理指示を読みこむのを許可することを特徴とするビデオ処理装置。
【発明を実施するための最良の形態】
【０００７】
本発明の理解は、以下の発明の好ましい実施例の詳細な記載と添付の図面とを考慮することにより容易となる。図面においては、同様の部分には同様の参照符号が付けられている。
【０００８】
本発明の図面及び記載は、本発明の明確な理解に関連する要素を説明するために簡略化されており、明瞭化のために、典型的なデコード方法及びデコードシステムには見られる他の要素を除外していることを理解されたい。しかし、これらの要素は当業者には良く知られているため、ここではこれらの要素について詳述はしていない。ここにおける記載は、当業者に知られている変化例、修正例に向けられている。
【０００９】
本発明の一つの実施例では、デジタルセットトップボックスがブートまたはリブートされると、セキュアプロセッサが、セットトップボックスのメインプロセッサの動作を制限するため、スタートアップ認証プロシージャを実行する。ある設定では、セキュアプロセッサは、メインプロセッサのリセット入力端子を稼動することにより、この機能を実行する。セキュアプロセッサは、ソフトウェアが変更されていないことを検証するため、メモリ内に収容されたソフトウェアの認証を実行する。該ソフトウェアは、メインプロセッサ及び／またはデコーダの動作を制御してもよい。認証すると、セキュアプロセッサはメインプロセッサのリセット入力を解除し、メインプロセッサが自由に通常のブートまたはスタートアップ動作を開始または再開できるようにする。このようにして、本発明に係る装置は、ソフトウェアがメインプロセッサにロードされる前に、該ソフトウェアの整合性を(integrity)を検証する。
【００１０】
図２は、本発明の一実施形態に係るデジタルコンテンツ受信機アーキテクチャ１００を示している。アーキテクチャ１００は、図１と類似したセットトップボックスとして実現してもよい。アーキテクチャ１０とアーキテクチャ１００との同等の要素には、同等の参照番号が付けられている。アーキテクチャ１００はさらに、内蔵されたメモリ及びソフトウェア１２０を有するセキュアプロセッサ１１０を備えている。セキュアプロセッサ１１０は、セキュアマイクロプロセッサ、または例えば集積回路（IC）を内包するマイクロプロセッサの形を取ってよい。プロセッサ２０、１１０は、例えば共通の集積回路の中に内蔵されていてよい。
【００１１】
動作中、セキュアプロセッサ１１０は、リセット入力端子１３０を介してプロセッサ２０のブートアッププロセスを制御及び抑制する。プロセッサ２０がブートアップを許可される前に、セキュアプロセッサ１１０は、メモリ３０及び／または３５に格納されたソフトウェアなどの搭載(on board)ソフトウェアを認証し、改ざんや差し替えがされていないことを確認する。セキュアプロセッサ１１０は、例えば搭載ソフトウェア及び／または受信したデジタルコンテンツの復号(decrypt)や、コンテンツ関連鍵の管理、格納など、他のセキュア機能も提供する。さらにもしハッカーがセキュアプロセッサ１１０を除去または他の方法で不能化した場合、セキュアプロセッサ１１０のメモリ１２０に格納された鍵は、入力部４０を介して受信したデジタルコンテンツの復号、スクランブル解除、または他の方法によるアクセスのためには使用できなくなる。
【００１２】
一実施形態では、セキュアプロセッサ１１０はカリフォルニア州サンノゼのアトメルコーポレーション(Atmel Corporation)から市販されている集積回路(IC)の型番AT97SC3201の形をとってよい。
【００１３】
更に図２を参照すると、セキュアプロセッサ１１０は出力端子がプロセッサ２０のリセット入力端子１３０に連結されている。従ってプロセッサ１１０は、リセット入力端子１３０を駆動することにより、プロセッサ２０のブートまたはリブートをリセット及び／または抑制することができる。例えば、セキュアプロセッサ１１０は、プロセッサ２０のリセット入力端子を、認証が行われるまで、デフォルト設定によりセット(set)することができる。従って、例えば電源が入れられるまたはシステムがリセットされることにより電源が加えられると、スタートまたはリスタート条件が検知され、セキュアプロセッサ１１０は、セキュアプロセッサ１１０が関心対象のソフトウェア及び／またはデータをブート及び認証するまで、プロセッサ２０によるブートを抑制する。
【００１４】
次に図３を参照すると、本発明の一実施例に係るブロックダイアグラム２００が示されている。ブロックダイアグラム２００のアーキテクチャ１００に関連する部分について、限定的な目的ではない説明のために、図４，５，６に示す処理オペレーションについて記載する。図４を参照すると、図３のステップ１において、アーキテクチャ１００は電源入力回路６０（図２）から電力を受領する。例示の実施形態では、このステップは、電源を入れるまたは他の方法でセットトップボックスが駆動されたときに起きる。この駆動信号に応答して、セキュアプロセッサ１１０は、例えばプロセッサ２０のリセット入力端子１３０を駆動するなどして、メインプロセッサ２０をリセット状態に保持または維持する（ステップ３２０）。
【００１５】
一実施形態においては、セキュアプロセッサ１１０はブートROMなどの不揮発性メモリ内のチェックサムを、メモリ１２０などの内部で格納されたチェックサムと、ステップ３３０で比較する。非限定的な例示として、チェックサムは、典型的にはアサートされたビットである基本要素の和を求め、その結果得られる値を格納する。真正のチェックサムは、メモリ１２０に格納される。セキュアプロセッサ１２０は、独自にチェックサムを計算し、その結果を真正のチェックサムと比較して、コードが変更または差し替えされていないことを結論付ける。
【００１６】
ステップ３４０において、セキュアプロセッサ１１０は、ブートROMなどの不揮発性メモリ３０のブートセクタを、メモリ１２０などに内部に格納されたブートセクタと比較する。更なる非限定的例示として、ブートセクタとは、ブートストラッピング(bootstrapping)またはブートプログラムのためのコードを含むメモリのセクタである。
【００１７】
処理ブロック３３０．３４０のそれぞれにおける比較結果が正しいマッチ（例えば、比較結果に不一致が存在しない）を生じる場合は、アーキテクチャ１００はステップ３５０において認証される。もし認証されると、処理はステップ２に進む。もし認証されなければ、アーキテクチャはリブートされ、ステップ１を再び始める。ステップ３２０、３３０，３４０、３５０を達成するための、ソフトウェアなどのプロセッサ実行コードは、メモリ１２０に格納されていてよい。
【００１８】
非限定的例示として言うと、認証は公開鍵または非対称鍵暗号作成法に基づいていてよい。公開鍵暗号作成法とは一般に、ユーザが事前に共有の秘密鍵にアクセスしなくても安全に通信ができるようにする暗号作成法である。これは、数学的に関連付けられ一つが公開鍵であってもう一方が秘密鍵である、一対の暗号鍵を用いることによって達成される。公開鍵暗号作成法では、秘密鍵は秘密のままであり、公開鍵が広く配布される。一般的に、公開鍵を元に対の秘密鍵を推定することは実現可能ではない。例えば、秘密鍵はセキュアプロセッサ１１０のメモリ１２０の中に組み込まれている。認証するべきソフトウェアの少なくとも一部を、対応する公開鍵で暗号化しメモリ３０／３５に格納することによって、セキュアプロセッサ１１０が復号化及び認証をすることができる。または、対称鍵を用いてもよい。
【００１９】
若しくはまたはこれに加えて、プロセッサ１１０は、アーキテクチャ１００を認証するために、メモリ３０及び／または３５に格納されたコードの上または中に透かしがあるかどうかを調べてもよい。デジタル透かしは、基のデータに隠れた検証データを挿入できるようにする技術である。このような隠れた検証データは、所定のビッツグループの形をとってよい。このような実施形態においては、デジタル透かしは、認証するべきソフトウェアに従来の方法で組み込まれていてよく、これによりセキュアプロセッサ１１０が後に透かしの存在を確認し、ソフトウェアを認証することができる。
【００２０】
図２，３と共に図５を参照すると、ステップ２（図３）において、セキュアプロセッサ１１０はプロセッサ２０のリセット入力端子１３０（図５のステップ４１０）を解除する。これに応答して、プロセッサ２０はステップ４２０において、不揮発性メモリ３０（例えばブートROM）からブートする。ソフトウェアなどの、ステップ４１０を達成するためのセキュアプロセッサ実行コードは、メモリ１２０に格納されている。
【００２１】
図２，３と共に図６を参照すると、ステップ３（図３）において、プロセッサ２０はステップ５１０でセキュアプロセッサ１１０から暗号鍵を要求する。セキュアプロセッサ１１０は、ステップ５２０において、要求された鍵をもって応答する。例えばセキュアプロセッサ１１０は、セキュアプロセッサ１１０と関連付けられた一つまたは複数の秘密鍵によって暗号化された復号鍵を渡す。ステップ５３０においてプロセッサ２０は、セキュアプロセッサ１１０の秘密鍵に対応するローカルに格納された公開鍵を用いて、暗号化された鍵を復号化する。ソフトウェアなどの、ステップ５１０、５３０を達成するためのプロセッサ実行コードは、メモリ３０及び／または３５に格納されている。ステップ５２０を達成するための、ソフトウェアなどのセキュアプロセッサ実行コードは、メモリ１２０に格納されている。
【００２２】
これらのステップの完了により、アーキテクチャ１００は、無事にセキュアブートを実施し、さらに、入力部４０経由で受信したデジタルコンテンツにアクセスするなどのセキュリティ用法のための一つまたは複数の鍵を（安全に）復号化した。このアプローチにより、ハッキングや悪意のなりすまし(spoofing)を最小限に抑えることができる。
【００２３】
ブートプロセスや鍵処理の安全性を高めるために、更なるステップを実施することも可能である。しかし、これらの３つのステップは、全体的なアプローチの基礎となる。このような更なるステップには、メモリ３０／３５に格納されたソフトウエアの選択された一部をサンプルし該サンプルを示すデータをメモリ１２０に格納することが含まれ、これにより、セキュアプロセッサ１１０が後から、格納されたソフトウェアを再度サンプルし認証することができる。同様に、例えば、関数ポインタ(function pointer)を認証してもよく、及び／またはソフトウェアイメージの一部または全部のチェックサムを比較してもよい。
【００２４】
本発明の範囲または精神から逸脱することなく、本発明の装置及びプロセスに対して修正及び変更を加えることができることは、当業者には明らかである。本発明は、添付の特許請求の範囲及びその均等の範囲によってカバーされる限りにおいて、本発明の修正及び変更も含むことが意図されている。
【図面の簡単な説明】
【００２５】
【図１】従来のデジタルセットトップボックス（STB）のアーキテクチャを示すブロック図である。
【図２】本発明の一実施例に係るデジタルセットトップボックス（STB）のアーキテクチャを示すブロック図である。
【図３】本発明の原理に従い、セキュアプロセッサとメインプロセッサとメモリとに関連する一般的なプロセスフローを示す、単純化したフロー図である。
【図４】図３のステップ１のフロー図である。
【図５】図３のステップ２のフロー図である。
【図６】図３のステップ３のフロー図である。
【図１】
2009517972.tif 000003
【図２】
2009517972.tif 000004
【図３】
2009517972.tif 000005
【図４】
2009517972.tif 000006
【図５】
2009517972.tif 000007
【図６】
2009517972.tif 000008
【国際調査報告】
2009517972.tif 000009
2009517972.tif 000010
2009517972.tif 000011