(57)【要約】  【課題】  公開鍵暗号に基づき、端末を介したＩＣカード／サーバ間のセキュアな通信路を確立するには、デジタル証明書を格納したメッセージを送受信する必要があるが、ＩＣカード／端末間の通信速度は低速であり、デジタル証明書を送受信することは負荷が高い。  【解決手段】  端末はＩＣカードのデジタル証明書を予め取得しておく。ＩＣカードがサーバとセキュアな通信路を確立する際、ＩＣカードは端末に対してデジタル証明書が格納されていないメッセージを送信する。端末は受信したメッセージに保持するデジタル証明書を格納し、サーバへ送信する。また、ＩＣカードはサーバのデジタル証明書を予め取得しておき、保持していることを端末へ通知しておく。端末はサーバからＩＣカードへのデジタル証明書が格納されたメッセージを受信すると、サーバの証明書をメッセージから削除してＩＣカードへ送信する。【選択図】  図１
2005236505.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを配信するコンテンツ配信サーバと、前記コンテンツを利用する第一の端末装置と、第一の端末装置と接続し前記コンテンツ配信サーバとセキュアな通信を行う第二の端末装置と、から構成されるコンテンツ配信システムであって、
前記第一の端末装置は、
外部と通信を行う第一の通信手段と、
デジタル証明書を保持する第一のデジタル証明書保持手段と、
メッセージを変更するメッセージ変更手段とを保持し、
前記第二の端末装置は、
前記第一の端末装置と通信する第二の通信手段と、
メッセージを作成、解釈するメッセージ処理部とを保持し、
前記第一の端末装置は、前記第一の通信手段が受信した前記第二の端末装置のメッセージへ前記第二の端末装置のデジタル証明書を格納する変更を、メッセージ変更手段にて行い、前記コンテンツ配信サーバへ転送することを特徴とする、コンテンツ配信システム。
【請求項２】
前記第一の端末装置は、
接続された前記第二の端末装置のデジタル証明書を取得するデジタル証明書取得手段を保持し、
前記第二の端末装置のデジタル証明書を前記第一のデジタル証明書保持手段にて保持していない場合に、前記デジタル証明書取得手段にて取得することを特徴とする、
請求項１記載のコンテンツ配信システム。
【請求項３】
前記デジタル証明書取得手段は、インターネットに接続された他端末から前記デジタル証明書を取得することを特徴とする、
請求項２記載のコンテンツ配信システム。
【請求項４】
前記デジタル証明書取得手段は、接続されたリムーバブルメディアから前記デジタル証明書を取得することを特徴とする、
請求項２記載のコンテンツ配信システム。
【請求項５】
前記デジタル証明書取得手段は、前記第二の端末装置から前記第一の通信手段が受信したメッセージから前記デジタル証明書を取得することを特徴とする、
請求項２記載のコンテンツ配信システム。
【請求項６】
前記第一の端末装置は前記第二の端末装置を識別する端末装置識別手段を保持し、
前記端末装置識別手段にて識別した前記第二の端末装置のデジタル証明書を、前記デジタル証明書格納手段から取得し、前記メッセージ変更手段によりメッセージに格納することを特徴とする、
請求項１記載のコンテンツ配信システム。
【請求項７】
前記第二の端末装置はＩＣカードであることを特徴とする、
請求項１記載のコンテンツ配信システム。
【請求項８】
前記第一の通信手段および第三の通信手段はＩＳＯ７８１６準拠の通信プロトコルに従って通信することを特徴とする、
請求項１記載のコンテンツ配信システム。
【請求項９】
前記第一の端末装置は、
前記第一の通信手段にて受信したコンテンツ配信サーバから前記第二の端末装置へのメッセージを受信し、
前記メッセージ変更手段にて前記コンテンツ配信サーバのデジタル証明書を分離し、
前記第一の通信手段にて前記第二の端末装置へメッセージを送信することを特徴とする、
請求項１記載のコンテンツ配信システム。
【請求項１０】
前記変更手段は前記第二の端末装置からの通知された際に行われることを特徴とする、
請求項９記載のコンテンツ配信システム。
【請求項１１】
前記通知は、前記第二の端末装置が保持する前記コンテンツ配信サーバのデジタル証明書の新旧が判断できる情報であることを特徴とする、
請求項１０記載のコンテンツ配信システム。
【請求項１２】
前記通知は、前記第二の端末装置が保持する前記コンテンツ配信サーバのデジタル証明書の証明書シリアル番号であることを特徴とする、
請求項１１記載のコンテンツ配信システム。
【請求項１３】
前記第二の端末装置は、前記コンテンツ配信サーバのデジタル証明書を格納する第二のデジタル証明書保持手段を保持し、
通信にて取得した前記コンテンツ配信サーバのデジタル証明書を前記第二のデジタル証明書保持手段へ格納することを特徴とする、
請求項１記載のコンテンツ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルコンテンツ配信システムに関し、特に秘密情報を転送する際に使用するセキュアな通信路の確立方法に関する。
【背景技術】
【０００２】
近年、音楽、映像、ゲームなどのデジタルコンテンツ（以下、コンテンツと記述）を、インターネットなどの通信や、デジタル放送、ＣＡＴＶ（Ｃａｂｌｅ  Ｔｅｌｅｖｉｓｉｏｎ）などを通じて、サーバから端末装置に配信し、端末装置においてコンテンツを利用することが可能なコンテンツ配信サービスが実用化段階に入っている。このコンテンツ配信サービスに用いられる一般的なシステムでは、コンテンツの著作権を保護し、悪意あるユーザなどによるコンテンツの不正利用を防止するため、著作権保護技術が用いられる。著作権保護技術とは、具体的には、暗号技術や認証技術などを用いて、ユーザがコンテンツを再生したり、記録メディアにコピーしたりといったようなコンテンツの利用を、セキュアに制御する技術である。著作権保護技術を用いることにより、コンテンツプロバイダやサービスプロバイダなどの事業者が、ユーザの端末装置におけるコンテンツ利用をセキュアに制御することが可能となる。
【０００３】
「コンテンツの利用を制御する」とは、暗号化され配信されたコンテンツを復号する鍵（以下、コンテンツ鍵と記述）の利用を利用条件により制限することにより実現される。利用条件とは例えば「３回利用可能」と記述された情報であり、その他にも有効期間や利用できる累積時間等がある。これらコンテンツ鍵や利用条件はライセンスに格納され、ユーザの端末装置へ配信される。例えばユーザは端末装置を操作し、インターネット上のサーバへ接続し、前記ライセンスを取得する。この際にサーバは、接続してきた端末装置がユーザの端末装置であるか否かの認証を行い、ユーザの端末装置であった場合にはライセンスを暗号化して配信する。
【０００４】
このユーザの端末装置であるか否かの認証や、通信データを暗号化するための鍵の配送等は公開鍵暗号に基づいて行われる。公開鍵暗号とは、従来のＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）といった１つの鍵で暗号化や復号を行う秘密鍵暗号方式とは異なり、秘密の鍵と、公開してもよい鍵の２つからデータを暗号化、復号する暗号方式である。例えば、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｅｌｍａｎ）やＥＣＣ（Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅ  Ｃｒｙｐｔｏｇｒａｐｈｙ）がある。公開鍵暗号では、公開鍵で暗号化したデータは対の秘密鍵を用いなければ復号できず、秘密鍵で暗号化したデータは対の公開鍵でしか復号できない暗号方式である。この方式では数学的に複雑なアルゴリズムを利用しているため、処理速度は秘密鍵暗号方式に比べ低速であるという問題点がある。このような問題から、一般に公開鍵暗号はデジタル証明書を用いた端末装置の認証や、通信データをＤＥＳやＡＥＳで暗号化する際の鍵の配送に利用される。
【０００５】
特許文献１にはＩＣカードを利用した個人認証に関する技術が開示されている。これによれば、サーバはユーザの端末装置を公開鍵暗号に基づいて認証し、次に端末装置に挿入されたＩＣカードに対して乱数を送信し、ＩＣカードは受信した乱数をユーザ固有鍵で暗号化したのちサーバへ返信する。サーバは返信された暗号化乱数を、予め登録されているユーザ固有鍵で復号し、復号した結果が送信した乱数と一致した場合にユーザ（が所有するＩＣカード）を認証する方法である。この認証とサーバとユーザの端末装置との通信内容を暗号化するための鍵の配送および暗号化通信を実現する方法として、公開鍵暗号を利用した方式が一般的に利用されている。例えばＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）やＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）といった安全な認証チャネル（Ｓｅｃｕｒｅ  Ａｕｔｈｅｎｔｉｃａｔｅｄ  Ｃｈａｎｎｅｌ；以下、ＳＡＣと記述）を確立する技術がある。
【特許文献１】特開２００１−６９１３８号公報
【非特許文献１】「ＦＩＰＳ  ＰＵＢ  １８６−２（Ｆｅｄｅｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｔａｎｄａｒｄｓ  Ｐｕｂｌｉｃａｔｉｏｎ）」、ＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  Ｔｅｃｈｎｏｌｏｇｙ）、２０００年
【非特許文献２】ブルース・シュナイアー著、「暗号技術大全」、ソフトバンクパブリッシング、２００３年
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献１でＩＣカードを利用したユーザ認証方法として秘密鍵暗号方式が利用されているが、これはＩＣカードの処理速度が低速であることに基づいている。ところが、近年のＩＣカードの処理速度向上、秘密鍵暗号、公開鍵暗号コプロセッサの搭載により、ＩＣカード内でも公開鍵暗号方式を利用することが現実的となってきた。
コンテンツ配信サービスにおいても、ユーザを識別する手段として耐タンパ性に優れたＩＣカードを使用し、ライセンス等のセキュア情報をＩＣカード内に蓄え利用することが求められるようになってきている。
【０００７】
ところでＩＣカードのような受動デバイスは、サーバと通信するためには必ず端末装置に対して通信データを送信し、サーバに対して転送してもらう必要がある。この際、ＩＣカードと端末装置間の通信プロトコルは、ＩＳＯ７８１６にて規定された通信プロトコルが一般に用いられる。この通信プロトコルは１度に最大２５５バイトのデータしか送受信することができない。公開鍵暗号において端末認証を行う際に利用するデジタル証明書は、ＳＳＬやＴＬＳを利用する場合では数Ｋバイトとなり、その送受信にかかる負荷が高くなってしまうという問題があった。
【０００８】
また、数ＫバイトのデータをＩＣカードへ送信する場合にはデータを分割し送信する必要がある。ここでＪａｖａ（登録商標）カードのようなマルチアプリケーション対応のＩＣカードを利用する場合を考えると、ＪａｖａＶＭ（Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）が受信したデータをアプレットへ引き渡す処理にかかる時間は、データを分割した数に比例して増大する。低速なＩＣカードではこの処理にかかる時間ロスについて無視できないという問題があった。
【０００９】
本発明は、このような点を省みてなされたものであり、ＩＣカードと端末装置間のデジタル証明書の送受信にかかる負荷を下げることを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、コンテンツを配信するコンテンツ配信サーバと、前記コンテンツを利用する第一の端末装置と、第一の端末装置と接続し前記コンテンツ配信サーバとセキュアな通信を行う第二の端末装置と、から構成されるコンテンツ配信システムであって、前記第一の端末装置は、外部と通信を行う第一の通信手段と、デジタル証明書を保持する第一のデジタル証明書保持手段と、メッセージを変更するメッセージ変更手段とを保持し、前記第二の端末装置は、前記第一の端末装置と通信する第二の通信手段と、メッセージを作成、解釈するメッセージ処理部とを保持し、前記第一の端末装置は、前記第一の通信手段が受信した前記第二の端末装置のメッセージへ前記第二の端末装置のデジタル証明書を格納する変更を、メッセージ変更手段にて行い、前記コンテンツ配信サーバへ転送することを特徴とする。
【００１１】
ここで、前記第一の端末装置は、接続された前記第二の端末装置のデジタル証明書を取得するデジタル証明書取得手段を保持し、前記第二の端末装置のデジタル証明書を前記第一のデジタル証明書保持手段にて保持していない場合に、前記デジタル証明書取得手段にて取得してもよい。
また、前記デジタル証明書取得手段は、インターネットに接続された他端末から前記デジタル証明書を取得したり、接続されたリムーバブルメディアから前記デジタル証明書を取得したり、前記第二の端末装置から前記第一の通信手段が受信したメッセージから前記デジタル証明書を取得してもよい。
【００１２】
また、前記第一の端末装置は前記第二の端末装置を識別する端末装置識別手段を保持し、前記端末装置識別手段にて識別した前記第二の端末装置のデジタル証明書を、前記デジタル証明書格納手段から取得し、前記メッセージ変更手段によりメッセージに格納してもよい。そして、例えば、前記第二の端末装置はＩＣカードであり、前記第一の通信手段および第三の通信手段はＩＳＯ７８１６準拠の通信プロトコルに従って通信する。
【００１３】
また、前記第一の端末装置は、前記第一の通信手段にて受信したコンテンツ配信サーバから前記第二の端末装置へのメッセージを受信し、前記メッセージ変更手段にて前記コンテンツ配信サーバのデジタル証明書を分離し、前記第一の通信手段にて前記第二の端末装置へメッセージを送信してもよい。
また、前記変更手段は前記第二の端末装置からの通知された際に行われてもよい。そして、前記通知は、前記第二の端末装置が保持する前記コンテンツ配信サーバのデジタル証明書の新旧が判断できる情報であってもよいし、前記第二の端末装置が保持する前記コンテンツ配信サーバのデジタル証明書の証明書シリアル番号であってもよい。
【００１４】
さらに、前記第二の端末装置は、前記コンテンツ配信サーバのデジタル証明書を格納する第二のデジタル証明書保持手段を保持し、通信にて取得した前記コンテンツ配信サーバのデジタル証明書を前記第二のデジタル証明書保持手段へ格納してもよい。
【発明の効果】
【００１５】
本発明によれば、端末装置／ＩＣカード間におけるデジタル証明書の送受信を必要最低限の回数にすることが可能であり、サーバ／ＩＣカード間でのＳＡＣ確立にかかる時間を短縮し、ユーザ利便性を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下本発明の実施の形態について、図面を参照しながら説明する。
図１は、本発明の実施の形態におけるコンテンツ配信システムの全体構成を示すブロック図である。ここで開示するコンテンツ配信システムは、暗号化コンテンツの配信や、後述するライセンスを発行するサーバ１００と、サーバ１００とＩＣカード６００との通信を中継し、ＩＣカード６００からコンテンツ鍵を受け取り、暗号化コンテンツを復号し利用する端末装置５００と、端末装置５００を介してサーバ１００とＳＡＣを確立し、ＳＡＣ上でユーザのライセンスを取得し、ライセンスを解釈し端末装置５００からの要求に応じてコンテンツ鍵を端末装置５００へ出力するＩＣカード６００とから構成される。
【００１７】
なお、本実施の形態ではＩＣカード６００を用いる構成を説明するが、これは特に利用する機器を限定するものではない。同様の処理を端末装置５００内蔵のＬＳＩで行ってもよいし、外付けの外部機器で行ってもよい。
【００１８】
次に図２を参照してライセンスの構成について説明する。ライセンス２００はコンテンツを利用するための情報が記述されており、ライセンスを識別するライセンスＩＤ２０１と、ライセンスに関連付けられたコンテンツの識別子であるコンテンツＩＤ２０２と、関連付けられた暗号化コンテンツを復号するコンテンツ鍵２０３と、コンテンツ鍵２０３が利用できる条件が記述された利用条件２０４とから構成される。
【００１９】
ユーザがコンテンツを利用できるか否かは利用条件２０４を解釈することで判定される。例えば利用回数２０５といった情報が利用条件２０４に記述されている場合、ユーザは指定された回数だけコンテンツ鍵２０３を利用してコンテンツを利用することが可能となる。ＩＣカード６００はこのライセンス２００をサーバ１００から取得し、利用条件２０４を解釈したのち、コンテンツ鍵２０３が利用可能であると判定された場合のみ端末装置５００に対してコンテンツ鍵を渡すという制御を行う。
【００２０】
次にＳＡＣを確立する際に必要となるデジタル証明書について図３を参照して説明する。デジタル証明書は、公開鍵暗号におけるＩＣカード６００の公開鍵、および記述された公開鍵がＩＣカード６００のものであることを保証する、信頼できる第３者機関（以下、認証局と記述）のデジタル署名が格納された情報である。まずその構成について説明したのち、実際の使われ方について説明する。
【００２１】
図３に示すデジタル証明書３００はＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｕｎｉｏｎ）によって規定されているデジタル証明書の一例である。デジタル証明書３００は、証明書の記述形式のバージョンを示す証明書形式バージョン３０１と、証明書のＩＤを示す証明書シリアル番号３０２と、利用する公開鍵暗号やその他アルゴリズムを示すデジタル署名アルゴリズム識別子３０３と、証明書の発行者である認証局の識別子を示す発行者３０４と、証明書の有効期間を示す有効期限３０５と、証明書の持ち主である端末の識別子を格納するサブジェクト３０６と、サブジェクト３０６の公開鍵を格納する公開鍵３０７と、証明書の発行者３０４が独自拡張した情報を示す拡張領域３０８と、認証局のデジタル署名が格納された認証局デジタル署名３０９とから構成される。
【００２２】
ここで説明したデジタル証明書３００を保持する端末は、公開鍵３０７と対となる秘密鍵を保持する。この秘密鍵を用いて生成したデジタル署名は、その秘密鍵を保持する端末でのみ生成可能である。またその検証は対となるデジタル証明書３００の公開鍵３０７を用いた場合のみ成功する。従って、端末は通信データとその通信データに対するデジタル署名、および端末のデジタル証明書３００を通信相手に送信することにより、通信相手は受信した通信データが本当に当該端末が生成したものであるのか判定が可能となる。例えばサーバ１００に接続してきた端末が、ＩＣカード６００になりすました不正端末でないかの判定は以下の手順にて行われる。
【００２３】
（１）サーバ１００は乱数を生成し、ＩＣカード６００へ送信する。
（２）ＩＣカード６００は、ＩＣカード６００の秘密鍵を用いて受信した乱数に対するデジタル署名を生成し、ＩＣカード６００のデジタル証明書３００と共にサーバ１００へ返信する。
（３）サーバ１００は受信したデジタル証明書３００の認証局デジタル署名３０９を、認証局の公開鍵を利用して署名検証を行う。成功した場合、サーバ１００はサブジェクト３０６にて通信相手を識別する。サブジェクト３０６がＩＣカード６００のものと一致する場合には（４）へ進む。
【００２４】
（４）ＩＣカード６００のデジタル証明書３００の署名検証が成功した場合、（１）にて送信した乱数と、受信したデジタル証明書３００に格納されている公開鍵３０７を用いて、受信したデジタル署名の検証を行う。成功した場合、サーバ１００は、通信相手がＩＣカード６００であると判定する。
【００２５】
以上の処理中で検証処理に失敗した場合、サーバ１００は不正端末であると判定する。なお、公開鍵暗号を利用した署名生成や署名検証については、非特許文献１が詳しい。ここで説明した認証は、サーバ１００がＩＣカード６００を認証する片方向認証であるが、これを双方で行い、かつ公開鍵暗号の鍵配送アルゴリズムを用いることによりＳＡＣを確立することが可能となる。公開鍵暗号の鍵配送アルゴリズムについては、非特許文献２が詳しい。
【００２６】
図４を参照して、端末Ａ／端末Ｂ間でのＳＡＣ確立手順について説明する。ここで、端末Ａおよび端末Ｂは、同一の認証局に署名されたデジタル証明書Ａ、Ｂ、および前記認証局の公開鍵を保持しているものとする。
【００２７】
（１）端末ＡはＳＴ４０３にて乱数Ｒａを生成し、デジタル証明書Ａと共に端末Ｂへ送信する。
【００２８】
（２）ＳＴ４０４にて端末Ｂは受信したデジタル証明書Ａのデジタル署名を認証局の公開鍵にて検証する。検証が成功すればＳＴ４０５にて乱数Ｒｂを生成し、ＳＴ４０５にて乱数Ｒｂを用いて鍵配送アルゴリズムに基づく処理を行う。ここではＤＨ（Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ）アルゴリズムを用いるとし、ＤＨ−Ｐ１Ｖ（ＤＨのＰｈａｓｅ  １  Ｖａｌｕｅ）を計算し、ＳＴ４０８にて乱数ＲａとＤＨ−Ｐ１Ｖに対して端末Ｂの秘密鍵を用いデジタル署名を生成する。以上の処理の後、端末Ｂは乱数Ｒｂ、デジタル証明書Ｂ、ＤＨ−Ｐ１Ｖ、生成したデジタル署名を端末Ａへ送信する。
【００２９】
（３）端末Ａは、まずＳＴ４０９にて受信したデジタル証明書Ｂのデジタル署名を認証局の公開鍵３０７にて検証する。次にＳＴ４１０にて、４２０にて送信した乱数Ｒａと、４２１にて受信したＤＨ−Ｐ１Ｖおよびデジタル証明書Ｂに格納された公開鍵とから、４２１にて受信したデジタル署名の検証を行う。ここで検証が成功した場合、ＤＨ−Ｐ１Ｖは端末Ｂにて生成したことが保証される。次に、ＳＴ４１１にて乱数ＲａからＤＨアルゴリズムを用いてＤＨ−Ｐ１Ｖを計算し、ＳＴ４１２にて４２１で受信した乱数Ｒｂと前記生成したＤＨ−Ｐ１Ｖに対し端末Ａの秘密鍵を用いてデジタル署名を生成する。その後、生成したＤＨ−Ｐ１Ｖおよびデジタル署名を端末Ｂへ送信する。
【００３０】
（４）端末ＢはＳＴ４１３にて受信したデジタル署名の検証を行う。検証処理は、４２０にて受信したデジタル証明書Ａに格納された公開鍵３０７と、４２１で送信した乱数Ｒｂと、４２２にて受信したＤＨ−Ｐ１Ｖを用いて行われる。この検証が成功した場合、ＤＨ−Ｐ１Ｖは端末Ａで生成されたことが保証される。
【００３１】
（５）最後にＳＴ４１４、ＳＴ４１５にて通信相手から受信したＤＨ−Ｐ１Ｖと、各端末内で生成した乱数Ｒａ、Ｒｂを用いて鍵交換アルゴリズムから通信鍵の生成処理を行う。
【００３２】
以上の処理により、端末Ａ、端末Ｂで同一の通信鍵が生成される。端末Ａ／端末Ｂ間で通信を行う際に、通信データを前記生成した通信鍵にて暗号化処理することによりセキュアな通信が可能となる。なお、ＳＡＣ確立処理の各過程において検証が成功しない場合、相手端末は不正端末であるとみなし通信切断等の終了処理を行う。
【００３３】
なお、ここでは端末Ａ、端末Ｂが保持するデジタル証明書は同一の認証局に署名された証明書であるとしたが、一般には同一でなくてもよい。その場合、受信したデジタル証明書３００に署名している認証局の公開鍵を、インターネットを介して当該認証局から取得してもよい。
【００３４】
次に図５を参照して、コンテンツ配信システムにおけるコンテンツ再生を行う端末装置５００の構成を説明する。
端末装置５００は、インターネットに接続されサーバ１００と通信を行う通信部５０１と、サーバ１００から取得した暗号化コンテンツを復号する復号部５０２と、ＭＰＥＧ−２などの圧縮技術により圧縮されたコンテンツを伸張する伸張部５０３と、端末装置５００／ＩＣカード６００間の通信コマンド、およびサーバ１００／ＩＣカード６００間の通信メッセージを処理するメッセージ処理部５０４と、ＩＣカード６００の識別子（以下、ＣカードＩＤと記述）とデジタル証明書３００を関連付けて記憶するＩＣカード証明書記憶部５０５と、端末装置５００の各機能部を制御する制御部５０６と、ＩＣカード６００が通信するサーバ１００のデジタル証明書３００を保持するか否かのフラグと、サーバ１００のデジタル証明書３００の証明書シリアル番号３０２とを関連付けて記憶するシリアル番号記憶部５０７と、ＩＣカード６００と通信を行うＩＣカード通信部５０８とから構成される。
【００３５】
次に図６を参照して、コンテンツ配信システムにおけるサーバ１００とのＳＡＣ確立、サーバ１００からのライセンス取得、保持等のセキュア処理を行うＩＣカード６００の構成について説明する。但し本発明の目的は、効率的なＳＡＣ確立処理についてであるため、ここではライセンス取得、保持等に必要となる処理部については説明しない。
ＩＣカード６００は、コンテンツ配信サービスにおいてＩＣカードに一意に割り振られたＩＣカードＩＤを格納するＩＣカードＩＤ記憶部６０１と、サーバ１００への通信メッセージ、および端末装置５００との通信コマンドの処理を行うメッセージ処理部６０２と、ＩＣカード６００の各機能部を制御する制御部６０３と、端末装置５００と通信を行う通信部６０４と、サーバ１００のＵＲＬとサーバ１００のデジタル証明書３００を関連付けて記憶するサーバ証明書記憶部６０５と、ＩＣカード６００のデジタル証明書３００を記憶するＩＣカード証明書記憶部６０６と、各種暗号処理を行う暗号処理部６０７と、通信するサーバ１００のＵＲＬを記憶するサーバＵＲＬ記憶部６０８と、ＤＨアルゴリズムによって生成される通信用鍵を格納する通信鍵格納部６０９とから成る。
【００３６】
なお、ここではＩＣカード６００に１つのコンテンツ配信サービスのクライアントが実装されている構成図を示したが、複数実装される形態でもよい。例えば、Ｊａｖａカードに代表されるマルチアプリケーションカードを用いて、前記ＩＣカードの各種機能部をソフトウェアで実装してもよい。
【００３７】
次に端末装置５００と、ＩＣカード６００の通信方法について説明する。一般にＩＣカードと端末の通信プロトコルはＩＳＯ７８１６にて規定されているものが用いられる。ＩＳＯ７８１６にはＩＣカードの物理的特性から電気信号、伝送プロトコル、コマンドフォーマットまで規定されている。ここではコマンドフォーマットについて簡単に説明する。ＩＣカードと端末の通信はＡＰＤＵ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）によって行われる。ＡＰＤＵはコマンドおよびレスポンスの２つからなり、それぞれ図７、図８を参照してそのフォーマットについて説明する。
【００３８】
図７を参照してコマンドＡＰＤＵの構成について説明する。コマンドＡＰＤＵは、コマンドヘッダ７０１とペイロード７０２とから成る。コマンドヘッダ７０１は、コマンド／レスポンスのＡＰＤＵがどの程度ＩＳＯ７８１６に適合するのかを示す値を格納するＣＬＡ７０３と、コマンドＡＰＤＵによってＩＣカードに指示される処理の命令識別子を格納するＩＮＳ７０４と、命令に対するパラメータを格納するＰ１（７０５）およびＰ２（７０６）とから構成される。ペイロード７０２は、ペイロードに格納されるデータバイト数を格納するＬｃ７０７と、ＩＣカードへの送信データを格納するデータ領域７０８と、コマンドＡＰＤＵに対するレスポンスＡＰＤＵに格納されるデータバイト数を指定するＬｅ７０９とから成る。以上のフォーマットがＩＳＯ７８１６にて規定されている。
【００３９】
ところで、データ領域７０８の長さを指定するＬｃ７０７は１バイトであり、データ領域７０８には最大２５５バイトのデータしか格納できない。従って、それを超える長さのデータをＩＣカードへ送信する場合、データをいくつかのブロックに分割し、ＩＣカードへ送信する必要がある。そこで端末装置５００／ＩＣカード６００間で送信データの分割に対応するため、データ領域に分割情報を新たに追加する。分割情報は、現在のＰＤＵの番号を示すＰＤＵ番号７１０と、分割した最後のＰＤＵ番号を示す最終ＰＤＵ番号７１１とから構成される。端末装置５００がデータを分割して送信する場合、分割した個数を最終ＰＤＵ番号７１１へ格納し、これから送信するＰＤＵ番号をＰＤＵ番号７１０へ格納し、分割したデータのＰＤＵ番号７１１番目のブロックをデータ領域７１２へ格納して送信する。ＩＣカード６００側では、受信したＰＤＵ番号７１０と最終ＰＤＵ番号７１１とからデータを連結し、復元する処理を行う。図１０〜１２において示す端末装置５００／ＩＣカード６００間のコマンドＡＰＤＵフォーマットにおいて、ＰＤＵ番号７１０、最終ＰＤＵ番号７１１に格納する値については特に明記しないが、上記で説明した適切な値が格納されるものとする。
【００４０】
次に図８を参照してレスポンスＡＰＤＵの構成を説明する。レスポンスＡＰＤＵは、レスポンスデータを格納するペイロード８０１と、ＩＣカードの処理ステータスを格納するＳＷ１／ＳＷ２（８０２）から構成される。ペイロード８０１は、データを分割して送信するための情報であるＰＤＵ番号８０３および最終ＰＤＵ番号８０４と、端末装置５００からの要求に対する処理ステータスを格納するステータスコード８０５と、分割したＰＤＵ番号８０３番目のデータブロックを格納したデータ領域８０６とから構成される。以降、図１０〜１２において示す端末装置５００／ＩＣカード６００間のレスポンスＡＰＤＵのフォーマットにおいてＰＤＵ番号８０３、最終ＰＤＵ番号８０４に格納する値については特に明記しないが、上記で説明した適切な値が格納されるものとする。また、ＳＷ１／ＳＷ２（８０２）に格納されるステータスは、処理結果のステータスコード８０５に対応したＩＳＯ７８１６規定の適切な値が格納される。例えば、ＩＳＯ７８１６では正常終了におけるＳＷ１／ＳＷ２には「９０００」が格納されると規定されている。
【００４１】
図９〜１２を参照してサーバ１００／ＩＣカード６００間で送受信されるメッセージの構成や、端末装置５００／ＩＣカード６００間で送受信されるコマンド／レスポンスＡＰＤＵのフォーマットについて説明する。
【００４２】
まず、図９を参照してサーバ１００／ＩＣカード６００間で送受信されるメッセージの構成について説明する。
【００４３】
まず、ＳＡＣを確立するために通信相手に乱数とデジタル証明書３００を送信するためのチャレンジメッセージ９００について説明する。チャレンジメッセージ９００は、メッセージの種別を示すメッセージＩＤ９０１と、メッセージの長さを格納するメッセージ長９０２と、生成した乱数を格納する乱数９０３と、認証局により署名されたデジタル証明書３００を格納する証明書９０４とから成る。このチャレンジメッセージ９００は図４にて説明したＳＡＣ処理の４２０と４２１（の一部）に対応するメッセージである。
【００４４】
次に鍵交換メッセージ９１０について説明する。鍵交換メッセージ９１０は、メッセージの種別を示すメッセージＩＤ９１１と、メッセージの長さを格納するメッセージ長９１２と、鍵交換アルゴリズムであるＤＨアルゴリズムに基づいて計算した結果を格納するＤＨ−Ｐ１Ｖ９１３と、チャレンジメッセージ９００で受信した乱数と計算したＤＨ−Ｐ１Ｖに対して生成したデジタル署名を格納する署名９１４とから成る。鍵交換メッセージ９１０は、図４にて説明したＳＡＣ処理の４１２（の一部）、４２２に対応するメッセージである。
【００４５】
最後にＳＡＣ処理の成功／失敗等を通信相手に通知するためのステータスメッセージ９２０について説明する。ステータスメッセージ９２０は、メッセージの種別を示すメッセージＩＤ９２１と、メッセージの長さを格納するメッセージ長９２２と、ＳＡＣ処理成功や失敗等の処理ステータスを格納するステータスコード９２３から成る。
続いて図１０〜１２を参照して、端末装置５００／ＩＣカード６００間の通信で利用されるコマンド／レスポンスＡＰＤＵのフォーマットについて説明する。
【００４６】
まず図１０を参照して、端末装置５００がＩＣカード６００の各種情報を取得する際のコマンドについて説明する。
コマンドＡＰＤＵ１０００およびレスポンスＡＰＤＵ１０１０は、端末装置５００がＩＣカード６００のＩＣカードＩＤを取得する際に使用するＩＣカードＩＤ取得コマンド／レスポンスのフォーマットである。コマンドＡＰＤＵ１０００は、ＩＣカードＩＤ取得コマンドであることを示すＩＮＳ値（ここでは例えば３０とする）が格納されたコマンドヘッダ１００１と、データ領域７１２が空であるペイロード１００２とから成る。これに対するレスポンスＡＰＤＵ１０１０は、処理ステータスを格納するステータスコードと、ＩＣカード６００に割り当てられたＩＣカードＩＤとが格納されたペイロード１０１１と、ＩＳＯ７８１６にて規定された処理ステータスを格納するＳＷ１／ＳＷ２（８０２）とから成る。
【００４７】
コマンドＡＰＤＵ１０２０およびレスポンスＡＰＤＵ１０３０は、端末装置５００がＩＣカード６００からＩＣカード証明書を取得する際に使用するＩＣカード証明書取得コマンド／レスポンスのフォーマットである。コマンドＡＰＤＵ１０２０は、ＩＣカード証明書コマンドであることを示すＩＮＳ値（ここでは例えば３２とする）が格納されたコマンドヘッダ１０２１と、データ領域７１２に取得するＩＣカード証明書３００を保持するＩＣカードのＩＣカードＩＤが格納されたペイロード１０２２とから成る。これに対するレスポンスＡＰＤＵ１０３０は、処理ステータスを格納するステータスコードと、ＩＣカードＩＤに対応するＩＣカード証明書３００とが格納されたペイロード１０３１と、ＩＳＯ７８１６にて規定された処理ステータスを格納するＳＷ１／ＳＷ２（８０２）とから成る。
【００４８】
次に図１１、１２を参照して、サーバ１００／ＩＣカード６００間でＳＡＣを確立する際に送受信するするメッセ−ジを、端末装置５００／ＩＣカード６００間で送受信する際に利用するコマンド／レスポンスのフォーマットについて説明する。
コマンドＡＰＤＵ１０４０およびレスポンスＡＰＤＵ１０５０は、端末装置５００がＩＣカード６００に対してサーバ１００とのＳＡＣ確立を要求する際に利用するコマンド／レスポンスのフォーマットである。コマンドＡＰＤＵ１０４０は、ＳＡＣ確立要求コマンドであることを示すＩＮＳ値（ここでは例えば３４とする）が格納されたコマンドヘッダ１０４１と、データ領域７１２にＳＡＣを確立するサーバ１００のＵＲＬが格納されたペイロード１０４２とから成る。これに対するレスポンスＡＰＤＵ１０５０は、処理ステータスを格納するステータスコードと、端末装置５００へＩＣカード証明書を結合し、チャレンジメッセージを作成することを指示するＩＣカード証明書結合指示フラグと、ＳＡＣ確立を行うサーバ１００のサーバ証明書３００を、ＩＣカード６００が保持しているかを端末装置５００へ通知するサーバ証明書保持フラグと、保持するサーバ証明書３００の証明書シリアル番号３０２を格納するサーバ証明書シリアル番号と、ＩＣカード６００が一部作成したチャレンジメッセージ９００とを格納するペイロード１０５１と、ＩＳＯ７８１６にて規定された処理ステータスを格納するＳＷ１／ＳＷ２（８０２）とから成る。
【００４９】
コマンドＡＰＤＵ１０６０およびレスポンスＡＰＤＵ１０７０は、サーバ１００に送信したチャレンジメッセージ９００に対する応答メッセージを、ＩＣカード６００へ送信する際に利用するコマンド／レスポンスのフォーマットである。コマンドＡＰＤＵ１０６０は、チャレンジメッセージ９００に対するサーバの応答メッセージを、ＩＣカード６００へ転送するコマンドであることを示すＩＮＳ値（ここでは例えば３６とする）が格納されたコマンドヘッダ１０６１と、データ領域７１２に、端末装置５００がチャレンジメッセージ９００からサーバ証明書３００を分離したかを示すサーバ証明書分離フラグと、前記サーバ証明書３００が削除された（もしくは削除されていない）チャレンジメッセージ９００と、サーバ１００から送信された鍵交換メッセージ９１０と、を格納したペイロード１０６２とから成る。これに対するレスポンスＡＰＤＵ１０７０は、処理ステータスを格納するステータスコードと、ＩＣカード６００がサーバ１００へ送信する鍵交換メッセージ９１０と、を格納するペイロード１０７１と、ＩＳＯ７８１６にて規定された処理ステータスを格納するＳＷ１／ＳＷ２（８０２）とから成る。
【００５０】
コマンドＡＰＤＵ１０８０およびレスポンスＡＰＤＵ１０９０は、サーバ１００からＩＣカード６００へ送信されたステータスメッセージ９２０をＩＣカード６００へ転送する際に利用するコマンド／レスポンスのフォーマットである。コマンドＡＰＤＵ１０８０は、サーバ１００からのステータスメッセージ９２０をＩＣカード６００へ転送することを示すＩＮＳ値（ここでは例えば３８とする）が格納されたコマンドヘッダ１０８１と、データ領域７１２にサーバ１００から送信されたステータスメッセージ９２０と、を格納したペイロード１０８２とから成る。これに対するレスポンスＡＰＤＵ１０９０は、処理ステータスを格納するステータスコードを格納するペイロード１０９１と、ＩＳＯ７８１６にて規定された処理ステータスを格納するＳＷ１／ＳＷ２（８０２）とから成る。
【００５１】
次に、サーバ１００／ＩＣカード６００間におけるＳＡＣ確立処理において、端末装置５００およびＩＣカード６００の動作について説明する。但し、サーバ１００は一般的なコンテンツ配信サーバと同様な処理でよいため、詳細な説明については省略する。まず、図１３、図１４を使用して、全体の流れについて説明する。
【００５２】
図１３は端末装置５００が起動してから行う初期動作であり、ＳＴ１１００にて端末装置５００は接続されているＩＣカード６００のＩＣカード証明書３００を取得する。その後、ユーザからの要求を待つ待機状態に遷移する。ＩＣカード証明書取得プロセスＳＴ１１００については後述する。
【００５３】
図１４は、端末装置５００がユーザからの要求を受けて、サーバ１００からライセンス２００を取得する際の処理の流れについて示している。まずサーバ１００／ＩＣカード６００間でＳＡＣを確立するＳＡＣ確立プロセスＳＴ１２００を行い、ＳＡＣ上でサーバ１００からライセンス２００を取得するライセンス取得プロセスＳＴ１２０１を行う。ＳＡＣ確立プロセスＳＴ１２００については後述するが、ライセンス取得プロセスＳＴ１２０１については一般的な方法を用いるため、詳細については説明しない。
【００５４】
次に各プロセスの説明を行う。まず、ＩＣカード証明書取得プロセスＳＴ１１００について説明し、ＳＡＣ確立プロセスＳＴ１２００について説明する。
＜１＞ＩＣカード証明書取得プロセスＳＴ１１００
図１５を参照して、ＩＣカード証明書取得プロセスＳＴ１１００について説明する。まず端末装置５００は起動後に、接続されているＩＣカードの識別子を取得するため、ＳＴ１３００にて端末装置５００の制御部５０６は、ＩＣカードＩＤを要求するコマンドＡＰＤＵ１０００の作成をメッセージ処理部５０４へ指示する。メッセージ処理部５０４は、コマンドヘッダ１００１のＩＮＳ領域にＩＣカードＩＤ取得要求であることを示すＩＮＳ値（３０）を格納することでコマンドＡＰＤＵ１０００を生成し、制御部５０６へ戻す。制御部５０６は、生成したコマンドＡＰＤＵ１０００を、ＩＣカード通信部５０８を介してＩＣカード６００へ送信する。
【００５５】
ＳＴ１３０１にてＩＣカード６００の制御部６０３は、通信部６０４から受信したコマンドＡＰＤＵを取得したのち、メッセージ処理部６０２へセットする。メッセージ処理部６０２は、コマンドＡＰＤＵのコマンドヘッダに格納されたＩＮＳ値から本コマンドがコマンドＡＰＤＵ１０００であると判定し、制御部６０３へ通知する。制御部６０３はＩＣカードＩＤ記憶部６０１からＩＣカードＩＤを取得し、「正常終了」を示すステータスコードとＩＣカードＩＤをメッセージ処理部６０２へセットし、レスポンスＡＰＤＵ１０１０の生成を指示する。メッセージ処理部６０２は、セットされたステータスコード、およびＩＣカードＩＤをペイロード１０１１へ格納することでレスポンスＡＰＤＵ１０１０を生成し、制御部６０３へ戻す。制御部６０３は生成したレスポンスＡＰＤＵ１０１０を、通信部６０４を介して端末装置５００に対して送信する。
【００５６】
ＳＴ１３０２にて端末装置５００の制御部５０６は、ＩＣカード通信部５０８から受信したレスポンスＡＰＤＵ１０１０を取得し、メッセージ処理部５０４へセットした後、ＩＣカードＩＤを取得する。メッセージ処理部５０４は、ペイロード１０１１に格納されたステータスコードが「正常終了」である場合、格納されているＩＣカードＩＤを取得し、制御部５０６に戻す。ステータスコードが「エラー」である場合には、その旨を制御部５０６へ通知する。制御部５０６は、画面等を通じてユーザへエラー通知を行う。
【００５７】
制御部５０６は、取得したＩＣカードＩＤに対応するＩＣカード証明書３００が、ＩＣカード証明書記憶部５０５に格納されているか判定する。ＩＣカードＩＤに対応するデジタル証明書３００を保持していない場合にはＳＴ１３０３にてＳＴ１３０４へ進み、ＩＣカード６００からＩＣカード証明書３００を取得する。保持している場合には、ＳＴ１３０３にてＩＣカード証明書取得プロセスＳＴ１１００を終了する。
【００５８】
ＳＴ１３０４にて端末装置５００は、制御部５０６がメッセージ処理部５０４へ取得したＩＣカードＩＤをセットし、ＩＣカード証明書取得要求のコマンドＡＰＤＵ１０２０を作成させる。メッセージ処理部５０４は、コマンドヘッダ１０２１のＩＮＳ領域にＩＣカード証明書要求であることを示す値（３２）を格納し、データ領域７１２へＩＣカードＩＤを格納したコマンドＡＰＤＵ１０２０を制御部５０６に戻す。制御部５０６は、生成したコマンドＡＰＤＵ１０２０を、ＩＣカード通信部５０８を介してＩＣカード６００に対して送信する。
【００５９】
ＳＴ１３０５にてＩＣカード６００の制御部６０３は、通信部６０４から受信したコマンドＡＰＤＵを取得し、メッセージ処理部６０２にセットする。メッセージ処理部６０２は、セットされたコマンドＡＰＤＵにおけるコマンドヘッダのＩＮＳ値をチェックし、ＩＣカード証明書取得要求であると判定し、その結果を制御部６０３へ通知すると共に、データ領域７１２に格納されたＩＣカードＩＤを制御部６０３へ戻す。
【００６０】
制御部６０３では、取得したＩＣカードＩＤと、ＩＣカードＩＤ記憶部６０１に格納されたＩＣカードＩＤが一致するか判定する。一致する場合、ＩＣカード証明書記憶部６０６からＩＣカード証明書３００を取得し、「正常終了」を示すステータスコードと共にメッセージ処理部６０２へセットし、レスポンスＡＰＤＵ１０３０の作成を指示する。メッセージ処理部６０２は、セットされたステータスコードおよびＩＣカード証明書をペイロード１０３１に格納し、生成したレスポンスＡＰＤＵ１０３０を制御部６０３に戻す。制御部６０３は、生成したレスポンスＡＰＤＵ１０３０を、通信部６０４を介して端末装置５００へ送信する。
【００６１】
ＳＴ１３０６にて端末装置５００の制御部５０６は、ＩＣカード通信部５０８から取得したレスポンスＡＰＤＵ１０３０をメッセージ処理部５０４にセットし、ＩＣカード証明書３００を取得する。メッセージ処理部５０４は、ペイロード１０３１に格納されたステータスコードが「正常終了」である場合にはＩＣカード証明書３００を取得し、制御部５０６へ戻す。制御部５０６は、取得したＩＣカード証明書３００を、ＳＴ１３０２にて取得したＩＣカードＩＤと関連付けてデジタル証明書記憶部５０５へ格納する。ステータスコードが「エラー」である場合には、メッセージ処理部５０４はその旨を制御部５０６へ通知し、制御部５０６は画面等を通じてユーザへエラーを通知する。
【００６２】
以上の処理を行うことにより、端末装置５００はＩＣカード６００のＩＣカード証明書３００を保持することができる。
次にサーバ１００との通信を行う際に行われるＳＡＣ確立処理について、図１６〜１８を参照して説明する。
＜２＞ＳＡＣ確立プロセスＳＴ１２００
端末装置５００は、ＩＣカード６００に対しライセンス取得等の要求を行うにあたり、サーバ１００／ＩＣカード６００間でＳＡＣ確立を要求する。サーバ１００／ＩＣカード６００間でのＳＡＣ確立の手順を以下に説明する。
【００６３】
ＳＴ１４００にて端末装置５００の制御部５０６は、接続するサーバ１００のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）をメッセージ処理部５０４にセットし、ＩＣカード６００へのＳＡＣ確立要求であるコマンドＡＰＤＵ１０４０の作成を指示する。メッセージ処理部５０４は、コマンドヘッダ１０４１のＩＮＳ領域にＳＡＣ確立要求であることを示す値（ここでは３４）を格納し、データ領域７１２に接続するサーバＵＲＬを格納し、生成したコマンドＡＰＤＵ１０４０を制御部５０６へ戻す。制御部５０６は、取得したコマンドＡＰＤＵ１０４０をＩＣカード通信部５０８を介してＩＣカード６００へ送信する。
【００６４】
ＳＴ１４０１にてＩＣカード６００の制御部６０３は、通信部６０４から取得したコマンドＡＰＤＵをメッセージ処理部６０２へセットする。メッセージ処理部６０２は、セットされたコマンドＡＰＤＵ１０４０のコマンドヘッダ１０４１に格納されたＩＮＳ値から、ＳＡＣ確立要求であると判定し、判定結果とデータ領域７１２に格納されたサーバＵＲＬを制御部６０３へ戻す。制御部６０３は、取得したサーバＵＲＬをサーバＵＲＬ記憶部６０８に格納し、次にＳＡＣ処理に必要になる乱数Ｃを新たに生成する。
【００６５】
ＳＴ１４０２にて制御部６０３は、ＩＣカード証明書記憶部６０６からＩＣカード証明書のサイズを取得し、前記生成した乱数Ｃと共にメッセージ処理部６０２へセットし、チャレンジメッセージ９００の生成を指示する。メッセージ処理部６０２は、メッセージＩＤ９０１にチャレンジメッセージのメッセージＩＤを格納し、メッセージ長９０２に乱数のサイズとセットされたＩＣカード証明書のサイズを合計した値を格納し、乱数９０３にはセットされた乱数Ｃを格納する。証明書９０４にはＩＣカード証明書を格納せず、メッセージ処理部６０２は生成されたチャレンジメッセージ９００を制御部６０３へ戻す。
【００６６】
次にＳＴ１４０３にて、制御部６０３はＳＴ１４０１にて取得したサーバＵＲＬに対応するサーバ証明書３００がサーバ証明書記憶部６０５に格納されているか判定する。格納されている場合、対応するサーバ証明書３００を取得し、証明書シリアル番号３０２を取得する。次に制御部６０３は、「正常終了」を示すステータスコードと、サーバ証明書３００の保持判定結果と、保持している場合にはサーバ証明書３００のシリアル番号３０２と、前記生成したチャレンジメッセージ９００とをメッセージ処理部６０２へセットし、レスポンスＡＰＤＵ１０５０の生成を指示する。
【００６７】
メッセージ処理部６０２は、ペイロード１０５１へセットされたステータスコードを格納し、ＩＣカード証明書３００を結合する旨をＩＣカード証明書結合指示フラグに格納し、サーバ証明書３００の保持判定結果をサーバ証明書保持フラグに格納し、サーバ証明書保持フラグが「真」であれば、セットされたサーバ証明書の証明書シリアル番号３０２をサーバ証明書シリアル番号に格納する。ここで、サーバ証明書保持フラグが「偽」であれば前記証明書シリアル番号３０２は格納しないか、無意味な値で領域を埋める等の処理を行う。最後にセットされたＩＣカード証明書が格納されていないチャレンジメッセージ９００を格納することでレスポンスＡＰＤＵ１０５０を作成し、制御部６０３へ戻す。制御部６０３は、生成したレスポンスＡＰＤＵ１０５０を、通信部６０４を介して端末装置５００へ送信する。
【００６８】
ＳＴ１４０４にて端末装置５００の制御部５０６は、ＩＣカード通信部５０８から取得したレスポンスＡＰＤＵ１０５０をメッセージ処理部５０４へセットし、ステータスコードの取得を行う。ステータスコードが「エラー」である場合には、画面等を通じてユーザへエラーを通知する。「正常終了」である場合、制御部５０６は、ＩＣカード証明書結合指示フラグと、ＩＣカード証明書３００が格納されていないチャレンジメッセージ９００と、サーバ証明書保持フラグとを取得する。次にサーバ証明書保持フラグが「真」である場合には、新たにサーバ証明書シリアル番号を取得する。
【００６９】
ＳＴ１４０５にて制御部５０６は、前記取得したＩＣカード証明書結合指示フラグをチェックし、「真」であればＳＴ１１００にて取得したＩＣカードＩＤに対応したＩＣカード証明書３００をＩＣカード証明書記憶部５０５から取得し、前記取得したチャレンジメッセージ９００の証明書９０４に格納する。
次にＳＴ１４０６にて制御部５０６は、前記修正したチャレンジメッセージ９００を、通信部５０１を介してサーバ１００へ送信する。
【００７０】
ＳＴ１４０７にてサーバ１００は、ＳＴ４０４の処理と同様に、保持する認証局の公開鍵にてＩＣカード証明書３００の署名検証を行う。
ＳＴ１４０８にてＩＣカード証明書３００の検証が失敗した場合、ステータスメッセージ９２０生成し、端末装置５００へ送信する。ここで、ステータスメッセージ９２０のステータスコード９２３には、ＩＣカード証明書検証失敗を示すエラー値が格納される。
【００７１】
ＳＴ１４０９にてステータスメッセージ９２０を受信した端末装置５００の制御部５０６は、通信部５０１からステータスメッセージ９２０を取得し、メッセージ処理部５０４へセットし、メッセージＩＤを取得する。取得したメッセージＩＤがステータスメッセージであった場合、制御部５０６はメッセージ処理部５０４に対し、ステータスメッセージ転送のコマンドＡＰＤＵ１０８０を生成するように指示する。メッセージ処理部５０４は、コマンドＡＰＤＵ１０８０のコマンドヘッダ１０８１のＩＮＳ領域に、ステータスメッセージ転送であることを示す値（３８）を格納し、データ領域７１２にセットされたステータスメッセージ９２０を格納し、生成したコマンドＡＰＤＵ１０８０を制御部５０６へ戻す。制御部５０６は、取得したコマンドＡＰＤＵ１０８０を、ＩＣカード通信部５０８を介してＩＣカード６００へ送信する。
【００７２】
ＳＴ１４１０にてＩＣカードの制御部６０３は、通信部６０４から取得したコマンドＡＰＤＵをメッセージ処理部６０２へセットする。メッセージ処理部６０２は、セットされたコマンドＡＰＤＵのコマンドヘッダに格納されているＩＮＳ値から、ステータスメッセージの転送であると判断する。次にデータ領域７１２に格納してあるステータスメッセージ９２０を取得し、コマンドの種別を制御部６０４へ通知すると共にステータスメッセージ９２０を制御部６０４へ戻す。制御部６０４は、取得したステータスメッセージ９２０をメッセージ処理部６０２へセットし、格納してあるステータスコード９２３を取得する。制御部６０３は、ステータスコードを判定し、「エラー」であることを検出すると、サーバＵＲＬ記憶部６０８で記憶しているサーバＵＲＬを削除する。次に「エラー」を示すステータスコードをメッセージ処理部６０２へセットし、レスポンスＡＰＤＵ１０９０の作成を指示する。メッセージ処理部６０２は、セットされたステータスコードをペイロード１０９１へ格納し、生成したレスポンスＡＰＤＵ１０９０を制御部６０３へ戻す。制御部６０３は、生成したレスポンスＡＰＤＵ１０９０を、通信部６０４を介して端末装置５００へ送信する。
【００７３】
端末装置５００の制御部５０６は、ＩＣカード通信部５０８から受信したレスポンスＡＰＤＵ１０９０を取得し、メッセージ処理部５０４へセットし、ステータスコードを取得する。制御部５０６は、取得したステータスコードを判定し「エラー」であると判定された場合、画面等を通じてユーザへエラーを通知し、サーバ１００との通信を切断する。
ＳＴ１４０８にてＩＣカード証明書３００の署名検証に成功した場合には、ＳＴ１４１１へ進み、ＳＴ４０７の処理と同様にＤＨ−Ｐ１Ｖを生成する。引き続いてＳＴ１４１２にて４０８の処理と同様に、受信したチャレンジメッセージ９００の乱数９０３と、ＳＴ１４１１にて生成したＤＨ−Ｐ１Ｖに対するデジタル署名を生成し、鍵交換メッセージ９１０を生成する。
【００７４】
次にＳＴ１４１３にて、ＳＴ４０５の処理と同様にサーバ１００における乱数Ｓを生成し、ＳＴ１４１４にて前記生成した乱数Ｓを乱数９０３に、サーバ１００のサーバ証明書３００を証明書９０４に格納することでチャレンジメッセージ９００を生成する。
ＳＴ１４１５では、ＳＴ１４１２およびＳＴ１４１４にて生成したチャレンジメッセージ９００および鍵交換メッセージ９１０を、端末装置５００へ送信する。
【００７５】
ＳＴ１４１６にて端末装置５００の制御部５０６は、受信した２つのメッセージをメッセージ処理部５０４へセットし、メッセージＩＤを取得、判別することでチャレンジメッセージ９００を選択する。
次に制御部５０６は、シリアル番号記憶部５０７へ格納したＳＴ１４０４にて受信したサーバ証明書保持フラグをチェックする。サーバ証明書保持フラグが「真」である場合、制御部５０６はチャレンジメッセージ９００をメッセージ処理部５０４へセットし、サーバ証明書３００を取得する。制御部５０６は、取得したサーバ証明書３００の証明書シリアル番号３０２と、ＳＴ１４０４にて取得し、シリアル番号記憶部５０７へ格納しているシリアル番号と比較する。比較結果が一致する場合、制御部５０６はチャレンジメッセージ９００をメッセージ処理部５０４へセットし、サーバ証明書３００の分離を指示する。メッセージ処理部５０４は、セットされたチャレンジメッセージ９００の証明書９０４からサーバ証明書３００を分離し、メッセージ長９０２に乱数のサイズを格納し、修正したチャレンジメッセージ９００を制御部５０６へ戻す。サーバ証明書保持フラグが「偽」、もしくは証明書シリアル番号の比較が一致しない場合、チャレンジメッセージ９００からサーバ証明書３００の分離処理は行わない。
【００７６】
続いてＳＴ１４１７にて制御部５０６は、鍵交換メッセージ９１０と、サーバ証明書３００を分離した／もしくは分離していないチャレンジメッセージ９００と、サーバ証明書３００を分離したか否かを示すサーバ証明書分離フラグとをメッセージ処理部５０４へセットし、サーバ応答の転送を行うコマンドＡＰＤＵ１０６０の作成を指示する。
メッセージ処理部５０４は、コマンドＡＰＤＵ１０６０のコマンドヘッダ１０６１のＩＮＳ領域に、サーバ応答の転送であることを示す値（３６）を格納し、データ領域７１２には、セットされたサーバ証明書分離フラグと、サーバ証明書３００を分離した／もしくは分離していないチャレンジメッセージ９００と、鍵交換メッセージ９１０とを格納した後、生成したコマンドＡＰＤＵ１０６０を制御部５０６へ戻す。制御部５０６は生成したコマンドＡＰＤＵ１０６０を、ＩＣカード通信部５０８を介してＩＣカード６００へ送信する。
【００７７】
ＳＴ１４１８にてＩＣカード６００の制御部６０３は、通信部６０４から受信したコマンドＡＰＤＵを取得し、メッセージ処理部６０２へセットする。メッセージ処理部６０２は、セットされたコマンドＡＰＤＵのコマンドヘッダ１０６１に格納されたＩＮＳ値から、コマンドＡＰＤＵ１０６０であると判断し、コマンド種別の通知と共にデータ領域７１２に格納されているサーバ証明書分離フラグと、チャレンジメッセージ９００と、鍵交換メッセージ９１０とを制御部６０３へ戻す。
【００７８】
制御部６０３は、取得したサーバ証明書分離フラグをチェックし、分離済みであればＳＴ１４２１へ、そうでなければＳＴ１４１９へ進む。
サーバ証明書３００がチャレンジメッセージ９００に格納されている場合、ＳＴ１４１９にてＳＴ４０９と同様にサーバ証明書３００の署名検証を行う。まず制御部６０３は、チャレンジメッセージ９００をメッセージ処理部６０２へセットし、サーバ証明書３００を取得する。次に制御部６０３はサーバ証明書３００を暗号処理部６０７へセットし、認証局デジタル署名３０９の署名検証を指示する。
【００７９】
ＳＴ１４２０にて署名検証が成功した場合、制御部６０３は、サーバＵＲＬ記憶部６０８に格納されているサーバＵＲＬと、メッセージ処理部６０２から取得したサーバ証明書を関連付けてサーバ証明書記憶部６０５へ格納し、ＳＴ１４２１へ進む。対して署名検証が失敗した場合、制御部６０４はサーバ証明書３００の認証局デジタル署名３０９が正しくない旨のステータスコードをメッセージ処理部６０２へセットし、レスポンスＡＰＤＵ１０７０の作成を指示する。メッセージ処理部６０２は、ペイロード１０７１へセットされたステータスコードを格納し、生成されたレスポンスＡＰＤＵ１０７０を制御部６０３へ戻す。但し、鍵交換メッセージ９１０はセットされていないためペイロード１０７１のメッセージ領域には何も格納されておらず、レスポンスＡＰＤＵの構造的にはレスポンスＡＰＤＵ１０９０と同様となる。制御部６０３は、前記生成したレスポンスＡＰＤＵ１０７０を、通信部６０４を介して端末装置５００へ送信する。
【００８０】
端末装置５００は、ＩＣカード通信部５０８を介して取得したレスポンスＡＰＤＵ１０７０をメッセージ処理部５０４へセットし、ステータスコードを取得する。制御部５０６は取得したステータスコードを判定することによりエラーが発生したことを検出し、画面等を通じてユーザへエラー通知をすると共に、サーバとの通信を切断する。
【００８１】
次にＳＴ１４２１にてＳＴ４１０と同様に鍵交換メッセージ９１０に格納されたデジタル署名の検証を行う。まず、制御部６０２はメッセージ処理部６０２へ鍵交換メッセージ９１０をセットし、ＤＨ−Ｐ１Ｖ９１３および署名９１４を取得する。続いて、ＳＴ１４０１にて生成した乱数ＣとＤＨ−Ｐ１Ｖ９１３、署名９１４を暗号処理部６０７へセットし、署名検証を指示する。
【００８２】
ＳＴ１４２２にてＳＴ１４２１の署名検証に成功した場合、ＳＴ１４２３へ進み、失敗した場合にはＳＴ１４２０と同じ方法で端末装置５００へエラーを通知する。
次にＳＴ１４２３にてＩＣカード６００は、サーバ１００へ鍵交換メッセージ９１０を送信するためＳＴ４１１と同様にＤＨ−Ｐ１Ｖを計算する。まず制御部６０３は、乱数Ｃを暗号処理部６０７へセットし、ＤＨ−Ｐ１Ｖを生成させ、結果を取得する。
【００８３】
次にＳＴ１４２４にて制御部６０３はＳＴ４１２と同様にデジタル署名の生成を行う。まず制御部６０３は、ＳＴ１４１８にて受信したチャレンジメッセージ９００をメッセージ処理部６０２へセットし、乱数９０３を取得する。次に、ＳＴ１４２３にて生成したＤＨ−Ｐ１Ｖと、前記取得した乱数９０３を暗号処理部６０７へセットし、デジタル署名を生成し取得する。次に制御部６０３は、ＳＴ１４２３にて生成したＤＨ−Ｐ１Ｖと、ここで生成したデジタル署名をメッセージ処理部６０２へセットし、鍵交換メッセージ９１０の作成を指示する。メッセージ処理部６０２は、鍵交換メッセージ９１０であることを示す値をメッセージＩＤ９１１に格納し、セットされたＤＨ−Ｐ１Ｖとデジタル署名の合計サイズをメッセージ長９１２に格納し、セットされたＤＨ−Ｐ１ＶをＤＨ−Ｐ１Ｖ９１３に格納し、セットされたデジタル署名を署名９１４に格納することで鍵交換メッセージ９１０を生成した後、制御部６０３へ戻す。
【００８４】
ＳＴ１４２５にて制御部６０３は、鍵交換メッセージ９１０をサーバ１００へ送信する前に、ＳＴ４１４と同様に通信用鍵を生成する。制御部６０３は、乱数ＣおよびＳＴ１４２１にてサーバ１００から受信した鍵交換メッセージ９１０から取得したＤＨ−Ｐ１Ｖ９１３を、暗号処理部６０７へセットし、通信用鍵の生成を指示する。制御部６０３は生成した通信用鍵を暗号処理部６０７から取得し、通信用鍵記憶部６０９へ格納する。
【００８５】
次にＳＴ１４２６にて制御部６０３は、「正常終了」であることを示すステータスコードと、ＳＴ１４２４にて生成した鍵交換メッセージ９１０とをメッセージ処理部６０２へセットし、レスポンスＡＰＤＵ１０７０の作成を指示する。メッセージ処理部６０２は、セットされたステータスコードおよび鍵交換メッセージ９１０をペイロード１０７１へ格納し、レスポンスＡＰＤＵ１０７０を生成し制御部６０３へ戻す。制御部６０３は生成したレスポンスＡＰＤＵ１０７０を、通信部６０４を介して端末装置５００へ送信する。
【００８６】
ＳＴ１４２７にて端末装置５００の制御部５０６は、ＩＣカード通信部５０８から受信したレスポンスＡＰＤＵ１０７０を取得し、メッセージ処理部５０４へセットし、ステータスコードを取得する。ステータスコードが「エラー」であった場合には、画面等を通じてエラー通知を行い、サーバとの通信を切断する。対して「正常終了」であれば、引き続き鍵交換メッセージ９１０を取得し、サーバ１００へ送信する。
【００８７】
ＳＴ１４２８にてサーバ１００は４１３と同様に、受信した鍵交換メッセージに含まれる署名９１４の署名検証を行う。検証が成功すればＳＴ１４３０、失敗すればＳＴ１４０８と同様にエラーのステータスコードを格納したステータスメッセージ９２０を端末装置５００へ送信する。それに対する端末装置５００、ＩＣカード６００における処理は、ＳＴ１４０９およびＳＴ１４１０と同様である。
【００８８】
ＳＴ１４３０にてサーバ１００は、ＳＴ４１５と同様に通信用鍵の生成を行う。ここで生成された通信用鍵は、ＳＴ１４２５にてＩＣカード６００にて生成された通信用鍵と同一の値となるため、以後の通信ではデータを前記通信用鍵で暗号化することでセキュアな通信を行うことができる。
通信鍵の生成が完了した後、ＳＴ１４３１にてサーバ１００は通信鍵生成が完了したことをＩＣカード６００へ通知するためのステータスメッセージ９２０を作成し、送信する。送信するステータスメッセージ９２０のステータスコード９２３には「正常終了」を意味する値が格納される。
【００８９】
ＳＴ１４３２にて端末装置５００の制御部５０６は、受信したメッセージを通信部５０１から取得したのちメッセージ処理部５０４へセットし、メッセージＩＤを取得する。ここで制御部５０６は、メッセージＩＤから受信したメッセージがステータスメッセージ９２０と判断し、メッセージ処理部５０４にステータスメッセージ転送のコマンドＡＰＤＵ１０８０の作成を指示する。メッセージ処理部５０４は、コマンドヘッダ１０８１のＩＮＳ領域に、ステータスメッセージの転送である旨を示す値（３８）を格納し、データ領域７１２に、セットされたステータスメッセージ９２０を格納し、生成したコマンドＡＰＤＵ１０８０を制御部５０６へ戻す。制御部５０６は生成したコマンドＡＰＤＵ１０８０を、ＩＣカード通信部５０８を介してＩＣカード６００へ送信する。
【００９０】
ＳＴ１４３３にてＩＣカードの制御部６０３は、通信部６０４から受信したコマンドＡＰＤＵを取得し、メッセージ処理部６０２へセットする。メッセージ処理部６０２では、セットされたコマンドＡＰＤＵのコマンドヘッダに格納されたＩＮＳ値から、本コマンドがステータスメッセージの転送コマンドであると判定し、そのコマンド種別とデータ領域７１２から取得したステータスメッセージ９２０を制御部６０３へ戻す。
【００９１】
制御部６０３は、コマンド種別により取得したメッセージがステータスメッセージ９２０であると判定した後、再度ステータスメッセージ９２０をメッセージ処理部６０２へセットし、ステータスコード９２３を取得する。
【００９２】
次にＳＴ１４３４においてステータスコード９２３の判定を行い、「エラー」であった場合には通信鍵記憶部６０９に格納した通信用鍵を削除する。次に制御部６０３はメッセージ処理部６０２へ前記取得したステータスコード９２３をセットし、レスポンスＡＰＤＵ１０９０の作成を指示する。メッセージ処理部６０２は、セットされたステータスコード９２３をペイロード１０９１へ格納し、作成したＡＰＤＵ１０９０を制御部６０３へ戻す。制御部６０３は生成したレスポンスＡＰＤＵ１０９０を、通信部５０４を介して端末装置５００へ送信する。
【００９３】
端末装置５００の制御部５０６は、受信したレスポンスＡＰＤＵ１０９０をＩＣカード通信部５０８から取得し、メッセージ処理部５０４へセットし、ステータスコードを取得する。制御部５０６は、取得したステータスコードが「エラー」である場合、画面等を通じてユーザへ通知し、サーバ１００との通信を切断する。対して「正常終了」である場合、引き続きサーバ１００からのライセンス取得等の処理を開始する。但し、これらの処理は一般的な方法でよく、ここで詳細については説明しない。
【００９４】
以上の処理により、サーバ１００／ＩＣカード６００間でＳＡＣが確立され、ライセンス取得等がセキュアに行える。上記処理を繰り返し利用することにより、サーバ証明書３００およびＩＣカード証明書３００は端末装置５００／ＩＣカード６００間において１回しか送受信されない。従って、通信するデータ量が少なくなり、結果として端末装置５００はＩＣカード６００からより高速に応答を取得することが可能となる。
【００９５】
なお本発明の実施の形態では、ＳＴ１１００のＩＣカード証明書取得プロセスにおいて、ＩＣカードＩＤに関連付けられたＩＣカード証明書３００を端末装置５００が保持していない場合にはＩＣカード６００から取得するとしたが、ＩＣカード証明書３００を揮発性メモリへ格納し、電源ＯＮやＩＣカード挿入のタイミングで毎回ＩＣカード証明書３００を取得しても良い。
【００９６】
また、端末装置５００は、前記証明書３００をチャレンジメッセージ９００から取得してもよいし、当該カードからではなく外部メディアやサーバ等の機器から取得してもよい。
また、予めサーバ１００がＩＣカード６００のＩＣカード証明書３００を保持しておき、チャレンジメッセージ９００に証明書の変わりにＩＣカードの識別情報を格納しておき、それをもとにサーバ１００で使用するＩＣカード証明書３００を選択してもよい。
【００９７】
なお本発明の実施の形態では、レスポンスＡＰＤＵ１０５０のＩＣカード証明書結合指示フラグによって、ＩＣカード６００が端末装置５００へ結合を指示したが、端末装置５００がメッセージを解釈する等により判断してもよい。
また、端末装置５００は結合する際にＩＣカード証明書３００を保持していない場合、その段階でＩＣカード６００からＩＣカード証明書３００を取得し、保持してもよい。
【００９８】
また、端末装置５００が保持するＩＣカード証明書３００のシリアル番号をＩＣカード６００へ通知し、ＩＣカード６００はシリアル番号の新旧によりＩＣカード証明書３００のチャレンジメッセージ９００への格納を制御し、端末装置５００へ格納済みであることを通知してもよい。
なお本発明の実施の形態では、サーバ１００からのチャレンジメッセージ９００からサーバ証明書３００を分離するか否かは、ＩＣカード６００からＳＡＣ確立時に通知されたサーバ１００の証明書シリアル番号３０２によって行ったが、証明書の新旧が分かる情報であればよい。また単純なフラグであってもよい。
【００９９】
また、端末装置５００は起動時やＩＣカード挿入時に、ＩＣカード６００が保持するサーバ証明書３００のリストを取得し、それをもとに制御しても良い。
また、ＩＣカード６００は、サーバ１００のＵＲＬに対応するサーバ証明書３００を保持する場合、とりあえず端末装置５００へサーバ証明書３００の分離を指示し、デジタル署名の検証に失敗した場合には、再度端末装置５００から一時キャッシュしておいたサーバ証明書３００を取得してもよい。
【０１００】
また、端末装置５００は、通信ログ等からＩＣカード６００がサーバ証明書３００を保持していると思われる場合に、サーバ証明書３００を分離してもよい。
なお本発明の実施の形態では、ＩＣカード６００が保持するサーバ証明書３００は、証明書全体を保持する必要はなく、必要な情報、例えば証明書シリアル番号３０２、有効期限３０５、公開鍵３０７とサーバを識別する情報などを保持しておけばよい。
【０１０１】
また前記サーバを識別する情報はＳＴ１４００にてサーバＵＲＬを用いる場合を説明したが、サーバ証明書３００に格納されている発行者３０４や、ＵＲＬのハッシュ値などのサーバが識別でき情報であればよい。
なお本発明の実施の形態では、ＳＡＣを確立する通信相手をサーバ１００としたが、端末装置５００が内蔵するセキュア機能部と確立してもよい。また、ホームネットワーク等の他機器と確立してもよい。
【産業上の利用可能性】
【０１０２】
本発明にかかるコンテンツ再生装置は、ＩＣカード／端末装置間におけるデジタル証明書の送受信を必要最低限な場合にのみ行う機能を有し、コンテンツ配信サービスにおけるコンテンツ配信サービスにおけるコンテンツ再生装置として有用である。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施の形態におけるコンテンツ配信システムの全体図
【図２】本発明の実施の形態におけるライセンス２００の構成図
【図３】本発明の実施の形態におけるデジタル証明書３００の構成図
【図４】本発明の実施の形態におけるＳＡＣ確立の処理フロー図
【図５】本発明の実施の形態における端末装置５００の構成図
【図６】本発明の実施の形態におけるＩＣカード６００の構成図
【図７】本発明の実施の形態における端末装置５００／ＩＣカード６００間におけるコマンドＡＰＤＵの構成図
【図８】本発明の実施の形態における端末装置５００／ＩＣカード６００間におけるレスポンスＡＰＤＵの構成図
【図９】本発明の実施の形態における各種メッセージの構成図
【図１０】本発明の実施の形態における各種コマンド／レスポンスＡＰＤＵの構成図
【図１１】本発明の実施の形態における各種コマンド／レスポンスＡＰＤＵの構成図
【図１２】本発明の実施の形態における各種コマンド／レスポンスＡＰＤＵの構成図
【図１３】本発明の実施の形態における端末装置５００の起動時における処理フロー図
【図１４】本発明の実施の形態におけるユーザの要求処理フロー図
【図１５】本発明の実施の形態におけるＩＣカード６００のＩＣカード証明書取得フロー図
【図１６】本発明の実施の形態におけるサーバ１００／ＩＣカード６００間のＳＡＣ確立処理フロー図
【図１７】本発明の実施の形態におけるサーバ１００／ＩＣカード６００間のＳＡＣ確立処理フロー図
【図１８】本発明の実施の形態におけるサーバ１００／ＩＣカード６００間のＳＡＣ確立処理フロー図
【符号の説明】
【０１０４】
１００  コンテンツ配信サーバ
３００  デジタル証明書
３０２  証明書シリアル番号
３０７  公開鍵
３０９  認証局デジタル署名
５００  端末装置
５０１  通信部
５０４  メッセージ処理部
５０５  デジタル証明書記憶部
５０６  制御部
５０７  シリアル番号記憶部
５０８  ＩＣカード通信部
６００  ＩＣカード
６０１  ＩＣカードＩＤ記憶部
６０２  メッセージ処理部
６０３  制御部
６０４  通信部
６０５  サーバ証明書記憶部
６０６  ＩＣカード証明書記憶部
６０７  暗号処理部
６０８  サーバＵＲＬ記憶部
【図１】
2005236505.tif 000003
【図２】
2005236505.tif 000004
【図３】
2005236505.tif 000005
【図４】
2005236505.tif 000006
【図５】
2005236505.tif 000007
【図６】
2005236505.tif 000008
【図７】
2005236505.tif 000009
【図８】
2005236505.tif 000010
【図９】
2005236505.tif 000011
【図１０】
2005236505.tif 000012
【図１１】
2005236505.tif 000013
【図１２】
2005236505.tif 000014
【図１３】
2005236505.tif 000015
【図１４】
2005236505.tif 000016
【図１５】
2005236505.tif 000017
【図１６】
2005236505.tif 000018
【図１７】
2005236505.tif 000019
【図１８】
2005236505.tif 000020