(57)【要約】  アドレススクランブルのための記憶機器及び方法。機器は、ランダム鍵を生成するように構成される鍵生成モジュール（１１）と、鍵生成モジュール（１１）によって生成されるランダム鍵を記憶するように構成される不揮発性鍵メモリ（１２）と、不揮発性鍵メモリ（１２）内に記憶されるランダム鍵を自動的に読み取り、そのランダム鍵を記憶するように構成される鍵読取モジュール（１３）と、オンチップメモリを読み書きするための生成された逐次制御ロジック内の非スクランブルアドレスをアドレススクランブルモジュール（１４）に出力するように構成されるメモリ制御モジュール（１５）と、メモリ制御モジュール（１５）、鍵読取モジュール（１３）、及びメモリ（１６）のそれぞれに接続され、鍵読取モジュール（１３）によって読み取られたランダム鍵に従い、メモリ制御モジュール（１５）が出力する非スクランブルアドレスに対してスクランブル処理を実行してスクランブルアドレスを形成し、スクランブルアドレスをメモリ（１６）に送信するように構成されるアドレススクランブルモジュール（１４）を含む。この機器は、メモリの読み書きの効率に影響を与えることなしにデータアドレスに対してスクランブル処理を実施し、従って効率的で確実なデータの読み書きを保証することができる。
2021505995.tif 000002
【特許請求の範囲】
【請求項１】
アドレススクランブルのための記憶機器であって、
メモリと、
ランダム鍵を生成するように構成される鍵生成モジュールと、
前記鍵生成モジュールによって生成される前記ランダム鍵を記憶するように構成される不揮発性鍵メモリと、
前記不揮発性鍵メモリ内に記憶される前記ランダム鍵を読み取るように構成される鍵読取モジュールと、
前記メモリとの読み書きによって生成されるデータ内の非スクランブルアドレスを出力するように構成されるメモリ制御モジュールと、
前記メモリ制御モジュール、前記鍵読取モジュール、及び前記メモリに通信可能に結合され、前記ランダム鍵に従って前記非スクランブルアドレスに対してスクランブル処理を実行してスクランブルアドレスを形成し、前記スクランブルアドレスを前記メモリに送信するように構成されるアドレススクランブルモジュールと
を含む、機器。
【請求項２】
前記アドレススクランブルモジュールが、
前記ランダム鍵及び前記メモリ制御モジュールが出力する前記非スクランブルアドレスを受信するように構成される受信ユニットと、
ハードウェアコンポーネントを有し、前記ランダム鍵に従って前記非スクランブルアドレスに対してスクランブル処理を実行してスクランブルアドレスを形成するように構成されるスクランブルユニットと、
前記スクランブルアドレスを前記メモリに送信するように構成される送信ユニットと
を含む、請求項１に記載の機器。
【請求項３】
前記アドレススクランブルモジュールが、
前記非スクランブルアドレスと前記スクランブルアドレスとの間の対応関係を作成するように構成されるアドレスマッピングユニット
を更に含む、請求項１又は２に記載の機器。
【請求項４】
前記アドレスマッピングユニットが、以下のマッピング式：
addr(0,n)<=>addr’ (0,n’),n∈(0,x),n’∈(0,x’)
に従って前記対応関係を作成し、前記非スクランブルアドレスによって指定される位置は前記スクランブルアドレスによって指定される位置と異なる、請求項３に記載の機器。
【請求項５】
前記鍵生成モジュールが、真の乱数発生器、擬似乱数発生器、物理複製困難関数（ＰＵＦ）、ハードウェアベースの乱数生成ユニット、又はソフトウェアの制御下でランダム鍵を生成するソフトウェアベースの乱数生成ユニットである、請求項１乃至４の何れか一項に記載の機器。
【請求項６】
前記鍵生成モジュールが、異なる機器に対応する異なるランダム鍵を生成する、請求項４に記載の機器。
【請求項７】
前記鍵生成モジュールによって生成される前記ランダム鍵が、記憶するために前記不揮発性鍵メモリ内に一回又は複数回書き込まれ、前記不揮発性鍵メモリ内に記憶される前記ランダム鍵が変更不能である、請求項５又は６に記載の機器。
【請求項８】
前記メモリ制御モジュールが前記メモリに接続され、オンチップメモリを読み書きするための生成された逐次制御ロジック内の制御ロジックデータを前記メモリに出力するように構成される、請求項１乃至７の何れか一項に記載の機器。
【請求項９】
前記鍵読取モジュールが、
前記不揮発性鍵メモリ内に記憶される前記ランダム鍵を読み取るように構成される読取ユニットと、
前記読み取ったランダム鍵を記憶するように構成されるレジスタと
を含む、請求項８に記載の機器。
【請求項１０】
アドレススクランブルのための記憶方法であって、
ランダム鍵を生成し、前記ランダム鍵を、記憶するために不揮発性鍵メモリ内に書き込むこと、
前記不揮発性鍵メモリ内に記憶された前記ランダム鍵を読み取り、前記ランダム鍵を保存すること、
メモリとの読み書きの間にデータを生成するとき、非スクランブルアドレスを出力すること、
前記メモリとの読み書きの間に生成されるデータのための非スクランブルアドレスに対してスクランブル処理を実行してスクランブルアドレスを形成すること、及び
前記スクランブルアドレスを前記メモリに送信すること
を含む、方法。
【請求項１１】
ランダム鍵を生成し、前記ランダム鍵を、記憶するために不揮発性鍵メモリ内に書き込むことが、記憶機器への最初の電源投入時に行われる、請求項１０に記載の方法。
【請求項１２】
前記不揮発性鍵メモリ内に記憶された前記ランダム鍵を読み取り、前記ランダム鍵を保存することが、システムのリセット時に行われる、請求項１０に記載の方法。
【請求項１３】
前記スクランブルアドレスを前記メモリに送信することが、
前記スクランブルアドレスに従って前記データを前記メモリに出力すること
を更に含む、請求項１０乃至１２の何れか一項に記載の方法。
【請求項１４】
スクランブル処理を実行することが、
前記ランダム鍵に従ってハードウェアコンポーネントを制御して、前記非スクランブルアドレスに対して周期的なスクランブル処理を実行してスクランブルアドレスを形成すること
を更に含む、請求項１０乃至１３の何れか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[001]  本開示は、参照によりその全体を本明細書に援用する、２０１７年１２月６日に出願された中国特許出願第２０１７１１２７８２８０．２号の優先権の利益を主張する。
【背景技術】
【０００２】
背景
[002]  システムオンチップ（ＳｏＣ）技術の急速な発展により、メモリはますます広い範囲で適用されている。メモリは、プログラム及び様々な種類のデータを記憶するように主に機能し、システム実行プロセス内のプログラム又はデータに迅速且つ自動的にアクセスすることができる。メモリは「記憶」機能を有する装置であり、２つの安定状態を有する物理装置を使用することによって情報を記憶する。但し、暗号化されずにメモリ内に記憶されたデータは容易に盗まれる可能性がある。その結果、開発されたシステム、プログラム、及び命令プログラム等の重要なデータを十分に保護することができない。
【０００３】
[003]  データ保護の１つの方法は、データをメモリ内に記憶する前にデータを暗号化する。その結果、悪意あるハッカーがメモリからデータを盗んでも、そのハッカーは有効なデータを得ることができず、開発者の作業が保護される。暗号化／復号プロセスは、暗号化アルゴリズムを用いて平文を暗号文に暗号化し、不揮発性メモリ内に書き込むデータ書き込みプロセスと、復号アルゴリズムを用いて、読み取られた暗号文を平文になるように復元するデータ読み取りプロセスとを含む。上記のプロセスはデータ保護を達成することができるが、高度暗号化標準（ＡＥＳ）、データ暗号化標準（ＤＥＳ）、及び他の暗号化／復号アルゴリズム等の既存の暗号化技術はシステムチップの性能及びメモリとの読み書きの効率を著しく低下させ、性能要件が極めて高いチップ上で使用することができない。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の概要
[004]  本開示の実施形態は、アドレススクランブルのための記憶機器を提供する。この機器は、ランダム鍵を生成するように構成される鍵生成モジュールと、ランダム鍵を記憶するように構成される不揮発性鍵メモリと、ランダム鍵を読み取り記憶するように構成される鍵読取モジュールと、メモリとの読み書きによって生成されるデータ内の非スクランブルアドレスを出力するように構成されるメモリ制御モジュールと、メモリ制御モジュール、鍵読取モジュール、及びメモリに通信可能に結合され、ランダム鍵に従ってスクランブル処理を実行するように構成されるアドレススクランブルモジュールとを含み得る。
【０００５】
[005]  本開示の実施形態は、アドレススクランブルのための記憶方法を更に提供する。この方法は、ランダム鍵を生成し、ランダム鍵を記憶するために不揮発性鍵メモリ内に書き込むこと、不揮発性鍵メモリ内に記憶されたランダム鍵を読み取り、ランダム鍵を保存すること、メモリとの読み書きの間にデータが生成されるとき、非スクランブルアドレスをアドレススクランブルモジュールに出力すること、メモリとの読み書きの間に生成されたデータの非スクランブルアドレスに対してスクランブル処理を実行してスクランブルアドレスを形成すること、及びスクランブルアドレスをメモリに送信することを含み得る。
【０００６】
図面の簡単な説明
[006]  本開示の実施形態における技術的解決策をより明確に示すために、実施形態を説明するのに必要な添付図面を以下で簡単に紹介する。以下の説明における添付図面は、本開示の一部の実施形態に過ぎないことは明らかである。当業者は、創造的な取り組みなしに添付図面による他の図面を得ることができる。
【図面の簡単な説明】
【０００７】
【図１】[007]本開示のいくつかの実施形態による、アドレススクランブルのための例示的な記憶機器の概略図である。
【図２】[008]本開示のいくつかの実施形態による、アドレススクランブルのための例示的な記憶機器の概略図である。
【図３】[009]本開示のいくつかの実施形態による、アドレススクランブルのための例示的な記憶方法の流れ図である。
【図４】[010]本開示のいくつかの実施形態による、アドレススクランブルのための例示的な記憶方法の流れ図である。
【発明を実施するための形態】
【０００８】
詳細な説明
[011]  本開示の実施形態の目的、技術的解決策、及び利点をより明確にするために、本開示の実施形態における添付図面を参照して本開示の実施形態における技術的解決策を以下で説明する。記載する実施形態は明らかに本開示の実施形態の全てではなく一部に過ぎない。本開示の実施形態に基づき、創造的な取り組みなしに当業者によって得られる他の全ての実施形態が本開示の保護範囲に含まれる。
【０００９】
[012]  従来のシステムの問題を克服するために、開示する実施形態は、メモリの読み書きの効率を損なうことなくデータ暗号化のセキュリティ及び機密性を改善するアドレススクランブルのための記憶機器を記載する。
【００１０】
[013]  本開示のいくつかの実施形態は、アドレススクランブルのための記憶機器を提供する。図１は、本開示のいくつかの実施形態による、アドレススクランブルのための例示的な記憶機器の概略図である。図１に示すように、この機器は、鍵生成モジュール１１と、不揮発性メモリ１２と、鍵読取モジュール１３と、アドレススクランブルモジュール１４と、メモリ制御モジュール１５と、メモリ１６とを含む。
【００１１】
[014]  鍵生成モジュール１１は、ランダム鍵を生成するように構成される。不揮発性メモリ１２は、鍵生成モジュール１１によって生成されたランダム鍵を記憶するように構成される。鍵読取モジュール１３は、不揮発性鍵メモリ１２内に記憶されたランダム鍵を自動的に読み取り、そのランダム鍵を記憶するように構成される。メモリ制御モジュール１５は、メモリ１６との読み書きによって生成されるデータ内の非スクランブルアドレスをアドレススクランブルモジュール１４に出力するように構成される。アドレススクランブルモジュール１４は、メモリ制御モジュール１５、鍵読取モジュール１３、及びメモリ１６に直接又は１つ若しくは複数のコンポーネントを介して通信可能に結合される。アドレススクランブルモジュール１４は、鍵読取モジュール１３によって読み取られたランダム鍵に従い、メモリ制御モジュール１５が出力する非スクランブルアドレスに対してスクランブル処理を実行してスクランブルアドレスを形成し、スクランブルアドレスをメモリ１６に送信するように構成される。
【００１２】
[015]  本開示の実施形態によって提供するアドレススクランブルのための記憶機器は、メモリ１６内に記憶されるデータが順不同になるように、メモリ制御モジュール１５を主に使用してデータ記憶アドレスに対するスクランブル処理を実行する。データアドレスのスクランブル処理はメモリの読み書きの効率に影響を与えず、従って効率的で確実なデータの読み書きを保証する。鍵生成モジュール１１を使用し、この機器は、鍵読取モジュール１３によって読み取られるランダム鍵が機器に一意に対応するように、当該機器に対応するランダム鍵を生成し、そのランダム鍵を不揮発性鍵メモリ１２内に記憶することにより、暗号化のセキュリティ及び機密性を更に保証する。更に、このスクランブル処理はスクランブルアドレスと非スクランブルアドレスとの間の１対１の対応関係を作成し、そのためメモリ制御モジュール１５はメモリ１６内のデータを便利に読み書きすることができる。
【００１３】
[016]  図２に示すように、いくつかの実施形態では、アドレススクランブルモジュール１４が、受信ユニット１４１と、スクランブルユニット１４２と、送信ユニット１４３と、アドレスマッピングユニット１４４とを含む。
【００１４】
[017]  受信ユニット１４１は、鍵読取モジュール１３によって読み取られたランダム鍵、及びメモリ制御モジュール１５が出力する非スクランブルアドレスを受信するように構成される。
【００１５】
[018]  スクランブルユニット１４２はハードウェアコンポーネントを含み、鍵読取モジュールによって読み取られたランダム鍵に従い、メモリ制御モジュールによって出力された非スクランブルアドレスに対して周期的なスクランブル処理を実行してスクランブルアドレスを形成するように構成される。例えばスクランブルユニット１４２は、順不同のデータアドレスを生成するためにＸＯＲハードウェアコンポーネント、シーケンス配列ハードウェアコンポーネント、又は他のハードウェアコンポーネントを使用することができる。
【００１６】
[019]  送信ユニット１４３は、スクランブルアドレスをメモリに送信するように構成される。
【００１７】
[020]  例えばスクランブルユニット１４２のハードウェアコンポーネントを使用することにより、アドレススクランブルモジュール１４は、受信ユニット１４１によって受信されたランダム鍵及び非スクランブルアドレスに対してスクランブル処理をまず実行することができる。一方、スクランブルユニット１４２は、ランダム鍵及び非スクランブルアドレスに対するスクランブル処理を単一のサイクル内で実施する。最後に、送信ユニット１４３がスクランブルアドレスを読み取りプロセス又は書き込みプロセスのためにメモリに送信する。
【００１８】
[021]  いくつかの実施形態では、アドレススクランブルモジュール１４が、メモリを読み書きすることによって生成されるデータ内の非スクランブルアドレスと、スクランブルアドレスとの間の１対１の対応関係を作成するように構成されるアドレスマッピングユニット１４４を更に含む。作成される対応関係は以下のマッピング式に従うことができ、非スクランブルアドレスによって指定される位置はスクランブルアドレスによって指定される位置と異なる：
addr(0,n)<=>addr’(0,n’),n∈(0,x),n’∈(0,x)
【００１９】
[022]  式中、非スクランブルアドレス「addr」はスクランブルアドレス「addr’」にマップされる。ベクトル「n」によって定められる特定の非スクランブルアドレス「addr(0,n)」について、非スクランブルアドレス「addr(0,n)」と１対１の対応関係を有する、別のベクトル「n’」によって定められる特定のスクランブルアドレス「addr’(0,n’)」がある。両方のベクトル「n」及び「n’」は同じ閉区間「(0,x)」に属する。例えば、非スクランブルアドレスのスクランブルは、アドレススクランブルモジュール１４内のアドレス閉区間を使用することによって実施することができる。非スクランブルアドレスは、アドレス閉区間を超えることなしに、スクランブル後に形成されるスクランブルアドレスに対して１対１の対応関係を有することができる。最後にアドレスマッピングユニット１４４は、対応するマッピング関係を形成し、それにより機器のメモリデータの読み書きの効率を改善する。
【００２０】
[023]  鍵生成モジュール１１は、真の乱数発生器、擬似乱数発生器、物理複製困難関数（ＰＵＦ）、ハードウェアによってランダム鍵を生成するハードウェアランダム生成ユニット、又はソフトウェアの制御下でランダム鍵を生成するソフトウェアランダム生成ユニットとすることができる。鍵生成モジュール１１は、異なる機器に対応する異なるランダム鍵を生成する。
【００２１】
[024]  例えば鍵生成モジュール１１は、異なる機器に対して異なる鍵を生成することができ、各メモリ１６によって使用される鍵が一意であることを確実にする。メモリ１６内のデータが識別されても、記憶されているデータの実際の意味を分析することは不可能である。従って、機器のセキュリティ性能が更に改善される。
【００２２】
[025]  いくつかの実施形態では、鍵生成モジュール１１によって生成されるランダム鍵が、記憶するために不揮発性鍵メモリ１２内に一回書き込まれ、変更不能である。これはメモリ内のコンテンツが頻繁に更新される必要がないシナリオに当てはまる。いくつかの実施形態では、鍵生成モジュール１１によって生成されるランダム鍵が、記憶するために不揮発性鍵メモリ１２内に少なくとも２回書き込まれる。これはメモリ内のコンテンツがより頻繁に更新されるシナリオに当てはまる。ランダム鍵が変化した後、メモリ１２はデータを再初期化することができ、鍵の変化よりも前の全てのデータが無効になり、そのため機器のセキュリティ及び効率が更に改善される。
【００２３】
[026]  いくつかの実施形態では、メモリ制御モジュール１５がメモリ１６に接続され、オンチップメモリを読み書きするために生成された逐次制御ロジック内の制御ロジックデータをメモリ１６に出力するように構成される。
【００２４】
[027]  いくつかの実施形態では、鍵読取モジュール１３が、読取ユニット１３１及びレジスタ１３２を含む。読取ユニット１３１は、不揮発性鍵メモリ内に記憶されるランダム鍵を自動的に読み取るように構成される。レジスタ１３２は、ランダム鍵を記憶するように構成される。
【００２５】
[028]  例えば機器への電源投入後、鍵読取モジュール１３は、読取ユニット１３２を使用して不揮発性鍵メモリ１２内のランダム鍵を自動的に読み取ることができる。ランダム鍵の取得後、アドレススクランブルモジュール１４によってランダム鍵が使用可能なように、鍵読取モジュール１３がランダム鍵をレジスタ１３２内に記憶する。鍵読取モジュールの自動的な鍵の読み取りはハードウェア回路によって実施することができ、ソフトウェアによってアクセスすることはできない。
【００２６】
[029]  本開示のいくつかの実施形態は、アドレススクランブルのための記憶方法を更に提供する。図３は、本開示のいくつかの実施形態によるアドレススクランブルのための記憶方法の流れ図である。図３に示すように、この方法はステップＳ１１、Ｓ１２、Ｓ１３、及びＳ１６を含む。
【００２７】
[030]  ステップＳ１１で、記憶機器への電源投入後に鍵生成モジュール（例えば鍵生成モジュール１１）がランダム鍵を生成し、そのランダム鍵を記憶するために不揮発性鍵メモリ（例えば不揮発性鍵メモリ１２）内に書き込む。
【００２８】
[031]  ステップＳ１２で、ＳｏＣシステムのリセット後に鍵読取モジュール（例えば鍵読取モジュール１３）が不揮発性鍵メモリ内に記憶されたランダム鍵を自動的に読み取り、そのランダム鍵を記憶する。
【００２９】
[032]  ステップＳ１３で、メモリ（例えばメモリ１６）との読み書きの間にデータが生成されるとき、非スクランブルアドレスをアドレススクランブルモジュール（例えばアドレススクランブルモジュール１４）に出力する。
【００３０】
[033]  ステップＳ１６で、ランダム鍵に基づき、メモリとの読み書きによって生成されるデータに由来する非スクランブルアドレスに対してスクランブル処理を実行し、スクランブルアドレスをメモリに送信する。
【００３１】
[034]  例えば本開示のいくつかの実施形態によって提供するアドレススクランブルのための記憶方法では、記憶機器への電源投入後、メモリ内に記憶されるデータが順不同になるように、鍵生成モジュールによって生成されるランダム鍵を使用することによってメモリ制御モジュール（例えばメモリ制御モジュール１５）がデータ記憶アドレスに対してスクランブル処理を実行する。データアドレスのスクランブル処理は、メモリの読み書きの効率に影響を与えず、従って効率的で確実なデータの読み書きを保証する。加えて、鍵生成モジュールは各機器に固有のランダム鍵を生成し、機器の暗号化のセキュリティ及び機密性を更に保証する。更に、このスクランブル処理の前後にアドレス間の１対１の対応関係を作成し、そのためメモリ制御モジュールはメモリとの間でデータを便利に読み書きすることができる。
【００３２】
[035]  図４に示すように、いくつかの実施形態では追加のステップＳ１４を含めることができる。ステップＳ１４では、ランダム鍵に従って非スクランブルアドレスに対してスクランブル処理を実行するステップが、いくつかのハードウェアコンポーネントを制御する。ハードウェアコンポーネントは、非スクランブルアドレスに対して周期的なスクランブル処理を実行してスクランブルアドレスを形成する。いくつかの実施形態では、スクランブルアドレスがメモリに送信される。
【００３３】
[036]  図４に示すようにいくつかの実施形態では、ステップＳ１５で、スクランブルアドレスを使用し、メモリとの読み書きによって生成されるデータをメモリに出力する。
【００３４】
[037]  これらの実施形態における方法は、上記の機器の実施形態の技術的解決策を制御するために使用することができ、同様の実装原理及び技術的効果を有する。詳細はここでは繰り返し説明しない。
【００３５】
[038]  上記の実施形態の中の方法におけるメモリとの読み書きを伴うプロセスの全て又は一部は、関連するハードウェアに命令するコンピュータプログラムによって実装できることが理解されよう。プログラムはコンピュータ可読記憶媒体に記憶することができ、実行されるとき、上述の方法の実施形態のプロセスを含むことができる。記憶媒体は、磁気ディスク、光ディスク、読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）等とすることができる。
【００３６】
[039]  本開示の特定の実装方法を上記で説明したが、本開示の保護範囲はそれらの実装方法に限定されない。本開示によって開示した技術的範囲から逸脱することなく、当業者によって容易に考案され得る如何なる変更又は置換も本開示の保護範囲に含まれるものとする。従って、本開示の保護範囲は特許請求の範囲の保護範囲に服するものとする。
【図１】
2021505995.tif 000003
【図２】
2021505995.tif 000004
【図３】
2021505995.tif 000005
【図４】
2021505995.tif 000006
【国際調査報告】
2021505995.tif 000007
2021505995.tif 000008