[go: up one dir, main page]

JP2016201699A - 情報処理装置、認証方法及びプログラム - Google Patents

情報処理装置、認証方法及びプログラム Download PDF

Info

Publication number
JP2016201699A
JP2016201699A JP2015081148A JP2015081148A JP2016201699A JP 2016201699 A JP2016201699 A JP 2016201699A JP 2015081148 A JP2015081148 A JP 2015081148A JP 2015081148 A JP2015081148 A JP 2015081148A JP 2016201699 A JP2016201699 A JP 2016201699A
Authority
JP
Japan
Prior art keywords
key
authentication
communication
information processing
identifier
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.)
Granted
Application number
JP2015081148A
Other languages
English (en)
Other versions
JP5847345B1 (ja
Inventor
佐藤 裕之
Hiroyuki Sato
裕之 佐藤
正一郎 櫻木
Shoichiro Sakuragi
正一郎 櫻木
勇一 横田
Yuichi Yokota
勇一 横田
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.)
Sakura Information Systems Co Ltd
Tohoku Information Systems Co Inc
Original Assignee
Sakura Information Systems Co Ltd
Tohoku Information Systems Co 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=55169239&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2016201699(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sakura Information Systems Co Ltd, Tohoku Information Systems Co Inc filed Critical Sakura Information Systems Co Ltd
Priority to JP2015081148A priority Critical patent/JP5847345B1/ja
Application granted granted Critical
Publication of JP5847345B1 publication Critical patent/JP5847345B1/ja
Publication of JP2016201699A publication Critical patent/JP2016201699A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】取引の安全性をより高めることができる。【解決手段】本開示の一実施形態に係る情報処理装置は、通信手段と、提示手段と、格納手段と、認証手段とを含む。通信手段は、製造および修正の少なくとも1つの権限がハードウェアによって直接または間接に特定の者に限定される信頼ソフトウェアの通信機能のみを介して、ユーザからの入力を必要とする1以上の承認内容を通信相手から受信する。提示手段は、前記信頼ソフトウェアの表示機能のみを介して前記1以上の承認内容をユーザに提示する。格納手段は、前記通信相手との認証に用いる鍵を格納する。認証手段は、前記信頼ソフトウェアの入力機能のみを介して取得した前記ユーザからの指示に応じて、前記鍵を用いた認証コードを生成する。【選択図】図2

Description

本発明は、情報処理装置、認証方法及びプログラムに関する。
近年のインターネットの普及に伴い、インターネットバンキングなどを利用して銀行取引や決済取引を簡単に行うことができ、ユーザの利便性が高まっている。一方で、元来PCなどで利用するオペレーティングシステム(OS)は、利用者が自由にプログラムを開発および導入できるように設計されてきたこともあり、OSやOS上で動作するアプリケーションがマルウェアなどのウィルスに感染する可能性が高い。例えば、取引内容を悪意のある差し替えや改ざんすることにより不正の利益を得るMitB(Man in the Browser)攻撃の被害が深刻化している。近年では、いわゆるスマートフォンなど、Android(登録商標)OSが動作する携帯端末でも同様の問題が深刻化しており、対策が急務である。
上述の問題に対し、USBデバイスを接続し、PCの処理とは別の通信処理を行うことで、MitB攻撃対策を行う技術がある(例えば、非特許文献1参照)。
Thomas Weigold, Thorsten Kramp, Reto Hermann, Frank Horing, Peter Buhler, and Michael Baentsch,"The Zurich Trusted Information Channel- an Efficient Defence Against Man-in-the-Middle and Malicious software Attacks",TRUST 2008, LNCS 4968, pp. 75-91, 2008.
しかし、上述の手法では、認証の際にスマートフォンとは別に、決済処理専用のデバイスが必要となるため、携帯性や取引の利便性の観点から、ユーザにとっては煩わしさが生じる。
本発明は、上述した事情を考慮してなされたものであり、取引の安全性をより高めることができる情報処理装置、認証方法及びプログラムを提供することを目的とする。
上述の課題を解決するため、本実施形態にかかる情報処理装置は、通信手段と、提示手段と、格納手段と、認証手段とを含む。通信手段は、製造および修正の少なくとも1つの権限がハードウェアによって直接または間接に特定の者に限定される信頼ソフトウェアの通信機能のみを介して、ユーザからの入力を必要とする1以上の承認内容を通信相手から受信する。提示手段は、前記信頼ソフトウェアの表示機能のみを介して前記1以上の承認内容をユーザに提示する。格納手段は、前記通信相手との認証に用いる第1鍵を格納する。認証手段は、前記信頼ソフトウェアの入力機能のみを介して取得した前記ユーザからの指示に応じて、前記第1鍵を用いた認証コードを生成する。
本発明の情報処理装置、認証方法及びプログラムによれば、取引の安全性をより高めることができる。
本実施形態に係る情報処理装置を含む端末のアーキテクチャを示す図。 本実施形態に係る情報処理装置を示すブロック図。 情報処理装置と通信相手との通信処理の時系列を示すシーケンス図。 通信相手ごとに鍵を変更する場合の情報処理装置の詳細を示すブロック図。 Access Controlで情報処理装置に認証されたアプリケーションを信頼ソフトウェアとして用いる場合のセキュアエレメントとを含むブロック図。
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、認証方法及びプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
本実施形態に係る情報処理装置を含む端末のアーキテクチャについて図1を参照して説明する。
図1は、いわゆるスマートフォンなどのOSが動作する端末のアーキテクチャ100である。
アーキテクチャ100は、セキュアエレメント101、信頼ソフトウェア102、OS(オペレーティングシステム)103およびアプリケーション104−1および104−2を含む。
セキュアエレメント101は、本実施形態に係る情報処理装置を含み、例えばSIM(Subscriber Identity Module)、USIM(Universal SIM)などのような耐タンパー性を有したハードウェアである。
信頼ソフトウェア102は、製造および修正の少なくとも1つの権限がハードウェアを介して直接的または間接的に特定の者に限定されるソフトウェアであり、信頼ソフトウェア102がファームウェアおよびOSの場合は、メーカー、キャリアなど、ハードウェアを製造販売している一部の事業者に製造または修正の権限が限定されるファームウェアまたはOSである。信頼ソフトウェア102がアプリケーションの場合は、ファームウェアまたはOSに組み込まれたコード署名などの技術的な方法によって、特定のアプリケーションベンダーにソフトウェアの製造または修正の権限が限定されるアプリケーションである。
信頼ソフトウェア102の一例としては、SIM Application Toolkit、BIOS、GSMA Handset APIs & Requirementsに定義されたAccess Controlで情報処理装置に認証されたアプリケーション、およびGlobalPlatform Trusted Execution Environmentに定義されたTrusted Applicationが挙げられる。信頼ソフトウェア102は、少なくとも、通信機能、表示機能および入力機能を有する。信頼ソフトウェア102の通信機能、表示機能および入力機能はそれぞれ、OS103またはOS上で動作するアプリケーション104を介さずに、通信相手と通信したり、ユーザに対して画面を表示したり、ユーザからの入力を受け付けたりすることができる。
なお、信頼ソフトウェア102として、GSMA Handset APIs & Requirementsに定義されたAccess Controlで情報処理装置に認証されたアプリケーションを用いる場合は、OS103およびアプリケーション104の一部を利用することになる。
OS103は、システムを動作させるための一般的なOSであり、例えば、Android(登録商標)OSが該当する。
アプリケーション104−1およびアプリケーション104−2は、一般の事業者または個人がOSを利用して製造したソフトウェアであり、ユーザがOSの機能を介して利用するソフトウェアである。アプリケーション104は、例えば、オンライン銀行アプリケーション、インターネットブラウザが挙げられる。
次に、本実施形態に係る情報処理装置について図2のブロック図を参照して説明する。
本実施形態に係る情報処理装置200は、通信部201、鍵格納部202、認証部203および提示部204を含む。
通信部201は、信頼ソフトウェア102の通信機能のみを介して通信相手から承認内容を受信する。通信相手は、例えば、銀行、オンラインショップ等のプロバイダであり、取引に秘匿性やMitB攻撃耐性が要求される通信相手である。なお、これらの通信相手に限定されず、取引に秘匿性やMitB攻撃耐性が要求されない通信相手でもよい。承認内容とは、例えば、銀行との取引内容やオンラインショップにおける決済内容といった、ユーザの承認を含む、ユーザからの何らかの入力を必要とする内容である。なお、以下では、1つの承認内容を受信して処理する場合を想定して説明するが、複数の承認内容を受信する場合であっても同様に処理できる。通信部201は、後述の認証部203から暗号化データを受け取る場合、暗号化データを信頼ソフトウェア102の通信機能のみを介して通信相手(または外部のデバイス)に出力する。
なお、通信部201は、通信相手からの情報をインターネット経由で取得または通信相手に情報をインターネット経由で提供してもよいし、信頼ソフトウェア102を介してショートメールサービス(SMS)および非接触通信(NFCなど)を用いて情報を取得してもよいし、SMSおよびNFCを用いて情報を提供してもよい。
鍵格納部202は、通信相手との認証に用いる鍵を格納する。鍵としては、共通鍵暗号方式を用いる場合は、通信相手と同一の共通鍵を格納すればよいし、公開鍵暗号方式(IDベース暗号方式)を用いる場合は、鍵センター(図示せず)より配布される固有の秘密鍵を格納すればよい。鍵格納部202は、鍵として通信相手との認証に用いる鍵のほか、セキュアエレメントごとに一意である利用者を特定するための識別子と任意の値である世代を含む付帯情報とを格納してもよい。
認証部203は、通信部201から承認内容を、鍵格納部202から鍵をそれぞれ受け取る。認証部203は、承認内容にデジタル署名および認証コードの少なくともどちらか1つが付される場合、承認内容に付されるデジタル署名または認証コードについて認証処理を行い、認証処理が成功したかどうかを示す認証結果を生成する。
また、認証部203は、信頼ソフトウェア102の入力機能のみを介してユーザ指示を取得する場合、鍵格納部202から鍵を受け取り、ユーザ指示に応じて、鍵を用いて認証コードを生成する。認証部203は、認証コードを用いて外部に送信すべきユーザ指示を暗号化し、暗号化データを生成する。なお、認証部203は、暗号化データを生成する場合に、共通鍵暗号方式を用いる場合は、例えばIETF RFC 2104で記載されたHMAC(Hash−based Message Authentication Code)等で認証コードを生成し、ISO/IEC 18033−3で定義されたAES(Advanced Encryption Standard)等の暗号化アルゴリズムで暗号化を行う。IDベース暗号方式を用いる場合は、IDベース署名を認証コードとしてIDベース暗号で暗号化して送信してもよい。
さらに、認証部203は、共通鍵暗号方式を用いる場合は、HMAC等で生成した認証コードから部分ビット列を抽出した短いワンタイムパスワードを認証コードとして生成してもよい。
提示部204は、認証部203からプロバイダから受信した承認内容に付された認証コードまたはデジタル署名が真正であるか否かの認証結果を受け取り、認証結果が認証処理が成功したことを示す場合、信頼ソフトウェア102の表示機能のみを介して取引情報を実行して良いか否かを確認する承認内容をユーザに提示する。なお、承認内容にデジタル署名または認証コードが付されていない場合、提示部204は、認証部203の認証処理を経ずに、通信部201から承認内容を受け取ってもよい。
次に、本実施形態に係る情報処理装置200と通信相手との通信処理について、図3のシーケンス図を参照して説明する。
図3は、ユーザ351と通信相手である銀行352との間の決済取引に関する通信処理の一例を時系列で示したシーケンス図である。ユーザ351は、情報処理装置200と信頼ソフトウェア102とを搭載する端末(携帯電話、スマートフォン、タブレットなど)を用いて取引を行う例を示す。なお、図3の例では、通信処理の暗号化方式として、共通鍵暗号方式を用いる場合を想定し、銀行352と情報処理装置200との間で共通の鍵kおよびkを保持しているとする。
ステップS301では、ユーザ351から、端末のOS上で動作するWebブラウザまたはアプリケーションを用いて、取引内容xを銀行352に送信する。
ステップS302では、銀行352が、ユーザ351から取引内容xを受け取り、取引内容xについて暗号化し、xの暗号化データeを生成する。xの暗号化は、例えば、以下の処理を行えばよい。まず、取引内容x、時刻情報tおよび160ビット以上の暗号学的乱数を用いるランダム値rをパラメータとして、鍵kについての任意の関数Hk1を計算することで、認証コードcを生成する。続いて、取引内容x、時刻情報t、ランダム値rおよび認証コードcをパラメータとして、鍵kについての任意の関数Ek2を計算した計算結果を、xの暗号化データeとして用いればよい。なお、時刻情報tは、認証コードeの生成時の時刻である。
なお、銀行352では、ランダム値rを取引IDとして(r,x,t)をデータベース(図示せず)に格納しておく。
ステップS303では、銀行352が、暗号化データeをユーザ351の端末に送信する。
ステップS304では、端末の信頼ソフトウェア102が、通信機能を用いて銀行352から暗号化データeを受信し、情報処理装置200の通信部201が、信頼ソフトウェア102を介して、暗号化データeを受信する。
ステップS305では、情報処理装置200の認証部203が、暗号化データeを復号して、(x,t,r,c)を得る。認証部203は、以下の2つの条件を満たすかどうかを判定する。
(1)認証コードcが一致するか、すなわちHk1(x、t、r)=c
(2)時刻情報tが誤差w以内であるか、すなわちt∈[time−w、time+w]
認証部203は、上記(1)および(2)の条件を満たす場合、認証処理が成功したという認証結果を生成する。(1)および(2)の条件の少なくとも1つを満たさない場合、認証処理が失敗したとして通信処理を終了する。ここでは、認証処理が成功したという認証結果を得ると想定する。
ステップS306では、認証処理が成功しているので、情報処理装置200の提示部204が、信頼ソフトウェア102の表示機能を介して、復号した取引結果xをユーザ351に提示する。具体的には、信頼ソフトウェア102の表示機能のみによって、取引内容xが端末の画面に表示され、ユーザ351は、取引内容xを閲覧することができる。
ステップS307では、ユーザ351が、信頼ソフトウェア102の表示機能を介して表示された取引結果xに対して、OKであるかNGであるかを判断し、判断結果として信頼ソフトウェア102の入力機能のみを用いてOKまたはNGを入力する。なお、ここでは、OKまたはNGの二択としているが、数値や文字列を入力してもよい。
ステップS308では、情報処理装置の通信部201が、ユーザ351から信頼ソフトウェア102の入力機能に入力された「OK」または「NG」を、ユーザ指示yとして取得する。具体的には、信頼ソフトウェア102が、信頼ソフトウェア102の入力機能に入力された「OK」または「NG」を情報処理装置200で取り扱い可能なユーザ指示yに変換して、情報処理装置200の通信部201に渡す。例えば、「OK」が入力された場合は「1」を生成し、「NG」が入力された場合は「0(ゼロ)」を生成する。ここでは、「OK」が入力されたとして、ユーザ指示「y=1」が生成される場合を想定する。
ステップS309では、情報処理装置200の認証部203が、ユーザ指示yを暗号化して暗号化データeを生成する。暗号化データeの生成方法としては、ステップS302と同様に、まず、ユーザ指示y、時刻情報tおよびランダム値rをパラメータとして、鍵kについての任意な関数Hk1を計算することで、認証コードcを生成する。続いて、ユーザ指示y、時刻情報t、ランダム値rおよび認証コードcをパラメータとして、鍵kについての任意の関数Ek2を計算した計算結果を、暗号化データeとして用いればよい。
なお、時刻情報tは、例えば、信頼ソフトウェア102経由で認証コードcの生成時点の時刻を取得すればよい。
ステップS310では、情報処理装置200の通信部201が、信頼ソフトウェア102の通信機能を介して暗号化データeを送信する。
ステップS311では、銀行352が、ユーザ351から暗号化データeを受け取り、暗号化データeを復号する。復号が成功すると想定すると、ユーザ指示y、時刻情報tおよびランダム値rを得ることができる。
銀行352は、以下の2つの条件を満たすかどうかを判定する。
(3)認証コードcが一致するか、すなわちHk1(x、t、r)=c
(4)時刻情報tが誤差w以内であるか、すなわちt∈[time−w、time+w]
銀行352は、(3)および(4)の条件を満たす場合、ランダム値rを取引IDとして格納したデータベースから、ランダム値rに対応する取引内容xおよび時刻情報tを検索し、タイムアウト時間tに対して「t<t≦time かつ t<t+t」を満たし、かつ「ユーザ指示y=1」を満たすかどうかを判定する。ここで、タイムアウト時間tは、銀行352とユーザ351との取引を中止するための閾値となる時間である。
ステップS312では、銀行352が、「t<t≦time かつ t<t+t」を満たし、かつ「ユーザ指示y=1」を満たす場合に、取引xを実行すればよい。以上で情報処理装置200と通信相手との通信処理を終了する。
なお、プロバイダなどの通信相手と通信を行う場合は、鍵漏洩時のセキュリティの観点から、プロバイダごとに鍵をユーザの識別子とを変更することが望ましい。
通信相手ごとに鍵を変更する場合の情報処理装置の詳細について図4のブロック図を参照して説明する。
図4に示す情報処理装置400は、通信部201、鍵格納部202、提示部204、第1識別子格納部401、第2識別子格納部402、識別子変換部403、鍵変換部404および認証部405を含む。
通信部201、鍵格納部202および提示部204については、図2に示す情報処理装置200における動作と同様であるので、ここでの説明を省略する。
第1識別子格納部401は、自己の識別子(第1識別子ともいう)を格納する。
第2識別子格納部402は、通信相手の識別子を格納する。なお、第2識別子格納部402は、通信相手の識別子に、世代を含む付帯情報を対応付けて格納してもよい。世代は任意の値であり、1,2,3,・・・といったカウンタ値でもよいし、128bit程度の物理乱数または暗号学的擬似乱数などでもよい。
識別子変換部403は、第1識別子格納部401から第1識別子を、第2識別子格納部402から通信相手の識別子をそれぞれ受け取り、通信相手の識別子で表される通信相手に応じて第1識別子を変換し、第2識別子を生成する。第1識別子から第2識別子への変換は、例えば任意のハッシュ関数を用いて変換すればよい。
鍵変換部404は、鍵格納部202から鍵を、第2識別子格納部402から通信相手の識別子をそれぞれ受け取り、通信相手に応じて第1鍵を変換し、第2鍵を生成する。第1鍵から第2鍵への変換は、例えば任意のハッシュ関数を用いて変換すればよい。
認証部405は、上述の認証部203とほぼ同様の動作を行うが、識別子変換部403から第2識別子を、鍵変換部404から第2鍵をそれぞれ受け取り、第2識別子および第2鍵を用いて認証を行う点が異なる。
次に、情報処理装置400が共通鍵暗号方式を用いる場合の認証処理について説明する。ここでは、情報処理装置400とプロバイダとの間の通信における認証処理を想定する。
情報処理装置400には、鍵センターから、任意のプロバイダ(および付帯情報)とセキュアエレメント101との鍵Kijを導出可能なKが、ユーザの鍵として配布される。鍵センターのマスター鍵をMとすれば、K=E(i)で表せる。
プロバイダには、鍵センターから、プロバイダの識別子(および付帯情報)に対応する鍵セットKjが配布される。プロバイダの識別子(および付帯情報)をjとすると、K={K1j,K2j,...,Knj}と表せる(nは、3以上の整数)。情報処理装置400とプロバイダとは、互いにKijを導出可能であり、例えば情報処理装置400では、鍵変換部404が、K(第1鍵)をKij(第2鍵)に変換する際に以下の式(1)を用いて導出すればよい。
よって、情報処理装置400とプロバイダとの間で共通鍵としてKijを用いた暗号通信とメッセージ認証とを行うことができる。
一方、識別子については、識別子変換部403が、プロバイダの識別子jに応じて、ユーザi(第1識別子)を式(2)を用いてIDij(第2識別子)に変換する。
情報処理装置400にはサイズが小さいコンパクトな鍵導出アルゴリズムを用いて、プロバイダ側の鍵の格納サイズを大きくすることで、記憶容量の制限が厳しいセキュアエレメント101の記憶領域を大幅に節約することができる。また、プロバイダの識別子に加え、世代などの付帯情報を用いて鍵を生成することで、プロバイダ側で鍵の漏洩がある場合でも世代を更新するだけでよく、同じ識別子を保持したまま鍵Kijを変更することができる。よって、利便性を保持したまま、取引の安全性を高い状態に保持できる。
次に、情報処理装置400がIDベース暗号方式を用いる場合の処理について説明する。
情報処理装置400には、秘密鍵Kが配布される。鍵センターのマスター秘密鍵をSとすれば、K=Gen(S,i)で表せる。
プロバイダには、プロバイダjに対して、秘密鍵Kが配布される。マスター秘密鍵Sを用いれば、K=Gen(S,j)で表せる。
暗号通信を行う場合は、情報処理装置400が、識別子iと通信相手に送信するメッセージmとを用いて、暗号化アルゴリズムEにより、暗号文cを生成する。すなわち、c=E(m)で表せる。
復号側であるプロバイダでは、暗号文cと秘密鍵Kとを用いて、復号アルゴリズムDによりメッセージを復号する。すなわち、
で表せる。
また、デジタル署名の作成の場合は、秘密鍵Kとメッセージmとから署名アルゴリズムSを用いて署名sを作成する。すなわち、
で表せる。
検証の場合は、署名sと署名者の識別子jとを用いて検証アルゴリズムVを通した結果が、メッセージmと一致するかどうかで判定されればよい。
なお、上記の全てのアルゴリズムは、公開パラメータPも入力されているものとする。
また、例えば以下の式(3)および式(4)に示す式において、鍵変換部404が、K(第1鍵)をIDベース暗号の準同型性を用いてi’、Ki’(第2鍵)にそれぞれ変換して用いればよい。
なお、式(3)および式(4)は、RFC5091 BB04方式に相手の識別子に応じた識別子変換および鍵変換を施した例であり、hは{0,1}*→Zq*の一方向性ハッシュ関数であり、GqはRFC5091 BB04方式の公開パラメータである。
一方、識別子については、識別子変換部403が、プロバイダの識別子jに応じて、ユーザi(第1識別子)を式(5)を用いてIDij(第2識別子)に変換する。
上記のIDベース暗号方式を用いれば、情報処理装置400内にはプロバイダの識別子および付帯情報を格納しておけばよいため、必要となる記憶容量を節約できる。また、プロバイダの鍵漏洩についても世代などの付帯情報を更新することで、セキュリティレベルを維持することができる。
次に、信頼ソフトウェアとして、GSMA Handset APIs & Requirementsに定義されたAccess Controlで情報処理装置200に認証されたアプリケーションを用いる場合について図5を参照して説明する。
図5に示すブロック図は、各要素がどのアーキテクチャに属するかを示したものである。
図5では、アーキテクチャとして、アプリケーション領域551、ネイティブユーザ領域552、システム領域553およびセキュアエレメント領域554が示される。
アプリケーション領域551には、プロバイダアプリケーション501およびSIM−OTPアクセス部502が含まれる。
ネイティブユーザ領域552には、ネイティブコード部509が含まれる。
システム領域553には、ランタイム部503、Open Mobile API部504、証明書格納部505、画面表示ライブラリ510およびディスプレイドライバ511が含まれる。
セキュアエレメント領域554には、証明書ハッシュ格納部506、セキュアエレメント内Access Control部507および情報処理装置508が含まれる。
プロバイダアプリケーション501は、ユーザによりインストールされるアプリケーションである。なお、プロバイダアプリケーション501は、正規ルートのみからダウンロード可能とする。
SIM−OTPアクセス部502は、セキュアエレメント領域554に対するデータの送受信を行う。
ランタイム部503は、例えばアンドロイドランタイムであり、Dalvik仮想マシンを含み、Java(登録商標)コードにより、SIM−OTPアクセス部502およびOpen Mobile API部504からのデータが処理される。なお、Javaコードによる処理は、セキュアエレメントから情報を取り出す処理のみである。
Open Mobile API部504は、SIMalianceにて標準化されたAPIであり、Access Controlを含む。Access Controlは、GSMAで標準化された機能である。
証明書格納部505は、プロバイダアプリケーション501のUIDとアプリケーション証明書情報とを対応付けて格納する。
証明書ハッシュ格納部506は、セキュアエレメント領域554に情報処理装置508が登録される場合に、情報処理装置508にアクセスするアプリケーションのアプリケーション証明書のハッシュ値(SHA1)を事前に格納する。
セキュアエレメント内Access Control部507は、GSMAにて標準化された機能であり、証明書格納部505に格納されるアプリケーション証明書情報に基づくハッシュ値と証明書ハッシュ格納部506に格納されるハッシュ値とを比較する。
情報処理装置508は、上述の情報処理装置200,400と同様の動作を行い、OTPの生成、セッション鍵の交換、取引情報の暗号化、および暗号化された取引情報の送信を行う。
ネイティブコード部509は、セッション鍵の交換や、暗号化された取引情報を復号化し、取引情報をネイティブコードにより送信する。
画面表示ライブラリ510は、画面表示を行うためのライブラリである。
ディスプレイドライバ511は、ディスプレイに取引情報などを表示させるためのドライバである。
次に、図5に示す信頼ソフトウェアを用いたアクセス制御処理について具体的に説明する。
ここでは、セキュアエレメントとしてSIMを想定し、プロバイダアプリケーション501として、銀行アプリを想定する。また、証明書ハッシュ格納部506に銀行アプリに関するアプリケーション証明書のハッシュ値が予め格納される場合を想定する。
ステップS1では、銀行アプリがインストールされる場合、インストールと同時に、システム領域553の証明書格納部505に、銀行アプリのUIDとアプリケーション証明書情報とが対応付けて登録される。
ステップS2では、銀行アプリからSIM内の情報処理装置508に処理実行の要求が行われる。この場合、銀行アプリは、SIM−OTPアクセス部502およびランタイム部503を介して、Open Mobile API部504にアクセスする。
ステップS3では、Open Mobile API部504が、処理実行の要求に含まれる銀行アプリのUIDを取得する。
ステップS4では、Open Mobile API部504が、証明書格納部505からUIDに該当するアプリケーション証明書情報を検索して取得する。
ステップS5では、Open Mobile API部504が、Access Controlを経由して、セキュアエレメント領域554内のセキュアエレメント内Access Control部507にアプリケーション証明書情報を渡す。
ステップS6では、セキュアエレメント内Access Control部507が、アプリケーション証明書情報と合致するハッシュ値と、証明書ハッシュ格納部506に格納されるハッシュ値とを比較する。
ステップS7では、比較した2つのハッシュ値が同じである場合、正常な処理であると判定され、Open Mobile API部504が、情報処理装置508に処理実行の要求を渡す。その後、情報処理装置508では、処理結果をOpen Mobile API部504、ランタイム部503およびSIM−OTPアクセス部502を介して銀行アプリに送信する。
一方、比較した2つのハッシュ値が異なる場合、不正なアクセスであると判定され、Open Mobile API部504、ランタイム部503およびSIM−OTPアクセス部502を介して銀行アプリにエラーコードを返す。以上でアクセス制御の処理を終了する。
以上に示した本実施形態によれば、通信相手との決済処理を含む通信処理において、耐タンパー性を有するセキュアエレメントに含まれる情報処理装置、および、信頼ソフトウェアの通信機能、表示機能および入力機能のみを用いて決済処理を行うことにより、OSやOS上で動作するアプリケーションがマルウェアなどにより感染している場合でも、マルウェアに感染したOSやアプリケーションを介することなく通信処理を行うことできる。よって、アプリケーションを介して通信処理を実行するよりも、取引の安全性を飛躍的に向上させることができる。
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した情報処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RW、Blu−ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の情報処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100・・・アーキテクチャ、101・・・セキュアエレメント、102・・・信頼ソフトウェア、103・・・オペレーティングシステム、104−1,104−2・・・アプリケーション、200,400・・・情報処理装置、201・・・通信部、202・・・鍵格納部、203・・・認証部、204・・・提示部、351・・・ユーザ、352・・・銀行、401・・・第1識別子格納部、402・・・第2識別子格納部、403・・・識別子変換部、404・・・鍵変換部、405・・・認証部、501・・・プロバイダアプリケーション、502・・・SIM−OTPアクセス部、503・・・ランタイム部、504・・・Open Mobile API部、505・・・証明書格納部、506・・・証明書ハッシュ格納部、507・・・セキュアエレメント内Access Control部、508・・・情報処理装置、509・・・ネイティブコード部、510・・・画面表示ライブラリ、511・・・ディスプレイドライバ、551・・・アプリケーション領域、552・・・ネイティブユーザ領域、553・・・システム領域、554・・・セキュアエレメント領域。
信頼ソフトウェア102は、製造および修正の権限がハードウェアを介して直接的または間接的に特定の者に限定されるソフトウェアであり、信頼ソフトウェア102がファームウェアおよびOSの場合は、メーカー、キャリアなど、ハードウェアを製造販売している一部の事業者に製造および修正の権限がハードウェア等によって技術的に限定されるファームウェアおよびOSである。信頼ソフトウェア102がアプリケーションの場合は、ハードウェア、ファームウェアまたはOSに組み込まれたコード署名などの技術的な方法によって、特定のアプリケーションベンダーにソフトウェアの製造および修正の権限が限定されるアプリケーションである。
信頼ソフトウェア102の一例としては、SIM Application Toolkit、BIOS、GSMA Handset APIs & Requirementsに定義されたAccess Controlで情報処理装置に認証されたアプリケーション、およびGlobalPlatform Trusted Execution Environmentに定義されたTrusted Applicationが挙げられる。信頼ソフトウェア102は、少なくとも、通信機能、表示機能および入力機能を有する。信頼ソフトウェア102の通信機能、表示機能および入力機能はそれぞれ、OS103またはOS上で動作するアプリケーション104に妨げられずに、通信相手と通信したり、ユーザに対して画面を表示したり、ユーザからの入力を受け付けたりすることができる。

Claims (9)

  1. 製造および修正の少なくとも1つの権限がハードウェアによって直接または間接に特定の者に限定される信頼ソフトウェアの通信機能のみを介して、ユーザからの入力を必要とする1以上の承認内容を通信相手から受信する通信手段と、
    前記信頼ソフトウェアの表示機能のみを介して前記1以上の承認内容をユーザに提示する提示手段と、
    前記通信相手との認証に用いる第1鍵を格納する鍵格納手段と、
    前記信頼ソフトウェアの入力機能のみを介して取得した前記ユーザからの指示に応じて、前記第1鍵を用いた認証コードを生成する認証手段と、を具備することを特徴とする情報処理装置。
  2. 自己の第1識別子を格納する第1識別子格納手段と、
    前記通信相手の識別子を格納する第2識別子格納手段と、
    前記通信相手に応じて前記第1識別子を変換し、第2識別子を生成する識別子変換手段と、
    前記通信相手に応じて前記第1鍵を変換し、第2鍵を生成する鍵変換手段と、をさらに具備し、
    前記認証手段は、前記第2識別子および前記第2鍵を用いて認証コードを生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1鍵は、共通鍵暗号方式における鍵であり、
    前記鍵変換手段は、前記共通鍵暗号方式により前記第2鍵を生成し、
    前記通信手段は、前記第2鍵を用いて、前記共通鍵暗号方式により前記通信相手と暗号通信およびメッセージ認証することを特徴とする請求項2に記載の情報処理装置。
  4. 前記第1鍵は、IDベース暗号方式における秘密鍵であり、
    前記鍵変換手段は、前記IDベース暗号方式により前記第2鍵を生成し、
    前記通信手段は、前記第2鍵を用いて、前記IDベース暗号方式により前記通信相手と暗号通信およびメッセージ認証することを特徴とする請求項2に記載の情報処理装置。
  5. 前記第2識別子格納手段は、任意の値である世代を含む付帯情報を前記通信相手の識別子と対応付けてさらに格納することを特徴とする請求項2から請求項4のいずれか1項に記載の情報処理装置。
  6. 前記認証手段は、前記1以上の承認内容にデジタル署名および前記認証コードの少なくともどちらか1つが付される場合、該デジタル署名および該認証コードについて認証処理を行い、
    前記提示手段は、前記認証処理が成功した場合に、前記1以上の承認内容を前記ユーザに提示することを特徴とする請求項1から請求項5のいずれか1項に記載の情報処理装置。
  7. 前記情報処理装置は、SIM(Subscriber Identity Module)に含まれ、前記信頼ソフトウェアは、SIM Application Toolkit、GSMA Handset APIs & Requirementsに定義されたAccess Controlで前記情報処理装置に認証されたアプリケーション、およびGlobalPlatform Trusted Execution Environmentに定義されたTrusted Applicationのいずれか1つであることを特徴とする請求項1から請求項6のいずれか1項に記載の情報処理装置。
  8. 製造および修正の少なくとも1つの権限がハードウェアによって直接または間接に特定の者に限定される信頼ソフトウェアの通信機能のみを介して、ユーザからの入力を必要とする1以上の承認内容を通信相手から受信し、
    前記信頼ソフトウェアの表示機能のみを介して前記1以上の承認内容をユーザに提示し、
    前記通信相手との認証に用いる鍵を格納手段に格納し、
    前記信頼ソフトウェアの入力機能のみを介して取得した前記ユーザからの指示に応じて、前記鍵を用いた認証コードを生成することを特徴とする認証方法。
  9. コンピュータを、
    製造および修正の少なくとも1つの権限がハードウェアによって直接または間接に特定の者に限定される信頼ソフトウェアの通信機能のみを介して、ユーザからの入力を必要とする1以上の承認内容を通信相手から受信する通信手段と、
    前記信頼ソフトウェアの表示機能のみを介して前記1以上の承認内容をユーザに提示する提示手段と、
    前記通信相手との認証に用いる鍵を格納する格納手段と、
    前記信頼ソフトウェアの入力機能のみを介して取得した前記ユーザからの指示に応じて、前記鍵を用いた認証コードを生成する認証手段として機能させるための認証プログラム。
JP2015081148A 2015-04-10 2015-04-10 情報処理装置、認証方法及びプログラム Active JP5847345B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015081148A JP5847345B1 (ja) 2015-04-10 2015-04-10 情報処理装置、認証方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015081148A JP5847345B1 (ja) 2015-04-10 2015-04-10 情報処理装置、認証方法及びプログラム

Publications (2)

Publication Number Publication Date
JP5847345B1 JP5847345B1 (ja) 2016-01-20
JP2016201699A true JP2016201699A (ja) 2016-12-01

Family

ID=55169239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015081148A Active JP5847345B1 (ja) 2015-04-10 2015-04-10 情報処理装置、認証方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5847345B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6560649B2 (ja) * 2016-09-30 2019-08-14 Kddi株式会社 認証サーバ、端末装置、システム、認証方法、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI105253B (fi) * 1997-11-11 2000-06-30 Sonera Oyj Siemenluvun generointi
CN1319219A (zh) * 1998-09-22 2001-10-24 西门子公司 用于支付商品或服务款项的方法和系统
DE19921524C2 (de) * 1999-05-10 2003-08-28 Giesecke & Devrient Gmbh Einrichtung zum Schutz des Ersteinsatzes einer Prozessor-Chipkarte
NO314649B1 (no) * 2001-04-25 2003-04-22 Ericsson Telefon Ab L M Fremgangsmåte for ikke-repudiering ved bruk av kryptografiske signaturer ismå enheter
US7142814B2 (en) * 2002-12-11 2006-11-28 Shary Nassimi Automatic Bluetooth inquiry mode headset
FR2916922B1 (fr) * 2007-06-01 2009-07-17 Radiotelephone Sfr Systeme et procede d'identification de l'operateur du numero d'appel d'un correspondant en memoire au niveau du terminal d'un utilisateur
CN101674579A (zh) * 2009-08-07 2010-03-17 厦门敏讯信息技术股份有限公司 一种移动通讯终端与用户识别卡的认证方式
US9081631B2 (en) * 2011-06-30 2015-07-14 Stmicroelectronics S.R.L. Method for executing a toolkit action in an IC card
CN103827824B (zh) * 2011-09-30 2017-09-05 英特尔公司 虚拟机和嵌套虚拟机管理器的验证发起
GB2512807B (en) * 2012-02-21 2014-11-19 Ibm Network node with network-attached stateless security offload device

Also Published As

Publication number Publication date
JP5847345B1 (ja) 2016-01-20

Similar Documents

Publication Publication Date Title
CN111181720B (zh) 基于可信执行环境的业务处理方法及装置
US11588637B2 (en) Methods for secure cryptogram generation
CN108667608B (zh) 数据密钥的保护方法、装置和系统
JP5216932B1 (ja) ワンタイムパスワード装置、システム及びプログラム
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN107181714B (zh) 基于业务码的验证方法和装置、业务码的生成方法和装置
WO2015180691A1 (zh) 验证信息的密钥协商方法及装置
US20150310427A1 (en) Method, apparatus, and system for generating transaction-signing one-time password
RU2628492C2 (ru) Телекоммуникационная чип-карта
JP2015154491A (ja) リモートアクセス、リモートデジタル署名のためのシステムおよび方法
JP2015130633A (ja) 認証システム
US11184339B2 (en) Method and system for secure communication
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
CN107548542B (zh) 经强化完整性及安全性的用户认证方法
Cooijmans et al. Secure key storage and secure computation in Android
JP2015104020A (ja) 通信端末装置、通信端末関連付けシステム、通信端末関連付け方法、及びコンピュータプログラム
JP5847345B1 (ja) 情報処理装置、認証方法及びプログラム
JP6167667B2 (ja) 認証システム、認証方法、認証プログラムおよび認証装置
JP2008176429A (ja) 機密情報漏洩防止システム、機密情報漏洩防止方法、機密情報漏洩防止プログラム
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN114329522A (zh) 一种私钥保护方法、装置、系统及存储介质
CN115280313A (zh) 用于白盒装置绑定的系统和方法
CN112350922A (zh) 一种邮件处理的方法、装置、服务器及存储介质
US12200120B2 (en) Network arrangement for secure use of a private key remotely accessed through an open network

Legal Events

Date Code Title Description
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: 20151027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151124

R150 Certificate of patent or registration of utility model

Ref document number: 5847345

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R157 Certificate of patent or utility model (correction)

Free format text: JAPANESE INTERMEDIATE CODE: R157

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R157 Certificate of patent or utility model (correction)

Free format text: JAPANESE INTERMEDIATE CODE: R157

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250