(57)【要約】  データを暗号化及び復号化するための方法及び装置が提供される。コンピュータシステムにおいてデータを暗号化するための方法は、暗号化用の第１のデータ及び第２のデータをメモリ操作モジュールによって受信することと、第１のデータに対応する第１の暗号化データ及び第２のデータに対応する第２の暗号化データ用の少なくとも１つの記憶領域を決定することと、第１及び第２のデータ並びに少なくとも１つの記憶領域に基づいて、少なくとも１つのキーを生成することと、第１の暗号化データ及び第２の暗号化をそれぞれ生成するために、少なくとも１つのキーを用いて第１のデータ及び第２のデータを暗号化することと、を含むことができる。
2020535693.tif 000002
【特許請求の範囲】
【請求項１】
集積回路においてデータを暗号化するための方法であって、
暗号化される第１のデータ及び第２のデータをメモリ操作モジュールによって受信することと、
前記第１のデータに対応する第１の暗号化データ及び前記第２のデータに対応する第２の暗号化データ用の少なくとも１つの記憶領域を決定することと、
前記第１及び第２のデータ並びに前記少なくとも１つの記憶領域に基づいて、少なくとも１つのキーを生成することと、
前記第１の暗号化データ及び前記第２の暗号化をそれぞれ生成するために、前記少なくとも１つのキーを用いて、前記第１のデータ及び前記第２のデータを暗号化することと、
を含む方法。
【請求項２】
前記第１のキー及び第２のキーが、前記集積回路のキーメモリに記憶される、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの記憶領域が、前記第１の暗号化データ用の第１の記憶領域、及び前記第２の暗号化データ用の第２の記憶領域を含み、且つ前記第１の記憶領域が、前記第２の記憶領域と相異なる場合に、前記少なくとも１つのキーが、前記第１のデータ用の第１のキーと、前記第２のデータ用の、前記第１のキーと相異なる第２のキーと、を含む、請求項１又は２に記載の方法。
【請求項４】
前記少なくとも１つの記憶領域が、前記第１及び第２の暗号化データ用の統一記憶領域を含む場合に、前記少なくとも１つのキーが、前記第１及び第２の暗号化データ用の統一キーを含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記少なくとも１つの記憶領域が、オフチップデータメモリに含まれる、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記暗号化が、ソフトウェアに対して透過的である、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記集積回路に関連するコンピュータシステムが攻撃されていることに応じて、前記キーメモリが消去される、請求項６に記載の方法。
【請求項８】
集積回路においてデータを復号化するための方法であって、
復号化用の第１の暗号化データ及び第２の暗号化データをメモリ操作モジュールによって受信することと、
前記第１及び第２の暗号化データに対応する少なくとも１つのキーをキーメモリから取得することと、
前記少なくとも１つのキーを用いて、前記第１及び第２の暗号化データを復号化することと、
を含み、
前記少なくとも１つのキーが、前記第１及び第２の暗号化データ、並びに前記第１及び第２の暗号化データ用の少なくとも１つの記憶領域に関連付けられる方法。
【請求項９】
前記キーメモリが、前記少なくとも１つのキーが取得された後でアクセス可能になる、請求項８に記載の方法。
【請求項１０】
前記第１及び第２の暗号化データが、オフチップデータメモリに記憶され、前記オフチップデータメモリが、新しいオフチップメモリと取り替えられた場合に、前記新しいオフチップメモリが、前記少なくとも１つのキーを用いることによっては復号化され得ない、請求項８に記載の方法。
【請求項１１】
コンピュータシステムにおいてデータを暗号化するための装置であって、
暗号化用の第１のデータ及び第２のデータを受信するための回路を有するメモリ操作モジュールと、
前記第１のデータに対応する第１の暗号化データ及び前記第２のデータに対応する第２の暗号化データ用の少なくとも１つの記憶領域を決定するように構成された回路と、
前記第１及び第２のデータ並びに前記少なくとも１つの記憶領域に基づいて、少なくとも１つのキーを生成するように構成された真性乱数発生器と、
前記第１の暗号化データ及び前記第２の暗号化をそれぞれ生成するために、前記少なくとも１つのキーを用いて、前記第１のデータ及び前記第２のデータを暗号化するための回路を有するデータ暗号化／復号化モジュールと、
を含む装置。
【請求項１２】
前記少なくとも１つの記憶領域が、前記第１の暗号化データ用の第１の記憶領域、及び前記第２の暗号化データ用の第２の記憶領域を含み、且つ前記第１の記憶領域が、前記第２の記憶領域と相異なる場合に、前記少なくとも１つのキーが、前記第１のデータ用の第１のキーと、前記第２のデータ用の、前記第１のキーと相異なる第２のキーと、を含む、請求項１１に記載の装置。
【請求項１３】
前記少なくとも１つの記憶領域が、前記第１及び第２の暗号化データ用の統一記憶領域を含む場合に、前記少なくとも１つのキーが、前記第１及び第２の暗号化データ用の統一キーを含む、請求項１１又は１２に記載の装置。
【請求項１４】
前記少なくとも１つの記憶領域が、オフチップデータメモリに含まれる、請求項１１〜１３のいずれか一項に記載の装置。
【請求項１５】
前記暗号化が、ソフトウェアに対して透過的である、請求項１１〜１４のいずれか一項に記載の装置。
【請求項１６】
前記第１のキー及び第２のキーが、キーメモリに記憶される、請求項１２に記載の装置。
【請求項１７】
前記コンピュータシステムが攻撃されていることに応じて、前記キーメモリが消去される、請求項１６に記載の装置。
【請求項１８】
コンピュータシステムにおいてデータを復号化するための装置であって、
復号化用の第１の暗号化データ及び第２の暗号化データを受信するための回路を有するメモリ操作モジュールと、
前記第１及び第２の暗号化データに対応する少なくとも１つのキーをキーメモリから取得するための、且つ前記少なくとも１つのキーを用いて、前記第１及び第２の暗号化データを復号化するための回路を有するデータ暗号化／復号化モジュールと、
を含み、
前記少なくとも１つのキーが、前記第１及び第２の暗号化データ、並びに前記第１及び第２の暗号化データ用の少なくとも１つの記憶領域に関連付けられる装置。
【請求項１９】
前記キーメモリが、前記少なくとも１つのキーが取得された後で、アクセス可能になる、請求項１８に記載の装置。
【請求項２０】
前記第１及び第２の暗号化データが、オフチップデータメモリに記憶され、前記オフチップデータメモリが、新しいオフチップメモリと取り替えられた場合に、前記新しいオフチップメモリが、前記少なくとも１つのキーを用いることによっては復号化され得ない、請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[001]  関連出願の相互参照
本開示は、２０１７年９月２６日出願の中国出願第２０１７１０８８１２１１．４号の優先権の利益を主張し、その中国出願は、参照によりその全体において本明細書で援用される。
【背景技術】
【０００２】
[002]  背景
世界的な情報化の加速度的なペースと共に、ネットワーク及びモバイルインターネットデバイスは、人々の生活に緊密に連結され、且つ現代社会における情報交換用の不可欠なキャリアになった。モバイルスマートデバイスの性能が、著しく改善し、且つ高速モバイルインターネットのカバレッジが、連続的に拡大するのと共に、モバイルオフィス及びモバイル金融取引が普及している。しかし、オフィスデータ及び金融取引データに対するますます多くの脅威が存在する。
【０００３】
[003]  データセキュリティ問題を解決するために、コンピュータ技術、暗号理論、及びネットワークアプリケーションのレベルを改善することが必要である。現在、情報セキュリティ保護は、従来の単一点の情報暗号化から、チップレベルのハードウェア保護に基づいて構成される、且つネットワークシステム全体をカバーする情報保証システムへと発展してきた。更に、復号化を阻止する、且つ情報セキュリティ保護メカニズムを有する低コストで小ぶりの高性能チップ設計が、不可欠の傾向になった。従って、システムオンチップ（ＳｏＣ）設計は、徐々に、埋め込みシステムの新しい開発傾向になる。チップ設計者は、通常、暗号化／復号化アルゴリズム及び情報セキュリティプロトコルを１つのＳｏＣチップに統合し、そのＳｏＣチップは、より高いセキュリティレベルを提供する。しかしながら、従来のＳｏＣチップに統合された暗号化／復号化アルゴリズムは、相異なるチップにおける、又は同じチップの相異なる記憶領域における暗号化／復号化用に同じキーを使用し、データを有効に保護することができない。
【発明の概要】
【課題を解決するための手段】
【０００４】
[004]  開示の概要
本開示の実施形態は、集積回路においてデータを暗号化するための方法を提供する。方法は、暗号化用の第１のデータ及び第２のデータをメモリ操作モジュールによって受信することと、第１のデータに対応する第１の暗号化データ及び第２のデータに対応する第２の暗号化データ用の少なくとも１つの記憶領域を決定することと、第１及び第２のデータ並びに少なくとも１つの記憶領域に基づいて少なくとも１つのキーを生成することと、第１の暗号化データ及び第２の暗号化をそれぞれ生成するために、少なくとも１つのキーを用いて、第１のデータ及び第２のデータを暗号化することと、を含むことができる。
【０００５】
[005]  本開示の実施形態は、集積回路においてデータを復号化するための方法を更に提供する。方法は、復号化用の第１の暗号化データ及び第２の暗号化データをメモリ操作モジュールによって受信することと、第１及び第２の暗号化データに対応する少なくとも１つのキーをキーメモリから取得することと、少なくとも１つのキーを用いて、第１及び第２の暗号化データを復号化することと、を含むことができ、少なくとも１つのキーは、第１及び第２の暗号化データ、並びに第１及び第２の暗号化データ用の少なくとも１つの記憶領域に関連付けられる。
【０００６】
[006]  本開示の実施形態はまた、コンピュータシステムにおいてデータを暗号化するための装置を提供する。装置は、暗号化用の第１のデータ及び第２のデータを受信するための回路を有するメモリ操作モジュールと、第１のデータに対応する第１の暗号化データ及び第２のデータに対応する第２の暗号化データ用の少なくとも１つの記憶領域を決定するように構成された回路と、第１及び第２のデータ並びに少なくとも１つの記憶領域に基づいて、少なくとも１つのキーを生成するように構成された真性乱数発生器と、第１の暗号化データ及び第２の暗号化をそれぞれ生成するために、その少なくとも１つのキーを用いて、第１のデータ及び第２のデータを暗号化するための回路を有するデータ暗号化／復号化モジュールと、を含むことができる。
【０００７】
[007]  本開示の実施形態はまた、コンピュータシステムにおいてデータを復号化するための装置を提供する。装置は、復号化用の第１の暗号化データ及び第２の暗号化データを受信するための回路を有するメモリ操作モジュールと、第１及び第２の暗号化データに対応する少なくとも１つのキーをキーメモリから取得するための、且つ少なくとも１つのキーを用いて、第１及び第２の暗号化データを復号化するための回路を有するデータ暗号化／復号化モジュールと、を含むことができ、少なくとも１つのキーは、第１及び第２の暗号化データ、並びに第１及び第２の暗号化データ用の少なくとも１つの記憶領域に関連付けられる。
【０００８】
[008]  本開示の実施形態における技術的解決法をより明白に示すために、実施形態を説明するために必要とされる添付の図面が、以下で簡潔に導入される。以下の説明における添付の図面が、本開示の幾つかの実施形態だけであることは、明白である。当業者は、創造的な労力なしに、添付の図面に従って他の図面を取得することができる。
【図面の簡単な説明】
【０００９】
図面の簡単な説明
【図１】[009]本開示の実施形態による、データを暗号化及び復号化するための例示的な装置の概略図である。
【図２】[010]本開示の実施形態による、例示的な暗号化／復号化プロセスの流れ図である。
【図３】[011]本開示の実施形態による、データを暗号化及び復号化するための例示的な方法の流れ図である。
【発明を実施するための形態】
【００１０】
[012]  詳細な説明
ここで、例示的な実施形態を詳細に参照する。それらの実施形態の例が、添付の図面に図解される。以下の説明は、添付の図面を参照し、添付の図面では、相異なる図面における同じ番号は、別段の表現がなければ、同じ又は同様の要素を表す。例示的な実施形態の以下の説明で明らかにされる実装形態は、本発明と一致する全ての実装形態を表すわけではない。代わりに、それらは、添付の特許請求の範囲において挙げられるような主題と関係する態様と一致する装置、システム及び方法の単なる例である。
【００１１】
[013]  従来のシステムに関する問題を克服するために、開示される実施形態は、相異なるチップにおける、及び同じチップの相異なる記憶領域におけるデータの暗号化／復号化用に相異なるキーを使用できる記憶データ暗号化／復号化装置及び方法を提供し、且つデータ記憶並びに読み出し／書き込み操作をより効率的に完了することができる。
【００１２】
[014]  本開示は、データを暗号化及び復号化するための装置を提供する。図１は、本開示の実施形態に従って、データを暗号化及び復号化するための装置の概略図である。装置は、システムオンチップ（ＳＯＣ）などの１つ又は複数の集積回路とすることができる。図１に示されているように、装置は、オンチップセキュリティ記憶モジュール１１０及びオフチップデータメモリ１４０を含むことができる。オンチップセキュリティ記憶モジュール１１０は、暗号化及び復号化用のデータを読み書きするように構成することができ、オフチップデータメモリ１５０は、データを記憶するように構成することができる。
【００１３】
[015]  オンチップセキュリティ記憶モジュール１１０は、メモリ操作モジュール１２０及びデータセキュリティ設備モジュール１３０を更に含む。
【００１４】
[016]  メモリ操作モジュール１２０は、暗号化及び復号化に関連するキーを読み書きするように構成することができる。メモリ操作モジュール１２０はまた、暗号化又は復号化用のデータを受信するための回路を含むことができる。データが、少なくとも１つのピースで（in at least one piece）受信され得ることが分かる。例えば、データは、第１のデータ及び第２のデータを含むことができる。メモリ操作モジュールは、データを暗号化及び復号化するように更に構成することができる。メモリ操作モジュールは、データ暗号化／復号化モジュール１２２を含むことができ、データ暗号化／復号化モジュール１２２は、相異なるチップ又は相異なるオフチップデータメモリ用に相異なる暗号化／復号化アルゴリズムを使用する回路を含むことができる。アルゴリズムは、「ＯＲ」アルゴリズム、シーケンス再配置アルゴリズム、データ置換アルゴリズムなどを含むことができる。特に、キー取得及び暗号化／復号化は、ハードウェアによって実施し、且つソフトウェアに対して透過的にすることができる。例えば、データ暗号化／復号化モジュール１２２は、キーを取得するための、且つ取得したキーを用いてデータを復号化するための回路を含むことができる。
【００１５】
[017]  セキュリティ設備モジュール１３０は、真性乱数発生器１３２及びキーメモリ１３４を含むことができる。真性乱数発生器１３２は、ランダムキーを生成し、且つデータに暗号化／復号化操作を実行するために、データ暗号化／復号化モジュール１２２にキーを提供するための回路を含むことができる。キーメモリ１３４は、多数のキーを記憶するように構成することができる。キーは、多数の相異なるオフチップデータ記憶領域のデータに暗号化／復号化操作を実行するために用いることができる。幾つかの実施形態において、キーは、データ及びデータ用の記憶領域に基づいて生成することができる。
【００１６】
[018]  オフチップデータメモリ１４０は、暗号化データだけを記憶するように構成することができる。暗号化データは、多数のデータ記憶領域に分けることができる。相異なるキーは、相異なる記憶領域に記憶されたデータに対する暗号化／復号化用に使用することができる。相異なる記憶領域における暗号化／復号化を選択的に実行するべきかどうかを決定することもまた可能である。しかしながら、同じ記憶領域におけるデータは、同じキーを用いることによって暗号化／復号化することができるだけである。それによって、オフチップデータメモリ１４０が、新しいメモリと取り替えられる場合に、新しいメモリのデータは、以前の内蔵キーを用いることによって暗号化／復号化することはできず、新しいメモリに関連するチップは、正常に働くことができない。幾つかの実施形態において、それは、オフチップデータメモリ１４０及びキーメモリ１３４が、同じ物理的記憶媒体上に配置される場合に、有利になり得る。
【００１７】
[019]  作業プロセスにおいて、データ暗号化／復号化モジュール１２２は、真性乱数発生器１３２によって生成された真性乱数をキーとしてキーメモリ１３４に出力することができる。データ暗号化／復号化モジュール１２２は、オフチップデータメモリ１４０に書き込まれた平文データをキーメモリ１３４におけるキーを用いることによって暗号化し、オフチップメモリ１４０の読み出し／書き込み時間シーケンスに従って、オフチップメモリ１４０にデータを書き込み、且つオフチップデータメモリグループから読み出された暗号文データを復号化することが更にできる。メモリ操作モジュール１２０は、暗号化されていない書き込みデータをデータ暗号化／復号化モジュール１２２に出力し、且つデータ暗号化／復号化モジュール１２２の復号化された読み出しデータを入力することができる。
【００１８】
[020]  図２は、本開示の実施形態による、暗号化及び復号化の概略図である。図２に示されているように、集積回路に関連するシステムが開始した後で、真性乱数発生器（例えば真性乱数発生器１３２）は、多数のキーを生成することができる（２０１）。例えば、システムは、集積回路を含むハードウェア上で作動することができる。次に、データ暗号化／復号化モジュール（例えばデータ暗号化／復号化モジュール１２２）は、真性乱数発生器によって生成されたキーをキーメモリ（例えばキーメモリ１３４）に書き込むことができる（２０３）。
【００１９】
[021]  データメモリ（例えばオフチップデータメモリ１４０）におけるデータを分けるべきかどうかを決定することができる（２０５）。データメモリにおけるデータを分けるという決定に応じて、データメモリは、多数のデータ記憶領域に論理的に分割することができ、データ記憶領域におけるデータは、選択的に暗号化／復号化することができる（２０７）。相異なるキーが、暗号化及び復号化用に使用され得ることが分かる。データメモリにおけるデータを分けないという決定に応じて、データメモリは、データ記憶領域に分割されなくてもよく、同じキーを、データ記憶領域全体におけるデータを暗号化／復号化するために使用することができる（２０９）。次に、記憶領域操作モジュール（例えばメモリ操作モジュール１２０）を通過するデータは、暗号化／復号化することができる（２１１）。本開示の実施形態において、メモリ操作モジュールは、暗号化されていない書き込みデータをデータ暗号化／復号化モジュールに送ることができ、データ暗号化／復号化モジュールは、データを暗号化し、且つ暗号化データをオフチップデータメモリに記憶することができる。他方で、オフチップデータメモリは、復号化されていない読み出しデータをデータ暗号化／復号化モジュールに送ることができる。復号化が、データ暗号化／復号化モジュールによって実行された後で、復号化された読み出しデータは、メモリ読み出し／書き込みモジュールに送ることができる。例えば、データ暗号化／復号化モジュールは、オンチップキーメモリからキーを読み出し、且つオフチップデータメモリに書き込まれたデータ及びオフチップデータメモリから読み出されたデータを暗号化／復号化することができる。次に、システムが、攻撃されているかどうかが更に判定され得る（２１３）。システムが攻撃されている場合に、データ暗号化／復号化モジュールは、メモリにおけるデータが攻撃中に取得されるのを防ぐために、キーメモリにおけるキーを消去することができる（２１５）。システムが攻撃されていない場合に、システムが止められているかどうかが、更に判定され得る（２１７）。システムが止められていると判定された場合に、システムは、開始することができる。システムが止められていないと判定された場合に、メモリ操作モジュールを通過するデータは、暗号化／復号化することができる。
【００２０】
[022]  本開示の幾つかの実施形態は、データを暗号化及び復号化するための方法を更に提供する。図３は、本開示の実施形態による、データを暗号化及び復号化する方法の流れ図である。図３に示されているように、方法は、ステップＳ３１〜Ｓ３４を含む。
【００２１】
[023]  Ｓ３１において、キーは、例えばメモリ操作モジュール（例えばメモリ操作モジュール１２０）によって読み書きすることができ、メモリ操作モジュールを通過するデータは、暗号化／復号化することができる。メモリ操作モジュールは、暗号化／復号化アルゴリズムを実行するように構成されたデータ暗号化／復号化モジュール（例えばデータ暗号化／復号化モジュール１２２）を含むことができる。
【００２２】
[024]  Ｓ３２において、メモリ操作モジュールによって暗号化されたデータは、オフチップデータメモリ（例えばオフチップデータメモリ１４０）に記憶することができる。Ｓ３３において、キーは、セキュリティ設備モジュールの真性乱数発生器（例えば真性乱数発生器１３２）によって生成することができ、生成されたキーは、キーメモリ（例えばキーメモリ１３４）に記憶することができる。
【００２３】
[025]  Ｓ３４において、メモリ読み出しモジュールによってデータ暗号化／復号化モジュールに書き込まれるデータは、セキュリティ設備モジュールによって提供されるキーを用いて、データ暗号化／復号化モジュールによって暗号化することができ、暗号化データは、オフチップデータメモリに書き込むことができる。データ暗号化／復号化モジュールは、セキュリティ設備モジュールによって提供されたキーを用いることによって、オフチップデータメモリから読み出された暗号化データを復号化し、次に、復号化データをメモリ読み出しモジュールに送ることができる。
【００２４】
[026]  本開示によって提供される、データを暗号化及び復号化するための装置及び方法において、同じチップにおけるデータメモリは、多数の記憶領域に分割することができる。記憶領域のそれぞれは、記憶領域に対応するキーを用いることができる。相異なるチップにおいて、同一のアドレスを有する記憶領域は、相異なるキーを用い、そのようにしてデータセキュリティを保証することができる。データアクセス効率は、影響されないことが可能である。加えて、オフチップデータメモリが、新しいオフチップデータメモリと取り替えられる場合に、新しいオフチップデータメモリは、同じ内蔵キーを用いることによって復号化することはできない。また、キーメモリにおけるキーを削除することによって、メモリにおける暗号化データは、正確に復号化することができず、このようにして強い耐攻撃能力を達成する。
【００２５】
[027]  本開示の例示的な実装形態が、上記で説明されたが、本開示の保護範囲は、これらの実装形態に限定されない。本開示によって開示される技術的範囲から逸脱せずに、当業者によって容易に考えられ得るどんな変更又は取り替えも、本開示の保護範囲に含まれるべきである。従って、本開示の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
【図１】
2020535693.tif 000003
【図２】
2020535693.tif 000004
【図３】
2020535693.tif 000005
【国際調査報告】
2020535693.tif 000006
2020535693.tif 000007