JP6499369B1 - オンラインサービス提供システム - Google Patents

オンラインサービス提供システム Download PDF

Info

Publication number
JP6499369B1
JP6499369B1 JP2018234928A JP2018234928A JP6499369B1 JP 6499369 B1 JP6499369 B1 JP 6499369B1 JP 2018234928 A JP2018234928 A JP 2018234928A JP 2018234928 A JP2018234928 A JP 2018234928A JP 6499369 B1 JP6499369 B1 JP 6499369B1
Authority
JP
Japan
Prior art keywords
user
procedure
information
card
service providing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018234928A
Other languages
English (en)
Other versions
JP2020005242A (ja
Inventor
尚久 福田
尚久 福田
グレッグ・ダイクマン
裕昭 横山
裕昭 横山
渋谷 靖
靖 渋谷
昌孝 林
昌孝 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Communications Inc
Original Assignee
Japan Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Communications Inc filed Critical Japan Communications Inc
Priority to JP2018234928A priority Critical patent/JP6499369B1/ja
Application granted granted Critical
Publication of JP6499369B1 publication Critical patent/JP6499369B1/ja
Publication of JP2020005242A publication Critical patent/JP2020005242A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】モバイルの利便性を損なうことなく、セキュアなサービス利用を実現可能な、新たなセキュリティ技術を提供する。【解決手段】ユーザがアプリから振込などの手続を行おうとすると、まず、PINコードなどによるユーザ認証が要求される。ユーザ認証に成功すると、サブSIMの機能制限が解除され、サブSIMが提供する機能を利用可能なモードとなる。アプリは、サブSIMの機能を利用して、手続内容が記述された手続メッセージを秘密鍵で暗号化し電子署名を生成する。この電子署名と手続メッセージが中間サーバを介してオンラインサービスのサーバへと転送される。サーバは、手続メッセージの内容に従い振込などの手続を実行する。【選択図】図1

Description

本発明は、携帯機器からオンラインサービスを利用する際のセキュリティを向上する技術に関する。
インターネットの普及により多種多様なオンラインサービスが登場し、多くの人々に利用されている。一方で、サイバーセキュリティ問題は日増しに増大しているため、安心・安全にオンラインサービスを利用するためのセキュリティ対策が求められている。
例えば、オンラインバンキングサービスにおいては、昨今、中間者攻撃(MITM:Man In The Middle)と呼ばれるサイバー攻撃による被害が急増している。MITM攻撃は
、マルウェアや偽サイトを使って、オンラインバンキングの利用者と金融機関との間の通信を乗っ取り(通信内容を改ざんし)、利用者と金融機関の双方に気づかれることなく不正な送金処理などを行う攻撃手法である。MITB(Man In The Browser)もMITMの一種である。なお、ATM網を利用した送金処理は古くから行なわれていたが、従来は専用線を利用していたためサイバー攻撃のリスクは極めて低かった。これに対し、インターネットのようなオープンなネットワークを利用するオンラインサービスは、MITM攻撃のような様々な脅威に晒されるのである。
現在のオンラインバンキングサービスでは、セキュリティ対策として、ワンタイムパスワード発行器を利用する方法が広く用いられている。これは、サービス利用者にあらかじめワンタイムパスワード発行器を配布しておき、サービスへのログイン時や送金処理を行う際などに、ワンタイムパスワード発行器で生成・表示されるワンタイムパスワードを使って認証を行うという方法である(特許文献1参照)。しかしこの方法は、MITM攻撃に対しては効果がない。MITM攻撃の一種であるMITB攻撃では、マルウェアや偽サイトによりログインIDやワンタイムパスワードなどの認証情報を利用者自身に入力させ、それらの認証情報をそのまま使って利用者へのなりすましを行うからである。
そこで最近では、MITM攻撃への対策として「トランザクション認証」と呼ばれる対策をとる金融機関が増えてきている。トランザクション認証は、一般的に、利用者とサーバの間のトランザクションの暗号化(電子署名)と、ブラウザとは別経路のセッションを利用したトランザクション内容の確認との組み合わせにより実現される。トランザクション内容の確認には、トークンと呼ばれる専用のデバイスが利用されることが多い(特許文献2参照)。
特開2016−071538号公報 特開2012−048728号公報
トランザクション認証は、利用者とサーバの間のトランザクションに電子署名を行うため、MITM攻撃には有効な対策である。しかしながら、現在主流であるハードウェアトークンを用いる方法はいくつかの課題が指摘されている。一つは、ユーザにとっての利便性の低さである。スマートフォンやタブレット端末などの携帯機器(モバイルデバイス)でオンラインサービスを利用することを想定した場合、ユーザは外出先に常にトークンを
携帯しなければならず面倒である。しかも、サービスごとにトークンが異なるため、利用するサービスが増えるほど携帯するトークンの数も増えてしまい、実用性に欠ける。さらに、盗難や紛失のリスクを考慮すると、トークンを持ち歩くことに抵抗を感じる人も多い。二つ目は、サービス提供者の負担コストである。サービス提供者は、オンラインサービスの利用者全員にトークンを配布し管理する必要があり、そのコストは無視できない。
また、銀行法改正(2018年6月施行)を受けて、各金融機関が、口座管理や電子送金などを代行する電子決済等代行業者に対して、API(Application Programming Interface)を開放する動きが進んでいる。したがって、今後は、金融機関とユーザの2者間
のセキュリティだけでなく、金融機関(オンラインサービスの提供者)と電子決済等代行業者(中間サービスの提供者)とユーザの3者間のセキュリティを確保する必要が出てくる。
本発明は上記実情に鑑みなされたものであって、モバイルの利便性を損なうことなく、セキュアなサービス利用を実現可能な、新たなセキュリティ技術を提供することを目的とする。また、本発明のさらなる目的は、オンラインサービスの提供者と中間サービスの提供者とユーザの3者間の高度なセキュリティを確保することのできる、新たなセキュリティ技術を提供することにある。
本発明の第一側面は、
サービス提供者が提供するオンラインサービスを、前記サービス提供者とは異なる者が提供する中間サービスを介して、携帯機器から安全に利用可能な仕組みを提供するオンラインサービス提供システムであって、
登録されたユーザに対し、インターネットを通じて前記オンラインサービスを提供するサービス提供サーバと、
前記ユーザに対し、インターネットを通じて前記中間サービスを提供する中間サーバと、
前記ユーザが所持している携帯機器であるユーザ機器に設けられるICチップと、
前記ユーザ機器が有する本体プロセッサにより実行され、前記ユーザ機器を前記中間サービスを利用するための端末として機能させるアプリケーションプログラムと、を有し、
前記ICチップは、
少なくとも、前記ユーザ機器を使用する者の正当性を確認するためのユーザ認証に用いられる本人情報、前記ユーザの秘密鍵、前記秘密鍵とペアになる前記ユーザの公開鍵、及び、前記公開鍵を含む前記ユーザの電子証明書を非一時的に記憶するメモリと、
少なくとも、前記アプリケーションプログラムから与えられる情報を前記本人情報と照合することにより前記ユーザ認証を行う認証機能、及び、前記アプリケーションプログラムから与えられるデータに対し前記秘密鍵を用いた電子署名を行う電子署名機能を有するプロセッサと、
を有しており、
前記アプリケーションプログラムは、前記ユーザ機器を、
前記ユーザ機器を使用する者から取得した情報に基づき、前記ICチップの前記認証機能を利用して、前記ユーザ認証を行うユーザ認証手段、及び、
前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して電子署名を生成し、生成された前記電子署名を含むログイン要求をインターネットを通じて前記中間サーバに送信する送信手段、として機能させ、
前記中間サーバは、
前記ユーザに関する情報として、前記ユーザの電子証明書を記憶するユーザ情報記憶手段と、
前記ユーザ機器から前記ログイン要求を受信した場合に、前記ユーザの電子証明書を用いて前記ログイン要求に含まれる前記電子署名を検証することによって前記ログイン要求の正当性を確認し、前記ログイン要求が正当であると確認された場合に前記ユーザ機器からの前記中間サービスの利用を許可すると共に、前記ログイン要求に含まれる前記電子署名を含むアクセス要求をインターネットを通じて前記サービス提供サーバに送信する制御手段と、
を有し、
前記サービス提供サーバは、
前記ユーザに関する情報として、前記ユーザの電子証明書を記憶するユーザ情報記憶手段と、
前記中間サーバから前記アクセス要求を受信した場合に、前記ユーザの電子証明書を用いて前記アクセス要求に含まれる前記電子署名を検証することによって前記アクセス要求の正当性を確認し、前記アクセス要求が正当であると確認された場合に前記中間サーバが前記ユーザの代わりに前記オンラインサービスを利用することを許可するアクセス制御手段と、
を有することを特徴とするオンラインサービス提供システムを提供する。
本発明の第二側面は、
ユーザが所持している携帯機器であるユーザ機器が有する本体プロセッサにより実行され、前記ユーザ機器を、サービス提供サーバがインターネットを通じて提供するオンラインサービスを前記サービス提供サーバとは異なる中間サーバが提供する中間サービスを介して利用するための端末として機能させるアプリケーションプログラムであって、
前記ユーザ機器には、
少なくとも、前記ユーザ機器を使用する者の正当性を確認するためのユーザ認証に用いられる本人情報、前記ユーザの秘密鍵、前記秘密鍵とペアになる前記ユーザの公開鍵、及び、前記公開鍵を含む前記ユーザの電子証明書を非一時的に記憶するメモリと、
少なくとも、前記アプリケーションプログラムから与えられる情報を前記本人情報と照合することにより前記ユーザ認証を行う認証機能、及び、前記アプリケーションプログラムから与えられるデータに対し前記秘密鍵を用いた電子署名を行う電子署名機能を有するプロセッサと、
を有するICチップが設けられており、
前記アプリケーションプログラムは、前記ユーザ機器を、
前記ユーザ機器を使用する者から取得した情報に基づき、前記ICチップの前記認証機能を利用して、前記ユーザ認証を行うユーザ認証手段、及び、
前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して電子署名を生成し、生成された前記電子署名を含むログイン要求をインターネットを通じて前記中間サーバに送信する送信手段、として機能させることを特徴とするアプリケーションプログラムを提供する。
本発明は、上記のサービス提供サーバ、又は、中間サーバ、又は、上記のICチップとアプリケーションプログラムを備える携帯機器、又は、上記の処理の少なくとも一部を含むオンラインサービス提供方法、又は、上記のICチップとアプリケーションプログラムによる処理の少なくとも一部を含む携帯機器の制御方法、又は、上記のアプリケーションプログラムを非一時的に記憶したコンピュータ読取可能な記憶媒体、として捉えることもできる。
本発明によれば、モバイルの利便性を損なうことなく、セキュアなサービス利用を実現可能な、新たなセキュリティ技術を提供することができる。また、本発明によれば、オンラインサービスの提供者と中間サービスの提供者とユーザの3者間の高度なセキュリティ
を確保することのできる、新たなセキュリティ技術を提供することができる。
図1は、本発明に係るオンラインサービス提供システムの特徴の一つを示す図である。 図2は、オンラインサービスを提供するサービス提供サーバの構成を示すブロック図である。 図3は、オンラインサービスを利用するために使用するユーザ機器の構成を示すブロック図である。 図4は、SIMカードとICカードの外観及び装着形態を模式的に示す図である。 図5は、SIMカードとICカードのハードウェア構成を模式的に示すブロック図である。 図6は、ユーザ機器とICカードの論理的な構成を模式的に示すブロック図である。 図7は、ICカードの発行手続を説明する図である。 図8は、ICカードの発行手続を説明する図である。 図9は、ICカード管理データベースのデータ構造を示す図である。 図10は、中間サービスへの登録手続の流れを示す図である。 図11は、中間サービスへの登録手続の流れ(図10の続き)を示す図である。 図12は、中間サービスへの登録手続においてユーザ機器に表示される画面例である。 図13は、中間サービスのログイン認証の流れを示す図である。 図14は、中間サービスのログイン認証においてユーザ機器に表示される画面例である。 図15は、中間サービスの利用時の流れを示す図である。 図16は、中間サービスの利用時にユーザ機器に表示される画面例である。
<オンラインサービス提供システムの概要>
図1は、本発明に係るオンラインサービス提供システムの特徴の一つである、サブSIMと呼ばれるICカードを利用した公開鍵暗号による手続内容署名(トランザクション署名)の流れを示している。図1において、サービス提供者は、インターネットを通じてオンラインサービスを提供する者であり、例えば、オンラインバンキングサービスを提供する銀行などが該当する。中間サービス提供者は、サービス提供者が提供するオンラインサービスを代行(仲介)するサービス(本明細書では、これを「中間サービス」又は「代行サービス」と称す)を提供する者であり、例えば、口座管理や電子送金や収支管理などのWEBサービスを提供する電子決済等代行業者などが該当する。
ユーザが所持するユーザ機器(スマートフォンなど)には、中間サービスを利用するためのアプリケーションプログラム(以下「アプリ」とも称す)がインストールされていると共に、サブSIMと呼ばれるICカードが装着されている。サブSIMには、当該ユーザ固有の秘密鍵が格納されている。なお、秘密鍵のペアとなる公開鍵については、電子署名及び認証業務に関する法律(平成12年法律第102号。以下、「電子署名法」という。)に基づく認定を受けている認証局に事前に登録され、認証局より電子証明書が発行されているものとする。
上記システムにおいて、ユーザがアプリから振込などの手続を行おうとすると、まず、
PINコード、パスワード、又は生体認証などによるユーザ認証(本人認証)が要求される。ユーザ認証に成功すると(つまり、アプリを操作している者がユーザ本人であることが確認されると)、サブSIMの機能制限が解除され、サブSIMが提供する機能(API)を利用可能なモードとなる。アプリは、サブSIMの機能を利用して、手続内容が記述された手続メッセージ(トランザクション)を秘密鍵で暗号化し電子署名を生成する。この電子署名と手続メッセージを中間サービスの中間サーバに送ると、該中間サーバが、対応する電子証明書を用いて電子署名の検証を行う。検証の結果、正当なユーザから送られてきた手続メッセージであり、かつ、内容が改ざんされていないことが確認されると、中間サーバは、電子署名と手続メッセージをオンラインサービスのサーバに転送する。すると、該サーバが、対応する電子証明書を用いて電子署名の検証を行い、正当なユーザから送られてきた手続メッセージであり、かつ、内容が改ざんされていないことが確認されると、手続メッセージの内容に従い振込などの手続を実行する。
このような方法によれば、「サービス提供者」と「中間サービス提供者」と「ユーザ」の3者の間で、公開鍵暗号を用いた高度なセキュリティを実現することができる。この方法は、ユーザ機器以外のデバイス(従来のトークンのようなもの)を持ち歩く必要がなく、ユーザ機器単体で中間サービスを介したオンラインサービスの利用を可能とするため、利便性が高い。また、本人認証だけで電子署名を用いたセキュアな手続が可能なため、スマートかつ簡便な操作性を実現できる。
さらに、サブSIMと呼ばれるICカードに格納された秘密鍵と、ICカードが提供する暗号化機能(API)を利用するため、セキュアなデータ通信を実現できる。この秘密鍵は漏えいのリスクが小さく、また、PINコードやパスワードや生体認証による本人認証をクリアしなければ秘密鍵や暗号化機能を利用することもできないので、第三者による不正利用のリスクを可及的に小さくできる。
また、サービス提供者にとっては、トークンのようなデバイスを配布したり管理したりする必要がなくなり、運用コストの低減を期待できる。また電子署名法に基づく認定を受けている認証局が発行した電子証明書を利用して電子署名が付されたデータは、電子署名法第3条により、ユーザ本人が真正に作成したものと推定されるため、訴訟リスクを低減できるという利点もある。
<中間サーバ>
図2Aは、中間サーバの構成を示すブロック図である。中間サーバ21は、中間サービス提供者による中間サービスをインターネットを通じて提供するサーバである。以下、銀行などの金融機関によるオンラインでの金融取引サービス(いわゆるオンラインバンキング)の各種手続を代行する中間サービスを例にとり、中間サーバ21の説明を行うが、これはあくまで一つの適用例にすぎず、本発明はあらゆる種類の中間サービスに好ましく適用可能である。
中間サーバ21は、主な機能として、ユーザ登録部210、ユーザ情報記憶部211、ログイン制御部212、代行制御部213を有する。ユーザ登録部210は、ユーザの新規登録処理を行う機能である。ユーザ情報記憶部211は、登録されたユーザの情報を記憶・管理するデータベースである。ログイン制御部212は、ユーザからのログイン要求に応答して中間サービスの利用の可否及びオンラインサービスのアクセスの可否を制御する機能である。代行制御部213は、ユーザからの手続要求に応答してオンラインサービスの該当手続の代行を制御する機能である。これらの機能及びその処理の詳細は後述する。
中間サーバ21は、例えば、CPU(プロセッサ)、メモリ(RAM)、ストレージ(
HDD、SSDなど)、通信I/F、入出力装置などを備えた汎用のコンピュータにより構成することができる。その場合、上述した機能及びその処理は、ストレージに格納されたプログラムをメモリに展開し、CPUがプログラムを実行することによって実現される。なお、中間サーバ21は、1台のコンピュータで構成してもよいし、分散コンピューティングやクラウドコンピューティングにより構成してもよい。また、汎用のコンピュータではなく、専用のコンピュータにより構成してもよいし、上述した機能又はその処理の一部をソフトウェアではなくASICやFPGAなどで構成してもよい。
<サービス提供サーバ>
図2Bは、サービス提供サーバの構成を示すブロック図である。サービス提供サーバ20は、サービス提供者によるオンラインサービス(WEBサービス)をインターネットを通じて提供するサーバである。以下、銀行などの金融機関によるオンラインでの金融取引サービス(いわゆるオンラインバンキング)を例にとり、サービス提供サーバ20の説明を行うが、これはあくまで一つの適用例にすぎず、本発明はあらゆる種類のオンラインサービスに好ましく適用可能である。
サービス提供サーバ20は、主な機能として、ユーザ登録部200、ユーザ情報記憶部201、アクセス制御部202、手続制御部203を有する。ユーザ登録部200は、ユーザの新規登録処理を行う機能である。ユーザ情報記憶部201は、登録されたユーザの情報を記憶・管理するデータベースである。アクセス制御部202は、中間サーバ21からのアクセス要求に応答してオンラインサービスのアクセスの可否を制御する機能である。手続制御部203は、中間サーバ21からの手続要求に応答してオンラインサービスの該当手続の実行を制御する機能である。これらの機能及びその処理の詳細は後述する。
サービス提供サーバ20は、例えば、CPU(プロセッサ)、メモリ(RAM)、ストレージ(HDD、SSDなど)、通信I/F、入出力装置などを備えた汎用のコンピュータにより構成することができる。その場合、上述した機能及びその処理は、ストレージに格納されたプログラムをメモリに展開し、CPUがプログラムを実行することによって実現される。なお、サービス提供サーバ20は、1台のコンピュータで構成してもよいし、分散コンピューティングやクラウドコンピューティングにより構成してもよい。また、汎用のコンピュータではなく、専用のコンピュータにより構成してもよいし、上述した機能又はその処理の一部をソフトウェアではなくASICやFPGAなどで構成してもよい。
<ユーザ機器>
図3は、ユーザが中間サービスを利用するために使用する携帯機器(「ユーザ機器」と称す)の構成を示すブロック図である。本実施形態では、ユーザ機器30の一例としてスマートフォンを例示するが、これはあくまで一つの適用例にすぎない。ユーザ機器30としては、中間サービスを利用するためのアプリケーションプログラムを実行するためのプロセッサとメモリを有し、SIMカード(Subscriber Identity Module Card)が装着さ
れ、かつ、インターネットとの接続が可能な携帯型の電子機器であればいかなるデバイスを用いてもよい。スマートフォンの他、例えば、タブレット端末、モバイルPC、ウェアラブルPC、スマートウォッチ、スマートグラス、スマートウォレット、携帯ゲーム機などを例示できる。
ユーザ機器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の機能を搭載してもよい。
<ICカード>
図4は、SIMカード306とICカード307の外観及び装着形態を模式的に示し、図5は、SIMカード306とICカード307のハードウェア構成を模式的に示すブロック図である。
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端子、予備端子を含む。
SIMカード306は、ユーザが移動体通信事業者(MNO)又は仮想移動体通信事業者(MVNO)の提供する移動通信サービスに加入したときに、その事業者から提供されるものである。SIMカード306に格納されるデータやプログラムは事業者ごとに相違しているが、SIMカード306自体の基本的な構造は国際規格に準拠している限りにおいて同一である。なお、本実施形態では、micro−SIMを例に挙げたが、SIMカードとしてはmini−SIMやnano−SIMを用いることもできる。
ICカード307は、幅と高さがSIMカード306と同じ又は略同じサイズであり、厚みが約0.1〜0.2mm程度の可撓性フィルムにICチップ41が埋め込まれた構造を有する。ICチップ41も、プロセッサ411、RAM412、不揮発性メモリ413、及び、8つのピン(電極)414を有している。ICカード307の不揮発性メモリ413には、オンラインサービスのセキュアな利用を実現するためのデータ及びプログラムが格納される(詳細は後述する)。
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に接続されることとなる。
ユーザ機器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」とも呼ばれる。
サブSIMタイプのICカード307を用いることにより、次のようなメリットがある。SIMカードスロットを有する携帯機器であれば、ICカード307の装着が可能である(すなわち、携帯機器側に特別な構造や細工が一切不要であり、ほとんど全ての携帯機器にICカード307の装着が可能である)。SIMカードスロットが1つしかない携帯機器に対しても(言い換えると、SIMカードスロットの空きが無い場合でも)、ICカード307を装着可能である。また、通信用のSIMカード306とICカード307とは機能的には完全に独立しており、互いに影響を与えることが無いため、ICカード307を装着した後も音声通信やデータ通信をこれまで同様利用することができる。しかも、どの事業者のSIMカードに対しても追加可能であるため、導入・普及が容易である。
<ICカードの機能>
図6は、ユーザ機器30とICカード307の論理的な構成を模式的に示すブロック図である。
ユーザ機器30には、中間サーバ21が提供する中間サービスを利用するためのアプリケーションプログラム60(以下単に「本体アプリ60」と称す)がインストールされている。この本体アプリ60は、中間サービス提供者(本実施形態の場合は電子決済等代行業者など)により配布されるプログラムであり、ユーザは中間サービスの利用に先立ちインターネット上のアプリケーションディストリビュータを通じて本体アプリ60をダウンロードしインストールする。
本体アプリ60は、主な機能として、メイン処理部600、ユーザ認証部601、セキュリティ処理部602を有している。メイン処理部600は、中間サービスの利用画面の表示や入力の制御、中間サーバ21とのデータ送受信などを担う機能である。ユーザ認証部601は、ユーザ機器30を使用する者の正当性を確認する処理を担う機能である。ここでのユーザ認証は、ユーザ機器30を現に操作している者が正当な者(ユーザ本人、あるいは、正当なユーザから許可を受けている者)かどうかを確認することが目的である。セキュリティ処理部602は、ICカード307の機能を利用してデータの暗号化や電子署名などのセキュリティ処理を実行する機能である。
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内に格納され、外部から読み出し可能となっている。
ICカード307のプロセッサ411は、外部のアプリに対して、セキュリティ機能に関するいくつかのAPI(Application Programming Interface)を提供する。図6では
、一例として、認証機能620、暗号化機能621、電子署名機能622、本人情報変更機能623、鍵生成機能624、公開鍵読出機能625、電子証明書書込機能626、電子証明書読出機能627を示している。これらの機能は、プロセッサ411がプログラム615を実行することによって実現されるものである。
認証機能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つ以上を組み合わせたり、さらに他の認証方法を組み合わせることで、さらに高度なセキュリティを実現してもよい。
暗号化機能621は、外部から与えられるデータに対し秘密鍵611を用いた暗号化を行う機能である。例えば、暗号化機能621は、本体アプリ60のセキュリティ処理部602からデータを受け取り、そのデータを秘密鍵611を用いて暗号化し、暗号化されたデータ(暗号文)を返す。なお、暗号アルゴリズムはRSA、DSA、ECDSAなどが好ましいが、それら以外のアルゴリズムを利用してもよい。
電子署名機能622は、外部から与えられるデータに対し秘密鍵611を用いた電子署名を行う機能である。暗号化機能621との違いは、与えられたデータそのものを暗号化するのではなく、与えられたデータのハッシュ値を暗号化する点である。例えば、電子署名機能622は、本体アプリ60のセキュリティ処理部602からデータを受け取り、ハッシュ関数614によりハッシュ値を計算し、ハッシュ値を秘密鍵611を用いて暗号化し、暗号化されたハッシュ値を返す。ハッシュ関数は何を用いてもよい(本実施形態では、SHA−1とSHA−256を用いる)。なお、電子署名の対象となるデータのサイズが小さい場合には、ハッシュ値ではなく、データそのものを暗号化したものを電子署名として用いてもよい。
本人情報変更機能623は、本人情報610をメモリ413に書き込んだり、メモリ413に格納されている本人情報610を更新又は削除する機能である。本体アプリ60が
ICカード307に対しユーザの情報を新規登録したり変更したりする場合には、この機能を利用する。
鍵生成機能624は、秘密鍵611と公開鍵612の鍵ペアを生成する機能である。ICカード307の初期状態においては、本人情報610、秘密鍵611、公開鍵612、電子証明書613などのユーザに紐付く情報はメモリ413内に格納されておらず、後述するICカード発行手続のときにメモリ413に登録される(この操作をICカードの活性化と呼ぶ)。このとき、秘密鍵611の生成とメモリ413への格納を、ICカード307内の閉じられた空間の中で行う構成としたことで、秘密鍵611の漏えいリスクを低減することができる。なお、本実施形態では、メモリ413から秘密鍵611を読み出すAPIを用意していないので、秘密鍵611が外部に漏えいするリスクはゼロに近い。
公開鍵読出機能625はメモリ413から公開鍵612を読み出す機能である。また、電子証明書書込機能626はメモリ413に電子証明書613を書き込む機能であり、電子証明書読出機能627はメモリ413から電子証明書613を読み出す機能である。公開鍵612や電子証明書613は通信の相手先に配布するためのものなので、外部に読み出すことができるようになっている。なお、電子証明書613の書き込みは、ICカード発行手続のときに必要となる。
以上述べた構成によれば、ユーザ機器30の本体アプリ60は、ICカード307を利用することにより公開鍵暗号によるデータの暗号化や電子署名を簡便に実現できる。また、ICカード307の暗号化や電子署名の機能を利用するにはユーザ認証が必要であり、しかも秘密鍵の漏えいリスクはゼロに近いため、極めて堅牢なセキュリティが担保される。
<ICカードの発行手続>
図7及び図8を参照して、ICカード307の発行手続(ICカードの活性化)を説明する。図7はICカード発行端末を示す図であり、図8はICカードの発行手続の流れを示す図である。
ICカード発行端末70は、ICカード307の新規発行を行う端末であり、例えば、携帯電話ショップ、サービス提供者の店頭(銀行など)、コンビニエンスストア、代理店窓口などに設置される。ICカード発行端末70は、ICカードのリーダ/ライタを備えたコンピュータにより構成される。店員が操作するのであれば、汎用のパーソナルコンピュータやタブレット端末で構成してもよいし、ユーザ(ICカードの申込者)本人に操作させるのであれば、キオスク端末にしてもよい。
図8に沿って、発行手続の流れを説明する。ここで、「ユーザ」は、オンラインサービスを利用するためにICカード307を新規に申し込む者である(図8の説明では、「ユーザ」又は「申込者」と称す)。「窓口」は、ICカード発行端末70を利用してICカード307の発行業務を行う者である。「通信サービス管理者」は、ICカード307の発行や運用の管理を担う者である。通信サービス管理者は、例えば、ICカード307の提供、認証局への電子証明書の申請、発行済みICカードの管理、ICカード307とSIMカード306の紐付け管理、ICカード307の無効化(例えばユーザ機器30の紛失・盗難・廃棄のとき)などの役割を担う。ICカード307のセキュリティ機能は様々なオンラインサービスに利用できるため、通信サービス管理者はオンラインサービスのサービス提供者や中間サービス提供者とは異なる事業体で構成するとよい。「認証局」は公開鍵の電子証明書の発行及び失効を行う者である。
ICカードの申込者は、まず、窓口においてICカードの利用申請を行う(ステップS
800)。利用申請にあたっては、申込者の本人確認情報を伝えると共に、本人確認書類(運転免許証など)を提出する。本人確認情報は、例えば、氏名、性別、生年月日、住所を含むとよい。また申込者は、ICカードに登録するPINコードを指定する。窓口スタッフは、申込者から伝えられた情報を本人確認書類により照合することにより本人確認を行った後、それらの情報をICカード発行端末70に入力する(ステップS801)。なお、PINコードが窓口スタッフに知得されないよう、PINコードの入力だけは申込者本人に行わせてもよい。
次に、窓口スタッフが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)を作成し、通信サービス管理者の管理サーバに送信する(ステップS80
3)。
管理サーバは、ICカード発行端末70からCSRを受信すると、そのCSRを所定の認証局に対し送信する(ステップS804)。このとき、管理サーバは、本人確認情報に基づいて申込者の与信調査を実施してもよい。
認証局は、受信したCSRに従って申込者の公開鍵の電子証明書を発行し、管理サーバへ送付する(ステップS805)。電子証明書は公開鍵とその所有者を証明するものである。ITU−Tにより策定されたX.509の場合、電子証明書は、公開鍵、所有者情報(本人確認情報が該当)、認証局の電子署名、電子証明書の有効期限、発行者の情報を含んだデータである。なお、認証局の電子署名は、電子証明書に含まれる公開鍵と所有者情報から生成したハッシュ値を認証局の秘密鍵で暗号化したものである。
管理サーバは、発行された電子証明書をICカード発行端末70に送信する(ステップS806)。ICカード発行端末70は、ICカード307の電子証明書書込機能626を利用して電子証明書をメモリ413に書き込む(ステップS807)。この段階で、ICカード307のメモリ413には、セキュリティ処理に必要なデータである、本人情報610(本実施形態ではPINコード)、秘密鍵611、公開鍵612、電子証明書613が揃ったことになる。
次に、ICカード307を申込者のユーザ機器30に装着する(ステップS808)。具体的には、ユーザ機器30から通信用のSIMカード306を取り出し、SIMカード306上にICカード307を貼り付けた後、再びユーザ機器30にSIMカード306を挿入する。さらに、セットアッププログラムをユーザ機器30にインストールし、セットアッププログラムによるICカード307のセットアップ処理を実行する。ICカード307の装着及びセットアップは、窓口スタッフが行ってもよいし、申込者自身が行ってもよい。
セットアップ処理では、ユーザ機器30(で動作するセットアッププログラム)が、I
Cカード307から「シリアル番号」と「製造番号」を読み出すと共に、SIMカード306から「電話番号」と「製造番号」を読み出す。また、セットアッププログラムは、ユーザ機器30自体の情報として「IMEI(International Mobile Equipment Identity
)」を取得する。そしてセットアッププログラムは、それらの情報と共にICカード登録要求を通信サービス管理者の管理サーバへ送信する(ステップS809)。管理サーバは、ユーザ機器30からICカード登録要求を受信すると、そこに含まれるICカード307とSIMカード306とユーザ機器30の情報をICカード管理データベースに登録する(ステップS810)。
図9はICカード管理データベースに格納されているICカード管理情報のデータ構造の一例である。ICカード307の「シリアル番号」及び「製造番号」に紐付けて、SIMカード306の「電話番号」及び「製造番号」とユーザ機器30の「IMEI」が管理されている。図示しないが、ICカード管理情報として、ユーザの本人確認情報(氏名、性別、住所、生年月日)、公開鍵、電子証明書の情報などを管理してもよい。
ICカード管理情報の登録が完了すると、管理サーバが、ユーザ機器30に対して登録完了を通知する(ステップS811)。これによりユーザ機器30のセットアップが完了し、ICカード307が利用可能な状態(活性化状態)となる。
なお、図8に示した発行手順はあくまで一例であり、異なる手順で発行手続を行っても構わない。例えば、秘密鍵、公開鍵、電子証明書、PINコードが予め登録されたICカード307を窓口に用意しておいてもよい。この場合は、ICカード307への書き込み処理が不要なため、ICカード発行端末70を用いる必要がなくなり、ユーザ機器30でのセットアップ処理だけで済み、ICカードの発行手続が簡便となる。また、PINコード認証ではなく、生体認証を用いる場合には、ICカード307に本人情報として登録する生体情報(顔画像、声紋、虹彩、指紋など)をICカード発行端末70などを利用して入力すればよい。
<中間サービスへの初回登録>
図10、図11、及び図12を参照して、中間サービスへの初回登録手続を説明する。図10及び図11は、中間サービスへの登録手続の流れを示す図であり、図12は、ユーザ機器30に表示される画面例である。なお、この段階では、オンラインサービスへのユーザ登録は既に済んでおり、オンラインサービス自体にログインするためのID・パスワードはユーザに付与されているものとする。
まず、ユーザは、ユーザ機器30を操作し、本体アプリ60のダウンロード及びインストールを行う(ステップS1001)。そして、ユーザは、本体アプリ60を起動し、中間サービスのログイン画面を開く(ステップS1002)。図12に示すように、初回のログイン時には、ログイン画面120において中間サービスのユーザIDとパスワードを入力し、中間サービスにログインする(ステップS1003)。このとき、本体アプリ60は、中間サービスのユーザIDを不揮発性メモリに記憶する(ステップS1004)。パスワードについては、セキュリティの観点からユーザ機器30には記憶させないほうがよい。なお、ユーザIDとパスワードは、別途の手続である中間サービスの新規利用申込を行ったときに、中間サービス提供者から付与される情報である。
ログインが完了すると、中間サーバ21は、所定の電文(内容はどのようなものでもよい)をユーザ機器30に送信し、電子署名と電子証明書を要求する(ステップS1005)。
本体アプリ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)。
中間サーバ21は、ユーザ機器30から受信した電子証明書613を用いて電子署名付き電文を検証する(ステップS1008)。「検証」とは、電子証明書613に含まれる公開鍵によって電子署名付き電文を復号し、復号結果と元の電文との一致を調べることにより、電子署名がユーザ本人によって行われたこと(つまり、ユーザの秘密鍵によって電子署名が作成されたこと)を確認する操作である。なお、電子署名が電文そのものを暗号化したデータである場合は復号結果と元の電文とを比較すればよく、電子署名が電文のハッシュ値を暗号化したデータである場合は復号結果と元の電文のハッシュ値とを比較すればよい。
検証に成功した場合、中間サーバ21は、当該ユーザのユーザID・パスワードと電子証明書を紐付けて、ユーザ情報記憶部211に登録する(ステップS1009)。そして、中間サーバ21は、電子証明書の登録が完了した旨を本体アプリ60へ通知する(ステップS1010)。中間サービスへの登録が完了すると、図12に示すように、ユーザ機器30にはメニュー画面122が表示される(ステップS1011)。
続いて、ユーザと中間サービスとオンラインサービスの間の紐付けの手順を説明する。この紐付け処理は、ユーザが中間サービスを介してオンラインサービスの何らかの手続をはじめて利用したときや、ユーザが中間サービスのメニュー画面から銀行口座情報の登録を行ったときなどに実行される。図10及び図11では、ユーザが残高照会を行う例を示している。
ユーザがメニュー画面122から「残高照会」を選択し、対象となる銀行口座の情報(銀行名、口座番号、口座名義など)を入力すると、本体アプリ60が中間サーバ21に対し残高照会要求を送信する(ステップS1012)。中間サーバ21の代行制御部213は、照会先の銀行のサービス提供サーバ21に対し残高照会要求を行う(ステップS1013)。この残高照会要求には、ユーザの銀行口座情報が含まれている。
サービス提供サーバ21のアクセス制御部202は、当該ユーザによる中間サーバ21経由のアクセスが初回である場合には、ユーザに対しオンラインサービスのID・パスワードの入力を要請する(ステップS1014)。具体的には、図12に示すように、ユーザ機器30にオンラインサービスのログイン画面123が表示されるので(ステップS1015)、ユーザはオンラインサービスのユーザIDとパスワードを入力し、オンラインサービスにログインする(ステップS1016)。
ログインが完了すると、サービス提供サーバ20は、認証用電文(内容はどのようなものでもよい)をユーザ機器30に送信し、電子署名と電子証明書を要求する(ステップS1017)。
本体アプリ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)。
サービス提供サーバ20は、ユーザ機器30から受信した電子証明書613を用いて電子署名付き認証用電文を検証する(ステップS1021)。検証に成功した場合、サービス提供サーバ20は、当該ユーザと中間サービスの組に対し、アクセストークンを発行する。本実施形態では、OAuth2.0の仕組みを利用して、中間サーバ21によるオンラインサービスの代行を実現する。アクセストークンとは、中間サーバ21がユーザに代わりオンラインサービスを利用する際の許可証のようなものである。ユーザ登録部200は、認証用電文とアクセストークンと当該ユーザの電子証明書を紐付けて、ユーザ情報記憶部201に登録する(ステップS1023)。
そして、サービス提供サーバ20は、発行したアクセストークンと当該ユーザの口座残高の情報を中間サーバ21へ通知する(ステップS1024)。中間サーバ21は、受け取ったアクセストークンと当該ユーザの中間サービスのIDとを紐付けて、ユーザ情報記憶部211に登録する(ステップS1025)。なお、図示しないが、中間サーバ21は、サービス提供サーバ20から、アクセストークンと共にリフレッシュトークンも受け取る。リフレッシュトークンは、アクセストークンの再発行に利用されるトークンである。これはOAuth2.0の仕様であるため、ここでは詳しい説明は割愛する。
その後、中間サーバ21は、口座残高の情報を本体アプリ60へ通知する(ステップS1026)。図12に示すように、ユーザ機器30には口座残高の確認画面125が表示される(ステップS1027)。
<中間サービスへのログイン>
図13及び図14を参照して、中間サービスのログイン認証を説明する。図13は、中間サービスのログイン認証の流れを示す図であり、図14は、ユーザ機器30に表示される画面例である。
ユーザが、ユーザ機器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、認証用電文、電子署名が付加されている。
中間サーバ21のログイン制御部212は、ログイン要求を受信すると、ログイン要求に含まれるユーザIDに基づいて、ユーザ情報記憶部211から対応する電子証明書を読
み出し、この電子証明書を用いて、ログイン要求に含まれている電子署名の検証を行う(ステップS1304)。また、必要に応じて、ログイン制御部212は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1305、S1306)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、ログイン制御部212は、ログイン要求が正当なユーザからのものであると判断する。
続いて、中間サーバ21のログイン制御部212は、ログイン要求に含まれるユーザIDに基づいて、ユーザ情報記憶部211からオンラインサービスのアクセストークンを読み出し、サービス提供サーバ20にアクセス要求を送信する(ステップS1307)。このアクセス要求には、アクセストークンと、ログイン要求に含まれていた認証用電文及び電子署名とが付加されている。
サービス提供サーバ20のアクセス制御部202は、アクセス要求を受信すると、アクセス要求に含まれるアクセストークンに基づいて、ユーザ情報記憶部201から対応する電子証明書を読み出し、この電子証明書を用いて、アクセス要求に含まれている電子署名の検証を行う(ステップS1308)。また、必要に応じて、アクセス制御部202は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1309、S1310)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、アクセス制御部202は、アクセス要求が、ユーザから代行権限が与えられた中間サーバ21からのものであると判断し、中間サーバ21に対しアクセス許可を与える(ステップS1311)。
オンラインサービスのアクセス許可が得られたら、中間サーバ21は、ログイン認証OKを本体アプリ60に通知する(ステップS1312)。以後、図14に示すように、ユーザ機器30に中間サービスのメニュー画面141が表示され、ユーザは希望する手続を行うことができようになる。
以上述べたログイン認証によれば、ユーザはPINコードを入力するだけでよいので、従来のID・パスワードを都度入力する方法や、トークンを用いる方法に比べて、非常に簡便な操作でログインが可能となる。しかも、ICカード307により提供されるセキュリティ機能を利用しているため、高度のセキュリティも担保されている。
また、本実施形態の方法は、オンラインサービスのID・パスワードの情報を中間サービス側に一切提供することなく、中間サービスとオンラインサービスとの紐付けが可能となる。したがって、オンラインバンキングのID・パスワードを別の事業者に開示することに抵抗を感じる利用者でも、安心してこのサービスを利用することができる。
<オンラインサービスの利用>
図15及び図16を参照して、中間サービス利用時の手順を説明する。図15は、中間サービス利用時の流れを示す図であり、図16は、ユーザ機器30に表示される画面例である。中間サービスへのログインは既に完了しており、ユーザ機器30にはメニュー画面160が表示されているものとする。
ユーザがメニュー画面160から利用したい手続を選択すると、詳細画面161に遷移する(ステップS1500)。図16では、ユーザが「振込」を選択した場合の画面例が示されている。この詳細画面161においてユーザが必要な情報(例えば振込先、振込額など)を入力し、実行ボタンを押すと(ステップS1501)、本体アプリ60のメイン処理部600が、振込手続に必要な情報を記述した手続メッセージを作成する(ステップS1502)。
続いて、本体アプリ60のユーザ認証部601が、PINコード入力画面162を表示し、PINコード認証を行う(ステップS1503)。PINコード認証の手順は前述したものと同様のため、説明を省略する。PINコード認証に成功した場合、本体アプリ60のセキュリティ処理部602は、ICカード307の電子署名機能622を利用して、手続メッセージに対し電子署名を行う(ステップS1504)。このとき、電子署名機能622は、手続メッセージのハッシュ値を計算し、このハッシュ値を秘密鍵611で暗号化することにより電子署名を生成してもよいし、手続メッセージ自体を秘密鍵611で暗号化することにより電子署名を生成してもよい。そして、本体アプリ60のメイン処理部600は、手続要求を中間サーバ21に送信する(ステップS1505)。手続要求には、中間サービスのID、手続メッセージ、電子署名が付加されている。
中間サーバ21の代行制御部213は、手続要求を受信すると、手続要求に含まれるユーザIDに基づいて、ユーザ情報記憶部211から対応する電子証明書を読み出し、この電子証明書を用いて、手続要求に含まれている電子署名の検証を行う(ステップS1506)。また、必要に応じて、代行制御部213は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1507、S1508)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、代行制御部213は、手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである。
手続要求が正当なユーザからのものであると確認できた場合、代行制御部213は、手続要求に含まれるユーザID及び手続メッセージに基づいて、ユーザ情報記憶部211から対応するオンラインサービスのアクセストークンを読み出し、サービス提供サーバ20に手続要求を送信する(ステップS1509)。この手続要求には、アクセストークンと、ユーザ機器30から受信した手続メッセージ及び電子署名とが付加されている。
サービス提供サーバ20の手続制御部203は、手続要求を受信すると、手続要求に含まれるアクセストークンに基づいて、ユーザ情報記憶部201から対応する電子証明書を読み出し、この電子証明書を用いて、手続要求に含まれている電子署名の検証を行う(ステップS1510)。また、必要に応じて、手続制御部203は、電子証明書の有効性を認証局に問い合わせてもよい(ステップS1511、S1512)。電子署名の検証に成功し、且つ、電子証明書の有効性が確認された場合、手続制御部203は、この手続要求が正当なユーザからのものであると判断する。すなわち、第三者によるなりすましがなく、かつ、手続メッセージの内容も改ざんされていないと判断するのである。
手続要求が正当なユーザからのものであると確認できた場合にのみ、手続制御部203は、手続メッセージに記述された情報に基づく手続(振込など)を実行する(ステップS1513)。手続が完了すると、手続制御部203は手続完了通知を中間サーバ21に送信し(ステップS1514)、中間サーバ21が手続完了通知を本体アプリ60に送信する(ステップS1515)。そうすると、図16に示すように、手続完了画面163が表示される。
以上述べた処理によれば、ユーザはPINコードを入力するだけでよいので、従来のID・パスワードを都度入力する方法や、トークンを用いる方法に比べて、非常に簡便な操作で中間サービス及びオンラインサービスの利用が可能となる。しかも、ICカード307により提供されるセキュリティ機能を利用しているため、高度のセキュリティも担保され、いわゆる中間者攻撃によるなりすましや手続メッセージの改ざんを防止することが可能となる。
なお、図15の例では、ユーザ機器30から送られる手続要求に平文の手続メッセージ
が含まれている。これは、中間サーバ21(中間サービス提供者)でも手続メッセージの改ざんが行われていないかを検証できるようにするためである。しかしながら、場合によっては、手続メッセージの中に、サービス提供者以外の者に知られたくない情報もしくは伝える必要の無い情報が含まれていることも想定される。例えば、オンラインで住所変更手続を行う際には、その手続メッセージの中に変更後の住所情報が含まれることとなるが、住所のような個人情報はプライバシーに関わるため、中間サービス提供者に知られたくないと希望するユーザは少なくない。また、銀行は住所情報を管理する法的義務があるが、中間サービス提供者にはその義務はないため、中間サービス提供者の側も、必要のない個人情報は受け取りを避けたいと考えるかもしれない。
そこで、ユーザ機器30がサービス提供サーバ20(サービス提供者)の公開鍵を用いて手続メッセージを暗号化してもよい。すなわち、ユーザ機器30の本体アプリ60が、住所変更手続などの手続メッセージをサービス提供サーバ20の公開鍵により暗号化した後、暗号化された手続メッセージに対しユーザの秘密鍵611による電子署名を行い、ID・暗号化された手続メッセージ・電子署名を含む手続要求を中間サーバ21に送信するのである。
この方法によれば、中間サーバ21は、電子署名を検証することによって、手続要求が正当なユーザから送られてきたものであることは確認できるが、手続メッセージの内容を確認することはできない。一方、サービス提供サーバ20は、自身が保管する秘密鍵を用いて手続メッセージを復号することにより、手続メッセージの内容(ユーザの住所情報など)を確認でき、手続を遂行することができる。したがって、中間サービス提供者による中間サービスを経由しつつも、中間サービス提供者には秘匿した状態で、サービス提供者にのみ情報を伝達する、という仕組みが実現できる。
<ICカードの無効化>
本実施形態のユーザ機器30によれば、PINコードや生体情報によるユーザ認証に成功しなければ、中間サービス及びオンラインサービスを利用することができない。したがって、仮にユーザ機器30の紛失や盗難が起きた場合でも、第三者によるユーザ機器30の不正使用のリスクは小さい。とはいえ、PINコード認証や生体認証が破られる可能性はゼロではないことから、好ましくは、以下に述べるようなICカードの無効化機能を実装するとよい。
(1)ICカードの自滅機能
自滅とは、ICカード307のプロセッサ411自身がICカード307の機能を無効化する操作である。具体的な操作としては、外部(本体アプリ60)からICカード307の機能を利用できないようにロックをかけたり、メモリ413に格納されているデータ(鍵ペア、電子証明書など)を消去したりする方法などがある。例えば、誤ったPINコードが連続して所定回数入力された場合、API以外の方法でメモリ413へのアクセスが行われた場合などに、プロセッサ411は自滅を実行するとよい。
(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に格納されているデータ(鍵ペア、電子証明書など)を消去したりする方法などがある。
(3)電子証明書の無効化
通信サービス管理者が、ユーザから、ユーザ機器30又はICカード307の紛失・盗難の報告を受けた場合に、管理サーバから認証局に対して当該ユーザの電子証明書の無効化を依頼してもよい。あるいは、管理サーバが、ICカード307の使用状況やICカード・SIMカード・ユーザ機器の組み合わせを監視し、異常を検知した場合に認証局に電子証明書の無効化を依頼してもよい。
<その他>
上述した実施形態は本発明の具体例の一つを説明したにすぎず、本発明の技術的範囲は上述した実施形態の内容に限定されるものではなく、また本発明はその技術思想の範囲内で様々な具体的形態を採り得るものである。例えば、本発明はオンラインバンキングサービス以外にも様々な種類のオンラインサービスに適用することができる。また、上述した実施形態ではサブSIMタイプのICカードを例示したが、SIMカードスロットを複数備える携帯機器であれば、一般的なmicro−SIMやnano−SIMと同じ仕様のICカードを(通信用SIMカードとは別のスロットに)装着してもよい。あるいは、SIMカードスロット以外のスロットに装着するタイプのICカードを用いてもよいし、携帯機器に内蔵されたICチップ(例えばSecure Elementなど)を用いてもよい。また、上述した実施形態では、ログイン要求の中に電子署名付きユーザIDのみ含めたが、さらに電子証明書を一緒に送ってもよい。また、上述した実施形態では、ユーザ機器から中間サーバに送るデータにのみ電子署名を行ったが、中間サーバやサービス提供サーバがユーザ機器に送るデータに対し電子署名や暗号化を行うことも好ましい。その場合、中間サーバやサービス提供サーバは、自身の暗号鍵で電子署名や暗号化を行ってもよいし、ユーザの公開鍵で暗号化を行ってもよい。
20:サービス提供サーバ
21:中間サーバ
30:ユーザ機器
60:アプリケーションプログラム
70:ICカード発行端末
306:SIMカード
307:ICカード(サブSIM)
308:SIMカードスロット

Claims (12)

  1. サービス提供者が提供するオンラインサービスを、前記サービス提供者とは異なる者が提供する中間サービスを介して、携帯機器から安全に利用可能な仕組みを提供するオンラインサービス提供システムであって、
    登録されたユーザに対し、インターネットを通じて前記オンラインサービスを提供するサービス提供サーバと、
    前記ユーザに対し、インターネットを通じて前記中間サービスを提供する中間サーバと、
    前記ユーザが所持している携帯機器であるユーザ機器に設けられるICチップと、
    前記ユーザ機器が有する本体プロセッサにより実行され、前記ユーザ機器を前記中間サービスを利用するための端末として機能させるアプリケーションプログラムと、を有し、
    前記ICチップは、
    少なくとも、前記ユーザ機器を使用する者の正当性を確認するためのユーザ認証に用いられる本人情報、前記ユーザの秘密鍵、前記秘密鍵とペアになる前記ユーザの公開鍵、及び、前記公開鍵を含む前記ユーザの電子証明書を非一時的に記憶するメモリと、
    少なくとも、前記アプリケーションプログラムから与えられる情報を前記本人情報と照合することにより前記ユーザ認証を行う認証機能、及び、前記アプリケーションプログラムから与えられるデータに対し前記秘密鍵を用いた電子署名を行う電子署名機能を有するプロセッサと、
    を有しており、
    前記アプリケーションプログラムは、前記ユーザ機器を、
    前記ユーザ機器を使用する者から取得した情報に基づき、前記ICチップの前記認証機能を利用して、前記ユーザ認証を行うユーザ認証手段、及び、
    前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して電子署名を生成し、生成された前記電子署名を含むログイン要求をインターネットを通じて前記中間サーバに送信する送信手段、として機能させ、
    前記中間サーバは、
    前記ユーザに関する情報として、前記ユーザの電子証明書を記憶するユーザ情報記憶手段と、
    前記ユーザ機器から前記ログイン要求を受信した場合に、前記ユーザの電子証明書を用いて前記ログイン要求に含まれる前記電子署名を検証することによって前記ログイン要求の正当性を確認し、前記ログイン要求が正当であると確認された場合に前記ユーザ機器からの前記中間サービスの利用を許可すると共に、前記ログイン要求に含まれる前記電子署名を含むアクセス要求をインターネットを通じて前記サービス提供サーバに送信する制御手段と、
    を有し、
    前記サービス提供サーバは、
    前記ユーザに関する情報として、前記ユーザの電子証明書を記憶するユーザ情報記憶手段と、
    前記中間サーバから前記アクセス要求を受信した場合に、前記ユーザの電子証明書を用いて前記アクセス要求に含まれる前記電子署名を検証することによって前記アクセス要求の正当性を確認し、前記アクセス要求が正当であると確認された場合に前記中間サーバが前記ユーザの代わりに前記オンラインサービスを利用することを許可するアクセス制御手段と、
    を有することを特徴とするオンラインサービス提供システム。
  2. 前記送信手段は、前記ユーザ認証により前記ユーザ機器を使用する者が正当であると確認された場合に、前記ICチップの前記電子署名機能を利用して、前記オンラインサービ
    スの手続に必要な情報を記述したメッセージに対し電子署名を行い、電子署名付きメッセージを含む手続要求をインターネットを通じて前記中間サーバに送信し、
    前記中間サーバは、前記ユーザ機器から前記手続要求を受信した場合に、前記ユーザの電子証明書を用いて前記手続要求に含まれる前記電子署名付きメッセージを検証することによって前記手続要求の正当性を確認し、前記手続要求が正当であると確認された場合に前記手続要求に含まれる前記電子署名付きメッセージを含む手続実行要求をインターネットを通じて前記サービス提供サーバに送信し、
    前記サービス提供サーバは、前記中間サーバから前記手続実行要求を受信した場合に、前記ユーザの電子証明書を用いて前記手続実行要求に含まれる前記電子署名付きメッセージを検証することによって前記手続実行要求の正当性を確認し、前記手続実行要求が正当であると確認された場合に前記手続実行要求に含まれる前記電子署名付きメッセージに記述された情報に基づく手続を実行する
    ことを特徴とする請求項1に記載のオンラインサービス提供システム。
  3. 前記送信手段は、前記サービス提供サーバの公開鍵を用いて前記メッセージを暗号化した後、前記ICチップの前記電子署名機能を利用して前記暗号化されたメッセージに対し電子署名を行う
    ことを特徴とする請求項2に記載のオンラインサービス提供システム。
  4. 前記ICチップは、通信用のSIMカード上に重ねて貼り付けられた状態でSIMカードスロットに装着されるものである
    ことを特徴とする請求項1〜3のいずれかに記載のオンラインサービス提供システム。
  5. 前記ICチップの前記メモリは、外部からのアクセスが不可能なエリアを有しており、
    少なくとも前記本人情報及び前記秘密鍵は、外部からのアクセスが不可能な前記エリア内に格納されている
    ことを特徴とする請求項1〜4のいずれかに記載のオンラインサービス提供システム。
  6. 前記ICチップの前記プロセッサは、前記秘密鍵と前記公開鍵を生成する鍵生成機能を有している
    ことを特徴とする請求項1〜5のいずれかに記載のオンラインサービス提供システム。
  7. 前記ICチップの情報と前記通信用のSIMカードの情報とを紐付けて管理するデータベースをもつサーバを有する
    ことを特徴とする請求項1〜6のいずれか1項に記載のオンラインサービス提供システム。
  8. 前記データベースは、前記ICチップの情報にさらに前記ユーザ機器の情報を紐付けて管理する
    ことを特徴とする請求項7に記載のオンラインサービス提供システム。
  9. 前記データベースは、前記ICチップの情報にさらに前記ユーザの本人確認情報を紐付けて管理する
    ことを特徴とする請求項7又は8に記載のオンラインサービス提供システム。
  10. 前記データベースは、前記ICチップの情報にさらに前記ユーザの公開鍵又は電子証明書を紐付けて管理する
    ことを特徴とする請求項7〜9のうちいずれか1項に記載のオンラインサービス提供システム。
  11. 前記ICチップの前記プロセッサは、前記ICチップを無効化する機能を有する
    ことを特徴とする請求項1〜10のいずれか1項に記載のオンラインサービス提供システム。
  12. 認証局に対して前記ユーザの電子証明書の無効化を依頼するサーバを有する
    ことを特徴とする請求項1〜11のいずれか1項に記載のオンラインサービス提供システム。
JP2018234928A 2018-12-14 2018-12-14 オンラインサービス提供システム Active JP6499369B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018234928A JP6499369B1 (ja) 2018-12-14 2018-12-14 オンラインサービス提供システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018234928A JP6499369B1 (ja) 2018-12-14 2018-12-14 オンラインサービス提供システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018121031 Division 2018-06-26 2018-06-26

Publications (2)

Publication Number Publication Date
JP6499369B1 true JP6499369B1 (ja) 2019-04-10
JP2020005242A JP2020005242A (ja) 2020-01-09

Family

ID=66092645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018234928A Active JP6499369B1 (ja) 2018-12-14 2018-12-14 オンラインサービス提供システム

Country Status (1)

Country Link
JP (1) JP6499369B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021012640A (ja) * 2019-07-09 2021-02-04 大日本印刷株式会社 金融取引システム、携帯端末、認証モジュール及び金融取引方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3476171B2 (ja) * 1996-09-26 2003-12-10 日立ソフトウエアエンジニアリング株式会社 データ保証システムおよびデータ保証方法
US6389403B1 (en) * 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
JP2003298574A (ja) * 2002-03-29 2003-10-17 Toshiba Corp 電子機器、認証局、電子機器認証システム、電子機器の認証方法
JP2009130900A (ja) * 2007-11-28 2009-06-11 Hitachi Ltd 中継サーバ、署名検証システム、文書データ中継方法、およびプログラム
JP5049862B2 (ja) * 2008-04-23 2012-10-17 日本放送協会 送信装置及び限定受信装置
CN101600267B (zh) * 2009-07-21 2011-04-20 李银科 一种能够粘贴在移动通信智能卡上的智能贴片卡
CN102104029B (zh) * 2009-12-22 2013-02-13 全宏科技股份有限公司 用于贴附于智能卡的集成电路贴片
CN202110572U (zh) * 2011-05-20 2012-01-11 全宏科技股份有限公司 集成电路贴片以及智能卡

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021012640A (ja) * 2019-07-09 2021-02-04 大日本印刷株式会社 金融取引システム、携帯端末、認証モジュール及び金融取引方法
JP7484095B2 (ja) 2019-07-09 2024-05-16 大日本印刷株式会社 金融取引システム及び金融取引方法

Also Published As

Publication number Publication date
JP2020005242A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
KR100806477B1 (ko) 리모트 액세스 시스템, 게이트웨이, 클라이언트 기기,프로그램 및 기억 매체
TWI534731B (zh) 用於資產之安全元件交易及管理之裝置及方法
KR101544722B1 (ko) 부인 방지 방법, 이를 위한 결제 관리 서버 및 사용자 단말기
TWI445380B (zh) 具自動憑證負載之大量儲存裝置
KR101075891B1 (ko) 자동화된 크리덴셜 로딩을 갖는 대량 저장 장치
WO2020192698A1 (zh) 数据安全备份和安全恢复的方法及电子设备
WO2009039771A1 (fr) Terminal de paiement mobile et procédé de paiement basé sur la technologie pki
US11617084B2 (en) Online service providing system and application program
JP2017537421A (ja) 支払いトークンのセキュリティを確保する方法
KR102012262B1 (ko) 키 관리 방법 및 fido 소프트웨어 인증장치
JP6499368B1 (ja) オンラインサービス提供システム
US20170154329A1 (en) Secure transaction system and virtual wallet
US20180240113A1 (en) Determining legitimate conditions at a computing device
JP6499369B1 (ja) オンラインサービス提供システム
JP6499367B1 (ja) オンラインサービス提供システム
US20180240111A1 (en) Security architecture for device applications
JP7470313B2 (ja) オンラインサービス提供システム
WO2020004494A1 (ja) オンラインサービス提供システム、icチップ、アプリケーションプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181217

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181217

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190314

R150 Certificate of patent or registration of utility model

Ref document number: 6499369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250