JP2002116838A - コードを更新するためのデバイスおよび方法 - Google Patents

コードを更新するためのデバイスおよび方法

Info

Publication number
JP2002116838A
JP2002116838A JP2001195753A JP2001195753A JP2002116838A JP 2002116838 A JP2002116838 A JP 2002116838A JP 2001195753 A JP2001195753 A JP 2001195753A JP 2001195753 A JP2001195753 A JP 2001195753A JP 2002116838 A JP2002116838 A JP 2002116838A
Authority
JP
Japan
Prior art keywords
code
software
signed
fragment
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001195753A
Other languages
English (en)
Inventor
Michael Baentsch
ミヒャエル・ベンチェ
Peter Buhler
ペーター・ブラー
Thomas Eirich
トーマス・エイリッヒ
Frank Hoering
フランク・ヘリング
Thomas Weigold
トーマス・ヴァイゴルト
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002116838A publication Critical patent/JP2002116838A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 伝送するデータの量を低減するが、機能性に
おける変更を容易にし、Javaコード・コンテナな
ど、署名付きコードのセキュリティ特性を保持する方法
を提供する。 【解決手段】 ソフトウェア取得エンティティ20が既
存の第1の署名付きコード片11から第2の署名付きコ
ード片12に達することができるようにする、ソフトウ
ェア・プロバイダのための方法を対象とする。両方のコ
ード片は、ソフトウェア・プロバイダ側で、第1のソフ
トウェア・アーカイブ生成器2を使用することによっ
て、生成命令の使用下で生成された。ソフトウェア・プ
ロバイダは、第1の署名付きコード片11から第2の署
名付きコード片12に達するために必要なステップを含
む差分コード4をソフトウェア取得エンティティ20に
提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウェア取得
エンティティが既存の第1の署名付きコード片から第2
の署名付きコード片に達することができるようにする、
ソフトウェア・プロバイダのための方法に関する。本発
明は、既存の第1の署名付きコード片から第2の署名付
きコード片に達するソフトウェア取得エンティティのた
めの方法にも関する。
【0002】
【従来の技術】今日の典型的なJavaアプリケーショ
ンは、非常に大きく、数千個ものクラスからなる傾向が
ある。さらに、Javaコードを実行する、普及してい
るウェブブラウザでは、異なるJavaパッケージング
および署名フォーマットが必要なので、コードが通常2
度配布され、それによりさらにアプリケーションのサイ
ズが増大する。このように複雑さが増すことは、より多
くのプログラミングのエラーが、プログラムがすでに顧
客へロール・アウトされたときになって初めて明らかに
なることに通じる。これにより、誤り訂正を顧客に送る
ことが必要となる。Javaプログラムは、暗号化署名
付きコンテナにおいて出荷されるので、これまで、完全
なJavaコンテナは、場合によっては数千個ものクラ
スを含み、その中のただ1つのクラス・ファイルが変更
されたときでさえ再配布する必要がある。
【0003】
【発明が解決しようとする課題】独立クレームによる本
発明の目的は、伝送するデータの量を低減するが、機能
性における変更を容易にし、Javaコード・コンテナ
など、署名付きコードのセキュリティ特性を保持する方
法を提供することである。
【0004】
【課題を解決するための手段】したがって、本明細書で
解決される主な問題は、たとえば、コードにおけるエラ
ーを修正する、あるいはコードを新しい機能セットへア
ップグレードするなど、第1のコード片を修正して第2
のコード片に達するときに、顧客に出荷されるデータの
量の低減である。
【0005】よって、本発明は、ソフトウェア取得エン
ティティが既存の第1の署名付きコード片から第2の署
名付きコード片に達することができるようにする、ソフ
トウェア・プロバイダのための方法を対象とする。両方
のコード片は、ソフトウェア・プロバイダ側で、第1の
ソフトウェア・アーカイブ生成器を使用することによっ
て、生成命令の使用下で生成された。ソフトウェア・プ
ロバイダは、第1の署名付きコード片から第2の署名付
きコード片に達するために必要なステップを含む差分コ
ードをソフトウェア取得エンティティに提供する。差分
コードは、ソフトウェア取得エンティティ側で、第2の
ソフトウェア・アーカイブ生成器によって第1の署名付
きコード片と結合可能であり、第2の署名付きコード片
を生成する。したがって、第1のソフトウェア・アーカ
イブ生成器によって両方のコード片の生成のために使用
されたそれらの生成命令が第2のソフトウェア・アーカ
イブ生成器に供給される。
【0006】第1のソフトウェア・コンポーネント併合
ユニットは、第1の署名付きコード片を生成するための
生成命令を使用する。ユーザ側でそれらの生成命令を使
用して第2の署名付きコード片を生成するので、生成命
令がソフトウェア取得エンティティへ、ソフトウェア・
プロバイダによって、好ましくは第2のソフトウェア・
アーカイブ・ジェネレータと共に提供される場合に有利
である。それにより、ユーザが、第2の署名付きコード
片の正しい生成を許可する1組のツールを所有している
という、よりよい保証が存在する。
【0007】ソフトウェア・プロバイダ側のシステムが
さらに、秘密鍵へのアクセスを有する署名ユニットを含
むことができる。コード片は、秘密鍵を使用して署名さ
れる。公開/秘密鍵システムは、非常に広く行き渡り、
よく知られている暗号化システムであり、したがって実
施しやすく使用しやすい。
【0008】差分コードが、好ましくは第1のソフトウ
ェア・アーカイブ生成器によって作成され、第1のソフ
トウェア・アーカイブ生成器が第2の署名付きコード片
を生成する場合、有利である。差分コードが、第2のコ
ード片に達する方法のステップをリフェルセット(refe
lcets)するので、差分ファイルに入れられる情報が自
動的に作成され、生成処理中に使用可能である。
【0009】既存の第1の署名付きコード片から第2の
署名付きコード片に達するソフトウェア取得エンティテ
ィのための方法であって、それにより両方のコード片
が、ソフトウェア・プロバイダ側で、第1のソフトウェ
ア・アーカイブ生成器を使用することによって、生成命
令の使用下で生成されており、この方法は、第1の署名
付きコード片から第2の署名付きコード片に達するため
に必要なステップを含む差分コードの送達のために、コ
ード修正要求をソフトウェア・プロバイダに送信するス
テップと、差分コードを受信し、第2のソフトウェア・
アーカイブ生成器を使用することによって差分コードを
第1の署名付きコード片に結合し、それにより第2の署
名付きコード片を生成するステップとを含む。第1のソ
フトウェア・アーカイブ生成器によって両方のコード片
の生成のために使用されたそれらの生成命令が第2のソ
フトウェア・アーカイブ生成器に供給される。ユーザに
は、完全に新しい第2の署名付きコードではなく、小さ
い差分コードのみを使用する利点がある。差分コード
を、ネットワークを介してダウンロードすることで、著
しく少ない時間しかかからない可能性がある。ソフトウ
ェア・プロバイダにとっても、このことが当てはまる。
差分ファイルを提供するためのコストも、完全バージョ
ンの第2の署名付きコード片のコストよりも低くなるで
あろう。
【0010】提案した方法は、提案した方法を実行する
ためのプログラム・コードを含むコンピュータ・プログ
ラム製品の形式で実現し、市場に出すことができる。こ
のコンピュータ・プログラム製品を、コンピュータ可読
媒体上に格納することができる。
【0011】本発明を理解するため、まず、既存の状況
についてより詳細に説明する。普通または正当な人物な
ど、あるエンティティが特定のコード片を取得してお
り、この人物を以下でユーザとも呼び、この人物がこの
コードをコード片の異なる片で置き換えることを望むと
仮定し、両方のコードをソフトウェアとも呼び、先に取
得されたソフトウェア片の更新されたバージョンである
ことが好ましい。以下では、具体的な例を挙げるため
に、ユーザが、自分がすでに取得したソフトウェアの更
新を有することを望むと仮定する。典型的には、ユーザ
が、すでに取得したソフトウェア片の作成元に更新を要
求する。次いで、ソフトウェアの作成者が、更新された
完全バージョンのソフトウェア、あるいは、まだ更新さ
れていないソフトウェアの存在において実行されている
ときに、次いで既存のソフトウェアを更新されたソフト
ウェアに変更するソフトウェアを、ユーザに送信するこ
とができる。署名付きソフトウェアの場合、すなわち、
ソフトウェアの完全性およびオリジナリティを、秘密/
公開鍵暗号化方式を使用して検証することができる場
合、このような更新では今まで、ソフトウェアの作成者
が完全バージョンの更新を送信する必要があり、これ
は、先に取得されたソフトウェアを更新と共に組立てる
ことにより、実際にすべての場合において、検証ツール
によってオリジナルでないと認識されるであろう異なる
署名に通じるからである。しかし、これは、ユーザが署
名付きソフトウェアの署名を使用して、オリジナル、す
なわち、無許可の手によって触れられていないソフトウ
ェアを、ある無許可のエンティティによって修正された
ソフトウェアから区別できるようにするためである。ユ
ーザはこの署名の利点を、更新が行われるときにも持続
することを望む。ユーザはクライアントとも呼ばれ、ソ
フトウェア・プロバイダはサーバとも呼ばれる。これ
は、典型的な実現では、ソフトウェア・プロバイダが自
分で行うのではなく、クライアント・システムを動作す
るユーザに所望の更新コードを提供するために必要なス
テップを自動的に実行するサーバなど、コンピュータ・
システムにおいて自動化された提供機能を有する可能性
があるからである。ユーザ側では、更新要求に加えて最
後の更新の実行を、クライアントと呼ばれる、コンピュ
ータ化されたシステムにおいて自動化することができ
る。
【0012】更新されるコードのための暗号化署名の再
作成を許可する、暗号により保護された差分ファイルを
使用する解法を提案する。クライアント側ソフトウェア
の署名の再作成のために提示した手法は、いかなる新し
い暗号化機能性をもクライアント側で使用する必要がな
いが、これをサーバ側、およびサードパーティ実行環
境、たとえば、ウェブブラウザに制限するという利点を
有する。この一般の戦略において構築されたソフトウェ
アは、暗号化の方法を使用しないので、いかなるエクス
ポート制限も受けないという利点を有する。さらに、こ
れは明らかにより安全であり、これは、署名鍵、すなわ
ち、ソフトウェア・プロバイダの秘密鍵が、クライアン
ト側で署名を再作成するために必要とされないからであ
る。
【0013】本発明は、インターネットなど本質的に不
確かな媒体上の分野において、すでにインストールさ
れ、配備されている署名付きアプリケーションを、安全
に更新するための新しい手法を使用する。これは、上記
の目的をとても効率的な方法で達成可能にする様々な技
術を包含する。本質において、この概念について、オー
プン・セキュリティ・プロトコル、および、JARまた
はCABなど署名付き文書フォーマットに適用された識
別技術と結合して、オンライン・バージョニング検査を
使用するために説明することもできる。
【0014】
【発明の実施の形態】以下で、本発明の様々な例示的実
施形態について説明する。
【0015】第1の実施形態 図1には、いくつかの署名付きコード片11、12、1
3を含むデータベースを含む記憶装置1が示されてい
る。これらの署名付きコード片11、12、13は、第
1のソフトウェア・アーカイブ生成器2によって生成さ
れており、これもAGで示す。第1のソフトウェア・ア
ーカイブ生成器2は、第1のソフトウェア・コンポーネ
ント併合ユニット21を含み、これが生成命令8を使用
する。
【0016】これはさらに署名ユニット22を含み、こ
れが秘密鍵14へのアクセスを有する。図示の例では、
4つのソフトウェア・コンポーネント9をA、B、C、
Dで示し、これらが第1のソフトウェア・アーカイブ生
成器2へ送り込まれ、これが生成命令8およびバージョ
ン命令26に従って、これらのソフトウェア・コンポー
ネント9をアセンブリに組み立て、これをアーカイブま
たはコンテナとも呼ぶ。
【0017】各コード片11、12、13について、こ
れらのバージョン命令26が、何がその特定のコード片
11、12、13に含まれるか、および、それがどのよ
うにどこで含まれるかについて、コード特有の情報を含
む。よって、ここでは、第1の署名付きコード片11に
ついて、これは規則RV1を含み、これは3つのコンポ
ーネントA、B、Cが厳密にこの順序で入れられること
を示す。第2の署名付きコード片12について、これは
規則RV2を含み、これは2つのコンポーネントA、C
が厳密にこの順序で入れられることを示す。第3の署名
付きコード片13について、これは規則RV3を含み、
これは3つのコンポーネントA、D、Cが厳密にこの順
序で入れられることを示す。生成命令8はより汎用の種
類であり、いずれの署名付きコード片11、12、13
の生成にも適切である命令を与える。次いで、このアセ
ンブリが、秘密鍵14を使用して、署名ユニット22に
よって署名される。この生成は、ここでは3つの異なる
バージョンに通じる。すなわち、第1のバージョンV
1.0、第2のバージョンV2.0および第3のバージ
ョンV3.0である。第1のバージョンV1.0は署名
Sig11を有し、これにより第1の署名付きコード片
11を構築する。第2のバージョンV2.0は署名Si
g12を有し、これにより第2の署名付きコード片12
を構築する。第3のバージョンV3.0は署名Sig1
3を有し、これにより第3の署名付きコード片13を構
築する。この具体的な例では、第1のバージョンV1.
0が3つのソフトウェア・コンポーネントA、B、Cお
よび署名Sig11からなり、第2のバージョンV2.
0が2つのソフトウェア・コンポーネントA、Cおよび
署名Sig12のみからなり、第3のバージョンV3.
0が3つのソフトウェア・コンポーネントA、D、Cお
よび署名Sig13からなる。
【0018】上記で説明したように、これらの3つのコ
ード片11、12、13が記憶装置1に格納される。記
憶装置1が差分コード生成器10に接続され、これがそ
の出力を出力ユニット3へ送達し、これが入力ユニット
24に結合される。ここまでは、ソフトウェア・プロバ
イダ25側のインフラストラクチャについて説明した。
【0019】ソフトウェア取得エンティティ20は、ユ
ーザ20とも呼ばれ、この側に第2のソフトウェア・ア
ーカイブ生成器7が存在し、これはソフトウェア・コン
ポーネント・セパレータ23および第2のソフトウェア
・コンポーネント併合ユニット27を含み、これが、ソ
フトウェア・プロバイダ側のものと等しい生成命令8の
使用下で動作可能である。ユーザ20は第1の署名付き
コード片11を有し、これを第2の署名付きコード片1
2に修正することを望む。したがって、ユーザ20が、
どの更新が望まれるかについての情報を与える識別子が
添付されるコード修正要求16を、ソフトウェア・プロ
バイダ25へ、入出力ユニット6を介して入力ユニット
24に送信する。ここでは、識別子が、ユーザ20がソ
フトウェアSW1のバージョンV1.0からバージョン
V2.0への更新を必要とすることを示す。識別子は、
現在の機能セットを記述するバージョン番号にすること
ができ、いかなる文字列、または数値にすることもでき
る。
【0020】コード修正要求16が、ソフトウェア・プ
ロバイダ25の入力ユニット24において受信され、そ
の一式において、差分コード生成器10が2つのバージ
ョンV1.0およびV2.0を比較し、対応する差分コ
ードDV(SW1)を生成し、これは本明細書では第1
の差分コード4、すなわちDV12(SW1)である。
このコードの内容は、第1のバージョンV1.0を第2
のバージョンV2.0へ修正するための命令であり、ソ
フトウェア・コンポーネントBが除去され、署名Sig
11が除去されて署名Sig12で置き換えられること
を示す。よって、差分コード生成器は、内容における差
分、および2つの署名付きコンテナ・ファイル・ツー
ル、すなわち第1の署名付きコード片11および第2の
署名付きコード片12の署名を抽出するためのツールで
ある。更新された署名付きのコンテナに含まれたすべて
のエントリの厳密な順序が記録される。
【0021】よって、第1の差分コード4は、第1のコ
ード片11から開始して第2のコード片12に達するた
めに必要なすべてのステップを含む。これらのステップ
は、ユーザ側のソフトウェア・アーカイブ生成器7が、
第2の署名付きコード片12を生成するために必要であ
る精度と共に与えられ、これは、最後には、第2のコー
ド片12に属する署名Sig12が、ユーザ側で更新さ
れたコード片のための正しい署名であるという方法によ
る。差分ファイル4がユーザ20のためのバージョン命
令26を反映して、ユーザ20側で生成命令8のみが必
要とされるようにする、ということができる。
【0022】特定のコード片の署名Sig11、Sig
12、Sig13の検証が、コードの内部構造に依存す
る特定の結果を出し、これは典型的にはハッシュ技術が
署名に使用されるからである。署名Sig11、Sig
12、Sig13があるコード片について正しく識別さ
れ、検証されるために、よってこのコード片の内部構造
が、署名されたコード片の内部構造と等しくなければな
らない。これは、秘密/公開鍵暗号システムが、特別に
高い確率により、2つの異なるコード片についての結果
が異なることを保証するからである。これは、典型的に
使用される、固有の非対称に基づく暗号化方式のいずれ
にも当てはまり、暗号化されたファイルを生成するため
に使用される時間が、典型的には数桁分、暗号化された
ファイルから暗号化されていないファイルに達するため
に要するであろう時間よりもはるかに短い。後者の時間
は、実際の場合に人間の寿命を越え、よってこれが暗号
化の期間において安全として定義される。
【0023】よって、ユーザ側で第1のソフトウェア片
11を第2のソフトウェア片12に修正するための処理
が、結果の第2の署名付きコード片12が、元の第2の
署名付きコード片12がソフトウェア・プロバイダ側で
生成され署名されたときに有したものと厳密に同じ内部
構造を有することを保証する方法で行われることが、保
証されなければならない。第1の差分コード4が生成命
令8およびコンポーネント併合ユニット21と共にツー
ルボックスを形成し、これが、ユーザ側の生成処理がソ
フトウェア・プロバイダ側の生成処理と合致することを
保証する。この合致により、ユーザ側で生成されるとき
の第2の署名付きコード片12の内部構造が、ソフトウ
ェア・プロバイダ側で格納されるときの第2の署名付き
コード片12の内部構造と等しいことを保証する。
【0024】第1の差分コード4が入出力ユニット6で
受信された後、これが第2のソフトウェア・アーカイブ
生成器7へ転送される。ここで、第1のコード片11が
最初にそのソフトウェア・コンポーネント9に分離さ
れ、これらが次いで、生成命令8および第1の差分コー
ド4に含まれた命令に従って、コンポーネント併合ユニ
ット21によって併合される。この結果は、その署名S
ig12を有する第2の署名付きコード片12である。
よって、公開鍵15の使用下での暗号化検証ユニットに
よる後続の検証は、肯定的な検証結果19の結果になら
なければならない。
【0025】この方法では、第2のコード片12全体で
はなく、差分コード4のみを伝送すればよい。大きいコ
ード片の場合、第2のコード片12と差分コード4の間
のサイズにおける差は、たとえば電子伝送用の転送コス
トを考えると、非常に大きく莫大な影響となる可能性が
ある。インターネットのような電子ネットワークを介し
た小さいコード片の伝送は、大きいサイズのコード片の
伝送と比較して、要する時間がより少なく、より安価
で、割り込みおよびデータ損失の傾向が少ない。この伝
送は、電子ネットワークを介して行う必要はなく、印刷
された形式、プリンタおよびスキャナ、メールシステム
または手による搬送において、あるいは光ネットワーク
を介して、あるいは磁気的に格納されたデータとしてな
ど、いかなる人または機械可読形式において、いかなる
適切な媒体を介して行うこともできる。差分コード4
は、更新または差分ファイルとも呼ばれる。
【0026】第2のソフトウェア・アーカイブ生成器7
は、更新4を処理することができ、すなわち、新しい更
新4を、すでにユーザ20側にインストールされた既存
の第1の署名付きコード片11に併合する。この利点
は、更新4が、クライアント側の第2のソフトウェア・
アーカイブ生成器7によって、更新中のソフトウェア1
1に署名するときにサーバ側に存在するものと厳密に同
じコード・コンテナ構造を再作成するために厳守され
る、厳密な順序の内容を含むという事実にある。これに
より、署名および内容に関する限り、クライアント側
で、更新されたソフトウェア12をそのままで正しく再
作成することができる。
【0027】第2の実施形態 上記で説明した例を拡張して、ユーザ20が、第1の署
名付きコード片11から第3の署名付きコード片13に
達することを望むと仮定する。この更新では、原則とし
て2つのステップが必要であり、すなわち、第1の署名
付きコード片11から第2の署名付きコード片12に達
するための、第1の差分コード4を使用する第1の更
新、および、第2の署名付きコード片12から第3の署
名付きコード片13に達するための、第2の差分コード
5を使用する第2の更新である。このためのいくつかの
可能性が存在する。
【0028】a)差分コードが、厳密に、第1の署名付
きコード片11から第3の署名付きコード片13への移
行のために決定される。差分コード生成器10は、これ
らの2つの署名付きコード片11、13を比較すること
によって、これを行うことができる。
【0029】b)ユーザ20が2つの差分コード4、5
を受信し、一方の更新が、第2のソフトウェア・アーカ
イブ生成器7において他方の更新の後に実行される。し
かし、これはあまり的確でないと見なされ、ユーザ20
に負担を与え、ユーザが、より不体裁でおそらくより遅
い2つの更新に対処しなければならない。第1の更新に
おける動作は、後の更新がこれらを取り消すので冗長的
になっており、差分コード4、5がネットワークを介し
て伝送された場合に時間および帯域幅が無駄になる。こ
の状況は、全体のアップグレードを実行するために必要
な中間更新の数が増加するにつれて悪化する。
【0030】c)2つの差分コード4、5が全体の差分
コードに結合され、次いでこれがユーザ20に伝送され
る。
【0031】差分コード4、5は、ユーザ20の要求時
に決定される必要はないが、その前のいかなる時点で所
定にすることもでき、たとえばデータベースにも格納す
ることができる。コード修正要求への応答を、もちろ
ん、差分コード4、5が事前生成されて以前に格納され
たときよりも速くすることができる。しかし、非常に多
数のn個の異なるバージョンVx.xの場合、この方法
では、あらゆる可能な更新の組み合わせが事前生成され
て格納されている場合、非常に多数の更新差分コード
4、5、すなわち理論上はn*(n−1)/2個もの異
なる差分コード4、5となる。簡素化されたスキーム
は、差分コード4を可能な組み合わせの部分集合から事
前生成するのみとなる。一連の後続の更新の場合、この
集合は、各バージョンVx.0からその後続のバージョ
ンV(x+1).0までの差分コード4、5を含むこと
ができる。これにより、差分コード4、5の連鎖が事前
生成され、これがn−1個の異なる差分コード4、5の
みを含む。いくつかの更新のステップを包含する更新の
要求、すなわち差分コード4、5が到着する場合、対応
する差分コード4、5を、上記のc)で示したように結
合することができる。現実的な場合、このような更新要
求の確率は、典型的には、1つのバージョンからその後
続のバージョンへの更新要求の確率よりもはるかに低
い。
【0032】ユーザ20とソフトウェア・プロバイダ2
5の間の通信を、認証スキームを使用して行うことがで
きる。2つの関係者、すなわち、ユーザ20およびソフ
トウェア・プロバイダ25は、それにより、相手方が信
用できるかどうか、真の相手方であるように装っている
別の相手方ではないかどうかを決定することができる。
この認証処理が通信を容易にし、更新の後に検証で不正
な更新の試みを認識する結果となる状況を回避する。
【0033】認証スキームは、以下のように統合するこ
とができる。
【0034】ソフトウェア・プロバイダ側のサーバ25
が、クライアント認証を必要とするSSLプロトコルな
ど、認証プロトコルを動作中である。
【0035】サーバ25が、署名付きコード片11、1
2、13のリポジトリを維持し、これはソフトウェア・
ファイルとも呼ばれ、先にユーザ20、すなわち顧客に
渡されたすべての可能なバージョンを記述するバージョ
ン番号によって索引付けされる。サーバ25は、所与の
ソフトウェア・ファイルを別のソフトウェア・ファイ
ル、好ましくは最新のソフトウェア・バージョンに変換
するために必要な、すべてのデータおよびすべての署名
関連情報を含む署名付き差分ファイル4も、格納してお
くことができる。
【0036】クライアント側で、SSLクライアント・
コードなど、クライアント・コードを動作し、これを使
用して上記サーバ25への安全な接続を確立することが
できる。
【0037】クライアント側の認証ソフトウェアがさら
に、元のソフトウェア配布に含まれた暗号化証明書およ
び鍵を、たとえば、元のソフトウェア・ファイル・コー
ドを搬送する製品CDに付属している個別化されたディ
スク上に含み、これを使用して、ソフトウェア配布サー
バ25によりクライアント認証プロトコルを実行するこ
とができる。このように、クライアント20は、通信す
るサーバ25が本物のサーバ25であると確かめること
ができ、サーバ25には、通信するクライアント20に
ソフトウェア更新4の資格があることが分かる。
【0038】ソフトウェア更新4が、この安全な接続を
介してクライアント20へ伝送される。
【0039】クライアント20が、更新の内容を検査す
る。すなわち、詳細には、ソフトウェア更新4、5に含
まれたバージョン情報が、それが適切であるか、場合に
よってはクライアント20上に存在する現在のバージョ
ンに等しいかどうかについて検査される。
【0040】次いで、クライアント側のソフトウェアが
必要なすべてのデータを抽出し、これを、すでにクライ
アント20に存在する既存のソフトウェア11に結合す
る。詳細には、すべての署名付きコード・コンテナの内
容の順序が適切にリストアされ、署名が、サーバ側で最
初に作成されたそれらの機能性および正当性を達成する
ようにする。
【0041】最後のステップで、サーバ25から受信さ
れた更新ファイル4、5に含まれたすべての署名Sig
11、Sig12、Sig13が、適切なファイル、す
なわち、たとえばNetscape JARまたはMi
crosoft CABファイルなど、署名付きコード
・コンテナに適用される。
【0042】上で概説したこの手法を、継続された更新
を必要とし、たとえばMicrosoft CABまた
はNetscape JARなど、上述のファイル・フ
ォーマットの1つにより署名される、いかなる形式のデ
ータにも適用することができる。
【0043】上記で説明したシナリオを、非コネクショ
ン型シナリオで増すか、あるいは置き換えることがで
き、この場合は差分ファイル自体が暗号化により保護さ
れる。これは、ソフトウェア配布サーバ25へのオンラ
イン接続が確立できないか、あるいはそれが望ましくな
い場合、意味をなす。この場合、サーバ側のソフトウェ
ア配布機能が、暗号化署名Sig11、Sig12、S
ig13を差分ファイル4、5に適用し、これがクライ
アント側の更新ソフトウェアによって、上で概説したオ
ンラインSSL接続確立におけるセキュア・セッション
確立に相当する方法において検査される。この手法に適
切なファイル・フォーマットは、内部で処理することが
できるものと同じフォーマットであり、すなわち、たと
えば、Netscape/SunのJARまたはMic
rosoft CABである。
【0044】認証がなくとも、署名Sig11、Sig
12、Sig13が、ある程度のセキュリティを提供
し、これは更新処理によって損なわれない。検証はすな
わち、いかなる理由であれ、更新された第2のコード片
12の一部である署名Sig11、Sig12、Sig
13が正しくなかった場合、すなわち、公開鍵15を使
用することによって計算される、予想された署名Sig
11、Sig12、Sig13と合致しなかった場合、
否定的な結果を出す。このような場合、合致しなかった
署名Sig11、Sig12、Sig13が、何かがう
まく行かなかったこと、および、更新が信用されないこ
とを信号で通知する。よって、ユーザ20が、更新され
た第2のコード片12を使用しないように決定すること
ができ、これは、ある無許可の修正がセキュリティ上の
問題を導入した可能性があり、これがユーザ20を害す
る可能性があるからである。ユーザ20が第1の署名付
きコード片11のバックアップ・コピーを保持していた
場合、更新されたバージョン12を削除することがで
き、なお最初の第1の署名付きコード片11を使用する
ことができる。
【0045】説明した実施形態は、部分的に、ならびに
全部を組み合わせることができる。理解のために、更新
に言及するとき、本発明はソフトウェアの更新に制限さ
れるものではなく、第1の署名付きコード片11から第
2、第3のコード片12、13などへのステップを実行
するように適用することができるが、第1の署名付きコ
ード片11のために作成された署名の利点および正当性
を維持することに留意されたい。ソフトウェア・アーカ
イブ生成器2、7として、いかなるコード片のそれぞれ
のそのハードウェア・バージョンは、それが、それらを
単一のソフトウェア製品またはコンピュータ・プログラ
ムとして単一化するために、詳細には、それを顧客また
は他のエンティティに送達するために、ソフトウェア・
コンポーネントを一緒にまとめる機能を実行することを
意味する。
【0046】本発明を、ハードウェア、ソフトウェア、
またはこれらの組み合わせにおいて実現できることは、
当業者には明らかである。これは、集中方式においてあ
る単一のコンピュータ・システム上で、あるいは、分散
方式において実施することもでき、この場合は、異なる
要素がいくつかの相互接続されたコンピュータまたはコ
ンピュータ・システムに渡って広がっており、それによ
り、いかなる種類のコンピュータ・システムも、あるい
は本明細書で説明した方法を実行するように適合された
他の装置が適する。典型的なハードウェアおよびソフト
ウェアの組み合わせを、ロードかつ実行中に、本明細書
で説明した方法を実行するようにコンピュータ・システ
ムを制御する、コンピュータ・プログラムを有する汎用
コンピュータ・システムにすることができる。本発明を
コンピュータ・プログラム製品に埋め込むこともでき、
これは、本明細書で説明した方法の実施を可能にするす
べての機能を含み、コンピュータ・システムにロードさ
れたときにこれらの方法を実行することができる。
【0047】この文脈におけるコンピュータ・プログラ
ム手段またはコンピュータ・プログラムは、情報処理機
能を有するシステムに、特定の機能を、直接あるいは以
下のa)別の言語、コードまたは表記法への変換、b)
異なる材料形式における複製のいずれかあるいは両方の
後に実行させるように意図された命令セットの、いかな
る言語、コードまたは表記法における、いかなる表現を
も意味する。
【0048】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0049】(1)ソフトウェア取得エンティティ(2
0)が既存の第1の署名付きコード片(11)から第2
の署名付きコード片(12、13)に達することができ
るようにする、ソフトウェア・プロバイダ(25)のた
めの方法であって、両方のコード片(11、12、1
3)は、第1のソフトウェア・アーカイブ生成器(2)
を使用することによって、生成命令(8)の使用下で生
成されており、前記第1の署名付きコード片(11)か
ら前記第2の署名付きコード片(12、13)に達する
ために必要なステップを含む差分コード(4、5)を前
記ソフトウェア取得エンティティ(20)に提供するス
テップを含み、この差分コード(4、5)は、前記ソフ
トウェア取得エンティティ(20)側で、第2のソフト
ウェア・アーカイブ生成器(7)によって前記第1の署
名付きコード片(11)と結合されて前記第2の署名付
きコード片(12、13)を生成するように使用可能で
あり、それにより、前記第1のソフトウェア・アーカイ
ブ生成器(2)によって両方のコード片(11、12、
13)の前記生成のために使用されたそれらの生成命令
(8)が前記第2のソフトウェア・アーカイブ生成器
(7)に供給される方法。 (2)前記生成命令(8)が、前記ソフトウェア・プロ
バイダ(25)によって、好ましくは前記第2のソフト
ウェア・アーカイブ生成器(7)と共に前記ソフトウェ
ア取得エンティティ(20)に提供される、上記(1)
に記載の方法。 (3)前記コード片(11、12、13)が、秘密鍵
(14)を使用して署名される、上記(1)または
(2)に記載の方法。 (4)前記署名付きコード片(11、12、13)が、
前記ソフトウェア・プロバイダ(25)側の記憶装置
(1)に格納される、上記(1)ないし(3)のいずれ
か一項に記載の方法。 (5)前記差分コード(4、5)が、好ましくは前記第
1のソフトウェア・アーカイブ生成器(2)によって作
成され、前記第1のソフトウェア・アーカイブ生成器
(2)が前記第2の署名付きコード片(12、13)を
生成する、上記(1)ないし(4)のいずれか一項に記
載の方法。 (6)3つ以上のコード片(11、12、13)が格納
される場合、前記差分コード(4、5)が前記コード片
(11、12、13)の部分集合の間でのみ生成され
る、上記(1)ないし(5)のいずれか一項に記載の方
法。 (7)前記第1のコード片(11)から前記第2のコー
ド片(13)に達するために、いくつかの差分コード
(4、5)が必要とされ、これらの差分コード(4、
5)が単一の差分コードに併合されて前記ソフトウェア
取得エンティティ(20)に提供される、上記(6)に
記載の方法。 (8)前記第1および第2のコード片(11、12、1
3)が、前記ソフトウェア・プロバイダ(25)側で、
前記ソフトウェア取得エンティティ(20)から受信さ
れた要求(16)から対応する識別子を導出することに
よって識別される、上記(1)ないし(7)のいずれか
一項に記載の方法。 (9)既存の第1の署名付きコード片(11)から第2
の署名付きコード片(12、13)に達するソフトウェ
ア取得エンティティ(20)のための方法であって、両
方のコード片(11、12、13)は、ソフトウェア・
プロバイダ(25)側で、第1のソフトウェア・アーカ
イブ生成器(2)を使用することによって、生成命令
(8)の使用下で生成されており、前記第1の署名付き
コード片(11)から前記第2の署名付きコード片(1
2、13)に達するために必要なステップを含む差分コ
ード(4、5)の送達のために、コード修正要求(1
6)を前記ソフトウェア・プロバイダ(25)に送信す
るステップと、前記差分コード(4、5)を受信するス
テップと、第2のソフトウェア・アーカイブ生成器
(7)を使用することによって前記差分コード(4、
5)を前記第1の署名付きコード片(11)と結合し、
それにより前記第2の署名付きコード片(12、13)
を生成するステップとを含み、それにより、前記第1の
ソフトウェア・アーカイブ生成器(2)によって両方の
コード片(11、12、13)の前記生成のために使用
されたそれらの生成命令(8)が前記第2のソフトウェ
ア・アーカイブ生成器(7)に供給される方法。 (10)前記生成命令(8)が前記ソフトウェア・プロ
バイダ(25)から、好ましくは前記第2のソフトウェ
ア・アーカイブ生成器(7)と共に受信される、上記
(9)に記載の方法。 (11)前記コード片(11、12、13)が、秘密鍵
(14)を使用することによって署名され、署名(Si
g11、Sig12、Sig13)が、対応する公開鍵
(15)を使用することによって検証可能である、上記
(9)または(10)に記載の方法。 (12)前記第1および第2のコード片(11、12、
13)が、前記コード修正要求(16)において対応す
る識別子を与えることによって前記ソフトウェア取得エ
ンティティ(20)によって識別される、上記(9)な
いし(11)のいずれか一項に記載の方法。 (13)上記(1)ないし(12)のいずれか一項に記
載の方法を実行するためのプログラム・コード手段を含
む、コンピュータ・プログラム製品。 (14)コンピュータ可読媒体上に格納された前記プロ
グラム・コード手段を含む、上記(13)に記載のコン
ピュータ・プログラム製品。 (15)ソフトウェア取得エンティティ(20)が、既
存の第1の署名付きコード片(11)から第2の署名付
きコード片(12、13)に達することができるように
するコード修正イネーブラであって、両方のコード片
(11、12、13)は、第1のソフトウェア・アーカ
イブ生成器(2)を使用することによって、生成命令
(8)の使用下で生成されており、前記第1の署名付き
コード片(11)から前記第2の署名付きコード片(1
2、13)に達するために必要なステップを含む差分コ
ード(4、5)を生成するための差分コード生成器(1
0)を含み、この差分コード(4、5)は、前記ソフト
ウェア取得エンティティ(20)側で、第2のソフトウ
ェア・アーカイブ生成器(7)によって前記第1の署名
付きコード片(11)と結合されて前記第2の署名付き
コード片(12、13)を生成するように使用可能であ
り、それにより、前記生成命令(8)が前記第2のソフ
トウェア・アーカイブ生成器(7)に供給され、さら
に、前記ソフトウェア取得エンティティ(20)に前記
差分コード(4、5)を提供するための出力ユニット
(3)を含む、コード修正イネーブラ。 (16)前記差分コード(4、5)の送達のためのコー
ド修正要求(16)を前記ソフトウェア取得エンティテ
ィ(20)から受信するための入力ユニット(24)を
さらに含む、上記(15)に記載のコード修正イネーブ
ラ。 (17)前記コード片(11、12、13)を生成命令
(8)の使用下で生成するための第1のソフトウェア・
アーカイブ生成器(2)をさらに含む、上記(15)ま
たは(16)に記載のコード修正イネーブラ。 (18)既存の第1の署名付きコード片(11)から第
2の署名付きコード片(12、13)に達するためのコ
ード修正デバイスであって、両方のコード片(11、1
2、13)は、ソフトウェア・プロバイダ(25)側
で、第1のソフトウェア・アーカイブ生成器(2)を使
用することによって、生成命令(8)の使用下で生成さ
れており、受信された差分コード(4、5)を前記第1
の署名付きコード片(11)と結合し、それにより前記
第2の署名付きコード片(12、13)を生成するため
の第2のソフトウェア・アーカイブ生成器(7)を含
み、それにより、前記第1のソフトウェア・アーカイブ
生成器(2)によって両方のコード片(11、12、1
3)の前記生成のために使用されたそれらの生成命令
(8)が前記第2のソフトウェア・アーカイブ生成器
(7)に供給される、コード修正デバイス。 (19)コード修正要求(16)を前記ソフトウェア・
プロバイダ(25)に送信し、前記差分コード(4、
5)を受信するための入出力ユニット(6)をさらに含
む、上記(18)に記載のコード修正デバイス。
【図面の簡単な説明】
【図1】ユーザとソフトウェア・プロバイダの間のコー
ドの交換において関係するステップおよびユニットの概
略図である。
【符号の説明】
1 記憶装置 2 第1のソフトウェア・アーカイブ生成器 3 出力ユニット 4 差分コード 5 差分コード 7 第2のソフトウェア・アーカイブ生成器 8 生成命令 10 差分コード生成器 11 第1の署名付きコード片 12 第2の署名付きコード片 13 第2の署名付きコード片 14 秘密鍵 15 公開鍵 16 コード修正要求 20 ソフトウェア取得エンティティ 24 入力ユニット 25 ソフトウェア・プロバイダ Sig11 署名 Sig12 署名 Sig13 署名
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 13/00 530 G09C 1/00 640B 15/00 330 G06F 9/06 660G G09C 1/00 640 640A (72)発明者 ミヒャエル・ベンチェ スイス シー・エイチ8135 ラングナウ アムアルビス シルワルト・ストラーセ 4 (72)発明者 ペーター・ブラー スイス シー・エイチ8803 リュシュリコ ン ミュエレストラーセ 39 (72)発明者 トーマス・エイリッヒ スイス シー・エイチ8804 アウ ゾップ フストラーセ 16 (72)発明者 フランク・ヘリング スイス シー・エイチ8006 チューリッヒ クルマンストラーセ 39 (72)発明者 トーマス・ヴァイゴルト スイス シー・エイチ8134 アドリスヴィ ル ブッテナウストラーセ 20 Fターム(参考) 5B017 AA03 BA07 CA15 5B076 AB10 BB06 FA00 5B082 GA04 GA11 5B085 AE13 BG07 5J104 AA09 LA03 NA02

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】ソフトウェア取得エンティティ(20)が
    既存の第1の署名付きコード片(11)から第2の署名
    付きコード片(12、13)に達することができるよう
    にする、ソフトウェア・プロバイダ(25)のための方
    法であって、両方のコード片(11、12、13)は、
    第1のソフトウェア・アーカイブ生成器(2)を使用す
    ることによって、生成命令(8)の使用下で生成されて
    おり、前記第1の署名付きコード片(11)から前記第
    2の署名付きコード片(12、13)に達するために必
    要なステップを含む差分コード(4、5)を前記ソフト
    ウェア取得エンティティ(20)に提供するステップを
    含み、この差分コード(4、5)は、前記ソフトウェア
    取得エンティティ(20)側で、第2のソフトウェア・
    アーカイブ生成器(7)によって前記第1の署名付きコ
    ード片(11)と結合されて前記第2の署名付きコード
    片(12、13)を生成するように使用可能であり、そ
    れにより、前記第1のソフトウェア・アーカイブ生成器
    (2)によって両方のコード片(11、12、13)の
    前記生成のために使用されたそれらの生成命令(8)が
    前記第2のソフトウェア・アーカイブ生成器(7)に供
    給される方法。
  2. 【請求項2】前記生成命令(8)が、前記ソフトウェア
    ・プロバイダ(25)によって、好ましくは前記第2の
    ソフトウェア・アーカイブ生成器(7)と共に前記ソフ
    トウェア取得エンティティ(20)に提供される、請求
    項1に記載の方法。
  3. 【請求項3】前記コード片(11、12、13)が、秘
    密鍵(14)を使用して署名される、請求項1または2
    に記載の方法。
  4. 【請求項4】前記署名付きコード片(11、12、1
    3)が、前記ソフトウェア・プロバイダ(25)側の記
    憶装置(1)に格納される、請求項1ないし3のいずれ
    か一項に記載の方法。
  5. 【請求項5】前記差分コード(4、5)が、好ましくは
    前記第1のソフトウェア・アーカイブ生成器(2)によ
    って作成され、前記第1のソフトウェア・アーカイブ生
    成器(2)が前記第2の署名付きコード片(12、1
    3)を生成する、請求項1ないし4のいずれか一項に記
    載の方法。
  6. 【請求項6】3つ以上のコード片(11、12、13)
    が格納される場合、前記差分コード(4、5)が前記コ
    ード片(11、12、13)の部分集合の間でのみ生成
    される、請求項1ないし5のいずれか一項に記載の方
    法。
  7. 【請求項7】前記第1のコード片(11)から前記第2
    のコード片(13)に達するために、いくつかの差分コ
    ード(4、5)が必要とされ、これらの差分コード
    (4、5)が単一の差分コードに併合されて前記ソフト
    ウェア取得エンティティ(20)に提供される、請求項
    6に記載の方法。
  8. 【請求項8】前記第1および第2のコード片(11、1
    2、13)が、前記ソフトウェア・プロバイダ(25)
    側で、前記ソフトウェア取得エンティティ(20)から
    受信された要求(16)から対応する識別子を導出する
    ことによって識別される、請求項1ないし7のいずれか
    一項に記載の方法。
  9. 【請求項9】既存の第1の署名付きコード片(11)か
    ら第2の署名付きコード片(12、13)に達するソフ
    トウェア取得エンティティ(20)のための方法であっ
    て、両方のコード片(11、12、13)は、ソフトウ
    ェア・プロバイダ(25)側で、第1のソフトウェア・
    アーカイブ生成器(2)を使用することによって、生成
    命令(8)の使用下で生成されており、 前記第1の署名付きコード片(11)から前記第2の署
    名付きコード片(12、13)に達するために必要なス
    テップを含む差分コード(4、5)の送達のために、コ
    ード修正要求(16)を前記ソフトウェア・プロバイダ
    (25)に送信するステップと、 前記差分コード(4、5)を受信するステップと、 第2のソフトウェア・アーカイブ生成器(7)を使用す
    ることによって前記差分コード(4、5)を前記第1の
    署名付きコード片(11)と結合し、それにより前記第
    2の署名付きコード片(12、13)を生成するステッ
    プとを含み、それにより、前記第1のソフトウェア・ア
    ーカイブ生成器(2)によって両方のコード片(11、
    12、13)の前記生成のために使用されたそれらの生
    成命令(8)が前記第2のソフトウェア・アーカイブ生
    成器(7)に供給される方法。
  10. 【請求項10】前記生成命令(8)が前記ソフトウェア
    ・プロバイダ(25)から、好ましくは前記第2のソフ
    トウェア・アーカイブ生成器(7)と共に受信される、
    請求項9に記載の方法。
  11. 【請求項11】前記コード片(11、12、13)が、
    秘密鍵(14)を使用することによって署名され、署名
    (Sig11、Sig12、Sig13)が、対応する
    公開鍵(15)を使用することによって検証可能であ
    る、請求項9または10に記載の方法。
  12. 【請求項12】前記第1および第2のコード片(11、
    12、13)が、前記コード修正要求(16)において
    対応する識別子を与えることによって前記ソフトウェア
    取得エンティティ(20)によって識別される、請求項
    9ないし11のいずれか一項に記載の方法。
  13. 【請求項13】請求項1ないし12のいずれか一項に記
    載の方法を実行するためのプログラム・コード手段を含
    む、コンピュータ・プログラム製品。
  14. 【請求項14】コンピュータ可読媒体上に格納された前
    記プログラム・コード手段を含む、請求項13に記載の
    コンピュータ・プログラム製品。
  15. 【請求項15】ソフトウェア取得エンティティ(20)
    が、既存の第1の署名付きコード片(11)から第2の
    署名付きコード片(12、13)に達することができる
    ようにするコード修正イネーブラであって、両方のコー
    ド片(11、12、13)は、第1のソフトウェア・ア
    ーカイブ生成器(2)を使用することによって、生成命
    令(8)の使用下で生成されており、 前記第1の署名付きコード片(11)から前記第2の署
    名付きコード片(12、13)に達するために必要なス
    テップを含む差分コード(4、5)を生成するための差
    分コード生成器(10)を含み、この差分コード(4、
    5)は、前記ソフトウェア取得エンティティ(20)側
    で、第2のソフトウェア・アーカイブ生成器(7)によ
    って前記第1の署名付きコード片(11)と結合されて
    前記第2の署名付きコード片(12、13)を生成する
    ように使用可能であり、それにより、前記生成命令
    (8)が前記第2のソフトウェア・アーカイブ生成器
    (7)に供給され、さらに、 前記ソフトウェア取得エンティティ(20)に前記差分
    コード(4、5)を提供するための出力ユニット(3)
    を含む、コード修正イネーブラ。
  16. 【請求項16】前記差分コード(4、5)の送達のため
    のコード修正要求(16)を前記ソフトウェア取得エン
    ティティ(20)から受信するための入力ユニット(2
    4)をさらに含む、請求項15に記載のコード修正イネ
    ーブラ。
  17. 【請求項17】前記コード片(11、12、13)を生
    成命令(8)の使用下で生成するための第1のソフトウ
    ェア・アーカイブ生成器(2)をさらに含む、請求項1
    5または16に記載のコード修正イネーブラ。
  18. 【請求項18】既存の第1の署名付きコード片(11)
    から第2の署名付きコード片(12、13)に達するた
    めのコード修正デバイスであって、両方のコード片(1
    1、12、13)は、ソフトウェア・プロバイダ(2
    5)側で、第1のソフトウェア・アーカイブ生成器
    (2)を使用することによって、生成命令(8)の使用
    下で生成されており、 受信された差分コード(4、5)を前記第1の署名付き
    コード片(11)と結合し、それにより前記第2の署名
    付きコード片(12、13)を生成するための第2のソ
    フトウェア・アーカイブ生成器(7)を含み、それによ
    り、前記第1のソフトウェア・アーカイブ生成器(2)
    によって両方のコード片(11、12、13)の前記生
    成のために使用されたそれらの生成命令(8)が前記第
    2のソフトウェア・アーカイブ生成器(7)に供給され
    る、コード修正デバイス。
  19. 【請求項19】コード修正要求(16)を前記ソフトウ
    ェア・プロバイダ(25)に送信し、前記差分コード
    (4、5)を受信するための入出力ユニット(6)をさ
    らに含む、請求項18に記載のコード修正デバイス。
JP2001195753A 2000-06-30 2001-06-28 コードを更新するためのデバイスおよび方法 Pending JP2002116838A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00113857 2000-06-30
EP00113857.7 2000-06-30

Publications (1)

Publication Number Publication Date
JP2002116838A true JP2002116838A (ja) 2002-04-19

Family

ID=8169111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001195753A Pending JP2002116838A (ja) 2000-06-30 2001-06-28 コードを更新するためのデバイスおよび方法

Country Status (3)

Country Link
US (2) US7412480B2 (ja)
JP (1) JP2002116838A (ja)
KR (1) KR100455566B1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280284A (ja) * 2003-03-13 2004-10-07 Sony Corp 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
JP2005044360A (ja) * 2003-07-21 2005-02-17 Microsoft Corp データのパッケージ内デルタ圧縮(intra−packetdeltacompression)のためのシステムおよび方法
JP2006139754A (ja) * 2004-08-27 2006-06-01 Dell Products Lp 情報処理システム用の秘密保護電子転送シール
JP2011053907A (ja) * 2009-09-01 2011-03-17 Fujitsu Fip Corp ラッピングファイル更新システム及びラッピングファイル更新方法
WO2011089864A1 (ja) * 2010-01-21 2011-07-28 日本電気株式会社 ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
US8418253B2 (en) 2002-05-20 2013-04-09 Ntt Docomo, Inc. Application data usage management system for an electronic device
JP2013239989A (ja) * 2012-05-17 2013-11-28 Sony Computer Entertainment Inc 情報処理装置、データ生成方法、情報処理方法、および情報処理システム
JP6260068B1 (ja) * 2016-09-30 2018-01-17 Kddi株式会社 保守装置、保守方法、及びコンピュータプログラム
JP2022506633A (ja) * 2018-11-09 2022-01-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 無線アップグレード方法および関連装置

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455566B1 (ko) * 2000-06-30 2004-11-09 인터내셔널 비지네스 머신즈 코포레이션 코드 갱신을 위한 장치 및 방법
US7131122B1 (en) * 2000-08-24 2006-10-31 International Business Machines Corporation Apparatus, system and method for detecting old version of an applet in a client brower's JVM
JP2003067208A (ja) * 2001-08-23 2003-03-07 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US7600021B2 (en) * 2002-04-03 2009-10-06 Microsoft Corporation Delta replication of source files and packages across networked resources
US7240200B2 (en) * 2002-09-26 2007-07-03 International Business Machines Corporation System and method for guaranteeing software integrity via combined hardware and software authentication
CA2516580C (en) * 2003-02-21 2011-01-25 Research In Motion Limited System and method of multiple-level control of electronic devices
JP2004302543A (ja) * 2003-03-28 2004-10-28 Ntt Docomo Inc 受信装置およびプログラム
FR2853741B1 (fr) * 2003-04-14 2005-09-09 Gemplus Card Int Procede de gestion d'un code executable telecharge dans un systeme embarque reprogrammable
US7945785B2 (en) * 2003-06-02 2011-05-17 Seiko Epson Corporation Security of data over a network
US7676506B2 (en) * 2003-06-20 2010-03-09 Innopath Software, Inc. Differential file compression of software image versions
US7873602B2 (en) * 2003-09-03 2011-01-18 International Business Machines Corporation Apparatus and method for maintaining databases on application servers
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
US7831838B2 (en) * 2004-03-05 2010-11-09 Microsoft Corporation Portion-level in-memory module authentication
US7853609B2 (en) * 2004-03-12 2010-12-14 Microsoft Corporation Update distribution system architecture and method for distributing software
US7676448B2 (en) 2004-03-12 2010-03-09 Microsoft Corporation Controlling installation update behaviors on a client computer
US7644287B2 (en) * 2004-07-29 2010-01-05 Microsoft Corporation Portion-level in-memory module authentication
US8627086B2 (en) * 2004-10-11 2014-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Secure loading and storing of data in a data processing device
KR20070074617A (ko) * 2004-10-11 2007-07-12 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) 데이터 로드 방법, 데이터 처리 장치, 데이터 항목의무결성 보호 방법 및 데이터 항목의 무결성 검증 방법
EP1645931A1 (en) * 2004-10-11 2006-04-12 Telefonaktiebolaget LM Ericsson (publ) Secure loading and storing of data in a data processing device
US7814328B1 (en) 2005-09-12 2010-10-12 Microsoft Corporation Digital signatures for embedded code
US8060747B1 (en) * 2005-09-12 2011-11-15 Microsoft Corporation Digital signatures for embedded code
US8190902B2 (en) * 2006-02-27 2012-05-29 Microsoft Corporation Techniques for digital signature formation and verification
US8205087B2 (en) * 2006-02-27 2012-06-19 Microsoft Corporation Tool for digitally signing multiple documents
US20130047145A1 (en) * 2006-08-29 2013-02-21 Quan-Jie Cui Match analysis for encoding optimized update packages
CN102982274B (zh) * 2007-06-20 2015-12-02 华为技术有限公司 智能终端系统的管理方法和智能终端
CA2710346A1 (en) * 2007-12-20 2009-07-02 Hsbc Technologies Inc. Automated methods and systems for developing and deploying projects in parallel
US8584102B2 (en) * 2007-12-27 2013-11-12 Microsoft Corporation Creating and using deltas to modify existing computer code
US8924947B2 (en) * 2008-03-05 2014-12-30 Sap Se Direct deployment of static content
US10459711B2 (en) * 2008-08-12 2019-10-29 Adobe Inc. Updating applications using migration signatures
JP2010198155A (ja) * 2009-02-24 2010-09-09 Fujitsu Ten Ltd プログラム更新装置、プログラム更新方法、及び情報処理装置
US9176898B2 (en) 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US8397230B2 (en) * 2009-11-09 2013-03-12 Bank Of America Corporation Software updates using delta patching
US9128799B2 (en) 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US9015837B1 (en) * 2011-09-29 2015-04-21 Google Inc. Systems and methods for verifying an update to data of an electronic device
CN108475303A (zh) * 2015-12-31 2018-08-31 计算机2.0(2015)有限公司 应用递增多项式代码增强抵抗反向工程的计算机实现方法
CN105912926A (zh) * 2016-04-28 2016-08-31 北京小米移动软件有限公司 合法安装包获取方法、装置及系统
JP7008661B2 (ja) * 2019-05-31 2022-01-25 本田技研工業株式会社 認証システム
US11922278B1 (en) * 2020-02-26 2024-03-05 American Express Travel Related Services Company, Inc. Distributed ledger based feature set tracking
WO2022093178A1 (en) * 2020-10-26 2022-05-05 Hewlett-Packard Development Company, L.P. Ci/cd pipeline code recommendations
WO2022093172A1 (en) * 2020-10-26 2022-05-05 Hewlett-Packard Development Company, L.P. Ci/cd pipeline code file duplication notifications

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
CA2152329C (en) * 1994-09-08 1999-02-09 N Dudley Fulton Iii Apparatus and methods for software rejuvenation
KR100286008B1 (ko) * 1995-12-30 2001-04-16 윤종용 소프트웨어 프로그램 자동 갱신방법
JP2907129B2 (ja) * 1996-06-14 1999-06-21 日本電気株式会社 パッチ作成システム
US6026226A (en) * 1996-10-28 2000-02-15 Altera Corporation Local compilation in context within a design hierarchy
US6381741B1 (en) * 1998-05-18 2002-04-30 Liberate Technologies Secure data downloading, recovery and upgrading
US20010050990A1 (en) * 1997-02-19 2001-12-13 Frank Wells Sudia Method for initiating a stream-oriented encrypted communication
AU8047998A (en) 1997-06-06 1998-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Delta file software loading in cellular telecommunications systems
JP3204206B2 (ja) * 1998-03-13 2001-09-04 日本電気株式会社 部分抽出型リモートメンテナンス方式
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6230316B1 (en) * 1998-04-17 2001-05-08 Symantec Corporation Patching rebased and realigned executable files
US6167407A (en) 1998-06-03 2000-12-26 Symantec Corporation Backtracked incremental updating
US20020038308A1 (en) * 1999-05-27 2002-03-28 Michael Cappi System and method for creating a virtual data warehouse
DE60003457T2 (de) * 1999-12-08 2004-05-06 Sun Microsystems, Inc., Santa Clara Verfahren und system zur konfiguration von komponenten, ausgebbar in einem netzwerk
US6535894B1 (en) * 2000-06-01 2003-03-18 Sun Microsystems, Inc. Apparatus and method for incremental updating of archive files
KR100455566B1 (ko) * 2000-06-30 2004-11-09 인터내셔널 비지네스 머신즈 코포레이션 코드 갱신을 위한 장치 및 방법

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8418253B2 (en) 2002-05-20 2013-04-09 Ntt Docomo, Inc. Application data usage management system for an electronic device
JP4501349B2 (ja) * 2003-03-13 2010-07-14 ソニー株式会社 システムモジュール実行装置
JP2004280284A (ja) * 2003-03-13 2004-10-07 Sony Corp 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
JP2005044360A (ja) * 2003-07-21 2005-02-17 Microsoft Corp データのパッケージ内デルタ圧縮(intra−packetdeltacompression)のためのシステムおよび方法
JP2006139754A (ja) * 2004-08-27 2006-06-01 Dell Products Lp 情報処理システム用の秘密保護電子転送シール
JP2011053907A (ja) * 2009-09-01 2011-03-17 Fujitsu Fip Corp ラッピングファイル更新システム及びラッピングファイル更新方法
WO2011089864A1 (ja) * 2010-01-21 2011-07-28 日本電気株式会社 ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
JPWO2011089864A1 (ja) * 2010-01-21 2013-05-23 日本電気株式会社 ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
JP5644777B2 (ja) * 2010-01-21 2014-12-24 日本電気株式会社 ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
JP2013239989A (ja) * 2012-05-17 2013-11-28 Sony Computer Entertainment Inc 情報処理装置、データ生成方法、情報処理方法、および情報処理システム
JP6260068B1 (ja) * 2016-09-30 2018-01-17 Kddi株式会社 保守装置、保守方法、及びコンピュータプログラム
JP2018055566A (ja) * 2016-09-30 2018-04-05 Kddi株式会社 保守装置、保守方法、及びコンピュータプログラム
JP2022506633A (ja) * 2018-11-09 2022-01-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 無線アップグレード方法および関連装置
US11947673B2 (en) 2018-11-09 2024-04-02 Huawei Technologies Co., Ltd. Over-the-air upgrade method and related apparatus

Also Published As

Publication number Publication date
US20100017459A1 (en) 2010-01-21
KR100455566B1 (ko) 2004-11-09
US7970821B2 (en) 2011-06-28
US20020002703A1 (en) 2002-01-03
KR20020004828A (ko) 2002-01-16
US7412480B2 (en) 2008-08-12

Similar Documents

Publication Publication Date Title
JP2002116838A (ja) コードを更新するためのデバイスおよび方法
US6996817B2 (en) Method and system for upgrading and rolling back versions
US9881160B2 (en) Methods for firmware signature
AU2008252037B2 (en) Secure digital signature system
US7373406B2 (en) Method and system for effectively communicating file properties and directory structures in a distributed file system
KR100268095B1 (ko) 데이터통신시스템
US7809943B2 (en) Method and system for establishing trust in a peer-to-peer network
EP3687107B1 (en) Information assurance (ia) using an integrity and identity resilient blockchain
US6633978B1 (en) Method and apparatus for restoring computer resources
US6895501B1 (en) Method and apparatus for distributing, interpreting, and storing heterogeneous certificates in a homogenous public key infrastructure
CN101567893A (zh) 一种实现在web应用中文件上传的方法及系统
CN113900772A (zh) 一种镜像文件传输方法、装置、设备及存储介质
EP1168165A2 (en) Device and method for updating code
WO2018203045A1 (en) Continuous hash verification
CN113221074B (zh) 一种离线授权方法
US11552804B1 (en) Code sign white listing (CSWL)
US11765155B1 (en) Robust and secure updates of certificate pinning software
CN115345760B (zh) 基于区块链的多方签约方法和装置、电子设备和存储介质
CN112653767B (zh) 数字身份管理方法、装置、电子设备和可读存储介质
Kappler Encryption Facility for z/OS V1. 2 Open PGP Support

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050117

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050419

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050713