処理中

しばらくお待ちください...

設定

設定

1. WO2020004486 - オンラインサービス提供システム、アプリケーションプログラム

Document

明 細 書

発明の名称 オンラインサービス提供システム、アプリケーションプログラム

技術分野

0001  

背景技術

0002   0003   0004   0005  

先行技術文献

特許文献

0006  

発明の概要

発明が解決しようとする課題

0007   0008   0009  

課題を解決するための手段

0010   0011   0012  

発明の効果

0013  

図面の簡単な説明

0014  

発明を実施するための形態

0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197  

符号の説明

0198  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34  

明 細 書

発明の名称 : オンラインサービス提供システム、アプリケーションプログラム

技術分野

[0001]
 本発明は、携帯機器からオンラインサービスを利用する際のセキュリティを向上する技術に関する。

背景技術

[0002]
 インターネットの普及により多種多様なオンラインサービスが登場し、多くの人々に利用されている。一方で、サイバーセキュリティ問題は日増しに増大しているため、安心・安全にオンラインサービスを利用するためのセキュリティ対策が求められている。
[0003]
 例えば、オンラインバンキングサービスにおいては、昨今、中間者攻撃(MITM:Man In The Middle)と呼ばれるサイバー攻撃による被害が急増している。MITM攻撃は、マルウェアや偽サイトを使って、オンラインバンキングの利用者と金融機関との間の通信を乗っ取り(通信内容を改ざんし)、利用者と金融機関の双方に気づかれることなく不正な送金処理などを行う攻撃手法である。MITB(Man In The Browser)もMITMの一種である。なお、ATM網を利用した送金処理は古くから行なわれていたが、従来は専用線を利用していたためサイバー攻撃のリスクは極めて低かった。これに対し、インターネットのようなオープンなネットワークを利用するオンラインサービスは、MITM攻撃のような様々な脅威に晒されるのである。
[0004]
 現在のオンラインバンキングサービスでは、セキュリティ対策として、ワンタイムパスワード発行器を利用する方法が広く用いられている。これは、サービス利用者にあらかじめワンタイムパスワード発行器を配布しておき、サービスへのログイン時や送金処理を行う際などに、ワンタイムパスワード発行器で生成・表示されるワンタイムパスワードを使って認証を行うという方法である(特許文献1参照)。しかしこの方法は、MITM攻撃に対しては効果がない。MITM攻撃の一種であるMITB攻撃では、マルウェアや偽サイトによりログインIDやワンタイムパスワードなどの認証情報を利用者自身に入力させ、それらの認証情報をそのまま使って利用者へのなりすましを行うからである。
[0005]
 そこで最近では、MITM攻撃への対策として「トランザクション認証」と呼ばれる対策をとる金融機関が増えてきている。トランザクション認証は、一般的に、利用者とサーバの間のトランザクションの暗号化(電子署名)と、ブラウザとは別経路のセッションを利用したトランザクション内容の確認との組み合わせにより実現される。トランザクション内容の確認には、トークンと呼ばれる専用のデバイスが利用されることが多い(特許文献2参照)。

先行技術文献

特許文献

[0006]
特許文献1 : 特開2016-071538号公報
特許文献2 : 特開2012-048728号公報

発明の概要

発明が解決しようとする課題

[0007]
 トランザクション認証は、利用者とサーバの間のトランザクションに電子署名を行うため、MITM攻撃には有効な対策である。しかしながら、現在主流であるハードウェアトークンを用いる方法はいくつかの課題が指摘されている。一つは、ユーザにとっての利便性の低さである。スマートフォンやタブレット端末などの携帯機器(モバイルデバイス)でオンラインサービスを利用することを想定した場合、ユーザは外出先に常にトークンを携帯しなければならず面倒である。しかも、サービスごとにトークンが異なるため、利用するサービスが増えるほど携帯するトークンの数も増えてしまい、実用性に欠ける。さらに、盗難や紛失のリスクを考慮すると、トークンを持ち歩くことに抵抗を感じる人も多い。二つ目は、サービス提供者の負担コストである。サービス提供者は、オンラインサービスの利用者全員にトークンを配布し管理する必要があり、そのコストは無視できない。
[0008]
 また、銀行法改正(2018年6月施行)を受けて、各金融機関が、口座管理や電子送金などを代行する電子決済等代行業者に対して、API(Application Programming Interface)を開放する動きが進んでいる。したがって、今後は、金融機関とユーザの2者間のセキュリティだけでなく、金融機関(オンラインサービスの提供者)と電子決済等代行業者(中間サービスの提供者)とユーザの3者間のセキュリティを確保する必要が出てくる。
[0009]
 本発明は上記実情に鑑みなされたものであって、モバイルの利便性を損なうことなく、セキュアなサービス利用を実現可能な、新たなセキュリティ技術を提供することを目的とする。また、本発明のさらなる目的は、オンラインサービスの提供者と中間サービスの提供者とユーザの3者間の高度なセキュリティを確保することのできる、新たなセキュリティ技術を提供することにある。

課題を解決するための手段

[0010]
 本発明の第一側面は、
 サービス提供者が提供するオンラインサービスを、前記サービス提供者とは異なる者が提供する中間サービスを介して、携帯機器から安全に利用可能な仕組みを提供するオンラインサービス提供システムであって、
 登録されたユーザに対し、インターネットを通じて前記オンラインサービスを提供するサービス提供サーバと、
 前記ユーザに対し、インターネットを通じて前記中間サービスを提供する中間サーバと、
 前記ユーザが所持している携帯機器であるユーザ機器に設けられるICチップと、
 前記ユーザ機器が有する本体プロセッサにより実行され、前記ユーザ機器を前記中間サービスを利用するための端末として機能させるアプリケーションプログラムと、を有し、
 前記ICチップは、
  少なくとも、前記ユーザ機器を使用する者の正当性を確認するためのユーザ認証に用いられる本人情報、前記ユーザの秘密鍵、前記秘密鍵とペアになる前記ユーザの公開鍵、及び、前記公開鍵を含む前記ユーザの電子証明書を非一時的に記憶するメモリと、
  少なくとも、前記アプリケーションプログラムから与えられる情報を前記本人情報と照合することにより前記ユーザ認証を行う認証機能、及び、前記アプリケーションプログラムから与えられるデータに対し前記秘密鍵を用いた電子署名を行う電子署名機能を有するプロセッサと、
を有しており、
 前記アプリケーションプログラムは、前記ユーザ機器を、
  前記ユーザ機器を使用する者から取得した情報に基づき、前記ICチップの前記認証機能を利用して、前記ユーザ認証を行うユーザ認証手段、及び、
  前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して電子署名を生成し、生成された前記電子署名を含むログイン要求をインターネットを通じて前記中間サーバに送信する送信手段、として機能させ、
 前記中間サーバは、
  前記ユーザに関する情報として、前記ユーザの電子証明書を記憶するユーザ情報記憶手段と、
  前記ユーザ機器から前記ログイン要求を受信した場合に、前記ユーザの電子証明書を用いて前記ログイン要求に含まれる前記電子署名を検証することによって前記ログイン要求の正当性を確認し、前記ログイン要求が正当であると確認された場合に前記ユーザ機器からの前記中間サービスの利用を許可すると共に、前記ログイン要求に含まれる前記電子署名を含むアクセス要求をインターネットを通じて前記サービス提供サーバに送信する制御手段と、
を有し、
 前記サービス提供サーバは、
  前記ユーザに関する情報として、前記ユーザの電子証明書を記憶するユーザ情報記憶手段と、
  前記中間サーバから前記アクセス要求を受信した場合に、前記ユーザの電子証明書を用いて前記アクセス要求に含まれる前記電子署名を検証することによって前記アクセス要求の正当性を確認し、前記アクセス要求が正当であると確認された場合に前記中間サーバが前記ユーザの代わりに前記オンラインサービスを利用することを許可するアクセス制御手段と、
を有することを特徴とするオンラインサービス提供システムを提供する。
[0011]
 本発明の第二側面は、
 ユーザが所持している携帯機器であるユーザ機器が有する本体プロセッサにより実行され、前記ユーザ機器を、サービス提供サーバがインターネットを通じて提供するオンラインサービスを前記サービス提供サーバとは異なる中間サーバが提供する中間サービスを介して利用するための端末として機能させるアプリケーションプログラムであって、
 前記ユーザ機器には、
  少なくとも、前記ユーザ機器を使用する者の正当性を確認するためのユーザ認証に用いられる本人情報、前記ユーザの秘密鍵、前記秘密鍵とペアになる前記ユーザの公開鍵、及び、前記公開鍵を含む前記ユーザの電子証明書を非一時的に記憶するメモリと、
  少なくとも、前記アプリケーションプログラムから与えられる情報を前記本人情報と照合することにより前記ユーザ認証を行う認証機能、及び、前記アプリケーションプログラムから与えられるデータに対し前記秘密鍵を用いた電子署名を行う電子署名機能を有するプロセッサと、
を有するICチップが設けられており、
 前記アプリケーションプログラムは、前記ユーザ機器を、
  前記ユーザ機器を使用する者から取得した情報に基づき、前記ICチップの前記認証機能を利用して、前記ユーザ認証を行うユーザ認証手段、及び、
  前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して電子署名を生成し、生成された前記電子署名を含むログイン要求をインターネットを通じて前記中間サーバに送信する送信手段、として機能させることを特徴とするアプリケーションプログラムを提供する。
[0012]
 本発明は、上記のサービス提供サーバ、又は、中間サーバ、又は、上記のICチップとアプリケーションプログラムを備える携帯機器、又は、上記の処理の少なくとも一部を含むオンラインサービス提供方法、又は、上記のICチップとアプリケーションプログラムによる処理の少なくとも一部を含む携帯機器の制御方法、又は、上記のアプリケーションプログラムを非一時的に記憶したコンピュータ読取可能な記憶媒体、として捉えることもできる。

発明の効果

[0013]
 本発明によれば、モバイルの利便性を損なうことなく、セキュアなサービス利用を実現可能な、新たなセキュリティ技術を提供することができる。また、本発明によれば、オンラインサービスの提供者と中間サービスの提供者とユーザの3者間の高度なセキュリティを確保することのできる、新たなセキュリティ技術を提供することができる。

図面の簡単な説明

[0014]
[図1] 図1は、本発明に係るオンラインサービス提供システムの特徴の一つを示す図である。
[図2] 図2は、オンラインサービスを提供するサービス提供サーバの構成を示すブロック図である。
[図3] 図3は、オンラインサービスを利用するために使用するユーザ機器の構成を示すブロック図である。
[図4] 図4は、SIMカードとICカードの外観及び装着形態を模式的に示す図である。
[図5] 図5は、SIMカードとICカードのハードウェア構成を模式的に示すブロック図である。
[図6] 図6は、ユーザ機器とICカードの論理的な構成を模式的に示すブロック図である。
[図7] 図7は、ICカードの発行手続を説明する図である。
[図8] 図8は、ICカードの発行手続を説明する図である。
[図9] 図9は、ICカード管理データベースのデータ構造を示す図である。
[図10] 図10は、中間サービスへの登録手続の流れを示す図である。
[図11] 図11は、中間サービスへの登録手続の流れ(図10の続き)を示す図である。
[図12] 図12は、中間サービスへの登録手続においてユーザ機器に表示される画面例である。
[図13] 図13は、中間サービスのログイン認証の流れを示す図である。
[図14] 図14は、中間サービスのログイン認証においてユーザ機器に表示される画面例である。
[図15] 図15は、中間サービスの利用時の流れを示す図である。
[図16] 図16は、中間サービスの利用時にユーザ機器に表示される画面例である。
[図17] 図17は、セキュアエレメントを内蔵するユーザ機器のハードウェア構成を模式的に示すブロック図である。
[図18] 図18は、SIMカードを備えるユーザ機器のハードウェア構成を模式的に示すブロック図である。
[図19] 図19は、電子証明書のポストインストールを説明する図である。
[図20] 図20は、ユーザ機器と中間サーバ又はサービス提供サーバとの間で通信を行う際に、ユーザ機器において利用されるICチップを特定するための仕組みの一例を示す図である。
[図21] 図21は、ユーザ機器と中間サーバ又はサービス提供サーバとの間で通信を行う際に、ユーザ機器において利用されるICチップを特定するための仕組みの一例を示す図である。
[図22] 図22は、中間サービスへの登録手続の流れを示す図である。
[図23] 図23は、中間サービスのログイン認証の流れを示す図である。
[図24] 図24は、中間サービスの利用時の流れを示す図である。
[図25] 図25は、中間サービスへの登録手続の流れを示す図である。
[図26] 図26は、中間サービスへの登録手続の流れを示す図である。
[図27] 図27は、中間サービスのログイン認証の流れを示す図である。
[図28] 図28は、中間サービスの利用時の流れを示す図である。
[図29] 図29A~図29Cは、サーバの多段接続の例を示す図である。
[図30] 図30は、中間サービスへの登録手続の流れを示す図である。
[図31] 図31は、中間サービスのログイン認証の流れを示す図である。
[図32] 図32は、中間サービスのログイン認証の流れを示す図である。
[図33] 図33は、中間サービスの利用時の流れを示す図である。
[図34] 図34は、中間サービスの利用時の流れを示す図である。

発明を実施するための形態

[0015]
 <オンラインサービス提供システムの概要>
 図1は、本発明に係るオンラインサービス提供システムの特徴の一つである、サブSIMと呼ばれるICカードを利用した公開鍵暗号による手続内容署名(トランザクション署名)の流れを示している。図1において、サービス提供者は、インターネットを通じてオンラインサービスを提供する者であり、例えば、オンラインバンキングサービスを提供する銀行などが該当する。中間サービス提供者は、サービス提供者が提供するオンラインサービスを代行(仲介)するサービス(本明細書では、これを「中間サービス」又は「代行サービス」と称す)を提供する者であり、例えば、口座管理や電子送金や収支管理などのWEBサービスを提供する電子決済等代行業者などが該当する。
[0016]
 ユーザが所持するユーザ機器(スマートフォンなど)には、中間サービスを利用するためのアプリケーションプログラム(以下「アプリ(APP)」とも称す)がインストールされていると共に、サブSIMと呼ばれるICカードが装着されている。サブSIMには、当該ユーザ固有の秘密鍵が格納されている。なお、日本国内で本サービスを実施する場合、秘密鍵のペアとなる公開鍵については、電子署名及び認証業務に関する法律(平成12年法律第102号。以下、「電子署名法」という。)に基づく認定を受けている認証局に事前に登録され、認証局より電子証明書が発行されているものとする。
[0017]
 上記システムにおいて、ユーザがアプリから振込などの手続を行おうとすると、まず、PINコード、パスワード、又は生体認証などによるユーザ認証(本人認証)が要求される。ユーザ認証に成功すると(つまり、アプリを操作している者がユーザ本人であることが確認されると)、サブSIMの機能制限が解除され、サブSIMが提供する機能を利用可能なモードとなる。アプリは、サブSIMの機能を利用して、手続内容が記述された手続メッセージ(トランザクション)を秘密鍵で暗号化し電子署名を生成する。この電子署名と手続メッセージを中間サービスの中間サーバに送ると、該中間サーバが、対応する電子証明書を用いて電子署名の検証を行う。検証の結果、正当なユーザから送られてきた手続メッセージであり、かつ、内容が改ざんされていないことが確認されると、中間サーバは、電子署名と手続メッセージをオンラインサービスのサーバに転送する。すると、該サーバが、対応する電子証明書を用いて電子署名の検証を行い、正当なユーザから送られてきた手続メッセージであり、かつ、内容が改ざんされていないことが確認されると、手続メッセージの内容に従い振込などの手続を実行する。
[0018]
 このような方法によれば、「サービス提供者」と「中間サービス提供者」と「ユーザ」の3者の間で、公開鍵暗号を用いた高度なセキュリティを実現することができる。この方法は、ユーザ機器以外のデバイス(従来のトークンのようなもの)を持ち歩く必要がなく、ユーザ機器単体で中間サービスを介したオンラインサービスの利用を可能とするため、利便性が高い。また、本人認証だけで電子署名を用いたセキュアな手続が可能なため、スマートかつ簡便な操作性を実現できる。
[0019]
 さらに、サブSIMと呼ばれるICカードに格納された秘密鍵と、ICカードが提供する暗号化機能を利用するため、セキュアなデータ通信を実現できる。この秘密鍵は漏えいのリスクが小さく、また、PINコードやパスワードや生体認証による本人認証をクリアしなければ秘密鍵や暗号化機能を利用することもできないので、第三者による不正利用のリスクを可及的に小さくできる。
[0020]
 また、サービス提供者にとっては、トークンのようなデバイスを配布したり管理したりする必要がなくなり、運用コストの低減を期待できる。また電子署名法に基づく認定を受けている認証局が発行した電子証明書を利用して電子署名が付されたデータは、電子署名法第3条により、ユーザ本人が真正に作成したものと推定されるため、訴訟リスクを低減できるという利点もある。
[0021]
 <中間サーバ>
 図2Aは、中間サーバの構成を示すブロック図である。中間サーバ21は、中間サービス提供者による中間サービスをインターネットを通じて提供するサーバである。以下、銀行などの金融機関によるオンラインでの金融取引サービス(いわゆるオンラインバンキング)の各種手続を代行する中間サービスを例にとり、中間サーバ21の説明を行うが、これはあくまで一つの適用例にすぎず、本発明はあらゆる種類の中間サービスに好ましく適用可能である。
[0022]
 中間サーバ21は、主な機能として、ユーザ登録部210、ユーザ情報記憶部211、ログイン制御部212、代行制御部213を有する。ユーザ登録部210は、ユーザの新規登録処理を行う機能である。ユーザ情報記憶部211は、登録されたユーザの情報を記憶・管理するデータベースである。ログイン制御部212は、ユーザからのログイン要求に応答して中間サービスの利用の可否及びオンラインサービスのアクセスの可否を制御する機能である。代行制御部213は、ユーザからの手続要求に応答してオンラインサービスの該当手続の代行を制御する機能である。これらの機能及びその処理の詳細は後述する。
[0023]
 中間サーバ21は、例えば、CPU(プロセッサ)、メモリ(RAM)、ストレージ(HDD、SSDなど)、通信I/F、入出力装置などを備えた汎用のコンピュータにより構成することができる。その場合、上述した機能及びその処理は、ストレージに格納されたプログラムをメモリに展開し、CPUがプログラムを実行することによって実現される。なお、中間サーバ21は、1台のコンピュータで構成してもよいし、分散コンピューティングやクラウドコンピューティングにより構成してもよい。また、汎用のコンピュータではなく、専用のコンピュータにより構成してもよいし、上述した機能又はその処理の一部をソフトウェアではなくASICやFPGAなどで構成してもよい。
[0024]
 <サービス提供サーバ>
 図2Bは、サービス提供サーバの構成を示すブロック図である。サービス提供サーバ20は、サービス提供者によるオンラインサービス(WEBサービス)をインターネットを通じて提供するサーバである。以下、銀行などの金融機関によるオンラインでの金融取引サービス(いわゆるオンラインバンキング)を例にとり、サービス提供サーバ20の説明を行うが、これはあくまで一つの適用例にすぎず、本発明はあらゆる種類のオンラインサービスに好ましく適用可能である。
[0025]
 サービス提供サーバ20は、主な機能として、ユーザ登録部200、ユーザ情報記憶部201、アクセス制御部202、手続制御部203を有する。ユーザ登録部200は、ユーザの新規登録処理を行う機能である。ユーザ情報記憶部201は、登録されたユーザの情報を記憶・管理するデータベースである。アクセス制御部202は、中間サーバ21からのアクセス要求に応答してオンラインサービスのアクセスの可否を制御する機能である。手続制御部203は、中間サーバ21からの手続要求に応答してオンラインサービスの該当手続の実行を制御する機能である。これらの機能及びその処理の詳細は後述する。
[0026]
 サービス提供サーバ20は、例えば、CPU(プロセッサ)、メモリ(RAM)、ストレージ(HDD、SSDなど)、通信I/F、入出力装置などを備えた汎用のコンピュータにより構成することができる。その場合、上述した機能及びその処理は、ストレージに格納されたプログラムをメモリに展開し、CPUがプログラムを実行することによって実現される。なお、サービス提供サーバ20は、1台のコンピュータで構成してもよいし、分散コンピューティングやクラウドコンピューティングにより構成してもよい。また、汎用のコンピュータではなく、専用のコンピュータにより構成してもよいし、上述した機能又はその処理の一部をソフトウェアではなくASICやFPGAなどで構成してもよい。
[0027]
 <ユーザ機器>
 図3は、ユーザが中間サービスを利用するために使用する携帯機器(「ユーザ機器」と称す)の構成を示すブロック図である。本実施形態では、ユーザ機器30の一例としてスマートフォンを例示するが、これはあくまで一つの適用例にすぎない。ユーザ機器30としては、中間サービスを利用するためのアプリケーションプログラムを実行するためのプロセッサとメモリを有し、SIMカード(Subscriber Identity Module Card)が装着され、かつ、インターネットとの接続が可能な携帯型の電子機器であればいかなるデバイスを用いてもよい。スマートフォンの他、例えば、タブレット端末、モバイルPC、ウェアラブルPC、スマートウォッチ、スマートグラス、スマートウォレット、携帯ゲーム機などを例示できる。
[0028]
 ユーザ機器30は、主なハードウェア資源として、CPU(プロセッサ)300、メモリ301、ストレージ302、タッチパネルディスプレイ303、通信モジュール304、電源305、SIMカード306、ICカード307、NFCチップ320を有する。メモリ301はRAMであり、CPU300がワーキングメモリとして使用する記憶領域を提供する。ストレージ302はアプリケーションプログラムや各種のデータを格納するための不揮発性の記憶媒体であり、例えば、内蔵のEEPROM、カードスロットに装着されるフラッシュメモリなどが該当する。タッチパネルディスプレイ303は、表示装置と入力装置を兼ねたデバイスである。通信モジュール304は、ユーザ機器30によるデータ通信や音声通信を担うデバイスである。本実施形態の通信モジュール304は、3Gや4G/LTEなどの携帯電話網を利用した通信、Wi-Fiによる通信、近距離無線通信などに対応しているものとする。電源305は、ユーザ機器30に対し電力を供給するものであり、リチウムイオンバッテリと電源回路から構成される。SIMカード306は、携帯電話網を利用した通信の加入者情報が記録された接触型のICカードである。ICカード307も、SIMカード306と同じく接触型のICカードである。ICカード307は、中間サービス及びオンラインサービスのセキュアな利用を実現するためにユーザ機器30に付加的に装着されたデバイスである。NFCチップ320は、NFC(Near Field Communication)規格の近距離無線通信機能とそれを利用したアプリケーションを提供するICチップである。なお、本実施形態では、SIMカード306、ICカード307、NFCチップ320を別のハードウェアで構成したが、SIMカード306及び/又はICカード307にNFCの機能を搭載してもよい。
[0029]
 <ICカード>
 図4は、SIMカード306とICカード307の外観及び装着形態を模式的に示し、図5は、SIMカード306とICカード307のハードウェア構成を模式的に示すブロック図である。
[0030]
 SIMカード306は、幅15mm×高さ12mm×厚み0.76mmの樹脂プレート上にICチップ40が実装された構造を有する。図5に示すように、ICチップ40は、プロセッサ401、RAM402、不揮発性メモリ403、及び、8つのピン(電極)404を有する。不揮発性メモリ403には、SIMカード306のユニークなシリアルナンバー(ICCID)、加入者識別情報(IMSI)などのデータと、プロセッサ401で実行されるプログラムとが格納されている。8つのピン404は、電源入力端子、リセット端子、クロック端子、アース端子、プログラム用電圧入力端子、I/O端子、予備端子を含む。
[0031]
 SIMカード306は、ユーザが移動体通信事業者(MNO)又は仮想移動体通信事業者(MVNO)の提供する移動通信サービスに加入したときに、その事業者から提供されるものである。SIMカード306に格納されるデータやプログラムは事業者ごとに相違しているが、SIMカード306自体の基本的な構造は国際規格に準拠している限りにおいて同一である。なお、本実施形態では、micro-SIMを例に挙げたが、SIMカードとしてはmini-SIMやnano-SIMを用いることもできる。
[0032]
 ICカード307は、幅と高さがSIMカード306と同じ又は略同じサイズであり、厚みが約0.1~0.2mm程度の可撓性フィルムにICチップ41が埋め込まれた構造を有する。ICチップ41も、プロセッサ411、RAM412、不揮発性メモリ413、及び、8つのピン(電極)414を有している。ICカード307の不揮発性メモリ413には、オンラインサービスのセキュアな利用を実現するためのデータ及びプログラムが格納される(詳細は後述する)。
[0033]
 ICカード307の8つのピン414は、ICカード307の表面と裏面の両方に露出しており、かつ、SIMカード306の8つのピン404と同じ配列になっている。図4に示すように、このICカード307をSIMカード306に重ねて貼り付けることにより、ICカード307とSIMカード306の対応するピン(電極)同士が物理的・電気的に接続されることとなる。ICカード307は極めて薄いため、ICカード307を貼り付けた状態のSIMカード306をユーザ機器30のSIMカードスロット308に装着することが可能である。図5は、ICカード307とSIMカード306がSIMカードスロット308に装着された状態を模式的に示している。ICカード307の表面のピン414がユーザ機器30の制御基板309の端子310に接続され、SIMカード306のピン404はICカード307のピン414を介して制御基板309の端子310に接続されることとなる。
[0034]
 ユーザ機器30のCPU300は、ICカード307とSIMカード306のいずれに対しても選択的にアクセスすることができる。言い換えると、ユーザ機器30のCPU300で動作するアプリケーションプログラムは、ICカード307と通信を行うモードとSIMカード306と通信を行うモードを選択的に切り替えることができる。前者のモードの場合、ICカード307のプロセッサ411は、ユーザ機器30から受信した信号(命令)を自身で処理し、SIMカード306には伝送しない。他方、後者のモードの場合は、ICカード307のプロセッサ411は、ユーザ機器30とSIMカード306の間の信号を仲介する(スルーする)動作を行う。本実施形態のように、通信用のSIMカード306に重ね貼りするタイプのICカード307は「サブSIM」とも呼ばれる。
[0035]
 サブSIMタイプのICカード307を用いることにより、次のようなメリットがある。SIMカードスロットを有する携帯機器であれば、ICカード307の装着が可能である(すなわち、携帯機器側に特別な構造や細工が一切不要であり、ほとんど全ての携帯機器にICカード307の装着が可能である)。SIMカードスロットが1つしかない携帯機器に対しても(言い換えると、SIMカードスロットの空きが無い場合でも)、ICカード307を装着可能である。また、通信用のSIMカード306とICカード307とは機能的には完全に独立しており、互いに影響を与えることが無いため、ICカード307を装着した後も音声通信やデータ通信をこれまで同様利用することができる。しかも、どの事業者のSIMカードに対しても追加可能であるため、導入・普及が容易である。
[0036]
 <ICカードの機能>
 図6は、ユーザ機器30とICカード307の論理的な構成を模式的に示すブロック図である。
[0037]
 ユーザ機器30には、中間サーバ21が提供する中間サービスを利用するためのアプリケーションプログラム60(以下単に「本体アプリ60」と称す)がインストールされている。この本体アプリ60は、中間サービス提供者(本実施形態の場合は電子決済等代行業者など)により配布されるプログラムであり、ユーザは中間サービスの利用に先立ちインターネット上のアプリケーションディストリビュータを通じて本体アプリ60をダウンロードしインストールする。
[0038]
 本体アプリ60は、主な機能として、メイン処理部600、ユーザ認証部601、セキュリティ処理部602を有している。メイン処理部600は、中間サービスの利用画面の表示や入力の制御、中間サーバ21とのデータ送受信などを担う機能である。ユーザ認証部601は、ユーザ機器30を使用する者の正当性を確認する処理を担う機能である。ここでのユーザ認証は、ユーザ機器30を現に操作している者が正当な者(ユーザ本人、あるいは、正当なユーザから許可を受けている者)かどうかを確認することが目的である。セキュリティ処理部602は、ICカード307の機能を利用してデータの暗号化や電子署名などのセキュリティ処理を実行する機能である。
[0039]
 ICカード307の不揮発性メモリ413(以下単に「メモリ413」と称す)には、上述したユーザ認証に用いられる本人情報610、ユーザの秘密鍵611と公開鍵612のペア、ユーザの電子証明書613、ハッシュ関数614、プログラム615などが格納されている。メモリ413のアドレス空間は、外部からのアクセス(読み書き)が可能なエリア4130と、外部からのアクセスが不可能なエリア(つまりICカード307のプロセッサ411しかアクセスできないエリア)4131とを有している。セキュリティ処理で用いるデータ(本人情報610、秘密鍵611、公開鍵612、電子証明書613、ハッシュ関数614、プログラム615など)はいずれもエリア4131内に格納され、外部(例えば本体アプリ60など)からは直接に読み書きできないようになっている。ICカード307のシリアル番号616、製造番号617などのデータはエリア4130内に格納され、外部から読み出し可能となっている。
[0040]
 ICカード307のプロセッサ411は、外部のアプリに対して、セキュリティ機能に関するいくつかのAPI(Application Programming Interface)を提供する。図6では、一例として、認証機能620、暗号化機能621、電子署名機能622、本人情報変更機能623、鍵生成機能624、公開鍵読出機能625、電子証明書書込機能626、電子証明書読出機能627を示している。これらの機能は、プロセッサ411がプログラム615を実行することによって実現されるものである。
[0041]
 認証機能620は、外部から与えられる情報を、メモリ413に格納されている本人情報610と照合することにより、ユーザ認証を行う機能である。認証機能620以外の機能621~627は、ユーザ認証に成功しなければ利用できないようになっている。ユーザ認証の方法は何でもよい。例えばPINコード認証であれば、認証機能620は、本体アプリ60のユーザ認証部601からユーザの入力したコード(例えば4ケタの数字)を受け取り、その入力コードが本人情報610として登録されているPINコードと一致するか確認し、一致していれば「OK」、一致していなければ「NG」という結果を返す。パスワード認証であれば、認証機能620は、本体アプリ60のユーザ認証部601からユーザの入力したパスワード(例えば6~16文字のパスワード)を受け取り、その入力パスワードが本人情報610として登録されているパスワードと一致するか確認し、一致していれば「OK」、一致していなければ「NG」という結果を返す。生体認証の場合であれば、認証機能620は、本体アプリ60のユーザ認証部601からユーザの生体情報(顔画像、声紋、虹彩、指紋、静脈など)を受け取り、その生体情報から抽出される特徴と本人情報610として登録されている本人特徴とを比較することにより本人か否かを判定し、本人と判定されたら「OK」、そうでなければ「NG」という結果を返す。PINコード認証とパスワード認証と生体認証のうちの2つ以上を組み合わせたり、さらに他の認証方法を組み合わせることで、さらに高度なセキュリティを実現してもよい。
