JP3353860B2 - Icカードの認証装置およびその認証方法 - Google Patents
Icカードの認証装置およびその認証方法Info
- Publication number
- JP3353860B2 JP3353860B2 JP11001895A JP11001895A JP3353860B2 JP 3353860 B2 JP3353860 B2 JP 3353860B2 JP 11001895 A JP11001895 A JP 11001895A JP 11001895 A JP11001895 A JP 11001895A JP 3353860 B2 JP3353860 B2 JP 3353860B2
- Authority
- JP
- Japan
- Prior art keywords
- card
- random number
- center
- encryption
- code
- 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
Description
ンラインでセンタが所定のサービスを提供するに先だっ
て、上記ICカードの正当性を、上記センタがオンライ
ンでチェックするICカードの認証装置、その認証方法
およびICカードに関する。
ビス提供をアクセスする場合、そのICカードを認証す
る従来の方法は、たとえば特公平5−67980に記載
されている。
て、IDコードと暗号化鍵Kと暗号化関数FとがICカ
ード100に予め格納され、センタ側200には、多数
のIDコードと多数の暗号化鍵Kとがそれぞれ対応する
テーブルと、暗号化関数Fとが格納され(または、各I
Dコードに基づいて各暗号化鍵Kを計算し)、センタ側
200からICカード100に、暗号化関数Fに基づい
て一度に処理できるビット数の乱数Xを送る。
された手順で、乱数Xと暗号化鍵Kとを、暗号化関数F
に基づいて演算し、このICカード100側の演算結果
Cをセンタ側200へ送り返す。センタ側200でも、
上記と同じ手順で乱数Xと暗号化鍵Kとを、暗号化関数
Fで演算し、センタ側の結果C’を演算する。
たICカード側の演算結果Cとセンタ側の結果C’とを
センタ200が比較し、演算結果CとC’とが等しけれ
ば、当該ICカード100はセンタ側200が発行した
正規のICカードであるとセンタ200が認め、正規の
ICカード100に対して所定のサービスの提供を開始
する。
は常に同じであるが、乱数Xの値がその都度変化するの
で、演算結果C、C’もその都度変化する。
は、乱数Xのビット長が固定であり、このビット数を少
なく設定した場合には、乱数Xと演算結果Cとの関係の
組み合わせが少ないので、総当たりをすると、乱数Xと
演算結果Cとの関係を推測することが容易であり、IC
カードの認証の安全性が低いという欠点がある。このよ
うなICカードの認証の安全性の低下を防止するため
に、上記従来例では、乱数Xとして32〜64ビットの
乱数ビット長を使用し、それ以下のビット数の乱数を使
用しないようにしている。つまり、乱数Xとして64ビ
ットを使用すると決めた場合には、常に64ビットの乱
数をICカードに送り、乱数Xとして32ビットを使用
すると決めた場合には、常に32ビットの乱数をICカ
ードに送る。
も、上記従来例においては、ICカード100とセンタ
200とに内蔵されている暗号化関数Fが、認証を偽造
する者に盗まれると、ICカードの認証の安全性が低い
という問題がある。
あるセンタとに内蔵されている暗号化関数Fが、認証を
偽造する者に盗まれたとしても、ICカードの認証の安
全性が、従来よりも高いICカードの認証装置およびそ
の認証方法を提供することを目的とするものである。
対してオンラインでセンタが所定のサービスを提供する
に先だって、上記ICカードの正当性を、上記センタが
オンラインでチェックするICカードの認証装置におい
て、上記所定のサービスの提供を受けるアクセスをした
上記ICカードに格納してある上記IDコードを読み出
すIDコード読み出し手段と、この読み出された上記I
Dコードに対応する暗号化鍵を特定する暗号化鍵読み出
し手段と、ランダムにビット長を変えて乱数を生成する
可変長乱数生成手段と、上記生成された乱数を、上記I
Cカードの乱数格納手段に書き込む命令を上記ICカー
ドに送出する書込命令送出手段と、上記ICカードに格
納されている暗号化関数と同じ暗号化関数を格納する暗
号化関数格納手段と、上記特定された暗号化鍵と上記I
Cカードに書き込んだ上記乱数とを、上記暗号化関数格
納手段に格納されている上記暗号化関数に基づいて演算
し、センタ側の演算結果を求める演算手段と、上記IC
カードから、上記乱数に基づくICカード側の演算結果
を獲得する演算結果獲得手段と、上記ICカードから獲
得した演算結果と上記センタ側の演算結果とを照合する
照合手段とを有するICカードの認証装置である。
ラインでセンタが所定のサービスを提供するに先だっ
て、上記ICカードの正当性を、上記センタがオンライ
ンでチェックするICカードの認証方法において、上記
ICカードに格納されている暗号化関数と同じ暗号化関
数を格納する暗号化関数格納段階と、上記所定のサービ
スの提供を受けるアクセスをした上記ICカードに格納
してある上記IDコードを読み出すIDコード読み出し
段階と、この読み出された上記IDコードに対応する暗
号化鍵を特定する暗号化鍵特定段階と、ランダムにビッ
ト長を変えて乱数を生成する乱数生成段階と、上記生成
された乱数を上記ICカードの乱数格納手段に書き込む
命令を、上記ICカードに送出する段階と、上記特定さ
れた暗号化鍵と上記ICカードに書き込んだ上記乱数と
を、上記暗号化関数に基づいて演算し、センタ側の演算
結果を求めるセンタ側演算段階と、上記ICカードか
ら、上記乱数に基づくICカード側の演算結果を獲得す
る演算結果獲得段階と、上記ICカードから獲得した演
算結果と上記センタ側の演算結果とを照合し、上記両演
算結果が一致したときに、上記センタが上記ICカード
に所定のサービスの提供を許容する照合段階とを有する
ICカードの認証方法である。
ンラインでセンタ20が所定のサービスを提供するに先
だって、ICカード10の正当性を、センタ20がオン
ラインでチェックするICカードの認証装置である。
を制御するCPU11と、図2に記載のフローチャート
のうちで、ICカード10側のフローチャートのプログ
ラムを格納してあるROM12と、IDコード格納メモ
リ13と、暗号化鍵Kを格納してある暗号化鍵K格納メ
モリ14と、センタ20から受けた乱数Xを格納する乱
数X格納メモリ15と、暗号化関数Fを格納する暗号化
関数F格納メモリ16と、演算結果Cを格納する演算結
果格納メモリ17とを有する。
10毎に互いに異なって付与されているIDコードを格
納するメモリであり、暗号化鍵K格納メモリ14は、I
Dコードに対応する暗号化鍵Kを格納してあるメモリで
ある。なお、IDコード格納メモリ13は、ICカード
10の外部から読み出すことが可能であるが、暗号化鍵
Kと暗号化関数Fとは秘密にされ、ICカード10の外
部から読み出すことはできないようになっている。
納場所が設定されているのではなく、演算が終了した後
におけるメモリのそのときの空き領域に、演算結果が格
納されるものである。さらに、演算結果格納メモリ17
は、ICカード10の揮発メモリ領域に設定されること
が望ましいが、不揮発メモリ領域に設定される場合であ
っても、センタ20が積極的に消去すればよく、書き込
まれた演算結果Cは使い捨てデータであるので、消去せ
ずにそのままにしておいても問題はない。また、演算結
果格納メモリ17の内容を読み出すことはできるが、こ
の読み出した演算結果Cは書き込んだデータを暗号化し
たものである。この演算結果格納メモリ17は、ICカ
ード10のデータエリアとして、センタ20がICカー
ド10を発行する毎に確保できる領域であり、演算結果
格納メモリ17の容量は、センタ20が生成する乱数X
のビット長の可変値の最大値に設定する。
カード毎に付与されているIDコードを格納するIDコ
ード格納手段の例であり、暗号化鍵K格納メモリ14
は、IDコードに対応する暗号化鍵を格納してある暗号
化鍵格納手段の例であり、暗号化関数F格納メモリ16
は、暗号化関数を格納する暗号化関数格納手段の例であ
り、乱数X格納メモリ15は、センタから受信した乱数
を格納する乱数格納手段の例であり、CPU11とRO
M12とは、センタから受信した乱数と暗号化鍵とを、
暗号化関数によって演算し、IDカード側の演算結果を
求める演算手段の例であり、演算結果格納メモリ17
は、IDカード側の演算結果を格納する演算結果格納手
段の例である。
ド10に供給する側であり、センタ20の全体を制御す
るCPU21と、図2に記載のフローチャートのうち
で、センタ20側のフローチャートのプログラムを格納
してあるROM22と、ID、K対応メモリ23と、可
変長乱数X生成手段24と、暗号化関数F格納メモリ2
5と、演算結果格納メモリ26とを有する。
に付与されているIDコードに基づいて暗号化鍵を生成
する暗号化鍵生成手段の例であり、上記実施例において
は、IDコードと暗号化鍵Kとが対応するテーブルであ
る。可変長乱数X生成手段24は、IDコードを読み出
したときに、可変長の乱数を生成する可変長乱数生成手
段の例であり、暗号化関数F格納メモリ25は、ICカ
ードに格納されている暗号化関数と同じ暗号化関数を格
納する暗号化関数格納手段の例であり、演算結果格納メ
モリ26は、生成された暗号化鍵とICカードに書き込
んだ可変長乱数とを、関数格納手段に格納されている暗
号化関数Fとに基づいて演算されたセンタ側の演算結果
を格納する手段の例である。
のサービスの提供を受けるアクセスをしたICカードに
格納してあるIDコードを読み出すIDコード読み出し
手段の例であり、この読み出されたIDコードに対応す
る暗号化鍵を暗号化鍵生成手段から読み出す暗号化鍵読
み出し手段の例であり、生成された乱数を、ICカード
の乱数格納手段に書き込む命令をICカードに送出する
書込命令送出手段の例であり、生成された暗号化鍵とI
Cカードに書き込んだ可変長乱数とを、関数格納手段に
格納されている暗号化関数とに基づいて演算し、センタ
側の演算結果を求める演算手段の例であり、さらに、I
Cカード側で演算した演算結果とセンタ側の演算結果と
を照合する照合手段の例でもある。
うので、ビット長が固定されており、たとえばDES暗
号では64ビット長である。このために、書き込むデー
タがブロック暗号化関数のブロック長よりも長い場合、
最初のブロックの暗号結果を次のブロックの入力と排他
論理和をとる等することが一般的に行われている。
で説明する。なお、このブロック暗号化関数を用いて複
数ブロックの暗号化を行う方法を秘密にすることもセキ
ュリティ向上に役立つが、上記実施例では、可変長デー
タが充分にランダム化できさえすればよい。
る。
読み出し可能なIDコード格納メモリ13に、ICカー
ド10毎に異なるIDコードが予め格納されている。た
だし、このIDコードに対応する暗号化鍵Knは、外部
から読み出せない暗号化鍵K格納メモリ14に格納され
ている。この暗号化鍵Knは、暗号化関数の入出力デー
タビット長と同じにしてある。そして、全てのICカー
ド10に共通する暗号化関数Fは、外部から読み出せな
い暗号化関数F格納メモリ16に格納されている。
ービスを提供するセンタ20にも、ICカード10の各
IDコードと各暗号化鍵Kとのペアで構成されるテーブ
ルが、ID、K対応メモリ23に予め格納されている。
つまり、このIDコードと暗号化鍵Kとの関係が1対1
に対応付けられている。
ャートであり、サービス提供側であるセンタ20がIC
カード10を認証する場合の手順を示すフローチャート
である。
20から受けたい場合には、まず、その所定のサービス
の提供を受けために、ICカード10からセンタ20に
アクセスし(S1)、これに応じて、そのICカード1
0に対して、IDコードを読み取る命令をセンタ20が
送出し(S2)、そのICカード10がIDコード格納
メモリ13から自己のIDコードを読み出し、その読み
出したIDコードをセンタ20に送出する(S3)。
そのIDコードに対応する暗号化鍵KnをID、K対応
メモリ23から読み出すとともに、ビット長がランダム
になるような可変長乱数Xnを可変長乱数生成手段24
からICカード10に送出し、この可変長乱数Xnを書
き込む命令をICカード10に送出する(S4)。ビッ
ト長がランダムな乱数Xnの生成方法としては、固定長
乱数をnブロックつなぎ合わせる方法が簡単である。こ
の場合ではつなぎ合わせるブロック数を1〜nに変化さ
せる。
乱数Xnを受けると、この乱数を、ブロック単位に暗号
化関数Fで暗号化し、乱数X格納メモリ15にその乱数
Xnを格納する。このときに、複数ブロックを暗号化し
て格納する方法としては、ブロック毎に暗号化鍵Knで
暗号化する方法もあるが、一般的には、1つ目のブロッ
クの暗号化出力を次のブロックと排他論理和をとり、同
じ暗号化鍵Knで暗号化する。上記実施例では、一方向
暗号でよいので、排他論理和でなくてもよい。この暗号
化手順は、ICカード10側とサービスを提供するセン
タ20側で同じように実行する。
関数Fを読み出し、ICカード10が、Cn=F(X
n,Kn)の演算を行い(S5)、この演算結果Cnを
演算結果格納メモリ17に格納(S6)する。センタ2
0は、ICカード10に対して、ICカード10の演算
結果Cnを読み出す命令を送出し(S7)、これに応じ
てICカード10がセンタ20に演算結果Cnを返送す
る(S8)。
手段24が生成した乱数XnとID、K対応メモリ23
から読み出した暗号鍵Knとを、暗号化関数F格納メモ
リ25に格納されている関数Fによって演算し、センタ
20側の演算結果C’=F(Xn,Kn)を算出し(S
11)、演算結果格納メモリ26に一時的に格納され、
このセンタ20側の演算結果Cn’と、先にICカード
10から受信したIC20側の演算結果Cnとを比較し
(S12)、両結果Cn’とCnとが一致すれば、IC
カード10に所定のサービスを提供する(S13)。両
結果Cn’とCnとが不一致であれば、サービス提供を
中止する(S21)。
てオンラインでセンタが所定のサービスを提供するに先
だって、ICカードの正当性を、センタがオンラインで
チェックするICカードの認証方法において、所定のサ
ービスの提供を受けるアクセスをしたICカードからI
Dコードを読み取る命令をセンタが送出する段階と、セ
ンタが読み取ったIDコードに基づいて、センタが暗号
化鍵を生成する暗号化鍵生成段階と、IDコードを読み
出した後に、センタが可変長の乱数を生成し、この生成
された可変長の乱数をセンタがICカードに送出すると
ともに、生成された可変長の乱数をICカードの乱数格
納手段に書き込む命令をセンタがICカードに送出する
段階と、ICカードに格納されている暗号化鍵とICカ
ードに書き込まれた可変長乱数とを、ICカードに格納
されている暗号化関数に基づいてICカードが演算し、
ICカード側の演算結果を求めるIC側演算段階と、I
Cカード側の演算結果をICカードからセンタが取り込
む段階と、生成された暗号化鍵とICカードに書き込ん
だ可変長乱数とを、ICカードに格納されている暗号化
関数と同じ暗号化関数に基づいてセンタが演算し、セン
タ側の演算結果を求めるセンタ側演算段階と、ICカー
ド側で演算した演算結果とセンタ側の演算結果とをセン
タが照合し、量演算結果が一致したときに、センタがI
Cカードに所定のサービスの提供を許容する照合段階と
を有するものである。
ド10へ送る乱数Xnのビット長をランダムに制御でき
るようにしたので、ICカード10とセンタ20側に内
蔵されている暗号化関数Fが認証を偽造する者に盗まれ
ても、認証毎に乱数のビット長が異なり、乱数とICカ
ード側演算結果との組み合わせを解読することが従来よ
りも困難になり、認証の安全性が増す。つまり、上記実
施例は、センタ20側からICカード10へ送る乱数の
ビット長をランダムに制御できるようにしたので、IC
カード10からセンタ20に送るICカード側の演算結
果Cnのビット長もランダムに変化し、認証のためのセ
キュリティがより向上する。
0がICカード側の演算結果を求めた後に、その演算結
果を格納する領域を定め、ICカードに設けられている
メモリ17にその演算結果を格納するようにしており、
そのメモリ17の領域が予め固定されていないので、I
Cカード10におけるメモリを有効利用できる。
提供側であるセンタとに内蔵されている暗号化関数F
が、認証を偽造する者に盗まれたとしても、ICカード
の認証の安全性が、従来よりも高いという効果を奏す
る。
り、サービス提供側がICカード10を認証する場合の
手順を示すフローチャートである。
Claims (3)
- 【請求項1】 ICカードに対してオンラインでセンタ
が所定のサービスを提供するに先だって、上記ICカー
ドの正当性を、上記センタがオンラインでチェックする
ICカードの認証装置において、上記 所定のサービスの提供を受けるアクセスをした上記
ICカードに格納してある上記IDコードを読み出すI
Dコード読み出し手段と; この読み出された上記IDコードに対応する暗号化鍵を
特定する暗号化鍵読み出し手段と;ランダムにビット長を変えて 乱数を生成する可変長乱数
生成手段と; 上記生成された乱数を、上記ICカードの乱数格納手段
に書き込む命令を上記ICカードに送出する書込命令送
出手段と; 上記ICカードに格納されている暗号化関数と同じ暗号
化関数を格納する暗号化関数格納手段と; 上記特定された暗号化鍵と上記ICカードに書き込んだ
上記乱数とを、上記暗号化関数格納手段に格納されてい
る上記暗号化関数に基づいて演算し、センタ側の演算結
果を求める演算手段と;上記ICカードから、上記乱数に基づくICカード側の
演算結果を獲得する演算結果獲得手段と; 上記 ICカードから獲得した演算結果と上記センタ側の
演算結果とを照合する照合手段と; を有することを特徴とするICカードの認証装置。 - 【請求項2】 ICカードに対してオンラインでセンタ
が所定のサービスを提供するに先だって、上記ICカー
ドの正当性を、上記センタがオンラインでチェックする
ICカードの認証方法において、上記ICカードに格納されている暗号化関数と同じ暗号
化関数を格納する暗号化関数格納段階と; 上記所定のサービスの提供を受けるアクセスをした上記
ICカードに格納してある上記IDコードを読み出すI
Dコード読み出し段階と; この読み出された上記IDコードに対応する暗号化鍵を
特定する暗号化鍵特定 段階と; ランダムにビット長を変えて乱数を生成する乱数生成段
階と; 上記生成された乱数 を上記ICカードの乱数格納手段に
書き込む命令を、上記ICカードに送出する段階と; 上 記特定された暗号化鍵と上記ICカードに書き込んだ
上記乱数とを、上記暗号化関数に基づいて演算し、セン
タ側の演算結果を求めるセンタ側演算段階と;上記ICカードから、上記乱数に基づくICカード側の
演算結果を獲得する演算結果獲得段階と; 上記ICカードから獲得 した演算結果と上記センタ側の
演算結果とを照合し、上記両演算結果が一致したとき
に、上記センタが上記ICカードに所定のサービスの提
供を許容する照合段階と; を有することを特徴とするICカードの認証方法。 - 【請求項3】 請求項1において、上記暗号化関数が、ビット長が固定されたブロック暗号
化関数であり、 上記生成される乱数のビット長が、上記ブロック暗号化
関数が扱うビット長の整数倍である ことを特徴とするI
Cカードの認証装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11001895A JP3353860B2 (ja) | 1995-04-11 | 1995-04-11 | Icカードの認証装置およびその認証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11001895A JP3353860B2 (ja) | 1995-04-11 | 1995-04-11 | Icカードの認証装置およびその認証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08287202A JPH08287202A (ja) | 1996-11-01 |
JP3353860B2 true JP3353860B2 (ja) | 2002-12-03 |
Family
ID=14525046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11001895A Expired - Fee Related JP3353860B2 (ja) | 1995-04-11 | 1995-04-11 | Icカードの認証装置およびその認証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3353860B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09325994A (ja) * | 1996-06-07 | 1997-12-16 | Sony Corp | 課金システムおよび課金方法 |
JP6789660B2 (ja) | 2016-04-08 | 2020-11-25 | キヤノン株式会社 | 検証装置及び検証システム |
-
1995
- 1995-04-11 JP JP11001895A patent/JP3353860B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08287202A (ja) | 1996-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5267315A (en) | Secret identification number checking system | |
JP4268690B2 (ja) | 認証システムおよび方法、並びに認証方法 | |
JP2581723B2 (ja) | 外部からの許可データをメモリカードなどの携帯可能物体により確認する方法 | |
JP4221680B2 (ja) | スマートカードを使用した認証システム | |
JP4736744B2 (ja) | 処理装置、補助情報生成装置、端末装置、認証装置及び生体認証システム | |
US20050044377A1 (en) | Method of authenticating user access to network stations | |
WO1996007256A1 (fr) | Systeme de certification | |
US20050050366A1 (en) | Personal website for electronic commerce on a smart Java card with multiple security check points | |
JPH0533416B2 (ja) | ||
JP2000358026A (ja) | 個人識別カードの認可使用者がトランザクション端末を使いトランザクションを実行できるようにする方法と個人識別カードをその認可使用者に発行する方法 | |
JPS63229541A (ja) | データ交換システム | |
EP0500749A4 (en) | Method and system for personal identification using proofs of legitimacy | |
US5481612A (en) | Process for the authentication of a data processing system by another data processing system | |
JP2003123032A (ja) | Icカード端末および本人認証方法 | |
US20050144446A1 (en) | Authentication method, program for implementing the method, and storage medium storing the program | |
JP2000215280A (ja) | 本人認証システム | |
JP4268817B2 (ja) | 認証方法 | |
JP3353860B2 (ja) | Icカードの認証装置およびその認証方法 | |
JP3792808B2 (ja) | 認証方法及び認証システム | |
JPH11328325A (ja) | Icカードシステム | |
JP4207016B2 (ja) | 認証システム、並びに認証装置および方法 | |
JP5300026B2 (ja) | Icカードシステムにおけるカード認証システム | |
US20170323302A1 (en) | Security systems and methods | |
JPS63273980A (ja) | 相互認証方式 | |
JPH0632099B2 (ja) | カ−ド書込装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070927 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080927 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080927 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090927 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090927 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100927 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100927 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110927 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |