JP4791250B2 - Microcomputer and its software falsification prevention method - Google Patents

Microcomputer and its software falsification prevention method Download PDF

Info

Publication number
JP4791250B2
JP4791250B2 JP2006139648A JP2006139648A JP4791250B2 JP 4791250 B2 JP4791250 B2 JP 4791250B2 JP 2006139648 A JP2006139648 A JP 2006139648A JP 2006139648 A JP2006139648 A JP 2006139648A JP 4791250 B2 JP4791250 B2 JP 4791250B2
Authority
JP
Japan
Prior art keywords
microcomputer
information processing
function
processing apparatus
boot loader
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
JP2006139648A
Other languages
Japanese (ja)
Other versions
JP2007310688A (en
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2006139648A priority Critical patent/JP4791250B2/en
Publication of JP2007310688A publication Critical patent/JP2007310688A/en
Application granted granted Critical
Publication of JP4791250B2 publication Critical patent/JP4791250B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、任意のソフトウェアコードに基づき何らかの情報処理を行なうマイクロコンピュータに関し、特に、マイクロコンピュータを搭載した情報処理装置を起動させる際に用いるブートプログラム、ローダプログラムと称されるソフトウェアの改竄防止方法に適用して有効な技術に関する。   The present invention relates to a microcomputer that performs some information processing based on an arbitrary software code, and more particularly to a boot program used when starting an information processing apparatus equipped with a microcomputer, and a software tampering prevention method called a loader program. It is related to effective technology.

昨今、デジタルデータ利用における情報セキュリティ技術の重要性が指摘されており、その中で、様々な情報処理プラットフォーム、情報処理装置上において取り扱われるデータ/コードの改竄防止技術が注目されている。そのような改竄防止技術は、実行される「データ処理の正当性」を保証するものであり、例えば、有価値コンテンツの利用と、それに対する課金処理など、確実な処理が特に期待される場面で極めて重要となる。   Recently, the importance of information security technology in the use of digital data has been pointed out, and among these, data / code falsification prevention technology handled on various information processing platforms and information processing devices has attracted attention. Such anti-tampering technology guarantees the “validity of data processing” to be executed. For example, in certain situations where reliable processing such as the use of valuable value content and accounting for it is expected. It becomes extremely important.

このような技術を適用した情報処理プラットフォームはセキュアプラットフォームなどと称され、PCなどの汎用情報処理機器から、組込み機器と称される、例えば音楽プレーヤや携帯電話機などのデジタルアプライアンスまで、規模の大小に拘らず、課金処理などの正当性保証が必要とされるアプリケーションを動作させる場面では必要なプラットフォーム技術である。   An information processing platform to which such a technology is applied is called a secure platform, etc., ranging from a general-purpose information processing device such as a PC to a digital appliance such as a music player or a mobile phone called an embedded device. Regardless, it is a necessary platform technology for operating applications that require validity guarantee such as billing.

PC向けには、NGSCB、LaGrandeなどのセキュアプラットフォーム技術が提案されているが、大掛かりかつ高価なプラットフォームであり、一般的に処理リソース、およびコスト面での制約が大きい組込み機器への直接適用は困難である。組込み機器向けの安価なセキュアプラットフォームへのニーズは確実にあり、同要求に対する解が必要とされている。   For PCs, secure platform technologies such as NGSCB and LaGrande have been proposed, but they are large and expensive platforms that are generally difficult to apply directly to embedded devices with large processing resources and cost constraints. It is. There is a certain need for an inexpensive secure platform for embedded devices, and a solution to this requirement is needed.

マイクロコンピュータ、ROM、RAMなどのメモリからなる一般的な情報処理プラットフォームにおいては、ROM内のデータを静的に読み出せることや、正常動作時にマイクロコンピュータ、メモリ間でやり取りされるデータをプラットフォーム外から直接に観測、解析可能であることは攻撃の糸口になり、これらを防止することは重要であるが、動作状況の動的解析に繋がる大きな脅威としては、プラットフォーム上での、任意の解析機能を具備したコードの実行が挙げられる。   In a general information processing platform consisting of memories such as a microcomputer, ROM, and RAM, data in the ROM can be read statically, and data exchanged between the microcomputer and memory during normal operation can be performed from outside the platform. It is important to be able to observe and analyze directly, and it is important to prevent them. However, as a major threat that leads to dynamic analysis of the operation status, any analysis function on the platform can be used. Execution of the provided code.

従い、データ処理の正当性を保証するセキュアプラットフォーム技術においては、データ/コードの観測、解析、改竄といった攻撃を防止するために、悪意ある、任意のコードの、プラットフォーム上での実行を阻止することが主要な技術となる。   Therefore, in secure platform technology that guarantees the correctness of data processing, in order to prevent attacks such as data / code observation, analysis, and falsification, the execution of malicious arbitrary code on the platform should be prevented. Is the main technology.

これは実行されるコードの正当性をその都度認証し、その正当性が証明されたもののみ実行を許可することで実現され得るが、この場合、コードの正当性を判断するのは、それ以前に実行されていたコードであり、信頼性保証の根源は、プラットフォームを起動させるブートプログラム、ローダプログラムと称されるソフトウェアコードの正当性に存在することになる。   This can be accomplished by authenticating the code being executed each time and allowing only those that have been proved to be valid. The root of the reliability guarantee lies in the legitimacy of software code called a boot program or loader program that activates the platform.

このようなブートプログラムの改竄を防止する技術の一つとして、特開平2003−108257号公報(特許文献1)に開示されるデジタルデバイスのセキュリティを守るための、安全なブートローダがある。   As one of techniques for preventing such a boot program from being falsified, there is a safe boot loader for protecting the security of a digital device disclosed in Japanese Patent Laid-Open No. 2003-108257 (Patent Document 1).

この特許文献1の技術は、マイクロコンピュータと同一の半導体チップ上に設けられた不揮発メモリ上にブートローダを記憶し、ブートローダは、プロセッサ外に接続される不揮発メモリなどに保管されるオペレーティングシステムなどのソフトウェアコードの正当性を認証する機能を有する。このブートローダは、認証対象となるソフトウェアコードの正当性が確認された場合にのみ、ソフトウェアコードに制御を移し、認証に失敗した場合には動作を完了する。   The technology of Patent Document 1 stores a boot loader on a nonvolatile memory provided on the same semiconductor chip as a microcomputer, and the boot loader is software such as an operating system stored in a nonvolatile memory connected outside the processor. It has a function to authenticate the validity of the code. This boot loader transfers control to the software code only when the validity of the software code to be authenticated is confirmed, and completes the operation when authentication fails.

すなわち、このブートローダが搭載された情報処理装置などでは、認証に失敗した場合は、その後のソフトウェアコードによる制御が一切行われないため、情報処理装置が起動せずに動作が完了してしまい、例えば、音楽プレーヤなどでは、通常の音楽の再生といった正当性保証が必要ない機能も使用不可能になってしまい、本来情報処理装置として期待される機能を一切実現しないものとなっている。
特開平2003−108257号公報
In other words, in an information processing apparatus equipped with this boot loader, if authentication fails, control by the software code is not performed at all, and the operation is completed without starting the information processing apparatus. In a music player or the like, a function that does not require a legitimacy guarantee such as normal music playback becomes unusable, and the function originally expected as an information processing apparatus is not realized at all.
Japanese Patent Laid-Open No. 2003-108257

前述した従来のデジタルデバイスのセキュリティを守るための、安全なブートローダによれば、ブートローダを記憶する不揮発メモリは、マイクロコンピュータと同一の半導体チップ上に設けられることにより、改竄耐性を持ち、ブートローダが、その次にロードされるオペレーティングシステムを認証することから、実行されるコードの正当性を保証可能である。   According to the safe boot loader for protecting the security of the conventional digital device described above, the non-volatile memory storing the boot loader is provided on the same semiconductor chip as the microcomputer, so that it has tamper resistance, By authenticating the next loaded operating system, it is possible to guarantee the correctness of the code being executed.

しかしながら、特許文献1の技術では、コードが認証されない場合に単純に動作が完了してしまい、ユーザによるシステムの可用性上、問題がある。また、ブートローダを記憶する不揮発メモリに改竄耐性があるとするが、プロセッサにて実行される以上、デバッグツールによる解析の対象となり、対デバッガ対策を講じたとしても、実装上の不備を突いた攻撃の可能性を否定することは不可能である。   However, in the technique of Patent Document 1, the operation is simply completed when the code is not authenticated, and there is a problem in the availability of the system by the user. Also, the nonvolatile memory that stores the boot loader is supposed to be tamper-resistant, but as long as it is executed by the processor, it will be the target of analysis by the debug tool, and even if countermeasures against debuggers are taken, attacks that deficient in implementation It is impossible to deny the possibility of.

そこで、本発明の目的は、実行されるコードの正当性保証とユーザによるシステムの可用性を両立すると共に、マイクロコンピュータへのデバッグツール類による攻撃に対する耐性を有する、ブートプログラム、ローダプログラムと称されるソフトウェアコードの改竄防止方法を提供することにある。   Therefore, an object of the present invention is referred to as a boot program or a loader program that achieves both the guarantee of the correctness of the code to be executed and the availability of the system by the user and has resistance to attacks by the debugging tools on the microcomputer. The object is to provide a software code falsification prevention method.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

本発明によるマイクロコンピュータは、中央演算処理装置と、中央演算処理装置とは独立に動作するシーケンス処理装置とを備え、中央演算処理装置での、第1のプログラムの実行に先立ち、シーケンス処理装置により、第1のプログラムの認証を行い、その認証結果に基づいて、所定の機能を無効に設定して、中央演算処理装置による制御に移行するものである。   A microcomputer according to the present invention includes a central processing unit and a sequence processing unit that operates independently of the central processing unit, and prior to execution of the first program in the central processing unit, The first program is authenticated, a predetermined function is set to invalid based on the authentication result, and the process shifts to control by the central processing unit.

また、本発明によるマイクロコンピュータは、中央演算処理装置と、中央演算処理装置とは独立に動作するシーケンス処理装置とを備え、中央演算処理装置での、第1のプログラムの実行に先立ち、シーケンス処理装置により、第1のプログラムの認証を行い、その認証結果に基づいて、中央演算処理装置により、第2のプログラムを実行するものである。   The microcomputer according to the present invention includes a central processing unit and a sequence processing unit that operates independently of the central processing unit, and performs sequence processing prior to execution of the first program in the central processing unit. The first program is authenticated by the apparatus, and the second program is executed by the central processing unit based on the authentication result.

また、本発明によるマイクロコンピュータのソフトウェア改竄防止方法は、中央演算処理装置と、中央演算処理装置とは独立に動作するシーケンス処理装置とを備えたマイクロコンピュータのソフトウェア改竄防止方法であって、中央演算処理装置での、第1のプログラムの実行に先立ち、シーケンス処理装置により、第1のプログラムの認証を行い、その認証結果に基づいて、所定の機能を無効に設定して、中央演算処理装置による制御に移行するものである。   A microcomputer software tampering prevention method according to the present invention is a microcomputer software tampering prevention method comprising a central processing unit and a sequence processing unit that operates independently of the central processing unit, Prior to execution of the first program in the processing device, the sequence processing device authenticates the first program, and on the basis of the authentication result, the predetermined function is disabled and the central processing unit performs Transition to control.

また、本発明によるマイクロコンピュータのソフトウェア改竄防止方法は、中央演算処理装置と、中央演算処理装置とは独立に動作するシーケンス処理装置とを備えたマイクロコンピュータのソフトウェア改竄防止方法であって、中央演算処理装置での、第1のプログラムの実行に先立ち、シーケンス処理装置により、第1のプログラムの認証を行い、その認証結果に基づいて、中央演算処理装置により、マイクロコンピュータに接続されたネットワークを介して受信した第2のプログラムを実行するものである。   A microcomputer software tampering prevention method according to the present invention is a microcomputer software tampering prevention method comprising a central processing unit and a sequence processing unit that operates independently of the central processing unit, Prior to the execution of the first program in the processing device, the sequence processing device authenticates the first program, and based on the authentication result, the central processing unit passes the network connected to the microcomputer. The second program received is executed.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

本発明によれば、情報処理装置において、実行されるコードの正当性保証など必要なセキュリティ性能を強固に保ちつつ、ユーザによる情報処理装置の利用に過度の制限を加えずにセキュリティ上問題のない利用の継続を許可するなど、柔軟な処理が可能となり、著作権管理システムなどでは、コンテンツホルダの権利保持とユーザ利便性の両立を図ることが可能である。   According to the present invention, in the information processing apparatus, there is no security problem without excessively restricting the use of the information processing apparatus by the user while maintaining necessary security performance such as guaranteeing the validity of the code to be executed. Flexible processing such as permitting continuation of use is possible, and in a copyright management system or the like, it is possible to achieve both the rights holding of the content holder and user convenience.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

(実施の形態1)
<マイクロコンピュータを搭載した情報処理装置の構成>
図1により、本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の構成について説明する。図1は本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の構成を示す構成図である。
(Embodiment 1)
<Configuration of information processing device equipped with microcomputer>
With reference to FIG. 1, the configuration of an information processing apparatus equipped with a microcomputer according to Embodiment 1 of the present invention will be described. FIG. 1 is a block diagram showing the configuration of an information processing apparatus equipped with a microcomputer according to Embodiment 1 of the present invention.

図1において、情報処理装置101は、マイクロコンピュータ102を搭載し、揮発性記憶装置107、不揮発性記憶装置108を備え、マイクロコンピュータ102、揮発性記憶装置107、不揮発性記憶装置108などの情報処理装置101を構成する各機能ブロックは、それぞれの間で命令やデータをやり取りするための命令・データバス線(以下、データバス)111により接続されている。   In FIG. 1, an information processing apparatus 101 includes a microcomputer 102 and includes a volatile storage device 107 and a nonvolatile storage device 108. Information processing of the microcomputer 102, the volatile storage device 107, the nonvolatile storage device 108, and the like. Each functional block constituting the apparatus 101 is connected by an instruction / data bus line (hereinafter referred to as a data bus) 111 for exchanging instructions and data between the functional blocks.

なお、図1では、情報処理装置101を構成するのに最低限必要な機能構成を示しており、これ以外の機能ブロックを有してもよい。   Note that FIG. 1 shows the minimum functional configuration required to configure the information processing apparatus 101, and other functional blocks may be included.

情報処理装置101に搭載されるマイクロコンピュータ102は、半導体パッケージに封止されたLSIであり、中央演算処理装置(以下、CPUとする)103、暗号処理装置104、ハッシュ関数処理装置105、シーケンス処理装置である認証シーケンサ装置112の機能ブロックを含み、秘密情報106が保持されている。   A microcomputer 102 mounted on the information processing apparatus 101 is an LSI sealed in a semiconductor package, and includes a central processing unit (hereinafter referred to as CPU) 103, a cryptographic processing unit 104, a hash function processing unit 105, and sequence processing. The secret information 106 is held including the functional block of the authentication sequencer device 112 which is a device.

CPU103は、ソフトウェアコードを読み込み、定められた処理を実行する。   The CPU 103 reads the software code and executes a predetermined process.

暗号処理装置104は、入力された暗号鍵と処理対象データに対し、所定の暗号アルゴリズムに基づいた処理を行ない、処理結果データを出力する。この暗号処理装置104はCPU103からの処理命令に応じて動作し、また、マイクロコンピュータ102外と直接データをやり取りする機能を有しない。   The cryptographic processing device 104 performs processing based on a predetermined cryptographic algorithm on the input cryptographic key and processing target data, and outputs processing result data. The cryptographic processing device 104 operates in accordance with a processing command from the CPU 103 and does not have a function of directly exchanging data with the outside of the microcomputer 102.

暗号処理装置104の動作は、CPU103から見てブラックボックスであり、暗号処理の中間状態などは観察されない。また、LSI内の機能ブロックであり、かつ、マイクロコンピュータ102外と直接データをやり取りしないことから、同様に、マイクロコンピュータ102外部から暗号処理の中間状態などは観察されない。暗号アルゴリズムの選択は任意である。   The operation of the cryptographic processing device 104 is a black box as seen from the CPU 103, and an intermediate state of the cryptographic processing is not observed. Further, since it is a functional block in the LSI and does not exchange data directly with the outside of the microcomputer 102, similarly, an intermediate state of encryption processing or the like is not observed from the outside of the microcomputer 102. The selection of the encryption algorithm is arbitrary.

ハッシュ関数処理装置105は、入力された処理対象データに対し、所定のハッシュ関数アルゴリズムに基づいた処理を行ない、処理結果データを出力する。暗号処理装置104と同様に、ハッシュ関数処理装置105の動作は、CPU103から見てブラックボックスであり、かつ、マイクロコンピュータ外部からハッシュ関数処理の中間状態などは観察されない。   The hash function processing device 105 performs processing based on a predetermined hash function algorithm on the input processing target data, and outputs processing result data. Similar to the cryptographic processing device 104, the operation of the hash function processing device 105 is a black box as viewed from the CPU 103, and an intermediate state of the hash function processing is not observed from the outside of the microcomputer.

ハッシュ関数アルゴリズムの選択は任意であるが、ハッシュ関数処理装置105においては、通常のハッシュ関数アルゴリズムに加え、鍵付きハッシュ関数と称される、秘密情報の共有と処理対象データの完全性を同時に認証することのできるアルゴリズムの処理も可能である。   Although the selection of the hash function algorithm is arbitrary, the hash function processing apparatus 105 simultaneously authenticates the sharing of secret information and the integrity of the processing target data, called a keyed hash function, in addition to the normal hash function algorithm. It is also possible to process algorithms that can.

秘密情報106は、マイクロコンピュータ102内で秘密裏に保持される情報で、情報処理装置101によって実現されるアプリケーションが必要とする任意の秘密情報であり、暗号処理装置104、ハッシュ関数処理装置105にて用いられる暗号鍵、何らかの処理に必要なIDや定数値などであってよい。   The secret information 106 is information secretly held in the microcomputer 102 and is arbitrary secret information required by an application realized by the information processing apparatus 101. The secret information 106 is stored in the cryptographic processing apparatus 104 and the hash function processing apparatus 105. Or an encryption key used for a certain process, an ID required for some processing, a constant value, or the like.

秘密情報106をマイクロコンピュータ102内で秘密裏に保持する機能としては、ROMなどの書換え不可能な不揮発性メモリを設け保管、EEPROM、フラッシュメモリなどの書換え可能な不揮発性メモリを設け保管、フリップフロップ素子によるハードウェアレジスタの初期値として保管、など任意の手法を用いてよい。   The secret information 106 is kept secretly in the microcomputer 102 by providing a non-rewritable non-volatile memory such as a ROM, storing a rewritable non-volatile memory such as an EEPROM or flash memory, and a flip-flop. Arbitrary methods such as storage as an initial value of a hardware register by an element may be used.

揮発性記憶装置107は、マイクロコンピュータ102が、演算処理を行なう際にワーク領域として用いるSDRAMなどの揮発性の記憶装置である。   The volatile storage device 107 is a volatile storage device such as an SDRAM used as a work area when the microcomputer 102 performs arithmetic processing.

不揮発性記憶装置108は、マイクロコンピュータ102が、処理を行なう際に必要となるOSやアプリケーション、データを保管するための、フラッシュメモリ、ハードディスクなどの不揮発性の記憶装置である。   The non-volatile storage device 108 is a non-volatile storage device such as a flash memory or a hard disk for storing an OS, applications, and data necessary for the microcomputer 102 to perform processing.

不揮発性記憶装置108には、情報処理装置101の起動時に、CPU103に読み込まれ、その後に実行すべきソフトウェアを指定する第1のプログラムであるブートローダプログラム(以下、ブートローダとする)109、CPU103に読み込まれ、処理されるオペレーティングシステムプログラム(以下、OSとする)110が格納されている。   The nonvolatile storage device 108 is read by the CPU 103 when the information processing apparatus 101 is started, and is read by the CPU 103, which is a boot loader program (hereinafter referred to as a boot loader) 109, which is a first program for designating software to be executed thereafter. An operating system program (hereinafter referred to as OS) 110 to be processed is stored.

OS110は、ブートローダ109によって読出しを指定される。情報処理装置101の用途によっては、OS110を搭載せずにアプリケーションプログラムのみ搭載するようなシステムも存在する。本実施の形態においては、OS110をアプリケーションプログラムと読み替えることで、そのようなOSレスのシステムについても同様に考えることが可能である。   The OS 110 is designated to be read by the boot loader 109. Depending on the application of the information processing apparatus 101, there is a system in which only an application program is installed without installing the OS 110. In this embodiment, such an OS-less system can be similarly considered by replacing the OS 110 with an application program.

認証シーケンサ装置112は、情報処理装置101の起動時に動作し、ブートローダ109の正当性を認証する機能を有する。この認証シーケンサ装置112はCPU103とは独立して動作し、秘密情報106に独自にアクセスする機能、暗号処理装置104、ハッシュ関数処理装置105に対して必要な命令を発行し、出力結果値を入力する機能を有する。また、不揮発性記憶装置108にアクセスし、所定のプログラム、データなどを入力する機能を有する。   The authentication sequencer device 112 operates when the information processing apparatus 101 is activated, and has a function of authenticating the validity of the boot loader 109. This authentication sequencer device 112 operates independently of the CPU 103, issues a necessary instruction to the encryption processing device 104 and the hash function processing device 105, and inputs an output result value. It has the function to do. Further, it has a function of accessing the nonvolatile memory device 108 and inputting a predetermined program, data, and the like.

なお、情報処理装置101の構成要素であるマイクロコンピュータ102、CPU103、暗号処理装置104、ハッシュ関数処理装置105、秘密情報106、揮発性記憶装置107、不揮発性記憶装置108、認証シーケンサ装置112は論理的構成を示し、必ずしも物理的に図と同一構成である必要はない。例えば、秘密情報106は物理的には暗号処理装置104やハッシュ関数処理装置105に保管されていてもよい。また、暗号処理装置104やハッシュ関数処理装置105などの処理機能は、専用のハードウェアによる実装としてもよいし、独立したCPUと、メモリに保管されるプログラムによる実装としてもよく、物理的な構成方法は問わない。   Note that the microcomputer 102, the CPU 103, the cryptographic processing device 104, the hash function processing device 105, the secret information 106, the volatile storage device 107, the nonvolatile storage device 108, and the authentication sequencer device 112, which are components of the information processing apparatus 101, are logical. It does not necessarily need to be physically the same as the figure. For example, the secret information 106 may be physically stored in the cryptographic processing device 104 or the hash function processing device 105. Further, the processing functions such as the cryptographic processing device 104 and the hash function processing device 105 may be implemented by dedicated hardware, or may be implemented by an independent CPU and a program stored in a memory. It doesn't matter how.

<マイクロコンピュータを搭載した情報処理装置の動作>
次に、図2〜図5により、本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の動作について説明する。図2〜図5は本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の動作を示すフローチャートである。
<Operation of information processing device equipped with microcomputer>
Next, the operation of the information processing apparatus equipped with the microcomputer according to the first embodiment of the present invention will be described with reference to FIGS. 2 to 5 are flowcharts showing the operation of the information processing apparatus equipped with the microcomputer according to the first embodiment of the present invention.

まず、図2に示すように、情報処理装置101は、電源が投入されると、電源投入時に必要な各機能モジュールの初期化を行ない、各機能モジュールが正常に動作するかを確認する(ステップ201)。   First, as shown in FIG. 2, when the power is turned on, the information processing apparatus 101 initializes each functional module required when the power is turned on, and confirms whether each functional module operates normally (step). 201).

次に、各機能モジュールの初期化完了後、認証シーケンサ装置112の指示に従い、ブートローダ109が改竄されておらず、完全性を有しているか否かを認証する(ステップ202)。   Next, after the initialization of each functional module is completed, according to the instruction of the authentication sequencer device 112, it is authenticated whether the boot loader 109 has been falsified and has integrity (step 202).

以下、具体的手順の一例を示す。まず、前提条件を2つ示す。ブートローダ109は、ブートローダ本体と、予め定められた秘密鍵を用いて求められたブートローダ本体の鍵付きハッシュ値とから構成される。また、予め定められた秘密鍵は、秘密情報106に予め保管されている。   An example of a specific procedure is shown below. First, two preconditions are shown. The boot loader 109 includes a boot loader body and a keyed hash value of the boot loader body that is obtained using a predetermined secret key. A predetermined secret key is stored in the secret information 106 in advance.

次に、動作手順を説明する。認証シーケンサ装置112は、不揮発性記憶装置108にアクセスし、ブートローダ109領域からブートローダ本体を読み込む。次に、認証シーケンサ装置112は、秘密情報106に保管されている予め定められた秘密鍵を取り出し、ブートローダ本体と予め定められた秘密鍵を、ハッシュ関数処理装置105に入力し、上記2つの入力値から、鍵付きハッシュ値を求める。   Next, an operation procedure will be described. The authentication sequencer device 112 accesses the nonvolatile storage device 108 and reads the boot loader body from the boot loader 109 area. Next, the authentication sequencer device 112 retrieves a predetermined secret key stored in the secret information 106, inputs the boot loader body and the predetermined secret key to the hash function processing device 105, and inputs the above two inputs. The keyed hash value is obtained from the value.

次に、認証シーケンサ装置112は、不揮発性記憶装置108にアクセスし、ブートローダ109領域からブートローダ本体の鍵付きハッシュ値を読み込み、先に求めた鍵付きハッシュ値との比較を行なう。2つの鍵付きハッシュ値が一致すれば、ブートローダ本体の完全性は証明され、また、ブートローダ109は、情報処理装置101と予め定められた秘密鍵を共有する主体によって生成されたことも証明される。   Next, the authentication sequencer device 112 accesses the non-volatile storage device 108, reads the keyed hash value of the boot loader body from the boot loader 109 area, and compares it with the previously obtained keyed hash value. If the two keyed hash values match, the integrity of the boot loader body is proved, and it is also proved that the boot loader 109 is generated by a subject sharing a predetermined secret key with the information processing apparatus 101. .

また、完全性検証手順としては、以下の手順を用いてもよい。   Further, the following procedure may be used as the integrity verification procedure.

まず、前提条件を2つ示す。ブートローダ109は、ブートローダ本体と、ブートローダ本体のハッシュ値とから構成され、更にこれら2つのデータを予め定められた暗号鍵によって暗号化された暗号化データとなっている。   First, two preconditions are shown. The boot loader 109 is composed of a boot loader main body and a hash value of the boot loader main body, and is further encrypted data obtained by encrypting these two data with a predetermined encryption key.

また、予め定められた暗号鍵は、秘密情報106に予め保管されている。   A predetermined encryption key is stored in the secret information 106 in advance.

次に、動作手順を説明する。認証シーケンサ装置112は、不揮発性記憶装置108にアクセスし、ブートローダ109領域から暗号化されたブートローダ本体、および、ブートローダ本体のハッシュ値を読み込む。   Next, an operation procedure will be described. The authentication sequencer device 112 accesses the nonvolatile storage device 108 and reads the encrypted boot loader body and the hash value of the boot loader body from the boot loader 109 area.

次に、認証シーケンサ装置112は、秘密情報106に保管されている予め定められた暗号鍵を取り出し、暗号化されたブートローダ本体とブートローダ本体のハッシュ値と予め定められた暗号鍵を、暗号処理装置104に入力し、上記2つの入力値から、ブートローダ本体、および、ブートローダ本体のハッシュ値を求める。   Next, the authentication sequencer device 112 takes out a predetermined encryption key stored in the secret information 106, and uses the encrypted boot loader body, the hash value of the boot loader body, and the predetermined encryption key as the encryption processing device. The boot loader body and the hash value of the boot loader body are obtained from the two input values.

次に、認証シーケンサ装置112は、得られたブートローダ本体を、ハッシュ関数処理装置105に入力し、ブートローダ本体のハッシュ値を求める。   Next, the authentication sequencer device 112 inputs the obtained boot loader body to the hash function processing device 105, and obtains the hash value of the boot loader body.

次に、認証シーケンサ装置112は、先に暗号化されたブートローダ本体、および、ブートローダ本体のハッシュ値から得られたハッシュ値と、ハッシュ関数処理装置105の出力として得られたハッシュ値との比較を行なう。2つのハッシュ値が一致すれば、ブートローダ本体の完全性は証明され、また、ブートローダ109は、情報処理装置101と予め定められた暗号鍵を共有する主体によって生成されたことも証明される。   Next, the authentication sequencer device 112 compares the previously encrypted boot loader body and the hash value obtained from the hash value of the boot loader body with the hash value obtained as the output of the hash function processing device 105. Do. If the two hash values match, the integrity of the boot loader body is proved, and it is also proved that the boot loader 109 has been generated by a subject sharing a predetermined encryption key with the information processing apparatus 101.

秘密情報106に保管する暗号鍵は、暗号アルゴリズムとして共通鍵アルゴリズムを用いるのであれば、ブートローダ本体、および、ブートローダ本体のハッシュ値の暗号化に用いるものと同一の鍵であり、暗号アルゴリズムとして公開鍵アルゴリズムを用いるのであれば、鍵ペアの片方である。処理速度の観点からは、一般的に共通鍵暗号アルゴリズムを選択した方が有利であることはいうまでもない。   If the common key algorithm is used as the encryption algorithm, the encryption key stored in the secret information 106 is the same key used for encrypting the boot loader body and the hash value of the boot loader body, and the public key is used as the encryption algorithm. If an algorithm is used, it is one of the key pairs. Needless to say, it is generally more advantageous to select a common key encryption algorithm from the viewpoint of processing speed.

ステップ202の認証処理の結果より、認証成功の場合にはステップ204へ、認証失敗の場合にはステップ205へと遷移する(ステップ203)。   Based on the result of the authentication process in step 202, the process proceeds to step 204 if the authentication is successful, and to step 205 if the authentication fails (step 203).

ステップ202の処理において認証成功の場合、認証シーケンサ装置112の指示により、マイクロコンピュータ102内の特定の機能が有効となる(ステップ204)。ここで有効となる機能の種類は任意であるが、例えば、以下のようなものとしてもよい。   When the authentication is successful in the process of step 202, a specific function in the microcomputer 102 is enabled by an instruction from the authentication sequencer device 112 (step 204). The types of functions that are effective here are arbitrary, but may be as follows, for example.

情報処理装置101の主たるアプリケーションがセキュリティ処理機能、性能に大きく依存する場合に、その機能実現に重要な役割を果たす、暗号処理装置104、ハッシュ関数処理装置105などのセキュリティ関連処理機能や、秘密情報106に保管される、何らかの認証処理に必要な共有情報等へのアクセス機能が有効となる。   When the main application of the information processing apparatus 101 greatly depends on the security processing function and performance, security-related processing functions such as the cryptographic processing apparatus 104 and the hash function processing apparatus 105 that play an important role in realizing the function, and secret information The access function to the shared information necessary for some kind of authentication processing stored in 106 becomes effective.

