JP2023045455A - メモリシステムおよび乱数生成装置 - Google Patents

メモリシステムおよび乱数生成装置 Download PDF

Info

Publication number
JP2023045455A
JP2023045455A JP2021153871A JP2021153871A JP2023045455A JP 2023045455 A JP2023045455 A JP 2023045455A JP 2021153871 A JP2021153871 A JP 2021153871A JP 2021153871 A JP2021153871 A JP 2021153871A JP 2023045455 A JP2023045455 A JP 2023045455A
Authority
JP
Japan
Prior art keywords
sequence
value
random bits
length
threshold
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.)
Pending
Application number
JP2021153871A
Other languages
English (en)
Inventor
隼平 二木
Jumpei Futaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2021153871A priority Critical patent/JP2023045455A/ja
Priority to US17/685,331 priority patent/US20230091431A1/en
Publication of JP2023045455A publication Critical patent/JP2023045455A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/582Pseudo-random number generators
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0661Format or protocol conversion arrangements
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】安定したセキュリティ強度を有する擬似乱数を生成することができるメモリシステムを実現する。【解決手段】メモリシステムは、不揮発性メモリと、コントローラとを含む。コントローラは、エントロピーソースによって生成された乱数ビットのシーケンスのランダム性を示す値を算出する。コントローラは、算出した値が閾値を上回っている場合、乱数ビットのシーケンスをエントロピー入力として使用して擬似乱数を生成する。コントローラは、算出した値が閾値以下であり、且つ、算出した値が最低目標値を上回っている場合、閾値を更新する処理と、エントロピーソースによって生成されるべき乱数ビットのシーケンスの長さを第1の長さよりも長い第2の長さに変更するようにエントロピーソースに指示する処理とを実行する。【選択図】図7

Description

