JP6991493B2 - データセキュリティを提供するメモリデバイス - Google Patents

データセキュリティを提供するメモリデバイス Download PDF

Info

Publication number
JP6991493B2
JP6991493B2 JP2020116747A JP2020116747A JP6991493B2 JP 6991493 B2 JP6991493 B2 JP 6991493B2 JP 2020116747 A JP2020116747 A JP 2020116747A JP 2020116747 A JP2020116747 A JP 2020116747A JP 6991493 B2 JP6991493 B2 JP 6991493B2
Authority
JP
Japan
Prior art keywords
memory device
random bit
controller
sequence
generate
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
JP2020116747A
Other languages
English (en)
Other versions
JP2021034029A (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 JP2021034029A publication Critical patent/JP2021034029A/ja
Application granted granted Critical
Publication of JP6991493B2 publication Critical patent/JP6991493B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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/0622Securing storage systems in relation to access
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/3271Cryptographic 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 using challenge-response
    • H04L9/3278Cryptographic 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 using challenge-response using physically unclonable functions [PUF]
    • 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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Description

本発明は、メモリデバイスに関する。そして、特には、データセキュリティを提供するメモリデバイスに関する。
情報技術および通信技術が進歩するにつれて,情報セキュリティは電子回路の大きな懸念(concern)となってきている。情報セキュリティは、不正なデータアクセス、使用、変更、検査、および記録を防止することを含んでいる。記憶装置について情報セキュリティを維持することが重要である。
本発明の一つの実施形態に従って、メモリデバイスは、物理複製困難関数(physically unclonable function、PUF)ユニット、コントローラ、およびメモリアレイを含む。PUFユニットは、ランダムビットプールを提供するために使用される。コントローラは、PUFユニットに結合されており、そして、ランダムビットプールからランダムビットシーケンスを抽出するために使用される。コントローラは、マスキングエンジン(masking engine)を含む。マスキングエンジンは、キー派生(key derivation)機能を実行するために使用され、抽出されたランダムビットシーケンスを伸張し、かつ、入力信号をマスクする。メモリアレイはマスキングエンジンに結合されており、そして、マスクされた入力信号に応じて保管するために使用される。
本発明のこれら及び他の目的は、様々な図および図面において示されている好ましい実施形態に係る以下の詳細な説明を読んだ後で、当業者にとって間違いなく明らかになるだろう。
図1は、本発明の一つの実施形態に従った、暗号(cryptographic)システムのブロック図である。 図2は、本発明の別の実施形態に従った、暗号システムのブロック図である。 図3は、本発明の別の実施形態に従った、暗号システムのブロック図である。
ここにおいて使用されるように、用語「真のランダム(“true random”)」は、ハミング重み(hamming weight)およびデバイス間(inter-device、ID)ハミング距離において実質的に50%であり、かつ、最小エントロピー(min-entropy)において実質的に1である、ビットストリームまたはデータシーケンスを参照する。
図1は、本発明の一実施形態に従った暗号システム1のブロック図である。暗号システム1は、メモリデバイス10、および、それに結合されたマイクロプロセッサ(MCU)12を含み得る。暗号システム1は、モノのインターネット(IoT)ネットワークにおいて適用可能である。MCU 12は、外部装置からデータを取得し、または、メモリデバイス10からのデータにアクセスすることができる。外部装置は、センサまたはネットワークであってよい。メモリデバイス10は、セキュアなデータの保管、ユニークなアイデンティティ(identity)の生成、真の乱数生成、およびセキュアなキーの保管を含む、セキュリティ機能を提供することができ、それによって、MCU 12のデータ処理リソースを節約(save)し、不正アクセスからデータを保護し、そして、データセキュリティを強化している。
MCU 12は、暗号エンジン120を含み得る。暗号エンジン120は、MCU 12によって実行可能なソフトウェアコードによって実装され得る。メモリデバイス10は、コントローラ100、物理複製困難関数(PUF)ユニット105、およびメモリアレイ106を含み得る。コントローラ100は、MCU 12、PUFユニット105、およびメモリアレイ106に結合され得る。コントローラ100は、マスキングエンジン101、乱数発生器(RNG)102、およびユニーク識別子(unique identifier、UID)ユニット103を含み得る。マスキングエンジン101、乱数発生器102、およびUIDユニット103は、PUFユニット105に結合され得る。マスキングエンジン101は、メモリアレイ106に結合され得る。PUFユニット105、メモリアレイ106、およびコントローラ100は、集積回路を形成することができる。
暗号エンジン120は、認証プロセスを実行することができ、データアクセスの真正性(authenticity)の保証を提供し、そして、従って、メモリデバイス10へのデータアクセスを制御する。一旦、認可された(authorized)アクセスを検証すると、暗号エンジン120は、メモリアレイ106へのデータアクセスを許可するために、メモリデバイス10に対してセキュリティコマンドCsを送信することができる。メモリデバイス10は、セキュリティコマンドCsを受信し、そして、セキュリティコマンドCsに従って、メモリアレイ106へのデータアクセスを制御することができる。メモリアレイ106はNANDフラッシュメモリであり得る。データアクセスは、読出しアクセス及び/又は書込みアクセスであり得る。
PUFユニット105は、ランダムビットプールを保管し、そして、PUFチャレンジに応じてランダムビットプールからPUFレスポンスを生成することができる。OTPメモリはアンチヒューズベース(antifuse-base)であってよく、そして、ランダムビットプールは、製造セットアップの最中にOTPメモリの中へプログラムされてよい。ランダムビットプールは、真にランダムな複数のPUFビットを含み得る。PUFユニット105は、事前設定された選択アルゴリズムに従って、PUFレスポンスを出力することができる。いくつかの実施形態において、PUFユニット105は、PUFレスポンスとして第1の1K PUFビットを選択し得る。他の実施形態において、PUFユニット105は、PUFレスポンスとして機能するために、事前設定された行順序(row order)でメモリセルの行からPUFビットを選択することができ、例えば、奇数行から昇順でPUFビットを選択する。PUFユニット105は、ワンタイムプログラマブル(OTP)メモリを含み得る。いくつかの実施形態において、ワンタイムプログラマブルメモリは、複数の真のランダムビットを含んでいる不揮発性メモリと置き換えることができる。例えば、不揮発性メモリは、64ビット×64ビットのフラッシュメモリセルであってよく、そして、メモリセルの各行、列、または対角線は真のランダムビットを含んでよい。いくつかの実施形態において、複数の真のランダムビットは、定期的に更新され得る。
コントローラ100は、セキュアなデータの保管を提供するように、PUFユニット105およびマスキングエンジン101を動かす(operate)することができる。一旦、データアクセスを許可する(granting)セキュリティコマンドCsを受信すると、コントローラ100は、PUFユニット105におけるランダムビットプールからランダムビットシーケンスを抽出することができ、マスキングエンジン101は、抽出されたランダムビットシーケンスを伸張し、かつ、伸張されたランダムビットシーケンスを用いて入力信号をマスクするために、キー派生関数(key derivation function)を実行することができ、メモリアレイ106は、マスクされた入力信号に応じて保管することができる。入力信号は、アクセスアドレスAddrまたはデータシーケンスDataを含んでよい。伸張されたランダムビットシーケンスを用いた入力信号のマスキングは、データマスキングまたはアドレスマスキングであってよく、そして、伸張されたランダムビットシーケンスおよびデータシーケンスData、またはアクセスアドレスAddrについて、ビット単位で(in bitwise manner)XOR演算を実行することを含んでよい。データマスキングにおいて、マスキングエンジン101は、派生キー(derived key)を生成するために、伸張されたランダムビットシーケンスを用いてアクセスアドレスAddrをマスクすることができ、かつ、マスクされたデータシーケンスDatamを生成するために、派生キーを用いてデータシーケンスDataをマスクすることができる。そして、メモリアレイ106は、マスクされたデータシーケンスDatamをアクセスアドレスAddrに保管することができる。いくつかの実施形態において、マスキングエンジン101は、読出し動作において、マスクされたデータシーケンスDatamを回復するために、ローカルメモリ内に派生キーを保管することができる。例えば、読出し動作において、マスキングエンジン101は、アクセスアドレスAddrにおいてマスクされたデータシーケンスDatamを読出し、データシーケンスDataを回復するために、派生キーを用いてマスクされたデータシーケンスDatamをマスクし、そして、データシーケンスDataをMCU 12へ送信することができる。アドレスマスキングにおいて、マスキングエンジン101は、派生キーを生成するために、データシーケンスDataを伸張されたランダムビットシーケンスを用いてマスクすることができ、かつ、マスクされたアクセスアドレスAddrmを生成するために、派生キーを用いてアクセスアドレスAddrをマスクすることができる。そして、メモリアレイ106は、データシーケンスDataをマスクされたアクセスアドレスAddrmに保管することができる。いくつかの実施形態において、マスキングエンジン101は、読出し動作においてマスクされたアクセスアドレスAddrmを再現(reproduce)するために、派生キーをローカルメモリに保管することができる。例えば、読出し動作において、マスキングエンジン101は、MCU 12からアクセスアドレスAddrを受信し、アクセスアドレスAddrおよび派生キーをマスクすることによってマスクされたアクセスアドレスAddrmを再現し、マスクされたアクセスアドレスAddrmにおいてデータシーケンスDataを読出し、そして、データシーケンスDataをMCU 12へ送信することができる。データマスキング動作およびアドレスマスキング動作は、データセキュリティを強化し、そして、データを不正アクセスから保護する。
乱数発生器102は、真の乱数を生成することができる。いくつかの実施形態において、暗号エンジン120は、真の乱数に対するリクエスト(request)を含むセキュリティコマンドCsをコントローラ100へ送信することができ、コントローラ100は、リクエストに応じて、PUFユニット105内のランダムビットプールからランダムビットシーケンスを抽出することができる。そして、乱数発生器102は、抽出されたランダムビットシーケンスを用いて真の乱数TRNを生成することができ、かつ、真の乱数TRNを暗号エンジン120へ送信することができる。
UIDユニット103は、ユニーク識別子を生成することができる。いくつかの実施形態において、暗号エンジン120は、ユニーク識別子のリクエストを含むセキュリティコマンドCsをコントローラ100へ送信することができ、コントローラ100は、リクエストに応じて、PUFユニット105内のランダムビットプールからランダムビットシーケンスを抽出することができる。そして、UIDユニット103は、抽出されたランダムビットシーケンスに従ってユニーク識別子UIDを生成することができ、かつ、ユニーク識別子UIDを暗号エンジン120へ送信することができる。
PUFユニット105は、セキュアなキーの保管(secure key storage)を提供することができる。具体的には、PUFユニット105内のOTPメモリの一部が、セキュアなキーの保管のためにリザーブ(reserve)され得る。いくつかの実施形態において、暗号エンジン120は、セキュアなキーを保管するためのリクエストを含むセキュリティコマンドCsをセキュアなキーと一緒にコントローラ100へ送信することができ、そして、PUFユニット105は、セキュアなキーをOTPメモリのリザーブされた部分において保管することができる。
マスキングエンジン101は、データシーケンス及び/又はアクセスアドレスに対してデータマスキング及び/又はアドレスマスキングを実行することができるので、メモリデバイス10は、エグゼキュート・イン・プレイス(execute in place、XIP)で実行する方法において使用することができる。そこでは、プログラムを揮発性メモリの中へコピーするのではなく、メモリアレイ106からプログラムが直接的に実行され、それによって、必要とされるメモリの総量を低減している。
暗号システム1は、セキュアなデータの保管、ユニーク識別子の生成、真の乱数の生成、およびセキュアなキーの保管を含む、セキュリティ機能を提供するためにメモリデバイス10を使用して、MCU 12のデータ処理リソースの保全し、不正アクセスからデータを保護しながらXIP動作を可能にし、そして、データセキュリティを強化している。
図2は、本発明の別の実施形態に従った暗号システム2のブロック図である。暗号システム2は、MCU 22が認証コード220を保管するための不揮発性メモリを含んでよく、かつ、メモリデバイス20が暗号エンジン200をさらに含み得る点で、暗号システム1とは異なっている。暗号エンジン200は、電源投入(power-on)の際にMCU 12から認証コード220をロードすることができ、かつ、それを実行することができるハードウェア回路によって実装され得る。以下の説明は、認証コード220および暗号エンジン200の構成および動作(operations)についてフォーカスする。暗号エンジン200は、コントローラ100に結合され得る。
暗号エンジン200は、認証プロセスを実行するために認証コード220を実行することができる。認証プロセスは、認証動作のシーケンスを含み得る。認証コード220は、認証動作のシーケンスを実行するように暗号エンジン200に指示するためのファームウェアコードであってよい。いくつかの実施形態において、コントローラ100は、MCU 22からセキュリティコマンドCsのシーケンスを受信し得る。セキュリティコマンドCsのシーケンスは、認証動作のシーケンスを実行するために使用されるものである。コントローラ100は、セキュリティコマンドCsのシーケンスに応じて、暗号エンジン200に認証動作のシーケンスを実行するように、かつ、認証動作のシーケンスの結果に従って、メモリアレイ106に対するデータアクセスを制御するように、暗号エンジン120に指示することができる。コントローラ100は、認証プロセスが成功した際にメモリアレイ106に対するデータアクセスを承認(grant)することができ、そして、認証プロセスが失敗した際にメモリアレイ106に対するデータアクセスを拒否することができる。
暗号エンジン200は、抽出されたランダムビットシーケンス、及び/又は、真の乱数TRNを使用することによってエントロピーSを生成することができる。MCU 22は、エントロピーに対するリクエストを含むセキュリティコマンドCsをコントローラ100へ送信することができる。一つの実施形態においては、リクエストに応じて、コントローラ100は、PUFユニット105内のランダムビットプールからランダムビットシーケンスを抽出し、かつ、真の乱数TRNを生成するよう乱数発生器102に指示することができる。そして、暗号エンジン200は、抽出されたランダムビットシーケンスを用いて真の乱数TRNをマスクすることができ、エントロピーSを生成し、かつ、エントロピーSをMCU 12へ送信する。真の乱数TRN、抽出されたランダムビットシーケンス、およびエントロピーSは、長さが等しくてよい。別の実施形態において、暗号エンジン200は、エントロピーSを生成し、かつ、エントロピーSをMCU 12へ送信するように、事前設定された期間、例えば3クロックサイクルで、真の乱数TRN内の複数のビットをエントロピービットの中へ結合することによってエントロピーSを生成することができる。エントロピーSは、真の乱数TRNの長さよりも短くてよい。さらに別の実施形態において、暗号エンジン200は、エントロピーSを生成し、かつ、エントロピーSをMCU 12へ送信するように、事前設定された期間で抽出されたランダムビットシーケンス内の複数のビットをエントロピービットの中へ結合することによってエントロピーSを生成することができる。エントロピーSは、抽出されたランダムビットシーケンスの長さよりも短くてよい。
暗号エンジン200は、ハードウェアによって実装されるので、認証プロセスは、より速く、かつ、より効率的な方法で実行され得る。さらに、暗号エンジン200はメモリデバイス20内に配置されているため、認証プロセスで使用する全ての認証データは、外部回路に対して曝されることなく、メモリデバイス20内に保持することができ、セキュリティレベルを高めている。暗号システム2は、暗号エンジン200および認証コード220を使用して、認証プロセスの動作速度および効率を高め、認証キーが外部回路に対して曝されるリスクを低減し、データを不正アクセスから保護し、そして、MCU 22のデータ処理リソースを節約する。
図3は、本発明の別の実施形態に従った暗号システム3のブロック図である。暗号システム3は、MCU 32が認証コード220を有さなくてよく、かつ、メモリデバイス30が暗号プロセッサ300をさらに含んでよいという点で、暗号システム2とは異なっている。以下の説明は、暗号プロセッサ300の構成および動作についてフォーカスする。暗号プロセッサ300は、暗号エンジン200に結合されてよい。
暗号プロセッサ300は、認証動作のシーケンスを指示する回路を含むことができ、それによって、認証プロセスの動作速度および効率をさらに高めている。コントローラ100は、認証プロセスを開始するためにセキュリティコマンドCsを受信することができる。コントローラ100は、セキュリティコマンドCsに応じて、認証プロセスを開始するように暗号プロセッサ300に指示することができる。次に、暗号プロセッサ300は、認証動作のシーケンスを実行するように暗号エンジンに指示することができる。続いて、暗号エンジン200は、認証結果を生成するために、認証動作のシーケンスを実行することができる。コントローラ100は、認証結果に従ってメモリアレイ106へのデータアクセスを制御することができる。特に、コントローラ100は、認証プロセスが成功した際にメモリアレイ106に対するデータアクセスを承認することができ、かつ、認証プロセスが失敗した際にメモリアレイ106に対するデータアクセスを拒否することができる。
暗号プロセッサ300は、エントロピーSおよび抽出されたランダムビットシーケンスを使用することによってキーKを生成することができる。MCU 32は、キーに対するリクエストを含むセキュリティコマンドCsをコントローラ100へ送信することができる。リクエストに応じて、コントローラ100は、PUFユニット105内のランダムビットプールからランダムビットシーケンスを抽出し、かつ、エントロピーSを生成するように暗号エンジン200に指示することができる。そして、暗号エンジン200は、抽出されたランダムビットシーケンスを用いてエントロピーSをマスクすることができ、キーKを生成し、かつ、キーKをMCU 12へ送信する。エントロピーS、抽出されたランダムビットシーケンス、およびキーKは、長さが等しくてよい。
暗号プロセッサ300および暗号エンジン200は、両方ともハードウェアによって実装されるので、認証プロセスは、より速く、かつ、より効率的な方法で実行され得る。暗号プロセッサ300および暗号エンジン200は、両方ともメモリデバイス30内に配置されるので、認証プロセスにおいて使用する全ての認証データは、外部回路に対して曝されることなく、メモリデバイス30内に保持することができ、セキュリティレベルを高めている。暗号システム3は、暗号プロセッサ300を使用して、認証プロセスの動作速度および効率を高め、認証キーが外部回路に対して曝されるリスクを低減し、データを不正アクセスから保護し、そして、MCU 32のデータ処理リソースを節約する。
当業者であれば、本発明の教示を保持しつつ、装置および方法に係る多くの変更および代替がなされ得ることを容易に気付くであろう。従って、上記の開示は、添付の請求項の範囲境界によってだけ限定されるものとして解釈されるべきである。
10、20、30 メモリデバイス
100 コントローラ
200 暗号エンジン
300 暗号プロセッサ

Claims (11)

  1. ランダムビットプールを提供するように構成された物理複製困難関数(PUF)ユニットと、
    前記PUFユニットに結合されており、かつ、前記ランダムビットプールからランダムビットシーケンスを抽出するように構成されたコントローラであり、
    キー派生関数(key derivation function)を実行するように構成されており、前記抽出されたランダムビットシーケンスを伸張し、かつ、入力信号をマスクする、マスキングエンジンを有する、
    コントローラと、
    前記マスキングエンジンに結合されており、かつ、前記マスクされた入力信号に応じて保管するように構成されたメモリアレイと、
    を含み、
    前記入力信号は、アクセスアドレスおよびデータシーケンスを含み、
    前記マスキングエンジンは、派生キー(derived key)を生成するために、前記伸張されたランダムビットシーケンスを用いて前記アクセスアドレスをマスクし、次いで、マスクされたデータシーケンスを生成するために、前記派生キーを用いて前記データシーケンスをマスクする、メモリデバイス。
  2. ランダムビットプールを提供するように構成された物理複製困難関数(PUF)ユニットと、
    前記PUFユニットに結合されており、かつ、前記ランダムビットプールからランダムビットシーケンスを抽出するように構成されたコントローラであり、
    キー派生関数(key derivation function)を実行するように構成されており、前記抽出されたランダムビットシーケンスを伸張し、かつ、入力信号をマスクする、マスキングエンジンを有する、
    コントローラと、
    前記マスキングエンジンに結合されており、かつ、前記マスクされた入力信号に応じて保管するように構成されたメモリアレイと、
    を含み、
    前記入力信号は、アクセスアドレスおよびデータシーケンスを含み、
    前記マスキングエンジンは、派生キー(derived key)を生成するために、前記伸張されたランダムビットシーケンスを用いて前記データシーケンスをマスクし、次いで、マスクされたアクセスアドレスを生成するために、前記派生キーを用いて前記アクセスアドレスをマスクする、メモリデバイス。
  3. 前記メモリアレイは、前記マスクされたデータシーケンスを前記アクセスアドレスに保管する、
    請求項に記載のメモリデバイス。
  4. 前記メモリアレイは、前記データシーケンスを前記マスクされたアクセスアドレスに保管する、
    請求項に記載のメモリデバイス。
  5. 前記コントローラは、さらに、
    前記抽出されたランダムビットシーケンスに従ってユニーク識別子を生成するように構成された、ユニーク識別子(UID)ユニット、
    を含む、請求項1又は2に記載のメモリデバイス。
  6. 前記コントローラは、さらに、
    前記PUFユニットに結合されており、かつ、抽出されたランダムビットシーケンスを用いて真の乱数を生成するように構成された、乱数発生器、
    を含む、請求項1又は2に記載のメモリデバイス。
  7. 前記コントローラは、さらに、
    前記コントローラに結合されており、かつ、前記抽出されたランダムビットシーケンス、及び/又は、前記真の乱数を使用してエントロピーを生成するように構成された、暗号エンジン、
    を含む、請求項に記載のメモリデバイス。
  8. 前記コントローラは、さらに、
    前記暗号エンジンに結合されており、かつ、前記エントロピーおよび前記抽出されたランダムビットシーケンスを使用してキーを生成するように構成された、暗号プロセッサ、
    を含む、請求項に記載のメモリデバイス。
  9. 前記PUFユニット、前記メモリアレイ、および、前記コントローラは、集積回路において形成されている、
    請求項1又は2に記載のメモリデバイス。
  10. 前記PUFユニットは、ワンタイムプログラマブルメモリを含む、
    請求項1又は2に記載のメモリデバイス。
  11. 前記コントローラは、セキュリティコマンドを受信し、かつ、前記セキュリティコマンドに従って、前記メモリアレイへのデータアクセスを制御するように構成されている、
    請求項1又は2に記載のメモリデバイス。
JP2020116747A 2019-08-16 2020-07-07 データセキュリティを提供するメモリデバイス Active JP6991493B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962887679P 2019-08-16 2019-08-16
US62/887,679 2019-08-16
US16/896,244 US20210051010A1 (en) 2019-08-16 2020-06-09 Memory Device Providing Data Security
US16/896,244 2020-06-09

Publications (2)

Publication Number Publication Date
JP2021034029A JP2021034029A (ja) 2021-03-01
JP6991493B2 true JP6991493B2 (ja) 2022-01-12

Family

ID=71120027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020116747A Active JP6991493B2 (ja) 2019-08-16 2020-07-07 データセキュリティを提供するメモリデバイス

Country Status (5)

Country Link
US (1) US20210051010A1 (ja)
EP (1) EP3780489A1 (ja)
JP (1) JP6991493B2 (ja)
CN (1) CN112395654A (ja)
TW (1) TWI741669B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220385451A1 (en) * 2021-05-26 2022-12-01 Micron Technology, Inc. Data invalidation for memory
US11907409B2 (en) * 2021-09-29 2024-02-20 Dell Products L.P. Dynamic immutable security personalization for enterprise products
CN115987589B (zh) * 2022-12-14 2023-08-29 深圳市富临通实业股份有限公司 一种防止mcu内部程序被复制的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003431A (ja) 2011-06-20 2013-01-07 Renesas Electronics Corp 半導体装置及び半導体装置へのデータ書き込み方法
JP2015012409A (ja) 2013-06-28 2015-01-19 ルネサスエレクトロニクス株式会社 半導体集積回路及びシステム
JP2015097072A (ja) 2013-10-11 2015-05-21 富士電機株式会社 組込システム
JP2017011678A (ja) 2015-06-18 2017-01-12 パナソニックIpマネジメント株式会社 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
US20180278418A1 (en) 2016-08-04 2018-09-27 Macronix International Co., Ltd. Physical unclonable function for security key
JP2019054504A (ja) 2017-09-12 2019-04-04 力旺電子股▲ふん▼有限公司eMemory Technology Inc. エントロピービットを用いたセキュリティシステム
JP2019122046A (ja) 2018-01-10 2019-07-22 力旺電子股▲分▼有限公司 物理的複製困難関数技術を用いたエンタングルメント・リコールシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US9430406B2 (en) * 2012-10-04 2016-08-30 Intrinsic Id B.V. System for generating a cryptographic key from a memory used as a physically unclonable function
WO2017021254A1 (en) * 2015-08-06 2017-02-09 Intrinsic Id B.V Cryptographic device having physical unclonable function
US10910079B2 (en) * 2016-05-09 2021-02-02 Intrinsic Id B.V. Programming device arranged to obtain and store a random bit string in a memory device
US10855477B2 (en) * 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10761976B2 (en) * 2016-11-28 2020-09-01 Arm Limited Method and apparatus for memory wear leveling
US10664413B2 (en) * 2017-01-27 2020-05-26 Lear Corporation Hardware security for an electronic control unit
US10462110B2 (en) * 2017-02-16 2019-10-29 Intel Corporation System, apparatus and method for providing a unique identifier in a fuseless semiconductor device
US20190044922A1 (en) * 2017-08-02 2019-02-07 Rubicon Labs, Inc. Symmetric key identity systems and methods
US11196574B2 (en) * 2017-08-17 2021-12-07 Taiwan Semiconductor Manufacturing Company, Ltd. Physically unclonable function (PUF) generation
US10915464B2 (en) * 2017-09-12 2021-02-09 Ememory Technology Inc. Security system using random number bit string
US10937339B2 (en) * 2019-01-10 2021-03-02 Bank Of America Corporation Digital cryptosystem with re-derivable hybrid keys

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003431A (ja) 2011-06-20 2013-01-07 Renesas Electronics Corp 半導体装置及び半導体装置へのデータ書き込み方法
JP2015012409A (ja) 2013-06-28 2015-01-19 ルネサスエレクトロニクス株式会社 半導体集積回路及びシステム
JP2015097072A (ja) 2013-10-11 2015-05-21 富士電機株式会社 組込システム
JP2017011678A (ja) 2015-06-18 2017-01-12 パナソニックIpマネジメント株式会社 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
US20180278418A1 (en) 2016-08-04 2018-09-27 Macronix International Co., Ltd. Physical unclonable function for security key
JP2019054504A (ja) 2017-09-12 2019-04-04 力旺電子股▲ふん▼有限公司eMemory Technology Inc. エントロピービットを用いたセキュリティシステム
JP2019122046A (ja) 2018-01-10 2019-07-22 力旺電子股▲分▼有限公司 物理的複製困難関数技術を用いたエンタングルメント・リコールシステム

Also Published As

Publication number Publication date
CN112395654A (zh) 2021-02-23
TWI741669B (zh) 2021-10-01
US20210051010A1 (en) 2021-02-18
JP2021034029A (ja) 2021-03-01
TW202109335A (zh) 2021-03-01
EP3780489A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
JP6991493B2 (ja) データセキュリティを提供するメモリデバイス
KR102182894B1 (ko) 패스워드 기반의 인증을 수행하는 사용자 장치 및 그것의 패스워드 등록 방법 및 인증 방법
KR20090007123A (ko) 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템
CN109558340B (zh) 一种基于可信认证的安全固态盘加密系统及方法
US10057224B2 (en) System and method for initializing a shared secret system
JP2012501579A (ja) セキュアなメモリに応用するメッセージ認証コードの事前計算
JP2017504267A (ja) セキュアブート中のキー抽出
CN113079001B (zh) 密钥更新方法、信息处理设备及密钥更新装置
CN108369626B (zh) 用于生成密钥的系统和方法以及非暂时性计算机可读介质
TWI644229B (zh) 採加密技術之數據中心與數據中心操作方法
KR102364649B1 (ko) Puf 기반 사물인터넷 디바이스 인증 장치 및 방법
CN114662135A (zh) 数据访问方法、计算机设备及可读存储介质
US20210406407A1 (en) Block chain based validation of memory commands
JP4724107B2 (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
US20140258729A1 (en) Stored Authorization Status for Cryptographic Operations
JP6246516B2 (ja) 情報処理システム
JP2022527903A (ja) ネットワークにアクセスする際の安全な通信
CN108270767B (zh) 数据验证方法
TW202005325A (zh) 通訊系統及通訊系統的操作方法
CN114626020A (zh) 用来控制装置激活的方法以及相关电子装置
US11626982B1 (en) Systems and methods for maintaining confidentiality, integrity, and authenticity of the last secret
JP6069120B2 (ja) 情報処理システム
US20240126894A1 (en) Verifying the authenticity of storage devices
US20230421378A1 (en) Portable Encryption Device With Multiple Keys
KR101617089B1 (ko) 인증을 이용하여 보안을 강화하는 비휘발성 메모리 칩 및 이를 이용한 데이터 보안 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211126

R150 Certificate of patent or registration of utility model

Ref document number: 6991493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150