JP3375111B2 - Icカード内プログラムの検査方式及び方法 - Google Patents
Icカード内プログラムの検査方式及び方法Info
- Publication number
- JP3375111B2 JP3375111B2 JP00094496A JP94496A JP3375111B2 JP 3375111 B2 JP3375111 B2 JP 3375111B2 JP 00094496 A JP00094496 A JP 00094496A JP 94496 A JP94496 A JP 94496A JP 3375111 B2 JP3375111 B2 JP 3375111B2
- Authority
- JP
- Japan
- Prior art keywords
- card
- program
- inspection
- calculation
- function
- 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 - Lifetime
Links
Landscapes
- Storage Device Security (AREA)
Description
ログラムの正当性を検査する方式及び方法に関するもの
である。
ラムを、ICカード発行者や各種電子商取引のサービス
提供者が承認した正規のものか否かを検査する方法とし
て、特願平3―147086号に係る方法や特願昭63
―56743号に係る方法が知られている。
は、ICカード内に処理プログラムと共に設けた、プロ
グラムチェックコード(サムコード)を計算する手段に
より、処理プログラムの実行前にサムコードの正当性の
チェックを行うものである。なお、チェックの結果、サ
ムコードが正当であれば処理プログラムが実行される。
は、ICカード内に設けた、内蔵(処理)プログラムと
外部からの正当プログラムとを比較する手段により、両
プログラムの一致/不一致をチェックするものである。
なお、チェックの結果、不一致があれば、その旨が外部
に通知され、プログラム化けの存在が報知される。
は、その内部に格納されている諸情報がICカードに内
蔵されているプログラムによって保護されるために、セ
キュリティが高いと言われている。
ずれもICカード内における正規の処理プログラムのプ
ログラム化けを検査するためのものであるから、プログ
ラム化けではなくICカードに書込まれた処理プログラ
ム自身が不正プログラムであったとき、それを検知する
のが困難な場合が生ずる。
検査方法では、ICカードに書込まれた不正プログラム
が、実際にはICカード内の比較手段によって正当プロ
グラムと不一致であると判定されても、一致している
(正規のプログラムである)という通知を発する機能を
有していれば、不正プログラムであることは検知されな
い。そのため、仮にICカード製造者が、ICカード発
行者等との間の信頼関係を裏切ってICカードに正規の
プログラムの代わりに上記機能を有する不正プログラム
を書込んだり、或いは正規のプログラムに上記の不正プ
ログラムを追加して書込んでもこれを知り得る手段がな
い。
Cカード製造者から特殊なコマンド(不正コマンド)を
入手して、これをICカードリーダ/ライタ等を備える
端末を通じてICカードに発行し、ICカード内の情報
(暗号・認証用の鍵、プリペイド度数、電子マネーの残
高金額等)を改ざんしてもこれを知り得る手段がない。
業者から入手した不正コマンドをICカードに発行して
暗号・認証用の鍵等のICカード内の秘密情報を読出
し、ICカードを偽造したり不正な電子マネーを取得し
ても、これを知り得る手段がない。
に、ICカード内の処理プログラムを全て読出すことに
より、ICカード内に書込まれた処理プログラムを検査
する方法が検討された。しかし、この方法では、当事者
のみならず第三者にまでもICカード内の処理プログラ
ムを知らせる結果となってしまうから、ICカードのセ
キュリティが低下することとなるために問題が多く、実
用的でない。
まれたプログラムの正当性を、該プログラムを外部に読
出すことなく検査することが可能なICカード内プログ
ラムの検査方式及び方法を提供することにある。
は、検査対象のICカードの他に、正規のプログラムを
内蔵した正当ICカードが用意される。個々のICカー
ドには、所定の検査用関数と、前記関数に自カード内の
前記プログラムを入力して計算を行なう計算手段とが内
蔵されている。この検査用関数および計算手段は、望ま
しくは、各ICカードのプログラム自体に組込まれてい
る。また、それらICカードの他に、それらICカード
に対し上記計算手段による計算の実行を命じるための装
置と、それらICカードからの計算結果を受信して両者
を照合するための装置とが設けられる。これらの装置
は、例えば1台のコンピュータによって実現できる。
Cカードの各々に対して上記関数による計算が命じら
れ、各ICカードは各々の関数に各々のプログラムを入
力して計算を実行する。次に、その計算結果が各ICカ
ードから外部へ読み出され、両計算結果が比較される。
その結果、両計算結果が一致していれば、検査対象IC
カード内のプログラムは正当なものと判断される。
ラムよりも圧縮され、且つ、パラメータが異なると計算
結果も相違するような性質をもった一方向性関数が望ま
しい。更には、同一の計算結果が生じるような異なるプ
ログラムを導くことが出来るだけ困難である関数が望ま
しい。こうした性質をもつ関数として、例えばハッシュ
関数が挙げられるが、これに限らず適当な暗号関数など
を用いてもよい。
あることが望ましい。特に、検査者が任意に選択して検
査の際にICカードに入力できることが望ましい。これ
により、正規のプログラムと同じ計算結果が生じる不正
プログラムを前もって用意してICカード内に忍ばせて
おくことが、事実上不可能となる。
細に説明する。
の処理プログラム全体又はプログラムメモリ(通常、マ
スクROM)の全内容を或る関数に入力して、その計算
結果を出力する計算機能を、通常、プログラムによって
持たせる。この計算機能は、ICカードが外部から特定
の検査要求コマンドを受信したとき、上記関数を用いた
計算を実行し、その計算結果を検査要求コマンドの送信
元に返信する。
れているべき正規の処理プログラムを内蔵したICカー
ド(以下、正当ICカードという)が特別に用意され
る。さらに、この正当ICカードから出力される計算結
果と検査対象のICカードから出力される計算結果とを
照合するための照合装置が、ICカード外部に設けられ
る。この照合装置は、例えば上記検査要求コマンドの送
信元である検査装置が、これを兼ねる。
関数を用いることにより、検査対象のICカードに内蔵
されているプログラムが正規のプログラムと異なった場
合、夫々のICカードから送信される計算結果も異なる
こととなるために、検査対象のICカードに内蔵されて
いるプログラムが不正プログラムであることが検知でき
る。上述した関数としては、以下の性質を有する一方向
性関数であることが望ましい。
があまり長くならない。
算ができず、従って元のプログラムが分からない。
グラムと異なるプログラムを見つけるのが極めて困難で
ある。
算結果が全く異なる。
ばハッシュ関数(ハッシュ関数の詳細については、「現
代暗号理論」、昭和61年9月1日、電子通信学会発行
の224頁を参照されたい。)があり、これを用いるの
が望ましいが、他の関数を用いても良い。
タ)は、検査者(又は、上述した検査装置)が任意に定
めて検査対象のICカードに外部から与えるようにす
る。つまり、鍵は検査者の任意で自由に変更できるよう
になっている。このように鍵を可変とすることにより、
正規のプログラムに対する計算結果が一定でなくなるた
め、検査対象のICカードに、正規のプログラムと同じ
計算結果を出力する機能を備えた「不正プログラム」を
予め内蔵させておくことが不可能になり、結果として、
不正行為を確実に検出でき、ひいては未然防止にもつな
がる。もし、鍵が固定であると、正規プログラムに対す
る計算結果が一定となるため、これと同じ計算結果を出
力する機能を備えた「不正プログラム」を検査対象のI
Cカードに予め内蔵させておくことが可能である(但
し、相当に困難ではある)。
詳細に説明する。
おける検査用端末を示す。
コンピュータ(以下、PCと略記する)7と、このPC
7に接続されたICカードリーダ/ライタ(以下、IC
カードR/Wという)3とを含む。ICカードR/W3
は、検査対象のICカード10や予め用意された正当I
Cカード1にPC7がアクセスするためのインターフェ
ースを提供するものである。
インストールされている。PC7は、この照合プログラ
ムを実行することにより、ICカードR/W3を介して
正当ICカード1及び検査対象のICカード10にそれ
ぞれ前述した鍵を与えてハッシュ関数による計算を行わ
せ、そして、それらのICカード1、10から出力され
た計算結果を受取り比較し、両者が一致したときにの
み、ICカード10に正規のプログラムが内蔵されてい
ると判断する。
検査対象のICカード10もこれと全く同じ構成であ
る。
カード状のカード本体11と、このカード本体11に組
込まれたICモジュール25を備える。ICモジュール
25は、CPU13、ハッシュ関数15を含む検査用計
算プログラム17が組込まれた全体の処理プログラム1
9が格納されたプログラムメモリ(マスクROM)2
1、及び業務処理に必要な各種のデータを記憶するため
のデータメモリ23を有する。
よる検査用端末の処理動作を、図3のフローチャートを
参照して説明する。
ず、検査者が正当ICカード1をICカードR/W3に
挿入すると、ICカードR/W3が正当ICカード1に
必要な駆動電圧及び駆動指令信号を印加し、それにより
ICカード1が活性化(つまり、起動)する(ステップ
S101)。
タ(鍵)として任意の値(これを、鍵値という)を選定
して、この鍵値をPC7に入力する(ステップS10
2)。PC7は、入力された鍵値を検査依頼コマンドに
セットして、この検査依頼コマンドを正当ICカード1
に送信する(ステップS103)。ここで、検査依頼コ
マンドとは、正当ICカード1に対し、当該カード1内
の処理プログラムに関する正当性の検査要求が出されて
いることを認識させるための一種のデータである。
ドを受信すると、このコマンド内の鍵値とプログラムメ
モリ21内の全プログラム19とをハッシュ関数15に
セットして、ハッシュ関数15の計算を実行する。この
ハッシュ関数の計算として、例えばDES暗号を用いた
場合、ここでDES暗号をy=f(x、k)で表し、k
を鍵値、xを入力情報、yを計算結果とすると、プログ
ラムメモリ21内の全プログラム19を平文と見做して
入力情報xにセットし、検査依頼コマンドから受信した
鍵値をkにセットして、上記関数y=f(x、k)をC
BCモードで計算する。これにより、全プログラム19
に対するハッシュ関数の計算結果yが得られることにな
る。なお、DES暗号やCBCモードの詳細について
は、例えば、「現代暗号理論」(昭和61年9月1日、
電子通信学会発行)を参照されたい。
C7に返信する。PC7は、この計算結果を受信して内
蔵メモリに記憶する(ステップS104)。
算結果を残したまま、正当ICカード1を非活性化して
ICカードR/W3から抜取り、代りに、検査対象のI
Cカード10をICカードR/W3に挿入してこれを活
性化する(ステップS105)。
一の鍵値を選択してPC7に入力する(ステップS10
6)。PC7は、この同一の鍵値を検査依頼コマンドに
セットしてICカード10に送信する(ステップS10
7)。
受信すると、そのコマンド内の鍵値と当該カード10の
プログラムメモリ21内の全プログラム19とを、当該
プログラム19内のハッシュ関数に入力して計算を実行
し、その計算結果をPC7に返信する。PC7はこの計
算結果を受信すると内蔵メモリに格納する(ステップS
108)。
カード1からの計算結果と検査対象ICカード10から
の計算結果とを読み出して、両者を照合する(ステップ
S109)。その結果、二つの計算結果が同一であれば
(ステップS110)、検査対象ICカード10内のプ
ログラムは正規プログラムであると認識し(ステップS
111)、他方、相違していれば不正プログラムである
と認識して(ステップS112)、その認識結果を出力
する。
によれば、既述のような性質を有するハッシュ関数を用
いて検査を行うこととしたので、正規プログラム以外の
プログラムに対して、正規プログラムに対する計算結果
と同一の計算結果を得ることは非常に困難である。その
ため、ICカードに不正プログラムを内蔵させた場合、
高い精度でこれを検知することが可能である。よって、
外部からのコマンドに従ってICカード内の諸情報を不
正に読んだり改ざんしたりするように動作する不正プロ
グラムを、ICカード内に忍び込ませることは非常に困
難となり、ICカードを用いた電子取引の安全性が向上
する。
を検査者の任意で可変としているので、正規プログラム
と同一の計算結果を生じるような不正プログラムを作る
ことは事実上不可能となり、安全性が一層向上する。
尚、鍵値としては、検査端末側のプログラムが複数種の
値を予め用意しておいて(特別に推定し易い値は除外す
る)、その中から検査者が選定したりするようにすれば
使い勝手が良い。
一実施形態に関するものであって、本発明が、上記内容
にのみ限定されることを意味するものでないのは勿論で
ある。
以外の関数、例えば適当な暗号関数を用いても差支えな
い。
を示すブロック図。
ロック図。
ーチャート。
Claims (7)
- 【請求項1】 ICカード内のプログラムが正規のプロ
グラムか否かを検査する方式において、 正規か否か不明なプログラムを内蔵した検査対象ICカ
ードと、正規のプログラムを内蔵した正当ICカードと
を備え、 前記検査対象ICカードと前記正当ICカードの各々
が、所定の検査用関数と、前記関数に自カード内の前記
プログラムを入力して計算を行う計算手段とを有し、 更に、 前記検査対象ICカードと前記正当ICカードの各々に
対し、前記計算手段による計算の実行を命じる検査命令
手段と、 前記検査対象ICカードと前記正当ICカードの各々か
ら前記計算手段の計算結果を受信し、それら両カードか
らの計算結果を照合して、両計算結果が一致するときに
のみ前記検査対象ICカード内のプログラムが正規であ
ると判断する照合手段と、 を備えることを特徴とするICカード内プログラムの検
査方式。 - 【請求項2】 請求項1記載のICカード内プログラム
の検査方式において、 前記関数のパラメータが可変であることを特徴とするI
Cカード内プログラムの検査方式。 - 【請求項3】 請求項2記載のICカード内プログラム
の検査方式において、 前記検査命令手段が、前記計算手段の実行を命じる際、
前記パラメータを指定することを特徴とするICカード
内プログラムの検査方式。 - 【請求項4】 請求項2記載のICカード内プログラム
の検査方式において、 前記関数が、 A. 前記計算結果が、前記関数に入力されたプログラ
ムよりもデータ量において圧縮され、且つ B. 前記パラメータが異なると前記計算結果が相違す
る、 という性質を持つ一方向性関数であることを特徴とする
ICカード内プログラムの検査方式。 - 【請求項5】 請求項4記載のICカード内プログラム
の検査方式において、 前記関数は、ハッシュ関数であることを特徴とするIC
カード内プログラムの検査方式。 - 【請求項6】 請求項1記載のICカード内プログラム
の検査方式において、 前記検査対象ICカードと前記正当ICカードの各々に
おいて、前記プログラムが前記検査用関数及び前記計算
手段を含むことを特徴とするICカ−ド内プログラムの
検査方式。 - 【請求項7】 ICカード内のプログラムが正規のプロ
グラムか否かを検査する方法において、 正規か否か不明なプログラムを内蔵した検査対象ICカ
ードと、正規のプログラムを内蔵した正当ICカードで
あって、各々、所定の検査用関数と、前記関数に自カー
ド内の前記プログラムを入力して計算を行う計算手段と
を有した2枚のICカードを用意する過程と、 前記検査対象ICカードと前記正当ICカードの各々に
対し、前記計算手段による計算の実行を命じる過程と、 前記正当ICカードと前記検査対象ICカードの各々か
ら前記計算手段の計算結果を受信し、それら両カードか
らの計算結果を照合して、両計算結果が一致するときに
のみ前記検査対象ICカード内のプログラムが正規であ
ると判断する過程と、 を備えることを特徴とするICカード内プログラムの検
査方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00094496A JP3375111B2 (ja) | 1996-01-08 | 1996-01-08 | Icカード内プログラムの検査方式及び方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00094496A JP3375111B2 (ja) | 1996-01-08 | 1996-01-08 | Icカード内プログラムの検査方式及び方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09185691A JPH09185691A (ja) | 1997-07-15 |
| JP3375111B2 true JP3375111B2 (ja) | 2003-02-10 |
Family
ID=11487794
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP00094496A Expired - Lifetime JP3375111B2 (ja) | 1996-01-08 | 1996-01-08 | Icカード内プログラムの検査方式及び方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3375111B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3761147B2 (ja) * | 2000-06-07 | 2006-03-29 | 日本電信電話株式会社 | 情報表示システム及びゲートウェイ装置 |
| US9112705B2 (en) | 2006-02-15 | 2015-08-18 | Nec Corporation | ID system and program, and ID method |
| JP5677195B2 (ja) * | 2011-05-20 | 2015-02-25 | 株式会社東芝 | 携帯可能電子装置、携帯可能電子装置の制御方法 |
-
1996
- 1996-01-08 JP JP00094496A patent/JP3375111B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH09185691A (ja) | 1997-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1398385B (zh) | 识别装置、与识别装置通信的终端和验证照相图象的方法 | |
| CN100495430C (zh) | 生物体认证装置、终端装置及自动交易装置 | |
| WO2000008595A1 (en) | Signature system for presenting user signature information | |
| CA2221321A1 (en) | Tokenless identification system for authorization of electronic transactions and electronic transmissions | |
| Murdoch et al. | Security protocols and evidence: Where many payment systems fail | |
| JP2004229316A (ja) | メッセージ認証デバイス | |
| US12536539B2 (en) | Identity verification using a virtual credential | |
| AU8545398A (en) | Method for managing a secure terminal | |
| JP2000215280A (ja) | 本人認証システム | |
| US7500605B2 (en) | Tamper resistant device and file generation method | |
| JP3375111B2 (ja) | Icカード内プログラムの検査方式及び方法 | |
| CN100399738C (zh) | 采用密钥的数据处理方法 | |
| CN120976935A (zh) | 电子证照验证方法、装置、电子设备、存储介质及程序产品 | |
| Le et al. | Building an Application that reads Secure Information Stored on the Chip of the Citizen Identity Card in Vietnam | |
| Hassler | Java Card for e-payment Applications | |
| US20090037744A1 (en) | Biometric pin block | |
| JPH0822517A (ja) | ハイブリッドカードの改ざん防止方式 | |
| US20060289656A1 (en) | Portable electronic apparatus and data output method therefor | |
| RU2253148C2 (ru) | Идентифицирующее устройство с защищенной фотографией, а также средства и способ аутентификации такого идентификационного устройства | |
| US10853476B2 (en) | Method for the security of an electronic operation | |
| KR100572504B1 (ko) | 사전서명을 이용한 신용결제방법 및 그 신용카드 | |
| JP2000251050A (ja) | Icカード、icカード情報読取装置、icカード情報集中管理装置、icカードの不正記録情報検知方法及びシステム | |
| US20080133924A1 (en) | Method for Checking Electronic Authorizaiton Inspection Information, Tester and Computer Program | |
| CN112926992B (zh) | 收单业务的风险控制方法及装置 | |
| US8171456B2 (en) | Method for auditing compliance of an electronic platform and/or a computer program present on said platform, and device and computer program corresponding thereto |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071129 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081129 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091129 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091129 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101129 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111129 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121129 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121129 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131129 Year of fee payment: 11 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |