説明

相互認証のための方法および装置

【課題】デジタル権利エージェントを有するステーションとセキュアリムーバブルメディアデバイスとの間の相互認証のための方法を提供する。
【解決手段】エンティティA(デジタル権利エージェント202)がエンティティB(セキュアリムーバブルメディアデバイス204)にメッセージを送ることによって相互認証が開始する。エンティティBは、エンティティAの公開鍵を使用して第1の乱数を暗号化する。エンティティAは、暗号化された第1の乱数を復号し、少なくとも第1の乱数に基づいて第2の乱数および第1のハッシュを暗号化する。エンティティBは、暗号化された第2の乱数および第1のハッシュを復号し、デジタル権利エージェントを認証するために第1のハッシュを検証し、少なくとも第2の乱数に基づいて第2のハッシュを生成する。エンティティAは、エンティティBを認証するために第2のハッシュを検証する。

【発明の詳細な説明】
【米国特許法の下での優先権主張】
【0001】
本出願は、2006年10月10日に申請された「METHOD AND APPARATUS FOR MUTUAL AUTHENITICATION」と題する仮出願第60/850,882号への優先権を主張する。この仮出願は本願の譲受人に譲渡され、参照により本願に明確に組込まれる。
【技術分野】
【0002】
本発明は、一般に無線通信に関し、特に相互認証(mutual authentication)に関する。
【背景技術】
【0003】
モバイル加入者は、別のエンティティ(entity)あるいはエージェントによる、認証を必要とするシステムによって保護されたコンテンツへのアクセスを望む。普及している認証プロトコルは、RFC 4306に記述されたインターネット鍵交換(Internet Key Exchange)(IKE)プロトコルである。しかしながら、IKEプロトコルは、認証プロセスにおいてエンティティが、認証の速度は問題にしない程に十分な計算あるいは処理能力を有するものと仮定する。
【0004】
したがって、処理能力に制限のある装置に対する効率的な相互認証の技術が必要とされる。
【発明の概要】
【0005】
本発明の一態様は、第1のエンティティと第2のエンティティとの間の相互認証のための方法に存する。その方法では、第1のエンティティが第2のエンティティにメッセージを送ることにより相互認証を開始する。第2のエンティティは、第1のエンティティに関連した第1の公開鍵(public key)を検証(verify)し、第1の乱数を生成し、第1の公開鍵を使用して第1の乱数を暗号化(encrypt)し、暗号化された第1の乱数をメッセージ中で第1のエンティティに送る。第1のエンティティは、第2のエンティティに関連した第2の公開鍵を検証し、第1の公開鍵に対応する第1の秘密鍵(private key)を使用して、暗号化された第1の乱数を復号(decrypt)し、少なくとも第1の乱数に基づいて第1のハッシュを生成する第2の乱数を生成し、第2の公開鍵を使用して第2の乱数および第1のハッシュを暗号化し、暗号化された第2の乱数および第1のハッシュをメッセージ中で第2のエンティティに送る。第2のエンティティは、第2の公開鍵に対応する第2の秘密鍵を使用して、暗号化された第2の乱数および第1のハッシュを復号し、第1のエンティティを認証するために第1のハッシュを検証し、少なくとも第2の乱数に基づいて第2のハッシュを生成し、第2のハッシュを第1のエンティティに送る。第1のエンティティは、第2のエンティティを認証するために第2のハッシュを検証する。
【0006】
本発明のより詳細な態様では、第1のエンティティおよび第2のエンティティは各々、第1のエンティティと第2のエンティティとの間のコミュニケーションで使用するために、鍵導出関数(key derivation function)に基づいて、第1の乱数および第2の乱数を使用して、セッション暗号鍵(session encryption key)およびメッセージ認証コード(message authentication code)(MAC)キーを導出する。
【0007】
さらに、相互認証を開始するメッセージは、第1のエンティティのための少なくとも1個の信頼されたルート鍵(root key)のハッシュおよび対応する証明書チェーン(certificate chain)を含む。第1のエンティティのための証明書チェーンは、第1のエンティティに関連した公開鍵を含む。また、暗号化された第1の乱数を有する第2のエンティティから第1のエンティティへのメッセージは、さらに第2のエンティティのための証明書チェーンを含む。第2のエンティティのための証明書チェーンは、第2のエンティティに関連した公開鍵を含む。
【0008】
本発明のより詳細な態様では、第1のエンティティは移動局のデジタル権利エージェント(digital rights agent)であり、また、第2のエンティティはセキュア(secure)なリムーバブルメディアデバイスである。第2のエンティティは制限された処理能力を有する。また、第1のハッシュはさらに第2の乱数に基づき、第1のハッシュが第2の乱数と連結された第1の乱数に基づいて生成される。第2のハッシュはさらに第1の乱数に基づき、あるいはさらに第1のハッシュに基づき、第2のハッシュは第1のハッシュと連結された第2の乱数に基づく。
【0009】
本発明の他の態様は相互認証のための装置にあり、その装置は、相互認証を開始する手段と、第1の公開鍵を検証し、第1の乱数を生成し、第1の公開鍵を使用して第1の乱数を暗号化する手段と、第2の公開鍵を検証し、暗号化された第1の乱数を第1の公開鍵に対応する第1の秘密鍵を使用して復号し、第2の乱数を生成し、少なくとも第1の乱数に基づいて第1のハッシュを生成し、第2の公開鍵を使用して第2の乱数および第1のハッシュを暗号化する手段と、暗号化された第2の乱数および第1のハッシュを第2の公開鍵に対応する第2の秘密鍵を使用して復号し、認証のための第1のハッシュを検証し、少なくとも第2の乱数に基づいて第2のハッシュを生成する手段と、認証のための第2のハッシュを検証する手段とを含む。
【0010】
本発明の他の態様は、セキュアなリムーバブルメディアデバイスとの相互認証を有し、かつデジタル権利エージェントを含む移動局に存する。デジタル権利エージェントは、メッセージをセキュアリムーバブルメディアデバイスに送ることによって相互認証を開始する。ここで、セキュアリムーバブルメディアデバイスは、デジタル権利エージェントに関連した第1の公開鍵を検証し、第1の乱数を生成し、第1の公開鍵を使用して第1の乱数を暗号化し、メッセージ中の暗号化された第1の乱数をデジタル権利エージェントに送る。デジタル権利エージェントは、セキュアリムーバブルメディアデバイスに関連した第2の公開鍵を検証し、第1の公開鍵に対応する第1の秘密鍵を使用して、暗号化された第1の乱数を復号し、第2の乱数を生成し、少なくとも第1の乱数に基づいて第1のハッシュを生成し、第2の公開鍵を使用して第2の乱数および第1のハッシュを暗号化し、暗号化された第2の乱数および第1のハッシュをメッセージ中でセキュアリムーバブルメディアデバイスに送る。ここで、セキュアリムーバブルメディアデバイスは、第2の公開鍵に対応する第2の秘密鍵を使用して、暗号化された第2の乱数および第1のハッシュを復号し、デジタル権利エージェントを認証するために第1のハッシュを検証し、少なくとも第2の乱数に基づいて第2のハッシュを生成し、デジタル権利エージェントに第2のハッシュを送る。デジタル権利エージェントは、セキュアリムーバブルメディアデバイスを認証するために第2のハッシュを検証する。
【0011】
本発明のさらに他の態様はコンピュータ読取り可能な媒体を備えるコンピュータプログラム製品にあり、コンピュータ読取り可能な媒体は、デジタル権利エージェントを有するステーションのコンピュータに、メッセージをセキュアリムーバブルメディアデバイスに送ることによって相互認証を開始させるためのコードと(なお、セキュアリムーバブルメディアデバイスは、デジタル権利エージェントに関連した第1の公開鍵を検証し、第1の乱数を生成し、第1の公開鍵を使用して第1の乱数を暗号化し、暗号化された第1の乱数をメッセージ中でデジタル権利エージェントに送る)、コンピュータがデジタル権利エージェントに、セキュアリムーバブルメディアデバイスに関連した第2の公開鍵を検証させ、第1の公開鍵に対応する第1の秘密鍵を使用して、暗号化された第1の乱数を復号させ、第2の乱数を生成させ、少なくとも第1の乱数に基づいて第1のハッシュを生成させ、第2の公開鍵を使用して第2の乱数および第1のハッシュを暗号化させ、暗号化された第2の乱数および第1のハッシュをメッセージ中でセキュアリムーバブルメディアデバイスに送らせるためのコードと(なお、セキュアリムーバブルメディアデバイスは、第2の公開鍵に対応する第2の秘密鍵を使用して、暗号化された第2の乱数および第1のハッシュを復号し、デジタル権利エージェントを認証するために第1のハッシュを検証し、少なくとも第2の乱数に基づいて第2のハッシュを生成し、デジタル権利エージェントに第2のハッシュを送る)、コンピュータがデジタル権利エージェントに、セキュアリムーバブルメディアデバイスを認証するために第2のハッシュを検証させるためのコードとを備える。
【0012】
本発明のさらに他の態様はコンピュータ読取り可能な媒体を備えるコンピュータプログラム製品にあり、コンピュータ読取り可能な媒体は、コンピュータがセキュアリムーバブルメディアデバイスに、デジタル権利エージェントに関連した第1の公開鍵を検証させ、第1の乱数を生成させ、第1の公開鍵を使用して第1の乱数を暗号化させ、暗号化された第1の乱数をメッセージ中でデジタル権利に送らせるためのコードと(なお、デジタル権利エージェントは、セキュアリムーバブルメディアデバイスに関連した第2の公開鍵を検証し、第1の公開鍵に対応する第1の秘密鍵を使用して、暗号化された第1の乱数を復号し、第2の乱数を生成し、少なくとも第1の乱数に基づいて第1のハッシュを生成し、第2の公開鍵を使用して第2の乱数および第1のハッシュを暗号化し、暗号化された第2の乱数および第1のハッシュをメッセージ中でセキュアリムーバブルメディアデバイスに送る)、コンピュータがセキュアリムーバブルメディアデバイスに、第2の公開鍵に対応する第2の秘密鍵を使用して暗号化された第2の乱数および第1のハッシュを復号させ、デジタル権利エージェントを認証するために第1のハッシュを検証させ、少なくとも第2の乱数に基づいて第2のハッシュを生成させ、第2のハッシュをデジタル権利エージェントに送らせるためのコード(なお、デジタル権利エージェントはセキュアリムーバブルメディアデバイスを認証するために第2のハッシュを検証する)とを備える。
【図面の簡単な説明】
【0013】
【図1】図1は無線通信システムの例である。
【図2】図2は、移動局、および相互認証を有するセキュアリムーバブルメディアデバイスのブロックダイヤグラムである。
【図3】図3は、移動局とセキュアリムーバブルメディアデバイスとの間の相互認証のための方法のフローチャートである。
【発明の詳細な説明】
【0014】
「典型的」という語は「例、インスタンスあるいは実例として役立つ」を意味するためにここに使用される。ここで「典型的である」と記述されたいかなる実施例も、必ずしも他の実施例よりも好ましい、あるいは有利であると解釈されるものではない。
【0015】
移動局(MS)、アクセスターミナル(AT)、ユーザ設備あるいは加入者ユニットとしても知られている遠隔ステーションは、モバイルであっても静止してもよく、基地トランシーバステーション(BTS)あるいはノードBとしても知られている1つ以上の基地局と通信する。遠隔ステーションは、1つ以上の基地局を介して、無線ネットワークコントローラ(RNC)としても知られている基地局コントローラにデータパケットを送受信する。基地局および基地局コントローラはアクセスネットワークと呼ばれるネットワークの部分である。アクセスネットワークは、複数の遠隔ステーション間でデータパケットを輸送する。アクセスネットワークは、さらに、企業イントラネットあるいはインターネットのようなアクセスネットワークの外部で追加のネットワークに接続され、各遠隔ステーションとそのような外部ネットワークとの間でデータパケットを輸送する。1つ以上の基地局とのアクティブなトラヒックチャンネル接続を確立した遠隔ステーションは、アクティブ遠隔ステーションと呼ばれ、トラヒック状態にあると言われる。1つ以上の基地局とのアクティブなトラヒックチャンネル接続を確立する過程にある遠隔ステーションは、接続セットアップ状態であると言われる。遠隔ステーションは、無線チャンネルを介して通信する任意のデータ装置であり得る。遠隔ステーションは、さらに、PCカード、コンパクトフラッシュ(登録商標)、外部あるいは内蔵モデム、あるいは無線電話を含む、これらに限定されない様々な形式の任意のデバイスであり得る。遠隔ステーションが基地局に信号を送る通信リンクはアップリンクと呼ばれ、逆方向リンクとしても知られている。基地局が遠隔ステーションに信号を送る通信リンクはダウンリンクと呼ばれ、順方向リンクとしても知られている。
【0016】
図1に関して、無線通信システム100は、1つ以上の無線移動局(MS)102、1つ以上の基地局(BS)104、1つ以上の基地局コントローラ(BSC)106、および、1つのコアネットワーク108を含む。コアネットワークは、適切なバックホールを介してインターネット110および公衆スイッチ電話ネットワーク(PSTN)112に接続されている。典型的な無線移動局は、携帯型の電話、あるいはラップトップコンピュータを含む。無線通信システム100は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、空間分割多元接続(SDMA)、極分割多元接続(PDMA)あるいは当該技術分野において既知の他の変調技術のような多くの多元接続技術のうちの任意のものを使用し得る。
【0017】
スマートカードおよびフラッシュメモリ(様々なフォームファクターで)のような計算能力が制限されている多くの低価格装置が市場に導入されている。そのような装置は認証を要求する。例えば、デジタル著作権管理(DRM)システムによってこれらの装置に使用権を所有させるという要求がある。これらの装置で使用権を交換する前に、交換を認可されたエンティティに制限するために、交換に関与する両方のエンティティの相互認証が必要である。これらの実施例は、相互認証を遂行するための効率的な方法を提供し、また、関与するエンティティ間での更なる通信において使用することができる、承認された秘密の交換(confirmed exchange of a secret)を提供する。効率は、計算能力と速度の両方の観点にある。
【0018】
当業者には明白なように、相互認証スキームは、2つのエンティティ間で相互認証が要求されるいかなるときも使用することができる。相互認証スキームは、ここにおいて実施例を説明するために使用される特定のアプリケーション(デジタル権利管理のような)、システム、およびデバイスに制限されない。
【0019】
本発明の1つの実施例は、4つのメッセージの交換を使用して、確認鍵交換(confirmed key exchange)による相互認証を実行する。それは、2つの公開鍵署名検証(すべての中間証明用に+1)、2つの公開鍵暗号化、2つの公開鍵復号、2つのハッシュ生成、および2つのハッシュ検証を必要とする。メッセージ交換、公開鍵検証、公開鍵復号、ハッシュ生成およびハッシュ検証の特定の数は、要求された量のセキュリティおよび効率を達成するために、分割あるいは変更されてもよい。
【0020】
プロトコルの効率は、公開鍵暗号のオペレーション数を最小化し、また、交換された鍵材料の所有の証拠を提供するためにハッシュ関数を使用することによって増強される。
【0021】
効率的な相互認証と確認鍵交換プロトコルは、計算バウンドデバイス(compute-bound device)での使用のために記述される。効率は、公開鍵オペレーションの数を最小化し、所有の証拠を提供するために暗号ハッシュ(cryptographic hashes)を使用することによって達成される。
【0022】
プロトコルは、相互認証のための方法300(図3)を示す図2および図3に関して例証される。下記のステップは図3中の番号が付けられた矢印に相当する。
【0023】
方法300では、エンティティA(例えばMS 102のDRMエージェント202)が、エンティティB(例えばSRMエージェント206を有するセキュアリムーバブルメディア(SRM)デバイス204)にHelloAメッセージを送信する(ステップ302)。SRMエージェントは、SRMデバイス中のセキュアストレージ208へのアクセスを管理する。(MSのオペレーティングシステム210は、SRM装置のゼネラルストレージ212に直接アクセスする。) HelloAは、信頼されたルート鍵(あるいはルート鍵のそれら自身)のハッシュおよび対応する証明書チェーンから成る。このメッセージを受け取ると、エンティティBは、それがメッセージから信頼するルート鍵を見つけ、選択されたルート鍵の下での証明書チェーンを見つける。それは、選択されたルート鍵の下でのエンティティAの証明書チェーンを検証する。
【0024】
エンティティBは乱数RanBを生成する(ステップ304)。
【0025】
エンティティBはエンティティAにHelloBメッセージを送信する(ステップ306)。HelloBは、選択されたルート鍵の下でのBの証明書チェーンと、ステップ302の後に選択された証明書チェーンからのエンティティAの公開鍵で暗号化されたRanBとから成る。エンティティAがこのメッセージを受け取ると、エンティティBの証明書チェーンを検証する。有効な場合、それはその秘密鍵(選択されたルート鍵に対応する)でRanBを復号する。
【0026】
一旦ルート鍵選択と証明書チェーン交換が生じたならば、エンティティAおよびエンティティBは互いの証明書チェーンを持つことに注意されたい。したがって、これらのパラメータは、将来の相互認証のためにエンティティAとエンティティBとの間での将来のHelloAおよびHelloBメッセージ中で送られる必要はない。その場合、ステップ302および306の証明書チェーン交換はオプションである。
【0027】
エンティティAはRanAを生成する(ステップ308)。
【0028】
エンティティAはエンティティBにKeyConfirmAメッセージを送信する(ステップ310)。KeyConfirmAは、RanA、それに連結したRanBのハッシュ、それに連結したRanA(H[RanA|RanB])およびBの公開鍵で暗号化したこのすべてから成る。このメッセージを受け取ると、エンティティBはそれを復号する。復号されたRanAを使用して、それは、RanAと連結されたRanBのハッシュを検証する。注:このステップでは、エンティティBはエンティティAを認証しており、エンティティAがRanBを知っていることが保証される。
【0029】
エンティティBはエンティティAにKeyConfirmBメッセージを送信する(ステップ312)。KeyConfirmBは、KeyConfirmAメッセージの復号された部分のハッシュから成る。このメッセージを受け取ると、エンティティAはハッシュを検証する。注:このステップでは、エンティティAはエンティティBを認証しており、エンティティBがRanAを知っていることが保証される。
【0030】
この時点で、両方のエンティティは互いを認証し、それらが各々同じRanAおよびRanBを共有することを確認している。RanAとRanBは、パーティー間のさらなる通信での使用のために、鍵導出関数(KDF)に基づいて、セッション暗号鍵(SK)およびMAC鍵(MK)を導出するために使用することができる(ステップ314)。
【0031】
メッセージの詳細が以下に与えられる。HelloAメッセージは、相互認証を開始するために鍵確認プロトコル(key confirmation protocol)と共に送信される。HelloAメッセージは「バージョン」パラメータと「rootAndChains[ ]」パラメータを有する。バージョンパラメータは8ビット値で、このメッセージのプロトコルバージョンを含む。それは、主バージョン用の5つのMSBと、小さなバージョン用の3つのLSBとして写像される。
【0032】
rootAndChains[ ]パラメータは、エンティティAによって支持されたすべての信頼モデルの下での、エンティティAのためのルート・ハッシュ配列(an array of the root hashes)および証明書チェーンである。パラメータのための構造、RootHashAndCertChainは、パラメータrootHashであり、それは信頼モデルのルート公開鍵のSHA-1ハッシュである。またパラメータcertChainは、ルート公開鍵の下でのエンティティの証明書チェーンである。エンティティの証明書が最初に来て、それに任意のCA証明書(署名の順に)がルート証明書(それは含まない)まで続く。
【0033】
HelloBメッセージは、エンティティBによる鍵確認プロトコルを備えた相互認証を継続する。次のテーブルはパラメータについて記述する。HelloBはパラメータとして次のものを有する。「バージョン」、「ステータス」、「certChain」および「encRanB」バージョンパラメータは8ビット値で、このメッセージのプロトコルバージョンを含む。それは、主バージョン用の5つのMSBと、小さなバージョン用の3つのLSBとして写像される。ステータスパラメータは、HelloAメッセージを処理するエンティティBのステータスを含む、8ビット値である。ステータスパラメータの値は、成功は0(前のメッセージでエラーに遭遇しなかった)、noSharedRootKeyは1(エンティティBがエンティティAと共有するルート鍵を発見できなかった)である。値2-255が将来の使用のためにリザーブされる。
【0034】
certChainパラメータは、HelloAメッセージから選択されたルート鍵の下でのエンティティBの証明書チェーンである。ステータスパラメータの値が成功でない場合、certChainパラメータは存在しない。encRanBパラメータは、エンティティAの公開鍵(選択された証明書チェーンからの)を使用した、RSA-OAEP 暗号化ranBである。ranBはエンティティBによって生成された20バイトの乱数である。ステータスの値が成功でない場合、encRanBパラメータは存在しない。
【0035】
KeyConfirmAメッセージは、エンティティAによる鍵確認プロトコルを備えた相互認証を継続する。KeyConfirmAメッセージは「バージョン」パラメータと「encRanB」パラメータを有する。バージョンパラメータは、このメッセージのプロトコルバージョンを含んでいる8ビット値である。それは、主バージョン用の5つのMSBと、小さなバージョン用の3つのLSBとして写像される。encRanBパラメータは、「ranA」パラメータと「hashBA」パラメータを有するRSA-OAEP 暗号化 KeyConfirmData 構造である。ranAパラメータは、エンティティAによって生成された20バイトの乱数であり、また、ハッシュBAパラメータは、ranAと連結されたranBのSHA-1ハッシュである。
【0036】
KeyConfirmBメッセージは、エンティティBによる鍵確認プロトコルを備えた相互認証を終了させる。KeyConfirmBメッセージは「バージョン」パラメータ、ステータスパラメータおよび「hashKeyConfirm」パラメータを有する。バージョンパラメータは、このメッセージのプロトコルバージョンを含んでいる8ビット値である。それは、主バージョン用の5つのMSBと、小さなバージョン用の3つのLSBとして写像される。ステータスパラメータは、メッセージを処理するエンティティBのステータスを含んでいる8ビット値である。hashKeyConfirmパラメータは、エンティティBによって復号されたKeyConfirmData 構造のSHA-1ハッシュである。ステータスパラメータの値が成功でない場合、このパラメータは存在しない。
【0037】
本発明の他の態様は、DRMエージェント202に方法300を実現させるために、制御プロセッサ216およびOS 210を含む移動局102に存する。本発明のさらに他の態様は、コンピュータに方法300のステップをDRMエージェントに行なわせるためのコードを含む、コンピュータ読取り可能な媒体(メモリデバイス218のような)を含むコンピュータプログラム製品に存する。
【0038】
当業者は、情報および信号が様々な異なる技術および技法のうちのいずれを使用して表わされてもよいことを理解するであろう。例えば、上の記述の全体にわたって参照されたデータ、命令、コマンド、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁界またはパーティクル、光学フィールドまたはパーティクル、あるいはそれの任意の組み合わせによって表わされてもよい。
【0039】
熟練者はまた、ここに示された実施例に関して記述された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズム・ステップは、電子ハードウェア、コンピュータ・ソフトウェアあるいはその両方の組み合わせとしてインプリメントされてもよいことを認識するであろう。 このハードウェアとソフトウェアの互換性を明白に例証するために、上では様々な例示となるコンポーネント、ブロック、モジュール、回路およびステップが、それらの機能性の点から概論的に説明された。 そのような機能性がハードウェアとしてインプリメントされるかソフトウェアとしてインプリメントされるかは、全体システムに課された特定のアプリケーションおよび設計制約に依存する。 熟練した職人は記述された機能性を各特定のアプリケーション用に変更してインプリメントしてもよいが、そのようなインプリメンテーションの決定が本発明の範囲からの離脱を引き起こすと解釈されるべきでない。
【0040】
ここに示された実施例に関して記述された様々な例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセサ(DSP)、特定用途向けIC(ASIC)、フィールドプログラム可能なゲートアレイ(FPGA)あるいは他のプログラム可能な論理回路、個別ゲートあるいはトランジスタ・ロジック、個別のハードウェア・コンポーネント、あるいはここに記述された機能を実行するために設計されたそれらの任意の組み合わせによってインプリメントあるいは実行することができる。 汎用プロセッサはマイクロプロセッサであり得る。しかし、代替では、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラあるいは状態マシンであってもよい。また、プロセッサは、例えばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと協働する1個以上のマイクロプロセッサ、あるいは他のそのような構成のような計算装置の組み合わせとしてインプリメントすることができる。
【0041】
ここに示された実施例に関して記述された方法あるいはアルゴリズムのステップは、ハードウェアに直接、あるいはプロセッサによって実行されるソフトウェアモジュールに、あるいはそれら2つの組み合わせ中で具現化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、あるいは当該技術分野で既知の他の形式の記憶メディアに存在することができる。典型的な記憶メディアはプロセッサに結合され、プロセッサが記憶メディアから情報を読むことができ、記憶メディアに情報を書くことができる。代替では、記憶メディアはプロセッサと一体であり得る。プロセッサと記憶メディアはASICに存在してもよい。 ASICはユーザ端末に存在してもよい。代替では、プロセッサと記憶メディアはユーザ端末中に個別のコンポーネントとして存在してもよい。
【0042】
1つ以上の典型的な実施例では、記述された機能は、ハードウェア、ソフトウェア、ファームウェアあるいはそれの任意のコンビネーション中でインプリメントされ得る。もしコンピュータプログラム製品としてソフトウェア中でインプリメントされるならば、機能は、コンピュータが読み取り可能な媒体上の1つ以上の命令あるいはコードとして、格納され、あるいは送信され得る。コンピュータが読み取り可能な媒体は、コンピュータ記憶媒体およびある場所から別の場所へコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスすることができるあらゆる利用可能な媒体であり得る。制限ではなく例示として、そのようなコンピュータ可読媒体はRAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、命令もしくはデータ構造の形で所要のプログラムコードを運びもしくは格納するために使用することができ、コンピュータによってアクセスされることができる他の媒体を含む。さらに、いかなる接続もコンピュータが読み取り可能な媒体と適切に名付けられる。例えば、ソフトウェアがウェブサイト、サーバーあるいは他の遠隔の出所から、同軸ケーブル、光ファイバケーブル、撚り対線、デジタル加入者線(DSL)あるいは赤外線、無線およびマイクロ波のような無線技術を使用して送信される場合、同軸ケーブル、光ファイバケーブル、撚り対線、DSLあるいは赤外線、無線およびマイクロ波のような無線技術は、媒体の定義に含まれる。ここで使用されたディスクは、磁気的にデータを再生し、あるいはレーザーでデータを光学上に再生する、コンパクト・ディスク(CD)、レーザーディスク(登録商標)、光ディスク、ディジタル・バーサタイル・ディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイ・ディスクを含む。上記のもののコンビネーションもまた、コンピュータが読み取り可能な媒体の範囲内に含まれるべきである。
【0043】
開示された実施例の以上の記述は、いかなる当業者も本発明を製造あるいは使用することを可能にするために提供される。 これらの実施例への様々な変更は当業者に容易に明白であり、またここに定義された総括的な本質は、開示の精神あるいは範囲から逸脱することなく、他の実施例に適用することができる。したがって、本開示は、ここに示された実施例に制限されるようには意図されず、ここに示された本質と新規な特徴と合致する最も広い範囲が与えられるべきものである。

