(57)【要約】【課題】キーイング又は他の機密情報の装置への注入を監視及び計量する、遠隔装置登録のためのシステムと方法が提供される。1つ又は2つ以上の別の製造業者を利用するプロデューサは、順方向及び逆方向チャネルを介して製造業者の元にあるローカルモジュールと通信する遠隔モジュールを操作する。暗号化されたデータ送信はプロデューサにより製造業者に送られ、復号されて、装置において使用される機密データを取得する。データ送信が復号されると、クレジットプールからのクレジットは消費され、プロデューサによりクレジット指令により補充できる。配信画像が復号されると、使用記録が作成され、最終的に連結されて使用レポートとしてプロデューサに送り返され、それによりプロデューサは製造業者における生産を監視及び計量できる。代替の機構においては、過剰生産を製造段階において責務の分離を導入することにより禁止できる。典型的にはプロデューサは、製造の種々の段階を複数の契約者に外注する。一般的には責務の分離はシリコンチップ又は他の装置の製造段階を明確な目的を持って分離し、それにより最終製品は十分に機能するようになるために、各下請契約者により「接触」されなければならない。【選択図】図１
2008547251.tif 000002
【特許請求の範囲】
【請求項１】
装置の生産中に、その装置への機密データの注入を遠隔的に制御する方法であって、
コントローラが前記機密データを用意し、データ送信において暗号的に保護するステップと、
前記コントローラが前記データ送信を、暗号操作を実行するセキュアモジュールを有するサーバーに送るステップと、
前記セキュアモジュールが前記機密データを、前記データ送信から抽出するステップと、
前記サーバーが前記機密データを、前記装置への注入のための機器に提供するステップを含み、
前記コントローラはサーバーから離れて位置している方法。
【請求項２】
前記セキュアモジュールが前記コントローラに対して、前記機密データの使用に関するログレポートを用意するステップを更に含む請求項１に記載の方法。
【請求項３】
前記抽出ステップは、前記セキュアモジュールが、前記データ送信に含まれるヘッダを復号してキーを取得し、前記キーを使用して前記送信を復号してそこから前記データを抽出することを含む請求項２に記載の方法。
【請求項４】
前記コントローラは前記データ送信を送ると、第１ログ記録を生成し、前記第１ログ記録は、前記ログレポートとの比較のために前記コントローラにより格納され、前記セキュアモジュールは、前記データを前記機器に提供すると、前記データの前記機器への配信を示す第２ログ記録を生成し、前記第２ログ記録は、前記ログレポートに含まれる請求項２に記載の方法。
【請求項５】
前記サーバーが、前記機器から、前記装置への前記データの注入を示す、前記ログレポートに含まれる第３ログ記録を受け取るステップを更に含む請求項４に記載の方法。
【請求項６】
前記コントローラが前記データを用意して保護することに先立って実行され、前記サーバーおよび前記セキュアモジュールを初期化するために使用される供給手順を更に含む請求項１に記載の方法。
【請求項７】
複数のサーバーを備え、前記データ送信を送る前記ステップは、前記複数のサーバーへ前記データ送信を送ることを含む請求項１に記載の方法。
【請求項８】
前記コントローラが、クレジットプールの値を更新するためであって、セキュアモジュールが前記機密データをそこから抽出できる前記データ送信のデータ要素数を表現しているクレジット値を示すクレジット指令を、前記サーバーに提供するステップを更に含む請求項１に記載の方法。
【請求項９】
前記セキュアモジュールは、前記データを前記データ送信から抽出すると、前記クレジットプールからクレジットを消費し、それにより前記クレジットプールの値を減少する請求項６に記載の方法。
【請求項１０】
前記用意するステップに先立ち、前記方法は、前記コントローラが、前記データを修正する既存データ注入ソリューションを実現するためのオブジェクトを受け取るステップと、前記コントローラが、前記オブジェクトに署名して、前記署名付きオブジェクトを前記セキュアモジュールに送るステップと、前記セキュアモジュールが前記署名付きオブジェクトを格納し、前記署名付きオブジェクトを検証し、前記署名付きオブジェクトが検証された場合は前記既存ソリューションに従って前記データを修正するステップと、前記修正されたデータを、前記装置への注入のために前記機器に送るステップを更に含む請求項１に記載の方法。
【請求項１１】
前記データ送信は、複数のタイプの機密データを含み、前記セキュアモジュールは、前記コントローラにより確立された許可に従って、前記タイプのあるいくつかを取得する請求項２に記載の方法。
【請求項１２】
前記ログレポートは、前記タイプのいずれが前記セキュアモジュールにより、前記機器に提供されたかを示す表示を含む請求項１１に記載の方法。
【請求項１３】
前記コントローラが、前記セキュアモジュールの設定を修正するときに使用される構成メッセージを前記セキュアモジュールに送るステップを更に含む請求項１に記載の方法。
【請求項１４】
前記ログレポートは、前記コントローラが、前記サーバーまたは前記コントローラにより開始されるポーリングを使用して取得される請求項１に記載の方法。
【請求項１５】
前記コントローラは、前記第１ログ記録と前記ログレポートを比較して、前記ログレポートが適切なものであり、追加データが要求されている場合は、更なるデータ送信を行い、前記ログレポートが適切なものでない場合は、以前の送信のいずれからも、前記データの更なる抽出を禁じる指令を行う請求項４に記載の方法。
【請求項１６】
前記機密データは複数のキーであり、前記送信は、前記コントローラのセキュアモジュールにより暗号化された前記キーを大量に含み、前記データを抽出する前記ステップは、前記コントローラにより提供された指令により先験的に示されるように、前記キーの特別な１つを復号することを含む請求項２に記載の方法。
【請求項１７】
装置の生産中に、その装置への機密データの注入を遠隔的に制御するシステムであって、
暗号操作を実行するためのセキュアモジュールを有するコントローラと、
前記コントローラから離れて位置し、前記コントローラに順方向チャネルおよび逆方向チャネルにより接続されているサーバーであって、前記順方向チャネルは、データ送信を前記サーバーの第２セキュアモジュールへ提供するために前記コントローラにより使用され、前記データ送信は、前記機密データを暗号的に保護し、前記第２セキュアモジュールは前記送信から前記データを抽出するサーバーと、
前記データを前記送信から抽出した時点で、前記データを注入するために使用される機器と共に作動し、前記データを前記第２セキュアモジュールから取得するエージェントと、を備えるシステム。
【請求項１８】
前記第２セキュアモジュールは、前記機密データの使用に関するログレポートを用意し、前記ログレポートを、前記逆方向チャネルを介して前記コントローラに提供する請求項１７に記載のシステム。
【請求項１９】
前記コントローラは、それ自身と前記サーバーを構成し、前記ログレポートを監視するためのグラフィカルユーザーインタフェース（GUI）を更に備える請求項１８に記載のシステム。
【請求項２０】
前記第１セキュアモジュールは、前記データ送信のヘッダにおけるデータキーを暗号化するための暗号キーを備え、前記第２セキュアモジュールは、前記データキーを復号するための復号キーを備え、前記第２セキュアモジュールは、前記データキーを使用して前記送信を復号し、前記データを前記送信から抽出する請求項１７に記載のシステム。
【請求項２１】
前記コントローラは、前記データ送信を用意する前に、安全な方法で格納される前記データを格納するための第１データ格納装置を更に備え、前記サーバーは、前記送信から前記データを抽出する前に、前記データ送信を格納するための第２データ格納装置を更に備える請求項１８に記載のシステム。
【請求項２２】
前記データ送信を送ると、前記コントローラは第１ログ記録を生成し、前記第１ログ記録を、前記ログレポートとの後日の比較のために前記第１格納装置に格納し、前記データを前記機器に提供すると、前記第２セキュアモジュールは、前記データの前記機器への配信を示す第２ログ記録を生成し、前記第２ログ記録を、前記ログレポートに含むために、前記第２格納装置に格納する請求項２１に記載のシステム。
【請求項２３】
前記エージェントは、前記データの前記装置への注入を示す第３ログ記録を生成し、前記エージェントは、前記第３ログ記録を、前記ログレポートに含むために前記第２セキュアモジュールへ送る請求項２２に記載のシステム。
【請求項２４】
前記コントローラは、前記データを用意して保護する前に供給手順を実行し、前記供給手順は、前記サーバーと前記第１および第２セキュアモジュールを初期化するために使用される請求項１７に記載のシステム。
【請求項２５】
複数のサーバーを備え、前記コントローラは、前記データ送信を前記複数のサーバーに送ることにより、前記データ送信を送る前記請求項１７に記載のシステム。
【請求項２６】
前記コントローラにより生成され、前記第２セキュアモジュールにより安全に格納されたクレジットプールの値を更新するためのクレジット値を示すクレジット指令を更に備え、前記コントローラは、前記クレジット指令を前記第２セキュアモジュールに送り、前記クレジット値は、そこから前記第２セキュアモジュールが前記機密データを抽出できるデータ送信のデータ要素の数を表現している請求項１７に記載のシステム。
【請求項２７】
前記データ送信から前記データを抽出すると、前記第２セキュアモジュールは、前記クレジットプールからクレジットを消費し、それにより、前記クレジットプールの値を減少する請求項２６に記載のシステム。
【請求項２８】
前記第２セキュアモジュールにより、前記第２格納装置に格納された少なくとも１つの署名付きオブジェクトを更に備え、前記署名付きオブジェクトは、前記コントローラが既存のデータ注入ソリューションを実行するためのオブジェクトに署名し、前記署名付きオブジェクトを前記第２セキュアモジュールに送ることで作成され、前記既存のソリューションは、前記データを修正し、前記第２セキュアモジュールは、前記署名付きオブジェクトを検証し、前記署名付きオブジェクトが検証されると、前記既存ソリューションに従って前記データを修正し、前記修正されたデータを、前記装置に注入するための前記機器に送る請求項２１に記載のシステム。
【請求項２９】
前記データ送信は、前記第１セキュアモジュールが、複数の異なるタイプの機密データを含むことで用意され、前記第２セキュアモジュールは、前記コントローラにより確立された許可に従って、前記タイプのあるいくつかを取得する請求項１８に記載のシステム。
【請求項３０】
前記ログレポートは、前記タイプのいずれが前記第２セキュアモジュールにより、前記機器に提供されたかを示す表示を含む請求項２９に記載のシステム。
【請求項３１】
前記コントローラは、構成メッセージを生成して前記セキュアモジュールに送り、前記セキュアモジュールの設定を修正するときに使用する請求項１７に記載のシステム。
【請求項３２】
前記ログレポートは、前記コントローラが、前記サーバーまたは前記コントローラにより開始されるポーリングを使用して取得する請求項１８に記載のシステム。
【請求項３３】
前記コントローラは、前記第１ログ記録と前記ログレポートを比較して、前記ログレポートが適切なものであり、追加データが前記エージェントにより要求されている場合は、更なるデータ送信を行い、前記コントローラは、前記ログレポートが適切なものでない場合は、以前の送信のいずれからも、前記データの更なる抽出を禁じる指令を行う請求項２２に記載のシステム。
【請求項３４】
前記機密データは複数のキーであり、前記送信は、前記第１セキュアモジュールにより暗号化された前記キーを大量に含み、前記キーの特別な１つは、前記コントローラにより提供された指令により先験的に示されるように、前記第２セキュアモジュールにより復号される請求項１８に記載のシステム。
【請求項３５】
前記第２セキュアモジュールは、前記キーのブロックを受け取るとそれらを復号し、個々に各キーを再暗号化し、前記キーのあるいくつかは、前記エージェントによる要求があると、復号されて前記機器に使用される請求項３４に記載のシステム。
【請求項３６】
前記第１および第２セキュアモジュールは、順方向および逆方向通信チャネルを介して通信するための対称キーを含む請求項１７に記載のシステム。
【請求項３７】
複数の段階において、機密データの、装置への挿入を制御するモジュールであって、前記装置におけるデータフローを傍受して変換する暗号トランスフォームと、メモリに格納される暗号キーを備え、前記機密データの一部は、各段階において前記暗号キーに追加され、前記暗号キーの作動は、前記暗号トランスフォームの作動が成功するために要求され、前記装置は、前記暗号トランスフォームの作動が成功すると機能するようになるモジュール。
【請求項３８】
機密データの装置への挿入を制御する方法であって、前記装置におけるデータフローを傍受および変換するための暗号トランスフォームを有するモジュールを前記装置に含むステップと、前記装置の生産における複数の段階のそれぞれにおいて、前記モジュール内のメモリに格納された暗号キーへ、前記機密データの一部を追加するステップと、を含み、前記暗号キーの作動は、前記暗号トランスフォームの作動が成功するために要求され、前記装置は、前記暗号トランスフォームの作動が成功すると機能するようになる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的に、機密データを内部に有する装置の製造に関し、特には、そのような機密データをそのような装置に注入することを遠隔的に制御および監視することに関する。
【背景技術】
【０００２】
暗号的に安全な通信システムに関与する装置は、典型的に、製造時にその装置に注入された、あるタイプの固有かつ不変情報を有している。この情報は、暗号キー、共有秘密、あるいは、その装置の本質的に固有な属性に暗号的に結び付けることができる他のデータであってよい。そのような情報は、一般的には「キー」と称され、情報の注入は、一般的には、装置に対する「キーイング」、または「キー注入」と称される。
【０００３】
キーを注入する目的は、装置が配送された後の将来のある時点において、その装置が、安全通信システムの正規の参加者であると容認してもらうことを保証するためである。しかし、装置のプロデューサは、しばしば、装置が合法的に製造されることを保証したいと所望し、そのため、装置に注入されるキーを保護したいと所望するであろう。プロデューサは、キーの認証は、安全システムおよびその内容などに対して、条件付きアクセスを提供するので、典型的には、将来の利益を保護するためにキーを保護しようとする。注入されたキーもまた、それが装置のカスタマまたはユーザーが、装置を登録するために必要な冗長な手順を避けることを可能にするので重要である。
【０００４】
装置には、キーが信頼できるという暗号による認証に基づいて、システムへのそのような条件付きアクセスが認められる。この信頼は、信頼されるデータを製造工程の外部で複製することは非常に難しいという事実に基づいている。条件付きアクセスを提供するシステムは、例えば、衛星テレビおよびラジオなどのように、継続的に情報を放送するが、その内容へのアクセスを制御し、それによりそのような内容を提供することに対する利益を制御したいと所望するシステムが含まれる。これらのシステムは、製造工程および相手先ブランド供給業者（OEM）、特にキーの注入を信頼することにより、装置に対する、そして最終的には、安全通信システム全体に対する信頼の基盤が提供できる。
【０００５】
装置に注入されるキーは、標準フォーマットであることもあり、例えば、とりわけユーザーのPCからモニタにケーブルを介して送られるときにデータを保護するために使用される、HDCP（High Definition Content Protection）キーのように行政機関から購入できる。行政機関は、このように、装置のプロデューサに配信されたキーが保護され失われないように保証することに関心を有している。これは、プロデューサに対して責任を課し、注入されたキーを保護することに対する重要性を増大する。ある場合には、プロデューサ、キーの喪失またはキーの複製により罰金を科せられることもあり、キーを扱うときにこれらを無視しているという世評が立つと、行政機関は、キーの配信を制限または厳しくすることもある。この関係を維持することは、プロデューサにとってしばしば重要であり、キーが、装置が他の装置および／または基盤と互換性があるために必要な標準フォーマットである場合は特に重要である。この場合は、特別なキーを使用できなければ、装置は意図された通りには作動しない。
【０００６】
装置がどんどん複雑になり、高度化されていく最近のビジネス環境においては、個々の部品が１つの製造業者により製造されてキーイングされ、別の製造業者が後のアセンブリを受け持つということは普通である。そのような状況においては、装置のプロデューサまたは通信システムの所有者が、装置の製造業者ではないというあるセキュリティの関わり合いが存在する。したがって、装置のプロデューサにとっては、プロデューサの装置の完全性に対して責務がある製造システムの完全性を保証することは最も重要なことであり得る。
【０００７】
製造過程の完全性を考えるとき、特に関心のあるのは、製造業者が、製造されたユニットのアイデンティティと数を正確にプロデューサに報告することを保証することと共に、装置を製造するために使用された秘密情報の機密性に関する問題である。理想的には、装置のプロデューサは、製造業者が「グレー」または「ブラック」マーケット部品または装置を作成し、配送していないことの保証を得ようと試みるべきである。例えば、ある数のキーイングされた製品をプロデューサに送り返したが、なお、残ったキーを有している製造業者は、それらの余分のキーにより、装置を製造して販売できる。これによりプロデューサは、製造業者が販売から利益を得る一人なので、利益を失ったことになる。キーのクローンを作成したりキーを盗んだりすることも起こり得、それはキーイング工程が外部委託されているときは、検出または制御するのは難しい。ある場合には、キーがインターネットで発行され、ユーザーが、そのようなサービスに対して支払うことなく、条件付きアクセスシステムへのアクセスを得られることもある。
【０００８】
伝統的に、製造現場における情報注入段階の安全性に関心のあるプロデューサは、製造業者が、プロデューサの装置およびそのシステムの安全性に適切な考慮を払うような方法で作業していることを暗黙的に信頼する以外、ほとんど選択の余地はない。保護機構は一般的に単純であり、それは、キーイング情報は典型的には、大量に暗号化されて製造業者に送られ、そこでは到着すると、すべてのキーイング情報は直ちに復号され、そして製造業者は、大量の情報を損なわない信頼されているという機構であることによる。
【０００９】
キーイング情報へのアクセスを制限する１つの方法は、オンラインのクライアントサーバー機構を使用することである。そのような機構が適所にあれば、製造業者の設備におけるクライアントは、ネットワークへ接続され、プロデューサの制御下にある遠隔キー提供サーバーに対して、装置ごとのキーイング情報を要求する。
【００１０】
キーイング情報をそのようなジャストインタイム方式で提供する、オフサイトの、遠隔的にネットワーク化されたサーバーに依存する製造システムを実現することについては多数の問題がある。最も重要な問題は、それが公共パケット交換ネットワークを使用している場合は、オフサイトサーバーが、製造ラインに対して最低のサービスレベルまたは応答時間を保証できないということである。製造ラインにおける問題を回避するためには、待ち時間およびスループットという点におけるサービスのあるレベルは最適である。生産ラインがプロデューサに対して遠隔的な管轄内にあるという、現代の製造の現実を考慮すると、そのような保証されたネットワークの利用可能性は、とてつもなく高価なものになってしまう。
【００１１】
製造設備は、典型的には、データ材料も含めて、必要な材料がすべて手元に揃わない限り、生産運転を開始しない。そうでなければ、生産ラインの遅延のリスクはあまりにも高すぎる。製造業者により使用されるいかなるキーイングシステムも、実質的にサービスの利用可能性を保証し、適切な応答を提供できなければならない。これは、生産運転の開始前に、すべてのデータリソースとキーイング情報のローカルな利用可能性を必要とする。
【００１２】
すべてのデータリソースが、おそらくはコンピュータシステム上に、およびプロデューサの直接制御下にはない媒体に存在して、生産ラインに対してローカルに利用可能でなければならないことを考えると、プロデューサは、すべての秘密キーイング情報の機密性をどのように保証するかを考えなければならない。
【００１３】
製造運転を開始して終了するためには、十分なデータが、製造業者に対してローカルに利用可能でなければならない。プロデューサが、製造業者による許可されていない、契約に反する行為を発見したときには、プロデューサは、契約が切れた後に、そのような悪い製造業者が、グレーまたはブラックマーケット製品を生産することを防止する方法を考えなくてはならない。
【００１４】
複製に関する別の問題は、複製操作の特別なタイプである過剰生産に起因し、それは、シリコンチップのプロデューサにとっては、特別な関心事である。過剰生産は、集積回路（IC）のプロデューサが、彼らのIC設計の製造を、１つまたは２つ以上のサードパーティの製造会社に外部委託するときに起こり得る。製造ステップのある部分またはすべてを外部委託する目的は、製造工程においてある特別な段階を行うことに対して最善のコストを提供できるサードパーティを選択することにより生産コストを下げることである。例えば、設備を所有していない設計事務所（例えば、プロデューサ）は、海外の製造設備と、彼らが設計したチップの生産の契約をしたいと所望するであろう。そのような海外の製造設備は、相対的に低価格で電子機器を生産できるので選択されることがよくある。
【００１５】
しかし、外部委託は一般的に、特別な契約者が、グレーマーケットに供給するために、生産を契約した製品を過剰に生産するという危険性を増大する。例えば、契約者が信頼を裏切って、プロデューサから提供された設計からICを過剰に生産し、プロデューサにはそのように過剰に生産したことは報告しない場合は、余分な製品が、「贋物」または「複製」ICとして、グレーマーケットチャネルにおいて販売されるようになる。これによりサードパーティ製造業者は、特別な利益と蓄財を、カスタマ、つまりプロデューサ／設計者に対する将来の製品需要と利益を犠牲にして、実現できるようになる。
【００１６】
上記のようなことは、そのような状況においては、プロデューサは、生産フェーズの最初において、技術サンプルを受け取る以外に、製品を一切扱わないことがよくあるために起こる。従って、製造工程の各段階において、設計に続いて、部品と製品を盗み出す機会がある。ある場合には、忠実な契約製造業者の従業員が盗人である可能性もある。従業員が製造ラインから直接製品を盗むことによる「生産高の縮小」も起こり得る。これは、プロデューサと契約製造業者にとって、利益の喪失による不利益となるばかりでなく、将来の仕事を行っていく上でのプロデューサと製造業者の間の関係にとっても不利益となる。
【００１７】
従って、本発明の目的は、上記の不都合な点を除去あるいは緩和することである。
【発明の開示】
【００１８】
本発明は、製造工程の少なくとも一部に対して別のエンティティを使用したいと所望するプロデューサが、離れた場所から、装置の生産を監視し、保護できるようにするシステムと方法を提供する。
【００１９】
本発明はまた、過剰生産および生産高の縮小によるグレーマーケット製品を回避するために、異なるエンティティの間で、製品に機密データを追加することを分離するための手段も提供する。
【００２０】
１つの形態において、本発明は、装置の生産中に、装置に機密データを注入することを遠隔制御するための方法を提供する。本方法は、コントローラが機密データを用意し、データ送信において、機密データを暗号化して保護するステップと、コントローラが、データ送信を、暗号化操作を実行するセキュアモジュールを有するサーバーに対して送るステップと、セキュアモジュールが、データ送信から機密データを抽出するステップと、サーバーが、装置に注入するための機器に機密データを提供するステップを含み、コントローラは、サーバーから離れて位置している。
【００２１】
別の形態においては、本発明は、装置の生産中に、装置に機密データを注入することを遠隔制御するためのシステムを提供する。本システムは、暗号操作を実行する第１セキュアモジュールを有するコントローラと、コントローラから離れて位置し、コントローラに、順方向チャネルと逆方向チャネルにより接続されているサーバーであって、ここにおいて、順方向チャネルは、データ送信をサーバーの第２セキュアモジュールに提供するためにコントローラにより使用され、データ送信は暗号的に機密データを保護し、第２セキュアモジュールは、送信からデータを抽出するという、サーバーと、送信からデータを抽出すると、データを注入するために使用される機器と共に作動し、第２セキュアモジュールからのデータを取得するエージェントを備える。
【００２２】
更に別の形態においては、複数の段階において装置に機密データを挿入することを制御するためのモジュールが提供される。本モジュールは、装置におけるデータフローと、メモリに格納されている暗号キーを傍受して変換する暗号トランスフォームであって、それぞれに段階において、機密データの一部が暗号キーに追加され、暗号キーは、その操作のためにトランスフォームにより使用されるという、トランスフォームを含み、暗号トランスフォームは、機密データの挿入が成功すると、データフローを正しく変える。
【００２３】
更に別の形態においては、装置への機密データの挿入を制御するための方法が提供される。本方法は、装置におけるデータフローを傍受して変換するための暗号トランスフォームを有するモジュールを装置に含むステップと、装置の生産における複数の段階のそれぞれで、モジュールのメモリに格納された暗号キーへ機密データの一部を追加するステップを含み、暗号トランスフォームは、機密データの挿入が成功すると、データフローを正しく変える。
【発明を実施するための最良の形態】
【００２４】
図１を参照すると、遠隔装置登録または信頼されたキー注入システムの全体が、参照番号１０により示されている。装置２２のプロデューサ１２は、別のエンティティ、この場合は外部の製造業者１４、のサービスを利用して、固有および不変の情報を装置２２に注入する。この情報は、暗号キー、共有機密、または、装置２２の本質的に固有な属性に暗号により結び付けることができる他のデータであってよく、以降は、「キー」と称される。このキーを装置２２に注入することは、以降は、「キーイング」または「キー注入」と称される。
【００２５】
プロデューサ１２は、製造業者の設備から離れたコンピュータシステムであるコントローラ１６を利用する。このコントローラ１６は、ハードウェアセキュリティモジュール（HSM）１１を含む。HSM１１はコントローラ１６により使用される保護された装置であって、暗号化、復号化、または署名のような、暗号によるセキュアな操作を実行する。HSM１１は改竄に対して耐性がある（例えば、物理的にアクセスが困難）または改竄に反応できる（例えば、改竄されるとデータを消去する）。コントローラ１６は、製造業者１４によるキーの配信および使用を監視すると共に、製造業者１４に対してキーおよび他の情報をパッケージ化して搬送することに対して責任がある。プロデューサ１２は、典型的には、例えば、HDCPキーのプロデューサである行政機関のような外部のソースから大量のキー（図示せず）を取得する。キーは、特別な製造業者１４に配信されるまではデータ格納装置１５に格納される。コントローラ１２およびその操作は、監視および修正でき、それによりオペレータがグラフィカルユーザーインタフェース（GUI）１３を使用して制御できる。GUI１３は、典型的には、パーソナルコンピュータ（図示せず）を使用して表示されて相互作用するソフトウェアアプリケーションである。
【００２６】
コントローラ１６は、パイプライン２３を介して、製造業者１４に存在するサーバー１８に接続される。パイプライン２３は２つの順方向通信チャネル、つまり、制御チャネル２６と配信チャネル２５と、１つの逆方向チャネル２４を含む。制御チャネル２６はコントローラ１６により使用され、クレジット指令を送ることにより、製造業者１４が使用できるキー数を計量する。配信チャネル２５はコントローラ１６により使用され、製造業者１４に対して、保護されたキーのブロックを配信する。逆方向チャネル２４はシステム１０により使用され、コントローラ１６に、報告および監査の目的でキーの使用を知らせる。チャネル２４、２５、および２６は、任意の通信チャネルであってよく、信頼性または安全性は要求されない。チャネル２４、２５、および２６に対する信頼性および安全性は、技術機構および工程／手順の組合せを使用して提供される。例えば、順方向チャネル２６を使用してモジュール１８に送られたメッセージが改ざんされていて復号できない場合は、ユーザーはシステムコントローラモジュール１６のオペレータに電話して、メッセージを再び送ってもらえる。
【００２７】
製造業者１４は、製造業者の設備に対してはローカルであり、その動作は、コントローラ１６から送られるメッセージを介して監視され計量されるコンピュータシステムである、1つまたは2つ以上のサーバー１８を利用する。サーバー１８はまた、逆方向チャネル２４を介してコントローラ１６に報告を送り返す。サーバー１８は、コントローラ１６により利用されるHSM１１に類似のHSM２８を含む。HSM２８は、製造業者１４がいくつのキーを使用できるかを決定する、保護されたクレジットプール３０を格納する。キーの使用は、コントローラ１６が、サーバー１８から報告されたデータを監視し、それに従って、クレジットプール３０に追加またはそこから減算することにより計量される。クレジットプール３０は、サーバー１８がコントローラ１６から、更にキーを要求して取得しなければならなくなる前に、HSM２８により復号できるキー数を表現する抽象概念である。コントローラ１６は配信チャネル２５を介してサーバー１８へキーを配信し、サーバー１８はそのキーを、下記により詳細に説明するように、ローカルデータ格納装置１７に格納する。
【００２８】
製造業者１４は、暗号キーを装置２２に注入するために使用される1つまたは2つ以上の機器２０を利用する。典型的にキーイングは、製造工程のテスティングフェーズの間に起こり、そのため、機器２０は、アセンブリライン上のテスティングマシンであることがよくある。機器２０はキーエージェント２１を含み、キーエージェント２１は典型的には、アプリケーション側におけるキー注入を管理するために使用される機器２０にロードされるソフトウェアプログラムまたはツールキットである。キーエージェント２１はサーバー１８と通信して、キーが必要になったときにそれを要求して取得する。典型的には、サーバー１８は、生産工程のタイミングを妨害しないように、十分なキーをキーエージェント２１に提供する。しかし、サーバー１８は、クレジットプール３０を介して計量された通りであるというキーイングの承認がコントローラ１６により提供されるまで、キーの使用を制限するために不要な数のキーは提供しない。
【００２９】
典型的にはキーエージェント２１は、生産を妨害しないように、特別な機器２０によりキーの新しい束がいつ必要かを示す閾値レベルを有する。コントローラ１６は典型的に、サーバー１８とは常に通信状態にあるわけではないので、コントローラ１６は、そのパラメータを調整して、サーバー１８を介して、十分なキーイング材料を機器２０が利用できるようにすることを保証し、一方では、コントローラ１６が、下記により詳細に説明するように、サーバー１８からのキー使用レポートを取得できる前に、サーバー１８により多すぎるキーデータがリリースされないようにすることも保証する。
【００３０】
キーエージェント２１は好ましくは、機器２０上で起動して、機器自身のオペレータが手動または自動化された方法でキーを要求できるようにするアプリケーションプログラムインタフェース（API）を含む。キーエージェント２１は、サーバー１８と機器の間のデータ受渡しに対する保護のレベルを提供するために使用され、サーバー１８と機器の間の簡易セキュアソケットレイヤ（SSL）と考えられる。リソースに余裕があれば、キーエージェント２１は、それ自身とサーバー１８の間のSSL接続を使用して実装することもできるとういうことは理解されよう。キーエージェント２１はまた、キーが使用されるときのレポート記録を生成することにも責任があり、その記録は、報告目的のためにサーバー１８に送り返される。
【００３１】
コントローラ１６は、製造業者１４によるキー注入を監視および計量するためのコマンドセンターである。遠隔地からキーイングを制御するために、GUI１３は、オペレータにより使用されて、コントローラ１６の制御下にある製造業者１４、サーバー１８、および機器２０それぞれを監視および構成する。例としてのGUI１３が図２に示されている。GUI１３は、サーバーウィンドウ２００、コントローラウィンドウ２０４、および機器ウィンドウ２０２に分割される。サーバーウィンドウ２００は、コントローラ１６により制御される製造業者１４の、そしてサーバー１８のリストを含んでいる。特別なコントローラ１６はコントローラウィンドウ２０４に示されている。オペレータは、特別な製造業者（例えば、図２に示されている製造業者Ａ）を選択でき、その製造業者に関連付けられている機器２０は、機器ウィンドウ２０２に表示されている。
【００３２】
図２に示す例において、製造業者Ａにおけるサーバーは、サーバー１、サーバー２、およびサーバー３に関する情報を提供するウィンドウを備えている。各サーバーは、それに関連付けられたあるデータを有している。例えば、図２に示されているように、各サーバーは、それらの利用できる格納スペースと、利用できるクレジットと、キータイプ１とキータイプ２のそれぞれに対して利用可能なキー数を示す進捗バーを含む。各テスターウィンドウもまた、前回のレポートが処理された日付、前回報告されたクレジット、前回の補充量、および失われたログ記録に関するデータなどのログ情報を表示する。サーバーウィンドウはまた、オペレータに対して、コントローラ１６から遠隔的にサーバー１８を構成し、それを使用不可にするためのオプション２１４および２１６を提供する。
【００３３】
コントローラ１６は、サーバー１８を遠隔的に構成できる機能を有している。これにより、コントローラ１６は、キータイプを変更し、キータイプを追加または削除し、他の構成オプションを制御できる。これは好ましくは、構成メッセージを、制御チャネル２６を介してサーバーHSM２８に送ることにより達成される。HSM２８は構成メッセージを評価でき、それにより、ある構成メッセージはHSM２８の動作を変更し、他の構成メッセージはサーバー１８に送られる。この方法を使用して、HSM２８を介してサーバー１８へ送られた構成メッセージは、サーバー１８が、信頼でき、コントローラ１６から発せられたことが知られている構成指令を得ることを保証する支援ができる。
【００３４】
コントローラ１６は、キーエージェント２１を介して、サーバーレベルまたは機器レベルでシステム１０を遠隔的に構成できる。コントローラ１６はサーバー１８のポーリングを強制し、定期的ポーリングの間隔を調整できる。典型的には、サーバー１８は固定の間隔でポーリングされ、コントローラ１６は、強制ポーリングを利用して、必要であれば、それらの間隔の間において情報を取得できる。例えば、１日間隔の場合、コントローラ１６は、日中に管理者への報告のためにデータが必要になることがある。その場合、すべてのサーバーのポーリングを強制してそのようなデータを取得できる。GUI１３は、コントローラ電子メールオプションもまた含むことができ、それにより、コントローラ１６は、重要な生産運転における復号または配信の失敗のような、極端な状況において管理者と自動的に連絡が取れる。
【００３５】
サーバー１８に配信され、機器２０により装置２２に注入された各キーは、あるイベントにおいてあるログ記録をトリガーする。GUI１３を使用して、ログ記録を検索、分類、コンパイル、および分析して、図８に示されているようなカスタムまたは標準レポート４００を調べることができる。この例においては、生成された３つの主なログ記録がある。キーからサーバーへのログ４０２は、キーがプロデューサ１６によりサーバー１８に配信されるときに生成され、キーからエージェントへのログ４０４は、それがキーをキーエージェント２１にリリースする時点でHSM２８により生成され、キー注入ログ４０６は、キーの注入の際にキーエージェント２１により生成される。各ログ記録は、IDタイプ、日付スタンプ、製造業者、機器などを含む、いくつもの数の識別情報を含むことができる。図８に示されている例としてのレポートにおいては、レポート４００は、シーケンスID＝001を有するキーに対する、キーからサーバーへのログ４０２、キーからエージェントへのログ４０４、キー注入ログ４０６を示している。これらの記録は、そのようなシーケンスID番号を有するキーのライフサイクルを追尾するために使用できる。レポート４００は、任意の数の記録を含むことができ、任意の適切なフィールドに基づいてフィルタ処理できることは理解されよう。例えば、５月３日に、製造業者Ａにおいてテスター２により注入されたすべてのキーを示しているレポート４００は、日付フィールドおよび位置フィールドをフィルタ処理することでコンパイルできる。
【００３６】
ここで図３を参照すると、プロデューサ１６は、配信画像４０を使用して、サーバー１８へ好ましくは暗号を使用して送られるセキュアデータ送信において、大量のキーのセットをパッケージ化できる。配信画像４０により、プロデューサは、１つの送信で、複数のサーバー１８を目的地とする複数の製品に対するキーを含むことが可能になる。そして、各サーバー１８は、ある数のキーを復号して取得できるが、それは、制御チャネル２６を介してコントローラ１６から、HSM２８により認証を受けた後である。この画像４０は、データ記録の集合したものであり、各記録は、タイプ５８、ID６０、サイズ５４、およびデータ５６のフィールドを含んでいる。データ５６は典型的に、サイズ５４により識別される任意のサイズのキーデータを含む。タイプ５８とID６０フィールドはHSM２８により使用されて、あるキーのフィルタ処理に使用できる可能性のあるキーデータを、以前に制御チャネル２６を介して指令されたように、HSM２８の構成に依存して識別する。キーは、実装するときに、ターゲットに対してキーが実際はどのように見えるかを心配することのないようにカプセル化できる。これにより、各新しいキータイプに対して再設計する必要なく、キーに柔軟性および拡張性を与えることができる。ラッパーは、その本体がアブストラクトであり、タイプ、サイズおよび固有IDを含むべきである。ラッパーはまた、抽象化された画像へのログインまたは変数割り付けのような、より高度な特徴をサポートするための要素を含むことができる。
【００３７】
画像４０は、画像キー４２により暗号化される。画像キー４２は、画像４０を復号してキーを取得するためにサーバー１８により使用される。画像キー４２はそれ自身が各サーバー１８に対して暗号化されて、サーバーヘッダ４８として格納される。サーバーヘッダ４８の収集体４４は、主要ヘッダ４６に格納される。画像４０を復号してキーを取得するために、ヘッダ４８はサーバー１８により選択され、HSM２８により復号されて、画像キー４２が取得される。そして、画像キー４２は、画像４０を復号するために使用される。
【００３８】
前述したように、配信画像４０は、複数の製品をサポートするために使用できる。図７も参照すると、製品タイプとデータブロックのマッピングが示されている。例えば、プロデューサ１６は、３つの製品、つまり、キー１を利用するガンマ（フィルタタグ１を有する）、キー２（フィルタタグ２を有する）および付随する構成ブロック（これもまたフィルタタグ２を有する）を利用するベータと、キー１、キー２、および構成ブロックを利用するアルファを有する。画像４０は、大量のキータイプ１とキータイプ２を含むことができ、ガンマおよびベータ製品は、アルファ製品ほど複雑ではない。プロデューサ１６は、単一の画像４０を、例えば、各ブロックに対して５０のデータでパッケージ化でき、それにより、あるテスター（例えば、テスター１）は製造の許可を得て、５０の製品アルファを生産するための、５０のフィルタタグ１および２が得られる。別のテスター（例えば、テスター２）は、同時に製造の許可を得ることができ、画像４０から５０のフィルタタグ１を得て５０の製品ベータを生産し、５０のフィルタタグ２を得て、製品ガンマを製造できる。画像４０は、複数のタイプのキーを含むことが可能で、キーイングデータのすべてを含むことができ、任意の製品タイプの単一製品を生産できる。テスターは、プログラムされている製品のタイプまたは製品モデルを、サーバー１８に対して識別する。このモデル情報は、暗号化された画像４０と共にHSM２８に送られ、その結果、HSM２８が画像４０を復号するときに、キーデータ５０は、フィルタ処理され、識別された製品モデルをプログラムするために必要なキーデータのみが、HSM２８によりテスターにリリースされる。従って、プロデューサ１２は、単一の画像４０により複数の製品をサポートでき、一方、製造業者１４が、製造されると考えられている製品しか製造できないことを保証する手段を取ることができる。
【００３９】
画像４０は複数の製品をサポートできるので、ログ記録は、テスターにおいて実行された実際のキー注入を追尾するために使用され、これは下記により詳細に説明する。ログ記録を追尾することにより、プロデューサ１６は、例えば、製造業者１４が、５０の製品アルファ（彼等はこの製品の生産に対して支払いを受けている）の代わりに、製品ガンマを送ってきて、それにより、５０の製品ベータを、グレーまたはブラックマーケットに販売できたかどうかの検出を試みることができる。そのような不一致が悪意であろうがなかろうが、いずれにせよ、合理的に識別できる。
【００４０】
配信チャネル２５を介しての配信から、HSM２８が逆方向チャネル２４を介してコントローラ１６に報告するまでのキーの典型的なライフサイクルが図４に示されている。図４においてハイライトされているブロックは、セキュアモジュール、つまりHSM１１およびHSM２８により実行されるステップを表現している。コントローラ１６はまず、外部の供給者から大量の標準キーを取得する。そして、キーをHSM１１に渡し、HSM１１は、各ブロックが測定された量のあるキータイプを含む、キーのブロックを暗号化する。キーは、２つ以上のキータイプを有するブロックに大量に暗号化できるということは理解されよう。そしてコントローラ１６は、キーのブロックを配信することを示す命令または他のコマンドを受け取るまで、大量に暗号化されたキーを格納装置１５に格納する。
【００４１】
プロデューサ１６がキーのブロックを配信するとき、まず大量に暗号化されたブロックを取得し、このブロックをHSM１１に渡す。HSM１１は、このブロックを復号し、画像キー４２により、送信のためにキーのブロックを再暗号化する。画像キー４２はそれ自身、各サーバー１８に対して暗号化され、個々のヘッダ４８を生産する。これらのヘッダ４８は、主要ヘッダ４６のグループ４４に格納される。この時点においてHSM１１は、配信のために再暗号化されたキー用の、キーからサーバーへのログ４０２を生成する。ログ４０２は、後の分析のためにプロデューサ１２においてローカルに格納される。そして、再暗号化キーブロックは配信チャネル２５を介してサーバー１８に配信される。
【００４２】
サーバー１８は、画像４０に含まれる暗号化キーブロックをHSM２８に渡し、HSM２８は、画像４０を復号する。HSM２８はまず、その特別なヘッダ４８をグループ４４から選択して、画像キー４２を復号する。そして、画像キー４２は復号されて、画像４０からキーが取得される。その後、画像４０は好ましくは、例えば、セキュアハッシュアルゴリズム、MAC、またはデジタル署名を使用して正当性が確認され、フィルタ処理される。HSM２８はまた格納のために、画像４０から取得した各キーを再暗号化する。サーバー１８は、再暗号化キーを、機器２０による後の使用のために、ローカルに格納する。画像４０の正当性は、コントローラ１６とサーバー１８の間で共有される固有対称配信キーKs1およびKs2に基づいて仮定されているということは理解されよう。それらの間で共有されるメッセージは、例えば、sha-2ダイジェスト比較の後のように、完全性チェックが成功して実行されれば、正当なものと考えることができる。
【００４３】
コントローラ１６が機器２０から、ある数のキー（例えば、Ｎ個のキー）の要求を受け取ると、HSM２８は、復号のためのＮ個のキーが与えられる。そして、キーからエージェントへのログ記録４０４が、HSM２８により復号されるＮ個のキーそれぞれに対して生成され、キーは注入のために機器２０に渡される。この時点において、キーは「クリア状態」にあり、注入の準備ができる。
【００４４】
機器２０は、Ｎ個のキーのそれぞれを注入し、キーエージェント２１は、キー注入ログ記録４０６を、注入されるキーそれぞれに対して生成する。HSM２８は、連続してキーからエージェントへのログ記録４０４と、キー注入ログ記録４０６を取得し、好ましくは、これらの記録を連結してマスターログレポートＲにし、それを逆方向チャネル２４を介してコントローラ１６に送り返す。
【００４５】
個々のログは好ましくは、バイナリファイルに連結され、バイナリファイルはそのファイルが生成された日付を識別する。レポートＲは好ましくは、暗号キーＫ1を使用してHSM２８により暗号化されて、サーバー１８上で起動しているアプリケーションに返され、逆方向チャネル２４を介して送られる。そして、コントローラ１６はレポートＲを復号でき、個々のログ（例えば、４０２、４０４、４０６）の正当性を確認できる。各ログは、単調同期数によりタグ付けされる。まとめられたすべての記録ＩＤ値が、連続する値のセットでない場合は、コントローラ１６のオペレータは、シーケンスにおいて不明のログをどこで追尾すればよいかを知ることができる。
【００４６】
上述したように、コントローラ１６は、以前に、それが配信されたときに、Ｎ個のキーに対して、多数のキーからサーバーへのログ記録４０２有している。従って、コントローラ１６は、将来のある時点において、最初に配信されたキーは復号され、正しいサーバー１８により、正しい装置に注入されたことを示す、各キーに対するライフサイクルを完了するレポートＲを受け取ることを期待する。コントローラ１６は、このようにして、ログレポートが提供されたときにそれを評価できる。そして、コントローラ１６は、製造作業への介入（例えば、配信の停止）、更にキーを提供するなどの行動を取る必要があるかどうかを判定できる。コントローラ１６は、更なるキーブロックを配信する前に、更なる情報もまた要求できる。このようにして、コントローラ１６は配信を計量でき、製造業者が忠実に作業を進めていて、正確なログ記録を一貫して提供しているときのみ更にキーを提供できる。
【００４７】
ログ記録（例えば、図８に示されているような）により、プロデューサは、ID番号のシーケンスにおける不連続性を突き止めることができる。例えば、多数のキーが配信されたが、キーからエージェントへのログまたはキー注入ログを報告していなければ、製造業者はそのキーを失った可能性がある。これは、グレーまたはブラックマーケット活動の可能性を示している。別の状況では、レポートＲは、特別なキーに対しては、キーからエージェントへのログ４０４を含むことができるが、キー注入ログを含むことができないことがある。これは問題が、製造業者１４それ自身ではなく、キーを要求した特別な機器において発生した可能性を示している。従って、製造業者１４は、目的を監査するためにログ記録Ｒを使用して内部の悪意のある行動を識別し、プロデューサ１２との関係を維持するようにできる。各キーのライフサイクルは、キーに対して操作が行われる各重要な段階においてレポート記録を要求する。従って、プロデューサ１２は、問題がどこで起きたかを識別して、そのような問題を補正または削除するような努力を指示するために必要な情報を有している。好ましくはログ記録は、キーに対するシーケンス番号だけでなく、キータイプにも関連する情報を含む。このようにして、プロデューサ１２は、ガンマおよびベータ製品が生産されてから、アルファ製品は委託されたかどうかを判定できる。
【００４８】
ログレポートは、製造業者１４による悪意のある、または倫理に背く行動を防ぎ、かつ存在する製造業者１４の完全性を評価する手段と、いかなる望ましくない行動に対する証拠を提供するツールとを提供する情報を提供する。望ましくない行動を検出する際の明白な証拠を使用することにより、プロデューサ１２は、疑い以上の確信を持って製造業者１４と相対することができ、禁じられた行動がテスターレベルで起きていた場合（例えば、従業員であり、会社自身ではない場合）は、プロデューサ１２と製造業者１４の間の重要な関係を回復することができる。
【００４９】
配信に加えて、コントローラ１６は制御チャネル２６を使用して、クレジットプール３０を制御し、これによりキー注入段階を計量する。クレジット指令手順は、図６に示されている。HSM２８は、配信画像４０を復号してキーを得るときは、クレジットプール３０からクレジットを消費しなければならない。時間が経つと、クレジットプール３０は減少し、コントローラ１６から送られるクレジット指令ファイルにより補充する必要がある。
【００５０】
コントローラ１６は、制御チャネル２６を介して、一度に１つの制御メッセージCのみを送る。このメッセージに含まれる、要求されるファイルの１つは、好ましくはクレジット指令ファイルである。このファイルは、特別なサーバー１８に対する暗号化されたデータのセットであってよく、HSM２８によりクレジット指令に復号される。このクレジット指令は、例えば、HSM２８および／またはサーバー１８のシリアル番号、サーバーのトークンID、シーケンス番号、新しいクレジット量、および構成データを含み、これらはすべてコントローラ１６により署名されている。
【００５１】
制御メッセージCを受け取ると、HSM２８は、制御メッセージCからクレジット指令データを復号し、署名の正当性を確認する。HSM２８はまた、可能であれば、それ自身のシリアル番号とトークンIDの正当性を確認する。そしてシーケンス番号の正当性の確認が実行される。シーケンス番号は、HSM２８内部に格納されたシーケンスよりも大きくなければならない。いったんその正当性が確認されると、HSM２８は、その内部のシーケンス番号を更新し、クレジットプール３０の値を、クレジット指令内のクレジット値に設定する。
【００５２】
そしてHSM２８は、制御メッセージC内の任意の構成メッセージを処理してその内部構成を更新し、それにより、コントローラ１６は、フィルタ処理ルールの更新、キーイング情報、クレジットルールなど、GUI１３に関連して上記で説明した構成データをサーバー１８に送ることができる。構成データはHSM２８、サーバー１８上で起動しているアプリケーション、またはキーエージェント２１に対しても意図されたものであってよい。HSM２８は、定義されたタイプの構成メッセージを探してそれらを処理する。構成データは、私的または公共と印を付けることができ、そこへのアクセスは、HSM２８により制御される。
【００５３】
クレジットレポートCrは、制御メッセージCのクレジット指令の処理に対する応答である。クレジットレポートCrは、シリアル番号とHSM２８のトークンID、現在のシーケンス値、クレジットプール３０の現在の値、現在までの補充回数、およびクレジット指令処理の間にエラーが起きなければゼロに設定されるエラーコードを含むことができる。
【００５４】
クレジットレポートCrは好ましくは、HSM２８がその署名キーk2を使用して署名される。そしてレポートCrは、コントローラの公開暗号キーk3を使用してコントローラ１６に対して暗号化される。レポートCrは、この後、コントローラ１６に送られ、上述した監査目的のためのログレポートRと共に格納される。
【００５５】
キーの配信に先立ち、プロデューサ１２と製造業者１４は、HSMとサーバー１８を初期化するための供給手順を経験できる。供給手順は図５に示されている。HSM２８は供給要求メッセージPを生成してコントローラ１６に送る。このメッセージPは好ましくは、サーバー１８により使用されているHSM２８のシリアル番号を含む。HSM２８は２つの暗号キー対k1、k2を生成し（例えば、RSAキー対、または好ましくは、楕円曲線暗号（ECC）を使用して）、１つ（k1）は暗号化されたメッセージを受け取るため、他の１つ（k2）は、送られるメッセージに署名するためである。好ましくは、製造業者１４は、キー対k1とk2のこの交換の間に、物理的に制御された環境に暗号的にブートストラップされる。
【００５６】
コントローラ１６がサーバー１８から供給要求を受け取ると、その要求をHSM１１に渡し、HSM１１はメッセージの完全性をチェックし、製造業者１４に「トークンID」を割り当てる。２つのキー、好ましくは対称キーks1とks2（例えば、AES（Advanced Encryption Standard）キー）が生成される。これらのキーはコントローラ１６とサーバー１８により使用され、上述したように、配信チャネル２５上の配信画像４０と、逆方向チャネル２４上のログレポートRを保護する。
【００５７】
そしてHSM１１は、例えば、割り当てられたトークンID、HSM暗号の公開キーおよび署名キー対k3とk1それぞれと、配信および逆方向チャネル対称キーkｓ1とkｓ2、ある初期構成データ、および完全性のためのハッシュダイジェストを含む供給応答メッセージP’を生成する。供給要求メッセージPと同様に、供給応答メッセージP’は、物理的に制御された環境において扱われる（例えば、HSM保護を使用して）。
【００５８】
そして供給応答メッセージP’はサーバー１８に送られ、サーバー１８は、その第１供給要求を受信すると初期化操作を実行できる。供給応答の構造は、コントローラ１６とサーバー１８の間の順方向および逆方向チャネル通信に対する対称キーを含む分離構造に復号するメンバーを含むことができる。これらのキーは、各HSM２８（そして各サーバー１８）に対して区別されており、HSMのグループ間では共有されない。いったん供給手順が完了すると、配信画像４０と制御メッセージCの通常の交換が開始できる。
【００５９】
図９に示される別の実施形態においては、システム１０を、キー注入段階を保護するために、製造業者１４により実装された既存のソリューションに後付けできる。図９に示される実施形態において、同じ構成要素には、同じ参照番号に接尾文字「a」を付けている。例えば、製造業者１４は、文字列「BCA」を「ABC」に変換するスクランブラ７４を既に含む機器２０ａを有することができ、装置２２は、注入されたキーとしてABCを容認するために接続されている。このように、キー「BCA」が盗まれ、または違う場所に置かれた場合は、スクランブリングが起こらないので、装置２２ａに対しては機能しない。キーを保護するこれらの試みは、実装は容易であるが、典型的に単純であり、保護の適切なレベルを提供しない。そのような保護機構を取り込むことにより、システム１０は、既に実装されている既存のソリューションを元に戻すことなく機器２０ａに後付けできる。従って、システム１０を実装することによる製造業者１４への追加コストを回避できる。後付けは、図１に示されている配置が使用できる、完全な再設計が保証されるまで実装できる。
【００６０】
既存のソリューションを取り込むために、システム１０はサーバー１８において、特別な機器２０ａに関連付けられた実行可能ファイルの収集体であり、HSM２８がキーをリリースした後、そしてキー注入の前に既存のソリューションを実行する、署名付きオブジェクトのセット７２を格納している。このようにして、キーは、機器２０ａに知られることなく、既存ソリューションを取り込むために変更される。図９に示されているように、コントローラ１６はまず、機器２０ａにより既存ソリューションを提供するために使用される実行可能ファイル（exe）にアクセスする必要がある。そして、コントローラ１６ａは、exe７０をHSM１１ａに渡す。HSM１１ａは、exe７０に署名して、署名付きexe７０をHSM２８ａに渡し、HSM２８ａは署名付きexe７０を、署名付きオブジェクト７２として格納する。動作において、機器２０ａがキーの新しい束を要求すると、サーバー１８ａはexeを、HSM２８ａに格納されているexeの署名に対してその正当性を確認する。サーバー１８ａがいったんexe７２の正当性を確認すると、そのexeキーをスクランブルするために送る。
【００６１】
例えば、機器２０ａは、キーBCAを装置２２ａのスクランブラ７６に供給して、キーABCが製品アルファに注入されるように要求する。HSM２８ａは、製品アルファが、キーABCを修正するための署名付きオブジェクトexe Aを有していると判定する。署名付きオブジェクトexe Aは検証されて、キーABCに適用され、スクランブルされたキーBCAという結果になる。そして、スクランブルされたキーBCAは機器２０ａに送られ、スクランブラ７６はキーBCAを修正して、それがキーABCを注入するようにする。機器２０ａは、キーBCA（受け取ったもの）がサーバー１８ａによりABCという保護された形式で格納されたことは認識しない。サーバー１８ａにより格納されたキーは、CABのような形式であってもよく、スクランブリングのためにBCAとして読まれるように修正され、注入のためにABCと変換されてもよいことは理解されよう。そのようなことは、キーCABが標準形式であり、CABがキーとして容認されない既存ソリューションに適合するために修正されなければならないときに起こる。従って、署名付きオブジェクト７２は、機器２０ａにより実装された既存ソリューションを取り込むために必要なプログラムは如何なるものでも含み、上記の例は、例示のみの目的のためである。
【００６２】
署名付きオブジェクト７２は、署名付き実行ファイルは典型的に、キーに適用される前に、マシンへリリースされるキーに対して検証されているので、悪意のあるコードがサーバー１８ａにロードされて注入前にキーを修正することも防止する。システム１０は、このように、既存ソリューションを取り込みながら、セキュリティのより増大されたレベルを提供できる。
【００６３】
従って、サーバー１８から分離したリモートシステムコントローラ１６を利用することにより、プロデューサ１２は、製造業者１４の行動を監視でき、HSM２８を介してクレジットを計量できる。プロデューサ１６はこのように、キーイング情報を装置２２に注入することを管理でき、製造業者１４がアイデンティティと製造されたユニット数をプロデューサ１２に対して正しく報告することを保証できる。これにより、プロデューサ１２は、製造業者１４がグレーまたはブラックマーケット製品または装置２２を作成して配信していないという保証を有することができる。
【００６４】
上記の手順と、適切に配置されたシステム１０により、プロデューサ１２は、製造業者１４における生産を監視できる。プロデューサ１２は、制御メッセージCにおけるクレジット指令を使用して、製造業者１４により使用できるクレジットを追加または除去することにより装置２２の製造を計量できる。
【００６５】
システム１０は、図１に示されているように１つの製造業者１４に制限されるわけではなく、また各製造業者１４は１セットの機器２０に制限されるわけではないことは理解されるであろう。システム１０は、単一のコントローラ１６の使用にも制限されていない。HSM２８は、キー値と、クレジットプール３０の完全性を保護するための最も好ましい信頼できるハードウェアである。更に、配信画像４０に含まれるキーイング情報は、必ずしもキーイング情報である必要はなく、機密性と認証を要求する如何なるデータ要素であってもよい。キーイングデータの必要条件は、装置の起動の精度を補強しようと望むシステム１０に典型的である。
【００６６】
図１０−１４に例示され、下記により詳細に記述される代替の機構においては、過剰生産は、シリコンまたは装置製造工程内で、責務の分離を導入することで防止できる。典型的には、プロデューサ１２は、製造の種々の段階を複数の契約者に外注する。一般的に、責務の分離は、シリコンチップまたは他の装置に対する製造段階を意図的に分離することに関連し、それにより、最終製品が各下請契約者により「接触」されなければならず、それにより最終製品が完全に機能するようにするためである。グレーマーケットは典型的には、製造チェーンにおける単一の不履行より、または単独の背信契約者により供給されるので、複数の契約者に順々に作業してもらうことを強制することは、グレーマーケットに正常な副構成要素または装置を供給するためには、２人以上の下請契約者がプロデューサ１２に対して共謀しなければならないことを意味する。最終製品およびその副構成要素は、完全に機能するためには、すべての製造段階を完了しなければならない。一般的に、プロデューサ１２に対する攻撃の危険性は、複数の下請契約者が盗みのためには共謀することを要求されるときは大幅に減少する。
【００６７】
シリコンウェーハーの生産において、典型的に数段階が発生し、それらはしばしばいくつかのサードパーティの製造業者に分割される。チップを設計するプロデューサ１２は、その設計をデータファイルまたは複数のデータファイルにおいて作成し、それらはしばしば「ネットリスト」と称される。ネットリストは記述言語を、サードパーティにマスクを、そしてその結果、そこからICがパッケージ化されて配送されるシリコンのウェーハーを、どのように生産するかを指令するコンピュータコードの形式で含む。
【００６８】
例えば、例としての製造工程において、マスクはプロデューサ１２からシリコン制作者に送られ、その制作者はマスクからシリコンウェーハーを製造する。ウェーハーは、ウェーハーテスティング設備に送られ、そこで個々のチップがウェーハー上で直接テストされ、電子的に点数を付けられ、切断されるときに、合格した個々のチップのみがパッケージ化設備に転送される。パッケージ化設備は、シリコンを結合してチップパッケージにパッケージ化し、再び最終パッケージ化チップをテストする。完成したチップは典型的にはOEMに送られ、そこでチップは、完成した装置製品の一部である印刷回路基板上に搭載され、完成した装置製品は、流通チャネルに送られ、最終的にカスタマの元に送られる。
【００６９】
上記に例示した製造工程は一般的に複数の段階を含み、それは設計と、シリコンチップを装置に統合するときの間に起こる段階であり、つまり、制作、テスティング、パッケージ化、および設置である。これらの段階すべてが、単一の設備において起こり、任意数Nの段階までの数の、より多くの段階があってもよいことは理解されよう。これらの段階のそれぞれにおいて、過剰生産および生産高縮小が起こる機会がある。
【００７０】
ここで図１０を参照すると、プロデューサ１２はマスク９０を設計する。マスク９０は登録された装置２２、この例ではICを生産するために使用される。装置２２は、その設計に含まれる機密または不変情報のある形式を含み、好ましくは、そのような機密情報がなければ作動できない。プロデューサ１２はこの例では、装置２２の製造全体における特別な段階を実行する２つまたはそれ以上のサードパーティの製造エンティティと契約する。図１０は第１製造段階１００と、第２製造段階１０２と、任意の第N製造段階１０４までを示している。
【００７１】
プロデューサ１２はマスク９０を、製品配信チャネル８０を介して配信する。マスク９０は第１製造段階１００に送られ、そこで、シリコンウェーハーの生産のような製造の一部が行われる。第１段階１００が完了すると、その結果としての部分的完成品は第２製造段階１０２に送られ、ウェーハーのテスティングのような、製造の第２の部分が行われる。これが第N段階までの各段階において繰り返されて、最終的に完全に機能する登録された装置２２が配送エンティティ１０６に出荷される。
【００７２】
不完全な製品または副構成要素が、製造エンティティ１００−１０４の１つにおいてグレーマーケット１１０へ横流しされることを防止するために、「責務の分離」が適用される。責務の分離は、各製造段階での製造とデータプログラミングの責務を分割することであり、それによりすべての責務は、正常な装置製品を完成するために必要な意図された順番で、意図された契約者により実行されなければならない。この例において、暗号データの注入のような機密作業は複数の段階で行われ、それぞれの段階は、別個の製造エンティティにより、別個の製造段階で実行される。機密作業を分離するために、プロデューサ１２は登録モジュール９２を、マスク９０において定義される設計に組み込む。モジュール９２は、マスク９０が装置２２を生産するためにコンパイルされるとき、数学的変換により、ブート信号のような、シリコンチップ内の重要な信号およびデータフローが傍受され、もし数学的変換が作動できない場合は、装置２２は正常ではないように使用される。数学的変換は好ましくは、性能上の理由で、排他的論理和（XOR）演算を幅広く利用する暗号変換であるが、これは必要条件というわけではない。数学的変換が作動できるようにするために、それは、製造工程の各段階において、暗号キーイングデータ部分のような重要なデータを、段階的に増加していく注入または追加により登録される。このようにして、第１段階１００において生産されたウェーハーが過剰生産であり、図１０に示すようにN１１０を介してグレーマーケット段階２へ供給されると、その製品１１２は、典型的には、それが適切に作動するために必要な暗号データのすべては受け取っていないので正常ではない。
【００７３】
好ましくは、図１０に例として示されているように、上記の図１−９に示されているキー注入システム１０を、各製造ステップにおける配信、計量、およびキー注入段階の報告を要求するために使用できる。この場合、すべてのエンティティがグレーマーケット製品を配信するために共謀したとしても、プロデューサ１２はこの行動を、不完全なログレポートにより検出でき、必要であれば、更なるキーイングデータの配信を防止できる。または、システム１０を、それぞれの段階で使用する必要はなく、または如何なる段階においても全く使用する必要はなく、任意の数の段階で使用できることも可能であることは理解されよう。例えば、第２段階１０２はシステム１０を利用するが、他の段階は使用しなくてもよい。しかし、各製造段階は好ましくはテスティング手順のある形式を含むので、システム１０をそのようなテスティングに組み込むことは有効である。この状況においてプロデューサ１２は、第２段階の間でのデータを少なくとも予測する。モジュール９２がシステム１０に依存せずに、各製造段階に依存して、キーイング工程の一部を実現するために使用できることは理解されよう。これらの状況のいずれにおいても、責任を分割することにより、いずれのエンティティも必要な情報を自分自身で有して、首尾よくグレーマーケットに製品または副構成要素を供給することはできない。
【００７４】
マスク９０は図１１においてより詳細に示されている。上記で検討したように、登録モジュール９２を任意のマスク設計に組み込むことができ、マスク９０は、指令のセットまたはコードラインを実行するようにプログラムされ、部分的に、カスタマコード１２０の一部分と、カスタマコード１２２の別部分の間の１つにパス（好ましくは、装置の作動にとって重要なもの）内のモジュール９２で定義される内容を挿入する。パス１２４を介してモジュール９２に入力されるデータは、暗号トランスフォーム１２８に適用されて、パス１２６を介してカスタマコード部分１２２に出力される。パス１２６に存在する出力は好ましくは、暗号トランスフォーム１２８が首尾よくパス１２４におけるデータ入力に適用された場合のみに使用できる。暗号トランスフォーム１２８は好ましくは、その操作を実行するために、メモリ１３０、プロセッサ１３２、および暗号キー１３４と共に機能する。メモリ１３０、プロセッサ１３２、および暗号キー１３４は好ましくは、各製造段階に存在するキー注入システム１０を使用して構成される。メモリ１３０は別の暗号キー１３１も含み、それは一般的に、各段階で、好ましくは図１０に示されているようにキー注入システム１０を使用する注入を介して累積されたキーイング材料を含む。好ましくは、キー１３４は注入時に使用され、メモリ１３０に累積された、キー１３１を構成する材料が正当なものであることを保証する。キー１３４は公開キーであってよく、または必要であってもそうでなくてもよい。例えば、モジュール９２はキー１３４がなくても機能できるが、特別なプロデューサ１２に適切または適切でない、あるクラスの攻撃の潜在的危険性が伴う。
【００７５】
一般的に、モジュール９２により使用される機密データは複数の部分に分割され、各部分は、製造工程の各段階でキー１３１に追加される。例えば、１つの技術は、製造工程での各段階で、メッセージリカバリによりデジタル署名を注入することである。キー１３４はデジタル署名の正当性を確認するために使用でき、それを行う際に、正当性が確認されたデジタル署名は、メモリ１３０における既存のデータにより、暗号キー１３１を導出するキー導出方式で使用できるメッセージを生成する。別の例は、キーシャドウイング技術を採用することであり、暗号キー１３１の個々の部分が種々の製造段階でメモリ１３０に追加される。最終製造段階が完了すると、メモリ１３０は十分なデータを含み、それにより、キーシャドウ技術が暗号キー１３１を再構成するために使用できる。
【００７６】
第１製造段階１００の例が図１２に概略的に示されている。上記に示したように、プロデューサ１２は好ましくは、キーイングデータの配信およびキーイングが発生したときに生成されるレポートの監視のためにシステム１０を利用する。シリコンチップへのキー注入は典型的に、ウェーハーテストまたは後のパッケージテストにおいて発生する。この例では、段階１００は、テスティング機器２０と共に作動するサーバー１８とキーエージェント２１を含む。段階１００は、例えば、シリコンウェーハーを生産するための生産機器１３９も含む。生産機器１３９は、チャネル８０を介して配信されたマスク９０を使用して部分的に製造された装置１１４０を生産する。この例における下付き数字「１」は、装置２２に適用された機密データの第１部分を表現するために使用され、ここにおいて好ましくは、機密データの第１部分は、機器２０のキーエージェント２１を使用して注入される。好ましくは、この時点において装置１は、トランスフォーム１２８がその操作を実行するために必要なデータをすべては有していないという理由で、まだ完全には機能しない。次に、装置１は第２製造段階１０２に配送できるようになる。
【００７７】
図１３は、２つの別個の製造段階（つまりN=2）を含む、例としての製造工程を示すフローチャートを提供する。ステップ５００においてプロデューサ１２は段階数を決定し、それにより注入されるキーイングデータの部分数、この例ではN=2を決定する。ステップ５０２においてプロデューサ１２は好ましくは、各製造段階をチャネル２４、２５および２６を介してそれ自身に連結するキー注入システム１０を確立する。上記に図１を参照して検討したように、プロデューサ１２は単一のコントローラ１６を使用して複数のサーバー１８と通信する。この例では、プロデューサ１２は、２つのサーバー１８からのログ記録を配信、監視、および受信する。
【００７８】
ステップ５０４においてプロデューサ１２は、マスク９０で定義されるその設計に登録モジュール９２を組み込む。マスク９０は、ステップ５０６において製造工程の段階１を実行するために第１製造業者１００に配信され、段階１は、ステップ５０８で実行される。例えば、第１製造業者はウェーハーを生産し、マスク９０に適合するチップを作成する。そして、ウェーハーテストの間、製造業者は、ある部分的キーイング材料をメモリ１３９にプログラムする。機密データのこの部分はステップ５１０で挿入され、サーバー１８は、好ましくは、上記にその概要を示した機構を使用して、ステップ５１２においてプロデューサに報告する。または、段階１は、いかなる機密データの注入も取り扱わず、この操作を段階２においてのみ実行することもできる。
【００７９】
キーイングデータの第１部分がチップまたは装置にプログラムされると、その製品は部分的なキーイング情報のみを含むことになり、適切に作動するには十分ではない。図１３は、装置１により表現されていて、ここで下付き数字１は、上述したように、第１部分を表現している。部分的に生産され、部分的にプログラムされた装置１は、ステップ５１４において段階２に配送され、ステップ５１６において実行される。次いで、製造業者１０２はステップ５１８において、キーデータの第２部分を注入する。例えば、ステップ５１８において、第２製造業者１０２は、追加キーイング情報をプログラムでき、または、ステップ５１０の間にメモリ１３０に格納された部分的キーデータと、ステップ５１８において使用されたシステム１０からの新しいキーデータを使用して暗号キーイング情報を導出できる。この導出ステップは、ハッシュまたは、おそらくはより高度なキーシャドウイング技術に基づくことができる。好ましくは、ステップ５２０において、第２製造業者１０２はプロデューサ１２に、第２キー部分が首尾よく注入されたことを折り返し報告する。プロデューサ１２はこの段階で、キーデータが首尾よく挿入されたことを示す２つのログ記録を有しており、この情報を使用してその記録を監視できる。
【００８０】
キーイングデータの第２部分が挿入されると、装置２２は、この例においては、完全に生産され、完全に登録され（例えば、テストされ、パッケージ化されたIC）、図１３においては装置１２により表現されており、ここにおいて下付き数字１２は、キーデータの完全なセット、つまり、データ部分１とデータ部分２を表現している。装置１２はステップ５２２において配送チャネルへと続き、最終的にはステップ５２４において、機能する製品として、カスタマの元に到達する。
【００８１】
図１３にこれもまた示されているように、例えば、第１製造業者１００またはその従業員が、ステップ５２６でグレーマーケット製品を、ステップ５２８における代替配送チャネルを介して配送しようとすると、装置１は、そのキーデータの第１部分しか含まず、そのためトランスフォーム１２８はその操作を実行できないので、正常でない製品がステップ５３０においてカスタマに提供されることになる。従って、グレーマーケット段階２においてテスティング、パッケージ化などが実行されても、追加のキーイングデータが提供されず、そのため、製品５３０は製造の全工程が行われるが、完全には登録されておらず、そのためその製品は正常ではない。モジュール９２は、好ましくは、改竄防止手段が考慮され実装されるように実装されるということは理解されよう。
【００８２】
ここで図１４を参照すると、モジュール９２ａを組み込んだ、完成したカスタマ製品２２ａの概略例が示されており、ここにおいて、モジュール９２ａは図１１に示されているモジュール９２に対する物理的レイアウトを論理的に明示したものである。図１４においては明確性のために、同様な参照番号は添え字「ａ」が付けられている。モジュール９２の実装（例えば、９２ａ）を使用している製品２２ａは、強制ブロック１５０の一部である、暗号トランスフォーム１２８ａを、コード１２０ａと１２２ａ間の製品の重要なデータパスに適用することができる。パスは、トランスフォーム１２８ａを介して復号され、それによりカスタマの論理１２２ａは適切に機能する。この例において、プロセッサ１３２の実施である検証１３２ａが実行される。検証１３２ａは、ワンタイムプログラマブル（OTP）メモリ１３０ａと、図１１のキー１３４の実装であるアイデンティティ部分１３４ａを使用する。キー１３４ａとメモリ１３０ａには、例えば、図１３でその概要を述べた手順を使用して機密データが注入される。製品２２ａは、モジュール９２（例えば、モジュール９２ａのような）により提供される論理を組み込んだ１つの実装に過ぎず、図１４に示されている例は、例示の目的のためのみであることは理解されよう。
【００８３】
上記は、ある特別な実施形態を参照して説明されたが、その種々の変形例は、この技術に精通した者には明白であろう。    
【００８４】
本発明の実施形態が、付随する図を参照して、例としてのためにのみ説明される。
【図面の簡単な説明】
【００８５】
【図１】遠隔装置登録システムの模式ブロック図である。
【図２】図１に示されたグラフィカルユーザーインタフェース（GUI）の模式表現である。
【図３】配信画像の模式表現である。
【図４】キー注入と報告手順を示すフローチャートである。
【図５】供給手順を示すフローチャートである。
【図６】クレジット指令手順を示すフローチャートである。
【図７】複数製品をサポートする別の実施形態に対するマッピング方式を示している。
【図８】フィルタ処理されたログレポートの例を示している。
【図９】遠隔装置登録システムの別の実施形態を示しているブロック図である。
【図１０】製造工程において複数の段階を使用するキー注入に対する実施形態の模式ブロック図である。
【図１１】図１０の実施形態を使用してキー注入段階を分離するための登録モジュールを組み込むマスクの模式表現である。
【図１２】図１０の実施形態において示されている段階の模式表現である。
【図１３】図１０の実施形態を使用して装置を生産する際に行われるステップを示すフローチャートである。
【図１４】図１１に示されているマスクから生産された製品例の模式ブロック図である。
【図１】
2008547251.tif 000003
【図２】
2008547251.tif 000004
【図３】
2008547251.tif 000005
【図４】
2008547251.tif 000006
【図５】
2008547251.tif 000007
【図６】
2008547251.tif 000008
【図７】
2008547251.tif 000009
【図８】
2008547251.tif 000010
【図９】
2008547251.tif 000011
【図１０】
2008547251.tif 000012
【図１１】
2008547251.tif 000013
【図１２】
2008547251.tif 000014
【図１３】
2008547251.tif 000015
【図１４】
2008547251.tif 000016
【国際調査報告】
2008547251.tif 000017
2008547251.tif 000018