JP3564899B2 - IC card and IC card system - Google Patents

IC card and IC card system Download PDF

Info

Publication number
JP3564899B2
JP3564899B2 JP28424496A JP28424496A JP3564899B2 JP 3564899 B2 JP3564899 B2 JP 3564899B2 JP 28424496 A JP28424496 A JP 28424496A JP 28424496 A JP28424496 A JP 28424496A JP 3564899 B2 JP3564899 B2 JP 3564899B2
Authority
JP
Japan
Prior art keywords
data
authentication
card
command
compression
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
Application number
JP28424496A
Other languages
Japanese (ja)
Other versions
JPH10124635A (en
Inventor
誠治 平野
紀夫 船渡川
和重 荒井
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 Inc
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 Inc filed Critical Toppan Inc
Priority to JP28424496A priority Critical patent/JP3564899B2/en
Publication of JPH10124635A publication Critical patent/JPH10124635A/en
Application granted granted Critical
Publication of JP3564899B2 publication Critical patent/JP3564899B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ICカードの正当使用者であるか否か等の認証を画像データ等を用いて行い得るICカードに関する。
【0002】
【従来の技術】
従来のICカードとしては、500バイト、1Kバイト、2Kバイト、4Kバイト、8Kバイト、16Kバイトまたは32Kバイトの記憶容量のEEPROMを内蔵するものがある。この記憶容量は、SRAM、DRAM、FRAM(ファーストページRAM)またはフラッシュメモリ等の他の記憶媒体と比べると小容量である。また、従来のICカードは、通常、外部通信用端子が8個であるので、その通信方式として半二重通信を一般的に採用している。
【0003】
また、従来のICカードでは、大量のデータを認証用のデータとして用いる場合は、そのデータの供給源となるシステムであってICカードの通信相手となる上位装置においてその認証用のデータを圧縮して、少ない情報量にしてからICカード内に格納していた。
【0004】
【発明が解決しようとする課題】
ところで、従来のICカードでは、内蔵するEEPROMの記憶容量が最大でも32Kバイトしかなく、また半二重通信という遅い通信方式でもある。このため、上位装置が顔写真、指紋または網膜等の画像データを認証用のデータとして用いている場合は、その大量の認証用画像データをICカード内に取り込むことができない。これより、その上位装置においてICカードを使用することができないという問題があった。
【0005】
また、画像データをICカードの認証用のデータとして用いる場合は、その上位装置において認証用画像データを間引きするかまたは画像を入力する際にスキャン間隔を粗くして、データ量を少なくする必要があった。これにより、画像データが粗いものになってしまった。
【0006】
さらにまた、従来の一般的なデータ圧縮方式であるランレングス法やハフマン法などを用いて画像データを圧縮する方法にも問題点がある。これらの圧縮方法で圧縮した画像データは、ICカードについての正当使用者以外の第三者でもその圧縮した画像データを解凍できてしまう。これにより、認証データを不正に第三者が使用してしまうことも考えられ、セキュリティ的に問題があった。
【0007】
本発明は、このような背景の下になされたものであり、画像データ等の大容量のデータを本人確認等の認証用のデータとして用いることができ、セキュリィティ性が高いICカードを提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した課題を解決するために、請求項1に記載の発明は、情報の書き換えが可能なメモリと、前記メモリに格納されているプログラムに基づいて当該ICカードの動作を制御する中央処理装置とを具備するICカードにおいて、認証の対象となるデータを含むコマンドを外部から受信し、前記データをブロックごとに分割するとともに、該コマンドに含まれるコマンド識別情報を参照することにより、該コマンドが圧縮コマンドであるか否かを判断する受信手段と、前記受信手段によって前記コマンドが圧縮コマンドであると判断された場合、前記データをブロックごとに圧縮して認証用データとしてから前記メモリに格納する圧縮手段とを具備することを特徴としている。
【0009】
また、請求項2記載の発明は、請求項1記載のICカードにおいて、前記圧縮コマンドには、圧縮に関してテーブル処理の指定若しくはレコード順の処理の指定を表す圧縮規定情報が含まれ、前記圧縮手段は、前記圧縮を行う際に前記圧縮規定情報を参照し、前記テーブル処理が指定されている場合には、予めレコード番号がランダムに並んでいるテーブルを参照し、当該テーブルにランダム並んでいるレコード番号を順次読み出し、各レコード番号に対応するデータのブロックを順次圧縮して認証用データとしてから前記メモリに格納する一方、前記レコード順の処理が指定されている場合には、前記データのレコードの順番のままに、対応するデータのブロックを順次圧縮して認証用データとしてから前記メモリに格納することを特徴としている。
【0010】
また、請求項3記載の発明は、情報の書き換えが可能なメモリと、前記メモリに格納されているプログラムに基づいて当該ICカードの動作を制御する中央処理装置とを具備するICカードにおいて、認証の対象となるデータを含むコマンドを外部から受信し、前記データをブロックごとに分割するとともに、該コマンドに含まれるコマンド識別情報を参照することにより、該コマンドが認証コマンドであるか否かを判断する受信手段と、前記受信手段によって前記コマンドが認証コマンドであると判断された場合、前記データをブロックごとに圧縮して認証用データとしてから前記メモリに格納する圧縮手段と、前記コマンドに含まれる認証情報を参照することで、当該ICカード内で認証処理をすべきであるか否かを判断し、該ICカード内で認証処理をすべきであると判断した場合に、前記メモリに格納してある圧縮済みの認証用データと当該ICカードの外部から受信して前記圧縮手段で圧縮した認証用データとを照合することで認証をする認証手段とを具備することを特徴としている。
【0011】
また、請求項4記載の発明は、請求項3記載のICカードにおいて、前記認証手段は、前記認証情報を参照した結果、当該ICカード内で認証処理をすべきでないと判断した場合、前記圧縮手段で圧縮した認証用データを前記コマンドの送信元である前記外部へ送信することを特徴としている。
【0012】
また、請求項5記載の発明は、請求項1〜4のいずれか1の請求項に記載のICカードと、当該ICカードの通信対象となる前記コマンドの送信元である外部装置とを有するICカードシステムであって、前記外部装置は、前記ICカードの前記圧縮手段によって生成された認証用データを当該ICカードから受信して、この受信した認証用データと当該外部装置内ですでに登録されている認証用データとを照合することで、当該ICカードについての認証をすることを特徴としている。
【0014】
【発明の実施の形態】
以下、図面を参照して、この発明の実施形態について説明する。
【0015】
A:実施形態の構成
図1は、本発明の実施形態であるICカードの構成を示すブロック図である。ここで、EEPROM4は、データを書き換え可能に格納する不揮発性メモリである。ROM2は、ICカード10の動作を規定するプログラムを格納した不揮発性メモリである。なお、ICカード10の動作を規定するプログラムは、EEPROM4に格納してもよい。RAM3は、データを一時的に格納する揮発性メモリである。CPU1は、ROM2に格納されているプログラムに基づいてICカード10の動作を制御する。コプロセッサ5は、CPU1の動作を補助する制御装置である。
【0016】
また、コプロセッサ5は、受信手段5aと、圧縮手段5bと、再生手段5cと、テーブル操作手段5dと、認証手段5eとを具備している。ここで、受信手段5aは、ICカード10についての認証の対象となるデータを外部から受信する。そして、その受信は、認証対象となるデータを所定量よりも小さいデータ量のブロックに分割して、1ブロックごとにRAM3に格納することで行う。このブロックは、例えば、64バイトで表せるデータを一つのブロックとしてもよい。圧縮手段5bは、受信手段5aが格納した認証の対象となるデータをブロックごとに連続して圧縮する。そして、圧縮手段5bは、その圧縮した認証用データをEEPROM4に格納する。再生手段5cは、EEPROM4に格納した認証用データと所定の鍵とを用いて、当該認証用データを圧縮前のデータに再生する。テーブル操作手段5dは、圧縮手段5bが圧縮した各ブロックについての各認証用データをテーブルを用いて各々配置し、この各々の配置を所定の条件で変更する。認証手段5eは、ICカード10の外部から受信した認証用データと再生手段5cによって再生した認証用データとをブロックごとに照合することで認証をする。
【0017】
圧縮手段5bにおけるデータ圧縮は、例えば、一方向性ハッシュ関数を用いて行うのが好ましい。一方向性ハッシュ関数とは、衝突を起こしにくい圧縮関数hをいう。ここで、衝突とは、異なるx、xに対してh(x)=h(x)となることである。また、圧縮関数とは、任意ビット長のビット列をある長さのビット列に変換する関数である。したがって、一方向性ハッシュ関数とは、任意長のビット列をある長さのビット列に変換する関数h(x)で、h(x)=h(x)を満たすx1、を容易に(多項式計算量で)見いだせないものである。このとき、任意のyからy=h(x)を満たすxを容易に見いだせないので、必然的に一方向性関数となる。この一方向性ハッシュ関数としては、例えば、MD4、MD5、SHAまたはSHAー1(アメリカのNISTの一方向性ハッシュ関数の標準案)等の既存の関数を用いることができる。
【0018】
B:実施形態の動作
次に、上記構成からなるICカード10の動作を説明する。
図2は、ICカード10におけるコマンド処理を示すフローチャートである。ICカード10に対するコマンドとしては、データ圧縮コマンドと認証コマンドがある。まず、受信手段5aは、上位装置からコマンドを受信すると、そのコマンドのデータ圧縮フラグが「0」か否かをみる(S1)。なお、データ圧縮フラグは、データ圧縮コマンドを実行中であるか否かを示すフラグであり、リセット時に「0」にクリアされる。
【0019】
そして、データ圧縮フラグが「0」の場合は、レコード番号を保持するレジスタR0に初期値「1」をセットするとともに、レジスタR1にテーブルアドレスをセットする(S2)。これにより、データ圧縮コマンドに対する初期設定がされる。一方、データ圧縮フラグが「0」でない場合は、データ圧縮処理を実行中であるので、ステップ2の処理は行わない。
【0020】
その後、受信手段5aは、受信したコマンドが圧縮コマンドか否かを判断する(S3)。この判断は、図7に示す圧縮コマンドのように、コマンドにおけるP1が「00H」の場合は圧縮コマンドであると判断する。ここで、圧縮コマンドであると判断した場合は、データ圧縮フラグを「1」にセットする(S4)。そして、圧縮手段5bは、データ圧縮を実行する(S5)。
【0021】
一方、ステップ3において圧縮コマンドではないと判断した場合は、受信手段5aは受信したコマンドが認証コマンドか否かを判断する(S6)。ここで、認証コマンドであると判断した場合は、受信手段5aはデータ圧縮フラグが「0」か否かを判断する。データ圧縮フラグが「0」である場合は、認証手段5eがデータ認証を実行する(S8)。一方、ステップ6において認証コマンドではないと判断した場合、またはステップ7においてデータ圧縮フラグが「0」ではないと判断した場合は、エラーステータスについての処理を行う(S9)。
【0022】
図3は、図2におけるデータ圧縮(S5)の処理を詳細に示すフローチャートである。まず、圧縮手段5bは、レジスタR0に保持されているレコード番号が予め定めてあるレコード数よりも小さい値か否かを判断する(S11)。ここで、レコード数よりもレコード番号の値の方が小さい場合は、圧縮手段5bはそのレジスタR0で示すEEPROM4上のアドレスに圧縮すべきデータを格納する(S12)。なお、このデータの格納は、RAM3に対して行ってもよい。そして、圧縮手段5bは、圧縮処理をする(S13)。さらに、圧縮手段5bは、その圧縮したデータを認証データとしてEEPROM4に格納する(S14)。その後、圧縮手段5bは、レジスタR0の値に「1」を加え(S15)、1ブロックのデータ圧縮処理を終了する。
【0023】
一方、ステップ11において、レジスタR0に保持されているレコード番号がレコード数以上の値である場合は、圧縮手段5bはエラーステータスとなり、ファイルの終わりを表すEOFを上位装置に返す(S16)。そして、圧縮手段5bは、データ圧縮フラグを「0」にセットし(S17)、データ圧縮処理を終了する。
【0024】
これらにより、図3に示す実施形態では、各レコード毎、すなわち各ブロック毎にデータ圧縮処理をするので、データ圧縮処理についての作業領域を小さくすることができ、EEPROM4およびRAM3の記憶容量を小さくすることができる。
【0025】
C:変形例
図4は、図3における圧縮処理(S13)を変形したものであって、それを詳細に示すフローチャートである。まず、圧縮手段5bは、圧縮コマンドにおいてテーブル処理が指定されているか、またはレコード順の処理が指定かを判断する(S21)。ここで、図7に示す圧縮コマンドのフォーマットにおいて、P2が「00H」の場合はテーブル処理が、P2が「01H」の場合はレコード順の処理が指定される。また、テーブル処理とは、圧縮した各ブロックについての各認証用データをテーブルを用いて各々配置し、この配置を所定の条件で変更する、いわゆるテーブル操作をすることをいう。また、レコード順の処理とは、各ブロック毎に圧縮処理したときのその順番のままに、その後の処理を進めていくことをいう。
【0026】
ステップ21において、テーブル処理が指定されていると判断した場合は、テーブル操作手段5dは、まず、レジスタR2の値がレコード数以下か否かを圧縮手段5bは判断する(S22)。ここで、レジスタR2の値がレコード数以下の場合は、レジスタR1についてのアドレスの内容(レコード番号)を、レジスタR0にセットする。さらに、レジスタR1の内容に「1」を加えるとともに、レジスタR2の内容にも「1」を加える(S23)。
【0027】
その後、圧縮手段5bは、レジスタR0に保持されているレコード番号のデータを読み出して(S24)、圧縮処理をする(S25)。そして、圧縮したデータを認証データとして格納する(S26)。さらに、レジスタR0の内容に「1」を加える(S27)。
【0028】
一方、ステップ21において、レコード順の処理だと判断した場合は、まず、レジスタR0の値がレコード数以下か否かを圧縮手段5bは判断する(S28)。ここで、レジスタR0の値がレコード数以下の場合は、上記ステップ24にいく。一方、レジスタR0の値がレコード数よりも大きい場合は、圧縮手段5bはエラーステータスとなり、ファイルの終わりを表すEOFを上位装置に返す(S29)。
【0029】
これらにより、図4に示す実施形態では、テーブル操作をすることで各認証用データのEEPROM4上の配置がランダムになるので、圧縮した認証用データを第三者が解凍することがますます困難となり、セキュリティ性を高めることができる。
【0030】
図5は、図2におけるデータ認証(S8)を詳細に示すフローチャートである。まず、受信手段5aは、上位装置から認証の対象となるデータを所定のブロックごとに受信する。そして、圧縮手段5bは、図3および図4に示す手順で受信したデータをブロックごとに圧縮処理をする(S31)。そして、これらの受信および圧縮処理をファイルの終わり(EOF)になるまで繰り返す(S32)。
【0031】
次に、認証手段5eは、カード認証であるか否かを判断する(S33)。この判断は、図7に示す認証コマンド(カード認証)のように、コマンドにおけるP1が「01H」の場合はカード認証コマンドであると判断する。ここで、カード認証コマンドであると判断した場合は、認証手段5eは認証処理をする(S34)。すなわち、ステップ31において圧縮処理した認証用データとすでにEEPROM4に格納してある認証用データとを比較して、両者が同一であるか否かを判断する。ここで、同一であれば、当該ICカードの使用者が正当権利者であることが認証できたこととなる。その後、認証手段5eは、ステータスをセットし(S35)、その認証結果を上位装置に返す。
【0032】
一方、ステップ33において、カード認証ではないと判断した場合は、ステップ31において圧縮処理した認証用データをEEPROM4にセットする(S36)。そして、認証手段5eは、ステータスをセットし(S35)、圧縮処理した認証用データを上位装置に送信する。
【0033】
これらにより、図5に示す実施形態では、画像データをもとに認証用データを生成するとともに、ICカードの内部において認証用データの生成およびその認証処理をするので、認証用データを当該ICカードの外部に出力することなく認証でき、セキュリティ性の更なる向上を実現することができる。
【0034】
図6は、本実施形態における認証用データについてのファイル構造を示す説明図である。ここで、ディレクトリ構造としては、まず、データファイルの先頭アドレスと、予め定めた所定値であるレコード数が格納されている。そして、そのレコード数の次に、認証用テーブルアドレスと認証用テーブルのレコード数が格納され、その次に認証用データが格納されている。なお、本図においては、レコードが128個あることを示している。
【0035】
一方、認証用テーブルには、認証するレコードの番号が記録されている。図に示すように、各レコード番号が認証用テーブル上でランダムにならんでいる。これにより、第三者が本認証用データを解読することがより困難となり、セキュリティ性がより向上している。
【0036】
図7は、本実施形態におけるICカードのコマンドフォーマットを示す説明図である。ここで、INSは、圧縮コマンドか認証コマンドかを識別するデータである。圧縮コマンドではINSが43Hに、認証コマンドではINSが56Hになている。P1は、ICカード内で認証処理をするか否かを識別するデータである。P1が00Hのときは認証用データの作成のみを行い、P1が01Hのときは認証用データの作成および認証処理を行う。P2は、テーブル処理をするか否かを示すデータである。そして、P2が00Hのときはテーブル処理、01Hのときはテーブル処理をしないレコード順処理となる。Leは、期待される認証用データの長さを示すデータである。また、圧縮コマンドには、これから圧縮すべきデータが含まれている。本図では、64バイトで表せるデータを1つのレコード(1つのブロック)についての圧縮すべきデータとしている。一方、認証用コマンドには、認証用データが含まれている。
【0037】
なお、上述の実施形態においては、ICカード内で認証処理をしているが、本発明はこれに限定されるものではなく、認証処理を上位装置内で行ってもよい。具体的には、まず、ICカード10内で圧縮処理して生成した認証用データを上位装置に送信する。そして、当該上位装置内において、すでに登録されている認証用データとICカードから受信した認証用データとを照合することで、認証する。
【0038】
また、上述の実施形態では、圧縮処理したデータを認証用データとしたが、本発明はこれに限定されるものではなく、例えば、圧縮処理したデータと所定の鍵を用いて当該認証用データを圧縮前のデータに再生する手段を具備してもよい。
【0039】
これらにより、本実施形態では、圧縮アルゴリズムをICカード内にのみ格納することとすることができるので、第三者が認証用データを偽造または改ざんすることがほとんど不可能となり、セキュリティ性の高いICカードを提供することができる。
【0040】
【発明の効果】
以上説明したように、本発明によれば、認証の対象となるデータを量的に小さいブロックごとに分割して外部から受信して、そのブロックごとに連続して圧縮するので、データ量を少なくでき、ICカード内のメモリの使用量を少なくすることができて、画像データ等の比較的容量の大きいデータを認証用のデータとして用いることができる。したがって、セキュリィティ性が高いICカードを提供することができる。
【0041】
また、本発明におけるデータ圧縮処理において、一方向性ハッシュ関数を用いれば、圧縮した認証用データを復元することが非常に困難となるので、さらにセキュリティ性を高めることができる。
【0042】
また、本発明における認証用データの生成において、圧縮した各ブロックについての各認証用データのアドレスを、テーブルを用いて各々ランダムに再配置することで、さらに第三者がその認証用データを復元することが困難となり、さらにセキュリティ性を高めることができる。
【図面の簡単な説明】
【図1】本発明の実施形態によるICカードの構成を示すブロック図である。
【図2】同実施形態におけるコマンド処理を示すフローチャートである。
【図3】同実施形態におけるデータ圧縮手順を示すフローチャートである。
【図4】図3に示すデータ圧縮手順の主要部を詳細に示すフローチャートである。
【図5】同実施形態におけるデータ認証手順を示すフローチャートである。
【図6】同実施形態における認証要データについてのファイル構造を示す説明図である。
【図7】同実施形態におけるICカードのコマンドフォーマットを示す説明図である。
【符号の説明】
1 CPU
2 ROM
3 RAM
4 EEPROM
5 コプロセッサ
5a 受信手段
5b 圧縮手段
5c 再生手段
5d テーブル操作手段
5e 認証手段
10 ICカード
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an IC card capable of performing authentication such as whether or not the user is an authorized user of the IC card by using image data or the like.
[0002]
[Prior art]
As a conventional IC card, there is an IC card having a built-in EEPROM having a storage capacity of 500 bytes, 1 KB, 2 KB, 4 KB, 8 KB, 16 KB or 32 KB. This storage capacity is smaller than other storage media such as SRAM, DRAM, FRAM (first page RAM) or flash memory. In addition, since the conventional IC card usually has eight external communication terminals, half-duplex communication is generally adopted as the communication method.
[0003]
Further, in the conventional IC card, when a large amount of data is used as authentication data, the authentication data is compressed in a higher-level device which is a communication source of the data and a communication partner of the IC card. Thus, the amount of information is reduced and stored in the IC card.
[0004]
[Problems to be solved by the invention]
By the way, in the conventional IC card, the storage capacity of the built-in EEPROM is only 32 Kbytes at the maximum, and it is a slow communication method called half-duplex communication. For this reason, when the host device uses image data such as a face photograph, fingerprint, or retina as authentication data, a large amount of the authentication image data cannot be captured in the IC card. Thus, there is a problem that the IC card cannot be used in the host device.
[0005]
Further, when image data is used as data for authentication of an IC card, it is necessary to reduce the amount of data by thinning out the authentication image data in the host device or making the scan interval rough when inputting an image. there were. As a result, the image data becomes coarse.
[0006]
Furthermore, there is a problem in a method of compressing image data using a conventional general data compression method such as a run-length method or a Huffman method. The image data compressed by these compression methods can be decompressed by a third party other than the authorized user of the IC card. As a result, it is conceivable that a third party may use the authentication data illegally, and there is a security problem.
[0007]
The present invention has been made under such a background, and it is an object of the present invention to provide an IC card which can use a large amount of data such as image data as data for authentication such as identity verification and has high security. With the goal.
[0008]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the invention according to claim 1 includes a memory capable of rewriting information, and a central processing unit that controls an operation of the IC card based on a program stored in the memory. A command including data to be authenticated is externally received, the data is divided into blocks, and the command is compressed by referring to the command identification information included in the command. Receiving means for determining whether or not the command is a command; and, when the receiving means determines that the command is a compressed command, compressing the data for each block to form authentication data and storing the data in the memory. Means.
[0009]
According to a second aspect of the present invention, in the IC card according to the first aspect, the compression command includes compression specification information indicating designation of table processing or record order processing with respect to compression. Refers to the compression regulation information when performing the compression, and if the table processing is specified, refers to a table in which record numbers are randomly arranged in advance, and records that are randomly arranged in the table. Numbers are sequentially read, and blocks of data corresponding to each record number are sequentially compressed and stored as authentication data in the memory. On the other hand, when processing in the record order is specified, the record of the data is deleted. In this order, corresponding blocks of data are sequentially compressed and stored as authentication data in the memory. To have.
[0010]
According to a third aspect of the present invention, there is provided an IC card comprising: a memory capable of rewriting information ; and a central processing unit for controlling an operation of the IC card based on a program stored in the memory. A command including data to be processed is received from the outside, the data is divided into blocks, and whether or not the command is an authentication command is determined by referring to command identification information included in the command. receiving means for the compression means for storing when the command is determined to be authenticated command by the receiving unit, the data after the compression to authentication data for each block in the memory, included in the command By referring to the authentication information, it is determined whether or not the authentication processing should be performed in the IC card. If it is determined that it should authentication processing at an internal, collates the authentication data compressed by the compression means to receive from outside of the memory in compressed authentication data and the IC card that is stored Authentication means for performing authentication.
[0011]
According to a fourth aspect of the present invention, in the IC card according to the third aspect, when the authentication unit determines that authentication processing should not be performed in the IC card as a result of referring to the authentication information, The authentication data compressed by the means is transmitted to the outside which is the transmission source of the command.
[0012]
According to a fifth aspect of the present invention, there is provided an IC having the IC card according to any one of the first to fourth aspects and an external device that is a source of the command to be communicated with the IC card. A card system, wherein the external device receives the authentication data generated by the compression means of the IC card from the IC card, and the received authentication data and the authentication data already registered in the external device. It is characterized in that the IC card is authenticated by collating the authentication data with the authentication data.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0015]
A: Configuration of Embodiment FIG. 1 is a block diagram showing a configuration of an IC card according to an embodiment of the present invention. Here, the EEPROM 4 is a nonvolatile memory that stores data in a rewritable manner. The ROM 2 is a non-volatile memory that stores a program that defines the operation of the IC card 10. Note that a program that defines the operation of the IC card 10 may be stored in the EEPROM 4. The RAM 3 is a volatile memory that temporarily stores data. The CPU 1 controls the operation of the IC card 10 based on a program stored in the ROM 2. The coprocessor 5 is a control device that assists the operation of the CPU 1.
[0016]
The coprocessor 5 includes a receiving unit 5a, a compressing unit 5b, a reproducing unit 5c, a table operating unit 5d, and an authentication unit 5e. Here, the receiving unit 5a receives data to be authenticated for the IC card 10 from outside. The reception is performed by dividing the data to be authenticated into blocks each having a data amount smaller than a predetermined amount and storing the blocks in the RAM 3 for each block. This block may be, for example, data represented by 64 bytes as one block. The compression unit 5b continuously compresses the data to be authenticated stored in the reception unit 5a for each block. Then, the compression means 5b stores the compressed authentication data in the EEPROM 4. Using the authentication data stored in the EEPROM 4 and a predetermined key, the reproducing unit 5c reproduces the authentication data into data before compression. The table operation unit 5d arranges each authentication data for each block compressed by the compression unit 5b using a table, and changes each arrangement under a predetermined condition. The authentication unit 5e performs authentication by comparing the authentication data received from outside the IC card 10 with the authentication data reproduced by the reproduction unit 5c for each block.
[0017]
It is preferable that the data compression in the compression unit 5b is performed using, for example, a one-way hash function. The one-way hash function is a compression function h that does not easily cause collision. Here, the collision means that h (x 1 ) = h (x 2 ) for different x 1 and x 2 . The compression function is a function for converting a bit string having an arbitrary bit length into a bit string having a certain length. Therefore, the one-way hash function is a function h (x) for converting a bit string of an arbitrary length into a bit string of a certain length , and easily converts x 1 and x 2 satisfying h (x 1 ) = h (x 2 ). (In terms of polynomial complexity). At this time, x that satisfies y = h (x) cannot be easily found from arbitrary y, so that it necessarily becomes a one-way function. As this one-way hash function, for example, an existing function such as MD4, MD5, SHA or SHA-1 (a standard draft of a one-way hash function of NIST in the United States) can be used.
[0018]
B: Operation of Embodiment Next, the operation of the IC card 10 having the above configuration will be described.
FIG. 2 is a flowchart showing the command processing in the IC card 10. Commands for the IC card 10 include a data compression command and an authentication command. First, when receiving a command from a higher-level device, the receiving unit 5a checks whether the data compression flag of the command is “0” (S1). The data compression flag is a flag indicating whether or not a data compression command is being executed, and is cleared to “0” at the time of reset.
[0019]
If the data compression flag is "0", an initial value "1" is set in the register R0 holding the record number, and a table address is set in the register R1 (S2). Thereby, the initial setting for the data compression command is performed. On the other hand, if the data compression flag is not “0”, the data compression process is being executed, and the process of step 2 is not performed.
[0020]
Thereafter, the receiving means 5a determines whether the received command is a compressed command (S3). In this determination, as in the case of the compressed command shown in FIG. 7, when P1 in the command is “00H”, it is determined that the command is a compressed command. If it is determined that the command is a compression command, the data compression flag is set to "1" (S4). Then, the compression unit 5b performs data compression (S5).
[0021]
On the other hand, if it is determined in step 3 that the received command is not a compressed command, the receiving unit 5a determines whether the received command is an authentication command (S6). If it is determined that the command is an authentication command, the receiving unit 5a determines whether the data compression flag is “0”. If the data compression flag is "0", the authentication means 5e executes data authentication (S8). On the other hand, if it is determined in step 6 that the command is not an authentication command, or if it is determined in step 7 that the data compression flag is not “0”, the process for the error status is performed (S9).
[0022]
FIG. 3 is a flowchart showing the data compression (S5) processing in FIG. 2 in detail. First, the compression unit 5b determines whether or not the record number held in the register R0 is smaller than a predetermined number of records (S11). Here, when the value of the record number is smaller than the number of records, the compression means 5b stores the data to be compressed in the address on the EEPROM 4 indicated by the register R0 (S12). This data may be stored in the RAM 3. Then, the compression unit 5b performs a compression process (S13). Further, the compression means 5b stores the compressed data in the EEPROM 4 as authentication data (S14). Thereafter, the compression means 5b adds "1" to the value of the register R0 (S15), and ends the data compression processing of one block.
[0023]
On the other hand, if the record number held in the register R0 is equal to or greater than the number of records in step 11, the compression means 5b enters an error status and returns an EOF indicating the end of the file to the host device (S16). Then, the compression unit 5b sets the data compression flag to “0” (S17), and ends the data compression processing.
[0024]
Thus, in the embodiment shown in FIG. 3, since the data compression processing is performed for each record, that is, for each block, the work area for the data compression processing can be reduced, and the storage capacity of the EEPROM 4 and the RAM 3 is reduced. be able to.
[0025]
C: Modified Example FIG. 4 is a modification of the compression process (S13) in FIG. 3, and is a flowchart showing the modification in detail. First, the compression unit 5b determines whether a table process is specified in the compression command or a process in record order is specified (S21). Here, in the format of the compressed command shown in FIG. 7, when P2 is "00H", table processing is specified, and when P2 is "01H", processing in record order is specified. Further, the table processing refers to performing a so-called table operation of arranging each authentication data for each compressed block using a table and changing the arrangement under predetermined conditions. The processing in the record order means that the subsequent processing proceeds in the same order as when the compression processing was performed for each block.
[0026]
If it is determined in step S21 that the table processing is designated, the table operating means 5d first determines whether the value of the register R2 is equal to or smaller than the number of records (S22). Here, when the value of the register R2 is equal to or less than the number of records, the contents of the address (record number) of the register R1 are set in the register R0. Further, "1" is added to the contents of the register R1 and "1" is added to the contents of the register R2 (S23).
[0027]
Thereafter, the compression means 5b reads out the data of the record number held in the register R0 (S24) and performs a compression process (S25). Then, the compressed data is stored as authentication data (S26). Further, "1" is added to the contents of the register R0 (S27).
[0028]
On the other hand, if it is determined in step 21 that the processing is in the order of records, first, the compression unit 5b determines whether the value of the register R0 is equal to or less than the number of records (S28). If the value of the register R0 is equal to or smaller than the number of records, the process proceeds to step S24. On the other hand, if the value of the register R0 is larger than the number of records, the compression unit 5b enters an error status and returns EOF indicating the end of the file to the host device (S29).
[0029]
As a result, in the embodiment shown in FIG. 4, since the arrangement of each authentication data on the EEPROM 4 becomes random by operating the table, it becomes more difficult for a third party to decompress the compressed authentication data. , Security can be improved.
[0030]
FIG. 5 is a flowchart showing the data authentication (S8) in FIG. 2 in detail. First, the receiving unit 5a receives data to be authenticated from the host device for each predetermined block. Then, the compression unit 5b performs compression processing on the data received in the procedure shown in FIGS. 3 and 4 for each block (S31). The reception and compression processes are repeated until the end of the file (EOF) is reached (S32).
[0031]
Next, the authentication unit 5e determines whether or not card authentication is performed (S33). In this determination, as in the authentication command (card authentication) shown in FIG. 7, when P1 in the command is "01H", it is determined that the command is a card authentication command. If it is determined that the command is a card authentication command, the authentication unit 5e performs an authentication process (S34). That is, the authentication data compressed in step 31 is compared with the authentication data already stored in the EEPROM 4 to determine whether the two are the same. Here, if they are the same, it means that the user of the IC card has been authenticated as a valid right holder. After that, the authentication unit 5e sets the status (S35) and returns the authentication result to the host device.
[0032]
On the other hand, if it is determined in step 33 that the authentication is not card authentication, the authentication data compressed in step 31 is set in the EEPROM 4 (S36). Then, the authentication unit 5e sets the status (S35), and transmits the compressed authentication data to the host device.
[0033]
Thus, in the embodiment shown in FIG. 5, the authentication data is generated based on the image data, and the authentication data is generated and the authentication process is performed inside the IC card. Can be authenticated without outputting to the outside, and security can be further improved.
[0034]
FIG. 6 is an explanatory diagram showing the file structure of the authentication data according to the present embodiment. Here, as the directory structure, first, the head address of the data file and the number of records which is a predetermined value are stored. After the number of records, the authentication table address and the number of records in the authentication table are stored, and then the authentication data is stored. Note that the figure shows that there are 128 records.
[0035]
On the other hand, the number of the record to be authenticated is recorded in the authentication table. As shown in the figure, the record numbers are randomly arranged on the authentication table. As a result, it becomes more difficult for a third party to decrypt the authentication data, and the security is further improved.
[0036]
FIG. 7 is an explanatory diagram showing a command format of the IC card in the present embodiment. Here, INS is data for identifying a compression command or an authentication command. In the compression command, INS is 43H, and in the authentication command, INS is 56H. P1 is data for identifying whether or not to perform authentication processing in the IC card. When P1 is 00H, only authentication data is created, and when P1 is 01H, authentication data creation and authentication processing are performed. P2 is data indicating whether or not to perform table processing. When P2 is 00H, table processing is performed, and when P2 is 01H, record order processing is performed without table processing. Le is data indicating the expected length of the authentication data. The compression command contains data to be compressed. In the figure, data that can be represented by 64 bytes is data to be compressed for one record (one block). On the other hand, the authentication command includes authentication data.
[0037]
In the above-described embodiment, the authentication processing is performed in the IC card. However, the present invention is not limited to this, and the authentication processing may be performed in the host device. Specifically, first, the authentication data generated by the compression processing in the IC card 10 is transmitted to the host device. Then, in the host device, the authentication is performed by comparing the already registered authentication data with the authentication data received from the IC card.
[0038]
Further, in the above-described embodiment, the data subjected to the compression processing is used as the authentication data. However, the present invention is not limited to this. For example, the authentication data may be used by using the compressed data and a predetermined key. A means for reproducing data before compression may be provided.
[0039]
As a result, in the present embodiment, the compression algorithm can be stored only in the IC card, so that it is almost impossible for a third party to falsify or falsify the authentication data, and an IC with high security Cards can be provided.
[0040]
【The invention's effect】
As described above, according to the present invention, the data to be authenticated is divided into small blocks each of which is quantitatively received and received from the outside, and is successively compressed for each block. Thus, the amount of memory used in the IC card can be reduced, and relatively large data such as image data can be used as authentication data. Therefore, an IC card having high security can be provided.
[0041]
Further, in the data compression processing according to the present invention, if a one-way hash function is used, it becomes very difficult to restore the compressed authentication data, so that the security can be further improved.
[0042]
In the generation of the authentication data according to the present invention, the address of each authentication data for each compressed block is rearranged at random using a table, so that a third party can further restore the authentication data. And security can be further improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an IC card according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a command process in the embodiment.
FIG. 3 is a flowchart showing a data compression procedure in the embodiment.
FIG. 4 is a flowchart showing details of a main part of the data compression procedure shown in FIG. 3;
FIG. 5 is a flowchart showing a data authentication procedure in the embodiment.
FIG. 6 is an explanatory diagram showing a file structure of authentication required data in the embodiment.
FIG. 7 is an explanatory diagram showing a command format of the IC card in the embodiment.
[Explanation of symbols]
1 CPU
2 ROM
3 RAM
4 EEPROM
5 coprocessor 5a receiving means 5b compression means 5c reproducing means 5d table operating means 5e authentication means 10 IC card

