(57)【要約】  【課題】  マスタ端末から複数のスレーブ端末に対してライセンスを配信するシステムにおいて、マスタ端末が記憶装置からライセンスを読み出す時間を削減する。  【解決手段】  マスタ端末１１は、複数のスレーブ端末１５から各々証明書１７を受信し、受信した証明書１７を同一の証明書ごとにグループ分けし、同一グループについて１つの証明書を記憶装置１０に入力し、入力された証明書の検証結果として記憶装置１０から出力される第１セッション鍵を受け取り、当該グループに属する証明書の各送信元のスレーブ端末１５へ各々送信する。スレーブ端末１５から第２セッション鍵を受信すると、マスタ端末１１は、これを記憶装置１０に入力し、暗号化されたライセンス１４を受け取り、要求元の各スレーブ端末１５へ送信する。【選択図】  図１
2005102021.tif 000002
【特許請求の範囲】
【請求項１】
スレーブ端末に対してマスタ端末として機能し、要求に応じて認証処理を行う記憶装置とデータ入出力可能な端末装置であって、前記端末装置は、
複数の前記スレーブ端末からそれぞれ証明書の情報を受信する手段と、
受信した複数の前記証明書が一致するか否か比較判定する手段と、
複数の同一の前記証明書のうちの１つを前記記憶装置に入力する手段と、
入力された前記証明書の検証の結果として前記記憶装置から出力される暗号化に用いられる鍵データを受け取る手段と、
前記鍵データを同一の前記証明書の各送信元の前記スレーブ端末へそれぞれ送信する手段とを有することを特徴とする端末装置。
【請求項２】
前記端末装置は、さらに前記スレーブ端末から第２の鍵データを受信する手段と、
前記第２の鍵データを前記記憶装置に入力する手段と、
前記記憶装置から前記第２の鍵データを用いて暗号化されたライセンスを受け取る手段と、
前記暗号化されたライセンスを前記第２の鍵データの送信元の前記スレーブ端末へ送信する手段とを有することを特徴とする請求項１記載の端末装置。
【請求項３】
前記スレーブ端末は、携帯ゲーム機であることを特徴とする請求項１記載の端末装置。
【請求項４】
スレーブ端末に対してマスタ端末として機能し、要求に応じて認証処理を行う記憶装置とデータ入出力可能な端末装置であって、前記端末装置は、
複数の前記スレーブ端末からそれぞれ証明書の情報を受信する手段と、
受信した複数の前記証明書を同一の証明書ごとにグループ分けする手段と、
前記グループの１つに属する前記証明書を前記記憶装置に入力する手段と、
入力された前記証明書の検証の結果として前記記憶装置から出力される暗号化に用いられる鍵データを受け取る手段と、
前記鍵データを前記グループの１つに属する証明書の各送信元の前記スレーブ端末へそれぞれ送信する手段とを有することを特徴とする端末装置。
【請求項５】
前記端末装置は、さらに前記スレーブ端末から第２の鍵データを受信する手段と、
前記第２の鍵データを前記記憶装置に入力する手段と、
前記記憶装置から前記第２の鍵データを用いて暗号化されたライセンスを受け取る手段と、
前記暗号化されたライセンスを前記第２の鍵データの送信元の前記スレーブ端末へ送信する手段とを有することを特徴とする請求項４記載の端末装置。
【請求項６】
スレーブ端末に対してマスタ端末として機能し、要求に応じて認証処理を行う記憶装置とデータ入出力可能な端末装置に、
複数の前記スレーブ端末からそれぞれ証明書の情報を受信する機能、
受信した複数の前記証明書が一致するか否か比較判定する機能、
複数の同一の前記証明書のうちの１つを前記記憶装置に入力する機能、
入力された前記証明書の検証の結果として前記記憶装置から出力される暗号化に用いられる鍵データを受け取る機能、および
前記鍵データを同一の前記証明書の各送信元の前記スレーブ端末へそれぞれ送信する機能を実現させるためのプログラム。
【請求項７】
前記端末装置に、さらに前記スレーブ端末から第２の鍵データを受信する機能、
前記第２の鍵データを前記記憶装置に入力する機能、
前記記憶装置から前記第２の鍵データを用いて暗号化されたライセンスを受け取る機能、および
前記暗号化されたライセンスを前記第２の鍵データの送信元の前記スレーブ端末へ送信する機能を実現させるための請求項６記載のプログラム。
【請求項８】
スレーブ端末に対してマスタ端末として機能し、要求に応じて認証処理を行う記憶装置とデータ入出力可能な端末装置に、
複数の前記スレーブ端末からそれぞれ証明書の情報を受信する機能、
受信した複数の前記証明書を同一の証明書ごとにグループ分けする機能、
前記グループの１つに属する前記証明書を前記記憶装置に入力する機能、
入力された前記証明書の検証の結果として前記記憶装置から出力される暗号化に用いられる鍵データを受け取る機能、および
前記鍵データを前記グループの１つに属する証明書の各送信元の前記スレーブ端末へそれぞれ送信する機能を実現させるためのプログラム。
【請求項９】
前記端末装置に、さらに前記スレーブ端末から第２の鍵データを受信する機能、
前記第２の鍵データを前記記憶装置に入力する機能、
前記記憶装置から前記第２の鍵データを用いて暗号化されたライセンスを受け取る機能、および
前記暗号化されたライセンスを前記第２の鍵データの送信元の前記スレーブ端末へ送信する機能を実現させるための請求項８記載のプログラム。
【請求項１０】
複数のスレーブ端末からそれぞれ証明書の情報を受信し、受信した複数の前記証明書を同一証明書ごとにグループ分けするマスタ端末と通信可能であり、要求に応じて認証処理を行う記憶装置であって、前記記憶装置は、
前記グループの１つに属する前記証明書を受信する手段と、
入力された前記証明書が正当なものであることを検証する手段と、
鍵データを生成する手段と、
前記鍵データを暗号化する手段と、
暗号化された前記鍵データを前記グループの１つに属する証明書の各送信元の前記スレーブ端末へそれぞれ送信すべく前記マスタ端末に送信する手段とを有することを特徴とする記憶装置。
【請求項１１】
前記記憶装置は、さらに前記マスタ端末から前記スレーブ端末で生成された第２の鍵データを受信する手段と、
前記スレーブ端末がアプリケーションを実行するために必要なライセンスを前記第２の鍵データで暗号化する手段と、
暗号化された前記ライセンスを前記第２の鍵データの送信元の前記スレーブ端末へ送信すべく前記マスタ端末に出力する手段とを有することを特徴とする請求項１０記載の記憶装置。
【請求項１２】
前記スレーブ端末は、携帯ゲーム機であることを特徴とする請求項１０記載の記憶装置。
【請求項１３】
スレーブ端末に対してマスタ端末として機能する端末装置と、要求に応じて認証処理を行い前記端末装置と通信可能な記憶装置とを有するシステムであって、
前記端末装置は、複数の前記スレーブ端末からそれぞれ証明書の情報を受信する手段と、
受信した複数の前記証明書を同一の証明書ごとにグループ分けする手段と、
前記グループの１つに属する前記証明書を前記記憶装置に送信する手段と、
入力された前記証明書の検証の結果として前記記憶装置から出力される暗号化に用いられる鍵データを受け取る手段と、
前記鍵データを前記グループの１つに属する証明書の各送信元の前記スレーブ端末へそれぞれ送信する手段とを有し、
前記記憶装置は、前記端末装置から前記証明書を受信する手段と、
受信した前記証明書が正当なものであることを検証する手段と、
前記鍵データを生成する手段と、
前記鍵データを暗号化する手段と、
暗号化された前記鍵データを前記端末装置に送信する手段とを有することを特徴とする認証システム。
【請求項１４】
前記端末装置は、さらに前記スレーブ端末から第２の鍵データを受信する手段と、
前記第２の鍵データを前記記憶装置に送信する手段と、
前記記憶装置から前記第２の鍵データを用いて暗号化されたライセンスを受け取る手段と、
前記暗号化されたライセンスを前記第２の鍵データの送信元の前記スレーブ端末へ送信する手段とを有し、
前記記憶装置は、さらに前記端末装置から前記第２の鍵データを受信する手段と、
前記スレーブ端末がアプリケーションを実行するために必要なライセンスを前記第２の鍵データで暗号化する手段と、
暗号化された前記ライセンスを前記端末装置に送信する手段とを有することを特徴とする請求項１３記載の認証システム。
【請求項１５】
スレーブ端末に対してマスタ端末として機能する端末装置と、要求に応じて認証処理を行い前記端末装置と通信可能な記憶装置とを有するシステムであって、
前記端末装置は、複数の前記スレーブ端末からそれぞれ証明書の情報を受信する手段と、
受信した複数の前記証明書が一致するか否か比較判定する手段と、
複数の同一の前記証明書のうちの１つを前記記憶装置に送信する手段と、
送信された前記証明書の検証の結果として前記記憶装置から出力される暗号化に用いられる鍵データを受け取る手段と、
前記鍵データを同一の前記証明書の各送信元の前記スレーブ端末へそれぞれ送信する手段とを有し、
前記記憶装置は、前記端末装置から前記証明書を受信する手段と、
受信した前記証明書が正当なものであることを検証する手段と、
前記鍵データを生成する手段と、
前記鍵データを暗号化する手段と、
暗号化された前記鍵データを前記端末装置に送信する手段とを有することを特徴とする認証システム。
【請求項１６】
前記端末装置は、さらに前記スレーブ端末から第２の鍵データを受信する手段と、
前記第２の鍵データを前記記憶装置に送信する手段と、
前記記憶装置から前記第２の鍵データを用いて暗号化されたライセンスを受け取る手段と、
前記暗号化されたライセンスを前記第２の鍵データの送信元の前記スレーブ端末へ送信する手段とを有し、
前記記憶装置は、さらに前記端末装置から前記第２の鍵データを受信する手段と、
前記スレーブ端末がアプリケーションを実行するために必要なライセンスを前記第２の鍵データで暗号化する手段と、
暗号化された前記ライセンスを前記端末装置に送信する手段とを有することを特徴とする請求項１５記載の認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証処理機能を有する記憶装置、およびこの記憶装置を用いて認証処理を行う端末装置に関する。
【背景技術】
【０００２】
配信サーバから又は記録媒体から暗号化されたコンテンツデータとライセンスを取得し、ライセンスに含まれる暗号鍵を用いてコンテンツデータを復号するデータ端末装置が知られている。例えば特開２００２−１６４８８１号公報（特許文献１）は、配信された暗号化コンテンツデータおよびライセンスを他のデータ端末装置に移動可能なデータ端末装置を開示する。また特開２００２−１６４８８５号公報（特許文献２）のデータ端末装置は、記録媒体から暗号化コンテンツデータを取り込み、配信サーバへライセンス配信要求を発行してライセンスを受信する。
【０００３】
【特許文献１】特開２００２−１６４８８１号公報
【０００４】
【特許文献２】特開２００２−１６４８８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
マスタとなる端末装置がライセンスを格納するカードを有し、この端末装置に接続される他の複数の端末装置がこのカードを利用できない場合、他の端末装置が暗号化されたコンテンツデータを利用するためには、他の端末装置からマスタ端末へライセンス配信要求を送信してライセンスを受け取る必要がある。従来技術によれば、ライセンス配信要求を受けたマスター端末がカードに対して端末認証要求を発行し、カードが端末の認証処理を行ってカードからライセンスを読み出すのに時間がかかっていた。このため複数の端末装置からライセンス配信要求がある場合、コンテンツごとに端末の台数に比例してライセンス読み出し時間がかかることになり、コンテンツ利用者の耐えがたい待ち時間となる。
【０００６】
本発明の目的は、多く利用される形態の端末システムについてライセンス読み出し時間を削減することにある。
【課題を解決するための手段】
【０００７】
本発明は、スレーブ端末に対してマスタ端末として機能し、自律的に認証処理を行う記憶装置とデータ入出力可能な端末装置が、複数のスレーブ端末からそれぞれ証明書の情報を受信し、受信した複数の証明書を同一の証明書ごとにグループ分けし、グループの１つに属する証明書を記憶装置に入力し、入力された証明書の検証の結果としてこの記憶装置から出力される暗号化に用いられる鍵データを受け取り、受け取った鍵データをグループの１つに属する証明書の各送信元のスレーブ端末へそれぞれ送信する技術を特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のスレーブ端末を有する端末システムについてライセンス読み出し時間を削減することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施形態について図面を用いて説明する。
【００１０】
図１は、実施例の端末システムの構成を示す図である。システムは、マスタ端末１１、記憶装置１０、ネットワーク１３および複数のスレーブ端末１５を有する。マスタ端末１１及びスレーブ端末１５は、ネットワーク１３と接続され所定のプロトコルに従って互いに通信する。各スレーブ端末１５は、そのメモリまたは記憶装置内に証明書１７を有する。記憶装置１０は、マスタ端末１１との間でデータ入出力可能あるいは通信可能であり、かつ外部からの要求に応じて認証処理を行う記憶装置である。
【００１１】
スレーブ端末１５は、ネットワーク１３を介して証明書１７をマスタ端末１１へ送信する。マスタ端末１１は、受信した証明書１７を記憶装置１０に入力する。記憶装置１０は、入力された証明書１７を検証し、第１セッション鍵を生成してマスタ端末１１へ出力する。マスタ端末１１は、この第１セッション鍵をスレーブ端末１５へ送信する。スレーブ端末１５は、この第１セッション鍵に基づいて第２セッション鍵を生成してマスタ端末１１へ送信する。マスタ端末１１は、この第２セッション鍵を記憶装置１０に入力する。記憶装置１０は、ライセンス１４を第２セッション鍵で暗号化してマスタ端末１１へ出力する。マスタ端末１１は、この暗号化されたライセンス１４をスレーブ端末１５へ送信する。スレーブ端末１５は、ライセンス１４を復号して目的のライセンスを取得する。マスタ端末１１は、証明書１７をグループ化することによって上記の認証処理にかかる時間を低減する。
【００１２】
ネットワーク１３として、ＬＡＮ、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（ＢｌｕｅｔｏｏｔｈはＢｌｕｅｔｏｏｔｈ  ＳＩＧ，Ｉｎｃ．の登録商標である）、専用線などにより構築されたネットワークが該当する。
【００１３】
以下特定のスレーブ端末１５を指すときにはスレーブ端末１５−１のように枝番をつけて示す。いずれかのスレーブ端末を指すときには枝番を省略して示す。他の構成要素についても同様である。
【００１４】
図２は、マスタ端末１１の内部構成を示す図である。マスタ端末１１は、ＣＰＵ、揮発性メモリ、表示装置、入力装置、コントローラチップ、電源などのハードウェアの他に、ハードウェアとしてカードリーダライタ（カードＲ／Ｗ）２４および通信インターフェース２３を有する。記憶装置１０は、カードＲ／Ｗ２４に接続されるか、あるいはカードＲ／Ｗ２４に対して接触型または非接触型の入出力装置である。カードＲ／Ｗ２４は、記憶装置１０へ入力するデータを送り、また記憶装置１０から出力されたデータを受け取る。記憶装置１０がメモリやディスク駆動装置である場合には、カードＲ／Ｗ２４は、これらの記憶装置との間でデータを入出力するためのインターフェースとなる。通信インターフェース２３は、ネットワーク１３に接続され、スレーブ端末１５との間の通信を制御するための通信制御装置として機能する。
【００１５】
またマスタ端末１１は、ソフトウェアとして、オペレーティングシステム（ＯＳ）２５、アプリケーション２１Ｍおよび認証モジュール２２Ｍの各プログラムを有する。ＯＳ２５は、カードＲ／Ｗ２４および通信インターフェース２３を含むハードウェア装置を制御する。認証モジュール２２Ｍは、アプリケーション２１Ｍ又は通信インターフェース２３を介するスレーブ端末１５からのライセンス読み出し要求に応答して、記憶装置１０からライセンスを読み出し、アプリケーション２１Ｍ又はスレーブ端末１５に渡す。アプリケーション２１Ｍは、認証モジュール２２Ｍと連携動作し、ライセンス１４を取得した後にゲーム実行やコンテンツの再生などコンテンツを実行する。アプリケーション２１Ｍは、ＯＳ２５が提供するシステムコールを用いてハードウェア装置や認証モジュール２２Ｍにアクセスする。
【００１６】
スレーブ端末１５のハードウェア装置は、マスタ端末１１と同等であればよい。ただしカードＲ／Ｗ２４及び記憶装置１０はなくてもよい。スレーブ端末１５は、ソフトウェアとしてＯＳ２５、アプリケーション２１Ｓおよび認証モジュール２２Ｓの各プログラムを有する。認証モジュール２２Ｓは、アプリケーション２１Ｓからのライセンス読み出し要求をマスタ端末１１へ送信し、マスタ端末１１から取得したライセンス１４をアプリケーション２１Ｓに渡す。アプリケーション２１Ｓは、認証モジュール２２Ｓと連携動作し、ライセンス１４を取得した後にゲーム実行やコンテンツの再生などコンテンツを実行する。アプリケーション２１Ｓは、ＯＳ２５が提供するシステムコールを用いてハードウェア装置や認証モジュール２２Ｓにアクセスする。認証モジュール２２Ｍと認証モジュール２２Ｓ、アプリケーション２１Ｍとアプリケーション２１Ｓを同じ実装とし、端末がマスタの環境にあるかスレーブの環境にあるかに応じて各々マスタ機能及びスレーブ機能を実現するように構成してもよい。
【００１７】
なおマスタ端末１１及びスレーブ端末１５は、コンテンツデータを記憶装置１０に格納するか、端末内の記憶装置に格納してもよい。あるいはネットワーク上のサーバ（図示せず）にコンテンツデータをもたせてもよい。
【００１８】
図３は、記憶装置１０の内部構成を示す図である。記憶装置１０として、ＳｅｃｕｒｅＭＭＣ（ＭｕｌｔｉＭｅｄｉａＣａｒｄ、ＭＭＣはＩｎｆｉｎｅｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  ＡＧの登録商標である）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、メモリスティック（メモリスティックはソニー（株）の登録商標である）、セキュリティ機能付きＵＳＢメモリ、ＩＣカード等が該当する。記憶装置１０は、インターフェース３１及びコントローラ３３を有する。記憶装置１０が不揮発性メモリ３２をもっていてもよい。
【００１９】
インターフェース３１は、カードＲ／Ｗ２４を介してマスタ端末１１とデータの送受信を行うインターフェースである。インターフェースとして、ＭＭＣインターフェース、ＳＤインターフェース、メモリスティックインターフェース、ＵＳＢインターフェース、Ｂｌｕｅｔｏｏｔｈインターフェース、無線ＬＡＮインターフェース、ＰＣカードインターフェース、ＩＣカードインターフェース等が該当する。
【００２０】
コントローラ３３は、プロセッサおよびメモリを有する。コントローラ３３は、インターフェース３１及び不揮発性メモリ３２と接続され、これらの機構との間のデータ入出力の制御を行う。またコントローラ３３は、セキュリティ処理モジュール３４を有する。セキュリティ処理モジュール３４は、セキュリティ情報を格納するための不揮発性メモリを有していてもよい。またセキュリティ処理モジュール３４が不揮発性メモリをもたない場合には、不揮発性メモリ３２のうちマスタ端末１１から直接アクセスできない領域が確保され、ここにセキュリティ情報が格納されてもよい。このセキュリティ情報としては、証明書、私有鍵、マスターシークレット、１つもしくは複数の秘密鍵、乱数種などが該当する。
【００２１】
本実施例のセキュリティ処理モジュール３４は、後述するように認証モジュール２２Ｍから証明書１７を入力して第１セッション鍵を出力し、認証モジュール２２Ｍから第２セッション鍵を入力してライセンス１４を出力する。
【００２２】
セキュリティ処理モジュール３４は、図示するようにコントローラ３３の一部として実装されていてもよいし、コントローラ３３もしくはインターフェース３１に接続される機構として実装されてもよい。例えばセキュリティ処理モジュール３４がＩＣカードチップのように単体で提供される部品である場合には、コントローラチップ上に等価な機能を実装する場合に比べて、コストおよび安全性の面で有利な場合がある。このような場合、セキュリティ処理モジュール３４はコントローラ３３から分離する形で実装されてもよい。セキュリティ処理モジュール３４は、コントローラ３３のメモリに格納され、そのプロセッサによって実行されるプログラムであってもよい。
【００２３】
不揮発性メモリ３２は、フラッシュメモリ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等を含んでいてもよい。不揮発性メモリは書き替え可能であることが望ましい。
【００２４】
以下スレーブ端末１５又はマスタ端末／スレーブ端末１５が携帯ゲーム機である場合を例にとって実施例を説明する。また記憶装置１０としてＳｅｃｕｒｅ  ＭＭＣを例にとって説明する。マスタ端末１１は、Ｓｅｃｕｒｅ  ＭＭＣのコマンドおよびプロトコルを用いて記憶装置１０との間のデータの入出力を行う。
【００２５】
いまネットワーク１３を介してマスタ端末１１に接続されているスレーブ端末１５は、ゲームをプレイするためのライセンス１４をもたないため、ライセンス１４を格納する記憶装置１０をもつマスタ端末１１からライセンス１４を取得する必要がある。ここでライセンスとは、コンテンツを構成するプログラムやデータの使用権である。ライセンス１４は、通常、暗号化されたゲームプログラム及びデータを復号する暗号鍵を有する。またライセンス１４は、そのライセンスをスレーブ端末１５で利用可能か否か判別する「ライセンスフラグ」、ライセンスの有効期限を記す「ライフタイムフラグ」、ライセンスを用いた暗号化の可否を設定する「エンクリプトフラグ」、暗号化／復号化できるデータのサイズを指定する「プレイサイズフラグ」などの情報を有する。
【００２６】
また証明書１７は、信頼できる発行機関により署名された証明書を意味する。
【００２７】
図４は、複数台のスレーブ端末１５の要求に従ってマスタ端末１１に接続された記憶装置１０内のライセンス１４を読み出す処理の手順を示す図である。スレーブ端末１５−１の認証モジュール２２Ｓ−１は、証明書１７−１をマスタ端末１１の認証モジュール２２Ｍに送信する（ステップ４１）。またスレーブ端末１５−２の認証モジュール２２Ｓ−２は、証明書１７−２をマスタ端末１１の認証モジュール２２Ｍに送信する（ステップ４２）。ここでスレーブ端末１５は、証明書１７に端末ＩＤと認証モジュール２２Ｓが決めたローカル証明書ＩＤを付与してマスタ端末１１へ送る。以下認証モジュール２２Ｓと認証モジュール２２Ｍとの間でデータが送受信されるとき、そのデータにこれら端末ＩＤとローカル証明書ＩＤを付加されることが望ましい。
【００２８】
認証モジュール２２Ｍは、証明書１７を受信したとき、アプリケーション２１Ｍに証明書１７の送信元のスレーブ端末１５の端末ＩＤを渡す。アプリケーション２１Ｍは、受け取った端末ＩＤをマスタ端末１１の表示装置に表示する。アプリケーション２１Ｍは、ライセンスを発行する対象のスレーブ端末１５の端末ＩＤを認証モジュール２２Ｍに通知する。アプリケーション２１Ｍは、あらかじめ決められた基準に従って対象のスレーブ端末１５を選択するか、あるいはマスタ端末１１の操作者の指示に従って対象のスレーブ端末１５を選択する。
【００２９】
認証モジュール２２Ｍは、選択された複数のスレーブ端末１５の証明書１７について証明書１７間の比較チェックを行う（ステップ４３）。ここでの比較チェックは、すでに受信している１つの証明書１７と新しい証明書１７が同一の証明書か異なる証明書かを判定する処理である。２つの証明書１７について証明書の全バイトデータもしくは署名部分の情報が一致している場合に、両証明書は同一証明書と判定される。次に認証モジュール２２Ｍは、比較チェックを終えた証明書１７を並べ替えて同一証明書のグループを形成する（ステップ４４）。ここで認証モジュール２２Ｍは、グループ分けした証明書１７をグループ内の証明書１７の多い順に並び替えて証明書のキューを作成する。
【００３０】
ゲーム機の認証モジュールがもつ証明書は、機器ごとに個別である必要がない場合が多いため、ほとんどの場合、ただ１種類のグループに属する。これはゲーム機自体が特定の個人を認証する必要がないためである。また家庭内の装置にコンテンツを配信する機器は、家庭ごとに異なる証明書をそれぞれの機器にもたせておけば、同一家庭内ではただ１種類のグループとなるため、処理の効率化が図れる。また異なる証明書による屋外の機器からの不正なもしくは意図しないライセンス送信要求に対し、配信機器はこれを拒絶することができる。このために認証モジュール２２Ｍは、証明書の比較チェックを行う際に、証明書のシリアル番号を参照し、受け入れる証明書を限定してもよい。実際には、認証モジュール２２Ｍは、メモリ容量の制約から全ての証明書の入力を受け入れるとは限らない。そこで認証モジュール２２Ｍは、証明書数が内部のメモリに保存できる数を超えた場合、証明書の入力ができない旨のメッセージを証明書１７の送信元のスレーブ端末１５に送付してもよい。
【００３１】
通常の場合に証明書１７は、到着順にメモリに一時記憶される。本実施例では、認証モジュール２２Ｍは、証明書１７の比較チェックを行って証明書１７をグループ分けするので、同一証明書についてはその証明書１７の１つと当該同一の証明書１７の送信元の端末ＩＤとローカル証明書ＩＤだけをメモリに保存すればよく、使用するメモリ容量の節約が図れる。受信した証明書１７のうちでアプリケーション２１Ｍによって選択されなかった証明書１７はメモリに保留されるが、アプリケーション２１Ｍの指示により適宜破棄してもよい。
【００３２】
次に認証モジュール２２Ｍは、証明書キューのうち先頭のグループの証明書１７をその端末ＩＤ、ローカル証明書ＩＤとともに記憶装置１０に入力する（ステップ４５）。これは例えば認証モジュール２２ＭがＶＥＲＩＦＹ＿ＣＥＲＴを実行することによって実現される。記憶装置１０のセキュリテイ処理モジュール３４は、この証明書１７を検証する（ステップ４６）。本実施例では認証局の公開鍵を用いて検証する。ここで証明書１７が正しいと判断された場合は、記憶装置１０は、第１セッション鍵の生成を行う（ステップ４７）。セキュリテイ処理モジュール３４は、受け取った端末ＩＤ、ローカル証明書ＩＤと対応させて生成した第１セッション鍵をメモリに保存する。第１セッション鍵は、マスタ端末１１側のセッションについて生成する鍵であり、乱数発生器などを用いて生成された鍵情報である。次に記憶装置１０は、この第１セッション鍵を当該証明書１７の公開鍵で暗号化し（ステップ４８）、この暗号化した第１セッション鍵を認証モジュール２２Ｍに出力する（ステップ４９）。第１セッション鍵の出力は、例えば認証モジュール２２ＭがＳＥＮＤ＿ＳＥＳＳＩＯＮ＿ＫＥＹを実行することによって実現される。認証モジュール２２Ｍは、受け取った第１セッション鍵をメモリに保存する（ステップ５０）。
【００３３】
ステップ４６からステップ４９の間にエラーが生じた場合、記憶装置１０は、認証モジュール２２Ｍにエラー報告する。認証モジュール２２Ｍは、そのエラーを解析する。処理の継続が困難な場合は、処理中の証明書グループを破棄し、次のグループの証明書の検証を開始する。次の証明書グループが存在しない場合、認証モジュール２２Ｍは、処理を終了し、次の証明書１７を受信するまで待つ。
【００３４】
認証モジュール２２Ｍは、メモリ上の端末ＩＤを参照し、証明書１７の検証に成功した同一グループに属する各スレーブ端末１５に共通の第１セッション鍵を送信する（ステップ５１）。第１セッション鍵の送信は、例えば認証モジュール２２ＭがＥＳＴＡＢＬＩＳＨ＿ＰＬＡＹ＿ＳＥＳＳＩＯＮを実行することによって実現される。
【００３５】
該当するスレーブ端末１５内の認証モジュール２２Ｓは、第１セッション鍵を受信すると、証明された公開鍵とペアを構成する秘密鍵を用いて第１セッション鍵を復号する（ステップ５２）。この秘密鍵は同一証明書グループ内で共通である。次に認証モジュール２２Ｓは、第２セッション鍵を生成する（ステップ５３）。第２セッション鍵はスレーブ端末１５側のセッションについて生成する鍵である。第２セッション鍵は、乱数発生器か、推定困難な種データを用いて作成された擬似乱数発生器を用いて作成されることが望ましい。次に認証モジュール２２Ｓは、第１セッション鍵を用いて第２セッション鍵を暗号化し（ステップ５４）、この第２セッション鍵をマスタ端末１１に送信する（ステップ５５）。
【００３６】
認証モジュール２２Ｍは、第２セッション鍵を受信すると、受信した端末ＩＤとローカル証明書ＩＤがメモリに保存されているものと一致するか否かチェックする。異なる端末ＩＤとローカル証明書ＩＤをもつスレーブ端末１５から第２セッション鍵が送られてきた場合、これを無視するか、ダミーのデータを返す。これらの処理の間に、認証モジュール２２Ｍは新しい証明書１７を受け取ることができる。新しい証明書１７がアプリケーション２１Ｍの選択する証明書であり、現在認証されている証明書グループに属する証明書であれば、受け取った証明書１７を同グループに追加し、すなわちメモリ上でその端末ＩＤとローカル証明書ＩＤを同グループに追加し、そのスレーブ端末１５に保存中の第１セッション鍵を送信する。
【００３７】
認証モジュール２２Ｍは、正当なスレーブ端末１５から受信した第２セッション鍵を同グループの先頭の証明書の端末ＩＤ、ローカル証明書ＩＤとともに記憶装置１０に入力する（ステップ５６）。記憶装置１０のセキュリテイ処理モジュール３４は、当該端末ＩＤ、ローカル証明書ＩＤに対応する第１セッション鍵を用いて第２セッション鍵を復号する（ステップ５７）。認証モジュール２２Ｍは、記憶装置１０から復号の終了報告を受けると、目的のライセンスの指定を行う（ステップ５８）。記憶装置１０には複数種のライセンスが格納されている可能性があり、認証モジュール２２Ｍは、アプリケーション２１Ｍからの指示に従って読み出したいライセンスを指定する。記憶装置１０は、不揮発性メモリからライセンス１４を読み出し、これを第２セッション鍵で暗号化する（ステップ５９）。ライセンス１４を格納する不揮発性メモリは、セキュリテイ処理モジュール３４内にあってもよいし、不揮発性メモリ３２であってもよい。ライセンス１４は、セキュリテイ処理モジュール３４のみ知り得る鍵によって暗号化されていることが望ましい。記憶装置１０は、暗号化されたライセンス１４を認証モジュール２２Ｍに出力する（ステップ６０）。
【００３８】
認証モジュール２２Ｍは、受け取ったライセンス１４を第２セッション鍵の送信元の認証モジュール２２Ｓに送信する（ステップ６１）。ライセンス１４の送信は、例えば認証モジュール２２Ｍが該当するスレーブ端末１５に対してＳＥＮＤ＿ＰＬＡＹ＿ＬＩＣＥＮＳＥを実行することによって実現される。その認証モジュール２２Ｓは、受け取ったライセンス１４を第２セッション鍵で復号する（ステップ６２）。このようにしてライセンス１４を取得した後のスレーブ端末１５の処理については、後述する。
【００３９】
なおアプリケーション２１Ｍからの指示によりマスタ端末１１自身が記憶装置１０からライセンス１４を読み出す場合には、ステップ４５〜ステップ６０を実行する。ただしステップ５１，５５はなく、ステップ５２〜５５は、認証モジュール２２Ｍで実行される。
【００４０】
認証モジュール２２Ｍは、同一グループに属する他のスレーブ端末１５から第２セッション鍵を受信した場合も、同様にステップ５６〜ステップ６１の処理を繰り返す。認証モジュール２２Ｍが同一グループに属する他のスレーブ端末１５から証明書１７を受信したとき、そのグループについてすでに第１セッション鍵を取得していれば、ステップ５１から処理を繰り返せばよい。ステップ４４の処理が済んだ他の証明書グループが存在すれば、ステップ４５から処理を繰り返す。すでにライセンス１４の送付が終わったスレーブ端末１５の端末ＩＤおよびローカル証明書ＩＤはメモリから削除してもよい。証明書キューに証明書１７が存在しない場合には、認証モジュール２２Ｍは、処理を終了し、新しい証明書１７を受信するまで待つ。この間にもすでに第１セッション鍵を取得したグループについて認証モジュール２２Ｍが新しい証明書１７を受信する可能性があるので、当該グループを代表する１つの証明書１７、その端末ＩＤとローカル証明書ＩＤ、およびステップ５０で保存した第１セッション鍵は破棄しない。ただしアプリケーション２１Ｍから指示があった場合には、これらのデータを破棄してよい。
【００４１】
なお上記実施例は、秘密鍵と公開鍵を用いる公開鍵方式に基づく認証処理について説明した。しかし記憶装置１０が信頼できる機関により発行された秘密情報を用いることによりスレーブ端末１５を認証し、セッションデータを秘密に受け渡すことが可能ならば、認証の手段を公開鍵方式に限定する必要はなく、他の方式、例えば共通鍵方式を用いてもよい。
【００４２】
従来技術によれば、同一証明書グループに属する各証明書１７についてステップ４５〜ステップ６２に相当する従来製品各々の処理が必要であった。そしてその処理は、記憶装置１０の性能が限られているため時間のかかるものであった。本実施例によれば、同一グループの最初の証明書１７についてはステップ４３〜ステップ６２の処理が必要であるが、後続の証明書１７についてはステップ４５〜５０の処理を省略することができ、複数のスレーブ端末１５に同一のライセンス１４を送付するときのライセンス配信時間を低減することができる。
【００４３】
家庭内の各端末が同じ認証モジュール証明書をもつ場合、各スレーブ端末１５が発行するライセンス読み出し要求に付帯する証明書１７は同一のものとなる。このとき最初の証明書１７について実行された認証処理の結果である第１セッション鍵を保存しておけば、後続の証明書１７について認証処理を省くことができるため、ライセンス読み出し速度を向上させることができる。
【００４４】
図５は、アプリケーション２１Ｍ，２１Ｓの主要な処理の流れを示す図である。アプリケーション２１Ｍは、認証モジュール２２Ｍと連携して処理を進める。アプリケーション２１Ｓは、認証モジュール２２Ｓと連携して処理を進め、特にライセンス１４を読み出すときには認証モジュール２２Ｍとも連携する。
【００４５】
アプリケーション２１Ｍ，２１Ｓは、認証モジュール２２Ｍ，２２Ｓを介して、目的とするライセンスが各々マスタ端末１１、スレーブ端末１５内にロードされているかか否か判定する（ステップ７１）。ライセンス１４が存在すれば、ステップ７３の処理に移る。ライセンス１４が存在しなければ、各々認証モジュール２２Ｍ，２２Ｓを介してライセンス１４の読み込みを行う（ステップ７２）。認証モジュール２２Ｍは、ステップ５１，５５を除くステップ４５〜ステップ６０の処理を実行する。認証モジュール２２Ｓは、認証モジュール２２Ｍと連携してステップ４１〜ステップ６２の処理を実行する。ただし処理を省略するステップについては、上記の通りである。認証モジュール２２Ｍ，２２Ｓが複数種のライセンス１４を読み出し、それを外部記憶装置などに保存することが可能か否かは、アプリケーション２１Ｍ，２１Ｓのセキュリティ要件による。
【００４６】
認証モジュール２２Ｍ，２２Ｓは、ライセンス１４を読み出した後、ライセンス１４が有効か否かを判定してもよい（ステップ７３）。ライセンス１４が有効期限内か否かの判定は、ライセンス１４に付与されたフラグを参照することによって実行される。ライセンス１４が有効期限切れの場合、そのライセンス１４は利用できず、認証モジュール２２Ｍ，２２Ｓはその旨をアプリケーション２１Ｍ，２１Ｓに通知する。
【００４７】
次に認証モジュール２２Ｍ，２２Ｓは、取得したライセンス１４がマスタ用か否かを判定してもよい（ステップ７４）。マスタ端末１１が接続している記憶装置１０から直接ライセンス１４を読み出していれば、マスタ用ライセンスである。スレーブ端末１５がネットワーク１３を介してライセンス１４を取得した場合には、スレーブ用ライセンスと判定される。両者を区別することによって、マスタ用ライセンスの場合には、アプリケーションの全機能が利用でき、スレーブ用ライセンスの場合には一部機能の利用を制限するなどの区分が可能である。
【００４８】
次に制御はアプリケーション２１Ｍ，２１Ｓに渡り、アプリケーション２１Ｍ，２１Ｓは、ゲームの実行、コンテンツの再生などそのライセンスで許可される主たるコンテンツを実行する（ステップ７５）。コンテンツを構成するプログラムやデータが暗号化されていれば、アプリケーション２１Ｍ，２１Ｓは、取得したライセンス１４内の暗号鍵を用いてコンテンツを復号した後に実行する。アプリケーション２１Ｍ，２１Ｓは、この暗号鍵を用いて記憶装置に保存するセーブデータや端末装置間で送受信するデータを暗号化することができる。このときアプリケーション２１Ｍ，２１Ｓは、認証モジュール２２Ｍ，２２Ｓを介してライセンス１４に付与されたフラグを参照して暗号化するデータのサイズが制限値以下か否か判定してもよい（ステップ７６）。
【００４９】
なお認証モジュール２２Ｍ，２２Ｓがステップ７１，７３，７４，７６の処理を行う代わりに、アプリケーション２１Ｍ，２１Ｓがその全部又は一部の処理を行ってもよい。
【００５０】
上記のようにスレーブ端末１５がマスタ端末１１へ送信する証明書１７や第２セッション鍵には端末ＩＤとローカル証明書ＩＤが付与される。ここで端末ＩＤは、マスタ端末１１へ向けて最後にデータを送出したスレーブ端末１５の識別子である。またローカル証明書ＩＤは、端末ＩＤまたは端末ＩＤとプロセス番号を結合したものでよい。端末ＩＤとプロセス番号のサイズは、そのシステムに依存する。ローカル証明書ＩＤ内の端末ＩＤは、実際に証明書１７や第２セッション鍵を発行したスレーブ端末１５の識別子である。またプロセス番号は、同一のスレーブ端末１５が複数種のライセンス１４を取得するときに各々のライセンス１４取得に係わる認証モジュール２２Ｓを実行するときの各プロセスの番号である。従ってただ１つのライセンス１４を取得する場合にもプロセス番号を付与してもよい。データの送信元と発行元が同じであるときには、端末ＩＤとローカル証明書ＩＤ内の端末ＩＤは同一となる。スレーブ端末１５が下位のスレーブ端末１５からのデータを中継するときには、端末ＩＤは中継するスレーブ端末１５の識別子、ローカル証明書ＩＤ内の端末ＩＤは、データ発行元のスレーブ端末１５の識別子となる。
【００５１】
図６は、スレーブ端末１５が２階層となっているシステムの例を示す図である。この例では、スレーブ端末１５―１および１５―２は、ネットワーク１３―１を介してマスタ端末１１に接続され、スレーブ端末１５―３および１５―４は、ネットワーク１３―２を介してスレーブ端末１５―１に接続される。
【００５２】
スレーブ端末１５―１が中継端末として機能するときには、スレーブ端末１５―１は、データに付与されている端末ＩＤを変更する。例えばスレーブ端末１５―１がスレーブ端末１５―３から証明書１７を受信したときには、付与されている端末ＩＤとローカル証明書ＩＤをメモリに保存し、端末ＩＤをスレーブ端末１５−３のＩＤからスレーブ端末１５−１のＩＤに変更してマスタ端末１１へ証明書１７を送信する。スレーブ端末１５―１がマスタ端末１１からデータを受信したときには、スレーブ端末１５―１は、ローカル証明書ＩＤによって保存された端末ＩＤとローカル証明書ＩＤの対応テーブルを検索して発行元の端末ＩＤを取得し、データ送信先の端末ＩＤをスレーブ端末１５−１のＩＤからスレーブ端末１５−３のＩＤに変更して受信したデータをスレーブ端末１５―３へ中継する。この仕組みによって、スレーブ端末１５が多階層構成となっている場合にもライセンス１４を取得することができ、ネットワーク１３に接続可能なスレーブ端末の台数を超えて端末システムを構成できる。図６に示すシステムにおいて、スレーブ端末１５―１、１５―３及び１５―４は同一の証明書１７を保有することが可能である。
【００５３】
なおスレーブ端末１５―１が下位のスレーブ端末１５―３，４からの証明書読み出し要求を受け入れるのは、マスタ端末１１との通信が確立している場合に限ることが望ましい。スレーブ端末１５―１が中継端末として機能するか否かは、アプリケーション２１Ｓの実装に依存する。
【００５４】
以下に本発明のアプリケーション例をいくつか挙げる。
【００５５】
（１）コンテンツ配信機能を備えたホームゲートウエイをマスタ端末１１とし、各部屋に設置されるテレビ、ビデオ、ＰＣ（パソコン）に対してコンテンツを配信するサービスが挙げられる。ここでコンテンツとしては音楽、画像、映像など著作権保護のために安易な複製を防止したい情報が該当する。この例では、購入したコンテンツを家庭で利用したい場合に、各端末ごとにライセンスの入った記憶装置を用意したり、２つ以上のライセンスが１つの記憶装置に入っている場合に、同時に２つ以上の端末でライセンスを個別に利用することは難しい。そこで１つのライセンスの入った記憶装置１０をもつマスタ端末１１から家庭内ＬＡＮや無線ＬＡＮを介して各スレーブ端末１５にライセンス１４を送信できれば、この問題が解決される。このケースは、店舗や駅、バス、航空機などの構内または機内に設置されたアクセスポイント（マスタ端末）が、ノートＰＣやＰＤＡのような携帯端末、もしくは専用の受像機（スレーブ端末）にコンテンツを配信する場合にも適用できる。
【００５６】
（２）複数の携帯ゲーム機を用いて多人数プレイを行う場合に、あるゲーム機（マスタ端末）に接続された記憶装置１０内のライセンス１４をネットワークを介してゲームに参加している他の携帯ゲーム機（スレーブ端末）に送信することによって、ライセンスをもたない端末でもゲームを行えるようにするサービスが挙げられる。このときプログラム及びデータは、あらかじめ個々の端末が暗号化された状態でもっていてもよいし、マスタ端末から暗号化した状態でスレーブ端末に送ってもよい。各端末はライセンスを受け取ると、プログラム及びデータを復号し、処理を実行する。復号したプログラム及びデータは、揮発性メモリに格納し、電源遮断とともに消去されることが望ましい。
【００５７】
（３）また複数のＰＣ，ＰＤＡまたはＴＶを用いて構成される会議システムが挙げられる。例えば複数の企業がＰＣやＴＶを利用して会議を行ったり、情報交換の道具としてＰＣを利用する場合に、会議後に会議資料を回収したいことがある。資料を電子データの形で配布した場合、資料の回収は非常に困難であるが、会議資料がライセンスにより守られていれば、会議後に資料を閲覧不可にできる。すなわち会議資料の有効期限を会議終了時までとするライセンスを各スレーブ端末に配信すれば、会議終了後にはライセンスは無効となり、ユーザは暗号化された会議資料を復号して閲覧することができなくなる。
【図面の簡単な説明】
【００５８】
【図１】実施例のシステムの構成図である。
【図２】実施例のマスタ端末１１の内部構成を示す図である。
【図３】実施例の記憶装置１０の内部構成を示す図である。
【図４】実施例のライセンスを読み出す処理の手順を示す図である。
【図５】実施例のアプリケーション２１Ｍ，２１Ｓの主要な処理の流れを示す図である。
【図６】端末が階層構成をなす場合のシステムの構成例を示す図である。
【符号の説明】
【００５９】
１０：記憶装置、１１：マスタ端末、１３：ネットワーク、１４：ライセンス、１５：スレーブ端末、１７：証明書、２１Ｍ，２１Ｓ：アプリケーション、２２Ｍ，２２Ｓ：認証モジュール、３２：不揮発性メモリ。
【図１】
2005102021.tif 000003
【図２】
2005102021.tif 000004
【図３】
2005102021.tif 000005
【図４】
2005102021.tif 000006
【図５】
2005102021.tif 000007
【図６】
2005102021.tif 000008