本発明の実施形態は、不揮発性メモリを制御するメモリシステムおよび乱数生成装置に関する。
近年、不揮発性メモリを制御するメモリシステムが広く普及している。このようなメモリシステムとして、NAND型フラッシュメモリを備えるソリッドステートドライブ(SSD)が知られている。SSDは、様々なコンピュータにおいて使用されている。
SSDのようなメモリシステムにおいては、不揮発性メモリに記憶されたデータを保護するために乱数生成機構が使用される場合がある。
乱数生成機構は、例えば、エントロピーソースによって生成される乱数ビットのシーケンスをエントロピー入力として使用して、擬似乱数を生成する。生成される擬似乱数のセキュリティ強度(ランダム性)は、エントロピー入力のランダム性に依存する。
しかしながら、エントロピー入力のランダム性は、例えば、エントロピーソースの経年劣化によって低下する可能性がある。
このため、安定したセキュリティ強度を有する擬似乱数を生成可能な新たな技術の実現が必要とされている。
米国特許出願公開第2020/0151077号明細書 米国特許第10,754,619号明細書 米国特許出願公開第2020/0097254号明細書
本発明が解決しようとする課題は、安定したセキュリティ強度を有する擬似乱数を生成できるメモリシステムおよび乱数生成装置を提供することである。
実施形態によれば、ホストに接続可能なメモリシステムは、不揮発性メモリと、前記不揮発性メモリに対するデータの書き込みおよび読み出しを実行するコントローラとを具備する。前記コントローラは、乱数ビットのシーケンスを生成するエントロピーソースを含む。前記コントローラは、前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、前記エントロピーソースによって生成される前記乱数ビットのシーケンスのランダム性を示す値を算出する。前記コントローラは、前記算出した値が閾値を上回っている場合、前記乱数ビットのシーケンスをエントロピー入力として使用して擬似乱数を生成する。前記コントローラは、前記算出した値が前記閾値以下であり、且つ、前記算出した値が前記乱数ビットのシーケンスのランダム性に関する最低目標値を上回っている場合、前記閾値を第1の値から前記第1の値よりも小さい第2の値に更新する処理と、前記エントロピーソースによって生成されるべき前記乱数ビットのシーケンスの長さを、前記第1の値を有する前記閾値に対応する第1の長さよりも長い、前記第2の値を有する前記更新された閾値に対応する第2の長さに変更するように前記エントロピーソースに指示する処理とを実行する。前記コントローラは、前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、前記エントロピーソースによって生成された前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す値を算出する。前記コントローラは、前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記更新された閾値を上回っている場合、前記エントロピーソースによって生成された前記第2の長さを有する前記乱数ビットのシーケンスを前記エントロピー入力として使用して擬似乱数を生成する。
本発明の第1実施形態に係るメモリシステムを含む情報処理システムの構成例を示すブロック図。 本発明の第1実施形態に係る不揮発性メモリの内部構成の例を示すブロック図。 本発明の第1実施形態に係るCPUの機能構成を示すブロック図。 本発明の第1実施形態に係るメモリシステムを含む情報処理システムの別の構成例を示すブロック図。 本発明の第1実施形態に係るCPUの別の機能構成を示すブロック図。 本発明の第1実施形態に係るメモリシステムによって使用される、閾値と乱数ビット長との間の対応関係を示す図。 本発明の第1実施形態に係るランダム性評価処理を実行する際に自己テスト部に入力されるエントロピー入力と閾値と、閾値更新処理を実行する際に自己テスト部から出力される更新された閾値と、乱数ビット長更新処理を実行する際に自己テスト部から出力される、更新された乱数ビット長とを示すブロック図。 本発明の第1実施形態に係る暗号化処理を実行する際にメモリシステムの暗号化部に入力されるデータおよび暗号鍵と、復号処理を実行する際にメモリシステムの復号部に入力される暗号化データおよび暗号鍵とを示すブロック図。 本発明の第1実施形態に係るメモリシステムの認証処理部から発行されるPINと、認証処理部に入力されるPINとを示すブロック図。 本発明の第1実施形態に係るメモリシステムにおいて実行される、擬似乱数生成処理の手順を示すフローチャート。 本発明の第2実施形態に係る乱数生成装置の構成例を示すブロック図。 本発明の第2実施形態に係る乱数生成装置に含まれるCPUの機能構成を示すブロック図。 本発明の第2実施形態に係る乱数生成装置の別の構成例を示すブロック図。 本発明の第2実施形態に係る本実施形態に係る乱数生成装置に含まれるCPUの別の機能構成を示すブロック図。
以下、図面を参照して、本発明の実施形態を説明する。
(第1実施形態)
まず、本発明の第1実施形態に係るメモリシステムの構成について説明する。図1は、本発明の第1実施形態に係るメモリシステムを含む情報処理システムの構成例を示すブロック図である。情報処理システム1は、ホスト(ホストデバイス)2と、メモリシステム3とを含む。ホスト(ホストデバイス)2と、メモリシステム3とは、バス7を介して接続可能である。バス7を介したホスト2とメモリシステム3との間の通信は、例えば、NVM ExpressTM(NVMeTM)規格に準拠して実行される。
ホスト2は、情報処理装置である。ホスト2は、例えば、パーソナルコンピュータ、またはサーバコンピュータである。ホスト2は、メモリシステム3にアクセスする。具体的には、ホスト2は、データを書き込むためのコマンドであるライトコマンドをメモリシステム3に送信する。また、ホスト2は、データを読み出すためのコマンドであるリードコマンドをメモリシステム3に送信する。
メモリシステム3は、ストレージデバイスである。メモリシステム3は、例えば、NAND型フラッシュメモリを含むSSDである。メモリシステム3は、バス7を介して、ホスト2に接続可能である。
バス7は、例えば、PCI ExpressTMバス(PCIeTMバス)である。バス7は、主として、ホスト2からメモリシステム3へのI/Oコマンドおよび管理コマンドの送信、およびメモリシステム3からホスト2への応答の送信のために使用される。I/Oコマンドは、不揮発性メモリに対するデータの書き込みまたは読み出しを行うためのコマンドである。I/Oコマンドとしては、例えば、ライトコマンド、リードコマンドがある。管理コマンドは、メモリシステム3を管理するためのコマンドである。管理コマンドは、例えば、NVMe規格で規定されたAdminコマンドである。管理コマンドとしては、例えば、暗号鍵の変更を指示するコマンドがある。
次に、ホスト2の内部構成を説明する。ホスト2は、プロセッサ21と、メモリ22とを含む。また、ホスト2は、図示しないストレージデバイスをさらに含んでいてもよい。
プロセッサ21は、CPU(Central Processing Unit)である。プロセッサ21は、バス7を介してメモリシステム3との通信を行う。プロセッサ21は、メモリ22にロードされるソフトウェア(ホストソフトウェア)を実行する。ホストソフトウェアは、メモリシステム3、または、ホスト2のストレージデバイスから、メモリ22にロードされる。ホストソフトウェアは、オペレーティングシステム、ファイルシステム、デバイスドライバ、アプリケーションプログラムなどを含む。
メモリ22は、揮発性のメモリである。メモリ22は、例えば、DRAM(Dynamic Random Access Memory)のようなランダムアクセスメモリである。
次に、メモリシステム3の内部構成を説明する。メモリシステム3は、コントローラ4と、不揮発性メモリ5と、ランダムアクセスメモリ(RAM)6とを含む。
コントローラ4は、メモリコントローラである。コントローラ4は、例えば、System-on-a-Chip(SoC)のような制御回路である。コントローラ4は、不揮発性メモリ5と通信可能に接続されている。コントローラ4は、不揮発性メモリ5に対するデータの書き込みおよび読み出しを実行する。また、コントローラ4は、バス7を介して外部デバイスとの通信を実行する。
不揮発性メモリ5は、不揮発性のメモリである。不揮発性メモリ5は、例えば、NAND型フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、PRAM(Phase Change Random Access Memory)、ReRAM(Resistive Random Access Memory)、又は、FeRAM(Ferroelectric Random Access Memory)である。不揮発性メモリ5がNAND型フラッシュメモリである場合、不揮発性メモリ5は、例えば、2次元構造のフラッシュメモリ、または3次元構造のフラッシュメモリである。
RAM6は、揮発性のメモリである。RAM6は、例えば、ダイナミックRAM(DRAM)である。
次に、コントローラ4の内部構成について説明する。コントローラ4は、ホストインタフェース回路11、CPU12、不揮発性メモリ制御回路13、RAMインタフェース回路14、直接メモリアクセスコントローラ(DMAC)15、エントロピーソース16、および擬似乱数生成部17を含む。また、コントローラ4は、暗号化/復号部18をさらに含んでいてもよい。ホストインタフェース回路11、CPU12、不揮発性メモリ制御回路13、RAMインタフェース回路14、DMAC15、エントロピーソース16、擬似乱数生成部17、および暗号化/復号部18は内部バス10に接続されている。
ホストインタフェース回路11は、ハードウェアインターフェースである。ホストインタフェース回路11は、外部デバイスとの通信を実行する。ホストインタフェース回路11は、ホスト2から様々なコマンドを受信する。様々なコマンドは、例えば、I/Oコマンドおよび管理コマンドである。
CPU12は、プロセッサである。CPU12は、ホストインタフェース回路11、不揮発性メモリ制御回路13、RAMインタフェース回路14、DMAC15、エントロピーソース16、擬似乱数生成部17、および暗号化/復号部18を制御する。CPU12は、メモリシステム3への電力の供給に応じて図示しないROMまたは不揮発性メモリ5から制御プログラム(ファームウェア)をRAM6にロードする。CPU12は、制御プログラム(ファームウェア)を実行することによって様々な処理を行う。CPU12は、例えば、フラッシュトランスレーション層(FTL)として、不揮発性メモリ5に記憶されたデータの管理および不揮発性メモリ5に含まれるブロックの管理を実行する。不揮発性メモリ5に記憶されたデータの管理とは、例えば、論理アドレスそれぞれと物理アドレスそれぞれとの間の対応関係を示すマッピング情報の管理である。論理アドレスは、メモリシステム3にアクセスするためにホスト2によって使用されるアドレスである。論理アドレスは、例えば、LBA(logical block address)である。物理アドレスは、不揮発性メモリ5に含まれる物理的な記憶位置を示すアドレスである。不揮発性メモリ5に含まれるブロックの管理とは、例えば、不揮発性メモリ5に含まれる不良ブロック(バッドブロック)の管理と、ウェアレベリングと、ガベージコレクションである。
不揮発性メモリ制御回路13は、複数の不揮発性メモリチップを制御する回路である。不揮発性メモリ制御回路13は、例えば、複数のチャンネル(Ch)を介して複数の不揮発性メモリチップに接続される。
RAMインタフェース回路14は、RAM6を制御する回路である。RAMインタフェース回路14は、例えば、DRAMを制御する回路である。
DMAC15は、直接メモリアクセス(DMA)を実行する回路である。DMAC15は、ホスト2のメモリ22とRAM6との間のデータ転送を実行する。
エントロピーソース16は、乱数ビットのシーケンスを生成する回路である。エントロピーソース16は、例えば、オシレータである。エントロピーソース16は、例えば、NIST SP 800-90Bのセキュリティ規格に準拠している。エントロピーソース16は、乱数ビット長に基づいて、乱数ビットのシーケンスを生成する。乱数ビット長は、乱数ビットのシーケンスの長さを表す数値である。例えば、乱数ビット長は、不揮発性メモリ5に記憶されている。エントロピーソース16は、不揮発性メモリ5から乱数ビット長を取得することによって、生成する乱数ビットのシーケンスの長さを決定する。
擬似乱数生成部17は、擬似乱数を生成する回路である。擬似乱数生成部17は、例えば、NIST SP 800-90Aのセキュリティ規格に準拠する決定論的乱数ビット生成器(Deterministic Random Bit Generator:DRBG)である。擬似乱数生成部17は、エントロピーソース16によって生成される乱数ビットのシーケンスをエントロピー入力として使用して、擬似乱数を生成する。擬似乱数生成部17によって生成される擬似乱数のセキュリティ強度は、エントロピー入力のランダム性と、エントロピー入力の長さに依存する。
暗号化/復号部18は、暗号化処理および復号処理を実行する回路である。暗号化処理および復号処理は、暗号化/復号部18によって管理されている暗号鍵を使用して実行される。暗号化/復号部18によって管理されている暗号鍵は、例えば、擬似乱数生成部17によって生成された擬似乱数である。暗号化/復号部18は、暗号化部181と、復号部182を含む。暗号化部181は、暗号鍵を使用して、不揮発性メモリ5に書き込まれるべきデータを暗号化する。また、復号部182は、暗号化/復号部18によって管理されている暗号鍵を使用して、不揮発性メモリ5から読み出した暗号化データを復号する。
次に、不揮発性メモリ5の内部構成の一例について説明する。図2は、本発明の第1実施形態に係るメモリシステムに含まれる不揮発性メモリの内部構成の例を示すブロック図である。
不揮発性メモリ5は、複数のブロックBLK0~BLKx-1を含む。ブロックBLK0~BLKx-1の各々は、データ消去動作の単位である。データ消去動作は、データを消去する動作である。ブロックBLK0~BLKx-1の各々は、物理ブロック、消去ブロック、フラッシュブロック、またはメモリブロックとも称される。ブロックBLK0~BLKx-1の各々は、複数のページP0~Py-1を含む。ページP0~Py-1の各々は、データ書き込み動作およびデータ読み出し動作の単位である。データ書き込み動作は、データを書き込むための動作である。データ読み出し動作は、データを読み出すための動作である。ページP0~Py-1の各々は、同一ワード線に接続された複数のメモリセルを含む。
次に、CPU12の機能構成について説明する。図3は、本発明の第1実施形態に係るメモリシステムに含まれるCPUの機能構成を示すブロック図である。
CPU12は、自己テスト部121を含む。自己テスト部121の一部または全ては、コントローラ4の別のハードウェアによって実現されてもよい。
自己テスト部121は、ランダム性評価部1211と、閾値更新部1212と、乱数ビット長更新部1213とを含む。
ランダム性評価部1211は、エントロピーソース16によって生成された乱数ビットのシーケンスのランダム性を示す値を算出する。ランダム性評価部1211は、例えば、乱数ビットのシーケンスのミニマムエントロピーを、乱数ビットのシーケンスのランダム性を示す値として算出する。そして、ランダム性評価部1211は、算出した値を閾値と比較する。閾値は、乱数ビットのシーケンスのランダム性を評価するために使用される基準値である。算出した値が閾値を上回っていた場合、ランダム性評価部1211は、エントロピーソース16によって生成される乱数ビットのシーケンスを擬似乱数生成部17に入力する。算出された値が閾値以下である場合、ランダム性評価部1211は、エントロピーソース16によって生成される乱数ビットのシーケンスを擬似乱数生成部17に入力せずに、閾値更新部1212に閾値を低い値に更新するように指示する。
閾値更新部1212は、閾値を更新する。閾値更新部1212は、ランダム性評価部1211の指示に応じて、閾値が現在の値よりも小さい値になるように閾値を更新する。そして、閾値更新部1212は、更新された閾値を乱数ビット長更新部1213に通知する。
乱数ビット長更新部1213は、閾値が低い値に更新されると、生成される乱数ビットのシーケンスの長さが長くなるように、乱数ビット長を大きくする。
さらにCPU12は、認証処理部122を含んでいてもよい。認証処理部122の一部または全ては、コントローラ4の別のハードウェアによって実現されてもよい。
認証処理部122は、擬似乱数生成部17によって生成される擬似乱数を識別情報として使用して、認証処理を実行する。認証処理とは、ホスト2が、不揮発性メモリ5に記憶されている保護されたデータをアクセスする権限を有するホストであるか否かを確認する処理である。認証処理部122は、擬似乱数生成部17によって生成される擬似乱数を識別情報としてホスト2に通知する。そして、認証処理部122は、ホスト2によってメモリシステム3に入力される識別情報がホスト2に通知した識別情報に一致するか否かに基づいて、ホスト2に対する認証処理を実行する。
次に、第1実施形態に係るメモリシステム3の別の構成例について説明する。図4は、本発明の第1実施形態に係るメモリシステムを含む情報処理システムの別の構成例を示すブロック図である。そして、図5は、本発明の第1実施形態に係るメモリシステムに含まれるCPUの別の機能構成を示すブロック図である。
別の構成例におけるメモリシステム3に含まれるほとんど全ての構成要素は、図1、図3および図3で説明したメモリシステム3と同じである。そのため、異なる点のみに注目して説明する。
別の構成例におけるメモリシステム3では、コントローラ4は、擬似乱数生成部17を含んでいない。別の構成例におけるメモリシステム3では、CPU12は、擬似乱数生成部123を含む。
擬似乱数生成部123によって実行される処理は擬似乱数生成部17によって実行される処理と同じである。擬似乱数生成部123によって実行される処理の説明は省略する。
以降、擬似乱数が、コントローラ4の構成要素である擬似乱数生成部17によって生成される場合を説明する。
次に、閾値更新部1212によって更新される閾値と、乱数ビット長更新部1213によって更新される乱数ビットのシーケンスの長さとの対応関係について説明する。図6は、本発明の第1実施形態に係るメモリシステムによって使用される、閾値と乱数ビット長との間の対応関係を示す図である。閾値Th2は閾値Th1よりも小さく、閾値Th3は閾値Th2よりも小さい。
32[byte]を示す乱数ビット長は閾値Th1に対応する。64[byte]を示す乱数ビット長は閾値Th2に対応する。128[byte]を示す乱数ビット長は閾値Th3に対応する。
図7は、本発明の第1実施形態に係るランダム性評価処理を実行する際に自己テスト部に入力されるエントロピー入力と閾値と、閾値更新処理を実行する際に自己テスト部から出力される更新された閾値と、乱数ビット長更新処理を実行する際に自己テスト部から出力される、更新された乱数ビット長とを示すブロック図である。
エントロピー入力は、エントロピーソース16によって生成される、乱数ビットのシーケンスである。エントロピー入力の長さは、乱数ビット長に基づいて決定される。エントロピー入力は、エントロピーソース16によって、自己テスト部121のランダム性評価部1211に入力される。
ランダム性評価部1211は、エントロピーソース16が生成したエントロピー入力の、ランダム性を示す値を算出する。そして、ランダム性評価部1211は、閾値と、算出した値とを比較する。閾値は、あらかじめ不揮発性メモリ5から読み出す。
算出した値が読み出した閾値を上回っていた場合、ランダム性評価部1211は、エントロピーソース16が生成したエントロピー入力を擬似乱数生成部17に入力する。
擬似乱数生成部17は、入力されたエントロピー入力を使用して、擬似乱数を生成する。
算出した値が読み出した閾値以下である場合、ランダム性評価部1211は、エントロピー入力を擬似乱数生成部17に入力せずに、閾値を更新するように閾値更新部1212に指示する。なお、算出した値がエントロピー入力のランダム性に関する最低目標値以下である場合には、ランダム性評価部1211は、閾値更新部1212に閾値の更新を指示せずに、エラーが発生したことをホスト2に通知する。そして、ランダム性評価部1211は、メモリシステム3をエラー状態に設定する。エラー状態に設定されたメモリシステム3は、ホスト2からI/Oコマンドを受け付けない状態になる。最低目標値は、許容されるランダム性の下限値である。
閾値の更新が指示されると、閾値更新部1212は、閾値を更新する。更新された閾値は、現在の閾値の値よりも小さい値である。閾値更新部1212は、更新した閾値を不揮発性メモリ5に書き込む。閾値は、予め決められた最大値から予め決められた最小値までの範囲に属する複数の値の間で更新される。閾値の最小値は、エントロピー入力のランダム性に関する最低目標値よりも所定量だけ高い値に設定されていてもよい。更新した閾値を不揮発性メモリ5に書き込むと、閾値更新部1212は、更新した閾値を乱数ビット長更新部1213に通知する。
更新された閾値が通知された乱数ビット長更新部1213は、更新された閾値に基づいて、乱数ビット長を更新する。この場合、乱数ビット長更新部1213は、更新された閾値に対応する乱数ビット長を決定する。乱数ビット長更新部1213は、決定した乱数ビット長を不揮発性メモリ5に書き込むことによって、乱数ビット長を更新する。そして、乱数ビット長更新部1213は、更新した乱数ビット長を、エントロピーソース16に通知する。更新された乱数ビット長は、現在の乱数ビット長よりも大きい値である。
エントロピーソース16は、更新された乱数ビット長によって示される長さを有する乱数ビットのシーケンスをエントロピー入力として生成する。エントロピーソース16は、生成したエントロピー入力を、自己テスト部121のランダム性評価部1211に入力する。
このようにして、ランダム性評価部1211によって算出された値がエントロピー入力のランダム性に関する最低目標値を上回っている間は、算出された値の低下に応じて、閾値と、乱数ビット長とが動的に更新される。よって、エントロピーソース16によってエントロピー入力として生成された乱数ビットのシーケンスのランダム性が低下した場合であっても、自己テスト部121は、エラーの発生を招くことなく、擬似乱数生成部17が生成する擬似乱数のセキュリティ強度を維持させることができる。
ここで、擬似乱数生成部17によって生成される擬似乱数について説明する。擬似乱数生成部17によって生成される擬似乱数の値は、擬似乱数生成部17の現在の内部状態と算術的アルゴリズムとに基づいて決定される。擬似乱数生成部17の現在の内部状態は、複数の内部状態の間で遷移される。擬似乱数生成部17の初期の内部状態は、エントロピー入力に基づいて決定される。エントロピー入力が十分なランダム性を有している場合、擬似乱数生成部17は、予測不可能性を有する擬似乱数を生成することができる。予測不可能性を有する擬似乱数は、暗号学的擬似乱数と称される。つまり、エントロピーソース16によって生成される乱数ビットのシーケンスが十分なランダム性を有している場合、擬似乱数生成部17は暗号学的擬似乱数生成器(cryptographic random bit generator)として機能することができる。この場合、擬似乱数生成部17によって生成される擬似乱数は、十分なセキュリティ強度を有する。擬似乱数生成部17によって生成される擬似乱数は、不揮発性メモリ5に記憶されたデータを保護するために使用される。具体的には、擬似乱数生成部17によって生成される擬似乱数は、例えば、暗号化/復号部18で使用される暗号鍵、またはPIN(Personal Identification Number)として使用される。PINは、認証処理で使用される識別情報である。
次に、暗号化/復号部18によって実行される暗号化処理および復号処理について説明する。図8は、本発明の第1実施形態に係る暗号化処理を実行する際に暗号化部に入力されるデータおよび暗号鍵と、復号処理を実行する際にメモリシステムの復号部に入力される暗号化データおよび暗号鍵とを示すブロック図である。
暗号化/復号部18がデータを受信すると、暗号化/復号部18の暗号化部181は、不揮発性メモリ5から暗号鍵を読み出す。暗号化/復号部18が受信するデータは、ホスト2から受信されたライトコマンドに関連付けられたデータであってもよいし、メモリシステム3で使用される内部データであってもよい。暗号化部181は、読み出した暗号鍵を使用して、受信したデータを暗号化する。暗号化部181は、暗号化したデータを、不揮発性メモリ5に書き込む。以上が、暗号化処理である。
暗号化データを不揮発性メモリ5から読み出す際に、復号部182は、不揮発性メモリ5から暗号鍵を読み出す。復号部182は、読み出した暗号鍵を使用して、読み出した暗号化データを復号する。以上が、復号処理である。
次に、認証処理部122によって実行される認証処理について説明する。図9は、本発明の第1実施形態に係るメモリシステムの認証処理部から発行されるPINと、認証処理部に入力されるPINとを示すブロック図である。
例えば、メモリシステム3の出荷後にメモリシステム3に初めて電力が供給された際、認証処理部122のPIN発行部1221は、擬似乱数をホスト2に初期PINとして通知する。初期PINは、ホスト2を識別するために使用される識別情報である。
そして、PIN認証部1222は、ホスト2によってPINが入力された場合、入力されたPINが、PIN発行部1221によって発行された初期PINに一致するか否かを判定する。PINは、コントローラ4に入力される。
入力されたPINと発行した初期PINとが一致した場合、PIN認証部1222は、CPU12にその旨を通知する。通知を受けたCPU12は、その後に入力されるI/Oコマンドに基づいて、不揮発性メモリ5に記憶されている保護されたデータに対するアクセスを実行する。
ホスト2によって入力されたPINとホスト2に発行した初期PINとが一致しない場合、PIN認証部1222は、CPU12にその旨を通知する。通知を受けたCPU12は、不揮発性メモリ5に記憶されている保護されたデータに対するアクセスを実行しない。
次に、擬似乱数生成処理の手順について説明する。図10は、本発明の第1実施形態に係るメモリシステムにおいて実行される、擬似乱数生成処理の手順を示すフローチャートである。
例えば、メモリシステム3の出荷後にメモリシステム3に初めて電力が供給された際、または暗号鍵の変更を指示するコマンドを受信した場合、コントローラ4は、擬似乱数生成処理を開始する(開始)。
コントローラ4の自己テスト部121は、乱数ビットのシーケンスの生成をエントロピーソース16に指示する。これにより、エントロピーソース16は、乱数ビットのシーケンスを生成する(S101)。
自己テスト部121は、S101でエントロピーソース16によって生成された乱数ビットのシーケンスのランダム性を示す値を算出する(S102)。自己テスト部121は、例えば、乱数ビットのシーケンスのランダム性を示す値として、乱数ビットのシーケンスのミニマムエントロピーを算出する。
自己テスト部121は、S102で算出した値が最低目標値を上回っているか否かを判定する(S103)。S103では、自己テスト部121は、S102で算出した値と最低目標値とを比較する。
S102で算出した値が最低目標値を上回っている場合(S103Yes)、自己テスト部121は、S102で算出した値が閾値を上回っているか否かを判定する(S104)。S104では、自己テスト部121は、S102で算出した値と閾値とを比較する。
S102で算出した値が閾値を上回っている場合(S104Yes)、自己テスト部121は、エントロピーソース16が生成した乱数ビットのシーケンスを擬似乱数生成部17に入力する(S105)。
擬似乱数生成部17は、入力された乱数ビットのシーケンスをエントロピー入力として使用して、擬似乱数を生成する(S106)。そして、コントローラ4は、処理を終了する(終了)。
S102で算出した値が最低目標値以下である場合(S103No)、自己テスト部121は、エントロピーソース16の性能の劣化が許容範囲を超えたと判定する。この判定に応じて、コントローラ4は、ホスト2にエラーを通知する(S107)。そして、コントローラ4は、メモリシステム3をエラー状態に設定する(S108)。エラー状態に設定されたメモリシステム3は、ホスト2から受信したI/Oコマンドを実行しない状態になる。そして、コントローラ4は、処理を終了する(終了)。
S102で算出した値が閾値以下である場合(S104No)、自己テスト部121は、閾値を現在の値よりも小さい値に更新する(S109)。自己テスト部121は、更新された閾値を不揮発性メモリ5に書き込む。あるいは、自己テスト部121は、更新された閾値をRAM6に記憶してもよい。更新された閾値をRAM6に記憶した場合は、自己テスト部121は、メモリシステム3の電源断時に、更新された閾値を不揮発性メモリ5に書き込んでもよい。
そして、自己テスト部121は、更新された閾値に基づいて、乱数ビット長を更新する(S110)。自己テスト部121は、更新された閾値に対応する乱数ビット長を決定する。そして、自己テスト部121は、決定した乱数ビット長をエントロピーソース16に通知する。
そして、自己テスト部121は、乱数ビットのシーケンスの生成をエントロピーソース16に指示する。これにより、エントロピーソース16は、S110で更新された乱数ビット長によって示される長さを有する乱数ビットのシーケンスを生成する(S101)。
これにより、乱数ビットのシーケンスのランダム性が低下していても、乱数ビットのシーケンスの長さが長くなっているため、乱数ビットのシーケンスを使用して生成される擬似乱数のセキュリティ強度を維持することができる。
このように、エントロピーソース16の性能が低下していたとしても、エントロピーソース16によって生成された乱数ビットのシーケンスのランダム性を示す値が最低目標値を上回っていれば、閾値を低い値に更新することでエラーを発生させることなく、擬似乱数を生成することができる。そして、閾値を低い値に更新した際には、生成される乱数ビットのシーケンスの長さを長くすることで、生成される擬似乱数のセキュリティ強度を維持することができる。具体的には、閾値が閾値Th1から閾値Th2に更新されると、生成される乱数ビットのシーケンスの長さは、閾値Th1に対応する32バイトの長さから、閾値Th2に対応する64バイトの長さに変更される。また、閾値が閾値Th2から閾値Th3に更新されると、生成される乱数ビットのシーケンスの長さは、閾値Th2に対応する64バイトの長さから、閾値Th3に対応する128バイトの長さに変更される。
(第2実施形態)
次に、本発明の第2実施形態に係る乱数生成装置ついて説明する。第2実施形態に係る乱数生成装置は、第1実施形態に係るメモリシステム3からいくつかの構成要素を省いた形態である。図11は、本発明の第2実施形態に係る乱数生成装置の構成例を示すブロック図である。
乱数生成装置8は、乱数を生成する装置である。乱数生成装置8は、CPU81、不揮発性メモリ82、エントロピーソース83、および擬似乱数生成部84を含む。CPU81、不揮発性メモリ82、エントロピーソース83、および擬似乱数生成部84は、バス80に接続されている。
CPU81は、プロセッサである。CPU81は、不揮発性メモリ82、エントロピーソース83、および擬似乱数生成部84を制御する。CPU81は、制御プログラム(ファームウェア)を実行することによって様々な処理を行う。
不揮発性メモリ82は、不揮発性のメモリである。不揮発性メモリ82は、例えば、EEPROM、またはNAND型フラッシュメモリである。不揮発性メモリ82は、更新された閾値を記憶するために使用される。
エントロピーソース83は、乱数ビットのシーケンスをエントロピー入力として生成する回路である。エントロピーソース83は、乱数ビット長に基づいて、乱数ビットのシーケンスを生成する。乱数ビット長は、乱数ビットのシーケンスの長さを表す数値である。
擬似乱数生成部84は、擬似乱数を生成する回路である。擬似乱数生成部84は、エントロピーソース83によって生成される乱数ビットのシーケンスをエントロピー入力として使用して、擬似乱数を生成する。
次に、CPU81の機能構成について説明する。図12は、本発明の第2実施形態に係る乱数生成装置に含まれるCPUの機能構成を示すブロック図である。
CPU81は、自己テスト部811を含む。そして、自己テスト部811は、ランダム性評価部8111、閾値更新部8112、および乱数ビット長更新部8113を含む。ランダム性評価部8111、閾値更新部8112、および乱数ビット長更新部8113は、ランダム性評価処理、閾値更新処理、および乱数ビット長更新処理を実行する。ランダム性評価処理、閾値更新処理、および乱数ビット長更新処理は、第1実施形態に係るメモリシステム3のコントローラ4によって実行されるランダム性評価処理と、閾値更新処理と、乱数ビット長更新処理と同じである。
また、本発明の第2実施形態に係る乱数生成装置8は、第1実施形態に係るメモリシステム3のコントローラ4によって実行される擬似乱数生成処理と同じ手順で、ランダム性評価処理、閾値更新処理、および乱数ビット長更新処理を含む擬似乱数生成処理を実行する。
次に、第2実施形態に係る乱数生成装置8の別の構成例について説明する。図13は、本発明の第2実施形態に係る乱数生成装置の別の構成例を示すブロック図である。そして、図14は、本発明の第2実施形態に係る本実施形態に係る乱数生成装置に含まれるCPUの別の機能構成を示すブロック図である。
第2実施形態に係る乱数生成装置8の別の構成例に含まれるほとんどの構成要素は、図11および図11で説明した乱数生成装置8と同じである。
別の構成例における乱数生成装置8では、擬似乱数生成部812は、乱数生成装置8の構成要素ではなく、CPU81の機能要素として実装される。
擬似乱数生成部812によって実行される処理は、擬似乱数生成部84によって実行される処理と同じである。
以上説明したように、第1実施形態および第2実施形態によれば、エントロピーソース16によって生成される乱数ビットのシーケンスのランダム性を示す値が算出される。算出された値が乱数ビットのシーケンスのランダム性に関する最低目標値を上回っている間は、算出された値に基づいて、閾値と、乱数ビットのシーケンスの長さとが動的に更新される。エントロピーソース16によって生成される乱数ビットのシーケンスのランダム性は、エントロピーソース16の経年劣化によって低下される可能性がある。また、擬似乱数生成部17によって生成される擬似乱数のセキュリティ強度は、擬似乱数生成部17によってエントロピー入力として使用される乱数ビットのシーケンスのランダム性と、乱数ビットのシーケンスの長さとに基づいて決定される。そのため、算出された値に基づいて、閾値と、乱数ビットのシーケンスの長さとを動的に更新することにより、エントロピーソース16によって生成される乱数ビットのシーケンスのランダム性の変動を確認しつつ、安定したセキュリティ強度を有する擬似乱数を生成することができる。
実施形態は例示であり、発明の範囲はそれらに限定されない。
1 情報処理システム
2 ホスト
3 メモリシステム
4 コントローラ
5 不揮発性メモリ
6 ランダムアクセスメモリ(RAM)
7 バス
8 乱数生成装置
10 バス
11 ホストインタフェース回路
12 CPU
13 不揮発性メモリ制御回路
14 RAMインタフェース回路
15 直接メモリアクセスコントローラ(DMAC)
16 エントロピーソース
17 擬似乱数生成部
18 暗号化/復号部
21 プロセッサ
22 メモリ
80 バス
81 CPU
82 不揮発性メモリ
83 エントロピーソース
84 擬似乱数生成部
121 自己テスト部
122 認証処理部
123 擬似乱数生成部
181 暗号化部
182 復号部
811 自己テスト部
812 擬似乱数生成部
1211 ランダム性評価部
1212 閾値更新部
1213 乱数ビット長更新部
8111 ランダム性評価部
8112 閾値更新部
8113 乱数ビット長更新部

Claims (7)

  1. ホストに接続可能なメモリシステムであって、
    不揮発性メモリと、
    前記不揮発性メモリに対するデータの書き込みおよび読み出しを実行するコントローラと、を具備し、
    前記コントローラは、
    乱数ビットのシーケンスを生成するエントロピーソースを含み、
    前記コントローラは、
    前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、
    前記エントロピーソースによって生成される前記乱数ビットのシーケンスのランダム性を示す値を算出し、
    前記算出した値が閾値を上回っている場合、前記乱数ビットのシーケンスをエントロピー入力として使用して擬似乱数を生成し、
    前記算出した値が前記閾値以下であり、且つ、前記算出した値が前記乱数ビットのシーケンスのランダム性に関する最低目標値を上回っている場合、前記閾値を第1の値から前記第1の値よりも小さい第2の値に更新する処理と、前記エントロピーソースによって生成されるべき前記乱数ビットのシーケンスの長さを、前記第1の値を有する前記閾値に対応する第1の長さよりも長い、前記第2の値を有する前記更新された閾値に対応する第2の長さに変更するように前記エントロピーソースに指示する処理とを実行し、
    前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、
    前記エントロピーソースによって生成された前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す値を算出し、
    前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記更新された閾値を上回っている場合、前記エントロピーソースによって生成された前記第2の長さを有する前記乱数ビットのシーケンスを前記エントロピー入力として使用して擬似乱数を生成するように構成されている
    メモリシステム。
  2. 前記コントローラは、
    前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記更新された閾値以下であり、且つ、前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記最低目標値を上回っている場合、前記更新された閾値を前記第2の値から前記第2の値よりも小さい第3の値に更新する処理と、前記エントロピーソースによって生成されるべき前記乱数ビットのシーケンスの長さを、前記第2の長さよりも長い、前記第3の値を有する前記更新された閾値に対応する第3の長さに変更するように前記エントロピーソースに指示する処理とを実行し、
    前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、
    前記エントロピーソースによって生成された前記第3の長さを有する前記乱数ビットのシーケンスのランダム性を示す値を算出し、
    前記第3の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記第3の値を有する前記更新された閾値を上回っている場合、前記エントロピーソースによって生成された前記第3の長さを有する前記乱数ビットのシーケンスを前記エントロピー入力として使用して擬似乱数を生成するように構成されている、
    請求項1に記載のメモリシステム。
  3. 前記コントローラは、
    前記乱数ビットのシーケンスのランダム性を示す前記算出した値または前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記最低目標値以下である場合、前記ホストにエラーを通知し、前記メモリシステムを、前記ホストから受信したI/Oコマンドを実行しないエラー状態に設定するように構成されている、
    請求項1に記載のメモリシステム。
  4. 前記コントローラは、前記生成された擬似乱数を暗号鍵として使用することによって、前記不揮発性メモリに書き込むべきデータを暗号化するように構成されている、
    請求項1に記載のメモリシステム。
  5. 前記コントローラは、
    前記生成された擬似乱数を識別情報として前記ホストに通知し、
    前記ホストによって入力される識別情報が前記ホストに通知した識別情報に一致するか否かに基づいて、前記ホストに対する認証処理を実行するように構成されている、
    請求項1に記載のメモリシステム。
  6. 乱数ビットのシーケンスを生成するエントロピーソースを含み、前記乱数ビットのシーケンスをエントロピー入力として使用して擬似乱数を生成する乱数生成装置であって、
    前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、
    前記エントロピーソースによって生成される前記乱数ビットのシーケンスのランダム性を示す値を算出し、
    前記算出した値が閾値を上回っている場合、前記乱数ビットのシーケンスをエントロピー入力として使用して擬似乱数を生成し、
    前記算出した値が前記閾値以下であり、且つ、前記算出した値が前記乱数ビットのシーケンスのランダム性に関する最低目標値を上回っている場合、前記閾値を第1の値から前記第1の値よりも小さい第2の値に更新する処理と、前記エントロピーソースによって生成されるべき前記乱数ビットのシーケンスの長さを、前記第1の値を有する前記閾値に対応する第1の長さよりも長い、前記第2の値を有する前記更新された閾値に対応する第2の長さに変更するように前記エントロピーソースに指示する処理とを実行し、
    前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、
    前記エントロピーソースによって生成された前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す値を算出し、
    前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記更新された閾値を上回っている場合、前記エントロピーソースによって生成された前記第2の長さを有する前記乱数ビットのシーケンスを前記エントロピー入力として使用して擬似乱数を生成するように構成されている、
    乱数生成装置。
  7. 前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記更新された閾値以下であり、且つ、前記第2の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記最低目標値を上回っている場合、前記更新された閾値を前記第2の値から前記第2の値よりも小さい第3の値に更新する処理と、前記エントロピーソースによって生成されるべき前記乱数ビットのシーケンスの長さを、前記第2の長さよりも長い、前記第3の値を有する前記更新された閾値に対応する第3の長さに変更するように前記エントロピーソースに指示する処理とを実行し、
    前記エントロピーソースに前記乱数ビットのシーケンスの生成を指示し、
    前記エントロピーソースによって生成された前記第3の長さを有する前記乱数ビットのシーケンスのランダム性を示す値を算出し、
    前記第3の長さを有する前記乱数ビットのシーケンスのランダム性を示す前記算出した値が前記第3の値を有する前記更新された閾値を上回っている場合、前記エントロピーソースによって生成された前記第3の長さを有する前記乱数ビットのシーケンスを前記エントロピー入力として使用して擬似乱数を生成するように構成されている、
    請求項6に記載の乱数生成装置。
