説明

情報処理装置および携帯電話装置

【課題】複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能な情報処理装置および携帯電話装置を提供する。
【解決手段】保護リソースを有しないノーマルモードおよび保護リソースを有するセキュアモードを含む複数の動作モードを有する携帯電話端末10であって、複数の演算処理部と、所定のセキュリティポリシに基づいてアクセス制御されるプログラムまたはデータを含む実行領域を示すドメインを生成するDC23と、を有し、DC23は、複数の演算処理部および複数の動作モードに基づいてドメインを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および携帯電話装置に関し、特に、複数のCPUを備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能な情報処理装置および携帯電話装置に関する。
【背景技術】
【0002】
近年、マルウェアによるPC等の情報処理端末の被害が拡大している。このような情報処理端末の被害を最小限に抑えるために、仮想化技術、セキュリティに関する動作モードの設定、ソフトウェアの完全性計測または完全性検証の実施、ドメイン分割などが知られている。
【0003】
仮想化技術は、同一のCPU内に複数の仮想環境を設け、仮想環境毎に異なるOSを実行する技術であり、リソースの効率利用や管理の容易性から注目されている。セキュリティ面では、仮想環境間はVMM(Virtual Machine Monitor)によりリソースが排他制御され、ある仮想環境から他仮想環境に対するアクセスを制御できる。そのため、ある環境におけるマルウェア等による被害が他の環境へ波及しにくい。
【0004】
また、情報処理端末の動作モードとして、ノーマルモードおよびセキュアモードがある。セキュアモードは、保護アプリケーションのみ実行可能であり、専用保護リソースを有する。このような動作モードを有する情報処理端末では、ノーマルモードからセキュアモードへ移行させ、アクセス制限を行うことが可能である。
【0005】
また、ソフトウェアの完全性計測を実施するために、情報処理端末の一例である従来のPCではTrusted Bootと呼ばれる処理を、ソフトウェアの完全性検証を実施するために、情報処理端末の一例である従来の携帯電話ではSecure Bootと呼ばれる処理を行う。
【0006】
ソフトウェアの完全性計測を実施する従来のPCは、内部ROM(Core Root of Trust Measurement:CRTM)、BIOS、Kernelの順に起動する。この際、内部ROMから次に起動するBIOSのSHA−1ハッシュ値を計算し、TPM(Trusted Platform Module)内部のPCR(Platform Configuration Register)にハッシュ値を設定し、BIOSを起動する。BIOSはKernelのハッシュ値を計算し、PCRにハッシュ値を設定し、Kernelを起動する。ここで、このハッシュ値は、BIOSのハッシュ値にKernelのハッシュ値が依存した形で設定される。Kernelが起動されると、Trusted Component Base(TCB)が確立する。この一連の流れをTrusted Bootと呼ぶ。
【0007】
Trusted Bootの実施後、PCがネットワークに接続された場合等に、外部サーバがPCにPCR値を要求し、PCはTPMからTPM固有鍵で署名されたPCR値を取得して外部サーバに返信する。外部サーバはPCR値が想定の値と等しい場合に、ネットワーク接続を許可する等の制御を行う。ここで、PCRは耐タンパ性の高いモジュールであり、高い安全性が確保されるため、結果として端末の完全性を保証できる。
【0008】
また、ソフトウェアの完全性検証を実施する従来の携帯電話は、Trusted Bootと同様の処理によりハッシュ値を計測し、事前に用意したハッシュ期待値と計測したハッシュ値を比較し、一致時のみ対象ソフトウェアを起動する。この流れをSecure Bootと呼ぶ。なお、ハッシュ期待値や計測したハッシュ値は、MTM(Mobile Trusted Module)に格納される。
【0009】
このように、Trusted Bootでは、ハッシュ値をPCRに保存し、外部サーバにより完全性検証を行うが、Secure Bootでは、端末自身でハッシュ値算出および完全性検証まで実施する。また、MTMは、携帯電話はユーザの所有物であり、通信オペレータのプラットフォームでもあるため、前者向けのMTMをMobile Local Trusted Module(MLTM)、後者向けのMTMをMobile Remote Trusted Module(MRTM)としている。
【0010】
また、セキュリティポリシに従いアクセス制御される実行領域をドメインと呼ぶ。このドメインは、複数の仮想環境が1つのドメインに属することや、仮想化を用いないドメインを許容する。情報処理端末のCPUにこのようなドメインを複数設定することが可能になっている。なお、ドメインを設定することをドメイン分割とも呼ぶ。
【0011】
このような情報処理端末内のCPUにドメイン分割を行う技術の一例として、上記動作モードを想定したドメイン分割(例えば、非特許文献1参照)や仮想環境を想定したドメイン分割(例えば、非特許文献2参照)が知られている。
【0012】
なお、情報処理端末の被害を最小限に抑えるための技術の一例として、秘密キーを用いて生成される生成値と保存されている保存値とを比較し、一致すればプログラムを実行する技術が知られている(例えば、特許文献1参照)。また、ハードウェア固有鍵で暗号化されたプログラムを改ざん検証し、改ざんがなければ、プログラムを復号化して起動することが知られている(例えば、特許文献2参照)。
【0013】
【非特許文献1】「Open and Secure Terminal Initiative 2006」 NTTドコモ
【非特許文献2】「IBM Virtualizing the Trusted Platform Module 2006」 IBM
【特許文献1】特許第2564593号公報
【特許文献2】特開2003−108257号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、上記特許文献では、情報処理端末が複数のCPU等の演算処理部を備える場合、複数のCPU等の演算処理部間にまたがってドメイン分割を行うことが想定されていないため、十分な利便性および安全性を考慮したドメイン分割を行うことができない。
【0015】
本発明は、上記事情を鑑みてなされたものであって、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能な情報処理装置および携帯電話装置を提供することを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するために、本発明の情報処理装置は、保護リソースを有しないノーマルモードおよび保護リソースを有するセキュアモードを含む複数の動作モードを有する情報処理装置であって、複数の演算処理部と、所定のセキュリティポリシに基づいてアクセス制御されるプログラムまたはデータを含む実行領域を示すドメインを生成するドメイン制御部と、を有し、前記ドメイン制御部は、前記複数の演算処理部および前記複数の動作モードに基づいて前記ドメインを生成する。
【0017】
上記構成によれば、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能である。
【0018】
また、本発明の情報処理装置は、前記ドメイン制御部が、更に、前記動作モードの前記保護リソースに基づいてドメインを生成する。
【0019】
上記構成によれば、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能である。
【0020】
また、本発明の情報処理装置は、前記ドメイン制御部が、更に、実行領域を含む仮想環境に基づいて、ドメインを生成する。
【0021】
上記構成によれば、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能である。
【0022】
また、本発明の情報処理装置は、前記ドメイン制御部が、同一のセキュリティポリシに基づいてアクセス制御される実行領域を同一のドメインとする
【0023】
上記構成によれば、信頼できるプラットフォームを構築することができる。
【0024】
また、本発明の情報処理装置は、前記演算処理部が、複数の実行領域を示すエリアを有し、前記ドメイン制御部が、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが同一のドメインである場合に、通信を許可する。
【0025】
上記構成によれば、同一ドメイン間でのみ通信を許可するため、信頼できるプラットフォームを構築することができる。
【0026】
また、本発明の情報処理装置は、前記演算処理部が、複数の実行領域を示すエリアを有し、前記ドメイン制御部が、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが異なるドメインである場合、かつ、前記セキュリティポリシに前記送信元エリアと送信先エリアとの間の通信を許可するための情報が含まれる場合に、通信を許可する。
【0027】
上記構成によれば、送信元エリアと送信先エリアとが異なるドメインである場合であっても、所定の場合にのみ通信を許可するので、柔軟性のある信頼できるプラットフォームを構築することができる。
【0028】
また、本発明の情報処理装置は、前記演算処理部が、複数の実行領域を示すエリアを有し、前記ドメイン制御部が、所定の検証処理に失敗したエリアとの間の通信を禁止する。
【0029】
上記構成によれば、同一ドメインであっても検証処理に失敗している場合には通信を禁止するため、信頼できるプラットフォームを構築することができる。
【0030】
また、本発明の情報処理装置は、前記演算処理部が、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、所定階層の実行領域が、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階上位層の実行領域を復号化し、前記一段階上位層の実行領域について所定の検証処理を実行し、前記検証処理に成功した場合、前記一段階上位層の実行領域が有するプログラムを起動する起動時処理を実行する。
【0031】
上記構成によれば、前階層の固有鍵を用いて復号化等を行うため、信頼できるプラットフォームを構築することができる。
【0032】
また、本発明の情報処理装置は、前記起動時処理が、最下位層を前記所定階層として最上位層よりも一段階下位層を前記所定階層とするまで一段階ずつ順に実行される。
【0033】
上記構成によれば、階層毎に段階的に復号化し、さらに前階層の固有鍵を用いてChain−bindingをUnbindingすることで起動時処理を行うため、信頼できるプラットフォームを構築することができる。
【0034】
また、本発明の情報処理装置は、最上位層の実行領域が、当該最上位層の実行領域の起動後に、当該最上位層の実行領域の固有鍵を用いて所定のデータを復号化し、前記所定のデータについて所定の検証処理を実行し、前記検証処理に成功した場合、前記所定のデータを操作可能とする。
【0035】
上記構成によれば、例えば所定のデータを含めてChain−bindingをUnbindingすることで起動時処理を行うため、さらに信頼できるプラットフォームを構築することができる。また、復号化ができない限りコピーされたデータがコピー先端末で利用できず、コピー先端末ではデータが復号困難となる。なお、所定のデータとしては、IMEIやSIMLock設定のような事前に決めることができて、かつ全ての端末で同じではないデータが考えられる。
【0036】
また、本発明の情報処理装置は、前記所定のデータが、当該情報処理装置を識別するための識別データを含むデータである。
【0037】
上記構成によれば、IMEI等のデータを含めてChain−bindingをUnbindingすることで起動時処理を行うため、さらに信頼できるプラットフォームを構築することができる。また、復号化ができない限りコピーされたIMEIがコピー先端末で利用できず、コピー先端末ではIMEI及び関連ソフトウェアの全てが復号困難となる。
【0038】
また、本発明の情報処理装置は、所定階層の実行領域が、前記検証処理に失敗した場合、当該所定階層の重要度に基づく復旧処理を実行する。
【0039】
上記構成によれば、検証失敗時に復旧処理を実行可能であるため、検証失敗時であっても起動時処理を柔軟に継続または停止することが可能である。
【0040】
また、本発明の情報処理装置は、所定階層の実行領域が、前記復旧処理に失敗した場合、当該所定階層の重要度よりも高い重要度に基づく復旧処理を実行する。
【0041】
上記構成によれば、復旧失敗時にさらに復旧処理を実行可能であるため、検証や復旧に失敗時であっても起動時処理を柔軟に継続または停止することが可能である。
【0042】
また、本発明の情報処理装置は、前記復旧処理が、当該情報処理装置の起動停止処理である。
【0043】
上記構成によれば、情報処理装置を起動停止することで、最も安全に起動時処理を停止ことが可能である。特に携帯電話端末の主要な処理の実行に不可欠なコンポーネントにおいて検証失敗した場合に起動停止すると、高い安全性を確保できる。
【0044】
また、本発明の情報処理装置は、前記復旧処理が、前記所定階層の実行領域を外部サーバから取得した他の実行領域に差し替える処理である。
【0045】
上記構成によれば、上記実行領域の差し替えにより、起動時処理を柔軟に継続可能である。
【0046】
また、本発明の情報処理装置は、前記復旧処理が、非常通報機能のみ利用可能とする処理である。
【0047】
上記構成によれば、非常通報のみ利用可能とするので、危急の場合に最低限の動作を保証することができるとともに、高い安全性を確保することができる。
【0048】
また、本発明の情報処理装置は、前記復旧処理が、前記検証処理に失敗した旨を報知部に報知させる処理である。
【0049】
上記構成によれば、失敗した旨を情報処理装置のユーザやサービス提供者が認識可能であるため、情報処理装置のユーザやサービス提供者が以降の処理を迅速に判断することができる。
【0050】
また、本発明の情報処理装置は、前記演算処理部が、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、所定階層の実行領域が、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階下位層の実行領域を暗号化する暗号化処理を実行する。
【0051】
上記構成によれば、前階層の固有鍵を用いて暗号化を行うため、信頼できるプラットフォームを構築することができる。
【0052】
また、本発明の情報処理装置は、前記暗号化処理が、最上位層よりも一段階下位層を前記所定階層としてから最下位層を前記所定階層とするまで一段階ずつ順に実行される。
【0053】
上記構成によれば、階層毎に段階的に暗号化し、さらに前階層の固有鍵を用いてChain−bindingを行う暗号化処理を行うため、信頼できるプラットフォームを構築することができる。
【0054】
また、本発明の情報処理装置は、最上位層の実行領域が、当該最上位層の実行領域の暗号化前に、当該最上位層の実行領域の固有鍵を用いて所定のデータを暗号化する。
【0055】
上記構成によれば、所定のデータを含めてChain−bindingを行う起動時処理を行うため、さらに信頼できるプラットフォームを構築することができる。また、復号化ができない限りコピーされたデータがコピー先端末で利用できず、コピー先端末ではデータが復号困難となる。
【0056】
また、本発明の情報処理装置は、前記演算処理部が、所定のデータを備える第1の演算処理部と、第2の演算処理部とを有し、前記第2の演算処理部が、前記第1の演算処理部へ前記所定のデータの送信要求を実行し、前記第1の演算処理部と当該第2の演算処理部とを接続する通信路を構成するプログラムを含む実行領域に関する検証処理が成功した場合、前記第1の演算処理部から送信された前記所定のデータを記憶する。
【0057】
上記構成によれば、例えば情報処理装置の利用時又は定期的に、IMEIの送受信を行う2つの演算処理部において、IMEIの送受信に関連するプログラムの検証処理を行い、検証処理に成功した場合にのみIMEIをコピーし記憶することが可能となるため、IMEIの完全性を確実に確保することが可能である。
【0058】
また、本発明の情報処理装置は、前記検証処理の結果を示すセキュアフラグを有し、前記演算処理部が、前記セキュアフラグに基づいて、前記検証処理に失敗したか否かを判定する。
【0059】
また、本発明の情報処理装置は、前記演算処理部が、前記セキュアフラグに基づく検証処理の結果に応じて、異なる制御を行う。
【0060】
上記構成によれば、セキュアフラグを用いることで、検証処理の結果を容易に判断することができ、検証処理後の挙動についても決定することが可能である。
【0061】
また、本発明の携帯電話装置は、アンテナと、操作入力を受け付ける入力部と、前記アンテナを介して無線通信を行うための無線部と、上記いずれかの情報処理装置とを有する。
【0062】
上記構成によれば、複数のCPUを備える場合であっても、十分な利便性および安全性を考慮したドメイン分割の実行等が可能である。
【発明の効果】
【0063】
以上説明したように、本発明にかかる情報処理装置および携帯電話装置によれば、複数の演算処理部、複数モードにまたがってドメイン分割できる。また、本発明の完全性検証では、ソフトウェアおよびデータの完全性検証まで行うことが可能である。したがって、プログラムのみに依存したセキュアブートではなく、保護したいデータにも依存させるセキュアブートが実行可能である。
【発明を実施するための最良の形態】
【0064】
本発明の実施形態における情報処理装置および携帯電話装置について、図面を参照しながら以下に説明する。
【0065】
本実施形態にかかる情報処理装置としては、PC、携帯情報端末(PDA)、携帯電話端末などが考えられるが、ここでは一例として携帯電話端末について考察する。
【0066】
図1は、本実施形態にかかる携帯電話端末のハードウェア構成の一例を示す図である。
【0067】
本実施形態の携帯電話端末は、無線部11と、C−MPU(Micro Processing Unit)12と、SDRAM等の揮発メモリ13と、MB(MPU Bridge)14と、NOR/NAND等によって構成される不揮発メモリ15と、A−MPU16と、内部ROM(CRTM)17と、MRTM(Mobile Remote Trusted Module)18とを有して構成される。また、図示はしないが、操作入力を受け付ける入力部を当然備えてもよい。
【0068】
無線部11は、図示しないアンテナを介して外部サーバ等の外部通信装置と通信を行う。
【0069】
A−MPU16は、アプリケーション用のMPUであり、C−MPU12は、通信用のMPUである。MPUは演算処理部の一例であるが、演算処理部として他に、CPU、DSP(Digital Signal Processor)、複数コアのCPUなどが考えられる。
【0070】
揮発メモリ13は、いわゆるメインメモリであり、実行プログラムや各種データを記憶する。
【0071】
MB14は、A−MPU16およびC−MPU12間のデータ伝送路であり、C−MPU12とA−MPU16との間の通信を制御する。MB14は、ハードウェア的要素とソフトウェア的要素とをあわせ持つ。
【0072】
不揮発メモリ15は、携帯電話端末10の生産工程で記載されたIMEIや、暗号化コンポーネントを記憶する。
【0073】
内部ROM17は、各種プログラムを記憶する。
【0074】
MRTM18は、高い耐タンパ性を有するモジュールであり、PCR(Platform Configuration Register)、Secure Flag、携帯端末を識別するためのIMEI(International Mobile Equipment Identity)、MRTM18の固有鍵であるKey、ハッシュ期待値であるRIM_Certなどの特に重要度の高い領域やデータを記憶する。
【0075】
なお、RIM_Certについては、ディジタル署名などが施されている場合には、不揮発メモリ15に保存することも可能である。
【0076】
また、後述する各階層が有する固有鍵は、平文のまま各階層のプログラムに埋め込む場合と、暗号化してプログラムに埋め込む場合があり得る。後者の場合、各階層の固有鍵はMRTM18の固有鍵または関連する鍵で暗号化する。暗号化された各階層の固有鍵はMRTMの内部で復号化され、MRTMのRAMにキャッシュされる。この場合、Keyにはキャッシュされた各階層の固有鍵も含む。
【0077】
ここで、Secure Flag(セキュアフラグ)とは、MTMが内部に保持する保護メモリ領域上に形成されたフラグである。後述する各レイヤにおける完全性検証の結果を保持する。また、セキュアフラグに基づいて、演算処理部は所定の検証処理に失敗したか否かを判定する。また、セキュアフラグに基づく検証処理の結果に応じて、演算処理部は異なる制御を行う。また、セキュアフラグは、更新可能である。本実施形態では、Secure Flagを単にFlagとも称する。
【0078】
携帯電話端末10は、後述するDC(Domain Coordinator)により、所定のセキュリティポリシに基づいてアクセス制御されるプログラムまたはデータを含む実行領域を示すドメインを生成するために、C−MPU12およびA−MPU16の領域を分割する。これをドメイン分割と称する。携帯電話端末10は、C−MPU12およびA−MPU16などの複数のMPU等の演算処理部、保護リソースを有しないノーマルモードおよび保護リソースを有するセキュアモードを含む複数の動作モードに基づいて、ドメインを生成する。
【0079】
なお、複数の演算処理部および複数の動作モードの他に、更に、動作モードの頬リソースに基づいてドメインを生成してもよい。また、更に、実行領域を含む仮想環境に基づいて、ドメインを生成してもよい。また、更に、仮想環境および実環境を含む複数の環境に基づいて、ドメインを生成してもよい。
【0080】
ここで、ドメインの生成とは、任意に定めた1つまたは複数のエリア(A−MPU16、C−MPU12、ノーマルモード、セキュアモード、仮想環境)を、DCが、情報やリソースを共有する1つの領域として制御することでドメインを実現することを意味している。
【0081】
また、上記の保護リソースとは、例えばメモリや暗号エンジンである。また、実行領域とは、各種プログラムやアプリケーションやソフトウェアを実行するための領域や部位を示し、プログラムやデータを含むものである。
【0082】
図2は、主にC−MPU12およびA−MPU16の分割されたドメインの一例を示す図である。
【0083】
図2に示すように、C−MPU12は、OD(Operator Domain)を有する。A−MPU16は、ノーマルモードおよびセキュアモードにおいて利用される実行領域を有する。また、A−MPU16は、OD(Operator Domain)およびUD(User Domain)を有する。
【0084】
ODは、携帯電話端末10のオペレータ向けのプラットフォーム構築とアプリケーション実行が可能な環境(領域)であり、他ドメインから直接アクセスできない。
【0085】
UDは、携帯電話端末10の所有者又は所有者へサービスを提供するサードパーティが利用するデータやアプリケーションの実行が可能な環境(実行領域)であり、他UDから許可された場合のみ他UDリソースへのアクセスや他UDとの通信が可能である。
【0086】
C−MPU12およびA−MPU16は、ノーマルモード、セキュアモードのモード切替によって、OD、UDを排他的に形成する。ただし、C−MPU12およびA−MPU16は、両モードを排他的に形成せずに両モードを同時に処理可能なMPUであってもよい。
【0087】
A−MPU16のODは、TCB(Trusted Component Base)、TCB以外のノーマルモードのOD、およびTCB以外のセキュアモードのODを有する。また、C−MPU12のODは、TCB以外のノーマルモードのODを有する。
【0088】
A−MPU16のODに含まれるTCBは、HW(Hardware) Platform21、IPL(Initial Program Loader)22、DC(Domain Coordinator)23、MS(Mode Selector)24、VMM(Virtual Machine Monitor)25、MB(MPU Bridge)14、およびMRTM(Mobile Remote Trusted Module)18を有する。なお、TCBは概念的な区分けであるため、MRTM18やMB14など、MPU内に含まれない構成要素についても、TCBに含まれるものとして扱うことが可能である。
【0089】
HW Platform21は、A−MPU16自体が備える暗号処理機能、HW固有鍵、モード切り替え機能の総称である。また、HW Platform21は、内部ROM17(CRTM)17、HW固有鍵、MC(Mode Contoller)を有している。
【0090】
ここで、MCは、MSと同様にモード切り替え機能を有する。また、MCは、MB14と同様に、ハードウェア的要素とソフトウェア的要素をあわせ持つ。
【0091】
IPL22は、外部ROM(図示せず)において最初に実行されるプログラムであり、各種のハードウェア設定やKernelの起動を司る。
【0092】
DC23は、ドメイン毎に定義されるセキュリティポリシに従いVMM25とMS24とMBを統合的に制御し、携帯電話端末1内の異なる複数エリアにまたがるドメインを形成する。なお、DC23は、ドメイン制御部としての機能を有する。
【0093】
MS24は、ノーマルモードおよびセキュアモードのモード切り替え機構であり、モード間の排他制御を行う。
【0094】
VMM25は、ハードウェアの仮想化層であり、仮想環境間の排他制御を行う。
【0095】
A−MPU16およびC−MPU12において、TCB以外のセキュアモードのODおよびUDは、OS(セキュアモード用OS、A−OS、もしくはC−OS)およびアプリ(セキュアモード用アプリ、A−app、もしくはC−App)を有する。
【0096】
さらに、A−MPU16およびC−MPU12において、各種データを格納する領域として、MTM(Mobile Trusted Module)の一例でありODに含まれるVirtualizing MRTM(A−vMRTMもしくはC−vMRTM)や、UDに含まれるVirtualizing MLTM(A−vLTM)を有する。
【0097】
vMRTMは、A−MPU16のノーマルモードで実現されるUDで利用するMLTMであり、その機能はMRTM18を用いることで実現される。
【0098】
vMLTMは、C−MPU12またはA−MPU16のノーマルモードで実現されるODからMRTM18にアクセスするための仮想ドライバである。
【0099】
なお、ドメイン生成の際には、同一のセキュリティポリシに基づいてアクセス制御される実行領域は、同一のドメインとして生成される。例えば図2では、A−MPU16のノーマルモードのODとA−MPU16のセキュアモードのODとC−MPU12のOD、A−MPU16のノーマルモードのUD1とセキュアモード)のUD1、A−MPU16のノーマルモードのUD2とセキュアモードのUD2が、それぞれ同一のドメインとして生成される。
【0100】
次に、携帯電話端末10の電源ONから各実行領域による実行が可能な状態となるまでの一連の処理の流れ(Bootstrap Sequenceや起動時処理とも称する)の一例について説明する。
【0101】
Bootstrap Sequenceをさらに詳細な処理に分けると、TCBを確立するSecure Boot0、複数MPUをまたいだODを確立するSecure Boot1および1’、UDを確立するSecure Boot2の3レイヤに分けられる。
【0102】
Bootstrap Sequenceでは、携帯電話プラットフォーム(ここでは、主にA−MPU16およびC−MPU12である)を1つのODと複数UDにドメイン分割する。ODのドメイン分割をOD確立、UDのドメイン分割をUD確立とも称する。
【0103】
OD確立では、内部ROM(CRTM)17とIPL22とDC23を起動するSecure Boot0と、A−MPU16のODのノーマルモードのOS/アプリ/データ(IMEIなど)までを起動するSecure Boot1と、C−MPU16のODのノーマルモードのOS/アプリ/データまでを起動するSecureBoot1’と、の3つのレイヤに分けて処理が行われる。
【0104】
UD確立では、A−MPU UDのノーマルモードのOS/アプリ/データまでを起動するSecure Boot2の1つのレイヤで処理が行われる。OD確立後にUD確立を実行する。
【0105】
そして、後述するが、OD確立およびUD確立では、予め定めたレイヤ毎の重要度に応じ、完全性検証に失敗した場合の挙動を定める。
【0106】
Bootstrap Sequenceでは、内部ROM17、IPL22、DC23などの各コンポーネントやデータ(IMEI等)に対して、ソフトウェア同様の完全性検証、検証失敗時処理の実行、およびSecure Flagを用いた処理結果に依存した検証/復号処理を実行する。
【0107】
また、Bootstrap Sequence時に起動を実行するコンポーネントは、起動対象コンポーネントを自身の固有鍵で復号後に完全性を検証(計測)する。完全性検証に成功した場合、つまり完全性が保持されていると判定された場合には、起動対象コンポーネントの起動を実施する。一方、完全性検証に失敗した場合には、起動対象コンポーネントの起動を禁止する。なお、起動を実行するコンポーネントは、暗号化された起動対象コンポーネントをハッシュの対象とすれば、完全性検証を行なった後に復号化することも可能である。
【0108】
携帯電話端末10では、特に、移動機固有番号であるIMEIとIMEIを扱うソフトウェアの完全性を保護することが求められている。携帯電話網では、IMEIを用いて網にアクセスする端末をアクセス制御することで盗難端末の無効化等を実現するため、IMEIの完全性が必要不可欠である。さらに、PCにも携帯電話の通信機能が備えられるようになり、今後はPCでも同様にIMEI保護が求められる可能性もあるため、ソフトウェア同様にIMEI等のデータについても改ざん検証を行う本実施形態におけるBootstrap Sequenceは、大変有用である。
【0109】
ここで、上記のコンポーネントを暗号化する方法の一例について説明する。
【0110】
携帯電話端末10は、製造時に、アプリ固有鍵でデータを暗号化、アプリをOS固有鍵で暗号化する様に、起動を実行するコンポーネントの固有鍵で起動対象コンポーネントの暗号化を繰返し、暗号化コンポーネントを不揮発メモリ15に保存している。ルートの鍵はHW固有鍵とする。このような暗号化方法をChain−bindingとも称する。
【0111】
このように、A−MPU16やC−MPU12が、個別に起動可能な複数のコンポーネント(プログラムを含む実行領域の一例)を階層的に有し、所定階層のコンポーネントが、所定階層のコンポーネントの固有鍵を用いて所定階層よりも一段階上位層のコンポーネントを暗号化する暗号化処理を実行する。また、上記暗号化処理は、最上位層よりも一段階下位層を所定階層としてから最下位層を所定階層とするまで一段階ずつ順に実行されることも可能である。これにより暗号化されたコンポーネントが不揮発メモリ15に保存されている。
【0112】
また、上記コンポーネントが、所定階層の実行領域の固有鍵を用いて所定階層よりも一段階下位層の実行領域が暗号化される暗号化処理が、最上位層を所定階層としてから最下位層を所定階層とするまで一段階ずつ順に実行された後、A−MPU16やC−MPU12に記憶されるようにしてもよい。
【0113】
また、最上位層の実行領域が、最上位層の実行領域の暗号化前に、IMEI等を含むデータを用いて暗号化されるようにすることも可能である。
【0114】
図3〜図6は、携帯電話端末10が実施するBootstrap Sequenceの一例を示すフローチャートである。ここでは、特に、完全性検証について示している。携帯電話端末10は、Secure Boot0の実施後に、Secure Boot1/1’/2を実施する。
【0115】
まず、Secure Boot0において、内部ROM17は、自身のハッシュ値を計算してPCRを設定し、Secure Flag0をONに設定する。続いて、Flag0=ONなら、内部ROM17は、IPL22をHW固有鍵とMRTM固有鍵で復号してハッシュ値を計算し、ハッシュ期待値であるRIM_Certと上記計算したハッシュ値とを比較することで、完全性を検証する。検証成功時には、内部ROM17が、MRTM18へIPL22のハッシュ値をPCRに設定し、Secure Flag1をONに設定後、IPL22を起動する。一方、検証失敗時には、内部ROM16は、起動を停止する(ステップS1)。なお、以降の完全性検証においても、計算したハッシュ値はRIM_Certとの比較が行われる。
【0116】
Flag1=ONなら、IPL22は、DC23をMRTM固有鍵で復号して完全性を検証する。検証成功時には、IPL22は、MRTM18へDC23のハッシュ値をPCRに設定、Secure Flag2をONに設定後、DC23を起動する。一方、検証失敗時には、IPL22は、起動を停止する(ステップS2)。
【0117】
なお、ここでは、DC23がVMM25、MS24、MB14を包含しており、DC23の改ざん検証時には、VMM25、MS24、MB14の順に段階的に改ざん検証が行なわれる。これは、DC23のバイナリファイル内にVMM25、MS244、MB14が含まれており、DC23を検証すると一緒に検証されるためである。なお、DC23がVMM25、MS24、MB14を包含せずに、DC23の改ざん検証に成功した場合に、VMM25、MS24、MB14の順に検証および起動を行なうようにしてもよい。
【0118】
なお、Secure Boot0の実装方法として、 完全性検証及び検証後の対象ソフトウェアの起動まで含めた全てをセキュアモードで処理する方法と、 完全性検証のみをセキュアモードで処理する方法が考えられる。いずれを採用するかは各プラットフォームのMS24の実装に応じて決定すべきである。
【0119】
DC23の完全性検証後、携帯電話端末10はSecure Boot1を実施する。
【0120】
Secure Boot1において、まず、Flag2=ONなら、DC23は、A−OS0をDC固有鍵で復号して完全性を検証する。検証成功時には、DC23は、MRTM18へA−OS0のハッシュ値をPCRに設定し、Secure Flag3をONに設定後、A−OS0を起動する。一方、検証失敗時には、DC23が、携帯電話端末10をリカバリーモードへ遷移させる(ステップS3)。
【0121】
続いて、Flag3=ONなら、A−OS0は、A−App0をA−vMRTM0固有鍵で復号して完全性を検証する。検証成功時には、A−OS0は、A−vMRTM0へA−App0のハッシュ値をPCRに設定し、Secure Flag4をONに設定後、A−App0を起動する。一方、検証失敗時には、A−OS0が、携帯電話端末10をリカバリーモードへ遷移させる(ステップS4)。
【0122】
続いて、Flag4=ONなら、A−App0は、A−Data0(IMEI等)をC−App0固有鍵で復号して完全性を検証する。検証成功時には、A−App0は、A−vMRTM0へA−Data0のハッシュ値をPCRに設定し、Secure Flag5をONに設定後、A−Data0をA−vMRTM0にキャッシュする。一方、検証失敗時には、A−App0が、携帯電話端末10をリカバリーモードへ遷移させる(ステップS5)。
【0123】
DC23の完全性検証後、携帯電話端末10はSecure Boot1’も実施する。Secure Boot1’の実施はSecure Boot1の実施と並行することが可能である。
【0124】
Secure Boot1’において、まず、Flag2=ONなら、DC23は、C−OS0をDC固有鍵で復号して完全性を検証する。検証成功時には、DC23は、MRTM18へC−OS0のハッシュ値をPCRに設定し、Secure Flag3’をONに設定後、C−OS0/C−App0/C−Data0をC−MPU12へ転送する。一方、検証失敗時には、C−OS0が、携帯電話端末10をリカバリーモードへ遷移させる(ステップS3’)。
【0125】
続いて、Flag3’=ONなら、MB14は、C−OS0を起動し、C−vMRTM0とA−vMRTM0を用いて、C−OS0とA−OS0との間でSAC(Secure Authentication channel)を確立する。SACは、SSL(Secure Socket Layer)にように相互認証と通信路の暗号化を実現した通信路である。SAC確立成功後、C−OS0は、C−App0をC−vMRTM0固有鍵で復号して完全性を検証する。検証成功時には、C−OS0は、C−vMRTM0へC−App0のハッシュ値をPCRに設定し、Secure Flag4’をONに設定後、C−App0を起動する。一方、検証失敗時には、C−OS0が、携帯電話端末10をリカバリーモードへ遷移させる(ステップS4’)。
【0126】
続いて、Flag4’=ONなら、C−App0は、C−Data0をC−App0固有鍵で復号して完全性を検証する。検証成功時には、C−App0は、C−vMRTM0へA−Data0のハッシュ値をPCRに設定し、Secure Flag5をONに設定後、A−Data0をA−vMRTM0にキャッシュする。一方、検証失敗時には、C−App0が携帯電話端末10をリカバリーモードへ遷移させる。
【0127】
ここでは、C−MPU12側で完全性検証を行うSecure Boot1’の実施方法を示したが、A−MPU16側のDC23により、C−OS0のみではなく、C−App0/C−Data0も復号/完全性検証してからC−MPU12へ転送することも可能である。
【0128】
DC23の完全性検証後、携帯電話端末10はSecure Boot2を実施する。Secure Boot2の実施はSecure Boot1および1’の実施と並行することが可能である。
【0129】
Secure Boot2において、まず、Flag2=ON、Flag5=ON、かつFlag5’=ONなら、DC23は、A−OS1をDC固有鍵で復号して完全性を検証する。検証成功時には、DC23は、MRTM18へA−OS1のハッシュ値をPCRに設定し、Secure Flag6をONに設定後、A−OS1を起動する。一方、検証失敗時には、DC23が携帯電話端末10をリポートモードへ遷移させる(ステップS6)。
【0130】
続いて、Flag6=ONなら、A−OS1はA−App1をA−vMRTM1固有鍵で復号して完全性を検証する。検証成功時には、A−OS1は、A−vMLTM1へA−App1のハッシュ値をPCRに設定し、Secure Flag7をONに設定後、A−App1を起動する。一方、検証失敗時には、A−OS1が携帯電話端末10をリポートモードへ遷移させる(ステップS7)。
【0131】
続いて、Flag7=ONなら、A−App1は、A−Data1をA−App1固有鍵で復号して完全性を検証する。検証成功時には、A−App1は、A−vMLTM1へA−Data1のハッシュ値をPCRに設定し、Secure Flag8をONに設定後、A−Data1をA−vMLTM1にキャッシュする。検証失敗時には、A−App1が、リポートモードへ遷移させる(ステップS8)。
【0132】
なお、図2のようにUDが複数存在する場合、A−MPU16のUD2以降の確立方法はUD1と同じである。
【0133】
また、セキュアモードにおけるOD/UDの確立は、セキュアモード遷移時に実行される。確立の内容は、直接MRTM18にアクセスすることを除いて、ノーマルモードの場合と同様である。なお、図3では、ノーマルモードを想定している。
【0134】
セキュアモードで実行される保護ソフトウェアは、暗号化された状態で不揮発メモリ15に保存されており、実行直前にHW Platform21により復号及び完全性の検証が行われ、成功時のみ実行が許可される。
【0135】
このように、携帯電話端末10は、A−MPU16やC−MPU12が、個別に起動可能な複数のコンポーネント(プログラムを含む実行領域の一例)を階層的に有し、所定階層のコンポーネントが、所定階層のコンポーネントの固有鍵を用いて所定階層よりも一段階上位層のコンポーネントを復号化し、一段階上位層のコンポーネントについて所定の検証処理を実行し、検証処理に成功した場合、上記一段階上位層のコンポーネントを起動する起動時処理を実行する。また、上記起動時処理が、最下位層を上記所定階層としてから最上位層よりも一段階下位層を上記所定階層とするまで一段階ずつ順に実行されることが可能である。
【0136】
さらに、最上位層の実行領域が、最上位層の実行領域の起動後に、最上位層の実行領域の固有鍵を用いてIMEI等のデータを復号化し、所定の検証処理を実行し、上記検証処理に成功した場合、IMEI等のデータを操作可能とする。
【0137】
次に、Bootstrap Sequenceにおける検証失敗時の挙動の一例について説明する。
【0138】
本実施形態では、検証失敗時に次の5つのパターンを想定している。携帯電話端末10は、Bootstrap Sequenceにおけるレイヤの重要度に応じて、検証失敗時の挙動を変更することが可能である。つまり、つまり所定階層の重要度に基づく復旧処理を実行することが可能である。
【0139】
(1)無視して起動を続ける。
(2)起動を停止する。
(3)検証に失敗したコンポーネントをリポジトリサーバ(外部サーバの一例)からダウンロードした正しいコンポーネントに差し替える(リカバリーモードとも称する)。
(4)110番通報等の非常時通報機能のみ利用できる(エマージェンシーモードとも称する)。
(5)失敗をユーザに通知する(リポートモードとも称する)。この通知は、図示しない報知部によって行われる。
【0140】
リカバリーモードで処理が失敗した場合は、エマージェンシーモードへ遷移させる。ただし、IMEI及びIMEI関連ソフトウェア等の通信に必要となるコンポーネントの完全性が保証されている場合のみ遷移させる。UDでの失敗時はユーザ(携帯電話端末10の所有者又はサービス提供者)に失敗内容を通知するリポートモードに遷移させ、ユーザにそれ以降の処理を判断させる。
【0141】
また、Bootstrap Sequenceにおけるレイヤの重要度に応じて検証失敗時の挙動を変更する以外に、レイヤの重要度に応じて完全性検証のレベル自体を変更することも可能である。例えば、起動を高速化するため、重要度が低いほどコンポーネントの検証範囲を狭くする、あるいは検証される確率を低くする。最低限、ある期間内には全コンポーネントの全範囲が検証されるよう実装する必要はあるが、重要度の低いレイヤの検証処理の一部を省略することで高速化することも可能である。
【0142】
さらに、復旧処理に失敗した場合には、復旧処理に失敗した所定階層(コンポーネント)よりも当該所定階層の重要度よりも高い重要度に基づく復旧処理を行うようにしてもよい。
【0143】
図3では、検証失敗時には、Secure Boot1および1’においてはリカバリーモード、Secure Boot2においてはリポートモードへ遷移することを説明しているが、各レイヤの重要度等に応じて、リカバリーモード、エマージェンシーモード、リポートモード、起動停止のいずれかに遷移すればよい。ただし、Secure Boot0においては、非常に重要度が高いため、検証失敗時には起動停止を行うようにする。また、リポートモードでは、例えば、ユーザインタフェース(UI)でユーザに向けてメッセージの表示等を行ったり、サービス提供サーバなどの外部サーバに対してメッセージを送信したりすることが可能である。
【0144】
次に、DC23によるアクセス制御の一例について説明する。
【0145】
図2に示したように、携帯電話端末1におけるドメインは、A−MPU16のTCB、A−MPU16のノーマルモード0の仮想環境0/1/2、A−MPU16のセキュアモード0/1/2、C−MPU12のノーマルモード0の1つ又は複数のエリアから構成される。例えば、ODは、A−MPU16のTCB、A−MPU16のノーマルモード0の仮想環境0、A−MPU16のセキュアモード0、C−MPU12のノーマルモード0の複数エリアから構成される。ただし、ドメインの構成は上記構成に限られない。
【0146】
ここで、DC23の役割の1つは、これらのODに所属する複数エリア内において情報とリソースをフレキシブルに共有し、他ドメインへの情報流出とリソースを制御することにある。DC23は、複数MPUを制御するMB、複数の動作モードを制御するMS24、複数仮想環境を制御するVMM25を監視し、ODに対応するベースポリシとUDに対応するドメインポリシに従い、情報およびリソースアクセスを制御する。なお、ベースポリシおよびドメインポリシは、セキュリティポリシの一例である。
【0147】
ここで、エリアとは、A−MPU16のノーマルモードのODやUD1やUD2、A−MPU16のセキュアモードのODやUD1やUD2、C−MPU12のODなどの実行領域を示すものである。
【0148】
携帯電話端末10は、一例として、以下のようにDC23によるドメイン間情報流通の制御を行う。
【0149】
・あらかじめ、例えばDC23によって、エリアから他のエリアへ情報は必ずDC23を経由するように指定する。
・DC23は、送信元エリアの属するドメインと送信先エリアの属するドメインが一致する場合のみ通信を許可する(ベースポリシ)。
・DC23は、送信元エリアの属するドメインに予め設定されたドメインポリシが許可する場合は送信先エリアの属するドメインが異なる場合も通信を許可する。
・DC23は、Secure Flagを確認し、FlagがOFFの部分があるエリアからの通信およびOFFの部分があるエリアへの通信については禁止する。つまり、所定の検証処理に失敗したエリアとの間の通信を禁止する。
【0150】
また、携帯電話端末10は、一例として、以下のようにDC23によるドメイン間リソース共有の制御を行う。図7にドメイン間リソース共有の一例を示す図である。
【0151】
・あらかじめ、あるエリアからMRTM18にアクセスする場合は、必ずDC23を経由するように指定する。
・MRTM18はSecure Flag0/1/2/3/6、A−vMRTM0はSecure Flag4/5、C−vMRTM0はSecure Flag4’/5’、A−vMLTM1はSecure Flag7/8を管理し、DC23は所属するドメインからのアクセスしか許可しない(ベースポリシ)。
・セキュアモードにおけるエリアからは、直接DC23を経由してMRTM18へアクセスすることを許可とする。図7では、一例としてOSからアクセスすることを示している。
・ノーマルモードにおけるエリアからは、仮想MTM(vMRTM又はvMLTM)経由以外のアクセスを許可しない。仮想MTM経由の場合、DC23は、MRTM18のPCR/Secure FlagをRead Only(読み取り専用)に制御し、かつMRTM18以外のPCR/Secure Flagは参照も許可しない(ベースポリシ)。
・DC23は、アクセス先エリアの属するドメインに予め設定されたドメインポリシが許可する場合には、アクセス元エリアの属するドメインが異なる場合もPCR/Secure Flag参照を許可する。
【0152】
次に、Bootstrap Sequence後における完全性検証の一例について説明する。
【0153】
C−MPU12においてIMEIを利用する場合、SAC経由でIMEIをロードしてC−vMRTM0へキャッシュする。ただし、利用時又は定期的にIMEIおよびIMEIに関連するソフトウェアの完全性検証が必要と考えられる。この完全性検証は、IMEIをA−vMRTM0からリロードする際の流通経路となるソフトウェアをデータドリブンで検証することで、最小限の範囲を利用直前に検証するものである。なお、IMEIをリロードする毎に完全性検証が発生する為、実装時はC−vMRTM0のキャッシュの有効期間を定め、許容される負荷の範囲でリロードするべきである。
【0154】
具体的には、IMEI等のデータにVerification Tagを設け、データ送信元コンポーネントはデータ送信先コンポーネントの完全性を実施し、検証成功時のみ送信することで実現できる。検証成功か否は、Verification Tag=ONか否かを判断する。また、リロード時も各コンポーネントにおける完全性検証結果をMTMのSecure Flagに設定することで、事前の検証が失敗している場合には、各コンポーネントからIMEIをC−MPU12へ出力させない。なお、Verification TagはIMEI等のデータとともにMTMに保存可能である。
【0155】
図8は、Bootstrap Sequence後における完全性検証の一例を示すフローチャートである。
【0156】
まず、C−MPU12は、C−vMRTM0にキャッシュしているIMEIの有効期間が過ぎた場合などに、C−App0がA−App0へIMEIを要求する(ステップS11)。
【0157】
続いて、A−MPU16は、A−App0がA−vMRTM0からIMEIを読み出す(ステップS12)。なお、IMEIはA−vMRTM0又はA−vMRTM経由でMRTM18にキャッシュされているとする。
【0158】
続いて、A−MPU16は、Verification TagをONに設定してIMEIメッセージをC−App0宛に送る(ステップS13)。
【0159】
続いて、A−MPU16またはC−MPU12は、IMEIメッセージを受信した通信経路上のプログラム(PG)(A−OS0、DC23、またはC−OS0に含まれる)が、Verification_Tag=ONか否か判定する。
【0160】
Verification_Tag=ONの場合、A−MPU16およびC−MPU12は、IMEIを送ってきた送り元プログラムに対応するSecure FlagがONであるか否かを判定する(ステップS15)。
【0161】
Secure FlagがONである場合、A−MPU16およびC−MPU12は、送り先プログラムの改ざん検証を実行し(ステップS16)、送り先プログラム(例えばC−OS0)の改ざんがないか判定する(ステップS17)。
【0162】
送り先プログラムの改ざんがないと判定された場合、A−MPU26およびC−MPU22は、送り先プログラムに対応するSecure FlagをONし、IMEIメッセージを送り先プログラムに送信する(ステップS18)。
【0163】
なお、ステップS14〜S18は、通信経路上のプログラム数だけ繰り返される。
【0164】
続いて、A−MPU16およびC−MPU12は、例えばステップS13に示すように、C−App0へIMEIメッセージを送信したか否かを判定する。IMEIメッセージを送信していない場合、ステップS13の直前に戻る。
【0165】
IMEIメッセージを送信されると、C−MPU12は、C−App0がIMEIメッセージを受信する(ステップS20)。
【0166】
続いて、C−MPU12は、送り元プログラムのSecure FlagがONであるか否かを判定する(ステップS21)。
【0167】
送り元プログラムのSecure FlagがONである場合、C−MPU12は、IMEIをC−vMRTM0にキャッシュする(ステップS22)。
【0168】
このように、Bootstrap Sequence後における完全性検証では、携帯電話端末10は、例えば、IMEIの利用時や有効期限が過ぎた場合に、C−MPU12がIMEI等のデータの送信要求をA−MPU16へ行い、C−MPU12は、A−MPU16とC−MPU12とを接続する通信路を構成するプログラムを含む実行領域に関する検証処理が成功した場合、A−MPU16から送信されたデータを記憶する。
【0169】
携帯電話端末10によれば、以下の効果が得られる。
【0170】
・複数MPU等の演算処理部、複数モードに基づいてドメイン分割することができるため、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実施することが可能である。
【0171】
・従来のTrusted BootおよびSecure Bootではソフトウェアの完全性計測または完全性検証のみであったが、本実施形態におけるBootstrap Sequenceでは、ソフトウェアおよびデータ(IMEI等)の完全性検証まで行うことが可能である。したがって、プログラムのみに依存したセキュアブートではなく、保護したいデータにも依存させるセキュアブート(本実施形態におけるBootstrap Sequence)が実行可能である。
【0172】
・携帯電話端末10は、復号/改ざん検証時に一段階前の処理結果をSecure Flagにより確認すること、検証成功時にSecure Flag=ONを設定すること、データまで起動プロセスで復号及び完全性検証することにより、所望のドメイン分割および完全性検証が実現できる。
【0173】
・コピーされたIMEIがコピー先端末で利用できないようにするために、Chain−bindingによりIMEIをHW Platform21/MRTM18の固有鍵をルートとしてチェーンで暗号化することで、コピー先端末ではIMEI及び関連ソフトウェアの全てが復号困難となる。
【0174】
・生産工程で不揮発メモリ15に記載されたIMEIと無線通信路に出力されたIMEIの一致は、IMEIがOD確立後に完全性が保証された状態でMRTMにキャッシュされることで実現される。これは、前述したChain−UnbindingによるIMEI自体の完全性検証のみではなく、IMEIを利用するコンポーネントの完全性がBootstrap Sequenceで保証され、かつIMEIの復号/検証処理がSecure Flagに依存して制御されていることからも保証される。さらに、IMEI利用時にIMEIドリブンで必要最小限のIMEI関連ソフトウェアの検証を実行することで、IMEIの保護を実現しつつ、効率的な通信側の処理を実現することができる。
【産業上の利用可能性】
【0175】
本発明は、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能な情報処理装置および携帯電話装置等として有用である。
【図面の簡単な説明】
【0176】
【図1】本発明の実施形態にかかる携帯電話端末のハードウェア構成の一例を示す図
【図2】本発明の実施形態にかかる携帯電話端末における主にC−MPU12およびA−MPU16の分割されたドメインの一例を示す図
【図3】本発明の実施形態にかかるBootstrap SequenceのSecure Boot0の一例を示すフローチャート
【図4】本発明の実施形態にかかるBootstrap SequenceのSecure Boot1の一例を示すフローチャート
【図5】本発明の実施形態にかかるBootstrap SequenceのSecure Boot1’の一例を示すフローチャート
【図6】本発明の実施形態にかかるBootstrap SequenceのSecure Boot2の一例を示すフローチャート
【図7】本発明の実施形態にかかるドメイン間リソース共有の一例を示す図
【図8】本発明の実施形態にかかるBootstrap Sequence後における完全性検証の一例を示すフローチャート
【符号の説明】
【0177】
10 携帯電話端末
11 無線部
12 C−MPU
13 揮発メモリ
14 MB(MPU Bridge)
15 不揮発メモリ
16 A−MPU
17 内部ROM
18 MRTM
21 HW Platform
22 IPL
23 DC
24 MS
25 VMM

【特許請求の範囲】
【請求項1】
保護リソースを有しないノーマルモードおよび保護リソースを有するセキュアモードを含む複数の動作モードを有する情報処理装置であって、
複数の演算処理部と、
所定のセキュリティポリシに基づいてアクセス制御されるプログラムまたはデータを含む実行領域を示すドメインを生成するドメイン制御部と、
を有し、
前記ドメイン制御部は、前記複数の演算処理部および前記複数の動作モードに基づいて前記ドメインを生成する
情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記ドメイン制御部は、更に、前記動作モードの前記保護リソースに基づいてドメインを生成する
情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記ドメイン制御部は、更に、所定の実行領域を含む仮想環境に基づいて、ドメインを生成する。
【請求項4】
請求項1に記載の情報処理装置であって、
前記ドメイン制御部は、同一のセキュリティポリシに基づいてアクセス制御される実行領域を同一のドメインとする
情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
前記演算処理部は、複数の実行領域を示すエリアを有し、
前記ドメイン制御部は、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが同一のドメインである場合に、通信を許可する
情報処理装置。
【請求項6】
請求項4に記載の情報処理装置であって、
前記演算処理部は、複数の実行領域を示すエリアを有し、
前記ドメイン制御部は、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが異なるドメインである場合、かつ、前記セキュリティポリシに前記送信元エリアと送信先エリアとの間の通信を許可するための情報が含まれる場合に、通信を許可する
情報処理装置。
【請求項7】
請求項4に記載の情報処理装置であって、
前記演算処理部は、複数の実行領域を示すエリアを有し、
前記ドメイン制御部は、所定の検証処理に失敗したエリアとの間の通信を禁止する
情報処理装置。
【請求項8】
請求項1に記載の情報処理装置であって、
前記演算処理部は、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、
所定階層の実行領域は、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階上位層の実行領域を復号化し、前記一段階上位層の実行領域について所定の検証処理を実行し、前記検証処理に成功した場合、前記一段階上位層の実行領域が有するプログラムを起動する起動時処理を実行する
情報処理装置。
【請求項9】
請求項8に記載の情報処理装置であって、
前記起動時処理は、最下位層を前記所定階層として最上位層よりも一段階下位層を前記所定階層とするまで一段階ずつ順に実行される
情報処理装置。
【請求項10】
請求項8または9に記載の情報処理装置であって、
最上位層の実行領域は、当該最上位層の実行領域の起動後に、当該最上位層の実行領域の固有鍵を用いて所定のデータを復号化し、前記所定のデータについて所定の検証処理を実行し、前記検証処理に成功した場合、前記所定のデータを操作可能とする
情報処理装置。
【請求項11】
請求項10に記載の情報処理装置であって、
前記所定のデータは、当該情報処理装置を識別するための識別データを含むデータである
情報処理装置。
【請求項12】
請求項8ないし11のいずれか1項に記載の情報処理装置であって、
所定階層の実行領域は、前記検証処理に失敗した場合、当該所定階層の重要度に基づく復旧処理を実行する
情報処理装置。
【請求項13】
請求項12に記載の情報処理装置であって、
所定階層の実行領域は、前記復旧処理に失敗した場合、当該所定階層の重要度よりも高い重要度に基づく復旧処理を実行する
情報処理装置。
【請求項14】
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、当該情報処理装置の起動停止処理である
情報処理装置。
【請求項15】
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、前記所定階層の実行領域を外部サーバから取得した他の実行領域に差し替える処理である
情報処理装置。
【請求項16】
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、非常通報機能のみ利用可能とする処理である
情報処理装置。
【請求項17】
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、前記検証処理に失敗した旨を報知部に報知させる処理である
情報処理装置。
【請求項18】
請求項1に記載の情報処理装置であって、
前記演算処理部は、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、
所定階層の実行領域は、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階上位層の実行領域を暗号化する暗号化処理を実行する
情報処理装置。
【請求項19】
請求項18に記載の情報処理装置であって、
前記暗号化処理は、最上位層よりも一段階下位層を前記所定階層としてから最下位層を前記所定階層とするまで一段階ずつ順に実行される
情報処理装置。
【請求項20】
請求項18または19に記載の情報処理装置であって、
最上位層の実行領域は、当該最上位層の実行領域の暗号化前に、当該最上位層の実行領域の固有鍵を用いて所定のデータを暗号化する
情報処理装置。
【請求項21】
請求項1に記載の情報処理装置であって、
前記演算処理部は、所定のデータを備える第1の演算処理部と、第2の演算処理部とを有し、
前記第2の演算処理部は、前記第1の演算処理部へ前記所定のデータの送信要求を実行し、前記第1の演算処理部と当該第2の演算処理部とを接続する通信路を構成するプログラムを含む実行領域に関する検証処理が成功した場合、前記第1の演算処理部から送信された前記所定のデータを記憶する
情報処理装置。
【請求項22】
請求項7、8、9、10、21のいずれか1項に記載の情報処理装置であって、更に、
前記検証処理の結果を示すセキュアフラグを有し、
前記演算処理部は、前記セキュアフラグに基づいて、前記検証処理に失敗したか否かを判定する
情報処理装置。
【請求項23】
請求項22に記載の情報処理装置であって、
前記演算処理部は、前記セキュアフラグに基づく検証処理の結果に応じて、異なる制御を行う
情報処理装置。
【請求項24】
アンテナと、
操作入力を受け付ける入力部と、
前記アンテナを介して無線通信を行うための無線部と、
請求項1ないし23のいずれか1項に記載の情報処理装置と
を有する携帯電話装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−169841(P2009−169841A)
【公開日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−9469(P2008−9469)
【出願日】平成20年1月18日(2008.1.18)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】