Claims (5)

情報の書き換えが可能なメモリと、前記メモリに格納されているプログラムに基づいて当該ICカードの動作を制御する中央処理装置とを具備するICカードにおいて、
認証の対象となるデータを含むコマンドを外部から受信し、前記データをブロックごとに分割するとともに、該コマンドに含まれるコマンド識別情報を参照することにより、該コマンドが圧縮コマンドであるか否かを判断する受信手段と、 前記受信手段によって前記コマンドが圧縮コマンドであると判断された場合、前記データをブロックごとに圧縮して認証用データとしてから前記メモリに格納する圧縮手段と
を具備することを特徴とするICカード。
An IC card comprising: a memory capable of rewriting information; and a central processing unit that controls an operation of the IC card based on a program stored in the memory.
A command including data to be authenticated is externally received, the data is divided into blocks, and by referring to command identification information included in the command, whether or not the command is a compressed command is determined. A receiving unit for determining, and when the receiving unit determines that the command is a compressed command, a compressing unit for compressing the data block by block and storing the compressed data as authentication data in the memory. Characteristic IC card.
前記圧縮コマンドには、圧縮に関してテーブル処理の指定若しくはレコード順の処理の指定を表す圧縮規定情報が含まれ、The compression command includes compression specification information indicating the specification of table processing or the processing of record order with respect to compression,
前記圧縮手段は、前記圧縮を行う際に前記圧縮規定情報を参照し、前記テーブル処理が指定されている場合には、予めレコード番号がランダムに並んでいるテーブルを参照し、当該テーブルにランダム並んでいるレコード番号を順次読み出し、各レコード番号に対応するデータのブロックを順次圧縮して認証用データとしてから前記メモリに格納する一方、前記レコード順の処理が指定されている場合には、前記データのレコードの順番のままに、対応するデータのブロックを順次圧縮して認証用データとしてから前記メモリに格納することを特徴とする請求項1に記載のICカード。The compression unit refers to the compression regulation information when performing the compression, and refers to a table in which record numbers are randomly arranged in advance when the table processing is designated, and randomly arranges the table in the table. Are sequentially read, and blocks of data corresponding to each record number are sequentially compressed and stored as authentication data in the memory. On the other hand, when processing in the record order is specified, the data 2. The IC card according to claim 1, wherein the corresponding data blocks are sequentially compressed as authentication data and stored in the memory in the order of the records.
情報の書き換えが可能なメモリと、前記メモリに格納されているプログラムに基づいて当該ICカードの動作を制御する中央処理装置とを具備するICカードにおいて、
認証の対象となるデータを含むコマンドを外部から受信し、前記データをブロックごとに分割するとともに、該コマンドに含まれるコマンド識別情報を参照することにより、該コマンドが認証コマンドであるか否かを判断する受信手段と、
前記受信手段によって前記コマンドが認証コマンドであると判断された場合、前記データをブロックごとに圧縮して認証用データとしてから前記メモリに格納する圧縮手段と、
前記コマンドに含まれる認証情報を参照することで、当該ICカード内で認証処理をすべきであるか否かを判断し、該ICカード内で認証処理をすべきであると判断した場合に、前記メモリに格納してある圧縮済みの認証用データと当該ICカードの外部から受信して前記圧縮手段で圧縮した認証用データとを照合することで認証をする認証手段と
を具備することを特徴とするICカード。
An IC card comprising: a memory capable of rewriting information; and a central processing unit that controls an operation of the IC card based on a program stored in the memory.
A command including data to be authenticated is externally received, the data is divided into blocks, and by referring to command identification information included in the command, whether or not the command is an authentication command is determined. Receiving means for determining ,
When the receiving unit determines that the command is an authentication command, the compression unit stores the data in the memory after compressing the data for each block as authentication data;
By referring to the authentication information included in the command, it is determined whether or not the authentication processing should be performed in the IC card. When it is determined that the authentication processing should be performed in the IC card, An authentication unit for performing authentication by comparing the compressed authentication data stored in the memory with the authentication data received from the outside of the IC card and compressed by the compression unit. IC card.
前記認証手段は、前記認証情報を参照した結果、当該ICカード内で認証処理をすべきでないと判断した場合、前記圧縮手段で圧縮した認証用データを前記コマンドの送信元である前記外部へ送信することを特徴とする請求項3に記載のICカード。If the authentication unit determines that authentication processing should not be performed in the IC card as a result of referring to the authentication information, the authentication unit transmits the authentication data compressed by the compression unit to the external device that is the transmission source of the command. The IC card according to claim 3, wherein 請求項1〜4のいずれか1の請求項に記載のICカードと、当該ICカードの通信対象となる前記コマンドの送信元である外部装置とを有するICカードシステムであって、
前記外部装置は、
前記ICカードの前記圧縮手段によって生成された認証用データを当該ICカードから受信して、この受信した認証用データと当該外部装置内ですでに登録されている認証用データとを照合することで、当該ICカードについての認証をすることを特徴とするICカードシステム。
An IC card system comprising the IC card according to any one of claims 1 to 4, and an external device that is a source of the command to be communicated with the IC card,
The external device includes:
By receiving the authentication data generated by the compression unit of the IC card from the IC card and comparing the received authentication data with the authentication data already registered in the external device, An IC card system for authenticating the IC card.
JP28424496A 1996-10-25 1996-10-25 IC card and IC card system Expired - Fee Related JP3564899B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28424496A JP3564899B2 (en) 1996-10-25 1996-10-25 IC card and IC card system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28424496A JP3564899B2 (en) 1996-10-25 1996-10-25 IC card and IC card system

