(57)【特許請求の範囲】
【請求項１】
少なくともマイクロプロセッサを備える、コンテンツを処理するためのチップにおいて、
当該チップは、保護データおよび保護されるデータを格納するための集積化された不揮発性プログラマブルメモリを含み、
当該保護データは、プログラムが実行される間、当該マイクロプロセッサによる当該保護されるデータへのアクセスを許可する／否定するために用いられるようにするとともに、当該保護データは、アクセス許可のレベルを少なくとも２つ規定するデータを含み、当該アクセス許可のレベルは、保護のレベルを増加させる修正のみ可能であるようにし、さらに、
当該保護データは、アドレス限界を規定する値を含み、当該アドレス限界に基づいて、当該メモリに格納されるデータが保護されるデータであるようにし、かつ、このような保護されるデータへのアクセスが否認されるようにすることを特徴とする、チップ。
【請求項２】
当該保護データは、パスワードを含み、
当該アクセスは、パスワードチェックによって許可され／否認される、請求項１に記載のチップ。
【請求項３】
当該保護されるデータは、前記チップのオプションとしての特性を活性化／非活性化するためのデータを含む、請求項１または２に記載のチップ。
【請求項４】
当該オプションとしての特性は、当該外部デバイスからプログラムおよび／またはデータをダウンロードするための外部デバイスへの連結である、請求項３に記載のチップ。
【請求項５】
当該保護されるデータは、当該マイクロプロセッサに対する外部のブートプログラムを活性化する／非活性化するためのデータを含み、
当該外部のブートプログラムは、外部メモリから当該マイクロプロセッサに対する新たなブートプログラムをダウンロードするための命令を含む、請求項３に記載のチップ。
【請求項６】
当該保護されるデータは、条件付きのアクセス専用マイクロプロセッサを動作するためのプログラムおよびデータを含む、請求項１に記載のチップ。
【請求項７】
メディアからコンテンツを捜し出し、かつ、当該コンテンツを処理するようにしたデバイスであって、
当該メディアと請求項１から６のいずれかに記載のチップとの連結を含むデバイス。
【請求項８】
暗号化されたビデオ／音声データを処理するようにした、請求項７に記載のデバイス。
【請求項９】
少なくともマイクロプロセッサを含む保護されるチップを取得する方法であって、
請求項１から６のいずれか１つに記載のチップを用いていて、
−  当該不揮発性メモリの保護されるデータを修正するように少なくとも認可されたアクセスを用いるステップと、
−  当該アクセスを否定するために保護データを修正することによって前記不揮発性メモリの当該保護されるデータへのアクセスを保護するステップとを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくともマイクロプロセッサを備える、コンテンツを処理するためのチップに関する。本発明は、特に、保護されるべきコンテンツをメディアから捜し出すように設計されたデバイスに組み込まれることが意図されているチップに関する。また、本発明は、このようなチップが組み込まれるデバイスに関する。また、本発明は、本発明によるチップを保護するような方法に関する。
【背景技術】
【０００２】
保護される必要があるコンテンツを処理する既知の専用デバイスでは、当該コンテンツのセキュリティは、一般的に、コンテンツを処理するチップ（以下、「メイン・チップ」と称する。）の外部の手段によって、制御される。このような外部セキュリティ手段は、たとえば、特許文献1に記載されているように、スマートカードシステムを含んでいる。このような外部セキュリティ手段の利点は、デバイスの、自由度に優れた保護を提供することである。
【０００３】
それでもやはり、特許文献1では、コンテンツ処理手段を含むチップ、および、それゆえにこのシステムの中核は、単独では保護されない。たとえば、チップをテストするためのバスのような、外部素子との連結を行うために用いられることが意図されている連結部は、コンテンツ処理手段を制御するように機能してしまう。このように、処理されたコンテンツは、アクセス可能であるため、もはや保護されない。さらに、メイン・チップとセキュリティ素子との間の分離は、これらの間の通信が漏話されることを暗示している。さらに、従来の技術において提案されているセキュリティ手段は、高価であり、かつ、デバイスにおいて、実施されるべき補助的な製造ステップが必要となる。
【０００４】
【特許文献１】欧州特許1150506号公報
【発明の開示】
【課題を解決するための手段】
【０００５】
全ての上述の欠点を解決することが、本発明の目的である。低価格が保証されたデバイスを提案することが、本発明の別の目的である。
【０００６】
このことは、請求項1から8のいずれか一つに記載のチップ、および、請求項9または10に記載のデバイスによって達成される。
【０００７】
本発明によるチップは、保護データおよび保護されるデータを格納するための集積化された不揮発性プログラマブルメモリを含み、
当該保護データは、プログラムが実行される間、当該マイクロプロセッサによる当該保護されるデータへのアクセスを許可する／否定するために用いられることが意図されている。
【０００８】
処理手段を含むチップに、このような不揮発性プログラマブルメモリを組み入れることによって、当該チップの異なる特性に対して集積化保護を提供することが可能となる。当該マイクロプロセッサによるアクセスは、書き込みの際または読み出しの際になされる。本発明によって、自由度のあるセキュリティ手段を、メイン・チップ内で直接的手法により、非常に単純で、かつ、低コストで、実施することが可能になる。第1の実施例では、当該保護されるデータは、当該チップの特性を規定し、かつ、当該マイクロプロセッサは、書き込みの際または読み出しの際の当該保護されるデータにアクセスすることが、許可され、または、許可されない。たとえば、このような特性を、たとえばチップをテストするためのバスのような外部素子との連結とすることが出来る。この場合、本発明は、このような連結がマイクロプロセッサを制御するように機能することを、防止することを可能とする。保護されているデータへのアクセスが必要となるマイクロプロセッサは、保護データが当該アクセスを許可するのか否定するのかをチェックさせるプログラムを有している。マイクロプロセッサが当該チップにいくつか存在する場合、それらの各々は、保護されているデータへのそれ自体のアクセスに対し、それ自体の保護データを有している。保護が異なる種類の保護を提供することができ、かつ、保護されるデータが当該チップに対する数種類の特性に対応することができるので、本発明は、非常に多様性に富む保護が可能となる。以下、いくつかの実施例が、本発明の原理によって提案される。
【０００９】
保護データは、保護を増加させる修正しか可能でないことが好ましい。このようにすると、保護データがこれを否定するために修正された途端に、もはや保護されているデータにアクセスすることは、不可能となる。
【００１０】
本発明の第1の実施例によれば、当該保護データによって採用される各々の値は、当該マイクロプロセッサのプログラムに対する特定手段を有する。つまり、許可され、または、否定され、または、条件付きで許可される、所定の保護されるデータへのアクセスを有する。このように、好適な実施態様は、当該保護データがパスワードを含み、当該アクセスがパスワードチェックによって許可され／否認されることを提案している。
【００１１】
第1の実施例は、前記チップのオプションとしての特性を活性化／非活性化するためのデータを含む、保護されるデータを、用いることができる。このようなオプションとしての特性は、当該外部デバイスからのプログラムおよび／またはデータをダウンロードするための外部デバイスに対して連結されることが意図されている連結とすることができる。このようなオプションとしての特性は、当該マイクロプロセッサに対する外部のブートプログラムとすることができ、当該外部ブートプログラムは、外部メモリから当該マイクロプロセッサに対する新たなブートプログラムをダウンロードするための命令を含んでいる。このようなオプションとしての特性は、チップで都合よく活性化され／非活性化とされる、いかなる特性とすることもできる。それゆえに、この第1の実施例によって、チップの特性のカスタマイズが可能になる。
【００１２】
本発明の第２の実施形態によれば、当該保護データは、アドレス限界を規定する値を含み、前記不揮発性メモリの当該アドレス限界のもとでは、格納されているデータが保護されるデータであるようにし、かつ、このような保護されるデータへのアクセスが否認されるようにする。この実施例では、保護データは、アクセスが否認される当該マイクロプロセッサのプログラムに対する限界を制定している。保護は、増加しかなされず、かつ、それから、当該値を、増加するようにしか修正できないことが好ましい。
【００１３】
この第2の実施形態の応用例では、当該保護されるデータは、条件付きのアクセス専用マイクロプロセッサの機能に対する専用のプログラムおよびデータを含む。当該条件付きアクセス専用マイクロプロセッサは、従来技術において公知である、当該チップによって処理されるコンテンツに存在するセキュリティ・データと対話することが意図されている。それゆえに、本発明による原理は、メイン・チップ自体の、プログラムおよびデータの保護を可能にすることによって、メイン・チップのセキュリティ手段の実施が可能となる。このようなセキュリティ手段は、スマートカード・チップに存在するものと類似していてもよい。
【００１４】
いかなるダウンロードされたプログラム、および、数種類のデータ（つまり、ブートプログラム、条件付きアクセス・プログラムなど）も、この第2の好適な実施例によって保護することができる。
【００１５】
この場合、本発明によって、これらのセキュリティ素子がチップ自体で実施されるので、ハッカーが当該マイクロプロセッサとチップに存在しているセキュリティ素子との間の通信を、盗聴をすることができなくなるような、保護されるべきこのようなチップが、可能となる。
【００１６】
本発明は、また、メディアからコンテンツを捜し出し、かつ、当該コンテンツを処理することが意図されているデバイスに関し、当該デバイスは、前述のように、当該メディアとチップとの連結を含む。当該デバイスは、暗号化されたビデオ／音声データを処理することが意図されていると好ましい。
【００１７】
本発明は、また、少なくともマイクロプロセッサを含む、保護されるチップを取得する方法に関し、当該方法は、不揮発性メモリと称される、少なくとも集積化された不揮発性プログラマブルメモリを含んでいるチップを用いていて、当該不揮発性メモリは、保護データを含み、当該保護データは、プログラムの実行の間、当該マイクロプロセッサによる当該不揮発性メモリの保護されるデータへのアクセスを許可する／否定するために用いられることが、意図されている。当該方法は、
- 当該不揮発性メモリの保護されるデータを修正するために少なくとも認可されたアクセスを用いるステップと、
- 当該アクセスを否定するために保護データを修正することによって当該不揮発性メモリの当該保護されるデータへのアクセスを保護するステップとを含む。
【発明を実施するための最良の形態】
【００１８】
以下、本発明について、概略図を参照して詳細に説明する。
【００１９】
図1aの実施例の説明は、従来の技術による、デバイスDEVを示している。このようなデバイスDEVは、メディアVCMからコンテンツを捜し出すことが意図されている。当該コンテンツは、受けとった信号（ディスクからのデータなど）とすることができる。当該メディアは、ネットワーク（サテライト、テレストリアル、ケーブル、ワイヤレスなど）、DVD、フラッシュカード、パーソナル・ビデオレコーダなどのハードディスクなどとすることができる。当該デバイスは、セット・トップ・ボックス、テレビジョン受像器、DVDプレーヤ、接続されているホームサーバ、携帯用のオーディオプレーヤ、携帯電話機などとすることができる。
【００２０】
当該デバイスDEVは、当該メディアVCMから捜し出されるコンテンツを処理するためのプログラムPROを有するマイクロプロセッサMPを少なくとも含むチップCHPを少なくとも含む。この場合、処理されたコンテンツは、一般的に、利用手段EXPに伝達される。これらの利用手段EXPによって、たとえば、画像として、処理されたデータのディスプレイが、可能となる。当該利用手段EXPは、当該デバイスに含まれていてもよいし、当該デバイスの外部にあってもよい。このことは、いかなる相違も生じない。
【００２１】
従来の技術では、当該デバイスDEVは、一般的に、当該チップCHPから切り離される条件付きのアクセス・システムとして実施される、セキュリティ専用部を含む。図1に示されている例では、このような条件付きアクセス・システムは、マイクロプロセッサCMPのサポートを受けて、スマートカードSCの読み出しが可能なスマートカードリーダSCRとして説明される。
【００２２】
図1bは、従来の技術による他の実施態様を示している。取り外し可能なセキュリティモジュールSCRは、セキュリティ専用部としてデバイス内に差し込まれている。セキュリティモジュールSCRは、メディアVCMからスクランブルされているコンテンツを受けて、それらを解読し、それから、それらをコンテンツ処理手段に送る。従来の技術では、処理手段を含むメイン・チップCHPは、いかなる集積化保護もなしに、当該デバイスDEVにおいて実施されるように販売されている。この一般的な場合には、セキュリティ専用部によって受けられかつ制御されるデータは、保護されていないメイン・チップに送られる必要がある。このような通信は、たとえば、チップCHPをテストするために機能しているバスを介して、盗聴することができる。さらに、このようなバスは、当該メイン・チップCHPで実施されるいかなるマイクロプロセッサの制御も取り出すことができる。その結果、このシステムのセキュリティは、もはや確実ではなくなっている。このことは、保護されることが必要であるコンテンツが、チップCHPで処理される場合、重要な問題である。本発明の目的は、このようなチップCHPが集積化保護を有することを可能にすることである。
【００２３】
図2によると、本発明は、チップCHPが、不揮発性メモリNVMと称される、少なくとも集積化された不揮発性プログラマブルメモリを含み、当該不揮発性メモリNVMが、保護データADAおよび保護されるデータPDAを含み、当該保護データが、プログラムPROの実行中に、当該マイクロプロセッサMPによる、当該保護されるデータPDAへのアクセスを許可する／否定するために用いられることが意図されていることを、提案する。
【００２４】
図3は、本発明による不揮発性メモリのコンテンツの原則を例示している。
【００２５】
当該プログラマブル不揮発性メモリは、フラッシュメモリ、プログラマブル読み取り専用メモリ（PROM）、不揮発性ランダムアクセスメモリ（NVRAM）、磁気ランダムアクセスメモリ（MRAM）、ワンタイムプログラマブルメモリなどとすることができる。図3に示される不揮発性メモリは、独立したプログラマブル不揮発性メモリ、または、分割されたプログラマブル不揮発性メモリの一部分とすることができる。図3に示されているような単一のメモリは、本発明によるまたは下記に示されるいくつかの実施例を実施することができ、かつ、単一の実施例を実施するために専用とすることもできる。
【００２６】
本発明の原則によると、保護データADAは、不揮発性メモリNVMの第1のアドレスAD1に格納される。それから、当該保護データADAは、当該不揮発性メモリNVMの保護されるデータPDAを含むアドレスAD2へのアクセスを保護する。当該アクセスは、以下に示すように、読み出しの際、または書き込みの際、または、何れの場合にも行うことができる。
【００２７】
本発明による保護データおよび保護されるデータを用いるいくつかの実施例は、以下の図および表に提案されている。これらの実施例は、当業者が本発明を、理解し、再現し、かつ、使用することが可能となるように与えられているが、本発明の範囲内にある限り、異なるアドレスの他の種類の保護データおよび保護されるデータに、修正することもできる。
【００２８】
保護データADAの例
第1の実施例では、当該保護されるデータPDAによって採用される各々の値は、当該マイクロプロセッサMPのプログラムPROに対する特定手段を有する。つまり、許可され、または、否認され、または、条件つきで許可される、当該プログラムPROによって公知である、一つのアドレスまたはいくつかのアドレスAD2に格納される所定の保護されるデータPDAへのアクセスを有する。
【００２９】
この第1の実施例による保護データの第1の単純な実施態様では、アドレスAD1に格納される保護データは、2値、つまり、「0」および「1」、を採用することができる。たとえば、「0」は、認可されるアクセスに対応し、「1」は、認可されないアクセスに対応する。
【００３０】
【表１】
0004686193.tif 000002
【００３１】
このように、値が0である場合、アドレスAD2へのアクセスは有効である。この場合、値が「1」であれば、アクセスは、拒否される。その結果、アドレスAD2は、保障される。この保護は、増加しかしないことが好ましい。この例では、ACCESS_CONTROLビットは、「0」から「1」へしか設定することができないことを意味する。本発明によると、「1」のビット設定の場合に、アドレスAD2へアクセスすること、および、「0」のビットセットの場合に、このようなアクセスを禁止することは、当然に、可能である。各々のアクセスは、書き込みの際、読み出しの際、または、これらの両方の場合に規定されていて、かつ、所定のアドレスAD2の一つまたはいくつかに関連して規定されている。アドレスAD2における保護されるデータPDA（データ、プログラム、オプションなど）のいくつかの例は、以下に与えられるであろう。
【００３２】
保護データPDAの好適な実施態様は、パスワードチェックを用いる。それにより、（最終デバイス・メーカーまたはブロードキャスタのような）中間の製造業者が、パスワードを使用する海賊行為に対して、保護の第1のレベルによって、いくつかのデータおよび／またはプログラム、または、オプションに、アクセスすることの可能性を保持することが可能になる。この場合には、保護データが、2ビットで符号化される。
【００３３】
このような実施態様の例は、下記のテーブルに示されている。
【００３４】
【表２】
0004686193.tif 000003
【００３５】
このような、パスワード制御を有する実施例では、ACCESS_CONTROLビットが、保護レベル、つまり、認可されたアクセスまたは許可されないアドレスを規定するために用いられる。
【００３６】
値が「0：0」である場合、アドレスAD2に格納されているデータへのアクセスが、許可され、当該アドレスAD2、および、それから当該不揮発性メモリ、および、それゆえに、当該チップは、保護されない。SAVED_PASSWORDのYビットを読み出す、かつ、書き込むことが、可能となる。
【００３７】
値が「0：1」である場合、不揮発性メモリ、および、それから、チップは、パスワードによって保護される。Yビットの SAVED_PASSWORDを読み出す、または、書き込むことは、もはや不可能となる。このパスワード制御を実現するために、不揮発性メモリは、たとえば、Yビットのレジスタに、連結される。このレジスタに、Yビットの ENTERED_PASSWORDのパスワードを書き込むことが、可能となる。それから、このパスワードは、不揮発性メモリのアドレスAD1に、SAVED_PASSWORDという名前がつけられてセーブされているパスワードと比較される。この比較は、単純なインバータ、ANDゲートおよび論理和ゲートからなる、単純なランダムロジックを用いればよい。
【００３８】
その結果、2つのケースが、可能となる。
【００３９】
レジスタに書き込まれるパスワードが正確であるということは、ENTERED_PASSWORDとSAVED_PASSWORDとが同一であることを意味する。アドレスAD2に格納されるデータのアクセスが許可されるということは、不揮発性メモリが非保護モードであることを意味する。
【００４０】
レジスタに書き込まれるパスワードは、正確ではない。アドレスAD2に格納されるデータへのアクセスが許可されないということは、不揮発性メモリが保護モードであることを意味する。
【００４１】
不揮発性メモリが非保護モードである限り、当該アドレスSAVED_PASSWORDは、読み出しまたは書き込みを行うことができ、かつ、チップがパスワードによってまたはハードウェアによって保護されるとすぐに、読み出しも書き込みも行うことができない。
【００４２】
値が「1：X」の場合（Xは、「0」または「1」）、アドレスAD2へのアクセスは、ハードウェアによって保護される。
【００４３】
その上、保護レベルは、上昇することしか可能でなく、決して減少しない。その結果、「1：X」から「0：X」に、または、「0：1」から「0：0」に進むことは、不可能である。このような特性は、一方向のステートマシンを用いて実現される。ステートマシンは、事実上、所定のおよび調整された命令で採用することができる異なる状態を規定する。状態は、ループを実現するように命令される。つまり、一度、状態リストの最終の状態に達すると、このリストの最初の状態が、次の状態となる、または、状態が、開放的な方法で命令される。この場合、状態内で所定の順序を遵守することが可能になるので、一方向のステートマシンが、取得され、かつ、一度、最終の状態に達したとき、もはや、この状態を変更することは不可能となる。
【００４４】
第２の実施態様では、アドレスＡＤ１に格納される保護データＡＤＡがアドレス限界を規定し、当該アドレス限界のもとでは前記不揮発性メモリＮＶＭへのアクセスが禁止され、当該保護データは、アクセス許可のレベルを少なくとも２つ規定するデータを含み、当該アクセス許可のレベルは、保護のレベルを増加させる修正のみ可能であるようにする。当該アクセスは、再度、所定のマイクロプロセッサに対して、書き込みの際、読み出しの際、または、両方の際にも、規定することができることが、想起される。
【００４５】
たとえば、不揮発性メモリNVMの最後に埋め込まれたアドレスAD1は、保護データADAとして、READ_AND_WRITE_LIMITという名前がつけられた値を含む。この値READ_AND_WRITE_LIMITよりも小さい全てのアドレスAD2は、マイクロプロセッサMPによって、読み出すことも、書き込むこともできない。保護されるデータPDAは、この値READ_AND_WRITE_LIMITよりも小さいアドレスに格納される、いかなるデータによっても規定される。この値よりも大きい全てのアドレスは、当該マイクロプロセッサによって読み出しまたは書込みすることができる。アドレスAD1に格納される値は、読み出しすることができる。新たな値が古い値よりも大きい場合に限って、書き込みすることもできる。ところで、アドレス限界READ_AND_WRITE_LIMITが増加しか行われないので、この保護も、増加しかできない。
【００４６】
他の例では、不揮発性メモリNVMの最終アドレスAD1は、読み出し限界READ_LIMITおよび／または書き込み制限WRITE_LIMITを含む。読み出し制限READ_LIMITよりも小さい全てのアドレスは、当該マイクロプロセッサによって読み出しすることができない。この値以上の全てのアドレスは、当該マイクロプロセッサによって読み出しすることができる。書き込み制限WRITE_LIMITよりも小さい全てのアドレスは、当該マイクロプロセッサによって書き込みすることができない。この値よりも大きい全てのアドレスは、当該マイクロプロセッサによって書き込みすることができる。
【００４７】
読み出し制限READ_LIMITおよび書き込み制限WRITE_LIMITは、読み出しすることができ、かつ、新たな値が古い値よりも大きい場合に限って、マイクロプロセッサによって修正することができる。このように、保護レベルは、増加しかされないので、保護される不揮発性メモリNVMの一部が、非常に大きくなる。この第2の実施形態では、アクセスが制御されるアドレスは、アドレスAD1に格納される値よりも小さいアドレスAD2である。
【００４８】
不揮発性メモリの保護されるデータPDAの例
先に示したように、アドレスAD1での保護データは、所定のマイクロプロセッサに対する、不揮発性プログラマブルメモリNVMの他のアドレスAD2を書き込むおよび／または読み出すためのアクセスを保護することが狙いである。保護されるデータPDAは、当該アドレスAD2に格納される。以下に、保護されるアドレスAD2に格納される保護されるデータPDAの例が、示されるであろう。
【００４９】
第1の種類の保護されるデータPDAは、チップCHPの特性の状態を規定する特性データとすることができる。ここでは、一般的に、アドレスAD1に格納されている当該保護データADAによって制御されるアクセスは、アドレスAD2にマイクロプロセッサによって書き込む際のアクセスである。マイクロプロセッサは、特性データを読み出すことができるが、書き込みの際のそのアクセスは、保護データADAによって、許可され、または、許可されない。
【００５０】
この特性は、当該チップCHPに実施されるオプションとすることができ、かつ、それゆえに、この特性データは、そのオプションを用いる許可を与え、または、与えない。このようなオプションの例は、一般的に、ライセンスの支払いの条件下で、実施されるものである。たとえば、SECAM、MACROVISION、ICAM、CCIR_OUTPUTは、このような種類のオプションである。それから、このようなオプションを実現する手段は、製造中に、全てのチップにおいて実施することができ、かつ、それらの使用は、その後、本発明によって提案されるような保護データADAによって制御される保護レベルを実施することによって、イネーブルまたはディセーブルとすることができる。最終デバイスの製造業者またはブロードキャスタの選択による、全てのチップおよび最終的なカスタマイズの、これらのオプションを実現するための全ての手段の実施によって、当該チップの開発および製造に関するコスト削減を実現することが、可能となる。実際、単一バージョンのチップを、準備することができる。このチップは、最終的な生産段階でカスタマイズされる。この適応性は、独創的である。下記のテーブルには、第2列の値を受けることによって、第3列の名前が付されたオプションの選択に役立つ、保護されるデータPDAを格納している4つのアドレスAD2が示されている。
【００５１】
【表３】
0004686193.tif 000004
【００５２】
各々の4アドレスAD2に対するビットの値によって、CCIR_OUTPUT特性が、有効とされまたは有効とされず、ICAM特性が、イネーブルまたはイネーブルとされず、チップCHPに実施される処理手段が、処理手段の出力に、MACROVISIONコピー保護を追加するまたは追加されず、チップCHPに実施される処理手段が、SECAM出力を発生するまたは発生されない。それから、これらの値を変更するためのアクセスは、アドレスAD1で格納された保護データADAの対応に従って、許可されまたは許可されない。
【００５３】
それから、オプションの制御は、本発明の当該第1の実施例に示されるように、保護データADAの制御の下で提供される。アドレスAD1に格納される保護データADAの単一ビットは、オプションの設定を保護することが望ましい。それでもやはり、アドレスAD1に格納されているいくつかの保護データADAは、さらに、各々の上記のアドレスAD2を、別々に保護することができる。
【００５４】
保護データADAによって保護される特性は、チップCHPの外部との連結を可能とする、いかなる手段とすることもできる。本発明により、このような手段を、それらの状態（活性化または非活性化）を制御する特性データによって、イネーブル化とディセーブル化とが可能になる。このような手段は、下記に示される。
【００５５】
マイクロプロセッサのブート・モード
本発明のおかげで、マイクロプロセッサは、外部メモリからその第1のブートを実現するために、チップ上のいかなるメモリの小さい部分に格納される、第1のブート・モードと称される、小さいプログラムを有することができる。たとえば、（チップが、このようなデバイスですでに用いられる場合）、チップの外部および／または最終デバイスの外部の電気的消去可能PROMは、外部メモリとして、用いることができる。この場合、ブロードキャスタは、この外的メモリから、自由にカスタマイズすることができる新たなブートプログラムを、ダウンロードすることができる。当該内部または外部の第1のブート・モード内部または外部の活性化は、特性データが格納される、マイクロプロセッサが、アドレスAD2を読み出すことによって実行される（以下の例、および、テーブルを参照されたい）。事実上、本発明は、ブート・モード（外部または内部）を規定しているアドレスAD2に格納されている保護されるデータPDAの修正によって、ブートプログラムをダウンロードするために、第1のブート・モードの活性化を、ディセーブルにするまたはイネーブルにすることが可能になる。それから、アドレスAD1に格納された、本発明の第1の実施例において規定された保護データADAは、ブート・モードを規定する保護された特性データADAの書き込みの際のアクセスを制御する。一度、第1のブート・モードのこのような活性化が『外部のブート』から『内部ブート』まで、アドレスAD2の変更によってディセーブルとされ、かつ、一度、アドレスAD2への書き込みに対するアクセスが、引用された実施例の一つによるアドレスAD1の保護データADAによって非許可とされると、アドレスAD2の書き込みに対するアクセスは、もはや不可能となり、かつ、『外部』ブート・モードも、もはや不可能となる。それから、ブートは、新たなブートプログラムが格納されている、チップのメモリから実現される。
【００５６】
チップの内部へのアクセスを可能にする連結
外部電源に対する当該チップの連結は、本発明によって不可能とすることができる。JTAG、EJTAG、デバッグ・インターフェイスによって、外部ユーザが、チップの内部動作を、制御または盗聴することが可能となり、かつ、本発明は、特にこのような特性に対して関係している。このような特性の状態（活性化、または、活性化でない）は、アドレスAD2に格納される保護されるデータPDAによって規定されている（以下のテーブルを参照されたい）。このアドレスAD2への書き込みに対するアクセスは、本発明の第1の実施例により、保護データADAによって制御される。
【００５７】
このことは、従来の技術に関する新たな機能であり、ここでは、主として、製造問題またはデバッグ問題に対して用いられている、これらの連結が、一般的には、特に、チップのテストに関する固有の欠点を引き起こすセキュリティ上の理由が物理的に抑制される。本発明によって、チップおよび／またはデバイスをテストするための、このような連結を保持することが可能となり、それから、非可逆性手法で、それを不可能になる。この不可能にすることは、単純なプログラミングによって、および、最終デバイスの商業化まで実現することができる。
【００５８】
マイクロプロセッサの動作のためのプログラムおよびデータを書き込むことの許可
当該不揮発性メモリNVMのアドレスへの書き込みは、アドレスへの書き込みができない間に、保護されるデータPDAとしての値READ_ONLYを、アドレスAD2に格納することによって、禁止することもできる。対応する保護データADAによって、アクセスが当該保護されるデータPDAを修正することが可能になる場合に限り、当該値READ_ONLYを、修正することができる。
【００５９】
第2の実施形態による保護データADAは、チップに格納されているプログラムおよびデータを含む、第2の種類の保護されるデータPDAを保護するために、用いることができる。たとえば、マイクロプロセッサのプログラムおよびデータのダウンロードの後に、本発明によって、さらに、当該ダウンロードされたプログラムおよびデータへのアクセスを制御することが可能となる。これは、特に、チップに対して好適であり、ここでは、条件付きのアクセス・システムに対する、専用のプログラムおよびデータが当該チップ自体にダウンロードされる。実際上、本発明のおかげで、保障された条件付きのアクセス装置を、チップ自体に集積化することができる。実際上、図4に示されるような、本発明の好ましい実施例によれば、チップCHP自体の条件付きのアクセス装置CASを有することが可能となる。実際上、本発明は、条件付きのアクセス装置CASの保障動作に対する専用のプログラムおよびデータの読み出しを防止するために、保護することが可能になる。このような特性は、チップの条件付きのアクセス装置を用いることを望む場合には、重要である。
【００６０】
一般的に、条件付きのアクセス・システムCASは、専用マイクロプロセッサCMPを含む。実際上、メインマイクロプロセッサは、効率的に保障することができない多くのプログラムおよびデータを有している。それゆえに、一般的に、他のマイクロプロセッサは、この機能に対して専用とされている。スマートカードシステムにおいて一般に用いられる、このようなマイクロプロセッサの例は、インテル（登録商標）80c51命令セットを有している。この種のマイクロプロセッサは、本発明によるチップに、好適に実施される。ブロードキャスタは、本発明によって、このマイクロプロセッサCMPをプログラムするために、管理メッセージ（たとえば、ECMメッセージおよびEMMメッセージ）を解読するために用いられるアルゴリズム、暗号化アルゴリズムが必要な、いかなるプログラムも自由に選択することができ、それから、条件付きのアクセス装置CASで実施したいセキュリティ特性を、自由に選択することができる。このため、ECMメッセージを解読するために一般に用いられるAESまたはTriple-Desアルゴリズム、一般に用いられるRSAアルゴリズム、または、公開鍵−秘密鍵などのシステムによる楕円曲線アルゴリズムは、ダウンロード手段が上記のような特性データによって活性化にされる限り、ダウンロードすることができる。このため、ペイ・パー・ヴュー方式、ペアレンタル制御などのような先進機能は、ダウンロードされたプログラムによって、管理することができる。一度、当該アルゴリズムが、格納され、本発明の第2の実施形態による保護データADAが、読み出しおよび／または書き込みの禁止中に、少なくともアドレスAD1の限界値を格納することによって、読み出しの際におよび／または書き込みの際に、当該プログラムおよびデータに許可なくアクセスする可能性を与えるので、本発明の利点によって、セキュリティを失うことなく、このような選択が可能となる。ここで、アクセスの制御は、メインマイクロプロセッサのアクセスと関係があるが、条件付きアクセス・プログラムおよびデータが格納される、不揮発性メモリへのいかなる読み出しアクセスおよび書き込みアクセスも行わなければならない条件付きアクセス・プログラムのアクセスとは関係がない。実際上、最も下位のアドレスに、一つ以上の鍵が、格納され、かつ、上位アドレスに、解読されたアクセス権が、格納される。アクセス権は、条件付きアクセス・マイクロプロセッサが、暗号解読している鍵を提供するために受け入れることと、メインマイクロプロセッサが、このようなデータを必要とすることとの、いずれのプログラムであるかを知るためのデータを与え、それゆえに、それらを読み出す権利を有する。このため、本発明の第2の好適な実施例による保護データADAの実施による、メインマイクロプロセッサは、最も下位のアドレスを読み出すことも、書き込むこともできず、かつ、アクセス権が格納されている、上位アドレスを読み出すことはできるが、書き込むことができない。
【００６１】
付加的な内部SRAMメモリが、アルゴリズム計算の間、中間結果を格納するために用いられることは好ましい。構成に基づいて、この最終的なSRAMメモリがメインマイクロプロセッサによって読み出しまたは書き込みすることができない。このことは、このメモリとメインマイクロプロセッサとの間の連結がないことを意味する。つまり、このSRAMは、条件付きアクセス・マイクロプロセッサとしか連結していない。
【００６２】
本発明による他の実施例と組み合わせて、または、並置して用いることができる好ましい実施例は、特に、条件付きのアクセス・システムを好ましくは有する、セット・トップ・ボックス・デバイスに対して好都合である。
【００６３】
セット・トップ・ボックス・デバイスの場合の、様々な図示された実施例の組み合せの例が、以下に示されている。この例では、図4に記載されているように、メイン・チップCHPは、少なくとも、マイクロプロセッサMP、および、分割することができるフラッシュメモリNVMSを含む。当該マイクロプロセッサMPは、たとえば、MIPS命令セットを有する処理装置である。当該フラッシュメモリNVMSは、マイクロプロセッサバスに、直接連結されないが、単純なランダムロジックは、環境を確実に保証にするために、マイクロプロセッサバスとフラッシュメモリとの間に挿し込まれている。
【００６４】
フラッシュメモリNVMSの上位アドレスには、3グループ（Access_Control_Group、MIPS_Protection_Group、および、Selection_Options_Group）にグループ化することができる保護データADAが、格納される。
【００６５】
Access_Control_Groupは、以下のテーブルに示されるアドレスAD1によって構成される。
【００６６】
【表４】
0004686193.tif 000005
【００６７】
Xは、「0」または「1」であり、かつ、Yは、パスワードSAVED_PASSWORDが符号化されるビットの数である。
【００６８】
上記の実施例によれば、MIPS_Protection_ACCESS_CONTROLに対応する保護データは、メインマイクロプロセッサによってMIPS_Protection_Groupに書き込みする際のアクセスを可能ともしないし、不可能ともしない。
【００６９】
【表５】
0004686193.tif 000006
【００７０】
これらの保護データに付随する特性は、上で示された。たとえば、BOOT_MODEの値が「0」の場合、ブートは、外部メモリから用いられる。BOOT_MODEの値が「1」の場合、ブートは、内部不揮発性メモリから、たとえば、ダウンロードされたブートプログラムが格納された、本発明の集積化された不揮発性メモリから、実現される。
【００７１】
当該マイクロプロセッサ・プログラムを含む不揮発性メモリは、マイクロプロセッサに直接連結することができ、または、単純なランダムロジック（グルーロジックとも称されている）は、連結を保証にするために、マイクロプロセッサ連結バスと不揮発性メモリとの間に挿し込むことができることが好ましい。
【００７２】
このため、たとえば、DISABLE_BUSの値が「0」の場合、重要な連結バスは、チップまたは最終的なデバイスをテストし、かつ、求められるプログラムおよびデータを自由に変更するための、連結手段として用いることができる。それから、DISABLE_BUSの値が「1」の場合、当該連結バスは、もはや、用いることができない。それから、保護されるデータDISABLE_BUSの値は、本発明の第1の実施例によって用いられる付随の保護データADAを変更することによって、もはや、アクセス可能でなくなる。このため、いかなるダウンロードもおよび／または連結手段も、本発明による、このような方法により、保護することができる。
【００７３】
不揮発性メモリが保護されていない場合（MIPS_Protection_ACCESS_CONTROLが「0：0」）、または、不揮発性メモリが有効なパスワードが入力されることによる、パスワードによって保護されている場合（MIPS_Protection_ACCESS_CONTROLが「0：1」）を意味する、不揮発性メモリがアドレスAD1で格納される値による非保護モードにある場合、上記の保護されるデータは、変更しか行うことができない。
【００７４】
Selection_Option_ACCESS_CONTROLに対応する保護データは、メインマイクロプロセッサによってSelection_Options_Groupに書き込む際のアクセスを可能にすることも、不可能にすることもない。当該Selection_Options_Groupの保護されるデータは、下記のテーブルに規定されている。
【００７５】
【表６】
0004686193.tif 000007
【００７６】
たとえば、不揮発性メモリの保護（MIPS_Protection_ACCESS_CONTROLによって規定される）は、ここでは、このグループの影響なく選択することができる。Selection_Options_ACCESS_CONTROLの値しか、考察されない。
【００７７】
この例のチップが、プログラマブル不揮発性メモリNVMCを含み、または、条件付きのアクセス装置に対する専用のプログラマブル不揮発性メモリの部分NVMCが、チップに実施される。当該不揮発性メモリNVMCは、条件付きのアクセス・マイクロプロセッサCMPの機能に対するプログラムおよびデータがそれぞれ格納される、2つの部分NVMC1およびNVMC2を含む。当該部分NVMC1およびNVMC2は、それらの最も上位のアドレスに、本発明の第2の実施形態による、保護データADAを含む。
【００７８】
本発明は、また、本発明によるチップを、カスタマイズし、かつ、保護するための、方法に関する。当該方法は、少なくとも、集積化された不揮発性プログラマブルメモリを含むチップを用いる。当該不揮発性メモリは、保護データを含んでいて、当該保護データは、少なくとも、当該不揮発性メモリへのアクセスに対する保護レベルを規定する。当該保護データは、保護レベルを増加のみさせるようにプログラム可能である。
【００７９】
第1のステップは、当該不揮発性メモリのデータを修正するために、少なくとも、非保護のアクセスを用いることであり、第2のステップは、保護データを修正することにより当該アクセスに対して保護レベルを増加させることによって、不揮発性メモリの当該データへのアクセスを保護することである。重要な特性を本発明によって保護することができるので、保護されるチップは、本発明の方法によって取得される。このような保護されるチップが、少なくとも、当該メディアから捜し出されるデータを処理するマイクロプロセッサを含む、メディアに連結されるための専用のデバイスで実施されることが意図されることが好ましい。たとえば、当該マイクロプロセッサは、音声／ビデオ・データを処理することが意図されている符号化／復号化手段を制御する。
【００８０】
実際上、本発明によれば、保護データの値は、変更することができ、かつ、それゆえに、この保護は、最終的に保護されたチップの製造工程の間、増加するであろう。チップをカスタマイズする方法の例は、下記に示されている。当該保護データは、同じチップにおける、1つまたはいくつかのプログラマブル不揮発性メモリに実施することができる。
【００８１】
このため、チップの上記提案された例に記載されているチップを活用する手法は、完全に保護されるチップを取得するために示されている。このため、異なる状況の方法の2つのステップを用いるイベントチェーンの例は、以下に示されている。カスタマイズされ、かつ、保障されている最終的なデバイスを組み立てたいブロードキャスタは、チップ自体に（または、当該最終的なデバイスで実施されるチップに対しても）、イベントチェーンを用いることが好ましい。
【００８２】
最終的なデバイス・メーカーまたはブロードキャスタは、本発明によって保護されるチップを取得するための方法を実施するために、チップをプログラムするための手段しか必要とならない。このチップによって、外部メモリからのデフォルトのブート・モード（BOOT_MODEが「0」）で、最終的なデバイス・メーカーに、または、ブロードキャスタに、保護されていないものが、供給される。チップに集積化される本発明の不揮発性メモリになることを意図されているいかなるメモリも、まだ保護されていないので、それへのアクセスは、許可される。それから、最終的なデバイス・メーカーまたはブロードキャスタは、以下のソフトウェア操作を実行しなければならない。すなわち、
- 条件付きのアクセス装置CASの不揮発性メモリNVMCの部分NVMC1の条件付きアクセス・マイクロプロセッサCMPプログラムPRGをプログラムする。このプログラムには、カスタマイズされ、かつ、完全な条件付きのアクセス・システムを有するための全てのソフトウェアが、含まれる。たとえば、ブロードキャスタは、この目的に用いられるであろう暗号化アルゴリズム（RSAまたは他のもの）を、自由に選択することができる。
【００８３】
- メインマイクロプロセッサMPがこのプログラムの最も下位のアドレスを読み出すまたは書き込むことを禁止するために、部分NVMC1（不揮発性メモリの当該部分NVMC1）の最も上位のアドレスの値である、保護データADAをプログラムすることによって、この条件付きアクセス・マイクロプロセッサCMPプログラムを保護する。条件付きのアクセス・プログラムを含む不揮発性メモリNVMCのこの保護は、第2の実施形態によって実現される。それから、当該部分NVMC1は、図3に示したように、本発明の原則による不揮発性メモリNVMである。
【００８４】
- 条件付きのアクセス装置CASの不揮発性メモリNVMCの部分NVMC2の条件付きアクセス・マイクロプロセッサCMPのデータDATをプログラムする。解読鍵（RSAまたは他のもの）は、これらのデータに対して割り当てられている最も下位のアドレスに展開される。
【００８５】
- 解読鍵が格納される、メインマイクロプロセッサが当該メモリの最も下位のアドレスに読み出しまたは書き込むことを禁止するために、かつ、さらに、加入者の権利が格納される、メインマイクロプロセッサが前記アドレスに書き込むことを禁止するために、当該部分NVMC2の最も上位のアドレスに保護データADAを格納することによって、本発明によるメモリのこの部分NVMC2を保護する。条件付きのアクセスデータを含む不揮発性メモリのこの保護は、当該保護データの第2の実施形態によって実現される。このため、当該部分NVMC2は、図3に示されるように、本発明の原則による不揮発性メモリNVMである。
【００８６】
- 外部のブート・モードを用いて外部メモリからダウンロードによってチップに集積化された、保障されたメモリNVMと称されているプログラマブル不揮発性メモリをプログラムする。連結BUSは、当該ダウンロードを実現することができる。チップに集積化される保障されたメモリNVMSのサイズに従って、デバイスの完全なプログラムと、小さいブートローダのみとのいずれもが、このメモリNVMSに格納される。このブートローダは、チップに外部から格納され、ハックによって修正されなかったプログラムの他の一部を、デバイスのスタートアップで、チェックすることができる。このために、それは、たとえば、デジタル署名標準（DSS）、エルガマル署名、ビー・オー・エス-チャウム（Bos-Chaum）署名、ランポート署名などのような、外部プログラムの署名チェックを実施することができる。
【００８７】
- 当該保障されたメモリNVMCの上位のアドレス（内部不揮発性メモリからのブート（BOOT_MODEが「1」）、連結バスの非活性化（DISABLE_BUSが「1」）、ダウンロードされたブートプログラムを保護するために当該保障されたメモリを書き込む際の許可の限定（READ_ONLYがアドレス制限））で、MIPS_Protection_Groupの異なる特性データを設定する。
【００８８】
- 当該保障されたメモリNVM、つまり、ENABLE_SECAM、ENABLE_MACROVISION、ENABLE_ICAM、ENABLE_CCIR_OUTPUTの上位のアドレスに、Selection_Options_Groupの異なる特性データを設定する。このため、既に示したように、これらのオプションは、MIPS_Protection_Groupの特性データとは無関係で、本発明の第1の実施例によって保護される。
【００８９】
- 当該保障されたメモリNVMSの最上位のアドレスの、Access_Control_Groupの保護データSelection_Options_ACCESS_CONTROLおよびMIPS_Protection_ACCESS_CONTROLを変更することによって、当該保障された不揮発性メモリNVMを保護する。このパスワードは、たとえば、最終デバイス・メーカーが、最終デバイスをテストする連結バスを、活性化することを可能とするために、ブロードキャスタに対するパスワードチェック（MIPS_Protection_ACCESS_CONTROLが「0：1」）によって、最終的なデバイスをブロードキャスタに供給する場合には、第1のセキュリティを受けるために用いることができる。
【００９０】
一度保護されると、もはや、チップから保護を除去するという可能性はない。当該保護が減少することは、もはや不可能である。
【００９１】
本発明に関しては、チップ・メーカーが、条件付きのアクセス・システムを作成するツール、および、保障されたメモリを作成するツールを知ってさえいれば、アルゴリズムも鍵も、知っている必要はない。
【００９２】
補助的な保護が必要な場合には、スマートカードを、メイン・チップに関して実施することもできる。当該スマートカードは、公開鍵−秘密鍵システムによる、保護されるメイン・チップでロックすることができる。
【００９３】
それから、さまざまなレベルの保護、および、保護レベルのさまざまな組合せおよび並置を可能とするツールの完全な設定が、本発明によって提供される。プログラマブル不揮発性メモリの単一のブロックは、先に説明されたように、独立した手法でまたは組合せで、ここに示された実施例、実施態様、および、応用例の1つまたはいくつかを提供することができる。このため、本発明は、チップ自体の保護手段を有する要求に対処している。さらに、本発明は、提案したカスタマイズ可能な保護手段によっても、作動する。
【００９４】
これは、ブロードキャスタ、および、最終デバイス・メーカーに対する補助的なセキュリティである。また、このことは、チップ・メーカーの利点であり、当該メーカーは、自社工場および、自社の物流チェーンに沿った特定の守秘性の手順を導入する必要はない。
【図面の簡単な説明】
【００９５】
【図１】従来の技術によるデバイスを例示する図である。
【図２】本発明によるチップを例示する図である。
【図３】本発明による模式的なプログラマブルな不揮発性メモリを例示する図である。
【図４】本発明の好ましい実施例によるチップを例示する図である。
【符号の説明】
【００９６】
DEV  デバイス
VCM  メディア
PRO  プログラム
MP  マイクロプロセッサ
CHP  チップ
EXP  利用手段
CMP  専用マイクロプロセッサ
SC  スマートカード
SCR  スマートカードリーダ
SCR  セキュリティモジュール
NVM  不揮発性メモリ
ADA  保護データ
PDA  保護されるデータ
PROM  プログラマブル読み取り専用メモリ
NVRAM  不揮発性ランダムアクセスメモリ
MRAM  磁気ランダムアクセスメモリ
NVMS  フラッシュメモリ
NVMC  プログラマブル不揮発性メモリ
【図１ａ】
0004686193.tif 000008
【図１ｂ】
0004686193.tif 000009
【図２】
0004686193.tif 000010
【図３】
0004686193.tif 000011
【図４】
0004686193.tif 000012