(57)【要約】  本発明は、カーネル切替の処理エントリを提供するように構成されるトラステッドカーネル例外ベクトルテーブルと、トラステッドカーネルスタック空間を指し示すトラステッドカーネルスタックポインタを記憶するように構成されるトラステッドカーネルスタックポインタレジスタと、トラステッドカーネルスタック空間内のトラステッドサイトであって、カーネル切替のための開始カーネルのフラグビットを記憶するように構成されるプログラム状態レジスタ、プログラムポインタ及び汎用レジスタを含む、トラステッドサイトとを含む、トラステッドカーネルベースの耐攻撃データプロセッサであって、データプロセッサが非トラステッドカーネルからトラステッドカーネルへのカーネル切替を行う場合、トラステッドカーネルは、カーネル切替の処理エントリにアドレス指定され、且つ切替を行う、トラステッドカーネルベースの耐攻撃データプロセッサを提供する。本発明では、トラステッドカーネルの切替エントリのための基盤となるソフトウェア保護メカニズムが提供され得、それにより、トラステッドカーネルと非トラステッドカーネルとの間の切替がより安全である。
2020529063.tif 000002
【特許請求の範囲】
【請求項１】
カーネル切替の処理エントリを提供するように構成されるトラステッドカーネル例外ベクトルテーブルと、
トラステッドカーネルスタック空間を指し示すトラステッドカーネルスタックポインタを記憶するように構成されるトラステッドカーネルスタックポインタレジスタと、
前記トラステッドカーネルスタック空間内のトラステッドサイトであって、前記カーネル切替のための開始カーネルのフラグビットを記憶するように構成されるプログラム状態レジスタ、プログラムポインタ及び汎用レジスタを含む、トラステッドサイトと
を含む、トラステッドカーネルベースの耐攻撃データプロセッサであって、
前記データプロセッサが非トラステッドカーネルからトラステッドカーネルへのカーネル切替を行う場合、前記トラステッドカーネルは、前記カーネル切替の前記処理エントリにアドレス指定され、且つ前記切替を行う、トラステッドカーネルベースの耐攻撃データプロセッサ。
【請求項２】
カーネル切替を提供する前記処理エントリは、カーネル切替命令例外エントリ及びトラステッド割込み処理エントリを含む、請求項１に記載のデータプロセッサ。
【請求項３】
前記トラステッドカーネルは、前記カーネル切替の前記処理エントリにアドレス指定され、且つカーネル切替命令、カーネル切替リターン命令又は割込み応答によって前記切替を行う、請求項２に記載のデータプロセッサ。
【請求項４】
前記トラステッドカーネルが前記カーネル切替リターン命令によって前記切替を行う場合、前記プログラム状態レジスタの開始カーネルのフラグビットに従い、前記開始カーネルに戻るか又は現在のカーネルに留まるかを判断する必要がある、請求項３に記載のデータプロセッサ。
【請求項５】
前記トラステッドカーネルは、クロスカーネルタスクによって呼び出されるエントリベクトルテーブルを通して前記カーネル切替命令例外エントリにアドレス指定される、請求項３に記載のデータプロセッサ。
【請求項６】
前記トラステッドカーネルは、前記トラステッドカーネル例外ベクトルテーブルを通して前記トラステッド割込み処理エントリにアドレス指定される、請求項３に記載のデータプロセッサ。
【請求項７】
前記トラステッドカーネルが非トラステッド割込みに応答して前記非トラステッドカーネルに切り替えられる場合、前記トラステッドカーネルは、前記トラステッドカーネルスタック空間内に前記トラステッドサイトを保存し、及び
前記非トラステッドカーネルが前記非トラステッド割込みを処理した後、前記非トラステッドカーネルが前記カーネル切替リターン命令を呼び出すことによって前記トラステッドカーネルに切り替えられる場合、前記トラステッドカーネルは、前記トラステッドカーネルスタック空間から前記トラステッドサイトを回復する、請求項３に記載のデータプロセッサ。
【請求項８】
前記トラステッドサイトは、前記トラステッドカーネルが前記非トラステッド割込みに応答して前記非トラステッドカーネルに切り替えられる前のサイトである、請求項７に記載のデータプロセッサ。
【請求項９】
前記非トラステッドカーネルが前記プログラム状態レジスタの開始カーネルフラグを修正し、且つ前記カーネル切替リターン命令を実行することによって前記トラステッドカーネルに切り替えられる場合、前記トラステッドカーネルは、前記トラステッドカーネルスタック空間から前記トラステッドサイトを回復する、請求項３に記載のデータプロセッサ。
【請求項１０】
前記トラステッドサイトは、前記トラステッドカーネルが前記非トラステッドカーネルに初めてプロアクティブに切り替えられる前のサイトである、請求項９に記載のデータプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明は、情報セキュリティ技術の分野に関し、具体的にはトラステッドカーネルベースの耐攻撃データプロセッサに関する。
【背景技術】
【０００２】
背景技術
モバイルインターネット及びＩｏＴ（Internet of Things）が進化し、製造、運営及び管理において情報技術が広範に応用されるにつれ、人間の経済社会は、ネットワーク及び情報システムに一層依存する。更に、ウィルスの侵略、ハッカーの侵入、情報の窃取及び他の事象が頻繁に発生することは、システムセキュリティ保証を一層重要にし、システムセキュリティ保証をより注目させている。
【０００３】
現在、システム情報のセキュリティは、セキュリティモードの導入によってある程度保証されている。セキュリティモードでは、ハードウェアの隔離がシステム内で実際に実施される。システムカーネルは、全システムの基礎であり、全システムの最高特権レベルで実行され、基盤となるハードウェア資源を管理及び制御し、確実に隔離された資源抽象化及びアクセスインタフェースを上位層アプリケーションプログラムに提供する。トラステッドカーネルをセキュリティモードで実行するためのオペレーティングシステムは、非セキュリティモードで実行されるオペレーティングシステムに非依存である。トラステッドカーネルは、セキュリティ認証、暗号化及び復号、機密データの記憶及び他のサービスを提供する。ハードウェアセキュリティコンポーネントによって実行される物理的隔離は、非セキュリティモードのオペレーティングシステムがセキュリティモードの資源に直接アクセスできないこと、従って攻撃面を減らすことを保証する。
【０００４】
しかし、システムクラッシュさえ引き起こし得る非セキュリティモードのトラステッドカーネルを攻撃する一連の手段により、攻撃者は、依然として機密データ等を得ることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、かかる攻撃を防ぐためにトラステッドカーネル内のプログラム制御を設計することが急務である。
【課題を解決するための手段】
【０００６】
発明の概要
本発明は、従来技術の欠点を解決するために、トラステッドカーネルにおいて基盤となるソフトウェア保護メカニズムを提供し、それによりトラステッドカーネルのセキュリティを高めることができる、トラステッドカーネルベースの耐攻撃データプロセッサを提供する。
【０００７】
本発明は、
カーネル切替の処理エントリを提供するように構成されるトラステッドカーネル例外ベクトルテーブルと、
トラステッドカーネルスタック空間を指し示すトラステッドカーネルスタックポインタを記憶するように構成されるトラステッドカーネルスタックポインタレジスタと、
トラステッドカーネルスタック空間内のトラステッドサイトであって、カーネル切替のための開始カーネルのフラグビットを記憶するように構成されるプログラム状態レジスタ、プログラムポインタ及び汎用レジスタを含む、トラステッドサイトと
を含む、トラステッドカーネルベースの耐攻撃データプロセッサであって、
データプロセッサが非トラステッドカーネルからトラステッドカーネルへのカーネル切替を行う場合、トラステッドカーネルは、カーネル切替の処理エントリにアドレス指定され、且つ切替を行う、トラステッドカーネルベースの耐攻撃データプロセッサを提供する。
【０００８】
任意選択的に、カーネル切替を提供する処理エントリは、カーネル切替命令例外エントリ及びトラステッド割込み処理エントリを含む。
【０００９】
任意選択的に、トラステッドカーネルは、カーネル切替の処理エントリにアドレス指定され、且つカーネル切替命令、カーネル切替リターン命令又は割込み応答によって切替を行う。
【００１０】
任意選択的に、トラステッドカーネルがカーネル切替リターン命令によって切替を行う場合、プログラム状態レジスタの開始カーネルのフラグビットに従い、開始カーネルに戻るか又は現在のカーネルに留まるかを判断する必要がある。
【００１１】
任意選択的に、トラステッドカーネルは、クロスカーネルタスクによって呼び出されるエントリベクトルテーブルを通してカーネル切替命令例外エントリにアドレス指定される。
【００１２】
任意選択的に、トラステッドカーネルは、トラステッドカーネル例外ベクトルテーブルを通してトラステッド割込み処理エントリにアドレス指定される。
【００１３】
任意選択的に、トラステッドカーネルが非トラステッド割込みに応答して非トラステッドカーネルに切り替えられる場合、トラステッドカーネルは、トラステッドカーネルスタック空間内にトラステッドサイトを保存し、及び
非トラステッドカーネルが非トラステッド割込みを処理した後、非トラステッドカーネルがカーネル切替リターン命令を呼び出すことによってトラステッドカーネルに切り替えられる場合、トラステッドカーネルは、トラステッドカーネルスタック空間からトラステッドサイトを回復する。
【００１４】
任意選択的に、トラステッドサイトは、トラステッドカーネルが非トラステッド割込みに応答して非トラステッドカーネルに切り替えられる前のサイトである。
【００１５】
任意選択的に、非トラステッドカーネルがプログラム状態レジスタの開始カーネルフラグを修正し、且つカーネル切替リターン命令を実行することによってトラステッドカーネルに切り替えられる場合、トラステッドカーネルは、トラステッドカーネルスタック空間からトラステッドサイトを回復する。
【００１６】
任意選択的に、トラステッドサイトは、トラステッドカーネルが非トラステッドカーネルに初めてプロアクティブに切り替えられる前のサイトである。
【００１７】
本発明の実施形態で提供されるトラステッドカーネルベースの耐攻撃データプロセッサは、トラステッドカーネルの全ての切替エントリのための基盤となるソフトウェア保護メカニズムを提供し、且つトラステッドカーネルと非トラステッドカーネルとの間の切替をより安全にすることができる。
【図面の簡単な説明】
【００１８】
図面の簡単な説明
【図１】本発明によるトラステッドカーネルベースの耐攻撃データプロセッサの基本アーキテクチャの概略図である。
【図２】本発明の一実施形態による、データプロセッサがカーネル切替命令を正常に実行するときの概略的な実行図である。
【図３】本発明の一実施形態による、トラステッドカーネルが非トラステッドカーネルの割込みに応答した後、非トラステッドカーネルがカーネル切替リターン命令を実行してトラステッドカーネルに戻ることを示す概略的な実行図である。
【図４】本発明の一実施形態による、不当なカーネル切替例外の概略的な実行図である。
【発明を実施するための形態】
【００１９】
詳細な説明
本発明の実施形態の目的、技術的解決策及び利点をより明確にするために、本発明の実施形態における添付図面に関して本発明の実施形態における技術的解決策を以下で明確且つ詳細に説明する。説明する実施形態は、本発明の全ての実施形態ではなく一部に過ぎないことが明らかである。本発明の実施形態に基づき、創造的な取り組みなしに当業者によって得られる他の全ての実施形態は、本発明の保護範囲に全て包含されるものとする。
【００２０】
本発明は、トラステッドカーネルベースの耐攻撃データプロセッサを提供する。図１は、本発明によるデータプロセッサの基本アーキテクチャの概略図を示す。図１に示すように、このデータプロセッサは、トラステッドカーネル例外ベクトルテーブル、トラステッドカーネルスタックポインタレジスタ、及びトラステッドカーネルスタック空間内のトラステッドサイトを含む。
【００２１】
特に、トラステッドカーネル例外ベクトルテーブルは、カーネル切替の２種類の処理エントリ、即ちカーネル切替命令例外エントリ及びトラステッド割込み処理エントリを含む。データプロセッサが非トラステッドカーネルからトラステッドカーネルへのカーネル切替を行う場合、トラステッドカーネルは、カーネル切替の処理エントリにアドレス指定され、且つ様々な方法に従って切替を行うことができる。トラステッドカーネルスタックポインタレジスタは、トラステッドカーネルが所有する独立したスタックポインタを参照し、スタックポインタは、トラステッドカーネルスタック空間を指し示す。トラステッドカーネルスタック空間内にトラステッドサイトが保存される。トラステッドサイトは、現在のトラステッドカーネルコンテキストを含み、典型的にはトラステッドカーネルの前回の切替前のプログラム状態レジスタ、プログラムポインタ及び汎用レジスタを含む。具体的には、プログラム状態レジスタは、カーネル切替の開始カーネルのフラグビットを含む。
【００２２】
特に、データプロセッサのためのカーネル切替の方法は、カーネル切替命令、カーネル切替リターン命令、又は割込み応答を含む。具体的には、カーネル切替リターン命令を使用することによってカーネル切替が行われる場合、プログラム状態レジスタの開始カーネルのフラグ位置に従い、開始カーネルに戻るか又は現在のカーネルに留まるかを判断することができる。
【００２３】
具体的には、カーネル切替命令又はカーネル切替リターン命令を使用することによってカーネル切替が行われる場合、トラステッドカーネルは、トラステッドカーネルのクロスカーネルタスクによって呼び出されるエントリベクトルテーブルに従ってカーネル切替命令例外エントリにアドレス指定される。割込み応答を使用することによってカーネル切替が行われる場合、トラステッドカーネルは、トラステッドカーネル例外ベクトルテーブルに従ってトラステッド割込み処理エントリにアドレス指定される。
【００２４】
図２は、本発明の一実施形態による、データプロセッサがカーネル切替命令を正常に実行するときの概略的な実行図を示す。図示のように、現在のデータプロセッサが非トラステッドカーネル内でカーネル切替コマンドを正常に実行する。データプロセッサは、非トラステッドカーネル内に位置する非トラステッドサイトを記憶し、且つ切替プロセスによって非トラステッドカーネルをトラステッドカーネルに切り替える。
【００２５】
更に、データプロセッサは、トラステッドカーネル例外ベクトルテーブル内のカーネル切替命令例外エントリをアドレス指定し、且つカーネル切替を行う。トラステッドカーネルのカーネル切替例外処理コードがカーネル切替命令を実行し、切替プロセスによってトラステッドカーネルが非トラステッドカーネルに戻る。データプロセッサは、非トラステッドサイトを回復してから実行を再開する。
【００２６】
図３は、本発明の一実施形態による、トラステッドカーネルが非トラステッドカーネルの割込みに応答した後、非トラステッドカーネルがカーネル切替リターン命令を実行してトラステッドカーネルに戻ることを示す概略的な実行図である。図示のように、現在のデータプロセッサは、トラステッドカーネルにおいて実行される。非トラステッドカーネル内で割込みが生じた場合、データプロセッサは、トラステッドカーネルスタック空間内にトラステッドサイトを保存した後、割込みに応答するために切替プロセスによって非トラステッドカーネルに切り替わる。具体的には、トラステッドカーネルスタックポインタレジスタは、上記のトラステッドカーネルスタック空間を指し示す。
【００２７】
更に、非トラステッドカーネルは、割込み処理関数と共にカーネル切替命令を実行することによってトラステッドカーネルに戻る。データプロセッサは、トラステッドカーネルスタックポインタレジスタが指し示すトラステッドカーネルスタック空間に従ってトラステッドサイトを回復してから実行を再開する。
【００２８】
図４は、本発明の一実施形態による、不当なカーネル切替例外の概略的な実行図である。図示のように、トラステッドカーネルが非トラステッドカーネルに初めて切り替えられる前にトラステッドカーネルがサイトを備え、そのサイトは、トラステッドカーネルスタックポインタレジスタが指し示すトラステッドカーネルスタック空間内に保存され、その後、カーネル切替命令を実行することによってトラステッドカーネルが非トラステッドカーネルに切り替えられる。
【００２９】
更に、非トラステッドカーネルがプログラム状態レジスタの開始カーネルのフラグビットを修正し、且つカーネル切替リターン命令を実行することによってトラステッドカーネルに切り替えられる。データプロセッサは、非トラステッドカーネルサイトを保存した後、実行のために非トラステッドカーネルをトラステッドカーネルに切り替える。
【００３０】
更に、データプロセッサは、トラステッドカーネルスタックポインタレジスタが指し示すトラステッドカーネルスタック空間に従ってトラステッドサイトを回復する。データプロセッサが不当なカーネル切替例外処理コードを実行した後、例外を再開又は破棄することができ、従って不当なカーネルの侵入を防ぐことができる。
【００３１】
本発明の実施形態で提供されるトラステッドカーネルベースの耐攻撃データプロセッサは、トラステッドカーネルの全ての切替エントリのための基盤となるソフトウェア保護メカニズムを提供し、且つトラステッドカーネルと非トラステッドカーネルとの間の切替をより安全にすることができる。
【００３２】
上記の説明は、本発明の特定の実装様式に過ぎず、本発明の保護範囲は、これに限定されない。本発明で開示した技術的範囲の当業者によって容易に考えられ得る改変形態又は置換形態は、全て本発明の保護範囲に包含されるものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
【図１】
2020529063.tif 000003
【図２】
2020529063.tif 000004
【図３】
2020529063.tif 000005
【図４】
2020529063.tif 000006
【国際調査報告】
2020529063.tif 000007
2020529063.tif 000008
2020529063.tif 000009
2020529063.tif 000010