JP3925975B2 - ネットワークシステムにおけるicカード処理方法 - Google Patents
ネットワークシステムにおけるicカード処理方法 Download PDFInfo
- Publication number
- JP3925975B2 JP3925975B2 JP02873897A JP2873897A JP3925975B2 JP 3925975 B2 JP3925975 B2 JP 3925975B2 JP 02873897 A JP02873897 A JP 02873897A JP 2873897 A JP2873897 A JP 2873897A JP 3925975 B2 JP3925975 B2 JP 3925975B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- random number
- card
- terminal
- key
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明はネットワークに接続された端末を介してホストコンピュータとICカード間で通信を行う際、相互のセキュリティを向上させることができるネットワークシステムにおけるICカード処理方法に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
近年、インターネット上に多くのホームページが開設され、誰でも各自の端末(パソコン)を通して自由にデータを取得できる状況にあり、インターネット上でのショッピング、バンキング、信用取引等が盛んになると考えられている。このように各個人の端末がインターネット回線に接続され、秘密を保持すべきデータのやり取りが行われる状況になったとき、ホストコンピュータの認証を各個人の端末のハードディスクで行っていると、そこに格納されているデータの安全性が問題になってくる。この対策としてICカードを用い、ICカード−端末−ネットワークというシステムにして、ネットワークから第3者が直接個人のデータにアクセスすることができないようにすることが考えられる。
【0003】
一方、このようなシステムとした場合には、ICカードを持つ本人のデータのセキュリティは向上するものの、その使用状況をネットワークに接続されたホストコンピュータ側では把握できないため、不正な使用が行われて銀行等のホストコンピュータ側で被害を受ける可能性がある。
【0004】
そこで、ICカード側、ホストコンピュータ側の安全性を保証するために、従来、相互認証することが行われている。この方法は、識別番号と乱数を使用して暗号化したキーを生成し、ICカード側、ホストコンピュータ側でそれぞれ比較して相互に認証を行うものであるが、認証を行うための専用のコマンドを使用する必要があり、また、一旦相互の認証がすむと、その後のコマンドは何の制約も受けずに受入れられてしまい、相互認証後の不正を防止することはできない。
【0005】
これに対して、各コマンド毎にICカードから乱数を受け取ってホストコンピュータ側で認証コードを生成し、各コマンドの中に生成した認証コードを入れてコマンドを発行し、コマンド毎に認証することにより不正の発生を防止することが考えられるが、通信回数が増えて途中での中断事故の確立が大きくなるとともに、通信料が高くなってしまうという問題がある。
【0006】
本発明は上記課題を解決するためのもので、個人データのセキュリティを向上させるためにICカードを用いたネットワークシステムにおいて、通信回数、通信時間を減らすと共に、ICカードの不正使用を防止することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、ICカードにより端末を介してホストコンピュータと通信を行うようにしたネットワークシステムにおいて、
ICカードとホストコンピュータとが共通の認証用キー、乱数更新用キー、暗号化キー、復号化キーをそれぞれ有し、
ホストコンピュータは、ICカードで発生させた乱数を取得してコマンド毎に前記乱数更新用キーで乱数を更新し、更新した乱数を用いて前記認証用キーで暗号化して認証コードを生成するとともに、前記更新した乱数及び暗号化キーを用いてコマンドを暗号化し、生成した認証コードと暗号化したコマンドを格納したコマンドからなるコマンド列を端末へ一括送信し、
ICカードは、端末からコマンドを受ける毎に、前記発生させた乱数を前記乱数更新用キーで更新し、更新した乱数を用いて各コマンドの認証と復号化キーによると復号化を行い、コマンドの解釈・実行を行うことを特徴とする。
また、本発明は、ICカードにおける各コマンドの認証は、コマンドを受ける毎に更新した乱数を用いて認証用キーで暗号化して認証コードを生成し、端末から受信した各コマンドに格納された認証コードと比較することにより行うことを特徴とする。
また、本発明は、ICカードがコマンドを受ける毎に更新した乱数、および前記暗号化キーを用いて各コマンドに対するレスポンスを暗号化して端末へ送信し、端末は各レスポンスを一括してホストコンピュータへ送信することを特徴とする。
また、本発明は、ICカードから端末へ返すレスポンスデータ部の一部に、コマンドの実行結果の成否を示す平文の実行ステータスを付加したことを特徴とする。
また、本発明は、端末は実行ステータスをチェックし、結果がエラーであるとき、以降のコマンド列をICカードへ送信せず、ホストコンピュータに対してエラーを通知することを特徴とする。
また、本発明は、さらにレスポンスデータ部の一部に、更新した乱数を用いて認証用キーで暗号化して生成した認証コードを付加することを特徴とする。
【0008】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
図1は本発明のシステム構成を示す図、図2はホストコンピュータにおけるエンベロープコマンドの生成プロセスを説明する図である。
図1において、公的機関、銀行、証券会社、輸送関係会社、各種製造/販売会社等に設置されているホストコンピュータ1と、各家庭、会社等に設置された端末2はネットワークに接続され、端末2にセットされるICカード(以下、ICC)3によりホストコンピュータ1と通信できるようになっている。ホストコンピュータ1とICC3は、共通の認証用キー、乱数更新用キー、送信用の暗号化キー、受信用の復号化キーをそれぞれ有している。この場合、ホストコンピュータの送信用の暗号化キーはICCの受信用の復号化キーと同じものであり、ホストコンピュータの受信用の復号化キーは、ICCの送信用の暗号化キーと同じものである。そして、ホストコンピュータ1はICCから取得した乱数をコマンド毎に更新しながら認証コードと暗号化したコマンドを生成し、このようなコマンドのセットを一括してから端末2へ送り、端末2からICC3へ順次コマンドを送って、コマンドの認証と実行を行い、また、ICC3から端末2へ順次レスポンスを送り、端末2からホストコンピュータ1へレスポンスを一括して送るようになっている。
【0009】
ネットワーク上で端末2とホストコンピュータ1とが接続されると、まず、端末2からICC3に対して、乱数取得コマンドが発行され、ICC3に対して乱数を生成して返すことを命令する。ICC3は、乱数取得コマンドを受け取ると、内蔵している乱数発生手段により乱数RNBを発生して端末2へ送信し、端末2は受け取った乱数をホストコンピュータ1へ送信する。また、ICCは自動乱数更新機能を有しており、例えば、関数gで与えられる乱数更新キーを用い、発生させた乱数をRNB(0)とすると、RNB(1)=g(RNB(0))、RNB(2)=g(RNB(1))、…RNB(n)=g(RNB(n−1))のようにコマンド毎に乱数を更新する。
【0010】
図2において、ホストコンピュータ1は、乱数RNBを受け取ると、認証用キーを用いて認証コードを生成する(ステップ1)。これは、例えば、図3に示すように、認証用キーを関数fとし、受け取った乱数RNBを変数として、関数fにより認証用コードf(RNB)を生成するものである。
次いで、乱数更新キーを用いて乱数を更新する(ステップ2)。乱数の更新は、ICCの場合と同様であり、乱数更新キーgにより、コマンド毎に順次RNB(1)=g(RNB(0))、RNB(2)=g(RNB(1))、…RNB(n)=g(RNB(n−1))のように更新する。次いで、更新した乱数を用いてコマンド列を暗号化し(ステップ3)、暗号化したコマンド列はエンベロープコマンドに格納する(ステップ4)。
【0011】
コマンド列の暗号化を図4、図5により説明する。
コマンドが、例えば、図4に示すように8バイトのブロック▲1▼、▲2▼……▲6▼からなっているものとすると、図5に示すように、まず、乱数を乱数更新キーgで更新し、これを初期値(IV:RNB(1))として、ブロック▲1▼のデータとの排他的論理和(EXOR)をとり、これを送信用暗号化キーhで暗号化し、暗号化したh(RNB,▲1▼)をD(▲1▼)とする。次いで、ブロック▲2▼のデータとD(▲1▼)との排他的論理和をとり、これをブロック▲2▼のデータD(▲2▼)とする。こうして順次、各ブロックのデータを暗号化し、D(▲1▼)・D(▲2▼)……D(▲6▼)として第1のコマンドを暗号化する。
次いで、第2のコマンドに対して、乱数を更新し、これをIVとして第1のコマンドの場合と同様な手順で暗号化し、以後、コマンド毎に乱数を更新して暗号化を行う。
【0012】
こうして各コマンド毎に乱数を更新して生成された認証用コード(チェックコード)、暗号化した各コマンドは、図6に示すようなエンベロープコマンド(親展コマンド)に格納する。エンベロープコマンドは、ISOのコマンドか否かを示す大分類(CLA)、コマンドコード(INS)、アクセスするファイルを指示するパラメータP1、P2、チェックコード(認証用コード)およびそれ以降の長さを示すLC、暗号化されたコマンドであることを示すTag、暗号化されたコマンドおよびその長さを示すLen、カードからのレスポンスの長さを規定するLEからなっており、このエンベロープコマンドに、チェックコード、暗号化したコマンド列を格納する。
こうして順次エンベロープコマンドに格納して暗号化したコマンドのセット(コマンド列)は、一括してホストコンピュータ1から端末2に送信される。
【0013】
次いで、ホストコンピュータから一括してコマンドを受け取った端末側の処理について図7により説明する。
一括してコマンドを受け取った端末2は、まず、コマンド1をICC3に対して発行する。コマンド1を受け取ったICCは、コマンド1のチェックコードを見て認証する。これは、自身が生成した乱数RNB(0)を、ホストコンピュータと共通に有している認証用キーfにより生成した認証コードf(RNB(0))とコマンドのチェックコードとを比較することにより行う。比較の結果、両者が不一致ならばコマンドを解釈せず以後の手順に移らない。認証OKであれば、乱数を更新し、図5の暗号化の手順と逆の手順により復号化を行う。
【0014】
図8は復号化の手順を説明する図で、まずホストコンピュータと共通の乱数更新用キーgで乱数を更新する。更新された乱数はRNB(1)である。次いで、ホストコンピュータの送信用暗号化キーと同じ受信用暗号化キーhを用いてh-1(h(RNB,▲1▼))を計算し、これとIV(初期値:RNB1)との排他的論理和をとってブロック▲1▼のデータに復元する。D(▲2▼)についても、受信用暗号化キーhを用いてh-1(h(RNB,▲2▼))を求め、これとD(▲1▼)との排他的論理和をとってブロック▲2▼のデータに復元する。同様に、▲3▼……▲6▼のブロックのデータも復元する。こうしてコマンド1が復号化され、これを実行する。
【0015】
次いで、ICCはコマンドを実行した結果(レスポンス)を、図5で説明したホストコンピュータにおけるコマンドの暗号化と全く同じ手順で暗号化して端末へ送信する。この場合、更新した乱数のIV(初期値)はRNB1であり、暗号化キーは、送信用暗号化キーであり、ホストコンピュータ側で持つ受信用復号化キーと同じものである。レスポンスデータには、図9に示すように、コマンドを実行したときの結果がOKかNGかを示す平文のICC実行ステータス、エンベロープコマンド自体の理解ができたか否かを示すステータスバイトが付加されており、これを受け取った端末は、ICCの実行ステータス、ステータスバイトをチェックして、何れかがエラーであればそれ以降のコマンド列はICCに送らないで、ホストコンピュータへエラーを通知する。なお、図9において、さらにレスポンスデータにエンベロープコマンドの場合と同様に認証コードを付加し、ホストコンピュータ側でICCの認証を行えるようにしてもよい。
【0016】
次いで、コマンド1のレスポンスデータのチェックでエラーがなければコマンド2が端末からICCに送られ、ICCでは、ホストコンピュータと同じように乱数を更新し(RNB1→RNB2)、認証、復号、コマンド実行、レスポンス暗号化、認証コードとレスポンスの送信を行い、以降同じ手順で最後のコマンドまで同様の処理を繰り返す。
【0017】
各コマンドに対して返されたレスポンスを受信した端末は、レスポンスのセットとして一括してホストコンピュータへ送信する。レスポンスを受け取ったホストコンピュータでは、ICCでの復号化と全く同じ手順で復号化する。このとき使用する受信用の復号化キーは、ICCの送信用の暗号化キーと同じである。
【0018】
【発明の効果】
以上のように本発明によれば、ネットワークに接続されたホストコンピュータと端末側のICCが共通の認証用キー、乱数更新用キー、暗号化キー、復号化キーをもち、コマンド毎に乱数を更新して認証、暗号化、復号化を行うようにしたのでコマンド発行者の正当性が確保されるとともに、コマンドの発行順序を変えたり、コマンドを追加したりすると、ICC内部で自動的に乱数が更新されているため、認証、あるいは復号化がうまくいかず、ICCの不正使用を防止することができる。また、コマンド、レスポンスの送信は一括して行うため、コマンド毎に認証を行ってもネッワークでの通信回数、通信時間が増えることはない。
【図面の簡単な説明】
【図1】 本発明のシステム構成を示す図である。
【図2】 ホストコンピュータにおけるエンベロープコマンドの生成プロセスを説明する図である。
【図3】 認証コードの生成を説明する図である。
【図4】 コマンドを説明する図である。
【図5】 コマンドの暗号化を説明する図である。
【図6】 エンベロープコマンドを説明する図である。
【図7】 端末、ICC側での処理を説明する図である。
【図8】 コマンドの復号化を説明する図である。
【図9】 ICCから端末へ返すレスポンスデータを説明する図である。
【符号の説明】
1…ホストコンピュータ、2…端末、3…ICカード。
Claims (6)
- ICカードにより端末を介してホストコンピュータと通信を行うようにしたネットワークシステムにおいて、
ICカードとホストコンピュータとが共通の認証用キー、乱数更新用キー、暗号化キー、復号化キーをそれぞれ有し、
ホストコンピュータは、ICカードで発生させた乱数を取得してコマンドを送る毎に前記乱数更新用キーで乱数を更新し、更新した乱数を用いて前記認証用キーで暗号化して認証コードを生成するとともに、前記更新した乱数及び暗号化キーを用いてコマンドを暗号化し、生成した認証コードと暗号化したコマンドを格納したコマンドからなるコマンド列を端末へ一括送信し、
ICカードは、端末からコマンドを受ける毎に、前記発生させた乱数を前記乱数更新用キーで更新し、更新した乱数を用いて各コマンドの認証と復号化キーによる復号化を行い、コマンドの解釈・実行を行うことを特徴とするネットワークシステムにおけるICカード処理方法。 - 請求項1記載の方法において、ICカードにおける各コマンドの認証は、コマンドを受ける毎に更新した乱数を用いて認証用キーで暗号化して認証コードを生成し、端末から受信した各コマンドに格納された認証コードと比較することにより行うことを特徴とするネットワークシステムにおけるICカード処理方法。
- 請求項1記載の方法において、ICカードは、コマンドを受ける毎に更新した乱数及び前記暗号化キーを用いて各コマンドに対するレスポンスを暗号化して端末へ送信し、端末は各レスポンスを一括してホストコンピュータへ送信することを特徴とするネットワークシステムにおけるICカード処理方法。
- 請求項1記載の方法において、ICカードから端末へ返すレスポンスデータ部の一部に、コマンドの実行結果の成否を示す平文の実行ステータスを付加したことを特徴とするICカード処理方法。
- 請求項4記載の方法において、端末は実行ステータスをチェックし、結果がエラーであるとき、以降のコマンド列をICカードへ送信せず、ホストコンピュータに対してエラーを通知することを特徴とするICカード処理方法。
- 請求項4記載の方法において、さらにレスポンスデータ部の一部に、更新した乱数を用いて認証用キーで暗号化して生成した認証コードを付加することを特徴とするICカード処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02873897A JP3925975B2 (ja) | 1997-02-13 | 1997-02-13 | ネットワークシステムにおけるicカード処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02873897A JP3925975B2 (ja) | 1997-02-13 | 1997-02-13 | ネットワークシステムにおけるicカード処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10222468A JPH10222468A (ja) | 1998-08-21 |
JP3925975B2 true JP3925975B2 (ja) | 2007-06-06 |
Family
ID=12256777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02873897A Expired - Fee Related JP3925975B2 (ja) | 1997-02-13 | 1997-02-13 | ネットワークシステムにおけるicカード処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3925975B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012209249B4 (de) * | 2011-07-15 | 2020-02-06 | Socionext Inc. | Sicherheitsvorrichtung und Host-Vorrichtung zum Austausch gescrambelter Verschlüsselungsdaten |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001344213A (ja) | 2000-05-31 | 2001-12-14 | Hitachi Ltd | 生体認証システム |
KR20020004366A (ko) * | 2000-07-05 | 2002-01-16 | 구승엽 | 전자 인증 시스템 |
DE10310351A1 (de) | 2003-03-10 | 2004-09-23 | Giesecke & Devrient Gmbh | Laden von Mediendaten in einen tragbaren Datenträger |
JP2005198205A (ja) * | 2004-01-09 | 2005-07-21 | Sony Corp | 情報処理システム |
JP4681873B2 (ja) * | 2004-12-22 | 2011-05-11 | オリンパス株式会社 | 外部情報記録媒体およびこれを用いたrfidシステム |
JP4104621B2 (ja) * | 2005-09-12 | 2008-06-18 | 株式会社日立製作所 | 生体認証システム |
JP5293388B2 (ja) * | 2009-05-01 | 2013-09-18 | 大日本印刷株式会社 | Icチップ及びデータ読み出し方法等 |
KR101137523B1 (ko) * | 2011-09-26 | 2012-04-20 | 유승훈 | 인증매체, 인증단말, 인증서버 및 이들을 이용한 인증방법 |
JP2019047468A (ja) * | 2017-09-07 | 2019-03-22 | 大日本印刷株式会社 | 情報処理装置、情報処理システム、プログラムおよび情報処理方法 |
-
1997
- 1997-02-13 JP JP02873897A patent/JP3925975B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012209249B4 (de) * | 2011-07-15 | 2020-02-06 | Socionext Inc. | Sicherheitsvorrichtung und Host-Vorrichtung zum Austausch gescrambelter Verschlüsselungsdaten |
Also Published As
Publication number | Publication date |
---|---|
JPH10222468A (ja) | 1998-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100563107B1 (ko) | 전자티켓 유통시스템에서의 인증방법 및 ic 카드 | |
US9117324B2 (en) | System and method for binding a smartcard and a smartcard reader | |
US7558965B2 (en) | Entity authentication in electronic communications by providing verification status of device | |
US8209753B2 (en) | Universal secure messaging for remote security tokens | |
US6073237A (en) | Tamper resistant method and apparatus | |
US6128391A (en) | Method and apparatus for asymetric key management in a cryptographic system | |
CA2417901C (en) | Entity authentication in electronic communications by providing verification status of device | |
EP0223122B1 (en) | Secure component authentication system | |
US6044154A (en) | Remote generated, device identifier key for use with a dual-key reflexive encryption security system | |
US5493613A (en) | Combination pin pad and terminal | |
US20100241867A1 (en) | System and method for encrypted smart card pin entry | |
CN101770619A (zh) | 一种用于网上支付的多因子认证方法和认证系统 | |
WO2007121631A1 (fr) | Système et procédé de certification bancaire électronique sécurisée | |
CA2693347C (en) | Method and system for secure remote transfer of master key for automated teller banking machine | |
JP3925975B2 (ja) | ネットワークシステムにおけるicカード処理方法 | |
KR20090019576A (ko) | 모바일 단말기 인증 방법 및 모바일 단말기 인증 시스템 | |
TWI476629B (zh) | Data security and security systems and methods | |
CN101639957A (zh) | 一种实现圈存或圈提的方法、终端及银行业务系统 | |
US11682008B2 (en) | Method of authenticating a customer, method of carrying out a payment transaction and payment system implementing the specified methods | |
JP2007298985A (ja) | 銀行カードのコンピュータにおけるpki応用の一つの実現方法 | |
CN111259362B (zh) | 一种硬件数字证书载体的身份鉴别方法 | |
WO2020048351A1 (zh) | 一种具有动态验证码的金融ic卡的个人化方法和系统 | |
WO2000028493A1 (en) | A method of encryption and apparatus therefor | |
AU2008203481B2 (en) | Entity authentication in electronic communications by providing verification status of device | |
JPH0199158A (ja) | 端末認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061204 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100309 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110309 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110309 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120309 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130309 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130309 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140309 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |