JP2014096727A - 認証媒体、認証端末、認証システム及び認証方法 - Google Patents

認証媒体、認証端末、認証システム及び認証方法 Download PDF

Info

Publication number
JP2014096727A
JP2014096727A JP2012247624A JP2012247624A JP2014096727A JP 2014096727 A JP2014096727 A JP 2014096727A JP 2012247624 A JP2012247624 A JP 2012247624A JP 2012247624 A JP2012247624 A JP 2012247624A JP 2014096727 A JP2014096727 A JP 2014096727A
Authority
JP
Japan
Prior art keywords
authentication
random number
card
value
terminal
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.)
Pending
Application number
JP2012247624A
Other languages
English (en)
Inventor
Takashi Horimoto
岳志 堀本
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.)
Toppan Inc
Original Assignee
Toppan Printing Co Ltd
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 Toppan Printing Co Ltd filed Critical Toppan Printing Co Ltd
Priority to JP2012247624A priority Critical patent/JP2014096727A/ja
Publication of JP2014096727A publication Critical patent/JP2014096727A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】通信を行う際に生じるセキュリティの低下を抑止させること。
【解決手段】認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得部と、取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、認証部によって認証がなされた場合に、認証媒体及び端末装置との間で乱数を共有するための処理を行う共有処理部と、を備える認証媒体。
【選択図】図1

Description

本発明は、ICカードの認証技術に関する。
従来のフィーチャーフォンに変わり、スマートフォンやタブレット端末(以下、「スマートデバイス」という。)の高機能端末が急速に普及している。この高機能性を利用して、企業においてもスマートデバイスの利用が広まっている。しかし、スマートデバイスのセキュリティとしては、ユーザにパスワードを入力させるなどの知識レベルでの認証が一般的である。そのため、スマートデバイスのセキュリティレベルは低い。
また、近年では、BYOD(Bring Your Own Device)を採用する企業も増えている。そのため、スマートデバイスのセキュリティ強化が求められている。さらに、ユーザが個人で使用するスマートデバイスにはメールアドレス等の個人情報が格納されている。そのため、個人使用でのスマートデバイスにおいてもセキュリティ強化が求められている。そこでセキュリティ強化のため、OTP(One Time Pass)を利用した2因子認証を行える製品が提案されている。しかし、このような製品は、ユーザがOTPを生成する機器を携行しなくてはならないため不便であった。
そこで、NFC(Near Field Communication)やBluetooth(登録商標)のような無線通信を利用することによって、ICカード(Integrated Circuit card)などの外部認証デバイスと接続する方法が提案されており、スマートデバイスに搭載される動きが出てきている。無線通信を利用した非接触ICカードは、使用者の利便性や機器のメンテナンス性において、接触ICカードと比べて優れている。さらに、非接触ICカードは、接触端子部分が無いことから耐久性の面においても接触ICカードと比べて優れている。現在、日本において、非接触ICカードは社員証として広く使用されている。しかし、そのような非接触ICカードは、RSA(Rivest Shamir Adleman)演算をICカード内で実施できない仕様となっている。
それに対して、RSA演算可能なICカードは、接触タイプのICカードが主流である。しかし、接触タイプのICカードは、カード単価が高いために普及の妨げとなっている。さらに、接触タイプのICカードは、取扱いの面においても非接触ICカードに及ばない。そのため、接触ICカードは、ICキャッシュカード、ICクレジットカードを除いて広くは普及していない。
また、接触タイプと非接触タイプとの両方のICを搭載したICカードも一部で使用されている。しかし、両方のICを搭載したICカードは、カード単価が高いため、住民基本台帳カードのように発行枚数が多く、数量によるコストメリットが高いカード以外に普及していない。
また、データを暗号化する場合や、ID又はパスワードを送受信する場合に、暗号化のための鍵の共有には、RSA演算を用いたDH鍵交換(Diffie-Hellman key exchange)が用いられている。しかし、この鍵の共有方法をICカードに適用するには、ICカード内部でRSA演算ができることが必要となる。そのため、上述のようにICカード内部でRSA演算を実施できないICカードにはDH鍵交換を使用することができない。
ICカード内部でRSA演算を実施できない場合には、JIS X6319−3及びISO/IEC7816−4に規定されている内部認証、外部認証及びその双方の組み合わせにより相互認証による認証方式が用いられている。また、データの暗号化方式では、JIS X6319−3及びISO/IEC7816−4に規定されているセキュアメッセージングなどの方式が用いられている。
これらの2つの方式では、認証や暗号化のために使用される共通鍵は、事前に端末装置とICカードとで共通鍵の基となるマスター鍵を格納しておくことが必要となる。特許文献1及び特許文献2には、共通鍵の管理や運用方法に関する技術が提案されている。
特開平11−249825号公報 特開2005−269128号公報
しかしながら、特許文献1及び特許文献2の技術においても、事前に鍵を端末装置とICカードとで共有していなければならないという問題があった。上記の事前とは、端末装置やICカードの製造、発行時にマスター鍵を格納することを表す。
また、事前にマスター鍵を格納しない場合には、通信が開始された際やデータを暗号化する直前に、乱数等を共有鍵としてICカードと端末装置との間で送受信する方法がある。また、送受信された乱数を所定のアルゴリズムで変換することによって共有鍵を生成する方法もある。しかし、このような方法では、共通鍵又はマスター鍵自体をトランザクション中に通信回線上で送受信する。そのため、「なりすまし」などのセキュリティ上の危険性を排除することができないという問題があった。
上記事情に鑑み、本発明は、通信を行う際に生じるセキュリティの低下を抑止させる技術の提供を目的としている。
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得部と、前記取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備える認証媒体である。
本発明の一態様は、上記の認証媒体であって、前記取得部が取得した前記複数の認証情報を演算することによって認証を行う。
本発明の一態様は、上記の認証媒体であって、前記複数の認証情報は、異なる認証時に前記認証媒体及び端末装置の間で共有された認証情報である。
本発明の一態様は、上記の認証媒体であって、前記認証部は、前記認証において認証されない場合、前記端末装置及び自装置の両方またはいずれか一方を使用不可能とする。
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得部と、前記取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備える認証端末である。
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得部と、前記取得部によって取得された認証情報に基づいて認証を行う認証部と、乱数を生成する乱数生成部と、前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、を備える認証システムである。
本発明の一態様は、認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得ステップと、前記取得ステップによって取得された認証情報に基づいて認証を行う認証ステップと、乱数を生成する乱数生成ステップと、前記認証ステップによって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理ステップと、を有する認証方法である。
本発明により、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。
認証システムの第一実施形態におけるシステム構成を示す概略ブロック図である。 第一実施形態の第一動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。 第一実施形態の第一動作例における認証処理の流れを示すシーケンス図である。 第一実施形態の第二動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。 第一実施形態の第二動作例における認証方法の処理の流れを示すシーケンス図である。 認証システムの第二実施形態におけるシステム構成を示す概略ブロック図である。 第二実施形態の第一動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。 第二実施形態の第一動作例における認証処理の流れを示すシーケンス図である。 変形例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。 第二実施形態の第二動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。 第二実施形態の第二動作例における認証方法の処理の流れを示すシーケンス図である。
以下、本発明の具体的な構成例(第一実施形態及び第二実施形態)について、図面を参照しながら説明する。
[第一実施形態]
図1は、認証システムの第一実施形態におけるシステム構成を示す概略ブロック図である。第一実施形態の認証システムは、認証端末10a及びICカード20a(認証媒体)を備える。
認証端末10aは、情報処理装置を用いて構成される。認証端末10aは、ICカード20aが近づけられることによって認証を行う。
ICカード20aは、内部に記憶回路を備える。ICカード20aは、認証端末10aから無線信号を受信して、ID情報を含む無線信号を認証端末10aに送信する。
次に、認証端末10a及びICカード20aの機能構成を説明する。まず、認証端末10aの機能構成を説明する。
認証端末10aは、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、認証プログラムを実行する。認証プログラムの実行によって、認証端末10aは、入力部101、制御部102、通信部103、認証情報記憶部104、出力部105、暗号化部106を備える装置として機能する。なお、認証端末10aの各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。また、認証プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、認証プログラムは、電気通信回線を介して送受信されても良い。
入力部101は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部101は、ユーザの指示を認証端末10aに入力する際にユーザによって操作される。入力部101は、入力装置を認証端末10aに接続するためのインタフェースであっても良い。この場合、入力部101は、入力装置においてユーザの入力に応じ生成された入力信号を認証端末10aに入力する。
制御部102は、認証端末10aの動作を制御する。
通信部103は、制御部102の指示に従い、ICカード20aとの間で無線信号の送受信を行う。
認証情報記憶部104は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。認証情報記憶部104は、カード認証テーブルを記憶する。カード認証テーブルには、ICカード20aの認証に関する情報が登録されている。
出力部105は、認証端末10aに接続された不図示の出力装置を介し、ユーザに対して操作指示やエラーメッセージ等の出力を行う。出力装置は、例えば画像や文字を画面に出力する装置を用いて構成されても良い。例えば、出力装置は、CRT(Cathode Ray Tube)や液晶ディスプレイや有機EL(Electro-Luminescent)ディスプレイ等を用いて構成できる。また、出力装置は、文字を音声に変換して出力する装置を用いて構成されても良い。この場合、出力装置は、音声合成装置及び音声出力装置(スピーカー)を用いて構成できる。
暗号化部106は、暗号化を行う。具体的には、暗号化部106は、入力部101に入力されたユーザの指示や認証端末10aの端末IDなどの情報を、DES(Data Encryption Standard)を用いて暗号化し、DES暗号化情報を生成する。
次に、ICカード20aの機能構成を説明する。
ICカード20aは、制御部201、通信部202、ROM(Read Only Memory)203、RAM(Random Access Memory)204、認証情報記憶部205、復号化部206、乱数生成部207を備える。上記のICカード20aの各機能部は、バスを介して互いに接続されている。
制御部201は、ICカード20aの動作を制御する。また、制御部201は、N回目の認証が行われた場合に、乱数生成部207に乱数の生成を指示する。例えば、制御部201は、N回目の認証の際に(N+1)回目の認証に使用する乱数(以下、「次回乱数」という。)の生成を指示する。
通信部202は、制御部201の指示に従い、認証端末10aとの間で無線信号の送受信を行う。
ROM203は、読み出し専用のメモリであり、ICカード20aを動作させるためのプログラムを記憶する。
RAM204は、種々の情報を記憶する読み出し書き込みメモリである。RAM204には、ROM203から読み出されたプログラムが展開される。RAM204は、プログラムが実行されることによって生成された各種データを記憶する。RAM204は、認証端末10aから送信されるデータを一時的に記憶する。RAM204は、PINカウンタを記憶する。PINカウンタは、PIN照合に使用されるカウンタである。
認証情報記憶部205は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。認証情報記憶部205は、端末認証情報を記憶する。端末認証テーブルには、認証端末10aの認証に関する情報が登録されている。
復号化部206は、暗号化された情報を復号化する。例えば、復号化部206は、認証端末10aから送信されるDES暗号化情報を復号化する。
乱数生成部207は、制御部201の指示に従い、乱数を生成する。例えば、乱数生成部207は、制御部201の指示に従い、次回乱数(認証情報)を生成する。
以下、本発明の認証システムの第一実施形態における具体的な動作例(第一動作例及び第二動作例)について説明する。
[第一動作例]
図2は、第一実施形態の第一動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。
図2(A)は、カード認証テーブルの一例を示す図である。カード認証テーブルは、ICカード20aの認証に関する情報を表すレコード41を複数有する。レコード41は、カードID、(N−1)回目受信乱数の各値を有する。
カードIDの値は、ICカード20aを識別するためのIDを表す。(N−1)回目受信乱数の値は、(N−1)回目の認証が行われた際に通信部103が受信した次回乱数を表す。なお、(N−1)回目受信乱数の値は、N回目の認証に使用される。N=1の場合の(N−1)回目受信乱数の値は、管理者によって予め設定される。
図2(B)は、端末認証テーブルの一例を示す図である。端末認証テーブルは、認証端末10aの認証に関する情報を表すレコード42を複数有する。レコード42は、端末ID、(N−1)回目送信乱数の各値を有する。
端末IDの値は、認証端末10aを識別するためのIDを表す。(N−1)回目送信乱数の値は、(N−1)回目の認証が行われた際に通信部202が送信した次回乱数を表す。なお、(N−1)回目送信乱数の値は、N回目の認証に使用される。N=1の場合の(N−1)回目送信乱数の値は、管理者によって予め設定される。
図2に示すように、N回目の認証において、端末認証テーブル及びカード認証テーブルに記録されている(N−1)回目に送受信された乱数を用いて認証が行われる。また、(N+1)回目の認証には、N回目の認証において認証端末10aとICカード20aとの間で送受信された乱数を用いて認証が行われる。したがって、認証端末10aとICカード20aとの間で行われる認証においてRSA演算などの複雑な演算処理を行う必要がない。また、N回目の認証において認証端末10aとICカード20aとの間で送受信された乱数が盗聴された場合であっても、N回目の認証が不正に通過されることはない。また、N回目の認証が不正に通過されないため、(N+1)回目の認証で必要となる次回乱数が不正に取得されることもない。その結果、「なりすまし」などのセキュリティ上の問題を排除できる。そのため、RSA演算機能を持たないICカード20aであってもセキュリティの低下を抑止させることが可能となる。
図3は、第一実施形態の第一動作例における認証処理の流れを示すシーケンス図である。なお、認証端末10aからICカード20aへの無線信号の送信及びICカード20aから認証端末10aへの無線信号の送信は破線で表している。
まず、ユーザがICカード20aを認証端末10aに近づけることによって、N回目の認証処理が開始される。認証処理が開始されると、認証端末10aの入力部101は、PIN(Personal Identification Number)コードの入力を受け付ける(ステップS101)。ユーザによってPINコードが入力されると、暗号化部106は、PINコード及び自装置(認証端末10a)の端末IDの各値を、DESを用いて暗号化することによってDES暗号化情報を生成する。通信部103は、生成されたDES暗号化情報をICカード20aに送信する(ステップS102)。
ICカード20aの通信部202は、認証端末10aから送信されたDES暗号化情報を受信する。復号化部206は、通信部202が受信したDES暗号化情報を復号化することによってPINコード及び端末IDの各値を取得する(ステップS103)。復号化部206は、取得したPINコード及び端末IDの各値をRAM204に記録する。制御部201は、RAM204に記録されているPINコードを取得する。その後、制御部201は、予めユーザによって設定されたPINコードの値と取得したPINコードの値とが一致するか否かを判定する(ステップS104)。PINコードが一致する場合(ステップS104−YES)、制御部201はRAM204に記憶されているPINカウンタのカウンタ値をリセットする(ステップS105)。
次に、制御部201は、乱数生成部207に乱数の生成を指示する。乱数生成部207は、制御部201の指示に従い、次回乱数を生成する(ステップS106)。通信部202は、生成された次回乱数及び自装置(ICカード20a)のカードIDの各値を認証端末10aに送信する(ステップS107)。
認証端末10aの通信部103は、ICカード20aから送信された次回乱数及びカードIDの各値を受信する。制御部102は、認証情報記憶部104に記憶されているカード認証テーブルを読み出す。制御部102は、読み出したカード認証テーブルに記録されているレコード41のうち、通信部103が受信したカードIDに対応するレコード41を選択する。制御部102は、選択したレコード41の(N−1)回目受信乱数の項目に記録されている値を取得する(ステップS108)。通信部103は、取得した(N−1)回目受信乱数の値をICカード20aに送信する(ステップS109)。
ICカード20aの通信部202は、認証端末10aから送信された(N−1)回目受信乱数の値を受信する。制御部201は、認証情報記憶部205に記憶されている端末認証テーブルを読み出す。制御部201は、読み出した端末認証テーブルに記録されているレコード42のうち、RAM204に記録されている端末IDに対応するレコード42を選択する。制御部201は、選択したレコード42の(N−1)回目送信乱数の項目に記録されている値を取得する。
制御部201は、取得した(N−1)回目送信乱数の値と、通信部202が受信した(N−1)回目受信乱数の値とが一致するか否かを判定する(ステップS110)。(N−1)回目送信乱数の値と(N−1)回目受信乱数の値とが一致する場合(ステップS110−YES)、制御部201は(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したことを示す判定結果を通信部202に出力する。通信部202は、出力された判定結果を認証端末10aに送信する(ステップS111)。
認証端末10aの通信部103は、ICカード20aから送信された判定結果を受信する。制御部102は、通信部103が受信した判定結果に基づいて、(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したと判定する。制御部102は、カード認証テーブルの(N−1)回目受信乱数の値を、ステップS108の処理において通信部103が受信した次回乱数の値で上書きして記録することによって値を更新する(ステップS112)。制御部102は、更新した次回乱数の値が含まれている更新情報を通信部103に出力する。通信部103は、出力された更新情報をICカード20aに送信する(ステップS113)。そして、認証端末10aは、ICカード20aの認証を完了する(ステップS114)。その後、認証端末10aは、処理を終了する。
ICカード20aの通信部202は、認証端末10aから送信された更新情報を受信する。制御部201は、受信した更新情報から次回乱数の値を取得する。制御部201は、更新情報を送信した認証端末10aの端末IDに対応するレコード42を選択する。端末選択したレコード42の(N−1)回目送信乱数の値を、取得した次回乱数の値で上書きして記録することによって値を更新する(ステップS115)。その後、ICカード20aは処理を終了する。
ステップS104の処理において、入力されたPINコードが一致しない場合(ステップS104−NO)、ICカード20aの制御部201はRAM204に記憶されているPINカウンタのカウンタ値に“1”を加算する。その後、制御部201は、PINカウンタのカウンタ値が閾値以上か否かを判定する(ステップS116)。カウンタ値が閾値以上である場合(ステップS116−YES)、制御部201はICカード20aを一定期間使用不可能にする。例えば、制御部201は、通信部202の動作を制御して認証端末10aとの間で通信が行えないようにすることによって一定期間(例えば、10分、1時間など)使用不可能にする(ステップS116)。その後、ICカード20aは処理を終了する。
一方、カウンタ値が閾値未満である場合(ステップS116−NO)、ICカード20aの通信部202はPINコードの入力エラーを認証端末10aに通知する。認証端末10aの通信部103は、PINコードの入力エラーを受信する。出力部105は、受信した入力エラーに応じてユーザにPINコードの入力エラーを通知する(ステップS118)。その後、認証端末10aは、ステップS101以降の処理を繰り返し実行する。
ステップS110の処理において、(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致しない場合(ステップS110−NO)、ICカード20aの制御部201はICカード20aを一定期間使用不可能にする(ステップS119)。その後、ICカード20aは処理を終了する。
以上のように構成された認証システムによれば、N回目の認証が行われる際に、その認証で使用される乱数の送受信が行われない。具体的には、過去の認証が正しく行われた際に認証端末10aとICカード20aとの間で送受信された乱数が使用される。したがって、N回目の認証において認証端末10aとICカード20aとの間で送受信される乱数が盗聴された場合であっても、N回目の認証が不正に通過されることはない。また、N回目の認証が不正に通過されないため、(N+1)回目の認証で必要となる次回乱数が不正に取得されることもない。その結果、「なりすまし」などのセキュリティ上の問題を排除することができる。そのため、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。
また、認証処理において、認証端末10aとICカード20aとの間で送受信された次回乱数の値が一致しなければ、不正が行われた可能性がある。そのため、認証処理が行われる際に不正を検知することが可能となる。
また、本実施形態の認証システムでは、外部認証、内部認証及び共通鍵の生成が行われない。そのため、トランザクションのスループットを向上させることが可能となる。
<変形例>
本実施例では、非接触タイプのICカード20aを用いた構成を示したが、接触タイプのICカード20aを用いて構成されても良い。この場合、ICカード20aがユーザによって認証端末10aに挿入された後に認証処理が開始されても良い。
本実施例では、PIN入力による照合を行う構成を示したが、これに限定される必要はなく、生体情報による照合が行われても良い。
本実施例では、DESを用いた暗号化方式によって暗号化を行う構成を示したが、例えば、AES(Advanced Encryption Standard)を用いて暗号化が行われても良い。また、その他のアルゴリズムを用いて暗号化が行われても良い。
認証システムによる認証結果は、その後にどのような処理に用いられても良い。例えば、認証処理が終了した後、その認証処理とは異なる認証処理が行われても良い。また、暗号化通信が行われても良い。
認証端末10aが記憶しているカード認証テーブルは、不図示のホスト装置が記憶するように構成されても良い。ホスト装置とは、1又は複数の認証端末10aと通信可能な装置である。ホスト装置がカード認証テーブルを記憶する場合、認証が行われる際に認証端末10aがホスト装置からカード認証テーブルを読み出して認証を行っても良い。
上述した構成では、認証端末10aとICカード20aとの間で送受信された次回乱数は認証に使用されたが、共通鍵として使用されても良い。
また、認証方法は、上述したように乱数同士の一致に基づいた処理に限定される必要はなく、その他の認証方法で認証処理が行われても良い。例えば、乱数同士の排他的論理和によって認証が行われても良いし、乱数及びハッシュ値を用いて認証が行われても良い。
また、ICカード20aが実行するプログラムをROM203に代わってEEPROM(Electrically Erasable Programmable Read-Only Memory)が記憶するように構成されても良い。例えば、JAVAカード(登録商標)などのICカード20aの場合、ICカード20aが実行するプログラムはEEPROMに記憶される。
図3のステップS117及びS119の処理は、上述の処理に限定される必要はない。例えば、認証端末10a及びICカード20aの両方を一定期間使用不可能にしても良い。具体的には、ICカード20aの制御部201が通信部202を介して、一定期間使用不可能にすることを認証端末10aに通知し、認証端末10aの制御部102は、通信部103の動作を制御してICカード20aとの間で通信を行わないように制御する。さらに、ICカード20aの制御部201は、通信部202の動作を制御して認証端末10aとの間で通信を行わないように制御する。また、認証端末10aのみを一定期間使用不可能にしても良い。また、認証端末10aは解除用のパスワードを備えるように構成されても良い。そして、認証端末10aは解除用パスワードが入力されると、使用可能となるように構成されても良い。また、認証端末10aやICカード20aを使用不可能にして再発行又は再購入させるように構成されても良い。具体的には、ICカード20aの制御部201は、図3のステップS117及びS119の処理において自装置(ICカード20a)の認証機能を停止させて使用できないようにする。また、認証端末10aの制御部102は、図3のステップS117及びS119の処理において自装置(ICカード20a)の認証機能を停止させて使用できないようにする。
[第二動作例]
図4は、第一実施形態の第二動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。
図4(A)は、カード認証テーブルの一例を示す図である。カード認証テーブルは、ICカード20aの認証に関する情報を表すレコード43を複数有する。レコード43は、カードID、(N−1)回目受信乱数、(N−2)回目受信乱数の各値を有する。
カードIDの値は、ICカード20aを識別するためのIDを表す。(N−1)回目受信乱数の値は、(N−1)回目の認証が行われた際に通信部103が受信した次回乱数を表す。(N−2)回目受信乱数の値は、(N−2)回目の認証が行われた際に通信部103が受信した次回乱数を表す。
なお、(N−1)回目受信乱数及び(N−2)回目受信乱数の各値は、N回目の認証に使用される。N=1の場合の(N−1)回目受信乱数及び(N−2)回目受信乱数の各値は、管理者によって予め設定される。
図4(B)は、端末認証テーブルの一例を示す図である。端末認証テーブルは、認証端末10aの認証に関する情報を表すレコード44を複数有する。レコード44は、端末ID、(N−1)回目送信乱数、(N−2)回目送信乱数の各値を有する。
端末IDの値は、認証端末10aを識別するためのIDである。(N−1)回目送信乱数の値は、(N−1)回目の認証が行われた際に通信部202が送信した次回乱数を表す。(N−2)回目送信乱数の値は、(N−2)回目の認証が行われた際に通信部202が送信した次回乱数を表す。
なお、(N−1)回目送信乱数及び(N−2)回目送信乱数の各値は、N回目の認証に使用される。N=1の場合の(N−1)回目送信乱数及び(N−2)回目送信乱数の各値は、管理者によって予め設定される。
図5は、第一実施形態の第二動作例における認証方法の処理の流れを示すシーケンス図である。なお、認証端末10aからICカード20aへの無線信号の送信及びICカード20aから認証端末10aへの無線信号の送信は破線で表している。
まず、ユーザがICカード20aを認証端末10aに近づけることによって、N回目の認証処理が開始される。認証処理が開始されると、認証端末10aの通信部103は、近づけられたICカード20aを特定するために、ICカード20aにチャレンジ送信を行う。(ステップS201)。
ICカード20aの通信部202は、認証端末10aから送信されたチャレンジ送信を受信する。制御部201は、受信したチャレンジ送信に応じてレスポンスコードを作成する。通信部202は、作成されたレスポンスコード(例えば、カードIDなど)を認証端末10aに送信する(ステップS202)。認証端末10aの通信部103は、ICカード20aから送信されたレスポンスコードを受信する。制御部102は、受信したレスポンスコードを参照することによってICカード20aが登録済みのカードであるか否かを判定する(ステップS203)。
登録済みのカードである場合(ステップS203−YES)、制御部102は認証情報記憶部104に記憶されているカード認証テーブルを読み出す。制御部102は、読み出したカード認証テーブルに記録されているレコード43のうち、通信部103が受信したカードIDに対応するレコード43を選択する。制御部102は、選択したレコード43の(N−1)回目受信乱数の項目に記録されている値を取得する。通信部103は、取得した(N−1)回目受信乱数及び自装置(認証端末10a)の端末IDの各値をICカード20aに送信する(ステップS204)。
ICカード20aの通信部202は、認証端末10aから送信された(N−1)回目受信乱数及び認証端末10aの端末IDの各値を受信する。制御部201は、認証情報記憶部205に記憶されている端末認証テーブルを読み出す。制御部201は、読み出した端末認証テーブルに記録されているレコード44のうち、通信部202が受信した端末IDに対応するレコード44を選択する。制御部201は、選択したレコード44の(N−1)回目送信乱数の項目に記録されている値を取得する。
制御部201は、取得した(N−1)回目送信乱数の値と、通信部202が受信した(N−1)回目受信乱数の値とが一致するか否かを判定する(ステップS205)。(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致する場合(ステップS205−YES)、制御部201は(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したことを示す判定結果を通信部202に出力する。通信部202は出力された判定結果を認証端末10aに送信する(ステップS206)。
認証端末10aの通信部103は、ICカード20aから送信された判定結果を受信する。制御部102は、通信部103が受信した判定結果に基づいて(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したと判定する。制御部102は、カード認証テーブルを読み出す。制御部102は、読み出したカード認証テーブルに記録されているレコード43のうち、通信部103が受信したカードIDに対応するレコード43を選択する。制御部102は、選択したレコード43の(N−2)回目受信乱数の項目に記録されている値を取得する。通信部103は、取得したカード認証テーブルの(N−2)回目受信乱数の値をICカード20aに送信する(ステップS207)。
ICカード20aの通信部202は、認証端末10aから送信された(N−2)回目受信乱数の値を受信する。制御部201は、端末認証テーブルを読み出す。制御部201は、読み出した端末認証テーブルに記録されているレコード44のうち、ステップS205の処理で通信部202が受信した端末IDに対応するレコード44を選択する。制御部201は、選択したレコード46の(N−2)回目送信乱数の項目に記録されている値を取得する。
制御部201は、取得した(N−2)回目送信乱数の値と、通信部202が受信した(N−2)回目受信乱数の値とが一致するか否かを判定する(ステップS208)。(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致する場合(ステップS208−YES)、制御部201は(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致したことを示す判定結果を通信部202に出力する。さらに、制御部201は、乱数生成部207に乱数生成を指示する。乱数生成部207は、制御部201の指示に従い、次回乱数を生成する(ステップS209)。ICカード20aの通信部202は、判定結果及び生成された次回乱数の各値を認証端末10aに送信する(ステップS210)。
認証端末10aの通信部103は、判定結果及び生成された次回乱数の各値を受信する。制御部102は、通信部103が受信した判定結果に基づいて(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致したと判定する。
その後、制御部102は、カード認証テーブルの値を更新する。具体的には、まず、制御部102は、判定結果を送信したICカード20aのカードIDに対応するレコード43を選択する。制御部102は、選択したレコード43の(N−1)回目受信乱数の値を取得する。制御部102は、取得した(N−1)回目受信乱数の値を、選択したレコード43の(N−2)回目受信乱数の値に上書きすることによって値を更新する。次に、制御部102は、通信部103が受信した次回乱数の値を、選択したレコード43の(N−1)回目受信乱数の値に上書きすることによって値を更新する(ステップS211)。
制御部102は、更新した次回乱数及び自装置(認証端末10a)の端末IDの各値が含まれている更新情報を通信部103に出力する。通信部103は、出力された更新情報をICカード20aに送信する(ステップS212)。そして、認証端末10aは、ICカード20aの認証を完了する(ステップS213)。その後、認証端末10aは処理を終了する。
ICカード20aの通信部202は、認証端末10aから送信された更新情報を受信する。制御部201は、受信した更新情報から次回乱数及び認証端末10aの各値を取得する。端末認証テーブルを更新する。具体的には、まず、制御部201は、更新情報を送信した認証端末10aの端末IDに対応するレコード44を選択する。制御部201は、選択したレコード44の(N−1)回目送信乱数の値を取得する。その後、制御部201は、取得した(N−1)回目送信乱数の値を、選択したレコード44の(N−2)回目送信乱数の値に上書きすることによって値を更新する。次に、制御部201は、通信部202が受信した次回乱数の値を、選択したレコード44の(N−1)回目送信乱数の値に上書きすることによって値を更新する(ステップS214)。その後、ICカード20aは処理を終了する。
ステップS203の処理において、登録済みのカードではない場合(ステップS203−NO)、出力部105はカードの認証エラーをユーザに通知する(ステップS215)。その後、認証端末10aは処理を終了する。
ステップS205の処理において、(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致しない場合(ステップS205−NO)、ICカード20aの通信部202はエラーの通知を認証端末10aに送信する。認証端末10aの通信部103は、エラーの通知を受信する(ステップS216)。出力部105は、エラーをユーザに通知する(ステップS215)。その後、認証端末10aは処理を終了する。
ステップS208の処理において、(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致しない場合(ステップS208−NO)、認証端末10aの通信部103はエラーの通知を認証端末10aに送信する。認証端末10aの通信部103は、ICカード20aから送信されたエラーの通知を受信する(ステップS217)。出力部105は、エラーをユーザに通知する(ステップS215)。その後、認証端末10aは処理を終了する。
以上のように構成された認証システムによれば、N回目の認証が行われる際に、複数の乱数を用いて認証が行われる。また、N回目の認証が行われる際に、その認証に使用される乱数の送受信が行われない。具体的には、過去の認証が正しく行われた際に認証端末10aとICカード20aとの間で送受信された1又は複数の乱数が使用される。したがって、N回目の認証において認証端末10aとICカード20aとの間で送受信される乱数が盗聴された場合であっても、N回目の認証が不正に通過されることはない。また、N回目の認証が不正に通過されないため、(N+1)回目の認証で必要となる次回乱数が不正に取得されることもない。その結果、「なりすまし」などのセキュリティ上の問題を排除できる。そのため、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。
<変形例>
第二動作例は、第一動作例と同様に変形されても良い。
また、カード認証テーブルには、(N−1)回目受信乱数及び(N−2)回目受信乱数以外の値が記憶され、認証に使用されても良い。例えば、カード認証テーブルには、(N−3)回目受信乱数の値や(N−4)回目受信乱数の値ように、(N−2)回目受信乱数よりも前の次回乱数の値が記録され、認証に使用されても良い。
また、端末認証テーブルには、(N−1)回目送信乱数及び(N−2)回目送信乱数以外の値が記憶され、認証に使用されても良い。例えば、端末認証テーブルには、(N−3)回目送信乱数の値や(N−4)回目送信乱数の値ように、(N−2)回目送信乱数よりも前の次回乱数の値が記録され、認証に使用されても良い。
また、認証方法は、上述したように乱数同士の一致に基づいた処理に限定される必要はなく、その他の認証方法で認証処理が行われても良い。例えば、(N−1)回目送信乱数と(N−2)回目送信乱数とを加算した値と、(N−1)回目受信乱数と(N−2)回目受信乱数とを加算した値とを比較することによって認証が行われても良い。具体的には、まず、図5のステップS204の処理において、認証端末10aの制御部102は、カード認証テーブルに記録されている(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを取得する。その後、制御部102は、取得した(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを加算して合成乱数を生成する。通信部103は、生成された合成乱数の値をICカード20aに送信する。
次に、ステップS205の処理において、ICカード20aの通信部202は、認証端末20aから送信された合成乱数を受信する。制御部201は、端末認証テーブルに記録されている(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを取得する。その後、制御部201は、取得した(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを加算して合成乱数を生成する。その後、制御部201は、通信部202が受信した合成乱数の値と生成された合成乱数とが一致するか否かを判定する。このように、乱数同士を演算することによって認証が行われても良い。また、その他の演算(例えば、減算、乗算、除算など)によって算出された値を用いて認証が行われても良い。
[第二実施形態]
図6は、認証システムの第二実施形態におけるシステム構成を示す概略ブロック図である。第二実施形態の認証システムは、認証端末10b及びICカード20bを備える。
以下、認証端末10b及びICカード20bの機能構成を説明する。まず、認証端末10bの機能構成を説明する。
認証端末10bは、バスで接続されたCPUやメモリや補助記憶装置などを備え、認証プログラムを実行する。認証プログラムの実行によって、認証端末10bは、入力部101、制御部102、通信部103、認証情報記憶部104、出力部105、暗号化部106、乱数生成部301を備える装置として機能する。なお、認証端末10bの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。また、認証プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、認証プログラムは、電気通信回線を介して送受信されても良い。
認証端末10bは、乱数生成部301を備えている点で認証端末10aと構成が異なる。認証端末10bは、他の構成については認証端末10aと同様である。そのため、認証端末10bの構成のうち認証端末10aと共通する構成についての説明は省略し、乱数生成部301について説明する。
乱数生成部301は、制御部102の指示に従い、乱数を生成する。例えば、乱数生成部301は、制御部102の指示に従い、次回乱数を生成する。
次に、ICカード20bの機能構成を説明する。
ICカード20bは、乱数生成部207を備えない点でICカード20aと構成が異なる。ICカード20bは、他の構成についてはICカード20aと同様である。そのため、ICカード20bの説明は省略する。
以下、本発明の認証システムの第二実施形態における具体的な動作例(第一動作例及び第二動作例)について説明する。
[第一動作例]
図7は、第二実施形態の第一動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。
図7(A)は、カード認証テーブルの一例を示す図である。カード認証テーブルは、ICカード20bの認証に関する情報を表すレコード45を複数有する。レコード45は、カードID、(N−1)回目送信乱数の各値を有する。
カードIDの値は、ICカード20bを識別するためのIDを表す。(N−1)回目送信乱数の値は、(N−1)回目の認証が行われた際に通信部103が送信した次回乱数を表す。なお、(N−1)回目送信乱数の値は、N回目の認証に使用される。N=1の場合の(N−1)回目送信乱数の値は、管理者によって予め設定される。
図7(B)は、端末認証テーブルの一例を示す図である。端末認証テーブルは、認証端末10bの認証に関する情報を表すレコード46を複数有する。レコード46は、端末ID、(N−1)回目受信乱数の各値を有する。
端末IDの値は、認証端末10bを識別するためのIDを表す。(N−1)回目受信乱数の値は、(N−1)回目の認証が行われた際に通信部202が受信した次回乱数を表す。なお、(N−1)回目受信乱数の値は、N回目の認証に使用される。N=1の場合の(N−1)回目受信乱数の値は、管理者によって予め設定される。
図8は、第二実施形態の第一動作例における認証処理の流れを示すシーケンス図である。なお、認証端末10bからICカード20bへの無線信号の送信及びICカード20bから認証端末10bへの無線信号の送信は破線で表している。また、第一実施形態と同様の処理については、第一実施形態と同様の符号を付して説明する。
まず、ユーザがICカード20bを認証端末10bに近づけることによって、N回目の認証処理が開始される。認証処理が開始されると、認証端末10bの入力部101は、PINコードの入力を受け付ける(ステップS101)。ユーザによってPINコードが入力されると、暗号化部106は、PINコード及び自装置(認証端末10b)の端末IDの各値を、DESを用いて暗号化することによってDES暗号化情報を生成する。通信部103は、生成されたDES暗号化情報をICカード20bに送信する(ステップS102)。
ICカード20bの通信部202は、認証端末10aから送信されたDES暗号化情報を受信する(ステップS103)。復号化部206は、通信部202が受信したDES暗号化情報を復号化することによってPINコード及び端末IDの各値を取得する。復号化部206は、取得したPINコード及び端末IDの各値をRAM204に記録する。
制御部201は、RAM204に記録されているPINコードを取得する。その後、制御部201は、予めユーザによって設定されたPINコードの値と取得したPINコードの値とが一致するか否かを判定する(ステップS104)。PINコードが一致する場合(ステップS303−YES)、制御部201はRAM204に記憶されているPINカウンタのカウンタ値をリセットする(ステップS105)。
次に、制御部201は、認証情報記憶部205に記憶されている端末認証テーブルを読み出す。制御部201は、読み出した端末認証テーブルに記録されているレコード46のうち、通信部202が受信した端末IDに対応するレコード46を選択する。制御部201は、選択したレコード46の(N−1)回目受信乱数の項目に記録されている値を取得する(ステップS301)。通信部202は、取得した(N−1)回目受信乱数の値及び自装置(ICカード20b)のカードIDを認証端末10bに送信する(ステップS302)。
認証端末10bの通信部103は、ICカード20bから送信された(N−1)回目受信乱数及びカードIDの各値を受信する。制御部102は、認証情報記憶部104に記憶されているカード認証テーブルを読み出す。制御部102は、読み出したカード認証テーブルに記録されているレコード45のうち、通信部103が受信したカードIDに対応するレコード45を選択する。制御部102は、選択したレコード45の(N−1)回目送信乱数の項目に記録されている値を取得する。
制御部102は、取得した(N−1)回目送信乱数の値と、通信部103が受信した(N−1)回目受信乱数の値とが一致するか否かを判定する(ステップS303)。(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致する場合(ステップS303−YES)、制御部102は乱数生成部301に乱数生成を指示する。乱数生成部301は、制御部102の指示に従い、次回乱数を生成する(ステップS304)。制御部102は(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したことを示す判定結果及び生成された次回乱数を通信部103に出力する。通信部103は出力された判定結果及び次回乱数をICカード20bに送信する(ステップS305)。
ICカード20bの通信部202は、認証端末10bから送信された判定結果を受信する。制御部201は、通信部202が受信した判定結果に基づいて(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したと判定する。制御部201は、端末認証テーブルの(N−1)回目受信乱数の値を、RAM204が記憶している次回乱数の値で上書きして記録することによって値を更新する(ステップS306)。
制御部201は、更新した次回乱数の値が含まれている更新情報を通信部202に出力する。通信部202は、出力された更新情報を認証端末10bに送信する(ステップS307)。その後、ICカード20bは、処理を終了する。
認証端末10bの通信部103は、ICカード20bから送信された更新情報を受信する。制御部102は、受信した更新情報から次回乱数の値を取得する。制御部102は、カード認証テーブルの(N−1)回目送信乱数の値を、取得した次回乱数の値で上書きして記録することによって値を更新する(ステップS308)。そして、認証端末10bは、ICカード20bの認証を完了する(ステップS309)。その後、認証端末10bは処理を終了する。
ステップS303の処理において、PINコードが一致しない場合(ステップS104−NO)、ICカード20bの制御部201はRAM204に記憶されているPINカウンタのカウンタ値に“1”を加算する。その後、制御部201は、PINカウンタのカウンタ値が閾値以上か否かを判定する(ステップS116)。カウンタ値が閾値以上である場合(ステップS116−YES)、制御部201はICカード20bを一定期間使用不可能にする。例えば、制御部201は、通信部202の動作を制御して認証端末10bとの間で通信を行えないようにすることによって一定期間(例えば、10分、1時間など)使用不可能にする(ステップS117)。その後、ICカード20aは処理を終了する。
一方、カウンタ値が閾値未満である場合(ステップS116−NO)、ICカード20bの通信部202はPINコードの入力エラーを認証端末10bに通知する。認証端末10bの通信部103は、PINコードの入力エラーを受信する。出力部105は、受信した入力エラーに応じてユーザにPINコードの入力エラーを通知する(ステップS118)。その後、認証端末10bは、ステップS101以降の処理を繰り返し実行する。
ステップS303の処理において、(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致しない場合(ステップS303−NO)、認証端末10bの出力部105はユーザにエラーを通知する(ステップS310)。その後、認証端末10bは処理を終了する。
以上のように構成された認証システムによれば、N回目の認証が行われる際に、その認証で使用される乱数の送受信が行われない。具体的には、N回目の認証が行われる際に認証端末10bとICカード20bとの間で送受信された乱数が使用される。したがって、N回目の認証において認証端末10bとICカード20bとの間で送受信される乱数が盗聴された場合であっても、N回目の認証が不正に通過されることはない。また、N回目の認証が不正に通過されないため、(N+1)回目の認証で必要となる次回乱数が不正に取得されることもない。その結果、「なりすまし」などのセキュリティ上の問題を排除できる。そのため、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。
<変形例>
本実施例では、非接触タイプのICカード20bを用いた構成を示したが、接触タイプのICカード20bを用いて構成されても良い。この場合、ICカード20bがユーザによって認証端末10bに挿入された後に認証処理が開始されても良い。
本実施例では、PIN入力による照合を行う構成を示したが、これに限定される必要はなく、生体情報による照合が行われても良い。
本実施例では、DESを用いた暗号化方式によって暗号化を行う構成を示したが、例えば、AESを用いて暗号化が行われても良い。また、その他のアルゴリズムを用いて暗号化が行われても良い。
認証システムによる認証結果は、その後にどのような処理に用いられても良い。例えば、認証処理が終了した後、その認証処理とは異なる認証処理が行われても良い。また、暗号化通信が行われても良い。
認証端末10bが記憶しているカード認証テーブルは、不図示のホスト装置が記憶するように構成されても良い。ホスト装置とは、自装置(ホスト装置)に帰属している1又は複数の認証端末10aを制御している装置である。ホスト装置がカード認証テーブルを記憶する場合、認証が行われる際に、認証端末10bがホスト装置からカード認証テーブルを読み出して認証処理を行っても良い。
上述した構成では、認証端末10bとICカード20bとの間で送受信された次回乱数は認証に使用されたが、共通鍵として使用されても良い。
また、ICカード20bが実行するプログラムをROM203に代わってEEPROM(Electrically Erasable Programmable Read-Only Memory)が記憶するように構成されても良い。例えば、JAVAカード(登録商標)などのICカード20bの場合、ICカード20bが実行するプログラムはEEPROMに記憶される。
また、認証方法は、上述したように乱数同士の一致に基づいた処理に限定される必要はなく、その他の認証方法で認証処理が行われても良い。例えば、乱数同士の排他的論理和によって認証が行われても良いし、乱数及びハッシュ値を用いて認証が行われても良い。
また、ICカード20bが記憶する端末認証テーブルは、上述の構成に限定される必要はない。例えば、認証端末10bが共有端末として構成される場合、ICカード20bは共有端末に対応する(N−1)回目受信乱数の値のみを記憶するように構成されても良い。図9を用いて具体的に説明する。
図9は、変形例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。
図9(A)は、カード認証テーブルの一例を示す図である。カード認証テーブルの構成は、上述したとおりであるので説明を省略する。
図9(B)は、端末認証テーブルの一例を示す図である。端末認証テーブルは、共有端末の認証に関する情報を表す(N−1)回目受信乱数の値を有する。
(N−1)回目受信乱数の値は、(N−1)回目の認証が行われた際に、通信部202が受信した次回乱数を表す。なお、(N−1)回目受信乱数の値は、N回目の認証に使用される。N=1の場合の(N−1)回目受信乱数の値は、管理者によって予め設定される。
図9に示すように、ICカード20bは、認証端末10bの端末ID毎に乱数の値を記憶する必要がない。また、N回目の認証には、その認証より前にICカード20bと認証端末10bとの間で送受信された乱数が使用される。したがって、N回目の認証の際にICカード20bと認証端末10bとの間で送受信される乱数が盗聴されて使用された場合であっても、認証が完了しない。その結果、「なりすまし」などのセキュリティ上の問題を排除できる。そのため、少ないメモリ容量のICカード20bであっても通信の際に生じるセキュリティの低下を抑止させることが可能となる。
図9のシーケンス図のステップS313の処理は、上述の処理に限定される必要はない。例えば、認証端末10b及びICカード20bの両方を一定期間使用不可能にしても良いし、認証端末10bを一定期間使用不可能にしても良い。また、認証端末10bは解除用のパスワードを備えるように構成されても良い。そして、認証端末10bは解除用パスワードが入力されると、使用可能となるように構成されても良い。
[第二動作例]
図10は、第二実施形態の第二動作例におけるカード認証テーブル及び端末認証テーブルの一例を示す図である。
図10(A)は、カード認証テーブルの一例を示す図である。カード認証テーブルは、ICカード20bの認証に関する情報を表すレコード49を複数有する。レコード49は、カードID、(N−1)回目送信乱数、(N−2)回目送信乱数の各値を有する。
カードIDの値は、ICカード20bを識別するためのIDを表す。(N−1)回目送信乱数の値は、(N−1)回目の認証が行われた際に通信部103が送信した次回乱数を表す。(N−2)回目送信乱数の値は、(N−2)回目の認証が行われた際に通信部103が送信した次回乱数を表す。
なお、(N−1)回目送信乱数及び(N−2)回目送信乱数の各値は、N回目の認証に使用される。N=1の場合の(N−1)回目送信乱数及び(N−2)回目送信乱数の各値は、管理者によって予め設定される。
図10(B)は、端末認証テーブルの一例を示す図である。端末認証テーブルは、認証端末10bの認証に関する情報を表すレコード50を複数有する。レコード50は、端末ID、(N−1)回目受信乱数、(N−2)回目受信乱数の各値を有する。
端末IDの値は、認証端末10bを識別するためのIDである。(N−1)回目受信乱数の値は、(N−1)回目の認証が行われた際に通信部202が受信した次回乱数を表す。(N−2)回目受信乱数の値は、(N−2)回目の認証が行われた際に通信部202が受信した次回乱数を表す。
なお、(N−1)回目受信乱数及び(N−2)回目受信乱数の各値は、N回目の認証に使用される。N=1の場合の(N−1)回目受信乱数及び(N−2)回目受信乱数の各値は、管理者によって予め設定される。
図11は、第二実施形態の第二動作例における認証方法の処理の流れを示すシーケンス図である。なお、認証端末10bからICカード20bへの無線信号の送信及びICカード20bから認証端末10bへの無線信号の送信は破線で表している。また、第一実施形態と同様の処理については、第一実施形態と同様の符号を付して説明する。
まず、ユーザがICカード20bを認証端末10bに近づけることによって、N回目の認証処理が開始される。認証処理が開始されると、認証端末10bの通信部103は、近づけられたICカード20bを特定するために、ICカード20bにチャレンジ送信を行う。(ステップS201)。
ICカード20bの通信部202は、認証端末10bから送信されたチャレンジ送信を受信する。制御部201は、受信したチャレンジ送信に応じてレスポンスコードを作成する。通信部202は、作成されたレスポンスコード(例えば、カードIDなど)を認証端末10bに送信する(ステップS202)。認証端末10bの通信部103は、ICカード20bから送信されたレスポンスコードを受信する。制御部102は、受信したレスポンスコードを参照することによってICカード20bが登録済みのカードであるか否かを判定する(ステップS203)。
登録済みのカードである場合(ステップS203−YES)、通信部103は認証する際に用いられる乱数送信の指示及び自装置(認証端末10b)の端末IDをICカード20bに送信する(ステップS401)。ICカード20bの通信部202は、認証端末10bから送信された乱数送信の指示及び端末IDを受信してRAM204に記録する。
制御部201は認証情報記憶部205に記憶されている端末認証テーブルを読み出す。制御部201は、読み出した端末認証テーブルに記録されているレコード50のうち、RAM204に記録されている端末IDに対応するレコード50を選択する。制御部201は、選択したレコード50の(N−1)回目受信乱数の項目に記録されている値を取得する(ステップS402)。通信部202は、取得した(N−1)回目受信乱数の値を認証端末10bに送信する(ステップS403)。
認証端末10bの通信部103は、ICカード20bから送信された(N−1)回目受信乱数の値を受信する。制御部102は、認証情報記憶部104に記憶されているカード認証テーブルを読み出す。制御部102は、読み出したカード認証テーブルに記録されているレコード49のうち、カードIDに対応するレコード49を選択する。制御部201は、選択したレコード49の(N−1)回目送信乱数の項目に記録されている値を取得する。
制御部102は、取得した(N−1)回目送信乱数の値と、通信部103が受信した(N−1)回目受信乱数の値とが一致するか否かを判定する(ステップS404)。(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致する場合(ステップS404−YES)、制御部102は判定結果を通信部103に出力する。判定結果には、(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したことを示す情報が含まれている。通信部103は、出力された判定結果をICカード20bに送信する(ステップS405)。
ICカード20bの通信部202は、認証端末10bから送信された判定結果を受信する。制御部201は、通信部202が受信した判定結果に基づいて(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致したと判定する。制御部201は、端末認証テーブルを読み出す。制御部201は、読み出した端末認証テーブルに記録されているレコード50のうち、判定結果を送信した認証端末10bの端末IDに対応するレコード50を選択する。制御部201は、選択したレコード50の(N−2)回目受信乱数の項目に記録されている値を取得する(ステップS406)。通信部202は、取得した(N−2)回目受信乱数の値を認証端末10bに送信する(ステップS407)。
認証端末10bの通信部103は、ICカード20bから送信された(N−2)回目受信乱数の値を受信する。制御部102は、認証情報記憶部104からカード認証テーブルを読み出す。制御部102は、読み出したカード認証テーブルに記録されているレコード49のうち、ステップS402の処理でRAM204に記録されたカードIDに対応するレコード49を選択する。
制御部102は、選択したレコード49の(N−2)回目送信乱数の項目に記録されている値を取得する。制御部102は、取得した(N−2)回目送信乱数の値と、通信部202が受信した(N−2)回目受信乱数の値とが一致するか否かを判定する(ステップS408)。
(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致する場合(ステップS408−YES)、制御部102は乱数生成部301に乱数生成を指示する。乱数生成部301は、制御部102の指示に従い、次回乱数を生成する(ステップS409)。制御部102は(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致したことを示す判定結果及び生成された次回乱数を通信部103に出力する。さらに、認証端末10bの通信部103は、判定結果及び生成された次回乱数の各値をICカード20bに送信する(ステップS410)。
ICカード20bの通信部202は、判定結果及び生成された次回乱数の各値を受信してRAM204に記録する。制御部201は、RAM204に記録されている判定結果から(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致したと判定する。 その後、制御部201は、カード認証テーブルの値を更新する。具体的には、まず、制御部201は、端末IDに対応するレコード50を選択する。制御部201は、選択したレコード50の(N−1)回目受信乱数の値を取得する。制御部201は、取得した(N−1)回目受信乱数の値を、選択したレコード50の(N−2)回目受信乱数の値に上書きすることによって値を更新する。
次に、制御部201は、RAM204に記録されている次回乱数の値を、選択したレコード50の(N−1)回目受信乱数の値に上書きすることによって値を更新する(ステップS411)。
制御部201は、更新した次回乱数の値が含まれている更新情報を通信部202に出力する。通信部202は、出力された更新情報をICカード20bに送信する(ステップS412)。その後、ICカード20bは処理を終了する。
認証端末10bの通信部103は、ICカード20bから送信された更新情報を受信する。制御部102は、受信した更新情報から次回乱数の値を取得する。制御部102は、カード認証テーブルを更新する。具体的には、まず、制御部102は、カードIDに対応するレコード49を選択する。制御部201は、選択したレコード49の(N−1)回目送信乱数の値を取得する。その後、制御部201は、取得した(N−1)回目送信乱数の値を、選択したレコード49の(N−2)回目送信乱数の値に上書きすることによって値を更新する。次に、制御部201は、通信部202が受信した次回乱数の値を、選択したレコード49の(N−1)回目送信乱数の値に上書きすることによって値を更新する(ステップS413)。その後、認証端末10bは、ICカード20bの認証を完了し処理を終了する。
ステップS203の処理において、登録済みのカードではない場合(ステップS203−NO)、出力部105はカードの認証エラーをユーザに通知する(ステップS214)。その後、認証端末10bは処理を終了する。
ステップS404の処理において、(N−1)回目送信乱数の値と、(N−1)回目受信乱数の値とが一致しない場合(ステップS404−NO)、出力部105はカードの認証エラーをユーザに通知する(ステップS214)。その後、認証端末10bは処理を終了する。
ステップS408の処理において、(N−2)回目送信乱数の値と、(N−2)回目受信乱数の値とが一致しない場合(ステップS208−NO)、出力部105はカードの認証エラーをユーザに通知する(ステップS214)。その後、認証端末10bは処理を終了する。
以上のように構成された認証システムによれば、N回目の認証が行われる際に、複数の乱数を用いて認証が行われる。また、N回目の認証が行われる際に、その認証に使用される乱数の送受信が行われない。具体的には、N回目の認証が行われる際に認証端末10bとICカード20bとの間で送受信された1又は複数の乱数が使用される。したがって、N回目の認証において認証端末10bとICカード20bとの間で送受信される乱数が盗聴された場合であっても、N回目の認証が不正に通過されることはない。また、N回目の認証が不正に通過されないため、(N+1)回目の認証で必要となる次回乱数が不正に取得されることもない。その結果、「なりすまし」などのセキュリティ上の問題を排除できる。そのため、通信を行う際に生じるセキュリティの低下を抑止させることが可能となる。
<変形例>
第二動作例は、第一動作例と同様に変形して構成されても良い。
また、カード認証テーブルには、(N−1)回目送信乱数及び(N−2)回目送信乱数以外の値が記憶され、認証に使用されても良い。例えば、(N−3)回目送信乱数の値や(N−4)回目送信乱数の値ように、(N−2)回目送信乱数よりも前の次回乱数の値が記録され、認証に使用されても良い。
また、端末認証テーブルには、(N−1)回目受信乱数及び(N−2)回目受信乱数以外の値が記憶され、認証に使用されても良い。例えば、(N−3)回目受信乱数の値や(N−4)回目受信乱数の値ように、(N−2)回目受信乱数よりも前の次回乱数の値が記録され、認証に使用されても良い。
また、認証方法は、上述したように乱数同士の一致に基づいた処理に限定される必要はなく、その他の認証方法で認証処理が行われても良い。例えば、(N−1)回目送信乱数と(N−2)回目送信乱数とを加算した値と、(N−1)回目受信乱数と(N−2)回目受信乱数とを加算した値とを比較することによって認証が行われても良い。具体的には、まず、図11のステップS403の処理において、ICカード20bの制御部201は、端末認証テーブルに記録されている(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを取得する。その後、制御部201は、取得した(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを加算して合成乱数を生成する。通信部202は、生成された合成乱数の値を認証端末10bに送信する。
次に、ステップS404の処理において、認証端末10bの通信部103は、ICカード20bから送信された合成乱数を受信する。制御部102は、カード認証テーブルに記録されている(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを取得する。その後、制御部102は、取得した(N−1)回目受信乱数の値と(N−2)回目受信乱数の値とを加算して合成乱数を生成する。その後、制御部102は、通信部103が受信した合成乱数の値と生成された合成乱数とが一致するか否かを判定する。このように、乱数同士を演算することによって認証が行われても良い。また、その他の演算(例えば、減算、乗算、除算など)によって算出された値を用いて認証が行われても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10…認証端末(端末装置a及び端末装置b), 20…ICカード(ICカードa及びICカードb), 101…入力部, 102…制御部(認証部、共有処理部、取得部), 103…通信部(取得部), 104…認証情報記憶部, 105…出力部, 106…暗号化部, 201…制御部(認証部、共有処理部、取得部), 202…通信部(取得部), 203…ROM, 204…RAM, 205…認証情報記憶部, 206…復号化部, 207…乱数生成部(認証情報生成部), 301…乱数生成部

Claims (7)

  1. 認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得部と、
    前記取得部によって取得された認証情報に基づいて認証を行う認証部と、
    乱数を生成する乱数生成部と、
    前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、
    を備える認証媒体。
  2. 前記認証部は、前記取得部が取得した前記複数の認証情報を演算することによって認証を行う請求項1に記載の認証媒体。
  3. 前記複数の認証情報は、異なる認証時に前記認証媒体及び端末装置の間で共有された認証情報である請求項2に記載の認証媒体。
  4. 前記認証部は、前記認証において認証されない場合、前記端末装置及び自装置の両方またはいずれか一方を使用不可能とする請求項1〜3のいずれか1項に記載の認証媒体。
  5. 認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得部と、
    前記取得部によって取得された認証情報に基づいて認証を行う認証部と、
    乱数を生成する乱数生成部と、
    前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、
    を備える認証端末。
  6. 認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得部と、
    前記取得部によって取得された認証情報に基づいて認証を行う認証部と、
    乱数を生成する乱数生成部と、
    前記認証部によって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理部と、
    を備える認証システム。
  7. 認証を行う際に、以前の認証時に認証媒体及び端末装置の間で共有された認証情報を取得する取得ステップと、
    前記取得ステップによって取得された認証情報に基づいて認証を行う認証ステップと、
    乱数を生成する乱数生成ステップと、
    前記認証ステップによって認証がなされた場合に、前記認証媒体及び前記端末装置との間で前記乱数を共有するための処理を行う共有処理ステップと、
    を有する認証方法。
JP2012247624A 2012-11-09 2012-11-09 認証媒体、認証端末、認証システム及び認証方法 Pending JP2014096727A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012247624A JP2014096727A (ja) 2012-11-09 2012-11-09 認証媒体、認証端末、認証システム及び認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012247624A JP2014096727A (ja) 2012-11-09 2012-11-09 認証媒体、認証端末、認証システム及び認証方法

Publications (1)

Publication Number Publication Date
JP2014096727A true JP2014096727A (ja) 2014-05-22

Family

ID=50939464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012247624A Pending JP2014096727A (ja) 2012-11-09 2012-11-09 認証媒体、認証端末、認証システム及び認証方法

Country Status (1)

Country Link
JP (1) JP2014096727A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145356A (ja) * 1996-09-11 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証機能を有する情報送受信制御方法及びその方法を記録した記録媒体
JP2002344371A (ja) * 2001-05-11 2002-11-29 Sharp Corp 監視システム、監視ユニット、応答ユニット、監視プログラム、監視プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005176231A (ja) * 2003-12-15 2005-06-30 Oki Electric Ind Co Ltd 認証システムおよび方法、ならびに、証明装置および検証装置
JP2012134710A (ja) * 2010-12-21 2012-07-12 Panasonic Corp 認証システム、認証装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145356A (ja) * 1996-09-11 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> ユーザ認証機能を有する情報送受信制御方法及びその方法を記録した記録媒体
JP2002344371A (ja) * 2001-05-11 2002-11-29 Sharp Corp 監視システム、監視ユニット、応答ユニット、監視プログラム、監視プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005176231A (ja) * 2003-12-15 2005-06-30 Oki Electric Ind Co Ltd 認証システムおよび方法、ならびに、証明装置および検証装置
JP2012134710A (ja) * 2010-12-21 2012-07-12 Panasonic Corp 認証システム、認証装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014009143; 楫 勇一、他: 'パスワード事前宣言による個人認証法-磁気カードを用いた安全な個人認証法' 電子情報通信学会技術研究報告 Vol.95,No.423, 19951215, p.21-28, 社団法人電子情報通信学会[オンライン] *

Similar Documents

Publication Publication Date Title
US11238139B2 (en) Methods for securely storing sensitive data on mobile device
KR101800737B1 (ko) 사용자 인증을 위한 스마트기기의 제어방법, 이를 수행하기 위한 기록매체
US8477940B2 (en) Symmetric cryptography with user authentication
US9112680B2 (en) Distribution of credentials
US7805615B2 (en) Asymmetric cryptography with user authentication
US7912789B2 (en) Electronic value, electronic purse device, and system for using the same
US8213902B2 (en) Smart card accessible over a personal area network
US8189788B2 (en) Hybrid symmetric/asymmetric cryptography with user authentication
CN106255976B (zh) 机密数据管理方法及装置以及安全认证方法及系统
JP6374119B2 (ja) 統合型近距離無線通信インフラストラクチャのためのセキュリティプロトコル
WO2016061118A1 (en) Securing host card emulation credentials
JP2016504661A (ja) ダイナミックトラック2情報を用いたモバイル決済システムおよび方法
KR101745706B1 (ko) 생체 정보 기반 인증 장치 그리고 이의 동작 방법
CN106611310B (zh) 数据处理的方法、穿戴式电子设备和系统
CN106713618A (zh) 一种验证码的处理方法及移动终端
US20150295919A1 (en) Self-authenticating card
US20130073840A1 (en) Apparatus and method for generating and managing an encryption key
US20200184056A1 (en) Method and electronic device for authenticating a user
US20120243678A1 (en) Data protection using distributed security key
JP2014212420A (ja) 認証媒体、認証端末、認証システム及び認証方法
JP2014096727A (ja) 認証媒体、認証端末、認証システム及び認証方法
JP5514780B2 (ja) 通信システム、送信装置及び受信装置
JP2014212474A (ja) 秘密鍵配送方法
US11736297B2 (en) System and method for hash value confirmation of electronic communications
US20230086015A1 (en) Ic card asymmetric labelling system and ic card built-in password input system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170314