(57)【要約】  集積回路のフィーチャを構成するための方法。この方法では、集積回路は、第1の当事者からフィーチャベクトルメッセージを受け取る。フィーチャベクトルメッセージは、第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる。集積回路は、フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて集積回路の少なくとも1つのフィーチャを構成する。集積回路は、集積回路の少なくとも1つの構成されたフィーチャに基づいて、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵を使用して、証明結果を生成する。集積回路は、証明結果を第1の当事者に転送する。
2019516276.tif 000002
【特許請求の範囲】
【請求項１】
集積回路を構成するための方法であって、
前記集積回路によって、第1の当事者からフィーチャベクトルメッセージを受け取るステップであって、前記フィーチャベクトルメッセージが、前記第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる、受け取るステップと、
前記集積回路によって、前記フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて前記集積回路の少なくとも1つのフィーチャを構成するステップと、
前記集積回路によって、前記集積回路の前記少なくとも1つの構成されたフィーチャに基づいて、前記集積回路にセキュアに記憶されており前記第2の当事者に知られ前記第1の当事者に知られていない鍵を使用して、証明結果を生成するステップと、
前記証明結果を前記第1の当事者に転送するステップと
を含む、方法。
【請求項２】
前記集積回路が、システムオンチップ(SOC)デバイスである、請求項1に記載の方法。
【請求項３】
前記第1の当事者が、相手先ブランド製造会社であり、前記第2の当事者が、前記集積回路の供給業者である、請求項1に記載の方法。
【請求項４】
前記フィーチャベクトルメッセージが、前記第2の当事者によって署名され、前記方法が、
前記集積回路によって、前記フィーチャベクトルメッセージの署名を使用して前記フィーチャベクトルメッセージを検証するステップ
をさらに含む、請求項1に記載の方法。
【請求項５】
前記集積回路が、一意の識別子によって識別され、前記鍵が、前記集積回路に固有である、請求項1に記載の方法。
【請求項６】
前記フィーチャセット要求のフィーチャセットが、ストック・キーピング・ユニット(SKU)に対応する、請求項1に記載の方法。
【請求項７】
前記集積回路によって、ワンタイムプログラマブル(OTP)メモリにおいて少なくとも1つのフラグを設定するステップであって、設定された各フラグが前記集積回路のフィーチャに関連付けられる、設定するステップ
をさらに含む、請求項1に記載の方法。
【請求項８】
前記OTPメモリ内の設定されたフラグが、無効化されたフィーチャに対応する、請求項7に記載の方法。
【請求項９】
前記OTPメモリ内の設定されたフラグが、有効化されたフィーチャに対応する、請求項7に記載の方法。
【請求項１０】
集積回路であって、
第1の当事者からフィーチャベクトルメッセージを受け取るための手段であって、前記フィーチャベクトルメッセージが、前記第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる、受け取るための手段と、
前記フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて前記集積回路の少なくとも1つのフィーチャを構成するための手段と、
前記集積回路の前記少なくとも1つの構成されたフィーチャに基づいて、前記集積回路にセキュアに記憶されており前記第2の当事者に知られ前記第1の当事者に知られていない鍵を使用して、証明結果を生成するための手段と、
前記証明結果を前記第1の当事者に転送するための手段と
を備える、集積回路。
【請求項１１】
前記集積回路が、システムオンチップ(SOC)デバイスである、請求項10に記載の集積回路。
【請求項１２】
前記第1の当事者が、相手先ブランド製造会社であり、前記第2の当事者が、前記集積回路の供給業者である、請求項10に記載の集積回路。
【請求項１３】
前記フィーチャベクトルメッセージが、前記第2の当事者によって署名され、前記集積回路が、
前記フィーチャベクトルメッセージの署名を使用して前記フィーチャベクトルメッセージを検証するための手段
をさらに備える、請求項10に記載の集積回路。
【請求項１４】
前記集積回路が、一意の識別子によって識別され、前記鍵が、前記集積回路に固有である、請求項10に記載の集積回路。
【請求項１５】
前記フィーチャセット要求のフィーチャセットが、ストック・キーピング・ユニット(SKU)に対応する、請求項10に記載の集積回路。
【請求項１６】
ワンタイムプログラマブル(OTP)メモリにおいて少なくとも1つのフラグを設定するための手段であって、設定された各フラグが前記集積回路のフィーチャに関連付けられる、設定するための手段
をさらに備える、請求項10に記載の集積回路。
【請求項１７】
前記OTPメモリ内の設定されたフラグが、無効化されたフィーチャに対応する、請求項16に記載の集積回路。
【請求項１８】
前記OTPメモリ内の設定されたフラグが、有効化されたフィーチャに対応する、請求項16に記載の集積回路。
【請求項１９】
ステーションであって、
プロセッサを含む集積回路を備え、前記プロセッサが、
第1の当事者からフィーチャベクトルメッセージを受け取ることであって、前記フィーチャベクトルメッセージが、前記第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる、受け取ることと、
前記フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて前記集積回路の少なくとも1つのフィーチャを構成することと、
前記集積回路の前記少なくとも1つの構成されたフィーチャに基づいて、前記集積回路にセキュアに記憶されており前記第2の当事者に知られ前記第1の当事者に知られていない鍵を使用して、証明結果を生成することと、
前記証明結果を前記第1の当事者に転送することと
を行うように構成される、ステーション。
【請求項２０】
前記集積回路が、システムオンチップ(SOC)デバイスである、請求項19に記載のステーション。
【請求項２１】
前記第1の当事者が、相手先ブランド製造会社に関連付けられ、前記第2の当事者が、前記集積回路の供給業者に関連付けられる、請求項19に記載のステーション。
【請求項２２】
前記フィーチャベクトルメッセージが前記第2の当事者によって署名される、請求項19に記載のステーション。
【請求項２３】
前記フィーチャセット要求のフィーチャセットが、ストック・キーピング・ユニット(SKU)に対応する、請求項19に記載のステーション。
【請求項２４】
前記鍵が、2つ以上の集積回路によって共有されるグローバル鍵である、請求項19に記載のステーション。
【請求項２５】
ステーションであって、
プロセッサを備え、前記プロセッサが、
フィーチャセットの要求を別のステーションに転送することと、
前記別のステーションからフィーチャベクトルメッセージを受け取ることと、
前記フィーチャベクトルメッセージを集積回路に転送することと、
前記集積回路の少なくとも1つの構成されたフィーチャに基づいて、また前記集積回路にセキュアに記憶されており前記別のステーションに知られ前記ステーションに知られていない鍵にさらに基づいて、証明結果を受け取ることと、
前記証明結果、前記フィーチャセット、および前記集積回路の一意の識別子を前記別のステーションに転送することと
を行うように構成された、ステーション。
【請求項２６】
前記集積回路が、システムオンチップ(SOC)デバイスである、請求項25に記載のステーション。
【請求項２７】
前記ステーションが、相手先ブランド製造会社に関連付けられ、前記別のステーションが、前記集積回路の供給業者に関連付けられる、請求項25に記載のステーション。
【請求項２８】
前記フィーチャベクトルメッセージが前記別のステーションによって署名される、請求項25に記載のステーション。
【請求項２９】
前記フィーチャセットが、ストック・キーピング・ユニット(SKU)に対応する、請求項25に記載のステーション。
【請求項３０】
前記鍵が、2つ以上の集積回路によって共有されるグローバル鍵である、請求項25に記載のステーション。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2016年3月29日に米国特許商標庁に出願された仮出願第62/314,928号、および2016年8月11日に米国特許商標庁に出願された非仮出願第15/234,879号の優先権および利益を主張するものであり、その内容全体が、参照により本明細書に組み込まれる。
【０００２】
本発明は、一般に、相手先ブランド製造会社(OEM:Original Equipment Manufacturer)によって要求されたフィーチャセットを有する集積回路を構成することに関する。
【背景技術】
【０００３】
最近のシステムオンチップ(SoC)設計は、数百、さらには数千の異なったハードウェアおよびソフトウェアフィーチャを含む場合がある。これらのフィーチャは、異なる市場、規格、製品層、および使用事例に対処するよう意図されている。いくつかのフィーチャは、いくつかの製品では必要とされないか、さらには望ましくないものであり、顧客は、使用されないフィーチャの代金を支払うことを希望しない。したがって、チップ供給業者が、多くの異なるバージョンを作成し、各バージョンが、フィーチャの異なるサブセットをサポートしてもよい。しかしながら、チップ供給業者が物理的に異なったSoCバージョンを作成し、各バージョンが物理的に特定のハードウェア論理を追加または削除することは、非実用的である場合がある。
【０００４】
代わりに、供給業者は、物理的に異なったSoCバージョンを作成し、各バージョンが市場全体の広い層をターゲットにするよう意図される場合がある。これらのバージョンの各々がさらにカスタマイズされる場合があり、チップ製造中に供給業者によっていくつかのフィーチャが有効化または無効化される。結果として、物理的に同一のSoCが、異なるフィーチャセットをサポートする場合があり、それに応じて価格をつけられる場合がある。
【０００５】
これは、チップ供給業者と相手先ブランド製造会社の両方に対していくつかの重大な問題を生じる。これらは、供給業者とOEMの両方にとっての在庫管理問題を含む。供給業者は、注文を履行するかなり前に、所与のバージョンをいくつ製造するかを正確に決定しなければならない。OEMは、所与のモデルをいくつ製造するつもりであるかを正確に決定しなければならない。両方の当事者によるこの予測は、何らかの確かな販売数量(hard sales figures)を利用できる数カ月前に行われなければならない。OEMが注文する部品が少なすぎる場合、製造遅延が起こり得るという見通しに直面するが、その後の注文は履行される。OEMの注文が多すぎる場合、未使用の部品の費用を負担しなければならない。供給業者が所与のバージョンを多く製造しすぎる場合、これらのチップは、売れないチップの「骨の山(bone pile)」になってしまう可能性がある。さらに、これらの多くのバージョンの各々が、製造、試験、物理的なマーキング、保管、追跡、および出荷のために専用の「レーン」を導入する場合がある。あるレーンのチップを別のレーンのチップと混合させないことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、OEMおよびチップ供給業者に有利であるように、フィーチャを有する集積回路を構成するための技法が求められている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、集積回路を構成するための方法に存在し得る。この方法では、集積回路は、第1の当事者からフィーチャベクトルメッセージを受け取る。フィーチャベクトルメッセージは、第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる。集積回路は、フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて集積回路の少なくとも1つのフィーチャを構成する。集積回路は、集積回路の少なくとも1つの構成されたフィーチャに基づいて、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵を使用して、証明(attestation)結果を生成する。集積回路は、証明結果を第1の当事者に転送してもよい。
【０００８】
本発明のより詳細な態様では、集積回路は、システムオンチップ(SOC)デバイスであってもよく、第1の当事者は、相手先ブランド製造会社(OEM)であってもよく、かつ/または第2の当事者は、集積回路の供給業者であってもよい。集積回路は、一意の識別子によって識別されてもよく、鍵は、集積回路に固有であってもよい。また、フィーチャセットは、ストック・キーピング・ユニット(SKU)に対応してもよい。
【０００９】
本発明の他のより詳細な態様では、フィーチャベクトルメッセージは、第2の当事者によって署名されてもよく、方法は、集積回路によって、フィーチャベクトルメッセージの署名を使用してフィーチャベクトルメッセージを検証するステップをさらに含んでもよい。加えて、方法は、集積回路によって、ワンタイムプログラマブル(OTP)メモリにおいて少なくとも1つのフラグを設定するステップをさらに含んでもよく、設定された各フラグは、集積回路のフィーチャに関連付けられる。OTPメモリ内の設定されたフラグは、無効化されたフィーチャ、または有効化されたフィーチャに対応してもよい。
【００１０】
本発明の別の態様は、集積回路であって、第1の当事者からフィーチャベクトルメッセージを受け取るための手段であって、フィーチャベクトルメッセージが第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる、受け取るための手段と、フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて集積回路の少なくとも1つのフィーチャを構成するための手段と、集積回路の少なくとも1つの構成されたフィーチャに基づいて、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵を使用して、証明結果を生成するための手段と、証明結果を第1の当事者に転送するための手段とを備える、集積回路に存在し得る。
【００１１】
本発明の別の態様は、集積回路であって、第1の当事者からフィーチャベクトルメッセージを受け取ることであって、フィーチャベクトルメッセージが第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる、受け取ることと、フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて集積回路の少なくとも1つのフィーチャを構成することと、集積回路の少なくとも1つの構成されたフィーチャに基づいて、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵を使用して、証明結果を生成することと、証明結果を第1の当事者に転送することとを行うように構成されたプロセッサを備える、集積回路に存在し得る。
【００１２】
本発明の別の態様は、集積回路を構成するための方法に存在し得る。この方法では、第1の当事者が、第2の当事者にフィーチャセットの要求を転送する。応答して、第1の当事者は、第2の当事者からフィーチャベクトルメッセージを受け取る。第1の当事者は、フィーチャベクトルメッセージを集積回路に転送する。第1の当事者は、集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵にさらに基づいて、証明結果を受け取る。第1の当事者は、証明結果、フィーチャセット、および集積回路の一意の識別子を第2の当事者に転送する。
【００１３】
本発明の別の態様は、ステーションであって、フィーチャセットの要求を別のステーションに転送するための手段と、別のステーションからフィーチャベクトルメッセージを受け取るための手段と、フィーチャベクトルメッセージを集積回路に転送するための手段と、集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており上記別のステーションに知られ上記ステーションに知られていない鍵にさらに基づいて、証明結果を受け取るための手段と、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションに転送するための手段とを備える、ステーションに存在し得る。
【００１４】
本発明の別の態様は、ステーションであって、フィーチャセットの要求を別のステーションに転送することと、別のステーションからフィーチャベクトルメッセージを受け取ることと、フィーチャベクトルメッセージを集積回路に転送することと、集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており上記別のステーションに知られ上記ステーションに知られていない鍵にさらに基づいて、証明結果を受け取ることと、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションに転送することとを行うように構成されたプロセッサを備える、ステーションに存在し得る。
【００１５】
本発明の別の態様は、コンピュータ可読媒体であって、コンピュータにフィーチャセットの要求を別のコンピュータに転送させるためのコードと、コンピュータに別のコンピュータからフィーチャベクトルメッセージを受け取らせるためのコードと、コンピュータにフィーチャベクトルメッセージを集積回路に転送させるためのコードと、コンピュータに集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており上記別のコンピュータに知られ上記コンピュータに知られていない鍵にさらに基づいて、証明結果を受け取らせるためのコードと、コンピュータに、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションに転送させるためのコードとを備える、コンピュータ可読媒体に存在し得る。
【００１６】
本発明の別の態様は、集積回路のフィーチャを検証するための方法に存在し得る。この方法では、第2の当事者が、第1の当事者からフィーチャセットの要求を受け取る。第2の当事者は、フィーチャベクトルメッセージを第1の当事者に転送する。第2の当事者は、証明結果、フィーチャセット、および集積回路の一意の識別子を第1の当事者から受け取る。証明結果は、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵にさらに基づいている。第2の当事者は、鍵を使用して証明結果を検証する。
【００１７】
本発明の別の態様は、ステーションであって、フィーチャセットの要求を別のステーションから受け取るための手段と、フィーチャベクトルメッセージを別のステーションに転送するための手段と、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションから受け取るための手段であって、証明結果が、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており上記ステーションに知られ上記別のステーションに知られていない鍵にさらに基づいている、受け取るための手段とを備える、ステーションに存在し得る。
【００１８】
本発明の別の態様は、ステーションであって、フィーチャセットの要求を別のステーションから受け取ることと、フィーチャベクトルメッセージを別のステーションに転送することと、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションから受け取ることであって、証明結果が、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており上記ステーションに知られ上記別のステーションに知られていない鍵にさらに基づいている、受け取ることと、鍵を使用して証明結果を検証することとを行うように構成されたプロセッサを備える、ステーションに存在し得る。
【００１９】
本発明の別の態様は、コンピュータ可読媒体であって、コンピュータにフィーチャセットの要求を別のコンピュータから受け取らせるためのコードと、コンピュータにフィーチャベクトルメッセージを別のコンピュータに転送させるためのコードと、コンピュータに、証明結果、フィーチャセット、および集積回路の一意の識別子を別のコンピュータから受け取らせるためのコードであって、証明結果が、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており、上記コンピュータに知られ上記別のコンピュータに知られていない鍵にさらに基づいている、受け取らせるためのコードと、コンピュータに鍵を使用して証明結果を検証させるためのコードとを備える、コンピュータ可読媒体に存在し得る。
【図面の簡単な説明】
【００２０】
【図１】ワイヤレス通信システムの一例のブロック図である。
【図２】本発明による、要求されたフィーチャセットを有する集積回路を構成するための方法の流れ図である。
【図３】本発明による、フィーチャセットを有する集積回路を構成するための方法の流れ図である。
【図４】フィーチャベクトルメッセージ用の署名を生成するための方法の流れ図である。
【図５】証明結果を生成するための方法の流れ図である。
【図６】プロセッサおよびメモリを含むコンピュータのブロック図である。
【図７】本発明による、フィーチャセットを有する集積回路を構成するための別の方法の流れ図である。
【図８】本発明による、集積回路のフィーチャを検証するための方法の流れ図である。
【発明を実施するための形態】
【００２１】
「例示的」という語は、本明細書では「例、事例、または例示としての働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいかなる実施形態も、他の実施形態よりも好ましい、または有利であると必ずしも解釈されるべきでない。
【００２２】
図2および図3を参照すると、本発明の一態様は、集積回路(IC)210を構成するための方法300に存在し得る。この方法では、集積回路は、第1の当事者220からフィーチャベクトルメッセージを受け取る(ステップ310)。フィーチャベクトルメッセージは、第1の当事者から第2の当事者230へのフィーチャセット要求に対する応答に含まれる。集積回路は、フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて集積回路の少なくとも1つのフィーチャを構成する(ステップ320)。集積回路は、集積回路の少なくとも1つの構成されたフィーチャに基づいて、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵Kを使用して、証明結果を生成する(ステップ330)。集積回路は、証明結果を第1の当事者に転送してもよい(ステップ340)。
【００２３】
本発明のより詳細な態様では、集積回路210は、システムオンチップ(SOC)デバイスであってもよく、第1の当事者220は、相手先ブランド製造会社であってもよく、かつ/または第2の当事者230は、集積回路の供給業者であってもよい。集積回路は、一意の識別子(ID #)によって識別されてもよく、鍵は、集積回路に固有であってもよい。また、フィーチャセットは、ストック・キーピング・ユニット(SKU)に対応してもよい。
【００２４】
本発明の他のより詳細な態様では、フィーチャベクトルメッセージは、第2の当事者230によって署名されてもよく、この方法は、集積回路210によって、フィーチャベクトルメッセージの署名を使用してフィーチャベクトルメッセージを検証するステップをさらに含んでもよい。加えて、この方法は、集積回路によって、ワンタイムプログラマブル(OTP)メモリ240において少なくとも1つのフラグを設定するステップであって、設定された各フラグが集積回路のフィーチャに関連付けられる、設定するステップをさらに含んでもよい。OTPメモリ内の設定されたフラグは、無効化されたフィーチャ、または有効化されたフィーチャに対応してもよい。
【００２５】
集積回路(IC)210は、セキュアなハードウェアブロックまたはコア(HWC)250を含んでもよい。好適なHWCは、カリフォルニア州サンフランシスコのCryptographic Research, Incorporated (CRI)によって供給されてもよい。HWCは、秘密鍵Kへの排他的アクセスを保持する、または有する。鍵は、対称鍵(たとえば、AES鍵)、またはプライベート鍵(たとえば、RSAもしくはECCプライベート鍵)であってもよい。鍵は、集積回路ごとに固有であってもよく、または集積回路全体にわたって共有されてもよい。デバイスごとの鍵がOTP240に記憶されると、優れたセキュリティがもたらされるが、供給業者/ベンダー230によるバックエンド検証は、デバイスごとの鍵の大規模データベースの管理/ルックアップを必要とし、動作上の複雑さが追加されることになる。逆に、グローバルに供給される鍵は、鍵をさらすことでシステムのセキュリティが落ちるので、あまりセキュアではない。しかしながら、グローバルに供給される鍵は、はるかに単純なバックエンド管理に役立つ。鍵は、集積回路から取り出されることはなく、そうでなければ鍵は、供給業者230にのみ知られている(たとえば、グローバル鍵またはデバイス/ICごとの鍵K)。詳細には、鍵は、OEM220にとってアクセス可能であってはならない。HWCは、集積回路の構成状態を永続的に記憶するOTPメモリ240に対して排他的読取りおよび書込みアクセスを行う。HWCは、一意のIC識別子にアクセスできなければならない。識別子は、秘密である必要はないが、その真正性が保証されなければならない。HWCは、OTPメモリによって保持される値について署名またはHMACを作成することができる。
【００２６】
図2に示す方法をより詳細に参照すると、OEM220が、IC供給業者/ベンダー(すなわち、製造業者)230に公式な要求を行い、あるフィーチャセット(SKU)またはフィーチャセット群(SKU)のIC210を製造/構成したいと表明する(ステップ260)。この時点で、OEMは、所与のフィーチャセットのICをいくつ製造するつもりであるかを示す必要はなく、ICが実際に構成されるときまで、構成決定を自由に残すことができる。OEMは、供給業者からのいくつかのICを注文する。これらのICはすべて、同じ初期「デフォルト」構成である。一般的には、これらのICは、デフォルトによって有効にされたすべてのフィーチャを有するものであり、OEMは、各ICにプレミアム価格を支払うことになる。しかしながら、供給業者とOEMとの間のビジネス上の関係に応じて、この手法の変形態が考えられる。たとえば、「デフォルト」構成は、大部分またはすべてのプレミアムフィーチャをデフォルトによって無効にされてもよく、この場合、OEMは、最初に「基本」構成の代金を支払うだけである。
【００２７】
IC供給業者230は、IC210のHWC250によって解釈されることになるフィーチャベクトルメッセージを作成する。メッセージは、OEMによって要求されるフィーチャセットに対応する特定のフィーチャベクトルを含む。図4を参照すると、メッセージは、デジタル署名されてもよい(ただしデジタル署名される必要はない)。署名は、RSAアルゴリズムなどの鍵付き関数440を使用してメッセージについて生成されてもよい。プライベート鍵は、対応する公開鍵を有してもよく、証明結果を生成するために使用される鍵Kに関係しなくてもよい。メッセージ署名は、HWCによって検証された後、HWCがそれを処理してもよい。メッセージは、暗号化される必要はないが、その真正性が保証されるべきである。供給業者は、フィーチャベクトルメッセージをOEMに転送する(ステップ264)。
【００２８】
デバイス製造工程中のある時間において、OEM220は、IC210のHWC250にメッセージを供給する(ステップ268)。同じグローバルメッセージは、特定のフィーチャセット(SKU)の下で構成された各ICに供給されてもよい。メッセージをロードするための機構は、OEMに委ねられる。たとえば、メッセージは、IC上のファイルに記憶されるか、SWイメージに内蔵されるか、外部テスターからICに供給されることがある。
【００２９】
HWC250は、フィーチャベクトルメッセージを検証してもよい(署名を調べてもよい)(ステップ272)。HWC250は次いで、あらかじめ定義された不揮発性「ライフサイクルビット」が設定されていないことをチェックする。設定されている場合、HWCは動作を終了する。設定されていない場合、HWCはメッセージペイロードからフィーチャベクトルを検索し、このフィーチャベクトルをOTPメモリ240に書き込む(たとえば、適切なヒューズビットをブローする)(ステップ276)。フィーチャフラグ(FF)またはビットを図5に示す。フラグは、モデム能力(たとえば、CDMAまたはUMTS)をアクティブ化または非アクティブ化すること、(たとえば、キャリアアグリゲーションにより)最大モデムデータ帯域幅を設定すること、プロセッサ(CPU)をオンもしくはオフにすること、最大表示解像度を設定すること、最大カメラ解像度を設定すること、またはソフトウェアフィーチャをアクティブ化もしくは非アクティブ化することなど、いくつかのフィーチャに対応してもよい。HWCは次いで、あらかじめ定義されたライフサイクルビットを設定する。
【００３０】
ライフサイクルビットの役割は、任意の/すべてのフィーチャベクトルメッセージがHWC250によって一度だけ消費可能であることを保証することである。これは、OEM220が同じIC210で複数のフィーチャベクトルメッセージを使用するが、最低のフィーチャ結果しか報告しないことによっていくつかのアタックを防止する。HWCは次いで、OTPから一意のチップID、ならびにチップIDおよびフィーチャベクトル値についての署名またはHMACを読み取る(ステップ280)。図5も参照されたい。HMACは、AES-256アルゴリズムを使用してもよく、署名は、RSAアルゴリズムを使用してもよい。得られた署名/鍵付きダイジェスト(証明結果)は、HWCによってエクスポートされる。OEMはこのHWCが証明した結果を読取り、報告する(ステップ284)。
【００３１】
IC210ごとに、OEM220は、<チップID、証明結果、要求されたフィーチャセット>トリプレットを供給業者230に提示する(ステップ288)。チップ供給業者は次いで、指定されたチップIDおよびフィーチャセットについてOEMが提供した結果に対して、予想される結果を検証する(ステップ292)。値が一致する場合、供給業者は確認メッセージをOEMに転送する(ステップ296)。
【００３２】
例として、供給業者230はOEM220に、未使用のフィーチャのすべてについてリベートを支給してもよい。しかしながら、値が予想される結果に一致しない場合、これは、違法な構成の試みを示す可能性があり、供給業者は、適切なアクションをとってもよい。
【００３３】
図2に示す技法は、製造中にOEM220による「ジャストインタイム」のIC構成を可能にする。IC/SoC210のHWC250は、静的なフィーチャベクトルメッセージを受け取り、証明結果を返す。この能力は、セキュアなインフラストラクチャを配備し、動作させる必要なしに、かつ供給業者への「ライブ」接続の必要なしに、サポートされる。エンドポイント、すなわち、HWC250および供給業者230のみが、セキュアである必要がある。OEM220との通信接続は、セキュアであるまたはライブである必要はない。加えて、この技法は、OEMに対して、複雑さおよびテスト時間オーバーヘッドを最小にする。各IC/SoC210は、単一のラウンドトリッププロトコルを使用して構成され、プロトコルは、いずれかのオフチップまたはオンチップエンティティによって実行されてもよい。プロトコルは、製造工程中の任意の時間に、OEMの既存のフローと最も良く適合する時間に、トリガされてもよい。
【００３４】
本発明の別の態様は、集積回路210であって、第1の当事者220からフィーチャベクトルメッセージを受け取るための手段(たとえば、HWC250)であって、フィーチャベクトルメッセージが第1の当事者から第2の当事者230へのフィーチャセット要求に対する応答に含まれる、受け取るための手段と、フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて集積回路の少なくとも1つのフィーチャを構成するための手段(たとえば、HWC250)と、集積回路の少なくとも1つの構成されたフィーチャに基づいて、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵を使用して、証明結果を生成するための手段(たとえば、HWC250)と、証明結果を第1の当事者に転送するための手段(たとえば、HWC250)とを備える、集積回路210に存在し得る。
【００３５】
本発明の別の態様は、集積回路であって、第1の当事者からフィーチャベクトルメッセージを受け取ることであって、フィーチャベクトルメッセージが第1の当事者から第2の当事者へのフィーチャセット要求に対する応答に含まれる、受け取ることと、フィーチャベクトルメッセージ内のフィーチャベクトルに基づいて集積回路の少なくとも1つのフィーチャを構成することと、集積回路の少なくとも1つの構成されたフィーチャに基づいて、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵を使用して、証明結果を生成することと、証明結果を第1の当事者に転送することとを行うように構成されたプロセッサ(たとえば、HWC250)を備える、集積回路に存在し得る。
【００３６】
遠隔局102(図1)は、プロセッサ610と、メモリおよび/またはディスクドライブなどの記憶媒体620と、ディスプレイ630と、キーパッドなどの入力640と、ワイヤレス接続650とを含むコンピュータ600を備えてもよい。
【００３７】
図2および図7を参照すると、本発明の別の態様は、集積回路210を構成するための方法700に存在し得る。この方法では、第1の当事者220が、第2の当事者230にフィーチャセットの要求を転送する(ステップ710)。応答して、第1の当事者は、第2の当事者からフィーチャベクトルメッセージを受け取る(ステップ720)。第1の当事者は、フィーチャベクトルメッセージを集積回路に転送する(ステップ730)。第1の当事者は、集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵にさらに基づいて、証明結果を受け取る(ステップ740)。第1の当事者は、証明結果、フィーチャセット、および集積回路の一意の識別子を第2の当事者に転送する(ステップ750)。
【００３８】
本発明の別の態様は、第1の当事者220のステーション(たとえば、コンピュータ600)であって、フィーチャセットの要求を第2の当事者230の別のステーションに転送するための手段(たとえば、プロセッサ610)と、別のステーションからフィーチャベクトルメッセージを受け取るための手段(たとえば、プロセッサ610)と、フィーチャベクトルメッセージを集積回路210に転送するための手段(たとえば、プロセッサ610)と、集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており上記別のステーションに知られ上記ステーションに知られていない鍵にさらに基づいて、証明結果を受け取るための手段(たとえば、プロセッサ610)と、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションに転送するための手段(たとえば、プロセッサ610)とを備える、ステーションに存在し得る。
【００３９】
本発明の別の態様は、第1の当事者220のステーション(たとえば、コンピュータ600)であって、フィーチャセットの要求を第2の当事者230の別のステーションに転送することと、別のステーションからフィーチャベクトルメッセージを受け取ることと、フィーチャベクトルメッセージを集積回路210に転送することと、集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており上記別のステーションに知られ上記ステーションに知られていない鍵にさらに基づいて、証明結果を受け取ることと、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションに転送することとを行うように構成されたプロセッサ(たとえば、プロセッサ610)を備える、ステーションに存在し得る。
【００４０】
本発明の別の態様は、コンピュータ可読媒体(たとえば、記憶媒体620)であって、第1の当事者220のコンピュータ(たとえば、600)にフィーチャセットの要求を第2の当事者230の別のコンピュータに転送させるためのコードと、コンピュータに別のコンピュータからフィーチャベクトルメッセージを受け取らせるためのコードと、コンピュータにフィーチャベクトルメッセージを集積回路210に転送させるためのコードと、コンピュータに集積回路の少なくとも1つの構成されたフィーチャに基づいて、また集積回路にセキュアに記憶されており上記別のコンピュータに知られ上記コンピュータに知られていない鍵にさらに基づいて、証明結果を受け取らせるためのコードと、コンピュータに、証明結果、フィーチャセット、および集積回路の一意の識別子を別のステーションに転送させるためのコードとを備える、コンピュータ可読媒体に存在し得る。
【００４１】
図2および図8を参照すると、本発明の別の態様は、集積回路210のフィーチャを検証するための方法800に存在し得る。この方法では、第2の当事者が、第1の当事者からフィーチャセットの要求を受け取る(ステップ810)。第2の当事者は、フィーチャベクトルメッセージを第1の当事者に転送する(ステップ820)。第2の当事者は、証明結果、フィーチャセット、および集積回路の一意の識別子を第1の当事者から受け取る(ステップ830)。証明結果は、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており第2の当事者に知られ第1の当事者に知られていない鍵にさらに基づいている。第2の当事者は、鍵を使用して証明結果を検証する(ステップ840)。
【００４２】
本発明の別の態様は、第2の当事者230のステーション(たとえば、コンピュータ600などの別のコンピュータ)であって、第1の当事者220の別のステーションからフィーチャセットの要求を受け取るための手段(たとえば、プロセッサ610)と、フィーチャベクトルメッセージを別のステーションに転送するための手段(たとえば、プロセッサ610)と、証明結果、フィーチャセット、および集積回路210の一意の識別子を別のステーションから受け取るための手段(たとえば、プロセッサ610)であって、証明結果が、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており、上記ステーションに知られ上記別のステーションに知られていない鍵にさらに基づいている、受け取るための手段と、鍵を使用して証明結果を検証するための手段(たとえば、プロセッサ610)とを備える、ステーションに存在し得る。
【００４３】
本発明の別の態様は、第2の当事者230のステーション(たとえば、コンピュータ600などの別のコンピュータ)であって、第1の当事者220の別のステーションからフィーチャセットの要求を受け取ることと、フィーチャベクトルメッセージを別のステーションに転送することと、証明結果、フィーチャセット、および集積回路210の一意の識別子を別のステーションから受け取ることであって、証明結果が、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており、ステーションに知られ、別のステーションに知られていない鍵にさらに基づいている、受け取ることと、鍵を使用して証明結果を検証することとを行うように構成されたプロセッサ(たとえば、プロセッサ610)を備える、ステーションに存在し得る。
【００４４】
本発明の別の態様は、コンピュータ可読媒体(たとえば、記憶媒体620)であって、第2の当事者230のコンピュータ(たとえば、600)に第1の当事者220の別のコンピュータからフィーチャセットの要求を受け取らせるためのコードと、コンピュータにフィーチャベクトルメッセージを別のコンピュータに転送させるためのコードと、コンピュータに証明結果、フィーチャセット、および集積回路210の一意の識別子を別のコンピュータから受け取らせるためのコードであって、証明結果が、集積回路の少なくとも1つの構成されたフィーチャに基づくとともに、集積回路にセキュアに記憶されており、コンピュータに知られ、別のコンピュータに知られていない鍵にさらに基づいている、受け取らせるためのコードと、コンピュータに鍵を使用して証明結果を検証させるためのコードとを備える、コンピュータ可読媒体に存在し得る。
【００４５】
図1を参照すると、ワイヤレス遠隔局(RS)102(たとえば、移動局MS)が、ワイヤレス通信システム100の1つまたは複数の基地局(BS)104と通信する場合がある。移動局はSoC210を含んでもよい。ワイヤレス通信システム100は、1つまたは複数の基地局コントローラ(BSC)106と、コアネットワーク108とをさらに含んでもよい。コアネットワークは、適切なバックホールを介して、インターネット110および公衆交換電話網(PSTN)112に接続されてもよい。典型的なワイヤレス移動局は、ハンドヘルド電話またはラップトップコンピュータを含んでもよい。ワイヤレス通信システム100は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、空間分割多元接続(SDMA)、偏波分割多元接続(PDMA)、または当技術分野で知られている他の変調技法などのいくつかの多元接続技法のうちのいずれか1つを採用してよい。
【００４６】
情報および信号は、多種多様な技術および技法のいずれかを使用して表されてもよいことを、当業者は理解するであろう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは粒子、光場もしくは光粒子、またはそれらの任意の組合せによって表されてもよい。
【００４７】
本明細書に開示する実施形態に関して説明する様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装される場合があることを、当業者はさらに諒解するであろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能性に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の用途およびシステム全体に課される設計の制約によって決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装形態の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００４８】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェア構成要素、または本明細書で説明した機能を果たすように設計されたこれらの任意の組合せを用いて実装されるか、または実行される場合がある。汎用プロセッサはマイクロプロセッサであってよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装されてもよい。
【００４９】
本明細書に開示する実施形態と関連して説明する方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサで実行されるソフトウェアモジュールで、またはこれら2つの組合せで具現されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形式の記憶媒体内に存在することがある。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、また記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体であることがある。プロセッサおよび記憶媒体は、ASICの中に存在することがある。ASICは、ユーザ端末の中に存在することがある。代替として、プロセッサおよび記憶媒体は、個別の構成要素としてユーザ端末に存在する場合がある。
【００５０】
1つまたは複数の例示的な実施形態では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装されてもよい。コンピュータプログラム製品としてソフトウェアにおいて実施される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶されてもよく、または伝送されてもよい。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、非一時的コンピュータ可読記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされることがある任意の利用可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用できるとともにコンピュータによってアクセスできる任意の他の媒体を含むことができる。また、いかなる接続も、厳密にはコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびblu-rayディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５１】
開示した実施形態についての上記の説明は、当業者が本発明を作成または使用することを可能にするように提供される。これらの実施形態に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書において規定される一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用されてもよい。したがって、本発明は、本明細書で示した実施形態に限定されるものではなく、本明細書で開示した原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００５２】
100  ワイヤレス通信システム
102  ワイヤレス遠隔局(RS)
104  基地局(BS)
106  基地局コントローラ(BSC)
108  コアネットワーク
110  インターネット
112  公衆交換電話網(PSTN)
210  集積回路(IC)
220  第1の当事者
230  第2の当事者
240  ワンタイムプログラマブル(OTP)メモリ
250  ハードウェアブロックまたはコア(HWC)
440  鍵付き関数
600  コンピュータ
610  プロセッサ
620  記憶媒体
630  ディスプレイ
640  入力
650  ワイヤレス接続
【図１】
2019516276.tif 000003
【図２】
2019516276.tif 000004
【図３】
2019516276.tif 000005
【図４】
2019516276.tif 000006
【図５】
2019516276.tif 000007
【図６】
2019516276.tif 000008
【図７】
2019516276.tif 000009
【図８】
2019516276.tif 000010
【国際調査報告】
2019516276.tif 000011
2019516276.tif 000012