(57)【要約】本発明は、プログラミングインターフェースとともに関数的プログラミング可能論理回路を備えるデータ処理デバイスに関する。本データ処理デバイスは、許可されていないアクセスからプログラミングインターフェースを保護する許可制御装置を設けることを特徴とする。それによって達成されることは、半導体モジュールの顧客特定の機能の適用を、実行することができ、その後の許可されていないエンティティによる改変が防止できることである。【選択図】図１
2004527827.tif 000002
【特許請求の範囲】
【請求項１】
プログラミングインターフェース（５；２２）とともに関数的プログラミング可能論理回路（３；２１）を有するデータ処理デバイスであって、
該プログラミングインターフェース（５；２２）を、許可されないアクセスから保護する、許可制御装置（２；２３）が設けられることを特徴とする、データ処理デバイス。
【請求項２】
秘密アルゴリズムが、前記関数的プログラミング可能ハードウェア構成要素（３；２１）によって実行されることを特徴とする、請求項１に記載のデータ処理デバイス。
【請求項３】
前記関数的プログラミング可能論理回路（２１）と、前記許可制御装置（２３）と、前記プログラミングインターフェース（２２）とに関する操作を検出することが可能な、操作検出装置（２４）が設けられることを特徴とする、請求項１または２に記載のデータ処理デバイス。
【請求項４】
前記許可制御装置（２；２３）は、他のタスクにも使用可能な、マイクロプロセッサ内に実現されることを特徴とする、請求項１に記載のデータ処理デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラミングインターフェースとともに関数的プログラミング可能論理回路を備えるデータ処理デバイスに関する。
【背景技術】
【０００２】
集積半導体モジュールは、ソフトウェアによって実現された影響関数によって、顧客特定の要件に適用され得る。ソフトウェアは、比較的簡単に特定の要件に対して適応され得る。しかし、ソフトウェアによる解決は、ハードウェアの実現に比べて比較的遅い。さらなる良く知られた可能性として、例えばＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）として公知の関数的プログラム可能論理回路がある。しかし、ＦＰＧＡは、許可されないアクセスに対して保護手段を全く提示しないか、または、不十切な保護手段を提示するのみである。しかし、関数的プログラミング可能論理回路は、多くのスマートカードおよび安全ＩＣの使用に対して、必要とされている。
【０００３】
ＤＥ  １９７  ５３  ７３０  Ａ１は、マイクロプロセッサ上で命令が実行される前に許可のチェックが提供される、内燃機関の制御のためのデバイスを開示する。しかし、論理回路自体が実行構成要素であるため、このようなデバイスは関数的プログラム可能論理回路の場合には使用することができない。
【０００４】
さらに、ＤＥ  １９６  ３９  ０３３  Ｃ１は、被覆が為された半導体チップのための解析保護と、被覆の除去を検出するための操作検出回路とを開示する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、関数を変化させることを簡単に実現させるが、それにもかかわらず早いデータ処理を可能にし、厳格な安全の要求を満たす、データ処理デバイスを示すことである。
【課題を解決するための手段】
【０００６】
この目的は、プログラミングインターフェースを許可されないアクセスから保護する、許可制御装置が設けられることを特徴とする、序文に記載された種類のデータ処理デバイスによって達成される。
【０００７】
従って、データ処理デバイスは、プログラミング可能なだけではなく、許可されないエンティティによる再プログラミングを防止するために、さらなる手段もまた提供される。許可制御デバイスは、関数的プログラミング可能論理回路と、プログラミングインターフェースとを、１つの装置内に一緒にまとめるように実現すると有利である。従って、ソフトウェアおよび主としてハードウェアへの攻撃を発見し、例えば、中央制御ステーションへメッセージを送るか、または、安全性に関するデータを消去するような、攻撃に対応する反応を開始することができる、操作検出デバイスが設けられ得る。
【０００８】
本発明の有利な改良点において、許可制御装置は、他のタスクのためにも使用され得るマイクロプロセッサによって実現される。結果として、複雑なタスクが、本発明によるデータ処理デバイスによって管理され得る。これに対する１つの使用分野として、有料テレビアプリケーションのための、スマートカードとしての使用法がある。
【０００９】
本発明は、例示的な実施形態を用いて、以下により詳細を説明される。
【発明を実施するための最良の形態】
【００１０】
図１は、関数的プログラミング可能論理回路２１および許可制御装置２３を有する、本発明によるデータ処理デバイス２０を図示する。内部プログラミングインターフェース２２は、論理回路２１のプログラミングまたは再プログラミングのために提供される。このプログラミングインターフェースへのアクセスは、許可制御装置２３によって保護される。プログラミング操作は、ＰＩＮが正確に入力されたときのみ、または、生物測定センサが使用されている場合には、生物測定の特徴が、メモリ内に格納されているパターンと比較して正しいときのみ、実行され得る。
【００１１】
許可されないエンティティは、ここで、許可制御装置２３を迂回して、ハードウェア操作を通してプログラミングインターフェース２２に直接アクセスしようと試みる可能性がある。従って、このようなハードウェアへの攻撃を特定し得る、操作検出デバイス２４がさらに設けられる。例えば中央制御ステーションへのメッセージまたは安全性に関するデータの消去のような、適切な反応が続いて実行される。
【００１２】
プログラミング操作が、許可制御装置２３を介してのみ達成され得る一方で、論理回路の関数への通常のアクセスはインターフェース２５を介して可能である。同様にして、追加の構成要素は、インターフェース２５を使用することにより、論理回路に直接接続され得る。
【００１３】
スマートカードという形態での、本発明によるデータ処理デバイスの例示的な応用例は図２に図示され、ここではその応用例は、有料テレビアプリケーションのための復号器に関連して為されている。
【００１４】
有料テレビアプリケーションの基本的な操作方法は、テレビによって表示され得ないように、テレビジョン信号を暗号化することにある。テレビジョン信号は、いわゆるセットトップボックスとして知られる、復号器によって解読される。特定の番組に対して復号器を使用できるようにするためには、使用者が、プロバイダによって支払い時に発行された、スマートカードを所有しなければならない。
【００１５】
技術的な実現のためには、いわゆる呼掛け値が、テレビジョン信号の帰線消去間隔において発信され、復号器によってスマートカードへ転送される。スマートカードまたはその中に組み込まれたマイクロプロセッサにおいては、呼掛け値に対して格納されたキーを使用した、暗号アルゴリズムが利用され、応答値が復号器に戻される。復号器は、そこですぐにテレビジョン信号の暗号解読を実行することができる。復号器は、通常、規格化されたデバイスであるため、複数の有料テレビ番組が、同じ復号デバイスを有するスマートカードを用いることによって、暗号解読され得る。
【００１６】
テレビ番組の暗号を解読するためのカードは、全ての使用者にとって同じであるため、攻撃者が、シミュレーションによってスマートカードの機能をシミュレートし、それらを販売することは利益のあがることであることが示されている。これらのシミュレーションは従来のマイクロプロセッサを使用し、しばしば、有料テレビカードの独自のソフトウェアの大部分を備えている。シミュレーションを防止する技術的な問題は、システムの全てのカードが、関数的に同一であり、従って、比較的容易にシミュレートされ得るという事実より生じている。
【００１７】
定期的に暗号キーを変えて、違法なカードシミュレータの使用可能期間を短くすることが、以前より試みられてきた。しかし、より最近のシミュレータは、キーボードを介してまたはパソコンインターフェースを介して、キーを変更することを可能にする。新しいキーはインターネットを介して次々と流布されている。
【００１８】
シミュレーションを防止するためのさらなるアプローチは、スマートカードモジュール上の第２のチップとして、顧客特定モジュール（ＡＳＩＣ）を組み込むことである。しかし、これらのモジュールも、シミュレータでたった１回ハードウェアの逆行分析処理を行った後、同様にシミュレートされ得る。
【００１９】
スマートカードを、有料テレビアプリケーション、または、テレフォンカードに使用することに関する問題点は、雑誌「Ａ  ｌａ  ｃａｒｄ」の９７年２６〜２７号３１５ページ以下参照、により詳細が説明されている。ここでは、複製をより困難にするために、スマートカードに暗号コプロセッサを配備することが提案されている。暗号コプロセッサを備えたカードのデータ処理能力は、その関数をシミュレートするために使用される外部ロジックに比べて高いため、複製は、同様に暗号コプロセッサを使用した場合にのみ行われる。この技術は複製をより困難にしたにもかかわらず、禁止されたシミュレーションはそれでもなお、多数製造することにより、依然として利益を生み出すままである。
【００２０】
図２に図示したように、有料テレビ復号器に使用するための、本発明によるスマートカード１は、マイクロコントローラー２と、例えばＦＰＧＡのような関数的プログラミング可能ハードウェア構成要素３とを有する。マイクロコントローラー２は、関数的プログラミング可能ハードウェア構成要素３と共に装置４を形成する。さらに、プログラミングデバイス５が、関数的プログラミング可能ハードウェア構成要素３のプログラミングのために設けられる。通常の操作では、テレビジョン信号１０は復号器１１に送信される。テレビジョン信号１０は、テレビ画像の表示のためのデータ信号１２と、呼掛け値１３との両方を含む。呼掛け値１３は、序文に記載されたように、スマートカードへ転送される。マイクロコントローラー、および／または、関数的プログラミング可能ハードウェア構成要素によって、暗号アルゴリズムを呼掛け値１３に適用することによって、応答値１４を生じる。応答値１４は復号器１１に戻され、応答値のキー関数または初期値の決定に基づいて、データ信号１２を解読し、それをビデオ信号１５としてテレビに転送することを可能にする。
【００２１】
図３は、関数的プログラミング可能ハードウェア構成要素３がどのように再プログラミングされるかを示している。この場合には、データ信号１２と共に、プログラム命令１６が帰線消去間隔において送信される。従って、使用者には気付かれないままである。復号器はプログラミング命令１６をスマートカードに転送し、そこですぐ、プログラミングデバイス５はアドレス指定される。プログラミングデバイス５は、関数的プログラミング可能ハードウェア構成要素３の再プログラミングを実行する。ここで放送会社は、再プログラミングされた関数を適用することによってのみ、解読が可能になるように、テレビジョン信号を異なって暗号化するか、または、呼掛け値を変更する機会を有する。再プログラミング操作が、例えば１時間毎のように、頻繁に実行される場合、攻撃者にとって、毎回新しいアルゴリズムを解析し、それに応じてＦＰＧＡをプログラミングすることは、実行しにくくなる。
【００２２】
さらに、有料テレビスマートカードの直接のシミュレーションに対しては、攻撃者は市販のマイクロコントローラーを使用することができず、それどころか、完全な逆行分析と、マイクロコントローラー２と関数的プログラミング可能ハードウェア構成要素３とを有する装置４の製造とを、始めなければならない。
【００２３】
言うまでも無く、本発明によるデータ処理デバイスの適用は、有料テレビアプリケーションに限定されたものではなく、プログラミングの可能性および安全性への厳格な要件が要求される全てのシステムに対して適用され得る。
【図面の簡単な説明】
【００２４】
【図１】図１は、本発明によるデータ処理デバイスの概略図を示す。
【図２】図２は、通常の操作において、本発明によるスマートカードの構成のブロック線図を示す。
【図３】図３は、再プログラミングの間の、本発明によるスマートカードの配置のブロック線図を示す。
【符号の説明】
【００２５】
１    スマートカード
２    マイクロコントローラー
３    関数的プログラミング可能論理回路
４    装置
５    プログラミングデバイス
１０  テレビジョン信号
１１  復号器
１２  データ信号
１３  呼掛け値
１４  反応値
１５  ビデオ信号
１６  制御命令
２０  データ処理デバイス
２１  関数的プログラミング可能論理回路
２２  プログラミングインターフェース
２３  許可制御装置
２４  操作検出装置
２５  インターフェース
【国際公開パンフレット】
2004527827.tif 000003
2004527827.tif 000004
2004527827.tif 000005
2004527827.tif 000006
2004527827.tif 000007
2004527827.tif 000008
2004527827.tif 000009
2004527827.tif 000010
2004527827.tif 000011
2004527827.tif 000012
2004527827.tif 000013
2004527827.tif 000014
【国際調査報告】
2004527827.tif 000015
2004527827.tif 000016
2004527827.tif 000017
2004527827.tif 000018
2004527827.tif 000019
2004527827.tif 000020