JP2022526936A - ブロックチェーンにおけるブロックとしてのメモリの使用 - Google Patents

ブロックチェーンにおけるブロックとしてのメモリの使用 Download PDF

Info

Publication number
JP2022526936A
JP2022526936A JP2021557322A JP2021557322A JP2022526936A JP 2022526936 A JP2022526936 A JP 2022526936A JP 2021557322 A JP2021557322 A JP 2021557322A JP 2021557322 A JP2021557322 A JP 2021557322A JP 2022526936 A JP2022526936 A JP 2022526936A
Authority
JP
Japan
Prior art keywords
memory
block
cryptographic hash
data stored
blockchain
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
JP2021557322A
Other languages
English (en)
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 JP2022526936A publication Critical patent/JP2022526936A/ja
Pending legal-status Critical Current

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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/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/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/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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/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/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
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本開示は、ブロックチェーンにおいてブロックとしてメモリを使用する装置、方法、及びシステムを含む。実施形態は、メモリと、メモリに記憶されたデータを有効であると確認するために、ブロックチェーンにおいてブロックを生成するように構成された回路と、を含み、ブロックは、ブロックチェーン内の前のブロックの暗号学的ハッシュと、メモリに記憶されたデータの暗号学的ハッシュと、を含み、ブロックは、ブロックがブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有する。

Description

本開示は概して、半導体メモリ及び方法に関し、特に、ブロックチェーンにおいてブロックとしてメモリを使用することに関する。
メモリデバイスは典型的には、コンピュータまたは他の電子デバイスにおいて内部半導体、集積回路、及び/または外部着脱可能デバイスとして設けられる。揮発性メモリ及び不揮発性メモリを含む、多くの異なるタイプのメモリが存在する。揮発性メモリは、そのデータを維持するための電力を必要とし得、とりわけ、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、及び同期ダイナミックランダムアクセスメモリ(SDRAM)を含むことができる。不揮発性メモリは、電力供給されていないときに記憶されたデータを保持することによって持続的データを提供することができ、とりわけ、相変化ランダムアクセスメモリ(PCRAM)、抵抗性ランダムアクセスメモリ(RRAM)、及び磁気ランダムアクセスメモリ(PCRAM)など、NANDフラッシュメモリ、NORフラッシュメモリ、リードオンリメモリ(ROM)、及び抵抗可変メモリを含むことができる。
メモリデバイスは、ソリッドステートドライブ(SSD)、組み込みマルチメディアカード(e.MMC)、及び/またはユニバーサルフラッシュストレージ(UFS)デバイスを形成するよう共に組み合わされ得る。SSD、e.MMC、及び/またはUFSデバイスは、様々な他のタイプの不揮発性メモリ及び揮発性メモリの中で、不揮発性メモリ(例えば、NANDフラッシュメモリ及び/またはNORフラッシュメモリ)を含むことができ、及び/または揮発性メモリ(例えば、DRAM及び/またはSDRAM)を含むことができる。不揮発性メモリは、とりわけ、パーソナルコンピュータ、ポータブルメモリスティック、デジタルカメラ、携帯電話、MP3プレイヤなどのポータブルミュージックプレイヤ、ムービープレイヤなどの広範囲の電子用途において使用され得る。
フラッシュメモリデバイスは、例えば、フローティングゲートなどの電荷蓄積構造にデータを記憶するメモリセルを含むことができる。フラッシュメモリデバイスは典型的には、高メモリ密度、高信頼性、及び低電力消費を可能にする1トランジスタメモリセルを使用する。抵抗可変メモリデバイスは、記憶素子(例えば、可変抵抗を有する抵抗性メモリ素子)の抵抗状態に基づいてデータを記憶することができる抵抗性メモリセルを含むことができる。
メモリセルは、アレイの中に配列されることができ、アレイアーキテクチャ内のメモリセルは、ターゲット(例えば、所望の)状態にプログラムされることがある。例えば、フラッシュメモリセルの電荷蓄積構造(例えば、フローティングゲート)に電荷をかけて、または電荷蓄積構造から電荷を除去して、セルを特定のデータ状態にプログラムすることができる。セルの電荷蓄積構造上の蓄積された電荷は、セルの閾値電圧(Vt)を示すことができる。フラッシュメモリセルの状態は、セルの電荷蓄積構造上の蓄積された電荷(例えば、Vt)を検知することによって判定され得る。
多くの脅威がメモリデバイスのメモリセルに記憶されたデータに影響を及ぼすことがある。そのような脅威は、例えば、メモリデバイスにおいて発生する障害、及び/またはハッカーもしくは他の悪意のあるユーザからの脅威を含むことがある。そのような脅威は、重大な金銭的損失を生じさせることがあり、及び/または重大な安全及び/またはセキュリティ問題を提示することがある。
本開示の実施形態に従った、いくつかの物理ブロックを有するメモリアレイの部分の図を示す。 本開示の実施形態に従った、メモリデバイスの形式にあるホスト及び装置を含むコンピューティングシステムのブロック図である。 本開示の実施形態に従った、メモリに記憶されたデータを有効であると確認するためにブロックチェーンにおいて使用することができるブロックの実施例を示す。 本開示の実施形態に従った、セキュアメモリアレイを定義するために使用されるレジスタのペアの実施例を示す。 本開示の実施形態に従って定義されたセキュアメモリアレイを含むメモリアレイの部分の図を示す。 本開示の実施形態に従った、ホスト及びメモリデバイスを含む例示的なシステムのブロック図である。 本開示の実施形態に従った、いくつかのパラメータを判定する例示的な処理のブロック図である。 本開示の実施形態に従った、いくつかのパラメータを判定する例示的な処理のブロック図である。 本開示の実施形態に従った、証明書を検証する例示的な処理のブロック図である。 本開示の実施形態に従った、署名を検証する例示的な処理のブロック図である。 本開示の実施形態に従った、例示的なメモリデバイスのブロック図である。
本開示は、ブロックチェーンにおいてブロックとしてメモリを使用する装置、方法、及びシステムを含む。実施形態は、メモリと、メモリに記憶されたデータを有効であると確認するために、ブロックチェーンにおいてブロックを生成するように構成された回路と、を含み、ブロックは、ブロックチェーン内の前のブロックの暗号学的ハッシュ及びメモリに記憶されたデータの暗号学的ハッシュを含み、ブロックは、ブロックがブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有する。いくつかの実施形態では、メモリ内のメモリの特定の物理ブロック及び/または特殊な物理ブロックは、図1に説明されるように、ブロックチェーンにおいてそのようなブロックとして使用されてもよい。しかしながら、実施形態は、そのように限定されない。
多くの脅威がメモリ(例えば、メモリデバイス)に記憶されたデータに影響を及ぼすことがある。例えば、メモリのアレイ及び/または回路において障害が発生する場合があり、それは、データにおいて発生する誤りを結果としてもたらすことがある。追加の実施例として、ハッカーまたは他の悪意のあるユーザは、悪意のある目的でデータへの権限を有しない変更を行う活動を実行することを試みることがある。例えば、悪意のあるユーザは、他のタイプのハッキング活動の中で、メモリを使用して実行される商用トランザクションに悪影響を及ぼすために(例えば、そのフローを転換する)(例えば、支払いを検証するコードをスキップすることによって、提供されたサービスに対して支払いが行われたことを偽って示すために)、メモリ上で実行されるソフトウェアライセンスチェックに悪影響を及ぼすために(例えば、そのフローを転換する)(例えば、ライセンスを検証するコードをスキップすることによって、メモリのソフトウェアが適切にライセンスされているかを偽って示すために)、またはメモリを使用して実行される自動車制御に悪影響を及ぼすために(例えば、そのフローを転換する)(例えば、部品の真正のチェック、環境的チェック、もしくは誤動作警告のチェックをスキップするために)、メモリに記憶されたデータを改変することを試みる場合がある。そのようなハッキング活動(例えば、攻撃)は、重大な金銭的損失を生じさせることがあり、及び/または重大な安全及び/またはセキュリティ問題を提示することがある。
したがって、セキュアメモリシステムを保証するために、メモリに記憶されたデータが真正であること(例えば、当初からプログラムされたものと同一である)、ならびにハッキング活動または他の権限を有しない変更によってメモリに記憶されたデータへの更新が改変されていないことを検証する(例えば、認証及び/または証明する)ことが重要である。本開示の実施形態は、メモリに記憶されたデータを効果的に有効であると確認するために、ブロックチェーンデータ構造においてブロックとしてメモリを使用することができ(例えば、ブロックチェーンに対して記憶コンポーネントとしてメモリを使用する)、それによって、セキュアメモリシステムを保証する。例えば、本開示の実施形態は、ブロックチェーンにおいてブロックとしてメモリを使用するよう、メモリの既存の回路(例えば、メモリデバイスの既存のファームウェア)を修正することができ、その結果、メモリに追加の(例えば、新たな)コンポーネントまたは回路を追加する必要なしに、ブロックチェーンにおいてブロックとしてメモリを使用することができる。
本明細書で使用される「a」、「an」、または「いくつかの(a number of)」は、1つ以上のものを指し得、「複数の(a plurality of)」は、2つ以上のものを指し得る。例えば、1つのメモリデバイスは、1つ以上のメモリデバイスを指すことができ、複数のメモリデバイスは、2つ以上のメモリデバイスを指すことができる。更に、特に図面の参照番号に関して本明細書で使用される指示子「R」、「B」、「S」、及び「N」は、指示子により指定されたいくつかの特定の特徴が、本開示のいくつかの実施形態に含まれ得ることを示す。番号は、指定の間で同一であってもよく、または異なってもよい。
本明細書の図は、最初の数字(複数可)が図面の図番号に対応し、残りの数字が図面の要素またはコンポーネントを識別する番号付け規則に従う。異なる図面間の類似の要素または構成要素は、類似の数字を使用することで識別されてもよい。例えば、101は図1の要素「01」を指してもよく、類似の要素が図2では201と称されてもよい。
図1は、本開示の実施形態に従った、いくつかの物理ブロックを有するメモリアレイ101の部分の図を示す。メモリアレイ101は、例えば、NANDフラッシュメモリアレイなどのフラッシュメモリアレイであり得る。追加の実施例として、メモリアレイ101は、とりわけ、PCRAM、RRAM、MMRAM、またはスピントルクトランスファ(STT)アレイなどの抵抗可変メモリアレイであり得る。しかしながら、本開示の実施形態は、特定のタイプのメモリアレイに限定されない。更に、メモリアレイ101は、本明細書で更に説明されるように、セキュアメモリアレイであり得る。更に、図1には示されないが、メモリアレイ101は、その動作と関連付けられた様々な周辺回路と共に特定の半導体ダイ上に位置し得る。
図1に示されるように、メモリアレイ101は、メモリセルのいくつかの物理ブロック107-0(BLOCK 0)、107-1(BLOCK 1)、…、107-B(BLOCK B)を有する。メモリセルは、シングルレベルセルであり得、及び/または、例えば、2レベルセル、トリプルレベルセル(TLC)、またはクワドルプルレベルセル(QLC)などのマルチレベルセルであり得る。実施例として、メモリアレイ101内の物理ブロックの数は、128個のブロック、512個のブロック、または1024個のブロックであってもよいが、実施形態は、メモリアレイ101内の特定の2のべき乗の物理ブロックまたはいずれかの特定の数の物理ブロックに限定されない。
メモリセルのいくつかの物理ブロック(例えば、ブロック107-0、107-1、…、107-B)は、メモリセルの面に含まれ得、メモリセルのいくつかの面は、ダイ上に含まれ得る。例えば、図1に示される実施例では、各々の物理ブロック107-0、107-1、…、107-Bは、単一のダイの一部であり得る。すなわち、図1に示されるメモリアレイ101の部分は、メモリセルのダイであり得る。
図1に示されるように、各々の物理ブロック107-0、107-1、…、107-Bは、アクセスライン(例えば、ワードライン)に結合されたメモリセルのいくつかの物理行(例えば、103-0、103-1、…、103-R)を含む。各々の物理ブロック内の行(例えば、ワードライン)の数は、32であり得るが、実施形態は、物理ブロックごとに特定の数の行103-0、103-1、…、103-Rに限定されない。更に、図1には示されないが、メモリセルは、検知ライン(例えば、データライン及び/またはディジットライン)の列に結合され得る。
当業者は、各々の行103-0、103-1、…、103-Rが、メモリセルのいくつかのページ(例えば、物理ページ)を含み得ることを認識するであろう。物理ページは、プログラム及び/または検知する単位を指す(例えば、機能的グループとして共にプログラム及び/または検知されるいくつかのメモリセル)。図1に示される実施形態では、各々の行103-0、103-1、…、103-Rは、メモリセルの1つの物理ページを含む。しかしながら、本開示の実施形態は、それに限定されない。例えば、実施形態では、各々の行は、メモリセルの複数の物理ページ(例えば、偶数に番号付けられたデータラインに結合されたメモリセルの1つ以上の偶数ページ、及び奇数に番号付けられたデータラインに結合されたメモリセルの1つ以上の奇数ページ)を含み得る。加えて、マルチレベルセルを含む実施形態について、メモリセルの物理ページは、データの複数のページ(例えば、論理ページ)を記憶することができる(例えば、物理ページ内で各々のセルを有するデータの上位ページ及びデータの下位ページは、データの上位ページに向かって1つ以上のビット及びデータの下位ページに向かって1つ以上のビットを記憶する)。
図1に示されるように、メモリセルのページは、いくつかの物理セクタ105-0、105-1、…、105-S(例えば、メモリセルのサブセット)を含み得る。セルの各々の物理セクタ105-0、105-1、…、105-Sは、データのいくつかの論理セクタを記憶し得る。加えて、データの各々の論理セクタは、データの特定のページの部分に対応し得る。実施例として、特定の物理セクタに記憶されたデータの第1の論理セクタは、データの第1のページに対応する論理セクタに対応し得、特定の物理セクタに記憶されたデータの第2の論理セクタは、データの第2のページに対応し得る。各々の物理セクタ105-0、105-1、…、105-Sは、システムデータ及び/またはユーザデータを記憶し得、及び/または誤り訂正符号(ECC)データ、論理ブロックアドレス(LBA)データ、及びメタデータなどのオーバヘッドデータを含み得る。
論理ブロックアドレス指定は、データの論理セクタを識別するための、ホストによって使用することができるスキームである。例えば、各々の論理セクタは、一意な論理ブロックアドレス(LBA)に対応し得る。加えて、LBAも、メモリ内のデータのその論理セクタの物理位置を示し得る、物理ブロックアドレス(PBA)などの物理アドレスに対応してもよい(例えば、動的にマッピングする)。データの論理セクタは、データのいくつかのバイト(例えば、256バイト、512バイト、1024バイト、または4096バイト)であり得る。しかしながら、実施形態は、それらの実施例に限定されない。
物理ブロック107-0、107-1、…、107-B、行103-0、103-1、…、103-R、セクタ105-0、105-1、…、105-S、及びページについての他の構成が可能であることに留意されたい。例えば、物理ブロック107-0、107-1、…、107-Bの行103-0、103-1、…、103-Rは各々、例えば、データの512未満のバイトまたは512を超えるバイトを含むことができる単一の論理セクタに対応するデータを記憶し得る。
図2は、本開示の実施形態に従った、ホスト202及びメモリデバイス206の形式にある装置を含むコンピューティングシステム200のブロック図である。本明細書で使用されるとき、「装置」は、例えば回路もしくは複数の回路、ダイもしくは複数のダイ、モジュールもしくは複数のモジュール、デバイスもしくは複数のデバイス、またはシステムもしくは複数のシステムなどの様々な構造または構造の組み合わせのうちのいずれかを指し得るが、これらに限定されない。更に、実施形態では、コンピューティングシステム200は、メモリデバイス206に類似するいくつかのメモリデバイスを含み得る。
図2に示される実施形態では、メモリデバイス206は、メモリアレイ201を有するメモリ216を含み得る。メモリアレイ201は、図1と関連して前に説明されたメモリアレイ101と同様であり得る。更に、メモリアレイ201は、本明細書で更に説明されるように、セキュアアレイであり得る。1つのメモリアレイ201が図2に示されるが、メモリ216は、メモリアレイ201と同等のいずれかの数のメモリアレイを含み得る。
図2に示されるように、ホスト202は、インタフェース204を介してメモリデバイス206に結合され得る。ホスト202及びメモリデバイス206は、インタフェース204上で通信し得る(例えば、コマンド及び/またはデータを送信する)。ホスト202及び/またはメモリデバイス206は、他のホストシステムの中で、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル記録及び再生デバイス、携帯電話、PDA、メモリカードリーダ、インタフェースハブ、あるいは、例えば、自動車(例えば、車両及び/または輸送インフラストラクチャ)モノのインターネット(IoT)対応デバイスまたは医療(例えば、移植可能及び/または健康監視)IoT対応デバイスなどのIoT対応デバイスであり得、またはそれらの一部であり得、メモリアクセスデバイス(例えば、プロセッサ)を含み得る。当業者は、「プロセッサ」が、並列プロセシングシステムなどの1つ以上のプロセッサ、いくつかのコプロセッサなどを意図し得ることを認識するであろう。
インタフェース204は、標準化された物理インタフェースの形式であり得る。例えば、コンピューティングシステム200に情報を記憶するためにメモリデバイス206が使用されるとき、インタフェース204は、他の物理コネクタ及び/またはインタフェースの中で、シリアルアドバンスドテクノロジーアタッチメント(SATA)物理インタフェース、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)物理インタフェース、ユニバーサルシリアルバス(USB)物理インタフェース、または小型コンピュータシステムインタフェース(SCSI)であり得る。しかしながら、一般的に、インタフェース204は、メモリデバイス206とインタフェース204に対して互換性を有するレセプタを有するホスト(例えば、ホスト202)との間で制御、アドレス、情報(例えば、データ)、及び他の信号を渡すためのインタフェースを提供し得る。
メモリデバイス206は、ホスト202及びメモリ216(例えば、メモリアレイ201)と通信するためのコントローラ208を含む。例えば、コントローラ208は、他の動作の中で、データを検知し(例えば、読み取り)、プログラムし(例えば、書き込み)、移動し、及び/または消去する動作を含む、メモリアレイ201に対する動作を実行するコマンドを送信し得る。
コントローラ208は、メモリ216と同一の物理デバイス(例えば、同一のダイ)上に含まれ得る。代わりに、コントローラ208は、メモリ216を含む物理デバイスに通信可能に結合された別個の物理デバイス上に含まれ得る。実施形態では、コントローラ208のコンポーネントは、分散コントローラとして複数の物理デバイス(例えば、メモリと同一のダイ上のいくつかのコンポーネント、及び異なるダイ、モジュール、またはボード上のいくつかのコンポーネント)にわたって分散され得る。
ホスト202は、メモリデバイス206と通信するためのホストコントローラ(図2には示されない)を含み得る。ホストコントローラは、インタフェース204を介してメモリデバイス206にコマンドを送信し得る。ホストコントローラは、他の動作の中で、データを読み込み、書き込み、及び/または消去するよう、メモリデバイス206及び/またはメモリデバイス206上のコントローラ208と通信することができる。更に、実施形態では、ホスト202は、本明細書で前に説明されたような、IoT通信能力を有するIoT対応デバイスであり得る。
メモリデバイス206上のコントローラ208及び/またはホスト202上のホストコントローラは、制御回路及び/またはロジック(例えば、ハードウェア及びファームウェア)を含み得る。実施形態では、メモリデバイス206上のコントローラ208及び/またはホスト202上のホストコントローラは、物理インタフェースを含むプリント回路基板に結合された特定用途向け集積回路(ASIC)であり得る。また、メモリデバイス206及び/またはホスト202は、揮発性メモリ及び/または不揮発性メモリ、ならびにいくつかのレジスタのバッファを含み得る。
例えば、図2に示されるように、メモリデバイスは、回路210を含み得る。図2に示される実施形態では、回路210は、コントローラ208に含まれる。しかしながら、本開示の実施形態は、それに限定されない。例えば、実施形態では、回路210は、メモリ216(例えば、と同一のダイ上に)に含まれてもよい(例えば、コントローラ208の代わりに)。回路210は、例えば、ハードウェア、ファームウェア、及び/またはソフトウェアを含み得る。
回路210は、メモリ216(例えば、メモリアレイ201)に記憶されたデータを有効であると確認する(例えば、認証及び/または証明する)ために、ブロックチェーンにおいてブロック220を生成することができる。ブロック220は、ブロックチェーン内の前のブロックの暗号学的ハッシュ(例えば、それへのリンク)、及びメモリアレイ201に記憶されたデータの暗号学的ハッシュ(例えば、それを識別する)を含み得る。ブロック220はまた、ブロックが生成されたときを示すタイムスタンプを有するヘッダを含み得る。更に、ブロック220は、ブロックがブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有し得る。そのようなブロックを示す実施例は、本明細書で更に説明される(例えば、図3と関連して)。
本明細書で使用されるとき、例えば、図2に説明されるブロック220など、「ブロックチェーン内のブロック」は、データ(例えば、ペイロード)、ヘッダ、タイムスタンプ、履歴などを含み得る。しかしながら、本明細書で使用されるとき、ブロックチェーン内のブロックは、図1と関連して前に説明されたように、メモリのブロックのサイズに等しい必要はない。例えば、ブロックチェーン内のブロックは、アーキテクチャまたは設計と関連付けられた特定のメモリのブロックサイズデノミネーションよりも小さくてもよく、それと同等であってもよく、及び/またはそれよりも大きくてもよい。
メモリアレイ201に記憶されたデータの暗号学的ハッシュ、及び/またはブロックチェーン内の前のブロックの暗号学的ハッシュは、例えば、SHA-256暗号学的ハッシュを含み得る。更に、メモリアレイ201に記憶されたデータの暗号学的ハッシュ、及びブロックチェーン内の前のブロックの暗号学的ハッシュは各々それぞれ、256バイトのデータを含み得る。
メモリアレイ201に記憶されたデータの暗号学的ハッシュは、例えば、回路210によって生成され(例えば、計算され)得る。そのような実施例では、記憶されたデータの暗号学的ハッシュは、インタフェース204上で外部データを移動させることなく、メモリデバイス206によって内部的に生成され得る。追加の実施例として、データの暗号学的ハッシュは、外部エンティティから通信され得る。例えば、ホスト202は、メモリアレイ201に記憶されたデータの暗号学的ハッシュを生成することができ、メモリデバイス206に生成された暗号学的ハッシュを送信することができる(例えば、回路210は、ホスト202から、メモリアレイ201に記憶されたデータの暗号学的ハッシュを受信することができる)。
ブロック220と関連付けられたデジタル署名は、ホスト202から受信されたコマンドなどの外部コマンドに基づいて(例えば、それに応答して)、例えば、回路210によって生成され(例えば、計算され)得る。例えば、デジタル署名は、対称暗号化または非対称暗号化を使用して生成され得る。追加の実施例として、ホスト202は、デジタル署名を生成することができ、メモリデバイス206に生成されたデジタル署名を送信する(例えば、提供する)ことができる(例えば、回路210は、ホスト202からデジタル署名を受信することができる)。
図2に示されるように、ブロック220と共に、ブロック220と関連付けられたデジタル署名は、メモリアレイ201に記憶され得る。例えば、ブロック220は、メモリデバイス206及び/またはホスト202のユーザに対してアクセス可能でないメモリアレイ201の部分(例えば、メモリアレイ201の「隠蔽された」領域に)に記憶され得る。メモリアレイ201にブロック220を記憶することは、例えば、ブロックに対するソフトウェア記憶管理についての必要性を除去することによって、ブロックの記憶を簡易化することができる。
実施形態では、メモリアレイ201(例えば、アレイ201のサブセットまたはアレイ201の全体)は、セキュアアレイ(例えば、制御の下に維持されることになるメモリ216の領域)であり得る。例えば、メモリアレイ201に記憶されたデータは、センシティブアプリケーションに対して実行されることになるホストファームウェア及び/またはコードなどのセンシティブ(例えば、非ユーザ)データを含み得る。そのような実施形態では、不揮発性レジスタのペアは、セキュアアレイを定義するために使用され得る。例えば、図2に示される実施形態では、回路210は、セキュアアレイを定義するために使用することができるレジスタ214-1及び214-2を含む。例えば、レジスタ214-1は、セキュアアレイのアドレス(例えば、データの開始LBA)を定義することができ、レジスタ214-2は、セキュアアレイのサイズ(例えば、データの最終LBA)を定義することができる。そのようなレジスタの実施例、及びセキュアアレイを定義する際のそれらの使用は、本明細書で更に説明される(例えば、図4A~4Bと関連して)。セキュアアレイが定義されると、回路210は、認証され且つアンチリプレイ保護されたコマンド(例えば、メモリデバイス206のみがゴールデンハッシュを知るように、ならびにメモリデバイス206のみがそれを生成及び更新することが可能であるように)を使用して、セキュアアレイと関連付けられた暗号学的ハッシュ(本明細書ではゴールデンハッシュと称されてもよい)を生成する(例えば、計算する)ことができる。ゴールデンハッシュは、以下で更に説明されるように、メモリアレイ201のアクセス可能でない部分(例えば、ブロック220が記憶された同一のアクセス可能でない部分)に記憶されてもよく、セキュアアレイのデータを有効であると確認する処理の間に使用され得る。
メモリデバイス206(例えば、回路210)は、メモリアレイ201に記憶されたデータを有効であると確認するために、インタフェース204を介してホスト202に、ブロック220と関連付けられたデジタル署名と共に、ブロック220を送信することができる。例えば、回路210は、メモリデバイス206の電力供給(例えば、パワーオン及び/またはパワーアップ)に応答して、メモリアレイ201に記憶されたブロック220を検知(例えば、読み込む)ことができ、アレイ201に記憶されたデータを有効であると確認するために、ホスト202に検知されたブロック220を送信することができる。したがって、メモリアレイ201に記憶されたデータの有効であるとの確認は、メモリデバイス206を電力供給すると開始され得る(例えば、自動で)。
追加の実施例として、回路210は、ホスト202などの外部エンティティ上のホスト202に、ブロック220と関連付けられたデジタル署名と共に、ブロック220を送信することができ、メモリアレイ201に記憶されたデータの有効であるとの確認を開始する。例えば、ホスト202は、ブロック220を検知するコマンドをメモリデバイス206(例えば、回路210)に送信することができ、回路210は、ブロック220を検知するコマンドを実行することができ、コマンドの受信に応答して、アレイ201に記憶されたデータを有効であると確認するために、ホスト202に検知されたブロック220を送信することができる。
ブロック220を受信すると、ホスト202は、受信されたブロックを使用して、メモリアレイ201に記憶されたデータを有効であると確認することができる(例えば、有効であるかどうかを判定する)。例えば、ホスト202は、データを有効であると確認するために、ブロックチェーン内の前のブロックの暗号学的ハッシュ及びメモリアレイ201に記憶されたデータの暗号学的ハッシュを使用することができる。更に、ホスト202は、ブロックがブロックチェーンに含まれる(含まれることが適格である)ことを判定するよう、ブロック220と関連付けられたデジタル署名を有効であると確認することができる。本明細書で使用されるように、メモリアレイ201に記憶されたデータを有効であると確認することは、データが真正であり(例えば、当初からプログラムされたものと同一である)、及びハッキング活動もしくは他の権限を有しない変更によって改変されていないことを認証及び/または証明することを含み得、及び/またはそれらのことを指し得る。
メモリアレイ201がセキュアアレイである実施形態では、本明細書で前述されたゴールデンハッシュも、メモリアレイ201に記憶されたデータを有効であると確認するために使用されてもよい。例えば、ランタイム暗号学的ハッシュが生成され(例えば、計算され)得、ゴールデンハッシュと比較され得る。ランタイムハッシュ及びゴールデンハッシュが一致することを比較が示す場合、セキュアアレイが改変されておらず、したがって、そこに記憶されたデータが有効であると判定され得る。しかしながら、ランタイムハッシュ及びゴールデンハッシュが一致しないことを比較が示す場合、これは、セキュアアレイに記憶されたデータが変更されている(例えば、ハッカーまたはメモリにおける障害に起因して)ことを示してもよく、ホスト202にこれが報告され得る。
メモリアレイ201に記憶されたデータを有効であると確認した後、回路210は、ブロック220が生成された方式と同様の方式において、メモリアレイ201に記憶されたデータを有効であると確認するために、ブロックチェーンにおいて追加の(例えば、次の)ブロックを生成することができる。例えば、この追加のブロックは、ブロックチェーン内の前のブロックに現在はなったブロック220の暗号学的ハッシュ、及びメモリアレイ201に記憶されたデータの新たな暗号学的ハッシュを含み得る。更に、この追加のブロックは、このブロックが生成されたときを示すタイムスタンプを有するヘッダを含み得、このブロックがブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有し得る。そのような追加のブロックを示す実施例が、本明細書で更に説明される(例えば、図3と関連して)。更に、メモリアレイ201がセキュアアレイである実施形態では、追加の(例えば、新たな)ゴールデンハッシュが生成され得る。
追加のブロックと共に、追加のブロックと関連付けられたデジタル署名、及び追加のゴールデンハッシュは、メモリアレイ201に記憶され得る。例えば、追加のブロックは、メモリアレイ201内のブロック220(例えば、前のブロック220)を置き換えることができる。追加のブロック、デジタル署名、及び追加のゴールデンハッシュは次いで、ブロック220について本明細書で前に説明された方式と同様の方式において、メモリアレイ201に記憶されたデータを有効であると確認するために、ホスト202によって使用され得る。ブロックチェーン内の追加のブロックは、メモリデバイス206の寿命の全体を通じてそのような方式において、メモリアレイ201に記憶されたデータを有効であると確認するために、回路210によって生成され続けることができ、ホスト202によって使用され続けることができる。
図2に示された実施形態は、本開示の実施形態を曖昧にしないように示されていない追加の回路、ロジック、及び/またはコンポーネントを含み得る。例えば、メモリデバイス206は、I/O回路を通じてI/Oコネクタにわたって提供されるアドレス信号をラッチするアドレス回路を含み得る。アドレス信号は、メモリアレイ201にアクセスするよう、行デコーダ及び列デコーダによって受信及び復号され得る。更に、メモリデバイス206は、メモリアレイ201とは別に、及び/またはメモリアレイ201に加えて、例えば、DRAMまたはSDRAMなどのメインメモリを含み得る。メモリデバイス206の追加の回路、ロジック、及び/またはコンポーネントを更に示す実施例が、本明細書で更に説明される(例えば、図10と関連して)。
図3は、本開示の実施形態に従った、メモリ(例えば、図2と関連して前に説明されたメモリアレイ201)に記憶されたデータを有効であると確認するために、ブロックチェーンにおいて使用することができるブロック(例えば、ブロック320-1及びブロック320-2)の実施例を示す。ブロック320-1及び320-2は、例えば、図2と関連して前に説明された回路210を使用して生成され得る。例えば、ブロック320-2は、メモリに記憶されたデータを有効であると確認するためにブロック320-1が使用された後に生成され得る(例えば、ブロック320-2は、ブロック320-1の後のブロックチェーン内の次のブロックであり得る)。
図3に示されるように、図2と関連して前に説明されたブロック220と同様の方式において、各々のそれぞれのブロック320-1及び320-2は、ヘッダ、ブロックチェーン内の前のブロックの暗号学的ハッシュ、及びメモリに記憶されたデータの暗号学的ハッシュを含み得る。例えば、ブロック320-1は、ブロック320-1が生成されたときを示すタイムスタンプを有するヘッダ322-1、ブロックチェーン内の前のブロックの暗号学的ハッシュ324-1、及びメモリに記憶されたデータの暗号学的ハッシュ326-1を含む。更に、ブロック320-2は、ブロック320-2が生成されたときを示すタイムスタンプを有するヘッダ322-2、ブロックチェーン内の前のブロック(例えば、ブロック320-1)の暗号学的ハッシュ324-2、及びメモリに記憶されたデータの後続の(例えば、新たな)暗号学的ハッシュ326-2を含む。
図3に示されるように、ブロック320-1の暗号学的ハッシュ326-1は、ブロック320-2の暗号学的ハッシュ324-2として使用され得る。すなわち、ブロック320-2は、ブロックチェーン内の前のブロックの暗号学的ハッシュ324-2として、ブロック320-1からメモリに記憶されたデータの暗号学的ハッシュ326-1を含み得る。
図3に示されるように、各々のそれぞれのブロック320-1及び320-2は、図2と関連して前に説明されたブロック220と同様の方式において、ブロックがブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有し得る。例えば、デジタル署名328-1は、ブロック320-1と関連付けられ、デジタル署名328-2は、ブロック320-2と関連付けられる。
図4Aは、本開示の実施形態に従った、セキュアメモリアレイを定義するために使用されるレジスタ414-1及び414-2のペアの実施例を示し、図4Bは、本開示の実施形態に従った、レジスタ414-1及び414-2を使用して定義されたセキュアメモリアレイを含むメモリアレイ401の部分の図を示す。レジスタ414-1及び414-2は、例えば、図2と関連して前に説明されたレジスタ214-1及び214-2それぞれであり得、セキュアメモリアレイ401は、例えば、図2と関連して前に説明されたメモリアレイ201であり得る。例えば、図4Bに示されるように、セキュアメモリアレイ401は、その各々が図1と関連して前に説明されたメモリアレイ101と同様の方式において、メモリセルのいくつかのセクタを有するいくつかの物理行403-0、403-1、…、403-Rを含む、メモリセルのいくつかの物理ブロック407-0、407-1、…、407-Bを含み得る。
図4Aに示されるように、レジスタ414-1は、セキュアアレイのアドレス(例えば、セキュアアレイの異なる部分のアドレス)を定義することができ、レジスタ414-2は、セキュアアレイのサイズ(例えば、セキュアアレイの異なる部分のサイズ)を定義することができる。レジスタ414-1によって定義されたセキュアアレイのアドレスは、例えば、セキュアアレイの開始点(例えば、開始LBA)(例えば、セキュアアレイの異なる部分の開始点)に対応し得、レジスタ414-2によって定義されたセキュアアレイのサイズは、セキュアアレイの終了点(例えば、終了LBA)(例えば、セキュアアレイの異なる部分の終了点)に対応し得る。
例えば、図4Aに示されるように、レジスタ414-1及び414-2は、N個の値のペアを定義することができ、各々のそれぞれのペアは、レジスタ414-1によって定義されたアドレス値(例えば、addr)及びレジスタ414-2によって定義されたサイズ値(例えば、size)を含む。例えば、図4Aに示される実施例では、Pairは、アドレス値addr及びサイズ値size(例えば、Pair=[addr,size])を含み、Pairは、アドレス値addr及びサイズ値size(例えば、Pair=[addr,size])を含む、などであり、Pairは、アドレス値addr及びサイズ値size(例えば、Pair=[addr,size])を含む。ペアのアドレス値は、セキュアアレイの部分の開始点(例えば、開始LBA)に対応し得、そのペアのアドレス値及びサイズ値の合計は、セキュアアレイのその部分の終了点(例えば、終了LBA)に対応し得る。したがって、セキュアアレイの全体(例えば、セキュアアレイの全体を含む部分)は、[addr,addr+size]∪[addr,addr+size]∪…∪[addr,addr+size]によって与えられ得る。
レジスタ414-2によって定義されたそのサイズ値がゼロである第1のペアは、セキュアアレイの定義を停止することができる。例えば、図4Aに支援される実施例では、Pairのサイズ値がゼロである場合、セキュアアレイは、[addr,addr+size]∪[addr,addr+size]によって与えられる。
レジスタ414-1及び414-2によって定義されたセキュアアレイの実施例(例えば、非ゼロとしてレジスタ414-2によって定義された全てのサイズ値を有する)が図4Bに示される。例えば、図4Bに示されるように、メモリアレイ401のセクタ405-0と関連付けられたアドレス(例えば、LBA)は、addrであり、メモリアレイ401のセクタ405-1と関連付けられたアドレスは、addr+sizeであり、メモリアレイ401のセクタ405-2と関連付けられたアドレスは、addrであり、メモリアレイ401のセクタ405-3と関連付けられたアドレスは、addr+sizeであり、メモリアレイ401のセクタ405-4と関連付けられたアドレスは、addrであり、メモリアレイ401のセクタ405-5と関連付けられたアドレスは、addr+sizeである。したがって、セキュアアレイは、セクタ(例えば、セクタに記憶されたデータ)405-0~405-1、セクタ405-2~405-3、及び405-4~405-5を含む。しかしながら、セクタ405-0の前であるメモリアレイ401のセクタ、及びメモリアレイ401のセクタ405-1~405-2は、セキュアアレイの一部ではない(例えば、セキュアアレイは、アレイ401のサブセットを含む)。
図5は、本開示の実施形態に従った、ホスト502及びメモリデバイス506を含む例示的なシステムのブロック図である。ホスト502及びメモリデバイス506は、例えば、図2と関連して前に説明されたホスト202及びメモリデバイス206それぞれであり得る。
コンピューティングデバイスは、レイヤを使用して段階的にブートすることができ、各々のレイヤは、後続のレイヤを認証及びロードし、各々のレイヤにおいて次第に洗練されたランタイムサービスを提供する。レイヤは、前のレイヤによってサーブされ得、後続のレイヤにサーブし得、それによって、下位レイヤ上で構築し、高位レイヤにサーブするレイヤの相互接続ウェブを生成する。図5に示されるように、レイヤ0(「L」)551及びレイヤ1(「L」)553は、ホスト内にある。レイヤ0 551は、レイヤ1 553にFirmware Derivative Secret(FDS)鍵552を提供することができる。FDS鍵552は、レイヤ1 553のコードの識別子及び他のセキュリティ関連データを記述することができる。実施例では、特定のプロトコル(ロバストなモノのインターネット(RIOT)コアプロトコル)は、それがロードするレイヤ1 553のコードを有効であると確認するために、FDS 552を使用することができる。実施例では、特定のプロトコルは、デバイス識別構成エンジン(DICE)及び/またはRIOTコアプロトコルを含み得る。実施例として、FDSは、レイヤ1のファームウェアイメージ自体、権限を有するレイヤ1のファームウェアを暗号によって識別するマニフェスト、セキュアブートの実施のコンテキストにおいて署名されたファームウェアのファームウェアバージョン番号、及び/またはデバイスについてのセキュリティ重要構成設定を含み得る。デバイスシークレット558は、FDS 552を生成するために使用され得、ホスト502と関連付けられたメモリに記憶され得る。
ホストは、矢印554によって示されるように、メモリデバイス506にデータを送信することができる。送信されたデータは、公開している外部識別、証明書(例えば、外部識別証明書)、及び/または外部公開鍵を含み得る。メモリデバイス506のレイヤ2(「L」)555は、送信されたデータを受信し得、オペレーティングシステム(「OS」)557のオペレーションにおいて、ならびに第1のアプリケーション559-1及び第2のアプリケーション559-2上でデータを実行し得る。
例示的なオペレーションでは、ホスト502は、デバイスシークレット558を読み込むことができ、レイヤ1 553の識別子をハッシュすることができ、以下を含む計算を実行することができる。
L1=KDF[Fs(s),Hash(“immutable information”)]
L1は、外部公開鍵であり、KDF(例えば、National Institute of Standards and Technology(NIST)Special Publication 800-108において定義されたKDF)は、鍵導出関数であり(例えば、HMAC-SHA256)、Fs(s)は、デバイスシークレット558である。FDS 552は、以下を実行することによって判定され得る。
FDS=HMAC-SHA256[Fs(s),SHA256(“immutable information”)]
同様に、メモリデバイス506は、矢印556によって示されるように、ホスト502にデータを送信することができる。
図6は、本開示の実施形態に従った、いくつかのパラメータを判定する例示的な処理のブロック図である。図6は、矢印654によって示されるように、メモリデバイス(例えば、図5における506)のレイヤ2(例えば、レイヤ2 555)に送信される、外部公開識別、外部証明書、及び外部公開鍵を含むパラメータの判定の実施例である。図6におけるレイヤ0(「L」)651は、図5におけるレイヤ0 551に対応し、同様に、FDS 652は、FDS 552に対応し、レイヤ1 653は、レイヤ1 553に対応し、矢印654及び656は、矢印554及び556にそれぞれに対応する。
レイヤ0 651からのFDS 652は、レイヤ1 653に送信され、公開識別(「IDlk public」)665及び秘密識別667を生成するために、非対称ID生成器661によって使用される。省略された「IDlk public」では、「lk」は、レイヤk(この実施例では、レイヤ1)を示し、「public」は、識別が公然に共有されることを示す。公開識別665は、ホストのレイヤ1 653の右側及び外側に伸びる矢印によって共有されるとして示される。生成された秘密識別667は、暗号化器673に入力される鍵として使用される。暗号化器673は、データを暗号化するために使用されるいずれかのプロセッサ、コンピューティングデバイスなどであり得る。
ホストのレイヤ1 653は、非対称鍵生成器663を含み得る。少なくとも1つの実施例では、乱数生成器(RND)636は任意選択で、非対称鍵生成器663に乱数を入力することができる。非対称鍵生成器663は、図5におけるホスト502などのホストと関連付けられた公開鍵(「KLk public」)669(外部公開鍵と称される)及び秘密鍵(「KLK private」)671(外部秘密鍵と称される)を生成し得る。外部公開鍵669は、暗号化器673への入力(「データ」としての)であり得る。暗号化器673は、外部秘密識別667及び外部公開鍵669の入力を使用して、結果K’675を生成し得る。外部秘密鍵671及び結果K’675は、追加の暗号化器677への入力であり得、出力K’’679を結果としてもたらす。出力K’’679は、レイヤ2(図5の555)に送信される外部証明書(「IDL1 certificate」)681である。外部証明書681は、デバイスから送信されたデータの起点を検証及び/または認証する能力をもたらすことができる。実施例として、ホストから送信されたデータは、図8と関連して更に説明されるように、証明書を検証することによって、ホストの識別子と関連付けられ得る。更に、外部公開鍵(「KL1 public key」)683は、レイヤ2に送信され得る。したがって、ホストの公開識別665、証明書681、及び外部公開鍵683は、メモリデバイスのレイヤ2に送信され得る。
図7は、本開示の実施形態に従った、いくつかのパラメータを判定する例示的な処理のブロック図である。図7は、デバイス識別(「IDL2 public」)766、デバイス証明書(「IDL2 Certificate」)782、及びデバイス公開鍵(「KL2 public key」)784を生成するメモリデバイス(例えば、図5におけるメモリデバイス506)のレイヤ2 755を示す。
図6において説明されたように、ホストのレイヤ1からメモリデバイスのレイヤ2 755に送信される外部公開鍵(「KL1 public key」)783は、メモリデバイスの公開識別(「IDlk public」)766及び秘密識別768を生成するために、メモリデバイスの非対称ID生成器762によって使用される。省略された「IDlk public」では、「lk」は、レイヤk(この実施例では、レイヤ2)を示し、「public」は、識別が公然に共有されることを示す。公開識別766は、レイヤ2 755の右側及び外側に伸びる矢印によって共有されるとして示される。生成された秘密識別768は、暗号化器774に入力される鍵として使用される。
図7に示されるように、外部公開鍵783と共に、外部証明書781及び公開識別765は、証明書検証器799によって使用される。証明書検証器799は、ホストから受信された外部証明書781を検証することができ、外部証明書781が検証されること、または検証されないことに応答して、ホストから受信されたデータを受諾または破棄するかどうかを判定することができる。外部証明書781を検証することの更なる詳細は、(例えば、図8と関連して)更に説明される。
メモリデバイスのレイヤ2 755は、非対称鍵生成器764を含み得る。少なくとも1つの実施例では、乱数生成器(RND)738は任意選択で、非対称鍵生成器764に乱数を入力することができる。非対称鍵生成器764は、図5におけるメモリデバイス506などのメモリデバイスと関連付けられた公開鍵(「KLk public」)770(デバイス公開鍵と称される)及び秘密鍵(「KLK private」)772(デバイス秘密鍵と称される)を生成することができる。デバイス公開鍵770は、暗号化器774への入力(「データ」としての)であり得る。暗号化器774は、デバイス秘密識別768及びデバイス公開鍵770の入力を使用して、結果K’776を生成し得る。デバイス秘密鍵772及び結果K’776は、追加の暗号化器778への入力であり得、出力K’’780を結果としてもたらす。出力K’’780は、レイヤ1(図5の553)に再度送信されるデバイス証明書(「IDL2 certificate」)782である。デバイス証明書782は、デバイスから送信されたデータの起点を検証及び/または認証する能力をもたらすことができる。実施例として、メモリデバイスから送信されたデータは、図8と関連して更に説明されるように、証明書を検証することによって、メモリデバイスの識別子と関連付けられ得る。更に、デバイス公開鍵(「KL2 public key」)784は、レイヤ1に送信され得る。したがって、メモリデバイスの公開識別766、証明書782、及びデバイス公開鍵784は、ホストのレイヤ1に送信され得る。
実施例では、ホストがメモリデバイスから公開鍵を受信したことに応答して、ホストは、デバイス公開鍵を使用して、メモリデバイスに送信されることになるデータを暗号化することができる。逆もまた同様に、メモリデバイスは、外部公開鍵を使用して、ホストに送信されることになるデータを暗号化することができる。メモリデバイスがデバイス公開鍵を使用して暗号化されたデータを受信したことに応答して、メモリデバイスは、その自身のデバイス秘密鍵を使用してデータを復号することができる。同様に、ホストが外部公開鍵を使用して暗号化されたデータを受信したことに応答して、ホストは、その自身の外部秘密鍵を使用してデータを復号することができる。デバイス秘密鍵がメモリデバイスの外部の別のデバイスと共有されず、外部秘密鍵がホストの外部の別のデバイスと共有されないので、メモリデバイス及びホストに送信されたデータは、安全なままである。
図8は、本開示の実施形態に従った、証明書を検証する例示的な処理のブロック図である。図8の示される実施例では、公開鍵883、証明書881、及び公開識別865は、ホストから(例えば、図5におけるホスト502のレイヤ1 553から)提供される。証明書881及び外部公開鍵883のデータは、復号器885への入力として使用され得る。復号器885は、データを復号するために使用される、いずれかのプロセッサ、コンピューティングデバイスなどであり得る。証明書881及び外部公開鍵883の復号の結果は、出力を結果としてもたらす、公開識別と共に二次復号器887への入力として使用され得る。外部公開鍵883及び復号器887からの出力は、889において示されるように、出力としてyesまたはno 891を結果としてもたらす、証明書が検証されるかどうかを示すことができる。証明書が検証されたことに応答して、検証されるデバイスから受信されたデータは、受諾、復号、及び処理され得る。証明書が検証されないことに応答して、検証されるデバイスから受信されたデータは、破棄、除去、及び/または無視され得る。このようにして、悪質なデータを送信する悪質なデバイスを検出及び回避することができる。実施例として、処理されることになるデータを送信するハッカーを識別することができ、ハッキングデータが処理されない。
図9は、本開示の実施形態に従った、署名を検証する例示的な処理のブロック図である。後続の拒絶を回避するために検証され得るデータをデバイスが送信しているインスタンスでは、署名がデータと共に生成及び送信され得る。実施例として、第1のデバイスは、第2のデバイスの要求を行ってもよく、第2のデバイスが要求を実行すると、第1のデバイスは、第1のデバイスがそのような要求を行わないことを示し得る。署名を使用することなどの拒絶回避アプローチは、第1のデバイスによって拒絶を回避することができ、第2のデバイスは、後続の困難なしに要求されたタスクを実行することができる。
メモリデバイス906(図2におけるメモリデバイス206など)は、ホスト(図2におけるホスト202など)にデータ990を送信することができる。メモリデバイス906は、994において、デバイス秘密鍵971を使用して署名996を生成することができる。署名996は、ホスト902に送信され得る。ホスト902は、998において、前に受信されたデータ992及び外部公開鍵969を使用して署名を検証することができる。このようにして、署名は、秘密鍵を使用して生成され、公開鍵を使用して検証される。このようにして、一意な署名を生成するために使用される秘密鍵は、署名を送信するデバイスに対して秘密なままであることができると共に、受信デバイスが検証のために送信デバイスの公開鍵を使用して署名を復号することができることを可能にする。これは、送信デバイスが受信デバイスの公開鍵を使用することによって暗号化され、受信デバイスが受信機の秘密鍵を使用することによって復号される、データの暗号化/復号とは対照的である。少なくとも1つの実施例では、デバイスは、内部暗号処理(例えば、楕円曲線デジタル署名(ECDSA))または同様の処理を使用することによってデジタル署名を検証することができる。
図10は、本開示の実施形態に従った、例示的なメモリデバイス1006のブロック図である。メモリデバイス1006は、例えば、図2と関連して前に説明されたメモリデバイス206であり得る。
図10に示されるように、メモリデバイス1006は、いくつかのメモリアレイ1001-1~1001-7を含み得る。メモリアレイ1001-1~1001-7は、図1と関連して前に説明されたメモリアレイ101と同様であり得る。更に、図10に示される実施例では、メモリアレイ1001-3は、セキュアアレイであり、メモリアレイ1001-6のサブセット1011は、セキュアアレイを含み、メモリアレイ1001-7のサブセット1013及び1015は、セキュアアレイを含む。サブセット1011、1013、及び1015は各々、例えば、4キロバイトのデータを含み得る。しかしながら、本開示の実施形態は、特定の数または配列のメモリアレイまたはセキュアアレイに限定されない。
図10に示されるように、メモリデバイス1006は、修復(例えば、回復)ブロック1017を含み得る。修復ブロック1017は、メモリデバイス1006の動作の間に発生する場合がある誤り(例えば、不一致)のケースにおいてデータの起点として使用され得る。修復ブロック1017は、ホストによってアドレス指定可能であるメモリデバイス1006の領域の外側であってもよい。
図10に示されるように、メモリデバイス1006は、シリアルペリフェラルインタフェース(SPI)1004及びコントローラ1008を含み得る。メモリデバイス1006は、本明細書で前に説明されたように(例えば、図2に関連して)、ホスト及びメモリアレイ1001-1~1001-7と通信するために、SPI 1004及びコントローラ1008を使用することができる。
図10に示されるように、メモリデバイス1006は、メモリデバイス1006のセキュリティを管理するためのセキュアレジスタ1019を含み得る。例えば、セキュアレジスタ1019は、アプリケーションコントローラを構成することができ、アプリケーションコントローラと外部で通信することができる。更に、セキュアレジスタ1019は、認証コマンドによって修正可能であってもよい。
図10に示されるように、メモリデバイス1006は、鍵1021を含み得る。例えば、メモリデバイス1006は、ルート鍵DICE-RIOT鍵、及び/または他の外部セッション鍵などの鍵を記憶するための8個の異なるスロットを含み得る。
図10に示されるように、メモリデバイス1006は、電子的消去可能プログラマブルリードオンリメモリ(EEPROM)1023を含み得る。EEPROM 1023は、データの個々のバイトを消去及びプログラムすることができる、ホストに対して利用可能な安全な不揮発性領域を設けることができる。
図10に示されるように、メモリデバイス1006は、カウンタ(例えば、モノトニックカウンタ)1025を含み得る。カウンタ1025は、ホストから受信され、及び/またはホストに送信されたコマンド(例えば、コマンドセットまたはシーケンスを署名するための)アンチリプレイ機構(例えば、フレッシュネス生成器)として使用され得る。例えば、メモリデバイス1006は、6個の異なるモノトニックカウンタを含み得、その2つは、認証されたコマンドに対してメモリデバイス1006によって使用されてもよく、その4つは、ホストによって使用されてもよい。
図10に示されるように、メモリデバイス1006は、SHA-256暗号学的ハッシュ関数1027及び/またはHMAC-SHA256暗号学的ハッシュ関数1029を含み得る。SHA-256暗号学的ハッシュ関数1027及び/またはHMAC-SHA256暗号学的ハッシュ関数1029は、例えば、本明細書で前に説明されたブロック220の暗号学的ハッシュ、及び/または本明細書で前に説明されたメモリアレイ1001-1~1001-7に記憶されたデータを有効であると確認するために使用されるゴールデンハッシュなど、暗号学的ハッシュを生成するためにメモリデバイス1006によって使用され得る。更に、メモリデバイス1006は、DICE-RIOT 1031のL0及びL1をサポートすることができる。
本明細書では特定の実施形態が示され説明されたが、示される特定の実施形態は、同じ結果を達成するように意図された構成と置き換えられ得ることを、当業者は理解するであろう。本開示は、本開示のいくつかの実施形態の適合形態または変形形態を含むことを意図する。上記の説明は、例示目的であり、限定目的ではないことを理解されたい。上記の実施形態の組み合わせ、及び本明細書に具体的に記載されていない他の実施形態は、上記の説明を検討することで、当業者には明らかとなるであろう。本開示のいくつかの実施形態の範囲は、上記の構造及び方法が使用される他の用途を含む。したがって、本開示のいくつかの実施形態の範囲は、添付の特許請求の範囲と、添付の特許請求の範囲に権利を与えられた内容と同等物の全範囲とを参照して、特定されるべきである。
前述の発明を実施するための形態では、本開示を簡素化する目的で、いくつかの特徴が単一の実施形態にまとめられている。本開示のこの方法は、本開示の開示された実施形態が、各請求項に明確に列挙された特徴より多くの特徴を使用する必要があるという意図を反映するものとして、解釈されるべきではない。むしろ、下記の特許請求の範囲が反映するように、発明の主題は、開示された単一の実施形態の全ての特徴よりも少ない特徴で存在する。したがって、下記の特許請求の範囲は、本明細書では発明を実施するための形態に組み込まれ、各請求項は、別個の実施形態として独立している。