機能の有効、無効を切り替える方法としては以下のような方式を利用してもよい。暗号処理装置104、ハッシュ関数処理装置105や秘密情報106を保管する記憶実体は、自身へのCPU103からのアクセスの有効、無効を設定する設定レジスタを具備し、設定レジスタは、認証シーケンサ装置112の指示によってのみ変更される。   The following method may be used as a method for switching between valid and invalid of the function. The storage entity that stores the cryptographic processing device 104, the hash function processing device 105, and the secret information 106 includes a setting register that sets whether access to the CPU 103 from the CPU 103 is valid or invalid. Only changed by instruction.

これにより、装置類は、CPU103から見た場合の、機能的な接続、分離が実現される。また、特定機能として、図1には示していない、ブートローダ認証成否結果を示すレジスタを設け、レジスタに処理結果に当する値を設定してもよい。   As a result, the devices can be functionally connected and separated when viewed from the CPU 103. Further, as a specific function, a register indicating a boot loader authentication success / failure result not shown in FIG. 1 may be provided, and a value corresponding to the processing result may be set in the register.

次に、ステップ203、またはステップ204からの遷移により、マイクロコンピュータ102内の特定の機能以外の機能が有効となる(ステップ205)。この処理は、ステップ204で示した設定レジスタと同様に、その他の装置類の機能の有効、無効を明示的に設定してもよいし、特に設定レジスタ類は設けず、無効化処理がないことで結果として当装置類の機能が有効となるとしてもよい。   Next, a function other than a specific function in the microcomputer 102 is enabled by the transition from step 203 or step 204 (step 205). In this process, as in the setting register shown in step 204, the validity or invalidity of the functions of other devices may be explicitly set. In particular, no setting registers are provided and there is no invalidation process. As a result, the functions of the devices may be effective.

ステップ205までの処理が完了すると、認証シーケンサ装置112は、CPU103に制御を移す。CPU103は、不揮発性記憶装置108からブートローダ109を読み込み、ブート処理を行なう(ステップ206)。   When the processing up to step 205 is completed, the authentication sequencer device 112 transfers control to the CPU 103. The CPU 103 reads the boot loader 109 from the nonvolatile storage device 108 and performs boot processing (step 206).

ステップ202の説明において、ブートローダ109が暗号化されて保管されている場合を示したが、そのような場合には、マイクロコンピュータ102内に、図1には示していない小容量のRAMを設け、そのRAM内に、ステップ202にて復号したブートローダを保管しておき、CPU103が、不揮発性記憶装置108の代わりにRAMからブートローダ109を読み込むという処理を行なってもよい。   In the description of step 202, the case where the boot loader 109 is encrypted and stored is shown. In such a case, the microcomputer 102 is provided with a small-capacity RAM not shown in FIG. The boot loader decrypted in step 202 may be stored in the RAM, and the CPU 103 may perform a process of reading the boot loader 109 from the RAM instead of the nonvolatile storage device 108.

更に、CPU103は、ブートローダ109に示される指示に従い、処理を進め、OS110をロードし、その他、情報処理装置101に必要なアプリケーションを実行する(ステップ207)。   Further, the CPU 103 proceeds with processing according to the instruction indicated by the boot loader 109, loads the OS 110, and executes other necessary applications for the information processing apparatus 101 (step 207).

なお、図2には示していないが、認証シーケンサ装置112がステップ202にてブートローダ109に対して行なった認証処理と同様に、ステップ206にてCPU103がブートローダ109の指示によりOS110に対して、また、ステップ207にてCPU103がOS110の指示により任意のアプリケーションに対して、認証処理を行なうことで、情報処理装置101の起動後に実行されるプログラムの改竄有無を確認することが可能であり、実行されるプログラムの完全性を保証可能な情報処理装置を実現可能である。   Although not shown in FIG. 2, similar to the authentication process performed by the authentication sequencer device 112 for the boot loader 109 in step 202, the CPU 103 instructs the OS 110 in response to an instruction from the boot loader 109 in step 206. In step 207, the CPU 103 performs authentication processing on an arbitrary application in accordance with an instruction from the OS 110, whereby it is possible to check whether or not the program executed after the information processing apparatus 101 is activated is executed. It is possible to realize an information processing apparatus that can guarantee the completeness of a program.

また、ステップ204に示したブートローダ認証成否結果を示すレジスタを設けた場合、OSやアプリケーションが同レジスタ値を直接参照することで、実行内容を選択する、といった機能を追加することも可能である。   Further, when the register indicating the boot loader authentication success / failure result shown in step 204 is provided, it is possible to add a function such that the OS or application directly refers to the register value to select the execution contents.

ここで、具体例として、本実施の形態に係るマイクロコンピュータ102を搭載した情報処理装置101を、著作権保護機能で管理された有価値コンテンツを取り扱うコンテンツ再生機器に適用した場合を考える。   Here, as a specific example, consider a case where the information processing apparatus 101 equipped with the microcomputer 102 according to the present embodiment is applied to a content reproduction device that handles valuable value content managed by the copyright protection function.

このような応用の場合、不揮発性記憶装置108には、暗号化された有価値コンテンツ、有価値コンテンツを再生するための再生プログラム、秘密情報106には、暗号化された有価値コンテンツを復号するための暗号鍵が保管され、暗号化された有価値コンテンツは、CPU103、暗号処理装置104の機能により復号され、図1には示していない、表示装置、音声再生装置により再生される、というのが一般的な形式である。   In such an application, the non-volatile storage device 108 stores the encrypted valuable value content, a reproduction program for reproducing the valuable value content, and the secret information 106 decrypts the encrypted valuable value content. An encrypted valuable value content for storing the encrypted key content is decrypted by the functions of the CPU 103 and the cryptographic processing device 104, and is reproduced by a display device and an audio reproduction device not shown in FIG. Is a common format.

情報処理装置101におけるブートローダ109が、悪意の有無は問わず何らかの理由により改竄され、ステップ203の処理にて認証に失敗した場合、OS、アプリ類は実行されるが、ステップ204に示す重要な一部機能が無効化されている。   If the boot loader 109 in the information processing apparatus 101 is falsified for any reason regardless of whether it is malicious or not and authentication fails in the process of step 203, the OS and applications are executed. Function is disabled.

ここで無効化されるのが、秘密情報106に保管されている、有価値コンテンツの再生に必要な暗号鍵へのアクセス機能とすることで、有価値コンテンツの再生は不可能となる。著作権保護機能への攻撃可能性検知を、有価値コンテンツの不正使用に繋がると判断し、コンテンツ再生機器としての機能を制限することとなる。   In this case, the invalidation of the valuable value content becomes impossible by using an access function to the encryption key necessary for reproducing the valuable value content stored in the secret information 106. It is determined that the detection of the possibility of attack on the copyright protection function leads to unauthorized use of the valuable value content, and the function as the content reproduction device is limited.

しかしながら、ステップ205において、有価値コンテンツの再生とは直接関係しない、情報処理装置101の他の機能は有効化され、ユーザに対し、有価値コンテンツの再生以外の機能を提供することは妨げない。以上により、著作権保護などの重要な機能を実現しつつ、ユーザの利便性を過度に制限しないことを特徴とする情報処理装置が実現可能である。   However, in step 205, other functions of the information processing apparatus 101 that are not directly related to the reproduction of the valuable value content are enabled, and it is not hindered to provide the user with a function other than the reproduction of the valuable value content. As described above, it is possible to realize an information processing apparatus that realizes important functions such as copyright protection while not excessively limiting user convenience.

また、このような応用の場合、情報処理装置101に用いるマイクロコンピュータ102には、暗号処理装置104、ハッシュ関数処理装置105、秘密情報106のようなセキュリティ処理に関する機能は必然的に具備されている。従って、ブートローダ109を認証するために追加が必要な装置は認証シーケンサ装置112のみであり、小さな追加コストにて、実行されるアプリケーション認証の基盤に当たるブートローダの認証機能を実現可能である。   In such an application, the microcomputer 102 used in the information processing apparatus 101 is necessarily provided with functions related to security processing such as the cryptographic processing apparatus 104, the hash function processing apparatus 105, and the secret information 106. . Therefore, the authentication sequencer device 112 is the only device that needs to be added to authenticate the boot loader 109, and the boot loader authentication function that is the basis of the application authentication to be executed can be realized at a small additional cost.

