認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証システムであって、前記認証アプリケーションは、第1の認証鍵、第2の認証鍵、および正規変換情報を記憶する鍵情報記憶手段と、記憶されている第2の認証鍵を前記アプリケーションに送信する第1の送信手段と、を備え、前記アプリケーションは、前記第1の認証鍵および前記第2の認証鍵から生成された前処理情報を記憶する前処理情報記憶手段と、受信した第2の認証鍵により、記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する認証手段と、前記記憶されている前処理情報から前記第1の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを一方向関数で変換し、変換情報を生成する変換情報生成手段と、生成された変換情報を、前記認証手段で取得された第1の認証鍵により暗号化し、暗号化された変換情報を、前記認証アプリケーションに送信する認証鍵暗号化手段と、を備え、前記認証アプリケーションは、さらに、受信した前記暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する認証鍵復号化手段と、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する改ざん判定手段と、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として前記鍵情報記憶手段に記憶する認証鍵生成手段と、生成された第1の認証鍵および第2の認証鍵から前記前処理情報を生成し、生成した前処理情報を前記アプリケーションに送信する前処理情報生成手段と、を備え、前記アプリケーションは、受信した前処理情報を前記前処理情報記憶手段に記憶することを特徴とするアプリケーション認証システム。前記記憶されている前処理情報は、前記前処理情報生成手段により、前記生成された第1の認証鍵および前記第2の認証鍵を、パスワードにより演算処理することにより生成され、前記認証手段は、前記受信した第2の認証鍵、およびユーザから受け付けた前記パスワードにより、前記記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定し、前記認証鍵暗号化手段は、前記取得された変換情報、および前記ユーザから受け付けたパスワードを組み合わせて、前記認証手段で取得された第1の認証鍵により暗号化し、前記認証鍵復号化手段は、受信した、パスワードが組み合わされた変換情報の暗号化を、前記記憶されている第1の認証鍵にて復号化し、前記変換情報と前記パスワードとを抽出することを特徴とする請求項1の記載のアプリケーション認証システム。前記鍵情報記憶手段は、さらに、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、前記認証アプリケーションは、前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段を備え、前記アプリケーションは、前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段と、受信した暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段と、を備え、前記第1の送信手段は、前記記憶されている第2の認証鍵を前記秘密鍵で暗号化して、前記アプリケーションに送信し、前記認証手段は、前記受信した暗号化された第2の認証鍵を、復号化された公開鍵で復号し、復号化された第2の認証鍵により、前記記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定することを特徴とする請求項1または2に記載のアプリケーション認証システム。前記認証アプリケーションは、乱数を生成する乱数生成手段を備え、前記共通鍵暗号化手段は、前記暗号化した公開鍵、および生成された乱数を前記アプリケーションに送信し、前記共通鍵復元手段は、受信した乱数の偶奇応じて、前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収し、前記共通鍵を復元することを特徴とする請求項3に記載のアプリケーション認証システム。前記アプリケーションが最初に起動された場合には、前記変換情報生成手段は、前記アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を前記認証アプリケーションに送信し、前記改ざん判定手段は、受信した変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定し、前記認証鍵生成手段は、前記受信した変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として前記鍵情報記憶手段に記憶することを特徴とする請求項1または2に記載のアプリケーション認証システム。前記鍵情報記憶手段は、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、前記認証アプリケーションは、前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段と、前記アプリケーションから受信した、前記公開鍵で暗号化された変換情報を、記憶されている秘密鍵にて復号化する公開鍵復号化手段と、を備え、前記アプリケーションは、前記アプリケーションに分散保存された複数個の共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段と、前記認証アプリケーションから受信した、暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段と、生成された変換情報を、復号化された公開鍵により暗号化し、前記認証アプリケーションに送信する公開鍵暗号化手段と、を備えることを特徴とする請求項5に記載のアプリケーション認証システム。前記一方向関数は、SHA-1ハッシュ関数であることを特徴とする請求項1から6のいずれかに記載のアプリケーション認証システム。前記演算処理は、前記第1の認証鍵および第2の認証鍵それぞれと、前記抽出されたパスワードとの排他的論理和演算処理であることを特徴とする請求項2に記載のアプリケーション認証システム。認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法であって、前記認証アプリケーションが、第1の認証鍵、第2の認証鍵、および正規変換情報を、前記アプリケーションが、前記第1の認証鍵および前記第2の認証鍵から生成された前処理情報を、予め記憶しており、前記認証アプリケーションが、記憶されている第2の認証鍵を前記アプリケーションに送信する第1のステップと、前記アプリケーションが、受信した第2の認証鍵により、記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第2のステップと、前記アプリケーションが、前記第2のステップで前記第1の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第3のステップと、前記アプリケーションが、生成された変換情報を、前記第2のステップで取得された第1の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第4のステップと、前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する第5のステップと、前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第6のステップと、前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として記憶する第7のステップと、前記認証アプリケーションが、生成された第1の認証鍵および第2の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第8のステップと、前記アプリケーションが、受信した前処理情報を記憶する第9のステップと、を有することを特徴とするアプリケーション認証方法。認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法をコンピュータに実行させるためのプログラムであって、前記認証アプリケーションが、第1の認証鍵、第2の認証鍵、および正規変換情報を、前記アプリケーションが、前記第1の認証鍵および前記第2の認証鍵から生成された前処理情報を、予め記憶しており、前記認証アプリケーションが、記憶されている第2の認証鍵を前記アプリケーションに送信する第1のステップと、前記アプリケーションが、受信した第2の認証鍵により、記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第2のステップと、前記アプリケーションが、前記第2のステップで前記第1の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第3のステップと、前記アプリケーションが、生成された変換情報を、前記第2のステップで取得された第1の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第4のステップと、前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する第5のステップと、前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第6のステップと、前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として記憶する第7のステップと、前記認証アプリケーションが、生成された第1の認証鍵および第2の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第8のステップと、前記アプリケーションが、受信した前処理情報を記憶する第9のステップと、をコンピュータに実行させるためのプログラム。しかしながら、オープン端末においては、オープン環境であるが故に、新たな脆弱性が多々発見され、その都度何らかの対策しながら利用しなければならないという問題点があった。また、このような問題点があるために、現状のセキュリティ対策は強固でなく、モバイルバンキング等の高セキュリティが要求される分野のアプリケーションを、オープン端末で利用するのは望ましくないという問題点があった。そこで、本発明は、上述の課題に鑑みてなされたものであり、本発明は、UIM等のユーザ識別モジュールカードを用いることにより、オープン端末のアプリケーションをセキュアに利用することを可能とするアプリケーション認証システム、アプリケーション認証方法およびプログラムを提供することを目的とする。本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。1本発明は、認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証システムであって、前記認証アプリケーションは、第1の認証鍵、第2の認証鍵、および正規変換情報を記憶する鍵情報記憶手段例えば、図2の鍵情報記憶部201と、記憶されている第2の認証鍵を前記アプリケーションに送信する第1の送信手段例えば、図2の認証鍵送信部202と、を備え、前記アプリケーションは、前記第1の認証鍵および前記第2の認証鍵から生成された前処理情報を記憶する前処理情報記憶手段例えば、図2の前処理情報記憶部101と、受信した第2の認証鍵により、記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する認証手段例えば、図2の認証部103と、前記記憶されている前処理情報から前記第1の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを一方向関数で変換し、変換情報を生成する変換情報生成手段例えば、図2の変換情報生成部104と、生成された変換情報を、前記認証手段で取得された第1の認証鍵により暗号化し、暗号化された変換情報を、前記認証アプリケーションに送信する認証鍵暗号化手段例えば、図2の認証鍵暗号化部105と、を備え、前記認証アプリケーションは、さらに、受信した前記暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する認証鍵復号化手段例えば、図2の認証鍵復号化部203と、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する改ざん判定手段例えば、図2の改ざん判定部204と、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として前記鍵情報記憶手段に記憶する認証鍵生成手段例えば、図2の認証鍵生成部205と、生成された第1の認証鍵および第2の認証鍵から前記前処理情報を生成し、生成した前処理情報を前記アプリケーションに送信する前処理情報生成手段例えば、図2の前処理情報生成部206と、を備え、前記アプリケーションは、受信した前処理情報を前記前処理情報記憶手段に記憶することを特徴とするアプリケーション認証システムを提案している。この発明によれば、鍵情報記憶手段は、第1の認証鍵、第2の認証鍵、および正規変換情報を記憶する。第1の送信手段は、鍵情報記憶手段に記憶されている第2の認証鍵をアプリケーションに送信する。前処理情報記憶手段は、第1の認証鍵および第2の認証鍵から生成された前処理情報を記憶する。認証手段は、受信した第2の認証鍵により、記憶されている前処理情報から第1の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。変換情報生成手段は、記憶されている前処理情報から第1の認証鍵が取得できたことにより認証可と判定する場合に、アプリケーションを一方向関数で変換し、変換情報を生成する。認証鍵暗号化手段は、生成された変換情報を、認証手段で取得された第1の認証鍵により暗号化し、暗号化された変換情報を、認証アプリケーションに送信する。認証鍵復号化手段は、受信した暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する。改ざん判定手段は、復号化された変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。認証鍵生成手段は、復号化された変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを第1の認証鍵と第2の認証鍵として鍵情報記憶手段に記憶する。前処理情報生成手段は、生成された第1の認証鍵および第2の認証鍵から前処理情報を生成し、生成した前処理情報をアプリケーションに送信する。アプリケーションは、受信した前処理情報を前処理情報記憶手段に記憶する。したがって、オープン端末のアプリケーションに予め記憶されている前処理情報を用いて、ユーザ識別モジュールカードを認証した上で、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果正規変換情報とアプリケーションを一方向関数で変換した結果変換情報と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証することにより、ユーザ識別モジュールカードを用いて、オープン端末のアプリケーションをセキュアに利用することが可能となる。2本発明は、1のアプリケーション認証システムにおいて、前記記憶されている前処理情報は、前記前処理情報生成手段により、前記生成された第1の認証鍵および前記第2の認証鍵を、パスワードにより演算処理することにより生成され、前記認証手段は、前記受信した第2の認証鍵、およびユーザから受け付けた前記パスワードにより、前記記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定し、前記認証鍵暗号化手段は、前記取得された変換情報、および前記ユーザから受け付けたパスワードを組み合わせて、前記認証手段で取得された第1の認証鍵により暗号化し、前記認証鍵復号化手段は、受信した、パスワードが組み合わされた変換情報の暗号化を、前記記憶されている第1の認証鍵にて復号化し、前記変換情報と前記パスワードとを抽出することを特徴とするアプリケーション認証システムを提案している。この発明によれば、記憶されている前処理情報は、前処理情報生成手段により、生成された第1の認証鍵および第2の認証鍵を、パスワードにより演算処理することにより生成される。認証手段は、受信した第2の認証鍵、およびユーザから受け付けたパスワードにより、記憶されている前処理情報から第1の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定し、認証鍵暗号化手段は、取得された変換情報、およびユーザから受け付けたパスワードを組み合わせて、認証手段で取得された第1の認証鍵により暗号化し、認証鍵復号化手段は、受信した、パスワードが組み合わされた変換情報の暗号化を、記憶されている第1の認証鍵にて復号化し、変換情報とパスワードとを抽出する。したがって、ユーザから受け付けたパスワードを前処理情報の生成に用いることにより、前処理のユーザと現処理のユーザとが一致するか否か照合し、異なるユーザの使用を防ぐことができるので、オープン端末のアプリケーションをセキュアに利用することが可能となる。3本発明は、1または2のアプリケーション認証システムにおいて、前記鍵情報記憶手段は、さらに、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、前記認証アプリケーションは、前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段例えば、図6の共通鍵暗号化部227を備え、前記アプリケーションは、前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段例えば、図6の共通鍵復元部126と、受信した暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段例えば、図6の共通鍵復号化部127と、を備え、前記第1の送信手段は、前記記憶されている第2の認証鍵を前記秘密鍵で暗号化して、前記アプリケーションに送信し、前記認証手段は、前記受信した暗号化された第2の認証鍵を、復号化された公開鍵で復号し、復号化された第2の認証鍵により、前記記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定することを特徴とするアプリケーション認証システムを提案している。この発明によれば、鍵情報記憶手段は、さらに、秘密鍵、秘密鍵に対応する公開鍵、および共通鍵を記憶する。共通鍵暗号化手段は、公開鍵を共通鍵で暗号化し、暗号化した公開鍵を送信する。共通鍵復元手段は、アプリケーションに分散保存された複数個の共通鍵の断片を回収して、共通鍵を復元する。第1の送信手段は、記憶されている第2の認証鍵を秘密鍵で暗号化して、アプリケーションに送信する。認証手段は、受信した暗号化された第2の認証鍵を、復号化された公開鍵で復号し、復号化された第2の認証鍵により、記憶されている前処理情報から第1の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。したがって、ユーザ識別モジュールカードとオープン端末との間での第2の認証鍵を送受信するために共通鍵暗号方式および公開鍵暗号方式を用いることにより、また、共通鍵をアプリケーションに分散保存することにより、オープン端末のアプリケーションをよりセキュアに利用することが可能となる。4本発明は、3のアプリケーション認証システムにおいて、前記認証アプリケーションは、乱数を生成する乱数生成手段を備え、前記共通鍵暗号化手段は、前記暗号化した公開鍵、および生成された乱数を前記アプリケーションに送信し、前記共通鍵復元手段は、受信した乱数の偶奇応じて、前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収し、前記共通鍵を復元することを特徴とするアプリケーション認証システムを提案している。この発明によれば、乱数生成手段は、乱数を生成する。共通鍵暗号化手段は、暗号化した公開鍵、および生成された乱数をアプリケーションに送信する。共通鍵復元手段は、受信した乱数の偶奇応じて、アプリケーションに分散保存された複数個の共通鍵の断片を回収し、共通鍵を復元する。したがって、認証アプリケーションで生成された乱数を用いて共通鍵を復元することにより、オープン端末のアプリケーションをよりセキュアに利用することが可能となる。5本発明は、1または2のアプリケーション認証システムにおいて、前記アプリケーションが最初に起動された場合には、前記変換情報生成手段は、前記アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を前記認証アプリケーションに送信し、前記改ざん判定手段は、受信した変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定し、前記認証鍵生成手段は、前記受信した変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として前記鍵情報記憶手段に記憶することを特徴とするアプリケーション認証システムを提案している。この発明によれば、変換情報生成手段は、アプリケーションが最初に起動された場合、アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を認証アプリケーションに送信する。改ざん判定手段は、アプリケーションが最初に起動された場合、受信した変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。認証鍵生成手段は、アプリケーションが最初に起動された場合、受信した変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを第1の認証鍵と第2の認証鍵として鍵情報記憶手段に記憶する。したがって、アプリケーションが最初に起動された場合、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果正規変換情報とアプリケーションを一方向関数で変換した結果変換情報と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証し、アプリケーションが次回起動された場合に、オープン端末のアプリケーションでユーザ識別モジュールカードを認証するための認証鍵を生成することにより、ユーザ識別モジュールカードを用いて、次回以降もオープン端末のアプリケーションをセキュアに利用することが可能となる。6本発明は、5のアプリケーション認証システムにおいて、前記鍵情報記憶手段は、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、前記認証アプリケーションは、前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段例えば、図6の共通鍵暗号化部227と、前記アプリケーションから受信した、前記公開鍵で暗号化された変換情報を、記憶されている秘密鍵にて復号化する公開鍵復号化手段例えば、図6の公開鍵復号化部228と、を備え、前記アプリケーションは、前記アプリケーションに分散保存された複数個の共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段例えば、図6の共通鍵復元部126と、前記認証アプリケーションから受信した、暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段例えば、図6の共通鍵復号化部127と、生成された変換情報を、復号化された公開鍵により暗号化し、前記認証アプリケーションに送信する公開鍵暗号化手段例えば、図6の公開鍵暗号化部128と、を備えることを特徴とするアプリケーション認証システムを提案している。この発明によれば、鍵情報記憶手段は、秘密鍵、秘密鍵に対応する公開鍵、および共通鍵を記憶する。共通鍵暗号化手段は、公開鍵を共通鍵で暗号化し、暗号化した公開鍵を送信する。公開鍵復号化手段は、アプリケーションから受信した、公開鍵で暗号化された変換情報を、記憶されている秘密鍵にて復号化する。共通鍵復元手段は、アプリケーションに分散保存された複数個の共通鍵の断片を回収して、共通鍵を復元する。共通鍵復号化手段は、認証アプリケーションから受信した、暗号化された公開鍵を、復元された共通鍵で復号化する。公開鍵暗号化手段は、生成された変換情報を、復号化された公開鍵により暗号化し、認証アプリケーションに送信する。したがって、ユーザ識別モジュールカードとオープン端末との間での変換情報の送受信するために共通鍵暗号方式および公開鍵暗号方式を用いることにより、また、共通鍵をアプリケーションに分散保存することにより、初回起動であっても、オープン端末のアプリケーションをセキュアに利用することが可能となる。7本発明は、1から6のアプリケーション認証システムにおいて、前記一方向関数は、SHA-1ハッシュ関数であることを特徴とするアプリケーション認証システムを提案している。この発明によれば、一方向関数は、SHA-1ハッシュ関数である。したがって、高速な演算処理を実現することができる。8本発明は、2のアプリケーション認証システムにおいて、前記演算処理は、前記第1の認証鍵および第2の認証鍵それぞれと、前記抽出されたパスワードとの排他的論理和演算処理であることを特徴とするアプリケーション認証システムを提案している。この発明によれば、演算処理は、第1の認証鍵および第2の認証鍵それぞれと、抽出されたパスワードとの排他的論理和演算処理である。したがって、第1の認証鍵および第2の認証鍵それぞれと、パスワードとに論理和演算処理を行うことにより、簡単な暗号化方法である論理和演算処理を使用し、解読が困難な結果を生成することができる。9本発明は、認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法であって、前記認証アプリケーションが、第1の認証鍵、第2の認証鍵、および正規変換情報を、前記アプリケーションが、前記第1の認証鍵および前記第2の認証鍵から生成された前処理情報を、予め記憶しており、前記認証アプリケーションが、記憶されている第2の認証鍵を前記アプリケーションに送信する第1のステップ例えば、図3のステップS1と、前記アプリケーションが、受信した第2の認証鍵により、記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第2のステップ例えば、図3のステップS2、S3と、前記アプリケーションが、前記第2のステップで前記第1の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第3のステップ例えば、図3のステップS4と、前記アプリケーションが、生成された変換情報を、前記第2のステップで取得された第1の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第4のステップ例えば、図3のステップS5と、前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する第5のステップ例えば、図3のステップS6と、前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第6のステップ例えば、図3のステップS7、S8と、前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として記憶する第7のステップ例えば、図3のステップS9と、前記認証アプリケーションが、生成された第1の認証鍵および第2の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第8のステップ例えば、図3のステップS10と、前記アプリケーションが、受信した前処理情報を記憶する第9のステップ例えば、図3のステップS11と、を有することを特徴とするアプリケーション認証方法を提案している。この発明によれば、認証アプリケーションが、第1の認証鍵、第2の認証鍵、および正規変換情報を、アプリケーションが、第1の認証鍵および第2の認証鍵から生成された前処理情報を、予め記憶している。まず、第1のステップにおいて、認証アプリケーションは、記憶されている第2の認証鍵をアプリケーションに送信する。次に、第2のステップにおいて、アプリケーションは、受信した第2の認証鍵により、記憶されている前処理情報から第1の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。次に、第3のステップにおいて、アプリケーションは、第2のステップで第1の認証鍵が取得できたことにより認証可と判定する場合に、アプリケーションを不可逆関数で変換し、変換情報を生成する。次に、第4のステップにおいて、アプリケーションは、生成された変換情報を、第2のステップで取得された第1の認証鍵により暗号化し、暗号化された変換情報を認証アプリケーションに送信する。次に、第5のステップにおいて、認証アプリケーションは、受信した暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する。次に、第6のステップにおいて、認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。次に、第7のステップにおいて、認証アプリケーションは、復号化された変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを第1の認証鍵と第2の認証鍵として記憶する。次に、第8のステップにおいて、認証アプリケーションは、生成された第1の認証鍵および第2の認証鍵から前処理情報を生成し、生成された前処理情報をアプリケーションに送信する。次に、第9のステップにおいて、アプリケーションは、受信した前処理情報を記憶する。したがって、オープン端末のアプリケーションに予め記憶されている前処理情報を用いて、ユーザ識別モジュールカードを認証した上で、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果正規変換情報とアプリケーションを一方向関数で変換した結果変換情報と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証することにより、ユーザ識別モジュールカードを用いて、オープン端末のアプリケーションをセキュアに利用することが可能となる。10本発明は、認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法をコンピュータに実行させるためのプログラムであって、前記認証アプリケーションが、第1の認証鍵、第2の認証鍵、および正規変換情報を、前記アプリケーションが、前記第1の認証鍵および前記第2の認証鍵から生成された前処理情報を、予め記憶しており、前記認証アプリケーションが、記憶されている第2の認証鍵を前記アプリケーションに送信する第1のステップ例えば、図3のステップS1と、前記アプリケーションが、受信した第2の認証鍵により、記憶されている前処理情報から前記第1の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第2のステップ例えば、図3のステップS2、S3と、前記アプリケーションが、前記第2のステップで前記第1の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第3のステップ例えば、図3のステップS4と、前記アプリケーションが、生成された変換情報を、前記第2のステップで取得された第1の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第4のステップ例えば、図3のステップS5と、前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する第5のステップ例えば、図3のステップS6と、前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第6のステップ例えば、図3のステップS7、S8と、前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを前記第1の認証鍵と前記第2の認証鍵として記憶する第7のステップ例えば、図3のステップS9と、前記認証アプリケーションが、生成された第1の認証鍵および第2の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第8のステップ例えば、図3のステップS10と、前記アプリケーションが、受信した前処理情報を記憶する第9のステップ例えば、図3のステップS11と、をコンピュータに実行させるためのプログラムを提案している。この発明によれば、認証アプリケーションが、第1の認証鍵、第2の認証鍵、および正規変換情報を、アプリケーションが、第1の認証鍵および第2の認証鍵から生成された前処理情報を、予め記憶している。まず、第1のステップにおいて、認証アプリケーションは、記憶されている第2の認証鍵をアプリケーションに送信する。次に、第2のステップにおいて、アプリケーションは、受信した第2の認証鍵により、記憶されている前処理情報から第1の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。次に、第3のステップにおいて、アプリケーションは、第2のステップで第1の認証鍵が取得できたことにより認証可と判定する場合に、アプリケーションを不可逆関数で変換し、変換情報を生成する。次に、第4のステップにおいて、アプリケーションは、生成された変換情報を、第2のステップで取得された第1の認証鍵により暗号化し、暗号化された変換情報を認証アプリケーションに送信する。次に、第5のステップにおいて、認証アプリケーションは、受信した暗号化された変換情報を、記憶されている第1の認証鍵にて復号化する。次に、第6のステップにおいて、認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。次に、第7のステップにおいて、認証アプリケーションは、復号化された変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を2つ生成し、生成された2つの乱数それぞれを第1の認証鍵と第2の認証鍵として記憶する。次に、第8のステップにおいて、認証アプリケーションは、生成された第1の認証鍵および第2の認証鍵から前処理情報を生成し、生成された前処理情報をアプリケーションに送信する。次に、第9のステップにおいて、アプリケーションは、受信した前処理情報を記憶する。したがって、オープン端末のアプリケーションに予め記憶されている前処理情報を用いて、ユーザ識別モジュールカードを認証した上で、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果正規変換情報とアプリケーションを一方向関数で変換した結果変換情報と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証することにより、ユーザ識別モジュールカードを用いて、オープン端末のアプリケーションをセキュアに利用することが可能となる。本発明によれば、UIM等のユーザ識別モジュールカードを用いることにより、オープン環境にある端末のアプリケーションをセキュアに利用することが可能となる。以下、図面を用いて、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含むさまざまなバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。<第1の実施形態><アプリケーション認証システムのシステム構成>図1は、本発明の第1の実施形態にかかるアプリケーション認証システム1を用いたモバイルバンキングシステムのシステム構成図である。オープン端末は、オープンなプラットフォーム、例えば、Andoroid登録商標が搭載された端末であって、ネットワークを介してサーバと接続される。モバイルバンキングシステムを想定した場合、オープン端末は、例えば、携帯電話機10であり、サーバは銀行サーバ30である。携帯電話機10は、本実施形態において、モバイルバンキングシステムのアプリケーション以下、アプリという100を有しており、このアプリ100と銀行サーバ30とがデータの送受信をおこなうことによって、各種取引が実行される。なお、アプリは、銀行サーバ30または、各種アプリケーションを提供するアプリケーションサーバ図示せずからダウンロードされる。また、携帯電話機10には、ユーザ識別モジュールカードが挿入される。ユーザ識別モジュールカードは、例えば、UIMUserIdentityModuleカード20である。UIMカードは、携帯電話通信事業者が発行する、契約者情報例えば固有識別子を記録したICカードであって、携帯電話機に差し込んで利用される。UIMカードは、契約者情報以外に、アドレス帳のようなプライベート情報や、クレジット決済用の個人識別情報も、暗号化して登録することができる。また、UIMカードは、異なる携帯電話機に挿脱可能である。ユーザ識別モジュールカードは、UIMカードに限られず、SIMSubscriberIdentityModuleCardカードであってもよいし、USIMUniversalSIMカードまたはR-UIMRemovableUIMと称されるものであってもよい。UIMカード20は、本実施形態において、アプリ100の認証を行うための認証アプリケーション以下、単に認証アプリという200を有する。<アプリケーション認証システムの機能構成>図2は、本発明の第1の実施形態にかかる携帯電話機10が有するアプリ100およびUIMカード20が有する認証アプリ200の機能構成を示す図である。なお、アプリ100が有するモバイルバンキングシステムを利用するための機能構成については省略し、アプリケーション認証システムに用いられる機能構成のみを示す。図2に示すように、アプリ100と認証アプリ200とは、携帯電話機10の通信部11およびUIMカード20の通信部21とを介して、データの送受信を行う。アプリ100は、前処理情報記憶部101、起動制御部102、認証部103、変換情報生成部104、および認証鍵暗号化部105から構成される。一方。認証アプリ200は、鍵情報記憶部201、認証鍵送信部202、認証鍵復号化部203、改ざん判定部204、認証鍵生成部205、および前処理情報生成部206から構成される。図3は、本発明の第1の実施形態にかかるアプリケーション認証システム1における認証処理のシーケンスを示す図である。アプリ100および認証アプリ200の各部について、図3の認証処理のシーケンスを用いて説明する。まず、認証処理が開始する際に、鍵情報記憶部201および前処理情報記憶部101が記憶している情報について説明する。鍵情報記憶部201は、第1の認証鍵、第2の認証鍵、および正規変換情報を予め記憶している。ここで、正規変換情報は、銀行サーバ30またはアプリケーションサーバが保持する正規のアプリ100を一方向関数で変換した結果であって、携帯電話機10が有するアプリ100が改ざんされていないかをチェックするために用いられる。なお、正規変換情報は、認証アプリ200に最初から格納されている。第1の認証鍵および第2の認証鍵については後述する。前処理情報記憶部101は、前回の認証処理において生成された前処理情報を予め記憶している。前処理情報は、第1の認証鍵と第2の認証鍵を含み、詳細については後述する。最初に、ステップS0において、起動制御部102は、携帯電話機10のユーザによりアプリ100が起動されたことによって、アプリ100が認証鍵要求を認証アプリ200に送信する。これにより、認証処理が開始する。次に、ステップS1において、認証鍵送信部202は、アプリ100から認証鍵要求を受信すると、鍵情報記憶部201から第2の認証鍵を取得し、アプリ100に送信する。次に、ステップS2において、認証部103は、認証アプリ200から第2の認証鍵を受信すると、前処理情報記憶部101から前処理情報を取得し、受信した第2の認証鍵で、取得した前処理情報から第1の認証鍵が取得できるか否かを判定する。次に、ステップS3において、認証部103ステップS2で第1の認証鍵が取得できた場合YESに、認証部103は、UIMカード20を認証し、ステップS4に処理を進める。一方、認証部103ステップS2で第1の認証鍵が取得できなかった場合NOには、認証部103は、UIMカード20が認証せず、処理を終了する。次に、ステップS4において、変換情報生成部104は、アプリ100を一方向関数で変換し、変換情報を生成する。ここで、一方向関数として、例えば、SHA-1ハッシュ関数を用いる。変換情報生成部104でSHA-1ハッシュ関数を用いて、変換情報を生成する場合には、上述した正規変換情報も当然SHA-1ハッシュ関数を用いて生成される。次に、ステップS5において、認証鍵暗号化部105は、変換情報生成部104ステップS3で生成された変換情報を、認証部103ステップS2で取得された第1の認証鍵により暗号化し、暗号化した変換情報を、認証アプリ200に送信する。次に、ステップS6において、認証鍵復号化部203は、アプリ100から暗号化された変換情報を受信すると、鍵情報記憶部201から第1の認証鍵を取得し、取得した認証鍵で、受信した暗号化された変換情報を復号化する。次に、ステップS7において、改ざん判定部204は、認証鍵復号化部203ステップS6で復号化された変換情報、および鍵情報記憶部201に記憶されている正規変換情報を比較し、アプリ100が改ざんされているか否かを判定する。次に、ステップS8において、復号化された変換情報と、正規変換情報とが一致する場合にYES、改ざん判定部204は、アプリ100が改ざんされていないと判定し、アプリ100のモバイルバンキングシステムに関する機能を使用可能にし、また、ステップS9へ処理を進める。一方、復号化された変換情報と、正規変換情報とが一致しない場合にNO、改ざん判定部204は、アプリ100が改ざんされていると判定し、ステップS12に処理を進める。次に、ステップS9において、認証鍵生成部205は、乱数を2つ生成し、生成された乱数それぞれを第1の認証鍵および第2の認証鍵として、鍵情報記憶部201に記憶する。具体的には、認証鍵生成部205は、鍵情報記憶部201に記憶されている第1の認証鍵および第2の認証鍵を、新たに生成した第1の認証鍵および第2の認証鍵で置き換える。なお、第1の認証鍵および第2の認証鍵は、AES暗号化方式の鍵であって、鍵長は128ビットである。次に、ステップS10において、前処理情報生成部206は、認証鍵生成部205ステップS9で生成された第1の認証鍵および第2の認証鍵を含む前処理情報を生成し、生成した前処置情報をアプリ100に送信する。次にステップS11において、前処理情報記憶部101は、認証アプリ200から前処理情報を受信すると、受信した前処理情報を記憶する。ここで、前処理情報記憶部101に記憶された前処理情報は、次回、アプリ100が起動された場合に認証に用いられる。次に、ステップS12において、改ざん判定部204は、復号化された変換情報と、正規変換情報とが一致しない旨のエラー情報をアプリ100に送信し、処理を終了する。エラー情報を受信したアプリ100は、携帯電話機10のUI部12に受信したエラー情報を表示する。以上、アプリ100の前処理情報記憶部101に前処理情報が記憶されている場合、すなわち、アプリ100の起動が2回目以降の起動である場合について説明した。次に、図4を用いて、アプリ100の起動が初回である場合、すなわち、アプリ100の前処理情報記憶部101に前処理情報が記憶されていない場合について説明する。図4は、本発明の第1の実施形態にかかるアプリケーション認証システム1における初回認証処理のシーケンスを示す図である。なお図3と同一の符号を付すステップについては、同一機能部により同一処理であることから、その詳細な説明は省略する。まず、ステップS21において、起動制御部102は、携帯電話機10のユーザによりアプリ100が起動されると、初回起動であるか否かを判定する。初回起動であると判定した場合には、ステップS22の処理に進む。一方、2回目以降の起動であると判定した場合には、上述した図3のステップS0に処理を進める。次に、ステップS22において、変換情報生成部104は、アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を認証アプリケーションに送信する。次に、ステップS23において、改ざん判定部204は、アプリ100から受信した変換情報、および鍵情報記憶部201に記憶されている正規変換情報を比較し、アプリ100が改ざんされているか否かを判定する。次に、ステップS24において、改ざん判定部204は、受信した変換情報と、正規変換情報とが一致する場合にYES、改ざん判定部204は、アプリ100が改ざんされていないと判定し、ステップS9へ処理を進める。一方、復号化された変換情報と、正規変換情報とが一致しない場合にNO、改ざん判定部204は、アプリ100が改ざんされていると判定し、ステップS12に処理を進める。以上説明したように、本実施形態によれば、UIMカード20を用いることにより、オープン端末の1つである携帯電話機10が有するアプリケーションをセキュアに利用することが可能となる。<第2の実施形態>図5を用いて、本発明の第2の実施形態について説明する。なお、本実施形態におけるアプリケーション認証システム2は、携帯電話機10のアプリ110にユーザ認証のため入力されたパスワードを利用するものである。なお、本実施形態に係るアプリケーション認証システムのシステム構成は、第1の実施形態と同様であるので、省略する。<アプリケーション認証システムの機能構成>図5は、本発明の第2の実施形態に係る携帯電話機10が有するアプリ110およびUIMカード20が有する認証アプリ210の機能構成を示す図である。図5に示すように、アプリ110と認証アプリ210とは、携帯電話機10の通信部11およびUIMカード20の通信部21とを介して、データの送受信を行う。アプリ110は、前処理情報記憶部101、起動制御部112、認証部113、変換情報生成部104、および認証鍵暗号化部115から構成される。一方。認証アプリ210は、鍵情報記憶部201、認証鍵送信部202、認証鍵復号化部213、改ざん判定部204、認証鍵生成部205、および前処理情報生成部216から構成される。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。起動制御部112は、アプリ110が起動された際に、UI部12を介してユーザにパスワードの入力を要求する。そして、起動制御部112は、UI部12を介してユーザにより入力されたパスワードを受け付ける。前処理情報生成部216は、認証鍵生成部205で生成された第1の認証鍵および第2の認証鍵を、後述する認証鍵復号化部213で取得されたパスワードにより演算処理することにより前処理情報を生成し、生成した前処理情報をアプリ110に送信する。具体的には、前処理情報生成部216は、第1の認証鍵および第2の認証鍵それぞれとパスワードとの排他的論理和演算処理を行うことにより、前処理情報を生成する。認証部113は、認証アプリ210から第2の認証鍵を受信すると、前処理情報記憶部101から前処理情報を取得し、受信した第2の認証鍵および起動制御部112で受け付けたパスワードにより、取得した前処理情報から第1の認証鍵が取得できるか否かを判定する。第1の認証鍵が取得できた場合には、認証部113は、UIMカード20を認証する。一方、第1の認証鍵が取得できなかった場合には、認証部113は、UIMカード20が認証しない。認証鍵暗号化部115は、変換情報生成部104で生成された変換情報、および起動制御部112で受け付けたパスワードを組み合わせて、認証部113で取得された第1の認証鍵により暗号化し、暗号化したパスワードが組み合わされた変換情報を認証アプリ210に送信する。なお、認証鍵暗号化部115は、例えば、パスワードおよび変換情報を連結することにより、変換情報およびパスワードを組み合わせる。認証鍵復号化部213は、アプリ110から暗号化されたパスワードが組み合わされた変換情報を受信すると、鍵情報記憶部201から第1の認証鍵を取得し、取得した認証鍵で復号化し、変換情報およびパスワードを抽出する。以上説明したように、本実施形態によれば、ユーザから受け付けたパスワードを前処理情報の生成に用いることにより、前処理のユーザと現処理のユーザとが一致するか否か照合し、異なるユーザの使用を防ぐことができるので、オープン端末のアプリケーションをセキュアに利用することが可能となる。<第3の実施形態>図6を用いて、本発明の第3の実施形態について説明する。なお、本実施形態におけるアプリケーション認証システム3は、公開鍵暗号および共通鍵暗号を用いるものである。なお、本実施形態に係るアプリケーション認証システムのシステム構成は、第1の実施形態と同様であるので、省略する。<アプリケーション認証システムの機能構成>図6は、本発明の第3の実施形態に係る携帯電話機10が有するアプリ120およびUIMカード20が有する認証アプリ220の機能構成を示す図である。図6に示すように、アプリ120と認証アプリ220とは、携帯電話機10の通信部11およびUIMカードの通信部21とを介して、データの送受信を行う。なお、図6において、通信部11および通信部21を図示していないが、図2と同様に携帯電話機10およびUIMカード20それぞれに備えられている。アプリ120は、前処理情報記憶部101、起動制御部122、共通鍵復元部126、共通鍵復号化部127、認証部123、変換情報生成部104、認証鍵暗号化部105、および公開鍵暗号化部128から構成される。一方。認証アプリ200は、鍵情報記憶部221、共通鍵暗号化部227、認証鍵送信部222、認証鍵復号化部203、公開鍵復号化部228、改ざん判定部204、認証鍵生成部205、および前処理情報生成部206から構成される。なお、第1の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。鍵情報記憶部221は、第1の認証鍵、第2の認証鍵、および正規変換情報とともに、秘密鍵、秘密鍵に対応する公開鍵、および共通鍵を予め記憶している。秘密鍵および公開鍵は、RSA方式の秘密鍵および公開鍵であって、共通鍵は、AES暗号化方式の共通鍵である。なお、秘密鍵、公開鍵、および共通鍵は、認証アプリ220に最初から格納されている。起動制御部122は、携帯電話機10のユーザによりアプリ120が起動されると、起動通知を認証アプリ220に送信する。また、起動制御部122は、アプリ120が起動されると、初回起動であるか否かを判定する。初回起動であると判定した場合には、後述する共通鍵復号化部127で公開鍵が取得されると、上述した図4のステップS21の処理に進む。一方、2回目以降の起動であると判定した場合には、後述する共通鍵復号化部127で公開鍵が取得されると、上述した図3のステップS0の処理に進む。共通鍵暗号化部227は、アプリ120から起動通知を受信すると、鍵情報記憶部221に格納されている公開鍵を、同じく鍵情報記憶部221に格納されている共通鍵で暗号化し、暗号化した公開鍵をアプリ120に送信する。共通鍵復元部126は、認証アプリ220から暗号化された公開鍵を受信すると、アプリ120に分散保存された複数個の共通鍵の断片を回収して、共通鍵を復元する。共通鍵復号化部127は、共通鍵復元部126で共通鍵が復元されると、認証アプリ220から暗号化された公開鍵を、共通鍵復元部126で復元された共通鍵で復号化する。認証鍵送信部222は、認証鍵要求を受信すると、鍵情報記憶部221から第2の認証鍵および秘密鍵を取得し、取得した第2の認証鍵を、同じく取得した秘密鍵で暗号化し、暗号化した第2の認証鍵を送信する。認証部123は、認証アプリ220から暗号化された第2の認証鍵を受信すると、共通鍵復号化部127で復号化された公開鍵で復号し、前処理情報記憶部101から前処理情報を取得する。そして、認証部123は、復号化された第2の認証鍵で、取得した前処理情報から第1の認証鍵が取得できるか否かを判定する。第1の認証鍵が取得できた場合には、認証部123はUIMカード20を認証し、一方、第1の認証鍵が取得できなかった場合には、認証部123はUIMカード20が認証しない。公開鍵暗号化部128は、アプリ120の起動が初回である場合に、変換情報生成部104で生成された変換情報を、共通鍵復号化部127で復号化された公開鍵により暗号化し、認証アプリに送信する。公開鍵復号化部228は、アプリ120の起動が初回である場合、アプリ120から受信した公開鍵で暗号化された変換情報を、鍵情報記憶部221に記憶されている秘密鍵にて復号化する。以上説明したように、本実施形態によれば、UIMカード20を認証するために用いる第2の認証鍵の携帯電話機10のアプリ120とUIM20の認証アプリ220との間での送受信に公開鍵暗号方式および共通鍵暗号方式を用いることにより、また、共通鍵を分散保存することにより、オープン端末のアプリケーションをよりセキュアに利用することが可能となる。なお、アプリケーション認証システムの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをアプリケーション認証システムを構成する各機器に読み込ませ、実行することによって本発明のアプリケーション認証システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。また、コンピュータシステムは、WWWWorldWideWebシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク通信網や電話回線等の通信回線通信線のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。変形形態1第3の実施形態において、予め共通鍵を復元するための鍵の種を、認証アプリ220で生成される乱数の偶奇により分散の仕方を違えておき、乱数の偶奇に応じて、異なった処理により、共通鍵を復元してもよい。例えば、乱数が偶数の場合には、アプリ120に分散保存された複数個の共通鍵の断片を回収して、鍵の種K、Ceの2つを用いて共通鍵を復元する。具体的には、まず、第1のステップとして、アプリ100に分散保存された複数個の共通鍵の断片を回収して、鍵の種K、Ceを復元する。次に、第2のステップとして、復元された鍵の種Kを同じく鍵の種Kで2回暗号化した値Lを求める。次に、第3のステップとして、鍵の種Ceを、第2のステップで求められた値Lで復号化することにより、共通鍵を復元する。一方、乱数が奇数の場合には、アプリ120に分散保存された複数個の共通鍵の断片を回収して、鍵の種K、Coの2つを用いて共通鍵を復元する。具体的には、まず、第1のステップとして、アプリ100に分散保存された複数個の共通鍵の断片を回収して、鍵の種K、Coを復元する。次に、第2のステップとして、復元された鍵の種Kを同じく鍵の種Kで3回暗号化した値Mを求める。次に、第3のステップとして、鍵の種Coを、第2のステップで求められた値Mで復号化することにより、共通鍵を復元する。なお、この場合、認証アプリ220は、乱数を生成する乱数生成部を備え、共通鍵暗号化部227は、暗号化した公開鍵、および乱数生成部で生成された乱数をアプリ120に送信する。なお、各実施形態および変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。