Claims (20)

  1. メモリと、
    前記メモリに記憶されたデータを有効であると確認するために、ブロックチェーンにおいてブロックを生成するように構成された回路と、を備え、
    前記ブロックは、
    前記ブロックチェーン内の前のブロックの暗号学的ハッシュと、
    前記メモリに記憶された前記データの暗号学的ハッシュと、を含み、
    前記ブロックは、前記ブロックが前記ブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有する、
    装置。
  2. 前記回路は、前記メモリに前記ブロックを記憶するように構成されている、請求項1に記載の装置。
  3. 前記回路は、前記デジタル署名を生成するように構成されている、請求項1に記載の装置。
  4. 前記メモリは、メモリセルのアレイを含み、
    前記回路は、前記アレイを定義するように構成されたレジスタのペアを含み、前記レジスタのペアは、前記アレイのアドレスを定義するように構成されたレジスタ、及び前記アレイのサイズを定義するように構成されたレジスタを含み、
    前記回路は、前記アレイと関連付けられた暗号学的ハッシュを生成するように構成されている、
    請求項1~3のいずれか1項に記載の装置。
  5. 前記回路は、前記メモリに記憶された前記データの前記暗号学的ハッシュを生成するように構成されている、請求項1~3のいずれか1項に記載の装置。
  6. メモリを動作させる方法であって、
    前記メモリに記憶されたデータを有効であると確認するために、ブロックチェーンにおいてブロックを生成することであって、
    前記ブロックは、
    前記ブロックチェーン内の前のブロックの暗号学的ハッシュと、
    前記メモリに記憶された前記データの暗号学的ハッシュと、を含み、
    前記ブロックは、前記ブロックが前記ブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有する、前記生成することと、
    前記メモリに前記ブロックを記憶することと、
    を備えた、前記方法。
  7. 前記方法は、前記メモリに記憶された前記データを有効であると確認するために、ホストに前記ブロックを送信することを含み、前記ブロックは、前記メモリの電力供給または前記ホストからのコマンドの受信に応答して送信される、請求項6に記載の方法。
  8. 前記ブロックは、前記メモリのユーザに対してアクセス可能でない前記メモリの部分に記憶される、請求項6に記載の方法。
  9. 前記方法は、前記メモリに記憶された前記データの有効であるとの確認の後、前記ブロックチェーンにおいて追加のブロックを生成することを含み、前記追加のブロックは、
    前記ブロックチェーン内の前記前のブロックの追加の暗号学的ハッシュであって、前記ブロックチェーン内の前記前のブロックの前記追加の暗号学的ハッシュは、前記メモリに記憶された前記データの前記暗号学的ハッシュである、前記追加の暗号学的ハッシュと、
    前記メモリに記憶された前記データの追加の暗号学的ハッシュと、を含む、
    請求項6~8のいずれか1項に記載の方法。
  10. 前記方法は、前記メモリに前記追加のブロックを記憶することを含む、請求項9に記載の方法。
  11. メモリを動作させる方法であって、
    前記メモリからホストによって、前記メモリに記憶されたデータを有効であると確認するために、ブロックチェーンにおいてブロックを受信することであって、
    前記ブロックは、
    前記ブロックチェーン内の前のブロックの暗号学的ハッシュと、
    前記メモリに記憶された前記データの暗号学的ハッシュと、を含み、
    前記ブロックは、前記ブロックが前記ブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有する、前記受信することと、
    前記ホストによって、前記受信されたブロックを使用して、前記メモリに記憶された前記データを有効であると確認することと、
    を備えた、前記方法。
  12. 前記メモリに記憶された前記データの前記暗号学的ハッシュは、SHA-256暗号学的ハッシュを含む、請求項11に記載の方法。
  13. 前記ブロックチェーン内の前記前のブロックの前記暗号学的ハッシュは、256バイトのデータを含み、
    前記メモリに記憶された前記データの前記暗号学的ハッシュは、256バイトのデータを含む、
    請求項11に記載の方法。
  14. 前記方法は、前記ホストによって、前記ブロックが前記ブロックチェーンに含まれると判定するよう、前記デジタル署名を有効であると確認することを含む、請求項11~13のいずれか1項に記載の方法。
  15. 前記ブロックは、タイムスタンプを有するヘッダを含む、請求項11~13のいずれか1項に記載の方法。
  16. 前記方法は、
    前記メモリから前記ホストによって、前記メモリのアレイと関連付けられた暗号学的ハッシュを受信することと、
    前記ホストによって、前記アレイと関連付けられた前記暗号学的ハッシュを使用して、前記メモリに記憶された前記データを有効であると確認することと、
    を含む、請求項11~13のいずれか1項に記載の方法。
  17. メモリであって、前記メモリは、前記メモリに記憶されたデータを有効であると確認するために、ブロックチェーンにおいてブロックを含み、
    前記ブロックは、
    前記ブロックチェーン内の前のブロックの暗号学的ハッシュと、
    前記メモリに記憶された前記データの暗号学的ハッシュと、を含み、
    前記ブロックは、前記ブロックが前記ブロックチェーンに含まれることを示す、それと関連付けられたデジタル署名を有する、前記メモリと、
    ホストであって、前記ホストは、
    前記メモリから前記ブロックを受信し、
    前記受信されたブロックを使用して、前記メモリに記憶された前記データを有効であると確認する、ように構成されている、前記ホストと、
    を備えた、システム。
  18. 前記ホストは、前記メモリに、前記ブロックを検知するコマンドを送信するように構成され、
    前記メモリは、前記ブロックを検知する前記コマンドを実行するように構成されている、
    請求項17に記載のシステム。
  19. 前記ホストは、
    前記メモリに記憶された前記データの前記暗号学的ハッシュを生成し、
    前記メモリに、前記メモリに記憶された前記データの前記生成された暗号学的ハッシュを送信する、
    ように構成されている、請求項17に記載のシステム。
  20. 前記ホストは、
    前記ブロックと関連付けられた前記デジタル署名を生成し、
    前記メモリに、前記生成されたデジタル署名を送信する、
    ように構成されている、請求項17~19のいずれか1項に記載のシステム。