[0042]
 暗号化機能621は、外部から与えられるデータに対し秘密鍵611を用いた暗号化を行う機能である。例えば、暗号化機能621は、本体アプリ60のセキュリティ処理部602からデータを受け取り、そのデータを秘密鍵611を用いて暗号化し、暗号化されたデータ(暗号文)を返す。なお、暗号アルゴリズムはRSA、DSA、ECDSAなどが好ましいが、それら以外のアルゴリズムを利用してもよい。
[0043]
 電子署名機能622は、外部から与えられるデータに対し秘密鍵611を用いた電子署名を行う機能である。暗号化機能621との違いは、与えられたデータそのものを暗号化するのではなく、与えられたデータのハッシュ値を暗号化する点である。例えば、電子署名機能622は、本体アプリ60のセキュリティ処理部602からデータを受け取り、ハッシュ関数614によりハッシュ値を計算し、ハッシュ値を秘密鍵611を用いて暗号化し、暗号化されたハッシュ値を返す。ハッシュ関数は何を用いてもよい(本実施形態では、SHA-1とSHA-256を用いる)。なお、電子署名の対象となるデータのサイズが小さい場合には、ハッシュ値ではなく、データそのものを暗号化したものを電子署名として用いてもよい。
[0044]
 本人情報変更機能623は、本人情報610をメモリ413に書き込んだり、メモリ413に格納されている本人情報610を更新又は削除する機能である。本体アプリ60がICカード307に対しユーザの情報を新規登録したり変更したりする場合には、この機能を利用する。
[0045]
 鍵生成機能624は、秘密鍵611と公開鍵612の鍵ペアを生成する機能である。ICカード307の初期状態においては、本人情報610、秘密鍵611、公開鍵612、電子証明書613などのユーザに紐付く情報はメモリ413内に格納されておらず、後述するICカード発行手続のときにメモリ413に登録される(この操作をICカードの活性化と呼ぶ)。このとき、秘密鍵611の生成とメモリ413への格納を、ICカード307内の閉じられた空間の中で行う構成としたことで、秘密鍵611の漏えいリスクを低減することができる。なお、本実施形態では、メモリ413から秘密鍵611を読み出すAPIを用意していないので、秘密鍵611が外部に漏えいするリスクはゼロに近い。
[0046]
 公開鍵読出機能625はメモリ413から公開鍵612を読み出す機能である。また、電子証明書書込機能626はメモリ413に電子証明書613を書き込む機能であり、電子証明書読出機能627はメモリ413から電子証明書613を読み出す機能である。公開鍵612や電子証明書613は通信の相手先に配布するためのものなので、外部に読み出すことができるようになっている。なお、電子証明書613の書き込みは、ICカード発行手続のときに必要となる。
[0047]
 以上述べた構成によれば、ユーザ機器30の本体アプリ60は、ICカード307を利用することにより公開鍵暗号によるデータの暗号化や電子署名を簡便に実現できる。また、ICカード307の暗号化や電子署名の機能を利用するにはユーザ認証が必要であり、しかも秘密鍵の漏えいリスクはゼロに近いため、極めて堅牢なセキュリティが担保される。
[0048]
 <ICカードの発行手続>
 図7及び図8を参照して、ICカード307の発行手続(ICカードの活性化)を説明する。図7はICカード発行端末を示す図であり、図8はICカードの発行手続の流れを示す図である。
[0049]
 ICカード発行端末70は、ICカード307の新規発行を行う端末であり、例えば、携帯電話ショップ、サービス提供者の店頭(銀行など)、コンビニエンスストア、代理店窓口などに設置される。ICカード発行端末70は、ICカードのリーダ/ライタを備えたコンピュータにより構成される。店員が操作するのであれば、汎用のパーソナルコンピュータやタブレット端末で構成してもよいし、ユーザ(ICカードの申込者)本人に操作させるのであれば、キオスク端末にしてもよい。
[0050]
 図8に沿って、発行手続の流れを説明する。ここで、「ユーザ」は、オンラインサービスを利用するためにICカード307を新規に申し込む者である(図8の説明では、「ユーザ」又は「申込者」と称す)。「窓口」は、ICカード発行端末70を利用してICカード307の発行業務を行う者である。「通信サービス管理者」は、ICカード307の発行や運用の管理を担う者である。通信サービス管理者は、例えば、ICカード307の提供、認証局への電子証明書の申請、発行済みICカードの管理、ICカード307とSIMカード306の紐付け管理、ICカード307の無効化(例えばユーザ機器30の紛失・盗難・廃棄のとき)などの役割を担う。ICカード307のセキュリティ機能は様々なオンラインサービスに利用できるため、通信サービス管理者はオンラインサービスのサービス提供者や中間サービス提供者とは異なる事業体で構成するとよい。「認証局」は公開鍵の電子証明書の発行及び失効を行う者である。
[0051]
 ICカードの申込者は、まず、窓口においてICカードの利用申請を行う(ステップS800)。利用申請にあたっては、申込者の本人確認情報を伝えると共に、本人確認書類(運転免許証など)を提出する。本人確認情報は、例えば、氏名、性別、生年月日、住所を含むとよい。また申込者は、ICカードに登録するPINコードを指定する。窓口スタッフは、申込者から伝えられた情報を本人確認書類により照合することにより本人確認を行った後、それらの情報をICカード発行端末70に入力する(ステップS801)。なお、PINコードが窓口スタッフに知得されないよう、PINコードの入力だけは申込者本人に行わせてもよい。
[0052]
 次に、窓口スタッフがICカード発行端末70に新規のICカード307をセットし、活性化(アクティベート)処理の開始を指示する。この段階のICカード307のメモリ413には、図6に示す情報のうち、「ハッシュ関数614、プログラム615」のみが格納されており、ユーザに紐付く情報である「秘密鍵611、公開鍵612、電子証明書613」は未だ格納されておらず、本人情報610のPINコードは初期値(例えば「0000」)である。まずICカード発行端末70は、認証機能620を利用して初期値のPINコードにより認証を行った後に、本人情報変更機能623を利用して申込者が指定したPINコードの登録を行うと共に、鍵生成機能624に鍵ペアの生成を指示して秘密鍵611と公開鍵612を生成させる(ステップS802)。PINコードと鍵ペアはメモリ413の所定のエリア4131に書き込まれる。続いて、ICカード発行端末70は、公開鍵読出機能625を利用してメモリ413から公開鍵612を読み出し、この公開鍵612とステップS801で入力された本人確認情報とからCSR(Certificate Signing Request)を作成し、通信サービス管理者の管理サーバに送信する(ステップS803)。
[0053]
 管理サーバは、ICカード発行端末70からCSRを受信すると、そのCSRを所定の認証局に対し送信する(ステップS804)。このとき、管理サーバは、本人確認情報に基づいて申込者の与信調査を実施してもよい。
[0054]
 認証局は、受信したCSRに従って申込者の公開鍵の電子証明書を発行し、管理サーバへ送付する(ステップS805)。電子証明書は公開鍵とその所有者を証明するものである。ITU-Tにより策定されたX.509の場合、電子証明書は、公開鍵、所有者情報(本人確認情報が該当)、認証局の電子署名、電子証明書の有効期限、発行者の情報を含んだデータである。なお、認証局の電子署名は、電子証明書に含まれる公開鍵と所有者情報から生成したハッシュ値を認証局の秘密鍵で暗号化したものである。
[0055]
 管理サーバは、発行された電子証明書をICカード発行端末70に送信する(ステップS806)。ICカード発行端末70は、ICカード307の電子証明書書込機能626を利用して電子証明書をメモリ413に書き込む(ステップS807)。この段階で、ICカード307のメモリ413には、セキュリティ処理に必要なデータである、本人情報610(本実施形態ではPINコード)、秘密鍵611、公開鍵612、電子証明書613が揃ったことになる。
[0056]
 次に、ICカード307を申込者のユーザ機器30に装着する(ステップS808)。具体的には、ユーザ機器30から通信用のSIMカード306を取り出し、SIMカード306上にICカード307を貼り付けた後、再びユーザ機器30にSIMカード306を挿入する。さらに、セットアッププログラムをユーザ機器30にインストールし、セットアッププログラムによるICカード307のセットアップ処理を実行する。ICカード307の装着及びセットアップは、窓口スタッフが行ってもよいし、申込者自身が行ってもよい。
[0057]
 セットアップ処理では、ユーザ機器30(で動作するセットアッププログラム)が、ICカード307から「シリアル番号」と「製造番号」を読み出すと共に、SIMカード306から「電話番号」と「製造番号」を読み出す。また、セットアッププログラムは、ユーザ機器30自体の情報として「IMEI(International Mobile Equipment Identity)」を取得する。そしてセットアッププログラムは、それらの情報と共にICカード登録要求を通信サービス管理者の管理サーバへ送信する(ステップS809)。管理サーバは、ユーザ機器30からICカード登録要求を受信すると、そこに含まれるICカード307とSIMカード306とユーザ機器30の情報をICカード管理データベースに登録する(ステップS810)。
[0058]
 図9はICカード管理データベースに格納されているICカード管理情報のデータ構造の一例である。ICカード307の「シリアル番号」及び「製造番号」に紐付けて、SIMカード306の「電話番号」及び「製造番号」とユーザ機器30の「IMEI」が管理されている。図示しないが、ICカード管理情報として、ユーザの本人確認情報(氏名、性別、住所、生年月日)、公開鍵、電子証明書の情報などを管理してもよい。
[0059]
 ICカード管理情報の登録が完了すると、管理サーバが、ユーザ機器30に対して登録完了を通知する(ステップS811)。これによりユーザ機器30のセットアップが完了し、ICカード307が利用可能な状態(活性化状態)となる。
[0060]
 なお、図8に示した発行手順はあくまで一例であり、異なる手順で発行手続を行っても構わない。例えば、秘密鍵、公開鍵、電子証明書、PINコードが予め登録されたICカード307を窓口に用意しておいてもよい。この場合は、ICカード307への書き込み処理が不要なため、ICカード発行端末70を用いる必要がなくなり、ユーザ機器30でのセットアップ処理だけで済み、ICカードの発行手続が簡便となる。また、PINコード認証ではなく、生体認証を用いる場合には、ICカード307に本人情報として登録する生体情報(顔画像、声紋、虹彩、指紋など)をICカード発行端末70などを利用して入力すればよい。
[0061]
 <中間サービスへの初回登録>
 図10、図11、及び図12を参照して、中間サービスへの初回登録手続を説明する。図10及び図11は、中間サービスへの登録手続の流れを示す図であり、図12は、ユーザ機器30に表示される画面例である。なお、この段階では、オンラインサービスへのユーザ登録は既に済んでおり、オンラインサービス自体にログインするためのID・パスワードはユーザに付与されているものとする。
[0062]
 まず、ユーザは、ユーザ機器30を操作し、本体アプリ60のダウンロード及びインストールを行う(ステップS1001)。そして、ユーザは、本体アプリ60を起動し、中間サービスのログイン画面を開く(ステップS1002)。図12に示すように、初回のログイン時には、ログイン画面120において中間サービスのユーザIDとパスワードを入力し、中間サービスにログインする(ステップS1003)。このとき、本体アプリ60は、中間サービスのユーザIDを不揮発性メモリに記憶する(ステップS1004)。パスワードについては、セキュリティの観点からユーザ機器30には記憶させないほうがよい。なお、ユーザIDとパスワードは、別途の手続である中間サービスの新規利用申込を行ったときに、中間サービス提供者から付与される情報である。
[0063]
 ログインが完了すると、中間サーバ21は、所定の電文(内容はどのようなものでもよい)をユーザ機器30に送信し、電子署名と電子証明書を要求する(ステップS1005)。
[0064]
 本体アプリ60のユーザ認証部601は、図12に示すように、PINコード入力画面121を表示する。ユーザによりPINコードが入力されると、ユーザ認証部601は、ICカード307の認証機能620を利用して、入力されたPINコードが正しいか否かを確認する(ステップS1006)。PINコードが正しい場合(つまり、ユーザ認証に成功した場合)は、本体アプリ60からICカード307の他の機能621~627を利用可能となる。本体アプリ60のセキュリティ処理部602は、ICカード307の電子署名機能622を利用して、中間サーバ21から受信した電文に電子署名を行うと共に、電子証明書読出機能627を利用して、メモリ413から電子証明書613を読み出す。そして、本体アプリ60のメイン処理部600は、電子署名付き電文と電子証明書613を中間サーバ21に送信する(ステップS1007)。
[0065]
 中間サーバ21は、ユーザ機器30から受信した電子証明書613を用いて電子署名付き電文を検証する(ステップS1008)。「検証」とは、電子証明書613に含まれる公開鍵によって電子署名付き電文を復号し、復号結果と元の電文との一致を調べることにより、電子署名がユーザ本人によって行われたこと(つまり、ユーザの秘密鍵によって電子署名が作成されたこと)を確認する操作である。なお、電子署名が電文そのものを暗号化したデータである場合は復号結果と元の電文とを比較すればよく、電子署名が電文のハッシュ値を暗号化したデータである場合は復号結果と元の電文のハッシュ値とを比較すればよい。
[0066]
 検証に成功した場合、中間サーバ21は、当該ユーザのユーザID・パスワードと電子証明書を紐付けて、ユーザ情報記憶部211に登録する(ステップS1009)。そして、中間サーバ21は、電子証明書の登録が完了した旨を本体アプリ60へ通知する(ステップS1010)。中間サービスへの登録が完了すると、図12に示すように、ユーザ機器30にはメニュー画面122が表示される(ステップS1011)。
[0067]
 続いて、ユーザと中間サービスとオンラインサービスの間の紐付けの手順を説明する。この紐付け処理は、ユーザが中間サービスを介してオンラインサービスの何らかの手続をはじめて利用したときや、ユーザが中間サービスのメニュー画面から銀行口座情報の登録を行ったときなどに実行される。図10及び図11では、ユーザが残高照会を行う例を示している。
[0068]
 ユーザがメニュー画面122から「残高照会」を選択し、対象となる銀行口座の情報(銀行名、口座番号、口座名義など)を入力すると、本体アプリ60が中間サーバ21に対し残高照会要求を送信する(ステップS1012)。中間サーバ21の代行制御部213は、照会先の銀行のサービス提供サーバ20に対し残高照会要求を行う(ステップS1013)。この残高照会要求には、ユーザの銀行口座情報が含まれている。
[0069]
 サービス提供サーバ20のアクセス制御部202は、当該ユーザによる中間サーバ21経由のアクセスが初回である場合には、ユーザに対しオンラインサービスのID・パスワードの入力を要請する(ステップS1014)。具体的には、図12に示すように、ユーザ機器30にオンラインサービスのログイン画面123が表示されるので(ステップS1015)、ユーザはオンラインサービスのユーザIDとパスワードを入力し、オンラインサービスにログインする(ステップS1016)。
[0070]
 ログインが完了すると、サービス提供サーバ20は、認証用電文(内容はどのようなものでもよい)をユーザ機器30に送信し、電子署名と電子証明書を要求する(ステップS1017)。
[0071]
 本体アプリ60のユーザ認証部601は、図12に示すように、PINコード入力画面124を表示する。ユーザによりPINコードが入力されると、ユーザ認証部601は、ICカード307の認証機能620を利用して、入力されたPINコードが正しいか否かを確認する(ステップS1018)。PINコードが正しい場合(つまり、ユーザ認証に成功した場合)は、本体アプリ60からICカード307の他の機能621~627を利用可能となる。本体アプリ60のセキュリティ処理部602は、ICカード307の電子署名機能622を利用して、サービス提供サーバ20から受信した認証用電文に電子署名を行うと共に、電子証明書読出機能627を利用して、メモリ413から電子証明書613を読み出す。そして、本体アプリ60のメイン処理部600は、電子署名付き認証用電文と電子証明書613をサービス提供サーバ20に送信する(ステップS1019)。このとき、本体アプリ60は、認証用電文を不揮発性メモリに記憶する(ステップS1020)。
[0072]
 サービス提供サーバ20は、ユーザ機器30から受信した電子証明書613を用いて電子署名付き認証用電文を検証する(ステップS1021)。検証に成功した場合、サービス提供サーバ20は、当該ユーザと中間サービスの組に対し、アクセストークンを発行する。本実施形態では、OAuth2.0の仕組みを利用して、中間サーバ21によるオンラインサービスの代行を実現する。アクセストークンとは、中間サーバ21がユーザに代わりオンラインサービスを利用する際の許可証のようなものである。ユーザ登録部200は、認証用電文とアクセストークンと当該ユーザの電子証明書を紐付けて、ユーザ情報記憶部201に登録する(ステップS1023)。
[0073]
 そして、サービス提供サーバ20は、発行したアクセストークンと当該ユーザの口座残高の情報を中間サーバ21へ通知する(ステップS1024)。中間サーバ21は、受け取ったアクセストークンと当該ユーザの中間サービスのIDとを紐付けて、ユーザ情報記憶部211に登録する(ステップS1025)。なお、図示しないが、中間サーバ21は、サービス提供サーバ20から、アクセストークンと共にリフレッシュトークンも受け取る。リフレッシュトークンは、アクセストークンの再発行に利用されるトークンである。これはOAuth2.0の仕様であるため、ここでは詳しい説明は割愛する。
[0074]
 その後、中間サーバ21は、口座残高の情報を本体アプリ60へ通知する(ステップS1026)。図12に示すように、ユーザ機器30には口座残高の確認画面125が表示される(ステップS1027)。
[0075]
 <中間サービスへのログイン>
 図13及び図14を参照して、中間サービスのログイン認証を説明する。図13は、中間サービスのログイン認証の流れを示す図であり、図14は、ユーザ機器30に表示される画面例である。
[0076]
 ユーザが、ユーザ機器30において本体アプリ60を起動すると、ユーザ認証部601が、図14に示すように、PINコード入力画面140を表示する(ステップS1300)。ユーザによりPINコードが入力されると、ユーザ認証部601は、ICカード307の認証機能620を利用して、入力されたPINコードが正しいか否かを確認する(ステップS1301)。PINコードが正しい場合(つまり、ユーザ認証に成功した場合)、本体アプリ60のセキュリティ処理部602は、ICカード307の電子署名機能622を利用して、中間サービスのユーザIDと認証用電文に対し電子署名を行う(ステップS1302)。そして、本体アプリ60のメイン処理部600は、ログイン要求を中間サーバ21に送信する(ステップS1303)。ログイン要求には、中間サービスのユーザID、認証用電文、電子署名が付加されている。
[0077]
 中間サーバ21のログイン制御部212は、ログイン要求を受信すると、ログイン要求に含まれるユーザIDに基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、ログイン要求に含まれている電子署名の検証を行う(ステップS1304)。また、必要に応じて、ログイン制御部212は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1305、S1306)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、ログイン制御部212は、ログイン要求が正当なユーザからのものであると判断する。
[0078]
 続いて、中間サーバ21のログイン制御部212は、ログイン要求に含まれるユーザIDに基づいて、ユーザ情報記憶部211からオンラインサービスのアクセストークンを読み出し、サービス提供サーバ20にアクセス要求を送信する(ステップS1307)。このアクセス要求には、アクセストークンと、ログイン要求に含まれていた認証用電文及び電子署名とが付加されている。
[0079]
 サービス提供サーバ20のアクセス制御部202は、アクセス要求を受信すると、アクセス要求に含まれるアクセストークンに基づいて、ユーザ情報記憶部201から対応する電子証明書を読み出し、この電子証明書を用いて、アクセス要求に含まれている電子署名の検証を行う(ステップS1308)。また、必要に応じて、アクセス制御部202は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1309、S1310)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、アクセス制御部202は、アクセス要求が、ユーザから代行権限が与えられた中間サーバ21からのものであると判断し、中間サーバ21に対しアクセス許可を与える(ステップS1311)。
[0080]
 オンラインサービスのアクセス許可が得られたら、中間サーバ21は、ログイン認証OKを本体アプリ60に通知する(ステップS1312)。以後、図14に示すように、ユーザ機器30に中間サービスのメニュー画面141が表示され、ユーザは希望する手続を行うことができようになる。
[0081]
 以上述べたログイン認証によれば、ユーザはPINコードを入力するだけでよいので、従来のID・パスワードを都度入力する方法や、トークンを用いる方法に比べて、非常に簡便な操作でログインが可能となる。しかも、ICカード307により提供されるセキュリティ機能を利用しているため、高度のセキュリティも担保されている。
[0082]
 また、本実施形態の方法は、オンラインサービスのID・パスワードの情報を中間サービス側に一切提供することなく、中間サービスとオンラインサービスとの紐付けが可能となる。したがって、オンラインバンキングのID・パスワードを別の事業者に開示することに抵抗を感じる利用者でも、安心してこのサービスを利用することができる。
[0083]
 <オンラインサービスの利用>
 図15及び図16を参照して、中間サービス利用時の手順を説明する。図15は、中間サービス利用時の流れを示す図であり、図16は、ユーザ機器30に表示される画面例である。中間サービスへのログインは既に完了しており、ユーザ機器30にはメニュー画面160が表示されているものとする。
[0084]
 ユーザがメニュー画面160から利用したい手続を選択すると、詳細画面161に遷移する(ステップS1500)。図16では、ユーザが「振込」を選択した場合の画面例が示されている。この詳細画面161においてユーザが必要な情報(例えば振込先、振込額など)を入力し、実行ボタンを押すと(ステップS1501)、本体アプリ60のメイン処理部600が、振込手続に必要な情報を記述した手続メッセージを作成する(ステップS1502)。
[0085]
 続いて、本体アプリ60のユーザ認証部601が、PINコード入力画面162を表示し、PINコード認証を行う(ステップS1503)。PINコード認証の手順は前述したものと同様のため、説明を省略する。PINコード認証に成功した場合、本体アプリ60のセキュリティ処理部602は、ICカード307の電子署名機能622を利用して、手続メッセージに対し電子署名を行う(ステップS1504)。このとき、電子署名機能622は、手続メッセージのハッシュ値を計算し、このハッシュ値を秘密鍵611で暗号化することにより電子署名を生成してもよいし、手続メッセージ自体を秘密鍵611で暗号化することにより電子署名を生成してもよい。そして、本体アプリ60のメイン処理部600は、手続要求を中間サーバ21に送信する(ステップS1505)。手続要求には、中間サービスのID、手続メッセージ、電子署名が付加されている。
[0086]
 中間サーバ21の代行制御部213は、手続要求を受信すると、手続要求に含まれるユーザIDに基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、手続要求に含まれている電子署名の検証を行う(ステップS1506)。また、必要に応じて、代行制御部213は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1507、S1508)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、代行制御部213は、手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである。
[0087]
 手続要求が正当なユーザからのものであると確認できた場合、代行制御部213は、手続要求に含まれるユーザID及び手続メッセージに基づいて、ユーザ情報記憶部211から対応するオンラインサービスのアクセストークンを読み出し、サービス提供サーバ20に手続要求を送信する(ステップS1509)。この手続要求には、アクセストークンと、ユーザ機器30から受信した手続メッセージ及び電子署名とが付加されている。
[0088]
 サービス提供サーバ20の手続制御部203は、手続要求を受信すると、手続要求に含まれるアクセストークンに基づいて、ユーザ情報記憶部201から対応する電子証明書を読み出し、この電子証明書を用いて、手続要求に含まれている電子署名の検証を行う(ステップS1510)。また、必要に応じて、手続制御部203は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1511、S1512)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、手続制御部203は、この手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである。
[0089]
 手続要求が正当なユーザからのものであると確認できた場合にのみ、手続制御部203は、手続メッセージに記述された情報に基づく手続(振込など)を実行する(ステップS1513)。手続が完了すると、手続制御部203は手続完了通知を中間サーバ21に送信し(ステップS1514)、中間サーバ21が手続完了通知を本体アプリ60に送信する(ステップS1515)。そうすると、図16に示すように、手続完了画面163が表示される。
[0090]
 以上述べた処理によれば、ユーザはPINコードを入力するだけでよいので、従来のID・パスワードを都度入力する方法や、トークンを用いる方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。しかも、ICカード307により提供されるセキュリティ機能を利用しているため、高度のセキュリティも担保され、いわゆる中間者攻撃によるなりすましや手続メッセージの改ざんを防止することが可能となる。
[0091]
 なお、図15の例では、ユーザ機器30から送られる手続要求に平文の手続メッセージが含まれている。これは、中間サーバ21(中間サービス提供者)でも手続メッセージの改ざんが行われていないかを検証できるようにするためである。しかしながら、場合によっては、手続メッセージの中に、サービス提供者以外の者に知られたくない情報もしくは伝える必要の無い情報が含まれていることも想定される。例えば、オンラインで住所変更手続を行う際には、その手続メッセージの中に変更後の住所情報が含まれることとなるが、住所のような個人情報はプライバシーに関わるため、中間サービス提供者に知られたくないと希望するユーザは少なくない。また、銀行は住所情報を管理する法的義務があるが、中間サービス提供者にはその義務はないため、中間サービス提供者の側も、必要のない個人情報は受け取りを避けたいと考えるかもしれない。
[0092]
 そこで、ユーザ機器30がサービス提供サーバ20(サービス提供者)の公開鍵を用いて手続メッセージを暗号化してもよい。すなわち、ユーザ機器30の本体アプリ60が、住所変更手続などの手続メッセージをサービス提供サーバ20の公開鍵により暗号化した後、暗号化された手続メッセージに対しユーザの秘密鍵611による電子署名を行い、ID・暗号化された手続メッセージ・電子署名を含む手続要求を中間サーバ21に送信するのである。
[0093]
 この方法によれば、中間サーバ21は、電子署名を検証することによって、手続要求が正当なユーザから送られてきたものであることは確認できるが、手続メッセージの内容を確認することはできない。一方、サービス提供サーバ20は、自身が保管する秘密鍵を用いて手続メッセージを復号することにより、手続メッセージの内容(ユーザの住所情報など)を確認でき、手続を遂行することができる。したがって、中間サービス提供者による中間サービスを経由しつつも、中間サービス提供者には秘匿した状態で、サービス提供者にのみ情報を伝達する、という仕組みが実現できる。
[0094]
 <ICカードの無効化>
 本実施形態のユーザ機器30によれば、PINコードや生体情報によるユーザ認証に成功しなければ、中間サービス及びオンラインサービスを利用することができない。したがって、仮にユーザ機器30の紛失や盗難が起きた場合でも、第三者によるユーザ機器30の不正使用のリスクは小さい。とはいえ、PINコード認証や生体認証が破られる可能性はゼロではないことから、好ましくは、以下に述べるようなICカードの無効化機能を実装するとよい。
[0095]
 (1)ICカードの自滅機能
 自滅とは、ICカード307のプロセッサ411自身がICカード307の機能を無効化する操作である。具体的な操作としては、外部(本体アプリ60)からICカード307の機能を利用できないようにロックをかけたり、メモリ413に格納されているデータ(鍵ペア、電子証明書など)を消去したりする方法などがある。例えば、誤ったPINコードが連続して所定回数入力された場合、API以外の方法でメモリ413へのアクセスが行われた場合などに、プロセッサ411は自滅を実行するとよい。
[0096]
 (2)ICカードの無効化
 通信サービス管理者が、ユーザから、ユーザ機器30又はICカード307の紛失・盗難の報告を受けた場合に、管理サーバからユーザ機器30又はICカード307に対して無効化信号を送信し、ICカード307を無効化してもよい。あるいは、管理サーバが、ICカード307の使用状況を監視し、異常を検知した場合(例えば、不使用状態が長期間続いた場合、使用頻度が突然増加した場合、大金を送金しようとした場合など)にICカード307を無効化してもよい。あるいは、管理サーバが、ICカード307とSIMカード306とユーザ機器30の組み合わせを監視し、ICカード管理情報で管理されている情報との齟齬を検知した場合(例えば、ICカードが単独又はSIMカードと一緒に抜き取られ、他の携帯機器に装着された場合などに、そのような齟齬が発生し得る)にICカード307を無効化してもよい。無効化の方法も、外部(本体アプリ60)からICカード307の機能を利用できないようにロックをかけたり、メモリ413に格納されているデータ(鍵ペア、電子証明書など)を消去したりする方法などがある。
[0097]
 (3)電子証明書の無効化
 通信サービス管理者が、ユーザから、ユーザ機器30又はICカード307の紛失・盗難の報告を受けた場合に、管理サーバから認証局に対して当該ユーザの電子証明書の無効化を依頼してもよい。あるいは、管理サーバが、ICカード307の使用状況やICカード・SIMカード・ユーザ機器の組み合わせを監視し、異常を検知した場合に認証局に電子証明書の無効化を依頼してもよい。
[0098]
 <その他>
 上述した実施形態は本発明の具体例の一つを説明したにすぎず、本発明の技術的範囲は上述した実施形態の内容に限定されるものではなく、また本発明はその技術思想の範囲内で様々な具体的形態を採り得るものである。例えば、本発明はオンラインバンキングサービス以外にも様々な種類のオンラインサービスに適用することができる。また、上述した実施形態ではサブSIMタイプのICカードを例示したが、SIMカードスロットを複数備える携帯機器であれば、一般的なmicro-SIMやnano-SIMと同じ仕様のICカードを(通信用SIMカードとは別のスロットに)装着してもよい。あるいは、SIMカードスロット以外のスロットに装着するタイプのICカードを用いてもよいし、携帯機器に内蔵されたICチップ(例えばSecure Elementなど)を用いてもよい。また、上述した実施形態では、ログイン要求の中に電子署名付きユーザIDのみ含めたが、さらに電子証明書を一緒に送ってもよい。また、上述した実施形態では、ユーザ機器から中間サーバに送るデータにのみ電子署名を行ったが、中間サーバやサービス提供サーバがユーザ機器に送るデータに対し電子署名や暗号化を行うことも好ましい。その場合、中間サーバやサービス提供サーバは、自身の暗号鍵で電子署名や暗号化を行ってもよいし、ユーザの公開鍵で暗号化を行ってもよい。
[0099]
 <セキュアエレメント>
 上述した実施形態では、サブSIMタイプのICカードによって暗号化機能(セキュリティ機能)を提供したが、暗号化機能の全部又は一部を、ユーザ機器30に内蔵もしくは接続されたセキュアエレメント1600によって提供してもよい。図17は、セキュアエレメント1600を内蔵するユーザ機器30のハードウェア構成を模式的に示すブロック図である。
[0100]
 セキュアエレメント1600とは格納したデータを外部から解析されることへの耐性(耐タンパー性)を持ち、主に機密情報を管理するために用いられるICチップである。セキュアエレメント1600は、ユーザ機器30本体の制御基板309(プロセッサ1611、RAM1612、不揮発性メモリ1613を有する)とは独立したICチップであり、プロセッサ1601、RAM1602、不揮発性メモリ1603を有している。セキュアエレメント1600はユーザ機器30本体のプロセッサ1611などと通信を行う。
[0101]
 暗号化機能をセキュアエレメント1600により提供する場合、暗号化機能で用いるデータ(図6に示す、本人情報610、秘密鍵611、公開鍵612、電子証明書613、ハッシュ関数614、プログラム615など)はセキュアエレメント1600内の不揮発性メモリ1603に格納されるとよい。また、暗号化機能(図6に示す、認証機能620、暗号化機能621、電子署名機能622、本人情報変更機能623、鍵生成機能624、公開鍵読出機能625、電子証明書書込機能626、電子証明書読出機能627など)はセキュアエレメント1600のプロセッサ1601がプログラム615を実行することにより提供されるとよい。
[0102]
 以上述べた構成によれば、ユーザ機器以外のデバイス(従来のトークンのようなもの)を持ち歩く必要がなく、ユーザ機器単体でオンラインサービスの利用が可能となるため、利便性が高い。また、アプリの起動と本人認証だけで自動ログインが可能なため、スマートかつ簡便な操作性を実現できる。さらに、セキュアエレメント1600に格納された秘密鍵と、セキュアエレメント1600が提供する暗号化機能を利用するため、セキュアなデータ通信を実現できる。この秘密鍵は漏えいのリスクが小さく、また、PINコードやパスワードや生体認証による本人認証をクリアしなければ秘密鍵や暗号化機能を利用することもできないので、第三者による不正利用のリスクを可及的に小さくできる。
[0103]
 <SIMカード>
 暗号化機能の全部又は一部が、ユーザ機器30に内蔵もしくは接続されたSIMカードによって提供されてもよい。図18は、SIMカード1700を備えるユーザ機器30のハードウェア構成を模式的に示すブロック図である。
[0104]
 SIMカード1700は、プロセッサ1701、RAM1702、不揮発性メモリ1703、及び、8つのピン1705(電極)を有する。不揮発性メモリ1703には、SIMカード1700のユニークなシリアルナンバー(ICCID)、加入者識別情報(IMSI)などのデータと、暗号化機能で利用するデータと、プロセッサ1701で実行されるプログラムとが格納されている。8つのピン1705は、電源入力端子、リセット端子、クロック端子、アース端子、プログラム用電圧入力端子、I/O端子、予備端子を含む。
[0105]
 図18は、SIMカード1700がSIMカードスロット1704に装着された状態を模式的に示している。SIMカード1700のピン1705がユーザ機器30の制御基板309の端子1706に接続される。
[0106]
 SIMカード1700は、ユーザが移動体通信事業者(MNO)又は仮想移動体通信事業者(MVNO)の提供する移動通信サービスに加入したときに、その事業者から提供されるものである。SIMカード1700に格納されるデータやプログラムは事業者ごとに相違しているが、SIMカード1700自体の基本的な構造は国際規格に準拠している限りにおいて同一である。SIMカード1700としては、標準-SIM、micro-SIM、nano-SIMのいずれのタイプを用いてもよい。
[0107]
 暗号化機能をSIMカード1700により提供する場合、暗号化機能で用いるデータ(図6に示す、本人情報610、秘密鍵611、公開鍵612、電子証明書613、ハッシュ関数614、プログラム615など)はSIMカード1700内の不揮発性メモリ1703に格納されるとよい。また、暗号化機能(図6に示す、認証機能620、暗号化機能621、電子署名機能622、本人情報変更機能623、鍵生成機能624、公開鍵読出機能625、電子証明書書込機能626、電子証明書読出機能627など)はSIMカード1700のプロセッサ1601がプログラム615を実行することにより提供されるとよい。
[0108]
 以上述べた構成によれば、ユーザ機器以外のデバイス(従来のトークンのようなもの)を持ち歩く必要がなく、ユーザ機器単体でオンラインサービスの利用が可能となるため、利便性が高い。また、アプリの起動と本人認証だけで自動ログインが可能なため、スマートかつ簡便な操作性を実現できる。さらに、SIMカード1700に格納された秘密鍵と、SIMカード1700が提供する暗号化機能を利用するため、セキュアなデータ通信を実現できる。この秘密鍵は漏えいのリスクが小さく、また、PINコードやパスワードや生体認証による本人認証をクリアしなければ秘密鍵や暗号化機能を利用することもできないので、第三者による不正利用のリスクを可及的に小さくできる。
[0109]
 <電子証明書のポストインストール>
 図19を用いて、電子証明書のポストインストールについて説明する。図8に示した手順では、窓口において電子証明書がインストールされたICカードをユーザに引き渡したのに対し、図19に示す手順(ポストインストール)では、ユーザ機器に内蔵又は接続されたICカードやICチップに後から電子証明書を書き込むことができる点が異なる。
[0110]
 ICカードの申込者(ユーザ)は、まず、窓口においてICカードの利用申請を行う(ステップS1800)。利用申請にあたっては、ユーザの本人確認情報及び電話番号を手続端末に入力すると共に、本人確認書類(運転免許証、住民票など)を提出する。本人確認情報は、例えば、氏名、性別、生年月日、住所を含むとよい。電話番号は、ユーザ機器30に装着された通信用のSIMカードに割り当てられた電話番号である。ユーザは、これらの本人確認情報及び電話番号を手続端末に入力する(ステップS1801)。本人確認書類については、手続端末に備えられたカメラ又はスキャナによって電子データ化(例えば画像データ)されるとよい。手続端末は本人確認情報と本人確認書類と電話番号を通信サービス管理者に送信する(ステップS1802)。なお、ここではユーザが自ら手続端末を操作し、必要な情報を入力する手順を想定するが、図8の場合と同じように窓口スタッフが入力を代行してもよい。
[0111]
 一方、ユーザは、暗号化機能をインストール及びアクティベートするための所定のプログラム(「セットアッププログラム」と呼ぶ)をユーザ機器30にインストールする(図6に示す本体アプリ60がセットアッププログラムを兼ねていてもよい)。そして、ユーザ機器30のプロセッサは、セットアッププログラムによって、通信用のSIMカードから電話番号とIMSIを読み込み(ステップS1803)、SIMカードの電話番号とIMSIを通信サービス管理者に送信する(ステップS1804)。
[0112]
 この後、ユーザは、ICカードを受け取り、ユーザ機器30に装着する。この段階のICカードのメモリには、図6に示す情報のうち、「ハッシュ関数、プログラム」のみが格納されており、ユーザに紐付く情報である「秘密鍵、公開鍵、電子証明書」は未だ格納されていない。
[0113]
 通信サービス管理者は、電話番号をキーとして、ユーザ機器30から受信した情報と手続端末から受信した情報の対応をとり、本人確認情報と本人確認書類とSIMカードの電話番号及びIMSIとを紐づけて記憶する。そして、通信サービス管理者は、本人確認情報を本人確認書類と照合し、情報に齟齬がないかをチェックすることにより本人確認を行う(ステップS1806)。本人確認完了後、通信サービス管理者は、証明書発行依頼とユーザ機器30から受信した通信用SIMカードの電話番号及び/又はIMSIを認証局に送信する(ステップS1807)。なお、本例では電話番号及び/又はIMSIをユーザ機器30が通信サービス管理者を介して間接的に認証局に通知したが、電話番号及び/又はIMSIをユーザ機器30が直接的に認証局に通知してもよい。また、本例では本人確認書類の電子データを通信サービス管理者にネットワークを介して送信したが、本人確認書類の原本確認が必要な場合は、窓口又はユーザから通信サービス管理者に本人確認書類の原本を提出ないし郵送するようにしてもよい。この場合は、通信サービス管理者が本人確認書類の原本を受領したのち、ステップS1806の本人確認処理が開始される。
[0114]
 証明書発行依頼を受信した認証局は、利用者識別符号を生成し、IMSI又は電話番号により特定される送信先に利用者識別符号を送信する(ステップS1808)。利用者識別符号の送信手段としては、例えば、SMS(ショートメッセージサービス)を利用することができる。ユーザ機器30のセットアッププログラムは、ICカードの鍵生成機能624に鍵ペアの生成を指示して秘密鍵と公開鍵を生成させる(ステップS1809)。なお、利用者識別符号の送付(ステップS1808)と鍵ペア生成(ステップS1809)の順序は問わない。
[0115]
 その後、ユーザ機器30のセットアッププログラムは、ICカードの公開鍵読出機能625を利用して、ICカードのメモリから公開鍵を読み出し、この公開鍵と利用者識別符号とから電子証明書の発行要求であるCSR(Certificate Signing Request)を作成し、所定の認証局に送信する(ステップS1810)。
[0116]
 認証局は、受信したCSRに従ってユーザの公開鍵の電子証明書を発行し、ユーザ機器30へ、有線インターネット経由あるいは無線インターネット経由で送信する(ステップS1811)。このとき、プロトコルとしてHTTP(Hypertext Transfer Protocol)又はHTTPS(Hypertext Transfer Protocol Secure)を用いて送信してもよい。電子証明書を認証局から受信する処理も、ユーザ機器30のセットアッププログラムによって行われる。
[0117]
 電子証明書は電子的に利用者が本人であることを証明するものである。本実施形態では、電子証明書として、公開鍵とその所有者の同定情報を結びつける公開鍵証明書が用いられる。ITU-Tにより策定されたX.509の場合、電子証明書は、公開鍵、所有者情報(本人確認情報が該当)、認証局の電子署名、電子証明書の有効期限、発行者の情報を含んだデータである。なお、認証局の電子署名は、電子証明書に含まれる公開鍵と所有者情報から生成したハッシュ値を認証局の秘密鍵で暗号化したものである。
[0118]
 認証局が電子証明書をユーザ機器30へ送信するタイミング、あるいは、ユーザ機器30が電子証明書を認証局から受信するタイミングは、任意に制御できる。例えば、ユーザ機器30のセットアッププログラムがバックグラウンドで定期的に認証局と通信を行い、電子証明書の発行が完了したか否かを確認し、準備が整った段階で電子証明書をダウンロードしてもよい。あるいは、認証局がCSRを受信したときに、ユーザ機器30に対し、電子証明書の発行予定日時(ダウンロードが可能となる日時)を通知してもよい。その場合、ユーザ機器30のセットアッププログラムは、通知された発行予定日時の経過後に、認証局にアクセスし電子証明書を取得すればよい。あるいは、SMSやプッシュ通知などの仕組みを用いて、認証局が、電子証明書の発行が完了した旨をユーザ機器30のセットアッププログラムに通知し、応答したセットアッププログラムに対し電子証明書を送信してもよい。このように、電子証明書の発行依頼と電子証明書のユーザ機器への送信とを異なるタイミングで行えるようにしたことにより、例えば、本人確認までの業務を店頭窓口で行い、電子証明書発行以降のフローはユーザが希望する時間帯に行うというように、時間や場所の制限のないオペレーションが可能となる。したがって、暗号化機能のインストール及びアクティベーションの利便性向上を図ることができる。なお、いずれの方法の場合でも、ユーザ機器30のセットアッププログラムは、利用者識別符号とともに通信用SIMカードの電話番号及び/又はIMSIを認証局に通知することによって、申込者本人の端末(正当な端末)であることを認証局に証明するとよい。これにより、電子証明書の発行依頼とユーザ機器への送信とが異なるタイミングで行われる場合においても、別人の端末に誤って電子証明書を送信するといったミスの発生を防ぐことができる。また、悪意をもった者が不正に電子証明書を取得することも抑制できるため、電子証明書の発行及び送信を安全に行うことができる。
[0119]
 ユーザ機器30のセットアッププログラムは、ICカードの電子証明書書込機能626を利用して電子証明書をICカードのメモリに書き込む(ステップS1812)。この段階で、ICカードのメモリには、セキュリティ処理に必要なデータである、本人情報、秘密鍵、公開鍵、電子証明書が揃ったことになる。このとき、電子証明書をユーザ機器30に搭載されるSIMカードやセキュアエレメントに格納してもよい。
[0120]
 ユーザ機器30のセットアッププログラムは、ICカードから「シリアル番号」と「製造番号」を読み出すと共に、通信用のSIMカードから「電話番号」と「IMSI」を読み出す。また、セットアッププログラムは、ユーザ機器自体の情報として「IMEI(International Mobile Equipment Identity)」を取得する。そしてセットアッププログラムは、それらの情報と共にICカード登録要求を通信サービス管理者の管理サーバへ送信する。管理サーバは、ユーザ機器30からICカード登録要求を受信すると、そこに含まれるICカードとSIMカードとユーザ機器の情報をICカード管理データベースに登録する(ステップS1814)。
[0121]
 ICカード管理情報の登録が完了すると、管理サーバが、ユーザ機器30に対して登録完了を通知する。これによりユーザ機器30のセットアップが完了し、ICカードが利用可能な状態(活性化状態)となる。
[0122]
 なお、図19に示した発行手順はあくまで一例であり、異なる手順で発行手続を行っても構わない。例えば、SMSの代わりにインターネットを介したデータ通信により利用者識別符号をユーザ機器に送信してもよい。このとき、通信用のSIMカードのIMSIを用いてユーザ機器のIPアドレスを特定してもよい。また、PINコード認証ではなく、生体認証を用いる場合には、ICカードに本人情報として登録する生体情報(顔画像、声紋、虹彩、指紋など)を手続端末などを利用して入力してもよい。
[0123]
 <ICチップの特定>
 図20は、ユーザ機器と中間サーバとの間で通信を行う際に、ユーザ機器において利用されるICチップを特定するための仕組みの一例を示す図である。図20の例では、ユーザ機器30が2つのICチップ190、191を有しており、ICチップ190がサーバA192との通信に利用され、ICチップ191がサーバB193との通信に利用されるものとする。ICチップ190、191としては、前述したサブSIMタイプのICカード、通信用のSIMカード、セキュアエレメントなどのほか、いかなるタイプのICチップを利用してもよい。
[0124]
 各ICチップ190、191には、ユニークなIDが割り振られている。このIDは、ICチップを一意に特定しうる識別情報であって、ICチップの内蔵メモリ内に格納されている。図20の例では、ICチップ190のIDは「aaa1」であり、ICチップ191のIDは「bbb2」である。IDとしては、他のICチップと重ならなければいかなる情報でもよい。例えば、IMSI(International Mobile Subscriber Identity)、ICCID(Integrated Circuit Card ID)、電話番号、シリアル番号、製造番号などをIDとして用いることができる。また、IMSIなどに対応づけられたIPアドレスをIDとして用いてもよい。
[0125]
 ユーザ機器30の本体アプリ60は、サーバA192に送信するデータ(通信パケット)194のヘッダなどに、送信元の情報として、ICチップ190のID「aaa1」を付加する。これにより、サーバA192は、ユーザ機器30において使用されているICチップ190を特定することができる。またサーバA192も、ユーザ機器30に送信するデータ(通信パケット)194のヘッダなどに、送信先の情報として、ICチップ190のID「aaa1」を付加する。このIDにより、本体アプリ60は、サーバA192から受信したデータの処理を担当するICチップ190を特定することができる。
[0126]
 一方、ユーザ機器30の本体アプリ60は、サーバB193に送信するデータ(通信パケット)195のヘッダなどに、送信元の情報として、ICチップ191のID「bbb2」を付加する。これにより、サーバB193は、ユーザ機器30において使用されているICチップ191を特定することができる。またサーバB193も、ユーザ機器30に送信するデータ(通信パケット)195のヘッダなどに、送信先の情報として、ICチップ191のID「bbb2」を付加する。このIDにより、本体アプリ60は、サーバA192から受信したデータの処理を担当するICチップ190を特定することができる。
[0127]
 以上述べた構成によれば、ユーザ機器30と各サーバとの間において、送信元又は送信先となるICチップを特定したデータ送受信が行われるため、通信の安全性をより高めることができる。また、図20に示すように、ICチップとサーバの組み合わせが複数組ある場合には、本体アプリ60がデータ194、195のヘッダに含まれるID情報に基づいて、データ194、195の処理に利用すべきICチップ190、191を選択(切り替え)することができる。このような利点は、ユーザ機器30が複数のICチップを備えている場合や、ユーザ機器30が複数のサーバとセキュアな通信を行う場合などに、特にメリットが大きい。
[0128]
 図20の例では、ユーザ機器30と各サーバとの間で送受信されるデータにICチップの識別情報を付加することによって、ICチップとサーバとの対応付けを行ったが、別の方法で同様のことを実現しても構わない。例えば、図21に示すように、本体アプリ60が、ICチップとサーバとの対応付けを行う対応付け情報196(以下、「対応テーブル196」と呼ぶ)を有していてもよい。対応テーブル196では、例えば、ICチップの識別情報と、そのICチップの暗号化機能を利用して通信を行うサーバの識別情報との対応付けが行われるとよい。ICチップの識別情報としては、例えば、IMSI(International Mobile Subscriber Identity)、ICCID(Integrated Circuit Card ID)、電話番号、シリアル番号、製造番号、IMSIに対応付けられたIPアドレスなどを用いてもよい。また、サーバの識別情報としては、例えば、サーバのIPアドレス、URLなどを用いてもよい。図21に示す方法の場合、本体アプリ60が、サーバと通信を行う際に、対応テーブル196に基づいて、サーバとの通信において利用するICチップを特定することができる。したがって、図20の方法と同様の効果を奏することが可能である。
[0129]
 <サーバ間の通信のセキュリティ>
 上述した実施形態では、ユーザ機器30と中間サーバ21とサービス提供サーバ20の3者間の通信を、ICチップを利用した公開鍵暗号方式によって保護している。この方式は高度なセキュリティを確保できる点で好ましい形態であるが、3者間の通信のすべてをこの方式で行うことは必須ではない。例えば、ユーザ機器30と中間サーバ21の間は、通信の傍受やなりすましなどのサイバー攻撃のリスクが相対的に高いため、高度なセキュリティが望まれるのに対し、中間サーバ21とサービス提供サーバ20の間の通信は、サイバー攻撃のリスクが相対的に低い。したがって、例えば、ユーザ機器30と中間サーバ21の間の通信にはICチップを利用した保護を適用し、中間サーバ21とサービス提供サーバ20の間の通信は他の方式によりセキュリティを確保してもよい。他の方式としては、例えば、IDとパスワードによる方式、アクセストークンによる方式、ICチップとは異なる暗号化通信による方式、サーバ間を専用線で接続する方式などがある。以下に、それぞれの方式の一例を説明する。
[0130]
 (1)IDとパスワードによる方式
 (初回登録)
 図22を参照して、中間サービスへの初回登録手続を説明する。図22は、中間サービスへの登録手続の流れを示す。なお、この段階では、中間サーバ21が提供する中間サービスへのユーザ登録とサービス提供サーバ20が提供するオンラインサービスへのユーザ登録は既に済んでおり、中間サーバ21が提供するサービスにログインするためのIDとパスワード(以後、便宜的に「ユーザID1」、「パスワード1」と記す)、及び、サービス提供サーバ20が提供するサービスにログインするためのIDとパスワード(以後、便宜的に「ユーザID2」、「パスワード2」と記す)はユーザに付与されているものとする。
[0131]
 まず、ユーザは、ユーザ機器30を操作し、本体アプリ60のダウンロード及びインストールを行う(ステップS2100)。そして、ユーザは、本体アプリ60を起動し、中間サーバ21のログイン画面を開く(ステップS2101)。初回のログイン時には、ユーザがログイン画面において中間サーバ21へのユーザID1とパスワード1を入力し、ユーザ機器30がユーザID1とパスワード1とともにログイン要求を中間サーバ21に送信する(ステップS2102)。このとき、本体アプリ60は、中間サーバ21へのユーザID1を不揮発性メモリに記憶する(ステップS2103)。パスワード1については、セキュリティの観点からユーザ機器30には記憶させないほうがよい。なお、中間サーバ21へのユーザID1とパスワード1は、別途の手続である中間サービスの新規利用申込を行ったときに、中間サービス提供者から付与される情報である。
[0132]
 ユーザID1とパスワード1を中間サーバ21が検証し、ログインが完了すると(ステップS2104)、中間サーバ21は、所定の電文(内容はどのようなものでもよい)をユーザ機器30に送信し、電子署名と電子証明書を要求する(ステップS2105)。
[0133]
 本体アプリ60のユーザ認証部601は、PINコード入力画面を表示する。ユーザによりPINコードが入力されると、ユーザ認証部601は、ICチップの認証機能620を利用して、入力されたPINコードが正しいか否かを確認する(ステップS2106)。PINコードが正しい場合(つまり、ユーザ認証に成功した場合)は、本体アプリ60からICチップの他の機能を利用可能となる。本体アプリ60のセキュリティ処理部602は、ICチップの電子署名機能622を利用して、中間サーバ21から受信した電文に電子署名を行うと共に、電子証明書読出機能627を利用して、メモリから電子証明書を読み出す。そして、本体アプリ60のメイン処理部600は、電子署名付き電文と電子証明書を中間サーバ21に送信する(ステップS2107)。
[0134]
 中間サーバ21は、ユーザ機器30から受信した電子証明書を用いて電子署名付き電文を検証する(ステップS2108)。検証に成功した場合、中間サーバ21は、当該ユーザの中間サーバ21へのユーザID1と電子証明書を紐付けて、ユーザ情報記憶部211に登録する(ステップS2109)。そして、中間サーバ21は、電子証明書の登録が完了した旨を本体アプリ60へ通知する(ステップS2110)。中間サーバ21への登録が完了すると、ユーザ機器30にはメニュー画面が表示される(ステップS2111)。
[0135]
 (中間サービスへのログイン)
 図23を参照して、中間サービスのログイン認証を説明する。図23は、中間サービスのログイン認証の流れを示す。
[0136]
 ユーザが、ユーザ機器30において本体アプリ60を起動すると、ユーザ認証部601が、PINコード入力画面を表示する(ステップS2200)。ユーザによりPINコードが入力されると、ユーザ認証部601は、ICチップの認証機能620を利用して、入力されたPINコードが正しいか否かを確認する(ステップS2201)。PINコードが正しい場合(つまり、ユーザ認証に成功した場合)、本体アプリ60のセキュリティ処理部602は、ICチップの電子署名機能622を利用して、中間サーバ21へのユーザID1と認証用電文に対し電子署名を行う(ステップS2202)。そして、本体アプリ60のメイン処理部600は、ログイン要求を中間サーバ21に送信する(ステップS2203)。ログイン要求には、中間サーバ21へのユーザID1、サービス提供サーバ20へのユーザID2とパスワード2、認証用電文、電子署名が付加されている。
[0137]
 中間サーバ21のログイン制御部212は、ログイン要求を受信すると、ログイン要求に含まれる中間サーバ21へのユーザID1に基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、ログイン要求に含まれている電子署名の検証を行う(ステップS2204)。また、必要に応じて、ログイン制御部212は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS2205、S2206)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、ログイン制御部212は、ログイン要求が正当なユーザからのものであると判断し、サービス提供サーバ20へのユーザID2とパスワード2を当該ユーザの中間サーバ21へのユーザID1と紐付けて、ユーザ情報記憶部211に登録する(ステップS2207)。
[0138]
 続いて、中間サーバ21のログイン制御部212は、サービス提供サーバ20にアクセス要求を送信する(ステップS2208)。このアクセス要求には、サービス提供サーバ20へのユーザID2とパスワード2が付加されている。
[0139]
 サービス提供サーバ20のアクセス制御部202は、アクセス要求を受信すると、サービス提供サーバ20へのユーザID2とパスワード2の検証を行う(ステップS2209)。ユーザID2とパスワード2の検証に成功した場合、アクセス制御部202は、このアクセス要求が、ユーザから代行権限が与えられた中間サーバ21からのものであると判断し、中間サーバ21に対しアクセス許可を与える(ステップS2210)。
[0140]
 オンラインサービスのアクセス許可が得られたら、中間サーバ21は、ログイン認証OKを本体アプリ60に通知する(ステップS2211)。以後、ユーザ機器30に中間サービスのメニュー画面が表示され、ユーザは希望する手続を行うことができるようになる(ステップS2212)。
[0141]
 以上述べた処理によれば、物理的なトークンを用いる方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。
[0142]
 (オンラインサービスの利用)
 図24を参照して、中間サービス利用時の手順を説明する。図24は、中間サービス利用時の流れを示す図である。中間サービスへのログインは既に完了しており、ユーザ機器30にはメニュー画面が表示されているものとする。
[0143]
 ユーザがメニュー画面から利用したい手続を選択すると、詳細画面に遷移する(ステップS2300)。この詳細画面においてユーザが必要な情報(例えば振込先、振込額など)を入力し、実行ボタンを押すと(ステップS2301)、本体アプリ60のメイン処理部600が、振込手続に必要な情報を記述した手続メッセージを作成する(ステップS2302)。
[0144]
 続いて、本体アプリ60のユーザ認証部601が、PINコード入力画面を表示し、PINコード認証を行う(ステップS2303)。PINコード認証の手順は前述したものと同様のため、説明を省略する。PINコード認証に成功した場合、本体アプリ60のセキュリティ処理部602は、ICチップの電子署名機能622を利用して、手続メッセージに対し電子署名を行う(ステップS2304)。このとき、電子署名機能622は、手続メッセージのハッシュ値を計算し、このハッシュ値を秘密鍵で暗号化することにより電子署名を生成してもよいし、手続メッセージ自体を秘密鍵で暗号化することにより電子署名を生成してもよい。そして、本体アプリ60のメイン処理部600は、手続要求を中間サーバ21に送信する(ステップS2305)。手続要求には、中間サーバ21へのユーザID1、手続メッセージ、電子署名が付加されている。
[0145]
 中間サーバ21の代行制御部213は、手続要求を受信すると、手続要求に含まれるユーザの中間サーバへのユーザID1に基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、手続要求に含まれている電子署名の検証を行う(ステップS2306)。また、必要に応じて、代行制御部213は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS2307、S2308)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、代行制御部213は、手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである。
[0146]
 手続要求が正当なユーザからのものであると確認できた場合、代行制御部213は、当該ユーザのサービス提供サーバ20へのユーザID2とパスワード2を読み出し、サービス提供サーバ20に手続要求を送信する(ステップS2309)。この手続要求には、ユーザ機器30から受信した手続メッセージ及び電子署名が付加されている。
[0147]
 サービス提供サーバ20の手続制御部203は、手続要求を受信すると、ユーザID2とパスワード2の検証を行う(ステップS2310)。ユーザID2とパスワード2の検証に成功した場合、手続制御部203は、この手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである
[0148]
 手続要求が正当なユーザからのものであると確認できた場合にのみ、手続制御部203は、手続メッセージに記述された情報に基づく手続(振込など)を実行する(ステップS2311)。手続が完了すると、手続制御部203は手続完了通知を中間サーバ21に送信し、中間サーバ21が手続完了通知を本体アプリ60に送信する(ステップS2312、S2313)。そうすると、手続完了画面が表示される。
[0149]
 以上述べた処理によれば、物理的なトークンを用いる方法などに比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。
[0150]
 (2)アクセストークンによる方式
 次に、アクセストークンを用いて中間サーバ21からサービス提供サーバ20へのアクセス権限の認可をする方式について、一例を示す。
[0151]
 (初回登録)
 図25及び図26を参照して、中間サービスへの初回登録手続を説明する。中間サーバ21にユーザの電子証明書を登録する手順(ステップS2400~S2410)は、図22で説明した手順(ステップS2100~S2110)と同様のため、説明を割愛する。電子証明書の登録完了後、アクセストークン発行のための認可コードの発行とアクセストークンの発行が行われる。アクセストークンとは、中間サーバ21がユーザに代わりオンラインサービスを利用する際の認可証のようなものである。本実施形態では、OAuth2.0の仕組みを利用して、中間サーバ21によるオンラインサービスの代行を実現する。
[0152]
 まず、認可コードの発行を行うため、登録完了通知を受け取ったのちユーザ機器30は、中間サーバ21へのユーザID1、サービス提供サーバ20へのユーザID2とパスワード2、電子署名付き電文、電子証明書を中間サーバ21に送信する(ステップS2411)。中間サーバ21はユーザ機器30から受信した電子証明書を用いて電子署名付き電文を検証する(ステップS2412)。検証に成功した場合、中間サーバ21のユーザ登録部200はサービス提供サーバ20へのユーザID2と中間サーバ21へのユーザID1を紐付けて、ユーザ情報記憶部211に登録する(ステップS2413)。その後、中間サーバ21は、ユーザ機器30から受信したサービス提供サーバ20へのユーザID2・パスワード2とあわせて認可コードの発行要求をサービス提供サーバ20に送信する(ステップS2414)。サービス提供サーバ20は中間サーバ21から受信したユーザID2・パスワード2を検証し、検証に成功した場合、サービス提供サーバ20は受信したユーザID2に紐づく、アクセストークンを発行するための認可コードを発行する(ステップS2415)。サービス提供サーバ20は、中間サーバ21に、ユーザID2及び認可コードとともに認証結果を送信する(ステップS2416)。中間サーバ21は受信したサービス提供サーバ20へのユーザID2を中間サーバ21へのユーザID1に変換し、認可コードと認証結果をユーザ機器30に送信する(ステップS2417)。ユーザ機器30は中間サーバ21へのユーザID1及び認可コードとあわせてアクセストークン発行要求を中間サーバ21に送信する(ステップS2418)。中間サーバ21は受信した中間サーバ21へのユーザID1をサービス提供サーバ20へのユーザID2に変換し、ユーザID2と認可コードとアクセストークン発行要求をサービス提供サーバ20に送信する(ステップS2419)。サービス提供サーバ20は当該ユーザと中間サービスの組に対し、アクセストークンを発行する(ステップS2420)。ユーザ登録部200は、発行したアクセストークンとサービス提供サーバ20へのユーザID2を紐付けて、ユーザ情報記憶部201に登録する。
[0153]
 そして、サービス提供サーバ20は、サービス提供サーバ20へのユーザID2と発行したアクセストークンを中間サーバ21に送信する(ステップS2421)。中間サーバ21は受け取ったアクセストークンと当該ユーザの中間サーバ21へのユーザID1とを紐付けて、ユーザ情報記憶部211に登録する(ステップS2422)。なお、図示しないが、中間サーバ21はサービス提供サーバ20からアクセストークンと共にリフレッシュトークンも受け取る。リフレッシュトークンは、アクセストークンの再発行に利用されるトークンである。これはOAuth2.0の仕様であるため、ここでは詳しい説明は割愛する。
[0154]
 その後、中間サーバ21は、アクセストークンの発行が完了した通知を本体アプリ60へ通知し、ユーザ機器30にはメニュー画面が表示される(ステップS2423、S2424)。
[0155]
 (中間サービスへのログイン)
 中間サービスへのログインではアクセストークンの検証を行う。図27に、中間サービスへのログイン処理の流れを示す。図27のステップS2600~S2606の処理は、図23のステップS2200~S2206の処理とほぼ同様である。ただし、本例では、ログイン要求に付加される情報が、中間サーバ21へのユーザID1と認証用電文と電子署名である点が、図23の処理とは相違する。
[0156]
 中間サーバ21は、電子署名の正当性と電子証明書の有効性を確認したのち、サービス提供サーバ20にアクセス要求を送信する(ステップS2607)。このとき、中間サーバ21は、ログイン要求に含まれる中間サーバ21へのユーザID1に基づいて、ユーザ情報記憶部211からサービス提供サーバ20へのユーザID2とオンラインサービスのアクセストークンを読み出し、アクセス要求とともに送信する。
[0157]
 サービス提供サーバ20のアクセス制御部202は、アクセス要求を受信すると、アクセス要求に含まれるサービス提供サーバ20へのユーザID2とアクセストークンの検証を行う(ステップS2608)。検証に成功した場合、アクセス制御部202は、アクセス要求がユーザから代行権限が与えられた中間サーバ21からのものであると判断し、中間サーバ21に対しアクセス許可を与える(ステップS2609)。
[0158]
 オンラインサービスのアクセス許可が得られたら、中間サーバ21は、ログイン認証OKを本体アプリ60に通知する(ステップS2610)。以後、ユーザ機器30に中間サービスのメニュー画面が表示され、ユーザは希望する手続を行うことができようになる(ステップS2611)。
[0159]
 以上述べた処理によれば、物理的なトークンを用いる方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。
[0160]
 (オンラインサービスの利用)
 オンラインサービスでも、アクセストークンの検証を行う。図28に、オンラインサービスの処理の流れを示す。図28のステップS2700~S2708の処理は、図24のステップS2300~S2308の処理と同様である。
[0161]
 電子証明書によって手続要求が正当なユーザからのものであると確認できた場合、中間サーバ21の代行制御部213は、サービス提供サーバ20に手続要求を送信する(ステップS2709)。このとき、代行制御部213は、ユーザ機器30から受信したユーザID1に基づいて、ユーザ情報記憶部211から対応するサービス提供サーバ20へのユーザID2とオンラインサービスのアクセストークンを読み出し、サービス提供サーバ20に手続要求を送信する(ステップS2709)。この手続要求には、アクセストークンと、ユーザ機器30から受信した手続メッセージ及び電子署名とが付加されている。
[0162]
 サービス提供サーバ20の手続制御部203は、手続要求を受信すると、手続要求に含まれるサービス提供サーバ20へのユーザID2とアクセストークンの検証を行う(ステップS2710)。検証に成功した場合、手続制御部203はこの手続要求が正当なユーザからのものであると判断する。
[0163]
 手続要求が正当なユーザからのものであると確認できた場合にのみ、手続制御部203は、手続メッセージに記述された情報に基づく手続(振込など)を実行する(ステップS2711)。手続が完了すると、手続制御部203は手続完了通知を中間サーバ21に送信し(ステップS2712)、中間サーバ21が手続完了通知を本体アプリ60に送信する(ステップS2713)。手続完了通知を受信したユーザ機器30には、手続完了画面が表示される。
[0164]
 以上述べた処理によれば、物理的なトークンを用いる方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。
[0165]
 (3)ICチップとは異なる暗号化通信による方式
 中間サーバ21とサービス提供サーバ20の間の通信を、ICチップによる暗号化通信とは異なる方式で、暗号化してもよい。例えば、中間サーバ21とサービス提供サーバ20の間で共通鍵を共有し、中間サーバ21とサービス提供サーバ20の間の通信を共通鍵で暗号化してもよい。あるいは、中間サーバ21とサービス提供サーバ20の間の通信を公開鍵暗号方式によって暗号化してもよい。また、SSL/TLS、IPsecなどの暗号化通信を利用してもよい。
[0166]
 このような暗号化通信による方式の場合も、ユーザはPINコードを入力するだけでよいので、従来の方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。なお、(3)の暗号化通信は、(1)のユーザIDとパスワードを利用する方式や、(2)のアクセストークンを利用する方式と組み合わせてもよい。
[0167]
 (4)サーバ間を専用線で接続する方式
 専用線の仕組みを利用して、中間サーバ21とサービス提供サーバ20の間のセキュアな通信を実現することもできる。専用線とは、独占的に使用できる通信回線のことである。中間サーバ21とサービス提供サーバ20の間に物理的な専用線を設けてもよいし、仮想的な専用線(VPN)を利用してもよい。
[0168]
 このような専用線を利用する方式の場合も、ユーザはPINコードを入力するだけでよいので、従来の方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。なお、(4)の専用線は、(1)のユーザIDとパスワードを利用する方式や、(2)のアクセストークンを利用する方式や、(3)の暗号化通信による方式と組み合わせてもよい。
[0169]
 <サーバの多段接続>
 上述した各実施形態では、ユーザ機器30と中間サーバ21とサービス提供サーバ20の3者間の通信について説明したが、本発明は、中間サーバ21及び/又はサービス提供サーバ20を多段接続した構成に対して適用することもできる。
[0170]
 図29Aは、ユーザ機器30とサービス提供サーバ20の間に2つ以上の中間サーバ21A、21Bが従属的(直列的)に接続される構成を示している。例えば、第一の中間サーバ21Aは銀行サービスと連携して家計簿や資産管理のような付加価値サービスを提供する企業(Fintech企業と呼ばれる)のサーバであり、第二の中間サーバ21BはFintech企業と銀行の間に介在して、電子証明書による検証やユーザの管理などの代行を行うサーバであり、サービス提供サーバ20はオンラインバンキングサービスを提供する銀行システムである。電子証明書による検証やユーザの管理などの処理の一部又は全部をサービス提供サーバ20から切り離し、別の中間サーバ21Bで代行する構成とすることで、サービス提供サーバ20の導入や運用が容易になると期待される。このような形態は、例えば、複数の銀行のサービス提供サーバ20の電子証明書やユーザの管理を、一つの中間サーバ21Bで集中的に代行する、というような場合に有利である。また、図29Aの構成は、Fintech企業の中間サーバ21Aが、他のFintech企業の中間サーバ21Bのサービスを利用する場合にも適用できる。例えば、個々のFintech企業が提供するサービスを束ねて統合的なFintechサービスを提供することが想定される。
[0171]
 図29Bは、2つ以上のサービス提供サーバ20A、20Bが直列的に接続される構成である。この構成は、例えば、ある銀行から他の銀行に送金する場合、銀行のサーバと証券のサーバとが連携する場合などに適用できる。
[0172]
 図29Cは、2つ以上の中間サーバ21A、21Bと2つ以上のサービス提供サーバ20A、20Bが直列的に接続される構成の例である。なお、中間サーバ21及びサービス提供サーバ20の接続数は任意である。以下に中間サーバが2つ、サービス提供サーバが1つの場合の動作について説明する。
[0173]
 (初回登録)
 図30を参照して、中間サービスへの初回登録手続を説明する。図30は、中間サービスへの登録手続の流れを示す。なお、この段階では、中間サーバA(21A)が提供する中間サービスへのユーザ登録とサービス提供サーバ20が提供するオンラインサービスへのユーザ登録は既に済んでおり、中間サーバAが提供するサービスにログインするためのIDとパスワード(以後、便宜的に「ユーザID1」、「パスワード1」と記す)、及び、サービス提供サーバ20が提供するサービスにログインするためのIDとパスワード(以後、便宜的に「ユーザID2」、「パスワード2」と記す)はユーザに付与されているものとする。なお、この例では、中間サーバA(21A)と中間サーバB(21B)が協働してユーザに中間サービスを提供しており、ユーザは、中間サーバが多段接続されていることを意識することはない。
[0174]
 まず、ユーザは、ユーザ機器30を操作し、本体アプリ60のダウンロード及びインストールを行う(ステップS2900)。そして、ユーザは、本体アプリ60を起動し、中間サーバAのログイン画面を開く(ステップS2901)。初回のログイン時には、ログイン画面において中間サーバAへのユーザID1とパスワード1を入力し、ユーザ機器30がユーザID1とパスワード1とともにログイン要求を中間サーバAに送信する。このとき、本体アプリは、中間サーバAへのユーザID1を不揮発性メモリに記憶する(ステップS2903)。パスワード1については、セキュリティの観点からユーザ機器30には記憶させないほうがよい。なお、中間サーバAへのユーザID1とパスワード1は、別途の手続である中間サービスの新規利用申込を行ったときに、中間サービス提供者から付与される情報である。
[0175]
 中間サーバAがユーザID1とパスワード1を検証し、中間サーバAへのログインが完了すると(ステップS2904)、中間サーバAは、ユーザ機器30から受信したユーザID1とパスワード1を中間サーバBに送信する(ステップS2905)。同様に、中間サーバBがユーザID1とパスワード1を検証し、中間サーバBへのログインが完了すると(ステップS2906)、中間サーバBは所定の電文(内容はどのようなものでもよい)を中間サーバAに送信し、電子署名と電子証明書を要求する(ステップS2907)。中間サーバAは中間サーバBから受信した所定の電文をユーザ機器30に送信する(ステップS2908)。
[0176]
 本体アプリ60のユーザ認証部601は、PINコード入力画面を表示する。ユーザによりPINコードが入力されると、ユーザ認証部601は、ICチップの認証機能620を利用して、入力されたPINコードが正しいか否かを確認する(ステップS2909)。PINコードが正しい場合(つまり、ユーザ認証に成功した場合)は、本体アプリ60からICチップの他の機能を利用可能となる。本体アプリ60のセキュリティ処理部602は、ICチップの電子署名機能622を利用して、中間サーバAから受信した電文に電子署名を行うと共に、電子証明書読出機能627を利用して、メモリから電子証明書を読み出す。そして、本体アプリ60のメイン処理部600は、電子署名付き電文と電子証明書を中間サーバAに送信する(ステップS2910)。
[0177]
 中間サーバAは、ユーザ機器30から受信した電子署名付き電文と電子証明書を中間サーバBに送信する(ステップS2911)とともに、その電子証明書を用いて電子署名付き電文を検証する(ステップS2912)。検証に成功した場合、中間サーバAは、当該ユーザのユーザID1と電子証明書を紐付けて、ユーザ情報記憶部に登録する(ステップS2913)。
[0178]
 同様に、中間サーバBも、電子証明書を用いて電子署名付き電文を検証する(ステップS2914)。検証に成功した場合、中間サーバBは、当該ユーザのユーザID1と電子証明書を紐付けて、ユーザ情報記憶部に登録する(ステップS2916)。そして、中間サーバBは、電子証明書の登録が完了した旨を中間サーバAへ通知する(ステップS2916)。これを受けて、中間サーバAは、電子証明書の登録が完了した旨を本体アプリ60へ通知する(ステップS2917)。中間サービスへの登録が完了すると、ユーザ機器30にはメニュー画面が表示される。
[0179]
 (中間サービスへのログイン)
 図31及び図32を参照して、中間サービスのログイン認証を説明する。図31及びず31は、中間サービスのログイン認証の流れを示す。
[0180]
 ユーザが、ユーザ機器30において本体アプリ60を起動すると、ユーザ認証部601が、PINコード入力画面を表示する(ステップS3000)。ユーザによりPINコードが入力されると、ユーザ認証部601は、ICチップの認証機能620を利用して、入力されたPINコードが正しいか否かを確認する(ステップS3001)。PINコードが正しい場合(つまり、ユーザ認証に成功した場合)、本体アプリ60のセキュリティ処理部602は、ICチップの電子署名機能622を利用して、中間サーバAへのユーザID1と認証用電文に対し電子署名を行う(ステップS3002)。そして、本体アプリ60のメイン処理部600は、ログイン要求を中間サーバAに送信する(ステップS3003)。ログイン要求には、中間サーバAへのユーザID1、サービス提供サーバ20へのユーザID2とパスワード2、認証用電文、電子署名が付加されている。
[0181]
 中間サーバAのログイン制御部212は、ログイン要求を受信すると、ログイン要求に含まれる中間サーバAへのユーザID1に基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、ログイン要求に含まれている電子署名の検証を行う(ステップS3004)。また、必要に応じて、ログイン制御部212は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS3005、S3006)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、ログイン制御部212は、ログイン要求が正当なユーザからのものであると判断する。
[0182]
 続いて、中間サーバAのログイン制御部212は、ログイン要求を中間サーバBに送信する(ステップS3007)。ログイン要求には、ユーザID1、ユーザID2とパスワード2、認証用電文、電子署名が付加されている。
[0183]
 中間サーバBのログイン制御部212は、ログイン要求を受信すると、ログイン要求に含まれるユーザID1に基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、ログイン要求に含まれている電子署名の検証を行う(ステップS3008)。また、必要に応じて、ログイン制御部212は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS3009、S3010)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、ログイン制御部212は、ログイン要求が正当なユーザからのものであると判断し、サービス提供サーバ20へのユーザID2とパスワード2を当該ユーザの中間サーバAへのユーザID1と紐付けて、ユーザ情報記憶部211に登録する(ステップS3011)。
[0184]
 続いて、中間サーバBのログイン制御部212は、サービス提供サーバ20にアクセス要求を送信する(ステップS3012)。このアクセス要求には、サービス提供サーバ20へのユーザID2とパスワード2が付加されている。
[0185]
 サービス提供サーバ20のアクセス制御部202は、アクセス要求を受信すると、サービス提供サーバ20へのユーザID2とパスワード2の検証を行う(ステップS3013)。サービス提供サーバ20へのユーザID2とパスワード2の検証に成功した場合、アクセス制御部202は、このアクセス要求が、ユーザから代行権限が与えられた中間サーバからのものであると判断し、中間サーバBに対しアクセス許可を与える(ステップS3014)。
[0186]
 オンラインサービスのアクセス許可が得られたら、中間サーバBは、ログイン認証OKを中間サーバAに通知し(ステップS3015)、さらに中間サーバAは、ログイン認証OKを本体アプリ60に通知する(ステップS3016)。以後、ユーザ機器30に中間サービスのメニュー画面が表示され、ユーザは希望する手続を行うことができるようになる(ステップS3017)。
[0187]
 以上述べた処理によれば、物理的なトークンを用いる方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。
[0188]
 (オンラインサービスの利用)
 図33及び図34を参照して、中間サービス利用時の手順を説明する。図33及び図34は、中間サービス利用時の流れを示す図である。中間サービスへのログインは既に完了しており、ユーザ機器にはメニュー画面が表示されているものとする。
[0189]
 ユーザがメニュー画面から利用したい手続を選択すると、詳細画面に遷移する(ステップS3200)。この詳細画面においてユーザが必要な情報(例えば振込先、振込額など)を入力し、実行ボタンを押すと(ステップS3201)、本体アプリ60のメイン処理部600が、振込手続に必要な情報を記述した手続メッセージを作成する(ステップS3202)。
[0190]
 続いて、本体アプリ60のユーザ認証部601が、PINコード入力画面を表示し、PINコード認証を行う(ステップS3203)。PINコード認証の手順は前述したものと同様のため、説明を省略する。PINコード認証に成功した場合、本体アプリ60のセキュリティ処理部602は、ICチップの電子署名機能622を利用して、手続メッセージに対し電子署名を行う(ステップS3204)。このとき、電子署名機能622は、手続メッセージのハッシュ値を計算し、このハッシュ値を秘密鍵で暗号化することにより電子署名を生成してもよいし、手続メッセージ自体を秘密鍵で暗号化することにより電子署名を生成してもよい。そして、本体アプリ60のメイン処理部600は、手続要求を中間サーバAに送信する(ステップS3205)。手続要求には、中間サーバAへのユーザID1、手続メッセージ、電子署名が付加されている。
[0191]
 中間サーバAの代行制御部213は、手続要求を受信すると、手続要求に含まれるユーザの中間サーバへのユーザID1に基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、手続要求に含まれている電子署名の検証を行う(ステップS3206)。また、必要に応じて、中間サーバAの代行制御部213は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS3207、S3208)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、中間サーバAの代行制御部213は、手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである。
[0192]
 手続要求が正当なユーザからのものであると確認できた場合、中間サーバAの代行制御部213は、中間サーバBに手続要求を送信する(ステップS3209)。この手続要求には、ユーザID1、手続メッセージ、電子署名が付加されている。
[0193]
 中間サーバBの代行制御部213は、手続要求を受信すると、手続要求に含まれるユーザID1に基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、手続要求に含まれている電子署名の検証を行う(ステップS3210)。また、必要に応じて、中間サーバBの代行制御部213は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS3211、S3212)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、中間サーバBの代行制御部213は、手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである。
[0194]
 手続要求が正当なユーザからのものであると確認できた場合、中間サーバBの代行制御部213は、サービス提供サーバ20へのユーザID2とパスワード2を読み出し、サービス提供サーバ20に手続要求を送信する(ステップS3213)。この手続要求には、ユーザ機器30から受信した手続メッセージ及び電子署名が付加されている。
[0195]
 サービス提供サーバ20の手続制御部203は、手続要求を受信すると、ユーザID2とパスワード2の検証を行う(ステップS3214)。ユーザID2とパスワード2の検証に成功した場合、手続制御部203は、この手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである
[0196]
 手続要求が正当なユーザからのものであると確認できた場合にのみ、手続制御部203は、手続メッセージに記述された情報に基づく手続(振込など)を実行する(ステップS3215)。手続が完了すると、手続制御部203は手続完了通知を中間サーバBに送信し(ステップS3216)、中間サーバBが中間サーバAに手続完了通知を送信し(ステップS3217)、中間サーバAが手続完了通知を本体アプリ60に送信する(ステップS3218)。そうすると、手続完了画面が表示される。
[0197]
 上述した各実施形態において、ユーザ機器30が各サーバや認証局との間でインターネットを介したデータ通信を行う場合には、ユーザ機器30が備える通信用のSIMカードのIMSI又はそのIMSIに対応付けられたIPアドレスによって、データの送信元あるいは送信先としてのSIMカード(すなわちユーザ機器30)が特定される。IPアドレスは、動的に割り当てられるIPアドレスであってもよいし、固定のIPアドレスであってもよい。

符号の説明

[0198]
20:サービス提供サーバ
21:中間サーバ
30:ユーザ機器
60:アプリケーションプログラム
70:ICカード発行端末
306:SIMカード
307:ICカード(サブSIM)
308:SIMカードスロット

請求の範囲

[請求項1]
 サービス提供者が提供するオンラインサービスを、前記サービス提供者とは異なる者が提供する中間サービスを介して、携帯機器から安全に利用可能な仕組みを提供するオンラインサービス提供システムであって、
 登録されたユーザに対し、インターネットを通じて前記オンラインサービスを提供するサービス提供サーバと、
 前記ユーザに対し、インターネットを通じて前記中間サービスを提供する中間サーバと、
 前記ユーザが所持している携帯機器であるユーザ機器に設けられるICチップと、
 前記ユーザ機器が有する本体プロセッサにより実行され、前記ユーザ機器を前記中間サービスを利用するための端末として機能させるアプリケーションプログラムと、を有し、
 前記ICチップは、
  少なくとも、前記ユーザ機器を使用する者の正当性を確認するためのユーザ認証に用いられる本人情報、前記ユーザの秘密鍵、前記秘密鍵とペアになる前記ユーザの公開鍵、及び、前記公開鍵を含む前記ユーザの電子証明書を非一時的に記憶するメモリと、
  少なくとも、前記アプリケーションプログラムから与えられる情報を前記本人情報と照合することにより前記ユーザ認証を行う認証機能、及び、前記アプリケーションプログラムから与えられるデータに対し前記秘密鍵を用いた電子署名を行う電子署名機能を有するプロセッサと、
を有しており、
 前記アプリケーションプログラムは、前記ユーザ機器を、
  前記ユーザ機器を使用する者から取得した情報に基づき、前記ICチップの前記認証機能を利用して、前記ユーザ認証を行うユーザ認証手段、及び、
  前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して電子署名を生成し、生成された前記電子署名を含むログイン要求をインターネットを通じて前記中間サーバに送信する送信手段、として機能させ、
 前記中間サーバは、
  前記ユーザに関する情報として、前記ユーザの電子証明書を記憶するユーザ情報記憶手段と、
  前記ユーザ機器から前記ログイン要求を受信した場合に、前記ユーザの電子証明書を用いて前記ログイン要求に含まれる前記電子署名を検証することによって前記ログイン要求の正当性を確認し、前記ログイン要求が正当であると確認された場合に前記ユーザ機器からの前記中間サービスの利用を許可すると共に、アクセス要求を前記サービス提供サーバに送信する制御手段と、
を有し、
 前記サービス提供サーバは、
  前記中間サーバから前記アクセス要求を受信した場合に、前記アクセス要求の正当性を確認し、前記アクセス要求が正当であると確認された場合に前記中間サーバによる前記オンラインサービスの利用を許可するアクセス制御手段と、
を有することを特徴とするオンラインサービス提供システム。
[請求項2]
 前記中間サーバの前記制御手段は、前記ログイン要求に含まれる前記電子署名とともに前記アクセス要求を前記サービス提供サーバに送信し、
 前記サービス提供サーバは、前記ユーザの電子証明書を用いて前記電子署名を検証することによって前記アクセス要求の正当性を確認する
ことを特徴とする請求項1に記載のオンラインサービス提供システム。
[請求項3]
 前記中間サーバの前記制御手段は、前記ユーザのユーザID及びパスワードとともに前記アクセス要求を前記サービス提供サーバに送信し、
 前記サービス提供サーバは、前記ユーザの前記ユーザID及び前記パスワードを検証することによって前記アクセス要求の正当性を確認する
ことを特徴とする請求項1に記載のオンラインサービス提供システム。
[請求項4]
 前記中間サーバの前記制御手段は、前記ユーザのユーザIDと前記サービス提供サーバが予め発行したアクセストークンとともに前記アクセス要求を前記サービス提供サーバに送信し、
 前記サービス提供サーバは、前記ユーザの前記ユーザID及び前記アクセストークンを検証することによって前記アクセス要求の正当性を確認する
ことを特徴とする請求項1に記載のオンラインサービス提供システム。
[請求項5]
 前記送信手段は、前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して、前記オンラインサービスの手続に必要な情報を記述したメッセージに対し電子署名を行い、電子署名付きメッセージを含む手続要求をインターネットを通じて前記中間サーバに送信し、
 前記中間サーバは、前記ユーザ機器から前記手続要求を受信した場合に、前記ユーザの電子証明書を用いて前記手続要求に含まれる前記電子署名付きメッセージを検証することによって前記手続要求の正当性を確認し、前記手続要求が正当であると確認された場合に前記手続要求に含まれる前記メッセージを含む手続実行要求を前記サービス提供サーバに送信し、
 前記サービス提供サーバは、前記中間サーバから前記手続実行要求を受信した場合に、前記手続実行要求の正当性を確認し、前記手続実行要求が正当であると確認された場合に前記手続実行要求に含まれる前記メッセージに記述された情報に基づく手続を実行する
ことを特徴とする請求項1~4のいずれかに記載のオンラインサービス提供システム。
[請求項6]
 前記中間サーバは、前記電子署名付きメッセージを含む前記手続実行要求を前記サービス提供サーバに送信し、
 前記サービス提供サーバは、前記ユーザの電子証明書を用いて前記手続実行要求に含まれる前記電子署名付きメッセージを検証することによって前記手続実行要求の正当性を確認する
ことを特徴とする請求項5に記載のオンラインサービス提供システム。
[請求項7]
 前記送信手段は、前記サービス提供サーバの公開鍵を用いて前記メッセージを暗号化した後、前記ICチップの前記電子署名機能を利用して前記暗号化されたメッセージに対し電子署名を行う
ことを特徴とする請求項6に記載のオンラインサービス提供システム。
[請求項8]
 前記中間サーバは、前記ユーザのユーザID及びパスワードとともに前記手続実行要求を前記サービス提供サーバに送信し、
 前記サービス提供サーバは、前記ユーザの前記ユーザID及び前記パスワードを検証することによって前記手続実行要求の正当性を確認する
ことを特徴とする請求項5に記載のオンラインサービス提供システム。
[請求項9]
 前記中間サーバは、前記ユーザのユーザIDと前記サービス提供サーバが予め発行したアクセストークンとともに前記手続実行要求を前記サービス提供サーバに送信し、
 前記サービス提供サーバは、前記ユーザの前記ユーザID及び前記アクセストークンを検証することによって前記手続実行要求の正当性を確認する
ことを特徴とする請求項5に記載のオンラインサービス提供システム。
[請求項10]
 前記中間サーバと前記サービス提供サーバとの間の通信が暗号化されている
ことを特徴とする請求項1~9のいずれかに記載のオンラインサービス提供システム。
[請求項11]
 前記中間サーバと前記サービス提供サーバとの間が専用線で接続される
ことを特徴とする請求項1~10のいずれかに記載のオンラインサービス提供システム。
[請求項12]
 前記中間サーバは、多段接続された複数の中間サーバから構成される
ことを特徴とする請求項1~11のいずれかに記載のオンラインサービス提供システム。
[請求項13]
 前記ICチップは、通信用のSIMカード上に重ねて貼り付けられた状態でSIMカードスロットに装着されるものである
ことを特徴とする請求項1~12のいずれかに記載のオンラインサービス提供システム。
[請求項14]
 前記ICチップは、通信用のSIMカードである
ことを特徴とする請求項1~12のいずれかに記載のオンラインサービス提供システム。
[請求項15]
 前記ICチップは、セキュアエレメントである
ことを特徴とする請求項1~12のいずれかに記載のオンラインサービス提供システム。
[請求項16]
 前記ICチップの前記メモリは、外部からのアクセスが不可能なエリアを有しており、
 少なくとも前記本人情報及び前記秘密鍵は、外部からのアクセスが不可能な前記エリア内に格納されている
ことを特徴とする請求項1~15のいずれかに記載のオンラインサービス提供システム。
[請求項17]
 前記ICチップの前記プロセッサは、前記秘密鍵と前記公開鍵を生成する鍵生成機能を有している
ことを特徴とする請求項1~16のいずれかに記載のオンラインサービス提供システム。
[請求項18]
 前記ICチップは、前記ICチップを一意に特定しうる識別情報を有しており、
 前記ユーザ機器と前記中間サーバ及び/又は前記サービス提供サーバとの間で、前記識別情報により前記ICチップが特定された通信が行われる
ことを特徴とする請求項1~17のいずれかに記載のオンラインサービス提供システム。
[請求項19]
 前記アプリケーションプログラムは、前記中間サーバ及び/又は前記サービス提供サーバと前記ICチップとの対応付けを行う対応付け情報を有しており、前記対応付け情報に基づいて、前記中間サーバ及び/又は前記サービス提供サーバとの通信において利用する前記ICチップを特定する
ことを特徴とする請求項1~17のいずれかに記載のオンラインサービス提供システム。
[請求項20]
 前記ユーザ機器と前記中間サーバ及び/又は前記サービス提供サーバとの間で、前記ユーザ機器が備える通信用のSIMカードのIMSI又はそのIMSIに対応付けられたIPアドレスにより前記SIMカードが特定された通信が行われる
ことを特徴とする請求項1~19のいずれかに記載のオンラインサービス提供システム。
[請求項21]
 前記ユーザ機器が有する本体プロセッサにより実行され、前記ICチップをセットアップするための機能を提供するセットアッププログラムを有している
ことを特徴とする請求項1~20のいずれかに記載のオンラインサービス提供システム。
[請求項22]
 前記セットアッププログラムは、前記ユーザ機器を、
 認証局に対して電子証明書の発行要求を送信する手段、および、
 前記認証局より前記電子証明書を受信し、前記ICチップの前記メモリに前記電子証明書を格納する手段、
として機能させる
ことを特徴とする請求項21に記載のオンラインサービス提供システム。
[請求項23]
 前記セットアッププログラムは、前記ユーザ機器を、
 前記ユーザ機器が備える通信用のSIMカードから電話番号及び/又はIMSIを読み出す手段、
 前記電話番号及び/又はIMSIを前記認証局に通知するための手段、
 前記認証局から前記電話番号又は前記IMSIにより特定される宛先に送信された情報を受信する手段、
として機能させる
ことを特徴とする請求項22に記載のオンラインサービス提供システム。
[請求項24]
 前記情報は、SMSにより前記ユーザ機器に送信される
ことを特徴とする請求項23に記載のオンラインサービス提供システム。
[請求項25]
 前記情報は、インターネットを介したデータ通信により前記ユーザ機器に送信される
ことを特徴とする請求項23に記載のオンラインサービス提供システム。
[請求項26]
 ユーザが所持している携帯機器であるユーザ機器が有する本体プロセッサにより実行され、前記ユーザ機器を、サービス提供サーバがインターネットを通じて提供するオンラインサービスを前記サービス提供サーバとは異なる中間サーバが提供する中間サービスを介して利用するための端末として機能させるアプリケーションプログラムであって、
 前記ユーザ機器には、
  少なくとも、前記ユーザ機器を使用する者の正当性を確認するためのユーザ認証に用いられる本人情報、前記ユーザの秘密鍵、前記秘密鍵とペアになる前記ユーザの公開鍵、及び、前記公開鍵を含む前記ユーザの電子証明書を非一時的に記憶するメモリと、
  少なくとも、前記アプリケーションプログラムから与えられる情報を前記本人情報と照合することにより前記ユーザ認証を行う認証機能、及び、前記アプリケーションプログラムから与えられるデータに対し前記秘密鍵を用いた電子署名を行う電子署名機能を有するプロセッサと、
を有するICチップが設けられており、
 前記アプリケーションプログラムは、前記ユーザ機器を、
  前記ユーザ機器を使用する者から取得した情報に基づき、前記ICチップの前記認証機能を利用して、前記ユーザ認証を行うユーザ認証手段、及び、
  前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して電子署名を生成し、生成された前記電子署名を含むログイン要求をインターネットを通じて前記中間サーバに送信する送信手段、として機能させることを特徴とするアプリケーションプログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]

[ 図 18]

[ 図 19]

[ 図 20]

[ 図 21]

[ 図 22]

[ 図 23]

[ 図 24]

[ 図 25]

[ 図 26]

[ 図 27]

[ 図 28]

[ 図 29]

[ 図 30]

[ 図 31]

[ 図 32]

[ 図 33]

[ 図 34]