(57)【要約】【課題】  セキュア実行ドメイン及び非セキュア実行ドメインが並列で動作するケースにおいて、セキュア実行ドメインで処理すべき情報（保護対象情報）を十分に保護することを可能とする携帯端末を提供する。【解決手段】  携帯端末は、非セキュア実行ドメイン１５０及びセキュア実行ドメイン１６０に関連付けられた第１ＣＰＵ１１０と、通信ドメインに関連付けられた第２ＣＰＵ１２０とを有する。携帯端末は、第１ＣＰＵ１１０及び第２ＣＰＵ１２０が共有するデータ共有領域を備える。第１ＣＰＵ１１０は、セキュア割込みと非セキュア割込みとを識別する第１ＣＰＵ側識別部を有する。第２ＣＰＵ１２０は、セキュア外部割込みと非セキュア外部割込みとを識別する第２ＣＰＵ側識別部を有する。セキュア実行ドメイン１６０は、第２ＣＰＵ１２０から第１ＣＰＵ１１０に渡すためにデータ共有領域に書き込まれた保護対象情報を非セキュア実行ドメイン１５０から保護する。【選択図】  図１
2010176630.tif 000002
【特許請求の範囲】
【請求項１】
保護対象情報を処理するセキュア実行ドメイン及び非保護対象情報を処理する非セキュア実行ドメインに関連付けられた第１ＣＰＵと、ネットワークと通信を行う通信処理を実行する通信ドメインに関連付けられた第２ＣＰＵとを有する携帯端末であって、
前記第１ＣＰＵに関連付けられており、前記第１ＣＰＵ及び前記第２ＣＰＵが共有するメモリ領域であるデータ共有領域を備え、
前記第１ＣＰＵは、前記第２ＣＰＵから前記セキュア実行ドメインへの割込みであるセキュア割込みと、前記第２ＣＰＵから前記非セキュア実行ドメインへの割込みである非セキュア割込みとを識別する第１ＣＰＵ側識別部を有しており、
前記第２ＣＰＵは、前記セキュア実行ドメインから前記第２ＣＰＵへの外部割込みであるセキュア外部割込みと、前記非セキュア実行ドメインから前記第２ＣＰＵへの割込みである非セキュア外部割込みとを識別する第２ＣＰＵ側識別部を有しており、
前記セキュア実行ドメインは、前記第２ＣＰＵから前記第１ＣＰＵに渡すために前記データ共有領域に書き込まれた前記保護対象情報を前記非セキュア実行ドメインから保護することを特徴とする携帯端末。
【請求項２】
前記セキュア実行ドメインは、前記第１ＣＰＵから前記第２ＣＰＵに渡すために前記データ共有領域に書き込まれた前記保護対象情報を前記非セキュア実行ドメインから保護することを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記データ共有領域は、前記セキュア実行ドメインに設けられていることを特徴とする請求項１又は請求項２に記載の携帯端末。
【請求項４】
前記データ共有領域は、前記セキュア実行ドメインに設けられたセキュア共有領域と、前記非セキュア実行ドメインに設けられた非セキュア共有領域とを含み、
前記第２ＣＰＵ側識別部は、前記セキュア共有領域及び前記非セキュア共有領域の状態に応じて、前記セキュア外部割込みと非セキュア外部割込みとを識別することを特徴とする請求項１又は請求項２に記載の携帯端末。
【請求項５】
前記データ共有領域は、前記非セキュア実行ドメインに設けられており、
前記セキュア実行ドメインは、前記非セキュア実行ドメインに設けられた前記データ共有領域にアクセス可能であり、
前記セキュア実行ドメインは、
前記セキュア割込みが検出された後に検出された前記非セキュア割込みを無効化する第１無効化部と、
前記保護対象情報が前記データ共有領域から消去された後に、前記第１無効化部によって無効化された前記非セキュア割込みを有効化する第１有効化部とを有する請求項１に記載の携帯端末。
【請求項６】
前記セキュア実行ドメインは、前記保護対象情報が前記データ共有領域から消去されるまで、前記非セキュア実行ドメインで実行される処理を停止する実行停止部とを有することを特徴とする請求項５に記載の携帯端末。
【請求項７】
前記セキュア実行ドメイン及び前記第２ＣＰＵは、前記データ共有領域に書き込まれた前記保護対象情報を共同で消去することを特徴とする請求項５又は請求項６に記載の携帯端末。
【請求項８】
前記データ共有領域は、前記非セキュア実行ドメインに設けられており、
前記セキュア実行ドメインは、
前記非セキュア実行ドメインで実行されているプログラムの完全性を検証する第１検証部と、
前記第２ＣＰＵによって前記データ共有領域に書き込まれる前記保護対象情報を前記セキュア実行ドメインに渡すデータ取得処理を前記非セキュア実行ドメインに依頼する第１依頼部とを有しており、
前記第１依頼部は、前記非セキュア実行ドメインで実行されているプログラムの完全性が検証された場合に、前記データ取得処理を前記非セキュア実行ドメインに依頼することを特徴とする請求項１に記載の携帯端末。
【請求項９】
前記データ共有領域は、前記非セキュア実行ドメインに設けられており、
前記セキュア実行ドメインは、
前記非セキュア実行ドメインで実行されているプログラムの完全性を検証する第２検証部と、
前記セキュア実行ドメインによって前記データ共有領域に書き込まれる前記保護対象情報を前記第２ＣＰＵに渡すデータ送信処理を前記非セキュア実行ドメインに依頼する第２依頼部とを有しており、
前記第２依頼部は、前記非セキュア実行ドメインで実行されているプログラムの完全性が検証された場合に、前記データ送信処理を前記非セキュア実行ドメインに依頼することを特徴とする請求項２に記載の携帯端末。
【請求項１０】
前記通信ドメインは、前記セキュア実行ドメインから取得した前記保護対象情報と、前記非セキュア実行ドメインから取得した前記非保護対象情報とをまとめて、前記ネットワークに送信される送信データを生成するデータ結合部を有することを特徴とする請求項１に記載の携帯端末。
【請求項１１】
前記通信ドメインは、前記ネットワークから受信する受信データを、前記セキュア実行ドメインに渡す前記保護対象情報と、前記非セキュア実行ドメインに渡す前記非保護対象情報とに分離するデータ分離部を有することを特徴とする請求項１に記載の携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
保護対象情報を処理するセキュア実行ドメイン及び非保護対象情報を処理する非セキュア実行ドメインに関連付けられた第１ＣＰＵと、ネットワークと通信を行う通信処理を実行する通信ドメインに関連付けられた第２ＣＰＵとを有する携帯端末に関する。
【背景技術】
【０００２】
従来、多様なコンテンツやアプリケーションを追加可能に構成された携帯端末が知られている。近年では、コンテンツやアプリケーションのデータサイズは大きくなっており、コンテンツやアプリケーションの高機能化が進んでいる。このような状況に対応するために、携帯端末に設けられたＣＰＵの高機能化が求められている。
【０００３】
例えば、第１ＣＰＵ（以下、Ａ−ＣＰＵ）と、第２ＣＰＵ（以下、Ｃ−ＣＰＵ）とを有する携帯端末が提案されている。Ａ−ＣＰＵは、アプリケーションを実行する専用のＣＰＵである。Ｃ−ＣＰＵは、移動通信網などのネットワークと通信を行う処理（通信処理）を実行する専用のＣＰＵである。このような携帯端末では、Ａ−ＣＰＵ上で実行されるアプリケーションが通信処理を必要とする場合には、Ａ−ＣＰＵは通信処理をＣ−ＣＰＵに依頼する必要がある。
【０００４】
ここで、Ａ−ＣＰＵは、メール、ウェブ閲覧、カメラなどのように、様々なアプリケーションを実行する。従って、Ａ−ＣＰＵは、例えば、Ｌｉｎｕｘ、Ｓｙｍｂｉａｎ  ＯＳ、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｏｂｉｌｅなどの高機能ＯＳを有することが多い。一方で、Ｃ−ＣＰＵは、μＩＴＲＯＮ（Ｍｉｃｒｏ  Ｉｎｄｕｓｔｒｉａｌ  Ｔｈｅ  Ｒｅａｌ−ｔｉｍｅ  Ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ  Ｎｕｃｌｅｕｓ）などのリアルタイムＯＳを有する。
【０００５】
ここで、Ａ−ＣＰＵ上では、ＰＣなどと同様に、Ａ−ＣＰＵに設けられたＯＳ上で直接的にアプリケーションを実行することが可能である。これによって、不要なオーバヘッドが生じることなく、アプリケーションが実行される。しかしながら、ＰＣなどと同様に、ウィルスなどを含む攻撃アプリケーションが不正に実行されると、携帯端末に記憶された各種情報（コンテンツや個人情報など）の消去や漏洩が生する危険性がある。また、携帯端末が故障する危険性もある。
【０００６】
このような危険性に対処する技術するために、（１）仮想的なリソースによって複数のＯＳを動作させる第１技術（例えば、特許文献１）、（２）複数のＯＳのそれぞれが用いるメモリ領域を分離する第２技術（例えば、特許文献２）、（３）複数のＣＰＵ間で通信を行う場合に、受信側ＯＳが用いるメモリ領域のアドレスを指定する技術（例えば、特許文献３）が提案されている。
【０００７】
第１技術では、仮想的なＣＰＵ、メモリ領域、周辺デバイスを有する仮想端末が構成される。複数のＯＳは仮想端末上で動作する。このような仮想端末上において、アプリケーションを実行するＯＳと、コンテンツや個人情報などを処理するＯＳとを分離することが考えられる。
【０００８】
第２技術では、複数のＯＳのそれぞれが用いるメモリ領域を分離することによって、携帯端末は、非セキュア実行ドメインとセキュア実行ドメインとを有する。非セキュア実行ドメインは、メモリ領域に格納されたデータが保護されないドメインである。セキュア実行ドメインは、メモリ領域に格納されたデータが保護されるドメインである。携帯端末は、非セキュア実行ドメインへの外部割込みを処理する第１処理部と、セキュア実行ドメインへの外部割込みを処理する第２処理部とを有する。これによって、外部ＣＰＵ（例えば、Ｃ−ＣＰＵ）からの外部割込みは、適切なＯＳ（ドメイン）に通知される。
【０００９】
第３技術では、複数のＣＰＵ間で通信を行う場合に、受信側ＣＰＵが用いるメモリ領域のアドレスを送信側ＣＰＵが指定する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第６，４５３，３９２号明細書
【特許文献２】米国特許出願公開第２００４／０１５３５９３号明細書
【特許文献３】米国特許第７，１３６，９３３号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した技術では、セキュア実行ドメイン及び非セキュア実行ドメインが並列で動作するケースにおいて、セキュア実行ドメインで処理すべき情報（以下、保護対象情報）が十分に保護されていない。
【００１２】
具体的には、上述した第１技術では、仮想端末上で動作する複数のＯＳは、物理的には単一のハードウェアによって実現されている。従って、複数のＯＳ（セキュア実行ドメイン及び非セキュア実行ドメイン）を並列で動作させることができない。
【００１３】
上述した第２技術では、外部割込みを適切なＯＳに通知するに過ぎない。すなわち、第２技術では、外部ＣＰＵ（例えば、Ｃ−ＣＰＵ）がセキュア実行ドメイン及び非セキュア実行ドメインのいずれに割り込むかについて考慮されていない。従って、外部ＣＰＵ（例えば、Ｃ−ＣＰＵ）が非セキュア実行ドメインに割り込む場合に、外部ＣＰＵ（例えば、Ｃ−ＣＰＵ）が取得した保護対象情報が非セキュア実行ドメインに漏洩する可能性がある。
【００１４】
上述した第３技術では、受信側ＣＰＵが用いるメモリ領域のアドレスを送信側ＣＰＵが指定するに過ぎない。すなわち、第３技術では、受信側ＣＰＵ上で複数のＯＳ（セキュア実行ドメイン及び非セキュア実行ドメイン）が動作することについて考慮されていない。このように、セキュア実行ドメインについて考慮されていないため、保護対象情報の保護が十分ではない。
【００１５】
そこで、本発明は、上述した課題を解決するためになされたものであり、セキュア実行ドメイン及び非セキュア実行ドメインが並列で動作するケースにおいて、セキュア実行ドメインで処理すべき情報（保護対象情報）を十分に保護することを可能とする携帯端末を提供することを目的とする。
【課題を解決するための手段】
【００１６】
第１の特徴に係る携帯端末は、保護対象情報を処理するセキュア実行ドメイン及び非保護対象情報を処理する非セキュア実行ドメインに関連付けられた第１ＣＰＵと、ネットワークと通信を行う通信処理を実行する通信ドメインに関連付けられた第２ＣＰＵとを有する。携帯端末は、前記第１ＣＰＵに関連付けられており、前記第１ＣＰＵ及び前記第２ＣＰＵが共有するメモリ領域であるデータ共有領域を備える。前記第１ＣＰＵは、前記第２ＣＰＵから前記セキュア実行ドメインへの割込みであるセキュア割込みと、前記第２ＣＰＵから前記非セキュア実行ドメインへの割込みである非セキュア割込みとを識別する第１ＣＰＵ側識別部を有する。前記第２ＣＰＵは、前記セキュア実行ドメインから前記第２ＣＰＵへの外部割込みであるセキュア外部割込みと、前記非セキュア実行ドメインから前記第２ＣＰＵへの割込みである非セキュア外部割込みとを識別する第２ＣＰＵ側識別部を有する。前記セキュア実行ドメインは、前記第２ＣＰＵから前記第１ＣＰＵに渡すために前記データ共有領域に書き込まれた前記保護対象情報を前記非セキュア実行ドメインから保護する。
【００１７】
第１の特徴において、前記セキュア実行ドメインは、前記第１ＣＰＵから前記第２ＣＰＵに渡すために前記データ共有領域に書き込まれた前記保護対象情報を前記非セキュア実行ドメインから保護する。
【００１８】
第１の特徴において、前記データ共有領域は、前記セキュア実行ドメインに設けられている。
【００１９】
第１の特徴において、前記データ共有領域は、前記セキュア実行ドメインに設けられたセキュア共有領域と、前記非セキュア実行ドメインに設けられた非セキュア共有領域とを含む。前記第２ＣＰＵ側識別部は、前記セキュア共有領域及び前記非セキュア共有領域の状態に応じて、前記セキュア外部割込みと非セキュア外部割込みとを識別する。
【００２０】
第１の特徴において、前記データ共有領域は、前記非セキュア実行ドメインに設けられている。前記セキュア実行ドメインは、前記非セキュア実行ドメインに設けられた前記データ共有領域にアクセス可能である。前記セキュア実行ドメインは、前記セキュア割込みが検出された後に検出された前記非セキュア割込みを無効化する第１無効化部と、前記保護対象情報が前記データ共有領域から消去された後に、前記第１無効化部によって無効化された前記非セキュア割込みを有効化する第１有効化部とを有する。
【００２１】
第１の特徴において、前記セキュア実行ドメインは、前記保護対象情報が前記データ共有領域から消去されるまで、前記非セキュア実行ドメインで実行される処理を停止する実行停止部を有する。
【００２２】
第１の特徴において、前記セキュア実行ドメイン及び前記第２ＣＰＵは、前記データ共有領域に書き込まれた前記保護対象情報を共同で消去する。
【００２３】
第１の特徴において、前記データ共有領域は、前記非セキュア実行ドメインに設けられている。前記セキュア実行ドメインは、前記非セキュア実行ドメインで実行されているプログラムの完全性を検証する第１検証部と、前記第２ＣＰＵによって前記データ共有領域に書き込まれる前記保護対象情報を前記セキュア実行ドメインに渡すデータ取得処理を前記非セキュア実行ドメインに依頼する第１依頼部とを有する。前記第１依頼部は、前記非セキュア実行ドメインで実行されているプログラムの完全性が検証された場合に、前記データ取得処理を前記非セキュア実行ドメインに依頼する。
【００２４】
第１の特徴において、前記データ共有領域は、前記非セキュア実行ドメインに設けられている。前記セキュア実行ドメインは、前記非セキュア実行ドメインで実行されているプログラムの完全性を検証する第２検証部と、前記セキュア実行ドメインによって前記データ共有領域に書き込まれる前記保護対象情報を前記第２ＣＰＵに渡すデータ送信処理を前記非セキュア実行ドメインに依頼する第２依頼部とを有する。前記第２依頼部は、前記非セキュア実行ドメインで実行されているプログラムの完全性が検証された場合に、前記データ送信処理を前記非セキュア実行ドメインに依頼する。
【００２５】
第１の特徴において、前記通信ドメインは、前記セキュア実行ドメインから取得した前記保護対象情報と、前記非セキュア実行ドメインから取得した前記非保護対象情報とをまとめて、前記ネットワークに送信される送信データを生成するデータ結合部を有する。
【００２６】
第１の特徴において、前記通信ドメインは、前記ネットワークから受信する受信データを、前記セキュア実行ドメインに渡す前記保護対象情報と、前記非セキュア実行ドメインに渡す前記非保護対象情報とに分離するデータ分離部を有する。
【発明の効果】
【００２７】
本発明によれば、セキュア実行ドメイン及び非セキュア実行ドメインが並列で動作するケースにおいて、セキュア実行ドメインで処理すべき情報（保護対象情報）を十分に保護することを可能とする携帯端末を提供することができる。
【図面の簡単な説明】
【００２８】
【図１】第１実施形態に係るプログラム実行装置１００を示すブロック図である。
【図２】第１実施形態に係るデータ共有領域１６３を示す図である。
【図３】第１実施形態に係るデータ共有領域１６３を示す図である。
【図４】第１実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図５】第１実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図６】第２実施形態に係るプログラム実行装置１００を示すブロック図である。
【図７】第３実施形態に係るプログラム実行装置１００を示すブロック図である。
【図８】第３実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図９】第３実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図１０】第４実施形態に係るプログラム実行装置１００を示すブロック図である。
【図１１】第４実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図１２】第４実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図１３】第５実施形態に係るプログラム実行装置１００を示すブロック図である。
【図１４】第５実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図１５】第５実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図１６】第６実施形態に係るプログラム実行装置１００を示すブロック図である。
【図１７】第６実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図１８】第６実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【発明を実施するための形態】
【００２９】
以下において、本発明の実施形態に係る携帯端末について、図面を参照しながら説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【００３０】
ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。従って、具体的な寸法などは以下の説明を参酌して判断すべきである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００３１】
［実施形態の概要］
実施形態に係る携帯端末は、保護対象情報を処理するセキュア実行ドメイン及び非保護対象情報を処理する非セキュア実行ドメインに関連付けられた第１ＣＰＵと、ネットワークと通信を行う通信処理を実行する通信ドメインに関連付けられた第２ＣＰＵとを有する。携帯端末は、第１ＣＰＵに関連付けられており、第１ＣＰＵ及び第２ＣＰＵが共有するメモリ領域であるデータ共有領域を備える。
【００３２】
第１ＣＰＵは、第２ＣＰＵからセキュア実行ドメインへの割込みであるセキュア割込みと、第２ＣＰＵから非セキュア実行ドメインへの割込みである非セキュア割込みとを識別する第１ＣＰＵ側識別部を有する。
【００３３】
第２ＣＰＵは、セキュア実行ドメインから第２ＣＰＵへの外部割込みであるセキュア外部割込みと、非セキュア実行ドメインから第２ＣＰＵへの割込みである非セキュア外部割込みとを識別する第２ＣＰＵ側識別部を有する。
【００３４】
セキュア実行ドメインは、第２ＣＰＵから第１ＣＰＵに渡すためにデータ共有領域に書き込まれた保護対象情報を非セキュア実行ドメインから保護する。同様に、セキュア実行ドメインは、第１ＣＰＵから第２ＣＰＵに渡すためにデータ共有領域に書き込まれた保護対象情報を非セキュア実行ドメインから保護する。
【００３５】
実施形態では、第１ＣＰＵは、セキュア割込み及び非セキュア割込みを識別する第１ＣＰＵ側識別部を有する。同様に、第２ＣＰＵは、セキュア外部割込み及び非セキュア外部割込みを識別する第２ＣＰＵ側識別部を有する。なお、セキュア実行ドメインは、データ共有領域に書き込まれた保護対象情報を非セキュア実行ドメインから保護する。
【００３６】
このように、セキュア割込み、非セキュア割込み、セキュア外部割込み及び非セキュア外部割込みの識別によって、セキュア実行ドメイン及び非セキュア実行ドメインが並列で動作するケースにおいて、セキュア実行ドメインで処理すべき情報（保護対象情報）を十分に保護することができる。
【００３７】
なお、以下においては、携帯端末に設けられたプログラム実行装置について主として説明する。
【００３８】
［第１実施形態］
（プログラム実行装置の構成）
以下において、第１実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図１は、第１実施形態に係るプログラム実行装置１００を示すブロック図である。プログラム実行装置１００は、例えば、携帯端末に設けられる。
【００３９】
図１に示すように、プログラム実行装置１００は、第１ＣＰＵ１１０と、第２ＣＰＵ１２０と、第１ＣＰＵ用メモリ１３０と、第２ＣＰＵ用メモリ１４０とを有する。
【００４０】
第１ＣＰＵ１１０は、第１ＣＰＵ用メモリ１３０上にプログラムを展開して、各種アプリケーション（プログラム）を実行する。第１ＣＰＵ１１０は、第１ＣＰＵ用メモリ１３０に関連付けられている。第１ＣＰＵ１１０は、例えば、アプリケーションを実行する専用のＣＰＵ（Ａ−ＣＰＵ）である。第１ＣＰＵ１１０は、例えば、メール、ウェブ閲覧、カメラなどのようなアプリケーションを実行する。
【００４１】
第１実施形態では、第１ＣＰＵ１１０は、第２ＣＰＵ１２０からの割込みの種別を識別する割込み識別部１１１を有する。第２ＣＰＵ１２０からの割込みとしては、非セキュア実行ドメイン１５０への割込みである非セキュア割込みと、セキュア実行ドメイン１６０への割込みであるセキュア割込みとが挙げられる。すなわち、割込み識別部１１１は、非セキュア割込みとセキュア割込みとを識別する。
【００４２】
第１実施形態では、非セキュア割込み及びセキュア割込みは、異なる構成を有する割込みである。すなわち、非セキュア割込み及びセキュア割込みは、それぞれ、専用の割込みである。
【００４３】
第２ＣＰＵ１２０は、第２ＣＰＵ用メモリ１４０上にプログラムを展開して、各種アプリケーション（プログラム）を実行する。第２ＣＰＵ１２０は、第２ＣＰＵ用メモリ１４０に関連付けられている。第２ＣＰＵ１２０は、例えば、移動通信網などのネットワークと通信を行う処理（通信処理）を実行する専用のＣＰＵ（Ｃ−ＣＰＵ）である。
【００４４】
第１実施形態では、第２ＣＰＵ１２０は、第１ＣＰＵ１１０からの外部割込みの種別を識別する外部割込み識別部１２１を有する。第１ＣＰＵ１１０からの外部割込みとしては、非セキュア実行ドメイン１５０からの外部割込みである非セキュア外部割込みと、セキュア実行ドメイン１６０からの外部割込みであるセキュア外部割込みとが挙げられる。すなわち、外部割込み識別部１２１は、非セキュア外部割込みとセキュア外部割込みとを識別する。
【００４５】
第１実施形態では、非セキュア外部割込み及びセキュア外部割込みは、異なる構成を有する外部割込みである。すなわち、非セキュア外部割込み及びセキュア外部割込みは、それぞれ、専用の外部割込みである。
【００４６】
第１ＣＰＵ用メモリ１３０は、非セキュア実行ドメイン１５０と、セキュア実行ドメイン１６０とを有する。第１ＣＰＵ用メモリ１３０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などによって構成される。
【００４７】
非セキュア実行ドメイン１５０は、非保護対象情報を処理するドメインである。すなわち、非セキュア実行ドメイン１５０では、メモリ領域に格納されたデータがセキュア実行ドメイン１６０よりも保護されない。
【００４８】
具体的には、非セキュア実行ドメイン１５０は、非信頼アプリケーション処理部１５１とと、非セキュア外部割込み処理部１５２とを有する。
【００４９】
非信頼アプリケーション処理部１５１は、信頼性を有していないアプリケーションを処理する。例えば、非信頼アプリケーション処理部１５１は、携帯端末に新たに追加されたアプリケーションを処理する。
【００５０】
非セキュア外部割込み処理部１５２は、第２ＣＰＵ１２０への外部割込み（非セキュア外部割込み）を発行する。具体的には、非セキュア外部割込み処理部１５２は、非信頼アプリケーション処理部１５１からの要求に従って、非セキュア外部割込みを発行する。例えば、非セキュア外部割込み処理部１５２は、非信頼アプリケーション処理部１５１からの要求に従って、第２ＣＰＵ１２０によってネットワークにデータを送信する際に、非セキュア外部割込みを発行する。
【００５１】
セキュア実行ドメイン１６０は、保護対象情報を処理するドメインである。すなわち、セキュア実行ドメイン１６０では、メモリ領域に格納されたデータが非セキュア実行ドメイン１５０よりも保護される。詳細には、セキュア実行ドメイン１６０では、メモリ領域に格納されたデータが非セキュア実行ドメイン１５０から保護される。
【００５２】
具体的には、セキュア実行ドメイン１６０は、信頼アプリケーション処理部１６１と、セキュア外部割込み処理部１６２と、データ共有領域１６３とを有する。
【００５３】
信頼アプリケーション処理部１６１は、信頼性を有するアプリケーションを処理する。例えば、信頼アプリケーション処理部１６１は、携帯端末に予めインストールされたアプリケーションを処理する。
【００５４】
セキュア外部割込み処理部１６２は、第２ＣＰＵ１２０への外部割込み（セキュア外部割込み）を発行する。具体的には、セキュア外部割込み処理部１６２は、信頼アプリケーション処理部１６１からの要求に従って、セキュア外部割込みを発行する。例えば、セキュア外部割込み処理部１６２は、信頼アプリケーション処理部１６１からの要求に従って、第２ＣＰＵ１２０によってネットワークにデータを送信する際に、セキュア外部割込みを発行する。
【００５５】
データ共有領域１６３は、第１ＣＰＵ１１０に関連付けられており、第１ＣＰＵ１１０及び第２ＣＰＵ１２０によって共有される領域である。
【００５６】
ここで、データ共有領域１６３には、第１ＣＰＵ１１０から第２ＣＰＵ１２０に渡すデータが書き込まれる。すなわち、データ共有領域１６３には、第２ＣＰＵ１２０によってネットワークに送信されるデータが格納される。
【００５７】
また、データ共有領域１６３には、第２ＣＰＵ１２０から第１ＣＰＵ１１０に渡すデータが書き込まれる。すなわち、データ共有領域１６３には、第２ＣＰＵ１２０によってネットワークから受信されるデータが格納される。
【００５８】
第２ＣＰＵ用メモリ１４０は、通信アプリケーション処理部１４１と、セキュア割込み処理部１４２と、非セキュア割込み処理部１４３とを有する。第２ＣＰＵ用メモリ１４０は、ネットワークと通信を行う処理（通信処理）を実行する通信ドメインである。
【００５９】
通信アプリケーション処理部１４１は、通信機能に係るアプリケーションを処理する。具体的には、通信アプリケーション処理部１４１は、ネットワークと通信を行う処理（通信処理）に係るアプリケーションを処理する。
【００６０】
セキュア割込み処理部１４２は、第１ＣＰＵ１１０のセキュア実行ドメイン１６０への割込み（セキュア割込み）を発行する。具体的には、セキュア割込み処理部１４２は、通信アプリケーション処理部１４１からの要求に従って、セキュア割込みを発行する。例えば、セキュア割込み処理部１４２は、通信アプリケーション処理部１４１からの要求に従って、第２ＣＰＵ１２０によってネットワークから受信されたデータをセキュア実行ドメイン１６０に送信する際に、セキュア割込みを発行する。
【００６１】
非セキュア割込み処理部１４３は、第１ＣＰＵ１１０の非セキュア実行ドメイン１５０への割込み（非セキュア割込み）を発行する。具体的には、非セキュア割込み処理部１４３は、通信アプリケーション処理部１４１からの要求に従って、非セキュア割込みを発行する。例えば、非セキュア割込み処理部１４３は、通信アプリケーション処理部１４１からの要求に従って、第２ＣＰＵ１２０によってネットワークから受信されたデータを非セキュア実行ドメイン１５０に送信する際に、非セキュア割込みを発行する。
【００６２】
（保護対象情報の保護）
以下において、第１実施形態に係る保護対象情報の保護について説明する。具体的には、データ共有領域１６３は、セキュア実行ドメイン１６０に設けられている。また、セキュア実行ドメイン１６０は、データ共有領域１６３に書き込まれたデータを非セキュア実行ドメイン１５０から保護する。
【００６３】
すなわち、セキュア実行ドメイン１６０は、セキュア実行ドメイン１６０は、第１ＣＰＵ１１０から第２ＣＰＵ１２０に渡すためにデータ共有領域１６３に書き込まれた保護対象情報を非セキュア実行ドメイン１５０から保護する。同様に、セキュア実行ドメイン１６０は、第２ＣＰＵ１２０から第１ＣＰＵ１１０に渡すためにデータ共有領域１６３に書き込まれた保護対象情報を非セキュア実行ドメイン１５０から保護する。
【００６４】
第１実施形態では、保護対象情報は、図２及び図３に示すように、データ受信完了フラグによって管理される。
【００６５】
図２には、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡す保護対象情報に対応付けられたデータ受信完了フラグが示されている。このようなケースでは、セキュア実行ドメイン１６０は、第２ＣＰＵ１２０から保護対象情報を受信した場合に、データ受信完了フラグに“承認”をセットする（図２に示す１番目の保護対象情報を参照）。
【００６６】
図３には、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に渡す保護対象情報に対応付けられたデータ受信完了フラグが示されている。このようなケースでは、第２ＣＰＵ１２０は、セキュア実行ドメイン１６０から保護対象情報を受信した場合に、データ受信完了フラグに“承認”をセットする（図３に示す１番目の保護対象情報を参照）。
【００６７】
（プログラム実行装置の動作）
以下において、第１実施形態に係るプログラム実行装置の動作について、図面を参照しながら説明する。図４及び図５は、第１実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【００６８】
以下においては、第１ＣＰＵ用メモリ１３０上に設けられた構成は、第１ＣＰＵ１１０によって制御されるため、第１ＣＰＵ用メモリ１３０上に設けられた構成の処理について、必要に応じて、第１ＣＰＵ１１０の処理として説明する。同様に、第２ＣＰＵ用メモリ１４０上に設けられた構成は、第２ＣＰＵ１２０によって制御されるため、第２ＣＰＵ用メモリ１４０上に設けられた構成の処理について、必要に応じて、第２ＣＰＵ１２０の処理として説明する。
【００６９】
第１に、第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）から第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）にデータを渡すケースについて、図４を参照しながら説明する。ここでは、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に保護対象情報を渡すケースについて説明する。
【００７０】
図４に示すように、ステップ１１０において、第２ＣＰＵ１２０は、第２ＣＰＵ１２０によってネットワークから受信されるデータをデータ共有領域１６３に書き込む。具体的には、通信アプリケーション処理部１４１は、セキュア実行ドメイン１６０に渡す保護対象情報をデータ共有領域１６３に書き込む。
【００７１】
ステップ１２０において、第２ＣＰＵ１２０は、第１ＣＰＵ１１０への割込みを発行する。具体的には、セキュア割込み処理部１４２は、セキュア実行ドメイン１６０への割込みであるセキュア割込みを発行する。
【００７２】
ステップ２１０において、第１ＣＰＵ１１０は、第１ＣＰＵ１１０への割込みを検知する。具体的には、割込み識別部１１１は、セキュア実行ドメイン１６０への割込みであるセキュア割込みを検知する。
【００７３】
ステップ２２０において、第１ＣＰＵ１１０は、データ共有領域１６３からデータを読み出す。具体的には、セキュア実行ドメイン１６０の信頼アプリケーション処理部１６１は、データ共有領域１６３から保護対象情報を読み出す。
【００７４】
ステップ２３０において、第１ＣＰＵ１１０は、データ共有領域１６３から読み出されたデータに対応付けられたデータ受信完了フラグに“承認”をセットする。具体的には、セキュア実行ドメイン１６０の信頼アプリケーション処理部１６１は、保護対象情報に対応付けられたデータ受信完了フラグに“承認”をセットする。
【００７５】
ステップ２４０において、第１ＣＰＵ１１０は、第２ＣＰＵ１２０への外部割込みを発行する。具体的には、セキュア実行ドメイン１６０のセキュア外部割込み処理部１６２は、第２ＣＰＵ１２０への外部割込みであるセキュア外部割込みを発行する。
【００７６】
ステップ３１０において、第２ＣＰＵ１２０は、第２ＣＰＵ１２０への外部割込みを検知する。具体的には、外部割込み識別部１２１は、第２ＣＰＵ１２０への外部割込みを検知する。
【００７７】
ステップ３２０において、第２ＣＰＵ１２０は、第２ＣＰＵ１２０への外部割込みの発行元（割込み元）を確認する。具体的には、外部割込み識別部１２１は、第２ＣＰＵ１２０への外部割込みの発行元を確認する。
【００７８】
ステップ３３０において、第２ＣＰＵ１２０は、第２ＣＰＵ１２０への外部割込みの発行元がセキュア実行ドメイン１６０であるか否かを識別する。具体的には、外部割込み識別部１２１は、外部割込みがセキュア外部割込みであるか否かを識別する。
【００７９】
外部割込みがセキュア外部割込みである場合には、ステップ３４０が実行される。一方で、外部割込みが非セキュア外部割込みである場合には、一連の処理が終了する。
【００８０】
ステップ３４０において、第２ＣＰＵ１２０は、データ共有領域１６３から読み出されたデータに対応付けられたデータ受信完了フラグを確認する。具体的には、通信アプリケーション処理部１４１は、保護対象情報に対応付けられたデータ受信完了フラグに“承認”が設定されていることを確認する。
【００８１】
第２に、第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）から第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）にデータを渡すケースについて、図５を参照しながら説明する。ここでは、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に保護対象情報を渡すケースについて説明する。
【００８２】
図５に示すように、ステップ４１０において、第１ＣＰＵ１１０は、第２ＣＰＵ１２０によってネットワークに送信されるデータをデータ共有領域１６３に書き込む。具体的には、セキュア実行ドメイン１６０の信頼アプリケーション処理部１６１は、第２ＣＰＵ１２０に渡す保護対象情報をデータ共有領域１６３に書き込む。
【００８３】
ステップ４２０において、第１ＣＰＵ１１０は、第２ＣＰＵ１２０への外部割込みを発行する。具体的には、セキュア実行ドメイン１６０のセキュア外部割込み処理部１６２は、第２ＣＰＵ１２０への外部割込みであるセキュア外部割込みを発行する。
【００８４】
ステップ５１０において、第２ＣＰＵ１２０は、第２ＣＰＵ１２０への外部割込みを検知する。具体的には、外部割込み識別部１２１は、第２ＣＰＵ１２０への外部割込みを検知する。
【００８５】
ステップ５２０において、第２ＣＰＵ１２０は、第２ＣＰＵ１２０への外部割込みの発行元（割込み元）を確認する。具体的には、外部割込み識別部１２１は、第２ＣＰＵ１２０への外部割込みの発行元を確認する。
【００８６】
ステップ５３０において、第２ＣＰＵ１２０は、第２ＣＰＵ１２０への外部割込みの発行元がセキュア実行ドメイン１６０であるか否かを識別する。具体的には、外部割込み識別部１２１は、外部割込みがセキュア外部割込みであるか否かを識別する。
【００８７】
外部割込みがセキュア外部割込みである場合には、ステップ５４０が実行される。一方で、外部割込みが非セキュア外部割込みである場合には、一連の処理が終了する。
【００８８】
ステップ５４０において、第２ＣＰＵ１２０は、データ共有領域１６３からデータを読み出す。具体的には、通信アプリケーション処理部１４１は、データ共有領域１６３から保護対象情報を読み出す。
【００８９】
ステップ５５０において、第２ＣＰＵ１２０は、データ共有領域１６３から読み出されたデータに対応付けられたデータ受信完了フラグに“承認”をセットする。具体的には、通信アプリケーション処理部１４１は、保護対象情報に対応付けられたデータ受信完了フラグに“承認”をセットする。
【００９０】
ステップ５６０において、第２ＣＰＵ１２０は、第１ＣＰＵ１１０への割込みを発行する。具体的には、セキュア割込み処理部１４２は、セキュア実行ドメイン１６０への割込みであるセキュア割込みを発行する。
【００９１】
ステップ６１０において、第１ＣＰＵ１１０は、第１ＣＰＵ１１０への割込みを検知する。具体的には、割込み識別部１１１は、セキュア実行ドメイン１６０への割込みであるセキュア割込みを検知する。
【００９２】
ステップ６２０において、第１ＣＰＵ１１０は、データ共有領域１６３から読み出されたデータに対応付けられたデータ受信完了フラグを確認する。具体的には、セキュア実行ドメイン１６０の信頼アプリケーション処理部１６１は、保護対象情報に対応付けられたデータ受信完了フラグに“承認”がセットされていることを確認する。
【００９３】
（作用及び効果）
第１実施形態では、第１ＣＰＵ１１０は、セキュア割込み及び非セキュア割込みを識別する割込み識別部１１１を有する。同様に、第２ＣＰＵ１２０は、セキュア外部割込み及び非セキュア外部割込みを識別する外部割込み識別部１２１を有する。なお、第１ＣＰＵ１１０に関連付けられたセキュア実行ドメイン１６０は、データ共有領域に書き込まれた保護対象情報を、第１ＣＰＵ１１０に関連付けられた非セキュア実行ドメイン１５０から保護する。
【００９４】
このように、セキュア割込み、非セキュア割込み、セキュア外部割込み及び非セキュア外部割込みの識別によって、セキュア実行ドメイン１６０及び非セキュア実行ドメイン１５０が並列で動作するケースにおいて、セキュア実行ドメイン１６０で処理すべき情報（保護対象情報）を十分に保護することができる。
【００９５】
第１実施形態では、データ共有領域１６３がセキュア実行ドメイン１６０に設けられているため、セキュア実行ドメイン１６０で処理すべき情報（保護対象情報）を十分に保護することができる。
【００９６】
［第２実施形態］
以下において、第２実施形態について、図面を参照しながら説明する。以下においては、第１実施形態との相違点について主として説明する。
【００９７】
具体的には、第１実施形態では、非セキュア割込み及びセキュア割込みは、異なる構成を有する割込みである。非セキュア外部割込み及びセキュア外部割込みは、異なる構成を有する外部割込みである。
【００９８】
これに対して、第２実施形態では、非セキュア割込み及びセキュア割込みは、同様の構成を有する割込みである。非セキュア外部割込み及びセキュア外部割込みは、同様の構成を有する外部割込みである。
【００９９】
（プログラム実行装置の構成）
以下において、第２実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図６は、第２実施形態に係るプログラム実行装置１００を示すブロック図である。図６では、図１と同様の構成について、同様の符号を付している。
【０１００】
図６に示すように、非セキュア実行ドメイン１５０は、非セキュア共有領域１５３をさらに備える。セキュア実行ドメイン１６０は、データ共有領域１６３に代えて、セキュア共有領域１６４を備える。
【０１０１】
非セキュア共有領域１５３は、第１ＣＰＵ１１０に関連付けられており、第１ＣＰＵ１１０及び第２ＣＰＵ１２０によって共有される領域である。具体的には、非セキュア共有領域１５３は、非セキュア実行ドメイン１５０及び第２ＣＰＵ１２０によって共有される領域である。
【０１０２】
ここで、非セキュア共有領域１５３に格納されるデータには、第２ＣＰＵ１２０から非セキュア実行ドメイン１５０に非セキュア割込みによって渡されるデータであることを示す割込み識別フラグが対応付けられる。同様に、非セキュア実行ドメイン１５０に格納されるデータには、非セキュア実行ドメイン１５０から第２ＣＰＵ１２０に非セキュア外部割込みによって渡されるデータであることを示す割込み識別フラグが対応付けられる。
【０１０３】
セキュア共有領域１６４は、第１ＣＰＵ１１０に関連付けられており、第１ＣＰＵ１１０及び第２ＣＰＵ１２０によって共有される領域である。具体的には、セキュア共有領域１６４は、セキュア実行ドメイン１６０及び第２ＣＰＵ１２０によって共有される領域である。
【０１０４】
ここで、セキュア共有領域１６４に格納されるデータには、第２ＣＰＵ１２０からセキュア実行ドメイン１６０にセキュア割込みによって渡されるデータであることを示す割込み識別フラグが対応付けられる。同様に、セキュア共有領域１６４に格納されるデータには、セキュア実行ドメイン１６０から第２ＣＰＵ１２０にセキュア外部割込みによって渡されるデータであることを示す割込み識別フラグが対応付けられる。
【０１０５】
上述した割込み識別部１１１は、非セキュア割込みとセキュア割込みとを割込み識別フラグによって識別する。すなわち、割込み識別部１１１は、非セキュア共有領域１５３及びセキュア共有領域１６４の状態に応じて、非セキュア割込みとセキュア割込みとを識別する。
【０１０６】
上述した外部割込み識別部１２１は、非セキュア外部割込みとセキュア外部割込みとを割込み識別フラグによって識別する。すなわち、外部割込み識別部１２１は、非セキュア共有領域１５３及びセキュア共有領域１６４の状態に応じて、非セキュア外部割込みとセキュア外部割込みとを識別する。
【０１０７】
（作用及び効果）
第２実施形態では、割込み識別部１１１は、非セキュア共有領域１５３及びセキュア共有領域１６４に格納された割込み識別フラグによって、非セキュア割込みとセキュア割込みとを識別する。従って、非セキュア割込み及びセキュア割込みが同じ構成を有していても、非セキュア割込みとセキュア割込みとの識別が可能である。
【０１０８】
同様に、外部割込み識別部１２１は、非セキュア共有領域１５３及びセキュア共有領域１６４に格納された割込み識別フラグによって、非セキュア外部割込みとセキュア外部割込みとを識別する。従って、非セキュア外部割込み及びセキュア外部割込みが同じ構成を有していても、非セキュア外部割込みとセキュア外部割込みとの識別が可能である。
【０１０９】
［第３実施形態］
以下において、第３実施形態について、図面を参照しながら説明する。以下においては、第１実施形態との相違点について主として説明する。
【０１１０】
具体的には、第１実施形態では、データ共有領域がセキュア実行ドメイン１６０に設けられている。これに対して、第３実施形態では、データ共有領域が非セキュア実行ドメイン１５０に設けられている。
【０１１１】
（プログラム実行装置の構成）
以下において、第３実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図７は、第３実施形態に係るプログラム実行装置１００を示すブロック図である。図７では、図１と同様の構成について、同様の符号を付している。
【０１１２】
図７に示すように、第２ＣＰＵ用メモリ１４０は、データ消去部１４４をさらに備える。非セキュア実行ドメイン１５０は、データ共有領域１５４をさらに備える。セキュア実行ドメイン１６０は、データ共有領域１６３に代えて、割込み監視部１６５及びデータ消去部１６６を備える。
【０１１３】
データ消去部１４４は、第１ＣＰＵ１１０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１４４は、非セキュア実行ドメイン１５０の割込みが有効化される前に、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１１４】
データ共有領域１５４は、データ共有領域１６３と同様に、第１ＣＰＵ１１０に関連付けられており、第１ＣＰＵ１１０及び第２ＣＰＵ１２０によって共有される領域である。なお、セキュア実行ドメイン１６０は、データ共有領域１５４にアクセス可能であることに留意すべきである。
【０１１５】
ここで、データ共有領域１５４には、第１ＣＰＵ１１０から第２ＣＰＵ１２０に渡すためのデータが書き込まれる。すなわち、データ共有領域１５４には、第２ＣＰＵ１２０によってネットワークに送信されるデータが格納される。
【０１１６】
また、データ共有領域１５４には、第２ＣＰＵ１２０から第１ＣＰＵ１１０に渡すためのデータが書き込まれる。すなわち、データ共有領域１５４には、第２ＣＰＵ１２０によってネットワークから受信されるデータが格納される。
【０１１７】
割込み監視部１６５は、第１ＣＰＵ１１０から第２ＣＰＵ１２０への割込み、第２ＣＰＵ１２０から第１ＣＰＵ１１０への外部割込みを監視する。
【０１１８】
ここで、割込み監視部１６５は、セキュア割込みが検出された後に検出された他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を無効化する第１無効化部を構成する。また、割込み監視部１６５は、セキュア外部割込みが検出された後に検出された他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を無効化する。
【０１１９】
割込み監視部１６５は、保護対象情報がデータ共有領域１５４から消去された後に、割込み監視部１６５によって無効化された他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を有効化する第１有効化部を構成する。
【０１２０】
割込み監視部１６５は、保護対象情報がデータ共有領域１５４から消去されるまで、非セキュア実行ドメイン１５０で実行される処理を停止する実行停止部を構成する。具体的には、割込み監視部１６５は、セキュア実行ドメイン１６０から第２ＣＰＵ１２０へのセキュア外部割込みが発行されてから、第２ＣＰＵ１２０からセキュア実行ドメイン１６０へのセキュア割込みが検知されるまで、非セキュア実行ドメイン１５０で実行される処理を停止させて、セキュア実行ドメイン１６０を維持する。
【０１２１】
データ消去部１６６は、第２ＣＰＵ１２０から第１ＣＰＵ１１０に渡すためにデータ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１６６は、少なくとも、非セキュア実行ドメイン１５０の割込み（例えば、非セキュア割込みや非セキュア外部割込み）が有効化される前に、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１２２】
（プログラム実行装置の動作）
以下において、第３実施形態に係るプログラム実行装置の動作について、図面を参照しながら説明する。図８及び図９は、第３実施形態に係るプログラム実行装置１００の動作を示すフロー図である。図８では、図４と同様の処理について、同様のステップ番号が付されている。図９では、図５と同様の処理について、同様のステップ番号が付されている。
【０１２３】
第１に、第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）から第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）にデータを渡すケースについて、図８を参照しながら説明する。ここでは、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に保護対象情報を渡すケースについて説明する。
【０１２４】
図８に示すように、ステップ２１１において、第１ＣＰＵ１１０は、他の割込みを無効化する。具体的には、割込み監視部１６５は、他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を無効化する。
【０１２５】
ここで、ステップ２１１の処理は、ステップ２１０の処理の後、すなわち、セキュア割込みが割込み識別部１１１によって検知された後に行われることに留意すべきである。
【０１２６】
ステップ２２１において、第１ＣＰＵ１１０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１６６は、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１２７】
ここで、ステップ２２１の処理は、ステップ２４０の処理の前、すなわち、セキュア外部割込みが発行される前に行われることに留意すべきである。
【０１２８】
ステップ２４２において、第１ＣＰＵ１１０は、他の割込みを有効化する。具体的には、割込み監視部１６５は、ステップ２１１で無効化された他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を有効化する。
【０１２９】
ここで、ステップ２４１の処理は、ステップ２４０の処理の後、すなわち、セキュア外部割込みが発行された後に行われることに留意すべきである。
【０１３０】
第２に、第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）から第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）にデータを渡すケースについて、図９を参照しながら説明する。ここでは、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に保護対象情報を渡すケースについて説明する。
【０１３１】
図９に示すように、ステップ４０１において、第１ＣＰＵ１１０は、他の割込みを無効化する。具体的には、割込み監視部１６５は、他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を無効化する。
【０１３２】
ここで、ステップ４０１の処理は、ステップ４１０の処理の前、すなわち、セキュア実行ドメイン１６０が保護対象情報をデータ共有領域１５４に書き込む処理の前に行われることに留意すべきである。
【０１３３】
ステップ４２１において、第１ＣＰＵ１１０は、セキュア実行ドメイン１６０を維持する状態（ドメイン維持状態）をセットする。具体的には、割込み監視部１６５は、ドメイン維持状態をセットして、非セキュア実行ドメイン１５０で実行される処理を停止させる。
【０１３４】
ステップ５４１において、第２ＣＰＵ１２０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１４４は、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１３５】
なお、ステップ５４１の処理は、ステップ５５０の処理の前、すなわち、データ受信完了フラグに“承認”がセットされる前に行われることに留意すべきである。
【０１３６】
ステップ６１１において、第１ＣＰＵ１１０は、セキュア実行ドメイン１６０を維持する状態（ドメイン維持状態）を解除する。具体的には、割込み監視部１６５は、ドメイン維持状態を解除して、非セキュア実行ドメイン１５０で実行される処理を再開させる。
【０１３７】
なお、ステップ６１１の処理は、ステップ６１０の処理の後、セキュア割込みが検知された後に行われるに留意すべきである。
【０１３８】
ステップ６２１において、第１ＣＰＵ１１０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１６６は、ステップ５４１で削除されなかった残りの保護対象情報を削除する。
【０１３９】
なお、ステップ６２１の処理は、ステップ６２０の処理の後、すなわち、データ受信完了フラグに“承認”がセットされていることが確認された後に行われる。
【０１４０】
ステップ６２２において、第１ＣＰＵ１１０は、他の割込みを有効化する。具体的には、割込み監視部１６５は、ステップ４０１で無効化された他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を有効化する。
【０１４１】
（作用及び効果）
第３実施形態では、割込み監視部１６５は、セキュア割込みが検出された後に検出された他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を無効化する。従って、データ共有領域１５４が非セキュア実行ドメイン１５０に設けられていても、セキュア実行ドメイン１６０で処理すべき情報（保護対象情報）を非セキュア実行ドメイン１５０から保護することができる。
【０１４２】
第３実施形態では、割込み監視部１６５は、保護対象情報がデータ共有領域１５４から消去された後に、割込み監視部１６５によって無効化された他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）を有効化する。従って、セキュア実行ドメイン１６０及び非セキュア実行ドメイン１５０を並列で動作させることができる。
【０１４３】
第３実施形態では、割込み監視部１６５は、保護対象情報がデータ共有領域１５４から消去されるまで、非セキュア実行ドメイン１５０で実行される処理を停止する。従って、セキュア実行ドメイン１６０で処理すべき情報（保護対象情報）を非セキュア実行ドメイン１５０から保護することができる。
【０１４４】
［第４実施形態］
以下において、第４実施形態について、図面を参照しながら説明する。以下においては、第３実施形態との相違点について主として説明する。
【０１４５】
具体的には、第３実施形態では、データ共有領域１５４に書き込まれた保護対象情報を受信側が削除する。第４実施形態では、データ共有領域１５４に書き込まれた保護対象情報を受信側及び送信側の双方が削除する。
【０１４６】
（プログラム実行装置の構成）
以下において、第４実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図１０は、第４実施形態に係るプログラム実行装置１００を示すブロック図である。図１０では、図７と同様の構成について、同様の符号を付している。
【０１４７】
図１０に示すように、第２ＣＰＵ用メモリ１４０は、送信データ消去部１４５をさらに備える。セキュア実行ドメイン１６０は、送信データ消去部１６７をさらに備える。
【０１４８】
送信データ消去部１４５は、第２ＣＰＵ１２０から第１ＣＰＵ１１０に渡すためにデータ共有領域１５４に書き込まれたデータを削除する。具体的には、送信データ消去部１４５は、セキュア実行ドメイン１６０によってデータ受信完了フラグに“承認”がセットされた場合に、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１４９】
送信データ消去部１６７は、第１ＣＰＵ１１０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれたデータを削除する。具体的には、送信データ消去部１６７は、第２ＣＰＵ１２０によってデータ受信完了フラグに“承認”がセットされた場合に、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１５０】
（プログラム実行装置の動作）
以下において、第４実施形態に係るプログラム実行装置の動作について、図面を参照しながら説明する。図１１及び図１２は、第４実施形態に係るプログラム実行装置１００の動作を示すフロー図である。図１１では、図８と同様の処理について、同様のステップ番号が付されている。図１２では、図９と同様の処理について、同様のステップ番号が付されている。
【０１５１】
第１に、第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）から第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）にデータを渡すケースについて、図１１を参照しながら説明する。ここでは、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に保護対象情報を渡すケースについて説明する。
【０１５２】
図１１に示すように、ステップ２４１において、第１ＣＰＵ１１０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１６６は、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１５３】
ここで、ステップ２４１の処理は、図８に示すステップ２２１の処理と同様である。図１１では、図８に示すステップ２２１の処理に代えて、ステップ２４１の処理が行われる。
【０１５４】
ステップ２４１の処理は、ステップ２４０の処理の後、すなわち、セキュア外部割込みが発行された後に行われることに留意すべきである。但し、ステップ２４１の処理は、ステップ２４２の処理の前、すなわち、他の割込み（例えば、非セキュア割込みや非セキュア外部割込み）が有効化される前に行われる。
【０１５５】
ステップ３４１において、第２ＣＰＵ１２０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、送信データ消去部１４５は、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１５６】
ここで、ステップ３４１の処理は、ステップ３４０の処理の後、すなわち、データ受信完了フラグに“承認”がセットされた後に行われることに留意すべきである。
【０１５７】
このように、第４実施形態では、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報は、送信データ消去部１４５及びデータ消去部１６６の双方によって共同で削除される。
【０１５８】
第２に、第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）から第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）にデータを渡すケースについて、図１２を参照しながら説明する。ここでは、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に保護対象情報を渡すケースについて説明する。
【０１５９】
図１２に示すように、ステップ５６１において、第２ＣＰＵ１２０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１４４は、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１６０】
ここで、ステップ５６１の処理は、図９に示すステップ５４１の処理と同様である。図１２では、図９に示すステップ５４１の処理に代えて、ステップ５６１の処理が行われる。
【０１６１】
ステップ５６１の処理は、ステップ５６０の処理の後、すなわち、セキュア実行ドメイン１６０への割込みであるセキュア割込みが発行された後に行われることに留意すべきである。
【０１６２】
ステップ６２１Ａにおいて、第１ＣＰＵ１１０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、送信データ消去部１６７は、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１６３】
ここで、ステップ３４１の処理は、ステップ３４０の処理の後、すなわち、データ受信完了フラグに“承認”がセットされた後に行われることに留意すべきである。
【０１６４】
なお、ステップ６２１Ａの処理は、図９に示すステップ６２１の処理と類似する。しかしながら、第４実施形態では、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報は、データ消去部１４４及び送信データ消去部１６７の双方によって共同で削除される。
【０１６５】
（作用及び効果）
第４実施形態では、データ共有領域１５４に書き込まれた保護対象情報は、送信側及び受信側の双方によって削除される。従って、他の割込みを短時間で有効化することができる。
【０１６６】
［第５実施形態］
以下において、第５実施形態について、図面を参照しながら説明する。以下においては、第３実施形態との相違点について主として説明する。
【０１６７】
具体的には、第３実施形態では、データ共有領域１５４に書き込まれた保護対象情報は、セキュア実行ドメイン１６０によって削除される。第５実施形態では、データ共有領域１５４に書き込まれた保護対象情報は、セキュア実行ドメイン１６０の依頼に応じて、非セキュア実行ドメイン１５０によってセキュア実行ドメイン１６０に渡される。
【０１６８】
（プログラム実行装置の構成）
以下において、第５実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図１３は、第５実施形態に係るプログラム実行装置１００を示すブロック図である。図１３では、図７と同様の構成について、同様の符号を付している。
【０１６９】
図１３に示すように、非セキュア実行ドメイン１５０は、データ消去部１５５をさらに備える。セキュア実行ドメイン１６０は、データ消去部１６６に代えて、依頼部１６８及び完全性検証部１６９を有する。
【０１７０】
データ消去部１５５は、データ消去部１６６と同様に、第２ＣＰＵ１２０から第１ＣＰＵ１１０に渡すためにデータ共有領域１５４に書き込まれたデータを削除する。具体的には、データ消去部１５５は、少なくとも、非セキュア実行ドメイン１５０の割込み（例えば、非セキュア割込みや非セキュア外部割込み）が有効化される前に、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１７１】
依頼部１６８は、セキュア実行ドメイン１６０で処理するデータを第２ＣＰＵ１２０に渡すデータ送信処理を非セキュア実行ドメイン１５０に依頼する。同様に、依頼部１６８は、セキュア実行ドメイン１６０で処理するデータを第２ＣＰＵ１２０から取得するデータ取得処理を非セキュア実行ドメイン１５０に依頼する。
【０１７２】
具体的には、依頼部１６８は、データ共有領域１５４に書き込まれる保護対象情報を第２ＣＰＵ１２０に渡すデータ送信処理を非信頼アプリケーション処理部１５１に依頼する。同様に、依頼部１６８は、データ共有領域１５４に書き込まれ保護対象情報をセキュア実行ドメイン１６０に渡すデータ取得処理を非信頼アプリケーション処理部１５１に依頼する。
【０１７３】
なお、依頼部１６８は、非セキュア実行ドメイン１５０に保護対象情報を渡す。同様に、依頼部１６８は、非セキュア実行ドメイン１５０から保護対象情報を取得する。
【０１７４】
完全性検証部１６９は、非セキュア実行ドメイン１５０で動作する非信頼アプリケーション（非信頼プログラム）の完全性を検証する。具体的には、完全性検証部１６９は、非セキュア実行ドメイン１５０上のメモリイメージの完全性を検証する。メモリイメージの完全性の検証は、正しいメモリイメージとの比較、正しいメモリイメージから導出されたハッシュ値との比較によって行われる。
【０１７５】
（プログラム実行装置の動作）
以下において、第５実施形態に係るプログラム実行装置の動作について、図面を参照しながら説明する。図１４及び図１５は、第５実施形態に係るプログラム実行装置１００の動作を示すフロー図である。図１４では、図８と同様の処理について、同様のステップ番号が付されている。図１５では、図９と同様の処理について、同様のステップ番号が付されている。
【０１７６】
第１に、第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）から第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）にデータを渡すケースについて、図１４を参照しながら説明する。ここでは、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に保護対象情報を渡すケースについて説明する。
【０１７７】
ステップ２１２において、第１ＣＰＵ１１０は、非セキュア実行ドメイン１５０で動作する非信頼アプリケーション（非信頼プログラム）の完全性を検証する。具体的には、完全性検証部１６９は、非セキュア実行ドメイン１５０上のメモリイメージの完全性を検証する。
【０１７８】
ステップ２１３において、第１ＣＰＵ１１０は、非セキュア実行ドメイン１５０で動作する非信頼アプリケーション（非信頼プログラム）が改竄されているか否かを安定する。改竄が無い場合には、ステップ２１４の処理が行われる。改竄がある場合には、一連の処理を終了する。
【０１７９】
ステップ２１４において、第１ＣＰＵ１１０は、セキュア実行ドメイン１６０で処理するデータを第２ＣＰＵ１２０から取得するデータ取得処理を非セキュア実行ドメイン１５０に依頼する。具体的には、依頼部１６８は、データ共有領域１５４に書き込まれる保護対象情報をセキュア実行ドメイン１６０に渡すデータ取得処理を非信頼アプリケーション処理部１５１に依頼する。
【０１８０】
ステップ２２０Ｘにおいて、第１ＣＰＵ１１０は、データ共有領域１５４からデータを読み出す。具体的には、非セキュア実行ドメイン１５０の非信頼アプリケーション処理部１５１は、データ共有領域１５４から保護対象情報を読み出す。
【０１８１】
ステップ２２１Ｘにおいて、第１ＣＰＵ１１０は、データ共有領域１５４に書き込まれたデータを削除する。具体的には、非セキュア実行ドメイン１５０のデータ消去部１５５は、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に渡すためにデータ共有領域１５４に書き込まれた保護対象情報を削除する。
【０１８２】
ステップ２３０Ｘにおいて、第１ＣＰＵ１１０は、データ共有領域１５４から読み出されたデータに対応付けられたデータ受信完了フラグに“承認”をセットする。具体的には、非セキュア実行ドメイン１５０の非信頼アプリケーション処理部１５１は、保護対象情報に対応付けられたデータ受信完了フラグに“承認”をセットする。
【０１８３】
なお、ステップ２２０Ｘ〜ステップ２３０Ｘの処理は、セキュア実行ドメイン１６０ではなくて、非セキュア実行ドメイン１５０によって行われることに留意すべきである。
【０１８４】
ステップ２３１において、セキュア実行ドメイン１６０は、非セキュア実行ドメイン１５０からデータを受信する。具体的には、信頼アプリケーション処理部１６１は、非信頼アプリケーション処理部１５１から保護対象情報を受信する。
【０１８５】
第２に、第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）から第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）にデータを渡すケースについて、図１５を参照しながら説明する。ここでは、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に保護対象情報を渡すケースについて説明する。
【０１８６】
図１５に示すように、ステップ４０２において、第１ＣＰＵ１１０は、非セキュア実行ドメイン１５０で動作する非信頼アプリケーション（非信頼プログラム）の完全性を検証する。具体的には、完全性検証部１６９は、非セキュア実行ドメイン１５０上のメモリイメージの完全性を検証する。
【０１８７】
ステップ４０３において、第１ＣＰＵ１１０は、非セキュア実行ドメイン１５０で動作する非信頼アプリケーション（非信頼プログラム）が改竄されているか否かを安定する。改竄が無い場合には、ステップ４０４の処理が行われる。改竄がある場合には、一連の処理を終了する。
【０１８８】
ステップ４０４において、第１ＣＰＵ１１０は、セキュア実行ドメイン１６０で処理するデータを第２ＣＰＵ１２０に渡すデータ送信処理を非セキュア実行ドメイン１５０に依頼する。具体液には、依頼部１６８は、データ共有領域１５４に書き込まれる保護対象情報を第２ＣＰＵ１２０に渡すデータ送信処理を非信頼アプリケーション処理部１５１に依頼する。
【０１８９】
ステップ４１０Ｘにおいて、第１ＣＰＵ１１０は、第２ＣＰＵ１２０によってネットワークに送信されるデータをデータ共有領域１５４に書き込む。具体的には、非セキュア実行ドメイン１５０の非信頼アプリケーション処理部１５１は、第２ＣＰＵ１２０に渡す保護対象情報をデータ共有領域１５４に書き込む。
【０１９０】
なお、ステップ４１０Ｘの処理は、セキュア実行ドメイン１６０ではなくて、非セキュア実行ドメイン１５０によって行われることに留意すべきである。
【０１９１】
（作用及び効果）
第４実施形態では、完全性検証部１６９は、非セキュア実行ドメイン１５０で動作する非信頼アプリケーション（非信頼プログラム）の完全性を検証する。依頼部１６８は、非信頼アプリケーション（非信頼プログラム）の改竄が無ければ、保護対象情報の送信又は保護対象情報の受信を非セキュア実行ドメイン１５０に依頼する。
【０１９２】
従って、保護対象情報の送信又は保護対象情報の受信を非セキュア実行ドメイン１５０によって行う場合であっても、セキュア実行ドメイン１６０で処理すべき情報（保護対象情報）を非セキュア実行ドメイン１５０から保護することができる。また、データ共有領域１５４にセキュア実行ドメイン１６０が直接的にアクセスできなくても、セキュア実行ドメイン１６０が保護対象情報を取得することができる。
【０１９３】
［第６実施形態］
以下において、第６実施形態について、図面を参照しながら説明する。以下においては、第１実施形態との相違点について主として説明する。
【０１９４】
具体的には、第６実施形態では、第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０）は、非保護対象情報及び保護対象情報の分離、非保護対象情報及び保護対象情報の結合を行う。なお、第６実施形態は、第１実施形態〜第５実施形態のいずれにも適用できることに留意すべきである。
【０１９５】
（プログラム実行装置の構成）
以下において、第６実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図１６は、第６実施形態に係るプログラム実行装置１００を示すブロック図である。なお、図１６では、第２ＣＰＵ１２０及び第２ＣＰＵ用メモリ１４０のみが示されており、他の構成が省略されていることに留意すべきである。また、図１６では、図１と同様の構成について、同様の符号を付している。
【０１９６】
図１６に示すように、第２ＣＰＵ用メモリ１４０は、データ分離部１４６及びデータ結合部１４７をさらに備える。
【０１９７】
データ分離部１４６は、非保護対象情報と保護対象情報とを分離する。具体的には、データ分離部１４６は、通信アプリケーション処理部１４１から受け取った受信データを非保護対象情報と保護対象情報とに分離する。通信アプリケーション処理部１４１は、非保護対象情報と保護対象情報とが結合された受信データをネットワークから受信する。
【０１９８】
なお、データ分離部１４６は、非保護対象情報を非セキュア実行ドメイン１５０に渡す。データ分離部１４６は、保護対象情報をセキュア実行ドメイン１６０に渡す。
【０１９９】
データ結合部１４７は、非保護対象情報と保護対象情報とを結合する。具体的には、データ結合部１４７は、非保護対象情報と保護対象情報とを結合して、非保護対象情報と保護対象情報とが結合された送信データを通信アプリケーション処理部１４１に渡す。通信アプリケーション処理部１４１は、非保護対象情報と保護対象情報とが結合された送信データをネットワークに受信する。
【０２００】
なお、データ結合部１４７は、非保護対象情報を非セキュア実行ドメイン１５０から受け取る。データ分離部１４６は、保護対象情報をセキュア実行ドメイン１６０から受け取る。
【０２０１】
（プログラム実行装置の動作）
以下において、第６実施形態に係るプログラム実行装置の動作について、図面を参照しながら説明する。図１７及び図１８は、第６実施形態に係るプログラム実行装置１００の動作を示すフロー図である。図１７では、図４と同様の処理について、同様のステップ番号が付されている。図１８では、図５と同様の処理について、同様のステップ番号が付されている。
【０２０２】
第１に、第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）から第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）にデータを渡すケースについて、図１７を参照しながら説明する。ここでは、第２ＣＰＵ１２０からセキュア実行ドメイン１６０に保護対象情報を渡すケースについて説明する。
【０２０３】
図１７に示すように、ステップ１０１において、第２ＣＰＵ１２０は、ネットワークから受信したデータを、非保護対象情報と保護対象情報とに分離する。具体的には、データ分離部１４６は、通信アプリケーション処理部１４１から受け取った受信データを非保護対象情報と保護対象情報とに分離する。
【０２０４】
第２に、第１ＣＰＵ１１０（第１ＣＰＵ用メモリ１３０上で動作するアプリケーション）から第２ＣＰＵ１２０（第２ＣＰＵ用メモリ１４０上で動作するアプリケーション）にデータを渡すケースについて、図１８を参照しながら説明する。ここでは、セキュア実行ドメイン１６０から第２ＣＰＵ１２０に保護対象情報を渡すケースについて説明する。
【０２０５】
図１８に示すように、ステップ５６１において、第２ＣＰＵ１２０は、非保護対象情報と保護対象情報とを結合する。具体的には、データ結合部１４７は、非保護対象情報と保護対象情報とを結合して、非保護対象情報と保護対象情報とが結合された送信データを通信アプリケーション処理部１４１に渡す。
【０２０６】
［その他の実施形態］
本発明は上述した実施形態によって説明したが、この開示の一部をなす論述及び図面は、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
【０２０７】
実施形態では、データ共有領域に格納されるデータを読み込むと、データ受信完了フラグに“承認”をセットする。しかしながら、実施形態は、これに限定されるものではない。データ受信完了フラグを用いずに、データ共有領域に格納されるデータを読み込むと、データ共有領域に格納されるデータを直ちに削除してもよい。
【０２０８】
第２実施形態では、非セキュア共有領域１５３に格納されるデータには割込み識別フラグが対応付けられる。しかしながら、実施形態は、これに限定されるものではない。例えば、非セキュア共有領域１５３に格納されるデータのヘッダに、割込み識別フラグが設けられていてもよい。
【０２０９】
その他の実施形態として、第１実施形態〜第６実施形態の中から、２以上の実施形態を組み合わせてもよい。
【符号の説明】
【０２１０】
１００・・・プログラム実行装置、１１０・・・第１ＣＰＵ、１１１・・・割込み識別部、１２０・・・第２ＣＰＵ、１２１・・・外部割込み識別部、１３０・・・第１ＣＰＵ用メモリ、１４０・・・第２ＣＰＵ用メモリ、１４１・・・通信アプリケーション処理部、１４２・・・セキュア割込み処理部、１４３・・・非セキュア割込み処理部、１４４・・・データ消去部、１４５・・・送信データ消去部、１４６・・・データ分離部、１４７・・・データ結合部、１５０・・・非セキュア実行ドメイン、１５１・・・非信頼アプリケーション処理部、１５２・・・非セキュア外部割込み処理部、１５３・・・非セキュア共有領域、１５４・・・データ共有領域、１５５・・・データ消去部、１６０・・・セキュア実行ドメイン、１６１・・・信頼アプリケーション処理部、１６２・・・セキュア外部割込み処理部、１６３・・・データ共有領域、１６４・・・セキュア共有領域、１６５・・・割込み監視部、１６６・・・データ消去部、１６７・・・送信データ消去部、１６８・・・依頼部、１６９・・・完全性検証部
【図１】
2010176630.tif 000003
【図２】
2010176630.tif 000004
【図３】
2010176630.tif 000005
【図４】
2010176630.tif 000006
【図５】
2010176630.tif 000007
【図６】
2010176630.tif 000008
【図７】
2010176630.tif 000009
【図８】
2010176630.tif 000010
【図９】
2010176630.tif 000011
【図１０】
2010176630.tif 000012
【図１１】
2010176630.tif 000013
【図１２】
2010176630.tif 000014
【図１３】
2010176630.tif 000015
【図１４】
2010176630.tif 000016
【図１５】
2010176630.tif 000017
【図１６】
2010176630.tif 000018
【図１７】
2010176630.tif 000019
【図１８】
2010176630.tif 000020