Publications (2)

Publication Number Publication Date
JPH10124635A JPH10124635A (en) 1998-05-15
JP3564899B2 true JP3564899B2 (en) 2004-09-15

Family

ID=17676035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28424496A Expired - Fee Related JP3564899B2 (en) 1996-10-25 1996-10-25 IC card and IC card system

Country Status (1)

Country Link
JP (1) JP3564899B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0506570D0 (en) * 2005-03-31 2005-05-04 Vodafone Plc Facilitating and authenticating transactions
JP4527640B2 (en) * 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント Data reading device
US8131912B2 (en) 2007-09-27 2012-03-06 Kabushiki Kaisha Toshiba Memory system

Also Published As

Publication number Publication date
JPH10124635A (en) 1998-05-15

Similar Documents

Publication Publication Date Title
US9098440B2 (en) Secure compact flash
US6889324B1 (en) Digital measurement apparatus and image measurement apparatus
JP3774260B2 (en) Memory card security system device and memory card thereof
US20060129819A1 (en) Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
JPH04143881A (en) Mutual authenticating system
JP4212717B2 (en) File processing unit processing method
JP2007004522A (en) Storage device
JP4869337B2 (en) Safe processing of data
KR19980079971A (en) Method and apparatus for preserving data on recording medium
JP2003162698A (en) Portable information record medium
JPH0440587A (en) Portable electronic equipment
JPH05217033A (en) Data authenticating method
JP4101975B2 (en) Data recording / reproducing apparatus using portable storage medium
US20050259965A1 (en) Video recording/reproduction method
JP3564899B2 (en) IC card and IC card system
US20040250104A1 (en) Method of processing data and data processing apparatus
JP4838381B2 (en) A method for inseparably correcting a plurality of non-volatile memory locations in a microcircuit card, particularly a contactless card
US20030024976A1 (en) Electronic apparatus, electronic apparatus operation system, authentication system, authentication method, and information storage medium
JP2006085249A (en) Authentication device and method
US20020190130A1 (en) Portable storage device with function for preventing illegal access thereto
JPH09179949A (en) Portable information recording medium and its reader/ writer device
KR20020086444A (en) Combination type usb drive having storage and operation function
CN112513865A (en) Recording control system, control device, recording control method, and recording medium
CN1979465B (en) Control device and method of effective use of storage device
JP4457573B2 (en) IC card and program writing method

Legal Events

Date Code Title Description
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: 20040518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040531

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: 20080618

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110618

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120618

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140618

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees