(57)【特許請求の範囲】
【請求項１】
第１の情報処理端末に接続可能な記憶装置であって、
移動やコピーの可否を含むライセンス処理に係わる情報である許諾情報と、移動やコピーの回数を含むライセンス処理の制限に係わる情報である制限情報とを含むライセンス情報を格納するためのライセンス情報格納部を有し、
前記第１の情報処理端末が前記記憶装置の機能又は性能と、前記記憶装置との通信方式を設定する際に用いられる前記記憶装置の種別とを識別するための、第１の装置情報を格納するための第１の記憶部と、前記第１の装置情報を前記第１の情報処理端末に送信する第１のデータ処理部と、
前記第１の情報処理端末が前記記憶装置に格納されたライセンス情報から暗号鍵を含むディジタルコンテンツの利用に必要な情報を除いた前記許諾情報及び制限情報を含む第２の情報を前記第１の情報処理端末より入力されるライセンス情報ＩＤに基づいて検索し、発見された場合に前記第２の情報を前記第１の情報処理端末に送信するための第２のデータ処理部と、
前記第１の情報処理端末が、前記記憶装置に格納された情報のうちライセンス情報の転送処理に係わるログ情報を獲得するための、前記ログ情報を格納するための第２の記憶部と、前記ログ情報を前記第１の情報処理端末に送信する第３のデータ処理部と、
前記第１の情報処理端末が、前記記憶装置が現在利用している鍵情報のセットを含む前記記憶装置の状態に関する第２の装置情報を獲得するための、前記第２の装置情報を格納するための第３の記憶部と、前記第２の装置情報を前記第１の情報処理端末に送信することによって、前記第１の情報処理端末が指定した鍵情報のセットと異なる鍵情報のセットを前記記憶装置が利用していてもエラーとせずに処理の続行を可能とする第４のデータ処理部とを有することを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置において、
前記ライセンス情報読み出しのために、通信相手の装置が持つ認証情報が入力された場合に、予め格納しておいた認証に必要となる第１の制御情報を用いて前記認証情報が有効なものであるかどうかを確認し、該確認結果に基づいて前記認証情報が有効であることを証明する第２の制御情報を送出可能な第５のデータ処理部を有することを特徴とする記憶装置。
【請求項３】
請求項２記載の記憶装置において、
前記ライセンス情報読み出しのために、前記第２の制御情報を用いて加工された通信相手の装置と共有する一時的に利用可能な共有情報が入力された場合に、前記第２の制御情報を用いて前記共有情報を前記加工の前の状態に戻すことにより、前記共有情報が前記認証情報を出力した装置から入力されたものであるかを確認し、該確認結果に基づき前記共有情報が前記認証情報を出力した装置から入力されたものである場合に、前記ライセンス情報を含んだ第３の制御情報を送出可能な第６のデータ処理部を有する記憶装置。
【請求項４】
請求項３記載の記憶装置において、
前記第１の情報処理端末は、
第２の情報処理端末とネットワークを通じて接続可能であり、
前記第６のデータ処理部によるデータ処理の後に、前記第５のデータ処理部によるデータ処理を省略して、新規にコンテンツを獲得するために、前記第６のデータ処理部による処理を行う場合に、
前記第２の情報処理端末がメッセージの管理を行うために発行する第１の識別情報と、前記第１の情報処理端末が発行した現在の通信のトランザクションを管理する第２の識別情報と、前記第２の情報処理端末が新規に獲得したいコンテンツに関する第３の識別情報とを受信した際に、前記第１の識別情報と、前記第２の識別情報と、新規に第１の情報処理端末が発行した通信のトランザクションを管理するための第４の識別情報とを前記第２の情報処理端末に送信することにより、前記第５のデータ処理部によるデータ処理を省略して、前記第６のデータ処理部を用いたライセンス情報転送処理の実行を可能とすることを特徴とする記憶装置。
【請求項５】
請求項１記載の記憶装置において、
前記記憶装置からのライセンス情報の全部または一部の出力の際に、前記記憶装置に対して前記ライセンス情報読み出しの方法を指定する第５の識別情報を入力することにより、前記ライセンス情報の他の記憶装置への移動処理又は複製処理及び他のライセンス情報保護システムへの転送処理及びディジタルコンテンツを再生する装置に前記ライセンス情報を送信するライセンス情報読み出し処理を指定し、
前記第５の識別情報により移動処理が指定された場合に、前記記憶装置中の移動処理の可否に関する前記許諾情報または前記制限情報を用いて移動処理の可否を判断し、移動処理が可能な場合に、前記ライセンス情報を移動可能な状態にし、
前記第５の識別情報により複製処理が指定された場合に、前記記憶装置中の複製処理の可否に関する前記許諾情報または前記制限情報を用いて複製処理の可否を判断し、複製処理が可能な場合に、前記ライセンス情報を複製可能な状態にし、
前記第５の識別情報により転送処理が指定された場合に、前記記憶装置中の転送処理の可否に関する前記許諾情報または前記制限情報を用いて転送処理の可否を判断し、転送処理が可能な場合に、前記ライセンス情報を転送可能な状態にし、
前記第５の識別情報により読み出し処理が指定された場合に、前記記憶装置中の読み出し処理の可否に関する前記許諾情報または前記制限情報を用いて読み出し処理の可否を判断し、読み出し処理が可能な場合に、前記ライセンス情報を読み出し可能な状態にすることを特徴とする記憶装置。
【請求項６】
請求項１記載の記憶装置において、
前記第２の装置情報は、
前記ライセンス情報の転送処理中に発生したエラーに関する情報と、
前記第１の情報処理端末が前記記憶装置へ入力した命令を実行した際に遷移する前記記憶装置の状態に関する情報と、
選択される対応するライセンス保護システムの種類やバージョンを含む前記記憶装置が対応するサービスの種類に関する情報と、
前記記憶装置に秘密情報が書き込まれているか否かを示す情報と、を含むことを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス情報管理機能を有する記憶装置、及び、その記憶装置を用いてライセンス情報を操作する情報処理端末装置などの技術に関する。
【背景技術】
【０００２】
近年、コンテンツデータ配信、及び、端末装置や記憶装置の間でのライセンス情報管理に係わるＤＲＭ（Digital Rights Management）システムの技術が求められている。ＤＲＭは、電子的なコンテンツデータのライセンス情報（権利情報ともいう）の保護・管理を指す。
【０００３】
特許文献１には、各機器を認証する、認証局により発行された公開鍵証明書によって通信相手を認証し、検証された公開鍵を用いて配信毎に異なるセッションキーを暗号化して鍵交換を行い、最終的にセッションキーにより暗号化コンテンツを復号するためのライセンス鍵を暗号化して配信する配信サーバ、端末装置、メモリカードにおいて、ライセンス鍵の配信時にセキュリティレベルが異なるシステムが共存する場合に、高いセキュリティレベルで配信されたライセンス鍵が低いセキュリティレベルで配信されないように、セキュリティレベル毎にライセンス鍵を管理する方法に関する技術について記載されている。
【特許文献１】特開２００２−１６３３９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
公開鍵証明書を用いて通信相手の機器を認証するシステムにおいては、同一のシステムを用いてサービスを行う機関・団体が複数存在していても、証明書の相違により各サービスを独立に運営することが可能であると同時に、証明書の共通化または証明書検証のための認証局公開鍵を共有しあうことで独立していたサービスを統合することも可能となる。
【０００５】
しかしサービスの統合が発生する場合、システム内に存在する各装置には同じシステムを用いている場合でも、入出力Ｉ/Ｆ（インタフェース）、サポートする暗号アルゴリズム、格納可能なライセンス情報のサイズ等において、細かな実装上の相違があることが考えられ、このような実装上の相違をどのように解決していくかがサービス統合における課題となる。
【０００６】
本発明は、従来技術では解決できなかった上記の課題の解決のために、コンテンツデータ及びそのライセンス情報を扱うシステムにおいて、相互接続に必要な情報を端末装置に送信可能な記憶装置、その記憶装置の入出力Ｉ/Ｆの相違を解決可能な端末装置などの技術を提供するものである。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明は、ディジタルコンテンツデータ及びそのライセンス情報を扱う情報処理端末と記憶装置を有するシステムの技術であって、以下を特徴とする。
【０００８】
本発明は、例えば情報処理端末に対し複数の種類の記憶装置が所定のインタフェースで分離接続可能なシステムであって、記憶装置にライセンス情報管理機能（セキュリティ機能ともいう）を有し、情報処理端末が記憶装置のライセンス情報管理機能を操作・利用する。例えば前記情報処理端末が、ネットワーク等を通じて接続されてディジタルコンテンツ及びそのライセンス情報を処理するシステムである。
【０００９】
（１）本発明は、第１の情報処理端末（図１の端末１００に対応する）に接続可能な記憶装置（図１のＴＲＭモジュール１６４や図２のカード２４０）であって、ディジタルコンテンツの利用・再生などに対する許諾情報と、許諾に対する制限情報とを含むライセンス情報を格納するためのライセンス情報格納部（ＴＲＭモジュール１６４内、特にフラッシュメモリチップ２４０内）を有し、前記第１の情報処理端末が前記記憶装置の機能又は性能を認識するための、第１の装置情報（カード情報）を格納するための第１の記憶部（ＴＲＭモジュール１６４内）と、前記第１の装置情報を前記第１の情報処理端末に送信する第１のデータ処理部（ＴＲＭモジュール１６４内、特にコントローラチップ２２０、図１１）と、前記第１の情報処理端末が前記記憶装置に格納されたライセンス情報の概要（ライセンス情報から秘密鍵などの秘密情報を除いた情報（コンテンツＩＤや許諾情報など））を前記第１の情報処理端末より入力されるライセンス情報ＩＤ（識別情報）に基づいて検索し、発見された場合に前記ライセンス情報の概要を前記第１の情報処理端末に送信するための第２のデータ処理部(ＴＲＭモジュール１６４内)と、前記第１の情報処理端末が、前記記憶装置が処理した所定の処理（セキュリティ処理）のログ情報（すなわちライセンス情報のトランザクション処理ごとのログ情報、例えばトランザクションＩＤとセッション鍵など）を獲得するための、前記ログ情報を格納するための第２の記憶部（ＴＲＭモジュール１６４内）と、前記ログ情報を前記第１の情報処理端末に送信する第３のデータ処理部(ＴＲＭモジュール１６４内)と、前記第１の情報処理端末が前記記憶装置の処理状態に関する第２の装置情報（ステータス情報）を獲得するための、前記第２の装置情報を格納するための第３の記憶部（ＴＲＭモジュール１６４内)と、前記第２の装置情報を前記第１の情報処理端末に送信する第４のデータ処理部（ＴＲＭモジュール１６４内）とを有することを特徴とする（図１１等に対応する）。前記ライセンス情報は、ＩＤなどによってディジタルコンテンツデータと対応付けられ、秘密鍵、前記許諾情報、前記制限情報などを含む情報である。
【００１０】
（２）また、前記（１）の記憶装置において、前記ライセンス情報読み出しのために、通信相手の装置（第２の端末１１０）が持つ認証情報（認証に係わり必要な証明書などの情報、図５の５３０等）が入力された場合に、予め格納しておいた第１の制御情報（証明書を検証するための秘密鍵など）を用いて前記認証情報が有効なものであるかどうかを検査し、該検査結果に基づいて前記認証情報が有効であることを証明する第２の制御情報（暗号化第一セッション鍵、図５の５４２等）を送出可能な第５のデータ処理部（ＴＲＭモジュール１６４内）を有することを特徴とする（図５等）。
【００１１】
（３）また、前記（１）の記憶装置において、前記ライセンス情報読み出しのために、通信相手の装置（第２の端末１１０）と共有する一時的に利用可能な共有情報（図８の８１８等）が入力された場合に、前記第２の制御情報を用いて前記共有情報が前記認証情報を出力した装置から入力されたものであるかを検査し、該検査結果に基づき前記共有情報が前記認証情報を出力した装置から入力されたものである場合に、前記ライセンス情報を含んだ第３の制御情報（図８の８４４等）を送出可能な第６のデータ処理部（ＴＲＭモジュール１６４内）とを有する（図８等）。
【００１２】
これらにより、前記情報処理端末は、前記記憶装置が分離接続可能である場合でも、記憶装置の構成などを認識して、記憶装置の持つセキュリティ機能を利用可能となる。
【００１３】
（４）また、前記（１）の記憶装置において、前記第１の情報処理端末は、第２の情報処理端末とネットワーク等を通じて接続可能であり、前記第６のデータ処理部によるデータ処理（鍵交換と転送）の後に、前記第５のデータ処理部によるデータ処理（認証処理）を省略して前記第６のデータ処理部による処理を行う場合に、前記第２の情報処理端末がメッセージの管理を行うために発行する第１の識別情報（メッセージＩＤ）と、前記第１の情報処理端末が発行した現在の通信のトランザクションを管理する第２の識別情報（トランザクションＩＤ）と、新規に獲得したいコンテンツに関する第３の識別情報（コンテンツＩＤ）を受信した際に、前記第１の識別情報と、前記第２の識別情報と、新規に第１の情報処理端末が発行した通信のトランザクションを管理するための第４の識別情報（新トランザクションＩＤ、図１４等）を第２の情報処理端末に送信することにより、前記第６のデータ処理部を用いたライセンス情報転送処理の実行を可能とする。
【００１４】
（５）また、前記（１）の記憶装置において、前記記憶装置からのライセンス情報の全部または一部の出力の際に、前記記憶装置に対して前記ライセンス情報読み出しの方法を指定する第５の識別情報（図１４のREAD_LICENSE１４３２に含まれる読出方法指定の情報）を入力することにより、前記ライセンス情報の他の記憶装置（ＴＲＭモジュール１６４）への移動処理又は複製処理及び他のライセンス情報保護システム（ＤＲＭシステム）への輸出（エクスポート）処理及び再生装置（再生モジュール１７２）へのライセンス情報読み出し処理を指定する。コマンドのパラメータの内容で処理が指定される。前記第５の識別情報により移動処理が指定された場合に、前記記憶装置中の移動処理の可否に関する前記許諾情報または前記制限情報を用いて移動処理の可否を判断し、移動処理が可能な場合に、前記ライセンス情報を転送可能な状態にし、前記第５の識別情報により複製処理が指定された場合に、前記記憶装置中の複製処理の可否に関する前記許諾情報または前記制限情報を用いて複製処理の可否を判断し、複製処理が可能な場合に、前記ライセンス情報を転送可能な状態にし、前記第５の識別情報により輸出処理が指定された場合に、前記記憶装置中の輸出処理の可否に関する前記許諾情報または前記制限情報を用いて輸出処理の可否を判断し、輸出処理が可能な場合に、前記ライセンス情報を転送可能な状態にし、前記第５の識別情報により読み出し処理が指定された場合に、前記記憶装置中の読み出し処理の可否に関する前記許諾情報または前記制限情報を用いて読み出し処理の可否を判断し、読み出し処理が可能な場合に、前記ライセンス情報を転送可能な状態にする（図１８（ａ）等）。
【００１５】
（６）また、前記（１）の記憶装置において、前記第１の情報処理端末は、当該第１の情報処理端末と他の情報処理端末（第２の端末１１０）との通信を制御するエージェント処理部と、前記記憶装置の種別を前記第１の装置情報に基づき判断し、前記エージェント処理部との通信方式を前記記憶装置との通信方式へ変換するエンティティ処理部（ＭＤＵ変換モジュール）とを有する。
【００１６】
（７）また、前記（１）の記憶装置において、前記第２の装置情報は、前記所定の処理中に発生したエラーの状態と、前記第１の情報処理端末が前記記憶装置へ入力した命令の実行の状態と、選択されているサービスの種類と、前記記憶装置の発行の状態とを含む。
【００１７】
（８）また、前記（１）の記憶装置において、前記記憶装置への新規のライセンス情報の入力の際に、前記記憶装置に対してライセンス情報格納方法を指定する第６の識別情報を入力することにより、ライセンス情報格納アドレス（識別情報）及び上書き可否を指定し、前記記憶装置は、前記第６の識別情報により前記ライセンス情報格納アドレスに既にライセンス情報があるかどうかを判断し、前記ライセンス情報がない場合には、前記ライセンス情報格納アドレスに前記新規のライセンス情報を格納し、前記ライセンス情報が既にある場合には、前記上書き可否により、上書き可と指定されている場合には、前記ライセンス情報格納アドレスに前記新規のライセンス情報を格納し、そうでない場合には、前記新規のライセンス情報の格納を行わない（図１８（ｂ）等）。
【００１８】
（９）また、前記情報処理端末と記憶装置とが分離接続可能な形態に限らず、前記情報処理端末に記憶装置が一体的に構成され、例えば上記のような記憶装置の機能を情報処理端末内でソフトウェア処理などにより実現する形態なども可能である。
【発明の効果】
【００１９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、ライセンス情報を扱う端末装置と記憶装置を有するシステムにおいて、端末装置は、ライセンス情報の転送処理を行う記憶装置が分離接続可能である場合や、一対多、多対一、多対多で接続される場合であっても、記憶装置の種別、機能、状態、格納されたライセンス情報の種別などを獲得して効率的に処理することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。図１〜図１８は、本発明の実施の形態を説明するための図である。
【００２１】
本実施の形態では、端末とそれに接続または内蔵される記憶装置とを含むシステムの仕様として、記憶装置を用いてＤＲＭの機能を実現するためのコマンドＩ/Ｆが定義されている。端末は、記憶装置にコマンドを発行して記憶装置で処理させることで、ライセンス情報処理機能を実現する。特に、記憶装置から端末へ転送するデータまたは情報として、ＤＲＭのシーケンスの状態（トランザクション状態）を管理するためのステータス情報を含ませている。また、複数のライセンス情報の転送を行うためのコマンドＩ/Ｆも定義している。端末は、記憶装置の有する前記第１〜第６のデータ処理部（後述する通常のデータ処理部とは異なる）に対応した処理機能（特に図１１、図５、図８に示される）を用いることで、ライセンス情報管理機能を実現する。
【００２２】
図１は、本実施の形態におけるシステムの構成を表す図である。このシステムは、端末（情報処理端末装置）１００と、その通信相手となる端末（情報処理端末装置）１１０とから構成される。以下便宜的に第１の端末１００及び第２の端末１１０とも称する。本システムは、所定のＤＲＭシステムに従うライセンス情報処理機能を備えるもので、そのための概念的なモジュールとして主にＤＲＭエージェント（１４０）とＤＲＭエンティティ（１６０）とを有する。各端末（１００，１１０）で、これらモジュールが所定のハードウェア及びソフトウェアで実装される。この実装方式は限定されない。
【００２３】
ここで、第１の端末１００と第２の端末１１０とは、概念的に同等な構成で同種類の装置であるものとする。すなわち第２の端末１１０は、第１の端末１００と同様に、ＤＲＭエージェント及びＤＲＭエンティティ等を有する構成である。第１の端末１００と第２の端末１１０とは、ハードウェア実装構成が異なっていても構わない。このような端末（１００，１１０）としては、サーバ装置、ＰＣ、ＨＤＤ搭載型映像受像機、車載用情報通信端末、携帯電話、携帯動画再生装置等の各種装置が該当する。
【００２４】
端末１００は、ネットワークＩ/Ｆ１２０、アプリケーション１３０、ＤＲＭエージェントモジュール（以下、ＤＲＭエージェントともいう）１４０、ＤＲＭエンティティモジュール（以下、ＤＲＭエンティティともいう）１６０、デコーダＤＲＭエンティティモジュール（以下、デコーダＤＲＭエンティティともいう）１７０、及びストレージ１８０を有して構成される。
【００２５】
ネットワークＩ/Ｆ１２０は、外部（例えばネットワーク）とのデータ入出力を行う。アプリケーション１３０は、ユーザまたは機器の操作に基づきネットワークＩ/Ｆ１２０とＤＲＭエージェントモジュール１４０を操作する。ＤＲＭエージェントモジュール１４０は、通信制御モジュール１４２とエンティティ管理モジュール１４４を有し、ＤＲＭエンティティモジュール１６０の動作を制御する。ＤＲＭエンティティモジュール１６０は、ＭＤＵ変換モジュール１６２とＴＲＭ（耐タンパ性）モジュール１６４を有し、ライセンス情報の管理を行う。ＴＲＭモジュール１６４内にライセンス情報が記憶される。デコーダＤＲＭエンティティ１７０は、再生モジュール１７２を有し、またＤＲＭエンティティモジュール１６０内のライセンス情報を用いてストレージ１８０内のコンテンツデータを操作する。ストレージ１８０は、例えば楽曲などのコンテンツデータなどを格納する。本実施の形態では、保護されるコンテンツデータが楽曲データであるものとし、再生モジュール１７２でこの楽曲データの再生を行うものとする。
【００２６】
各端末（１００，１１０）には、記憶装置２００が接続または内蔵される。本実施の形態では、端末１００の記憶装置２００は、ＴＲＭモジュール１６４とストレージ１８０に対応し、端末１００に対し分離可能に接続される。
【００２７】
なお、端末（１００，１１０）間で交換される情報が当該端末の入出力部（ネットワークＩ/Ｆ１２０を含む）で等価であるならば、当該端末間に１つ以上の他の端末等の装置が挿入されても構わない。すなわち当該端末間の仲介や中継などのための端末（中間端末）などが介在してもよい。ここで前記他の端末とは、データ形式を変換するパーサーや、通信網を切り替える基地局又はアクセスポイント、通信路を切り替えるルーター、通信を管理するサーバ等が該当する。前記情報が入出力部で等価であることの意味するところは、テキストデータ及びバイナリデータなどの情報の記述形式に関係なく情報が所定の方式に従って変換可能であり、その結果、情報の種類、情報のデータサイズ、情報本体が不足なく伝達されることである。従って前記中間端末がＩＰアドレス変換またはデータ暗号化、スクランブル等の操作を行う場合でも、当該端末間の情報が等価に受け渡し可能であるならば、前記中間端末などの存在は問題にならない。
【００２８】
ネットワークＩ/Ｆ１２０は、ＬＡＮ、無線ＬＡＮ、インターネットなどに限らず、ＵＳＢやＩＥＥＥ１３９４、ＢｌｕｅＴｏｏｔｈ、ＩＤＥ等の、ＰＣやその周辺機器とデバイスを接続するためのＩ/Ｆであってもよい。
【００２９】
アプリケーション１３０は、ライセンス情報の購入やライセンス情報を用いたコンテンツの利用、ライセンス情報の他の端末への移動などを行うモジュールである。アプリケーション１３０上で、ライセンス情報の処理に係わるサービスが実行される。アプリケーション１３０は、単独のソフトウェアとしてのみではなく、機能毎の複数のソフトウェアの組み合わせとして実現されていてもよい。またアプリケーション１３０は、他の端末（１１０）との通信を保護するために、当該他の端末（１１０）上のアプリケーション（１３０）との間で共通の情報（認証のための公開鍵やセッション鍵などの情報）を保持し、この共通の情報を用いて端末（１００，１１０）間で交換される情報を暗号化してもよい。
【００３０】
ＤＲＭエージェントモジュール１４０は、アプリケーション１３０の一部として実現されていてもよいし、別のモジュールとして実現されてもよい。別のモジュールとして実現されている場合、サービス毎に用意されたＤＲＭエージェントモジュール１４０をアプリケーション１３０が切り替えて利用できるようになるため、相互運用性が向上するという効果がある。
【００３１】
また通信制御モジュール１４２は、データ変換機能と、接続機能と、アプリケーション１３０からＤＲＭエンティティモジュール１６０の操作を制御する機能とを有する。前記データ変換機能は、第２の端末１１０から送信されたデータをＤＲＭエンティティモジュール１６０が解釈可能な形式に変換し、ＤＲＭエンティティモジュール１６０から受信したデータを第２の端末１１０が解釈可能な形式に変換する機能である。前記接続機能は、第２の端末１１０とＤＲＭエンティティモジュール１６０との間の接続と、ＤＲＭエンティティモジュール１６０とデコーダＤＲＭエンティティモジュール１７０との間の接続と、デコーダＤＲＭエンティティモジュール１７０と第２の端末１１０との間の接続の機能である。
【００３２】
またエンティティ管理モジュール１４４は、保護されたコンテンツを、コンテンツ識別情報、楽曲名、再生時間、ビットレート等のコンテンツ関連情報と共にストレージ１８０に格納する機能や、前記コンテンツ識別情報を用いてストレージ１８０より前記コンテンツの読み出しを行う機能などを持つ。
【００３３】
デコーダＤＲＭエンティティモジュール１７０は、保護されたコンテンツである楽曲データを再生するためのモジュールであり、再生モジュール１７２を用いてＤＲＭエンティティモジュール１６０内のＴＲＭモジュール１６４からライセンス情報を読み出し、その情報を用いてストレージ１８０内の保護されたコンテンツ（楽曲データ）を利用可能な状態とする機能を持つ。
【００３４】
ここで前記保護されたコンテンツを利用可能な状態にする操作とは、コンテンツが暗号化されている場合には、ライセンス情報に含まれる暗号鍵（秘密鍵）によりコンテンツを復号し、デコーダＤＲＭエンティティ１７０が有するＭＰＥＧ、ＭＰ３、ＪＰＥＧ、ＺＩＰ、またはドキュメント等の処理可能なコンテンツ形式に変換する操作に相当する。なおここでＭＰＥＧはMoving Picture Expert Groupの略であり、ＭＰ３はMPEG Audio Layer 3の略であり、ＪＰＥＧはJoint Photographic Expert Groupの略であり、それぞれＩＳＯ／ＩＥＣ  ＪＴＣ１  ＳＣ２９で規格化された標準符号化形式である。またＺＩＰはファイル圧縮形式の１つである。
【００３５】
デコーダＤＲＭエンティティ１７０は、耐タンパ性（Tamper Resistant）を向上させるためにソフトウェアよりも解析が困難なハードウェアで実装してもよく、端末１００に接続された他の端末などの装置内に実装されていてもよい。ここで前記他の端末とは、スピーカーやヘッドフォン、アンプ、テレビジョン等が該当する。またデコーダＤＲＭエンティティ１７０が他のＤＲＭシステムのライセンス情報を転送する場合、デコーダＤＲＭエンティティ１７０はＤＲＭ変換モジュールを有していてもよい。
【００３６】
ＤＲＭエンティティモジュール１６０（特にＴＲＭモジュール１６４）は、端末内のフラッシュメモリやＥＥＰＲＯＭ、ＨＤＤ等の不揮発記憶領域とソフトウェアの組み合わせにより実現されてもよいが、この組み合わせに相当する機能を持つ外部装置であってもよい。このような外部装置としては、X-Mobile Card（X-Mobile Cardは株式会社ルネサステクノロジの製品である），ＳＤメモリカード（ＳＤはSecure Digitalの略である），メモリスティック（メモリスティックは株式会社ソニーの登録商標である），セキュリティ機能付きＵＳＢメモリ，セキュリティ機能付きＨＤＤ,ＩＣカード等が該当する。
【００３７】
ただし、ＤＲＭエンティティモジュール１６０のうちＭＤＵ変換モジュール１６２は、機器（記憶装置２００）毎の入出力形式（Ｉ/Ｆ）にあわせてＤＲＭエージェントモジュール１４０（特に通信制御モジュール１４２）からの入力データをＴＲＭモジュール１６４が解釈可能な形式に変換し、またＴＲＭモジュール１６４からの出力データをＤＲＭエージェントモジュール１４０（特に通信制御モジュール１４２）が解釈可能な形式に変換する機能を有する。ＭＤＵ変換モジュール１６２は、ＤＲＭエンティティモジュール１６０が外部装置として構成される場合に、端末内に存在していてもよい。本実施の形態では、ＴＲＭモジュール１６４が端末１００の外部装置である記憶装置２００内に実装され、ＭＤＵ変換モジュール１６２は、端末１００内に存在する。ＭＤＵ変換モジュール１６２を端末内に残す構成を採ることにより、記憶装置２００間の入出力Ｉ/Ｆの違いによらずＴＲＭモジュール１６４の交換が容易になるという効果を持つ。また、不揮発性記憶装置の代わりにＳＲＡＭやＤＲＡＭ等の揮発性記憶装置と蓄電型電源装置の組み合わせを用いてもよい。この場合、ＴＲＭモジュール１６４内に記憶されるライセンス情報に対して電池の寿命による有効期限を持たせることが可能になる。また認証を通して蓄電型電源装置に追加給電することで、ライセンス情報の有効期限を更新する仕組みであってもよい。
【００３８】
従来のＤＲＭシステムは、実装するシステム構成が限定されていたためにＤＲＭエージェントに相当する機能とＤＲＭエンティティに相当する機能とを切り分ける必要がない（すなわちそれら機能が一体化されている）、または、仕様として定義されている、のどちらかであった。しかし、ＤＲＭエージェントに相当する機能とＤＲＭエンティティに相当する機能が論理的に定義されたＤＲＭシステムでは、ＤＲＭエージェントとＤＲＭエンティティを接続する仕組みの実現が課題として存在する。ここでＤＲＭエンティティを操作するための仕組みを定義することで、ＤＲＭエージェントとＤＲＭエンティティが一体である構成であっても、装置として分離可能な構成であっても、統一的に扱うことが可能となるため、システム構成の自由度が向上する効果がある。
【００３９】
本実施の形態では、ＤＲＭエンティティ（１６０）の持つ機能または性能をＤＲＭエージェント（１４０）に通知する機能、ＤＲＭエンティティ（１６０）を用いて他の端末（１１０）を認証するための操作、ＤＲＭエンティティ（１６０）を用いて他の端末（１１０）との間でセッション鍵を交換するための操作、ＤＲＭエンティティ（１６０）を用いてライセンス情報を獲得または供与するための操作、ＤＲＭエンティティ（１６０）の状態を獲得する操作、ＤＲＭエンティティ（１６０）内のライセンス情報の状態を獲得する操作などを定義する。これにより、アプリケーション（１３０）またはＤＲＭエージェント（１４０）からのＤＲＭエンティティ（１６０）の操作を共通化することを目的とする。
【００４０】
またここで定義した操作は、対象となるＤＲＭエンティティ（１６０）が記憶装置（２００）にデータを書き込む際に、記憶装置（２００）内部でのデータ単位に従い入出力を行うことで、必要なバッファサイズの縮小及びパフォーマンスが向上する。従って、ＤＲＭエンティティ（１６０）を操作する際に送受信するデータのサイズを調整することで必要なバッファサイズの縮小やパフォーマンスの向上を行うための仕組みについても言及している。また１つまたは複数のＴＲＭモジュール（１６４）が複数のＤＲＭエージェントモジュール（１４０）によりアクセスされた場合の入出力形式についても定義している。
【００４１】
図１１は、図１に示すようなアプリケーション１３０、ＤＲＭエージェント１４０、及びＤＲＭエンティティ１６０を有するシステム構成において、より詳細な実施の形態として、ＤＲＭエンティティ１６０のＴＲＭモジュール１６４を、端末１００と分離可能な記憶装置２００の機能で実現した形態における、各モジュールや部位の働きを表している。記憶装置２００として、図２に示す構成のX-Mobile Card（カードと略称する）２４０として置き換えた形態である。カード２４０は、ライセンス情報管理機能を含む処理機能を備えた記憶装置である。本形態では、ＴＲＭモジュール１６４だけでなくストレージ１８０もカード２４０の機能として実現される。
【００４２】
図２で、カード２４０は、ＭＭＣＩ/Ｆ（マルチメディアカードインタフェース）２１０、コントローラチップ２２０、フラッシュメモリチップ２３０、スマートカードチップ２５０を有する構成である。主制御するコントローラチップ２２０に、ＭＭＣＩ/Ｆ２１０、フラッシュメモリチップ２３０、スマートカードチップ２５０が接続されており、ＭＭＣＩ/Ｆ２１０により外部（すなわち端末１００）と接続される。
【００４３】
ＭＭＣＩ/Ｆ２１０は、外部とコントローラチップ２２０とのコマンド及びデータの授受を仲介する。ＭＭＣは、MultiMedia Cardの略であり、Infineon Technology AGの登録商標である。コントローラチップ２２０は、外部からのコマンドを解釈し、フラッシュメモリチップ２３０及びスマートカードチップ２５０へのデータの読み書きを制御する。フラッシュメモリチップ２３０は、ライセンス情報などのデータを格納する。スマートカードチップ２５０は、個人などを認証する処理などを行うが、本実施の形態では、スマートカードチップ２５０の機能は未使用であり、コントローラチップ２２０とフラッシュメモリチップ２３０で処理される。
【００４４】
カード２４０内には、ホスト（すなわち端末１００）からアクセス不可能で処理データが保護されるセキュリティ処理部及び領域と、ホストからアクセス可能で比較的高速なデータ処理部及び領域とを有する。例えば、フラッシュメモリチップ２３０内に、セキュリティ処理部に対応した耐タンパ性記憶領域とデータ処理部に対応した記憶領域とを有し、それぞれ、前記ＴＲＭモジュール１６４とストレージ１８０とに対応する。
【００４５】
コントローラチップ２２０は、ライセンス情報処理に係わる各データ処理部を含み、これら処理を制御及び実行し、また処理のためのバッファとなる記憶領域を有する。前記バッファの領域とフラッシュメモリチップ２３０内の領域との間でデータ入出力が可能である。
【００４６】
ＤＲＭエージェント１４０とＤＲＭエンティティ１６０が分割可能な、すなわち別の装置として分離して接続可能な構成において、ＤＲＭエージェント１４０は、ＤＲＭエンティティ１６０が接続されるとＤＲＭエンティティ１６０の構成を確認する操作を行ってもよい。この操作を行うことで、ＤＲＭエンティティ１６０の機能及び性能に差がある場合でも、その機能及び性能の差に応じた処理が可能になる。またＤＲＭエンティティ１６０に機能及び性能の差がないことがわかっている場合や問題にならない場合には、当該機能及び性能の差がＩ/Ｆの形式などにより一意である場合には、ＤＲＭエンティティ１６０の構成を確認しなくてもよい。この機能は、図１１のカード情報読み出し機能（１１４０）により実現される。
【００４７】
端末１００でカード情報読み出し機能（１１４０）が実行されると、その命令はＭＤＵ変換モジュール１６２によりSEND_DATA CMD１１４４に変換される（処理１１４２）。なおCMDはコマンド（命令）の略である。SEND_DATA CMD１１４４は、カード２４０に対する命令であり、カード２４０に格納されているカード情報（装置情報）を出力させる。このように、CMDとして定義されている命令は、カード２４０固有の命令セットであり、カード２４０以外のＴＲＭモジュール１６４（すなわち記憶装置２００）を利用する場合に、命令の名称、データの形式、転送データサイズ等が異なっていてもよく、ＴＲＭモジュール１６４内との間で入出力されるデータが等価であり、ＴＲＭモジュール１６４が同等の処理機能を持てばよい。このとき、ＭＤＵ変換モジュール１６２は、ＤＲＭエージェントモジュール１４０から送られてきたＭＤＵ形式の命令またはアプリケーション１３０から実行される命令を、対象となるＴＲＭモジュール１６４の実装形式にあわせて変換する働きをする。この働きにより、ＭＤＵ形式の命令に対してＴＲＭモジュール１６４の実現方式によらずＤＲＭエンティティモジュール１６０を他の実現方式と等価に扱うことを可能にする効果をもたらす。これは以下で記述する全てのCMDにおいて同様である。ここでＭＤＵとはMessage Data Unitの略であり、ＤＲＭエージェントからＤＲＭエンティティに渡されるデータを意味する。
【００４８】
カード２４０は、SEND_DATA CMD１１４４を受け取ると、カード２４０内に予め用意されたカード情報を返してもよい（処理１１４６）。カード情報には、発行者名、カードＩＤ、ユーザＩＤ、利用可能なコマンドの種類、利用可能な通信プロトコルの種類、利用可能な暗号アルゴリズムの種類、利用可能なライセンス情報の種類、プロファイルの識別情報やバージョン等が含まれていてもよい。またこれらの情報の記述形式はサービス毎に定められていてもよい。例えばプロファイルの識別情報とバージョンにより利用可能なコマンドの種類、通信プロトコルの種類、暗号アルゴリズムの種類、ライセンス情報の種類を識別できる場合、それらの情報を個別にカードへ記載しなくてもよく、また実装形式で取り得るプロファイルの識別情報とバージョンが１つしかないならば、カードＩＤ情報のみを送ってもよく、またユーザの識別が必要ないならばユーザＩＤを含まなくてもよい。またカードの状態を出力するステータス情報読み出し１１８０で出力される情報にカード情報が含まれていてもよい。
【００４９】
カード２４０から出力されたカード情報１１４８は、ＭＤＵ変換モジュール１６２によりカード情報１１５２へと変換され（処理１１５０）、アプリケーション１３０により処理される(処理１１５４)。ここでアプリケーション１３０が行う処理１１５４としては、接続されたＴＲＭモジュール１６４の機能確認などが該当する。アプリケーション１３０が他の端末（１１０）に接続して通信を行う際に、通信相手の装置（１１０）にＴＲＭモジュール１６４の機能を通知することにより、通信先は、ライセンス情報の転送を行うのに十分な機能を持っているかどうかを判断できる。また通信先（１１０）は、利用可能なプロトコルの種類や暗号アルゴリズムが複数ある場合には、その中でライセンス情報の転送要件に合った方式を選択し、通信相手（１００）に送信してもよい。
【００５０】
また、アプリケーション１３０は、任意の順序で、ライセンス情報検索１１１０、ログ情報読み出し１１６０、ステータス情報読み出し１１８０の処理を行ってもよい。アプリケーション１３０は、接続されたカード２４０の状態を正しく認識している必要があり、そのために任意の間隔でこれらの処理を行うことが望ましい。
【００５１】
ライセンス情報検索１１１０は、カード２４０に格納されたライセンス情報のうち、コンテンツを暗号化した鍵などの秘密情報を除く、ライセンス情報の識別情報、許諾情報、制限情報などを読み出す処理が該当する。この処理において、ライセンス情報番号１１１２は、カード２４０内に格納されたライセンス情報格納領域のアドレス等が該当する。ライセンス情報から秘密情報を除いた情報は、端末１００内のストレージ領域か、カード２４０内のストレージ領域に格納されていることが望ましい。なぜなら、記憶装置２００内における、セキュリティのためにアクセス制限がかけられた領域（ＴＲＭモジュール１６４の領域が相当する）は、端末１００から直接操作できる記憶領域に比べてアクセス速度が遅かったり、端末１００が管理しやすい形式で情報が保持されていなかったりする場合がある。そこで、前記ライセンス情報から秘密情報を除いた情報を、アクセスが容易なストレージ領域、例えばカード２４０内のストレージ１８０内に格納することで、当該情報へのアクセスが容易になり、また検索速度が向上する等の効果がある。
【００５２】
しかしこれらライセンス情報が改ざんもしくは破損した場合に、正しく目的のライセンス情報を発見できない問題があり、アプリケーション１３０は、ライセンス情報の改ざんや破損を発見する目的や、改ざんや破損を修復する目的で、任意の間隔でライセンス情報検索１１１０の処理を利用できれば、アクセス性の向上とデータの完全性の確保の両方を実現できるという効果がある。このためＤＲＭエージェント１４０またはアプリケーション１３０は、コンテンツ中に含まれる識別情報と読み出したライセンス情報の識別情報とを元に、両者の関連付けを修復する事が可能である。そのために、コンテンツとライセンス情報が相関のある識別情報を有していることが望ましい。このような識別情報としては、コンテンツ識別番号（コンテンツＩＤ）などが該当する。
【００５３】
ライセンス情報番号１１１２をＤＲＭエンティティモジュール１６０が受け取った際に、ＤＲＭエンティティモジュール１６０がファイルシステムを有しているならば、ライセンス情報番号１１１２は、ＭＤＵ変換モジュール１６２によって、対応する階層化されたディレクトリ構造の階層を表す情報とディレクトリ内の要素位置に関する情報の組み合わせに変換され（処理１１１４）、SEARCH_LICENSE CMD１１１６でカード２４０へ送られてもよい。またＤＲＭエンティティモジュール１６０が複数の固定長のライセンス情報格納領域を有しているならば、ＭＤＵ変換モジュール１６２によりライセンス情報番号１１１２はライセンス情報格納領域のアドレスへと変換され、SEARCH_LICENSE CMD１１１６でカード２４０へ送られてもよい。このときのライセンス情報番号はカード情報読み出し１１４０又はステータス情報読み出し１１８０によって獲得された格納ライセンス数に基づく情報である。格納ライセンス数は、カード２４０内に割り当てられたライセンス情報記憶用の領域に対して、ライセンス１つあたりの容量から求められた値であり、カード発行時に定められる値である。この値は、格納できる最大の数である必要はなく、それ以下の任意の値をとってもよい。SEARCH_LICENSE CMD１１１６は、カード２４０内で処理され、カード２４０は指定された場所にライセンス情報がある場合には、そのライセンス情報を出力可能な状態にしてもよい（処理１１１８）。
【００５４】
ＭＤＵ変換モジュール１６２は、カード２４０からの処理完了通知を受け取るとエラーの確認を行う（処理１１２０）。ここでカード２４０より出力されるエラーはカード２４０固有の記述形式であってもよい。エラーをチェックした結果、その内容をアプリケーション１３０またはＤＲＭエージェント１４０に返す場合、アプリケーション１３０またはＤＲＭエージェント１４０が認識可能なエラーコードに変換してもよい。ここで渡されるエラーコードは統一的な基準に従うものである必要はない。なぜならばアプリケーション１３０またはＤＲＭエージェント１４０は、カード情報読み出し１１４０によりカード２４０のサポートする機能の種別を知ることが可能であり、この情報に基づいてカード２４０をサポートしているならばカード２４０のエラーコードを認識可能となる。すなわちＭＤＵ変換モジュール１６２は、接続されたＴＲＭモジュール１６４の種類に応じてエラーコードを解釈可能であるため、エラーコードをアプリケーション１３０またはＤＲＭエージェントモジュール１４０が認識可能な形式へと変換するための方式は実装に依存する方式であっても相互運用性に問題を生じさせることはない。この処理は、以下で述べるエラーチェック処理で共通である。エラーがない場合、ＭＤＵ変換モジュール１６２は、ライセンス情報の抽出のためにSEND_SCSR CMDの生成を行う（処理１１２２）。生成されたSEND_SCSR CMD１１２４は、カード２４０に入力される。カード２４０は、SEND_SCSR CMD１１２４を受け取ると、出力可能な状態にあるライセンス情報（概要）を、ステータス情報に連結してＭＤＵ変換モジュール１６２に送ってもよい（処理１１２６）。ＭＤＵ変換モジュール１６２は、カード２４０から出力された情報を、エラーチェックや形式変換などしてから（処理１１３０）、ライセンス情報１１３２としてアプリケーション１３０に返してもよい。アプリケーション１３０は、ライセンス情報１１３２をもとに、改ざん検知、ストレージ上のライセンス情報の再構築などの処理を行う（処理１１３４）。ここでＴＲＭモジュール１６４が、１つの命令で双方向の入出力を可能とする命令体系を有している場合、処理１１１８の処理結果として、エラー情報とライセンス情報をSEARCH_LICENSE CMD１１１６の入力の結果として出力する仕組みであってもよい。
【００５５】
ログ情報読み出し１１６０は、カード２４０に格納された情報のうち処理中のトランザクションの状態に関する情報を読み出す処理が該当する。トランザクションの状態とは、トランザクションの識別情報、トランザクションの実行状態に関する情報、ライセンス情報の状態が該当する。ここでトランザクションとはライセンス情報の転送の単位であり、トランザクションの識別情報は、通信元が通信先より指定されたコンテンツの識別情報に対応する形で用意された配信されるライセンス情報ごとの識別情報である。またトランザクションの実行状態に関する情報は、トランザクションが実行中か終了したかを表す情報であり、ライセンス情報の状態は、ライセンス情報が正しく格納されているかどうかを確かめる情報である。この情報はトランザクション実行中に電源遮断等が生じた場合に、トランザクションの再接続を実行するかどうかを判断するためや、トランザクション終了後にライセンス情報の格納を確認する目的で利用してもよい。ただし、トランザクションの再接続用のプロトコルが実装されていない場合、この機能は実装されていなくてもよいが、ＤＲＭエージェントモジュール１４０がトランザクション再接続機能を有するＤＲＭエージェントと接続される可能性があるならば実装されていることが望ましい。トランザクション再接続機能の有無はカード情報読み出し１１４０により確かめることができてもよい。
【００５６】
ログ情報読み出し１１６０の命令は、ＭＤＵ変換モジュール１６２によりSEND_LOG CMD１１６４に変換され（処理１１６２）、カード２４０で処理される（処理１１６６）。この処理は、カード２４０に格納されたトランザクション情報の中から前記トランザクションの状態に関する情報を取り出し、出力する操作等が該当する。カード２４０中には、出力されるトランザクションの状態に関する情報以外に、通信中のデータを暗号化するための鍵情報や、過去のトランザクションの情報が含まれる。しかしデータ暗号化のための鍵情報の出力は、セッション内の情報の盗聴を許すことになるため出力してはならず、また過去のトランザクションに関する情報については出力しなくてもよいが、ＴＲＭモジュール１６４が過去のトランザクションの再接続機能を有するならば出力してもよい。カード２４０から出力されたログ情報１１６８は、ＭＤＵ変換モジュール１６２によりエラーの有無の確認にあわせてログ情報１１７２に変換され（処理１１７０）、アプリケーション１３０により処理される（処理１１７４）。処理１１７４としては再送処理の必要を判断する処理や、トランザクションの完了を確認する処理等が該当する。
【００５７】
ステータス情報読み出し１１８０は、カード２４０に格納された情報のうち、ＤＲＭエンティティモジュール１６０の識別情報、ライセンス情報の最大格納数、エラー状態、プロトコルの状態、利用する鍵情報のセット、カード発行の状態などを読み出す処理が該当する。ここでＤＲＭエンティティモジュール１６０の識別情報は、ライセンス情報保護システム（ＤＲＭシステム）の種類、バージョンを表す情報等が該当する。エラー状態は、カード２４０内で発生したエラーを表し、プロトコルの状態はカードに入力された命令によって遷移するカードの状態を意味する。ＤＲＭエンティティモジュール１６０は状態によって受付可能な命令が決まっていてもよく、それ以外の命令が入力された場合、処理を終了してもよい。
【００５８】
ＤＲＭエージェントとＤＲＭエンティティが分離可能な場合、ＤＲＭエージェントとＤＲＭエンティティが一対一だけではなく、一対多、多対一、多対多で接続される可能性がある。その中でＤＲＭエージェントは接続されたＤＲＭエンティティの状態を常に把握しておくことで、ＤＲＭエンティティの状態との同期性を向上させる効果がある。
【００５９】
従来のシステムでは、端末内のシステムと接続されたセキュリティ処理装置の状態が一致していない場合でも、ＤＲＭエージェントはＤＲＭエンティティのセキュリティ処理の状態を把握する手段がないため、命令を発行し、仮に同期がとれていない場合にはＤＲＭエンティティが返すエラーコードにより、命令発行の可否を確かめる他なかった。しかし多対一などの状態で複数のＤＲＭエージェントが１つのＤＲＭエンティティにアクセスする場合、ＤＲＭエンティティへ入力する命令をスケジューリングしたい場合がある。このとき、ＤＲＭエージェントがＤＲＭエンティティの状態と常に同期の確認を可能とすることで、あるＤＲＭエージェントでエラーが発生した場合の再スケジューリングを容易にする効果がある。なぜならば、ライセンス情報の保護のためのプロトコルではある一定の順序でコマンドを発行する必要があるが、それぞれのコマンドを発行するタイミングは通信先の処理時間の問題で、状態により異なり、その間ではＤＲＭエンティティは処理を行っていないため、別の処理を行うことで処理効率の向上が期待できる。
【００６０】
ＤＲＭエンティティに接続された複数のＤＲＭエージェントは、アプリケーションにより指定されたプロトコルの種類に従い、命令を発行することから、発行したい命令の順番を待ち時間がより小さくなるように調整することが可能である。利用する鍵情報のセットは、公開鍵暗号方式による認証を行う場合は、サービス毎に用意された公開鍵証明書と、対応する秘密鍵、公開鍵証明書を検証するための証明書発行者の公開鍵または公開鍵証明書、証明書発行者が発行した証明書失効リストなどが該当する。また共通鍵暗号方式により認証を行う場合は、交換したチャレンジデータから共有鍵を生成するための秘密情報、チャレンジデータを保護するための秘密鍵、ＤＲＭエンティティに割り当てられた固有の識別情報などが該当する。これらの情報がサービスや対象となる機器等に応じて異なる場合で、ＤＲＭエンティティが複数の鍵情報のセットを有する場合、現在どの鍵情報のセットが利用されているかをＤＲＭエージェントが確認可能であってもよい。ＤＲＭエンティティは、SELECT_SERVICE CMD（図９のＣ２５）により利用する鍵セットの種類を指定可能であるが、実際に利用される鍵セットがSELECT_SERVICE CMDと異なる場合、ＤＲＭエンティティは実際に利用されている鍵セットを調べ、その結果をステータス情報の鍵セットの種類に反映することで、エラーを返すことなく処理を行ってもよい。この処理を行うことで前記SELECT_SERVICE自体を省略してもよい。この処理の振る舞いについては、図５及び図３の説明において詳細を述べる。
【００６１】
前記カードの発行状態は、カード（２４０）が製造直後で秘密情報が書き込まれていない状態にあるか、秘密情報が書き込まれて利用可能な状態にあるかを判別する情報である。カードの発行状態において、秘密鍵が書き込まれユーザの手に渡る状態では、秘密情報を書き込むための命令自体を禁止したい場合などがある。そこでＤＲＭエンティティの発行状態をステータス情報として出力することで、ＤＲＭエージェントは、利用する命令セットを選択可能となり、命令を入力しエラーコードの出力で命令の利用可否を確かめる必要がなくなるという効果がある。
【００６２】
ステータス情報読み出し１１８０の命令は、ＭＤＵ変換モジュール１６２によってSEND_SCSR CMD１１８４に変換され（処理１１８２）、カード２４０に入力され、処理される（処理１１８６）。処理１１８６としては、カード２４０内のメモリ上に存在する情報からステータス情報を構成し、出力する処理が該当する。出力されたステータス情報１１８８は、ＭＤＵ変換モジュール１６２により、エラーチェックにあわせてステータス情報１１９２に変換され(処理１１９０)、アプリケーション１３０で処理される（処理１１９４）。ここで処理１１９４は、プロトコル処理の停止や、プロトコル状態の同期化などの処理が該当する。カード２４０の各CMD処理において、カード２４０の各CMDが詳細なエラー情報をレスポンスとして返さない仕様である場合は、エラー情報の取得のためにＭＤＵ変換モジュール１６２がSEND_SCSR CMDを生成し、カード２４０に入力し、エラーコードを取得してもよい。これは、この後に説明する全てのCMD処理において当てはめてもよい。
【００６３】
ライセンス情報を管理するＤＲＭエンティティ（１６０）のような分離可能なモジュールが存在する場合、そのモジュールは、認証、鍵交換、ライセンス情報の転送までの一連の処理機能を、ＴＲＭモジュール（１６４）に応じた命令セットに割り当てる構成となる。この中で、他の端末との通信とコンテンツの管理及びＤＲＭエンティティの操作を行うＤＲＭエージェントと、ＤＲＭエンティティとの間では、既に説明したライセンス情報検索１１１０、カード情報読み出し１１４０、ログ情報読み出し１１６０、ステータス情報読み出し１１８０の機能を用いることで、接続のために十分な情報を得ることが可能となる。またＤＲＭエンティティモジュール１６０の本体であるＴＲＭモジュール１６４と、ＤＲＭエージェントモジュール１４０とを接続するためにＩ/Ｆとサポートするライセンス情報保護方式に応じて情報を変換するＭＤＵ変換モジュール１６２を用意することで、ＤＲＭエンティティモジュール１６０の実装形式によらず、ＤＲＭエージェントモジュール１４０とＤＲＭエンティティモジュール１６０の接続を容易にするという効果がある。またＤＲＭエンティティの認証、鍵交換、及びライセンス情報の転送の三つの処理は、認証と鍵交換、ライセンス情報の転送に分けられてもよい。このように二つに分けることで、一度の認証で複数の鍵交換を行い、ライセンス情報の転送を繰り返し行うことが可能になる。通常、認証処理はプロトコル処理の計算時間で大きな割合を占めているため、複数のライセンス情報を一度に獲得または送信する場合に、処理時間短縮の効果がある。また認証処理を一対一で行うのではなく、一対多、多対一、多対多で行うことで、セキュリティ的に他のネットワークから独立したドメインを構築でき、ライセンス情報の転送処理の幅が広がるという効果がある。この効果としては、複数のライセンス情報転送先がドメイン内に存在している場合に、処理負荷が小さい装置からライセンス情報を獲得することでドメイン内のライセンス情報転送のパフォーマンスを向上させること等が含まれる。
【００６４】
ＤＲＭエンティティの認証、鍵交換、ライセンス情報の転送の処理からなる機能は、ＵＤＡＣｖ２の仕様に基づいて考えた場合、認証の処理はOPEN PDUとESTABLISH PDUの組み合わせ、鍵交換はGET_LICENSE PDU、ライセンス情報の転送はRES_GET_LICENSE PDUに対応する処理として表すことが可能である。ここでＤＲＭエージェントモジュール１４０の主な働きは、共通の仕様に基づいたＤＲＭエンティティモジュール１６０の管理と、共通の機能を持った他のＤＲＭエージェントとの通信、共通の仕様に基づいて構成されたコンテンツ情報の管理を行うことであるが、アプリケーション１３０が複数の異なる仕様に基づくＤＲＭエージェントモジュール１４０を操作する仕組みであってもよい。その際、再生アプリケーションと複数のＤＲＭエージェントの動作を制御するモジュールは、認証、鍵交換、ライセンス情報の転送の単位で処理することにより、ＤＲＭシステムを共通に取り扱ってもよい。
【００６５】
図３，図４は、本システムにおいて、端末（１００）が、接続された別の端末（１１０）からライセンス情報を取得する場合の処理の流れを表している。ここでは、より詳細な実施の形態として、図１に示すシステムに対応する実装構成として、ＤＲＭシステムとしてＵＤＡＣｖ２を、ＴＲＭモジュール１６４及びストレージ１８０となる記憶装置２００として前記カード２４０を用い、公開鍵暗号方式による証明書の認証を通してＡＥＳ（Advanced Encryption Standard）のライセンス情報暗号化鍵を共有し、その鍵を用いてライセンス情報を獲得する操作を説明する。
【００６６】
ＵＤＡＣｖ２は、Universal Distribution with Access Control version 2の略である。ＵＤＡＣｖ２は、株式会社日立製作所、株式会社ＰＦＵ、株式会社ルネサステクノロジ、コロンビアミュージックエンタテインメント株式会社、三洋電機株式会社、富士通株式会社が著作権を有するコンテンツ配信のための技術規格である。ＵＤＡＣｖ２技術規格書には、耐タンパ性を有しライセンス情報管理機能を有するＤＲＭエンティティ間の通信プロトコルと、ネットワーク通信を制御しＤＲＭエンティティ間の通信をサポートするＤＲＭエージェント間の通信プロトコルと、ＤＲＭエンティティ及びＤＲＭエージェントの要件についての仕様と、ＤＲＭエンティティで制御されるライセンス情報の記述形式についての仕様について記載されている。
【００６７】
図３で、アプリケーション１３０は、ライセンス情報を配信するサーバである端末１１０に接続すると、そのサービスで有効な鍵セットに関する情報を取得し、ＤＲＭエージェントモジュール１４０に対して、サーバに送る証明書と利用するＤＲＭエンティティの機能の選択を行う（処理３１０）。ＤＲＭエージェントモジュール１４０は、アプリケーション１３０よりＤＲＭエンティティ番号と鍵セット番号（データ３１２）を受け取ると、ＤＲＭエンティティモジュール１６０が複数ある場合には、データ３１２に基づき、利用するＤＲＭエンティティを選択してもよい。ＤＲＭエージェントモジュール１４０は、選択されたＤＲＭエンティティモジュール１６０内のＭＤＵ変換モジュール１６２に接続されているＴＲＭモジュール１６４の種類に従ってデータ３１２の変換を行ってもよい（処理３１４）。これは、ＤＲＭエンティティモジュール１６０が、論理チャネルのような複数の処理を同時に実行可能な機能を有している場合、ＤＲＭエンティティ番号を論理チャネル番号に変換する処理などが該当する。またＴＲＭモジュール１６４がサービスごとに異なる鍵やアルゴリズムのセットを持っているならば、データ３１２に含まれる鍵セット番号に基づき適した鍵セットを選択してもよい。処理３１４により変換されたデータ３１６は、ＭＤＵ変換モジュール１６２によりSELECT_SERVICE CMD３２０に変換される（処理３１８）。SELECT_SERVICE CMD３２０は、論理チャネル番号と鍵セット番号を含むデータであり、カード２４０に入力されて処理される（処理３２２）。この処理３２２としては、論理チャネルに基づきカード２４０内のメモリ空間を切り替える処理や、鍵セットの指定に基づき鍵セットを選択し必要ならばメモリ上に読み出す操作が該当する。
【００６８】
図１０は、カード２４０に入力されるデータの命令部分の形式を表したものである。command１０１０は、実行するデータ処理の種類を表し、ＣＮ１０３０（８bit）は、セキュリティ処理の種類を表す。ＣＲＣ１０５０は、命令部分のエラーチェックを行うためのデータである。また、Ｃｎｔ１０２０（１２bit）及びReserved１０４０（１２bit）は、特に利用しなくてもよく、すべて０となる値であってもよい。本実施の形態では、処理方法として、同一のcommand１０１０でそのパラメータであるＣＮ１０３０の値の違いにより、異なる処理内容が指定される。
【００６９】
カード２４０で利用するセキュリティ処理は、シングルデータブロック入力命令とシングルデータブロック出力命令の派生形として扱われる。これらの命令が通常のカード内のデータアクセスと同じ処理であるかどうかは、この命令以前に処理切り替え命令が発行されているかどうかに依存する。処理の切り替え方法としては、連続する次の命令をセキュリティ処理命令として解釈させる方式や、もう一度処理切り替え命令が発行されるまで命令をセキュリティ処理命令に置き換える方式等が該当する。また、セキュリティ処理のための命令が他とは別の命令として用意されていてもよいし、物理的または電気的なスイッチによりこの機能が切り替えられてもよい。ここで電気的なスイッチとは、処理の種類を判別するための信号線を用意しておき、この信号線がＨｉかＬｏかで処理を切り替える処理等が該当する。ＣＮ１０３０によりセキュリティ処理を選択する場合、先頭の２bitが、対象とする論理チャネルの番号を表し、後続の６bitが、セキュリティ処理の種類を表す仕組みであってもよい。図９は、この規則に基づいて指定されるカード２４０のセキュリティ機能を表している。
【００７０】
図９に示す命令セットにおいて、Command名称（９０１）は、カード２４０が解釈可能な命令の名称を表し、Command＆Argument（９０２）は、ベースとなるCommand１０１０の種類と、ＣＮ１０３０に設定する値を表している。ここで“ＡＣＭＤ１７”と記載している命令は、シングルデータ出力命令から派生したセキュリティ処理命令に該当し、“ＡＣＭＤ２４”と記載されている命令は、シングルデータ入力命令から派生したセキュリティ処理命令に該当する。また“Ａｒｇ”で指定されている１６進数は、ＣＮ１０３０の下位６bitに設定する値を意味している。この命令セットは、ＴＲＭモジュール１６４の種類により名称並びにデータサイズ、各機能の指定の仕方が異なっていてもよい。
【００７１】
前記図３の処理３２２の結果、ＭＤＵ変換モジュール１６２は、出力されたエラーの状態をチェックする処理３２４を行い、ＤＲＭエージェントモジュール１４０に通知する。ここでＤＲＭエージェント１４０は、エラーが発生している場合で、ＤＲＭエンティティが存在しない場合、選択した論理チャネルが利用できない場合、選択した鍵セットが存在しない場合等に、処理の終了の通知や、別の組み合わせで命令を再発行する操作等を行ってもよい。エラーがない場合、ＤＲＭエージェントモジュール１４０は、選択された鍵セットに含まれる証明書を読み出す（処理３２６）。この命令は、ＭＤＵ変換モジュール１６２によりSEND_CERT CMD３３０に変換される（処理３２８）。SEND_CERT CMD３３０は、カード２４０により処理される（処理３３２）。処理３３２としては、前記処理３２２でセットされた鍵情報に含まれる証明書を読み出して出力する処理等が該当する。ただし、前記鍵セットに証明書が含まれていない場合はエラーを返してもよい。出力された証明書３３４は、ＭＤＵ変換モジュール１６２の変換処理３３６によりDESTINATION_CERT MDU３３８に変換される。DESTINATION_CERT MDU３３８は、ＤＲＭエージェント１４０によりOPEN PDU３４２に変換されて出力される（処理３４０）。OPEN PDU３４２は、プロトコルバージョン、メッセージＩＤ、コンテンツＩＤ、証明書などの情報を含む。OPEN PDU３４２の送信後、ＤＲＭエージェント１４０は、ESTABLISH PDU３５０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、もう一度OPEN PDU３４２を送信してもよい。OPEN PDU３４２を再発行する際のタイミングは通信に利用するインタフェース毎に変化してもよい。
【００７２】
ESTABLISH PDU３５０を受信すると、ＤＲＭエージェントモジュール１４０は、ESTABLISH PDU３５０からSOURCE_KEY MDU３５４を作成し、ＤＲＭエンティティモジュール１６０に送信する（処理３５２）。SOURCE_KEY MDU３５４は、公開鍵証明書に含まれる公開鍵により、通信相手の端末（１１０）が作成した第一セッション鍵を暗号化したデータ（暗号化第一セッション鍵）と、トランザクションＩＤ等を含んでもよい。ＭＤＵ変換モジュール１６２は、SOURCE_KEY MDU３５４から前記暗号化第一セッション鍵を抽出し、SET_SESSION_KEY CMD３５８に変換し（処理３５６）、カード２４０に送信して処理させる（処理３６０）。この処理３６０としては、前記公開鍵で暗号化された第一セッション鍵を、対応する秘密鍵で復号して第一セッション鍵を取り出してメモリにセットする操作などが該当する。
【００７３】
処理３６０が終了すると、ＭＤＵ変換モジュール１６２は、レスポンスを処理する（処理３６２）。処理３６２としては、前記カード２４０の処理３６０が正常に終了したかどうかを判断する処理などが該当する。これを受けてＤＲＭエージェントモジュール１４０は、ESTABLISH PDU３５０に含まれているトランザクションＩＤをTRANSACTION_ID MDU３６６に変換する（処理３６４）。TRANSACTION_ID MDU３６６は、ＭＤＵ変換モジュール１６２によりSTART_TRANSACTION CMD３７０に変換され（処理３６８）、カード２４０で処理される（処理３７２）。この処理３７２としては、メモリに、入力されたトランザクションＩＤを格納する操作等が該当する。
【００７４】
この処理３７２が終了すると、ＭＤＵ変換モジュール１６２は、レスポンスを処理する（処理３７４）。この処理としては、前記処理３７２が正常に終了したかどうかを判断する処理などが該当する。これを受けて、ＭＤＵ変換モジュール１６２は、ESTABLISH_WRITE_SESSION CMD３７８を生成して（処理３７６）、カード２４０に送信して処理させる（処理３８０）。処理３８０としては、カード２４０が内部の乱数発生器を用いて第二セッション鍵を生成し、これを、第一セッション鍵を用いて暗号化し送信する処理などが該当する。またこのときに第一セッション鍵で暗号化して送るデータとしては、カード２４０内の証明書失効リストの発行日時や、カード２４０個別の公開鍵が含まれていてもよい。このとき同時にログ情報として、生成した第二セッション鍵とトランザクションＩＤを格納する操作と、ライセンス情報の転送状態を実行中に変更する処理を行ってもよい。
【００７５】
出力された第二セッション鍵を第一セッション鍵で暗号化したデータである、暗号化第２セッション鍵３８２は、ＭＤＵ変換モジュール１６２でDESTINATION_KEY MDU３８６に変換される（処理３８４）。DESTINATION_KEY MDU３８６は、ＤＲＭエージェントモジュール１４０に渡され、ＤＲＭエージェントモジュール１４０は、DESTINATION_KEY MDU３８６からGET_LICENSE PDU３９０を生成して通信相手の端末１１０に送信する（処理３８８）。また処理３８８として、受け入れ可能で獲得したいライセンス情報に関する情報（要求するライセンス情報のリスト）を、ライセンス情報としてGET_LICENSE PDU３９０の一部としてもよい。
【００７６】
例えば相手の端末１１０からライセンス情報を獲得する場合として、再生のために一時的にライセンス情報を読み出したい場合と、相手の端末１１０に有するライセンス情報を端末１００に移動もしくはコピーしたい場合がある。ここでライセンス情報リスト中にアクセスの種類に関する情報を含ませることで、相手の端末１１０は、端末１００からの要求を認識することが可能になる。例えば、再生のための一時読み出しの場合、ＴＲＭモジュール１６４内で処理するパラメータが不要なため、ＴＲＭモジュール１６４で処理されるパラメータを含めないことで再生のための一時読み出しであると解釈可能であるようにしてもよい。移動とコピー処理を判別する手段としては、あらかじめ移動時のライセンス情報リストとコピー時のライセンス情報リストを端末１００に通知しておき、これを選択することで移動とコピーの処理を切り替えてもよい。ただし、移動、コピー、再生ともに、その条件での利用の可否を判断するのは相手の端末１１０のユーザまたはアプリケーション（１３０）またはＤＲＭエージェントモジュール（１４０）であり、指定された条件を受け入れることができなければ、ライセンス情報の転送を拒否してもよい。GET_LICENSE PDU３９０は、メッセージＩＤ、トランザクションＩＤ、暗号化第二セッション鍵、ライセンス情報リストなどの情報が含まれる。
【００７７】
GET_LICENSE PDU３９０の送信後、ＤＲＭエージェントモジュール１４０は、図４に示すRES_GET_LICENSE PDU４１０を待機する状態に遷移してもよい。この状態がある一定の時間以上続いた場合、ＤＲＭエージェント１４０は、図６及び図７に示すように、REOPEN PDU６１０を送信してもよい。REOPEN PDU６１０を発行する際のタイミングは通信に利用するインタフェースにあわせて変化してもよい。REOPEN PDU発行に関する操作は図６及び図７で示される。
【００７８】
図４で、ＤＲＭエージェント１４０は、RES_GET_LICENSE PDU４１０を受信すると、LICENSE MDU４１４に変換する（処理４１２）。ＭＤＵ変換モジュール１６２は、LICENSE MDU４１４を受け取ると、SET_LICENSE CMD４１８に変換する（処理４１６）。RES_GET_LICENSE PDU４１０は、メッセージＩＤと暗号化ライセンス情報を含む。LICENSE MDU４１４は、暗号化ライセンス情報を含む。SET_LICENSE CMD４１８は、暗号化ライセンス情報を含む。
【００７９】
ここでカード２４０のような端末と分離可能な記憶装置２００は、端末からの指定したアドレスに一ブロックのデータを転送するシングル転送方式と、指定したアドレスから複数のブロックを連続して書き込むマルチ転送方式とをサポートするものがある。ここでブロックとは一回の通信でのデータ単位である。カード２４０は、通常のストレージとして利用可能なデータ処理部と、セキュリティ処理を行うためのセキュリティ処理部があり、端末がこの二つの処理を別々に動作させる際に幾つかの問題が発生する場合がある。一つ目は、命令発行のタイミングに関するもので、セキュリティ処理のためのデータ転送中にデータ転送の割り込みが発生した場合で、データ転送の割り込みの優先度がセキュリティ処理よりも高く設定されている場合、セキュリティ処理のためのマルチデータ転送処理を一時中断し、データ転送終了後に、セキュリティ処理のためのマルチデータ転送を再開したい場合がある。このとき、データ転送停止命令をトリガーにして受け取ったデータのセキュリティ処理を開始する仕組みである場合、セキュリティ処理のためのデータを分割することはできなくなる。また、継続するセキュリティ処理のためのデータ転送を再開する場合でも、同じ命令セットでデータ転送が再開された場合、それが不正な処理なのか、継続操作なのかの判断が行えないという問題があった。そこでＭＤＵ変換モジュール１６２は、LICENSE MDU４１４のデータサイズがシングル転送処理で処理できないサイズである場合、それをSET_LICENSE CMD４１８とEXT_SET_LICENSE CMD４２６の二種類の命令を用いてカード２４０に転送してもよい。SET_LICENSE CMD４１８は、LICENSE MDU４１４に対応する処理のためのデータ転送命令であり、EXT_SET_LICENSE CMD４２６は、まだ残りのデータがある場合のデータ転送命令である。いずれもデータ転送が終了した場合にセキュリティ処理を開始する機能を持つ。セキュリティ処理のためのデータ転送が中断した場合、EXT_SET_LICENSE CMD４２６を発行することでカード２４０はそれが継続するデータであることを判断する。これらの命令はシングルデータ転送命令であってもよいし、マルチデータ転送命令であってもよい。以下ではシングルデータ転送命令であることを例に採り説明する。
【００８０】
SET_LICENSE CMD４１８は、カード２４０に送信されて処理される（処理４２０からの処理）。カード２４０は、SET_LICENSE CMD４１８を受け取ると、SET_LICENSE CMD４１８に含まれるデータ長を判断し、この後どれだけのデータが来るかを認識できる情報を獲得する。受け取ったデータは、モジュール内のキャッシュに格納しておいてもよいし、キャッシュが十分に大きくない場合には記憶装置の一部に退避させておいてもよい。未転送ブロックがあると判断される場合には（処理４２０−Ｙｅｓ）、ＭＤＵ変換モジュール１６２へレスポンスを返し、ＭＤＵ変換モジュール１６２は、エラーの状態を判断し（処理４２２）、残りの未転送ブロックがある場合には、連続するブロックをEXT_SET_LICENSE CMD４２６として発行する（処理４２４）。EXT_SET_LICENSE CMD４２６がカード２４０に入力されると、再び未転送ブロックがあるかどうかを判断し、未転送ブロックがある場合は、処理４２４からの処理を繰り返す。このとき、次のデータを待つ場合は、キャッシュが十分にある場合にはキャッシュに退避し、そうでない場合には記憶装置の一部に退避しておく。未転送ブロックがない場合（処理４２０−Ｎｏ）、カード２４０は、暗号化ライセンス情報を復号し、ライセンス情報と証明書失効リストを取り出し、それらの格納を行う。ただし、ライセンス情報が公開鍵で暗号化されている場合には、カード２４０の個別秘密鍵で復号した後に格納を行ってもよいし、出力時に復号して出力してもよい（処理４２８）。
【００８１】
図１６（ａ）〜（ｆ）は、このときのカード２４０内の動作の詳細を説明したものである。記憶領域である１６１０，１６２０，１６３０は、カード２４０上のバッファを表している。コントローラチップ２２０内にこのようなバッファを有する。バッファ１６１０及び１６２０及び１６３０は、シングル転送処理で一度に転送可能なデータサイズに対応した同じ大きさを持つ。
【００８２】
図１６（ａ）で、カード２４０は、SET_LICENSE CMD４１８によりデータ入力を受け取ると、入出力のためのバッファであるバッファ１６１０に、データ（ｄ１とする）を格納する（処理１６６０）。カード２４０は、受け取ったデータ(ｄ１)のタグ情報（先頭部分の情報）から、全データサイズを計算し、フラッシュメモリチップ２３０のフラッシュメモリ上のカード２４０が管理しユーザによる操作が行えない領域（セキュリティ処理部）上に、退避用領域を確保する（処理１６６２）。この退避のために利用できるフラッシュメモリのサイズより入力データのサイズが大きい場合にはエラーを返してもよい。ここでは、全データサイズとして、バッファ二つ分を超え、かつ三つ分以下のサイズのデータ（ｄ１，ｄ２，ｄ３の順でなるものとする）が送られてくる場合について説明する。
【００８３】
図１６（ｂ）で、退避用のデータ(ｄ１)が格納できる場合、カード２４０は、バッファ１６１０上のデータ（ｄ１）を前記フラッシュメモリ上の領域１６４０に退避する（処理１６６４）。図１６（ｃ）で、次に、EXT_SET_LICENSE CMD４２６によるデータ入力があった場合、カード２４０は、一時的に当該データ（ｄ２）をバッファ１６１０に格納し（処理１６６６）、その後、まだ全データの転送が終了していないため、バッファ１６１０上のデータ(ｄ２)をフラッシュメモリ上の領域１６５０に退避する（処理１６６８）。図１６（ｄ）で、さらにEXT_SET_LICENSE CMD４２６によるデータ入力があった場合、カード２４０は、一時的に当該データ（ｄ３）をバッファ１６１０に格納し（処理１６７０）、その後、これで対象とする全データ（ｄ１〜ｄ３）の転送が完了したため、バッファ１６１０上のデータ(ｄ３)を、全データサイズ及び順序に基づき、バッファ１６３０にコピー（移動）する（処理１６７２）。図１６（ｅ）で、次にフラッシュメモリ上の領域１６４０及び１６５０に格納してあるデータ（ｄ１，ｄ２）を、全データサイズ及び順序に基づき、それぞれバッファ１６１０及び１６２０にコピー（移動）する（処理１６７４）。
【００８４】
図１６（ｆ）で、これにより、データ（ｄ１〜ｄ３）は端末（１１０）から送られてきた順番でバッファ１６１０，１６２０，１６３０上に格納されることになり、カード２４０は、このデータ（ｄ１〜ｄ３）を用いて処理を開始してもよい（処理１６７６）。SET_LICENSE CMD及びEXT_SET_LICENSE CMDにより送られてくるデータは、データの並び順と相関のある形式で暗号化されているため、データが連続して配置されていると、データの並び替えを行う回数を減じることができるために処理効率が向上するという効果がある。特に送られてくるデータが、データ内の他の部分と相関を持つように暗号化されており、記憶装置２００（カード２４０）が受け取ったデータを復号する場合は、図１６（ｆ）のように連続的なアドレスに配置することで処理効率が高まるという効果がある。またこの方式を用いることで、SET_LICENSE CMDとEXT_SET_LICENSE CMDとの間、またはEXT_SET_LICENSE CMDとEXT_SET_LICENSE CMDとの間に他の命令が入った場合でも、データが破壊されることなく処理を継続して行えるという利点がある。またこの方式は、データ退避用のバッファを、内部ＲＡＭ等を新規に追加する場合よりも、フラッシュメモリ（２３０）やＨＤＤの一部を割り当てて利用できるため、半導体装置の製造コストが低減できるという利点がある。またフラッシュメモリやＨＤＤのような記憶装置は、一度に規定の大きさを単位として書き込みを行う特徴があるため、送られてきたデータを逐次書き込むよりも、データを一定量まとめて書き込む方が高速に処理可能になる。従って内部のＲＡＭに余裕がある場合、暗号処理のためのバッファとして占有させるよりも、できるだけ多くデータ転送のためのバッファに割り当てる場合の方が、データ転送速度が向上するため、本実施の形態の上記方式の処理を用いることにより実装効率が高まるという利点がある。
【００８５】
この仕組みは、SET_LICENSE CMDの場合に限らず、他の処理において行ってもよい。データ入力の際の管理方式に関してはSET_LICENSE CMDの方式をとり、データ出力の際の管理方式に関しては後で述べるSEND_MOVE_LICENSE CMDの方式をとればよい。
【００８６】
また、カード２４０は、前記処理１６７４（退避用領域からバッファへのデータ移動）の際に、バッファとして用意されたメモリが退避したデータよりも小さい場合にはデータの一部を当該メモリに読み出す仕組みでもよい。また、この場合、処理１６７４を行わず、バッファ上に用意した領域をメモリ上のデータとみなして処理を行ってもよい。この場合、処理１６７６でメモリアクセスが発生すると、指定したアドレスを含むブロックがバッファのメモリ上に読み出され、次に別のアドレスへのアクセス要求が発生した場合に、それが異なるブロックのデータであるならばメモリの中身を対応するバッファに書き戻した後にアクセスが発生したブロックを読み出す仕組みであってもよい。
【００８７】
前記図４で、証明書失効リストについては、格納する前に署名の確認、発行日時の確認、発行者の確認を行った後に格納または更新を行ってもよい（処理４２８）。処理４２８が終了すると、ＭＤＵ変換モジュール１６２は、カード２４０からの出力を確認し（処理４３２）、ＤＲＭエージェントモジュール１４０に通知する。ＤＲＭエージェントモジュール１４０は、処理４３２の結果を受け、トランザクションＩＤを元にコンテンツテーブルから対象となるライセンス情報の格納番号を検索する（処理４３４）。この際、アプリケーション１３０は、ライセンス情報の上書きを許可するかしないかの設定を行ってもよい（処理４３６）。ライセンス情報については通常一度書き込まれた後は消去する必要はないが、ライセンス情報を格納する領域が足りなくなったり、ライセンス情報の期限が切れて無効になったりした場合などに、上書きを指定することで既にその場所にライセンス情報があっても上書きが可能になる。ただし格納位置が一番若い空き番号の領域に格納されるなど、ＤＲＭエンティティ１６０側の判断で決定される場合には、格納位置の指定を行わなくてよい。この場合、ライセンス情報がどこに格納されたかの情報については、ステータス情報読み出し１１８０により獲得できてもよい。
【００８８】
図１８（ａ），（ｂ）は、ライセンス情報書き込みの際の処理手順について表している。図１８（ｂ）で、カード２４０は、命令であるWRITE_LICENSE CMDが入力されると（処理１８４０）、指定された格納領域のエリア情報（ライセンス情報）を読み出す（処理１８４２）。エリア情報には、ライセンス情報が既に書き込まれているかどうかの情報が書き込まれており、カード２４０は、この情報を元に、対象領域に既にライセンス情報が格納されているかどうかを確認する（処理１８４４）。未書き込みの状態であるならば（１８４４-Ｎｏ）、書き込み手続き１８４８を行ってもよい。ここで書き込み手続き１８４８とは、書き込みのための領域の消去処理やテーブルの更新準備等が該当する。また書き込み済みの場合であっても（１８４４-Ｙｅｓ）、WRITE_LICENSE CMD４４２で上書きが指定されているならば（処理１８４６−Ｙｅｓ）、書き込み手続き１８４８を行ってもよい。これに該当しない場合（１８４６−Ｎｏ）、カード２４０はエラーを返してもよい（処理１８５０）。書き込み手続き１８４８が成功した場合、ライセンス情報を書き込んで更新してもよい（処理１８５２）。このように、上書き指定をWRITE_LICENSE CMD４４２と一緒に行うことで、専用の命令を用意する必要がなくなるという効果がある。例えば専用の命令を用意する必要がある場合で、既にある領域に対して上書きが禁止されている場合、ライセンス情報転送処理の途中で領域が足りなくなった場合に、上書き禁止解除のための命令をライセンス情報転送の一連の処理に割り込ませて実行させる必要が生じる。このための処理はWRITE_LICENSE CMDのみで上書き禁止と解除が可能な場合と比べ実装コストの増加と処理速度の低下を引き起こす。
【００８９】
前記図４で、格納位置及びパラメータ（格納番号及び上書き指定のデータ４３８）は、ＭＤＵ変換モジュール１６２によってWRITE_LICENSE CMD４４２に変換される（処理４４０）。WRITE_LICENSE CMD４４２は、カード２４０に送られて処理される（処理４４４）。処理４４４としては、格納位置として指定された領域をパラメータの指定に従って調べ、ライセンス情報を書き込むかどうかの判断をする処理等が該当する。また同時に、ログ情報として、ライセンス情報に含まれるトランザクションＩＤでログ情報中のトランザクションＩＤを更新する処理と、ライセンス情報転送の状態を完了にする処理（転送終了状態書き込み）を行ってもよい。ＭＤＵ変換モジュール１６２は、処理４４４のエラーを確認し（処理４４６）、ＤＲＭエージェントモジュール１４０またはアプリケーション１３０に通知する。ＤＲＭエージェントモジュール１４０またはアプリケーション１３０は、続けて処理（ライセンス情報転送処理）を行うかどうかを判断する（処理４４８）。続けて処理を行わない場合は、ＤＲＭエージェントモジュール１４０は、CLOSE PDU４５２を生成し、相手の端末１１０に送信してもよい（処理４５０）。CLOSE PDU４５２には、メッセージＩＤ、トランザクションＩＤの情報が含まれる。
【００９０】
CLOSE PDU４５２の送信後、ＤＲＭエージェントモジュール１４０は、CONFIRM PDU４６０を待機する状態に遷移してもよい。一定時間応答がない場合、ＤＲＭエージェントモジュール１４０は、再度CLOSE PDU４５２を送信してもよい。CONFIRM PDU４６０を受信すると、ＤＲＭエージェントモジュール１４０は、ＤＲＭエンティティモジュール１６０を開放し、処理を終了してもよい（処理４６２）。
【００９１】
前記と同様に、ここで、端末１１０側で行っていたライセンス情報を獲得する処理を、端末１００側が行ってもよい。図５及び図１５は、その際の処理手順を表している。
【００９２】
図５で、ＤＲＭエージェントモジュール１４０は、OPEN PDU５１０を受信すると、利用する鍵セットとＤＲＭエンティティの選択を行ってもよい（処理５１２）。ただし既にＤＲＭエンティティモジュール１６０が選択済みであるか、一つしかないことがわかっている場合には、ＤＲＭエンティティモジュール１６０の選択を省略してもよい。またカード２４０が論理チャネルを持ち複数の処理を同時に行うことが可能な場合、利用する論理チャネルを選択してもよい。また利用可能な鍵セットが複数ある場合は、利用する鍵セットの番号を指定することにより鍵セットを選択してもよい。利用する鍵セットと論理チャネル番号（データ５１４）は、ＭＤＵ変換モジュール１６２によりSELECT_SERVICE CMD５１８に変換され（処理５１６）、カード２４０へ送られて処理される（処理５２０）。処理５２０としては、指定された鍵セットの番号に基づき鍵セットを必要ならばメモリ上に読み出す処理や、指定された論理チャネル用のメモリ領域をセットする処理などが該当する。
【００９３】
処理５２０が終了すると、ＭＤＵ変換モジュール１６２は、エラーがあるかどうかを確認し（処理５２２）、ＤＲＭエージェントモジュール１４０に通知する。ＤＲＭエージェントモジュール１４０は、OPEN PDU５１０に含まれる通信先の端末１１０から送られてきた証明書を取り出しDESTINATION CERT MDU５２６を生成する（処理５２４）。DESTINATION CERT MDU５２６は、ＭＤＵ変換モジュール１６２でVERIFY_CERT CMD５３０に変換され（処理５２８）、カード２４０に送られて処理される（処理５３２）。処理５３２としては、指定された鍵セットに含まれる証明書発行者の公開鍵を用いて証明書を検証し、正しく検証できた場合に公開鍵を取り出す操作などが該当する。
【００９４】
処理５３２が終了すると、ＭＤＵ変換モジュール１６２は、エラーの有無の確認を行い（処理５３４）、エラーがない場合には、SEND_SESSION_KEY CMD５３８を生成し（処理５３６）、カード２４０へ送信して処理させる（処理５４０）。処理５４０としては、カード２４０内の乱数発生器を用いて第一セッション鍵を生成し、検証された公開鍵を用いて第一セッション鍵を暗号化して送信する処理等が該当する。ＭＤＵ変換モジュール１６２は、カード２４０から出力された暗号化第一セッション鍵５４２を受け取ると、あわせてエラーの確認を行い、エラーがない場合、暗号化第一セッション鍵５４２をSOURCE_KEY MDU５４６へ変換し（処理５４４）、ＤＲＭエージェントモジュール１４０に送る。ＤＲＭエージェント１４０は、SOURCE_KEY MDU５４６を受け取ると、OPEN PDU５１０で指定されたコンテンツＩＤに対応したトランザクションＩＤを生成し、これとSOURCE_KEY MDU５４６からESTABLISH PDU５５０を生成して、通信相手に送信する（処理５４８）。
【００９５】
図１５で、ESTABLISH PDU５５０の送信後、ＤＲＭエージェントモジュール１４０は、GET_LICENSE PDU１４１０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、状態を保存したまま処理を一時停止してもよい。GET_LICENSE PDU１４１０は、メッセージＩＤ、トランザクションＩＤ、暗号化第二セッション鍵、ライセンス情報リストの情報が含まれる。
【００９６】
ＤＲＭエージェント１４０は、GET_LICENSE PDU１４１０を受け取ると、GET_LICENSE PDU１４１０中の第一セッション鍵で暗号化された第二セッション鍵と証明書失効リストの更新日時と通信先ＤＲＭエンティティの個別公開鍵と、ライセンス情報リストとを用いて、DESTINATION_KEY MDU１４１４を生成する（処理１４１２）。ＭＤＵ変換モジュール１６２は、DESTINATION_KEY MDU１４１４を受け取ると、その中の第一セッション鍵で暗号化された第二セッション鍵と証明書失効リストの更新日時と通信先ＤＲＭエンティティの個別公開鍵とを用いて、ESTABLISH_MOVE_SESSION CMD１４１８を生成し（処理１４１６）、カード２４０に送信して処理させる（処理１４２０）。処理１４２０としては、第一セッション鍵で暗号化されたデータを復号して第二セッション鍵と証明書失効リストの更新日時と通信先ＤＲＭエンティティの個別公開鍵を取り出す操作などが該当する。証明書失効リストの更新日時が存在しているならば、対応する証明書失効リストを検索し、その日時と比較する。もしも自分の持っているリストのほうが新しければ、SEND_MOVE_LICENSE CMD１４４０を用いて送るために証明書失効リストの転送の準備を行う。通信先ＤＲＭエンティティの個別公開鍵が含まれている場合は、メモリ上にセットする。処理１４２０が終了すると、ＭＤＵ変換モジュール１６２は、エラーの有無を調べ（処理１４２２）、エラーがない場合、READ_LICENSE CMD１４３２を生成する。この際、アプリケーション１３０は、GET_LICENSE PDU１４１０に含まれるライセンス情報リストを元にライセンス情報の転送方法を指定する（処理１４２６）。ＤＲＭエージェントモジュール１４０は、トランザクションＩＤを元にコンテンツテーブルから対象となるライセンス情報の格納番号を検索し（処理１４２８）、これとライセンス情報の指定をあわせたデータ（読み出し方法指定と格納番号）１４３０を生成する。READ_LICENSE CMD１４３２は、このデータ１４３０を元に生成される（処理１４２４）。ここで指定される読み出し方法は、GET_LICENSE PDU１４１０に含まれるライセンス情報リストの指定に従わず、予め決められた方法を採用してもよい。予め転送方法が定められている場合、ライセンス情報リストがGET_LICENSE PDU１４１０に含まれていなくてもよい。逆にサポートされていないライセンス情報リストが送られてきた場合、ＤＲＭエージェンモジュール１４０またはアプリケーション１３０は、ライセンス情報の転送処理を許可せず、処理を終了してもよいし、正しいアクセス条件が送られてくるまでエラーを返す仕組みであってもよい。
【００９７】
図５及び図１５で行われるライセンス情報の転送処理において、転送方法は、移動処理、コピー（複製）処理、貸し出し処理、返却処理に分けられる。前記移動処理とは、ライセンス情報をそのまま相手に渡す操作であり、移動元からは移動した分だけのライセンス（権利）が減少し、移動先でその減少した分だけライセンス情報が増加する方式である。前記移動処理において移動可能な回数が定められていてもよい。前記コピー処理は、コピー元のライセンス（権利）を保持したまま、コピー元のライセンス（権利）の全部もしくは一部を複写した情報が転送される方式である。前記コピー処理においてコピー可能な回数が定められていてもよい。前記貸し出し処理は、前記コピー処理の一種であり、貸し出し元のライセンス（権利）を保持したまま、貸し出し元のライセンス（権利）の全部もしくは一部を複写した情報が貸し出し先に転送される方式であるが、貸し出し元は貸し出した情報を保持しておき、貸し出し中は同じライセンス情報を他に貸し出す際に制限が発生する方式である。例えば貸し出し上限数が３回に設定されたライセンス情報は、他のＤＲＭエンティティに３回ライセンス情報を貸し出し可能であるが、３回貸し出してしまうと次の貸し出しは行えなくなる。ただし、貸し出したＤＲＭエンティティによりライセンス情報が返却されると、返却された分だけ再びライセンス情報の貸し出しが可能になる。貸し出しを行った際に、貸し出し中は元のライセンス情報が使えない仕組みであってもよいし、貸し出した先でのみライセンス情報の利用が可能であってもよい。ただし、貸し出したライセンス情報を返却する際は、返却処理を用いる。転送方法のどれを利用するかについては、転送元がライセンス情報リストによらず選択してもよい。すなわち転送先のＤＲＭエージェントは、転送処理の種類を明示的に選択できなくてもよい。またＤＲＭエージェントは、通信相手を識別して利用できる転送方式に制限を設けてもよい。この制限は、通信手段や通信先のＩＰアドレスやＭＡＣアドレスを元にして、ローカルなＩＰアドレスでのネットワーク転送は可能だが、グローバルなＩＰアドレスに対してのコピーや移動処理を禁止したり、予め登録してあるＭＡＣアドレスのみに転送したり、逆に指定されたＭＡＣアドレスへの転送を禁止したりする操作等が該当する。カード２４０では、移動処理、コピー処理、貸し出し処理、返却処理に対して識別番号が割り振られており、カード２４０は図１４のREAD_LICENSE１４３２を受け取ると、指定された識別番号に従い処理を行う。
【００９８】
図１８（ａ）は、このときの処理手順を表している。READ_LICENSE CMD１４３２が入力されると（処理１８１０）、カード２４０は、メモリ上にライセンス情報を読み出す（処理１８１２）。次に命令のパラメータで指定されている処理に従い処理を行う。ここで処理１８１４、処理１８１８、処理１８２２、処理１８２６の処理順は異なっていてもよい。パラメータで移動処理が指定された場合（処理１８１４）、ライセンス情報で移動処理が許諾されているかを調べ、許諾されているならば制限を満たすように移動手続きの処理を行う（処理１８１６）。ここで満たされるべき制限とは、移動可能回数による制限、移動するライセンス情報の内容に関する制限などが該当する。移動可能回数に制限がある場合、移動するライセンス情報の移動可能回数を１回減じたのちに転送のためのデータ保存領域にライセンス情報を格納し、特定のパラメータの送出を制限する等の内容に関する制限がある場合、送出するライセンス情報はこの制限に従い設定される。
【００９９】
またコピー処理が指定された場合（処理１８１８）、ライセンス情報でコピー処理が許諾されているかを調べ、許諾されているならば制限を満たすように複製手続きの処理を行う（処理１８２０）。ここで満たされるべき制限とは、コピー可能回数による制限、コピーするライセンス情報の内容に関する制限などが該当する。コピー可能回数に制限がある場合、コピーするライセンス情報のコピー可能回数を１回減じたのちに転送のためのデータ保存領域にライセンス情報を複製し、特定のパラメータの送出を制限する等の内容に関する制限がある場合、送出するライセンス情報はこの制限に従い設定される。この処理には第２世代の複製を禁止するために、もとのライセンス情報に設定されたコピー可能回数に関わらずコピー可能回数を０にするか、許諾情報としてコピーを禁止するなどの処理が該当する。
【０１００】
また貸し出し処理が指定された場合（処理１８２２）、ライセンス情報で貸し出し処理が許諾されているかを調べ、許諾されているならば制限を満たすように貸し出し手続きの処理を行う（処理１８２４）。ここで満たされるべき制限とは、貸出し可能回数による制限、貸出しするライセンス情報の内容に関する制限などが該当する。貸出し可能回数に制限がある場合、貸出しするライセンス情報の貸出し可能回数を１回減じたのちに転送のためのデータ保存領域にライセンス情報を複製し、特定のパラメータの送出を制限する等の内容に関する制限がある場合、送出するライセンス情報はこの制限に従い設定される。この処理には第２世代の貸出したライセンス情報を元のライセンス情報と区別するために貸し出されたことを示す情報を付加したり、貸出元と貸出先でどの端末に対して貸し出し処理が発生したかの情報を記録しておく処理や、貸し出し後のライセンス情報の移動やコピーを禁止するために、これらの制限回数に関わらず制限回数を０にするか、許諾情報としてこれらの処理を禁止するなどの処理が該当する。
【０１０１】
また返却処理が指定された場合（処理１８２６）、そのライセンス情報が貸し出されたものであるかどうかを調べ、貸し出されたものであるならば制限を満たすように返却手続きの処理を行う（処理１８２８）。ここで満たされるべき制限とは、返却先の端末やライセンス情報に関する制限などが該当する。返却処理は、特定の端末か、特定のライセンス情報を有する端末に対して行われる操作であるため、返却する際に通信相手の端末が返却先として適しているかどうかを予め判断しておいてもよい。また返却先が貸し出したライセンス情報であることを認識可能な情報を返却処理で移動するライセンス情報に含ませておくことで、返却先で判断する仕組みであってもよい。貸し出したライセンス情報であることを認識するための情報としては、貸出し元の装置の識別番号や、貸出し元のライセンス情報の識別番号などが該当する。これらの情報は正しく貸し出し処理が行われていない限り貸出先に転送されない情報であるため、この情報が含まれていることでライセンス情報転送元はそれが貸し出したライセンス情報であることを認識することができる。上記のどれにも該当しないならば、エラーを返してもよい（処理１８３０）。処理１８１６、処理１８２０、処理１８２４、処理１８２８が行われると、その処理結果に基づき、カード２４０は、ライセンス情報を更新し（処理１８３２）、ライセンス情報を出力、送信してもよい（処理１８３４）。以上の４つの処理は、ライセンス情報を記憶装置２００から読み出し、転送のためのメモリ領域に格納する間に違いがあるだけなので、その他の処理は共通化することが可能である。従って複数の命令に分けることなく、１つの命令として処理することで、処理内容の共通化が図れるという効果がある。
【０１０２】
図１４で、カード２４０は、READ_LICENSE１４３２を受け取って処理する（処理１４３４）。処理１４３４としては、指定されたライセンス情報をメモリに読み出し、そのライセンス情報の範囲で指定された転送方法を用いた処理が可能かどうかを判断する操作等が該当する。処理１４３４が終了すると、ＭＤＵ変換モジュール１６２は、処理結果を受け取り次の命令が発行可能かどうかを判断してもよい（処理１４３６）。命令が発行可能な場合、SEND_MOVE_LICENSE CMD１４４０を発行してもよい（処理１４３８）。カード２４０は、SEND_MOVE_LICENSE CMD１４４０を受け取るとデータ処理行う（処理１４４２）。処理１４４２としては、ライセンス情報を指定された転送方式にあわせて全部またはその一部を抽出し、必要ならばESTABLISH_MOVE_SESSION CMD１４１８で受け取った通信先ＤＲＭエンティティの個別公開鍵で暗号化し、それに処理１４２０の結果として送出すべき証明書失効リストが存在するならば暗号化されたライセンス情報に連結し、連結後のデータを処理１４２０で抽出した第二セッション鍵で暗号化して、送出する処理などが該当する。また同時にログ情報に送出したライセンス情報のトランザクションＩＤを格納し、ライセンス情報送出の状態を完了に遷移させてもよい。ＭＤＵ変換モジュール１６２は、カード２４０より出力された暗号化ライセンス情報１４４４を受け取ると、エラーの確認を行い、エラーがない場合、暗号化ライセンス情報１４４４をLICENSE MDU１４４８に変換してもよい（処理１４４６）。またこのとき、送出された暗号化ライセンス情報の長さを調べ、送出されたデータがこれに満たない場合は、EXT_SEND_MOVE_LICENSE CMDを発行し継続するデータを読み出してもよい。この場合、処理１４４２でのログ情報への結果の反映は、全データがEXT_SEND_MOVE_LICENSEにより出力された後に行う。また処理１４４２で送出するデータが転送ブロックサイズよりも大きいことがわかった場合は、残りのデータをセキュリティ処理のためのバッファに格納しておくか、記憶装置上に一時的に格納しておいてもよい。この情報はデータ送出後に消去されてもよい。全データが送出された状態でEXT_SEND_MOVE_LICENSE CMDが発行された場合、カード２４０はエラーを返してもよい。
【０１０３】
図１７（ａ）〜（ｅ）は、このときのカード２４０内の動作の詳細を説明したものである。図１６と同様に、記憶領域である１７１０，１７２０，１７３０は、カード２４０上のバッファを表しており、このバッファはシングル転送処理で一度に転送可能なデータサイズに対応した同じ大きさを持つ。図１７（ａ）で、カード２４０は、SEND_MOVE_LICENSE CMD１４４０の入力による処理が終了すると（処理１６６０）、入力されたデータの全体のサイズを調べ、フラッシュメモリチップ２３０のフラッシュメモリ上のカード２４０が管理しユーザによる操作が行えない領域上に退避用領域を確保する（処理１７６２）。退避のために利用できるフラッシュメモリのサイズより出力データのサイズが大きい場合はエラーを返してもよい。ここでは、バッファ二つ分を超え、かつ三つ分以下のサイズのデータ（ｄ１〜ｄ３）を送る場合について説明する。
【０１０４】
図１７（ｂ）で、カード２４０は、今回の処理で一度には送れないバッファ１７２０，１７３０のデータ（ｄ２，ｄ３）を、それぞれ退避用領域１７４０，１７５０に退避し（処理１７６４）、図１７（ｃ）で、バッファ１７１０上のデータを出力する（処理１７６６）。図１７（ｄ）で、次にカード２４０は、EXT_SEND_MOVE_LICENSE CMDを受け取ると、退避用領域１７４０上のデータ（ｄ２）をバッファ１７１０にコピー（移動）し（処理１７７２）、バッファ１７１０上のデータ（ｄ２）を出力する（処理１７７０）。図１７（ｅ）で、さらにカード２４０は、EXT_SEND_MOVE_LICENSE CMDを受け取ると、退避用領域１７５０上のデータ(ｄ３)をバッファ１７１０にコピー（移動）し（処理１７７６）、バッファ１７１０上のデータ（ｄ３）を出力する（処理１７７４）。
【０１０５】
この方式を用いることで、SEND_MOVE_LICENSE CMDとEXT_SEND_MOVE_LICENSE CMDとの間、またはEXT_SEND_MOVE_LICENSE CMDとEXT_SEND_MOVE_LICENSE CMDとの間に他の命令が入った場合でも、データが破壊されることなく処理が継続して行えるという利点がある。またこの方式はデータ退避用のバッファを、内部ＲＡＭ等を新規に追加する場合よりも、フラッシュメモリ（２３０）やＨＤＤの一部を割り当てて利用できるため、半導体装置の製造コストが低減できるという利点がある。
【０１０６】
ここで、カード２４０が、EXT_SEND_MOVE_LICENSE CMDをサポートしない場合で、送るべきデータがライセンス情報に付加して送信する証明書失効リストが複数あるためにブロックサイズを超えてしまう場合がある。このとき証明書失効リストを１つ加えた状態でのデータサイズがブロックサイズ以下になることがわかっている場合、送出する証明書失効リストを選択して送る方式であってもよい。この場合、複数ある中で送るべき証明書失効リストは、現在利用されている鍵セットに対応した証明書失効リスト、より古くからカード２４０に格納されている鍵セットの証明書失効リストの順で優先付けして送ることが望ましい。この場合、現在利用されている鍵セットに対応した証明書失効リストを優先して送信することで、選択されているサービスを利用するライセンス情報の転送処理で必要となる証明書失効リストの転送が可能となるという効果がある。また古くからカード２４０に格納されている鍵セットを選ぶことにより、より広く使われている可能性の高い鍵セットから順に失効した鍵を登録していくことができるという効果がある。この結果、一度の転送では複数ある新しい証明書失効リストを転送できないが、何度も転送処理を繰り返している間に転送先のＤＲＭエンティティモジュール１６０の証明書失効リストをより新しいものに更新できるという効果がある。
【０１０７】
図１４で、ＤＲＭエージェントモジュール１４０は、LICENSE MDU１４４８を受け取ると、RES_GET_LICENSE PDU１４５２に変換し、通信先に送信してもよい（処理１４５０）。RES_GET_LICENSE PDU１４５２の送信後、ＤＲＭエージェントモジュール１４０は、図１５のCLOSE PDU１５７０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、状態を保存したまま処理を一時停止してもよい。図１５で、ＤＲＭエージェントモジュール１４０は、CLOSE PDU１５７０を受信すると、ＤＲＭエンティティを開放し（処理１５７２）、CONFIRM PDU１５７６を生成し（処理１５７４）、送信してもよい。
【０１０８】
図３及び図４のライセンス情報転送処理においてライセンス情報転送処理が失敗した場合、タイミングによっては送出元のライセンス情報が減少しているにも関わらず、送出先のライセンス情報が増加していない状態になる恐れがある。このとき、単に転送処理を最初からやり直すだけでは、減少したライセンス情報を復元させることはできない。ＵＤＡＣｖ２では、このような場合にライセンス情報を復元し、転送再開させるためのプロトコルを定義している。しかしＵＤＡＣｖ２ではＤＲＭエージェントとＤＲＭエンティティの接続方法、並びにＤＲＭエンティティが分離可能であり、また複数接続可能な記憶装置である場合の実装方式については定義されていない。本実施の形態では、ＭＤＵ変換モジュール１６２を用いてＴＲＭモジュール１６４への入出力形式に変換することにより、互換性及び接続性が向上するという効果がある。図６はこの際の処理手順を表している。
【０１０９】
図６で、アプリケーション１３０は、接続が切断した場合、ＤＲＭエージェントモジュール１４０に対して再接続要求を行ってもよい（処理６１０）。ただしこの処理６１０は、接続が中断したことをＤＲＭエージェントモジュール１４０が検知することにより行われる仕組みであってもよい。ＤＲＭエージェントモジュール１４０は、REOPEN PDU６１４を生成して送信する（処理６１２）。REOPEN PDU６１４は、メッセージＩＤ、トランザクションＩＤなどの情報が含まれる。
【０１１０】
REOPEN PDU６１４の送信後、ＤＲＭエージェントモジュール１４０は、RECOVER PDU６３０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェント１４０は、再びREOPEN PDU６１４を送信してもよい。RECOVER PDU６３０は、メッセージＩＤ、トランザクションＩＤ、暗号化第三セッション鍵などの情報が含まれる。
【０１１１】
ＤＲＭエージェントモジュール１４０は、RECOVER PDU６３０を受信すると、RECOVER PDU６３０に含まれるトランザクションＩＤ及び暗号化第三セッション鍵からRECOVER_KEY MDU６３４を生成する（処理６３２）。ＭＤＵ変換モジュール１６２は、RECOVER_KEY MDU６３４に含まれるトランザクションＩＤと公開鍵で暗号化された第三セッション鍵の情報から、カード２４０への入力に適したRECOVER_SESSION CMD６３８を生成し（処理６３６）、カード２４０に送信して処理する（処理６４０）。処理６４０としては、入力された公開鍵で暗号化された第三セッション鍵を、対応する個別秘密鍵で復号する操作と、トランザクションＩＤをメモリに格納する操作等が該当する。処理６４０が終了すると、ＭＤＵ変換モジュール１６２は、その結果を受けてエラーが発生しているかを確認し（処理６４２）、エラーがない場合は、SEARCH_LICENSE CMD６４６を生成し（６４４）、カード２４０に入力して処理させる（処理６４８）。処理６４８としては、RECOVER_SESSION CMD６３８で入力したトランザクションＩＤを用いて、これに一致するトランザクションＩＤを持つライセンス情報を検索する処理が該当する。処理６４８が終了すると、ＭＤＵ変換モジュール１６２は、終了通知を受け取りエラーの状態を確認する（処理６５０）。エラーがない場合、ＭＤＵ変換モジュール１６２は、SEND_HASHED_LOG CMD６５４を生成し（処理６５２）、カード２４０に入力して処理する（処理６５６）。処理６５６としては、ログ情報中に含まれるトランザクションＩＤと見つかったトランザクションＩＤとが同じかどうかを判断し、同じ場合には前のセッションで利用していた第２セッション鍵とトランザクションＩＤとライセンス情報転送の状態と第三セッション鍵のハッシュ値を計算し、これにトランザクションＩＤとライセンス情報の状態を連結した情報を送信する処理等が該当する。ＭＤＵ変換モジュール１６２は、エラーの確認にあわせて、トランザクションＩＤとライセンス情報転送の状態とハッシュ値からなるデータ６５８からLOG MDU６６２を生成する（処理６６０）。ＤＲＭエージェント１４０は、LOG MDU６６２を受け取るとLOG PDU６６６に変換し、通信相手に転送する（処理６６４）。LOG PDU６６６は、メッセージＩＤ、トランザクションＩＤ、状態、ハッシュ値などの情報が含まれる。
【０１１２】
LOG PDU６６６の送信後、ＤＲＭエージェントモジュール１４０は、ACK PDU６７０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、REOPEN PDU６１４を送信してもよい。ＤＲＭエージェント１４０は、ACK PDU６７０を受け取ると、ACK PDU６７０に含まれるトランザクションＩＤからTRANSACTION_ID MDU６７４を生成し、ＤＲＭエンティティ１６０に送ってもよい（処理６７２）。ＭＤＵ変換モジュール１６２は、TRANSACTION_ID MDU６７４を受け取ると、ESTABLISH_WRITE_SESSION CMD３７８を生成してもよい（処理６７６）。これ以降の処理は、前記図３の処理３７４以降と同等の処理であってもよい。
【０１１３】
図７は、図５のライセンス情報転送処理が失敗した場合のライセンス情報転送の再接続処理を表している。ＤＲＭエージェントモジュール１４０は、REOPEN PDU７１０を受信すると、REOPEN PDU７１０に含まれるトランザクションＩＤを用いてTRANSACTION_ID MDU７１４を生成する(処理７１２)。ＭＤＵ変換モジュール１６２は、TRANSACTION_ID MDU７１４を受け取ると、RECOVER_MOVE_SESSION CMD７１８を生成し（処理７１６）、カード２４０に送信して処理させてもよい（処理７２０）。ここで処理７２０としては、ログ情報に含まれる、前の通信で利用していたトランザクションＩＤを取り出し、同じく前の通信で利用していた通信相手のＤＲＭエンティティの個別公開鍵を取り出し、乱数発生器を用いて第三セッション鍵を生成し、生成した第三セッション鍵を通信相手のＤＲＭエンティティの個別公開鍵で暗号化し、これとトランザクションＩＤを連結して出力する処理等が該当する。処理７２０が終了すると、ＭＤＵ変換モジュール１６２は、データ（トランザクションＩＤと暗号化第三セッション鍵）７２２を受け取り、エラーがないことを確認して、RECOVER_KEY MDU７２６を生成する（処理７２４）。ＤＲＭエージェント１４０は、RECOVER_KEY MDU７２６を受け取ると、RECOVER PDU７３０を生成し、通信先に送信する（処理７２８）。RECOVER_KEY MDU７２６は、メッセージＩＤ、トランザクションＩＤ、暗号化第三セッション鍵などの情報が含まれる。
【０１１４】
RECOVER PDU７３０の送信後、ＤＲＭエージェントモジュール１４０は、LOG PDU７５０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、状態を保存したまま処理を一時停止してもよい。
【０１１５】
ＤＲＭエージェントモジュール１４０は、LOG PDU７５０を受信すると、LOG PDU７５０からLOG MDU７５４を生成する（処理７５２）。LOG MDU７５４は、第二セッション鍵とトランザクションＩＤとライセンス情報転送の状態と第三セッション鍵のハッシュ値と、トランザクションＩＤとライセンス情報の状態を連結した情報から構成される。LOG MDU７５４は、ＭＤＵ変換モジュール１６２によってVERIFY_HASHED_LOG CMD７５８に変換され（処理７３６）、カード２４０に送信されて処理される（処理７６０）。処理７６０としては、RECOVER_MOVE_SESSION CMD７１８で受け取ったトランザクションＩＤとVERIFY_HASHED_LOG CMD７５８で受け取ったトランザクションＩＤとを比較し、一致した場合、このトランザクションＩＤと、前記処理７２０において乱数生成器で発生させた第三セッション鍵、ログ情報に格納された第二セッション鍵と送られてきたライセンス情報の状態のハッシュ値を計算し、それをVERIFY_HASHED_LOG CMD７５８で受け取ったハッシュ値と比較する。これが一致している場合、ライセンス情報の状態に従い、トランザクションＩＤに一致するライセンス情報の復活処理を行う。例えば転送先ＤＲＭエンティティでライセンス情報が未転送の状態で、転送元ＤＲＭエンティティのライセンス情報が転送済みの状態となっている場合、転送元ＤＲＭエンティティのライセンス情報を未転送の状態に戻してもよい。この結果は、ステータス情報の確認を行うことによって獲得してもよい。これによりライセンス情報が復活した場合、ステータス情報にそのライセンス情報の番号がセットされる。ＭＤＵ変換モジュール１６２は、処理７６０のエラーを確認し（処理７６２）、処理が成功している場合、SEND_SCSR CMD７６６を生成し（処理７６４）、カード２４０に送って処理させてもよい（処理７６８）。処理７６８としては、復活したライセンス情報の番号を送信する処理などが該当する。ＭＤＵ変換モジュール１６２は、エラーがないことを確認し、ライセンス情報番号をアプリケーション１３０またはＤＲＭエージェントモジュール１４０が認識可能な形式に変換する（処理７７２）。ＤＲＭエージェントモジュール１４０は、ライセンス情報番号７７４を受け取ると、コンテンツテーブルから対象となるライセンス情報を検索して状態を更新し、ACK PDU７７８を生成して通信先に送信してもよい（処理７７６）。
【０１１６】
ACK PDU７７８の送信後、ＤＲＭエージェントモジュール１４０は、GET_LICENSE PDU７９０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、状態を保存したまま処理を一時停止してもよい。ＤＲＭエージェントモジュール１４０は、GET_LICENSE PDU７９０を受け取ると、図１４の処理１４１２以降の処理を行ってもよい。
【０１１７】
ライセンス情報転送処理において、ライセンス情報を利用するために一時的にデコーダ（１７０）上に読み出したい場合がある。この際にデコーダに一度読み出した後にＤＲＭエンティティに書き戻すことなく、読み出した後に破棄することを条件に読み出しを許可するプロトコルを用意していてもよい。
【０１１８】
図８は、ライセンス情報を一時的に読み出して利用する際の処理手順である。この処理は、図５の処理５４８に継続して行うものとする。ＤＲＭエージェントモジュール１４０は、GET_LICENSE PDU８１０を受け取ると、GET_LICENSE PDU８１０中の第一セッション鍵で暗号化された第二セッション鍵と、ライセンス情報リストを用いてDESTINATION_KEY MDU８１４を生成する（処理８１２）。ＭＤＵ変換モジュール１６２は、DESTINATION_KEY MDU８１４を受け取ると、その中の第一セッション鍵で暗号化された第二セッション鍵を用いてESTABLISH_PLAY_SESSION CMD８１８を生成し（処理８１６）、カード２４０に送信して処理する（処理８２０)。処理８２０としては、第一セッション鍵で暗号化されたデータを復号して第二セッション鍵を取り出す操作などが該当する。処理が終了すると、ＭＤＵ変換モジュール１６２は、エラーの有無を調べ（処理８２２）、エラーがない場合、READ_LICENSE CMD８３２を生成する。この際、アプリケーション１３０は、GET_LICENSE PDU８１０に含まれるライセンス情報リストを元にライセンス情報の転送方法を指定する（処理８２６）。ＤＲＭエージェントモジュール１４０は、トランザクションＩＤを元にコンテンツテーブルから対象となるライセンス情報の格納番号を検索し、これとライセンス情報の指定をあわせたデータ８３０を生成する（処理８２８）。READ_LICENSE CMD８３２は、このデータ８３０を元に生成される。ここで指定される読み出し方法については、GET_LICENSE PDU８１０に含まれるライセンス情報リストの指定に従わず、予め決められた方法を採用してもよい。予め転送方法が定められている場合、ライセンス情報リストがGET_LICENSE PDU８１０に含まれていなくてもよい。逆にサポートされていないライセンス情報リストが送られてきた場合、ＤＲＭエージェンモジュール１４０またはアプリケーション１３０は、ライセンス情報の転送処理を許可せず、処理を終了してもよいし、正しいアクセス条件が送られてくるまでエラーを返す仕組みであってもよい。カード２４０は、READ_LICENSE CMD８３２を受け取ると、格納番号のライセンス情報を、指定された読み出し方法に従い読み出し可能かどうかを判断し、可能である場合に読み出してメモリにセットしてもよい。
【０１１９】
ライセンス情報の読み出し方法としては、読み出し処理とエクスポート処理等が該当する。前記読み出し処理は、一時的にライセンス情報を読み出す処理であり、利用後にライセンス情報を読み出し先に残さない処理である。前記読み出し処理は、回数により実行回数が制限されていてもよい。前記エクスポート処理は、他のＤＲＭモジュールへライセンス情報を転送するために読み出される処理である。エクスポート後、ＤＲＭエンティティにライセンス情報が残るかどうかは、ライセンス情報内のフラグをＤＲＭエンティティが判断して行ってもよい。読み出し方法が読み出し処理であるかエクスポート処理であるかの判断については、ライセンス情報転送元のＤＲＭエージェントまたはアプリケーションが行う。すなわち、エクスポート処理でのライセンス情報読み出し先は、ライセンス情報転送元に存在するＤＲＭ変換機能付きデコーダＤＲＭエンティティであることが望ましい。また同様に、ライセンス情報を読み出す番号の指定も、ライセンス情報転送元のＤＲＭエージェント又はアプリケーションが行うことが望ましい。前記エクスポート処理は、回数により実行回数が制限されていてもよい。以上の２つの処理も、ライセンス情報を記憶装置２００から読み出して転送のためのメモリ領域に格納する間に違いがあるだけなので、その他の処理は共通化することが可能である。従って複数の命令に分けることなく、１つの命令として処理することで、処理内容の共通化が図れるという効果がある。
【０１２０】
ライセンス情報が転送可能である場合で、ライセンス情報に回数制限が存在する場合、その回数を減じる。処理が終了すると、ＭＤＵ変換モジュール１６２は、エラーの状態を確認する（処理８３６）。エラーがない場合、ＭＤＵ変換モジュール１６２は、SEND_PLAY_LICENSE CMD８４０を生成し（処理８６６）、カード２４０に送って処理させる（処理８４２）。処理８４２としては、転送可能なライセンス情報を第二セッション鍵で暗号化して送出する処理等が該当する。処理８４２が終了すると、ＭＤＵ変換モジュールは、エラーを確認し、エラーがない場合には、出力された暗号化ライセンス情報８４４をLICENSE MDU８４８に変換する（処理８４６）。ＤＲＭエージェント１４０は、LICENSE MDU８４８を受け取ると、データよりRES_GET_LICENSE PDU８５２を生成して通信相手に送信してもよい（処理８５０）。RES_GET_LICENSE PDU８５２は、メッセージＩＤ、暗号化ライセンス情報などの情報が含まれる。
【０１２１】
RES_GET_LICENSE PDU８５２の送信後、ＤＲＭエージェントモジュール１４０は、CLOSE PDU８７０を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、状態を保存したまま処理を一時停止してもよい。ＤＲＭエージェントモジュール１４０は、CLOSE PDU８７０を受信すると、ＤＲＭエンティティモジュール１６０を開放し（処理８７２）、CONFIRM PDU８７６を生成し送信してもよい（処理８７４）。CONFIRM PDU８７６は、メッセージＩＤ、トランザクションＩＤなどの情報が含まれる。
【０１２２】
ライセンス情報転送処理において、複数のライセンス情報の転送処理をまとめて行いたい場合、ＤＲＭエージェントは、２回目以降のライセンス情報の転送処理において、認証処理を省略してもよい。ライセンス情報転送処理において、ライセンス情報はコンテンツＩＤにより指定され、対応するトランザクションＩＤにより管理される。従って、コンテンツＩＤとトランザクションＩＤの情報は、一対一で管理されていることが望ましい。また、新規のライセンス情報の転送処理の要求は、直前のトランザクションの終了処理と兼ねて行うことで、通信量の低減及び速度向上の効果が期待できる。従って、ライセンス情報転送処理において図１５における処理１５７２から処理１５７４までの処理は、図１４における処理１４７２から処理１４７４までの処理と置き換え、また図４における処理４５０から処理４６２までの処理は、図１３における処理１３５０から処理１３６０の処理に置き換わる。またライセンス情報読み出し処理において図８の処理８７２から処理８７４までの処理は、図１２における処理１２７２から処理１２７４の処理に置き換わる。
【０１２３】
図１４では、ＤＲＭエージェントモジュール１４０は、REPEAT PDU１４７０を受け取ると、前のトランザクションに対する処理１５７２の内容に加え、REPEAT PDU１４７０に含まれるコンテンツＩＤに対応する新規トランザクションＩＤの生成を行う（処理１４７２）。この処理１４７２が終わると、ＤＲＭエージェントモジュール１４０は、REPEAT PDU１４７０に含まれるメッセージＩＤとトランザクションＩＤ、処理１４７２で生成した新しいトランザクションＩＤを用いて、RES_REPEAT PDU１４７６を生成し、通信相手に送信してもよい（処理１４７４）。RES_REPEAT PDU１４７６は、メッセージＩＤ、トランザクションＩＤ、及び新トランザクションＩＤの情報が含まれる。この後、ＤＲＭエージェントモジュール１４０は、GET_LICENSE PDU１４１０を待機する状態に移行してもよい。
【０１２４】
図１３において、処理１３１２から処理１３４８の処理は、図４における処理４１２から処理４４８までと同等の処理である。処理４４８においてアプリケーション１３０が続けて転送を行うと判断した場合（処理１３４８）、アプリケーション１３０は、新規に獲得するコンテンツのＩＤをＤＲＭエージェントモジュール１４０に指定し、ＤＲＭエージェントモジュール１４０は、新規にメッセージＩＤを生成し、生成したメッセージＩＤ、今まで利用していたトランザクションＩＤ、新規に指定されたコンテンツＩＤを用いて、REPEAT PDU１３５２を生成し、通信相手に送信してもよい（処理１３５０）。
【０１２５】
REPEAT PDU１３５２の送信後、ＤＲＭエージェントモジュール１４０は、RES_REPEAT PDU１３５４を待機する状態に遷移する。この状態がある一定の時間以上続いた場合、ＤＲＭエージェントモジュール１４０は、状態を保存したまま処理を一時停止してもよい。ＤＲＭエージェント１４０は、RES_REPEAT PDU１３５４を受信すると、直前のトランザクションが完了したとみなし、送られてきた新トランザクションＩＤを用いて新規トランザクションを開始する。ＤＲＭエージェントモジュール１４０は、TRANSACTION_ID MDU１３５８を生成し、ＭＤＵ変換モジュール１６２に送ってもよい（処理１３５６）。ＭＤＵ変換モジュール１６２は、送られてきたTRANSACTION_ID MDU１３５８を元にSTART_TRANSACTION CMD１３６２を生成してもよい（処理１３６０）。この処理１３６０は、図３の処理３６８と同等の処理であってもよく、これ以降、図３の処理３７２以降の処理を行ってもよい。
【０１２６】
図１２では、ＤＲＭエージェントモジュール１４０は、REPEAT PDU１２７０を受け取ると、前のトランザクションに対する処理８７２の内容に加え、REPEAT PDU１２７０に含まれるコンテンツＩＤに対応する新トランザクションＩＤの生成を行う（処理１２７２）。この処理が終わると、ＤＲＭエージェントモジュール１４０は、REPEAT PDU１２７０に含まれるメッセージＩＤとトランザクションＩＤ、処理１２７２で生成した新トランザクションＩＤを用いてRES_REPEAT PDU１２７６を生成し、通信相手に送信してもよい（処理１２７４）。この後、ＤＲＭエージェントモジュール１４０は、GET_LICENSE PDU８１０を待機する状態に移行してもよい。
【０１２７】
以上説明したように、本実施の形態によれば、端末（１００，１１０）はライセンス情報の転送処理を行う記憶装置２００がカード２４０のように分離接続可能である場合や、端末（１００，１１０）と記憶装置２００とが一対多、多対一、多対多で接続される場合であっても、記憶装置２００の種別、機能、状態、格納されたライセンス情報の種別を獲得して効率的に処理することが可能となる。
【０１２８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【０１２９】
本発明は、コンテンツデータ及びそのライセンス情報を扱う機器やシステムなどに利用可能である。
【図面の簡単な説明】
【０１３０】
【図１】本発明の一実施の形態におけるシステムの全体の構成を示す図である。
【図２】本発明の一実施の形態のシステムにおいて、記憶装置の構成を示す図である。
【図３】本発明の一実施の形態のシステムにおいて、ライセンス情報転送先の認証処理のフローチャートである。
【図４】本発明の一実施の形態のシステムにおいて、ライセンス情報転送先の転送処理のフローチャートである。
【図５】本発明の一実施の形態のシステムにおいて、ライセンス情報転送元の認証処理のフローチャートである。
【図６】本発明の一実施の形態のシステムにおいて、ライセンス情報転送先の再接続処理のフローチャートである。
【図７】本発明の一実施の形態のシステムにおいて、ライセンス情報転送元の再接続処理のフローチャートである。
【図８】本発明の一実施の形態のシステムにおいて、ライセンス情報転送元の読み出し処理のフローチャートである。
【図９】本発明の一実施の形態のシステムにおいて、記憶装置のセキュリティ機能の一覧を示す図である。
【図１０】本発明の一実施の形態のシステムにおいて、記憶装置の命令フォーマットを示す図である。
【図１１】本発明の一実施の形態のシステムにおいて、記憶装置のセキュリティ機能の処理のフローチャートである。
【図１２】本発明の一実施の形態のシステムにおいて、ライセンス情報転送元の読み出し処理における連続ライセンス情報転送時のフローチャートである。
【図１３】本発明の一実施の形態のシステムにおいて、ライセンス情報転送先の転送処理における連続ライセンス情報転送時のフローチャートである。
【図１４】本発明の一実施の形態のシステムにおいて、ライセンス情報転送元の転送処理における連続ライセンス情報転送時のフローチャートである。
【図１５】本発明の一実施の形態のシステムにおいて、ライセンス情報転送元の転送処理のフローチャートである。
【図１６】本発明の一実施の形態のシステムにおいて、記憶装置にデータを分割入力する際の処理手順を表す説明図である。
【図１７】本発明の一実施の形態のシステムにおいて、記憶装置からデータを分割出力する際の処理手順を表す説明図である。
【図１８】本発明の一実施の形態のシステムにおいて、ライセンス情報の読込み及び書込みの際の処理手順を示すフローチャートである。
【符号の説明】
【０１３１】
１００，１１０…端末（情報処理端末装置）、１２０…ネットワークＩ/Ｆ、１３０…アプリケーション、１４０…ＤＲＭエージェントモジュール、１４２…通信制御モジュール、１４４…エンティティ管理モジュール、１６０…ＤＲＭエンティティモジュール、１６２…ＭＤＵ変換モジュール、１６４…ＴＲＭモジュール、１７０…デコーダＤＲＭエンティティモジュール、１７２…再生モジュール、１８０…ストレージ、２００…記憶装置、２１０…ＭＭＣＩ/Ｆ、２２０…コントローラチップ、２３０…フラッシュメモリチップ、２４０…X-Mobile Card（カード）、２５０…スマートカードチップ。
【図１】
0004684775.tif 000002
【図２】
0004684775.tif 000003
【図３】
0004684775.tif 000004
【図４】
0004684775.tif 000005
【図５】
0004684775.tif 000006
【図６】
0004684775.tif 000007
【図７】
0004684775.tif 000008
【図８】
0004684775.tif 000009
【図９】
0004684775.tif 000010
【図１０】
0004684775.tif 000011
【図１１】
0004684775.tif 000012
【図１２】
0004684775.tif 000013
【図１３】
0004684775.tif 000014
【図１４】
0004684775.tif 000015
【図１５】
0004684775.tif 000016
【図１６】
0004684775.tif 000017
【図１７】
0004684775.tif 000018
【図１８】
0004684775.tif 000019