(57)【要約】【課題】  接続された記憶媒体の暗号・認証機能の情報を動的に取得する。【解決手段】  ディジタルデータの暗号・認証機能を有するメモリカードに、サポートする暗号・認証機能を問い合わせる(S31)。問い合わせの結果に基づき、ディジタルデータに適用する暗号・認証機能を選択する(S34)。そして、選択結果をメモリカードに通知し(S35)、ディジタルデータをメモリカードに送信する。【選択図】  図3
2008011512.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルデータの暗号・認証処理手段を有する記憶媒体に、サポートする暗号・認証機能を問い合わせる問い合わせ手段と、
前記問い合わせの結果に基づき、ディジタルデータに適用する暗号・認証機能を選択し、前記選択の結果を前記記憶媒体に通知する通知手段と、
前記ディジタルデータと鍵データを前記記憶媒体に送信する送信手段とを有することを特徴とするデータ処理装置。
【請求項２】
前記通知手段は、前記問い合わせの結果に基づき、前記ディジタルデータに適用する一つまたは複数の暗号・認証機能を選択することを特徴とする請求項1に記載されたデータ処理装置。
【請求項３】
前記記憶媒体の暗号・認証処理手段は、前記鍵データを使用して、前記通知された暗号・認証機能に対応する処理を前記ディジタルデータに施し、前記処理を施したディジタルデータと前記鍵データを対応付けてメモリに格納することを特徴とする請求項1または請求項2に記載されたデータ処理装置。
【請求項４】
さらに、前記ディジタルデータを生成する生成手段を有することを特徴とする請求項1から請求項3の何れか一項に記載されたデータ処理装置。
【請求項５】
さらに、前記記憶媒体を接続または取り付ける接続手段を有することを特徴とする請求項1から請求項4の何れか一項に記載されたデータ処理装置。
【請求項６】
ディジタルデータの暗号・認証処理を行う処理手段と、
ディジタルデータの暗号・認証処理を行う暗号化・認証処理手段を有する記憶媒体に鍵データを送信する鍵データの送信手段と、
前記暗号化・認証処理手段の暗号・認証機能および処理能力を前記記憶媒体に問い合わせる問い合わせ手段と、
前記処理手段の暗号・認証機能と、前記問い合わせによって取得した前記暗号・認証処理手段の暗号・認証機能に基づき、ディジタルデータに適用する暗号・認証機能を選択する選択手段と、
前記処理手段の処理能力と、前記問い合わせによって取得した前記暗号・認証処理手段の処理能力を比較して、前記ディジタルデータの暗号・認証処理を前記処理手段で行うか前記暗号・認証処理手段で行うかを決定する決定手段と、
前記処理手段によって暗号・認証処理したディジタルデータを前記記憶媒体に送信するか、前記選択した暗号・認証機能の通知および前記暗号・認証処理を施していないディジタルデータを前記記憶媒体に送信して、前記暗号・認証処理手段に前記ディジタルデータの暗号・認証処理を行わせるディジタルデータの送信手段とを有することを特徴とするデータ処理装置。
【請求項７】
ディジタルデータの暗号・認証機能を備えるデータ記憶装置であって、
外部装置の問い合わせに対してサポートする暗号・認証機能を通知する通知手段と、
前記通知に対する前記外部装置の選択に従い、前記外部装置から受信した鍵データを使用して、前記外部装置から受信したディジタルデータに暗号・認証処理を施す処理手段と、
前記処理したディジタルデータと前記鍵データを対応付けて記憶するメモリとを有することを特徴とするデータ記憶装置。
【請求項８】
前記通知手段は、前記通知に前記処理手段の処理能力を示す情報を含めることを特徴とする請求項7に記載されたデータ記憶装置。
【請求項９】
ディジタルデータの暗号・認証機能を備えるデータ記憶装置であって、
外部装置がメモリからの読み出しを指示するディジタルデータを暗号・認証処理した装置を判定する判定手段と、
前記暗号・認証処理した装置が自装置の場合は、前記指示されたディジタルデータと、前記ディジタルデータに対応付けられた鍵データを前記メモリから読み出し、前記鍵データを使用して前記ディジタルデータを復号し検証する処理手段と、
前記暗号・認証処理した装置が前記自装置の場合は前記処理手段が復号し検証したディジタルデータを前記外部装置に送信し、前記暗号・認証処理した装置が前記外部装置の場合は前記指示されたディジタルデータを前記メモリから読み出して前記外部装置に送信する送信手段とを有することを特徴とするデータ記憶装置。
【請求項１０】
ディジタルデータの暗号・認証処理手段を有する記憶媒体に、サポートする暗号・認証機能を問い合わせ、
前記問い合わせの結果に基づき、ディジタルデータに適用する暗号・認証機能を選択し、前記選択の結果を前記記憶媒体に通知し、
前記ディジタルデータと鍵データを前記記憶媒体に送信することを特徴とするデータ処理方法。
【請求項１１】
ディジタルデータの暗号・認証処理を行う処理手段を有するデータ処理装置のデータ処理方法であって、
ディジタルデータの暗号・認証処理を行う暗号化・認証処理手段を有する記憶媒体に鍵データを送信し、
前記暗号化・認証処理手段の暗号・認証機能および処理能力を前記記憶媒体に問い合わせ、
前記処理手段の暗号・認証機能と、前記問い合わせによって取得した前記暗号・認証処理手段の暗号・認証機能に基づき、ディジタルデータに適用する暗号・認証機能を選択し、
前記処理手段の処理能力と、前記問い合わせによって取得した前記暗号・認証処理手段の処理能力を比較して、前記ディジタルデータの暗号・認証処理を前記処理手段で行うか前記暗号・認証処理手段で行うかを決定し、
前記処理手段によって暗号・認証処理したディジタルデータを前記記憶媒体に送信するか、前記選択した暗号・認証機能の通知および前記暗号・認証処理を施していないディジタルデータを前記記憶媒体に送信して、前記暗号・認証処理手段に前記ディジタルデータの暗号・認証処理を行わせることを特徴とするデータ処理方法。
【請求項１２】
ディジタルデータの暗号・認証機能を備えるデータ記憶装置のデータ処理方法であって、
外部装置の問い合わせに対してサポートする暗号・認証機能を通知し、
前記通知に対する前記外部装置の選択に従い、前記外部装置から受信した鍵データを使用して、前記外部装置から受信したディジタルデータに暗号・認証処理を施し、
前記処理したディジタルデータと前記鍵データを対応付けてメモリに記憶することを特徴とするデータ処理方法。
【請求項１３】
ディジタルデータの暗号・認証機能を備えるデータ記憶装置のデータ処理方法であって、
外部装置がメモリからの読み出しを指示するディジタルデータを暗号・認証処理した装置を判定し、
前記暗号・認証処理した装置が自装置の場合は、前記指示されたディジタルデータと、前記ディジタルデータに対応付けられた鍵データを前記メモリから読み出し、前記鍵データを使用して前記ディジタルデータを復号し検証し、
前記暗号・認証処理した装置が前記自装置の場合は前記復号し検証したディジタルデータを前記外部装置に送信し、
前記暗号・認証処理した装置が前記外部装置の場合は前記指示されたディジタルデータを前記メモリから読み出して前記外部装置に送信することを特徴とするデータ処理方法。
【請求項１４】
コンピュータ装置を制御して、請求項1から請求項6の何れか一項に記載されたデータ処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項１５】
コンピュータ装置を制御して、請求項7から請求項9の何れか一項に記載されたデータ記憶装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項１６】
請求項14または請求項15に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互接続された機器間における暗号・認証処理に関する。
【背景技術】
【０００２】
電子撮像装置として、レンズで捉えた光学的な静止画像をCCDにより電気信号に変換し、半導体メモリなどの記録媒体に記憶するディジタルカメラが知られている。ディジタルカメラは、静止画像を電気的な情報として記録する。従って、ディジタルカメラは、静止画像をテレビ受像機で再生したり、通信回線を利用して遠隔地に転送したり、赤外線などを利用して他の機器に転送したりすることができる。勿論、静止画像に種々の画像処理を施すこともできる。
【０００３】
しかし、電気的な情報、ディジタル化された情報であるがためのデメリットも存在する。つまり、ディジタルデータは簡単にコピーし、流通することができるため、機密性が高い情報が外部へ漏洩する危険性が高いことである。
【０００４】
ディジタルデータの機密性を確保する技術としては暗号技術が一般的である。例えば、ディジタルカメラ内に、暗号機能（ソフトウェアプログラム、暗号ハードウェアなど）を備えることで、撮影時にディジタルデータを暗号化することが可能である。さらに、認証技術と組み合わせれば、ディジタルデータの完全性の保証（データが改竄されていないことの保証）、本人性の確認（データを作成した人物の特定）、なりすましの防止を実現することができる。
【０００５】
また、CPUやハードウェア機能を有する記憶媒体製品も流通しつつある。このような記憶媒体には暗号、認証機能を搭載すれば、ディジタルカメラ内に暗号機能を備えずとも、ディジタルデータの機密性、完全性、本人性などを確保することが可能である。
【０００６】
ディジタルカメラのように記憶媒体とのインタフェイスを備える情報処理装置と、暗号、認証機能を有する記憶媒体を組み合わせれば、生成したディジタルデータに暗号化、認証といった処理を施し、記憶媒体に保持するシステムを構築することができる。
【０００７】
しかし、ディジタルカメラと記憶媒体を単純に組み合わせただけでは、その組み合わせが変わる場合までは対応することができない。さらに、記憶媒体の追加、変更により、暗号、認証技術が追加、変更された場合、ディジタルカメラはそれを知るすべがなく、ディジタルカメラまたはそのユーザにとって適切な暗号、認証処理が実行されない危惧がある。記憶媒体の入れ替えや追加が頻繁に行われるディジタルカメラにおいて、上記は極めて不都合な問題である。
【０００８】
【特許文献１】特開2002-132454号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、接続された記憶媒体の暗号・認証機能の情報を動的に取得することを目的とする。
【００１０】
また、取得した暗号・認証機能の情報に基づき、暗号・認証機能を選択することを他の目的とする。
【課題を解決するための手段】
【００１１】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１２】
本発明にかかるデータ処理装置は、ディジタルデータの暗号・認証処理手段を有する記憶媒体に、サポートする暗号・認証機能を問い合わせる問い合わせ手段と、前記問い合わせの結果に基づき、ディジタルデータに適用する暗号・認証機能を選択し、前記選択の結果を前記記憶媒体に通知する通知手段と、前記ディジタルデータと鍵データを前記記憶媒体に送信する送信手段とを有することを特徴とする。
【００１３】
また、ディジタルデータの暗号・認証処理を行う処理手段と、ディジタルデータの暗号・認証処理を行う暗号化・認証処理手段を有する記憶媒体に鍵データを送信する鍵データの送信手段と、前記暗号化・認証処理手段の暗号・認証機能および処理能力を前記記憶媒体に問い合わせる問い合わせ手段と、前記処理手段の暗号・認証機能と、前記問い合わせによって取得した前記暗号・認証処理手段の暗号・認証機能に基づき、ディジタルデータに適用する暗号・認証機能を選択する選択手段と、前記処理手段の処理能力と、前記問い合わせによって取得した前記暗号・認証処理手段の処理能力を比較して、前記ディジタルデータの暗号・認証処理を前記処理手段で行うか前記暗号・認証処理手段で行うかを決定する決定手段と、前記処理手段によって暗号・認証処理したディジタルデータを前記記憶媒体に送信するか、前記選択した暗号・認証機能の通知および前記暗号・認証処理を施していないディジタルデータを前記記憶媒体に送信して、前記暗号・認証処理手段に前記ディジタルデータの暗号・認証処理を行わせるディジタルデータの送信手段とを有することを特徴とする。
【００１４】
本発明にかかるデータ記憶装置は、ディジタルデータの暗号・認証機能を備えるデータ記憶装置であって、外部装置の問い合わせに対してサポートする暗号・認証機能を通知する通知手段と、前記通知に対する前記外部装置の選択に従い、前記外部装置から受信した鍵データを使用して、前記外部装置から受信したディジタルデータに暗号・認証処理を施す処理手段と、前記処理したディジタルデータと前記鍵データを対応付けて記憶するメモリとを有することを特徴とする。
【００１５】
また、ディジタルデータの暗号・認証機能を備えるデータ記憶装置であって、外部装置がメモリからの読み出しを指示するディジタルデータを暗号・認証処理した装置を判定する判定手段と、前記暗号・認証処理した装置が自装置の場合は、前記指示されたディジタルデータと、前記ディジタルデータに対応付けられた鍵データを前記メモリから読み出し、前記鍵データを使用して前記ディジタルデータを復号し検証する処理手段と、前記暗号・認証処理した装置が前記自装置の場合は前記処理手段が復号し検証したディジタルデータを前記外部装置に送信し、前記暗号・認証処理した装置が前記外部装置の場合は前記指示されたディジタルデータを前記メモリから読み出して前記外部装置に送信する送信手段とを有することを特徴とする。
【００１６】
本発明にかかるデータ処理方法は、ディジタルデータの暗号・認証処理手段を有する記憶媒体に、サポートする暗号・認証機能を問い合わせ、前記問い合わせの結果に基づき、ディジタルデータに適用する暗号・認証機能を選択し、前記選択の結果を前記記憶媒体に通知し、前記ディジタルデータと鍵データを前記記憶媒体に送信することを特徴とする。
【００１７】
また、ディジタルデータの暗号・認証処理を行う処理手段を有するデータ処理装置のデータ処理方法であって、ディジタルデータの暗号・認証処理を行う暗号化・認証処理手段を有する記憶媒体に鍵データを送信し、前記暗号化・認証処理手段の暗号・認証機能および処理能力を前記記憶媒体に問い合わせ、前記処理手段の暗号・認証機能と、前記問い合わせによって取得した前記暗号・認証処理手段の暗号・認証機能に基づき、ディジタルデータに適用する暗号・認証機能を選択し、前記処理手段の処理能力と、前記問い合わせによって取得した前記暗号・認証処理手段の処理能力を比較して、前記ディジタルデータの暗号・認証処理を前記処理手段で行うか前記暗号・認証処理手段で行うかを決定し、前記処理手段によって暗号・認証処理したディジタルデータを前記記憶媒体に送信するか、前記選択した暗号・認証機能の通知および前記暗号・認証処理を施していないディジタルデータを前記記憶媒体に送信して、前記暗号・認証処理手段に前記ディジタルデータの暗号・認証処理を行わせることを特徴とする。
【００１８】
また、ディジタルデータの暗号・認証機能を備えるデータ記憶装置のデータ処理方法であって、外部装置の問い合わせに対してサポートする暗号・認証機能を通知し、前記通知に対する前記外部装置の選択に従い、前記外部装置から受信した鍵データを使用して、前記外部装置から受信したディジタルデータに暗号・認証処理を施し、前記処理したディジタルデータと前記鍵データを対応付けてメモリに記憶することを特徴とする。
【００１９】
また、ディジタルデータの暗号・認証機能を備えるデータ記憶装置のデータ処理方法であって、外部装置がメモリからの読み出しを指示するディジタルデータを暗号・認証処理した装置を判定し、前記暗号・認証処理した装置が自装置の場合は、前記指示されたディジタルデータと、前記ディジタルデータに対応付けられた鍵データを前記メモリから読み出し、前記鍵データを使用して前記ディジタルデータを復号し検証し、前記暗号・認証処理した装置が前記自装置の場合は前記復号し検証したディジタルデータを前記外部装置に送信し、前記暗号・認証処理した装置が前記外部装置の場合は前記指示されたディジタルデータを前記メモリから読み出して前記外部装置に送信することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、接続された記憶媒体の暗号・認証機能の情報を動的に取得することができる。
【００２１】
また、取得した暗号・認証機能の情報に基づき、暗号・認証機能を選択することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明にかかる実施例の情報処理（データ処理）を図面を参照して詳細に説明する。
【実施例１】
【００２３】
［情報処理装置］
図1は実施例の情報処理装置（データ処理装置）10の構成例を示すブロック図である。
【００２４】
ディジタルデータ作成部12は、暗号、認証処理が必要なディジタルデータを作成する。記憶媒体制御部13は、記憶媒体20がサポートする暗号・認証機能の選択制御を行う。また、暗号・認証処理時にディジタルデータ作成部12または外部インタフェイス(I/F) 16から入力されるデータを通信部14を介して記憶媒体20に出力するデータ制御を行う。
【００２５】
記憶媒体20と通信する通信部14は、例えば、記憶媒体20がメモリカードの場合はメモリカードスロットを有するメモリカードリーダライタに、記憶媒体20がUSB (universal serial bus)メモリの場合はUSBコネクタを有するUSBインタフェイスに相当する。なお、図1には、情報処理装置10に一つの記憶媒体20を接続（または装着）する例を示すが、二つ以上の記憶媒体20を接続（または装着）することも可能である。
【００２６】
鍵データ制御部15は、外部I/F 16が受信した鍵データを通信部14に送信する一連の制御を行う。外部I/F 16は、情報処理装置10と、情報処理装置10のユーザの間のインタフェイスである。例えば、情報処理装置10がディジタルカメラであれば、外部I/F 16は、ディジタルカメラに付属するボタンやディスプレイを備える操作部、IEEE1394のようなシリアルバスインタフェイス、あるいは、有線、無線、赤外線を使用する通信インタフェイスに相当する。
【００２７】
なお、情報処理装置10は、ディジタルデータとして画像データを生成するディジタルカメラ、スキャナのような画像入力装置、あるいは、ディジタルデータを生成、編集可能なパーソナルコンピュータ(PC)のような電子機器でもよい。以下では、簡単のために、情報処理装置10をディジタルカメラ（単にカメラと呼ぶ）として説明する。
【００２８】
［記憶媒体（データ記憶装置）］
図2は暗号・認証機能を有する記憶媒体（データ記憶装置）20の構成例を示すブロック図である。
【００２９】
暗号・認証部22は、ソフトフェアまたは暗号・認証処理用LSIのようなハードウェアで構成され、カメラ10から受信したディジタルデータに暗号化・認証処理を施す。
【００３０】
暗号・認証機能制御部23は、暗号・認証部22がサポートする暗号・認証機能を示す情報をカメラ10に提供する。また、ディジタルデータの暗号・認証処理時、暗号・認証部22およびメモリ24に保持される鍵データを制御する。
【００３１】
メモリ24は、暗号・認証処理後のディジタルデータ、カメラ10から受信した鍵データ、および、暗号・認証部22がサポートする暗号・認証機能を示す情報などを記憶する。ただし、鍵データは、暗号・認証部22だけが読み出し可能で、暗号・認証部22以外からは読み出しが不可能（または困難）なメモリ領域に保持される。
【００３２】
通信部25は、カメラ10の通信部14に対応する通信インタフェイスである。鍵データ取得部26は、暗号・認証部22が使用する鍵データをカメラ10に要求する。
【００３３】
なお、記憶媒体20は、暗号・認証機能を有するメモリカードやUSBメモリなどであればよいが、以下では簡単のために、メモリカードとして説明する。
【００３４】
［暗号・認証情報の共有］
図3は暗号・認証情報の共有手順、および、暗号・認証機能の選択手順の一例を説明するフローチャートである。
【００３５】
カメラ10の記憶媒体制御部13は、通信部14を介して、メモリカード20がサポートする暗号・認証機能を問い合わせる(S31)。この問い合わせフォーマットは、カメラ10とメモリカード20の間で事前に共有されているものとする。また、記憶媒体制御部13は、カメラ10が必要とする暗号・認証部、暗号・認証機能の安全性の強度、および、パフォーマンスなどに関する要求があれば、それらを要求仕様として、問い合わせとともに送信可能である。なお、要求仕様の詳細は後述する。
【００３６】
次に、メモリカード20の暗号・認証機能制御部23は、通信部25を介して問い合わせを受信すると、メモリ24に予め保持する暗号・認証機能リストの中から、記憶媒体制御部13に送信する部分リストを生成する(S32)。そして、通信部25を介して、部分リストをカメラ10に送信する(S33)。
【００３７】
図4は暗号・認証機能リストの一例を示す図である。
【００３８】
サービスの種類フィールドは、サービス体系（暗号化機能、署名機能、その他）を示す。アルゴリズム名フィールドは、具体的な機能内容、例えば「AES (advanced encryption standard)、128ビット鍵使用、CBCモードで実行」を示す。実装形態フィールドは、ソフトウェア(S/W)で実装されたものか、ハードウェア(H/W)で実装されたものかを示す。パフォーマンス情報フィールドは、処理速度が例えば1Mbpsなど機能のパフォーマンスを示す。
【００３９】
暗号・認証機能リストに登録された機能は、予め、サービスの種類ごとに優先順位が付けられている。本実施例では、当該リストの上位に記述された暗号・認証機能が、高い優先順位を示すものとする。
【００４０】
例えば、サービスの種類が「Encrypt/Decrypt」では、AES/128ビット鍵/CBCモードが、3DES-EDE2/80ビット鍵/CBCモードよりも、高い優先順位にある。なお、優先順位のデフォルト値は、各暗号・認証機能の安全性の強度やパフォーマンスを考慮して決める。
【００４１】
安全性の強度は、例えば、図4のアルゴリズム名フィールドの括弧内に示す高、中、低の三段階評価によって表現する。図4には、AES/128ビット鍵/CBCモードの安全性を高、3DES-EDE2/80ビット鍵/CBCモードを中、DES/56ビット鍵/CBCモードを低とランク付けした例を示す。評価基準は、例えばNIST、CRYPTRECなどの公的機関が推奨するアルゴリズム（参考文献:NIST Special Publication 800-57 Recommendation on Key Management）や、世の中の動向を考慮すればよい。ただし、評価基準は、上記に限らず、メモリカード20を供給するベンダの主観が反映される。
【００４２】
図5は暗号・認証機能制御部23が生成する部分リストの一例を示す図である。この例は、ステップS31において、要求仕様「暗号化、安全性の強度は高または中、パフォーマンス≧100kbps」が指定された場合に対応する。もし要求仕様の項がnullの場合、暗号・認証機能制御部23は、図4に示す全リストを部分リストとしてカメラ10に返す。また、暗号・認証機能リストに要求仕様を満す機能が存在しない場合、暗号・認証機能制御部23は、該当なし(N/A)をカメラ10に返す。なお、暗号・認証機能制御部23からカメラ10に返される部分リストは、機能が優先順位順に並んだ部分リストになる。
【００４３】
優先順位を表す他の方法として、優先順位情報も付加する方法もある。例えば図4のように、AES/128ビット鍵/CBCモードに「1」を、3DES-EDE2/80ビット鍵/CBCモードに「2」の優先順位情報を付加して、数値がより小さい機能を優先する（優先度が高い）と表現すればよい。
【００４４】
カメラ10の記憶媒体制御部13は、メモリカード20から受信した利用可能な暗号・認証機能を示す部分リストにより、ディジタルデータの処理に使用する暗号・認証機能を選択する(S34)。通常、優先度が最も高い機能をデフォルトで選択するが、例外もある。
【００４５】
例えば、改竄検知機能としてHMAC-SHA1が最も優先度が高い機能として提示された場面を想定する。SHA1に関しては、近年、安全性の面で問題が指摘されている（参考文献：Finding Collision in the Full SHA-1, CRYPTO 2005）。そのため、カメラ10のユーザまたはカメラ10のベンダが、HMAC-SHA1の選択を拒むケースが考えられる。そこで、ユーザまたはベンダが特定の暗号・認証機能は除外すると指定した場合、その機能の選択を避ける。除外指定は、ユーザであればカメラ10の外部I/F 16を介してステップS31の実行前、あるいは、ステップS34の実行時に行う。また、ベンダであればカメラ10の出荷時に行えばよい。
【００４６】
次に、カメラ10の記憶媒体制御部13は、機能の選択結果をメモリカード20に送信する(S35)。図6は、図5に示す部分リストから記憶媒体制御部13が機能を選択した一例を示す図である。図5に示す部分リストの中で最も優先度が高いAES/128ビット鍵/CBCモードを選択した例を示している。なお、もし選択結果が該当なし(N/A)の場合、記憶媒体制御部13は、その旨をメモリカード20に通知する。
【００４７】
選択結果を受信したメモリカード20の暗号・認証機能制御部23は、暗号・認証部22の動作を選択された暗号・認証機能に設定し、暗号・認証部22を有効にする(S36)。
【００４８】
図3に示す処理は、カメラ10にメモリカード20が接続（または装着）された時点、または接続時点から後述する暗号・認証処理を行う直前までに、少なくとも一回実行される。また、図3に示す処理が複数回実行されるケースは、例えば利用する暗号・認証機能の変更するなどのために、カメラ10が再度ステップS31を実行した場合に限られる。
【００４９】
［暗号・認証処理］
図7は暗号・認証処理を説明するフローチャートである。
【００５０】
メモリカード20の鍵データ取得部26は、通信部25を介して、暗号・認証処理に必要な鍵データをカメラ10に要求する(S41)。この要求を受信したカメラ10の鍵データ制御部15は、外部I/F 16を介してカメラ10のユーザに鍵データを要求し、鍵データを取得する(S42)。続いて、鍵データ制御部15は、通信部14を介して、取得した鍵データをメモリカード20に送信する(S43)。なお、ユーザは鍵データを安全に管理することが望ましい。例えば、PKCS#12やKeyWrapなどの鍵暗号化手段を用いて鍵を暗号化し管理すればよい。また、外部I/F 16が通信インタフェイスの場合はSSL (secure socket layer)やSSH (secure shell)などを使用して通信路の安全性を確保することが望ましい。
【００５１】
次に、メモリカード20の鍵データ取得部26は、受信した鍵データをメモリ24に格納する(S44)。その際、鍵データは、前述したように、暗号・認証部22だけが読み出し可能なメモリ24のメモリ領域に格納される。
【００５２】
ステップS41からS44までの処理は、メモリカード20が暗号・認証処理を行う前の初期化処理として一回だけ行えばよい。従って、メモリカード20の鍵データ取得部26は、ステップS41を実行する前に既にメモリ24に格納された鍵データを使うか否かを判定し(S40)、格納済みの鍵データを使う場合はステップS41からS44の処理をスキップする。
【００５３】
カメラ10の記憶媒体制御部13は、ディジタルデータ作成部12が生成したディジタルデータをメモリカード20に送信する。さらに、当該ディジタルデータに適用する暗号・認証機能（サービスの種類）をメモリカード20に通知する(S45)。ここでは、サービスの種類だけを通知するが、これは前述した暗号・認証情報の共有により、既に暗号・認証情報が共有されているためである。また、サービスの種類を通知する理由は、ディジタルデータごとに、処理アルゴリズムを異ならせるケースを想定したものである。もし、暗号・認証情報の共有時に選択した暗号・認証機能（デフォルト選択の暗号・認証機能）を使用する場合はサービスの種類を通知する必要はない。また、連写時のように、連続するディジタルデータに同じ暗号・認証機能を繰り返し実行する場合は、デフォルト選択の暗号・認証機能以外を使用するにしても、二つ目以降のディジタルデータについて繰り返しサービスの種類を通知する必要はない。
【００５４】
ディジタルデータを受信したメモリカード20の暗号・認証機能制御部23は、ディジタルデータとともにサービスの種類が通知されたか否かを判定する(S46)。当該通知がある場合は、暗号・認証部22の動作を通知されたサービスの種類に対応する暗号・認証機能に設定する(S47)。なお、当該通知がNullの場合はデフォルト選択の暗号・認証機能を使用するため、暗号・認証部22の動作を設定し直す必要はない。
【００５５】
次に、暗号・認証機能制御部23は、暗号・認証部22とメモリ24に格納した鍵データを用いて、受信したディジタルデータに暗号・認証処理を施し(S48)、処理後のディジタルデータをメモリ24の所定領域に格納する(S49)。なお、処理後のディジタルデータと、処理に使用した鍵データを対応付けて格納することはいうまでもない。
【００５６】
このように、情報処理装置10は、簡単なプロトコルにより、記憶媒体の暗号・認証機能を把握（共有）して、最適な、または、ユーザやベンダが望む暗号・認証機能を選択することができる。そして、選択した暗号・認証機能によってディジタルデータを処理することができる。従って、記憶媒体20が変更や追加された場合、暗号・認証機能が追加または削除された場合でも、その対応は極めて容易である。
【実施例２】
【００５７】
以下、本発明にかかる実施例2の情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００５８】
実施例1では、ディジタルデータに適用する暗号・認証処理は単数（例えば暗号化のみ）の場合を説明した。実施例2では、署名処理+暗号処理といった、複数の処理の組み合わせに本発明を適用する例を説明する。
【００５９】
なお、実施例2において、カメラ10およびメモリカード20の構成は実施例1の図1、2と略同様である。また、暗号・認証情報の共有方法も実施例1の図3と略同様である。
【００６０】
［暗号・認証処理］
図8は実施例2の暗号・認証処理を説明するフローチャートである。
【００６１】
メモリカード20の鍵データ取得部26は、既にメモリ24に格納された鍵データを使うか否かを判定し(S50)、新たな鍵データを必要とする場合は、通信部25を介して、暗号・認証処理に必要な鍵データをカメラ10に要求する(S51)。この要求を受信したカメラ10の鍵データ制御部15は、外部I/F 16を介して鍵データを取得する(S52)。続いて、鍵データ制御部15は、通信部14を介して、取得した鍵データをメモリカード20に送信する(S53)。メモリカード20の鍵データ取得部26は、受信した鍵データをメモリ24に格納する(S54)。以上の処理は、実施例1のステップS40からS44と同様である。
【００６２】
次に、カメラ10の記憶媒体制御部13は、ディジタルデータ作成部12が生成したディジタルデータをメモリカードに送信する。さらに、当該ディジタルデータに適用する暗号・認証機能（サービスの種類）をメモリカード20に通知する(S55)。ここで、通知するサービスの種類が実施例1とは異なる点である。
【００６３】
図9は実施例2においてカメラ10がメモリカード20から受信した部分リストの一例を示す図である。実施例1の図5と異なり、カメラ10が必要とする暗号・認証機能に署名機能(Sign)が追加されている。
【００６４】
図10は、図9の部分リストを受信した後、カメラ10の選択結果の一例を示す図である。この例では、カメラ10は、暗号化機能としてAES/128ビット鍵/CBCモードを選択している。さらに、署名機能としてRSA (PKCS#1)/2048ビット鍵を選択している。
【００６５】
これで、カメラ10とメモリカード20の間で、暗号化機能、署名機能に関する暗号・認証情報の共有が行われる。従って、カメラ10のユーザがディジタルデータにディジタル署名を付加した後、暗号化を希望する場合、署名機能、続いて暗号化機能の順にメモリカード20にサービスの種類を通知(S55)すればよい。
【００６６】
ディジタルデータを受信したメモリカード20の暗号・認証機能制御部23は、ディジタルデータとともにサービスの種類が通知されたか否かを判定する(S56)。当該通知がある場合は、暗号・認証部22の動作を通知されたサービスの種類に対応する暗号・認証機能に設定する(S57)。なお、当該通知がNullの場合はデフォルト選択の暗号・認証機能を使用するため、暗号・認証部22の動作を設定し直す必要はない。
【００６７】
次に、暗号・認証機能制御部23は、暗号・認証部22とメモリ24に格納した鍵データを用いて、受信したディジタルデータに、サービスの種類の通知順に従い、暗号・認証処理（例えば署名）を施す(S58)。続いて、暗号・認証処理（例えば暗号化）を施す(S59)。そして、処理後のディジタルデータをメモリ24の所定領域に格納する(S60)。
【００６８】
このように、実施例1と略同様の効果が得られるほか、例えば暗号処理tと署名処理といった、複数の処理の組み合わせをディジタルデータに施す場合にも対応することができる。なお、複数の処理の組み合わせは、暗号処理と署名処理に限らず、三つ以上の処理（例えばハッシュ処理、署名処理、および暗号処理）の組み合わせでも構わない。
【実施例３】
【００６９】
以下、本発明にかかる実施例3の情報処理を説明する。なお、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７０】
実施例1、2では、メモリカード20だけが暗号・認証機能をサポートする場合を説明した。実施例3では、カメラ10も暗号・認証機能をサポートする場合に、カメラ10、メモリカード20が連携して最適な暗号・認証処理を行う方法を説明する。
【００７１】
［情報処理装置］
図11は実施例3の情報処理装置（カメラ）10の構成例を示すブロック図である。
【００７２】
鍵データ制御部15は、実施例1で説明した機能に加え、メモリカード20に送信する鍵データと同一の鍵データをメモリ69に格納する。ただし、鍵データは、暗号・認証部67だけが読み出し可能で、暗号・認証部67以外からは読み出しが不可能（または困難）なメモリ領域に保持される。
【００７３】
暗号・認証部67は、ソフトフェアまたは暗号・認証処理用LSIのようなハードウェアで構成され、ディジタルデータ作成部12が作成したディジタルデータに暗号・認証処理を施す。
【００７４】
暗号・認証機能制御部68は、ディジタルデータの暗号・認証処理時、暗号・認証部67およびメモリ69に保持される鍵データを制御する。また、暗号・認証部67の処理速度と、メモリカード20の暗号・認証部22の処理速度を比較して、両者に暗号・認証処理を適切に振り分ける機能を有する。
【００７５】
メモリ69は、暗号・認証処理後のディジタルデータ、鍵データ、並びに、暗号・認証部67およびメモリカード20の暗号・認証部22がサポートする暗号・認証機能を示す情報を記憶する。
【００７６】
なお、メモリカード20の構成は図2と同様であるから、詳細な説明は省略する。
【００７７】
［暗号・認証情報の共有］
図12は実施例3の暗号・認証情報の共有手順、および、暗号・認証機能の選択手順を説明するフローチャートである。図3に示した手順と異なり、記憶媒体制御部13が暗号・認証機能の選択結果（例えば図6）をメモリ69に保存する(S76)。
【００７８】
［暗号・認証処理］
図13は実施例3の暗号・認証処理を説明するフローチャートである。
【００７９】
メモリカード20の鍵データ取得部26は、既にメモリ24に格納された鍵データを使うか否かを判定し(S80)、新たな鍵データを必要とする場合は、通信部25を介して、暗号・認証処理に必要な鍵データをカメラ10に要求する(S81)。この要求を受信したカメラ10の鍵データ制御部15は、外部I/F 16を介して鍵データを取得する(S82)。続いて、鍵データ制御部15は、鍵データをメモリ69に格納し(S83)、通信部14を介して、鍵データをメモリカード20に送信する(S84)。メモリカード20の鍵データ取得部26は、受信した鍵データをメモリ24に格納する(S85)。以上の処理は、ステップS83を除き、実施例1のステップS40からS44と同様である。
【００８０】
次に、カメラ10の暗号・認証機能制御部68は、メモリ69に格納された暗号・認証部67の暗号・認証機能情報を参照して、選択した暗号・認証機能を暗号・認証部67がサポートするか否かを判定する(S86)。選択した暗号・認証機能を暗号・認証部67がサポートしない場合は処理をステップS88に進める。
【００８１】
暗号・認証機能制御部68は、暗号・認証部67が選択した暗号・認証機能をサポートする場合は、当該暗号・認証処理について、暗号・認証部67の処理能力P1と、メモリカード20の暗号・認証部22の処理能力P2を比較する(S87)。なお、処理能力として例えば処理速度を比較すればよい。例えば、図6に示す暗号機能が選択され、暗号・認証部67の暗号機能の処理能力P1が図14に示す値とする。この場合、暗号・認証部67の処理能力P1は500kbps、暗号・認証部22の処理能力P2は1Mbps（ハードウェア処理の場合）であるからP1＜P2になる。
【００８２】
選択した暗号・認証機能を暗号・認証部67がサポートしないか、P1≦P2の場合、記憶媒体制御部13は、ディジタルデータ作成部12が生成したディジタルデータをメモリカード20に送信する。さらに、当該ディジタルデータに適用する暗号・認証機能（サービスの種類）をメモリカード20に通知する(S88)。
【００８３】
ディジタルデータを受信したメモリカード20の暗号・認証機能制御部23は、ディジタルデータとともにサービスの種類が通知されたか否かを判定する(S89)。当該通知がある場合は、暗号・認証部22の動作を通知されたサービスの種類に対応する暗号・認証機能に設定する(S90)。なお、当該通知がNullの場合はデフォルト選択の暗号・認証機能を使用するため、暗号・認証部22の動作を設定し直す必要はない。
【００８４】
次に、暗号・認証機能制御部23は、暗号・認証部22とメモリ24に格納した鍵データを用いて、受信したディジタルデータに暗号・認証処理を施す(S91)。そして、処理後のディジタルデータをメモリ24の所定領域に格納する(S92)。
【００８５】
他方、選択した暗号・認証機能を暗号・認証部67がサポートし、かつ、P1＞P2（カメラ10の処理能力が、メモリカード20のそれよりも速い）場合、暗号・認証機能制御部68は、暗号・認証部67の動作を選択した暗号・認証機能に設定する(S93)。そして、暗号・認証機能制御部68は、暗号・認証部67とメモリ69に格納した鍵データを用いて、ディジタルデータに暗号・認証処理を施す(S94)。そして、処理後のディジタルデータをメモリカード20に送信する(S95)。
【００８６】
処理後のディジタルデータを受信したメモリカード20の暗号・認証機能制御部23は、処理後のディジタルデータをメモリ24の所定領域に格納する(S92)。なお、メモリカード20は、カメラ10から（空の通知を含め）サービスの種類の通知を受信しなかった場合は、受信したディジタルデータをメモリ24の所定領域に格納する処理だけを行う(S92)。
【００８７】
上記では、選択した暗号・認証機能を暗号・認証部67がサポートし、かつ、P1＞P2の場合、カメラ10の暗号・認証部67によって暗号・認証処理を実行する例を説明した。しかし、通常、カメラ10は暗号・認証処理以外の処理も実行するので、充分なリソースを暗号・認証処理に割り当てられるとは限らない。一方、メモリカード20は充分なリソースを暗号・認証処理に割り当てられる。従って、P1＞P2だとしても、実際にはメモリカード20の暗号・認証部22によって暗号・認証処理を実行した方が速い場合もある。そこで、例えば、マージンを見込んでP1＞α×P2（α＞1、例えばα=1.3）の場合に、カメラ10の暗号・認証部67によって暗号・認証処理を実行するようにしてもよい。
【００８８】
このように、実施例1と略同様の効果が得られるほか、カメラ10とメモリカード20が暗号・認証機能をサポートする場合に、より能力の高い方で暗号・認証処理を行うことができる。勿論、実施例2と3を組み合わせれば、例えば複数の処理の組み合わせをより能力の高い方で実行することができる。
【００８９】
［変形例］
実施例3では、メモリカード20の暗号・認証部22、暗号・認証機能の安全性の強度およびパフォーマンスについて、その選択はカメラ10に委ねられている。この選択をカメラ10のユーザが行うようにすることもできる。その場合、カメラ10は、外部I/F 16を介して、ユーザに選択を実行させる。そして、ユーザの選択に従い、カメラ10の記憶媒体制御部13は、メモリカード20の暗号・認証部22、暗号・認証機能の安全性の強度およびパフォーマンスに関する設定（選択）を行えばよい。
【実施例４】
【００９０】
以下、本発明にかかる実施例4の情報処理を説明する。なお、実施例4において、実施例1-3と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００９１】
実施例1-3では、メモリカード20が一つの場合を前提に説明した。しかし、本発明は、メモリカード20が複数存在する場合にも対応可能である。例えば、暗号・認証機能を有する複数のメモリカードを連動させて暗号・認証処理を行うこと可能である。また、鍵データは持つが、暗号・認証機能は持たないメモリカードと、暗号・認証機能を持つメモリカードやカメラとを連動させることも可能である。具体的な利用例としては、データの保存先であるメモリカードの鍵データを用いて、他のメモリカードやカメラの暗号・認証機能を利用して暗号・認証処理を行うことが考えられる。実施例4では、二つ以上のメモリカードが存在する場合において、カメラ10がメモリカード(B)21の鍵データを用い、メモリカード(A)20の暗号・認証機能を利用して、暗号・認証処理を行う方法を説明する。
【００９２】
図15は実施例4におけるシステム構成例を表す図である。
【００９３】
［情報処理装置］
実施例4における情報処理装置（カメラ）10の構成は、図11と略同様であるので詳細な説明を省略し、図11と異なる点について述べる。
【００９４】
記憶媒体制御部13は、実施例1で説明した機能に加え、暗号・認証処理で利用する鍵データ、及び暗号・認証処理で処理したディジタルデータを、ある記憶媒体から別の記憶媒体、もしくは情報処理装置に送信するよう、記憶媒体に指示する機能を備える。
【００９５】
通信部14は、実施例1で説明した機能に加え、図15に示すとおり、複数の記憶媒体を接続できるインタフェイスを備える。
【００９６】
鍵データ制御部15は、実施例3で説明した機能に加え、記憶媒体が複数存在する場合は、各記憶媒体が保持する鍵データに関する情報を要求する機能を備える。
【００９７】
暗号・認証機能制御部68は、実施例3で説明した機能に加え、記憶媒体から受信した鍵データを消去する機能を備える。
【００９８】
［記憶媒体］
記憶媒体A（メモリカード(A)）20の構成は図2の記憶媒体20と略同様であるので詳細な説明を省略し、図2と異なる点について述べる。
【００９９】
暗号・認証機能制御部23は、実施例1で説明した機能に加え、別の記憶媒体から受信した鍵データを消去する機能を備える。
【０１００】
図16は記憶媒体B（メモリカード(B)）21の構成例を示すブロック図である。
【０１０１】
鍵データ・ディジタルデータ制御部103は、メモリ24に保持する鍵データを通信部25に送信する一連の制御を行う。鍵データの情報をカメラ10に提供する。また、通信部25を介して受信したディジタルデータをメモリ24に格納する。メモリ24と、通信部25は、実施例1で説明したものと略同様なので、詳細な説明は省略する。
【０１０２】
［暗号・認証情報の共有］
実施例４における暗号・認証情報の共有方法は、実施例3の図12と略同様であるので、詳細な説明は省略する。本実施形では、カメラ10とメモリカード(A)20の間で実施する。
【０１０３】
[鍵データ自動選択処理]
【０１０４】
図17A、図17Bは実施例4の鍵データ自動選択処理を説明するフローチャートである。
【０１０５】
ステップS41、S42、S43、S44の処理は、実施例1と同様である。
【０１０６】
メモリカード(A)20の鍵データ要求を受信したカメラ10の鍵データ制御部15は、メモリカード(B)21に鍵データに関する情報の問い合わせを送信する(S115)。問い合わせを受信したメモリカード(B)21の鍵データ・ディジタルデータ制御部103は、メモリ24が保持する鍵情報のリストをカメラ10に送信する(S116)。鍵情報が存在しない場合は、空のリストを送信する。
【０１０７】
図18はメモリカード(B)21の鍵情報リストの一例である。
【０１０８】
鍵情報フィールドは、メモリカード(B)21が保有する鍵に関する情報を示す。図18では、メモリカード(B)21がAES 128ビット鍵とRSA 2048ビット鍵を保持していることを示している。鍵用途フィールドは、メモリカード(B)21が保有する鍵の利用用途を示す。図18では、AES 128ビット鍵は暗号化、復号用途に、RSA 2048ビット鍵は署名用途に利用できることを示している。
【０１０９】
カメラ10の鍵データ制御部15は、メモリカード(B)21から受け取った鍵情報のリストを確認する。鍵情報が含まれている場合は、ステップS118に進む。鍵情報が含まれていない場合は、ステップS120に進む(S117)。鍵情報のリストに鍵情報が含まれている場合、カメラ10の記憶媒体制御部13は、メモリ69に格納された暗号・認証機能の選択結果から、暗号・認証機能で前記鍵情報により提示された鍵データを利用できるかどうか判断する(S118)。具体的には、暗号・認証機能リストのサービスの種類フィールドと鍵情報リストの鍵用途フィールド、暗号・認証機能リストのアルゴリズム名フィールドと鍵情報リストの鍵情報フィールドを比較する。ここで、選択された暗号・認証機能が図6、メモリカード(B)21の鍵情報リストが図18であったとする。この場合、メモリカード(B)21の鍵情報として、暗号化用途のAES 128ビット鍵が含まれており、選択された暗号・認証機能（暗号化/AES/128ビット鍵/CBCモード)で利用できる。
【０１１０】
暗号・認証機能において、前記鍵情報により提示された鍵データを利用できる場合（ステップS118でYesの場合）、カメラ10の記憶媒体制御部13は、前記鍵データを使用する鍵データとして決定する。さらに、前記鍵データを保持するメモリカード(B)21を、暗号・認証処理を施したディジタルデータの最終格納先として決定する(S119)。このように、使用する鍵データを保持しているメモリカードを、データの最終格納先として連動して決定することにより、カメラが別途、最終格納先を指定する必要がなくなる。また、鍵データと暗号・認証処理されたディジタルデータを共に同じメモリが保持しておくことは、復号・検証処理される際に、鍵データを取得し易く、利便性があがる。ステップS117において利用できる鍵情報が存在しない、または、ステップS118において暗号・認証機能で前記鍵情報により提示された鍵データが利用不可と判断した場合は、次のように処理する。つまり、カメラ10の通信部14に接続された全メモリカードについてステップS115を実施したか否かを判断する。そして、実施した場合はステップS42へ進む。実施していない場合は、他のメモリカードに対してステップS115の処理を繰り返す。
【０１１１】
［暗号・認証処理］
図19A、図19Bは鍵データ自動選択処理のステップS119で、暗号・認証処理における鍵データの利用先と暗号・認証処理を施したディジタルデータの最終格納先として、メモリカード(B)21が選択された場合の暗号・認証処理を説明するフローチャートである。
【０１１２】
図19A、図19BのステップS86、S87、S88、S89、S90、S91、S93 、S94、S95は、実施例3の図13の処理と同様であるので、詳細な説明を省略する。
【０１１３】
選択した暗号・認証機能をカメラ10の暗号・認証部67が非サポート、または、カメラの処理能力≦メモリカード(A)20の処理能力の場合は、次のように処理する。つまり、カメラ10の記憶媒体制御部13は、メモリカード(B)21にメモリカード(B)21が保持する鍵データをメモリカード(A)20へ送信するよう指示する(S130)。
【０１１４】
メモリカード(B)21の鍵データ・ディジタルデータ制御部103は、ステップS130におけるカメラ10の記憶媒体制御部13の指示に従い、メモリ24に格納する鍵データをメモリカード(A)20に送信する(S131)。
【０１１５】
メモリカード(A)20の暗号・認証機能制御部23は、メモリカード(B)21から受信した鍵データをメモリ24に格納する(S132)。
【０１１６】
カメラ10の記憶媒体制御部13は、メモリカード(A)20にメモリカード(B)21へ処理後のディジタルデータを送信するよう指示する(S133)。メモリカード(A)20の暗号・認証機能制御部23は、処理後のディジタルデータをメモリカード(B)21に送信する(S134)。メモリカード(A)20の暗号・認証機能制御部23は、メモリカード(B)21から受け取った鍵データをメモリ24から消去する(S135)。
【０１１７】
メモリカード(B)21の鍵データ・ディジタルデータ制御部103は、メモリカード(A)20から受信したディジタルデータをメモリ24に格納する(S136)。
【０１１８】
カメラの処理能力＞メモリカード(A)20の処理能力の場合、カメラ10の記憶媒体制御部13は、メモリカード(B)21にメモリカード(B)21が保持する鍵データをカメラ10に送信するよう指示する(S137)。
【０１１９】
メモリカード(B)20の鍵データ・ディジタルデータ制御部103は、ステップS137におけるカメラ10の記憶媒体制御部13の指示に従い、メモリ24に格納する鍵データをカメラ10に送信する(S138)。
【０１２０】
カメラ10の暗号・認証機能制御部68は、メモリカード(B)20から受け取った鍵データをメモリ69から消去する(S139)。
【０１２１】
［変形例］
実施例4では、メモリカード20が二つの場合を前提に説明した。しかし、本発明は、メモリカードが三つ以上存在する場合にも対応可能である。カメラ10の記憶媒体制御部13、暗号・認証機能制御部68は、メモリカードごとに暗号・認証情報の共有、鍵データ自動選択処理を実施する。これにより、暗号・認証処理を行うメモリカード、鍵データの送信、ディジタルデータの格納を行うメモリカードの割り当てを行い、複数のメモリカードを連動させて暗号・認証処理を行うことができる。
【０１２２】
また、実施例4では、カメラ10、メモリカード(A)20に暗号・認証機能が搭載されていることを前提に説明した。しかし、一つ以上の暗号・認証機能が搭載されていれば、実施可能である。例えば、カメラ10が暗号・認証機能をもたない場合や、メモリカード(B)21が暗号・認証機能を持つ場合も実施可能である。
【０１２３】
実施例4の暗号・認証処理は、カメラ10、複数のメモリカードで並列に実行することも可能とする。これは、複数のディジタルデータをカメラ10、メモリカードに分散することによって実現される。
【実施例５】
【０１２４】
以下、本発明にかかる実施例5の情報処理を説明する。なお、実施例5において、実施例1-4と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１２５】
実施例1-4では、ディジタルデータをメモリカード20に格納する際の処理を中心に説明した。実施例5では、メモリカード20からディジタルデータを読み出す際の処理を説明する。
【０１２６】
図13に示すステップS91（メモリカード20の暗号・認証部22による処理）、または、ステップS95（カメラ10暗号・認証部67による処理）において、処理後のディジタルデータに適用した暗号・認証処理に関するインデックス情報を付加する。
【０１２７】
メモリカード20は、暗号・認証機能のリスト（図4参照）とインデックス情報の対応テーブルをメモリ24に保持する。図20はメモリカード20がメモリ24に保持する対応テーブルの一例を示す図である。メモリカード20でAES/128ビット鍵/CBCモードの暗号処理を行った場合、暗号・認証機能制御部23は、対応テーブルを参照してインデックス情報を処理後のディジタルデータに付加する。
【０１２８】
同様に、カメラ10も、暗号・認証機能とインデックス情報の対応テーブルをメモリ69に保持する。図21はカメラ10がメモリ69に保持するテーブルの一例を示す図である。カメラ10でAES/128ビット鍵/CBCモードの暗号処理を行った場合、暗号・認証機能制御部68は、対応テーブルを参照してインデックス情報「101」を処理後のディジタルデータに付加する。
【０１２９】
なお、インデックス情報の一例として「101」などの番号で示したが、図20または図21に示すテーブルの1レコードを特定可能なユニークな符号であれば何でもよい。
【０１３０】
図22は実施例5における、暗号・認証処理後のディジタルデータの読み出し動作を説明するフローチャートである。なお、以下では、カメラ10の暗号・認証部67およびメモリカード20の暗号・認証部22は復号・検証処理を行う。
【０１３１】
図22において、鍵データの取得に関する処理(S170-S175)は、図13に示すステップS80からS85の処理に相当する。従って、ステップS170からS175の処理の説明は省略する。
【０１３２】
カメラ10の記憶媒体制御部13は、処理後のディジタルデータの読み出しをメモリカード20に指示する(S176)。メモリカード20の暗号・認証機能制御部23は、メモリ24に保持された処理後のディジタルデータに付加されたインデックス情報から、カメラ10とメモリカード20の何れの復号・検証機能を利用するかを決定する(S177)。例えば、インデックス情報が「n」（メモリカード20の暗号・認証機能に対応付けられたインデックス情報の番号の範囲を1≦n≦100と仮定する）であれば処理はステップS108へ進む。また、「N」（カメラ10の暗号・認証機能に対応付けられたインデックス情報の番号の範囲を101≦N≦200と仮定する）であれば処理はステップS170へ進む。勿論、カメラ10が暗号・認証部67をもたない場合はステップS170へ進むことはない。
【０１３３】
インデックス情報が「n」の場合、暗号・認証機能制御部23は、暗号・認証部22にインデックス情報に対応する復号・検証処理を設定し(S178)、メモリ24に格納された鍵データを用いて処理後のディジタルデータを処理する(S179)。なお、ステップS179の復号・検証処理は、ステップS91の逆処理である。例えば、処理後のディジタルデータが暗号化されている場合は、元のディジタルデータに復号する。あるいは、処理後のディジタルデータに署名処理が施されている場合は、署名検証処理によって検証結果を得る。
【０１３４】
次に、暗号・認証機能制御部23は、ステップS179で得られたディジタルデータ（と必要ならば検証結果）をカメラ10に送信する(S180)。カメラ10の記憶媒体制御部13は、ディジタルデータ（と必要ならば検証結果）を受信する(S185)。そして、さらにディジタルデータを読み出す必要がある場合は処理をステップS176へ戻し(S186)、必要なディジタルデータの読み出しが終了した場合は処理を終了する。
【０１３５】
一方、インデックス情報が「N」の場合、メモリカード20の暗号・認証機能制御部23は、メモリ24に格納された処理後のディジタルデータをカメラ10に送信する(S181)。カメラ10の記憶媒体制御部13は、処理後のディジタルデータを受信する(S182)。そして、暗号・認証機能制御部68は、暗号・認証部67に番号に対応する復号・検証処理を設定し(S183)、メモリ69に格納された鍵データを用いて処理後のディジタルデータを処理する(S184)。なお、ステップS184の復号・検証処理は、ステップS95の逆処理である。
【０１３６】
次に、記憶媒体制御部13は、さらにディジタルデータを読み出す必要がある場合は処理をステップS176へ戻し(S186)、必要なディジタルデータの読み出しが終了した場合は処理を終了する。
【０１３７】
［変形例］
上記の実施例では、リストの形式について言及しなかった。リストの形式は、カメラ10とメモリカード20が共通に用いることができる形式であれば、テキスト形式、バイナリ形式、ASN.1形式、XML形式など、任意で構わない。
【０１３８】
実施例3では、ディジタルデータに適用する暗号・認証機能をメモリカード20に通知するか否かの判断基準として、カメラ10とメモリカード20の双方がサポートする暗号・認証機能の処理能力（速度）を挙げた。例えば、処理後のディジタルデータの記憶場所としてメモリ69が利用できる場合は、カメラ10からメモリカード20へのディジタルデータの転送時間を判断基準に加えてもよい。この場合、ディジタルデータの転送時間にメモリカード20の暗号・認証機能に処理速度（時間）を加えた能力情報と、カメラ10の暗号・認証機能の処理速度（時間）が比較の対象になる。
【０１３９】
上記の実施例では、暗号・認証処理に用いる鍵データを外部から取得する方法を説明した。鍵データをカメラ10のメモリ69、メモリカード20のメモリ24に予め格納しておけば、鍵データの取得処理は省略可能である。
【０１４０】
［他の実施例］
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【０１４１】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【０１４２】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１４３】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１４４】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【０１４５】
【図１】実施例1の情報処理装置の構成例を示すブロック図、
【図２】暗号・認証機能を有する記憶媒体の構成例を示すブロック図、
【図３】暗号・認証情報の共有手順、および、暗号・認証機能の選択手順を説明するフローチャート、
【図４】暗号・認証機能リストの一例を示す図、
【図５】暗号・認証機能制御部が生成する部分リストの一例を示す図、
【図６】図5に示す部分リストから記憶媒体制御部が機能を選択した一例を示す図、
【図７】暗号・認証処理を説明するフローチャート、
【図８】実施例2の暗号・認証処理を説明するフローチャート、
【図９】実施例2においてカメラが記憶媒体から受信した部分リストの一例を示す図、
【図１０】図9の部分リストを受信した後、カメラの選択結果の一例を示す図、
【図１１】実施例3の情報処理装置の構成例を示すブロック図、
【図１２】暗号・認証情報の共有手順、および、暗号・認証機能の選択手順を説明するフローチャート、
【図１３】暗号・認証処理を説明するフローチャート、
【図１４】暗号・認証部の暗号機能の処理能力を説明する図、
【図１５】実施例4の情報処理装置の構成例を示すブロック図、
【図１６】記憶媒体（記憶媒体(B)）の構成例を示すブロック図、
【図１７Ａ】鍵自動選択処理を説明するフローチャート、
【図１７Ｂ】鍵自動選択処理を説明するフローチャート、
【図１８】鍵情報リストの一例を示す図、
【図１９Ａ】暗号・認証処理を説明するフローチャート、
【図１９Ｂ】暗号・認証処理を説明するフローチャート、
【図２０】記憶媒体がメモリに保持する対応テーブルの一例を示す図、
【図２１】カメラがメモリに保持するテーブルの一例を示す図、
【図２２】実施例5における、暗号・認証処理後のディジタルデータの読み出し動作を説明するフローチャートである。
【図１】
2008011512.tif 000003
【図２】
2008011512.tif 000004
【図３】
2008011512.tif 000005
【図４】
2008011512.tif 000006
【図５】
2008011512.tif 000007
【図６】
2008011512.tif 000008
【図７】
2008011512.tif 000009
【図８】
2008011512.tif 000010
【図９】
2008011512.tif 000011
【図１０】
2008011512.tif 000012
【図１１】
2008011512.tif 000013
【図１２】
2008011512.tif 000014
【図１３】
2008011512.tif 000015
【図１４】
2008011512.tif 000016
【図１５】
2008011512.tif 000017
【図１６】
2008011512.tif 000018
【図１７Ａ】
2008011512.tif 000019
【図１７Ｂ】
2008011512.tif 000020
【図１８】
2008011512.tif 000021
【図１９Ａ】
2008011512.tif 000022
【図１９Ｂ】
2008011512.tif 000023
【図２０】
2008011512.tif 000024
【図２１】
2008011512.tif 000025
【図２２】
2008011512.tif 000026