更に、認証シーケンサ装置112はCPU103とは独立して動作し、また、その内部動作をCPU103から検知する機能を有しないことから、CPU向けのデバッガなどを用いて認証シーケンサ装置112の動作解析を行なうことは不可能である。   Further, since the authentication sequencer device 112 operates independently of the CPU 103 and does not have a function of detecting the internal operation from the CPU 103, the operation of the authentication sequencer device 112 is analyzed using a CPU debugger or the like. It is impossible.

また、暗号処理装置104、ハッシュ関数処理装置105、認証シーケンサ装置112をそれぞれ専用のハードウェア回路で構成した場合、一般的なCPUでのソフトウェア処理と比較して高速処理が期待でき、情報処理装置101の起動時間短縮といったユーザビリティ上の効果が見込める。   In addition, when each of the cryptographic processing device 104, the hash function processing device 105, and the authentication sequencer device 112 is configured with dedicated hardware circuits, high-speed processing can be expected as compared with software processing in a general CPU. An effect on usability such as a reduction in the startup time of 101 can be expected.

以上、本実施の形態に係るマイクロコンピュータ102を搭載した情報処理装置101の動作を説明したが、図3に示すような動作としてもよい。   The operation of the information processing apparatus 101 equipped with the microcomputer 102 according to this embodiment has been described above. However, the operation may be as shown in FIG.

図3において、ステップ301は、図2に示したステップ201、ステップ303からステップ308はそれぞれ、図2に示したステップ202からステップ207と概略同一の動作であり、詳細な説明は省略する。但し、ステップ304の遷移先ステップは、ステップ305、ステップ306となる。   3, step 301 is substantially the same as step 201 to step 308 shown in FIG. 2, and step 201 shown in FIG. However, the transition destination steps in step 304 are step 305 and step 306.

ステップ302において、各機能モジュールの初期化完了後、マイクロコンピュータ102はブートローダ109の認証が必要であるかを判定し、必要である場合には、ステップ303に、不要である場合には、ステップ306に遷移する(ステップ302)。   In step 302, after the initialization of each functional module is completed, the microcomputer 102 determines whether authentication of the boot loader 109 is necessary. If necessary, the microcomputer 102 proceeds to step 303. If not necessary, the microcomputer 102 proceeds to step 306. (Step 302).

上記手順は、電源投入後の機能モジュールの初期化完了後に、不揮発性記憶装置108に保管されたブートローダ109にアクセスするのが、認証シーケンサ装置112であるか、CPU103であるかを決定するステップである。   The above procedure is a step of determining whether the authentication sequencer device 112 or the CPU 103 accesses the boot loader 109 stored in the nonvolatile storage device 108 after the initialization of the functional module after the power is turned on. is there.

前者であれば、本実施の形態の特徴であるブートローダ109の認証処理(ステップ303)が実行され、後者であれば、一般的な情報処理装置での起動処理が実行される。   If the former, authentication processing (step 303) of the boot loader 109, which is a feature of the present embodiment, is executed, and if the latter, startup processing in a general information processing apparatus is executed.

図3に示す動作を採ることで、ブートローダを認証する機能を有するマイクロコンピュータ102であっても、マイクロコンピュータ102を搭載する情報処理装置で、一般的な情報処理装置の起動処理が実現可能となり、マイクロコンピュータの汎用性が向上する効果が得られる。   By adopting the operation shown in FIG. 3, even if the microcomputer 102 has a function of authenticating the boot loader, it is possible to realize a general information processing apparatus startup process by the information processing apparatus equipped with the microcomputer 102. The effect of improving the versatility of the microcomputer can be obtained.

また、マイクロコンピュータ102がブートローダ109の認証が必要であるかを判定する手法としては、マイクロコンピュータ102に、図1には示していない、機能ピンを設け、電源投入時の機能ピンの論理入力により、機能切り替えを行なうという手法を用いてもよい。   Further, as a method for determining whether the microcomputer 102 needs to authenticate the boot loader 109, a function pin not shown in FIG. 1 is provided in the microcomputer 102, and the function pin is logically input when the power is turned on. Alternatively, a method of switching functions may be used.

同様に、本実施の形態に係る情報処理装置の動作は、図4に示すような動作としてもよい。   Similarly, the operation of the information processing apparatus according to the present embodiment may be as shown in FIG.

図4において、ステップ601からステップ607はそれぞれ、図2に示したステップ201からステップ207と概略同一の動作であり、詳細な説明は省略する。但し、ステップ603の遷移先ステップは、ステップ604、ステップ608となる。   In FIG. 4, steps 601 to 607 are substantially the same operations as steps 201 to 207 shown in FIG. 2, and detailed description thereof will be omitted. However, the transition destination steps of step 603 are step 604 and step 608.

ステップ608において、情報処理装置101は、図1に示していない、表示装置、音声出力装置を通して、ユーザに認証処理に失敗し、特定の機能が有効となっていないことに関するメッセージを伝達する。   In step 608, the information processing apparatus 101 transmits a message regarding that the authentication process has failed and the specific function is not valid to the user through the display apparatus and the audio output apparatus not shown in FIG.

上記の機能は、ユーザに情報処理装置101の機能状態を伝達することでシステム利便性の向上に効果がある。   The above functions are effective in improving system convenience by transmitting the function state of the information processing apparatus 101 to the user.

また、本実施形態に係る情報処理装置の動作は、図5に示すような動作としてもよい。   Further, the operation of the information processing apparatus according to the present embodiment may be an operation as shown in FIG.

図5において、ステップ701からステップ707はそれぞれ、図2に示したステップ201からステップ207と概略同一の動作であり、詳細な説明は省略する。但し、ステップ707の遷移先ステップは、ステップ708となる。   In FIG. 5, steps 701 to 707 are substantially the same operations as steps 201 to 207 shown in FIG. 2, and detailed description thereof is omitted. However, the transition destination step of Step 707 is Step 708.

ステップ708において、情報処理装置101は、図1に示していない、表示装置、音声出力装置を通して、ユーザに認証処理に失敗し、特定の機能が有効となっていないことに関するメッセージを伝達する。   In step 708, the information processing apparatus 101 transmits a message regarding the failure of the authentication process and the specific function not being effective to the user through the display apparatus and the audio output apparatus not shown in FIG.

上記の機能は、図4の動作と同様に、ユーザに情報処理装置101の機能状態を伝達することでシステム利便性の向上に効果がある。   Similar to the operation of FIG. 4, the above function is effective in improving system convenience by transmitting the function state of the information processing apparatus 101 to the user.

更に、ステップ708においては、情報処理装置101の有するOS、周辺機器などの機能を用いてユーザにメッセージを伝達することが可能であることから、ステップ608の処理と比較して処理コストが低いという利点がある。   Further, in step 708, it is possible to transmit a message to the user using the functions of the information processing apparatus 101 such as the OS and peripheral devices, so that the processing cost is lower than the processing in step 608. There are advantages.

以上、本実施の形態によれば、強固かつ安価なブートローダ認証機能を有すると共に、ユーザによる情報処理装置の利用に過度の制限を加えないことを特徴とするマイクロコンピュータを搭載した情報処理装置を実現可能である。   As described above, according to the present embodiment, an information processing apparatus equipped with a microcomputer that has a robust and inexpensive boot loader authentication function and does not place excessive restrictions on the use of the information processing apparatus by a user is realized. Is possible.

(実施の形態2)
<マイクロコンピュータを搭載した情報処理装置の構成>
図6により、本発明の実施の形態2に係るマイクロコンピュータを搭載した情報処理装置の構成について説明する。図6は本発明の実施の形態2に係るマイクロコンピュータを搭載した情報処理装置の構成を示す構成図である。
(Embodiment 2)
<Configuration of information processing device equipped with microcomputer>
With reference to FIG. 6, the configuration of the information processing apparatus including the microcomputer according to the second embodiment of the present invention will be described. FIG. 6 is a block diagram showing a configuration of an information processing apparatus equipped with a microcomputer according to Embodiment 2 of the present invention.

図6において、情報処理装置401は、実施の形態1の図1に示す情報処理装置101にネットワーク装置402を加え、ネットワーク404を介して、サーバ装置403と情報をやり取りする機能を追加したものであり、それ以外の構成は、実施の形態1の図1に示したものと同一であり、詳細な説明は省略する。   In FIG. 6, the information processing apparatus 401 is obtained by adding a network apparatus 402 to the information processing apparatus 101 shown in FIG. 1 of the first embodiment and adding a function for exchanging information with the server apparatus 403 via the network 404. The other configuration is the same as that shown in FIG. 1 of the first embodiment, and a detailed description thereof is omitted.

なお、図6では、情報処理装置401を構成するのに最低限必要な機能構成を示しており、これ以外の機能ブロックを有してもよい。   Note that FIG. 6 shows the minimum functional configuration required to configure the information processing apparatus 401, and other functional blocks may be included.

ネットワーク装置402は、情報処理装置401に具備され、CPU101の指示に従い、情報処理装置401の外部に接続されたネットワーク404を介し、他の情報処理装置とやり取りをする。   The network apparatus 402 is provided in the information processing apparatus 401 and exchanges with other information processing apparatuses via the network 404 connected to the outside of the information processing apparatus 401 in accordance with instructions from the CPU 101.

サーバ装置403は、ネットワーク404を介して情報処理装置401と接続され、何らかのやり取りをする情報処理装置である。   The server device 403 is an information processing device that is connected to the information processing device 401 via the network 404 and performs some kind of exchange.

ネットワーク404は、ネットワーク装置402、サーバ装置403、ネットワーク装置402とサーバ装置403やその他のネットワーク対応情報処理装置などが接続されるネットワークである。   The network 404 is a network to which the network device 402, the server device 403, the network device 402 and the server device 403, and other network compatible information processing devices are connected.

ネットワーク装置402、サーバ装置403、ネットワーク404が対応するネットワーク機能は任意であり、例えば、物理媒体としては、有線媒体であっても、無線媒体であってもよいし、同媒体上で実際に情報をやり取りする通信プロトコルの種類も任意である。   The network functions supported by the network device 402, the server device 403, and the network 404 are arbitrary. For example, the physical medium may be a wired medium or a wireless medium, or information may be actually stored on the medium. The type of communication protocol for exchanging data is also arbitrary.

<マイクロコンピュータを搭載した情報処理装置の動作>
次に、図7により、本発明の実施の形態2に係るマイクロコンピュータを搭載した情報処理装置の動作について説明する。図7は本発明の実施の形態2に係るマイクロコンピュータを搭載した情報処理装置の動作を示すフローチャートである。
<Operation of information processing device equipped with microcomputer>
Next, the operation of the information processing apparatus including the microcomputer according to the second embodiment of the present invention will be described with reference to FIG. FIG. 7 is a flowchart showing the operation of the information processing apparatus equipped with the microcomputer according to the second embodiment of the present invention.

図7において、ステップ501からステップ507はそれぞれ、図2に示したステップ201からステップ207と概略同一の動作であり、詳細な説明は省略する。但し、ステップ503の遷移先ステップは、ステップ504、ステップ508となる。   In FIG. 7, steps 501 to 507 are substantially the same as steps 201 to 207 shown in FIG. 2, and a detailed description thereof will be omitted. However, the transition destination steps of step 503 are step 504 and step 508.

ステップ508において、認証シーケンサ装置112は、CPU103に処理を移し、CPU103は特定のアプリケーションを実行し、終了する。   In step 508, the authentication sequencer apparatus 112 moves the process to the CPU 103, and the CPU 103 executes a specific application and ends.

ステップ504からステップ507に遷移しないことから、情報処理装置401の具備する特定機能が有効化されることはなく(ステップ504)、また、本来起動されるべきOSやアプリケーションプログラムが起動されることもない(ステップ507)。   Since there is no transition from step 504 to step 507, the specific function of the information processing apparatus 401 is not validated (step 504), and the OS or application program that should be originally activated may be activated. No (step 507).

ステップ508にて実行されるアプリケーションとしては以下のようなものを実行してもよい。   As the application executed in step 508, the following may be executed.

情報処理装置401は、ネットワーク装置402を介して、サーバ装置403と接続し、サーバ装置403に対し、所定の情報、例えば、情報処理装置401の起動ログ情報や、機器固有のIDなどの情報を送信する。これに対し、サーバ装置403は、トラブルの内容を解析し、情報処理装置401に対して正常なブートローダをネットワーク404経由で送信し、不揮発性記憶装置108の内容を書き換える、所謂ホットフィックス処理を行なう。   The information processing apparatus 401 is connected to the server apparatus 403 via the network apparatus 402, and receives predetermined information, for example, information such as the activation log information of the information processing apparatus 401 and device-specific ID, to the server apparatus 403. Send. In response to this, the server device 403 analyzes the content of the trouble, transmits a normal boot loader to the information processing device 401 via the network 404, and performs so-called hotfix processing for rewriting the content of the nonvolatile storage device 108.

若しくは、図6に示していない、表示装置、音声出力装置を通して、ユーザにトラブルに対する対処方法に関するメッセージを伝達する。上記の機能は情報処理装置401に対する、システムとしてのメンテナンスコストの低減に効果がある。   Alternatively, a message relating to a troubleshooting method is transmitted to the user through a display device and an audio output device not shown in FIG. The above function is effective in reducing the maintenance cost of the information processing apparatus 401 as a system.

以上の処理により、情報処理装置401のブートローダ109に、ユーザの意図しない不具合があった場合に、ネットワーク経由で自動的、または半自動的に、不具合を修正する機能を提供することが可能であり、ユーザのシステム可用性が向上する効果が得られる。   With the above processing, it is possible to provide a function for correcting a problem automatically or semi-automatically via a network when the boot loader 109 of the information processing apparatus 401 has a problem not intended by the user. An effect of improving the system availability of the user can be obtained.

一方、ステップ508への遷移が、悪意によるブートローダ109の改竄に起因するような場合には、ステップ508で実行される特定のアプリケーションの内容も改竄されており、本来期待されるネットワーク経由の不具合修正機能が正常に実行されない危険性がある。しかしながら、その場合でも、ステップ504に遷移するパスが存在しないことから、セキュリティ上重要な機能が不正に有効化されることはなく、セキュリティ性能の劣化は生じない。   On the other hand, if the transition to step 508 is caused by malicious alteration of the boot loader 109, the content of the specific application executed in step 508 is also altered, and the originally expected defect correction via the network is corrected. There is a risk that the function will not execute properly. However, even in that case, since there is no path for transition to step 504, functions important for security are not illegally activated, and security performance does not deteriorate.

以上、本実施の形態によれば、強固かつ安価なブートローダ認証機能を有すると共に、不具合発生時に自動的に情報機器に対して修正処理を行なうなど、ユーザによる情報処理装置の利用性を向上させることを特徴とする情報処理装置を実現可能である。   As described above, according to the present embodiment, it is possible to improve the usability of the information processing apparatus by the user, such as having a robust and inexpensive boot loader authentication function and automatically performing correction processing on the information device when a failure occurs. It is possible to realize an information processing apparatus characterized by the above.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、任意のソフトウェアコードに基づき何らかの情報処理を行なうマイクロコンピュータに関し、特に、マイクロコンピュータを搭載した情報処理装置を起動させる際に用いるブートプログラム、ローダプログラムと称されるソフトウェアコードの改竄防止を行う情報処理装置に適用可能である。   The present invention relates to a microcomputer that performs some information processing based on an arbitrary software code, and in particular, to prevent falsification of a software code called a boot program or a loader program used when starting an information processing apparatus equipped with the microcomputer. The present invention can be applied to an information processing apparatus to be performed.

