カード発行管理方法
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は磁気カードなどを、会社または業種別などの発行源ごとに発行する場合にそのカード発行を発行源ごとに管理するカード発行管理方式に関する。
【0002】
【従来の技術】料金情報が例えば磁気的に記録されたカードを予め購入し、そのカードの使用の度毎に料金情報が減額されて書き換えられ、残り金額がある限り使用可能なプリペイドカード方式が様々の業種に幅広く用いられている。この種のプリペイドカードは現金と同様の性格を持つものであり、そのプリペイドカードを発行するカード発行装置、いわゆるエンコーダの起動(カード発行)には操作者の鍵と管理者の鍵といった2つの鍵を必要とするなどその発行は厳重な管理のもとで行われている。
【0003】
【発明が解決しようとする課題】しかしながら、このような発行方法では、エンコーダが動作状態に入ると操作者に任されるため余分に記録を行い不正にカードを入手するなどの不正操作を可能としていた。また、カードを発行する会社とカードに磁気情報を記録する会社とが異なる場合には、実際に記録したカードの数をカード発行会社で正確に把握できないなどの問題があった。
【0004】この発明は、このような点にかんがみ、カードを不正操作により発行することを不可能にするとともに、カードを発行したときは必ずその証拠が残るようにして不正カードの発行を不可能とするカード発行管理方法を提供することを目的とする。
【0005】
【課題を解決するための手段】この発明は発行源ごとにカードを発行するカード発行装置のカード発行を管理する方法であって、前記カード発行装置と補助装置発行装置とにキー情報により暗号化/復号化する暗号アルゴリズムと特定のマスターキーKMおよび補助キーKM′とを記憶しておき、上記暗号アルゴリズムが記憶されているカード発行補助装置を前記補助装置発行装置へ装着して、その補助装置発行装置に、発行源を特定する会社コードAとその発行源の暗証情報Saを入力すると、前記補助装置発行装置は前記会社コードA及び前記暗証情報Saから前記マスターキーKMをキー情報として前記暗号アルゴリズムで暗号化してカードキーKA1を生成し、そのカードキーKA1から前記補助キーKM′をキー情報として前記暗号アルゴリズムにより鍵生成情報Xaを生成して、前記会社コードA、前記カードキーKA1を前記カード発行補助装置へ転送してそのカード発行補助装置に記憶して前記発行源に固有のカード発行補助装置を生成し、前記カードキーから生成した前記鍵生成情報Xaと前記会社コードAを前記カード発行装置に入力し、そのカード発行装置で前記補助キーKM′をキー情報として前記暗号アルゴリズムにより前記鍵生成情報Xaから前記カードキーKA1を復号化し、その復号化されたカードキーKA1を、前記マスタキーKMをキー情報として前記暗号ルゴリズムにより被暗号化カードキーKA1′を生成し、この被暗号化カードキーKA1′と前記入力された会社コードAを対として記憶部に記憶しておき、カード発行の際に、前記カード発行補助装置を前記カード発行装置に装着し、前記カード発行装置は前記カード発行補助装置から送られてきた前記会社コードAと対応した前記被暗号化カードキーKA1′から前記マスタキーKMをキー情報として前記暗号ルゴリズムにより復号してカードキーKA1を再生し、その再生したカードキーをキー情報として、また前記カード発行補助装置はカードキーKA1をキー情報として所定の相互認証を行い、その認証が得られると、そのカード発行補助装置により特定される発行源のカードを発行することを特徴とするカード発行管理方法である。
【0006】さらに、カード発行補助装置は認証キーを記憶し、その認証キーを用いて所定の手順によりデータから認証子を生成し、このデータと認証子とを会社コードと対応してカード発行装置に記憶し、カード発行補助装置をカード発行装置に装着した時に、認証キーによりデータから生成した認証子と、その会社コードと対応する認証子とからデータの正当性を検証する。
【0007】
【作用】このような構成において、カード発行会社(発行源)からの申込にしたがって、カード発行補助装置には、発行源を特定する会社コードと、少なくともその発行源が任意に設定する暗証情報から生成した誰にも知り得ないカードキーとが記憶され、カード発行源固有のカード発行補助装置が提供される。さらに、カード発行装置の運用会社に設置されたカード発行装置には、会社コードと、会社コードに対応しカードキーを復号化できる誰にも知り得ない被暗号化カードキーとが記憶される。従って、カード発行装置は、会社コードが指定されるとそれに対応したカードキーを再生することができるため、あるカード発行源のカード発行補助装置がカード発行装置に装着されると、カード発行補助装置はそのカードキーをキー情報とし、カード発行装置はカード発行補助装置から送られてきた会社コードに対応した被暗号化カードキーから再生したカードキーをキー情報として所定の手順により相互認証を行う。相互に相手が正当者であることを確認すると、カード発行補助装置によって特定される発行源のカードの発行を可能とする。どちらか一方あるいは双方とも正当者であることが確認できないときは、その発行源に対するカードの発行を不能とする。
【0008】さらに予めカード発行源が任意に設定した認証キーをカード発行補助装置に記憶しておき、その認証キーを用いて送るべきデータから認証子を生成し、データと認証子とを対応してその会社コードについてカード発行装置に記憶する。従ってそのカード発行装置内は記憶しているデータを改ざんしたとしても対応する認証子は改ざんすることはできないため、データ異常を検出することができる。
【0009】
【実施例】図1にこの発明で用いられるカード発行装置、いわゆるエンコーダの構成例を示す。この例ではエンコーダはエンコーダ運用会社に設置されている場合である。エンコーダのきょう体1内には制御部2、メモリ3及びICカードリーダ/ライタ4が設けられている。制御部2内は処理手順などを記憶しているROMおよびCPUで構成され、制御部2内のROM5には、任意のキー情報により暗号化あるいは復号化を行う例えばFEALなどの暗号アルゴリズムFが組み込まれている。メモリ3は電池でバックアップされたRAMで構成され、このメモリ3には、暗号アルゴリズムFにより任意の情報を暗号化あるいは復号化するためのマスターキーKMを記憶する領域6、各会社コードと対応する被暗号化カードキーとを記憶するための会社情報記憶部7、各会社コード、対応するエンコード請求データおよび認証子を記憶するためのエンコード情報記憶部8、発行会社固有のフォーマットなどを記憶する固有データ記憶部9が設けられている。会社情報記憶部7およびエンコード情報記憶部8は100社程度の情報を記憶できるようにメモリ領域が確保されている。また、固有データ記憶部9のデータは、発行会社(発行源)ごとのカード発行補助装置、この例では、ICカードをこのエンコーダに差し込むことにより、書き換えできるように構成されている。またこのICカードを差し込むことによりICカードリーダ/ライタ4はICカードのデータを制御部2へ転送するとともに制御部2からのデータをICカードへ転送する。
【0010】きょう体1の外部にデータ入力部11及びデータ出力部12が付属して設けられ、データ入力部11はキーボードから構成され、任意の数値を入力することができ、データ出力部12はプリンタから構成されている。またきょう体1の外部に設けられたカードライト/リード機構13は制御部2からの指示に従って磁気カードなどのカードを発行(エンコード)する。なおきょう体1は鍵でロックされた扉機構を持ち、制御部2とICカードリーダ/ライタ4との間の伝送信号の傍受、メモリ3内のデータの読み取り、改ざんを不可能としている。また、その鍵を壊すなど不正な手順できょう体1の扉を開けた場合には、メモリ3をバックアップしている電池の接続回路が断たれメモリ3内のデータが揮発するように構成されている。さらに、ICカードリーダ/ライタ4のICカード挿入口にはふたが設けられており、ICカード挿入後にふたを閉じないと動作しないように構成されている。以上の説明において、マスターキー4を“KM”、A会社の会社コードを“A”、被暗号化カードキーを“KA1´”、エンコード請求データを“Di”、固有データを“Da”により表し、以降の説明で引用する。
【0011】図2に、この発明でカード発行補助装置として用いるICカードの構成例を示す。このICカード21には、外部との信号の送受を行うとともに電源の供給を受けるための接点22が設けられ、内部に制御部23及びメモリ24が設けられている。制御部23はカード発行装置(エンコーダ)と同一の暗号アルゴリズムF、処理手順など基本的なプログラムを記憶しているROMおよびCPUから構成されている。メモリ24はEEPROMからなる不揮発性のメモリであり、メモリ24には、ICカードにより特定される会社コードを記憶するための会社コード記憶部25、会社固有のキー情報(カードキー)KA1を記憶するためのカードキー記憶部26、データの認証子を生成するためのキー情報(認証キー)KA2を記憶するための認証キー記憶部27、発行するカード、例えば磁気カードにエンコードするためのデータ配列など会社固有のエンコードデータを記録するための固有データ記憶部28、エンコーダに発行額、発行枚数などエンコーダ条件を指示するデータを記憶するためのエンコード請求データ記憶部29、エンコード終了時に最終発行日、総発行枚数、誤記入したカードの枚数などエンコード結果を記憶するためのエンコード結果データ記憶部30、ICカードの処理回数を記憶する通番記憶部31が設けられている。エンコード請求データ記憶部29は、例えば10種類程度の発行額および発行枚数が指定できるようにメモリ領域が確保されている。
【0012】この発明ではカード発行会社または業種などのカード発行源ごとに固有のカード発行補助装置を作成し、このカード発行補助装置を用いてカード発行装置によりカードの発行を行わせるが、この実施例ではそのカード発行補助装置としてICカードを用いた場合であり、カード発行源ごとにそれに固有のICカードを作成(発行)する補助装置発行装置の構成例を図3に示す。
【0013】この補助装置発行装置のきょう体32内に制御部33、マスターキーKMが記憶されているメモリ34、ICカードリーダ/ライタ35が設けられている。制御部33はCPUおよびROMで構成され、そのROMに処理手順などの基本プログラム、及び図1のエンコーダと同一の暗号アルゴリズムFが記憶されている。メモリ34は電池でバックアップされたRAMである。ICカードリーダ/ライタ35はICカードが差し込まれると、そのICカードのデータを制御部33へ転送するとともに制御部33からのデータをそのICカードへ転送する。きょう体32は鍵でロックされた扉機構を持っており、制御部33−ICカードリーダ/ライタ35間の転送信号の傍受、メモリ34内のデータの読みとり、改ざんを不可能としている。また、鍵を壊すなど不正な手順できょう体32の扉を開けた場合には、メモリ34をバックアップしている電池の接続回路が断たれ、メモリ34内のデータが揮発するように構成されている。さらに、ICカードリーダ/ライタ35のICカード挿入口にはふたが設けられており、ICカード挿入後にふたを閉じないと動作しないように構成されている。きょう体32の外部にキーボードから構成され、任意の数値などのデータを制御部33に入力することができるデータ入力部36、制御部33からのデータを印字出力するプリンタからなるデータ出力部37が設けられている。
【0014】この発明ではこのようなカード発行装置(エンコーダ)、カード発行補助装置(ICカード)、補助装置発行装置を用いて、以下のようにしてカード(例えば磁気カード)を発行する。エンコーダ運用会社が、あるカード発行会社“A社”からプリペイドカードへのエンコード業務の委託、つまりカード発行管理の委託を受けると、まず図3の補助装置発行装置を用いてつぎの手順に従い、A社固有のICカード(カード発行補助装置)の発行(作成)を行う。図4にこのICカード発行処理の流れを示す。
【0015】1.エンコーダ運用会社(またはカード管理会社)は、カード発行会社Aを特定する会社コードを設定する。例えば、A社に会社コード“0001”を割り当てる。
2.初期化済のICカードを補助装置発行装置のICカードリーダ/ライタ35に差し込む。
【0016】3.データ入力部36から、A社の会社コード(A)を打ち込むとともに、A社またはA社から委託を受けた者が、A社の暗証情報(Sa)、認証キー(KA2)、A社の磁気カードのデータ配列を規定する固有データ(Da)および発行額および発行枚数からなるエンコード請求データ(Di)を打ち込む。A社の暗証情報、認証キー、固有データおよびエンコード請求データは利用した後は補助装置発行装置の内部メモリに記録として残ることなく、入力した者以外に知る事はできないようにする。例えば、暗証情報は“0123456789ABCDEF”のように入力する。
【0017】4.会社コード(A)と暗証情報(Sa)は所定のアルゴリズムのもとで合成される。例えば、会社コード(A)と暗証情報(Sa)の排他的論理和をとって合成される。
5.マスターキー(KM)をキー情報とした暗号アルゴリズムFにより、合成した情報(A,Sa)を暗号化し、カードキー(KA1)を生成する。例えば、カードキー(KA1)は、KA1=eKM(AとSaとの排他的論理和)として求める。ここで、y=eKM(x)は、平文xを鍵KMで暗号化して得られる暗号文yを表す。
【0018】6.マスターキー(KM)から所定のアルゴリズムのもとで、補助キー(KM´)を生成する。例えば、補助キー(KM´)はマスターキー(KM)の予め定めた特定のビットを反転して求める。
7.補助キー(KM´)をキー情報とした暗号アルゴリズムFにより、カードキー(KA1)を暗号化し、鍵生成情報(Xa)を生成する。例えば、鍵生成情報(Xa)は、Xa=eKM´(KA1)として求める。鍵生成情報(Xa)はデータ出力部37から会社コード(A)とともにプリントアウトされる。
【0019】8.A社の会社コード(A)、カードキー(KA1)、認証キー(KA2)、固有データ(Da)およびエンコード請求データ(Di)はICカードへ転送され、それぞれ、会社コード記憶部25、カードキー記憶部26、認証キー記憶部27、固有データ記憶部28、エンコード請求データ記憶部29に書き込まれる。ICカード内のエンコード結果データ記憶部30、通番記憶部31には、デフォルト値として“0”が書き込まれる。
【0020】ここでは、発行額、発行枚数などのエンコード請求データを予めICカードに書き込んでおく構成を示したが、これらのエンコード請求データは、磁気カードをエンコードして発行する時にエンコーダのデータ入力部11から打ち込む構成としてもよい。また、補助装置発行装置により、任意の時期にエンコード請求データのみを書き込む構成としてもよい。さらにまた、補助装置発行装置により、ICカードを発行する構成を示したが、エンコーダにICカード発行機能、つまりカード発行補助装置発行(作成)機能を持たせるように構成してもよい。
【0021】つぎに、このようにして得られた発行会社固有の鍵生成情報(Xa)によりA社に対応したデータをエンコーダの会社情報記憶部7へ設定する。この会社情報設定処理の流れを図5に示す。
1.補助装置発行装置でプリントアウトされた会社コード(A)および鍵生成情報(Xa)をデータ入力部11から打ち込む。
【0022】2.制御部2は、マスターキー(KM)から所定のアルゴリズムで生成した補助キー(KM′)をキー情報として暗号化アルゴリズムFにより、鍵生成情報(Xa)を復号化し、カードキー(KA1)を再生する。例えば、KA1=dKM′(Xa)により、カードキー(KA1)を求める。ここで、y=dkM′(x)は、鍵KM′で暗号文xを復号化して得られる平文yを表す。
【0023】3.再生したカードキー(KA1)を、マスターキー(KM)をキー情報として暗号化アルゴリズムFにより暗号化し、被暗号化カードキー(KA1′)を生成する。即ち、KA1′=eKM(KA1)とする。
4.被暗号化カードキー(KA1′)は会社コード(A)とともに会社情報記憶部7に記憶される。
【0024】以上の手順により発行会社ごとにICカード(カード発行補助装置)が発行(作成)され、エンコーダには各発行会社のICカード(カード発行補助装置)に対応した情報、つまり被暗号化カードキー(KA1′)が記憶される。以上のような準備がなされた後、カード発行会社がカードを発行しようとする場合、ICカード(カード発行補助装置)をエンコーダに差し込むと、まず、ICカードとエンコーダとの間の相互認証が行われる。図6にその相互認証処理の流れを示す。相互認証はつぎの手順で行われる。
【0025】1.ICカードは先ず記憶部30に認証子不一致データがあるか否かをチェックし、あれば処理を停止する。
2.なければICカードは、乱数RAを生成し、会社コード(A)と乱数RAからなる送出データ(Token−AX1=A‖RA)をエンコーダに送る。乱数RAは、例えば、通番記憶部31に記憶している通番(Na)を暗号化して、即ち、RA=eKA1(Na)として求める。乱数RAを生成後、通番記憶部31の値は+1増加し、更新される。
【0026】3.エンコーダは、受信した会社コード(A)が正当かどうか、つまり会社情報記憶部7に記憶されているか、のチェックを行い、正当でない場合には処理を停止する。正当であればそれに対応した被暗号化カードキー(KA1′)を抽出し、これを、マスターキー(KM)をキー情報として暗号化アルゴリズムFにより復号化してカードキー(KA1)を再生する。即ち、KA1=dKM(KA1′)により、カードキー(KA1)を得る。ここで、y=dKM(x)は、暗号文xを、鍵KMで復号化して得られる平文yを表す。
【0027】4.エンコーダは、乱数RBを生成し、受信した乱数RAと生成した乱数RBとの合成情報(RA‖RB)を、カードキー(KA1)をキー情報として暗号アルゴリズムFにより暗号化し、その結果を送出データ(Token−XA=eKA1(RA‖RB))としてICカードに送る。乱数RBは、例えば、内部に持っている日時情報(TD)を暗号化して、RB=eKA1(TD)として求める。
【0028】5.ICカードは、受信した情報をカードキー(KA1)により復号化し、乱数RAと乱数RBを再生する。
6.ICカードは、再生した乱数RAと元の情報との一致確認により正当性のチェックを行い、正当でない場合にはエンコーダに認証不一致を送出する。正当であれば再生した乱数RBをカードキー(KA1)で暗号化し、送出情報(Token−AX2=A‖eKA1(RB))をエンコーダに送る。
【0029】7.エンコーダは、受信した情報をカードキー(KA1)で復号化して乱数RBを再生する。
8.エンコーダは、再生した乱数RBと元の情報との一致確認により正当性のチェックを行い、正当でない場合には処理を停止する。正当であれば相互認証を終了する。
【0030】ICカードとエンコーダ間の相互認証が終了すると、磁気カードにエンコードを行うときのデータ配列を指定する固有データ(Da)、発行額および発行枚数からなるエンコード請求データ(Di)がICカードからエンコーダへ送出される。図7にICカードからエンコーダへ固有データ(Da)およびエンコード請求データ(Di)を送出する処理の流れを示す。ここで、固有データ(Da)はエンコーダ内で一時的に記憶されればよいデータであり、エンコード請求データ(Di)はエンコーダ内で記録として保存されるデータである。
【0031】1.ICカードは、認証キー(KA2)をキー情報として所定のアルゴリズムにより、エンコード請求データ(Di)の認証子(MACa)を生成する。例えば、認証子(MACa)=mKA2(Di)として求める。ここで、y=mKA2(x)は、鍵KA2でCBC暗号モードにより平文xを暗号化して得られる複数の暗号文の最後の暗号文から取り出した特定のビット列yを表す。なお、CBC暗号モードは、例えばISO8372に規定され、認証子の作り方は、例えば、ISO8731−3やISO8731−1に規定されている。
【0032】2.ICカードは、カードキー(KA1)から所定のアルゴリズムで生成した補助カードキー(KA1″)をキー情報として、エンコード請求データ(Di)と固定データ(Da)及び認証子(MACa)との合成情報(Di‖Da‖MACa)の認証子(MACd)を生成する。即ち、MACd=mKA1″(Di‖Da‖MACa)として求める。ここで、補助カードキー(KA1″)は、例えば、カードキー(KA1)の予め定めた特定のビットを反転して求める。
【0033】3.ICカードは、会社コード(A)、エンコード請求データ(Di)、固有データ(Da)、認証子(MACa)及び認証子(MACd)からなる送出データ(Token−AX=A‖Di‖Da‖MACa‖MACd)をエンコーダに送出する。
4.エンコーダは、受信した情報から、会社コード(A)を取り出し、会社コードに対応して記憶している被暗号化カードキー(KA1′)をマスターキー(KM)により復号化してカードキー(KA1)を求め、さらにカードキー(KA1)から補助カードキー(KA1″)を生成する。
【0034】5.エンコーダは、受信した情報から、エンコード請求データ(Di)と固有データ(Da)及び認証子(MACa)を取り出し、生成した補助カードキー(KA1″)をキー情報として、これらの合成情報(Di‖Da‖MACa)の認証子(MACd′)を生成する。即ち、MACd′=mKA1″(Di‖Da‖MACa)として求める。生成した認証子(MACd′)と受信した認証子(MACd)との一致により受信データの正当性を判断する。異常と判断したときは、ランプ点灯などによりICカード取り出し指示を出し、処理を終了する。
【0035】6.正常と判断したときは、受信した会社コード(A)、エンコード請求データ(Di)及び認証子(MACa)をエンコード情報記憶部8に記憶するとともに、固有データ(Da)を固有データ記憶部9に記憶し、エンコード請求データ(Di)および固有データ(Da)に従い、カードライト/リード機構13により、A社固有の磁気カードのエンコード(発行)を行う。
【0036】エンコードが終了すると、エンコーダは発行日、発行額、発行枚数、エラー枚数などのデータをデータ出力部12からプリントアウトするとともに、ICカードへ発行日、発行枚数、エラー枚数からなるエンコード結果データ(De)を送出する。図8にエンコード終了時にエンコーダからICカードへエンコード結果データを送出する処理の流れを示す。
【0037】1.エンコーダは、補助カードキー(KA1″)をキー情報として、エンコード結果データ(De)の認証子(MACe)を生成する。即ち、認証子(MACe)=mKA1″(De)として求める。
2.エンコーダは、会社コード(A)、エンコード結果データ(De)、認証子(MACe)からなる送出データ(Token−XA=A‖De‖MACa)をICカードに送る。
【0038】3.ICカードは、受信した情報から、エンコード結果データ(De)を取り出し、ICカード内で生成した補助カードキー(KA1″)をキー情報として、このデータの認証子(MACe′)を生成する。即ち、MACe′=mKA1″(De)として求める。生成した認証子(MACe′)と受信した認証子(MACe)との一致により受信データの正当性を判断する。異常と判断したときはエンコード結果データと認証子不一致をエンコード結果データ記憶部30に記憶し、エンコーダの処理終了を送出する。以降このICカードをエンコーダに装着すると認証子不一致データをみることにより、このICカードによる磁気カードの発行処理は規制される。
【0039】4.正常と判断したときは、受信したエンコード結果データによりエンコード結果データ記憶部30のデータを更新し、処理終了をエンコーダに送出する。
5.エンコーダは、処理終了を受信するとランプ点灯などによりICカード取り出し指示を出し、処理を終了する。ここでは、最終発行日、総発行枚数およびエラー枚数をエンコード結果データ記憶部30に記憶する構成としたが、ICカードのエンコード結果データ記憶部30のメモリ領域を大きくとり、エンコードごとの発行日、発行枚数、エラー枚数を記憶する構成としてもよい。
【0040】エンコード結果データをエンコーダで記憶する場合の手順はつぎのとおりとなる。
1.図8の処理の流れに従い、一旦、ICカードがエンコーダからエンコード結果データ(De)を受取る。
2.認証キー(KA2)をキー情報としてエンコード結果データ(De)の認証子(MACae)を生成する。即ち、MACae=mKA2(De)として求める。
【0041】3.ICカードから、会社コード(A)、エンコード結果データ(De)及び認証子(MACae)をエンコーダに送り、これらのデータをエンコーダ内のメモリに記憶する。エンコーダのメモリに記憶しているデータの正当性の検証方法を、エンコード結果データのプリントアウトを例として、図9を参照して説明する。
【0042】1.エンコーダをエンコード結果データ出力モードに設定すると、ICカード装着指示ランプの点灯などにより、ICカード装着の指示がなされる。
2.該当するICカードを装着する。
3.ICカードとエンコーダは、図6の手順にしたがい相互認証を行う。この時点で認証不一致となった場合は、処理が停止される。
【0043】4.相互認証が正常に終了すると、エンコーダは、ICカードから送出された会社コード(A)に対応して記憶している被暗号化カードキー(KA1′)をマスターキー(KM)により復号化してカードキー(KA1)を求め、さらにカードキー(KA1)から補助カードキー(KA1″)を生成する。
5.エンコーダは、会社コード(A)に対応して記憶しているエンコード結果データ(De)及び認証子(MACae)を取り出し、生成した補助カードキー(KA1″)により、これらの合成情報(De‖MACae)の認証子(MAC)を生成する。即ち、MAC=mKA1″(De‖MACae)として求める。
【0044】6.エンコーダは、会社コード(A)、エンコード結果データ(De)、認証子(MACae)および認証子(MAC)からなる送出データ(Token−XA=A‖De‖MACae‖MAC)をICカードに送る。
7.ICカードは、受信した情報から、エンコード結果データ(De)および認証子(MACae)を取り出し、ICカード内で生成した補助カードキー(KA1″)により、このデータの認証子(MAC′)を生成する。即ち、MAC′=mKA1″(De‖MACae)として求める。生成した認証子(MAC′)と受信した認定子(MAC)との一致により受信データの正当性を判断する。
【0045】8.異常と判断したときは、交信異常をエンコーダに送出する。エンコーダは、交信異常をプリントアウトし、ランプ点灯などによりICカードの取り出しを指示し、処理を終了する。
9.正常と判断したときは、メモリに記憶している認証キー(KA2)により、エンコード結果データ(De)から認証子(MACae′)を生成する。即ち、MACae′=mKA2(De)として求める。生成した認証子(MACae′)と受信した認証子(MACae)との一致により受信データの正当性を判断する。
【0046】10.異常と判断したときは、エンコード結果データ異常をエンコーダに送出する。エンコーダは、エンコード結果データ異常をプリントアウトし、ランプ点灯などによりICカードの取り出しを指示し、処理を終了する。
11.正常と判断したときは、エンコード結果データ正常をエンコーダに送出する。エンコーダは、会社コード(A)およびエンコード結果データ(De)をプリントアウトし、ランプ点灯などによりICカードの取り出しを指示し、処理を終了する。
【0047】
【発明の効果】以上説明したように、カード発行装置(エンコーダ)により複数の会社のカード、例えば磁気カードをエンコード(発行)するとき、発行会社または業種(発行源)ごとに割り付けた会社コードと暗証情報とにより特定されるカード発行補助装置、例えばICカードと、エンコーダ内の会社コードとその被暗号化カードキーとによりエンコーダの動作を管理するため、そのカード発行会社に対応したICカードがない場合、その発行会社の磁気カードをエンコードすることはできず、エンコーダを不正操作しようとしてもエンコードを不能とすることができる。
【0048】また、暗証情報は発行会社が任意に設定可能としているため、発行会社に対応した暗証情報を第三者が不正に知り得ることは不可能であり、エンコーダ内の被暗号化カードキーの設定に当たって、外部より入力する鍵生成情報はカードキーから所定のアルゴリズムで生成したものであり、たとえ、鍵生成情報を知り得てもカードキーを知り得ることは不可能であり、不正にICカードを製造しようとしてもこれを防止することができる。
【0049】さらに、エンコーダ内のメモリに記憶している被暗号化カードキーはカードキーから暗号アルゴリズムにより生成したものであり、たとえ、エンコーダから被暗号化カードキーを読み出したとしてもカードキーを知り得ることを不可能にしている。また、ICカードとエンコーダとの間でのデータ送受において、ICカードはメモリのカードキーを、エンコーダはICカードから送られてきた会社コードに対応して再生したカードキーをキー情報として、所定の手順により生成した認証子によりデータの検証を行っているため、ICカード−エンコーダ間のデータの改ざんを不可能とすることができるとともに、正規の認証手順を踏まないとICカードとのデータのやりとりができないため、ICカード内のデータの改ざんを不可能とすることができる。
【0050】なお、ICカードリーダ/ライタ4のICカード挿入口にはふたが設けられており、ICカード挿入後にふたを閉じないと動作しないように構成しているため、ICカードとエンコーダ間のデータを傍受したり、データを不正に操作することを防止している。さらに、予めカード発行会社が任意に設定した認証キーをICカードの内部メモリに記憶しておき、その認証キーを用いて、送るべきデータから生成した認証子をデータに付加して送信し、エンコーダ内のメモリへそのデータと認証子とを対応して記録することができるため、エンコーダの内部メモリのデータを改ざんしても認証子は改ざんすることはできず、データの改ざんを防止することができる。
【0051】また、エンコーダに設定しているマスターキーを変えることにより、複数のエンコード運用会社に固有のエンコーダを提供することができ、エンコーダに対応したマスターキーによりICカードが発行されるため、エンコーダごとにICカードも差別化できるため、極めて管理能力の高いシステムを提供することができる。
【図面の簡単な説明】
【図1】この発明で用いられるカード発行装置としてのエンコーダの一例を示すブロック構成図。
【図2】この発明で用いられるカード発行補助装置としてのICカードの例を示すブロック構成図。
【図3】ICカードを発行するための補助装置発行装置の例を示すブロック構成図。
【図4】ICカード作成処理を示す流れ図。
【図5】エンコーダに対する会社情報設定処理を示す流れ図。
【図6】ICカードとエンコーダとの相互認証処理を示す流れ図。
【図7】ICカードからエンコーダへデータを送出する処理を示す流れ図。
【図8】エンコーダからICカードへデータを送出する処理を示す流れ図。
【図9】エンコーダ内のデータの検証処理を示す流れ図。
【0001】
【産業上の利用分野】この発明は磁気カードなどを、会社または業種別などの発行源ごとに発行する場合にそのカード発行を発行源ごとに管理するカード発行管理方式に関する。
【0002】
【従来の技術】料金情報が例えば磁気的に記録されたカードを予め購入し、そのカードの使用の度毎に料金情報が減額されて書き換えられ、残り金額がある限り使用可能なプリペイドカード方式が様々の業種に幅広く用いられている。この種のプリペイドカードは現金と同様の性格を持つものであり、そのプリペイドカードを発行するカード発行装置、いわゆるエンコーダの起動(カード発行)には操作者の鍵と管理者の鍵といった2つの鍵を必要とするなどその発行は厳重な管理のもとで行われている。
【0003】
【発明が解決しようとする課題】しかしながら、このような発行方法では、エンコーダが動作状態に入ると操作者に任されるため余分に記録を行い不正にカードを入手するなどの不正操作を可能としていた。また、カードを発行する会社とカードに磁気情報を記録する会社とが異なる場合には、実際に記録したカードの数をカード発行会社で正確に把握できないなどの問題があった。
【0004】この発明は、このような点にかんがみ、カードを不正操作により発行することを不可能にするとともに、カードを発行したときは必ずその証拠が残るようにして不正カードの発行を不可能とするカード発行管理方法を提供することを目的とする。
【0005】
【課題を解決するための手段】この発明は発行源ごとにカードを発行するカード発行装置のカード発行を管理する方法であって、前記カード発行装置と補助装置発行装置とにキー情報により暗号化/復号化する暗号アルゴリズムと特定のマスターキーKMおよび補助キーKM′とを記憶しておき、上記暗号アルゴリズムが記憶されているカード発行補助装置を前記補助装置発行装置へ装着して、その補助装置発行装置に、発行源を特定する会社コードAとその発行源の暗証情報Saを入力すると、前記補助装置発行装置は前記会社コードA及び前記暗証情報Saから前記マスターキーKMをキー情報として前記暗号アルゴリズムで暗号化してカードキーKA1を生成し、そのカードキーKA1から前記補助キーKM′をキー情報として前記暗号アルゴリズムにより鍵生成情報Xaを生成して、前記会社コードA、前記カードキーKA1を前記カード発行補助装置へ転送してそのカード発行補助装置に記憶して前記発行源に固有のカード発行補助装置を生成し、前記カードキーから生成した前記鍵生成情報Xaと前記会社コードAを前記カード発行装置に入力し、そのカード発行装置で前記補助キーKM′をキー情報として前記暗号アルゴリズムにより前記鍵生成情報Xaから前記カードキーKA1を復号化し、その復号化されたカードキーKA1を、前記マスタキーKMをキー情報として前記暗号ルゴリズムにより被暗号化カードキーKA1′を生成し、この被暗号化カードキーKA1′と前記入力された会社コードAを対として記憶部に記憶しておき、カード発行の際に、前記カード発行補助装置を前記カード発行装置に装着し、前記カード発行装置は前記カード発行補助装置から送られてきた前記会社コードAと対応した前記被暗号化カードキーKA1′から前記マスタキーKMをキー情報として前記暗号ルゴリズムにより復号してカードキーKA1を再生し、その再生したカードキーをキー情報として、また前記カード発行補助装置はカードキーKA1をキー情報として所定の相互認証を行い、その認証が得られると、そのカード発行補助装置により特定される発行源のカードを発行することを特徴とするカード発行管理方法である。
【0006】さらに、カード発行補助装置は認証キーを記憶し、その認証キーを用いて所定の手順によりデータから認証子を生成し、このデータと認証子とを会社コードと対応してカード発行装置に記憶し、カード発行補助装置をカード発行装置に装着した時に、認証キーによりデータから生成した認証子と、その会社コードと対応する認証子とからデータの正当性を検証する。
【0007】
【作用】このような構成において、カード発行会社(発行源)からの申込にしたがって、カード発行補助装置には、発行源を特定する会社コードと、少なくともその発行源が任意に設定する暗証情報から生成した誰にも知り得ないカードキーとが記憶され、カード発行源固有のカード発行補助装置が提供される。さらに、カード発行装置の運用会社に設置されたカード発行装置には、会社コードと、会社コードに対応しカードキーを復号化できる誰にも知り得ない被暗号化カードキーとが記憶される。従って、カード発行装置は、会社コードが指定されるとそれに対応したカードキーを再生することができるため、あるカード発行源のカード発行補助装置がカード発行装置に装着されると、カード発行補助装置はそのカードキーをキー情報とし、カード発行装置はカード発行補助装置から送られてきた会社コードに対応した被暗号化カードキーから再生したカードキーをキー情報として所定の手順により相互認証を行う。相互に相手が正当者であることを確認すると、カード発行補助装置によって特定される発行源のカードの発行を可能とする。どちらか一方あるいは双方とも正当者であることが確認できないときは、その発行源に対するカードの発行を不能とする。
【0008】さらに予めカード発行源が任意に設定した認証キーをカード発行補助装置に記憶しておき、その認証キーを用いて送るべきデータから認証子を生成し、データと認証子とを対応してその会社コードについてカード発行装置に記憶する。従ってそのカード発行装置内は記憶しているデータを改ざんしたとしても対応する認証子は改ざんすることはできないため、データ異常を検出することができる。
【0009】
【実施例】図1にこの発明で用いられるカード発行装置、いわゆるエンコーダの構成例を示す。この例ではエンコーダはエンコーダ運用会社に設置されている場合である。エンコーダのきょう体1内には制御部2、メモリ3及びICカードリーダ/ライタ4が設けられている。制御部2内は処理手順などを記憶しているROMおよびCPUで構成され、制御部2内のROM5には、任意のキー情報により暗号化あるいは復号化を行う例えばFEALなどの暗号アルゴリズムFが組み込まれている。メモリ3は電池でバックアップされたRAMで構成され、このメモリ3には、暗号アルゴリズムFにより任意の情報を暗号化あるいは復号化するためのマスターキーKMを記憶する領域6、各会社コードと対応する被暗号化カードキーとを記憶するための会社情報記憶部7、各会社コード、対応するエンコード請求データおよび認証子を記憶するためのエンコード情報記憶部8、発行会社固有のフォーマットなどを記憶する固有データ記憶部9が設けられている。会社情報記憶部7およびエンコード情報記憶部8は100社程度の情報を記憶できるようにメモリ領域が確保されている。また、固有データ記憶部9のデータは、発行会社(発行源)ごとのカード発行補助装置、この例では、ICカードをこのエンコーダに差し込むことにより、書き換えできるように構成されている。またこのICカードを差し込むことによりICカードリーダ/ライタ4はICカードのデータを制御部2へ転送するとともに制御部2からのデータをICカードへ転送する。
【0010】きょう体1の外部にデータ入力部11及びデータ出力部12が付属して設けられ、データ入力部11はキーボードから構成され、任意の数値を入力することができ、データ出力部12はプリンタから構成されている。またきょう体1の外部に設けられたカードライト/リード機構13は制御部2からの指示に従って磁気カードなどのカードを発行(エンコード)する。なおきょう体1は鍵でロックされた扉機構を持ち、制御部2とICカードリーダ/ライタ4との間の伝送信号の傍受、メモリ3内のデータの読み取り、改ざんを不可能としている。また、その鍵を壊すなど不正な手順できょう体1の扉を開けた場合には、メモリ3をバックアップしている電池の接続回路が断たれメモリ3内のデータが揮発するように構成されている。さらに、ICカードリーダ/ライタ4のICカード挿入口にはふたが設けられており、ICカード挿入後にふたを閉じないと動作しないように構成されている。以上の説明において、マスターキー4を“KM”、A会社の会社コードを“A”、被暗号化カードキーを“KA1´”、エンコード請求データを“Di”、固有データを“Da”により表し、以降の説明で引用する。
【0011】図2に、この発明でカード発行補助装置として用いるICカードの構成例を示す。このICカード21には、外部との信号の送受を行うとともに電源の供給を受けるための接点22が設けられ、内部に制御部23及びメモリ24が設けられている。制御部23はカード発行装置(エンコーダ)と同一の暗号アルゴリズムF、処理手順など基本的なプログラムを記憶しているROMおよびCPUから構成されている。メモリ24はEEPROMからなる不揮発性のメモリであり、メモリ24には、ICカードにより特定される会社コードを記憶するための会社コード記憶部25、会社固有のキー情報(カードキー)KA1を記憶するためのカードキー記憶部26、データの認証子を生成するためのキー情報(認証キー)KA2を記憶するための認証キー記憶部27、発行するカード、例えば磁気カードにエンコードするためのデータ配列など会社固有のエンコードデータを記録するための固有データ記憶部28、エンコーダに発行額、発行枚数などエンコーダ条件を指示するデータを記憶するためのエンコード請求データ記憶部29、エンコード終了時に最終発行日、総発行枚数、誤記入したカードの枚数などエンコード結果を記憶するためのエンコード結果データ記憶部30、ICカードの処理回数を記憶する通番記憶部31が設けられている。エンコード請求データ記憶部29は、例えば10種類程度の発行額および発行枚数が指定できるようにメモリ領域が確保されている。
【0012】この発明ではカード発行会社または業種などのカード発行源ごとに固有のカード発行補助装置を作成し、このカード発行補助装置を用いてカード発行装置によりカードの発行を行わせるが、この実施例ではそのカード発行補助装置としてICカードを用いた場合であり、カード発行源ごとにそれに固有のICカードを作成(発行)する補助装置発行装置の構成例を図3に示す。
【0013】この補助装置発行装置のきょう体32内に制御部33、マスターキーKMが記憶されているメモリ34、ICカードリーダ/ライタ35が設けられている。制御部33はCPUおよびROMで構成され、そのROMに処理手順などの基本プログラム、及び図1のエンコーダと同一の暗号アルゴリズムFが記憶されている。メモリ34は電池でバックアップされたRAMである。ICカードリーダ/ライタ35はICカードが差し込まれると、そのICカードのデータを制御部33へ転送するとともに制御部33からのデータをそのICカードへ転送する。きょう体32は鍵でロックされた扉機構を持っており、制御部33−ICカードリーダ/ライタ35間の転送信号の傍受、メモリ34内のデータの読みとり、改ざんを不可能としている。また、鍵を壊すなど不正な手順できょう体32の扉を開けた場合には、メモリ34をバックアップしている電池の接続回路が断たれ、メモリ34内のデータが揮発するように構成されている。さらに、ICカードリーダ/ライタ35のICカード挿入口にはふたが設けられており、ICカード挿入後にふたを閉じないと動作しないように構成されている。きょう体32の外部にキーボードから構成され、任意の数値などのデータを制御部33に入力することができるデータ入力部36、制御部33からのデータを印字出力するプリンタからなるデータ出力部37が設けられている。
【0014】この発明ではこのようなカード発行装置(エンコーダ)、カード発行補助装置(ICカード)、補助装置発行装置を用いて、以下のようにしてカード(例えば磁気カード)を発行する。エンコーダ運用会社が、あるカード発行会社“A社”からプリペイドカードへのエンコード業務の委託、つまりカード発行管理の委託を受けると、まず図3の補助装置発行装置を用いてつぎの手順に従い、A社固有のICカード(カード発行補助装置)の発行(作成)を行う。図4にこのICカード発行処理の流れを示す。
【0015】1.エンコーダ運用会社(またはカード管理会社)は、カード発行会社Aを特定する会社コードを設定する。例えば、A社に会社コード“0001”を割り当てる。
2.初期化済のICカードを補助装置発行装置のICカードリーダ/ライタ35に差し込む。
【0016】3.データ入力部36から、A社の会社コード(A)を打ち込むとともに、A社またはA社から委託を受けた者が、A社の暗証情報(Sa)、認証キー(KA2)、A社の磁気カードのデータ配列を規定する固有データ(Da)および発行額および発行枚数からなるエンコード請求データ(Di)を打ち込む。A社の暗証情報、認証キー、固有データおよびエンコード請求データは利用した後は補助装置発行装置の内部メモリに記録として残ることなく、入力した者以外に知る事はできないようにする。例えば、暗証情報は“0123456789ABCDEF”のように入力する。
【0017】4.会社コード(A)と暗証情報(Sa)は所定のアルゴリズムのもとで合成される。例えば、会社コード(A)と暗証情報(Sa)の排他的論理和をとって合成される。
5.マスターキー(KM)をキー情報とした暗号アルゴリズムFにより、合成した情報(A,Sa)を暗号化し、カードキー(KA1)を生成する。例えば、カードキー(KA1)は、KA1=eKM(AとSaとの排他的論理和)として求める。ここで、y=eKM(x)は、平文xを鍵KMで暗号化して得られる暗号文yを表す。
【0018】6.マスターキー(KM)から所定のアルゴリズムのもとで、補助キー(KM´)を生成する。例えば、補助キー(KM´)はマスターキー(KM)の予め定めた特定のビットを反転して求める。
7.補助キー(KM´)をキー情報とした暗号アルゴリズムFにより、カードキー(KA1)を暗号化し、鍵生成情報(Xa)を生成する。例えば、鍵生成情報(Xa)は、Xa=eKM´(KA1)として求める。鍵生成情報(Xa)はデータ出力部37から会社コード(A)とともにプリントアウトされる。
【0019】8.A社の会社コード(A)、カードキー(KA1)、認証キー(KA2)、固有データ(Da)およびエンコード請求データ(Di)はICカードへ転送され、それぞれ、会社コード記憶部25、カードキー記憶部26、認証キー記憶部27、固有データ記憶部28、エンコード請求データ記憶部29に書き込まれる。ICカード内のエンコード結果データ記憶部30、通番記憶部31には、デフォルト値として“0”が書き込まれる。
【0020】ここでは、発行額、発行枚数などのエンコード請求データを予めICカードに書き込んでおく構成を示したが、これらのエンコード請求データは、磁気カードをエンコードして発行する時にエンコーダのデータ入力部11から打ち込む構成としてもよい。また、補助装置発行装置により、任意の時期にエンコード請求データのみを書き込む構成としてもよい。さらにまた、補助装置発行装置により、ICカードを発行する構成を示したが、エンコーダにICカード発行機能、つまりカード発行補助装置発行(作成)機能を持たせるように構成してもよい。
【0021】つぎに、このようにして得られた発行会社固有の鍵生成情報(Xa)によりA社に対応したデータをエンコーダの会社情報記憶部7へ設定する。この会社情報設定処理の流れを図5に示す。
1.補助装置発行装置でプリントアウトされた会社コード(A)および鍵生成情報(Xa)をデータ入力部11から打ち込む。
【0022】2.制御部2は、マスターキー(KM)から所定のアルゴリズムで生成した補助キー(KM′)をキー情報として暗号化アルゴリズムFにより、鍵生成情報(Xa)を復号化し、カードキー(KA1)を再生する。例えば、KA1=dKM′(Xa)により、カードキー(KA1)を求める。ここで、y=dkM′(x)は、鍵KM′で暗号文xを復号化して得られる平文yを表す。
【0023】3.再生したカードキー(KA1)を、マスターキー(KM)をキー情報として暗号化アルゴリズムFにより暗号化し、被暗号化カードキー(KA1′)を生成する。即ち、KA1′=eKM(KA1)とする。
4.被暗号化カードキー(KA1′)は会社コード(A)とともに会社情報記憶部7に記憶される。
【0024】以上の手順により発行会社ごとにICカード(カード発行補助装置)が発行(作成)され、エンコーダには各発行会社のICカード(カード発行補助装置)に対応した情報、つまり被暗号化カードキー(KA1′)が記憶される。以上のような準備がなされた後、カード発行会社がカードを発行しようとする場合、ICカード(カード発行補助装置)をエンコーダに差し込むと、まず、ICカードとエンコーダとの間の相互認証が行われる。図6にその相互認証処理の流れを示す。相互認証はつぎの手順で行われる。
【0025】1.ICカードは先ず記憶部30に認証子不一致データがあるか否かをチェックし、あれば処理を停止する。
2.なければICカードは、乱数RAを生成し、会社コード(A)と乱数RAからなる送出データ(Token−AX1=A‖RA)をエンコーダに送る。乱数RAは、例えば、通番記憶部31に記憶している通番(Na)を暗号化して、即ち、RA=eKA1(Na)として求める。乱数RAを生成後、通番記憶部31の値は+1増加し、更新される。
【0026】3.エンコーダは、受信した会社コード(A)が正当かどうか、つまり会社情報記憶部7に記憶されているか、のチェックを行い、正当でない場合には処理を停止する。正当であればそれに対応した被暗号化カードキー(KA1′)を抽出し、これを、マスターキー(KM)をキー情報として暗号化アルゴリズムFにより復号化してカードキー(KA1)を再生する。即ち、KA1=dKM(KA1′)により、カードキー(KA1)を得る。ここで、y=dKM(x)は、暗号文xを、鍵KMで復号化して得られる平文yを表す。
【0027】4.エンコーダは、乱数RBを生成し、受信した乱数RAと生成した乱数RBとの合成情報(RA‖RB)を、カードキー(KA1)をキー情報として暗号アルゴリズムFにより暗号化し、その結果を送出データ(Token−XA=eKA1(RA‖RB))としてICカードに送る。乱数RBは、例えば、内部に持っている日時情報(TD)を暗号化して、RB=eKA1(TD)として求める。
【0028】5.ICカードは、受信した情報をカードキー(KA1)により復号化し、乱数RAと乱数RBを再生する。
6.ICカードは、再生した乱数RAと元の情報との一致確認により正当性のチェックを行い、正当でない場合にはエンコーダに認証不一致を送出する。正当であれば再生した乱数RBをカードキー(KA1)で暗号化し、送出情報(Token−AX2=A‖eKA1(RB))をエンコーダに送る。
【0029】7.エンコーダは、受信した情報をカードキー(KA1)で復号化して乱数RBを再生する。
8.エンコーダは、再生した乱数RBと元の情報との一致確認により正当性のチェックを行い、正当でない場合には処理を停止する。正当であれば相互認証を終了する。
【0030】ICカードとエンコーダ間の相互認証が終了すると、磁気カードにエンコードを行うときのデータ配列を指定する固有データ(Da)、発行額および発行枚数からなるエンコード請求データ(Di)がICカードからエンコーダへ送出される。図7にICカードからエンコーダへ固有データ(Da)およびエンコード請求データ(Di)を送出する処理の流れを示す。ここで、固有データ(Da)はエンコーダ内で一時的に記憶されればよいデータであり、エンコード請求データ(Di)はエンコーダ内で記録として保存されるデータである。
【0031】1.ICカードは、認証キー(KA2)をキー情報として所定のアルゴリズムにより、エンコード請求データ(Di)の認証子(MACa)を生成する。例えば、認証子(MACa)=mKA2(Di)として求める。ここで、y=mKA2(x)は、鍵KA2でCBC暗号モードにより平文xを暗号化して得られる複数の暗号文の最後の暗号文から取り出した特定のビット列yを表す。なお、CBC暗号モードは、例えばISO8372に規定され、認証子の作り方は、例えば、ISO8731−3やISO8731−1に規定されている。
【0032】2.ICカードは、カードキー(KA1)から所定のアルゴリズムで生成した補助カードキー(KA1″)をキー情報として、エンコード請求データ(Di)と固定データ(Da)及び認証子(MACa)との合成情報(Di‖Da‖MACa)の認証子(MACd)を生成する。即ち、MACd=mKA1″(Di‖Da‖MACa)として求める。ここで、補助カードキー(KA1″)は、例えば、カードキー(KA1)の予め定めた特定のビットを反転して求める。
【0033】3.ICカードは、会社コード(A)、エンコード請求データ(Di)、固有データ(Da)、認証子(MACa)及び認証子(MACd)からなる送出データ(Token−AX=A‖Di‖Da‖MACa‖MACd)をエンコーダに送出する。
4.エンコーダは、受信した情報から、会社コード(A)を取り出し、会社コードに対応して記憶している被暗号化カードキー(KA1′)をマスターキー(KM)により復号化してカードキー(KA1)を求め、さらにカードキー(KA1)から補助カードキー(KA1″)を生成する。
【0034】5.エンコーダは、受信した情報から、エンコード請求データ(Di)と固有データ(Da)及び認証子(MACa)を取り出し、生成した補助カードキー(KA1″)をキー情報として、これらの合成情報(Di‖Da‖MACa)の認証子(MACd′)を生成する。即ち、MACd′=mKA1″(Di‖Da‖MACa)として求める。生成した認証子(MACd′)と受信した認証子(MACd)との一致により受信データの正当性を判断する。異常と判断したときは、ランプ点灯などによりICカード取り出し指示を出し、処理を終了する。
【0035】6.正常と判断したときは、受信した会社コード(A)、エンコード請求データ(Di)及び認証子(MACa)をエンコード情報記憶部8に記憶するとともに、固有データ(Da)を固有データ記憶部9に記憶し、エンコード請求データ(Di)および固有データ(Da)に従い、カードライト/リード機構13により、A社固有の磁気カードのエンコード(発行)を行う。
【0036】エンコードが終了すると、エンコーダは発行日、発行額、発行枚数、エラー枚数などのデータをデータ出力部12からプリントアウトするとともに、ICカードへ発行日、発行枚数、エラー枚数からなるエンコード結果データ(De)を送出する。図8にエンコード終了時にエンコーダからICカードへエンコード結果データを送出する処理の流れを示す。
【0037】1.エンコーダは、補助カードキー(KA1″)をキー情報として、エンコード結果データ(De)の認証子(MACe)を生成する。即ち、認証子(MACe)=mKA1″(De)として求める。
2.エンコーダは、会社コード(A)、エンコード結果データ(De)、認証子(MACe)からなる送出データ(Token−XA=A‖De‖MACa)をICカードに送る。
【0038】3.ICカードは、受信した情報から、エンコード結果データ(De)を取り出し、ICカード内で生成した補助カードキー(KA1″)をキー情報として、このデータの認証子(MACe′)を生成する。即ち、MACe′=mKA1″(De)として求める。生成した認証子(MACe′)と受信した認証子(MACe)との一致により受信データの正当性を判断する。異常と判断したときはエンコード結果データと認証子不一致をエンコード結果データ記憶部30に記憶し、エンコーダの処理終了を送出する。以降このICカードをエンコーダに装着すると認証子不一致データをみることにより、このICカードによる磁気カードの発行処理は規制される。
【0039】4.正常と判断したときは、受信したエンコード結果データによりエンコード結果データ記憶部30のデータを更新し、処理終了をエンコーダに送出する。
5.エンコーダは、処理終了を受信するとランプ点灯などによりICカード取り出し指示を出し、処理を終了する。ここでは、最終発行日、総発行枚数およびエラー枚数をエンコード結果データ記憶部30に記憶する構成としたが、ICカードのエンコード結果データ記憶部30のメモリ領域を大きくとり、エンコードごとの発行日、発行枚数、エラー枚数を記憶する構成としてもよい。
【0040】エンコード結果データをエンコーダで記憶する場合の手順はつぎのとおりとなる。
1.図8の処理の流れに従い、一旦、ICカードがエンコーダからエンコード結果データ(De)を受取る。
2.認証キー(KA2)をキー情報としてエンコード結果データ(De)の認証子(MACae)を生成する。即ち、MACae=mKA2(De)として求める。
【0041】3.ICカードから、会社コード(A)、エンコード結果データ(De)及び認証子(MACae)をエンコーダに送り、これらのデータをエンコーダ内のメモリに記憶する。エンコーダのメモリに記憶しているデータの正当性の検証方法を、エンコード結果データのプリントアウトを例として、図9を参照して説明する。
【0042】1.エンコーダをエンコード結果データ出力モードに設定すると、ICカード装着指示ランプの点灯などにより、ICカード装着の指示がなされる。
2.該当するICカードを装着する。
3.ICカードとエンコーダは、図6の手順にしたがい相互認証を行う。この時点で認証不一致となった場合は、処理が停止される。
【0043】4.相互認証が正常に終了すると、エンコーダは、ICカードから送出された会社コード(A)に対応して記憶している被暗号化カードキー(KA1′)をマスターキー(KM)により復号化してカードキー(KA1)を求め、さらにカードキー(KA1)から補助カードキー(KA1″)を生成する。
5.エンコーダは、会社コード(A)に対応して記憶しているエンコード結果データ(De)及び認証子(MACae)を取り出し、生成した補助カードキー(KA1″)により、これらの合成情報(De‖MACae)の認証子(MAC)を生成する。即ち、MAC=mKA1″(De‖MACae)として求める。
【0044】6.エンコーダは、会社コード(A)、エンコード結果データ(De)、認証子(MACae)および認証子(MAC)からなる送出データ(Token−XA=A‖De‖MACae‖MAC)をICカードに送る。
7.ICカードは、受信した情報から、エンコード結果データ(De)および認証子(MACae)を取り出し、ICカード内で生成した補助カードキー(KA1″)により、このデータの認証子(MAC′)を生成する。即ち、MAC′=mKA1″(De‖MACae)として求める。生成した認証子(MAC′)と受信した認定子(MAC)との一致により受信データの正当性を判断する。
【0045】8.異常と判断したときは、交信異常をエンコーダに送出する。エンコーダは、交信異常をプリントアウトし、ランプ点灯などによりICカードの取り出しを指示し、処理を終了する。
9.正常と判断したときは、メモリに記憶している認証キー(KA2)により、エンコード結果データ(De)から認証子(MACae′)を生成する。即ち、MACae′=mKA2(De)として求める。生成した認証子(MACae′)と受信した認証子(MACae)との一致により受信データの正当性を判断する。
【0046】10.異常と判断したときは、エンコード結果データ異常をエンコーダに送出する。エンコーダは、エンコード結果データ異常をプリントアウトし、ランプ点灯などによりICカードの取り出しを指示し、処理を終了する。
11.正常と判断したときは、エンコード結果データ正常をエンコーダに送出する。エンコーダは、会社コード(A)およびエンコード結果データ(De)をプリントアウトし、ランプ点灯などによりICカードの取り出しを指示し、処理を終了する。
【0047】
【発明の効果】以上説明したように、カード発行装置(エンコーダ)により複数の会社のカード、例えば磁気カードをエンコード(発行)するとき、発行会社または業種(発行源)ごとに割り付けた会社コードと暗証情報とにより特定されるカード発行補助装置、例えばICカードと、エンコーダ内の会社コードとその被暗号化カードキーとによりエンコーダの動作を管理するため、そのカード発行会社に対応したICカードがない場合、その発行会社の磁気カードをエンコードすることはできず、エンコーダを不正操作しようとしてもエンコードを不能とすることができる。
【0048】また、暗証情報は発行会社が任意に設定可能としているため、発行会社に対応した暗証情報を第三者が不正に知り得ることは不可能であり、エンコーダ内の被暗号化カードキーの設定に当たって、外部より入力する鍵生成情報はカードキーから所定のアルゴリズムで生成したものであり、たとえ、鍵生成情報を知り得てもカードキーを知り得ることは不可能であり、不正にICカードを製造しようとしてもこれを防止することができる。
【0049】さらに、エンコーダ内のメモリに記憶している被暗号化カードキーはカードキーから暗号アルゴリズムにより生成したものであり、たとえ、エンコーダから被暗号化カードキーを読み出したとしてもカードキーを知り得ることを不可能にしている。また、ICカードとエンコーダとの間でのデータ送受において、ICカードはメモリのカードキーを、エンコーダはICカードから送られてきた会社コードに対応して再生したカードキーをキー情報として、所定の手順により生成した認証子によりデータの検証を行っているため、ICカード−エンコーダ間のデータの改ざんを不可能とすることができるとともに、正規の認証手順を踏まないとICカードとのデータのやりとりができないため、ICカード内のデータの改ざんを不可能とすることができる。
【0050】なお、ICカードリーダ/ライタ4のICカード挿入口にはふたが設けられており、ICカード挿入後にふたを閉じないと動作しないように構成しているため、ICカードとエンコーダ間のデータを傍受したり、データを不正に操作することを防止している。さらに、予めカード発行会社が任意に設定した認証キーをICカードの内部メモリに記憶しておき、その認証キーを用いて、送るべきデータから生成した認証子をデータに付加して送信し、エンコーダ内のメモリへそのデータと認証子とを対応して記録することができるため、エンコーダの内部メモリのデータを改ざんしても認証子は改ざんすることはできず、データの改ざんを防止することができる。
【0051】また、エンコーダに設定しているマスターキーを変えることにより、複数のエンコード運用会社に固有のエンコーダを提供することができ、エンコーダに対応したマスターキーによりICカードが発行されるため、エンコーダごとにICカードも差別化できるため、極めて管理能力の高いシステムを提供することができる。
【図面の簡単な説明】
【図1】この発明で用いられるカード発行装置としてのエンコーダの一例を示すブロック構成図。
【図2】この発明で用いられるカード発行補助装置としてのICカードの例を示すブロック構成図。
【図3】ICカードを発行するための補助装置発行装置の例を示すブロック構成図。
【図4】ICカード作成処理を示す流れ図。
【図5】エンコーダに対する会社情報設定処理を示す流れ図。
【図6】ICカードとエンコーダとの相互認証処理を示す流れ図。
【図7】ICカードからエンコーダへデータを送出する処理を示す流れ図。
【図8】エンコーダからICカードへデータを送出する処理を示す流れ図。
【図9】エンコーダ内のデータの検証処理を示す流れ図。
【特許請求の範囲】
【請求項1】 発行源ごとにカードを発行するカード発行装置のカード発行を管理する方法であって、前記カード発行装置と補助装置発行装置とにキー情報により暗号化/復号化する暗号アルゴリズムと特定のマスターキーKMおよび補助キーKM′とを記憶しておき、上記暗号アルゴリズムが記憶されているカード発行補助装置を前記補助装置発行装置へ装着して、その補助装置発行装置に、発行源を特定する会社コードAとその発行源の暗証情報Saを入力すると、前記補助装置発行装置は前記会社コードA及び前記暗証情報Saから前記マスターキーKMをキー情報として前記暗号アルゴリズムで暗号化してカードキーKA1を生成し、そのカードキーKA1から前記補助キーKM′をキー情報として前記暗号アルゴリズムにより鍵生成情報Xaを生成して、前記会社コードA、前記カードキーKA1を前記カード発行補助装置へ転送してそのカード発行補助装置に記憶して前記発行源に固有のカード発行補助装置を生成し、前記カードキーから生成した前記鍵生成情報Xaと前記会社コードAを前記カード発行装置に入力し、そのカード発行装置で前記補助キーKM′をキー情報として前記暗号アルゴリズムにより前記鍵生成情報Xaから前記カードキーKA1を復号化し、その復号化されたカードキーKA1を、前記マスタキーKMをキー情報として前記暗号ルゴリズムにより被暗号化カードキーKA1′を生成し、この被暗号化カードキーKA1′と前記入力された会社コードAを対として記憶部に記憶しておき、カード発行の際に、前記カード発行補助装置を前記カード発行装置に装着し、前記カード発行装置は前記カード発行補助装置から送られてきた前記会社コードAと対応した前記被暗号化カードキーKA1′から前記マスタキーKMをキー情報として前記暗号ルゴリズムにより復号してカードキーKA1を再生し、その再生したカードキーをキー情報として、また前記カード発行補助装置はカードキーKA1をキー情報として所定の相互認証を行い、その認証が得られると、そのカード発行補助装置により特定される発行源のカードを発行することを特徴とするカード発行管理方法。
【請求項2】 上記カード発行補助装置は、認証キーを記憶し、その認証キーによりデータから認証子を生成し、上記カード発行装置は、上記カード発行補助装置から送出された上記データと上記認証子とをその会社コード対応に記憶することを特徴とする請求項1記載のカード発行管理方法。
【請求項1】 発行源ごとにカードを発行するカード発行装置のカード発行を管理する方法であって、前記カード発行装置と補助装置発行装置とにキー情報により暗号化/復号化する暗号アルゴリズムと特定のマスターキーKMおよび補助キーKM′とを記憶しておき、上記暗号アルゴリズムが記憶されているカード発行補助装置を前記補助装置発行装置へ装着して、その補助装置発行装置に、発行源を特定する会社コードAとその発行源の暗証情報Saを入力すると、前記補助装置発行装置は前記会社コードA及び前記暗証情報Saから前記マスターキーKMをキー情報として前記暗号アルゴリズムで暗号化してカードキーKA1を生成し、そのカードキーKA1から前記補助キーKM′をキー情報として前記暗号アルゴリズムにより鍵生成情報Xaを生成して、前記会社コードA、前記カードキーKA1を前記カード発行補助装置へ転送してそのカード発行補助装置に記憶して前記発行源に固有のカード発行補助装置を生成し、前記カードキーから生成した前記鍵生成情報Xaと前記会社コードAを前記カード発行装置に入力し、そのカード発行装置で前記補助キーKM′をキー情報として前記暗号アルゴリズムにより前記鍵生成情報Xaから前記カードキーKA1を復号化し、その復号化されたカードキーKA1を、前記マスタキーKMをキー情報として前記暗号ルゴリズムにより被暗号化カードキーKA1′を生成し、この被暗号化カードキーKA1′と前記入力された会社コードAを対として記憶部に記憶しておき、カード発行の際に、前記カード発行補助装置を前記カード発行装置に装着し、前記カード発行装置は前記カード発行補助装置から送られてきた前記会社コードAと対応した前記被暗号化カードキーKA1′から前記マスタキーKMをキー情報として前記暗号ルゴリズムにより復号してカードキーKA1を再生し、その再生したカードキーをキー情報として、また前記カード発行補助装置はカードキーKA1をキー情報として所定の相互認証を行い、その認証が得られると、そのカード発行補助装置により特定される発行源のカードを発行することを特徴とするカード発行管理方法。
【請求項2】 上記カード発行補助装置は、認証キーを記憶し、その認証キーによりデータから認証子を生成し、上記カード発行装置は、上記カード発行補助装置から送出された上記データと上記認証子とをその会社コード対応に記憶することを特徴とする請求項1記載のカード発行管理方法。
【図1】
【図2】
【図3】
【図5】
【図4】
【図6】
【図7】
【図8】
【図9】
【図2】
【図3】
【図5】
【図4】
【図6】
【図7】
【図8】
【図9】
【特許番号】第2767499号
【登録日】平成10年(1998)4月10日
【発行日】平成10年(1998)6月18日
【国際特許分類】
【出願番号】特願平3−4460
【出願日】平成3年(1991)1月18日
【公開番号】特開平4−243494
【公開日】平成4年(1992)8月31日
【審査請求日】平成6年(1994)1月28日
【出願人】(000004226)日本電信電話株式会社 (13,992)
【参考文献】
【文献】特開 昭63−56789(JP,A)
【文献】特開 昭63−50222(JP,A)
【登録日】平成10年(1998)4月10日
【発行日】平成10年(1998)6月18日
【国際特許分類】
【出願日】平成3年(1991)1月18日
【公開番号】特開平4−243494
【公開日】平成4年(1992)8月31日
【審査請求日】平成6年(1994)1月28日
【出願人】(000004226)日本電信電話株式会社 (13,992)
【参考文献】
【文献】特開 昭63−56789(JP,A)
【文献】特開 昭63−50222(JP,A)
[ Back to top ]