JP7472194B2 - 秘密データの多段階のプロビジョニング - Google Patents

秘密データの多段階のプロビジョニング Download PDF

Info

Publication number
JP7472194B2
JP7472194B2 JP2022078609A JP2022078609A JP7472194B2 JP 7472194 B2 JP7472194 B2 JP 7472194B2 JP 2022078609 A JP2022078609 A JP 2022078609A JP 2022078609 A JP2022078609 A JP 2022078609A JP 7472194 B2 JP7472194 B2 JP 7472194B2
Authority
JP
Japan
Prior art keywords
provisioning
key
chip
chips
keys
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022078609A
Other languages
English (en)
Other versions
JP2022183033A (ja
Inventor
モラヴ,ダン
ハーシュマン,ジヴ
タナミ,オーレン
Original Assignee
新唐科技股▲ふん▼有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新唐科技股▲ふん▼有限公司 filed Critical 新唐科技股▲ふん▼有限公司
Publication of JP2022183033A publication Critical patent/JP2022183033A/ja
Application granted granted Critical
Publication of JP7472194B2 publication Critical patent/JP7472194B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Studio Devices (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Storage Device Security (AREA)

Description

本発明は、集積回路装置に関するものであり、特に、そのような装置に秘密データをプロビジョニングするための方法およびシステム、ならびにそのような方法によってプロビジョニングされた装置に関するものである。
鍵プロビジョニングは、鍵またはその他の安全な情報をシステムオンチップ(SoC)集積回路(IC)などの電子機器に挿入するプロセスである。暗号鍵がICチップにプロビジョニングされると、安全な動作を検証し、鍵が設置された(installed)チップと製品を認証し、且つチップと製品の両方を改ざんから保護するように用いられることができる。このようなチップは通常、セキュアメモリと論理回路を含み、暗号鍵がプロビジョニングされてチップのメモリに保存されると、デジタル署名に基づいて検証されることができるが、鍵自体の秘密部分は抽出されることができないようにする。
鍵は通常、厳重なセキュリティのもとで製造プロセスの一部としてICチップにプロビジョニングされ、悪意のある者が鍵にアクセスできないようにする。必要なセキュリティレベルを維持することは、装置が複数のエンティティを含む可能性のある多段階のプロセスで製造およびプロビジョニングされるとき、複雑になる可能性がある。このため、ICの製造段階で鍵がプロビジョニングされることが望ましく、システムレベルのアセンブリよりも安全であると考えられる。
これに関して、例えば、電子回路の製造における安全なプロビジョニングのための方法が説明されている(特許文献参照)。第1のエンティティ(例えば、チップメーカー)は、1つ以上の秘密値を回路のコピーに埋め込む。第2のエンティティ(例えば、OEM)は: 1)コード署名公開鍵(code signing public key)からトラストアンカーを導出する; 2)トラストアンカーを第1の回路のコピーに埋め込む; 3)第1の回路のコピーが、トラストアンカーと埋め込まれた秘密値から導出された秘密鍵を生成させるようにする; 4)コード署名秘密鍵を用いてプロビジョニングコードに署名する; 且つ5)コード署名公開鍵、トラストアンカー、および署名されたプロビジョニングコードを第3のエンティティ(例えば、製品メーカー)に送信する。第3のエンティティは、トラストアンカーを第2の回路のコピーに埋め込み、その回路のコピーが: 1)秘密鍵を生成させ; 2)コード署名公開鍵を用いて、署名されたプロビジョニングコードの署名を検証し; 且つ3)プロビジョニングコードを起動するようにさせる。OEMは、第1の回路のコピーとチャレンジ/レスポンスプロトコルを用いて、第2の回路のコピーを認証することができる。
米国特許第9430658号明細書
集積回路装置に秘密データをプロビジョニングするための方法およびシステム、ならびにそのような方法によってプロビジョニングされた装置を提供する。
以下に記載される本発明の実施形態は、電子機器をプロビジョニングする方法、ならびにそのプロビジョニングを実行するシステム、およびその方法によってプロビジョニングできる装置を提供する。
従って、本発明の実施形態による、電子機器をプロビジョニングする方法が提供される。本方法は、複数の集積回路(IC)チップが製造された半導体ウェハを提供するステップを含む。各チップは、セキュアメモリとプログラマブル論理を含み、セキュアメモリに少なくとも2つの鍵を格納し、少なくとも2つの鍵を用いてデータにデジタル署名を計算するように構成される。それぞれの第1の鍵は、半導体ウェハ上のコンタクトパッドに適用された電気プローブを介して各チップのセキュアメモリにプロビジョニングされる。ウェハのダイシング後、それぞれの第2の鍵がチップのコンタクトピンを介して各チップのセキュアメモリにプロビジョニングされる。それぞれのプロビジョニングレポートは、それぞれの第1の鍵および第2の鍵の両方を用いて論理によって計算されたデジタル署名を有する、各チップから受信される。プロビジョニングは、デジタル署名に基づいて検証される。
開示された実施形態では、それぞれの第1の鍵のプロビジョニングは、電気プローブを用いてウェハ上のチップを試験するプロセス中に行われる。追加的または代替的に、それぞれの第2の鍵のプロビジョニングは、各チップを試験するプロセス中に行われる。
開示された実施形態では、それぞれの第1の鍵のプロビジョニングは、第1のプロビジョニングアプライアンスによって実行され、それぞれの第2の鍵のプロビジョニングは、第1のプロビジョニングアプライアンスとは分離して独立し、第2のプロビジョニングアプライアンスによって実行されている。。
いくつかの実施形態では、本方法は、信頼できる署名で署名されたプログラムコードを、各チップにロードし、プログラマブル論理によって実行するステップを含み、それぞれのプロビジョニングレポートは、プログラムコードをロードした後、各チップから受信される。追加的または代替的に、それぞれのプロビジョニングレポートを受信するステップは、各チップから、チップとの通信に用いるためのそれぞれの公開鍵を受信するステップを含み、公開鍵は、それぞれの第1の鍵と第2の鍵の両方を用いて署名される。
さらに追加的または代替的に、それぞれのプロビジョニングレポートを受信するステップは、それぞれの第1の鍵および第2の鍵に関して各チップによって生成された第1および第2のセキュリティ証明書を受信するステップを含む。開示された実施形態では、第1および第2のセキュリティ証明書をリポジトリに格納し、第1および第2のセキュリティ証明書の重複がないかリポジトリを定期的にチェックし、重複が検出されたとき、警告を発する。
本発明の一実施形態によれば、電子機器をプロビジョニングするシステムも提供される。このシステムには、複数の集積回路(IC)チップが製造された半導体ウェハ上のコンタクトパッドと接触するように構成された電気プローブを含む。各チップは、セキュアメモリとプログラマブル論理を含み、セキュアメモリに少なくとも2つの鍵を格納し、少なくとも2つの鍵を用いてデータにデジタル署名を計算するように構成される。コネクタは、ウェハをダイシングした後、各チップのコンタクトピンに接続するように構成される。少なくとも1つのプロビジョニングアプライアンスは、それぞれの第1の鍵を半導体ウェハに適用された電気プローブを介して、各チップのセキュアメモリにプロビジョニングするように構成され、ウェハのダイシング後、コネクタとコンタクトピンを介して各チップのセキュアメモリにそれぞれの第2の鍵をプロビジョニングし、各チップから、それぞれの第1の鍵および第2の鍵の両方を用いて論理によって計算されたデジタル署名を有する、それぞれのプロビジョニングレポートを受信し、デジタル署名に基づいてプロビジョニングを検証する。
本発明の一実施形態によれば、セキュアメモリおよびプログラマブル論理を含む集積回路チップがさらに提供され、プログラマブル論理は、少なくとも第1および第2の鍵を受信するように構成され、第1および第2の鍵はチップの製造プロセスにおける異なる、第1および第2の段階でプロビジョニングされ、鍵をセキュアメモリに格納し、それぞれの第1の鍵と第2の鍵の両方を用いて、デジタル署名を計算して出力する。
いくつかの実施形態では、プログラマブル論理は、信頼できる署名で署名されたプログラムコードをチップにロードした後、プログラマブル論理によって実行するデジタル署名を含むプロビジョニングレポートを出力するように構成される。開示された実施形態では、チップとの通信に用いるための公開鍵を含み、公開鍵は、第1の鍵と第2の鍵の両方を用いたデジタル署名を用いてプログラマブル論理によって署名される。追加的または代替的に、プロビジョニングレポートは、それぞれの第1の鍵および第2の鍵に関してプログラマブル論理によって生成された第1および第2のセキュリティ証明書を含む。
添付の図面とともに以下の詳細な説明及び実施例を検討することで、本発明をより完全に理解できる。
図1は、本発明の実施形態による、ウェハレベルでICチップをプロビジョニングするシステムを概略的に示すブロック図である。 図2は、本発明の実施形態による、ダイシング後にICチップをプロビジョニングするシステムを概略的に示すブロック図である。 図3は、本発明の実施形態による、ウェハレベルでICチップをプロビジョニングする方法を概略的に示すラダー図である。 図4は、本発明の実施形態による、ダイシング後にICチップをプロビジョニングおよび検証する方法を概略的に示すラダー図である。
セキュアICチップは、鍵がチップ上のメモリにプロビジョニングされると、その鍵が不正なアクセスおよび使用から保護されるように設計されている。しかしながら、製造プロセス中に、チップメーカーの不誠実な従業員などの悪意のある内部関係者が、プロビジョニングアプライアンスに保存されている鍵の値にアクセスできる可能性がある。(「プロビジョニングアプライアンス」という用語は、本明細書の文脈および特許請求の範囲において、鍵および関連データをチップに転送するときに用いられる生産設備を指すために用いられる。)次いで、ICチップがコンピュータ化されたシステムに統合されたとき、盗まれた鍵の値は攻撃者に用いられて、システム全体を危険にさらす、または本物のように見える不正なシステムを構築する可能性がある。
本明細書で説明される本発明の実施形態は、多段階のプロビジョニングアプローチを適用することによってこの問題に対処している:2つ(またはそれ以上)の異なる鍵が製造プロセスの異なる段階でチップにプロビジョニングされ、次いで両方の鍵がプロビジョニングを検証するときに一緒に用いられる。攻撃者が鍵のいずれか一つにアクセスできたとしても、チップまたはチップが統合されているシステムを攻撃する目的には不十分であり、即ち、十分な情報を抽出して、例えば偽の装置を認証するなど、鍵の不正使用を可能にしても不十分である。プロビジョニングプロセス自体は、全ての鍵情報にアクセスできるプロセス内に、単一点(即ち、単一の時間または場所)がもはや存在しないため、同時に悪意のある内部関係者に対する脆弱性が低くなる。
以下に説明される実施形態は、複数のICチップが製造されている半導体ウェハから始まる。各ICチップは、セキュアメモリとプログラマブル論理を含み、プログラマブル論理は、少なくとも2つの鍵をセキュアメモリに格納し、これらの鍵を用いてデータのデジタル署名を計算するように構成される。それぞれの第1の鍵は、半導体ウェハ上のコンタクトパッドに適用された電気プローブを介して各チップのセキュアメモリに、例えば、ウェハレベルの試験のプロセス中にプロビジョニングアプライアンスによってプロビジョニングされる。ウェハが個々のチップにダイシングされた後、例えば個々のチップを試験するプロセス中に、それぞれの第2の鍵がチップのコンタクトピンを介して各チップのセキュアメモリにプロビジョニングされる。この後者の段階は、第1の鍵のプロビジョニングに用いられるプロビジョニングアプライアンスとは分離した、且つ独立したプロビジョニングアプライアンスで実行されることができ、さらには異なる施設にあっても実行されることができる。悪意のある者は、完全な鍵情報を得るために、プロビジョニングのこれらの分離した段階の両方にアクセスする必要がある。
プロビジョニングプロセスの整合性を検証し、安全な運用でチップを次いで用いることができるように、各チップは、第1の鍵と第2の鍵の両方を用いて、チップ上のプログラマブル論理によって計算されたデジタル署名を有するプロビジョニングレポートを生成して出力する。この段階では、プログラマブル論理は通常、公開鍵と秘密鍵のペアを生成し、プロビジョニングレポートの一部として、第1と第2の鍵で署名された公開鍵を出力し、秘密鍵(または前述の鍵のペアを導出するために用いられる秘密)の所有権を証明し、従ってチップが本物であることを立証する。あるいは、プロビジョニングレポートは、受信者がデジタル署名を受信し、よってチップが第1の鍵と第2の鍵の両方を含むことを検証できる任意の他の適切な形式をとってもよい。両方の鍵がこの方法で検証されると、例えば、チップが製品に統合された後のデジタル署名の後続の検証は、全ての秘密情報がチップ内に安全に保存されて、改ざんされることができないことがわかっているため、2つの鍵のうちの1つだけを用いて行なわれることができる。
本実施形態のもう1つの利点は、プロビジョニングの検証が、IC製造および試験施設において全てのICプロビジョニングのプロセスが完了した後にのみ行われることである。装置の製造と試験の段階において、プロビジョニングアプライアンスとチップ間で事前のハンドシェイクは必要なく; 且つウェハレベルでのプロビジョニングの第1の段階は、完全に一方向であり、プロビジョニングされたチップからプロビジョニングアプライアンスへの応答が必要ないということを意味する。従って、2段階のプロビジョニングプロトコルに固有の複雑さが増しているにもかかわらず、実際のプロビジョニングは、標準の製造プロセスの一部として既存の試験装置を用い行われることができ、プロセス全体における遅延はほとんど、または全く生じない。
図1は、本発明の実施形態による、半導体ウェハ32上に製造されたICチップ22をプロビジョニングするシステム20を概略的に示すブロック図である。各チップ22は、セキュアメモリ24およびプログラマブルセキュリティ論理30を含み、これらは、複数の鍵をメモリ24に格納し、前記鍵を用いてデータに対してデジタル署名を計算するように構成される。論理30は、他の機能と同様に、安全な暗号演算を行うことができ、通常、プログラマブルマイクロコントローラまたはマイクロプロセッサコアを含み、適切なプログラムコードの制御下で動作する。代替的または追加的に、論理30は、配線(hard-wired)および/またはプログラマブルデジタル論理回路(programmable digital logic circuits)を含む。論理30は、例えば、ウェハ32上のコンタクトパッドの形式でインターフェース28に接続され、インターフェース28を介して、データおよび他の信号がチップ22間で転送されることができる。
セキュアメモリ24は、論理30によってのみアクセスされることができるワンタイムプログラマブル(OTP)メモリまたは電気的にプログラム可能な読み取り専用メモリ(ROM)などの不揮発性メモリ(NVM)を含む。メモリ24は、以下に説明されるように、後続のプログラミング段階でグローバルシークレットとして用いるために、ウェハ32の製造中にメモリにプログラムされるか、または論理に設計されるハードウェアキー26を含む。これらのプログラミング段階の過程では、論理30は、(少なくとも)2つの追加の鍵をセキュアメモリ24に格納し、鍵を用いて1つ以上のデジタル署名を計算する。メモリ24は、通常、ファームウェアおよび/またはソフトウェアコードなどのプログラムコード、ならびにデータを格納するための追加の不揮発性および/または揮発性ランダムアクセスメモリ(RAM)を含む。
プロビジョニングアプライアンス34は、プローブ42を介して各チップ22の セキュアメモリ24にそれぞれの第1の鍵をプロビジョニングし、プローブ42は、ウェハ32の各チップ上のコンタクトパッドと接触する。従って、この第1の鍵は、以下「回路プローブ」(Circuit Probe; CP)鍵と呼ばれる。プローブ42は、アプライアンス34がプロビジョニングの目的で結合されたウェハ試験システム(図示せず)の一部であり得る。前述のように、このプロビジョニングは、例えば製造のウェハソート段階で欠陥のあるチップを検出するために用いられる試験など、標準的なウェハスケールの試験レジメン(regimen)の一部として利便的に行なわれることができる。または、CP鍵のプロビジョニングは、任意のテスト段階とは独立して行なわれることができる。
プロビジョニングアプライアンスは安全な製造の分野で知られており、この種の任意の適切なアプライアンスは、システム20で用いられることができる。描かれた実施形態では、プロビジョニングアプライアンス34は、中央処理装置(CPU)38を有する安全で、信頼できるコンピュータ、およびプログラミング命令とデータを含むメモリ36を含む。チップ22にプロビジョニングされたCP鍵の安全性と完全性を確保するために、アプライアンス34は、改ざん防止のハードウェアセキュリティモジュール(HSM)40を含み、鍵値および他のデータを生成し、暗号化し、且つプローブ42を介してチップ22に転送する。各CP鍵は、ハードウェアキー26を用いてHSM40により暗号化され、次いで、鍵の真正性を証明する付随するデジタル証明書とともにバイナリラージオブジェクト(BLOB)としてチップ22に転送される。(選択的に、デジタル証明書も暗号化されることができる。)HSM40は、HSMによって保護された署名鍵を用いてデジタル証明書に署名する。論理30は、ハードウェアキー26を用いてBLOBを復号化および解析し、CP鍵をメモリ24に格納する。
図2は、本発明の実施形態による、ICチップ22をプロビジョニングするシステム50を概略的に示すブロック図である。システム50では、ウェハ32(図1)は、チップ22を分離するようにダイシングされており、チップは、パッケージ化されているか、または電子機器に統合するように準備されている。この段階では、例えば、チップ22は、回路基板52の上、例えばテストフィクスチャまたはチップが統合される実際の装置に実装されることができる。この構成では、インターフェース28は、チップパッケージまたはダイ上のコンタクトピンに接続され、従って、回路基板52上のトレースにはんだ付けされることができる。あるいは、システム50が適用されて、回路基板を介してではなく、個々のチップを直接プロビジョニングすることができる。いずれの場合も、パッケージのタイプに応じて、コンタクトピンは、例えば、ICパッケージのピン(legs)またはICダイのはんだバンプ、または当技術分野で知られている他の適切な種類のチップ接続の形式をとることができ、または、当技術分野で知られている任意の他の適切な種類のチップ接続の形式をとることもできる。
プロビジョニングアプライアンス54は、コネクタ62を介して、各チップ22のセキュアメモリ24にそれぞれの第2の鍵をプロビジョニングし、チップ22のコンタクトピンと直接、または回路基板52を介して接触する(図2を参照)。アプライアンス54は、アプライアンス34(図1)と同様に、CPU58およびセキュアメモリ56を有する安全で信頼できるコンピュータ、およびHSM60を含む。コネクタ62は、最終試験システムの一部であるか、または外部委託されたアセンブリおよび試験用のシステム(図示せず)の一部であってもよく、アプライアンス54は、プロビジョニングのために前記システムと結合される。従って、アプライアンス54によってプロビジョニングされる鍵は、以下、「最終試験」(final test(FT))鍵と呼ばれる。同じプロビジョニングアプライアンスがCP鍵とFT鍵の両方のプロビジョニングに用いられることができるが、悪意のある内部関係者による潜在的な攻撃を阻止するために、アプライアンス34とアプライアンス54が分離して独立していることが有利である。
図3は、本発明の実施形態による、ウェハレベルでICチップをプロビジョニングする方法を概略的に示すラダー図である。明確且つ具体的にするために、この方法は、ここでは、システム20(図1)、特にチップ22(「被試験デバイス」またはDUTと呼ばれる)およびプロビジョニングアプライアンス(PA)34を参照して説明される。代替的に、本方法は、本明細書を読めば当業者には明らかであるように、他のシステム構成で行われることもできる。
プローブ42を介してチップ22に接続した後、プロビジョニングアプライアンス34は、CPダウンロードステップ70で、それぞれのCP鍵およびCP鍵の真正性を証明するデジタル証明書を含むBLOBをチップ22にダウンロードする。証明書は、保護された署名鍵を用いてHSM40によって署名される。BLOBは、チップ22のハードウェアキー26を用いて暗号化され、HSM40によって保護された鍵のコピーを用いて暗号化される。CP復号化ステップ72では、チップ22内の論理30は、ハードウェアキー26を用いてBLOBを復号化し、復号化されたBLOBを解析してCP鍵を抽出する。CPストレージステップ74では、論理30は、CP鍵をセキュアメモリ24に格納する。
論理30は、ステップ74でCP鍵を格納した後、適切なプログラムコードがチップ22にロードされ、論理30によって実行された後にのみ、論理30がCP鍵にアクセスするようにプログラムされている。チップ22のこの動作モードは、生産(PROD)状態と呼ばれる。この構成の特徴により、ウェハレベルでのCP鍵への任意のさらなるアクセスまたは使用を防止する。
図4は、本発明の実施形態による、ダイシング後にICチップ22をプロビジョニングおよび検証する方法を概略的に示すラダー図である。再度、明確且つ具体的にするために、この方法は、ここでは、システム50(図2)、特にチップ22およびプロビジョニングアプライアンス54を参照して説明される。代替的に、本方法は、本明細書を読めば当業者には明らかであるように、他のシステム構成で行われることもできる。
コードローディングステップ80では、プロビジョニングアプライアンス54は、コネクタ62を介してチップ22に、上述したPROD状態に入ることを信号で送り、チップにプログラムコード、例えばファームウェアコードの形式でダウンロードする。このコードは、信頼できるデジタル署名とともに送信され、これにより、チップ22の論理30が、コードが真正で信頼できることを検証することができるようにする。論理30は、適切に認証されていないコードを受信してロードしない。FTダウンロードステップ82では、プロビジョニングアプライアンス54は、それぞれのFT鍵およびHSM60によって署名されたFT鍵の真正性を証明するデジタル証明書を含むBLOBをチップ22にダウンロードする。BLOBは、チップ22のハードウェアキー26を用いて再度暗号化される(または、ステップ80とステップ82の順序を逆にすることもできる)。
FT復号化ステップ84では、チップ22内の論理30は、ハードウェアキー26を用いてBLOBを復号化し、復号化されたBLOBを解析してFT鍵を抽出し、FT鍵をセキュアメモリ24にも格納する。
鍵生成ステップ86では、論理30は、チップ22との通信に続いて用いるための公開鍵/秘密鍵のペアを生成する。例えば、論理30は、チップ22上の乱数発生器からシード値を受信し、次いで、公開鍵と秘密鍵を生成するために、鍵導出関数(KDF)をシード値に用いる。ここでは、公開鍵は「ID鍵」と呼ぶ。署名生成ステップ88では、論理30は、セキュアメモリ24に格納されているCP鍵およびFT鍵の両方を用いて、ID鍵の上方にデジタル署名を生成する。このデジタル署名は、例えば、それぞれCP鍵およびFT鍵で計算された2つのサブ署名を含むことができるか、または代替的にサブ署名は、デジタル署名に連結されるか、でなければデジタル署名に混合されることができる。
レポートステップ(reporting step)90では、ステップ80からステップ88が完了した後、論理30は、コネクタ62を介してプロビジョニングレポートをプロビジョニングアプライアンス54に生成および出力する。前記レポートは、チップ22が、ステップ70および82でCPおよびFT鍵と、ステップ86で生成されたID鍵と、ステップ88で計算されたデジタル署名とを受信したCPおよびFT証明書を含む。プロビジョニングアプライアンス54は、ID鍵および証明書の有効性を検証するために、証明書およびデジタル署名をチェックする。前述のように、チップ22はこの領域で用いられるように検証されてリリースされ、次いでこの検証後にのみサービスを受けることができ、CP鍵とFT鍵の両方がメモリ24に正常にプロビジョニングされた場合にのみ完了することができる。
いくつかの実施形態では、長期的な安全性を高めるために、プロビジョニングアプライアンス54は、レポート格納ステップ92では、プロビジョニングレポートおよび対応するCPおよびFT証明書のペアをリポジトリに転送し、格納する。例えば、プロビジョニングアプライアンスは、ネットワークを介してレポートおよび証明書をサーバ94に送信することができ、証明書を含むデータベースを維持する。サーバ94は、ペアチェックステップ96において、CPおよびFTセキュリティ証明書のペアの重複がないかリポジトリを定期的にチェックする。重複が検出されたとき、サーバ94は、例えば、チップ22の製造業者に警告を発する。このようなアラートは、以前の秘密値を再利用して、チップ22のセキュリティを侵害しようとする試み、例えばリプレイ攻撃を検出して警告するのに有用である。このような使われ方をしないようにガードするために、サーバ94および/またはプロビジョニングアプライアンス54は、侵害された鍵および証明書の「失効リスト」を維持することができ、且つ問題の鍵および証明書に関連する後続のクエリに応じてこのリストを参照することができる。
上述の実施形態は、例として引用されており、以下の特許請求の範囲は、上述に具体的に開示および記載された内容に限定されないことに留意されたい。むしろ、この範囲は、上述の様々な特徴のコンビネーションおよびサブコンビネーションの両方、ならびに前述の説明を読んで当業者が知るであろう、先行技術に開示されていないその変更および修正を含む。
20 ICチップをプロビジョニングするシステム
22 チップ
24 セキュアメモリ
26 ハードウェアキー
28 インターフェース
30 プログラマブルセキュリティ論理
32 半導体ウェハ
34 プロビジョニングアプライアンス
36 メモリ
38 中央処理装置(CPU)
40 ハードウェアセキュリティモジュール(HSM)
42 プローブ
50 システム
52 回路基板
54 プロビジョニングアプライアンス
56 セキュアメモリ
58 中央処理装置(CPU)
60 ハードウェアセキュリティモジュール(HSM)
62 コネクタ
80 コードローディングステップ
82 FTダウンロードステップ
84 FT復号化ステップ
86 鍵生成ステップ
88 署名生成ステップ
90 レポートステップ
92 レポート格納ステップ
94 サーバ
96 ペアチェックステップ

Claims (10)

  1. 電子機器をプロビジョニングするシステムであって、
    前記システムは、
    複数の集積回路(IC)チップが製造された半導体ウェハ上のコンタクトパッドと接触するように構成され、各チップは、セキュアメモリとプログラマブル論理を含み、前記セキュアメモリに少なくとも2つの鍵を格納し、前記少なくとも2つの鍵を用いてデータにデジタル署名を計算するように構成された電気プローブ、
    前記ウェハをダイシングした後、各前記チップのコンタクトピンに接続するように構成されたコネクタ、および
    それぞれの第1の鍵を前記半導体ウェハに適用された前記電気プローブを介して、各前記チップの前記セキュアメモリにプロビジョニングするように構成され、前記ウェハのダイシング後、前記コネクタと前記コンタクトピンを介して各前記チップの前記セキュアメモリにそれぞれの第2の鍵をプロビジョニングし、各前記チップから、前記それぞれの第1の鍵および第2の鍵の両方を用いて前記論理によって計算されたデジタル署名を有する、それぞれのプロビジョニングレポートを受信し、前記デジタル署名に基づいて前記プロビジョニングを検証する少なくとも1つのプロビジョニングアプライアンスを含むシステム。
  2. 前記それぞれの第1の鍵をプロビジョニングするステップは、前記電気プローブを用いて前記ウェハ上の前記チップを試験するプロセス中に行われる請求項に記載のシステム。
  3. 前記それぞれの第2の鍵をプロビジョニングするステップは、各前記チップを試験するプロセス中に行われる請求項に記載のシステム。
  4. 前記少なくとも1つのプロビジョニングアプライアンスは、前記それぞれの第1の鍵をプロビジョニングする第1のプロビジョニングアプライアンス、および前記それぞれの第2の鍵をプロビジョニングする第2のプロビジョニングアプライアンスを含み、前記第2のプロビジョニングアプライアンスは、前記第1のプロビジョニングアプライアンスとは分離して独立している請求項に記載のシステム。
  5. 前記それぞれのプロビジョニングレポートは、信頼できる署名で署名されたプログラムコードを、各前記チップにロードした後、各前記チップから各前記チップに受信され、前記プログラマブル論理によって実行する請求項に記載のシステム。
  6. 各チップから受信された前記それぞれのプロビジョニングレポートは、前記チップとの通信に用いるためのそれぞれの公開鍵を含み、前記公開鍵は、前記それぞれの第1の鍵と第2の鍵の両方を用いて署名される請求項に記載のシステム。
  7. 前記それぞれのプロビジョニングレポートは、前記それぞれの第1の鍵および第2の鍵に関して各前記チップによって生成された第1および第2のセキュリティ証明書を含む請求項に記載のシステム。
  8. 前記第1および第2のセキュリティ証明書をリポジトリに格納するように構成され、前記第1および第2のセキュリティ証明書の重複がないか前記リポジトリを定期的にチェックし、重複が検出されたとき、警告を発する請求項に記載のシステム。
  9. 集積回路チップであって、
    セキュアメモリ、および
    少なくとも第1および第2の鍵を受信するように構成され、前記鍵を前記セキュアメモリに格納し、前記それぞれの第1の鍵と第2の鍵の両方を用いて、デジタル署名を計算して出力するプログラマブル論理を含み、
    前記プログラマブル論理は、信頼できる署名で署名されたプログラムコードを前記チップにロードした後、前記プログラマブル論理によって実行するデジタル署名を含むプロビジョニングレポートを出力するように構成され、
    前記プログラマブル論理によって出力された前記プロビジョニングレポートは、前記チップとの通信に用いるための公開鍵を含み、前記公開鍵は、前記第1の鍵と前記第2の鍵の両方を用いた前記デジタル署名を用いて前記プログラマブル論理によって署名される集積回路チップ。
  10. 前記プロビジョニングレポートは、前記それぞれの第1の鍵および第2の鍵に関して前記プログラマブル論理によって生成された第1および第2のセキュリティ証明書を含む請求項に記載のチップ。
