(57)【要約】  本発明の目的は、処理データのためのセキュア・システム・オン・チップを提供することであり、このシステム・オン・チップは、少なくとも中央処理装置と、入力及び出力チャネルと、暗号化／復号化エンジンと、メモリとを含み、前記入力チャネルは、到来するデータをすべて暗号化するために入力暗号化モジュールを含み、前記出力チャネルは、送出するデータをすべて復号化するために出力復号化モジュールを含み、前記中央処理装置は、入力暗号化モジュールから暗号化されたデータを受信し、メモリ内にそれらを格納記憶し、記憶データを処理している間に、前記中央処理装置はメモリから記憶データを読み、暗号化／復号化エンジンにおいて同じ復号化を要求し、データを処理し、暗号化／復号化エンジンによる結果の暗号化を要求し、暗号化された結果を格納記憶し、復号化目的のための出力復号化モジュールに結果を出力し、出力チャネルを介して復号化された結果を出力する。
2009521154.tif 000002
【特許請求の範囲】
【請求項１】
データ処理するためのセキュア・システム・オン・チップであって、
このシステム・オン・チップは少なくとも中央処理装置と、入力及び出力チャネルと、暗号化／復号化エンジンと、メモリとを含み、
前記入力チャネルは、すべての到来するデータ上の内部暗号化層を追加するために入力暗号化モジュールを含み、
前記出力チャネルは、すべての送出するデータ上の内部暗号化層を除去するために出力復号化モジュールを含み、
前記中央処理装置は、入力暗号化モジュールから暗号化されたデータを受信し、前記メモリ内にそれらを格納記憶し、
前記記憶データを処理している間に、前記中央処理装置は、前記メモリから前記記憶データを読み、前記暗号化／復号化エンジン内の同一の前記内部暗号化層の除去を要求し、前記データを処理し、前記内部暗号化層を追加するように前記暗号化／復号化エンジンによる結果の暗号化を要求し、暗号化された結果を格納記憶し、前記内部暗号化層の除去のために前記出力復号化モジュールに結果を出力し、前記出力チャネルを介して前記結果を出力すること
を特徴とするセキュア・システム・オン・チップ。
【請求項２】
前記入力暗号化モジュールは、前記内部暗号化層を追加する間に前記暗号化／復号化エンジンに前記暗号化されるデータを通過させる仮想モジュールであることを特徴とする請求項１記載のセキュア・システム・オン・チップ。
【請求項３】
前記入力暗号化モジュールは、前記内部暗号化層を除去する間に前記暗号化／復号化エンジンに復号化される前記データを通過させる仮想モジュールであることを特徴とする請求項１記載のセキュア・システム・オン・チップ。
【請求項４】
前記データを暗号化及び復号化するアルゴリズムが対称的なアルゴリズムであることを特徴とする請求項１ないし３いずれか１項に記載のセキュア・システム・オン・チップ。
【請求項５】
前記暗号化／復号化アルゴリズムは１組の初期化定数を用い、前記初期化定数のすべて或いは一部は、前記システム・オン・チップ内で無作為に生成されることを特徴とする請求項４記載のセキュア・システム・オン・チップ。
【請求項６】
前記データを暗号化及び復号化するアルゴリズムが非対称のアルゴリズムであることを特徴とする請求項１ないし３いずれか１項に記載のセキュア・システム・オン・チップ。
【請求項７】
前記暗号化／復号化エンジンによって用いられるキー又はキーのペアを無作為に生成する手段を含むことを特徴とする請求項１又は６記載のセキュア・システム・オン・チップ。
【請求項８】
前記出力復号化モジュールと同様に前記入力暗号化モジュールも、別々の暗号化又は復号化のユニットをそれぞれ含み、これらのユニットの少なくとも１つは不揮発性のキーがロードされており、これらのユニットの少なくとも１つは永久キーがロードされていることを特徴とする請求項１又は６記載のセキュア・システム・オン・チップ。
【請求項９】
少なくとも入力及び／又は出力データの流れの正常な作動条件定義でプリプログラムされる自律性の監視モジュール（ＳＭ）と、電流条件定義が基準状態を超過する場合に入力及び／又は出力チャネルを使用不可能にする手段とを含むことを特徴とする請求項１又は８記載のセキュア・システム・オン・チップ。
【請求項１０】
前記正常な作動条件定義は、監視モジュール（ＳＭ）が、入力或いは出力チャネルを、データを受信させる又は送信させる間の時間窓を定義する手段を含む期間を含むことを特徴とする請求項９記載のセキュア・システム・オン・チップ。
【請求項１１】
前記正常な作動条件定義は、データブロックの受信の後に、前記監視モジュールが入力及び／又は出力チャネルを使用不可能にする期間を含むことを特徴とする請求項９又は１０記載のセキュア・システム・オン・チップ。
【請求項１２】
前記監視モジュール（ＳＭ）は、前記中央処理装置（ＣＰＵ）の状態条件を受信する手段と、前記中央処理装置（ＣＰＵ）の状態により出力チャネルを使用可能にするか使用不可能にする手段とを含むことを特徴とする請求項９ないし１１いずれか１項に記載のセキュア・システム・オン・チップ。
【請求項１３】
前記暗号化／復号化動作は、１つの単一データ又はデータのセット上で一度に実行することができることを特徴とする請求項１ないし１２いずれか１項に記載のセキュア・システム・オン・チップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム・オン・チップの分野及び特にそのまわりのセキュリティに関する。
【背景技術】
【０００２】
システム・オン・チップ（ＳｏＣ：System-on-a-chip又はＳＯＣ：System on Chip）は、コンピュータ又は他の電子装置の構成部品をすべて単一の集積回路（チップ）の中への統合する理念である。ディジタル、アナログ、混合された信号及び多くの場合ラジオ周波数の機能を、１つのチップ上にすべて含んでいてもよい。代表的アプリケーションは組み込まれたシステムのエリア内にある。
【０００３】
プロセッサのためのセキュア環境は、既に多重処理アーキテクチャで特に開示されている。例えば、安全なメモリへのアクセスを限定するソリューションは、ドキュメント国際公開ＷＯ０４０１５５５３（特許文献１）に記述されている。このソリューションにより、プロセッサには動作の２つのモードがある。安全なモードと呼ばれる第１のモードにおいて、アクセスは安全なメモリに可能にされる。また、安全でないモードにおいて、安全なメモリへのアクセスは禁止される。安全でないモードは開発目的（即ち、回路をテストする又はデバッグする）へ意図される。安全でないモードにおける実行中に、安全なメモリへのアクセスは物理的に遮られる、即ち「使用不可能にする(disable)」信号が生成される。この「使用不可能にする」信号は、どんな試みも安全なメモリをアクセスすることを禁止する。
【０００４】
別のソリューションは、平文のデータに決してアクセスさせないようにするために、シングルチップの解読するプロセッサがスクランブルされたオーディオ／ビデオ・データを処理することが、ドキュメント国際出願ＰＣＴ／ＥＰ２００５／０５６１４５（特許文献２）に記述されている。解読する動作が終わるとき、解読するユニットは、それらが外部記憶装置内に一時的に格納される前に、解読されたデータを暗号化するための暗号化エンジンを含む。プロセッサが構成タスクを終了するとき、データは出力モジュール内で復号化され、表示装置へ送信される。
【特許文献１】国際公開ＷＯ０４０１５５５３
【特許文献２】ＰＣＴ／ＥＰ２００５／０５６１４５
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、データ処理するためのセキュア・システム・オン・チップを提供することであって、このシステム・オン・チップは少なくとも中央処理装置と、入力及び出力チャネルと、暗号化／復号化エンジンと、メモリとを含み、前記入力チャネルは、すべての到来するデータ上の内部暗号化層を追加するために入力暗号化モジュールを含み、前記出力チャネルは、すべての送出するデータ上の内部暗号化層を除去するために出力復号化モジュールを含み、前記中央処理装置は、入力暗号化モジュールから暗号化されたデータを受信し、前記メモリ内にそれらを格納記憶し、前記記憶データを処理している間に、前記中央処理装置は、前記メモリから前記記憶データを読み、前記暗号化／復号化エンジン内の同一の前記内部暗号化層の除去を要求し、前記データを処理し、前記内部暗号化層を追加するように前記暗号化／復号化エンジンによる結果の暗号化を要求し、暗号化された結果を格納記憶し、前記内部暗号化層の除去のために前記出力復号化モジュールに結果を出力し、前記出力チャネルを介して前記結果を出力することを特徴とする。
【課題を解決するための手段】
【０００６】
本発明の主たる特徴は、システム・オン・チップ内に暗号化層を追加することである。チップ上のシステムに入って出るデータは、通常暗号化される。システム・オン・チップ内の保存されたデータすべてが少なくとも１つの暗号化層を有するように、付加的な暗号化層はこれらのデータに適用される。一旦データがシステム・オン・チップで受信されれば、それらは送信システムに関係するキーで通常復号化され、結果は平文で格納される。本発明において、１つの暗号化されたメッセージは、システム・オン・チップによって読まれ、内部暗号化層はこのメッセージ上で適用され、処理装置に通過される。前記ユニットは、更に使用する或いは直ちにメッセージを処理するために、それを格納することができる。メッセージを処理している間に、第１のステップは、データがシステム・オン・チップによって受信されるのと同じ状態であるように、内部暗号化層を除去することである。メッセージが処理され、権利（例えば）が抽出された後、この権利は格納される前に内部暗号化層を追加するために更に暗号化される。
【０００７】
データが主装置によって実際に用いられる場合（定常状態においてアクセス可能でない明瞭なデータ）、内部暗号化層の除去が後の段階でのみ生じる。処理された時、それらが内部目的か再暗号化されるに対する場合（つまり、内部暗号化層を追加して）、システム・オン・チップから出力されるように意図される場合、データは平文で格納することができる。
【０００８】
一旦再暗号化されると、データは、出力チャネルへ送信される前にバッファ内に一時的に保存される。
【０００９】
データを暗号化及び復号化するキーは、そのシステム・オン・チップのためにユニークな好ましい実施の形態内にある。このキーは、製造ステップで予めプログラムすることができる、又は初期化段階で無作為に生成することができ、誰にも知られることができない。このキーは、内部のみに用いられる。使用されるアルゴリズムは、前記アルゴリズムのパラメータと同様に秘密にしておくことができる。例えば、アルゴリズムＩｄｅａＮｘｔは暗号化エンジンとして用いられ、置換ボックスの値はシステム・オン・チップ内で無作為に生成される。
【００１０】
特別の実施の形態によれば、暗号化／復号化アルゴリズムは非対称であり、その結果、キーペア（公的／私的）はそれぞれデータを暗号化及び復号化するために用いられる。
【００１１】
他の実施の形態によれば、入力暗号化モジュールは署名モジュール、システム・オン・チップ内に登録する間に署名されているデータ及びデータとともに格納された署名と置換することができる。主装置がこのデータを用いたい場合、ここでは署名照合エンジンである暗号化／復号化エンジンは、署名をチェックし、署名が正式な場合、データの使用を認定する。
【００１２】
データによって、それは、例えばシステム・オン・チップ内のメッセージ又は権利メッセージを形成するために、単一のバイト又は１組のバイトを意味する。
【発明を実施するための最良の形態】
【００１３】
本発明は、以下の添付の図面により一層よく理解されるだろう。
【００１４】
セキュア・システム・オン・チップＳＯＣ(secure system-on-chip)は、中央処理装置ＣＰＵに基づく。このユニットの目的は、暗号を実行し、要求されたタスクを行うことである。システム・オン・チップＳＯＣは、外界（即ち入力及び出力チャネル）に接続された２つのチャネルを含む。入力チャネルＲＣＶは、内部暗号化層を追加するように外界から到来するデータをすべて暗号化する入力暗号化モジュールＲＣＶ−Ｅを含む。同様に、出力チャネルＳＮＤは、内部暗号化層を除去するように外界へそれらを送信する前に中央装置ＣＰＵから受信されたデータを復号化するための出力復号化モジュールＳＮＤ−Ｄを含む。
【００１５】
中央装置ＣＰＵは、暗号化／復号化エンジンＣＲ−ＥＮにアクセスする。このエンジンは、入力暗号化モジュール及び出力復号化モジュールと同じ機能を有する。入力暗号化モジュール内にロードしたキーＫは、暗号化／復号化エンジンの暗号化部内と同じである。同じことは、復号化動作に対する、出力復号化モジュール及び暗号化／復号化エンジンの復号化部分に適用される。中央装置ＣＰＵが、入力暗号化モジュールから直接到来する、又はメモリＭＥＭから引き出されるいくつかのデータを必要とする場合、それらが中央装置ＣＰＵによって用いられる前に、内部暗号化層を除去するために、これらのデータは、復号化エンジンを介してまず通過される。
【００１６】
同様に、中央装置ＣＰＵがタスクを完了しており、結果を生成する場合、以下のステップは結果を格納する（又は出力チャネルへ結果を出力する）べきである。この結果は、先に格納される前に内部暗号化層を追加するために暗号化エンジンＣＲ−ＥＮを介して通過される。その後、この暗号化された結果は、メモリ内に格納記憶されるか、又は出力チャネルへ送信することができる。
【００１７】
中央処理装置ＣＰＵは、その結果が再暗号化されるべきか、平文で除外されるべきかどうかを決定することができる。決定すべきプロセッサを動かす代わりに、目標場所は図２Ａに示されるような異なる動作を選択することができる。この場合には、内部暗号化層は、２つの異なるキーＫ１及びＫ２、１つの永久キー、及び無作為に生成された１つのキーを用いる、２つの暗号化ユニットＥＮＣ１及びＥＮＣ２で構成されている。その結果が揮発性メモリＶ−ＭＥＭに格納されるべきであれば、両方の暗号化ユニットはデータを暗号化する。逆に、記憶装置が不揮発性メモリＮＶ−ＭＥＭ（ＥＥＰＲＯＭ）内にある場合、永久キーによる１つの暗号化ユニットだけが用いられる。同様に、揮発性メモリからデータを読む場合、不揮発性メモリからデータを読むが、１つの復号化ユニットだけが適用される、二重の復号化が適用される。
【００１８】
図３に示される他の実施の形態によれば、暗号化工程は署名プロセスと置換される。データは暗号化されない。しかし、署名は、生成され、データに関連する。外界から到来するすべてのデータにとって、署名は入力署名モジュールＲＣＶ−Ｓの中で計算される。その後、データはそれらの署名により保存される。中央装置がこれらのデータにアクセスする必要がある場合、中央装置がデータを用いる権利を有する前に、署名照合エンジンＳ−ＶＥＲはまず署名を確認する。データが出力チャネルによって出力される前に、署名は出力署名モジュールＳＤＮ−Ｖにおいて確認される。その後、その署名は、出力チャネルＳＮＤに送信されるデータから除去される。
【００１９】
他の実施の形態によれば、暗号化／復号化エンジンは、直接、中央装置ＣＰＵ内に配置される。データがメモリから読まれる場合（例えば、ＣＰＵ（例えばモトローラ６８ＨＣ１１用のＬＤＡＡ＃１２００ｈ）のアキュムレータ内の変数をロードして）、その場所でのデータ読み込みはアキュムレータに転送される前に内部暗号化層を除去するように復号化エンジンに自動的に通過される。同様に、メモリ（例えばＳＴＡＡ＃１２００ｈ）へのアキュムレータのコンテンツを格納する指示は、直接実行されない。しかし、アキュムレータ内のデータはその場所１２００ｈに格納される前に先に暗号化エンジン（内部暗号化層の追加）を介して通過される。
【００２０】
特別の実施の形態において、暗号化／復号化エンジンは入出力チャネルと共有される。そのため、入力暗号化モジュールは仮想モジュールであり、入力チャネルでの暗号化動作はデータ多重変換装置を介して暗号化エンジンによって達成される。特に入力チャネルを介してシステム・オン・チップＳＯＣに入れるデータは、暗号化エンジンを介して操作（例えば入力バッファ内のデータを格納する）以前に更に通過される。そのため、入力暗号化モジュールは、暗号化モードの中で暗号化／復号化エンジンのリソースを用いる、仮想モジュールである。同じことは、復号化モードにおいて暗号化／復号化エンジンを用いる出力復号化モジュールに適用される。
【００２１】
入力暗号化モジュールＲＣＶ−Ｅは、１つ以上の暗号化ユニットを含むことができる。図２Ａに示される特別の実施の形態によれば、２つの暗号化ユニット（或いはより多くの）は、各々異なるキーを有し、直列で接続される。第１の暗号化ユニットに、システム・オン・チップ（即ち、特定のデバイスのためにユニークで、一定である）に関係するキーＫ１がロードされる。このキーは、インストールステップの間にロードされるか、又は内部に生成される。第２のユニットＥＮＣ２に、デバイスのパワーアップでダイナミックに生成される重要なＫ２がロードされる。システム・オン・チップが再初期化される場合、このキーは失われ、新規のキーが生成される。永久に格納されなければならないプロセッサＣＰＵによって一旦処理されたデータは、単に永久キーＫ１により第１のユニットで再暗号化される。
【００２２】
暗号化／復号化エンジンと同様に、出力復号化モジュールも、また同様に２つ以上のユニットを含む。
【００２３】
或いは、プロセッサＣＰＵが、入力バッファ内に保存された、受信されたデータを処理する必要はないが、単に固定記憶装置ＮＶ−ＭＥＭにおいて保存されなければならないことを認識する場合、プロセッサは、たった１つの復号化ユニット（つまり揮発性のキーを有しているユニット）ずつ暗号化／復号化エンジンに復号化を要求することができる。保存されたデータは、なお、後の使用のための永久キーによって暗号化され続ける。
【００２４】
システム・オン・チップＳＯＣは、決定論的にシステム・オン・チップＳＯＣを制御することができる、自律の監視モジュールＳＭを更に含むことができる。このモジュールＳＭは、基準状態がもはや満たされない場合、システム・オン・チップＳＯＣの正常に作動する条件定義及び使用不可能手段を含む。これは異なる手段によって達成される。第１の手段は出力されたデータの量（例えば、出力されたデータ・セットの数をカウントして）を測定することを含む。この動作は、カウンティングデータと今後記述される。第２の手段は入力又は出力動作が可能にされる時間窓(time window)を定義することを含む。そのため、データブロックは、同一の長さがブロックのために定義された最大時間を超過しない場合、認められる。第３の手段は中央装置ＣＰＵ及びそれぞれの継続時間の状態を検出し、今後図示されるように従って作用することを含む。典型的には中央装置ＣＰＵには、獲得状態、処理状態、待機状態及び出力する結果状態などのような、異なる可能な状態がある。メッセージがシステム・オン・チップに到着する場合、同じことは待機状態から獲得状態まで切り替える。その獲得状態中に、入力チャネルは監視モジュールＳＭによって可能になる。また、同じ獲得状態中に、監視モジュールＳＭはデータ到着をカウントし、この数をあらかじめ定められた最大値と比較する。どんな異常状況も、中央装置ＣＰＵが反応する方法を決定することができる警戒状態に結びつく。監視モジュールＳＭは、特に警戒状態の場合には、入出力チャネル及び／又は暗号化／復号化エンジンＣＲ−ＥＮを遮断するための性能を有している。
【００２５】
外部メッセージが受信される場合、監視モジュールＳＭは中央装置ＣＰＵを処理状態に進ませる。この状態中に、入出力チャネルは無効になる。監視モジュールＳＭは、中央装置ＣＰＵによる最小の処理時間に対応する時間パターンを含み、この間にチャネルを使用不可能にする。中央装置ＣＰＵは、結果が出力されないことを監視モジュールＳＭに通知することができる。これは、単に新規のメッセージの待機のために、監視モジュールＳＭが入力チャネルを可能にするという結果を有する。その後、出力チャネルは無効になり続ける。
【００２６】
中央装置ＣＰＵが外界にデータを送信したい場合には、その後、監視モジュールＳＭに従って通知し、次には出力チャネルを可能にする。監視モジュールＳＭは、なお、送信されたデータのカウント及び発送が認定される時間窓の適用により、出力チャネル上の活動を監視し続ける。
【００２７】
本発明のこの実施の形態において、監視モジュールＳＭは、予めプログラムされた作動するパターンと同様に、中央装置ＣＰＵでも受信された情報に従って作動することができる。
【００２８】
このモジュールは、また暗号化されたデータ又は復号化されたデータをカウントすることにより暗号化／復号化エンジンＣＲ−ＥＮを監視することができる。同様に、暗号化／復号化エンジンＣＲ−ＥＮの作動するパターンは、処理されたデータ量及び時間の期限内で監視される。異常状態が検出される場合、監視モジュールは暗号化／復号化エンジンＣＲ−ＥＮを使用不可能にすることができる。
【００２９】
入出力チャネル内の暗号化／復号化なしで、システム・オン・チップ内の監視モジュールＳＭを実施することができることは、注目されるべきである。データは付加的な暗号化（或いは復号化）レベルを追加せずに処理され、入出力チャネルは監視モジュールＳＭによって監視される。
【００３０】
このシステム・オン・チップＳＯＣは、権利又はキーを含む管理メッセージの受信を担当するセキュア・アクセス・コントロール・モジュールの中で用いられる。このモジュールは、また、暗号化されたビデオ・データの流れを受信するために高速で解読するユニットを含むことができる。
【図面の簡単な説明】
【００３１】
【図１】図１は暗号化／復号化モードにおけるシステム・オン・チップとその諸要素を描写している。
【図２Ａ】図２Ａは、２つユニットを用いた暗号化段階を描写している。
【図２Ｂ】図２Ｂは、２つユニットを用いた暗号化段階を描写している。
【図３】図３は署名モードにおけるシステム・オン・チップとその諸要素を描写している。
【図１】
2009521154.tif 000003
【図２Ａ】
2009521154.tif 000004
【図２Ｂ】
2009521154.tif 000005
【図３】
2009521154.tif 000006
【国際調査報告】
2009521154.tif 000007
2009521154.tif 000008