(57)【要約】【課題】バックアップリストア攻撃に対して十分な耐性を有する鍵生成装置を提供すること。【解決手段】鍵生成装置は、ソフトウェア及びソフトウェア証明情報を記憶するソフトウェア記憶部と、ソフトウェア証明情報を用いて鍵を生成する鍵生成部と、鍵を用いて保護対象情報を暗号化又は復号する暗号復号部と、ソフトウェア証明情報を用いてソフトウェアの改ざんの有無を検証する改ざん検証部とを備える。改ざん検証部は、ソフトウェアが改ざんされていると判断した場合、鍵生成部による鍵の生成を禁止する。【選択図】図１
2009284231.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア及びソフトウェア証明情報を記憶するソフトウェア記憶部と、
前記ソフトウェア証明情報を用いて鍵を生成する鍵生成部と、
前記鍵を用いて保護対象情報を暗号化又は復号する暗号復号部と、
前記ソフトウェア証明情報を用いて前記ソフトウェアの改ざんの有無を検証する改ざん検証部と、を備え、
前記改ざん検証部は、前記ソフトウェアが改ざんされていると判断した場合、前記鍵生成部による前記鍵の生成を禁止することを特徴とする鍵生成装置。
【請求項２】
請求項１に記載の鍵生成装置であって、
前記鍵生成部による前記鍵の生成の禁止又は許可を示す鍵生成禁止フラグを記憶する禁止フラグ記憶部を備え、
前記改ざん検証部は、検証結果に応じて前記鍵生成禁止フラグの状態を制御することを特徴とする鍵生成装置。
【請求項３】
請求項１に記載の鍵生成装置であって、
前記ソフトウェア証明情報は、ハッシュ関数による前記ソフトウェアのハッシュ値、暗号関数による前記ハッシュ値の暗号化データ、鍵付きハッシュ関数による前記ソフトウェアの鍵付きハッシュ値、前記暗号関数による前記鍵付きハッシュ値の暗号化データ、前記ソフトウェアのハッシュ値と対応するディジタル署名の組、又は前記暗号関数による前記組の暗号化データのいずれかであることを特徴とする鍵生成装置。
【請求項４】
請求項３に記載の鍵生成装置であって、
前記改ざん検証部は、前記ソフトウェア記憶部に格納された前記ソフトウェア証明情報に含まれるハッシュ値と、前記ソフトウェア記憶部に格納されたソフトウェアから計算したハッシュ値が異なるとき、前記ソフトウェアが改ざんされていると判断することを特徴とする鍵生成装置。
【請求項５】
請求項１に記載の鍵生成装置であって、
前記鍵生成部は、前記ソフトウェア証明情報及び所定ビット数の乱数を用いて一時鍵を生成し、前記乱数を暗号化して第１の記憶部に格納することを特徴とする鍵生成装置。
【請求項６】
請求項５に記載の鍵生成装置であって、
前記鍵生成部は、前記暗号化した乱数が記録されている前記第１の記憶部上のアドレスを示す情報を暗号化して前記第２の記憶部に格納することを特徴とする鍵生成装置。
【請求項７】
請求項５又は６に記載の鍵生成装置であって、
前記鍵生成部は、前記暗号化した乱数を分割し、前記第１の記憶部の複数アドレスに分散して格納することを特徴とする鍵生成装置。
【請求項８】
ソフトウェア及びソフトウェア証明情報を記憶するソフトウェア記憶部と、
前記ソフトウェア証明情報を用いて鍵を生成する鍵生成部と、
前記鍵を用いて保護対象情報を暗号化又は復号する暗号復号部と、
前記ソフトウェア証明情報を用いて前記ソフトウェアの改ざんの有無を検証する改ざん検証部と、を備えた鍵生成装置が行う鍵生成方法であって、
前記改ざん検証部が、前記ソフトウェア記憶部に格納されている前記ソフトウェア証明情報を用いて前記ソフトウェアの改ざんの有無を検証するステップと、
前記改ざん検証部が前記ソフトウェアは改ざんされていると判断した場合、前記改ざん検証部が、前記鍵生成部による前記鍵の生成を禁止するステップと、
を有することを特徴とする鍵生成方法。
【請求項９】
コンピュータに、請求項８に記載の各ステップを実行させるための鍵生成プログラム。
【請求項１０】
請求項１から請求項７のいずれかに記載の鍵生成装置を含んで構成される電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップリストア攻撃に対して十分な耐性を有する鍵生成装置、鍵生成方法及び鍵生成プログラム、並びに、電子機器に関する。
【背景技術】
【０００２】
バックアップリストア攻撃とは、例えばＤＲＭ（Digital Rights Management：デジタル著作権管理）によって再生回数が制限されたコンテンツの場合、一度も再生していない状態でコンテンツの暗号化権利情報をバックアップしておき、端末で利用した当該コンテンツの残り再生回数が０になった後、バックアップしておいた暗号化権利情報をリストアすることによって、１つのコンテンツにつき決められている再生可能回数を不正に回復する攻撃である。
【０００３】
バックアップリストア攻撃に対する対策として、時間や回数等の変数に基づく暗号鍵を生成し、この暗号鍵で権利化情報を暗号化する方法がある。当該方法を上記例に適用すれば、残り再生回数が０の状態で生成される暗号鍵は、コンテンツを一度も再生していない状態で生成された暗号鍵と異なるため、バックアップしておいた暗号化権利情報をリストアしても、前者の暗号鍵（残り再生回数が０の状態で生成される暗号鍵）によるこの暗号化権利情報の復号は失敗する。
【０００４】
【特許文献１】特開平７−２９５８０１号公報
【特許文献２】特開２００２−２１５２５６号公報
【特許文献３】特開２００３−２３４７２８号公報
【特許文献４】特許第３２９３７６０号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記方法による対策を講じた場合であっても、コンテンツを一度も再生していない状態で生成された暗号鍵が暗号化権利化情報と共にバックアップされると、バックアップリストア攻撃を防ぐことはできない。同様に、特許文献１に記載の技法（ソフトウェア・オブジェクトへのアクセスを保護するための技法）では、ハードウェアに固有の情報に依存した鍵を利用するため、特定のハードウェア以外に対するバックアップリストア攻撃を防ぐことはできるが、このハードウェア自体に対する攻撃を防ぐことはできない。
【０００６】
また、特許文献２に記載の技法（コンピュータソフトウェアのオーソライズされていない流布および使用を防止する技法）では、ソフトウェアの更新に係る時間インターバルに依存した鍵を利用するため、特定のバージョンのソフトウェアに対するバックアップリストア攻撃を防ぐことはできるが、このバージョン以外のバージョンのソフトウェアに対する攻撃を防ぐことはできない。さらに、特許文献３に記載の技術（無効化された公開鍵証明書を特定する公開鍵証明書無効化リストの差し替え攻撃に対する防御技術）では、特定の公開鍵証明書無効化リスト（ＣＲＬ）に依存した鍵を利用するため、特定のＣＲＬに対するバックアップリストア攻撃を防ぐことはできるが、このＣＲＬ以外に対する攻撃を防ぐことはできない。
【０００７】
本発明の目的は、バックアップリストア攻撃に対して十分な耐性を有する鍵生成装置、鍵生成方法及び鍵生成プログラム、並びに、電子機器を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、ソフトウェア及びソフトウェア証明情報を記憶するソフトウェア記憶部と、前記ソフトウェア証明情報を用いて鍵を生成する鍵生成部と、前記鍵を用いて保護対象情報を暗号化又は復号する暗号復号部と、前記ソフトウェア証明情報を用いて前記ソフトウェアの改ざんの有無を検証する改ざん検証部と、を備え、前記改ざん検証部は、前記ソフトウェアが改ざんされていると判断した場合、前記鍵生成部による前記鍵の生成を禁止する鍵生成装置を提供する。
【０００９】
上記鍵生成装置は、前記鍵生成部による前記鍵の生成の禁止又は許可を示す鍵生成禁止フラグを記憶する禁止フラグ記憶部を備え、前記改ざん検証部は、検証結果に応じて前記鍵生成禁止フラグの状態を制御する。
【００１０】
上記鍵生成装置では、前記ソフトウェア証明情報は、ハッシュ関数による前記ソフトウェアのハッシュ値、暗号関数による前記ハッシュ値の暗号化データ、鍵付きハッシュ関数による前記ソフトウェアの鍵付きハッシュ値、前記暗号関数による前記鍵付きハッシュ値の暗号化データ、前記ソフトウェアのハッシュ値と対応するディジタル署名の組、又は前記暗号関数による前記組の暗号化データのいずれかである。
【００１１】
上記鍵生成装置では、前記改ざん検証部は、前記ソフトウェア記憶部に格納された前記ソフトウェア証明情報に含まれるハッシュ値と、前記ソフトウェア記憶部に格納されたソフトウェアから計算したハッシュ値が異なるとき、前記ソフトウェアが改ざんされていると判断する。
【００１２】
上記鍵生成装置では、前記鍵生成部は、前記ソフトウェア証明情報及び所定ビット数の乱数を用いて一時鍵を生成し、前記乱数を暗号化して第１の記憶部に格納する。
【００１３】
上記鍵生成装置では、前記鍵生成部は、前記暗号化した乱数が記録されている前記第１の記憶部上のアドレスを示す情報を暗号化して前記第２の記憶部に格納する。
【００１４】
上記鍵生成装置では、前記鍵生成部は、前記暗号化した乱数を分割し、前記第１の記憶部の複数アドレスに分散して格納する。
【００１５】
本発明は、ソフトウェア及びソフトウェア証明情報を記憶するソフトウェア記憶部と、前記ソフトウェア証明情報を用いて鍵を生成する鍵生成部と、前記鍵を用いて保護対象情報を暗号化又は復号する暗号復号部と、前記ソフトウェア証明情報を用いて前記ソフトウェアの改ざんの有無を検証する改ざん検証部と、を備えた鍵生成装置が行う鍵生成方法であって、前記改ざん検証部が、前記ソフトウェア記憶部に格納されている前記ソフトウェア証明情報を用いて前記ソフトウェアの改ざんの有無を検証するステップと、前記改ざん検証部が前記ソフトウェアは改ざんされていると判断した場合、前記改ざん検証部が、前記鍵生成部による前記鍵の生成を禁止するステップと、を有する鍵生成方法を提供する。
【００１６】
本発明は、コンピュータに、上記鍵生成方法に記載の各ステップを実行させるための鍵生成プログラムを提供する。
【００１７】
本発明は、上記鍵生成装置を含んで構成される電子機器を提供する。
【発明の効果】
【００１８】
本発明に係る鍵生成装置、鍵生成方法及び鍵生成プログラム、並びに、電子機器によれば、ソフトウェアの更新、追加、削除が一定の頻度で発生する環境において、バックアップリストア攻撃に対する十分な耐性を実現することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について、図面を参照して説明する。
【００２０】
図１は、本発明に係る鍵生成装置を含む携帯端末と、この携帯端末とネットワークで接続されたサーバとを備えたシステムを示すブロック図である。図１に示すシステムは、コンテンツ再生機能付き携帯電話等の携帯端末１０と、ネットワーク２５を介して携帯端末１０に接続されたソフトウェア更新サーバ２１及びコンテンツ配信サーバ２３とを備える。
【００２１】
ソフトウェア更新サーバ２１は、携帯端末１０からのソフトウェア更新要求に応じて、ソフトウェアを更新するためのプログラム又はデータ（以下「更新ソフトウェア」という。）を携帯端末１０に送る。また、ソフトウェア更新サーバ２１は、携帯端末１０が更新ソフトウェアを実行すると生成される新しいバージョンのソフトウェアのハッシュ値を算出し、このハッシュ値を携帯端末１０に送る。コンテンツ配信サーバ２３は、携帯端末１０からのコンテンツ配信要求に応じて、要求されたコンテンツのデータ（以下、単に「コンテンツ」という。）を携帯端末１０に送る。
【００２２】
携帯端末１０は、図１に示すように、通信部１０１と、ソフトウェア更新部１０３と、ソフトウェア記憶部１０５と、改ざん検証部１０７と、禁止フラグ記憶部１０９と、一時鍵生成部１１１と、固有情報記憶部１１３と、乱数記憶部１１５と、権利情報記憶部１１７と、暗号復号部１１９と、コンテンツ記憶部１２１と、コンテンツ再生部１２３とを備える。なお、ソフトウェア更新部１０３、改ざん検証部１０７、一時鍵生成部１１１、暗号復号部１１９及びコンテンツ再生部１２３はチップセット等によって構成され、プログラムが実行されることにより動作しても良い。
【００２３】
通信部１０１は、ネットワーク２５を介して、ソフトウェア更新サーバ２１から更新ソフトウェア及びハッシュ値を受け取り、コンテンツ配信サーバ２３からコンテンツを受け取る。ソフトウェア更新部１０３は、通信部１０１が受け取ったハッシュ値をソフトウェア記憶部１０５に格納する。また、ソフトウェア更新部１０３は、通信部１０１が受け取った更新ソフトウェアを実行する。現在使用中のバージョンのソフトウェアの実行中にソフトウェア更新部１０３によって更新ソフトウェアが実行されると、携帯端末１０又はソフトウェアが再起動され、新しいバージョンのソフトウェアがソフトウェア記憶部１０５に格納される。
【００２４】
本実施形態では、携帯端末１０によるソフトウェアの更新は、所望の期間を経て所定のタイミングで行われるべきである。このため、携帯端末１０の図示しないディスプレイには、ソフトウェアの更新を促すメッセージが表示される。携帯端末１０のユーザがソフトウェアの更新に同意したとき、通信部１０１はソフトウェア更新サーバ２１から更新ソフトウェアをダウンロードし、同時にハッシュ値もダウンロードする。なお、ユーザへの確認を行わず自動的に更新を行っても構わない。
【００２５】
ソフトウェア記憶部１０５は、通信部１０１がダウンロードしたハッシュ値及び新しいバージョンのソフトウェアを記憶する。改ざん検証部１０７は、ソフトウェア記憶部１０５に格納されているソフトウェアのハッシュ値を算出し、ソフトウェア記憶部１０５に格納されているハッシュ値と比較する。改ざん検証部１０７は、算出したハッシュ値とソフトウェア記憶部１０５に格納されているハッシュ値が一致すれば、ソフトウェア記憶部１０５に格納されているソフトウェアは改ざんされていないと判断し、これらのハッシュ値が一致しなければソフトウェアは改ざんされていると判断する。改ざん検証部１０７は、ソフトウェアが改ざんされていないと判断したとき、禁止フラグ記憶部１０９に格納されている一時鍵生成禁止フラグを降ろし（一時鍵生成禁止フラグ←０）、ソフトウェアが改ざんされていると判断したとき、一時鍵生成禁止フラグを立てる（一時鍵生成禁止フラグ←１）。
【００２６】
なお、本実施例ではハッシュ値を使う場合を説明したが、鍵付きハッシュ値や、ハッシュ値と対応するディジタル署名の組を利用することも可能である。鍵付きハッシュ値やディジタル署名の場合は、特定の鍵により鍵付きハッシュ値や署名に対応したハッシュ値自体が改ざんされていないことを事前に検証してからソフトウェアの改ざん検証を実行する。また、ハッシュ値、鍵付きハッシュ値、又はハッシュ値とディジタル署名の組は端末固有鍵等により暗号化して保存することでよりハッシュ値自体の安全性を向上できる。
【００２７】
禁止フラグ記憶部１０９は、一時鍵生成禁止フラグを記憶する。一時鍵生成部１１１は、禁止フラグ記憶部１０９に格納されている一時鍵生成禁止フラグの状態に応じて、一時復号鍵及び一時暗号鍵を含む一時鍵を生成する。一時鍵生成部１１１は、一時鍵生成禁止フラグが立っているとき一時鍵を生成せず、一時鍵生成禁止フラグが降りているとき一時鍵を生成する。
【００２８】
一時鍵生成部１１１が一時暗号鍵を生成する際、一時鍵生成部１１１は、所定ビット数の乱数を生成し、当該生成した乱数と、ソフトウェア記憶部１０５に格納されているハッシュ値と、固有情報記憶部１１３に格納されている端末固有情報とを用いて、一時暗号鍵を生成する。一時鍵生成部１１１は、ハッシュ関数であるSHA-1関数を用いて一時暗号鍵を生成する。一時鍵生成部１１１は、生成した乱数を一時暗号鍵とは異なる携帯端末１０に固有の鍵を用いて暗号化して乱数記憶部１１５に格納する。また、一時鍵生成部１１１は、暗号化された乱数が記録されている乱数記憶部１１５上のアドレスを示す情報を一時暗号鍵や乱数を暗号化する際の鍵とは異なる携帯端末１０に固有の鍵を用いて暗号化して乱数記憶部１１５に格納する。なお、本実施例ではハッシュ値が１つの場合について記載したが、ソフトウェアを分割して部分毎にハッシュ値を計算することも可能である。この場合は全てのハッシュ値を一時鍵の生成に使用することができる。
【００２９】
また、一時鍵生成部１１１が一時復号鍵を生成する際、一時鍵生成部１１１は、暗号化された乱数が記録されている乱数記憶部１１５上のアドレスを示す情報を復号し、当該情報が示すアドレスに記録されている暗号化された乱数を復号する。次に、一時鍵生成部１１１は、復号した乱数と、ソフトウェア記憶部１０５に格納されているハッシュ値と、固有情報記憶部１１３に格納されている端末固有情報とを用いて、一時復号鍵を生成する。
【００３０】
固有情報記憶部１１３は、端末固有情報を記憶する。端末固有情報は、携帯端末１０に固有の情報であり、例えば、携帯端末１０が有するチップに割り当てられた識別情報や携帯端末１０自体に割り当てられた識別情報等である。乱数記憶部１１５は、一時鍵生成部１１１によって生成され暗号化された乱数及びこの暗号化乱数が記録されているアドレスを示す情報を記憶する。
【００３１】
権利情報記憶部１１７は、コンテンツを再生するために必要な権利情報を記憶する。権利情報記憶部１１７に格納されている権利情報は一時暗号鍵によって暗号化されている。したがって、権利情報を利用するためには一時復号鍵で復号する必要がある。暗号復号部１１９は、一時鍵生成部１１１によって生成された一時復号鍵を用いて、権利情報記憶部１１７に格納された権利情報を復号する。また、暗号復号部１１９は、一時鍵生成部１１１によって生成された一時暗号鍵を用いて、コンテンツ再生時に更新された権利情報を暗号化する。なお、暗号復号部１１９によって再び暗号化された権利情報は権利情報記憶部１１７に格納される。
【００３２】
コンテンツ記憶部１２１は、コンテンツ配信サーバ２３からネットワーク２５を介して配信され通信部１０１が受け取ったコンテンツを記憶する。コンテンツ再生部１２３は、コンテンツ記憶部１２１に格納されているコンテンツを再生する。なお、コンテンツ再生部１２３によってコンテンツが再生されると、当該コンテンツの権利情報が更新される。例えば、権利情報の更新とは、例えば、コンテンツの残り再生回数のデクリメントである。
【００３３】
図２及び図３は、図１に示した携帯端末１０がコンテンツを再生する際の動作を示すフローチャートである。図２に示すように、携帯端末１０はソフトウェアの更新が必要か否かを判断し（ステップＳ１０１）、ソフトウェアの更新が必要な場合はステップＳ１０３に進み、不必要な場合はステップＳ１０９に進む。ステップＳ１０３では、通信部１０１は、更新ソフトウェア及びハッシュ値をダウンロードする。次に、ステップＳ１０５で、ソフトウェア更新部１０３は、更新ソフトウェアを実行する。次に、ステップＳ１０７で、ソフトウェア更新部１０３は、新しいバージョンのソフトウェア及びステップＳ１０３でダウンロードされたハッシュ値をソフトウェア記憶部１０５に格納する。
【００３４】
ステップＳ１０９では、改ざん検証部１０７は、ソフトウェア記憶部１０５に格納されているソフトウェアが改ざんされているかを検証する。ステップＳ１０９による改ざん検証の結果、ステップＳ１１１でソフトウェアが改ざんされていると判断された場合はステップＳ１１３に進み、改ざんされていないと判断された場合は図３に示すステップＳ１１５に進む。ステップＳ１１３では、改ざん検証部１０７は、禁止フラグ記憶部１０９に格納されている一時鍵生成禁止フラグを立てる（一時鍵生成禁止フラグ←１）。なお、本実施形態では、改ざん検証は携帯端末１０の再起動時に実行されることを想定しているが、特定のアプリケーションなどはアプリケーションが実行される直前に改ざん検証を実行しても構わない。また、定期的にソフトウェアを改ざん検出しても構わない。
【００３５】
ステップＳ１１５では、携帯端末１０はコンテンツの再生が指示されているかを判断し、コンテンツ再生が指示されていなければ処理を終了し、指示されていればステップＳ１１７に進む。ステップＳ１１７では、一時鍵生成部１１１は、禁止フラグ記憶部１０９に格納されている一時鍵生成禁止フラグが立っている（一時鍵生成禁止フラグ＝１）かを判断し、フラグが立っていれば処理を終了し、立っていなければ（一時鍵生成禁止フラグ＝０）ステップＳ１１９に進む。
【００３６】
ステップＳ１１９では、一時鍵生成部１１１は一時復号鍵を生成する。なお、ステップＳ１１９で一時復号鍵を生成する際の一時鍵生成部１１１の詳細な動作については図５を参照して後述する。次に、ステップＳ１２１では、暗号復号部１１９は、ステップＳ１１９で生成された一時復号鍵を用いて、権利情報記憶部１１７に格納された権利情報を復号する。次に、ステップＳ１２３では、コンテンツ再生部１２３は、コンテンツ記憶部１２１に格納されているコンテンツを再生する。次に、ステップＳ１２５では、コンテンツ再生部１２３は権利情報を更新する。
【００３７】
次に、ステップＳ１２７では、一時鍵生成部１１１は一時暗号鍵を生成する。なお、ステップＳ１２７で一時暗号鍵を生成する際の一時鍵生成部１１１の詳細な動作については図４を参照して後述する。次に、ステップＳ１２９では、暗号復号部１１９は、ステップＳ１２７で生成された一時暗号鍵を用いて、ステップＳ１２５で更新された権利情報を暗号化して権利情報記憶部１１７に格納する。
【００３８】
以下、図３のステップＳ１２７で説明した一時暗号鍵を生成する際の詳細な動作について、図４を参照して説明する。まず、ステップＳ２０１では、一時鍵生成部１１１は、所定ビット数の乱数と、ソフトウェア記憶部１０５に格納されているハッシュ値と、固有情報記憶部１１３に格納されている端末固有情報とを取得する。なお、乱数、ハッシュ値及び端末固有情報の３つをまとめて鍵生成情報という。ステップＳ２０３では、一時鍵生成部１１１は、鍵生成情報から一時暗号鍵を生成する。次に、ステップＳ２０５では、一時鍵生成部１１１は、ステップＳ２０１で取得した乱数を暗号化して乱数記憶部１１５に格納する。次に、ステップＳ２０７では、一時鍵生成部１１１は、暗号化された乱数が記録されている乱数記憶部１１５上のアドレスを示す情報（アドレス情報）を暗号化して乱数記憶部１１５に格納する。
【００３９】
以下、図３のステップＳ１１９で説明した一時復号鍵を生成する際の詳細な動作について、図５を参照して説明する。まず、ステップＳ３０１では、一時鍵生成部１１１は、乱数記憶部１１５からアドレス情報を取得して復号する。次に、ステップＳ３０３では、一時鍵生成部１１１は、復号したアドレス情報が示す乱数記憶部１１５のアドレスから暗号化乱数を取得して復号する。次に、ステップＳ３０５では、一時鍵生成部１１１は、ステップＳ３０３で復号された乱数と、ソフトウェア記憶部１０５に格納されているハッシュ値と、固有情報記憶部１１３に格納されている端末固有情報とを取得する。ステップＳ３０７では、一時鍵生成部１１１は、鍵生成情報から一時復号鍵を生成する。
【００４０】
以上説明したように、本実施形態の携帯端末１０によれば、ソフトウェアの改ざんを検証する際に用いられるハッシュ値は、ソフトウェアが更新されるたびに変わり、ハッシュ値の不一致によってソフトウェアが改ざんされていると判断されたときには、コンテンツを再生する際に用いられる権利情報を暗号化又は復号する一時鍵の生成が禁止される。したがって、一時復号鍵の生成のために必要なハッシュ値を用いたバックアップリストア攻撃が行われたとしても、ソフトウェアが更新された後は、バックアップされたハッシュ値をリストアしてもソフトウェアが改ざんされていると判断されるため、一時鍵を生成することができない。このように、バックアップリストア攻撃に対する十分な耐性を実現することができる。
【００４１】
但し、本実施形態によっても、ソフトウェアの全データをバックアップされた場合には、バックアップリストア攻撃を防ぐことができない。しかし、ソフトウェアの全データのサイズは非常に大きいため、頻繁に更新されるソフトウェアの全データのバックアップは現実的ではない。したがって、本実施形態は、バックアップリストア攻撃に対する実質的に十分な耐性を有する。
【００４２】
なお、本実施形態では、ソフトウェアの改ざんを検証する際にはハッシュ値が用いられているが、ソフトウェアのフィンガープリンティングやＣＲＣコード等を利用しても良い。また、一時鍵が暗号化又は復号する保護対象情報は、コンテンツの残り再生回数等の権利情報に限らず、セキュリティ設定情報やログ又は履歴情報等のであっても良い。また、本明細書で用いられるソフトウェアには、プログラム、又はプログラムを実行する際に用いられるデータが含まれ、悪意によるプログラムやデータの改ざんから保護されるべき情報である。
【００４３】
また、本実施形態では、一時鍵生成部１１１が一時鍵を生成するために必要な乱数が暗号化された状態で乱数記憶部１１５に格納されるが、暗号化乱数を分割して同一のメモリデバイスの異なるアドレスに分散して格納する、又は異なるメモリデバイスに分散して格納しても良い。なお、このとき用いられる分散方式には単純に先頭から数バイトずつ分割する方法以外にも秘密分散法等がある。分散して保存したアドレスを示す情報は暗号化され保存される。したがって、一時復号鍵を生成する際には、アドレス情報を復号した後に、秘密分散法等の分散方式に従って、分散された暗号化乱数の全てを取得して復号する。分散して保存することにより、バックアアップリストア攻撃において、バックアップするソフトウェアの範囲を拡大させることが可能となり安全性が向上する。
【産業上の利用可能性】
【００４４】
本発明に係る鍵生成装置、鍵生成方法及び鍵生成プログラム、並びに、電子機器は、バックアップリストア攻撃に対する実質的に十分な耐性を有する技術等として有用である。
【図面の簡単な説明】
【００４５】
【図１】本発明に係る鍵生成装置を含む携帯端末と、この携帯端末とネットワークで接続されたサーバとを備えたシステムを示すブロック図
【図２】図１に示した携帯端末がコンテンツを再生する際の動作を示すフローチャート
【図３】図１に示した携帯端末がコンテンツを再生する際の動作を示すフローチャート
【図４】図３のステップＳ１２７で説明した一時暗号鍵を生成する際の詳細な動作を示すフローチャート
【図５】図３のステップＳ１１９で説明した一時復号鍵を生成する際の詳細な動作を示すフローチャート
【符号の説明】
【００４６】
１０  携帯端末
２１  ソフトウェア更新サーバ
２３  コンテンツ配信サーバ
１０１  通信部
１０３  ソフトウェア更新部
１０５  ソフトウェア記憶部
１０７  改ざん検証部
１０９  禁止フラグ記憶部
１１１  一時鍵生成部
１１３  固有情報記憶部
１１５  乱数記憶部
１１７  権利情報記憶部
１１９  暗号復号部
１２１  コンテンツ記憶部
１２３  コンテンツ再生部
【図１】
2009284231.tif 000003
【図２】
2009284231.tif 000004
【図３】
2009284231.tif 000005
【図４】
2009284231.tif 000006
【図５】
2009284231.tif 000007