JP2022078609A 2021-05-27 2022-05-12 秘密データの多段階のプロビジョニング Active JP7472194B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/331,665 US11574079B2 (en) 2021-05-27 2021-05-27 Multi-stage provisioning of secret data
US17/331,665 2021-05-27

Publications (2)

Publication Number Publication Date
JP2022183033A JP2022183033A (ja) 2022-12-08
JP7472194B2 true JP7472194B2 (ja) 2024-04-22

Family

ID=84158338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022078609A Active JP7472194B2 (ja) 2021-05-27 2022-05-12 秘密データの多段階のプロビジョニング

Country Status (4)

Country Link
US (1) US11574079B2 (ja)
JP (1) JP7472194B2 (ja)
CN (1) CN115412251A (ja)
TW (1) TWI809900B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230040468A1 (en) * 2021-08-04 2023-02-09 International Business Machines Corporation Deploying a system-specific secret in a highly resilient computer system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122931A (ja) 1998-10-15 2000-04-28 Toshiba Corp デジタル集積回路
JP2003051817A (ja) 2001-08-08 2003-02-21 Toshiba Corp 暗号化・復号装置、ディジタル署名生成・検証装置、方法及びプログラム
JP2007096268A (ja) 2005-07-07 2007-04-12 Infineon Technologies Ag 半導体ウェハの個々のチップを選択的に接続および設定するための方法および装置
US20120250429A1 (en) 2011-04-01 2012-10-04 Stmicroelectronics N.V. Security-protection of a wafer of electronic circuits
US20160171223A1 (en) 2014-12-16 2016-06-16 Freescale Semiconductor, Inc. Systems and methods for secure provisioning of production electronic circuits

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2510366C (en) * 2005-06-14 2013-02-26 Certicom Corp. System and method for remote device registration
WO2010057312A1 (en) 2008-11-24 2010-05-27 Certicom Corp. System and method for hardware based security
US8332641B2 (en) 2009-01-30 2012-12-11 Freescale Semiconductor, Inc. Authenticated debug access for field returns
US20100284539A1 (en) 2009-03-09 2010-11-11 The Regents Of The University Of Michigan Methods for Protecting Against Piracy of Integrated Circuits
US8732468B2 (en) 2009-03-09 2014-05-20 The Regents Of The University Of Michigan Protecting hardware circuit design by secret sharing
JP5552541B2 (ja) 2009-12-04 2014-07-16 クリプトグラフィ リサーチ, インコーポレイテッド 検証可能な耐漏洩性暗号化および復号化
US8966657B2 (en) 2009-12-31 2015-02-24 Intel Corporation Provisioning, upgrading, and/or changing of hardware
KR101118826B1 (ko) * 2011-02-15 2012-04-20 한양대학교 산학협력단 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
EP2506176A1 (en) * 2011-03-30 2012-10-03 Irdeto Corporate B.V. Establishing unique key during chip manufacturing
EP2724286B1 (en) * 2011-07-27 2018-04-18 Certicom Corp. Method for provisioning cryptographic keys during manufacturing
US9100189B2 (en) 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US9405919B2 (en) * 2014-03-11 2016-08-02 Qualcomm Incorporated Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers
US20170180131A1 (en) 2015-12-16 2017-06-22 Intel Corporation Secure unlock to access debug hardware
US10250587B2 (en) * 2016-09-30 2019-04-02 Microsoft Technology Licensing, Llc Detecting malicious usage of certificates
EP3340213B1 (en) * 2016-12-21 2020-03-11 Merck Patent GmbH Puf based composite security marking for anti-counterfeiting
US10211979B2 (en) 2017-05-19 2019-02-19 Swfl, Inc. Systems and methods securing an autonomous device
EP3407335B1 (en) * 2017-05-22 2023-07-26 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
DE102017005057A1 (de) * 2017-05-26 2018-11-29 Giesecke+Devrient Mobile Security Gmbh Personalisieren eines Halbleiterelements
EP3506560A1 (en) * 2017-12-29 2019-07-03 Nagravision S.A. Secure provisioning of keys
US11139987B2 (en) 2018-02-04 2021-10-05 Sony Semiconductor Israel Ltd. Compact security certificate

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122931A (ja) 1998-10-15 2000-04-28 Toshiba Corp デジタル集積回路
JP2003051817A (ja) 2001-08-08 2003-02-21 Toshiba Corp 暗号化・復号装置、ディジタル署名生成・検証装置、方法及びプログラム
JP2007096268A (ja) 2005-07-07 2007-04-12 Infineon Technologies Ag 半導体ウェハの個々のチップを選択的に接続および設定するための方法および装置
US20120250429A1 (en) 2011-04-01 2012-10-04 Stmicroelectronics N.V. Security-protection of a wafer of electronic circuits
US20160171223A1 (en) 2014-12-16 2016-06-16 Freescale Semiconductor, Inc. Systems and methods for secure provisioning of production electronic circuits

Also Published As

Publication number Publication date
JP2022183033A (ja) 2022-12-08
US20220382911A1 (en) 2022-12-01
TW202247018A (zh) 2022-12-01
TWI809900B (zh) 2023-07-21
US11574079B2 (en) 2023-02-07
CN115412251A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
US9430658B2 (en) Systems and methods for secure provisioning of production electronic circuits
US9729322B2 (en) Method and system for smart card chip personalization
US9100174B2 (en) Secure provisioning in an untrusted environment
US9100189B2 (en) Secure provisioning in an untrusted environment
US9129536B2 (en) Circuit for secure provisioning in an untrusted environment
TWI488477B (zh) 使用實體不可複製功能以電子式保護電子裝置方法與系統
JP4638912B2 (ja) ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法
US9094205B2 (en) Secure provisioning in an untrusted environment
US20100250936A1 (en) Integrated circuit, encryption communication apparatus, encryption communication system, information processing method and encryption communication method
EP2907075B1 (en) Chip verification
JP7347895B2 (ja) ハードウェア検出方法ならびに装置、デバイス、および記憶媒体
JP7472194B2 (ja) 秘密データの多段階のプロビジョニング
CN111737769B (zh) 用于连接的管芯之间的安全通信的多芯片封装及方法
US10382417B2 (en) Secure protocol for chip authentication
CN111147259B (zh) 鉴权方法和设备
Aysu et al. A design method for remote integrity checking of complex PCBs
CN103248490B (zh) 一种备份电子签名令牌中信息的方法和系统
US10298406B1 (en) Security integrated circuit
US20220116206A1 (en) Systems and methods for device authentication in supply chain
US10425233B2 (en) Method for automatically verifying a target computer file with respect to a reference computer file
CN110929271A (zh) 一种芯片防篡改方法、系统、终端及存储介质
US20200401690A1 (en) Techniques for authenticating and sanitizing semiconductor devices
CN113675097A (zh) 一种三维芯片的制造方法以及三维芯片

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230919

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240305

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240410

R150 Certificate of patent or registration of utility model

Ref document number: 7472194

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150