JP2004355561A - 起動装置 - Google Patents

起動装置 Download PDF

Info

Publication number
JP2004355561A
JP2004355561A JP2003155696A JP2003155696A JP2004355561A JP 2004355561 A JP2004355561 A JP 2004355561A JP 2003155696 A JP2003155696 A JP 2003155696A JP 2003155696 A JP2003155696 A JP 2003155696A JP 2004355561 A JP2004355561 A JP 2004355561A
Authority
JP
Japan
Prior art keywords
data
predetermined information
function
electronic device
correct
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
Application number
JP2003155696A
Other languages
English (en)
Inventor
Masahiro Otsuka
雅弘 大塚
Yuichiro Nakamura
勇一郎 中村
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003155696A priority Critical patent/JP2004355561A/ja
Publication of JP2004355561A publication Critical patent/JP2004355561A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】本発明は、電子機器を起動するための所定の情報に対する要求変更に柔軟に対応し得、かつ所定の情報に基づいて起動装置を正常に起動させることができるようにする。
【解決手段】電子機器を起動するために必要な所定の情報に対して一方向性関数により算出した計算値に秘密鍵で暗号化することにより生成した正しい署名データと、一方向性関数と、秘密鍵に対応した公開鍵と、所定の情報が正しいことを検証するための署名検証関数とを検証データ記憶手段に記憶しておき、記憶手段に記憶された所定の情報を読み出した時点におけるデータに対して一方向性関数により算出した現在の計算値と、公開鍵と、正しい署名データとを用いて署名検証関数により所定の情報の真偽を判定し、その判定結果に基づいて所定の情報を用いた電子機器の起動を制御するようにする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は起動装置に関し、例えば電源投入時に電子機器を起動する場合に適用して好適なものである。
【0002】
【従来の技術】
従来、TV(Television)、セットトップボックス、ディジタルスチールカメラ等の電子機器においては、当該電子機器に搭載されている起動装置によりROM(Read Only Memory)に記憶されたブートプログラムに従ってハードディスクや不揮発性メモリに格納されたOS(Operating System)等の基本プログラムをRAM(Random Access Memory)上に読み出すことにより起動し、当該基本プログラムに従って基本動作やメイン処理を実行するようになされている。
【0003】
ところで起動装置においては、ハードディスク等から基本プログラムを起動することができなければ電子機器を動作させることができないため、当該基本プログラムを正確に読み出して正常に起動することが非常に重要である。
【0004】
従って起動装置では、基本プログラムを正常に起動するためのブートプログラムについてデータの一部が壊されていたり、改竄等が施されていたりすると、基本プログラムを正確に起動することができないばかりか、仮に起動したとしても電子機器が予測の付かない異常な動作をしかねず、故障の原因にもなってしまう。
【0005】
そこで起動装置では、基本プログラムを正常に起動するためのブートプログラムに関して、一切改竄等が行われることが無いように読み出し専用のROMに格納しておくことが一般的に行われている(例えば、特許文献1参照)。
【0006】
【特許文献1】
特開平7−210375号公報
【0007】
【発明が解決しようとする課題】
ところでかかる構成の起動装置においては、ブートプログラムを読み出し専用のROMに格納してしまっているため、開発や設計側で基本プログラムに対する要求変更があった場合には当該ROMを新しく購入し直し、かつ当該起動装置に対してハードウェア的な改修作業が必要になってくるという問題があった。
【0008】
本発明は以上の点を考慮してなされたもので、電子機器を起動するための所定の情報に対する要求変更に柔軟に対応し得、かつ所定の情報に基づいて起動装置を正常に起動させ得る起動装置を提案しようとするものである。
【0009】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、電子機器を起動するために必要な所定の情報に対して一方向性関数により算出した計算値に秘密鍵で暗号化することにより生成した正しい署名データと、一方向性関数と、秘密鍵に対応した公開鍵と、所定の情報が正しいことを検証するための署名検証関数とを検証データ記憶手段に記憶しておき、記憶手段に記憶された所定の情報を読み出した時点におけるデータに対して一方向性関数により算出した現在の計算値と、公開鍵と、正しい署名データとを用いて署名検証関数により所定の情報の真偽を判定し、その判定結果に基づいて所定の情報を用いた電子機器の起動を制御するようにする。
【0010】
これにより、電子機器を起動する際の時点における所定の情報が真正なものであるか否かを検証することができると共に、その検証結果に基づいて所定の情報が真正なものであると判断した場合に限って当該電子機器を起動させることができるので、当該電子機器の誤動作を確実に防止することができる。
【0011】
【発明の実施の形態】
以下、図面について、本発明の一実施の形態を詳述する。
【0012】
図1に示すように起動装置1は、ブートプログラムBPを例えばNAND型フラッシュメモリでなる不揮発性メモリ3を使用し、CPU(Central Processing Unit)2によって当該不揮発性メモリ3からブートプログラムBPをRAM(Random Access Memory)に読み出した後、当該ブートプログラムBPに従って起動するようになされている。
【0013】
ここで不揮発性メモリ3には、通常のデータ記憶領域31にブートプログラムBPが格納されていると共に、当該データ記憶領域31に格納する前の改竄等が施される可能性の無い正確なブートプログラムBPに対して所定の秘密鍵(後述する)を用いて暗号化することにより生成した正しい署名データSDが格納されている。
【0014】
また不揮発性メモリ3は、上述のデータ記憶領域31以外にROM領域32を有しており、当該ROM領域32に当該ブートプログラムBPのデータが壊されていないか、或いは改竄等が施されていないかを検証するために必要なハッシュ計算関数HF、上述の秘密鍵に対応した公開鍵KD1及びブートプログラムBPが改竄等の施されていない真正なものであるか否かを検証するための楕円曲線署名検証アルゴリズムと呼ばれる署名検証関数SFがデータとして予め格納されている。
【0015】
この場合、起動装置1はハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFを読み出し専用のROM領域32に格納していることにより、当該ハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFのデータが不正に改竄等されることを未然に防止し得るようになされている。
【0016】
また不揮発性メモリ3には、上述のハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFの格納されているROM領域32のアドレスや、ハッシュ計算関数の種類(例えばMD5)や署名検証関数SFを実行するのに必要な各種情報等がヘッダ情報HDとしてヘッダ領域33に予め格納されている。
【0017】
起動装置1のCPU2は、電源の投入がされたことを認識すると、当該不揮発性メモリ3のROM領域32に格納された署名検証関数SFを用いて現時点でデータ記憶領域31に格納されているブートプログラムBPが改竄等の施されていない正確なデータであるか否かを検証し、その結果ブートプログラムBPが真正であると確認できたときに限って当該ブートプログラムBPに従って起動するようになされている。
【0018】
ここで、署名検証関数SFを用いて現時点でデータ記憶領域31に格納されている現在のブートプログラムBPが改竄等の施されていない真正なものであるか否かについて検証する原理について説明する。
【0019】
なお起動装置1は、署名検証関数SFを用いてブートプログラムBPが真正なものであるか否かの検証を行うための起動プログラム(図示せず)が不揮発性メモリ3のROM領域32に格納されており、当該起動プログラムに従ってブートプログラムBPの検証を行うようになされている。
【0020】
まず図2(A)に示すように、上述した正しい署名データSDは、改竄等が施されていない状態の正確なブートプログラムBPに対してハッシュ計算関数HFでハッシュ値HFD1を算出し、当該ハッシュ値HFD1に対してユーザのみが所有する秘密鍵SK1で暗号化を施すことにより生成されるものであり、これが不揮発性メモリ3のデータ記憶領域31に予め格納されている。
【0021】
ここでハッシュ計算関数HFには、例えばMD5と呼ばれるアルゴリズムが用いられ、当該MD5のアルゴリズムに従ってブートプログラムBPに基づくハッシュ値HFD1が算出される。
【0022】
このハッシュ計算関数HFにより算出したハッシュ値HFD1は、元のブートプログラムBPが例え1ビットでもデータに変更があった場合には異なった値を示すものであり、すなわち改竄等が行われていない場合と改竄等が行われていた場合とではハッシュ値HFD1が異なったものになってしまう。従って、本発明の起動装置1においてはハッシュ計算関数HFを用いることはブートプログラムBPが真正なものであるか否かを検証するための非常に有用な手段となっている。
【0023】
またハッシュ値HFD1は、元のブートプログラムBPと比較してそのデータ量が128ビットと小さく、CPU2にとっても大きなデータ量のブートプログラムBPそのものを扱うよりも負荷が小さくて済むというメリットがある。
【0024】
ところで、この正しい署名データSDは、不揮発性メモリ3のデータ記憶領域31に格納されているため誰でもが容易に読み出すことができるが、通常の公開鍵暗号方式とは逆に秘密鍵SK1によって暗号化を施す非対称暗号化方式を採用しているので、図2(B)に示すように当該秘密鍵SK1に対応する公開鍵KD1を不正なユーザが用いたとしても正しい署名データSDを基にハッシュ値HFD1を復元することはできないようになされている。
【0025】
また図2(C)に示すように、仮にハッシュ値HFD1が復元できた場合であって、ハッシュ計算関数HFやその他の関数を用いたとしても当該ハッシュ計算関数HFが一方向性関数であるため、当該ハッシュ値HFD1に基づいて元のブートプログラムBPを復元することはできないようになされている。
【0026】
すなわち、正しい署名データSDが不揮発性メモリ3のデータ記憶領域31に格納されていて、誰でもが読み出すことができるとしても、当該ブートプログラムBPの秘匿性は確実に保証されているのである。
【0027】
図3に示すように、CPU2は現時点でデータ記憶領域31に格納されているブートプログラムBPが改竄等の施されていない真正なものであるかを検証するに当っては、上述の正しい署名データSDと、秘密鍵SK1に対応する公開鍵KD1と、現時点のブートプログラムBPを基にハッシュ計算関数HFを用いて算出した現在のハッシュ値HFD2を署名検証関数SFに代入することにより、当該署名検証関数SFに従って検証データCK1を算出する。
【0028】
ここで検証データCK1は、そのデータサイズが正しい署名データSDの約半分であり、CPU2はその検証データCK1と正しい署名データSDの対応する一部分とを比較した結果、一致或いは不一致によって現時点におけるブートプログラムBPが真正なものであるか否かを判定し得るようになされている。
【0029】
この場合、CPU2は検証データCK1のデータサイズが正しい署名データSDの約半分であり、当該検証データCK1と正しい署名データSDの対応する一部分とを比較するだけで済むので、データ処理量の負担を軽減すると共に短時間でブートプログラムBPが真正なものであるか否かを判定することができる。
【0030】
すなわちCPU2は、この検証データCK1と正しい署名データSDの一部分とが完全に一致している場合には現時点でデータ記憶領域31に格納されているブートプログラムBPには改竄等が施されていない真正なものであると判断し得、そうでないときにはブートプログラムBPには改竄等が施されている可能性が高いと判断し得るようになされている。
【0031】
その結果、CPU2はブートプログラムBPが真正であると判断した場合に限って当該ブートプログラムBPに従って電子機器を起動させ、そうでないときには電子機器に異常動作が起きるようなことを未然に防ぐために当該ブートプログラムBPに従って電子機器を起動させることを中止するようになされている。
【0032】
なお起動装置1では、現時点のブートプログラムBPが真正なものであって、仮に正しい署名データSDが改竄等されてしまった場合には、検証データCK1と正しい署名データSDの一部分とが一致することは有り得ず、あくまで現時点のブートプログラムBPが真正なものであって、かつ正しい署名データSDが改竄等の施されていない場合に限って検証データCK1と正しい署名データSDの一部分とが一致することになる。
【0033】
かくして起動装置1は、正しい署名データSDが改竄等されたものでなく、かつ現時点におけるブートプログラムBPが真正である場合に限って、当該ブートプログラムBPに従って電子機器を起動し得、当該電子機器の誤動作を確実に防止し得るようになされている。
【0034】
因みに起動装置1においては、検証データCK1のデータサイズが正しい署名データSDの約半分であり、決して正しい署名データSDに相当するデータサイズの検証データCK1を出力することはなく、あくまで現時点におけるブートプログラムBPが真正なものであるか否かを判定するだけであるため、正しい署名データSDに相当するデータサイズの検証データCK1を出力してしまうことによって当該正しい署名データSDの改竄等を助長することを未然に防止し得るようになされている。
【0035】
実際上、図4に示すように、起動装置1のCPU2はルーチンRT1の開始ステップから入ってステップSP1へ移り、ブートプログラムBPのRAM4への読み込みが全て終了しているか否かを判定する。
【0036】
ここで否定結果が得られると、このことはブートプログラムBPのRAM4への読み込みが全て終了していないことを表しており、このときCPU2は次のステップSP2へ移る。
【0037】
ステップSP2においてCPU2は、ブートプログラムBPを所定データ量でなるブロック単位で順次読み出し、次のステップSP3へ移る。
【0038】
ステップSP3においてCPU2は、ブートプログラムBPをブロック単位で読み出した際、そのブロック単位でハッシュ計算関数HFによりブロック単位のハッシュ値BHDを算出し、上述のステップSP1へ戻る。
【0039】
ステップSP1においてCPU2は、再度ブートプログラムBPのRAM4への読み込みが全て終了しているか否かを判定し、ステップSP2及びステップSP3の処理を繰り返し実行する。
【0040】
このときCPU2は、ブロック単位でブートプログラムBPを順次読み出す毎にそれまで読み出したブロックのハッシュ値BHDを含めた新たなハッシュ値BHDを算出するようになされており、これによりブロック単位でのブートプログラムBPの読み込みが全て終了したと同時に当該ブートプログラムBP全体に対する現在のハッシュ値HFD2が算出し終わっていることになる。
【0041】
これに対して、ステップSP1において肯定結果が得られると、このことはブートプログラムBPのRAM4への読み込みが全ブロックに対して終了していること、すなわち現時点におけるブートプログラムBP全体に対する現在のハッシュ値HFD2が算出し終えていることを表しており、このときCPU2は次のステップSP4へ移る。
【0042】
ステップSP4においてCPU2は、ブートプログラムBPに対する現在のハッシュ値HFD2が計算されたので、データ記憶領域31に格納されている正しい署名データSD、ROM領域32に格納されている公開鍵KD1を読み出し、次のステップSP5へ移る。
【0043】
ステップSP5においてCPU2は、ステップSP4で読み出した正しい署名データSD、公開鍵KD1及び現在のハッシュ値HFD2を署名検証関数SFに代入することにより、当該署名検証関数SFを用いて現時点におけるブートプログラムBPが改竄等の施されていない真正なデータであるか否かを検証し、次のステップSP6へ移る。
【0044】
ステップSP6においてCPU2は、署名検証関数SFによって検出した検証データCK1と正しい署名データSDの一部とが一致しないときには検証結果が正しくないことを表しており、このときCPU2は次のステップSP7へ移る。
【0045】
ステップSP7においてCPU2は、検証結果が正しくないためブートプログラムBPに改竄等が施されている可能性があると判断し、当該ブートプログラムBPに従って電子機器を起動することは行わず、次のステップSP10へ移って処理を終了する。
【0046】
これに対してステップSP6で肯定結果が得られると、このことは検証結果が正しいので現時点におけるブートプログラムBPについて改竄等が施されている可能性はないことを表しており、このときCPU2は次のステップSP8へ移る。
【0047】
ステップSP8においてCPU2は、現時点におけるブートプログラムBPが真正なものであると判断し、当該ブートプログラムBPに従って電子機器を起動した後、次のステップSP9でメイン処理へ移行し、次のステップSP10へ移って処理を終了する。
【0048】
以上の構成において、起動装置1のCPU2は予め正しい署名データSDを不揮発性メモリ3のデータ記憶領域31に格納しておき、当該正しい署名データSDと、現時点におけるブートプログラムBPを基にハッシュ計算関数HFにより算出した現在のハッシュ値HFD2と、正しい署名データSDを生成する際に用いた秘密鍵SK1に対応した公開鍵KD1とを用いて署名検証関数SFで検証データCK1を算出し、これを正しい署名データSDの対応する一部分と比較する。
【0049】
その結果、CPU2は検証データCK1と正しい署名データSDの対応する一部分とが一致したときに限りブートプログラムBPが真正なものであると判断して電子機器を起動することにより当該電子機器の正常な動作を保証することができる。
【0050】
またCPU2は、現時点におけるブートプログラムBPのデータが壊れていた場合や改竄されていた場合のみならず、正しい署名データSDのデータが壊れていた場合や改竄されていた場合にも、検証データCK1と正しい署名データSDの対応する一部分とが一致することはなく、電子機器の起動を行わないので当該電子機器の誤動作を未然に防止することができる。
【0051】
また起動装置1は、不揮発性メモリ3のデータ記憶領域31に正しい署名データSDを格納してあるため、仮にブートプログラムBPを変更する必要が生じた場合でも、従来のように正しい署名データSDをROMに格納しておいた場合と比較して当該ROMを新しく購入し直したり、かつハードウェア的な改修作業を必要とせず、データ記憶領域31の正しい署名データSDを書き換えるだけの簡易な修正作業だけでブートプログラムBPの変更要求に対して柔軟に対応することができる。
【0052】
さらに起動装置1は、そのような場合であっても、ブートプログラムBPに対してハッシュ計算関数HFという一方向性関数を用いてハッシュ値HFD1を算出し、そのハッシュ値HFD1に対して秘密鍵SK1で暗号化を施すという非対称暗号方式を用いて正しい署名データSDを生成することができるので、当該正しい署名データSDからブートプログラムBPを逆算して復元することを確実に防止して当該ブートプログラムBPの秘匿性を保証することができる。
【0053】
以上の構成によれば、起動装置1のCPU2は不揮発性メモリ3のデータ記憶領域31に予め算出しておいた正しい署名データSDを格納しておくと共に、ROM領域32に現時点におけるブートプログラムBPが改竄等の施されていない真正なものであるか否かを検証して判定するために最低限必要なハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFのデータを格納しておくことにより、電子機器を起動させる際に現時点におけるブートプログラムBPが真正なものであるか否かを確実に検証することができると共に、その検証結果に応じて電子機器の起動を制御することができ、かくして当該起動装置1を搭載している電子機器の誤動作を防止して正常に起動させることができる。
【0054】
また起動装置1は、正しい署名データSDに関してはROM領域32ではなくデータ記憶領域31に格納しておくようにしたことにより、ブートプログラムBPの変更要求に対して正しい署名データSDの内容を書き換えることが可能であり、電子機器の使用変更等に対して簡易かつ柔軟に対応することができる。
【0055】
なお上述の実施の形態においては、検証データ記憶手段としての不揮発性メモリ3のROM領域32にハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFのデータを格納するようにした場合について述べたが、本発明はこれに限らず、例えば図1との対応部分に同一符号を付した図5に示すように、不揮発性メモリ3のROM領域32ではなく、別個に設けられたROM5にこれらのデータを格納するようにしても良い。
【0056】
また上述の実施の形態においては、正しい署名データSD、ハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFのデータを不揮発性メモリ3に格納するようにした場合について述べたが、本発明はこれに限らず、例えば図1との対応部分に同一符号を付した図6に示すように、これら全てのデータを不揮発性メモリ3ではなく読み出し専用のROM5に格納するようにしても良い。
【0057】
さらに上述の実施の形態においては、現時点におけるブートプログラムBPが真正なものであるか否かを検証するために必要な情報としてハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFを用いるようにした場合について述べたが、本発明はこれに限らず、図1との対応部分に同一符号を付した図7に示すように、ハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFのデータの誤りを検出するためのCRC(Cyclic Redundancy Check)をROM領域32に格納しておき、当該CRCを用いるようにしても良い。
【0058】
この場合、図8に示すように起動装置1のCPU2は、ルーチンRT2の開始ステップから入ってステップSP21へ移る。ステップSP21においてCPU2は、不揮発性メモリ3のROM領域32に格納されたハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFを読み出すと共にCRCを読み出し、当該CRCを用いてハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFが全て正しいデータであるかを検出する。
【0059】
ここで否定結果が得られると、ROM領域32に格納されていたハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFが正しくなかったことを表しており、このときCPU2は次のステップSP22へ移り、これらのハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFを用いたブートプログラムBPの検証を中止し、ステップSP32へ移って処理を中止する。
【0060】
なおステップSP23〜ステップSP31までの処理については、ルーチンRT1におけるステップSP1〜ステップSP9までの処理と同様であるため、その説明は省略する。
【0061】
これにより起動装置1は、常時正しいハッシュ計算関数HF、公開鍵KD1及び署名検証関数SFを用いてブートプトグラムBPの検証を実行することができるので、正しい検証結果に基づいて電子機器を起動させることができ、かくして電子機器の誤動作を確実に低減することができる。
【0062】
さらに上述の実施の形態においては、正しい署名データSDを記憶手段としての不揮発性メモリ3のデータ記憶領域31に格納するようにした場合について述べたが、本発明はこれに限らず、署名検証関数SFの中にデータとして埋め込むようにしても良い。この場合、正しい署名データSDに対して改竄等が施されることを確実に防止することができる。
【0063】
さらに上述の実施の形態においては、一方向性関数としてハッシュ計算関数(MD5)を用いると共に、非対称暗号方式として楕円曲線検証アルゴリズムでなる署名検証関数SFを用いるようにした場合について述べたが、本発明はこれに限らず、MD4等の一方向性関数や他の種類の署名検証関数を用いるようにしても良い。
【0064】
さらに上述の実施の形態においては、判定手段及び制御手段としてのCPU2が署名検証関数SFに従って正しい署名データSDの約半分のデータサイズでなる検証データCK1を生成し、当該検証データCK1と正しい署名データSDの対応する一部分とを比較することにより現時点におけるブートプログラムBPが真正なものであるか否かを判定し得るようにした場合について述べたが、本発明はこれに限らず、正しい署名データSDと同サイズでなければ、正しい署名データSDの約1/4のデータサイズでなる検証データCK1を生成し、当該検証データCK1と正しい署名データSDの対応する一部分とを比較することにより現時点におけるブートプログラムBPが真正なものであるか否かを判定するようにしても良い。
【0065】
さらに上述の実施の形態においては、電子機器を起動させるために必要な情報としてブートプログラムBPを対象とするようにした場合について述べたが、本発明はこれに限らず、電子機器を起動させるために必要な個人情報、内部情報等のその他種々の情報を対象とするようにしても良い。
【0066】
【発明の効果】
上述のように本発明によれば、電子機器を起動する際の時点における所定の情報が真正なものであるか否かを検証することができると共に、その検証結果に基づいて所定の情報が真正なものであると判断した場合に限って当該電子機器を起動させることができるので、当該電子機器の誤動作を確実に防止することができ、かくして電子機器を起動するための所定の情報に対する要求変更に柔軟に対応し得、かつ所定の情報に基づいて起動装置を正常に起動させることができる。
【図面の簡単な説明】
【図1】本発明における起動装置の構成を示す略線的ブロック図である。
【図2】非対称暗号方式及び一方向性関数による特性の説明に供する略線図である。
【図3】署名検証関数を用いた署名検証アルゴリズムの原理の説明に供する略線図である。
【図4】署名検証関数を用いた起動処理手順を示すフローチャートである。
【図5】他の実施の形態における起動装置の構成(1)を示す略線的ブロック図である。
【図6】他の実施の形態における起動装置の構成(2)を示す略線的ブロック図である。
【図7】他の実施の形態における起動装置の構成(3)を示す略線的ブロック図である。
【図8】他の実施の形態におけるCRC及び署名検証関数を用いた起動処理手順を示すフローチャートである。
【符号の説明】
1……起動装置、2……CPU、3……不揮発性メモリ、4……RAM、5……ROM、31……データ記憶領域、32……ROM領域、33……ヘッダ領域。