JP2021557322A 2019-03-25 2020-03-23 ブロックチェーンにおけるブロックとしてのメモリの使用 Pending JP2022526936A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/362,792 2019-03-25
US16/362,792 US11228443B2 (en) 2019-03-25 2019-03-25 Using memory as a block in a block chain
PCT/US2020/024163 WO2020198113A1 (en) 2019-03-25 2020-03-23 Using memory as a block in a block chain

Publications (1)

Publication Number Publication Date
JP2022526936A true JP2022526936A (ja) 2022-05-27

Family

ID=72605179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021557322A Pending JP2022526936A (ja) 2019-03-25 2020-03-23 ブロックチェーンにおけるブロックとしてのメモリの使用

Country Status (6)

Country Link
US (1) US11228443B2 (ja)
EP (1) EP3949249A4 (ja)
JP (1) JP2022526936A (ja)
KR (1) KR20210132730A (ja)
CN (1) CN113632413A (ja)
WO (1) WO2020198113A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3761201A1 (en) * 2019-07-03 2021-01-06 Nokia Technologies Oy Cryptographic memory attestation
US11782610B2 (en) * 2020-01-30 2023-10-10 Seagate Technology Llc Write and compare only data storage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017157926A (ja) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置及びプログラム
WO2018043599A1 (ja) * 2016-08-30 2018-03-08 ソラミツ株式会社 情報共有システム
JP2018516026A (ja) * 2015-03-20 2018-06-14 リヴェッツ・コーポレーションRivetz Corp. ブロックチェーンを使用したデバイス整合性の自動認証

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149729A1 (en) 2011-07-18 2014-05-29 Ted A. Hadley Reset vectors for boot instructions
CN103890856B (zh) * 2011-10-27 2017-07-11 慧与发展有限责任合伙企业 支持内存储数据结构的可移位存储器
US10482275B2 (en) 2014-01-27 2019-11-19 Cryptography Research, Inc. Implementing access control by system-on-chip
US9621549B2 (en) 2014-07-25 2017-04-11 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid
US9875510B1 (en) 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
EP3292484B1 (en) * 2015-05-05 2021-07-07 Ping Identity Corporation Identity management service using a block chain
EP3317775B1 (en) * 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
GB201511964D0 (en) 2015-07-08 2015-08-19 Barclays Bank Plc Secure digital data operations
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
GB201607476D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
US10204341B2 (en) * 2016-05-24 2019-02-12 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees
US10305694B2 (en) * 2016-05-27 2019-05-28 Mastercard International Incorporated Method and system for efficient distribution of configuration data utilizing permissioned blockchain technology
US10250694B2 (en) * 2016-08-19 2019-04-02 Ca, Inc. Maintaining distributed state among stateless service clients
US11258587B2 (en) * 2016-10-20 2022-02-22 Sony Corporation Blockchain-based digital rights management
DE102017204536B3 (de) * 2017-03-17 2018-03-08 Bundesdruckerei Gmbh Ausstellen virtueller Dokumente in einer Blockchain
EP3445017B1 (en) * 2017-08-16 2019-10-09 Veoneer Sweden AB A method relating to a motor vehicle driver assistance system
US10628454B2 (en) * 2018-03-13 2020-04-21 Blockpoint Systems Inc. Relational blockchain database
WO2020036657A1 (en) * 2018-04-26 2020-02-20 The Assay Depot, Inc. Decentralized data verification
US11632369B2 (en) * 2019-01-29 2023-04-18 Mastercard International Incorporated Method and system for authentication of connected device transactions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018516026A (ja) * 2015-03-20 2018-06-14 リヴェッツ・コーポレーションRivetz Corp. ブロックチェーンを使用したデバイス整合性の自動認証
JP2017157926A (ja) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置及びプログラム
WO2018043599A1 (ja) * 2016-08-30 2018-03-08 ソラミツ株式会社 情報共有システム

Also Published As

Publication number Publication date
EP3949249A4 (en) 2022-12-07
CN113632413A (zh) 2021-11-09
KR20210132730A (ko) 2021-11-04
US11228443B2 (en) 2022-01-18
WO2020198113A1 (en) 2020-10-01
US20200313899A1 (en) 2020-10-01
EP3949249A1 (en) 2022-02-09

Similar Documents

Publication Publication Date Title
JP7170906B2 (ja) セキュア更新のためのローカル台帳ブロックチェーン
US11755406B2 (en) Error identification in executed code
US11960632B2 (en) Data attestation in memory
US11683155B2 (en) Validating data stored in memory using cryptographic hashes
JP2022528072A (ja) 安全な電子制御装置更新のためのローカル台帳ブロックチェーン
US11669643B2 (en) Block chain based validation of memory commands
JP2022527069A (ja) ランタイムコード実行検証
JP2022526936A (ja) ブロックチェーンにおけるブロックとしてのメモリの使用
US20200310776A1 (en) Over-the-air update validation
US20220138114A1 (en) Using memory as a block in a block chain

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230627