JP2009169841A - Information processor and portable telephone device - Google Patents

Information processor and portable telephone device Download PDF

Info

Publication number
JP2009169841A
JP2009169841A JP2008009469A JP2008009469A JP2009169841A JP 2009169841 A JP2009169841 A JP 2009169841A JP 2008009469 A JP2008009469 A JP 2008009469A JP 2008009469 A JP2008009469 A JP 2008009469A JP 2009169841 A JP2009169841 A JP 2009169841A
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
predetermined
area
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008009469A
Other languages
Japanese (ja)
Inventor
Jun Anzai
潤 安齋
Hideki Matsushima
秀樹 松島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008009469A priority Critical patent/JP2009169841A/en
Priority to PCT/JP2008/003656 priority patent/WO2009090706A1/en
Publication of JP2009169841A publication Critical patent/JP2009169841A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor capable of executing domain division obtained by taking into consideration sufficient availability and security even when a plurality of arithmetic processing parts are provided, and to provide a portable telephone device. <P>SOLUTION: A cellular phone terminal 10 having a plurality of operating modes including a normal mode without having a protective resource and a secure mode having a protective resource has a plurality of arithmetic processing parts and a DC (Domain Coordinator) 23 for generating a domain showing an execution area including a program or data subjected to access control on the basis of a prescribed security policy, wherein the DC 23 generates a domain on the basis of the plurality of arithmetic processing parts and the plurality of operating modes. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、情報処理装置および携帯電話装置に関し、特に、複数のCPUを備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能な情報処理装置および携帯電話装置に関する。   The present invention relates to an information processing device and a mobile phone device, and more particularly to an information processing device and a mobile phone device capable of performing domain division in consideration of sufficient convenience and safety even when a plurality of CPUs are provided. .

近年、マルウェアによるPC等の情報処理端末の被害が拡大している。このような情報処理端末の被害を最小限に抑えるために、仮想化技術、セキュリティに関する動作モードの設定、ソフトウェアの完全性計測または完全性検証の実施、ドメイン分割などが知られている。   In recent years, damage to information processing terminals such as PCs due to malware has been increasing. In order to minimize such damage to information processing terminals, virtualization technology, setting of operation modes related to security, implementation of software integrity measurement or integrity verification, domain division, and the like are known.

仮想化技術は、同一のCPU内に複数の仮想環境を設け、仮想環境毎に異なるOSを実行する技術であり、リソースの効率利用や管理の容易性から注目されている。セキュリティ面では、仮想環境間はVMM(Virtual Machine Monitor)によりリソースが排他制御され、ある仮想環境から他仮想環境に対するアクセスを制御できる。そのため、ある環境におけるマルウェア等による被害が他の環境へ波及しにくい。   The virtualization technology is a technology in which a plurality of virtual environments are provided in the same CPU and a different OS is executed for each virtual environment, and is attracting attention from the viewpoint of efficient use of resources and ease of management. In terms of security, resources between virtual environments are exclusively controlled by a VMM (Virtual Machine Monitor), and access from one virtual environment to another virtual environment can be controlled. For this reason, it is difficult for damage caused by malware or the like in one environment to spread to another environment.

また、情報処理端末の動作モードとして、ノーマルモードおよびセキュアモードがある。セキュアモードは、保護アプリケーションのみ実行可能であり、専用保護リソースを有する。このような動作モードを有する情報処理端末では、ノーマルモードからセキュアモードへ移行させ、アクセス制限を行うことが可能である。   Further, there are a normal mode and a secure mode as operation modes of the information processing terminal. The secure mode can be executed only by the protection application and has a dedicated protection resource. An information processing terminal having such an operation mode can be shifted from the normal mode to the secure mode to restrict access.

また、ソフトウェアの完全性計測を実施するために、情報処理端末の一例である従来のPCではTrusted Bootと呼ばれる処理を、ソフトウェアの完全性検証を実施するために、情報処理端末の一例である従来の携帯電話ではSecure Bootと呼ばれる処理を行う。   Further, in order to perform software integrity measurement, a conventional PC, which is an example of an information processing terminal, performs a process called Trusted Boot, and a conventional PC, which is an example of an information processing terminal, to perform software integrity verification. Mobile phones perform a process called Secure Boot.

ソフトウェアの完全性計測を実施する従来の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と呼ぶ。   A conventional PC that performs software integrity measurement is started in the order of an internal ROM (Core Root of Trust Measurement: CRTM), BIOS, and Kernel. At this time, the SHA-1 hash value of the BIOS to be activated next is calculated from the internal ROM, the hash value is set in the PCR (Platform Configuration Register) in the TPM (Trusted Platform Module), and the BIOS is activated. The BIOS calculates the hash value of Kernel, sets the hash value in PCR, and starts Kernel. Here, this hash value is set in such a manner that the hash value of Kernel depends on the hash value of BIOS. When Kernel is activated, a Trusted Component Base (TCB) is established. This series of flows is called a trusted boot.

Trusted Bootの実施後、PCがネットワークに接続された場合等に、外部サーバがPCにPCR値を要求し、PCはTPMからTPM固有鍵で署名されたPCR値を取得して外部サーバに返信する。外部サーバはPCR値が想定の値と等しい場合に、ネットワーク接続を許可する等の制御を行う。ここで、PCRは耐タンパ性の高いモジュールであり、高い安全性が確保されるため、結果として端末の完全性を保証できる。   After the Trusted Boot is executed, when the PC is connected to the network, the external server requests the PCR value from the PC, and the PC acquires the PCR value signed with the TPM unique key from the TPM and returns it to the external server. . The external server performs control such as permitting network connection when the PCR value is equal to the assumed value. Here, the PCR is a module with high tamper resistance, and high safety is ensured. As a result, the integrity of the terminal can be guaranteed.

また、ソフトウェアの完全性検証を実施する従来の携帯電話は、Trusted Bootと同様の処理によりハッシュ値を計測し、事前に用意したハッシュ期待値と計測したハッシュ値を比較し、一致時のみ対象ソフトウェアを起動する。この流れをSecure Bootと呼ぶ。なお、ハッシュ期待値や計測したハッシュ値は、MTM(Mobile Trusted Module)に格納される。   In addition, a conventional mobile phone that performs software integrity verification measures hash values by the same process as Trusted Boot, compares the hash value measured in advance with the measured hash value, and applies only when there is a match. Start up. This flow is called Secure Boot. The expected hash value and the measured hash value are stored in an MTM (Mobile Trusted Module).

このように、Trusted Bootでは、ハッシュ値をPCRに保存し、外部サーバにより完全性検証を行うが、Secure Bootでは、端末自身でハッシュ値算出および完全性検証まで実施する。また、MTMは、携帯電話はユーザの所有物であり、通信オペレータのプラットフォームでもあるため、前者向けのMTMをMobile Local Trusted Module(MLTM)、後者向けのMTMをMobile Remote Trusted Module(MRTM)としている。   As described above, in Trusted Boot, a hash value is stored in PCR and integrity verification is performed by an external server. In Secure Boot, hash value calculation and integrity verification are performed by the terminal itself. In addition, since MTM is a user's property and is a communication operator's platform, MTM for the former is Mobile Local Trusted Module (MLTM), and MTM for the latter is Mobile Remote Trusted Module (MRTM). .

また、セキュリティポリシに従いアクセス制御される実行領域をドメインと呼ぶ。このドメインは、複数の仮想環境が1つのドメインに属することや、仮想化を用いないドメインを許容する。情報処理端末のCPUにこのようなドメインを複数設定することが可能になっている。なお、ドメインを設定することをドメイン分割とも呼ぶ。   An execution area whose access is controlled according to a security policy is called a domain. This domain allows a plurality of virtual environments to belong to one domain or a domain that does not use virtualization. It is possible to set a plurality of such domains in the CPU of the information processing terminal. Note that setting a domain is also called domain division.

このような情報処理端末内のCPUにドメイン分割を行う技術の一例として、上記動作モードを想定したドメイン分割(例えば、非特許文献1参照)や仮想環境を想定したドメイン分割(例えば、非特許文献2参照)が知られている。   As an example of a technique for performing domain division on the CPU in such an information processing terminal, domain division assuming the operation mode (see, for example, Non-Patent Document 1) or domain division assuming a virtual environment (for example, Non-Patent Document). 2) is known.

なお、情報処理端末の被害を最小限に抑えるための技術の一例として、秘密キーを用いて生成される生成値と保存されている保存値とを比較し、一致すればプログラムを実行する技術が知られている(例えば、特許文献1参照)。また、ハードウェア固有鍵で暗号化されたプログラムを改ざん検証し、改ざんがなければ、プログラムを復号化して起動することが知られている(例えば、特許文献2参照)。   An example of a technique for minimizing damage to the information processing terminal is a technique for comparing a generated value generated using a secret key with a stored value stored and executing a program if they match. It is known (see, for example, Patent Document 1). Further, it is known that a program encrypted with a hardware unique key is falsified and verified, and if there is no falsification, the program is decrypted and started (see, for example, Patent Document 2).

「Open and Secure Terminal Initiative 2006」 NTTドコモ“Open and Secure Terminal Initiative 2006” NTT DOCOMO 「IBM Virtualizing the Trusted Platform Module 2006」 IBM"IBM Virtualizing the Trusted Platform Module 2006" IBM 特許第2564593号公報Japanese Patent No. 2564593 特開2003−108257号公報JP 2003-108257 A

しかしながら、上記特許文献では、情報処理端末が複数のCPU等の演算処理部を備える場合、複数のCPU等の演算処理部間にまたがってドメイン分割を行うことが想定されていないため、十分な利便性および安全性を考慮したドメイン分割を行うことができない。   However, in the above patent document, when the information processing terminal includes arithmetic processing units such as a plurality of CPUs, it is not assumed that domain division is performed across arithmetic processing units such as a plurality of CPUs. Domain division considering security and security is not possible.

本発明は、上記事情を鑑みてなされたものであって、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能な情報処理装置および携帯電話装置を提供することを目的とする。   The present invention has been made in view of the above circumstances, and is an information processing apparatus and portable device capable of performing domain division in consideration of sufficient convenience and safety even when a plurality of arithmetic processing units are provided. An object is to provide a telephone device.

上記目的を達成するために、本発明の情報処理装置は、保護リソースを有しないノーマルモードおよび保護リソースを有するセキュアモードを含む複数の動作モードを有する情報処理装置であって、複数の演算処理部と、所定のセキュリティポリシに基づいてアクセス制御されるプログラムまたはデータを含む実行領域を示すドメインを生成するドメイン制御部と、を有し、前記ドメイン制御部は、前記複数の演算処理部および前記複数の動作モードに基づいて前記ドメインを生成する。   In order to achieve the above object, an information processing apparatus according to the present invention is an information processing apparatus having a plurality of operation modes including a normal mode having no protection resource and a secure mode having a protection resource, and a plurality of arithmetic processing units. And a domain control unit that generates a domain indicating an execution region including a program or data whose access is controlled based on a predetermined security policy, wherein the domain control unit includes the plurality of arithmetic processing units and the plurality of processing units. The domain is generated based on the operation mode.

上記構成によれば、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能である。   According to the above configuration, even when a plurality of arithmetic processing units are provided, domain division considering sufficient convenience and safety can be performed.

また、本発明の情報処理装置は、前記ドメイン制御部が、更に、前記動作モードの前記保護リソースに基づいてドメインを生成する。   In the information processing apparatus of the present invention, the domain control unit further generates a domain based on the protected resource in the operation mode.

上記構成によれば、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能である。   According to the above configuration, even when a plurality of arithmetic processing units are provided, domain division considering sufficient convenience and safety can be performed.

また、本発明の情報処理装置は、前記ドメイン制御部が、更に、実行領域を含む仮想環境に基づいて、ドメインを生成する。   In the information processing apparatus of the present invention, the domain control unit further generates a domain based on a virtual environment including an execution area.

上記構成によれば、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能である。   According to the above configuration, even when a plurality of arithmetic processing units are provided, domain division considering sufficient convenience and safety can be performed.

また、本発明の情報処理装置は、前記ドメイン制御部が、同一のセキュリティポリシに基づいてアクセス制御される実行領域を同一のドメインとする   In the information processing apparatus according to the present invention, the domain control unit sets the execution domains whose access is controlled based on the same security policy as the same domain.

上記構成によれば、信頼できるプラットフォームを構築することができる。   According to the above configuration, a reliable platform can be constructed.

また、本発明の情報処理装置は、前記演算処理部が、複数の実行領域を示すエリアを有し、前記ドメイン制御部が、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが同一のドメインである場合に、通信を許可する。   Further, in the information processing apparatus of the present invention, the arithmetic processing unit has an area indicating a plurality of execution regions, and when the domain control unit communicates from the transmission source area to the transmission destination area, the transmission source area And the destination area are in the same domain, communication is permitted.