JP2021153871A 2021-09-22 2021-09-22 メモリシステムおよび乱数生成装置 Pending JP2023045455A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021153871A JP2023045455A (ja) 2021-09-22 2021-09-22 メモリシステムおよび乱数生成装置
US17/685,331 US20230091431A1 (en) 2021-09-22 2022-03-02 Memory system and random number generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021153871A JP2023045455A (ja) 2021-09-22 2021-09-22 メモリシステムおよび乱数生成装置

Publications (1)

Publication Number Publication Date
JP2023045455A true JP2023045455A (ja) 2023-04-03

Family

ID=85572604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021153871A Pending JP2023045455A (ja) 2021-09-22 2021-09-22 メモリシステムおよび乱数生成装置

Country Status (2)

Country Link
US (1) US20230091431A1 (ja)
JP (1) JP2023045455A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785449A (zh) * 2023-12-18 2024-03-29 北京海泰方圆科技股份有限公司 一种序列随机性检测方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9219708B2 (en) * 2001-03-22 2015-12-22 DialwareInc. Method and system for remotely authenticating identification devices
US20120191615A1 (en) * 2009-07-27 2012-07-26 Suridx, Inc. Secure Credit Transactions
US10275268B2 (en) * 2013-08-26 2019-04-30 Red Hat, Inc. Providing entropy to a guest operating system
US20150199217A1 (en) * 2014-01-14 2015-07-16 Cisco Technology, Inc. Entropy resource allocation management in virtualized environments
US9846569B1 (en) * 2014-11-17 2017-12-19 Seagate Technology Llc Random values based on a random components of noise
AU2015383073A1 (en) * 2014-12-03 2017-06-15 3M Innovative Properties Company Systems and methods for generating random numbers using physical variations present in material samples
EP3736686A1 (en) * 2019-05-09 2020-11-11 Quside Technologies S.L. Device for transferring power and entropy
US11271911B2 (en) * 2020-02-26 2022-03-08 Amera Lot Inc. Method and apparatus for imprinting private key on IoT

Also Published As

Publication number Publication date
US20230091431A1 (en) 2023-03-23

Similar Documents

Publication Publication Date Title
CN111475871B (zh) 存储器系统
US10218503B2 (en) Encryption key storage and modification in a data storage device
US20100058073A1 (en) Storage system, controller, and data protection method thereof
US11775184B2 (en) Memory system, information processing apparatus, and information processing system
US20120036369A1 (en) Memory identification code generation method, management method, controller, and storage system
US10664414B2 (en) Controller and advanced method for deleting data
KR20140027596A (ko) 메모리 시스템 및 메모리 시스템에서의 암호화 방법
CN110909395B (zh) 一种非易失性存储设备数据销毁的方法及装置
US20180260151A1 (en) Data Storage Device and Operating Method Therefor
US11249924B2 (en) Secure data communication with memory sub-system
CN112887077A (zh) 一种ssd主控芯片随机缓存保密方法和电路
JP2023045455A (ja) メモリシステムおよび乱数生成装置
TWI775284B (zh) 記憶系統、其控制方法及資訊處理系統
JP2013062616A (ja) 記憶装置、データ記憶方法、及びデータコントローラ
JP3730432B2 (ja) 記憶システム、記憶装置及び記憶データ保護方法
US20220393859A1 (en) Secure Data Storage with a Dynamically Generated Key
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
US20210103653A1 (en) Memory system
US20230214144A1 (en) Electric device and method for emulating a non-volatile memory
KR20150075350A (ko) Ssd에 적합한 보안 삭제 기능을 가진 패스워드 기반의 암호화 파일 관리 방법 및 이들을 이용한 암호화 파일 관리 시스템
WO2024052993A1 (ja) メモリシステム
US20240086336A1 (en) Storage device deleting encryption key, method of operating the same, and method of operating electronic device including the same
US11620108B1 (en) Random number generation systems and methods
US20230214331A1 (en) Micro-controller chip and access method thereof
JP6954340B2 (ja) メモリデバイス管理システム、メモリデバイス管理方法およびプログラム