(57)【要約】  デバイス８１は、セキュア空間を有するメモリ空間を含む。判定装置８２は、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する。ポリシ記憶部８３は、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶する。セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置８２を介して行われ、判定装置８２は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御する。
2019012625.tif 000002
【特許請求の範囲】
【請求項１】
セキュア空間を有するメモリ空間を含むデバイスと、
前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、
前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、
前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、
前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御する
ことを特徴とする権限判定システム。
【請求項２】
ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する
請求項１記載の権限判定システム。
【請求項３】
セキュア空間は耐タンパ性を有し、判定装置は、当該耐タンパ性を有するセキュア空間で設定される最高の権限を有する
請求項１または請求項２記載の権限判定システム。
【請求項４】
判定装置は、判定結果が示す権限に応じて、セキュア空間の領域からの読み込み、当該領域への書き込み、または、当該領域に保存されたコード若しくはプログラムの実行を行う
請求項１から請求項３のうちのいずれか１項に記載の権限判定システム。
【請求項５】
メモリ空間は、複数のセキュア空間を有し、
判定装置は、前記複数のセキュア空間のいずれか一つに配置される
請求項１から請求項４のうちのいずれか１項に記載の権限判定システム。
【請求項６】
セキュア空間を有するメモリ空間を含むセキュアデバイスであって、
前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、
前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、
前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、
前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御する
ことを特徴とするセキュアデバイス。
【請求項７】
ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する
請求項６記載のセキュアデバイス。
【請求項８】
デバイスが有するメモリ空間におけるセキュア空間に配置される判定装置であって、
前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該判定装置を介して行われ、
前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定し、当該セキュア空間に対するアクセス及び実行を制御する
ことを特徴とする判定装置。
【請求項９】
ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される
請求項８記載の判定装置。
【請求項１０】
セキュア空間を有するメモリ空間を含むデバイスの権限管理方法であって、
前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置が、前記セキュア空間内に配置され、当該セキュア空間の領域へのアクセス権限および当該領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御し、
前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われる
ことを特徴とする権限管理方法。
【請求項１１】
ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される
請求項１０記載の権限管理方法。
【請求項１２】
デバイスが有するメモリ空間におけるセキュア空間に配置されるコンピュータに適用される権限判定プログラムであって、
前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該コンピュータを介して行われ、
前記コンピュータに、
前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定する処理、および、
前記セキュア空間に対するアクセス及び実行を制御する処理
を実行させるための権限判定プログラム。
【請求項１３】
ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される
請求項１２記載の権限判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュア空間の権限を判定して制御する権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラムに関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）の普及に伴い、ネットワーク上に接続される組み込み機器が増加している。そのため、機器情報の改ざんなど、不正行為への対策がますます重要になっている。【０００３】
このような不正行為を防止するための方法が各種知られている。ハードウェアレベルでは、例えば、ＴＥＥ（Trusted Execution Environment ）によるセキュリティ対策が行われている。また、ユーザが直接アクセスできないメモリ空間を構築して、セキュア空間内に機密情報やセキュリティ処理を実装することも行われている。具体的には、Ｉｎｔｅｌ  ＳＧＸ（Software Guard eXtentions ）や、ＡＲＭ  ＴｒｕｓｔＺｏｎｅなどが挙げられる。なお、Ｉｎｔｅｌ、ＡＲＭおよびＴｒｕｓｔＺｏｎｅは、登録商標である。【０００４】
また、特許文献１には、機密情報を有するマイクロプロセッサのプログラムに対して、権限のない者がアクセスする行為を阻止する方法が記載されている。特許文献１に記載された方法では、主記憶メモリが、セキュア領域と非セキュア領域に分類され、セキュア領域が、さらにセキュア共通領域、セキュアブート領域、セキュアアプリ命令領域等の領域に細分化される。そして、細分化した領域の定義に従って、権限のあるアクセスに対しては通常通りのリード・ライト動作を許容し、そうでない場合には、ライト・リード動作が失敗に終わるようにアクセス制限が実施される。【０００５】
また、特許文献２には、安全性の異なるドメインを使用するデータ処理装置が記載されている。そして、特許文献２には、最低安全ドメイン、安全ドメイン、及び最高安全ドメインそれぞれでプログラミング・コードが実行され、ドメインに応じて、異なるレベルの安全データにアクセスできることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１３４５７２号公報
【特許文献２】特表２０１５−５３４６８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
悪意あるプロセスがセキュア空間に実装された際、そのプロセスによる動作を防ぐため、セキュア空間に設定されている権限は一般に種類が少なく、低いものが多い。例えば、上述するＴＥＥでは、安全のため、セキュア空間へ実装されている機能の権限は１種類のみである。また、ＳＧＸでは、最低権限であるＲｉｎｇ３の権限がセキュア空間に付与される。【０００８】
一方、一般的なデバイスの設計を考えると、自由度よりも安全性に重きを置くため、デバイス設計時の自由度が低下する。すなわち、設計の自由度と安全性とはトレードオフの関係にあるため、ある程度の権限が必要になる機能は、セキュア空間外に実装されることになる。【０００９】
例えば、一般的なデバイス設計の場合、センサやキーボードなどの入力装置、アクチュエータやディスプレイなどの出力装置を動作させるデバイスドライバは、セキュア空間外に実装される。セキュア空間では、直接デバイスドライバを利用できないからである。しかし、セキュア空間外は、セキュリティが低く、改ざんの脅威にさらされていると言える。そのため、ドライバが改ざんされた場合、デバイスの入出力装置が正しく動作しなくなるという問題がある。【００１０】
特許文献１に記載された方法は、領域のリード・ライト動作のみを対象としている。そのため、デバイスの動作をセキュアにする実行できるようにする点については考慮されていない。【００１１】
また、特許文献２に記載された方法では、ガード命令という拡張した命令の有無によってアクセス制御を実現する。しかし、このように命令を拡張して制御する方法では、プログラムを改変する必要があり、また、設計の自由度も低いままと言える。【００１２】
そこで、本発明は、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることで入出力装置とセキュア空間との間に安全なチャネル（経路）を構築することができる権限判定システム、セキュアデバイス、判定装置、権限管理方法及び権限判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明による権限判定システムは、セキュア空間を有するメモリ空間を含むデバイスと、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、セキュア空間へのアクセス及びセキュア空間での機能の実行が、判定装置を介して行われ、判定装置が、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御することを特徴とする。【００１４】
本発明によるセキュアデバイスは、セキュア空間を有するメモリ空間を含むセキュアデバイスであって、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、セキュア空間へのアクセス及びセキュア空間での機能の実行が、判定装置を介して行われ、判定装置は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御することを特徴とする。【００１５】
本発明による判定装置は、デバイスが有するメモリ空間におけるセキュア空間に配置される判定装置であって、セキュア空間へのアクセス及びセキュア空間での機能の実行が、その判定装置を介して行われ、セキュア空間内に配置され、セキュア空間における領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、そのセキュア空間の領域における権限を判定し、そのセキュア空間に対するアクセス及び実行を制御することを特徴とする。【００１６】
本発明による権限管理方法は、セキュア空間を有するメモリ空間を含むセキュアデバイスの権限管理方法であって、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置が、セキュア空間内に配置され、そのセキュア空間の領域へのアクセス権限およびその領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、セキュア空間に対するアクセス及び実行を制御し、セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置を介して行われることを特徴とする。【００１７】
本発明による権限判定プログラムは、デバイスが有するメモリ空間におけるセキュア空間に配置されるコンピュータに適用される権限判定プログラムであって、セキュア空間へのアクセス及びセキュア空間での機能の実行は、そのコンピュータを介して行われ、コンピュータに、セキュア空間内に配置され、セキュア空間における領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、そのセキュア空間の領域における権限を判定する処理、および、セキュア空間に対するアクセス及び実行を制御する処理を実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることで入出力装置とセキュア空間との間に安全なチャネル（経路）を構築することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明による権限判定システムの一実施形態を示すブロック図である。
【図２】デバイスの例を示す説明図である。
【図３】デバイスのメモリ空間の例を示す説明図である。
【図４】各領域の権限が規定されたポリシの例を示す説明図である。
【図５】規定されたポリシの他の例を示す説明図である。
【図６】各機能の権限が規定されたポリシの例を示す説明図である。
【図７】規定されたポリシの他の例を示す説明図である。
【図８】権限判定システムの動作例を示すフローチャートである。
【図９】本発明による権限判定システムの概要を示すブロック図である。
【図１０】本発明によるセキュアデバイスの概要を示すブロック図である。
【図１１】本発明による判定装置の概要を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明による権限判定システムの一実施形態を示すブロック図である。本実施形態の権限判定システム１００は、メモリ空間２０を含むデバイス１０で実現される。なお、デバイス１０は、後述する機能により、メモリ空間２０をセキュアに管理することから、本実施形態の権限判定システム１００を実現するデバイス１０を、セキュアデバイスと呼ぶことができる。
【００２１】
メモリ空間２０は、非セキュア空間３０と、セキュア空間４０とを有する。非セキュア空間３０は、外部からのアクセス制限や機能の実行制限が特に設けられていない、自由にアクセスが可能なメモリ空間である。一方、セキュア空間４０は、外部からのアクセスおよび機能の実行に一定の制限が設けられたメモリ空間である。本実施形態では、セキュア空間４０は、後述する判定装置４２を介してのみアクセス可能なメモリ空間である。
【００２２】
なお、図１に示す例では、非セキュア空間３０およびセキュア空間４０が、それぞれ１つの空間として表されている。ただし、非セキュア空間３０およびセキュア空間４０は、それぞれ、１つの空間で実現されている必要はなく、２つ以上の空間で実現されていてもよい。
【００２３】
また、本実施形態では、セキュア空間４０は、１以上の領域（Ｅｎｃｌａｖｅ）に分けられているものとする。本実施形態では、各領域に権限が設定される。言い換えると、各領域において、何が実行可能かを示す情報が設定される。なお、領域のことを、メモリ空間のアドレス、または、メモリ空間の部分空間と記すこともある。
【００２４】
権限判定システム１００は、ポリシ記憶部４１と、判定装置４２とを備えている。ポリシ記憶部４１および判定装置４２は、いずれも、セキュア空間４０内に配置される。
【００２５】
図２は、本実施形態のデバイス１０の例を示す説明図である。本実施形態で想定するデバイス１０は、１つの（単一の）ＩｏＴデバイスであり、耐タンパ性を有するハードウェアレベルのセキュリティ機能を搭載している。また、デバイス１０は、データＤ１１を生成するプロセス１１と、プロセス１１が生成したデータＤ１１に基づいて動作する、もしくは、プロセス１１に接続される入出力装置（図２では一例としてアクチュエータ）１２とを含む。
【００２６】
プロセス１１が生成するデータＤ１１は、単なる数値や文字列だけでなく、入出力装置１２への命令コマンドも含む。プロセス１１は、例えば、プログラムやコードに従って動作するコンピュータのＣＰＵである。
【００２７】
入出力装置１２は、オペレーションによって動作する箇所であり、例えば、デバイスドライバによる制御で駆動するモータなどが挙げられる。なお、デバイス１０は、複数のプロセス１１および入出力装置１２を含んでいてもよい。なお、本実施形態では、デバイス１０から外部に送信されるデータＤ１２および外部からデバイス１０内に送信されるデータＤ１３は、制御の対象外である。
【００２８】
図３は、デバイス１０のメモリ空間２０の例を示す説明図である。図２に例示するメモリ空間２０は、非セキュア空間３０と、ＴＥＥにより実現されるセキュア空間４０とを有する。また、図２に例示する非セキュア空間３０には、入出力装置２０と情報をやり取りする入出力装置インタフェース（図３では一例としてアクチュエータインタフェース）３０ａを実現するコードまたはプログラム（以下、単にアクチュエータインタフェースと記す。）と、セキュア空間と非セキュア空間との間のデータのやり取りを行うデータ送受信機能３０ｂを実現するコードまたはプログラム（以下、単にデータ送受信機能と記す。）とが配置されている。図３に示す例では、アクチュエータインタフェースおよびデータ送受信機能は、実行制限が特に設けられていない。
【００２９】
一方、図３に例示するセキュア空間４０は、２つの領域Ｒ１，Ｒ２（Ｅｎｃｌａｖｅ１，Ｅｎｃｌａｖｅ２）を有する。そして、領域Ｒ１には、低い権限が設定され、領域Ｒ２には、中程度の権限が設定されているものとする。図２に示す例では、領域Ｒ１には、暗号鍵４０ａと、認証機能４０ｂを実現するコードまたはプログラム（以下、単に認証機能４０ｂと記す。）と、データ改ざん検知用署名生成／検証機能４０ｃを実現するコードまたはプログラム（以下、単にデータ改ざん検知用署名生成／検証機能４０ｃと記す。）とが配置されている。
【００３０】
同様に、領域Ｒ２には、入出力装置（図３では一例としてアクチュエータ）に対するデバイスドライバ４０ｄと、データ生成機能４０ｅを実現するコードまたはプログラム（以下、単にデータ生成機能４０ｅと記す。）とが配置されている。なお、本実施形態における説明で、「機能を領域に配置する」とは、具体的には、その機能を実現するためのコードまたはプログラムが領域に保持されることを意味する。
【００３１】
ポリシ記憶部４１は、セキュア空間４０における各領域へのアクセス権限を規定したポリシを記憶する。また、ポリシ記憶部４１は、セキュア空間４０における各領域に配置された機能の実行権限を規定したポリシを記憶する。なお、ポリシ記憶部４１は、アクセス権限と実行権限のいずれか一方のみを記憶していてもよく、アクセス権限と実行権限の両方を記憶していてもよい。
【００３２】
具体的には、ポリシには、セキュア空間における領域ごとに段階的なアクセス権限を規定する。図４は、各領域の権限が規定されたポリシの例を示す説明図である。図４に示す例では、２つの領域で異なるアクセス権限が設定されている。具体的には、図４に示す例では、領域Ｒ１（Ｅｎｃｌａｖｅ１）には、Ｒａｎｋ３のアクセス権限が設定され、領域Ｒ２（Ｅｎｃｌａｖｅ２）には、Ｒａｎｋ２のアクセス権限が設定されていることを示す。なお、明示的に規定された領域以外のアクセス権限を設定するため、領域を「Ｄｅｆａｕｌｔ」とするアクセス権限をポリシに規定してもよい。なお、アクセス権限のランクに応じて実行可能な内容は、予め定められる。
【００３３】
また、図５は、規定されたポリシの他の例を示す説明図である。ランクによる設定以外にも、図５に例示するように、あるＥｎｃｌａｖｅがあるデバイス（例えば、ディスプレイ装置）の機能に対するアクセスを許可する、許可しないとするようにポリシが規定されてもよい。なお、この場合でも領域を「Ｄｅｆａｕｌｔ」とするポリシが規定されてもよい。
【００３４】
さらに、ポリシには、領域に配置された機能ごとの段階的な実行権限を規定する。図６は、各機能の権限が規定されたポリシの例を示す説明図である。図６に示す例では、領域に含まれる対象ごとに異なる実行権限が設定されている。具体的には、図６に示す例では、認証機能には、Ｒａｎｋ３の実行権限が設定され、デバイスドライバにはＲａｎｋ２の実行権限が設定され、暗号鍵には、Ｒａｎｋ３の権限が設定されていることを示す。例えば、権限がＲａｎｋ３の場合に、Ｅｎｃｌａｖｅ内から直接デバイスドライバを実行することができなかったとする。一方、本実施形態では、デバイスドライバの権限をＲａｎｋ２にすることで、Ｅｎｃｌａｖｅ内からであってもデバイスドライバを実行することが可能になる。なお、明示的に規定された機能以外の実行権限を設定するため、対象を「Ｄｅｆａｕｌｔ」とする実行権限をポリシに規定してもよい。
【００３５】
また、図７は、規定されたポリシの他の例を示す説明図である。ランクによる設定以外にも、図７に例示するように、あるデバイスの機能が別のデバイスの機能（例えば、アクチュエータ）対してアクセスを許可する、許可しないとするようにポリシが規定されてもよい。なお、この場合でもアクセス元の機能を「Ｄｅｆａｕｌｔ」とするポリシが規定されてもよい。
【００３６】
判定装置４２は、セキュア空間の各領域における権限を判定する。上述するように、判定装置４２は、セキュア空間４０に配置される。そして、本実施形態では、セキュア空間４０へのアクセス及びセキュア空間４０での機能の実行は、判定装置４２を介して行われる。例えば、図３に示す例では、非セキュア空間３０からバス４３を介して送信される指示が、判定装置４２で受信される。すなわち、非セキュア空間３０（セキュア空間４０外のメモリ空間）からセキュア空間４０へアクセスする場合、必ず判定装置４２が経由される。
【００３７】
判定装置４２は、ポリシ記憶部４１に記憶されたポリシに基づいて、セキュア空間４０に対するアクセス及び実行を制御する。例えば、セキュア空間４０に対するアクセスまたは実行の権限がないと判定した場合、判定装置４２は、そのアクセスまたは実行の要求を破棄してもよいし、権限がない旨を要求元に返信してもよい。
【００３８】
また、判定装置４２は、例えば、ポリシに基づく判定結果が示す権限に応じて、セキュア空間４０の領域からの読み込み、セキュア空間４０の領域への書き込み、その領域に保存されたコードまたはプログラムの実行を行う。
【００３９】
なお、判定装置４２がセキュア空間４０に対するアクセスや実行を制御するため、判定装置４２（および、ポリシ記憶部４１）には、そのセキュア空間内で設定される最高の権限を有する。例えば、セキュア空間がＴＥＥで実現される場合、判定装置４２（および、ポリシ記憶部４１）には、ＴＥＥに設定する権限の中でも最高権限が設定される。
【００４０】
判定装置４２は、例えば、ＣＰＵの拡張機能として実現されてもよい。すなわち、判定装置４２は、プログラム（権限判定プログラム）に従って動作するコンピュータのＣＰＵによって実現されてもよい。例えば、プログラムが、ポリシ記憶部４１に記憶され、ＣＰＵが、そのプログラムを読み込み、プログラムに従って、判定装置４２として動作してもよい。
【００４１】
また、判定装置４２は、専用のハードウェアによって実現されてもよいし、判定装置４２専用のＴＥＥ上にソフトウェア的に実装されてもよい。なお、メモリ空間２０が、複数のセキュア空間４０を有している場合、判定装置４２は、複数のセキュア空間４０のいずれか一つに配置されればよい。また、複数のセキュア空間それぞれに対応した判定装置４２とポリシ記憶部４１とが配置されていてもよい。
【００４２】
また、ポリシ記憶部４１は、デバイス１０に含まれるストレージ（図示せず）や、デバイス１０のＲＡＭ（Random Access Memory）などにより実現される。なお、ここでのＲＡＭは、専用のＲＡＭであってもよく、一般的に用いられるＲＡＭからポリシ保存用に一部を切り出したものでもよい。
【００４３】
次に、本実施形態の権限判定システム１００の動作を説明する。図８は、本実施形態の権限判定システム１００の動作例を示すフローチャートである。判定装置４２は、セキュア空間４０へのアクセス要求を受信する（ステップＳ１１）。判定装置４２は、アクセス要求の内容とポリシとを比較し（ステップＳ１２）、セキュア空間の権限を判定する。アクセス可と判定された場合（すなわち、権限があると判定された場合）（ステップＳ１３におけるＹｅｓ）、判定装置４２は、そのアクセス要求を実行する（ステップＳ１４）。一方、アクセス可と判断されなかった場合（すなわち、権限がないと判定された場合）（ステップＳ１３におけるＮｏ）、判定装置４２は、そのアクセス要求を破棄する（ステップＳ１５）。なお、ステップＳ１５において、判定装置４２は、ユーザに対してアクセス不可である旨を通知してもよい。
【００４４】
以上のように、本実施形態では、セキュア空間４０へのアクセス及びセキュア空間４０での機能の実行は、判定装置４２を介して行われ、判定装置４２も、セキュア空間４０に配置される。そして、判定装置４２が、セキュア空間４０の領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、そのセキュア空間４０の領域における権限を判定し、そのセキュア空間に対するアクセス及び実行を制御する。
【００４５】
よって、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることができる。すなわち、本実施形態では、セキュア空間の権限をセキュア空間の領域ごとに個別かつ段階的に設定できるため、安全性と設計の自由度との間に発生するトレードオフを解決でき、結果、入出力装置とセキュア空間との間に安全なチャネルを構築することが可能になる。
【００４６】
例えば、デバイスドライバを実装したセキュア空間の権限を上げることで、セキュア空間内であっても、直接アクセスできるようにすることが可能になる。また、セキュア空間にデバイスドライバを配置することで、デバイスドライバの改ざんを防ぎ、図２に例示するような入出力装置（アクチュエータ）を正しく動作させることが可能になる。すなわち、図２に例示するプロセス１１から実際の入出力装置（アクチュエータ）１２の動作までを、より柔軟かつセキュアに実装でき、入出力装置とセキュア空間との間に安全なチャネルを構築できる。
【００４７】
次に、本発明の概要を説明する。図９は、本発明による権限判定システムの概要を示すブロック図である。本発明による権限判定システム８０は、セキュア空間（例えば、セキュア空間４０）を有するメモリ空間（例えば、メモリ空間２０）を含むデバイス８１（例えば、デバイス１０）と、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置８２（例えば、判定装置４２）と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部８３（例えば、ポリシ記憶部４１）とを備えている。
【００４８】
セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置８２を介して行われ、判定装置８２は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御する。
【００４９】
そのような構成により、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることで入出力装置とセキュア空間との間に安全なチャネル（経路）を構築することができる。
【００５０】
また、ポリシ記憶部８３は、セキュア空間における領域ごとの段階的なアクセス権限および領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶していてもよい。
【００５１】
具体的には、セキュア空間は耐タンパ性を有し、判定装置８２は、その耐タンパ性を有するセキュア空間で設定される最高の権限を有する。
【００５２】
また、判定装置８２は、判定結果が示す権限に応じて、セキュア空間の領域からの読み込み、その領域への書き込み、または、その領域に保存されたコード若しくはプログラムの実行を行ってもよい。
【００５３】
また、メモリ空間は、複数のセキュア空間を有していてもよい。そして、判定装置４２は、複数のセキュア空間のいずれか一つに配置されてもよい。
【００５４】
図１０は、本発明によるセキュアデバイスの概要を示すブロック図である。本発明によるセキュアデバイス９０は、セキュア空間（例えば、セキュア空間４０）を有するメモリ空間（例えば、メモリ空間２０）を含むセキュアデバイス（例えば、デバイス１０）であって、セキュア空間内に配置され、そのセキュア空間の領域における権限を判定する判定装置９１（例えば、判定装置４２）と、セキュア空間内に配置され、領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部９２（例えば、ポリシ記憶部４１）とを備えている。
【００５５】
セキュア空間へのアクセス及びセキュア空間での機能の実行は、判定装置９１を介して行われ、判定装置９１は、ポリシに基づいて、セキュア空間に対するアクセス及び実行を制御する。
【００５６】
そのような構成によっても、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることができる。
【００５７】
また、ポリシ記憶部９２は、セキュア空間における領域ごとの段階的なアクセス権限および領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶していてもよい。
【００５８】
図１１は、本発明による判定装置の概要を示すブロック図である。本発明による判定装置７０は、デバイス（例えば、デバイス１０）が有するメモリ空間（例えば、メモリ空間２０）におけるセキュア空間（例えば、セキュア空間４０）に配置される判定装置（例えば、判定装置４２）であって、セキュア空間へのアクセス及記セキュア空間での機能の実行は、その判定装置７０を介して行われる。
【００５９】
そして、セキュア空間内に配置され、セキュア空間における領域へのアクセス権限および領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、判定装置７０は、そのセキュア空間の領域における権限を判定し、そのセキュア空間に対するアクセス及び実行を制御する。
【００６０】
そのような構成によっても、セキュア空間の安全性を維持しつつ、設計の自由度を向上させることができる。
【００６１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００６２】
（付記１）セキュア空間を有するメモリ空間を含むデバイスと、前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御することを特徴とする権限判定システム。
【００６３】
（付記２）ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する付記１記載の権限判定システム。
【００６４】
（付記３）セキュア空間は耐タンパ性を有し、判定装置は、当該耐タンパ性を有するセキュア空間で設定される最高の権限を有する付記１または付記２記載の権限判定システム。
【００６５】
（付記４）判定装置は、判定結果が示す権限に応じて、セキュア空間の領域からの読み込み、当該領域への書き込み、または、当該領域に保存されたコード若しくはプログラムの実行を行う付記１から付記３のうちのいずれか１つに記載の権限判定システム。
【００６６】
（付記５）メモリ空間は、複数のセキュア空間を有し、判定装置は、前記複数のセキュア空間のいずれか一つに配置される付記１から付記４のうちのいずれか１つに記載の権限判定システム。
【００６７】
（付記６）セキュア空間を有するメモリ空間を含むセキュアデバイスであって、前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置と、前記セキュア空間内に配置され、前記領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシを記憶するポリシ記憶部とを備え、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われ、前記判定装置は、前記ポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御することを特徴とするセキュアデバイス。
【００６８】
（付記７）ポリシ記憶部は、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限を規定したポリシを記憶する付記６記載のセキュアデバイス。
【００６９】
（付記８）デバイスが有するメモリ空間におけるセキュア空間に配置される判定装置であって、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該判定装置を介して行われ、前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定し、当該セキュア空間に対するアクセス及び実行を制御することを特徴とする判定装置。
【００７０】
（付記９）ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される付記８記載の判定装置。
【００７１】
（付記１０）セキュア空間を有するメモリ空間を含むデバイスの権限管理方法であって、前記セキュア空間内に配置され、当該セキュア空間の領域における権限を判定する判定装置が、前記セキュア空間内に配置され、当該セキュア空間の領域へのアクセス権限および当該領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、前記セキュア空間に対するアクセス及び実行を制御し、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、前記判定装置を介して行われることを特徴とする権限管理方法。
【００７２】
（付記１１）ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される付記１０記載の権限管理方法。
【００７３】
（付記１２）デバイスが有するメモリ空間におけるセキュア空間に配置されるコンピュータに適用される権限判定プログラムであって、前記セキュア空間へのアクセス及び前記セキュア空間での機能の実行は、当該コンピュータを介して行われ、前記コンピュータに、前記セキュア空間内に配置され、前記セキュア空間における領域へのアクセス権限および前記領域に配置された機能の実行権限の少なくとも一方の権限を規定したポリシに基づいて、当該セキュア空間の領域における権限を判定する処理、および、前記セキュア空間に対するアクセス及び実行を制御する処理を実行させるための権限判定プログラム。
【００７４】
（付記１３）ポリシには、セキュア空間における領域ごとの段階的なアクセス権限および前記領域に配置された機能ごとの段階的な実行権限の少なくとも一方の権限が規定される付記１２記載の権限判定プログラム。
【符号の説明】
【００７５】
１０  デバイス
２０  メモリ空間
３０  非セキュア空間
４０  セキュア空間
４１  ポリシ記憶部
４２  判定装置
４３  バス
１００  権限判定システム
【図１】
2019012625.tif 000003
【図２】
2019012625.tif 000004
【図３】
2019012625.tif 000005
【図４】
2019012625.tif 000006
【図５】
2019012625.tif 000007
【図６】
2019012625.tif 000008
【図７】
2019012625.tif 000009
【図８】
2019012625.tif 000010
【図９】
2019012625.tif 000011
【図１０】
2019012625.tif 000012
【図１１】
2019012625.tif 000013
【国際調査報告】
2019012625.tif 000014
2019012625.tif 000015