遠隔装置登録のためのシステムと方法
【課題】キーイング又は他の機密情報の装置への注入を監視及び計量する、遠隔装置登録のためのシステムと方法を提供すること。
【解決手段】1つ又は2つ以上の別の製造業者を利用するプロデューサは、順方向及び逆方向チャネルを介して製造業者の元にあるローカルモジュールと通信する遠隔モジュールを操作する。暗号化されたデータ送信はプロデューサにより製造業者に送られ、復号されて、装置において使用される機密データを取得する。データ送信が復号されると、クレジットプールからのクレジットは消費され、プロデューサによりクレジット指令により補充できる。配信画像が復号されると、使用記録が作成され、最終的に連結されて使用レポートとしてプロデューサに送り返され、それによりプロデューサは製造業者における生産を監視及び計量できる。代替の機構においては、過剰生産を製造段階において責務の分離を導入することにより禁止できる。
【解決手段】1つ又は2つ以上の別の製造業者を利用するプロデューサは、順方向及び逆方向チャネルを介して製造業者の元にあるローカルモジュールと通信する遠隔モジュールを操作する。暗号化されたデータ送信はプロデューサにより製造業者に送られ、復号されて、装置において使用される機密データを取得する。データ送信が復号されると、クレジットプールからのクレジットは消費され、プロデューサによりクレジット指令により補充できる。配信画像が復号されると、使用記録が作成され、最終的に連結されて使用レポートとしてプロデューサに送り返され、それによりプロデューサは製造業者における生産を監視及び計量できる。代替の機構においては、過剰生産を製造段階において責務の分離を導入することにより禁止できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般的に、機密データを内部に有する装置の製造に関し、特には、そのような機密データをそのような装置に注入することを遠隔的に制御および監視することに関する。
【背景技術】
【0002】
暗号的に安全な通信システムに関与する装置は、典型的に、製造時にその装置に注入された、あるタイプの固有かつ不変情報を有している。この情報は、暗号キー、共有秘密、あるいは、その装置の本質的に固有な属性に暗号的に結び付けることができる他のデータであってよい。そのような情報は、一般的には「キー」と称され、情報の注入は、一般的には、装置に対する「キーイング」、または「キー注入」と称される。
【0003】
キーを注入する目的は、装置が配送された後の将来のある時点において、その装置が、安全通信システムの正規の参加者であると容認してもらうことを保証するためである。しかし、装置のプロデューサは、しばしば、装置が合法的に製造されることを保証したいと所望し、そのため、装置に注入されるキーを保護したいと所望するであろう。プロデューサは、キーの認証は、安全システムおよびその内容などに対して、条件付きアクセスを提供するので、典型的には、将来の利益を保護するためにキーを保護しようとする。注入されたキーもまた、それが装置のカスタマまたはユーザーが、装置を登録するために必要な冗長な手順を避けることを可能にするので重要である。
【0004】
装置には、キーが信頼できるという暗号による認証に基づいて、システムへのそのような条件付きアクセスが認められる。この信頼は、信頼されるデータを製造工程の外部で複製することは非常に難しいという事実に基づいている。条件付きアクセスを提供するシステムは、例えば、衛星テレビおよびラジオなどのように、継続的に情報を放送するが、その内容へのアクセスを制御し、それによりそのような内容を提供することに対する利益を制御したいと所望するシステムが含まれる。これらのシステムは、製造工程および相手先ブランド供給業者(OEM)、特にキーの注入を信頼することにより、装置に対する、そして最終的には、安全通信システム全体に対する信頼の基盤が提供できる。
【0005】
装置に注入されるキーは、標準フォーマットであることもあり、例えば、とりわけユーザーのPCからモニタにケーブルを介して送られるときにデータを保護するために使用される、HDCP(High Definition ContentProtection)キーのように行政機関から購入できる。行政機関は、このように、装置のプロデューサに配信されたキーが保護され失われないように保証することに関心を有している。これは、プロデューサに対して責任を課し、注入されたキーを保護することに対する重要性を増大する。ある場合には、プロデューサ、キーの喪失またはキーの複製により罰金を科せられることもあり、キーを扱うときにこれらを無視しているという世評が立つと、行政機関は、キーの配信を制限または厳しくすることもある。この関係を維持することは、プロデューサにとってしばしば重要であり、キーが、装置が他の装置および/または基盤と互換性があるために必要な標準フォーマットである場合は特に重要である。この場合は、特別なキーを使用できなければ、装置は意図された通りには作動しない。
【0006】
装置がどんどん複雑になり、高度化されていく最近のビジネス環境においては、個々の部品が1つの製造業者により製造されてキーイングされ、別の製造業者が後のアセンブリを受け持つということは普通である。そのような状況においては、装置のプロデューサまたは通信システムの所有者が、装置の製造業者ではないというあるセキュリティの関わり合いが存在する。したがって、装置のプロデューサにとっては、プロデューサの装置の完全性に対して責務がある製造システムの完全性を保証することは最も重要なことであり得る。
【0007】
製造過程の完全性を考えるとき、特に関心のあるのは、製造業者が、製造されたユニットのアイデンティティと数を正確にプロデューサに報告することを保証することと共に、装置を製造するために使用された秘密情報の機密性に関する問題である。理想的には、装置のプロデューサは、製造業者が「グレー」または「ブラック」マーケット部品または装置を作成し、配送していないことの保証を得ようと試みるべきである。例えば、ある数のキーイングされた製品をプロデューサに送り返したが、なお、残ったキーを有している製造業者は、それらの余分のキーにより、装置を製造して販売できる。これによりプロデューサは、製造業者が販売から利益を得る一人なので、利益を失ったことになる。キーのクローンを作成したりキーを盗んだりすることも起こり得、それはキーイング工程が外部委託されているときは、検出または制御するのは難しい。ある場合には、キーがインターネットで発行され、ユーザーが、そのようなサービスに対して支払うことなく、条件付きアクセスシステムへのアクセスを得られることもある。
【0008】
伝統的に、製造現場における情報注入段階の安全性に関心のあるプロデューサは、製造業者が、プロデューサの装置およびそのシステムの安全性に適切な考慮を払うような方法で作業していることを暗黙的に信頼する以外、ほとんど選択の余地はない。保護機構は一般的に単純であり、それは、キーイング情報は典型的には、大量に暗号化されて製造業者に送られ、そこでは到着すると、すべてのキーイング情報は直ちに復号され、そして製造業者は、大量の情報を損なわない信頼されているという機構であることによる。
【0009】
キーイング情報へのアクセスを制限する1つの方法は、オンラインのクライアントサーバー機構を使用することである。そのような機構が適所にあれば、製造業者の設備におけるクライアントは、ネットワークへ接続され、プロデューサの制御下にある遠隔キー提供サーバーに対して、装置ごとのキーイング情報を要求する。
【0010】
キーイング情報をそのようなジャストインタイム方式で提供する、オフサイトの、遠隔的にネットワーク化されたサーバーに依存する製造システムを実現することについては多数の問題がある。最も重要な問題は、それが公共パケット交換ネットワークを使用している場合は、オフサイトサーバーが、製造ラインに対して最低のサービスレベルまたは応答時間を保証できないということである。製造ラインにおける問題を回避するためには、待ち時間およびスループットという点におけるサービスのあるレベルは最適である。生産ラインがプロデューサに対して遠隔的な管轄内にあるという、現代の製造の現実を考慮すると、そのような保証されたネットワークの利用可能性は、とてつもなく高価なものになってしまう。
【0011】
製造設備は、典型的には、データ材料も含めて、必要な材料がすべて手元に揃わない限り、生産運転を開始しない。そうでなければ、生産ラインの遅延のリスクはあまりにも高すぎる。製造業者により使用されるいかなるキーイングシステムも、実質的にサービスの利用可能性を保証し、適切な応答を提供できなければならない。これは、生産運転の開始前に、すべてのデータリソースとキーイング情報のローカルな利用可能性を必要とする。
【0012】
すべてのデータリソースが、おそらくはコンピュータシステム上に、およびプロデューサの直接制御下にはない媒体に存在して、生産ラインに対してローカルに利用可能でなければならないことを考えると、プロデューサは、すべての秘密キーイング情報の機密性をどのように保証するかを考えなければならない。
【0013】
製造運転を開始して終了するためには、十分なデータが、製造業者に対してローカルに利用可能でなければならない。プロデューサが、製造業者による許可されていない、契約に反する行為を発見したときには、プロデューサは、契約が切れた後に、そのような悪い製造業者が、グレーまたはブラックマーケット製品を生産することを防止する方法を考えなくてはならない。
【0014】
複製に関する別の問題は、複製操作の特別なタイプである過剰生産に起因し、それは、シリコンチップのプロデューサにとっては、特別な関心事である。過剰生産は、集積回路(IC)のプロデューサが、彼らのIC設計の製造を、1つまたは2つ以上のサードパーティの製造会社に外部委託するときに起こり得る。製造ステップのある部分またはすべてを外部委託する目的は、製造工程においてある特別な段階を行うことに対して最善のコストを提供できるサードパーティを選択することにより生産コストを下げることである。例えば、設備を所有していない設計事務所(例えば、プロデューサ)は、海外の製造設備と、彼らが設計したチップの生産の契約をしたいと所望するであろう。そのような海外の製造設備は、相対的に低価格で電子機器を生産できるので選択されることがよくある。
【0015】
しかし、外部委託は一般的に、特別な契約者が、グレーマーケットに供給するために、生産を契約した製品を過剰に生産するという危険性を増大する。例えば、契約者が信頼を裏切って、プロデューサから提供された設計からICを過剰に生産し、プロデューサにはそのように過剰に生産したことは報告しない場合は、余分な製品が、「贋物」または「複製」ICとして、グレーマーケットチャネルにおいて販売されるようになる。これによりサードパーティ製造業者は、特別な利益と蓄財を、カスタマ、つまりプロデューサ/設計者に対する将来の製品需要と利益を犠牲にして、実現できるようになる。
【0016】
上記のようなことは、そのような状況においては、プロデューサは、生産フェーズの最初において、技術サンプルを受け取る以外に、製品を一切扱わないことがよくあるために起こる。従って、製造工程の各段階において、設計に続いて、部品と製品を盗み出す機会がある。ある場合には、忠実な契約製造業者の従業員が盗人である可能性もある。従業員が製造ラインから直接製品を盗むことによる「生産高の縮小」も起こり得る。これは、プロデューサと契約製造業者にとって、利益の喪失による不利益となるばかりでなく、将来の仕事を行っていく上でのプロデューサと製造業者の間の関係にとっても不利益となる。
【0017】
従って、本発明の目的は、上記の不都合な点を除去あるいは緩和することである。
【発明の概要】
【課題を解決するための手段】
【0018】
本発明は、製造工程の少なくとも一部に対して別のエンティティを使用したいと所望するプロデューサが、離れた場所から、装置の生産を監視し、保護できるようにするシステムと方法を提供する。
【0019】
本発明はまた、過剰生産および生産高の縮小によるグレーマーケット製品を回避するために、異なるエンティティの間で、製品に機密データを追加することを分離するための手段も提供する。
【0020】
1つの形態において、本発明は、装置の生産中に、装置に機密データを注入することを遠隔制御するための方法を提供する。本方法は、コントローラが機密データを用意し、データ送信において、機密データを暗号化して保護するステップと、コントローラが、データ送信を、暗号化操作を実行するセキュアモジュールを有するサーバーに対して送るステップと、セキュアモジュールが、データ送信から機密データを抽出するステップと、サーバーが、装置に注入するための機器に機密データを提供するステップを含み、コントローラは、サーバーから離れて位置している。
【0021】
別の形態においては、本発明は、装置の生産中に、装置に機密データを注入することを遠隔制御するためのシステムを提供する。本システムは、暗号操作を実行する第1セキュアモジュールを有するコントローラと、コントローラから離れて位置し、コントローラに、順方向チャネルと逆方向チャネルにより接続されているサーバーであって、ここにおいて、順方向チャネルは、データ送信をサーバーの第2セキュアモジュールに提供するためにコントローラにより使用され、データ送信は暗号的に機密データを保護し、第2セキュアモジュールは、送信からデータを抽出するという、サーバーと、送信からデータを抽出すると、データを注入するために使用される機器と共に作動し、第2セキュアモジュールからのデータを取得するエージェントを備える。
【0022】
更に別の形態においては、複数の段階において装置に機密データを挿入することを制御するためのモジュールが提供される。本モジュールは、装置におけるデータフローと、メモリに格納されている暗号キーを傍受して変換する暗号トランスフォームであって、それぞれに段階において、機密データの一部が暗号キーに追加され、暗号キーは、その操作のためにトランスフォームにより使用されるという、トランスフォームを含み、暗号トランスフォームは、機密データの挿入が成功すると、データフローを正しく変える。
【0023】
更に別の形態においては、装置への機密データの挿入を制御するための方法が提供される。本方法は、装置におけるデータフローを傍受して変換するための暗号トランスフォームを有するモジュールを装置に含むステップと、装置の生産における複数の段階のそれぞれで、モジュールのメモリに格納された暗号キーへ機密データの一部を追加するステップを含み、暗号トランスフォームは、機密データの挿入が成功すると、データフローを正しく変える。
例えば、本発明は以下の項目を提供する。
(項目1)
装置の生産中に、その装置への機密データの注入を遠隔的に制御する方法であって、
コントローラが上記機密データを用意し、データ送信において暗号的に保護するステップと、
上記コントローラが上記データ送信を、暗号操作を実行するセキュアモジュールを有するサーバーに送るステップと、
上記セキュアモジュールが上記機密データを、上記データ送信から抽出するステップと、
上記サーバーが上記機密データを、上記装置への注入のための機器に提供するステップを含み、
上記コントローラはサーバーから離れて位置している方法。
(項目2)
上記セキュアモジュールが上記コントローラに対して、上記機密データの使用に関するログレポートを用意するステップを更に含む項目1に記載の方法。
(項目3)
上記抽出ステップは、上記セキュアモジュールが、上記データ送信に含まれるヘッダを復号してキーを取得し、上記キーを使用して上記送信を復号してそこから上記データを抽出することを含む項目2に記載の方法。
(項目4)
上記コントローラは上記データ送信を送ると、第1ログ記録を生成し、上記第1ログ記録は、上記ログレポートとの比較のために上記コントローラにより格納され、上記セキュアモジュールは、上記データを上記機器に提供すると、上記データの上記機器への配信を示す第2ログ記録を生成し、上記第2ログ記録は、上記ログレポートに含まれる項目2に記載の方法。
(項目5)
上記サーバーが、上記機器から、上記装置への上記データの注入を示す、上記ログレポートに含まれる第3ログ記録を受け取るステップを更に含む項目4に記載の方法。
(項目6)
上記コントローラが上記データを用意して保護することに先立って実行され、上記サーバーおよび上記セキュアモジュールを初期化するために使用される供給手順を更に含む項目1に記載の方法。
(項目7)
複数のサーバーを備え、上記データ送信を送る上記ステップは、上記複数のサーバーへ上記データ送信を送ることを含む項目1に記載の方法。
(項目8)
上記コントローラが、クレジットプールの値を更新するためであって、セキュアモジュールが上記機密データをそこから抽出できる上記データ送信のデータ要素数を表現しているクレジット値を示すクレジット指令を、上記サーバーに提供するステップを更に含む項目1に記載の方法。
(項目9)
上記セキュアモジュールは、上記データを上記データ送信から抽出すると、上記クレジットプールからクレジットを消費し、それにより上記クレジットプールの値を減少する項目6に記載の方法。
(項目10)
上記用意するステップに先立ち、上記方法は、上記コントローラが、上記データを修正する既存データ注入ソリューションを実現するためのオブジェクトを受け取るステップと、上記コントローラが、上記オブジェクトに署名して、上記署名付きオブジェクトを上記セキュアモジュールに送るステップと、上記セキュアモジュールが上記署名付きオブジェクトを格納し、上記署名付きオブジェクトを検証し、上記署名付きオブジェクトが検証された場合は上記既存ソリューションに従って上記データを修正するステップと、上記修正されたデータを、上記装置への注入のために上記機器に送るステップを更に含む項目1に記載の方法。
(項目11)
上記データ送信は、複数のタイプの機密データを含み、上記セキュアモジュールは、上記コントローラにより確立された許可に従って、上記タイプのあるいくつかを取得する項目2に記載の方法。
(項目12)
上記ログレポートは、上記タイプのいずれが上記セキュアモジュールにより、上記機器に提供されたかを示す表示を含む項目11に記載の方法。
(項目13)
上記コントローラが、上記セキュアモジュールの設定を修正するときに使用される構成メッセージを上記セキュアモジュールに送るステップを更に含む項目1に記載の方法。
(項目14)
上記ログレポートは、上記コントローラが、上記サーバーまたは上記コントローラにより開始されるポーリングを使用して取得される項目1に記載の方法。
(項目15)
上記コントローラは、上記第1ログ記録と上記ログレポートを比較して、上記ログレポートが適切なものであり、追加データが要求されている場合は、更なるデータ送信を行い、上記ログレポートが適切なものでない場合は、以前の送信のいずれからも、上記データの更なる抽出を禁じる指令を行う項目4に記載の方法。
(項目16)
上記機密データは複数のキーであり、上記送信は、上記コントローラのセキュアモジュールにより暗号化された上記キーを大量に含み、上記データを抽出する上記ステップは、上記コントローラにより提供された指令により先験的に示されるように、上記キーの特別な1つを復号することを含む項目2に記載の方法。
(項目17)
装置の生産中に、その装置への機密データの注入を遠隔的に制御するシステムであって、
暗号操作を実行するためのセキュアモジュールを有するコントローラと、
上記コントローラから離れて位置し、上記コントローラに順方向チャネルおよび逆方向チャネルにより接続されているサーバーであって、上記順方向チャネルは、データ送信を上記サーバーの第2セキュアモジュールへ提供するために上記コントローラにより使用され、上記データ送信は、上記機密データを暗号的に保護し、上記第2セキュアモジュールは上記送信から上記データを抽出するサーバーと、
上記データを上記送信から抽出した時点で、上記データを注入するために使用される機器と共に作動し、上記データを上記第2セキュアモジュールから取得するエージェントと、を備えるシステム。
(項目18)
上記第2セキュアモジュールは、上記機密データの使用に関するログレポートを用意し、上記ログレポートを、上記逆方向チャネルを介して上記コントローラに提供する項目17に記載のシステム。
(項目19)
上記コントローラは、それ自身と上記サーバーを構成し、上記ログレポートを監視するためのグラフィカルユーザーインタフェース(GUI)を更に備える項目18に記載のシステム。
(項目20)
上記第1セキュアモジュールは、上記データ送信のヘッダにおけるデータキーを暗号化するための暗号キーを備え、上記第2セキュアモジュールは、上記データキーを復号するための復号キーを備え、上記第2セキュアモジュールは、上記データキーを使用して上記送信を復号し、上記データを上記送信から抽出する項目17に記載のシステム。
(項目21)
上記コントローラは、上記データ送信を用意する前に、安全な方法で格納される上記データを格納するための第1データ格納装置を更に備え、上記サーバーは、上記送信から上記データを抽出する前に、上記データ送信を格納するための第2データ格納装置を更に備える項目18に記載のシステム。
(項目22)
上記データ送信を送ると、上記コントローラは第1ログ記録を生成し、上記第1ログ記録を、上記ログレポートとの後日の比較のために上記第1格納装置に格納し、上記データを上記機器に提供すると、上記第2セキュアモジュールは、上記データの上記機器への配信を示す第2ログ記録を生成し、上記第2ログ記録を、上記ログレポートに含むために、上記第2格納装置に格納する項目21に記載のシステム。
(項目23)
上記エージェントは、上記データの上記装置への注入を示す第3ログ記録を生成し、上記エージェントは、上記第3ログ記録を、上記ログレポートに含むために上記第2セキュアモジュールへ送る項目22に記載のシステム。
(項目24)
上記コントローラは、上記データを用意して保護する前に供給手順を実行し、上記供給手順は、上記サーバーと上記第1および第2セキュアモジュールを初期化するために使用される項目17に記載のシステム。
(項目25)
複数のサーバーを備え、上記コントローラは、上記データ送信を上記複数のサーバーに送ることにより、上記データ送信を送る上記項目17に記載のシステム。
(項目26)
上記コントローラにより生成され、上記第2セキュアモジュールにより安全に格納されたクレジットプールの値を更新するためのクレジット値を示すクレジット指令を更に備え、上記コントローラは、上記クレジット指令を上記第2セキュアモジュールに送り、上記クレジット値は、そこから上記第2セキュアモジュールが上記機密データを抽出できるデータ送信のデータ要素の数を表現している項目17に記載のシステム。
(項目27)
上記データ送信から上記データを抽出すると、上記第2セキュアモジュールは、上記クレジットプールからクレジットを消費し、それにより、上記クレジットプールの値を減少する項目26に記載のシステム。
(項目28)
上記第2セキュアモジュールにより、上記第2格納装置に格納された少なくとも1つの署名付きオブジェクトを更に備え、上記署名付きオブジェクトは、上記コントローラが既存のデータ注入ソリューションを実行するためのオブジェクトに署名し、上記署名付きオブジェクトを上記第2セキュアモジュールに送ることで作成され、上記既存のソリューションは、上記データを修正し、上記第2セキュアモジュールは、上記署名付きオブジェクトを検証し、上記署名付きオブジェクトが検証されると、上記既存ソリューションに従って上記データを修正し、上記修正されたデータを、上記装置に注入するための上記機器に送る項目21に記載のシステム。
(項目29)
上記データ送信は、上記第1セキュアモジュールが、複数の異なるタイプの機密データを含むことで用意され、上記第2セキュアモジュールは、上記コントローラにより確立された許可に従って、上記タイプのあるいくつかを取得する項目18に記載のシステム。
(項目30)
上記ログレポートは、上記タイプのいずれが上記第2セキュアモジュールにより、上記機器に提供されたかを示す表示を含む項目29に記載のシステム。
(項目31)
上記コントローラは、構成メッセージを生成して上記セキュアモジュールに送り、上記セキュアモジュールの設定を修正するときに使用する項目17に記載のシステム。
(項目32)
上記ログレポートは、上記コントローラが、上記サーバーまたは上記コントローラにより開始されるポーリングを使用して取得する項目18に記載のシステム。
(項目33)
上記コントローラは、上記第1ログ記録と上記ログレポートを比較して、上記ログレポートが適切なものであり、追加データが上記エージェントにより要求されている場合は、更なるデータ送信を行い、上記コントローラは、上記ログレポートが適切なものでない場合は、以前の送信のいずれからも、上記データの更なる抽出を禁じる指令を行う項目22に記載のシステム。
(項目34)
上記機密データは複数のキーであり、上記送信は、上記第1セキュアモジュールにより暗号化された上記キーを大量に含み、上記キーの特別な1つは、上記コントローラにより提供された指令により先験的に示されるように、上記第2セキュアモジュールにより復号される項目18に記載のシステム。
(項目35)
上記第2セキュアモジュールは、上記キーのブロックを受け取るとそれらを復号し、個々に各キーを再暗号化し、上記キーのあるいくつかは、上記エージェントによる要求があると、復号されて上記機器に使用される項目34に記載のシステム。
(項目36)
上記第1および第2セキュアモジュールは、順方向および逆方向通信チャネルを介して通信するための対称キーを含む項目17に記載のシステム。
(項目37)
複数の段階において、機密データの、装置への挿入を制御するモジュールであって、上記装置におけるデータフローを傍受して変換する暗号トランスフォームと、メモリに格納される暗号キーを備え、上記機密データの一部は、各段階において上記暗号キーに追加され、上記暗号キーの作動は、上記暗号トランスフォームの作動が成功するために要求され、上記装置は、上記暗号トランスフォームの作動が成功すると機能するようになるモジュール。
(項目38)
機密データの装置への挿入を制御する方法であって、上記装置におけるデータフローを傍受および変換するための暗号トランスフォームを有するモジュールを上記装置に含むステップと、上記装置の生産における複数の段階のそれぞれにおいて、上記モジュール内のメモリに格納された暗号キーへ、上記機密データの一部を追加するステップと、を含み、上記暗号キーの作動は、上記暗号トランスフォームの作動が成功するために要求され、上記装置は、上記暗号トランスフォームの作動が成功すると機能するようになる方法。
【図面の簡単な説明】
【0024】
【図1】遠隔装置登録システムの模式ブロック図である。
【図2】図1に示されたグラフィカルユーザーインタフェース(GUI)の模式表現である。
【図3】配信画像の模式表現である。
【図4】キー注入と報告手順を示すフローチャートである。
【図5】供給手順を示すフローチャートである。
【図6】クレジット指令手順を示すフローチャートである。
【図7】複数製品をサポートする別の実施形態に対するマッピング方式を示している。
【図8】フィルタ処理されたログレポートの例を示している。
【図9】遠隔装置登録システムの別の実施形態を示しているブロック図である。
【図10】製造工程において複数の段階を使用するキー注入に対する実施形態の模式ブロック図である。
【図11】図10の実施形態を使用してキー注入段階を分離するための登録モジュールを組み込むマスクの模式表現である。
【図12】図10の実施形態において示されている段階の模式表現である。
【図13】図10の実施形態を使用して装置を生産する際に行われるステップを示すフローチャートである。
【図14】図11に示されているマスクから生産された製品例の模式ブロック図である。
【発明を実施するための形態】
【0025】
図1を参照すると、遠隔装置登録または信頼されたキー注入システムの全体が、参照番号10により示されている。装置22のプロデューサ12は、別のエンティティ、この場合は外部の製造業者14、のサービスを利用して、固有および不変の情報を装置22に注入する。この情報は、暗号キー、共有機密、または、装置22の本質的に固有な属性に暗号により結び付けることができる他のデータであってよく、以降は、「キー」と称される。このキーを装置22に注入することは、以降は、「キーイング」または「キー注入」と称される。
【0026】
プロデューサ12は、製造業者の設備から離れたコンピュータシステムであるコントローラ16を利用する。このコントローラ16は、ハードウェアセキュリティモジュール(HSM)11を含む。HSM11はコントローラ16により使用される保護された装置であって、暗号化、復号化、または署名のような、暗号によるセキュアな操作を実行する。HSM11は改竄に対して耐性がある(例えば、物理的にアクセスが困難)または改竄に反応できる(例えば、改竄されるとデータを消去する)。コントローラ16は、製造業者14によるキーの配信および使用を監視すると共に、製造業者14に対してキーおよび他の情報をパッケージ化して搬送することに対して責任がある。プロデューサ12は、典型的には、例えば、HDCPキーのプロデューサである行政機関のような外部のソースから大量のキー(図示せず)を取得する。キーは、特別な製造業者14に配信されるまではデータ格納装置15に格納される。コントローラ12およびその操作は、監視および修正でき、それによりオペレータがグラフィカルユーザーインタフェース(GUI)13を使用して制御できる。GUI13は、典型的には、パーソナルコンピュータ(図示せず)を使用して表示されて相互作用するソフトウェアアプリケーションである。
【0027】
コントローラ16は、パイプライン23を介して、製造業者14に存在するサーバー18に接続される。パイプライン23は2つの順方向通信チャネル、つまり、制御チャネル26と配信チャネル25と、1つの逆方向チャネル24を含む。制御チャネル26はコントローラ16により使用され、クレジット指令を送ることにより、製造業者14が使用できるキー数を計量する。配信チャネル25はコントローラ16により使用され、製造業者14に対して、保護されたキーのブロックを配信する。逆方向チャネル24はシステム10により使用され、コントローラ16に、報告および監査の目的でキーの使用を知らせる。チャネル24、25、および26は、任意の通信チャネルであってよく、信頼性または安全性は要求されない。チャネル24、25、および26に対する信頼性および安全性は、技術機構および工程/手順の組合せを使用して提供される。例えば、順方向チャネル26を使用してモジュール18に送られたメッセージが改ざんされていて復号できない場合は、ユーザーはシステムコントローラモジュール16のオペレータに電話して、メッセージを再び送ってもらえる。
【0028】
製造業者14は、製造業者の設備に対してはローカルであり、その動作は、コントローラ16から送られるメッセージを介して監視され計量されるコンピュータシステムである、1つまたは2つ以上のサーバー18を利用する。サーバー18はまた、逆方向チャネル24を介してコントローラ16に報告を送り返す。サーバー18は、コントローラ16により利用されるHSM11に類似のHSM28を含む。HSM28は、製造業者14がいくつのキーを使用できるかを決定する、保護されたクレジットプール30を格納する。キーの使用は、コントローラ16が、サーバー18から報告されたデータを監視し、それに従って、クレジットプール30に追加またはそこから減算することにより計量される。クレジットプール30は、サーバー18がコントローラ16から、更にキーを要求して取得しなければならなくなる前に、HSM28により復号できるキー数を表現する抽象概念である。コントローラ16は配信チャネル25を介してサーバー18へキーを配信し、サーバー18はそのキーを、下記により詳細に説明するように、ローカルデータ格納装置17に格納する。
【0029】
製造業者14は、暗号キーを装置22に注入するために使用される1つまたは2つ以上の機器20を利用する。典型的にキーイングは、製造工程のテスティングフェーズの間に起こり、そのため、機器20は、アセンブリライン上のテスティングマシンであることがよくある。機器20はキーエージェント21を含み、キーエージェント21は典型的には、アプリケーション側におけるキー注入を管理するために使用される機器20にロードされるソフトウェアプログラムまたはツールキットである。キーエージェント21はサーバー18と通信して、キーが必要になったときにそれを要求して取得する。典型的には、サーバー18は、生産工程のタイミングを妨害しないように、十分なキーをキーエージェント21に提供する。しかし、サーバー18は、クレジットプール30を介して計量された通りであるというキーイングの承認がコントローラ16により提供されるまで、キーの使用を制限するために不要な数のキーは提供しない。
【0030】
典型的にはキーエージェント21は、生産を妨害しないように、特別な機器20によりキーの新しい束がいつ必要かを示す閾値レベルを有する。コントローラ16は典型的に、サーバー18とは常に通信状態にあるわけではないので、コントローラ16は、そのパラメータを調整して、サーバー18を介して、十分なキーイング材料を機器20が利用できるようにすることを保証し、一方では、コントローラ16が、下記により詳細に説明するように、サーバー18からのキー使用レポートを取得できる前に、サーバー18により多すぎるキーデータがリリースされないようにすることも保証する。
【0031】
キーエージェント21は好ましくは、機器20上で起動して、機器自身のオペレータが手動または自動化された方法でキーを要求できるようにするアプリケーションプログラムインタフェース(API)を含む。キーエージェント21は、サーバー18と機器の間のデータ受渡しに対する保護のレベルを提供するために使用され、サーバー18と機器の間の簡易セキュアソケットレイヤ(SSL)と考えられる。リソースに余裕があれば、キーエージェント21は、それ自身とサーバー18の間のSSL接続を使用して実装することもできるとういうことは理解されよう。キーエージェント21はまた、キーが使用されるときのレポート記録を生成することにも責任があり、その記録は、報告目的のためにサーバー18に送り返される。
【0032】
コントローラ16は、製造業者14によるキー注入を監視および計量するためのコマンドセンターである。遠隔地からキーイングを制御するために、GUI13は、オペレータにより使用されて、コントローラ16の制御下にある製造業者14、サーバー18、および機器20それぞれを監視および構成する。例としてのGUI13が図2に示されている。GUI13は、サーバーウィンドウ200、コントローラウィンドウ204、および機器ウィンドウ202に分割される。サーバーウィンドウ200は、コントローラ16により制御される製造業者14の、そしてサーバー18のリストを含んでいる。特別なコントローラ16はコントローラウィンドウ204に示されている。オペレータは、特別な製造業者(例えば、図2に示されている製造業者A)を選択でき、その製造業者に関連付けられている機器20は、機器ウィンドウ202に表示されている。
【0033】
図2に示す例において、製造業者Aにおけるサーバーは、サーバー1、サーバー2、およびサーバー3に関する情報を提供するウィンドウを備えている。各サーバーは、それに関連付けられたあるデータを有している。例えば、図2に示されているように、各サーバーは、それらの利用できる格納スペースと、利用できるクレジットと、キータイプ1とキータイプ2のそれぞれに対して利用可能なキー数を示す進捗バーを含む。各テスターウィンドウもまた、前回のレポートが処理された日付、前回報告されたクレジット、前回の補充量、および失われたログ記録に関するデータなどのログ情報を表示する。サーバーウィンドウはまた、オペレータに対して、コントローラ16から遠隔的にサーバー18を構成し、それを使用不可にするためのオプション214および216を提供する。
【0034】
コントローラ16は、サーバー18を遠隔的に構成できる機能を有している。これにより、コントローラ16は、キータイプを変更し、キータイプを追加または削除し、他の構成オプションを制御できる。これは好ましくは、構成メッセージを、制御チャネル26を介してサーバーHSM28に送ることにより達成される。HSM28は構成メッセージを評価でき、それにより、ある構成メッセージはHSM28の動作を変更し、他の構成メッセージはサーバー18に送られる。この方法を使用して、HSM28を介してサーバー18へ送られた構成メッセージは、サーバー18が、信頼でき、コントローラ16から発せられたことが知られている構成指令を得ることを保証する支援ができる。
【0035】
コントローラ16は、キーエージェント21を介して、サーバーレベルまたは機器レベルでシステム10を遠隔的に構成できる。コントローラ16はサーバー18のポーリングを強制し、定期的ポーリングの間隔を調整できる。典型的には、サーバー18は固定の間隔でポーリングされ、コントローラ16は、強制ポーリングを利用して、必要であれば、それらの間隔の間において情報を取得できる。例えば、1日間隔の場合、コントローラ16は、日中に管理者への報告のためにデータが必要になることがある。その場合、すべてのサーバーのポーリングを強制してそのようなデータを取得できる。GUI13は、コントローラ電子メールオプションもまた含むことができ、それにより、コントローラ16は、重要な生産運転における復号または配信の失敗のような、極端な状況において管理者と自動的に連絡が取れる。
【0036】
サーバー18に配信され、機器20により装置22に注入された各キーは、あるイベントにおいてあるログ記録をトリガーする。GUI13を使用して、ログ記録を検索、分類、コンパイル、および分析して、図8に示されているようなカスタムまたは標準レポート400を調べることができる。この例においては、生成された3つの主なログ記録がある。キーからサーバーへのログ402は、キーがプロデューサ16によりサーバー18に配信されるときに生成され、キーからエージェントへのログ404は、それがキーをキーエージェント21にリリースする時点でHSM28により生成され、キー注入ログ406は、キーの注入の際にキーエージェント21により生成される。各ログ記録は、IDタイプ、日付スタンプ、製造業者、機器などを含む、いくつもの数の識別情報を含むことができる。図8に示されている例としてのレポートにおいては、レポート400は、シーケンスID=001を有するキーに対する、キーからサーバーへのログ402、キーからエージェントへのログ404、キー注入ログ406を示している。これらの記録は、そのようなシーケンスID番号を有するキーのライフサイクルを追尾するために使用できる。レポート400は、任意の数の記録を含むことができ、任意の適切なフィールドに基づいてフィルタ処理できることは理解されよう。例えば、5月3日に、製造業者Aにおいてテスター2により注入されたすべてのキーを示しているレポート400は、日付フィールドおよび位置フィールドをフィルタ処理することでコンパイルできる。
【0037】
ここで図3を参照すると、プロデューサ16は、配信画像40を使用して、サーバー18へ好ましくは暗号を使用して送られるセキュアデータ送信において、大量のキーのセットをパッケージ化できる。配信画像40により、プロデューサは、1つの送信で、複数のサーバー18を目的地とする複数の製品に対するキーを含むことが可能になる。そして、各サーバー18は、ある数のキーを復号して取得できるが、それは、制御チャネル26を介してコントローラ16から、HSM28により認証を受けた後である。この画像40は、データ記録の集合したものであり、各記録は、タイプ58、ID60、サイズ54、およびデータ56のフィールドを含んでいる。データ56は典型的に、サイズ54により識別される任意のサイズのキーデータを含む。タイプ58とID60フィールドはHSM28により使用されて、あるキーのフィルタ処理に使用できる可能性のあるキーデータを、以前に制御チャネル26を介して指令されたように、HSM28の構成に依存して識別する。キーは、実装するときに、ターゲットに対してキーが実際はどのように見えるかを心配することのないようにカプセル化できる。これにより、各新しいキータイプに対して再設計する必要なく、キーに柔軟性および拡張性を与えることができる。ラッパーは、その本体がアブストラクトであり、タイプ、サイズおよび固有IDを含むべきである。ラッパーはまた、抽象化された画像へのログインまたは変数割り付けのような、より高度な特徴をサポートするための要素を含むことができる。
【0038】
画像40は、画像キー42により暗号化される。画像キー42は、画像40を復号してキーを取得するためにサーバー18により使用される。画像キー42はそれ自身が各サーバー18に対して暗号化されて、サーバーヘッダ48として格納される。サーバーヘッダ48の収集体44は、主要ヘッダ46に格納される。画像40を復号してキーを取得するために、ヘッダ48はサーバー18により選択され、HSM28により復号されて、画像キー42が取得される。そして、画像キー42は、画像40を復号するために使用される。
【0039】
前述したように、配信画像40は、複数の製品をサポートするために使用できる。図7も参照すると、製品タイプとデータブロックのマッピングが示されている。例えば、プロデューサ16は、3つの製品、つまり、キー1を利用するガンマ(フィルタタグ1を有する)、キー2(フィルタタグ2を有する)および付随する構成ブロック(これもまたフィルタタグ2を有する)を利用するベータと、キー1、キー2、および構成ブロックを利用するアルファを有する。画像40は、大量のキータイプ1とキータイプ2を含むことができ、ガンマおよびベータ製品は、アルファ製品ほど複雑ではない。プロデューサ16は、単一の画像40を、例えば、各ブロックに対して50のデータでパッケージ化でき、それにより、あるテスター(例えば、テスター1)は製造の許可を得て、50の製品アルファを生産するための、50のフィルタタグ1および2が得られる。別のテスター(例えば、テスター2)は、同時に製造の許可を得ることができ、画像40から50のフィルタタグ1を得て50の製品ベータを生産し、50のフィルタタグ2を得て、製品ガンマを製造できる。画像40は、複数のタイプのキーを含むことが可能で、キーイングデータのすべてを含むことができ、任意の製品タイプの単一製品を生産できる。テスターは、プログラムされている製品のタイプまたは製品モデルを、サーバー18に対して識別する。このモデル情報は、暗号化された画像40と共にHSM28に送られ、その結果、HSM28が画像40を復号するときに、キーデータ50は、フィルタ処理され、識別された製品モデルをプログラムするために必要なキーデータのみが、HSM28によりテスターにリリースされる。従って、プロデューサ12は、単一の画像40により複数の製品をサポートでき、一方、製造業者14が、製造されると考えられている製品しか製造できないことを保証する手段を取ることができる。
【0040】
画像40は複数の製品をサポートできるので、ログ記録は、テスターにおいて実行された実際のキー注入を追尾するために使用され、これは下記により詳細に説明する。ログ記録を追尾することにより、プロデューサ16は、例えば、製造業者14が、50の製品アルファ(彼等はこの製品の生産に対して支払いを受けている)の代わりに、製品ガンマを送ってきて、それにより、50の製品ベータを、グレーまたはブラックマーケットに販売できたかどうかの検出を試みることができる。そのような不一致が悪意であろうがなかろうが、いずれにせよ、合理的に識別できる。
【0041】
配信チャネル25を介しての配信から、HSM28が逆方向チャネル24を介してコントローラ16に報告するまでのキーの典型的なライフサイクルが図4に示されている。図4においてハイライトされているブロックは、セキュアモジュール、つまりHSM11およびHSM28により実行されるステップを表現している。コントローラ16はまず、外部の供給者から大量の標準キーを取得する。そして、キーをHSM11に渡し、HSM11は、各ブロックが測定された量のあるキータイプを含む、キーのブロックを暗号化する。キーは、2つ以上のキータイプを有するブロックに大量に暗号化できるということは理解されよう。そしてコントローラ16は、キーのブロックを配信することを示す命令または他のコマンドを受け取るまで、大量に暗号化されたキーを格納装置15に格納する。
【0042】
プロデューサ16がキーのブロックを配信するとき、まず大量に暗号化されたブロックを取得し、このブロックをHSM11に渡す。HSM11は、このブロックを復号し、画像キー42により、送信のためにキーのブロックを再暗号化する。画像キー42はそれ自身、各サーバー18に対して暗号化され、個々のヘッダ48を生産する。これらのヘッダ48は、主要ヘッダ46のグループ44に格納される。この時点においてHSM11は、配信のために再暗号化されたキー用の、キーからサーバーへのログ402を生成する。ログ402は、後の分析のためにプロデューサ12においてローカルに格納される。そして、再暗号化キーブロックは配信チャネル25を介してサーバー18に配信される。
【0043】
サーバー18は、画像40に含まれる暗号化キーブロックをHSM28に渡し、HSM28は、画像40を復号する。HSM28はまず、その特別なヘッダ48をグループ44から選択して、画像キー42を復号する。そして、画像キー42は復号されて、画像40からキーが取得される。その後、画像40は好ましくは、例えば、セキュアハッシュアルゴリズム、MAC、またはデジタル署名を使用して正当性が確認され、フィルタ処理される。HSM28はまた格納のために、画像40から取得した各キーを再暗号化する。サーバー18は、再暗号化キーを、機器20による後の使用のために、ローカルに格納する。画像40の正当性は、コントローラ16とサーバー18の間で共有される固有対称配信キーKs1およびKs2に基づいて仮定されているということは理解されよう。それらの間で共有されるメッセージは、例えば、sha-2ダイジェスト比較の後のように、完全性チェックが成功して実行されれば、正当なものと考えることができる。
【0044】
コントローラ16が機器20から、ある数のキー(例えば、N個のキー)の要求を受け取ると、HSM28は、復号のためのN個のキーが与えられる。そして、キーからエージェントへのログ記録404が、HSM28により復号されるN個のキーそれぞれに対して生成され、キーは注入のために機器20に渡される。この時点において、キーは「クリア状態」にあり、注入の準備ができる。
【0045】
機器20は、N個のキーのそれぞれを注入し、キーエージェント21は、キー注入ログ記録406を、注入されるキーそれぞれに対して生成する。HSM28は、連続してキーからエージェントへのログ記録404と、キー注入ログ記録406を取得し、好ましくは、これらの記録を連結してマスターログレポートRにし、それを逆方向チャネル24を介してコントローラ16に送り返す。
【0046】
個々のログは好ましくは、バイナリファイルに連結され、バイナリファイルはそのファイルが生成された日付を識別する。レポートRは好ましくは、暗号キーK1を使用してHSM28により暗号化されて、サーバー18上で起動しているアプリケーションに返され、逆方向チャネル24を介して送られる。そして、コントローラ16はレポートRを復号でき、個々のログ(例えば、402、404、406)の正当性を確認できる。各ログは、単調同期数によりタグ付けされる。まとめられたすべての記録ID値が、連続する値のセットでない場合は、コントローラ16のオペレータは、シーケンスにおいて不明のログをどこで追尾すればよいかを知ることができる。
【0047】
上述したように、コントローラ16は、以前に、それが配信されたときに、N個のキーに対して、多数のキーからサーバーへのログ記録402有している。従って、コントローラ16は、将来のある時点において、最初に配信されたキーは復号され、正しいサーバー18により、正しい装置に注入されたことを示す、各キーに対するライフサイクルを完了するレポートRを受け取ることを期待する。コントローラ16は、このようにして、ログレポートが提供されたときにそれを評価できる。そして、コントローラ16は、製造作業への介入(例えば、配信の停止)、更にキーを提供するなどの行動を取る必要があるかどうかを判定できる。コントローラ16は、更なるキーブロックを配信する前に、更なる情報もまた要求できる。このようにして、コントローラ16は配信を計量でき、製造業者が忠実に作業を進めていて、正確なログ記録を一貫して提供しているときのみ更にキーを提供できる。
【0048】
ログ記録(例えば、図8に示されているような)により、プロデューサは、ID番号のシーケンスにおける不連続性を突き止めることができる。例えば、多数のキーが配信されたが、キーからエージェントへのログまたはキー注入ログを報告していなければ、製造業者はそのキーを失った可能性がある。これは、グレーまたはブラックマーケット活動の可能性を示している。別の状況では、レポートRは、特別なキーに対しては、キーからエージェントへのログ404を含むことができるが、キー注入ログを含むことができないことがある。これは問題が、製造業者14それ自身ではなく、キーを要求した特別な機器において発生した可能性を示している。従って、製造業者14は、目的を監査するためにログ記録Rを使用して内部の悪意のある行動を識別し、プロデューサ12との関係を維持するようにできる。各キーのライフサイクルは、キーに対して操作が行われる各重要な段階においてレポート記録を要求する。従って、プロデューサ12は、問題がどこで起きたかを識別して、そのような問題を補正または削除するような努力を指示するために必要な情報を有している。好ましくはログ記録は、キーに対するシーケンス番号だけでなく、キータイプにも関連する情報を含む。このようにして、プロデューサ12は、ガンマおよびベータ製品が生産されてから、アルファ製品は委託されたかどうかを判定できる。
【0049】
ログレポートは、製造業者14による悪意のある、または倫理に背く行動を防ぎ、かつ存在する製造業者14の完全性を評価する手段と、いかなる望ましくない行動に対する証拠を提供するツールとを提供する情報を提供する。望ましくない行動を検出する際の明白な証拠を使用することにより、プロデューサ12は、疑い以上の確信を持って製造業者14と相対することができ、禁じられた行動がテスターレベルで起きていた場合(例えば、従業員であり、会社自身ではない場合)は、プロデューサ12と製造業者14の間の重要な関係を回復することができる。
【0050】
配信に加えて、コントローラ16は制御チャネル26を使用して、クレジットプール30を制御し、これによりキー注入段階を計量する。クレジット指令手順は、図6に示されている。HSM28は、配信画像40を復号してキーを得るときは、クレジットプール30からクレジットを消費しなければならない。時間が経つと、クレジットプール30は減少し、コントローラ16から送られるクレジット指令ファイルにより補充する必要がある。
【0051】
コントローラ16は、制御チャネル26を介して、一度に1つの制御メッセージCのみを送る。このメッセージに含まれる、要求されるファイルの1つは、好ましくはクレジット指令ファイルである。このファイルは、特別なサーバー18に対する暗号化されたデータのセットであってよく、HSM28によりクレジット指令に復号される。このクレジット指令は、例えば、HSM28および/またはサーバー18のシリアル番号、サーバーのトークンID、シーケンス番号、新しいクレジット量、および構成データを含み、これらはすべてコントローラ16により署名されている。
【0052】
制御メッセージCを受け取ると、HSM28は、制御メッセージCからクレジット指令データを復号し、署名の正当性を確認する。HSM28はまた、可能であれば、それ自身のシリアル番号とトークンIDの正当性を確認する。そしてシーケンス番号の正当性の確認が実行される。シーケンス番号は、HSM28内部に格納されたシーケンスよりも大きくなければならない。いったんその正当性が確認されると、HSM28は、その内部のシーケンス番号を更新し、クレジットプール30の値を、クレジット指令内のクレジット値に設定する。
【0053】
そしてHSM28は、制御メッセージC内の任意の構成メッセージを処理してその内部構成を更新し、それにより、コントローラ16は、フィルタ処理ルールの更新、キーイング情報、クレジットルールなど、GUI13に関連して上記で説明した構成データをサーバー18に送ることができる。構成データはHSM28、サーバー18上で起動しているアプリケーション、またはキーエージェント21に対しても意図されたものであってよい。HSM28は、定義されたタイプの構成メッセージを探してそれらを処理する。構成データは、私的または公共と印を付けることができ、そこへのアクセスは、HSM28により制御される。
【0054】
クレジットレポートCrは、制御メッセージCのクレジット指令の処理に対する応答である。クレジットレポートCrは、シリアル番号とHSM28のトークンID、現在のシーケンス値、クレジットプール30の現在の値、現在までの補充回数、およびクレジット指令処理の間にエラーが起きなければゼロに設定されるエラーコードを含むことができる。
【0055】
クレジットレポートCrは好ましくは、HSM28がその署名キーk2を使用して署名される。そしてレポートCrは、コントローラの公開暗号キーk3を使用してコントローラ16に対して暗号化される。レポートCrは、この後、コントローラ16に送られ、上述した監査目的のためのログレポートRと共に格納される。
【0056】
キーの配信に先立ち、プロデューサ12と製造業者14は、HSMとサーバー18を初期化するための供給手順を経験できる。供給手順は図5に示されている。HSM28は供給要求メッセージPを生成してコントローラ16に送る。このメッセージPは好ましくは、サーバー18により使用されているHSM28のシリアル番号を含む。HSM28は2つの暗号キー対k1、k2を生成し(例えば、RSAキー対、または好ましくは、楕円曲線暗号(ECC)を使用して)、1つ(k1)は暗号化されたメッセージを受け取るため、他の1つ(k2)は、送られるメッセージに署名するためである。好ましくは、製造業者14は、キー対k1とk2のこの交換の間に、物理的に制御された環境に暗号的にブートストラップされる。
【0057】
コントローラ16がサーバー18から供給要求を受け取ると、その要求をHSM11に渡し、HSM11はメッセージの完全性をチェックし、製造業者14に「トークンID」を割り当てる。2つのキー、好ましくは対称キーks1とks2(例えば、AES(AdvancedEncryption Standard)キー)が生成される。これらのキーはコントローラ16とサーバー18により使用され、上述したように、配信チャネル25上の配信画像40と、逆方向チャネル24上のログレポートRを保護する。
【0058】
そしてHSM11は、例えば、割り当てられたトークンID、HSM暗号の公開キーおよび署名キー対k3とk1それぞれと、配信および逆方向チャネル対称キーks1とks2、ある初期構成データ、および完全性のためのハッシュダイジェストを含む供給応答メッセージP’を生成する。供給要求メッセージPと同様に、供給応答メッセージP’は、物理的に制御された環境において扱われる(例えば、HSM保護を使用して)。
【0059】
そして供給応答メッセージP’はサーバー18に送られ、サーバー18は、その第1供給要求を受信すると初期化操作を実行できる。供給応答の構造は、コントローラ16とサーバー18の間の順方向および逆方向チャネル通信に対する対称キーを含む分離構造に復号するメンバーを含むことができる。これらのキーは、各HSM28(そして各サーバー18)に対して区別されており、HSMのグループ間では共有されない。いったん供給手順が完了すると、配信画像40と制御メッセージCの通常の交換が開始できる。
【0060】
図9に示される別の実施形態においては、システム10を、キー注入段階を保護するために、製造業者14により実装された既存のソリューションに後付けできる。図9に示される実施形態において、同じ構成要素には、同じ参照番号に接尾文字「a」を付けている。例えば、製造業者14は、文字列「BCA」を「ABC」に変換するスクランブラ74を既に含む機器20aを有することができ、装置22は、注入されたキーとしてABCを容認するために接続されている。このように、キー「BCA」が盗まれ、または違う場所に置かれた場合は、スクランブリングが起こらないので、装置22aに対しては機能しない。キーを保護するこれらの試みは、実装は容易であるが、典型的に単純であり、保護の適切なレベルを提供しない。そのような保護機構を取り込むことにより、システム10は、既に実装されている既存のソリューションを元に戻すことなく機器20aに後付けできる。従って、システム10を実装することによる製造業者14への追加コストを回避できる。後付けは、図1に示されている配置が使用できる、完全な再設計が保証されるまで実装できる。
【0061】
既存のソリューションを取り込むために、システム10はサーバー18において、特別な機器20aに関連付けられた実行可能ファイルの収集体であり、HSM28がキーをリリースした後、そしてキー注入の前に既存のソリューションを実行する、署名付きオブジェクトのセット72を格納している。このようにして、キーは、機器20aに知られることなく、既存ソリューションを取り込むために変更される。図9に示されているように、コントローラ16はまず、機器20aにより既存ソリューションを提供するために使用される実行可能ファイル(exe)にアクセスする必要がある。そして、コントローラ16aは、exe70をHSM11aに渡す。HSM11aは、exe70に署名して、署名付きexe70をHSM28aに渡し、HSM28aは署名付きexe70を、署名付きオブジェクト72として格納する。動作において、機器20aがキーの新しい束を要求すると、サーバー18aはexeを、HSM28aに格納されているexeの署名に対してその正当性を確認する。サーバー18aがいったんexe72の正当性を確認すると、そのexeキーをスクランブルするために送る。
【0062】
例えば、機器20aは、キーBCAを装置22aのスクランブラ76に供給して、キーABCが製品アルファに注入されるように要求する。HSM28aは、製品アルファが、キーABCを修正するための署名付きオブジェクトexeAを有していると判定する。署名付きオブジェクトexe Aは検証されて、キーABCに適用され、スクランブルされたキーBCAという結果になる。そして、スクランブルされたキーBCAは機器20aに送られ、スクランブラ76はキーBCAを修正して、それがキーABCを注入するようにする。機器20aは、キーBCA(受け取ったもの)がサーバー18aによりABCという保護された形式で格納されたことは認識しない。サーバー18aにより格納されたキーは、CABのような形式であってもよく、スクランブリングのためにBCAとして読まれるように修正され、注入のためにABCと変換されてもよいことは理解されよう。そのようなことは、キーCABが標準形式であり、CABがキーとして容認されない既存ソリューションに適合するために修正されなければならないときに起こる。従って、署名付きオブジェクト72は、機器20aにより実装された既存ソリューションを取り込むために必要なプログラムは如何なるものでも含み、上記の例は、例示のみの目的のためである。
【0063】
署名付きオブジェクト72は、署名付き実行ファイルは典型的に、キーに適用される前に、マシンへリリースされるキーに対して検証されているので、悪意のあるコードがサーバー18aにロードされて注入前にキーを修正することも防止する。システム10は、このように、既存ソリューションを取り込みながら、セキュリティのより増大されたレベルを提供できる。
【0064】
従って、サーバー18から分離したリモートシステムコントローラ16を利用することにより、プロデューサ12は、製造業者14の行動を監視でき、HSM28を介してクレジットを計量できる。プロデューサ16はこのように、キーイング情報を装置22に注入することを管理でき、製造業者14がアイデンティティと製造されたユニット数をプロデューサ12に対して正しく報告することを保証できる。これにより、プロデューサ12は、製造業者14がグレーまたはブラックマーケット製品または装置22を作成して配信していないという保証を有することができる。
【0065】
上記の手順と、適切に配置されたシステム10により、プロデューサ12は、製造業者14における生産を監視できる。プロデューサ12は、制御メッセージCにおけるクレジット指令を使用して、製造業者14により使用できるクレジットを追加または除去することにより装置22の製造を計量できる。
【0066】
システム10は、図1に示されているように1つの製造業者14に制限されるわけではなく、また各製造業者14は1セットの機器20に制限されるわけではないことは理解されるであろう。システム10は、単一のコントローラ16の使用にも制限されていない。HSM28は、キー値と、クレジットプール30の完全性を保護するための最も好ましい信頼できるハードウェアである。更に、配信画像40に含まれるキーイング情報は、必ずしもキーイング情報である必要はなく、機密性と認証を要求する如何なるデータ要素であってもよい。キーイングデータの必要条件は、装置の起動の精度を補強しようと望むシステム10に典型的である。
【0067】
図10−14に例示され、下記により詳細に記述される代替の機構においては、過剰生産は、シリコンまたは装置製造工程内で、責務の分離を導入することで防止できる。典型的には、プロデューサ12は、製造の種々の段階を複数の契約者に外注する。一般的に、責務の分離は、シリコンチップまたは他の装置に対する製造段階を意図的に分離することに関連し、それにより、最終製品が各下請契約者により「接触」されなければならず、それにより最終製品が完全に機能するようにするためである。グレーマーケットは典型的には、製造チェーンにおける単一の不履行より、または単独の背信契約者により供給されるので、複数の契約者に順々に作業してもらうことを強制することは、グレーマーケットに正常な副構成要素または装置を供給するためには、2人以上の下請契約者がプロデューサ12に対して共謀しなければならないことを意味する。最終製品およびその副構成要素は、完全に機能するためには、すべての製造段階を完了しなければならない。一般的に、プロデューサ12に対する攻撃の危険性は、複数の下請契約者が盗みのためには共謀することを要求されるときは大幅に減少する。
【0068】
シリコンウェーハーの生産において、典型的に数段階が発生し、それらはしばしばいくつかのサードパーティの製造業者に分割される。チップを設計するプロデューサ12は、その設計をデータファイルまたは複数のデータファイルにおいて作成し、それらはしばしば「ネットリスト」と称される。ネットリストは記述言語を、サードパーティにマスクを、そしてその結果、そこからICがパッケージ化されて配送されるシリコンのウェーハーを、どのように生産するかを指令するコンピュータコードの形式で含む。
【0069】
例えば、例としての製造工程において、マスクはプロデューサ12からシリコン制作者に送られ、その制作者はマスクからシリコンウェーハーを製造する。ウェーハーは、ウェーハーテスティング設備に送られ、そこで個々のチップがウェーハー上で直接テストされ、電子的に点数を付けられ、切断されるときに、合格した個々のチップのみがパッケージ化設備に転送される。パッケージ化設備は、シリコンを結合してチップパッケージにパッケージ化し、再び最終パッケージ化チップをテストする。完成したチップは典型的にはOEMに送られ、そこでチップは、完成した装置製品の一部である印刷回路基板上に搭載され、完成した装置製品は、流通チャネルに送られ、最終的にカスタマの元に送られる。
【0070】
上記に例示した製造工程は一般的に複数の段階を含み、それは設計と、シリコンチップを装置に統合するときの間に起こる段階であり、つまり、制作、テスティング、パッケージ化、および設置である。これらの段階すべてが、単一の設備において起こり、任意数Nの段階までの数の、より多くの段階があってもよいことは理解されよう。これらの段階のそれぞれにおいて、過剰生産および生産高縮小が起こる機会がある。
【0071】
ここで図10を参照すると、プロデューサ12はマスク90を設計する。マスク90は登録された装置22、この例ではICを生産するために使用される。装置22は、その設計に含まれる機密または不変情報のある形式を含み、好ましくは、そのような機密情報がなければ作動できない。プロデューサ12はこの例では、装置22の製造全体における特別な段階を実行する2つまたはそれ以上のサードパーティの製造エンティティと契約する。図10は第1製造段階100と、第2製造段階102と、任意の第N製造段階104までを示している。
【0072】
プロデューサ12はマスク90を、製品配信チャネル80を介して配信する。マスク90は第1製造段階100に送られ、そこで、シリコンウェーハーの生産のような製造の一部が行われる。第1段階100が完了すると、その結果としての部分的完成品は第2製造段階102に送られ、ウェーハーのテスティングのような、製造の第2の部分が行われる。これが第N段階までの各段階において繰り返されて、最終的に完全に機能する登録された装置22が配送エンティティ106に出荷される。
【0073】
不完全な製品または副構成要素が、製造エンティティ100−104の1つにおいてグレーマーケット110へ横流しされることを防止するために、「責務の分離」が適用される。責務の分離は、各製造段階での製造とデータプログラミングの責務を分割することであり、それによりすべての責務は、正常な装置製品を完成するために必要な意図された順番で、意図された契約者により実行されなければならない。この例において、暗号データの注入のような機密作業は複数の段階で行われ、それぞれの段階は、別個の製造エンティティにより、別個の製造段階で実行される。機密作業を分離するために、プロデューサ12は登録モジュール92を、マスク90において定義される設計に組み込む。モジュール92は、マスク90が装置22を生産するためにコンパイルされるとき、数学的変換により、ブート信号のような、シリコンチップ内の重要な信号およびデータフローが傍受され、もし数学的変換が作動できない場合は、装置22は正常ではないように使用される。数学的変換は好ましくは、性能上の理由で、排他的論理和(XOR)演算を幅広く利用する暗号変換であるが、これは必要条件というわけではない。数学的変換が作動できるようにするために、それは、製造工程の各段階において、暗号キーイングデータ部分のような重要なデータを、段階的に増加していく注入または追加により登録される。このようにして、第1段階100において生産されたウェーハーが過剰生産であり、図10に示すようにN110を介してグレーマーケット段階2へ供給されると、その製品112は、典型的には、それが適切に作動するために必要な暗号データのすべては受け取っていないので正常ではない。
【0074】
好ましくは、図10に例として示されているように、上記の図1−9に示されているキー注入システム10を、各製造ステップにおける配信、計量、およびキー注入段階の報告を要求するために使用できる。この場合、すべてのエンティティがグレーマーケット製品を配信するために共謀したとしても、プロデューサ12はこの行動を、不完全なログレポートにより検出でき、必要であれば、更なるキーイングデータの配信を防止できる。または、システム10を、それぞれの段階で使用する必要はなく、または如何なる段階においても全く使用する必要はなく、任意の数の段階で使用できることも可能であることは理解されよう。例えば、第2段階102はシステム10を利用するが、他の段階は使用しなくてもよい。しかし、各製造段階は好ましくはテスティング手順のある形式を含むので、システム10をそのようなテスティングに組み込むことは有効である。この状況においてプロデューサ12は、第2段階の間でのデータを少なくとも予測する。モジュール92がシステム10に依存せずに、各製造段階に依存して、キーイング工程の一部を実現するために使用できることは理解されよう。これらの状況のいずれにおいても、責任を分割することにより、いずれのエンティティも必要な情報を自分自身で有して、首尾よくグレーマーケットに製品または副構成要素を供給することはできない。
【0075】
マスク90は図11においてより詳細に示されている。上記で検討したように、登録モジュール92を任意のマスク設計に組み込むことができ、マスク90は、指令のセットまたはコードラインを実行するようにプログラムされ、部分的に、カスタマコード120の一部分と、カスタマコード122の別部分の間の1つにパス(好ましくは、装置の作動にとって重要なもの)内のモジュール92で定義される内容を挿入する。パス124を介してモジュール92に入力されるデータは、暗号トランスフォーム128に適用されて、パス126を介してカスタマコード部分122に出力される。パス126に存在する出力は好ましくは、暗号トランスフォーム128が首尾よくパス124におけるデータ入力に適用された場合のみに使用できる。暗号トランスフォーム128は好ましくは、その操作を実行するために、メモリ130、プロセッサ132、および暗号キー134と共に機能する。メモリ130、プロセッサ132、および暗号キー134は好ましくは、各製造段階に存在するキー注入システム10を使用して構成される。メモリ130は別の暗号キー131も含み、それは一般的に、各段階で、好ましくは図10に示されているようにキー注入システム10を使用する注入を介して累積されたキーイング材料を含む。好ましくは、キー134は注入時に使用され、メモリ130に累積された、キー131を構成する材料が正当なものであることを保証する。キー134は公開キーであってよく、または必要であってもそうでなくてもよい。例えば、モジュール92はキー134がなくても機能できるが、特別なプロデューサ12に適切または適切でない、あるクラスの攻撃の潜在的危険性が伴う。
【0076】
一般的に、モジュール92により使用される機密データは複数の部分に分割され、各部分は、製造工程の各段階でキー131に追加される。例えば、1つの技術は、製造工程での各段階で、メッセージリカバリによりデジタル署名を注入することである。キー134はデジタル署名の正当性を確認するために使用でき、それを行う際に、正当性が確認されたデジタル署名は、メモリ130における既存のデータにより、暗号キー131を導出するキー導出方式で使用できるメッセージを生成する。別の例は、キーシャドウイング技術を採用することであり、暗号キー131の個々の部分が種々の製造段階でメモリ130に追加される。最終製造段階が完了すると、メモリ130は十分なデータを含み、それにより、キーシャドウ技術が暗号キー131を再構成するために使用できる。
【0077】
第1製造段階100の例が図12に概略的に示されている。上記に示したように、プロデューサ12は好ましくは、キーイングデータの配信およびキーイングが発生したときに生成されるレポートの監視のためにシステム10を利用する。シリコンチップへのキー注入は典型的に、ウェーハーテストまたは後のパッケージテストにおいて発生する。この例では、段階100は、テスティング機器20と共に作動するサーバー18とキーエージェント21を含む。段階100は、例えば、シリコンウェーハーを生産するための生産機器139も含む。生産機器139は、チャネル80を介して配信されたマスク90を使用して部分的に製造された装置1140を生産する。この例における下付き数字「1」は、装置22に適用された機密データの第1部分を表現するために使用され、ここにおいて好ましくは、機密データの第1部分は、機器20のキーエージェント21を使用して注入される。好ましくは、この時点において装置1は、トランスフォーム128がその操作を実行するために必要なデータをすべては有していないという理由で、まだ完全には機能しない。次に、装置1は第2製造段階102に配送できるようになる。
【0078】
図13は、2つの別個の製造段階(つまりN=2)を含む、例としての製造工程を示すフローチャートを提供する。ステップ500においてプロデューサ12は段階数を決定し、それにより注入されるキーイングデータの部分数、この例ではN=2を決定する。ステップ502においてプロデューサ12は好ましくは、各製造段階をチャネル24、25および26を介してそれ自身に連結するキー注入システム10を確立する。上記に図1を参照して検討したように、プロデューサ12は単一のコントローラ16を使用して複数のサーバー18と通信する。この例では、プロデューサ12は、2つのサーバー18からのログ記録を配信、監視、および受信する。
【0079】
ステップ504においてプロデューサ12は、マスク90で定義されるその設計に登録モジュール92を組み込む。マスク90は、ステップ506において製造工程の段階1を実行するために第1製造業者100に配信され、段階1は、ステップ508で実行される。例えば、第1製造業者はウェーハーを生産し、マスク90に適合するチップを作成する。そして、ウェーハーテストの間、製造業者は、ある部分的キーイング材料をメモリ139にプログラムする。機密データのこの部分はステップ510で挿入され、サーバー18は、好ましくは、上記にその概要を示した機構を使用して、ステップ512においてプロデューサに報告する。または、段階1は、いかなる機密データの注入も取り扱わず、この操作を段階2においてのみ実行することもできる。
【0080】
キーイングデータの第1部分がチップまたは装置にプログラムされると、その製品は部分的なキーイング情報のみを含むことになり、適切に作動するには十分ではない。図13は、装置1により表現されていて、ここで下付き数字1は、上述したように、第1部分を表現している。部分的に生産され、部分的にプログラムされた装置1は、ステップ514において段階2に配送され、ステップ516において実行される。次いで、製造業者102はステップ518において、キーデータの第2部分を注入する。例えば、ステップ518において、第2製造業者102は、追加キーイング情報をプログラムでき、または、ステップ510の間にメモリ130に格納された部分的キーデータと、ステップ518において使用されたシステム10からの新しいキーデータを使用して暗号キーイング情報を導出できる。この導出ステップは、ハッシュまたは、おそらくはより高度なキーシャドウイング技術に基づくことができる。好ましくは、ステップ520において、第2製造業者102はプロデューサ12に、第2キー部分が首尾よく注入されたことを折り返し報告する。プロデューサ12はこの段階で、キーデータが首尾よく挿入されたことを示す2つのログ記録を有しており、この情報を使用してその記録を監視できる。
【0081】
キーイングデータの第2部分が挿入されると、装置22は、この例においては、完全に生産され、完全に登録され(例えば、テストされ、パッケージ化されたIC)、図13においては装置12により表現されており、ここにおいて下付き数字12は、キーデータの完全なセット、つまり、データ部分1とデータ部分2を表現している。装置12はステップ522において配送チャネルへと続き、最終的にはステップ524において、機能する製品として、カスタマの元に到達する。
【0082】
図13にこれもまた示されているように、例えば、第1製造業者100またはその従業員が、ステップ526でグレーマーケット製品を、ステップ528における代替配送チャネルを介して配送しようとすると、装置1は、そのキーデータの第1部分しか含まず、そのためトランスフォーム128はその操作を実行できないので、正常でない製品がステップ530においてカスタマに提供されることになる。従って、グレーマーケット段階2においてテスティング、パッケージ化などが実行されても、追加のキーイングデータが提供されず、そのため、製品530は製造の全工程が行われるが、完全には登録されておらず、そのためその製品は正常ではない。モジュール92は、好ましくは、改竄防止手段が考慮され実装されるように実装されるということは理解されよう。
【0083】
ここで図14を参照すると、モジュール92aを組み込んだ、完成したカスタマ製品22aの概略例が示されており、ここにおいて、モジュール92aは図11に示されているモジュール92に対する物理的レイアウトを論理的に明示したものである。図14においては明確性のために、同様な参照番号は添え字「a」が付けられている。モジュール92の実装(例えば、92a)を使用している製品22aは、強制ブロック150の一部である、暗号トランスフォーム128aを、コード120aと122a間の製品の重要なデータパスに適用することができる。パスは、トランスフォーム128aを介して復号され、それによりカスタマの論理122aは適切に機能する。この例において、プロセッサ132の実施である検証132aが実行される。検証132aは、ワンタイムプログラマブル(OTP)メモリ130aと、図11のキー134の実装であるアイデンティティ部分134aを使用する。キー134aとメモリ130aには、例えば、図13でその概要を述べた手順を使用して機密データが注入される。製品22aは、モジュール92(例えば、モジュール92aのような)により提供される論理を組み込んだ1つの実装に過ぎず、図14に示されている例は、例示の目的のためのみであることは理解されよう。
【0084】
上記は、ある特別な実施形態を参照して説明されたが、その種々の変形例は、この技術に精通した者には明白であろう。
【0085】
本発明の実施形態が、付随する図を参照して、例としてのためにのみ説明される。
【技術分野】
【0001】
本発明は一般的に、機密データを内部に有する装置の製造に関し、特には、そのような機密データをそのような装置に注入することを遠隔的に制御および監視することに関する。
【背景技術】
【0002】
暗号的に安全な通信システムに関与する装置は、典型的に、製造時にその装置に注入された、あるタイプの固有かつ不変情報を有している。この情報は、暗号キー、共有秘密、あるいは、その装置の本質的に固有な属性に暗号的に結び付けることができる他のデータであってよい。そのような情報は、一般的には「キー」と称され、情報の注入は、一般的には、装置に対する「キーイング」、または「キー注入」と称される。
【0003】
キーを注入する目的は、装置が配送された後の将来のある時点において、その装置が、安全通信システムの正規の参加者であると容認してもらうことを保証するためである。しかし、装置のプロデューサは、しばしば、装置が合法的に製造されることを保証したいと所望し、そのため、装置に注入されるキーを保護したいと所望するであろう。プロデューサは、キーの認証は、安全システムおよびその内容などに対して、条件付きアクセスを提供するので、典型的には、将来の利益を保護するためにキーを保護しようとする。注入されたキーもまた、それが装置のカスタマまたはユーザーが、装置を登録するために必要な冗長な手順を避けることを可能にするので重要である。
【0004】
装置には、キーが信頼できるという暗号による認証に基づいて、システムへのそのような条件付きアクセスが認められる。この信頼は、信頼されるデータを製造工程の外部で複製することは非常に難しいという事実に基づいている。条件付きアクセスを提供するシステムは、例えば、衛星テレビおよびラジオなどのように、継続的に情報を放送するが、その内容へのアクセスを制御し、それによりそのような内容を提供することに対する利益を制御したいと所望するシステムが含まれる。これらのシステムは、製造工程および相手先ブランド供給業者(OEM)、特にキーの注入を信頼することにより、装置に対する、そして最終的には、安全通信システム全体に対する信頼の基盤が提供できる。
【0005】
装置に注入されるキーは、標準フォーマットであることもあり、例えば、とりわけユーザーのPCからモニタにケーブルを介して送られるときにデータを保護するために使用される、HDCP(High Definition ContentProtection)キーのように行政機関から購入できる。行政機関は、このように、装置のプロデューサに配信されたキーが保護され失われないように保証することに関心を有している。これは、プロデューサに対して責任を課し、注入されたキーを保護することに対する重要性を増大する。ある場合には、プロデューサ、キーの喪失またはキーの複製により罰金を科せられることもあり、キーを扱うときにこれらを無視しているという世評が立つと、行政機関は、キーの配信を制限または厳しくすることもある。この関係を維持することは、プロデューサにとってしばしば重要であり、キーが、装置が他の装置および/または基盤と互換性があるために必要な標準フォーマットである場合は特に重要である。この場合は、特別なキーを使用できなければ、装置は意図された通りには作動しない。
【0006】
装置がどんどん複雑になり、高度化されていく最近のビジネス環境においては、個々の部品が1つの製造業者により製造されてキーイングされ、別の製造業者が後のアセンブリを受け持つということは普通である。そのような状況においては、装置のプロデューサまたは通信システムの所有者が、装置の製造業者ではないというあるセキュリティの関わり合いが存在する。したがって、装置のプロデューサにとっては、プロデューサの装置の完全性に対して責務がある製造システムの完全性を保証することは最も重要なことであり得る。
【0007】
製造過程の完全性を考えるとき、特に関心のあるのは、製造業者が、製造されたユニットのアイデンティティと数を正確にプロデューサに報告することを保証することと共に、装置を製造するために使用された秘密情報の機密性に関する問題である。理想的には、装置のプロデューサは、製造業者が「グレー」または「ブラック」マーケット部品または装置を作成し、配送していないことの保証を得ようと試みるべきである。例えば、ある数のキーイングされた製品をプロデューサに送り返したが、なお、残ったキーを有している製造業者は、それらの余分のキーにより、装置を製造して販売できる。これによりプロデューサは、製造業者が販売から利益を得る一人なので、利益を失ったことになる。キーのクローンを作成したりキーを盗んだりすることも起こり得、それはキーイング工程が外部委託されているときは、検出または制御するのは難しい。ある場合には、キーがインターネットで発行され、ユーザーが、そのようなサービスに対して支払うことなく、条件付きアクセスシステムへのアクセスを得られることもある。
【0008】
伝統的に、製造現場における情報注入段階の安全性に関心のあるプロデューサは、製造業者が、プロデューサの装置およびそのシステムの安全性に適切な考慮を払うような方法で作業していることを暗黙的に信頼する以外、ほとんど選択の余地はない。保護機構は一般的に単純であり、それは、キーイング情報は典型的には、大量に暗号化されて製造業者に送られ、そこでは到着すると、すべてのキーイング情報は直ちに復号され、そして製造業者は、大量の情報を損なわない信頼されているという機構であることによる。
【0009】
キーイング情報へのアクセスを制限する1つの方法は、オンラインのクライアントサーバー機構を使用することである。そのような機構が適所にあれば、製造業者の設備におけるクライアントは、ネットワークへ接続され、プロデューサの制御下にある遠隔キー提供サーバーに対して、装置ごとのキーイング情報を要求する。
【0010】
キーイング情報をそのようなジャストインタイム方式で提供する、オフサイトの、遠隔的にネットワーク化されたサーバーに依存する製造システムを実現することについては多数の問題がある。最も重要な問題は、それが公共パケット交換ネットワークを使用している場合は、オフサイトサーバーが、製造ラインに対して最低のサービスレベルまたは応答時間を保証できないということである。製造ラインにおける問題を回避するためには、待ち時間およびスループットという点におけるサービスのあるレベルは最適である。生産ラインがプロデューサに対して遠隔的な管轄内にあるという、現代の製造の現実を考慮すると、そのような保証されたネットワークの利用可能性は、とてつもなく高価なものになってしまう。
【0011】
製造設備は、典型的には、データ材料も含めて、必要な材料がすべて手元に揃わない限り、生産運転を開始しない。そうでなければ、生産ラインの遅延のリスクはあまりにも高すぎる。製造業者により使用されるいかなるキーイングシステムも、実質的にサービスの利用可能性を保証し、適切な応答を提供できなければならない。これは、生産運転の開始前に、すべてのデータリソースとキーイング情報のローカルな利用可能性を必要とする。
【0012】
すべてのデータリソースが、おそらくはコンピュータシステム上に、およびプロデューサの直接制御下にはない媒体に存在して、生産ラインに対してローカルに利用可能でなければならないことを考えると、プロデューサは、すべての秘密キーイング情報の機密性をどのように保証するかを考えなければならない。
【0013】
製造運転を開始して終了するためには、十分なデータが、製造業者に対してローカルに利用可能でなければならない。プロデューサが、製造業者による許可されていない、契約に反する行為を発見したときには、プロデューサは、契約が切れた後に、そのような悪い製造業者が、グレーまたはブラックマーケット製品を生産することを防止する方法を考えなくてはならない。
【0014】
複製に関する別の問題は、複製操作の特別なタイプである過剰生産に起因し、それは、シリコンチップのプロデューサにとっては、特別な関心事である。過剰生産は、集積回路(IC)のプロデューサが、彼らのIC設計の製造を、1つまたは2つ以上のサードパーティの製造会社に外部委託するときに起こり得る。製造ステップのある部分またはすべてを外部委託する目的は、製造工程においてある特別な段階を行うことに対して最善のコストを提供できるサードパーティを選択することにより生産コストを下げることである。例えば、設備を所有していない設計事務所(例えば、プロデューサ)は、海外の製造設備と、彼らが設計したチップの生産の契約をしたいと所望するであろう。そのような海外の製造設備は、相対的に低価格で電子機器を生産できるので選択されることがよくある。
【0015】
しかし、外部委託は一般的に、特別な契約者が、グレーマーケットに供給するために、生産を契約した製品を過剰に生産するという危険性を増大する。例えば、契約者が信頼を裏切って、プロデューサから提供された設計からICを過剰に生産し、プロデューサにはそのように過剰に生産したことは報告しない場合は、余分な製品が、「贋物」または「複製」ICとして、グレーマーケットチャネルにおいて販売されるようになる。これによりサードパーティ製造業者は、特別な利益と蓄財を、カスタマ、つまりプロデューサ/設計者に対する将来の製品需要と利益を犠牲にして、実現できるようになる。
【0016】
上記のようなことは、そのような状況においては、プロデューサは、生産フェーズの最初において、技術サンプルを受け取る以外に、製品を一切扱わないことがよくあるために起こる。従って、製造工程の各段階において、設計に続いて、部品と製品を盗み出す機会がある。ある場合には、忠実な契約製造業者の従業員が盗人である可能性もある。従業員が製造ラインから直接製品を盗むことによる「生産高の縮小」も起こり得る。これは、プロデューサと契約製造業者にとって、利益の喪失による不利益となるばかりでなく、将来の仕事を行っていく上でのプロデューサと製造業者の間の関係にとっても不利益となる。
【0017】
従って、本発明の目的は、上記の不都合な点を除去あるいは緩和することである。
【発明の概要】
【課題を解決するための手段】
【0018】
本発明は、製造工程の少なくとも一部に対して別のエンティティを使用したいと所望するプロデューサが、離れた場所から、装置の生産を監視し、保護できるようにするシステムと方法を提供する。
【0019】
本発明はまた、過剰生産および生産高の縮小によるグレーマーケット製品を回避するために、異なるエンティティの間で、製品に機密データを追加することを分離するための手段も提供する。
【0020】
1つの形態において、本発明は、装置の生産中に、装置に機密データを注入することを遠隔制御するための方法を提供する。本方法は、コントローラが機密データを用意し、データ送信において、機密データを暗号化して保護するステップと、コントローラが、データ送信を、暗号化操作を実行するセキュアモジュールを有するサーバーに対して送るステップと、セキュアモジュールが、データ送信から機密データを抽出するステップと、サーバーが、装置に注入するための機器に機密データを提供するステップを含み、コントローラは、サーバーから離れて位置している。
【0021】
別の形態においては、本発明は、装置の生産中に、装置に機密データを注入することを遠隔制御するためのシステムを提供する。本システムは、暗号操作を実行する第1セキュアモジュールを有するコントローラと、コントローラから離れて位置し、コントローラに、順方向チャネルと逆方向チャネルにより接続されているサーバーであって、ここにおいて、順方向チャネルは、データ送信をサーバーの第2セキュアモジュールに提供するためにコントローラにより使用され、データ送信は暗号的に機密データを保護し、第2セキュアモジュールは、送信からデータを抽出するという、サーバーと、送信からデータを抽出すると、データを注入するために使用される機器と共に作動し、第2セキュアモジュールからのデータを取得するエージェントを備える。
【0022】
更に別の形態においては、複数の段階において装置に機密データを挿入することを制御するためのモジュールが提供される。本モジュールは、装置におけるデータフローと、メモリに格納されている暗号キーを傍受して変換する暗号トランスフォームであって、それぞれに段階において、機密データの一部が暗号キーに追加され、暗号キーは、その操作のためにトランスフォームにより使用されるという、トランスフォームを含み、暗号トランスフォームは、機密データの挿入が成功すると、データフローを正しく変える。
【0023】
更に別の形態においては、装置への機密データの挿入を制御するための方法が提供される。本方法は、装置におけるデータフローを傍受して変換するための暗号トランスフォームを有するモジュールを装置に含むステップと、装置の生産における複数の段階のそれぞれで、モジュールのメモリに格納された暗号キーへ機密データの一部を追加するステップを含み、暗号トランスフォームは、機密データの挿入が成功すると、データフローを正しく変える。
例えば、本発明は以下の項目を提供する。
(項目1)
装置の生産中に、その装置への機密データの注入を遠隔的に制御する方法であって、
コントローラが上記機密データを用意し、データ送信において暗号的に保護するステップと、
上記コントローラが上記データ送信を、暗号操作を実行するセキュアモジュールを有するサーバーに送るステップと、
上記セキュアモジュールが上記機密データを、上記データ送信から抽出するステップと、
上記サーバーが上記機密データを、上記装置への注入のための機器に提供するステップを含み、
上記コントローラはサーバーから離れて位置している方法。
(項目2)
上記セキュアモジュールが上記コントローラに対して、上記機密データの使用に関するログレポートを用意するステップを更に含む項目1に記載の方法。
(項目3)
上記抽出ステップは、上記セキュアモジュールが、上記データ送信に含まれるヘッダを復号してキーを取得し、上記キーを使用して上記送信を復号してそこから上記データを抽出することを含む項目2に記載の方法。
(項目4)
上記コントローラは上記データ送信を送ると、第1ログ記録を生成し、上記第1ログ記録は、上記ログレポートとの比較のために上記コントローラにより格納され、上記セキュアモジュールは、上記データを上記機器に提供すると、上記データの上記機器への配信を示す第2ログ記録を生成し、上記第2ログ記録は、上記ログレポートに含まれる項目2に記載の方法。
(項目5)
上記サーバーが、上記機器から、上記装置への上記データの注入を示す、上記ログレポートに含まれる第3ログ記録を受け取るステップを更に含む項目4に記載の方法。
(項目6)
上記コントローラが上記データを用意して保護することに先立って実行され、上記サーバーおよび上記セキュアモジュールを初期化するために使用される供給手順を更に含む項目1に記載の方法。
(項目7)
複数のサーバーを備え、上記データ送信を送る上記ステップは、上記複数のサーバーへ上記データ送信を送ることを含む項目1に記載の方法。
(項目8)
上記コントローラが、クレジットプールの値を更新するためであって、セキュアモジュールが上記機密データをそこから抽出できる上記データ送信のデータ要素数を表現しているクレジット値を示すクレジット指令を、上記サーバーに提供するステップを更に含む項目1に記載の方法。
(項目9)
上記セキュアモジュールは、上記データを上記データ送信から抽出すると、上記クレジットプールからクレジットを消費し、それにより上記クレジットプールの値を減少する項目6に記載の方法。
(項目10)
上記用意するステップに先立ち、上記方法は、上記コントローラが、上記データを修正する既存データ注入ソリューションを実現するためのオブジェクトを受け取るステップと、上記コントローラが、上記オブジェクトに署名して、上記署名付きオブジェクトを上記セキュアモジュールに送るステップと、上記セキュアモジュールが上記署名付きオブジェクトを格納し、上記署名付きオブジェクトを検証し、上記署名付きオブジェクトが検証された場合は上記既存ソリューションに従って上記データを修正するステップと、上記修正されたデータを、上記装置への注入のために上記機器に送るステップを更に含む項目1に記載の方法。
(項目11)
上記データ送信は、複数のタイプの機密データを含み、上記セキュアモジュールは、上記コントローラにより確立された許可に従って、上記タイプのあるいくつかを取得する項目2に記載の方法。
(項目12)
上記ログレポートは、上記タイプのいずれが上記セキュアモジュールにより、上記機器に提供されたかを示す表示を含む項目11に記載の方法。
(項目13)
上記コントローラが、上記セキュアモジュールの設定を修正するときに使用される構成メッセージを上記セキュアモジュールに送るステップを更に含む項目1に記載の方法。
(項目14)
上記ログレポートは、上記コントローラが、上記サーバーまたは上記コントローラにより開始されるポーリングを使用して取得される項目1に記載の方法。
(項目15)
上記コントローラは、上記第1ログ記録と上記ログレポートを比較して、上記ログレポートが適切なものであり、追加データが要求されている場合は、更なるデータ送信を行い、上記ログレポートが適切なものでない場合は、以前の送信のいずれからも、上記データの更なる抽出を禁じる指令を行う項目4に記載の方法。
(項目16)
上記機密データは複数のキーであり、上記送信は、上記コントローラのセキュアモジュールにより暗号化された上記キーを大量に含み、上記データを抽出する上記ステップは、上記コントローラにより提供された指令により先験的に示されるように、上記キーの特別な1つを復号することを含む項目2に記載の方法。
(項目17)
装置の生産中に、その装置への機密データの注入を遠隔的に制御するシステムであって、
暗号操作を実行するためのセキュアモジュールを有するコントローラと、
上記コントローラから離れて位置し、上記コントローラに順方向チャネルおよび逆方向チャネルにより接続されているサーバーであって、上記順方向チャネルは、データ送信を上記サーバーの第2セキュアモジュールへ提供するために上記コントローラにより使用され、上記データ送信は、上記機密データを暗号的に保護し、上記第2セキュアモジュールは上記送信から上記データを抽出するサーバーと、
上記データを上記送信から抽出した時点で、上記データを注入するために使用される機器と共に作動し、上記データを上記第2セキュアモジュールから取得するエージェントと、を備えるシステム。
(項目18)
上記第2セキュアモジュールは、上記機密データの使用に関するログレポートを用意し、上記ログレポートを、上記逆方向チャネルを介して上記コントローラに提供する項目17に記載のシステム。
(項目19)
上記コントローラは、それ自身と上記サーバーを構成し、上記ログレポートを監視するためのグラフィカルユーザーインタフェース(GUI)を更に備える項目18に記載のシステム。
(項目20)
上記第1セキュアモジュールは、上記データ送信のヘッダにおけるデータキーを暗号化するための暗号キーを備え、上記第2セキュアモジュールは、上記データキーを復号するための復号キーを備え、上記第2セキュアモジュールは、上記データキーを使用して上記送信を復号し、上記データを上記送信から抽出する項目17に記載のシステム。
(項目21)
上記コントローラは、上記データ送信を用意する前に、安全な方法で格納される上記データを格納するための第1データ格納装置を更に備え、上記サーバーは、上記送信から上記データを抽出する前に、上記データ送信を格納するための第2データ格納装置を更に備える項目18に記載のシステム。
(項目22)
上記データ送信を送ると、上記コントローラは第1ログ記録を生成し、上記第1ログ記録を、上記ログレポートとの後日の比較のために上記第1格納装置に格納し、上記データを上記機器に提供すると、上記第2セキュアモジュールは、上記データの上記機器への配信を示す第2ログ記録を生成し、上記第2ログ記録を、上記ログレポートに含むために、上記第2格納装置に格納する項目21に記載のシステム。
(項目23)
上記エージェントは、上記データの上記装置への注入を示す第3ログ記録を生成し、上記エージェントは、上記第3ログ記録を、上記ログレポートに含むために上記第2セキュアモジュールへ送る項目22に記載のシステム。
(項目24)
上記コントローラは、上記データを用意して保護する前に供給手順を実行し、上記供給手順は、上記サーバーと上記第1および第2セキュアモジュールを初期化するために使用される項目17に記載のシステム。
(項目25)
複数のサーバーを備え、上記コントローラは、上記データ送信を上記複数のサーバーに送ることにより、上記データ送信を送る上記項目17に記載のシステム。
(項目26)
上記コントローラにより生成され、上記第2セキュアモジュールにより安全に格納されたクレジットプールの値を更新するためのクレジット値を示すクレジット指令を更に備え、上記コントローラは、上記クレジット指令を上記第2セキュアモジュールに送り、上記クレジット値は、そこから上記第2セキュアモジュールが上記機密データを抽出できるデータ送信のデータ要素の数を表現している項目17に記載のシステム。
(項目27)
上記データ送信から上記データを抽出すると、上記第2セキュアモジュールは、上記クレジットプールからクレジットを消費し、それにより、上記クレジットプールの値を減少する項目26に記載のシステム。
(項目28)
上記第2セキュアモジュールにより、上記第2格納装置に格納された少なくとも1つの署名付きオブジェクトを更に備え、上記署名付きオブジェクトは、上記コントローラが既存のデータ注入ソリューションを実行するためのオブジェクトに署名し、上記署名付きオブジェクトを上記第2セキュアモジュールに送ることで作成され、上記既存のソリューションは、上記データを修正し、上記第2セキュアモジュールは、上記署名付きオブジェクトを検証し、上記署名付きオブジェクトが検証されると、上記既存ソリューションに従って上記データを修正し、上記修正されたデータを、上記装置に注入するための上記機器に送る項目21に記載のシステム。
(項目29)
上記データ送信は、上記第1セキュアモジュールが、複数の異なるタイプの機密データを含むことで用意され、上記第2セキュアモジュールは、上記コントローラにより確立された許可に従って、上記タイプのあるいくつかを取得する項目18に記載のシステム。
(項目30)
上記ログレポートは、上記タイプのいずれが上記第2セキュアモジュールにより、上記機器に提供されたかを示す表示を含む項目29に記載のシステム。
(項目31)
上記コントローラは、構成メッセージを生成して上記セキュアモジュールに送り、上記セキュアモジュールの設定を修正するときに使用する項目17に記載のシステム。
(項目32)
上記ログレポートは、上記コントローラが、上記サーバーまたは上記コントローラにより開始されるポーリングを使用して取得する項目18に記載のシステム。
(項目33)
上記コントローラは、上記第1ログ記録と上記ログレポートを比較して、上記ログレポートが適切なものであり、追加データが上記エージェントにより要求されている場合は、更なるデータ送信を行い、上記コントローラは、上記ログレポートが適切なものでない場合は、以前の送信のいずれからも、上記データの更なる抽出を禁じる指令を行う項目22に記載のシステム。
(項目34)
上記機密データは複数のキーであり、上記送信は、上記第1セキュアモジュールにより暗号化された上記キーを大量に含み、上記キーの特別な1つは、上記コントローラにより提供された指令により先験的に示されるように、上記第2セキュアモジュールにより復号される項目18に記載のシステム。
(項目35)
上記第2セキュアモジュールは、上記キーのブロックを受け取るとそれらを復号し、個々に各キーを再暗号化し、上記キーのあるいくつかは、上記エージェントによる要求があると、復号されて上記機器に使用される項目34に記載のシステム。
(項目36)
上記第1および第2セキュアモジュールは、順方向および逆方向通信チャネルを介して通信するための対称キーを含む項目17に記載のシステム。
(項目37)
複数の段階において、機密データの、装置への挿入を制御するモジュールであって、上記装置におけるデータフローを傍受して変換する暗号トランスフォームと、メモリに格納される暗号キーを備え、上記機密データの一部は、各段階において上記暗号キーに追加され、上記暗号キーの作動は、上記暗号トランスフォームの作動が成功するために要求され、上記装置は、上記暗号トランスフォームの作動が成功すると機能するようになるモジュール。
(項目38)
機密データの装置への挿入を制御する方法であって、上記装置におけるデータフローを傍受および変換するための暗号トランスフォームを有するモジュールを上記装置に含むステップと、上記装置の生産における複数の段階のそれぞれにおいて、上記モジュール内のメモリに格納された暗号キーへ、上記機密データの一部を追加するステップと、を含み、上記暗号キーの作動は、上記暗号トランスフォームの作動が成功するために要求され、上記装置は、上記暗号トランスフォームの作動が成功すると機能するようになる方法。
【図面の簡単な説明】
【0024】
【図1】遠隔装置登録システムの模式ブロック図である。
【図2】図1に示されたグラフィカルユーザーインタフェース(GUI)の模式表現である。
【図3】配信画像の模式表現である。
【図4】キー注入と報告手順を示すフローチャートである。
【図5】供給手順を示すフローチャートである。
【図6】クレジット指令手順を示すフローチャートである。
【図7】複数製品をサポートする別の実施形態に対するマッピング方式を示している。
【図8】フィルタ処理されたログレポートの例を示している。
【図9】遠隔装置登録システムの別の実施形態を示しているブロック図である。
【図10】製造工程において複数の段階を使用するキー注入に対する実施形態の模式ブロック図である。
【図11】図10の実施形態を使用してキー注入段階を分離するための登録モジュールを組み込むマスクの模式表現である。
【図12】図10の実施形態において示されている段階の模式表現である。
【図13】図10の実施形態を使用して装置を生産する際に行われるステップを示すフローチャートである。
【図14】図11に示されているマスクから生産された製品例の模式ブロック図である。
【発明を実施するための形態】
【0025】
図1を参照すると、遠隔装置登録または信頼されたキー注入システムの全体が、参照番号10により示されている。装置22のプロデューサ12は、別のエンティティ、この場合は外部の製造業者14、のサービスを利用して、固有および不変の情報を装置22に注入する。この情報は、暗号キー、共有機密、または、装置22の本質的に固有な属性に暗号により結び付けることができる他のデータであってよく、以降は、「キー」と称される。このキーを装置22に注入することは、以降は、「キーイング」または「キー注入」と称される。
【0026】
プロデューサ12は、製造業者の設備から離れたコンピュータシステムであるコントローラ16を利用する。このコントローラ16は、ハードウェアセキュリティモジュール(HSM)11を含む。HSM11はコントローラ16により使用される保護された装置であって、暗号化、復号化、または署名のような、暗号によるセキュアな操作を実行する。HSM11は改竄に対して耐性がある(例えば、物理的にアクセスが困難)または改竄に反応できる(例えば、改竄されるとデータを消去する)。コントローラ16は、製造業者14によるキーの配信および使用を監視すると共に、製造業者14に対してキーおよび他の情報をパッケージ化して搬送することに対して責任がある。プロデューサ12は、典型的には、例えば、HDCPキーのプロデューサである行政機関のような外部のソースから大量のキー(図示せず)を取得する。キーは、特別な製造業者14に配信されるまではデータ格納装置15に格納される。コントローラ12およびその操作は、監視および修正でき、それによりオペレータがグラフィカルユーザーインタフェース(GUI)13を使用して制御できる。GUI13は、典型的には、パーソナルコンピュータ(図示せず)を使用して表示されて相互作用するソフトウェアアプリケーションである。
【0027】
コントローラ16は、パイプライン23を介して、製造業者14に存在するサーバー18に接続される。パイプライン23は2つの順方向通信チャネル、つまり、制御チャネル26と配信チャネル25と、1つの逆方向チャネル24を含む。制御チャネル26はコントローラ16により使用され、クレジット指令を送ることにより、製造業者14が使用できるキー数を計量する。配信チャネル25はコントローラ16により使用され、製造業者14に対して、保護されたキーのブロックを配信する。逆方向チャネル24はシステム10により使用され、コントローラ16に、報告および監査の目的でキーの使用を知らせる。チャネル24、25、および26は、任意の通信チャネルであってよく、信頼性または安全性は要求されない。チャネル24、25、および26に対する信頼性および安全性は、技術機構および工程/手順の組合せを使用して提供される。例えば、順方向チャネル26を使用してモジュール18に送られたメッセージが改ざんされていて復号できない場合は、ユーザーはシステムコントローラモジュール16のオペレータに電話して、メッセージを再び送ってもらえる。
【0028】
製造業者14は、製造業者の設備に対してはローカルであり、その動作は、コントローラ16から送られるメッセージを介して監視され計量されるコンピュータシステムである、1つまたは2つ以上のサーバー18を利用する。サーバー18はまた、逆方向チャネル24を介してコントローラ16に報告を送り返す。サーバー18は、コントローラ16により利用されるHSM11に類似のHSM28を含む。HSM28は、製造業者14がいくつのキーを使用できるかを決定する、保護されたクレジットプール30を格納する。キーの使用は、コントローラ16が、サーバー18から報告されたデータを監視し、それに従って、クレジットプール30に追加またはそこから減算することにより計量される。クレジットプール30は、サーバー18がコントローラ16から、更にキーを要求して取得しなければならなくなる前に、HSM28により復号できるキー数を表現する抽象概念である。コントローラ16は配信チャネル25を介してサーバー18へキーを配信し、サーバー18はそのキーを、下記により詳細に説明するように、ローカルデータ格納装置17に格納する。
【0029】
製造業者14は、暗号キーを装置22に注入するために使用される1つまたは2つ以上の機器20を利用する。典型的にキーイングは、製造工程のテスティングフェーズの間に起こり、そのため、機器20は、アセンブリライン上のテスティングマシンであることがよくある。機器20はキーエージェント21を含み、キーエージェント21は典型的には、アプリケーション側におけるキー注入を管理するために使用される機器20にロードされるソフトウェアプログラムまたはツールキットである。キーエージェント21はサーバー18と通信して、キーが必要になったときにそれを要求して取得する。典型的には、サーバー18は、生産工程のタイミングを妨害しないように、十分なキーをキーエージェント21に提供する。しかし、サーバー18は、クレジットプール30を介して計量された通りであるというキーイングの承認がコントローラ16により提供されるまで、キーの使用を制限するために不要な数のキーは提供しない。
【0030】
典型的にはキーエージェント21は、生産を妨害しないように、特別な機器20によりキーの新しい束がいつ必要かを示す閾値レベルを有する。コントローラ16は典型的に、サーバー18とは常に通信状態にあるわけではないので、コントローラ16は、そのパラメータを調整して、サーバー18を介して、十分なキーイング材料を機器20が利用できるようにすることを保証し、一方では、コントローラ16が、下記により詳細に説明するように、サーバー18からのキー使用レポートを取得できる前に、サーバー18により多すぎるキーデータがリリースされないようにすることも保証する。
【0031】
キーエージェント21は好ましくは、機器20上で起動して、機器自身のオペレータが手動または自動化された方法でキーを要求できるようにするアプリケーションプログラムインタフェース(API)を含む。キーエージェント21は、サーバー18と機器の間のデータ受渡しに対する保護のレベルを提供するために使用され、サーバー18と機器の間の簡易セキュアソケットレイヤ(SSL)と考えられる。リソースに余裕があれば、キーエージェント21は、それ自身とサーバー18の間のSSL接続を使用して実装することもできるとういうことは理解されよう。キーエージェント21はまた、キーが使用されるときのレポート記録を生成することにも責任があり、その記録は、報告目的のためにサーバー18に送り返される。
【0032】
コントローラ16は、製造業者14によるキー注入を監視および計量するためのコマンドセンターである。遠隔地からキーイングを制御するために、GUI13は、オペレータにより使用されて、コントローラ16の制御下にある製造業者14、サーバー18、および機器20それぞれを監視および構成する。例としてのGUI13が図2に示されている。GUI13は、サーバーウィンドウ200、コントローラウィンドウ204、および機器ウィンドウ202に分割される。サーバーウィンドウ200は、コントローラ16により制御される製造業者14の、そしてサーバー18のリストを含んでいる。特別なコントローラ16はコントローラウィンドウ204に示されている。オペレータは、特別な製造業者(例えば、図2に示されている製造業者A)を選択でき、その製造業者に関連付けられている機器20は、機器ウィンドウ202に表示されている。
【0033】
図2に示す例において、製造業者Aにおけるサーバーは、サーバー1、サーバー2、およびサーバー3に関する情報を提供するウィンドウを備えている。各サーバーは、それに関連付けられたあるデータを有している。例えば、図2に示されているように、各サーバーは、それらの利用できる格納スペースと、利用できるクレジットと、キータイプ1とキータイプ2のそれぞれに対して利用可能なキー数を示す進捗バーを含む。各テスターウィンドウもまた、前回のレポートが処理された日付、前回報告されたクレジット、前回の補充量、および失われたログ記録に関するデータなどのログ情報を表示する。サーバーウィンドウはまた、オペレータに対して、コントローラ16から遠隔的にサーバー18を構成し、それを使用不可にするためのオプション214および216を提供する。
【0034】
コントローラ16は、サーバー18を遠隔的に構成できる機能を有している。これにより、コントローラ16は、キータイプを変更し、キータイプを追加または削除し、他の構成オプションを制御できる。これは好ましくは、構成メッセージを、制御チャネル26を介してサーバーHSM28に送ることにより達成される。HSM28は構成メッセージを評価でき、それにより、ある構成メッセージはHSM28の動作を変更し、他の構成メッセージはサーバー18に送られる。この方法を使用して、HSM28を介してサーバー18へ送られた構成メッセージは、サーバー18が、信頼でき、コントローラ16から発せられたことが知られている構成指令を得ることを保証する支援ができる。
【0035】
コントローラ16は、キーエージェント21を介して、サーバーレベルまたは機器レベルでシステム10を遠隔的に構成できる。コントローラ16はサーバー18のポーリングを強制し、定期的ポーリングの間隔を調整できる。典型的には、サーバー18は固定の間隔でポーリングされ、コントローラ16は、強制ポーリングを利用して、必要であれば、それらの間隔の間において情報を取得できる。例えば、1日間隔の場合、コントローラ16は、日中に管理者への報告のためにデータが必要になることがある。その場合、すべてのサーバーのポーリングを強制してそのようなデータを取得できる。GUI13は、コントローラ電子メールオプションもまた含むことができ、それにより、コントローラ16は、重要な生産運転における復号または配信の失敗のような、極端な状況において管理者と自動的に連絡が取れる。
【0036】
サーバー18に配信され、機器20により装置22に注入された各キーは、あるイベントにおいてあるログ記録をトリガーする。GUI13を使用して、ログ記録を検索、分類、コンパイル、および分析して、図8に示されているようなカスタムまたは標準レポート400を調べることができる。この例においては、生成された3つの主なログ記録がある。キーからサーバーへのログ402は、キーがプロデューサ16によりサーバー18に配信されるときに生成され、キーからエージェントへのログ404は、それがキーをキーエージェント21にリリースする時点でHSM28により生成され、キー注入ログ406は、キーの注入の際にキーエージェント21により生成される。各ログ記録は、IDタイプ、日付スタンプ、製造業者、機器などを含む、いくつもの数の識別情報を含むことができる。図8に示されている例としてのレポートにおいては、レポート400は、シーケンスID=001を有するキーに対する、キーからサーバーへのログ402、キーからエージェントへのログ404、キー注入ログ406を示している。これらの記録は、そのようなシーケンスID番号を有するキーのライフサイクルを追尾するために使用できる。レポート400は、任意の数の記録を含むことができ、任意の適切なフィールドに基づいてフィルタ処理できることは理解されよう。例えば、5月3日に、製造業者Aにおいてテスター2により注入されたすべてのキーを示しているレポート400は、日付フィールドおよび位置フィールドをフィルタ処理することでコンパイルできる。
【0037】
ここで図3を参照すると、プロデューサ16は、配信画像40を使用して、サーバー18へ好ましくは暗号を使用して送られるセキュアデータ送信において、大量のキーのセットをパッケージ化できる。配信画像40により、プロデューサは、1つの送信で、複数のサーバー18を目的地とする複数の製品に対するキーを含むことが可能になる。そして、各サーバー18は、ある数のキーを復号して取得できるが、それは、制御チャネル26を介してコントローラ16から、HSM28により認証を受けた後である。この画像40は、データ記録の集合したものであり、各記録は、タイプ58、ID60、サイズ54、およびデータ56のフィールドを含んでいる。データ56は典型的に、サイズ54により識別される任意のサイズのキーデータを含む。タイプ58とID60フィールドはHSM28により使用されて、あるキーのフィルタ処理に使用できる可能性のあるキーデータを、以前に制御チャネル26を介して指令されたように、HSM28の構成に依存して識別する。キーは、実装するときに、ターゲットに対してキーが実際はどのように見えるかを心配することのないようにカプセル化できる。これにより、各新しいキータイプに対して再設計する必要なく、キーに柔軟性および拡張性を与えることができる。ラッパーは、その本体がアブストラクトであり、タイプ、サイズおよび固有IDを含むべきである。ラッパーはまた、抽象化された画像へのログインまたは変数割り付けのような、より高度な特徴をサポートするための要素を含むことができる。
【0038】
画像40は、画像キー42により暗号化される。画像キー42は、画像40を復号してキーを取得するためにサーバー18により使用される。画像キー42はそれ自身が各サーバー18に対して暗号化されて、サーバーヘッダ48として格納される。サーバーヘッダ48の収集体44は、主要ヘッダ46に格納される。画像40を復号してキーを取得するために、ヘッダ48はサーバー18により選択され、HSM28により復号されて、画像キー42が取得される。そして、画像キー42は、画像40を復号するために使用される。
【0039】
前述したように、配信画像40は、複数の製品をサポートするために使用できる。図7も参照すると、製品タイプとデータブロックのマッピングが示されている。例えば、プロデューサ16は、3つの製品、つまり、キー1を利用するガンマ(フィルタタグ1を有する)、キー2(フィルタタグ2を有する)および付随する構成ブロック(これもまたフィルタタグ2を有する)を利用するベータと、キー1、キー2、および構成ブロックを利用するアルファを有する。画像40は、大量のキータイプ1とキータイプ2を含むことができ、ガンマおよびベータ製品は、アルファ製品ほど複雑ではない。プロデューサ16は、単一の画像40を、例えば、各ブロックに対して50のデータでパッケージ化でき、それにより、あるテスター(例えば、テスター1)は製造の許可を得て、50の製品アルファを生産するための、50のフィルタタグ1および2が得られる。別のテスター(例えば、テスター2)は、同時に製造の許可を得ることができ、画像40から50のフィルタタグ1を得て50の製品ベータを生産し、50のフィルタタグ2を得て、製品ガンマを製造できる。画像40は、複数のタイプのキーを含むことが可能で、キーイングデータのすべてを含むことができ、任意の製品タイプの単一製品を生産できる。テスターは、プログラムされている製品のタイプまたは製品モデルを、サーバー18に対して識別する。このモデル情報は、暗号化された画像40と共にHSM28に送られ、その結果、HSM28が画像40を復号するときに、キーデータ50は、フィルタ処理され、識別された製品モデルをプログラムするために必要なキーデータのみが、HSM28によりテスターにリリースされる。従って、プロデューサ12は、単一の画像40により複数の製品をサポートでき、一方、製造業者14が、製造されると考えられている製品しか製造できないことを保証する手段を取ることができる。
【0040】
画像40は複数の製品をサポートできるので、ログ記録は、テスターにおいて実行された実際のキー注入を追尾するために使用され、これは下記により詳細に説明する。ログ記録を追尾することにより、プロデューサ16は、例えば、製造業者14が、50の製品アルファ(彼等はこの製品の生産に対して支払いを受けている)の代わりに、製品ガンマを送ってきて、それにより、50の製品ベータを、グレーまたはブラックマーケットに販売できたかどうかの検出を試みることができる。そのような不一致が悪意であろうがなかろうが、いずれにせよ、合理的に識別できる。
【0041】
配信チャネル25を介しての配信から、HSM28が逆方向チャネル24を介してコントローラ16に報告するまでのキーの典型的なライフサイクルが図4に示されている。図4においてハイライトされているブロックは、セキュアモジュール、つまりHSM11およびHSM28により実行されるステップを表現している。コントローラ16はまず、外部の供給者から大量の標準キーを取得する。そして、キーをHSM11に渡し、HSM11は、各ブロックが測定された量のあるキータイプを含む、キーのブロックを暗号化する。キーは、2つ以上のキータイプを有するブロックに大量に暗号化できるということは理解されよう。そしてコントローラ16は、キーのブロックを配信することを示す命令または他のコマンドを受け取るまで、大量に暗号化されたキーを格納装置15に格納する。
【0042】
プロデューサ16がキーのブロックを配信するとき、まず大量に暗号化されたブロックを取得し、このブロックをHSM11に渡す。HSM11は、このブロックを復号し、画像キー42により、送信のためにキーのブロックを再暗号化する。画像キー42はそれ自身、各サーバー18に対して暗号化され、個々のヘッダ48を生産する。これらのヘッダ48は、主要ヘッダ46のグループ44に格納される。この時点においてHSM11は、配信のために再暗号化されたキー用の、キーからサーバーへのログ402を生成する。ログ402は、後の分析のためにプロデューサ12においてローカルに格納される。そして、再暗号化キーブロックは配信チャネル25を介してサーバー18に配信される。
【0043】
サーバー18は、画像40に含まれる暗号化キーブロックをHSM28に渡し、HSM28は、画像40を復号する。HSM28はまず、その特別なヘッダ48をグループ44から選択して、画像キー42を復号する。そして、画像キー42は復号されて、画像40からキーが取得される。その後、画像40は好ましくは、例えば、セキュアハッシュアルゴリズム、MAC、またはデジタル署名を使用して正当性が確認され、フィルタ処理される。HSM28はまた格納のために、画像40から取得した各キーを再暗号化する。サーバー18は、再暗号化キーを、機器20による後の使用のために、ローカルに格納する。画像40の正当性は、コントローラ16とサーバー18の間で共有される固有対称配信キーKs1およびKs2に基づいて仮定されているということは理解されよう。それらの間で共有されるメッセージは、例えば、sha-2ダイジェスト比較の後のように、完全性チェックが成功して実行されれば、正当なものと考えることができる。
【0044】
コントローラ16が機器20から、ある数のキー(例えば、N個のキー)の要求を受け取ると、HSM28は、復号のためのN個のキーが与えられる。そして、キーからエージェントへのログ記録404が、HSM28により復号されるN個のキーそれぞれに対して生成され、キーは注入のために機器20に渡される。この時点において、キーは「クリア状態」にあり、注入の準備ができる。
【0045】
機器20は、N個のキーのそれぞれを注入し、キーエージェント21は、キー注入ログ記録406を、注入されるキーそれぞれに対して生成する。HSM28は、連続してキーからエージェントへのログ記録404と、キー注入ログ記録406を取得し、好ましくは、これらの記録を連結してマスターログレポートRにし、それを逆方向チャネル24を介してコントローラ16に送り返す。
【0046】
個々のログは好ましくは、バイナリファイルに連結され、バイナリファイルはそのファイルが生成された日付を識別する。レポートRは好ましくは、暗号キーK1を使用してHSM28により暗号化されて、サーバー18上で起動しているアプリケーションに返され、逆方向チャネル24を介して送られる。そして、コントローラ16はレポートRを復号でき、個々のログ(例えば、402、404、406)の正当性を確認できる。各ログは、単調同期数によりタグ付けされる。まとめられたすべての記録ID値が、連続する値のセットでない場合は、コントローラ16のオペレータは、シーケンスにおいて不明のログをどこで追尾すればよいかを知ることができる。
【0047】
上述したように、コントローラ16は、以前に、それが配信されたときに、N個のキーに対して、多数のキーからサーバーへのログ記録402有している。従って、コントローラ16は、将来のある時点において、最初に配信されたキーは復号され、正しいサーバー18により、正しい装置に注入されたことを示す、各キーに対するライフサイクルを完了するレポートRを受け取ることを期待する。コントローラ16は、このようにして、ログレポートが提供されたときにそれを評価できる。そして、コントローラ16は、製造作業への介入(例えば、配信の停止)、更にキーを提供するなどの行動を取る必要があるかどうかを判定できる。コントローラ16は、更なるキーブロックを配信する前に、更なる情報もまた要求できる。このようにして、コントローラ16は配信を計量でき、製造業者が忠実に作業を進めていて、正確なログ記録を一貫して提供しているときのみ更にキーを提供できる。
【0048】
ログ記録(例えば、図8に示されているような)により、プロデューサは、ID番号のシーケンスにおける不連続性を突き止めることができる。例えば、多数のキーが配信されたが、キーからエージェントへのログまたはキー注入ログを報告していなければ、製造業者はそのキーを失った可能性がある。これは、グレーまたはブラックマーケット活動の可能性を示している。別の状況では、レポートRは、特別なキーに対しては、キーからエージェントへのログ404を含むことができるが、キー注入ログを含むことができないことがある。これは問題が、製造業者14それ自身ではなく、キーを要求した特別な機器において発生した可能性を示している。従って、製造業者14は、目的を監査するためにログ記録Rを使用して内部の悪意のある行動を識別し、プロデューサ12との関係を維持するようにできる。各キーのライフサイクルは、キーに対して操作が行われる各重要な段階においてレポート記録を要求する。従って、プロデューサ12は、問題がどこで起きたかを識別して、そのような問題を補正または削除するような努力を指示するために必要な情報を有している。好ましくはログ記録は、キーに対するシーケンス番号だけでなく、キータイプにも関連する情報を含む。このようにして、プロデューサ12は、ガンマおよびベータ製品が生産されてから、アルファ製品は委託されたかどうかを判定できる。
【0049】
ログレポートは、製造業者14による悪意のある、または倫理に背く行動を防ぎ、かつ存在する製造業者14の完全性を評価する手段と、いかなる望ましくない行動に対する証拠を提供するツールとを提供する情報を提供する。望ましくない行動を検出する際の明白な証拠を使用することにより、プロデューサ12は、疑い以上の確信を持って製造業者14と相対することができ、禁じられた行動がテスターレベルで起きていた場合(例えば、従業員であり、会社自身ではない場合)は、プロデューサ12と製造業者14の間の重要な関係を回復することができる。
【0050】
配信に加えて、コントローラ16は制御チャネル26を使用して、クレジットプール30を制御し、これによりキー注入段階を計量する。クレジット指令手順は、図6に示されている。HSM28は、配信画像40を復号してキーを得るときは、クレジットプール30からクレジットを消費しなければならない。時間が経つと、クレジットプール30は減少し、コントローラ16から送られるクレジット指令ファイルにより補充する必要がある。
【0051】
コントローラ16は、制御チャネル26を介して、一度に1つの制御メッセージCのみを送る。このメッセージに含まれる、要求されるファイルの1つは、好ましくはクレジット指令ファイルである。このファイルは、特別なサーバー18に対する暗号化されたデータのセットであってよく、HSM28によりクレジット指令に復号される。このクレジット指令は、例えば、HSM28および/またはサーバー18のシリアル番号、サーバーのトークンID、シーケンス番号、新しいクレジット量、および構成データを含み、これらはすべてコントローラ16により署名されている。
【0052】
制御メッセージCを受け取ると、HSM28は、制御メッセージCからクレジット指令データを復号し、署名の正当性を確認する。HSM28はまた、可能であれば、それ自身のシリアル番号とトークンIDの正当性を確認する。そしてシーケンス番号の正当性の確認が実行される。シーケンス番号は、HSM28内部に格納されたシーケンスよりも大きくなければならない。いったんその正当性が確認されると、HSM28は、その内部のシーケンス番号を更新し、クレジットプール30の値を、クレジット指令内のクレジット値に設定する。
【0053】
そしてHSM28は、制御メッセージC内の任意の構成メッセージを処理してその内部構成を更新し、それにより、コントローラ16は、フィルタ処理ルールの更新、キーイング情報、クレジットルールなど、GUI13に関連して上記で説明した構成データをサーバー18に送ることができる。構成データはHSM28、サーバー18上で起動しているアプリケーション、またはキーエージェント21に対しても意図されたものであってよい。HSM28は、定義されたタイプの構成メッセージを探してそれらを処理する。構成データは、私的または公共と印を付けることができ、そこへのアクセスは、HSM28により制御される。
【0054】
クレジットレポートCrは、制御メッセージCのクレジット指令の処理に対する応答である。クレジットレポートCrは、シリアル番号とHSM28のトークンID、現在のシーケンス値、クレジットプール30の現在の値、現在までの補充回数、およびクレジット指令処理の間にエラーが起きなければゼロに設定されるエラーコードを含むことができる。
【0055】
クレジットレポートCrは好ましくは、HSM28がその署名キーk2を使用して署名される。そしてレポートCrは、コントローラの公開暗号キーk3を使用してコントローラ16に対して暗号化される。レポートCrは、この後、コントローラ16に送られ、上述した監査目的のためのログレポートRと共に格納される。
【0056】
キーの配信に先立ち、プロデューサ12と製造業者14は、HSMとサーバー18を初期化するための供給手順を経験できる。供給手順は図5に示されている。HSM28は供給要求メッセージPを生成してコントローラ16に送る。このメッセージPは好ましくは、サーバー18により使用されているHSM28のシリアル番号を含む。HSM28は2つの暗号キー対k1、k2を生成し(例えば、RSAキー対、または好ましくは、楕円曲線暗号(ECC)を使用して)、1つ(k1)は暗号化されたメッセージを受け取るため、他の1つ(k2)は、送られるメッセージに署名するためである。好ましくは、製造業者14は、キー対k1とk2のこの交換の間に、物理的に制御された環境に暗号的にブートストラップされる。
【0057】
コントローラ16がサーバー18から供給要求を受け取ると、その要求をHSM11に渡し、HSM11はメッセージの完全性をチェックし、製造業者14に「トークンID」を割り当てる。2つのキー、好ましくは対称キーks1とks2(例えば、AES(AdvancedEncryption Standard)キー)が生成される。これらのキーはコントローラ16とサーバー18により使用され、上述したように、配信チャネル25上の配信画像40と、逆方向チャネル24上のログレポートRを保護する。
【0058】
そしてHSM11は、例えば、割り当てられたトークンID、HSM暗号の公開キーおよび署名キー対k3とk1それぞれと、配信および逆方向チャネル対称キーks1とks2、ある初期構成データ、および完全性のためのハッシュダイジェストを含む供給応答メッセージP’を生成する。供給要求メッセージPと同様に、供給応答メッセージP’は、物理的に制御された環境において扱われる(例えば、HSM保護を使用して)。
【0059】
そして供給応答メッセージP’はサーバー18に送られ、サーバー18は、その第1供給要求を受信すると初期化操作を実行できる。供給応答の構造は、コントローラ16とサーバー18の間の順方向および逆方向チャネル通信に対する対称キーを含む分離構造に復号するメンバーを含むことができる。これらのキーは、各HSM28(そして各サーバー18)に対して区別されており、HSMのグループ間では共有されない。いったん供給手順が完了すると、配信画像40と制御メッセージCの通常の交換が開始できる。
【0060】
図9に示される別の実施形態においては、システム10を、キー注入段階を保護するために、製造業者14により実装された既存のソリューションに後付けできる。図9に示される実施形態において、同じ構成要素には、同じ参照番号に接尾文字「a」を付けている。例えば、製造業者14は、文字列「BCA」を「ABC」に変換するスクランブラ74を既に含む機器20aを有することができ、装置22は、注入されたキーとしてABCを容認するために接続されている。このように、キー「BCA」が盗まれ、または違う場所に置かれた場合は、スクランブリングが起こらないので、装置22aに対しては機能しない。キーを保護するこれらの試みは、実装は容易であるが、典型的に単純であり、保護の適切なレベルを提供しない。そのような保護機構を取り込むことにより、システム10は、既に実装されている既存のソリューションを元に戻すことなく機器20aに後付けできる。従って、システム10を実装することによる製造業者14への追加コストを回避できる。後付けは、図1に示されている配置が使用できる、完全な再設計が保証されるまで実装できる。
【0061】
既存のソリューションを取り込むために、システム10はサーバー18において、特別な機器20aに関連付けられた実行可能ファイルの収集体であり、HSM28がキーをリリースした後、そしてキー注入の前に既存のソリューションを実行する、署名付きオブジェクトのセット72を格納している。このようにして、キーは、機器20aに知られることなく、既存ソリューションを取り込むために変更される。図9に示されているように、コントローラ16はまず、機器20aにより既存ソリューションを提供するために使用される実行可能ファイル(exe)にアクセスする必要がある。そして、コントローラ16aは、exe70をHSM11aに渡す。HSM11aは、exe70に署名して、署名付きexe70をHSM28aに渡し、HSM28aは署名付きexe70を、署名付きオブジェクト72として格納する。動作において、機器20aがキーの新しい束を要求すると、サーバー18aはexeを、HSM28aに格納されているexeの署名に対してその正当性を確認する。サーバー18aがいったんexe72の正当性を確認すると、そのexeキーをスクランブルするために送る。
【0062】
例えば、機器20aは、キーBCAを装置22aのスクランブラ76に供給して、キーABCが製品アルファに注入されるように要求する。HSM28aは、製品アルファが、キーABCを修正するための署名付きオブジェクトexeAを有していると判定する。署名付きオブジェクトexe Aは検証されて、キーABCに適用され、スクランブルされたキーBCAという結果になる。そして、スクランブルされたキーBCAは機器20aに送られ、スクランブラ76はキーBCAを修正して、それがキーABCを注入するようにする。機器20aは、キーBCA(受け取ったもの)がサーバー18aによりABCという保護された形式で格納されたことは認識しない。サーバー18aにより格納されたキーは、CABのような形式であってもよく、スクランブリングのためにBCAとして読まれるように修正され、注入のためにABCと変換されてもよいことは理解されよう。そのようなことは、キーCABが標準形式であり、CABがキーとして容認されない既存ソリューションに適合するために修正されなければならないときに起こる。従って、署名付きオブジェクト72は、機器20aにより実装された既存ソリューションを取り込むために必要なプログラムは如何なるものでも含み、上記の例は、例示のみの目的のためである。
【0063】
署名付きオブジェクト72は、署名付き実行ファイルは典型的に、キーに適用される前に、マシンへリリースされるキーに対して検証されているので、悪意のあるコードがサーバー18aにロードされて注入前にキーを修正することも防止する。システム10は、このように、既存ソリューションを取り込みながら、セキュリティのより増大されたレベルを提供できる。
【0064】
従って、サーバー18から分離したリモートシステムコントローラ16を利用することにより、プロデューサ12は、製造業者14の行動を監視でき、HSM28を介してクレジットを計量できる。プロデューサ16はこのように、キーイング情報を装置22に注入することを管理でき、製造業者14がアイデンティティと製造されたユニット数をプロデューサ12に対して正しく報告することを保証できる。これにより、プロデューサ12は、製造業者14がグレーまたはブラックマーケット製品または装置22を作成して配信していないという保証を有することができる。
【0065】
上記の手順と、適切に配置されたシステム10により、プロデューサ12は、製造業者14における生産を監視できる。プロデューサ12は、制御メッセージCにおけるクレジット指令を使用して、製造業者14により使用できるクレジットを追加または除去することにより装置22の製造を計量できる。
【0066】
システム10は、図1に示されているように1つの製造業者14に制限されるわけではなく、また各製造業者14は1セットの機器20に制限されるわけではないことは理解されるであろう。システム10は、単一のコントローラ16の使用にも制限されていない。HSM28は、キー値と、クレジットプール30の完全性を保護するための最も好ましい信頼できるハードウェアである。更に、配信画像40に含まれるキーイング情報は、必ずしもキーイング情報である必要はなく、機密性と認証を要求する如何なるデータ要素であってもよい。キーイングデータの必要条件は、装置の起動の精度を補強しようと望むシステム10に典型的である。
【0067】
図10−14に例示され、下記により詳細に記述される代替の機構においては、過剰生産は、シリコンまたは装置製造工程内で、責務の分離を導入することで防止できる。典型的には、プロデューサ12は、製造の種々の段階を複数の契約者に外注する。一般的に、責務の分離は、シリコンチップまたは他の装置に対する製造段階を意図的に分離することに関連し、それにより、最終製品が各下請契約者により「接触」されなければならず、それにより最終製品が完全に機能するようにするためである。グレーマーケットは典型的には、製造チェーンにおける単一の不履行より、または単独の背信契約者により供給されるので、複数の契約者に順々に作業してもらうことを強制することは、グレーマーケットに正常な副構成要素または装置を供給するためには、2人以上の下請契約者がプロデューサ12に対して共謀しなければならないことを意味する。最終製品およびその副構成要素は、完全に機能するためには、すべての製造段階を完了しなければならない。一般的に、プロデューサ12に対する攻撃の危険性は、複数の下請契約者が盗みのためには共謀することを要求されるときは大幅に減少する。
【0068】
シリコンウェーハーの生産において、典型的に数段階が発生し、それらはしばしばいくつかのサードパーティの製造業者に分割される。チップを設計するプロデューサ12は、その設計をデータファイルまたは複数のデータファイルにおいて作成し、それらはしばしば「ネットリスト」と称される。ネットリストは記述言語を、サードパーティにマスクを、そしてその結果、そこからICがパッケージ化されて配送されるシリコンのウェーハーを、どのように生産するかを指令するコンピュータコードの形式で含む。
【0069】
例えば、例としての製造工程において、マスクはプロデューサ12からシリコン制作者に送られ、その制作者はマスクからシリコンウェーハーを製造する。ウェーハーは、ウェーハーテスティング設備に送られ、そこで個々のチップがウェーハー上で直接テストされ、電子的に点数を付けられ、切断されるときに、合格した個々のチップのみがパッケージ化設備に転送される。パッケージ化設備は、シリコンを結合してチップパッケージにパッケージ化し、再び最終パッケージ化チップをテストする。完成したチップは典型的にはOEMに送られ、そこでチップは、完成した装置製品の一部である印刷回路基板上に搭載され、完成した装置製品は、流通チャネルに送られ、最終的にカスタマの元に送られる。
【0070】
上記に例示した製造工程は一般的に複数の段階を含み、それは設計と、シリコンチップを装置に統合するときの間に起こる段階であり、つまり、制作、テスティング、パッケージ化、および設置である。これらの段階すべてが、単一の設備において起こり、任意数Nの段階までの数の、より多くの段階があってもよいことは理解されよう。これらの段階のそれぞれにおいて、過剰生産および生産高縮小が起こる機会がある。
【0071】
ここで図10を参照すると、プロデューサ12はマスク90を設計する。マスク90は登録された装置22、この例ではICを生産するために使用される。装置22は、その設計に含まれる機密または不変情報のある形式を含み、好ましくは、そのような機密情報がなければ作動できない。プロデューサ12はこの例では、装置22の製造全体における特別な段階を実行する2つまたはそれ以上のサードパーティの製造エンティティと契約する。図10は第1製造段階100と、第2製造段階102と、任意の第N製造段階104までを示している。
【0072】
プロデューサ12はマスク90を、製品配信チャネル80を介して配信する。マスク90は第1製造段階100に送られ、そこで、シリコンウェーハーの生産のような製造の一部が行われる。第1段階100が完了すると、その結果としての部分的完成品は第2製造段階102に送られ、ウェーハーのテスティングのような、製造の第2の部分が行われる。これが第N段階までの各段階において繰り返されて、最終的に完全に機能する登録された装置22が配送エンティティ106に出荷される。
【0073】
不完全な製品または副構成要素が、製造エンティティ100−104の1つにおいてグレーマーケット110へ横流しされることを防止するために、「責務の分離」が適用される。責務の分離は、各製造段階での製造とデータプログラミングの責務を分割することであり、それによりすべての責務は、正常な装置製品を完成するために必要な意図された順番で、意図された契約者により実行されなければならない。この例において、暗号データの注入のような機密作業は複数の段階で行われ、それぞれの段階は、別個の製造エンティティにより、別個の製造段階で実行される。機密作業を分離するために、プロデューサ12は登録モジュール92を、マスク90において定義される設計に組み込む。モジュール92は、マスク90が装置22を生産するためにコンパイルされるとき、数学的変換により、ブート信号のような、シリコンチップ内の重要な信号およびデータフローが傍受され、もし数学的変換が作動できない場合は、装置22は正常ではないように使用される。数学的変換は好ましくは、性能上の理由で、排他的論理和(XOR)演算を幅広く利用する暗号変換であるが、これは必要条件というわけではない。数学的変換が作動できるようにするために、それは、製造工程の各段階において、暗号キーイングデータ部分のような重要なデータを、段階的に増加していく注入または追加により登録される。このようにして、第1段階100において生産されたウェーハーが過剰生産であり、図10に示すようにN110を介してグレーマーケット段階2へ供給されると、その製品112は、典型的には、それが適切に作動するために必要な暗号データのすべては受け取っていないので正常ではない。
【0074】
好ましくは、図10に例として示されているように、上記の図1−9に示されているキー注入システム10を、各製造ステップにおける配信、計量、およびキー注入段階の報告を要求するために使用できる。この場合、すべてのエンティティがグレーマーケット製品を配信するために共謀したとしても、プロデューサ12はこの行動を、不完全なログレポートにより検出でき、必要であれば、更なるキーイングデータの配信を防止できる。または、システム10を、それぞれの段階で使用する必要はなく、または如何なる段階においても全く使用する必要はなく、任意の数の段階で使用できることも可能であることは理解されよう。例えば、第2段階102はシステム10を利用するが、他の段階は使用しなくてもよい。しかし、各製造段階は好ましくはテスティング手順のある形式を含むので、システム10をそのようなテスティングに組み込むことは有効である。この状況においてプロデューサ12は、第2段階の間でのデータを少なくとも予測する。モジュール92がシステム10に依存せずに、各製造段階に依存して、キーイング工程の一部を実現するために使用できることは理解されよう。これらの状況のいずれにおいても、責任を分割することにより、いずれのエンティティも必要な情報を自分自身で有して、首尾よくグレーマーケットに製品または副構成要素を供給することはできない。
【0075】
マスク90は図11においてより詳細に示されている。上記で検討したように、登録モジュール92を任意のマスク設計に組み込むことができ、マスク90は、指令のセットまたはコードラインを実行するようにプログラムされ、部分的に、カスタマコード120の一部分と、カスタマコード122の別部分の間の1つにパス(好ましくは、装置の作動にとって重要なもの)内のモジュール92で定義される内容を挿入する。パス124を介してモジュール92に入力されるデータは、暗号トランスフォーム128に適用されて、パス126を介してカスタマコード部分122に出力される。パス126に存在する出力は好ましくは、暗号トランスフォーム128が首尾よくパス124におけるデータ入力に適用された場合のみに使用できる。暗号トランスフォーム128は好ましくは、その操作を実行するために、メモリ130、プロセッサ132、および暗号キー134と共に機能する。メモリ130、プロセッサ132、および暗号キー134は好ましくは、各製造段階に存在するキー注入システム10を使用して構成される。メモリ130は別の暗号キー131も含み、それは一般的に、各段階で、好ましくは図10に示されているようにキー注入システム10を使用する注入を介して累積されたキーイング材料を含む。好ましくは、キー134は注入時に使用され、メモリ130に累積された、キー131を構成する材料が正当なものであることを保証する。キー134は公開キーであってよく、または必要であってもそうでなくてもよい。例えば、モジュール92はキー134がなくても機能できるが、特別なプロデューサ12に適切または適切でない、あるクラスの攻撃の潜在的危険性が伴う。
【0076】
一般的に、モジュール92により使用される機密データは複数の部分に分割され、各部分は、製造工程の各段階でキー131に追加される。例えば、1つの技術は、製造工程での各段階で、メッセージリカバリによりデジタル署名を注入することである。キー134はデジタル署名の正当性を確認するために使用でき、それを行う際に、正当性が確認されたデジタル署名は、メモリ130における既存のデータにより、暗号キー131を導出するキー導出方式で使用できるメッセージを生成する。別の例は、キーシャドウイング技術を採用することであり、暗号キー131の個々の部分が種々の製造段階でメモリ130に追加される。最終製造段階が完了すると、メモリ130は十分なデータを含み、それにより、キーシャドウ技術が暗号キー131を再構成するために使用できる。
【0077】
第1製造段階100の例が図12に概略的に示されている。上記に示したように、プロデューサ12は好ましくは、キーイングデータの配信およびキーイングが発生したときに生成されるレポートの監視のためにシステム10を利用する。シリコンチップへのキー注入は典型的に、ウェーハーテストまたは後のパッケージテストにおいて発生する。この例では、段階100は、テスティング機器20と共に作動するサーバー18とキーエージェント21を含む。段階100は、例えば、シリコンウェーハーを生産するための生産機器139も含む。生産機器139は、チャネル80を介して配信されたマスク90を使用して部分的に製造された装置1140を生産する。この例における下付き数字「1」は、装置22に適用された機密データの第1部分を表現するために使用され、ここにおいて好ましくは、機密データの第1部分は、機器20のキーエージェント21を使用して注入される。好ましくは、この時点において装置1は、トランスフォーム128がその操作を実行するために必要なデータをすべては有していないという理由で、まだ完全には機能しない。次に、装置1は第2製造段階102に配送できるようになる。
【0078】
図13は、2つの別個の製造段階(つまりN=2)を含む、例としての製造工程を示すフローチャートを提供する。ステップ500においてプロデューサ12は段階数を決定し、それにより注入されるキーイングデータの部分数、この例ではN=2を決定する。ステップ502においてプロデューサ12は好ましくは、各製造段階をチャネル24、25および26を介してそれ自身に連結するキー注入システム10を確立する。上記に図1を参照して検討したように、プロデューサ12は単一のコントローラ16を使用して複数のサーバー18と通信する。この例では、プロデューサ12は、2つのサーバー18からのログ記録を配信、監視、および受信する。
【0079】
ステップ504においてプロデューサ12は、マスク90で定義されるその設計に登録モジュール92を組み込む。マスク90は、ステップ506において製造工程の段階1を実行するために第1製造業者100に配信され、段階1は、ステップ508で実行される。例えば、第1製造業者はウェーハーを生産し、マスク90に適合するチップを作成する。そして、ウェーハーテストの間、製造業者は、ある部分的キーイング材料をメモリ139にプログラムする。機密データのこの部分はステップ510で挿入され、サーバー18は、好ましくは、上記にその概要を示した機構を使用して、ステップ512においてプロデューサに報告する。または、段階1は、いかなる機密データの注入も取り扱わず、この操作を段階2においてのみ実行することもできる。
【0080】
キーイングデータの第1部分がチップまたは装置にプログラムされると、その製品は部分的なキーイング情報のみを含むことになり、適切に作動するには十分ではない。図13は、装置1により表現されていて、ここで下付き数字1は、上述したように、第1部分を表現している。部分的に生産され、部分的にプログラムされた装置1は、ステップ514において段階2に配送され、ステップ516において実行される。次いで、製造業者102はステップ518において、キーデータの第2部分を注入する。例えば、ステップ518において、第2製造業者102は、追加キーイング情報をプログラムでき、または、ステップ510の間にメモリ130に格納された部分的キーデータと、ステップ518において使用されたシステム10からの新しいキーデータを使用して暗号キーイング情報を導出できる。この導出ステップは、ハッシュまたは、おそらくはより高度なキーシャドウイング技術に基づくことができる。好ましくは、ステップ520において、第2製造業者102はプロデューサ12に、第2キー部分が首尾よく注入されたことを折り返し報告する。プロデューサ12はこの段階で、キーデータが首尾よく挿入されたことを示す2つのログ記録を有しており、この情報を使用してその記録を監視できる。
【0081】
キーイングデータの第2部分が挿入されると、装置22は、この例においては、完全に生産され、完全に登録され(例えば、テストされ、パッケージ化されたIC)、図13においては装置12により表現されており、ここにおいて下付き数字12は、キーデータの完全なセット、つまり、データ部分1とデータ部分2を表現している。装置12はステップ522において配送チャネルへと続き、最終的にはステップ524において、機能する製品として、カスタマの元に到達する。
【0082】
図13にこれもまた示されているように、例えば、第1製造業者100またはその従業員が、ステップ526でグレーマーケット製品を、ステップ528における代替配送チャネルを介して配送しようとすると、装置1は、そのキーデータの第1部分しか含まず、そのためトランスフォーム128はその操作を実行できないので、正常でない製品がステップ530においてカスタマに提供されることになる。従って、グレーマーケット段階2においてテスティング、パッケージ化などが実行されても、追加のキーイングデータが提供されず、そのため、製品530は製造の全工程が行われるが、完全には登録されておらず、そのためその製品は正常ではない。モジュール92は、好ましくは、改竄防止手段が考慮され実装されるように実装されるということは理解されよう。
【0083】
ここで図14を参照すると、モジュール92aを組み込んだ、完成したカスタマ製品22aの概略例が示されており、ここにおいて、モジュール92aは図11に示されているモジュール92に対する物理的レイアウトを論理的に明示したものである。図14においては明確性のために、同様な参照番号は添え字「a」が付けられている。モジュール92の実装(例えば、92a)を使用している製品22aは、強制ブロック150の一部である、暗号トランスフォーム128aを、コード120aと122a間の製品の重要なデータパスに適用することができる。パスは、トランスフォーム128aを介して復号され、それによりカスタマの論理122aは適切に機能する。この例において、プロセッサ132の実施である検証132aが実行される。検証132aは、ワンタイムプログラマブル(OTP)メモリ130aと、図11のキー134の実装であるアイデンティティ部分134aを使用する。キー134aとメモリ130aには、例えば、図13でその概要を述べた手順を使用して機密データが注入される。製品22aは、モジュール92(例えば、モジュール92aのような)により提供される論理を組み込んだ1つの実装に過ぎず、図14に示されている例は、例示の目的のためのみであることは理解されよう。
【0084】
上記は、ある特別な実施形態を参照して説明されたが、その種々の変形例は、この技術に精通した者には明白であろう。
【0085】
本発明の実施形態が、付随する図を参照して、例としてのためにのみ説明される。
【特許請求の範囲】
【請求項1】
複数の装置への機密データの挿入を制御する方法であって、
前記方法は、
コントローラをサーバーに通信可能に接続可能であるように配置することであって、前記サーバーは、前記コントローラと離れて位置し、前記機密データを前記複数の装置に注入することを担う機器に通信可能に接続可能であるように構成されており、前記コントローラは、前記機密データを前記サーバーに配信して、前記サーバーが前記機密データを前記機器に提供することを可能にするように構成されており、前記コントローラは、暗号操作を実行するセキュアモジュールを備えている、ことと、
前記コントローラが、前記機密データを暗号的に保護するために前記セキュアモジュールを使用することと、
前記コントローラが、前記機密データを含む暗号的に保護されたデータ送信を前記サーバーに送ることにより、前記サーバーが前記機密データを前記データ送信から抽出することと、
前記コントローラが、前記サーバーにクレジット値を提供することであって、前記クレジット値は、前記コントローラから更なる前記機密データを要求する前に許可されている機密データの挿入の回数を示し、前記機器に提供された前記機密データの量に従って、前記サーバーが前記クレジット値を更新することを可能にする、ことと、
前記コントローラが、前記サーバーから機器ログを受け取ることであって、前記機器ログは、要求が起こるときに、前記機器が前記サーバーからある量の機密データを取得するときに、前記機器によってある量の前記機密データをそれぞれの装置に挿入することに関するものであり、前記機器ログは、前記機器から前記サーバーによって取得される、ことと
を含む、方法。
【請求項2】
追加の機密データに対する前記サーバーからの要求を受け取ることと、前記追加の機密データと新しいクレジット値とを前記サーバーに提供することとを更に含む、請求項1に記載の方法。
【請求項3】
サーバーログレポートを受け取ることを更に含み、前記サーバーログレポートは、前記サーバーによって用意され、前記コントローラからの前記機密データの受け取りを示す、請求項1に記載の方法。
【請求項4】
前記セキュアモジュールは、キーを保護するために前記データ送信に含まれるヘッダを暗号化し、前記キーは、前記サーバーが、前記送信を復号し、前記送信から前記機密データを抽出することを可能にする、請求項1に記載の方法。
【請求項5】
前記サーバーに前記機密データを送る前に実行される供給手順を開始することを更に含み、前記供給手順は、前記サーバーと前記セキュアモジュールとを初期化するために使用される、請求項1に記載の方法。
【請求項6】
前記データ送信を複数のサーバーに送ることを含む、請求項1に記載の方法。
【請求項7】
前記コントローラがクレジット指令を前記サーバーに送ることを更に含み、前記クレジット指令は、前記クレジット値に対する更新を示す、請求項1に記載の方法。
【請求項8】
前記コントローラが、既存データ注入ソリューションを実現するためのオブジェクトを前記サーバーに送ることを更に含み、前記既存ソリューションは、前記データを修正し、前記オブジェクトは、セキュアモジュールに提供されるために署名されることにより、前記サーバーが、前記署名付きオブジェクトを格納し、前記署名付きオブジェクトを検証し、前記署名付きオブジェクトが検証された場合は前記既存ソリューションに従って前記機密データを修正する、請求項1に記載の方法。
【請求項9】
前記データ送信は、複数のタイプの機密データを含み、前記方法は、前記セキュアモジュールが、前記コントローラにより確立された許可に従って、前記複数のタイプのうちのいくつかのタイプを送ることを更に含む、請求項3に記載の方法。
【請求項10】
前記サーバーログレポートは、前記複数のタイプのうちのどのタイプが、前記セキュアモジュールにより、前記機器に提供されたかを示す表示を含む、請求項9に記載の方法。
【請求項11】
前記コントローラが、前記サーバーにおいて、セキュアモジュールにおける設定を修正するときに使用される構成メッセージを前記サーバーに送ることを更に含む、請求項1に記載の方法。
【請求項12】
前記機器ログレポートおよび前記サーバーログレポートは、前記サーバーおよび前記コントローラのうちの1つにより開始されるポーリングに応答して、前記コントローラによって受け取られる、請求項3に記載の方法。
【請求項13】
前記機器ログレポートおよび前記サーバーログレポートは、追加の機密データを取得するために、前記コントローラによって受け取られ、更なるデータ送信は、前記ログレポートが好適であり、かつ、追加の機密データが要求される場合に前記サーバーに送られ、前記ログレポートが好適でない場合に、前記コントローラは、前記サーバーに、任意の以前の送信からの前記データの更なる抽出を抑制する指令を送る、請求項3に記載の方法。
【請求項14】
前記機密データは複数のキーを含み、前記データ送信は、前記セキュアモジュールにより暗号化された大量の前記キーを含むことにより、前記サーバーが、前記コントローラにより提供された指令により先験的に示されるように、前記キーのうちの1つ以上のキーを復号することを可能にする、請求項1に記載の方法。
【請求項15】
前記セキュアモジュールは、前記大量のキーを暗号化して、前記サーバーが、各キーを個別に再暗号化することを可能にし、前記キーのうちのあるいくつかのキーは、前記機器によって要求が行われたときに前記機器によって使用するために復号される、請求項14に記載の方法。
【請求項16】
前記セキュアモジュールは、前記サーバーと前記コントローラとの間の順方向通信チャネルおよび前記サーバーと前記コントローラとの間の逆方向通信チャネルを介して通信するための対称キーを含む、請求項1に記載の方法。
【請求項17】
複数の装置への機密データの挿入を制御するシステムであって、
前記システムは、
サーバーに通信可能に接続可能であるコントローラ装置を備え、前記サーバーは、前記コントローラから離れて位置し、前記機密データを前記複数の装置に注入することを担う機器に通信可能に接続可能であるように構成されており、前記コントローラ装置は、前記機密データを前記サーバーに配信して、前記サーバーが前記機密データを前記機器に提供することを可能にするように構成されており、前記コントローラ装置は、暗号操作を実行するセキュアモジュールを備え、
前記コントローラ装置は、
前記機密データを暗号的に保護するために前記セキュアモジュールを使用することと、
前記機密データを含む暗号的に保護されたデータ送信を前記サーバーに送ることにより、前記サーバーが前記機密データを前記データ送信から抽出することと、
前記サーバーにクレジット値を提供することであって、前記クレジット値は、前記コントローラから更なる前記機密データを要求する前に許可されている機密データの挿入の回数を示し、前記機器に提供された前記機密データの量に従って、前記サーバーが前記クレジット値を更新することを可能にする、ことと、
前記サーバーから機器ログを受け取ることであって、前記機器ログは、要求が起こるときに、前記サーバーからある量の機密データを取得するときに、前記機器によってある量の前記機密データをそれぞれの装置に挿入することに関するものであり、前記機器ログは、前記機器から前記サーバーによって取得される、ことと
を行うように構成されている、システム。
【請求項18】
前記コントローラ装置は、追加の機密データに対する前記サーバーからの要求を受け取ることと、前記追加の機密データと新しいクレジット値とを前記サーバーに提供することとを行うように更に構成されている、請求項17に記載のシステム。
【請求項19】
前記コントローラ装置は、サーバーログレポートを受け取るように更に構成され、前記サーバーログレポートは、前記サーバーによって用意され、前記コントローラからの前記機密データの受け取りを示す、請求項17に記載のシステム。
【請求項20】
前記セキュアモジュールは、キーを保護するために前記データ送信に含まれるヘッダを暗号化し、前記キーは、前記サーバーが、前記送信を復号し、前記送信から前記機密データを抽出することを可能にする、請求項17に記載のシステム。
【請求項21】
前記コントローラ装置は、前記サーバーに前記機密データを送る前に実行される供給手順を開始するように更に構成され、前記供給手順は、前記サーバーと前記セキュアモジュールとを初期化するために使用される、請求項17に記載のシステム。
【請求項22】
前記コントローラ装置は、前記データ送信を複数のサーバーに送るように更に構成されている、請求項17に記載のシステム。
【請求項23】
前記コントローラ装置は、クレジット指令を前記サーバーに送るように更に構成され、前記クレジット指令は、前記クレジット値に対する更新を示す、請求項17に記載のシステム。
【請求項24】
前記コントローラ装置は、既存データ注入ソリューションを実現するためのオブジェクトを前記サーバーに送るように更に構成され、前記既存ソリューションは、前記データを修正し、前記オブジェクトは、セキュアモジュールに提供されるように署名されることにより、前記サーバーが、前記署名付きオブジェクトを格納し、前記署名付きオブジェクトを検証し、前記署名付きオブジェクトが検証された場合は前記既存ソリューションに従って前記機密データを修正する、請求項17に記載のシステム。
【請求項25】
前記データ送信は、複数のタイプの機密データを含み、前記コントローラ装置は、前記コントローラにより確立された許可に従って、前記複数のタイプのうちのいくつかのタイプを送るように更に構成されている、請求項19に記載のシステム。
【請求項26】
前記サーバーログレポートは、前記複数のタイプのうちのどのタイプが、前記セキュアモジュールにより、前記機器に提供されたかを示す表示を含む、請求項25に記載のシステム。
【請求項27】
前記コントローラ装置は、前記サーバーにおいて、セキュアモジュールにおける設定を修正するときに使用される構成メッセージを前記サーバーに送るように更に構成されている、請求項17に記載のシステム。
【請求項28】
前記機器ログレポートおよび前記サーバーログレポートは、前記サーバーおよび前記コントローラのうちの1つにより開始されるポーリングに応答して、前記コントローラ装置によって受け取られる、請求項19に記載のシステム。
【請求項29】
前記機器ログレポートおよび前記サーバーログレポートは、追加の機密データを取得するために、前記コントローラによって受け取られ、更なるデータ送信は、前記ログレポートが好適であり、かつ、追加の機密データが要求される場合に前記サーバーに送られ、前記ログレポートが好適でない場合に、前記コントローラは、前記サーバーに、任意の以前の送信からの前記データの更なる抽出を抑制する指令を送る、請求項19に記載のシステム。
【請求項30】
前記機密データは複数のキーを含み、前記データ送信は、前記セキュアモジュールにより暗号化された大量の前記キーを含むことにより、前記サーバーが、前記コントローラにより提供された指令により先験的に示されるように、前記キーのうちの1つ以上のキーを復号することを可能にする、請求項17に記載のシステム。
【請求項31】
前記セキュアモジュールは、前記大量のキーを暗号化して、前記サーバーが、各キーを個別に再暗号化することを可能にし、前記キーのうちのあるいくつかのキーは、前記機器によって要求が行われたときに前記機器によって使用するために復号される、請求項30に記載のシステム。
【請求項32】
前記セキュアモジュールは、前記サーバーと前記コントローラとの間の順方向通信チャネルおよび前記サーバーと前記コントローラとの間の逆方向通信チャネルを介して通信するための対称キーを含む、請求項17に記載のシステム。
【請求項1】
複数の装置への機密データの挿入を制御する方法であって、
前記方法は、
コントローラをサーバーに通信可能に接続可能であるように配置することであって、前記サーバーは、前記コントローラと離れて位置し、前記機密データを前記複数の装置に注入することを担う機器に通信可能に接続可能であるように構成されており、前記コントローラは、前記機密データを前記サーバーに配信して、前記サーバーが前記機密データを前記機器に提供することを可能にするように構成されており、前記コントローラは、暗号操作を実行するセキュアモジュールを備えている、ことと、
前記コントローラが、前記機密データを暗号的に保護するために前記セキュアモジュールを使用することと、
前記コントローラが、前記機密データを含む暗号的に保護されたデータ送信を前記サーバーに送ることにより、前記サーバーが前記機密データを前記データ送信から抽出することと、
前記コントローラが、前記サーバーにクレジット値を提供することであって、前記クレジット値は、前記コントローラから更なる前記機密データを要求する前に許可されている機密データの挿入の回数を示し、前記機器に提供された前記機密データの量に従って、前記サーバーが前記クレジット値を更新することを可能にする、ことと、
前記コントローラが、前記サーバーから機器ログを受け取ることであって、前記機器ログは、要求が起こるときに、前記機器が前記サーバーからある量の機密データを取得するときに、前記機器によってある量の前記機密データをそれぞれの装置に挿入することに関するものであり、前記機器ログは、前記機器から前記サーバーによって取得される、ことと
を含む、方法。
【請求項2】
追加の機密データに対する前記サーバーからの要求を受け取ることと、前記追加の機密データと新しいクレジット値とを前記サーバーに提供することとを更に含む、請求項1に記載の方法。
【請求項3】
サーバーログレポートを受け取ることを更に含み、前記サーバーログレポートは、前記サーバーによって用意され、前記コントローラからの前記機密データの受け取りを示す、請求項1に記載の方法。
【請求項4】
前記セキュアモジュールは、キーを保護するために前記データ送信に含まれるヘッダを暗号化し、前記キーは、前記サーバーが、前記送信を復号し、前記送信から前記機密データを抽出することを可能にする、請求項1に記載の方法。
【請求項5】
前記サーバーに前記機密データを送る前に実行される供給手順を開始することを更に含み、前記供給手順は、前記サーバーと前記セキュアモジュールとを初期化するために使用される、請求項1に記載の方法。
【請求項6】
前記データ送信を複数のサーバーに送ることを含む、請求項1に記載の方法。
【請求項7】
前記コントローラがクレジット指令を前記サーバーに送ることを更に含み、前記クレジット指令は、前記クレジット値に対する更新を示す、請求項1に記載の方法。
【請求項8】
前記コントローラが、既存データ注入ソリューションを実現するためのオブジェクトを前記サーバーに送ることを更に含み、前記既存ソリューションは、前記データを修正し、前記オブジェクトは、セキュアモジュールに提供されるために署名されることにより、前記サーバーが、前記署名付きオブジェクトを格納し、前記署名付きオブジェクトを検証し、前記署名付きオブジェクトが検証された場合は前記既存ソリューションに従って前記機密データを修正する、請求項1に記載の方法。
【請求項9】
前記データ送信は、複数のタイプの機密データを含み、前記方法は、前記セキュアモジュールが、前記コントローラにより確立された許可に従って、前記複数のタイプのうちのいくつかのタイプを送ることを更に含む、請求項3に記載の方法。
【請求項10】
前記サーバーログレポートは、前記複数のタイプのうちのどのタイプが、前記セキュアモジュールにより、前記機器に提供されたかを示す表示を含む、請求項9に記載の方法。
【請求項11】
前記コントローラが、前記サーバーにおいて、セキュアモジュールにおける設定を修正するときに使用される構成メッセージを前記サーバーに送ることを更に含む、請求項1に記載の方法。
【請求項12】
前記機器ログレポートおよび前記サーバーログレポートは、前記サーバーおよび前記コントローラのうちの1つにより開始されるポーリングに応答して、前記コントローラによって受け取られる、請求項3に記載の方法。
【請求項13】
前記機器ログレポートおよび前記サーバーログレポートは、追加の機密データを取得するために、前記コントローラによって受け取られ、更なるデータ送信は、前記ログレポートが好適であり、かつ、追加の機密データが要求される場合に前記サーバーに送られ、前記ログレポートが好適でない場合に、前記コントローラは、前記サーバーに、任意の以前の送信からの前記データの更なる抽出を抑制する指令を送る、請求項3に記載の方法。
【請求項14】
前記機密データは複数のキーを含み、前記データ送信は、前記セキュアモジュールにより暗号化された大量の前記キーを含むことにより、前記サーバーが、前記コントローラにより提供された指令により先験的に示されるように、前記キーのうちの1つ以上のキーを復号することを可能にする、請求項1に記載の方法。
【請求項15】
前記セキュアモジュールは、前記大量のキーを暗号化して、前記サーバーが、各キーを個別に再暗号化することを可能にし、前記キーのうちのあるいくつかのキーは、前記機器によって要求が行われたときに前記機器によって使用するために復号される、請求項14に記載の方法。
【請求項16】
前記セキュアモジュールは、前記サーバーと前記コントローラとの間の順方向通信チャネルおよび前記サーバーと前記コントローラとの間の逆方向通信チャネルを介して通信するための対称キーを含む、請求項1に記載の方法。
【請求項17】
複数の装置への機密データの挿入を制御するシステムであって、
前記システムは、
サーバーに通信可能に接続可能であるコントローラ装置を備え、前記サーバーは、前記コントローラから離れて位置し、前記機密データを前記複数の装置に注入することを担う機器に通信可能に接続可能であるように構成されており、前記コントローラ装置は、前記機密データを前記サーバーに配信して、前記サーバーが前記機密データを前記機器に提供することを可能にするように構成されており、前記コントローラ装置は、暗号操作を実行するセキュアモジュールを備え、
前記コントローラ装置は、
前記機密データを暗号的に保護するために前記セキュアモジュールを使用することと、
前記機密データを含む暗号的に保護されたデータ送信を前記サーバーに送ることにより、前記サーバーが前記機密データを前記データ送信から抽出することと、
前記サーバーにクレジット値を提供することであって、前記クレジット値は、前記コントローラから更なる前記機密データを要求する前に許可されている機密データの挿入の回数を示し、前記機器に提供された前記機密データの量に従って、前記サーバーが前記クレジット値を更新することを可能にする、ことと、
前記サーバーから機器ログを受け取ることであって、前記機器ログは、要求が起こるときに、前記サーバーからある量の機密データを取得するときに、前記機器によってある量の前記機密データをそれぞれの装置に挿入することに関するものであり、前記機器ログは、前記機器から前記サーバーによって取得される、ことと
を行うように構成されている、システム。
【請求項18】
前記コントローラ装置は、追加の機密データに対する前記サーバーからの要求を受け取ることと、前記追加の機密データと新しいクレジット値とを前記サーバーに提供することとを行うように更に構成されている、請求項17に記載のシステム。
【請求項19】
前記コントローラ装置は、サーバーログレポートを受け取るように更に構成され、前記サーバーログレポートは、前記サーバーによって用意され、前記コントローラからの前記機密データの受け取りを示す、請求項17に記載のシステム。
【請求項20】
前記セキュアモジュールは、キーを保護するために前記データ送信に含まれるヘッダを暗号化し、前記キーは、前記サーバーが、前記送信を復号し、前記送信から前記機密データを抽出することを可能にする、請求項17に記載のシステム。
【請求項21】
前記コントローラ装置は、前記サーバーに前記機密データを送る前に実行される供給手順を開始するように更に構成され、前記供給手順は、前記サーバーと前記セキュアモジュールとを初期化するために使用される、請求項17に記載のシステム。
【請求項22】
前記コントローラ装置は、前記データ送信を複数のサーバーに送るように更に構成されている、請求項17に記載のシステム。
【請求項23】
前記コントローラ装置は、クレジット指令を前記サーバーに送るように更に構成され、前記クレジット指令は、前記クレジット値に対する更新を示す、請求項17に記載のシステム。
【請求項24】
前記コントローラ装置は、既存データ注入ソリューションを実現するためのオブジェクトを前記サーバーに送るように更に構成され、前記既存ソリューションは、前記データを修正し、前記オブジェクトは、セキュアモジュールに提供されるように署名されることにより、前記サーバーが、前記署名付きオブジェクトを格納し、前記署名付きオブジェクトを検証し、前記署名付きオブジェクトが検証された場合は前記既存ソリューションに従って前記機密データを修正する、請求項17に記載のシステム。
【請求項25】
前記データ送信は、複数のタイプの機密データを含み、前記コントローラ装置は、前記コントローラにより確立された許可に従って、前記複数のタイプのうちのいくつかのタイプを送るように更に構成されている、請求項19に記載のシステム。
【請求項26】
前記サーバーログレポートは、前記複数のタイプのうちのどのタイプが、前記セキュアモジュールにより、前記機器に提供されたかを示す表示を含む、請求項25に記載のシステム。
【請求項27】
前記コントローラ装置は、前記サーバーにおいて、セキュアモジュールにおける設定を修正するときに使用される構成メッセージを前記サーバーに送るように更に構成されている、請求項17に記載のシステム。
【請求項28】
前記機器ログレポートおよび前記サーバーログレポートは、前記サーバーおよび前記コントローラのうちの1つにより開始されるポーリングに応答して、前記コントローラ装置によって受け取られる、請求項19に記載のシステム。
【請求項29】
前記機器ログレポートおよび前記サーバーログレポートは、追加の機密データを取得するために、前記コントローラによって受け取られ、更なるデータ送信は、前記ログレポートが好適であり、かつ、追加の機密データが要求される場合に前記サーバーに送られ、前記ログレポートが好適でない場合に、前記コントローラは、前記サーバーに、任意の以前の送信からの前記データの更なる抽出を抑制する指令を送る、請求項19に記載のシステム。
【請求項30】
前記機密データは複数のキーを含み、前記データ送信は、前記セキュアモジュールにより暗号化された大量の前記キーを含むことにより、前記サーバーが、前記コントローラにより提供された指令により先験的に示されるように、前記キーのうちの1つ以上のキーを復号することを可能にする、請求項17に記載のシステム。
【請求項31】
前記セキュアモジュールは、前記大量のキーを暗号化して、前記サーバーが、各キーを個別に再暗号化することを可能にし、前記キーのうちのあるいくつかのキーは、前記機器によって要求が行われたときに前記機器によって使用するために復号される、請求項30に記載のシステム。
【請求項32】
前記セキュアモジュールは、前記サーバーと前記コントローラとの間の順方向通信チャネルおよび前記サーバーと前記コントローラとの間の逆方向通信チャネルを介して通信するための対称キーを含む、請求項17に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−113323(P2012−113323A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−50626(P2012−50626)
【出願日】平成24年3月7日(2012.3.7)
【分割の表示】特願2008−516086(P2008−516086)の分割
【原出願日】平成18年6月12日(2006.6.12)
【出願人】(397071791)サーティコム コーポレーション (38)
【Fターム(参考)】
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2012−50626(P2012−50626)
【出願日】平成24年3月7日(2012.3.7)
【分割の表示】特願2008−516086(P2008−516086)の分割
【原出願日】平成18年6月12日(2006.6.12)
【出願人】(397071791)サーティコム コーポレーション (38)
【Fターム(参考)】
[ Back to top ]