JP7170999B2 - 機密データを保護することが可能な電子機器 - Google Patents

機密データを保護することが可能な電子機器 Download PDF

Info

Publication number
JP7170999B2
JP7170999B2 JP2020213544A JP2020213544A JP7170999B2 JP 7170999 B2 JP7170999 B2 JP 7170999B2 JP 2020213544 A JP2020213544 A JP 2020213544A JP 2020213544 A JP2020213544 A JP 2020213544A JP 7170999 B2 JP7170999 B2 JP 7170999B2
Authority
JP
Japan
Prior art keywords
volatile memory
unit
encrypted data
data
key
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
JP2020213544A
Other languages
English (en)
Other versions
JP2021190081A (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 JP2021190081A publication Critical patent/JP2021190081A/ja
Application granted granted Critical
Publication of JP7170999B2 publication Critical patent/JP7170999B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00478Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier wherein contents are decrypted and re-encrypted with a different key when being copied from/to a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

本発明は、電子機器に関し、さらに詳しくは、グローバル暗号化及びローカル暗号化によって機密データを保護することが可能な電子機器に関する。
ファームウェアは、下層(low level)のコンピューターソフトウェアであり、通常は最初のセットアップのために電子機器を制御するのに使用される。ファームウェアは、電子機器の電源がオンにされるたびに、検索されることがあるので、電源がオフにされたときに、ファームウェアは保持されるべきである。さらにファームウェアは、電子機器を作動可能にするのに必須である。普通、正しいファームウェアがない場合は、電子機器は正しい状態にセットアップすることができないし、正常に機能できない。従って、ファームウェアは通常はフラッシュメモリーに格納される。
しかし、ファームウェアの必須の役割のために、ハッカーたちがファームウェアにアクセスすることを試みてきた。例えば、ハッカーは、ファームウェアをフラッシュメモリーにダウンロードするときに、工場でファームウェアをコピーすること、又は許諾された電子機器から許諾されない別の電子機器にファームウェアをコピーすることを試みることがある。従って、ファームウェアをハッキングから保護するために暗号化の技術が必要である。
本発明の一つの実施形態は、電子機器を開示する。電子機器は第1不揮発性メモリーとアプリケーション回路とを含む。
第1不揮発性メモリーは、グローバル鍵を用いて暗号化された第1暗号化データを格納する。アプリケーション回路は、第2不揮発性メモリーと、復号化ユニットと、ローカル鍵ユニットと、暗号化ユニットとを含む。第2不揮発性メモリーは、グローバル鍵を格納する。復号化ユニットは、第1及び第2不揮発性メモリーに結合され、第2不揮発性メモリーからグローバル鍵を検索し、グローバル鍵を用いて第1暗号化データを復号化し、プレーンデータを生成する。ローカル鍵ユニットは、ローカル鍵を生成又は格納する。暗号化ユニットは、ローカル鍵ユニットに結合され、ローカル鍵を用いてプレーンデータを暗号化し、第2暗号化データを生成し、第2暗号化データで第1不揮発性メモリーの中の第1暗号化データを上書きする。
本発明の別の一つの実施形態は、電子機器を作動させる方法を開示する。電子機器は、第1不揮発性メモリーと、第2不揮発性メモリー、第1復号化ユニット及び暗号化ユニットを含むアプリケーション回路とを備えている。
電子機器を作動させる方法は、第1不揮発性メモリーが、グローバル鍵を用いて暗号化された第1暗号化データを格納するステップと、第2不揮発性メモリーが、グローバル鍵を格納するステップと、第1復号化ユニットが、第2不揮発性メモリーからグローバル鍵を検索するステップと、第1復号化ユニットが、グローバル鍵を用いて第1暗号化データを復号化してプレーンデータを生成するステップと、暗号化ユニットが、ローカル鍵を用いてプレーンデータを暗号化して第2暗号化データを生成するステップと、暗号化ユニットが、第2暗号化データで第1不揮発性メモリーの中の第1暗号化データを上書きするステップとを備えている。
本発明のこれら及び他の目的は、様々な図及び図面に例示された好ましい実施形態の以下の詳細な説明を読んだ後、当業者には、疑いなく明らかになる。
本発明の一つの実施形態に係る電子機器を示す。 本発明の一つの実施形態に係る図1のローカル鍵ユニットのPUFセルを示す。 図1の電子機器を作動させる方法のフローチャートを示す。
図1は、本発明の一つの実施形態に係る電子機器100を示す。電子機器100は不揮発性メモリー110とアプリケーション回路(用途回路)120とを有する。いくつかの実施形態では、アプリケーション回路120は特定用途向け集積回路(ASIC)であってよく、不揮発性メモリー110はアプリケーション回路120が必要とするファームウェアを格納してよい。例えば、不揮発性メモリー110は、フラッシュメモリー及び/又はセキュアデジタルメモリーカード(SDカード)を含んでよい。
いくつかの実施形態では、不揮発性メモリー110とアプリケーション回路120とは、異なる会社で構成されて製造されてよい。この場合、ハッキングからファームウェアを保護するために、ファームウェアは、グローバル鍵GK1を用いて暗号化データED1として暗号化されてよく、暗号化データED1は工場に供給できる。従って、暗号化データED1を不揮発性メモリー110に格納する責任がある工場は、ファームウェアのプレーンデータPD1の代わりに暗号化データED1を受け取るだけとなる。これにより、ファームウェアをダウンロードする過程の情報安全性を向上させる。
この場合、暗号化データED1を復号化するには、グローバル鍵GK1はアプリケーション回路120に格納されることとなる。アプリケーション回路120は、不揮発性メモリー121と、復号化ユニット122と、ローカル鍵ユニット(ローカル鍵発生部)123と、暗号化ユニット124とを有する。復号化ユニット122は、不揮発性メモリー110と不揮発性メモリー121とに結合されてよい。不揮発性メモリー121は、暗号化データED1を生成するファームウェアを暗号化するのに用いられるグローバル鍵GK1を格納してよい。従って、復号化ユニット122は不揮発性メモリー121からのグローバル鍵GK1を検索してよく、グローバル鍵GK1を用いて暗号化データED1を復号化し、ファームウェアのプレーンデータPD1を得ることができる。いくつかの実施形態では、不揮発性メモリー121はワンタイム・プログラマブル(OTP)不揮発性メモリーを含んでよい。これによれば、グローバル鍵GK1は、安全な環境で格納でき、改変できない。
図1で暗号化ユニット124は、ローカル鍵ユニット123に結合されてよい。ローカル鍵ユニット123はローカル鍵LK1を生成又は格納してよく、ファームウェアのプレーンデータPD1が得られた後に、暗号化ユニット124は、ローカル鍵LK1を用いてプレーンデータPD1を暗号化して第2暗号化データED2を生成することができる。その後に、暗号化ユニット124は、第2暗号化データED2で不揮発性メモリー110の中の第1暗号化データED1を上書きすることができる。いくつかの実施形態では、暗号化ユニット124は関連データを使用した認証付き暗号(AEAD)アルゴリズムに応じた第2暗号化データED2を生成するように、プレーンデータPD1を暗号化してよい。例えば、高度暗号化標準(AES)によって提供されたガロア/カウンタ・モード(GCM)が、暗号化ユニット124で用いられてよい。いくつかの実施形態では、GCM暗号化方法は、GHASH(ハッシュ関数)及びガロアメッセージ認証コード(GMAC)の技術を含んできたので、ファームウェアが改変されることを防止するのに役立つことができる。従って暗号化ユニット124は、完全な保護を行うために、ローカル鍵LK1を用いてプレーンデータPD1を暗号化するGCM暗号化方法を用いてよい。いくつかの実施形態では、第1暗号化データED1と第2暗号化データED2とは、同じ暗号化アルゴリズムで生成してよい。しかし他の実施形態では、第1暗号化データED1と第2暗号化データED2とは、異なる暗号化アルゴリズムで生成してよい。
さらに、ローカル鍵LK1がローカル鍵ユニット123によってローカルに格納又は生成されるので、ローカル鍵LK1を用いて暗号化された暗号化データED2は、他のローカル鍵を用いる他の電子機器で復号化することはできない。即ち、電子機器100の不揮発性メモリー110からハッカーが暗号化データED2をコピーしたとしても、暗号化データED2は、ローカル鍵LK1なしでは他のいずれの電子機器でも使用できない。従って、許諾されない機器でのファームウェアの違法な拡散を、減少させることができる。
いくつかの実施形態では、ローカル鍵ユニット123は、物理複製困難関数(PUF)セル(物理複製困難関数(PUF)ユニット)を含んでよい。物理複製困難関数セルのそれぞれは、製造過程の間に生成された、内在的で制御不能な物理特性によってランダムビットを生成してよい。従って、ローカル鍵ユニット123によって生成されたローカル鍵LK1は、単一であることができ、予見不能であることができる。これにより、暗号化ユニット124によって行われる暗号化を強化する。しかし、他のいくつかの実施形態では、ローカル鍵LK1は予め他のシステムによって供給されてよく、後でローカル鍵ユニット123に格納されてよい。
図2は、本発明の一つの実施形態に係るローカル鍵ユニット123のPUFセルP1を示す。PUFセルP1は、第1選択トランジスターT1、第2選択トランジスターT2、分離トランジスターIT、第1アンチヒューズトランジスターAT1、及び第2アンチヒューズトランジスターAT2を含む。第1選択トランジスターT1は、第1ビット線BL1に結合された第1端子と、第2端子と、ワード線WLに結合された制御端子とを有する。第1アンチヒューズトランジスターAT1は、第1選択トランジスターT1の第2端子に結合された第1端子と、第2端子と、アンチヒューズ制御線AFに結合された制御端子とを有する。第2アンチヒューズトランジスターAT2は、第1端子と、第2端子と、アンチヒューズ制御線AFに結合された制御端子とを有する。第2選択トランジスターT2は、第2ビット線BL2に結合された第1端子と、第2アンチヒューズトランジスターAT2の第1端子に結合された第2端子と、ワード線WLに結合された制御端子とを有する。分離トランジスターITは、第1アンチヒューズトランジスターAT1の第2端子に結合された第1端子と、第2アンチヒューズトランジスターAT2の第2端子に結合された第2端子と、分離制御線ILに結合された制御端子とを有する。
PUFセルP1の登録動作(enroll operation、記録動作)の間に、ビット線BL11,BL2は低電圧であり、ワード線WLは高電圧であり、分離制御線ILは高電圧であり、アンチヒューズ制御線AFは、この高電圧よりも高いプログラム電圧である。この場合、分離トランジスターIT、また選択トランジスターT1,T2がオンになり、低電圧とプログラム電圧との両方がアンチヒューズトランジスターAT1,AT2に印加される。アンチヒューズトランジスターAT1,AT2に与えられる電圧の差は、アンチヒューズトランジスターAT1,AT2を降伏(rupture、ブレークダウン)させるためには十分に高い。しかし、アンチヒューズトランジスターAT1,AT2の製造過程で生じる物理的特性の変化に起因して、アンチヒューズトランジスターAT1,AT2のうち一方がまず降伏し、この一方のアンチヒューズトランジスターは、電圧のストレスを緩和し、もう一方のアンチヒューズトランジスターが降伏することを防止する。即ち、登録動作の後に、アンチヒューズトランジスターAT1,AT2は異なる状態となる。即ち一方が降伏し、他方はそうならない。
PUFセルP1が登録される(enrolled、記録される)と、ビットデータが読み出し動作によってビット線BL1,BL2から読み出されてよい。読み出し動作の間に、ワード線WLは高電圧であり、分離制御線ILは低電圧であり、アンチヒューズ制御線AFは読み出し電圧であり、これはワード線WLの高電圧と実質的に等しくあってよい。この場合、分離トランジスターITがオフにされ、選択トランジスターT1,T2がオンにされ、アンチヒューズトランジスターAT1,AT2はその状態に応じた電流を生成することとなる。即ち、アンチヒューズトランジスターAT1,AT2で生成された電流の強さは、これらが降伏するかどうかに関係する。従って検出増幅器が、ビット線BL1,BL2での電流の間の差を検出することに使用でき、PUFセルP1の中の登録されたビットデータの読み出しができる。
図2に示すPUFセルP1は例として挙げたものであるが、他のいくつかの実施形態では、ローカル鍵ユニット123は、ローカル鍵LK1を生成するために他の種類のPUFセルを含んでよい。
図1で、アプリケーション回路120はさらに、復号化ユニット125と機能ユニット126とを含んでよい。復号化ユニット125は、不揮発性メモリー110とローカル鍵ユニット123とに結合されてよい。復号化ユニット125は、ローカル鍵ユニット123からローカル鍵LK1を検索してよく、ローカル鍵LK1を用いて暗号化データED2を復号化してプレーンデータPD1を生成してよい。従って、機能ユニット126はプレーンデータPD1に応じて作用(オペレーション(operation)ともいう)を行うことができる。機能ユニット126は例えば、限定されないが、プロセッサー又はコントローラーであってよく、プレーンデータPD1は、機能ユニット126及び/又は電子機器100をセット(設定)するのに用いるファームウェアであってよい。
いくつかの実施形態では、アプリケーション回路120と不揮発性メモリー110とは二つの異なるチップに設けられてよく、異なる会社によって製造又は構成されてよい。さらにいくつかの実施形態では、グローバル鍵GK1は、アプリケーション回路120のパッケージング過程の前又は間に、不揮発性メモリー121に予めインストールされてよい。暗号化データED1は、電子機器100のチップ組み立て過程の前に、不揮発性メモリー110に予めインストールされてよい。従ってプレーンデータPD1は、プレーンデータPD1を不揮発性メモリー110に格納したときに、工場を介して漏洩することから保護されることができる。また、電子機器100をユーザーに向けて出荷する前に、復号化ユニット122はグローバル鍵GK1を用いて暗号化データED1を復号化してプレーンデータPD1を生成してよく、暗号化ユニット124はローカル鍵LK1を用いてプレーンデータPD1を再度暗号化してよい。従って、プレーンデータPD1は、許諾なく他の電子機器によって使用されることから保護されることができる。
本実施形態では、プレーンデータPD1は、アプリケーション回路120が必要とするファームウェアであってよいが、他のいくつかの実施形態では、プレーンデータPD1は、アプリケーション回路120が必要とする他の種類の必須の情報を含んでよい。
図3は、電子機器100を作動させる方法200のフローチャートを示す。方法200はステップS210~S290を含む。
S210:グローバル鍵GK1を用いてプレーンデータPD1を暗号化して、暗号化データED1を生成する。
S220:不揮発性メモリー110が、グローバル鍵GK1を用いて暗号化された暗号化データED1を格納する。
S230:不揮発性メモリー121がグローバル鍵GK1を格納する。
S240:電子機器100に電力を与える。
S250:復号化ユニット122が、不揮発性メモリー121からグローバル鍵GK1を検索する。
S252:復号化ユニット122が、グローバル鍵GK1を用いて暗号化データED1を復号化する。
S260:グローバル鍵GK1を用いた復号化の後に、プレーンデータPD1が首尾よく得られた場合に、ステップS262へ行き、そうでない場合に、ステップS270へ行く。
S262:暗号化ユニット124が、ローカル鍵LK1を用いてプレーンデータPD1を暗号化し、暗号化データED2を生成する。
S264:暗号化ユニット124が、暗号化データED2で不揮発性メモリー110の中の暗号化データED1を上書きして、ステップS250へ行く。
S270:復号化ユニット125が、ローカル鍵LK1を用いて暗号化データED2を復号化する。
S280:ローカル鍵LK1を用いた復号化の後に、プレーンデータPD1が首尾よく得られた場合に、ステップS282へ行き、そうでない場合に、ステップS290へ行く。
S282:機能ユニット126が、プレーンデータPD1に応じた作用を行う。
S290:過程を終了する。
ステップS210で、プレーンデータPD1はグローバル鍵GK1を用いて暗号化でき、暗号化データED1を生成する。これによりステップS220で、データを不揮発性メモリー110に格納することを工場が要請されたときに、工場はプレーンデータPD1の代わりに暗号化データED1を受け取るだけとなる。これにより、ファームウェアをダウンロードする過程の情報の安全性を向上させる。
また、暗号化データED1を正しく復号化するために、グローバル鍵GK1は、ステップS230でアプリケーション回路120に格納されてよい。いくつかの実施形態では、アプリケーション回路120と不揮発性メモリー110とは、二つの異なるチップに設けられてよく、異なる工場で製造されてよい。従って、ステップS220及びS230は、チップが電子機器100として一体にされる前に、異なる工場で行われてよい。この場合、暗号化データED1を不揮発性メモリー110に格納する責任のある工場は、グローバル鍵GK1を受け取らなくなり、その一方、グローバル鍵GK1を不揮発性メモリー121に格納する責任のある工場は、暗号化データED1を受け取らなくなる。従って、プレーンデータPD1はハッキングされることから保護されることができる。
いくつかの実施形態では、電子機器100がユーザーに向けて出荷される前に、グローバル鍵GK1と対応する暗号化データED1は、ローカル鍵LK1と対応する暗号化データED2によって置き換えられてよい。従って、ユーザーが電子機器100を受け取ったときに、不揮発性メモリー110に格納された暗号化データED2は、電子機器100に対して唯一生成されたローカル鍵LK1を用いて暗号化されるのみでよい。従って、ローカル鍵LK1がなければ他の電子機器で使用して復号化されることはできない。
例えば、不揮発性メモリー110とアプリケーション回路120とが電子機器100としてパッケージされた後に、電子機器は、顧客に出荷する前にステップS240で電力を与えることができる。この場合に、復号化ユニット122はステップS250で不揮発性メモリー121からグローバル鍵GK1を検索してよく、ステップS252ではグローバル鍵GK1を用いて暗号化データED1を復号化する。ステップS260では、プレーンデータPD1が首尾よく得られたかどうかを見るために復号化の結果が診断できる。ある実施形態では、プレーンデータPD1はアプリケーション回路120をセットアップするファームウェアであってよく、アプリケーション回路120は、復号化が成功であった場合に、プレーンデータPD1を識別することができるものとする。
プレーンデータPD1が首尾よく得られたら、ステップS262、S264で、プレーンデータPD1がローカル鍵LK1を用いて暗号化され、暗号化データED2を生成する。暗号化データED1は暗号化データED2で置き換えられる。暗号化データED2が不揮発性メモリー110に格納された後に、アプリケーション回路120は再び始動されてよく、ステップS250を再び行うことができる。しかしこのときに、ステップS260でステップS252の復号化が失敗となり、プレーンデータPD1は首尾よく得られないことがある。従ってステップS260の後に、ステップS270が行われ、ローカル鍵LK1を用いて暗号化データED2を復号化することとなる。この場合に、暗号化データED2が正しく復号化され、ローカル鍵LK1とともにプレーンデータPD1を得たならば、ステップS282が行われ、これに伴って機能ユニット126は作用を行ってよい。しかし、復号化が失敗であるならば、この過程は終了することとなる。即ち、ローカル鍵LK1が暗号化データED2と合致しない場合は、アプリケーション回路120は正しいファームウェアで初期化されることができず、機能しない。従って、許諾されないファームウェアの違法な拡散を、減少させることができる。
要約すると、電子機器、及び電子機器を作動させる方法は、異なるステージでグローバル鍵とローカル鍵とで機密データを暗号化できる。従って、機密データはハッキングから保護できる。
当業者は、本発明の教示に従う間は、装置及び方法の多数の変形及び改変がなされてよいことを容易に観察することである。従って、上記の開示は、添付の請求項の範囲及び限度によってのみ限定されるものとして解釈されることとする。

Claims (18)

  1. 電子機器であって、
    グローバル鍵を用いて暗号化された第1暗号化データを格納するように構成されている第1不揮発性メモリーと、
    アプリケーション回路と、を備え、
    前記アプリケーション回路は、
    前記グローバル鍵を格納するように構成されている第2不揮発性メモリーと、
    前記第1不揮発性メモリー及び前記第2不揮発性メモリーに結合され、前記第2不揮発性メモリーから前記グローバル鍵を検索し、前記グローバル鍵を用いて前記第1暗号化データを復号化してプレーンデータを生成するように構成されている第1復号化ユニットと、
    ローカル鍵を生成又は格納するように構成されているローカル鍵ユニットと、
    前記ローカル鍵ユニットに結合され、前記ローカル鍵を用いて前記プレーンデータを暗号化して第2暗号化データを生成し、前記第2暗号化データで前記第1不揮発性メモリーの中の前記第1暗号化データを上書きするように構成されている暗号化ユニットと、を備えており、
    前記アプリケーション回路は、さらに、
    前記第1不揮発性メモリーに結合され、前記ローカル鍵を用いて前記第2暗号化データを復号化して前記プレーンデータを生成するように構成されている第2復号化ユニットと、
    前記プレーンデータに応じてオペレーションを行うように構成されている機能ユニットと、を備えており、
    前記第1暗号化データが前記第2暗号化データで置き換えられた後に、前記アプリケーション回路は再び始動され、前記第1復号化ユニットは前記第2不揮発性メモリーから前記グローバル鍵を取得し、前記グローバル鍵を使用して前記第1暗号化データに対して復号化を行い、該復号化が失敗した場合、前記第2復号化ユニットは前記ローカル鍵を使用して前記第2暗号化データに対して復号化を行い、該復号化が成功した後に、前記機能ユニットは前記プレーンデータに応じて前記オペレーションを行う、電子機器。
  2. 前記アプリケーション回路は、前記第1復号化ユニット及び前記第2復号化ユニットによる復号化が失敗したことを確定した場合、前記電子機器の起動プロセスを終了する、請求項1記載の電子機器。
  3. 前記プレーンデータは、前記機能ユニットをセットするためのファームウェアを含む、請求項1記載の電子機器。
  4. 前記暗号化ユニットは、関連データを使用した認証付き暗号(AEAD)アルゴリズムに従って、前記プレーンデータを暗号化し、前記第2暗号化データを生成する、請求項1記載の電子機器。
  5. 前記第1不揮発性メモリーは、フラッシュメモリー及び/又はセキュアデジタルメモリーカード(SDカード)を含む、請求項1記載の電子機器。
  6. 前記第2不揮発性メモリーは、ワンタイム・プログラマブル(OTP)不揮発性メモリーを含む、請求項1記載の電子機器。
  7. 前記アプリケーション回路と前記第1不揮発性メモリーとが、異なる工場で製造される二つの異なるチップに設けられている、請求項1記載の電子機器。
  8. 前記アプリケーション回路のパッケージング過程の前又は間に、前記グローバル鍵が前記第2不揮発性メモリーに格納される、請求項記載の電子機器。
  9. 前記ローカル鍵ユニットは、物理複製困難関数(PUF)ユニットを含む、請求項記載の電子機器。
  10. 第1不揮発性メモリーとアプリケーション回路とを備えている電子機器であり、前記アプリケーション回路は、第2不揮発性メモリー、第1復号化ユニット及び暗号化ユニットを含む、電子機器を作動させる方法であって、
    前記第1不揮発性メモリーが、グローバル鍵を用いて暗号化された第1暗号化データを格納するステップと、
    前記第2不揮発性メモリーが、前記グローバル鍵を格納するステップと、
    前記第1復号化ユニットが、前記第2不揮発性メモリーから前記グローバル鍵を検索するステップと、
    前記第1復号化ユニットが、前記グローバル鍵を用いて前記第1暗号化データを復号化してプレーンデータを生成するステップと、
    前記暗号化ユニットが、ローカル鍵を用いて前記プレーンデータを暗号化して第2暗号化データを生成するステップと、
    前記暗号化ユニットが、前記第2暗号化データで前記第1不揮発性メモリーの中の前記第1暗号化データを上書きするステップと、を備えており、
    前記アプリケーション回路はさらに第2復号化ユニットと機能ユニットとを含み、前記方法は、さらに
    前記第2復号化ユニットが前記ローカル鍵により前記第2暗号化データを復号化して、前記プレーンデータを生成するステップと、
    前記機能ユニットが前記プレーンデータに応じてオペレーションを行うステップと、を備えており、
    前記第1暗号化データが前記第2暗号化データで置き換えられた後に、前記アプリケーション回路は再び始動され、前記第1復号化ユニットは前記第2不揮発性メモリーから前記グローバル鍵を取得し、前記グローバル鍵を使用して前記第1暗号化データに対して復号化を行い、該復号化が失敗した場合、前記第2復号化ユニットは前記ローカル鍵を使用して前記第2暗号化データに対して復号化を行い、該復号化が成功した後に、前記機能ユニットは前記プレーンデータに応じて前記オペレーションを行う、方法。
  11. 前記アプリケーション回路は、前記第1復号化ユニット及び前記第2復号化ユニットによる復号化が失敗したことを確定した場合、前記電子機器の起動プロセスを終了する、請求項10記載の方法。
  12. 前記プレーンデータは、前記機能ユニットをセットするためのファームウェアを含む、請求項10記載の方法。
  13. 前記暗号化ユニットが前記ローカル鍵を用いて前記プレーンデータを暗号化して前記第2暗号化データを生成するステップは、関連データを使用した認証付き暗号(AEAD)アルゴリズムに従って、前記暗号化ユニットが前記プレーンデータを暗号化し、前記第2暗号化データを生成することを含む、請求項10記載の方法。
  14. 前記第1不揮発性メモリーは、フラッシュメモリー及び/又はセキュアデジタルメモリーカード(SDカード)を含む、請求項10記載の方法。
  15. 前記第2不揮発性メモリーは、ワンタイム・プログラマブル(OTP)不揮発性メモリーを含む、請求項10記載の方法。
  16. 前記アプリケーション回路と前記第1不揮発性メモリーとが、異なる工場で製造される二つの異なるチップに設けられている、請求項10記載の方法。
  17. 前記第2不揮発性メモリーが前記グローバル鍵を格納するステップは、前記アプリケーション回路のパッケージング過程の前又は間に行われる、請求項10記載の方法。
  18. 前記アプリケーション回路はさらにローカル鍵ユニットを含み、前記ローカル鍵ユニットは、物理複製困難関数(PUF)ユニットを含み、方法は、前記ローカル鍵ユニットが前記ローカル鍵を生成するステップを備えている、請求項10記載の方法。
JP2020213544A 2020-06-04 2020-12-23 機密データを保護することが可能な電子機器 Active JP7170999B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063034410P 2020-06-04 2020-06-04
US63/034,410 2020-06-04
US17/105,476 2020-11-25
US17/105,476 US11502832B2 (en) 2020-06-04 2020-11-25 Electronic device capable of protecting confidential data

Publications (2)

Publication Number Publication Date
JP2021190081A JP2021190081A (ja) 2021-12-13
JP7170999B2 true JP7170999B2 (ja) 2022-11-15

Family

ID=73694779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020213544A Active JP7170999B2 (ja) 2020-06-04 2020-12-23 機密データを保護することが可能な電子機器

Country Status (5)

Country Link
US (1) US11502832B2 (ja)
EP (1) EP3920066B1 (ja)
JP (1) JP7170999B2 (ja)
CN (1) CN113761598B (ja)
TW (1) TWI827912B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220393859A1 (en) * 2021-06-07 2022-12-08 Micron Technology, Inc. Secure Data Storage with a Dynamically Generated Key

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001517582A (ja) 1997-09-22 2001-10-09 ジェラルド・ジェイ・ブロック 航空機又は他の輸送手段のためのディスプレイシステム
JP2006295916A (ja) 2005-03-24 2006-10-26 Sony United Kingdom Ltd プログラマブルロジックデバイス
JP2008102618A (ja) 2006-10-17 2008-05-01 Toshiba Corp 電子機器およびファームウェア保護方法
JP2015531924A (ja) 2012-08-10 2015-11-05 クリプトグラフィ リサーチ, インコーポレイテッド 集積回路のセキュア機能及び鍵管理

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847902A (en) 1984-02-10 1989-07-11 Prime Computer, Inc. Digital computer system for executing encrypted programs
US7127610B1 (en) * 1999-06-02 2006-10-24 Nortel Networks Limited Apparatus and method of implementing multicast security between multicast domains
US6983374B2 (en) 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
US20120079270A1 (en) * 2010-09-29 2012-03-29 Navin Patel Hardware-Assisted Content Protection for Graphics Processor
US10803970B2 (en) 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
US9792439B2 (en) 2012-09-19 2017-10-17 Nxp B.V. Method and system for securely updating firmware in a computing device
TW201702868A (zh) 2015-07-09 2017-01-16 捷鼎國際股份有限公司 儲存裝置之韌體更新架構及方法
US10181054B1 (en) * 2017-01-13 2019-01-15 Parallels International Gmbh System and method for secure file management by a local client device
TWI736000B (zh) 2017-03-07 2021-08-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
DE102018120328A1 (de) * 2017-08-24 2019-02-28 Infineon Technologies Ag Sicherheitseinrichtung mit erweiterter Zuverlässigkeit
EP3460705B1 (en) 2017-09-25 2023-07-12 Siemens Aktiengesellschaft Distributed deployment of unique firmware
CN111201553B (zh) * 2017-10-16 2022-04-22 华为技术有限公司 一种安全元件及相关设备
US10657261B2 (en) * 2017-11-30 2020-05-19 Mocana Corporation System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
EP3624392B1 (en) * 2018-09-17 2023-05-10 Secure-IC SAS Methods and devices for secure secret key generation
CN110932853B (zh) * 2019-12-06 2022-12-06 深圳市纽创信安科技开发有限公司 一种基于可信模块的密钥管理装置和密钥管理方法
KR20210097537A (ko) * 2020-01-30 2021-08-09 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 마스킹 데이터를 생성하는 보안 장치 및 이의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001517582A (ja) 1997-09-22 2001-10-09 ジェラルド・ジェイ・ブロック 航空機又は他の輸送手段のためのディスプレイシステム
JP2006295916A (ja) 2005-03-24 2006-10-26 Sony United Kingdom Ltd プログラマブルロジックデバイス
JP2008102618A (ja) 2006-10-17 2008-05-01 Toshiba Corp 電子機器およびファームウェア保護方法
JP2015531924A (ja) 2012-08-10 2015-11-05 クリプトグラフィ リサーチ, インコーポレイテッド 集積回路のセキュア機能及び鍵管理

Also Published As

Publication number Publication date
EP3920066B1 (en) 2024-03-06
US11502832B2 (en) 2022-11-15
TWI827912B (zh) 2024-01-01
CN113761598B (zh) 2024-05-14
US20210385072A1 (en) 2021-12-09
CN113761598A (zh) 2021-12-07
EP3920066A1 (en) 2021-12-08
JP2021190081A (ja) 2021-12-13
TW202147124A (zh) 2021-12-16

Similar Documents

Publication Publication Date Title
JP5984625B2 (ja) 半導体装置及び暗号鍵書き込み方法
US11003781B2 (en) Root key processing method and associated device
US10915464B2 (en) Security system using random number bit string
KR101393307B1 (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
EP2506488B1 (en) Secure dynamic on-chip key programming
CN104252881B (zh) 半导体集成电路及系统
JP3638770B2 (ja) テスト機能を備える記憶装置
EP1785902B1 (en) Decryption key table access control on ASIC or ASSP
US20080107275A1 (en) Method and system for encryption of information stored in an external nonvolatile memory
US8612774B2 (en) Secure OTP using external memory
WO1999038078A1 (en) Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
JP2005227995A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US11533172B2 (en) Apparatus and method for securely managing keys
US11874928B2 (en) Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain
CN107925574B (zh) 秘密数据的安全编程
US20200356285A1 (en) Password protected data storage device and control method for non-volatile memory
JP7170999B2 (ja) 機密データを保護することが可能な電子機器
US10880082B2 (en) Rekeying keys for encrypted data in nonvolatile memories
US11372558B2 (en) Method for accessing one-time-programmable memory and associated circuitry
TW201901442A (zh) 電子系統及其操作方法
CN109286488B (zh) Hdcp关键密钥保护方法
US11734415B2 (en) Device and method for managing an encrypted software application
US20230214331A1 (en) Micro-controller chip and access method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220915

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: 20221004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221025

R150 Certificate of patent or registration of utility model

Ref document number: 7170999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150