JP4457573B2 - Icカード及びプログラム書き込み方法 - Google Patents

Icカード及びプログラム書き込み方法 Download PDF

Info

Publication number
JP4457573B2
JP4457573B2 JP2003106697A JP2003106697A JP4457573B2 JP 4457573 B2 JP4457573 B2 JP 4457573B2 JP 2003106697 A JP2003106697 A JP 2003106697A JP 2003106697 A JP2003106697 A JP 2003106697A JP 4457573 B2 JP4457573 B2 JP 4457573B2
Authority
JP
Japan
Prior art keywords
program
data
writing
card
control unit
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
JP2003106697A
Other languages
English (en)
Other versions
JP2004310681A (ja
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 JP2003106697A priority Critical patent/JP4457573B2/ja
Publication of JP2004310681A publication Critical patent/JP2004310681A/ja
Application granted granted Critical
Publication of JP4457573B2 publication Critical patent/JP4457573B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ICカードの技術に係り、特にICカード発行時のICカードへのプログラム書き込み方法に関するものである。
【0002】
【従来の技術】
従来のICカードは、書き込み可能なメモリ部に追加のプログラムを書き込むことにより、書き込み不可能なメモリ部に予め記録されているプログラムの処理の追加処理や修正処理または、追加のアプリケーションの処理を組み込むことができる。そしてこの追加のプログラムの書き込み可能なメモリ部への書き込みを、書き込み回数や、書き込みの指示をするユーザ(権限者)の認証などを用いて制限している。そして、従来のICカードでは書き込み可能なメモリ部に上述の追加のプログラムだけでなく、ICカードを利用するカード利用者の個人情報やICカード内の処理に利用する情報なども記憶している。尚、書き込み可能なメモリ部に記録されている各種情報は、当該書き込み可能なメモリ部がフォーマットされた後に、そのフォーマットにより分割されたメモリ部内の特定の領域にそれぞれ書き込まれる(例えば、特許文献1参照。)。ここで、書き込み可能なメモリ部がフォーマットされた状態のICカードを発行後状態のICカードと呼び、書き込み可能なメモリ部がフォーマットされていない状態のICカードを発行前状態のICカードと呼ぶ。尚、ICカードはフォーマットされた後に、例えば、ICカードをクレジットカードとして配布するクレジットカード会社などへ発行される。そして、クレジットカード会社がクレジットカード利用者の個人情報やクレジットカード番号などの情報をICカードへ書き込む。
【0003】
【特許文献1】
特公平4−17477号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上述のICカードは、書き込み可能なメモリ部がフォーマットされた後(発行後状態)でも、上述の回数の制限や認証による制限に基づいて追加や修正のためのプログラムを当該書き込み可能なメモリ部へ再書き込みすることができてしまう。これにより、不正なプログラムも書き込み可能となるので、発行後のプログラムの書き込みを許可してしまうことはセキュリティ上好ましくない。
そこでこの発明は、発行後状態のICカードへのプログラムの書き込みを不可能とする機能を備えた、ICカード及びプログラム書き込み方法を提供することを目的としている。
【0005】
【課題を解決するための手段】
本発明は、上述の課題を解決すべくなされたもので、書換え可能なメモリと当該メモリへ書き込みを制御する制御部とを備えたICカードであって、前記制御部が、前記メモリ内のデータ値に基づいて前記ICカードが発行前状態であるか発行後状態であるかを判定し、前記制御部が、前記発行前状態である場合にのみ前記メモリへプログラムを書き込み、前記書換え可能なメモリが、前記プログラムを書き込むプログラム領域と、前記発行後状態に移行した後にデータが書き込まれるデータ領域と、前記メモリを管理する情報が書き込まれるシステム領域とを有し、前記制御部が、前記システム領域のデータ値から所定の演算過程により算出できるチェックデータに基づいて前記発行前状態または前記発行後状態を判定することを特徴とするICカードである。これにより発行後状態となったICカードへの不正なプログラムの書き込みを制限することができる。
【0008】
また本発明は、上述のICカードにおいて、前記制御部が、前記メモリへのプログラムの書き込み時に、当該プログラムの書き込みを指示するプログラム書き込み装置から認証情報を受付けて、その認証情報に基づいて当該書き込みの認証を行ない、前記認証が成功した場合にのみ前記メモリへ前記プログラムを書き込むことを特徴とする。
【0009】
また本発明は、上述のICカードにおいて、前記書き込んだプログラムの起動可能または不可能のいずれかを表す起動可否情報を前記システム領域に記憶することを特徴とする。
【0010】
また本発明は、上述のICカードにおいて、前記書き込んだプログラムを起動する起動アドレスの位置を表す起動アドレス情報を前記システム領域に記憶することを特徴とする。
【0011】
また本発明は、上述のICカードにおいて、前記データ領域へ書き込まれるデータのデータ書き込み完了状態またはデータ書き込み未完了状態のいずれかを表すデータ書き込み状態識別情報を前記システム領域に記憶し、前記制御部が、前記プログラムの起動時に前記データ書き込み状態識別情報と前記起動可否情報とを確認し、前記制御部が、前記データ書き込み状態識別情報がデータ書き込み完了状態を示しておりかつ、前記起動可否情報が起動可能であることを示している場合にのみ前記起動アドレスより前記プログラムを起動することを特徴とする。
【0012】
また本発明は、上述のICカードにおいて、前記制御部が、データ書き込み完了コマンドの受信に基づいて、前記データ書き込み状態識別情報の示す前記データ書き込み未完了状態を前記データ書き込み完了状態へと書き換えることを特徴とする。
【0013】
また本発明は、上述のICカードにおいて、予め前記起動アドレスに格納されるべきデータが規定されており、前記制御部が、前記プログラムを実行する際に前記起動アドレスに記載されているデータが前記予め規定されている起動アドレスに格納されるべきデータと同一であるか否かを確認し、前記制御部が、前記起動アドレスに格納されているデータが前記予め規定されている起動アドレスに格納されるべきデータと同一である場合にのみ前記起動アドレスまたは前記起動アドレスの後ろのアドレスのいずれかより前記プログラムを起動することを特徴とする。
【0014】
また本発明は、プログラムを書き込むプログラム領域と、発行後状態に移行した後にデータが書き込まれるデータ領域と、前記メモリを管理する情報が書き込まれるシステム領域とを有する書換え可能なメモリと当該メモリへ書き込みを制御する制御部とを備えたICカードにおける前記メモリへのプログラム書き込み方法であって、前記制御部が、前記システム領域のデータ値から所定の演算過程により算出できるチェックデータに基づいて前記ICカードが発行前状態であるか発行後状態であるかを判定し、前記発行前状態である場合にのみ前記メモリへプログラムを書き込むことを特徴とする。
【0016】
また本発明は、前記プログラム書き込み方法において、前記制御部が、前記メモリへのプログラムの書き込み時に、当該プログラムの書き込みを指示するプログラム書き込み装置から認証情報を受付けて、その認証情報に基づいて当該書き込みの認証を行ない、前記認証が成功した場合にのみ前記メモリへ前記プログラムを書き込むことを特徴とする。
【0017】
【発明の実施の形態】
以下、本発明の一実施形態によるICカードを図面を参照して説明する。
図1は、この発明の一実施形態によるICカードの構成を示す概略ブロック図である。この図において、符号1はICカードである。また2は情報の書き込み及び書換えができるデータメモリ部である。データメモリ部2は例えばEEPROM(Electrically Erasable Programmable Read-Only Memory)などであり、記録された情報の消去と書き込みを繰り返し行うことができるメモリである。また3はICカード1を制御するためのプログラムが予め記録されおり、他の情報の書き込みが不可能なプログラムメモリ部である。プログラムメモリ部3は例えばPROM(Programmable Read Only Memory)などの読み出し専用メモリである。また4はICカード1の処理を制御する制御部である。また5は外部装置と情報を送受信する送受信部である。尚、送受信部5における情報の送受信方法は、電気的に外部装置と接触した状態で情報を送受信する方法や、電波を用いることにより当該送受信部5に備えられたアンテナを介して情報を外部装置と送受信する方法などがあり、符号(a)のICカードは送受信部5が接触式である場合を示しており、また(b)のICカードは送受信部5が非接触式である場合を示している。なお、外部装置との情報の送受信の方法は従来より公知である。またICカード1は外部装置より電源の供給を受ける。そして当該電源は送受信部5が受け付けて制御部4へ送出する。
【0018】
次に、データメモリ部2のメモリ領域について説明する。図2はデータメモリ部2のメモリ領域を分割した際の状態を示す図である。ここで、データメモリ部2はICカード1が製造されてプログラムが書き込まれた後にメモリ領域が分割される。尚、メモリ領域は図2が示すように、プログラム領域とデータ領域とシステム領域とに分割される。そして、制御部4がこのプログラム領域とデータ領域とシステム領域とにデータメモリ部2のメモリ領域を分割する処理をフォーマット(論理フォーマット)という。
【0019】
ここでプログラム領域とはプログラムメモリ部3に予め記録されているプログラムの修正のためのプログラムや追加のためのプログラムや、アプリケーションプログラムなどが新たに記録される領域である。またデータ領域とはICカード1を使用する利用者の個人情報やICカード1のカード番号などの各種情報が記録される領域である。この各種情報はICカードが発行後状態の時にICカードに書き込まれる。尚、データ領域には、例えばICカードをクレジットカードとして配布するクレジット会社から配布された後に書き込まれる領域もある。
またシステム領域とはICカードが発行前状態の際に、プログラム領域に記録されているプログラムを起動するために制御部4が参照する情報や、データメモリのメモリ領域を管理する情報などが記録される領域である。そして、図2に示すようにデータメモリ部2のメモリ領域は、アドレスAD00からアドレスAD01の前までのアドレスをシステム領域、アドレスAD01からアドレスAD02の前までのアドレスをデータ領域、アドレスAD02以降のアドレスをプログラム領域としてフォーマットされている。尚、システム領域やデータ領域やプログラム領域のアドレスによる位置関係は上述の位置関係に限らず、入れ替わっても良い。
【0020】
次に、システム領域に記録される情報について説明する。図3はシステム領域のデータ構成を示す図である。
システム領域において、システム領域IDはシステム領域が始まることを示す情報である。またアクセス条件はデータ領域への情報の書き込みの許可または不許可の何れかを表す情報である。またデータエリアアドレスはデータ領域が始まる最初のアドレスを表す情報である。また起動データ(起動可否情報)はプログラム領域に記録されているプログラムを起動して良いか否かを表す情報である。また起動アドレス(起動アドレス情報)はプログラム領域が始まる最初のアドレスを表す情報である。またメモリ状態識別データ(データ書き込み状態識別情報)はICカードの配布前にデータ領域へ書き込まれる各種情報の書き込みが完了したか否かを表す情報である。またチェックデータは、システム領域におけるチェックデータの記録領域以外の全データ値を所定の方法により演算して導き出した情報であり、このチェックデータの情報によりシステム領域に記録されている情報が正しいか否かをチェックを行なう。
【0021】
次に、システム領域のメモリ状態識別データについて説明する。図4はメモリ状態識別データの構成を示す図である。メモリ状態識別データはシステム領域内の8ビットの情報である。そして、メモリ状態識別データの8ビットのアドレスをb1〜b8で表すと、b1=0であるときはデータメモリ部2の各領域が分割されていない状態(未フォーマット状態)を示している。またb2=1であるときはデータメモリ部2の各領域が分割されている状態(フォーマット状態)を示している。またb2=0であるときはデータ領域への各種情報の書き込みが未完了であることを示している。またb2=1であるときはデータ領域への各種情報の書き込みが完了したことを示している。
【0022】
次に、データメモリ部2にプログラムや各種情報が書き込まれる際の処理について図5を用いて説明する。図5はデータメモリ部2の状態の遷移を示す図である。
まず、ICカード1の製造が完了した直後のデータメモリ部2は初期データが記録されている(1)。尚、この初期データは例えば、データメモリ部2のメモリ領域のアドレス全てが16進数の「FF」となるデータであったり、または、メモリ領域のアドレス全てが16進数の「00」となるデータである。
【0023】
次に、後述する処理によりICカード1のデータメモリ部2へプログラムの書き込みが行なわれる。尚、ICカード1へのプログラムの書き込みの指示は、プログラムの書き込みを行うプログラム書き込み装置が行なう。ここで、プログラム書き込み装置はプログラムの書き込みの処理を開始する前に、プログラム書き込み装置を操作するユーザの認証を行なう。そして、プログラム書き込み装置がデータメモリ部2へ書きこむプログラムの書き込みの処理を開始する。
【0024】
プログラム書き込み装置はプログラムの書き込みの処理を開始すると、まず、プログラム書き込みコマンドをICカード1に送信する。すると、当該プログラム書き込みコマンドをICカード1の送受信部5が受信して制御部4に転送する。次に、制御部4がプログラムメモリ部3に記録されているプログラムに基づいてデータメモリ部2のシステム領域のチェックデータを後述する所定の演算により算出する。この時、ICカード1はICカード製造工場における製造後なので、データメモリ部2のメモリ領域が分割されてシステム領域が作成されていない。しかし、制御部4が処理に用いるプログラムメモリ部3内に記録されているプログラムには予めデータメモリ部2のメモリ領域に作成されるシステム領域のアドレスの範囲が記録されているので、これにより、制御部4は当該プログラムメモリ部3に記録されているプログラムに基づいて、作成されていないシステム領域のアドレスの範囲におけるチェックデータの演算することができる。
尚、チェックデータの演算は様々な方式があるが、本実施形態においては、例えば、システム領域内におけるチェックデータの記憶領域以外の全データの合計を算出し、その合計の下位8ビットを反転させた値をチェックデータとする。
【0025】
今、制御部4がチェックデータを演算するにあたり、例えば、データメモリ部2にはメモリ領域内の全てのアドレスが16進数の「FF」の値となる初期データが記録されているとする。この場合、システム領域内のアドレスも全て16進数の「FF」の値となっている。そして、チェックデータ記憶領域が8ビットである場合には、チェックデータの記憶領域の値は「FF」となっている。そして当該チェックデータの演算は上述の演算方式により行なわれるが、システム領域におけるチェックデータの記憶領域以外の領域を、上述の演算方式によって「FF」の値が得られないようなアドレス範囲に設定しておく。例えばシステム領域が128バイトとしておけば、そのうちのチェックデータの領域が1バイト分であるとき、チェックデータを算出する為のアドレス範囲は127バイトである。このアドレス範囲127バイトが全て「FF」の初期データが記録されているので、「FF×127バイト=FF×7F=7E81」となり、また「7E81」の下位8ビットは「10000001」となるので、この値を反転しても16進数の「FF」とはならない。このようにシステム領域の範囲を設定することにより、演算の結果がチェックデータの記憶領域の値「FF」と不一致となる。そしてチェックデータの演算結果がチェックデータの記憶領域の値「FF」と不一致である場合には発行前状態であると判定する処理を制御部4にさせることにより、制御部4はシステム領域が発行前状態であると判定できる。また、発行前状態である場合にはプログラム領域にプログラムが書き込めると判断する処理を制御部4に実行させる。そして制御部4は、ICカード1が発行前状態であると判定した場合には、発行前状態である旨の情報を送受信部5に転送し、送受信部5がその情報をプログラム書き込み装置に送信する。
【0026】
次に、ICカード1が発行前状態である旨の情報を受け付けたプログラム書き込み装置はICカード1のデータメモリ部2へ書きこむ為のプログラムを送信する。すると、ICカード1の送受信部5がプログラムを受信して、制御部4に転送し、制御部4が転送を受けたプログラムを、プログラム書き込みコマンドで指定されたアドレス(プログラム領域)に書きこむ。尚、制御部4がプログラムをデータメモリ部2に書きこむ時点では、データメモリ部2のメモリ領域はフォーマットされていないが、プログラムメモリ部3に予め記録されているプログラムにプログラム領域のアドレスが記録されており、この情報に基づいて制御部4がプログラムを書きこむ。(2)はプログラムが書き込まれた状態を示す図である。ここで、制御部4はプログラムを正常に書き込んだ場合には、書き込みが正常に終了した旨の情報を書き込み装置に送信するよう送受信部5に指示し、ICカード1が発行後状態であると判定した場合には、エラー情報を送信するよう送受信部5に指示する。
なお、プログラム書き込みコマンドは、プログラムとそのプログラムを書き込む先頭のアドレスをデータとして含んでいる。
【0027】
次に、プログラムが書きこまれると、制御部4はフォーマットコマンドを実行して、データメモリ部2のメモリ領域をフォーマットし、プログラムが書きこまれた領域のプログラム領域と、システム領域と、データ領域とに分割する。尚、制御部4はデータメモリ部2のメモリ領域をフォーマットした後に、メモリ状態識別データのアドレスb1を0から1に変更する。また、制御部4はプログラムを書き込んだ後、プログラムを書き込んだ先頭のアドレスの情報をシステム領域の起動アドレスの領域に記録し、システム領域内起動データを起動可能を表す情報に変更する。そして、制御部4はシステム領域のチェックデータを記憶する領域以外の全データ値に基づいて演算を行いチェックデータを算出し、チェックデータの記憶領域に当該チェックデータを書きこむ。(3)はデータメモリ部2がフォーマットされた状態を示す図である。そして、データメモリ部2がフォーマットされた後、例えばICカードをクレジットカードとして配布するクレジットカード会社などに発行される。
【0028】
次にフォーマットが終了した発行後状態のICカード1には、各種情報が記録される。この各種情報とは例えばクレジットカードであれば、クレジットカード番号や決済用口座番号やクレジットカード利用者の名前などの個人情報である。そして、これらの各種情報が書きこまれる前に、各種情報を書きこむ専用の情報書き込み装置がデータメモリ部2のデータ領域にファイルを生成するためのファイル生成コマンドをICカード1へ送信する。すると送受信部5が当該ファイル生成コマンドを受信して制御部4に転送する。そして制御部4がファイル生成コマンドを実行し、データ領域を分割してファイルを作成する。(4)はデータ領域を分割してファイルを生成した状態を示す図である。
【0029】
次に、制御部4がデータ書き込みコマンドを実行して、データ領域内の各ファイルに各種情報を書きこむ。(5)は各ファイルへ各種情報を書き込んだ状態を示す図である。そして、各種情報の書き込みが完了すると、情報書き込み装置が書き込み完了を示すデータ書き込み完了コマンド(データ書き込み完了情報)をICカード1に送信する。そして、ICカード1の送受信部5がデータ書き込み完了コマンドを受信する。そして制御部4がそのデータ書き込み完了コマンドの送受信部5から転送を受けて実行し、データメモリ部2のシステム領域におけるメモリ状態識別データのアドレスb2を0から1に変更する。これにより、ICカード1への各種情報の書きこみが完了し、ICカード1が、例えば、クレジットカードとして完成する。(6)は各種情報の書き込みが完了した状態を示す図である。そして、ICカードがクレジットカードの利用者などに配布される。
【0030】
次に、外部装置からの電源を供給された時のICカード1の処理について説明する。図6はICカード1が初期応答を出力する際の処理を示す図である。
まず、外部装置から電源の供給を受けるとプログラムメモリ部3で記憶するプログラムが起動する(ステップS1)。次に、制御部4はシステム領域のチェェックデータを演算し、システム領域におけるチェックデータの記憶領域に記録されている値と同一かどうかを確認して、当該チェックデータの記憶領域に記録されている値が正しいかどうかを確認する(ステップS2)そして、制御部4がシステム領域におけるメモリ状態識別データと起動データとを読み込み、メモリ状態識別データが各種情報の書き込み完了を表しているかどうかを確認する(ステップS3)。そしてメモリ状態識別データが各種情報の書き込み完了を表している場合には、制御部4はシステム領域に記録されている起動データを読み取る(ステップS4)。尚、起動データが「01」を示す場合にはプログラム領域に記録されているプログラムの起動可能を表し、起動データが「00」を示す場合にはプログラム領域に記録されているプログラムの起動不可能を表している。そして制御部4はステップS4で読み取った起動データが「01」であるか否かを確認する(ステップS5)。ステップS5において起動データが「01」である場合には、制御部4はシステム領域に記録されている起動アドレスを読み取る(ステップS6)。
【0031】
次に、制御部はステップS6で読み取った起動アドレスに格納されているデータをプログラム領域から読み取る(ステップS7)。次に制御部4はステップS7で読み取った起動アドレスに格納されているデータがプログラムメモリ部3に記録されているプログラム内で規定されているプログラム開始データであるか否かを確認する(ステップS8)。そしてステップS8においてプログラム開始データであると確認できた場合には、制御部4はデータメモリ部2のプログラムメモリ領域における起動アドレスよりプログラムを起動する(ステップS9)。尚、起動アドレスがステップS8においてプログラムメモリ部3に記録されているプログラム内で規定されているプログラム開始データであるか否かを確認する為だけのデータである場合には、当該起動アドレスの次のアドレスからプログラムを読み込むようにしても良い。例えば、制御部4がプログラムをプログラム領域に記録した際にプログラム領域の先頭アドレス(“AD02”)からプログラムを記録した場合、制御部4は“AD02”の情報をシステム領域の起動アドレスのデータとして記録することになる。そして、予めプログラムメモリ部3のプログラム内で規定されているプログラム開始データが“80”である場合には、制御部4は“AD02”のアドレスのデータが“80”であるかどうかを確認し、同一である場合には、“AD02”の後ろのアドレスからプログラムを起動する。
【0032】
そして制御部4はステップS9で起動したメモリ領域に記録されているプログラムに基づいて初期応答データを送受信部5に転送し、送受信部5が初期応答データを外部装置に送信する(ステップS10)。尚、ステップS8においてプログラム開始データであると確認できない場合には、プログラムメモリ部3に記録されているプログラムに基づいて初期応答データを出力する(ステップS11)。またステップS3において演算結果のチェックデータがシステム領域におけるチェックデータの記憶領域に記録されている値と同一でない場合、またステップS5において起動データが「00」を示す場合にはプログラムメモリ部3に記録されているプログラムに基づいて初期応答データを出力する。尚初期応答データとはICカード1が外部装置と情報を通信するための通信方式を示すデータである。そして、外部装置はICカード1から受信した初期応答データに基づいて通信方式を把握して情報をICカード1へ送信する。
【0033】
次に、ICカード1における外部装置からの命令データの受信に基づいた処理について説明する。図7は外部装置からの命令データに基づくICカード1の処理を示す図である。
図4のステップS10で初期応答データを外部装置へ送信した後、制御部4は命令データを受信したかどうかを判断する(ステップS12)。そして、制御部4は命令データを受信すると、当該命令データがデータメモリ部2へのプログラムの書き込み命令であるか否かを確認する(ステップS13)。
【0034】
次に制御部4は、命令データがプログラムの書き込み命令である場合には、システム領域のチェックデータを演算しICカード1が発行前状態であるか否かを確認する(ステップS14)。ここで演算結果のチェックデータが、システム領域におけるチェックデータの記憶領域に記録されている値と同一でない場合には、制御部4はICカード1が発行前状態であると判断し、データメモリ部2のプログラム領域へ外部装置より受信したプログラムを書き込む(ステップS15)。そして、制御部4はプログラムの書き込みが終了した旨を示す出力データを生成する(ステップS16)。そして送受信部5が当該出力データを外部装置へ送信する(ステップS17)。
【0035】
尚、ステップS13において命令データがプログラムの書き込み命令でないと判断した場合には、制御部4その命令データが示す処理を行なう(ステップS18)。また、ステップS14において演算したチェックデータがシステム領域におけるチェックデータの記憶領域に記録されている値と同一である場合には、制御部4はICカード1が発行後状態であると判断し、エラーデータを示す出力データを生成する(ステップS19)。
【0036】
また、制御部4は上述の処理においてはステップS13において命令データがプログラムの書き込み命令であるか否かを確認してからステップS14においてチェックデータを演算しているが、ステップS12でプログラムの書き込み命令を示す命令データを受信した後に、ステップS14の処理を行なってチェックデータを演算してICカード1が発行後状態であると判断できた場合には、ステップS12で受信したプログラムの書き込み命令を示す命令データを破棄するようにしても良い。
また、ステップS15においてプログラムを書き込む前に、外部装置を操作するユーザの認証をしてからプログラムを書き込む処理を行うようにしても良い。
また、上述のICカード1の制御部4は、プログラムメモリ部3で記憶しているプログラムを読み取って、そのプログラムを実行する事により上述の処理を行なっている。
【0037】
【発明の効果】
以上説明したように、この発明によれば、制御部がメモリ内のデータ値に基づいてICカードが発行前状態であるか発行後状態であるかを判定し、発行前状態である場合にのみメモリへプログラムを書き込む。これにより、発行後状態となったICカードへの不正なプログラムの書き込みを制限することができる。
また、本発明によれば、制御部がシステム領域のデータ値から所定の演算過程により算出できるチェックデータに基づいて発行前状態または発行後状態を判定する。これにより、チェックデータによって発行前状態と判定した場合にのみプログラムを書き込むことができるようになる。
【0038】
また、本発明によれば、制御部がメモリへのプログラムの書き込み時に、当該プログラムの書き込みを指示するプログラム書き込み装置から認証情報を受付けて、その認証情報に基づいて当該書き込みの認証を行ない、認証が成功した場合にのみ前記メモリへ前記プログラムを書き込む。これにより、不正なユーザによるプログラムの書き込みを防ぐことができる。
【0039】
また、本発明によれば、書き込んだプログラムの起動可能または不可能のいずれかを表す起動可否情報を前記システム領域に記憶する。これにより起動可否情報が起動可能な場合にのみ書き込んだプログラムの起動を処理することができる。
【0040】
また、本発明によれば、書き込んだプログラムを起動する起動アドレスの位置を表す起動アドレス情報を前記システム領域に記憶する。これにより当該起動アドレスを制御部が読み込んでそのアドレスからのプログラムの起動を制御部が行なうことができる。
【0041】
また、本発明によれば、データ領域に書き込まれるデータのデータ書き込み完了状態またはデータ書き込み未完了状態のいずれかを表すデータ書き込み状態識別情報をシステム領域に記憶し、制御部がプログラムの起動時にデータ書き込み状態識別情報と起動可否情報とを確認し、データ書き込み状態識別情報がデータ書き込み完了状態を示しておりかつ、起動可否情報が起動可能であることを示している場合にのみ起動アドレスよりプログラムを起動する。これにより、データ書き込み状態識別情報がデータ書き込み完了状態を表し、また起動可否情報が起動可能状態を表している場合にのみ、書き込んだプログラムを起動することができる。
【0042】
また、本発明によれば、制御部がデータ書き込み完了情報の受信に基づいて、データ書き込み状態識別情報の示すデータ書き込み未完了状態をデータ書き込み完了状態へと書き換えることを特徴とする。これにより、データ書き込み完了情報を完了状態へと書き換えた後のデータの書き込みを禁止することができる。
【0043】
また、本発明によれば、予め前記起動アドレスに格納されるべきデータが規定されており、前記制御部が、前記プログラムを実行する際に前記起動アドレスに記載されているデータが前記予め規定されている起動アドレスに格納されるべきデータと同一であるか否かを確認し、前記制御部が、前記起動アドレスに格納されているデータが前記予め規定されている起動アドレスに格納されるべきデータと同一である場合にのみ前記起動アドレスまたは前記起動アドレスの後ろのアドレスのいずれかより前記プログラムを起動する。これにより、制御部は書き込まれたプログラムが正常かどうかを確認した後に当該プログラムの起動を行なうことができる。
【図面の簡単な説明】
【図1】 ICカードの構成を示す概略ブロック図である。
【図2】 データメモリ部2のメモリ領域を分割した際の状態を示す図である。
【図3】 システム領域のデータ構成を示す図である。
【図4】 メモリ状態識別データの構成を示す図である。
【図5】 データメモリ部2の状態の遷移を示す図である。
【図6】 ICカードが初期応答を出力する際の処理を示す図である。
【図7】 外部装置からの命令データに基づくICカードの処理を示す図である。
【符号の説明】
1 ICカード
2 データメモリ部
3 プログラムメモリ部
4 制御部
5 送受信部

Claims (9)

  1. 書換え可能なメモリと当該メモリへ書き込みを制御する制御部とを備えたICカードであって、
    前記制御部が、
    前記メモリ内のデータ値に基づいて前記ICカードが発行前状態であるか発行後状態であるかを判定し、
    前記制御部が、
    前記発行前状態である場合にのみ前記メモリへプログラムを書き込み、
    前記書換え可能なメモリが、
    前記プログラムを書き込むプログラム領域と、前記発行後状態に移行した後にデータが書き込まれるデータ領域と、前記メモリを管理する情報が書き込まれるシステム領域とを有し、
    前記制御部が、前記システム領域のデータ値から所定の演算過程により算出できるチェックデータに基づいて前記発行前状態または前記発行後状態を判定する
    ことを特徴とするICカード。
  2. 前記制御部が、
    前記メモリへのプログラムの書き込み時に、当該プログラムの書き込みを指示するプログラム書き込み装置から認証情報を受付けて、その認証情報に基づいて当該書き込みの認証を行ない、前記認証が成功した場合にのみ前記メモリへ前記プログラムを書き込む
    ことを特徴とする請求項1に記載のICカード。
  3. 前記書き込んだプログラムの起動可能または不可能のいずれかを表す起動可否情報を前記システム領域に記憶することを特徴とする請求項1に記載のICカード。
  4. 前記書き込んだプログラムを起動する起動アドレスの位置を表す起動アドレス情報を前記システム領域に記憶することを特徴とする請求項1に記載のICカード。
  5. 前記データ領域へ書き込まれるデータのデータ書き込み完了状態またはデータ書き込み未完了状態のいずれかを表すデータ書き込み状態識別情報を前記システム領域に記憶し、
    前記制御部が、前記プログラムの起動時に前記データ書き込み状態識別情報と前記起動可否情報とを確認し、
    前記制御部が、前記データ書き込み状態識別情報がデータ書き込み完了状態を示しておりかつ、前記起動可否情報が起動可能であることを示している場合にのみ前記起動アドレスより前記プログラムを起動する
    ことを特徴とする請求項4に記載のICカード。
  6. 前記制御部が、データ書き込み完了コマンドの受信に基づいて、前記データ書き込み状態識別情報の示す前記データ書き込み未完了状態を前記データ書き込み完了状態へと書き換えることを特徴とする請求項5に記載のICカード。
  7. 予め前記起動アドレスに格納されるべきデータが規定されており、
    前記制御部が、前記プログラムを実行する際に前記起動アドレスに記載されているデータが前記予め規定されている起動アドレスに格納されるべきデータと同一であるか否かを確認し、
    前記制御部が、前記起動アドレスに格納されているデータが前記予め規定されている起動アドレスに格納されるべきデータと同一である場合にのみ前記起動アドレスまたは前記起動アドレスの後ろのアドレスのいずれかより前記プログラムを起動する
    ことを特徴とする請求項5に記載のICカード。
  8. プログラムを書き込むプログラム領域と、発行後状態に移行した後にデータが書き込まれるデータ領域と、前記メモリを管理する情報が書き込まれるシステム領域とを有する書換え可能なメモリと当該メモリへ書き込みを制御する制御部とを備えたICカードにおける前記メモリへのプログラム書き込み方法であって、
    前記制御部が、
    前記システム領域のデータ値から所定の演算過程により算出できるチェックデータに基づいて前記ICカードが発行前状態であるか発行後状態であるかを判定し、
    前記発行前状態である場合にのみ前記メモリへプログラムを書き込む、
    ことを特徴とするプログラム書き込み方法。
  9. 前記制御部が、
    前記プログラム領域へのプログラムの書き込み時に、当該プログラムの書き込みを指示するプログラム書き込み装置から認証情報を受付けて、その認証情報に基づいて当該書き込みの認証を行ない、前記認証が成功した場合にのみ前記プログラム領域へ前記プログラムを書き込む
    ことを特徴とする請求項8に記載のプログラム書き込み方法。
JP2003106697A 2003-04-10 2003-04-10 Icカード及びプログラム書き込み方法 Expired - Fee Related JP4457573B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003106697A JP4457573B2 (ja) 2003-04-10 2003-04-10 Icカード及びプログラム書き込み方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003106697A JP4457573B2 (ja) 2003-04-10 2003-04-10 Icカード及びプログラム書き込み方法

Publications (2)

Publication Number Publication Date
JP2004310681A JP2004310681A (ja) 2004-11-04
JP4457573B2 true JP4457573B2 (ja) 2010-04-28

Family

ID=33468811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003106697A Expired - Fee Related JP4457573B2 (ja) 2003-04-10 2003-04-10 Icカード及びプログラム書き込み方法

Country Status (1)

Country Link
JP (1) JP4457573B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159799A (ja) * 2018-03-13 2019-09-19 大日本印刷株式会社 電子情報記憶媒体及びicカード

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159799A (ja) * 2018-03-13 2019-09-19 大日本印刷株式会社 電子情報記憶媒体及びicカード

Also Published As

Publication number Publication date
JP2004310681A (ja) 2004-11-04

Similar Documents

Publication Publication Date Title
JP4423711B2 (ja) 半導体記憶装置及び半導体記憶装置の動作設定方法
JP4393733B2 (ja) 携帯可能情報記録媒体
JPH04143881A (ja) 相互認証方式
EP2028604A1 (en) File processing system and method, and file processing program
US6804730B1 (en) Access control device, access control method, recording medium, and computer data signal for controlling allowance of access to storage area using certification data
CN110489959B (zh) 烧录文件的保护方法、烧录方法、装置、存储介质及设备
JP2009253783A (ja) 携帯端末、データ保護方法およびデータ保護用プログラム
US7167943B2 (en) Memory apparatus
EP2047412B1 (en) Information storage medium and information storage medium processing apparatus
JP2575358B2 (ja) Icカ−ド
JP4457573B2 (ja) Icカード及びプログラム書き込み方法
JP4080079B2 (ja) Icカード
JP4936834B2 (ja) 半導体メモリカードにおけるデータ保護方法、および半導体メモリカード
JP3545627B2 (ja) 携帯可能電子装置
JP3825917B2 (ja) アクセス制御装置
JPH10198776A (ja) 携帯可能情報記録媒体およびこれに対する情報書込/読出方法
JPH11306301A (ja) 期限つきセキュリティステータスを有するicカード
JPH11282991A (ja) Icカード
JP3231466B2 (ja) キーを記憶した情報記録媒体
JPS62200441A (ja) Icカ−ド
JPH0935018A (ja) 携帯可能情報記録媒体およびそのアクセス方法
JP2779092B2 (ja) Icカードとそのデータ記憶用メモリの消去方法
JP3709702B2 (ja) Icカード、icカード接続装置、icカードシステム及びプログラムの実行制御方法
JP2002024790A (ja) 情報処理システム、携帯可能電子装置、及びキー変更方法
JP2008059380A (ja) 記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091217

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100201

R150 Certificate of patent or registration of utility model

Ref document number: 4457573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees