(57)【要約】この発明は一般に、データ伝送のための安全な通信リンクに係り、なお特に、非対称な暗号技術が対称な暗号を使用して安全なリンクを確立するために使用されるデータ通信リンクに関連する。端末とサーバとの間の安全な通信リンクを設立する方法は、秘密の数と秘密の数のためのデジタル署名とを含むメッセージを組み立て、該デジタル署名がサーバの秘密鍵を使用して発生され、；通信リンクのサーバエンドで端末のための公開鍵を使用してメッセージを暗号化し、；暗号化されたメッセージをサーバから端末へ送り、；端末で端末のための秘密鍵を使用して暗号化されたメッセージを解読し、；サーバのための公開鍵を使用してデジタル署名をチェックすることによりメッセージの正当性を確認し、；秘密の数を使用して安全な通信リンクを確立し、；ここに端末とサーバのための公開および秘密鍵が非対称の暗号方式技術の公開および秘密鍵であることを含む。また、対応するソフトウェアが提供される。方法は速くかつ望まれるならば匿名で、移動通信システム端末にソフトウェアをダウンロードすることを容易にする。
2005515715.tif 000002
【特許請求の範囲】
【請求項１】
端末およびサーバ間の安全な通信リンクを確立する方法であって、
秘密の数と秘密の数のためのデジタル署名とを含むメッセージを組み立て、該デジタル署名がサーバのための秘密鍵を使用して発生され、
通信リンクのサーバエンドで端末のための公開鍵を使用してメッセージを暗号化し、
前記暗号化されたメッセージをサーバから端末へ送り、
端末で端末のための秘密鍵を使用して前記暗号化されたメッセージを解読し、
サーバのための公開鍵を使用してデジタル署名をチェックすることによりメッセージの正当性を確認し、
前記秘密の数を使用して前記安全な通信リンクを確立し、
ここに、端末およびサーバのための公開および秘密鍵が非対称の暗号方式技術の公開および秘密鍵である方法。
【請求項２】
前記メッセージがさらに端末のための識別子を含み、前記デジタル署名が前記秘密の数と前記端末の識別子の両方に署名動作を実行することによって発生される請求項１により請求された方法。
【請求項３】
秘密の数がある時間の期間有効であり、メッセージがさらにタイムスタンプを含み、方法はさらにタイムスタンプを使用して前記秘密の数の正当性をチェックし、前記チェックの結果に依存して前記安全な通信リンクを確立することを含む請求項１または２に請求された方法。
【請求項４】
デジタル署名が署名動作により発生され、その署名動作はデジタル署名から回復されるように実行されるメッセージを許可する署名動作であり、メッセージの秘密の数が前記デジタル署名の中に含まれる請求項１ないし３の何れか1項による方法。
【請求項５】
前記デジタル署名が前記秘密の数のダイジェストを使用して発生される請求項１ないし３の何れか1項による方法。
【請求項６】
端末とサーバがそれぞれデジタル移動通信システムの移動端末とサーバを含む請求項１ないし５の何れか1項に請求された方法。
【請求項７】
前記デジタル署名をチェックするため移動端末の記憶装置からサーバのための公開鍵を検索することをさらに含む請求項６に請求された方法。
【請求項８】
サーバおよび端末間の安全な通信リンクを確立する方法であって、
秘密の数と秘密の数のためのデジタル署名とを含むメッセージを組み立て、該デジタル署名が端末のための秘密鍵を使用して発生され、
通信リンクの端末エンドでサーバのための公開鍵を使用してメッセージを暗号化し、
端末からサーバへ前記暗号化されたメッセージを送り、
サーバでサーバのための秘密鍵を使用して前記暗号化されたメッセージを解読し、
端末のための公開鍵を使用してデジタル署名をチェックすることによりメッセージの正当性を確認し、
前記秘密の数を使用して前記安全な通信リンクを確立し、
ここに、サーバおよび端末のための公開および秘密鍵が非対称の暗号方式技術の公開および秘密鍵である方法。
【請求項９】
端末およびサーバ間の安全な通信リンクを確立する方法であって、
通信リンクのサーバエンドで、サーバのための秘密鍵を使用して、デジタル署名を発生させるように秘密の数を含むメッセージに署名動作を実行し、メッセージはデジタル署名から回復可能であり、
サーバから端末へデジタル署名を含むメッセージを送り、
端末でデジタル署名から秘密の数を抽出し、
秘密の数を使用して前記安全な通信リンクを確立する方法。
【請求項１０】
秘密の数がDiffie-Hellman値ｇｎmod pを含み、ここに、pは素数であり、ｇはDiffie-Hellman鍵交換プロトコルのための生成素であり、ｎはp-1より小さい正の整数である請求項９に請求された方法。
【請求項１１】
メッセージがさらにサーバのための識別子を含み、
少なくともサーバのための公開鍵を含むサーバのための識別証明書を端末の記憶装置から検索し、
前記秘密の数を抽出するためサーバ公開鍵を使用することをさらに含む、請求項９または１０に請求された方法。
【請求項１２】
秘密の数がある時間の期間有効であり、メッセージがさらにタイムスタンプを含み、方法はさらにタイムスタンプを使用して前記秘密の数の正当性をチェックし、前記チェックの結果に依存して前記安全な通信リンクを確立することを含む請求項９乃至１１の何れか1項に請求された方法。
【請求項１３】
サーバおよび端末間の安全な通信リンクを確立する方法であって、
通信リンクの端末エンドで、デジタル署名を発生するように端末のための秘密鍵を使用して秘密の数を含むメッセージに署名動作を実行し、メッセージはデジタル署名から回復可能であり、
端末からサーバへデジタル署名を含むメッセージを送り、
サーバでデジタル署名から秘密の数を抽出し、
秘密の数を使用して前記安全な通信リンクを確立する方法。
【請求項１４】
秘密の数がDiffie-Hellman値ｇｎmod pを含み、ここに、pは素数であり、ｇはDiffie-Hellman鍵交換プロトコルのための生成素であり、ｎはp-1より小さい正の整数である請求項１３に請求された方法。
【請求項１５】
端末およびサーバの1つが通信の開始者であり、他が受け手である移動通信システムの移動端末とサーバとの間の安全な通信リンクを確立する方法であって、
開始者から受け手へ第1のメッセージを送り、第1のメッセージは、
開始者のための公開鍵を含む開始者のアイデンティティ証明書、
第1のデータブロック、
第1のデータブロックを作動させることにより発生される開始者の署名を含み、
第1のデータブロックは少なくとも開始者のための識別子および受け手の公開鍵を使用して暗号化された秘密の数を含み、
受け手で開始者識別子を使用して第1のメッセージを認証することを含む方法。
【請求項１６】
受け手から開始者へ第２のメッセージを送り、第２のメッセージは、
受け手のための公開鍵を含む受け手のためのアイデンティティ証明書、
第２のデータブロック、
第２のデータブロックを作動させることにより発生される受け手の署名を含み、
第２のデータブロックは少なくとも受け手のための識別子および送り手の公開鍵を使用して暗号化された秘密の数を含み、
受け手の識別子を使用して開始者の第２のメッセージを認証することをさらに含む請求項１５に請求された方法。
【請求項１７】
請求項１乃至１６の何れか１項の方法を実施するように構成されたデータ伝送リンク。
【請求項１８】
通信リンクの端末エンドで実行される請求項１乃至１６の何れか１項の方法の部分を実施するように端末のためのコンピュータプログラムコードを担持している担体。
【請求項１９】
請求項１８の担体を含む端末。
【請求項２０】
通信リンクのサーバエンドで実行される請求項１乃至１６の何れか１項の方法の部分を実施するようにサーバのためのコンピュータプログラムコードを担持している担体。
【請求項２１】
請求項２０の担体を含むサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は一般に、データ伝送のための安全な通信リンクに係り、なお特に、非対称な暗号技術が対称な暗号を使用して安全なリンクを確立するために使用されるデータ通信リンクに関連する。
【背景技術】
【０００２】
データ伝送は移動電話ネットワークの中でますます重要になっており、特に、これはいわゆる2.5Gと3G(第３世代)ネットワークで重要であり、3Gネットワークは例えば、第３世代パートナーシッププロジェクト（Third Generation Partnership Project）(3GPP、3GPP2) によって生み出される規格において、www．3gpp．orgで見出すことができ、ここに引用文献として組み込まれる技術的な仕様に記述される。
【０００３】
安全なデータ伝送はｍコマース（m-commerce）で重要であるが、これに加えて、移動端末へのソフトウェアの安全なダウンロードとインストールがマルチメディアエンターテインメント、遠隔治療（tele-medicine）、プログラマブル移動端末のためのアップグレード、異なる無線の規格へのアップグレード等でまた重要である。再構成可能な移動端末はエンドユーザのために増加する柔軟性を提供することができ、エンドユーザは所望のアプリケーションをダウンロードおよびインストールすることにより彼らの個人的な必要性のため、例えば異なったタイプの無線システムをサポートし、異なったシステムの統合を許容するため、端末をカスタム化することができる。しかしながら、送受話器製造者、ネットワークオペレータから信頼された第三者ソースへの利用可能なソフトウェアに関して彼らのソフトウェアを悪意を持って取り替えるハッカーに対して移動端末を保護する技術が必要である。
【０００４】
概して現在のところ、2つの基本的な暗号技術、対称および非対称の技術が、例えば、ソフトウェアダウンロードのための安全なデータ伝送を提供するために採用される。対称な暗号は伝統的なラインに沿って暗号化と解読の両方で共通の秘密の鍵を使用する。データは、この秘密の鍵へのアクセスを制限することにより、そして管理技術によって、例えば、個々の伝送またはデータ伝送の小さいグループについて異なった鍵を使用することによって保護される。対称の暗号の周知の例は米国データ暗号化規格(DES)アルゴリズムである(米国ナショナルビュロウスタンダードのFIPS-46、FIPS-47-1、FIPS-74、FIPS-81)。この変形は3個の鍵が追加の安全を提供するために連続して使用される三重のDES(3DES)である。対称な暗号アルゴリズムの他の例はRSAデータセキュリテイ会社およびインターナショナルデータエンクリプションアルゴリズム(IDEA) からのRC4である。
【０００５】
非対称の、即ちいわゆる公開鍵暗号は１つの“秘密”および１つの“公開”からなる一対の鍵を使用する(公開鍵の分配は実際にはしばしば制限されるが)。公開鍵で暗号化されるメッセージは秘密鍵でのみ解読することができ、逆もまた同様である。その結果、個人は公開鍵に対応するいずれか１つにより解読のための秘密鍵を使用してデータを暗号化することができ、同様に、公開鍵を有する者はだれでも、秘密鍵だけがデータを解読するために使用することができるという知識のもとで、公開鍵でデータを暗号化することにより個人にデータを安全に送ることができる。
【０００６】
一般に、非対称の暗号システムは鍵管理機能を提供するパブリックキーインフラストラクチャ（Public Key Infrastructure(PKI)）として知られているインフラストラクチャ内で使用される。また、非対称の暗号は秘密鍵を使用して、メッセージまたはメッセージのダイジェストのどちらかを暗号化することによってメッセージをデジタル的に署名して使用することができる。受け手がオリジナルなメッセージをもつなら、彼らは同じダイジェストを計算することができ、したがってメッセージのダイジェストを解読することによって署名を認証する。メッセージのダイジェストはオリジナルなメッセージから引出され、一般に、ダイジェストからオリジナルのメッセージを計算することを難しくするオリジナルのメッセージよりも短い; いわゆる持っている機能は、メッセージのダイジェストを生成するのに使用されるかもしれない。
【０００７】
パブリックキーインフラストラクチャは通常、デジタルアイデンティティ（同一性）サーティフィケーション（証明書）の提供を含む。個人が他の誰かへのなりすましを防ぐために、個人は個人の公開鍵を含んでいる認可秘密鍵を使用して署名された証明書を発行する証明局に対して彼のアイデンティティを立証することができる。認証局の公開鍵は広く知られかつ信頼されており、証明書が認可秘密鍵を使用して暗号化されただけであるので、個人の公開鍵は証明書によって確かめられる。移動電話ネットワークに関する文脈の中では、ユーザまたはネットワークオペレータがそれらの秘密鍵でメッセージを署名することによって、それらのアイデンティティを認証することができる; 同様に公開鍵はアイデンティティを立証するために使用することができる。無線のアプリケーションのためのPKIのさらなる詳細は、WPKI、WAP-217-WPKI、www.wapforum.orgで利用できる2001年4月24日のバージョン、およびwww.ietf.orgで見つけることができるX.509仕様(PKIX)に見出すことができ、これらはすべてこれに引用文献として組み込まれる。
【０００８】
3Gに関する文脈では、移動電話システム規格または安全なデータ伝送はまだ決定されていなくて、現在、議論はwww.mexeforum.org MexEフォーラム(Mobile Execution Environment Forum) で行われている。また、ISO/IEC 117-3“Information Technology-Security Techniques-Key Management-Part 3: Mechanism Using Asymmetric Techniques”1996年12月で言及がなされたかもしれない。
【０００９】
非対称の暗号は1976年にDiffieとHellmanによって最初に開示され(W.DiffieおよびD.E. Hellman、“New directions in cryptography” IEEE Transactions on Information Theory、22(1976),644-654)、そして、複数の非対称の暗号技術が現在存在し、それの中で最もよく知られる公開領域として、RSA(Rivest、Shamir 、およびAdleman)アルゴリズムがある（R.L.Rivest、A.Shamir and L.M.Adleman、“A method for obtaining digital signatures and public-key cryptosystems”，Communications of the ACM、21(1978)、120-126）。より最近のアルゴリズムは楕円曲線秘密システムを含んでいる(例えば、X9.63、“Public key cryptography for the financial services industry:Key agreement and Key transport using elliptic curve cryptography”、Draft ANSI X9F1、1999年10月参照)。上記のX.509 ITU(International Telecommunications Union)規格は一般的に公開鍵証明書に使用される。ここに公開鍵(通常、アルゴリズムと証明書認可に関する情報)を伴う鍵発行人の唯一の識別子を含んでいる証明書がディレクトリを含まされ、それは個人と組織による使用のための証明書の公開レポジトリである。
【００１０】
保全システムの主たる目的は、データ送信の開始者または受け手の証明書、アクセス制御、データの発信または受信の非拒絶提供、送信されたデータの完全性、および秘密性である。好ましくは“匿名”データダウンロードの提供があり、それは明確に受け手を確認しないデータの提供、即ち放送である。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記対称および非対称の暗号技術の要点はそれぞれ利点と欠点がある。非対称のアプローチはリソース効率が劣り、安全の対応するレベルを達成するために対称のアプローチより複雑な計算と比較的長い鍵長を必要とする。しかしながら対称のアプローチは、端末の中に秘密鍵の格納を必要とし、非拒絶または匿名のソフトウェアダウンロードを提供しない。本発明は、概して秘密セッション鍵を移すために公開鍵の技術を使用して、これら両方のアプローチを結合する。次に、対称のセッションは、例えばソフトウェアを安全にダウンロードするためにこの鍵を使用して確立される。ソフトウェアがダウンロードされた後、この鍵は非拒絶目的のために移動端末のレポジトリに格納され、ソフトウェアまたは他のデータダウンロードがいったん完了すると廃棄される。この技術は、X.509またはWPKIなどの鍵管理のための階層的なインフラストラクチャ、多重移動端末に放送する能力、移動端末へ匿名でソフトウェアをダウンロードする能力(非対称の技術を採用する)、および対称のセッション(対称の技術を使用して)を確立した後に、移動端末による速いソフトウェアダウンロードを支持する。
【課題を解決するための手段】
【００１２】
したがって、発明の1つの態様によると、端末とサーバとの間の安全な通信リンクを設立する方法が提供され、方法は秘密の数と秘密の数のためのデジタル署名とを含むメッセージを組み立て、該デジタル署名がサーバの秘密鍵を使用して発生され、；通信リンクのサーバエンドで端末のための公開鍵を使用してメッセージを暗号化し、；暗号化されたメッセージをサーバから端末へ送り、；端末で端末のための秘密鍵を使用して暗号化されたメッセージを解読し、；サーバのための公開鍵を使用してデジタル署名をチェックすることによりメッセージをの正当性を確認し、；秘密の数を使用して安全な通信リンクを確立し、；ここに端末とサーバのための公開および秘密鍵が非対称の暗号方式技術の公開および秘密鍵であることを含む。
【００１３】
秘密の数はデジタル署名と一緒に送られてもよく、または署名がメッセージ抽出を許容するアルゴリズムを使用してデジタル署名自体の中に生成されてもよい。送り手または受け手のアイデンティティが、任意にタイムスタンプ、乱数またはその場限り（発明の他の態様に関して上で説明されるように）でメッセージ中に含まれてもよい。再び、リンクの確立がサーバまたは端末のどちらかによって開始される技術が採用されてもよい。
【００１４】
したがって、別の態様において、発明はサーバと端末との間の安全な通信リンクを確立する方法を提供し、方法は秘密の数と秘密の数のためのデジタル署名とを含むメッセージを組み立て、該デジタル署名が端末のための秘密鍵を使用して発生され、；通信リンクの端末エンドでサーバのための公開鍵を使用してメッセージを暗号化し、；端末からサーバへ暗号化されたメッセージを送り、サーバでサーバのための秘密鍵を使用して暗号化されたメッセージを解読し、；端末のための公開鍵を使用してデジタル署名をチェックすることによりメッセージの正当性を確認し、；秘密の数を使用して安全な通信を確立し、；ここにサーバおよび端末の公開および秘密鍵が非対称の暗号方式技術の公開および秘密鍵であることを含む。
【００１５】
発明のさらなる態様は、端末およびサーバ間の安全な通信リンクを確立する方法に係り、方法は通信リンクのサーバエンドでサーバのための秘密鍵を使用して、デジタル署名を発生させるように秘密の数を含むメッセージに署名動作を実行し、メッセージはデジタル署名から回復可能であり；デジタル署名を含むメッセージをサーバから端末へ送り；端末でデジタル署名から秘密の数を引出して、秘密の数を使用して安全な通信リンクを確立することを含む。
【００１６】
この技術は上で説明された技術の補足となるが、ソフトウェアと他のデータの匿名のダウンロードを許容し、したがって、例えばセッション鍵を放送するのに使用可能である。好ましくはサーバのための識別証明書が端末に格納され、例えば端末が1つのみまたは事前に定義されたグループのソースからのソフトウェアを信じるように予めプログラムされてもよいので、不可欠ではないが、メッセージはサーバのための識別子を含んでいる。
【００１７】
またさらなる態様において、発明は、端末およびサーバの1つが開始者であり他が受け手である、移動通信システムの移動端末とサーバとの間の安全な通信リンクを確立する方法を提供し、方法は、開始者から受け手へ第1のメッセージを送り、第1のメッセージは証明書が開始者のための公開鍵を含んでいる開始者のアイデンティティ証明書、第1のデータブロック、および第1のデータブロックの作動により発生される開始者の署名を含み、第1のデータブロックは少なくとも開始者の識別子および受け手の公開鍵を使用して暗号化された秘密の数を含み；開始者識別子を使用して受け手で第1のメッセージを認証することを含む。
【００１８】
例えば、開始者識別子が開始者の署名をチェックするために使用されてもよい。再び、リンクの確立がサーバまたは端末のどちらかによって開始される技術が採用されてもよい。
便利のために、方法はそれが通信リンクの両エンドに適用されるように記述された。しかしながら、発明の態様は、サーバエンドで実行された方法のそれらのステップだけ、およびリンクの端末エンドで実行されるそれらのステップだけを別々に提供する。
【００１９】
他の態様において、発明は、リンクのサーバエンドでその方法を実施するコンピュータプログラムコードと、リンクの端末エンドでその方法を実施するコンピュータプログラムコードを提供する。このコードは望ましくは、フロッピー（登録商標）ディスク、CDまたはDVD-ROMなどの担体、またはリードオンリーメモリまたはフラッシュメモリなどのプログラムされたメモリに格納され、それは光学または電気の信号担体で提供されてもよい。熟練した者は、発明が純粋にソフトウェア、またはソフトウェア(または、ファームウェア)とハードウェアの組み合わせ、或は純粋なハードウェアの何れかで実行されることを認識するであろう。同様にリンクの何れかのエンドで実行される方法のステップは、単一の処理要素の中で必ず行われる必要はなく、例えば、プロセッサのネットワークのような複数の要素間で分配することができる。
【発明の効果】
【００２０】
上記方法の実施例は、製造時に移動端末に唯一の対称のセッション鍵をインストールする必要性を取り除き、複数の端末にその能力を提供し、他方で対称の技術で達成可能でない匿名のソフトウェアダウンロードを提供する。匿名でダウンロードされるソフトウェアおよび他のデータは、各端末/クライアント要求の安全なソフトウェアおよびデータダウンロードを可能にし、その結果、音楽とMPEG映画クリップなどの流されたメディアデータのフリーソフトウェア、チケット、クーポン、および抜粋のダウンロードを可能にする。対称および非対称の技術の組み合わせ、および特にX.509またはWPKIインフラストラクチャ内で作動する方法の能力はｍコマースを容易にする。その上、手順が非対称の技術に完全に頼っておらず、また採用されるべき速い対称のアルゴリズムを許容する。
【００２１】
熟練した者は、上記発明の特徴と態様がより大きい安全が必要であるところで結合されるかもしれないと認めるであろう。
発明は添付図面を参照して例示だけの方法によりさらに記述される。
【発明を実施するための最良の形態】
【００２２】
図1は第三世代のデジタル移動電話システム10の一般的な構造を示す。図1において、無線塔12は基地局コントローラ16によって制御される基地局14と結合される。移動通信装置18は、無線、即ちエアインタフェース20、知られているGSM(移動通信のためのグロー-バルシステム)ネットワークおよびGPRS(ジェネラルパケット無線サービス)ネットワークのUmインタフェース、およびCDMA2000およびW-CDMAネットワークのUnインタフェースを横切って基地局14と双方向通信として示される。通常一時に複数の移動装置18が与えられた基地局に付属され、基地局はこれらの装置にサービスするため複数の無線トランシーバーを含む。
【００２３】
基地局コントローラ16は複数の他の基地局コントローラ(示されない)と共に移動交換センター(MSC)22と結合される。そのような複数のMSCはゲートウェイMSC(GMSC)24に結合され、それは順次移動電話ネットワークを公衆電話交換網(PSTN)26に接続する。ホームロケーションレジスタ(HLR)28とビジターロケーションレジスタ(VLR)30が呼ルーティングとローミングを管理し、他のシステム(示されない)が認証、支払いを管理する。運転と維持センター(OMC)29は、基地局などのネットワークインフラストラクチャ要素からの統計を集めて、ネットワークの性能の高いレベルの視点をネットワークオペレータに提供するために切り換る。例えば、ネットワークの利用可能な容量がどれくらいあるか、またはネットワークの一部が一日の異なる時間に使用されるかを決定するために、OMCを使用することができる。
【００２４】
上記ネットワークインフラストラクチャは、本質的に移動通信装置18と他の移動装置および/またはPSTN 26との間の回路切り換え音声接続を管理する。GPRS、および3Gネットワークなどのいわゆる2.5Gネットワークは、回路切り換え音声サービスにパケットデータサービスを付加する。広い用語で、パケット制御装置(PCU)32が基地局コントローラ16に加えられ、スイッチの階層的なシリーズによりインターネット38などのパケットデータ網に接続される。GSMに基づいたネットワークでは、これらはサービスGPRSノード(SGSN)34とゲートウェイGPRSサポートノード(GGSM)36を含む。図１のシステムと後で説明されるシステムにおいて、ネットワーク内の要素の機能性が単一の物理的なノード上、または、システムの別々の物理的なノード上にあるかもしれないことが認識されるであろう。
【００２５】
一般に、移動装置18およびネットワークインフラストラクチャ間の通信はデータと制御信号の両方を含んでいる。データはデジタルに符号化された音声データを含み、またはデータモデムは移動装置へ、または移動装置からのデータをトランスペアレントに通信するように採用されるかもしれない。GSM-タイプネットワークテキストおよび他の低い帯域幅では、データはまたGSM ショートメッセージサービス(SMS)を使用して送られるかもしれない。
【００２６】
2.5Gまたは3Gネットワークでは、移動装置18は単純な音声の接続よりもむしろ別の電話を提供するかもしれない。例えば、移動装置18はビデオおよび/またはマルチメディアデータサービス、ウェブブラウジング、電子メールおよび他のデータサービスにアクセスを付加的または代替的に提供するかもしれない。論理的に移動装置18は、データプロセッサやパーソナルコンピュータのような端末装置に直列接続で移動端末(加入者アイデンティティモジュール(SIM)カードを組み込んでいる)を含むと考えられるかもしれない。一般に、移動装置がいったんネットワークに付属すると、それは“常にオン”であり、例えば、移動端末−端末装置インタフェースで標準のATコマンドによって、装置と外部のデータネットワークとの間で透明にユーザデータを移すことができる。通常の移動電話が移動装置18のために使われるところでは、GSMデータカードなどのような端末のアダプタが必要であるかもしれない。
【００２７】
図2は本発明の実施例による方法を採用しているシステムのモデル200を図式的に示す。移動装置202は無線塔206を経て移動通信ネットワーク208と結合される。移動通信ネットワーク208は順次インターネットなどのコンピュータネットワーク210と結合され、それにサーバ204が付属される。移動装置202およびサーバ204の１つまたは両方はデジタル証明書を記憶し、デジタル証明書212はサーバ204のために公開鍵を含んでいる移動装置202に格納され、デジタル証明書214は移動装置202のために公開鍵を含んでいるサーバ204に格納される。(発明の他の実施例はこれらのデジタル証明書の１つまたは両方を分配する)。
【００２８】
PKIセッション鍵輸送メカニズム216は移動装置202とサーバ204との間でセッション鍵を輸送するために設けられ、PKI輸送メカニズムはデジタル証明書の１つまたは両方からの情報を使用して非対称の暗号技術を採用している。PKIメカニズムによって輸送されるセッション鍵は対称の暗号手順で使用のため秘密セッション鍵であり、PKI輸送のために、サーバまたは移動装置に予めインストールされた唯一の秘密セッション鍵を格納して管理する必要がない。
【００２９】
PKI輸送メカニズム216はサーバから移動装置へ、またはその逆に一方的な輸送メカニズムを含んでもよく、共有されたセッション鍵を得るために相互交換メカニズムを提供してもよい。サーバはネットワークオペレータ、移動装置製造業者、または信頼されたまたは信頼されない第三者によって操作されてもよい;ここではサーバは信頼されない第三者によって操作され、デジタル証明書は省かれてもよい。
【００３０】
移動装置は移動通信ネットワークのユーザによって通常制御される。簡単さだけのため、単一の移動装置が示されるけれども、一般にセッション鍵が複数のそのような装置へ同報通信され、または放送されさえするかもしれない。
図3は、発明の実施例に従って以下で説明されるように方法を実施する汎用計算機システム300を示す。コンピュータシステムがリンクのサーバエンドにあるか移動ユーザエンドにあるかによって、コンピュータシステムは図２のサーバ204の一部か図2の移動装置202の一部を含んでもよい。コンピュータシステムが移動装置の一部を含むところでは、それは装置自体の中で実施され、または装置に付属された別々のコンピュータシステムまたは幾らかの他の方法、例えば、SIMカードか同様のモジュールで実施してもよい。
【００３１】
コンピュータシステムはキーボード308、表示310および移動電話の場合のオーディオインタフェース306、または電話の場合にこれらの機能を提供するサーバ（実施がSIMカードでない限り）の場合のポインティング・デバイス306に接続されたアドレスおよびデータバス302を含む。またネットワークインタフェース(サーバのための)、無線インタフェース(電話のための)、または接触パッドインタフェース(SIMカードのための)のような通信インタフェース304がバス302に接続される。バス302にはさらにプロセッサ312、ワーキングメモリ314、不揮発性データメモリ316、および不揮発性プログラム318が接続され、不揮発性メモリは一般にフラッシュメモリを含む。
【００３２】
不揮発性プログラムメモリ318は電話/サーバのSIMカードオペレーティングシステム、および対称および非対称の暗号コードのためのネットワーク通信コードを格納する。プロセッサ312は対応する対称および非対称の暗号処理、およびネットワーク通信の処理を提供するためこのコードを実行する。不揮発性のデータメモリ316は望ましくはデジタル証明書の公開鍵を格納し、サーバは1つ以上の移動ユーザのための公開鍵を格納し、移動装置は１つ以上のサーバオペレータのための公開鍵を格納する。不揮発性のデータメモリはまた対称のセッション鍵を格納し、これがいったん確立されると、ソフトウェア(サーバからのダウンロードのため、または移動装置/SIMカードにダウンロードされているソフトウェアの何れか)および望ましくはソフトウェアに関するライセンスデータ、いくつかの例において、ダウンロードされたソフトウェアのユーザを制御するために1つ以上のインストールチケットを格納する。ソフトウェアはビデオ、MP3データまたはコードなどのデータを含んでもよい。
【００３３】
一般に、ソフトウェアまたはデータが移動端末によって信頼できる実体、即ち製造者、オペレータ、およびサービスプロバイダーなどの信頼されたプロバイダーから得られることが望ましく、サービスプロバイダーはソフトウェアモジュールの有効性に関する正しい陳述を作るために頼りにすることができる。信頼された実体が特定のコアソフトウェアモジュールを有効であると考える情報は、望ましくは、安全な方法で端末に利用可能にされるべきである。
【００３４】
対称のアプローチでは、いわゆるチケットサーバは有効なソフトウェアモジュールだけのインストールチケットを発行する。それは信頼されたプロバイダーによって制御されて、操作される。インストールチケットを発行することによって、チケットが示しているソフトウェアモジュールが有効であることをチケットサーバは表示する。インストールチケットは、端末がダウンロードされたソフトウェアモジュールの完全性をチェックするのに使用するソフトウェアモジュールの暗号に強い、衝突回避性がある(推測しにくい)一方向性のハッシュ値を含んでいる。メッセージ証明符号(MAC)（例えば鍵をかけられたハッシュ機能参照、例えばコンピュータデータ認証、国の標準局FIPS公報113、1985）はインストールチケットを保護するために使用される。このMACは、端末とチケットサーバによって共有される秘密の鍵を使用して計算される。チケットのMACをチェックすることによって、端末は、信頼されたプロバイダーがチケットを発行して、チケットが変更されていないことを確かめる。次にそれは、受信されたソフトウェアモジュールのハッシュ値とインストールチケットの中に含まれたものを比較することによって、受信されたソフトウェアモジュールの完全性をチェックする。しかしながら、秘密の鍵を持っているだれでもチケットのMACを発生させることができたように、両方が秘密の鍵を共有するので、この技術は信頼されたプロバイダーと端末ユーザとのどんな論争の場合も非拒絶を保証しない。
【００３５】
非対称に署名されたライセンスアプローチは、公開鍵暗号を使用させる。チケットベースのアプローチに対して同様に、ライセンスはソフトウェアモジュールの完全性を認証するために必要な情報を含んでいる。署名されたライセンスは新たに定義された形式であるかもしれず、またはそれはX.509証明、またはWTLS(Wireless Transport Layer Security)証明のような以前に定義された形式であることができる。望ましくは、ライセンスはソフトウェアモジュールの暗号ハッシュを少なくとも含むべきであり、そして、有効性日付、発行人のアイデンティティ、および受け手のアイデンティティなどの他の適切な情報がまた含まれることができる。ライセンスはライセンスサーバーによって署名され、ライセンスサーバーは信頼されたプロバイダーによって制御されて、操作される。
【００３６】
ライセンスサーバーが有効なソフトウェアモジュールのためだけにライセンスを発行し、1個のソフトウェアのためにライセンスを発行することによって、事実上、ライセンスサーバは、このソフトウェアモジュールが有効であることを述べる。公開鍵署名計画が使用されるので、ライセンスサーバの公開鍵にアクセスを持っているあらゆる実体がライセンスの署名をチェックすることができる。したがって、移動端末ユーザおよび両方の当事者を保護するサービスプロバイダー間の何らかの論争があるならば、このアプローチは非拒絶を提供する。言い換えれば、ライセンスサーバだけがライセンスに署名するための対応する秘密鍵を知っているので、ライセンスサーバだけがライセンスに有効な署名を発生させることができる。
【００３７】
端末は異なった方法でインストールチケットまたは署名されたライセンスを取得することができる。それらはソフトウェアモジュールが受け取られるまで待つことができ、次に、チケットまたはサーバからかライセンスを直接求めることができる。代わりに、チケットまたはライセンスがダウンロードサーバまたは再構成管理ノードを通して間接的に取得されるかもしれない。間接アプローチでは、ソフトウェアはチケットまたはライセンスで束ねられ、全体のパッケージが端末に送られる。
【００３８】
対称および非対称のアプローチは、それらが端末の能力および保証データの量に対する要求において異なる。署名されたライセンスアプローチは、端末が非対称の暗号操作を実行することを要求し、それは一般に、処理パワーとメモリの点から高価であり、対称の暗号操作を実行する端末に比べ不足している。チケットサーバアプローチは秘密鍵暗号だけを必要とし、それは一般に、より少ない処理を必要とする。しかしながら、対称のアプローチでは、オンラインチケットサーバとの通信がいつも必要であるが、非対称のアプローチでは、ライセンスサーバがいつもオンラインであることは必要でない。
【００３９】
どちらの場合も、端末は付加されたソフトウェアモジュールの衝突回避性のある一方向性ハッシュ値を計算する必要がある。対称のアプローチにおいて、チケットの有効性はMACを使用して確認され、非対称のアプローチにおいて、ライセンスの有効性はデジタル署名をチェックすることによって確認される。デジタル署名はより多くのデータを通常必要とするので、一般に、ライセンスにおけるビットの数はチケットよりもさらに多くなるであろう。
【００４０】
これらのアプローチの両方の主な目的は悪意があるダウンロードされたソフトウェアに対して端末を保護することである。それらはプログラムメモリの交換などの端末の物理的な変更を含んだ攻撃に対して保護せず、ソフトウェアの分配と使用を制限し、またはリバースエンジニアリングに対してソフトウェアモジュールを保護するように意図されてもいない。しかしながら、対称のアプローチ型の安全は、端末がチケットサーバと共有する暗号鍵の秘密を維持することを必要とするが、非対称のアプローチは公開鍵に依存し、即ち、対称の鍵を保護するのに必要とされる秘密のレベルは公開鍵を保護するのに必要である。
【００４１】
対称および非対称のアプローチを統合するこの説明された実施例では、PKI(公開鍵インフラストラクチャ（Public Key Infrastructure)）は、移動端末にそれらの証明書を発行する製造者およびオペレータなどの当事者に採用されかつ信頼され、移動端末は、スマートまたは他のカード(例えば、SIM: 加入者アイデンティティモジュール、WIM: 無線アイデンティティモジュール、SWIM: SIMとWIMの結合、USIM: 普遍的な加入者アイデンティティモジュール)のような安全なタンパー抵抗モジュールにそれらを格納する。
【００４２】
PKIは非拒絶を提供して、両当事者を保護する; 対称のセッション鍵は、製造者、オペレータなどの信頼された当事者からいったん輸送されると(公認された公開鍵を使用して)、低いオーバーヘッドと速いダウンロードを提供する。このセッション鍵は増加された安全のため短い期間だけ有効であるかもしれない。
【００４３】
このアプローチは、そのような鍵をインストールする必要がない、移動端末で鍵の永久的な安全な格納のどんな必要性もないような唯一の秘密のセッション鍵を提供し、そうでなければ移動端末は信頼されたサービスプロバイダーと端末間の鍵管理、および多重移動端末を放送する能力を制限し、匿名のソフトウェアダウンロードを提供することができる。説明される移動端末のための匿名のソフトウェアダウンロードの技術は、フリーソフトウェア、チケット、クーポン、および同様のものをダウンロードするような各端末／クライアント／リクエストのために安全なソフトウェアダウンロードを可能にする。
【００４４】
まず第一に、オペレータ/サーバによって開始されるソフトウェアダウンロードの技術が開示される。開始者A、この例において信頼されたソフトウェアプロバイダー(すなわち、端末の製造者、ネットワークオペレータ、または同様の者)は、意図された受け手Bの暗号公開鍵の真正なコピーを優先的に処理すると仮定され、移動端末および端末はサーバの(公開)暗号鍵のコピーを持つと仮定される。
【００４５】
共有された秘密のセッション鍵を設立するための1つの技術は、そのとき以下の通りである:
【００４６】
M1:A → B:PＢ(k‖B‖TＡ‖SＡ(k‖B‖TＡ‖LC))        式1
ここで、M1: A → BはAがM1をBに送ることを意味し、kは秘密のセッション鍵であり、BはB(意図された受け手)の任意の識別子であり、TＡはAにより生成される光学的タイムスタンプであり、LCは任意のデジタルライセンス、例えば、ソフトウェアライセンスであり、‖はデータの連結を意味する。タイムスタンプを利用すると再生攻撃が妨げられるが、他の実施例において、(望ましくはランダム)の数が例えば、時計から発生されるタイムスタンプTH、に加算または代りに使用されるかもしれない。これは決定論的な疑似乱数発生器のシードとして使用され、その結果AとBの両方がセッション鍵として使用のために疑似乱数の同期したシリーズを発生することができる。そのような数(メッセージの)は一度だけ使用されたその場限りの数であるかもしれない。PＢ(Y)はRSA（R.L. Rivest、A.ShamirおよびL.M.Adleman、“A method for obtaining digital signatures and public-key cryptosystems” Communications of the ACM、21(1978)、120-126）
などの公開鍵暗号を意味する。当事者Bの公開鍵とSＡ(Y)を使用するデータYのECC、(N.Koblitz、“Elliptic curve cryptosystems” Mathematics of Computation、48(1987)、203-209)、ElGamal、(T.ElGamal、“A public key cryptosystem and a signature scheme based on discrete logarithms”、IEEE Transactions on Information Theory、31(1985)、469-472)はAの個人的署名鍵を使用するYの署名操作を意味する。
【００４７】
代わりに、署名されたメッセージの回復を許す署名操作が、メッセージ回復アルゴリズム(ISO/IEC 9796、“Information technology-Security techniques-Digital signature scheme giving message recovery”、国際標準化機構、ジュネーブ、スイス1991) でRSA署名のように使用されることができ、以下のように使用される：
【００４８】
M1:A → B:PＢ(SＡ(K‖B‖TＡ‖LC))         式2
ここでKは秘密のセッション鍵であり、BはB(意図された受け手)の任意の識別子であり、TＡはAにより発生される任意のタイムスタンプであり、LCは任意のデジタルライセンス、例えば、ソフトウェアライセンスである。
【００４９】
使用において、端末がいったん署名されたセッション鍵、例えば、ライセンスを得ると、端末はソフトウェアモジュールが到着するのを待って、ソフトウェアの受信後に、端末はセッション鍵でソフトウェアを実行することができる(即ち、許可される)。代わりに、全体のソフトウェアパッケージは署名されたセッション鍵とライセンスと共に端末に送られることができる。
【００５０】
メッセージ回復で匿名のRSA署名を採用する関連する技術は、フリーソフトウェアとクーポンをダウンロードするために使用されることができる。これは、ソフトウェアのトライアルバージョンおよび音楽や映画の短いクリップを放送することを望む信頼されたサービスプロバイダーにとって有用であることができる。そのような場合に、だれでもセッション鍵を得るためにメッセージを傍受できるようにすることが望ましい。この鍵は、認証の必要性を減少させるフィルムトレーラのために、短い期間だけ、例えば30分有効であるが、セッション鍵発行人の識別のため、望ましくは容易に確かめることができる識別を備えることが望ましい。したがって、セッション鍵は製造者/オペレータまたはサービスプロバイダーによってデジタル的に署名されるかもしれない。この技術の一実施例は以下の通りである:
【００５１】
M1:A → B:SＡ(k‖B‖TＡ‖LC)）          式3
ここにkは秘密セッション鍵であり、BはB(意図された受け手)の任意の識別子であり、TＡはAにより発生される任意のタイムスタンプであり、LCは任意のデジタルライセンス、例えば、ソフトウェアライセンスである。
【００５２】
この実施例では、メッセージ回復計画を有するRSA署名操作が使用される(例えば、ISO/IEC 9796: 1991)。メッセージがAによって署名されるので、Aに関する識別子を含むことは必要なく；受け手のための識別子を含むことは、彼らが意図された受け手であることを受け手に確認させる。M1を受信している端末は各々A、開始者/オペレータのための適切な証明書を有し、SＡから引出されるべきメッセージ、例えばSIMに格納されたメッセージを許容する。これはまた、フリーソフトウェアダウンロードを許容するためにセッション鍵を放送するために使用することができ、端末が匿名でソフトウェアをダウンロードすることを可能にする。
【００５３】
この技術の変形では、鍵kはDiffie-Hellman公開値ｇｎ mod p(例えば、W.DiffieおよびD.E.Hellman、ibid参照)により置換され、ここにｎは1≦n≦p−2を満たす正の整数である。したがって、M1への代替は以下の通りである:
【００５４】
M1:A → B:SＡ(gｎ mod p‖B‖TＡ‖LC))        式4
ここにkは秘密セッション鍵であり、BはB(意図された受け手)の任意の識別子であり、TＡはAにより発生される任意のタイムスタンプであり、LCは任意のデジタルライセンス、例えば、ソフトウェアライセンスである。
【００５５】
移動端末Bまたはクライアントは、サーバの鍵交換に含まれるサーバの公開値YＡ＝ｇａ mod pを得ることができ、またはSIMがサーバの公開値を含むかもしれない。開始者(この例においてサーバA)は、ランダムの値nを選んで、ｇｎ mod pを計算し、ｇｎ mod pを含むM1を端末に送る。サーバAはセッション鍵ｋ＝YＡｎ＝(ｇａ）ｎ＝ｇａｎ mod pを計算し、端末Bはｋ＝（ｇｎ）ａ＝ｇｎａ mod pを使用して同じセッション鍵を計算することができる。
【００５６】
暗号化されたソフトウェアは、次に共通のセッション鍵でソフトウェアを暗号化することによって端末Bに送られるかもしれない。盗み聞きする者はサーバの秘密鍵(それはaである) を知らないので、セッション鍵を決定することは計算上実行不可能である。個々の受け手が指定される必要はないので、この方法は、匿名の安全なソフトウェアダウンロード、例えばSIM更新を放送するために移動装置にシステムソフトを分配するために使用することができる。
【００５７】
上記4つのシナリオにおいて、M1を解読するとき、受け手Bが開始者/オペレータAからのソフトウェアをダウンロードするためにセッション鍵を使用するであろう。ソフトウェアダウンロードの後に、Bはレポジトリにセッション鍵を置くか、または信頼されたサービスプロバイダーおよび端末間で鍵管理に依存するセッション鍵を捨てるかもしれない。
【００５８】
上記のシナリオにおいて、M1を解読するとき、受け手Bは開始者/オペレータAからソフトウェアをダウンロードするためにセッション鍵を使用することができる。ソフトウェアダウンロードの後に、Bはレポジトリにセッション鍵を置くか、または鍵を捨てるかもしれず、それは他の物事との間で、信頼されたサービスプロバイダーおよび端末間の鍵管理によって選ばれる。オペレーティングシステム向上のために、匿名の技術よりむしろ非匿名の技術が好まれ、誰に向上したものが送られたかを知ることが有用である。
【００５９】
移動端末によって開始される次のソフトウェアダウンロードの技術が説明され、それらは上のサーバ開始技術の鏡像の近い。鍵変更を開始することが移動端末を形成するために、我々はRSAとDiffie-  Hellmanのような非対称の技術に基づいている安全なソフトウェアダウンロード、および匿名のソフトウェアダウンロードの技術について説明するつもりである。ソフトウェア、チケット、クーポン、および同様のものなどのデータ項目、または項目のグループのためにそれぞれ個々の要求の安全な実施に対称のセッション鍵を確立するために、これらの技術を使用することができる。
【００６０】
技術において、署名されたブロックは以下のデジタル署名と公開鍵暗号を結合することによって暗号化される:
【００６１】
M1:B → A:PＡ(k‖A‖TＢ‖SＢ(k‖A‖TＢ‖LC))       式5
ここで、kは秘密のセッション鍵、AはA(意図された受け手)の任意の識別子、TＢはBで発生される任意のタイムスタンプ、LCは任意のデジタルライセンス、例えば、ソフトウェアライセンスである。
【００６２】
端末Bはセッション鍵を発生し、セッション鍵、Aのアイデンティティおよびタイムスタンプの組み合わせに署名する。このセッション鍵、署名、任意のタイムスタンプおよびAの識別子は、例えば先のサーバ鍵交換メッセージから引出された、サーバの公認された公開鍵で暗号化される。ビデオクリップと音楽などのソフトウェアは、セッション鍵を使用してサーバAからクライアントBへ送られる。盗聴者がサーバの秘密鍵を知らないので、彼/彼女がセッション鍵kを危険にさらすことは、特にこれが1つのセッションまたは限られた期間にのみ有効であるかもしれないので、計算上実行不可能である。
【００６３】
以前に記述したように、匿名のRSAのような匿名の暗号技術はまた以下の通り説明される: 
【００６４】
M1:B → A:PＡ(k‖A‖TＢ‖LC)             式6
ここに、kはセッション鍵、AはA(意図された受け手)の任意の識別子、TＢはBにより発生される任意のタイムスタンプ、LCは任意のデジタルライセンス、例えば、ソフトウェアライセンスである。
【００６５】
端末Bはセッション鍵Kを発生してサーバの公認された公開鍵(サーバの鍵交換メッセージから引出された)でそれを暗号化する。ソフトウェアは、セッション鍵Kを使用してクライアントBに送られるかもしれない。盗聴者はサーバの秘密鍵を知らないので、１つの時間のセッション鍵kが危険にされされることは計算上実行不可能である。
【００６６】
代わりに、匿名のDiffie-Hellman暗号技術は以下の通り採用されることができる(移動開始技術が記述され; サーバ開始技術が対応している)。
最初に、適切な素数のpおよびZＰ＊の生成素ｇが選択されかつ発行され、例えば端末のSIMに格納される。ここにZＰ＊は乗法群1、2、3....p-1であり、(2<g< p-2)である。適切なpとgを発生させる１つの方法はRFC(Request For Comments)2631に記述されている。
【００６７】
M1:B → A:gｂ mod p                式 7
移動端末Bまたはクライアントは、例えば、サーバの鍵交換からのサーバの秘密鍵であるサーバの公開値YＡ＝ｇａ mod pを得ることができる。しかしながら、望ましくは、サーバの公開値はSIMに格納される。端末はランダム値bを選んで、ｇｂ mod pを計算して、M1 gｂ mod p(暗号化された) をサーバに送る。aとbの両方は、１≦ａ≦p-2と１≦ｂ≦p-2を満たす正の整数である。移動端末Bは対称のセッションｋ＝YＡｂ mod p＝（ｇａ mod p）b mod p＝ｇａｂ mod pの鍵を計算することができ、サーバAは同じセッション鍵ｋ＝（ｇａ mod p）b mod p＝ｇａｂ mod pを計算することができる。次に、暗号化されたデータまたはソフトウェアがセッション鍵でそれを暗号化することによって端末Bに送られるか、または例えば、Kで両方に知られているデータを作動させることによって、別の共通の鍵を発生させるためにセッション鍵は端末とサーバの両方によって使用されるかもしれない。盗聴者はサーバ(a)の秘密鍵を知らないので、セッション鍵を決定することは計算上実行不可能である。例えば、ダウンロードしているフリーソフトウェア、チケット、およびクーポンのために、匿名のRSAとDiffie- Hellmanを使用することができる。
【００６８】
一般に、匿名のソフトウェアダウンロードの技術は受け手の盗聴者に対する保護を提供するだけである。アクティブな盗聴者または中間にいるアクティブな人の攻撃が、セッションを創造するためのハンドシェイク過程中に終わっているメッセージをそれら自身のものに取り替えることができる。この攻撃を避けるために、サーバ証明書は望まれている。
【００６９】
式4に関して上で説明されたメッセージ回復を有する匿名のRSA署名の技術に類似して、Diffie-Hellman値ｇｂ mod pが開始者の(すなわち、この例においてBの)秘密鍵を使用して暗号化されるかもしれない。より明確に、それは、署名されたメッセージが回復可能であるデジタル署名としてDiffie-Hellman値を送ることによって保護されるかもしれない。受け手は、開始者の公開鍵を使用して、より明確には署名からメッセージを引出すことによってｇｂ mod pを回復することができる。
【００７０】
ある情況の下で、Diffie-Hellman(DH)および関連した楕円曲線Diffie-Hellman(ECDH) 鍵協定計画(X9.63、“Public key cryptography for the financial services industry: Key agreement and key transport using elliptic curve cryptography”ANSI X9F1、起草1999年10月)は“小さいサブグループ”攻撃として知られた攻撃のクラスに影響を受け易い。ここで、鍵がサブグループに属するなら、サブグループからの当て推量の鍵に基づいて指示されたブルートフォース（全数探索）攻撃が成功するかもしれない。匿名のDHとECDH場合には、そのような小さいサブグループ攻撃が、攻撃者に知られているセッション鍵を共有するように当事者に伝えることを導くというリスクがある。この脅威はgおよびpの“良い”または“強い”値を決定された予定のグループを使用することによって、かつ受信された公開鍵がグループの小さいサブグループに存在しないことをチェックすることによって、或は普通のDH鍵の対を再使用しないことによって軽減することができる。これらの攻撃に対する保護のバックグラウンド情報はANSI規格X.9.42のドラフト（X.9.42、“Agreement of symmetric keys using Diffie-Hellman and MQV algorithms”ANSI起草、1999年5月）、およびx.9.63（x.9.63、“Public key cryptography for the financial services industry:Key agreement and key transport using elliptic curve cryptography” ANSI X9F1、起草、1999年10月）に見出すことができる。
【００７１】
相互の鍵認証プロトコルは今説明される。これらでは、AとBの両方は、AとBの公開鍵を使用して暗号化されるメッセージの下でプロトコル内に、AとBの情報または所有の特徴を有するメッセージを交換することによって認証される。
第１相互認証の過程において、A、Bは各々他の認証公開鍵を処理し、または各当事者はそれ自身の公開鍵を担持している証明書を有し、かつ１つの追加メッセージが各当事者により他の当事者に証明書輸送のために送られる。このプロトコルのバックグラウンド情報は、NeedhamとSchroeder（R.M. NeedhamおよびM.D. Schroeder、“Using encryption for authentication in large networks of computers”Communications of the ACM、21(1978)、993-999）に見出すことができる。
【００７２】
送られるメッセージは以下の通りである:
【００７３】
M1:A → B:PＢ(k1‖A‖TＡ)               式8
【００７４】
M2:A ← B:PＡ(k1‖k2)                 式9
【００７５】
M3:A → B:PＢ(k2)                 式10
手順のステップは以下の通りである:
1. 開始者オペレータ(または、サーバ)Aは第１鍵k1を含むM1をBに送る。
2. 受信器ユーザ(端末)BはM1を受け取ってk1を検索し、第２の鍵k2を含むM2をAに返す。
【００７６】
3. M2を解読するとき、M2から検索された鍵k1がM1で送られたそれに一致することをチェックする。そして、AはB M3を送る。
4.M3を解読するとき、BはM3から検索された鍵k2がM2で送られたそれと一致することをチェックする。セッション鍵は、MD5(RFC 1321で定義されるようなMessage Digest 5)、およびSHA-1（安全なHash Algorithm-1、例えば、US National Bureau of Standards Federal Information Processing Standards(FIPS) Publication 180-1参照）のような適切な公的に知られた非可逆関数fを使用してf(k1‖k2)として計算され得る。
【００７７】
5. そして、Bは、対称のセッション鍵f(k1‖k2)を使用することによって、ソフトウェアをダウンロードし始める。ソフトウェアダウンロードの後に、Bはセッション鍵を廃棄するか、鍵管理戦略によって短い期間それを保持することができる。
第2のX509相互認証の過程が、X.509の強い双方向認証手順（ISO/IEC 9594-8、“Information technology-Open systems interconnection-The directory: Authentication framework”、International Organization for Standardization、Geneva、Switzerland 1995）に関する文脈で作動し、以下の通り説明される:
【００７８】
Let DＡ=(TＡ‖RＡ‖B‖PＢ(k1)),
DＢ=(TＢ‖RＢ‖A‖PＡ(k2))                  式11
ここにAとBはそれぞれサーバと端末に関する識別子を含む。
【００７９】
M1:A → B:CertＡ‖DＡ‖SＡ(DＡ)            式12
【００８０】
M2:A ← B:CertＢ‖DＢ‖SＢ(DＢ)             式13
ここに、CertＡとCertＢはそれぞれAとBの公開の証明書である。手順のステップは以下の通りである:
1. Aは満了時間を含むタイムスタンプ TＡを得て、その時に乱数RＡを発生し、PＢを使用して対称の鍵k1、暗号K1を入手し、メッセージM1をBへ送る。(メッセージがAによって署名されるので、Aに関する識別子を含む必要がなく; DＡに受け手への識別子を含んでいることは、それらが意図された受け手であることを受け手に確認させる)。
【００８１】
2. BはCertＡの確実性を確かめて、Aの署名公開鍵を抽出し、データブロックDＡのAの署名について確かめる。次に、BはM1の識別子が意図された受け手としてそれ自体を指定すること、およびタイムスタンプ TＡが有効であることをチェックし、RＡが再生されなかったことをチェックする。
【００８２】
3.全てのチェックが成功するなら、BはAの認証を成功と宣言し、そのセッション鍵を使用してk1を解読し、ダウンロードソフトウェア安全のためこの今共有された鍵を保管する。(一方的な認証だけが望まれるならば、これはプロトコルを終える)。Bは次に、タイムスタンプ TＢを入手し、乱数RＢを発生し、メッセージM2をAに送る。
【００８３】
4. 同様に、AはBによって実行されたそれらに類似の動作を実行する。すべてのチェックが成功するならば、AはBの認証が成功していると宣言し、その後の使用のため鍵k2が利用可能である。AとBは、セッション鍵がf(k1‖k2)として計算されるように、相互に秘密のk1とk2を共有し、f(k1‖k2)はそのときソフトウェア（ここに“ソフトウェア”はソフトデータを意味する一般的な感覚で使用される）を確実にダウンロードするのに使用され得る。
【００８４】
認証されたDiffie-Hellmanセッション鍵交換は公開鍵暗号を使用することによって、以下のように達成することができる:
開始者A(それは信頼されたソフトウェアプロバイダー、端末の製造者、オペレータまたは同様のものである)と移動端末Bは、AとBの暗号公開鍵の真正なコピーを処理し、これは例えば、ローカルに格納され、または公開鍵が例えば、デジタル証明書のように当事者間で交換されるかもしれない。上で説明された匿名のDiffie-Hellmanでのように、ZＰ＊(2≦g≦ p-2) の適切な素数pと生成素gが選択されかつ発行されて、望ましくはローカルに端末のメッセージに蓄えられ、次に以下の通り交換される:
【００８５】
M1:A → B:PＢ(ｇａ mod p‖A‖TＡ)            式 14
【００８６】
M2:A ← B:PＡ(gｂ mod p‖B‖TＡ‖TＢ)         式 15
【００８７】
M3:A → B:SＡ(Eｋ(software‖LC))             式16
ここにAとPＡおよびBとPＢがそれぞれ開始者と端末の識別子と公開鍵を含み、TＡとTＢがそれぞれAとBからのメッセージのためのタイムスタンプであり(A、B、TＡ、およびTＢは任意である)、kは鍵kを使用して予め形成された暗号操作を意味する。
【００８８】
Aはランダム値aを選択し、ｇａ mod pを計算し、M1をBに送る(端末にｇａmod p を格納する必要はなく、この値が暗号化されているので、それは中間にいる主要な人の攻撃から安全である)。移動端末Bはその秘密鍵を使用して受信されたメッセージを解読し、ランダム値bを選んで、ｇｂおよびｐを計算し、その秘密鍵を使用してメッセージを解読するAにM2（ｇｂ mod p）を送る。aとbの両方は1≦a≦ p-2および1≦ｂ≦ p-2を満たす正の整数である。端末Bはそれからセッション鍵k＝（ｇａ mod p）b mod p＝ｇａｂmod pを計算し；また、開始者Aはk＝（ｇｂ mod p）ａ mod p＝ｇａｂmod pを使用してセッション鍵を計算することができる。Aは次に、暗号化されたソフトウェアと望ましくは共有しているセッション鍵kを使用してLCに署名して、それをBに送る; ここで、LCはソフトウェアライセンスであり、セッション鍵kの有効期間を任意に指定して、著作権の詳細と同様のものを与えている。盗聴者はAおよびBの秘密鍵および約束値aとbを知らず、したがってセッション鍵を決定することが計算上実行不可能であり、中間攻撃の人からの脅威が軽減される。暗号化された識別子AとBはメッセージについての送り手のアイデンティティの保証を提供し、したがって望ましくは、M1はAを含むが、M2がBを含む必要は少ない。同様に、BだけがM2(TＢが含まれているか否かに関係なく)にこれを含むようにTＡを知り、メッセージがBによって正しく受け取られたことをAに暗示させる。TＢを含んでいることが定義されるべき時間のウィンドウTＢ-TＡを可能にし；これは望ましくは、例えば、1時間以下の任意の同様な解読時間より短い。ここに、望ましくはTＡはM1のための送付時間を定義し、TＢはM1のための(Bでの)受信時間を定義する。
【００８９】
方法の変形では、M3への代替手段は以下の通りである:
i）M3: A →B Eｋ(software‖LC)
ii）M3: A →B Eｋ(software‖LC)SＡ(Eｋ(software‖LC)
iii）M3: A →B Eｋ(software) SＡ（LC)
これらの代替手段はより速い暗号を提供することができる。(ii)において、操作メッセージ回復のない署名操作を使用することができ; (iii)においては、ソフトウェア中にライセンスがない場合((iii)において任意に、ライセンスEｋ(LC)の暗号化されたバージョンは署名されるかもしれない)、ライセンスのみが望ましくはメッセージ回復で署名される。
【００９０】
タイムスタンプは新しさと(メッセージ)を提供するのに使用され、ユニークさの保証、メッセージ回答のために時間のウィンドウを提供することができる。これは、一方的な鍵認証プロトコルの再生攻撃を受け易い、必要とされる、知られている鍵攻撃に対する安全を提供する助けになる。タイムスタンプベースの技術の安全は共通の時間の基準の使用に依存する。これは次に、同期されたホストクロックが利用可能であり、クロックのドリフトは使用される許容できる時間のウィンドウを受入れ可能に与えられねばならない。実際には、1時間より良い同期が長い時間のウィンドウで許容できるかもしれないが、1分より良い同期が好まれる。例えば、製造時に端末への内部クロックを設定することによって、同期を達成することができる。
【００９１】
端末がA、開始者またはオペレータの真正な証明書を処理する時(ローカルに格納されているか、メッセージで受け取られる)、上記一方的な鍵認証の技術が安全なソフトウェアダウンロードを提供する。相互認証プロトコルについて、AとBの両方が真正な証明書または公開鍵を処理するとき、AとBの秘密鍵を回復するためにブルートフォース攻撃は別として、成功するであろう、知られていない攻撃がある。しかしながら、X.509-文脈手順において、DＡ内の暗号PＢの範囲の中にAのような識別子を含まないので、署名当事者が実際にプラインテキスト鍵を知っていることは誰も保証することができない。すなわち、アイデンティティが暗号化されていないので、メッセージは鍵を暗号化しなかっただれかによって署名されることができた。
【００９２】
安全なソフトウェアダウンロードのために対称セッション鍵を輸送する公開鍵技術の用途は説明された。これは非対称のおよび対称のアプローチの両方の利点を結合する。PKIは非拒絶を提供し、論争があるならば両方の当事者を保護するが、PKIは計算上集中的であり、それ自身への安全なソフトウェアダウンロードに非効率的である。対称のセッション鍵は、信頼された当事者によって発行された公認された公開鍵を使用していったん鍵が輸送されると、効率的で速いダウンロードを可能にする手段を提供する。妥協されている鍵の安全要件と見込みによって、セッション鍵の寿命は短いか(例えば、ただ１つのデータ転送のため)、または長く(例えば、何カ月)することができる。
【００９３】
また、説明された技術は将来のプログラマブル移動ユーザ装置のMExE規格に適している。そのうえ、匿名のソフトウェアダウンロードの技術は、安全なＭコマースのためと同様に、フリーソフトウェア、チケット、クーポンをダウンロードするために各端末/クライアント要求の安全なソフトウェアダウンロードを可能にする。
【００９４】
発明の実施例は移動通信システムのサーバと移動端末に関する文脈で説明されたが、発明の態様は、例えば、ネットワークコンピュータシステムにおける他のアプリケーションを有する。また一般に、端末またはサーバのどちらかが上記プロトコルで最初のメッセージ開始者を含んでもよいが、簡潔のため特定の例示的実施例は開始者としてこれらの一方または他方に関して記述されたことが認識されるであろう。発明は説明された実施例に限定されるものではなく、請求の精神および範囲内で当業者に明らかな変更を包含する。
【図面の簡単な説明】
【００９５】
【図１】3G移動電話システムのための一般的な構造を示す。
【図２】移動電話ネットワークの移動装置とネットワークに結合されたサーバとの間の安全な通信リンクのための鍵管理の概要図を示す。
【図３】本発明の実施例による方法を実施するためのコンピュータシステムを示す。
【符号の説明】
【００９６】
200…モデル  202…移動装置  206…無線塔  208…移動通信ネットワーク  210…コンピュータネットワーク  204…サーバ  212、214…デジタル証明書
【図１】
2005515715.tif 000003
【図２】
2005515715.tif 000004
【図３】
2005515715.tif 000005
【国際調査報告】
2005515715.tif 000006