JP3863401B2 - ソフトウェア処理装置 - Google Patents
ソフトウェア処理装置 Download PDFInfo
- Publication number
- JP3863401B2 JP3863401B2 JP2001315815A JP2001315815A JP3863401B2 JP 3863401 B2 JP3863401 B2 JP 3863401B2 JP 2001315815 A JP2001315815 A JP 2001315815A JP 2001315815 A JP2001315815 A JP 2001315815A JP 3863401 B2 JP3863401 B2 JP 3863401B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- processor
- program code
- buffer
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Description
【発明の属する技術分野】
本発明は、外部からソフトウェアをインストールして実行する機能を有する、家電機器、汎用計算機、携帯電話、PDAなどのソフトウェア処理装置に関する。
【0002】
【従来の技術】
近年、インターネットの普及や常時接続の一般化に伴い、汎用の計算機をはじめとする多くの機器がネットワークに接続し、利用者はネットワークを利用した様々なサービスを受けることが可能となってきている。その一方で、悪意のある利用者によるネットワークを経由した不正行為が社会的な問題になっており、ネットワークセキュリティの重要性は高まってきている。
【0003】
一般的にそれらの不正行為は、ソフトウェアの脆弱性や管理者の設定ミスを利用した攻撃やウィルスによるものが多い。特にソフトウェアの脆弱性に関しては、開発者にとってあらかじめ設計上、実装上のミスのない完全なソフトウェアを作成し配布することは一般的に困難であることが原因となっている。さらに、それらのミスはソフトウェアの配布後、開発者や利用者によって使用中に発見されることが多いため、開発者側から修正プログラムという形で公開・配布され、利用者は適宜それらの修正プログラムをダウンロード後、インストールするという形態が一般的である。
【0004】
しかしながら、全てのネットワーク利用者がネットワークセキュリティに関して専門の知識や関心を持っているとは限らない。そのため、それらの問題のあるソフトウェアを修正するプログラムが公開されているにも関わらず、問題を抱えたソフトウェアが放置されている場合が少なくない。従って、ソフトウェア作成者が修正プログラムや、修正プログラムを含んだアップデートプログラムを、機器利用者に対して配布し、確実に修正プログラムやソフトウェアをインストールすることが求められる(ここで、確実とは、ダウンロードしたプログラム自体が改竄されていたり、不正なソフトウェアに置き換えられたりすることなく、正当なソフトウェアをインストールすることを指す)。
【0005】
従来のソフトウェアを安全にインストールする技術としては、デジタル署名が有用であると考えられる。デジタル署名の利用方法例を以下に示す。
【0006】
ソフトウェア作成者は、公開鍵アルゴリズムに基づいた公開鍵と秘密鍵を作成し、インストールの対象となる機器のROMに公開鍵を書き込む。このため、公開鍵を書き換えることは不可能である。一方でインストールするソフトウェアはそれ自身が正しいと証明するため、前記のROMに書き込まれた公開鍵に対応する秘密鍵で暗号化されたシグネチャを持つ。ソフトウェアをインストールする際、前記の公開鍵とシグネチャを用いて、そのソフトウェアが鍵の作成者、すなわち正当なソフトウェアの作成者であるかソフトウェアの妥当性を検証する。改竄検証のコードもROMに保存しておけば、例えソフトウェアが悪意のあるコードによって改竄されたとしても、改竄検証の処理が改竄されることはないため、不正なシグネチャを持つソフトウェアのインストールを防ぐことができる。
【0007】
しかしながら、インストール処理を行うソフトウェア自身が実装上、設計上のミスを利用した悪意あるコードによって、改竄検証処理をスキップさせたり、改竄検証結果を無効にさせたりするように改竄されてしまった場合、強制的に正当な改竄検証処理を行わせることはできない。従って前記の手法は、安全にソフトウェアをインストールするための本質的な問題解決にはなっていない。
【0008】
ソフトウェアを安全にインストールさせるためには、ソフトウェアのインストールの際に、必ずシグネチャの改竄検証処理を行うよう、ソフトウェアの改竄を不可能にするだけでなく、ソフトウェアをインストールさせる処理そのものを改竄されずに、安全にソフトウェアのアップデートが行えるようにする仕組みを備えていなければならない。
【0009】
【発明が解決しようとする課題】
以上説明したように、従来のソフトウェアを安全にインストールさせる仕組みでは、正当でないソフトウェアがインストールされる可能性があり、対策として不十分であった。
【0010】
本発明は、上記事情を考慮してなされたもので、正当でないソフトウェアのインストールを阻止することのできるソフトウェア処理装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明は、外部からソフトウェアをインストールして実行する機能を有するソフトウェア処理装置において、ソフトウェアを実行するためのプロセッサと、実行すべきソフトウェアを保存するためのフラッシュメモリと、外部から入力された、ソフトウェアと、該ソフトウェアの正当性の検証のための、第1の鍵で暗号化されたシグネチャとを、一時的に保持するためのバッファと、前記プロセッサにより実行される第1の処理のプログラムコードと、前記プロセッサにより実行される第2の処理のプログラムコードとが書き込まれたROMとを備え、前記第1の処理のプログラムコードは、前記第1の鍵に一意に対応する第2の鍵と、前記バッファに一時的に保持されている前記ソフトウェアに対するシグネチャと該第2の鍵とに基づいて該ソフトウェアの正当性を検証するためのものであり、前記第2の処理のプログラムコードは、該検証によって正当性が確認された前記ソフトウェアを前記バッファから前記フラッシュメモリに保存するためのものであり、前記フラッシュメモリは、前記ROM内の前記第2の処理のプログラムコードを前記プロセッサにより実行することによってのみ、データ書き込み可能であり、前記ROMを、対象とするソフトウェア配布元ごとに設けたことを特徴とする。
また、本発明は、外部からソフトウェアをインストールして実行する機能を有するソフトウェア処理装置において、ソフトウェアを実行するためのプロセッサと、実行すべきソフトウェアを保存するためのフラッシュメモリと、外部から入力された、ソフトウェアと、該ソフトウェアの正当性の検証のための、第1の鍵で暗号化されたシグネチャとを、一時的に保持するためのバッファと、前記プロセッサにより実行される第1の処理のプログラムコードと、前記プロセッサにより実行される第2の処理のプログラムコードとが書き込まれたROMと、前記プロセッサによる前記ソフトウェアの稼動時に前記プロセッサにより利用される再書き込み可能なワーキングメモリと、一定期間ごとに、前記プロセッサ及び前記ワーキングメモリの初期化を行った後に、前記ROMに書き込まれた前記処理に制御を移すタイマー手段とを備え、前記第1の処理のプログラムコードは、前記第1の鍵に一意に対応する第2の鍵と、前記バッファに一時的に保持されている前記ソフトウェアに対するシグネチャと該第2の鍵とに基づいて該ソフトウェアの正当性を検証するためのものであり、前記第2の処理のプログラムコードは、該検証によって正当性が確認された前記ソフトウェアを前記バッファから前記フラッシュメモリに保存するためのものであり、前記フラッシュメモリは、前記ROM内の前記第2の処理のプログラムコードを前記プロセッサにより実行することによってのみ、データ書き込み可能であり、前記タイマー手段は、オペレーティングシステム、ミドルウェア及びアプリケーションのいずれの処理とも独立し、それら処理からは制御不可能で、前記一定期間の経過を管理することを特徴とする。
【0014】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【0015】
本発明によれば、ROMに第2の鍵と検証のための第1の処理のプログラムコードと正当なソフトウェアをインストールするための第2の処理のプログラムコードとを作り込むとともに、入力したソフトウェア/シグネチャはバッファに一時的に保持した後に、ROMによって検証に成功したソフトウェアのみフラッシュメモリに保存することによって、鍵/検証処理/インストール処理の改竄を阻止し、正当性のあるソフトウェアのみをインストールすることを保証することが可能になる。また、これによって、正当性のあるソフトウェアの利用を保証することが可能になる。
【0016】
また、一定期間ごとにプロセッサ及びワーキングメモリの初期化を行った後に、検証/インストールの処理を行うことによって、動作中のソフトウェアが仮に改竄されたとしても、リセット後も改竄されたソフトウェアが継続して動作することを防ぐことができる。
【0017】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0018】
図1に、本発明の一実施形態に係るシステムの全体構成例を示す。
【0019】
図1の機器1は、外部からインストールしたソフトウェアをプロセッサで実行する機能を有するものであれば、家電機器、汎用の計算機、携帯電話、PDAなど、どのような機器に対しても適用可能である。また、図1の機器1は、LAN及び又はWANなどのネットワーク(無線ネットワークでも有線ネットワークでもよい)に接続可能な装置だけでなく、スタンドアローンの装置であってもよい。なお、以下では、主に機器1がネットワークに接続可能な家電機器である場合を例にとって説明している。
【0020】
インターネット3上に接続されるソフトウェア配布サーバ6は、「修正プログラム」、「修正プログラムを含んだアップデートプログラム」、「機能追加プログラム」など、当該機器1で動作するソフトウェアを公開し、配布する機能を持つ。ソフトウェア配布サーバ6は、例えば機器製造ベンダーもしくは機器に関連するソフトウェアの製造ベンダーが立ち上げたサーバでもよい。ソフトウェアには、当該ソフトウェアの配布元の秘密鍵で暗号化された、当該ソフトウェアに対するシグネチャが付加されているものとする。
【0021】
なお、ソフトウェア配布サーバ6は、必ずしもインターネット3上にある必要はなく、企業や個人の構築したLAN2上に設置してもよい。また、CD−ROMやフレキシブル・ディスクやICカードなどの携帯可能な記録媒体によってソフトウェアを配布するようにしてもよい。また、インターネット3上にソフトウェア配布サーバ6を設ける方法と、LAN2上にソフトウェア配布サーバ5を設置する方法と、記録媒体によってソフトウェアを配布する方法とのうちの2以上を組み合わせて実施してもよい。なお、以下では、主に機器1に既にインストールされているソフトウェアに対して上書きすべきソフトウェアを、配布・インストールする場合を例にとって説明している。
【0022】
なお、最初のバージョンのソフトウェアについては、上記と同じ方法で配布してもよいし、予め機器1にインストールされていてもよいし、その他の方法で配布・インストールされてもよい。
【0023】
機器1が外部からソフトウェアを取得する手段には種々の形態がある。例えば、
(1)機器1が通信インタフェース部15を備え、インターネット3上のソフトウェア配布サーバ6からソフトウェアをダウンロードする方法(この場合において、LAN2を介してインターネット3に接続する方法、LAN2を介さずにインターネット3に直接接続する方法などがある)、
(2)機器1が通信インタフェース部15を備え、LAN2上のソフトウェア配布サーバ5からソフトウェアをダウンロードする方法(なお、この場合において、ソフトウェア配布サーバ5へは、例えばソフトウェア配布サーバ6等からインターネット3経由でソフトウェアを与える方法や、記録媒体からソフトウェアを読み込ませる方法などがある)、
(3)機器1が外部記憶装置インタフェース部16を備え、CD−ROMドライブやフレキシブル・ディスク・ドライブやICカード・ドライブなどの外部記憶装置4からソフトウェアを読み込む方法などがある。
【0024】
もちろん、機器1は、上記に例示したような外部からソフトウェアを取得する手段を、1つのみ持っていてもよいし、複数持っていてもよい。
【0025】
ところで、ネットワークに接続された家電機器に対して、出荷後に追加的にソフトウェアをインストールし、そのソフトウェアを用いて利用者に対して新しいサービスを提供したり、ソフトウェアに欠陥が発見された場合に、家電機器製造ベンダやソフトウェアの製造ベンダがネットワーク経由で修正プログラムを配布し、インストールしたりすることは利用者、ベンダ双方にとって魅力的なサービスである。
【0026】
特に、家電機器は、利用者がネットワークセキュリティに対する知識を有しているとは限らず、さらに常にその機器のソフトウェアの状況を監視しているとは限らない。また、家電機器は、汎用の計算機に比べ物理的な被害をもたらす影響も大きいと考えられる。例えば、冷蔵庫の設計によっては、悪意のある利用者が冷蔵庫のソフトウェアを誤作動させることで、内容物を腐敗させる危険性がある。
【0027】
このため、利用者がセキュリティやソフトウェアに対する専門的な知識必要とせず、不正な作成者が作成したソフトウェアを排除して、正当なソフトウェアのみを適用させる仕組みを機器が備えるのが望ましい。
【0028】
図2に、ソフトウェアをインストールして実行する機能を有する機器1のハードウェア構成例を示す。
【0029】
図2に示されるように、機器1は、ROM11、フラッシュメモリ12、RAM13、所定の処理を行うプロセッサ14を備えている。
【0030】
ROM11には、ソフトウェア配布元の公開鍵と、ソフトウェアに付加されているシグネチャの検証処理(プログラム)と、ソフトウェアのインストール処理(プログラム)が作り込まれている。
【0031】
なお、当該機器1が複数のソフトウェア配布元を対象とする場合には、公開鍵は、ソフトウェア配布元に対応して複数備えればよい。なお、この場合には、公開鍵は、例えば、ソフトウェア配布元を識別するベンダーIDと対応付けてROM11に記憶し、ソフトウェアにはベンダーIDを付加して配布するものとすればよい。検証処理/インストール処理については、ソフトウェア配布元毎に用意する方法と、ソフトウェア配布元にかかわらずに同一にする方法とがある。
【0032】
また、当該機器1が複数のソフトウェア配布元を対象とする場合に、ROM11を、ソフトウェア配布元に対応してそれぞれ設ける構成も可能である。
【0033】
なお、検証処理プログラムとインストール処理プログラムとは、別々に作成されていてもよいし、一体化して作成されていてもよい。前者の場合には、検証処理が実行された後に、インストール処理が実行される形態や、最初にインストール処理が起動され、インストール処理が検証処理をコールする形態など、種々の形態が可能である。また、検証処理プログラムとインストール処理プログラムの他に、それら処理全体の制御を司る制御プログラムがさらにROM11に作り込まれている形態も可能である。
【0034】
RAM13は、プロセッサ14が使用するワーキングメモリと、インストールする対象のプログラムを一時的に保存するバッファとを含む。この様子を図3に示す。なお、実際には、ワーキングメモリとバッファとは、同一のRAM上にあってもよいし、異なるRAM上にあってもよい(ワーキングメモリの一部とバッファの一部が同一のRAM上にあるなど、他の形態でもよい)。
【0035】
フラッシュメモリ12は、RAM13のバッファに一時的に保存されているソフトウェアのうち、その正当性についての認証(シグネチャの検証)に成功したもののみを、記憶するためのものである。すなわち、ソフトウェア配布元により配布されるソフトウェアは、その認証を経て、フラッシュメモリ12で保存する。
【0036】
ここで、図4に、ROM11とフラッシュメモリ12とRAM13との相互間での書き込み権限の関係を示す。フラッシュメモリ12は、ROM11内に作り込まれたプログラムによってのみ、データを書き込むことができる。また、ROM11の内容は、改竄できないようになっている。したがって、シグネチャの検証を通過することのできない正当性のないソフトウェアがフラッシュメモリ12に保存されることはないので、フラッシュメモリ12には、ソフトウェア配布元により配布された正当なソフトウェアが保存されている、ということが保証される。
【0037】
一方、機器1は、図2に示されるように、インストールするソフトウェアを入手するために、通信インターフェース部15または外部記憶装置接続インターフェース部16の少なくとも一方を備えている。なお、通信インターフェース部15が利用するネットワークは、例えば、無線ネットワークでもよいし、イーサネット(登録商標)のような有線ネットワークでもよい。また、外部記憶装置接続インターフェース部15は、CD−ROMなどの記録媒体を接続し、それら外部記憶装置とデータ交換可能な機能を備えるものである。
【0038】
なお、図2は、本実施形態を説明するために必要な部分のみ示したもので、実際には、図2に示された以外の種々の構成要素を備えて構わない。例えば、家電機器では、当該家電機器の本来の機能を実現するための構成要素が備わっている。
【0039】
図5に、機器1のソフトウェア構成例を示す。
【0040】
図5に示されるように、機器1は、オペレーティングシステム、アプリケーション、後述するタイマーを含む(必要に応じてミドルウェアが組み込まれる場合がある)。なお、タイマーは、ハードウェアで構成される場合もある。また、タイマーを備えない構成も可能である。
【0041】
なお、本実施形態における、機器へのインストール対象となるソフトウェアとは、機器を制御するオペレーティングシステム、ミドルウェア、及びそれら修正プログラム、機能追加プログラム、ユーザアプリケーションなどを指す。
【0042】
以下、図6を参照しながら、本実施形態についてより詳しく説明する。
【0043】
ここでは、主に、ソフトウェア配布サーバからネットワークを経由して家電機器1へソフトウェアをダウンロードし、シグネチャの検証を経た後に、ソフトウェアを上書きする場合を例にとって説明する。
【0044】
図7に、ソフトウェア取得時の手順の一例を示す。すなわち、機器1は、例えば予め登録された(1又は複数の)ソフトウェア配布サーバ(5または6)から必要なソフトウェアをダウンロードし(ステップS1)(図6の101参照)、RAM13のバッファ131に一時的に保存しておく(ステップS2)(図6の102参照)。なお、外部記憶装置インタフェース部16による場合には、CD−ROMドライブにCD−ROMを装着するなどして、ステップS1においてソフトウェアの読み込みを行う。
【0045】
サーバ登録については、(i)機器出荷時に機器製造ベンダーまたはソフトウェアの製造ベンダーが規定してもよいし、(ii)出荷後に利用者が追加的に規定してもよいし、(iii)(i)と(ii)を両方可能としてもよい。ベンダーが規定したサーバ登録情報は、ROM11内に書き込まれていてもよい。
【0046】
ダウンロードすべきソフトウェアの有無のチェックについては、(i)機器1に、定期的にソフトウェア配布サーバに対して、新しいアップデートするソフトウェアなどが配布(公開)されているかチェックする機能を持たせることで、利用者が意識することなく、自動的に最新のソフトウェアを機器1にインストールできるようにしてもよいし、(ii)利用者の要望に応じて、チェックする期間を変更したり、利用者が任意の時間にチェックをさせることができるようにしてもよいし、(iii)(i)と(ii)を両方可能としてもよい。
【0047】
ダウンロードにあたっては、機器1とソフトウェア配布サーバとの間で所定の認証/鍵交換手続きを行うことによって、セキュアな通信経路上でのデータ交換を行うようにしてもよい。
【0048】
なお、詳しくは後述する処理のために、ここでは、ダウンロード等したソフトウェアをRAM13のバッファ131に保存するにあたっては、該ソフトウェアをRAM13に保存した日時を該ソフトウェアに対応付けて保存しておくものとする。また、ソフトウェアをRAM13のバッファ131からフラッシュメモリ12に保存するにあたっては、該日時(該ソフトウェアをRAM13に保存した日時)を該ソフトウェアに対応付けて保存しておくものとする。
【0049】
さて、ここで、機器1がソフトウェア配布サーバ(5または6)に接続して目的のソフトウェアをダウンロードする際、ネットワーク上の悪意ある利用者が、サーバのIPアドレスを詐称するなどして偽のサーバに誘導し、トロイの木馬やウィルスを含む偽のソフトウェアを機器1にダウンロードさせたり、ソフトウェア配布サーバ(5または6)に侵入したりしてサーバの内容を書き換えたりすることで偽のソフトウェアを配布する危険性がある。
【0050】
したがって、必ずしもソフトウェア配布サーバ(5または6)からダウンロードしたソフトウェアが正当であるとは限らないため、本実施形態では、ソフトウェアが悪意のある者によって作成された偽のソフトウェアではなく、正当なソフトウェアであるか検査し、正当なものと偽のものとを区別し、正当なもののみをインストールする機能を機器1に設けている。また、現在利用しているソフトウェアを改竄するなどによって上記の正当なもののみをインストールする機能自体を阻害する、ということができないようしている。
【0051】
図8に、その検証処理/インストール処理の手順の一例を示す。
【0052】
前記のようにソフトウェアがダウンロードされRAM13のバッファ131に一時的に保存される一方で、図8の処理が行われる。
【0053】
すなわち、タイマー(図6の17参照)が、一定時間の経過ごと(あるいは、一定の値をカウントするごと)に作動し、まず、プロセッサ14やRAM13のワーキングメモリ132のリセットを行う(ステップS11)(図6の103参照)。
【0054】
このタイマーは、オペレーティングシステムやミドルウェア、アプリケーションの処理とは独立し、それらソフトウェアからは制御不可能で時間管理をする(例えば、ROM11に蓄えられた値を元に一定周期で値を加算し続ける)。一定時間が経過すると(あるいは、カウントが一定の値を越えると)、プロセッサ(のレジスタ等)と、一時的にワーキングメモリに蓄えられた現在のRAMの処理内容とを、無条件に強制的にクリアする。クリアとは、例えば初期化処理のような、それまでの処理状態を保存せずに値をリセットする処理を指す。
【0055】
このタイマーは、値を加算し(もしくはメモリ範囲外の値まで加算された場合にはリセットし)、かつ減算することのできない機能を有する。該タイマーに対してソフトウェアがリセットをスキップすることで無効にしたり、タイマーの値を変更したりすることでリセットの時間を遅延させたりすることはできない。
【0056】
なお、動作中のソフトウェアが強制的なリセットが原因でデータを損失・破壊してしまうことを防ぐために、ソフトウェアがタイマーに対してリセットを繰り上げる要求を発行してもよい。例えば、現在実行中のプログラムが次の処理単位を実行する前に、次のリセットまでの残り時間を調べ、もしもその時間が短かった場合には、(リセットに備えて)通常の処理手順は短時間でリセット可能な状態になるよう処理を行うようにしてもよい(この場合、次の処理単位は行わずに、短時間で済む処理を行うことによって、該処理がリセット時間前に完了した場合には、リセットを繰り上げて実行するようにすることも可能である)。
【0057】
なお、機器1のコアの部分は、上記のリセットにかかわらずに、稼働し続けるものとしてもよい。例えば、インターネット機能を有する冷蔵庫において、インターネット機能の部分は、上記のリセットによって初期化されるが、冷蔵庫の本来の機能の部分は、上記のリセットにかかわらずに、稼働し続けるようにしてもよい。
【0058】
さて、リセット処理を行った後、タイマーは、ROM11に処理を移す(図6の104参照)。
【0059】
ROM11は、RAM12の特定のバッファ131をチェックする。
【0060】
RAM13のバッファ131にソフトウェアのイメージが存在する場合(ステップS12)、そのソフトウェアのシグネチャと、ROM11に記憶された(該ソフトウェアの配布元の)公開鍵1101とを用いて、改竄検証処理(図6の105,106,1102参照)を行う(ステップS13)。
【0061】
例えば、シグネチャが、当該ソフトウェアに所定のハッシュ関数を適用して得たハッシュ値を、該ソフトウェアの配布元の秘密鍵で暗号化したものである場合に、該シグネチャをROM11に記憶された公開鍵で復号して元のハッシュ値を求めるとともに、当該ソフトウェアに同一の所定のハッシュ関数を適用してハッシュ値を求め、両者が一致したならば、シグネチャの検証(ソフトウェアの認証)に成功したものとする。もちろん、検証処理については種々の方法が知られており、どのような方法を用いることも可能である。
【0062】
ここで、改竄検証の結果が偽である場合(ステップS14)には、所定のエラー処理を行う(ステップS18)。
【0063】
改竄検証に失敗する原因として、例えば、「ネットワークの異常によりファイルが正常に転送されなかった」、「ファイルが正当な作成者によって作成されたものではない」、などが考えられる。ファイルが正当な作成者によって作成されたものではない場合、悪意のある利用者が配布した偽のソフトウェアである可能性がある。そこで、例えば、エラー処理に、機器1からソフトウェアの配布元へエラーの情報をレポートする機能を備えれば、ソフトウェア配布元が対策や調査を行う上での資料として利用することが可能となる。
【0064】
なお、検証に失敗したソフトウェアについては、エラー処理においてRAMのバッファから直ちに消去する方法、エラー処理においては消去しない(例えば、対策や調査等のための保存しておく)方法などがある。
【0065】
他方、改竄検証の結果が真である場合(ステップS14)には、この手順例では、フラッシュ12に保存されている現在のソフトウェアに対応する日時(図6の107−1参照)と、RAM13のバッファ131上に記憶されたソフトウェアのイメージに対応する日時(図6の107−2参照)とを比較する処理(図6の1103参照)を行う(ステップS15)。
【0066】
そして、RAM13のバッファ131上に記憶されたソフトウェアのイメージに対応する日時が、フラッシュ12に保存されている現在のソフトウェアに対応する日時より新しい場合(ステップS16)は、フラッシュメモリ12にRAM13のバッファ131のイメージをコピーし、以前の内容を上書きする(ステップS17)(図6の108参照)。
【0067】
上記の比較処理の結果、RAM13のバッファ131上に記憶されたソフトウェアのイメージに対応する日時が、フラッシュ12に保存されている現在のソフトウェアに対応する日時より古い場合(ステップS16)は、既にそのソフトウェアがインストールされていると考えられるので(上記の検証に失敗したソフトウェアをエラー処理においては消去しない場合には、検証に失敗したためにインストールしないことが決定されたソフトウェアであることもあり得る)、フラッシュ12への書き込みは行わない。
【0068】
なお、ステップS15においてフラッシュ12に当該ソフトウェアが保存されていないことがあり得る構成の場合において、フラッシュ12に当該ソフトウェアが保存されていなければ、ステップS16では、例えば、RAM13のバッファ131上に記憶されたソフトウェアのイメージに対応する日時が、フラッシュ12に保存されている現在のソフトウェアに対応する日時より新しいものとすればよい。また、ステップS15においてフラッシュ12に当該ソフトウェアが保存されていないことがあり得ない構成の場合において、フラッシュ12に当該ソフトウェアが保存されていなければ、例えば、エラー処理を行えばよい。
【0069】
なお、ステップS17において、フラッシュメモリ12にRAM13のバッファ113に記憶されたソフトウェアを書き込んだ際に、RAM13のバッファ113から当該ソフトウェアを消去するようにしてもよいし、その代わりにまたはそれとともに、ステップS16においてNoの場合に、RAM13のバッファ113から当該ソフトウェアを消去するようにしてもよい。
【0070】
しかして、(ステップS17でRAM13のバッファ113からフラッシュメモリ12にソフトウェアを書き込んだ場合、ステップS16においてNoの場合、ステップS18でエラー処理を行った場合、またはステップS12においてNoの場合(RAM13のバッファ131にソフトウェアのイメージがない場合)に、)ROM11は、フラッシュメモリ12に処理を移動させ、フラッシュメモリ12に書き込まれたイメージに制御を移し、当該イメージはシステムの起動処理(図6の109参照)を実行する。
【0071】
ここで、本実施形態のメモリアドレス制御機能について説明する。
【0072】
かりにRAM13のワーキングメモリ132上で動作するソフトウェアが改竄されてしまったとする。しかし、上記のように、タイマーによるリセット時にRAM13のワーキングメモリ132はリセットされる。従って、この改竄されたソフトウェアがリセット後も存続するには、フラッシュメモリ12にコピーする必要がある。しかしながら、フラッシュメモリ12については、ROM11からの書き換えのみを可能とするため(図4参照)、改竄されたRAM13のイメージがフラッシュ12を書き換えることはできない。このメモリアドレス制御手段を用いることで、改竄されたRAM13のイメージがリセット後も存在し続けることはない。
【0073】
タイマーによる強制的なリセット手段と、メモリアドレス制御手段により、RAM13のワーキングメモリ132で動作中のソフトウェアがかりに悪意のある利用者によって改竄されてしまった場合でも、次回の起動時にフラッシュメモリ12に保存された正当なソフトウェアに復旧することが可能となる。
【0074】
以上のように、本実施形態によれば、インストール対象のソフトウェアを、正当な作成者によって作成されたことが保証されたものと、それ以外のもの(例えば、偽造されたもの)とに区別し、前者のみを選別しインストールすることが可能となる。また、かりにソフトウェアが改竄されたとしても、定期的にシステムをリセットすることによって、現在のワーキングメモリに存在する改竄されたイメージが存在し続けることを阻止できる。従って、機器は常に正当な作成者が作成したソフトウェアを利用することが保証され、かつ正当な作成者が作成したソフトウェアのみをインストールすることができる。
【0075】
なお、図8の手順は一例であり、種々変形して実施することが可能である。例えば、上記処理では、まず、シグネチャによる検証処理を行い、これに成功した場合に、RAMのバッファ上に保存されたソフトウェアとフラッシュメモリに保存されたソフトウェアとの日時を比較する日時チェックを行い、さらにこれに成功したならば、ダウンロードされたソフトウェアが正当かつインストールすべきものであると判断して、フラッシュメモリにRAMのバッファのイメージを書き込んだが、逆に、日時チェックを行い、これに成功した場合に、検証処理を行い、さらにこれに成功したならば、フラッシュメモリに書き込むようにしてもよい。また、検証処理と日時チェックを並列的に行い、それらの結果が両方とも真である場合に、フラッシュメモリに書き込むようにし、少なくとも一方の結果が偽であれば、書き込まないようにしてもよい。
【0076】
また、これまでの説明では、同一性を有するソフトウェアに対して「上書きするソフトウェア」を想定しているが、メインとなるソフトウェアに対してソフトウェアを追加する場合には、例えば図8の手順において、ステップS15とステップS16を省き、ステップS17の上書き処理を組み込み処理に修正して、ステップS14で検証に成功した場合にステップS17で該当ソフトウェアを組み込むようにすればよい。
また、その時々で上書きするか追加するかが異なってくる場合には、例えば図8の手順においては、対象としているソフトウェアを上書きすべきか追加すべきかを判断し、前者の場合には、日時チェックを行い、(検証処理に)日時チェックの結果が真のときに、フラッシュメモリにRAMのバッファのソフトウェアを上書きし、後者の場合には、日時チェックを行わずに、フラッシュメモリのソフトウェアにRAMのバッファのソフトウェアを追加するようにしてもよい。なお、対象としているソフトウェアを上書きすべきか追加すべきかについては、例えば、各ソフトウェアに固有の識別情報を持たせ、RAMのバッファ内のソフトウェアの持つ識別情報と同一の識別情報を持つものが、フラッシュメモリに保存されていれば、上書きすると判断し、保存されていなければ、追加すると判断するようにしてもよい。また、例えば、各ソフトウェアに、上書きすべきか追加すべきかを示す情報を付加する方法もある。
【0077】
また、図8のステップS12で複数種類のソフトウェア(各ソフトウェアは、例えば、ソフトウェアに固有の識別情報によって識別される)がRAMのバッファに存在し得る場合には、検証/インストールを、RAMのバッファに存在する各々のソフトウェアに対して行えばよい。
【0078】
また、図8のステップS19のフラッシュメモリ内のソフトウェアの起動にあたって、起動できるソフトウェアがフラッシュメモリ内に複数存在し得る場合には、予め定められた選択基準に従って、起動すべきものを選択して、起動すればよい。この選択基準としては、例えば、予めROMに設定された識別情報を持つソフトウェアを選択する方法、予めユーザが指定したソフトウェアを選択する方法、リセット時に起動中であったものを選択する方法など、種々の方法がある。
【0079】
また、図8の手順においては、ステップS19のフラッシュメモリ内のソフトウェアの起動を行わず、異なる契機によって起動を行う方法もある。
【0080】
また、図8の手順においては、ステップS11のプロセッサやRAMのワーキングメモリのリセットを行わず、異なる契機によって行う方法もある。
【0081】
また、これまでタイマーの起動時にソフトウェアが自動的にインストールされるような方法を述べてきたが、自動インストールの代わりにまたはこれとともに、利用者が任意の時間にソフトウェアをインストールできるようにすることも可能である。このようにすることによって、例えば、ソフトウェアの重要な欠陥が発見された場合に、利用者の希望に応じて修正プログラムをインストールすることができる。
【0082】
利用者が任意の時間にインストールする機能については、自動インストールと併用する場合には、例えば、前述したタイマーのリセットを繰り上げて実行する機能があれば、この機能を利用して実現することもできる。タイマーのリセットを繰り上げる命令を実行するにあたっては、機器1に物理的なスイッチを備えてもよいし、赤外線リモコンなどを通じて機器1に要求を送信するようにしてもよい。また、ネットワーク経由で任意のコマンドを送信することも可能である。この場合、タイマーがリセット要求を受けると、図8の手順と同様に、プロセッサの現在の処理内容とRAMのワーキングメモリに保存された情報をリセットし、ROMに処理内容を移し、ソフトウェアの改竄検証及びインストールを開始する。
【0083】
自動インストール機能を備えずに、利用者が任意の時間にソフトウェアをインストールする機能を備える場合には、ユーザの入力を契機として、リセット、検証、インストールの処理を行えばよい(この場合に、リセットは行わない形態等も可能である)。
【0084】
また、これまでの説明では、ダウンロード等したソフトウェアをRAMのバッファに保存するにあたって、該ソフトウェアをRAMに保存した日時を該ソフトウェアに対応付けて保存しておき、ソフトウェアをRAMのバッファからフラッシュメモリに保存するにあたっては、該日時(該ソフトウェアをRAMに保存した日時)を該ソフトウェアに対応付けて保存しておき、両者の日時を比較した結果に応じて、ソフトウェアをRAMのバッファからフラッシュメモリに保存するか否かを決定したが、その代わりに、例えば、ソフトウェアにバージョン情報等を付加しておき、両バージョン情報の新旧の比較結果に応じて、ソフトウェアをRAMのバッファからフラッシュメモリに保存するか否かを決定するようにしてもよい。また、その他の方法も可能である。
【0085】
また、これまでは、ソフトウェアには、その配布元の秘密鍵で暗号化されたシグネチャが付加され、機器1のROM11には該ソフトウェア配布元の公開鍵が作り込まれているものとして説明したが、公開鍵暗号方式ではなく、他の暗号方式を採用することも可能である。例えば、ソフトウェア配布元と機器1とで同一の共有鍵を用いる方法を採用することも可能である。
【0086】
また、これまでネットワークを経由したソフトウェアの配布とインストールを中心に説明してきたが、前述したように、機器または利用者がネットワーク経由でソフトウェアを入手する必要があるわけではない。機器が通信インターフェースを持っていない場合や、機器がネットワークに接続されていない場合は、フロッピー(登録商標)ディスクなどの携帯可能で書き込み可能なメディアや、CD−ROMなどのような携帯可能で書き込み不可能なメディアからソフトウェアをアップデートすることが考えられる。もちろん、ネットワーク経由でのダウンロードの場合と同様に、記憶媒体となるメディアは必ずしも正当な作成者が作成したソフトウェアが記録されているという保証はないため、一旦RAMのバッファに保存した後にフラッシュメモリにインストールすることで適用可能である。
【0087】
また、前述したように、本発明は、家電機器に限らず、汎用の計算機や、携帯電話、PDAなどの機器に対しても適用可能である。特に、携帯電話やPDAは、メモリの容量に制限があるため、一度に大量のアプリケーションをインストールすることが困難である。また、携帯電話のサービスやインターネット接続サービスを利用してインターネット経由でアプリケーションをダウンロードし、インストールする際に、本発明が適用可能である。
【0088】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0089】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0090】
【発明の効果】
本発明によれば、正当でないソフトウェアのインストールを阻止することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るシステムの全体構成例を示す図
【図2】同実施形態に係る機器のハードウェア構成例を示す図
【図3】同実施形態に係る機器のRAMの構成例を示す図
【図4】同実施形態に係る機器のROMとフラッシュメモリとRAMとの相互間での書き込み権限の関係を示す図
【図5】同実施形態に係る機器のソフトウェア構成例を示す図
【図6】同実施形態に係る機器内でのデータの流れ及び制御について説明するための図
【図7】同実施形態に係る機器のソフトウェア取得時の手順の一例を示すフローチャート
【図8】同実施形態に係る機器の認証処理/インストール処理の手順の一例を示すフローチャート
【符号の説明】
1…機器
2…LAN
3…インターネット
4…外部記憶装置
5,6…ソフトウェア配布サーバ
11…ROM
12…フラッシュメモリ
13…RAM
14…プロセッサ
15…通信インターフェース部
16…外部記憶装置接続インターフェース部
17…タイマー
Claims (14)
- 外部からソフトウェアをインストールして実行する機能を有するソフトウェア処理装置において、
ソフトウェアを実行するためのプロセッサと、
実行すべきソフトウェアを保存するためのフラッシュメモリと、
外部から入力された、ソフトウェアと、該ソフトウェアの正当性の検証のための、第1の鍵で暗号化されたシグネチャとを、一時的に保持するためのバッファと、
前記プロセッサにより実行される第1の処理のプログラムコードと、前記プロセッサにより実行される第2の処理のプログラムコードとが書き込まれたROMとを備え、
前記第1の処理のプログラムコードは、前記第1の鍵に一意に対応する第2の鍵と、前記バッファに一時的に保持されている前記ソフトウェアに対するシグネチャと該第2の鍵とに基づいて該ソフトウェアの正当性を検証するためのものであり、前記第2の処理のプログラムコードは、該検証によって正当性が確認された前記ソフトウェアを前記バッファから前記フラッシュメモリに保存するためのものであり、前記フラッシュメモリは、前記ROM内の前記第2の処理のプログラムコードを前記プロセッサにより実行することによってのみ、データ書き込み可能であり、
前記ROMを、対象とするソフトウェア配布元ごとに設けたことを特徴とするソフトウェア処理装置。 - 外部からソフトウェアをインストールして実行する機能を有するソフトウェア処理装置において、
ソフトウェアを実行するためのプロセッサと、
実行すべきソフトウェアを保存するためのフラッシュメモリと、
外部から入力された、ソフトウェアと、該ソフトウェアの正当性の検証のための、第1の鍵で暗号化されたシグネチャとを、一時的に保持するためのバッファと、
前記プロセッサにより実行される第1の処理のプログラムコードと、前記プロセッサにより実行される第2の処理のプログラムコードとが書き込まれたROMと、
前記プロセッサによる前記ソフトウェアの稼動時に前記プロセッサにより利用される再書き込み可能なワーキングメモリと、
一定期間ごとに、前記プロセッサ及び前記ワーキングメモリの初期化を行った後に、前記ROMに書き込まれた前記処理に制御を移すタイマー手段とを備え、
前記第1の処理のプログラムコードは、前記第1の鍵に一意に対応する第2の鍵と、前記バッファに一時的に保持されている前記ソフトウェアに対するシグネチャと該第2の鍵とに基づいて該ソフトウェアの正当性を検証するためのものであり、前記第2の処理のプログラムコードは、該検証によって正当性が確認された前記ソフトウェアを前記バッファから前記フラッシュメモリに保存するためのものであり、前記フラッシュメモリは、前記ROM内の前記第2の処理のプログラムコードを前記プロセッサにより実行することによってのみ、データ書き込み可能であり、
前記タイマー手段は、オペレーティングシステム、ミドルウェア及びアプリケーションのいずれの処理とも独立し、それら処理からは制御不可能で、前記一定期間の経過を管理することを特徴とするソフトウェア処理装置。 - 前記タイマー手段は、前記ROMに蓄えられた値を元に一定周期で値を加算することによって、前記一定期間の経過を管理することを特徴とする請求項2に記載のソフトウェア処理装置。
- 前記タイマー手段は、現在実行中のソフトウェアが次の処理単位を実行する前に、次のリセット予定時間までの残り時間を調べ、残り時間が短かった場合に、通常の処理手順は短時間でリセット可能な状態になるよう処理を行い、該次のリセット予定時間より前にリセットを繰り上げて実行するための手段を含むことを特徴とする請求項2または3に記載のソフトウェア処理装置。
- 一定期間ごとに前記プロセッサ及び前記ワーキングメモリの初期化を行うためのリセット手段を更に備えたことを特徴とする請求項2に記載のソフトウェア処理装置。
- 前記プロセッサが前記第2の処理のプログラムコードを実行することによってなされる前記第2の処理は、前記バッファに一時的に保存されている前記ソフトウェアを前記フラッシュメモリに保存されているソフトウェアに対して上書きするのに先だって、前記バッファに一時的に保存されている前記ソフトウェアと、前記フラッシュメモリに保存されている前記ソフトウェアとの新旧を比較し、前記バッファに一時的に保存されている前記ソフトウェアの方が新しいと判断された場合にのみ、前記上書きを行うものであることを特徴とする請求項1または2に記載のソフトウェア処理装置。
- 前記プロセッサが前記第2の処理のプログラムコードを実行することによってなされる前記第2の処理は、前記ソフトウェアに付加されている日時情報に基づいて新旧の比較を行うものであることを特徴とする請求項6に記載のソフトウェア処理装置。
- 前記プロセッサが前記第2の処理のプログラムコードを実行することによってなされる前記第2の処理は、前記ソフトウェアに付加されているバージョン情報に基づいて新旧の比較を行うものであることを特徴とする請求項6に記載のソフトウェア処理装置。
- 前記第1の鍵は、前記ソフトウェアの配布元に固有の秘密鍵であり、
前記第2の鍵は、前記ソフトウェアの配布元に固有の公開鍵であり、
前記プロセッサが前記第1の処理のプログラムコードを実行することによってなされる前記第1の処理は、前記バッファに一時的に保持されている前記秘密鍵で暗号化されたシグネチャを、前記ROM内に書き込まれている前記公開鍵で復号し、該復号によって得たシグネチャに基づいて改竄の有無を検証するものであることを特徴とする請求項1または2に記載のソフトウェア処理装置。 - 前記フラッシュメモリに保存される前記ソフトウェアは、オペレーティングシステム、アプリケーション及びそれらが必要とするデータからなる現在インストールされているソフトウェアであることを特徴とする請求項1または2に記載のソフトウェア処理装置。
- 前記フラッシュメモリに保存される前記ソフトウェアは、オペレーティングシステム、該オペレーティングシステム上で実行されるミドルウェア、アプリケーション及びそれらが必要とするデータからなる現在インストールされているソフトウェアであることを特徴とする請求項1または2に記載のソフトウェア処理装置。
- インストールするソフトウェアを取得するための通信インターフェース手段を更に備えたことを特徴とする請求項1または2に記載のソフトウェア処理装置。
- インストールするソフトウェアを取得するために、ソフトウェアを含むメディアを接続するための外部記憶装置接続インターフェース手段を更に備えたことを特徴とする請求項1または2に記載のソフトウェア処理装置。
- 前記ソフトウェア処理装置は、外部から前記ソフトウェアをインストールして前記プロセッサにより実行する機能を有する、家電機器、汎用計算機、携帯電話又はPDAであることを特徴とする請求項1または2に記載のソフトウェア処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001315815A JP3863401B2 (ja) | 2001-10-12 | 2001-10-12 | ソフトウェア処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001315815A JP3863401B2 (ja) | 2001-10-12 | 2001-10-12 | ソフトウェア処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003122588A JP2003122588A (ja) | 2003-04-25 |
JP3863401B2 true JP3863401B2 (ja) | 2006-12-27 |
Family
ID=19133931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001315815A Expired - Fee Related JP3863401B2 (ja) | 2001-10-12 | 2001-10-12 | ソフトウェア処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3863401B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210232384A1 (en) * | 2020-01-24 | 2021-07-29 | Insyde Software Corp. | System and Method for Runtime Capsule Firmware Update with Low-Latency Software SMIs |
US12032948B2 (en) * | 2021-01-25 | 2024-07-09 | Insyde Software Corp. | System and method for runtime capsule firmware update with low-latency software SMIs |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10331874A1 (de) | 2003-07-14 | 2005-03-03 | Robert Bosch Gmbh | Fernprogrammieren eines programmgesteuerten Geräts |
JP4676724B2 (ja) * | 2003-08-12 | 2011-04-27 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体 |
JP4728611B2 (ja) | 2003-08-12 | 2011-07-20 | 株式会社リコー | 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 |
US8499358B2 (en) | 2003-09-12 | 2013-07-30 | Konica Minolta Business Technologies, Inc. | Program executing processing and controlling |
US7600119B2 (en) | 2004-03-04 | 2009-10-06 | Nec Corporation | Data update system, data update method, data update program, and robot system |
EP1742134A4 (en) | 2004-04-30 | 2008-12-24 | Fujitsu Ltd | INFORMATION MANAGEMENT DEVICE AND INFORMATION MANAGEMENT METHOD |
JP4736370B2 (ja) | 2004-07-27 | 2011-07-27 | 株式会社日立製作所 | ホスティング環境構築方法および計算機システム |
JP4815782B2 (ja) * | 2004-10-22 | 2011-11-16 | ソニー株式会社 | プログラム更新方法、情報処理装置およびプログラム |
JP4851182B2 (ja) * | 2005-12-28 | 2012-01-11 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータ、マイクロコンピュータに対するプログラム書込み方法、及び書込み処理システム |
KR100917706B1 (ko) * | 2006-08-14 | 2009-09-21 | 후지쯔 마이크로일렉트로닉스 가부시키가이샤 | 정보 관리 장치 및 정보 관리 방법 |
CN102982274B (zh) * | 2007-06-20 | 2015-12-02 | 华为技术有限公司 | 智能终端***的管理方法和智能终端 |
US8205217B2 (en) * | 2007-09-29 | 2012-06-19 | Symantec Corporation | Methods and systems for configuring a specific-use computing system limited to executing predetermined and pre-approved application programs |
JP5553670B2 (ja) * | 2010-04-19 | 2014-07-16 | キヤノン株式会社 | 管理装置、その制御方法およびプログラム |
JP2012018657A (ja) | 2010-06-11 | 2012-01-26 | Nintendo Co Ltd | 情報処理端末、情報処理システム、情報処理プログラム |
JP5677811B2 (ja) * | 2010-06-11 | 2015-02-25 | 任天堂株式会社 | 携帯型情報端末、携帯情報システム、携帯型情報端末制御プログラム |
US11483137B2 (en) | 2020-01-22 | 2022-10-25 | Micron Technology, Inc. | Dynamic command extension for a memory sub-system |
KR20210108279A (ko) * | 2020-02-25 | 2021-09-02 | 삼성전자주식회사 | 전자 장치의 서명 키 관리 방법 및 그 전자 장치 |
-
2001
- 2001-10-12 JP JP2001315815A patent/JP3863401B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210232384A1 (en) * | 2020-01-24 | 2021-07-29 | Insyde Software Corp. | System and Method for Runtime Capsule Firmware Update with Low-Latency Software SMIs |
US12032948B2 (en) * | 2021-01-25 | 2024-07-09 | Insyde Software Corp. | System and method for runtime capsule firmware update with low-latency software SMIs |
Also Published As
Publication number | Publication date |
---|---|
JP2003122588A (ja) | 2003-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6595822B2 (ja) | 情報処理装置及びその制御方法 | |
US11178121B2 (en) | Secure software updates | |
JP3863401B2 (ja) | ソフトウェア処理装置 | |
JP4906854B2 (ja) | 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路 | |
US9652755B2 (en) | Method and system for securely updating field upgradeable units | |
KR101888712B1 (ko) | 운영 체제 구성 값 보호 기법 | |
US6757824B1 (en) | Client-side boot domains and boot rules | |
EP1342149B1 (en) | Method for protecting information and privacy | |
JP3444227B2 (ja) | ソフトウェアの不正使用防止方法 | |
JP5380604B2 (ja) | 情報記録装置 | |
EP1594030B1 (en) | Program update method and server | |
US20050021968A1 (en) | Method for performing a trusted firmware/bios update | |
US20080022380A1 (en) | Method of patching applications on small resource-constrained secure devices | |
US8392724B2 (en) | Information terminal, security device, data protection method, and data protection program | |
US8250630B2 (en) | Detecting unauthorized computer access | |
US20090287917A1 (en) | Secure software distribution | |
EP3460705A1 (en) | Distributed deployment of unique firmware | |
JP5969845B2 (ja) | 情報処理装置及びその制御方法 | |
JP2015135703A (ja) | デジタル著作権制御用再帰的セキュリティプロトコルのための方法およびシステム | |
JP2020035202A (ja) | 情報処理装置、システム及び方法 | |
JP2007087275A (ja) | ライセンス管理装置 | |
JP2002189526A (ja) | 配信システム | |
JP2010061182A (ja) | ソフトウェア管理方法、ソフトウェア管理装置およびソフトウェア管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060411 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060830 |
|
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: 20060926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060928 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131006 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |