(57)【要約】【課題】ＩＣカードなどの携帯可能電子装置のセキュリティを向上させることができる携帯可能電子装置、プログラム、処理システム、端末およびＩＣカードを提供することである。【解決手段】実施形態の携帯可能電子装置は、通信部と、記憶部と、判定部とを持つ。前記通信部は、端末と通信する。前記記憶部は、第１の情報を記憶する。前記判定部は、前記通信部により前記端末から受信された情報が、前記記憶部に記憶された前記第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定する。【選択図】図１
2018101218.tif 000002
【特許請求の範囲】
【請求項１】
端末と通信する通信部と、
第１の情報を記憶する記憶部と、
前記通信部により前記端末から受信された情報が、前記記憶部に記憶された前記第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定する判定部と、
を備える携帯可能電子装置。
【請求項２】
前記第１の情報に基づいて複数の前記第２の情報が生成可能であり、
前記判定部は、複数の前記第２の情報のうちで認証に使用された情報と同じ情報について所定の回数認証に使用されることを禁止する、
請求項１に記載の携帯可能電子装置。
【請求項３】
携帯可能電子装置について設定された第１の情報を入力するステップと、
入力された前記第１の情報に基づいて、前記携帯可能電子装置の認証に使用される第２の情報を生成するステップと、
生成された前記第２の情報を出力するステップと、
をコンピュータに実行させるためのプログラム。
【請求項４】
前記第１の情報に基づいて複数の前記第２の情報が生成可能であり、
生成された複数の前記第２の情報のなかから使用対象とする１個以上の前記第２の情報の選択を入力するステップと、
選択された前記第２の情報のなかから１個の前記第２の情報の指定を入力するステップと、
選択された前記第２の情報のなかから指定された前記第２の情報を削除するステップと、
をさらに前記コンピュータに実行させるための請求項３に記載のプログラム。
【請求項５】
携帯可能電子装置と、携帯装置と、を有し、
前記携帯可能電子装置は、端末から受信された情報が、記憶部に記憶された第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定し、
前記携帯装置は、前記第１の情報を入力し、入力された前記第１の情報に基づいて、前記携帯可能電子装置の認証に使用される第２の情報を生成し、生成された前記第２の情報を出力する、
処理システム。
【請求項６】
情報を入力する入力部と、
携帯可能電子装置と通信する通信部と、
前記入力部により入力された前記情報が、前記通信部により前記携帯可能電子装置から受信された第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定する判定部と、
前記判定部により認証が可であると判定された場合に、前記通信部により前記第１の情報を前記携帯可能電子装置に送信する送信制御部と、
を備える端末。
【請求項７】
端末と通信する通信部と、
第１の情報を記憶する記憶部と、
前記通信部により前記端末から受信された情報が、前記記憶部に記憶された前記第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定する判定部と、
を備えるＩＣモジュールと、
前記ＩＣモジュールが埋め込まれたカード本体と、
を備えるＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、プログラム、処理システム、端末およびＩＣカードに関する。
【背景技術】
【０００２】
セキュリティ攻撃の一つとして、反射攻撃（リプレイアタック）と呼ばれる攻撃が知られている。反射攻撃は、主にネットワークへの不正侵入に用いられており、ユーザの暗号鍵あるいはパスワードなどの値を盗聴し、盗聴した値をそのまま再利用することで当該ユーザになりすます攻撃である。
【０００３】
従来、反射攻撃はネットワークへの不正アクセスを目的とした攻撃であったが、近年では、反射攻撃の対象はＩＣ（Integrated Circuit）カードにも広がっている。例えば、クレジットカードなどのＩＣカードの保持者がＡＴＭ（Automatic Teller Machine）あるいは自動販売機などを利用する時に、覗き見あるいはＰＩＮ（Personal Identification Number）パッドの不正改造により当該ＩＣカードのＰＩＮを不正に盗み出し、その後に当該ＩＣカードをひったくりなどによって財布あるいは鞄ごと盗むという事例が挙げられる。
【０００４】
反射攻撃に対する単純な対策として、例えば、認証に利用することが可能なＰＩＮを２個に増やし、認証ごとに２個のＰＩＮを交互に入力する手法が考えられる。この手法では、ユーザは、前回に利用したＰＩＮを記憶する必要がある。仮に、ユーザが前回に利用したＰＩＮを間違えて今回も入力してしまった場合、攻撃者は２個のＰＩＮを盗み出すことが可能である。
【０００５】
また、ネットワークを対象とした反射攻撃に対する有効な対策として、時刻同期型のワンタイムパスワードを用いる手法が知られている。この手法は、ユーザにより入力するパスワードを認証ごとに変化させて、同じパスワードを再度利用しないことで反射攻撃などを防止する手法の一つである。時刻同期型のワンタイムパスワードを用いる手法では、現在の時刻に応じた「種」をベースとしてワンタイムパスワードを生成する。この手法では、一般的には、ユーザと認証サーバとで時刻同期を取るために、ユーザに専用端末が配布されることが多い。
しかしながら、時刻同期型のワンタイムパスワードを用いる手法では、ＩＣカードを対象とした反射攻撃に対しては、必ずしも有効な対策とは言えない。この理由は、例えば、ひったくりなどによって鞄を盗むことで、ＩＣカードと時刻同期のための専用端末とを同時に盗むことが可能であるためである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２８５６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、ＩＣカードなどの携帯可能電子装置のセキュリティを向上させることができる携帯可能電子装置、プログラム、処理システム、端末およびＩＣカードを提供することである。
【課題を解決するための手段】
【０００８】
実施形態の携帯可能電子装置は、通信部と、記憶部と、判定部とを持つ。前記通信部は、端末と通信する。前記記憶部は、第１の情報を記憶する。前記判定部は、前記通信部により前記端末から受信された情報が、前記記憶部に記憶された前記第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定する。
【図面の簡単な説明】
【０００９】
【図１】実施形態の通信システムを示す図。
【図２】実施形態のＩＣカードの一例を示す外観図。
【図３】実施形態の携帯装置を示す図。
【図４】実施形態のＩＣカードを示す図。
【図５】実施形態の変換テーブルの概略を示す図。
【図６】実施形態の携帯装置において行われる処理の手順の一例を示すフローチャート。
【図７】実施形態のＩＣカードにおいて行われる処理の手順の一例を示すフローチャート。
【図８】実施形態の通信システムにおいて行われる携帯装置、ユーザ、端末、およびＩＣカードの動作の一例を示す図。
【図９】実施形態の通信システムを示す図。
【図１０】実施形態の端末において行われる処理の手順の一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、実施形態の携帯可能電子装置、プログラム、処理システム、端末およびＩＣカードを、図面を参照して説明する。
【００１１】
（第１の実施形態）
図１は、実施形態の通信システム１を示す図である。
通信システム１は、ＩＣカード１１と、端末１２と、スマートホンなどの携帯装置１４を備える。通信システム１は、ＩＣカード１１と携帯装置１４を有するシステム（処理システム）を含んでいる。
ＩＣカード１１と端末１２は、有線または無線の通信路１３を介して、通信する。ＩＣカード１１は、外部の端末１２からの指示（コマンド）を解釈して当該指示に応じた処理を実行し、その結果を端末１２に応答する。
ＩＣカード１１は、当該ＩＣカード１１の内部に埋設された１個のＩＣチップを備える
一例として、ＩＣカード１１は、端末１２から送信されるコマンドに対する応答（レスポンス）を行う構成となっている。あるいは、他の例として、ＩＣカード１１は、端末１２から送信されるコマンドに対する応答以外の動作を行う構成となっている。
【００１２】
ここで、ＩＣカード１１と端末１２との通信の方式としては、接触方式または非接触方式のいずれが用いられてもよい。
接触方式では、端末１２とＩＣカード１１のそれぞれに金属の接触点（コンタクト部）が設けられて、端末１２の接触点とＩＣカード１１の接触点とが接触させられた状態で、端末１２とＩＣカード１１とが通信する。この場合、これらの接触点により接続される端末１２とＩＣカード１１とをつなぐ導電性の経路（有線の経路）が、通信路１３となる。
非接触方式では、端末１２とＩＣカード１１のそれぞれにループアンテナなどのアンテナが設けられて、端末１２のアンテナとＩＣカード１１のアンテナとの間での電磁誘導により、端末１２とＩＣカード１１とが通信する。この場合、電磁誘導が行われる空中の経路（無線の経路）が、通信路１３となる。
【００１３】
端末１２は、ＩＣカード１１の内部に記憶された情報を読み出すことおよび書き換えることなどを行うために、特定のプロトコルにしたがって、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）コマンドをＩＣカード１１に送信する。ＩＣカード１１は、例えばＵＡＲＴを介して端末１２から受信したコマンドを受信用バッファに保持し、その後、受信用バッファに保持したコマンドを解釈し、コマンドに応じた処理を実行する。
また、ＩＣカード１１が電源を備える構成が用いられてもよく、または、ＩＣカード１１が電源を備えずに、端末１２からＩＣカード１１へ接触方式または非接触方式で電力を供給する構成が用いられてもよい。
【００１４】
ＩＣカード１１は、ハードウェアの構成の一例として、プログラムなどを記憶するＲＯＭ（Read Only Memory）３１と、データを一時的に保持するＲＡＭ（Random Access Memory）３２と、記憶内容が書き換え可能な不揮発性記憶装置（ＮＶＭ：Non-Volatile Memory）であるＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）３３と、端末１２との通信を行うＵＡＲＴ３４と、ＣＰＵ（Central Processing Unit）３５と、コプロセッサ（Co-processor）３６と、これらを相互に接続するシステムバス３７を備える。
【００１５】
一例として、ＲＡＭ３２に、端末１２から送信されたコマンドの情報を保持しておく受信用バッファ、端末１２に対して送信するコマンドの情報を保持しておく送信用バッファ、および各種の作業を行うときに情報を保持しておく作業用バッファが設けられる。
ここで、本実施形態では、ＩＣカード１１に、ＣＰＵ３５を補助するために特定の処理（例えば、データを暗号化する処理および暗号化データを復号化する処理）を実行するコプロセッサ３６を備える。他の構成例として、ＩＣカード１１にコプロセッサ３６を備えずに、すべての処理をＣＰＵ３５により実行してもよい。
【００１６】
図２は、実施形態のＩＣカード１１の一例を示す外観図である。
図２に示されるように、ＩＣカード１１は、ＩＣモジュール５１を備える。ＩＣモジュール５１は、コンタクト部６１を備え、内部にＩＣチップ６２を備える。ＩＣカード１１は、例えば、プラスチックのカード基材５２（カード本体の一例）に、ＩＣモジュール５１を実装して形成されている。このように、ＩＣカード１１は、ＩＣモジュール５１と、ＩＣモジュール５１が埋め込まれたカード基材５２を備える。また、ＩＣカード１１は、コンタクト部６１を介して外部装置である端末１２と通信することが可能である。
【００１７】
ＩＣカード１１は、例えば、端末１２が送信したコマンド（処理要求）を、コンタクト部６１を介して受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１１は、コマンド処理の実行結果であるレスポンス（処理応答）をコンタクト部６１を介して端末１２に送信する。
ここで、端末１２は、ＩＣカード１１と通信する上位装置であり、例えば、リーダライタの端末である。
【００１８】
ＩＣモジュール５１は、コンタクト部６１と、ＩＣチップ６２を備え、例えば、テープ上にＩＣモジュール５１が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。
コンタクト部６１は、ＩＣカード１１が動作するために必要な各種信号の端子を有する。ここで、各種信号の端子は、例えば、電源電圧、クロック信号、リセット信号などの供給を端末１２から受ける端子、および、端末１２と通信するためのシリアルデータ入出力端子（ＳＩＯ端子）を有する。端末１２から供給を受ける端子には、電源端子（ＶＤＤ端子、ＧＮＤ端子）、クロック信号端子（ＣＬＫ端子）、およびリセット信号端子（ＲＳＴ端子）が含まれる。
ＩＣチップ６２は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large Scale Integration）である。
【００１９】
なお、図２では、コンタクト部６１を用いて接触方式で端末１２と通信するＩＣカード１１の外観を示した。他の構成例として、接触方式の通信機能および非接触方式の通信機能を有するＩＣカード１１では、図２の構成にさらに、非接触方式の通信を行うためのアンテナ（および、必要な場合には、その他の必要な回路）を備える。また、他の構成例として、接触方式の通信機能を有しておらず非接触方式の通信機能を有するＩＣカード１１では、コンタクト部６１の代わりに、非接触方式の通信を行うためのアンテナ（および、必要な場合には、その他の必要な回路）を備える。
【００２０】
本実施形態の通信システム１においてＩＣカード１１の利用時に行われる認証の方法について説明する。
本実施形態の通信システム１では、（ｋ，ｎ）閾値秘密分散法を応用して、擬似的なワンタイムパスワードを生成し、生成された擬似的なワンタイムパスワードを認証に使用する。
【００２１】
ここで、秘密分散法とは、秘密情報を複数に分散する手法であり、分散された情報からあらかじめ定められた個数が集まれば元の秘密情報に戻すことができる。秘密分散法は、情報を単純に暗号化する手法と比べると、定められた個数未満であれば分散された情報が漏洩しても秘密情報そのものが漏洩することがないため、可用性と機密性を両立することができる技術である。
また、Ｓｈａｍｉｒにより提唱された（ｋ，ｎ）閾値秘密分散法は、「ｋ次曲線の式は、曲線を通るｋ個の点の座標が分からないと求めることができない」という数学的根拠をベースとした手法である。この手法では、ｋ次曲線の式ｆ（ｘ）を秘密情報ｓとして用意し、また、この曲線上にあるｎ個の座標を分散情報として用意する。このとき、ｎ個の分散情報のうち、ｋ個の分散情報を集めない限り秘密情報ｓを復元することができない。なお、ｋおよびｎは、それぞれ、２以上の数であり、かつ、ｋ＞ｎの関係がある。また、ｓは情報を表す。また、ｆ（ｘ）はｘを変数とする式（関数）を表す。
【００２２】
ここで、本実施形態の通信システム１では、認証用情報のマスターとなるＰＩＮ（以下、「マスターＰＩＮ」ともいう。）と、マスターＰＩＮに基づいて生成される認証用情報であるＰＩＮ（以下、「仮ＰＩＮ」ともいう。）が使用される。本実施形態では、仮ＰＩＮは、疑似的なワンタイムパスワードとして使用される。
本実施形態では、それぞれのＩＣカード１１ごとに、ユーザと認証システム(本実施形態では、当該ＩＣカード１１)との間で、１個のマスターＰＩＮが共有されている。
また、マスターＰＩＮの値と所定の情報からｋ次曲線の式ｆ（ｘ）へ変換する手法が一般公開されている。当該所定の情報としては、例えば、ＩＣカード１１に記載のない個人情報が用いられる。当該個人情報は、クレジットカードの場合には、例えば、ユーザの誕生日などの情報である。
【００２３】
仮に、マスターＰＩＮの値を入力に利用して他の情報を利用しない場合、式ｆ（ｘ）の候補の数はマスターＰＩＮの取り得る数に限定される。このため、例えば、４桁のマスターＰＩＮが利用される場合、式ｆ（ｘ）の候補の数は１万通りとなる。
マスターＰＩＮから式ｆ（ｘ）へ変換する手法としては、例えば、マスターＰＩＮから式ｆ（ｘ）へ変換する変換式を用いる手法が使用されてもよく、あるいは、マスターＰＩＮから式ｆ（ｘ）へ変換する変換テーブルを参照する手法が使用されてもよい。
また、式ｆ（ｘ）上の有理点から擬似的なワンタイムパスワード(本実施形態では、仮ＰＩＮ)へ可逆的に変換することができる手法が一般公開されている。
【００２４】
本実施形態の通信システム１では、１個のマスターＰＩＮから生成される複数の仮ＰＩＮを、ＩＣカード１１の利用時における認証に使用する。なお、本実施形態では、マスターＰＩＮについても当該認証に使用することが可能な構成とするが、他の構成例として、マスターＰＩＮについては当該認証に使用されない構成とすることも可能である。
本実施形態では、認証のための入力で一度使用された仮ＰＩＮについては、その後に所定の回数だけ正常な認証が完了するまでは、再度使用することができない構成としてある。当該所定の回数は、任意の回数であってもよく、例えば、少なくともＰＩＮトライカウンタ（ＰＩＮ  Ｔｒｙ  Ｃｏｕｎｔｅｒ）に設定された回数以上とされる。ここで、ＰＩＮトライカウンタに設定された回数は、ＰＩＮの入力を試行することが可能な最大の回数である。ＰＩＮトライカウンタに設定される回数は、例えば、ｋより小さい値とされる。
【００２５】
本実施形態の通信システム１では、ユーザは、携帯装置１４のアプリケーション（プログラム）を用いて当該アプリケーションによって仮ＰＩＮを計算させて取得する。そして、ユーザは、取得された仮ＰＩＮをＩＣカード１１の利用端末（端末１２）において入力することで、当該ユーザの認証処理（本人確認処理）をＩＣカード１１に実行させる。
ここで、本実施形態では、ローカル環境である携帯装置１４のアプリケーションが、仮ＰＩＮの計算を行い、過去に使用された仮ＰＩＮのログを管理する。他の構成例として、ユーザが、マスターＰＩＮから仮ＰＩＮを手動で計算して、過去に使用された仮ＰＩＮのログを管理してもよい。
【００２６】
このように、本実施形態の通信システム１では、秘密分散法を応用した手法により、マスターＰＩＮの情報（秘密情報）に基づいて分散情報を算出し、算出された分散情報を擬似的なワンタイムパスワード（本実施形態では、仮ＰＩＮ）として、マスターＰＩＮの代わりに使用することを可能とする。そして、本実施形態の通信システム１では、ユーザから端末１２に擬似的なワンタイムパスワードが入力された場合に、ＩＣカード１１において当該擬似的なワンタイムパスワードが秘密情報から算出されたものであるか否かを判定する。
ここで、１個のマスターＰＩＮに対して擬似的なワンタイムパスワードとして許容される値は複数存在するが、秘密分散法の性質上、事前に設定された数以上の擬似的なワンタイムパスワードが漏洩しない限り、マスターＰＩＮの値は漏洩しない。本実施形態の通信システム１では、この性質を利用して、一度入力された擬似的なワンタイムパスワードについては一定回数だけ再使用できないように設定することが可能である。この場合、当該擬似的なワンタイムパスワードは、一定回数のパスワードの盗み出しに耐えられる仕組みを持つ。
また、本実施形態の通信システム１では、使用することが可能な複数の疑似的なワンタイムパスワードをユーザに提示して、そのなかから、使用対象とする（将来的に使用する候補とする）１個以上の疑似的なワンタイムパスワードをユーザにより選択することを可能とする。さらに、本実施形態の通信システム１では、選択された１個以上の疑似的なワンタイムパスワードの候補のなかから、使用する１個の疑似的なワンタイムパスワードをユーザにより指定することを可能とする。
【００２７】
図３は、実施形態の携帯装置１４を示す図である。
本実施形態では、携帯装置１４はスマートホンであるが、他の携帯可能な装置が用いられてもよい。
携帯装置１４は、入力部１１１と、出力部１１２と、記憶部１１３と、処理部１１４を備える。処理部１１４は、マスターＰＩＮ情報取得部１３１と、仮ＰＩＮ情報生成部１３２と、仮ＰＩＮ情報出力制御部１３３を備える。
【００２８】
入力部１１１は、外部から情報を入力する。本実施形態では、入力部１１１は、ユーザにより操作される操作部を有しており、当該操作部が操作された内容を表す情報を入力する。
出力部１１２は、外部に情報を出力する。本実施形態では、出力部１１２は、画面を有しており、当該画面に情報を表示出力する。
記憶部１１３は、情報を記憶する。
【００２９】
処理部１１４は、各種の処理を実行する。
マスターＰＩＮ情報取得部１３１は、入力部１１１の操作部がユーザにより操作されて入力された情報に基づいて、マスターＰＩＮの情報（マスターＰＩＮの値）を取得する。また、マスターＰＩＮ情報取得部１３１は、入力部１１１の操作部がユーザにより操作されて入力された情報に基づいて、または、記憶部１１３に記憶された情報に基づいて、または、他の手法により、所定の情報（個人情報など）を取得する。
仮ＰＩＮ情報生成部１３２は、マスターＰＩＮ情報取得部１３１により取得されたマスターＰＩＮの情報および所定の情報に基づいて、仮ＰＩＮの情報（仮ＰＩＮの値）を生成する。
仮ＰＩＮ情報出力制御部１３３は、仮ＰＩＮ情報生成部１３２により生成された仮ＰＩＮの値を出力部１１２により出力する制御を行う。
【００３０】
ここで、仮ＰＩＮ情報生成部１３２は、例えば、所定の変換式または所定の変換テーブルを用いて、マスターＰＩＮの情報（および所定の情報）から関数ｆ（ｘ）の情報へ変換する。そして、仮ＰＩＮ情報生成部１３２は、得られた関数ｆ（ｘ）に基づいて、有理点から仮ＰＩＮを計算することで、仮ＰＩＮの情報を生成する。
この場合、所定の変換式または所定の変換テーブルの情報が、記憶部１１３に記憶される構成が用いられてもよい。あるいは、所定の変換式または所定の変換テーブルの情報が、インターネットなどを介して一般公開されている情報に基づいて仮ＰＩＮ情報生成部１３２により取得される構成が用いられてもよい。
また、仮ＰＩＮ情報生成部１３２は、ユーザにより選択された仮ＰＩＮの候補を管理し、また、仮ＰＩＮの候補のなかからユーザにより指定された使用される仮ＰＩＮを管理する。そして、仮ＰＩＮ情報生成部１３２は、ユーザにより過去に使用された仮ＰＩＮのログを管理する。仮ＰＩＮ情報生成部１３２は、当該ログを記憶部１１３に記憶して管理する。
【００３１】
なお、マスターＰＩＮの情報（および所定の情報）と関数ｆ（ｘ）との対応関係は、例えば、ＩＣカード１１のブランドごとに定められてもよい。この場合、携帯装置１４のアプリケーションとしては、例えば、１個のブランドごとに対応したアプリケーション（ブランドごとのアプリケーション）が用いられてもよく、あるいは、２個以上のブランドのそれぞれに対応したアプリケーション（共通のアプリケーション）が用いられてもよい。携帯装置１４では、２個以上のブランドのそれぞれに対応したアプリケーションが用いられる場合、仮ＰＩＮ情報生成部１３２は、ユーザによる操作に応じて、処理の対象とするブランドを切り替える。
【００３２】
なお、本実施形態の携帯装置１４では、マスターＰＩＮの情報および所定の情報（個人情報など）の組み合わせと関数ｆ（ｘ）とが対応する構成例を説明するが、他の構成例として、マスターＰＩＮの情報と関数ｆ（ｘ）とが対応する構成例が用いられてもよく、この場合、所定の情報（個人情報など）は用いられなくてもよい。あるいは、当該所定の情報が、例えば固定の情報として、携帯装置１４の記憶部１１３に設定されてもよい。
【００３３】
本実施形態では、所定のアプリケーション（プログラム）によって実現される機能により、マスターＰＩＮ情報取得部１３１と、仮ＰＩＮ情報生成部１３２と、仮ＰＩＮ情報出力制御部１３３の機能が構成されている。当該アプリケーション（当該プログラム）は、記憶部１１３に記憶されている。処理部１１４は、ＣＰＵを用いて構成されており、当該ＣＰＵが当該アプリケーション（当該プログラム）を実行する。
【００３４】
図４は、実施形態のＩＣカード１１を示す図である。
ＩＣカード１１は、通信部２１１と、記憶部２１２と、処理部２１３を備える。処理部２１３は、仮ＰＩＮ情報取得部２３１と、マスターＰＩＮ情報取得部２３２と、判定部２３３と、取引処理部２３４を備える。
【００３５】
通信部２１１は、端末１２との間で通信を行う。本実施形態では、接触方式の通信が用いられてもよく、あるいは、非接触方式の通信が用いられてもよい。
記憶部２１２は、情報を記憶する。本実施形態では、記憶部２１２は、自己（ＩＣカード１１）に割り当てられた１個のマスターＰＩＮの情報（マスターＰＩＮの値）を記憶する。
【００３６】
処理部２１３は、各種の処理を実行する。
仮ＰＩＮ情報取得部２３１は、通信部２１１によって端末１２から受信された仮ＰＩＮの情報を取得する。端末１２は、ＩＣカード１１の利用時における認証処理において、ユーザから受け付けられた仮ＰＩＮの情報をＩＣカード１１に送信する。
マスターＰＩＮ情報取得部２３２は、マスターＰＩＮの情報を取得する。本実施形態では、マスターＰＩＮ情報取得部２３２は、記憶部２１２に記憶された自己（ＩＣカード１１）のマスターＰＩＮの情報を取得する。また、マスターＰＩＮ情報取得部２３２は、記憶部２１２に記憶された情報に基づいて、または、ユーザにより端末１２に入力されて当該端末１２から受信された情報に基づいて、または、他の手法により、所定の情報（個人情報など）を取得する。
【００３７】
判定部２３３は、仮ＰＩＮ情報取得部２３１により取得された仮ＰＩＮの情報と、マスターＰＩＮ情報取得部２３２により取得されたマスターＰＩＮの情報に関して、合致の判定を行う。本実施形態では、判定部２３３は、例えば、所定の変換式または所定の変換テーブルを用いて、マスターＰＩＮの情報（および所定の情報）から関数ｆ（ｘ）の情報へ変換する。そして、判定部２３３は、得られた関数ｆ（ｘ）に対して、仮ＰＩＮ情報取得部２３１により取得された仮ＰＩＮの情報に応じた有理点が当該関数ｆ（ｘ）の上に存在するか否かを判定し、存在する場合には認証が成功した（正常に認証した）と判定し、一方、存在しない場合には認証が失敗した（異常である）と判定する。つまり、判定部２３３は、当該仮ＰＩＮの値を変換して得られる座標値が当該マスターＰＩＮの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。
なお、ＩＣカード１１では、例えば、所定の変換式または所定の変換テーブルの情報が、記憶部２１２に記憶される構成が用いられてもよい。あるいは、ＩＣカード１１では、所定の変換式または所定の変換テーブルの情報が、インターネットなどを介して一般公開されている情報に基づいて判定部２３３により取得される構成が用いられてもよい。
【００３８】
なお、本実施形態のＩＣカード１１では、マスターＰＩＮの情報および所定の情報（個人情報など）の組み合わせと関数ｆ（ｘ）とが対応する構成例を説明するが、他の構成例として、マスターＰＩＮの情報と関数ｆ（ｘ）とが対応する構成例が用いられてもよく、この場合、所定の情報（個人情報など）は用いられなくてもよい。あるいは、当該所定の情報が、例えば固定の情報として、ＩＣカード１１の記憶部２１２に設定されてもよい。
【００３９】
ここで、マスターＰＩＮの情報（および所定の情報）に対応する関数ｆ（ｘ）は、携帯装置１４とＩＣカード１１とで、共通の関数が用いられる。
また、判定部２３３は、既にユーザにより使用されて認証が成功した仮ＰＩＮの値を記憶部２１２に記憶してもよい。そして、判定部２３３は、既に使用された仮ＰＩＮの値については、その後に他の仮ＰＩＮによって所定の回数の認証が成功するまでは、認証に使用することができない状態（つまり、認証に使用することを禁止する状態）としてもよい。
このように、一度入力された仮ＰＩＮの値については、その後に、少なくとも所定の回数だけ、再使用できない構成とされてもよい。当該所定の回数は、例えば、あらかじめ設定されてもよく、あるいは、ユーザにより設定することが可能であってもよい。
【００４０】
取引処理部２３４は、判定部２３３により認証が成功した場合、通信部２１１によってＩＣカード１１と通信することで、所定の取引に係る処理を実行する。当該所定の取引は、任意の取引であってもよく、例えば、クレジットカードなどの金融取引であってもよい。
一方、取引処理部２３４は、判定部２３３により認証が失敗した場合には、ＩＣカード１１との間で、所定の取引の処理を実行することを禁止する。
【００４１】
なお、図４に示される構成と図１に示される構成との対応の一例を示す。
すなわち、本実施形態のＩＣカード１１では、ＲＯＭ３１とＲＡＭ３２とＥＥＰＲＯＭ３３の機能により、プログラムおよび各種のデータを記憶する領域を有する記憶部２１２が構成されている。また、ＵＡＲＴ３４の機能により、通信を行う通信部２１１が構成されている。また、ＣＰＵ３５の機能およびコプロセッサ３６の機能（他の構成例として、コプロセッサ３６の機能が不要な場合には、ＣＰＵ３５の機能）により、各種の処理を実行する処理部２１３が構成されている。
【００４２】
図５は、実施形態の変換テーブル３１１の概略を示す図である。
変換テーブル３１１は、概略的には、マスターＰＩＮの情報と、関数ｆ（ｘ）の情報とを対応付けて格納する。なお、図５では図示を省略してあるが、関数ｆ（ｘ）は、例えば、所定の情報（個人情報など）にも依存し得る。
図５の例では、マスターＰＩＮの情報が「１２３４」である場合には、「関数ｆ（ｘ）＝ａｘ２＋ｂｘ＋ｃ（ａ、ｂ、ｃは、それぞれ、実数）」であることが格納されており、また、マスターＰＩＮの情報が「５６７８」である場合には、「関数ｆ（ｘ）＝ｄｘ２＋ｅｘ＋ｆ（ｄ、ｅ、ｆは、それぞれ、実数）」であることが格納されており、さらに他の対応関係も格納されている。
本実施形態では、携帯装置１４の仮ＰＩＮ情報生成部１３２と、ＩＣカード１１の判定部２３３と、のうちの一方または両方で、図５に示されるような変換テーブル３１１が用いられてもよい。
【００４３】
図６は、実施形態の携帯装置１４において行われる処理の手順の一例を示すフローチャートである。
【００４４】
（ステップＳ１）
まず、ユーザが、仮ＰＩＮの情報を取得するための所定のアプリケーションを起動させて、携帯装置１４の入力部１１１が有する操作部を操作して、マスターＰＩＮの値を打ち込む。携帯装置１４では、入力部１１１により、打ち込まれたマスターＰＩＮの値を入力し、マスターＰＩＮ情報取得部１３１により当該マスターＰＩＮの値を取得する。また、携帯装置１４では、マスターＰＩＮ情報取得部１３１により、所定の情報（個人情報など）を取得する。
【００４５】
（ステップＳ２）
携帯装置１４では、マスターＰＩＮ情報取得部１３１により取得されたマスターＰＩＮの値（および所定の情報）に基づいて、仮ＰＩＮ情報生成部１３２により、仮ＰＩＮの値を生成する。
【００４６】
（ステップＳ３）
携帯装置１４では、仮ＰＩＮ情報出力制御部１３３により、仮ＰＩＮ情報生成部１３２により生成された仮ＰＩＮの値を画面に表示出力する。
本実施形態では、携帯装置１４では、仮ＰＩＮ情報生成部１３２により２個以上の仮ＰＩＮの値を生成し、これら２個以上の仮ＰＩＮの値を仮ＰＩＮ情報出力制御部１３３により表示出力させる。ユーザは、携帯装置１４の入力部１１１が有する操作部を操作して、表示出力された２個以上の仮ＰＩＮの値のなかから、１個以上の仮ＰＩＮの値（例えば、２個以上の異なる仮ＰＩＮの値であり、以下も同様である。）を使用対象として選択する。
【００４７】
（ステップＳ４）
携帯装置１４では、入力部１１１により、ユーザにより１個以上の仮ＰＩＮの値が選択された情報（選択情報）を入力する。携帯装置１４では、仮ＰＩＮ情報生成部１３２により、当該選択情報を取得する。
【００４８】
（ステップＳ５）
携帯装置１４では、仮ＰＩＮ情報生成部１３２により、取得された選択情報に基づいて、選択された仮ＰＩＮの値に関する更新を行う。具体的には、携帯装置１４では、仮ＰＩＮ情報生成部１３２により、選択された仮ＰＩＮの値を仮ＰＩＮの候補として記憶（記憶情報として更新）する。
このとき、携帯装置１４では、仮ＰＩＮ情報出力制御部１３３により、ユーザにより選択された１個以上の仮ＰＩＮの値（候補）を画面に表示出力する。
【００４９】
（ステップＳ６）
ユーザは、携帯装置１４の入力部１１１が有する操作部を操作して、表示出力された１個以上の仮ＰＩＮの値（候補）のなかから、１個の仮ＰＩＮの値を使用する値として指定する。
携帯装置１４では、入力部１１１により、ユーザにより１個の仮ＰＩＮの値が指定された情報（指定情報）を入力する。携帯装置１４では、仮ＰＩＮ情報生成部１３２により、当該指定情報を取得する。
【００５０】
（ステップＳ７）
携帯装置１４では、仮ＰＩＮ情報生成部１３２により、取得された指定情報に基づいて、指定された仮ＰＩＮの値を、ユーザにより選択された１個以上の仮ＰＩＮの値（候補）から削除する。そして、本フローの処理が終了する。
【００５１】
ここで、本実施形態では、（ステップＳ４）〜（ステップＳ５）の処理においてユーザにより選択された１個以上の仮ＰＩＮの値を仮ＰＩＮの候補とし、その後、（ステップＳ６）〜（ステップＳ７）の処理において仮ＰＩＮの候補のなかから指定された仮ＰＩＮの値を当該候補から削除していく。最初に仮ＰＩＮの候補が生成された後、当該候補に含まれる仮ＰＩＮの値が無くなるまで、当該候補を利用することが可能である。すなわち、当該候補に含まれる仮ＰＩＮの値が無くなるまで、（ステップＳ６）〜（ステップＳ７）の処理が繰り返して行われてもよい。
【００５２】
この場合に、携帯装置１４では、（ステップＳ５）の処理の後に続けて（ステップＳ６）〜（ステップＳ７）の処理が行われてもよく、あるいは、（ステップＳ５）の処理の後に、いったんアプリケーションが終了させられて、その後に、再び当該アプリケーションが起動されて、（ステップＳ６）〜（ステップＳ７）の処理が行われてもよい。また、携帯装置１４では、例えば、（ステップＳ６）〜（ステップＳ７）の処理の後に、いったんアプリケーションが終了させられて、その後に、再び当該アプリケーションが起動されて、（ステップＳ６）〜（ステップＳ７）の処理が行われてもよい。
【００５３】
なお、本実施形態の携帯装置１４では、ユーザによる選択にしたがって仮ＰＩＮの候補を生成するが、他の構成例として、ユーザの意思ではなく、あらかじめ定められた規則またはランダムに、仮ＰＩＮの候補を（自動的に）生成してもよい。
また、他の構成例として、仮ＰＩＮの候補が生成されずに、最初から、使用される仮ＰＩＮの値がユーザにより指定されてもよい。
また、他の構成例として、ユーザの意思ではなく、携帯装置１４が、仮ＰＩＮ情報生成部１３２により、あらかじめ定められた規則またはランダムに、使用されるべき仮ＰＩＮの値を（自動的に）生成してもよい。
【００５４】
図７は、実施形態のＩＣカード１１において行われる処理の手順の一例を示すフローチャートである。
ユーザは、自己のＩＣカード１１を端末１２と通信可能な位置に設置して、携帯装置１４により表示出力された使用する仮ＰＩＮの値（指定した仮ＰＩＮの値）を端末１２に打ち込む。端末１２は、ユーザから入力された仮ＰＩＮの値をＩＣカード１１に送信する。
【００５５】
（ステップＳ２１）
ＩＣカード１１では、通信部２１１により端末１２との間で通信を開始する。そして、ＩＣカード１１では、初期の認証処理において、通信部２１１により端末１２から送信された仮ＰＩＮの値を受信し、仮ＰＩＮ情報取得部２３１により当該仮ＰＩＮの値を取得する。
（ステップＳ２２）
ＩＣカード１１では、マスターＰＩＮ情報取得部２３２により、記憶部２１２に記憶されたマスターＰＩＮの値を取得する。また、ＩＣカード１１では、マスターＰＩＮ情報取得部２３２により、所定の情報（個人情報など）を取得する。
【００５６】
（ステップＳ２３）
ＩＣカード１１では、判定部２３３により、取得された仮ＰＩＮの値と取得されたマスターＰＩＮの値（および所定の情報）に基づいて、当該仮ＰＩＮの値を変換して得られる座標値が当該マスターＰＩＮの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。この結果、ＩＣカード１１では、判定部２３３により認証が成功した（正常に認証した）と判定した場合には（ステップＳ２３：正常認証）、ステップＳ２４の処理へ移行する。一方、ＩＣカード１１では、判定部２３３により認証が失敗した（異常である）と判定した場合には（ステップＳ２３：異常）、本フローの処理が終了する。
【００５７】
（ステップＳ２４）
ＩＣカード１１では、判定部２３３により正常に認証したと判定した場合には、取引処理部２３４により、所定の取引の処理を実行する。そして、本フローの処理が終了する。
【００５８】
図８は、実施形態の通信システム１において行われる携帯装置１４、ユーザ４１１、端末１２、およびＩＣカード１１の動作の一例を示す図である。
【００５９】
（処理Ｔ１）
携帯装置１４では、所定のアプリケーションが起動される。なお、当該アプリケーションは、例えば、常に起動されていてもよく、または、必要なときに起動されてもよい。
ユーザ４１１は、携帯装置１４に対して、マスターＰＩＮの値、所定の情報（個人情報など）、および仮ＰＩＮの数の指示を入力する。携帯装置１４では、これらの情報をマスターＰＩＮ情報取得部１３１により取得する。
【００６０】
（処理Ｔ２）
携帯装置１４では、仮ＰＩＮ情報生成部１３２により、取得されたマスターＰＩＮの値（および所定の情報）に基づいて、関数ｆ（ｘ）を取得する。
【００６１】
（処理Ｔ３）
携帯装置１４では、仮ＰＩＮ情報生成部１３２により、取得された情報で指示された仮ＰＩＮの数だけ関数ｆ（ｘ）上の有理点をランダムに選択（抽出）し、選択された有理点のそれぞれについて仮ＰＩＮの値（ここでは、候補）を生成する。
なお、他の構成例として、仮ＰＩＮの数の指示は入力されなくてもよく、この場合、携帯装置１４では、仮ＰＩＮ情報生成部１３２により、あらかじめ定められた数だけ仮ＰＩＮの値を生成する。
【００６２】
（処理Ｔ４）
携帯装置１４では、関数ｆ（ｘ）が取得されて仮ＰＩＮの値が生成された後にすぐに、仮ＰＩＮ情報生成部１３２により、取得されたマスターＰＩＮの値（および所定の情報）および取得された関数ｆ（ｘ）の情報を記憶部１１３から破棄（消去）する。
ここで、関数ｆ（ｘ）の情報を破棄することは、特に、マスターＰＩＮの値と関数ｆ（ｘ）とが可逆的に変換できるような場合に、有効である。
なお、携帯装置１４において、マスターＰＩＮの値あるいは関数ｆ（ｘ）の情報などがすぐに破棄される方が情報漏洩のリスクが低減すると考えられるが、他の構成例として、携帯装置１４において、マスターＰＩＮの値あるいは関数ｆ（ｘ）の情報などのうちの１以上が任意の期間（無期限でもよい）記憶部１１３に記憶される構成が用いられてもよい。
【００６３】
（処理Ｔ５）
携帯装置１４では、仮ＰＩＮ情報出力制御部１３３により、生成された仮ＰＩＮの値の候補を画面に表示出力する。
【００６４】
（処理Ｔ６）
ユーザ４１１は、表示出力された仮ＰＩＮの値の候補から、自己（当該ユーザ４１１）が使用対象とする数（将来的に使用する予定の数）だけ、仮ＰＩＮの値を選択する。
携帯装置１４では、仮ＰＩＮ情報生成部１３２により、ユーザ４１１による仮ＰＩＮの値の選択（選択情報）を入力する。
【００６５】
（処理Ｔ７）
携帯装置１４では、仮ＰＩＮ情報生成部１３２により、ユーザ４１１によって選択された仮ＰＩＮの一覧を、仮ＰＩＮの候補の情報として、記憶する。当該情報は、例えば、記憶部１１３に記憶される。
【００６６】
（処理Ｔ８）
このとき、携帯装置１４では、仮ＰＩＮ情報生成部１３２により、選択済みの仮ＰＩＮのログを更新する。当該ログは、例えば、携帯装置１４の内部データとして保持される。また、当該ログの最大件数は、例えば、ＰＩＮトライカウンタに設定される回数とされる。
【００６７】
ここで、一例として、ユーザ４１１は、ＩＣカード１１をすぐに使用しない場合には、いったん、アプリケーションを終了させてもよい。他の例として、アプリケーションが起動されたままでもよい。
また、ユーザ４１１が携帯装置１４を用いてマスターＰＩＮの値から仮ＰＩＮの値を算出させる処理は、どこで行われてもよいが、例えば、ＩＣカード１１の端末１２から離れた場所で行われることが好ましい。この理由は、マスターＰＩＮが攻撃者によって覗き見される可能性を低下させるためである。
【００６８】
（処理Ｔ９）
ユーザ４１１は、例えば、ＩＣカード１１を使用する前に、携帯装置１４のアプリケーションを利用する。当該アプリケーションが起動していない場合には、ユーザ４１１は当該アプリケーションを起動させる。
ユーザ４１１は、携帯装置１４の画面に表示された仮ＰＩＮの一覧（仮ＰＩＮの候補）を参照して、使用する１個の仮ＰＩＮの値を指定する。ここで、携帯装置１４において、仮ＰＩＮの一覧は、例えば、ユーザ４１１による指示に応じて仮ＰＩＮ情報出力制御部１３３により表示されてもよく、または、アプリケーションによって自動的に、仮ＰＩＮ情報出力制御部１３３により表示されてもよい。
【００６９】
（処理Ｔ１０）
携帯装置１４では、仮ＰＩＮ情報生成部１３２により、ユーザ４１１により指定された仮ＰＩＮの値を仮ＰＩＮの一覧（仮ＰＩＮの候補）から削除する。
【００７０】
（処理Ｔ１１）
ユーザ４１１は、ＩＣカード１１を利用するとき、ＩＣカード１１を端末１２に挿入するなどして、ＩＣカード１１を端末１２に対して所定の位置に設置する。
そして、ユーザ４１１は、端末１２を操作して、端末１２に仮ＰＩＮの値（および、必要であれば、個人情報などの所定の情報）を入力する。ここで、ユーザ４１１は、当該仮ＰＩＮの値として、携帯装置１４に最後に（つまり、最も近い過去に）、自己が使用する値として指定した仮ＰＩＮの値を使用する。
【００７１】
（処理Ｔ１２）
端末１２では、ユーザ４１１により入力された仮ＰＩＮの値（および、必要であれば、その他の情報）をＩＣカード１１に送信する。
【００７２】
（処理Ｔ１３）
ＩＣカード１１では、通信部２１１により、端末１２から仮ＰＩＮの値（および、必要であれば、その他の情報）を受信する。そして、ＩＣカード１１では、判定部２３３により、マスターＰＩＮに基づく関数ｆ（ｘ）の上に、受信された仮ＰＩＮの値に応じた有理点が存在するか否かを判定する。これにより、ＩＣカード１１では、判定部２３３により、正常に認証したか、または、異常であるかを判定する。
【００７３】
ここで、ＩＣカード１１では、判定部２３３は、既にユーザにより使用されて認証が成功した仮ＰＩＮの値をログとして記憶部２１２に記憶してもよい。そして、判定部２３３は、既に使用された仮ＰＩＮの値については、その後に所定の回数の認証が成功するまで保持しておき、当該仮ＰＩＮの値が前回に使用されてから他の仮ＰＩＮによって当該所定の回数の認証が成功するまでは、認証に使用することができない状態（つまり、認証に使用することを禁止する状態）としてもよい。なお、他の構成例として、当該所定の回数は、認証の成功と失敗の両方をカウントした回数であってもよい。
これにより、ＩＣカード１１では、当該ログに残っている仮ＰＩＮの値が端末１２から送信されてきた場合には、その旨を示す情報を通知することが可能である。なお、当該情報は、例えば、端末１２を介して通知されてもよい。
【００７４】
（処理Ｔ１４）
ＩＣカード１１では、通信部２１１により、認証の正否の結果（本人認証結果）の情報を端末１２に送信する。
端末１２は、正常に認証されたこと（認証に成功したこと）がＩＣカード１１から通知された場合には、決済などの取引の処理を実行する。一方、端末１２は、異常であること（認証に失敗したこと）がＩＣカード１１から通知された場合には、取引の処理を不可とする。
【００７５】
このように、本実施形態の通信システム１では、ＩＣカード１１を対象とした、ＰＩＮの不正取得による反射攻撃を防止することができる。
また、本実施形態の通信システム１では、例えば、既存のシステムを改良する場合、ＩＣカード１１におけるＰＩＮの認証プロセスを変更することで実現可能となり、既存のインフラを利用することが可能である。
【００７６】
ここで、本実施形態の通信システム１において情報が漏洩するリスクについて検討する。
まず、マスターＰＩＮの情報漏洩について検討する。
ユーザは、擬似的なワンタイムパスワード（本実施形態では、仮ＰＩＮ）を生成するときに、マスターＰＩＮの値を携帯装置１４に入力する。携帯装置１４では、例えば、マスターＰＩＮの情報を外部に通信せずに擬似的なワンタイムパスワードを計算することができ、また、入力されたマスターＰＩＮの情報を擬似的なワンタイムパスワードの計算後にすぐにメモリ（本実施形態では、記憶部１１３）から削除する。このため、漏洩する可能性がある原因は、次の２通りのシナリオである。１つ目のシナリオは、ユーザがマスターＰＩＮの値を携帯装置１４に入力する場面を他人に覗き見されたことである。２つ目のシナリオは、携帯装置１４がウィルスに感染したために、マスターＰＩＮの情報がメモリから削除される前に、当該マスターＰＩＮの情報が盗み出されたことである。ただし、これら２通りのシナリオについては、携帯装置１４に関する適切な運用を図ることで回避することが可能である。
【００７７】
次に、仮ＰＩＮからマスターＰＩＮが復号されることによる情報漏洩について検討する。
携帯装置１４のアプリケーションによって、例えば、ログとして、最大で、ＰＩＮトライカウンタに設定される回数だけ仮ＰＩＮの値が記憶される。しかしながら、ＰＩＮトライカウンタに設定される回数をｋより小さい値とすることで、仮にログが他人に漏洩したとしても、当該他人がマスターＰＩＮを復号するためには不十分とすることができる。
また、ＩＣカード１１において、所定のログに記憶された仮ＰＩＮの値（既に使用された仮ＰＩＮの値）については、例えば、当該仮ＰＩＮの値が使用されてから所定の回数の認証が成功するまでは、認証に使用することができない状態（つまり、認証に使用することを禁止する状態）とすることも可能である。
【００７８】
次に、未使用の仮ＰＩＮの情報漏洩について検討する。
本実施形態では、図８に示される（処理Ｔ３）のように、ユーザの利便性を考慮して、複数の店舗で買い物をする場合などを想定して、携帯装置１４のアプリケーションによって複数の仮ＰＩＮの候補を記憶することが可能な構成としてある。このため、携帯装置１４のアプリケーションによって未使用の仮ＰＩＮの候補が記憶された状態で当該携帯装置１４が他人に盗み出されると、当該他人は未使用の仮ＰＩＮの数だけ正常な認証を行うことができる、というシナリオが考えられる。
【００７９】
このようなシナリオを回避する方法の一例として、携帯装置１４のアプリケーションによって複数の仮ＰＩＮの候補を記憶しない構成とすることが可能である。この場合、携帯装置１４では、仮ＰＩＮ情報生成部１３２は、例えば、同時には、１個の仮ＰＩＮの値を記憶する。あるいは、携帯装置１４では、仮ＰＩＮ情報生成部１３２は、例えば、仮ＰＩＮの値を（処理中の最低限の時間を除いて）記憶しない構成とすることも可能である。
なお、携帯装置１４では、１回のマスターＰＩＮの入力により複数の仮ＰＩＮを生成して１個ずつ使用可能とする場合には、ユーザによってマスターＰＩＮが毎回入力されなくてもよく、ユーザの作業負荷を小さくすることが可能である。
【００８０】
また、このようなシナリオのリスクを低減させる方法の一例として、マスターＰＩＮを使用して認証が成功した場合と比べて、仮ＰＩＮを使用して認証が成功した場合には、ユーザにより利用することが可能な処理の権限を低くすることが可能である。この場合、ＩＣカード１１では、マスターＰＩＮ情報取得部２３２は、端末１２から送信されたマスターＰＩＮの情報が通信部２１１により受信された場合、当該マスターＰＩＮの情報を取得する。また、ＩＣカード１１では、判定部２３３は、マスターＰＩＮの情報に基づいて認証の可否の判定を行う機能と、仮ＰＩＮに基づいて認証の可否の判定を行う機能を有する。また、ＩＣカード１１では、取引処理部２３４は、判定部２３３によりマスターＰＩＮによる認証（仮ＰＩＮは使用されない認証）が成功した場合にマスターＰＩＮの権限に応じた取引の処理を実行し、また、判定部２３３により仮ＰＩＮによる認証が成功した場合に仮ＰＩＮの権限に応じた取引の処理を実行する。ここで、マスターＰＩＮの権限の方が仮ＰＩＮの権限よりも高い。例えば、マスターＰＩＮの権限に応じた取引の処理の方が、仮ＰＩＮの権限に応じた取引の処理よりも、多くの処理を含む。具体的な一例として、マスターＰＩＮの権限に応じた取引の処理の方が、仮ＰＩＮの権限に応じた取引の処理よりも、上限金額が高い処理を含んでもよい。なお、ユーザは、ＩＣカード１１を使用する場合に、端末１２にマスターＰＩＮの値または仮ＰＩＮの値を入力し、端末１２はユーザから入力された情報（マスターＰＩＮの値または仮ＰＩＮの値）をＩＣカード１１に送信する。ＩＣカード１１では、端末１２から送信された情報（マスターＰＩＮの値または仮ＰＩＮの値）に基づいて、判定部２３３により認証を行う。
【００８１】
ここで、本実施形態の通信システム１では、認証システムに求められる性能あるいはセキュリティの要件に応じて、認証に適用する手法を調整することが可能である。
一例として、本実施形態の通信システム１では、秘密分散法をベースとしたアルゴリズムを調整することが可能である。本実施形態の通信システム１では、秘密分散法をベースとしたアルゴリズムとして、マスターＰＩＮの情報から擬似ワンタイムパスワード（本実施形態では、仮ＰＩＮ）の情報を算出するアルゴリズムが使用されている。例えば、認証システムの性能に応じて、このような秘密分散法に関するアルゴリズムが変更されてもよい。本実施形態では、リソースが潤沢でないＩＣカード１１を想定した場合においても軽量なアルゴリズムで実装することが可能な（ｋ，ｎ）閾値秘密分散法を利用した構成について説明している。
【００８２】
他の例として、本実施形態の通信システム１では、パスワードの盗み出しに耐えられる回数を調整することが可能である。
本実施形態では、マスターＰＩＮの情報（秘密情報）の復元に必要な仮ＰＩＮの情報（分散情報）の数を増やすこと、あるいは減らすことが可能である。
なお、当該数を増やすと、パスワードの盗み出しに耐えられる回数を増やすことができるが、計算が複雑になり、適宜設定されてもよい。
【００８３】
他の例として、本実施形態の通信システム１では、マスターＰＩＮの情報（秘密情報）から仮ＰＩＮの情報（分散情報）を生成する手法について公開の有無を選択することが可能である。
例えば、このような生成の手法を一般公開する場合には、一般公開された情報に基づいて、スマートホンなど（携帯装置１４）のアプリケーションによってマスターＰＩＮの情報（秘密情報）から仮ＰＩＮの情報（分散情報）を生成することができる。この場合、ユーザの利便性は向上するが、分散情報から秘密情報の候補を絞り込むことができるため、総当り攻撃が成功する確率が上がると考えられる。
一方、このような生成の手法を一般公開しない場合には、分散情報から秘密情報を絞り込むことはできない。なお、この場合、ユーザがマスターＰＩＮの情報（秘密情報）を適切に管理することができないときにはセキュリティリスクとなり得るため、マスターＰＩＮの情報（秘密情報）の管理を強化することが好ましい。
【００８４】
また、本実施形態の通信システム１では、単純な総当り攻撃の成功確率を調整することが可能である。
例えば、本実施形態では、擬似的なワンタイムパスワード（本実施形態では、仮ＰＩＮ）のＰＩＮトライカウンタの回数を低く設定することにより、総当たり攻撃の試行回数を減らすことが可能である。一例として、擬似的なワンタイムパスワード（本実施形態では、仮ＰＩＮ）のＰＩＮトライカウンタの回数を、マスターＰＩＮのＰＩＮトライカウンタの回数よりも低く設定してもよい。
【００８５】
また、本実施形態の通信システム１では、総当たり攻撃により偶然に認証が成功してしまった場合におけるリスクの回避の程度を調整することが可能である。
例えば、本実施形態の通信システム１では、仮ＰＩＮを使用した認証が成功した場合には、マスターＰＩＮを使用した認証が成功した場合と比べて、ユーザによって利用することが可能な機能を制限することが可能である。これにより、仮ＰＩＮの総当たり攻撃により偶然に認証が成功してしまった場合におけるリスクを低減することができる。
【００８６】
上記実施形態によれば、ＩＣカード１１において、端末１２と通信する通信部２１１と、第１の情報（本実施形態では、マスターＰＩＮの値）を記憶する記憶部２１２と、通信部２１１により端末１２から受信された情報が、記憶部２１２に記憶された第１の情報に基づいて生成される第２の情報（本実施形態では、仮ＰＩＮの値）に合致するか否かに基づいて、認証の可否を判定する判定部２３３と、を備える。
これにより、ＩＣカード１１では、セキュリティを向上させることができる。
【００８７】
また、上記実施形態によれば、ＩＣカード１１において、第１の情報に基づいて複数の第２の情報が生成可能である。そして、判定部２３３は、複数の第２の情報のうちで認証に使用された情報と同じ情報について所定の回数認証に使用されることを禁止する。
これにより、ＩＣカード１１では、さらにセキュリティを向上させることができる。
【００８８】
上記実施形態によれば、携帯装置１４のアプリケーション（プログラム）において、ＩＣカード１１について設定された第１の情報を入力するステップ（本実施形態では、ステップＳ１の処理）と、入力された第１の情報に基づいて、ＩＣカード１１の認証に使用される第２の情報を生成するステップ（本実施形態では、ステップＳ２の処理）と、生成された第２の情報を出力するステップ（本実施形態では、ステップＳ３の処理）と、をコンピュータ（携帯装置１４を構成するコンピュータ）に実行させる。
これにより、当該アプリケーションでは、ＩＣカード１１のセキュリティ向上に役立ち、ＩＣカード１１のセキュリティを向上させることができる。
【００８９】
また、上記実施形態によれば、携帯装置１４のアプリケーション（プログラム）において、第１の情報に基づいて複数の第２の情報が生成可能であり、生成された複数の第２の情報のなかから使用対象とする１個以上の第２の情報の選択（本実施形態では、ユーザによる選択）を入力するステップ（本実施形態では、ステップＳ４の処理）と、選択された第２の情報のなかから１個の第２の情報の指定（本実施形態では、ユーザによる指定）を入力するステップ（本実施形態では、ステップＳ５〜ステップＳ６の処理）と、選択された第２の情報のなかから指定された第２の情報を削除するステップ（本実施形態では、ステップＳ７の処理）と、をさらに当該コンピュータに実行させる。
これにより、当該アプリケーションでは、さらに、ＩＣカード１１のセキュリティ向上に役立ち、ＩＣカード１１のセキュリティを向上させることができる。
【００９０】
上記実施形態によれば、処理システムにおいて、ＩＣカード１１と、携帯装置１４と、を有する。ＩＣカード１１は、端末１２から受信された情報が、記憶部２１２に記憶された第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定する。携帯装置１４は、第１の情報を入力し、入力された第１の情報に基づいて、ＩＣカード１１の認証に使用される第２の情報を生成し、生成された第２の情報を出力する。
これにより、処理システムでは、ＩＣカード１１のセキュリティを向上させることができる。
【００９１】
上記実施形態によれば、ＩＣカード１１において、端末１２と通信する通信部２１１と、第１の情報を記憶する記憶部２１２と、通信部２１１により端末１２から受信された情報が、記憶部２１２に記憶された第１の情報に基づいて生成される第２の情報に合致するか否かに基づいて、認証の可否を判定する判定部２３３と、を備えるＩＣモジュール５１と、ＩＣモジュール５１が埋め込まれたカード本体（本実施形態では、カード基材５２）と、を備える。
これにより、ＩＣカード１１では、セキュリティを向上させることができる。
【００９２】
（第２の実施形態）
図９は、実施形態の通信システム５０１を示す図である。
通信システム５０１は、ＩＣカード５１１と、端末５１２と、携帯装置５１４を備える。ＩＣカード５１１と端末５１２とは、通信路５１３を介して通信する。
ここで、本実施形態の通信システム５０１は、図１に示される通信システム１と比べて、ＩＣカード５１１ではなく、端末５１２が仮ＰＩＮの認証処理を行う点が相違しており、他の点は同様である。
以下では、本実施形態の通信システム５０１について、図１に示される通信システム１とは相違する点について詳しく説明する。
【００９３】
端末５１２は、入力部６１１と、出力部６１２と、記憶部６１３と、通信部６１４と、処理部６１５を備える。処理部６１５は、仮ＰＩＮ情報取得部６３１と、マスターＰＩＮ情報取得部６３２と、判定部６３３と、マスターＰＩＮ情報送信制御部６３４を備える。
【００９４】
入力部６１１は、外部から情報を入力する。本実施形態では、入力部６１１は、ユーザにより操作される操作部を有しており、当該操作部が操作された内容を表す情報を入力する。
出力部６１２は、外部に情報を出力する。本実施形態では、出力部６１２は、画面を有しており、当該画面に情報を表示出力する。
記憶部６１３は、情報を記憶する。
通信部６１４は、ＩＣカード５１１との間で通信を行う。本実施形態では、接触方式の通信が用いられてもよく、あるいは、非接触方式の通信が用いられてもよい。
【００９５】
処理部６１５は、各種の処理を実行する。
仮ＰＩＮ情報取得部６３１は、ユーザによる操作によって入力された仮ＰＩＮの値を取得する。
マスターＰＩＮ情報取得部６３２は、自己（端末５１２）に対して設置されたＩＣカード５１１に記憶されたマスターＰＩＮの値を、当該ＩＣカード５１１から通信部６１４により受信して取得する。ＩＣカード５１１は、当該マスターＰＩＮの値を端末５１２に送信する。
【００９６】
また、マスターＰＩＮ情報取得部６３２は、所定の情報（個人情報など）を取得する。
一例として、マスターＰＩＮ情報取得部６３２は、当該所定の情報を、ＩＣカード５１１から通信部６１４により受信して取得してもよい。この場合、ＩＣカード５１１は、当該所定の情報を端末５１２に送信する。
他の例として、マスターＰＩＮ情報取得部６３２は、当該所定の情報を、ユーザによる操作に基づいて取得してもよい。この場合、ユーザは、端末５１２を操作して、当該所定の情報を端末５１２に入力する。
【００９７】
ここで、マスターＰＩＮの値（および、必要であれば、その他の情報）は、例えば、端末５１２がＩＣカード５１１に対して要求することに応じて当該ＩＣカード５１１により端末５１２へ送信されてもよく、または、端末５１２に設置されたＩＣカード５１１により自発的に端末５１２へ送信されてもよい。
【００９８】
判定部６３３は、仮ＰＩＮ情報取得部６３１により取得された仮ＰＩＮの値と、マスターＰＩＮ情報取得部６３２により取得されたマスターＰＩＮの値（および所定の情報）とに基づいて、当該仮ＰＩＮの値を変換して得られる座標値が当該マスターＰＩＮの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。ここで、このような判定の手法としては、例えば、図４に示されるＩＣカード５１１で行われる判定の手法と同様な手法が用いられてもよい。
なお、本実施形態では、ＩＣカード５１１は、１個のマスターＰＩＮの値を記憶しており、当該マスターＰＩＮの値を端末５１２へ送信する。本実施形態では、ＩＣカード５１１は、仮ＰＩＮの値に基づく認証処理を行う機能を備えなくてもよい。
【００９９】
マスターＰＩＮ情報送信制御部６３４は、判定部６３３により認証が成功した場合には、ＩＣカード５１１から受信されたマスターＰＩＮの値を通信部６１４により当該ＩＣカード５１１へ送信する制御を行う。一方、マスターＰＩＮ情報送信制御部６３４は、判定部６３３により認証が失敗した場合には、その旨を示す信号を通信部６１４によりＩＣカード５１１へ送信する制御、または、ＩＣカード５１１へ返信しない制御を行う。
【０１００】
ここで、ＩＣカード５１１は、端末５１２から自己（当該端末５１２）のマスターＰＩＮの値が入力された場合には、認証が成功したとして、所定の取引の処理を実行する。一方、ＩＣカード５１１は、端末５１２から自己（当該端末５１２）のマスターＰＩＮの値が入力されなかった場合には、認証が失敗したとして、所定の取引の処理を実行することを禁止する。
【０１０１】
なお、ＩＣカード５１１では、例えば、端末５１２に仮ＰＩＮの値が入力されて認証が成功したか、あるいは、端末５１２にマスターＰＩＮの値が入力されて認証が成功したかに基づいて、それぞれについて実行可能な処理の権限を異ならせてもよい。端末５１２に仮ＰＩＮの値が入力されて認証が成功したか、あるいは、端末５１２にマスターＰＩＮの値が入力されて認証が成功したかは、例えば、ＩＣカード５１１により識別されてもよく、または、端末５１２により識別されて、その識別の結果がＩＣカード５１１に通知されてもよい。
【０１０２】
一例として、端末５１２では、ユーザによりマスターＰＩＮの値が入力された場合には、入力されたマスターＰＩＮの値をＩＣカード５１１に送信する。そして、ＩＣカード５１１では、端末５１２からマスターＰＩＮの値が受信された場合には、自己（当該ＩＣカード５１１）により認証処理を行い、端末５１２にマスターＰＩＮの値が入力されて認証を行ったことを判定してもよい。
他の例として、端末５１２では、判定部６３３は、仮ＰＩＮの情報に基づいて認証の判定を行う機能とともに、マスターＰＩＮの情報に基づいて認証の判定を行う機能を有してもよい。この場合、端末５１２では、判定部６３３などにより、端末５１２にマスターＰＩＮの値が入力されて認証を行ったことを示す情報をＩＣカード５１１に通知（送信）してもよい。
なお、端末５１２では、例えば、仮ＰＩＮの情報に基づいて認証の判定を行うモードと、マスターＰＩＮの情報に基づいて認証の判定を行うモードとが、ユーザによる操作などにより、選択可能であってもよい。
【０１０３】
図１０は、実施形態の端末５１２において行われる処理の手順の一例を示すフローチャートである。
ユーザは、自己のＩＣカード５１１を端末５１２と通信可能な位置に設置して、携帯装置５１４により表示出力された使用する仮ＰＩＮの値を端末５１２に打ち込む。
【０１０４】
（ステップＳ４１）
端末５１２では、通信部６１４によりＩＣカード５１１との間で通信を開始する。
端末５１２では、初期の認証処理において、仮ＰＩＮ情報取得部６３１により、ユーザから入力された仮ＰＩＮの値を取得する。
【０１０５】
（ステップＳ４２）
端末５１２では、マスターＰＩＮ情報取得部６３２により、ＩＣカード５１１に記憶されたマスターＰＩＮの値を取得する。また、端末５１２では、マスターＰＩＮ情報取得部６３２により、所定の情報（個人情報など）を取得する。
【０１０６】
（ステップＳ４３）
端末５１２では、判定部６３３により、取得された仮ＰＩＮの値と取得されたマスターＰＩＮの値（および所定の情報）に基づいて、当該仮ＰＩＮの値を変換して得られる座標値が当該マスターＰＩＮの値を変換して得られる曲線の上にあるか否かを判定し、当該座標値が当該曲線の上にある場合には認証が成功したと判定し、一方、当該座標値が当該曲線の上にない場合には認証が失敗したと判定する。この結果、端末５１２では、判定部６３３により認証が成功した（正常に認証した）と判定した場合には（ステップＳ４３：正常認証）、ステップＳ４４の処理へ移行する。一方、端末５１２では、判定部６３３により認証が失敗した（異常である）と判定した場合には（ステップＳ４３：異常）、本フローの処理が終了する。
【０１０７】
（ステップＳ４４）
端末５１２では、判定部６３３により正常に認証したと判定した場合には、マスターＰＩＮ情報送信制御部６３４により、ＩＣカード５１１から取得されたマスターＰＩＮの値を通信部６１４により当該ＩＣカード５１１へ送信する制御を行う。そして、本フローの処理が終了する。
【０１０８】
ここで、端末５１２では、例えば、少なくとも、マスターＰＩＮ情報取得部６３２によりマスターＰＩＮの値を取得してから当該マスターＰＩＮの値をＩＣカード５１１へ送信するまでの間、当該マスターＰＩＮの値を記憶部６１３に記憶する。端末５１２では、例えば、当該マスターＰＩＮの値をＩＣカード５１１へ送信した後に、すぐに当該マスターＰＩＮの値を記憶部６１３から破棄（消去）することが、情報漏洩のリスクを低減するという点で、好ましいと考えられる。
【０１０９】
上記実施形態によれば、端末５１２において、情報を入力する入力部６１１と、ＩＣカード５１１と通信する通信部６１４と、入力部６１１により入力された情報が、通信部６１４によりＩＣカード５１１から受信された第１の情報（本実施形態では、マスターＰＩＮの値）に基づいて生成される第２の情報（本実施形態では、仮ＰＩＮの値）に合致するか否かに基づいて、認証の可否を判定する判定部６３３と、判定部６３３により認証が可である（つまり、認証が成功した）と判定された場合に、通信部６１４により第１の情報をＩＣカード５１１に送信する送信制御部（本実施形態では、マスターＰＩＮ情報送信制御部６３４）と、を備える。
これにより、端末５１２では、ＩＣカード５１１のセキュリティ向上に役立ち、ＩＣカード５１１のセキュリティを向上させることができる。
【０１１０】
以上説明した少なくともひとつの実施形態によれば、ＩＣカードについて設定された第１の情報に基づいて生成される第２の情報を用いて、当該ＩＣカードの認証の可否を判定することにより、ＩＣカードのセキュリティを向上させることができる。
【０１１１】
ここで、以上の実施形態では、携帯可能電子装置の一例として、ＩＣカードが使用されるものとした。これに関し、他の構成例として、ＩＣカードの代わりに、ＩＣタグ、ＩＣを内蔵したパスポート、ＩＣを内蔵した免許証など、携帯することが可能な電子装置である様々なものが、携帯可能電子装置として使用されてもよい。
また、一構成例として、携帯可能電子装置と携帯装置とが共通の装置であってもよい。
【０１１２】
以上の実施形態に関し、以下のように表現される構成とすることもできる。
コンタクト部またはアンテナを介して端末と通信する通信部と、
第１の情報を記憶する記憶部と、
前記記憶部に記憶された前記第１の情報を関数へ変換し、前記通信部により前記端末から受信された情報が、前記関数を満たす第２の情報に合致する場合には、認証が可であると判定し、前記通信部により前記端末から受信された情報が、前記関数を満たす第２の情報に合致しない場合には、認証が不可であると判定する判定部と、
を備える携帯可能電子装置。
【０１１３】
以上に示した実施形態に係る各装置（例えば、ＩＣカード１１、５１１、端末１２、５１２、携帯装置１４、５１４）の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行うことができる。
なお、ここでいう「コンピュータシステム」とは、オペレーティングシステム（ＯＳ）あるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１１４】
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバあるいはクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）あるいは電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
このように、各機能部は、ソフトウェア機能部であってもよく、または、ＬＳＩ等のハードウェア機能部であってもよい。
【０１１５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１６】
１、５０１…通信システム、１１、５１１…ＩＣカード、１２、５１２…端末、１３、５１３…通信路、１４、５１４…携帯装置、３１…ＲＯＭ、３２…ＲＡＭ、３３…ＥＥＰＲＯＭ、３４…ＵＡＲＴ、３５…ＣＰＵ、３６…コプロセッサ、３７…システムバス、５１…ＩＣモジュール、５２…カード基材、６１…コンタクト部、６２…ＩＣチップ、１１１、６１１…入力部、１１２、６１２…出力部、１１３、２１２、６１３…記憶部、１１４、２１３、６１５…処理部、１３１、２３２、６３２…マスターＰＩＮ情報取得部、１３２…仮ＰＩＮ情報生成部、１３３…仮ＰＩＮ情報出力制御部、２１１、６１４…通信部、２３１、６３１…仮ＰＩＮ情報取得部、２３３、６３３…判定部、２３４…取引処理部、３１１…変換テーブル、６３４…マスターＰＩＮ情報送信制御部
【図１】
2018101218.tif 000003
【図２】
2018101218.tif 000004
【図３】
2018101218.tif 000005
【図４】
2018101218.tif 000006
【図５】
2018101218.tif 000007
【図６】
2018101218.tif 000008
【図７】
2018101218.tif 000009
【図８】
2018101218.tif 000010
【図９】
2018101218.tif 000011
【図１０】
2018101218.tif 000012