上記構成によれば、同一ドメイン間でのみ通信を許可するため、信頼できるプラットフォームを構築することができる。   According to the above configuration, since communication is permitted only between the same domains, a reliable platform can be constructed.

また、本発明の情報処理装置は、前記演算処理部が、複数の実行領域を示すエリアを有し、前記ドメイン制御部が、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが異なるドメインである場合、かつ、前記セキュリティポリシに前記送信元エリアと送信先エリアとの間の通信を許可するための情報が含まれる場合に、通信を許可する。   Further, in the information processing apparatus of the present invention, the arithmetic processing unit has an area indicating a plurality of execution regions, and when the domain control unit communicates from the transmission source area to the transmission destination area, the transmission source area And the transmission destination area are different domains, and communication is permitted when the security policy includes information for permitting communication between the transmission source area and the transmission destination area.

上記構成によれば、送信元エリアと送信先エリアとが異なるドメインである場合であっても、所定の場合にのみ通信を許可するので、柔軟性のある信頼できるプラットフォームを構築することができる。   According to the above configuration, even when the transmission source area and the transmission destination area are different domains, communication is permitted only in a predetermined case, so that a flexible and reliable platform can be constructed.

また、本発明の情報処理装置は、前記演算処理部が、複数の実行領域を示すエリアを有し、前記ドメイン制御部が、所定の検証処理に失敗したエリアとの間の通信を禁止する。   In the information processing apparatus of the present invention, the arithmetic processing unit has an area indicating a plurality of execution regions, and the domain control unit prohibits communication with an area where a predetermined verification process has failed.

上記構成によれば、同一ドメインであっても検証処理に失敗している場合には通信を禁止するため、信頼できるプラットフォームを構築することができる。   According to the above configuration, since the communication is prohibited when the verification process fails even in the same domain, a reliable platform can be constructed.

また、本発明の情報処理装置は、前記演算処理部が、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、所定階層の実行領域が、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階上位層の実行領域を復号化し、前記一段階上位層の実行領域について所定の検証処理を実行し、前記検証処理に成功した場合、前記一段階上位層の実行領域が有するプログラムを起動する起動時処理を実行する。   Further, in the information processing apparatus according to the present invention, the arithmetic processing unit hierarchically includes execution areas including individually startable programs or data, and the execution areas of the predetermined hierarchy are unique to the execution areas of the predetermined hierarchy. When a key is used to decrypt an execution region of a layer one level higher than the predetermined layer, a predetermined verification process is executed for the execution region of the one level higher layer, and if the verification process is successful, the one step higher layer The process at the time of starting the program which the execution area | region has starts is performed.

上記構成によれば、前階層の固有鍵を用いて復号化等を行うため、信頼できるプラットフォームを構築することができる。   According to the above configuration, since a decryption or the like is performed using the unique key of the previous layer, a reliable platform can be constructed.

また、本発明の情報処理装置は、前記起動時処理が、最下位層を前記所定階層として最上位層よりも一段階下位層を前記所定階層とするまで一段階ずつ順に実行される。   In the information processing apparatus according to the present invention, the startup process is executed step by step until the lowest layer is the predetermined layer and the lower layer is one step lower than the highest layer.

上記構成によれば、階層毎に段階的に復号化し、さらに前階層の固有鍵を用いてChain−bindingをUnbindingすることで起動時処理を行うため、信頼できるプラットフォームを構築することができる。   According to the above configuration, since a process at the time of starting is performed by performing decryption step by step for each layer and further unbinding Chain-binding using the unique key of the previous layer, a reliable platform can be constructed.

また、本発明の情報処理装置は、最上位層の実行領域が、当該最上位層の実行領域の起動後に、当該最上位層の実行領域の固有鍵を用いて所定のデータを復号化し、前記所定のデータについて所定の検証処理を実行し、前記検証処理に成功した場合、前記所定のデータを操作可能とする。   In the information processing apparatus of the present invention, the execution region of the highest layer decrypts predetermined data using the unique key of the execution region of the highest layer after the execution of the execution region of the highest layer, A predetermined verification process is executed for the predetermined data, and when the verification process is successful, the predetermined data can be operated.

上記構成によれば、例えば所定のデータを含めてChain−bindingをUnbindingすることで起動時処理を行うため、さらに信頼できるプラットフォームを構築することができる。また、復号化ができない限りコピーされたデータがコピー先端末で利用できず、コピー先端末ではデータが復号困難となる。なお、所定のデータとしては、IMEIやSIMLock設定のような事前に決めることができて、かつ全ての端末で同じではないデータが考えられる。   According to the above configuration, for example, the startup process is performed by unbinding Chain-binding including predetermined data, so that a more reliable platform can be constructed. Further, unless the data can be decrypted, the copied data cannot be used at the copy destination terminal, and it becomes difficult to decrypt the data at the copy destination terminal. As the predetermined data, data that can be determined in advance, such as IMEI or SIMLock setting, and is not the same in all terminals can be considered.

また、本発明の情報処理装置は、前記所定のデータが、当該情報処理装置を識別するための識別データを含むデータである。   In the information processing apparatus of the present invention, the predetermined data is data including identification data for identifying the information processing apparatus.

上記構成によれば、IMEI等のデータを含めてChain−bindingをUnbindingすることで起動時処理を行うため、さらに信頼できるプラットフォームを構築することができる。また、復号化ができない限りコピーされたIMEIがコピー先端末で利用できず、コピー先端末ではIMEI及び関連ソフトウェアの全てが復号困難となる。   According to the above configuration, since the startup process is performed by unbinding Chain-binding including data such as IMEI, a more reliable platform can be constructed. Further, unless the decryption is possible, the copied IMEI cannot be used at the copy destination terminal, and the IMEI and related software are all difficult to decrypt at the copy destination terminal.

また、本発明の情報処理装置は、所定階層の実行領域が、前記検証処理に失敗した場合、当該所定階層の重要度に基づく復旧処理を実行する。   The information processing apparatus according to the present invention executes a recovery process based on the importance of the predetermined hierarchy when the execution area of the predetermined hierarchy fails the verification process.

上記構成によれば、検証失敗時に復旧処理を実行可能であるため、検証失敗時であっても起動時処理を柔軟に継続または停止することが可能である。   According to the above configuration, the recovery process can be executed when verification fails, so that the startup process can be flexibly continued or stopped even when verification fails.

また、本発明の情報処理装置は、所定階層の実行領域が、前記復旧処理に失敗した場合、当該所定階層の重要度よりも高い重要度に基づく復旧処理を実行する。   The information processing apparatus according to the present invention executes a recovery process based on an importance level higher than an importance level of the predetermined hierarchy when the execution area of the predetermined hierarchy fails in the recovery process.

上記構成によれば、復旧失敗時にさらに復旧処理を実行可能であるため、検証や復旧に失敗時であっても起動時処理を柔軟に継続または停止することが可能である。   According to the above configuration, since the recovery process can be further executed when the recovery fails, the startup process can be flexibly continued or stopped even when the verification or recovery fails.

また、本発明の情報処理装置は、前記復旧処理が、当該情報処理装置の起動停止処理である。   In the information processing apparatus of the present invention, the restoration process is a start / stop process of the information processing apparatus.

上記構成によれば、情報処理装置を起動停止することで、最も安全に起動時処理を停止ことが可能である。特に携帯電話端末の主要な処理の実行に不可欠なコンポーネントにおいて検証失敗した場合に起動停止すると、高い安全性を確保できる。   According to the above configuration, the startup process can be stopped most safely by stopping and starting the information processing apparatus. In particular, high safety can be ensured by stopping the activation when verification fails in a component indispensable for the main processing of the mobile phone terminal.

また、本発明の情報処理装置は、前記復旧処理が、前記所定階層の実行領域を外部サーバから取得した他の実行領域に差し替える処理である。   In the information processing apparatus of the present invention, the restoration process is a process of replacing the execution area of the predetermined hierarchy with another execution area acquired from an external server.

上記構成によれば、上記実行領域の差し替えにより、起動時処理を柔軟に継続可能である。   According to the above configuration, the startup process can be flexibly continued by replacing the execution area.

また、本発明の情報処理装置は、前記復旧処理が、非常通報機能のみ利用可能とする処理である。   In the information processing apparatus according to the present invention, the restoration process is a process that allows only the emergency call function.

上記構成によれば、非常通報のみ利用可能とするので、危急の場合に最低限の動作を保証することができるとともに、高い安全性を確保することができる。   According to the above configuration, since only an emergency call can be used, a minimum operation can be ensured in an emergency, and high safety can be ensured.

また、本発明の情報処理装置は、前記復旧処理が、前記検証処理に失敗した旨を報知部に報知させる処理である。   Further, the information processing apparatus of the present invention is a process for informing the notification unit that the restoration process has failed in the verification process.

上記構成によれば、失敗した旨を情報処理装置のユーザやサービス提供者が認識可能であるため、情報処理装置のユーザやサービス提供者が以降の処理を迅速に判断することができる。   According to the above configuration, since the user or service provider of the information processing apparatus can recognize that the information has failed, the user or service provider of the information processing apparatus can quickly determine the subsequent processing.

また、本発明の情報処理装置は、前記演算処理部が、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、所定階層の実行領域が、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階下位層の実行領域を暗号化する暗号化処理を実行する。   Further, in the information processing apparatus according to the present invention, the arithmetic processing unit hierarchically includes execution areas including individually startable programs or data, and the execution areas of the predetermined hierarchy are unique to the execution areas of the predetermined hierarchy. Using the key, an encryption process for encrypting an execution area one level lower than the predetermined hierarchy is executed.

上記構成によれば、前階層の固有鍵を用いて暗号化を行うため、信頼できるプラットフォームを構築することができる。   According to the above configuration, since the encryption is performed using the unique key of the previous layer, a reliable platform can be constructed.

また、本発明の情報処理装置は、前記暗号化処理が、最上位層よりも一段階下位層を前記所定階層としてから最下位層を前記所定階層とするまで一段階ずつ順に実行される。   In the information processing apparatus according to the present invention, the encryption processing is executed step by step from the highest layer to the predetermined layer until the lowest layer is set to the predetermined layer.

上記構成によれば、階層毎に段階的に暗号化し、さらに前階層の固有鍵を用いてChain−bindingを行う暗号化処理を行うため、信頼できるプラットフォームを構築することができる。   According to the above configuration, since the encryption process is performed step by step for each layer and the chain-binding is performed using the unique key of the previous layer, a reliable platform can be constructed.

また、本発明の情報処理装置は、最上位層の実行領域が、当該最上位層の実行領域の暗号化前に、当該最上位層の実行領域の固有鍵を用いて所定のデータを暗号化する。   The information processing apparatus according to the present invention encrypts predetermined data using the unique key of the execution layer of the highest layer before the execution region of the highest layer is encrypted. To do.

上記構成によれば、所定のデータを含めてChain−bindingを行う起動時処理を行うため、さらに信頼できるプラットフォームを構築することができる。また、復号化ができない限りコピーされたデータがコピー先端末で利用できず、コピー先端末ではデータが復号困難となる。   According to the above configuration, since a startup process for performing chain-binding including predetermined data is performed, a more reliable platform can be constructed. Further, unless the data can be decrypted, the copied data cannot be used at the copy destination terminal, and it becomes difficult to decrypt the data at the copy destination terminal.

また、本発明の情報処理装置は、前記演算処理部が、所定のデータを備える第1の演算処理部と、第2の演算処理部とを有し、前記第2の演算処理部が、前記第1の演算処理部へ前記所定のデータの送信要求を実行し、前記第1の演算処理部と当該第2の演算処理部とを接続する通信路を構成するプログラムを含む実行領域に関する検証処理が成功した場合、前記第1の演算処理部から送信された前記所定のデータを記憶する。   In the information processing apparatus of the present invention, the arithmetic processing unit includes a first arithmetic processing unit and a second arithmetic processing unit that include predetermined data, and the second arithmetic processing unit includes the first arithmetic processing unit and the second arithmetic processing unit. A verification process related to an execution region including a program that configures a communication path that executes a transmission request for the predetermined data to the first arithmetic processing unit and connects the first arithmetic processing unit and the second arithmetic processing unit. Is successful, the predetermined data transmitted from the first arithmetic processing unit is stored.

上記構成によれば、例えば情報処理装置の利用時又は定期的に、IMEIの送受信を行う2つの演算処理部において、IMEIの送受信に関連するプログラムの検証処理を行い、検証処理に成功した場合にのみIMEIをコピーし記憶することが可能となるため、IMEIの完全性を確実に確保することが可能である。   According to the above configuration, for example, when the information processing apparatus is used or periodically, the two arithmetic processing units that perform IMEI transmission / reception perform the verification processing of the program related to IMEI transmission / reception, and the verification processing is successful. Since only IMEI can be copied and stored, it is possible to ensure the completeness of IMEI.

また、本発明の情報処理装置は、前記検証処理の結果を示すセキュアフラグを有し、前記演算処理部が、前記セキュアフラグに基づいて、前記検証処理に失敗したか否かを判定する。   The information processing apparatus according to the present invention further includes a secure flag indicating the result of the verification process, and the arithmetic processing unit determines whether the verification process has failed based on the secure flag.

また、本発明の情報処理装置は、前記演算処理部が、前記セキュアフラグに基づく検証処理の結果に応じて、異なる制御を行う。   In the information processing apparatus of the present invention, the arithmetic processing unit performs different control according to the result of the verification process based on the secure flag.

上記構成によれば、セキュアフラグを用いることで、検証処理の結果を容易に判断することができ、検証処理後の挙動についても決定することが可能である。   According to the above configuration, by using the secure flag, the result of the verification process can be easily determined, and the behavior after the verification process can also be determined.

また、本発明の携帯電話装置は、アンテナと、操作入力を受け付ける入力部と、前記アンテナを介して無線通信を行うための無線部と、上記いずれかの情報処理装置とを有する。   In addition, a mobile phone device of the present invention includes an antenna, an input unit that receives an operation input, a wireless unit for performing wireless communication via the antenna, and any one of the information processing devices described above.

上記構成によれば、複数のCPUを備える場合であっても、十分な利便性および安全性を考慮したドメイン分割の実行等が可能である。   According to the above configuration, even when a plurality of CPUs are provided, it is possible to execute domain division in consideration of sufficient convenience and safety.

以上説明したように、本発明にかかる情報処理装置および携帯電話装置によれば、複数の演算処理部、複数モードにまたがってドメイン分割できる。また、本発明の完全性検証では、ソフトウェアおよびデータの完全性検証まで行うことが可能である。したがって、プログラムのみに依存したセキュアブートではなく、保護したいデータにも依存させるセキュアブートが実行可能である。   As described above, according to the information processing apparatus and the mobile phone apparatus according to the present invention, domain division can be performed across a plurality of arithmetic processing units and a plurality of modes. In the integrity verification of the present invention, it is possible to perform software and data integrity verification. Therefore, secure boot that depends not only on the program but also on the data to be protected can be executed.

本発明の実施形態における情報処理装置および携帯電話装置について、図面を参照しながら以下に説明する。   An information processing device and a mobile phone device according to an embodiment of the present invention will be described below with reference to the drawings.

本実施形態にかかる情報処理装置としては、PC、携帯情報端末(PDA)、携帯電話端末などが考えられるが、ここでは一例として携帯電話端末について考察する。   As the information processing apparatus according to the present embodiment, a PC, a personal digital assistant (PDA), a mobile phone terminal, and the like can be considered. Here, a mobile phone terminal will be considered as an example.

図1は、本実施形態にかかる携帯電話端末のハードウェア構成の一例を示す図である。   FIG. 1 is a diagram illustrating an example of a hardware configuration of the mobile phone terminal according to the present embodiment.

本実施形態の携帯電話端末は、無線部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とを有して構成される。また、図示はしないが、操作入力を受け付ける入力部を当然備えてもよい。   The mobile phone terminal according to the present embodiment includes a wireless unit 11, a C-MPU (Micro Processing Unit) 12, a volatile memory 13 such as an SDRAM, an MB (MPU Bridge) 14, and a non-volatile memory. The memory 15 includes an A-MPU 16, an internal ROM (CRTM) 17, and an MRTM (Mobile Remote Trusted Module) 18. In addition, although not shown in the drawings, an input unit that receives an operation input may naturally be provided.

無線部11は、図示しないアンテナを介して外部サーバ等の外部通信装置と通信を行う。   The wireless unit 11 communicates with an external communication device such as an external server via an antenna (not shown).

A−MPU16は、アプリケーション用のMPUであり、C−MPU12は、通信用のMPUである。MPUは演算処理部の一例であるが、演算処理部として他に、CPU、DSP(Digital Signal Processor)、複数コアのCPUなどが考えられる。   The A-MPU 16 is an application MPU, and the C-MPU 12 is a communication MPU. The MPU is an example of an arithmetic processing unit, but a CPU, a DSP (Digital Signal Processor), a multi-core CPU, or the like can be considered as the arithmetic processing unit.

揮発メモリ13は、いわゆるメインメモリであり、実行プログラムや各種データを記憶する。   The volatile memory 13 is a so-called main memory, and stores an execution program and various data.

MB14は、A−MPU16およびC−MPU12間のデータ伝送路であり、C−MPU12とA−MPU16との間の通信を制御する。MB14は、ハードウェア的要素とソフトウェア的要素とをあわせ持つ。   The MB 14 is a data transmission path between the A-MPU 16 and the C-MPU 12 and controls communication between the C-MPU 12 and the A-MPU 16. MB14 has both hardware and software elements.

不揮発メモリ15は、携帯電話端末10の生産工程で記載されたIMEIや、暗号化コンポーネントを記憶する。   The nonvolatile memory 15 stores the IMEI described in the production process of the mobile phone terminal 10 and the encryption component.

内部ROM17は、各種プログラムを記憶する。   The internal ROM 17 stores various programs.

MRTM18は、高い耐タンパ性を有するモジュールであり、PCR(Platform Configuration Register)、Secure Flag、携帯端末を識別するためのIMEI(International Mobile Equipment Identity)、MRTM18の固有鍵であるKey、ハッシュ期待値であるRIM_Certなどの特に重要度の高い領域やデータを記憶する。   MRTM18 is a module having high tamper resistance, PCR (Platform Configuration Register), Secure Flag, IMEI (International Mobile Equipment Identity) for identifying mobile terminals, Key that is an expected value that is a unique key of MRTM18. A particularly important area or data such as a certain RIM_Cert is stored.

なお、RIM_Certについては、ディジタル署名などが施されている場合には、不揮発メモリ15に保存することも可能である。   Note that RIM_Cert can be stored in the nonvolatile memory 15 when a digital signature or the like is applied.

また、後述する各階層が有する固有鍵は、平文のまま各階層のプログラムに埋め込む場合と、暗号化してプログラムに埋め込む場合があり得る。後者の場合、各階層の固有鍵はMRTM18の固有鍵または関連する鍵で暗号化する。暗号化された各階層の固有鍵はMRTMの内部で復号化され、MRTMのRAMにキャッシュされる。この場合、Keyにはキャッシュされた各階層の固有鍵も含む。   In addition, a unique key possessed by each layer, which will be described later, may be embedded in the program of each layer as plain text, or may be encrypted and embedded in the program. In the latter case, the unique key of each layer is encrypted with the unique key of MRTM 18 or an associated key. The encrypted unique key of each layer is decrypted inside the MRTM and cached in the MRTM RAM. In this case, the Key includes the cached unique key of each hierarchy.

ここで、Secure Flag(セキュアフラグ)とは、MTMが内部に保持する保護メモリ領域上に形成されたフラグである。後述する各レイヤにおける完全性検証の結果を保持する。また、セキュアフラグに基づいて、演算処理部は所定の検証処理に失敗したか否かを判定する。また、セキュアフラグに基づく検証処理の結果に応じて、演算処理部は異なる制御を行う。また、セキュアフラグは、更新可能である。本実施形態では、Secure Flagを単にFlagとも称する。   Here, the Secure Flag (secure flag) is a flag formed on the protected memory area held in the MTM. The result of integrity verification in each layer described later is held. Further, based on the secure flag, the arithmetic processing unit determines whether or not a predetermined verification process has failed. Further, the arithmetic processing unit performs different control depending on the result of the verification process based on the secure flag. The secure flag can be updated. In the present embodiment, Secure Flag is also simply referred to as Flag.

携帯電話端末10は、後述するDC(Domain Coordinator)により、所定のセキュリティポリシに基づいてアクセス制御されるプログラムまたはデータを含む実行領域を示すドメインを生成するために、C−MPU12およびA−MPU16の領域を分割する。これをドメイン分割と称する。携帯電話端末10は、C−MPU12およびA−MPU16などの複数のMPU等の演算処理部、保護リソースを有しないノーマルモードおよび保護リソースを有するセキュアモードを含む複数の動作モードに基づいて、ドメインを生成する。   The mobile phone terminal 10 uses a DC (Domain Coordinator) described later to generate a domain indicating an execution area including a program or data that is controlled based on a predetermined security policy. The mobile phone terminal 10 includes a C-MPU 12 and an A-MPU 16. Divide the area. This is called domain division. The mobile phone terminal 10 is configured to assign a domain based on a plurality of operation modes including an arithmetic processing unit such as a plurality of MPUs such as the C-MPU 12 and the A-MPU 16, a normal mode having no protection resource, and a secure mode having a protection resource. Generate.

なお、複数の演算処理部および複数の動作モードの他に、更に、動作モードの頬リソースに基づいてドメインを生成してもよい。また、更に、実行領域を含む仮想環境に基づいて、ドメインを生成してもよい。また、更に、仮想環境および実環境を含む複数の環境に基づいて、ドメインを生成してもよい。   In addition to the plurality of arithmetic processing units and the plurality of operation modes, a domain may be generated based on cheek resources in the operation mode. Furthermore, a domain may be generated based on a virtual environment including an execution area. Furthermore, a domain may be generated based on a plurality of environments including a virtual environment and a real environment.

ここで、ドメインの生成とは、任意に定めた1つまたは複数のエリア(A−MPU16、C−MPU12、ノーマルモード、セキュアモード、仮想環境)を、DCが、情報やリソースを共有する1つの領域として制御することでドメインを実現することを意味している。   Here, domain generation refers to one or a plurality of arbitrarily defined areas (A-MPU16, C-MPU12, normal mode, secure mode, virtual environment), one DC sharing information and resources. It means to realize a domain by controlling as a region.

また、上記の保護リソースとは、例えばメモリや暗号エンジンである。また、実行領域とは、各種プログラムやアプリケーションやソフトウェアを実行するための領域や部位を示し、プログラムやデータを含むものである。   The protected resources are, for example, a memory and a cryptographic engine. The execution area indicates an area or a part for executing various programs, applications, or software, and includes programs and data.

図2は、主にC−MPU12およびA−MPU16の分割されたドメインの一例を示す図である。   FIG. 2 is a diagram mainly illustrating an example of divided domains of the C-MPU 12 and the A-MPU 16.

図2に示すように、C−MPU12は、OD(Operator Domain)を有する。A−MPU16は、ノーマルモードおよびセキュアモードにおいて利用される実行領域を有する。また、A−MPU16は、OD(Operator Domain)およびUD(User Domain)を有する。   As shown in FIG. 2, the C-MPU 12 has an OD (Operator Domain). The A-MPU 16 has an execution area used in the normal mode and the secure mode. The A-MPU 16 has an OD (Operator Domain) and a UD (User Domain).

ODは、携帯電話端末10のオペレータ向けのプラットフォーム構築とアプリケーション実行が可能な環境(領域)であり、他ドメインから直接アクセスできない。   The OD is an environment (area) in which a platform for an operator of the mobile phone terminal 10 can be constructed and an application can be executed, and cannot be directly accessed from another domain.

UDは、携帯電話端末10の所有者又は所有者へサービスを提供するサードパーティが利用するデータやアプリケーションの実行が可能な環境(実行領域)であり、他UDから許可された場合のみ他UDリソースへのアクセスや他UDとの通信が可能である。   The UD is an environment (execution area) in which data or an application used by the owner of the mobile phone terminal 10 or a third party providing a service to the owner can be executed, and the other UD resource only when permitted from another UD. Can be accessed and communicated with other UDs.

C−MPU12およびA−MPU16は、ノーマルモード、セキュアモードのモード切替によって、OD、UDを排他的に形成する。ただし、C−MPU12およびA−MPU16は、両モードを排他的に形成せずに両モードを同時に処理可能なMPUであってもよい。   The C-MPU 12 and the A-MPU 16 exclusively form OD and UD by switching between the normal mode and the secure mode. However, the C-MPU 12 and the A-MPU 16 may be MPUs that can process both modes simultaneously without forming both modes exclusively.

A−MPU16のODは、TCB(Trusted Component Base)、TCB以外のノーマルモードのOD、およびTCB以外のセキュアモードのODを有する。また、C−MPU12のODは、TCB以外のノーマルモードのODを有する。   The OD of the A-MPU 16 has a TCB (Trusted Component Base), a normal mode OD other than the TCB, and a secure mode OD other than the TCB. Further, the OD of the C-MPU 12 has a normal mode OD other than TCB.

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に含まれるものとして扱うことが可能である。   The TCB included in the OD of the A-MPU 16 includes HW (Hardware) Platform 21, IPL (Initial Program Loader) 22, DC (Domain Coordinator) 23, MS (Mode Selector) 24, VMM (Virtual Machine MP25). Bridge) 14, and MRTM (Mobile Remote Trusted Module) 18. Since the TCB is a conceptual division, components that are not included in the MPU, such as the MRTM 18 and the MB 14, can be handled as included in the TCB.

HW Platform21は、A−MPU16自体が備える暗号処理機能、HW固有鍵、モード切り替え機能の総称である。また、HW Platform21は、内部ROM17(CRTM)17、HW固有鍵、MC(Mode Contoller)を有している。   The HW Platform 21 is a generic name for an encryption processing function, an HW unique key, and a mode switching function included in the A-MPU 16 itself. The HW Platform 21 has an internal ROM 17 (CRTM) 17, a HW unique key, and MC (Mode Controller).

ここで、MCは、MSと同様にモード切り替え機能を有する。また、MCは、MB14と同様に、ハードウェア的要素とソフトウェア的要素をあわせ持つ。   Here, MC has a mode switching function like MS. In addition, the MC has both hardware and software elements as in the MB14.

IPL22は、外部ROM(図示せず)において最初に実行されるプログラムであり、各種のハードウェア設定やKernelの起動を司る。   The IPL 22 is a program that is first executed in an external ROM (not shown), and controls various hardware settings and activation of Kernel.

DC23は、ドメイン毎に定義されるセキュリティポリシに従いVMM25とMS24とMBを統合的に制御し、携帯電話端末1内の異なる複数エリアにまたがるドメインを形成する。なお、DC23は、ドメイン制御部としての機能を有する。   The DC 23 controls the VMM 25, the MS 24, and the MB in an integrated manner according to the security policy defined for each domain, and forms a domain that extends over different areas in the mobile phone terminal 1. The DC 23 has a function as a domain control unit.

MS24は、ノーマルモードおよびセキュアモードのモード切り替え機構であり、モード間の排他制御を行う。   The MS 24 is a mode switching mechanism between a normal mode and a secure mode, and performs exclusive control between modes.

VMM25は、ハードウェアの仮想化層であり、仮想環境間の排他制御を行う。   The VMM 25 is a hardware virtualization layer and performs exclusive control between virtual environments.

A−MPU16およびC−MPU12において、TCB以外のセキュアモードのODおよびUDは、OS(セキュアモード用OS、A−OS、もしくはC−OS)およびアプリ(セキュアモード用アプリ、A−app、もしくはC−App)を有する。   In the A-MPU 16 and the C-MPU 12, the OD and UD in the secure mode other than the TCB are the OS (secure mode OS, A-OS, or C-OS) and the application (secure mode application, A-app, or C -App).

さらに、A−MPU16およびC−MPU12において、各種データを格納する領域として、MTM(Mobile Trusted Module)の一例でありODに含まれるVirtualizing MRTM(A−vMRTMもしくはC−vMRTM)や、UDに含まれるVirtualizing MLTM(A−vLTM)を有する。   Further, in the A-MPU 16 and the C-MPU 12, the area for storing various data is an example of MTM (Mobile Trusted Module) and is included in the Virtualizing MRTM (A-vMRTM or C-vMRTM) included in the OD and the UD. It has Virtualizing MLTM (A-vLTM).

vMRTMは、A−MPU16のノーマルモードで実現されるUDで利用するMLTMであり、その機能はMRTM18を用いることで実現される。   The vMRTM is an MLTM used in the UD realized in the normal mode of the A-MPU 16, and the function is realized by using the MRTM 18.

vMLTMは、C−MPU12またはA−MPU16のノーマルモードで実現されるODからMRTM18にアクセスするための仮想ドライバである。   vMLTM is a virtual driver for accessing the MRTM 18 from the OD realized in the normal mode of the C-MPU 12 or the A-MPU 16.

なお、ドメイン生成の際には、同一のセキュリティポリシに基づいてアクセス制御される実行領域は、同一のドメインとして生成される。例えば図2では、A−MPU16のノーマルモードのODとA−MPU16のセキュアモードのODとC−MPU12のOD、A−MPU16のノーマルモードのUD1とセキュアモード)のUD1、A−MPU16のノーマルモードのUD2とセキュアモードのUD2が、それぞれ同一のドメインとして生成される。   At the time of domain generation, execution areas whose access is controlled based on the same security policy are generated as the same domain. For example, in FIG. 2, the A-MPU 16 normal mode OD, the A-MPU 16 secure mode OD and the C-MPU 12 OD, the A-MPU 16 normal mode UD 1 and the secure mode UD 1, and the A-MPU 16 normal mode. UD2 and secure mode UD2 are generated as the same domain.

次に、携帯電話端末10の電源ONから各実行領域による実行が可能な状態となるまでの一連の処理の流れ(Bootstrap Sequenceや起動時処理とも称する)の一例について説明する。   Next, an example of a flow of a series of processing (also referred to as bootstrap sequence or startup processing) from when the mobile phone terminal 10 is turned on until it can be executed by each execution area will be described.

Bootstrap Sequenceをさらに詳細な処理に分けると、TCBを確立するSecure Boot0、複数MPUをまたいだODを確立するSecure Boot1および1’、UDを確立するSecure Boot2の3レイヤに分けられる。   If Bootstrap Sequence is further divided into detailed processing, it is divided into three layers: Secure Boot 0 that establishes a TCB, Secure Boot 1 and 1 'that establishes an OD across multiple MPUs, and Secure Boot 2 that establishes a UD.

Bootstrap Sequenceでは、携帯電話プラットフォーム(ここでは、主にA−MPU16およびC−MPU12である)を1つのODと複数UDにドメイン分割する。ODのドメイン分割をOD確立、UDのドメイン分割をUD確立とも称する。   In Bootstrap Sequence, a mobile phone platform (here, mainly A-MPU 16 and C-MPU 12) is divided into one OD and a plurality of UDs. Domain division of OD is also called OD establishment, and domain division of UD is also called UD establishment.

OD確立では、内部ROM(CRTM)17とIPL22とDC23を起動するSecure Boot0と、A−MPU16のODのノーマルモードのOS/アプリ/データ(IMEIなど)までを起動するSecure Boot1と、C−MPU16のODのノーマルモードのOS/アプリ/データまでを起動するSecureBoot1’と、の3つのレイヤに分けて処理が行われる。   In the OD establishment, the Secure Boot 0 for starting up the internal ROM (CRTM) 17, the IPL 22 and the DC 23, the Secure Boot 1 for starting up the OS / application / data (such as IMEI) in the normal mode of the OD of the A-MPU 16, and the C-MPU 16 The process is divided into three layers: SecureBoot 1 ′ for starting up the OS / application / data in the normal mode of the OD.

UD確立では、A−MPU UDのノーマルモードのOS/アプリ/データまでを起動するSecure Boot2の1つのレイヤで処理が行われる。OD確立後にUD確立を実行する。   In UD establishment, processing is performed in one layer of Secure Boot 2 that starts up the OS / application / data in the normal mode of A-MPU UD. UD establishment is performed after OD establishment.

そして、後述するが、OD確立およびUD確立では、予め定めたレイヤ毎の重要度に応じ、完全性検証に失敗した場合の挙動を定める。   As will be described later, in the OD establishment and the UD establishment, a behavior when integrity verification fails is determined according to a predetermined importance for each layer.

Bootstrap Sequenceでは、内部ROM17、IPL22、DC23などの各コンポーネントやデータ(IMEI等)に対して、ソフトウェア同様の完全性検証、検証失敗時処理の実行、およびSecure Flagを用いた処理結果に依存した検証/復号処理を実行する。   With Bootstrap Sequence, integrity verification similar to software, execution of verification failure processing, and verification depending on processing results using Secure Flag for each component and data (such as IMEI) such as internal ROM 17, IPL 22, and DC23 / Decode processing is executed.

また、Bootstrap Sequence時に起動を実行するコンポーネントは、起動対象コンポーネントを自身の固有鍵で復号後に完全性を検証(計測)する。完全性検証に成功した場合、つまり完全性が保持されていると判定された場合には、起動対象コンポーネントの起動を実施する。一方、完全性検証に失敗した場合には、起動対象コンポーネントの起動を禁止する。なお、起動を実行するコンポーネントは、暗号化された起動対象コンポーネントをハッシュの対象とすれば、完全性検証を行なった後に復号化することも可能である。   In addition, the component that executes activation at the time of Bootstrap Sequence verifies (measures) the integrity after decrypting the activation target component with its own unique key. When the integrity verification is successful, that is, when it is determined that the integrity is maintained, the activation target component is activated. On the other hand, if the integrity verification fails, the activation of the activation target component is prohibited. It should be noted that the component that executes the activation can be decrypted after performing the integrity verification if the encrypted activation target component is a hash target.

携帯電話端末10では、特に、移動機固有番号であるIMEIとIMEIを扱うソフトウェアの完全性を保護することが求められている。携帯電話網では、IMEIを用いて網にアクセスする端末をアクセス制御することで盗難端末の無効化等を実現するため、IMEIの完全性が必要不可欠である。さらに、PCにも携帯電話の通信機能が備えられるようになり、今後はPCでも同様にIMEI保護が求められる可能性もあるため、ソフトウェア同様にIMEI等のデータについても改ざん検証を行う本実施形態におけるBootstrap Sequenceは、大変有用である。   The mobile phone terminal 10 is particularly required to protect the integrity of software that handles IMEI and IMEI, which are mobile unit unique numbers. In the mobile phone network, the IMEI integrity is indispensable in order to realize the invalidation of a stolen terminal by controlling access to a terminal that accesses the network using the IMEI. Further, since the PC is also provided with a mobile phone communication function, and there is a possibility that the PC will similarly require IMEI protection in the future, this embodiment in which falsification verification is performed on data such as IMEI as well as software. Bootstrap Sequence in is very useful.

ここで、上記のコンポーネントを暗号化する方法の一例について説明する。   Here, an example of a method for encrypting the above components will be described.

携帯電話端末10は、製造時に、アプリ固有鍵でデータを暗号化、アプリをOS固有鍵で暗号化する様に、起動を実行するコンポーネントの固有鍵で起動対象コンポーネントの暗号化を繰返し、暗号化コンポーネントを不揮発メモリ15に保存している。ルートの鍵はHW固有鍵とする。このような暗号化方法をChain−bindingとも称する。   At the time of manufacture, the mobile phone terminal 10 repeatedly encrypts the activation target component with the unique key of the component that executes the activation, like encrypting the data with the unique key of the application and encrypting the application with the unique key of the OS. The component is stored in the nonvolatile memory 15. The root key is an HW unique key. Such an encryption method is also called Chain-binding.

このように、A−MPU16やC−MPU12が、個別に起動可能な複数のコンポーネント(プログラムを含む実行領域の一例)を階層的に有し、所定階層のコンポーネントが、所定階層のコンポーネントの固有鍵を用いて所定階層よりも一段階上位層のコンポーネントを暗号化する暗号化処理を実行する。また、上記暗号化処理は、最上位層よりも一段階下位層を所定階層としてから最下位層を所定階層とするまで一段階ずつ順に実行されることも可能である。これにより暗号化されたコンポーネントが不揮発メモリ15に保存されている。   As described above, the A-MPU 16 and the C-MPU 12 hierarchically have a plurality of components (an example of an execution area including a program) that can be activated individually, and the components in the predetermined hierarchy are the unique keys of the components in the predetermined hierarchy. Is used to perform encryption processing for encrypting a component in a layer one level higher than a predetermined layer. Further, the above encryption process can be executed step by step from the lowest layer to the predetermined layer until the lowest layer is set to the predetermined layer. Thus, the encrypted component is stored in the nonvolatile memory 15.

また、上記コンポーネントが、所定階層の実行領域の固有鍵を用いて所定階層よりも一段階下位層の実行領域が暗号化される暗号化処理が、最上位層を所定階層としてから最下位層を所定階層とするまで一段階ずつ順に実行された後、A−MPU16やC−MPU12に記憶されるようにしてもよい。   In addition, the above-described component performs an encryption process in which the execution region of the lower layer one level lower than the predetermined layer is encrypted using the unique key of the execution region of the predetermined layer. It may be stored in the A-MPU 16 or the C-MPU 12 after being executed step by step until it reaches a predetermined hierarchy.

また、最上位層の実行領域が、最上位層の実行領域の暗号化前に、IMEI等を含むデータを用いて暗号化されるようにすることも可能である。   It is also possible to encrypt the execution area of the highest layer using data including IMEI or the like before encryption of the execution area of the highest layer.

図3〜図6は、携帯電話端末10が実施するBootstrap Sequenceの一例を示すフローチャートである。ここでは、特に、完全性検証について示している。携帯電話端末10は、Secure Boot0の実施後に、Secure Boot1/1’/2を実施する。   3 to 6 are flowcharts illustrating an example of Bootstrap Sequence performed by the mobile phone terminal 10. Here, in particular, integrity verification is shown. The mobile phone terminal 10 executes Secure Boot 1/1 ′ ′ / 2 after executing Secure Boot0.

まず、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との比較が行われる。   First, in the secure boot 0, the internal ROM 17 calculates its own hash value, sets the PCR, and sets the secure flag 0 to ON. Subsequently, if Flag0 = ON, the internal ROM 17 calculates the hash value by decrypting the IPL 22 with the HW unique key and the MRTM unique key, and compares RIM_Cert that is the hash expected value with the calculated hash value. Verify completeness. When the verification is successful, the internal ROM 17 sets the hash value of the IPL 22 to the MRTM 18 in the PCR, sets the Secure Flag 1 to ON, and then activates the IPL 22. On the other hand, when the verification fails, the internal ROM 16 stops activation (step S1). In the subsequent integrity verification, the calculated hash value is compared with RIM_Cert.

Flag1=ONなら、IPL22は、DC23をMRTM固有鍵で復号して完全性を検証する。検証成功時には、IPL22は、MRTM18へDC23のハッシュ値をPCRに設定、Secure Flag2をONに設定後、DC23を起動する。一方、検証失敗時には、IPL22は、起動を停止する(ステップS2)。   If Flag1 = ON, the IPL 22 decrypts the DC 23 with the MRTM unique key and verifies the integrity. When the verification is successful, the IPL 22 sets the hash value of the DC 23 in the PCR to the MRTM 18, sets the Secure Flag 2 to ON, and then activates the DC 23. On the other hand, when verification fails, the IPL 22 stops activation (step S2).

なお、ここでは、DC23がVMM25、MS24、MB14を包含しており、DC23の改ざん検証時には、VMM25、MS24、MB14の順に段階的に改ざん検証が行なわれる。これは、DC23のバイナリファイル内にVMM25、MS244、MB14が含まれており、DC23を検証すると一緒に検証されるためである。なお、DC23がVMM25、MS24、MB14を包含せずに、DC23の改ざん検証に成功した場合に、VMM25、MS24、MB14の順に検証および起動を行なうようにしてもよい。   Here, the DC 23 includes the VMM 25, the MS 24, and the MB 14, and when the falsification verification of the DC 23, the falsification verification is performed step by step in the order of the VMM 25, the MS 24, and the MB 14. This is because the VMM 25, MS 244, and MB 14 are included in the binary file of the DC 23, and are verified together with the verification of the DC 23. Note that when the DC23 does not include the VMM25, MS24, and MB14 and the falsification verification of the DC23 is successful, the verification and activation may be performed in the order of the VMM25, MS24, and MB14.

なお、Secure Boot0の実装方法として、 完全性検証及び検証後の対象ソフトウェアの起動まで含めた全てをセキュアモードで処理する方法と、 完全性検証のみをセキュアモードで処理する方法が考えられる。いずれを採用するかは各プラットフォームのMS24の実装に応じて決定すべきである。   As a method for implementing Secure Boot0, there are a method for processing everything including integrity verification and starting the target software after verification in secure mode, and a method for processing only integrity verification in secure mode. Which should be adopted should be determined according to the implementation of the MS 24 of each platform.

DC23の完全性検証後、携帯電話端末10はSecure Boot1を実施する。   After verifying the integrity of the DC 23, the mobile phone terminal 10 executes the secure boot 1.

Secure Boot1において、まず、Flag2=ONなら、DC23は、A−OS0をDC固有鍵で復号して完全性を検証する。検証成功時には、DC23は、MRTM18へA−OS0のハッシュ値をPCRに設定し、Secure Flag3をONに設定後、A−OS0を起動する。一方、検証失敗時には、DC23が、携帯電話端末10をリカバリーモードへ遷移させる(ステップS3)。   In Secure Boot1, first, if Flag2 = ON, DC23 decrypts A-OS0 with the DC unique key and verifies the integrity. When the verification is successful, the DC 23 sets the hash value of the A-OS 0 to the MRTM 18 in the PCR, sets the Secure Flag 3 to ON, and then starts the A-OS 0. On the other hand, when verification fails, the DC 23 shifts the mobile phone terminal 10 to the recovery mode (step S3).

続いて、Flag3=ONなら、A−OS0は、A−App0をA−vMRTM0固有鍵で復号して完全性を検証する。検証成功時には、A−OS0は、A−vMRTM0へA−App0のハッシュ値をPCRに設定し、Secure Flag4をONに設定後、A−App0を起動する。一方、検証失敗時には、A−OS0が、携帯電話端末10をリカバリーモードへ遷移させる(ステップS4)。   Subsequently, if Flag3 = ON, A-OS0 decrypts A-App0 with the A-vMRTM0 unique key and verifies the integrity. When the verification is successful, A-OS0 sets the hash value of A-App0 to A-vMRTM0 in PCR, sets Secure Flag4 to ON, and then starts A-App0. On the other hand, when verification fails, the A-OS 0 shifts the mobile phone terminal 10 to the recovery mode (step S4).

続いて、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)。   Subsequently, if Flag4 = ON, A-App0 verifies the integrity by decrypting A-Data0 (such as IMEI) with the C-App0 unique key. When the verification is successful, A-App0 sets the hash value of A-Data0 to A-vMRTM0 in PCR, sets Secure Flag5 to ON, and then caches A-Data0 in A-vMRTM0. On the other hand, when verification fails, A-App0 shifts the mobile phone terminal 10 to the recovery mode (step S5).

DC23の完全性検証後、携帯電話端末10はSecure Boot1’も実施する。Secure Boot1’の実施はSecure Boot1の実施と並行することが可能である。   After verifying the integrity of the DC 23, the mobile phone terminal 10 also implements Secure Boot 1 '. The implementation of Secure Boot 1 'can be parallel to the implementation of Secure Boot 1.

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’)。   In Secure Boot 1 ′, first, if Flag 2 = ON, the DC 23 verifies the integrity by decrypting C-OS 0 with the DC unique key. When the verification is successful, the DC 23 sets the hash value of the C-OS 0 to the MRTM 18 and sets the Secure Flag 3 ′ to ON, and then transfers the C-OS 0 / C-App 0 / C-Data 0 to the C-MPU 12. On the other hand, when verification fails, the C-OS 0 shifts the mobile phone terminal 10 to the recovery mode (step S3 ').

続いて、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’)。   Subsequently, if Flag3 ′ = ON, MB14 starts C-OS0 and uses C-vMRTM0 and A-vMRTM0 to establish a SAC (Secure Authentication channel) between C-OS0 and A-OS0. . The SAC is a communication path that realizes mutual authentication and communication path encryption like SSL (Secure Socket Layer). After the SAC is successfully established, C-OS0 verifies the integrity by decrypting C-App0 with the C-vMRTM0 unique key. When the verification is successful, C-OS0 sets the hash value of C-App0 to C-vMRTM0 in PCR, sets Secure Flag 4 'to ON, and then activates C-App0. On the other hand, when verification fails, the C-OS 0 shifts the mobile phone terminal 10 to the recovery mode (step S4 ').

続いて、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をリカバリーモードへ遷移させる。   Subsequently, if Flag4 ′ = ON, C-App0 verifies the integrity by decrypting C-Data0 with the C-App0 unique key. When the verification is successful, C-App0 sets the hash value of A-Data0 in PCR to C-vMRTM0, sets Secure Flag5 to ON, and then caches A-Data0 in A-vMRTM0. On the other hand, when verification fails, C-App0 shifts the mobile phone terminal 10 to the recovery mode.

ここでは、C−MPU12側で完全性検証を行うSecure Boot1’の実施方法を示したが、A−MPU16側のDC23により、C−OS0のみではなく、C−App0/C−Data0も復号/完全性検証してからC−MPU12へ転送することも可能である。   Here, the implementation method of Secure Boot 1 ′ for performing integrity verification on the C-MPU 12 side is shown. However, not only C-OS 0 but also C-App 0 / C-Data 0 is decoded / completed by the DC 23 on the A-MPU 16 side. It is also possible to transfer to the C-MPU 12 after verifying the validity.

DC23の完全性検証後、携帯電話端末10はSecure Boot2を実施する。Secure Boot2の実施はSecure Boot1および1’の実施と並行することが可能である。   After verifying the integrity of the DC 23, the mobile phone terminal 10 performs Secure Boot 2. The implementation of Secure Boot 2 can be parallel to the implementation of Secure Boot 1 and 1 '.

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)。   In Secure Boot2, first, if Flag2 = ON, Flag5 = ON, and Flag5 '= ON, DC23 verifies the integrity by decrypting A-OS1 with the DC unique key. When the verification is successful, the DC 23 sets the hash value of the A-OS 1 in the MRTM 18 to PCR, sets the Secure Flag 6 to ON, and then activates the A-OS 1. On the other hand, when verification fails, the DC 23 shifts the mobile phone terminal 10 to the report mode (step S6).

続いて、Flag6=ONなら、A−OS1はA−App1をA−vMRTM1固有鍵で復号して完全性を検証する。検証成功時には、A−OS1は、A−vMLTM1へA−App1のハッシュ値をPCRに設定し、Secure Flag7をONに設定後、A−App1を起動する。一方、検証失敗時には、A−OS1が携帯電話端末10をリポートモードへ遷移させる(ステップS7)。   Subsequently, if Flag6 = ON, A-OS1 decrypts A-App1 with the A-vMRTM1 unique key and verifies the integrity. When the verification is successful, A-OS1 sets the hash value of A-App1 to A-vMLTM1 in PCR, sets Secure Flag7 to ON, and then starts A-App1. On the other hand, when verification fails, the A-OS 1 shifts the mobile phone terminal 10 to the report mode (step S7).

続いて、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)。   Subsequently, if Flag7 = ON, A-App1 verifies the integrity by decrypting A-Data1 with the A-App1 unique key. When the verification is successful, A-App1 sets the hash value of A-Data1 in A-vMLTM1 to PCR, sets Secure Flag8 to ON, and then caches A-Data1 in A-vMLTM1. When verification fails, A-App1 makes a transition to the report mode (step S8).

なお、図2のようにUDが複数存在する場合、A−MPU16のUD2以降の確立方法はUD1と同じである。   When there are a plurality of UDs as shown in FIG. 2, the A-MPU 16 establishes the same method after UD2 as with UD1.

また、セキュアモードにおけるOD/UDの確立は、セキュアモード遷移時に実行される。確立の内容は、直接MRTM18にアクセスすることを除いて、ノーマルモードの場合と同様である。なお、図3では、ノーマルモードを想定している。   Further, the establishment of OD / UD in the secure mode is executed at the time of transition to the secure mode. The contents of the establishment are the same as those in the normal mode except that the MRTM 18 is directly accessed. In FIG. 3, the normal mode is assumed.

セキュアモードで実行される保護ソフトウェアは、暗号化された状態で不揮発メモリ15に保存されており、実行直前にHW Platform21により復号及び完全性の検証が行われ、成功時のみ実行が許可される。   The protection software executed in the secure mode is stored in the nonvolatile memory 15 in an encrypted state, and decryption and integrity verification are performed by the HW Platform 21 immediately before execution, and execution is permitted only when successful.

このように、携帯電話端末10は、A−MPU16やC−MPU12が、個別に起動可能な複数のコンポーネント(プログラムを含む実行領域の一例)を階層的に有し、所定階層のコンポーネントが、所定階層のコンポーネントの固有鍵を用いて所定階層よりも一段階上位層のコンポーネントを復号化し、一段階上位層のコンポーネントについて所定の検証処理を実行し、検証処理に成功した場合、上記一段階上位層のコンポーネントを起動する起動時処理を実行する。また、上記起動時処理が、最下位層を上記所定階層としてから最上位層よりも一段階下位層を上記所定階層とするまで一段階ずつ順に実行されることが可能である。   As described above, the cellular phone terminal 10 has a plurality of components (an example of an execution area including a program) that can be individually activated by the A-MPU 16 and the C-MPU 12, and components in a predetermined hierarchy are predetermined. When the component of one layer higher than the predetermined layer is decrypted using the unique key of the component of the layer, the predetermined verification process is executed for the component of the upper layer, and if the verification process is successful, the above one layer upper layer Execute the startup process that starts the component. Further, the start-up process can be executed step by step in order from the lowest layer to the predetermined layer to the one layer lower layer than the highest layer to the predetermined layer.

さらに、最上位層の実行領域が、最上位層の実行領域の起動後に、最上位層の実行領域の固有鍵を用いてIMEI等のデータを復号化し、所定の検証処理を実行し、上記検証処理に成功した場合、IMEI等のデータを操作可能とする。   Further, after the top layer execution region is activated, the top layer execution region decrypts data such as IMEI using the unique key of the top layer execution region, executes a predetermined verification process, and performs the above verification. When the processing is successful, data such as IMEI can be operated.

次に、Bootstrap Sequenceにおける検証失敗時の挙動の一例について説明する。   Next, an example of behavior at the time of verification failure in Bootstrap Sequence will be described.

本実施形態では、検証失敗時に次の5つのパターンを想定している。携帯電話端末10は、Bootstrap Sequenceにおけるレイヤの重要度に応じて、検証失敗時の挙動を変更することが可能である。つまり、つまり所定階層の重要度に基づく復旧処理を実行することが可能である。   In the present embodiment, the following five patterns are assumed when verification fails. The cellular phone terminal 10 can change the behavior at the time of verification failure according to the importance of the layer in Bootstrap Sequence. That is, it is possible to execute a recovery process based on the importance of a predetermined hierarchy.

(1)無視して起動を続ける。
(2)起動を停止する。
(3)検証に失敗したコンポーネントをリポジトリサーバ(外部サーバの一例)からダウンロードした正しいコンポーネントに差し替える(リカバリーモードとも称する)。
(4)110番通報等の非常時通報機能のみ利用できる(エマージェンシーモードとも称する)。
(5)失敗をユーザに通知する(リポートモードとも称する)。この通知は、図示しない報知部によって行われる。
(1) Ignore and continue to start.
(2) Stop activation.
(3) Replace the failed component with the correct component downloaded from the repository server (an example of an external server) (also referred to as recovery mode).
(4) Only emergency notification functions such as the 110th notification can be used (also called emergency mode).
(5) Notify the user of failure (also referred to as report mode). This notification is performed by an informing unit (not shown).

リカバリーモードで処理が失敗した場合は、エマージェンシーモードへ遷移させる。ただし、IMEI及びIMEI関連ソフトウェア等の通信に必要となるコンポーネントの完全性が保証されている場合のみ遷移させる。UDでの失敗時はユーザ(携帯電話端末10の所有者又はサービス提供者)に失敗内容を通知するリポートモードに遷移させ、ユーザにそれ以降の処理を判断させる。   If processing fails in recovery mode, transition to emergency mode. However, the transition is performed only when the integrity of components required for communication such as IMEI and IMEI related software is guaranteed. When a failure occurs in the UD, the mode is changed to a report mode in which the user (the owner of the mobile phone terminal 10 or the service provider) is notified of the failure, and the user is allowed to determine subsequent processing.

また、Bootstrap Sequenceにおけるレイヤの重要度に応じて検証失敗時の挙動を変更する以外に、レイヤの重要度に応じて完全性検証のレベル自体を変更することも可能である。例えば、起動を高速化するため、重要度が低いほどコンポーネントの検証範囲を狭くする、あるいは検証される確率を低くする。最低限、ある期間内には全コンポーネントの全範囲が検証されるよう実装する必要はあるが、重要度の低いレイヤの検証処理の一部を省略することで高速化することも可能である。   In addition to changing the behavior at the time of verification failure according to the importance level of the layer in Bootstrap Sequence, it is also possible to change the integrity verification level itself according to the importance level of the layer. For example, in order to speed up the start-up, the lower the importance, the narrower the component verification range or the lower the probability of verification. At least, it is necessary to implement so that the entire range of all components is verified within a certain period. However, it is possible to increase the speed by omitting a part of the verification process of the layer with low importance.

さらに、復旧処理に失敗した場合には、復旧処理に失敗した所定階層(コンポーネント)よりも当該所定階層の重要度よりも高い重要度に基づく復旧処理を行うようにしてもよい。   Furthermore, when the recovery process fails, the recovery process based on the importance higher than the predetermined hierarchy (component) failed in the recovery process may be performed.

図3では、検証失敗時には、Secure Boot1および1’においてはリカバリーモード、Secure Boot2においてはリポートモードへ遷移することを説明しているが、各レイヤの重要度等に応じて、リカバリーモード、エマージェンシーモード、リポートモード、起動停止のいずれかに遷移すればよい。ただし、Secure Boot0においては、非常に重要度が高いため、検証失敗時には起動停止を行うようにする。また、リポートモードでは、例えば、ユーザインタフェース(UI)でユーザに向けてメッセージの表示等を行ったり、サービス提供サーバなどの外部サーバに対してメッセージを送信したりすることが可能である。   FIG. 3 illustrates that when the verification fails, the transition is made to the recovery mode in the secure boots 1 and 1 ′ and the report mode in the secure boot 2, but the recovery mode and the emergency mode are changed depending on the importance level of each layer. , Report mode, or start / stop. However, since Secure Boot 0 has a very high level of importance, the activation is stopped when verification fails. In the report mode, for example, it is possible to display a message or the like to the user through a user interface (UI), or to send a message to an external server such as a service providing server.

次に、DC23によるアクセス制御の一例について説明する。   Next, an example of access control by the DC 23 will be described.

図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の複数エリアから構成される。ただし、ドメインの構成は上記構成に限られない。   As shown in FIG. 2, the domain in the mobile phone terminal 1 includes the TCB of the A-MPU 16, the virtual environment 0/1/2 of the normal mode 0 of the A-MPU 16, the secure mode 0/1/2 of the A-MPU 16, It is composed of one or a plurality of areas in the normal mode 0 of the C-MPU 12. For example, the OD includes a plurality of areas of TCB of A-MPU 16, virtual environment 0 of normal mode 0 of A-MPU 16, secure mode 0 of A-MPU 16, and normal mode 0 of C-MPU 12. However, the domain configuration is not limited to the above configuration.

ここで、DC23の役割の1つは、これらのODに所属する複数エリア内において情報とリソースをフレキシブルに共有し、他ドメインへの情報流出とリソースを制御することにある。DC23は、複数MPUを制御するMB、複数の動作モードを制御するMS24、複数仮想環境を制御するVMM25を監視し、ODに対応するベースポリシとUDに対応するドメインポリシに従い、情報およびリソースアクセスを制御する。なお、ベースポリシおよびドメインポリシは、セキュリティポリシの一例である。   Here, one of the roles of the DC 23 is to flexibly share information and resources in a plurality of areas belonging to these ODs, and to control information outflow and resources to other domains. The DC 23 monitors the MB that controls a plurality of MPUs, the MS 24 that controls a plurality of operation modes, and the VMM 25 that controls a plurality of virtual environments, and performs information and resource access according to a base policy corresponding to OD and a domain policy corresponding to UD. Control. The base policy and the domain policy are examples of security policies.

ここで、エリアとは、A−MPU16のノーマルモードのODやUD1やUD2、A−MPU16のセキュアモードのODやUD1やUD2、C−MPU12のODなどの実行領域を示すものである。   Here, the area indicates an execution area such as the OD of the normal mode of the A-MPU 16, the UD 1 or UD 2 of the A-MPU 16, the OD of the secure mode of the A-MPU 16, the UD of the UD 1, UD 2, or the C-MPU 12.

携帯電話端末10は、一例として、以下のようにDC23によるドメイン間情報流通の制御を行う。   As an example, the mobile phone terminal 10 controls inter-domain information distribution by the DC 23 as follows.

・あらかじめ、例えばDC23によって、エリアから他のエリアへ情報は必ずDC23を経由するように指定する。
・DC23は、送信元エリアの属するドメインと送信先エリアの属するドメインが一致する場合のみ通信を許可する(ベースポリシ)。
・DC23は、送信元エリアの属するドメインに予め設定されたドメインポリシが許可する場合は送信先エリアの属するドメインが異なる場合も通信を許可する。
・DC23は、Secure Flagを確認し、FlagがOFFの部分があるエリアからの通信およびOFFの部分があるエリアへの通信については禁止する。つまり、所定の検証処理に失敗したエリアとの間の通信を禁止する。
In advance, for example, DC23 specifies that information from an area to another area always passes through DC23.
The DC 23 permits communication only when the domain to which the transmission source area belongs and the domain to which the transmission destination area belongs (base policy).
The DC 23 permits communication even when the domain to which the transmission destination area belongs is different when the domain policy set in advance in the domain to which the transmission source area belongs.
The DC 23 confirms the secure flag, and prohibits communication from an area where the flag is OFF and communication to an area where the flag is OFF. That is, communication with an area where the predetermined verification process has failed is prohibited.

また、携帯電話端末10は、一例として、以下のようにDC23によるドメイン間リソース共有の制御を行う。図7にドメイン間リソース共有の一例を示す図である。   Further, as an example, the mobile phone terminal 10 controls inter-domain resource sharing by the DC 23 as follows. FIG. 7 is a diagram illustrating an example of inter-domain resource sharing.

・あらかじめ、あるエリアから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参照を許可する。
・ In order to access the MRTM 18 from a certain area in advance, be sure to specify that the route is via the DC 23.
MTM18 manages Secure Flag 0/1/2/3/6, A-vMRTM0 manages Secure Flag 4/5, C-vMRTM0 manages Secure Flag 4 '/ 5', A-vMLTM1 manages Secure Flag 7/8, and DC23 belongs Only allow access from the domain (base policy).
-It is permitted to access the MRTM 18 directly from the area in the secure mode via the DC 23. FIG. 7 shows an example of access from the OS.
-No access other than via the virtual MTM (vMRTM or vMLTM) is permitted from the area in the normal mode. In the case of via the virtual MTM, the DC 23 controls the PCR / Secure Flag of the MRTM 18 to Read Only (read only), and does not permit reference to any PCR / Secure Flag other than the MRTM 18 (base policy).
When the domain policy set in advance for the domain to which the access destination area belongs is permitted, the DC 23 permits PCR / Secure Flag reference even when the domain to which the access source area belongs is different.

次に、Bootstrap Sequence後における完全性検証の一例について説明する。   Next, an example of integrity verification after Bootstrap Sequence will be described.

C−MPU12においてIMEIを利用する場合、SAC経由でIMEIをロードしてC−vMRTM0へキャッシュする。ただし、利用時又は定期的にIMEIおよびIMEIに関連するソフトウェアの完全性検証が必要と考えられる。この完全性検証は、IMEIをA−vMRTM0からリロードする際の流通経路となるソフトウェアをデータドリブンで検証することで、最小限の範囲を利用直前に検証するものである。なお、IMEIをリロードする毎に完全性検証が発生する為、実装時はC−vMRTM0のキャッシュの有効期間を定め、許容される負荷の範囲でリロードするべきである。   When the IMEI is used in the C-MPU 12, the IMEI is loaded via the SAC and cached in the C-vMRTM0. However, it is considered necessary to verify the integrity of IMEI and software related to IMEI at the time of use or periodically. In this integrity verification, the minimum range is verified immediately before use by verifying software that is a distribution path when reloading IMEI from A-vMRTM0 in a data-driven manner. Since integrity verification occurs every time IMEI is reloaded, the valid period of the C-vMRTM0 cache should be determined at the time of mounting and reloaded within the allowable load range.

具体的には、IMEI等のデータにVerification Tagを設け、データ送信元コンポーネントはデータ送信先コンポーネントの完全性を実施し、検証成功時のみ送信することで実現できる。検証成功か否は、Verification Tag=ONか否かを判断する。また、リロード時も各コンポーネントにおける完全性検証結果をMTMのSecure Flagに設定することで、事前の検証が失敗している場合には、各コンポーネントからIMEIをC−MPU12へ出力させない。なお、Verification TagはIMEI等のデータとともにMTMに保存可能である。   Specifically, this can be realized by providing a verification tag for data such as IMEI, and the data transmission source component performs the integrity of the data transmission destination component and transmits only when the verification is successful. Whether or not the verification is successful determines whether Verification Tag = ON. Also, even when reloading, by setting the integrity verification result in each component to the Secure Flag of MTM, if prior verification fails, IMEI is not output from each component to the C-MPU 12. The Verification Tag can be stored in the MTM together with data such as IMEI.

図8は、Bootstrap Sequence後における完全性検証の一例を示すフローチャートである。   FIG. 8 is a flowchart illustrating an example of integrity verification after Bootstrap Sequence.

まず、C−MPU12は、C−vMRTM0にキャッシュしているIMEIの有効期間が過ぎた場合などに、C−App0がA−App0へIMEIを要求する(ステップS11)。   First, the C-MPU 12 requests the IMEI from the A-App0 when the validity period of the IMEI cached in the C-vMRTM0 has passed (step S11).

続いて、A−MPU16は、A−App0がA−vMRTM0からIMEIを読み出す(ステップS12)。なお、IMEIはA−vMRTM0又はA−vMRTM経由でMRTM18にキャッシュされているとする。   Subsequently, in A-MPU 16, A-App0 reads IMEI from A-vMRTM0 (step S12). Note that IMEI is cached in MRTM 18 via A-vMRTM0 or A-vMRTM.

続いて、A−MPU16は、Verification TagをONに設定してIMEIメッセージをC−App0宛に送る(ステップS13)。   Subsequently, the A-MPU 16 sets the Verification Tag to ON and sends an IMEI message to C-App0 (step S13).

続いて、A−MPU16またはC−MPU12は、IMEIメッセージを受信した通信経路上のプログラム(PG)(A−OS0、DC23、またはC−OS0に含まれる)が、Verification_Tag=ONか否か判定する。   Subsequently, the A-MPU 16 or the C-MPU 12 determines whether or not the program (PG) (included in the A-OS 0, DC 23, or C-OS 0) on the communication path that has received the IMEI message is Verification_Tag = ON. .

Verification_Tag=ONの場合、A−MPU16およびC−MPU12は、IMEIを送ってきた送り元プログラムに対応するSecure FlagがONであるか否かを判定する(ステップS15)。   When Verification_Tag = ON, the A-MPU 16 and the C-MPU 12 determine whether or not the Secure Flag corresponding to the transmission source program that has sent the IMEI is ON (step S15).

Secure FlagがONである場合、A−MPU16およびC−MPU12は、送り先プログラムの改ざん検証を実行し(ステップS16)、送り先プログラム(例えばC−OS0)の改ざんがないか判定する(ステップS17)。   When the Secure Flag is ON, the A-MPU 16 and the C-MPU 12 execute falsification verification of the destination program (step S16) and determine whether the destination program (for example, C-OS0) has been tampered with (step S17).

送り先プログラムの改ざんがないと判定された場合、A−MPU26およびC−MPU22は、送り先プログラムに対応するSecure FlagをONし、IMEIメッセージを送り先プログラムに送信する(ステップS18)。   If it is determined that the destination program has not been tampered with, the A-MPU 26 and the C-MPU 22 turn on the Secure Flag corresponding to the destination program, and send an IMEI message to the destination program (step S18).

なお、ステップS14〜S18は、通信経路上のプログラム数だけ繰り返される。   Steps S14 to S18 are repeated for the number of programs on the communication path.

続いて、A−MPU16およびC−MPU12は、例えばステップS13に示すように、C−App0へIMEIメッセージを送信したか否かを判定する。IMEIメッセージを送信していない場合、ステップS13の直前に戻る。   Subsequently, the A-MPU 16 and the C-MPU 12 determine whether or not an IMEI message has been transmitted to C-App0, for example, as shown in step S13. If the IMEI message has not been transmitted, the process returns immediately before step S13.

IMEIメッセージを送信されると、C−MPU12は、C−App0がIMEIメッセージを受信する(ステップS20)。   When the IMEI message is transmitted, the C-MPU 12 receives the IMEI message from C-App0 (step S20).

続いて、C−MPU12は、送り元プログラムのSecure FlagがONであるか否かを判定する(ステップS21)。   Subsequently, the C-MPU 12 determines whether or not the secure flag of the transmission source program is ON (step S21).

送り元プログラムのSecure FlagがONである場合、C−MPU12は、IMEIをC−vMRTM0にキャッシュする(ステップS22)。   When the secure flag of the transmission source program is ON, the C-MPU 12 caches IMEI in C-vMRTM0 (step S22).

このように、Bootstrap Sequence後における完全性検証では、携帯電話端末10は、例えば、IMEIの利用時や有効期限が過ぎた場合に、C−MPU12がIMEI等のデータの送信要求をA−MPU16へ行い、C−MPU12は、A−MPU16とC−MPU12とを接続する通信路を構成するプログラムを含む実行領域に関する検証処理が成功した場合、A−MPU16から送信されたデータを記憶する。   As described above, in the integrity verification after Bootstrap Sequence, the mobile phone terminal 10 allows the C-MPU 12 to send a transmission request for data such as IMEI to the A-MPU 16 when the IMEI is used or the expiration date has passed. The C-MPU 12 stores the data transmitted from the A-MPU 16 when the verification process related to the execution area including the program constituting the communication path connecting the A-MPU 16 and the C-MPU 12 is successful.

携帯電話端末10によれば、以下の効果が得られる。   According to the mobile phone terminal 10, the following effects can be obtained.

・複数MPU等の演算処理部、複数モードに基づいてドメイン分割することができるため、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実施することが可能である。 -Domain division can be performed based on arithmetic processing units such as multiple MPUs and multiple modes, so even if multiple arithmetic processing units are provided, domain division is performed in consideration of sufficient convenience and safety. It is possible.

・従来のTrusted BootおよびSecure Bootではソフトウェアの完全性計測または完全性検証のみであったが、本実施形態におけるBootstrap Sequenceでは、ソフトウェアおよびデータ(IMEI等)の完全性検証まで行うことが可能である。したがって、プログラムのみに依存したセキュアブートではなく、保護したいデータにも依存させるセキュアブート(本実施形態におけるBootstrap Sequence)が実行可能である。 In the conventional Trusted Boot and Secure Boot, only software integrity measurement or integrity verification was performed, but in Bootstrap Sequence in this embodiment, it is possible to perform software and data (IMEI etc.) integrity verification. . Therefore, secure boot (Bootstrap Sequence in this embodiment) that depends not only on the program but also on the data to be protected can be executed.

・携帯電話端末10は、復号/改ざん検証時に一段階前の処理結果をSecure Flagにより確認すること、検証成功時にSecure Flag=ONを設定すること、データまで起動プロセスで復号及び完全性検証することにより、所望のドメイン分割および完全性検証が実現できる。 -The mobile phone terminal 10 confirms the processing result of the previous step at the time of decryption / falsification verification by the secure flag, sets the secure flag = ON when the verification is successful, and decrypts and verifies the integrity of the data in the startup process As a result, desired domain division and integrity verification can be realized.

・コピーされたIMEIがコピー先端末で利用できないようにするために、Chain−bindingによりIMEIをHW Platform21/MRTM18の固有鍵をルートとしてチェーンで暗号化することで、コピー先端末ではIMEI及び関連ソフトウェアの全てが復号困難となる。 In order to prevent the copied IMEI from being used in the copy destination terminal, the IMEI and related software are encrypted in the copy destination terminal by encrypting the IMEI in a chain with the unique key of the HW Platform 21 / MRTM 18 as a root by Chain-binding. Are all difficult to decode.

・生産工程で不揮発メモリ15に記載されたIMEIと無線通信路に出力されたIMEIの一致は、IMEIがOD確立後に完全性が保証された状態でMRTMにキャッシュされることで実現される。これは、前述したChain−UnbindingによるIMEI自体の完全性検証のみではなく、IMEIを利用するコンポーネントの完全性がBootstrap Sequenceで保証され、かつIMEIの復号/検証処理がSecure Flagに依存して制御されていることからも保証される。さらに、IMEI利用時にIMEIドリブンで必要最小限のIMEI関連ソフトウェアの検証を実行することで、IMEIの保護を実現しつつ、効率的な通信側の処理を実現することができる。 The coincidence between the IMEI described in the nonvolatile memory 15 in the production process and the IMEI output to the wireless communication path is realized by caching the IMEI in the MRTM in a state where the integrity is guaranteed after the OD is established. This is not only the integrity verification of IMEI itself by Chain-Unbinding described above, but also the integrity of components using IMEI is guaranteed by Bootstrap Sequence, and the decoding / verification processing of IMEI is controlled depending on the Secure Flag. It is guaranteed from that. Furthermore, by performing IMEI-driven and minimum necessary IMEI-related software verification when IMEI is used, it is possible to realize efficient processing on the communication side while realizing IMEI protection.

本発明は、複数の演算処理部を備える場合であっても、十分な利便性および安全性を考慮したドメイン分割を実行可能な情報処理装置および携帯電話装置等として有用である。   The present invention is useful as an information processing apparatus, a mobile phone apparatus, and the like that can execute domain division in consideration of sufficient convenience and safety even when a plurality of arithmetic processing units are provided.

本発明の実施形態にかかる携帯電話端末のハードウェア構成の一例を示す図The figure which shows an example of the hardware constitutions of the mobile telephone terminal concerning embodiment of this invention 本発明の実施形態にかかる携帯電話端末における主にC−MPU12およびA−MPU16の分割されたドメインの一例を示す図The figure which shows an example of the domain where C-MPU12 and A-MPU16 were mainly divided in the mobile telephone terminal concerning embodiment of this invention. 本発明の実施形態にかかるBootstrap SequenceのSecure Boot0の一例を示すフローチャートThe flowchart which shows an example of SecureBoot0 of Bootstrap Sequence concerning embodiment of this invention 本発明の実施形態にかかるBootstrap SequenceのSecure Boot1の一例を示すフローチャートThe flowchart which shows an example of SecureBoot1 of Bootstrap Sequence concerning embodiment of this invention 本発明の実施形態にかかるBootstrap SequenceのSecure Boot1’の一例を示すフローチャートThe flowchart which shows an example of SecureBoot1 'of Bootstrap Sequence concerning embodiment of this invention 本発明の実施形態にかかるBootstrap SequenceのSecure Boot2の一例を示すフローチャートThe flowchart which shows an example of Secure Boot2 of Bootstrap Sequence concerning embodiment of this invention 本発明の実施形態にかかるドメイン間リソース共有の一例を示す図The figure which shows an example of the resource sharing between domains concerning embodiment of this invention 本発明の実施形態にかかるBootstrap Sequence後における完全性検証の一例を示すフローチャートThe flowchart which shows an example of the integrity verification after Bootstrap Sequence concerning embodiment of this invention

符号の説明Explanation of symbols

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
10 mobile phone terminal 11 wireless unit 12 C-MPU
13 Volatile memory 14 MB (MPU Bridge)
15 Nonvolatile memory 16 A-MPU
17 Internal ROM
18 MRTM
21 HW Platform
22 IPL
23 DC
24 MS
25 VMM

Claims (24)

保護リソースを有しないノーマルモードおよび保護リソースを有するセキュアモードを含む複数の動作モードを有する情報処理装置であって、
複数の演算処理部と、
所定のセキュリティポリシに基づいてアクセス制御されるプログラムまたはデータを含む実行領域を示すドメインを生成するドメイン制御部と、
を有し、
前記ドメイン制御部は、前記複数の演算処理部および前記複数の動作モードに基づいて前記ドメインを生成する
情報処理装置。
An information processing apparatus having a plurality of operation modes including a normal mode having no protection resource and a secure mode having a protection resource,
A plurality of arithmetic processing units;
A domain control unit for generating a domain indicating an execution region including a program or data whose access is controlled based on a predetermined security policy;
Have
The domain control unit generates the domain based on the plurality of arithmetic processing units and the plurality of operation modes.
請求項1に記載の情報処理装置であって、
前記ドメイン制御部は、更に、前記動作モードの前記保護リソースに基づいてドメインを生成する
情報処理装置。
The information processing apparatus according to claim 1,
The domain control unit further generates a domain based on the protected resource in the operation mode.
請求項1に記載の情報処理装置であって、
前記ドメイン制御部は、更に、所定の実行領域を含む仮想環境に基づいて、ドメインを生成する。
The information processing apparatus according to claim 1,
The domain control unit further generates a domain based on a virtual environment including a predetermined execution region.
請求項1に記載の情報処理装置であって、
前記ドメイン制御部は、同一のセキュリティポリシに基づいてアクセス制御される実行領域を同一のドメインとする
情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus according to claim 1, wherein the domain control unit uses the same domain as an execution area whose access is controlled based on the same security policy.
請求項4に記載の情報処理装置であって、
前記演算処理部は、複数の実行領域を示すエリアを有し、
前記ドメイン制御部は、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが同一のドメインである場合に、通信を許可する
情報処理装置。
The information processing apparatus according to claim 4,
The arithmetic processing unit has an area indicating a plurality of execution regions,
The domain control unit, when performing communication from a transmission source area to a transmission destination area, permits communication when the transmission source area and the transmission destination area are in the same domain.
請求項4に記載の情報処理装置であって、
前記演算処理部は、複数の実行領域を示すエリアを有し、
前記ドメイン制御部は、送信元エリアから送信先エリアへ通信を行う際、前記送信元エリアと前記送信先エリアとが異なるドメインである場合、かつ、前記セキュリティポリシに前記送信元エリアと送信先エリアとの間の通信を許可するための情報が含まれる場合に、通信を許可する
情報処理装置。
The information processing apparatus according to claim 4,
The arithmetic processing unit has an area indicating a plurality of execution regions,
The domain control unit, when performing communication from a transmission source area to a transmission destination area, when the transmission source area and the transmission destination area are different domains, and in the security policy, the transmission source area and the transmission destination area An information processing device that permits communication when information for permitting communication with the device is included.
請求項4に記載の情報処理装置であって、
前記演算処理部は、複数の実行領域を示すエリアを有し、
前記ドメイン制御部は、所定の検証処理に失敗したエリアとの間の通信を禁止する
情報処理装置。
The information processing apparatus according to claim 4,
The arithmetic processing unit has an area indicating a plurality of execution regions,
The domain control unit prohibits communication with an area where predetermined verification processing has failed.
請求項1に記載の情報処理装置であって、
前記演算処理部は、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、
所定階層の実行領域は、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階上位層の実行領域を復号化し、前記一段階上位層の実行領域について所定の検証処理を実行し、前記検証処理に成功した場合、前記一段階上位層の実行領域が有するプログラムを起動する起動時処理を実行する
情報処理装置。
The information processing apparatus according to claim 1,
The arithmetic processing unit hierarchically includes an execution area including individually startable programs or data,
The execution area of the predetermined hierarchy uses the unique key of the execution area of the predetermined hierarchy to decrypt the execution area of the upper layer one level higher than the predetermined hierarchy, and executes the predetermined verification process for the execution area of the upper hierarchy And when the said verification process is successful, the information processing apparatus which performs the process at the time of starting the program which the execution area of the said one step upper layer starts.
請求項8に記載の情報処理装置であって、
前記起動時処理は、最下位層を前記所定階層として最上位層よりも一段階下位層を前記所定階層とするまで一段階ずつ順に実行される
情報処理装置。
The information processing apparatus according to claim 8,
The startup process is sequentially executed step by step until the lowest layer is the predetermined layer and the lower layer is one step lower than the highest layer.
請求項8または9に記載の情報処理装置であって、
最上位層の実行領域は、当該最上位層の実行領域の起動後に、当該最上位層の実行領域の固有鍵を用いて所定のデータを復号化し、前記所定のデータについて所定の検証処理を実行し、前記検証処理に成功した場合、前記所定のデータを操作可能とする
情報処理装置。
An information processing apparatus according to claim 8 or 9, wherein
The uppermost layer execution region, after the execution of the uppermost layer execution region, decrypts predetermined data using the unique key of the uppermost layer execution region and executes predetermined verification processing on the predetermined data An information processing apparatus that enables manipulation of the predetermined data when the verification process is successful.
請求項10に記載の情報処理装置であって、
前記所定のデータは、当該情報処理装置を識別するための識別データを含むデータである
情報処理装置。
The information processing apparatus according to claim 10,
The predetermined data is data including identification data for identifying the information processing apparatus.
請求項8ないし11のいずれか1項に記載の情報処理装置であって、
所定階層の実行領域は、前記検証処理に失敗した場合、当該所定階層の重要度に基づく復旧処理を実行する
情報処理装置。
The information processing apparatus according to any one of claims 8 to 11,
An execution area of a predetermined hierarchy executes a recovery process based on the importance of the predetermined hierarchy when the verification process fails.
請求項12に記載の情報処理装置であって、
所定階層の実行領域は、前記復旧処理に失敗した場合、当該所定階層の重要度よりも高い重要度に基づく復旧処理を実行する
情報処理装置。
An information processing apparatus according to claim 12,
An execution area of a predetermined hierarchy executes a restoration process based on an importance level higher than the importance level of the predetermined hierarchy when the restoration process fails.
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、当該情報処理装置の起動停止処理である
情報処理装置。
An information processing apparatus according to claim 12 or 13,
The restoration process is a start / stop process of the information processing apparatus.
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、前記所定階層の実行領域を外部サーバから取得した他の実行領域に差し替える処理である
情報処理装置。
An information processing apparatus according to claim 12 or 13,
The restoration process is a process of replacing the execution area of the predetermined hierarchy with another execution area acquired from an external server.
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、非常通報機能のみ利用可能とする処理である
情報処理装置。
An information processing apparatus according to claim 12 or 13,
The restoration process is a process that allows only an emergency call function to be used.
請求項12または13に記載の情報処理装置であって、
前記復旧処理は、前記検証処理に失敗した旨を報知部に報知させる処理である
情報処理装置。
An information processing apparatus according to claim 12 or 13,
The restoration process is a process for informing a notification unit that the verification process has failed.
請求項1に記載の情報処理装置であって、
前記演算処理部は、個別に起動可能なプログラムまたはデータを含む実行領域を階層的に有し、
所定階層の実行領域は、当該所定階層の実行領域の固有鍵を用いて当該所定階層よりも一段階上位層の実行領域を暗号化する暗号化処理を実行する
情報処理装置。
The information processing apparatus according to claim 1,
The arithmetic processing unit hierarchically includes an execution area including individually startable programs or data,
An execution area of a predetermined hierarchy executes an encryption process for encrypting an execution area one layer higher than the predetermined hierarchy using a unique key of the execution area of the predetermined hierarchy.
請求項18に記載の情報処理装置であって、
前記暗号化処理は、最上位層よりも一段階下位層を前記所定階層としてから最下位層を前記所定階層とするまで一段階ずつ順に実行される
情報処理装置。
The information processing apparatus according to claim 18,
The encryption process is executed step by step from the highest layer to the predetermined layer until the lowest layer is set to the predetermined layer.
請求項18または19に記載の情報処理装置であって、
最上位層の実行領域は、当該最上位層の実行領域の暗号化前に、当該最上位層の実行領域の固有鍵を用いて所定のデータを暗号化する
情報処理装置。
The information processing apparatus according to claim 18 or 19,
The uppermost layer execution area is an information processing apparatus that encrypts predetermined data using a unique key of the uppermost layer execution area before encrypting the uppermost layer execution area.
請求項1に記載の情報処理装置であって、
前記演算処理部は、所定のデータを備える第1の演算処理部と、第2の演算処理部とを有し、
前記第2の演算処理部は、前記第1の演算処理部へ前記所定のデータの送信要求を実行し、前記第1の演算処理部と当該第2の演算処理部とを接続する通信路を構成するプログラムを含む実行領域に関する検証処理が成功した場合、前記第1の演算処理部から送信された前記所定のデータを記憶する
情報処理装置。
The information processing apparatus according to claim 1,
The arithmetic processing unit includes a first arithmetic processing unit including predetermined data, and a second arithmetic processing unit,
The second arithmetic processing unit executes a transmission request for the predetermined data to the first arithmetic processing unit, and connects a communication path connecting the first arithmetic processing unit and the second arithmetic processing unit. An information processing apparatus that stores the predetermined data transmitted from the first arithmetic processing unit when a verification process related to an execution region including a program to be configured is successful.
請求項7、8、9、10、21のいずれか1項に記載の情報処理装置であって、更に、
前記検証処理の結果を示すセキュアフラグを有し、
前記演算処理部は、前記セキュアフラグに基づいて、前記検証処理に失敗したか否かを判定する
情報処理装置。
The information processing apparatus according to any one of claims 7, 8, 9, 10, and 21, further comprising:
Having a secure flag indicating the result of the verification process;
The arithmetic processing unit determines whether or not the verification process has failed based on the secure flag.
請求項22に記載の情報処理装置であって、
前記演算処理部は、前記セキュアフラグに基づく検証処理の結果に応じて、異なる制御を行う
情報処理装置。
An information processing apparatus according to claim 22,
The arithmetic processing unit performs different control according to a result of a verification process based on the secure flag.
アンテナと、
操作入力を受け付ける入力部と、
前記アンテナを介して無線通信を行うための無線部と、
請求項1ないし23のいずれか1項に記載の情報処理装置と
を有する携帯電話装置。
An antenna,
An input unit for receiving operation inputs;
A wireless unit for performing wireless communication via the antenna;
A cellular phone device comprising: the information processing device according to any one of claims 1 to 23.
JP2008009469A 2008-01-18 2008-01-18 Information processor and portable telephone device Withdrawn JP2009169841A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008009469A JP2009169841A (en) 2008-01-18 2008-01-18 Information processor and portable telephone device
PCT/JP2008/003656 WO2009090706A1 (en) 2008-01-18 2008-12-08 Information processing device and mobile telephone device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008009469A JP2009169841A (en) 2008-01-18 2008-01-18 Information processor and portable telephone device

Publications (1)

Publication Number Publication Date
JP2009169841A true JP2009169841A (en) 2009-07-30

Family

ID=40885117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008009469A Withdrawn JP2009169841A (en) 2008-01-18 2008-01-18 Information processor and portable telephone device

Country Status (2)

Country Link
JP (1) JP2009169841A (en)
WO (1) WO2009090706A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014518428A (en) * 2011-07-07 2014-07-28 インテル・コーポレーション Protection and notification against BIOS flash attacks
JP2014525612A (en) * 2011-08-10 2014-09-29 クアルコム,インコーポレイテッド Method and apparatus for providing a secure virtual environment on a mobile device
CN105493044A (en) * 2013-09-12 2016-04-13 波音公司 Mobile communication device and method of operating thereof
JP2019532402A (en) * 2016-08-31 2019-11-07 マイクロソフト テクノロジー ライセンシング,エルエルシー Maintaining secure and confidential information across secure boot updates

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4796158B2 (en) * 2009-02-02 2011-10-19 株式会社エヌ・ティ・ティ・ドコモ Mobile device
FR2998689B1 (en) * 2012-11-27 2014-12-26 Oberthur Technologies ELECTRONIC ASSEMBLY COMPRISING A DEACTIVATION MODULE
JP6639615B1 (en) * 2018-11-02 2020-02-05 三菱電機株式会社 Control device
JP6800276B2 (en) * 2019-05-14 2020-12-16 三菱電機株式会社 Control device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101006433B (en) * 2004-08-25 2012-01-11 日本电气株式会社 Information communication device, and program execution environment control method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014518428A (en) * 2011-07-07 2014-07-28 インテル・コーポレーション Protection and notification against BIOS flash attacks
US9015455B2 (en) 2011-07-07 2015-04-21 Intel Corporation Processsor integral technologies for BIOS flash attack protection and notification
JP2014525612A (en) * 2011-08-10 2014-09-29 クアルコム,インコーポレイテッド Method and apparatus for providing a secure virtual environment on a mobile device
CN105493044A (en) * 2013-09-12 2016-04-13 波音公司 Mobile communication device and method of operating thereof
KR20160055208A (en) * 2013-09-12 2016-05-17 더 보잉 컴파니 Mobile communication device and method of operating thereof
JP2016536713A (en) * 2013-09-12 2016-11-24 ザ・ボーイング・カンパニーThe Boeing Company Mobile communication apparatus and operation method thereof
TWI648649B (en) * 2013-09-12 2019-01-21 波音公司 Mobile communication device and method of operating same
CN105493044B (en) * 2013-09-12 2019-10-11 波音公司 Mobile communications device and its operating method
KR102276873B1 (en) * 2013-09-12 2021-07-13 더 보잉 컴파니 Mobile communication device and method of operating thereof
JP2019532402A (en) * 2016-08-31 2019-11-07 マイクロソフト テクノロジー ライセンシング,エルエルシー Maintaining secure and confidential information across secure boot updates
JP6994022B2 (en) 2016-08-31 2022-01-14 マイクロソフト テクノロジー ライセンシング,エルエルシー Maintaining Protected Sensitive Information Through Secure Boot Updates

Also Published As

Publication number Publication date
WO2009090706A1 (en) 2009-07-23

Similar Documents

Publication Publication Date Title
EP2278514B1 (en) System and method for providing secure virtual machines
JP6067449B2 (en) Information processing apparatus and information processing program
CN107077574B (en) Trust service for client devices
US8171295B2 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
CN109669734B (en) Method and apparatus for starting a device
TWI598814B (en) System and method for managing and diagnosing a computing device equipped with unified extensible firmware interface (uefi)-compliant firmware
US8230412B2 (en) Compatible trust in a computing device
JP4689945B2 (en) Resource access method
JP4912879B2 (en) Security protection method for access to protected resources of processor
US8291480B2 (en) Trusting an unverified code image in a computing device
WO2009090706A1 (en) Information processing device and mobile telephone device
US10212156B2 (en) Utilizing a trusted platform module (TPM) of a host device
US7457960B2 (en) Programmable processor supporting secure mode
WO2015184891A1 (en) Security management and control method, apparatus, and system for android system
US8407481B2 (en) Secure apparatus and method for protecting integrity of software system and system thereof
JP2007512787A (en) Trusted mobile platform architecture
KR20200020627A (en) SECURE BOOT METHOD OF IoT DEVICE USING AN INTEGRATED SECURITY SoC
WO2012106097A2 (en) Method and apparatus for managing security state transitions
KR20200020626A (en) SECURE FIRMWARE UPDATE METHOD OF IoT DEVICE USING AN INTEGRATED SECURITY SoC
CN112528242A (en) System and method for configuring watermarking units using watermarking algorithms for data processing accelerators
JP6741236B2 (en) Information processing equipment
JP2020150310A (en) Information processing unit, decryption method of encryption data and electronic apparatus
US11526598B2 (en) Microcontroller and semiconductor device
CN117453343A (en) Virtual machine measurement and secret calculation authentication method, device, system and storage medium
JP2024501395A (en) Safe starting method of vehicle, safe starting device, electronic control unit and storage medium

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110405