(57)【要約】  ソフトウェアのようなデータを移動端末にロードする方法が開示され、ここでデータはロード局からロードされ、データはペイロードデータとヘッダデータとを含む。移動端末はヘッダデータを基にした検証過程で条件付けられてデータを受入れる。データを受信する段階は、移動端末によりロード局からヘッダデータを含むヘッダ・メッセージを受信し、移動端末により受信したヘッダデータを検証し、ヘッダデータを成功裏に検証した場合に、ペイロードデータを含む少なくとも第１のペイロード・メッセージを受信する段階をさらに含む。
2005515534.tif 000002
【特許請求の範囲】
【請求項１】
データを移動端末（１０５）にロードする方法において、
−ロード局（１０１）から移動端末によりデータを受信する段階であって、データはペイロードデータ（３０２）とヘッダデータ（３０１）を含む前記受信段階と、
−ヘッダデータを基にした検証過程で条件付けられて移動端末によりデータを受入れる段階と、
を含み、データの受信段階は、
−移動端末によりロード局からヘッダデータを含むヘッダメッセージを受信する段階（５０３、８０２）と、
−移動端末により受信したヘッダデータを検証する段階（５０４、８０２）と、
−ヘッダデータを成功裏に検証した場合に、ペイロードデータを含む少なくとも第１ペイロードメッセージを受信する段階（５０８、８０８）と、
を含むデータを移動端末にロードする方法。
【請求項２】
請求項１記載の方法において、ヘッダデータは第１暗号データ項目（３０３ａ、３０１ｂ、３０１ｄ、３０１ｅ）を含み、移動端末によりデータを受入れる段階は、第１暗号データ項目を基に暗号検証過程を実行する段階を含む、方法。
【請求項３】
請求項１または２記載の方法において、ペイロードデータはペイロードデータの多数のブロック（Ｐ１、…、ＰＮ）に分割され、ペイロードデータを受信する段階は、各々がペイロードデータのブロックの１つを含む多数のペイロード・メッセージを受信する段階と、ペイロードデータの受信した多数のブロックの各々を記憶媒体に記憶する段階と、を含む方法。
【請求項４】
請求項２記載の方法において、ペイロードデータはペイロードデータの多数のブロック（Ｐ１、…、ＰＮ）に分割され、ペイロードデータの多数のブロックの各々と関係する対応する数のメッセージ・ダイジェスト（７０３）を受信する段階（８２１）をさらに含み、ペイロードデータを受信する段階は、各々がペイロードデータの多数のブロックの１つを含む多数のペイロード・メッセージを受信する段階をさらに含み、移動端末によりデータを受入れる段階は、ペイロードデータの多数のブロックの各々に対して、
−メッセージ・ダイジェストの対応するものを基にした暗号検証過程で条件付けられて移動端末によるペイロードデータのブロックを受信する段階と、
−ペイロードデータの受入れブロックを処理する段階と、
−ペイロードデータの処理ブロックを記憶媒体に記憶する段階と、
をさらに含む方法。
【請求項５】
請求項４記載の方法において、ペイロードデータの第２ブロックの後で受信したペイロードデータの第１ブロックを受入れる段階で使用される暗号検証段階は、ペイロードデータの第２ブロックを受入れる前の段階で使用された暗号検証過程の結果をさらに基にしている、方法。
【請求項６】
請求項３及至５いずれか記載の方法において、各々が所定の寸法を有する多数の記憶ブロックに記憶媒体が分割され、ペイロードデータの多数のブロックの各々が記憶ブロックの寸法に対応する寸法を有している、方法。
【請求項７】
請求項６記載の方法において、ペイロードデータは移動端末にロードされた既存データの更新を含み、既存データの対応ブロックと異なるペイロードデータのブロックのみをロードする段階をさらに含む方法。
【請求項８】
請求項２及至７いずれか記載の方法において、第１暗号データ項目は機関の秘密キーにより暗号化された第１メッセージ・ダイジェストを含み、移動端末によりデータを受入れる段階は、
−受信したヘッダデータと受信したペイロードデータから第２メッセージ・ダイジェストを計算する段階と、
−前記機関の公開キーにより第１メッセージ・ダイジェストを復号する段階と、
−復号した第１メッセージ・ダイジェストを計算した第２メッセージ・ダイジェストを比較する段階と、
を含む方法。
【請求項９】
請求項２及至８いずれか記載の方法において、ヘッダデータは、ペイロードデータを分配する機関の公開キーとして移動端末による検証過程で使用されるべき署名キーをさらに含む、方法。
【請求項１０】
請求項１及至９いずれか記載の方法において、ヘッダデータがさらに第２暗号データ項目を含み、ヘッダデータを検証する段階が、第２暗号データ項目を基にヘッダデータの暗号検証を実行する段階を含む、方法。
【請求項１１】
請求項１及至１０いずれか記載の方法において、移動端末によりデータを受入れる段階で条件付けられたペイロードを処理する段階をさらに含む方法。
【請求項１２】
請求項１１記載の方法において、ペイロードデータは圧縮形式で受信され、処理する段階はペイロードデータを解凍する段階を含む、方法。
【請求項１３】
請求項１及至１２いずれか記載の方法において、ヘッダデータを検証する段階の結果で条件付けされてロード局にペイロードデータを受信する要求を送信する段階をさらに含む、方法。
【請求項１４】
請求項１及至１３いずれか記載の方法において、ペイロードデータはプログラム・コード装置を含む、方法。
【請求項１５】
請求項１及至１４いずれか記載の方法において、ペイロードデータはソフトウェア・パッチを含む、方法。
【請求項１６】
移動端末（１０５）にデータをアップロードする方法において、ロード局（１０１）により移動端末にデータを送信する段階を含み、データはペイロードデータ（３０２）とデータを受入れる時の検証過程で移動端末により使用されるヘッダデータ（３０１）を含み、
データを送信する段階は、ペイロードデータを含む少なくとも第１ペイロード・メッセージを送信する（５０７、８０７）前に移動端末により検証されるべきヘッダデータを含むヘッダ・メッセージを送信する段階（５０２、８０１）を含み、移動端末がペイロードデータの受信を拒否可能とする、移動端末にデータをアップロードする方法。
【請求項１７】
請求項１６記載の方法において、
−移動端末からペイロードデータを送信する要求を受信する段階と、
−受信した要求に応答して移動端末にペイロードデータを送信する段階と、を含む方法。
【請求項１８】
請求項１６または１７記載の方法において、
−移動端末にアップロードされるべきペイロードデータを処理する段階と、
−処理したペイロードデータに対して暗号データ項目を発生する段階と、
−ヘッダデータの一部として暗号データ項目を送信する段階と、
を含む方法。
【請求項１９】
請求項１６及至１８いずれか記載の方法において、
−ペイロードデータをペイロードデータの一連のブロックに分割する段階であって、各々がペイロードデータを記憶すべき移動端末のメモリのブロック寸法に対応した所定の寸法を有する、前記分割段階と、
−各々がペイロードデータの多数のブロックの内の１つを含む多数のペイロード・メッセージを送信する段階と、
をさらに含む方法。
【請求項２０】
請求項１９記載の方法において、
−一連のメッセージ・ダイジェストを発生する段階であって、各メッセージ・ダイジェストはペイロードデータの多数のブロックの対応するものと関係している前記発生段階と、
−一連のメッセージ・ダイジェストを送信する段階と、
をさらに含む方法。
【請求項２１】
請求項１９または２０記載の方法において、ペイロードデータは移動端末にロードされた既存データの更新を含み、既存データの対応するブロックと異なるペイロードデータのブロックのみを送信する段階をさらに含む、方法。
【請求項２２】
移動端末（１０５）にデータをロードするシステムにおいて、本システムはロード局（１０１）と移動端末とを含み、
−ロード局はデータを移動端末に送信する第１送信装置（１０２）を含み、データはペイロードデータ（３０２）とヘッダデータ（３０１）とを含み、
−移動端末はロード局から前記データを受信する第１受信装置（１０６）を含み、
−ヘッダデータを基にした検証過程で条件付けられてデータを受入れるようにされた処理装置（１０７）と、
を含み、
−ロード局はペイロードを送信する前にヘッダデータを含むヘッダ・メッセージを送信するようにされ、
−移動端末はロード局からヘッダ・メッセージを受信するようにされ、受信したヘッダデータを検証し、ヘッダデータが成功裏に検証された場合に、第１受信装置にペイロードデータを受信させる、
移動端末にデータをロードするシステム。
【請求項２３】
移動端末（１０５）において、
−ロード局（１０１）からデータを受信する受信装置（１０６）であって、データはペイロードデータ（３０２）とヘッダデータ（３０１）を含む前記受信装置と、
−ヘッダデータを基に検証過程で条件付けされて受信データを受け入れるようにする処理装置（１０７）と、
を含み、
−受信装置は、ロード局からのヘッダデータを含むヘッダ・メッセージをさらに受信するようにされており、
−処理装置は受信ヘッダデータをさらに検証するようにされていて、ヘッダデータを成功裏に検証した場合に受信装置にペイロードデータを受信させる、
移動端末。
【請求項２４】
移動端末（１０５）にデータをアップロードするロード局（１０１）において、データを移動端末に送信する送信装置（１０２）を含み、データはペイロードデータ（３０２）とデータを受入れる時の検証過程で移動端末により使用されるヘッダデータ（３０１）とを含み、送信装置は、ペイロードデータを送信する前に移動端末により検証されるべきヘッダデータを含むヘッダ・メッセージをさらに送信するようにされて、移動端末がペイロードデータの受信を拒否可能とする、
移動端末にデータをアップロードするロード局。
【請求項２５】
請求項２４記載のロード局において、
−秘密キーを記憶する安全なメモリ（６０３）を含む第１装置（６０４）と、暗号データ項目を発生する第２処理装置（６０６）と、
−発生した暗号データ項目を含むヘッダデータを発生する第２処理装置（６０２）を含む第２装置（６０１）と、
を含むロード局。
【請求項２６】
請求項２５記載のロード局において、第１装置がスマートカードであるロード局。
【請求項２７】
移動端末で実行される時、請求項１及至１５のいずれか記載の方法の段階を実行するようにされたプログラム・コード手段を含むコンピュータ・プログラム。
【請求項２８】
請求項２７記載のコンピュータ・プログラムにおいて、コンピュータ・プログラムがコンピュータ読取可能な媒体上で具体化される、コンピュータ・プログラム。
【請求項２９】
請求項２７記載のコンピュータ・プログラムにおいて、コンピュータ・プログラムが搬送波上のデータ信号として具体化される、コンピュータ・プログラム。
【請求項３０】
ロード局で実行される時、請求項１６及至２１のいずれか記載の方法の段階を実行するようにされたプログラム・コード手段を含むコンピュータ・プログラム。
【請求項３１】
請求項３０記載のコンピュータ・プログラムにおいて、コンピュータ・プログラムがコンピュータ読取可能な媒体上で具体化される、コンピュータ・プログラム。
【請求項３２】
請求項３０記載のコンピュータ・プログラムにおいて、コンピュータ・プログラムが搬送波上のデータ信号として具体化される、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動端末にデータをロードする方法に関係する。本発明はさらに、移動端末にデータをロードするシステムに関係する。本発明はさらに、前記システムで使用するロード局と移動端末とに関係する。
【背景技術】
【０００２】
移動電話またはその他の移動電子機器のような多くの移動端末は、移動端末の適切な機能に不可欠なソフトウェア及びその他のデータを含んでいる。従って、移動端末の完全性を保持するためには、認証されたソフトウェアとデータのみを移動端末にロードすることが重要である。例えば、サービス状況で、移動端末を制御するソフトウェアをインストールするまたは更新するために、移動端末のフラッシュメモリをフラッシュする。
【０００３】
米国特許第６、１６７、５２１号は、機関（ａｕｔｈｏｒｉｔｙ）により制御される装置の論理副区域に新たなコードをロードする方法を開示している。この従来技術方法によると、機関は、新たなコードを実行するための実行環境に関する要件を指定するある種のパラメータと新たなコードとを含むメッセージを準備する。機関は発生したメッセージを装置に送信し、この装置は、メッセージの受信時に、機関の認証を実行し、現在の実行環境でパラメータが正しいかどうかを検証する。正しい場合、装置は受信した新たなコードを対応する論理副区域にロードする。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術方法は、検証が失敗した場合、完全なメッセージを再送信しなければならず、特に、送信が低帯域チャネルまたは雑音の多いチャネルを通して実行される場合に、これによりソフトウェアをロードする非効率な方法となる問題を抱えている。
【課題を解決するための手段】
【０００５】
上記及び他の問題は、データを移動端末にロードする方法において、
−ロード局から移動端末によりデータを受信する段階であって、データはペイロードデータとヘッダデータを含む前記受信段階と、
−ヘッダデータを基にした検証過程を条件付けされて移動端末によりデータを受入れる段階と、
を含み、データの受信段階は、
−移動端末によりロード局からヘッダデータを含むヘッダメッセージを受信する段階と、
−移動端末により受信したヘッダデータを検証する段階と、
−ヘッダデータを成功裏に検証した場合に、ペイロードデータを含む少なくとも第１ペイロードメッセージを受信する段階と、
を含むデータを移動端末にロードする方法、により解決される。
【０００６】
この結果、ヘッダデータの検証が成功裏に完了した場合にのみ、ペイロードデータが受信されるため、不正なデータを受信する危険性は著しく減少する。それ故、ペイロードデータの再転送の発生が減少し、ロード過程はより効率的となる。
【０００７】
検証過程時にペイロードデータの中間記憶域が必要なくなるため、移動端末の記憶空間の必要性が小さくなるのは本発明の別の利点である。これは、移動端末のような限定された記憶容量を有する装置では特に有利である。
【０００８】
ペイロードデータは移動端末に送信される任意の型式のデータでよい。エラーまたは敵対者による、不正確なソフトウェアまたはプロセスデータの受信は、移動端末を不正動作させるまたは全く機能させなくさせるため、本発明による方法は、セキュリティに敏感なデータ、例えば移動端末の動作を制御するソフトウェア、ソフトウェア更新またはその他のプログラム・コード装置に特に適している。このようなソフトウェアの例は、応用ソフトウェアや、応用ソフトウェアの前にロードされて応用ソフトウェアのダウンロードを構成するプレローダ・ソフトウェアを含む。その他のデータの例は、ＩＲＡＭに直接ロードされるソフトウェアのような内部ＲＡＭ（ＩＲＡＭ）データを含む。
【０００９】
ヘッダデータは、バージョン番号、適合する移動端末の型式、製造業者及び／またはモデル、プロセッサ、チップセット、メモリ等のような実行環境の要件、及び／または移動端末等に既にインストールされているオペレーティングシステムまたはその他のソフトウェアのバージョンを含む。ヘッダデータはさらに、製造業者識別、ソフトウェア提供者識別、顧客識別等、アクセス制御リスト等を含む。
【００１０】
本発明の望ましい実施例では、ヘッダデータは第１暗号データ項目を含み、移動端末によりデータを受入れる段階は、第１暗号データ項目を基に暗号検証過程を実行する段階を含む。この結果、受信すべきペイロードデータを発行する機関は、ペイロードデータの実際の受信の前に認証され、従ってペイロードデータの誤った転送の危険性を減少し、方法の効率性を増大する。暗号データ項目は暗号チェックサムを含むことが望ましく、ここで暗号チェックサムという用語は、メッセージが含むデータと秘密キーを基にして、メッセージの送信者により計算され、データと共に受信者に渡される値に関係する。従って、暗号チェックサムは受信者によって使用されてデータが改竄されていないことを証明する。データの受信者は暗号チェックサムを再計算してこれをデータと共に渡された暗号チェックサムと比較する、整合した場合、受信者はデータが転送時に改竄されていないことを確信する。従って、暗号チェックサムの重要な特性は、秘密キーを知ることなく、不正な傍受者が、正当な対応するチェックサムで変更したメッセージを構成可能な無限小の機会のみを有する。例えば、暗号チェックサムを計算するためには、メッセージのメッセージ・ダイジェストを、例えばメッセージの凝縮した表現を発生する、１方向ハッシュ関数により計算し、これは与えられたメッセージ・ダイジェストに対応するメッセージを再生すること、または同じメッセージ・ダイジェストを作成する２つの異なるメッセージを見出すことは計算的には実行不可能である。通過しているメッセージに対する何らかの変更は、非常に大きな確率で、異なるメッセージ・ダイジェストを生成し、署名は検証に失敗する。このような関数の例は、セキュア（安全）なハッシュ・アルゴリズム（ＳＨＡ−１）、ＭＤ４、ＭＤ５等を含む。暗号チェックサムを発生するためには、生成されるメッセージ・ダイジェストが暗号化されるか、または、署名がメッセージ・ダイジェストに対して計算されることが望ましい。ロン・リヴェスト、アディ・シャミール、レオナード・アドレマンにより開発されたＲＳＡ法、ディジタル署名アルゴリズム（ＤＳＡ）等のような、非対称の公開キーを基にした暗号方法を使用することが望ましい。代わりに、メッセージ認証コード（ＭＡＣ：Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）方式のような対称暗号方法を使用してもよい。メッセージ・ダイジェストは通常メッセージより大きさが非常に小さいため、メッセージではなくメッセージ・ダイジェストを署名／暗号化することはしばしば過程の効率を改善する。
【００１１】
従って、検証過程は、これには限定されないが、移動端末の実行環境がヘッダデータにより指定されたパラメータと適合しているかどうかの検証、アクセス制御パラメータの検証、例えば完全性検査とヘッダデータの発生点の証明を含む、暗号データ項目を基にした暗号検証を含んでもよい。
【００１２】
これが移動端末の不正な再プログラミングに対する保護を提供することが本発明の利点である。
【００１３】
別の望ましい実施例では、ペイロードデータはペイロードデータの多数のブロックに分割され、ペイロードデータを受信する段階は、各々がペイロードデータのブロックの１つを含む多数のペイロード・メッセージを受信する段階と、ペイロードデータの受信した多数のブロックの各々を記憶媒体に記憶する段階と、を含む。従って、ペイロードデータの１ブロックのみを一度に受信するため、移動端末の中間記憶空間の要件はさらに減少される。
【００１４】
本発明の他の望ましい実施例では、ペイロードデータは、これを移動端末に転送する前に処理される。例えば、傍受を避けるためにデータを暗号化するか、及び／または送信時間、帯域要件、移動端末の中間記憶容量の要件、及び／または暗号チェックサムの計算の複雑度を減少するためにデータを圧縮してもよい。これに対応して、本方法はさらに、移動端末によりデータを受取る段階で条件付けられたペイロードデータを処理する段階、例えば圧縮データの解凍を含む。
【００１５】
さらに、各々が所定の寸法を有する多数の記憶ブロックに記憶媒体が分割され、ペイロードデータの多数のブロックの各々が記憶ブロックの寸法に対応する寸法を有している時、これは特に有利である。このようなメモリの例は、「フラッシュＲＡＭ」とも呼ばれるフラッシュメモリで、ブロックと呼ばれるメモリの単位で消去及び再プログラム可能な定電力不揮発性メモリの１型式である。
【００１６】
本発明の別な望ましい実施例では、ペイロードデータはペイロードデータの多数のブロックに分割され、当該方法は、ペイロードデータの多数のブロックの各々と関係する対応する数のメッセージ・ダイジェストを受信する段階をさらに含み、ペイロードデータを受信する段階は、ペイロードデータの多数のブロックの１つを各々が含む多数のペイロード・メッセージを受信する段階をさらに含み、移動端末によりデータを受入れる段階は、ペイロードデータの多数のブロックの各々に対して、
−メッセージ・ダイジェストの対応するものを基にした暗号検証過程で条件付けられた移動端末によるペイロードデータのブロックを受信する段階と、
−ペイロードデータの受入れブロックを処理する段階と、
−ペイロードデータの処理ブロックを記憶媒体に記憶する段階と、
をさらに含む。
【００１７】
従って、データを処理せずに記憶媒体にダウンロードし、以後これをＲＡＭにロードし、これを処理し、再びこれを記憶する代わりに、本実施例による方法は、データの各ブロックに対して１回の記憶動作のみを必要とし、これによりロード過程の効率を増大する。
【００１８】
本発明のさらに別の望ましい実施例では、ペイロードデータの第２ブロックの後で受信したペイロードデータの第１ブロックを受入れる段階で使用される暗号検証段階は、ペイロードデータの第２ブロックを受入れる前の段階で使用された暗号検証過程の結果をさらに基にしている。従って、暗号検証過程は増分的に実行され、ここでデータ・ブロックのメッセージ・ダイジェストは、以前のデータブロック及び／またはその各々のメッセージ・ダイジェストの全て、または少なくともその一部に依存し、これにより全てのデータブロックが相互接続されるためロード過程の安全性を増加する。
【００１９】
本発明のさらに他の望ましい実施例では、ペイロードデータは移動端末にロードされた既存データの更新を含み、本方法はさらに、既存データの対応ブロックから異なるペイロードデータのブロックのみをロードする段階を含む。従って、送信すべきデータ量は著しく減少される。例えば、ペイロードデータが既にインストールされたソフトウェアに対するソフトウェア・パッチを含む場合、変更はしばしば少数のメモリブロックに限定される。この場合、影響されるブロックのみのダウンロードはソフトウェアの新規全バージョンのダウンロードより相当効率的である。
【００２０】
本発明の望ましい実施例では、第１暗号データ項目は機関の秘密キーにより暗号化された第１メッセージ・ダイジェストを含み、移動端末によりデータを受入れる段階は、
−受信したヘッダデータと受信したペイロードデータから第２メッセージ・ダイジェストを計算する段階と、
−前記機関の公開キーにより第１メッセージ・ダイジェストを復号する段階と、
−復号した第１メッセージ・ダイジェストを計算した第２メッセージ・ダイジェストと比較する段階と、
を含む。
【００２１】
本発明の他の望ましい実施例では、ヘッダデータは、ペイロードデータを分配する機関の公開キーとして移動端末による検証過程で使用されるべき署名キーをさらに含む。
【００２２】
ヘッダデータがさらに第２暗号データ項目を含み、ヘッダデータを検証する段階が、第２暗号データ項目を基にヘッダデータの暗号検証を実行する段階を含む時、ヘッダは別々に検査されるため、本方法の安全性はさらに増大する。
【００２３】
本発明は、上記した方法を含む異なる方法で、かつ最初に記述した方法と関連して記載した１つ以上の恩恵と利点を各々が発生し、かつ各々が最初に記述した方法と関連して記載した望ましい実施例に対応する１つ以上の望ましい実施例を有する、以下の、システム、コンピュータ・プログラム、コンピュータ読取り可能な媒体と各種の製品装置、で実装可能である。
【００２４】
上記したまた以下の方法の機能は、ソフトウェアで実装してもよく、またコンピュータ実行可能な命令の実行によりデータ処理システムまたはその他の処理装置で実行されることに注意されたい。命令は、記憶媒体からまたはコンピュータ網を介して他のコンピュータから、ＲＡＭのようなメモリにロードされたプログラム・コード装置でよい。代わりに、記載の機能はソフトウェアの代わりにハードウェア回路によりまたはソフトウェアとの組合わせにより実装してもよい。
【００２５】
本発明はさらに移動端末にデータをアップロードする方法に関係し、本方法は、ロード局により移動端末にデータを送信する段階を含み、データはペイロードデータとデータを受入れる時の検証過程で移動端末により使用されるヘッダデータを含み、
データを送信する段階は、ペイロードデータを含む少なくとも第１ペイロード・メッセージを送信する前に移動端末により検証されるべきヘッダデータを含むヘッダ・メッセージを送信する段階を含み、移動端末がペイロードデータの受信を拒否可能とする方法に関係する。
【００２６】
望ましい実施例では、本方法はさらに、
−移動端末からペイロードデータを送信する要求を受信する段階と、
−受信した要求に応答して移動端末にペイロードデータを送信する段階と、を含む。
従って、移動端末がヘッダデータの受信と成功した検証を確認した場合にのみペイロードデータが送信され、これによりペイロードデータの不要な送信を防止する。
【００２７】
他の望ましい実施例では、本方法はさらに、
−移動端末にアップロードされるべきペイロードデータを処理する段階と、
−処理したペイロードデータに対して暗号データ項目を発生する段階と、
−ヘッダデータの一部として暗号データ項目を送信する段階と、
を含む。従って、暗号データ項目は処理データを基に、例えば圧縮データを基に発生されるため、受信する移動端末は、さらなる処理、例えばその解凍の前にデータを検証し、不正なデータの不要な処理は受信器で発生しないため、これにより本方法の効率を増大する。
【００２８】
本発明は移動端末にデータをロードするシステムにさらに関係し、本システムはロード局と移動端末とを含み、
−ロード局はデータを移動端末に送信する第１送信装置を含み、データはペイロードデータとヘッダデータとを含み、
−移動端末はロード局から前記データを受信する第１受信装置を含み、
−ヘッダデータを基にした検証過程で条件付けられてデータを受入れるようにされた処理装置と、
を含み、
−ロード局はペイロードを送信する前にヘッダデータを含むヘッダ・メッセージを送信するようにされ、
−移動端末はロード局からヘッダ・メッセージを受信するようにされ、受信したヘッダデータを検証し、ヘッダデータが成功裏に検証された場合に、第１受信装置にペイロードデータを受信させる、
ことを特徴とする。
【００２９】
ロード局という用語は、静止及び携帯ＰＣ、静止及び携帯無線通信装置のようなコンピュータを含む任意の電子装置を含む。
【００３０】
移動端末という用語は、全ての携帯無線通信装置とその他の携帯装置を含む。携帯無線通信装置という用語は、移動電話、ページャ、コミュニケータ、すなわち電子オーガナイザ、スマートフォン、個人用ディジタルアシスタント（ＰＤＡ）、携帯コンピュータ等のような全ての装置を含む。
【００３１】
受信装置と送信装置という用語は任意の適切な通信装置を含み、ここで通信装置という用語はロード局と移動端末との間で、例えば有線または無線データリンクを介してデータの通信を可能とするのに適した回路及び／または装置を含む。このような通信装置の例は、ネットワーク・インターフェース、ネットワークカード、無線送信器／受信器、ケーブルモデム、電話モデム、統合サービスディジタル網（ＩＳＤＮ）アダプタ、ディジタル加入者線（ＤＳＬ）アダプタ、衛星送受信器、イーサネット（登録商標）アダプタ等を含む。例えば、移動端末は有線接続を介して、または赤外線、例えばＩｒＤａポートを介して、無線ベースの通信、例えばブルートゥース送受信器等を介して、のような電磁気信号を使用した短距離無線通信リンクを介して、ロード局に接続される。データはさらに空間を通してロードされる、すなわち、セルラ・ディジタル・パケット・データ（ＣＤＰＤ）網、移動全地球システム（ＧＳＭ）網、符号分割多元接続（ＣＤＭＡ）網、時分割多元接続網（ＴＤＭＡ）、一般パケット無線サービス（ＧＰＲＳ）網、ＵＭＴＳ網のような第３世代網、等のような、無線電気通信網に接続する移動端末の無線インターフェースを介してロードされる。
【００３２】
処理装置という用語は汎用、または特殊目的プログラム可能マイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、応用特定集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、等、またはその組合わせを含む。
【００３３】
本発明はさらに、移動端末において、
−ロード局からデータを受信する受信装置であって、データはペイロードデータとヘッダデータを含む前記受信装置と、
−ヘッダデータを基に検証過程で条件付けされて受信データを受け入れるようにする処理装置と、
を含み、
−受信装置は、ロード局からのヘッダデータを含むヘッダ・メッセージをさらに受信するようにされており、
−処理装置は受信ヘッダデータをさらに検証するようにされていて、ヘッダデータを成功裏に検証した場合に受信装置にペイロードデータを受信させる、
移動端末とさらに関係する。
【００３４】
本発明はさらに移動端末にデータをアップロードするロード局において、データを移動端末に送信する送信装置を含み、データはペイロードとデータを受入れる時の検証過程で移動端末により使用されるヘッダデータとを含み、
送信装置は、ペイロードデータを送信する前に移動端末により検証されるべきヘッダデータを含むヘッダ・メッセージをさらに送信するようにされ、移動端末がペイロードデータの受信を拒否可能とする、
移動端末にデータをアップロードするロード局と関係する。
【００３５】
望ましい実施例では、ロード局は、
−秘密キーを記憶する安全なメモリを含む第１装置と、暗号データ項目を発生する第２処理装置と、
−発生した暗号データ項目を含むヘッダデータを発生する第２処理装置を含む第２装置と、
を含む。第１装置がスマートカードである時、取外し可能に接続される、例えば第２装置に装入される安全なメモリが提供され、これによりキー管理の容易で安全な方法とロード局の構成を可能とする。
【００３６】
本発明は、コンピュータ・プログラムにおいて、移動端末またはロード局上で実行する時に、上記した方法及び以下の段階を実行するようにされたプログラム・コード装置を含む、コンピュータ・プログラムとさらに関係する。コンピュータ・プログラムはコンピュータ読取り可能媒体上で実施される。コンピュータ・プログラムはさらに、搬送波上のデータ信号として、例えば通信網を介して送信されるデータ信号として、さらに実施してもよい。
【００３７】
記憶媒体及びコンピュータ読取り可能媒体という用語は、磁気テープ、光学ディスク、ディジタルビデオディスク（ＤＶＤ）、コンパクトディスク（ＣＤまたはＣＤ−ＲＯＭ）、ミニディスク、ハードディスク、フロッピー（登録商標）ディスク、強電性メモリ、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭ、読取専用メモリ（ＲＯＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）、強磁性メモリ、光学記憶、電荷結合素子、スマートカード、ＰＣＭＣＩＡカード等を含む。
【実施例１】
【００３８】
図１は移動局にデータをロードするシステムのブロック線図を示す。システムはロード局１０１と移動端末１０５とを含む。ロード局は、移動端末にロードされるべきペイロードデータと、図３、７ａ−ｂと関連して記載されるような移動端末に送信されるべき付加情報、暗号チェックサムを計算する１つ以上の秘密キー、及び／またはペイロードデータの処理に使用するその他の属性を記憶する記憶媒体１０４を含む。ロード局は、例えば、記憶媒体１０４からロードされたソフトウェアにより、ペイロードデータを処理する、例えばペイロードデータを圧縮及び／または暗号化し、これをブロックに分割するようにする、処理装置１０３をさらに含む。処理装置１０３はさらに、１つ以上の暗号チェックサムの発生を含む、ヘッダデータを発生するようにされている。さらに、処理装置は、移動局１０５へのヘッダ及びペイロードデータの送信を制御するようにされている。処理装置１０３は、汎用、または特殊目的プログラム可能マイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、応用特定集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、等、またはその組合わせを含む。ロード局は、直接データリンク、通信網等のような有線または無線通信リンク１０９を介して移動端末とのデータの通信をロード局に可能とするのに適した回路及び／または装置を含む通信装置１０２をさらに含む。このような通信装置の例は、ネットワーク・インターフェース、ネットワークカード、無線送信器／受信器、ブルートォース送受信器、赤外線ポート、ＩｒＤａポート、ケーブルモデム、電話モデム、統合サービスディジタル網（ＩＳＤＮ）アダプタ、ディジタル加入者線（ＤＳＬ）アダプタ、衛星送受信器、イーサネットアダプタ等を含む。従って、通信リンク１０９は電磁波を使用した短距離無線通信リンクでもよい。このような通信リンクの例は、無線周波数、赤外線、マイクロ波等を基にしたブルートォース接続またはその他の接続を含む。通信リンクはさらに、有線接続、例えば、シリアル接続、及びＵＳＢ接続等を含む。さらに他の実施例では、接続は、ローカルエリア網、セルラ網、インターネット等のような通信網を介して確立されてもよい。ロード局１０１は、ロード局にロードされるべきペイロードデータをロード局に受信させる、ネットワーク・インターフェース、フロッピーディスク・ドライブ、ＣＤドライブ等のような、別のインターフェース１１０もさらに含む。ペイロードデータは、ペイロード提供者、例えばソフトウェア提供者から、通信網、例えばインターネット、またはＣＤ、フロッピーディスク、メモリカード等のような記憶媒体を介して、受信される。受信したペイロードは、多分検証過程及び／または更なる処理の後、記憶媒体１０４に記憶される。ロード局は、適切な通信インターフェースを含む、従来の、適切にプログラムされたコンピュータ、例えば、ＰＣでもよい。ロード局の望ましい実施例は図６と関連して記述される。
【００３９】
他の実施例では、ロード局は遠隔のコンピュータ、例えばパーソナル・コンピュータ、ワークステーション、ネットワーク・サーバー等からペイロードデータとヘッダ情報を受信する。例えば、データはコンピュータ網、例えばインターネット、ローカルエリア網、イントラネット、エクストラネット等を介して、またはその他の適当な装置、例えばフロッピーディスク、ＣＤ  ＲＯＭ等のようなコンピュータ読取り可能な媒体により受信される。本実施例では、ヘッダ発生、メッセージ・ダイジェストの計算及び暗号化はロード局ではなく遠隔のコンピュータにより実行される。ロード局、例えばパーソナル・コンピュータは、移動端末と協働して、例えばシリアル接続、赤外線ポート、ブルートォースまたはその他の無線接続、等を介して移動端末へのデータのロードを実行する。それ故、本実施例では、ロード局は、ヘッダ情報の最初の送信のタスクと、以後の、ペイロードデータの送信、望ましくはペイロードデータの個々のブロックとしての送信のタスクのみを実行する。
【００４０】
移動端末１０５は、移動端末がデータをロード局と通信可能にするのに適した回路及び／または装置を含む対応する通信装置１０６を含む。移動端末は、処理装置１０７、例えば汎用、または特殊目的プログラム可能マイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、応用特定集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、等、またはその組合わせをさらに含む。処理装置１０７は、例えば移動端末の記憶媒体１０８からロードされたソフトウェアにより、ロード局からヘッダデータとペイロード情報を受信し、ヘッダ情報を解析し検証し、記憶媒体１０８にペイロードデータをロードするようにされる。可能であるなら、処理装置１０７はペイロードデータをさらに処理する、例えばこれを解凍し復号させる。
【００４１】
図２は移動端末の例のブロック線図を図示する。移動端末１０１は上述したように、移動端末の機能を制御する処理装置１０７を含む。移動端末は、データを無線通信網、例えばセルラ網へ／から送受信するアンテナ２０６を有する無線インターフェース２０５をさらに含む。移動端末は、ユーザーインターフェース２０４、例えばＬＣＤ等のような表示部と、キーパッド、またはタッチスクリーン等のような、その他の入力装置をさらに含む。ユーザーからの入力、例えばパスワード、ＰＩＮ等の入力を必要とする相互的な証明／認証処理とロードを組合わせる場合、ユーザーインターフェースをロード過程時に使用してもよい。移動端末は、加入者識別情報、電話番号、及びセルラ網事業者とのユーザーの加入に関連するその他のデータを記憶するメモリを含む加入者識別モジュール（ＳＩＭ）２０７をさらに含む。移動端末は、ＲＡＭ部２０３、ＲＯＭ部２０２及びフラッシュメモリを含む部分２０１を含む、記憶媒体１０８をさらに含む。移動端末から受信したペイロードデータはメモリのフラッシュ部及び／またはＲＡＭ部にロードされる。その代わりにまたは追加として、移動端末の記憶媒体はＥＰＲＯＭ、ＥＥＰＲＯＭ等のようなその他の型式のメモリ、または光学ディスク、ディジタルビデオディスク（ＤＶＤ）、コンパクトディスク（ＣＤまたはＣＤ−ＲＯＭ）、ミニディスク、ハードディスク、フロッピーディスク、強磁性メモリ、光学記憶、電荷結合素子、スマートカード、ＰＣＭＣＩＡカード等のようなその他の型式の記憶媒体を含んでもよい。これに対応して、ペイロードデータは任意のその他のメモリ型式及び／または記憶媒体にロードされてもよい。本発明の1実施例では、ロード局から受信したペイロードデータはＳＩＭ２０７のメモリにロードされる。最後に、移動端末は上記したような通信装置１０６、例えばブルートォース送受信器、ＩｒＤａポート、ＵＳＢアダプタ、ケーブルコネクタ等を含む。代わりに、無線インターフェース２０５を使用してセルラ網を介して無線でデータを受信してもよい。例えば、移動端末は任意の携帯無線通信装置でもよく、ここで携帯無線通信装置という用語は、移動電話、ページャ、コミュニケータ、すなわち電子オーガナイザ、スマートフォン、個人用ディジタルアシスタント（ＰＤＡ）、携帯コンピュータ等のような全ての装置を含む。
【００４２】
図３は本発明の実施例によるデータ形式を図示する。データはヘッダ部３０１とペイロード部３０２とを含む。ペイロード部３０２は移動端末にロードされるべき実際のペイロードを含む。ペイロードデータは、応用ソフトウェアや、他のソフトウェアのロードを構成する及び／または制御するプレローダ・ソフトウェア、移動端末のオペレーティングシステムの一部、等のようなソフトウェアを含んでもよい。その代わりにまたは加えて、ペイロードデータはその他のデータ、例えば移動端末のＲＡＭ部２０３、ＳＩＭ２０７、または移動端末のその他の型式の記憶媒体へ記憶されるデータを含んでもよい。以下の図７ａ−ｂに関連して説明するように、ペイロードデータはさらに小区分に分割してもよい。ヘッダ部３０１は、ペイロードデータに関する情報、移動端末に関する情報、移動端末が如何にデータを処理するかを決定する制御パラメータ、及び暗号情報を含む。図３の実施例によると、ヘッダデータは、移動端末の製造業者により制御される製造業者ヘッダ３０３とペイロードの提供者により制御されるペイロード・ヘッダ３０４とを含む。製造業者ヘッダ３０３は、ロード局の秘密キーにより暗号化されたメッセージ・ダイジェストを含む暗号チェックサム（ＣＣＳ）３０３ａを含む。暗号チェックサム３０３ａは受信移動端末により使用されて、ヘッダ３０１の完全性と信頼性を検証する。製造業者ヘッダはさらに、移動端末のチップセットの型式のようなハードウェア情報３０３ｂを含む。製造業者ヘッダは、プロバイダＩＤ等のようなペイロード提供者に関する情報３０３ｃをさらに含む。その代わりにまたは加えて、その他の型式の情報を製造業者ヘッダに含めてもよいことが理解できる。例えば、ヘッダはペイロードの以後の検証時に移動端末により使用される署名キーを含んでもよい。ペイロードヘッダ３０４は移動端末により使用されて受信ペイロードデータを検証する暗号チェックサム３０４ａを含む。ペイロードヘッダは、ソフトウェア・バージョン、移動端末の適合型式に関する情報、例えば所定の製造業者及び／または所定のモデル、等の移動端末のような、ペイロード情報３０４ｂをさらに含む。ペイロードヘッダは、現在の及び／または将来のペイロードの検証時に移動端末により使用される1つ以上の公開キーのような証明書３０４ｃをさらに含む、さらに、ペイロードヘッダ３０４は受信ペイロードをどこにロードするのか、例えばどのメモリ部分の、どのアドレス、等に関して移動端末に情報を与える目的地情報３０４ｄを含む。ペイロードヘッダ３０４は、使用する圧縮の型式、ペイロードデータを連続的に、メモリの個別にアドレスされる区域に記憶させるのかどうか、等のような、アクセス制御リスト、コマンド、ロード・オプションを含むコマンド部分３０４ｅをさらに含む。これの代わりにまたは加えて、その他の型式の情報をペイロードヘッダに含んでもよいことが理解できる。ヘッダ３０１が全く分割されない実施例を含む、ヘッダ情報のその他の分割を使用してもよいこともさらに理解できる。ヘッダ３０３と３０４は１つのメッセージとして、または互いに分離して送信されてもよい。使用する通信プロトコルに応じて、例えば通信スタックの下位層により、送��の前にヘッダをより小さいパケットにさらに分割してもよいことがさらに理解できる。これに対応して、ヘッダは通信スタックの下位レベルにより受信器で再結合されてもよい。本発明によると、少なくともヘッダ３０３がペイロードの送信の前のメッセージで送信される。ペイロードヘッダ３０４はペイロード提供者により発生され、ペイロードデータと共にロード局により受信される。または、ペイロード提供者により与えられた情報を基にペイロードヘッダをロード局により発生してもよい。
【００４３】
図４は本発明の実施例で使用する階層キー構造を図示する。安全性機構は信頼のチェーンを実現する。この機構は移動端末の製造業者またはその他の適切な機関に移動端末に対する制御を与える。しかしながら、同時に、どのソフトウェアまたはデータをロードするかに対して１つ以上のソフトウェア提供者へ制御の委託を可能とする。この機構は公開キー暗号を基にしている。製造業者の公開ルートキー４０１は移動端末１０５、例えば、処理装置１０７、等の特別なオンチップ・メモリの、メモリ１０８のＲＯＭ部分２０２に記憶される。次いでルートキー４０１を使用して移動端末１０５、例えば記憶媒体１０８のフラッシュ部分２０１にインストールされるべきソフトウェア提供者の公開キー４０２を検証する。公開ルートキー４０１に対応する製造業者の秘密キーを使用して公開キーは暗号化または署名される。例えば、ヘッダデータ３０１の一部としてまたは別個のロード過程時に、暗号化公開キー４０２が移動端末１０５により受信されると、これを移動端末にインストールする前に公開ルートキー４０１を使用して公開キー４０２の信頼性を検証する。さらに、移動端末の各起動時に、公開ルートキー４０１を使用して公開キー４０２の証明書を検証してもよい。一旦インストールされたら、公開キー４０２をそれ以後使用して、ソフトウェア提供者の対応する秘密キーにより署名された受信ペイロードデータ４０３を検証してもよい。従って、本実施例によると、ソフトウェアを安全にインストールするために、ソフトウェア提供者は製造業者の秘密キーにアクセスする必要は無く、製造業者はソフトウェア提供者の秘密キーにアクセスする必要は無い。従って、階層キー構造を容易に実装できる公開キー機構を使用することは有利である。例えば異なるペイロード提供者に対応する、いくつかの公開キー４０２を移動端末にインストールしてもよいことは本実施例の別の利点である。さらに、公開ルートキー４０１に対応する秘密ルートキーは、公開キー４０２の暗号化または署名にのみ使用され、実際のペイロードの署名には使用されず、これによりルートキーの高度な保護を提供する。以上の構造は、例えばキーの追加レベルを導入することにより、拡張できることに注意されたい。
【００４４】
図５は本発明の実施例により移動端末にデータをロードする方法の流れ図を示す。初期段階５００で、ロード局１０１はペイロードを用意する。この段階は、より効率的な転送と暗号チェックサムのより複雑でない計算を得るためにペイロードの圧縮を含んでもよい。その代わりにまたは加えて、送信時のペイロードの許可されない傍受の危険性を減少するため、ロード局はペイロードを暗号化してもよい。これ以後、段階５０１で、ロード局は、ソフトウェア情報、実行環境に関する要件、等を含むヘッダ情報を発生する。この段階は、１つ以上の暗号チェックサム、例えば、ヘッダに対して計算されロード局の秘密キーにより暗号化されたメッセージ・ダイジェストまたはその他の暗号チェックサムの計算をさらに含む。この段階では、ＲＳＡ、ＤＳＡ、等のような公開キー暗号方法と組合わせることが望ましい、ＭＤ−５、ＳＨＡ−１、等のようなメッセージ・ダイジェストを計算する任意の適切な暗号化方法を使用してもよい。その代わりにまたは加えて、ヘッダはヘッダとペイロードの両方に対して計算された暗号チェックサムを含んでもよい。段階５０２で、発生したヘッダは移動端末に送信される。段階５０３でヘッダを受信した後、移動端末は、段階５０４で、ヘッダ情報が正しいかどうか検証する。この検証は、移動端末に記憶された公開キーを使用してヘッダに対する暗号チェックサムの検査を含んでもよい。検証過程は、ソフトウェア・バージョンの検証、移動端末の実行環境と適合実行環境の比較、例えば、ＣＰＵ型式、移動端末型式、オペレーティングシステム、等の比較をさらに含んでもよい。ヘッダ情報が成功裏に検証されない場合、ロード過程は棄却され、これにより不正なソフトウェアの不要な送信を避ける。この場合、エラー・メッセージをロード局に送信し、多分、例えば他のソフトウェア・バージョン等による再送信をトリガしてもよい。ヘッダ情報が成功裏に検証された場合、段階５０５で、移動端末はロード局にペイロードの実際の送信要求を送信する。段階５０６で要求を受信すると、ロード局は段階５０７でペイロードの送信を開始する。加えて、段階５０７で受信データをどこに記憶するかを移動端末に指示する目的地情報を送信してもよい。本発明の他の実施例では、移動端末は要求を送信しなくともよい。この場合、ロード局は、例えば、ヘッダを送信後の所定時間後にペイロードの送信を自動的に開始する。ヘッダが成功裏に検証されなかった場合、移動局は単に受信したペイロードを破棄し、不正なデータ／ソフトウェアを記憶し、既存のデータ／ソフトウェアに重ね書きする可能性を防止する。しかしながら、望ましい実施例では、ペイロードの送信は移動端末からの要求によりトリガされ、これにより不要な送信を防止する。ペイロードを受信すると（段階５０９）、移動端末は以後の段階５１０でペイロードを検証する。この検証段階は、ヘッダ及びペイロードに対して計算された暗号チェックサムの検証、または受信データの信頼性及び／または完全性を検証するその他の暗号方法を含んでもよい。ペイロードが成功裏に検証された場合、段階５１０でペイロードはさらに処理され、例えば解凍され、受信した目的地情報により指示されるターゲット記憶域に記憶されてもよい。さらに、ペイロードが成功裏に受信されたことをロード局に知らせる確認をロード局に送信してもよい。従って、ロード局が段階５１２でこの受領を受信すると、ロード過程は完了する。または、移動端末は確認を返却しなくともよい。例えば、代わりに移動端末の表示部にメッセージを表示し、ロード過程が完了したことをユーザーに指示してもよい。
【００４５】
特に、ペイロードがソフトウェアを含んでいる場合、検証した後にのみ、受信ペイロードを処理する、例えば解凍することは、検証されるまでソフトウェアが実行形式で記憶されないことを保証するため、特に有利である。検証前の中間記憶としてかつ実行可能ソフトウェアを以後実行用にロードする最終記憶域として同じ記憶域を両方に使用する場合、これは特に有利である。例えば、受信したソフトウェアをフラッシュメモリに処理せずに記憶し、以後フラッシュメモリから検証及び処理用にロードしてもよい。検証が成功すると、フラッシュメモリの適切なブロックが消去され、検証されたソフトウェアがフラッシュメモリの同一ブロックに、今回は実行可能形式に処理される。
【００４６】
図６は移動端末にデータをロードするシステムと本発明の実施例による対応する安全性機能のブロック線図を示す。システムはロード局１０１と移動端末１０５、例えば図２と関連して記載した移動端末とを含む。移動端末は、通信装置１０６を介してロード局から受信したヘッダデータとペイロードデータのメッセージ・ダイジェストを計算する機能６１０を提供する処理装置１０７を含む。処理装置１０７は、受信ヘッダと受信ペイロードデータから暗号チェックサムを抽出復号し、各復号メッセージ・ダイジェストを生成する機能６１１をさらに有する。復号は、例えば、ＲＳＡアルゴリズムを使用し、移動端末の記憶媒体１０８の部分６１４に記憶された公開キーを基に実行される。さらに、処理装置１０７は、受信ヘッダ／ペイロードの信頼性と完全性を検証するために計算及び復号メッセージ・ダイジェストを比較する機能６１２を提供する。計算したメッセージ・ダイジェストと復号したメッセージ・ダイジェストが同じでない場合、受信したヘッダ／データは元のヘッダ／データとは異なっているか、またはヘッダ／データが復号に使用した公開キーに対応した秘密キーによって署名されていないかである。従って、各ヘッダ／ペイロードは拒否される。ヘッダが成功裏に検証された場合、処理装置１０７はペイロードの送信を要求するメッセージをロード局に返却させる。最後に、処理装置は、記憶部１０８の対応する部分６１５の解凍と記憶のような、受信ペイロードのさらなる処理用の機能６１３を提供する。上記の機能はソフトウェアで実装してもよく、または代わりに、上記機能をソフトウェアの代わりにハードウェア回路またはソフトウェアとの組合わせにより実装してもよい。ロード局１０１は基本装置６０１、例えば適切にプログラムされたパーソナル・コンピュータ、またはその他の適切な装置と暗号化モジュール６０４とを含む。基本装置は、移動端末にロードされるべきペイロードデータ、例えばソフトウェアを記憶するメモリ６０３と、移動端末とデータを通信する通信回路１０２、例えば図１と関連して説明したようなもの、を含む。基本装置６０１は、記憶したペイロードデータ用のヘッダを発生する機能６０９と、ペイロードと対応するヘッダに対して１つ以上のメッセージ・ダイジェストを計算する機能６０８とを含む。暗号化モジュール６０４は、例えばＲＳＡアルゴリズムまたはその他の適切な暗号化方法を使用して、暗号化モジュールの安全なメモリ６０５に記憶された秘密キーを基に計算されたメッセージ・ダイジェストを暗号化する処理装置６０６を含む。基本装置６０１の処理装置６０２は、基本装置の通信回路１０２を介して移動端末へ生成したヘッダとペイロードの送信を制御する機能６０７をさらに提供する。１実施例では、暗号化装置はスマートカードとして実装され、基本装置６０１はカード読取り器を装備する。代わりに、暗号化装置と基本装置との間の他のインターフェースを使用してもよい。ロード局は、新たな秘密キーにより容易に構成でき、秘密キーは暗号化装置に安全に記憶されることは本実施例の利点である。
【００４７】
ロード局の異なるモジュラー実施例を使用してもよいことに注意されたい。例えば、暗号化装置がメッセージ・ダイジェストを計算してもよい。
【００４８】
図７ａ−ｃは本発明の実施例によるデータ形式の例を図示する。図７ａ−ｃの例では、ペイロードデータは移動端末のフラッシュメモリにロードされるべきソフトウェアを含む。上述したように、フラッシュメモリは、ブロックと呼ばれるメモリの単位で消去され再プログラム可能な定電力不揮発メモリの１型式である。これは電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）の１変種である。しかしながら、ＥＥＰＲＯＭはバイトレベルで消去再書込みされるが、フラッシュメモリはブロックサイズで書込み可能であり、容易に更新可能とする。例えば、ブロックは６４ｋバイトの大きさでもよい。図７ａ−ｃのペイロード３０２は、移動端末のフラッシュメモリのブロック寸法に対応する等しい寸法のＮブロックＰ１、Ｐ２、…、ＰＮに分割される。各ブロックには、受信ペイロード・ブロックを記憶すべきフラッシュメモリ中のターゲット・ブロックのブロック・アドレスを指示する、目的地情報Ｄ１、Ｄ２、…、ＤＮが前に置かれる。目的地情報はブロック番号またはアドレスを含んでもよい。連続するブロックの場合、第１ブロックＰ１の開始アドレスのみが必要である。この場合、Ｄ１は開始アドレスを与え、残りのＤｉは零に設定されるかまたは除かれる。ヘッダ情報は、移動端末がいかに目的地リストを解釈すべきかに関する指示を含むことが望ましい。代わりの実施例では、目的地情報はヘッダに含まれ、これによりデータをその目的地にロードする前に目的地情報を暗号的に検証することを保証してもよい。既存のソフトウェアの不正な重ね書きを避けるために、ペイロードがＩＲＡＭにロードされるべきソフトウェアを含んでいる場合には、これは特に有用である。ペイロードデータの寸法がブロック寸法の整数倍でない場合、データは、例えば零で、パッディングされる。ここで図７ａを参照すると、ヘッダ部分３０１は製造業者関連ヘッダ部分３０１ａを含み、対応するヘッダ暗号チェックサム３０１ｂは、ヘッダ情報３０１ａに対して計算され暗号化されたメッセージ・ダイジェスト、すなわちＣＣＳＨ＝ＲＳＡｋ１（ＳＨＡ１（ＨＭ））、すなわち安全ハッシュアルゴリズム（ＳＨＡ−１）に従って計算され、製造業者の秘密キーであることが望ましい、ロード局の秘密キーｋ１によりＲＳＡアルゴリズムを使用して暗号化されたヘッダ部分３０１ａのメッセージ・ダイジェストを含む。１実施例では、ＲＳＡ演算の適切な長さを達成するためにメッセージ・ダイジェストＭＤＨ＝ＳＨＡ１（ＨＭ）はパッディングされる、すなわちＣＣＳＨ＝ＲＳＡｋ１（ＳＨＡ１（ＨＭ）｜パッディング）で、ここで「｜」はビット列のコンカティネーション（連結）を記号化する。パッディングは任意の適切なパッディング方式、例えばＰＫＣＳ＃１パッディングに従って実行されてよい。１実施例では、ヘッダ暗号チェックサムは、移動端末でペイロード・メッセージ・ダイジェストを復号するために使用されるべき公開キーに対してさらに計算される。３０１ａのヘッダ情報は、移動端末の型式と関係し、ペイロードの実際の内容とは独立の情報を含んでもよい。ヘッダ３０１は、ソフトウェア・バージョン、適合する実行環境の指定、ペイロードの処理時に移動端末により使用されるパラメータを指示するコマンド部分のような情報を含むペイロード関連ヘッダ３０１ｃをさらに含む。例えば、この情報は、ペイロード・ブロックの個数Ｎ、及びペイロード・ブロックが一連の連続するブロックに対応するかどうかまたはこれらが別々の、分散したブロックであるかどうかに関する情報を含んでもよい。このパラメータは、どの型式の圧縮及び／または暗号を使用しているかどうか、ペイロードの長さ、等に関する情報をさらに含んでもよい。最後に、ヘッダは、ペイロード・ヘッダのメッセージ・ダイジェストＭＤＰＬとＮペイロード・メッセージ・ダイジェスト、すなわち、ＣＣＳＰＬ＝ＲＳＡｋ２（ＭＤＰＬ｜ＭＤ１｜ＭＤ２｜…｜ＭＤＮ）の暗号化リストを含む暗号チェックサム３０１ｄを含み、各メッセージ・ダイジェストＭＤ１、ＭＤ２、…、ＭＤＮはブロックＰ１、…、ＰＮの対応するものと関係している。このリストはソフトウェア提供者の秘密キーｋ２を使用して暗号化される。１実施例では、ＭＤ１はヘッダ部分３０１ａ−ｃ、目的地情報Ｄ1、及び第１ペイロード・ブロックＰ１に対して計算され、すなわちＭＤ１＝ＳＨＡ１（ＨＭ｜ＣＣＳＨ｜ＨＰＬ｜Ｄ１｜Ｐ１）で、ここで「｜」はビット列のコンカティネーションを記号化している。残りのメッセージ・ダイジェスト、すわなちＭＤ２、…、ＭＤＮもこれに従って計算される、すなわち、
ＭＤｉ＝ＳＨＡ１（ＨＭ｜ＣＣＳＨ｜ＨＰＬ｜Ｄ１｜Ｐ１｜…｜Ｄｉ｜Ｐｉ）、
ｉ＝２、…、Ｎ
代わりに、ＣＣＳＨとブロック暗号チェックサムの各々の計算に異なる秘密キーを使用することや、同じ秘密キーを使用してもよいことに注意されたい。例えば、全ヘッダ情報３０１が１つの機関により発生される場合、その機関の秘密キーを使用してもよい。
【００４９】
ヘッダの寸法を減少するために、メッセージ・ダイジェストＭＤ１、…、ＭＤＮ−１を例えば１バイトまで切捨ててもよいことにさらに注意されたい。これは、誤ったブロックを挿入しようとする試みが成功する確率が増大する、例えば１バイトまでの切捨ての場合は１／１６の確率まで増大することを意味する。しかしながら、ＭＤＮの最終検査時にこのような変更は警告される。
【００５０】
ここで図７ｂを参照すると、データ形式はヘッダ部分３０１と、上述したようなペイロードデータのＮブロックを有するペイロード部分３０２を含む。さらに、データ形式は、ペイロードブロックＰ１、…、ＰＮ−１の切捨てブロック・メッセージ・ダイジェストＭＤ＊１、…、ＭＤ＊Ｎ−１のリストを含む部分７０３を含む。上述したように、メッセージ・ダイジェストは以下に従って計算される
ＭＤｉ＝ＳＨＡ１（ＨＭ｜ＣＣＳＨ｜ＨＰＬ｜Ｄ１｜Ｐ１｜…｜Ｄｉ｜Ｐｉ）、
ｉ＝１、…、Ｎ−１
図７ａと関連して説明し、星印「＊」により示すように、ブロック・メッセージ・ダイジェストは１バイトまで切捨てられることが望ましい。ヘッダ部分３０１は、図７ａと関連して記載したように対応するヘッダ暗号チェックサム３０１ｂを有する製造業者関連ヘッダ部分３０１ａを含む。最後に、ヘッダは、ペイロード・ヘッダ３０１ｂのメッセージ・ダイジェストＭＤＰＬの暗号化リストと、最後のペイロード・ブロックＰＮの完全ブロック・メッセージ・ダイジェストＭＤＮと、メッセージ・ダイジェスト３０２のリストのメッセージ・ダイジェストＭＤＬとを含む暗号チェックサム３０１ｅ、すなわちＣＣＳＰＬ＝ＲＳＡｋ２（ＭＰＬ｜ＭＤＮ｜ＭＤＬ）を含む。例えば、メッセージ・ダイジェストの各々は２０バイトを含んでもよい。リストはソフトウェア提供者の秘密キーｋ２を使用して暗号化される。特に、非切捨てブロック・メッセージ・ダイジェストＭＤＮは、以前のブロック・メッセージ・ダイジェストＭＤ＊１、…、ＭＤ＊Ｎ−１がたとえ切捨てられていても、受信データの安全な最後の検証を可能とする。
【００５１】
全てのブロック・メッセージ・ダイジェストＭＤ＊１、…、ＭＤ＊Ｎ−１ではなくリスト３０２のメッセージ・ダイジェストＭＤＬとメッセージ・ダイジェストＭＤＮのみを暗号化する必要があり、これによりメッセージの大きさを著しく減少することは本実施例の利点である。これはブロック数Ｎの大きい場合に特に有利である。
【００５２】
ここで図７ｃを参照すると、ヘッダにメッセージ・ダイジェストのリストのブロック暗号チェックサムを含む代わりに、暗号化メッセージ・ダイジェストＣＣＳｉ＝ＲＳＡｋ２（ＭＤｉ）を個々のブロックの前に置いてもよい。しかしながら、メッセージ・ダイジェストを回復するために１回の復号段階を実行する必要のみがあり、これにより計算要件を減少することは本実施例の利点である。本実施例によると、ヘッダは、製造業者関連情報とペイロード関連情報の両方を含むヘッダ部分３０１ｆを含む。従って、対応するヘッダ暗号チェックサム３０１ｇはヘッダ部分３０１ｆに対して計算される。
【００５３】
図８ａ−ｃは、各々図７ａ−ｂのデータ形式に対応して本発明の実施例により移動端末にデータをロードする方法の流れ図を示す。図８ａを参照すると、初期段階８００で、ロード局１０１はペイロードを圧縮し、ヘッダ情報、例えば図７ａと関連して記載したヘッダ情報を発生する。他の実施例では、ペイロードはペイロード提供者により圧縮され、圧縮形式でロード局により受信されてもよい。段階８０１で移動端末１０５との通信リンクが確立し、ヘッダ３０１が適切なプロトコルを使用して移動端末に送信される。移動端末は段階８０２でヘッダ情報を受信し、図７ａの個々のヘッダ部分３０１ａ−３０１ｄ、すなわち、ＨＭとＣＣＳＨのデータ、ＨＰＬ、及びメッセージ・ダイジェストＭＤＰＬ、ＭＤ１、…、ＭＤＮの暗号化リストＣＣＳＰＬ、を抽出する。受信したＣＣＳＰＬは移動端末に記憶された対応する公開キーを使用して復号され、ペイロード・ヘッダのメッセージ・ダイジェストとブロック・メッセージ・ダイジェストＭＤ１、…、ＭＤＮが回復される。さらに、移動端末はヘッダ情報を検証する。この検証は多数の異なる検査を含んでもよく、例えば：
−ヘッダ・メッセージ・ダイジェストは受信したヘッダ情報に対して計算され、ヘッダに含まれるＣＣＳＨは移動端末に記憶された対応する公開キーにより抽出され復号される。２つの値が同じである場合、ヘッダは正当であり信頼できるソースから発生しているものとして受入れられる。
−メッセージ・ダイジェストＭＤＰＬが検証される。
−チップセットの型式、移動端末の型式、等のような追加のパラメータが移動端末の実際の実行環境と比較される。
検証が失敗した場合、ロード過程は棄却される。検証が成功した場合、段階８０４で移動端末からロード局に確認が送信されてヘッダの受信を確認する。他の実施例では、移動端末はペイロードを受信する要求をロード局に送信してもよい。代わりの実施例では、ヘッダは２つ以上のメッセージとして送信され検証されてもよいことに注意すべきである。例えば、製造業者ヘッダを含むヘッダ部分３０１ａ−ｂを最初に送信してもよい。この情報の検証後、ペイロード・ヘッダ３０１ｃ−ｄを送信し検証してもよい。この情報を検証した後、ペイロードヘッダ３０１ｃ−ｄを送信し検証してもよい。確認を受信（段階８０５）すると、段階８０６でロード局はブロックＰｉ、ｉ＝１、…、Ｎの送信を開始し、この各々の前に対応する目的地情報Ｄｉが置かれる：最初にカウンタはｉ＝１に設定される。段階８０７で、ブロックＰｉと目的地情報Ｄｉがロード局から移動端末に送信される。段階８０８で、移動端末はブロックＰｉと目的地情報Ｄｉを受信しこれらをＲＡＭにロードする。ヘッダ情報から抽出された対応するＭＤｉはＲＡＭ中で既に利用可能である。段階８０９で、ブロック・メッセージ・ダイジェストＭＤｉが検査される。従って、メッセージ・ダイジェストはロード局の計算に対応して計算される、すなわち図７ａの例では、
ＭＤｉ＝ＳＨＡ１（ＨＭ｜ＣＣＳＨ｜ＨＰＬ｜Ｄ１｜Ｐ１｜…｜Ｄｉ｜Ｐｉ）、
ｉ＝１、…、Ｎ
これ以後、ＭＤｉの計算され復号された値が互いに比較される。これらが異なった場合、ブロックは拒否され、段階８１０で、可能な再送信の所定最大数を超えていなければ、再送信が要求される。超えている場合、ロード過程は棄却される。
【００５４】
メッセージ・ダイジェストが等しい場合、ブロックＰｉは解凍され、目的地情報Ｄｉにより指示されるフラッシュメモリのブロックに記憶される。現在のブロックが最後のブロックでない場合、すなわちｉ＜Ｎの場合、段階８１２で、移動端末へ次のブロックの対応する要求を送信することによりブロックＰｉの成功したロードが確認される。要求を受信すると（段階８１３）、ロード局は対応するカウンタを増分し（段階８１４）、段階８０７により開始する、次のブロックを送信することにより繰返しを実行する。最後のブロックＰＮが成功裏にロードされると、段階８１６で最終確認がロード局に送信される。最終確認を受信すると（段階８１７）、ロード局はロード過程を終了する。
【００５５】
図８ｂをここで参照すると、上述したように、段階８００でロード局１０１はペイロードを圧縮し、ヘッダ情報、例えば図７ｂと関連して記述したヘッダ情報を発生する。他の実施例では、ペイロードはペイロード提供者により圧縮され、圧縮形式でロード局により受信されてもよい。段階８０１で移動端末１０５との通信リンクが確立し、ヘッダ３０１が適切なプロトコルを使用して移動端末に送信される。移動端末は段階８０２でヘッダ情報を受信し、図７ｂの個々のヘッダ部分３０１ａ−３０１ｃ、および０１ｅを抽出する。ヘッダ・メッセージ・ダイジェストは、受信したヘッダ情報ＨＭに対して計算され、そして計算されたメッセージ・ダイジェストを、受信したＣＣＳＨを復号化することにより抽出した対応する値と比較する。２つの値が同じである場合、ヘッダは正当であり信頼できるソースから発生しているものとして受入れられる。さらに、移動端末に記憶された対応する公開キーを使用して受信したＣＣＳＰＬを復号し、メッセージ・ダイジェストＭＤＰＬ、ＭＤＮ、およびＭＤＬを回復する。ＭＤＰＬを使用してペイロード・ヘッダＨＰＬ３０１ｃを検証し、一方残りの２つのメッセージ・ダイジェストは以後の使用のためにＲＡＭに記憶する。さらに、移動端末は上述したようにヘッダ情報をさらに検証する。検証が失敗した場合、ロード過程は棄却される。検証が成功した場合、段階８０４で移動端末からロード局に確認が送信されてヘッダの受信を確認する。確認を受信（段階８０５）すると、段階８２０でロード局は切捨てブロック・メッセージ・ダイジェストＭＤ＊１、…、ＭＤ＊Ｎ−１のリスト７０３の送信を開始する。このリストを受信すると、段階８２１で、移動端末は対応するメッセージ・ダイジェストを計算し、結果を以前に受信したＭＤＬの値と比較することにより受信したリストを検証する。これらが異なった場合、リストは拒否され、段階８２２で、可能な再送信の所定最大数を超えていなければ、再送信が要求される。超えている場合、ロード過程は棄却される。リストが成功裏に検証された場合、段階８２３で確認がロード局に送信される。確認を受信すると（段階８２４）、段階８０７でロード局はぺイロードデータのブロックＰｉ、ｉ＝１、…、Ｎの送信を開始し、この各々の前に対応する目的地情報Ｄｉが置かれる：最初にカウンタはｉ＝１に設定される。段階８０７で、ブロックＰｉと目的地情報Ｄｉがロード局から移動端末に送信される。段階８０８で、移動端末はブロックＰｉと目的地情報Ｄｉを受信しこれらをＲＡＭにロードする。受信リストから抽出された、対応するＭＤ＊ｉはＲＡＭ中に既に利用可能である。段階８０９で、ブロック・メッセージ・ダイジェストが検査される。従って、メッセージ・ダイジェストはロード局の計算に対応して計算され、ＭＤ＊ｉの切捨てビットが計算されたメッセージ・ダイジェストの対応するビットと比較される。これらが異なった場合、ブロックは拒否され、段階８１０で、可能な再送信の所定最大数を超えていなければ、再送信が要求される。超えている場合、ロード過程は棄却される。切り捨てメッセージ・ダイジェストが等しい場合、ブロックＰｉは解凍され、目的地情報Ｄｉにより指示されるフラッシュメモリのブロックに記憶される。現在のブロックが最後のブロックでない場合、すなわちｉ＜Ｎの場合、段階８１２で、移動端末への次のブロックの対応する要求を送信することによりブロックＰｉの成功したロードが確認される。要求を受信すると（段階８１３）、ロード局は対応するカウンタを増分し（段階８１４）、段階８０７により開始する、次のブロックを送信することにより繰返しを実行する。現在のブロックが最後のブロックＰＮである場合、ブロック・メッセージ・ダイジェストを検査する段階８０９は対応するメッセージ・ダイジェストの計算に関係し、例えば、以下の式による、
ＭＤＮ＝ＳＨＡ１（ＨＭ｜ＣＣＳＨ｜ＨＰＬ｜Ｄ１｜Ｐ１｜…｜ＤＮ｜ＰＮ）
この場合、ヘッダ情報の一部として受信され、切捨てられていないことが望ましい値ＭＤＮと計算されたメッセージ・ダイジェストが比較される。結果として、ＭＤＮの計算は全ての以前のペイロード・ブロックを含むため、メッセージ・ダイジェストＭＤ＊１、…、ＭＤ＊Ｎ−１の切捨てによるブロックＰ１、…、ＰＮ−１の内の１つの以前の誤った受入れはこの時点で検出される。最後のブロックＰＮが成功裏にロードされると、段階８１６で最終確認がロード局に送信される。最終確認を受信すると（段階８１７）、ロード局はロード過程を終了する。
【００５６】
代わりに、目的地情報とペイロード・メッセージ・ダイジェストを最初のヘッダの一部ではなく、個別のブロックと関連して送信してもよい。これは図７ｃの例のデータ形式に対応する。
【００５７】
受信したペイロードデータの各ブロックは、すなわち成功した検証の後、および可能なさらなる処理の後に、１回だけフラッシュすることのみを必要とし、本方法の効率性を増大することは図８ａ−ｂの実施例の利点である。さらに、フラッシュメモリの各ブロックは、新たなデータが検証された場合にのみ書込まれ、以前のデータを不正な更新により重ね書きすることを防止する。
【００５８】
ＭＤ−４、ＭＤ−５または巡回冗長検査、等のようなその他の技術のような、暗号チェックサム、メッセージ・ダイジェスト、等を計算するその他の方法を使用してもよいことにさらに注意すべきである。
【００５９】
１実施例では、ヘッダ・メッセージ・ダイジェストとブロック・メッセージ・ダイジェストの暗号化に使用するキーは、どの機関が異なるヘッダ情報とペイロードを制御するのかによる階層信頼チェーンの異なるキーである。例えば、図４の例によると、ルートキー４０１を使用してヘッダ暗号チェックサムを復号するが、公開キー４０２を使用してブロック・メッセージ・ダイジェストを復号してもよい。
【００６０】
既存のソフトウェアまたはその他のペイロードの差分更新を可能とする点は本実施例の利点である。例えば、更新されたソフトウェア・バージョンがメモリブロックのある部分の古いバージョンと異なる場合、上記の方法は目的地情報Ｄｉにより指示される対応するメモリブロックでフラッシュされる、影響されるブロックのローディングにロードを限定させることが可能である。変更されたブロックを含むパッチの発生は、ヘッダを送信する前にロード局により実行される処理の一部でもよい。この処理は移動局から受信した情報を基にしてもよい。
【００６１】
さらに、実際に必要とされるパッチにダウンロードを限定してもよい。使用する圧縮アルゴリズムをパッチに最適化し、データ量を減少してもよい。パッチは通常ソフトウェア中の散在した変更である。従って、ソフトウェア更新は、０が変更無しを指示し、１が変更ありを指示する、ビット列として表現されてもよい。この表現では、通常のパッチ更新は殆どゼロの列に対応する。ソフトウェア更新列に使用される圧縮アルゴリズムは従ってこの型式の情報列に最適化され、ソフトウェア・パッチをダウンロードする非常に効率的な方法を生成してもよい。
【図面の簡単な説明】
【００６２】
本発明は、望ましい実施例と以下の図面を参照して以下により詳細に説明される。
【図１】データを移動局にロードするシステムのブロック線図。
【図２】移動局の例のブロック線図。
【図３】本発明の実施例によるデータ形式を図示する。
【図４】本発明の実施例で使用する階層キー構造を図示する。
【図５】本発明の実施例により移動端末にデータをロードする方法の流れ図。
【図６】本発明の実施例により移動局にデータをロードするシステムのブロック線図。
【図７ａ】本発明の実施例によるデータ形式の例を図示する。
【図７ｂ】本発明の実施例によるデータ形式の例を図示する。
【図７ｃ】本発明の実施例によるデータ形式の例を図示する。
【図８ａ】本発明の実施例により移動端末にデータをロードする方法の例の流れ図。
【図８ｂ】本発明の実施例により移動端末にデータをロードする方法の例の流れ図。
【図１】
2005515534.tif 000003
【図２】
2005515534.tif 000004
【図３】
2005515534.tif 000005
【図４】
2005515534.tif 000006
【図５】
2005515534.tif 000007
【図６】
2005515534.tif 000008
【図７ａ】
2005515534.tif 000009
【図７ｂ】
2005515534.tif 000010
【図７ｃ】
2005515534.tif 000011
【図８ａ】
2005515534.tif 000012
【図８ｂ】
2005515534.tif 000013
【国際調査報告】
2005515534.tif 000014
2005515534.tif 000015
2005515534.tif 000016