(57)【特許請求の範囲】
【請求項１】
個人情報を含むプライベートデータを利用する携帯端末装置であって、
前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、前記携帯端末に装填されるユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとを備え、
前記プライベートデータは、前記ユーザ識別カードに記憶され、
前記第１のアプリケーションプログラムは、所定の公開鍵証明書により証明される公開鍵に対応する秘密鍵に基づいて生成された電子署名値データと、当該公開鍵証明書に基づき生成されたハッシュ値を含み、所定の暗号化鍵を用いて暗号化された許可証データとを備え、
前記第２のアプリケーションプログラムは、前記暗号化鍵に対応する復号化鍵を用いて前記許可証データを復号化し、
前記携帯端末装置は、前記携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムをさらに備え、
前記第３のアプリケーションプログラムは、前記第２のアプリケーションプログラムによって前記復号化鍵を用いて復号化されたデータに含まれるハッシュ値と、前記第１のアプリケーションプログラムの電子署名値データのハッシュ値とに基づいて、前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスの許否を判断し、
前記第２のアプリケーションプログラムは、前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスが許可された場合に、前記許可証データに含まれる、前記プライベートデータの利用に関するデータに基づいて、前記ユーザ識別カードに記憶される前記プライベートデータの取得及び／または前記プライベートデータを用いた処理を実行することを特徴とする携帯端末装置。
【請求項２】
前記許可証データは、所定の許可証発行サーバから前記携帯端末に送信されて前記第１のアプリケーションプログラムに保存され、
前記復号化鍵は、前記許可証発行サーバにおいて、前記ユーザ識別カードのＩＤごとに生成され、前記携帯端末装置に送信されて当該ＩＤに対応する前記ユーザ識別カードに記憶される請求項１に記載の携帯端末装置。
【請求項３】
ユーザ識別カードに記憶された、個人情報を含むプライベートデータへのアクセスが許可されていることを示す許可証を、携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムごとに発行するサーバであって、
前記第１のアプリケーションプログラムの署名用の公開鍵証明書データを取得する受信部と、
データの暗号化及び復号化に用いる鍵を生成する鍵生成部と、
前記公開鍵証明書に基づき生成されたハッシュ値と前記プライベートデータの利用に関するデータとを含み、前記鍵生成部にて生成された暗号化のための鍵を用いて許可証データを生成する許可証データ生成部と、
を備え、
前記許可証データは、前記第１のアプリケーションプログラムに組み込まれ、
前記復号化に用いる鍵は、前記ユーザ識別カードに記憶され、
前記ユーザ識別カードに記憶される前記復号化鍵を用いて復号化された、前記第１のアプリケーションに組み込まれた前記許可証データに含まれるハッシュ値と、前記第１のアプリケーションプログラムの電子署名値データのハッシュ値とに基づいて、前記第１のアプリケーションプログラムによる、前記プライベートデータへのアクセスの可否が判断されることを特徴とするサーバ。
【請求項４】
携帯電話通信網に接続される携帯端末装置と、サーバとを備えた電子データ利用システムであって、
前記サーバは、
ユーザ識別カードに記憶された電子データへのアクセスが許可されていることを示す許可証を、携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムごとに発行するサーバであって、
前記第１のアプリケーションプログラムの署名用の公開鍵証明書データを取得する受信部と、
データの暗号化及び復号化のための鍵を生成する鍵生成部と、
前記公開鍵証明書に基づき生成されたハッシュ値を含み、前記鍵生成部にて生成された暗号化のための鍵を用いて許可証データを生成する許可証データ生成部と、
前記携帯端末装置に装填されるユーザ識別カードのＩＤデータに基づいて、前記プライベートデータが記憶されるユーザ識別カードに対して、前記鍵生成部にて生成された復号化のための鍵を送信する送信部と、
を備え、
前記携帯端末装置は、
前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、前記ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとを備え、
前記第１のアプリケーションプログラムは、所定の公開鍵証明書により証明される公開鍵に対応する秘密鍵に基づいて生成された電子署名値データと、前記許可証データとを備え、
前記第２のアプリケーションプログラムは、前記復号化のための鍵を用いて前記許可証データを復号化し、
前記携帯端末装置は、前記携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムをさらに備え、
前記第３のアプリケーションプログラムは、前記第２のアプリケーションプログラムによって前記復号化鍵を用いて復号化されたデータに含まれるハッシュ値と、前記第１のアプリケーションプログラムの電子署名値データのハッシュ値とに基づいて、前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスの許否を判断し、
前記第２のアプリケーションプログラムは、前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスが許可された場合に、前記許可証データに含まれる、前記プライベートデータの利用に関するデータに基づいて、前記ユーザ識別カードに記憶される前記プライベートデータの取得及び／または前記プライベートデータを用いた処理を実行することを特徴とする電子データ利用システム。
【請求項５】
携帯電話通信網に接続される携帯端末装置と、サーバとを備えた電子データ利用システムにおける方法であって、
前記サーバは、
ユーザ識別カードに記憶された電子データへのアクセスが許可されていることを示す許可証を、携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムごとに発行するサーバであって、
前記第１のアプリケーションプログラムの署名用の公開鍵証明書データを取得するステップと、
データの暗号化及び復号化のための鍵を生成するステップと、
前記公開鍵証明書に基づき生成されたハッシュ値を含み、前記鍵生成部にて生成された暗号化のための鍵を用いて許可証データを生成するステップと、
前記携帯端末装置に装填されるユーザ識別カードのＩＤデータに基づいて、前記プライベートデータが記憶されるユーザ識別カードに対して、前記鍵生成部にて生成された復号化のための鍵を送信するステップと、
を備え、
前記携帯端末装置は、
前記携帯端末装置のオペレーティングシステム上で実行され、所定の公開鍵証明書により証明される公開鍵に対応する秘密鍵に基づいて生成された電子署名値データ及び前記許可証データを備えた第１のアプリケーションプログラムと、前記ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムと、前記携帯端末装置のオペレーティングシステム上で実行され、前記第１のアプリケーションプログラムによる、前記プライベートデータへのアクセスの許否を判断する第３のアプリケーションプログラムとを備え、
前記第２のアプリケーションプログラムによって、前記復号化のための鍵を用いて前記許可証データを復号化するステップと、
前記第３のアプリケーションプログラムによって、前記第２のアプリケーションプログラムにより前記復号化鍵を用いて復号化されたデータに含まれるハッシュ値と、前記第１のアプリケーションプログラムの電子署名値データのハッシュ値とに基づいて、前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスの許否を判断するステップと、
前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスが許可された場合に、前記第２のアプリケーションプログラムによって、前記許可証データに含まれる前記プライベートデータの利用に関するデータに基づいて、前記ユーザ識別カードに記憶される前記プライベートデータの取得及び／または前記プライベートデータを用いた処理を実行するステップと、
を備えることを特徴とする電子データ利用システムにおける方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートフォン上で利用可能な、電子証明書や個人情報を含むプライベートデータを用いる電子データ利用システムに関するものである。
【背景技術】
【０００２】
従来、ネットワーク上のセキュリティを確保するための技術として、電子証明書を利用した電子認証システムが知られている。電子証明書とは、信頼できる認証機関（認証局）により発行された、いわば、ネットワーク上の個人の身分証明書であり、当該個人の氏名、電子メールアドレスなどの個人識別情報や、公開鍵データを含む。かかる電子証明書を用いれば、例えば、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）等を利用して外部から組織内のネットワークにアクセスするときでも、容易にユーザ認証を行うことができる。また、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）ベースの電子署名を用いて、データの改ざんを防止することもできる。
【０００３】
なお、本発明に関連する先行技術として、以下の先行技術文献がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−４５２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
他方で、近年、スマートフォンと呼ばれる多機能携帯電話が急速に普及している。これに伴い、スマートフォンを利用したデータ通信も頻繁に行われるようになった。スマートフォン上で電子証明書データを利用する技術も実用化されていはいるが、さらに安全にスマートフォン上で電子証明書データを利用するための技術が求められている。
【０００６】
また、近年では、ネットバンキングシステムやオンライゲームに接続するため、個人情報を含むデータをスマートフォン上で処理して利用するケースが増えつつある。したがって、電子証明書データのみならず、このような個人情報を含む電子データを安全にスマートフォン上で利用できるようにするための技術が求められている。
【０００７】
本発明は、かかる課題に鑑みてなされたものであり、スマートフォンのアプリケーションプログラムで電子証明書や個人情報を含むプライベートデータ等の電子データを安全に利用することができる電子データ利用システム等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の電子データ利用システムは、携帯電話通信網に接続される携帯端末装置と、所定の電子データを配信する電子データ配信サーバとを備えた、電子データ利用システムであって、前記電子データ配信サーバは、各ユーザの電子データを、各ユーザが使用する携帯端末装置に装填されるユーザ識別カードのＩＤデータと対応付けて管理する電子データ管理部と、携帯端末装置からの、電子データのダウンロード要求に応じて、当該携帯端末装置に装填されるユーザ識別カードのＩＤデータに基づいて、対応する電子データを送信する送信部と、備え、前記携帯端末装置は、前記電子データ配信サーバに対して、電子データのダウンロード要求を、当該携帯端末装置に装填されるユーザ識別カードのＩＤデータとともに送信するダウンロード要求出力部と、前記電子データ配信サーバから取得した電子データを前記ユーザ識別カードに記録する電子データ記録部と、前記携帯端末装置のユーザにより入力される、前記ユーザ識別カードに記憶される電子データを用いた所定の処理の実行の指示を受け付ける指示受付部と、前記指示受付部にて受け付けた処理の実行指示に基づき、前記ユーザ識別カードに記憶される電子データを取得して、実行指示に対応する処理を実行する電子データ処理実行部と、を備え、前記電子データ処理実行部は、前記ユーザ識別カード内で、前記実行指示に対応する処理を実行する。
【０００９】
この構成によれば、ユーザの電子データが、対応付けられたＩＤデータを有するユーザ識別カードが装填された携帯端末装置にダウンロードされる。ダウンロードされた電子データは、ユーザ識別カードに格納される。ユーザの指示に基づき、ユーザ識別カード内に格納された電子データを用いて、携帯端末装置上で処理が実行される場合は、ユーザ識別カード内で、指示に対応する処理が実行される。このように、電子データはアクセスのための手続きが制限された、セキュアエレメントである識別カード内に格納されるので、スマートフォン内で安全に電子データを保持することができる。また、電子データを用いた処理は、ユーザ識別カード内で実行されるので、電子データに含まれる、秘密鍵データ等の漏洩を防止することができる。
【００１０】
本発明の携帯端末装置は、電子データを、ユーザ識別カードに記憶させる携帯端末装置であって、前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、前記ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとを備え、前記第１のアプリケーションプログラムは、前記携帯端末装置のユーザにより入力される、前記ユーザ識別カードに記憶される電子データを用いた所定の処理の実行の指示を受け付け、前記第２のアプリケーションプログラムは、前記第１のアプリケーションプログラムにて受け付けた実行指示に対応する処理を実行する。
【００１１】
この構成によれば、ユーザの指示は、携帯端末装置のオペレーティングシステム上で動作する第１のアプリケーションプログラムで受け付け、当該指示に基づく電子データの処理は、ユーザ識別カードのオペレーティングシステム上で動作する第２のアプリケーションプログラムで実行される。すなわち、電子データを用いた処理は、２つの異なるオペレーティングシステム上で動作する２つのアプリケーションプログラムにより分担して実行されることになる。一般に、２つのオペレーティングシステムを同時に攻撃するウィルスは存在しないと言われている。したがって、かかる構成により、ウィルスによるデータの漏洩、改ざん等を防止し、安全に電子データを利用することができる。なお、所定の処理には、ユーザ識別カードに記憶される電子データの取得も含まれる。
【００１２】
本発明の携帯端末装置は、携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムをさらに備え、前記第３のアプリケーションプログラムは、前記第１のアプリケーションプログラムにて受け付けた実行指示に対応する電子データ処理コマンドを前記第２のアプリケーションプログラムに対して出力し、前記第２のアプリケーションプログラムは、前記電子データ処理コマンドに基づいて、前記実行指示に対応する、電子データを用いた処理を実行してよい。
【００１３】
この構成によれば、ユーザ指示を受け付ける第１のアプリケーションプログラム及び、電子データを用いた処理を実行する第２のアプリケーションプログラムとは別個の第３のアプリケーションプログラムが設けられる。そして、この第３のアプリケーションプログラムを介して、ユーザ指示に対応する処理コマンドが第２のアプリケーションプログラムに出力される。したがって、第１のアプリケーションが複数種類存在する場合でも、同じ第２のアプリケーションプログラムによって、電子データを利用した処理を実行することができる。仮に、かかる機能を第１のアプリケーションプログラムに組み込まれるライブラリ等により実現する場合、例えば、ユーザ識別カード内に記憶される秘密鍵データを用いた処理コマンド等、セキュリティ確保の観点から高い秘匿性が要求されるデータまで、第１のアプリケーションが保持しなければならないことになる。そして、ユーザは、第１のアプリケーションプログラムを直接操作可能であり、また、第１のアプリケーションプログラムが新たに開発されるたびに、かかるデータが不特定の開発者に開示されることにもなる。したがって、第２のアプリケーションプログラムが実行可能な処理コマンドを出力する第３のプログラムを別個に備え、第３のプログラムにおける具体的な処理内容は、第１のアプリケーションプログラムからみて「ブラックボックス」とすることで、さらに安全に、携帯端末装置上で電子データを利用した処理を実行することができる。
【００１４】
本発明の携帯端末装置において、前記第１のアプリケーションプログラムは、相互に異なる第１のアプリケーションプログラムが前記第３のアプリケーションプログラムにアクセスするための共通ライブラリを備え、前記第３のアプリケーションプログラムは、アプリケーション証明書に基づく認証により、前記第１のアプリケーションプログラムからの前記第３のアプリケーションプログラムに対するアクセスを許可してよい。
【００１５】
この構成によれば、第１のアプリケーションプログラムが複数種類存在する場合でも、共通の第３のアプリケーションプログラムを介して、第２のアプリケーションプログラムによる電子データを用いた処理を実行することができる。また、アプリケーション証明書による認証に基づいて、第１のアプリケーションプログラムが、第３のアプリケーションプログラムにアクセスを許可することで、さらに安全に、携帯端末装置上で電子証明書データを利用した処理を実行することができる。
【００１６】
本発明のプログラムは、携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとの間でデータの入出力を行う、携帯端末装置のオペレーティングシステム上で実行される共通プログラムであって、前記第１のアプリケーションプログラムは、前記携帯端末装置のユーザにより入力される、前記ユーザ識別カードに記憶される電子データを用いた所定の処理の実行の指示を受け付け、前記第２のアプリケーションプログラムは、前記第１のアプリケーションプログラムにて受け付けた実行指示に対応する処理を実行し、前記共通プログラムは、前記携帯端末装置に、前記第１のアプリケーションプログラムにて受け付けた実行指示を取得するステップと、取得した実行指示に基づき、前記第２のアプリケーションプログラムが実行可能な、電子データ処理コマンドを前記第２のアプリケーションプログラムに対して出力するステップとを実行させる。
【００１７】
本発明の電子データ利用システムにおける方法は、携帯電話通信網に接続される携帯端末装置と、各ユーザの所定の電子データを、当該ユーザが使用する携帯端末装置に配信する電子データ配信サーバとを備えた、電子データ利用システムにおける方法であって、前記電子データ配信サーバは、各ユーザの所定の電子データを、各ユーザが使用する携帯端末装置に装填されるユーザ識別カードのＩＤデータと対応付けて管理するステップと、携帯端末装置からの、電子データのダウンロード要求に応じて、当該携帯端末装置に装填されるユーザ識別カードのＩＤデータに基づいて、対応する電子データを送信するステップと、を備え、前記携帯端末装置は、前記電子データ配信サーバに対して、電子データのダウンロード要求を、当該携帯端末装置に装填されるユーザ識別カードのＩＤデータとともに送信するステップと、前記電子データ配信サーバから取得した電子データを前記ユーザ識別カードに記録するステップと、前記携帯端末装置のユーザにより入力される、前記ユーザ識別カードに記憶される電子データを用いた所定の処理の実行の指示を受け付けるステップと、前記指示受付部にて受け付けた処理の実行指示に基づき、前記ユーザ識別カードに記憶される電子データを取得して、実行指示に対応する処理を実行するステップと、を備え、前記電子証明書データ処理実行部は、前記ユーザ識別カード内で、前記実行指示に対応する処理を実行する。
【００１８】
本発明の他の態様の携帯端末装置は、電子データを利用する携帯端末装置であって、前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、前記ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとを備え、前記電子データは、前記携帯端末に装填されるユーザ識別カードに記憶され、所定の許可を受けた前記第１のアプリケーションプログラムのみがアクセス可能であって、前記携帯端末装置は、前記携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムをさらに備え、前記第３のアプリケーションプログラムは、前記第１のアプリケーションプログラムが備えるデータを前記第２のアプリケーションプログラムによって処理して得られるデータに基づいて、前記第１のアプリケーションプログラムが前記許可を受けた第１のアプリケーションプログラムであるか否かを判断する。
【００１９】
この構成によれば、個人情報を含むプライベートデータや電子証明書等の電子データはセキュアエレメントであるユーザ識別カード内に格納され、所定の許可を受けたスマートフォンアプリケーションプログラムのみにアクセスが許可される。したがって、モバイル端末においても、電子データを安全に格納し、利用することができる。
【００２０】
本発明の他の態様の携帯端末装置は、電子データを利用する携帯端末装置であって、前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、前記ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとを備え、前記電子データは、前記携帯端末に装填されるユーザ識別カードに記憶され、前記第１のアプリケーションプログラムは、所定の公開鍵証明書に基づいて署名され、かつ、当該公開鍵証明書に基づき所定の暗号化鍵を用いて生成された許可証データを備え、前記第２のアプリケーションプログラムは、前記暗号化鍵に対応する復号化鍵を用いて許可証データを復号化し、前記携帯端末装置は、前記携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムをさらに備え、前記第３のアプリケーションプログラムは、前記第２のアプリケーションプログラムにて前記復号化鍵を用いて復号化されたデータと、前記第１のアプリケーションプログラムの署名値データとに基づいて、前記電子データへの前記第１のアプリケーションプログラムによるアクセスの許否を判断する。
【００２１】
この構成によれば、個人情報を含むプライベートデータや電子証明書データ等の電子データはセキュアエレメントであるユーザ識別カード内に格納され、所定の許可を受けたスマートフォンアプリケーションプログラムのみにアクセスが許可される。したがって、モバイル端末においても、電子データを安全に格納し、利用することができる。また、許可証データの復号鍵もユーザ識別カード内に格納され、当該カード内で復号化処理が行われるので、アクセス許可の判断も、安全に行うことができる。
【００２２】
本発明の携帯端末装置において、前記第３のアプリケーションプログラムは、アプリケーション証明書に基づく認証により、前記第１のアプリケーションプログラムからの前記第３のアプリケーションプログラムに対するアクセスを許可してよい。
【００２３】
この構成によれば、アプリケーション証明書に基づく認証を経た第１のアプリケーションに対してのみ、アクセス許可の判断を行う第３のアプリケーションプログラムとの接続が許可される。すなわち、第３のアプリケーションプログラムへのアクセス、及び、ユーザ識別カード内の電子データへのアクセスの２つの段階において、それぞれ異なる手法でアクセス許否が判断されることになるので、電子データをより安全に管理、利用することができる。
【００２４】
本発明の携帯端末装置において、前記電子データは、少なくとも、電子証明書データを含み、前記第３のアプリケーションプログラムは、前記ユーザ識別カードに記憶される電子証明書データの少なくとも一部をインポートして格納するストアを、前記ユーザ識別カードごとに生成してよい。
【００２５】
この構成によれば、秘匿性の要請がそれほど高くない電子証明書データについては、ストア内にスマートフォンのオペレーティングシステム上で実行されるプログラムに保持しておくことができるので、高速なアクセスを可能とし、効率よく電子証明書データを利用することができる。また、ストアはユーザ識別カードごとに生成されるので、ユーザ識別カードが交換されても、効率よく電子証明書データを利用することができる。
【００２６】
本発明の携帯端末装置において、前記第３のアプリケーションプログラムは、前記ユーザ識別カードに記憶される電子データに関するデータをインポートして格納するストアを、前記ユーザ識別カードごとに生成してよい。
【００２７】
この構成によれば、秘匿性の要請の高い電子データの内容自体はユーザ識別カード内に保持しつつ、例えば、どのような電子データが記憶されているのかを簡単に確認することができる。また、ストアはユーザ識別カードごとに生成されるので、ユーザ識別カードが交換されても、効率よく電子データを利用することができる。
【００２８】
本発明のサーバは、ユーザ識別カードに記憶された、電子データへのアクセスが許可されていることを示す許可証を、携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムごとに発行するサーバであって、前記第１のアプリケーションプログラムの署名用の公開鍵証明書データを取得する受信部と、データの暗号化及び復号化に用いる鍵を生成する鍵生成部と、前記公開鍵証明書に基づき、前記鍵生成部にて生成された暗号化のための鍵を用いて許可証データを生成する許可証データ生成部と、を備え、前記許可証データは、前記第１のアプリケーションプログラムに組み込まれ、前記復号化に用いる鍵は、前記ユーザ識別カードに記憶され、前記ユーザ識別カードに記憶される前記復号化鍵を用いて復号化された、前記第１のアプリケーションに組み込まれた前記許可証データと、前記第１のアプリケーションプログラムの署名値データとに基づいて、前記第１のアプリケーションプログラムによる、前記電子データへのアクセスの可否が判断される。
【００２９】
本発明の電子データ利用システムは、携帯電話通信網に接続される携帯端末装置と、サーバとを備えた電子データ利用システムであって、前記サーバは、ユーザ識別カードに記憶された、電子データへのアクセスが許可されていることを示す許可証を、携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムごとに発行するサーバであって、前記第１のアプリケーションプログラムの署名用の公開鍵証明書データを取得する受信部と、データの暗号化及び復号化のための鍵を生成する鍵生成部と、前記公開鍵証明書に基づき、前記鍵生成部にて生成された暗号化のための鍵を用いて許可証データを生成する許可証データ生成部と、前記携帯端末装置に装填されるユーザ識別カードのＩＤデータに基づいて、前記電子データが記憶されるユーザ識別カードに対して、前記鍵生成部にて生成された復号化のための鍵を送信する送信部とを備え、前記携帯端末装置は、前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、前記ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとを備え、前記第１のアプリケーションプログラムは、所定の公開鍵証明書に基づいて署名され、かつ前記許可証データを備え、前記第２のアプリケーションプログラムは、前記復号化のための鍵を用いて許可証データを復号化し、前記携帯端末装置は、前記携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムをさらに備え、前記第３のアプリケーションプログラムは、前記第２のアプリケーションプログラムにて前記復号化鍵を用いて復号化されたデータと、前記第１のアプリケーションプログラムの署名値データとに基づいて、前記電子データへの前記第１のアプリケーションプログラムによるアクセスの許否を判断する。
【００３０】
本発明の電子データ利用システムにおける方法は、携帯電話通信網に接続される携帯端末装置と、サーバとを備えた電子データ利用システムにおける方法であって、前記サーバは、ユーザ識別カードに記憶された、電子データへのアクセスが許可されていることを示す許可証を、携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムごとに発行するサーバであって、前記第１のアプリケーションプログラムの署名用の公開鍵証明書データを取得するステップと、データの暗号化及び復号化のための鍵を生成するステップと、前記公開鍵証明書に基づき、前記鍵生成部にて生成された暗号化のための鍵を用いて許可証データを生成するステップと、前記携帯端末装置に装填されるユーザ識別カードのＩＤデータに基づいて、前記電子データが記憶されるユーザ識別カードに対して、前記鍵生成部にて生成された復号化のための鍵を送信するステップとを備え、前記携帯端末装置は、前記第１のアプリケーションプログラムは、前記許可証データを備え、かつ当該公開鍵証明書に基づいて署名された、前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムを備えた携帯端末装置であって、前記携帯端末装置は、前記ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムによって、前記復号化のための鍵を用いて許可証データを復号化するステップと、前記携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムによって、前記第２のアプリケーションプログラムにて前記復号化鍵を用いて復号化されたデータと、前記第１のアプリケーションプログラムの署名値データとに基づいて、前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスの許否を判断するステップとを備える。
【００３１】
本発明の他の態様の携帯端末装置は、時刻データを用いたデータを生成する携帯端末装置であって、前記携帯端末装置のオペレーティングシステム上で実行される第１のアプリケーションプログラムと、ユーザ識別カードのオペレーティングシステム上で実行される第２のアプリケーションプログラムとを備え、前記第２のアプリケーションプログラムは、所定の時刻サーバから送信された、所定の秘密鍵を用いて署名された時刻データを、前記ユーザ識別カード内に記憶される、前記秘密鍵に対応する公開鍵を用いて復号化して時刻データを取得し、前記第１のアプリケーションプログラムは、前記第２のアプリケーションプログラムにおいて復号化された時刻データを用いてデータを生成する携帯端末装置。
【００３２】
この構成によれば、署名された時刻データを復号化する鍵はセキュアエレメントであるユーザ識別カードに格納され、復号化処理もカード内で行われるため、安全に時刻データを取得して、データを生成することができる。
【００３３】
本発明の携帯端末装置において、前記ユーザ識別カードには、個人情報データであるプライベートデータが記憶され、前記第１のアプリケーションプログラムは、所定の公開鍵証明書に基づいて署名され、かつ、前記公開鍵証明書に基づき所定の暗号化鍵を用いて生成された許可証データを備え、前記第２のアプリケーションプログラムは、前記暗号化鍵に対応する復号化鍵を用いて許可証データを復号化し、前記携帯端末装置は、前記携帯端末装置のオペレーティングシステム上で実行される第３のアプリケーションプログラムをさらに備え、前記第３のアプリケーションプログラムは、前記第２のアプリケーションプログラムにて前記復号化鍵を用いて復号化されたデータと、前記第１のアプリケーションプログラムの署名値データとに基づいて、前記プライベートデータへの前記第１のアプリケーションプログラムによるアクセスの許否を判断し、前記第１のアプリケーションプログラムは、前記プライベートデータへのアクセスが許可された場合に、前記プライベートデータ及び前記第２のアプリケーションプログラムにおいて復号化された時刻データを用いたデータを生成してよい。
【００３４】
この構成によれば、プライベートデータはセキュアエレメントであるユーザ識別カード内に格納され、所定の許可を受けたスマートフォンアプリケーションプログラムのみにアクセスが許可される。したがって、モバイル端末においても、個人情報であるプライベートデータを安全に格納し、利用することができる。また、許可証データの復号鍵もユーザ識別カード内に格納され、当該カード内で復号化処理が行われるので、アクセス許可の判断も、安全に行うことができる。
【発明の効果】
【００３５】
本発明によれば、セキュアエレメントであるユーザ識別カードに電子データを格納して利用することができるので、スマートフォンのアプリケーションプログラムで電子データを安全に利用することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１の実施の形態における電子認証システムの構成を示すブロック図
【図２】本発明の第１の実施の形態におけるスマートフォンの構成を示すブロック図
【図３】ストアの概念を説明するための図
【図４】本発明の第１の実施の形態における電子認証システムの、電子証明書データ格納フェーズにおける動作フロー図
【図５】本発明の第１の実施の形態における電子認証システムの、電子証明書データ利用フェーズにおける動作フロー図
【図６】本発明の第１の電子認証システムを利用した適用例を説明するための図
【図７】本発明の第２の実施の形態における、プライベートデータへのアクセス許可の仕組みの概要を説明するための図
【図８】許可証発行サーバの構成を示すブロック図
【図９】本発明の第２の実施の形態におけるスマートフォンの構成を示すブロック図
【図１０】本発明の第２の実施の形態における電子データ利用システムにおける許可証発行サーバの動作フロー図
【図１１】本発明の第２の実施の形態における電子データ利用システムの、プライベートデータ利用フェーズにおける動作フロー図
【図１２】本発明の第３の実施の形態における電子データ利用システムの構成を示すブロック図
【図１３】本発明の第３の実施の形態におけるスマートフォンの構成を示すブロック図
【図１４】本発明の第３の実施の形態における電子データ利用システムの動作フロー図
【発明を実施するための形態】
【００３７】
＜第１の実施の形態＞
以下、本発明の第１の実施の形態の電子認証システムについて、図面を参照しながら説明する。
【００３８】
［システム構成］
（全体構成）
図１は、本発明の第１の実施の形態の電子認証システムの構成を示す図である。図１に示すように、本発明の第１の実施の形態の電子認証システム１は、電子証明書配信サーバ１０と、スマートフォン２０とを備える。
【００３９】
電子証明書配信サーバ１０は、電子証明書管理部１１と、ユーザ識別カードＩＤデータ取得部１２と、電子証明書データ送信部１３とを備える。電子証明書管理部１１は、認証局サーバ２１から送信された電子証明書データと、各ユーザが使用するスマートフォンに装填されているＵＩＭ（Ｕｓｅｒ  Ｉｄｅｎｔｉｆｙ  Ｍｏｄｕｌｅ）カードの固有番号であるＩＣＣＩＤ（ＩＣ  Ｃａｒｄ  Ｉｄｅｎｔｉｆｉｅｒ）とを対応付けて管理する。なお、認証局は、ユーザの申請に基づいて、電子認証に用いる公開鍵を登録し、当該公開鍵データ、ユーザデータ、認証局を示すデータとを対応付けて、電子証明書を発行する。この電子証明書データには、登録された公開鍵に対応する秘密鍵データも含まれる。
【００４０】
ユーザ識別カードＩＤデータ取得部１２は、スマートフォン２０からの、電子証明書データのダウンロード要求に応じて、スマートフォン２０に装填されるＩＣＣＩＤを取得する。電子証明書データ送信部１３は、電子証明書管理部１１により管理されるデータを参照して、ユーザ識別ＩＤカードデータ取得部１２にて取得されたＩＣＣＩＤに対応する電子証明書を特定し、携帯電話通信網を介してスマートフォン２０に送信する。スマートフォン２０に送信された電子証明書データは、後述するように、スマートフォン２０に装填されているＵＩＭカード３０に記録される。
【００４１】
（スマートフォンの構成）
図２は、スマートフォン２０の構成を示す図である。図２に示すように、スマートフォン２０は、スマートフォンアプリケーションプログラム２１、通信部２２、ストアサービス２３、ＵＩＭカード３０、を備える。ＵＩＭカード３０は、カードアプリケーションプログラム３１、電子証明書データ記憶部３２を備える。スマートフォンアプリケーションプログラム２１は、指示受付部２１１、アクセスライブラリ２１２を備える。また、ストアサービス２３は、アクセス受付部２３１、コマンド変換部２３２を備える。カードアプリケーションプログラム３１は、処理実行部３１１を備える。
【００４２】
スマートフォンアプリケーションプログラム２１は、スマートフォン２０のオペレーティングシステム上で実行されるアプリケーションプログラムであり、記憶された電子証明書データを利用するためのアプリケーションプログラムである。ユーザは、スマートフォンアプリケーションプログラム２１を介して、電子証明書データを利用した種々の処理の実行を指示する。すなわち、本実施の形態において、スマートフォンアプリケーションプログラム２１は、主として、ユーザインターフェースの役割を果たす。
【００４３】
指示受付部２１１は、ユーザからの電子証明書データを用いた処理の実行の指示を受け付ける。ＵＩＭカード３０に複数の電子証明書データが含まれる場合、ユーザは、処理に用いる電子証明書データを選択する。この場合、実行指示には、選択された電子証明書データを識別するデータも含まれる。アクセスライブラリ２１２は、複数のスマートフォンアプリケーションプログラム２１が共通に利用するライブラリであり、スマートフォンアプリケーションプログラム２１がストアサービス２３にアクセスするためのインターフェースを提供する。
【００４４】
ストアサービス２３は、スマートフォン２０のオペレーティングシステム上で動作するアプリケーションプログラムであり、スマートフォンアプリケーションプログラム２１と、カードアプリケーションプログラム３１との間のデータの仲介を行う。ストアサービス２３は、アクセス受付部２３１、コマンド変換部２３２を備える。
【００４５】
アクセス受付部２３１は、アクセスライブラリ２１２とストアサービス２３との接続を行う。ストアサービス２３は、接続を許可するスマートフォンアプリケーションプログラムのＩＤデータを保持しており、アクセス受付部２３１は、アクセスライブラリ２１２からの接続要求に応じて、アプリケーション証明書に含まれるアプリケーションＩＤデータに基づいて認証を行う。その結果、アクセスライブラリ２１２を備えるスマートフォンアプリケーションプログラム２１が、カードアプリケーションプログラム３１による電子証明書データを用いた処理結果を利用することができる正当なアプリケーションプログラムであると判断された場合には、ストアサービス２３との接続を許可する。アクセス受付部２３１は、さらに、選択された電子証明書の有効性検証を行う。なお、有効性検証の際、アクセス受付部２３１は、電子証明書データが失効していないかを、認証局のサーバと接続して、確認する。本実施の形態において、この電子証明書の失効データは、失効データにより示される有効期間内またはそれに近い期間内は、ストアサービス内で一元的に管理され、保存される。したがって、当該保存期間内においては、ストアサービス２３は、電子証明書データの失効の有無を繰り返し確認する必要はない。
【００４６】
コマンド変換部２３２は、指示受付部２１１にて受け付けた指示データを、カードアプリケーションプログラム３１が実行可能なコマンドに変換する。
【００４７】
カードアプリケーションプログラム３１は、ＵＩＭオペレーティングシステム上で動作するアプリケーションプログラムであり、処理実行部３１１を備える。処理実行部３１１は、ストアサービス２３から出力された処理コマンドに応じて、電子証明書データ記憶部３２から、必要な電子証明書データを取得し、電子証明書データを用いて、例えば、秘密鍵データを用いた暗号化／復号化等の処理を実行する。
【００４８】
なお、本実施の形態においては、ストアサービス２３はさらに、ＵＩＭカード３０に記憶される電子証明書データを管理するためのデータベース（ストア）を備え、証明書ストアとしての機能も果たす。秘密鍵データの内容等は電子証明書データの中でも特に秘匿性の高い情報であるため、秘密鍵を用いた復号化等の処理は、上述のように、ＵＩＭカード３０内で実行される。しかし、例えば、特定された電子証明書データの有効性や信頼性を検証する場合、ＵＩＭカードに登録されているルート証明書を一覧表示させる場合には、秘密鍵を用いた処理ほど秘匿性の高い情報は使用されない。このような場合にまで、毎回ＵＩＭカードから電子証明書データを取得することは、煩雑であり、時間も要する。そこで、電子証明書の検証等の所定の処理については、ストアサービス２３は、アクセスライブラリ２１２からの指示に応じて、ストアからデータを読み出して、処理を実行したり、読み出したデータをアクセスライブラリ２１２に出力する。
【００４９】
図３は、ストアの概念を説明するための図である。図３に示すように、ストアは、ＵＩＭカードごとに構成され、各ＵＩＭカードがどのような電子証明書データを有するかを管理する。ストアサービス２３は、起動されると、スマートフォン２０に挿入されているＵＩＭカードのＩＣＣＩＤを取得し、対応するストアを特定する。また、ＵＩＭカードに新たにダウンロードされた電子証明書データが存在すれば、対応するストアに電子証明書データを追加する。
【００５０】
対応するストアが存在しない場合、ストアサービス２３は、挿入されているＵＩＭカードから、カードアプリケーションプログラムを通じて電子証明書データをインポートして、取得したＩＣＣＩＤに対応する新たなストアを生成する。なお、本実施の形態において、ＵＩＭカード３０には、プライベート証明書については、ルート証明書、中間証明書、エンドエンティティ証明書が、パブリック証明書については、エンドエンティティ証明書が記憶され得る。セキュリティを確保しつつ、利便性を高めることが、ストアサービスがストア機能を備える目的であるから、秘密鍵データなどの秘匿性の高い電子証明書データはインポートされない。また、カードアプリケーションプログラム３１が削除された場合には、当該カードアプリケーションプログラム３１からインポートされた電子証明書データも削除される。ストアサービス２３にインポートされた電子証明書データは、ルート証明書、中間証明書、エンドエンティティ証明書に分類される。
【００５１】
ルート証明書及び中間証明書のストアには、また、ＵＩＭカード３０からインポートした、プライベートルート証明書、プライベート中間証明書が記憶されるほか、スマートフォン２０のオペレーティングシステムが提供する証明書ストアが保持する、パブリックルート証明書、パブリック中間証明書も記憶される。したがって、スマートフォンアプリケーションプログラム２１が取得した他のユーザのエンドエンティティ証明書の検証を行う際、ストア内のルート証明書、中間証明書を用いて認証パスの構築を行なえばよく、スマートフォンアプリケーションごとにルート証明書や中間証明書を管理する必要はない。このように、ストアサービス２３が提供するストアによれば、スマートフォン上の電子証明書データを一元的に管理することができる。
【００５２】
ユーザは、このようにしてストアサービス２３にインポートされた電子証明書データのうち、信頼できない証明書を「信頼されない証明書」に分類することができる。例えば、秘密鍵または関連するセキュリティ情報の盗難・漏洩等により、ある認証局が危殆化した場合等、特定の認証局を信頼することができない場合には、当該認証局が発行した証明書を、まとめて「信頼されない証明書」に分類することができる。
【００５３】
「信頼されない証明書」に分類された電子証明書は、選択された電子証明書の検証を行う際に、認証パスの構築から除外される。認証パスの構築から除外されることにより、「信頼されない証明書」をパスの上位に含む電子証明書は全て信頼性を検証することができず、その結果として、検証対象の証明書は無効と判断される。このようにしてストアサービス２３が、ストアを利用して行った検証の結果、電子証明書が無効と判断された場合、その旨がＵＩＭカード３０のカードアプリケーションプログラム３１に通知される。そして、スマートフォンアプリケーションプログラム２１において、無効である電子証明書データを利用した所定の処理の実行（無効である公開鍵証明書が証明する公開鍵を用いた電子署名等）が選択された場合には、カードアプリケーションプログラム３１は、当該電子証明書データが無効であり、使用できない旨のメッセージをストアサービス２３を経由してスマートフォンアプリケーションプログラム２１に出力する。
【００５４】
上述のように、ストアは、ＵＩＭカードごとに生成される。近年では、特定の通信会社のＵＩＭカードに限らず、各通信会社のＵＩＭカードを挿入して利用可能である「ＳＩＭロックフリー」のスマートフォン端末が広まりつつある。ストアサービス２３において、ＵＩＭカードごとにストアを生成し、挿入されたカードに応じてストアを切り替えて使用することで、このようなＳＩＭロックフリーのスマートフォンにおいても、容易に電子証明書データを利用することができる。
【００５５】
ストアサービス２３はまた、ストアに記憶されるデータに基づいて、アクセスライブラリ２１２との接続中にのみ使用される一時的なストア（セッションストア）を生成する。スマートフォンアプリケーションプログラム２１において、例えば、他のユーザのエンドエンティティ証明書を取得する場合、当該他のユーザを含む特定のユーザのみが使用する中間証明書が付属する場合がある。かかる中間証明書をストアに保存しておくと、中間証明書を受信したユーザが、当該中間証明書を使用できるユーザでないにもかかわらず、当該中間証明書を利用できてしまうおそれがある。そこで、スマートフォンアプリケーションプログラム２１を通じて取得した他のユーザの電子証明書は、セッションストアに一時的に保持する。セッションストアは、アクセスライブラリとの接続が切断されると消滅する。
【００５６】
［動作フロー］
（電子証明書格納フェーズ）
次に、本発明の第１の実施の形態の電子認証システム１の動作フローについて、図面を参照しながら説明する。図４は、電子証明書データがスマートフォン２０のＵＩＭカード内に格納されるまでの動作フロー図である。まず、スマートフォン２０が電子証明書配信サーバ１０に対して、ダウンロード要求を送信すると（ステップＳ１）、電子証明書配信サーバ１０は、スマートフォン２０に対して電子証明書データを送信する（ステップＳ２）。スマートフォン２０により電子証明書データのダウンロード状態に問題ないことが確認されると（ステップＳ３）、ＵＩＭカード３０にて、電子証明書データが記憶される（ステップＳ４）。
【００５７】
（電子証明書利用フェーズ）
図５は、図４のステップＳ４までの処理により格納された電子証明書データが、スマートフォン２０上で利用されるときの動作フロー図である。まず、スマートフォンアプリケーションプログラム２１は、ユーザ指示を受け付ける（ステップＳ１１）。そして、ステップＳ１１にて受け付けたユーザ指示に応じて、処理を行う電子証明書を特定するとともに、カードアプリケーションプログラム３１が実行可能なコマンド変換を行う（ステップＳ１２）。ＵＩＭカード３０は、電子証明書データを取得して（ステップＳ１３）、コマンドを実行し、秘密鍵データを用いた暗号化／復号化等の処理を行う（ステップＳ１４）。
【００５８】
以上説明したように、本発明の第１の実施の形態の電子認証システムでは、認証局が発行した電子証明書は、電子証明書配信サーバ１０を介して、スマートフォン２０に送信される。スマートフォン２０は、受信した電子証明書データを、ＵＩＭカード３０上の電子証明書データ記憶部３２に記憶させる。ＵＩＭカードは、物理的な破壊により、内部データを消滅させることができるとともに、内部へのアクセスのための手続きも限定された、セキュアエレメントの一種である。しかも、ＵＩＭカードその他のユーザ識別カードは、スマートフォンの電話番号を識別するために、スマートフォン２０がもともと備える記憶媒体である。したがって、ＵＩＭカードに電子証明書データを格納することで、新たな媒体を要することなく、電子証明書データを安全に保持することができる。
【００５９】
また、本実施の形態では、スマートフォンアプリケーションプログラム２１とは別に、ＵＩＭカード３０内のカードアプリケーションプログラム３１により、電子証明書データを用いた処理が実行される。このように、電子証明書データ記憶部３２から読み出された電子証明書データは、ユーザインターフェースの役割を果たすスマートフォンアプリケーションプログラムとは別個の、ＵＩＭカード内で動作するアプリケーションプログラムによって、ＵＩＭカード３０内で処理されるため、カード外部に秘密鍵等のデータが漏洩することを防止することができる。
【００６０】
さらに、本実施の形態のスマートフォン２０は、スマートフォンのオペレーティングシステム上で動作するストアサービス２３を備える。そして、ストアサービスを介して、ユーザ指示に対応する処理コマンドがカードアプリケーションプログラム２１に出力される。したがって、スマートフォンアプリケーションプログラム２１が複数種類存在する場合でも、同じカードアプリケーションプログラム３１によって、電子証明書データを利用した処理を実行することができる。そして、ストアサービス２３では、スマートフォンアプリケーションプログラム２１からの処理要求が、カードアプリケーションプログラム３１で実行可能なコマンドに変換される。すなわち、ストアサービス２３から出力される、カードアプリケーションプログラム３１の具体的なコマンドの内容は、スマートフォンアプリケーションプログラム２１からみて「ブラックボックス」である。したがって、さらに安全に、スマートフォン上で電子証明書データを利用した処理を実行することができる。
【００６１】
［適用例］
本発明の実施の形態の電子認証システムを用いた具体的な適用例は、以下のとおりである。
（電子身分証明書）
上述のように、電子証明書データには、氏名などの個人情報を含み、個人の身分証明書としての機能を有する。そこで、ＵＩＭカード３０にダウンロードした電子証明書を用いて、スマートフォン２０を身分証代わりに使用することもできる。ＵＩＭカード３０にダウンロードする個人情報は、電子証明書に限られない。例えば、認証局にて電子証明書の発行を申請する際、会社名や所属部署、社員番号等の社員証データを対応付けて登録しておくこともできる。これにより、必要な時に、登録済みのスマートフォンに対して社員証データを送信することで、スマートフォンを即時に社員証として使用することができる。送信された社員証データは、ＵＩＭカードに記録され、社員証表示用のスマートフォンアプリケーションプログラム及び認証局に対応するカードアプリケーションプログラムによって、図６に示すように、スマートフォンのディスプレイ上に表示される。本発明の実施の形態の電子認証システムを利用することで、スマートフォンに格納された社員証データは、必要な時に安全に、繰り返し、ＵＩＭカードから読み出されてスマートフォンの画面上に表示させることができる。
【００６２】
（カード認証）
また、近年では、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）規格に準拠したスマートフォンも普及している。本発明の実施の形態の電子認証システムに、ＮＦＣのエミュレーション機能を有するスマートフォンアプリケーションプログラムを備えるスマートフォンを適用すれば、スマートフォン端末をＮＦＣ対応のリーダ／ライタ機器にかざすだけで、ＵＩＭカード上に格納された電子証明書データを用いたカード認証を行うことができる。この場合も、電子証明書データの読み出しは、カードアプリケーションプログラムによって、ＵＩＭカード内で行われる。
【００６３】
このように、本発明の実施の形態の電子認証システムによれば、コストをかけずに１台のスマートフォン上で様々な認証技術を利用することができる。
【００６４】
［変形例］
上記の実施の形態では、ＵＩＭカードに電子証明書データが格納される場合について説明したが、スマートフォンや携帯電話のユーザを識別するための媒体であればよく、ＵＩＭカードに限られない。また、ストアサービスやカードアプリケーションプログラム等は、本実施の形態において説明した機能以外の機能を備えていてよいことは言うまでもない。
【００６５】
例えば、ユーザにより、秘密鍵を利用した処理の実行が指示された場合には、ストアサービスが入力画面をポップアップ表示させてＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｉｔｏｎ  Ｎｕｍｂｅｒ）認証を行い、処理の実行の可否を判断してもよい。スマートフォンアプリケーションプログラムが共通して使用するストアサービス２３がＰＩＮ情報をＵＩＭカードから取得して認証を行うため、各スマートフォンアプリケーションプログラムにＰＩＮ情報を開示する必要はない。これにより、ＰＩＮ情報の漏洩を防止し、さらに安全に、電子証明書データを利用した処理を実行することができる。
【００６６】
また、ＵＩＭカード内に複数の秘密鍵が複数記憶される場合に、ストアサービスがストアに記憶される情報に基づき、秘密鍵選択画面として、秘密鍵付き公開鍵証明書のリストをポップアップ表示し、ユーザの選択を受け付けてもよい。スマートフォンアプリケーションプログラムが共通に使用するストアサービスが選択肢の提示及び選択の受付を行うため、スマートフォンアプリケーションプログラムに対し、秘密鍵付き公開鍵証明書の情報を開示する必要はない。これにより、秘密鍵付き公開鍵証明書の情報の漏洩を防止し、さらに安全に、電子証明書データを利用した処理を実行することができる。この場合において、スマートフォンアプリケーションプログラムのＩＤデータに応じて、秘密鍵選択画面に表示させる秘密鍵付き公開鍵証明書リストを変更し、選択できる秘密鍵を制限してもよい。
【００６７】
＜第２の実施の形態＞
第１の実施の形態では、セキュアエレメントであるＵＩＭカード内に電子証明書データを格納し、ＵＩＭカード内で電子証明書データを利用した処理を実行する例について説明した。第２の実施の形態では、ＵＩＭカードにプライベートデータを格納し、格納されたデータを安全に取得、利用することができる、電子データ利用システムについて説明する。なお、プライベートデータとは、個人情報を含むデータであって、テキストデータや画像データ等、種々の形式のデータが含まれる。
【００６８】
第１の実施の形態において説明したように、秘密鍵を用いた処理はＵＩＭカードアプリケーションプログラムによってＵＩＭカード内で行われ、かつ、ＵＩＭカードアプリケーションプログラムが用いる処理コマンドはストアサービスから出力される。すなわち、電子証明書データの場合には、スマートフォンアプリケーションプログラムには、処理結果のみを返せば足り、ＵＩＭカードに格納することでセキュアに保護しようとする情報（電子証明書データ）自体をスマートフォンアプリケーションプログラムに対して、出力する必要はない。
【００６９】
これに対して、プライベートデータをスマートフォン上で利用するケースとしては、例えば、当該プライベートデータ自体を含む情報をスマートフォン上に表示させることなどが想定される。また、スマートフォンアプリケーションプログラムに対し、プライベートデータを用いた処理結果を返す場合でも、その処理結果にプライベートデータが示す個人情報が含まれることが想定される。すなわち、ＵＩＭカードに格納することでセキュアに保護しようとする情報（個人情報）自体を、ユーザとのインターフェースの役割を果たすスマートフォンアプリケーションプログラムに出力する必要があるため、電子証明書データの場合に比べて、漏洩のリスクが高い。したがって、プライベートデータを利用する場合には、電子証明書データを利用する場合よりもさらにセキュリティを確保する必要がある。
【００７０】
第１の実施の形態では、ストアサービスが、アプリケーション証明書による認証を行うことで、正当なアプリケーションプログラムであると判断された場合に、当該スマートフォンアプリケーションプログラムとストアサービスとの接続を許可した。第２の実施の形態では、かかるアプリケーション証明書による認証に基づき、スマートフォンアプリケーションプログラムとストアサービスとが接続された後、ストアサービスが、さらに、スマートフォンアプリケーションプログラムに対して発行された許可証を用いた認証を行う。そして、当該スマートフォンアプリケーションプログラムが、ＵＩＭカード内のプライベートデータにアクセスする権限を有する正当なアプリケーションプログラムであると判断された場合にのみ、プライベートデータへのアクセスを許可する。すなわち、許可証とは、当該アプリケーションプログラムが、ＵＩＭカード内に記憶されるプライベートデータにアクセスする正当な権限を有することを示す証明書である。
【００７１】
［概要］
図７は、第２の実施の形態における、許可証を用いた、プライベートデータへのアクセス許可の仕組みの概要を説明するための図である。プライベートデータ管理サーバ５０は、各ユーザの個人情報を含むプライベートデータを、ユーザの送信要求に応じて、ＩＣＣＩＤに基づいて、対応するＵＩＭカードが装填されたスマートフォン２０に送信し、ＵＩＭカード３０に記憶させる。スマートフォンアプリケーションプログラム開発者がアプリケーションプログラム署名用の公開鍵証明書を許可証発行サーバ４０に提出すると、許可証発行サーバ４０は、スマートフォンアプリケーションプログラムの種類ごとに許可証を発行し、プログラム開発者に送信する。
【００７２】
スマートフォンアプリケーションプログラムを、スマートフォンのオペレーティングシステムが提供するプラットフォームを通じて公開、頒布する場合、当該スマートフォンアプリケーションプログラムに署名を行わなければならないこととされている場合が多い。このため、スマートフォンアプリケーションプログラムの開発者は、新たなスマートフォンアプリケーションプログラムを開発すると、秘密鍵、公開鍵、公開鍵証明書を作成し、当該スマートフォンアプリケーションプログラムに署名を行うのが一般的である。許可証は、この仕組みを利用して、スマートフォンアプリケーションプログラム署名用の公開鍵証明書に基づき生成されるものである。
【００７３】
スマートフォンアプリケーションプログラムの開発者は、スマートフォンアプリケーションプログラムへの署名を行い、許可証発行サーバ４０から取得した許可証をハードコーディングして（必要に応じてさらに難読化処理を施して）、当該スマートフォンアプリケーションプログラムをユーザに頒布する。スマートフォンアプリケーションプログラムへの署名は、許可証発行サーバ４０に提出した公開鍵証明書により証明される公開鍵に対応する秘密鍵を用いて行われる。
【００７４】
そして、当該スマートフォンアプリケーションプログラムをスマートフォンにダウンロードしたユーザが、当該スマートフォンアプリケーションプログラムにおいて、ＵＩＭカード３０内に記憶されるプライベートデータへのアクセスを要求する場合には、ストアサービス２３が、当該スマートフォンアプリケーションプログラムに組み込まれた許可証の検証を行い、プライベートデータへのアクセスの許否を判断する。許可証の検証は、スマートフォンアプリケーションプログラムの署名値と許可証データとに基づいて行われる。
【００７５】
［システム構成］
（許可証発行サーバの構成）
図８は、許可証発行サーバ４０の構成を示す図である。図８に示すように、許可証発行サーバ４０は、許可証生成部４１、許可証共通鍵生成部４２、通信部４３を備える。許可証生成部４１は、スマートフォンアプリケーションプログラムの開発者から取得した公開鍵証明書から、許可証を生成する。具体的には、公開鍵証明書データをＳＨＡ−２５６などの関数を用いてハッシュ値とする。そして、このハッシュ値を許可証共通鍵を用いて暗号化し、さらにＢａｓｅ６４エンコードを行うことで、テキストデータである許可証データを生成する。
【００７６】
許可証共通鍵生成部４２は、スマートフォンアプリケーションプログラムの種類ごとに許可証共通鍵を生成する。生成された許可証共通鍵は、許可証生成部４１及び通信部４３に出力される。通信部４３は、スマートフォンアプリケーションプログラムの開発者から署名用公開鍵証明書を受信し、許可証共通鍵生成部４２から出力された共通鍵をスマートフォンに装填されたＵＩＭカード３０に送信する。
【００７７】
なお、第２の実施の形態において、許可証発行サーバ４０は、プライベートデータを利用できるカードアプリケーションプログラムがインストールされているＵＩＭカード３０のＩＣＣＩＤを管理している。したがって、新たな許可証が発行された場合には、許可証発行サーバ４０は、プライベートデータを利用できるカードアプリケーションプログラムがインストールされているＵＩＭカード３０が装填されたスマートフォン２０に送信することができる。
【００７８】
（スマートフォンの構成）
図９は、第２の実施の形態におけるスマートフォン２０の構成を示す図である。第２の実施の形態のスマートフォン２０の構成は、第１の実施の形態のスマートフォン２０の構成とほぼ同じである。図９に示すように、第２の実施の形態において、スマートフォンアプリケーションプログラム２１は、さらに、許可証データ出力部２１３、署名値データ出力部２１４を備え、ストアサービス２３は、さらに、許可証検証部２３３を備える。また、ＵＩＭカード３０は、さらに、プライベートデータ記憶部３３、許可証共通鍵記憶部３４を備える。
【００７９】
許可証データ出力部２１３は、指示受付部２１１にて、ユーザからプライベートデータの取得またはプライベートデータを利用した処理の実行の指示を受け付けると、スマートフォンアプリケーションプログラム２１内に組み込まれて記憶される許可証データを取得し、アクセスライブラリ２１２に出力する。一方、署名値データ出力部２１４は、指示受付部２１１にて、ユーザからプライベートデータの取得またはプライベートデータを利用した処理の実行の指示を受け付けると、スマートフォンアプリケーションプログラム２１内に組み込まれて記憶される署名値データを取得し、アクセスライブラリ２１２に出力する。
【００８０】
アクセスライブラリ２１２は、許可証データ出力部２１３から取得した許可証データをパラメータとして指定して、プライベートデータの取得指示またはプライベートデータを利用した処理の実行指示をストアサービス２３に出力する。アクセスライブラリ２１２はまた、署名値データ出力部２１４から取得した署名値データをストアサービス２３に出力する。
【００８１】
プライベートデータ記憶部３３は、プライベートデータ管理サーバ５０から送信された、個人情報を含む情報であるプライベートデータを記憶する。個人情報は、テキストデータや画像データ（顔写真等）等、種々の形式のデータを含む。許可証共通鍵記憶部３４は、許可証発行サーバ４０から送信された許可証共通鍵を記憶する。なお、許可証共通鍵記憶部３４は、予めいくつかのスマートフォンアプリケーションプログラム２１に対応する許可証共通鍵を記憶していてよい。また、新たにスマートフォンアプリケーションプログラムが開発され、許可証発行サーバ４０にて許可証が発行された際に、新たに生成された共通鍵を許可証発行サーバ４０から受信して記憶してもよい。
【００８２】
処理実行部３１１は、許可証検証部２３３からの指示に基づき、許可証用共通鍵を用いて許可証データの復号化を行い、その結果を許可証検証部２３３に返す。上述のように、許可証データは、アプリケーション署名用公開鍵証明書データのハッシュ値を許可証用共通鍵を用いて暗号化したものであるから、復号結果は、アプリケーション署名用公開鍵証明書データのハッシュ値となる。
【００８３】
処理実行部３１１はまた、許可検証部２３４にて、スマートフォンアプリケーションプログラム２１がプライベートデータへのアクセスを許可された場合には、コマンド変換部２３２から出力されるコマンドに応じて、プライベートデータ記憶部３３から指定されたプライベートデータを取得して、ストアサービス２３に引き渡す。処理実行部３１１は、スマートフォンアプリケーションプログラム２１にて、プライベートデータを利用した処理を指示された場合には、コマンド変換部２３２から出力されるコマンドに応じて、取得したプライベートデータを用いて、当該処理を実行した結果をストアサービス２３に引き渡す。
【００８４】
許可証検証部２３３は、アクセスライブラリ２１２から取得した許可証データの検証を行う。具体的には、まず、許可証データのＢａｓｅ６４デコードを行う。そして、カードアプリケーションプログラム３１の処理実行部３１１に対して、Ｂａｓｅ６４デコードを行った許可証データの復号化コマンドを出力し、処理実行部３１１から、ハッシュ値である復号化結果を取得する。他方で、許可証検証部２３３は、アクセスライブラリ２１２から取得した署名値データに基づいて、当該スマートフォンアプリケーションプログラム２１に署名される際に使用されたアプリケーション署名用公開鍵証明書データを復元し、さらにそのハッシュ値を算出する。
【００８５】
許可証検証部２３３は、処理実行部３１１から取得したハッシュ値と、署名値データから復元したアプリケーション署名用公開鍵証明書データのハッシュ値とを比較し、これらの２つの値が一致した場合に、プライベートデータへのアクセスを許可する。したがって、許可証データが偽造された場合には、許可証検証部２３３が比較する２つのハッシュ値は一致せず、アクセスは許可されない。また、許可証データが本物であっても、当該アプリケーションプログラムになされた署名が不正であれば、これらの２つのハッシュ値は一致しないから、プライベートデータへのアクセスは許可されない。
【００８６】
なお、第１の実施の形態と共通する構成は、第１の実施の形態において説明した機能と同様の機能を有する。例えば、ストアサービス２３は、第１の実施の形態と同様に、ストア機能を有する。但し、第２の実施の形態においては、ＵＩＭカード３０に記憶されるプライベートデータは、カードアプリケーションプログラム３１ごとにストアを生成する。また、第２の実施の形態では、所定の許可証を有するスマートフォンアプリケーションプログラム２１のみ、ＵＩＭカード３０内のプライベートデータへのアクセスを許可することで、電子証明書データよりも秘匿性の要請の高いプライベートデータを保護している。このため、ストアサービス２３が備えるプライベートデータのストアには、プライベートデータ自体は格納せず、プライベートデータ名およびＵＩＭカード内での保存場所（ＦＩＤ＝Ｆｉｌｅ  Ｉｄｅｎｔｉｆｉｅｒ）等のメタデータのみを格納する。
【００８７】
［動作フロー］
（許可証発行フェーズ）
次に、本発明の第２の実施の形態における、許可証発行サーバ４０、スマートフォン２０及びＵＩＭカード３０の動作フローについて、図面を参照しながら説明する。図１０は、許可証発行サーバ４０によって許可証が発行されるまでの動作フロー図である。許可証発行サーバ４０は、スマートフォンアプリケーションプログラムの署名用公開鍵証明書を受信し、取得する（ステップＳ２１）と、対応する許可証共通鍵を生成する（ステップＳ２２）。そして、Ｓ２１にて受信した公開鍵証明書データをＳＨＡ−２５６によりハッシュ化し（ステップＳ２３）、許可証共通鍵を用いて暗号化する（ステップＳ２４）。さらに、Ｂａｓｅ６４エンコードを行って許可証データを生成し（ステップＳ２５）、生成された許可証データを送信する（ステップＳ２６）。
【００８８】
許可証発行サーバ４０は、カードアプリケーションプログラム３０を有するＵＩＭカードのＩＣＣＩＤを特定し（ステップＳ２７）、特定されたＵＩＭカードが装填されたスマートフォン２０に、許可証共通鍵を送信する（ステップＳ２８）。
【００８９】
（プライベートデータ利用フェーズ）
図１１は、許可証を用いた認証を経て、スマートフォンアプリケーションプログラムがプライベートデータを取得するときの動作フロー図である。スマートフォン２０は、プライベートデータを取得すべき旨のユーザ指示を受け付ける（ステップＳ３１）。続いて、スマートフォン２０は、スマートフォンアプリケーションプログラムの署名値データに基づき公開鍵証明書データを求め、さらにそのハッシュ値を算出する（ステップＳ３２）。スマートフォン２０はまた、許可証データの復号化指示コマンドをＵＩＭカードに出力する（ステップＳ３３）。ＵＩＭカードは、許可証共通鍵を用いて許可証データの復号化を行い（ステップＳ３４）、その結果であるハッシュ値をスマートフォンに返す。
【００９０】
スマートフォン２０は、ステップＳ３３にてＵＩＭカードが復号化して得たハッシュ値と、ステップＳ３４にて署名値データに基づき算出したハッシュ値とを比較し、２つの値が一致しているか否かを判断する（ステップＳ３５）。２つのハッシュ値が一致している場合には（ステップＳ３５にてＹｅｓ）、ＵＩＭカード３０内のプライベートデータへのアクセスを許可して、ＵＩＭカード３０に対して、プライベートデータの取得指示コマンドを出力し（ステップＳ３６）、２つのハッシュ値が一致していない場合には（ステップＳ３５にてＮｏ）、プライベートデータへのアクセスを拒否して処理を終了する。
【００９１】
スマートフォン２０にて、ＵＩＭカード３０内のプライベートデータへのアクセスが許可された場合（ステップＳ３５にてＹｅｓ）、ＵＩＭカード３０は、プライベートデータを取得し、必要に応じて、スマートフォンアプリケーションプログラム２１により指示された処理を実行した上で、プライベートデータまたはそれを用いた処理結果をスマートフォンに返す（ステップＳ３７）。スマートフォン２０は、取得したプライベートデータを表示したり、取得したプライベートデータを用いた処理を実行して、ユーザの指示に対応する結果を出力する（ステップＳ３８）。なお、上記の動作フローにおいて、ステップＳ３２とステップＳ３３の順序は逆であってもよい。
【００９２】
以上、説明したように、第２の実施の形態の電子データ利用システムでは、プライベートデータはＵＩＭカード３０内に格納される。そして、許可証サーバ４０により発行された許可証を有するスマートフォンアプリケーションプログラムのみが、プライベートデータへのアクセスを許可され得る。したがって、秘匿性の要請の高い個人情報を含むプライベートデータを安全に管理、利用することができる。
【００９３】
［変形例］
上記の実施の形態では、スマートフォンのオペレーティングシステムが提供するプラットフォームを通じて、アプリケーションプログラムを公開、頒布する場合に作成される秘密鍵、公開鍵、公開鍵証明書に基づいて許可証を発行する場合について説明したが、かかるプラットフォームを利用しない場合でも、許可証は、所定のアプリケーションプログラムに対して発行されてよい。また、許可証発行サーバは、任意の手法で許可証を生成してよく、許可証の検証も、生成手法に対応した任意の手法により行われてよい。また、許可証発行サーバは、共通鍵ではなく、暗号化・復号化のための鍵をそれぞれ作成してよい。
【００９４】
また、上記の実施の形態では、許可証データがスマートフォンアプリケーションプログラム開発者に送信し、開発者が許可証データをスマートフォンアプリケーションプログラムに組み込む場合について説明したが、許可証発行サーバは、スマートフォンアプリケーションプログラムがインストールされたスマートフォンに許可証データを配信してもよい。この場合、スマートフォンアプリケーションプログラムに保存された許可証データが抜き取られて、許可証が発行されていないスマートフォンアプリケーションプログラムにコピーされるおそれがある。そこで、許可証データを配信する場合には、許可証発行サーバは、ＩＣＣＩＤごとに許可証共通鍵を生成し、ＵＩＭカードに送信してもよい。このように、当該ＵＩＭカードのみで利用できる許可証とすることで、さらに安全に、プライベートデータを利用することができる。
【００９５】
上記の実施の形態において、許可証発行とプライベートデータの送信は、同一のサーバにより行われてもよい。また、プライベートデータは、スマートフォンがサーバから受信したものに限らず、スマートフォンが撮影した画像データ等であってもよい。
【００９６】
上記の実施の形態では、第１の実施の形態のスマートフォンが備える機能を全て備える場合について説明したが、少なくとも一部を備えなくてもよい。例えば、第２の実施の形態において、電子証明書データの記憶、利用は行われなくてもよいし、アプリケーション証明書に基づく認証により、ストアサービスとスマートフォンアプリケーションとの接続の可否を判断しなくてもよい。
【００９７】
また、第２の実施の形態において、電子証明書データを用いた処理についても、プライベートデータと同様に、許可証による認証を行ってもよい。さらに、ストアサービスが秘密鍵付き公開鍵証明書の選択画面を表示する場合、許可証データのパラメータとして、当該スマートフォンアプリケーションプログラムが利用可能な秘密鍵付き公開鍵証明書を指定することにより、表示させる秘密鍵付き公開鍵証明書を制限してもよい。これにより、さらに安全に秘密鍵を用いた処理を実行することができる。
【００９８】
上記の実施の形態において、さらに、アクセスできるプライベートデータを許可証データに応じて判断してもよい。例えば、許可証データのパラメータとして、拡張子やデータＩＤを指定することにより、許可証ごとにアクセス可能なデータの種類やデータＩＤを制限することができる。これにより、さらに安全にプライベートデータを利用することができる。
【００９９】
＜第３の実施の形態＞
第２の実施の形態では、プライベートデータをＵＩＭカードに格納し、許可証データに基づいて、プライベートデータへのアクセスの許否を判断する例について説明した。第３の実施の形態では、この仕組みを利用して、カードアプリケーションプログラムが、ネットバンキングに用いられる一度限り有効なパスワードである「ワンタイムパスワード」を生成する例について説明する。
【０１００】
本実施の形態において、ネットバンキングに使用されるワンタイムパスワードは、銀行識別データと口座番号データ等を含む「シードデータ」及び時刻データを用いて生成される。したがって、ワンタイムパスワードには、高度の秘密情報が含まれているということができる。従来、ネットバンキングにおいては、専用のワンタイムパスワード生成機が用いられている。しかし、生成機が手元になければシステムを利用することができないため、不便である。この点、スマートフォンは、通常、ユーザが常に持ち歩くものであるため、ワンタイムパスワードをスマートフォンアプリケーションプログラムで生成すれば、かかる不便は解消される。
【０１０１】
しかし、従来のスマートフォンアプリケーションプログラムは、シードデータを、他のデータと同様にスマートフォン上に保存して利用するため、シードデータを安全に管理、利用することが困難であった。そこで、本実施の形態では、シードデータを安全に管理、利用できるようにするため、シードデータをプライベートデータとしてＵＩＭカード内に記憶する。そして、許可証データに基づき、プライベートデータへのアクセスが許可されたスマートフォンアプリケーションプログラムに対して、シードデータを引き渡す。
【０１０２】
［システム構成］
図１２は、第３の実施の形態の電子データ利用システムの構成を示す図である。図１２に示すように、電子データ利用システム２は、時刻トークン配信サーバ６０、ＮＴＰサーバ７０、時刻トークン生成サーバ８０、銀行サーバ９０、スマートフォン２０とを備える。
【０１０３】
時刻トークン配信サーバ６０は、ＮＴＰサーバ７０から取得した現在時刻データを用いて、内蔵時計を正しい時刻に調整する。時刻トークン配信サーバ６０は、は、スマートフォン２０からの要求に応じて、時刻トークン生成サーバ８０に対し、時刻データ及び時刻トークン生成指示を送信する。時刻トークン配信サーバ６０からの指示に応じて、時刻トークン生成サーバ８０は、時刻トークン秘密鍵を用いて現在時刻データに署名し、時刻トークンを生成し、生成された時刻トークンを時刻トークン配信サーバ６０に送信する。時刻トークン配信サーバ６０は、受信した時刻トークンを当該スマートフォンに送信する。このように、本実施の形態では、時刻トークン生成サーバと時刻トークン配信サーバとを分けることにより、秘密鍵を安全に管理することができる。
【０１０４】
銀行サーバ８０は、スマートフォン２０から送信されたワンタイムパスワードの照合を行い、ネットバンキングシステムへのアクセスの許否を判断する。
【０１０５】
図１３は、第３の実施の形態におけるスマートフォン２０の構成である。第３の実施の形態において、スマートフォンアプリケーションプログラム２１は、ワンタイムパスワードを生成するアプリケーションプログラムであり、時刻トークン取得部２１５及びワンタイムパスワード生成部２１６を備える。また、ＵＩＭカード３０は、時刻トークン公開鍵記憶部３５を備える。それ以外の構成は、第２の実施の形態におけるスマートフォン２０の構成と同じである。時刻トークン公開鍵記憶部３５は、時刻トークン秘密鍵と対になる時刻トークン公開鍵が記憶される。なお、本実施の形態において、時刻トークン公開鍵は、秘密鍵を管理する、時刻トークン生成サーバ８０により、プライベートデータを利用できるカードアプリケーションプログラム及びワンタイムパスワードを生成するスマートフォンアプリケーションプログラムがインストールされているスマートフォンに装填されたＵＩＭカードのＩＣＣＩＤに基づいて、ＵＩＭカード３０に送信されている。
【０１０６】
時刻トークン取得部２１５は、通信部２２にて、時刻トークン配信サーバ５０から受信した時刻トークンを取得し、アクセスライブラリ２１２に出力する。
【０１０７】
処理実行部３１１は、アクセスライブラリ２１２、ストアサービス２３を通じて取得した時刻トークンの署名を検証し、改ざんの有無を検知する。処理実行部３１１はまた、時刻トークン公開鍵を用いて復号化し、時刻データを取得する。処理実行部３１１はさらに、許可証検証部２３３にて、スマートフォンアプリケーションプログラム２１がシードデータへのアクセスを許可された場合には、プライベートデータ記憶部３３から指定されたシードデータを取得する。処理実行部３１１は、復号化して得られた時刻データ及びシードデータをストアサービス２３に出力する。
【０１０８】
ワンタイムパスワード生成部２１６は、ストアサービスを経由して、ＵＩＭカード３０から受け取った時刻データ及びシードデータに基づいて、ワンタイムパスワードを生成する。
【０１０９】
なお、第２の実施の形態と共通する構成は、許可証データに基づく認証について、同じ機能を有する。また、ストアサービス２３によるストアの生成も、第２の実施の形態と同様に行われる。
【０１１０】
［動作フロー］
図１４は、第３の実施の形態の電子データ利用システムの動作フローである。なお、ここでは、第２の実施例において説明した許可証に基づく認証の結果、スマートフォンアプリケーションプログラムが、プライベートデータにアクセス可能であることが確認されているものとする。
【０１１１】
まず、スマートフォン２０は、時刻トークン配信サーバ６０に、時刻トークンの発行要求を送信する（ステップＳ４１）。時刻トークンの発行要求を受信した時刻トークン配信サーバ６０は、時刻トークン生成サーバ８０に対して、時刻データ及び時刻トークン生成指示を送信する（ステップＳ４２）。時刻トークン生成サーバ８０は、時刻トークン配信サーバ６０の指示に応じて、受信した時刻データに基づき時刻トークンを生成し（ステップＳ４３）、時刻トークン配信サーバ６０に送信する。時刻トークン配信サーバ６０は、受信した時刻トークンをスマートフォン２０に送信する（ステップＳ４４）。
【０１１２】
ＵＩＭカード３０は、スマートフォン２０が時刻トークン配信サーバ６０から受信した時刻トークンを取得し（ステップＳ４５）、時刻トークン公開鍵を用いて復号化し、時刻データを得る（ステップＳ４６）。続いて、ＵＩＭカード３０は、プライベートデータとしてカード内に記憶されるシードデータを取得し（ステップＳ４７）、ステップＳ４５で取得した時刻データとあわせてスマートフォンアプリケーションプログラム２１に出力する（ステップＳ４８）。
【０１１３】
スマートフォン２０は、ＵＩＭカード３０から取得した時刻データ及びシードデータを用いてワンタイムパスワードを生成する（ステップＳ４９）。スマートフォン２０は、生成したワンタイムパスワードを表示してユーザへの入力を促し（ステップＳ５０）、ユーザが入力したワンタイムパスワードを銀行サーバ９０に送信する（ステップＳ５１）。
【０１１４】
以上説明したように、第３の実施の形態の電子データ利用システムでは、プライベートデータであるシードデータがＵＩＭカード３０内に格納される。そして、許可証発行サーバ４０により発行された許可証を有するスマートフォンアプリケーションプログラム２１のみが、シードデータを取得して、ワンタイムパスワードを生成することができる。したがって、口座番号などの秘匿性の要請の高い個人情報を含むシードデータを安全に管理、利用することができる。
【０１１５】
また、第３の実施の形態の電子データ利用システムでは、時刻トークンを復号化する鍵もＵＩＭカード３０内に格納され、ワンタイムパスワード生成に用いる時刻データを取得するための復号化処理も、ＵＩＭカード３０内で行われる。したがって、安全に時刻データを取得してワンタイムパスワードを生成することができる。
【０１１６】
［変形例］
上記の実施の形態では、スマートフォンアプリケーションプログラムが、時刻データとシードデータを取得してワンタイムパスワードを生成する場合について説明したが、ワンタイムパスワードは、カードアプリケーションプログラム３１により生成されてもよい。ワンタイムパスワードをカードアプリケーションプログラム３１が生成する場合、シードデータは、セキュアエレメントであるＵＩＭカード内でのみ利用されるので、許可証に基づく認証は行われなくてもよい。あるいは、許可証データを、カードアプリケーションプログラムがワンタイムパスワードの生成等、所定の処理を行う際の認証に用いてもよい。これにより、さらに安全にプライベートデータを利用できる。また、例えば、特定の種類の許可証を有するスマートフォンアプリケーションプログラムにのみ、カードアプリケーションプログラムの所定の機能（ワンタイムパスワードの生成等）の仕様を許可してもよい。これにより、許可証の種類に応じて、スマートフォンアプリケーションプログラムの機能を柔軟に拡張／制限することができる。
【０１１７】
また、上記の実施の形態では、時刻トークン配信サーバから時刻トークンを取得してワンタイムパスワードを生成する場合について説明したが、スマートフォン内部の時刻データを用いて、ワンタイムパスワードを生成してもよい。また、上記の実施の形態では、時刻トークンの生成を時刻トークン生成サーバが行う場合について説明したが、時刻トークン配信サーバが行ってもよい。
【０１１８】
さらに、上記の実施の形態では、第２の実施の形態のスマートフォンが備える機能を全て備える場合について説明したが、少なくとも一部を備えてなくてもよい。
【０１１９】
また、上記の実施の形態では、ネットバンキングのためのワンタイムパスワードの生成について説明したが、オンラインゲームへの接続等、他の目的のためにワンタイムパスワードを生成してよい。そして、ワンタイムパスワードの目的に応じて、シードデータには任意のデータを用いてよい。
【産業上の利用可能性】
【０１２０】
本発明は、スマートフォンのアプリケーションプログラムで、安全に電子証明書やプライベートデータ等を利用することができるという効果を有し、電子データ利用システム等として有用である。
【符号の説明】
【０１２１】
１  電子認証システム
１０  電子証明書配信サーバ
１１  電子証明書管理部
１２  ユーザ識別カードＩＤ取得部
１３  電子証明書データ送信部
２０  スマートフォン
２１  スマートフォンアプリケーションプログラム
２１１  指示受付部
２１２  アクセスライブラリ
２１３  許可証データ出力部
２１４  署名値データ出力部
２１５  時刻トークン取得部
２１６  ワンタイムパスワード生成部
２２  通信部
２３  ストアサービス
２３１  アクセス受付部
２３２  コマンド変換部
２３３  許可証検証部
３０  ＵＩＭカード
３１  カードアプリケーションプログラム
３１１  処理実行部
３２  電子証明書データ記憶部
３３  プライベートデータ記憶部
３４  許可証共通鍵記憶部
３５  時刻トークン公開鍵記憶部
４０  許可証発行サーバ
５０  プライベートデータ管理サーバ
６０  時刻トークン配信サーバ
７０  ＮＴＰサーバ
８０  時刻トークン生成サーバ
９０  銀行サーバ
【要約】
【課題】  スマートフォンのアプリケーションプログラムで、安全に電子データ等を利用することができる電子データ利用システムを提供する。
【解決手段】  電子認証システム１は、電子証明書配信サーバ１０と、ユーザ識別カード３０を備えたスマートフォン２０を備えている。スマートフォン２０は、電子証明書配信サーバ１０から電子証明書データを受信すると、ユーザ識別カード３０に電子証明書データを記録する。スマートフォン２０のユーザの指示に応じて、ユーザ識別カード３０内で、ユーザ識別カード３０に記録された電子証明書データを用いた処理が実行される。
【選択図】  図１【図１】
0005781678.tif 000002
【図２】
0005781678.tif 000003
【図３】
0005781678.tif 000004
【図４】
0005781678.tif 000005
【図５】
0005781678.tif 000006
【図６】
0005781678.tif 000007
【図７】
0005781678.tif 000008
【図８】
0005781678.tif 000009
【図９】
0005781678.tif 000010
【図１０】
0005781678.tif 000011
【図１１】
0005781678.tif 000012
【図１２】
0005781678.tif 000013
【図１３】
0005781678.tif 000014
【図１４】
0005781678.tif 000015