説明

認証システムおよびその方法

【課題】
PIN情報をデータキャリアの外部に露出させず、認証管理のための従来のアプリケーションを修正することなく、新規な認証の仕組みを提供する。
【解決手段】
データキャリアは、内部でPIN情報を生成する手段と、サービスアプリケーションに関連して、生成されたPIN情報を保管するPIN保管部と、利用者本人に固有の情報を保持する認証情報保管部と、認証情報保管部に保持された認証情報を参照して正当な利用者を認証するための認証アプリケーション部と、認証アプリケーションによる認証結果に従って、PIN保管部に保管されたPIN情報を検証する手段と、この検証手段によるPIN情報の検証の結果に従ってサービスを行うサービスアプリケーション部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システムおよびその方法に係り、ICカード等のデータキャリアを用いたシステムにおける認証、及びその認証結果に従ってサービスアプリケーション等を実行する認証システム、及び認証を行うデータキャリア、及び認証方法に関する。
【背景技術】
【0002】
クレジットや銀行等がICカードを用いた利用者に対してサービスを提供する場合、不正な第三者によるサービスの利用を防ぐために、通常、PIN(Personal Identification Number)による認証を用いて、正当な本人の認証を行っている。
【0003】
PINの認証に関しては、各サービスに個別にPINを管理する方法も考えられる。しかしその場合には、利用者が複数のPINを管理しなければならず、利便性の観点から問題がある。また、利用者によっては、管理の手間を省くために、全てのサービスにわたって同じPINを設定することを希望することも予想される。しかしそのような場合であっても、各サービスの開始時に毎回PIN認証を行う必要があるため、利便性の観点からやはり問題が残る。
【0004】
そこで、例えば、非特許文献1に開示されているように、ICカードの全体を管理するカードマネージャにPINを管理させ、各サービスではカードマネージャのPINの検証状態を参照することにより、利用者は毎回PINを入力する必要がなくなり、利用者の利便性を向上させる技術が知られている。
【0005】
最近では、セキュリティ意識の高まりから、各サービスにおける本人の認証は、PIN認証ではなく、指紋や静脈や虹彩などの生体を用いたより高度な認証が求められている。しかし、従来のICカード内のサービスアプリケーションは、独自で管理するPINやカードマネージャが管理するPINなど、PIN認証にのみ対応しており、新たな認証方式を利用するためには、サービスアプリケーションに新たな認証機能を組み込む必要がある。
【0006】
その要求を満たすために、特開2003−203213号公報(特許文献1)に開示されているように、ICカード内に、生体認証等の認証処理を行う認証アプリケーションと、ICカード内で行う認証結果を一元的に管理する認証管理アプリケーションを搭載し、認証アプリケーションで行った認証処理の結果を認証管理アプリケーションが管理し、サービスアプリケーションは、認証管理アプリケーションが管理している認証結果フラグを参照することで、新たな認証方式をサービスアプリケーションに導入する技術が知られている。
【0007】
また、米国特許出願公開第2004/0034784A1号明細書(特許文献2)に開示されているように、サーバにおいてICカード内のPIN情報を管理し、サーバにおいて生体認証に成功した場合にICカードにサーバで管理しているPIN情報を設定し、その後、設定したPINを用いてサービスを提供する技術が知られている。
【0008】
【非特許文献1】GlobalPlatform Inc., "Card Specification Version 2.1.1", [online], 2003年3月, GlobalPlatform Inc., p.84, [2006年6月27日検索], インターネット<URL:http://www.globalplatform.org/specificationview.asp?id=archived>
【特許文献1】特開2003−203213号公報
【特許文献2】米国特許出願公開第2004/0034784A1号明細書
【発明の開示】
【発明が解決しようとする課題】
【0009】
然るに、上記特許文献1の技術によれば、サービスアプリケーションが、認証管理アプリケーションで管理している認証結果を参照しなければならないため、サービスアプリケーションの修正が必要となる。また、特許文献2の技術によれば、生体認証が成功した時に、サーバからICカードにPINを送信する技術の場合には、通信路が暗号化されているとはいえ、PINデータがICカードの外部に露出してしまうため、盗聴されるおそれがある。
【0010】
本発明は、認証管理のための従来のアプリケーションを変更することなく、新たな仕組みの認証を行うことができる認証システム及び方法、及びデータキャリアを提供することにある。
また、本発明は、PIN情報をデータキャリアの外部に露出させないで、利用者の認証を行うことができ、より安全にサービスのアプリケーションを実行することにある。
【課題を解決するための手段】
【0011】
本発明に係るデータキャリアは、好ましくは、サービス提供者装置からサービスの提供を受けるために使用されるデータキャリアであって、サービスアプリケーションの利用に関連して予め用意されたPIN情報を保管するPIN保管部と、利用者本人に固有の情報を保持する認証情報保管部と、認証情報保管部に保持された認証情報を参照して正当な利用者を認証するための認証アプリケーション部と、認証アプリケーションによる認証結果に従って、PIN保管部に保管されたPIN情報を検証する手段と、検証手段によるPIN情報の検証の結果に従ってサービスを行うサービスアプリケーション部とを有することを特徴とするデータキャリアとして構成される。
【0012】
好ましい例では、前記認証情報保管部は利用者の生体情報を保持し、前記認証アプリケーション部は生体情報を参照して認証処理を行う。
また、好ましくは、前記データキャリアは、複数のサービスアプリケーション部と、複数のサービスアプリケーションで利用されるデータを保管するデータ保管部とを有する。
また、好ましくは、前記データキャリアは更に、内部でPIN情報を生成する手段と持つPIN管理アプリケーション部を有し、前記PIN保管部は、PIN管理アプリケーション部で生成されたPIN情報を保管する。
また、好ましくは、前記PIN管理アプリケーション部の生成手段は乱数を生成し、生成された乱数をPIN情報としてPIN保管部に格納する。
【0013】
本発明に係る認証システムは、好ましくは、利用者が正当な本人であることを認証し、サービス提供者装置から利用者が持つデータキャリアに対してコマンドを送信してサービスを提供する認証システムにおいて、サービス提供者装置は、データを送受信するための通信部と、データキャリアに送信するコマンドを生成するコマンド生成部と、サービスを提供するサービス提供部と、を有し、
データキャリアは、サービスアプリケーションの利用に関連して予め用意されたPIN情報を保管するPIN保管部と、PIN情報を管理するPIN管理アプリケーション部と、利用者本人に固有の情報を保持する認証情報保管部と、認証情報保管部に保持された認証情報を参照して正当な利用者を認証するための認証アプリケーション部と、認証アプリケーションによる認証結果に従って、PIN保管部に保管されたPIN情報を検証する手段と、検証手段によるPIN情報の検証の結果に従ってサービスを行うサービスアプリケーション部とを有することを特徴とする認証システムとして構成される。
【0014】
好ましい例では、前記サービス提供者装置は、データキャリアの認証アプリケーション部に対して、認証依頼コマンドを送信し、認証アプリケーション部は認証処理を行ってPIN管理アプリケーション部に対して認証結果を送信し、PIN管理アプリケーション部は、受信した認証結果から認証に成功していると判断した場合に、PIN保管部に保持しているPIN情報を読み込み、検証手段にてPIN保管部に保管されているPIN情報を検証し、サービス提供者装置は、サービスアプリケーション部に対して、サービス開始依頼を送信し、サービスアプリケーション部はPIN状態を検証して、検証結果に従ってサービスを開始する。
【0015】
本発明はまた、PIN情報の管理方法としても把握される。
即ち、カード発行者装置を用いて、ICカードで用いられるPIN情報の生成して管理する方法であって、サービスアプリケーションに関連して予め用意されたPIN情報を保管するPIN保管部と、PIN情報を生成する手段と有し、生成されたPIN情報を管理するPIN管理アプリケーション部と、利用者本人に固有の情報を保持する認証情報保管部と、認証情報保管部に保持された認証情報を参照して正当な利用者を認証するための認証アプリケーション部と、認証アプリケーションによる認証結果に従って、PIN保管部に保管されたPIN情報を検証する手段と、検証手段によるPIN情報の検証の結果に従ってサービスを行うサービスアプリケーション部とを有するICカードに対して、
カード発行者装置より、PIN管理アプリケーション部に対して、初期化依頼コマンドを送信し、PIN管理アプリケーション部は、生成手段によってPIN情報を生成し、PIN管理アプリケーション部は、PIN情報が正しく設定されたと判断した場合に、PIN情報をPIN保管部に格納することを特徴とするICカードのPIN情報の管理方法として構成される。
好ましい例では、カード発行者装置が、PIN管理アプリケーション部に対して、初期化依頼コマンドを送信する際に、PIN管理アプリケーション部で認証結果を保持する認証保持時間と、PIN管理アプリケーション部で署名を検証する際に利用する鍵データを送信し、PIN管理アプリケーション部は、受信した認証保持時間を認証保持時間保管部に格納し、受信した鍵データを鍵保管部に格納する。
【0016】
本発明に係る認証方法は、好ましくは、利用者が所持するデータキャリアを用いて、利用者が正当な本人であることを認証し、認証の結果に応じてサービスの提供を許容する認証方法において、データキャリアの内部でPIN情報を生成するステップと、生成されたPIN情報を保管部に格納するステップと、サービスの利用に際して、予め保管部に保持された利用者本人の認証情報を照合して正当な利用者を認証するステップと、認証の結果、正当な本人であると判断された場合、PIN保管部に保持されたPIN情報を検証するステップと、PIN情報の検証の結果に従ってサービスを許容するステップと、を有することを特徴とする認証方法として構成される。
好ましい例では、前記認証情報として利用者の生体情報と用い、前記PIN情報として乱数を生成する。
【発明の効果】
【0017】
本発明によれば、認証管理のために従来のサービスアプリケーションを変更することなく、生体認証等の新たな認証を採用することができ、その認証結果と連携させて利用することが可能となる。また、利用されるPIN情報をデータキャリアから外部に露出させないので、より安全にサービスを提供することが可能となる。また、利用者は実際に利用するカードマネージャのPIN情報を覚えておく必要がない。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して本発明の一実施形態について説明する。
図1は、一実施形態によるICカードの認証システムの一例を示す図である。
このICカードの認証システムは、ネットワーク30を介してお互いに接続された、ICカード10にアクセスする端末20と、サービスを提供する複数のサービス提供者装置40〜40(以後、総称して40ということがある)と、ICカード10を発行するカード発行者装置50とを含んで構成される。
【0019】
ICカード10は、外部からコマンドを受信し、受信したコマンドの内容により処理を行い、処理結果を返信する機能を有する。
ICカード10は、コマンドを受信し、処理結果を送信するデータ送受信部101と、コマンドを解析するコマンド解析部102と、コマンドに従い処理を実行するサービスアプリケーション部103〜103(以後、103ということがある)と、サービスアプリケーション部103〜103で利用するデータを保管するデータ保管部104〜104(以後、104ということがある)と、生体認証処理を行う認証アプリケーション部105と、認証アプリケーション部105で照合の対象として使用される認証情報(例えば生体情報)を予め保管する認証情報保管部106と、ICカード内のカードマネージャのPIN情報を管理するPIN管理アプリケーション部107と、PIN管理アプリケーション部107で使用されるPIN情報を保管するPIN保管部108と、PIN管理アプリケーション部107で利用する時刻情報を保管する時刻情報保管部109と、PIN管理アプリケーション部107で利用する認証保持時間を保管する認証保持時間保管部110と、PIN管理アプリケーション部で利用する署名検証用の鍵を保管する鍵保管部111と、ICカード10内のアプリケーションやステータス等を管理するカードマネージャ部112と、カードマネージャ部112のPIN検証で利用されるPIN情報を予め保管するPIN保管部113と、カードマネージャ部112で利用するPIN状態を保持するPIN状態保持部114と、を有する。
【0020】
本実施例においては、PIN検証で使用されるPIN情報を、従来のように、サービス提供を受ける度に利用者によって入力させないで、予めPIN保管部108に格納しておく。これにより、サービスの都度、PIN情報を利用者によって入力させる必要がないので、利用者は複数のサービスアプリケーションに対応したPIN情報を覚えておく必要がない。また、PIN情報は予めICカード内の保管部に格納されているので、カードの外部に露出することが無くなる。
なお、PIN情報の生成及びPIN保管部への格納処理は、カード発行装置50による初期化処理の制御に従って行われるが、その詳細については図10を参照して後述する。
【0021】
更に、複数のサービスアプリケーション部103について言えば、例えば、サービスアプリケーション103がクレジットカード会社Aのサービス用カード、103がクレジットカード会社Bのサービス用カード、・・103がY銀行のサービス用カード、として利用されるが如きである。この1枚のICカード10で、複数の異なるサービスの提供を受けることができる。その場合でも、本実施例によれば、各サービスで新たに使用され始めた生体認証に対応することができ、かつ従来からあるサービスアプリケーションとそれに使用されたPIN情報の対応を変更する必要がない。その理由及び処理動作は、後述の説明から理解されるであろう。
【0022】
端末20は、ICカード10に対してデータの送受信を行うための装置であり、例えば、銀行の現金自動入出金装置(ATM)やクレジット会社のサービス端末などが該当する。この端末20は、ICカード10に対してコマンドの送受信を行うICカードアクセス部201と、ネットワーク30とデータ送受信を行うデータ送受信部202と、ICカード10に対して送信するコマンドを生成するコマンド生成部203を有する。
【0023】
サービス提供者装置40は、利用者にサービスを提供する装置であり、例えば、クレジット会社や銀行などのサーバが該当する。このサービス提供者装置40は、ネットワーク30とデータ送受信を行う通信部401と、ICカード10に対し送信するコマンドを生成するコマンド生成部402と、コマンドを生成する際に利用する鍵を保管する鍵保管部403と、ICカードに対しサービスを提供するサービス提供部404を有する。
【0024】
カード発行者装置50はICカードを発行する装置であり、ネットワークとデータ送受信を行う通信部501と、ICカード10に対し送信するコマンドを生成するコマンド生成部502と、コマンドを生成する際に利用する鍵を保管する鍵保管部503と、ICカード10の発行情報を保持する発行情報保持部504を有する。
【0025】
図2はICカード10のハードウェア構成を示す。
ICカード10は、端末20とデータの送受信を行う入出力部11と、種々のデータ処理を行うCPU12と、認証処理に使用される照合対象となる生体情報やPIN情報、鍵などを記憶する耐タンパ記憶部13及び耐タンパメモリ14が、バスなどの内部通信線15で接続して構成される。これらの情報は、当初耐タンパ記憶部13に記憶されており、認証処理や検証などの実行時に、耐タンパメモリ14に読み込まれて使用される。
ここで、ICカードの形態としてはテレホンカードのようなカード形状に限定するものではなく、図2の構成を持つものであれば、例えば、MMCやSDカードのようなメモリーカード形状であってもよい。
【0026】
図3は端末20のハードウェア構成を示す。
端末20は、例えばICカードリーダを備えたパソコンであり、ネットワーク30とデータの通信を行う通信部21と、利用者等によって操作されるキーボードや表示器などの入出力部22と、ICカード10との間でデータの送受信を行うICカード入出力部23と、種々のデータを記憶する記憶部24と、データ処理するCPU25と、プログラム及びデータを記憶するメモリ26と、プログラム等を記憶した媒体28を読み取る読取部27が、バスなどの内部通信線29で接続して構成される。
【0027】
図4はサービス提供者装置40のハードウェア構成を示す。
サービス提供者装置40、例えばクレジット会社のサーバは、ネットワーク30とデータ通信する通信部41と、キーボードや表示器などの入出力部42と、ハードディスクのような記憶部43と、サービスのためのデータ処理するCPU44と、プログラム及び処理用のデータを記憶するメモリ45と、プログラム等を記憶した媒体47を読み取る読取部46、がバスなどの内部通信線48で接続して構成されている。
なお、カード発行者装置50のハードウェア構成も図3と同様である。ネットワーク30を介して端末20と通信するので、ICカード入出力部23は無くてもよい。
【0028】
次に、本実施形態によるICカードの認証処理について説明する。以下に述べる処理動作は、各装置の記憶部に格納されたプログラムがメモリにロードされ、CPUで実行されることにより、ICカードの認証のための諸動作が行われる。なお、それぞれのプログラムは予め記憶部に格納されていてもよいし、他の記憶媒体またはネットワークのような通信媒体を介して必要な時にロードされても良い。
【0029】
図5は、ICカードにおける認証処理を示すフローチャートである。
この例は、ICカード10内の認証アプリケーション部105とサービスアプリケーション部103を連携させる場合の第1の実施形態を示す。
まず、サービス提供者装置40は、ICカードで認証処理を行いたい場合に、認証依頼を実行し(S501)、ICカード10の認証アプリケーション部105に対して認証依頼コマンド(A501)を送信する。ここで、認証依頼コマンドには、生体認証やその他の認証方式を行う際に必要とされる認証情報のデータが含まれる。例えば、認証処理のために端末20で取得された生体情報は、この認証依頼コマンドに付加されて送信される。
【0030】
ICカード10において、認証アプリケーション部105は、受信した認証依頼コマンドを解析し、認証処理を実施する(S502)。ここで、認証処理とは、サービス利用者本人を認証する処理であり、例えば生体認証やその他の認証方式などを意味する。特に、認証の処理を限定するものではない。この認証結果(A502)は、PIN管理アプリケーション部107に送信される。
【0031】
PIN管理アプリケーション部107では、受信した認証結果(A502)を検証する(S503)。検証した結果、認証に失敗していると判断した場合には、認証アプリケーション部105経由でサービス提供者装置40に対して、認証エラー(A503)を送信し、処理を中止する。一方、認証に成功していると判断した場合には、PIN保管部108に格納されているPIN情報を読み込み(S504)、カードマネージャ部112に対して、PIN検証コマンド(A504)を送信する。ここで、PIN検証コマンドには、PIN保管部108から読み出したPIN情報が含まれる。
【0032】
次に、カードマネージャ部112は、受信したPIN検証コマンド中のPIN情報と、PIN保管部113に予め格納されているPIN情報とを照合して、PIN検証を行う(S505)。PIN検証の結果、PIN管理アプリケーション部107と認証アプリケーション部105を経由してサービス提供者装置40に対して、処理が完了した旨のレスポンス(A505)を返送する。
【0033】
サービス提供者装置40は、処理完了のレスポンスを受信すると、サービスアプリケーション部103に対し、サービス開始依頼コマンド(A506)を送信する。サービスアプリケーション部103は、カードマネージャ部112に対し、PIN状態確認コマンド(A507)を送信する。カードマネージャ部112は、受信したPIN状態確認コマンドを解析し、PIN状態保持部114を参照してPIN状態を取得する(S506)。そして、サービスアプリケーション部103に対してPIN状態(A508)を送信する。
【0034】
サービスアプリケーション部103は、受信したPIN状態を検証する(S507)。検証した結果、PINが未検証であると判断された場合には、サービス提供者装置40に対してPIN未検証エラー(A509)を送信して処理を中止する。一方、PINが検証済であると判断した場合には、サービスを開始する(S508)。
【0035】
以上の処理により、認証アプリケーション部105とサービスアプリケーション部103を連携させることが可能となる。
なお、1枚のICカード10が複数のサービスアプリケーション部103を有する場合でも、個々のサービスアプリケーション部103iを利用したサービス開始のための認証処理は上述と同様である。そのサービスアプリケーション部103に対応して複数のサービス提供者装置40が存在する場合でも、各サービス提供者装置40jからのサービス提供に伴う認証処理は上述と同様である。
【0036】
また、複数のサービスアプリケーション部103を持ったICカードによるサービス提供の場合、認証アプリケーション部105による認証処理は、サービスの度に実施してもよいし、初回に一度だけ実施してもよい。さらに、PIN検証(S505)については、1つのPIN情報を複数のサービスアプリケーション部103で共通的に利用することもできる。
また、この実施例によれば、ICカード内に、本人認証機能としてカードマネージャのPINを参照する機能しか保持しないサービスアプリケーションが格納されている場合でも、まず、認証アプリケーションを用いて、生体認証等の認証処理を実行し、認証結果をPIN管理アプリケーションに送信することができる。
【0037】
次に、図6及び図7のフローチャートを参照して第2の実施形態について説明する。
この例は、図5に示した認証処理をさらに安全にするために、PIN管理アプリケーション部105に対して、認証処理からの経過時刻を管理する機能を付加した例である。最初に、図6を参照して、認証処理における時刻情報等を用いた処理の前段を説明し、その後、図7を参照して、時刻情報等による検証及びPIN検証について説明する。
【0038】
図6において、まず、サービス提供者装置40は、ICカード内で認証処理を行いたい場合に、認証依頼を実行し(S601)、シーケンス番号と時刻情報1を取得する(S602)。ここで、時刻情報は、サービス提供者装置40内の時刻を取得してもよいし、外部のサーバの時刻を取得してもよい。また、シーケンス番号は、サービス提供者装置40内で保持しているシーケンス番号を取得してもよいし、サービス提供者装置40内で一時的に乱数等を生成し、それをシーケンス番号としてもよい。さらに外部のサーバで管理しているシーケンス番号を取得してもよい。
【0039】
次に、シーケンス番号と時刻情報1に対して署名を生成する(S603)。ここで、署名の生成は、サービス提供者装置40内で行っても良いし、外部のサーバに委託してもよい。次に、シーケンス番号と時刻情報1と署名を用いて、図8のような構造を持つ時刻データを生成する(S604)。
【0040】
ここで、図8に示す時刻データの構成について説明しておく。時刻データ(A801)は、時刻データの順序を示すシーケンス番号(A802)を先頭に配置し、次に時刻情報(A803)を配置する。最後に、A802とA803のデータが正当なデータであることを保証するために、サービス提供者装置40の鍵保管部403やカード発行者装置50の鍵保管部503に存在する署名生成用の秘密鍵を用いて署名を生成し、署名(A804)として付加する。
【0041】
さて、サービス提供者装置40は、図8の認証依頼コマンドと時刻データ1(A601)を、認証アプリケーション部105に対して送信する。ここで、認証依頼コマンドには、生体認証やその他の認証方式を行う際に必要とされる認証情報のデータが含まれる。
ICカード10において、認証アプリケーション部105は、受信した認証依頼コマンドを解析し、認証処理を実施する(S605)。ここで、認証処理とは生体認証やその他の認証方式による処理である。その認証処理の結果、認証結果と時刻データ1(A602)がPIN管理アプリケーション部107に送信される。
【0042】
PIN管理アプリケーション部107では、受信した認証結果を検証する(S606)。検証した結果、認証に失敗していると判断した場合には、認証アプリケーション部105を経由してサービス提供者装置40に対して、認証エラー(A603)を送信し、処理を中止する。一方、認証に成功していると判断した場合には、受信した時刻データの署名を検証する(S607)。
【0043】
署名の検証の結果、不正な署名であると判断した場合には、認証アプリケーション部105を経由してサービス提供者装置40に対して、署名検証エラー(A604)を送信し、処理を中止する。一方、正当な署名であると判断された場合には、時刻データ中の時刻情報1とシーケンス番号を時刻情報保管部109に書き込む(S608)。次に、認証アプリケーション部105を経由してサービス提供者装置40に対し、処理が完了した旨を伝えるレスポンス(A605)を送信する。
【0044】
次に、図7を参照して第2の実施形態における、後段の処理、即ち時刻情報等による検証及びPIN検証等の処理ついて説明する。
この処理によって、PIN管理アプリケーション部105に対して、認証処理からの経過時刻が管理されるので、認証処理をさらに安全にすることができる。
前提として、図6による処理が終了しているものとする。
まず、サービス提供者装置40は、シーケンス番号と時刻情報2を取得する(S701)。ここで時刻情報の取得には、サービス提供者装置40内の時刻を取得してもよいし、外部のサーバの時刻を取得してもよい。また、シーケンス番号はS602において取得したシーケンス番号を1増加したものである。次に、シーケンス番号と時刻情報2に対して署名を生成する(S702)。ここで、署名の生成は、サービス提供者装置40内で行っても良いし、外部のサーバに委託してもよい。次に、シーケンス番号と時刻情報2と署名を用いて、図8のような構造を持つ時刻データ2を生成する(S703)。そして、PIN管理アプリケーション部107に対して、時刻データ2(A701)を送信する。
【0045】
ICカード10において、PIN管理アプリケーション部107は、受信した時刻データの署名を検証する(S704)。検証した結果、不正な署名であると判断した場合には、サービス提供者装置40に対して、署名検証エラー(A702)を送信し、処理を中止する。一方、正当な署名であると判断した場合には、時刻データの中のシーケンス番号を検証する(S705)。
シーケンス番号の検証の結果、シーケンス番号が不正であると判断した場合には、サービス提供者装置40に対し、シーケンス番号エラー(A703)を送信し、処理を中止する。一方、正当なシーケンス番号と判断した場合には、時刻データ2の中の時刻情報2と、時刻情報保管部109に保持している時刻情報1から、経過時間を導出する(S706)。
【0046】
次に、経過時間と、認証保持時間保管部110に格納されている認証保持時間との大小関係を検証する(S707)。検証した結果、経過時間が認証保持時間よりも長いと判断した場合には、サービス提供者装置40に対して、時間経過エラー(A704)を送信し、処理を中止する。
一方、経過時間が認証保持時間よりも短いと判断した場合には、PIN保管部108に格納されているPIN情報を読み込み(S708)、カードマネージャ部112に対し、PIN検証コマンド(A705)を送信する。ここで、PIN検証コマンドには、PIN保管部108から読み出したPIN情報が含まれる。
【0047】
カードマネージャ部112は、受信したPIN検証コマンドの中のPIN情報と、PIN保管部113に格納されているPIN情報とを照合して、PIN検証を行う(S709)。その後、PIN管理アプリケーション部107を経由してサービス提供者装置40に対し、処理が完了した旨を示すレスポンス(A706)を返す。サービス提供者装置40は、レスポンスを受信すると、サービスアプリケーション部103に対して、サービス開始依頼コマンド(A707)を送信する。
【0048】
ICカード10において、サービスアプリケーション部103は、サービス開始依頼コマンド(A707)を受信すると、カードマネージャ部112に対し、PIN状態確認コマンド(A708)を送信する。カードマネージャ部112は、受信したPIN状態確認コマンドを解析し、PIN状態保持部114を参照し、PIN状態を取得する(S710)。そして、サービスアプリケーション部103に対して、PIN状態(A709)を送信する。サービスアプリケーション部103は、受信したPIN状態を検証する(S711)。
PIN状態の検証の結果、PINが未検証であると判断した場合には、サービス提供者装置40に対して、PIN未検証エラー(A710)を送信し、処理を中止する。一方、PINが検証済であると判断した場合には、サービスを開始する(S712)。
【0049】
以上の処理によれば、図5を参照した例に比べて、認証依頼だけを行い、サービス開始依頼を実行しない場合、PINの検証状態がカードマネージャ部112に利用者の意図に反して長期間保持されるというような危険を排除することができる。
【0050】
次に、図9を参照して第3の実施形態について説明する。
この例は、図6及び図7による第2の実施態様の変形例である。認証依頼よりも先にサービス開始依頼を行う例である。
まず、サービス提供者装置40は、ICカード10のサービスアプリケーション部103に対し、サービス開始依頼コマンド(A901)を送信する。サービスアプリケーション部103は、サービス開始依頼コマンド(A901)を受信すると、カードマネージャ部112に対して、PIN状態確認コマンド(A902)を送信する。
【0051】
次に、カードマネージャ部112は、受信したPIN状態確認コマンドを解析し、PIN状態保持部114を参照してPIN状態を取得する(S901)。そして、サービスアプリケーション部103に対してPIN状態(A903)を送信する。
サービスアプリケーション部103は、受信したPIN状態を検証する(S902)。PIN状態の検証の結果、PINが検証済であると判断した場合には、サービスを開始する(S903)。一方、PINが未検証であると判断した場合には、サービス提供者装置40に対して、PIN未検証エラー(A904)を送信する。
サービス提供者装置40は、認証処理(S904)、サービス開始処理(S905)を順に行う。この認証処理(S904)は、例えば図5に示す認証処理(S502)であり、サービス開始処理(S905)とは、認証結果に従ってサービスを開始するためのサービス開始依頼コマンド(A506)の処理である。
【0052】
次に、図10を参照して、PIN管理アプリケーション部107の初期化処理動作について説明する。
まず、カード発行者装置50は、初期化依頼を行い(S1001)、ICカード10内のPIN管理アプリケーション部107に対して、初期化依頼コマンド、認証保持時間データ、署名検証用鍵データ(A1001)を送信する。
【0053】
ICカード10において、PIN管理アプリケーション部107は、乱数を生成し(S1002)、カードマネージャ部112へPIN設定コマンド(A1002)を送信する。ここで、PIN設定コマンドには、生成した乱数が含まれる。
カードマネージャ部112は、受信したPIN設定コマンドを解析して、PIN設定を行う(S1003)。この処理により、PIN管理アプリケーション部107で生成した乱数がPIN保管部113に設定される。次に、PIN管理アプリケーション部107に対し、PIN設定結果(A1003)を送信する。
【0054】
次に、PIN管理アプリケーション部107は、受信したPIN設定結果を検証する(S1004)。PIN設定結果の検証の結果、PINの設定に失敗していると判断した場合には、カード発行者装置50に対し、PIN設定エラー(A1004)を送信し、処理を中止する。
一方、PINの設定に成功していると判断した場合には、ステップS1002において生成した乱数をPINデータとして、PIN保管部108に格納する(S1005)。次に、カード発行者装置50から受信した認証保持時間データを、認証保持時間保管部110に格納する(S1006)。
次に、カード発行者装置50から受信した署名検証用鍵データを、鍵保管部111に格納し(S1007)、カード発行者装置50に対して処理が完了した旨を示すレスポンス(A1005)を送信する。
【0055】
以上の処理により、PINデータはICカード内部で生成されて保管されるので、ICカードの外部に露出することがなく、PINデータを安全に管理、利用することができる。なお、この処理は、PIN管理アプリケーションをICカードに搭載する時に、又はそれをICカードに搭載した後に行っても良い。
【0056】
以上、幾つかの実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
例えば、図1の例では、ICカード10は複数のサービスアプリケーション部103を有しているが、必ずしも複数に限らず、1つのサービスアプリケーション部103でもよい。
【0057】
また、ICカード10内に端末20の機能が含まれ、ICカード自体でネットワーク30と接続が可能な場合には、図1のICカード10と端末20は、共通の媒体又は装置として表現される。また、ICカードの利用については、必ずしも図1のような、ネットワーク30を経由した利用に限らない。ICカードをクレジット会社のサーバに直接に挿入して利用する等の場合もある。
また、ICカード10に限らず、利用者が所持する記憶媒体や携帯端末等のデータキャリアにおいて、同様の認証及認証結果に基づいてサービスアプリケーションを起動するような例にも適用可能である。
【0058】
また、上記実施形態はICカードを用いた認証システム、或いはICカードにおける認証として発明を把握することができるが、観点を変えれば、本発明は、係るICカードの認証結果に従ってサービスを提供するサービスシステムとして把握することもできる。
【図面の簡単な説明】
【0059】
【図1】一実施形態によるICカードの認証システムの構成例を示す図。
【図2】ICカードの認証システムにおけるICカード10のハードウェア構成を示す図。
【図3】ICカードの認証システムにおける端末20のハードウェア構成を示す図。
【図4】ICカードの認証システムにおけるサービス提供者装置40のハードウェア構成を示す図。
【図5】第1の実施形態によるICカードにおける認証処理動作を示すフローチャート。
【図6】第2の実施形態によるICカードにおける認証処理動作を示すフローチャート。
【図7】第2の実施形態によるICカードにおける認証処理動作を示すフローチャート。
【図8】第2の実施形態において利用される時刻データの構造を示す図。
【図9】第3の実施形態によるICカードの認証処理結果に基づくサービス開始処理に関する処理を示すフローチャート。
【図10】一実施形態によるPIN管理アプリケーション部を初期化する際の処理動作を示すフローチャート。
【符号の説明】
【0060】
10:ICカード、20:端末、30:ネットワーク、40〜40:サービス提供者装置、50:カード発行者装置、101:データ送受信部、102:コマンド解析部、103〜103:サービスアプリケーション部、104〜104:データ保管部、105:認証アプリケーション部、106:認証情報保管部、107:PIN管理アプリケーション部、108:PIN保管部、109:時刻情報保管部、110:認証保持時間保管部、111:鍵保管部、112:カードマネージャ部、113:PIN保管部、114:PIN状態保持部、201:ICカードアクセス部、202:データ送受信部、203:コマンド生成部、401:通信部、402:コマンド生成部、403:鍵保管部、404:サービス提供部、501:通信部、502:コマンド生成部、503:鍵保管部、504:発行情報保持部。

【特許請求の範囲】
【請求項1】
サービス提供者装置からサービスの提供を受けるために使用されるデータキャリアであって、サービスアプリケーションの利用に関連して予め用意されたPIN情報を保管するPIN保管部と、利用者本人に固有の情報を保持する認証情報保管部と、該認証情報保管部に保持された認証情報を参照して正当な利用者を認証するための認証アプリケーション部と、該認証アプリケーションによる認証結果に従って、該PIN保管部に保管されたPIN情報を検証する手段と、該検証手段によるPIN情報の検証の結果に従ってサービスを行うサービスアプリケーション部とを有することを特徴とするデータキャリア。
【請求項2】
前記認証情報保管部は該利用者の生体情報を保持し、前記認証アプリケーション部は該生体情報を参照して認証処理を行うことを特徴とする請求項1のデータキャリア。
【請求項3】
前記データキャリアは、複数のサービスアプリケーション部と、該複数のサービスアプリケーションで利用されるデータを保管するデータ保管部と、を有することを特徴とする請求項1乃至2のいずれかのデータキャリア。
【請求項4】
前記データキャリアは更に、内部でPIN情報を生成する手段と持つPIN管理アプリケーション部を有し、前記PIN保管部は、該PIN管理アプリケーション部で生成されたPIN情報を保管することを特徴とする請求項1乃至3のいずれかのデータキャリア。
【請求項5】
前記PIN管理アプリケーション部の生成手段は乱数を生成し、生成された該乱数をPIN情報として該PIN保管部に格納することを特徴とする請求項4のデータキャリア。
【請求項6】
利用者が正当な本人であることを認証し、サービス提供者装置から利用者が持つデータキャリアに対してコマンドを送信してサービスを提供する認証システムにおいて、
該サービス提供者装置は、データを送受信するための通信部と、該データキャリアに送信するコマンドを生成するコマンド生成部と、サービスを提供するサービス提供部と、を有し、
該データキャリアは、サービスアプリケーションの利用に関連して予め用意されたPIN情報を保管するPIN保管部と、該PIN情報を管理するPIN管理アプリケーション部と、利用者本人に固有の情報を保持する認証情報保管部と、該認証情報保管部に保持された認証情報を参照して正当な利用者を認証するための認証アプリケーション部と、該認証アプリケーションによる認証結果に従って、該PIN保管部に保管されたPIN情報を検証する手段と、該検証手段によるPIN情報の検証の結果に従ってサービスを行うサービスアプリケーション部とを有することを特徴とする認証システム。
【請求項7】
前記サービス提供者装置は、該データキャリアの該認証アプリケーション部に対して、認証依頼コマンドを送信し、該認証アプリケーション部は認証処理を行って該PIN管理アプリケーション部に対して認証結果を送信し、該PIN管理アプリケーション部は、受信した認証結果から認証に成功していると判断した場合に、PIN保管部に保持しているPIN情報を読み込み、該検証手段にて該PIN保管部に保管されているPIN情報を検証し、該サービス提供者装置は、該サービスアプリケーション部に対して、サービス開始依頼を送信し、該サービスアプリケーション部はPIN状態を検証して、該検証結果に従ってサービスを開始することを特徴とする請求項6の認証システム。
【請求項8】
前記認証情報保管部は該利用者の生体情報を保持し、前記認証アプリケーション部は該生体情報を参照して認証処理を行うことを特徴とする請求項6乃至7のいずれかの認証システム。
【請求項9】
前記データキャリアは、複数のサービスアプリケーション部と、該複数のサービスアプリケーションで利用されるデータを保管するデータ保管部と、を有することを特徴とする請求項6乃至8のいずれかの認証システム
【請求項10】
該サービス提供者装置は、1番目の時刻情報を取得し、該認証アプリケーション部に対して、認証依頼コマンドと該時刻情報と該シーケンス番号を送信し、該認証アプリケーション部は、認証処理を行い、該PIN管理アプリケーション部に対して、認証結果と該時刻情報を送信し、該PIN管理アプリケーション部は、受信した認証結果から認証に成功していると判断した場合に、該時刻情報を該PIN管理アプリケーション部に保持し、該サービス提供者装置は、2番目の時刻情報を取得し、該PIN管理アプリケーション部に対し、該2番目の時刻情報を送信し、該PIN管理アプリケーション部は、該1番目の時刻情報と該2番目の時刻情報の差を導出し、時間差が認証保持時間保管部に保持された認証保持時間よりも小さいと判断した場合に、該PIN保管部に保持されているPIN情報を読み込み、前記検証手段は該PIN情報を検証し、該サービス提供者装置は、該サービスアプリケーション部に対し、サービス開始依頼を送信し、該サービスアプリケーション部は、該サービスアプリケーション部はPIN情報が検証済であると判断した場合にサービスを開始することを特徴とする請求項6乃至9のいずれかの認証システム
【請求項11】
該データキャリアは、前記検証手段と有すると共に、内部で保持しているPIN状態を取得する手段を有するカードマネージャ部を備え、
該サービス提供者装置は、該サービスアプリケーション部に対して、サービス開始依頼を送信し、該サービスアプリケーション部は、該カードマネージャ部に対して、PIN状態確認コマンドを送信し、該カードマネージャ部は内部で保持しているPIN状態を取得し、該サービスアプリケーション部に対して、PIN状態を送信し、該サービスアプリケーション部は受信したPIN状態が検証済であると判断した場合にサービスを開始し、該サービスアプリケーション部は受信したPIN状態が未検証であると判断した場合に、該サービス提供者装置に対して、PIN未検証エラーを送信し、該サービス提供者装置は、該認証アプリケーション部に対して認証依頼コマンドを送信することを特徴とする請求項6乃至10のいずれかの認証システム
【請求項12】
該サービス提供者装置は、該1番目の時刻情報を取得する際に、該1番目の時刻情報にデータの順番を示す1番目のシーケンス番号を付加し、前期1番目の時刻情報と該1番目のシーケンス番号の組み合わせに対し署名を生成し、該PIN管理アプリケーション部は、受信した署名を検証し、正当な署名であると判断した場合に、該1番目の時刻情報と該1番目のシーケンス番号を時刻情報保管部に書き込み、該サービス提供者装置は、該2番目の時刻情報を取得する際に、該2番目の時刻情報にデータの順番を示す2番目のシーケンス番号を付加し、該2番目の時刻情報と該2番目のシーケンス番号の組み合わせに対し署名を生成し、該PIN管理アプリケーション部は、受信した署名と2番目のシーケンス番号を検証し、正当な署名とシーケンス番号であると判断した場合に、該1番目の時刻情報と該2番目の時刻情報から経過時間を導出することを特徴とする請求項6乃至11のいずれかの認証システム。
【請求項13】
該PIN管理アプリケーション部は、該認証アプリケーション部から受信した認証結果を検証した結果、認証エラーであると判断した時、該認証アプリケーション部から受信した1番目の時刻情報の署名を検証した結果、正当な署名ではないと判断した時、該サービス提供者装置から受信した該2番目の時刻情報の署名を検証した結果、正当な署名ではないと判断した時、該サービス提供者装置から受信したシーケンス番号が不正であると判断した時、該1番目の時刻情報と該2番目の時刻情報から導出した経過時間が認証保持時間保管部に設定されている保持時間よりも長いと判断した時、カードマネージャ部より受信したPIN設定結果を検証した結果、PIN設定エラーであると判断した時、該認証アプリケーション部や該サービス提供者装置に対してエラー通知を行うことを特徴とする請求項6乃至12のいずれかの認証システム。
【請求項14】
カード発行者装置を用いて、ICカードで用いられるPIN情報の生成して管理する方法であって、
サービスアプリケーションに関連して予め用意されたPIN情報を保管するPIN保管部と、該PIN情報を生成する手段と有し、生成されたPIN情報を管理するPIN管理アプリケーション部と、利用者本人に固有の情報を保持する認証情報保管部と、該認証情報保管部に保持された認証情報を参照して正当な利用者を認証するための認証アプリケーション部と、該認証アプリケーションによる認証結果に従って、該PIN保管部に保管されたPIN情報を検証する手段と、該検証手段によるPIN情報の検証の結果に従ってサービスを行うサービスアプリケーション部とを有するICカードに対して、
該カード発行者装置より、該PIN管理アプリケーション部に対して、初期化依頼コマンドを送信し、該PIN管理アプリケーション部は、該生成手段によってPIN情報を生成し、該PIN管理アプリケーション部は、該PIN情報が正しく設定されたと判断した場合に、該PIN情報を該PIN保管部に格納することを特徴とするICカードのPIN情報の管理方法。
【請求項15】
該カード発行者装置が、該PIN管理アプリケーション部に対して、該初期化依頼コマンドを送信する際に、該PIN管理アプリケーション部で認証結果を保持する認証保持時間と、該PIN管理アプリケーション部で署名を検証する際に利用する鍵データを送信し、該PIN管理アプリケーション部は、受信した認証保持時間を該認証保持時間保管部に格納し、受信した鍵データを該鍵保管部に格納することを特徴とする請求項14のPIN情報の管理方法。
【請求項16】
該利用者が所持するデータキャリアを用いて、該利用者が正当な本人であることを認証し、該認証の結果に応じてサービスの提供を許容する認証方法において、
該データキャリアの内部でPIN情報を生成するステップと、生成された該PIN情報を保管部に格納するステップと、サービスの利用に際して、予め保管部に保持された利用者本人の認証情報を照合して正当な利用者を認証するステップと、該認証の結果、正当な本人であると判断された場合、該PIN保管部に保持されたPIN情報を検証するステップと、該PIN情報の検証の結果に従ってサービスを許容するステップと、を有することを特徴とする認証方法。
【請求項17】
前記認証情報として利用者の生体情報と用い、前記PIN情報として乱数を生成することを特徴とする請求項16の認証方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−90712(P2008−90712A)
【公開日】平成20年4月17日(2008.4.17)
【国際特許分類】
【出願番号】特願2006−272733(P2006−272733)
【出願日】平成18年10月4日(2006.10.4)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成18年度 独立行政法人情報通信研究機構「モバイル端末におけるセキュリティ保護技術に関する研究開発」委託研究、産業再生法第30条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】