JP2004280284A - 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法 - Google Patents
制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法 Download PDFInfo
- Publication number
- JP2004280284A JP2004280284A JP2003068582A JP2003068582A JP2004280284A JP 2004280284 A JP2004280284 A JP 2004280284A JP 2003068582 A JP2003068582 A JP 2003068582A JP 2003068582 A JP2003068582 A JP 2003068582A JP 2004280284 A JP2004280284 A JP 2004280284A
- Authority
- JP
- Japan
- Prior art keywords
- system module
- hash value
- electronic device
- value table
- storage unit
- 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.)
- Granted
Links
Images
Abstract
【解決手段】ハッシュ値テーブルは、予めプロセッサ内部のハッシュ値テーブル用メモリ14に書き込まれている。このように、システムモジュールの照合用ハッシュ値がプロセッサ内部のハッシュ値テーブル用メモリ14に存在することにより、ハッシュテーブルの改ざんや消去をすることはできず、照合用ハッシュ値として信頼できる状態である。
【選択図】 図3
Description
【発明の属する技術分野】
本発明は、OS、アプリケーションといったソフトウェアであるシステムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器の制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法に関する。
【0002】
【従来の技術】
パーソナルコンピュータを始めとしたデジタル機器がインターネットに接続されるようになり、クラッカー等と呼ばれる悪意を持った者による破壊行為や、コンピュータウィルスの侵入等といった攻撃は増加の一途を辿っている。こうした攻撃に耐えられる安全なシステムを構成する方策の一つとして、機器内で動作するソフトウェアについて信頼できるデジタル認証方式を使い、認証された信頼できるソフトウェアだけを起動することが考えられている。
【0003】
しかし、マイクロソフト(Microsoft)社のウィンドウズ(Windows;登録商標)や、リナックス(Linux)等の従来からの基本ソフトウェアシステム(Operating System:OS)では、こうしたソフトウェアの信頼性についての対策が採られていない。また、こうした認証機能を後から追加するにしても、OSの中心たるカーネル(Kernel)等を含めたシステム全体に信頼できるものであるかどうかの明確な根拠が無いため、システム全体の信頼性に疑問が生じる。
【0004】
このような現状において、例えば、特開2002−152196号公報には、ソフトウェアを認証して実行するという、以下のプログラム認証方法が開示されている。先ず、携帯機器の、組み込み機能部により、ハッシュ値がプログラム本体とプログラムの出所由来を表す公開鍵と対をなす秘密鍵とによって生成されたものであることを確認する。次に、親機器が、公開鍵及び秘密鍵を用いた公開鍵方式により携帯機器の認証を行い、認証が成功した場合に、携帯機器によるハッシュ値確認に基づいてプログラムが真正な出所由来をもつものかを判定する。このように、親機器が携帯機器の認証に成功し、かつプログラムが真正な出所由来をもつものであるときに公開鍵でプログラムを認証したとする。そして、認証したソフトウェアを実行する。
【0005】
また、特開平10−333902号公報には、以下の改ざん検知機能付きコンピュータシステムが開示されている。制御部のROMに格納されたブート(Boot)プログラムにて、基本入出力システム(Basic Input/Output System:BIOS)を初期化した後に、補助記憶装置に格納された第1の保存情報をOSを介さずに読み込み、その読み込み内容にしたがって被検査ファイルをOSを介さずに読み込む。これらの読み込み内容とROMに格納された第2保存情報とを用いて被検査ファイルの改ざんの有無を検査する。改ざん無しを確認後に、OSローダーを呼び出してOSを起動させる。このため、OSローダー(Loader)やOSを起動する前に、OSローダーやOSファイル、或いはその他の任意のファイルの改ざんの有無を、確実に、検証することができるという効果をもたらす技術である。
【0006】
【特許文献1】
特開2002−152196号
【特許文献2】
特開平10−333902号
【0007】
【発明が解決しようとする課題】
ところで、前記特許文献1、特許文献2に開示された技術は、制御部に外部からハッシュ値などのデータや、アルゴリズムを読み出し、制御部内にて実行するものであったので、補助記憶装置等が攻撃を受けた場合には認証処理が正しいか否かの判定が困難になる。
また、OSなどのシステムモジュールを更新するときの対策は採られていなかった。
【0008】
本発明は、前記実情に鑑みてなされたものであり、OSと独立した処理を実現するために必要なデータ、アルゴリズムをセキュアな状態で保存し、制御部内にてセキュアな状態でソフトウェアの認証処理を正しく実行することができる電子機器及び電子機器のプログラム起動方法の提供を目的とする。
【0009】
また、本発明は、前記実情に鑑みてなされたものであり、システムモジュールの更新をセキュアな状態で行うことができる電子機器のシステムモジュール更新方法の提供を目的とする。
【0010】
【課題を解決するための手段】
本発明に係る制御プロセッサは、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器の制御プロセッサであって、前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、前記システムモジュールの改ざんや消去を判断するために用いられるハッシュ値テーブルを記憶するハッシュ値テーブル用記憶部とを備える。
【0011】
また、本発明に係る制御プロセッサは、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器の制御プロセッサであって、前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、前記システムモジュールの権利者によって付加されている公開鍵基盤ベースの電子署名を検証するために用いる公開鍵証明書とを備える。
【0012】
本発明に係る電子機器は、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器であって、前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、前記システムモジュールの改ざんや消去を判断するために用いられるハッシュ値テーブルを記憶するハッシュ値テーブル用記憶部とを備える制御プロセッサを有する。
【0013】
また、本発明に係る電子機器は、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器であって、前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、前記システムモジュールの権利者によって付加されている公開鍵基盤ベースの電子署名を検証するために用いる公開鍵証明書とを内部に記憶し処理可能な制御プロセッサを有する。
【0014】
本発明に係る電子機器のプログラム起動方法は、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のプログラム起動方法であって、前記システムモジュールのハッシュ値を計算し、ハッシュ値テーブル用記憶部に記憶されているハッシュ値テーブルの値と比較して前記システムモジュールの改ざんや消去を判断する。
【0015】
また、本発明に係る電子機器のプログラム起動方法は、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のプログラム起動方法であって、公開鍵証明書を用いて前記システムモジュールの権利者によって付加されている公開鍵基盤ベースの電子署名を検証する。
【0016】
本発明に係る電子機器のシステムモジュール更新方法は、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のシステムモジュール更新方法であって、前記システムモジュールの更新が要求されたときには、起動時に外部からハッシュ値テーブルを読み出して記憶するハッシュ値テーブル用記憶部内の前記ハッシュ値テーブルを用いて、システムモジュールを更新する権利をチェックし、更新する権利を有するモジュールだけを判断して、更新を実行する。
【0017】
また、本発明に係る電子機器のシステムモジュール更新方法は、前記課題を解決するために、OS、アプリケーションといったソフトウェアであるシステムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のシステムモジュール更新方法であって、前記システムモジュールの更新が要求されたときには、公開鍵を用いてシステムモジュールを更新する権利をチェックし、更新する権利を有するモジュールだけを判断して、更新を実行する。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。この実施の形態は、インターネット等のネットワークと接続され、ネットワークを通してビデオ、オーディオ、テキストデータ或いはコントロールデータ等を、このネットワークに接続された他の電子機器や、情報提供業者のサーバに対して送受信するネットワーク接続型電子機器である。例えば、インターネットを通してビデオデータを送信するビデオカメラや、デジタルスチルカメラ、さらにはインターネットを通してビデオデータサービスサーバからビデオデータをダウンロードするネット接続型のビデオ再生装置、ビデオ記録再生装置や、またオーディオデータサービスサーバからオーディオデータをダウンロードするネット接続型のオーディオ再生装置、オーディオ記録再生装置等を挙げることができる。
【0019】
以下では、ネットワーク接続型電子機器と呼ぶが、前記各装置、機器に限定されるものではなく、ネットワーク接続可能であれば携帯電話、携帯情報端末、或いはモニタ装置等、いわゆる民生用電子機器(consumer electronics:CE)全般に及ぶ。もちろん、ネットワークに接続する業務用の電子機器も対象となる。コンピュータがOSの下、複数の任意のソフトウェア開発業者が製造した複数のソフトウェアを実行するのに比べ、前記ネットワーク接続型電子機器は、用途を絞り、機器製造者又は機器製造者によりライセンスを付与された出所由来の分かっているソフトウェア開発業者が製造したソフトウェアを実行する。
【0020】
先ず、ネットワーク接続型電子機器1の第1実施例について説明する。この第1実施例は、図1に示すように、制御プロセッサ(Processor)2が内部バス3を介してROM4、RAM5、入力/出力インターフェース(I/O用I/F)6、及びネットワークI/F7と接続している構成を採る。
【0021】
制御プロセッサ2は、システム全体を安全に起動するために、システムで動作する全てのシステムモジュール、例えばOSやアプリケーションといったソフトウェアなどを認証、すなわち完全性の検査をしてから実行する。このような認証を行うには、認証の根拠(始まり、起点)が必要である。
【0022】
図2に示すように、Aは信頼できる(信頼する)のであれば、→AによってBの完全性(Integrity)を証明できる。また、Bの完全性を証明できたのであれば、→BによってB1の完全性を証明できる。また、Aは信頼できるのであり、よって→AによってCの完全性は証明できる。このように、Aを信頼できれば、Aを認証の根拠とし、B、B1、B2・・・や、C、C1、C2・・・といった認証の連鎖を構築できる。
【0023】
そこで、制御プロセッサ2は、前記認証の根拠を確保するために、セキュア(Secure)なデバイスを用いている。具体的に制御プロセッサ2は、ネットワーク接続型電子機器1をセキュアに起動し、実行するため、後述の暗号演算回路、IPL(Intial Program Loader)を書き込んだROM、制御プロセッサ固有の秘密鍵、ハッシュ値テーブル用メモリを一体化している。つまり、本来であれば、内部バスを介して外部に接続されることになるいくつかのデバイスを1チップ化している。
【0024】
ROM4は、制御プロセッサ2に対して内部バス3を介して接続された補助記憶部である。また、RAM5は、同様に内部バス3を介して接続された補助記憶装置及びワークエリアとして用いられる。I/O用I/F6は、キー操作部、ジョグダイヤルなど入力操作部用のインターフェースである。また、映像出力部、又は音声出力部などの出力部用のインターフェースでもある。ネットワークI/F7は、インターネットなどのネットワークに接続するためのインターフェースである。
【0025】
制御プロセッサ2は、詳細な構成を図3に示すように、暗号演算回路11、IPLを書き込んだROM(以下、IPL用ROMという)12、制御プロセッサ固有の秘密鍵13、ハッシュ値テーブル用メモリ14を一体に1チップ化している。
【0026】
暗号演算回路11には、ネットワーク接続型電子機器1で必要となる暗号用演算、認証用演算、例えばSHA1、MD5、MASHなどのハッシュ関数、HMAC−SHA1などのハッシュ関数、ECCなどの署名に関する演算、AES、DES、Triple−DESなどの共通鍵暗号の演算、RSAなどの公開鍵暗号の演算等が含まれる。
【0027】
暗号用演算は、ネットワークで送信するメッセージを第三者が理解できないようにする演算である。さらに、暗号用演算は、RAMや二次記憶装置等に情報を保存する場合などにも利用される。
【0028】
認証用演算は、認証処理に関わる演算であり、認証する対象により、相手認証、ユーザ認証、メッセージ認証、デジタル認証に分かれる。特に、デジタル認証は、文書の正当性を保証する技術であり、公開鍵を用いる演算により行われる。
【0029】
ハッシュ関数は、デジタル認証や完全性検査に利用される数学的処理法である。長いデータを攪乱し、一定の長さ(例えば、128ビット、160ビット等)のハッシュ値に圧縮する。ハッシュ値から入力を推定することが困難なこと、及び二つの異なるデータのハッシュ値が一致する確率が極めて小さいことが安全なハッシュ関数の条件である。
【0030】
署名に関する演算としては、公開鍵暗号の一種である、楕円暗号(Elliptic Curve Cryptosystem:ECC)を用いる。従来のRSA暗号に比べて鍵のサイズが小さくて済む。一般的に、1024ビットのデータ長を持つRSA暗号とほぼ同水準の強度を160ビットのECCで実現できる。もちろん、前記RSA暗号を用いてもよいし、他の署名アルゴリズムを用いてもよい。
【0031】
共通鍵暗号は、暗号化する鍵と復号する鍵が同じであり、送信者と受信者がともに秘密に持っている暗号である。秘密鍵暗号とも呼ばれている。共通鍵暗号の演算は、前もって送信者と受信者の間で秘密鍵を共有し、暗号化の演算を行う。AES(Advanced Encryption Standard)は、手順公開型の共通鍵暗号である。ブロック長は、128ビット、鍵長は128/192/256ビットから選択される。DES(Data Encryption Standard)も、手順公開型の共通鍵暗号である。データを56ビットの鍵+8ビットのパリティ部分の計64ビットのデータ・ブロック単位に暗号化する。Triple−DESは、安全性を高めるためDESを3段並べて鍵を長くした方式である。
【0032】
公開鍵暗号は、暗号化する鍵と復号する鍵が異なり、片方の鍵を公開し、もう一方の鍵は秘密にした暗号であり、非対称暗号とも呼ばれている。公開鍵暗号を守秘に使う場合、送信者は受信者の公開鍵を用いて暗号化し、暗号文を送る。受信者は、自分だけが知っている秘密鍵を用いて復号し、元の平文を得る。RSA(Rivest−Shamir−Adleman Scheme)は、大きな整数nを素因数分解することの難しさに安全性の根拠をおいている。
【0033】
なお、暗号演算回路11は、これらの暗号用演算、認証用演算、ハッシュ関数、署名に関する演算、共通鍵暗号の演算、開鍵暗号の演算等を、全て必須とするものではないが、少なくとも主に認証処理に関わる暗号演算処理を行う。
【0034】
IPL用ROM12に書き込まれるIPLとは、ネットワーク接続型電子機器1が、OS、アプリケーションなどのソフトウェアやオブジェクトであるシステムモジュールを読み込むのに必要な最低限の処理、例えば、メモリテストなど、である。また、後述するシステムモジュールの読み出し、完全性の確認に関係する処理などもIPLに含まれており、この完全性の確認に関係する処理の部分が重要である。
【0035】
制御プロセッサ固有の秘密鍵13は、Kとして説明する。この秘密鍵(K)13は、制御プロセッサに固有の鍵であり、前記共通鍵暗号を復号するのに使われる。もちろん、暗号化するのにも使われる。また、後述の第2実施例などでは、ハッシュ値テーブルのチェックにも使われる。システムモジュールが秘密鍵Kによって暗号化されている場合には、復号の際に使われることになる。
【0036】
ハッシュ値テーブル用メモリ14は、この第1実施例では、予めハッシュ値テーブルを記録している。図4には、ネットワーク接続型電子機器1が起動する際に、図1のROM4又はRAM5等から読み込むシステムモジュールと、ハッシュ値に関するテーブルを示す。ROM4又はRAM5等からロードするシステムモジュール21、アルゴリズム22、ハッシュ値23によって構成される。アルゴリズム22をシステムモジュール21に適用したときに得られるハッシュ値23という構成になる。すなわち、モジュールAにSHA1演算というアルゴリズムを適用してハッシュ値を計算すると、”83f9c9aee9893b9defba9883187f38bc8f9aa824”となることを意味している。
【0037】
ここでは、便宜上、ロードするモジュール21、アルゴリズム22、ハッシュ値23としているが、実際には前記電子機器が理解できる形式になっている。
【0038】
また、図4のハッシュ値テーブルは、システムモジュールを読み込む順番も示している。ここで、前記電子機器はA、B、C、Dの順番でシステムモジュールを読み込む。
【0039】
このハッシュ値テーブルは、前述したように、予めプロセッサ内部のハッシュ値テーブル用メモリ14に書き込まれている。このように、システムモジュールの照合用ハッシュ値がプロセッサ内部のハッシュ値テーブル用メモリ14に存在することにより、ハッシュテーブルの改ざんや消去をすることはできず、照合用ハッシュ値として信頼できる状態である。
【0040】
なお、ハッシュ値テーブルは、ハッシュ値テーブル用メモリに予め書き込まれておらず、前記電子機器の起動フロー中にプロセッサ内部のハッシュ値テーブル用メモリに書き込れるようにしてもよい。この場合についての詳細は後述する。
【0041】
図5は、ハッシュ値テーブルがハッシュ値テーブル用メモリに予め書き込まれている場合の、前記電子機器の起動時の処理手順を表している。ハッシュ値テーブルの存在する場所ごとに記述する。
【0042】
前記電子機器の電源がオンになったとき、制御プロセッサ2のIPL用ROM12にあるIPLが実行される(ステップS1)。次に、ハッシュ値テーブル用メモリ14に書き込まれているハッシュ値テーブルを参照し、外部メモリ、例えばRAM5からシステムモジュールを読み出す(ステップS2)。次に読み出してきたシステムモジュールの完全性のチェックを行う(ステップS3)。
【0043】
完全性のチェックは、システムモジュールに、図4のアルゴリズム22を適用し、ハッシュ値23と照合することによって行う(ステップS3)。ハッシュ値が一致しなかった場合(NG)、システムモジュールに不具合(改ざんなど)があったことを主原因とし、エラーを判断して終了とする。このとき、前記電子機器を起動しない。或いは、前記電子機器にエラーコード等を出力する機能があれば、エラーであることと、エラーコードを出力してもよい(ステップS4)。ステップS3にて、ハッシュ値が一致した場合(OK)、システムモジュール全てが読み込まれたかどうかをチェックし(ステップS5)、読み込まれていれば(YES)、前記電子機器は起動終了(ステップS6)、読み込まれていなければ(NO)、ステップS2へ戻り次のシステムモジュールを読み込む。
【0044】
このように、ネットワーク接続型電子機器1の第1実施例は、図3に示すように、暗号演算回路11、IPL用ROM12、制御プロセッサ固有の秘密鍵13、ハッシュ値テーブル用メモリ14を一体に1チップ化している。特に、ハッシュ値テーブルメモリ14には、予めハッシュ値テーブルを書き込んでいるため、ハッシュテーブルの改ざんや消去をすることはできず、照合用ハッシュ値として信頼できる状態である。このため、第1実施例によれば、起動直後のネットワーク接続型電子機器1は、悪意を持った改ざんを受けていない信頼できるソフトウェア群によって動作していると信頼することができる。また、その後に使用されるアプリケーション等についても、それが改ざんされたり、或いは、置き換えられたりといったような、使用者、或いは管理者が意図しない変更を加えられていないことを認証する際の根拠として、このシステムを利用することができる。
【0045】
次に、ネットワーク接続型電子機器1の第2実施例について説明する。この第2実施例も前記図1に示すように、制御プロセッサ2が内部バス3を介してROM4、RAM5、入力/出力インターフェース(I/O用I/F)6、及びネットワークI/F7と接続している構成である。ただし、ハッシュ値テーブルは、図3のハッシュ値テーブル用メモリ14に予め書き込まれておらず、前記電子機器の起動フロー中にプロセッサ内部のハッシュ値テーブル用メモリに書き込れる。ハッシュ値テーブルは、プロセッサ固有の秘密鍵K13、或いはKをもとに生成される鍵K’によって暗号化されて、外部メモリ4又は5に保存されているとする。
【0046】
この第2実施例の処理手順について図6を参照して説明する。先ず、電子機器の電源がオンになったとき、制御プロセッサのIPL用ROM12にあるIPLが実行される(ステップS11)。次にハッシュ値テーブルを外部メモリから読み出す(ステップS12)。次に読み出してきたハッシュ値テーブルのチェックを行う(ステップS13)。
【0047】
このステップS13におけるハッシュ値テーブルのチェックは、プロセッサ固有の秘密鍵K13或いはKから生成する別の鍵K’によってハッシュ値テーブルを復号して行われる。復号して得る情報がハッシュ値テーブルの形式になっているかどうかをチェックする。
【0048】
ステップS13によるチェックの結果、ハッシュ値テーブルの形式が正しくない場合、ハッシュ値テーブルに不具合(改ざんなど)があるのが主原因であるので、前記電子機器は起動しない、或いは、前記機器にエラー出力する機能があれば、エラーを出力する(ステップS14)。ステップS13によるチェックの結果、ハッシュ値テーブルの形式が正しい場合(OK)、ハッシュ値テーブルをハッシュ値テーブル用メモリ14に展開する(ステップS15)。
【0049】
次にハッシュ値テーブルを参照し、外部メモリからシステムモジュールを読み出す(ステップS16)。そして、読み出してきたシステムモジュールの完全性のチェックを行う(ステップS17)。完全性のチェックは、図4のシステムモジュール21にアルゴリズム22を適用し、ハッシュ値23と照合する。
【0050】
ステップS17におけるモジュールチェックにてハッシュ値が一致しなかった場合、システムモジュールに不具合(改ざんなど)があるのが主原因であり、前記電子機器は起動しない、或いは、前記電子機器にエラー出力する機能があれば、エラー出力する(ステップS18)。
【0051】
ステップS17におけるシステムモジュールチェックにてハッシュ値が一致した場合、システムモジュール全てが読み込まれたかどうかチェックし(ステップS19)、読み込まれていれば前記電子機器は起動終了し(ステップS19)、読み込まれていなければ、ステップS16へ戻り外部メモリから次のシステムモジュールを読み込む。
【0052】
なお、図6に示した処理手順では、システムモジュールは暗号化されていないが、プロセッサ固有の秘密鍵K或いはKから生成する別の鍵K’によって暗号化されていてもよく、この場合、図6のステップS17の完全性のチェックの前であって、ステップS16のシステムモジュールの読み出しの後に復号すればよい。
【0053】
このように、ネットワーク接続型電子機器1の第2実施例は、図3に示すように、暗号演算回路11、IPL用ROM12、制御プロセッサ固有の秘密鍵13、ハッシュ値テーブル用メモリ14を一体に1チップ化している。特に、ハッシュ値テーブルメモリ14には、前記電子機器の起動フロー中に、外部メモリからハッシュ値テーブルが書き込まれ、動作中はそのまま制御プロセッサ2に一体化されたハッシュ値テーブル用メモリ14に格納されることになるので、ハッシュテーブルの改ざんや消去をすることはできず、照合用ハッシュ値として信頼できる状態である。このため、第2実施例によれば、起動直後のネットワーク接続型電子機器1は、悪意を持った改ざんを受けていない信頼できるソフトウェア群によって動作していると信頼することができる。また、その後に使用されるアプリケーション等についても、それが改ざんされたり、或いは、置き換えられたりといったような、使用者、或いは管理者が意図しない変更を加えられていないことを認証する際の根拠として、このシステムを利用することができる。
【0054】
次に、ネットワーク接続型電子機器1の第3実施例について説明する。この第3実施例も前記図1に示すように、制御プロセッサが内部バス3を介してROM4、RAM5、入力/出力インターフェース(I/O用I/F)6、及びネットワークI/F7と接続している構成である。ただし、前記制御プロセッサ2に代わり、図7に示す制御プロセッサ30を用いる。
【0055】
図7において、制御プロセッサ30は、ネットワーク接続型電子機器1をセキュアに起動し、実行するため、暗号演算回路31、IPL(Initial Program Loader)を書き込んだROM32、制御プロセッサ固有の秘密鍵33、CA(Certificate Authority)の公開鍵証明書34、権利者の公開鍵証明書35によって構成される。特に、二種類の公開鍵証明書を制御プロセッサ30内に格納しているのは特徴的である。これらの公開鍵証明書は、後述の図8のシステムモジュール一覧と、システムモジュールに、モジュールの権利者(モジュール作成者、モジュール配布者、電子機器製造者などのいずれか)によって付加されている公開鍵基盤(Public Key Infrastructure:PKI)ベースの電子署名を検証するために用いられる。この電子署名を検証することによりシステムモジュールの完全性を維持するというところに特徴がある。
【0056】
暗号演算回路31には、前記暗号演算回路11と同様にネットワーク接続型電子機器1で必要となる暗号用演算、認証用演算、例えば、SHA1、MD5などのハッシュ関数、HMAC−SHA1などのハッシュ関数、ECCなどの署名に関する演算、AES、Triple−DESなどの共通鍵演算の演算、RSAなどの公開鍵暗号の演算等が含まれる。これらの演算は、全てが必須ではないが、少なくとも主に認証処理に関わる暗号演算処理を行う。
【0057】
IPL用ROM32に書き込まれるIPLとは、ネットワーク接続型電子機器1がソフトウェアであるシステムモジュールを読み込むのに必要な最低限の処理、例えば、メモリテストなど、である。また、後述するシステムモジュール読み出し、認証に関係する処理などもIPLに含まれており、この認証に関係する処理の部分が重要である。
【0058】
制御プロセッサ固有の秘密鍵33は、前記秘密鍵13と同様に、Kとして説明する。この秘密鍵(K)33は、制御プロセッサに固有の鍵であり、暗号を復号するのに使われる。もちろん、暗号化する場合にも使われる。
【0059】
CA公開鍵証明書34は、認証局(Certificate Authority:CA)が発行したデジタル証明書である。CA公開鍵が添付されている。文書の正当性を保証するために使われる。
【0060】
権利者公開鍵証明書35は、モジュールの権利者(モジュール作成者、モジュール配布者、前記電子機器製造者などのいずれか)の公開鍵を証明するデジタル証明書である。権利者公開鍵が添付されている。
【0061】
図8は、前記電子機器が読み込むべきシステムモジュール一覧と読み込み順番を表しており、IPL用ROM32に格納されているIPLは外部メモリからシステムモジュールを読み込む前にこれを読み込むような処理を行う。便宜上、ロードするシステムモジュールとしているが、実際には前記機器が理解できる形式になっている。また、図8のシステムモジュール一覧も、システムモジュールと同様にモジュールの権利者(モジュール作成者、モジュール配布者、前記電子機器製造者などのいずれか)によってPKIベースの電子署名が付加されている。この第3実施例は、前述したように制御プロセッサ30を用いて、PKIベースの電子署名を検証することによりシステムモジュールの完全性を維持することができる。
【0062】
図9には、第3実施例の起動時の処理手順を表している。前記電子機器の電源がオンになったとき、プロセッサのIPL用ROM32にあるIPLが実行される(ステップS21)。次にCAの公開鍵証明書34を読み出し(ステップS22)、チェックする(ステップS23)。なお、プロセッサ内に記録されていることからステップS23のチェックは省略することが可能である。
【0063】
ステップS23のチェックでCA公開鍵証明書34が正しくなかった場合、CAの公開鍵証明書34の不具合が主原因であり、前記電子機器は起動しない、或いは、電子機器にエラー出力する機能があればエラーを出力する。
【0064】
次に権利者の公開鍵証明書35を読み出し(ステップS24)、チェックする(ステップS25)。制御プロセッサ30内に記録されていることからステップS25のチェックは省略することが可能である。
【0065】
ステップS25のチェックで正しくなかった場合、権利者の公開鍵証明書35の不具合が主原因であり、前記電子機器は起動しない、或いは、電子機器にエラー出力する機能があればエラーを出力する。
【0066】
次に外部メモリにある図8のモジュールリストを読み出す(ステップS26)。そして、読み出してきたモジュールリストの署名をチェックする(ステップS27)。ここでの署名のチェックには、権利者公開鍵証明書に添付されている権利者の公開鍵を用いて検証する。
【0067】
ステップS27のチェックで正しくなかった場合、モジュールリストの不具合(改ざんなど)が主原因であり、前記電子機器は起動しない、或いは、電子機器にエラー出力する機能があればエラーを出力する。
【0068】
次にモジュールリストを参照し、外部メモリからシステムモジュールを読み出す(ステップS28)。次に読み出してきたシステムモジュールの署名をチェックする(ステップS29)。このチェックはステップS27のチェックと同じである。
【0069】
ステップS29のチェックで正しくなかった場合、システムモジュールの不具合(改ざんなど)が主原因であり、前記電子機器は起動しない、或いは、電子機器にエラー出力する機能があればエラーを出力する。
【0070】
次にシステムモジュール全てが読み込まれたかどうかをチェックし(ステップS30)、読み込まれていれば前記電子機器は起動終了(ステップS31)、読み込まれていなければステップS28へ戻り次のシステムモジュールを読み込む。
【0071】
なお、この図9の処理では、システムモジュールは暗号化されていないが、プロセッサ固有の秘密鍵K或いはKから生成する別の鍵K’によって暗号化されていてもよく、この場合、署名のチェックの前に復号すればよい。
【0072】
このように、ネットワーク接続型電子機器1の第3実施例は、図7に示すように、CAの公開鍵証明書34、権利者の公開鍵証明書35を制御プロセッサ30内に格納し、システムモジュール一覧と、システムモジュールに、モジュールの権利者(モジュール作成者、モジュール配布者、電子機器製造者などのいずれか)によって付加されている公開鍵基盤(Public Key Infrastructure:PKI)ベースの電子署名を検証するのに用いるので、システムモジュールの完全性を維持することができる。このため、第3実施例によれば、起動直後のネットワーク接続型電子機器1は、悪意を持った改ざんを受けていない信頼できるソフトウェア群によって動作していると信頼することができる。また、その後に使用されるアプリケーション等についても、それが改ざんされたり、或いは、置き換えられたりといったような、使用者、或いは管理者が意図しない変更を加えられていないことを認証する際の根拠として、このシステムを利用することができる。
【0073】
次に、ネットワーク接続型電子機器1の第4実施例について説明する。この第4実施例も前記図1に示すように、制御プロセッサ2が内部バス3を介してROM4、RAM5、入力/出力インターフェース(I/O用I/F)6、及びネットワークI/F7と接続している構成である。そして、前記第2実施例のように、図3に示した前記制御プロセッサ2が一体化しているハッシュ値テーブル用メモリ14には、ハッシュ値テーブルが予め書き込まれておらず、前記電子機器の起動フロー中に外部メモリ(例えばROM4やRAM5)から読み出されて書き込まれる。このような構成の制御プロセッサ2は、システムモジュールの権利者が作成したシステムモジュールを更新するという処理を行うものである。
【0074】
図10には、システムモジュールの権利者が作成する更新モジュールを示す。モジュール51、アルゴリズム52、更新前ハッシュ値53、更新後ハッシュ値54、新システムモジュール55によって構成される。
【0075】
更新モジュールは、どのシステムモジュールを更新するのかを限定する情報と、新システムモジュールによって構成されていればよく、必ずしも図10の構成というわけではない。
【0076】
システムモジュールの権利者は、プロセッサ固有の秘密鍵K13を用いて、先の更新モジュールのハッシュ値Hを計算する。例えば、更新モジュールをMとすると、
H=HMAC−SHA1(K、M)
といった演算を行う。これは、ハッシュ関数SHA1に鍵Kを付け加えた演算である。ここで用いているプロセッサ固有の秘密鍵Kは、システムモジュールの権利者と前記電子機器(厳密にはプロセッサ)の間で予め共有している。よって、HMAC−SHA1によるハッシュ値を用いることにより、前記電子機器はシステムモジュールの権利者、厳密には更新モジュールにシステムモジュールを更新する権利があるかどうかの検査を行うことができる。
【0077】
システムモジュールの権利者は、更新モジュールMとハッシュ値Hを前記電子機器に、例えばメモリ4又は5を介して与える。
【0078】
図11には、この第4実施例におけるシステムモジュール更新時の処理手順を示す。先ず、制御プロセッサ2は、更新モジュールM、プロセッサ固有の秘密鍵K、ハッシュ値Hを読み込む(ステップS41)。次にハッシュ値H’を計算し、
H’=HMAC−SHA1(K、M)
システムモジュールの権利者から受け取ったハッシュ値Hと一致するかどうか検査する(ステップS42)。すなわち、
H’=H
が成立するかどうかを検査する。この検査によって、前記電子機器はシステムモジュールの権利者が正しい相手であるか否かを判断する。検査によって、プロセッサ固有の秘密鍵Kを、システムモジュールの権利者が前記電子機器と共有していることが分かるためである。ここで、一致しなければ、エラー処理、例えば、「アップデートに失敗しました」などのメッセージを出力して停止する。また、エラーコードを出力して停止してもよい。
【0079】
ステップS42の検査にて、計算したハッシュ値H’と、受け取ったハッシュ値Hとが一致していた場合(OK)、図10に示した更新モジュールMからモジュール51を取り出し(ステップS43)、ハッシュ値テーブル(図4)にそのモジュールが存在するかどうかを確認する(ステップS44)。存在しない場合はエラー処理を行う。
【0080】
ステップS44における確認により、モジュール51に相当するモジュールが図4のハッシュ値テーブルに存在していた場合、更新モジュールMから更新前ハッシュ値53を取り出し(ステップS45)、ハッシュ値テーブル(図4)の該当するハッシュ値と一致するかどうか確認する(ステップS46)。一致しない場合はエラー処理を行う。
【0081】
ステップS46において一致していた場合(OK)、更新モジュールMから更新後のハッシュ値54を取り出す(ステップS47)。次に、更新モジュールMから新システムモジュール55を取り出し(ステップS48)、ハッシュ値を計算する(ステップS49)。このハッシュ値の計算は更新モジュールMのアルゴリズム52を用いる。ステップS49の演算の結果とステップS47で取り出した更新後ハッシュ値が一致するかどうかを確認し(ステップS50)。一致しない場合はエラー処理を行う。
【0082】
ステップS50にて一致していた場合、システムモジュールを更新し(ステップS51)、ハッシュ値テーブルを更新する(ステップS52)。
【0083】
例えば、システムモジュールの権利者が作成した更新モジュールMが図4に示したテーブル中のモジュールCに関するものである場合について以下に説明する。図11にあっては、モジュール51が“C”であり、アルゴリズム52が“SHA1”である。
【0084】
先ず、図11のステップS41にて、制御プロセッサ2は、更新モジュールM、プロセッサ固有の秘密鍵K、ハッシュ値Hを読み込む。このハッシュ値Hは、システムの権利者が、プロセッサ固有の秘密鍵K13を用いて、
H=HMAC−SHA1(K、M)
として計算したものである。図4においては、“9aa8b7b3c・・・dba”となっている。
【0085】
制御プロセッサ2は、ステップS42にて、プロセッサ固有の秘密鍵13と、更新モジュールMとから、
H’=HMAC−SHA1(K、M)
のようにハッシュ値H’を計算し、システムモジュールの権利者から受け取ったハッシュ値Hと一致するかどうか検査する。ここで、制御プロセッサ2の計算したハッシュ値H’も、“9aa8b7b3c・・・dba”であれば、制御プロセッサ2は、ステップS43にて、図10に示した更新モジュールMからモジュール51を取り出し、ハッシュ値テーブル(図4)にそのモジュールが存在するかどうかを確認する(ステップS44)。
【0086】
ステップS44では、モジュール51に相当するモジュールが図4のハッシュ値テーブルにCとして存在している。そこで、ステップS45にて、更新モジュールMから更新前ハッシュ値53を取り出し、ハッシュ値テーブル(図4)の該当するハッシュ値と一致するかどうか確認する(ステップS46)。ここでは、“9aa8b7b3c・・・dba”として一致しているとする。
【0087】
ステップS47において、更新モジュールMから更新後のハッシュ値54を取り出す。例えば、更新後のハッシュ値は“f9b18d348・・・2349a”であったとする。次に、更新モジュールMから新システムモジュール55としてCを取り出し(ステップS48)、更新モジュールMのアルゴリズム52を用いて、ハッシュ値を計算する(ステップS49)。ここでの計算によるハッシュ値も“f9b18d348・・・2349a”であったとする。
【0088】
そして、ステップS49の演算の結果とステップS47で取り出した更新後ハッシュ値の一致をステップS50にて確認し、システムモジュールCを更新し(ステップS51)、ハッシュ値テーブルを更新する(ステップS52)。これにより、図12に示すように、システムモジュールCの更新後のハッシュ値テーブルが得られる。
【0089】
このように、ネットワーク接続型電子機器1の第4実施例は、図3に示すように、暗号演算回路11、IPL用ROM12、制御プロセッサ固有の秘密鍵13、ハッシュ値テーブル用メモリ14を一体に1チップ化している。ハッシュ値テーブルメモリ14には、前記電子機器の起動フロー中に、外部メモリからハッシュ値テーブルが書き込まれ、動作中はそのまま制御プロセッサ2に一体化されたハッシュ値テーブル用メモリ14に格納されることになる。そして、この第4実施例は、システムモジュールの権利者が作成したシステムモジュールを更新するという処理を行うとき、システムモジュールを更新する権利をチェックし、更新する権利を有するシステムモジュールだけを正確に判断し、更新を実行することができる。セキュアな状態を維持したままでの更新が可能となるので、システムモジュールの更新後にシステムを起動しても、システムは悪意を持った改ざんなどを受けていない信頼できるソフトウェア群によって動作していると信頼することができる。また、その後に使用されるアプリケーション等についても、それが改ざんされたり、或いは、置き換えられたりといったような、使用者、或いは管理者が意図しない変更を加えられていないことを認証する際の根拠として、このシステムを利用することができる。
【0090】
次に、ネットワーク接続型電子機器1の第5実施例について説明する。この第5実施例も前記図1に示すように、制御プロセッサが内部バス3を介してROM4、RAM5、入力/出力インターフェース(I/O用I/F)6、及びネットワークI/F7と接続している構成である。ただし、前記第3実施例と同様に前記制御プロセッサ2に代わり、図7に示す制御プロセッサ30を用いる。そして、この制御プロセッサ30は、システムモジュールの権利者が作成したシステムモジュールを更新するという処理を行うものである。
【0091】
図13には、システムモジュールの権利者が作成する更新モジュールを示す。モジュール71、新システムモジュール72によって構成される。
【0092】
システムモジュールの権利者は、自身の秘密鍵SMを用いて、先の更新モジュールの署名Dを計算する。例えば、更新モジュールをMとすると、
D=DSA(SM、M)
といった演算を行う。秘密鍵SMは、制御プロセッサ30に含まれる権利者公開鍵証明書35の公開鍵に対応する秘密鍵である。システムモジュールの権利者は、更新モジュールMと署名Dを前記電子機器1に与える。
【0093】
図14は第5実施例におけるシステムモジュール更新時の処理手順を示す図である。システムモジュールの更新が行われるのは前記電子機器1が起動してからであるため、起動時に、CA公開鍵証明書の検査、権利者公開鍵証明書の検査が行われている。よってここでは同様の処理を省略しているが、省略せずに同様の検査を行ってもよい。その場合は、ステップS61の前に、図9のステップS21からステップS25の処理を行う。
【0094】
図14において、先ず、更新モジュールM、署名D、権利者公開鍵を読み込む(ステップS61)。次に署名Dの検証を行う(ステップS62)。署名の検証は、前記署名生成のアルゴリズムに対応する検証アルゴリズムを用いる。署名が正しくなければ、エラー処理、例えば、「アップデートに失敗しました」などのメッセージを出力して停止するか、或いはエラーコードを出力して停止する。
【0095】
ステップS62にて更新モジュールをチェックし、署名が正しい場合、更新モジュールMからモジュール71を取り出し(ステップS63)、図8に示したシステムモジュール一覧にそのモジュールが存在するかどうかを確認する(ステップS64)。存在しない場合はエラー処理を行う。
【0096】
ステップS64でのモジュールの存在確認において、存在していた場合、更新モジュールMから新システムモジュールを取り出し(ステップS65)、新システムモジュールの署名を検証する(ステップS66)。署名が正しくなければエラー処理を行う。ステップS66にて署名が正しいと判断した場合、システムモジュールを更新する(ステップS67)。
【0097】
このように、ネットワーク接続型電子機器1の第5実施例は、図7に示すように、CAの公開鍵証明書34、権利者の公開鍵証明書35を制御プロセッサ30内に格納し、システムモジュール一覧と、システムモジュールに、モジュールの権利者(モジュール作成者、モジュール配布者、電子機器製造者などのいずれか)によって付加されている公開鍵基盤(Public Key Infrastructure:PKI)ベースの電子署名を検証するのに用いる。そして、この第5実施例は、システムモジュールの権利者が作成したシステムモジュールを更新するという処理を行うとき、オブジェクトを更新する権利をチェックし、権利を有するオブジェクトだけを正確に判断し、更新を実行することができる。セキュアな状態を維持したままでの更新が可能となるので、システムモジュールの更新後にシステムを起動しても、システムは悪意を持った改ざんなどを受けていない信頼できるソフトウェア群によって動作していると信頼することができる。また、その後に使用されるアプリケーション等についても、それが改ざんされたり、或いは、置き換えられたりといったような、使用者、或いは管理者が意図しない変更を加えられていないことを認証する際の根拠として、このシステムを利用することができる。
【0098】
さらに、この第5実施例のような方式であれば、複数のシステムモジュールの権利者が存在することを許すことができる。複数のシステムモジュールの権利者が存在する場合は、システムモジュールの権利者の数だけその公開鍵証明書を制御プロセッサ30内部に記録しておけばよい。
【0099】
ところで、ネットワーク接続型電子機器1の第1実施例、第2実施例及び第4実施例では、図3に示す構成において、ハッシュ値テーブル用メモリ14に、予め又は機器起動中に、ハッシュ値テーブルを書き込んでいた。このハッシュ値テーブルを用いて、前記電子機器1を起動する際に、利用するシステムモジュールの完全性(Integrity)の検査を実施することにより、正しいモジュールによって起動することを保証し、セキュアな状態での前記電子機器1の起動を行っている。このシステムモジュールの完全性の検査のためには、前記電子機器1にて利用する全モジュールのハッシュ値が必要となる。しかしながら、ハッシュ値テーブル用メモリ14の限られたメモリ資源において、全モジュールのハッシュ値を記録することは困難である場合がある。
【0100】
そこで、ハッシュ用テーブルメモリ14が有限である前記電子機器において、システムモジュールのハッシュ値を管理する場合、複数のシステムモジュールをまとめて一つのシステムモジュールと見なすことにより、システムモジュールが増大したとしてもハッシュ値テーブルを限られたメモリの中で管理することができる。
【0101】
以下、システムモジュールが、非圧縮の場合について説明する。図15は、システムモジュールを一意に定めるモジュールID81と、モジュール名82を示している。モジュールID81が”1、2、3、4、5、6、7”であるシステムモジュールの名前が、”A、C、G、D、B、F、E”であることを示している。ここでは明示的にシステムモジュール名82を示しているが、利用対象物内で識別できるもの、例えば、システムモジュールが記録されているアドレスなどであってもよい。
【0102】
図16は、各モジュールごとのハッシュ値を示している。ハッシュ値ごとのID91とシステムモジュール92、ハッシュ値を導出するアルゴリズム93、ハッシュ値94によって構成される。ここではアルゴリズム93としてアルゴリズム名を示しているが利用対象内で識別できるもの、例えば、アルゴリズムを呼び出す命令などであってもよい。この図16において、例えば、ハッシュ値のIDが5の場合、それは図15のシステムモジュールIDが5、すなわちシステムモジュール名がBであるものをアルゴリズム「SHA1」によってハッシュ値を導出し、その結果が16進数で「8d34fba01b88da3f9eac0394bd4bca84da94abda」であることを意味する。
【0103】
図15、図16の状態のとき、二つのモジュールS,Pが追加された場合について図17を用いて説明する。新たに、システムモジュールID81が8でシステムモジュール名82がSのシステムモジュールと、システムモジュールID81が9でシステムモジュール名82がPのシステムモジュールが追加されている。図18には、図17の各モジュールごとのハッシュ値を示す。単純に、ID91が8と9という下2行が増えている。
【0104】
図18に示した情報を圧縮したものが図19である。図18に対して図19では、システムモジュールID102が4と5、7と8が統合されてハッシュ値104が計算されている。統合したことにより図19と図16は見かけ上同じサイズとなる。ここで見かけ上としたのは、図19のシステムモジュールID102の部分に統合した分の情報が付加していることを考慮していないからである。
【0105】
どの部分を統合するかは、連続するシステムモジュールIDを複数個、連続しないシステムモジュールIDを複数個のどちらかであってもよく、またいくつ統合してもよい。
【0106】
また、統合する方法は、ここでは複数個のシステムモジュールを一つのシステムモジュールと見なしてハッシュ値を計算している。すなわち、通常、ハッシュ値=ハッシュ関数(システムモジュール1個)としている部分を、
ハッシュ値=ハッシュ関数(モジュール|モジュール|・・|モジュール)
としてハッシュ値を計算する。記号「|」は連接を意味している。
【0107】
図20は、ハッシュ値表を更新する処理のフロー図である。システムモジュールが追加(ステップS71)された場合、システムモジュール表を更新(ステップS72)する。これは図15から図18への追加である。次にシステムモジュールを追加したことにより、メモリが限界に達するかどうかを確認(ステップS73)する。これは、追加したシステムモジュールの個数nとシステムモジュール1個あたり消費するメモリ量yによって
ny
だけ増加することから、現在のメモリ使用量m、メモリに限界値Mとすると、
M>m+ny (1)
が成立するかどうかを計算する。式(1)が成立する場合、追加したシステムモジュールのハッシュ値を計算(ステップS75)する。これは、図18に対応する。式(1)が成立しない場合、システムモジュールIDを統合(ステップS74)する。これは図19の(102)の部分にあたる。その後、ハッシュ値を計算(ステップS75)する。これは、図19に対応する。
【0108】
次に、複数個のシステムモジュールを圧縮して一つと見なした場合について述べる。図21は、図17に示した例と同様に、図15にシステムモジュールPとシステムモジュールSを追加したものである。図21のシステムモジュールID111が4の場合、システムモジュールDとシステムモジュールBが統合されていることを意味する。同様にシステムモジュールIDが6の場合、システムモジュールEとシステムモジュールSが統合されていることを意味する。図22は、このときの各モジュールのハッシュ値を示している。システムモジュールIDとハッシュ値ごとのID121は1対1対応を採るために、図22にはシステムモジュールIDは必要としない。結果的に、前記例よりも保持すべき情報は図22のシステムモジュールID分だけ少なくなる。
【0109】
どの部分を統合するかは、連続するシステムモジュールIDを複数個、連続しないシステムモジュールIDを複数個のどちらであってもよく、またいくつ統合してもよい。図22の例では、図17におけるシステムモジュールIDが4と5,7と8を統合している。
【0110】
複数個のシステムモジュールを統合する方法は、単純にシステムモジュールを統合する方法、システムモジュールを圧縮しつつ統合する方法がある。
【0111】
図23は、ハッシュ値表を更新する処理のフロー図である。システムモジュールが追加(ステップS81)された場合、システムモジュール表を更新(ステップS82)する。これは図15から図18への追加である。次にシステムモジュールを追加したことにより、メモリが限界に達するかどうかを確認(ステップS83)する。これは、前記例と同様の計算式(1)を用いる。式(1)が成立する場合、追加したシステムモジュールのハッシュ値を計算(ステップS85)する。これは、図18に対応する。式(1)が成立しない場合、システムモジュールを統合(ステップS84)する。これは、図21の(112)の部分に対応する。その後、ハッシュ値を計算(ステップS85)する。これは、図22に対応する。
【0112】
以下には、メモリ効率利用の効果について説明する。前述したように、システムモジュールのハッシュ値を管理する場合、複数のシステムモジュールをまとめて一つのシステムモジュールと見なすことにより、メモリを効率よく利用することができるだけでなく、統合することにより、あるシステムモジュールに対する改ざん攻撃を行うことが難しくなる。これは、どのシステムモジュールを統合しているかの情報を入手しなければ、事実上、改ざんできないからである。
【0113】
なお、ハッシュ値テーブルの実装において、ハッシュ計算の対象となる全てのシステムモジュールをテーブルの段数にあわせて区分けすることになるが、この分け方は、計算速度や効率を考慮して設計されなければならない。考慮すべき点として、
(a)ハッシュテーブルの各段のハッシュ値計算に含まれるシステムモジュールのサイズの合計を各段で同程度にする。
(b)同じハッシュ値計算に含まれる各システムモジュールは、論理的に、或いは物理的に近い位置にあり、ファイルアクセス時間の総計が効率的であるようにする。
(c)ハッシュ値計算に含まれるシステムモジュール数を、ハッシュテーブル各段でほぼ同じになるようにする。
といったことが想定されるが、どの条件を優先するかは機器の能力や用途、構造等に応じて決めればよい。
【0114】
【発明の効果】
本発明によれば、OSと独立した処理を実現するために必要なデータ、アルゴリズムをセキュアな状態で保存し、制御部内にてセキュアな状態でソフトウェアの認証処理を正しく実行することができる。また、システムモジュールの更新をセキュアな状態で行うことができる。
【図面の簡単な説明】
【図1】ネットワーク接続型電子機器の第1実施例のブロック図である。
【図2】認証の連鎖を説明するための図である。
【図3】制御プロセッサの構成を示す図である。
【図4】ハッシュテーブルを示す図である。
【図5】ネットワーク接続型電子機器の第1実施例の起動時の処理手順を示すフローチャートである。
【図6】ネットワーク接続型電子機器の第2実施例の起動時の処理手順を示すフローチャートである。
【図7】ネットワーク接続型電子機器の第3実施例を構成する制御プロセッサを示す図である。
【図8】システムモジュール一覧を示す図である。
【図9】ネットワーク接続型電子機器の第3実施例の起動時の処理手順を示すフローチャートである。
【図10】ネットワーク接続型電子機器の第4実施例が更新する更新モジュールを示す図である。
【図11】ネットワーク接続型電子機器の第4実施例の起動時の処理手順を示すフローチャートである。
【図12】システムモジュールの更新後のハッシュ値テーブルを示す図である。
【図13】システムモジュールの権利者が作成する更新モジュールを示す図である。
【図14】ネットワーク接続型電子機器の第5実施例の起動時の処理手順を示すフローチャートである。
【図15】システムモジュールを一意に定めるモジュールIDと、システムモジュール名を示す図である。
【図16】各システムモジュールごとのハッシュ値を示している図である。
【図17】二つのシステムモジュールS,Pが追加された場合のシステムモジュールIDと、システムモジュール名を示す図である。
【図18】前記図17の各モジュールごとのハッシュ値を示す図である。
【図19】前記図18に示した情報を圧縮したハッシュ値を示す図である。
【図20】ハッシュ値表を更新する処理手順を示すフローチャートである。
【図21】前記図15にシステムモジュールPとシステムモジュールSを追加した場合のシステムモジュールIDと、システムモジュール名を示す図である。
【図22】システムモジュールID分だけ少なくなったハッシュ値表を示す図である。
【図23】ハッシュ値表を更新する処理手順を示すフローチャートである。
【符号の説明】
1 ネットワーク接続型電子機器、2 制御プロセッサ、11 暗号演算回路、12 IPL用ROM、13 秘密鍵、14 ハッシュ値テーブル用メモリ、30 制御プロセッサ、31 暗号演算回路、32 IPL用ROM、33 秘密鍵、34 CA公開鍵証明書、35 権利者公開鍵証明書
Claims (15)
- システムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器の制御プロセッサであって、
前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、
前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、
前記システムモジュールの改ざんや消去を判断するために用いられるハッシュ値テーブルを記憶するハッシュ値テーブル用記憶部と
を備えることを特徴とする制御プロセッサ。 - 固有の秘密鍵をさらに備えることを特徴とする請求項1記載の制御プロセッサ。
- 前記ハッシュ値テーブル用記憶部は、予めハッシュ値テーブルを記憶していることを特徴とする請求項1記載の制御プロセッサ。
- 前記ハッシュ値テーブル用記憶部は、起動時に外部からハッシュ値テーブルを読み出して記憶することを特徴とする請求項1記載の制御プロセッサ。
- 前記システムモジュールの更新が要求されたときには、システムモジュールを更新する権利をチェックし、更新する権利を有するシステムモジュールだけを判断して、更新を実行することを特徴とする請求項4記載の制御プロセッサ。
- 前記システムモジュールのハッシュ値を計算し、前記ハッシュ値テーブル用記憶部に記憶されているハッシュ値テーブルの値と比較して前記システムモジュールの改ざんや消去を判断することを特徴とする請求項1記載の制御プロセッサ。
- 複数のシステムモジュールをまとめて一つと見なすことによって、前記ハッシュ値テーブルを限られた前記ハッシュ値テーブル用記憶部の中で管理することを特徴とする請求項1又は4記載の制御プロセッサ。
- システムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器の制御プロセッサであって、
前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、
前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、
前記システムモジュールの権利者によって付加されている公開鍵基盤ベースの電子署名を検証するために用いる公開鍵証明書と
を備えることを特徴とする制御プロセッサ。 - 前記システムモジュールの更新が要求されたときには、システムモジュールを更新する権利をチェックし、更新する権利を有するシステムモジュールだけを判断して、更新を実行することを特徴とする請求項8記載の制御プロセッサ。
- システムモジュールを記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器であって、
前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、前記システムモジュールの改ざんや消去を判断するために用いられるハッシュ値テーブルを記憶するハッシュ値テーブル用記憶部とを備える制御プロセッサ
を有することを特徴とする電子機器。 - システムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行う電子機器であって、
前記システムモジュールの改ざんや消去を判断するための演算を行う暗号演算部と、前記システムモジュールを読み込むのに必要な処理を行う初期プログラムローダーを書き込んだ記憶部と、前記システムモジュールの権利者によって付加されている公開鍵基盤ベースの電子署名を検証するために用いる公開鍵証明書とを内部に記憶し処理可能な制御プロセッサ
を有することを特徴とする電子機器。 - システムモジュールを記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のプログラム起動方法であって、
前記システムモジュールのハッシュ値を計算し、ハッシュ値テーブル用記憶部に記憶されているハッシュ値テーブルの値と比較して前記システムモジュールの改ざんや消去を判断する
ことを特徴とする電子機器のプログラム起動方法。 - システムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のプログラム起動方法であって、
公開鍵証明書を用いて前記システムモジュールの権利者によって付加されている公開鍵基盤ベースの電子署名を検証する
ことを特徴とする電子機器のプログラム起動方法。 - システムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のシステムモジュール更新方法であって、
前記システムモジュールの更新が要求されたときには、起動時に外部からハッシュ値テーブルを読み出して記憶するハッシュ値テーブル用記憶部内の前記ハッシュ値テーブルを用いて、システムモジュールを更新する権利をチェックし、更新する権利を有するシステムモジュールだけを判断して、更新を実行する
ことを特徴とする電子機器のシステムモジュール更新方法。 - システムモジュールを外部の記憶部から読み出して実行し、かつネットワークに接続してデータの送受信を行うための電子機器のシステムモジュール更新方法であって、
前記システムモジュールの更新が要求されたときには、公開鍵を用いてシステムモジュールを更新する権利をチェックし、更新する権利を有するシステムモジュールだけを判断して、更新を実行する
ことを特徴とする電子機器のシステムモジュール更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068582A JP4501349B2 (ja) | 2003-03-13 | 2003-03-13 | システムモジュール実行装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068582A JP4501349B2 (ja) | 2003-03-13 | 2003-03-13 | システムモジュール実行装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004280284A true JP2004280284A (ja) | 2004-10-07 |
JP4501349B2 JP4501349B2 (ja) | 2010-07-14 |
Family
ID=33285869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003068582A Expired - Fee Related JP4501349B2 (ja) | 2003-03-13 | 2003-03-13 | システムモジュール実行装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4501349B2 (ja) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079144A (ja) * | 2004-09-07 | 2006-03-23 | Dainippon Printing Co Ltd | 並列分散処理認証システム、および、並列分散処理認証方式 |
JP2006221632A (ja) * | 2005-02-07 | 2006-08-24 | Sony Computer Entertainment Inc | プロセッサ内にセキュアな起動シーケンスを提供する方法および装置 |
JP2007025986A (ja) * | 2005-07-14 | 2007-02-01 | Toshiba Corp | 紙葉類処理装置における処理プログラムの改ざん防止方法と紙葉類処理装置と紙葉類処理システムにおける処理プログラムの改ざん防止方法と紙葉類処理システム |
JP2007102791A (ja) * | 2005-09-30 | 2007-04-19 | Fiinikkusu Technologies Ltd | 無許可のブートローダの実行を防止することによって安全性を高めた実行環境 |
JP2007318731A (ja) * | 2006-04-26 | 2007-12-06 | Ricoh Co Ltd | 複数のモジュール構成情報を管理できる画像形成装置 |
JP2008146479A (ja) * | 2006-12-12 | 2008-06-26 | Toshiba Corp | ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム |
JP2008535049A (ja) * | 2005-03-22 | 2008-08-28 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | トラステッドデータのための方法、デバイス、およびデータ構造体 |
JP2009508271A (ja) * | 2005-09-14 | 2009-02-26 | サンディスク コーポレイション | 大容量フラッシュメモリを備える高信頼性デバイスのための、セキュアでありながらフレキシブルなシステムアーキテクチャ |
JP2009517972A (ja) * | 2005-11-29 | 2009-04-30 | トムソン ライセンシング | デジタルコンテンツを保護する方法及び装置 |
JP2011511331A (ja) * | 2008-01-30 | 2011-04-07 | パナソニック株式会社 | セキュアブート方法及びセキュアブート装置 |
US7934049B2 (en) | 2005-09-14 | 2011-04-26 | Sandisk Corporation | Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory |
US8103878B2 (en) | 2007-06-06 | 2012-01-24 | Hitachi, Ltd. | Control device, update method and control software |
US8176278B2 (en) | 2005-05-19 | 2012-05-08 | Fujitsu Limited | Information processing apparatus, information processing method and record medium |
US8220039B2 (en) | 2005-07-08 | 2012-07-10 | Sandisk Technologies Inc. | Mass storage device with automated credentials loading |
JP2012146338A (ja) * | 2012-05-07 | 2012-08-02 | Ricoh Co Ltd | ソフトウェア改ざん検知方法、ソフトウェア改ざん検知プログラム及び機器 |
JP2012529102A (ja) * | 2009-06-03 | 2012-11-15 | マイクロン テクノロジー, インク. | ソリッドステートデバイス内のオブジェクト指向メモリ |
WO2013001721A1 (ja) * | 2011-06-29 | 2013-01-03 | パナソニック株式会社 | コンピュータ制御方法 |
US8392988B2 (en) | 2007-02-09 | 2013-03-05 | Ntt Docomo, Inc. | Terminal device and method for checking a software program |
US8433923B2 (en) | 2006-03-22 | 2013-04-30 | Fujitsu Limited | Information processing device having activation verification function |
JP2013168174A (ja) * | 2013-04-26 | 2013-08-29 | Ricoh Co Ltd | 情報処理装置及び情報保護方法 |
JP2013191226A (ja) * | 2013-05-17 | 2013-09-26 | Ricoh Co Ltd | 情報処理装置、ソフトウェア更新方法及び画像処理装置 |
JP2014056381A (ja) * | 2012-09-12 | 2014-03-27 | Keihin Corp | 車両の電子制御装置 |
US8887288B2 (en) | 2008-02-18 | 2014-11-11 | Ricoh Company, Ltd. | Method of detecting software falsification, apparatus configured to detect software falsification, and computer-readable storage medium |
JP2014219955A (ja) * | 2013-10-06 | 2014-11-20 | 春佳 西守 | コンピュータプログラム |
JP2015022521A (ja) * | 2013-07-19 | 2015-02-02 | スパンション エルエルシー | セキュアブート方法、組み込み機器、セキュアブート装置およびセキュアブートプログラム |
JP2015055898A (ja) * | 2013-09-10 | 2015-03-23 | 富士通セミコンダクター株式会社 | セキュアブート方法、半導体装置、及び、セキュアブートプログラム |
JP2015153372A (ja) * | 2014-02-19 | 2015-08-24 | 日本電信電話株式会社 | データベースシステムおよびデータ更新方法 |
US9729328B2 (en) | 2007-03-15 | 2017-08-08 | Ricoh Company, Ltd. | Information processing apparatus, software updating method, and image processing apparatus |
JP2019057156A (ja) * | 2017-09-21 | 2019-04-11 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
WO2021161418A1 (ja) * | 2020-02-12 | 2021-08-19 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN114115506A (zh) * | 2020-08-28 | 2022-03-01 | 瑞昱半导体股份有限公司 | 计算机系统、电子装置及状态还原方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102186609B1 (ko) | 2014-03-07 | 2020-12-03 | 삼성전자주식회사 | 무결성 검증 장치를 포함하는 전자 시스템 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000322253A (ja) * | 1999-05-14 | 2000-11-24 | Namco Ltd | セキュリティ・システム |
JP2001524229A (ja) * | 1997-02-13 | 2001-11-27 | ピーシーエスイーシー,リミティド ライアビリティ カンパニー | コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ |
JP2001527675A (ja) * | 1997-05-15 | 2001-12-25 | モンデックス インターナショナル リミテッド | Icカード配送鍵セット |
JP2002507307A (ja) * | 1998-04-27 | 2002-03-05 | モトローラ・インコーポレイテッド | プログラムをプロセッサに読み込むための装置および方法 |
JP2002116838A (ja) * | 2000-06-30 | 2002-04-19 | Internatl Business Mach Corp <Ibm> | コードを更新するためのデバイスおよび方法 |
JP2002202720A (ja) * | 2000-12-28 | 2002-07-19 | Toshiba Corp | 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法 |
JP2002351723A (ja) * | 2001-05-29 | 2002-12-06 | Tokyo Inst Of Technol | 耐ウィルスコンピュータシステム |
-
2003
- 2003-03-13 JP JP2003068582A patent/JP4501349B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001524229A (ja) * | 1997-02-13 | 2001-11-27 | ピーシーエスイーシー,リミティド ライアビリティ カンパニー | コンピュータシステムの安全保障性能向上用の安全保障形共同プロセッサ |
JP2001527675A (ja) * | 1997-05-15 | 2001-12-25 | モンデックス インターナショナル リミテッド | Icカード配送鍵セット |
JP2002507307A (ja) * | 1998-04-27 | 2002-03-05 | モトローラ・インコーポレイテッド | プログラムをプロセッサに読み込むための装置および方法 |
JP2000322253A (ja) * | 1999-05-14 | 2000-11-24 | Namco Ltd | セキュリティ・システム |
JP2002116838A (ja) * | 2000-06-30 | 2002-04-19 | Internatl Business Mach Corp <Ibm> | コードを更新するためのデバイスおよび方法 |
JP2002202720A (ja) * | 2000-12-28 | 2002-07-19 | Toshiba Corp | 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法 |
JP2002351723A (ja) * | 2001-05-29 | 2002-12-06 | Tokyo Inst Of Technol | 耐ウィルスコンピュータシステム |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4531498B2 (ja) * | 2004-09-07 | 2010-08-25 | 大日本印刷株式会社 | 並列分散処理認証システム、および、並列分散処理認証方法 |
JP2006079144A (ja) * | 2004-09-07 | 2006-03-23 | Dainippon Printing Co Ltd | 並列分散処理認証システム、および、並列分散処理認証方式 |
JP2006221632A (ja) * | 2005-02-07 | 2006-08-24 | Sony Computer Entertainment Inc | プロセッサ内にセキュアな起動シーケンスを提供する方法および装置 |
JP4489030B2 (ja) * | 2005-02-07 | 2010-06-23 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ内にセキュアな起動シーケンスを提供する方法および装置 |
US9111119B2 (en) | 2005-03-22 | 2015-08-18 | Hewlett-Packard Development Company L.P. | Methods, devices and data structures for trusted data |
JP2008535049A (ja) * | 2005-03-22 | 2008-08-28 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | トラステッドデータのための方法、デバイス、およびデータ構造体 |
JP4732508B2 (ja) * | 2005-03-22 | 2011-07-27 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | トラステッドデータのための方法、デバイス、およびデータ構造体 |
US8176278B2 (en) | 2005-05-19 | 2012-05-08 | Fujitsu Limited | Information processing apparatus, information processing method and record medium |
US8220039B2 (en) | 2005-07-08 | 2012-07-10 | Sandisk Technologies Inc. | Mass storage device with automated credentials loading |
JP2007025986A (ja) * | 2005-07-14 | 2007-02-01 | Toshiba Corp | 紙葉類処理装置における処理プログラムの改ざん防止方法と紙葉類処理装置と紙葉類処理システムにおける処理プログラムの改ざん防止方法と紙葉類処理システム |
US7934049B2 (en) | 2005-09-14 | 2011-04-26 | Sandisk Corporation | Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory |
JP4891324B2 (ja) * | 2005-09-14 | 2012-03-07 | サンディスク コーポレイション | 大容量フラッシュメモリを備える高信頼性デバイスのための、セキュアでありながらフレキシブルなシステムアーキテクチャ |
JP2009508271A (ja) * | 2005-09-14 | 2009-02-26 | サンディスク コーポレイション | 大容量フラッシュメモリを備える高信頼性デバイスのための、セキュアでありながらフレキシブルなシステムアーキテクチャ |
JP2007102791A (ja) * | 2005-09-30 | 2007-04-19 | Fiinikkusu Technologies Ltd | 無許可のブートローダの実行を防止することによって安全性を高めた実行環境 |
JP2009517972A (ja) * | 2005-11-29 | 2009-04-30 | トムソン ライセンシング | デジタルコンテンツを保護する方法及び装置 |
US8433923B2 (en) | 2006-03-22 | 2013-04-30 | Fujitsu Limited | Information processing device having activation verification function |
JP2007318731A (ja) * | 2006-04-26 | 2007-12-06 | Ricoh Co Ltd | 複数のモジュール構成情報を管理できる画像形成装置 |
JP2008146479A (ja) * | 2006-12-12 | 2008-06-26 | Toshiba Corp | ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム |
US8392988B2 (en) | 2007-02-09 | 2013-03-05 | Ntt Docomo, Inc. | Terminal device and method for checking a software program |
US9729328B2 (en) | 2007-03-15 | 2017-08-08 | Ricoh Company, Ltd. | Information processing apparatus, software updating method, and image processing apparatus |
US8103878B2 (en) | 2007-06-06 | 2012-01-24 | Hitachi, Ltd. | Control device, update method and control software |
JP2011511331A (ja) * | 2008-01-30 | 2011-04-07 | パナソニック株式会社 | セキュアブート方法及びセキュアブート装置 |
US8677108B2 (en) | 2008-01-30 | 2014-03-18 | Panasonic Corporation | Method for finding next component to be booted based on booting status of current component to continue booting process by using a component look-up table |
US8887288B2 (en) | 2008-02-18 | 2014-11-11 | Ricoh Company, Ltd. | Method of detecting software falsification, apparatus configured to detect software falsification, and computer-readable storage medium |
JP2012529102A (ja) * | 2009-06-03 | 2012-11-15 | マイクロン テクノロジー, インク. | ソリッドステートデバイス内のオブジェクト指向メモリ |
US8751860B2 (en) | 2009-06-03 | 2014-06-10 | Micron Technology, Inc. | Object oriented memory in solid state devices |
US9110832B2 (en) | 2009-06-03 | 2015-08-18 | Micron Technology, Inc. | Object oriented memory in solid state devices |
WO2013001721A1 (ja) * | 2011-06-29 | 2013-01-03 | パナソニック株式会社 | コンピュータ制御方法 |
JP2012146338A (ja) * | 2012-05-07 | 2012-08-02 | Ricoh Co Ltd | ソフトウェア改ざん検知方法、ソフトウェア改ざん検知プログラム及び機器 |
JP2014056381A (ja) * | 2012-09-12 | 2014-03-27 | Keihin Corp | 車両の電子制御装置 |
JP2013168174A (ja) * | 2013-04-26 | 2013-08-29 | Ricoh Co Ltd | 情報処理装置及び情報保護方法 |
JP2013191226A (ja) * | 2013-05-17 | 2013-09-26 | Ricoh Co Ltd | 情報処理装置、ソフトウェア更新方法及び画像処理装置 |
JP2015022521A (ja) * | 2013-07-19 | 2015-02-02 | スパンション エルエルシー | セキュアブート方法、組み込み機器、セキュアブート装置およびセキュアブートプログラム |
JP2015055898A (ja) * | 2013-09-10 | 2015-03-23 | 富士通セミコンダクター株式会社 | セキュアブート方法、半導体装置、及び、セキュアブートプログラム |
JP2014219955A (ja) * | 2013-10-06 | 2014-11-20 | 春佳 西守 | コンピュータプログラム |
JP2015153372A (ja) * | 2014-02-19 | 2015-08-24 | 日本電信電話株式会社 | データベースシステムおよびデータ更新方法 |
JP2019057156A (ja) * | 2017-09-21 | 2019-04-11 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
JP7065578B2 (ja) | 2017-09-21 | 2022-05-12 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
WO2021161418A1 (ja) * | 2020-02-12 | 2021-08-19 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
JPWO2021161418A1 (ja) * | 2020-02-12 | 2021-08-19 | ||
JP7004478B2 (ja) | 2020-02-12 | 2022-01-21 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN114115506A (zh) * | 2020-08-28 | 2022-03-01 | 瑞昱半导体股份有限公司 | 计算机系统、电子装置及状态还原方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4501349B2 (ja) | 2010-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4501349B2 (ja) | システムモジュール実行装置 | |
EP3458999B1 (en) | Self-contained cryptographic boot policy validation | |
US9281949B2 (en) | Device using secure processing zone to establish trust for digital rights management | |
KR100657532B1 (ko) | 전자 장치 보안 방법, 보안 시스템 및 전자 장치 | |
JP4668619B2 (ja) | 装置鍵 | |
JP6370722B2 (ja) | データセンタへのプラットフォームの内包検証 | |
US8560820B2 (en) | Single security model in booting a computing device | |
JP4912879B2 (ja) | プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法 | |
US7568114B1 (en) | Secure transaction processor | |
US8479000B2 (en) | Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit | |
US20080216147A1 (en) | Data Processing Apparatus And Method | |
JP5097130B2 (ja) | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム | |
KR100702499B1 (ko) | 메시지 무결성 보증 시스템, 방법 및 기록 매체 | |
EP3248360A1 (en) | Systems and methods for trusted path secure communication | |
CN114499892B (zh) | 固件启动方法、装置、计算机设备及可读存储介质 | |
US20050049970A1 (en) | Program creation apparatus | |
US11743055B2 (en) | Storing data on target data processing devices | |
Bruseghini et al. | Victory by KO: Attacking OpenPGP using key overwriting | |
CN114747173A (zh) | 经由退化密钥的数据完整性验证 | |
KR100749868B1 (ko) | 장치 키 | |
JP5180264B2 (ja) | 装置鍵 | |
CN114598465A (zh) | 一种数据更新方法和控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091027 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100216 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100308 |
|
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: 20100330 |
|
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: 20100412 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |