(57)【要約】【課題】機能制限された状態でもリアルタイム性が重要な機能については直ちに実行可能にしつつ、そのことによるセキュリティリスクを低減させるデータ記録装置を提供する。【解決手段】撮影などのリアルタイム性のある機能については、機能制限の有無に関わらず実行可能とする。他方、機能制限のある状態で取得した第１データについては、暗号処理部２０３で暗号化する。取得したデータのアクセス元に対してはダミー画像生成部２０４で生成したダミー画像を提示する。提示後、正しいデータを復元するときは、操作者の指示入力を待ち、提示可能になった時点で正しいデータを提示する。機能制限の無い状態で外部から取得した第２データについては、取得した第２データのアクセス元に対して第２データを提示する。【選択図】図２
2016075978.tif 000002
【特許請求の範囲】
【請求項１】
機能制限のある状態で外部から取得した第１データに耐タンパ性を付与する付与手段と、
前記第１データの代替となる代替データを生成する生成手段と、
前記第１データへのアクセス元に前記代替データを提示し、該提示に起因する操作者の指示入力を待って前記第１データを提示可能にする制御手段と、
機能制限の無い状態で外部から取得した第２データを前記第１データと区別して保存する保存手段と、
前記第１データに付随する第１メタ情報又は前記第２データに付随する第２メタ情報を取得するメタ情報取得手段とを備えており、
前記制御手段は、前記第２データへのアクセス元に対して前記第２データ及び前記第２メタ情報を提示し、前記第１データへのアクセス元に対しては、前記第１データが提示可能になった時点で当該第１データ及び前記操作者が指示した前記第１メタ情報を提示する、データ記録装置。
【請求項２】
前記付与手段は、前記アクセス元がアクセスできない鍵情報を用いて暗号化することにより、当該第１データに耐タンパ性を付与する、
請求項１に記載のデータ記録装置。
【請求項３】
前記付与手段は、前記第１データを前記アクセス元がアクセスできない記録領域に保存することにより、当該第１データに耐タンパ性を付与する、
請求項１に記載のデータ記録装置。
【請求項４】
前記アクセス元は、前記第１データ又は前記第２データの取得を要求するとともにその要求結果を待って後続処理を実行するアプリケーションであり、
前記制御手段は、前記第１データの取得の要求に対して前記代替データを前記アプリケーションへ提示した後、前記指示入力を促す情報を、前記アプリケーションとは独立に前記操作者宛に出力する、
請求項１に記載のデータ記録装置。
【請求項５】
前記アプリケーションによる装置機能の使用可否を定めたセキュリティポリシーを保持するポリシー保持手段をさらに備えており、
前記生成手段は、生成する前記代替データの内容を前記セキュリティポリシーに応じて異ならせる、
請求項４に記載のデータ記録装置。
【請求項６】
前記生成手段は、前記セキュリティポリシーが、前記第１データを装置外へ出力させる装置機能の使用を許可しないものである場合、前記第１データを想起させるダミー画像を前記代替データとして生成する、
請求項５に記載のデータ記録装置。
【請求項７】
前記生成手段は、前記セキュリティポリシーが、前記第１データを装置外へ出力させる装置機能の使用を許可するものである場合、前記第１データとの関連性の無いダミー画像を前記代替データとして生成する、
請求項５に記載のデータ記録装置。
【請求項８】
前記第１データが撮影画像である場合、前記生成手段は、前記撮像画像をぼかした画像を前記代替データとして生成する、
請求項７記載のデータ記録装置。
【請求項９】
撮像部と、
機能制限のある状態で前記撮像部が外部から取得した第１データに耐タンパ性を付与する付与手段と、
機能制限のない状態で前記撮像部が外部から取得した第２データを前記第１データと区別して保存する保存手段と、
前記第１データの代替となる代替データを生成する生成手段と、
前記第２データのアクセス元に前記第２データを提示する一方、前記第１データへのアクセス元に前記代替データを提示し、該提示に起因する操作者の指示入力を待って前記第１データを提示可能にする制御手段と、
機能制限の無い状態で外部から取得した第２データを前記第１データと区別して保存する保存手段と、
前記第１データに付随する第１メタ情報又は前記第２データに付随する第２メタ情報を取得するメタ情報取得手段とを備えており、
前記制御手段は、前記第２データへのアクセス元に対して前記第２データ及び前記第２メタ情報を提示し、前記第１データへのアクセス元に対しては、前記第１データが提示可能になった時点で当該第１データ及び前記操作者が指示した前記第１メタ情報を提示する、撮像装置。
【請求項１０】
データ取得の要求を行うとともにその要求結果を待って後続処理を実行するアプリケーションをインストールした装置が実行する方法であって、
前記要求に従って外部からデータを取得したときの装置状態が機能制限された状態のときは、取得した第１データを前記アプリケーションがアクセスできない態様で保存するとともに前記第１データの代替となる代替データを生成し、この代替データを前記アプリケーションに提示し、該提示に起因する操作者の指示入力を待って前記第１データを提示可能にし、機能制限の無い状態で外部から取得した第２データを前記第１データと区別して保存し、前記第１データに付随する第１メタ情報又は前記第２データに付随する第２メタ情報を取得し、前記第２データへのアクセス元に対して前記第２データ及び前記第２メタ情報を提示し、前記第１データへのアクセス元に対しては、前記第１データが提示可能になった時点で当該第１データ及び前記操作者が指示した前記第１メタ情報を提示する、
セキュリティリスクの軽減方法。
【請求項１１】
コンピュータを、請求項１ないし８のいずれか１項に記載されたデータ記録装置として動作させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能制限された状態で取得したデータのセキュリティ管理制御に関する。
【背景技術】
【０００２】
近年、多機能携帯電話や携帯音楽プレーヤなど、パーソナルコンピュータ以外の携帯機器においても、様々なアプリケーションの追加が可能になっている。これによりユーザが携帯機器の機能をカスタマイズすることができて便利になる反面、セキュリティリスクも増えている。例えば、インストールしたアプリケーションが不純な目的で作られた場合、あるいはバグなどにより、個人情報の漏洩などの問題が起きることがある。そのため、追加したアプリケーションについては、ポリシー制御が行われている。
ポリシー制御では、アプリケーションをインストールする携帯機器に、許可する機能あるいは禁止する機能をリストアップした機器ポリシーを予め用意しておく。そして、アプリケーションが実行する機能が機器ポリシーで許可されているか否かを確認し、許可されていない場合は動作を制限する。ユーザは、自分が望むように機器ポリシーを設定することで、意図しない機能がアプリケーションによって実行される事態を回避することができる。
【０００３】
機器ポリシーは、ユーザの意思によって変更されることがある。例えばあまり信頼できない開発元で開発されたアプリケーションを実行する際に、最低限の機能以外使えないようにしてから試したい場合がある。このような場合、ユーザは機器ポリシーを変更し、後で再設定する作業を行うことになる。
しかし、静止画あるいは動画の撮影、あるいは音声の録音といった機能では、このような機器ポリシーの再設定が間に合わない場合がある。撮影や録音には適切なタイミングがあり、機器ポリシーの再設定をしている間にチャンスを逃してしまう可能性がある。そのため、撮影や録音などリアルタイム応答性（操作を行ったら確実にすぐに実行されること）が重要な機能については、ユーザが実際に望む場合はすぐに実行できることが望まれる。一方で、撮影／録音機能も機器ポリシーで制御できるようになっていなければならない。
【０００４】
従来、機器ポリシーで禁止されている場合にも、緊急時には制限を解除して、必要な機能を使えるようにする技術が存在する。例えば、特許文献１には、災害の段階に応じてセキュリティポリシーを変更する画像処理装置が開示されている。この画像処理装置によれば、普段は禁止されている機能も災害時には使うことができる。また、特許文献２には、ポリシーデータベースに定められた基準に応じてファイルの保存先を区分して保存するファイル保存先パス変換システムが開示されている。
これらの技術を応用し、機器ポリシーの制限を解除して撮影や録音を行ってもデータの保存先を変えることにより、セキュリティリスクを低くできることが期待される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５８８６７号公報
【特許文献２】特開２０１１−１５０３８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
機能制限された状態でデータを取得した場合にその保存先を変えるなどの特殊な処理を行うと、撮影結果が正しく保存されていることを想定しているアプリケーションは後続処理を実行できなくなる場合がある。アプリケーションが正規品でない可能性があり、特殊な処理を行ったときに、アプリケーションがそれに対応していることが期待できないためである。
本発明は、機能制限された状態でもリアルタイム性が重要な機能については直ちに実行可能にしつつ、そのことによるセキュリティリスクを低減させる技術を提供することを主たる課題とする。
本発明の他の課題は、機能制限がなされた状態で取得したデータのセキュリティリスクを低減させる仕組みを、そのデータのアクセス元の実装を変えることなく実現する方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明はデータ記録装置を提供する。このデータ記録装置は、機能制限のある状態で外部から取得した第１データに耐タンパ性を付与する付与手段と、前記第１データの代替となる代替データを生成する生成手段と、前記第１データへのアクセス元に前記代替データを提示し、該提示に起因する操作者の指示入力を待って前記第１データを提示可能にする制御手段と、機能制限の無い状態で外部から取得した第２データを前記第１データと区別して保存する保存手段と、前記第１データに付随する第１メタ情報又は前記第２データに付随する第２メタ情報を取得するメタ情報取得手段とを備えている。前記制御手段は、前記第２データへのアクセス元に対して前記第２データ及び前記第２メタ情報を提示し、前記第１データへのアクセス元に対しては、前記第１データが提示可能になった時点で当該第１データ及び前記操作者が指示した前記第１メタ情報を提示する。
【発明の効果】
【０００８】
本発明によれば、第１データには耐タンパ性が付与されるので、第１データを取得することに対するセキュリティリスクが低減する。第１データのアクセス元へは、第１データの代替となる代替データが提示されるので、アクセス元の実装を変える必要がない。操作者は指示入力を与えることにより第１データに触れることができるので、操作者の利便性を損なうこともない。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の撮像装置のハードウェア構成図。
【図２】撮像装置のソフトウェアモジュール構成図。
【図３】機器ポリシーの設定例を示した説明図。
【図４】（ａ）はウィジェットを構成するＨＴＭＬ、（ｂ）はプログラム部分。
【図５】（ａ）〜（ｄ）はウィジェットの画面説明図。
【図６】（ａ）はＪａｖａＳｃｒｉｐｔエンジンの処理手順説明図、（ｂ）は撮影処理の手順説明図。
【図７】（ａ），（ｂ）はＪａｖａＳｃｒｉｐｔエンジンが持つデータベースの内容説明図。
【図８】（ａ）は実画像の復元処理の手順説明図、（ｂ）は復元処理の手順説明図。
【図９】操作者に確認を促すためのポップアップ画面の例示図。
【図１０】ダミー画像の生成手順説明図。
【発明を実施するための形態】
【００１０】
以下、本発明のデータ記録装置を撮像装置に適用した場合の実施の形態例を説明する。撮像装置は単一の装置で実現しても良いし、必要に応じた複数の装置に各機能を分散して実現するようにしても良い。複数の装置で構成される場合は、互いに通信可能なようにＬＡＮ（Local Area Network）などで接続される。
図１は、単一の装置で実現される撮像装置のハードウェア構成図である。この撮像装置１００は、システムバス１０１に、様々な機能部品を接続して構成される。機能部品は、ＣＰＵ１０２，ＲＯＭ１０３、ＲＡＭ１０４、外部記憶部１０７で構成されるコンピュータを含む。ＣＰＵ（Central Processing Unit）１０２は、本発明のコンピュータプログラムを実行することにより、撮像装置１００全体の動作、特に、データ記録のための制御を行う制御手段として動作する。ＲＯＭ（Read Only Memory）１０３は変更を必要としない制御プログラムやパラメータを格納する不揮発のメモリである。ＲＡＭ（Random Access Memory）１０４は、ＣＰＵ１０２のワークメモリであり、プログラムや各種データを一時記録する。外部記憶部１０７は、ハードディスク、半導体メモリなどである。着脱可能なフラッシュメモリやＩＣカードなどを用いることもできる。この場合は、撮像装置１００がメモリの着脱機構を備えるものとなる。ＲＯＭ１０３，ＲＡＭ１０４及び外部記憶部１０７は、ＣＰＵ１０２の制御により実現される保存手段として動作する。
【００１１】
撮像装置１００は、システムバス１０１に接続される機能部品として、暗号鍵保存部１０５、撮像部１０６、表示部１０８、操作部１０９，ネットワークインターフェース１１０、ＧＰＳ受信機１１１、時計１１２も備えている。
暗号鍵保存部１０５は、暗号化及び復号に必要な鍵情報を格納する。撮像部１０６は、静止画や動画を撮影する内蔵カメラである。この撮像部１０６は、撮影されたデータをデジタルデータとして出力する。デジタルデータは、必要に応じて圧縮される。表示部１０８は、液晶ディスプレイなどの表示デバイスである。操作部１０９は、操作者（通常は、装置のユーザ）が操作を行うためのボタンやキーボードなどの操作部である。表示部１０８がタッチパネル機能を有する場合、表示部１０８と操作部１０９とを同じデバイスで実現することができる。ネットワークインターフェース１１０は、ネットワークとのデータの送受信を行うための機構である。ＧＰＳ受信機１１１は、ＧＰＳ（Global Positioning
System）衛星の電波を受信し、現在位置を判別する。時計１１２は、現在日時を出力するとともに、ＣＰＵ１０２等の動作クロックを供給するものである。
【００１２】
上記の機能部品のうちＣＰＵ１０２は、本発明のコンピュータプログラムを読みとって実行することにより、撮像装置１００に、種々のソフトウェアモジュールを形成する。図２は、本実施形態による撮像装置１００のソフトウェアモジュール構成図である。
撮像装置１００は、JavaScript（登録商標）で書かれたプログラムを解釈して実行するJavaScriptエンジン２０１として動作する。また、ＨＴＭＬ（Hyper Text Markup Language）で記述されたデータ（ＨＴＭＬデータ）を表示部１０８に表示するＨＴＭＬ描画エンジン２０２として動作する。ＨＴＭＬによって外観を記述し、動作をJavaScriptで記述することにより、「ウィジェット」と呼ばれる小型化されたアプリケーションを実現することができる。また、JavaScriptエンジン２０１とＨＴＭＬ描画エンジン２０２をまとめたものは、ウィジェットランタイムと呼ばれる。ウィジェットランタイムは、ウィジェットを動作させるのに最低限必要な管理モジュールである。ウィジェットの動作は、このウィジェットランタイムにより制御される。以下の説明では、これらを区別する必要がない場合は、単にアプリケーションと表現する。
【００１３】
ＨＴＭＬ描画エンジン２０２は、ＨＴＭＬデータを扱う。ＨＴＭＬデータは標準仕様に則ったものである。一方、JavaScriptエンジン２０１は、標準仕様で定められた機能を実装した上で、さらにいくつかの追加機能を持つ。この点については後述する。
暗号処理部２０３は、データへのアクセス元がアクセスできない鍵情報、すなわち暗号鍵保存部１０５に保存された鍵情報を用いてデータの暗号化及び復号を行う。これにより、そのデータに耐タンパ性を付与する。ダミー画像生成部２０４は、代替データの一例となるダミー画像を生成する。ダミー画像とは、撮像部１０６で撮影された撮像画像ではなく、それが仮にネットワーク上などに流出しても問題にならないように生成された画像である。
ポリシー処理部２０５は、アプリケーションによる装置機能（撮像装置１００が有する機能、以下同じ）の使用可否を定めたセキュリティポリシーを保持するポリシー保持手段として動作する。ポリシー処理部２０５は、また、このセキュリティポリシーの設定、変更、適合性判別に関する処理を行う。以下の説明では、セキュリティポリシーを「機器ポリシー」と称する。
【００１４】
撮像装置１００の操作者は、操作部１０９を通じて機器ポリシーを設定し、適宜変更することで、アプリケーションが使用する装置機能を制限することができる。この機器ポリシーの概念を図３を参照して説明する。機器ポリシーは、機能（図３の左列）とそれぞれに対する「許可」／「禁止」の設定（図３の右列）で構成される。装置機能のうち撮影機能については、「許可」／「禁止」／「全禁止」の３つのどれかを選択することができる。もちろん、より複雑な構造にしても良い。例えば装置状態による条件分岐（特定の場所にいるときのみ撮影を許可するなど）を行う場合もある。図３の例では、ネットワークアクセス３０１と、時刻情報取得機能３０５は許可されている。他方、静止画撮影３０２、動画撮影３０３、位置情報取得３０４の機能は禁止されている。
【００１５】
撮像部１０６で撮影を行うためにインストールされたアプリケーションの例を図４に示す。図４（ａ）はボタンの配置などを定義したＨＴＭＬファイルである。図４（ｂ）は、アプリケーションの処理を記述したJavaScriptファイルである。ＨＴＭＬ，JavaScriptはいずれも標準化された仕様であるため、詳細は省略するが、ＣＰＵ１０２が図４（ａ）のＨＴＭＬファイルを読み込んで実行することにより、表示部１０８に図５（ａ）のような画面が表示される。
例えば、図４（ａ）の４ａ０９のinputタグは図５（ａ）の「capture」ボタン５ａ０１、図４（ａ）の４ａ１１のinputタグは図５（ａ）の「upload」ボタン５ａ０２を表すものとなる。また、inputタグにはonclick属性が記述されている。これは表示されたボタンが押された場合の動作の記述である。つまり、「capture」ボタン５ａ０１が押された場合は、onCaptureButtonClicked関数が呼ばれる。同様に、「upload」ボタン５ａ０２が押された場合は、onUploadButtonClicked関数が呼ばれる。これらの関数は、４（ｂ）に示すJavaScriptファイル中で定義されている。
【００１６】
つまり、このアプリケーションは、第１データ又は第２データの取得（「capture」／「upload」）を要求するとともにその要求結果を待って後続処理を実行するアプリケーションである。まず、操作者がアプリケーションを用いて撮影を行うとき、すなわち「capture」ボタン５ａ０１が操作者に押されたときの撮像装置１００の動作について説明する。「capture」ボタン５ａ０１が押されると、撮像装置１００のＣＰＵ１０２は、onCaptureButtonClicked関数を呼ぶ。この関数は、図４（ｂ）の４ｂ０１から４ｂ０４で定義されている。つまり、図４（ｂ）の４ｂ０２にあるcaptureImage関数の呼び出しが行われる。この関数は標準のJavaScript仕様にはない、JavaScriptエンジン２０１固有の機能である。そこで、その機能の動作例を図６を参照して説明する。
【００１７】
ＣＰＵ１０２は、まず、ポリシー処理部２０５で機器ポリシーを確認し、撮影機能が使用可能かどうかを確認する（Ｓ６ａ０１）。撮影機能のポリシーは、「許可」／「禁止」／「全禁止」のいずれかである。ＣＰＵ１０２は、「全禁止」である場合は撮影を行わず、エラーコールバックを返す（Ｓ６ａ０３）。つまり、図４（ｂ）の４ｂ１３にあるonCaptureImageError関数を呼ぶ。その結果、表示部１０８には、図５（ｂ）に示すように、アラートが表示される。この場合は、後続処理を実行できないことになる。
他方、「全禁止」以外の場合、ＣＰＵ１０２は、「許可」／「禁止」に関わらず、撮影処理を行うことができる（Ｓ６ａ０４）。
【００１８】
撮影処理の手順は６（ｂ）のようになる。すなわち、ＣＰＵ１０２は、撮像部１０６で撮影された撮影画像を受け取る（Ｓ６ｂ０１）。このとき、撮影画像に付随するメタ情報として、ＧＰＳ受信機１１１から位置情報を取得し、時計１１２から現在時刻を取得する（メタ情報取得手段）。なお、メタ情報は、上記以外のものを用いることも可能である。例えば撮影時の設定（ズームやホワイトバランス）に関する情報や、撮影者の名前などを、メタ情報として用いても良い。
その後、ＣＰＵ１０２は、取得したメタ情報と撮影画像とを関連付けて外部記憶部１０７へ保存する（Ｓ６ｂ０２、Ｓ６ｂ０３）。つまり、ＣＰＵ１０２と外部記憶部１０７は、撮影画像等の保存手段として動作する。本明細書では、機器ポリシーが「禁止」のときに取得した撮影画像を第１データ、機器ポリシーが「許可」のときに取得した撮影画像を第２データと称する。また、第１データに付随するメタ情報を第１メタ情報、第２データに付随するメタ情報を第２メタ情報と称する。
【００１９】
保存手段による各データの保存の仕方とその後の各データに対する処理の内容は、撮影機能の機器ポリシーによって異なるものとなる。撮影機能が「許可」の場合（Ｓ６ａ０５：Ｙ）、ＣＰＵ１０２は、第２データを第２メタ情報と共にアプリケーションが任意にアクセス可能な態様で外部記憶部１０７に保存する（Ｓ６ａ０６）。そして、そのときのファイル名を使って成功コールバック、すなわち４ｂ０６のonCaptureImageSuccess関数を呼ぶ（提示する）。この関数の処理の詳細は標準仕様の範囲の機能のため省略するが、提示したファイル名の第２データを画面に表示するものである。その結果、表示部１０８には、図５（ｃ）のように、第２データが表示される。
【００２０】
一方、撮影機能が「禁止」であった場合（Ｓ６ａ０７：Ｎ）、ＣＰＵ１０２は、第１データに耐タンパ性を付与した上で、外部記憶部１０７に保存する（Ｓ６ａ０８）。耐タンパ性の付与は、アクセス元がアクセスできない鍵情報を用いて第１データを暗号化することにより行う。第１データに付随する第１メタ情報を取得したときは、それも併せて暗号化する。鍵情報は、暗号鍵保存部１０５のみ存在するので、暗号化は、装置固有の機能となる。
【００２１】
ＣＰＵ１０２は、また、第１データの代替データとなるダミー画像を生成し、暗号化された第１データと関連付けて保存する（Ｓ６ａ０９）。ダミー画像は、アクセス元であるアプリケーションに対して、第１データの代替として提示するデータである。ダミー画像は、第１データでなければ、どのようなものであっても良い。ここでは、図５（ｄ）に示すように、撮影日時の文字画像とする。以下、第１データ又は第２データを、ダミー画像と対比して実画像と呼ぶことがある。
【００２２】
ダミー画像が生成されると、ＣＰＵ１０２は、ダミー画像テーブルに、ダミー画像ファイル、対応する実画像ファイル及びメタ情報（第１メタ情報）を追加する（Ｓ６ａ１０）。ダミー画像テーブルは、図７（ａ）に例示される内容のものである。図７（ａ）において、ダミー画像ファイルは、ダミー画像を固有の識別情報で識別されるファイルにまとめたものである。実画像ファイルは、実画像を固有の識別情報で識別されるファイルにまとめたものである。メタ情報ファイルは、ダミー情報を固有の識別情報で識別されるファイルにまとめたものである。メタ情報ファイルは、図７（ｂ）に例示される内容のものである。ここでは、パラメータ名、撮影時機器ポリシー、データが記録される。
【００２３】
その後、ＣＰＵ１０２は、ダミー画像ファイルのファイル名を引数として成功コールバック関数に渡す（Ｓ６ａ１１）。つまり、第１データに代えて、ダミー画像（代替データ）を提示する。その結果、表示部１０８には、図５（ｄ）のように、第１データ（実画像）ではなく、ダミー画像が表示される。ダミー画像であってもアプリケーションは、撮影に成功した結果として認識する。そのため、アプリケーションにおける後続処理は実行される。このようにして、撮影機能が「全禁止」でない場合、撮影自体は可能となり、表示部１０８には、何らかの画像の表示が可能になる。
【００２４】
ここで、図５（ｄ）の表示において、操作者が「upload」ボタン５ａ０２をクリックしたとする。ＣＰＵ１０２は、これを検知し、onUploadButtonClicked関数を実行する。この関数は、図４（ｂ）の４ｂ１７〜４ｂ２２で定義されている。同図の４ｂ１８〜４ｂ２０は、標準仕様の範囲内の機能であるため詳細は省くが、Ｓ６ａ０７またはＳ６ａ１２で渡されたダミー画像ファイルをサーバへアップロードすることを表している。ＣＰＵ１０２は、そのダミー画像ファイルをuploadImage関数でアップロードする（４ｂ２１）。この関数は、装置固有の機能である。そこで、その処理手順を図８を参照して説明する。
【００２５】
ＣＰＵ１０２は、まず、操作者によって指定された画像がダミー画像か否かを判別する。これは、図７（ａ）に示したダミー画像テーブルに登録されているかどうかで判断できる。ダミー画像であった場合、暗号化された実画像ファイル及び第１メタ情報が存在することになるので、ＣＰＵ１０２は、これらの復元処理を行う（Ｓ８ａ０２）。この復元処理の手順を８（ｂ）に示す。
図８（ｂ）を参照すると、ＣＰＵ１０２は、最初に、ダミー画像に対応する実画像（第１データ）とメタ情報（第１メタ情報）とを復号する（Ｓ８ｂ０１）。この段階では、まだアプリケーションには、処理結果は渡されない。指定された画像がダミー画像であるということは、その画像が撮影されたときに撮影機能の機器ポリシーが「禁止」であったことを表すからである。つまり、操作者が望んでいない撮影処理の結果である可能性があるためである。そこで、ＣＰＵ１０２は、指示入力を促す情報を、アプリケーションとは独立に操作者宛に出力する。具体的には、表示部１０８に、図９に示すような、確認用のポップアップ画面を表示し、操作者に指示入力を促す（Ｓ８ｂ０２）。
【００２６】
ポップアップ画面には、復元の「許可」／「拒否」を選択する「はい」／「いいえ」ボタン９０１の他に、復元画像にどのメタ情報を含めるかを決めるためのチェックボックス９０２、９０３が表示される。これは、Ｓ６ｂ０３で保存したメタ情報、すなわち図７（ｂ）のデータに従うものである。このとき、撮影時の機器ポリシーが「許可」であったメタ情報は、予めチェック状態にし、「禁止」であったものはチェックを外した状態にした方が操作者の望むものに近く、利便性が高くなることが予想される。そこで、ＣＰＵ１０２は、撮影時の機器ポリシー（図７（ｂ）参照）が「許可」のときはチェック状態にし、「禁止」のものは未チェック状態にする。その結果、チェックボックス９０２はチェック済み、チェックボックス９０３は未チェックとなる。
操作者の指示入力があった場合、例えば復元が許可された場合（Ｓ８ｂ０３：Ｙ）、ＣＰＵ１０２は、操作者が選択したメタ情報をJPEGのEXIFタグとして埋め込む。そして、ダミー画像と同じファイル名、例えば「IMG_0012.JPG」として出力する（Ｓ８ｂ０４）。その後、ダミー画像と置き換える（Ｓ８ｂ０５）。これにより、第１データ、つまり装置の機能制限がある状態で取得した実画像が復元される。
【００２７】
図８（ａ）に戻り、ＣＰＵ１０２は、復元された実画像をアップロードする（Ｓ８ａ０４）。但し、ネットワークやアップロード先のサーバの状況などによっては、アップロードに失敗することがあり得る。そこで、ＣＰＵ１０２は、成功した場合は成功コールバックを呼び（Ｓ８ａ０６）、失敗した場合はエラーコールバック（Ｓ８ａ０７）を呼ぶ。これによりuploadImage関数の処理が終了する。
Ｓ８ａ０１において、指定された画像がダミー画像でないと判定した場合（Ｓ８ａ０１：Ｎ）、ＣＰＵ１０２は、直ちにＳ８ａ０４の処理に移行する。
【００２８】
以上の説明の通り、ＣＰＵ１０２は、第２データへのアクセス元に対しては第２データ及び第２メタ情報を提示する処理を行う。他方、第１データへのアクセス元に対しては、第１データが提示可能になった時点で当該第１データ及び操作者が指示した第１メタ情報を提示する処理を行う。これらの処理は、機能制限の有無に関わらず撮影はできるが、機能制限のある状態で撮影した画像（第１データ）については、それを閲覧したり、移動する際に、必ず操作者の指示入力を待つ必要があることを意味する。これにより、操作者が未確認のデータが外部へ流出することを未然に防ぐことができる。しかも、以上の処理は、アプリケーション側に何らの特別な実装を行うことなく実現できる。
【００２９】
なお、本実施形態では、第１データ及び第１メタ情報を暗号化する例について説明したが、アプリケーションが無断で使用できない場合、あるいは、アプリケーションが任意にアクセスできない記録領域が存在する場合、暗号化は不要である。例えば、第１データ及びメタ情報を最初から耐タンパー性を持つ記録領域に保存するようにすれば、第１データ等に耐タンパ性を付与したことと同じになる。
【００３０】
また、本実施形態では、ダミー画像はどのような状況においても同じ内容で生成されることを前提に説明したが、例えばアプリケーションの使用状況を監視し、監視結果に応じてダミー画像の生成方法を使い分けることも可能である。この場合、図６のＳ６ａ０９の処理は、図１０のようになる。
すなわち、ＣＰＵ１０２は、白紙の状態の画像、すなわち白色の画像を生成する（Ｓ１００１）。次に、ＣＰＵ１０２は、アプリケーションがネットワークを使用するものかどうか、つまり、アプリケーションについて許可されている機器ポリシーにネットワークが有るかどうかを監視する（Ｓ１００２）。無い場合（Ｓ１００２：Ｎ）、ＣＰＵ１０２は、白色の画像に撮影画像をぼかした画像を入れる（Ｓ１００３）。一方、機器ポリシーにネットワークが有る場合は（Ｓ１００２：Ｙ）、白色の画像のままとする。いずれの場合も、その画像に撮影時刻を入れる（Ｓ１００４）。その後、ＣＰＵ１０２は、ＧＰＳについての機器ポリシーが「許可」状態かどうかを判別する。「許可」状態であった場合（Ｓ１００５：Ｙ）、ＣＰＵ１０２は、その画像に、位置情報を入れる（Ｓ１００６）。
【００３１】
この例において、アプリケーションがネットワークを使用するかどうかに応じてダミー画像の生成の仕方を使い分けるのは、ネットワークが、撮影画像（第１データ）を装置外へ出力させる装置機能だからである。
アプリケーションがネットワークを使用しない場合に、撮影画像をぼかした画像とするのは、時刻情報のみのダミー画像（図５（ｄ））に比べて撮影画像を想起させる画像であり、操作者にとっての利便性が高いためである。他方、アプリケーションがネットワークを使用する場合に白色の画像のままとするのは、撮影画像との関連性の無い画像にするためである。ＧＰＳの有無についても、操作者の利便性とセキュリティとのトレードオフになるが、機器ポリシーにおいて「許可」されているのであれば、操作者にとって位置情報は重要であることが推定される。
このように、生成するダミー画像の内容をアプリケーションによる装置機能の使用状況に応じて異ならせることで、操作者の利便性を高めることができる。
【００３２】
本実施形態では、また、uploadImage関数において暗号化された画像を復元する処理について説明したが、その他の手法でそれを行うことも可能である。例えば、JavaScriptエンジン２０１がダミー画像へのアクセスを監視し、アプリケーションからのアクセスがあった場合に復元処理を行うなどである。いずれの場合も、図８（ｂ）の処理に従うことで、実画像の復元は可能である。
また、Ｓ８ｂ０３において、実画像の復元の許否の判別に際し、よりセキュリティを強化するために、パスワード入力や指紋認証などの認証処理を追加することも可能である。このように構成すると、例えば撮像装置１００を他人に貸しているような状況においても、暗号化された実画像の流出などのリスクを低減させることができる。
【００３３】
［他の実施形態］
本実施形態では、撮像装置１００を例に挙げてその構成及び動作例について説明したが、本発明は、録音装置や音・画像・テキスト文の１つ又は複数を組み合わせたデータの記録装置としての実施が可能である。音を録音する場合は、図１の撮像部１０６に代えて録音部を設けた装置を構成する。テキスト文やネットワーク上に存在する画像などを取得して記録する場合は、それらのデータを取得するための入力装置を設ければ良い。代替データについては、取得したデータと同一の構造で内容が異なるものとしても良く、本実施形態で説明したようなダミー画像を用いても良い。
【００３４】
上述したいずれの種類のデータの場合も、データ取得の要求を行うとともにその要求結果を待って後続処理を実行するアプリケーションをインストールした装置において、以下の処理を行うことにより、セキュリティリスクの軽減方法としての実施が可能である。
（１）前記要求に従って外部からデータを取得したときの装置状態が機能制限された状態のときは、取得した第１データをアプリケーションがアクセスできない態様で保存する。
（２）第１データの代替となる代替データを生成し、この代替データをアプリケーションに提示する。
（３）該提示に起因する操作者の指示入力を待って第１データを提示可能にする。
【００３５】
［変形例］
本実施形態では、撮像装置１００のＣＰＵ１０２がコンピュータプログラムを実行することにより所要の機能を実現する例を説明したが、本発明の実施の形態は、このような例に限定されない。例えば、コンピュータプログラムの指示に基づき、撮像装置１００上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって実施形態の機能が実現される場合も含まれる。さらに、撮像装置１００に挿入された機能拡張ボードや撮像装置１００に接続された機能拡張ユニットと協働で処理を実行し、それによって実施形態の機能が実現される場合も含まれる。また、上述の実施形態の１以上の機能を実現するコンピュータプログラムを、ネットワーク又は記憶媒体を介して汎用のコンピュータに供給し、そのコンピュータにおける１つ以上のプロセッサがコンピュータプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。また、上記コンピュータプログラム、及びそれを記録した記憶媒体もまた、本発明の実施の一態様である。このような記憶媒体としては、例えば、フレキシブルディスク、外部ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【図１】
2016075978.tif 000003
【図２】
2016075978.tif 000004
【図３】
2016075978.tif 000005
【図４】
2016075978.tif 000006
【図５】
2016075978.tif 000007
【図６】
2016075978.tif 000008
【図７】
2016075978.tif 000009
【図８】
2016075978.tif 000010
【図９】
2016075978.tif 000011
【図１０】
2016075978.tif 000012