【特許請求の範囲】
【請求項1】
第1のエンティティと第2のエンティティとの間の相互認証のための方法であって、
前記第1のエンティティが前記第2のエンティティにメッセージを送信することにより相互認証を開始することと;
前記第2のエンティティが前記第1のエンティティに関連した第1の公開鍵を検証し、第1の乱数を生成し、前記第1の公開鍵を使用して前記第1の乱数を暗号化し、前記暗号化された第1の乱数をメッセージ中で前記第1のエンティティに送信することと;
前記第1のエンティティが前記第2のエンティティに関連した第2の公開鍵を検証し、前記第1の公開鍵に対応した第1の秘密鍵を使用して前記暗号化された第1の乱数を復号し、第2の乱数を生成し、少なくとも前記第1の乱数に基づいて第1のハッシュを生成し、前記第2の公開鍵を使用して前記第2の乱数および前記第1のハッシュを暗号化し、前記暗号化された第2の乱数および第1のハッシュをメッセージ中で前記第2のエンティティに送信することと;
前記第2のエンティティが前記第2の公開鍵に対応する第2の秘密鍵を使用して前記暗号化された第2の乱数および第1のハッシュを復号し、前記第1のエンティティを認証するために前記第1のハッシュを検証し、少なくとも前記第2の乱数に基づいて第2のハッシュを生成し、前記第2のハッシュを前記第1のエンティティに送信することと;
前記第1のエンティティが前記第2のエンティティを認証するために前記第2のハッシュを検証することと;
を備える相互認証方法。
【請求項2】
前記第1のエンティティおよび前記第2のエンティティのそれぞれは、前記第1のエンティティと前記第2のエンティティとの間の通信で使用するために、前記第1の乱数および前記第2の乱数を使用して、鍵導出関数に基づいてセッション暗号鍵およびメッセージ認証コード(MAC)鍵を導出する、請求項1に記載の相互認証方法。
【請求項3】
前記相互認証を開始するメッセージは、前記第1のエンティティのための少なくとも1つの信頼されたルート鍵のハッシュおよび対応する証明書チェーンを含む、請求項1に記載の相互認証方法。
【請求項4】
前記暗号化された第1の乱数を有する、前記第2のエンティティから前記第1のエンティティへの前記メッセージは、さらに、前記第2のエンティティのための証明書チェーンを含む、請求項1に記載の相互認証方法。
【請求項5】
前記第1のエンティティはデジタル権利エージェントであり、前記第2のエンティティはセキュアリムーバブルメディアデバイスである、請求項1に記載の相互認証方法。
【請求項6】
前記第1のエンティティは移動局である、請求項1に記載の相互認証方法。
【請求項7】
前記第2のエンティティは制限された処理能力を有する、請求項1に記載の相互認証方法。
【請求項8】
前記第1のハッシュはさらに少なくとも前記第2の乱数に基づき、前記第1のハッシュは少なくとも前記第2の乱数が連結された前記第1の乱数に基づいて生成される、請求項1に記載の相互認証方法。
【請求項9】
前記第2のハッシュはさらに少なくとも前記第1の乱数に基づく、請求項1に記載の相互認証方法。
【請求項10】
前記第2のハッシュはさらに少なくとも前記第1のハッシュに基づき、前記第2のハッシュは少なくとも前記第1のハッシュが連結された前記第2の乱数に基づいて生成される、請求項1に記載の相互認証方法。
【請求項11】
相互認証のための装置であって、
相互認証を開始する手段と;
第1の公開鍵を検証し、第1の乱数を生成し、前記第1の公開鍵を使用して前記第1の乱数を暗号化する手段と;
第2の公開鍵を検証し、前記第1の公開鍵に対応する第1の秘密鍵を使用して前記暗号化された第1の乱数を復号し、第2の乱数を生成し、少なくとも前記第1の乱数に基づいて第1のハッシュを生成し、前記第2の公開鍵を使用して前記第2の乱数および前記第1のハッシュを暗号化する手段と;
前記第2の公開鍵に対応する第2の秘密鍵を使用して前記暗号化された第2の乱数および第1のハッシュを復号し、認証のために前記第1のハッシュを検証し、少なくとも前記第2の乱数に基づいて第2のハッシュを生成する手段と;
認証のために前記第2のハッシュを検証する手段と;
を備えた相互認証装置。
【請求項12】
前記第1のエンティティと前記第2のエンティティとの間の通信で使用するために、前記第1の乱数および前記第2の乱数を使用して、鍵導出関数に基づいてセッション暗号鍵およびメッセージ認証コード(MAC)鍵を導出する手段をさらに備えた、請求項11に記載の相互認証装置。
【請求項13】
前記第1のハッシュはさらに少なくとも前記第2の乱数に基づき、前記第1のハッシュは少なくとも前記第2の乱数が連結された前記第1の乱数に基づいて生成される、請求項11に記載の相互認証装置。
【請求項14】
前記第2のハッシュはさらに少なくとも前記第1の乱数に基づく、請求項11に記載の相互認証装置。
【請求項15】
前記第2のハッシュはさらに前記1のハッシュに基づき、前記第2のハッシュは前記第1のハッシュが連結された前記第2の乱数に基づいて生成される、請求項11に記載の相互認証装置。
【請求項16】
セキュアリムーバブルメディアデバイスとの相互認証を有するステーションであって、
デジタル権利エージェントを備え、
前記デジタル権利エージェントは、前記セキュアリムーバブルメディアデバイスにメッセージを送ることにより相互認証を開始し、なお、前記セキュアリムーバブルメディアデバイスは、前記デジタル権利エージェントに関連した第1の公開鍵を検証し、第1の乱数を生成し、前記第1の公開鍵を使用して前記第1の乱数を暗号化し、前記暗号化された第1の乱数をメッセージ中で前記デジタル権利エージェントに送る;
前記デジタル権利エージェントは、前記セキュアリムーバブルメディアデバイスに関連した第2の公開鍵を検証し、前記第1の公開鍵に対応する第1の秘密鍵を使用して前記暗号化された第1の乱数を復号し、第2の乱数を生成し、少なくとも前記第1の乱数に基づいて第1のハッシュを生成し、前記第2の公開鍵を使用して前記第2の乱数および前記第1のハッシュを暗号化し、前記暗号化された第2の乱数および第1のハッシュをメッセージ中で前記セキュアリムーバブルメディアデバイスに送り、なお、前記セキュアリムーバブルメディアデバイスは、前記第2の公開鍵に対応する第2の秘密鍵を使用して前記暗号化された第2の乱数および第1のハッシュを復号し、前記デジタル権利エージェントを認証するために前記第1のハッシュを検証し、少なくとも前記第2の乱数に基づいて第2のハッシュを生成し、前記第2のハッシュを前記デジタル権利エージェントに送る;
前記デジタル権利エージェントは、前記セキュアリムーバブルメディアデバイスを認証するために前記第2のハッシュを検証する;
ステーション。
【請求項17】
前記デジタル権利エージェントおよびセキュアリムーバブルメディアデバイスの各々は、前記デジタル権利エージェントとセキュアリムーバブルメディアデバイスとの間の通信で使用するために、前記第1の乱数および前記第2の乱数を使用して、鍵導出関数に基づいてセッション暗号鍵およびメッセージ認証コード(MAC)鍵を導出する、請求項16に記載の相互認証を有するステーション。
【請求項18】
前記相互認証を開始するために前記デジタル権利エージェントによって送られたメッセージは、前記デジタル権利エージェントのための少なくとも1つの信頼されたルート鍵のハッシュおよび対応する証明書チェーンを含む、請求項16に記載の相互認証を有するステーション。
【請求項19】
前記デジタル権利エージェントのための前記証明書チェーンは、前記デジタル権利エージェントに関連した前記公開鍵を含む、請求項18に記載の相互認証を有するステーション。
【請求項20】
前記暗号化された第1の乱数を有し前記セキュアリムーバブルメディアデバイスによって前記デジタル権利エージェントに送られる前記メッセージは、さらに、前記セキュアリムーバブルメディアデバイスのための証明書チェーンを含む、請求項16に記載の相互認証を有するステーション。
【請求項21】
前記セキュアリムーバブルメディアデバイスのための前記証明書チェーンは、前記セキュアリムーバブルメディアデバイスに関連した前記公開鍵を含む、請求項20に記載の相互認証を有するステーション。
【請求項22】
前記ステーションは移動局である、請求項16に記載の相互認証を有するステーション。
【請求項23】
前記第1のハッシュはさらに少なくとも第2の乱数に基づき、前記デジタル権利エージェントは少なくとも前記第2の乱数が連結された前記第1の乱数に基づいて前記第1のハッシュを生成する、請求項16に記載の相互認証を有するステーション。
【請求項24】
コンピュータが読取り可能な媒体を備えたコンピュータプログラム製品であって、
前記コンピュータが読取り可能な媒体は、
前記コンピュータに、デジタル権利エージェントをして、セキュアリムーバブルメディアデバイスにメッセージを送ることによって相互認証を開始させるためのコードと、なお、前記セキュアリムーバブルメディアデバイスは、前記デジタル権利エージェントに関連した第1の公開鍵を検証し、第1の乱数を生成し、前記第1の公開鍵を使用して前記第1の乱数を暗号化し、前記暗号化された第1の乱数をメッセージ中で前記デジタル権利エージェントに送る;
前記コンピュータに、前記デジタル権利エージェントをして、前記セキュアリムーバブルメディアデバイスに関係した第2の公開鍵を検証させ、前記第1の公開鍵に対応する第1の秘密鍵を使用して前記暗号化された第1の乱数を復号させ、第2の乱数を生成させ、少なくとも前記第1の乱数に基づいて第1のハッシュを生成させ、前記第2の公開鍵を使用して前記第2の乱数および前記第1のハッシュを暗号化させ、前記暗号化された第2の乱数および第1のハッシュをメッセージ中で前記セキュアリムーバブルメディアデバイスに送らせるためのコードと、なお、前記セキュアリムーバブルメディアデバイスは、前記第2の公開鍵に対応する第2の秘密鍵を使用して前記暗号化された第2の乱数および第1のハッシュを復号し、前記デジタル権利エージェントを認証するために前記第1のハッシュを検証し、少なくとも前記第2の乱数に基づいて第2のハッシュを生成し、前記第2のハッシュを前記デジタル権利エージェントに送る;
前記コンピュータに、前記デジタル権利エージェントをして、前記セキュアリムーバブルメディアデバイスを認証するために前記第2のハッシュを検証させるためのコードと;
を備えたコンピュータプログラム製品。
【請求項25】
コンピュータが読取り可能な媒体を備えたコンピュータプログラム製品であって、 前記コンピュータが読取り可能な媒体は、
前記コンピュータに、セキュアリムーバブルメディアデバイスをして、デジタル権利エージェントに関連した第1の公開鍵を検証させ、第1の乱数を生成させ、前記第1の公開鍵を使用して前記第1の乱数を暗号化させ、前記暗号化された第1の乱数をメッセージ中で前記デジタル権利エージェントに送らせるためのコードと、なお、前記デジタル権利エージェントは、前記セキュアリムーバブルメディアデバイスに関連した第2の公開鍵を検証し、前記第1の公開鍵に対応する第1の秘密鍵を使用して前記暗号化された第1の乱数を復号し、第2の乱数を生成し、少なくとも前記第1の乱数に基づいて第1のハッシュを生成し、前記第2の公開鍵を使用して前記第2の乱数および前記第1のハッシュを暗号化し、前記暗号化された第2の乱数および第1のハッシュをメッセージ中で前記セキュアリムーバブルメディアデバイスに送る;
前記コンピュータに、前記セキュアリムーバブルメディアデバイスをして、前記第2の公開鍵に対応する第2の秘密鍵を使用して前記暗号化された第2の乱数および第1のハッシュを復号させ、前記デジタル権利エージェントを認証するために前記第1のハッシュを検証させ、少なくとも前記第2の乱数に基づいて第2のハッシュを生成させ、前記第2のハッシュを前記デジタル権利エージェントに送らせるためのコードと、なお、前記デジタル権利エージェントは前記セキュアリムーバブルメディアデバイスを認証するために前記第2のハッシュを検証する;
を備えたコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−17197(P2013−17197A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−181116(P2012−181116)
【出願日】平成24年8月17日(2012.8.17)
【分割の表示】特願2009−532508(P2009−532508)の分割
【原出願日】平成19年10月5日(2007.10.5)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】