Nothing Special   »   [go: up one dir, main page]

JP4555046B2 - データ転送システム及びデータ転送方法 - Google Patents

データ転送システム及びデータ転送方法 Download PDF

Info

Publication number
JP4555046B2
JP4555046B2 JP2004302015A JP2004302015A JP4555046B2 JP 4555046 B2 JP4555046 B2 JP 4555046B2 JP 2004302015 A JP2004302015 A JP 2004302015A JP 2004302015 A JP2004302015 A JP 2004302015A JP 4555046 B2 JP4555046 B2 JP 4555046B2
Authority
JP
Japan
Prior art keywords
key
data
license
transfer
session
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.)
Expired - Fee Related
Application number
JP2004302015A
Other languages
English (en)
Other versions
JP2006115329A (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 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ
Priority to JP2004302015A priority Critical patent/JP4555046B2/ja
Priority to US11/250,974 priority patent/US7845011B2/en
Publication of JP2006115329A publication Critical patent/JP2006115329A/ja
Application granted granted Critical
Publication of JP4555046B2 publication Critical patent/JP4555046B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Description

本発明は、機器間やモジュール間でデータを転送するシステム及び方法に関し、特に、著作権保護のためにデータを暗号化し利用条件等に関する情報とともに送信するデータ転送システム及びデータ転送方法に関するものである。
近年、インターネットなどの情報通信網及びそれを利用するための機器が急速に進歩している。この状況下では、データはディジタル化されて送受信され、媒体に記録される。一度媒体に記録されたディジタルデータは、複製が容易である上、複製に際して品質の劣化を伴わないという利点がある。一方で、音楽データや画像データ等の著作者の権利が存在するデータに関しては、適切な著作権保護のための方策が取られていないと、著しく著作権者の権利が侵害されてしまう恐れがある。ところが、著作権保護の目的を最優先し、ディジタルデータの流通を阻害してしまうと、著作物の複製に際して著作権料を徴収することが可能な著作権者にとっても、かえって不利益となる。
著作権の存在するデータの配信は、主にディジタル通信網や、放送波などを介して行なわれる。これらのデータを一般利用者が利用する際には、まず半導体メモリなどからなる記憶装置にデータを記録しておき、その記憶装置を再生装置(プレイヤー)に装着して記憶されているデータを再生する場合が多い。現時点では、記憶装置は記録再生装置に固定的に内蔵されているものもあるが、利便性の面からも今後は可搬型の記憶装置の利用が進む可能性が高い。著作権保護機能を伴った可搬型の記憶装置としては、非特許文献1に記載のメモリカードがある。
データを再生する装置としては、このようなデータの配信を受けるのに用いた記録再生機器や、可搬型の専用の再生装置を用いる。この場合、著作権者の権利を保護するためには、記憶装置に記録されたデータを、著作権者が主張する条件の範囲を超えて再生できないように、記録再生装置及び記憶装置にセキュリティ対策を施す必要がある。すなわち、当該機器の内部及び外部からアクセス可能な領域で行なわれるデータの授受に関しては、認証処理や暗号化処理等を十分に考慮する必要がある。
特許文献1,2では、このようなセキュリティ対策を機器に施す技術として、利用対象のディジタルデータを暗号化する一方で、それを復号するための鍵及び復号した際の利用条件を、不正に取得,改竄などができないようにすることで、著作権の保護を達成するものが提案されている。
WO01/013358号パンフレット WO01/043339号パンフレット http://panasonic.jp/sd/whats_sd/index.html
しかしながら、上記した従来の技術には、以下のような問題点がある。
1)機器間で復号鍵や利用条件に関する情報を転送する場合において、送信元の機器が正しい機器であるか否かを送信先の機器が認証する機能がない。このため、送信先の機器は、不正な機器から受信した復号鍵や利用条件に関する情報も記録してしまうことになり、不正アクセスに対する防御ができない。
2)データの転送が頻繁に生じると、データ再生に遅延が生じる可能性がある。これは、転送の度に送信元機器及び送信先機器の両方において負荷の高い暗号演算や証明書検証処理を行わなければならないためである。
3)証明書で機器の正当性を判別する場合には、証明書とともに失効した証明書のリストをシステム全体で用いる必要があるが、送信先の機器の証明書失効リストしか更新できない。
本発明は、上記のような問題点が解消されたデータ転送システム及びデータ転送方法を提供しようとするものである。
上記解決課題に鑑みて鋭意研究の結果、本発明者は、以下のような手順により、暗号化されたコンテンツデータと、該コンテンツデータを復号するための鍵データと、復号が許可される条件(これらをまとめたものを「ライセンス」と呼ぶ)とを、一方のモジュールから他方のモジュールへ転送するデータ転送方法に想到した。
第1の方法
まず初めに、転送先から、転送先のデバイスクラス公開鍵を含む証明書を転送元に送信する。転送元では受信した証明書の正当性を検証し、検証の結果受信した証明書の正当性が確認されると、自身で一時的な共通鍵暗号化のためのチャレンジ鍵を生成し、該鍵を受信したデバイスクラス公開鍵を用いて暗号化し、生成された暗号化データに自身のデバイスクラス公開鍵を含む証明書を連結し転送先に送信する。転送先では、受信した該データを、自身のデバイスクラス秘密鍵を用いて復号し、チャレンジ鍵を取得する。
続いて、転送元は、ライセンスを特定するためのライセンスIDを、ライセンスを暗号化するために用いる鍵(これを「鍵タイプ」と呼ぶ)に連結したものを送信する。転送先では、受信した鍵タイプに応じて、第1のセッション鍵と第2のセッション鍵もしくは第1のセッション鍵のみを生成する。鍵タイプは、全てのライセンスについて、1つのフィールドに記載されている。続いて、鍵タイプに応じて、第1のセッション鍵と転送先が保持するデバイス公開鍵もしくは第2のセッション鍵とを連結した後に、受信したデバイスクラス公開鍵で暗号化し、生成された2つの暗号化データのうちいずれかと自身の証明書失効リストを連結した後、チャレンジ鍵で暗号化し転送元に送信する。
転送元は、転送先から送信されたデータを受けて、該データをチャレンジ鍵でまず復号した後、復号した結果から転送先の証明書失効リストを除いたデータを、さらに自身のデバイスクラス秘密鍵で復号する。この復号により、連結された第1のセッション鍵と第2のセッション鍵もしくは第1のセッション鍵とデバイス公開鍵を取り出す。こうして得られた第2のセッション鍵もしくはデバイス公開鍵用いてライセンスを暗号化する。その暗号化データに自身の証明書失効リストを連結したデータを第1のセッション鍵で暗号化し、転送先に送信する。尚、転送元は、自身の証明書失効リストを上記暗号化データに連結する前に、受信した証明書失効リストと自身が保持する証明書失効リストの発行日を比較する。その結果、自身の証明書失効リストの発行日の方が古かった場合は、受信した証明書失効リストで、自身の証明書失効リストを上書きし、上記データ連結及び転送先への証明書失効リストの送信は行なわないものとする。
転送先は、受信した暗号化データをそれぞれ対応する鍵で復号し、得られたライセンスを自身の耐タンパ性(不正書換え防止性能)を有する領域に記録する。
ここで、一度転送元と転送先の間で第1のセッション鍵が共有された後、それが両者の間で保持されている状態にあるときにライセンス転送を行う場合は、転送先は新たなセッション鍵を生成すると、これを第1のセッション鍵で暗号化した後転送元に送信する。一方、転送元は受信したデータを第1のセッション鍵で復号し、新たなセッション鍵を取り出し、取り出した該鍵を用いて転送対象のライセンスを暗号化した後、第1のセッション鍵で暗号化し、転送先に送信する。
第2の方法
あるいは、以下のようなデータ転送方法も考えられる。
前記同様、一方のモジュールから他方のモジュールへライセンスを暗号化して転送する場合において、まず初めに、転送先から、転送先のデバイスクラス公開鍵を含む証明書を転送元に送信する。
転送元は受信した証明書の正当性を検証し、検証の結果受信した証明書の正当性が確認されると、自身で一時的な共通鍵暗号化のためのチャレンジ鍵を生成し、該鍵を受信したデバイスクラス公開鍵を用いて暗号化し、生成された暗号化データに自身のデバイスクラス公開鍵を含む証明書を連結し転送先に送信する。また、ライセンスを特定するためのライセンスIDを転送先に送信する。
転送先は、受信した上記証明書の暗号化データを自身のデバイスクラス秘密鍵で復号し、チャレンジ鍵を取得する。また、第1のセッション鍵を生成し、生成した第1のセッション鍵と転送先が保持するデバイス公開鍵と連結したデータを受信したデバイスクラス公開鍵で暗号化し、生成された暗号化データに証明書失効リストを連結したものをチャレンジ鍵で暗号化して転送元に送信する。
転送元は、まず、受信した暗号化データをチャレンジ鍵で復号し、復号した結果から転送先の証明書失効リストを除いたデータを、さらに自身のデバイスクラス秘密鍵で復号し、連結された第1のセッション鍵とデバイス公開鍵を取り出す。こうして得られた第1のセッション鍵でライセンスを暗号化した後、自身の証明書失効リストを連結し、新たな一時鍵であるセッション外殻鍵を生成し、これを用いて上記のライセンス及び証明書失効リストの連結データの暗号化データをさらに暗号化する。また、生成したセッション外殻鍵を先に取り出したデバイス公開鍵で暗号化する。こうして得られた2つの暗号化データを連結して、転送先に送信する。尚、転送元は、自身の証明書失効リストを該データに連結する前に、受信した証明書失効リストと自身が保持する証明書失効リストの発行日を比較する。その結果、自身の証明書失効リストの発行日の方が古かった場合は、受信した証明書失効リストで、自身の証明書失効リストを上書きし、上記データ連結及び転送先への証明書失効リストの送信は行なわない。
転送先は、受信した上記の連結データをそれぞれ対応する鍵で復号し、得られたライセンスを自身の耐タンパ性を有する領域に記録する。
ここで、一度転送元と転送先の間で第1のセッション鍵が共有された後、それが両者の間で保持されている状態にあるときにライセンス転送を行う場合は、転送先は新たなセッション鍵を生成すると、これをセッション外殻鍵で暗号化したものを転送元に送信する。転送元は、受信した暗号化データをセッション外殻で復号し、新たなセッション鍵を取り出し、これを用いて転送対象のライセンスを暗号化した後、セッション外殻鍵で暗号化して、転送先に送信する。
以上のような技術的思想を具体的に実現するための手段として、本発明は、コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、転送先は、自身の公開鍵を含む証明書を転送元に送信し、転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結した第1のデータを転送先に送信するとともに、ライセンスを識別するためのライセンスIDと、ライセンスを暗号化する鍵のタイプを示す鍵タイプデータとを連結した第2のデータを転送先に送信し、転送先は、前記第1のデータから転送元の公開鍵を取得した後、前記第1のデータから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、前記第2のデータに含まれる鍵タイプデータに応じて、第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵のみを生成し、第1のセッション鍵と自身の公開鍵とを連結し、あるいは第1のセッション鍵と第2のセッション鍵とを連結し、その連結データを前記転送元の公開鍵で暗号化し、その暗号化データをさらに前記チャレンジ鍵で暗号化したデータを転送元に送信し、転送元は、受信した暗号化データを前記チャレンジ鍵で復号し、その復号データをさらに自身の秘密鍵で復号し、その復号データから第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵及び転送先の公開鍵を取得し、取得した第2のセッション鍵あるいは転送先の公開鍵でライセンスを暗号化し、その暗号化データをさらに前記第1のセッション鍵で暗号化したデータを転送先に送信し、転送先は、受信した暗号化データを前記第1のセッション鍵で復号し、その復号データをさらに前記第2のセッション鍵あるいは自身の公開鍵で復号してライセンスを取得することを特徴とする方法を提供するものである。
本発明は、また、コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、転送先は、自身の公開鍵を含む証明書を転送元に送信し、転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結した第1のデータを転送先に送信するとともに、ライセンスを識別するためのライセンスIDと、ライセンスを暗号化する鍵のタイプを示す鍵タイプデータとを連結した第2のデータを転送先に送信し、転送先は、前記第1のデータから転送元の公開鍵を取得した後、前記第1のデータから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、前記第2のデータに含まれる鍵タイプデータに応じて、第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵のみを生成し、第1のセッション鍵と自身の公開鍵とを連結し、あるいは第1のセッション鍵と第2のセッション鍵とを連結し、その連結データを前記転送元の公開鍵で暗号化し、その暗号化データと自身の証明書失効リストとを連結し、その連結データを前記チャレンジ鍵で暗号化したデータを転送元に送信し、転送元は、受信した暗号化データを前記チャレンジ鍵で復号し、その復号データに含まれている転送先の証明書失効リストと自身の証明書失効リストとを比較して、転送先の証明書失効リストの方が新しい場合には、転送先の証明書失効リストを自身の証明書失効リストとするとともに、前記復号データから転送先の証明書失効リストを除いたデータを自身の秘密鍵で復号し、その復号データから第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵及び転送先の公開鍵を取得し、取得した第2のセッション鍵あるいは転送先の公開鍵でライセンスを暗号化し、その暗号化データと、自身の証明書失効リストとを連結し、その連結データを前記第1のセッション鍵で暗号化したデータを転送先に送信し、転送先は、受信した暗号化データを前記第1のセッション鍵で復号して転送元の証明書失効リストを取得し、さらに、前記復号データから転送元の証明書失効リストを除いたデータを前記第2のセッション鍵あるいは自身の公開鍵で復号してライセンスを取得することを特徴とする方法を提供するものである。
本発明の転送方法において、転送元と転送先との間で共通の第1のセッション鍵を保持している状態で前記ライセンスを暗号化して転送する場合には、転送先は、新たなセッション鍵を生成し、そのセッション鍵を前記第1のセッション鍵で暗号化したデータを転送元に送信し、転送元は、受信した暗号化データを前記第1のセッション鍵で復号して前記新たなセッション鍵を取得し、そのセッション鍵でライセンスを暗号化し、その暗号化データを前記第1のセッション鍵でさらに暗号化して転送先に送信することを特徴とする。
本発明は、また、コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、転送先は、自身の公開鍵を含む証明書を転送元に送信し、転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結したデータを転送先に送信し、転送先は、受信したデータから転送元の公開鍵を取得した後、前記受信データから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、ライセンスを識別するためのライセンスIDを転送元に送信し、転送先は、セッション鍵を生成し、生成したセッション鍵と転送先の公開鍵とを連結し、その連結データを転送元の公開鍵で暗号化し、その暗号化データをさらにチャレンジ鍵で暗号化したデータを転送元に送信し、転送元は、受信した暗号化データをチャレンジ鍵で復号し、その復号データを自身の秘密鍵でさらに復号し、その復号データからセッション鍵と転送先の公開鍵とを取得し、取得したセッション鍵でライセンスを暗号化し、その暗号化データを新たに生成したセッション外殻鍵でさらに暗号化するとともに、前記セッション外殻鍵を転送先の公開鍵で暗号化し、前記2つの暗号化データを連結したデータを転送先に送信し、転送先は、受信したデータのうち自身の公開鍵で暗号化されたデータを自身の秘密鍵で復号して前記セッション外殻鍵を取得した後、前記受信データのうち前記セッション外殻鍵で暗号化されたデータを前記セッション外殻鍵で復号し、その復号データを前記セッション鍵でさらに復号してライセンスを取得することを特徴とする方法を提供するものである。
本発明は、また、コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、転送先は、自身の公開鍵を含む証明書を転送元に送信し、転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結したデータを転送先に送信し、転送先は、受信したデータから転送元の公開鍵を取得した後、前記受信データから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、ライセンスを識別するためのライセンスIDを転送元に送信し、転送先は、セッション鍵を生成し、生成したセッション鍵と転送先の公開鍵とを連結し、その連結データを転送元の公開鍵で暗号化し、その暗号化データと自身の証明書失効リストとを連結し、その連結データをチャレンジ鍵で暗号化したデータを転送元に送信し、転送元は、受信した暗号化データをチャレンジ鍵で復号し、その復号データに含まれている転送先の証明書失効リストと自身の証明書失効リストとを比較して、転送先の証明書失効リストの方が新しい場合には、転送先の証明書失効リストを自身の証明書失効リストとするとともに、前記復号データから転送先の証明書失効リストを除いたデータを、自身の秘密鍵で復号し、その復号データからセッション鍵と転送先の公開鍵とを取得し、取得したセッション鍵でライセンスを暗号化し、その暗号化データに自身の証明書失効リストを連結し、その連結データを新たに生成したセッション外殻鍵で暗号化するとともに、前記セッション外殻鍵を転送先の公開鍵で暗号化し、前記2つの暗号化データを連結したデータを転送先に送信し、転送先は、受信したデータのうち自身の公開鍵で暗号化されたデータを自身の秘密鍵で復号して前記セッション外殻鍵を取得した後、前記受信データのうち前記セッション外殻鍵で暗号化されたデータを前記セッション外殻鍵で復号し、その復号データから転送元の証明書失効リストを取得するともに、前記復号データから転送元の証明書失効リストを除いたデータを前記セッション鍵で復号してライセンスを取得することを特徴とする方法を提供するものである。
本発明の転送方法において、転送元と転送先との間で共通のセッション外殻鍵を保持している状態で前記ライセンスを暗号化して転送する場合には、転送先は、新たなセッション鍵を生成し、そのセッション鍵を前記セッション外殻鍵で暗号化したデータを転送元に送信し、転送元は、受信した暗号化データを前記セッション外殻鍵で復号して前記新たなセッション鍵を取得し、そのセッション鍵でライセンスを暗号化し、その暗号化データを前記セッション外殻鍵でさらに暗号化して転送先に送信することを特徴とする。
本発明は、また、上記したいずれかの転送方法を用いて、記録媒体間でコンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データを転送するシステムを提供するものである。
本発明は、また、上記したいずれかの転送方法を用いて、ネットワークノード間でコンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データを転送するシステムを提供するものである。
以上、説明したように、本発明のデータ転送システム及びデータ転送方法によれば、不正な機器からデータを復号するための鍵やデータの利用条件情報を受信した送信先機器はそれを拒絶でき、複数のデータを復号するための鍵及びデータの利用条件情報を連続的に送信元機器から送信先機器へ送信する場合に、両機器の暗号演算に関する負荷を軽減することができ、また、送信先が有する証明書失効リストの方が、送信元が有する証明書失効リストより新しかった場合、該鍵及び該利用条件情報の転送処理の間に、送信元の証明書失効リストを送信先の証明書失効リストで更新することができる。
以下、添付図面を参照しながら、本発明のデータ転送システム及びデータ転送方法を実施するための最良の形態を詳細に説明する。図1〜図19は、本発明の実施の形態を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表わし、基本的な構成及び動作は同様であるものとする。
[第1実施形態]
本発明のデータ転送システムの第1実施形態は、チューナーにより受信したディジタル映像データを可搬型の磁気ディスク装置等に記録し、それをディスプレイ上に再生できるような記録再生装置として実現されるものである。以下では、この記録再生装置を「ディジタルデータ記録再生装置」、もしくは簡潔に「記録再生装置」と呼ぶ。データを記録する媒体や装置は磁気ディスク装置に限定されるものではなく、以下において説明する機能を有する媒体や装置であればどのようなものであってもよい。例えば、容量が大きく、内部にコントローラを持ったメモリデバイスなどを用いてもよい。ディジタルデータ記録再生装置は、インターネットなどの情報通信網に接続して、テキストや音声、ゲームプログラム等の各種データを送受信できるものとする。以下では、これらのデータを総称して「コンテンツデータ」と呼ぶ。また、ディジタルデータ記録再生装置は、据え付け型である場合もあれば、可搬型である場合もある。
データ転送システムの全体構成
図1は、本実施形態のデータ転送システムの全体構成を概略的に示す図である。図1において、データ転送システムは、記録再生装置112と、ユーザインタフェースを提供する入力機器120と、ディスプレイ121と、可搬型磁気ディスク装置125,126と、衛星130等から放送を受信する受信アンテナ131と、ネットワーク140を通じて記録再生装置112と通信可能な配信サーバ150とから構成されている。記録再生装置112は、コンテンツ管理部101と、ネットワークインタフェース部100、ユーザインタフェースとのブリッジ部104、外部記憶装置とのインタフェース105,106及びCPU107を含むホスト部110と、ライセンス展開部102及びコンテンツ復号部103を含むコンテンツデコーダ部111とを備えている。
作成者の著作権保護が必要なコンテンツデータは、放送波を介して受信アンテナ131で受信された後、記録再生装置112のコンテンツ管理部101に一時的に蓄積されたり、配信サーバ150に蓄積されていたりする。このとき、コンテンツ管理部101や配信サーバ150は、所定の暗号方式により暗号化した上で、自身からコンテンツデータを出力する。このときに使用される暗号化方式は、それぞれのセキュリティ仕様によって、独自に規定されてよい。
記録再生装置112には、インタフェース105及び106により可搬型磁気ディスク装置125及び126が装着される。磁気ディスク装置125及び126は、記録再生装置112のコンテンツ管理部101や、配信サーバ150から送信された暗号化コンテンツデータを自身に記録する。コンテンツデータを再生する場合には、可搬型磁気ディスク装置125や126から記録再生装置112のコンテンツ復号部103に、コンテンツデータが暗号化されたままの形で送信される。
記録再生装置112のホスト部110に含まれるネットワークインタフェース部100、入力デバイスとの間のブリッジ部104、外部可搬型磁気ディスク装置との間のインタフェース105,106、及びこれらを制御するCPU107は、全体として、システム内部を流れるデータの処理や受け渡しを制御する。
記録再生装置112のコンテンツ管理部101や配信サーバ150は、コンテンツデータの暗号化と共に、それを実際に再生するため条件等に関する情報も、内部に生成及び保持する。以下では、これをライセンスと呼ぶ。ライセンスは、要求に応じて、コンテンツ管理部101や配信サーバ150から可搬型磁気ディスク装置125,126へ、あるいは可搬型磁気ディスク装置125,126からライセンス展開部102へ転送される。
ライセンスには、それぞれに一意に割り当てられたID(これをライセンスIDと呼ぶ)、対応するコンテンツデータを特定するためのID(これをコンテンツIDと呼ぶ)、暗号化されたコンテンツデータを解くための鍵データ、対象コンテンツデータの利用を制限するための条件が含まれる。この条件には、転送元で内容を解釈しライセンスの出力を制御するための制御情報UR_sと、ライセンス展開部102に一度転送された後、コンテンツ復号部103にコンテンツ鍵を渡して実際に復号を行うかどうかを制御するための制限情報UR_dとがある。
以上のように構成されたデータ転送システムにおいて、暗号化されたコンテンツデータを利用者側で再生可能とするために必要となる技術は、第1にはコンテンツデータを暗号化する方式そのものであり、第2にはコンテンツデータを暗号化するための鍵を通信路上で暗号化して転送するための方式であり、さらに、第3には、一度記録されたコンテンツデータを使用できる状態のまま無断で複製することを防止する機能である。本実施形態のデータ転送システムでは、コンテンツデータは暗号化されて自由に記録される一方で、それを利用するためのライセンスは、それを取得しようとするものと保持しているものが相互に正しいことが認められ、且つライセンスに規定された利用条件を守る範囲内でしか転送されないようにすることで、不正なコンテンツデータの利用を制限する。以下では、コンテンツデータの記録及び再生を行なう場合に、これらのコンテンツデータの転送元及び転送先について相互認証を行う機能について詳細に説明する。
暗号化の鍵及びデータの構成
図2は、図1に示した本実施形態のデータ転送システムにおいて使用される通信のための暗号に関する鍵データおよび配信するデータ等の特性を示す図である。転送元より送信されるデータDataは映像等のコンテンツデータである。コンテンツデータDataは、後に説明するように、コンテンツ鍵K_cによって復号可能な暗号化が施された暗号化データ{Data}K_cという形式で、コンテンツ管理部101や配信サーバ150、可搬型磁気ディスク装置125,126などに送信される。尚、以下においては、{D}Xという表記は、データDを、鍵データXにより復号可能な暗号に変換した情報であることを示すものとする。通常、鍵データXが対称暗号用鍵データである場合には、データは鍵データXを用いて暗号化されている。一方、鍵データXが非対称暗号用の秘密鍵あるいは公開鍵であった場合は、データDは、Xとは異なるこれらに対応する公開鍵データあるいは秘密鍵データYを用いて暗号化されている。以下では、非対称暗号用公開鍵データを公開鍵または公開鍵データ、非対称暗号用秘密鍵データを秘密鍵または秘密鍵データ、対称暗号用鍵データを共通鍵又は共通鍵データと略す。尚、データDに電子署名が付けられている場合も{D}Xのように記載するが、これは電子署名の対象となる、データDを一部に含むデータ集合のハッシュ値が、公開鍵Xに対応する秘密鍵Yで暗号化されていることを意味する。本明細書中で、鍵K_xと表記されているものは、図においてKxと表記されているものに相当する。
コンテンツデータの暗号化、復号及び再生処理や、コンテンツデコーダ部111、可搬型磁気ディスク装置125,126、配信サーバ150、コンテンツ管理部101の認証に関わる鍵として、以下のものがある。コンテンツデータを暗号化および復号するための鍵は、コンテンツ鍵K_cである。配信サーバ150、コンテンツ管理部101、コンテンツデコーダ部111には、それぞれ個別に、互いに認証を行なうための電子署名付き公開鍵KP_dcがそれぞれ設けられる。公開鍵KP_dcにより暗号化されたデータは、これに対応する秘密鍵K_dcによって復号可能である。これらの秘密鍵データは、配信サーバ、コンテンツ管理部、可搬型磁気ディスク装置、コンテンツデコーダ部それぞれのある有限個に対して、1つ割り当てられる。KP_dc及びK_dcを共有する単位をクラスと呼ぶ。同一クラスに属する機器やモジュールは、ライセンスを転送、記録、管理する部分が、ある特定の規定されたレベルを満たす方法で実装されていて、ライセンスを転送する方式が共通であることを意味する。尚、以下ではこのような機器やモジュールを、総称してデバイスと呼ぶ。
KP_dcは、他の一般情報と連結された後、所定の認証局によって電子署名が与えられ、各デバイスに対する証明書としての役割を果たす。電子署名を与えるための認証局の公開鍵をKP_CA、これに対応する秘密鍵をK_CAと記す。以降では、これらの認証局公開鍵及び認証局秘密鍵と呼ぶ。証明書に記載される一般情報とは、その証明書の発行元や証明書のシリアル番号などである。公開鍵KP_dcは、{KP_dc}KP_CAの形式で、出荷時に各デバイスに埋め込まれる。以降では、公開鍵KP_dcをデバイスクラス公開鍵、該鍵で暗号化されたデータを復号するために用いられる秘密鍵をデバイスクラス秘密鍵と呼ぶ。また、各デバイスに対しては、個別に埋め込まれる公開鍵KP_dと、該鍵で暗号化されたデータを復号するための秘密鍵K_dとが存在する。以降では、これらをデバイス公開鍵、デバイス秘密鍵と呼ぶ。
さらに、本実施形態のデータ転送システムにおいて使用される鍵等として以下のものがある。異なる2つのデバイス間でライセンス転送を行う際に、該データを暗号化するために、ライセンス転送を実行する度に転送先において生成される共通鍵K_sn(n ? 0)、及びK_sn(n ? 0)を転送先から転送元へ送信する際にこれを暗号化するために、デバイス間で相互認証処理を行なう度に、転送元で生成される共通鍵K_chである。K_ch及びK_s0は、一度生成されると以後固定的な鍵として利用される場合もあるが、K_sn(n ? 1)については、ライセンス転送を実行する度に、必ずK_smからK_s(m+1)へ更新されてから利用される。以後、K_chをチャレンジ鍵、K_s0をセッション固定鍵、K_sn(n ? 0)をセッション時変鍵と呼ぶ。
可搬型磁気ディスク装置の構成
図3は、図1に示す可搬型磁気ディスク装置の内部構成を示すブロック図である。磁気ディスク装置には、インタフェース部320を介してデータが入出力される。外部から入力されたデータは、コントローラ330を介して、ヘッド部302から磁気ディスク円盤300上に記録される。読み出す場合は、前述の逆をデータが流れる。コントローラ330は、CPU331からも制御される。
配信サーバ150や記録再生装置112のコンテンツ管理部101から、記録を目的に可搬磁気ディスク装置にライセンスを転送する場合は、ライセンス転送管理部321が、必要なプロトコル処理や暗号演算処理を行なう。ライセンス転送管理部321に実際にライセンスが送信されると、該ライセンスは、ライセンス記録管理部332によって、ライセンス記録部333に記録される。本図では、ライセンス記録部333は磁気ディスク円盤300とは別に設けられているが、暗号化されたコンテンツデータの読み出しと書き込みとは異なる特殊なアクセス方法でのみアクセスが許可されていて、また本装置を分解等し内部のデータを直接読み出す等を行なうことが不可能な構成になっていれば、磁気ディスク円盤300上に記録する形態としてもよい。
図4は、図3に示す可搬型磁気ディスク装置のライセンス転送管理部321の内部構成を詳細に示す図である。ライセンス転送管理部321の中には、静的な記憶領域430が設けられている。この中には、認証局によって電子署名が与えられた本デバイスについての証明書{KP_dc}KP_CA(401)、証明書401の電子署名部を復号するための認証局によって発行された公開鍵KP_CA(認証局公開鍵,400)、本デバイスに固有の公開鍵KP_d(デバイス公開鍵,412)と、該鍵KP_d(412)で暗号化されたデータを復号するためのデバイス秘密鍵K_d(デバイス秘密鍵,422)が埋め込まれている。一方、書き換え可能な情報として、失効した証明書のリスト(証明書失効リスト)415と、ライセンス記録部333から読み出したライセンスを一時的に蓄積しておく領域431が設けられている。
ライセンス書き込み処理時の動作
ライセンス転送管理部321への入出力は、バス470を介して行なわれる。ライセンス記録部333にライセンスを書き込む場合は、図4において、主にバス470より下側にあるモジュールが使用される。以下では、それらについて順次説明する。
モジュール411は、自身が転送先に証明書の形で送信したデバイスクラス公開鍵KP_dc[D]を鍵として暗号化されたデータを、対応するデバイスクラス秘密鍵K_dc[D]を用いて復号するためのものである。モジュール411は、Dec /w K_dc[D]と記載してあるが、これはデバイスクラス秘密鍵K_dcを鍵として復号を行なうモジュール(Decrypter)であることを意味する。ここで、添え字中の[D]は、本鍵を用いて演算を行うモジュールが、ライセンス転送先(Destination)としての役割を担っていることを示す。同様に、添え字中の[S]は、本鍵を用いて演算を行うモジュールが、ライセンス転送元(Source)としての役割を担っていることを示す。以降、添え字として[D]及び[S]の文字が現れた場合は、全て同様の意味を表すものとする。また、以降では、ライセンス転送元を転送元、ライセンス転送先を転送先と略して記す。
モジュール402は、転送元から送信されてきたデバイスクラス公開鍵KP_dc[S]を含む証明書の検証を行なうモジュールである。電子署名部の検証には、認証局公開鍵KP_CA(400)が用いられる。デバイスクラス公開鍵KP_dc[S]の正当性が認められると、該鍵はモジュール413へ送られる。
モジュール413は、モジュール420で生成されたセッション固定鍵K_s0と自身に埋めこまれたデバイス公開鍵KP_dもしくはセッション時変鍵K_sn(n ? 1)を連結した後、該データをモジュール402から送られた転送元のデバイスクラス公開鍵KP_dc[S]を用いて暗号化するものである。K_s0及びK_sn(n ? 1)は、モジュール420で生成される。デバイス公開鍵KP_dとセッション時変鍵K_sn(n ? 1)のいずれをK_s0に連結するかは、転送対象のライセンス毎に決められており、転送元から事前に通知されている。この情報に基づいて、連結演算は行なわれる。転送元のデバイスクラス公開鍵KP_dc[S]による暗号化が行なわれたデータは、モジュール414へ送られる。尚、本モジュールによる暗号化は、一度転送元と転送先の間でセッション固定鍵K_s0の共有が完了した後は、省略することができる。
モジュール414は、モジュール411で復号後出力されたチャレンジ鍵K_chを用いて、モジュール413から出力されたデータを暗号化するものである。この暗号化は、自身に記録されている証明書失効リストをモジュール413から出力されたデータに連結した後、行なわれる。暗号化されたデータは、バス470及びインタフェース320を介して、転送元に送られる。
モジュール421は、インタフェース320及びバス470を介して転送元より送信されてきたデータを、セッション固定鍵K_s0及びセッション時変鍵K_sn(n ? 1)を用いて復号する。同様に、モジュール422は、セッション固定鍵K_s0のみを用いて復号する。セッション固定鍵及び時変鍵は、モジュール420で生成された後、モジュール413へ送られるときに同時に、421及び422の2つのモジュールに送られる。該モジュールで復号されたデータに転送元の証明書失効リストが含まれている場合は、自身の証明書失効リスト415を、該データで上書きする。証明書失効リスト以外のデータは、モジュール421の出力についてはモジュール423へ、モジュール422の出力についてはモジュール424へ送信される。
モジュール423は、モジュール421から出力されたデータを、自身に埋め込まれたデバイス秘密鍵K_d[D]で復号するものであり、モジュール424は、セッション時変鍵K_sn(n ? 1)で復号するものである。どちらの鍵で復号するかは、転送元より送信されるライセンスが、どちらの鍵で暗号化されているかに拠る。モジュール413では、セッション固定鍵K_s0に対し、デバイス公開鍵とセッション時変鍵のいずれかを連結したわけだが、この際に連結した鍵と同じ鍵を用いて、モジュール423あるいは424のいずれかで復号が行われる。本復号により、転送元から送信されたライセンスが取り出される。取り出されたライセンスは、ライセンス転送管理部321内のライセンス一時記録蓄積部431に蓄積された後、ライセンス記録部333へ記録される。
ライセンス読み出し処理時の動作
ライセンス記録部333からライセンスを読み出す場合は、図4において、主にバス470より上側にあるモジュールが使用される。以下では、それらについて順次説明する。
モジュール441は、転送先から証明書の形で送信されてきたデバイスクラス公開鍵KP_dc[D]を鍵として、モジュール440で生成されたチャレンジ鍵K_chを暗号化する機能をもつものである。暗号化されたデータは、バス470及びインタフェース320を介して、転送先に送信される。
モジュール440で生成されたチャレンジ鍵K_chは、モジュール450にも同時に入力される。モジュール450では、受け取ったチャレンジ鍵K_chを用いて、バス470から入力されたデータを復号する。ただし、バス470から送られたデータは、モジュール450か、モジュールか452のいずれかに入力される。詳細は図5以降において説明するが、簡単に述べれば、転送元と転送先の間で相互認証が行なわれた後、セッション固定鍵K_s0の共有がまだ両者の間で行われていない場合はモジュール450へ入力され、該鍵K_s0の共有が済んでいればモジュール452へ入力されるということである。
モジュール450は、チャレンジ鍵K_chを用いてバス470から入力されたデータを復号した後、該データをモジュール451に入力する。モジュール451は、入力された該データを、自身のデバイスクラス秘密鍵410で復号する。ただし、モジュール450から出力されるデータは、転送先において常に自身のデバイスクラス公開鍵で暗号化されているわけではない。転送先で暗号化されるのは、転送元と転送先の間でセッション固定鍵K_s0を共有する以前だけである。セッション固定鍵K_s0を共有化した後は、転送先での転送元のデバイスクラス公開鍵による暗号化は行なわれないため、モジュール451における処理は省略される。モジュール451で復号後得られたデータは、セッション時変鍵についてはモジュール454に、転送先のデバイス公開鍵KP_d[D]についてはモジュール455に、セッション固定鍵K_s0についてはモジュール461及びモジュール462にそれぞれ送信される。
モジュール454及びモジュール455は、入力された鍵データを用いて、ライセンス432を暗号化するモジュールである。暗号化されたライセンスは、モジュール454の出力はモジュール461に、モジュール455の出力はモジュール462にそれぞれ入力される。
ところで、一度セッション固定鍵K_s0が転送元と転送先の間で共有されると、バス470に送られてきたデータは、モジュール452に入力される。モジュール452は、入力されたデータをセッション固定鍵K_s0で復号するモジュールである。モジュール452の出力は、常にセッション時変鍵K_sn(ただし、n ? 1)であり、得られた鍵データは、モジュール462に送信される。つまり、モジュール462は、入力されたデータを、時間と共に変わってゆくセッション鍵K_sn(n ? 0)で暗号化するモジュールであるのに対し、モジュール461は、該入力データを時間に関して不変のセッション鍵K_s0で暗号化するモジュールである。
上記暗号化を行なう場合、それに先立って、まず転送先から送られてきた転送先の証明書失効リストに記載されている該証明書の発行時情報を、自身の発行日情報と、モジュール453において比較する。転送先の証明書失効リストは、モジュール450の出力結果(チャレンジ鍵の復号結果)に含まれている。比較の結果、自身の証明書失効リスト415の発行時の方が古かった場合は、転送先の証明書失効リストで自身の証明書失効リスト415を上書きする。逆に、転送先の証明書失効リストの発行時の方が古かった場合、自身の証明書失効リスト415をモジュール461あるいはモジュール462のいずれかへ送信する。もし、転送先から証明書失効リストが送信されてこなかった場合は、転送元からの証明書失効リストの送信は行なわれない。
証明書失効リスト415を送信する先は、どちらの鍵データを使って入力するデータを暗号化するかで決定される。モジュール461あるいはモジュール462では、モジュール454あるいはモジュール455の出力結果に対し自身の証明書失効リスト415を連結した後で、前段落に記載したような鍵データを用いて、暗号化を行なう。尚、モジュール454あるいはモジュール455の出力結果への証明書失効リスト415の連結は、暗号化演算に関する負荷を減らすため、通常はセッション固定鍵K_s0が共有化された後一度だけ行われる。(ただし、何度行なっても良い。)以上のようにして二重に暗号化されたライセンスは、モジュール461もしくはモジュール462の出力として、バス470及びインタフェース320を介して、転送先に送信される。
配信サーバ、コンテンツ管理部の構成と動作
図1に示す配信サーバ150及び記録再生装置112のコンテンツ管理部101は、ライセンスを生成及び発行する機能をもつ。従って、これらは上述のライセンス書き込み時の動作で必要なモジュールを内部に持つ。ただし、自身でライセンスを生成するので、ライセンス一時記録蓄積部431やライセンス記録部は必ずしも必要ではない。その代わりに、これらの部位にライセンスの生成行なう機能を持つライセンス生成部が置かれる。
コンテンツデコーダ部の構成と動作
コンテンツデコーダ部111は、コンテンツを復号し、それをディスプレイ121上に表示する機能を持つ。暗号化されたコンテンツを復号し、それをさらに動画像データストリームに構成するのは、コンテンツ復号部103の機能である。コンテンツ復号部103に対し暗号化されたコンテンツを復号するための鍵を送信するのは、ライセンス展開部102である。ライセンス展開部102は、所定の手順に従って、暗号化されたライセンスを、可搬型磁気ディスク装置125や126、コンテンツ管理部101、配信サーバ150などから受信する。従って、ライセンス展開部は、上述のライセンス読み込み時の動作で必要なモジュールを内部に持つ。転送元から送信されたライセンスは、ライセンス一時記録蓄積部431に蓄積された後、コンテンツ復号部103に送信される。このとき転送元から送信されるライセンスは、ライセンス全体であってもよいし、暗号化されたコンテンツを復号するのに必要な最低限の情報、すなわちコンテンツ鍵及び実際にコンテンツデータの復号を行うかどうかを制御するためのUR_dだけであっても良い。この場合、ホスト部は、復号対象のコンテンツのコンテンツIDと、コンテンツデコーダ部111に送信されたライセンスが対応するコンテンツのコンテンツID及び自身のライセンスIDについては、把握しているものとする。
転送元−ホスト部−転送先の間での処理の流れ
以下では、図5から図9を利用して、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理について説明する。以下では、ライセンス及びコンテンツの転送先を磁気ディスク装置とし、ライセンスの転送元はコンテンツ管理部101とするが、これに限るものではない。
図5において、コンテンツ利用者は、まず入力機器120などを利用して、ホスト装置から、コンテンツの再生要求を出す(500)。このときホスト装置は、利用しようとしているコンテンツとそのライセンスが既に取得済みであるかどうかについて、自身に接続されている磁気ディスク装置内を検索するために、検索要求を磁気ディスク装置に対して発行する(502)。検索は、個々のライセンスに一意に割り当てられたライセンスIDを用いて行なう。
該要求を受信した磁気ディスク装置は、送信されたライセンスIDを元に、自身の中に当該ライセンスが存在するか、ライセンス記録部333内を検索する(506)。その結果、ライセンスが存在する場合は、コンテンツデコーダ部111に該ライセンスを転送し(508)、存在しなかった場合は処理(507)へ移る。コンテンツデコーダ部111へのライセンス転送処理手続きについては、後述する。
一方、利用者がライセンスの検索を特に指定せず、テレビ放送コンテンツなどの記録を目的に、即座のコンテンツ及びライセンスの記録を要求した場合は、転送先磁気ディスク装置に対する検索要求及び該磁気ディスク装置における検索処理はスキップされ、処理507へ飛ぶ。
処理507では、転送先の証明書を、ホスト部へ送信する。転送先の証明書には、自身が包含するデータのハッシュ値を認証局の秘密鍵K_CAによって暗号化した電子署名が付けられている。自身が包含するデータは、自身に割り当てられたデバイスクラス公開鍵KP_CAやその発行元を記載した情報などである。該データは、KP_CAで検証できるという意味で、{KP_dc[D]}KP_CA,さらにはこれを短縮した形で(*0)と記す。
ホスト部110は、該証明書データを受信(510)すると、復号対象コンテンツのコンテンツIDと共に転送元に送信する(511)。
送信された転送先の証明書を受信した転送元は、該証明書の電子署名部を、自身に埋め込まれている認証局の公開鍵KP_CAで復号する。同時に、送信された証明書のデータ部のハッシュ値を、規定の方法で計算する。この計算結果と、KP_CAで復号した結果得られた電子署名部の値が一致していれば、送信された証明書は、少なくとも改竄が行なわれた形跡はないことになり、その正当性、曳いては転送先のデバイスクラス公開鍵KP_dc[D]の正当性が証明されたことになる。一方、その結果証明書の無効性が判明した場合は、該無効情報をホスト部へ送信する(525)。無効情報を受信したホスト部は、転送先が不正なものであるため、以下の処理の一切を停止し、処理を終了する(542)。
証明書の正当性が証明された場合でも、該証明書が、転送元として記録再生装置に実際に接続された磁気ディスク装置に埋め込まれたものであるかどうは断言できないので、以下に記すような更なる処理が必要になる。
転送先から送信された証明書の正当性が確認できると、転送元は、一時的な対称暗号用の鍵、チャレンジ鍵K_chを、自身内の鍵生成部で生成する(518)。生成されたチャレンジ鍵K_chは、転送元において、転送先から証明書の形で送信されたデバイスクラス公開鍵KP_dc[D]で暗号化される(519)。該処理によって得られたデータE(KP_dc[D], K_ch)を、以下では(*1)と記す。
処理520において、データ(*1)には転送元の証明書が連結される。該証明書には、転送先の証明書同様、自身が包含するデータのハッシュ値を認証局の秘密鍵K_CAによって暗号化した電子署名が付けられている。また、自身が包含するデータは、自身に割り当てられたデバイスクラス公開鍵KP_CAやその発行元を記載した情報などである。該データは、転送元(Source)に埋め込まれたKP_CAで検証できるという意味で、{KP_dc[S]}KP_CA,さらにはこれを短縮した形で(*2)と記す。(*1)と(*2)が連結されたデータを、以降では(*3)と記す。データ(*3)は、ホスト部110へ送信される(520)。
ホスト部110は、データ(*3)を受信すると(530)、これを転送先に送信する(531)。
転送先は、ホスト部より送信されたデータ(*3)を受信(535)すると、該データ中の電子署名部を、自身に埋め込まれている認証局の公開鍵KP_CAで復号する(536)。そして、転送元で行われたのと全く同様の方法、つまり含まれるデータのハッシュ値が、KP_CAで復号された電子署名部のデータと一致するか否かといった方法で、該証明書の正当性を検証する。該証明書の無効性が判明した場合は、該無効情報をホスト部へ送信する(540)。無効情報を受信したホスト部は、転送元が不正なものであるため、以下の処理の一切を停止し、処理を終了する(542)。有効であった場合は、対象ライセンスのライセンスID受信待ち状態に入る(538)。
ホスト部110は、転送先がライセンスID受信待ち538にある間に、これと並列して、転送元に対してライセンスIDの生成もしくはライセンス記録部333からの読み出し要求を出す(545)。
転送元では、該要求に基づいて、目的のライセンスの生成もしくは読み出しを行う(546)。該処理を終えると、転送元へ当該ライセンスを送信するに当たり、暗号化に必要な鍵の種類が何であるか、すなわち転送元のデバイス公開鍵KP_d[D]あるいはセッション時変鍵K_snを示す情報を(図中及び以下ではこれをKey Typeと呼ぶ)、当該ライセンスのライセンスIDと連結する(547)。尚、Key Typeは、全てのライセンスについて、個々に一つのフィールド1903の中に記録されている。本実施例で記載するライセンスは、全てこのようなフォーマット形式を持っているものとする。このようにしてできたデータを、以降では(*4)と記す。転送元は、データ(*4)をホスト部110へ送信する(548)。ホスト部110は、該データを受信(550)すると、そのまま転送先に送信する(551)。転送先は、該データ(*4)を受信(555)すると、図6の処理556に進み、転送元で作成されたチャレンジ鍵K_chで暗号化された、あるデータを作成する。
以下、処理556の詳細について図7を用いて説明する。図7において、転送先では、データ(*4)を受信すると、まずセッション固定鍵K_s0の生成を行う(700)。次に、ライセンスの転送を正常に完了できなかった場合に、当該ライセンスが転送元及び転送先のいずれからも消失してしまうことを防ぐための転送ログのエントリを生成する。この時点では、該エントリに対し、転送対象ライセンスを特定するライセンスID、生成したセッション固定鍵K_s0を記録する。次に、転送元より送信されたKey Typeに基づいて、セッション時変鍵を生成するかどうかを判定する(702)。Key Typeによって、ライセンスの暗号化に転送元のデバイス公開鍵KP_d[D]が必要である旨の記載があった場合は、処理705に遷移し、先に生成したライセンス転送ログの情報の一部を更新する。更新するのは処理状態を記載するフィールドであり、その内容は受信準備完とする(705)。次に、先に生成したセッション固定鍵K_s0とデバイス公開鍵KP_d[D]を連結したデータ(*5)を生成する(705)。該データ(*5)は、転送元から送信された証明書中に含まれるKP_dc[D]によって、まず暗号化される。その結果得られるデータを、以降では(*6)と記す。この暗号化により、ライセンスの暗号化に必要な2つの鍵、すなわちデバイス公開鍵KP_d[D]とセッション時変鍵K_s0は、少なくとも証明書に含まれていたデバイスクラス公開鍵KP_dc[S]に対する秘密鍵K_dc[S]を有するモジュールでない転送元は、送信されたデータを復号できないということになる。この事実から、仮に転送元から送信されてきた証明書が実際にライセンスを転送しようとしているモジュールとは異なったとしても、該モジュールは少なくとも認証局によって正規に認められたデバイスクラス秘密鍵を有しているものでなければ該鍵を入手することができず、それゆえ認証局によって認められていない転送元からのライセンス転送を、転送先側で拒絶することができるようになる。
次にデータ(*6)に対し、自身の証明書失効リストを連結し、データ(*7)を作成する(708)。作成されたデータ(*7)は、先に取り出されたチャレンジ鍵K_chで暗号化される。暗号化された該データを、以降では(*8)と記す。受信したKey Typeに、転送する際のライセンスの暗号化に、セッション時変鍵が必要と記載されていた場合は、転送元では、まずセッション時変鍵K_s1の生成を行う(710)。該鍵の生成を終えると、ライセンス転送ログにおけるセッション時変鍵のフィールドと、処理状態を記録するフィールドを更新する(711)。処理状態は、受信準備完である。
ライセンス転送ログの更新に続いて、生成した2つのセッション鍵、すなわちセッション固定鍵K_s0とセッション時変鍵K_s1の連結を行う(712)。連結して得られたデータを、以降では(*9)と記す。データ(*9)は、処理707同様に、転送元証明書に含まれていたデバイスクラス公開鍵KP_dc[S]で暗号化される。安全性という観点からのその意味は、前述の通りである。該鍵で暗号化されたデータは、以降では(*10)と記す。データ(*10)に、自身の証明書失効リストを連結し、データ(*11)を作成する(714)。作成されたデータ(*11)は、先に取り出されたチャレンジ鍵K_chで暗号化される(715)。暗号化された該データを、以降では(*12)と記す。以上が図6の556における処理である。
再び図6に戻り、上記したように、転送元から送信されるKey Typeの情報によって、データ(*8)もしくはデータ(*12)がホスト部110に送信される(557)。ホスト部110は、該データを受信後(560)、そのまま転送元へ該データを送信する(561)。転送元では、該データ(*8)あるいは(*12)を受信後、自身で以前に生成したチャレンジ鍵K_chを用いてこれを復号する(566)。また、KP_dc[S]を用いて(*6)もしくは(*10)を復号した結果は、(*5)もしくは(*9)となる(567)。処理567及び568における復号処理が終了すると、転送元は、転送先で作成されたセッション固定鍵K_s0、転送元のデバイス公開鍵KP_d[D]もしくはセッション時変鍵K_s1を取得することになる。
以上、転送先の証明書失効リストとデータ(*5)あるいはデータ(*9)を用いて、暗号化されたライセンス作成処理(568)を行なう。以下、処理568の詳細について図8を用いて説明する。図8において、転送先で作成されたセッション固定鍵K_s0、転送元のデバイス公開鍵KP_d[D]もしくはセッション時変鍵K_s1を取得した転送元は、転送先同様に、まずライセンス転送ログのエントリを生成する。該ログを設ける目的は、転送先と同じであり、すなわちライセンス転送が正常に完了できなかった場合のライセンス消失防止である。ここで生成したログには、送信対象ライセンスのライセンスID、セッション固定鍵K_s0、転送先のデバイス公開鍵KP_d[D]もしくはセッション時変鍵K_s1、及び処理状態をライセンス送信準備完として記録する(800)。続いて、実際に転送するライセンスを準備する(801)。磁気ディスク装置については、既に処理546において転送対象のライセンスは、ライセンス記録部333から読み出してある場合がほとんどだが、転送元がコンテンツ管理部101や配信サーバ150であった場合には、遅くともこの時点で、規定された形式を伴ったライセンスを準備する。ライセンスは、次のような形式をしている。すなわち、ライセンスID || コンテンツID || K_c || UR_s || UR_d || サービス固有情報である。ここで||は、データが連結されていることを示す。また、サービス固有情報とは、特に配信サービスなどにおいて、各サービス提供業者が独自に規定している制限情報などを含むフィールドである。本処理にて準備されたライセンスデータを、以下では(*13)と記す。
ライセンスの準備が終わると、転送元から送信された証明書失効リストCRL_[D]の発行時を、転送元が自身で保持している証明書失効リストの発行時と比較する。該発行時は、証明書失効リスト中に記載されているものとする(805)。その結果、自身の証明書失効リストの発行時の方が新しかった場合は820以降の処理を、転送先の証明書失効リストの方が新しかった場合は806以降の処理を行なう。
転送先の証明書失効リストの発行日の方が新しかった場合は、受信した転送先の証明書失効リストで、自身の証明書失効リストを上書きする(806)。続いて、対象ライセンスを転送先のデバイス公開鍵KP_d[D]で暗号化する必要があるかどうかを判断する(810)。該ライセンスにそのような指定がされていた場合は処理811へ、そうでない場合は処理816を行なう。処理811では、該ライセンス(*13)を転送先のデバイス公開鍵KP_d[D]で暗号化し、データ(*14)を生成する。その後、データ(*14)はセッション固定鍵K_s0で暗号化され、データ(*15)が生成される。同様に、処理816では、該ライセンス(*13)をセッション時変鍵K_s1で暗号化(*16)した後、セッション固定鍵K_s0で暗号化し、データ(*17)を生成する。
一方、処理820では、処理810と同様に、対象ライセンスを転送先のデバイス公開鍵KP_d[D]で暗号化する必要があるかどうかを判断する。当該暗号化が必要な場合は処理821へ、不要である場合は処理826を行なう。処理821では、ライセンス(*13)を転送先のデバイス公開鍵KP_d[D]で暗号化したデータ(*18)が、処理826では該ライセンスをセッション時変鍵K_s1で暗号化したデータ(*21)が生成される。データ(*18)もしくはデータ(*21)が生成された後は、転送先の証明書失効リストを更新するために、該データに対し、自身が保持する証明書失効リストを連結する(822,827)。処理822で生成されるデータを(*19)、処理827で生成されるデータを(*22)とする。生成されたデータ(*19)あるいは(*22)は、その後セッション固定鍵K_s0で暗号化される。データ(*19)を該鍵で暗号化したデータを(*20)、同様に(*22)を暗号化したものを(*23)とする。
以上、(*15)、(*17)、(*20)、(*23)のいずれかのデータが生成されると、転送元はライセンス転送ログの処理状態記録フィールドを送信完とし(830)、ホスト部110へ該データを送信する。以上が図6の568における処理である。
再び図6において、ホスト部110は、前記4種の暗号化されたライセンスのいずれかを受信すると(570)、それをそのまま転送先に送信する(571)。転送先では、ホスト部110から送信された(*15)、(*17)、(*20)、(*23)のいずれかのデータを受信すると(575)、復号後得られたライセンスをライセンス記録部333に記録する(576)。
以下、処理576の詳細について図9を用いて説明する。通常、磁気ディスク装置に対して何らかのデータの書き込み処理を行なわせる場合は、書き込み命令をホスト部(この場合特に外部記憶装置インタフェース105あるいは106)が発行する際、書き込み先のアドレス及び転送するデータの長さを、同時に指定する。そこで、図9において、転送先である磁気ディスク装置は、指定されたライセンスの書き込み先アドレスと転送する暗号化された状態のライセンスデータの長さを、処理701において生成したライセンス転送ログの一つのフィールドに記録する(900)。ライセンス転送ログへの記録が終了すると、受信したデータをセッション固定鍵K_s0で復号する(901)。復号結果は、受信したライセンスがどの鍵で暗号化されているかによって、4つの処理に分かれる(902)。ライセンスが、自身のデバイス公開鍵KP_d[D]で暗号化されていた場合は、処理905もしくは処理907が行なわれる。両者のうち、処理907は、セッション固定鍵K_s0で復号した結果に、転送元の証明書失効リストが含まれていた場合のものである。また、ライセンスがセッション時変鍵で暗号化されていた場合は、処理906もしくは処理908が行なわれる。処理908は、処理907同様に、セッション固定鍵K_s0で復号した結果に、転送元の証明書失効リストが含まれていた場合のものである。処理907及び処理908は、転送元の証明書失効リスト発行時が、転送先の証明書失効リスト発行時より新しいものであったために送られてきたものであるため、自身のリストを、受信した該リストで上書きする処理が915で行なわれる。それ以外については、905及び906の処理と同じであり、すなわち必要な鍵を用いて暗号化されたライセンスを復号する処理を行なう。処理905、906、907、908での復号の結果得られるデータは、全てライセンスデータ本体(*13)となる。
転送先では、ライセンスデータの本体を終えると、該ライセンスの構造を確認する。その結果、ライセンスIDやコンテンツIDなどが正しい形で含まれていれば、続いて911以降の処理を行う。もし、データの構造に誤りがあった場合には、ホスト部110に対し、暗号化されたライセンスの再送要求を送信する(915)。データ構造に問題がなかった場合は、ライセンス転送ログの処理状態フィールドを受信完了にし(911)、ライセンス記録部333へ実際にライセンスの書き込みを行い(912)、その後でライセンス転送ログの処理状態フィールドを書き込み完了(913)に変更する。以上が図6の576における処理である。
再び図6において、ライセンス記録部333へのライセンスの書き込みが正常に終了すると、転送先はホスト部110からの要求受信待ち状態になる(577)。ここで、ホスト部110が転送先磁気ディスク装置に書き込み状態確認要求を送信すると(580)、転送先の磁気ディスク装置は、処理が正常に終了したことをホスト部に通知する(587)。すると、ホスト部は、磁気ディスク装置に対して、暗号化されたコンテンツの読み出し要求(590)や、記録されたライセンスのライセンス展開部102への転送要求(592)を送信する。本要求に基づいて、磁気ディスク装置125あるいは126からコンテンツデコーダ部111への暗号化コンテンツ及びライセンスが送信され、必要な復号処理が行なわれた後、ディスプレイ121上に動画像が表示される。
目的のコンテンツの再生に続いて、次のコンテンツの再生を利用者から要求された場合、処理595が行なわれる。処理595は、図5から図9を用いて説明した流れを基本的に踏襲するが、処理を軽くするために、いくつか相違点もある。以下、処理595の詳細について図5、図6、及び図10から図13を用いて説明する。
1つのライセンスの転送が終了した後に別のライセンスを転送する場合は、上記同様に、まず転送先に目的のライセンスが存在するか否かを検索する。この部分は、処理502から処理508にかけてである。処理506における判定の結果、対象ライセンスが転送先に存在しなかった場合は、転送先はライセンスID受信待ち538へ状態遷移する。図には記していないが、このとき転送元は、ホスト部110に対し、自身は目的のライセンスを保持していない旨の通知を行なう。転送元と転送先の認証処理は既に終了しているため、処理507から処理537については省略される。ホスト部110は、転送先から目的のライセンスがないことを通知されると、送信対象ライセンスのライセンスID準備を転送元に要求する(545)。続いて、処理555において、転送元が受信対象ライセンスのライセンスID及びKey Typeを受信するまでは、既に記載した通りである。以降については、図10から図13を用いて説明する。
図5の処理555において転送先が上記データを受信すると(555)、図10の処理1056に進む。この処理1056の詳細について、図11を用いて説明する。図11において、転送先は、データ(*4)を受信すると、初めにセッション時変鍵K_s2の生成を行い(1100)、続いてライセンス転送ログのエントリを生成する。該エントリには、転送対象ライセンスを特定するライセンスID、生成したセッション時変鍵K_s2を、また処理状態を受信準備完として、これらの情報を記録する。続いて、転送元より送信されたKey Typeに基づいて、ライセンスの暗号化をセッション固定鍵K_s0と転送先のデバイス公開鍵KP_d[D]のいずれで行なうかを判定する(1102)。この判定の結果、ライセンスの暗号化に転送元のデバイス公開鍵KP_d[D]が必要である旨の記載があった場合は、セッション時変鍵K_s2と転送先のデバイス公開鍵KP_d[D]を連結した後で(1103)、該データをセッション固定鍵K_s0で暗号化する(1104)。ここで得られたデータを(*25)と記す。
一方、1102においてライセンスの暗号化に転送先のデバイス公開鍵KP_d[D]が必要でないと判定された場合は、生成されたセッション時変鍵K_s2のみセッション固定鍵K_s0で暗号化する(1105)。ここで得られたデータを(*26)と記す。
再び図10において、上記で生成されたデータ(*25)もしくはデータ(*26)がホスト部110へ送信される(1057)。ホスト部110では、受信したデータをそのまま転送元へ送信する(1060,1061)。転送元は、受信したデータ(*25)もしくは(*26)をセッション固定鍵K_s0で復号し、データ(*24)もしくはセッション時変鍵K_s2を得る(1065,1066)。
続いて行われる暗号化ライセンス生成処理1067の詳細について図12を用いて以下に説明する。図12において、転送元では、ライセンス転送ログエントリが生成される。このとき記録されるのは、転送対象ライセンスのライセンスID、処理1066において復号演算の際に用いられたセッション固定鍵K_s0、復号処理1066の結果得られたセッション時変鍵K_s2、及び該復号結果に含まれている場合のみであるが転送元のデバイス公開鍵KP_d[D]、送信準備完としての処理状態である(1200)。続いて、実際に転送するライセンスを準備する(1201)。ライセンスの準備処理は、処理801と同義である。ゆえに、本処理で準備されたライセンスデータは(*13)と同じである。
セッション固定鍵K_s0が共有化される前は、ここで転送先から送信された証明書失効リストと、自身が保持する証明書失効リストの発行時比較を行なうが、セッション時変鍵K_snの共有化過程においては、本処理は行なわれない。そこで、受信したデータ((*25)あるいは(*26))に転送先のデバイス公開鍵KP_d[D]が含まれているか否か、即ち対象ライセンスを転送先に送信するに当たり、該公開鍵での暗号化が必要か否かを処理1210で判定し、必要であれば処理1211を、不要であれば処理1216を行なう。処理1211から処理1212では、転送対象ライセンスを転送先のデバイス公開鍵KP_d[D]で暗号化した後(処理1211,得られたデータを(*27)とする)、デバイス時変鍵で暗号化する(1212)。この結果得られたデータを(*28)とする。一方、処理1216から処理1217では、当該ライセンスをセッション時変鍵K_s2で暗号化した後(処理1216,得られたデータを(*29)とする)、セッション固定鍵K_s0 で暗号化する(1217)。この結果得られたデータを(*30)とする。
以上、(*28)あるいは(*30)いずれかのデータが生成されると、転送元はライセンス転送ログの処理状態記録フィールドを送信完とし(1230)、図10の1068に進む。
再び図10において、転送元は、上記で生成されたデータ(*28)あるいは(*30)をホスト部110に送信する(1068)。ホスト部は、前記2種の暗号化されたライセンスのいずれかを受信すると(1070)、それをそのまま転送先に送信する(1071)。転送先では、ホスト部から送信された(*28)あるいは(*30)のいずれかのデータを受信すると(1075)、これを処理1076において、復号後にライセンス記録部333に記録する。以下、処理1076の詳細について図13を用いて説明する。
図13において、図9同様に転送先である磁気ディスク装置は、指定されたライセンスの書き込み先アドレスと転送する暗号化された状態のライセンスデータの長さを、処理1101において生成したライセンス転送ログの1つのフィールドに記録する(1300)。ライセンス転送ログへの記録が終了すると、受信した暗号化データを作成する際に用いられた鍵データの種類によって(1302)、セッション時変鍵K_s2(1305,復号結果得られるデータは(*27))もしくはセッション固定鍵K_s0(1307,復号結果得られるデータは(*29))で復号する。セッション時変鍵で復号された結果は、続いて転送先デバイス秘密鍵K_d[D](1306)で、セッション固定鍵K_s0で復号された結果は、続いてセッション時変鍵K_s2(1308)で復号される。これらの復号処理で得られるデータは、ライセンスデータ本体(*13)である。
ライセンスデータの本体を終えると、転送先は該ライセンスの構造を確認する。その結果、ライセンスIDやコンテンツIDなどが正しい形で含まれていれば、続いて1311以降の処理を行う。もし、データの構造に誤りがあった場合には、ホスト部110に対し、暗号化されたライセンスの再送要求を送信する(1315)。データ構造に問題がなかった場合は、ライセンス転送ログの処理状態フィールドを受信完了にし(1311)、ライセンス記録部333へ実際にライセンスの書き込みを行い(1312)、その後でライセンス転送ログの処理状態フィールドを書き込み完了(1313)に変更する。これで図10の1076における処理は完了する。
以上で、図10の全ての処理、すなわち図6の576における処理が完了するので、続いて577以降の処理が行なわれることになる。
[第2実施形態]
本発明のデータ転送システムの第2実施形態は、第1実施形態と同様の記録再生装置等であり、その構成については図1〜図3に示すものと同様である。しかしながら、本実施形態のデータ転送システムは、可搬型磁気ディスク装置のライセンス管理部の構成及び動作について第1実施形態と異なる特徴を有するものである。以下では、ライセンス転送管理部の内部構成や、転送元、ホスト部及び転送先の間で送受信されるデータ及びその手順について説明する。
可搬型磁気ディスク装置のライセンス管理部の構成
図14は、本実施形態のデータ転送システムの可搬型磁気ディスク装置が有するライセンス転送管理部の内部構成を詳細に示す図である。図14において、ライセンス転送管理部の中には、静的な記憶領域1430が設けられている。この中には、認証局によって電子署名が与えられた本デバイスについての証明書{KP_dc}KP_CA 401、証明書1401の電子署名部を復号するための認証局によって発行された公開鍵KP_CA(認証局公開鍵,400)、本デバイスに固有の公開鍵KP_d(デバイス公開鍵,1412)と、該鍵KP_d(1412)で暗号化されたデータを復号するための秘密鍵K_d(デバイス秘密鍵,412)が埋め込まれている。一方、書き換え可能な情報として、失効した証明書のリスト(証明書失効リスト)415と、ライセンス記録部333から読み出したライセンスを一時的に蓄積しておく領域431が設けられている。
本実施形態のデータ転送システムにおいて、記録再生装置、ライセンス、システムの鍵及びデータの構成については、第1実施形態について説明した通りである。ただし、セッション鍵については、全ての鍵が個々のライセンス転送に際して常に更新されてゆくので、全てのnについてK_snをセッション時変鍵と呼ぶ。代わりに、転送元において第1実施形態で記したセッション固定鍵と同じような役割を果たすセッション外殻鍵K_soが生成され、利用される。該鍵が生成されるモジュール及び手続き上の位置については、後に詳しく説明する。
ライセンス書き込み処理時の動作
ライセンス転送管理部への入出力は、バス1470を介して行なわれる。ライセンス記録部333にライセンスを書き込む場合は、図14において、主にバス1470より下側にあるモジュールが使用される。以下では、それらについて順次説明する。
モジュール1411は、自身が転送先へ証明書の形で送信したデバイスクラス公開鍵KP_dc[D]を鍵として暗号化されたデータを、対応するデバイスクラス秘密鍵K_dc[D]を用いて復号するためのものである。モジュール411は、Dec /w K_dc[D]と記載してあるが、この表記の意味は、第1実施形態に記載した通りである。添え字の[S]及び[D]、転送元と転送先の意味についても第1実施形態同様である。
モジュール1402は、転送元から送信されてきたデバイスクラス公開鍵KP_dc[S]を含む証明書の検証を行なうものである。電子署名部の検証には、認証局公開鍵KP_CA(1400)が用いられる。デバイスクラス公開鍵KP_dc[S]の正当性が認められると、該鍵はモジュール1413へ送られる。
モジュール1413は、モジュール1420で生成されたセッション時変鍵K_s0と自身に埋めこまれたデバイス公開鍵KP_dを連結した後、該データをモジュール1402から送られた転送元のデバイスクラス公開鍵KP_dc[S]を用いて暗号化するモジュールである。K_s0は、モジュール1420で生成される。転送元のデバイスクラス公開鍵KP_dc[S]による暗号化が行なわれたデータは、モジュール1414へ送られる。尚、本モジュールによる暗号化は、一度転送元と転送先の間でセッション外殻鍵K_soの共有が完了した後は、省略される。
モジュール1414は、モジュール1411で復号後出力されたチャレンジ鍵K_chを用いて、モジュール1413から出力されたデータを暗号化するものである。この暗号化は、自身に記録されている証明書失効リストをモジュール413から出力されたデータに連結した後、行なわれる。暗号化されたデータは、バス1470及びインタフェース320を介して、転送元に送られる。
モジュール1423には、E(K_so, E(K_sn, L)||CRL_[S]) || E(KP_d[D], K_so)という形のデータが、バス1470より入力される。モジュール1421は、モジュール1423で分離されたデータのうち、後半部のデータ、つまり自身のデバイス公開鍵KP_d[D]で暗号化されたセッション外殻鍵K_soを復号するモジュールである。復号後得られたセッション外殻鍵K_soは、モジュール1422へ入力される。モジュール1422では、上記該データのうちの前半部、つまりE(K_so, E(K_sn, L) || CRL_[S])を、K_soを用いて復号するものである。CRL_[S]は、転送元の証明書失効リストの発行時が、転送先の証明書失効リストの発行時より新しかった場合に送信されてくるものである。セッション外殻鍵K_soでの復号の結果、転送元の証明書失効リストが含まれていた場合は、自身の証明書失効リストを、該リストで上書きする。一方、モジュール1422で復号された証明書失効リスト以外のデータは、モジュール1424へ送信され、ここでセッション時変鍵K_s0を用いて復号される。本復号により、転送元から送信されたライセンスが取り出される。取り出されたライセンスは、ライセンス転送管理部321内のライセンス一時記録蓄積部1431に蓄積された後、ライセンス記録部333へ記録される。
ライセンス読み出し処理時の動作
ライセンス記録部333からライセンスを読み出す場合は、図14において、主にバス470より上側にあるモジュールが使用される。以下では、それらについて順次説明する。
モジュール1441は、転送先から証明書の形で送信されてきたデバイスクラス公開鍵KP_dc[D]を鍵として、モジュール440で生成されたチャレンジ鍵K_chを暗号化する機能をもつものである。暗号化されたデータは、バス1470及びインタフェース320を介して、転送先に送信される。
モジュール1440で生成されたチャレンジ鍵K_chは、モジュール1450にも同時に入力される。モジュール1450では、受け取ったチャレンジ鍵K_chを用いて、バス1470から入力されたデータを復号する。ただし、バス1470から送られたデータは、モジュール1450か、モジュールか1452のいずれかに入力される。詳細は図15以降において説明するが、簡単に述べれば、転送元と転送先の間で相互認証が行なわれた後、セッション外殻鍵K_soの共有がまだ両者の間で行われていない場合はモジュール1450に入力され、該鍵K_soの共有が済んでいればモジュール1452へ入力されるということである。
モジュール1450は、チャレンジ鍵K_chを用いてバス1470から入力されたデータを復号した後、該データをモジュール1451に入力する。モジュール1451は、入力された該データを、自身のデバイスクラス秘密鍵1410で復号する。ただし、モジュール1450から出力されるデータは、転送先において常に自身のデバイスクラス公開鍵で暗号化されているわけではない。転送先で暗号化されるのは、転送元と転送先の間でセッション外殻鍵K_soを共有する以前だけである。セッション外殻鍵K_soを共有化した後は、転送先での転送元のデバイスクラス公開鍵による暗号化は行なわれないため、モジュール1451における処理は省略される。モジュール1451で復号後得られたデータは、セッション時変鍵K_snについてはモジュール1454に、転送先のデバイス公開鍵KP_d[D]についてはモジュール1461に送信される。
モジュール1454は、入力されたセッション時変鍵K_sn を用いて、ライセンス1432を暗号化するモジュールである。暗号化されたライセンスは、モジュール1455の出力はモジュール462に入力され、そこでセッション外殻鍵K_soを用いてさらに暗号化される。このとき、該暗号化に先立って、まず転送先から送られてきた転送先の証明書失効リストに記載されている該証明書の発行時情報を、自身の発行日情報と、モジュール1453において比較する処理が行なわれる。転送先の証明書失効リストは、モジュール1450の出力結果(チャレンジ鍵の復号結果)に含まれている。比較の結果、自身の証明書失効リスト1415の発行時の方が古かった場合は、転送先の証明書失効リストで自身の証明書失効リスト1415を上書きする。逆に、転送先の証明書失効リストの発行時の方が古かった場合、自身の証明書失効リスト1415をモジュール1461へ送信する。もし、転送先から証明書失効リストが送信されてこなかった場合は、転送元からの証明書失効リストの送信は行なわれない。
ところで、一度セッション外殻鍵K_soが転送元と転送先の間で共有されると、バス1470に送られてきたデータは、上述のようにモジュール1452に入力される。モジュール1452は、入力されたデータをセッション外殻鍵K_soで復号するモジュールである。モジュール1452の出力は、常にセッション時変鍵K_sn(ただし、n ? 1)であり、得られた鍵データは、モジュール1454に送信される。モジュール1454での処理は、上述の通りである。
モジュール1461は、セッション外殻鍵K_soの共有のために用いられる。セッション外殻鍵K_soは、チャレンジ鍵K_ch同様に共通鍵生成部1440で生成された後、モジュール1452とモジュール1461に送信される。モジュール1461では、転送先から送信されたデバイス公開鍵KP_d[D]でセッション外殻鍵K_soが暗号化される。セッション時変鍵K_snとセッション外殻鍵K_soで暗号化されたライセンスがモジュール1455から出力されると、これにモジュール1461の出力が連結され、バス1470へ送信される。
配信サーバ、コンテンツ管理部の構成と動作
配信サーバ150及びコンテンツ管理部101は、ライセンスを生成及び発行する機能をもつ。従って、これらは上述のライセンス書き込み時の動作で必要なモジュールを内部に持つ。ただし、自身でライセンスを生成するので、ライセンス一時記録蓄積部1431やライセンス記録部は必ずしも必要ではない。その代わりに、これらの部位にライセンスの生成行なう機能を持つライセンス生成部が置かれる。第1実施形態に記載した内容と、同義である。
コンテンツデコーダ部の構成と動作
コンテンツデコーダ部111は、コンテンツを復号し、それをディスプレイ121上に表示する機能を持つ。暗号化されたコンテンツを復号し、それをさらに動画像データストリームに構成するのは、コンテンツ復号部103の機能である。コンテンツ復号部103に対し暗号化されたコンテンツを復号するための鍵を送信するのは、ライセンス展開部102である。ライセンス展開部102は、所定の手順に従って、暗号化されたライセンスを、可搬型磁気ディスク装置125や126、コンテンツ管理部101、配信サーバ150などから受信する。従って、ライセンス展開部は、上述のライセンス読み込み時の動作で必要なモジュールを内部に持つ。転送元から送信されたライセンスは、ライセンス一時記録蓄積部1431に蓄積された後、コンテンツ復号部103に送信される。このとき転送元から送信されるライセンスは、ライセンス全体であっても良いし、暗号化されたコンテンツを復号するのに必要な最低限の情報、すなわちコンテンツ鍵及び実際にコンテンツデータの復号を行うかどうかを制御するためのUR_dだけであっても良い。この場合、ホスト部は、復号対象のコンテンツのコンテンツIDと、コンテンツデコーダ部111に送信されたライセンスが対応するコンテンツのコンテンツID及び自身のライセンスIDについては、把握しているものとする。実施例1に記載した内容と同義である。
転送元−ホスト部−転送先の間での処理の流れ
以下では、図15から図18を利用して、転送元から転送先へライセンスを転送する場合に、転送元と途中で処理を制御するホスト装置と転送先との間で行われる処理について、説明する。以下では、ライセンス及びコンテンツの転送先を磁気ディスク装置とし、ライセンスの転送元はコンテンツ管理部101とするが、これに限るものではない。
図15において、転送先におけるライセンスID待ち(1538)に至るまでの処理は、図5における500から537までの処理と同様に行われるものとして、図示を省略している。図5における537の処理が行われた後、転送先が対象ライセンスのライセンスID受信待ち状態に入ると(1538)、ホスト部110は、これと並列して、転送元に対してライセンスIDの生成もしくはライセンス記録部333からの読み出し要求を出す(1545)。転送元では、該要求に基づいて、目的のライセンスの生成もしくは読み出しを行う(1546)。該処理を終えると、転送元は、準備したライセンスIDデータをホスト部110へ送信する(1548)。ホスト部110は、該ライセンスIDを受信(1550)すると、そのまま転送先へ送信する(1551)。転送先は、該ライセンスIDを受信(1555)すると、以前に受信済みのチャレンジ鍵K_chで暗号化された、あるデータを作成する(1556)。以下、この処理1556の詳細について図16を用いて説明する。
図16において、転送先では、該ライセンスIDを受信すると、まずセッション時変鍵K_snの生成を行う(1600)。尚、転送元と転送先の間で過去にセッション外殻鍵K_soの共有が行なわれていない場合は、n = 0とする。その後、ライセンスの転送処理を行なうたびにセッション時変鍵を生成した場合、nの値は1ずつ増えてゆくものとする。
続いて、ライセンスの転送を正常に完了できなかった場合に、当該ライセンスが転送元及び転送先のいずれからも消失してしまうことを防ぐための転送ログのエントリを生成する。この時点で該エントリに記録するのは、転送対象ライセンスを特定するライセンスID、生成したセッション時変鍵K_sn、受信準備完としての処理状態である(1601)。
転送ログの記録を終えると、転送元と転送先の間でセッション外殻鍵K_soの共有が過去に行なわれているかどうかが判定される(1605)。セッション外殻鍵の共有の仕方については、後述する。セッション外殻鍵K_soが共有されていない時点でセッション時変鍵を生成したということは、セッション時変鍵の生成番号nが、0あるということと同義である。もしセッション外殻鍵K_soの共有が行なわれていない場合は、先に生成したセッション時変鍵K_s0とデバイス公開鍵KP_d[D]を連結したデータ(*5)を生成する(1606)。該データ(*5)は、転送元から送信された証明書中に含まれるKP_dc[D]によって、まず暗号化される(1607)。その結果得られるデータは図7の処理707で得られるデータと同じであるので、(*6)である。該暗号化により、ライセンスの暗号化に必要な2つの鍵、すなわちデバイス公開鍵KP_d[D]とセッション時変鍵K_s0は、少なくとも証明書に含まれていたデバイスクラス公開鍵KP_dc[S]に対する秘密鍵K_dc[S]を有するモジュールでない転送元は、送信されたデータを復号できないということになる。この事実から、仮に転送元から送信されてきた証明書が実際にライセンスを転送しようとしているモジュールとは異なったとしても、該モジュールは少なくとも認証局によって正規に認められたデバイスクラス秘密鍵を有しているものでなければ該鍵を入手することができず、それゆえ認証局によって認められていない転送元からのライセンス転送を、転送先側で拒絶することができるようになる。
次にデータ(*6)に対し、自身の証明書失効リストを連結し、データを作成する(1608)。本処理は図7の708と同じなので、作成されるデータは(*7)である。データ(*7)は、先に復号されたチャレンジ鍵K_chで暗号化される。チャレンジ鍵K_chで暗号化されたデータは、(*8)である(図7の処理709と同じ)。
一方、セッション外殻鍵K_soが過去に転送元と転送先の間で共有されていた場合は、処理1600において生成されたセッション時変鍵を、まずセッション外殻鍵K_soで暗号化する(1610)。この結果得られたデータを(*31)とする。
再び図15において、上記で生成されたデータ (*8)もしくはデータ(*31)がホスト部110に送信される(1557)。ホスト部110は、該データを受信後(1560)、そのまま転送元へ該データを送信する(1561)。転送元では、該データ(*8)あるいは(*31)を受信後(1565)、自身で以前に生成したチャレンジ鍵K_chもしくはセッション外殻鍵K_soを用いてこれを復号した後、暗号化されたライセンスを生成する(1567)。以下、この処理1567の詳細について図17を用いて説明する。
図17において、まず、セッション外殻鍵が過去に生成されたか否かが、まず調べられる(1700)。該鍵が過去に生成されていない場合、受信したデータはチャレンジ鍵で暗号化されているはずなので、該鍵で復号する(1701)。復号結果として得られるデータは、(*7)となる。データ(*7)には、転送先の証明書失効リストが含まれるが、それ以外の部分は、自身のデバイスクラス公開鍵KP_dc[S]で暗号化されているデータである。自身のデバイスクラス公開鍵KP_dc[S]で暗号化されているデータについては、自身のデバイスクラス秘密鍵K_dc[S]で復号化する(1702)。復号結果は、(*5)である。
該復号処理を終えると、セッション外殻鍵K_soの生成(1710)、続いてライセンス転送ログのエントリの生成を行なう(1711)。ここで生成したログには、送信対象ライセンスのライセンスID、セッション外殻鍵K_so、セッション時変鍵K_s0、転送先のデバイス公開鍵KP_d[D]、送信準備完として処理状態を記録する(1711)。
ライセンス転送ログへの記録が終わると、実際に転送するライセンスを準備する(1712)。準備されるライセンスデータは、(*13)である(処理801と同じ)。ライセンスデータ(*13)は、転送先より送信されたセッション時変鍵K_s0によって暗号化される(1713)。この結果得られるデータを(*33)とする。
ライセンス転送ログエントリの生成及び送信するライセンスの準備と並行して、転送先デバイス公開鍵KP_d[D]による生成したセッション外殻鍵K_soの暗号化が行なわれる(1710)。この結果得られるデータを(*32)とする。
ライセンスの準備が終わると、転送元から送信された証明書失効リストCRL_[D]の発行時を、転送元が自身で保持している証明書失効リストの発行時と比較する。該発行時は、証明書失効リスト中に記載されているものとする(1714)。その結果、自身の証明書失効リストの発行時の方が新しかった場合は1720以降の処理を、転送先の証明書失効リストの方が新しかった場合は1725以降の処理を行なう。
処理1720では、まず自身の証明書失効リストを、転送先の証明書失効リストで上書きする。続いて、セッション時変鍵K_s0にて暗号化されたライセンス(*33)を、先に生成したセッション外殻鍵K_soで暗号化し、データ(*34)を生成する(1721)。該データが生成されると、転送先でライセンスの復号ができるように、データ(*32)を該データ(*34)に連結し、データ(*35)を生成する(1722)。
一方、処理1725では、転送先の証明書失効リストを更新するために、セッション時変鍵K_s0にて暗号化されたライセンス(*33)に、自身が保持する証明書失効リストを連結する。ここで生成されるデータを(*36)とする。生成されたデータ(*36)は、処理1721同様に、セッション外殻鍵K_soで暗号化された後(1726,生成されるデータは(*37))、処理1722同様に、データ(*32)が連結される(1727,生成されるデータは(*38))。
また、セッション外殻鍵K_soを過去に生成済みであった場合は、受信したデータは該鍵で暗号化されているので、該鍵を用いて復号する(1703)。復号結果として得られるデータは、転送先にて新たに生成されたセッション時変鍵K_sn (n ? 1)である。該処理に続き、処理1711同様ライセンス転送ログエントリの生成及び記録(1730)、ライセンスデータの準備(1731)、セッション時変鍵K_sn (n ? 1)による準備されたライセンスの暗号化(1732)、セッション時変鍵K_sn (n ? 1)により暗号化された該ライセンスのセッション外殻鍵K_soによる二重暗号化(1733)が行なわれる。尚、処理1730においてライセンス転送ログに記録されるデータは、転送対象ライセンスを特定するためのライセンスID、セッション外殻鍵K_so、セッション時変鍵K_sn (n ? 1)、送信準備完としての処理状態である。また、セッション時変鍵K_sn (n ? 1)によって暗号化されたデータを(*39)、該データをセッション外殻鍵K_soにより二重暗号化したデータを(*40)と記す。
以上、(*35)、(*38)、(*40)のいずれかのデータが生成されると、転送元はライセンス転送ログの処理状態記録フィールドを送信完とし(1740)、図15の1568に進む。
再び図15において、転送元は、上記で生成されたデータ(*35)、(*38)、(*40)のいずれかをホスト部110に送信する(1568)。ホスト部110は、前記3種の暗号化されたライセンスのいずれかを受信すると(1570)、それをそのまま転送先へ送信する(1571)。転送先では、ホスト部110から送信された(*35)、(*38)、(*40)のいずれかのデータを受信すると(1575)これを処理1576において、復号後得られたライセンスをライセンス記録部333に記録する。以下、この処理1576の詳細について図18を用いて説明する。
図18において、転送先では、まず、ホスト部(この場合特に外部記憶装置インタフェース105あるいは106)がライセンスの書き込み先として指定したアドレス及び転送するデータの長さを、処理1601において生成したライセンス転送ログの一つのフィールドに記録する(1800)。次に、セッション外殻鍵K_soが共有されているか否かを判定し(1801)、該鍵が未共有の場合は1805以降の処理を、既に共有されている場合は1810以降の処理を行なう。
処理1805では、受信したデータの一部(*32)を、自身のデバイス秘密鍵で復号K_d[D]で復号する。本処理によってセッション外殻鍵K_soが得られるので、該鍵を用いて、受信したデータの残りの部分、すなわち(*34)もしくは(*37)を復号する。該データが(*37)であった場合は、自身が保持する証明書失効リストより新しい転送元の証明書失効リストが含まれているので、該リストで自身の証明書失効リストを上書きする(1808)。証明書失効リストの更新処理を終えると、セッション時変鍵K_s0で暗号化されたライセンスデータを復号し(1809)、ライセンスデータ(*13)を得る。
一方で、セッション外殻鍵K_soを既に共有済みであった場合は、受信したデータは(*40)であるので、直接該鍵で復号し、データ(*39)を得る。続いて、データ(*39)をセッション時変鍵K_sn (n ? 1)で復号し、ライセンスデータ本体(*13)を得る。
転送先では、ライセンスデータの平文化を終えると、該ライセンスの構造を確認する。その結果、ライセンスIDやコンテンツIDなどが正しい形で含まれていれば、続いて1816以降の処理を行う。もし、データの構造に誤りがあった場合には、ホスト部110に対し、暗号化されたライセンスの再送要求を送信する(1820)。データ構造に問題がなかった場合は、ライセンス転送ログの処理状態フィールドを受信完了にし(1816)、ライセンス記録部333へ実際にライセンスの書き込みを行い(1817)、その後でライセンス転送ログの処理状態フィールドを書き込み完了(1819)に変更する。これで図15の1576における処理は完了する。
以上で、図15の全ての処理、すなわち図6の576における処理が完了するので、続いて577以降の処理が行なわれることになる。
尚、本発明の第1実施形態及び第2実施形態のデータ転送システムにおいて用いられるライセンスのデータ構造の例を図19に示している。
[他の実施形態]
本発明のデータ転送システム及びデータ転送方法の他の実施形態について、以下に例示的に列挙する。
(1)暗号化されたコンテンツデータ及び、該データを復号するための鍵データと、復号が許可される条件(これらをまとめたものをライセンスと呼ぶ)を、一方のモジュールから他方のモジュールへ転送する方法において、まず初めに、転送先から、転送先のデバイスクラス公開鍵を含む証明書を転送元に送信し、転送元では受信した証明書の正当性を検証し、検証の結果受信した証明書の正当性が確認されると、自身でチャレンジ鍵を生成し、該鍵を受信したデバイスクラス公開鍵を用いて暗号化し、生成された暗号化データに自身のデバイスクラス公開鍵を含む証明書を連結し転送先に送信し、該データを受信した転送先は、自身のデバイスクラス秘密鍵を用いて、該データを復号し、チャレンジ鍵を取得し、転送元は、ライセンスを特定するためのライセンスIDを、ライセンスを暗号化するために用いる鍵(これを鍵タイプと呼ぶ)に連結したものを送信し、転送先では、受信した鍵タイプに応じて、第1のセッション鍵と第2のセッション鍵もしくは第1のセッション鍵のみを生成した後、鍵タイプに応じて、第1のセッション鍵と転送先が保持するデバイス公開鍵もしくは第2のセッション鍵とを連結した後に、受信した転送元のデバイスクラス公開鍵で暗号化し、生成された2つの暗号化データのうちいずれかと自身の証明書失効リストを連結した後、チャレンジ鍵で暗号化し、転送元に送信し、転送元では、転送先から送信されたデータを受けて、該データをチャレンジ鍵でまず復号し、復号した結果得られるデータのうち、転送先の証明書失効リストについて、該リスト中に記載されている該リストの発行情報と、自身が保持する証明書失効リスト中に記載されている自身の該リストの発行日情報を比較し、自身の証明書失効リストの発行日の方が古かった場合は、受信した転送先の証明書失効リストで自身の証明書失効リストを上書きし、該処理と並行して、復号した結果から転送先の証明書失効リストを除いたデータを、さらに自身のデバイスクラス秘密鍵で復号し、連結された第1のセッション鍵と第2のセッション鍵もしくは第1のセッション鍵と転送先のデバイス公開鍵を取り出し、得られた該鍵を利用して、ライセンスを第2のセッション鍵もしくは転送先のデバイス公開鍵で暗号化し、該処理によって得られたデータに、該証明書失効リストの発行日比較において、自身の証明書失効リストの発行日情報の方が新しかった場合のみ、作成された該暗号化データに自身の証明書失効リストを連結し、得られた該データを第1のセッション鍵で暗号化し、転送先に送信し、転送先は、受信した該データをそれぞれ対応する鍵で復号し、自身の耐タンパ性を有する領域にライセンスを記録する方法。
(2)上記(1)のデータ転送方法において、一度転送元と転送先の間で第1のセッション鍵が共有された後、それが両者の間で保持されている状態にあるときにライセンス転送を行う場合は、転送対象のライセンスが、転送先のデバイス公開鍵による暗号化を要求しない場合に限り、転送先は新たなセッション鍵を生成すると、該鍵を第1のセッション鍵で暗号化した後転送元に送信し、転送元は受信したデータを第1のセッション鍵で復号し、新たなセッション鍵を取り出し、取り出した該鍵を用いて転送対象のライセンスを暗号化した後、第1のセッション鍵で暗号化し、転送先に送信する方法。
(3)上記(1)のデータ転送方法において、個々のライセンスの中の一つのフィールドとして、鍵タイプ1903が記載されているような形式によって、個々のライセンスを送信する際に求められる暗復号の方法を規定することを特徴とする、転送方法。
(4)暗号化されたコンテンツデータ及び、該データを復号するための鍵データと、復号が許可される条件(これらをまとめたものをライセンスと呼ぶ)を、一方のモジュールから他方のモジュールへ転送する方法において、まず初めに、転送先から、転送先のデバイスクラス公開鍵を含む証明書を転送元に送信し、転送元では受信した証明書の正当性を検証し、検証の結果受信した証明書の正当性が確認されると、自身で一時的な共通鍵暗号化のためのチャレンジ鍵を生成し、該鍵を受信したデバイスクラス公開鍵を用いて暗号化し、生成された暗号化データに自身のデバイスクラス公開鍵を含む証明書を連結し転送先に送信し、該データを受信した転送先は、自身のデバイスクラス秘密鍵を用いて、該データを復号し、チャレンジ鍵を取得し、続いて、ライセンスを特定するためのライセンスIDを送信し、転送先では、第1のセッション鍵を生成し、生成した第1のセッション鍵と転送先が保持するデバイス公開鍵と連結した後受信した転送元のデバイスクラス公開鍵で暗号化し、生成された暗号化データに証明書失効リストを連結した後、チャレンジ鍵で暗号化し転送元に送信し、転送元では、転送先から送信されたデータを受けて、該データをチャレンジ鍵でまず復号し、復号した結果得られるデータのうち、転送先の証明書失効リストについて、該リスト中に記載されている該リストの発行情報と、自身が保持する証明書失効リスト中に記載されている自身の該リストの発行日情報を比較し、自身の証明書失効リストの発行日の方が古かった場合は、受信した転送先の証明書失効リストで自身の証明書失効リストを上書きし、該処理と並行して、復号した結果から転送先の証明書失効リストを除いたデータを、さらに自身のデバイスクラス秘密鍵で復号し、連結された第1のセッション鍵と転送先のデバイス公開鍵を取り出し、得られたセッション鍵を利用して、ライセンスを第1のセッション鍵で暗号化し、該処理によって得られたデータに、該証明書失効リストの発行日比較において、自身の証明書失効リストの発行日情報の方が新しかった場合のみ、作成された該暗号化データに自身の証明書失効リストを連結し、新たな一時鍵であるセッション外殻鍵を生成し、生成した該鍵で暗号化されたライセンス及びそれに連結された証明書失効リストをさらに暗号化し、生成したセッション外殻鍵を先に取り出した転送先のデバイス公開鍵で暗号化し、以上の該処理によって得られた2つのデータを連結した後、転送先に送信し、転送先は、受信した該データをそれぞれ対応する鍵で復号し、自身の耐タンパ性を有する領域にライセンスを記録する方法。
(5)上記(4)のデータ転送方法において、一度転送元と転送先の間でセッション外殻鍵が共有された後、それが両者の間で保持されている状態にあるときにライセンス転送を行う場合は、転送先は新たなセッション鍵を生成すると、該鍵をセッション外殻鍵で暗号化した後転送元に送信し、転送元は受信したデータをセッション外殻で復号し、新たなセッション鍵を取り出し、取り出した該鍵を用いて転送対象のライセンスを暗号化した後、セッション外殻鍵で暗号化し、転送先に送信する方法。
(6)上記(1)〜(3)のいずれかのデータ転送方法に基づいて送信されてきたライセンスを受信し、記録するために電子署名付きデバイスクラス公開鍵及びそれに対応するデバイスクラス秘密鍵、認証局が発行した公開鍵、デバイス公開鍵及びそれに対応するデバイス秘密鍵が埋め込まれていて、バス470を介して受信したデータを、自身のデバイスクラス秘密鍵を用いて復号する機能をもつモジュール411と、バス470を介して受信したデータを、認証局が発行する公開鍵を用いて検証するモジュール402と、セッション固定鍵及びセッション時変鍵を生成するモジュール420と、セッション時変鍵と自身に埋め込まれているデバイス公開鍵のいずれかを選択し、選択した鍵とセッション固定鍵とを連結した後、転送元のデバイスクラス公開鍵で暗号化するモジュール413と、モジュール413の出力に、自身の証明書失効リストを連結し、転送元から送信されたチャレンジ鍵で暗号化しバス470へ送信するモジュール414と、バス470を介して受信したデータを、セッション時変鍵で復号するモジュール421と、同様にバス470を介して受信したデータを、セッション固定鍵で復号するモジュール422と、モジュール421もしくはモジュール422の出力から、転送元の証明書失効リストを取り出し、自身の証明書失効リストを上書きするモジュール415と、モジュール421の出力のうち、証明書失効リスト以外のデータを自身のデバイス秘密鍵で復号するモジュール423と、モジュール422の出力のうち、証明書失効リスト以外のデータを自身のセッション時変鍵で復号するモジュール424と、モジュール420で生成されたセッション時変鍵を、セッション固定鍵で暗号化し、バス470へ送信するモジュール425と、モジュール423あるいはモジュール424から出力された平文ライセンスを一時的に蓄積しておき、耐タンパ性をもったライセンス記録部333に記録する機能をもったモジュール431とをもった、ライセンス転送管理部321。
(7)上記(1)〜(3)のいずれかのデータ転送方法に基づいてライセンスを送信するために、電子署名付きデバイスクラス公開鍵及びそれに対応するデバイスクラス秘密鍵、認証局が発行した公開鍵、デバイス公開鍵及びそれに対応するデバイス秘密鍵が埋め込まれていて、バス470を介して受信したデータを、自身のデバイスクラス秘密鍵を用いて復号する機能をもつモジュール411と、バス470を介して受信したデータを、認証局が発行する公開鍵を用いて検証するモジュール402と、チャレンジ鍵を生成するモジュール440と、生成されたチャレンジ鍵を、転送先から証明書の形で送信されたデバイスクラス公開鍵を用いて暗号化するモジュール441と、モジュール441の出力に、デバイスクラス公開鍵を含む自身の証明書を連結するモジュール442と、バス470を介して受信したデータを、チャレンジ鍵で復号するモジュール450と、バス470を介して受信したデータを、セッション時変鍵で復号するモジュール452と、モジュール450において復号した結果得られたデータのうち、転送先から送信されてきた証明書失効リストと自身の証明書失効リストの発行日情報を比較し、自身の証明書失効リストを転送先へ送信するか否かを決めるスイッチ460を制御するモジュール453と、モジュール450において復号した結果得られたデータのうち、証明書失効リスト以外のデータを自身のデバイスクラス秘密鍵で復号するモジュール451と、自身のライセンス記録部333に記録されているライセンスを、該記録部より読み出して一時的に保持するモジュール431と、モジュール431から取り出したライセンスを、セッション時変鍵で暗号化するモジュール454と、モジュール431から取り出したライセンスを、転送先のデバイス公開鍵で暗号化するモジュール455と、モジュール454の出力に、スイッチ460がオンとなっている場合に、自身の証明書失効リストを連結し、セッション固定鍵で暗号化し、バス470へ送信するモジュール461と、モジュール455 の出力に、スイッチ460がオンとなっている場合に、自身の証明書失効リストを連結し、セッション固定鍵で暗号化し、バス470へ送信するモジュール462とをもったライセンス転送管理部321。
(8)上記(4)又は(5)のデータ転送方法に基づいて、送信されてきたライセンスを受信し記録するために、電子署名付きデバイスクラス公開鍵及びそれに対応するデバイスクラス秘密鍵、認証局が発行した公開鍵、デバイス公開鍵及びそれに対応するデバイス秘密鍵が埋め込まれていて、バス470を介して受信したデータを、自身のデバイスクラス秘密鍵を用いて復号する機能をもつモジュール1411と、バス470を介して受信したデータを、認証局が発行する公開鍵を用いて検証するモジュール1402と、セッション時変鍵を生成するモジュール1420と、セッション時変鍵と自身のデバイス公開鍵とを連結した後、転送元のデバイスクラス公開鍵で暗号化するモジュール1413と、モジュール1413の出力に、自身の証明書失効リストを連結し、転送元より送信されたチャレンジ鍵で暗号化しバス470へ送信するモジュール1414と、バス470を介して受信したデータを、自身のデバイス公開鍵で暗号化されたデータとそれ以外の部分に分離し、モジュール1421とモジュール1422へ送信するモジュール1423と、モジュール1423から送られたデータを自身のデバイス秘密鍵で復号するモジュール1421と、モジュール1421の出力結果であるセッション外殻鍵を受信し、該鍵を用いて、モジュール1423から送信されたデータを復号するモジュール1422と、モジュール1422において復号した結果得られたデータのうち、転送元の証明書失効リストで自身の証明書失効リストを上書きするモジュール1415と、モジュール1420で生成されたセッション時変鍵を、セッション外殻鍵で暗号化し、バス470へ送信するモジュール1425と、モジュール1422において復号した結果得られたデータのうち、平文ライセンスを一時的に蓄積しておき、耐タンパ性をもったライセンス記録部333に記録する機能をもったモジュール1431とをもったライセンス転送管理部321。
(9)上記(4)又は(5)のデータ転送方法でライセンスを送信するために、電子署名付きデバイスクラス公開鍵及びそれに対応するデバイスクラス秘密鍵、認証局が発行した公開鍵、デバイス公開鍵及びそれに対応するデバイス秘密鍵が埋め込まれていて、バス1470を介して受信したデータを、自身のデバイスクラス秘密鍵を用いて復号する機能をもつモジュール1411と、バス1470を介して受信したデータを、認証局が発行する公開鍵を用いて検証するモジュール1402と、チャレンジ鍵を生成するモジュール1440と、生成されたチャレンジ鍵を、転送先から証明書の形で送信されたデバイスクラス公開鍵を用いて暗号化するモジュール1441と、モジュール1441の出力に、デバイスクラス公開鍵を含む自身の証明書を連結するモジュール1442と、バス470を介して受信したデータを、チャレンジ鍵で復号するモジュール1450と、バス470を介して受信したデータを、セッション外殻鍵で復号するモジュール1452と、モジュール1450の出力を、自身のデバイス秘密鍵で復号するモジュール1451と、自身のライセンス記録部333に記録されているライセンスを、該記録部より読み出して一時的に保持するモジュール1431と、モジュール1431から取り出したライセンスを、セッション時変鍵で暗号化するモジュール1454と、モジュール1454の出力に、スイッチ1460がオンとなっている場合に、自身の証明書失効リストを連結し、セッション外殻鍵で暗号化するモジュール1455と、自身で生成したセッション外殻鍵を、転送先から送信されたデバイス公開鍵で暗号化するモジュール1461と、モジュール1455の出力と、モジュール1461の出力を連結し、バス1470へ送信するモジュール1462とをもったライセンス転送管理部321。
(10)上記(6)のライセンス転送管理部321を持った磁気ディスク装置。
(11)上記(6)のライセンス転送管理部321持ったライセンスデコーダ。
(12)上記(7)のライセンス転送管理部321を持ったコンテンツ管理部101。
(13)上記(7)のライセンス転送管理部321を持った配信サーバ150。
(14)上記(7)のライセンス転送管理部321を持った磁気ディスク装置。
(15)上記(8)のライセンス転送管理部321を持った磁気ディスク装置。
(16)上記(8)のライセンス転送管理部321を持ったライセンスデコーダ。
(17)上記(9)のライセンス転送管理部321を持ったコンテンツ管理部101。
(18)上記(9)のライセンス転送管理部321を持った配信サーバ150。
(19)上記(9)のライセンス転送管理部321を持った磁気ディスク装置。
以上、本発明のデータ転送システム及びデータ転送方法について、具体的な実施の形態を示して説明したが、本発明はこれらに限定されるものではない。当業者であれば、本発明の要旨を逸脱しない範囲内において、上記各実施形態又は他の実施形態にかかる発明の構成及び機能に様々な変更・改良を加えることが可能である。
本発明の第1実施形態のデータ転送システムの全体構成を概略的に示す図である。 図1に示す第1実施形態のデータ転送システムにおいて、使用される通信のための暗号に関する鍵データおよび配信するデータ等の特性を示す図である。 図1に示す可搬型磁気ディスク装置の内部構成を示すブロック図である。 図3に示す可搬型磁気ディスク装置のライセンス転送管理部の内部構成を詳細に示す図である。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 図1に示す第1実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 本発明の第2実施形態において、データ転送システムの可搬型磁気ディスク装置が有するライセンス転送管理部の内部構成を詳細に示す図である。 第2実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 第2実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 第2実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 第2実施形態のデータ転送システムにおいて、転送元から転送先にライセンスを転送する場合に、転送元と、途中で処理を制御するホスト装置と、転送先との間で行われる処理の流れを示すフローチャートである。 本発明のデータ転送システムにおいて用いられるライセンスのデータ構造の例を示す図である。
符号の説明
100 ネットワークインタフェース部
101 コンテンツ管理部
102 ライセンス展開部
103 コンテンツ復号部
104 ユーザインタフェースブリッジ部
105,106 外部記憶装置インタフェース
107 CPU
110 ホスト部
111 コンテンツデコーダ部
112 記録再生装置
120 入力機器
121 ディスプレイ
125,126 可搬型磁気ディスク装置
130 衛星
131 受信アンテナ
140 ネットワーク
150 配信サーバ
300 磁気ディスク円盤
302 ヘッド部
320 インタフェース部
321 ライセンス転送管理部
330 コントローラ
332 ライセンス記録管理部
333 ライセンス記録部
401 証明書
415 証明書失効リスト
430 記憶領域
431 ライセンス一時記録蓄積部
470 バス

Claims (8)

  1. コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、
    転送先は、自身の公開鍵を含む証明書を転送元に送信し、
    転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結した第1のデータを転送先に送信するとともに、ライセンスを識別するためのライセンスIDと、ライセンスを暗号化する鍵のタイプを示す鍵タイプデータとを連結した第2のデータを転送先に送信し、
    転送先は、前記第1のデータから転送元の公開鍵を取得した後、前記第1のデータから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、前記第2のデータに含まれる鍵タイプデータに応じて、第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵のみを生成し、第1のセッション鍵と自身の公開鍵とを連結し、あるいは第1のセッション鍵と第2のセッション鍵とを連結し、その連結データを前記転送元の公開鍵で暗号化し、その暗号化データをさらに前記チャレンジ鍵で暗号化したデータを転送元に送信し、
    転送元は、受信した暗号化データを前記チャレンジ鍵で復号し、その復号データをさらに自身の秘密鍵で復号し、その復号データから第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵及び転送先の公開鍵を取得し、取得した第2のセッション鍵あるいは転送先の公開鍵でライセンスを暗号化し、その暗号化データをさらに前記第1のセッション鍵で暗号化したデータを転送先に送信し、
    転送先は、受信した暗号化データを前記第1のセッション鍵で復号し、その復号データをさらに前記第2のセッション鍵あるいは自身の公開鍵で復号してライセンスを取得することを特徴とする方法。
  2. コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、
    転送先は、自身の公開鍵を含む証明書を転送元に送信し、
    転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結した第1のデータを転送先に送信するとともに、ライセンスを識別するためのライセンスIDと、ライセンスを暗号化する鍵のタイプを示す鍵タイプデータとを連結した第2のデータを転送先に送信し、
    転送先は、前記第1のデータから転送元の公開鍵を取得した後、前記第1のデータから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、前記第2のデータに含まれる鍵タイプデータに応じて、第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵のみを生成し、第1のセッション鍵と自身の公開鍵とを連結し、あるいは第1のセッション鍵と第2のセッション鍵とを連結し、その連結データを前記転送元の公開鍵で暗号化し、その暗号化データと自身の証明書失効リストとを連結し、その連結データを前記チャレンジ鍵で暗号化したデータを転送元に送信し、
    転送元は、受信した暗号化データを前記チャレンジ鍵で復号し、その復号データに含まれている転送先の証明書失効リストと自身の証明書失効リストとを比較して、転送先の証明書失効リストの方が新しい場合には、転送先の証明書失効リストを自身の証明書失効リストとするとともに、前記復号データから転送先の証明書失効リストを除いたデータを自身の秘密鍵で復号し、その復号データから第1のセッション鍵及び第2のセッション鍵、あるいは第1のセッション鍵及び転送先の公開鍵を取得し、取得した第2のセッション鍵あるいは転送先の公開鍵でライセンスを暗号化し、その暗号化データと、自身の証明書失効リストとを連結し、その連結データを前記第1のセッション鍵で暗号化したデータを転送先に送信し、
    転送先は、受信した暗号化データを前記第1のセッション鍵で復号して転送元の証明書失効リストを取得し、さらに、前記復号データから転送元の証明書失効リストを除いたデータを前記第2のセッション鍵あるいは自身の公開鍵で復号してライセンスを取得することを特徴とする方法。
  3. 請求項1又は2に記載の転送方法において、
    転送元と転送先との間で共通の第1のセッション鍵を保持している状態で前記ライセンスを暗号化して転送する場合には、
    転送先は、新たなセッション鍵を生成し、そのセッション鍵を前記第1のセッション鍵で暗号化したデータを転送元に送信し、
    転送元は、受信した暗号化データを前記第1のセッション鍵で復号して前記新たなセッション鍵を取得し、そのセッション鍵でライセンスを暗号化し、その暗号化データを前記第1のセッション鍵でさらに暗号化して転送先に送信することを特徴とする方法。
  4. コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、
    転送先は、自身の公開鍵を含む証明書を転送元に送信し、
    転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結したデータを転送先に送信し、
    転送先は、受信したデータから転送元の公開鍵を取得した後、前記受信データから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、ライセンスを識別するためのライセンスIDを転送元に送信し、
    転送先は、セッション鍵を生成し、生成したセッション鍵と転送先の公開鍵とを連結し、その連結データを転送元の公開鍵で暗号化し、その暗号化データをさらにチャレンジ鍵で暗号化したデータを転送元に送信し、
    転送元は、受信した暗号化データをチャレンジ鍵で復号し、その復号データを自身の秘密鍵でさらに復号し、その復号データからセッション鍵と転送先の公開鍵とを取得し、取得したセッション鍵でライセンスを暗号化し、その暗号化データを新たに生成したセッション外殻鍵でさらに暗号化するとともに、前記セッション外殻鍵を転送先の公開鍵で暗号化し、前記2つの暗号化データを連結したデータを転送先に送信し、
    転送先は、受信したデータのうち自身の公開鍵で暗号化されたデータを自身の秘密鍵で復号して前記セッション外殻鍵を取得した後、前記受信データのうち前記セッション外殻鍵で暗号化されたデータを前記セッション外殻鍵で復号し、その復号データを前記セッション鍵でさらに復号してライセンスを取得することを特徴とする方法。
  5. コンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データからなるライセンスを暗号化して転送する方法であって、
    転送先は、自身の公開鍵を含む証明書を転送元に送信し、
    転送元は、受信した証明書の正当性を検証し、チャレンジ鍵を生成し、該チャレンジ鍵を前記証明書に含まれる転送先の公開鍵で暗号化し、その暗号化データに自身の公開鍵を含む証明書を連結したデータを転送先に送信し、
    転送先は、受信したデータから転送元の公開鍵を取得した後、前記受信データから転送元の公開鍵を除いたデータを自身の秘密鍵で復号してチャレンジ鍵を取得するとともに、ライセンスを識別するためのライセンスIDを転送元に送信し、
    転送先は、セッション鍵を生成し、生成したセッション鍵と転送先の公開鍵とを連結し、その連結データを転送元の公開鍵で暗号化し、その暗号化データと自身の証明書失効リストとを連結し、その連結データをチャレンジ鍵で暗号化したデータを転送元に送信し、
    転送元は、受信した暗号化データをチャレンジ鍵で復号し、その復号データに含まれている転送先の証明書失効リストと自身の証明書失効リストとを比較して、転送先の証明書失効リストの方が新しい場合には、転送先の証明書失効リストを自身の証明書失効リストとするとともに、前記復号データから転送先の証明書失効リストを除いたデータを、自身の秘密鍵で復号し、その復号データからセッション鍵と転送先の公開鍵とを取得し、取得したセッション鍵でライセンスを暗号化し、その暗号化データに自身の証明書失効リストを連結し、その連結データを新たに生成したセッション外殻鍵で暗号化するとともに、前記セッション外殻鍵を転送先の公開鍵で暗号化し、前記2つの暗号化データを連結したデータを転送先に送信し、
    転送先は、受信したデータのうち自身の公開鍵で暗号化されたデータを自身の秘密鍵で復号して前記セッション外殻鍵を取得した後、前記受信データのうち前記セッション外殻鍵で暗号化されたデータを前記セッション外殻鍵で復号し、その復号データから転送元の証明書失効リストを取得するともに、前記復号データから転送元の証明書失効リストを除いたデータを前記セッション鍵で復号してライセンスを取得することを特徴とする方法。
  6. 請求項4又は5に記載の転送方法において、
    転送元と転送先との間で共通のセッション外殻鍵を保持している状態で前記ライセンスを暗号化して転送する場合には、
    転送先は、新たなセッション鍵を生成し、そのセッション鍵を前記セッション外殻鍵で暗号化したデータを転送元に送信し、
    転送元は、受信した暗号化データを前記セッション外殻鍵で復号して前記新たなセッション鍵を取得し、そのセッション鍵でライセンスを暗号化し、その暗号化データを前記セッション外殻鍵でさらに暗号化して転送先に送信することを特徴とする方法。
  7. 請求項1から6のいずれか1項に記載の転送方法を用いて、記録媒体間でコンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データを転送するシステム。
  8. 請求項1から6のいずれか1項に記載の転送方法を用いて、ネットワークノード間でコンテンツデータ、該コンテンツデータを復号するための鍵データ、及び該コンテンツデータの復号許可条件データを転送するシステム。
JP2004302015A 2004-10-15 2004-10-15 データ転送システム及びデータ転送方法 Expired - Fee Related JP4555046B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004302015A JP4555046B2 (ja) 2004-10-15 2004-10-15 データ転送システム及びデータ転送方法
US11/250,974 US7845011B2 (en) 2004-10-15 2005-10-14 Data transfer system and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004302015A JP4555046B2 (ja) 2004-10-15 2004-10-15 データ転送システム及びデータ転送方法

Publications (2)

Publication Number Publication Date
JP2006115329A JP2006115329A (ja) 2006-04-27
JP4555046B2 true JP4555046B2 (ja) 2010-09-29

Family

ID=36181974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004302015A Expired - Fee Related JP4555046B2 (ja) 2004-10-15 2004-10-15 データ転送システム及びデータ転送方法

Country Status (2)

Country Link
US (1) US7845011B2 (ja)
JP (1) JP4555046B2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
KR100608605B1 (ko) * 2004-09-15 2006-08-03 삼성전자주식회사 디지털 저작권 관리 방법 및 장치
JP4695965B2 (ja) * 2005-11-15 2011-06-08 キヤノン株式会社 映像記録装置及びプログラム
EP1793606A1 (en) * 2005-12-05 2007-06-06 Microsoft Corporation Distribution of keys for encryption/decryption
CN101479735B (zh) * 2006-05-04 2013-08-07 北方电讯网络有限公司 用于启用选定特性的方法、系统和设备
US9762536B2 (en) 2006-06-27 2017-09-12 Waterfall Security Solutions Ltd. One way secure link
IL177756A (en) 2006-08-29 2014-11-30 Lior Frenkel Encryption-based protection against attacks
KR100843079B1 (ko) * 2006-10-31 2008-07-03 삼성전자주식회사 디지털 저작권 관리 방법 및 장치
US8478694B2 (en) * 2006-11-03 2013-07-02 Sony Corporation Digital rights management license archiving
US8763110B2 (en) * 2006-11-14 2014-06-24 Sandisk Technologies Inc. Apparatuses for binding content to a separate memory device
US20080114772A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for connecting to a network location associated with content
US20080112566A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Apparatuses for accessing content based on a session ticket
US8079071B2 (en) 2006-11-14 2011-12-13 SanDisk Technologies, Inc. Methods for accessing content based on a session ticket
US20080112562A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Methods for linking content with license
US8327454B2 (en) * 2006-11-14 2012-12-04 Sandisk Technologies Inc. Method for allowing multiple users to access preview content
US20080114693A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for allowing content protected by a first DRM system to be accessed by a second DRM system
IL180020A (en) 2006-12-12 2013-03-24 Waterfall Security Solutions Ltd Encryption -and decryption-enabled interfaces
IL180748A (en) * 2007-01-16 2013-03-24 Waterfall Security Solutions Ltd Secure archive
JP5110942B2 (ja) * 2007-04-06 2012-12-26 株式会社日立製作所 情報保護システム
US20080301465A1 (en) * 2007-06-04 2008-12-04 Microsoft Corporation Protection of software transmitted over an unprotected interface
US8010779B2 (en) * 2007-09-19 2011-08-30 Novell Inc. Techniques for secure network searching
US8223205B2 (en) 2007-10-24 2012-07-17 Waterfall Solutions Ltd. Secure implementation of network-based sensors
US20090129597A1 (en) * 2007-11-21 2009-05-21 Zimmer Vincent J Remote provisioning utilizing device identifier
FR2958821A1 (fr) * 2007-12-11 2011-10-14 Mediscs Procede d'authentification d'un utilisateur
KR100981419B1 (ko) * 2008-01-31 2010-09-10 주식회사 팬택 디지털 권한 관리를 위한 사용자 도메인 가입방법 및 그정보 교환 방법
US8938401B2 (en) 2009-02-17 2015-01-20 Comcast Cable Holdings, Llc Systems and methods for signaling content rights through release windows life cycle
US20100293103A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Interaction model to migrate states and data
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
KR101167938B1 (ko) * 2009-09-22 2012-08-03 엘지전자 주식회사 컨텐츠에 대한 권리 이용 방법
JP5365542B2 (ja) * 2010-02-16 2013-12-11 株式会社リコー 仲介装置、インストールシステム、インストール方法及びインストールプログラム
JP2012060555A (ja) * 2010-09-13 2012-03-22 Sony Corp 通信システム、通信装置及び通信方法
US9509704B2 (en) * 2011-08-02 2016-11-29 Oncircle, Inc. Rights-based system
CN104321789B (zh) * 2012-03-23 2017-10-17 诺基亚技术有限公司 密码认证的通信
US9635037B2 (en) 2012-09-06 2017-04-25 Waterfall Security Solutions Ltd. Remote control of secure installations
US9419975B2 (en) 2013-04-22 2016-08-16 Waterfall Security Solutions Ltd. Bi-directional communication over a one-way link
WO2015054083A1 (en) 2013-10-07 2015-04-16 Semper Fortis Solutions LLC System and method for encryption key management, federation and distribution
IL235175A (en) 2014-10-19 2017-08-31 Frenkel Lior Secure desktop remote control
US9923719B2 (en) * 2014-12-09 2018-03-20 Cryptography Research, Inc. Location aware cryptography
US20160342774A1 (en) * 2015-05-21 2016-11-24 Castar, Inc. Method of co-located software object sharing for multi-player augmented reality games
IL250010B (en) 2016-02-14 2020-04-30 Waterfall Security Solutions Ltd Secure connection with protected facilities
US9971879B2 (en) * 2016-05-26 2018-05-15 Adobe Systems Incorporated Secure recording and rendering of encrypted multimedia content
US10929402B1 (en) * 2018-08-10 2021-02-23 Amazon Technologies, Inc. Secure join protocol in encrypted databases
US10756887B2 (en) * 2018-10-12 2020-08-25 EMC IP Holding Company LLC Method and system for securely replicating encrypted deduplicated storages

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256286A (ja) * 2002-03-05 2003-09-10 Sanyo Electric Co Ltd データ記憶装置
JP2004021755A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 記憶装置
JP2004062317A (ja) * 2002-07-25 2004-02-26 Sanyo Electric Co Ltd データ記憶装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4009108B2 (ja) 1999-08-10 2007-11-14 富士通株式会社 メモリカード
AU1730801A (en) * 1999-12-07 2001-06-18 Fujitsu Limited Device for reproducing data
US6988196B2 (en) * 2000-12-22 2006-01-17 Lenovo (Singapore) Pte Ltd Computer system and method for generating a digital certificate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256286A (ja) * 2002-03-05 2003-09-10 Sanyo Electric Co Ltd データ記憶装置
JP2004021755A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 記憶装置
JP2004062317A (ja) * 2002-07-25 2004-02-26 Sanyo Electric Co Ltd データ記憶装置

Also Published As

Publication number Publication date
JP2006115329A (ja) 2006-04-27
US20060085354A1 (en) 2006-04-20
US7845011B2 (en) 2010-11-30

Similar Documents

Publication Publication Date Title
JP4555046B2 (ja) データ転送システム及びデータ転送方法
JP4795727B2 (ja) コンテンツの利用端末を制限する方法、記憶装置およびシステム
US20020138442A1 (en) Content provision device and method and license server capable of facilitating circulation of encrypted content data
JP2004362547A (ja) スマートカードを用いた装置認証によりホームドメインを構成する方法、及びホームドメインを構成するためのスマートカード
JP2010267240A (ja) 記録装置
JP5911784B2 (ja) ストレージシステム、セキュア記憶媒体、及びストレージ制御方法
WO2011152065A1 (ja) コントローラ、制御方法、コンピュータプログラム、プログラム記録媒体、記録装置及び記録装置の製造方法
WO2007129434A1 (ja) コンテンツ管理方法及び装置
JP2008299494A (ja) コンテンツデータ管理システム及び方法
JP2004072721A (ja) 認証システム、鍵登録装置及び方法
WO2012172748A1 (ja) 端末装置、サーバ装置、コンテンツ記録制御システム、記録方法及び記録許否制御方法
JP5139028B2 (ja) コンテンツデータ管理システム及び方法
CN110324358B (zh) 视频数据管控认证方法、模块、设备和平台
JP4248208B2 (ja) 暗号化装置、復号化装置、秘密鍵生成装置、著作権保護システムおよび暗号通信装置
JP2001175605A (ja) データ処理装置
WO2011072607A1 (zh) 一种文件分段保护的方法、装置及系统
JP2007096783A (ja) データ転送方法及びシステム
JP3556891B2 (ja) デジタルデータ不正使用防止システム及び再生装置
US20060106721A1 (en) Method for retransmitting or restoring contents key for decrypting encrypted contents data
JP4268673B1 (ja) 著作権保護システム、再生装置、及び再生方法
JP3846230B2 (ja) コンテンツ情報認証再生装置
WO2006135078A1 (ja) コンテンツの利用端末を制限する方法、記憶装置およびシステム
JP2000357127A (ja) 記憶媒体及び同媒体を使用したコンテンツ管理方法
JP2005128960A (ja) コンテンツの再生装置及び方法
US20060069650A1 (en) Device and method for reproducing encrypted contents

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070515

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: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100715

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees