説明

データ処理装置およびプログラム

【課題】データをより安全に管理することができるデータ処理装置、およびプログラムを提供する。
【解決手段】データ処理装置は、自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部を備える。また、前記識別情報は複数の識別情報である。さらに、データ処理装置は、前記鍵生成部によって生成された前記鍵を格納する自装置内のメモリをさらに備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化データを生成する処理を行うデータ処理装置に関する。また、本発明は、本データ処理装置としてコンピュータを機能させるためのプログラムにも関する。
【背景技術】
【0002】
昨今のスマートフォン等の携帯端末は、Android(登録商標)等のOS(Operating System)を採用し、オープンプラットフォームで開発可能な仕様となっている。また、携帯端末による電子決済の利用やメールの送受信など、端末側で管理する識別情報(IDやパスワード等)を用いてサーバ側が端末のクライアント認証を行う自動連携サービスが求められている。こうしたサービスを実現するには、サーバがクライアント認証を行うための識別情報を端末側で安全に管理する仕組みが求められている。これまで、耐タンパ性を有するTPM(Trusted Platform Module)やICカード等のセキュリティチップの内部で管理される秘密鍵による署名を用いてクライアント認証を行う仕組みが提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−290508号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、セキュリティチップを利用する場合には、セキュリティチップが端末に実装されている必要があり、セキュリティチップを持たない端末に安全なデータ管理の機構を設けることができない問題があった。
【0005】
本発明は、上述した課題に鑑みてなされたものであって、データをより安全に管理することができるデータ処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するためになされたもので、自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、を備えたことを特徴とするデータ処理装置である。
【0007】
また、本発明のデータ処理装置は、前記識別情報が複数の識別情報であることを特徴とする。
【0008】
また、本発明のデータ処理装置は、前記鍵生成部によって生成された前記鍵を格納する自装置内のメモリをさらに備えたことを特徴とする。
【0009】
また、本発明のデータ処理装置において、前記鍵を用いて前記暗号化データを復号する復号処理部をさらに備えたことを特徴とする。
【0010】
また、本発明のデータ処理装置において、前記復号処理部は、第1の電子署名と、前記第1の電子署名の署名者を識別する第1の署名者情報とを有し、第2の電子署名と、前記第2の電子署名の署名者を識別する第2の署名者情報とを有するアプリケーションから要求があった場合に、前記第1の署名者情報と前記第2の署名者情報を比較する比較部をさらに有し、前記復号処理部は、前記第1の署名者情報と前記第2の署名者情報とが同一であった場合に、前記暗号化データを復号して復号後のデータを、前記要求を発生したアプリケーションに引き渡すことを特徴とする。
【0011】
また、本発明は、自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、としてコンピュータを機能させるアプリケーションのプログラムであって、システム権限が付与された前記アプリケーションのプログラムが予め記録された記録媒体と、前記記録媒体から前記プログラムを読み出して処理を行う前記コンピュータの処理装置と、を備えたことを特徴とするデータ処理装置である。
【0012】
また、本発明は、自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、としてコンピュータを機能させるためのプログラムである。
【0013】
また、本発明のプログラムは、前記鍵生成部としてコンピュータを機能させるためのネイティブコードを含むことを特徴とする。
【0014】
また、本発明のプログラムは、難読化が施されていることを特徴とする。
【発明の効果】
【0015】
本発明によれば、データ処理装置を識別する識別情報に基づいて鍵を生成することによって、データ処理装置に固有な、推定されにくい鍵を生成することが可能となる。したがって、この鍵を用いてデータを暗号化することによって、データをより安全に管理することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態によるデータ処理装置のハードウェア構成を示すブロック図である。
【図2】本発明の一実施形態によるデータ処理装置の機能構成を示すブロック図である。
【図3】本発明の一実施形態における暗号化処理の手順を示すフローチャートである。
【図4】本発明の一実施形態における鍵生成・暗号化処理の手順を示すフローチャートである。
【図5】本発明の一実施形態におけるアプリケーション認証処理の手順を示すフローチャートである。
【図6】本発明の一実施形態における復号処理の手順を示すフローチャートである。
【図7】本発明の一実施形態における鍵生成・復号処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態によるデータ処理装置のハードウェア構成を示している。本実施形態のデータ処理装置は、スマートフォン等の携帯端末として構成されている。図1に示すデータ処理装置は、CPU(Central Processing Unit)1、表示部2、操作部3、通信部4、メモリ5、フラッシュメモリ6、メモリインタフェース部7、UIM(User Identity Module Card)カード8、カードインタフェース部9を有する。
【0018】
CPU1は、ROM5に格納されている各種のプログラムを読み出してメモリ5に読み込み、プログラムの各種命令に従って各種の演算を行い、データ処理装置内の各部を制御する。表示部2は各種の情報を表示する。操作部3は、ユーザが操作する各種操作部材を有する。通信部4は、外部の他の通信装置と通信を行う。メモリ5は、フラッシュメモリ6から読み込まれたプログラムや、CPU1が演算を行った結果等を一時的に記憶する媒体である。
【0019】
フラッシュメモリ6は、CPU1の動作を規定する各種のプログラムや、データ処理装置内で処理される各種データを記憶する媒体である。フラッシュメモリ6において、ファイル操作が制限されているシステム領域には、データ処理装置のシステムの制御に必要な重要なプログラム等が格納され、システム領域以外の領域には一般の商用Webサイトからダウンロード可能なアプリケーションのプログラム等が格納される。メモリインタフェース部7は、CPU1とフラッシュメモリ6の間でデータの入出力を行う。UIMカード8は、通信を介して各種サービスを利用するのに必要な各種情報を記憶する媒体である。カードインタフェース部9は、CPU1とUIMカード8の間でデータの入出力を行う。
【0020】
図2は、データ処理装置の機能構成を示している。図1に示すデータ処理装置は、本実施形態のデータ処理機能を実現する処理を行う機能構成として、アプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24を有する。
【0021】
アプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24は、CPU1に各種処理を実行させるためのプログラムである。図2では、アプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24のプログラムがフラッシュメモリ6からメモリ5に読み込まれて、メモリ5上でアプリケーション20a,20b,20c、セキュアデータマネージャ21、認証部24が起動している状態が示されている。メモリ5上で起動したこれらのプログラムは、CPU1およびメモリ5の資源を利用して各種処理を行う。
【0022】
アプリケーション20a,20b,20cは、アプリケーションの処理として規定された各種の処理を行う。図2では、3つのアプリケーションが起動しているが、データ処理装置で起動するアプリケーションの数は特に3つに限らない。
【0023】
セキュアデータマネージャ21は、データの暗号化および復号を行う。本実施形態のセキュアデータマネージャ21は、アプリケーションによる常駐型のサービスであり、サービスが強制的に終了した場合には、自動的にサービスが再起動される。セキュアデータマネージャ21は、本実施形態のデータ処理を行うため、管理部22および処理部23を有する。
【0024】
本実施形態のデータ処理装置は、OSとしてAndroid(登録商標)を用いている。セキュアデータマネージャ21のプログラムは、ファイルの拡張子が.apkであるアプリケーションファイルである。また、セキュアデータマネージャ21のプログラムは、ファイルの拡張子が.dexであってデータ管理を統括する管理部22のプログラムと、ファイルの拡張子が.soであって鍵の生成と暗号化および復号を行う処理部23のプログラムとを有する。
【0025】
管理部22は、機能として、要求処理機能22a、識別情報取得機能22bを有する。要求処理機能22aは、アプリケーション20a,20b,20cからの各種の要求を処理する機能である。識別情報取得機能22bは、端末毎に固有な識別情報であるIMSI(International Mobile Subscriber Identity)、IMEI(International Mobile Equipment Identity)、Android(登録商標) ID(以下ではOS IDと称す)を取得する機能である。管理部22の処理が解読されないようにするため、管理部22のプログラムに難読化を施すことがより望ましい。
【0026】
IMEIは、端末の製造元や、機種、シリアル番号等の情報を含む情報であり、フラッシュメモリ6に記録されている。IMSIは、契約者毎にユニークな識別子であり、UIMカード8に記録されている。OS IDは、端末においてOSが最初に起動するときにランダムに生成される64ビットの情報であり、フラッシュメモリ6に記録されている。IMSI、IMEI、OS IDについては、.so形式のプログラムである処理部23が直接取得することができないため、管理部22がこれらの識別情報を取得し、処理部23に引き渡す。
【0027】
処理部23は、機能として、識別情報取得機能23a、鍵生成機能23b、暗号化機能23c、復号機能23dを有する。識別情報取得機能23aは、端末毎に固有な識別情報であるDevice IDを取得する機能である。本実施形態のDevice IDは、例えばMAC(Media Access Control address)アドレスであり、通信部4が保持している。鍵生成機能23bは、データの暗号化および復号に用いる鍵(秘密鍵)を生成する機能である。暗号化機能23cは、鍵生成機能23bにより生成した鍵を用いてデータを暗号化し、暗号化データを生成する機能である。復号機能23dは、鍵生成機能23bにより生成した鍵を用いて暗号化データを復号する機能である。
【0028】
処理部23のプログラムは、逆コンパイルが困難なネイティブコード(機械語)で構成されている。処理部23の処理が解読されないようにするため、処理部23のプログラムをネイティブコードで構成するだけでなく、処理部23のプログラムに難読化を施すことがより望ましい。JNI(Java(登録商標) Native Interface)には、.so形式のファイルを、それを利用する.apk形式のファイルからのみ呼び出せる仕組みが設けられている。このため、.apk形式の偽のファイルから処理部23のプログラムを呼び出すことを防ぐことができる。
【0029】
本実施形態の処理部23は、端末固有の情報であるIMSI、IMEI、OS ID、Device IDを用いて鍵を生成し、生成した鍵を用いて暗号化および復号を行う。このように、端末固有の情報を用いて鍵を生成することによって、端末に固有な、推定されにくい鍵を生成することが可能となる。この鍵を用いてデータを暗号化することによって、データ処理装置がセキュリティチップを持たなくても、データを安全に管理することができる。
【0030】
認証部24は、アプリケーション20a,20b,20cからセキュアデータマネージャ21に発行される要求を監視し、アプリケーション20a,20b,20cからセキュアデータマネージャ21に対して暗号化データを復号する要求があったときに、信頼されたアプリケーションのみに復号後のデータを提供するため、アプリケーション20a,20b,20cの認証を行う。この認証には、Android(登録商標)フレームワークであるContent ProviderにおけるSignature認証を利用する。認証部24は、OSの機能の一部として構成することが可能である。
【0031】
次に、データ処理装置の動作を説明する。本実施形態では、アプリケーション20a,20b,20cのいずれかがセキュアデータマネージャ21に対して、データを暗号化する要求を行ったときの動作、および暗号化データを復号する要求を行ったときの動作を説明する。セキュアデータマネージャ21が処理するデータは適宜メモリ5に格納され、処理の終了後、適宜メモリ5から消去されるが、以下ではメモリ5とのデータの入出力を省略して説明を行う場合がある。
【0032】
まず、アプリケーションがセキュアデータマネージャ21に対して、データを暗号化する要求を行ったときの動作を説明する。アプリケーションは、操作部3を介してユーザがパスワードやID等の秘密情報を入力したときなどのタイミングで、セキュアデータマネージャ21に対して、データを暗号化する要求を行う。セキュアデータマネージャ21の管理部22は、この要求を受け付け、図3に示す暗号化処理を開始する。
【0033】
管理部22(要求処理機能22a)は、要求を行ったアプリケーションから処理対象のデータを取得し、メモリ5に格納する(ステップS100)。続いて、管理部22(識別情報取得機能22b)は、識別情報(IMSI、IMEI、OS ID)を取得する(ステップS105)。識別情報の取得後、管理部22は処理部23に処理を引き渡す。処理部23(識別情報取得機能23a)は、識別情報(Device ID)を取得する(ステップS110)。全ての識別情報を管理部22が取得するのではなく、一部の識別情報については、ネイティブコードで構成されたプログラムによる処理部23が取得することによって、鍵の推定をより困難にすることができる。続いて、処理部23(鍵生成機能23b、暗号化機能23c)は鍵生成・暗号化処理を行う(ステップS115)。
【0034】
図4は、鍵生成・暗号化処理を示している。処理部23(鍵生成機能23b)は、ステップS105およびステップS110で取得した識別情報を用いて鍵を生成する(ステップS200)。暗号化アルゴリズムには、例えばAES(Advanced Encryption Standard)を用いる。鍵長は、128ビット、192ビット、256ビットの中から選択することが可能である。鍵の生成に用いる識別情報は1つだけでもよいが、鍵の推定をより困難にするため、複数の識別情報を組み合わせて用いることがより望ましい。本実施形態では、複数の識別情報の排他的論理和を用いる。ステップS200における鍵の生成後、処理部23(鍵生成機能23b)は、生成した鍵をメモリ5に格納する(ステップS205)。
【0035】
続いて、処理部23(暗号化機能23c)は、メモリ5に格納されている鍵を用いて、メモリ5に格納されている処理対象のデータ(ステップS100で取得したデータ)を暗号化し、暗号化データを生成する(ステップS210)。暗号化の終了後、処理部23(暗号化機能23c)はメモリ5から鍵を消去する(ステップS215)。鍵の消去後、鍵生成・暗号化処理が終了する。
【0036】
鍵生成・暗号化処理の終了後、処理部23(暗号化機能23c)は、ステップS210で生成した暗号化データをフラッシュメモリ6に保存する(ステップS120)。暗号化データの保存後、暗号化処理が終了する。
【0037】
本実施形態では、暗号化処理時に生成された鍵はメモリ5上でのみ管理されるので、鍵の推定をより困難にすることができる。また、データの暗号化の終了直後に鍵をメモリ5から消去することによって、鍵がメモリ5に存在している時間を短くし、鍵の推定をより困難にすることができる。
【0038】
次に、アプリケーションがセキュアデータマネージャ21に対して、暗号化データを復号する要求を行ったときの動作を説明する。アプリケーションは、サーバによるクライアント認証のための秘密情報を送信するための処理を行うなどのタイミングで、セキュアデータマネージャ21に対して、暗号化データを復号する要求を行う。認証部24は、アプリケーションからセキュアデータマネージャ21への要求を監視しており、暗号化データを復号する要求に基づいて、図5に示すアプリケーション認証処理を開始する。
【0039】
なお、以下の処理の前提として、各アプリケーションは、電子署名と、その電子署名への署名を行った署名者を識別する署名者情報との組をメモリ5に保持しているものとする。また、セキュアデータマネージャ21の処理部23も、電子署名と署名者情報との組をメモリ5に保持しているものとする。
【0040】
認証部24は、要求元のアプリケーションを識別し(ステップS300)、要求元のアプリケーションから署名者情報を取得する(ステップS305)。同様に、認証部24は、要求先のアプリケーションであるセキュアデータマネージャ21を識別し(ステップS310)、要求先のアプリケーションであるセキュアデータマネージャ21から署名者情報を取得する(ステップS315)。
【0041】
続いて、認証部24は、ステップS305で取得した署名者情報と、ステップS315で取得した署名者情報とを比較し、両者が同一であるか否かを判定する(ステップS320)。両者が同一である場合、認証部24は、要求先のアプリケーションであるセキュアデータマネージャ21に処理を引き渡し(ステップS325)、アプリケーション認証処理を終了する。また、両者が同一でない場合、認証部24は、要求元のアプリケーションにエラーコードを返し(ステップS330)、アプリケーション認証処理を終了する。
【0042】
認証部24から処理が引き渡されたセキュアデータマネージャ21の管理部22は、図6に示す復号処理を開始する。管理部22(識別情報取得機能22b)は、識別情報(IMSI、IMEI、OS ID)を取得する(ステップS400)。識別情報の取得後、管理部22は処理部23に処理を引き渡す。処理部23(識別情報取得機能23a)は、識別情報(Device ID)を取得する(ステップS405)。ステップS400〜S405の処理は図3のステップS105〜S110の処理と同様である。続いて、処理部23(鍵生成機能23b、復号機能23d)は鍵生成・復号処理を行う(ステップS410)。
【0043】
図7は、鍵生成・復号処理を示している。処理部23(鍵生成機能23b)は、ステップS400およびステップS405で取得した識別情報を用いて鍵を生成する(ステップS500)。このとき、複数の識別情報の排他的論理和を用いて鍵が生成される。鍵の生成後、処理部23(鍵生成機能23b)は、生成した鍵をメモリ5に格納する(ステップS505)。
【0044】
続いて、処理部23(暗号化機能23c)は、フラッシュメモリ6から暗号化データを読み出し、メモリ5に格納されている鍵を用いて暗号化データを復号する(ステップS510)。復号の終了後、処理部23(暗号化機能23c)はメモリ5から鍵を消去する(ステップS515)。鍵の消去後、鍵生成・復号処理が終了する。
【0045】
鍵生成・復号処理の終了後、処理部23は管理部22に処理を引き渡す。管理部22(要求処理機能22a)は、暗号化データを復号する要求の要求元であるアプリケーションに復号後のデータを引き渡す(ステップS415)。復号後のデータがアプリケーションに引き渡された後、復号処理が終了する。
【0046】
本実施形態では、復号処理時に生成された鍵はメモリ5上でのみ管理されるので、鍵の推定をより困難にすることができる。また、暗号化データの復号の終了直後に鍵をメモリ5から消去することによって、鍵がメモリ5に存在している時間を短くし、鍵の推定をより困難にすることができる。
【0047】
なお、図3〜図7に示した処理に関して、本発明の効果が得られる範囲内で、適宜ステップの順番を変更してもよい。
【0048】
本実施形態のデータ処理装置は、本実施形態のデータ処理を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させることで実現することが可能である。
【0049】
ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0050】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0051】
上述したように、本実施形態によれば、データ処理装置を識別する識別情報(IMSI、IMEI、OS ID、Device ID)に基づいて鍵を生成することによって、データ処理装置に固有な、推定されにくい鍵を生成することが可能となる。したがって、この鍵を用いてデータを暗号化することによって、セキュリティチップを持たなくても、データをより安全に管理することができる。また、複数の識別情報を組み合わせることによって、鍵の推定をより困難にすることができる。
【0052】
また、鍵をメモリ5上でのみ管理することによって、鍵の推定を困難にすることができる。さらに、メモリ5に鍵を長時間格納せず、暗号化の終了後にメモリ5から鍵を消去することによって、鍵の推定をより困難にすることができる。さらに、暗号化データを復号する際も、鍵を生成し、生成した鍵で暗号化データを復号し、復号の終了後にメモリ5から鍵を消去することによって、鍵の推定をより困難にすることができる。
【0053】
また、アプリケーションから暗号化データの復号の要求があった場合に、アプリケーションの認証を行うことによって、信頼されたアプリケーションのみに復号後のデータを提供することができる。
【0054】
例えばデータ処理装置の販売前の段階において、本実施形態のセキュアデータマネージャ21のプログラムにシステム権限を付与し、そのプログラムをフラッシュメモリ6にインストールしておくことで、セキュアデータマネージャ21をプリインストール型のアプリケーションとして提供することが可能である。システム権限は、ROMイメージをコンパイルするときに付与されるものであるため、ユーザ側でダウンロード可能なアプリケーションには付与することができない権限である。セキュアデータマネージャ21のプログラムにシステム権限を付与することによって、偽のアプリケーションが管理部22や処理部23のプログラムを不正に利用することを防ぐことができる。
【0055】
本実施形態のデータ処理装置は、電子決済やメールの送受信等のためにサーバがクライアントを自動認証するサービス等に適用することが可能である。
【0056】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0057】
1・・・CPU(処理装置)、2・・・表示部、3・・・操作部、4・・・通信部、5・・・メモリ、6・・・フラッシュメモリ、7・・・メモリインタフェース部、8・・・UIMカード、9・・・カードインタフェース部、20a,20b,20c・・・アプリケーション、21・・・セキュアデータマネージャ、22・・・管理部、22a・・・要求処理機能、22b・・・識別情報取得機能、23・・・処理部、23a・・・識別情報取得機能、23b・・・鍵生成機能(鍵生成部)、23c・・・暗号化機能(暗号化処理部)、23d・・・復号機能(復号処理部)、24・・・認証部(比較部)

【特許請求の範囲】
【請求項1】
自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、
前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、
を備えたことを特徴とするデータ処理装置。
【請求項2】
前記識別情報が複数の識別情報であることを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記鍵生成部によって生成された前記鍵を格納する自装置内のメモリをさらに備えたことを特徴とする請求項1または請求項2に記載のデータ処理装置。
【請求項4】
前記鍵を用いて前記暗号化データを復号する復号処理部をさらに備えたことを特徴とする請求項1〜請求項3のいずれか一項に記載のデータ処理装置。
【請求項5】
前記復号処理部は、第1の電子署名と、前記第1の電子署名の署名者を識別する第1の署名者情報とを有し、
第2の電子署名と、前記第2の電子署名の署名者を識別する第2の署名者情報とを有するアプリケーションから要求があった場合に、前記第1の署名者情報と前記第2の署名者情報を比較する比較部をさらに有し、
前記復号処理部は、前記第1の署名者情報と前記第2の署名者情報とが同一であった場合に、前記暗号化データを復号して復号後のデータを、前記要求を発生したアプリケーションに引き渡す
ことを特徴とする請求項4に記載のデータ処理装置。
【請求項6】
自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、
前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、
としてコンピュータを機能させるアプリケーションのプログラムであって、システム権限が付与された前記アプリケーションのプログラムが予め記録された記録媒体と、
前記記録媒体から前記プログラムを読み出して処理を行う前記コンピュータの処理装置と、
を備えたことを特徴とするデータ処理装置。
【請求項7】
自装置を識別する識別情報に基づいて鍵を生成する鍵生成部と、
前記鍵を用いてデータを暗号化して暗号化データを生成する暗号化処理部と、
としてコンピュータを機能させるためのプログラム。
【請求項8】
前記鍵生成部としてコンピュータを機能させるためのネイティブコードを含むことを特徴とする請求項7に記載のプログラム。
【請求項9】
難読化が施されていることを特徴とする請求項8に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate