(57)【要約】【課題】ＵＩＭ等のユーザ識別モジュールカードを用いることにより、オープン端末のアプリケーションをセキュアに利用することを可能とすること。【解決手段】アプリケーション認証システム１は、認証アプリ２００と連携して認証処理を行うアプリ１００を有する携帯電話機１０と、認証アプリ２００を有するＵＩＭカード２０とから構成され、アプリ１００は、予め記憶している前処理情報と、認証アプリ２００から受信した認証鍵により、ＵＩＭカード２０の認証を行うとともに、認証アプリ２００は、予め記憶している改ざんがされていない正規のアプリ１００から生成された正規変換情報と、携帯電話機１０が有するアプリ１００から生成された変換情報とを比較することにより、アプリ１００が改ざんされているか判定する。【選択図】図２
2012212405.tif 000002
【特許請求の範囲】
【請求項１】
認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証システムであって、
前記認証アプリケーションは、
第１の認証鍵、第２の認証鍵、および正規変換情報を記憶する鍵情報記憶手段と、
記憶されている第２の認証鍵を前記アプリケーションに送信する第１の送信手段と、
を備え、
前記アプリケーションは、
前記第１の認証鍵および前記第２の認証鍵から生成された前処理情報を記憶する前処理情報記憶手段と、
受信した第２の認証鍵により、記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する認証手段と、
前記記憶されている前処理情報から前記第１の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを一方向関数で変換し、変換情報を生成する変換情報生成手段と、
生成された変換情報を、前記認証手段で取得された第１の認証鍵により暗号化し、暗号化された変換情報を、前記認証アプリケーションに送信する認証鍵暗号化手段と、
を備え、
前記認証アプリケーションは、
さらに、
受信した前記暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する認証鍵復号化手段と、
復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する改ざん判定手段と、
前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として前記鍵情報記憶手段に記憶する認証鍵生成手段と、
生成された第１の認証鍵および第２の認証鍵から前記前処理情報を生成し、生成した前処理情報を前記アプリケーションに送信する前処理情報生成手段と、
を備え、前記アプリケーションは、受信した前処理情報を前記前処理情報記憶手段に記憶することを特徴とするアプリケーション認証システム。
【請求項２】
前記記憶されている前処理情報は、前記前処理情報生成手段により、前記生成された第１の認証鍵および前記第２の認証鍵を、パスワードにより演算処理することにより生成され、
前記認証手段は、前記受信した第２の認証鍵、およびユーザから受け付けた前記パスワードにより、前記記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定し、
前記認証鍵暗号化手段は、前記取得された変換情報、および前記ユーザから受け付けたパスワードを組み合わせて、前記認証手段で取得された第１の認証鍵により暗号化し、
前記認証鍵復号化手段は、受信した、パスワードが組み合わされた変換情報の暗号化を、前記記憶されている第１の認証鍵にて復号化し、前記変換情報と前記パスワードとを抽出することを特徴とする請求項１の記載のアプリケーション認証システム。
【請求項３】
前記鍵情報記憶手段は、さらに、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、
前記認証アプリケーションは、
前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段を備え、
前記アプリケーションは、
前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段と、
受信した暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段と、を備え、
前記第１の送信手段は、前記記憶されている第２の認証鍵を前記秘密鍵で暗号化して、前記アプリケーションに送信し、
前記認証手段は、前記受信した暗号化された第２の認証鍵を、復号化された公開鍵で復号し、復号化された第２の認証鍵により、前記記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定することを特徴とする請求項１または２に記載のアプリケーション認証システム。
【請求項４】
前記認証アプリケーションは、
乱数を生成する乱数生成手段を備え、
前記共通鍵暗号化手段は、前記暗号化した公開鍵、および生成された乱数を前記アプリケーションに送信し、
前記共通鍵復元手段は、受信した乱数の偶奇応じて、前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収し、前記共通鍵を復元することを特徴とする請求項３に記載のアプリケーション認証システム。
【請求項５】
前記アプリケーションが最初に起動された場合には、
前記変換情報生成手段は、前記アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を前記認証アプリケーションに送信し、
前記改ざん判定手段は、受信した変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定し、
前記認証鍵生成手段は、前記受信した変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として前記鍵情報記憶手段に記憶することを特徴とする請求項１または２に記載のアプリケーション認証システム。
【請求項６】
前記鍵情報記憶手段は、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、
前記認証アプリケーションは、
前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段と、
前記アプリケーションから受信した、前記公開鍵で暗号化された変換情報を、記憶されている秘密鍵にて復号化する公開鍵復号化手段と、
を備え、
前記アプリケーションは、
前記アプリケーションに分散保存された複数個の共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段と、
前記認証アプリケーションから受信した、暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段と、
生成された変換情報を、復号化された公開鍵により暗号化し、前記認証アプリケーションに送信する公開鍵暗号化手段と、
を備えることを特徴とする請求項５に記載のアプリケーション認証システム。
【請求項７】
前記一方向関数は、ＳＨＡ−１ハッシュ関数であることを特徴とする請求項１から６のいずれかに記載のアプリケーション認証システム。
【請求項８】
前記演算処理は、前記第１の認証鍵および第２の認証鍵それぞれと、前記抽出されたパスワードとの排他的論理和演算処理であることを特徴とする請求項２に記載のアプリケーション認証システム。
【請求項９】
認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法であって、
前記認証アプリケーションが、第１の認証鍵、第２の認証鍵、および正規変換情報を、前記アプリケーションが、前記第１の認証鍵および前記第２の認証鍵から生成された前処理情報を、予め記憶しており、
前記認証アプリケーションが、記憶されている第２の認証鍵を前記アプリケーションに送信する第１のステップと、
前記アプリケーションが、受信した第２の認証鍵により、記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第２のステップと、
前記アプリケーションが、前記第２のステップで前記第１の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第３のステップと、
前記アプリケーションが、生成された変換情報を、前記第２のステップで取得された第１の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第４のステップと、
前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する第５のステップと、
前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第６のステップと、
前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として記憶する第７のステップと、
前記認証アプリケーションが、生成された第１の認証鍵および第２の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第８のステップと、
前記アプリケーションが、受信した前処理情報を記憶する第９のステップと、
を有することを特徴とするアプリケーション認証方法。
【請求項１０】
認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法をコンピュータに実行させるためのプログラムであって、
前記認証アプリケーションが、第１の認証鍵、第２の認証鍵、および正規変換情報を、前記アプリケーションが、前記第１の認証鍵および前記第２の認証鍵から生成された前処理情報を、予め記憶しており、
前記認証アプリケーションが、記憶されている第２の認証鍵を前記アプリケーションに送信する第１のステップと、
前記アプリケーションが、受信した第２の認証鍵により、記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第２のステップと、
前記アプリケーションが、前記第２のステップで前記第１の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第３のステップと、
前記アプリケーションが、生成された変換情報を、前記第２のステップで取得された第１の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第４のステップと、
前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する第５のステップと、
前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第６のステップと、
前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として記憶する第７のステップと、
前記認証アプリケーションが、生成された第１の認証鍵および第２の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第８のステップと、
前記アプリケーションが、受信した前処理情報を記憶する第９のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープン端末のアプリケーションにおいて、ＵＩＭ等のユーザ識別モジュールカードを用いたアプリケーション認証システム、アプリケーション認証方法およびプログラムに関する。
【背景技術】
【０００２】
近年、アプリケーションの共通化や、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のノウハウを生かすため、Ａｎｄｒｏｉｄ（登録商標）のようなオープンなプラットフォームに移行している。Ａｎｄｒｏｉｄ（登録商標）のようなオープンなプラットフォームが搭載された端末、言い換えると、スマートフォン等のオープン端末、においても、個人情報等の機密性の高い情報を有することや、ネットワークを介してやり取りする情報も機密性の高い内容のものであることから、強固なセキュリティ対策が求められている。現状、オープン端末におけるセキュリティ対策は、アプリケーションを設計する際に、プラットフォームのセキュリティ対応を調査、実施すること、および各アプリケーションにて追加のセキュリティ対応を実施することが殆どである。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ｈｔｔｐ：／／ｊｏｕｒｎａｌ．ｍｙｃｏｍ．ｃｏ．ｊｐ／ａｒｔｉｃｌｅｓ／２０１０／０６／０２／ｍｃａｆｅｅ／ｉｎｄｅｘ．ｈｔｍｌ［２０１１年３月９日検索］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、オープン端末においては、オープン環境であるが故に、新たな脆弱性が多々発見され、その都度何らかの対策しながら利用しなければならないという問題点があった。また、このような問題点があるために、現状のセキュリティ対策は強固でなく、モバイルバンキング等の高セキュリティが要求される分野のアプリケーションを、オープン端末で利用するのは望ましくないという問題点があった。
【０００５】
そこで、本発明は、上述の課題に鑑みてなされたものであり、本発明は、ＵＩＭ等のユーザ識別モジュールカードを用いることにより、オープン端末のアプリケーションをセキュアに利用することを可能とするアプリケーション認証システム、アプリケーション認証方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【０００７】
（１）  本発明は、認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証システムであって、前記認証アプリケーションは、第１の認証鍵、第２の認証鍵、および正規変換情報を記憶する鍵情報記憶手段（例えば、図２の鍵情報記憶部２０１）と、記憶されている第２の認証鍵を前記アプリケーションに送信する第１の送信手段（例えば、図２の認証鍵送信部２０２）と、を備え、前記アプリケーションは、前記第１の認証鍵および前記第２の認証鍵から生成された前処理情報を記憶する前処理情報記憶手段（例えば、図２の前処理情報記憶部１０１）と、受信した第２の認証鍵により、記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する認証手段（例えば、図２の認証部１０３）と、前記記憶されている前処理情報から前記第１の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを一方向関数で変換し、変換情報を生成する変換情報生成手段（例えば、図２の変換情報生成部１０４）と、生成された変換情報を、前記認証手段で取得された第１の認証鍵により暗号化し、暗号化された変換情報を、前記認証アプリケーションに送信する認証鍵暗号化手段（例えば、図２の認証鍵暗号化部１０５）と、を備え、前記認証アプリケーションは、さらに、受信した前記暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する認証鍵復号化手段（例えば、図２の認証鍵復号化部２０３）と、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する改ざん判定手段（例えば、図２の改ざん判定部２０４）と、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として前記鍵情報記憶手段に記憶する認証鍵生成手段（例えば、図２の認証鍵生成部２０５）と、生成された第１の認証鍵および第２の認証鍵から前記前処理情報を生成し、生成した前処理情報を前記アプリケーションに送信する前処理情報生成手段（例えば、図２の前処理情報生成部２０６）と、を備え、前記アプリケーションは、受信した前処理情報を前記前処理情報記憶手段に記憶することを特徴とするアプリケーション認証システムを提案している。
【０００８】
この発明によれば、鍵情報記憶手段は、第１の認証鍵、第２の認証鍵、および正規変換情報を記憶する。第１の送信手段は、鍵情報記憶手段に記憶されている第２の認証鍵をアプリケーションに送信する。前処理情報記憶手段は、第１の認証鍵および第２の認証鍵から生成された前処理情報を記憶する。認証手段は、受信した第２の認証鍵により、記憶されている前処理情報から第１の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。変換情報生成手段は、記憶されている前処理情報から第１の認証鍵が取得できたことにより認証可と判定する場合に、アプリケーションを一方向関数で変換し、変換情報を生成する。認証鍵暗号化手段は、生成された変換情報を、認証手段で取得された第１の認証鍵により暗号化し、暗号化された変換情報を、認証アプリケーションに送信する。認証鍵復号化手段は、受信した暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する。改ざん判定手段は、復号化された変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。認証鍵生成手段は、復号化された変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを第１の認証鍵と第２の認証鍵として鍵情報記憶手段に記憶する。前処理情報生成手段は、生成された第１の認証鍵および第２の認証鍵から前処理情報を生成し、生成した前処理情報をアプリケーションに送信する。アプリケーションは、受信した前処理情報を前処理情報記憶手段に記憶する。したがって、オープン端末のアプリケーションに予め記憶されている前処理情報を用いて、ユーザ識別モジュールカードを認証した上で、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果（正規変換情報）とアプリケーションを一方向関数で変換した結果（変換情報）と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証することにより、ユーザ識別モジュールカードを用いて、オープン端末のアプリケーションをセキュアに利用することが可能となる。
【０００９】
（２）  本発明は、（１）のアプリケーション認証システムにおいて、前記記憶されている前処理情報は、前記前処理情報生成手段により、前記生成された第１の認証鍵および前記第２の認証鍵を、パスワードにより演算処理することにより生成され、前記認証手段は、前記受信した第２の認証鍵、およびユーザから受け付けた前記パスワードにより、前記記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定し、前記認証鍵暗号化手段は、前記取得された変換情報、および前記ユーザから受け付けたパスワードを組み合わせて、前記認証手段で取得された第１の認証鍵により暗号化し、前記認証鍵復号化手段は、受信した、パスワードが組み合わされた変換情報の暗号化を、前記記憶されている第１の認証鍵にて復号化し、前記変換情報と前記パスワードとを抽出することを特徴とするアプリケーション認証システムを提案している。
【００１０】
この発明によれば、記憶されている前処理情報は、前処理情報生成手段により、生成された第１の認証鍵および第２の認証鍵を、パスワードにより演算処理することにより生成される。認証手段は、受信した第２の認証鍵、およびユーザから受け付けたパスワードにより、記憶されている前処理情報から第１の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定し、認証鍵暗号化手段は、取得された変換情報、およびユーザから受け付けたパスワードを組み合わせて、認証手段で取得された第１の認証鍵により暗号化し、認証鍵復号化手段は、受信した、パスワードが組み合わされた変換情報の暗号化を、記憶されている第１の認証鍵にて復号化し、変換情報とパスワードとを抽出する。したがって、ユーザから受け付けたパスワードを前処理情報の生成に用いることにより、前処理のユーザと現処理のユーザとが一致するか否か照合し、異なるユーザの使用を防ぐことができるので、オープン端末のアプリケーションをセキュアに利用することが可能となる。
【００１１】
（３）  本発明は、（１）または（２）のアプリケーション認証システムにおいて、前記鍵情報記憶手段は、さらに、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、前記認証アプリケーションは、前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段（例えば、図６の共通鍵暗号化部２２７）を備え、前記アプリケーションは、前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段（例えば、図６の共通鍵復元部１２６）と、受信した暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段（例えば、図６の共通鍵復号化部１２７）と、を備え、前記第１の送信手段は、前記記憶されている第２の認証鍵を前記秘密鍵で暗号化して、前記アプリケーションに送信し、前記認証手段は、前記受信した暗号化された第２の認証鍵を、復号化された公開鍵で復号し、復号化された第２の認証鍵により、前記記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定することを特徴とするアプリケーション認証システムを提案している。
【００１２】
この発明によれば、鍵情報記憶手段は、さらに、秘密鍵、秘密鍵に対応する公開鍵、および共通鍵を記憶する。共通鍵暗号化手段は、公開鍵を共通鍵で暗号化し、暗号化した公開鍵を送信する。共通鍵復元手段は、アプリケーションに分散保存された複数個の共通鍵の断片を回収して、共通鍵を復元する。第１の送信手段は、記憶されている第２の認証鍵を秘密鍵で暗号化して、アプリケーションに送信する。認証手段は、受信した暗号化された第２の認証鍵を、復号化された公開鍵で復号し、復号化された第２の認証鍵により、記憶されている前処理情報から第１の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。したがって、ユーザ識別モジュールカードとオープン端末との間での第２の認証鍵を送受信するために共通鍵暗号方式および公開鍵暗号方式を用いることにより、また、共通鍵をアプリケーションに分散保存することにより、オープン端末のアプリケーションをよりセキュアに利用することが可能となる。
【００１３】
（４）  本発明は、（３）のアプリケーション認証システムにおいて、前記認証アプリケーションは、乱数を生成する乱数生成手段を備え、前記共通鍵暗号化手段は、前記暗号化した公開鍵、および生成された乱数を前記アプリケーションに送信し、前記共通鍵復元手段は、受信した乱数の偶奇応じて、前記アプリケーションに分散保存された複数個の前記共通鍵の断片を回収し、前記共通鍵を復元することを特徴とするアプリケーション認証システムを提案している。
【００１４】
この発明によれば、乱数生成手段は、乱数を生成する。共通鍵暗号化手段は、暗号化した公開鍵、および生成された乱数をアプリケーションに送信する。共通鍵復元手段は、受信した乱数の偶奇応じて、アプリケーションに分散保存された複数個の共通鍵の断片を回収し、共通鍵を復元する。したがって、認証アプリケーションで生成された乱数を用いて共通鍵を復元することにより、オープン端末のアプリケーションをよりセキュアに利用することが可能となる。
【００１５】
（５）  本発明は、（１）または（２）のアプリケーション認証システムにおいて、前記アプリケーションが最初に起動された場合には、前記変換情報生成手段は、前記アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を前記認証アプリケーションに送信し、前記改ざん判定手段は、受信した変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定し、前記認証鍵生成手段は、前記受信した変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として前記鍵情報記憶手段に記憶することを特徴とするアプリケーション認証システムを提案している。
【００１６】
この発明によれば、変換情報生成手段は、アプリケーションが最初に起動された場合、アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を認証アプリケーションに送信する。改ざん判定手段は、アプリケーションが最初に起動された場合、受信した変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。認証鍵生成手段は、アプリケーションが最初に起動された場合、受信した変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを第１の認証鍵と第２の認証鍵として鍵情報記憶手段に記憶する。したがって、アプリケーションが最初に起動された場合、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果（正規変換情報）とアプリケーションを一方向関数で変換した結果（変換情報）と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証し、アプリケーションが次回起動された場合に、オープン端末のアプリケーションでユーザ識別モジュールカードを認証するための認証鍵を生成することにより、ユーザ識別モジュールカードを用いて、次回以降もオープン端末のアプリケーションをセキュアに利用することが可能となる。
【００１７】
（６）  本発明は、（５）のアプリケーション認証システムにおいて、前記鍵情報記憶手段は、秘密鍵、前記秘密鍵に対応する公開鍵、および共通鍵を記憶し、前記認証アプリケーションは、前記公開鍵を前記共通鍵で暗号化し、暗号化した公開鍵を送信する共通鍵暗号化手段（例えば、図６の共通鍵暗号化部２２７）と、前記アプリケーションから受信した、前記公開鍵で暗号化された変換情報を、記憶されている秘密鍵にて復号化する公開鍵復号化手段（例えば、図６の公開鍵復号化部２２８）と、を備え、前記アプリケーションは、前記アプリケーションに分散保存された複数個の共通鍵の断片を回収して、前記共通鍵を復元する共通鍵復元手段（例えば、図６の共通鍵復元部１２６）と、前記認証アプリケーションから受信した、暗号化された公開鍵を、復元された共通鍵で復号化する共通鍵復号化手段（例えば、図６の共通鍵復号化部１２７）と、生成された変換情報を、復号化された公開鍵により暗号化し、前記認証アプリケーションに送信する公開鍵暗号化手段（例えば、図６の公開鍵暗号化部１２８）と、を備えることを特徴とするアプリケーション認証システムを提案している。
【００１８】
この発明によれば、鍵情報記憶手段は、秘密鍵、秘密鍵に対応する公開鍵、および共通鍵を記憶する。共通鍵暗号化手段は、公開鍵を共通鍵で暗号化し、暗号化した公開鍵を送信する。公開鍵復号化手段は、アプリケーションから受信した、公開鍵で暗号化された変換情報を、記憶されている秘密鍵にて復号化する。共通鍵復元手段は、アプリケーションに分散保存された複数個の共通鍵の断片を回収して、共通鍵を復元する。共通鍵復号化手段は、認証アプリケーションから受信した、暗号化された公開鍵を、復元された共通鍵で復号化する。公開鍵暗号化手段は、生成された変換情報を、復号化された公開鍵により暗号化し、認証アプリケーションに送信する。したがって、ユーザ識別モジュールカードとオープン端末との間での変換情報の送受信するために共通鍵暗号方式および公開鍵暗号方式を用いることにより、また、共通鍵をアプリケーションに分散保存することにより、初回起動であっても、オープン端末のアプリケーションをセキュアに利用することが可能となる。
【００１９】
（７）  本発明は、（１）から（６）のアプリケーション認証システムにおいて、前記一方向関数は、ＳＨＡ−１ハッシュ関数であることを特徴とするアプリケーション認証システムを提案している。
【００２０】
この発明によれば、一方向関数は、ＳＨＡ−１ハッシュ関数である。したがって、高速な演算処理を実現することができる。
【００２１】
（８）  本発明は、（２）のアプリケーション認証システムにおいて、前記演算処理は、前記第１の認証鍵および第２の認証鍵それぞれと、前記抽出されたパスワードとの排他的論理和演算処理であることを特徴とするアプリケーション認証システムを提案している。
【００２２】
この発明によれば、演算処理は、第１の認証鍵および第２の認証鍵それぞれと、抽出されたパスワードとの排他的論理和演算処理である。したがって、第１の認証鍵および第２の認証鍵それぞれと、パスワードとに論理和演算処理を行うことにより、簡単な暗号化方法である論理和演算処理を使用し、解読が困難な結果を生成することができる。
【００２３】
（９）  本発明は、認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法であって、前記認証アプリケーションが、第１の認証鍵、第２の認証鍵、および正規変換情報を、前記アプリケーションが、前記第１の認証鍵および前記第２の認証鍵から生成された前処理情報を、予め記憶しており、前記認証アプリケーションが、記憶されている第２の認証鍵を前記アプリケーションに送信する第１のステップ（例えば、図３のステップＳ１）と、前記アプリケーションが、受信した第２の認証鍵により、記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第２のステップ（例えば、図３のステップＳ２、Ｓ３）と、前記アプリケーションが、前記第２のステップで前記第１の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第３のステップ（例えば、図３のステップＳ４）と、前記アプリケーションが、生成された変換情報を、前記第２のステップで取得された第１の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第４のステップ（例えば、図３のステップＳ５）と、前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する第５のステップ（例えば、図３のステップＳ６）と、前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第６のステップ（例えば、図３のステップＳ７、Ｓ８）と、前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として記憶する第７のステップ（例えば、図３のステップＳ９）と、前記認証アプリケーションが、生成された第１の認証鍵および第２の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第８のステップ（例えば、図３のステップＳ１０）と、前記アプリケーションが、受信した前処理情報を記憶する第９のステップ（例えば、図３のステップＳ１１）と、を有することを特徴とするアプリケーション認証方法を提案している。
【００２４】
この発明によれば、認証アプリケーションが、第１の認証鍵、第２の認証鍵、および正規変換情報を、アプリケーションが、第１の認証鍵および第２の認証鍵から生成された前処理情報を、予め記憶している。まず、第１のステップにおいて、認証アプリケーションは、記憶されている第２の認証鍵をアプリケーションに送信する。次に、第２のステップにおいて、アプリケーションは、受信した第２の認証鍵により、記憶されている前処理情報から第１の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。次に、第３のステップにおいて、アプリケーションは、第２のステップで第１の認証鍵が取得できたことにより認証可と判定する場合に、アプリケーションを不可逆関数で変換し、変換情報を生成する。次に、第４のステップにおいて、アプリケーションは、生成された変換情報を、第２のステップで取得された第１の認証鍵により暗号化し、暗号化された変換情報を認証アプリケーションに送信する。次に、第５のステップにおいて、認証アプリケーションは、受信した暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する。次に、第６のステップにおいて、認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。次に、第７のステップにおいて、認証アプリケーションは、復号化された変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを第１の認証鍵と第２の認証鍵として記憶する。次に、第８のステップにおいて、認証アプリケーションは、生成された第１の認証鍵および第２の認証鍵から前処理情報を生成し、生成された前処理情報をアプリケーションに送信する。次に、第９のステップにおいて、アプリケーションは、受信した前処理情報を記憶する。したがって、オープン端末のアプリケーションに予め記憶されている前処理情報を用いて、ユーザ識別モジュールカードを認証した上で、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果（正規変換情報）とアプリケーションを一方向関数で変換した結果（変換情報）と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証することにより、ユーザ識別モジュールカードを用いて、オープン端末のアプリケーションをセキュアに利用することが可能となる。
【００２５】
（１０）  本発明は、認証アプリケーションと連携して認証処理を行なうアプリケーションを有し、オープンプラットフォームが搭載されたオープン端末と、前記認証アプリケーションを有し、前記オープン端末に挿脱されるユーザ識別モジュールカードと、を用いたアプリケーション認証方法をコンピュータに実行させるためのプログラムであって、前記認証アプリケーションが、第１の認証鍵、第２の認証鍵、および正規変換情報を、前記アプリケーションが、前記第１の認証鍵および前記第２の認証鍵から生成された前処理情報を、予め記憶しており、前記認証アプリケーションが、記憶されている第２の認証鍵を前記アプリケーションに送信する第１のステップ（例えば、図３のステップＳ１）と、前記アプリケーションが、受信した第２の認証鍵により、記憶されている前処理情報から前記第１の認証鍵が取得できるか否かにより前記ユーザ識別モジュールカードの認証可否を判定する第２のステップ（例えば、図３のステップＳ２、Ｓ３）と、前記アプリケーションが、前記第２のステップで前記第１の認証鍵が取得できたことにより認証可と判定する場合に、前記アプリケーションを不可逆関数で変換し、変換情報を生成する第３のステップ（例えば、図３のステップＳ４）と、前記アプリケーションが、生成された変換情報を、前記第２のステップで取得された第１の認証鍵により暗号化し、暗号化された変換情報を前記認証アプリケーションに送信する第４のステップ（例えば、図３のステップＳ５）と、前記認証アプリケーションが、受信した前記暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する第５のステップ（例えば、図３のステップＳ６）と、前記認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、前記アプリケーションの改ざんの有無を判定する第６のステップ（例えば、図３のステップＳ７、Ｓ８）と、前記認証アプリケーションが、前記復号化された変換情報と前記正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを前記第１の認証鍵と前記第２の認証鍵として記憶する第７のステップ（例えば、図３のステップＳ９）と、前記認証アプリケーションが、生成された第１の認証鍵および第２の認証鍵から前記前処理情報を生成し、生成された前処理情報を前記アプリケーションに送信する第８のステップ（例えば、図３のステップＳ１０）と、前記アプリケーションが、受信した前処理情報を記憶する第９のステップ（例えば、図３のステップＳ１１）と、をコンピュータに実行させるためのプログラムを提案している。
【００２６】
この発明によれば、認証アプリケーションが、第１の認証鍵、第２の認証鍵、および正規変換情報を、アプリケーションが、第１の認証鍵および第２の認証鍵から生成された前処理情報を、予め記憶している。まず、第１のステップにおいて、認証アプリケーションは、記憶されている第２の認証鍵をアプリケーションに送信する。次に、第２のステップにおいて、アプリケーションは、受信した第２の認証鍵により、記憶されている前処理情報から第１の認証鍵が取得できるか否かによりユーザ識別モジュールカードの認証可否を判定する。次に、第３のステップにおいて、アプリケーションは、第２のステップで第１の認証鍵が取得できたことにより認証可と判定する場合に、アプリケーションを不可逆関数で変換し、変換情報を生成する。次に、第４のステップにおいて、アプリケーションは、生成された変換情報を、第２のステップで取得された第１の認証鍵により暗号化し、暗号化された変換情報を認証アプリケーションに送信する。次に、第５のステップにおいて、認証アプリケーションは、受信した暗号化された変換情報を、記憶されている第１の認証鍵にて復号化する。次に、第６のステップにおいて、認証アプリケーションが、復号化された変換情報、および記憶されている正規変換情報を比較し、アプリケーションの改ざんの有無を判定する。次に、第７のステップにおいて、認証アプリケーションは、復号化された変換情報と正規変換情報とが一致し、改ざんされていないと判定する場合に、乱数を２つ生成し、生成された２つの乱数それぞれを第１の認証鍵と第２の認証鍵として記憶する。次に、第８のステップにおいて、認証アプリケーションは、生成された第１の認証鍵および第２の認証鍵から前処理情報を生成し、生成された前処理情報をアプリケーションに送信する。次に、第９のステップにおいて、アプリケーションは、受信した前処理情報を記憶する。したがって、オープン端末のアプリケーションに予め記憶されている前処理情報を用いて、ユーザ識別モジュールカードを認証した上で、ユーザ識別モジュールカードの認証アプリケーションに予め記憶されている正規のアプリケーションを一方向関数で変換した結果（正規変換情報）とアプリケーションを一方向関数で変換した結果（変換情報）と、を照合し、オープン端末のアプリケーションが改ざんされていないことを保証することにより、ユーザ識別モジュールカードを用いて、オープン端末のアプリケーションをセキュアに利用することが可能となる。
【発明の効果】
【００２７】
本発明によれば、ＵＩＭ等のユーザ識別モジュールカードを用いることにより、オープン環境にある端末のアプリケーションをセキュアに利用することが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施形態にかかるアプリケーション認証システムを用いたモバイルバンキングシステムのシステム構成図である。
【図２】本発明の第１の実施形態にかかる携帯電話機が有するアプリおよびユーザ識別モジュールカードが有する認証アプリの機能構成を示す図である。
【図３】本発明の第１の実施形態にかかるアプリケーション認証システムにおける認証処理のシーケンスを示す図である。
【図４】本発明の第１の実施形態にかかるアプリケーション認証システムにおける初回認証処理のシーケンスを示す図である。
【図５】本発明の第２の実施形態にかかる携帯電話機が有するアプリおよびユーザ識別モジュールカードが有する認証アプリの機能構成を示す図である。
【図６】本発明の第３の実施形態にかかる携帯電話機が有するアプリおよびユーザ識別モジュールカードが有する認証アプリの機能構成を示す図である。
【発明を実施するための形態】
【００２９】
以下、図面を用いて、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含むさまざまなバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００３０】
＜第１の実施形態＞
＜アプリケーション認証システムのシステム構成＞
図１は、本発明の第１の実施形態にかかるアプリケーション認証システム１を用いたモバイルバンキングシステムのシステム構成図である。オープン端末は、オープンなプラットフォーム、例えば、Ａｎｄｏｒｏｉｄ（登録商標）が搭載された端末であって、ネットワークを介してサーバと接続される。モバイルバンキングシステムを想定した場合、オープン端末は、例えば、携帯電話機１０であり、サーバは銀行サーバ３０である。
【００３１】
携帯電話機１０は、本実施形態において、モバイルバンキングシステムのアプリケーション（以下、アプリという）１００を有しており、このアプリ１００と銀行サーバ３０とがデータの送受信をおこなうことによって、各種取引が実行される。なお、アプリは、銀行サーバ３０または、各種アプリケーションを提供するアプリケーションサーバ（図示せず）からダウンロードされる。また、携帯電話機１０には、ユーザ識別モジュールカードが挿入される。
【００３２】
ユーザ識別モジュールカードは、例えば、ＵＩＭ（Ｕｓｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）カード２０である。ＵＩＭカードは、携帯電話通信事業者が発行する、契約者情報（例えば固有識別子）を記録したＩＣカードであって、携帯電話機に差し込んで利用される。ＵＩＭカードは、契約者情報以外に、アドレス帳のようなプライベート情報や、クレジット決済用の個人識別情報も、暗号化して登録することができる。また、ＵＩＭカードは、異なる携帯電話機に挿脱可能である。ユーザ識別モジュールカードは、ＵＩＭカードに限られず、ＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ  Ｃａｒｄ）カードであってもよいし、ＵＳＩＭ（Ｕｎｉｖｅｒｓａｌ  ＳＩＭ）カードまたはＲ−ＵＩＭ（Ｒｅｍｏｖａｂｌｅ  ＵＩＭ）と称されるものであってもよい。
【００３３】
ＵＩＭカード２０は、本実施形態において、アプリ１００の認証を行うための認証アプリケーション（以下、単に認証アプリという）２００を有する。
【００３４】
＜アプリケーション認証システムの機能構成＞
図２は、本発明の第１の実施形態にかかる携帯電話機１０が有するアプリ１００およびＵＩＭカード２０が有する認証アプリ２００の機能構成を示す図である。なお、アプリ１００が有するモバイルバンキングシステムを利用するための機能構成については省略し、アプリケーション認証システムに用いられる機能構成のみを示す。
【００３５】
図２に示すように、アプリ１００と認証アプリ２００とは、携帯電話機１０の通信部１１およびＵＩＭカード２０の通信部２１とを介して、データの送受信を行う。アプリ１００は、前処理情報記憶部１０１、起動制御部１０２、認証部１０３、変換情報生成部１０４、および認証鍵暗号化部１０５から構成される。一方。認証アプリ２００は、鍵情報記憶部２０１、認証鍵送信部２０２、認証鍵復号化部２０３、改ざん判定部２０４、認証鍵生成部２０５、および前処理情報生成部２０６から構成される。
【００３６】
図３は、本発明の第１の実施形態にかかるアプリケーション認証システム１における認証処理のシーケンスを示す図である。アプリ１００および認証アプリ２００の各部について、図３の認証処理のシーケンスを用いて説明する。
【００３７】
まず、認証処理が開始する際に、鍵情報記憶部２０１および前処理情報記憶部１０１が記憶している情報について説明する。
【００３８】
鍵情報記憶部２０１は、第１の認証鍵、第２の認証鍵、および正規変換情報を予め記憶している。ここで、正規変換情報は、銀行サーバ３０またはアプリケーションサーバが保持する正規のアプリ１００を一方向関数で変換した結果であって、携帯電話機１０が有するアプリ１００が改ざんされていないかをチェックするために用いられる。なお、正規変換情報は、認証アプリ２００に最初から格納されている。第１の認証鍵および第２の認証鍵については後述する。
【００３９】
前処理情報記憶部１０１は、前回の認証処理において生成された前処理情報を予め記憶している。前処理情報は、第１の認証鍵と第２の認証鍵を含み、詳細については後述する。
【００４０】
最初に、ステップＳ０において、起動制御部１０２は、携帯電話機１０のユーザによりアプリ１００が起動されたことによって、アプリ１００が認証鍵要求を認証アプリ２００に送信する。これにより、認証処理が開始する。
【００４１】
次に、ステップＳ１において、認証鍵送信部２０２は、アプリ１００から認証鍵要求を受信すると、鍵情報記憶部２０１から第２の認証鍵を取得し、アプリ１００に送信する。
【００４２】
次に、ステップＳ２において、認証部１０３は、認証アプリ２００から第２の認証鍵を受信すると、前処理情報記憶部１０１から前処理情報を取得し、受信した第２の認証鍵で、取得した前処理情報から第１の認証鍵が取得できるか否かを判定する。
【００４３】
次に、ステップＳ３において、認証部１０３（ステップＳ２）で第１の認証鍵が取得できた場合（ＹＥＳ）に、認証部１０３は、ＵＩＭカード２０を認証し、ステップＳ４に処理を進める。一方、認証部１０３（ステップＳ２）で第１の認証鍵が取得できなかった場合（ＮＯ）には、認証部１０３は、ＵＩＭカード２０が認証せず、処理を終了する。
【００４４】
次に、ステップＳ４において、変換情報生成部１０４は、アプリ１００を一方向関数で変換し、変換情報を生成する。ここで、一方向関数として、例えば、ＳＨＡ−１ハッシュ関数を用いる。変換情報生成部１０４でＳＨＡ−１ハッシュ関数を用いて、変換情報を生成する場合には、上述した正規変換情報も当然ＳＨＡ−１ハッシュ関数を用いて生成される。
【００４５】
次に、ステップＳ５において、認証鍵暗号化部１０５は、変換情報生成部１０４（ステップＳ３）で生成された変換情報を、認証部１０３（ステップＳ２）で取得された第１の認証鍵により暗号化し、暗号化した変換情報を、認証アプリ２００に送信する。
【００４６】
次に、ステップＳ６において、認証鍵復号化部２０３は、アプリ１００から暗号化された変換情報を受信すると、鍵情報記憶部２０１から第１の認証鍵を取得し、取得した認証鍵で、受信した暗号化された変換情報を復号化する。
【００４７】
次に、ステップＳ７において、改ざん判定部２０４は、認証鍵復号化部２０３（ステップＳ６）で復号化された変換情報、および鍵情報記憶部２０１に記憶されている正規変換情報を比較し、アプリ１００が改ざんされているか否かを判定する。
【００４８】
次に、ステップＳ８において、復号化された変換情報と、正規変換情報とが一致する場合に（ＹＥＳ）、改ざん判定部２０４は、アプリ１００が改ざんされていないと判定し、アプリ１００のモバイルバンキングシステムに関する機能を使用可能にし、また、ステップＳ９へ処理を進める。一方、復号化された変換情報と、正規変換情報とが一致しない場合に（ＮＯ）、改ざん判定部２０４は、アプリ１００が改ざんされていると判定し、ステップＳ１２に処理を進める。
【００４９】
次に、ステップＳ９において、認証鍵生成部２０５は、乱数を２つ生成し、生成された乱数それぞれを第１の認証鍵および第２の認証鍵として、鍵情報記憶部２０１に記憶する。具体的には、認証鍵生成部２０５は、鍵情報記憶部２０１に記憶されている第１の認証鍵および第２の認証鍵を、新たに生成した第１の認証鍵および第２の認証鍵で置き換える。なお、第１の認証鍵および第２の認証鍵は、ＡＥＳ暗号化方式の鍵であって、鍵長は１２８ビットである。
【００５０】
次に、ステップＳ１０において、前処理情報生成部２０６は、認証鍵生成部２０５（ステップＳ９）で生成された第１の認証鍵および第２の認証鍵を含む前処理情報を生成し、生成した前処置情報をアプリ１００に送信する。
【００５１】
次にステップＳ１１において、前処理情報記憶部１０１は、認証アプリ２００から前処理情報を受信すると、受信した前処理情報を記憶する。ここで、前処理情報記憶部１０１に記憶された前処理情報は、次回、アプリ１００が起動された場合に認証に用いられる。
【００５２】
次に、ステップＳ１２において、改ざん判定部２０４は、復号化された変換情報と、正規変換情報とが一致しない旨のエラー情報をアプリ１００に送信し、処理を終了する。エラー情報を受信したアプリ１００は、携帯電話機１０のＵＩ部１２に受信したエラー情報を表示する。
【００５３】
以上、アプリ１００の前処理情報記憶部１０１に前処理情報が記憶されている場合、すなわち、アプリ１００の起動が２回目以降の起動である場合について説明した。次に、図４を用いて、アプリ１００の起動が初回である場合、すなわち、アプリ１００の前処理情報記憶部１０１に前処理情報が記憶されていない場合について説明する。
【００５４】
図４は、本発明の第１の実施形態にかかるアプリケーション認証システム１における初回認証処理のシーケンスを示す図である。なお図３と同一の符号を付すステップについては、同一機能部により同一処理であることから、その詳細な説明は省略する。
【００５５】
まず、ステップＳ２１において、起動制御部１０２は、携帯電話機１０のユーザによりアプリ１００が起動されると、初回起動であるか否かを判定する。初回起動であると判定した場合には、ステップＳ２２の処理に進む。一方、２回目以降の起動であると判定した場合には、上述した図３のステップＳ０に処理を進める。
【００５６】
次に、ステップＳ２２において、変換情報生成部１０４は、アプリケーションを一方向関数で変換し、変換情報を生成し、生成した変換情報を認証アプリケーションに送信する。
【００５７】
次に、ステップＳ２３において、改ざん判定部２０４は、アプリ１００から受信した変換情報、および鍵情報記憶部２０１に記憶されている正規変換情報を比較し、アプリ１００が改ざんされているか否かを判定する。
【００５８】
次に、ステップＳ２４において、改ざん判定部２０４は、受信した変換情報と、正規変換情報とが一致する場合に（ＹＥＳ）、改ざん判定部２０４は、アプリ１００が改ざんされていないと判定し、ステップＳ９へ処理を進める。一方、復号化された変換情報と、正規変換情報とが一致しない場合に（ＮＯ）、改ざん判定部２０４は、アプリ１００が改ざんされていると判定し、ステップＳ１２に処理を進める。
【００５９】
以上説明したように、本実施形態によれば、ＵＩＭカード２０を用いることにより、オープン端末の１つである携帯電話機１０が有するアプリケーションをセキュアに利用することが可能となる。
【００６０】
＜第２の実施形態＞
図５を用いて、本発明の第２の実施形態について説明する。なお、本実施形態におけるアプリケーション認証システム２は、携帯電話機１０のアプリ１１０にユーザ認証のため入力されたパスワードを利用するものである。なお、本実施形態に係るアプリケーション認証システムのシステム構成は、第１の実施形態と同様であるので、省略する。
【００６１】
＜アプリケーション認証システムの機能構成＞
図５は、本発明の第２の実施形態に係る携帯電話機１０が有するアプリ１１０およびＵＩＭカード２０が有する認証アプリ２１０の機能構成を示す図である。図５に示すように、アプリ１１０と認証アプリ２１０とは、携帯電話機１０の通信部１１およびＵＩＭカード２０の通信部２１とを介して、データの送受信を行う。アプリ１１０は、前処理情報記憶部１０１、起動制御部１１２、認証部１１３、変換情報生成部１０４、および認証鍵暗号化部１１５から構成される。一方。認証アプリ２１０は、鍵情報記憶部２０１、認証鍵送信部２０２、認証鍵復号化部２１３、改ざん判定部２０４、認証鍵生成部２０５、および前処理情報生成部２１６から構成される。なお、第１の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
【００６２】
起動制御部１１２は、アプリ１１０が起動された際に、ＵＩ部１２を介してユーザにパスワードの入力を要求する。そして、起動制御部１１２は、ＵＩ部１２を介してユーザにより入力されたパスワードを受け付ける。
【００６３】
前処理情報生成部２１６は、認証鍵生成部２０５で生成された第１の認証鍵および第２の認証鍵を、後述する認証鍵復号化部２１３で取得されたパスワードにより演算処理することにより前処理情報を生成し、生成した前処理情報をアプリ１１０に送信する。具体的には、前処理情報生成部２１６は、第１の認証鍵および第２の認証鍵それぞれとパスワードとの排他的論理和演算処理を行うことにより、前処理情報を生成する。
【００６４】
認証部１１３は、認証アプリ２１０から第２の認証鍵を受信すると、前処理情報記憶部１０１から前処理情報を取得し、受信した第２の認証鍵および起動制御部１１２で受け付けたパスワードにより、取得した前処理情報から第１の認証鍵が取得できるか否かを判定する。第１の認証鍵が取得できた場合には、認証部１１３は、ＵＩＭカード２０を認証する。一方、第１の認証鍵が取得できなかった場合には、認証部１１３は、ＵＩＭカード２０が認証しない。
【００６５】
認証鍵暗号化部１１５は、変換情報生成部１０４で生成された変換情報、および起動制御部１１２で受け付けたパスワードを組み合わせて、認証部１１３で取得された第１の認証鍵により暗号化し、暗号化したパスワードが組み合わされた変換情報を認証アプリ２１０に送信する。なお、認証鍵暗号化部１１５は、例えば、パスワードおよび変換情報を連結することにより、変換情報およびパスワードを組み合わせる。
【００６６】
認証鍵復号化部２１３は、アプリ１１０から暗号化されたパスワードが組み合わされた変換情報を受信すると、鍵情報記憶部２０１から第１の認証鍵を取得し、取得した認証鍵で復号化し、変換情報およびパスワードを抽出する。
【００６７】
以上説明したように、本実施形態によれば、ユーザから受け付けたパスワードを前処理情報の生成に用いることにより、前処理のユーザと現処理のユーザとが一致するか否か照合し、異なるユーザの使用を防ぐことができるので、オープン端末のアプリケーションをセキュアに利用することが可能となる。
【００６８】
＜第３の実施形態＞
図６を用いて、本発明の第３の実施形態について説明する。なお、本実施形態におけるアプリケーション認証システム３は、公開鍵暗号および共通鍵暗号を用いるものである。なお、本実施形態に係るアプリケーション認証システムのシステム構成は、第１の実施形態と同様であるので、省略する。
【００６９】
＜アプリケーション認証システムの機能構成＞
図６は、本発明の第３の実施形態に係る携帯電話機１０が有するアプリ１２０およびＵＩＭカード２０が有する認証アプリ２２０の機能構成を示す図である。図６に示すように、アプリ１２０と認証アプリ２２０とは、携帯電話機１０の通信部１１およびＵＩＭカードの通信部２１とを介して、データの送受信を行う。なお、図６において、通信部１１および通信部２１を図示していないが、図２と同様に携帯電話機１０およびＵＩＭカード２０それぞれに備えられている。
【００７０】
アプリ１２０は、前処理情報記憶部１０１、起動制御部１２２、共通鍵復元部１２６、共通鍵復号化部１２７、認証部１２３、変換情報生成部１０４、認証鍵暗号化部１０５、および公開鍵暗号化部１２８から構成される。一方。認証アプリ２００は、鍵情報記憶部２２１、共通鍵暗号化部２２７、認証鍵送信部２２２、認証鍵復号化部２０３、公開鍵復号化部２２８、改ざん判定部２０４、認証鍵生成部２０５、および前処理情報生成部２０６から構成される。なお、第１の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
【００７１】
鍵情報記憶部２２１は、第１の認証鍵、第２の認証鍵、および正規変換情報とともに、秘密鍵、秘密鍵に対応する公開鍵、および共通鍵を予め記憶している。秘密鍵および公開鍵は、ＲＳＡ方式の秘密鍵および公開鍵であって、共通鍵は、ＡＥＳ暗号化方式の共通鍵である。なお、秘密鍵、公開鍵、および共通鍵は、認証アプリ２２０に最初から格納されている。
【００７２】
起動制御部１２２は、携帯電話機１０のユーザによりアプリ１２０が起動されると、起動通知を認証アプリ２２０に送信する。また、起動制御部１２２は、アプリ１２０が起動されると、初回起動であるか否かを判定する。初回起動であると判定した場合には、後述する共通鍵復号化部１２７で公開鍵が取得されると、上述した図４のステップＳ２１の処理に進む。一方、２回目以降の起動であると判定した場合には、後述する共通鍵復号化部１２７で公開鍵が取得されると、上述した図３のステップＳ０の処理に進む。
【００７３】
共通鍵暗号化部２２７は、アプリ１２０から起動通知を受信すると、鍵情報記憶部２２１に格納されている公開鍵を、同じく鍵情報記憶部２２１に格納されている共通鍵で暗号化し、暗号化した公開鍵をアプリ１２０に送信する。
【００７４】
共通鍵復元部１２６は、認証アプリ２２０から暗号化された公開鍵を受信すると、アプリ１２０に分散保存された複数個の共通鍵の断片を回収して、共通鍵を復元する。
【００７５】
共通鍵復号化部１２７は、共通鍵復元部１２６で共通鍵が復元されると、認証アプリ２２０から暗号化された公開鍵を、共通鍵復元部１２６で復元された共通鍵で復号化する。
【００７６】
認証鍵送信部２２２は、認証鍵要求を受信すると、鍵情報記憶部２２１から第２の認証鍵および秘密鍵を取得し、取得した第２の認証鍵を、同じく取得した秘密鍵で暗号化し、暗号化した第２の認証鍵を送信する。
【００７７】
認証部１２３は、認証アプリ２２０から暗号化された第２の認証鍵を受信すると、共通鍵復号化部１２７で復号化された公開鍵で復号し、前処理情報記憶部１０１から前処理情報を取得する。そして、認証部１２３は、復号化された第２の認証鍵で、取得した前処理情報から第１の認証鍵が取得できるか否かを判定する。第１の認証鍵が取得できた場合には、認証部１２３はＵＩＭカード２０を認証し、一方、第１の認証鍵が取得できなかった場合には、認証部１２３はＵＩＭカード２０が認証しない。
【００７８】
公開鍵暗号化部１２８は、アプリ１２０の起動が初回である場合に、変換情報生成部１０４で生成された変換情報を、共通鍵復号化部１２７で復号化された公開鍵により暗号化し、認証アプリに送信する。
【００７９】
公開鍵復号化部２２８は、アプリ１２０の起動が初回である場合、アプリ１２０から受信した公開鍵で暗号化された変換情報を、鍵情報記憶部２２１に記憶されている秘密鍵にて復号化する。
【００８０】
以上説明したように、本実施形態によれば、ＵＩＭカード２０を認証するために用いる第２の認証鍵の携帯電話機１０のアプリ１２０とＵＩＭ２０の認証アプリ２２０との間での送受信に公開鍵暗号方式および共通鍵暗号方式を用いることにより、また、共通鍵を分散保存することにより、オープン端末のアプリケーションをよりセキュアに利用することが可能となる。
【００８１】
なお、アプリケーション認証システムの処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをアプリケーション認証システムを構成する各機器に読み込ませ、実行することによって本発明のアプリケーション認証システムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００８２】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００８３】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００８４】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００８５】
（変形形態１）
第３の実施形態において、予め共通鍵を復元するための鍵の種を、認証アプリ２２０で生成される乱数の偶奇により分散の仕方を違えておき、乱数の偶奇に応じて、異なった処理により、共通鍵を復元してもよい。例えば、乱数が偶数の場合には、アプリ１２０に分散保存された複数個の共通鍵の断片を回収して、鍵の種Ｋ、Ｃｅの２つを用いて共通鍵を復元する。具体的には、まず、第１のステップとして、アプリ１００に分散保存された複数個の共通鍵の断片を回収して、鍵の種Ｋ、Ｃｅを復元する。次に、第２のステップとして、復元された鍵の種Ｋを同じく鍵の種Ｋで２回暗号化した値Ｌを求める。次に、第３のステップとして、鍵の種Ｃｅを、第２のステップで求められた値Ｌで復号化することにより、共通鍵を復元する。一方、乱数が奇数の場合には、アプリ１２０に分散保存された複数個の共通鍵の断片を回収して、鍵の種Ｋ、Ｃｏの２つを用いて共通鍵を復元する。具体的には、まず、第１のステップとして、アプリ１００に分散保存された複数個の共通鍵の断片を回収して、鍵の種Ｋ、Ｃｏを復元する。次に、第２のステップとして、復元された鍵の種Ｋを同じく鍵の種Ｋで３回暗号化した値Ｍを求める。次に、第３のステップとして、鍵の種Ｃｏを、第２のステップで求められた値Ｍで復号化することにより、共通鍵を復元する。なお、この場合、認証アプリ２２０は、乱数を生成する乱数生成部を備え、共通鍵暗号化部２２７は、暗号化した公開鍵、および乱数生成部で生成された乱数をアプリ１２０に送信する。
【００８６】
なお、各実施形態および変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。
【符号の説明】
【００８７】
１      アプリケーション認証システム
１０    携帯電話機
１１    通信部
１２    ＵＩ部
１００  アプリ
１０１  前処理情報記憶部
１０２  起動制御部
１０３  認証部
１０４  変換情報生成部
１０５  認証鍵暗号化部
２０    ＵＩＭカード
２１    通信部
２００  認証アプリ
２０１  鍵情報記憶部
２０２  認証鍵送信部
２０３  認証鍵復号化部
２０４  改ざん判定部
２０５  認証鍵生成部
２０６  前処理情報生成部
【図１】
2012212405.tif 000003
【図２】
2012212405.tif 000004
【図３】
2012212405.tif 000005
【図４】
2012212405.tif 000006
【図５】
2012212405.tif 000007
【図６】
2012212405.tif 000008