Claims (6)

  1. 電子機器を起動するために必要な所定の情報に対して一方向性関数により算出した計算値に秘密鍵で暗号化することにより生成した正しい署名データと、上記一方向性関数と、上記秘密鍵に対応した公開鍵と、上記所定の情報が正しいことを検証するための署名検証関数とを記憶する検証データ記憶手段と、
    上記所定の情報を記憶しておく記憶手段と、
    上記所定の情報を読み出した時点におけるデータに対して上記一方向性関数により算出した現在の計算値と、上記公開鍵と、上記正しい署名データとを用いて上記署名検証関数により上記所定の情報の真偽を判定する判定手段と、
    上記判定手段による判定結果に基づいて上記所定の情報を用いた上記電子機器の起動を制御する制御手段と
    を具えることを特徴とする起動装置。
  2. 上記記憶手段及び上記検証データ記憶手段は、不揮発性メモリでなる
    ことを特徴とする請求項1に記載の起動装置。
  3. 上記一方向関数とは、ハッシュ計算関数である
    ことを特徴とする請求項1に記載の起動装置。
  4. 上記判定手段は、上記記憶手段から上記所定の情報をブロック単位で読み出し、当該ブロック単位で上記一方向性関数により上記現在の計算値を順次算出する
    ことを特徴とする請求項1に記載の起動装置。
  5. 電子機器を起動するために必要な所定の情報に対して一方向性関数により算出した計算値に秘密鍵で暗号化することにより生成した正しい署名データと、上記一方向性関数と、上記秘密鍵に対応した公開鍵と、上記所定の情報が正しいことを検証するための署名検証関数とを検証データ記憶手段に記憶する検証データ記憶ステップと、
    記憶手段に記憶された上記所定の情報を読み出した時点におけるデータに対して上記一方向性関数により算出した現在の計算値と、上記公開鍵と、上記正しい署名データとを用いて上記署名検証関数により上記所定の情報の真偽を判定する判定ステップと、
    上記判定ステップによる判定結果に基づいて上記所定の情報を用いた上記電子機器の起動を制御する制御ステップと
    を具えることを特徴とする起動方法。
  6. 電子機器に対して、
    電子機器を起動するために必要な所定の情報に対して一方向性関数により算出した計算値に秘密鍵で暗号化することにより生成した正しい署名データと、上記一方向性関数と、上記秘密鍵に対応した公開鍵と、上記所定の情報が正しいことを検証するための署名検証関数とを記憶する検証データ記憶ステップと、
    記憶手段に記憶された上記所定の情報を読み出した時点におけるデータに対して上記一方向性関数により算出した現在の計算値と、上記公開鍵と、上記正しい署名データとを用いて上記署名検証関数により上記所定の情報の真偽を判定する判定ステップと、
    上記判定ステップによる判定結果に基づいて上記所定の情報を用いた上記電子機器の起動を制御する制御ステップと
    を実行させることを特徴とする起動プログラム。