本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の構成を示す構成図である。It is a block diagram which shows the structure of the information processing apparatus carrying the microcomputer which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the information processing apparatus carrying the microcomputer based on Embodiment 1 of this invention. 本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the information processing apparatus carrying the microcomputer based on Embodiment 1 of this invention. 本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the information processing apparatus carrying the microcomputer based on Embodiment 1 of this invention. 本発明の実施の形態1に係るマイクロコンピュータを搭載した情報処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the information processing apparatus carrying the microcomputer based on Embodiment 1 of this invention. 本発明の実施の形態2に係るマイクロコンピュータを搭載した情報処理装置の構成を示す構成図である。It is a block diagram which shows the structure of the information processing apparatus carrying the microcomputer which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係るマイクロコンピュータを搭載した情報処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the information processing apparatus carrying the microcomputer which concerns on Embodiment 2 of this invention.

符号の説明Explanation of symbols

101…情報処理装置、102…マイクロコンピュータ、103…CPU、104…暗号処理装置、105…ハッシュ関数処理装置、106…秘密情報、107…揮発性記憶装置、108…不揮発性記憶装置、109…ブートローダ、110…OS、111…データバス、112…認証シーケンサ装置、401…情報処理装置、402…ネットワーク装置、403…サーバ装置、404…ネットワーク。   DESCRIPTION OF SYMBOLS 101 ... Information processing apparatus, 102 ... Microcomputer, 103 ... CPU, 104 ... Cryptographic processing apparatus, 105 ... Hash function processing apparatus, 106 ... Secret information, 107 ... Volatile storage device, 108 ... Nonvolatile storage device, 109 ... Boot loader 110 ... OS, 111 ... data bus, 112 ... authentication sequencer device, 401 ... information processing device, 402 ... network device, 403 ... server device, 404 ... network.

Claims (2)

中央演算処理装置と、
前記中央演算処理装置とは独立に動作するシーケンス処理装置とを備え、
前記中央演算処理装置での、第1のプログラムの実行に先立ち、前記シーケンス処理装置により、前記第1のプログラムの認証を行い、その認証結果に基づいて、暗号処理装置による暗号処理機能、またはハッシュ関数処理装置によるハッシュ関数処理機能の有効または無効を設定して、前記中央演算処理装置による制御に移行することを特徴とするマイクロコンピュータ。
A central processing unit;
A sequence processor that operates independently of the central processing unit;
Prior to execution of the first program in the central processing unit, the sequence processing device authenticates the first program, and based on the authentication result, the cryptographic processing function or hash by the cryptographic processing device A microcomputer characterized by setting the validity or invalidity of a hash function processing function by a function processing device and shifting to control by the central processing unit.
中央演算処理装置と、前記中央演算処理装置とは独立に動作するシーケンス処理装置とを備えたマイクロコンピュータのソフトウェア改竄防止方法であって、
前記中央演算処理装置での、第1のプログラムの実行に先立ち、前記シーケンス処理装置により、前記第1のプログラムの認証を行い、その認証結果に基づいて、暗号処理装置による暗号処理機能、またはハッシュ関数処理装置によるハッシュ関数処理機能の有効または無効を設定して、前記中央演算処理装置による制御に移行することを特徴とするマイクロコンピュータのソフトウェア改竄防止方法。
A microcomputer software tampering prevention method comprising a central processing unit and a sequence processing unit that operates independently of the central processing unit,
Prior to execution of the first program in the central processing unit, the sequence processing device authenticates the first program, and based on the authentication result, the cryptographic processing function or hash by the cryptographic processing device A method for preventing falsification of microcomputer software, comprising setting whether the function of the hash function processing function by the function processing device is valid or invalid and shifting to control by the central processing unit.
JP2006139648A 2006-05-19 2006-05-19 Microcomputer and its software falsification prevention method Expired - Fee Related JP4791250B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006139648A JP4791250B2 (en) 2006-05-19 2006-05-19 Microcomputer and its software falsification prevention method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006139648A JP4791250B2 (en) 2006-05-19 2006-05-19 Microcomputer and its software falsification prevention method

Publications (2)

Publication Number Publication Date
JP2007310688A JP2007310688A (en) 2007-11-29
JP4791250B2 true JP4791250B2 (en) 2011-10-12

Family

ID=38843475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006139648A Expired - Fee Related JP4791250B2 (en) 2006-05-19 2006-05-19 Microcomputer and its software falsification prevention method

Country Status (1)

Country Link
JP (1) JP4791250B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719585B2 (en) * 2008-02-11 2014-05-06 Nvidia Corporation Secure update of boot image without knowledge of secure key
BR112013020354B1 (en) * 2011-02-16 2021-02-02 Nec Platforms, Ltd method for validating / invalidating an additional function unit, system for validating / invalidating an additional function unit and additional function unit
US9141394B2 (en) * 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
JP5062707B2 (en) * 2012-06-29 2012-10-31 Necインフロンティア株式会社 Method for enabling / disabling additional function unit, system and program thereof, and additional function unit
JP6124338B2 (en) * 2013-07-18 2017-05-10 株式会社メガチップス Information processing system
JP6354438B2 (en) * 2014-08-08 2018-07-11 大日本印刷株式会社 Information processing apparatus, information processing system, and processing program
JP6391889B2 (en) 2016-04-19 2018-09-19 三菱電機株式会社 Relay device
JP7152920B2 (en) * 2018-09-28 2022-10-13 キヤノン株式会社 Information processing device, its control method, and program
CN111651185B (en) * 2020-05-30 2022-11-11 展讯通信(上海)有限公司 Software upgrading method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108506A (en) * 1991-10-15 1993-04-30 Casio Comput Co Ltd Automatic driver repairing device
JPH09190354A (en) * 1996-01-08 1997-07-22 Nec Corp Down line load system
JP4507569B2 (en) * 2003-11-19 2010-07-21 ソニー株式会社 Information processing apparatus, information processing method, program, and recording medium
JP2005227995A (en) * 2004-02-12 2005-08-25 Sony Corp Information processor, information processing method and computer program

Also Published As

Publication number Publication date
JP2007310688A (en) 2007-11-29

Similar Documents

Publication Publication Date Title
US10915633B2 (en) Method and apparatus for device security verification utilizing a virtual trusted computing base
JP4791250B2 (en) Microcomputer and its software falsification prevention method
JP4796340B2 (en) System and method for protected operating system boot using state verification
US8458801B2 (en) High-assurance secure boot content protection
US8656146B2 (en) Computer system comprising a secure boot mechanism
EP2248063B1 (en) Method and apparatus for controlling system access during protected modes of operation
JP4089171B2 (en) Computer system
JP4689945B2 (en) Resource access method
TWI334130B (en) Embedded system insuring security and integrity, and method of increasing security thereof
JP4689946B2 (en) A system that executes information processing using secure data
TWI567580B (en) Method and system for preventing execution of malware
KR101567620B1 (en) Secure memory management system and method
US20080060072A1 (en) Information processing system, information processing method, information processing program, computer readable medium and computer data signal
US8127144B2 (en) Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit
KR20050008847A (en) Sleep protection
TW202141321A (en) Method and electronic devices for securely storing and loading firmware
KR20210089486A (en) Apparatus and method for securely managing keys
JP6636028B2 (en) Secure element
TWI393006B (en) Security system and method for code dump protection
KR20180007717A (en) Soc having double security features, and double security method for soc
Jacob et al. faulTPM: Exposing AMD fTPMs’ Deepest Secrets
CN114816549B (en) Method and system for protecting bootloader and environment variable thereof
CN114579337A (en) Method and system for generating core dump in user equipment
US9218484B2 (en) Control method and information processing apparatus
CN116776397A (en) Method for verifying data in a computing unit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080814

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110607

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: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees