(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、実施形態の携帯可能電子装置、プログラム、処理システム、端末およびICカードを、図面を参照して説明する。
【0011】
(第1の実施形態)
図1は、実施形態の通信システム1を示す図である。
通信システム1は、ICカード11と、端末12と、スマートホンなどの携帯装置14を備える。通信システム1は、ICカード11と携帯装置14を有するシステム(処理システム)を含んでいる。
ICカード11と端末12は、有線または無線の通信路13を介して、通信する。ICカード11は、外部の端末12からの指示(コマンド)を解釈して当該指示に応じた処理を実行し、その結果を端末12に応答する。
ICカード11は、当該ICカード11の内部に埋設された1個のICチップを備える
一例として、ICカード11は、端末12から送信されるコマンドに対する応答(レスポンス)を行う構成となっている。あるいは、他の例として、ICカード11は、端末12から送信されるコマンドに対する応答以外の動作を行う構成となっている。
【0012】
ここで、ICカード11と端末12との通信の方式としては、接触方式または非接触方式のいずれが用いられてもよい。
接触方式では、端末12とICカード11のそれぞれに金属の接触点(コンタクト部)が設けられて、端末12の接触点とICカード11の接触点とが接触させられた状態で、端末12とICカード11とが通信する。この場合、これらの接触点により接続される端末12とICカード11とをつなぐ導電性の経路(有線の経路)が、通信路13となる。
非接触方式では、端末12とICカード11のそれぞれにループアンテナなどのアンテナが設けられて、端末12のアンテナとICカード11のアンテナとの間での電磁誘導により、端末12とICカード11とが通信する。この場合、電磁誘導が行われる空中の経路(無線の経路)が、通信路13となる。
【0013】
端末12は、ICカード11の内部に記憶された情報を読み出すことおよび書き換えることなどを行うために、特定のプロトコルにしたがって、UART(Universal Asynchronous Receiver Transmitter)コマンドをICカード11に送信する。ICカード11は、例えばUARTを介して端末12から受信したコマンドを受信用バッファに保持し、その後、受信用バッファに保持したコマンドを解釈し、コマンドに応じた処理を実行する。
また、ICカード11が電源を備える構成が用いられてもよく、または、ICカード11が電源を備えずに、端末12からICカード11へ接触方式または非接触方式で電力を供給する構成が用いられてもよい。
【0014】
ICカード11は、ハードウェアの構成の一例として、プログラムなどを記憶するROM(Read Only Memory)31と、データを一時的に保持するRAM(Random Access Memory)32と、記憶内容が書き換え可能な不揮発性記憶装置(NVM:Non-Volatile Memory)であるEEPROM(Electrically Erasable Programmable ROM)33と、端末12との通信を行うUART34と、CPU(Central Processing Unit)35と、コプロセッサ(Co-processor)36と、これらを相互に接続するシステムバス37を備える。
【0015】
一例として、RAM32に、端末12から送信されたコマンドの情報を保持しておく受信用バッファ、端末12に対して送信するコマンドの情報を保持しておく送信用バッファ、および各種の作業を行うときに情報を保持しておく作業用バッファが設けられる。
ここで、本実施形態では、ICカード11に、CPU35を補助するために特定の処理(例えば、データを暗号化する処理および暗号化データを復号化する処理)を実行するコプロセッサ36を備える。他の構成例として、ICカード11にコプロセッサ36を備えずに、すべての処理をCPU35により実行してもよい。
【0016】
図2は、実施形態のICカード11の一例を示す外観図である。
図2に示されるように、ICカード11は、ICモジュール51を備える。ICモジュール51は、コンタクト部61を備え、内部にICチップ62を備える。ICカード11は、例えば、プラスチックのカード基材52(カード本体の一例)に、ICモジュール51を実装して形成されている。このように、ICカード11は、ICモジュール51と、ICモジュール51が埋め込まれたカード基材52を備える。また、ICカード11は、コンタクト部61を介して外部装置である端末12と通信することが可能である。
【0017】
ICカード11は、例えば、端末12が送信したコマンド(処理要求)を、コンタクト部61を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード11は、コマンド処理の実行結果であるレスポンス(処理応答)をコンタクト部61を介して端末12に送信する。
ここで、端末12は、ICカード11と通信する上位装置であり、例えば、リーダライタの端末である。
【0018】
ICモジュール51は、コンタクト部61と、ICチップ62を備え、例えば、テープ上にICモジュール51が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。
コンタクト部61は、ICカード11が動作するために必要な各種信号の端子を有する。ここで、各種信号の端子は、例えば、電源電圧、クロック信号、リセット信号などの供給を端末12から受ける端子、および、端末12と通信するためのシリアルデータ入出力端子(SIO端子)を有する。端末12から供給を受ける端子には、電源端子(VDD端子、GND端子)、クロック信号端子(CLK端子)、およびリセット信号端子(RST端子)が含まれる。
ICチップ62は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
【0019】
なお、
図2では、コンタクト部61を用いて接触方式で端末12と通信するICカード11の外観を示した。他の構成例として、接触方式の通信機能および非接触方式の通信機能を有するICカード11では、
図2の構成にさらに、非接触方式の通信を行うためのアンテナ(および、必要な場合には、その他の必要な回路)を備える。また、他の構成例として、接触方式の通信機能を有しておらず非接触方式の通信機能を有するICカード11では、コンタクト部61の代わりに、非接触方式の通信を行うためのアンテナ(および、必要な場合には、その他の必要な回路)を備える。
【0020】
本実施形態の通信システム1においてICカード11の利用時に行われる認証の方法について説明する。
本実施形態の通信システム1では、(k,n)閾値秘密分散法を応用して、擬似的なワンタイムパスワードを生成し、生成された擬似的なワンタイムパスワードを認証に使用する。
【0021】
ここで、秘密分散法とは、秘密情報を複数に分散する手法であり、分散された情報からあらかじめ定められた個数が集まれば元の秘密情報に戻すことができる。秘密分散法は、情報を単純に暗号化する手法と比べると、定められた個数未満であれば分散された情報が漏洩しても秘密情報そのものが漏洩することがないため、可用性と機密性を両立することができる技術である。
また、Shamirにより提唱された(k,n)閾値秘密分散法は、「k次曲線の式は、曲線を通るk個の点の座標が分からないと求めることができない」という数学的根拠をベースとした手法である。この手法では、k次曲線の式f(x)を秘密情報sとして用意し、また、この曲線上にあるn個の座標を分散情報として用意する。このとき、n個の分散情報のうち、k個の分散情報を集めない限り秘密情報sを復元することができない。なお、kおよびnは、それぞれ、2以上の数であり、かつ、k>nの関係がある。また、sは情報を表す。また、f(x)はxを変数とする式(関数)を表す。
【0022】
ここで、本実施形態の通信システム1では、認証用情報のマスターとなるPIN(以下、「マスターPIN」ともいう。)と、マスターPINに基づいて生成される認証用情報であるPIN(以下、「仮PIN」ともいう。)が使用される。本実施形態では、仮PINは、疑似的なワンタイムパスワードとして使用される。
本実施形態では、それぞれのICカード11ごとに、ユーザと認証システム(本実施形態では、当該ICカード11)との間で、1個のマスターPINが共有されている。
また、マスターPINの値と所定の情報からk次曲線の式f(x)へ変換する手法が一般公開されている。当該所定の情報としては、例えば、ICカード11に記載のない個人情報が用いられる。当該個人情報は、クレジットカードの場合には、例えば、ユーザの誕生日などの情報である。
【0023】
仮に、マスターPINの値を入力に利用して他の情報を利用しない場合、式f(x)の候補の数はマスターPINの取り得る数に限定される。このため、例えば、4桁のマスターPINが利用される場合、式f(x)の候補の数は1万通りとなる。
マスターPINから式f(x)へ変換する手法としては、例えば、マスターPINから式f(x)へ変換する変換式を用いる手法が使用されてもよく、あるいは、マスターPINから式f(x)へ変換する変換テーブルを参照する手法が使用されてもよい。
また、式f(x)上の有理点から擬似的なワンタイムパスワード(本実施形態では、仮PIN)へ可逆的に変換することができる手法が一般公開されている。
【0024】
本実施形態の通信システム1では、1個のマスターPINから生成される複数の仮PINを、ICカード11の利用時における認証に使用する。なお、本実施形態では、マスターPINについても当該認証に使用することが可能な構成とするが、他の構成例として、マスターPINについては当該認証に使用されない構成とすることも可能である。
本実施形態では、認証のための入力で一度使用された仮PINについては、その後に所定の回数だけ正常な認証が完了するまでは、再度使用することができない構成としてある。当該所定の回数は、任意の回数であってもよく、例えば、少なくともPINトライカウンタ(PIN Try Counter)に設定された回数以上とされる。ここで、PINトライカウンタに設定された回数は、PINの入力を試行することが可能な最大の回数である。PINトライカウンタに設定される回数は、例えば、kより小さい値とされる。
【0025】
本実施形態の通信システム1では、ユーザは、携帯装置14のアプリケーション(プログラム)を用いて当該アプリケーションによって仮PINを計算させて取得する。そして、ユーザは、取得された仮PINをICカード11の利用端末(端末12)において入力することで、当該ユーザの認証処理(本人確認処理)をICカード11に実行させる。
ここで、本実施形態では、ローカル環境である携帯装置14のアプリケーションが、仮PINの計算を行い、過去に使用された仮PINのログを管理する。他の構成例として、ユーザが、マスターPINから仮PINを手動で計算して、過去に使用された仮PINのログを管理してもよい。
【0026】
このように、本実施形態の通信システム1では、秘密分散法を応用した手法により、マスターPINの情報(秘密情報)に基づいて分散情報を算出し、算出された分散情報を擬似的なワンタイムパスワード(本実施形態では、仮PIN)として、マスターPINの代わりに使用することを可能とする。そして、本実施形態の通信システム1では、ユーザから端末12に擬似的なワンタイムパスワードが入力された場合に、ICカード11において当該擬似的なワンタイムパスワードが秘密情報から算出されたものであるか否かを判定する。
ここで、1個のマスターPINに対して擬似的なワンタイムパスワードとして許容される値は複数存在するが、秘密分散法の性質上、事前に設定された数以上の擬似的なワンタイムパスワードが漏洩しない限り、マスターPINの値は漏洩しない。本実施形態の通信システム1では、この性質を利用して、一度入力された擬似的なワンタイムパスワードについては一定回数だけ再使用できないように設定することが可能である。この場合、当該擬似的なワンタイムパスワードは、一定回数のパスワードの盗み出しに耐えられる仕組みを持つ。
また、本実施形態の通信システム1では、使用することが可能な複数の疑似的なワンタイムパスワードをユーザに提示して、そのなかから、使用対象とする(将来的に使用する候補とする)1個以上の疑似的なワンタイムパスワードをユーザにより選択することを可能とする。さらに、本実施形態の通信システム1では、選択された1個以上の疑似的なワンタイムパスワードの候補のなかから、使用する1個の疑似的なワンタイムパスワードをユーザにより指定することを可能とする。
【0027】
図3は、実施形態の携帯装置14を示す図である。
本実施形態では、携帯装置14はスマートホンであるが、他の携帯可能な装置が用いられてもよい。
携帯装置14は、入力部111と、出力部112と、記憶部113と、処理部114を備える。処理部114は、マスターPIN情報取得部131と、仮PIN情報生成部132と、仮PIN情報出力制御部133を備える。
【0028】
入力部111は、外部から情報を入力する。本実施形態では、入力部111は、ユーザにより操作される操作部を有しており、当該操作部が操作された内容を表す情報を入力する。
出力部112は、外部に情報を出力する。本実施形態では、出力部112は、画面を有しており、当該画面に情報を表示出力する。
記憶部113は、情報を記憶する。
【0029】
処理部114は、各種の処理を実行する。
マスターPIN情報取得部131は、入力部111の操作部がユーザにより操作されて入力された情報に基づいて、マスターPINの情報(マスターPINの値)を取得する。また、マスターPIN情報取得部131は、入力部111の操作部がユーザにより操作されて入力された情報に基づいて、または、記憶部113に記憶された情報に基づいて、または、他の手法により、所定の情報(個人情報など)を取得する。
仮PIN情報生成部132は、マスターPIN情報取得部131により取得されたマスターPINの情報および所定の情報に基づいて、仮PINの情報(仮PINの値)を生成する。
仮PIN情報出力制御部133は、仮PIN情報生成部132により生成された仮PINの値を出力部112により出力する制御を行う。
【0030】
ここで、仮PIN情報生成部132は、例えば、所定の変換式または所定の変換テーブルを用いて、マスターPINの情報(および所定の情報)から関数f(x)の情報へ変換する。そして、仮PIN情報生成部132は、得られた関数f(x)に基づいて、有理点から仮PINを計算することで、仮PINの情報を生成する。
この場合、所定の変換式または所定の変換テーブルの情報が、記憶部113に記憶される構成が用いられてもよい。あるいは、所定の変換式または所定の変換テーブルの情報が、インターネットなどを介して一般公開されている情報に基づいて仮PIN情報生成部132により取得される構成が用いられてもよい。
また、仮PIN情報生成部132は、ユーザにより選択された仮PINの候補を管理し、また、仮PINの候補のなかからユーザにより指定された使用される仮PINを管理する。そして、仮PIN情報生成部132は、ユーザにより過去に使用された仮PINのログを管理する。仮PIN情報生成部132は、当該ログを記憶部113に記憶して管理する。
【0031】
なお、マスターPINの情報(および所定の情報)と関数f(x)との対応関係は、例えば、ICカード11のブランドごとに定められてもよい。この場合、携帯装置14のアプリケーションとしては、例えば、1個のブランドごとに対応したアプリケーション(ブランドごとのアプリケーション)が用いられてもよく、あるいは、2個以上のブランドのそれぞれに対応したアプリケーション(共通のアプリケーション)が用いられてもよい。携帯装置14では、2個以上のブランドのそれぞれに対応したアプリケーションが用いられる場合、仮PIN情報生成部132は、ユーザによる操作に応じて、処理の対象とするブランドを切り替える。
【0032】
なお、本実施形態の携帯装置14では、マスターPINの情報および所定の情報(個人情報など)の組み合わせと関数f(x)とが対応する構成例を説明するが、他の構成例として、マスターPINの情報と関数f(x)とが対応する構成例が用いられてもよく、この場合、所定の情報(個人情報など)は用いられなくてもよい。あるいは、当該所定の情報が、例えば固定の情報として、携帯装置14の記憶部113に設定されてもよい。
【0033】
本実施形態では、所定のアプリケーション(プログラム)によって実現される機能により、マスターPIN情報取得部131と、仮PIN情報生成部132と、仮PIN情報出力制御部133の機能が構成されている。当該アプリケーション(当該プログラム)は、記憶部113に記憶されている。処理部114は、CPUを用いて構成されており、当該CPUが当該アプリケーション(当該プログラム)を実行する。
【0034】
図4は、実施形態のICカード11を示す図である。
ICカード11は、通信部211と、記憶部212と、処理部213を備える。処理部213は、仮PIN情報取得部231と、マスターPIN情報取得部232と、判定部233と、取引処理部234を備える。
【0035】
通信部211は、端末12との間で通信を行う。本実施形態では、接触方式の通信が用いられてもよく、あるいは、非接触方式の通信が用いられてもよい。
記憶部212は、情報を記憶する。本実施形態では、記憶部212は、自己(ICカード11)に割り当てられた1個のマスターPINの情報(マスターPINの値)を記憶する。
【0036】
処理部213は、各種の処理を実行する。
仮PIN情報取得部231は、通信部211によって端末12から受信された仮PINの情報を取得する。端末12は、ICカード11の利用時における認証処理において、ユーザから受け付けられた仮PINの情報をICカード11に送信する。
マスターPIN情報取得部232は、マスターPINの情報を取得する。本実施形態では、マスターPIN情報取得部232は、記憶部212に記憶された自己(ICカード11)のマスターPINの情報を取得する。また、マスターPIN情報取得部232は、記憶部212に記憶された情報に基づいて、または、ユーザにより端末12に入力されて当該端末12から受信された情報に基づいて、または、他の手法により、所定の情報(個人情報など)を取得する。
【0037】
判定部233は、仮PIN情報取得部231により取得された仮PINの情報と、マスターPIN情報取得部232により取得されたマスターPINの情報に関して、合致の判定を行う。本実施形態では、判定部233は、例えば、所定の変換式または所定の変換テーブルを用いて、マスターPINの情報(および所定の情報)から関数f(x)の情報へ変換する。そして、判定部233は、得られた関数f(x)に対して、仮PIN情報取得部231により取得された仮PINの情報に応じた有理点が当該関数f(x)の上に存在するか否かを判定し、存在する場合には認証が成功した(正常に認証した)と判定し、一方、存在しない場合には認証が失敗した(異常である)と判定する。つまり、判定部233は、当該仮PINの値を変換して得られる座標値が当該マスターPINの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。
なお、ICカード11では、例えば、所定の変換式または所定の変換テーブルの情報が、記憶部212に記憶される構成が用いられてもよい。あるいは、ICカード11では、所定の変換式または所定の変換テーブルの情報が、インターネットなどを介して一般公開されている情報に基づいて判定部233により取得される構成が用いられてもよい。
【0038】
なお、本実施形態のICカード11では、マスターPINの情報および所定の情報(個人情報など)の組み合わせと関数f(x)とが対応する構成例を説明するが、他の構成例として、マスターPINの情報と関数f(x)とが対応する構成例が用いられてもよく、この場合、所定の情報(個人情報など)は用いられなくてもよい。あるいは、当該所定の情報が、例えば固定の情報として、ICカード11の記憶部212に設定されてもよい。
【0039】
ここで、マスターPINの情報(および所定の情報)に対応する関数f(x)は、携帯装置14とICカード11とで、共通の関数が用いられる。
また、判定部233は、既にユーザにより使用されて認証が成功した仮PINの値を記憶部212に記憶してもよい。そして、判定部233は、既に使用された仮PINの値については、その後に他の仮PINによって所定の回数の認証が成功するまでは、認証に使用することができない状態(つまり、認証に使用することを禁止する状態)としてもよい。
このように、一度入力された仮PINの値については、その後に、少なくとも所定の回数だけ、再使用できない構成とされてもよい。当該所定の回数は、例えば、あらかじめ設定されてもよく、あるいは、ユーザにより設定することが可能であってもよい。
【0040】
取引処理部234は、判定部233により認証が成功した場合、通信部211によってICカード11と通信することで、所定の取引に係る処理を実行する。当該所定の取引は、任意の取引であってもよく、例えば、クレジットカードなどの金融取引であってもよい。
一方、取引処理部234は、判定部233により認証が失敗した場合には、ICカード11との間で、所定の取引の処理を実行することを禁止する。
【0041】
なお、
図4に示される構成と
図1に示される構成との対応の一例を示す。
すなわち、本実施形態のICカード11では、ROM31とRAM32とEEPROM33の機能により、プログラムおよび各種のデータを記憶する領域を有する記憶部212が構成されている。また、UART34の機能により、通信を行う通信部211が構成されている。また、CPU35の機能およびコプロセッサ36の機能(他の構成例として、コプロセッサ36の機能が不要な場合には、CPU35の機能)により、各種の処理を実行する処理部213が構成されている。
【0042】
図5は、実施形態の変換テーブル311の概略を示す図である。
変換テーブル311は、概略的には、マスターPINの情報と、関数f(x)の情報とを対応付けて格納する。なお、
図5では図示を省略してあるが、関数f(x)は、例えば、所定の情報(個人情報など)にも依存し得る。
図5の例では、マスターPINの情報が「1234」である場合には、「関数f(x)=ax
2+bx+c(a、b、cは、それぞれ、実数)」であることが格納されており、また、マスターPINの情報が「5678」である場合には、「関数f(x)=dx
2+ex+f(d、e、fは、それぞれ、実数)」であることが格納されており、さらに他の対応関係も格納されている。
本実施形態では、携帯装置14の仮PIN情報生成部132と、ICカード11の判定部233と、のうちの一方または両方で、
図5に示されるような変換テーブル311が用いられてもよい。
【0043】
図6は、実施形態の携帯装置14において行われる処理の手順の一例を示すフローチャートである。
【0044】
(ステップS1)
まず、ユーザが、仮PINの情報を取得するための所定のアプリケーションを起動させて、携帯装置14の入力部111が有する操作部を操作して、マスターPINの値を打ち込む。携帯装置14では、入力部111により、打ち込まれたマスターPINの値を入力し、マスターPIN情報取得部131により当該マスターPINの値を取得する。また、携帯装置14では、マスターPIN情報取得部131により、所定の情報(個人情報など)を取得する。
【0045】
(ステップS2)
携帯装置14では、マスターPIN情報取得部131により取得されたマスターPINの値(および所定の情報)に基づいて、仮PIN情報生成部132により、仮PINの値を生成する。
【0046】
(ステップS3)
携帯装置14では、仮PIN情報出力制御部133により、仮PIN情報生成部132により生成された仮PINの値を画面に表示出力する。
本実施形態では、携帯装置14では、仮PIN情報生成部132により2個以上の仮PINの値を生成し、これら2個以上の仮PINの値を仮PIN情報出力制御部133により表示出力させる。ユーザは、携帯装置14の入力部111が有する操作部を操作して、表示出力された2個以上の仮PINの値のなかから、1個以上の仮PINの値(例えば、2個以上の異なる仮PINの値であり、以下も同様である。)を使用対象として選択する。
【0047】
(ステップS4)
携帯装置14では、入力部111により、ユーザにより1個以上の仮PINの値が選択された情報(選択情報)を入力する。携帯装置14では、仮PIN情報生成部132により、当該選択情報を取得する。
【0048】
(ステップS5)
携帯装置14では、仮PIN情報生成部132により、取得された選択情報に基づいて、選択された仮PINの値に関する更新を行う。具体的には、携帯装置14では、仮PIN情報生成部132により、選択された仮PINの値を仮PINの候補として記憶(記憶情報として更新)する。
このとき、携帯装置14では、仮PIN情報出力制御部133により、ユーザにより選択された1個以上の仮PINの値(候補)を画面に表示出力する。
【0049】
(ステップS6)
ユーザは、携帯装置14の入力部111が有する操作部を操作して、表示出力された1個以上の仮PINの値(候補)のなかから、1個の仮PINの値を使用する値として指定する。
携帯装置14では、入力部111により、ユーザにより1個の仮PINの値が指定された情報(指定情報)を入力する。携帯装置14では、仮PIN情報生成部132により、当該指定情報を取得する。
【0050】
(ステップS7)
携帯装置14では、仮PIN情報生成部132により、取得された指定情報に基づいて、指定された仮PINの値を、ユーザにより選択された1個以上の仮PINの値(候補)から削除する。そして、本フローの処理が終了する。
【0051】
ここで、本実施形態では、(ステップS4)〜(ステップS5)の処理においてユーザにより選択された1個以上の仮PINの値を仮PINの候補とし、その後、(ステップS6)〜(ステップS7)の処理において仮PINの候補のなかから指定された仮PINの値を当該候補から削除していく。最初に仮PINの候補が生成された後、当該候補に含まれる仮PINの値が無くなるまで、当該候補を利用することが可能である。すなわち、当該候補に含まれる仮PINの値が無くなるまで、(ステップS6)〜(ステップS7)の処理が繰り返して行われてもよい。
【0052】
この場合に、携帯装置14では、(ステップS5)の処理の後に続けて(ステップS6)〜(ステップS7)の処理が行われてもよく、あるいは、(ステップS5)の処理の後に、いったんアプリケーションが終了させられて、その後に、再び当該アプリケーションが起動されて、(ステップS6)〜(ステップS7)の処理が行われてもよい。また、携帯装置14では、例えば、(ステップS6)〜(ステップS7)の処理の後に、いったんアプリケーションが終了させられて、その後に、再び当該アプリケーションが起動されて、(ステップS6)〜(ステップS7)の処理が行われてもよい。
【0053】
なお、本実施形態の携帯装置14では、ユーザによる選択にしたがって仮PINの候補を生成するが、他の構成例として、ユーザの意思ではなく、あらかじめ定められた規則またはランダムに、仮PINの候補を(自動的に)生成してもよい。
また、他の構成例として、仮PINの候補が生成されずに、最初から、使用される仮PINの値がユーザにより指定されてもよい。
また、他の構成例として、ユーザの意思ではなく、携帯装置14が、仮PIN情報生成部132により、あらかじめ定められた規則またはランダムに、使用されるべき仮PINの値を(自動的に)生成してもよい。
【0054】
図7は、実施形態のICカード11において行われる処理の手順の一例を示すフローチャートである。
ユーザは、自己のICカード11を端末12と通信可能な位置に設置して、携帯装置14により表示出力された使用する仮PINの値(指定した仮PINの値)を端末12に打ち込む。端末12は、ユーザから入力された仮PINの値をICカード11に送信する。
【0055】
(ステップS21)
ICカード11では、通信部211により端末12との間で通信を開始する。そして、ICカード11では、初期の認証処理において、通信部211により端末12から送信された仮PINの値を受信し、仮PIN情報取得部231により当該仮PINの値を取得する。
(ステップS22)
ICカード11では、マスターPIN情報取得部232により、記憶部212に記憶されたマスターPINの値を取得する。また、ICカード11では、マスターPIN情報取得部232により、所定の情報(個人情報など)を取得する。
【0056】
(ステップS23)
ICカード11では、判定部233により、取得された仮PINの値と取得されたマスターPINの値(および所定の情報)に基づいて、当該仮PINの値を変換して得られる座標値が当該マスターPINの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。この結果、ICカード11では、判定部233により認証が成功した(正常に認証した)と判定した場合には(ステップS23:正常認証)、ステップS24の処理へ移行する。一方、ICカード11では、判定部233により認証が失敗した(異常である)と判定した場合には(ステップS23:異常)、本フローの処理が終了する。
【0057】
(ステップS24)
ICカード11では、判定部233により正常に認証したと判定した場合には、取引処理部234により、所定の取引の処理を実行する。そして、本フローの処理が終了する。
【0058】
図8は、実施形態の通信システム1において行われる携帯装置14、ユーザ411、端末12、およびICカード11の動作の一例を示す図である。
【0059】
(処理T1)
携帯装置14では、所定のアプリケーションが起動される。なお、当該アプリケーションは、例えば、常に起動されていてもよく、または、必要なときに起動されてもよい。
ユーザ411は、携帯装置14に対して、マスターPINの値、所定の情報(個人情報など)、および仮PINの数の指示を入力する。携帯装置14では、これらの情報をマスターPIN情報取得部131により取得する。
【0060】
(処理T2)
携帯装置14では、仮PIN情報生成部132により、取得されたマスターPINの値(および所定の情報)に基づいて、関数f(x)を取得する。
【0061】
(処理T3)
携帯装置14では、仮PIN情報生成部132により、取得された情報で指示された仮PINの数だけ関数f(x)上の有理点をランダムに選択(抽出)し、選択された有理点のそれぞれについて仮PINの値(ここでは、候補)を生成する。
なお、他の構成例として、仮PINの数の指示は入力されなくてもよく、この場合、携帯装置14では、仮PIN情報生成部132により、あらかじめ定められた数だけ仮PINの値を生成する。
【0062】
(処理T4)
携帯装置14では、関数f(x)が取得されて仮PINの値が生成された後にすぐに、仮PIN情報生成部132により、取得されたマスターPINの値(および所定の情報)および取得された関数f(x)の情報を記憶部113から破棄(消去)する。
ここで、関数f(x)の情報を破棄することは、特に、マスターPINの値と関数f(x)とが可逆的に変換できるような場合に、有効である。
なお、携帯装置14において、マスターPINの値あるいは関数f(x)の情報などがすぐに破棄される方が情報漏洩のリスクが低減すると考えられるが、他の構成例として、携帯装置14において、マスターPINの値あるいは関数f(x)の情報などのうちの1以上が任意の期間(無期限でもよい)記憶部113に記憶される構成が用いられてもよい。
【0063】
(処理T5)
携帯装置14では、仮PIN情報出力制御部133により、生成された仮PINの値の候補を画面に表示出力する。
【0064】
(処理T6)
ユーザ411は、表示出力された仮PINの値の候補から、自己(当該ユーザ411)が使用対象とする数(将来的に使用する予定の数)だけ、仮PINの値を選択する。
携帯装置14では、仮PIN情報生成部132により、ユーザ411による仮PINの値の選択(選択情報)を入力する。
【0065】
(処理T7)
携帯装置14では、仮PIN情報生成部132により、ユーザ411によって選択された仮PINの一覧を、仮PINの候補の情報として、記憶する。当該情報は、例えば、記憶部113に記憶される。
【0066】
(処理T8)
このとき、携帯装置14では、仮PIN情報生成部132により、選択済みの仮PINのログを更新する。当該ログは、例えば、携帯装置14の内部データとして保持される。また、当該ログの最大件数は、例えば、PINトライカウンタに設定される回数とされる。
【0067】
ここで、一例として、ユーザ411は、ICカード11をすぐに使用しない場合には、いったん、アプリケーションを終了させてもよい。他の例として、アプリケーションが起動されたままでもよい。
また、ユーザ411が携帯装置14を用いてマスターPINの値から仮PINの値を算出させる処理は、どこで行われてもよいが、例えば、ICカード11の端末12から離れた場所で行われることが好ましい。この理由は、マスターPINが攻撃者によって覗き見される可能性を低下させるためである。
【0068】
(処理T9)
ユーザ411は、例えば、ICカード11を使用する前に、携帯装置14のアプリケーションを利用する。当該アプリケーションが起動していない場合には、ユーザ411は当該アプリケーションを起動させる。
ユーザ411は、携帯装置14の画面に表示された仮PINの一覧(仮PINの候補)を参照して、使用する1個の仮PINの値を指定する。ここで、携帯装置14において、仮PINの一覧は、例えば、ユーザ411による指示に応じて仮PIN情報出力制御部133により表示されてもよく、または、アプリケーションによって自動的に、仮PIN情報出力制御部133により表示されてもよい。
【0069】
(処理T10)
携帯装置14では、仮PIN情報生成部132により、ユーザ411により指定された仮PINの値を仮PINの一覧(仮PINの候補)から削除する。
【0070】
(処理T11)
ユーザ411は、ICカード11を利用するとき、ICカード11を端末12に挿入するなどして、ICカード11を端末12に対して所定の位置に設置する。
そして、ユーザ411は、端末12を操作して、端末12に仮PINの値(および、必要であれば、個人情報などの所定の情報)を入力する。ここで、ユーザ411は、当該仮PINの値として、携帯装置14に最後に(つまり、最も近い過去に)、自己が使用する値として指定した仮PINの値を使用する。
【0071】
(処理T12)
端末12では、ユーザ411により入力された仮PINの値(および、必要であれば、その他の情報)をICカード11に送信する。
【0072】
(処理T13)
ICカード11では、通信部211により、端末12から仮PINの値(および、必要であれば、その他の情報)を受信する。そして、ICカード11では、判定部233により、マスターPINに基づく関数f(x)の上に、受信された仮PINの値に応じた有理点が存在するか否かを判定する。これにより、ICカード11では、判定部233により、正常に認証したか、または、異常であるかを判定する。
【0073】
ここで、ICカード11では、判定部233は、既にユーザにより使用されて認証が成功した仮PINの値をログとして記憶部212に記憶してもよい。そして、判定部233は、既に使用された仮PINの値については、その後に所定の回数の認証が成功するまで保持しておき、当該仮PINの値が前回に使用されてから他の仮PINによって当該所定の回数の認証が成功するまでは、認証に使用することができない状態(つまり、認証に使用することを禁止する状態)としてもよい。なお、他の構成例として、当該所定の回数は、認証の成功と失敗の両方をカウントした回数であってもよい。
これにより、ICカード11では、当該ログに残っている仮PINの値が端末12から送信されてきた場合には、その旨を示す情報を通知することが可能である。なお、当該情報は、例えば、端末12を介して通知されてもよい。
【0074】
(処理T14)
ICカード11では、通信部211により、認証の正否の結果(本人認証結果)の情報を端末12に送信する。
端末12は、正常に認証されたこと(認証に成功したこと)がICカード11から通知された場合には、決済などの取引の処理を実行する。一方、端末12は、異常であること(認証に失敗したこと)がICカード11から通知された場合には、取引の処理を不可とする。
【0075】
このように、本実施形態の通信システム1では、ICカード11を対象とした、PINの不正取得による反射攻撃を防止することができる。
また、本実施形態の通信システム1では、例えば、既存のシステムを改良する場合、ICカード11におけるPINの認証プロセスを変更することで実現可能となり、既存のインフラを利用することが可能である。
【0076】
ここで、本実施形態の通信システム1において情報が漏洩するリスクについて検討する。
まず、マスターPINの情報漏洩について検討する。
ユーザは、擬似的なワンタイムパスワード(本実施形態では、仮PIN)を生成するときに、マスターPINの値を携帯装置14に入力する。携帯装置14では、例えば、マスターPINの情報を外部に通信せずに擬似的なワンタイムパスワードを計算することができ、また、入力されたマスターPINの情報を擬似的なワンタイムパスワードの計算後にすぐにメモリ(本実施形態では、記憶部113)から削除する。このため、漏洩する可能性がある原因は、次の2通りのシナリオである。1つ目のシナリオは、ユーザがマスターPINの値を携帯装置14に入力する場面を他人に覗き見されたことである。2つ目のシナリオは、携帯装置14がウィルスに感染したために、マスターPINの情報がメモリから削除される前に、当該マスターPINの情報が盗み出されたことである。ただし、これら2通りのシナリオについては、携帯装置14に関する適切な運用を図ることで回避することが可能である。
【0077】
次に、仮PINからマスターPINが復号されることによる情報漏洩について検討する。
携帯装置14のアプリケーションによって、例えば、ログとして、最大で、PINトライカウンタに設定される回数だけ仮PINの値が記憶される。しかしながら、PINトライカウンタに設定される回数をkより小さい値とすることで、仮にログが他人に漏洩したとしても、当該他人がマスターPINを復号するためには不十分とすることができる。
また、ICカード11において、所定のログに記憶された仮PINの値(既に使用された仮PINの値)については、例えば、当該仮PINの値が使用されてから所定の回数の認証が成功するまでは、認証に使用することができない状態(つまり、認証に使用することを禁止する状態)とすることも可能である。
【0078】
次に、未使用の仮PINの情報漏洩について検討する。
本実施形態では、
図8に示される(処理T3)のように、ユーザの利便性を考慮して、複数の店舗で買い物をする場合などを想定して、携帯装置14のアプリケーションによって複数の仮PINの候補を記憶することが可能な構成としてある。このため、携帯装置14のアプリケーションによって未使用の仮PINの候補が記憶された状態で当該携帯装置14が他人に盗み出されると、当該他人は未使用の仮PINの数だけ正常な認証を行うことができる、というシナリオが考えられる。
【0079】
このようなシナリオを回避する方法の一例として、携帯装置14のアプリケーションによって複数の仮PINの候補を記憶しない構成とすることが可能である。この場合、携帯装置14では、仮PIN情報生成部132は、例えば、同時には、1個の仮PINの値を記憶する。あるいは、携帯装置14では、仮PIN情報生成部132は、例えば、仮PINの値を(処理中の最低限の時間を除いて)記憶しない構成とすることも可能である。
なお、携帯装置14では、1回のマスターPINの入力により複数の仮PINを生成して1個ずつ使用可能とする場合には、ユーザによってマスターPINが毎回入力されなくてもよく、ユーザの作業負荷を小さくすることが可能である。
【0080】
また、このようなシナリオのリスクを低減させる方法の一例として、マスターPINを使用して認証が成功した場合と比べて、仮PINを使用して認証が成功した場合には、ユーザにより利用することが可能な処理の権限を低くすることが可能である。この場合、ICカード11では、マスターPIN情報取得部232は、端末12から送信されたマスターPINの情報が通信部211により受信された場合、当該マスターPINの情報を取得する。また、ICカード11では、判定部233は、マスターPINの情報に基づいて認証の可否の判定を行う機能と、仮PINに基づいて認証の可否の判定を行う機能を有する。また、ICカード11では、取引処理部234は、判定部233によりマスターPINによる認証(仮PINは使用されない認証)が成功した場合にマスターPINの権限に応じた取引の処理を実行し、また、判定部233により仮PINによる認証が成功した場合に仮PINの権限に応じた取引の処理を実行する。ここで、マスターPINの権限の方が仮PINの権限よりも高い。例えば、マスターPINの権限に応じた取引の処理の方が、仮PINの権限に応じた取引の処理よりも、多くの処理を含む。具体的な一例として、マスターPINの権限に応じた取引の処理の方が、仮PINの権限に応じた取引の処理よりも、上限金額が高い処理を含んでもよい。なお、ユーザは、ICカード11を使用する場合に、端末12にマスターPINの値または仮PINの値を入力し、端末12はユーザから入力された情報(マスターPINの値または仮PINの値)をICカード11に送信する。ICカード11では、端末12から送信された情報(マスターPINの値または仮PINの値)に基づいて、判定部233により認証を行う。
【0081】
ここで、本実施形態の通信システム1では、認証システムに求められる性能あるいはセキュリティの要件に応じて、認証に適用する手法を調整することが可能である。
一例として、本実施形態の通信システム1では、秘密分散法をベースとしたアルゴリズムを調整することが可能である。本実施形態の通信システム1では、秘密分散法をベースとしたアルゴリズムとして、マスターPINの情報から擬似ワンタイムパスワード(本実施形態では、仮PIN)の情報を算出するアルゴリズムが使用されている。例えば、認証システムの性能に応じて、このような秘密分散法に関するアルゴリズムが変更されてもよい。本実施形態では、リソースが潤沢でないICカード11を想定した場合においても軽量なアルゴリズムで実装することが可能な(k,n)閾値秘密分散法を利用した構成について説明している。
【0082】
他の例として、本実施形態の通信システム1では、パスワードの盗み出しに耐えられる回数を調整することが可能である。
本実施形態では、マスターPINの情報(秘密情報)の復元に必要な仮PINの情報(分散情報)の数を増やすこと、あるいは減らすことが可能である。
なお、当該数を増やすと、パスワードの盗み出しに耐えられる回数を増やすことができるが、計算が複雑になり、適宜設定されてもよい。
【0083】
他の例として、本実施形態の通信システム1では、マスターPINの情報(秘密情報)から仮PINの情報(分散情報)を生成する手法について公開の有無を選択することが可能である。
例えば、このような生成の手法を一般公開する場合には、一般公開された情報に基づいて、スマートホンなど(携帯装置14)のアプリケーションによってマスターPINの情報(秘密情報)から仮PINの情報(分散情報)を生成することができる。この場合、ユーザの利便性は向上するが、分散情報から秘密情報の候補を絞り込むことができるため、総当り攻撃が成功する確率が上がると考えられる。
一方、このような生成の手法を一般公開しない場合には、分散情報から秘密情報を絞り込むことはできない。なお、この場合、ユーザがマスターPINの情報(秘密情報)を適切に管理することができないときにはセキュリティリスクとなり得るため、マスターPINの情報(秘密情報)の管理を強化することが好ましい。
【0084】
また、本実施形態の通信システム1では、単純な総当り攻撃の成功確率を調整することが可能である。
例えば、本実施形態では、擬似的なワンタイムパスワード(本実施形態では、仮PIN)のPINトライカウンタの回数を低く設定することにより、総当たり攻撃の試行回数を減らすことが可能である。一例として、擬似的なワンタイムパスワード(本実施形態では、仮PIN)のPINトライカウンタの回数を、マスターPINのPINトライカウンタの回数よりも低く設定してもよい。
【0085】
また、本実施形態の通信システム1では、総当たり攻撃により偶然に認証が成功してしまった場合におけるリスクの回避の程度を調整することが可能である。
例えば、本実施形態の通信システム1では、仮PINを使用した認証が成功した場合には、マスターPINを使用した認証が成功した場合と比べて、ユーザによって利用することが可能な機能を制限することが可能である。これにより、仮PINの総当たり攻撃により偶然に認証が成功してしまった場合におけるリスクを低減することができる。
【0086】
上記実施形態によれば、ICカード11において、端末12と通信する通信部211と、第1の情報(本実施形態では、マスターPINの値)を記憶する記憶部212と、通信部211により端末12から受信された情報が、記憶部212に記憶された第1の情報に基づいて生成される第2の情報(本実施形態では、仮PINの値)に合致するか否かに基づいて、認証の可否を判定する判定部233と、を備える。
これにより、ICカード11では、セキュリティを向上させることができる。
【0087】
また、上記実施形態によれば、ICカード11において、第1の情報に基づいて複数の第2の情報が生成可能である。そして、判定部233は、複数の第2の情報のうちで認証に使用された情報と同じ情報について所定の回数認証に使用されることを禁止する。
これにより、ICカード11では、さらにセキュリティを向上させることができる。
【0088】
上記実施形態によれば、携帯装置14のアプリケーション(プログラム)において、ICカード11について設定された第1の情報を入力するステップ(本実施形態では、ステップS1の処理)と、入力された第1の情報に基づいて、ICカード11の認証に使用される第2の情報を生成するステップ(本実施形態では、ステップS2の処理)と、生成された第2の情報を出力するステップ(本実施形態では、ステップS3の処理)と、をコンピュータ(携帯装置14を構成するコンピュータ)に実行させる。
これにより、当該アプリケーションでは、ICカード11のセキュリティ向上に役立ち、ICカード11のセキュリティを向上させることができる。
【0089】
また、上記実施形態によれば、携帯装置14のアプリケーション(プログラム)において、第1の情報に基づいて複数の第2の情報が生成可能であり、生成された複数の第2の情報のなかから使用対象とする1個以上の第2の情報の選択(本実施形態では、ユーザによる選択)を入力するステップ(本実施形態では、ステップS4の処理)と、選択された第2の情報のなかから1個の第2の情報の指定(本実施形態では、ユーザによる指定)を入力するステップ(本実施形態では、ステップS5〜ステップS6の処理)と、選択された第2の情報のなかから指定された第2の情報を削除するステップ(本実施形態では、ステップS7の処理)と、をさらに当該コンピュータに実行させる。
これにより、当該アプリケーションでは、さらに、ICカード11のセキュリティ向上に役立ち、ICカード11のセキュリティを向上させることができる。
【0090】
上記実施形態によれば、処理システムにおいて、ICカード11と、携帯装置14と、を有する。ICカード11は、端末12から受信された情報が、記憶部212に記憶された第1の情報に基づいて生成される第2の情報に合致するか否かに基づいて、認証の可否を判定する。携帯装置14は、第1の情報を入力し、入力された第1の情報に基づいて、ICカード11の認証に使用される第2の情報を生成し、生成された第2の情報を出力する。
これにより、処理システムでは、ICカード11のセキュリティを向上させることができる。
【0091】
上記実施形態によれば、ICカード11において、端末12と通信する通信部211と、第1の情報を記憶する記憶部212と、通信部211により端末12から受信された情報が、記憶部212に記憶された第1の情報に基づいて生成される第2の情報に合致するか否かに基づいて、認証の可否を判定する判定部233と、を備えるICモジュール51と、ICモジュール51が埋め込まれたカード本体(本実施形態では、カード基材52)と、を備える。
これにより、ICカード11では、セキュリティを向上させることができる。
【0092】
(第2の実施形態)
図9は、実施形態の通信システム501を示す図である。
通信システム501は、ICカード511と、端末512と、携帯装置514を備える。ICカード511と端末512とは、通信路513を介して通信する。
ここで、本実施形態の通信システム501は、
図1に示される通信システム1と比べて、ICカード511ではなく、端末512が仮PINの認証処理を行う点が相違しており、他の点は同様である。
以下では、本実施形態の通信システム501について、
図1に示される通信システム1とは相違する点について詳しく説明する。
【0093】
端末512は、入力部611と、出力部612と、記憶部613と、通信部614と、処理部615を備える。処理部615は、仮PIN情報取得部631と、マスターPIN情報取得部632と、判定部633と、マスターPIN情報送信制御部634を備える。
【0094】
入力部611は、外部から情報を入力する。本実施形態では、入力部611は、ユーザにより操作される操作部を有しており、当該操作部が操作された内容を表す情報を入力する。
出力部612は、外部に情報を出力する。本実施形態では、出力部612は、画面を有しており、当該画面に情報を表示出力する。
記憶部613は、情報を記憶する。
通信部614は、ICカード511との間で通信を行う。本実施形態では、接触方式の通信が用いられてもよく、あるいは、非接触方式の通信が用いられてもよい。
【0095】
処理部615は、各種の処理を実行する。
仮PIN情報取得部631は、ユーザによる操作によって入力された仮PINの値を取得する。
マスターPIN情報取得部632は、自己(端末512)に対して設置されたICカード511に記憶されたマスターPINの値を、当該ICカード511から通信部614により受信して取得する。ICカード511は、当該マスターPINの値を端末512に送信する。
【0096】
また、マスターPIN情報取得部632は、所定の情報(個人情報など)を取得する。
一例として、マスターPIN情報取得部632は、当該所定の情報を、ICカード511から通信部614により受信して取得してもよい。この場合、ICカード511は、当該所定の情報を端末512に送信する。
他の例として、マスターPIN情報取得部632は、当該所定の情報を、ユーザによる操作に基づいて取得してもよい。この場合、ユーザは、端末512を操作して、当該所定の情報を端末512に入力する。
【0097】
ここで、マスターPINの値(および、必要であれば、その他の情報)は、例えば、端末512がICカード511に対して要求することに応じて当該ICカード511により端末512へ送信されてもよく、または、端末512に設置されたICカード511により自発的に端末512へ送信されてもよい。
【0098】
判定部633は、仮PIN情報取得部631により取得された仮PINの値と、マスターPIN情報取得部632により取得されたマスターPINの値(および所定の情報)とに基づいて、当該仮PINの値を変換して得られる座標値が当該マスターPINの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。ここで、このような判定の手法としては、例えば、
図4に示されるICカード511で行われる判定の手法と同様な手法が用いられてもよい。
なお、本実施形態では、ICカード511は、1個のマスターPINの値を記憶しており、当該マスターPINの値を端末512へ送信する。本実施形態では、ICカード511は、仮PINの値に基づく認証処理を行う機能を備えなくてもよい。
【0099】
マスターPIN情報送信制御部634は、判定部633により認証が成功した場合には、ICカード511から受信されたマスターPINの値を通信部614により当該ICカード511へ送信する制御を行う。一方、マスターPIN情報送信制御部634は、判定部633により認証が失敗した場合には、その旨を示す信号を通信部614によりICカード511へ送信する制御、または、ICカード511へ返信しない制御を行う。
【0100】
ここで、ICカード511は、端末512から自己(当該端末512)のマスターPINの値が入力された場合には、認証が成功したとして、所定の取引の処理を実行する。一方、ICカード511は、端末512から自己(当該端末512)のマスターPINの値が入力されなかった場合には、認証が失敗したとして、所定の取引の処理を実行することを禁止する。
【0101】
なお、ICカード511では、例えば、端末512に仮PINの値が入力されて認証が成功したか、あるいは、端末512にマスターPINの値が入力されて認証が成功したかに基づいて、それぞれについて実行可能な処理の権限を異ならせてもよい。端末512に仮PINの値が入力されて認証が成功したか、あるいは、端末512にマスターPINの値が入力されて認証が成功したかは、例えば、ICカード511により識別されてもよく、または、端末512により識別されて、その識別の結果がICカード511に通知されてもよい。
【0102】
一例として、端末512では、ユーザによりマスターPINの値が入力された場合には、入力されたマスターPINの値をICカード511に送信する。そして、ICカード511では、端末512からマスターPINの値が受信された場合には、自己(当該ICカード511)により認証処理を行い、端末512にマスターPINの値が入力されて認証を行ったことを判定してもよい。
他の例として、端末512では、判定部633は、仮PINの情報に基づいて認証の判定を行う機能とともに、マスターPINの情報に基づいて認証の判定を行う機能を有してもよい。この場合、端末512では、判定部633などにより、端末512にマスターPINの値が入力されて認証を行ったことを示す情報をICカード511に通知(送信)してもよい。
なお、端末512では、例えば、仮PINの情報に基づいて認証の判定を行うモードと、マスターPINの情報に基づいて認証の判定を行うモードとが、ユーザによる操作などにより、選択可能であってもよい。
【0103】
図10は、実施形態の端末512において行われる処理の手順の一例を示すフローチャートである。
ユーザは、自己のICカード511を端末512と通信可能な位置に設置して、携帯装置514により表示出力された使用する仮PINの値を端末512に打ち込む。
【0104】
(ステップS41)
端末512では、通信部614によりICカード511との間で通信を開始する。
端末512では、初期の認証処理において、仮PIN情報取得部631により、ユーザから入力された仮PINの値を取得する。
【0105】
(ステップS42)
端末512では、マスターPIN情報取得部632により、ICカード511に記憶されたマスターPINの値を取得する。また、端末512では、マスターPIN情報取得部632により、所定の情報(個人情報など)を取得する。
【0106】
(ステップS43)
端末512では、判定部633により、取得された仮PINの値と取得されたマスターPINの値(および所定の情報)に基づいて、当該仮PINの値を変換して得られる座標値が当該マスターPINの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。この結果、端末512では、判定部633により認証が成功した(正常に認証した)と判定した場合には(ステップS43:正常認証)、ステップS44の処理へ移行する。一方、端末512では、判定部633により認証が失敗した(異常である)と判定した場合には(ステップS43:異常)、本フローの処理が終了する。
【0107】
(ステップS44)
端末512では、判定部633により正常に認証したと判定した場合には、マスターPIN情報送信制御部634により、ICカード511から取得されたマスターPINの値を通信部614により当該ICカード511へ送信する制御を行う。そして、本フローの処理が終了する。
【0108】
ここで、端末512では、例えば、少なくとも、マスターPIN情報取得部632によりマスターPINの値を取得してから当該マスターPINの値をICカード511へ送信するまでの間、当該マスターPINの値を記憶部613に記憶する。端末512では、例えば、当該マスターPINの値をICカード511へ送信した後に、すぐに当該マスターPINの値を記憶部613から破棄(消去)することが、情報漏洩のリスクを低減するという点で、好ましいと考えられる。
【0109】
上記実施形態によれば、端末512において、情報を入力する入力部611と、ICカード511と通信する通信部614と、入力部611により入力された情報が、通信部614によりICカード511から受信された第1の情報(本実施形態では、マスターPINの値)に基づいて生成される第2の情報(本実施形態では、仮PINの値)に合致するか否かに基づいて、認証の可否を判定する判定部633と、判定部633により認証が可である(つまり、認証が成功した)と判定された場合に、通信部614により第1の情報をICカード511に送信する送信制御部(本実施形態では、マスターPIN情報送信制御部634)と、を備える。
これにより、端末512では、ICカード511のセキュリティ向上に役立ち、ICカード511のセキュリティを向上させることができる。
【0110】
以上説明した少なくともひとつの実施形態によれば、ICカードについて設定された第1の情報に基づいて生成される第2の情報を用いて、当該ICカードの認証の可否を判定することにより、ICカードのセキュリティを向上させることができる。
【0111】
ここで、以上の実施形態では、携帯可能電子装置の一例として、ICカードが使用されるものとした。これに関し、他の構成例として、ICカードの代わりに、ICタグ、ICを内蔵したパスポート、ICを内蔵した免許証など、携帯することが可能な電子装置である様々なものが、携帯可能電子装置として使用されてもよい。
また、一構成例として、携帯可能電子装置と携帯装置とが共通の装置であってもよい。
【0112】
以上の実施形態に関し、以下のように表現される構成とすることもできる。
コンタクト部またはアンテナを介して端末と通信する通信部と、
第1の情報を記憶する記憶部と、
前記記憶部に記憶された前記第1の情報を関数へ変換し、前記通信部により前記端末から受信された情報が、前記関数を満たす第2の情報に合致する場合には、認証が可であると判定し、前記通信部により前記端末から受信された情報が、前記関数を満たす第2の情報に合致しない場合には、認証が不可であると判定する判定部と、
を備える携帯可能電子装置。
【0113】
以上に示した実施形態に係る各装置(例えば、ICカード11、511、端末12、512、携帯装置14、514)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行うことができる。
なお、ここでいう「コンピュータシステム」とは、オペレーティングシステム(OS)あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0114】
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバあるいはクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
このように、各機能部は、ソフトウェア機能部であってもよく、または、LSI等のハードウェア機能部であってもよい。
【0115】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。