JP6017287B2 - 制御方法および情報処理装置 - Google Patents

制御方法および情報処理装置 Download PDF

Info

Publication number
JP6017287B2
JP6017287B2 JP2012267675A JP2012267675A JP6017287B2 JP 6017287 B2 JP6017287 B2 JP 6017287B2 JP 2012267675 A JP2012267675 A JP 2012267675A JP 2012267675 A JP2012267675 A JP 2012267675A JP 6017287 B2 JP6017287 B2 JP 6017287B2
Authority
JP
Japan
Prior art keywords
program
protected
memory
encryption
processing apparatus
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.)
Expired - Fee Related
Application number
JP2012267675A
Other languages
English (en)
Other versions
JP2014115740A (ja
Inventor
圭造 上野
圭造 上野
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.)
Fujitsu Ltd
Fujitsu Peripherals Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Peripherals Ltd
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 Fujitsu Ltd, Fujitsu Peripherals Ltd filed Critical Fujitsu Ltd
Priority to JP2012267675A priority Critical patent/JP6017287B2/ja
Priority to US14/066,439 priority patent/US9218484B2/en
Publication of JP2014115740A publication Critical patent/JP2014115740A/ja
Application granted granted Critical
Publication of JP6017287B2 publication Critical patent/JP6017287B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

本発明は、制御方法および情報処理装置に関する。
従来、セキュアCPU(Central Processing Unit:中央処理装置)及びノンセキュアCPUを搭載した情報処理装置であって、プログラムの改ざんを検出する技術が知られている(たとえば、下記特許文献1参照。)。また、1チップの中にフラッシュメモリ等のROM(Read Only Memory)とRAM(Random Access Memory:ランダムアクセスメモリ)と処理部とが複合して構成されているLSI(Large Scale Integration)において、処理装置自身の秘密情報(秘密鍵)の読み出しを阻止し、悪意による処理装置の意図しない動作を阻止する技術が知られている(たとえば、下記特許文献2参照。)。
国際公開第2009/013825号 特開平11−039158号公報
上述した従来技術において、ユーザが制御できる第1プロセッサとユーザが制御できない第2プロセッサとでRAMを共有する構成が考えられる。このような構成において、保護対象のプログラムをROMから共有RAMに展開して改ざんをチェックし、正規プログラムなら暗号化して共有RAMの他のエリアに転送し、復号しながら第2プロセッサに実行させることが考えられる。
しかしながら、保護対象のプログラムをROMからRAMへ転送し、さらにRAM内でも転送を行うことになるため、保護対象のプログラムの起動時間が長くなるという問題がある。
本発明は、上述した従来技術による問題点を解消するため、保護対象のプログラムの起動時間の短縮を図ることができる制御方法および情報処理装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、第1プロセッサと、保護対象のプログラムを実行する第2プロセッサと、前記第1プロセッサおよび前記第2プロセッサによって共用される第1メモリと、前記保護対象のプログラムを記憶する不揮発性の第2メモリと、を備える情報処理装置において、前記第2メモリに記憶された前記保護対象のプログラムを前記情報処理装置の起動時に読み出し、読み出した前記保護対象のプログラムを前記起動後の一回のみ暗号化し、暗号化した前記保護対象のプログラムを前記第1メモリに書き込み、前記第1メモリに暗号化されて書き込まれた前記保護対象のプログラムを復号して前記第2プロセッサに実行させる制御方法および情報処理装置が提案される。
本発明の一側面によれば、保護対象のプログラムの起動時間の短縮を図ることができるという効果を奏する。
図1は、実施の形態1にかかる情報処理装置の構成の一例を示す図である。 図2は、実施の形態1にかかる情報処理装置の動作例を示す図(その1)である。 図3は、実施の形態1にかかる情報処理装置の動作例を示す図(その2)である。 図4は、実施の形態1にかかる情報処理装置の動作例を示す図(その3)である。 図5は、実施の形態1にかかる情報処理装置の動作の一例を示すフローチャートである。 図6は、実施の形態2にかかる情報処理装置の構成の一例を示す図である。 図7は、実施の形態2にかかる情報処理装置の動作例を示す図(その1)である。 図8は、実施の形態2にかかる情報処理装置の動作例を示す図(その2)である。 図9は、実施の形態2にかかる情報処理装置の動作例を示す図(その3)である。 図10は、実施の形態2にかかる情報処理装置の動作例を示す図(その4)である。 図11は、実施の形態2にかかる情報処理装置の動作の一例を示すフローチャートである。
以下に添付図面を参照して、本発明にかかる制御方法および情報処理装置の実施の形態を詳細に説明する。
(実施の形態1)
(実施の形態1にかかる情報処理装置の構成)
図1は、実施の形態1にかかる情報処理装置の構成の一例を示す図である。図1に示すように、実施の形態1にかかる情報処理装置100は、第1チップ110と、第2チップ120と、を備える。
第1チップ110は、ユーザによる制御が可能なマイクロコンピュータである。たとえば、第1チップ110は、ユーザが任意のプログラムを実行させたり、ユーザが任意のデータを書き込んだり、ユーザが任意のデータを読み出したりすることが可能なマイクロコンピュータである。
第2チップ120は、ユーザによる制御が不可であり、実行するプログラムを保護すべきマイクロコンピュータである。たとえば、第2チップ120は、ユーザが任意のプログラムを実行させたり、ユーザが任意のデータを書き込んだり、ユーザが任意のデータを読み出したりすることができないマイクロコンピュータである。
第1チップ110は、ROM111と、共有RAM112と、第1MPU113(Micro Processing Unit:マイクロプロセッサ)と、DMAC114(Direct Memory Access Controller:ダイレクトメモリアクセスコントローラ)と、暗号/復号処理部115と、を備える。
ROM111(第2メモリ)には、第1MPU113や第2MPU121によって実行されるプログラムやデータが記憶されている。たとえば、ROM111の所定領域には、第2チップ120において実行すべきプログラム(保護対象のプログラム)が記憶されている。ROM111には、たとえばEEPROM(Electrically Erasable Programmable Read Only Memory)などの不揮発性のメモリを用いることができる。
共有RAM112(第1メモリ)は、第1チップ110の第1MPU113と、第2チップ120の第2MPU121と、で共用されるメモリである。共有RAM112は、たとえば第1MPU113や第2MPU121によってワークエリアとして使用される。
第1MPU113(第1プロセッサ)は、ROM111に記憶されたプログラムを読み出し、読み出したプログラムを、DMAC114を介して共有RAM112に展開して実行する。また、第1MPU113は、たとえば情報処理装置100の起動時に、第2チップ120において実行すべきプログラムの転送を指示する転送指示信号をDMAC114へ出力する。
DMAC114は、第1MPU113から出力された転送指示信号に基づいて、ROM111から共有RAM112へのプログラム転送を行う。たとえば、DMAC114は、第1MPU113から転送指示信号が出力されると、ROM111の所定領域に記憶されたプログラムを読み出す。ROM111の所定領域に記憶されたプログラムは、たとえば、ROM111に記憶されたIPL(Initial Program Loader)プログラムを参照することによって読み出すことができる。
そして、DMAC114は、読み出したプログラムを、暗号/復号処理部115へ出力することにより、暗号/復号処理部115を介して共有RAM112の所定領域に書き込む。これにより、第2MPU121によって実行すべきプログラムをROM111から暗号/復号処理部115を介して共有RAM112に転送することができる。また、DMAC114は、第1MPU113によって実行されるプログラム(保護対象でないプログラム)をROM111から共有RAM112に転送する際は、暗号/復号処理部115を介さずにプログラムを転送するようにしてもよい。また、DMAC114は、実行するプログラム転送が初回であるか否かを示す第1フラグF1をレジスタ等により保持している。
暗号/復号処理部115は、DMAC114から出力された、第2MPU121が実行すべきプログラムを暗号化し、暗号化したプログラムを共有RAM112の所定領域に書き込む。また、暗号/復号処理部115は、第2MPU121から読出指示信号が出力されると、共有RAM112の所定領域に暗号化して書き込んだプログラムを読み出し、読み出したプログラムを復号して第2MPU121へ出力する。暗号/復号処理部115による暗号化の方式については、たとえばDES(Data Encryption Standard)、AES(Advanced Encryption Standard)、RSA(Rivest Shamir Adleman)などの各種の方式を用いることができる。
また、暗号/復号処理部115は、DMAC114から出力された暗号化対象のプログラムの改ざんチェックを行い、プログラムが改ざんされていると判定した場合は暗号化を行わない。暗号/復号処理部115による改ざんチェックの方法については、たとえばパリティやCRC(Cyclic Redundancy Check:巡回冗長検査)のような付加情報の追加やハッシュ値演算など各種の方式を用いることができる。
また、暗号/復号処理部115は、実行する暗号化が初回であるか否かを示す第2フラグF2をレジスタ等によって保持している。暗号/復号処理部115は、たとえばDSP(Digital Signal Processor)などの演算回路によって実現することができる。
第2チップ120は、第2MPU121を備える。第2MPU121(第2プロセッサ)は、保護対象のプログラムを実行するプロセッサである。第2MPU121は、たとえば起動時に、DMAC114に対して読出指示信号を出力することによって、共有RAM112の所定領域に記憶されたプログラムを読み出す。このとき、読み出し対象のプログラムは暗号化された状態で共有RAM112に記憶されているが、暗号/復号処理部115を介して読み出すことによって復号された状態で読み出すことができる。
このように、情報処理装置100においては、DMAC114によって、ROM111に記憶された保護対象のプログラムを情報処理装置100の起動時に読み出すことができる。そして、暗号/復号処理部115によって、読み出された保護対象のプログラムを情報処理装置100の起動後の一回のみ暗号化し、暗号化した保護対象のプログラムを共有RAM112に書き込むことができる。また、暗号/復号処理部115によって、共有RAM112に暗号化されて書き込まれた保護対象のプログラムを復号して第2MPU121に実行させることができる。
(実施の形態1にかかる情報処理装置の動作例)
図2〜図4は、実施の形態1にかかる情報処理装置の動作例を示す図である。図2〜図4において、図1に示した部分と同様の部分については同一の符号を付して説明を省略する。図2に示すように、情報処理装置100の起動時は、DMAC114の第1フラグF1および暗号/復号処理部115の第2フラグF2はともに「0」となっている。まず、情報処理装置100の起動時に、DMAC114が自動的に、ROM111の所定領域に記憶された、第2MPU121によって実行すべきプログラムを読み出す。
つぎに、図3に示すように、DMAC114が、読み出したプログラムを暗号/復号処理部115へ転送するとともに、第1フラグF1を反転して「1」にする。そして、暗号/復号処理部115が、DMAC114から転送されたプログラムを暗号化して共有RAM112へ出力するとともに、第2フラグF2を反転して「1」にする。
これにより、第2MPU121によって実行すべきプログラムが暗号化された状態で共有RAM112の所定領域に書き込まれる。また、暗号/復号処理部115は、DMAC114から転送されたプログラムの改ざんチェックを行い、プログラムが改ざんされていた場合は暗号化したプログラムを共有RAM112へ出力しない。
つぎに、図4に示すように、暗号/復号処理部115が、第2MPU121からの読出指示信号に応じて、共有RAM112の所定領域に書き込まれたプログラムを読み出して復号する。そして、暗号/復号処理部115は、復号したプログラムを第2MPU121へ出力する。第2MPU121は、暗号/復号処理部115から出力されるプログラムを実行する。
このように、情報処理装置100の起動時に、DMAC114によって自動でプログラムがROM111から読み出されて共有RAM112へ転送される。その際、暗号/復号処理部115によって自動で改ざんチェックおよび暗号化が行われる。
また、DMAC114は、レジスタ等で保持した第1フラグF1を用いて、初回のみプログラムを自動で転送するとともに、2回目以降はプログラムを自動的に転送しない。また、暗号/復号処理部115は、レジスタ等で保持した第2フラグF2を用いて、初回のみプログラムの改ざんチェックおよび暗号化を行うとともに、2回目以降はプログラムの改ざんチェックおよび暗号化を行わない。
(実施の形態1にかかる情報処理装置の動作)
図5は、実施の形態1にかかる情報処理装置の動作の一例を示すフローチャートである。情報処理装置100は、電源が投入されると(電源オン)、たとえば以下の各ステップを実行する。なお、電源投入の直後においては、DMAC114の第1フラグF1および暗号/復号処理部115の第2フラグF2はともに「0」になっているとする。
まず、DMAC114が、第1フラグF1が「0」か否かを判断する(ステップS501)。これにより、今回が初回のプログラム転送か否かを判断することができる。第1フラグF1が「0」でない場合(ステップS501:No)は、初回のプログラム転送でないと判断することができる。この場合は、DMAC114は、ステップS501へ戻り、ROM111から共有RAM112への暗号/復号処理部115を介したプログラムの自動転送を行わない。
ステップS501において、第1フラグF1が「0」である場合(ステップS501:Yes)は、初回のプログラム転送であると判断することができる。この場合は、DMAC114は、第2MPU121が実行すべき、ROM111の所定領域に記憶されたプログラムを読み出して暗号/復号処理部115へ転送する(ステップS502)。また、DMAC114は、第1フラグF1を反転させて「1」にする(ステップS503)。
つぎに、暗号/復号処理部115が、第2フラグF2が「0」か否かを判断する(ステップS504)。これにより、今回が初回のプログラム転送か否かを判断することができる。第2フラグF2が「0」でない場合(ステップS504:No)は、初回のプログラム転送でないと判断することができる。この場合は、暗号/復号処理部115は、ステップS502によって転送されたプログラムを暗号化せずに共有RAM112へスルー出力し(ステップS505)、ステップS501へ戻る。
ステップS504において、第2フラグF2が「0」である場合(ステップS504:Yes)は、初回のプログラム転送であると判断することができる。この場合は、暗号/復号処理部115は、所定の改ざんチェック処理により、ステップS502によって転送されたプログラムが改ざんされているか否かを判断する(ステップS506)。
ステップS506において、プログラムが改ざんされている場合(ステップS506:Yes)は、暗号/復号処理部115は、ステップS502によって転送されたプログラムの暗号化および共有RAM112への出力を行わずに、一連の動作を終了する。この場合に、暗号/復号処理部115がエラーメッセージ等を出力するようにしてもよい。
ステップS506において、プログラムが改ざんされていない場合(ステップS506:No)は、暗号/復号処理部115は、ステップS502によって転送されたプログラムを暗号化して共有RAM112へ出力する(ステップS507)。これにより、共有RAM112の所定領域に暗号化されたプログラムが記憶される。
また、暗号/復号処理部115は、第2フラグF2を反転させて「1」にし(ステップS508)、ステップS501へ戻る。以降、暗号/復号処理部115は、第2MPU121からの読出指示信号に応じて、共有RAM112の所定領域に書き込まれたプログラムを読み出して復号し、復号したプログラムを第2MPU121へ出力する。
なお、DMAC114の第1フラグF1および暗号/復号処理部115の第2フラグF2は、情報処理装置100の電源がオフになると、ともにリセットされて「0」となる。
以上の各ステップにより、第2MPU121によって実行される保護対象のプログラムを共有RAM112へ転送する前に暗号化するとともに、該暗号化を起動時にのみ許可するようにすることができる。
このように、実施の形態1にかかる情報処理装置100によれば、第2MPU121によって実行される保護対象のプログラムを共有RAM112へ転送する前に暗号化することにより転送回数を抑えることができる。このため、第2MPU121によって実行されるプログラムの起動時間を短くすることができる。また、該暗号化を起動時にのみ許可することにより、第三者が任意データを転送して暗号化キーを解読することを回避し、セキュリティを向上させることができる。
たとえば、悪意のある第三者は、プログラムの逆アセンブルに要する暗号キーを解読するために以下の行動をとることが考えられる。すなわち、悪意のある第三者は、共有RAM112に任意のデータを書込み、第1MPU113からDMAC114に指示して暗号/復号処理部115を経由して共有RAM112に書き戻す。そして、悪意のある第三者は、暗号化前のデータと暗号化後のデータを比較することにより暗号キーを解読する。
これに対して、情報処理装置100においては、電源投入後の初回にしか暗号化が許可されないため、悪意のある第三者が上述した行動をとっても暗号化したデータを共有RAM112に書き込むことはできない。このため、暗号化前のデータと暗号化後のデータを比較することができず、暗号キーの解読を困難にすることができる。
また、ROM111が書き換え可能なFlashROM等である場合は、ROM111の記憶内容を第三者が第1MPU113から書き換えることが可能である。悪意のある第三者がROM111に任意のデータを書き込むことにより、次回電源投入時に共有RAM112に暗号化されたデータが書き込まれるので、暗号化前後のデータを比較して暗号キーを解読できてしまうことも考えられる。
これに対して、情報処理装置100においては、ROM111に書き込まれたプログラムが改ざんされていないかどうかが電源投入直後にチェックされ、改ざんされている場合は暗号化や共有RAM112への出力が行われない。これにより、暗号キーの解読を困難にすることができる。
また、仮に暗号キーが漏出してプログラムが改ざんされてROM111に書き込まれたとしても、改ざんチェックによって、改ざんされたプログラムが動作することを回避することができる。
これにより、たとえば、悪意のある第三者が暗号キーを解読してプログラムを改ざんして悪用(たとえば電話番号を偽って通話料を払わない等)することを防ぎつつ、起動時間の短縮を図ることができる。また、第1MPU113と第2MPU121とで共有RAM112を共有することによって小型化およびコストダウンを図ることができる。
たとえば、情報処理装置100は、複数のマイクロコンピュータを搭載する携帯電話装置などに適用することができる。これにより、たとえば、メモリ共通化による小型化およびコストダウンを図り、悪意のある第三者からの改ざんからプログラムをガードしつつ高速起動できる携帯電話を実現することが可能になる。
(実施の形態2)
実施の形態2について、実施の形態1と異なる部分について説明する。
(実施の形態2にかかる情報処理装置の構成)
図6は、実施の形態2にかかる情報処理装置の構成の一例を示す図である。図6において、図1に示した部分と同様の部分については同一の符号を付して説明を省略する。図6に示すように、実施の形態2にかかる情報処理装置100においては、暗号/復号処理部115は、実行する暗号化が初回であるか否かを示すフラグFをレジスタ等によって保持している。この場合は、DMAC114にはフラグがなくてもよい。また、暗号/復号処理部115のフラグFは、たとえば第2MPU121の制御によって書き換えられる。
(実施の形態2にかかる情報処理装置の動作例)
図7〜図10は、実施の形態2にかかる情報処理装置の動作例を示す図である。図7〜図10において、図6に示した部分と同様の部分については同一の符号を付して説明を省略する。図7に示すように、情報処理装置100の起動時は、暗号/復号処理部115のフラグFは「0」となっている。まず、情報処理装置100の起動時に、第1MPU113が自動的に、DMAC114に対して転送指示信号を出力する。つぎに、図8に示すように、DMAC114が、第2MPU121によって実行すべき、ROM111の所定領域に記憶されたプログラムを読み出す。
つぎに、図9に示すように、DMAC114が、読み出したプログラムを暗号/復号処理部115へ転送する。そして、暗号/復号処理部115が、DMAC114から転送されたプログラムを暗号化して共有RAM112へ出力する。また、第2MPU121の制御により、暗号/復号処理部115のフラグFが反転して「1」となる。
これにより、暗号化されたプログラムが共有RAM112の所定領域に書き込まれる。また、暗号/復号処理部115は、DMAC114から転送されたプログラムの改ざんチェックを行い、プログラムが改ざんされていた場合は暗号化したプログラムを共有RAM112へ出力しない。
つぎに、図10に示すように、暗号/復号処理部115が、第2MPU121からの読出指示信号に応じて、共有RAM112の所定領域に書き込まれたプログラムを読み出して復号する。そして、暗号/復号処理部115は、復号したプログラムを第2MPU121へ出力する。第2MPU121は、暗号/復号処理部115から出力されるプログラムを実行する。
このように、情報処理装置100の起動時に、第1MPU113がDMAC114に指示することによってプログラムがROM111から読み出されて転送される。その際、暗号/復号処理部115によって自動で改ざんチェックおよび暗号化が行われる。また、暗号/復号処理部115は、レジスタ等で保持したフラグFを用いて、初回のみプログラムの暗号化を行い、2回目以降はプログラムの暗号化を行わない。
(実施の形態2にかかる情報処理装置の動作)
図11は、実施の形態2にかかる情報処理装置の動作の一例を示すフローチャートである。情報処理装置100は、電源が投入されると(電源オン)、たとえば以下の各ステップを実行する。なお、電源投入の直後においては、暗号/復号処理部115のフラグFは「0」になっているとする。
まず、DMAC114が、第1MPU113から転送指示信号が出力されたか否かを判断し(ステップS1101)、転送指示信号が出力されるまで待つ(ステップS1101:Noのループ)。ステップS1101において、転送指示信号が出力されると(ステップS1101:Yes)、DMAC114は、第2MPU121が実行すべき、ROM111の所定領域に記憶されたプログラムを読み出して暗号/復号処理部115へ転送する(ステップS1102)。
つぎに、暗号/復号処理部115が、フラグFが「0」か否かを判断する(ステップS1103)。これにより、今回が初回のプログラム転送か否かを判断することができる。フラグFが「0」でない場合(ステップS1103:No)は、初回のプログラム転送でないと判断することができる。この場合は、暗号/復号処理部115は、ステップS1102によって転送されたプログラムを暗号化せずに共有RAM112へスルー出力し(ステップS1104)、ステップS1101へ戻る。
ステップS1103において、フラグFが「0」である場合(ステップS1103:Yes)は、初回のプログラム転送であると判断することができる。この場合は、暗号/復号処理部115は、所定の改ざんチェック処理により、ステップS1102によって転送されたプログラムが改ざんされているか否かを判断する(ステップS1105)。
ステップS1105において、プログラムが改ざんされている場合(ステップS1105:Yes)は、暗号/復号処理部115は、ステップS1102によって転送されたプログラムの暗号化および共有RAM112への出力を行わずに一連の動作を終了する。この場合に、暗号/復号処理部115がエラーメッセージ等を出力するようにしてもよい。
ステップS1105において、プログラムが改ざんされていない場合(ステップS1105:No)は、暗号/復号処理部115は、ステップS1102によって転送されたプログラムを暗号化して共有RAM112へ出力する(ステップS1106)。これにより、共有RAM112の所定領域に暗号化されたプログラムが記憶される。
また、暗号/復号処理部115は、第2MPU121の制御により、フラグFを反転させて「1」にし(ステップS1107)、ステップS1101へ戻る。以降、暗号/復号処理部115は、第2MPU121からの読出指示信号に応じて、共有RAM112の所定領域に書き込まれたプログラムを読み出して復号し、復号したプログラムを第2MPU121へ出力する。なお、暗号/復号処理部115のフラグFは、情報処理装置100の電源がオフになるとリセットされて「0」となる。
以上の各ステップにより、第2MPU121によって実行される保護対象のプログラムを共有RAM112へ転送する前に暗号化するとともに、該暗号化を起動時にのみ許可するようにすることができる。
このように、実施の形態2にかかる情報処理装置100によれば、実施の形態1と同様に、保護対象のプログラムを共有RAM112へ転送する前に暗号化することにより転送回数を抑えることができる。このため、第2MPU121によって実行されるプログラムの起動時間を短くすることができる。また、該暗号化を起動時にのみ許可することにより、第三者が任意データを転送して暗号化キーを解読することを回避し、セキュリティを向上させることができる。
以上説明したように、制御方法および情報処理装置によれば、保護対象のプログラムの起動時間の短縮を図ることができる。
上述した各実施の形態に関し、さらに以下の付記を開示する。
(付記1)第1プロセッサと、
保護対象のプログラムを実行する第2プロセッサと、
前記第1プロセッサおよび前記第2プロセッサによって共用される第1メモリと、
前記保護対象のプログラムを記憶する不揮発性の第2メモリと、
を備える情報処理装置の制御方法であって、
前記第2メモリに記憶された前記保護対象のプログラムを前記情報処理装置の起動時に読み出し、
読み出した前記保護対象のプログラムを前記起動後の一回のみ暗号化し、
暗号化した前記保護対象のプログラムを前記第1メモリに書き込み、
前記第1メモリに暗号化されて書き込まれた前記保護対象のプログラムを復号して前記第2プロセッサに実行させる、
ことを特徴とする制御方法。
(付記2)前記読み出した前記保護対象のプログラムが改ざんされているか否かを判定し、
前記保護対象のプログラムが改ざんされていないと判定した場合は前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込み、
前記保護対象のプログラムが改ざんされていると判定した場合は前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込まない、
ことを特徴とする付記1に記載の制御方法。
(付記3)前記情報処理装置は、前記情報処理装置の起動時には第1値となっている情報を記憶する記憶部を備え、
前記記憶部に記憶された情報が前記第1値となっている場合に、前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込むとともに前記記憶部に記憶された情報を前記第1値と異なる第2値に書き換え、
前記記憶部に記憶された情報が前記第1値となっていない場合に、前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込まない、
ことを特徴とする付記1または2に記載の制御方法。
(付記4)前記第2メモリに記憶された前記保護対象のプログラムを前記情報処理装置の起動時に読み出す処理は、前記起動後の一回のみ行われることを特徴とする付記1〜3のいずれか一つに記載の制御方法。
(付記5)前記第2メモリに記憶された前記保護対象のプログラムを前記情報処理装置の起動時に読み出す処理は、前記第1プロセッサからの制御によって行われることを特徴とする付記1〜3のいずれか一つに記載の制御方法。
(付記6)前記読み出した前記保護対象のプログラムを前記起動後の一回のみ暗号化する処理は、ユーザによって制御できない制御回路によって実行されることを特徴とする付記1〜5のいずれか一つに記載の制御方法。
(付記7)前記第1プロセッサはユーザによる制御が可能なプロセッサであることを特徴とする付記1〜6のいずれか一つに記載の制御方法。
(付記8)第1プロセッサと、
保護対象のプログラムを実行する第2プロセッサと、
前記第1プロセッサおよび前記第2プロセッサによって共用される第1メモリと、
前記保護対象のプログラムを記憶する不揮発性の第2メモリと、
前記第2メモリに記憶された前記保護対象のプログラムを自装置の起動時に読み出し、読み出した前記保護対象のプログラムを前記起動後の一回のみ暗号化し、暗号化した前記保護対象のプログラムを前記第1メモリに書き込み、前記第1メモリに暗号化されて書き込まれた前記保護対象のプログラムを復号して前記第2プロセッサに実行させる制御回路と、
を備えることを特徴とする情報処理装置。
100 情報処理装置
110 第1チップ
111 ROM
112 共有RAM
113 第1MPU
114 DMAC
115 暗号/復号処理部
120 第2チップ
121 第2MPU

