IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 新唐科技股▲ふん▼有限公司の特許一覧

<>
  • 特許-PQAロック解除 図1
  • 特許-PQAロック解除 図2
  • 特許-PQAロック解除 図3
  • 特許-PQAロック解除 図4
  • 特許-PQAロック解除 図5
  • 特許-PQAロック解除 図6
  • 特許-PQAロック解除 図7
  • 特許-PQAロック解除 図8
  • 特許-PQAロック解除 図9
  • 特許-PQAロック解除 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-10
(45)【発行日】2022-06-20
(54)【発明の名称】PQAロック解除
(51)【国際特許分類】
   H04L 9/32 20060101AFI20220613BHJP
   G06F 21/44 20130101ALI20220613BHJP
   G09C 1/00 20060101ALI20220613BHJP
【FI】
H04L9/32 200B
G06F21/44
G09C1/00 640E
【請求項の数】 20
(21)【出願番号】P 2021106305
(22)【出願日】2021-06-28
(65)【公開番号】P2022013809
(43)【公開日】2022-01-18
【審査請求日】2021-06-28
(31)【優先権主張番号】16/914535
(32)【優先日】2020-06-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508197206
【氏名又は名称】新唐科技股▲ふん▼有限公司
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】タナミ,オーレン
(72)【発明者】
【氏名】ハーシュマン,ジヴ
【審査官】青木 重徳
(56)【参考文献】
【文献】中国特許出願公開第109218025(CN,A)
【文献】米国特許出願公開第2017/0353315(US,A1)
【文献】欧州特許出願公開第3511853(EP,A1)
【文献】特開2017-038429(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
セキュア集積回路(IC)チップ装置であって、
ノンスNの暗号化値E、および、一方向性関数出力値Hを保存し、前記一方向性関数出力値Hは、前記ノンスNを入力として計算される一方向性関数出力値であるメモリと、
設置されて、外部装置とデータを転送するインターフェース、および、
チップセキュリティ回路、を有し、前記チップセキュリティ回路は、
前記ICチップ装置の一部をロックして、使用を防止し、
前記インターフェースにより、ロック解除ハードウェアセキュリティモジュール (HSM)から解除要求を受信し、
前記インターフェースにより、前記暗号化値Eを前記HSMに提供して、 前記解除要求に応答し、
前記HSMからの値N’を受信し、前記値N’は前記暗号化値Eの復号値であり、
前記値N’に基づいて一方向性関数出力値H’を計算し、
前記一方向性関数出力値H’と前記一方向性関数出力値Hを比較し、および、
前記値H’と前記値Hが適合するとき、前記ICチップ装置の前記一部をロック解除することを特徴とする装置。
【請求項2】
さらに、乱数発生器を有して、前記ノンスNを生成し、前記チップセキュリティ回路は、
前記ノンスNを、前記セキュリティセットアップHSMに提供し、
前記セキュリティセットアップHSMから、前記暗号化値E、および、前記一方向性関数出力値Hを受信し、および、
前記ノンスNを削除することを特徴とする請求項1に記載の装置。
【請求項3】
さらに、乱数発生器を有して、前記ノンスNを生成し、前記チップセキュリティ回路は、
前記ノンスNに基づいて前記一方向性関数出力値Hを計算し、
前記ノンスNを前記セキュリティセットアップHSMに提供し、
前記セキュリティセットアップHSMから前記暗号化値Eを受信し、および、
前記ノンスNを削除することを特徴とする請求項1に記載の装置。
【請求項4】
さらに、乱数発生器を有して、前記ノンスNを生成し、前記チップセキュリティ回路は、
前記ノンスNを暗号化して前記暗号化値Eを生成し、
前記一方向性関数出力値Hを計算して前記ノンスNに応答し、および、前記ノンスNを削除することを特徴とする請求項1に記載の装置。
【請求項5】
前記チップセキュリティ回路は、前記セキュリティセットアップHSMから、前記暗号化値E、および、前記一方向性関数出力値Hを受信することを特徴とする請求項1に記載の装置。
【請求項6】
前記ICチップ装置の前記一部は、デバッグインターフェースを有することを特徴とする請求項1に記載の装置。
【請求項7】
セキュア集積回路(IC)チップ方法であって、
チップセキュリティセットアッププロセスを実行し、前記プロセスは、
ICチップ装置の一メモリ中に、ノンスNの暗号化値E、および、一方向性関数出力値Hを保存し、前記一方向性関数出力値Hは、前記ノンスNを入力として計算する一方向性関数の出力値である工程と、
前記ICチップ装置の一部をロックして、使用を防止する工程、および、
前記ICチップ装置により解除プロセスを実行する工程、を有し、前記工程は、
インターフェースにより、ロック解除ハードウェアセキュリティモジュール (HSM)から、解除要求を受信する工程と、
前記インターフェースにより、前記暗号化値Eを、前記HSMに提供して、前記解除要求に応答する工程と、
前記HSMから、値N’を受信し、前記値N’は前記暗号化値Eの復号値である工程と、
前記値N’に基づいて、一方向性関数出力値H’を計算する工程と、
前記一方向性関数出力値H’と前記一方向性関数出力値Hを比較する工程、および、
前記値H’と前記値Hが適合するとき、前記ICチップ装置の前記一部をロック解除する工程、
を有することを特徴とする方法。
【請求項8】
前記チップセキュリティセットアッププロセスはさらに、前記ICチップ装置を有し、
前記ノンスNをランダムに生成する工程と、
前記ノンスNを、セキュリティセットアップHSMに提供する工程と、
前記セキュリティセットアップHSMから、前記暗号化値E、および、前記一方向性関数出力値Hを受信する工程、および、
前記ノンスNを削除する工程、
を有することを特徴とする請求項7に記載の方法。
【請求項9】
前記チップセキュリティセットアッププロセスはさらに、前記ICチップ装置を有し、
前記ノンスNをランダムに生成する工程と、
前記ノンスNに基づいて、前記一方向性関数出力値Hを計算する工程と、
前記ノンスNを、セキュリティセットアップHSMに提供する工程と、
前記セキュリティセットアップHSMから、前記暗号化値Eを受信する工程と、
前記ノンスNを削除する工程、
を有することを特徴とする請求項7に記載の方法。
【請求項10】
前記チップセキュリティセットアッププロセスはさらに、前記ICチップ装置を有し、
前記ノンスNをランダムに生成する工程と、
前記ノンスNを暗号化して、前記暗号化値Eを生成する工程と、
前記ノンスNに基づいて、前記一方向性関数出力値Hを計算する工程と、
前記ノンスNを削除する工程と、
を有することを特徴とする請求項7に記載の方法。
【請求項11】
前記チップセキュリティセットアッププロセスはさらに、前記ICチップ装置を有して、前記セキュリティセットアップHSMから、前記暗号化値E、および、前記一方向性関数出力値Hを受信することを特徴とする請求項7に記載の方法。
【請求項12】
セキュア集積回路(IC)チップ方法であり、チップセキュリティセットアッププロセスを実行し、前記プロセスは、
ICチップ装置の一メモリ中に、暗号化値E、および、一方向性関数出力値Hを保存し、前記一方向性関数出力値Hは、ノンスNを入力として計算した一方向性関数の出力値である工程と、
前記ICチップ装置の一部をロックして、使用を防止する工程、および、
解除プロセスを実行する工程、を有し、前記プロセスは、
ロック解除ハードウェアセキュリティモジュール (HSM)により、解除要求を生成する工程と、
前記ICチップ装置により、前記保存された暗号化値Eを、前記HSMに提供して、解除要求に応答する工程と、
前記HSMにより、前記暗号化値Eを復号して、値N’を生成する工程と、
前記HSMにより、前記値N’を前記ICチップ装置に提供する工程と、
前記ICチップ装置により、前記値N’に基づいて、一方向性関数出力値H’を計算する工程と、
前記ICチップ装置により、前記一方向性関数出力値H’と前記保存された一方向性関数出力値Hを比較する工程、および、
前記値H’と前記値Hが適合するとき、前記ICチップ装置により、前記ICチップ装置の前記一部をロック解除して、使用可能にする工程、
を有することを特徴とする方法。
【請求項13】
前記チップセキュリティセットアッププロセスはさらに、
前記ICチップ装置により、前記ノンスNをランダムに生成する工程と、
前記ICチップ装置により、前記ノンスNをセキュリティセットアップHSMに提供する工程と、
それぞれ、前記ノンスNを暗号化し、前記セキュリティセットアップHSMにより、前記ノンスNを入力として前記一方向性関数を計算して、前記暗号化値E、および、前記一方向性関数出力値Hを生成する工程と、
前記暗号化値E、および、前記一方向性関数出力値Hを前記ICチップ装置に提供する工程、および、
前記ICチップ装置から前記ノンスNを削除する工程、
を有することを特徴とする請求項12に記載の方法。
【請求項14】
前記暗号化は、前記ノンスNを暗号化して、前記ロック解除HSMの公開鍵に応答する工程、
前記復号は、前記暗号化値Eを復号して、前記ロック解除HSMの秘密鍵に応答する工程、を有することを特徴とする請求項13に記載の方法。
【請求項15】
前記チップセキュリティセットアッププロセスはさらに、
前記ICチップ装置により、前記ノンスNをランダムに生成する工程と、
前記ICチップ装置により、前記一方向性関数出力値Hを計算して、前記ノンスNに応答する工程と、
前記ICチップ装置により、前記ノンスNをセキュリティセットアップHSMに提供する工程と、
前記セキュリティセットアップHSMにより、前記ノンスNを暗号化して、前記暗号化値Eを生成する工程と、
前記暗号化値Eを前記ICチップ装置に提供する工程と、
前記ICチップ装置から前記ノンスNを削除する工程、
を有することを特徴とする請求項12に記載の方法。
【請求項16】
前記暗号化は、前記ノンスNを暗号化して前記ロック解除HSMの公開鍵に応答する工程、
前記復号は、前記暗号化値Eを復号して前記ロック解除HSMの秘密鍵に応答する工程、
を有することを特徴とする請求項15に記載の方法。
【請求項17】
前記チップセキュリティセットアッププロセスはさらに、
それぞれ、前記ノンスNを暗号化し、セキュリティセットアップHSMにより、前記ノンスNを入力として前記一方向性関数を計算して、前記暗号化値E、および、前記一方向性関数出力値Hを生成する工程、および、
前記暗号化値E、および、前記一方向性関数出力値Hを前記ICチップ装置に提供する工程、
を有することを特徴とする請求項12に記載の方法。
【請求項18】
前記暗号化は、前記ノンスNを暗号化して前記ロック解除HSMの公開鍵に応答する工程、および、
前記復号は、前記暗号化値Eを暗号化して前記ロック解除HSMの秘密鍵に応答する工程、
を有することを特徴とする請求項17に記載の方法。
【請求項19】
前記チップセキュリティセットアッププロセスはさらに、前記ICチップ装置により実行される工程を有し、前記工程は、
前記ICチップ装置により、前記ノンスNをランダムに生成する工程と、
前記ノンスNを暗号化して前記暗号化値Eを生成する工程と、
前記ノンスNを入力として前記一方向性関数を計算して、前記一方向性関数出力値Hを生成する工程、および、
前記ICチップ装置から前記ノンスNを削除する工程、
を有することを特徴とする請求項12に記載の方法。
【請求項20】
前記暗号化は、前記ノンスNを暗号化して前記ロック解除HSMの公開鍵に応答する工程、
前記復号は、前記暗号化値Eを復号して前記ロック解除HSMの秘密鍵に応答する工程、
を有することを特徴とする請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集積回路チップに関するものであって、特に、チップロック解除に限定しない。
【背景技術】
【0002】
集積回路(IC)製造の高コストは、ICチップ製造を大量に第三者に外注する事態を招く。研究では、外注は、各種のリスク、たとえば、安全リスク (たとえば、装置に対する改ざん、チップ中に、悪意のあるハードウェアモジュールが加えられることを含む)が発生すること、違法に他者がチップを製造したり、ある状況下で、ICチップ設計を盗んだりする可能性があることが示されている。様々な方法がすでに導入されて、これらのリスクを軽減している。
【0003】
たとえば、レイアウト偽装を用いることによりリスクを軽減することができ、レイアウト偽装は、チップの外観を変化させて、ICチップの設計情報を難読化させる。
【0004】
別の例によると、ロジックロッキングは、専用のロッキング回路により、現有のチップ設計を補充し、専用のロッキング回路は、現在のセルと密接に関連しあうとともに、キーにより、IC機能に影響する。キーは、チップベンダー、あるいは、チップ所有者(たとえば、チップ設計者、あるいは、IP権利所有者)により所有される。正確なキーが提供される場合、ICチップ、あるいは、その一部は、ロック解除されると共に、使用の準備をする。これにより、チップは、チップ所有者やベンダーだけがロック解除できる。
【0005】
チップのロックにはその他の原因がある。たとえば、ある応用において、チップのデバッグインターフェースがロックされて、顧客と第三者が、デバッグインターフェースにアクセスするのを防止する。チップ所有者やベンダーは、安全に、デバッグインターフェースを解除する能力を有し、顧客のチップ返却を処理する、あるいは、チップをテストして、ポストプロダクション品質保証の一部とする。
【0006】
ロジックロッキングの一例が、すでに、Roy等による米国特許公報2010/0287374で記述されており、この文献は、装置上のバスを暗号化/復号することにより、集積回路(IC)ベースの装置をロック、および、解除する技術を記述する。バスは、ICのシステムバス、IC中のバス、あるいは、外部入/出力バスであってもよい。共有の秘密プロトコルが、IC設計者とICを製造する製造設備間に用いられる。製造設備のICは、IC設計者から受信した独特な識別データから生成される暗号化キーを用いて、IC上のバスにスクランブルをかける。ICバスが暗号化キーによりロックされた後、IC設計者だけが、必要な適切な起動キーを決定、および、通信して、バスを解除する (たとえば、解読する)とともに、これにより、集積回路を使用可能にすることができる。
【0007】
Roy等による米国特許公報2010/0284539は、組み合わせ回路ロッキングシステム、および、公開鍵暗号法にもとづいた起動プロトコルを用いた集積回路設計の特許権侵害の可能性を減少させる技術を記述している。各集積回路は、外部キーにより起動され、このキーは、認証者、たとえば、回路設計者だけにより生成される。回路設計期間中、IC設計のレジスタ転送レベル (RTL)記述は、認証者により適用されるマスターキーに基づいて、組み合わせロジックに組み込まれる。その組み合わせロジックは、ロックされたRTL記述、たとえば、暗号化された少なくとも一つのモジュールを設ける。認証者からの完全な回路設計は、組み合わせロジックロックモジュールにより、製造実験室に送られる。製造後、認証者が、適当なキーを送信するときだけ、回路が有効になり、キーは、回路により、ロックされた部分を解除し、これにより、回路を起動する。
【0008】
Ghosh等による米国特許出願2017/0180131は、安全解除に用いられ、デバッグハードウェアにアクセスするシステムと技術を開示している。装置のハードウェアデバッグアクセスポートで、暗号化キーが受信されてもよい。ダイジェストは、装置のロック解除ユニット上の暗号化キーから計算される。ヒューズ値は、装置上の不揮発性リードオンリー媒体から受信される。ダイジェストとヒューズ値が比較されて、それらが同じか判断する。パス失敗パルスが提供されて、比較結果を表示する。
【0009】
Case等による米国特許8332641は、集積回路(IC)装置を記述し、集積回路は、第一者の指示下で設置されて、第一者の認証により、一時的に、IC装置のデバッグインターフェースにアクセスすることができ、第一者は、IC装置のキー、および、IC装置上で生成される挑戦値の挑戦/プロセス応答により認証する。第一者はその後、デバッグインターフェースにより、IC装置のソフトウェア評価を実行する。認証時、第一者が、永久的に、デバッグインターフェースへのアクセスを開放するとともに、IC装置を第二者に提供することができ、ソフトウェア評価から、IC装置を識別できないという問題に対応する。第二者の指示の下、IC装置のハードウェア評価は、第一者により永久的に開放されたデバッグインターフェースにより実行される。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は、セキュア集積回路(IC)チップ装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の別の実施形態によると、セキュア集積回路(IC)チップ装置を提供し、メモリ、インターフェース、および、チップセキュリティ回路を有する。メモリは、ノンス (number used once、nonce)Nの暗号化値E、および、一方向性関数出力値Hを保存し、一方向性関数出力値Hは、ノンスNを入力として計算される一方向性関数の出力値である。インターフェースは、外部装置とデータを転送する。チップセキュリティ回路は、ICチップ装置の一部をロックして、使用を防止し、インターフェースにより、ロック解除ハードウェアセキュリティモジュール (HSM)から、解除要求を受信し、解除要求に応答するインターフェースにより、暗号化値Eを、HSMに提供して、HSMからの値N’を受信する。この値N’は、暗号化値Eの復号値であり、値N’に基づいて、一方向性関数出力値H’を計算し、一方向性関数出力値H’と一方向性関数出力値Hを比較し、および、値H’と値Hが適合するとき、ICチップ装置の一部をロック解除して、使用可能にする。
【0012】
さらに、本発明の一実施形態によると、装置は、乱数発生器を有して、ノンスNを生成し、チップセキュリティ回路が設置されて、ノンスNを、セキュリティセットアップHSMに提供し、セキュリティセットアップHSMから、暗号化値E、および、一方向性関数出力値Hを受信するとともに、ノンスNを削除する。
【0013】
さらに、本発明の一実施形態によると、装置は、乱数発生器を有して、ノンスNを生成し、チップセキュリティ回路が設置されて、一方向性関数出力値Hを計算して、ノンスNに応答し、ノンスNを、セキュリティセットアップHSMに提供して、セキュリティセットアップHSMから、暗号化値Eを受信するとともに、ノンスNを削除する。
【0014】
このほか、本発明の一実施形態において、装置は、乱数発生器を有して、ノンスNを生成し、チップセキュリティ回路が設置されて、ノンスNを暗号化して、暗号化値Eを生成し、一方向性関数出力値Hを計算して、ノンスNに応答するとともに、ノンスNを削除する。
【0015】
さらに、本発明の一実施形態において、チップセキュリティ回路が設置されて、セキュリティセットアップHSMから、暗号化値E、および、一方向性関数出力値Hを受信する。
【0016】
さらに、本発明の一実施形態によると、ICチップ装置の一部は、デバッグインターフェースを有する。
【0017】
本発明のその他の実施形態によると、セキュア集積回路(IC)チップ方法を提供し、方法は、チップセキュリティセットアッププロセスを実行する工程を有し、前記工程は、ICチップ装置の一メモリ中に、ノンスNの暗号化値E、および、一方向性関数出力値Hを保存し、一方向性関数出力値Hは、ノンスNを入力として計算する一方向性関数の出力値である工程と、ICチップ装置の一部をロックして、使用を防止する工程、および、ICチップ装置により、解除プロセスを実行し、解除プロセスは、インターフェースにより、ロック解除ハードウェアセキュリティモジュール (HSM)から、解除要求を受信して、解除要求に応答するインターフェースにより、暗号化値Eを、HSMに提供して、HSMから、値N’を受信し、値N’は、暗号化値Eの復号値である工程と、値N’に基づいて、一方向性関数出力値H’を計算し、一方向性関数出力値H’と一方向性関数出力値Hを比較する工程、および、値H’と値Hが適合するとき、ICチップ装置の一部をロック解除して、使用可能にする工程、を有する。
【0018】
さらに、本発明の一実施形態によると、チップセキュリティセットアッププロセスはさらに、ICチップ装置を有して、ノンスNをランダムに生成する工程と、ノンスNを、セキュリティセットアップHSMに提供する工程と、セキュリティセットアップHSMから、暗号化値E、および、一方向性関数出力値Hを受信する工程、および、ノンスNを削除する工程、を有する。
【0019】
このほか、本発明の一実施形態において、チップセキュリティセットアッププロセスはさらに、ICチップ装置を有し、ノンスNをランダムに生成する工程と、一方向性関数出力値Hを計算して、ノンスNに応答する工程と、ノンスNを、セキュリティセットアップHSMに提供する工程と、セキュリティセットアップHSMから、暗号化値Eを受信する工程、および、ノンスNを削除する工程、を有する。
【0020】
さらに、本発明の一実施形態において、チップセキュリティセットアッププロセスはさらに、ICチップ装置を有し、ノンスNをランダムに生成する工程と、ノンスNを暗号化して、暗号化値Eを生成する工程と、一方向性関数出力値Hを計算して、ノンスNに応答する工程、および、ノンスNを削除する工程、を有する。
【0021】
さらに、本発明の一実施形態によると、チップセキュリティセットアッププロセスはさらに、ICチップ装置を有し、セキュリティセットアップHSMから、暗号化値E、および、一方向性関数出力値Hを受信する工程、を有する。
【0022】
本発明の別の実施形態によると、セキュア集積回路(IC)チップ方法は、チップセキュリティセットアッププロセスを実行する工程を有し、前記工程は、ICチップ装置の一メモリ中に、暗号化値E、および、一方向性関数出力値Hを保存し、一方向性関数出力値Hは、ノンスNを入力として計算した一方向性関数の出力値である工程、および、ICチップ装置の一部をロックして、使用を防止する工程、および、解除プロセスを実行する工程、を有し、前記工程は、ロック解除ハードウェアセキュリティモジュール (HSM)により、解除要求を生成する工程と、ICチップ装置により、保存された暗号化値Eを、HSMに提供して、解除要求に応答する工程と、HSMにより生成される値N’により、暗号化値を復号する工程と、HSMにより、値N’をICチップ装置に提供する工程と、ICチップ装置により、一方向性関数出力値H’を計算して、値N’に応答する工程と、ICチップ装置により、一方向性関数出力値H’と保存された一方向性関数出力値Hを比較する工程、および、値H’と値Hが適合するとき、ICチップ装置により、ICチップ装置の一部をロック解除して、使用可能にする工程、を有する。
【0023】
さらに、本発明の一実施形態によると、チップセキュリティセットアッププロセスはさらに、ICチップ装置により、ノンスNをランダムに生成する工程と、ICチップ装置により、ノンスNを、セキュリティセットアップHSMに提供する工程と、セキュリティセットアップHSMにより、ノンスNを暗号化するとともに、ノンスNを入力として、一方向性関数を計算して、それぞれ、暗号化値E、および、一方向性関数出力値Hを生成する工程と、暗号化値E、および、一方向性関数出力値Hを、ICチップ装置に提供する工程、および、ICチップ装置から、ノンスNを削除する工程、を有する。
【0024】
このほか、本発明の一実施形態において、暗号化は、ノンスNを暗号化して、ロック解除HSMの公開鍵に応答する工程を有し、復号は、暗号化値Eを復号して、ロック解除HSMの秘密鍵に応答する工程を有する。
【0025】
さらに、本発明の一実施形態において、チップセキュリティセットアッププロセスはさらに、ICチップ装置により、ノンスNをランダムに生成する工程と、ICチップ装置により、一方向性関数出力値Hを計算して、ノンスNに応答する工程と、ICチップ装置により、ノンスNを、セキュリティセットアップHSMに提供する工程と、暗号化値Eを生成するセキュリティセットアップHSMにより、ノンスNを暗号化する工程と、暗号化値Eを、ICチップ装置に提供する工程、および、ICチップ装置から、ノンスNを削除する工程、を有する。
【0026】
さらに、本発明の一実施形態によると、暗号化は、ノンスNを暗号化して、ロック解除HSMの公開鍵に応答する工程を有し、復号は、暗号化値Eを復号して、ロック解除HSMの秘密鍵に応答する工程を有する。
【0027】
さらに、本発明の一実施形態によると、チップセキュリティセットアッププロセスはさらに、ノンスNを暗号化するとともに、それぞれ、暗号化値E、および、一方向性関数出力値Hを生成するセキュリティセットアップHSMにより、ノンスNを入力として、一方向性関数を計算する工程、および、暗号化値E、および、一方向性関数出力値Hを、ICチップ装置に提供する工程、を有する。
【0028】
このほか、本発明の一実施形態において、暗号化は、ノンスNを暗号化して、ロック解除HSMの公開鍵に応答する工程を有し、復号は、暗号化値Eを復号して、ロック解除HSMの秘密鍵に応答する工程を有する。
【0029】
さらに、本発明の一実施形態において、チップセキュリティセットアッププロセスはさらに、ICチップ装置により、ランダムに、ノンスNを生成する工程と、ノンスNを暗号化して、暗号化値Eを生成する工程と、ノンスNを入力として、一方向性関数を計算して、一方向性関数出力値Hを生成する工程、および、ICチップ装置から、ノンスNを削除する工程、を有する。
【0030】
さらに、本発明の一実施形態によると、暗号化は、ノンスNを暗号化して、ロック解除HSMの公開鍵に応答する工程を有し、復号は、暗号化値Eを復号して、ロック解除HSMの秘密鍵に応答する工程を有する。
【発明の効果】
【0031】
本発明により、安全性が向上する。
【0032】
本発明は、図面と併せて、以下の詳細な記述により理解することができる。
【図面の簡単な説明】
【0033】
図1】本発明の一実施形態による構築、および、操作を記述する集積回路(IC)チップセキュリティセットアップシステムの一部を説明するブロック図である。
図2図1のシステムの操作方法の工程を示すフローチャートである。
図3】本発明の一実施形態による構築、および、操作を記述する第一代替的集積回路(IC)チップセキュリティセットアップシステムの一部を説明するブロック図である。
図4図3のシステムの操作方法の工程を示すフローチャートである。
図5】本発明の一実施形態による構築、および、操作を記述する第二代替的集積回路(IC)チップセキュリティセットアップシステムの一部を説明するブロック図である。
図6図5のシステムの操作工程を示すフローチャートである。
図7】本発明の一実施形態による構築、および、操作を記述する第三代替的集積回路(IC)チップセキュリティセットアップシステムの一部を説明するブロック図である。
図8図7のシステムの操作方法の工程を示すフローチャートである。
図9】本発明の一実施形態による構築、および、操作を記述する集積回路(IC)チップセキュリティセットアップシステムの一部を説明するブロック図である。
図10図9のシステムの操作方法の工程のフローチャートである。
【発明を実施するための形態】
【0034】
上記のように、ロジックロッキングが用いられて、専用のロッキング回路により、現有のチップ設計を補充し、専用のロッキング回路は、現在のセルと密接に関連しあうとともに、キーにより、IC機能に影響し、キーは、チップベンダー、あるいは、チップ所有者(たとえば、チップ設計者、あるいは、IP権利所有者)により所有される。正確なキーが提供される場合、ICチップ、あるいは、その一部は、ロック解除されると共に、使用を可能にする。
【0035】
秘密鍵を用いてロック解除するロッキングロジック提供の成功は、秘密鍵の安全性にかかっている。ICチップが秘密鍵を保存する場合、ロッキングロジックの安全性は、秘密鍵を探すハッカーにより組成される。
【0036】
上述の問題を解決する一ソリューションは、秘密鍵を保存することではなく、秘密鍵の関数値を保存することである。その後、ICチップは秘密鍵が供給され、秘密鍵は、その後、関数により処理されて、保存値と比較される結果を生成する。結果と保存値が適合する場合、ICチップロジックは解除される。
【0037】
上記のソリューションは、チップ所有者やベンダー (たとえば、設計者やIP権利所有者)に、全ICチップに対し、同じ秘密鍵を使用すること、あるいは、ICチップを、ICチップの各自秘密鍵にリンクする (たとえば、チップIDにより)ルックアップテーブルを用いることを要求する。一旦、キーが知られると、全チップが不正にロック解除される恐れがあるので、全チップ上で同じ秘密鍵を有することは、潜在的なセキュリティリスクである。ルックアップテーブルのメンテナンスは非常に面倒であり、且つ、自身にセキュリティリスクももたらす。
【0038】
本発明のいくつかの実施形態は、各ICチップ上で二個の値を保存することにより、上述の問題を解決する。一つ目の値は、ノンスNの暗号学的ハッシュ値Hであり、もうひとつの値は、ノンスNの暗号化値Eである。暗号化値Eは、ICチップ所有者やベンダーにより所有されるキーに基づいて(対称、あるいは、非対称暗号化に基づいて)暗号化される。いくつかの実施形態において、値EとHは、製作期間中に、たとえば、ICチップ所有者のセットアップハードウェアセキュリティモジュール (HSM)により、各チップに追加される。いくつかの実施形態において、ノンスNは、各チップにより、HSMに供給される。その他の実施形態において、ハッシュ値H、および/または、暗号化値Eは、たとえば、ICチップが解除要求を受信するとき、各チップにより計算される。以下で詳細に記述されるように、ノンスNに適合する値がチップに供給されるまで、チップ、あるいは、それらの一部は、ロックされたままである。
【0039】
チップのロック解除は、汎用、あるいは、特定用途、たとえば、チップのデバッギング、あるいは、テストに用いられ、ポストプロダクションの品質保証の一部となる。いくつかの実施形態において、チップが顧客のもとに運送される前、チップは、ある目的、たとえば、デバッギングのために再ロックされるが、チップのその他の汎用目的のために、ロック解除される。チップが、顧客によりチップベンダーに返却される場合、チップベンダーは、たとえば、デバッギングのために、チップをロック解除できる。チップが一旦、ロック解除されると、チップは、一定のタイムアウトの後、自動で、再ロックするか、あるいは、チップは、HSMにより手動で再ロックする必要がある。
【0040】
いくつかの実施形態において、ノンスに対して、暗号学的ハッシュを実行して、暗号学的ハッシュ値Hを生成し、暗号学的ハッシュ値Hは、ノンス、あるいは、その他の値を入力として、一方向性関数 (暗号学的ハッシュ機能は必ずしも必要ではない)を計算し、一方向性関数出力値 (ハッシュ値は必ずしも必要ではない)を生成することにより代替される。ICチップ所有者のロック解除ハードウェアセキュリティモジュール (HSM)が、ICチップにロック解除を要求するとき、そのICチップは、各自暗号化値Eを、HSMに提供する。HSMは、暗号化値を復号して、値N’を生成する。値N’はHSMによりチップに送られ、チップは、N’の暗号学的ハッシュを実行して、H’を生成する。ハッシュ値H’は保存されたハッシュ値Hと比較されるとともに、HとH’が適合する場合、ICチップはロック解除される。
【0041】
上記の方法において、チップ中に直接保存されず、且つ、HSMがない秘密(ノンスN)基づいて、チップはロック解除される。HSMは、秘密を保存していなければならず、それは、チップ上の暗号化Eが、安全な方式で、秘密をロック解除HSMに提供するからである。これにより、HSMは、ICチップをICチップの各自秘密鍵にリンクする(たとえば、チップIDにより)ルックアップテーブルを必要としないので、チップは自己充足セキュリティを提供する。
【0042】
ICチップ中に保存された暗号化された値、および、ハッシュ値は、通常、保護される。ハッシュ値を変化させる一つの試みが各自ICチップのハッキングを招くので、ハッシュ値は改ざんから保護される。暗号化された値は、一般的に、消去や改ざんから保護され、正確に暗号化された値が利用されないように、各自ICチップは、ロック解除、さらには、合法のロック解除の試みさえも防止する。
【0043】
同一のノンスNが各チップに用いられるが、各チップに、、通常はランダムに生成される異なるノンスNを使用して、安全性を向上させる。この方法において、ロック解除HSMが秘密を保存する必要がないとき、異なる秘密を用いて、各チップをロック解除し、異なる秘密は、個別のチップ上に保存する必要はない。ロック解除HSMは、関連する復号キーだけを保存し、異なる暗号化値Eを復号する。いくつかの実施形態において、二個以上のチップが、同じノンスNに基づいて保護されてもよい。
【0044】
いくつかの実施形態において、各ノンスNは、対称暗号化、および、コモン暗号化キーを用いて、暗号化、および、復号される。いくつかの実施形態において、キーは、あるチップ特定データ、たとえば、チップIDの関数である。
【0045】
その他の実施形態において、非対称暗号を使用し、ロック解除HSMの公開鍵を使用して、各ノンスNを暗号化するとともに、その秘密鍵を用いて、ロック解除HSMにより復号する。
【0046】
本明細書、および、請求項中で、互換的に用いられる “スクランブル”と “暗号化”という用語は、すべてのそれらの文法的形式で、データのスクランブル、および/または、暗号化に用いられる任意の適当なスクランブル、および/または、暗号化方法、および/または、所定の受け手以外に、データを理解できなくするのに用いられる任意のその他の適当な方法のことである。既知のスクランブル、または、暗号化のタイプは、これらに限定されないが、DES、3DES、RSA、および、AESを有する。同様に、本明細書、および、請求項中で互換的に用いられる “スクランブル解除”と “復号”という用語は、 “スクランブル”と“暗号化”の反対語である。
【0047】
システム記述
上記のように、各ICチップは、暗号化値E、および、暗号学的ハッシュHを保存し、これらの値は、各個別のICチップのロック解除時に使用される。図1図8を参照すると、以下で、異なる実施形態を記述して、ICチップ上に保存される値EとHを生成する。図1図6で示される実施形態は、外部ハードウェアセキュリティモジュール (HSM)を用いて、値E、および、任意で、値Hを生成する。図7、および、図8で記述される実施形態は、ICチップが、外部HSMの助けがない場合に値EとHを生成することを示す。図9、および、図10で示される実施形態は、前もってICチップに保存された値EとHを用いる解除プロセスを記述する。
【0048】
図1を参照すると、図1は、本発明の一実施形態による構築、および、操作を記述する集積回路(IC)チップセキュリティセットアップシステム10の一部を説明するブロック図である。
【0049】
ICチップセキュリティセットアップシステム10は、セキュリティセットアップハードウェアセキュリティモジュール (HSM)14を有し、HSMは、かならずしもではないが、一般的に、チップ製造者 (図示しない)に位置し、通常は、適宜改ざんから保護される。セキュリティセットアップHSM14は、一般的に、ICチップベンダーや所有者 (たとえば、ICチップ設計者、および/または、IP権利所有者)によりメンテナンス、および、操作される。ICチップセキュリティセットアップシステム10は、一つ以上のルートキーを保存し、ルートキーが用いられて、キー、および、署名認証を生成して、チップ製造者により生産されるICチップ上で保存する。セキュリティセットアップHSM14は、プロセッサ16、インターフェース18、ハッシュ回路20 (あるいは、一方向性関数計算回路)、暗号化エンジン22、および、乱数発生器 (RNG)24を有する。プロセッサ16が設置されて、一般的な処理タスクを実行する。このタスクは、セキュリティセットアップHSM14の各素子間、および、インターフェース18による外部装置間のデータ転送を管理することを含む。インターフェース18が設置されて、任意の適当な有線、および/または、無線通信プロトコルを用いて、外部装置、たとえば、ICチップ間で、データを転送する。いくつかの実施形態において、ハッシュ回路20、暗号化エンジン22、および、乱数発生器24の一つ、あるいは、それ以上の機能は、プロセッサ16に組み込まれる。その他の実施形態において、ハッシュ回路20、暗号化エンジン22、および、乱数発生器24は、ハードワイヤ、および/または、プログラム可能な装置である一つ、あるいは、それ以上の適当な処理回路ユニットを用いて実施される。
【0050】
実際、プロセッサ16の一部、あるいは、すべての機能は、単一の物理的構成要素中で組み合わされる、あるいは、代替法として、複数の物理的構成要素を用いて実現される。これらの物理的構成要素は、ハードワイヤの、あるいは、プログラム可能な装置である、あるいは、両者の組み合わせである。いくつかの実施形態において、プロセッサ16の少なくとも一部の機能は、適当なソフトウェアの制御下で、プログラム可能なプロセッサにより実現される。このソフトウェアは、たとえば、ネットワークにより、電子形式で一装置にダウンロードされてもよい。代替法として、あるいは、追加的に、ソフトウェアは、有形の非一時的コンピュータ可読媒体、たとえば、光学、磁気、あるいは、電子メモリ中に保存されてもよい。
【0051】
図1は、セキュア集積回路(IC)チップ装置26を示す図である。ICチップ装置26は、メモリ28、外部装置 (たとえば、セキュリティセットアップHSM14)とデータ転送するインターフェース30、チップセキュリティ回路32、および、ICチップ装置26のセキュア部分34を有する。インターフェース30が設置されて、有線、および/または、無線通信プロトコルにより、セキュリティセットアップHSM14と、データを転送する。いくつかの実施形態において、インターフェース30は、セキュリティセットアップHSM14と間接インターフェースのハードウェア、および/または、ソフトウェア層を有する間接インターフェースである。たとえば、外部ソフトウェア (たとえば、DLL)は、HSM14と通信するとともに、セキュリティ機能を実行する。チップセキュリティ回路32は、ハッシュ回路36 (あるいは、一方向性関数計算回路)を有して、暗号学的ハッシュを計算する。セキュア部分34は、デバッグインターフェース (たとえば、デバッグハードウェア)を有し、デバッグインターフェースは、ポストプロダクションテスト、および/または、顧客のICチップ装置26返品を処理する期間中、ロック解除される。
【0052】
実際、チップセキュリティ回路32の一部、あるいは、全部の機能は、単一の物理的構成要素中で組み合わされる、あるいは、代替法として、複数の物理的構成要素を用いて実現される。これらの物理的構成要素は、ハードワイヤの、あるいは、プログラム可能な装置である、あるいは、両者の組み合わせである。いくつかの実施形態において、チップセキュリティ回路32の少なくとも一部の機能は、適当なソフトウェアの制御下で、プログラム可能なプロセッサにより実現される。このソフトウェアは、たとえば、ネットワークにより、電子形式で一装置にダウンロードされる。代替法として、あるいは、追加的に、ソフトウェアは、有形の非一時的コンピュータ可読媒体、たとえば、光学、磁気、あるいは、電子メモリ中に保存される。
【0053】
図1、および、図2を参照して、ここにチップセキュリティセットアッププロセスを記述する。図2は、図1のシステム10の実行方法の工程を示すフローチャート50である。図2の左側は、セキュリティセットアップHSM14により実行される工程が示されているが、図2の右側は、ICチップ装置26により実行される工程が示される。
【0054】
セキュリティセットアップHSM14の乱数発生器24が、任意でランダムに、ノンスNを生成する(ブロック52)ために設置されている。セキュリティセットアップHSM14の暗号化エンジン22が設置されて、ノンスNを暗号化して(ブロック54)、暗号化値Eを生成する。いくつかの実施形態において、暗号化エンジン22が設置されて、秘密鍵に基づいた対称暗号化を用いて、ノンスNを暗号化する。その他の実施形態において、暗号化エンジン22が設置されて、ノンスNを暗号化し、解除されるHSMの公開鍵に応答する。図9、および、図10を参照しながら、さらに詳細に説明する。
【0055】
セキュリティセットアップHSM14のハッシュ回路20が設置されて、ノンスNの暗号学的ハッシュを計算して(ブロック56)、暗号学的ハッシュ値Hを生成する。ハッシュ回路20は、任意の適当な暗号学的ハッシュアルゴリズム、たとえば、これらに、制限されないが、MD5、あるいは、SHAー1、SHAー2、あるいは、SHAー3を用いる。
【0056】
いくつかの実施形態において、ノンスに対して、暗号学的ハッシュを実行して、暗号学的ハッシュ値Hを生成し、暗号学的ハッシュ値Hは、ノンス、あるいは、その他の値を入力として、一方向性関数 (暗号学的ハッシュ機能は必ずしも必要ではない)を計算して、一方向性関数出力値(ハッシュ値は必ずしも必要ではない)を生成することにより代替される。
【0057】
セキュリティセットアップHSM14のプロセッサ16は、セキュリティセットアップHSM14のインターフェース18により、暗号化値E、および、暗号学的ハッシュ値Hを、ICチップ装置26に提供する(ブロック58)ように構成される。ICチップ装置26のチップセキュリティ回路32は、ICチップ装置26のインターフェース30により、セキュリティセットアップHSM14のインターフェース18から、暗号化値E、および、暗号学的ハッシュ値Hを受信する (ブロック60)ように構成されている。メモリ28は、暗号化値E、および、暗号学的ハッシュ値Hを保存する(ブロック62)ように構成されている。メモリは、ワンタイムプログラマブル (OTP)メモリ、あるいは、不揮発性メモリ、たとえば、通常は、不正防止のフラッシュメモリを有する。
【0058】
チップセキュリティ回路32は、ICチップ装置26のセキュア部分34をロックして(ブロック64)、使用を防止するよう構成される。チップセキュリティ回路32は、ブロック52~62の工程を実行した後、あるいは、ブロック52~64の工程を実行する前、セキュア部分34をロックし、たとえば、ICチップ装置26は、ロック状態で製造することができる。明細書、および、請求項で使用される“ロック解除”という用語は、セキュア部分34の一般的使用に用いられるロック解除、あるいは、特定用途に用いられるロック解除、たとえば、デバッグを含むものとして定義される。明細書、および、請求項で使用される “ロック”という用語は、全用途に用いられる、あるいは、特定用途、たとえば、デバッグに用いられるセキュア部分34をロックすることとして定義される。しかし、セキュア部分34が、特定用途のためにロックされても、セキュア部分34のその他の機能は、使用のためにロック解除される。
【0059】
図3、および、図4を参照して、ここにその他のチップセキュリティセットアッププロセスを記述する。図3は、本発明の一実施形態による構築と操作を説明する集積回路(IC)チップセキュリティセットアップシステム100の一部を示すブロック図である。図4は、図3のシステム100の実行方法の工程を示すフローチャート150である。以下の差異を除いて、システム100は、ICチップセキュリティセットアップシステム10 (図1)とほぼ同じである。
【0060】
図4の左側は、セキュリティセットアップHSM14により実行される工程を示し、図4の右側は、ICチップ装置26により実行される工程を示す。図3のICチップ装置26のチップセキュリティ回路32はさらに、乱数発生器37を有する。
【0061】
ICチップ装置26の乱数発生器37は、ノンスNをランダムに生成する(ブロック152)ように構成される。ICチップ装置26のハッシュ回路36は、暗号学的ハッシュ値Hを計算して(ブロック154)、ノンスNに応答するように構成される。ハッシュ回路36は、任意の適当な暗号学的ハッシュアルゴリズム、たとえば、これらに制限されないが、MD5、あるいは、SHAー1、SHAー2、あるいは、SHAー3を用いる。
【0062】
ICチップ装置26のチップセキュリティ回路32は、ICチップ装置26のインターフェース30により、ノンスNを、セキュリティセットアップHSM14のインターフェース18に提供する(ブロック156)ように構成される。チップセキュリティ回路32は、メモリからノンスNを削除(消去)する (たとえば、メモリ28、および、任意のキャッシュメモリから)ように構成される。
【0063】
セキュリティセットアップHSM14の暗号化エンジン22は、ノンスNを暗号化して(ブロック160)、暗号化値Eを生成するように構成される。いくつかの実施形態において、暗号化エンジン22は、秘密鍵に基づいた対称暗号化を用いて、ノンスNを暗号化するように構成される。その他の実施形態において、暗号化エンジン22は、ノンスNを暗号化して、解除されるHSMの公開鍵に応答するように構成される。図9、および、図10を参照しながら、さらに詳細に説明する。
【0064】
セキュリティセットアップHSM14のプロセッサ16は、セキュリティセットアップHSM14のインターフェース18により、暗号化値Eを、ICチップ装置26に提供する(ブロック162)ように構成される。ICチップ装置26のチップセキュリティ回路32は、ICチップ装置26のインターフェース30により、セキュリティセットアップHSM14のインターフェース18から、暗号化値Eを受信する(ブロック164)ように構成される。
【0065】
メモリ28は、暗号化値E、および、暗号学的ハッシュ値Hを保存する(ブロック166)ように構成される。チップセキュリティ回路32は、ICチップ装置26のセキュア部分34をロックして(ブロック168)、使用を防止するように構成される。チップセキュリティ回路32は、ブロック152~166の工程を実行後、あるいは、ブロック152~166の工程の前に、セキュア部分34をロックし、たとえば、ICチップ装置26は、ロック状態で製造することができる。
【0066】
図5、および、図6を参照して、ここに、その他のチップセキュリティセットアッププロセスを記述する。図5は、本発明の一実施形態による構築と操作を説明する第二代替的集積回路(IC)チップセキュリティセットアップシステム200の一部を示すブロック図である。図6は、図5のシステム200の実行方法の工程を示すフローチャート250である。以下の差異を除いて、システム200は、ICチップセキュリティセットアップシステム10 (図1)とほぼ同じである。
【0067】
図6の左側は、セキュリティセットアップHSM14により実行される工程を示し、図6の右側は、ICチップ装置26により実行される工程を示す。図5のICチップ装置26のチップセキュリティ回路32はさらに、乱数発生器37を有する。
【0068】
乱数発生器37が設置されて、ノンスNをランダムに生成する(ブロック252)。ICチップ装置26のチップセキュリティ回路32が設置されて、ICチップ装置26のインターフェース30により、ノンスNを、セキュリティセットアップHSM14のインターフェース18に提供する(ブロック254)。チップセキュリティ回路32が設置されて、メモリからノンスNを削除(消去)する (たとえば、メモリ28、および、任意のキャッシュメモリから)(ブロック256)。
【0069】
セキュリティセットアップHSM14の暗号化エンジン22は、ノンスNを暗号化して(ブロック258)、暗号化値Eを生成するように構成される。いくつかの実施形態において、暗号化エンジン22は、秘密鍵に基づいた対称暗号化を用いてノンスNを暗号化するように構成される。その他の実施形態において、暗号化エンジン22は、ノンスNを暗号化し、解除されるHSMの公開鍵に応答するように構成される。図9、および、図10を参照しながら、さらに詳細に説明する。
【0070】
セキュリティセットアップHSM14のハッシュ回路20は、ノンスNの暗号学的ハッシュを計算して(ブロック260)、暗号学的ハッシュ値Hを生成するように構成される。
【0071】
セキュリティセットアップHSM14のプロセッサ16は、セキュリティセットアップHSM14のインターフェース18により、暗号化値E、および、暗号学的ハッシュ値Hを、ICチップ装置26に提供する(ブロック262)ように構成される。ICチップ装置26のチップセキュリティ回路32は、ICチップ装置26のインターフェース30により、セキュリティセットアップHSM14のインターフェース18から、暗号化値E、および、暗号学的ハッシュ値Hを受信する(ブロック264)ように構成される。メモリ28は、暗号化値E、および、暗号学的ハッシュ値Hを保存する(ブロック266)ように構成される。チップセキュリティ回路32は、、ICチップ装置26のセキュア部分34をロックして(ブロック268)、使用を防止するように構成される。チップセキュリティ回路32は、ブロック252~266の工程を実行後、あるいは、ブロック252~266の工程の前に、セキュア部分34をロックし、たとえば、ICチップ装置26は、ロック状態で製造することができる。
【0072】
図7、および、図8を参照して、ここにその他のチップセキュリティセットアッププロセスを記述する。図7は、本発明の一実施形態による構築、および、操作を記述する第三代替的集積回路(IC)チップセキュリティセットアップシステム300の一部を説明するブロック図である。図8は、図7のシステム300の実行方法の工程を示すフローチャート350である。図7のICチップ装置26のチップセキュリティ回路32はさらに、暗号化エンジン39を有する。
【0073】
チップセキュリティ回路32は、ICチップ装置26のセキュア部分34をロックして(ブロック352)、使用を防止するように構成される。チップセキュリティ回路32は、任意の適当な時、たとえば、ブロック354~362の工程を実行した後、あるいは、ブロック354~362の前に、セキュア部分34をロックすることができ、たとえば、ICチップ装置26は、ロック状態で製造することができる。ブロック354~362の工程は、生産プロセスの一部、あるいは、ロック解除プロセスの一部(ブロック362の工程は任意である)として実行され、解除要求の受信に応答する。図9、および、図10で、詳細に記述される。
【0074】
乱数発生器37は、ランダムにノンスNを生成する(ブロック354)ように構成される。暗号化エンジン39は、ノンスNを暗号化して(ブロック356)、暗号化値Eを生成するように構成される。いくつかの実施形態において、暗号化エンジン39は、秘密鍵に基づいた対称暗号化を用いて、ノンスNを暗号化するように構成される。その他の実施形態において、暗号化エンジン39は、ノンスNを暗号化し、解除されるHSMの公開鍵に応答するように構成される。図9、および、図10を参照しながら、さらに詳細に説明する。ハッシュ回路36は、ノンスNの暗号学的ハッシュを計算して(ブロック358)、暗号学的ハッシュ値Hを生成するように構成される。チップセキュリティ回路32は、メモリからノンスNを削除(消去)する(ブロック360) (たとえば、メモリ28、および、任意のキャッシュメモリから)ように構成される。メモリ28は、暗号化値E、および、暗号学的ハッシュ値Hを保存する(ブロック362)ように構成される。
【0075】
図9、および、図10を参照する。図9は、本発明の一実施形態による構築、および、操作を記述する集積回路(IC)チップセキュリティロック解除システム400の一部を説明するブロック図である。図10は、図9のシステムの操作方法の工程を含むフローチャート450である。
【0076】
集積回路(IC)チップセキュリティロック解除システム400は、ロック解除HSM402を有し、ロック解除HSM402は、プロセッサ404、インターフェース406、および、暗号解読エンジン408を有する。ロック解除HSM402は、一般的に、ICチップ所有者 (たとえば、ICチップ設計者、および/または、IP権利所有者)、あるいは、ICチップベンダーにより、メンテナンス、および、操作される。注意すべきことは、いくつかの実施形態において、ロック解除HSM402、および、セキュリティセットアップHSM14は、異なる地理的位置で操作することである。
【0077】
プロセッサ404が設置されて、一般の処理タスクを実行し、インターフェース406によるロック解除HSM402の各素子間、および、外部装置間のデータ転送の管理を含む。インターフェース406が設置されて、任意の適当な有線、および/または、無線通信プロトコルを用いて、外部装置、たとえば、ICチップ間でデータを転送する。いくつかの実施形態において、暗号解読エンジン408の機能は、プロセッサ404中に組み込まれる。その他の実施形態において、暗号解読エンジン408は、適当な処理回路を用いて実施され、処理回路は、ハードワイヤ、および/または、プログラム可能な装置である。
【0078】
実際、プロセッサ404の一部、あるいは、すべての機能は、単一の物理的構成要素中で組み合わされる、あるいは、代替法として、複数の物理的構成要素を用いて実現される。これらの物理的構成要素は、ハードワイヤの、あるいは、プログラム可能な装置である、あるいは、両者の組み合わせである。いくつかの実施形態において、プロセッサ404の機能の少なくとも一部は、適当なソフトウェアの制御下で、プログラム可能なプロセッサにより実行される。このソフトウェアは、たとえば、ネットワークにより、電子形式で一装置にダウンロードされてもよい。代替法として、あるいは、追加的に、ソフトウェアは、有形の非一時的コンピュータ可読媒体、たとえば、光学、磁気、あるいは、電子メモリ中に保存されてもよい。
【0079】
図9に示されるICチップ装置26はさらに、乱数発生器37、および、暗号化エンジン39を示す。ハッシュ値H、および、暗号化値Eの生成が実行されて、解除要求に応答しない限り、乱数発生器37、および、暗号化エンジン39は、通常、解除プロセスの一部として用いられない。いくつかの実施形態において、ICチップ装置26は、乱数発生器37、および、暗号化エンジン39を有しない。
【0080】
現在、解除プロセスが以下で記述される。図10の左側は、ロック解除HSM402により実行される工程を示し、図10の右側は、ICチップ装置26により実行される工程を示す。
【0081】
ロック解除HSM402のプロセッサ404は、解除要求410を生成する(ブロック452)ように構成される。プロセッサ404は、インターフェース406により、解除要求410を、ICチップ装置26に提供するように構成される。
【0082】
ICチップ装置26のチップセキュリティ回路32は、ICチップ装置26のインターフェース30により、ロック解除HSM402から、解除要求410を受信する(ブロック454)ように構成される。
【0083】
いくつかの実施形態において、ICチップ装置26は、暗号化値E、および、解除要求410の受信に応答し、ハッシュ値Hを生成するように構成され、図7、および、図8により詳細に記述されるように、暗号化値E、および、ハッシュ値Hをメモリ28中に保存し、メモリは、キャッシュメモリ、あるいは、OTPメモリ、あるいは、不揮発性メモリ (たとえば、フラッシュメモリ)として構成されてもよい。
【0084】
ICチップ装置26のチップセキュリティ回路32は、、解除要求410に応答し、インターフェース30により、保存された暗号化値E (メモリ28中に保存される)を、ロック解除HSM402に提供 (ブロック456)するように構成される。
【0085】
プロセッサ404は、インターフェース406により、暗号化値Eを受信するとともに、暗号化値Eを暗号解読エンジン408に送信して、復号するように構成される。ロック解除HSM402の暗号解読エンジン408は、暗号化値Eを復号して(ブロック458)、値N’を生成するように構成される。
【0086】
いくつかの実施形態において、暗号解読エンジン408は、秘密鍵に基づいた対称暗号化を用いて、暗号化値Eを復号し、秘密鍵は、ノンスNを暗号化し、暗号化値Eを生成するのに用いられるように構成される。その他の実施形態において、暗号解読エンジン408は、暗号化値Eを復号し、ロック解除HSM402の秘密鍵に応答するように構成される。
【0087】
プロセッサ404は、インターフェース406により、値N’をICチップ装置26に提供する(ブロック460)ように構成される。ICチップ装置26のチップセキュリティ回路32は、インターフェース30により、ロック解除HSM402から、値N’を受信する(ブロック462)ように構成される。
【0088】
チップセキュリティ回路32のハッシュ回路36は、値N’に基づいて、暗号学的ハッシュ値H’を計算する(たとえば、値N’の暗号学的ハッシュを計算する) (ブロック464)ように構成される。ハッシュ回路36は、任意の適当な暗号学的ハッシュアルゴリズム、たとえば、これらに、制限されないが、MD5、あるいは、SHAー1、SHAー2、あるいは、SHAー3を用いる。
【0089】
チップセキュリティ回路32は、暗号学的ハッシュ値H’と保存された暗号学的ハッシュ値H(メモリ28中に保存される)を比較する(ブロック466)ように構成される。チップセキュリティ回路32は、ICチップ装置32のセキュア部分34をロック解除して(ブロック468)使用可能にし、応答して、ハッシュ値H’とハッシュ値Hの適合を探すように構成される。再ロックされるまで、あるいは、所定期限が過ぎるまで、セキュア部分34は、ロック解除を維持する。
【0090】
各実施形態中の内容で記述される本発明の各種特徴は、明確にするため、単一実施形態中で結合されて提供することができる。反対に、単一実施形態中の内容で記述される本発明の各種特徴は、簡潔にするため、単独で提供しても、あるいは、適当な組み合わせでも提供できる。
【0091】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当業者であれば、本発明の思想を脱しない範囲内で各種の変形を加えることができる。
【符号の説明】
【0092】
10 ICチップセキュリティセットアップシステム
14 セキュリティセットアップハードウェアセキュリティモジュール (HSM)
16 プロセッサ
18 インターフェース
20 ハッシュ回路
22 暗号化エンジン
24 乱数発生器 (RNG)
26 ICチップ装置
28 メモリ
30 インターフェース
32 チップセキュリティ回路
34 セキュア部分
36 ハッシュ回路
37 乱数発生器
39 暗号化エンジン
50 フローチャート
52 ノンスNを生成する
54 ノンスNを暗号化する
56 ノンスNの暗号学的ハッシュを計算する
58 暗号化値E、および、暗号学的ハッシュ値Hを提供する
60 暗号化値E、および、暗号学的ハッシュ値Hを受信する
62 暗号化値E、および、暗号学的ハッシュ値Hを保存する
64 ICチップ装置のセキュア部分をロックする
100 集積回路(IC)チップセキュリティセットアップシステム
150 フローチャート
152 ノンスNを生成する
154 暗号学的ハッシュ値Hを計算する
156 ノンスNをセキュリティセットアップHSMに提供する
158 ノンスNを削除する
160 ノンスNを暗号化する
162 暗号化値EをICチップ装置に提供する
164 暗号化値Eを受信する
166 暗号化値E、および、暗号学的ハッシュ値Hを保存する
168 ICチップ装置のセキュア部分をロックする
200 第二代替的集積回路(IC)チップセキュリティセットアップシステム
250 フローチャート
252 ノンスNを生成する
254 ノンスNを提供する
256 ノンスNを削除する
258 ノンスNを暗号化する
260 ノンスNの暗号学的ハッシュを計算する
262 暗号化値E、および、暗号学的ハッシュ値HをICチップ装置に提供する
264 暗号化値E、および、暗号学的ハッシュ値Hを受信する
266 暗号化値E、および、暗号学的ハッシュ値Hを保存する
268 ICチップ装置のセキュア部分をロックする
300 第三代替的集積回路(IC)チップセキュリティセットアップシステム
350 フローチャート
352 ICチップ装置のセキュア部分をロックする
354 ノンスNを生成する
356 ノンスNを暗号化する
358 ノンスNの暗号学的ハッシュを計算する
360 ノンスNを削除する
362 暗号化値E、および、暗号学的ハッシュ値Hを保存する
400 集積回路(IC)チップセキュリティロック解除システム
402 ロック解除HSM
404 プロセッサ
406 インターフェース
408 暗号解読エンジン
410 解除要求
450 フローチャート
452 解除要求を生成する
454 解除要求を受信する
456 暗号化値Eを、ロック解除HSMに提供する
458 暗号化値Eを復号する
460 値N’をICチップ装置に提供する
462 ロック解除HSMから、値N’を受信する
464 暗号学的ハッシュ値H’を計算する
466 H’とHを比較する
468 ICチップ装置のセキュア部分をロック解除する
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10