(57)【要約】【課題】  ＰＣＩバスなどのユーザアクセスバスで接続された装置間において、安全かつ高速な暗号通信装置および暗号通信方法を提供することにある。【解決手段】  ＰＣＩバスなどで接続された各装置において、乱数を生成する乱数生成手段と、前記乱数を他の装置と交換する乱数交換手段と、前記乱数と前記乱数交換手段により取得した乱数とあらかじめ共有したセッション鍵生成鍵を用いてセッション鍵を生成するセッション鍵生成手段と、前記セッション鍵を用いて情報を暗号化および復号化する暗号復号手段と、一セッションごとにセッション鍵を履きする手段を有する構成とし、暗号化通信回数＋１回の通信回数で安全な暗号通信を行う構成とした。【選択図】  図４
2005244534.tif 000002
【特許請求の範囲】
【請求項１】
バスを介し、情報の受送信を行う少なくとも二つ以上のモジュール有する暗号通信装置であって、
前記モジュールは、乱数を生成する乱数生成手段と、
前記乱数生成手段で生成された乱数に基づき、他のモジュールが生成した乱数を取得する乱数取得手段と、
前記乱数生成手段で生成された乱数と前記乱数取得手段で得られた乱数とあらかじめ前記各モジュール間で共有したセッション鍵生成鍵とからセッション鍵を生成するセッション鍵生成手段と、
前記セッション鍵生成手段で生成されたセッション鍵を用いて、受送信する前記情報を暗復号する暗号復号手段とを有することを特徴とする暗号通信装置。
【請求項２】
請求項１記載の暗号通信装置であって、
前記バスは、ＰＣＩバスであることを特徴とする暗号通信装置。
【請求項３】
請求項１記載の暗号通信装置であって、
前記セッション鍵生成鍵は、共通鍵であることを特徴とする暗号通信装置。
【請求項４】
請求項１記載の暗号通信装置であって、
前記セッション鍵生成手段で生成されるセッション鍵は、共通鍵であることを特徴とする暗号通信装置。
【請求項５】
請求項１記載の暗号通信装置であって、
前記セッション鍵生成手段は、共通鍵暗号を用いてセッション鍵を生成することを特徴とする暗号通信装置。
【請求項６】
請求項１記載の暗号通信装置であって、
前記セッション鍵生成手段は、一方向ハッシュ関数を用いてセッション鍵を生成することを特徴とする暗号通信装置。
【請求項７】
請求項１記載の暗号通信装置であって、
前記セッション鍵生成手段で生成されたセッション鍵は、当該セッション鍵による暗号化通信が終了した後に破棄されることを特徴とする暗号通信装置。
【請求項８】
バスを介して接続される少なくとも二つ以上のモジュール間で情報を通信する暗号通信方法であって、
前記各モジュールは、
乱数を生成し、
前記生成した乱数に基づき、他のモジュールが有する乱数を取得し、
前記乱数と前記取得した乱数とあらかじめ前記各モジュール間で共有したセッション鍵生成鍵とからセッション鍵を生成し、
前記セッション鍵を用いて前記情報を暗復号して通信を行うことを特徴とする暗号通信方法。
【請求項９】
請求項８記載の暗号通信方法であって、
前記バスは、ＰＣＩバスであることを特徴とする暗号通信方法。
【請求項１０】
請求項８記載の暗号通信方法であって、
前記セッション鍵生成鍵は、共通鍵であることを特徴とする暗号通信方法。
【請求項１１】
請求項８記載の暗号通信方法であって、
前記セッション鍵は、共通鍵であることを特徴とする暗号通信方法。
【請求項１２】
請求項８記載の暗号通信方法であって、
前記セッション鍵は、共通鍵暗号を用いて生成されることを特徴とする暗号通信方法。
【請求項１３】
請求項８記載の暗号通信方法であって、
前記セッション鍵は、一方向ハッシュ関数を用いて生成されることを特徴とする暗号通信方法。
【請求項１４】
請求項８記載の暗号通信方法であって、
前記セッション鍵は、当該セッション鍵による暗号化通信が終了した後に破棄されることを特徴とする暗号通信方法。
【請求項１５】
暗号通信装置であって、
第１のモジュールと、
前記第１のモジュールと共通の鍵を有する第２のモジュールと、
前記第１のモジュールと第２のモジュールとを有するバスとを有し、
前記第１のモジュールは第１の乱数Ｒ１を生成し、当該Ｒ１を第２のモジュールへ送信し、
前記Ｒ１を受信した第２のモジュールは、第２の乱数Ｒ２を生成した後、前記Ｒ１、前記Ｒ２と前記共通鍵よりセッション鍵Ｋを生成して、前記Ｒ２を前記第１のモジュールへ送信し、
前記Ｒ２を受信した前記第１のモジュールは、前記Ｒ１と前記Ｒ２と前記共通鍵を用いて前記Ｋと同様のセッション鍵Ｋを生成することを特徴とする暗号通信装置。
【請求項１６】
請求項１５に記載の暗号通信装置であって、
前記第１のモジュールは、第１の秘匿情報を前記Ｋで暗号化して前記第２のモジュールへ送信し、前記第２のモジュールは、受信した第１の秘匿情報を前記Ｋで復号することを特徴とする暗号通信装置。
【請求項１７】
請求項１６記載の暗号通信装置であって、
前記第２のモジュールは、前記第１の秘匿情報に対応する処理を実行し、処理後のデータを前記Ｋで暗号化して前記第１のモジュールへ送信することを特徴とする暗号通信装置。
【請求項１８】
請求項１５に記載の暗号通信装置であって、
前記第１のモジュールはＣＰＵであることを特徴とする暗号通信装置。
【請求項１９】
請求項１５に記載の暗号通信装置であって、
前記第２のモジュールは記憶手段であることを特徴とする暗号通信装置。
【請求項２０】
請求項１５に記載の暗号通信装置であって、
前記第１のモジュール及び第２のモジュールは、前記Ｋを用いた通信終了後に当該Ｋを格納した記憶領域から削除されることを特徴とする暗号通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号通信装置および暗号通信方法に関し、特に、安全性と高速性を同時に要求される暗号通信装置および暗号通信方法に関する。
【背景技術】
【０００２】
インターネットや衛星放送などの通信手段によって、映画や音楽といったコンテンツを配信するサービスが提案されている。このようなサービスでは一般にコンテンツは暗号化して配信され、視聴時にユーザは暗号化コンテンツを復号化する鍵（コンテンツ鍵）を購入することが基本のビジネスモデルとなっている。このようなサービスにおいては、デジタルコンテンツは再生時に劣化せず、コピーも容易なため、コンテンツ保護の仕組みが必須である。コンテンツ保護においては、暗号復号済みコンテンツ情報の保護やテレビやモニタに出力されるコンテンツ情報の保護に加え、コンテンツ鍵を適切に管理、保護することも重要となる。
【０００３】
また、上記のサービスにおけるコンテンツの視聴端末（ＡＶ端末）として、ＰＣもしくはＰＣ向け汎用部品を搭載した機器が今後増加していくものと思われる。ＰＣ向け汎用部品は汎用ゆえに安価なため、製造コストの削減などが期待できるためである。
【０００４】
しかし、このようなＰＣアーキテクチャの端末を構成するＣＰＵやＩＣカードスロット、デコーダなどは、例えば仕様の公開されたＰＣＩバスなどで接続されており、そこへ出力される情報はＰＣＩボードの装着などの手段により容易に抜き取りが可能である。また同様の手段を用いて、他のデバイスなどに任意の情報を出力することも容易である。さらに、特にＰＣ上において、ユーザは任意に様々なアプリケーションをインストールおよび動作させることが可能である。このようなアプリケーションを用いることによっても、ＰＣＩバスへ出力される情報を抜き取り、任意の情報を出力することが可能である。以上のような、仕様が公開され、出力情報の抜き取りおよび任意の情報の出力が容易なバスはユーザアクセスバスと呼ばれる。そのため、ＰＣＩバスのようなユーザアクセスバスにコンテンツ鍵などの秘匿情報を出力する場合は、盗聴やなりすましなどの脅威に晒されるため、適切な暗号通信を行うことが必須となっている。
【０００５】
このようなＰＣＩバス（内部バス）上の暗号通信方法として、例えば、ＰＣＩバスで接続されたＤＶＤプレーヤとＰＣとの間においてＤＶＤコンテンツの不正コピーを防止するために、ＰＣのＩＤなどから同一の鍵を生成し、それを用いて情報を暗号化して通信を行う方法がある（特許文献１）。
【０００６】
また、ユーザアクセスバス上の暗号通信では、安全性とともに、扱うデバイスによってはＣＰＵパワーが小さい、メモリ量が少ない、外部通信インタフェースが低速である、などの制約が存在する。そのため、例えばインターネットで標準のＳＳＬのような、演算量および処理データ量の多い暗号通信方法を特別なハードウェアなどを使わずにそのまま適用することは困難であり、また有効とは限らない。さらに、上記のコンテンツ配信サービスにおいては、ユーザはテレビやＶＴＲを見る場合と同じ感覚で機器を操作するため、ユーザの利便性のためには、テレビのリモコンを操作するような高速な応答が求められる。
【０００７】
このような条件下における暗号通信としては、例えば、ＰＨＳやＷ−ＣＤＭＡなどのデータ転送速度が遅い通信網における、処理能力に制約のあるＰＤＡなどの通信端末装置とサーバとの間の通信において、通信相手を相互に認証し、認証により共有された一時鍵で暗号化された情報の転送を行うことによって、広帯域で秘匿性の高い通信路を確立する方法がある（特許文献２）。
【０００８】
【特許文献１】特開平１０−３０１４９２号公報（第１８頁、第８図および第９図）
【特許文献２】特開２００３−１５２６９９号公報（第１４頁、第１０図）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前記従来技術のうち、上記特許文献１の方法では、ＤＶＤコンテンツの不正コピーを防止することはできるが、例えば、次のような攻撃に対してはその範囲外であるために防ぐことができない。つまり、ＰＣＩバスで接続されたＩＣカードとデコーダとの間において、ＩＣカード内に安全に保持したコンテンツ鍵を用いて、デコーダ内で暗号化コンテンツの復号および伸張を行うような場合に、コンテンツ鍵を上記方法で暗号化してデコーダへ送ると、攻撃者はＰＣＩボードなどを装着することにより、暗号化コンテンツ鍵の情報を取得できる。次にＩＣカードになりすまし、この暗号化コンテンツ鍵をＰＣＩボードからデコーダに送るとデコーダはこれを復号してコンテンツ鍵を取り出し、コンテンツを不正に再生してしまう。
【００１０】
このような攻撃はリプレイ攻撃と呼ばれ、暗号化情報そのものはわからなくても、それを用いた処理のみを行うことができることを特徴とする。特許文献１の方法はＤＶＤコンテンツそのものを暗号化する方法であるため、ＤＶＤコンテンツそのものが取得できないリプレイ攻撃は範囲外の攻撃である。
【００１１】
上記特許文献２の方法では、相互認証を行ってから暗号化通信を行う。上記特許文献２の方法では相互認証のために、上記リプレイ攻撃を防ぐことも可能である。特許文献２にも示されるように、認証方法としては例えばチャレンジレスポンス認証が知られている。チャレンジレスポンス認証は乱数に対する署名とその検証を通して１回の通信で片方の相手を認証し、相互認証で２回の通信、および暗号化通信を必要とし、一度情報を送るために、暗号化通信回数＋２回の通信を必要とする。
【００１２】
しかしながら、上述したように、コンテンツ配信サービスにおいては、ユーザはテレビやＶＴＲを見る場合と同じ感覚で機器を操作するため、ユーザの利便性のためには、テレビのリモコンを操作するような高速な応答が求められる。ＣＰＵ、ＩＣカード、デコーダといった構成のコンテンツ視聴端末において、ＩＣカード内に保持していたコンテンツ鍵を、ＣＰＵを経由してデコーダに設定する場合の処理時間を測定したところ、そのボトルネックとなるのは、ＩＣカードとＣＰＵ間の通信であり、さらに、その内訳を調査したところ、ＩＣカードとＣＰＵとの間の情報の送受信にかかる入出力オーバヘッドの割合が非常に大きかった。これは、一般のBSデジタル放送受信機などに用いられるＩＣカードとのインタフェース部の情報伝送速度が９６００ｂｐｓ程度と非常に遅いためである。以上より、高速応答のためには入出力回数（通信回数）を極力抑えることが必要である。
【００１３】
また、暗号通信方法を考えるとき、できる限り攻撃者側に有利にならないような方法を考えることも重要である。暗号解読は攻撃者が利用できる情報により難易が存在する。攻撃者が利用できる情報の種類とそれに対応する攻撃方法として、暗号文のみを利用できる暗号文単独攻撃、平文と暗号文のペアを利用できる既知平文攻撃、任意の平文に対する暗号文を利用できる選択平文攻撃があり、後者ほど攻撃者側に有利となる。ＰＣＩバスは上述したように出力情報の抜き取りが容易なユーザアクセスバスであるため、暗号文単独攻撃を防ぐことは難しいが、既知平文攻撃、選択平文攻撃は防ぐように設計する方が望ましい。
【００１４】
本発明の目的は、ＰＣＩバスなどの伝送路上において、最少通信回数で、盗聴、なりすまし、リプレイ攻撃、既知平文攻撃、選択平文攻撃といった脅威を防ぐ、暗号通信装置および暗号通信方法を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために本発明は、暗号通信装置は、ＰＣＩバスに代表されるユーザアクセスバスを介して接続される少なくとも二つ以上の装置から構成され、各装置間で情報を通信する構成とし、前記各装置は、乱数を生成する乱数生成手段と、前記乱数生成手段で生成された乱数を、各装置間で交換する乱数交換手段と、前記乱数生成手段で生成された乱数と前記乱数交換手段で得られた乱数とあらかじめ前記各装置間で共有した共通のセッション鍵生成鍵とから共通のセッション鍵を生成するセッション鍵生成手段と、前記セッション鍵生成手段で生成されたセッション鍵を用いて前記情報を暗復号する暗号復号手段を有する構成とした。
【００１６】
さらに、前記暗号通信装置は、前記セッション鍵生成手段は、前記各装置で前記生成した乱数および前記交換した乱数、あるいは前記生成した乱数および前記交換した乱数から生成される値に対して、前記セッション鍵生成鍵で共通鍵暗号による暗号化を行う手段を有する構成とした。あるいは、前記暗号通信装置は、前記セッション鍵生成手段は、前記各装置で前記生成した乱数および前記交換した乱数および前記セッション鍵生成鍵、あるいは前記生成した乱数および前記交換した乱数および前記セッション鍵生成鍵から生成される値に対して、一方向性ハッシュ関数による演算を行う手段を有する構成とした。
【００１７】
さらに、前記暗号通信装置は、前記セッション鍵による暗号復号手段は、共通鍵暗号によって前記情報を暗号化および復号化する手段を有する構成とした。
【００１８】
さらに、前記暗号通信装置は、前記セッション鍵を、一セッションの通信終了時に破棄する手段を有する構成とした。
【００１９】
また、ユーザアクセスバスを介して接続される少なくとも二つ以上の装置間で情報を通信する暗号通信方法は、前記各装置は、乱数を生成し、前記乱数を各装置間で交換し、前記乱数と前記交換した乱数とあらかじめ前記各装置間で共有したセッション鍵生成鍵とからセッション鍵を生成し、前記セッション鍵を用いて前記情報を暗復号して通信を行う構成とした。
【００２０】
さらに、前記暗号通信方法は、前記セッション鍵は、前記各装置で前記生成した乱数および前記交換した乱数、あるいは前記生成した乱数および前記交換した乱数から生成される値に対して、前記セッション鍵生成鍵で共通鍵暗号による暗号化を行う構成とした。あるいは、前記暗号通信装置は、前記セッション鍵生成手段は、前記各装置で前記生成した乱数および前記交換した乱数および前記セッション鍵生成鍵、あるいは前記生成した乱数および前記交換した乱数および前記セッション鍵生成鍵から生成される値に対して、一方向性ハッシュ関数による演算を行う構成とした。
【００２１】
さらに、前記暗号通信装置は、前記セッション鍵による暗号復号手段は、共通鍵暗号によって前記情報を暗号化および復号化する構成とした。
【００２２】
さらに、前記暗号通信装置は、前記セッション鍵を、一セッションの通信終了時に破棄する構成とした。
【発明の効果】
【００２３】
本発明によれば、上記各装置で生成した上記乱数と上記交換した乱数と上記セッション鍵生成鍵から共通鍵暗号あるいは一方向性ハッシュ関数を用いて生成される上記セッション鍵を用いて上記情報を暗号化して送信および受信して復号化し、一セッションの終了時に前記セッション鍵を破棄することにより、盗聴、なりすまし、リプレイ攻撃、既知平文攻撃、選択平文攻撃を防ぐ安全な暗号通信装置および暗号通信方法を実現できる。
【００２４】
また、前記暗号通信装置および暗号通信方法は、前記一セッションは、前記各装置で生成した前記乱数の交換による通信と前記セッション鍵による暗号化通信からなり、通信回数は暗号化通信回数＋１回である。前記想定される脅威を防ぐためには前記乱数の交換は必須であるため、本発明は最少通信回数である暗号化通信回数＋１回による安全な暗号化通信を実現できる。
【発明を実施するための最良の形態】
【００２５】
以下に、本発明の実施の形態について説明する。
【実施例１】
【００２６】
本発明の実施形態について図面を参照して説明する。
【００２７】
図１は実施形態の暗号通信装置および暗号通信方法を適用しうるコンテンツ再生端末のハードウェア構成図である。
【００２８】
図１に示すように、コンテンツ再生端末はＣＰＵ１１と、主記憶１２と、ストレージ装置１３と、通信制御装置１４と、表示装置１５と、入力装置１６と、コンテンツ再生装置１７と、セキュアストレージ装置１８と、デジタル放送受信装置２０とを有して構成される。そして各構成要素はＰＣＩバス１９によって接続され、各構成要素間で必要な情報が伝送可能なように構成されている。
【００２９】
ＣＰＵ１１は、主記憶１２やストレージ装置１３にあらかじめ格納されているプログラムによって所定の動作を行う。
【００３０】
主記憶１２は、ワークエリアとして機能したり、必要なプログラムを格納するための手段であり、例えば、前者に対してはＲＡＭ、後者に対してはＲＯＭ等によって実現できる。
ストレージ装置１３は、コンテンツ再生端末の動作を制御するためのプログラムを保存したり、通信制御装置１４によって受信されたコンテンツや、デジタル放送受信装置２０によって受信され、保存（録画）されたコンテンツを蓄積するための手段であり、例えば、ハードディスク（ＨＤＤ）、光ディスク等によって実現できる。
通信制御装置１４は、通信網を介して、他の装置と情報（データ）を送受信するための手段であり、例えば、モデム、ネットワークアダプタ、無線送受信装置等によって実現される。
【００３１】
表示装置１５は、コンテンツ再生装置１７で伸張（デコード）されたコンテンツやユーザの操作に応答するための情報を表示するための手段であり、ブラウン管、液晶ディスプレイ、ＰＤＰ、プロジェクタ、スピーカ、ヘッドフォン等によって実現できる。また、表示装置１５は、ＴＶ等の、コンテンツ再生端末とは異なる装置で実現してもよく、この場合、コンテンツ再生端末には別途Ｄ／Ａコンバータ等ＴＶ信号生成装置を具備し、該装置と表示装置１５とはＡＶケーブルや同軸ケーブル等で接続される。
【００３２】
入力装置１６は、ユーザがコンテンツ再生端末に対して必要な命令や情報を入力するための手段であり、例えば、ＴＶ受信機で使用されるリモコンや、ＰＣで使用されるキーボード、マウス等によって実現できる。
【００３３】
コンテンツ再生装置１７は、コンテンツをデコードし、デコードされたコンテンツを表示装置１５に送信する。暗号化されて配信されたコンテンツの復号を行う機能なども有する。
【００３４】
セキュアストレージ装置１８は、暗号化コンテンツの復号鍵（コンテンツ鍵）などの秘匿情報を物理的、電気的な攻撃に対して安全に保管し、特別に決めたプロトコルに従ったコマンドにより、正当な相手にしか正しく復号できないように暗号化して秘匿情報を出力する手段である。セキュリティを強固にするために、外部からの攻撃に対して耐性を備える。
【００３５】
デジタル放送受信装置２０は、放送衛星や放送塔より出力されたデジタル放送データを受信するための手段であり、デジタルテレビチューナーなどにより実現される。
コンテンツ再生端末を構成する各要素のうち、データやプログラムの入出力と直接関係がない装置がある場合には、その装置を図１の構成からはずすことができる。例えばデジタル放送を受信する必要がない、通信網を介したコンテンツ再生端末の場合、デジタル放送受信装置２０は図１の構成からはずすことができる。
【００３６】
なお、セキュアストレージ装置１８は、ソフトウェアもしくはハードウェアにより実現できる。セキュアストレージ装置１８がソフトウェアで実現される場合、セキュアストレージ装置１８で実現される機能を果たすソフトウェアプログラムは、主記憶１２もしくはストレージ装置１３に格納されており、ＣＰＵ１１にて実行される。コンテンツ鍵などの秘匿情報は、例えば、セキュアストレージ装置１８にあらかじめ付されている固有のＩＤ（機器ＩＤ）等を使用して暗号化され、ストレージ装置１３に格納される。
【００３７】
また、セキュアストレージ装置１８がハードウェアで実現される場合、例えば、１つのＬＳＩまたは複数のＬＳＩの集合体として実現できる。図２に該ＬＳＩの構成例を示す。
【００３８】
図２において、ＣＰＵ７１はセキュアストレージ装置１８内の各部を統括的に制御する。また、ＣＰＵ７１はメモリ７２に格納されるプログラムにより認証機能と暗復号化機能を有している。メモリ７２はＲＯＭおよびＲＡＭから構成される。該ＲＯＭには、ＣＰＵ７１がセキュアストレージ装置１８の各部を統括的に制御するためのプログラムと、認証機能および暗復号化機能を実現するためのプログラムが格納されている。該ＲＡＭは、ＣＰＵ７１のワークエリアとして機能する。不揮発メモリ７３には、コンテンツ鍵などの秘匿情報が格納されている。Ｉ／Ｏ回路７４はセキュアストレージ装置１８内の各部がＰＣＩバス１９を介して外部装置との間でデータ通信を行うためのインタフェースである。
【００３９】
セキュアストレージ装置１８は、コンテンツ再生端末に着脱可能な、図２に示すＬＳＩを実装したＩＣカードもしくはメモリカード等で実現することも可能である。
【００４０】
また、コンテンツ再生装置１７は、ソフトウェアもしくはハードウェアにより実現できる。コンテンツ再生装置１７がソフトウェアで実現される場合、コンテンツ再生装置１７で実現される機能を果たすソフトウェアプログラムは、主記憶１２もしくはストレージ装置１３に格納されており、ＣＰＵ１１に実行される。
【００４１】
コンテンツ再生装置１７がハードウェアで実現される場合、例えば、１つのＬＳＩもしくは複数のＬＳＩの集合体として実現できる。図３に該ＬＳＩの構成例を示す。
【００４２】
図３において、ＣＰＵ８１はコンテンツ再生装置１７内の各部を統括的に制御する。また、ＣＰＵ８１はメモリ８２に格納されるプログラムにより認証機能と暗復号化機能を有している。メモリ８２はＲＯＭおよびＲＡＭから構成される。該ＲＯＭには、ＣＰＵ８１がコンテンツ再生装置１７の各部を統括的に制御するためのプログラムと、認証機能および暗復号化機能を実現するためのプログラムが格納されている。該ＲＡＭは、ＣＰＵ８１のワークエリアとして機能する。不揮発メモリ８３には、コンテンツ鍵などが格納されている。Ｉ／Ｏ回路８４はコンテンツ再生装置１７内の各部がバス１９を介して外部装置との間でデータ通信を行うためのインタフェースである。復号部８５は、不揮発メモリ８３に格納されるコンテンツ鍵を使用して、Ｉ／Ｏ回路８４を介して受け取る暗号化されたコンテンツを復号するための手段である。デコード部８６は、復号部８５で復号化されたコンテンツが圧縮されているならば、該コンテンツを伸張するための手段である。
【００４３】
次に本実施形態における暗号通信方法の基本的な動作を、図４を用いて説明する。
【００４４】
図４は、ＣＰＵ１１とセキュアストレージ装置１８との間で、ＣＰＵ１１からセキュアストレージ装置１８へ秘匿情報１を送信し、その返信としてセキュアストレージ装置１８からＣＰＵ１１へ秘匿情報２を送信する場合を示している。ＣＰＵ１１とセキュアストレージ装置１８の間は図１に示したように、ＰＣＩバス１９で接続されている。
【００４５】
前提として、ＣＰＵ１１とセキュアストレージ装置１８は、あらかじめセッション鍵を生成するための共通鍵を共有している（共通コア鍵：Ｋｃｏｒｅ）。このＫｃｏｒｅは安全に保持される必要があり、セキュアストレージ装置１８を図２のようなハードウェアで実現した場合は、外部から読み出せないように不揮発メモリ７３などに記憶される。ＣＰＵ１１などのデバイスで用いられる場合は、端末に例えば固有のＩＤで暗号化をしたり、プログラム内に分散して配置したりして、外部から抜き取られたり、推測されたりしないように記憶する必要がある。
【００４６】
暗号通信を行うために、メインＣＰＵ１１は乱数（擬似乱数）Ｒ１をソフトウェアまたはハードウェアを用いて生成し、Ｒ１をセキュアストレージ装置１８へ送信する。Ｒ１はワークエリアに記憶しておく。Ｒ１を受信したセキュアストレージ装置１８はＲ１をワークエリアに記憶したあと、乱数Ｒ２を生成し、ワークエリアに記憶する。そして、Ｒ１、Ｒ２とＫｃｏｒｅよりセッション鍵Ｋｓを生成（Ｋｓ＝ｆ（Ｒ１、Ｒ２、Ｋｃｏｒｅ））してワークエリアに記憶し、Ｒ２をメインＣＰＵ１１へ送信する。
ここでＫｓを生成する関数ｆはＫｓとＲ１、Ｒ２から逆演算を行ってＫｃｏｒｅをもとめることが困難な関数である必要がある。例えばｆ（Ｒ１、Ｒ２、Ｋｃｏｒｅ）は、Ｒ１、Ｒ２のビット毎の排他的論理和に対し、Ｋｃｏｒｅを鍵として暗号演算を行ったり、Ｒ１、Ｒ２、Ｋｃｏｒｅを順に連結し、一方向性ハッシュ関数（ＳＨＡなど）の演算を行って生成することができる。前者の場合は、Ｒ１、Ｒ２のビット毎の排他的論理和が平文で、Ｋｓがその暗号文となるが、適切な暗号アルゴリズム（例えばＡＥＳ暗号）を用い、およびＫｃｏｒｅの鍵としての十分な長さ（例えば１２８ビット）があればアルゴリズムが知られていても、平文（Ｒ１、Ｒ２のビット毎の排他的論理和）と暗号文（Ｋｓ）からその暗号化鍵（Ｋｃｏｒｅ）を推測することは困難である点を安全性のよりどころとすることができ、後者の場合は、一方向性ハッシュ関数がそのハッシュ値（Ｋｓ）から元の文（Ｒ１、Ｒ２、Ｋｃｏｒｅの連結データ）を逆演算することが困難であるという特徴を安全性のよりどころとすることができる。
【００４７】
次に、Ｒ２を受信したＣＰＵ１１は、Ｒ２をワークエリアに記憶し、Ｒ１とＲ２とＫｃｏｒｅを用いてセキュアストレージ装置１８と同様のＫｓ＝ｆ（Ｒ１、Ｒ２、Ｋｃｏｒｅ）の式により、Ｋｓを生成する。次に、ＣＰＵ１１はセキュアストレージ装置１８へ送る秘匿情報１（ｓｅｃｒｅｔ１）をＫｓで暗号化し、暗号化した秘匿情報１（Ｅｓｅｃｒｅｔ１）を得て（Ｅｓｅｃｒｅｔ１＝ＥＫｓ（ｓｅｃｒｅｔ１））、Ｅｓｅｃｒｅｔ１をセキュアストレージ装置１８へ送る。ただし、ＥＫｓ（Ｘ）は情報Ｘの鍵Ｋｓによる暗号化を示す。ここで、ｓｅｃｒｅｔ１は、コンテンツ鍵などのそれ自体が秘匿情報であるものを含むメッセージ、あるいはコンテンツ鍵要求メッセージなどの秘匿情報に関連する情報を含むメッセージである。例えば、「コンテンツ鍵をセキュアストレージ装置１８に記憶する」場合、「コンテンツ鍵を記憶する」という命令と、「コンテンツ鍵データ」からなるメッセージとなり、「ｉ番目のコンテンツ鍵を要求する」場合、「コンテンツ鍵を要求する」命令と、「ｉ番目」を示す情報からなるメッセージとなる。また、Ｋｓによる暗号化には安全な暗号アルゴリズムを用いる。例えば、１２８ビット鍵のＡＥＳ暗号などを用いる。
【００４８】
次に、セキュアストレージ装置１８は受信したＥｓｅｃｒｅｔ１をＫｓで復号化し、ｓｅｃｒｅｔ１を得る（ｓｅｃｒｅｔ１＝ＤＫｓ（Ｅｓｅｃｒｅｔ１））。ただし、ＤＫｓ（Ｙ）は情報Ｙの鍵Ｋｓによる復号化を示す。セキュアストレージ１８はｓｅｃｒｅｔ１が有効な情報であれば、適切な処理を行い、その返信データｓｅｃｒｅｔ２をＫｓで暗号化してＥｓｅｃｒｅｔ２を得て、ＣＰＵ１１へＥｓｅｃｒｅｔ２を送信する。ｓｅｃｒｅｔ１が無効な情報であった場合はメッセージを無視する。Ｅｓｅｃｒｅｔ２を取得したＣＰＵ１１はこれを復号化してｓｅｃｒｅｔ２を得て、適切な処理を行う。
【００４９】
一セッションが終了したらＫｓはＣＰＵ１１、セキュアストレージ装置１８双方で、ワークメモリから消去するなどして破棄される。ここで、一セッションとは、乱数交換の開始からＫｓによる暗号化通信が終了するまでと定義する。例えば、暗号化通信で送信するデータ量が大きく、１回の通信で全てのデータを送信することができず、数回の通信に分けてデータを送信するような場合は、全てのデータを送り終えるまでを一セッションとする。したがって、再びＣＰＵ１１がセキュアストレージ装置１８に同じｓｅｃｒｅｔ１を送信する場合などは、乱数交換からやりなおすことになる。
【００５０】
以上の暗号通信方法の特徴をまとめると、（１）通信相手双方であらかじめ共通鍵（共通コア鍵：Ｋｃｏｒｅ）を共有している、（２）通信においてはまず、１回の通信で相互に発生した乱数（擬似乱数、Ｒ１およびＲ２）を交換する、（３）Ｒ１、Ｒ２とＫｃｏｒｅより、セッション鍵（Ｋｓ）を生成する、（４）Ｋｓを用いて秘匿情報を暗号化して通信を行う、また通信終了後にＫｓは破棄する、となる。また、以上の通信において、通信回数はＲ１、Ｒ２を交換する１回と、Ｋｓによる暗号化通信により暗号化通信回数＋１回である。
また、通信路であるＰＣＩバス１９はＰＣＩボードなどを装着することにより、通信情報を抜き取られる可能性がある。そのため、ＰＣＩバス１９上に出力されるＫｓ生成に使われる乱数やＫｓによる暗号化データも容易に抜き取られる可能性がある。ＰＣＩバス１９上に出力される秘匿情報に対する、盗聴、なりすまし、リプレイ攻撃、既知平文攻撃、選択平文攻撃という脅威に対する安全性について、以下に述べる。
【００５１】
まず、盗聴については、上記方法では秘匿情報は暗号化して出力されるため、攻撃者は秘匿情報を盗聴することはできない。
【００５２】
次に、なりすましについては、Ｋｃｏｒｅを所持していない不正なデバイスやアプリケーションは、暗号化情報を取得できたとしても、正しく復号化することができないため、攻撃者はなりすますことができない。つまり、Ｋｃｏｒｅを所持しているかどうかで結果的に正しい相手以外とは通信ができないように認証をおこなっていることになる。また、Ｒ１、Ｒ２、Ｋｃｏｒｅを用いたＫｓの生成やＫｓを用いた秘匿情報の暗号化には、上述したように暗号関連技術を用いるため、攻撃者はＰＣＩバス１９への出力情報より、Ｋｃｏｒｅを推定することができない。
【００５３】
次のリプレイ攻撃はなりすましの一種であるが、秘匿情報そのものを取得せずに、それを用いた処理のみを行うという特長があるため一般のなりすましとは別に述べる。例えば、コンテンツ鍵そのものは取得できなくとも、コンテンツの再生のみができてしまうような攻撃である。この、リプレイ攻撃については、セッションごとにＫｓが変化するため、攻撃者はリプレイ攻撃を行うことができない。例えば、図４の通信において、ＣＰＵ１１の送信情報をＰＣＩボードなどで抜き取り、次にＣＰＵ１１になりすまし、先ほど抜き取った情報をそのままセキュアストレージ装置１８に送信することによって、リプレイ攻撃を試みても、セキュアストレージ装置１８側で生成する乱数Ｒ２が前のセッションとは異なる値となるため、セキュアストレージ装置１８側で生成するＫｓも前のセッションとは異なる値となる。そのため、前回のセッションのＫｓで暗号化された秘匿情報をセキュアストレージ装置１８は正しく復号化できないため、リプレイ攻撃ができない。上記方法では通信相手双方で生成した乱数を交換しているため、通信相手のどちらになりすましてのリプレイ攻撃も行うことができない。
【００５４】
次の既知平文攻撃と選択平文攻撃は、それぞれ、暗号を解いて秘匿情報を取得しようとする攻撃者が利用できる情報の種類を示していて、既知平文攻撃は平文と暗号文の対を利用できる場合、選択平文攻撃は攻撃者が任意に選んだ平文に対する暗号文を利用できる場合である。後者の方がより攻撃者に有利となるが、上記方法では、平文と暗号文の対をＰＣＩバス１９上に出力しないため、これらの攻撃を防ぐことができる。この場合、攻撃者は暗号文のみからＫｓを推測して平文を探すことしかできない。これは暗号文単独攻撃と呼ばれ、上記方法では暗号文単独攻撃に対して安全な暗号を用いればよいということになる。
【００５５】
以上のように、上記方法は、盗聴、なりすまし、リプレイ攻撃、既知平文攻撃、選択平文攻撃といったＰＣＩバス１９上に出力される秘匿情報に対して想定される脅威に対し安全である。
【００５６】
したがって、上記方法は暗号化通信回数＋１回の通信回数で、想定される脅威に対し安全な、ＰＣＩバス１９上の秘匿情報通信方法であるということができる。
【００５７】
次に、本実施形態における具体的な動作を、図面を用いて説明する。
【００５８】
図５は、コンテンツ再生端末において、コンテンツを視聴する時の処理の流れである。ただし、このとき、ユーザが視聴するコンテンツは暗号化されており、またその復号鍵（コンテンツ鍵）はすでにセキュアストレージ装置１８内に安全に記憶されているものとする。コンテンツ鍵が抜き取られると、コンテンツの不正コピーや不正利用をされる原因となり、コンテンツ保護が達成されないため、コンテンツ鍵を安全に保護することが必要である。
ユーザが視聴コンテンツを選択する（ステップＳ１００）と、セキュアストレージ装置１８に安全に記憶されていたコンテンツ鍵は、ＣＰＵ１１を介してコンテンツ再生装置１７に設定される（ステップＳ２００）。コンテンツ再生装置１７は、暗号化コンテンツを、設定したコンテンツ鍵で復号しながらデコード（圧縮コンテンツの伸張）し、表示装置１５に表示することができる（ステップＳ３００）。
【００５９】
図６に、コンテンツを視聴する時の、コンテンツ鍵の流れを示す。セキュアストレージ装置１８とＣＰＵ１１およびコンテンツ再生装置１７の間はＰＣＩバス１９で接続されている。また、コンテンツ鍵はセキュアストレージ装置１８−ＣＰＵ１１間、およびＣＰＵ１１−コンテンツ再生装置１７間の通信において、ＰＣＩバス１９上に出力される。したがって、上記それぞれの通信に図４の方法を用いる必要がある。
【００６０】
図６において、セキュアストレージ装置１８とメインＣＰＵ１１、およびメインＣＰＵ１１とコンテンツ再生装置１７はそれぞれ共通コア鍵（Ｋｃｏｒｅ１、Ｋｃｏｒｅ２）を共有している。つまりＣＰＵ１１はセキュアストレージ装置１８との通信のための共通コア鍵（Ｋｃｏｒｅ１）とコンテンツ再生装置１７との通信のための共通コア鍵（Ｋｃｏｒｅ２）を両方保持している。
【００６１】
視聴コンテンツが選択されると、ＣＰＵ１１はセキュアストレージ装置１８と乱数交換を行い、交換乱数とＫｃｏｒｅ１を用いセッション鍵Ｋｓ１を生成して、該コンテンツのコンテンツ鍵（Ｋｃｏｎｔ）をＫｓ１で暗号化してセキュアストレージ装置１８から取り出し、これをＫｓ１で復号化してＫｃｏｎｔを得る。
【００６２】
次に、ＣＰＵ１１はコンテンツ再生装置１７と乱数交換を行い、交換乱数とＫｃｏｒｅ２を用いてセッション鍵Ｋｓ２を生成して、ＫｃｏｎｔをＫｓ２で暗号化してコンテンツ再生装置１７へ送る。コンテンツ再生装置１７はこれをＫｓ２で復号化してＫｃｏｎｔを得る。そしてコンテンツ再生装置１７はＫｃｏｎｔを用いて暗号化コンテンツを復号し、デコードする。このようにして、図６ではコンテンツ鍵Ｋｃｏｎｔをセキュアストレージ装置１８からコンテンツ再生装置１７へ安全に送ることができる。
【００６３】
上記コンテンツ鍵の安全な通信は図７のようにしても実現できる。
【００６４】
図７では、ＣＰＵ１１は共通コア鍵を所持しておらず、セキュアストレージ装置１８とコンテンツ再生装置１７との間の情報の受け渡しのみを担当する。
【００６５】
図７において、セキュアストレージ装置１８とコンテンツ再生装置１７は共通コア鍵（Ｋｃｏｒｅ）を共有している。
【００６６】
視聴コンテンツが選択されると、ＣＰＵ１１はコンテンツ再生装置１７に対し、該コンテンツの再生要求を送る。次に、コンテンツ再生装置１７はセキュアストレージ装置１８と乱数を交換する。そして、交換乱数とＫｃｏｒｅよりセッション鍵Ｋｓを生成し、コンテンツ鍵（Ｋｃｏｎｔ）はＫｓで暗号化されてセキュアストレージ装置１８からコンテンツ再生装置１７へ送られる。コンテンツ再生装置１７はこれを復号化してＫｃｏｎｔを取り出し、コンテンツを再生する。上述したように、ＣＰＵ１１はこのとき、セキュアストレージ装置１７とコンテンツ再生装置１８との情報の受け渡しを仲介するだけである。
【００６７】
図８はコンテンツ再生端末において、デジタル放送受信装置２０でデジタル放送データを取得し、ＣＰＵ１１の制御により、コンテンツ再生装置１７で再生を行っているデジタル放送データを録画する時の処理の流れである。デジタル放送はスクランブルされた状態で放送局から送信され、チャンネル契約を結んだ端末でのみ、デスクランブルされてテレビなどに表示される。デジタル放送を録画されるときは、不正コピーなどの防止のため、デスクランブルされたデジタル放送データを端末内で生成した鍵（再暗号化鍵）で再暗号化した状態で、ストレージ装置１３などに記憶（録画）する。再暗号化鍵はセキュアストレージ装置１８などに安全に記憶される。再暗号化鍵が抜き取られると、録画コンテンツの不正コピーが可能となるため、安全に保護することが必要となる。
【００６８】
録画コンテンツが選択されると（ステップＳ４００）、セキュアストレージ装置１８は再暗号化鍵を生成する。生成された再暗号化鍵はコンテンツ再生装置１７に送られ、コンテンツ再生装置１７内でコンテンツは再暗号化され、再暗号化コンテンツはストレージ装置１３などに記憶（録画）される（ステップＳ５００）。再暗号化鍵はセキュアストレージ１８内で安全に保持される。
【００６９】
図９に、デジタル放送コンテンツを録画する時の、再暗号化鍵の流れを示す。このとき、セキュアストレージ装置１８とコンテンツ再生装置１７は共通コア鍵（Ｋｃｏｒｅ）をあらかじめ共有している。録画コンテンツが選択されると、ＣＰＵ１１はコンテンツ再生装置１７に対し、該コンテンツの録画要求を送信する。コンテンツ再生装置１７はセキュアストレージ装置１８と相互に生成した乱数を交換し、交換乱数とＫｃｏｒｅからセッション鍵Ｋｓを生成する。コンテンツ再生装置１７はコンテンツ再暗号化鍵の生成要求をＫｓで暗号化してセキュアストレージ装置１８に送信する。セキュアストレージ装置はこれを復号化し、再暗号化鍵を生成する。そしてこの再暗号化鍵を、Ｋｓを暗号化してコンテンツ再生装置１７に送信する。コンテンツ再生装置１７は取得した再暗号化鍵を用いてコンテンツを（再）暗号化し、それをストレージ装置１３に記憶（録画）する。このようにして安全に再暗号化鍵をセキュアストレージ装置１８からコンテンツ再生装置１７に送信することができ、安全にデジタル放送を録画することができる。
【００７０】
次に、図１０にこの録画コンテンツを再生するときの再暗号化鍵の流れを示す。このとき、実質的に図７で示したコンテンツ視聴時と同様の手順で再暗号化鍵をコンテンツ再生装置１７に安全に送信し、録画コンテンツを視聴することができる。
【図面の簡単な説明】
【００７１】
【図１】本実施形態のコンテンツ再生端末のハードウェア構成図である。
【図２】本実施形態のセキュアストレージ装置のハードウェア構成図である。
【図３】本実施形態のコンテンツ再生装置のハードウェア構成図である。
【図４】本実施形態の暗号通信方法の基本的な動作手順を示す図である。
【図５】本実施形態のコンテンツ再生手順を示す図である。
【図６】本実施形態のコンテンツ再生時におけるコンテンツ鍵の流れを示す図である。
【図７】本実施形態のコンテンツ再生時におけるコンテンツ鍵の流れを示す図である。
【図８】本実施形態のデジタル放送録画手順を示す図である。
【図９】本実施形態のデジタル放送録画時における再暗号化鍵の流れを示す図である。
【図１０】本実施形態の録画コンテンツ再生時における再暗号化鍵の流れを示す図である。
【符号の説明】
【００７２】
１１…ＣＰＵ、１２…主記憶、１３…ストレージ装置、１４…通信制御装置、１５…表示装置、１６…入力装置、１７…コンテンツ再生装置、１８…セキュアストレージ装置、１９…ＰＣＩバス、２０…デジタル放送受信装置、７１…ＣＰＵ、７２…メモリ、７３…不揮発メモリ、７４…Ｉ／Ｏ回路、８１…ＣＰＵ、８２…メモリ、８３…不揮発メモリ、８４…Ｉ／Ｏ回路、８５…復号部、８６…デコード部。
【図１】
2005244534.tif 000003
【図２】
2005244534.tif 000004
【図３】
2005244534.tif 000005
【図４】
2005244534.tif 000006
【図５】
2005244534.tif 000007
【図６】
2005244534.tif 000008
【図７】
2005244534.tif 000009
【図８】
2005244534.tif 000010
【図９】
2005244534.tif 000011
【図１０】
2005244534.tif 000012