(57)【特許請求の範囲】
【請求項１】
三次元グラフィックシステムに使用するためのテクスチャリングシステムにおいて、
テクスチャ化されるべきオブジェクトを記述するオブジェクトデータを受け取るための入力手段を備え、
暗号化されたスタティックテクスチャデータ及びチェック和データを記憶する記憶装置を備え、上記暗号化されたスタティックテクスチャデータはテクスチャ化されるべきオブジェクトに適用されるものであり、
上記記憶装置に接続され、上記暗号化されたスタティックテクスチャデータ及びチェック和データをオンザフライで暗号解読してそしてデータをスタティックテクスチャデータとチェック和データとに分離するための暗号解読ユニットを備え、
上記入力手段及び上記暗号解読ユニットに接続され、上記暗号解読されたスタティックテクスチャデータをオブジェクトデータに適用して、テクスチャ化された像データを発生するためのフレームバッファを備え、
上記フレームバッファに接続され、上記テクスチャ化された像データを表示のために出力する出力手段を備え、
上記暗号解読ユニットに接続され、上記チェック和データを監視し、そしてそのチェック和データが制御チェック和データに一致しない場合に上記テクスチャリングシステムの出力手段を無効化するための保護ユニットを備えた、
テクスチャリングシステム。
【請求項２】
請求項１に記載のテクスチャリングシステムにおいて、
上記入力手段は、上記テクスチャリングシステムで使用されるソフトウェアアプリケーションによって供給された暗号キー識別データを受け取るように構成され、上記暗号キー識別データは、スタティックテクスチャデータを暗号化するのに使用された上記ソフトウェアアプリケーションに特有の暗号キーを識別するためのものであり、
上記テクスチャリングシステムは、更に、上記暗号解読ユニット及び上記入力手段に接続されたキー生成ユニットを備え、上記キー生成ユニットは、上記暗号キー識別データから上記ソフトウェアアプリケーションに特有の暗号キーを発生し、これにより、上記暗号解読ユニットは、上記暗号キーを使用して、上記暗号化されたスタティックテクスチャデータを暗号解読することを特徴とするテクスチャリングシステム。
【請求項３】
入力手段と、記憶装置と、暗号解読ユニットと、フレームバッファと、出力手段と、保護ユニットを備えたテクスチャリングシステムにおいて三次元グラフィックデータにテクスチャ化を適用する方法であって、
上記記憶主装置が暗号化されたスタティックテクスチャデータ及びチェック和データを記憶する段階を備え、上記暗号化されたスタティックテクスチャデータはテクスチャ化されるべきオブジェクトに適用されるものであり、
上記入力手段が上記記憶されたスタティックテクスチャデータを使用してテクスチャ化されるべきオブジェクトを記述するオブジェクトデータを受け取る段階を備え、
上記暗号解読ユニットが上記暗号化されたスタティックテクスチャデータ及びチェック和データをオンザフライで暗号解読してそしてデータをスタティックテクスチャデータとチェック和データとに分離する段階を備え、
上記フレームバッファが上記暗号解読されたスタティックテクスチャデータをオブジェクトデータに適用して、テクスチャ化された像データを発生する段階を備え、
上記出力手段が上記テクスチャ化された像データを表示のために出力する段階を備え、
上記保護ユニットが上記チェック和データを監視し、そしてそのチェック和データが制御チェック和データに一致しない場合に上記テクスチャリングシステムの出力手段を無効化する段階を備えた、
方法。
【請求項４】
上記テクスチャリングシステムが、更に上記暗号解読ユニット及び上記入力手段に接続されたキー生成ユニットを備えた上記請求項３に記載の方法において、
上記入力手段が上記テクスチャリングシステムで使用されるソフトウェアアプリケーションから供給された暗号キー識別データを受け取る段階を備え、上記暗号キー識別データは、スタティックテクスチャデータを暗号化するのに使用されたソフトウェアアプリケーション特有の暗号キーを識別するためのものであり、
上記キー生成ユニットが上記暗号キー識別データから上記ソフトウェアアプリケーション特有の暗号キーを計算する段階を備え、そして
上記暗号解読ユニットが上記暗号キーを使用して、上記暗号化されたスタティックテクスチャデータを暗号解読する段階を備えた、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元グラフィックシステムに使用するためのテクスチャリングシステムに係る。更に、本発明は、保護ソフトウェアアプリケーションを配布する方法にも係る。
【背景技術】
【０００２】
コンピュータグラフィックアプリケーション、特に、コンピュータゲームは、開発に多大な費用がかかる。又、不幸にも、それらは、おそらく潜在的ユーザの人数のために、ソフトウェア海賊行為の好適なターゲットでもある。過去に、海賊行為は、通常、例えばＲＯＭカートリッジや「複写が困難」なディスクのような物理的媒体においてアプリケーションを供給するか、又は例えばドングルのような物理的なキーを送付することにより、部分的に制限されてきた。しかしながら、ソフトウェアは、益々電子的に販売されるようになり、例えば、ショップの「ポイント・オブ・セール」ＰＯＳターミナルや、インターネットからダウンロードされることが考えられる。従って、物理的媒体のこのような欠如は、他の手段がとられない限り、潜在的に不法複写を非常に簡単なタスクにしてしまう。
【０００３】
海賊行為からのソフトウェアの保護は、これまで多数の技術に依存してきた。１つのこのような技術は、複写が困難な物理的媒体をソフトウェアアプリケーションの記憶に使用することである。例えば、あるコンピュータゲームコンソールの製造者は、「リードオンリメモリ」（ＲＯＭ）カートリッジを使用するか、又は既製の複写ツールが存在しない高密度ＣＤ−ＲＯＭ等の通常媒体の所有権変形物を使用している。
【０００４】
パーソナルコンピュータにしばしば使用されている別の技術は、フロッピー（登録商標）ディスクやＣＤのような標準媒体を使用するが、例えば、レーザを使用して製造中に小さな領域においてそれらに故意に「ダメージ」を与えることである。従って、アプリケーションソフトウェアは、供給された記憶媒体がこれらのエラーを含むことをチェックするための命令を含む。既製のフロッピー（登録商標）ドライブ又はＣＤ−ＲＯＭ「バーナー」は、媒体におけるエラーを再現することができない。エラーのチェックは、ソフトウェア内にある程度隠すことができるが、充分な時間が与えられれば、決定的なクラッカーは、それらの位置を見つけて、チェックを取り除いたアプリケーションの変更バージョンを作成することができる。この「クラック（改変）」されたソフトウェアは、これを記憶して、既製の媒体を使用して実行することができる。
【０００５】
ソフトウェアのコンテンツを変更から保護する別の方法は、外部メモリへの及びそこからの全ての転送を暗号化できる「保安」ＣＰＵを使用することである。しかしながら、このようなプロセッサは、一般的でなく、コンピュータグラフィック装置の製造者にとって重要なオプションとはなり得ない。更に、これは、それ自身、アプリケーションの複写を防止するものではなく、その変更しか防止しない。
【０００６】
イーサネット（登録商標）アダプタ及びあるコンピュータのような幾つかの装置は、独特の内蔵識別子と共に構成される。この識別子は、ソフトウェアを、それが１つのマシンでしか実行できないようにカスタマイズするのに使用できることが明らかである。この場合も、他のステップがとられない限り、これは、チェックを取り除くソフトウェアの変更により悪用に対してオープンである。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、特に、３Ｄコンピュータグラフィックのレンダリングを実行するシステム及びアプリケーションを取り扱う。
典型的な既知の環境が図１ａに示されている。ここで、ＣＰＵ１は、メモリ２に接続され、該メモリは、アプリケーションコード及びデータ構造体を含む。アプリケーションは、通常、ユーザ入力３に応答する。通常、像又はテクスチャデータのアプリケーションのためのパラメータを伴う三角形で構成された各３Ｄ像の記述がＣＰＵにより発生され、そしてこのオブジェクトデータがレンダリングサブシステム４へ送信される。これは、メモリ５に記憶されたテクスチャデータを使用して、メモリ内のフレームバッファ内に構成される像データを発生する。出来上がった像は、次いで、ディスプレイシステム６へ送信される。あるシステムでは、メモリユニット２及び５は、実際には、同じ物理的メモリである。
【０００８】
図１ｂを参照して、既知の３Ｄレンダリングシステム４を詳細に説明する。このレンダリングシステム４は、多角形データを受信するユニット７を含む。これらの多角形データは、ラスタ化ユニット８へ個々に又はバッチで送信され、このラスタ化ユニットは、最終像のどのピクセルがどの多角形により影響されそしてピクセルにどんな色が指定されるかを決定する。このプロセスの一部分として、テクスチャデータにアクセスしなければならない（９）。これは、多数の要求されたテクスチャ識別子及びピクセル座標位置をカラー値に変換することを含み、そしてメモリ制御システム１０を経て３Ｄレンダリングシステムのメモリへアクセスするのを必要とする。このメモリ制御システムは、ラスタ化ユニット８からのフレームバッファ読み取り及び書き込み要求も取り扱う。最終的に、ディスプレイ制御システム１１は、出来上がった像をメモリからディスプレイ装置へ転送する。
【課題を解決するための手段】
【０００９】
本発明の目的は、既知の配布技術に関連した問題を改善することである。本発明によれば、その第１の特徴において、請求項１に記載のテクスチャリングシステムが提供される。このテクスチャリングシステムの好ましい特徴は、従属請求項２及び３に規定されている。暗号化されたスタティックなテクスチャデータを、オブジェクトデータに適用する前に暗号解読することを必要としたことで、そのテクスチャデータを複写してそれを別の装置で使用して同じアプリケーションを実行するのを困難にすることにより、アプリケーションを保護する手段が提供される。
【００１０】
本発明の第２の特徴によれば、請求項４に基づき三次元グラフィックデータにテクスチャリングを適用する方法が提供される。この方法の好ましい段階は、従属請求項５に規定される。
本発明によれば、その第３の特徴において、請求項６に基づきソフトウェアアプリケーションを形成する方法が提供される。このソフトウェアアプリケーションは、許可された装置しかスタティックテクスチャデータを暗号解読してソフトウェアアプリケーションを実行できないように、スタティックテクスチャデータの暗号化によって保護される。好ましい特徴は、従属請求項７及び８に規定されている。
【００１１】
本発明の第４の特徴によれば、請求項９に基づき、保護されたソフトウェアアプリケーションを配布装置からターゲット装置へ配布する方法が提供される。
本発明の第５の特徴によれば、請求項１０に基づく３−ｄグラフィック装置が提供される。
【００１２】
アプリケーション、特に、ゲームアプリケーションにより使用される多くのテクスチャは、そのアプリケーションが書き込まれるときに作成されることが明らかである。説明上、これらをスタティックテクスチャと称する。アプリケーションの実行中に他のテクスチャが作成され、これらは、ダイナミックテクスチャと称する。
【００１３】
本発明の目的は、グラフィックソフトウェア、特にゲームソフトウェアの広範囲な複写を困難にすることである。これは、ソフトウェアの不明瞭化、保護されたＣＰＵの使用及び／又は所有権のある記憶媒体の使用に依存するのではなく、レンダリングハードウェア内の保護回路とスタティックテクスチャデータの保護との組合せで行われる。本発明は、スタティックテクスチャデータを暗号化し、そしてソフトウェアアプリケーションに関連したテクスチャデータの暗号解読を制御することにより、ソフトウェアを無断使用から保護することを実現することにある。本発明は、このようなアプリケーションの広範囲な複写を禁止するように付加的なソフトウェア作成段階でコンピュータグラフィックハードウェアを適応させる方法に関する。
【００１４】
ここに示すシステムは、コンピュータグラフィックアプリケーション、特に、コンピュータゲームの合理的な割合が、アプリケーションの開発中に準備されるスタティックテクスチャデータであることに依存する。アプリケーションを保護するために、標準的な３Ｄレンダリングハードウェアシステムは、５つの主たる方法で変更される。第１に、各レンダリングチップは、そこに埋設された独特の、又は少なくとも非常に稀に繰り返される識別コードを有する。第２に、１組のシークレットキーがレンダリングチップのシリコンに組み込まれ、実質上アクセスが不可能にされる。あるシークレットキーの知識は、信頼のある当事者にのみ解放される。第３に、ある数の各アプリケーションの外部記憶テクスチャが、開発中に暗号化され、そして３Ｄレンダリングチップ内でレンダリングプロセス中にテクスチャリングシステムによってのみ暗号解読される。第４に、暗号化されたスタティックテクスチャは、保安チェック和でマークされ、無効のテクスチャデータが供給された場合にはレンダリングを終了することができる。最終的に、ソフトウェア配送システムも変更され、アプリケーションを実行すべき特定のターゲット装置のためのソフトウェアを変更し又は「仕立てる」ことができる。
【００１５】
ダイナミックなテクスチャ、即ちアプリケーションの実行中にソフトウェアにより発生されるテクスチャは、暗号化／保護されないことに注意されたい。対称的（即ち、プライベートキーのみ）暗号化が使用された場合には、キーをアプリケーションに記憶することが必要となり、従って、決定されたソフトウェア海賊にそれを曝すことになる。別のやり方は、公開／プライベートキーシステムを使用することであるが、現在、それらは非常に低速であり、従って、テクスチャを暗号化するための時間が、リアルタイムシステムにおいてこの技術を望ましからぬものにする。
以下、添付図面を参照して、本発明の実施形態を詳細に説明する。
【図面の簡単な説明】
【００１６】
【図１ａ】既知の３−ｄグラフィックレンダリングシステムのブロック図である。
【図１ｂ】図１ａのシステムの更なる詳細を示すブロック図である。
【図２ａ】暗号化されたテクスチャデータを使用してソフトウェアアプリケーションを生成するのに含まれる段階を示すフローチャートである。
【図２ｂ】ターゲット装置へ転送するためにソフトウェアアプリケーションを変更するのに含まれる段階を示すフローチャートである。
【図２ｃ】変更されたソフトウェアアプリケーションを実行できるようにするためにターゲット装置によって行われる段階を示すフローチャートである。
【図３ａ】テクスチャデータの保安チェック和の発生及び暗号化を示すフローチャートである。
【図３ｂ】チェック和の発生に含まれる段階を詳細に示すフローチャートである。
【図４】セールスキーの発生を示すフローチャートである。
【図５】本発明の実施形態によるテクスチャリングシステムを示すブロック図である。
【図６】テクスチャリングシステムのキー生成ユニットにより実行される段階を示すフローチャートである。
【図７】生成制御ユニットにより実行される段階を示す図である。
【発明を実施するための形態】
【００１７】
好ましい実施形態において、保護システムは、図２ａないし２ｃに示された３つの主たる処理段階で構成される。これらは、ソフトウェアのオーサリング中に行われる生成（又は開発）段階２０と、ソフトウェアが電子的に購入されるときに行われる任意の「ポイント・オブ・セール」段階２１と、ソフトウェアが装置において実行されるときに行われるランタイム／レンダリング段階２２である。
【００１８】
生成段階は、更に、標準的なアプリケーション開発ステップ２３と、２つの新たなステップとを含む。その第１は、ＡＥＫと称されるアプリケーション特有の暗号キーの選択２４であり（好ましくはランダム手段による）、そして第２のステップ２５では、大部分のスタティックテクスチャ、即ちテクスチャメモリに単にロードされてアプリケーションの実行中にアプリケーションソフトウェアにより変更されないテクスチャが、チェック和処理され、そしてＡＥＫにより暗号化される。好ましい実施形態では、暗号システムは、プライベートキーシステムであり、セキュリティの理由で、好ましい実施形態のＡＥＫは、そのサイズが少なくとも６４ビットとなる。
【００１９】
「ポイント・オブ・セール」段階２１は、アプリケーションが電子的に供給される（即ち、大量生産の物理的媒体が使用されない）場合に適用される。第１のステップ２６は、ターゲット装置の独特（又はほぼ独特）の識別子ＤｅｖＩＤを要求することである。次のステップ２７は、ＤｅｖＩＤと、ＡＥＫと、レンダリングチップ内に埋め込まれた多数のシークレットキーの１つとを機密裡に結合して、セールスキーＳＡＫを生成することであり、これは、そのアプリケーションとターゲットレンダリング装置との対形成に特有のものである。最後のステップ２８は、ＡＥＫで暗号化されたテクスチャを含む全アプリケーションデータを、ＳＡＫと、ステップ２７で使用されたシークレットキーに対するインデックスと共に、ターゲット装置へダウンロードすることである。
【００２０】
以下に述べるポイント・オブ・セール段階を使用しない場合、例えば、アプリケーションをダウンロードではなく物理的媒体に与えるべき場合には、２つの選択肢が考えられる。第１に、内蔵「設定」プログラムが、所有者に、例えば、フリー電話番号を経てサポートオペレータにコンタクトするように求め、サポートオペレータは、ユーザに装置のシリアル／識別番号を尋ね、そしてセールスキーを返送する。このキーは、次いで、所有者によって入力され、そしてアプリケーションの将来の実行のためにアプリケーションによりセーブされる（通常、取り外し可能なメモリユニットに）。或いは又、１セットの埋め込まれたシークレットキー識別子の小さなサブセットが、内部装置識別子ＤｅｖＩＤを既知の一定値に「置き換えて」、大量生産された媒体の同一コピーをいかなる装置でも実行できるようにするという副作用をもつこともできる。
【００２１】
ランタイムレンダリング段階２２は、アプリケーションがＳＡＫ及び内部シークレットキーをレンダリングハードウェア２９へ供給することを要求する。レンダリングハードウェアは、内部キーＤｅｖＩＤ及びＳＡＫを使用することによりポイント・オブ・セール段階で適用された結合ステップ２７を逆転し（３０）、ＡＥＫを検索する。レンダリング３１中に、保護されたテクスチャが、ＡＥＫを使用してオンザフライで暗号解読される。ランタイムレンダリング段階２２の好ましい実施形態では、多数の保護されたテクスチャがサンプリングされそしてチェック和が照合される。
【００２２】
図３ａを参照して、セキュリティチェック和を発生しそしてテクスチャデータを暗号化する好ましい方法２５を説明する。各スタティックテクスチャ４０が供給され、そしてテクスチャの最初の「Ｎ」個のワード４１から前テクスチャチェック和が発生される。「Ｎ」の選択は、希望のセキュリティレベルと、テクスチャの有効性をテストするのに要する時間との間で妥協される。好ましい実施形態では、これは、ワードサイズが６４ビットとなるような最初の４ワードであるが、他の組合せを選択することもできる。チェック和関数は、加算、モジュロ２64、又はデータワードの自明なビット方向のＸＯＲ、即ち排他的ＯＲのような単純な演算でよい。
【００２３】
チェック和は、全テクスチャと連結され、その結果が暗号化され（４２）、出力される（４３）。図３ｂを参照して、暗号化ステップ４２について詳細に説明する。ステップ４４では、ブロック暗号化アルゴリズム４５の巾に対応するデータのブロックが暗号化アルゴリズムに対して発生される。適当なブロック暗号化アルゴリズムの例は、現在のＮＩＳＴ「進歩型暗号規格」候補、例えば、「ＴｗｏＦｉｓｈ」、又はそれより初期のトリプルＤＥＳ規格の１つである。
【００２４】
テクスチャは、ＡＥＫ４６を使用して「電子コードブック」即ちＥＣＢモードにおいて効果的に暗号化される。好ましい実施形態ではセキュリティを改善するために、入力値が、ＸＯＲ演算を使用してテクスチャのベースに対するそれらの位置オフセットで「塩漬け(salted)」にされる（４７）。例えば、テクスチャからのデータのＪ番目のブロックは、暗号化の前に数字Ｊの二進表示とＸＯＲされる。これは、テクスチャのコンテンツを不明瞭にする助けをし、そしてコードブックに基づく侵略の困難さを増大する。更に進歩した多くの暗号モード、例えば、暗号ブロックチェーンＣＢＣは、暗号化されたテクスチャ内でのピクセルのランダムなアクセスを許さないので、テクスチャ化には適さないことに注意されたい。
【００２５】
セールスキーの生成２７が図４に示されている。これは、装置ＩＤ即ちＤｅｖＩＤ５０及びＡＥＫ４６を取り出し、そして可逆容易な演算を使用してそれらを合成し（５１）、暗号化定義データを中間結果５２として発生することにより行われる。好ましい実施形態では、この合成演算は、加算又はビット方向の排他的オアであり、そして出力は、少なくとも６４ビットである。この演算は、装置ＩＤ及び中間結果が与えられると、ＡＥＫを導出するのが簡単であるという意味で可逆である。
【００２６】
次いで、暗号化定義データは、シークレットキー５４を使用するブロック暗号で暗号化され（５３）、シークレットキーのコピーは、各レンダリングチップ内に埋め込まれるか又はそこで導出することができる。このシークレットキーは、決して公衆に露呈されず、配布装置又はセールスツールに知らされる。好ましい実施形態では、現在シークレットキーが妥協された場合には複数のシークレットキーが埋め込まれる。或いは又、ＲＳＡ（米国特許第４，４０５，８２９号）のような公開キーシステム、又はディフィ−ヘルマン(Diffie-Helman)（米国特許第４，２００，７７０号）のようなキー交換システムを使用することもできる。公開キーは、セールスツールに使用され、そしてプライベートキーは、レンダリングハードウェアに埋め込まれる。
【００２７】
暗号化された結果５５は、セールスキーＳＡＫとして使用され、これは、アプリケーションのコピーと共にエクスポートされる。
図５は、図１ｂにおいて最初に述べたレンダリングユニット４に対してなされる変更を示す。この変更されたユニットは、キー生成ユニット３０を備え、これは、セールスキーＳＡＫと、内部シークレットキーに対する識別子とを受け入れ、そして図４に示したステップを逆転する。これは、アプリケーションの暗号キー７１の内部コピーを生成する。このキーは、テクスチャ暗号解読ユニット７２へ供給され、該ユニットは、テクスチャアクセスユニット９により必要とされるテクスチャピクセルを暗号解読する。以上に述べたハードウェアでは、無効なキーが供給された場合に、多角形のテクスチャは、ランダムノイズとして現われることに注意されたい。
【００２８】
更に、保護制御入力ユニット７３は、アプリケーションが実行をスタートするときに、ＣＰＵ１で実行されるアプリケーションからコマンドワード（１つ又は複数）を受け取る。アプリケーションの故意の変更により振舞いが妥協されるのを防止するために、これらのコマンドは、内部ＡＥＫ７１で暗号化される。ユニット７３は、コマンドを暗号解読して、テクスチャ有効性チェックユニット７４へ供給する。各シーンがレンダリングされる間に、このユニットは、テクスチャアクセスユニット９を経て、ある数の保護されたテクスチャをサンプリングし、記憶されたチェック和が、テクスチャデータのスタートから計算されたチェック和に一致することをテストする。７３により供給されるコマンドで決定されるアクションは、これらの一致が失敗した場合に行うことができる。これらアクションの選択は、装置のターゲット市場に依存するが、起こりそうなアクションの選択は、レンダリングチップをシャットダウンし、割り込みをＣＰＵへ送信し、そして「テクスチャ」を、デモンストレーションの目的で使用できるフラット陰影モードに置き換えることを包含できる。
【００２９】
好ましい実施形態では、有効性ユニット７４によりアクションがとられる前に、クロックカウンタにより決定される遅延が生じる。これは、時間がかかるために実行不能な低限定性の暗号化コマンドを繰返し推定することに基づいて攻撃を行う。
更に、好ましい実施形態では、メモリコントローラ１０とメモリ５との間にメモリ暗号化／暗号解読ユニット７５が配置されている。このユニットは、アプリケーションを再書き込みすることを伴う攻撃を仮定して、スタティックテクスチャのオリジナルコンテンツの逆方向エンジニアリングをより困難にすることが意図される。
【００３０】
図６を参照して、キー生成ユニット３０の振舞いを以下に説明する。アプリケーションは、結合ステップ２７においてセールスアプリケーションにより使用されたシークレットキーに対する識別子を供給する。これは、シークレットキーテーブル又は機能８１にアクセスし、これは、実際のシークレットキー８２を返送する。好ましい実施形態では、シークレットキーは、対称的な暗号が使用されると仮定すれば、サイズが少なくとも６４ビットである。公開／プライベートキーシステムが使用される場合には、相当に大きなキーが必要となる。次いで、選択されたシークレットキー８２は、暗号解読機能８３を使用して、アプリケーションにより供給されたセールスキー５５を暗号解読するのに使用される。この機能は、暗号化ステップ５３の逆でなければならない。中間結果５２と同じである中間結果８４が、装置ＩＤ８６と共に分離即ち「非結合」オペレーション８５へ供給され、これは、結合オペレーション５１の逆である。その結果は、内部アプリケーション暗号キー７１であり、これは、ステップ２４で選択されてその後に４６で使用されたものと同じである。好ましい実施形態は、多数のシークレットキーの選択肢を有し、ポイント・オブ・セールアプリケーションにおいてセキュリティ侵害が生じた場合に、将来の解放が妥協されないようなフォールバック位置が存在する。
【００３１】
又、システムは、アプリケーションからレンダリングシステムへ発生された命令を、有効なテクスチャのチェックでその振舞いに関して保護しなければならない。これは、保護制御ユニット（７３）内で行われ、図７を参照してそのオペレーションを以下に説明する。アプリケーションは、開発段階中にＡＥＫ２４で暗号化された多数の法的命令の１つを供給し、これは、暗号化制御ワードレジスタ９０に記憶される。低限定性制御ワードのランダムな推定を禁止するために、好ましい実施形態のレジスタは、少なくとも６４ビット巾でなければならない。従って、レジスタのコンテンツは、ＡＥＫ７１の内部コピーを使用して暗号解読される（９１）。暗号解読された結果は、次いで、それらが有効コマンド９２の小さなセットの１つに一致するかどうかチェックされる。無効コマンドでは、非常に限定的なコマンドが有効性チェックモジュール７４へ送信されることになり、これは、好ましい実施形態では、ある遅延の後にレンダリングを停止する。
【００３２】
回路がシリコンで実施されるときには、保護を制御するエリア、及び特に、シークレットキーは、レジスタテスト走査チェーンによりアクセスされてはならないことに注意されたい。更に、シークレットキーは、公衆に解放されないことが重要である。
上記説明に関しては、同等の装置及び方法が当業者に容易に明らかであり、そして添付図面に示して上記で説明した全ての同等の装置及び方法は、本発明により包含されることが明らかである。それ故、上記説明は、本発明の原理を例示するものに過ぎない。更に、多数の変更や修正が当業者に明らかであろうから、本発明は、図示して説明した厳密な構造やオペレーションに限定されるものではなく、従って、全ての変更や修正は、本発明の範囲内に包含されるものとする。
【００３３】
上記説明の種々の点において特定の図面を参照して述べた特徴は、特に説明され又は図示されたもの以外の組合せで使用できることに注意されたい。全てのこのような変更は、特許請求の範囲に規定された本発明の範囲内に包含される。
例えば、テクスチャデータを暗号化するための異なる技術、例えば、公開／プライベートキーシステムを使用することもできる。
【符号の説明】
【００３４】
１  ＣＰＵ
２、５  メモリユニット
３  ユーザ入力
４  ３Ｄレンダリングシステム
６  ディスプレイシステム
７  多角形データ入力ユニット
８  ラスタ化ユニット
９  テクスチャアクセスユニット
１０  メモリ制御システム
１１  ディスプレイ制御システム
３０  キー生成ユニット
７１  暗号キー
７２  テクスチャ暗号解読ユニット
７３  保護制御入力ユニット
７４  テクスチャ有効性チェックユニット
７５  メモリ暗号化／暗号解読ユニット
【図１ａ】
0004950233.tif 000002
【図１ｂ】
0004950233.tif 000003
【図２ａ】
0004950233.tif 000004
【図２ｂ】
0004950233.tif 000005
【図２ｃ】
0004950233.tif 000006
【図３ａ】
0004950233.tif 000007
【図３ｂ】
0004950233.tif 000008
【図４】
0004950233.tif 000009
【図５】
0004950233.tif 000010
【図６】
0004950233.tif 000011
【図７】
0004950233.tif 000012