JP2003155696A 2003-05-30 2003-05-30 起動装置 Pending JP2004355561A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003155696A JP2004355561A (ja) 2003-05-30 2003-05-30 起動装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003155696A JP2004355561A (ja) 2003-05-30 2003-05-30 起動装置

Publications (1)

Publication Number Publication Date
JP2004355561A true JP2004355561A (ja) 2004-12-16

Family

ID=34050006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003155696A Pending JP2004355561A (ja) 2003-05-30 2003-05-30 起動装置

Country Status (1)

Country Link
JP (1) JP2004355561A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323814A (ja) * 2005-01-07 2006-11-30 Microsoft Corp 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
JP5466645B2 (ja) * 2008-08-22 2014-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、情報処理装置およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323814A (ja) * 2005-01-07 2006-11-30 Microsoft Corp 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
JP5466645B2 (ja) * 2008-08-22 2014-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、情報処理装置およびプログラム

Similar Documents

Publication Publication Date Title
JP5493951B2 (ja) 情報処理装置、正当性検証方法及びプログラム
JP6595822B2 (ja) 情報処理装置及びその制御方法
FI114416B (fi) Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite
JP6373888B2 (ja) 情報処理装置及び制御方法
KR100746012B1 (ko) 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
CN110990084B (zh) 芯片的安全启动方法、装置、存储介质和终端
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
US7774615B2 (en) Integrity control of a memory external to a processor
US11829479B2 (en) Firmware security verification method and device
US20210397441A1 (en) Firmware updating system and method
JP2006524377A (ja) 制御ユニット用のフラッシュウェアの正確性及び完全性を保証する方法
JP6494373B2 (ja) 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム
CN109445705B (zh) 固件认证方法及固态硬盘
TWI760752B (zh) 應用加速驗證映像檔方法的系統
TWI736075B (zh) 儲存裝置
CN109814934B (zh) 数据处理方法、装置、可读介质和系统
KR101954439B1 (ko) 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법
WO2019059148A1 (ja) Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラムが格納された記録媒体
JP6622360B2 (ja) 情報処理装置
CN114995918A (zh) 基板管理控制器的启动方法、配置方法、装置及电子设备
JP2004355561A (ja) 起動装置
KR20180059742A (ko) 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법
JP2015049785A (ja) プログラム処理装置
JP4888862B2 (ja) メモリ管理方法
TWI797932B (zh) 韌體驗證系統及韌體驗證方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100225