(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023083225
(43)【公開日】2023-06-15
(54)【発明の名称】記憶装置の許可管理を行うエレクトロニクス装置及び方法
(51)【国際特許分類】
G06F 21/78 20130101AFI20230608BHJP
H04L 9/06 20060101ALI20230608BHJP
G06F 21/62 20130101ALI20230608BHJP
G06F 7/58 20060101ALI20230608BHJP
【FI】
G06F21/78
H04L9/06 Z
G06F21/62 318
G06F7/58 680
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022185297
(22)【出願日】2022-11-18
(31)【優先権主張番号】63/286,083
(32)【優先日】2021-12-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/961,528
(32)【優先日】2022-10-06
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520196623
【氏名又は名称】▲しゃーん▼碼科技股▲ふん▼有限公司
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】▲呉▼ 孟益
(72)【発明者】
【氏名】▲呉▼ 家徹
(72)【発明者】
【氏名】楊 青松
(57)【要約】
【課題】 記憶装置の許可管理を行うエレクトロニクス装置及び方法を提供する。
【解決手段】 記憶装置は複数のストレージブロックを含む。当該エレクトロニクス装置は、コントローラと、複数の専用インタフェースとを含み、該複数の専用インタフェースはコントローラの複数のポートに結合される。コントローラは、記憶装置のアクセス制御を実行するように構成される。複数の専用インタフェースは複数のストレージブロックに対応し、複数の専用インタフェースの各専用インタフェースが、コントローラを介して各専用インタフェースに対応する複数のストレージブロックのうちの1つにアクセスするための専用チャネルを提供するように構成される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
記憶装置の許可管理を行うエレクトロニクス装置であって、前記記憶装置は複数のストレージブロックを有し、当該エレクトロニクス装置は、
前記記憶装置のアクセス制御を実行するように構成されたコントローラと、
前記コントローラの複数のポートに結合された複数の専用インタフェースであり、当該複数の専用インタフェースは前記複数のストレージブロックに対応し、当該複数の専用インタフェースの各専用インタフェースが、前記コントローラを介して前記各専用インタフェースに対応する前記複数のストレージブロックのうちの1つにアクセスするための専用チャネルを提供するように構成される、複数の専用インタフェースと、
を有する、エレクトロニクス装置。
【請求項2】
前記コントローラに結合され、前記コントローラを介して前記複数のストレージブロックの全てにアクセスするためのルートチャネルを提供するように構成されたルートインタフェース、
を更に有する請求項1に記載のエレクトロニクス装置。
【請求項3】
前記ルートインタフェースに結合されたホスト装置が前記記憶装置の品質チェックを実行し、該品質チェックが完了した後、前記ルートインタフェースの少なくとも一部が一時的又は永続的に無効化される、請求項2に記載のエレクトロニクス装置。
【請求項4】
前記ルートインタフェースに結合されたホスト装置が前記コントローラにエントロピーシードを送信し、該エントロピーシードの送信が完了した後、前記ルートインタフェースの少なくとも一部が一時的又は永続的に無効化される、請求項2に記載のエレクトロニクス装置。
【請求項5】
前記ルートインタフェースに結合されたホスト装置が前記複数のストレージブロックのセキュアフラグを設定し、該セキュアフラグの設定が完了した後、前記ルートインタフェースの少なくとも一部が一時的又は永続的に無効化される、請求項2に記載のエレクトロニクス装置。
【請求項6】
前記複数のストレージブロックのうちのいずれかのストレージブロックにアクセスすることの許可が、前記複数のストレージブロックの各々に対応する前記セキュアフラグが設定されているか否かによって決定される、請求項5に記載のエレクトロニクス装置。
【請求項7】
前記コントローラは、前記複数の専用インタフェースに複数のハードウェア固有キー(HUK)をそれぞれ割り当て、前記コントローラは、前記複数の専用インタフェースのうちの第1の専用インタフェースに対応した、前記複数のストレージブロックのうちの第1のストレージブロックのアクセスを、前記第1の専用インタフェースに割り当てられたHUKを用いて制御する、請求項1に記載のエレクトロニクス装置。
【請求項8】
前記コントローラは、
前記コントローラのエントロピーシードに従って前記複数のHUKを生成するように構成されたキー導出関数(KDF)回路、
を有する、請求項7に記載のエレクトロニクス装置。
【請求項9】
前記コントローラの前記エントロピーシードは、前記コントローラの外部から伝送される、請求項8に記載のエレクトロニクス装置。
【請求項10】
前記複数の専用インタフェースと前記複数のストレージブロックは一対一で互いに対応している、請求項1に記載のエレクトロニクス装置。
【請求項11】
前記コントローラは、前記第1の専用インタフェースに割り当てられた前記HUKと、前記第1の専用インタフェースを介して受信したアクセスコマンドとに従って、前記第1のストレージブロックについてのマッピングを実行する、請求項7に記載のエレクトロニクス装置。
【請求項12】
前記コントローラは、
暗号化されたデータを生成するために、前記各専用インタフェースからのデータを、前記各専用インタフェースに割り当てられたHUKを用いて暗号化するように構成された暗号化回路、
を有し、
前記コントローラは、前記暗号化されたデータを、前記各専用インタフェースに対応するストレージブロックに格納する、
請求項7に記載のエレクトロニクス装置。
【請求項13】
前記暗号化回路は、少なくとも1つの排他的OR(XOR)論理回路を有し、該少なくとも1つのXOR論理回路は、前記暗号化されたデータを生成するために、前記各専用インタフェースに割り当てられた前記HUK及び前記各専用インタフェースからの前記データに対して、少なくとも1つのXOR論理演算を実行するように構成される、請求項12に記載のエレクトロニクス装置。
【請求項14】
前記暗号化回路は、先進的暗号化標準(AES)アルゴリズムを採用することによって、前記各専用インタフェースからの前記データを暗号化する、請求項12に記載のエレクトロニクス装置。
【請求項15】
前記暗号化回路は、データ暗号化標準(DES)アルゴリズムを採用することによって、前記各専用インタフェースからの前記データを暗号化する、請求項12に記載のエレクトロニクス装置。
【請求項16】
記憶装置の許可管理を行う方法であって、前記記憶装置は複数のストレージブロックを有し、当該方法は、
第1の専用インタフェースを用いて、前記複数のストレージブロックのうちの第1のストレージブロックにアクセスするための第1の専用チャネルを提供し、
第2の専用インタフェースを用いて、前記複数のストレージブロックのうちの第2のストレージブロックにアクセスするための第2の専用チャネルを提供し、
コントローラを用いて、前記第1の専用インタフェースに結合されたホスト装置が前記第2のストレージブロックにアクセスするのを防止する、
ことを有する方法。
【請求項17】
前記コントローラを用いて、前記第1の専用インタフェースに結合された前記ホスト装置が前記第2のストレージブロックにアクセスするのを防止することは、
前記第1の専用インタフェース及び前記第2の専用インタフェースに、それぞれ、第1のハードウェア固有キー(HUK)及び第2のHUKを割り当て、
前記第1のストレージブロック及び前記第2のストレージブロックのアクセスを制御するために、それぞれ、前記第1のHUK及び前記第2のHUKを使用する、
ことを有し、
前記第1のHUKは前記第2のHUKとは異なる、
請求項16に記載の方法。
【請求項18】
前記第1のHUK及び前記第2のHUKは、キー導出関数(KDF)回路により、前記コントローラのエントロピーシードに従って生成される、請求項17に記載の方法。
【請求項19】
当該方法は更に、
前記コントローラに結合されたルートインタフェースを介して、前記コントローラの外部から前記コントローラに前記エントロピーシードを伝送する、
ことを有し、
前記エントロピーシードの伝送が完了した後、前記ルートインタフェースは一時的又は永続的に無効化される、
請求項18に記載の方法。
【請求項20】
前記コントローラに内蔵された物理的複製困難関数(PUF)デバイスによって前記エントロピーシードを生成する、
ことを更に有する請求項18に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、許可管理に関し、より具体的には、記憶装置の許可管理を行うエレクトロニクス装置及び方法に関する。
【背景技術】
【0002】
電子システムの動作を支援する記憶装置は、複数の記憶空間にパーティション分けされ、それら記憶空間の各々がコンテナと称され得る。電子システム上で実行される異なるアプリケーションにそれぞれ異なるコンテナが用意され得る。関連技術においては、複数の異なるコンテナのアクセス動作が同じインタフェースを介して実行される。例えば、複数の異なるコンテナに関するアクセス制御がソフトウェアによって管理され得る。複数の異なるコンテナにアクセスするために用意された特定のハードウェアレベル分割は存在しない。さらに、暗号化と解読の処理が必要な場合、複数の異なるコンテナのデータを暗号化又は解読するのに1つのキーを使用するのが通常である。そのため、記憶装置内のセキュアなパーティションと非セキュアなパーティションのアクセス許可を効果的に管理することが難しい。
【0003】
従って、複数の異なるコンテナのアクセスパスをハードウェアレベルで明確にパーティション分けし、それによって記憶装置の許可管理の堅牢性を向上させるために、新規な方法及び関連アーキテクチャが必要とされる。
【発明の概要】
【0004】
本発明の1つの目的は、副作用を導入することなく又は副作用を導入する可能性の低い方法で関連技術の問題を解決するための、記憶装置の許可管理を行うエレクトロニクス装置及び方法を提供することである。
【0005】
本発明の少なくとも1つの実施形態は、記憶装置の許可管理を行うエレクトロニクス装置を提供する。記憶装置は複数のストレージブロックを有し得る。当該エレクトロニクス装置は、コントローラと、複数の専用インタフェースとを有することができ、該複数の専用インタフェースはコントローラの複数のポートに結合される。コントローラは、記憶装置のアクセス制御を実行するように構成される。複数の専用インタフェースは複数のストレージブロックに対応し、複数の専用インタフェースの各専用インタフェースが、コントローラを介して各専用インタフェースに対応する複数のストレージブロックのうちの1つにアクセスするための専用チャネルを提供するように構成される。
【0006】
本発明の少なくとも1つの実施形態は、記憶装置の許可管理を行う方法を提供する。記憶装置は複数のストレージブロックを有し得る。当該方法は、第1の専用インタフェースを用いて、複数のストレージブロックのうちの第1のストレージブロックにアクセスするための第1の専用チャネルを提供し、第2の専用インタフェースを用いて、複数のストレージブロックのうちの第2のストレージブロックにアクセスするための第2の専用チャネルを提供し、コントローラを用いて、第1の専用インタフェースに結合されたホスト装置が第2のストレージブロックにアクセスするのを防止する、ことを有し得る。
【0007】
本発明の実施形態は、異なるコンテナ、例えばストレージブロックなど、にアクセスするために、異なるハードウェアパス、例えば専用インタフェース、を提供する。さらに、ホスト装置(例えば、ハッキング機器)が、特定のストレージブロックに、該特定のストレージブロックにアクセスする許可を持たないインタフェースを介してアクセスするのを防ぐために、専用インタフェースの各々に固有のキーを割り当てることができる。それ故に、記憶装置の許可管理の堅牢性を向上させることができる。
【0008】
様々な図及び図面に示される好適実施形態の以下の詳細な説明を読んだ後、本発明のこれら及び他の目的が当業者に明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に従ったエレクトロニクス装置を示す図である。
【
図2】本発明の一実施形態に従った、
図1に示したエレクトロニクス装置の一部詳細を示す図である。
【
図3】本発明の一実施形態に従った、ルートインタフェースを介した、
図2に示したエレクトロニクス装置の一部ルート制御を示す図である。
【
図4】本発明の一実施形態に従った、コントローラにエントロピーシードを伝送する動作を示す図である。
【
図5】本発明の一実施形態に従った、内蔵デバイスを用いてエントロピーシードを自己生成する動作を示す図である。
【
図6】本発明の一実施形態に従った、ハードウェア固有キーを割り当てる動作を示す図である。
【
図7】本発明の一実施形態に従った、
図2に示したエレクトロニクス装置を介した記憶装置のデータアクセスを示す図である。
【
図8】本発明の一実施形態に従った、記憶装置の許可管理を行う方法の動作フローを示す図である。
【発明を実施するための形態】
【0010】
図1は本発明の一実施形態に従ったエレクトロニクス装置100を示す図であり、エレクトロニクス装置100は、例えばサブシステムSys-1、Sys-2、…、及びSys-Nなどの少なくとも1つのホスト装置が例えば不揮発性メモリ(NVM)50などの記憶装置にアクセスするための、関係する制御を実行するように構成される。NVM50の例は、以下に限られないが、ワンタイムプログラマブル(OTP)メモリ、マルチタイムプログラマブル(MTP)メモリ、電子ヒューズ(eFuse)メモリ、磁気抵抗ランダムアクセスメモリ(MRAM)、及び抵抗ランダムアクセスメモリ(RRAM)を含み得る。
【0011】
図1に示すように、エレクトロニクス装置100は、コントローラ100C、専用インタフェース120-1、120-2、…、及び120-N(簡潔さのための図では“I/F”とラベル付ける)、及びルートインタフェース110(簡潔さのために図では“ルートI/F”とラベル付ける)を有し得る。コントローラ100Cは、NVM50のアクセス制御を実行するように構成される。専用インタフェース120-1、120-2、…、及び120-Nは、コントローラの複数のポートに結合される。例えば、複数の専用インタフェース、コントローラの複数のポート、及び複数のストレージブロックは、一対一で互いに対応している。より具体的には、専用インタフェース120-1がコントローラ100Cのポート#1に結合され、専用インタフェース120-2がコントローラ100Cのポート#2に結合され、そして、残りは類推されることができ、例えば、専用インタフェース120-Nがコントローラ100Cのポート#Nに結合される。この実施形態において、NVM50は、例えば第1ストレージブロック、第2ストレージブロック、…、及び第Nストレージブロックなどの複数のストレージブロックを有することができ、複数のストレージブロックの各々を、特定の機能をサポートするためのコンテナとして参照することができる。専用インタフェース120-1、120-2、…、及び120-Nは、複数のストレージブロックにそれぞれ対応することができ、専用インタフェース120-1、120-2、…、及び120-Nの各専用インタフェースが、コントローラ100Cを介して当該各専用インタフェースの対応するストレージブロックにアクセスするための専用チャネルを提供するように構成される。より具体的には、専用インタフェース120-1が、第1ストレージブロックにアクセスするための第1専用チャネルを提供するように構成され、専用インタフェース120-2が、第2ストレージブロックにアクセスするための第2専用チャネルを提供するように構成され、そして、残りは類推されることができ、例えば、専用インタフェース120-Nが、第Nストレージブロックにアクセスするための第N専用チャネルを提供するように構成される。なお、他の実施形態では、専用インタフェース120-1、120-2、…、120-Nの数が、複数のストレージブロックの数とは異なることができ、換言すれば、専用インタフェースと複数のストレージブロックは、一対一で互いに結合されるようには限定されない。
【0012】
上述の構成によれば、コントローラ100Cは、特定の専用インタフェースに結合されたホスト装置が、該専用インタフェースに対応するストレージブロック以外のストレージブロックにアクセスすることを防止することができる。より具体的には、サブシステムSys-1は第1ストレージブロックにのみアクセスすることができ、コントローラ100Cは、サブシステムSys-1が第1ストレージブロック以外のいずれかのストレージブロックにアクセスすることを防止し得る。残りは類推されることができ、例えば、サブシステムSys-Nは第Nストレージブロックにのみアクセスすることができ、コントローラ100Cは、サブシステムSys-Nが第Nストレージブロック以外のいずれかのストレージブロックにアクセスすることを防止し得る。
【0013】
この実施形態において、コントローラ100Cは、対応するポートを介してアクセスコマンドを受信する対応するストレージブロックに対する制御処理(例えば、アドレスマッピング、データマッピング、又は暗号化/解読処理)を実行し得る。アクセスコマンドは、データ及び/又はアドレス情報を含み得る。より具体的には、専用インタフェース120-1に結合されたサブシステムSys-1がエレクトロニクス装置100にアクセスコマンドを送るとき、コントローラ100Cはポート#1を介してこのアクセスコマンドを受信し、それにより制御処理CTRL-1を実行して、第1ストレージブロック(よりよい理解のために“NVM-1”とラベル付ける)についてのマッピング結果及び/又は対応するデータを生成し得る。残りは類推されることができ、例えば、専用インタフェース120-Nに結合されたサブシステムSys-Nがエレクトロニクス装置100にアクセスコマンドを送るとき、コントローラ100Cはポート#Nを介してこのアクセスコマンドを受信し、それにより制御処理CTRL-Nを実行して、第Nストレージブロック(よりよい理解のために“NVM-N”とラベル付ける)についてのマッピング結果及び/又は対応するデータを生成し得る。一実施形態において、マッピング結果は、詳細に後述するHUK-1、 HUK-2、…、及びHUK-NなるHUKに従って、アクセスコマンドに関するデータ又はアドレスにスクランブルをかける/スクランブルを解除することによって生成されることができる。
【0014】
この実施形態において、ルートインタフェース110は、コントローラ100Cとルートシステム20との間に結合されており、ルートインタフェース110は、コントローラ100Cを介してNVM50のストレージブロックの全てにアクセスすることができるルートチャネルを提供するように構成される。例えば、ルートシステム20を含むホスト装置が、ルートインタフェース110を介してコントローラ100Cにルートコマンドを送信し得る。ルートコマンドを受信したことをコントローラ100Cが認識すると、コントローラ100Cは、NVM50にアクセスするための最高の権限を許可することができ、それにより、ルートコマンドに従ってルート制御処理CTRL-ROOTを実行し得る。ルート制御処理CTRL-ROOTが完了した後、ルートインタフェース110の一部又は全てが一時的又は永続的に無効化され得る。ルート制御処理CTRL-ROOTは、NVM50の品質チェック、コントローラ100Cにエントロピーシードを送ること、又はNVM50の複数のストレージブロックのセキュアフラグを設定することなどを含み得る。一実施形態において、エレクトロニクス装置100が十分に保護されている場合、1つ以上のストレージブロックに対応するルートインタフェース110の部分的な機能(例えば、テストモード)のみが無効化され、他の機能は有効にされたままである。他の一実施形態において、NVM50のストレージブロックの各々に対する品質チェックが実行された後、品質チェックに失敗した1つ以上のストレージブロックはルートインタフェースを介してアクセスされないとすることができ、換言すれば、品質チェックに失敗した1つ以上のストレージブロックに対応するルートインタフェースの部分が一時的又は永続的に無効化され得る。
【0015】
一部の実施形態において、NVM50内の複数のストレージブロックのうちのいずれかのストレージブロックにアクセスすることの許可は、そのストレージブロックに対応するセキュアフラグが設定されているか否かによって決定され得る。例えば、ルートシステム20は、第1ストレージブロック、第2ストレージブロック、…、及び第Nストレージブロックのうちのいずれかのストレージブロックを一時的又は永続的に無効にするために、ルートインタフェース110を介して、そのストレージブロックのセキュアフラグを設定するためのルートコマンドを送信し得る。一部の実施形態において、第1ストレージブロック、第2ストレージブロック、…、及び第Nストレージブロックのうちのいずれかのストレージブロック(例えば、Mは、Nより小さい正の整数であるとして、第Mストレージブロック)がいっぱいである又は書き込み処理が完了したときに、コントローラ100Cは、第Mストレージブロックを読み出し専用ストレージブロックであるように設定するために、第Mストレージブロックのセキュアフラグを設定し得る。
【0016】
図2は、本発明の一実施形態に従ったエレクトロニクス装置100の一部詳細を示す図である。コントローラ100Cは更に、例えばハードウェア固有キー(hardware unique key;HUK)130などのエントロピーシードを格納するための少なくとも1つのOTPメモリを有し得る。加えて、コントローラ100Cは更に、例えばKDFエンジン140などのキー導出関数(key derivation function;KDF)回路と、例えば先進的暗号化標準(advanced encryption standard;AES)エンジン150などの暗号化/解読回路とを有し得る。この実施形態において、コントローラ100Cは、KDFエンジン140を使用して、コントローラ100Cの例えばHUK130などのエントロピーシードに従って、例えばHUK-1、HUK-2、…、及びHUK-Nなどの複数のHUKを生成し、HUK-1、HUK-2、…、及びHUK-NなるHUKを専用インタフェース120-1、120-2、…、及び120-Nにそれぞれ割り当て得る。ここで、HUK-1、HUK-2、…、及びHUK-NなるHUKは互いに異なる。より具体的には、コントローラ100Cは、HUK-1なるHUKを専用インタフェース120-1の専用チャネルに割り当て、HUK-2なるHUKを専用インタフェース120-2の専用チャネルに割り当て、そして、残りは類推されることができ、例えば、HUK-NなるHUKを専用インタフェース120-Nの専用チャネルに割り当て得る。各専用インタフェースについて、コントローラ100Cは、当該各専用インタフェースに割り当てられたHUKを用いて、対応するストレージブロックのアクセスを制御し得る。より具体的には、サブシステムSys-1がエレクトロニクス装置100にアクセスコマンドを送信するとき、コントローラ100Cはポート#1を介してこのアクセスコマンドを受信し、それによりHUK-1なるHUKに従って制御処理CTRL-1を実行することができ、AESエンジン150は、第1ストレージブロックに書き込むべき暗号化されたデータE(NVM-1)(例えば、マッピング結果)を生成するために、専用インタフェース120-1からのデータを、HUK-1なるHUKを用いて暗号化することができる。残りは類推されることができ、例えば、サブシステムSys-Nがエレクトロニクス装置100にアクセスコマンドを送信するとき、コントローラ100Cはポート#Nを介してこのアクセスコマンドを受信し、それによりHUK-NなるHUKに従って制御処理CTRL-Nを実行することができ、AESエンジン150は、第Nストレージブロックに書き込むべき暗号化されたデータE(NVM-N)を生成するために、専用インタフェース120-Nからのデータを、HUK-NなるHUKを用いて暗号化することができる。
【0017】
なお、
図2の実施形態は、暗号化/解読回路の一例として、例えばXTS、暗号ブロック連鎖(Cipher Block Chaining;CBC)、電子コードブック(Electronic Code Book;EBC)などのAESアルゴリズムを使用してデータを暗号化するAESエンジンを採用しているが、本発明はこれに限定されるものではない。一部の実施形態において、暗号化/解読回路は、データ暗号化標準(Data Encryption Standard;DES)アルゴリズム、独自アルゴリズム、ブロック暗号アルゴリズム、又は他の暗号化/解読アルゴリズムを使用することによって、各専用インタフェースからのデータを暗号化する。一部の実施形態において、暗号化/解読回路は、少なくとも1つの排他的OR(XOR)論理回路を有することができ、該少なくとも1つのXOR論理回路は、暗号化されたデータを生成するために、各専用インタフェースに割り当てられたHUK及び各専用インタフェースからのデータに対してXOR論理演算を実行するように構成される。暗号化/解読回路が、割り当てられたHUKの助けを借りて、各専用インタフェースによって受信したデータ又はアドレスにスクランブルをかけることができる限り、使用するアルゴリズム又は標準は様々とし得る。
【0018】
図3は、本発明の一実施形態に従った、ルートインタフェース110を介したエレクトロニクス装置100の一部ルート制御を示す図である。例えば、エレクトロニクス装置100及び/又はNVM50の製造プロセスのチッププローブ又は最終テスト(CP/FT)フェーズ中に、ルートシステム20は、ルートインタフェース110を介して品質チェック及び/又はセキュアフラグの設定を行い得る。
図3に示すように、エントロピーシードはまだコントローラ100C(例えば、そのOTPメモリ)に書き込まれておらず、それぞれの専用インタフェースの割り当てHUKを格納するレジスタは依然として空(エンプティ)であり、よりよい理解のために
図3では“HUK-Empty”とラベル付けている。さらに、CP/FT段階においてNVM50に書き込まれた又は保存されたデータはなく、よりよい理解のために
図3では“NVM-Empty”とラベル付けている。
【0019】
図4は、本発明の一実施形態に従った、コントローラ100C(例えば、そのOTPメモリ)に例えばHUK130などのエントロピーシードを伝送する動作を示す図である。
図4に示すように、ルートシステムは、コントローラ100Cの外部からコントローラ100CにHUK130を送信し得る。しかしながら、HUK130はコントローラ100Cの外部から得られるように限定されるものではない。
図5は、本発明の一実施形態に従った、内蔵デバイスを用いてHUK130を自己生成する動作を示す図である。
図5に示すように、コントローラ100Cは更に、物理的複製困難関数(physical unclonable function;PUF)デバイス160を有することができ、PUFデバイス160がコントローラ100CのHUK130を生成するように構成される。
【0020】
図6は、本発明の一実施形態に従った、HUK-1、HUK-2、…、及びHUK-NなるHUKを割り当てる動作を示す図である。
図6に示すように、HUK130の準備ができた後、コントローラ100Cは、本発明の一実施形態に従って、KDFエンジン140を使用して例えばHUK-1、HUK-2、…、及びHUK-Nなどの複数の異なるHUKを生成することができ、コントローラ100Cは、HUK-1、HUK-2、…、及びHUK-NなるHUKを、専用インタフェース120-1、120-2、…、及び120-Nによって提供される専用チャネルにそれぞれ割り当てることができる。詳細には、HUK-1、HUK-2、…、及びHUK-NなるHUKを割り当てる動作は、エレクトロニクス装置100が電源投入される時に行われ得る。例えば、本発明は以下に限られないが、エレクトロニクス装置が電源オフされると、レジスタに格納されたHUK-1、HUK-2、…、及びHUK-NなるHUKは消失し、次の電源投入時に、HUK-1、HUK-2、…、及びHUK-NなるHUKをレジスタに再ロードすることができるが、。
【0021】
図7は、本発明の一実施形態に従った、エレクトロニクス装置100を介したNVM50のデータアクセスを示す図である。
図7に示すように、サブシステムSys-1がデータData-1をNVM50の第1ストレージブロックに書き込むためにアクセスコマンドを送信するとき、AESエンジン150が、HUK-1なるHUKに従ってデータData-1を暗号化して、第1ストレージブロックに書き込まれる暗号化されたデータE(Data-1)を生成し得る。残りは類推されることができ、例えば、サブシステムSys-NがデータData-NをNVM50の第Nストレージブロックに書き込むためにアクセスコマンドを送信するとき、AESエンジン150が、HUK-NなるHUKに従ってデータData-Nを暗号化して、第Nストレージブロックに書き込まれる暗号化されたデータE(Data-N)を生成し得る。
【0022】
また、サブシステムSys-1が第1ストレージブロックに格納されたデータData-1を読み出すためにアクセスコマンドを送信するとき、サブシステムSys-1にデータData-1を応答するために、先ずコントローラ100Cが第1ストレージブロックから暗号化されたデータE(Data-1)を得て、AES150が、HUK-1なるHUKに従って、暗号化されたデータE(Data-1)を解読し得る。残りは類推されることができ、例えば、サブシステムSys-Nが第Nストレージブロックに格納されたデータData-Nを読み出すためにアクセスコマンドを送信するとき、サブシステムSys-NにデータData-Nを応答するために、先ずコントローラ100Cが第Nストレージブロックから暗号化されたデータE(Data-N)を得て、AES150が、HUK-NなるHUKに従って、暗号化されたデータE(Data-N)を解読し得る。
【0023】
一部の実施形態において、専用インタフェース120-1乃至120-Nの各々を介して実行される上述の動作は、代わりに、ルート制御処理CTRL-ROOTが完了した後であってもN個のストレージブロックNVM-1乃至NVM-Nの一部にアクセスするために利用可能なものであるルートインタフェース110を介して行われてもよい。
【0024】
本発明の構成に基づけば、ハッカーがある特定の違法なやり方を使用して、専用インタフェース120-1に送られるアクセスコマンドの目的位置を、例えば第2のストレージブロックといった、第1ストレージブロック以外のストレージブロックのアドレスにジャンプさせようとする場合であっても、異なるストレージブロックは異なるアドレスマッピングを持つことができるので、ハッカーは依然として、攻撃を試みた正しい位置を攻撃することができない。さらに、暗号化されたデータE(Data-2)をハッカーが専用インタフェース120-1を介して不正に得たとしても、専用インタフェース120-1上で行われるアクセス動作はHUK-2なるHUKを得る許可を持たないため、ハッカーは依然として、暗号化されたデータE(Data-2)を正しく解読することができない。従って、単にソフトウェアレベルでの許可管理を実装するだけの関連技術と比較して、セキュリティ関連管理の堅牢性を効果的に向上させることができる。
【0025】
図8は、本発明の一実施形態に従った、記憶装置の許可管理を行う方法の動作フローを示す図であり、記憶装置は複数のストレージブロックを有し、当該動作フローはエレクトロニクス装置100に適用可能である。なお、
図8に示す動作フローにおいて、1つ以上のステップが追加、削除、又は変更されてもよく、同じ結果を得ることができれば、これらのステップは
図8に示す順序通りに実行される必要はない。
【0026】
ステップS810にて、エレクトロニクス装置100は、第1専用インタフェース(例えば、専用インタフェース120-1)を用いて、複数のストレージブロックのうちの第1ストレージブロックにアクセスするための第1専用チャネルを提供し得る。
【0027】
ステップS820にて、エレクトロニクス装置100は、第2専用インタフェース(例えば、第1専用インタフェース120-1以外のいずれかの専用インタフェース)を用いて、複数のストレージブロックのうちの第2ストレージブロックにアクセスするための第2専用チャネルを提供し得る。
【0028】
ステップS830にて、エレクトロニクス装置100は、コントローラ(例えば、コントローラ100C)を用いて、第1専用インタフェースに結合されたホスト装置(例えば、サブシステムSys-1)が第2ストレージブロック(例えば、第1ストレージブロック以外のいずれかのストレージブロック)にアクセスするのを防止し得る。
【0029】
まとめるに、本発明の実施形態は、記憶装置の複数の異なるコンテナにそれぞれ専用のインタフェースを提供し、これは、許可管理をハードウェアレベルで扱うことを可能にする。この構成を用いて、複数の異なるコンテナのいっそう柔軟な管理のために、それぞれのセキュアフラグを設定することができる。従って、記憶装置内の異なるコンテナは、異なる許可レベル、異なる専用インタフェース、異なる制御処理、異なる記憶空間、及び異なるアドレスマッピングを持つことができる。故に、許可管理の堅牢性を大幅に向上させることができる。
【0030】
当業者が直ちに気付くことには、発明の教示を保持しながら装置及び方法の数多くの変更及び改変が為され得る。従って、以上の開示は、添付の請求項の境界範囲によってのみ限定されると解釈されるべきである。
【外国語明細書】