JP4983521B2 - ソフトウェア更新検証装置、方法及びプログラム - Google Patents

ソフトウェア更新検証装置、方法及びプログラム Download PDF

Info

Publication number
JP4983521B2
JP4983521B2 JP2007260869A JP2007260869A JP4983521B2 JP 4983521 B2 JP4983521 B2 JP 4983521B2 JP 2007260869 A JP2007260869 A JP 2007260869A JP 2007260869 A JP2007260869 A JP 2007260869A JP 4983521 B2 JP4983521 B2 JP 4983521B2
Authority
JP
Japan
Prior art keywords
software update
verification
unit
mode
generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007260869A
Other languages
English (en)
Other versions
JP2009093265A (ja
Inventor
祐一郎 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007260869A priority Critical patent/JP4983521B2/ja
Priority to US12/245,245 priority patent/US8640117B2/en
Publication of JP2009093265A publication Critical patent/JP2009093265A/ja
Application granted granted Critical
Publication of JP4983521B2 publication Critical patent/JP4983521B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェア更新検証装置、方法及びプログラムに関し、特に、汎用OS上でのソフトウェアの更新をその更新の正当性を検証した上で実行するソフトウェア更新検証装置、方法及びプログラムに関する。
汎用のOS(オペレーティングシステム)は、市販されるコンピュータに組み込まれる。汎用のOSは、当該OS上で動作するソフトウェア(即ち、プログラム)を更新するために、当該更新処理を実行するインタフェース(ソフトウェア更新インタフェース)を備えている。このインタフェースは、専用のソフトウェア更新モードで起動される。
なお、複数のノードにおいて速やかに新OSへの更新及び正常性の確認作業を確認するソフトウェア更新検証装置が提案されている(特許文献1参照)。
特開2006−113754号公報
汎用OSは、それが汎用であるが故に、誰もが使用可能でなければならない。従って、汎用OSの一部であるソフトウェア更新インタフェースの呼び出し自体を禁止することはできない。このため、悪意のある者は誰でも、ソフトウェア更新インタフェースを呼出して汎用OS上で不当にソフトウェアを更新することができる。
このような違法なソフトウェア更新を防止するために、以下の方法が考えられる。例えば、ソフトウェア更新インタフェースを呼び出す前にパスワードファイルを作成し、ソフトウェア更新インタフェースによりソフトウェア更新モードで再起動された後に、このパスワードファイルを参照し、これが無効な場合は、以降のソフトウェア更新処理を行わないようにする。
しかし、本発明者の検討によれば、この方法では、ソフトウェア更新モードに変更した後であって再起動する前のタイミングでコンピュータの電源を切断する等の方法でパスワードファイルを採取することができる。この不当に採取したパスワードファイルを利用して、ソフトウェア更新モードでコンピュータを再起動されると、コンピュータは、パスワードファイルを参照しても無効と判断できない。従って、これ以降、悪意のあるソフトウェアの更新処理が行われることを抑止することができない。
本発明は、汎用OS上でのソフトウェアの更新処理の正当性を検証して不当な利用を抑止するソフトウェア更新検証装置を提供することを目的とする。
また、本発明は、汎用OS上でのソフトウェアの更新処理の正当性を検証して不当な利用を抑止するソフトウェア更新検証方法を提供することを目的とする。
また、本発明は、汎用OS上でのソフトウェアの更新処理の正当性を検証して不当な利用を抑止するソフトウェア更新検証プログラムを提供することを目的とする。
本発明のソフトウェア更新検証装置は、動作モードとして、通常モードと、ソフトウェア更新インタフェース手段から起動された場合に検証手段を呼出すソフトウェア更新モードとを備えるOSと、前記通常モードの前記OS上で動作し、前記ソフトウェア更新インタフェース手段を呼出す呼出処理を含む生成処理を複数のプロセスにより実行する生成手段と、前記生成手段から呼出された場合に、前記ソフトウェア更新モードで前記OSを起動するソフトウェア更新インタフェース手段と、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証する検証処理を実行する検証手段とを備える。
好ましくは、本発明の一実施態様において、前記生成手段が、更に、前記生成処理として、前記複数のプロセスにより複数のチェックファイルの生成を実行し、前記検証手段が、前記検証処理として、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより生成された前記複数のチェックファイルを検証する。
好ましくは、本発明の一実施態様において、当該ソフトウェア更新検証装置が、更に、前記ソフトウェア更新モードの前記OSから起動された場合に、更新ファイルを用いて当該プログラムを更新するソフトウェア更新手段を備え、前記生成手段が、更に、更新すべきプログラムを格納する前記更新ファイルを獲得し、前記ソフトウェア更新モードの前記OSが、前記検証手段から得た検証結果が有効である場合に、前記ソフトウェア更新手段を起動する。
好ましくは、本発明の一実施態様において、前記ソフトウェア更新モードの前記OSが、前記検証手段から得た検証結果が無効である場合に、前記ソフトウェア更新手段を起動することなく、前記通常モードで前記OSを起動する。
好ましくは、本発明の一実施態様において、前記チェックファイルの生成を行うプロセスが、前記複数のチェックファイルの各々にその生成時の時刻又はこれに基づくデータからなる時刻データを保存する。
好ましくは、本発明の一実施態様において、前記検証手段が、前記複数のチェックファイルの各々に保存された前記時刻データが1個の時系列を構成するか否かを検証し、前記時刻データが時系列を構成する場合に、当該検証結果を有効とする。
好ましくは、本発明の一実施態様において、前記検証手段が、前記複数のチェックファイルに保存された前記時刻データの各々と最も近接する他の時刻データとの差分が予め定められた第1の閾値よりも小さいか否かを検証し、前記差分が前記第1の閾値よりも小さい場合に、当該検証結果を有効とする。
好ましくは、本発明の一実施態様において、前記検証手段が、現在の時刻と前記複数のチェックファイルの各々に保存された前記時刻データの中の最も大きな値のデータとの差分が予め定められた第2の閾値よりも小さいか否かを検証し、前記差分が前記第2の閾値よりも小さい場合に、当該検証結果を有効とする。
本発明のソフトウェア更新検証方法は、ソフトウェア更新検証装置を実現するためにコンピュータで実行されるソフトウェア更新検証方法であって、通常モードのOS上で動作する生成手段が、ソフトウェア更新インタフェース手段を呼出す呼出処理を複数のプロセスにより実行し、ソフトウェア更新インタフェース手段が、前記生成手段から呼出された場合に、ソフトウェア更新モードで前記OSを起動し、前記OSが、前記ソフトウェア更新モードで前記ソフトウェア更新インタフェースから起動された場合に、検証手段を呼出し、前記検証手段が、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証する。
本発明のソフトウェア更新検証プログラムは、ソフトウェア更新検証装置を実現するためにコンピュータで実行されるソフトウェア更新検証プログラムであって、前記プログラムは、コンピュータに、通常モードのOS上で動作する生成手段が、ソフトウェア更新インタフェース手段を呼出す呼出処理を予め定められた複数のプロセスにより実行するステップと、ソフトウェア更新インタフェース手段が、前記生成手段から呼出された場合に、ソフトウェア更新モードで前記OSを起動するステップと、前記OSが、前記ソフトウェア更新モードで前記ソフトウェア更新インタフェースから起動された場合に、検証手段を呼出するステップと、前記検証手段が、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証するステップとを実行させる。
本発明のソフトウェア更新検証装置、方法及びプログラムによれば、ソフトウェア更新インタフェース手段を呼出す呼出処理を含む生成処理(前処理)が複数のプロセスにより実行され、当該ソフトウェア更新インタフェース手段によりソフトウェア更新モードでOSが起動され、当該OSにより呼出された検証手段により前記生成処理が検証される。
これにより、例えば、ソフトウェア更新モードに変更した後であって再起動する前のタイミングでコンピュータの電源を切断して、ソフトウェア更新モードでコンピュータを再起動しても、ソフトウェアを更新することができ難い。これは、複数のプロセスにより実行された生成処理の結果(例えば、後述するチェックファイル)の全てを、正確に入手することができる確率は、極めて低いためである。この結果、生成処理の結果を偽造する等の不正が行われた場合、当該生成処理を検証しても、ソフトウェアの更新処理の正当性を示す結果が得られない。従って、悪意のあるソフトウェアの更新処理が行われることを抑止することができる。これにより、ソフトウェア更新インタフェースの呼出し自体を禁止することなく、事実上、悪意のある者がソフトウェア更新インタフェースを呼出して汎用OS上で不当にソフトウェアを更新することを防止することができる。
本発明の一実施態様によれば、複数のプロセスにより複数のチェックファイルが生成され、これらが検証される。前述のように、複数のプロセスにより生成されたチェックファイルの全てを、正確に入手することができる確率は、極めて低い。これにより、悪意のあるソフトウェアの更新処理が行われることを効果的に抑止し、事実上、悪意のある者が汎用OS上で不当にソフトウェアを更新することを防止することができる。
本発明の一実施態様によれば、前記検証結果が有効である場合に、ソフトウェア更新手段が起動される。これにより、検証結果が有効でない限り、ソフトウェアを更新することができないので、悪意のあるソフトウェアの更新処理が行われることを効果的に抑止することができる。
本発明の一実施態様によれば、前記検証結果が無効である場合に、ソフトウェア更新手段が起動されることなく、通常モードでOSが(再)起動される。これにより、検証結果が有効でない限り、強制的にOSが通常モードに復帰し、ソフトウェア更新手段を使用できなくなるので、悪意のあるソフトウェアの更新処理が行われることを効果的に抑止することができる。
本発明の一実施態様によれば、複数のチェックファイルの各々に、その生成時の時刻又はこれに基づくデータからなる時刻データが保存される。これにより、パスワードと異なり、複数のチェックファイルに有効期限を設けることができる。従って、例えば不正な処理を実行した場合に、当該実行のために時間を要するので、当該有効期限を経過してしまうであろうことを利用して、前記検証結果を無効とすることができる。
本発明の一実施態様によれば、複数の時刻データが時系列を構成するか否かが検証され、時刻データが時系列を構成する場合に当該検証結果が有効とされる。これにより、1個のパスワードと異なり、複数のチェックファイルの時刻データの相互の関係を定義することができる。従って、特に、複数のチェックファイルの生成の途中で不正な処理を実行した場合に、当該実行のために時間を要することを利用して、前記検証結果を無効とすることができる。
本発明の一実施態様によれば、複数の時刻データの各々について、最も近接する他の時刻データとの差分が第1の閾値よりも小さいか否かが検証され、前記差分が第1の閾値よりも小さい場合に当該検証結果が有効とされる。これにより、複数のチェックファイルの時刻データの相互の関係を定義することができる。従って、特に、複数のチェックファイルの生成の途中で不正な処理を実行した場合に、当該実行のために時間を要することを利用して、前記検証結果を無効とすることができる。
本発明の一実施態様によれば、現在の時刻と複数の時刻データの中の最も大きな値のデータとの差分が第2の閾値よりも小さいか否かが検証され、前記差分が第2の閾値よりも小さい場合に当該検証結果が有効とされる。これにより、複数のチェックファイルの時刻データの相互の関係を定義することができる。従って、特に、最後のチェックファイルの生成からソフトウェアの実際の更新処理の実行までの間において不正な処理を実行した場合に、当該実行のために時間を要することを利用して、前記検証結果を無効とすることができる。
図1は本発明のソフトウェア更新検証装置を示す構成図であり、図2〜図4は本発明のソフトウェア更新検証処理の説明図である。
OS2は、CPU1上で動作し、その動作モードとして、通常モードと、ソフトウェア更新モードとを備える。通常モードとソフトウェア更新モードとは、いずれか一方が択一的に選択される。通常モードはソフトウェア更新インタフェース手段25を備え、ソフトウェア更新モードはソフトウェア更新手段26を備える。ソフトウェア更新モードは、ソフトウェア更新インタフェース手段25から起動された場合に、検証手段7を呼出す。この検証手段7は、実際には、後述するように、マネージャ6を介して呼出される。
OS2の通常モード上で、生成手段3及び削除手段5が動作する。OS2のソフトウェア更新モード上で、マネージャ6及び検証手段7が動作する。記憶部4は、通常モード及びソフトウェア更新モードのOS2の双方により使用される(書込み又は参照される)。一方、OS2は、そのAPIとして、システム時刻取得手段21を備える。
生成手段3は、通常モードのOS2上で、ソフトウェア更新をしようとするユーザ(ユーザアプリケーションプログラム)により呼出される。この呼出しにおいて、当該更新しようとするソフトウェア(プログラム)の名前が指定される。生成手段3は、ソフトウェア更新インタフェース手段25を介して、ソフトウェア更新モードでOS2を再起動する。当該再起動されたOS2は、マネージャ6を介して、検証手段7による検証の結果を得て、ソフトウェア更新手段26を起動する。ソフトウェア更新手段26は、当該ソフトウェアを更新した後、通常モードでOS2を再起動する。
生成手段3が生成処理を実行するための生成補助手段として、通常モードのOS2上で動作するアプリケーション(プログラム)3’が予め設けられる。アプリケーション3’は、後述するように、生成手段3を構成する複数のプロセス31により呼出され、当該処理を依頼される。アプリケーション3’としては、更新ファイルダウンロード手段32、システム時刻変換手段33、システム時刻逆変換手段34が設けられる。システム時刻変換手段33及びシステム時刻逆変換手段34における変換/逆変換は、例えば恒等変換である。
生成手段3はあるプログラムの更新処理における生成処理を実行する。生成処理は、ソフトウェア更新を行うためのインタフェースを呼出す更新準備処理である。生成手段3は、複数のプロセス31(P1〜Pn)からなり、生成処理はこれらにより実行される。即ち、ソフトウェア即ちプログラムの更新処理における生成処理が複数のプロセス31に分割して実行される。分割された生成処理は、各々、例えば更新ファイル41の獲得、チェックファイル42の生成、ソフトウェア更新インタフェース手段25の呼出等からなる。各々のプロセス31が実行すべき分割された生成処理は、予め定められる(割り当てられる)。各々のプロセス31は、自己に予め割り当てられた1又は複数の分割された生成処理を実行する。
プロセスP1は、図2に示すように、更新ファイル41の獲得と、チェックファイル42の生成とを実行する。なお、プロセスP1が、1個の処理のみ即ち更新ファイル41の獲得のみを実行するようにしても良い。
プロセスP1は、生成手段3が実行されると、アプリケーション3’の更新ファイルダウンロード手段32に更新ファイル41の取得を依頼して、その応答として更新ファイルダウンロード手段32からダウンロードされた当該更新ファイル41を受け取る。当該依頼は更新すべきプログラムのプログラム名を含む。更新ファイル41は、当該プログラム名を持つプログラムの改版されたもの、即ち、更新すべきプログラムを含む。これにより、プロセスP1は、生成処理として、更新ファイル41を獲得する。更新ファイル41は、記憶部4に格納され、後述するように、ソフトウェア更新手段26により使用される。
次に、プロセスP1は、OS2のAPIであるシステム時刻取得手段21にシステム時刻の取得を依頼して、その応答としてシステム時刻取得手段21からシステム時刻T1を受け取る。システム時刻はCPU1のタイマ11から得られる。プロセスP1は、アプリケーション3’のシステム時刻変換手段33にシステム時刻T1の変換を依頼して、その応答としてシステム時刻変換手段33から変換結果F1(T1)を受け取る。プロセスP1は、変換結果F1(T1)を格納するチェックファイル42(FILE1.dat)を生成して保存する。チェックファイル42は、記憶部4に格納され、後述するように、検証手段7により使用(検証)される。
ここで、システム時刻変換手段33は、システム時刻をバイト列に1対1変換する変換アルゴリズムF1(図示せず)を備える。この変換により、システム時刻をそのままチェックファイル42に保存するよりも、より有効に不当な(悪意のある)ソフトウェアの更新を抑止することができる。なお、プロセス31毎に異なる変換アルゴリズムを用いるようにしても良い。この場合、事実上、不当なソフトウェアの更新を不可能とすることができる。
チェックファイルFILE1.datに格納されたデータ(時刻データ)は、当該チェックファイル42の生成時の時刻に基づくデータからなる。なお、システム時刻の変換処理は省略しても良い(他のプロセス31においても同じ)。従って、時刻データは、当該チェックファイル42の生成時の時刻(例えばT1)であっても良い。
チェックファイル42に時刻データを格納することにより、当該時刻データに有効期限を設けることができる。特に、後述するように、閾値と併用することにより、コンピュータの電源を切断する等の不当な手段が用いられた場合、チェックファイルを無効とすることができる。また、複数のチェックファイル42を生成することにより、それらの解析を複雑にして、事実上、ソフトウェアの不当な更新を不可能とすることができる。
以上の処理の後に、プロセスP1は、起動すべきプロセス(次のプロセス)P2を起動する。いずれのプロセス31を起動するかは、予め定められる。
生成手段3における中間のプロセスPi(i=2〜(n−1))は、生成処理として、図3に示すように、チェックファイル42の生成を実行する。即ち、プロセスPiは、プロセスP1と同様にして、システム時刻取得手段21からシステム時刻Tiを受け取り、システム時刻変換手段33から変換結果Fi(Ti)を受け取り、これを格納するチェックファイル42(FILEi.dat)を生成して保存する。この後、プロセスPiは、次のプロセスP(i+1)を起動する。
なお、プロセスPiがチェックファイル42の生成以外の当該プロセスに特有の処理(固有処理)を実行するようにしても良い。また、プロセスPiを省略し、プロセスP1及びPnのみを実行するようにしても良い。この場合、生成処理がプロセスP1及びPnの2つに分割されることになる。これは最小の分割の例である。
生成手段3における最後のプロセスPnは、生成処理として、図4に示すように、チェックファイル42の生成と、ソフトウェア更新インタフェース手段25の呼出とを実行する。即ち、プロセスPnは、プロセスP1と同様にして、システム時刻取得手段21からシステム時刻Tnを受け取り、システム時刻変換手段33から変換結果Fn(Tn)を受け取り、これを格納するチェックファイル42(FILEn.dat)を生成して保存する。
ここで、システム時刻T1からTnまでの時間間隔は、実測により予め知ることができ、例えば約30秒である。また、システム時刻T1からTnまでの時間間隔も同様であり、例えば約1秒〜数秒である。システム時刻T1からTnまでの時間間隔は、通常、各々のプロセスの固有処理に要する時間に応じて、各々異なる。
この後、プロセスPnは、次のプロセスを起動する代わりに、OS2のソフトウェア更新インタフェース手段25を呼出す。なお、従来は、複数のチェックファイル42に相当する1個のパスワードファイルを生成した時点でコンピュータの電源を遮断されると、不正な更新を排除することができなかった。しかし、本発明によれば、複数のチェックファイル42の全てを正確に獲得することが難しいので、事実上、不正なソフトウェアの更新を排除することができる。
以上のように、通常モードのOS2上で動作する生成手段3が、生成処理を複数のプロセス31により分割して実行することにより、複数のプロセス31により複数のチェックファイル42が生成される。なお、複数のチェックファイル42の生成を省略し、複数のプロセス31を順に呼出すようにしても良い。また、複数のチェックファイル42として、内容が「空」のファイルを生成するようにしても良い。即ち、プログラムの更新処理における生成処理が、複数のプロセス31により実行され、少なくともソフトウェア更新インタフェース手段25を呼出す呼出処理を含めば良い。
ソフトウェア更新インタフェース手段25は、呼び出された時点では通常モードのOS2上で動作している。しかし、ソフトウェア更新インタフェース手段25は、図4に示すように、生成手段3であるプロセスPnから呼出された場合に、通常モードのOS2を一旦シャットダウンして、直ちにソフトウェア更新モードでOS2を再起動する。
ソフトウェア更新モードでOS2が再起動されると、これに続いてマネージャ6が直ちに起動される。起動されたマネージャ6は、図5に示すように、検証手段7を呼出して、プログラムの更新処理における生成処理の検証を依頼する。
呼出された検証手段7は、マネージャ6(即ち、ソフトウェア更新モードのOS2)から呼出された場合に、複数のプロセス31により実行された生成処理を検証する検証処理を実行する。検証処理は、例えば複数のプロセス31により生成された複数のチェックファイル42の検証からなる。
具体的には、検証手段7は、図5に示すように、システム時刻取得手段21からシステム時刻T0を受け取る。システム時刻T0は、現在の時刻に相当する。また、検証手段7は、n個のチェックファイルFILE1.dat〜FILEn.datから変換結果F1(T1)〜Fn(Tn)を読出し、アプリケーション3’のシステム時刻逆変換手段34に変換結果F1(T1)〜Fn(Tn)と共にシステム時刻の逆変換を依頼して、その応答としてシステム時刻逆変換手段34からシステム時刻T1〜Tnを受け取る。
ここで、システム時刻逆変換手段34は、変換アルゴリズムF1〜Fnによりバイト列に変換されたシステム時刻を元のシステム時刻に1対1に逆変換する逆変換アルゴリズムinv−F1〜Fn(図示せず)を備える。この逆変換により、元のシステム時刻T1〜Tnが得られる。
このシステム時刻T1〜Tnを用いて、検証手段7が以下の第1〜第4の検証処理の一部又は全部を実行する。実行される1又は複数の検証処理(及びその組合せ)は、処理時間及び処理のレベルを考慮して、予め定められる。
検証手段7は、複数のチェックファイルFILE1.dat〜FILEn.datが存在し、かつ、当該複数のチェックファイルFILE1.dat〜FILEn.datの各々からシステム時刻(時刻データ)T1〜Tnを取得できたか否かを検証する(第1の検証処理)。チェックファイル42の数はプロセス31の数により予め定まるので、これに基づいてチェックファイル42の数(即ち、存在)をチェックすることができる。システム時刻は、後述するように、当該チェックファイル42の各々から正しいフォーマットの時刻が得られたことを確認すればよい。この場合、検証手段7は、複数のチェックファイル42が存在し、かつ、その各々からシステム時刻が取得できた場合に、当該検証結果を有効とする。
なお、検証手段7が、複数のチェックファイルFILE1.dat〜FILEn.datが存在するか否かのみを検証するようにしても良い。
更に、検証手段7は、複数のチェックファイルFILE1.dat〜FILEn.datの各々に保存されたシステム時刻T1〜Tnが1個の時系列を構成するか否かを検証する(第2の検証処理)。前述のように、プロセスP1〜Pnがこの順にチェックファイルFILE1.dat〜FILEn.datを生成したのであるから、システム時刻T1〜Tnは、必ずT1<・・<Ti<・・<Tn(T1が最も早い時刻であり、Tnが最も遅い時刻である)という時系列を構成する。検証手段7は、システム時刻T1〜Tnが時系列を構成する場合に、当該検証結果を有効とする。
更に、検証手段7は、複数のチェックファイルFILE1.dat〜FILEn.datに保存されたシステム時刻T1〜Tnの各々と、最も近接する他のシステム時刻との差分が、予め定められた第1の閾値diよりも小さいか否かを検証する(第3の検証処理)。例えば、T(i+1)−Tiを算出して、当該差分が閾値diよりも小さいか否かが調べられる。これは全てのシステム時刻について同様である。差分T(i+1)−Tiは、あるチェックファイルFILEi.datを生成してから、次のチェックファイルFILE(i+1).datを生成するまでの時間に相当する。
第1の閾値diは、複数のチェックファイルFILE1.dat〜FILEn.datの各々の生成に要する時間の実測に基づいて得られる値である。前述のように、各々のシステム時刻の時間間隔は例えば約1秒〜数秒であるので、第1の閾値diは、当該値より大きな値、例えば10秒とされる。検証手段7は、差分が第1の閾値diよりも小さい場合に、当該検証結果を有効とする。
更に、検証手段7は、現在の時刻T0と、複数のチェックファイルFILE1.dat〜FILEn.datの各々に保存されたシステム時刻の中の最も大きな値(この場合は、Tnである)のデータとの差分T0−Tnが予め定められた第2の閾値d0よりも小さいか否かを検証する(第4の検証処理)。差分T0−Tnは、最後のチェックファイルFILEn.datを生成してから現在までの時間に相当する。
第2の閾値d0は、複数のチェックファイルFILE1.dat〜FILEn.datの生成の終了から検証手段7による検証までに要する時間の実測に基づいて得られる値である。前述のように、システム時刻T1からTnまでの時間間隔は例えば約30秒であるので、第2の閾値d0は、当該値より大きな値、例えば40秒とされる。検証手段7は、差分が第2の閾値d0よりも小さい場合に、当該検証結果を有効とする。
ソフトウェア更新モードのOS2(のマネージャ6)は、図5に示すように、前述の検証依頼に対する応答として、検証手段7から当該検証結果を通知される。検証手段7から得た検証結果が有効である場合に、ソフトウェア更新モードのOS2(のマネージャ6)は、ソフトウェア更新手段26を起動する。一方、検証手段7から得た検証結果が無効である場合に、ソフトウェア更新モードのOS2は、ソフトウェア更新手段26を起動することなく、通常モードでOS2を再起動する。
これにより、何らかの不正に基づいて検証結果が無効を示す場合、それ以降ソフトウェア更新モードでのOS2の動作を継続不能として、不正なソフトウェアの更新を防止することができる。また、複数のプロセス31の実行を経ることなく、ソフトウェア更新手段26を起動したとしても、検証結果を無効として、それ以降ソフトウェア更新モードでのOS2の動作を継続不能とすることができる。
ソフトウェア更新手段26は、ソフトウェア更新モードのOS2から起動された場合に、図5に示すように、更新ファイル41を用いて、当該プログラムを更新する。例えば、当該プログラムに更新ファイル41に格納された新しいプログラムを適用する(上書きする)ことにより、プログラムが更新される。この後、ソフトウェア更新手段26は、通常モードでOS2を再起動する。
OS2は、通常モードで起動された場合に、図6に示すように、複数のチェックファイル42を削除する。このために、OS2は、通常モードで起動された場合、削除手段5を呼出す。従って、OS2は、ソフトウェア更新手段26による当該プログラムの更新の後に通常モードで起動された場合、複数のプロセスP1〜Pnにより生成された複数のチェックファイルFILE1.dat〜FILEn.datを削除する。これにより、チェックファイル42が悪用されることを防止することができる。
図7〜図14は、本発明のソフトウェア更新検証処理フローである。
図7は、本発明のソフトウェア更新検証処理の全体の処理フローを示す。図7において、OS2の通常モードで前処理(生成処理)が実行され(ステップS11)、OS2のソフトウェア更新モードで検証処理及びソフトウェアの更新処理が実行され(ステップS12)、OS2の通常モードで後処理(削除処理)が実行される(ステップS13)。
図8は、図7のステップS11において実行される生成処理の処理フローを示す。図8において、最初のプロセスP1がその固有の処理を実行し(ステップS21)、中間のプロセスPiがその固有の処理を実行し(ステップS22)、プロセスPnがその固有の処理を実行する(ステップS23)。
図9は、図8のステップS21においてプロセスP1により実行される処理フローを示す。図9において、最初のプロセスP1が、更新ファイルダウンロード手段32を用いて更新ファイル41をダウンロードし(ステップS31)、システム時刻取得手段21を用いてその時点での現在時刻をシステム時刻T1として取得し(ステップS32)、変換アルゴリズムF1を備えるシステム時刻変換手段33を用いてシステム時刻T1を変換して(ステップS33)、変換結果F1(T1)をチェックファイル42FILE1.datに保存する(ステップS34)。この後、プロセスP1は、次のプロセスP2を起動する(ステップS35)。
図10は、図8のステップS22においてプロセスPiにより実行される処理フローを示す。図10において、中間のプロセスPiが、当該プロセスPiに固有の処理を実行し(ステップS41)、この後、システム時刻取得手段21を用いてその時点での現在時刻をシステム時刻Tiとして取得し(ステップS42)、変換アルゴリズムFiを備えるシステム時刻変換手段33を用いてシステム時刻Tiを変換して(ステップS43)、変換結果Fi(Ti)をチェックファイル42FILEi.datに保存する(ステップS44)。この後、プロセスPiは、次のプロセスP(i+1)を起動する(ステップS45)。
図11は、図8のステップS23においてプロセスPnにより実行される処理フローを示す。図11において、最後のプロセスPnが、当該プロセスPnに固有の処理を実行し(ステップS51)、この後、システム時刻取得手段21を用いてその時点での現在時刻をシステム時刻Tnとして取得し(ステップS52)、変換アルゴリズムFnを備えるシステム時刻変換手段33を用いてシステム時刻Tnを変換して(ステップS53)、変換結果Fn(Tn)をチェックファイル42FILEn.datに保存する(ステップS54)。この後、プロセスPnは、次のプロセスを起動することなく、ソフトウェア更新インタフェース手段25を呼び出して、ソフトウェア更新モードでOS2を再起動する(ステップS55)。
図12は、図7のステップS12において実行される検証処理及び更新処理の処理フローを示す。図12において、ソフトウェア更新モードで再起動されたOS2がマネージャ6を起動すると(ステップS61)、マネージャ6はソフトウェア更新のシーケンスが正しいか否かを検証手段7により検証し(ステップS62)、検証手段7から得た検証結果が有効であるか否かを調べる(ステップS63)。検証結果が有効である場合、マネージャ6はソフトウェア更新手段26を呼出して、当該プログラムに更新ファイル41を適用して(ステップS64)、通常モードでOS2を再起動する(ステップS65)。検証結果が有効でない(無効である)場合、マネージャ6は、ステップS64を省略して、ステップS65を実行する。
図13は、図12のステップS62において実行される検証処理の処理フローを示す。図13において、検証手段7は、マネージャ6から呼出されると(ステップS71)、システム時刻取得手段21を用いてその時点での現在時刻をシステム時刻T0として取得し(ステップS72)、複数のチェックファイル42FILE1.dat〜FILEn.datから変換結果F1(T1)〜Fn(Tn)を読出し(ステップS73)、当該読出しに成功したか否かを調べる(ステップS74)。
読出しに失敗した場合、検証手段7は、検証結果は無効である旨をマネージャ6に応答として返す(ステップS75)。読出しに成功した場合、検証手段7は、逆変換アルゴリズムinv−F1〜inv−Fnを備えるシステム時刻逆変換手段34を用いて、変換結果F1(T1)〜Fn(Tn)をシステム時刻T1〜Tnに逆変換し(ステップS76)、当該逆変換に成功したか否かを調べる(ステップS77)。
逆変換に失敗した場合、検証手段7は、ステップS75を実行する。逆変換に成功した場合、検証手段7は、システム時刻T1〜Tnが時系列T1<・・<Ti<・・<Tnを構成するか否かを調べる(ステップS78)。システム時刻が時系列を構成しない場合、検証手段7は、ステップS75を実行する。
システム時刻が時系列を構成する場合、検証手段7は、システム時刻T1〜Tnの各々について、最も近接する他のシステム時刻との差分(例えば、T(i+1)−Ti)が、第1の閾値diよりも小さいか否かを検証する(ステップS79)。当該差分が閾値diよりも小さくない場合、検証手段7は、ステップS75を実行する。
当該差分が閾値diよりも小さい場合、検証手段7は、現在の時刻T0と、システム時刻の中の最も大きな値Tnとの差分T0−Tnが第2の閾値d0よりも小さいか否かを検証する(ステップS710)。当該差分が閾値d0よりも小さくない場合、検証手段7は、ステップS75を実行する。当該差分が閾値d0よりも小さい場合、検証手段7は、検証結果は有効である旨をマネージャ6に応答として返す(ステップS711)。
図14は、図7のステップS13において実行される削除処理の処理フローを示す。図14において、通常モードで再起動されたOS2が後処理手段を起動すると(ステップS81)、後処理手段が、複数のチェックファイル42FILE1.dat〜FILEn.datを削除する(ステップS82)。
以上から判るように、本発明の実施形態の特徴が以下のように把握される。
(付記1) 動作モードとして、通常モードと、ソフトウェア更新インタフェース手段から起動された場合に検証手段を呼出すソフトウェア更新モードとを備えるOS2と、
前記通常モードの前記OS上で動作し、前記ソフトウェア更新インタフェース手段を呼出す呼出処理を含む生成処理を複数のプロセスにより実行する生成手段と、
前記生成手段から呼出された場合に、前記ソフトウェア更新モードで前記OSを起動するソフトウェア更新インタフェース手段と、
前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証する検証処理を実行する検証手段とを備える
ことを特徴とするソフトウェア更新検証装置。
(付記2) 前記生成手段が、更に、前記生成処理として、前記複数のプロセスにより複数のチェックファイルの生成を実行し、
前記検証手段が、前記検証処理として、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより生成された前記複数のチェックファイルを検証する
ことを特徴とする付記1に記載のソフトウェア更新検証装置。
(付記3) 前記生成手段が、更に、前記生成処理として、更新すべきプログラムを格納する更新ファイルを獲得する
ことを特徴とする付記2に記載のソフトウェア更新検証装置。
(付記4) 当該ソフトウェア更新検証装置が、更に、
前記ソフトウェア更新モードの前記OSから起動された場合に、当該プログラムを更新するソフトウェア更新手段を備え、
前記生成手段が、更に、更新すべきプログラムを格納する更新ファイルを獲得し、
前記ソフトウェア更新モードの前記OSが、前記検証手段から得た検証結果が有効である場合に、前記更新ファイルを用いて前記ソフトウェア更新手段を起動する
ことを特徴とする付記2記載のソフトウェア更新検証装置。
(付記5) 前記OSが、前記ソフトウェア更新手段による当該プログラムの更新の後に前記通常モードで起動された場合に、前記複数のプロセスにより生成された複数のチェックファイルを削除する
ことを特徴とする付記4記載のソフトウェア更新検証装置。
(付記6) 前記ソフトウェア更新モードの前記OSが、前記検証手段から得た検証結果が無効である場合に、前記ソフトウェア更新手段を起動することなく、前記通常モードで前記OSを起動する
ことを特徴とする付記2記載のソフトウェア更新検証装置。
(付記7) 前記チェックファイルの生成を行うプロセスが、前記複数のチェックファイルの各々にその生成時の時刻又はこれに基づくデータからなる時刻データを保存する
ことを特徴とする付記2記載のソフトウェア更新検証装置。
(付記8) 前記時刻は、CPUのタイマから得られるシステム時刻である
ことを特徴とする付記7記載のソフトウェア更新検証装置。
(付記9) 前記検証手段が、前記複数のチェックファイルが存在するか否かを検証し、存在する場合に、当該検証結果を有効とする
ことを特徴とした付記7記載のソフトウェア更新検証装置。
(付記10) 前記検証手段が、前記複数のチェックファイルが存在し、当該複数のチェックファイルの各々から前記時刻データを取得できたか否かを検証し、取得できた場合に、当該検証結果を有効とする
ことを特徴とした付記7記載のソフトウェア更新検証装置。
(付記11) 前記検証手段が、前記複数のチェックファイルの各々に保存された前記時刻データが1個の時系列を構成するか否かを検証し、前記時刻データが時系列を構成する場合に、当該検証結果を有効とする
ことを特徴とした付記7記載のソフトウェア更新検証装置。
(付記12) 前記検証手段が、前記複数のチェックファイルに保存された前記時刻データの各々と最も近接する他の時刻データとの差分が予め定められた第1の閾値よりも小さいか否かを検証し、前記差分が前記第1の閾値よりも小さい場合に、当該検証結果を有効とする
ことを特徴とする付記7記載のソフトウェア更新検証装置。
(付記13) 前記第1の閾値は、前記複数のチェックファイルの各々の生成に要する時間の実測に基づいて得られる値である
ことを特徴とする付記12記載のソフトウェア更新検証装置。
(付記14) 前記検証手段が、現在の時刻と前記複数のチェックファイルの各々に保存された前記時刻データの中の最も大きな値のデータとの差分が予め定められた第2の閾値よりも小さいか否かを検証し、前記差分が前記第2の閾値よりも小さい場合に、当該検証結果を有効とする
ことを特徴とする付記7記載のソフトウェア更新検証装置。
(付記15) 前記第2の閾値は、前記複数のチェックファイルの生成の終了から前記検証手段による検証までに要する時間の実測に基づいて得られる値である
ことを特徴とする付記14記載のソフトウェア更新検証装置。
(付記16) ソフトウェア更新検証装置を実現するためにコンピュータで実行されるソフトウェア更新方法であって、
通常モードのOS上で動作する生成手段が、ソフトウェア更新インタフェース手段を呼出す呼出処理を複数のプロセスにより実行し、
ソフトウェア更新インタフェース手段が、前記生成手段から呼出された場合に、ソフトウェア更新モードで前記OSを起動し、
前記OSが、前記ソフトウェア更新モードで前記ソフトウェア更新インタフェースから起動された場合に、検証手段を呼出し、
前記検証手段が、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証する
ことを特徴とするソフトウェア更新方法。
(付記17) ソフトウェア更新検証装置を実現するためにコンピュータで実行されるソフトウェア更新プログラムであって、
前記プログラムは、コンピュータに、
通常モードのOS上で動作する生成手段が、ソフトウェア更新インタフェース手段を呼出す呼出処理を予め定められた複数のプロセスにより実行するステップと、
ソフトウェア更新インタフェース手段が、前記生成手段から呼出された場合に、ソフトウェア更新モードで前記OSを起動するステップと、
前記OSが、前記ソフトウェア更新モードで前記ソフトウェア更新インタフェースから起動された場合に、検証手段を呼出するステップと、
前記検証手段が、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証するステップとを実行させる
ことを特徴とするソフトウェアプログラム。
以上、説明したように、本発明によれば、ソフトウェア更新検証装置、方法及びプログラムにおいて、何らかの不正な方法によっても、複数のプロセスにより実行された生成処理の結果の全てを正確に入手することは殆ど不可能として、生成処理の結果を偽造する等の不正によってはソフトウェアの更新処理の正当性を示す結果を得られなくすることができる。これにより、ソフトウェア更新インタフェースの呼出し自体を禁止することなく、事実上、悪意のある者が汎用OS上で不当にソフトウェアを更新することを防止することができる。
本発明のソフトウェア更新検証装置を示す構成図である。 本発明のソフトウェア更新検証処理の説明図である。 本発明のソフトウェア更新検証処理の説明図である。 本発明のソフトウェア更新検証処理の説明図である。 本発明のソフトウェア更新検証処理の説明図である。 本発明のソフトウェア更新検証処理の説明図である。 本発明のソフトウェア更新検証処理フローである。 本発明のソフトウェア更新検証処理フローである。 本発明のソフトウェア更新検証処理フローである。 本発明のソフトウェア更新検証処理フローである。 本発明のソフトウェア更新検証処理フローである。 本発明のソフトウェア更新検証処理フローである。 本発明のソフトウェア更新検証処理フローである。 本発明のソフトウェア更新検証処理フローである。
符号の説明
1 CPU
2 OS
3 生成手段
4 記憶部
5 削除手段
6 マネージャ
7 検証手段
21 システム時刻取得手段
25 ソフトウェア更新インタフェース手段
26 ソフトウェア更新手段
31 プロセス(P1〜Pn)
32 更新ファイルダウンロード手段
33 システム時刻変換手段
34 システム時刻逆変換手段
41 更新ファイル(FILE1.dat〜FILEn.dat)
42 チェックファイル

Claims (10)

  1. 動作モードとして、通常モードと、ソフトウェア更新インタフェース手段から起動された場合に検証手段を呼出すソフトウェア更新モードとを備えるOSと、
    前記通常モードの前記OS上で動作し、前記ソフトウェア更新インタフェース手段を呼出す呼出処理を含む生成処理を複数のプロセスにより実行する生成手段と、
    前記生成手段から呼出された場合に、前記ソフトウェア更新モードで前記OSを起動するソフトウェア更新インタフェース手段と、
    前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証する検証処理を実行する検証手段とを備える
    ことを特徴とするソフトウェア更新検証装置。
  2. 前記生成手段が、更に、前記生成処理として、前記複数のプロセスにより複数のチェックファイルの生成を実行し、
    前記検証手段が、前記検証処理として、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより生成された前記複数のチェックファイルを検証する
    ことを特徴とする請求項1に記載のソフトウェア更新検証装置。
  3. 当該ソフトウェア更新検証装置が、更に、
    前記ソフトウェア更新モードの前記OSから起動された場合に、更新ファイルを用いて当該プログラムを更新するソフトウェア更新手段を備え、
    前記生成手段が、更新すべきプログラムを格納する前記更新ファイルを獲得し、
    前記ソフトウェア更新モードの前記OSが、前記検証手段から得た検証結果が有効である場合に、前記ソフトウェア更新手段を起動する
    ことを特徴とする請求項2記載のソフトウェア更新検証装置。
  4. 前記ソフトウェア更新モードの前記OSが、前記検証手段から得た検証結果が無効である場合に、前記ソフトウェア更新手段を起動することなく、前記通常モードで前記OSを起動する
    ことを特徴とする請求項2記載のソフトウェア更新検証装置。
  5. 前記チェックファイルの生成を行うプロセスが、前記複数のチェックファイルの各々にその生成時の時刻又はこれに基づくデータからなる時刻データを保存する
    ことを特徴とする請求項2記載のソフトウェア更新検証装置。
  6. 前記検証手段が、前記複数のチェックファイルの各々に保存された前記時刻データが1個の時系列を構成するか否かを検証し、前記時刻データが時系列を構成する場合に、当該検証結果を有効とする
    ことを特徴とした請求項5記載のソフトウェア更新検証装置。
  7. 前記検証手段が、前記複数のチェックファイルに保存された前記時刻データの各々と最も近接する他の時刻データとの差分が予め定められた第1の閾値よりも小さいか否かを検証し、前記差分が前記第1の閾値よりも小さい場合に、当該検証結果を有効とする
    ことを特徴とする請求項5記載のソフトウェア更新検証装置。
  8. 前記検証手段が、現在の時刻と前記複数のチェックファイルの各々に保存された前記時刻データの中の最も大きな値のデータとの差分が予め定められた第2の閾値よりも小さいか否かを検証し、前記差分が前記第2の閾値よりも小さい場合に、当該検証結果を有効とする
    ことを特徴とする請求項5記載のソフトウェア更新検証装置。
  9. ソフトウェア更新検証装置を実現するためにコンピュータで実行されるソフトウェア更新検証方法であって、
    通常モードのOS上で動作する生成手段が、ソフトウェア更新インタフェース手段を呼出す呼出処理を複数のプロセスにより実行し、
    ソフトウェア更新インタフェース手段が、前記生成手段から呼出された場合に、ソフトウェア更新モードで前記OSを起動し、
    前記OSが、前記ソフトウェア更新モードで前記ソフトウェア更新インタフェースから起動された場合に、検証手段を呼出し、
    前記検証手段が、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証する
    ことを特徴とするソフトウェア更新検証方法。
  10. ソフトウェア更新検証装置を実現するためにコンピュータで実行されるソフトウェア更新検証プログラムであって、
    前記プログラムは、コンピュータに、
    通常モードのOS上で動作する生成手段が、ソフトウェア更新インタフェース手段を呼出す呼出処理を予め定められた複数のプロセスにより実行するステップと、
    ソフトウェア更新インタフェース手段が、前記生成手段から呼出された場合に、ソフトウェア更新モードで前記OSを起動するステップと、
    前記OSが、前記ソフトウェア更新モードで前記ソフトウェア更新インタフェースから起動された場合に、検証手段を呼出するステップと、
    前記検証手段が、前記ソフトウェア更新モードの前記OSから呼出された場合に、前記複数のプロセスにより実行された前記生成処理を検証するステップとを実行させる
    ことを特徴とするソフトウェア更新検証プログラム。
JP2007260869A 2007-10-04 2007-10-04 ソフトウェア更新検証装置、方法及びプログラム Expired - Fee Related JP4983521B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007260869A JP4983521B2 (ja) 2007-10-04 2007-10-04 ソフトウェア更新検証装置、方法及びプログラム
US12/245,245 US8640117B2 (en) 2007-10-04 2008-10-03 Software update verification apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007260869A JP4983521B2 (ja) 2007-10-04 2007-10-04 ソフトウェア更新検証装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009093265A JP2009093265A (ja) 2009-04-30
JP4983521B2 true JP4983521B2 (ja) 2012-07-25

Family

ID=40524408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007260869A Expired - Fee Related JP4983521B2 (ja) 2007-10-04 2007-10-04 ソフトウェア更新検証装置、方法及びプログラム

Country Status (2)

Country Link
US (1) US8640117B2 (ja)
JP (1) JP4983521B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873579B (zh) * 2010-05-26 2013-08-28 华为技术有限公司 升级验证数据的获取方法、装置和网络设备
JP5316515B2 (ja) * 2010-11-04 2013-10-16 ブラザー工業株式会社 通信システムおよび中継装置
US20120117365A1 (en) * 2010-11-08 2012-05-10 Delta Electronics (Thailand) Public Co., Ltd. Firmware update method and system for micro-controller unit in power supply unit
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
US9703546B1 (en) * 2015-12-21 2017-07-11 Schneider Electric Software, Llc Monitoring application states for deployment during runtime operations
CN106874036B (zh) * 2017-01-13 2021-03-09 北京安云世纪科技有限公司 应用程序的更新方法、装置及移动终端
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
US11562073B2 (en) * 2018-11-28 2023-01-24 The Boeing Company Systems and methods of software load verification

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04295930A (ja) * 1991-03-25 1992-10-20 Mitsubishi Electric Corp 複数プロセスの実行管理装置
EP1337917A4 (en) * 2000-11-17 2009-04-08 Hewlett Packard Development Co SYSTEM AND METHOD FOR UPDATING AND DISTRIBUTING INFORMATION
JP2002287844A (ja) * 2001-03-27 2002-10-04 Asahi Kasei Corp プログラムソフトのレンタルシステム
JP4124410B2 (ja) * 2001-09-25 2008-07-23 株式会社リコー メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム
US7251812B1 (en) * 2001-10-31 2007-07-31 Microsoft Corporation Dynamic software update
US7555749B2 (en) * 2003-03-10 2009-06-30 Microsoft Corporation Software updating system and method
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US7698698B2 (en) * 2004-09-30 2010-04-13 Smith Micro Software, Inc. Method for over-the-air firmware update of NAND flash memory based mobile devices
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
US7680758B2 (en) * 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
JP2006113754A (ja) * 2004-10-13 2006-04-27 Ntt Comware Corp ソフトウェア更新装置及び方法
US20070169079A1 (en) * 2005-11-08 2007-07-19 Microsoft Corporation Software update management
KR101229521B1 (ko) * 2005-12-28 2013-02-05 삼성전자주식회사 디바이스 메모리의 무결성 확인 방법 및 장치
US8448162B2 (en) * 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
JP4095094B2 (ja) * 2006-02-06 2008-06-04 株式会社リコー 情報処理装置
JP4757066B2 (ja) * 2006-03-15 2011-08-24 株式会社日立ソリューションズ 利用者端末における二次記憶装置の管理方法及び利用者端末
US20100107150A1 (en) * 2007-03-20 2010-04-29 Tomihisa Kamada Terminal having application update managing function, and application update managing program and system
US8635608B2 (en) * 2007-09-04 2014-01-21 Teradata Us, Inc. Software update system and method

Also Published As

Publication number Publication date
JP2009093265A (ja) 2009-04-30
US20090094591A1 (en) 2009-04-09
US8640117B2 (en) 2014-01-28

Similar Documents

Publication Publication Date Title
JP4983521B2 (ja) ソフトウェア更新検証装置、方法及びプログラム
EP3500972B1 (en) Protection feature for data stored at storage service
TWI667586B (zh) 用以核對uefi認證變量變化之系統及方法
JP6281425B2 (ja) 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法
US20090328026A1 (en) Update system, program execution device, and computer program
JP4929804B2 (ja) 認証方法、認証装置および認証プログラム
CN105138347A (zh) 一种差分升级包生成方法、软件升级方法及相应装置
RU2011114863A (ru) Способ и устройство для обнаружения вредоносного по
US7689981B1 (en) Mobile handset with efficient interruption point detection during a multiple-pass update process
JP5168112B2 (ja) パッチ適用装置、パッチ適用方法およびパッチ適用プログラム
CN101432752A (zh) 可信平台现场升级系统和方法
JP5153284B2 (ja) 情報処理装置、認証方法、及びコンピュータプログラム
WO2021169305A1 (zh) 声纹数据处理方法、装置、计算机设备和存储介质
JP5986897B2 (ja) 端末装置、完全性検証システム、およびプログラム
CN112507343A (zh) 一种bios更新方法、装置、设备及介质
US20120079573A1 (en) Information processing device, password diagnosing method and computer-readable medium
WO2020233044A1 (zh) 一种插件校验方法、设备、服务器及计算机可读存储介质
WO2016000553A1 (zh) 鉴别垃圾目录的方法及装置
JP6201385B2 (ja) ストレージ装置及びストレージ制御方法
EP3811249A1 (en) Detecting copied computer code using cryptographically hashed overlapping shingles
CN102479306B (zh) 一种资源验证方法及装置
JP5584588B2 (ja) データベース処理装置、データベース処理システム、データベース処理方法、およびプログラム
JP5460832B2 (ja) 情報処理装置、認証方法、及びコンピュータプログラム
JP2011081501A (ja) オペレーティングシステムプログラム、及びこれが搭載されているコンピュータ
JP2010165324A (ja) ファイル格納システム及びサーバ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120312

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4983521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees