"自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、を備えたことを特徴とするデータ処理装置。前記識別情報が複数の識別情報であることを特徴とする請求項1に記載のデータ処理装置。前記鍵生成部によって生成された前記鍵を格納する自装置内のメモリをさらに備えたことを特徴とする請求項1または請求項2に記載のデータ処理装置。前記鍵を用いて前記暗号化データを復号する復号処理部をさらに備えたことを特徴とする請求項1~請求項3のいずれか一項に記載のデータ処理装置。前記復号処理部は、第1の電子署名と、前記第1の電子署名の署名者を識別する第1の署名者情報とを有し、第2の電子署名と、前記第2の電子署名の署名者を識別する第2の署名者情報とを有するアプリケーションから要求があった場合に、前記第1の署名者情報と前記第2の署名者情報を比較する比較部をさらに有し、前記復号処理部は、前記第1の署名者情報と前記第2の署名者情報とが同一であった場合に、前記暗号化データを復号して復号後のデータを、前記要求を発生したアプリケーションに引き渡すことを特徴とする請求項4に記載のデータ処理装置。自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、としてコンピュータを機能させるアプリケーションのプログラムであって、システム権限が付与された前記アプリケーションのプログラムが予め記録された記録媒体と、前記記録媒体から前記プログラムを読み出して処理を行う前記コンピュータの処理装置と、を備えたことを特徴とするデータ処理装置。自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、としてコンピュータを機能させるためのプログラム。前記鍵生成部としてコンピュータを機能させるためのネイティブコードを含むことを特徴とする請求項7に記載のプログラム。難読化が施されていることを特徴とする請求項8に記載のプログラム。しかし、セキュリティチップを利用する場合には、セキュリティチップが端末に実装されている必要があり、セキュリティチップを持たない端末に安全なデータ管理の機構を設けることができない問題があった。本発明は、上述した課題に鑑みてなされたものであって、データをより安全に管理することができるデータ処理装置およびプログラムを提供することを目的とする。本発明は、上記の課題を解決するためになされたもので、自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、を備えたことを特徴とするデータ処理装置である。また、本発明のデータ処理装置は、前記識別情報が複数の識別情報であることを特徴とする。また、本発明のデータ処理装置は、前記鍵生成部によって生成された前記鍵を格納する自装置内のメモリをさらに備えたことを特徴とする。また、本発明のデータ処理装置において、前記鍵を用いて前記暗号化データを復号する復号処理部をさらに備えたことを特徴とする。また、本発明のデータ処理装置において、前記復号処理部は、第1の電子署名と、前記第1の電子署名の署名者を識別する第1の署名者情報とを有し、第2の電子署名と、前記第2の電子署名の署名者を識別する第2の署名者情報とを有するアプリケーションから要求があった場合に、前記第1の署名者情報と前記第2の署名者情報を比較する比較部をさらに有し、前記復号処理部は、前記第1の署名者情報と前記第2の署名者情報とが同一であった場合に、前記暗号化データを復号して復号後のデータを、前記要求を発生したアプリケーションに引き渡すことを特徴とする。また、本発明は、自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、としてコンピュータを機能させるアプリケーションのプログラムであって、システム権限が付与された前記アプリケーションのプログラムが予め記録された記録媒体と、前記記録媒体から前記プログラムを読み出して処理を行う前記コンピュータの処理装置と、を備えたことを特徴とするデータ処理装置である。また、本発明は、自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、としてコンピュータを機能させるためのプログラムである。また、本発明のプログラムは、前記鍵生成部としてコンピュータを機能させるためのネイティブコードを含むことを特徴とする。また、本発明のプログラムは、難読化が施されていることを特徴とする。本発明によれば、データ処理装置を識別する識別情報に基づいて鍵を生成することによって、データ処理装置に固有な、推定されにくい鍵を生成することが可能となる。したがって、この鍵を用いてデータを暗号化することによって、データをより安全に管理することができる。以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態によるデータ処理装置のハードウェア構成を示している。本実施形態のデータ処理装置は、スマートフォン等の携帯端末として構成されている。図1に示すデータ処理装置は、CPUCentralProcessingUnit1、表示部2、操作部3、通信部4、メモリ5、フラッシュメモリ6、メモリインタフェース部7、UIMUserIdentityModuleCardカード8、カードインタフェース部9を有する。CPU1は、ROM5に格納されている各種のプログラムを読み出してメモリ5に読み込み、プログラムの各種命令に従って各種の演算を行い、データ処理装置内の各部を制御する。表示部2は各種の情報を表示する。操作部3は、ユーザが操作する各種操作部材を有する。通信部4は、外部の他の通信装置と通信を行う。メモリ5は、フラッシュメモリ6から読み込まれたプログラムや、CPU1が演算を行った結果等を一時的に記憶する媒体である。フラッシュメモリ6は、CPU1の動作を規定する各種のプログラムや、データ処理装置内で処理される各種データを記憶する媒体である。フラッシュメモリ6において、ファイル操作が制限されているシステム領域には、データ処理装置のシステムの制御に必要な重要なプログラム等が格納され、システム領域以外の領域には一般の商用Webサイトからダウンロード可能なアプリケーションのプログラム等が格納される。メモリインタフェース部7は、CPU1とフラッシュメモリ6の間でデータの入出力を行う。UIMカード8は、通信を介して各種サービスを利用するのに必要な各種情報を記憶する媒体である。カードインタフェース部9は、CPU1とUIMカード8の間でデータの入出力を行う。図2は、データ処理装置の機能構成を示している。図1に示すデータ処理装置は、本実施形態のデータ処理機能を実現する処理を行う機能構成として、アプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24を有する。アプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24は、CPU1に各種処理を実行させるためのプログラムである。図2では、アプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24のプログラムがフラッシュメモリ6からメモリ5に読み込まれて、メモリ5上でアプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24が起動している状態が示されている。メモリ5上で起動したこれらのプログラムは、CPU1およびメモリ5の資源を利用して各種処理を行う。アプリケーション20a,20b,20cは、アプリケーションの処理として規定された各種の処理を行う。図2では、3つのアプリケーションが起動しているが、データ処理装置で起動するアプリケーションの数は特に3つに限らない。セキュアデータマネージャ21は、データの暗号化および復号を行う。本実施形態のセキュアデータマネージャ21は、アプリケーションによる常駐型のサービスであり、サービスが強制的に終了した場合には、自動的にサービスが再起動される。セキュアデータマネージャ21は、本実施形態のデータ処理を行うため、管理部22および処理部23を有する。本実施形態のデータ処理装置は、OSとしてAndroid登録商標を用いている。セキュアデータマネージャ21のプログラムは、ファイルの拡張子がapkであるアプリケーションファイルである。また、セキュアデータマネージャ21のプログラムは、ファイルの拡張子がdexであってデータ管理を統括する管理部22のプログラムと、ファイルの拡張子がsoであって鍵の生成と暗号化および復号を行う処理部23のプログラムとを有する。管理部22は、機能として、要求処理機能22a、識別情報取得機能22bを有する。要求処理機能22aは、アプリケーション20a,20b,20cからの各種の要求を処理する機能である。識別情報取得機能22bは、端末毎に固有な識別情報であるIMSIInternationalMobileSubscriberIdentity、IMEIInternationalMobileEquipmentIdentity、Android登録商標ID以下ではOSIDと称すを取得する機能である。管理部22の処理が解読されないようにするため、管理部22のプログラムに難読化を施すことがより望ましい。IMEIは、端末の製造元や、機種、シリアル番号等の情報を含む情報であり、フラッシュメモリ6に記録されている。IMSIは、契約者毎にユニークな識別子であり、UIMカード8に記録されている。OSIDは、端末においてOSが最初に起動するときにランダムに生成される64ビットの情報であり、フラッシュメモリ6に記録されている。IMSI、IMEI、OSIDについては、so形式のプログラムである処理部23が直接取得することができないため、管理部22がこれらの識別情報を取得し、処理部23に引き渡す。処理部23は、機能として、識別情報取得機能23a、鍵生成機能23b、暗号化機能23c、復号機能23dを有する。識別情報取得機能23aは、端末毎に固有な識別情報であるDeviceIDを取得する機能である。本実施形態のDeviceIDは、例えばMACMediaAccessControladdressアドレスであり、通信部4が保持している。鍵生成機能23bは、データの暗号化および復号に用いる鍵秘密鍵を生成する機能である。暗号化機能23cは、鍵生成機能23bにより生成した鍵を用いてデータを暗号化し、暗号化データを生成する機能である。復号機能23dは、鍵生成機能23bにより生成した鍵を用いて暗号化データを復号する機能である。処理部23のプログラムは、逆コンパイルが困難なネイティブコード機械語で構成されている。処理部23の処理が解読されないようにするため、処理部23のプログラムをネイティブコードで構成するだけでなく、処理部23のプログラムに難読化を施すことがより望ましい。JNIJava登録商標NativeInterfaceには、so形式のファイルを、それを利用するapk形式のファイルからのみ呼び出せる仕組みが設けられている。このため、apk形式の偽のファイルから処理部23のプログラムを呼び出すことを防ぐことができる。本実施形態の処理部23は、端末固有の情報であるIMSI、IMEI、OSID、DeviceIDを用いて鍵を生成し、生成した鍵を用いて暗号化および復号を行う。このように、端末固有の情報を用いて鍵を生成することによって、端末に固有な、推定されにくい鍵を生成することが可能となる。この鍵を用いてデータを暗号化することによって、データ処理装置がセキュリティチップを持たなくても、データを安全に管理することができる。認証部24は、アプリケーション20a,20b,20cからセキュアデータマネージャ21に発行される要求を監視し、アプリケーション20a,20b,20cからセキュアデータマネージャ21に対して暗号化データを復号する要求があったときに、信頼されたアプリケーションのみに復号後のデータを提供するため、アプリケーション20a,20b,20cの認証を行う。この認証には、Android登録商標フレームワークであるContentProviderにおけるSignature認証を利用する。認証部24は、OSの機能の一部として構成することが可能である。次に、データ処理装置の動作を説明する。本実施形態では、アプリケーション20a,20b,20cのいずれかがセキュアデータマネージャ21に対して、データを暗号化する要求を行ったときの動作、および暗号化データを復号する要求を行ったときの動作を説明する。セキュアデータマネージャ21が処理するデータは適宜メモリ5に格納され、処理の終了後、適宜メモリ5から消去されるが、以下ではメモリ5とのデータの入出力を省略して説明を行う場合がある。まず、アプリケーションがセキュアデータマネージャ21に対して、データを暗号化する要求を行ったときの動作を説明する。アプリケーションは、操作部3を介してユーザがパスワードやID等の秘密情報を入力したときなどのタイミングで、セキュアデータマネージャ21に対して、データを暗号化する要求を行う。セキュアデータマネージャ21の管理部22は、この要求を受け付け、図3に示す暗号化処理を開始する。管理部22要求処理機能22aは、要求を行ったアプリケーションから処理対象のデータを取得し、メモリ5に格納するステップS100。続いて、管理部22識別情報取得機能22bは、識別情報IMSI、IMEI、OSIDを取得するステップS105。識別情報の取得後、管理部22は処理部23に処理を引き渡す。処理部23識別情報取得機能23aは、識別情報DeviceIDを取得するステップS110。全ての識別情報を管理部22が取得するのではなく、一部の識別情報については、ネイティブコードで構成されたプログラムによる処理部23が取得することによって、鍵の推定をより困難にすることができる。続いて、処理部23鍵生成機能23b、暗号化機能23cは鍵生成暗号化処理を行うステップS115。図4は、鍵生成暗号化処理を示している。処理部23鍵生成機能23bは、ステップS105およびステップS110で取得した識別情報を用いて鍵を生成するステップS200。暗号化アルゴリズムには、例えばAESAdvancedEncryptionStandardを用いる。鍵長は、128ビット、192ビット、256ビットの中から選択することが可能である。鍵の生成に用いる識別情報は1つだけでもよいが、鍵の推定をより困難にするため、複数の識別情報を組み合わせて用いることがより望ましい。本実施形態では、複数の識別情報の排他的論理和を用いる。ステップS200における鍵の生成後、処理部23鍵生成機能23bは、生成した鍵をメモリ5に格納するステップS205。続いて、処理部23暗号化機能23cは、メモリ5に格納されている鍵を用いて、メモリ5に格納されている処理対象のデータステップS100で取得したデータを暗号化し、暗号化データを生成するステップS210。暗号化の終了後、処理部23暗号化機能23cはメモリ5から鍵を消去するステップS215。鍵の消去後、鍵生成暗号化処理が終了する。鍵生成暗号化処理の終了後、処理部23暗号化機能23cは、ステップS210で生成した暗号化データをフラッシュメモリ6に保存するステップS120。暗号化データの保存後、暗号化処理が終了する。本実施形態では、暗号化処理時に生成された鍵はメモリ5上でのみ管理されるので、鍵の推定をより困難にすることができる。また、データの暗号化の終了直後に鍵をメモリ5から消去することによって、鍵がメモリ5に存在している時間を短くし、鍵の推定をより困難にすることができる。次に、アプリケーションがセキュアデータマネージャ21に対して、暗号化データを復号する要求を行ったときの動作を説明する。アプリケーションは、サーバによるクライアント認証のための秘密情報を送信するための処理を行うなどのタイミングで、セキュアデータマネージャ21に対して、暗号化データを復号する要求を行う。認証部24は、アプリケーションからセキュアデータマネージャ21への要求を監視しており、暗号化データを復号する要求に基づいて、図5に示すアプリケーション認証処理を開始する。なお、以下の処理の前提として、各アプリケーションは、電子署名と、その電子署名への署名を行った署名者を識別する署名者情報との組をメモリ5に保持しているものとする。また、セキュアデータマネージャ21の処理部23も、電子署名と署名者情報との組をメモリ5に保持しているものとする。認証部24は、要求元のアプリケーションを識別しステップS300、要求元のアプリケーションから署名者情報を取得するステップS305。同様に、認証部24は、要求先のアプリケーションであるセキュアデータマネージャ21を識別しステップS310、要求先のアプリケーションであるセキュアデータマネージャ21から署名者情報を取得するステップS315。続いて、認証部24は、ステップS305で取得した署名者情報と、ステップS315で取得した署名者情報とを比較し、両者が同一であるか否かを判定するステップS320。両者が同一である場合、認証部24は、要求先のアプリケーションであるセキュアデータマネージャ21に処理を引き渡しステップS325、アプリケーション認証処理を終了する。また、両者が同一でない場合、認証部24は、要求元のアプリケーションにエラーコードを返しステップS330、アプリケーション認証処理を終了する。認証部24から処理が引き渡されたセキュアデータマネージャ21の管理部22は、図6に示す復号処理を開始する。管理部22識別情報取得機能22bは、識別情報IMSI、IMEI、OSIDを取得するステップS400。識別情報の取得後、管理部22は処理部23に処理を引き渡す。処理部23識別情報取得機能23aは、識別情報DeviceIDを取得するステップS405。ステップS400~S405の処理は図3のステップS105~S110の処理と同様である。続いて、処理部23鍵生成機能23b、復号機能23dは鍵生成復号処理を行うステップS410。図7は、鍵生成復号処理を示している。処理部23鍵生成機能23bは、ステップS400およびステップS405で取得した識別情報を用いて鍵を生成するステップS500。このとき、複数の識別情報の排他的論理和を用いて鍵が生成される。鍵の生成後、処理部23鍵生成機能23bは、生成した鍵をメモリ5に格納するステップS505。続いて、処理部23暗号化機能23cは、フラッシュメモリ6から暗号化データを読み出し、メモリ5に格納されている鍵を用いて暗号化データを復号するステップS510。復号の終了後、処理部23暗号化機能23cはメモリ5から鍵を消去するステップS515。鍵の消去後、鍵生成復号処理が終了する。鍵生成復号処理の終了後、処理部23は管理部22に処理を引き渡す。管理部22要求処理機能22aは、暗号化データを復号する要求の要求元であるアプリケーションに復号後のデータを引き渡すステップS415。復号後のデータがアプリケーションに引き渡された後、復号処理が終了する。本実施形態では、復号処理時に生成された鍵はメモリ5上でのみ管理されるので、鍵の推定をより困難にすることができる。また、暗号化データの復号の終了直後に鍵をメモリ5から消去することによって、鍵がメモリ5に存在している時間を短くし、鍵の推定をより困難にすることができる。なお、図3~図7に示した処理に関して、本発明の効果が得られる範囲内で、適宜ステップの順番を変更してもよい。本実施形態のデータ処理装置は、本実施形態のデータ処理を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させることで実現することが可能である。ここで、コンピュータは、WWWシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリRAMのように、一定時間プログラムを保持しているものも含むものとする。また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク通信網や電話回線等の通信回線通信線のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル差分プログラムであってもよい。上述したように、本実施形態によれば、データ処理装置を識別する識別情報IMSI、IMEI、OSID、DeviceIDに基づいて鍵を生成することによって、データ処理装置に固有な、推定されにくい鍵を生成することが可能となる。したがって、この鍵を用いてデータを暗号化することによって、セキュリティチップを持たなくても、データをより安全に管理することができる。また、複数の識別情報を組み合わせることによって、鍵の推定をより困難にすることができる。また、鍵をメモリ5上でのみ管理することによって、鍵の推定を困難にすることができる。さらに、メモリ5に鍵を長時間格納せず、暗号化の終了後にメモリ5から鍵を消去することによって、鍵の推定をより困難にすることができる。さらに、暗号化データを復号する際も、鍵を生成し、生成した鍵で暗号化データを復号し、復号の終了後にメモリ5から鍵を消去することによって、鍵の推定をより困難にすることができる。また、アプリケーションから暗号化データの復号の要求があった場合に、アプリケーションの認証を行うことによって、信頼されたアプリケーションのみに復号後のデータを提供することができる。例えばデータ処理装置の販売前の段階において、本実施形態のセキュアデータマネージャ21のプログラムにシステム権限を付与し、そのプログラムをフラッシュメモリ6にインストールしておくことで、セキュアデータマネージャ21をプリインストール型のアプリケーションとして提供することが可能である。システム権限は、ROMイメージをコンパイルするときに付与されるものであるため、ユーザ側でダウンロード可能なアプリケーションには付与することができない権限である。セキュアデータマネージャ21のプログラムにシステム権限を付与することによって、偽のアプリケーションが管理部22や処理部23のプログラムを不正に利用することを防ぐことができる。本実施形態のデータ処理装置は、電子決済やメールの送受信等のためにサーバがクライアントを自動認証するサービス等に適用することが可能である。以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。"