本情報処理装置の仮想計算機内でのみ利用される仮想計算機秘密鍵と該仮想計算機秘密鍵に対応する仮想計算機公開鍵とを有する非対称鍵暗号の鍵対を生成する鍵対生成手段と、前記鍵対生成手段によって生成された鍵対のうち仮想計算機公開鍵を出力する公開鍵出力手段と、前記仮想計算機公開鍵で暗号化された処理対象データを外部から取得する処理対象データ取得手段と、前記処理対象データ取得手段で取得された前記仮想計算機公開鍵で暗号化された処理対象データを前記仮想計算機秘密鍵で復号する復号手段と、処理プログラムを外部から取得する処理プログラム取得手段と、前記復号手段によって復号された処理対象データを対象にして、前記処理プログラム取得手段によって取得された処理プログラムを実行する実行手段と、処理依頼者公開鍵を外部から取得する公開鍵取得手段と、前記実行手段による処理プログラムの処理結果として生成された処理結果データを、前記公開鍵取得手段によって取得された依頼者公開鍵で暗号化する暗号化手段と、前記暗号化手段によって暗号化された処理結果データを外部へ出力する処理結果データ出力手段を有する仮想計算機を具備することを特徴とする情報処理装置。処理依頼者が用いている計算機である処理依頼者計算機から前記仮想計算機公開鍵で暗号化された処理対象データと前記依頼者公開鍵を取得する処理対象データ取得手段と、処理プログラム提供手段から処理プログラムを取得する処理プログラム取得手段と、前記仮想計算機の前記公開鍵出力手段により出力された仮想計算機公開鍵と、仮想計算機の前記処理結果データ出力手段により出力された前記依頼者公開鍵で暗号化された処理結果データを前記処理依頼者計算機に送信する処理結果データ送信手段と、前記仮想計算機の起動、削除、該削除の場合に該仮想計算機が用いたデータを消去する制御を行う仮想計算機制御手段をさらに具備することを特徴とする請求項1に記載の情報処理装置。計算機を、該計算機の仮想計算機内でのみ利用される仮想計算機秘密鍵と該仮想計算機秘密鍵に対応する仮想計算機公開鍵とを有する非対称鍵暗号の鍵対を生成する鍵対生成手段と、前記鍵対生成手段によって生成された鍵対のうち仮想計算機公開鍵を出力する公開鍵出力手段と、前記仮想計算機公開鍵で暗号化された処理対象データを外部から取得する処理対象データ取得手段と、前記処理対象データ取得手段で取得された前記仮想計算機公開鍵で暗号化された処理対象データを前記仮想計算機秘密鍵で復号する復号手段と、処理プログラムを外部から取得する処理プログラム取得手段と、前記復号手段によって復号された処理対象データを対象にして、前記処理プログラム取得手段によって取得された処理プログラムを実行する実行手段と、処理依頼者公開鍵を外部から取得する公開鍵取得手段と、前記実行手段による処理プログラムの処理結果として生成された処理結果データを、前記公開鍵取得手段によって取得された依頼者公開鍵で暗号化する暗号化手段と、前記暗号化手段によって暗号化された処理結果データを外部へ出力する処理結果データ出力手段を有する仮想計算機として機能させるための情報処理プログラム。本発明は、処理対象データと処理プログラムを取得し、処理対象データに対して処理プログラムを実行する場合において、仮想計算機を利用し、当該処理の実行単位で処理対象データの暗号化処理と復号処理を制御できる情報処理装置及び情報処理プログラムを提供することを目的としている。かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。請求項1の発明は、本情報処理装置の仮想計算機内でのみ利用される仮想計算機秘密鍵と該仮想計算機秘密鍵に対応する仮想計算機公開鍵とを有する非対称鍵暗号の鍵対を生成する鍵対生成手段と、前記鍵対生成手段によって生成された鍵対のうち仮想計算機公開鍵を出力する公開鍵出力手段と、前記仮想計算機公開鍵で暗号化された処理対象データを外部から取得する処理対象データ取得手段と、前記処理対象データ取得手段で取得された前記仮想計算機公開鍵で暗号化された処理対象データを前記仮想計算機秘密鍵で復号する復号手段と、処理プログラムを外部から取得する処理プログラム取得手段と、前記復号手段によって復号された処理対象データを対象にして、前記処理プログラム取得手段によって取得された処理プログラムを実行する実行手段と、処理依頼者公開鍵を外部から取得する公開鍵取得手段と、前記実行手段による処理プログラムの処理結果として生成された処理結果データを、前記公開鍵取得手段によって取得された依頼者公開鍵で暗号化する暗号化手段と、前記暗号化手段によって暗号化された処理結果データを外部へ出力する処理結果データ出力手段を有する仮想計算機を具備することを特徴とする情報処理装置である。請求項2の発明は、処理依頼者が用いている計算機である処理依頼者計算機から前記仮想計算機公開鍵で暗号化された処理対象データと前記依頼者公開鍵を取得する処理対象データ取得手段と、処理プログラム提供手段から処理プログラムを取得する処理プログラム取得手段と、前記仮想計算機の前記公開鍵出力手段により出力された仮想計算機公開鍵と、仮想計算機の前記処理結果データ出力手段により出力された前記依頼者公開鍵で暗号化された処理結果データを前記処理依頼者計算機に送信する処理結果データ送信手段と、前記仮想計算機の起動、削除、該削除の場合に該仮想計算機が用いたデータを消去する制御を行う仮想計算機制御手段をさらに具備することを特徴とする請求項1に記載の情報処理装置である。請求項3の発明は、計算機を、該計算機の仮想計算機内でのみ利用される仮想計算機秘密鍵と該仮想計算機秘密鍵に対応する仮想計算機公開鍵とを有する非対称鍵暗号の鍵対を生成する鍵対生成手段と、前記鍵対生成手段によって生成された鍵対のうち仮想計算機公開鍵を出力する公開鍵出力手段と、前記仮想計算機公開鍵で暗号化された処理対象データを外部から取得する処理対象データ取得手段と、前記処理対象データ取得手段で取得された前記仮想計算機公開鍵で暗号化された処理対象データを前記仮想計算機秘密鍵で復号する復号手段と、処理プログラムを外部から取得する処理プログラム取得手段と、前記復号手段によって復号された処理対象データを対象にして、前記処理プログラム取得手段によって取得された処理プログラムを実行する実行手段と、処理依頼者公開鍵を外部から取得する公開鍵取得手段と、前記実行手段による処理プログラムの処理結果として生成された処理結果データを、前記公開鍵取得手段によって取得された依頼者公開鍵で暗号化する暗号化手段と、前記暗号化手段によって暗号化された処理結果データを外部へ出力する処理結果データ出力手段を有する仮想計算機として機能させるための情報処理プログラムである。請求項1の情報処理装置によれば、処理対象データと処理プログラムを取得し、処理対象データに対して処理プログラムを実行する場合において、処理対象データが処理プログラムによる処理以外の処理には使用されないようにすることができる。請求項2の情報処理装置によれば、仮想計算機を削除する場合にその仮想計算機が用いたデータを消去することができる。請求項3の情報処理プログラムによれば、処理対象データと処理プログラムを取得し、処理対象データに対して処理プログラムを実行する場合において、処理対象データが処理プログラムによる処理以外の処理には使用されないようにすることができる。以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。なお、モジュールとは、一般的に論理的に分離可能なソフトウェアコンピュータプログラム、以下、単にプログラムともいう、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータプログラム計算機にそれぞれの手順を実行させるためのプログラム、計算機をそれぞれの手段として機能させるためのプログラム、計算機にそれぞれの機能を実現させるためのプログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、記憶する、記憶させる、保存する、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータプログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1つの計算機によって実行されてもよいし、分散又は並列環境における計算機によって1モジュールが複数の計算機で実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、接続とは物理的な接続の他、論理的な接続データの授受、指示、データ間の参照関係等の場合にも用いる。予め定められたとは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況状態に応じて、又はそれまでの状況状態に応じて定まることの意を含めて用いる。また、システム又は装置とは、複数の計算機、ハードウェア、装置等がネットワーク一対一対応の通信接続を含む等の通信手段で接続されて構成されるほか、1つの計算機、ハードウェア、装置等によって実現される場合も含まれる。装置とシステムとは、互いに同義の用語として用いる。もちろんのことながら、システムには、人為的な取り決めである社会的な仕組み社会システムにすぎないものは含まない。また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAMRandomAccessMemory、外部記憶媒体、通信回線を介した記憶装置、CPUCentralProcessingUnit内のレジスタ等を含んでいてもよい。本実施の形態である情報処理装置計算機112は、機密性を有する処理対象データと処理プログラムを取得し、処理対象データに対して処理プログラムを実行する以下、処理代行ともいうものであって、図1の例に示すように、計算機112は、通信回線150を介して計算機160、計算機170と接続されている。計算機112、計算機160、計算機170は、物理的な実体を有している計算機であるが、1つの機器で構成されていてもよいし、複数の機器によって構成されていてもよい。通信回線150は、インターネット等であってもよい。例えば、インターネットを経由してデータ処理を有償又は無償で実施するサービスが普及しており、一般的にウェブサービスなどと呼ばれる。本実施の形態は、例えばウェブサービスで用いられる。ウェブサービスにおいて、処理を依頼する側は、処理に必要な計算機やプログラムを用意すること無しに、処理を行いたいデータをウェブサービスに送信し、処理の結果となるデータを受信するのみで所望の処理結果が得られる。ウェブサービスにおけるデータのやり取りには、HTTPHyperTextTransferProtocolと呼ばれる技術などが用いられ、さらにデータを第三者から秘匿する目的では、SSLSecureSocketLayerと呼ばれる技術を用いることが一般的に行われている。さらに、特許文献1には、データを用いるプロセスアプリケーションプログラムがメモリ上で実行されている各々の実体を特定し、クライアントは、そのプロセスに特有の情報とともにサーバに対してデータの送信要求を行うとともに、要求されたサーバはプロセスに特有の情報に基づいて機密性を持つデータの送信の可否判断を行う技術が開示されている。ウェブサービスの形態で提供されるデータ処理はさまざまであり、多くの提供主体により提供される。ここではデータ処理を提供しようとする提供主体を、処理提供者と呼ぶ。また、自らが持つデータに対するデータ処理を依頼する主体を、処理依頼者と呼ぶ。例えば企業活動において、業務内において必要なデータ処理はさまざまであり、ウェブサービスを利用してそれらのデータ処理を実施しようとする場合、多数の処理提供者による処理が必要となる。計算機160は、通信回線150を介して、計算機112の処理対象データ取得モジュール102、処理結果データ送信モジュール104と接続されている。計算機160は、処理依頼者が使用する計算機である。計算機112に対して、処理代行を要求して、その処理対象となるデータ以下、処理対象データともいうを送信する。そして、処理結果であるデータ以下、処理結果データともいうを受信する。計算機170は、通信回線150を介して、計算機112の処理プログラム取得モジュール106と接続されている。計算機170は、処理代行用の処理プログラムを提供する計算機である。計算機112に対して、処理代行用の処理プログラムを送信する。処理プログラムの提供者以下、処理提供者ともいうが使用する計算機である。計算機112は、処理代行の処理を行う計算機である。計算機112は、計算機160から処理代行の要求を受け取り、処理対象データを受け取る。そして、その処理対象データを処理する処理プログラムを計算機170から受け取り予め計算機170から処理プログラムを受け取っており蓄積していてもよい、処理対象データを対象にして、処理プログラムを実行する。計算機112の所有者は、処理提供者であってもよいし、他の者であってもよい。計算機112は、処理対象データ取得モジュール102、処理結果データ送信モジュール104、処理プログラム取得モジュール106、仮想計算機制御モジュール108、仮想計算機モジュール110を有している。各モジュールは、計算機112の上で実行されるプログラムとして実施される。処理対象データ取得モジュール102は、仮想計算機制御モジュール108と接続されており、通信回線150を介して、計算機160と接続されている。処理結果データ送信モジュール104は、仮想計算機制御モジュール108と接続されており、通信回線150を介して、計算機160と接続されている。処理プログラム取得モジュール106は、仮想計算機制御モジュール108と接続されており、通信回線150を介して、計算機170と接続されている。処理対象データ取得モジュール102、処理結果データ送信モジュール104、処理プログラム取得モジュール106の各プログラムは、HTTPサービスプログラムを用いることが好ましい。この場合、データ、処理プログラム等の取得、送信は、HTTPプロトコルによるリクエストとそれに対する応答として実現される。すなわち、処理対象データの取得については、処理依頼者が使用する計算機160から処理対象データをHTTPプロトコルにより送信し、処理代行の処理を行う計算機112が受信することにより実現される。処理対象データの取得の取得手順の詳細は、後述する。また、処理結果データの送信については、処理代行の処理を行う計算機112から処理結果データをHTTPプロトコルにより送信し、処理依頼者が使用する計算機160が受信することにより実現される。処理プログラムの取得については、処理提供者が使用する計算機170から処理プログラムをHTTPプロトコルにより送信し、処理代行の処理を行う計算機112が受信することにより実現される。取得した処理プログラムは繰り返し利用されることが想定されるので、処理代行の処理を行う計算機112内の記憶装置に保存する。仮想計算機制御モジュール108は、処理対象データ取得モジュール102、処理結果データ送信モジュール104、処理プログラム取得モジュール106、仮想計算機モジュール110と接続されている。仮想計算機制御モジュール108は、仮想計算機モジュール110の起動、削除仮想計算機モジュール110の処理終了に伴う削除、その削除の場合に仮想計算機モジュール110が用いたデータを消去する制御を行う。この他に、データ、処理プログラムの入出力、仮想計算機モジュール110の状態データの管理を行う。具体的な処理の手順は後述する。なお、仮想計算機とは、計算機の動作をエミュレートするプログラムである。また、エミュレートされた仮想の計算機そのものも仮想計算機という。仮想計算機によって、1つの計算機上で複数の計算機やOSを動作させたり、別のアーキテクチャである計算機用のプログラムを動作させたりすることができる。つまり、物理的な計算機において、1つ以上の仮想計算機を動作させ、各々の仮想計算機の上で、例えばデータの加工を行うような計算処理を実施させることが可能である。仮想計算機においては、仮想計算機内の状態すべてを一つ又は複数のファイルにより保存することができる。このファイル群をここでは状態データと呼ぶ。同じ内容の状態データを用いて仮想計算機を動作させることにより、同じ状態から仮想計算機の動作を始めたりすること、また、状態データを削除することにより、仮想計算機内に含まれていたすべての情報を削除したりすること等ができる。仮想計算機制御モジュール108は、仮想計算機モジュール110の初期化から削除までの間に、仮想計算機モジュール110に対しては、処理対象データと処理プログラムの入力、仮想計算機公開鍵と処理結果データの出力を除いて、入出力が無いように制御する。又は、仮想計算機モジュール110は、処理対象データと処理プログラムの入力、仮想計算機公開鍵と処理結果データの出力を除いて、入出力が無いように構成している。仮想計算機モジュール110は、仮想計算機制御モジュール108と接続されている。仮想計算機モジュール110内のモジュール構成例、処理内容については、次に詳述する。図2は、仮想計算機モジュール110内の構成例についての概念的なモジュール構成図である。仮想計算機モジュール110は、仮想計算機鍵対生成モジュール202、仮想計算機公開鍵出力モジュール204、暗号化処理対象データ取得モジュール206、処理対象データ復号モジュール208、処理プログラム取得モジュール210、処理プログラム実行モジュール212、処理結果データ暗号化モジュール214、暗号化処理結果データ出力モジュール216、処理依頼者公開鍵取得モジュール218を有している。各モジュールは、仮想計算機モジュール110内で実行されるプログラムとして実施される。なお、仮想計算機モジュール110は、仮想計算機制御モジュール108によって起動生成されるものであり、1つであってもよいし、複数あってもよい。複数ある場合は、各仮想計算機モジュール110は、独立して並列的に実施され、相互に干渉しない。もちろんのことながら、仮想計算機モジュール110が用いるデータの入力、仮想計算機モジュール110によるデータ出力、仮想計算機モジュール110で実施される処理プログラムの入力は、仮想計算機制御モジュール108のみが制御し、仮想計算機モジュール110内で用いたデータ等について、仮想計算機モジュール110の外部からアクセスすることはできない。なお、仮想計算機モジュール110が内部に保持するデータを外部から秘匿する技術は広く知られており、それらの技術を本実施の形態でも用いることが好ましい。例えば、仮想計算機モジュール110の状態を保持する状態データは仮想計算機モジュール110が保持する鍵後述する非対称鍵暗号の鍵であってもよいし、他の暗号化手法に用いられる鍵であってもよいにより暗号化する技術が知られている。仮想計算機鍵対生成モジュール202は、仮想計算機公開鍵出力モジュール204、処理対象データ復号モジュール208と接続されている。仮想計算機鍵対生成モジュール202は、計算機112の仮想計算機モジュール110内でのみ利用される仮想計算機秘密鍵とその仮想計算機秘密鍵に対応する仮想計算機公開鍵とを有する非対称鍵暗号の鍵対を生成する。仮想計算機公開鍵出力モジュール204は、仮想計算機鍵対生成モジュール202と接続されている。仮想計算機公開鍵出力モジュール204は、仮想計算機鍵対生成モジュール202によって生成された鍵対のうち仮想計算機公開鍵を出力する。仮想計算機鍵対生成モジュール202と仮想計算機公開鍵出力モジュール204の処理について説明する。仮想計算機鍵対生成モジュール202は、非対称鍵暗号に用いることができる鍵対、すなわち2つの対になった数値を生成する。2つの数値のうち一方は、公開鍵として仮想計算機公開鍵出力モジュール204により外部、すなわち本実施の形態では仮想計算機制御モジュール108へ出力する。もう一方の数値は秘密鍵として、仮想計算機モジュール110内の秘密鍵記憶モジュール図示せずに保持する。暗号化処理対象データ取得モジュール206は、処理対象データ復号モジュール208と接続されている。暗号化処理対象データ取得モジュール206は、仮想計算機公開鍵で暗号化された処理対象データを外部から取得する。処理対象データ復号モジュール208は、仮想計算機鍵対生成モジュール202、暗号化処理対象データ取得モジュール206、処理プログラム実行モジュール212と接続されている。処理対象データ復号モジュール208は、暗号化処理対象データ取得モジュール206で取得された仮想計算機公開鍵で暗号化された処理対象データを仮想計算機秘密鍵で復号する。暗号化処理対象データ取得モジュール206と処理対象データ復号モジュール208の処理について説明する。暗号化処理対象データ取得モジュール206は、仮想計算機モジュール110の外部、すなわち仮想計算機制御モジュール108から処理対象データを取得する。取得した暗号化処理対象データは、前述の仮想計算機公開鍵で暗号化されており、処理対象データ復号モジュール208は仮想計算機モジュール110内の秘密鍵記憶モジュールに保持している仮想計算機秘密鍵により復号する。処理プログラム取得モジュール210は、処理プログラム実行モジュール212と接続されている。処理プログラム取得モジュール210は、処理プログラムを外部から取得する。処理プログラム実行モジュール212は、処理対象データ復号モジュール208、処理プログラム取得モジュール210、処理結果データ暗号化モジュール214と接続されている。処理プログラム実行モジュール212は、処理対象データ復号モジュール208によって復号された処理対象データを対象にして、処理プログラム取得モジュール210によって取得された処理プログラムを実行する。処理プログラム取得モジュール210と処理プログラム実行モジュール212の処理について説明する。処理プログラム取得モジュール210は、仮想計算機モジュール110の外部、すなわち仮想計算機制御モジュール108から処理プログラムを取得する。処理プログラム実行モジュール212は、前述の復号された処理対象データを対象に、処理プログラムを実行し、処理結果データを得る。処理依頼者公開鍵取得モジュール218は、処理結果データ暗号化モジュール214と接続されている。処理依頼者公開鍵取得モジュール218は、処理依頼者公開鍵を外部から取得する。処理結果データ暗号化モジュール214は、処理プログラム実行モジュール212、暗号化処理結果データ出力モジュール216、処理依頼者公開鍵取得モジュール218と接続されている。処理結果データ暗号化モジュール214は、処理プログラム実行モジュール212による処理プログラムの処理結果として生成された処理結果データを、処理依頼者公開鍵取得モジュール218によって取得された依頼者公開鍵で暗号化する。暗号化処理結果データ出力モジュール216は、処理結果データ暗号化モジュール214と接続されている。暗号化処理結果データ出力モジュール216は、処理結果データ暗号化モジュール214によって暗号化された処理結果データを外部へ出力する。処理依頼者公開鍵取得モジュール218と処理結果データ暗号化モジュール214と暗号化処理結果データ出力モジュール216の処理について説明する。処理依頼者公開鍵取得モジュール218は、仮想計算機モジュール110の外部、すなわち仮想計算機制御モジュール108から処理依頼者公開鍵を取得する。処理結果データ暗号化モジュール214は、処理依頼者公開鍵により処理結果データを暗号化する。暗号化処理結果データ出力モジュール216は、暗号化された処理結果データを仮想計算機モジュール110の外部、すなわち仮想計算機制御モジュール108へ出力する。図3は、本実施の形態による処理例を示すフローチャートである。処理代行の処理を行う計算機112が一回の処理依頼に対する動作を行う手順例を説明する。なお、この処理代行は、サービスの形態で実現され、一つの処理依頼が行われるまでは待機しており、処理依頼に応じて、図3に例示する処理を実施する。処理依頼は複数回、サービスに対して行われることが可能であり、各々の処理依頼に対して同じ処理を繰り返す。また、異なる処理依頼に対する動作を並行して行うようにしてもよい。なお、この処理例では、予め一つ以上の処理プログラムを、処理プログラム取得モジュール106により処理提供者の計算機170から受信し、処理代行を実施する計算機112内の記憶モジュール図示せずに、処理種別と対応付けて保存してあるものとする。待機状態として、計算機112は既に処理プログラムを取得しており、未だ処理要求は受信していないとする。ステップS302では、処理対象データ取得モジュール102が、処理依頼者の計算機160から処理要求を受信する。ステップS304では、受信が完了したら、仮想計算機制御モジュール108が、仮想計算機モジュール110を起動する。つまり、仮想計算機モジュール110を生成する。したがって、仮想計算機モジュール110は初期状態仮想計算機モジュール110内には、処理プログラム、処理対象データがない状態である。ステップS306では、仮想計算機制御モジュール108が、仮想計算機モジュール110から仮想計算機公開鍵を取得する。前述のように、仮想計算機鍵対生成モジュール202が生成し、仮想計算機公開鍵出力モジュール204が出力した仮想計算機公開鍵である。ステップS308では、処理対象データ取得モジュール102が、処理依頼者の計算機160へ仮想計算機公開鍵を送信する。ステップS310では、処理対象データ取得モジュール102が、処理依頼者の計算機160から処理種別を受信する。処理種別とは、処理対象データに対して行う処理を示すインデックスであり、この処理種別に対応して処理プログラムが決定される。ステップS312では、処理対象データ取得モジュール102が、処理依頼者の計算機160から処理対象データを受信する。ステップS314では、処理対象データ取得モジュール102が、処理依頼者の計算機160から処理依頼者公開鍵を受信する。ステップS310からステップS314までの処理は、この順番に限らず、いずれの処理を先に行ってもよい。ステップS316では、仮想計算機制御モジュール108が、仮想計算機モジュール110へ処理種別に対応する処理プログラムを渡す。ステップS318では、仮想計算機制御モジュール108が、仮想計算機モジュール110へ処理対象データを渡す。ステップS320では、仮想計算機制御モジュール108が、仮想計算機モジュール110へ処理依頼者公開鍵を渡す。ステップS316からステップS320までの処理は、この順番に限らず、いずれの処理を先に行ってもよい。その後、仮想計算機モジュール110内での処理完了を待ち、以下の処理を行う。ステップS322では、仮想計算機制御モジュール108が、仮想計算機モジュール110から処理結果データを取得する。ステップS324では、処理結果データ送信モジュール104が、処理依頼者の計算機160へ処理結果データを送信する。ステップS326では、仮想計算機制御モジュール108が、仮想計算機モジュール110を終了する。ステップS328では、仮想計算機制御モジュール108が、仮想計算機モジュール110の状態データを破棄具体的には削除する。ここでの状態データとは、仮想計算機モジュール110が今回の処理で必要としたデータであり、ステップS322で仮想計算機モジュール110から出力された処理結果データ以外のデータである。また、ステップS324で処理結果データを送信した場合は、その処理結果データを含めてもよい。したがって、処理対象データ取得モジュール102は、処理依頼者が用いている計算機160処理依頼者計算機から仮想計算機公開鍵で暗号化された処理対象データと依頼者公開鍵を取得する。処理プログラム取得モジュール106は、計算機170から処理プログラムを取得する。処理結果データ送信モジュール104は、仮想計算機モジュール110の仮想計算機公開鍵出力モジュール204により出力された仮想計算機公開鍵と、仮想計算機モジュール110の暗号化処理結果データ出力モジュール216により出力された依頼者公開鍵で暗号化された処理結果データを計算機160処理依頼者計算機に送信する。もちろんのことながら、仮想計算機制御モジュール108を介して仮想計算機モジュール110との入出力が行われる。図4は、本実施の形態による処理例を示すフローチャートである。仮想計算機モジュール110が一回の処理依頼に対する動作を行う手順例を説明する。仮想計算機制御モジュール108によって仮想計算機モジュール110が起動された後の処理例である。ステップS402では、仮想計算機鍵対生成モジュール202が、非対称鍵暗号に用いるための一対の鍵を生成する。ステップS404では、仮想計算機公開鍵出力モジュール204が、鍵のうち一方を仮想計算機公開鍵として仮想計算機制御モジュール108へ出力する。鍵のもう一方は仮想計算機秘密鍵として仮想計算機モジュール110内の秘密鍵記憶モジュールに保持する。ステップS406では、処理プログラム取得モジュール210が、仮想計算機制御モジュール108から処理プログラムを取得する。ステップS408では、暗号化処理対象データ取得モジュール206が、仮想計算機制御モジュール108から暗号化された処理対象データを取得する。ステップS410では、処理依頼者公開鍵取得モジュール218が、仮想計算機制御モジュール108から処理依頼者公開鍵を取得する。ステップS406からステップS410までの処理は、この順番に限らず、いずれの処理を先に行ってもよい。ステップS412では、処理対象データ復号モジュール208が、処理対象データを仮想計算機秘密鍵で復号する。ステップS414では、処理プログラム実行モジュール212が、復号された処理対象データを対象として処理プログラムを実行する。ステップS416では、処理結果データ暗号化モジュール214が、処理の結果として得られる処理結果データを、ステップS410で取得した処理依頼者公開鍵で暗号化する。ステップS418では、暗号化処理結果データ出力モジュール216が、暗号化された処理結果データを仮想計算機制御モジュール108へ出力する。図5は、処理依頼用の計算機160内の構成例についての概念的なモジュール構成図である。計算機160は、処理要求出力モジュール502、仮想計算機公開鍵取得モジュール504、処理対象データ暗号化モジュール506、処理種別出力モジュール508、暗号化処理対象データ出力モジュール510、処理依頼者鍵生成モジュール512、処理依頼者公開鍵出力モジュール514、暗号化処理結果データ取得モジュール516、処理結果データ復号モジュール518を有している。各モジュールは、計算機160の上で実行されるプログラムとして実施される。処理要求出力モジュール502は、計算機112に対して処理要求を出力する。処理種別出力モジュール508は、計算機112に対して処理種別を出力する。仮想計算機公開鍵取得モジュール504は、処理対象データ暗号化モジュール506と接続されている。仮想計算機公開鍵取得モジュール504は、計算機112から仮想計算機公開鍵を取得する。処理対象データ暗号化モジュール506は、仮想計算機公開鍵取得モジュール504、暗号化処理対象データ出力モジュール510と接続されている。処理対象データ暗号化モジュール506は、仮想計算機公開鍵取得モジュール504によって取得された仮想計算機公開鍵を用いて、処理対象データを暗号化する。暗号化処理対象データ出力モジュール510は、処理対象データ暗号化モジュール506と接続されている。暗号化処理対象データ出力モジュール510は、処理対象データ暗号化モジュール506で暗号化された処理対象データを計算機112へ出力する。処理依頼者鍵生成モジュール512は、処理依頼者公開鍵出力モジュール514、処理結果データ復号モジュール518と接続されている。処理依頼者鍵生成モジュール512は、処理依頼用の計算機160内でのみ利用される処理依頼者秘密鍵とその処理依頼者秘密鍵に対応する処理依頼者公開鍵とを有する非対称鍵暗号の鍵対を生成する。処理依頼者公開鍵出力モジュール514は、処理依頼者鍵生成モジュール512と接続されている。処理依頼者公開鍵出力モジュール514は、処理依頼者鍵生成モジュール512によって生成された鍵対のうち処理依頼者公開鍵を計算機112へ出力する。処理依頼者秘密鍵は、計算機160内の秘密鍵記憶モジュール図示せずに保持する。暗号化処理結果データ取得モジュール516は、処理結果データ復号モジュール518と接続されている。暗号化処理結果データ取得モジュール516は、計算機112から処理結果データを受信する。処理結果データ復号モジュール518は、処理依頼者鍵生成モジュール512、暗号化処理結果データ取得モジュール516と接続されている。処理結果データ復号モジュール518は、暗号化処理結果データ取得モジュール516によって取得された処理結果データを計算機160の秘密鍵記憶モジュール内の処理依頼者秘密鍵で復号する。図6は、本実施の形態による処理例を示すフローチャートである。これは、計算機160の処理例を示すものである。ステップS602では、処理要求出力モジュール502が、計算機112へ処理要求を出力する。ステップS604では、仮想計算機公開鍵取得モジュール504が、計算機112から仮想計算機公開鍵を取得する。ステップS606では、処理依頼者鍵生成モジュール512が、処理依頼者公開鍵と処理依頼者秘密鍵との鍵対を生成する。ステップS608では、処理対象データ暗号化モジュール506が、仮想計算機公開鍵で処理対象データを暗号化する。ステップS610では、処理種別出力モジュール508が、計算機112へ処理種別を出力する。ステップS612では、暗号化処理対象データ出力モジュール510が、計算機112へ暗号化された処理対象データを出力する。ステップS614では、処理依頼者公開鍵出力モジュール514が、計算機112へ依頼者公開鍵を出力する。ステップS610からステップS614までの処理は、この順番に限らず、いずれの処理を先に行ってもよい。ステップS616では、暗号化処理結果データ取得モジュール516が、計算機112から処理結果データを取得したか否かを判断し、取得した場合はステップS618へ進み、それ以外の場合処理結果データを取得するまでの待機状態はステップS616の処理を行う。ステップS618では、処理結果データ復号モジュール518が、処理結果データを依頼者秘密鍵で復号する。なお、図6に例示した処理を行うプログラムを予め作成しておき、計算機112が計算機160へ提供する構成としてもよい。図7は、本実施の形態による処理例を示すフローチャートである。仮想計算機モジュール110、仮想計算機制御モジュール108、計算機160の3者間の関係を用いた処理例を示す。ステップS702では、計算機160が、処理要求を計算機112に送信する。ステップS704では、仮想計算機制御モジュール108が、仮想計算機モジュール110を起動する。ステップS706では、仮想計算機モジュール110が、仮想計算機公開鍵と仮想計算機秘密鍵との鍵対を生成する。ステップS708では、仮想計算機モジュール110が、仮想計算機公開鍵を仮想計算機制御モジュール108に出力する。ステップS710では、仮想計算機制御モジュール108が、仮想計算機公開鍵を仮想計算機モジュール110から受信し、計算機160に送信する。ステップS712では、計算機160が、処理依頼者公開鍵と処理依頼者秘密鍵とを生成する。ステップS714では、計算機160が、処理種別、仮想計算機公開鍵で暗号化した暗号化処理対象データ、処理依頼者公開鍵を計算機112に送信する。ステップS716では、仮想計算機制御モジュール108が、処理種別、暗号化処理対象データ及び処理依頼者公開鍵を、処理対象データ取得モジュール102を介して計算機160から受信し、そのうち暗号化処理対象データ及び処理依頼者公開鍵を仮想計算機モジュール110に送信する。ステップS718では、仮想計算機モジュール110が、暗号化処理対象データ及び処理依頼者公開鍵を受信する。ステップS720では、仮想計算機モジュール110が、暗号化処理対象データを仮想計算機秘密鍵で復号する。ステップS722では、仮想計算機モジュール110が、仮想計算機制御モジュール108から処理プログラムを取得する。ステップS724では、仮想計算機モジュール110が、取得した処理プログラムを用いて復号した処理対象データを処理する。ステップS726では、仮想計算機モジュール110が、処理結果データを処理依頼者公開鍵で暗号化する。ステップS728では、仮想計算機モジュール110が、仮想計算機制御モジュール108に暗号化処理結果データを送信する。ステップS730では、仮想計算機制御モジュール108が、暗号化処理結果データを、処理結果データ送信モジュール104を介して計算機160に送信する。ステップS732では、仮想計算機制御モジュール108が、仮想計算機モジュール110を終了する。ステップS734では、計算機160が、受信した暗号化処理結果データを処理依頼者秘密鍵で復号する。ステップS736では、仮想計算機制御モジュール108が、仮想計算機モジュール110の状態データを破棄する。処理依頼者から送信される処理対象データは、仮想計算機公開鍵により暗号化されており、復号を可能とするための仮想計算機秘密鍵は仮想計算機モジュール110内に保持されるため、仮想計算機モジュール110の外部では復号することができない。また、処理結果データは仮想計算機モジュール110内で処理依頼者公開鍵により暗号化されるため、処理依頼者が保持する処理依頼者秘密鍵によってのみ復号可能である。仮想計算機モジュール110は、暗号化された処理対象データ、処理プログラム、処理依頼者公開鍵のみが入力され、仮想計算機公開鍵、暗号化された処理結果データのみが出力されるように構成されている。したがって、計算機170によって提供されている処理プログラムの機密性に関する動作が信頼できないような場合であっても、処理対象データに関する情報が秘匿されない状態で仮想計算機モジュール110の外部に出ることはない。また、仮想計算機モジュール110による処理の完了後に、仮想計算機モジュール110の内部状態を保持する状態データを、仮想計算機制御モジュール108が破棄するため、処理対象データに関する情報を利用されることはなくなる。なお、本実施の形態としてのプログラムが実行される計算機計算機112、計算機160、計算機170のハードウェア構成は、図8に例示するように、一般的な計算機であり、具体的にはパーソナルコンピュータ、サーバとなり得るコンピュータ等である。つまり、具体例として、処理部演算部としてCPU801を用い、記憶装置としてRAM802、ROM803、HD804を用いている。HD804として、例えばハードディスクを用いてもよい。処理対象データ取得モジュール102、処理結果データ送信モジュール104、処理プログラム取得モジュール106、仮想計算機制御モジュール108、仮想計算機モジュール110、仮想計算機鍵対生成モジュール202、仮想計算機公開鍵出力モジュール204、暗号化処理対象データ取得モジュール206、処理対象データ復号モジュール208、処理プログラム取得モジュール210、処理プログラム実行モジュール212、処理結果データ暗号化モジュール214、暗号化処理結果データ出力モジュール216、処理依頼者公開鍵取得モジュール218、処理要求出力モジュール502、仮想計算機公開鍵取得モジュール504、処理対象データ暗号化モジュール506、処理種別出力モジュール508、暗号化処理対象データ出力モジュール510、処理依頼者鍵生成モジュール512、処理依頼者公開鍵出力モジュール514、暗号化処理結果データ取得モジュール516、処理結果データ復号モジュール518等のプログラムを実行するCPU801と、そのプログラムやデータを記憶するRAM802と、本計算機を起動するためのプログラム等が格納されているROM803と、補助記憶装置であるHD804と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置806と、CRT、液晶ディスプレイ等の出力装置805と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース807、そして、それらをつないでデータのやり取りをするためのバス808により構成されている。これらの計算機が複数台互いにネットワークによって接続されていてもよい。前述の実施の形態のうち、コンピュータプログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータプログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。なお、図8に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図8に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア例えばASIC等で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図8に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置などに組み込まれていてもよい。なお、各モジュールの処理内容として背景技術として説明した技術を採用してもよい。なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、プログラムを記録した計算機読み取り可能な記録媒体の発明として捉えてもよい。プログラムを記録した計算機読み取り可能な記録媒体とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録された計算機で読み取り可能な記録媒体をいう。なお、記録媒体としては、例えば、デジタルバーサタイルディスクDVDであって、DVDフォーラムで策定された規格であるDVD-R、DVD-RW、DVD-RAM等、DVDRWで策定された規格であるDVDR、DVDRW等、コンパクトディスクCDであって、読出し専用メモリCD-ROM、CDレコーダブルCD-R、CDリライタブルCD-RW等、ブルーレイディスクBlu-rayDisc登録商標、光磁気ディスクMO、フレキシブルディスクFD、磁気テープ、ハードディスク、読出し専用メモリROM、電気的消去及び書換可能な読出し専用メモリEEPROM登録商標、フラッシュメモリ、ランダムアクセスメモリRAM等が含まれる。そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカルエリアネットワークLAN、メトロポリタンエリアネットワークMAN、ワイドエリアネットワークWAN、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。