(57)【要約】【課題】コンテンツ再生装置における暗号化されたコンテンツの復号鍵のセキュリティを維持しつつ、復号処理を簡略化できるようにする。【解決手段】コンテンツの暗号化に用いた共通鍵を公開鍵で暗号化して得られた被暗号化復号鍵を、装置内で復号した後、新たに生成した保護鍵で再度暗号化して装置内で保存する。コンテンツの再生の際には、保護鍵で暗号化された被暗号化復号鍵を保護鍵で復号して復号鍵を得て、この復号鍵で被暗号化コンテンツの復号を行う。好ましくは、装置のソフトウェア処理系の上位層３０１と下位層３０２でそれぞれ擬似乱数３１，３２を生成し、これらを結合して保護鍵２２を得る。【選択図】図３
2007318583.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを再生するコンテンツ再生装置であって、
暗号化された復号鍵を復号する手段と、
装置内で使用する暗号化のための保護鍵を生成する保護鍵生成手段と、
前記復号鍵を前記保護鍵で暗号化する手段と、
被暗号化コンテンツを再生する際に前記保護鍵で暗号化された前記復号鍵を前記保護鍵で復号する手段と、
この復号された復号鍵で前記被暗号化コンテンツを復号する手段と
を備えたことを特徴とするコンテンツ再生装置。
【請求項２】
前記保護鍵生成手段は、前記被暗号化コンテンツを格納した記憶媒体に対応して生成した擬似乱数に基づいて前記保護鍵を生成する請求項１記載のコンテンツ再生装置。
【請求項３】
前記保護鍵生成手段は、ソフトウェア処理系の上位層と下位層の少なくとも一方で前記擬似乱数を生成する請求項１記載のコンテンツ再生装置。
【請求項４】
前記保護鍵生成手段は、ソフトウェア処理系の上位層と下位層でそれぞれ第１および第２の擬似乱数を発生し、両擬似乱数を所定の結合規則にしたがって結合することにより前記保護鍵を生成することを特徴とする請求項３記載のコンテンツ再生装置。
【請求項５】
少なくとも前記復号鍵の暗号化は公開鍵暗号方式により行われる請求項１記載のコンテンツ再生装置。
【請求項６】
前記保護鍵で暗号化された前記復号鍵を、対応するコンテンツの識別情報とともに保存する情報テーブルを備えた請求項１記載のコンテンツ再生装置。
【請求項７】
前記被暗号化コンテンツが外部記憶媒体に格納されている場合、外部記憶媒体を装置から抜去した場合、当該コンテンツに対応する情報テーブルを消去する請求項６記載のコンテンツ再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを再生するコンテンツ再生装置に関し、特に暗号化されたコンテンツの再生装置に関する。
【背景技術】
【０００２】
暗号化の方式としては、暗号化に用いる鍵と同じ鍵を復号に用いる対称鍵暗号方式（共通鍵暗号方式とも呼ばれる）が古くから知られている。この方式をインターネット上でのコンテンツの暗号化通信に用いる場合、秘密にしておくべき共通鍵を最初に受信者に渡す際に暗号が使えない問題がある。これに対して、暗号化用と復号用に異なる１対の鍵を生成し、暗号化用の鍵は公開し、復号用の鍵は秘密にしておく公開鍵暗号方式（非対称鍵暗号方式とも呼ばれる）も知られている。公開鍵暗号方式の例としてはＲＳＡや楕円曲線暗号方式が有名である。
【０００３】
公開鍵暗号方式は秘密鍵を送信する必要がないが、暗号化や復号に大量の計算が必要となり、処理時間が長くなる欠点を有する。そこで、一般には、対称鍵暗号方式で用いる共通鍵を公開鍵暗号方式で暗号化して受信者に受け渡し、コンテンツの実際の暗号化には共通鍵を用いる、いわゆるハイブリッド方式が用いられている。
【０００４】
また、公開鍵暗号方式におけるデジタル署名の技術を利用することにより、送信者が公開している復号鍵を用いて送信者の署名を復号することにより、その文書が本当に送信者から送られてきたものである（改竄されていない）ことを確認することができる。
【０００５】
なお、デジタル署名の技術によっても、他人が本来の送信者になりすまして偽の復号鍵を公開してコンテンツを送ってくる場合には対応できない。そこで、電子商取引などにおいて、送信者は自らの公開鍵を認証局（ＣＡ）に登録して公開鍵証明書の発行を受け、これを署名に添付して受信者へ送ることにより、なりすましを防止する電子認証の技術が採用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記ハイブリッド方式の暗号化システムによれば、復号処理の所要時間が短縮されるが、一旦取り出した復号鍵をそのままの形で装置内に保存するのはセキュリティ上、好ましくない。しかし、コンテンツの再生の度に、被暗号化鍵を復号して暗号文の復号を行い、さらにデジタル署名の確認を行う公開鍵暗号方式の復号の手順は煩雑であり、コンテンツの復号（例えば音楽データや動画データの再生）の度にこれらの処理を行うのは所要時間や消費電力の観点から不利である。
【０００７】
本発明はこのような背景において、コンテンツ再生装置における暗号化されたコンテンツの復号鍵のセキュリティを維持しつつ、復号処理を簡略化できるようにするものである。
【課題を解決するための手段】
【０００８】
本発明による、コンテンツを再生するコンテンツ再生装置は、暗号化された復号鍵を復号する手段と、装置内で使用する暗号化のための保護鍵を生成する保護鍵生成手段と、前記復号鍵を前記保護鍵で暗号化する手段と、被暗号化コンテンツを再生する際に前記保護鍵で暗号化された前記復号鍵を前記保護鍵で復号する手段と、この復号された復号鍵で前記被暗号化コンテンツを復号する手段とを備えたことを特徴とする。
【０００９】
被暗号化コンテンツの復号に用いる復号鍵は暗号化されており、その復号により得られた復号鍵は、別途生成された装置内で使用する暗号化のための保護鍵で暗号化して、装置内で保存する。コンテンツの再生の際には、保護鍵で暗号化されている復号鍵を保護鍵で復号して復号鍵を得て、これにより被暗号化コンテンツの復号を行う。
【００１０】
前記保護鍵生成手段は、例えば、前記被暗号化コンテンツを格納した記憶媒体に対応して生成した擬似乱数に基づいて前記保護鍵を生成する。これにより、記憶媒体に固有の保護鍵が得られる。前記保護鍵生成手段は、ソフトウェア処理系の上位層と下位層の少なくとも一方により、好ましくは、ソフトウェア処理系の上位層と下位層でそれぞれ第１および第２の擬似乱数を発生し、両擬似乱数を所定の結合規則にしたがって結合することにより前記保護鍵を生成する。
【発明の効果】
【００１１】
本発明によれば、装置内で使用する暗号化のための保護鍵を新たに生成し、この保護鍵で復号鍵を暗号化して保存することにより、復号鍵のセキュリティを維持することができる。また、保護鍵による暗号方式を、暗号化および復号処理が比較的簡易な対称鍵暗号方式とすることにより、コンテンツ再生毎の復号処理の負荷を軽減し、処理時間の短縮および消費電力の軽減を図ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好適な実施の形態について図面を参照しながら詳細に説明する。
【００１３】
まず、図１により、本実施の形態において利用するハイブリッド方式の暗号システムの仕組みを説明する。送信側１０から暗号化した文書（テキスト、画像、音声、プログラム等の任意のデータ）から通信インタフェースを介して受信側２０に送信する際の送信側１０と受信側２０で行うそれぞれの動作は以下のとおりである。
【００１４】
（送信側１０）
暗号化して送信する対象の平文（コンテンツ）１４をハッシュ関数によりメッセージダイジェスト（ＭＤ）１２に非可逆変換し、このＭＤ１２を送信者の秘密鍵１１（公開鍵暗号方式の１対の鍵の秘密の方）で暗号化してデジタル署名１３を生成する。このデジタル署名１３と平文１４と送信者の証明書１５とを対称鍵暗号方式の共通鍵１７で暗号化し暗号文（署名メッセージと呼ぶ）１６を生成する。送信者の証明書１５は、送信者の署名用公開鍵１５ａ、および、この証明書の有効期限、使用目的、シリアルナンバー、ＣＡの署名等が含まれる。共通鍵１７は受信者の公開鍵１８で暗号化され、これが被暗号化鍵１９となる。送信側１０は、暗号文１６および被暗号化復号鍵１９を受信側２０へ送信する。
【００１５】
（受信側２０）
受信側２０は、上記受信者の公開鍵１８と対になっている受信者の秘密鍵２１により被暗号化復号鍵１９を復号し、共通鍵１７を得る。この共通鍵１７で、暗号文１６を復号する。これにより、デジタル署名１３、平文１４および送信者の証明書１５が得られる。また、デジタル署名１３を送信者の署名用公開鍵１５ａで復号してＭＤ１２を得る。一方、平文１４から上記と同じハッシュ関数でＭＤ２３を生成する。このＭＤ２３をＭＤ１２と比較して、両者の一致が検出されれば、平文１４が改竄されていないことが確認される。また、証明書１５により送信者の正真性が証明される。
【００１６】
上述したように、受信側２０で被暗号化復号鍵１９を復号して共通鍵１７を得てこれを復号鍵として暗号文１６の復号を行い、さらにデジタル署名の確認を行う公開鍵暗号方式の復号の手順は煩雑であり、コンテンツの復号（例えば音楽データや動画データの再生）の度にこれらの処理を行うのは所要時間や消費電力の観点から不利である。とはいえ、一旦復号して得た共通鍵１７を裸のまま保存するのはセキュリティ上、好ましくない。
【００１７】
そこで、本実施の形態では、簡易的な手法で対称鍵暗号方式による新たな保護鍵２２を生成し、この保護鍵２２により共通鍵１７を暗号化して保存することとする。保護鍵２２の生成方法およびその管理についての詳細は後述する。
【００１８】
図２は、本発明が適用されるコンテンツ再生装置としての携帯電話端末のハードウェア構成例を示している。
【００１９】
この携帯電話端末１００は、携帯電話に特有の要素として、アンテナ２０１、送受信処理部２０３、変復調処理部２０５、データ処理部２０７、Ｄ／Ａ変換器２０９、スピーカ２１０、Ａ／Ｄ変換器２１１およびマイク２１２を備える。携帯電話端末１００は、また、これらの各要素を制御するＣＰＵ等を含む制御部２２５、この制御部２２５により実行されるプログラムの格納領域、および作業領域やデータの一時記憶領域として利用される内部メモリ２２７、ユーザインタフェースとして機能する液晶，有機ＥＬ等の表示デバイスを含む表示部２２０、任意の操作キーやボタン、ダイヤル等の操作要素を含む操作部２２３、日時情報の生成やタイマー機能を有する時計部２２８、端末の筐体に着脱可能な外部メモリ（外部記憶媒体）２２９を備える。
【００２０】
内部メモリ２２７には、電気的に情報が書込みおよび消去可能な読出し専用メモリ（ＥＥＰＲＯＭやフラッシュメモリ）を含み、通常の携帯電話端末の操作入力受付、通信、メール処理、ウェブ処理、表示、音声入出力、電話帳管理、スケジュール管理、暗号化・復号処理等の各種動作のための制御プログラムが記憶されている。
【００２１】
図３は、受信側の端末のおおまかなソフトウェア処理系の構成を示している。ソフトウェア処理系は通常、階層構造を有する。すなわち、アプリケーションのような上位層３０１の下にミドルウェアのような下位層３０２が存在し、さらにその下位にオペレーティングシステム（ＯＳ）３０３が存在する。上位層３０１は、復号のための共通鍵を得てコンテンツを復号する機能を含む、アプリケーション機能を有する。下位層３０２は、公開鍵暗号方式の復号、および保護鍵の生成、保護鍵による復号鍵の暗号化および復号等の処理を行う。
【００２２】
本実施の形態では、上位層であるアプリケーション側と下位層であるエンジン（ミドルウェア）側でそれぞれ第１および第２の擬似乱数３１，３２を生成し、さらに両者を結合したもので保護鍵２２を生成し、この保護鍵２２で復号鍵（共通鍵１７）を暗号化することで、処理の軽減と安全性を図るものである。
【００２３】
図４は、本実施の形態におけるデータ処理部２０７により実行される各種処理と、内部メモリ２２７に確保される記憶領域またはデータを示している。
【００２４】
データ処理部２０７は、通信ネットワークを経由してデータの受信を行うデータ受信処理４０１、公開鍵暗号方式による復号処理４０２、復号鍵（共通鍵）の管理を行う復号鍵管理４０３、保護鍵２２の生成および管理を行う保護鍵生成・管理４０４、後述するデータテーブル（復号鍵情報テーブル）の生成・更新・消去等の管理を行うテーブル管理４０５、保護鍵２２による復号鍵の暗号化処理４０６、被暗号化復号鍵の復号処理４０７、およびコンテンツ再生処理４０８を含む。なお、この図では特に上位層と下位層の区別はしていない。
【００２５】
内部メモリ２２７には、データ受信処理４０１により受信（ダウンロード）された被暗号化コンテンツを含む暗号文４１１、保護鍵２２、復号鍵情報テーブル４１３を格納する各記憶領域が設けられる他、データ処理部２０７がデータの一時記憶等に利用する作業エリア４１４が設けられる。復号鍵情報テーブル４１３は、暗号化された復号鍵（共通鍵）である被暗号化復号鍵を必要な情報とともに格納するテーブルであり、その領域はファイルシステムから直接触れられない領域に確保するか、或いは制限がかけられる領域に用意する。
【００２６】
図５は、図４と同様の図であるが、被暗号化コンテンツを含む暗号文４１１を外部メモリ２２９に格納する場合を示している。図４と同様の要素には同じ参照符号を付して、重複した説明は省略する。
【００２７】
図６（ａ）は、図４の場合に対応する内部メモリ用復号鍵情報テーブル４１３ａの構成例を示し、図６（ｂ）は図５の場合に対応する外部メモリ用復号鍵情報テーブル４１３ｂの構成例を示している。内部メモリ用復号鍵情報テーブル４１３ａは、コンテンツ名（コンテンツ識別情報）４３１、このコンテンツに対応する被暗号化復号鍵２４（保護鍵２２で暗号化されたもの）、その他任意の付加情報４３３を記憶している。被暗号化復号鍵２４は、公開鍵１８で暗号化された被暗号化復号鍵１９とは異なり、その復号処理は比較的処理負荷が軽いものである。外部メモリ用復号鍵情報テーブル４１３ｂは内部メモリ用復号鍵情報テーブル４１３ａと同様であるが、その構成に加えて、外部記憶媒体特定情報４４１を記憶している。外部記憶媒体特定情報４４１は個々の外部記憶媒体を特定するための情報であり、これにより、個々の外部記憶媒体と復号鍵情報テーブル４１３ｂの対応をとることができる。
【００２８】
図７に、本実施の形態におけるコンテンツの再生に関する処理例を表すフローチャートを示す。コンテンツの再生が指示されたとき（Ｓ１１，Ｙｅｓ）、ユーザにより指定されたコンテンツが外部メモリに記憶されたコンテンツである場合（Ｓ１２，Ｙｅｓ）、当該外部メモリ用復号鍵情報テーブル４１３ｂが存在するかどうかをチェックする（Ｓ１３）。なければ、後述するステップＳ１６へ進む。あれば、そのテーブルに当該コンテンツの情報があるかをチェックする（Ｓ１５）。当該コンテンツの情報があれば後述のステップＳ１８へ進む。当該コンテンツの情報がなければステップＳ１６へ進む。
【００２９】
ステップＳ１２で、当該コンテンツが内部メモリ内コンテンツと判定された場合、内部メモリ用復号鍵情報テーブル４１３ａが存在するかをチェックする（Ｓ１４）。存在すれば、ステップＳ１５へ進む。存在しなければステップＳ１６へ進む。
【００３０】
ステップＳ１６では、上述した公開鍵暗号方式による復号処理を実行する（Ｓ１６）。そこで、これにより得られた復号鍵を、端末内で生成した保護鍵２２で簡易暗号化するとともに、復号鍵情報テーブル４１３ａまたは４１３ｂを生成し、管理する（Ｓ１７）。保護鍵２２の生成の具体例については後述する。保護鍵はすでに生成されて記憶されていれば、ステップＳ１７ではその生成を省略することができる。
【００３１】
続くステップＳ１８では、復号鍵情報テーブルを参照して、被暗号化復号鍵２４を取得する。ついで、保護鍵２２で被暗号化復号鍵２４を復号する（Ｓ１９）。この復号により得られた復号鍵（共通鍵１７）で被暗号化コンテンツを含む暗号文４１１を復号し、再生を行う（Ｓ２０）。アプリケーションの終了時に復号後のコンテンツは消去される。
【００３２】
このような処理により、一旦、対称鍵暗号方式による保護鍵２２が生成され、この保護鍵で復号鍵（共通鍵１７）を暗号化して端末内に保存しておくことにより、コンテンツおよび復号鍵をそのままの状態で保存することなく、必要時に被暗号化コンテンツの復号を迅速に実行することが可能となる。
【００３３】
図８は、図７のステップＳ１７の処理の具体例を示したフローチャートである。図８では、ソフトウェア処理系の上位層と下位層の処理に分けて示してある。
【００３４】
上位層は、まず、再生しようとしているコンテンツが記憶された内部メモリまたは外部メモリの記憶媒体ＩＤおよび現在の時刻（日時）を取得する（Ｓ２１）。記憶媒体ＩＤは個々の記憶媒体を一意に識別する情報であり、記憶媒体ＩＤのない記憶媒体の場合には、その記憶媒体を最初に使用した時点の時刻を利用するようにしてもよい。
【００３５】
上位層は、この記憶媒体ＩＤと時刻に基づいて、第１の擬似乱数（例えば１２８ビット）を生成する（Ｓ２２）。これにより、この擬似乱数はこの記憶媒体および日時に固有のものとなる。ついで、この第１の擬似乱数を下位層に渡す（Ｓ２３）。
【００３６】
下位層は、上位層から第１の擬似乱数を受け取り（Ｓ３１）、この第１の擬似乱数と現在の時刻に基づいて第２の擬似乱数（例えば１２８ビット）を生成する（Ｓ３２）。ついで、生成された第２の擬似乱数を上位層に渡す（Ｓ３３）。そこで、第１および第２の擬似乱数を結合して保護鍵２２を生成する（Ｓ３４）。この「結合」は両擬似乱数の論理演算（例えばＡＮＤ、ＯＲ、ＥＯＲ等）や、単なるビット列の直列的な結合、等予め定めた任意の結合規則によって行う。この保護鍵２２で復号鍵（共通鍵１７）を暗号化する（Ｓ３５）。そこで、上位層から指定された格納領域にある復号鍵情報テーブルに、暗号化された復号鍵を格納する（Ｓ３６）。復号鍵情報テーブル自体は上位層、下位層のいずれで生成してもよい。この格納した旨を上位層に通知する（Ｓ３７）。
【００３７】
上位層は、下位層から第２の擬似乱数を受け取ると（Ｓ２４）、第１および第２の擬似乱数を結合して保護鍵２２を生成する（Ｓ２５）。この結合規則は上記下位層におけるものと同じである。上位層は、生成した保護鍵を端末内（例えば内部メモリの所定の領域）に保存しておき（Ｓ２６）、被暗号化コンテンツの復号時に利用する。
【００３８】
暗号化復号鍵２４は保護鍵２２によらなければ復号できない。したがって、暗号化されたコンテンツの復号もできない。暗号化コンテンツが外部メモリに保存される場合、その復号鍵は特定の端末にのみ保存されているので、外部メモリは同じ端末に装着されないかぎり、その暗号化コンテンツの再生はできない。
【００３９】
なお、上位層は独立に第１および第２の擬似乱数から別途保護鍵を生成するようにしたが、下位層が生成した保護鍵を受け取るようにしてもよい。上位層と下位層とは別のハードウェアデバイスで実現されている場合、例えば上位層がＣＰＵ、下位層がサブＣＰＵで実現されている場合、デバイス間通信にて保護鍵をやりとりすることになる。したがって、安全性の観点からは上位層と下位層が別々に保護鍵を生成する方が望ましい。なお、この場合でも上位層と下位層との間で擬似乱数のやりとりは行われるが、上位層と下位層の外部には結合規則が見えない。
【００４０】
内部記憶媒体用のテーブルと外部記憶媒体用のテーブルは別々に保持する。
【００４１】
外部記憶媒体用のテーブルは、安全性および必要性を考慮し、端末への外部メモリの挿入時に生成を行い、抜去時に消去するようにしてもよい。ただし、外部メモリ抜去以降も保持したい場合には、テーブルに「外部記憶媒体特定情報」を持つことにより保持を選択できるようにすることも可能である。
【００４２】
コンテンツの再生指示は上位層から行うが、実際のコンテンツの再生処理自体は上位層と下位層のいずれで行うことも可能である。
【００４３】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。例えば、保護鍵２２は定期的に変更し、これに伴って復号鍵情報テーブルも定期的に更新するようにしてもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施の形態において利用するハイブリッド方式の暗号システムの仕組みを説明するための図である。
【図２】本発明が適用される携帯端末装置としての携帯電話端末のハードウェア構成例を示す図である。
【図３】図２に示した端末のおおまかなソフトウェア処理系の構成を示している。
【図４】本発明の実施の形態におけるデータ処理部により実行される各種処理と、内部メモリに確保される記憶領域またはデータを示す図である。
【図５】本発明の実施の形態におけるデータ処理部により実行される各種処理と、内部メモリおよび外部メモリに確保される記憶領域またはデータを示す図である。
【図６】図４の場合に対応する内部メモリ用復号鍵情報テーブル、および、図５の場合に対応する外部メモリ用復号鍵情報テーブルの構成例を示す図である。
【図７】本発明の実施の形態におけるコンテンツの再生に関する処理例を表すフローチャートである。
【図８】図７のステップＳ１７の処理の具体例を示したフローチャートである。
【符号の説明】
【００４５】
１０…送信側、１１…秘密鍵、１３…デジタル署名、１４…平文、１５…証明書、１５ａ…署名用公開鍵、１６…暗号文、１７…共通鍵、１８…公開鍵、１９…被暗号化復号鍵、２０…受信側、２１…秘密鍵、２２…保護鍵、２４…被暗号化復号鍵、３１，３２…擬似乱数、１００…携帯電話端末、２２７…内部メモリ、２２９…外部メモリ、３０１…上位層、３０２…下位層、４１１…暗号文、４１３…復号鍵情報テーブル、４１３ａ…内部メモリ用復号鍵情報テーブル、４１３ｂ…外部メモリ用復号鍵情報テーブル、４１４…作業エリア、４３３…付加情報、４４１…外部記憶媒体特定情報
【図１】
2007318583.tif 000003
【図２】
2007318583.tif 000004
【図３】
2007318583.tif 000005
【図４】
2007318583.tif 000006
【図５】
2007318583.tif 000007
【図６】
2007318583.tif 000008
【図７】
2007318583.tif 000009
【図８】
2007318583.tif 000010