JP2011034130A - Information processor, information processing method, and program - Google Patents
Information processor, information processing method, and program Download PDFInfo
- Publication number
- JP2011034130A JP2011034130A JP2009176721A JP2009176721A JP2011034130A JP 2011034130 A JP2011034130 A JP 2011034130A JP 2009176721 A JP2009176721 A JP 2009176721A JP 2009176721 A JP2009176721 A JP 2009176721A JP 2011034130 A JP2011034130 A JP 2011034130A
- Authority
- JP
- Japan
- Prior art keywords
- kernel
- operating system
- update
- information processing
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、マルチOS環境下における情報処理装置等に関する。 The present invention relates to an information processing apparatus and the like in a multi-OS environment.
従来、情報処理装置を制御するプロセッサを複数搭載することにより、或いはマルチコアプロセッサと呼ばれる複数のプロセッサコアを搭載したプロセッサにより、情報処理装置の性能向上を図る技術がある。例えば、前記複数プロセッサの一つに実時間応答に優れたリアルタイムオペレーティングシステムを搭載し、機器制御を行わせる。また、他のプロセッサに汎用オペレーティングシステムを搭載し、ユーザインターフェース、ネットワークサービス等のアプリケーションを行わせるといったいわゆるマルチオペレーティングシステムという技術がある。
オペレーティングシステム(Operating System)は、それが動作する計算機についてあらゆる操作が可能である。そのため、OSにセキュリティ等に関する脆弱性が発見された場合、バグが発見された場合、機能追加によるアップデートを行う場合等、OSを更新する作業が必要になる場合がある。OSの更新に際し、情報処理装置は、その更新作業のために再起動が必要であった。このとき、OSが悪意をもったものに改竄され実行されてしまうと、その情報処理装置(計算機)及び計算機上で動作するすべてのプログラムに影響を及ぼす。
近年、このようなデータの改竄を検出する方法としては実行オブジェクトが本来のものであり、置換されていないことを検出する仕組みを導入する技術がある(特許文献1参照)。
Conventionally, there is a technique for improving the performance of an information processing apparatus by installing a plurality of processors for controlling the information processing apparatus or using a processor equipped with a plurality of processor cores called a multi-core processor. For example, a real-time operating system excellent in real-time response is mounted on one of the plurality of processors to control the device. In addition, there is a so-called multi-operating system technique in which a general-purpose operating system is mounted on another processor and applications such as a user interface and a network service are executed.
The operating system can perform all operations on the computer on which it operates. Therefore, when a vulnerability related to security or the like is found in the OS, when a bug is found, or when an update is performed by adding a function, the OS may need to be updated. When updating the OS, the information processing apparatus needs to be restarted for the update operation. At this time, if the OS is tampered with and executed, the information processing apparatus (computer) and all programs operating on the computer are affected.
In recent years, as a method for detecting such falsification of data, there is a technique for introducing a mechanism for detecting that an execution object is original and not replaced (see Patent Document 1).
しかしながら、特許文献1に記載の技術であっても、OSが攻撃者によって改竄され、ブートローダ後にICE等でOSを入れ替えることによって改竄されたOSで更新、実行がされてしまうおそれがあった。
However, even with the technique described in
本発明はこのような問題点に鑑みなされたもので、カーネルの更新をより安全に行うことを目的とする。 The present invention has been made in view of such problems, and an object thereof is to more safely update the kernel.
そこで、本発明は、複数のオペレーティングシステムが動作する情報処理装置であって、前記オペレーティングシステムのカーネルの更新が正当なものであるか否かを判定する判定手段と、前記判定手段で前記オペレーティングシステムのカーネルの更新が正当なものであると判定された場合、前記カーネルを更新する更新手段とを備えることを特徴とする。 Accordingly, the present invention provides an information processing apparatus in which a plurality of operating systems operate, a determination unit that determines whether a kernel update of the operating system is valid, and the determination unit that includes the operating system. And updating means for updating the kernel when it is determined that the updating of the kernel is valid.
本発明によれば、カーネルの更新をより安全に行うことができる。 According to the present invention, the kernel can be updated more safely.
以下、本発明の実施形態について図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(第1の実施形態)
本実施形態に係る情報処理装置100の構成について、図1及び図2を参照して説明する。
図1において、CPU・A101及びCPU・B102は、情報処理装置100全体を制御するCentral Processing Unit(以下、CPUと称する。)である。RAM104は、プログラムやデータを一時記憶するRandom Access Memory(以下、RAMと称する。)である。FlashROM105は、OS(オペレーティングシステム)のイメージを保存しておく書き換え可能な記憶媒体(以下、FlashROMと称する。)である。バス106は、各ユニットを通信可能に接続するシステムバス(以下、バスと称する。)である。情報処理装置100は、RAM104を共有して動作している。
図2を参照して、RAM104及びFlashROM105の構成について説明する。FlashROM105には、ブートローダ211、OS・Aのカーネル212、OS・Bのカーネル213、及びOS・Aのカーネルのバージョン番号214が格納されている。なお、本実施形態では、OS・Aのカーネル212は、オープンソースOSのカーネルイメージであり、OS・Bのカーネル213は、改竄困難な非オープンソースOSのカーネルイメージである。
ブートローダ211は、OS・Aのカーネル212をRAM104の領域201に展開し、OS・Bのカーネル213を領域202に展開する。これによりOS・AはCPU・A101上で、OS・BはCPU・B102上で動作する。
(First embodiment)
A configuration of the information processing apparatus 100 according to the present embodiment will be described with reference to FIGS. 1 and 2.
In FIG. 1, a
The configuration of the
The
(第2の実施形態)
第2の実施形態では、図3に示すように、情報処理装置100は、不揮発性メモリ111を有する。不揮発性メモリ111には、図4に示すように、更新すべきOS・Aのカーネル112、更新すべきOS・Aのカーネルに関する暗号化されたチェックサム113、及びOS・Aのカーネルのバージョン番号114が格納されている。また、OS・Bは、上記暗号化されたチェックサム113を複合化する手段と、更新するOS・Aのカーネル112でOS・Aのカーネル212を更新する更新手段を有する。なお、暗号化、復号化の方法としては電子証明書のようなものを採用する。また、第1の実施形態に係る構成と同一の構成については、同一の符号を用い、説明を省略する。
(Second Embodiment)
In the second embodiment, as illustrated in FIG. 3, the information processing apparatus 100 includes a
本実施形態に係る主な処理を図5及び図6に示す。はじめに、ブートローダ211がOS・Aのカーネル212及びOS・Bのカーネル213を夫々RAM104の所定の位置に展開し(ステップS102、ステップS106)、各OSの実行を開始させる(ステップS103、ステップS107)。なお、ブートローダ211によって実行されるOS・A及びOS・Bは、夫々独立して処理を進める。
ここで、不揮発性メモリ111は、例えばメモリカードのような可搬メモリと、この可搬メモリを読むことができる装置とにより構成されているものとする。そして、可搬メモリには、更新を行うOS・Aのカーネル112とその暗号化されたOS・Aのチェックサム113、さらに更新を行うOS・Aのカーネルのバージョン番号114が予め格納され、可搬メモリが該装置に挿入されているものとする。
The main processing according to this embodiment is shown in FIGS. First, the
Here, it is assumed that the
図6は、本実施形態に係る更新処理を示すフローチャートである。まず、OS・Bは、不揮発性メモリ111の中身を確認し、OS・Aのカーネル112が存在するかどうかを確認する(ステップS112)。不揮発性メモリ111にOS・Aのカーネル112が格納されていない場合、OS・Bは、更新処理を終了する(ステップS118)。不揮発性メモリ111にOS・Aのカーネル112が格納されていた場合、OS・Bは、不揮発性メモリ111上のOS・Aのカーネルのバージョン番号114とFlashROM105上のカーネルのバージョン番号214とを比較する(ステップS113)。すなわち、OS・Bは、OS・Aのカーネル112が現在のものよりも新しく、更新が必要かどうか判定する。カーネルの更新が必要ない場合、OS・Bは、更新処理を終了する(ステップS118)。他方、OS・Aのカーネル112が現在のものよりも新しく、更新が必要であると判定した場合、OS・Bは、ステップS114の処理を行う。
ステップS114では、OS・Bは、OS・Aのカーネル112が不正なものであるか否かの確認を行うため、不揮発性メモリ111に格納されたOS・Aのカーネルのチェックサム113を取得する。チェックサム113は、正当なものであると証明するため暗号化がなされており、OS・Bがこの復号化鍵を有しており、OS・Bのみが復号可能とする。
次に、OS・Bは、不揮発性メモリ111上のOS・Aのカーネル112のチェックサムを算出する(ステップS115)。次に、OS・Bは、算出したチェックサムと復号化したOS・Aのチェックサムとの比較を行い(ステップS116)、一致しない場合、不揮発性メモリ111上のOS・Aのカーネル112が正当なものでないと判断し、更新処理を中断する(ステップS118)。他方、チェックサムが一致した場合、OS・Bは、ステップS117の処理を行う。
ステップS117では、OS・Bは、OS・Aのカーネル212の更新処理を行う。例えば、OS・Bは、OS・Aのカーネル112でFlashROM105のOS・Aのカーネル212を更新する。以上により、OS・Aの更新が終了し、次回の起動時には更新されたOS・Aが起動される。
FIG. 6 is a flowchart showing the update process according to the present embodiment. First, the OS • B confirms the contents of the
In step S <b> 114, the OS • B acquires the OS • A
Next, the OS • B calculates a checksum of the OS • A
In step S <b> 117, the OS • B updates the OS • A
一般に、メモリカード等の外部メディアやネットワーク上に新たなOSがあると検出された場合には、更新の処理を行うためには機器を再起動し、更新処理に入らなくてはならず、更新には概ね数分の時間を要した。その間ユーザは、機器を使用することができなかった。
しかしながら、情報処理装置100は、改変の困難なOS・Bによって他方のOS・Aのカーネルの更新を検知し、改竄を検知し、改竄がなされたOSのカーネルであると判断した場合には更新処理を停止する。他方、改竄がなされていなければ、一方のOS・Bが他方OS・Aの更新処理を行うことで、OSを停止、又は再起動することなくOSの更新をすることができる。
したがって、情報処理装置100によれば、OS更新の際に自装置を再起動することなくより安全にカーネルの更新を行うことができる。
In general, when it is detected that there is a new OS on an external medium such as a memory card or on the network, the device must be restarted and the update process must be entered in order to perform the update process. It took a few minutes to complete. Meanwhile, the user could not use the device.
However, the information processing apparatus 100 detects the update of the kernel of the other OS • A by the OS • B that is difficult to modify, detects the tampering, and updates the OS when it determines that the OS kernel has been tampered with. Stop processing. On the other hand, if no falsification has been made, one OS • B can update the OS without stopping or restarting the OS by performing the update processing of the other OS • A.
Therefore, according to the information processing apparatus 100, the kernel can be updated more safely without restarting the own apparatus when updating the OS.
(第3の実施形態)
第3の実施形態に係る情報処理装置100は、第1の実施形態に係る構成に加え、図7に示すように、ネットワークデバイス121がバス106に接続されている。第3の実施形態では、図8に示すように、情報処理装置100は、外部とネットワーク接続が可能である構成とする。
本実施形態では、図8に示すように、OS・Aの更新情報が外部の更新サーバ131から配信され、OS・Bがそれを受信して更新処理を行うものとする。なお、OS・A及びOS・B夫々の起動動作は、図5に示す処理と同様である。
(Third embodiment)
In the information processing apparatus 100 according to the third embodiment, in addition to the configuration according to the first embodiment, a
In this embodiment, as shown in FIG. 8, it is assumed that OS / A update information is distributed from an
図9は、本実施形態に係る更新処理を示すフローチャートである。更新サーバ131は、情報処理装置100のOS・Aの更新が必要になると、情報処理装置100に対して更新するOS・Aのカーネルのバージョン番号を情報処理装置100に送信する。情報処理装置100のOS・Bは、配信されたOS・Aのカーネルのバージョン番号とFlashROM105上のOS・Aのカーネルのバージョン番号214と比較し(ステップS212)、配信されたものの方が新しければ更新処理を開始する。
次に、更新サーバ131は、暗号化されたOS・Aのカーネルのチェックサムを情報処理装置100に対して配信する。OS・Bは、暗号化されたOS・Aのチェックサムを受信したことを確認し、復号化しておく(ステップS213、ステップS214)。最後に、更新サーバ131は、OS・Aのカーネル本体を情報処理装置100に対して配信する。OS・Bは、OS・Aのカーネル本体を受信したことを確認し(ステップS215)、OS・Aのカーネルのチェックサムを算出し(ステップS216)、算出したチェックサムと先に配信された更新するOS・Aのチェックサムと比較する(ステップS217)。両チェックサムが一致した場合、OS・Bは、FlashROM105上のOS・Aのカーネル212及びOS・Aのカーネルのバージョン番号214を新しいものに書き換える(ステップS218)。他方、一致しない場合、OS・Bは、更新処理を終了する(ステップS219)。
FIG. 9 is a flowchart showing the update processing according to the present embodiment. When the OS / A of the information processing apparatus 100 needs to be updated, the
Next, the
(第4の実施形態)
第4の実施形態に係る情報処理装置100は、図8に示す構成を有し、情報処理装置100のOS・Bが図10に示すフローチャートに係る更新処理を一定時間ごとに行う場合について説明する。なお、OS・Bは、図10に示す更新処理を起動時毎に行うことでOS・Aのカーネルの更新の有無を確認してもよいし、CPUタイマ等を監視し、一定時間が経つたびにOS・Aのカーネルの更新の有無を確認してもよい。
本実施形態では、OS・Bが外部の更新サーバ131にあるOS・Aのカーネルのバージョン番号を参照し、更新サーバ131のバージョンがより新しければOS・BがOS・Aのカーネル212の更新を行うものとする。OS・A及びOS・B夫々の起動動作は、図5に示す処理と同様である。なお、図10に示す更新処理は、OS・Bにより行われる。
(Fourth embodiment)
The information processing apparatus 100 according to the fourth embodiment has the configuration illustrated in FIG. 8 and describes a case where the OS / B of the information processing apparatus 100 performs the update process according to the flowchart illustrated in FIG. 10 at regular intervals. . The OS / B may check whether the OS / A kernel has been updated by performing the update process shown in FIG. 10 every time it starts, or monitors the CPU timer, etc. In addition, it may be confirmed whether or not the OS / A kernel has been updated.
In the present embodiment, OS • B refers to the version number of the OS • A kernel in the
OS・Bは、一定時間ごとに更新サーバ131上のOS・Aのカーネルのバージョン番号が情報処理装置100のFlashROM105に書き込まれているOS・Aのカーネルのバージョン番号214よりも新しいかどうか確認する(ステップS312)。OS・Bは、更新サーバ131のバージョン番号が古いか同じ場合は何も行わない(ステップS319)。他方、更新サーバ131上のバージョン番号が新しいものである場合、OS・Bは、ステップS313の処理を行う。
ステップS313では、OS・Bは、更新サーバ131に用意された暗号化されたOS・Aのチェックサムを受信する。次に、OS・Bは、前記チェックサムを復号化する(ステップS314)。次に、OS・Bは、更新サーバ131より更新するOS・Aのカーネルを受信する(ステップS315)。受信を終えたら、OS・Bは、受信したOS・Aのカーネルのチェックサムを算出し(ステップS316)、ステップS314にて復号化したOS・Aのチェックサムと比較する(ステップS317)。両チェックサムが一致した場合、OS・Bは、更新されたOS・AのカーネルとOS・Aのカーネルのバージョン番号とをFlashROM105に書き込み更新する(ステップS318)。他方、チェックサムが一致しなかった場合、OS・Bは、更新を行わず処理を終了する(ステップS319)。
The OS • B checks whether the OS • A kernel version number on the
In step S <b> 313, the OS • B receives the encrypted OS • A checksum prepared in the
(第5の実施形態)
第5の実施形態に係る情報処理装置100は、図3及び図4に示す構成を有し、図11に示すようにFlashROM105に暗号化されたOS・Aのチェックサム215を保存する。第5の実施形態では、更新時及び起動中にOS・Aのカーネルに改竄がないか検知を行う場合について説明する。
図12、図13、図14は、本実施形態に係る主な処理を示すフローチャートである。なお、図12に示すステップS401からステップS406までは、OS・Aに関する処理である。ステップS407からステップS410まで、及び図13、図14に示す各ステップは、OS・Bに関する処理である。
(Fifth embodiment)
The information processing apparatus 100 according to the fifth embodiment has the configuration shown in FIGS. 3 and 4 and stores the OS · A
12, 13, and 14 are flowcharts showing main processing according to the present embodiment. Note that steps S401 to S406 shown in FIG. Steps S407 to S410 and the steps shown in FIGS. 13 and 14 are processes related to OS · B.
OS・A及びOS・Bは、夫々ブートローダ211により起動される。OS・Aは、起動後一定時間ごとにRAM104上の共有メモリ216上に書き込まれたOS・A管理情報217を確認し(ステップS403)、「START」であればそのまま実行を続ける(ステップS404)。他方、該OS・A管理情報217に「STOP」が書き込まれていれば、OS・Aの実行を停止する(ステップS405)。
OS • A and OS • B are started by the
ここで、図13に示すステップS412からS416までの処理は、第2の実施形態におけるステップS112からステップS116までの処理と同様である。
復号化されたチェックサムと、算出された不揮発性メモリ111上のOS・Aのカーネル112のチェックサムとが一致した場合、OS・Bは、OS・Aのカーネル112が正当なものであると判断し、ステップS417の処理を行う。
ステップS417では、OS・Bは、不揮発性メモリ111上のOS・Aのカーネル112、暗号化されたOS・Aのチェックサム113、及びOS・Aのカーネルのバージョン番号114を夫々FlashROM105に書き込む。換言するならば、OS・Bは、OS・Aのカーネル212、OS・Aのカーネルのバージョン番号214、及び暗号化されたOS・Aのチェックサム215を更新する。OS・Bは、更新処理を行った後、ステップS511の処理を行う。
Here, the processing from step S412 to S416 shown in FIG. 13 is the same as the processing from step S112 to step S116 in the second embodiment.
When the decrypted checksum and the calculated checksum of the OS • A
In step S417, the OS • B writes the OS • A
図14に示すステップS511からステップS516までの処理は、繰り返し行われる処理であり、起動時に実行されてもよいし、CPUより起動時間を取得して一定の時間ごとに実行されてもよい。また、アプリケーションの実行時に行われてもよい。
まず、OS・Bは、FlashROM105の暗号化されたOS・Aのチェックサム215を復号化する(ステップS512)。次に、OS・Bは、FlashROM105のOS・Aのカーネル212のチェックサムを算出する(ステップS513)。次に、OS・Bは、これら2つのチェックサムを比較する(ステップS514)。2つのチェックサムが一致する場合、OS・Bは、OS・Aのカーネル212が正当なものであると判断して検出処理を終える(ステップS516)。他方、両チェックサムが一致しない場合、OS・Bは、OS・Aのカーネル212が正当なものでないと判断し、共有メモリ216上のOS・A管理情報217に「STOP」を書き込み、OS・Aに対し停止要求を送信する(ステップS515)。なお、OS・Aは、ステップS403にて定期的にOS・A管理情報217を確認しており、「STOP」が書き込まれていたらOS・Aの実行を停止する。
The process from step S511 to step S516 shown in FIG. 14 is a process that is repeatedly performed, and may be executed at the time of startup, or may be executed at regular intervals by acquiring the startup time from the CPU. Further, it may be performed when the application is executed.
First, the OS • B decrypts the encrypted OS • A
(第6の実施形態)
第6の実施形態に係る情報処理装置100は、図7に示す構成を有し、第5の実施形態におけるOS・Aのカーネル112、OS・Aのカーネルのバージョン番号114、暗号化されたOS・Aのチェックサム113がネットワーク上にある場合について説明する。
OS・A、OS・Bの起動に関する処理は、図12に示すフローチャートと同様である。図15は、本実施形態に係る更新処理を示すフローチャートである。本フローチャートに示す処理は、OS・Bにより行われる。
(Sixth embodiment)
The information processing apparatus 100 according to the sixth embodiment has the configuration shown in FIG. 7, and includes the OS • A
The processing related to the activation of OS · A and OS · B is the same as the flowchart shown in FIG. FIG. 15 is a flowchart showing the update process according to the present embodiment. The processing shown in this flowchart is performed by the OS · B.
ステップS612では、OS・Bは、ネットワーク上のデータベースにOS・Aのカーネルのバージョン番号114があるか否かを判別する。OS・Aのカーネルのバージョン番号114がある場合、OS・Bは、FlashROM105上の現在動作中のOS・Aのカーネルのバージョン番号214と比較する(ステップS613)。該データベース上のOS・Aのバージョンの方が新しければ、OS・Bは、OS・Aの更新ありとする。OS・Aの更新ありとした場合、OS・Bは、データベースより暗号化されたOS・Aのチェックサム113をダウンロードし、これを復号化してOS・Aのチェックサムを取得する(ステップS614)。次に、OS・Bは、データベース上のOS・Aのカーネル112をダウンロードし、OS・Aのカーネル112のチェックサムを算出する(ステップS615)。
次に、OS・Bは、両チェックサムが一致するか否かを判別する(ステップS616)。両チェックサムが一致した場合、FlashROM105を、更新するOS・Aのカーネル112、暗号化されたOS・Aのチェックサム113、及びOS・Aのカーネルのバージョン番号114で更新する(ステップS617)。他方、両チェックサムが一致しない場合、OS・Bは、更新処理を終了する(ステップS618)。なお、本実施形態では、ステップS511からステップS516までの処理が同様に行われる。
In step S <b> 612, the OS • B determines whether the
Next, the OS • B determines whether or not both checksums match (step S616). If the two checksums match, the
(第7の実施形態)
第7の実施形態に係る情報処理装置100では、図16に示すように、図3に示す構成に加え、バス106にROM107が接続されている。本実施形態では、図17に示すように複数のOS(本実施形態では、3つのOS、OS・A、OS・B、OS・Cとする。)が起動される場合について説明する。
情報処理装置100は、FlashROM105にあるOS・Aのカーネル212、OS・Cのカーネル223、及びROM107にあるOS・Bのカーネル213を夫々RAM104に展開し、各OSを実行する。FlashROM105には暗号化されたOS・Aのカーネルのチェックサム215、暗号化されたOS・Cのカーネルのチェックサム219を保存しておく。本実施形態では、更新時及び起動中に、OS・BがOS・Aのカーネル212及びOS・Cのカーネル223が正当なものであるかどうか検知を行う場合について説明する。
(Seventh embodiment)
In the information processing apparatus 100 according to the seventh embodiment, as illustrated in FIG. 16, a
The information processing apparatus 100 expands the OS • A
図18は、本実施形態に係る起動処理等を示すフローチャートである。ステップS701からステップS706までの処理は、OS・Aに関する処理であり、ステップS707からステップS710までの処理は、OS・Bに関する処理であり、ステップS711からステップS716までの処理は、OS・Cに関する処理である。OS・Aに関する処理とOS・Cに関する処理とについては、処理の内容が同様であるのでOS・Aの処理に関して説明する。OS・Aは、起動後一定時間ごとにRAM104上の共有メモリ216上に書き込まれたOS・A管理情報217を確認し、「START」であればそのまま実行を続ける(ステップS704)。他方、該OS・A管理情報217に「STOP」が書き込まれていれば、OS・Aの実行を停止する(ステップS705)。
FIG. 18 is a flowchart showing a startup process and the like according to the present embodiment. The processing from step S701 to step S706 is processing related to OS / A, the processing from step S707 to step S710 is processing related to OS / B, and the processing from step S711 to step S716 is related to OS / C. It is processing. Since the contents of the processing related to OS · A and the processing related to OS · C are the same, the processing of OS · A will be described. The OS / A confirms the OS /
OS・Bの起動後の処理でOS・Aに対して行う処理を図19及び図20に示す。ステップS811からステップS818までの処理は、第5の実施形態におけるステップS411からステップS418までの処理と同様である。ステップS821からステップS826までの処理は、第5の実施形態におけるステップS511からステップS516までの処理と同様である。 FIG. 19 and FIG. 20 show processing performed on OS / A in processing after OS / B is started. The processing from step S811 to step S818 is the same as the processing from step S411 to step S418 in the fifth embodiment. The processing from step S821 to step S826 is the same as the processing from step S511 to step S516 in the fifth embodiment.
OS・Bの起動後の処理でOS・Cに対してOS・Bが行う主な処理を図21及び図22に示す。
OS・Bは、不揮発性メモリ111の中身を確認し、OS・Cのカーネルが存在するかどうかを確認する(ステップS912)。不揮発性メモリ111にOS・Cのカーネルが格納されていない場合、OS・Bは、更新処理を終了する(ステップS918)。他方、不揮発性メモリ111にOS・Cのカーネルが格納されていた場合、OS・Bは、不揮発性メモリ111上のOS・Cのカーネルのバージョン番号とFlashROM105上のOS・Cのカーネルのバージョン番号218とを比較する(ステップS913)。すなわち、OS・Bは、不揮発性メモリ111上のOS・Cのカーネルが現在のものよりも新しく、更新が必要かどうか判定する。OS・Cのカーネル223の更新が必要ない場合、OS・Bは、更新処理を終了する(ステップS918)。他方、不揮発性メモリ111上の更新するOS・Cのカーネルが現在のものよりも新しく、更新が必要と判定した場合、OS・Bは、ステップS914の処理を行う。
FIG. 21 and FIG. 22 show the main processing performed by OS • B on OS • C in the processing after OS • B is started.
The OS • B confirms the contents of the
ステップS914では、OS・Bは、不揮発性メモリ111上の更新するOS・Cのカーネルが正当なものであるか確認を行うため、不揮発性メモリ111に格納されたOS・Cのカーネルのチェックサムを取得する。前記チェックサムは正当なものであることを証明するため暗号化がなされており、OS・Bがこの復号化鍵を有しており復号可能とする。
次に、OS・Bは、不揮発性メモリ111上のOS・Cのカーネルのチェックサムを算出する(ステップS915)。次に、OS・Bは、算出したチェックサムと復号化したOS・Cのチェックサムとの比較を行う(ステップS916)。チェックサムが一致していない場合、OS・Bは、不揮発性メモリ111上のOS・Cのカーネルが正当なものでないと判断し、更新処理を中断する(ステップS918)。他方、チェックサムが一致した場合、OS・Bは、ステップS917の処理を行う。ステップS917では、OS・BがOS・Cのカーネル223の更新処理を行う。例えば、OS・Bは、不揮発性メモリ111上のOS・CのカーネルでFlashROM105のOS・Cのカーネル223を更新する。
In step S <b> 914, the OS • B checks whether the OS • C kernel to be updated on the
Next, the OS • B calculates a checksum of the OS • C kernel on the nonvolatile memory 111 (step S <b> 915). Next, the OS • B compares the calculated checksum with the decrypted OS • C checksum (step S <b> 916). If the checksums do not match, the OS • B determines that the OS • C kernel on the
図22に示すステップS921からステップS926までの処理は、繰り返し行われる処理であり、起動時に実行されてもよいし、CPUより起動時間を取得して一定時間ごとに実行されてもよい。また、アプリケーションの実行時に行われてもよい。
まず、OS・Bは、FlashROM105の暗号化されたOS・Cのチェックサム219を復号化する(ステップS922)。次に、OS・Bは、FlashROM105のOS・Cのカーネル223のチェックサムを算出する(ステップS923)。次に、OS・Bは、これらの2つのチェックサムを比較する(ステップS924)。2つのチェックサムが一致する場合、OS・Bは、OS・Cのカーネル223が正当なものであると判断して検出処理を終える(ステップS926)。他方、両チェックサムが一致しない場合、OS・Bは、OS・Cのカーネル223が正当なものでないと判断し、ステップS925の処理を行う。
The process from step S921 to step S926 shown in FIG. 22 is a process that is repeatedly performed, and may be executed at the time of start-up, or may be executed at regular intervals after obtaining the start-up time from the CPU. Further, it may be performed when the application is executed.
First, the OS • B decrypts the encrypted OS •
ステップS925では、OS・Bは、共有メモリ216上のOS・C管理情報220に「STOP」を書き込み、OS・Cに対し停止要求を送信する。なお、OS・Cは、定期的にOS・C管理情報220を確認しており、「STOP」情報が書き込まれていたらOS・Cの実行を停止する。
本実施形態では、OS・BがOS・A及びOS・Cの正当な更新であるかどうか、正当なカーネルであるかどうかの検出を行ったが、お互いのOSが検出し合ってもよい。
なお、例えば、CPUが、記憶装置に格納されたプログラムの手順に従って処理を行うことによっても、情報処理装置100における機能及び前述したフローチャートに係る処理が実現できる。
In
In this embodiment, it is detected whether OS • B is a valid update of OS • A and OS • C, or whether it is a valid kernel. However, the OSs may detect each other.
Note that, for example, the functions of the information processing apparatus 100 and the processes according to the above-described flowcharts can also be realized by the CPU performing the process according to the procedure of the program stored in the storage device.
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other embodiments>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.
100 装置、101 CPU A、102 CPU B、104 RAM、105 FlashROM、106 バス 100 devices, 101 CPU A, 102 CPU B, 104 RAM, 105 FlashROM, 106 bus
Claims (8)
前記オペレーティングシステムのカーネルの更新が正当なものであるか否かを判定する判定手段と、
前記判定手段で前記オペレーティングシステムのカーネルの更新が正当なものであると判定された場合、前記カーネルを更新する更新手段とを備えることを特徴とする情報処理装置。 An information processing apparatus that operates a plurality of operating systems,
Determining means for determining whether or not the operating system kernel update is valid;
An information processing apparatus comprising: an update unit configured to update the kernel when the determination unit determines that the kernel update of the operating system is valid.
前記オペレーティングシステムのカーネルの更新が正当なものであるか否かを判定する判定手段と、
前記判定手段で前記オペレーティングシステムの更新が正当なものであると判定された場合、前記オペレーティングシステムのカーネルを更新する更新手段と、
前記オペレーティングシステムのカーネルが正当であるか否かの検出を定期的に行う実行手段と、
前記実行手段により前記オペレーティングシステムのカーネルが正当でないと検出されたときに、前記オペレーティングシステムの実行を停止する停止手段とを備えることを特徴とする情報処理装置。 An information processing apparatus that operates a plurality of operating systems,
Determining means for determining whether or not the operating system kernel update is valid;
An update means for updating a kernel of the operating system when the determination means determines that the update of the operating system is valid;
Execution means for periodically detecting whether the kernel of the operating system is valid;
An information processing apparatus comprising: stop means for stopping execution of the operating system when the execution means detects that the kernel of the operating system is not valid.
前記オペレーティングシステムのカーネルの更新が正当なものであるか否かを判定する判定工程と、
前記判定工程で前記オペレーティングシステムのカーネルの更新が正当なものであると判定された場合、前記カーネルを更新する更新工程とを備えることを特徴とする情報処理方法。 An information processing method in an information processing apparatus that operates a plurality of operating systems,
A determination step of determining whether or not a kernel update of the operating system is valid;
An information processing method comprising: an update step of updating the kernel when it is determined that the update of the kernel of the operating system is valid in the determination step.
前記オペレーティングシステムのカーネルの更新が正当なものであるか否かを判定する判定手段と、
前記判定手段で前記オペレーティングシステムのカーネルの更新が正当なものであると判定された場合、前記カーネルを更新する更新手段と
して機能させるプログラム。 A computer of an information processing apparatus that operates a plurality of operating systems,
Determining means for determining whether or not the operating system kernel update is valid;
A program that functions as an updating unit that updates the kernel when the determination unit determines that the kernel update of the operating system is valid.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009176721A JP2011034130A (en) | 2009-07-29 | 2009-07-29 | Information processor, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009176721A JP2011034130A (en) | 2009-07-29 | 2009-07-29 | Information processor, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011034130A true JP2011034130A (en) | 2011-02-17 |
Family
ID=43763178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009176721A Pending JP2011034130A (en) | 2009-07-29 | 2009-07-29 | Information processor, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011034130A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013140595A (en) * | 2012-01-05 | 2013-07-18 | Lenovo Singapore Pte Ltd | Updating firmware in hybrid computing environment |
JP2014182725A (en) * | 2013-03-21 | 2014-09-29 | Dainippon Printing Co Ltd | Ic chip, verification processing method and verification processing program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003114806A (en) * | 2001-10-04 | 2003-04-18 | Hitachi Ltd | Os updating method, security control method, and apparatus for accomplishing the same |
JP2005527908A (en) * | 2002-05-28 | 2005-09-15 | 株式会社東芝 | Bootable CD controller with system update protocol and embedded operating system |
JP2006031635A (en) * | 2004-07-21 | 2006-02-02 | Toshiba Corp | Information processor and software update method |
JP2008135004A (en) * | 2006-10-31 | 2008-06-12 | Ntt Docomo Inc | Operating system monitoring setting information generation apparatus and operating system monitoring apparatus |
-
2009
- 2009-07-29 JP JP2009176721A patent/JP2011034130A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003114806A (en) * | 2001-10-04 | 2003-04-18 | Hitachi Ltd | Os updating method, security control method, and apparatus for accomplishing the same |
JP2005527908A (en) * | 2002-05-28 | 2005-09-15 | 株式会社東芝 | Bootable CD controller with system update protocol and embedded operating system |
JP2006031635A (en) * | 2004-07-21 | 2006-02-02 | Toshiba Corp | Information processor and software update method |
JP2008135004A (en) * | 2006-10-31 | 2008-06-12 | Ntt Docomo Inc | Operating system monitoring setting information generation apparatus and operating system monitoring apparatus |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013140595A (en) * | 2012-01-05 | 2013-07-18 | Lenovo Singapore Pte Ltd | Updating firmware in hybrid computing environment |
US8972966B2 (en) | 2012-01-05 | 2015-03-03 | Lenovo (Singapore) Pte. Ltd. | Updating firmware in a hybrid computing environment |
JP2014182725A (en) * | 2013-03-21 | 2014-09-29 | Dainippon Printing Co Ltd | Ic chip, verification processing method and verification processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715335B2 (en) | Methods and apparatus to provide for efficient and secure software updates | |
EP3098712B1 (en) | Credible kernel starting method and device | |
EP2711858B1 (en) | Method and system for securely updating firmware in a computing device | |
KR101687277B1 (en) | Key revocation in system on chip devices | |
JP5457362B2 (en) | Information processing apparatus, information processing method, information processing program, and integrated circuit | |
EP2668566B1 (en) | Authenticate a hypervisor with encoded information | |
US20130282951A1 (en) | System and method for secure booting and debugging of soc devices | |
JP5740573B2 (en) | Information processing apparatus and information processing method | |
WO2016073411A2 (en) | System and method for a renewable secure boot | |
US20160180095A1 (en) | Measured boot capability | |
EP2172866A1 (en) | Information processor and tampering verification method | |
JP6391439B2 (en) | Information processing apparatus, server apparatus, information processing system, control method, and computer program | |
KR101756978B1 (en) | Method and System for Protecting application program in trusted execution environment | |
TWI570591B (en) | Allowing use of a test key for a bios installation | |
US10255438B2 (en) | Operating system agnostic validation of firmware images | |
TW202044022A (en) | Update signals | |
JP2009169841A (en) | Information processor and portable telephone device | |
US11366911B2 (en) | Cryptography module and method for operating same | |
US20200233676A1 (en) | Bios management device, bios management system, bios management method, and bios management program-stored recording medium | |
JP2011034130A (en) | Information processor, information processing method, and program | |
WO2018176707A1 (en) | Method and device for starting embedded system, and computer storage medium | |
JP2007336040A (en) | Program management system and terminal | |
JP7287115B2 (en) | Integrated circuit and integrated circuit control method | |
JP5776480B2 (en) | Information processing apparatus, validity verification method, validity verification program | |
JP2011128659A (en) | Device, system, method and program for determining propriety of os start |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130730 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130927 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131203 |