Claims (5)

  1. 第1プロセッサと、
    保護対象のプログラムを実行する第2プロセッサと、
    前記第1プロセッサおよび前記第2プロセッサによって共用される第1メモリと、
    前記保護対象のプログラムを記憶する不揮発性の第2メモリと、
    を備える情報処理装置の制御方法であって、
    前記第2メモリに記憶された前記保護対象のプログラムを前記情報処理装置の起動時に読み出し、
    読み出した前記保護対象のプログラムを前記起動後の一回のみ暗号化し、
    暗号化した前記保護対象のプログラムを前記第1メモリに書き込み、
    前記第1メモリに暗号化されて書き込まれた前記保護対象のプログラムを復号して前記第2プロセッサに実行させる、
    ことを特徴とする制御方法。
  2. 前記読み出した前記保護対象のプログラムが改ざんされているか否かを判定し、
    前記保護対象のプログラムが改ざんされていないと判定した場合は前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込み、
    前記保護対象のプログラムが改ざんされていると判定した場合は前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込まない、
    ことを特徴とする請求項1に記載の制御方法。
  3. 前記情報処理装置は、前記情報処理装置の起動時には第1値となっている情報を記憶する記憶部を備え、
    前記記憶部に記憶された情報が前記第1値となっている場合に、前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込むとともに前記記憶部に記憶された情報を前記第1値と異なる第2値に書き換え、
    前記記憶部に記憶された情報が前記第1値となっていない場合に、前記暗号化した前記保護対象のプログラムを前記第1メモリに書き込まない、
    ことを特徴とする請求項1または2に記載の制御方法。
  4. 前記読み出した前記保護対象のプログラムを前記起動後の一回のみ暗号化する処理は、ユーザによって制御できない制御回路によって実行されることを特徴とする請求項1〜3のいずれか一つに記載の制御方法。
  5. 第1プロセッサと、
    保護対象のプログラムを実行する第2プロセッサと、
    前記第1プロセッサおよび前記第2プロセッサによって共用される第1メモリと、
    前記保護対象のプログラムを記憶する不揮発性の第2メモリと、
    前記第2メモリに記憶された前記保護対象のプログラムを自装置の起動時に読み出し、読み出した前記保護対象のプログラムを前記起動後の一回のみ暗号化し、暗号化した前記保護対象のプログラムを前記第1メモリに書き込み、前記第1メモリに暗号化されて書き込まれた前記保護対象のプログラムを復号して前記第2プロセッサに実行させる制御回路と、
    を備えることを特徴とする情報処理装置。
