JP6523967B2 - 認証および鍵交換のための方法およびデバイス - Google Patents

認証および鍵交換のための方法およびデバイス Download PDF

Info

Publication number
JP6523967B2
JP6523967B2 JP2015556949A JP2015556949A JP6523967B2 JP 6523967 B2 JP6523967 B2 JP 6523967B2 JP 2015556949 A JP2015556949 A JP 2015556949A JP 2015556949 A JP2015556949 A JP 2015556949A JP 6523967 B2 JP6523967 B2 JP 6523967B2
Authority
JP
Japan
Prior art keywords
response
cryptographic
function
key
authentication challenge
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.)
Active
Application number
JP2015556949A
Other languages
English (en)
Other versions
JP2016507196A (ja
Inventor
ロベルト・アヴァンジ
ボリス・ドルグノフ
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016507196A publication Critical patent/JP2016507196A/ja
Application granted granted Critical
Publication of JP6523967B2 publication Critical patent/JP6523967B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Description

優先権の主張
本特許出願は、その開示全体が参照により本明細書に明確に組み込まれる、2013年2月7日に出願された「Countermeasures Against Security Weaknesses in CPRM Compliance」と題する仮出願第61/762,198号の特許優先権を主張する。
様々な特徴は、コンテンツを保護すること、より詳細には、記録可能な媒体規格に対するコンテンツ保護のためのセキュリティ対策を改善することに関する。
記録可能媒体(たとえば、メモリ回路、デジタルストレージデバイスなど)上でコンテンツ(たとえば、著作権付きの音楽、ビデオ、プログラミング、機密データなど)を保護するための多くのセキュリティアルゴリズムが存在する。たとえば、コンテンツプロバイダは、ストレージデバイスが著作権付きのコンテンツを別の未許可の通信デバイスに送信するのを制限することを望む場合がある。したがって、コンテンツプロバイダは、ストレージデバイスが、そのストレージデバイスからのコンテンツを要求する他の通信デバイスにそのコンテンツを送信することを可能にするのに先立って、要求側の通信デバイスを認証する暗号セキュリティアルゴリズムをそのストレージデバイス上に設定することができる。コンテンツ送信に先立って要求側の通信デバイスを認証することは、そのコンテンツが許可なしに配信されることから守ることを試みる。
未許可のデータ送信から守るのを助ける無数のセキュリティアルゴリズムにもかかわらず、多くは、巧妙な不正当事者によって検出および悪用され得るセキュリティ脆弱性を有する。一部のセキュリティアルゴリズムに存在する1つのそのようなセキュリティ脆弱性が図1で説明される。
図1は、先行技術に見られるセキュリティアルゴリズムプロトコルを示す。具体的には、図1は、アクセスデバイス102と不正ストレージデバイス104との間の相互認証および鍵交換(AKE)の方法ステップフロー図100を示す。この例では、アクセスデバイス102は、AKEを使用して、著作権付きのコンテンツおよび/または制限を受けるコンテンツを別の許可されたストレージデバイス上に記録することを望む許可された記録デバイスである。AKEは、対称鍵暗号アルゴリズムを利用して、アクセスデバイス102および他の許可されたストレージデバイスなど、許可された通信デバイスを認証する。許可されたストレージデバイスは、たとえば、セキュアなコンテンツを記憶する不揮発性メモリ回路(たとえば、FLASH、セキュアデジタル(SD)カードなど)を含む。示される例では、不正ストレージデバイス104は、許可されたストレージデバイスを装う任意の通信デバイスであり得る。
図1を参照すると、アクセスデバイス102は、疑うことなく、コンテンツを不正ストレージデバイス104に記録することを望む。しかしながら、そうする前に、アクセスデバイス102はそのストレージデバイス104を認証しなければならない。したがって、アクセスデバイス102は、対称鍵Kmu106を生成すること(あるいは、別の方法で提供されること)によってAKEプロセスを開始する(通常、許可されたストレージデバイスもその対称鍵Kmuの複写を有することになる)。次いで、アクセスデバイス102は、第1の認証チャレンジ108を生成して、不正ストレージデバイス104に送信する。第1の認証値は、暗号化暗号アルゴリズム(encryption cipher algorithm)とキーKmuとを使用して暗号化された乱数である。別の乱数を用いて、その独自の一意の第2の認証チャレンジを生成する代わりに、不正ストレージデバイス104は、受信された第1の認証チャレンジに等しいその第2の認証チャレンジを設定する(110)。不正ストレージデバイス104は、他の許可されたストレージデバイスが一意の認証チャレンジを生成するために通常使用することになる対称鍵Kmuを有さないと推定されることに留意されたい。不正ストレージデバイス104は、次いで、第2の認証チャレンジ112をアクセスデバイス102に送信する。アクセスデバイス102は、第2の認証チャレンジに基づいて、かつそれに応答して、応答R2を生成する(114)。たとえば、応答R2は式(1)によって与えられる:
R2=Ex(Kmu,AC2) XOR AC2 (1)
式中、AC2は第2の認証チャレンジであり、XORは排他的OR演算であり、Exは暗号化暗号アルゴリズムである。アクセスデバイス102は、次いで、応答R2を不正ストレージデバイス104に送信する(116)。
次いで、許可されたストレージデバイスは、通常、アクセスデバイスから受信された第1の認証チャレンジに対する一意の応答を生成および送信する。しかしながら、受信された第1のチャレンジ、対称鍵Kmuおよび暗号アルゴリズムExを使用して直接的に応答それ自体を生成する代わりに、不正ストレージデバイス104は、応答R2に等しいその応答R1を設定して(118)、その応答R1 120をアクセスデバイス102に送る。第1の認証チャレンジと第2の認証チャレンジは両方とも互いに等しいため、認証チャレンジに対して予想される応答R1およびR2も互いに等しいはずである。したがって、アクセスデバイス102は、意図せず、自らが不正ストレージデバイス104から受信する応答R1をその発行された第1の認証チャレンジに対する正しい応答であるとして検証し、したがって、ストレージデバイス104を認証する(122)。認証が成功した後、アクセスデバイス102は(不正ストレージデバイス104に知られていないタイトル鍵(title key)Ktを使用して暗号化され得る)そのコンテンツ124を不正ストレージデバイス104上に記録する。そのコンテンツを暗号化するために使用されている可能性があるタイトル鍵Ktを暗号化するために使用されるセッション鍵KSなど、追加の鍵を生成するために、アクセスデバイス102およびストレージデバイス104における認証122の後、図1に示さない1つまたは複数の追加のステップが発生し得る。不正ストレージデバイス104は、次いで、適切な認証なしに、そのコンテンツを解読および再生するために必要なセッション鍵および対称鍵を導出することができる再生デバイスなど、他のアクセスデバイスに暗号化されたコンテンツを配信することができる。
上で説明したのと非常に類似したAKEプロトコルを利用し、したがって、同じ脆弱性があるコンテンツ保護方式の一例は、4C Entity合同会社(米国デラウェアの企業)によって開発されたContent Protection for Recordable Media(CPRM)、Content Protection for Pre-recorded Media(CPPM)、およびContent Protection for Extended Media(CPXM)規格である。前述のCPRM/CPPMおよびCPXM規格を記述する文書は(すべて、本明細書において、以下で単に「CPRM」と呼ばれる)は、Content Protection for Recordable Media Specification: Introduction and Common Cryptographic Elements、第1.1版(2010年12月)、Content Protection for Recordable Media Specification: SD Memory Card Book - Common Part、第0.97版(2010年12月)、Content Protection for Recordable Media Specification: SD Memory Card Book - SD-Binding Part、第0.92版(2005年12月)、Content Protection for Recordable Media Specification: SD Memory Card Book - SD-Video Part、第0.96版(2006年6月)、Content Protection for eXtended Media Specification (CPXM): Introduction and Common Cryptographic Elements、第0.85版予備公開、Content Protection for eXtended Media Specification (CPXM): SD Memory Card Book, Common Part、第0.85版予備公開、およびC2 Block Cipher Specification、第1.0版(2003年1月1日)とを含むが、これらに限定されない。
CPRM規格は、図1に関して上で説明した、不正デバイス104が互いに等しい第1の認証チャレンジおよび第2の認証チャレンジを設定する攻撃に対して特に脆弱である。CPRM規格によれば、認証が成功した後、アクセスデバイスおよびストレージデバイスによってセッション鍵KSが導出される。セッション鍵KSは式(2)によって与えられる:
KS=EC2(Kmu,AC1 XOR AC2) (2)
式中、EC2は、Cryptomeria C2暗号アルゴリズムまたはAdvanced Encryption Standard(AES)アルゴリズムのいずれかであり、AC1は第1の認証チャレンジであり、AC2は第2の認証チャレンジである(すなわち、KmuおよびAC1 XOR AC2はEC2暗号化暗号に対する入力である)。(たとえば、前述の攻撃により)AC1=AC2である場合、AC1 XOR AC2は、常に、ゼロ(0)値を戻すことになり、したがって、KSは、特定の値AC1およびAC2が何であるかにかかわらず、常に、EC2(Kmu,0)に等しいことになる。そのような一定のKS値は重大なセキュリティ脆弱性を提示する。CPRMによれば、不正ストレージデバイスが暗号化されたコンテンツを取得すると(たとえば、図1のステップ124)、不正デバイスは、他の再生デバイスとの通信を開始して、同じAC1=AC2方式を実行して、一定のセッション鍵KSを導出して、再生デバイス上での未許可の再生のために、その暗号化されたコンテンツを解読することができる。
Content Protection for Recordable Media Specification: Introduction and Common Cryptographic Elements、第1.1版(2010年12月) Content Protection for Recordable Media Specification: SD Memory Card Book - Common Part、第0.97版(2010年12月) Content Protection for Recordable Media Specification: SD Memory Card Book - SD-Binding Part、第0.92版(2005年12月) Content Protection for Recordable Media Specification: SD Memory Card Book - SD-Video Part、第0.96版(2006年6月) Content Protection for eXtended Media Specification (CPXM): Introduction and Common Cryptographic Elements、第0.85版予備公開 Content Protection for eXtended Media Specification (CPXM): SD Memory Card Book, Common Part、第0.85版予備公開 C2 Block Cipher Specification、第1.0版(2003年1月1日)
したがって、未許可のコンテンツの記録、配信、および再生に対して増大されたセキュリティを採用する、改善されたAKEプロトコルなど、セキュリティプロトコルの必要が存在する。さらに、少なくとも、図1に関して上で説明したセキュリティ脆弱性から保護するためにCPRM規格によって使用される既存のAKEプロトコルを改善する必要が存在する。
1つの特徴は、コンテンツを保護するためにコンテンツアクセスデバイス上で動作可能な方法であって、コンテンツアクセスデバイスに暗号アルゴリズム(cryptographic algorithm)を提供するステップと、コンテンツストレージデバイスにも知られている対称鍵を生成するステップと、第1の認証チャレンジをコンテンツストレージデバイスに送るステップであって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送るステップと、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジをコンテンツストレージデバイスから受信するステップと、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断するステップと、第2の認証チャレンジが第1の認証チャレンジとは異なる場合だけ、第2の認証チャレンジに応答して、第1の応答をコンテンツストレージデバイスに送るステップとを含む方法を提供する。一態様によれば、この方法は、第1の応答を送るとすぐに、第2の応答をコンテンツストレージデバイスから受信するステップと、第1の認証チャレンジと対称鍵とを使用して第2の応答を検証するステップとをさらに含む。別の態様によれば、第2の応答の認証が成功した時に、この方法は、記憶するために、暗号化されたコンテンツをストレージデバイスに提供するステップであって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、提供するステップをさらに含む。
一態様によれば、第2の応答の認証が成功した時に、この方法は、暗号化されたコンテンツをストレージデバイスから取り出すステップであって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、取り出すステップをさらに含む。別の態様によれば、対称鍵はストレージデバイスから受信された媒体識別子および媒体鍵(media key)から導出され、媒体鍵は、ストレージデバイスから受信された複数の媒体鍵ブロック(MKB)のうちの少なくとも1つによって一部導出される。さらに別の態様によれば、第2の認証チャレンジはやはり暗号アルゴリズムおよび対称鍵に基づく。
別の特徴は、コンテンツストレージデバイスと通信するように構成された通信インターフェースと、通信インターフェースに通信可能に結合され、暗号アルゴリズムを記憶するように構成されたメモリ回路と、通信インターフェースとメモリ回路とに通信可能に結合された処理回路とを備えたコンテンツアクセスデバイスを提供する。この処理回路は、コンテンツストレージデバイスにも知られている対称鍵を生成することと、第1の認証チャレンジをコンテンツストレージデバイスに送ることであって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送ることと、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジをコンテンツストレージデバイスから受信することと、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断することと、第2の認証チャレンジが第1の認証チャレンジとは異なる場合だけ、第2の認証チャレンジに応答して、第1の応答をコンテンツストレージデバイスに送ることとを行うように構成される。一態様によれば、処理回路は、第1の応答を送るとすぐに、第2の応答をコンテンツストレージデバイスから受信することと、第1の認証チャレンジと対称鍵とを使用して第2の応答を検証することとを行うようにさらに構成される。別の態様によれば、第2の応答の認証が成功した時に、処理回路は、記憶するために、暗号化されたコンテンツをストレージデバイスに提供することであって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、提供することを行うようにさらに構成される。
一態様によれば、第2の応答の認証が成功した時に、処理回路は、暗号化されたコンテンツをストレージデバイスから取り出すことであって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、取り出すことを行うようにさらに構成される。別の態様によれば、対称鍵はストレージデバイスから受信された媒体識別子および媒体鍵から導出され、媒体鍵は、ストレージデバイスから受信された複数の媒体鍵ブロック(MKB)のうちの少なくとも1つによって一部導出される。さらに別の態様によれば、第2の認証チャレンジはやはり暗号アルゴリズムおよび対称鍵に基づく。
別の特徴は、コンテンツアクセスデバイスに暗号アルゴリズムを提供するための手段と、コンテンツストレージデバイスにも知られている対称鍵を生成するための手段と、第1の認証チャレンジをコンテンツストレージデバイスに送るための手段であって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送るための手段と、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジをコンテンツストレージデバイスから受信するための手段と、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断するための手段と、第2の認証チャレンジが第1の認証チャレンジとは異なる場合だけ、第2の認証チャレンジに応答して、第1の応答をコンテンツストレージデバイスに送るための手段とを備えるコンテンツアクセスデバイスを提供する。一態様によれば、コンテンツアクセスデバイスは、第1の応答を送るとすぐに、第2の応答をコンテンツストレージデバイスから受信するための手段と、第1の認証チャレンジと対称鍵とを使用して第2の応答を検証するための手段とをさらに備える。別の態様によれば、第2の応答の認証が成功した時に、コンテンツアクセスデバイスは、記憶するために、暗号化されたコンテンツをストレージデバイスに提供するための手段であって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、提供するための手段をさらに備える。さらに別の態様によれば、第2の応答の認証が成功した時に、コンテンツアクセスデバイスは、暗号化されたコンテンツをストレージデバイスから取り出すための手段であって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、取り出すための手段をさらに備える。
別の特徴は、コンテンツストレージデバイスによってコンテンツを保護するための命令を記憶したコンピュータ可読記憶媒体であって、その命令が、少なくとも1つのプロセッサによって実行されたとき、そのプロセッサに、コンテンツアクセスデバイスに暗号アルゴリズムを提供することと、コンテンツストレージデバイスにも知られている対称鍵を生成することと、第1の認証チャレンジをコンテンツストレージデバイスに送ることであって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送ることと、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジをコンテンツストレージデバイスから受信することと、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断することと、第2の認証チャレンジが第1の認証チャレンジとは異なる場合だけ、第2の認証チャレンジに応答して、第1の応答をコンテンツストレージデバイスに送ることとを行わせる、コンピュータ可読記憶媒体を提供する。一態様によれば、これらの命令は、プロセッサによって実行されたとき、そのプロセッサに、第1の応答を送るとすぐに、第2の応答をコンテンツストレージデバイスから受信することと、第1の認証チャレンジと対称鍵とを使用して第2の応答を検証することとをさらに行わせる。別の態様によれば、第2の応答の認証が成功した時に、これらの命令は、プロセッサによって実行されたとき、そのプロセッサに、記憶するために、暗号化されたコンテンツをストレージデバイスに提供することであって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、提供することをさらに行わせる。さらに別の態様によれば、第2の応答の認証が成功した時に、これらの命令は、プロセッサによって実行されたとき、そのプロセッサに、暗号化されたコンテンツをストレージデバイスから取り出すことであって、暗号化されたコンテンツが、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される、取り出すことをさらに行わせる。
別の特徴は、第1のデバイスに暗号アルゴリズムを提供するステップと、第2のデバイスにも知られている対称鍵を生成するステップと、第1の認証チャレンジを第2のデバイスに送るステップであって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送るステップと、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを第2のデバイスから受信するステップと、第1の応答生成関数を使用して第2の認証チャレンジに対する第1の応答を生成するステップと、第1の応答を第2のデバイスに送るステップと、第1の認証チャレンジに対する第2の応答を第2のデバイスから受信するステップであって、第2の応答が第2の応答生成関数を使用して生成され、第1の応答生成関数および第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信するステップとを含む、保護されたコンテンツを保護するために第1のデバイス上で動作可能な方法を提供する。一態様によれば、第2の認証チャレンジはやはり暗号アルゴリズムおよび対称鍵に基づく。別の態様によれば、第1の応答生成関数は、対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数(key modifier function)を含み、第1の修飾鍵は対称鍵とは異なり、この方法は、第1の修飾鍵に基づいて第1の応答を生成するステップをさらに含む。
一態様によれば、受信された第2の応答は対称鍵に基づいて生成される。別の態様によれば、受信された第2の応答は第2の修飾鍵に基づいて生成され、第2の修飾鍵は対称鍵の関数であり、第2の修飾鍵は第1の修飾鍵とは異なる。さらに別の態様によれば、第1の鍵修飾関数は、(a)対称鍵の少なくとも一部をビット回転させること、(b)対称鍵の少なくとも一部と固定非ゼロマスクとのXORをとること、および/または(c)対称鍵に対して算術定数を加算すること、もしくは対称鍵から算術定数を減算することのうちの少なくとも1つによって、対称鍵に基づいて第1の修飾鍵を生成する。
一態様によれば、第1の鍵修飾関数は、ランダム関数または疑似ランダム関数を使用して第1の修飾鍵を生成する鍵導出関数である。別の態様によれば、第1の応答生成関数は第1の暗号学的暗号関数を含み、第2の応答生成関数は第2の暗号学的暗号関数を含み、第1の暗号学的暗号関数は第2の暗号学的暗号関数とは異なり、この方法は、第1の暗号学的暗号関数を使用して第1の応答を生成するステップであって、第2の応答が第2の暗号学的暗号関数を使用して生成される、生成するステップをさらに含む。
別の特徴は、第2のデバイスと通信するように構成された通信インターフェースと、通信インターフェースに通信可能に結合され、暗号アルゴリズムを記憶するように構成されたメモリ回路と、メモリ回路と通信インターフェースとに通信可能に結合された処理回路とを備えた、保護されたコンテンツを保護するための第1のデバイスを提供する。この処理回路は、第2のデバイスにも知られている対称鍵を生成することと、第1の認証チャレンジを第2のデバイスに送ることであって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送ることと、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを第2のデバイスから受信することと、第1の応答生成関数を使用して第2の認証チャレンジに対する第1の応答を生成することと、第1の応答を第2のデバイスに送ることと、第1の認証チャレンジに対する第2の応答を第2のデバイスから受信することであって、第2の応答が第2の応答生成関数を使用して生成され、第1の応答生成関数および第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信することとを行うように構成される。一態様によれば、第2の認証チャレンジはやはり暗号アルゴリズムおよび対称鍵に基づく。別の態様によれば、第1の応答生成関数は、対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数を含み、第1の修飾鍵は対称鍵とは異なり、この処理回路は、第1の修飾鍵に基づいて第1の応答を生成することを行うようにさらに構成される。さらに別の態様によれば、第1の応答生成関数は第1の暗号学的暗号関数を含み、第2の応答生成関数は第2の暗号学的暗号関数を含み、第1の暗号学的暗号関数は第2の暗号学的暗号関数とは異なり、この処理回路は、第1の暗号学的暗号関数を使用して第1の応答を生成することであって、第2の応答が第2の暗号学的暗号関数を使用して生成される、生成することを行うようにさらに構成される。
別の特徴は、第1のデバイスに暗号アルゴリズムを提供するための手段と、第2のデバイスにも知られている対称鍵を生成するための手段と、第1の認証チャレンジを第2のデバイスに送るための手段であって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送るための手段と、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを第2のデバイスから受信するための手段と、第1の応答生成関数を使用して第2の認証チャレンジに対する第1の応答を生成するための手段と、第1の応答を第2のデバイスに送るための手段と、第1の認証チャレンジに対する第2の応答を第2のデバイスから受信するための手段であって、第2の応答が第2の応答生成関数を使用して生成され、第1の応答生成関数および第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信するための手段とを備えた、保護されたコンテンツを保護するための第1のデバイスを提供する。一態様によれば、第1の応答生成関数は、対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数を含み、第1の修飾鍵は対称鍵とは異なり、第1のデバイスは、第1の修飾鍵に基づいて第1の応答を生成するための手段をさらに備える。
別の特徴は、第1のデバイス上で保護されたコンテンツを保護するための命令を記憶したコンピュータ可読記憶媒体であって、これらの命令が、少なくとも1つのプロセッサによって実行されたとき、そのプロセッサに、第1のデバイスに暗号アルゴリズムを提供することと、第2のデバイスにも知られている対称鍵を生成することと、第1の認証チャレンジを第2のデバイスに送ることであって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送ることと、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを第2のデバイスから受信することと、第1の応答生成関数を使用して第2の認証チャレンジに対する第1の応答を生成することと、第1の応答を第2のデバイスに送ることと、第1の認証チャレンジに対する第2の応答を第2のデバイスから受信することであって、第2の応答が第2の応答生成関数を使用して生成され、第1の応答生成関数および第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信することとを行わせる、コンピュータ可読記憶媒体を提供する。一態様によれば、第1の応答生成関数は、対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数を含み、第1の修飾鍵は対称鍵とは異なり、これらの命令は、プロセッサによって実行されたとき、そのプロセッサに第1の修飾鍵に基づいて第1の応答を生成することをさらに行わせる。
先行技術に見られるセキュリティアルゴリズムプロトコルを示す図である。 本明細書で1つまたは複数の実施形態が実施され得る第1の例示的な環境の概略ブロック図である。 ストレージデバイスの一例を示す図である。 アクセスデバイスAおよびBと、ストレージデバイスとに関連付けられたセキュリティプロトコルおよびプロセスの一実装形態の概略ブロック図の非限定的な例を示す図である。 アクセスデバイスとストレージデバイスとの間の拡張AKEのプロセスフロー図である。 ストレージデバイスの拡張AKE回路と通信する、アクセスデバイスの拡張AKE回路の概略ブロック図である。 コンテンツアクセスデバイス上でAKEアルゴリズムを実行するための方法を示す図である。 コンテンツアクセスデバイス上でAKEアルゴリズムを実行するための方法を示す図である。 アクセスデバイスとストレージデバイスとの間の拡張AKEのプロセスフロー図800である。 ストレージデバイスの拡張AKE回路と通信する、アクセスデバイスの拡張AKE回路の概略ブロック図である。 RGFA回路の概略ブロック図である。 RGFB回路の概略ブロック図である。 保護されたコンテンツを保護するために第1のデバイスにおいて動作可能な方法を示す図である。 電子デバイスの概略ブロック図である。 処理回路の概略ブロック図の第1の例である。 処理回路の概略ブロック図の第2の例である。
以下の説明では、本開示の様々な態様の完全な理解を提供するために具体的な詳細が与えられる。しかしながら、態様はこれらの具体的な詳細なしに実践され得ることが当業者によって理解されるであろう。たとえば、態様が不要な詳細で不明瞭になることを回避するために、回路はブロック図で示される場合がある。他の場合には、本開示の態様を不明瞭にしないために、よく知られている回路、構造、および技法は、詳細に示されない場合がある。
「例示的な」という言葉は、「例、事例、または例示として機能する」ことを意味するように本明細書で使用される。「例示的」として本明細書で説明するいかなる実装形態または態様も、必ずしも本開示の他の態様よりも好ましいまたは有利なものと解釈されるべきでない。
概要
1つの特徴は、コンテンツを保護するためのコンテンツアクセスデバイスに関する。コンテンツアクセスデバイスには暗号アルゴリズムが提供され、コンテンツアクセスデバイスはコンテンツストレージデバイスにも知られている対称鍵を生成する。コンテンツアクセスデバイスは第1の認証チャレンジをコンテンツストレージデバイスに送り、この場合、第1の認証チャレンジは、暗号アルゴリズムおよび対称鍵に基づく。コンテンツアクセスデバイスは、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジをコンテンツストレージデバイスから受信して、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断する。第2の認証チャレンジが第1の認証チャレンジとは異なる場合、コンテンツアクセスデバイスは、第2の認証チャレンジに応答して、第1の応答をコンテンツストレージデバイスに送る。
別の特徴は、保護されたコンテンツを保護するための第1のデバイスに関する。第1のデバイスには暗号アルゴリズムが提供され、第1のデバイスは第2のデバイスにも知られている対称鍵を生成する。第1のデバイスは第1の認証チャレンジを第2のデバイスに送り、この場合、第1の認証チャレンジは、暗号アルゴリズムおよび対称鍵に基づく。第1のデバイスはまた、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを第2のデバイスから受信して、第1の応答生成関数を使用して第2の認証チャレンジに対する第1の応答を生成する。第1のデバイスはさらに、第1の応答を第2のデバイスに送る。次いで、第1のデバイスは、第1の認証チャレンジに対する第2の応答を第2のデバイスから受信する。第2の応答は、第2の応答生成関数を使用して生成され、この場合、第1の応答生成関数および第2の応答生成関数は、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する。
例示的な動作環境
図2は、本明細書で1つまたは複数の態様が実施され得る第1の例示的な環境の概略ブロック図を示す。具体的には、アクセスデバイスA202およびアクセスデバイスB206はストレージデバイス204と(ワイヤレスまたは有線で)通信している。アクセスデバイスAおよびB202、206は、不揮発性メモリ、SDカード、ディスクドライブ、磁気記憶媒体などのストレージデバイスと通信することができる任意の電子通信デバイスであり得る。アクセスデバイスの例は、モバイルフォン、スマートフォン、デジタル音楽プレイヤ、デジタルレコーダ、ラップトップ、タブレット、ワイヤレス電子メガネなどを含むが、これらに限定されない。示された例では、アクセスデバイスA202は、ラップトップまたはデジタルレコーダなどの記録デバイスであり得、アクセスデバイスB206は、デジタル音楽プレイヤまたはモバイルフォンなどの再生デバイスであり得る。一例によれば、記録デバイス202は、コンテンツを取得して、それを暗号化し、次いで、それをストレージデバイス204(たとえば、SDカード)上に記憶することを望む場合がある。暗号化されたコンテンツは、その後、再生デバイス206によってストレージデバイス204から解読およびアクセスされ得る。一態様によれば、記録デバイス202および再生デバイス206は同じデバイスであり得る。たとえば、ラップトップまたはモバイルフォンは、コンテンツを記録することと、それを再生することの両方を行うことが可能であり得る。
例示的なAKEプロトコル、アクセスデバイス、およびストレージデバイス
図3は、一態様によるストレージデバイス204の一例を示す。ストレージデバイス204は、FLASHメモリまたはSDカードなど、不揮発性メモリ回路であり得る。ストレージデバイス204は、論理的にかつ/またはハードウェア内に区分された異なる領域を含む。たとえば、ストレージデバイス204は、システム領域302と、隠し領域304と、保護領域306と、ユーザデータ領域308とを含み得る。ストレージデバイス204はまた、他のアクセスデバイス(たとえば、アクセスデバイスA202およびアクセスデバイスB206)との通信を可能にする通信インターフェース309を含む。
システム領域302は、いかなる秘密データまたは認証も使用せずに、任意のデバイスからアクセス可能なメモリ領域であり得る。システム領域302は、媒体識別子(IDMedia)310と複数の媒体鍵ブロック(MKB)312とを含み得る。IDMediaは64ビット値であり得、MKBは、媒体鍵Kmを生成するために、アクセスデバイスによって使用され得る値の一連の列および行である。MKBおよびIDMedia値構造の例は、CPRM仕様に従って見出され得る。
隠し領域304は、ストレージデバイス204自身によってだけ使用され得る、メモリの領域である。隠し領域304は、各々が複数のMKB312に対応する複数の媒体一意鍵Kmu314を記憶し得る。媒体一意鍵Kmuは、たとえば、56ビット値であり得る。媒体一意鍵Kmuおよび関連する隠し領域304データの例は、CPRM仕様に見出され得る。
保護領域306は、ストレージデバイス204とアクセスデバイス202、206との間の認証が成功した後にだけアクセス可能であり得るメモリ領域である。保護領域306は、暗号化されたタイトル鍵Kt316、暗号化された複製制御情報(CCI:copy control information)316、および/または暗号化使用規則を記憶することができる。タイトル鍵、CCI、および使用規則の例は、CPRM仕様に見出され得る。
ユーザデータ領域308は、コンテンツおよびユーザデータを記憶するストレージデバイス204の大きな部分である。それは、ストレージデバイス204にアクセスするユーザに可視的である。ユーザデータ領域308は、中でも、暗号化されたコンテンツ318を含み得る。
図4は、本開示の一態様による、アクセスデバイスAおよびB202、206と、ストレージデバイス204とに関連付けられたセキュリティプロトコルおよびプロセスの一実装形態の概略ブロック図の非限定的な例を示す。一例として、アクセスデバイスA202は、MKB312と併せて、媒体鍵Kmを生成するためにProcessMKB402によって使用される複数の(たとえば、16の)デバイス鍵Kd1、Kd2、…Kd16を記憶する。次に、第1の暗号ブロックEA404は、媒体鍵KmおよびIDMedia310に基づいて対称媒体一意鍵Kmuを生成する。媒体一意鍵Kmuは、タイトル鍵KtおよびCCIを暗号化するために、第2の暗号ブロックEA406によって使用される。第1の暗号ブロックおよび第2の暗号ブロックEA404、406は、たとえば、Electronic Codebookモード(ECM)のCryptomeria C2暗号化アルゴリズム(encryption algorithm)であり得る。
アクセスデバイスA202およびストレージデバイス204は、セッション鍵KSを生成する拡張AKE408を(本明細書でさらに詳細に説明するように)実行する。暗号鍵KtおよびCCIは、セッション鍵KSを使用して第3の暗号ブロックEB410を介してさらに暗号化され得る。タイトル鍵Ktはまた、アクセスデバイスA202がストレージデバイス204上に記憶することを望むコンテンツを暗号化するために第4の暗号ブロックEB412によって使用される。第3の暗号ブロックおよび第4の暗号ブロックEB410、412は、たとえば、Converted Cipher Block Chaining(C-CBC)モードのCryptomeria C2暗号化暗号アルゴリズムであり得る。
成功裏の拡張AKE408の後、ストレージデバイス204は、セッション鍵KSと第1の解読ブロック414とを使用して、二重暗号タイトル鍵KtおよびCCIを解読して、その結果をその保護されたメモリ306内に記憶する。解読ブロック414は、たとえば、C-CBCモードのCryptomeria C2解読暗号アルゴリズムであり得る。
アクセスデバイスB206が、再生するために、ストレージデバイス204上に記憶されたコンテンツを受信することを望む場合、アクセスデバイスB206は、同様に、対称鍵Kmuを生成して、セッション鍵KSを生成する前に、拡張AKEプロセス416を使用して、ストレージデバイスに対して自らを認証する。認証されると、アクセスデバイスB206およびストレージデバイス204は、再生するために暗号化されたコンテンツを解読する目的で、暗号/解読モジュール418、420、422、424を実行および利用して、タイトル鍵KtおよびCCIを回復する。
下で説明するように、様々な拡張AKEプロセス408、416は、図1に関して上で説明した攻撃のような攻撃を受けやすい一部の先行技術のAKEプロセスのセキュリティ脆弱性をなくす。
図5は、一態様による、アクセスデバイス202、206とストレージデバイス204との間の拡張AKE408、416のプロセスフロー図500を示す。アクセスデバイス202、206とストレージデバイス204の両方に、乱数を生成して、暗号および解読動作を実行するのに使用され得る同じ暗号アルゴリズム(たとえば、AES、Cryptomeriaなど)502が提供される。アクセスデバイス202、206は、ストレージデバイス204上にも記憶される対称鍵Kmu504を生成することによって拡張AKEプロセス408、416を開始する。次いで、アクセスデバイス202、206は、第1の認証チャレンジ506を生成して、ストレージデバイス204に送信する。第1の認証チャレンジは、暗号化アルゴリズム502と対称鍵Kmuとを使用して暗号化された乱数であり得る。同様に、ストレージデバイス204はまた、第2の認証チャレンジを生成して(508)、アクセスデバイス202、206に送信する(510)。第2の認証チャレンジは、暗号化アルゴリズム502と対称鍵Kmuとを使用して暗号化された乱数であり得る。特に、第2の認証チャレンジに対する応答を生成するのに先立って、アクセスデバイス202、206は、受信された第2の認証チャレンジが送られた第1の認証チャレンジに等しくないことを検証する(512)。2つのチャレンジが実際に等しい場合、認証プロセスは中止されるか、または、代わりに、アクセスデバイス202、206は、ストレージデバイス204が別の認証チャレンジを送ることを要求する。
第2のチャレンジが第1のチャレンジに等しくないと仮定すると、アクセスデバイス202、206は、第2の認証チャレンジに基づいて、かつそれに応答して、応答R2を生成する(514)。たとえば、応答R2は式(3)によって与えられ得る:
R2=EC2(Kmu,AC2) XOR AC2 (3)
式中、AC2は第2の認証チャレンジであり、EC2は暗号化暗号アルゴリズム(たとえば、Cryptomeria C2)である。アクセスデバイス202、206は、次いで、応答R2をストレージデバイス204に送信する(516)。同様に、ストレージデバイス204は、式(4)に従って、応答R1を生成する(518)。
R1=EC2(Kmu,AC1) XOR AC1 (4)
式中、AC1は第1の認証チャレンジである。次に、ストレージデバイス204は応答R1 520をアクセスデバイス202、206に送る。応答R1を受信するとすぐに、アクセスデバイス202、206は、応答R1が正しいことを検証する(522)(たとえば、送られた第1の認証値の関数)。同様に、ストレージデバイス204は、応答R2が正しいことを検証する(524)(たとえば、送られた第2の認証値の関数)。アクセスデバイス202、206およびストレージデバイス204が、受信された応答が正確であることを検証した後、認証は成功し、セッション鍵KSが生成され得る。次いで、コンテンツは、ストレージデバイス204に記録され/ストレージデバイス204から再生され得る(526)。一例によれば、ストレージデバイス204は、応答R1を生成および/またはアクセスデバイスに送信する前に、自らがアクセスデバイス202、206から受信した応答R2が正しいことを検証することができる。(すなわち、ステップ524はステップ520および/またはステップ518の前に実行される)。
図6は、一態様による、ストレージデバイスの拡張AKE回路650と通信する、アクセスデバイスの拡張AKE回路600の概略ブロック図を示す。アクセスデバイスのAKE回路600は、乱数生成器602と、暗号EC2回路A604と、チャレンジ不等検証(challenge inequality verification)回路606と、暗号EC2回路B608と、暗号EC2回路C610と、検証回路612とを含み得る。ストレージデバイスのAKE回路650は、乱数生成器652と、暗号EC2回路X654と、暗号EC2回路Y656と、暗号EC2回路Z658と、検証回路660とを含み得る。
乱数生成器602は、暗号EC2回路A604に供給される、たとえば、64ビット数を生成する。一例によれば、64ビット乱数は、一緒に連結された32ビットセキュア命令語(secure command word)と、32ビット乱数とからなり得る。64ビット乱数と対称鍵Kmuとを入力として受信して、暗号EC2回路A604は、ストレージデバイスのAKE回路650に送られる第1の認証チャレンジを生成する。暗号EC2回路A604は、限定されないが、Cryptomeria C2アルゴリズムなどの暗号学的暗号関数を実行し得る。
チャレンジ不等検証回路606は、第2の認証チャレンジをストレージデバイスAKE回路650から受信する。アクセスデバイス202、206同様、ストレージデバイス204は、その乱数生成器回路652と暗号EC2回路Y656とを使用して乱数を生成することによって第2のチャレンジを生成することができる。チャレンジ不等検証回路606は、ストレージデバイスSKE回路650から受信された第2のチャレンジがストレージデバイスAKE回路650に送られた第1のチャレンジに等しいか否かを判断する。2つのチャレンジが等しい場合、認証プロセスは失敗/中止するか、または、アクセスデバイス202、206は、ストレージデバイス204から異なるチャレンジを要求する。2つのチャレンジが異なる値である(すなわち、等しくない)場合、認証は続き、暗号EC2回路B608は、次いでストレージデバイスAKE回路650に送られる第2のチャレンジおよびKmuに基づいて応答R2を生成する(たとえば、上の式(3)を参照)。
暗号EC2回路X654を使用して、ストレージデバイスAKE回路650は、第1のチャレンジおよびKmuに基づいてその独自の応答R1を生成して(たとえば、上の式(4)を参照)、応答R1をアクセスデバイス202、206に送信する。アクセスデバイスの検証回路612は、応答R1と、やはり、第1のチャレンジおよびKmuに基づいて暗号EC2回路C610から局所的に生成された、予想される応答値とを受信する。受信された応答R1が局所的に生成された、予想される応答値に整合する(すなわち、等しい)場合、アクセスデバイス202、206はストレージデバイス204を認証する。同様に、ストレージデバイスの検証回路660は、アクセスデバイス202、206からの応答R2と、第2のチャレンジおよびKmuに基づいて暗号EC2回路Z658から局所的に生成された、予想される応答値とを受信する。受信された応答R2が局所的に生成された、予想される応答値に整合する(すなわち、等しい)場合、ストレージデバイス204はアクセスデバイス202、206を認証する。
アクセスデバイスAKE回路600は、第1のチャレンジおよび第2のチャレンジ、ならびに、やはり鍵(たとえば、Kmu)に基づいてセッション鍵KSを生成するセッション鍵KS生成回路614を含むことも可能である。一例によれば、セッション鍵KSは、上で参照された式(2)に従って生成され得る。他の例によれば、セッション鍵KSは、第1のチャレンジおよび第2のチャレンジ、ならびに鍵(たとえば、Kmu)に基づいて、他の関数に従って生成され得る。ストレージデバイスAKE回路650は、同様に、その独自のセッション鍵生成回路662を使用して、セッション鍵KSを生成することができる。
チャレンジ不等検証回路606は、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断するための手段の一例である。検証回路612は、第1の認証チャレンジと対称鍵とを使用して第2の応答を検証するための手段の一例である。
図7Aおよび図7Bは、一例による、コンテンツアクセスデバイス上でAKEアルゴリズムを実行するための方法700を示す。コンテンツアクセスデバイスに、AES、データ暗号規格(DES)、および/またはCryptomeria C2など、暗号アルゴリズムが提供される(702)。コンテンツアクセスデバイスは対称鍵を生成し、この場合、暗号アルゴリズムおよび対称鍵はコンテンツストレージデバイスにも知られている(704)。コンテンツアクセスデバイスは、暗号アルゴリズムおよび対称鍵に基づく第1の認証チャレンジをコンテンツストレージデバイスに送る(706)。アクセスデバイスは、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジをコンテンツストレージデバイスから受信する(708)。アクセスデバイスは、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断する(710)。特に、第2の認証チャレンジが第1の認証チャレンジとは異なる場合だけ、アクセスデバイスは第2の認証チャレンジに対する応答R2(たとえば、「第1の応答」)を送る(712)。第1の応答は、暗号アルゴリズム、対称鍵、および第2の認証チャレンジに基づき得る。第1の応答R2を送るとすぐ、アクセスデバイスは、応答R1(「第2の応答」)をコンテンツストレージデバイスから受信する(714)。アクセスデバイスは、第1のチャレンジと、対称鍵と、暗号アルゴリズムとを使用して第2の応答R1を認証することができる(716)。
一例では、アクセスデバイスが記録デバイスである場合、アクセスデバイスは、第2の応答R1の認証が成功した時に、記憶するために、暗号化されたコンテンツをストレージデバイスに提供することができ、この場合、暗号化されたコンテンツは、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵(たとえば、KS)の関数として暗号化された鍵(たとえば、タイトル鍵Kt)で保護される(718)。図4を参照して論じたように、タイトル鍵Ktはまた、対称鍵(たとえば、Kmu)を使用してさらに暗号化され得る。
別の例では、アクセスデバイスが再生デバイスである場合、アクセスデバイスは、第2の応答R1の認証が成功した時に、暗号化されたコンテンツをストレージデバイスから取り出すことができ、この場合、暗号化されたコンテンツは、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵(たとえば、KS)の関数として暗号化された鍵(たとえば、タイトル鍵Kt)で保護される(720)。図4を参照して論じたように、タイトル鍵Ktはまた、対称鍵(たとえば、Kmu)を使用してさらに暗号化され得る。
図8は、別の態様による、アクセスデバイス202、206とストレージデバイス204との間の拡張AKE408、416のプロセスフロー図800を示す。アクセスデバイス202、206に、乱数を生成して、暗号化および解読動作を実行するために使用され得る、1つまたは複数の暗号アルゴリズム(たとえば、AES、Cryptomeria、DESなど)802が提供される。ストレージデバイス204にも、乱数を生成して、暗号化および解読動作を実行するために使用され得る、1つまたは複数の暗号アルゴリズム(たとえば、AES、Cryptomeria、DESなど)803が提供される。一態様では、アクセスデバイス202、206およびストレージデバイス204は同じ暗号アルゴリズムを有し、かつその同じ暗号アルゴリズムを使用する。他の態様では、アクセスデバイス202、206およびストレージデバイス204は、それらのうちの2つの間に少なくとも1つの異なる暗号アルゴリズムを有し得る。
アクセスデバイス202、206は、ストレージデバイス204上にも記憶される対称鍵Kmu 804を生成することによって拡張AKEプロセス408、416を開始する。次いで、アクセスデバイス202、206は、第1の認証チャレンジ806を生成して、ストレージデバイス204に送信する。第1の認証チャレンジは、暗号化アルゴリズム802とキーKmuとを使用して暗号化された乱数であり得る。同様に、ストレージデバイス204はまた、第2の認証チャレンジを生成して(808)、アクセスデバイス202、206に送信する(810)。第2の認証チャレンジは、暗号化アルゴリズム802とキーKmuとを使用して暗号化された乱数であり得る。
次に、アクセスデバイス202、206は、第2の認証チャレンジに応答して、応答生成関数A(たとえば、「第1の応答生成関数」)を使用して応答R2を生成する(812)。下でより詳細に説明するように、応答生成関数A(RGFA)は、第2の認証チャレンジ、ならびに修飾暗号化アルゴリズムおよび/または修飾対称鍵Kmu_Aのうちの少なくとも1つに基づいてR2を生成することができる。単なる一例として、応答R2は式(5)によって与えられる:
R2=EH_A(Kmu_A,AC2) XOR AC2 (5)
式中、AC2は第2の認証チャレンジであり、EH_Aは暗号化暗号アルゴリズム(たとえば、AES、DES、Cryptomeria C2)である。アクセスデバイス202、206は、次いで、応答R2をストレージデバイス204に送信する(814)。
応答R2を受信するとすぐに、ストレージデバイス204は、応答生成関数B(たとえば、「第2の応答生成関数」)を使用して第1の認証チャレンジに対する応答R1を生成する(816)。下でより詳細に説明するように、応答生成関数B(RGFB)は、第1の認証チャレンジ、ならびに修飾暗号化アルゴリズムおよび/または修飾対称鍵Kmu_Bのうちの少なくとも1つに基づいてR1を生成することができる。単なる一例として、応答R1は式(6)によって与えられる:
R1=EH_B(Kmu_B,AC1) XOR AC1 (6)
式中、AC1は第1の認証チャレンジであり、EH_Bは暗号化暗号アルゴリズム(たとえば、AES、DES、Cryptomeria C2)である。一態様によれば、Kmu_A ≠Kmu_Bならびに/またはEH_AおよびEH_Bは異なる暗号化アルゴリズムである。これは、第1の認証チャレンジが第2の認証チャレンジと同じ(すなわち、等しい)場合でも、応答R1および応答R2を異ならせる(すなわち、R1≠R2)。
次に、ストレージデバイス204は応答R1をアクセスデバイス202、206に送る(818)。応答R1を受信するとすぐに、アクセスデバイス202、206は、応答R1が正しいことを検証する(820)(たとえば、送られた第1の認証値の関数)。同様に、ストレージデバイス204は、応答R2が正しいことを検証する(822)(たとえば、送られた第2の認証値の関数)。アクセスデバイス202、206およびストレージデバイス204が、受信された応答が正確であることを検証した後、認証は成功し、セッション鍵KSが生成され得る。次いで、コンテンツは、ストレージデバイス204に記録され/ストレージデバイス204から再生され得る(824)。一例によれば、ストレージデバイス204は、応答R1を生成する、および/またはアクセスデバイスに送信する前に、自らがアクセスデバイス202、206から受信した応答R2が正しいことを検証することができる。(すなわち、ステップ822はステップ818および/またはステップ816の前に実行される)。
図9は、一態様による、ストレージデバイスの拡張AKE回路950と通信する、アクセスデバイスの拡張AKE回路900の概略ブロック図を示す。アクセスデバイスのAKE回路900は、乱数生成器902と、暗号EH_A回路A904と、応答生成関数A(RGFA)回路908と、暗号EH_A回路B910と、検証回路912とを含み得る。ストレージデバイスのAKE回路950は、乱数生成器952と、応答生成関数B(RGFB)回路954と、暗号EH_B回路X956と、暗号EH_B回路Y958と、検証回路960とを含み得る。
乱数生成器902は、暗号EH_A回路A904に供給される、たとえば、64ビット数を生成する。一例によれば、64ビット乱数は、一緒に連結された32ビットセキュア命令語と、32ビット乱数とからなり得る。64ビット乱数と対称鍵Kmuとを入力として受信して、暗号EH_A回路A904は、ストレージデバイスのAKE回路950に送られる第1の認証チャレンジを生成する。暗号EH_A回路A904は、AES、DES、またはCryptomeria C2アルゴリズムに限定されないが、これらなどの暗号学的暗号関数を実行し得る。
RGFA908は、第2の認証チャレンジをストレージデバイスAKE回路950から受信する。アクセスデバイス202、206同様、ストレージデバイス204は、その乱数生成器回路952と暗号EH_B回路X956とを使用して乱数を生成することによって第2のチャレンジを生成することができる。下でさらに詳細に論じるように、RGFA908は、第2のチャレンジに基づいて応答R2を生成し、次いで、応答R2をストレージデバイスAKE回路950に送る。
RGFB954を使用して、ストレージデバイスAKE回路950は、第1のチャレンジに基づいてその独自の応答R1を生成して、応答R1をアクセスデバイスAKE回路900に送信する。アクセスデバイスの検証回路912は、応答R1と、やはり、第1のチャレンジおよびKmuに基づいて暗号EH_A回路B910から局所的に生成された、予想される応答値とを受信する。受信された応答R1が局所的に生成された、予想される応答値に整合する(すなわち、等しい)場合、アクセスデバイスAKE回路900はストレージデバイス204を認証する。同様に、ストレージデバイスの検証回路960は、アクセスデバイスAKE回路900からの応答R2と、やはり、第2のチャレンジおよびKmuに基づいて暗号EH_B回路Y958から局所的に生成された、予想される応答値とを受信する。受信された応答R2が局所的に生成された、予想される応答値に整合する(すなわち、等しい)場合、ストレージデバイスAKE回路950はアクセスデバイス202、206を認証する。
アクセスデバイスAKE回路900は、第1のチャレンジおよび第2のチャレンジ、ならびに、やはり鍵(たとえば、Kmu)に基づいてセッション鍵KSを生成するセッション鍵KS生成回路906を含むことも可能である。一例によれば、セッション鍵KSは、上で参照された式(2)に従って生成され得る。他の例によれば、セッション鍵KSは、第1のチャレンジおよび第2のチャレンジ、ならびに鍵(たとえば、Kmu)に基づいて、他の関数に従って生成され得る。ストレージデバイスAKE回路950は、同様に、その独自のセッション鍵生成回路962を使用してセッション鍵KSを生成することができる。
図10は、本開示の一態様による、RGFA回路908の概略ブロック図を示す。RGFAは、鍵修飾回路1002および/または暗号学的暗号EH_A回路1004を含み得る。鍵修飾回路1002は、対称鍵Kmuを入力として受信して、Kmuに関して鍵修飾関数KMA(x)を実行して、修飾鍵Kmu_Aを出力として生成する(すなわち、Kmu_A=KMA(Kmu))。KMA(x)関数は、結果として生じる修飾鍵Kmu_AがKmuとは異なる値を有するように、任意の数および/またはタイプの演算を実行することができる。たとえば、KMA(x)は、式(7)、(8)、(9)によって与えられる演算のうちのいずれかを実行することができる:
KMA(x)=x XOR m (7)
KMA(x)=Rotate(x) (8)
KMA(x)=x+m (9)
式中、mは任意の非ゼロ整数(たとえば、固定非ゼロマスク)であり、Rotate(x)演算は、値xのビットのすべてまたは一部を回転させる。上記の演算(すなわち、式(7)、(8)、および(9))は単なる例である。KMA(x)によって、任意の論理および/または算術演算を実行することができ、その結果、結果として生じる出力鍵Kmu_Aは入力鍵Kmuとは異なる。一態様によれば、鍵修飾関数KMA(x)は、ランダム関数または疑似ランダム関数を使用して出力鍵Kmu_Aを生成する鍵導出関数(KDF)であり得る。
暗号学的暗号EH_A回路1004は、修飾鍵Kmu_Aと第2のチャレンジ(AC2)とをその入力として受信して、応答R2を出力として生成する。EH_Aは、DES、AES、またはCryptomeria C2に限定されないが、これらなど、任意の暗号学的暗号演算であり得る。したがって、暗号学的暗号EH_A回路1004は、修飾鍵Kmu_Aを使用して第2のチャレンジを暗号化する。
図11は、本開示の一態様による、RGFB回路954の概略ブロック図を示す。RGFBは、鍵修飾回路1102および/または暗号学的暗号EH_B回路1104を含み得る。鍵修飾関数1102は、対称鍵Kmuを入力として受信して、Kmuに関して鍵修飾関数KMB(x)を実行して、修飾鍵Kmu_Bを出力として生成する(すなわち、Kmu_B=KMB(Kmu))。KMB(x)関数は、結果として生じる修飾鍵Kmu_BがKmuとは異なる値を有するように、任意の数および/またはタイプの演算を実行することができる。たとえば、KMB(x)は、式(10)、(11)、(12)によって与えられる演算のうちのいずれかを実行することができる:
KMB(x)=x XOR m (10)
KMB(x)=Rotate(x) (11)
KMB(x)=x+m (12)
式中、mは任意の非ゼロ整数(たとえば、固定非ゼロマスク)であり、Rotate(x)演算は、値xのビットのすべてまたは一部を回転させる。上記の演算(すなわち、式(10)、(11)、および(12))は単なる例である。KMB(x)によって、任意の論理および/または算術演算を実行することができ、その結果、結果として生じる出力鍵Kmu_Bは入力鍵Kmuとは異なる。一態様によれば、鍵修飾関数KMB(x)は、ランダム関数または疑似ランダム関数を使用して出力鍵Kmu_Bを生成する鍵導出関数(KDF)であり得る。
暗号学的暗号EH_B回路1104は、修飾鍵Kmu_Bと第1のチャレンジ(AC1)とをその入力として受信して、応答R1を出力として生成する。EH_Bは、DES、AES、またはCryptomeria C2に限定されないが、これらなど、任意の暗号学的暗号演算であり得る。したがって、暗号学的暗号EH_B回路1104は、修飾鍵Kmu_Bを使用して第1のチャレンジを暗号化する。
一態様によれば、暗号学的暗号関数EH_AおよびEH_Bは同じ暗号関数である(すなわち、EH_A=EH_B)。たとえば、両方ともCryptomeria C2暗号化アルゴリズムであり得る。そのような場合、鍵修飾関数KMA(x)およびKMB(x)は互いとは異なるので、所与の入力値xに関して、それらの鍵修飾関数は異なる出力を生み出す。これは、第1のチャレンジと第2のチャレンジとが同じ場合(すなわち、AC1=AC2)でも、RGF908、954の出力応答R1およびR2は同じではないこと(すなわち、R1≠R2)を確実にするのに役立つ。別の態様によれば、両方の暗号学的暗号関数EH_AおよびEH_Bは互いとは異なり、鍵修飾関数KMA(x)およびKMB(x)は互いとは異なる。
別の態様によれば、暗号学的暗号関数EH_AおよびEH_Bは互いとは異なるが、鍵修飾関数KMA(x)およびKMB(x)は同じである(すなわち、KMA(x)=KMB(x))。そのような場合、鍵修飾回路1002、1102はともに不在であり得、暗号学的暗号回路1004、1104は対称鍵Kmuを直接受信する。暗号学的暗号関数EH_AおよびEH_Bは互いとは異なるため、第1のチャレンジと第2のチャレンジとが同じ(すなわち、AC1=AC2)場合でも、RGF908、954の出力応答R1およびR2は同じにならない(すなわち、R1≠R2)。
任意の1つまたは複数のデバイスが何の特定の鍵修飾関数KMA(x)およびKMB(x)ならびに/または暗号学的暗号関数EH_AおよびEH_Bを利用するかに関する情報は、標準プロトコルに従って事前に定義され得る。
図12は、保護されたコンテンツを保護するために第1のデバイスにおいて動作可能な方法1200を示す。まず、第1のデバイスに暗号アルゴリズムを提供する(1202)。次に、第2のデバイス1204にも知られている対称鍵を生成する(1204)。次いで、第1の認証チャレンジを第2のデバイスに送り、この場合、第1の認証チャレンジは暗号アルゴリズムおよび対称鍵に基づく(1206)。次に、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを第2のデバイスから受信する(1208)。次いで、第1の応答生成関数を使用して第2の認証チャレンジに対する第1の応答を生成する(1210)。次いで、第1の応答を第2のデバイスに送る(1212)。最後に、第1の認証チャレンジに対する第2の応答を第2のデバイスから受信し、第2の応答は第2の応答生成関数を使用して生成され、第1の応答生成関数および第2の応答生成関数は、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する(1214)。
一例では、第1のデバイスが記録デバイスであり、第2のデバイスがストレージデバイスである場合、記録デバイスは、第2の応答R1の認証が成功した時に、記憶するために、暗号化されたコンテンツをストレージデバイスに提供することができ、この場合、暗号化されたコンテンツは、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵(たとえば、KS)の関数として暗号化された鍵(たとえば、タイトル鍵Kt)で保護される。図4を参照して論じたように、タイトル鍵Ktはまた、対称鍵(たとえば、Kmu)を使用してさらに暗号化され得る。
別の例では、第1のデバイスが再生デバイスであり、第2のデバイスがストレージデバイスである場合、再生デバイスは、第2の応答R1の認証が成功した時に、暗号化されたコンテンツをストレージデバイスから取り出すことができ、この場合、暗号化されたコンテンツは、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵(たとえば、KS)の関数として暗号化された鍵(たとえば、タイトル鍵Kt)で保護される。
図13は、本開示の一態様による、電子デバイス1300(たとえば、アクセスデバイス202、206および/または記録デバイス204)の概略ブロック図を示す。電子デバイス1300は、バス1310を介して通信可能に結合され得る、処理回路1302、メモリ回路1304、入出力(I/O)インターフェース1306、および/または通信インターフェース1308を含み得る。処理回路1302は、図4〜図12に関して上で説明した演算のうちのいずれかを実行するように適合された少なくとも1つのプロセッサ(たとえば、特定用途向け集積回路、デジタル信号プロセッサ、アプリケーションプロセッサなど)を含む。処理回路1302は拡張AKE回路1305を含む。AKE回路1305は、図6および図9で示した前述のAKE回路600、650、900、950のうちのいずれかであり得る。
メモリ回路1304は、1つもしくは複数の揮発性、不揮発性メモリ回路、および/またはSRAM、DRAM、SDRAM、NAND FLASH、NOR FLASH、ハードディスクドライブ、コンパクトディスク(CD)などを含むが、これらに限定されないコンピュータ可読媒体を含む。メモリ回路1304は、中でも、1つまたは複数のプロセッサによって実行されたとき、処理回路1302に図4〜図12に関して上で説明した演算のうちの少なくとも1つを実行させるコンピュータ可読命令を記憶するように適合される。メモリ回路1304は、コンテンツアクセスデバイスおよび/または第1のデバイスに暗号アルゴリズムを提供するための手段の一例である。
I/Oインターフェース1306は、ディスプレイ、キーボード、タッチスクリーンディスプレイ、マウス、カメラ、ジョイスティックなどを含むが、これらに限定されない複数の入力および出力デバイスのうちのいずれか1つを含み得る。通信インターフェース1308は、電子デバイス1300が1つもしくは複数のネットワーク(たとえば、セルラーネットワーク)および/または他の電子デバイスと通信するのを可能にするワイヤレス通信インターフェースおよび/または有線通信インターフェースを含み得る。通信インターフェース1308は、第1の認証チャレンジをコンテンツストレージデバイス(すなわち、第2のデバイス)に送るための手段であって、第1の認証チャレンジが暗号アルゴリズムおよび対称鍵に基づく、送るための手段、第1の認証チャレンジを送ることに応答して、第2の認証チャレンジをコンテンツストレージデバイス(すなわち、第2のデバイス)から受信するための手段、第2の認証チャレンジが第1の認証チャレンジとは異なる場合だけ、第2の認証チャレンジに応答して、第1の応答をコンテンツストレージデバイス(すなわち、第2のデバイス)に送るための手段、第1の応答を送るとすぐに、第2の応答をコンテンツストレージデバイスから受信するための手段、および第1の認証チャレンジに対する第2の応答を第2のデバイスから受信するための手段であって、第2の応答が第2の応答生成関数を使用して生成され、第1の応答生成関数および第2の応答生成関数は、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信するための手段のうちの一例である。
図14は、一態様による、処理回路1302の概略ブロック図を示す。処理回路1302は、対称鍵生成回路1402、認証チャレンジ相違検出回路1404、第2の応答検証回路1406、暗号化コンテンツプロバイダ回路1408、および/または暗号化コンテンツ受信回路1410を備え得る。対称鍵生成回路1402は、コンテンツストレージデバイスにも知られている対称鍵を生成するための手段の一例である。認証チャレンジ相違検出回路1404は、第1の認証チャレンジが第2の認証チャレンジとは異なるかどうかを判断するための手段の一例である。第2の応答検証回路1406は、第1の認証チャレンジと対称鍵とを使用して第2の応答を検証するための手段の一例である。暗号化コンテンツプロバイダ回路1408は、記憶するために、暗号化されたコンテンツをストレージデバイスに提供するための手段の一例であり、暗号化されたコンテンツは、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される。暗号化コンテンツ受信回路1410は、暗号化されたコンテンツをストレージデバイスから取り出すための手段の一例であり、暗号化されたコンテンツは、第1の認証チャレンジおよび第2の認証チャレンジから生成されたセッション鍵の関数として暗号化されたタイトル鍵で保護される。
図15は、別の態様による、処理回路1302の概略ブロック図を示す。処理回路1302は、対称鍵生成回路1502および/または第1の応答生成回路1504を備え得る。対称鍵生成回路1502は、第1のデバイスに暗号アルゴリズムを提供するための手段の一例である。第1の応答生成回路1504は、第1の応答生成関数を使用して第2の認証チャレンジに対する第1の応答を生成するための手段の一例である。第1の応答生成回路1504は、第1の修飾鍵に基づいて第1の応答を生成するための手段、および第1の暗号学的暗号関数を使用して第1の応答を生成するための手段の一例である。
図2、図3、図4、図5、図6、図7A、図7B、図8、図9、図10、図11、図12、図13、図14および/もしくは図15に示した構成要素、ステップ、特徴、および/または機能のうちの1つもしくは複数は、単一の構成要素、ステップ、特徴もしくは機能に再構成され、および/もしくは組み合わされ、または、いくつかの構成要素、ステップ、もしくは機能で具現化され得る。本発明から逸脱することなく、さらなる要素、構成要素、ステップ、および/または機能を追加することもできる。図2、図3、図4、図6、図9、図10、図11、図13、図14および/または図15に示した装置、デバイス、および/または構成要素は、図5、図7A、図7B、図8および/または図12で説明した方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。また、本明細書で説明したアルゴリズムは、効率的にソフトウェアに実装されてもよく、かつ/またはハードウェアに組み込まれてもよい。
その上、本開示の一態様では、図13に示す処理回路1302は、図5、図7A、図7B、図8、および/または図12で説明したアルゴリズム、方法、および/またはステップを実行するように特に設計かつ/または配線接続される専用プロセッサ(たとえば、特定用途向け集積回路(たとえば、ASIC))であり得る。したがって、そのような専用プロセッサ(たとえば、ASIC)は、図5、図7A、図7B、図8、および/または図12で説明したアルゴリズム、方法、および/またはステップを実行するための手段の一例であり得る。
また、本開示の態様は、フローチャート、フロー図、構造図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、その動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、プロセスの終了は、呼出し関数またはmain関数への関数の復帰に対応する。
その上、記憶媒体は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスおよび/もしくは他の機械可読媒体、およびプロセッサ可読媒体、ならびに/または情報を記憶するためのコンピュータ可読媒体を含む、データを記憶するための1つもしくは複数のデバイスを表し得る。「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、ポータブルもしくは固定ストレージデバイス、光ストレージデバイス、ならびに、命令および/またはデータを記憶、格納または搬送することが可能な様々な他の媒体のような非一時的媒体を含み得るが、これらに限定されない。したがって、本明細書で説明される様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」および/または「プロセッサ可読媒体」に記憶され、1つもしくは複数のプロセッサ、機械および/またはデバイスによって実行され得る命令および/またはデータによって、完全にまたは部分的に実装され得る。
さらに、本開示の態様は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージなどの機械可読媒体に記憶され得る。プロセッサは必要なタスクを実行することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表す場合がある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合される場合がある。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む任意の適切な手段を介して、パスされ、転送され、または送信される場合がある。
本明細書で開示される例に関して説明される様々な例示的な論理ブロック、モジュール、回路、要素、および/または構成要素は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理構成要素、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティング構成要素の組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装される場合がある。
本明細書で開示される例に関して説明する方法またはアルゴリズムは、ハードウェアで、プロセッサによって実行可能なソフトウェアモジュールで、または両方の組合せで、処理ユニット、プログラミング命令、または他の指示の形態で直接具現化されてよく、単一のデバイスに含まれるかまたは複数のデバイスにわたって分散されてよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に存在し得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、かつその記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
本明細書で開示される態様に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者はさらに諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、上記では概してそれらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計の制約に依存する。
本明細書で説明する本発明の様々な特徴は、本発明から逸脱することなく様々なシステムに実装され得る。上記の本開示の態様は例にすぎず、本発明を限定するものと解釈されるべきでないことに留意されたい。本開示の態様の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置に容易に適用することができ、多くの代替形態、変更形態、および変形形態が当業者には明らかであろう。
100 方法ステップフロー図
102 アクセスデバイス
104 不正ストレージデバイス、ストレージデバイス
106 対称鍵Kmu
108 第1の認証チャレンジ
112 第2の認証チャレンジ
120 応答R1
202 アクセスデバイスA、記録デバイス
204 ストレージデバイス
206 アクセスデバイスB、再生デバイス
302 システム領域
304 隠し領域
306 保護領域
308 ユーザデータ領域
309 通信インターフェース
310 媒体識別子(IDMedia)
312 媒体鍵ブロック(MKB)
314 媒体一意鍵Kmu
316 暗号化されたタイトル鍵Kt、暗号化された複製制御情報
318 暗号化されたコンテンツ
402 ProcessMKB
404 第1の暗号ブロックEA
406 第2の暗号ブロックEA
408 拡張AKE、拡張AKEプロセス
410 第3の暗号ブロックEB
412 第4の暗号ブロックEB
414 第1の解読ブロック、解読ブロック
416 拡張AKEプロセス、拡張AKE
418 暗号モジュール
420 解読モジュール
422 解読モジュール
424 暗号モジュール
500 プロセスフロー図
502 暗号アルゴリズム、暗号化アルゴリズム
504 対称鍵Kmu
506 第1の認証チャレンジ
600 アクセスデバイスの拡張AKE回路
602 乱数生成器
604 暗号EC2回路A
606 チャレンジ不等検証回路
608 暗号EC2回路B
610 暗号EC2回路C
612 検証回路
614 セッション鍵生成回路
650 ストレージデバイスの拡張AKE回路
652 乱数生成器、乱数生成器回路
654 暗号EC2回路X
656 暗号EC2回路Y
658 暗号EC2回路Z
660 検証回路
662 セッション鍵生成回路
700 方法
800 プロセスフロー
802 暗号アルゴリズム
803 暗号アルゴリズム
804 Kmu
806 第1の認証チャレンジ
900 アクセスデバイスの拡張AKE回路
902 乱数生成器
904 暗号EH_A回路A
906 セッション鍵生成回路
908 応答生成関数A(RGFA)回路
910 暗号EH_A回路B
912 検証回路
950 ストレージデバイスの拡張AKE回路
952 乱数生成器
954 応答生成関数B(RGFB)回路
956 暗号EH_B回路X
958 暗号EH_B回路Y
960 検証回路
962 セッション鍵生成回路
1002 鍵修飾回路
1004 暗号学的暗号EH_A回路
1102 鍵修飾回路
1104 暗号学的暗号EH_B回路
1200 方法
1300 電子デバイス
1302 処理回路
1304 メモリ回路
1305 拡張AKE回路
1306 入出力(I/O)インターフェース
1308 通信インターフェース
1310 バス
1402 対称鍵生成回路
1404 認証チャレンジ相違検出回路
1406 第2の応答検証回路
1408 暗号化コンテンツプロバイダ回路
1410 暗号化コンテンツ受信回路
1502 対称鍵生成回路
1504 第1の応答生成回路

Claims (20)

  1. 保護されたコンテンツを保護するために第1のデバイス上で動作可能な方法であって、
    前記第1のデバイスに暗号アルゴリズムを提供するステップと、
    第2のデバイスにも知られている対称鍵を生成するステップと、
    第1の認証チャレンジを前記第2のデバイスに送るステップであって、前記第1の認証チャレンジが前記暗号アルゴリズムおよび前記対称鍵に基づく、送るステップと、
    前記第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを前記第2のデバイスから受信するステップと、
    第1の応答生成関数を使用して前記第2の認証チャレンジに対する第1の応答を生成するステップと、
    前記第1の応答を前記第2のデバイスに送るステップと、
    前記第1の認証チャレンジに対する第2の応答を前記第2のデバイスから受信するステップであって、前記第2の応答が第2の応答生成関数を使用して生成され、前記第1の応答生成関数および前記第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信するステップと
    を含み、
    前記第1の応答生成関数が第1の暗号学的暗号関数を含み、前記第2の応答生成関数が第2の暗号学的暗号関数を含み、前記第1の暗号学的暗号関数が前記第2の暗号学的暗号関数とは異なる、方法。
  2. 前記第2の認証チャレンジが、前記暗号アルゴリズムおよび前記対称鍵に基づく、請求項1に記載の方法。
  3. 前記第1の応答生成関数が、前記対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数を含み、前記第1の修飾鍵が前記対称鍵とは異なり、前記方法が、
    前記第1の修飾鍵に基づいて前記第1の応答を生成するステップ
    をさらに含む、請求項1に記載の方法。
  4. 受信された前記第2の応答が前記対称鍵に基づいて生成される、請求項3に記載の方法。
  5. 受信された前記第2の応答が第2の修飾鍵に基づいて生成され、前記第2の修飾鍵が前記対称鍵の関数であり、かつ前記第1の修飾鍵とは異なる、請求項3に記載の方法。
  6. 前記第1の鍵修飾関数が、(a)前記対称鍵の少なくとも一部をビット回転させること、(b)前記対称鍵の少なくとも一部と固定非ゼロマスクとのXORをとること、および/または(c)前記対称鍵に対して算術定数を加算すること、もしくは前記対称鍵から算術定数を減算することのうちの少なくとも1つによって、前記対称鍵に基づいて前記第1の修飾鍵を生成する、
    請求項3に記載の方法。
  7. 前記第1の鍵修飾関数が、ランダム関数または疑似ランダム関数を使用して前記第1の修飾鍵を生成する鍵導出関数である、請求項3に記載の方法。
  8. 記方法が、
    前記第1の暗号学的暗号関数を使用して前記第1の応答を生成するステップであって、前記第2の応答が前記第2の暗号学的暗号関数を使用して生成される、生成するステップ
    をさらに含む、請求項1に記載の方法。
  9. 保護されたコンテンツを保護するための第1のデバイスであって、
    第2のデバイスと通信するように構成された通信インターフェースと、
    前記通信インターフェースに通信可能に結合され、暗号アルゴリズムを記憶するように構成されたメモリ回路と、
    前記メモリ回路と前記通信インターフェースとに通信可能に結合された処理回路であって、
    前記第2のデバイスにも知られている対称鍵を生成することと、
    第1の認証チャレンジを前記第2のデバイスに送ることであって、前記第1の認証チャレンジが前記暗号アルゴリズムおよび前記対称鍵に基づく、送ることと、
    前記第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを前記第2のデバイスから受信することと、
    第1の応答生成関数を使用して前記第2の認証チャレンジに対する第1の応答を生成することと、
    前記第1の応答を前記第2のデバイスに送ることと、
    前記第1の認証チャレンジに対する第2の応答を前記第2のデバイスから受信することであって、前記第2の応答が第2の応答生成関数を使用して生成され、前記第1の応答生成関数および前記第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信することと
    を行うように構成された処理回路とを備え
    前記第1の応答生成関数が第1の暗号学的暗号関数を含み、前記第2の応答生成関数が第2の暗号学的暗号関数を含み、前記第1の暗号学的暗号関数が前記第2の暗号学的暗号関数とは異なる、第1のデバイス。
  10. 前記第2の認証チャレンジが、前記暗号アルゴリズムおよび前記対称鍵に基づく、請求項9に記載の第1のデバイス。
  11. 前記第1の応答生成関数が、前記対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数を含み、前記第1の修飾鍵が前記対称鍵とは異なり、前記処理回路が、
    前記第1の修飾鍵に基づいて前記第1の応答を生成すること
    を行うようにさらに構成される、請求項9に記載の第1のデバイス。
  12. 受信された前記第2の応答が前記対称鍵に基づいて生成される、請求項11に記載の第1のデバイス。
  13. 受信された前記第2の応答が第2の修飾鍵に基づいて生成され、前記第2の修飾鍵が前記対称鍵の関数であり、前記第2の修飾鍵が前記第1の修飾鍵とは異なる、請求項11に記載の第1のデバイス。
  14. 前記第1の鍵修飾関数が、(a)前記対称鍵の少なくとも一部をビット回転させること、(b)前記対称鍵の少なくとも一部と固定非ゼロマスクとのXORをとること、および/または(c)前記対称鍵に対して算術定数を加算すること、もしくは前記対称鍵から算術定数を減算することのうちの少なくとも1つによって、前記対称鍵に基づいて前記第1の修飾鍵を生成する、請求項11に記載の第1のデバイス。
  15. 前記第1の鍵修飾関数が、ランダム関数または疑似ランダム関数を使用して前記第1の修飾鍵を生成する鍵導出関数である、請求項11に記載の第1のデバイス。
  16. 記処理回路が、
    前記第1の暗号学的暗号関数を使用して前記第1の応答を生成することであって、前記第2の応答が前記第2の暗号学的暗号関数を使用して生成される、生成すること
    を行うようにさらに構成される、請求項9に記載の第1のデバイス。
  17. 保護されたコンテンツを保護するための第1のデバイスであって、
    前記第1のデバイスに暗号アルゴリズムを提供するための手段と、
    第2のデバイスにも知られている対称鍵を生成するための手段と、
    第1の認証チャレンジを前記第2のデバイスに送るための手段であって、前記第1の認証チャレンジが前記暗号アルゴリズムおよび前記対称鍵に基づく、送るための手段と、
    前記第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを前記第2のデバイスから受信するための手段と、
    第1の応答生成関数を使用して前記第2の認証チャレンジに対する第1の応答を生成するための手段と、
    前記第1の応答を前記第2のデバイスに送るための手段と、
    前記第1の認証チャレンジに対する第2の応答を前記第2のデバイスから受信するための手段であって、前記第2の応答が第2の応答生成関数を使用して生成され、前記第1の応答生成関数および前記第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信するための手段と
    を備え
    前記第1の応答生成関数が第1の暗号学的暗号関数を含み、前記第2の応答生成関数が第2の暗号学的暗号関数を含み、前記第1の暗号学的暗号関数が前記第2の暗号学的暗号関数とは異なる、第1のデバイス。
  18. 前記第1の応答生成関数が、前記対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数を含み、前記第1の修飾鍵が前記対称鍵とは異なり、前記第1のデバイスが、
    前記第1の修飾鍵に基づいて前記第1の応答を生成するための手段
    をさらに備える、請求項17に記載の第1のデバイス。
  19. 第1のデバイス上で保護されたコンテンツを保護するための命令を記憶したコンピュータ可読記憶媒体であって、前記命令が、少なくとも1つのプロセッサによって実行されたとき、前記プロセッサに、
    前記第1のデバイスに暗号アルゴリズムを提供することと、
    第2のデバイスにも知られている対称鍵を生成することと、
    第1の認証チャレンジを前記第2のデバイスに送ることであって、前記第1の認証チャレンジが前記暗号アルゴリズムおよび前記対称鍵に基づく、送ることと、
    前記第1の認証チャレンジを送ることに応答して、第2の認証チャレンジを前記第2のデバイスから受信することと、
    第1の応答生成関数を使用して前記第2の認証チャレンジに対する第1の応答を生成することと、
    前記第1の応答を前記第2のデバイスに送ることと、
    前記第1の認証チャレンジに対する第2の応答を前記第2のデバイスから受信することであって、前記第2の応答が第2の応答生成関数を使用して生成され、前記第1の応答生成関数および前記第2の応答生成関数が、1つまたは複数の同一の入力認証チャレンジに応答して、異なる出力値を生成する、受信することと
    を行わせ
    前記第1の応答生成関数が第1の暗号学的暗号関数を含み、前記第2の応答生成関数が第2の暗号学的暗号関数を含み、前記第1の暗号学的暗号関数が前記第2の暗号学的暗号関数とは異なる、コンピュータ可読記憶媒体。
  20. 前記第1の応答生成関数が、前記対称鍵の関数として第1の修飾鍵を生成する第1の鍵修飾関数を含み、前記第1の修飾鍵が前記対称鍵とは異なり、前記命令が、前記プロセッサによって実行されたとき、前記プロセッサにさらに、
    前記第1の修飾鍵に基づいて前記第1の応答を生成すること
    を行わせる、請求項19に記載のコンピュータ可読記憶媒体。
JP2015556949A 2013-02-07 2014-01-16 認証および鍵交換のための方法およびデバイス Active JP6523967B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361762198P 2013-02-07 2013-02-07
US61/762,198 2013-02-07
US13/912,045 US9143331B2 (en) 2013-02-07 2013-06-06 Methods and devices for authentication and key exchange
US13/912,045 2013-06-06
PCT/US2014/011876 WO2014123675A1 (en) 2013-02-07 2014-01-16 Methods and devices for authentication and key exchange

Publications (2)

Publication Number Publication Date
JP2016507196A JP2016507196A (ja) 2016-03-07
JP6523967B2 true JP6523967B2 (ja) 2019-06-05

Family

ID=51260348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015556949A Active JP6523967B2 (ja) 2013-02-07 2014-01-16 認証および鍵交換のための方法およびデバイス

Country Status (6)

Country Link
US (1) US9143331B2 (ja)
EP (2) EP2954637B1 (ja)
JP (1) JP6523967B2 (ja)
KR (1) KR20150115935A (ja)
CN (1) CN104956620B (ja)
WO (1) WO2014123675A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454674B1 (en) * 2009-11-16 2019-10-22 Arm Limited System, method, and device of authenticated encryption of messages
US9413754B2 (en) * 2014-12-23 2016-08-09 Airwatch Llc Authenticator device facilitating file security
JP6023853B1 (ja) * 2015-05-29 2016-11-09 日本電信電話株式会社 認証装置、認証システム、認証方法、およびプログラム
US10601793B2 (en) * 2016-03-11 2020-03-24 Pss, Llc Systems and methods for securing electronic data with embedded security engines
LU93024B1 (de) * 2016-04-11 2017-11-08 Phoenix Contact Gmbh & Co Kg Intellectual Property Licenses & Standards Verfahren und Anordnung zum Aufbauen einer sicheren Kommunikation zwischen einer ersten Netzwerkeinrichtung (Initiator) und einer zweiten Netzwerkeinrichtung (Responder)
US20170300673A1 (en) * 2016-04-19 2017-10-19 Brillio LLC Information apparatus and method for authorizing user of augment reality apparatus
GB2561822B (en) * 2017-04-13 2020-02-19 Arm Ip Ltd Reduced bandwidth handshake communication
EP3793129A4 (en) * 2018-05-30 2021-11-17 Huawei International Pte. Ltd. KEY EXCHANGE SYSTEM, METHOD AND APPARATUS

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3898796B2 (ja) * 1996-05-22 2007-03-28 松下電器産業株式会社 暗号化装置
JP4219680B2 (ja) * 2000-12-07 2009-02-04 サンディスク コーポレイション 不揮発性メモリカード、コンパクトディスクまたはその他のメディアから記録済みのオーディオ、ビデオまたはその他のコンテンツを再生するためのシステム、方法およびデバイス
KR100859922B1 (ko) 2001-07-05 2008-09-23 마츠시타 덴끼 산교 가부시키가이샤 기록장치, 기록매체, 기록방법
JP2003318894A (ja) * 2002-02-21 2003-11-07 Matsushita Electric Ind Co Ltd チャレンジ−レスポンス方式による機器間の認証処理方法
KR101027199B1 (ko) * 2002-12-03 2011-04-06 파나소닉 주식회사 키공유 시스템, 공유키 생성장치 및 공유키 복원장치
US7181196B2 (en) * 2003-05-15 2007-02-20 Lucent Technologies Inc. Performing authentication in a communications system
JP2005094089A (ja) * 2003-09-12 2005-04-07 Mitsubishi Electric Corp 認証装置及び被認証装置及び認証システム及び認証方法及び被認証方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
EP1873674B1 (en) * 2005-12-19 2019-09-04 Nippon Telegraph And Telephone Corporation Terminal identification method, authentication method, authentication system, server, terminal, radio base station, program, and recording medium
JP2008085892A (ja) * 2006-09-28 2008-04-10 Brother Ind Ltd 通信システム、通信装置、情報処理プログラム及び認証方法
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
CN102638794B (zh) * 2007-03-22 2016-03-30 华为技术有限公司 鉴权和密钥协商方法、认证方法、系统及设备
JP2008269088A (ja) 2007-04-17 2008-11-06 Toshiba Corp プログラム情報提供システム、プログラム情報提供方法、プログラム情報提供方法に用いられる記録媒体
CN101340436B (zh) * 2008-08-14 2011-05-11 普天信息技术研究院有限公司 基于便携式存储设备实现远程访问控制的方法及装置
JP5251366B2 (ja) * 2008-09-01 2013-07-31 沖電気工業株式会社 共通鍵生成端末、鍵共有システム、共通鍵生成方法
US9183357B2 (en) 2008-09-24 2015-11-10 Panasonic Intellectual Property Management Co., Ltd. Recording/reproducing system, recording medium device, and recording/reproducing device
DE102009030019B3 (de) * 2009-06-23 2010-12-30 Siemens Aktiengesellschaft System und Verfahren zur zuverlässigen Authentisierung eines Gerätes
JP5614016B2 (ja) 2009-09-09 2014-10-29 ソニー株式会社 通信システム、通信装置及び通信方法、コンピューター・プログラム、並びに、コンテンツ提供装置及びコンテンツ提供方法
US8712045B2 (en) * 2010-01-07 2014-04-29 Microsoft Corporation Digital rights management for media streams
WO2012011254A1 (ja) * 2010-07-23 2012-01-26 パナソニック株式会社 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
US8756424B2 (en) * 2010-11-30 2014-06-17 Marvell Israel (M.I.S.L) Ltd. Load balancing hash computation for network switches

Also Published As

Publication number Publication date
WO2014123675A1 (en) 2014-08-14
CN104956620A (zh) 2015-09-30
KR20150115935A (ko) 2015-10-14
EP3059897B1 (en) 2019-01-02
JP2016507196A (ja) 2016-03-07
EP2954637B1 (en) 2019-10-16
US20140223182A1 (en) 2014-08-07
US9143331B2 (en) 2015-09-22
EP2954637A1 (en) 2015-12-16
EP3059897A1 (en) 2016-08-24
CN104956620B (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
JP6523967B2 (ja) 認証および鍵交換のための方法およびデバイス
US8819443B2 (en) Methods and devices for authentication and data encryption
US9342701B1 (en) Digital rights management system and methods for provisioning content to an intelligent storage
US9490982B2 (en) Method and storage device for protecting content
US9043610B2 (en) Systems and methods for data security
US8312269B2 (en) Challenge and response access control providing data security in data storage devices
US9325505B2 (en) Apparatus and method for content encryption and decryption based on storage device ID
US8966580B2 (en) System and method for copying protected data from one secured storage device to another via a third party
US8347404B2 (en) Method, system, and data server for checking revocation of content device and transmitting data
US20030041221A1 (en) Data protection method, data protection system, access apparatus, computer-readable recording medium on which access program is recorded and data recording apparatus
CN102271037A (zh) 基于在线密钥的密钥保护装置
WO2010025318A2 (en) Encrypting a unique cryptographic entity
JP2008005408A (ja) 記録データ処理装置
US9076002B2 (en) Stored authorization status for cryptographic operations
JP2008527892A (ja) セキュアホストインタフェース
JP5911876B2 (ja) 記憶装置、記憶装置の認証方法及び認証装置
US11088832B2 (en) Secure logging of data storage device events
JP2008147946A (ja) 認証方法、認証システム、及び外部記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190108

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190426

R150 Certificate of patent or registration of utility model

Ref document number: 6523967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250