(57)【要約】【課題】  メモリカードを商品価値のあるデータを配布するための媒体として利用する場合に、機器互換性を損なうことなく、不正コピー及び不正利用を防止する。【解決手段】  ＳＤメモリカード２１７は認証機能を具備し、認証の可否に拘らずアクセス可能なユーザ領域に暗号化されたファームウエアアップデータが格納され、認証に成功した場合にのみアクセス可能なセキュア記憶領域に、ファームウエアアップデータの解読に必要な復号鍵が格納されている。認証機能に基づく認証に成功すると、ＣＰＵ２０５は、前記セキュア記憶領域から復号鍵を読み出し、フラッシュＲＯＭ２１３に格納した上で、セキュア記憶領域の復号鍵を消去する。ユーザ記憶領域から暗号化されたファームウエアアップデータを読み出し復号鍵で復号する。【選択図】  図1
2006079449.tif 000002
【特許請求の範囲】
【請求項１】
暗号化されたデジタルデータ及び前記デジタルデータの暗号化を復号するための復号鍵とを格納した着脱可能な記憶媒体からの前記デジタルデータの読み出しを制御する方法であって、
前記復号鍵を読み出す復号鍵読み出しステップと、
前記復号鍵読み出しステップ後、前記記憶媒体から前記復号鍵を削除する復号鍵削除ステップと、
前記暗号化されたデジタルデータを読み出すデジタルデータ読み出しステップと、
前記復号鍵読み出しステップで読み出された前記復号鍵によって前記暗号化されたデジタルデータの暗号化を復号するデジタルデータ復号化ステップ
とを具備することを特徴とする記憶媒体アクセス制御方法。
【請求項２】
更に、
前記デジタルデータ読み出しステップの後、前記記憶媒体から前記暗号化されたデジタルデータを削除するデジタルデータ削除ステップと、
前記情報機器固有の情報であるデバイス固有鍵により、前記デジタルデータを暗号化するデジタルデータ暗号化ステップと、
前記デジタルデータ暗号化ステップで暗号化されたデジタルデータを、前記記憶媒体に書き戻すデジタルデータ書き戻しステップ
とを具備することを特徴とする請求項１に記載の記憶媒体アクセス制御方法。
【請求項３】
更に、
前記復号鍵読み出しステップで読み出した前記復号鍵を、前記情報機器に固有の情報であるデバイス固有鍵により暗号化する復号鍵暗号化ステップと、
前記暗号鍵復号化ステップで暗号化された復号鍵を、前記記憶媒体に書き戻す復号鍵書き戻しステップ
とを具備することを特徴とする請求項１又は２に記載の記憶媒体アクセス制御方法。
【請求項４】
認証機能と、前記認証機能を使った認証に成功した場合にのみアクセス可能なセキュア記憶領域と、認証に関わらずアクセス可能なユーザ記憶領域とを具備する記憶媒体であって、前記ユーザ記憶領域に暗号化されたデジタルデータが格納され、前記前記暗号化されたデジタルデータの復号化のための復号鍵が前記セキュア記憶領域に格納される記憶媒体からの前記デジタルデータの読み出しを制御する方法であって、
前記認証機能に基づき前記記憶媒体に対し認証を行う認証ステップと、
前記認証ステップで認証に成功した場合に、前記セキュア記憶領域から前記復号鍵を読み出す復号鍵読み出しステップと、
前記復号鍵読み出しステップの後、前記セキュア記憶領域から前記復号鍵を削除する復号鍵削除ステップと、
前記ユーザ記憶領域から前記暗号化されたデジタルデータを読み出すデジタルデータ読み出しステップと、
前記復号鍵読み出しステップで読み出された前記復号鍵によって前記暗号化されたデジタルデータの暗号化を復号するデジタルデータ復号化ステップ
とを具備することを特徴とする記憶媒体アクセス制御方法。
【請求項５】
前記デジタルデータ読み出しステップ後、前記ユーザ記憶領域から前記暗号化されたデジタルデータを削除するデジタルデータ削除ステップと、
前記デジタルデータ復号化ステップ後、前記デジタルデータ復号化ステップで復号された前記デジタルデータを前記情報機器に固有の情報であるデバイス固有鍵により暗号化するデジタルデータ暗号化ステップと、
前記デジタルデータ暗号化ステップで暗号化したデジタルデータを前記ユーザ記憶領域に書き戻すデジタルデータ書き戻しステップ
とを具備することを特徴とする請求項４に記載の記憶媒体アクセス制御方法。
【請求項６】
更に、
前記復号鍵読み出しステップ後、前記情報機器に固有の情報であるデバイス固有鍵により前記復号鍵を暗号化する復号鍵暗号化ステップと、
前記暗号鍵復号化ステップで暗号化された復号鍵を前記セキュア記憶領域に書き戻す復号鍵書き戻しステップ
とを具備することを特徴とする請求項４又は５に記載の記憶媒体アクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、着脱可能な記憶媒体のアクセス制御方法に関する。
【背景技術】
【０００２】
近年、固定ディスク及び着脱可能な記憶媒体、例えばＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード等が、パーソナルコンピュータ、ＰＤＡ、携帯電話及びデジタルスチルカメラ等で、デジタルデータを格納するためのストレージデバイスとして用いられている。また、光磁気ディスク等も広く利用されている。
【０００３】
これら記憶媒体は、例えば、デジタルスチルカメラに装着され、撮影画像データが格納される。画像データが格納されたＳＤメモリカードを、パーソナルコンピュータのカードリーダに接続すると、画像データが閲覧できるなど、接続インタフェースが搭載されている全ての機器で同様に読み書きできること、つまり機器互換性が重要となっている。
【０００４】
このような機器互換性を背景に広く利用されるようになった記録媒体には、大きな問題がある。それは、マルチメディアコンテンツ及びファームウェアアップデータ等の商品価値のあるデータを配布するための媒体として利用する場合、不正コピーが容易に行えてしまうという問題である。
【０００５】
この問題に対応するため、現在もっとも利用されているのは、例えばパーソナルコンピュータにおけるＯＳ（オペレーティングシステム）であるＷｉｎｄｏｗｓ２０００  Ｐｒｏｆｅｓｓｉｏｎａｌ（米国Ｍｉｃｒｏｓｏｆｔ社の商標）等のように、ライセンスを購入し、シリアルナンバーを取得しなければ、記憶媒体内データを利用できないようにする方法である。しかしこの方法では、ライセンスが一つあれば不特定多数の機器で利用することが可能であるので、１つの機器に対して１つのライセンスが必要なソフトウェア等は、不正利用が容易となっている。
【０００６】
また、例えばＳＤメモリカード等のアクセス制限が可能なデータ領域を持つ記録媒体では、アクセス制限可能な領域にデータの読み出し可能回数を設定しておき、データの利用の度に読み出し可能回数をデクリメントしてゆき、０になるとデータの読み出しをできないようにするという方法がある。しかし、この方法では、アクセスを許すべき機器に対しても読み出し回数を制限することとなり、何度も利用する可能性のあるデータ対しては、適用できない。さらに、読み出し回数が０になるまでは、いずれの機器においても読み出し可能であるので、不特定多数の情報機器で利用可能となってしまうという問題がある。
【０００７】
これら方法以外には、例えば、特許文献１で紹介されている方法として、記憶媒体固有の情報を基にデータを暗号化して格納する方法がある。しかし、この方法では、データ復号化に必要な記憶媒体固有の情報が取得可能であるので、復号方法を知っていれば誰でもデータを利用できてしまい、商品価値のあるデータの配布には向かないという問題がある。
【０００８】
また、データを暗号化して格納し、復号可能な機器を制限する方法がある（例えば、特許文献２、３、５及び６参照）。
【０００９】
例えば、特許文献２に記載されている方法は、暗号化に利用した鍵をさらに秘密鍵で暗号化し、データと一緒に格納する。秘密鍵は外部から取得できない方法で記憶媒体に格納される。これにより、秘密鍵を取得する手段を持っている復号化ユニットと呼ばれる特殊装置でしかデータを取得できない。しかし、この方法では、復号化ユニットと呼ばれる特殊な装置でしかデータを取得できないので、機器互換性を損なってしまうという問題がある。
【００１０】
特許文献３に記載されている方法は、データを記録装置固有のＩＤで暗号化して格納することで、同一の記録装置でしかデータを再生できないようにするというデータ保護方法である。しかし、この方法では、同一の記録装置でしかデータを再生できないので、ファームウェアアップデータ等の配布目的で開発されたデータに適用するためには、デジタルデータと共に記録装置も配布する必要がある。これでは、機器互換性が損なわれ、コストがかかりすぎてしまうという問題がある。
【００１１】
特許文献５に記載されている方法では、まずコンテンツ鍵でデータを暗号化し、このコンテンツ鍵と暗号化されたデータをデータ格納装置に渡すと、コンテンツ鍵を該データ格納装置固有の保存鍵で暗号化して、データと共に保存する。これにより、データ格納装置でしかデータを再生できない。しかし、この方法では、特許文献３で紹介されている方法と同様に、デジタルデータと共にデータ格納装置も配布する必要があり、機器互換性が損なわれ、コストがかかりすぎてしまうという問題がある。
【００１２】
特許文献６に記載されている方法では、秘密情報とメディアキーの組み合わせでのみ復号可能なようにデータを暗号化し、秘密情報とともに記録媒体に格納することで、メディアキーを持つ機器でしかデータを再生できないようにするというデータ保護方法である。しかし、この方法では、メディアキーを持っている情報機器であれば、いずれの機器であっても無制限にデータを利用することが可能であるので、不特定多数の情報機器で不正利用される可能性がある。
【００１３】
さらに、ライセンス方式を採用し、ライセンスを取得した機器しかアクセスできない領域に復号鍵を格納する方法がある。例えば、特許文献４に記載されている方法は、公開鍵暗号方式でデータを暗号化し、秘密鍵を通常アクセス不可の領域に格納する。そして、ライセンスを取得することで秘密鍵を取得し、この秘密鍵によりデータが復号可能になる。しかし、この方法では、ライセンス方式を利用しているので、ライセンスが一つあれば不特定多数の機器で利用でき、不正利用が容易であるという問題がある。
【００１４】
特許文献７には、ＳＤメモリカードに関して、その認証機能と、認証に応じてアクセスを制御できる２種類の記憶領域が記載されている。
【特許文献１】特開平０９−１１５２４１号公報
【特許文献２】特開平１０−２９３７２５号公報
【特許文献３】特開２０００−０４８４７９号公報
【特許文献４】特開２００１−０５７０１９号公報
【特許文献５】特開２００１−０７６４２５号公報
【特許文献６】特開２００２−０８４２７１号公報
【特許文献７】特開２００３−０９９７２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
このように、機器互換性の高い記録媒体において、機器互換性を損なわずに、商品価値のあるデジタルデータを該記憶媒体に格納して配布し、１つの記録媒体に格納されたデジタルデータは１つの情報機器でのみ利用可能としたいとする要望がある。しかし、そのような商品価値のあるデジタルデータを適切に保護する方法は、存在しない。
【００１６】
本発明は、着脱自在な記憶媒体を単一の機器でのみ利用可能にする記憶媒体アクセス制御方法を提示することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る記憶媒体アクセス制御方法は、暗号化されたデジタルデータ及び前記デジタルデータの暗号化を復号するための復号鍵とを格納した着脱可能な記憶媒体からの前記デジタルデータの読み出しを制御する方法であって、前記復号鍵を読み出す復号鍵読み出しステップと、前記復号鍵読み出しステップ後、前記記憶媒体から前記復号鍵を削除する復号鍵削除ステップと、前記暗号化されたデジタルデータを読み出すデジタルデータ読み出しステップと、前記復号鍵読み出しステップで読み出された前記復号鍵によって前記暗号化されたデジタルデータの暗号化を復号するデジタルデータ復号化ステップとを具備することを特徴とする。
【００１８】
本発明に係る記憶媒体アクセス制御方法は、認証機能と、前記認証機能を使った認証に成功した場合にのみアクセス可能なセキュア記憶領域と、認証に関わらずアクセス可能なユーザ記憶領域とを具備する記憶媒体であって、前記ユーザ記憶領域に暗号化されたデジタルデータが格納され、前記前記暗号化されたデジタルデータの復号化のための復号鍵が前記セキュア記憶領域に格納される記憶媒体からの前記デジタルデータの読み出しを制御する方法であって、前記認証機能に基づき前記記憶媒体を認証する認証ステップと、前記認証ステップで認証に成功した場合に、前記セキュア記憶領域から前記復号鍵を読み出す復号鍵読み出しステップと、前記復号鍵読み出しステップの後、前記セキュア記憶領域から前記復号鍵を削除する復号鍵削除ステップと、前記ユーザ記憶領域から前記暗号化されたデジタルデータを読み出すデジタルデータ読み出しステップと、前記復号鍵読み出しステップで読み出された前記復号鍵によって前記暗号化されたデジタルデータの暗号化を復号するデジタルデータ復号化ステップとを具備することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、マルチメディアコンテンツやファームウェアアップデータ等の商品価値のあるデータが格納された記憶媒体に対して、格納されたデジタルデータが一度も利用されていない記憶媒体にアクセスする場合には、前記デジタルデータを利用することが許された全ての機器に対して利用を可能とすることができる。さらに、格納されたデジタルデータが一度でも利用された記憶媒体にアクセスする場合、最初にアクセスした機器以外の機器はデータの利用を不可能とすることができる。これにより、記憶媒体の機器互換性を損なわずに、格納データの不正コピー及び不正利用を防止することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００２１】
図１は、本発明の第１実施例であるカメラシステムの概略構成ブロック図である。本実施例のカメラシステムは、電子カメラと、これに着脱可能な外部記憶媒体として、カードインタフェース２１６を介して電子カメラに接続されるＳＤメモリカード２１７とからなる。
【００２２】
２０１はレンズであり、２０２はレンズ２０１を通った光を電気信号として出力するＣＣＤユニットである。２０３はＡ／Ｄコンバータであり、ＣＣＤユニット２０２からのアナログ信号をデジタル信号へ変換する。２０４はＳＳＧユニットであり、ＣＣＤユニット２０２とＡ／Ｄコンバータ２０３に同期信号を供給する。２０５はＣＰＵであり、本カメラシステムにおける各種の制御を実現する。
【００２３】
２０６は信号処理アクセラレータであり、信号処理を高速に実現する。２０７は電池であり、２０８は電池２０７からの電力を電子カメラ全体に供給するＤＣ／ＤＣコンバータである。２０９は電源コントローラユニットであり、ＤＣ／ＤＣコンバータ２０８を制御する。２１０はパネル操作・教示装置・電源のコントロールを行うサブＣＰＵである。２１１はユーザに各種の情報を表示する装置であり、液晶パネル等が用いられる。２１２はコントロールパネルであり、ユーザが直接操作するレリーズスイッチ及びメニューボタンを含む。
【００２４】
２１３はフラッシュＲＯＭであり、電子カメラ固有のデバイス固有鍵、電子カメラの機種で共通となっているデバイス鍵、及びファームウェアプログラムを格納する。デバイス固有鍵及びデバイス鍵の詳細については後述する。フラッシュＲＯＭ２１３は更に、電源供給にかかわらず格納データを消失しないので、ファームウェアアップデート処理におけるデータ一時保存領域及び処理状況保存領域としても利用される。その動作の詳細は後述する。２１４はＤＲＡＭで該電子カメラの主記憶である。２１６はＳＤカード等のカードインタフェース部、２１７は外部記憶媒体としてのＳＤメモリカードである。また、２１８はＤＭＡコントローラ、２１９はストロボである。
【００２５】
２２０はエンコーダであり、設定された暗号鍵を基にフラッシュＲＯＭ２１３内の指定データを暗号化し、フラッシュＲＯＭ２１３に書き戻すために利用される。２２１はデコーダであり、エンコーダ２２０とは逆に、設定された復号鍵を基にフラッシュＲＯＭ２１３内の指定データを復号化し、フラッシュＲＯＭ２１３に書き戻すために利用される。
【００２６】
次に、図７を参照して、電子カメラの通常のファームウェアアップデート動作を説明する。このアップデート動作は、アップデート用のファームウェアデータが格納されたＳＤメモリカード２１７がカードインタフェース部２１６に装着されていることが前提となる。先ず、ユーザが液晶パネル２１１を見ながら、コントロールパネル２１２を操作し、ファームウェアアップデートの開始メニューを選択する（ステップ３０１）。ＣＰＵ２０５がそれを検知し、アップデート動作がスタートする。以下の処理は、特に明記していない場合は、全て、ＣＰＵ２０５の制御下で実行される。
【００２７】
さて、ファームウェアアップデートがメニューから選択されると、ＣＰＵ２０５は、ステップ３０２でフラッシュＲＯＭ２１３にファームウェアアップデート処理中フラグをセットする。ファームウェアアップデート処理中フラグは、ファームウェアアップデート処理実行中であることを示すフラグであり、不揮発性ＲＯＭであるフラッシュＲＯＭ２１３に格納されるので、ファームウェアアップデート実行中に電力供給が停止しても、クリアされることはない。ファームウェアアップデート実行中に電力供給が停止した場合は、次の電源投入時に（ステップ３０３）、ステップ３０４でファームウェアアップデート処理中フラグがセットされている否かを調べ、セットされている場合は、ファームウェアアップデート処理を再開する。セットされていない場合は、通常通りに起動する。
【００２８】
ステップ３０２でファームウェアアップデート処理中フラグをセットした後、又は、ステップ３０４でファームウェアアップデート処理中フラグがセットされていた場合は、ステップ３０５でファームウェアアップデート用プログラムをフラッシュＲＯＭ２１３から読み出し、ＲＡＭ２１４に展開する。ファームウェアアップデート用プログラムは、フラッシュＲＯＭ２１３への書き込みと、カードインタフェース部２１６を通してＳＤメモリカード２１７内データの読み出しが可能なプログラムである。
【００２９】
ＣＰＵ２０５は、このファームウェアアップデート用プログラムを実行することで、以下のステップを実行する。即ち、先ず、ＣＰＵ２０５は、ステップ３０６でフラッシュＲＯＭ２１３にファームウェアアップデータが存在するかを否かを調べる。このステップ３０６は、ファームウェアアップデート処理実行中に電力供給が停止し、ステップ３０３からステップ３０４を経て起動した場合のために行う処理である。ステップ３０６でファームウェアアップデータが存在しないと判定した場合、ステップ３０７でＳＤメモリカード２１７からファームウェアアップデータを読み出す。
【００３０】
次に、ステップ３０８で、ブート後に実行するプログラムのアドレス（ジャンプ先アドレス）を現在のファームウェア先頭アドレスから、ステップ３０７で読み出した新規ファームウェアの先頭アドレスに変更する。
【００３１】
最後に、ステップ３０９でフラッシュＲＯＭ２１３から既存のファームウェアデータを削除し、ステップ３１０でフラッシュＲＯＭ２１３のファームウェアアップデート処理中フラグをリセットし、ステップ３１１で電子カメラの電源をオフにして、アップデート動作を完了する。
【００３２】
アップデート完了後、電源が投入されると、新たに書き換えられたファームウェアの先頭アドレスにジャンプして起動する。アップデート動作中に、電力供給が不意に停止してしまった場合でも、ファームウェアアップデート処理中フラグにより、処理の途中から再開することができる。従って、電力供給がアップデート途中に停止した場合でも、アップデート動作を失敗することなく、ファームウェアアップデート処理を再開、完了することができる。
【００３３】
本実施例で用いるＳＤメモリカード２１７の構成と機能を説明する。ＳＤメモリカード２１７は、特開２００３−０９９７２９号公報の段落００３２〜００４２に記載される構成及びセキュリティ機能を有する。即ち、ＳＤメモリカード２１７は、メモリ部と、メモリ部への書込み及び読み出しを制御するメモリコントローラからなり、メモリ部は、マスクＲＯＭとＥＥＰＲＯＭからなる。マスクＲＯＭの内部には、システム領域と隠蔽領域が設けられ、ＥＥＰＲＯＭ２２の内部には、プロテクト領域とユーザデータ領域が設けられている。システム領域にはＭｅｄｉａ  Ｋｅｙ  Ｂｌｏｃｋ（ＭＫＢ）とＭｅｄｉａ−ＩＤとが格納されており、これらは書き換え不能である。ＳＤメモリカードが他の機器と接続され、ＭＫＢとＭｅｄｉａ−ＩＤが他の機器により読み出された場合、これらを読み出した他の機器が、ＭＫＢ及びＭｅｄｉａ−ＩＤと、自身のアプリケーションプログラムに設定されているデバイス鍵Ｋｄとを用いて所定の演算を正しく行えば、他の機器は、正しい暗号鍵Ｋｍｕを所持することができる。
【００３４】
隠蔽領域には、正解値となる暗号鍵Ｋｍｕ、即ち、他の機器が正常なデバイス鍵Ｋｄを用いて正常な演算を行なった場合に得られるべき暗号鍵Ｋｍｕが格納されている。プロテクト領域には利用条件情報が格納される。
【００３５】
ユーザデータ領域は、機器の正当性が認証されるか否かに拘らず、ＳＤメモリカードが装着された機器からアクセス可能である。ユーザデータ領域には、暗号化コンテンツが格納される。
【００３６】
プロテクト領域に対する書き込みのプロトコルと、ユーザデータ領域に対する書き込みのプロトコルは、大きく異なる。ユーザデータ領域に対するデータ書き込みは、ＳＤメモリカードが装着される装置からの書込みコマンドに従って実行される。これに対し、プロテクト領域に対する書込みには、書込みコマンドの発行前に、予めセキュアライトプロトコルによる認証を得なければならない。具体的には、システム領域からＭＫＢを読み出し、アプリケーションプログラムに設定されたデバイス鍵ＫｄとＭＫＢの演算により５６ビットの暗号鍵Ｋｍを生成する。システム領域からＭｅｄｉａ−ＩＤ（ＭＩＤ）を読み出し、このＭＩＤとＫｍを用いて所定の演算を行うことにより得られる６４ビットの演算結果の内の下位５６ビットを暗号鍵Ｋｍｕとする。Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ（ＡＫＥ）処理により相互に認証を行い、暗号鍵Ｋｍｕを使ってセッション鍵Ｋｓを共有する。このセッション鍵Ｋｓを使ってデータを暗号化して、プロテクト領域に書き込む。
【００３７】
また、フラッシュＲＯＭ２１３に格納されているデバイス鍵は、ＳＤメモリカードにアクセスできる機器がそれぞれ固有にもっている鍵情報であり、このデバイス鍵は、ＳＤメモリカードにおける著作権保護技術等の標準化を薦める団体と、アプリケーションプログラムを開発するソフトハウスとが正式な契約を締結することを条件として、この団体により交付される。この契約は、ユーザの操作に従ってプロテクト領域を自由に書き換えてしまうようなアプリケーションプログラムを開発しないという禁止条項を含んでいる。そのため、プロテクト領域にデータを書き込めるとしても、ユーザから命じられるまま、デジタル著作物のライセンス管理並びに課金管理及び個人情報の管理を行うプログラムが、プロテクト領域に自由にデータを書き込むことはない。フラッシュＲＯＭ２１３に格納されているファームウェアプログラムは、ユーザの操作に従ってプロテクト領域を自由に書き換えてしまうことが無いように作成される。
【００３８】
本実施例では、ＳＤメモリカード２１７を、電子カメラのファームウェアアップデータを配布するための記憶媒体として用いる。図８は、一度も読み出されていない状態、即ち未使用状態で、ＳＤメモリカード２１７のユーザデータ領域に格納されるファームウェアアップデータ及び、プロテクト領域に格納される復号鍵の模式図を示す。図８において、１０１は、暗号化されたファームウェアアップデータであり、”ＩｎｉｔｉａｌＮｅｗＦｉｒｍ．ｂｉｎ”というファイル名でユーザデータ領域に格納されている。１０２は復号鍵であり、”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”というファイル名でプロテクト領域に格納されている。ファームウェアアップデータ１０１は、復号鍵１０２で復号化できる。
【００３９】
先に説明したように、プロテクト領域に書き込まれるデータは、複数のアプリケーションで共有するかしないかを指定可能である。本実施例では、復号鍵１０２を、複数のアプリケーションで共有されないデータとして書き込まれる。従って、上述のデバイス鍵を保持しており、かつ前記ファームウェアプログラムによって動作している電子カメラでなければ、復号鍵１０２にアクセスできないことが保証されている。このとき、電子カメラは、特定の製造番号を持つ電子カメラを示すものではなく、前記デバイス鍵を備え、前記アプリケーションプログラムによって動作している電子カメラすべてを指す。以下、特に明記しない場合、「電子カメラ」は、復号鍵１０２にアクセス可能な電子カメラすべてを指すものとする。
【００４０】
本実施例による初回アクセス手順を説明する。初回アクセス手順とは、ＳＤメモリカードが装着された電子カメラが、ユーザによるファームウェアアップデートの開始メニュー選択を検知したとき、ＳＤメモリカードが未使用状態であった場合に、復号鍵１０２及びファームウェアアップデータ１０１にアクセスする手順である。図２乃至図6は、フラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を示しており、図２、図３、図４、図５及び図６と遷移する。
【００４１】
図９は、初回アクセス手順のフローチャートを示す。初回アクセス手順は、全て電子カメラからのアクセスに対してＳＤメモリカードが答えるという、電子カメラ主導の動作となっている。また、初回アクセス手順は、アプリケーションプログラムによって、ファームウェアアップデータ読み出し時（図７におけるステップ３０７）に自動的に行われるものであり、ユーザは、初回アクセス手順の途中で別の動作を指定することはできない。さらに、ファームウェアアップデート動作と同様、処理途中での電力供給の停止に対応するため、消失してはならないデータは、フラッシュＲＯＭ２１３に格納される。以下のフローチャートの説明において、フラッシュＲＯＭ２１３に格納すると明記したデータは、不意の電力供給停止後の再起動時に利用するものであり、電源オン／オフで自動的に消失されることはない。
【００４２】
図９において、ステップ６０１で電子カメラは、ＡＫＥ（Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）処理をＳＤメモリカード２１７に対して実行する。ステップ６０２でＡＫＥ処理に成功したか否かを判定し、失敗した場合はここで初回アクセス手順を終了する。さらに、ファームウェアアップデータの読み出しに失敗したことになるので、ファームウェアアップデート処理自体も失敗し、終了する。
【００４３】
ステップ６０２でＡＫＥ処理に成功した場合は、ステップ６０３でプロテクト領域にアクセスし、復号鍵１０２（ファイル”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”）が存在するか否かを確認する。存在しなければ、ＳＤメモリカード２１７は、未使用状態ではないと判断し、初回アクセス手順を終了する。存在する場合、ステップ６０４で復号鍵１０２（ファイル”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”）を読み出してフラッシュＲＯＭ２１３に格納し、ステップ６０５で読み出した復号鍵１０２（ファイル”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”）をＳＤメモリカード２１７のプロテクト領域から削除する。
【００４４】
続いて、ステップ６０６でユーザデータ領域にアクセスし、ファームウェアアップデータ１０１（ファイル”ＩｎｉｔｉａｌＮｅｗＦｉｒｍ．ｂｉｎ”）を読み出してフラッシュＲＯＭ２１３に格納し、ステップ６０７で、復号鍵１０２と同様に、ＳＤメモリカード２１７のユーザデータ領域からファームウェアアップデータ１０１を削除する。この時点での電子カメラのフラッシュＲＯＭ２１３、並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータを図３に示す。復号鍵１０２及びファームウェアアップデータ１０１はいずれも削除されたので、この時点ではプロテクト領域及びユーザデータ領域にはいずれのデータも格納されていない。
【００４５】
その後、ステップ６０８で復号鍵１０２をデコーダ２２１に設定し、ファームウェアアップデータ１０１を復号化する。この時点で、復号鍵１０２は必要なくなるので、ステップ６０９で、電子カメラのフラッシュＲＯＭ２１３から復号鍵１０２を削除する。
【００４６】
ステップ６１０で、エンコーダ２２０が、復号化されたファームウェアアップデータ１０１を、デバイス固有鍵を使って再度、暗号化する。デバイス固有鍵は、先のデバイス鍵とは異なり、個々の電子カメラに固有な値からなる。従って、デバイス固有鍵で暗号化されたファームウェアアップデータ１０１は、暗号化を行った電子カメラでのみ復号化可能であり、同機種の別の電子カメラでは復号化できない。暗号化されたファームウェアアップデータ１０１は、フラッシュＲＯＭ２１３に書き戻される。この時点の電子カメラのフラッシュＲＯＭ２１３並びにＳＤメモリカード２１７のプロテクト領域及びユーザデータ領域に格納されているデータを図４に示す。図４で、１０７は、ファームウェアアップデータ１０１を復号鍵１０２で復号化したものであり、１０８はそれをさらにデバイス固有鍵で暗号化したものである。
【００４７】
ステップ６１０の暗号化を完了すると、再暗号化されたファームウェアアップデータ１０８は、ステップ６１１でＳＤメモリカード２１７のユーザデータ領域に”ＥｎｃｏｄｅｄＮｅｗＦｉｒｍ．ｂｉｎ”というファイル名で書き込まれる。ステップ６１２で、フラッシュＲＯＭ２１３から暗号化されたファームウェアアップデータ１０８を削除し、初回アクセス手順を終了する。この時点でのＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータを図５に示す。ユーザデータ領域に、ファームウェアアップデータ１０１を読み出した電子カメラのデバイス固有鍵で暗号化されたファームウェアアップデータ１０８（ファイル”ＥｎｃｏｄｅｄＮｅｗＦｉｒｍ．ｂｉｎ”）が格納されている。この後、ファームウェアアップデート処理は、ステップ６０８で復号化されフラッシュＲＯＭ２１３に格納されているファームウェアアップデータ１０７を用いて、図７のステップ３０８から続行される。
【００４８】
次に、初回アクセス手順において、未使用状態ではない、即ち、一度でも格納データへのアクセスがあったと判断されたＳＤメモリカードに対して、電子カメラがアクセスを試みる場合のアクセス手順、即ち、二度目以降のアクセス手順を説明する。二度目以降のアクセス手順は、初回アクセス手順の図９におけるステップ６０３で、復号鍵１０２が存在しないと判定した場合に実行される手順である。
【００４９】
図１０は、二度目以降アクセス手順のフローチャートを示す。二度目以降アクセス手順は、初回アクセス手順同様、ファームウェアプログラムによって、ファームウェアアップデータ読み出し時（図７におけるステップ３０７）に自動的に行われるものであり、ユーザは途中で別の動作を指定することはできない。さらに、ファームウェアアップデート動作同様、処理途中での電力供給の停止に対応するため、消失してはならないデータはフラッシュＲＯＭ２１３に格納される。以下のフローチャートの説明において、フラッシュＲＯＭ２１３に格納すると明記したデータは、不意の電力供給停止後の再起動時に利用するものであり、電源オン／オフで自動的に消去されることはない。
【００５０】
図９のステップ６０３で復号鍵１０２がプロテクト領域に存在しないことが確認された場合、図１０のステップ７０１で、ユーザデータ領域にアクセスし、デバイス固有鍵で暗号化されたファームウェアアップデータ１０８（ファイル”ＥｎｃｏｄｅｄＮｅｗＦｉｒｍ．ｂｉｎ”）を読み出し、フラッシュＲＯＭ２１３に格納する。ファームウェアアップデータ１０８は、初回アクセス手順により一度アクセスされており、その際に、アクセスした電子カメラのデバイス固有鍵により再暗号化されている。電子カメラは、ステップ７０２で自身のデバイス固有鍵をデコーダ２２１に設定し、ファームウェアアップデータ１０８の復号化を行い、その後、復号化されたファームウェアアップデータを用い、ファームウェアアップデート処理を実行する。もし、ＳＤメモリカードが装着されている電子カメラが、初回にアクセスした電子カメラではなかった場合、ステップ７０２の復号化処理で、デコーダ２２１がデコードエラーを発生し、その時点で、二度目以降アクセス手順は終了する。ファームウェアアップデータの読み出しにも失敗しているので、ファームウェアアップデート処理自体も失敗し、終了する。
【実施例２】
【００５１】
以下、本実施例の別の動作形態を説明する。上述の動作とは、初回アクセス手順及び二度目以降アクセス手順のみが異なる。図１１は、初回アクセス手順のフローチャートを示し、図１２は、二度目以降アクセス手順のフローチャートを示す。図１３乃至図１５は、フラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を示しており、図１３，図１４及び図１５と遷移する。
【００５２】
図１１に示す初回アクセス手順では、電子カメラからのアクセスに対してＳＤメモリカードが応答するという、電子カメラ主導の動作となっている。また、初回アクセス手順は、アプリケーションプログラムによって、ファームウェアアップデータ読み出し時（図７におけるステップ３０７）に自動的に行われるものであり、ユーザは途中で他の動作を指定することができない。さらに、ファームウェアアップデート動作同様、処理途中での電力供給の停止に対応するため、消失してはならないデータは、フラッシュＲＯＭ２１３に格納される。以下のフローチャートの説明において、フラッシュＲＯＭ２１３に格納すると明記したデータは、不意の電力供給停止後の再起動時に利用されるものであり、電源オン／オフで自動的に消失されることはない。
【００５３】
図１１において、ステップ８０１で、電子カメラはＡＫＥ処理をＳＤメモリカードに対して実行する。ステップ８０２でＡＫＥ処理に成功したか否かを判定し、失敗した場合はここで初回アクセス手順を終了する。ファームウェアアップデータの読み出しに失敗したことになるので、ファームウェアアップデート処理自体も失敗し、終了する。
【００５４】
ステップ８０２でＡＫＥ処理に成功した場合は、ステップ８０３でプロテクト領域にアクセスし、格納されている復号鍵のファイル名を調べる。ＳＤメモリカード未使用状態の格納データを示す図８で、データ１０２のファイル名が”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”であるので、”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”という名前のファイルが存在したら、一度もアクセスされていないと判断する。しかし、”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”という名前のファイルが存在せず、”ＥｎｃｏｄｅｄＫｅｙ．ｄａｔ”をいう名前のファイルが存在した場合、既にアクセスされたと判断する。これは、初回アクセス手順の実行ステップで、”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”を読み出し、削除した後、”ＥｎｃｏｄｅｄＫｅｙ．ｄａｔ”という名前のファイルを格納するからである。詳細は後述する。
【００５５】
ファイル”ＥｎｃｏｄｅｄＫｅｙ．ｄａｔ”が存在することを確認できた場合、ＳＤメモリカードは既にアクセスされたものと判断し、初回アクセス手順を終了する。
【００５６】
ステップ８０３でファイル”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”の存在が確認できた場合、ＳＤメモリカードが一度もアクセスされていないと判断し、ステップ８０４で、プロテクト領域から復号鍵１０２（ファイル”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”）を読み出し、さらにステップ８０５で読み出した復号鍵１０２（ファイル”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”）をＳＤメモリカードのプロテクト領域から削除する。この時点での電子カメラのフラッシュＲＯＭ２１３、並びに、ＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を図１４に示す。
【００５７】
続いて、ステップ８０６で、エンコーダ２２０にデバイス固有鍵を設定し、復号鍵１０２自体を暗号化する。ステップ８０７では、暗号化された復号鍵１０２を”ＥｎｃｏｄｅｄＫｅｙ．ｄａｔ”をいうファイル名でプロテクト領域に書き込む。これにより、暗号化された復号鍵１０２を復号化できるのは、そのデバイス固有鍵を保有する電子カメラのみとなる。更に、ステップ８０８で、フラッシュＲＯＭ２１３から暗号化された復号鍵１０２を削除する。この時点での電子カメラのフラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を、図１５に示す。図１３に示す未使用状態とは異なり、ＳＤメモリカードのプロテクト領域には、復号鍵１０２自体が暗号化され、作成された復号鍵１０９が”ＥｎｃｏｄｅｄＫｅｙ．ｄａｔ”というファイル名で格納されている。
【００５８】
その後、ステップ８０９でユーザデータ領域からファームウェアアップデータ１０１（ファイル”ＩｎｉｔｉａｌＮｅｗＦｉｒｍ．ｂｉｎ”）を読み出し、ステップ８０４で、読み出した復号鍵１０２をデコーダ２２１に設定し、ステップ８１０でファームウェアアップデータ１０１を復号化する。この後、フラッシュＲＯＭ２１３から復号鍵１０２を削除する。ファームウェアアップデート処理は、フラッシュＲＯＭ２１３に格納されているステップ８１０で復号化されたファームウェアアップデータ１０１を用いて、図７におけるステップ３０８から続行される。
【００５９】
次に、二度目以降アクセス手順を説明する。二度目以降アクセス手順は、初回アクセス手順のステップ８０３で、ＳＤメモリカードのプロテクト領域に、”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”という名前のファイルが存在しないと判定された場合に実行される。図１２は、該二度目以降アクセス手順のフローチャートを示す。
【００６０】
二度目以降アクセス手順は、初回アクセス手順と同様、ファームウェアプログラムによって、ファームウェアアップデータ読み出し時（図７におけるステップ３０７）に自動的に実行されるものであり、ユーザは途中で他の動作を指定することはできない。さらに、ファームウェアアップデート動作と同様に、処理途中での電力供給の停止に対応するため、消失してはならないデータは、フラッシュＲＯＭ２１３に格納される。以下のフローチャートの説明において、フラッシュＲＯＭ２１３に格納すると明記したデータは、不意の電力供給停止後の再起動時に利用するものであり、電源オン／オフで自動的に消失されることはない。
【００６１】
図１１のステップ８０３で、”ＩｎｉｔｉａｌＫｅｙ．ｄａｔ”という名前のファイルがプロテクト領域に存在しないことが確認された場合、図１２のステップ９０１で、プロテクト領域にアクセスし、暗号化された復号鍵１０９（ファイル”ＥｎｃｏｄｅｄＫｅｙ．ｄａｔ”）を読み出す。この暗号化された復号鍵１０９は、一度目にアクセスした電子カメラが保有するデバイス固有鍵により暗号化されている。ステップ９０２で、デバイス固有鍵をデコーダ２２１に設定し、暗号化された復号鍵１０９を復号化する。ステップ９０４で、ユーザデータ領域にアクセスして、ファームウェアアップデータ１０１を読み出してフラッシュＲＯＭ２１３に格納し、ステップ９０５で、復号化した復号鍵１０２でファームウェアアップデータ１０１を復号化する。その後、復号化されたファームウェアアップデータを用い、ファームウェアアップデート処理を実行する。
【００６２】
ＳＤメモリカードが装着されている電子カメラが、初回にアクセスした電子カメラではなかった場合、ステップ９０３でデコーダ２２１がデコードエラーを発生し、二度目以降アクセス手順はこの時点で終了する。ファームウェアアップデータの読み出しに失敗したことにもなるので、ファームウェアアップデート処理自体も失敗し、終了する。
【００６３】
以上に説明したように、ファームウェアアップデータ配布用のＳＤメモリカードが一度もアクセスされていなかった場合は、復号鍵１０２にアクセス可能な（前記デバイス鍵を保有している）全機器で、ファームウェアアップデータ１０１を利用できる。また、ＳＤメモリカードが既にアクセスされていた場合、一度目のアクセスを行った機器のみが二度目以降、何度でもアクセス可能となり、他の機器は、指定されたデバイス鍵を保有していても、ファームウエアアップデータを利用できない。こうすることで、記憶媒体の機器互換性を損なうことなく、ファームウェアアップデータの不正利用と不正コピーを防止できる。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】フラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を示す図である。
【図３】フラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を示す図である。
【図４】フラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を示す図である。
【図５】フラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を示す図である。
【図６】フラッシュＲＯＭ２１３並びにＳＤメモリカードのプロテクト領域及びユーザデータ領域に格納されているデータ例を示す図である。
【図７】ファームウェアアップデート処理手順のフローチャートである。
【図８】ＳＤメモリカードの未使用時のプロテクト領域及びユーザデータ領域の格納データを示す図である。
【図９】初回アクセス手順を示すフローチャートである。
【図１０】二度目以降アクセス手順のフローチャートである。
【図１１】初回アクセス手順の別の動作例を示すフローチャートである。
【図１２】二度目以降アクセス手順の別の動作例を示すフローチャートである。
【図１３】図１１及び図１２に対応するフラッシュＲＯＭ２１３及びＳＤメモリカードのデータ配置例を示す図である。
【図１４】図１１及び図１２に対応するフラッシュＲＯＭ２１３及びＳＤメモリカードのデータ配置例を示す図である。
【図１５】図１１及び図１２に対応するフラッシュＲＯＭ２１３及びＳＤメモリカードのデータ配置例を示す図である。
【符号の説明】
【００６５】
１０１：ファームウェアアップデータ
１０２：復号鍵
１０７：復号化されたファームウェアアップデータ
１０８：デバイス固有鍵により暗号化されたファームウェアアップデータ
１０９：デバイス固有鍵により暗号化された復号鍵
２０１：レンズ
２０２：ＣＣＤユニット
２０３：Ａ／Ｄコンバータ
２０４：ＳＳＧユニット
２０５：ＣＰＵ
２０６：信号処理アクセラレータ
２０７：電池
２０８：ＤＣ／ＤＣコンバータ
２０９：電源コントローラ
２１０：サブＣＰＵ
２１１：表示装置
２１２：コントロールパネル
２１３：フラッシュＲＯＭ
２１４：ＤＲＡＭ
２１６：カードインタフェース
２１７：外部記憶媒体
２１８：ＤＭＡコントローラ
２１９：ストロボ
２２０：エンコーダ
２２１：デコーダ
【図１】
2006079449.tif 000003
【図２】
2006079449.tif 000004
【図３】
2006079449.tif 000005
【図４】
2006079449.tif 000006
【図５】
2006079449.tif 000007
【図６】
2006079449.tif 000008
【図７】
2006079449.tif 000009
【図８】
2006079449.tif 000010
【図９】
2006079449.tif 000011
【図１０】
2006079449.tif 000012
【図１１】
2006079449.tif 000013
【図１２】
2006079449.tif 000014
【図１３】
2006079449.tif 000015
【図１４】
2006079449.tif 000016
【図１５】
2006079449.tif 000017