JP2012267675A 2012-12-06 2012-12-06 制御方法および情報処理装置 Expired - Fee Related JP6017287B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012267675A JP6017287B2 (ja) 2012-12-06 2012-12-06 制御方法および情報処理装置
US14/066,439 US9218484B2 (en) 2012-12-06 2013-10-29 Control method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012267675A JP6017287B2 (ja) 2012-12-06 2012-12-06 制御方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2014115740A JP2014115740A (ja) 2014-06-26
JP6017287B2 true JP6017287B2 (ja) 2016-10-26

Family

ID=50882357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012267675A Expired - Fee Related JP6017287B2 (ja) 2012-12-06 2012-12-06 制御方法および情報処理装置

Country Status (2)

Country Link
US (1) US9218484B2 (ja)
JP (1) JP6017287B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313651B2 (en) * 2014-06-19 2016-04-12 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
CN107357615A (zh) * 2017-06-30 2017-11-17 广东欧珀移动通信有限公司 终端启动方法、装置、存储介质及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139158A (ja) 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> 実行プログラムの保護方法およびその装置
US8473750B2 (en) * 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
JP4698285B2 (ja) * 2005-05-19 2011-06-08 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP4931542B2 (ja) * 2005-10-12 2012-05-16 パナソニック株式会社 ロード先情報に対する改ざん検証機能を備えたプログラムローダ、プログラムローダを含むプロセッサ、プロセッサを含むデータ処理装置、プログラムロード方法、及び集積回路
US7945789B2 (en) * 2006-09-12 2011-05-17 International Business Machines Corporation System and method for securely restoring a program context from a shared memory
US7836269B2 (en) * 2006-12-29 2010-11-16 Spansion Llc Systems and methods for access violation management of secured memory
US8296581B2 (en) * 2007-02-05 2012-10-23 Infineon Technologies Ag Secure processor arrangement having shared memory
WO2009013825A1 (ja) * 2007-07-25 2009-01-29 Panasonic Corporation 情報処理装置、及び改竄検証方法
US9298894B2 (en) * 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
JP5775738B2 (ja) * 2011-04-28 2015-09-09 富士通株式会社 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム

Also Published As

Publication number Publication date
US9218484B2 (en) 2015-12-22
US20140164787A1 (en) 2014-06-12
JP2014115740A (ja) 2014-06-26

Similar Documents

Publication Publication Date Title
CN111095213B (zh) 嵌入式程序的安全引导方法、装置、设备及存储介质
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
KR100692348B1 (ko) 휴면 보호
TWI615732B (zh) 電子裝置之電子元件、啟動電子裝置的方法及加密方法
US20070180271A1 (en) Apparatus and method for providing key security in a secure processor
EP2270707B1 (en) Loading secure code into a memory
JPWO2005004382A1 (ja) 暗号処理装置
US20170060775A1 (en) Methods and architecture for encrypting and decrypting data
JP2014235326A (ja) システム、情報処理装置、セキュアモジュール、および検証方法
JP2007310688A (ja) マイクロコンピュータおよびそのソフトウェア改竄防止方法
EP3753197B1 (en) Protecting cryptographic key data
JP2016146618A (ja) 情報処理装置
US10505927B2 (en) Memory device and host device
JP6017287B2 (ja) 制御方法および情報処理装置
US20210240833A1 (en) Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain
KR20150020017A (ko) 비동기적인 인증을 갖는 보안 컴퓨팅 시스템
JP2008060703A (ja) 携帯型記憶媒体、及び端末装置
JP2008191208A (ja) 暗号処理回路、演算装置及び電子機器
JP5776480B2 (ja) 情報処理装置、正当性検証方法、正当性検証プログラム
CN111357003A (zh) 预操作系统环境中的数据保护
JP2008003774A (ja) マイクロコンピュータ
JP4676547B2 (ja) 半導体装置およびそのブート方法
JP2011150495A (ja) 記憶装置
CN116776333A (zh) 用于执行计算单元的安全启动序列的方法
JP4580030B2 (ja) セキュアデバイス

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160928

R150 Certificate of patent or registration of utility model

Ref document number: 6017287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees