(57)【要約】【課題】  この発明は、短期間に新しいＩＣカードを実現できる。【解決手段】  この発明は、ベースとなる既存のＩＣカードに対して比較的小規模のプログラム改変により新しいＩＣカードが実現できる場合には、変更分のプログラムを後から書き加え、新しいＩＣカードを実現しようとするものである。【選択図】      図２
2005056259.tif 000002
【特許請求の範囲】
【請求項１】
少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備える携帯可能電子媒体において、
上記制御素子が少なくとも１つの特定アドレスを実行する際に、上記不揮発性メモリに記憶されている新たなプログラムを実行する実行手段を有することを特徴とする携帯可能電子媒体。
【請求項２】
上記不揮発性メモリに記憶される上記新たなプログラムの記憶回数が制限されていることを特徴とする請求項１に記載の携帯可能電子媒体。
【請求項３】
上記新たなプログラムが、内部処理アプリケーションあるいはＯＳであることを特徴とする請求項１に記載の携帯可能電子媒体。
【請求項４】
少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備える携帯可能電子媒体において、
上記不揮発性メモリに、分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレスを一組または複数組記憶する記憶手段と、
上記制御素子により実行するマスクＲＯＭのアドレスが上記分岐アドレスと一致した際に、上記不揮発性メモリの分岐先アドレスに記憶されているプログラムを実行する実行手段と、
を有することを特徴とする携帯可能電子媒体。
【請求項５】
上記記憶手段による分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレスの記憶回数に１回のみの制限があることを特徴とする請求項４に記載の携帯可能電子媒体。
【請求項６】
上記分岐先アドレスが予め固定的に定められているものであることを特徴とする請求項４に記載の携帯可能電子媒体。
【請求項７】
少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備える携帯可能電子媒体において、
上記不揮発性メモリにプログラムの改変用のデータを記憶する記憶手段と、
上記制御素子が上記マスクＲＯＭに格納されているプログラムに基づいて処理を行っている際に、このプログラムのアドレス値があらかじめ設定されている分岐値と一致するか否かを判断する判断手段と、
この判断手段により分岐値と一致すると判断した際に、上記記憶手段に記憶されているデータに基づくプログラムの改変を実行する実行手段と、
この実行手段によるプログラムの改変を実行後、上記マスクＲＯＭに格納されているプログラムに基づく処理へ移行する移行手段と、
を具備したことを特徴とする携帯可能電子媒体。
【請求項８】
少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備える携帯可能電子媒体と、この携帯可能電子媒体を扱う端末からなる携帯可能電子媒体処理システムにおいて、
上記端末が、
上記携帯可能電子媒体へ分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレスの少なくとも一組を供給する供給手段を有し、
上記携帯可能電子媒体が、
上記外部機器から供給される分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレスの少なくとも一組を記憶する記憶手段と、
上記制御素子により実行するマスクＲＯＭのアドレスが上記分岐アドレスと一致した際に、上記不揮発性メモリの分岐先アドレスに記憶されているプログラムを実行する実行手段とを有する、
ことを特徴とする携帯可能電子媒体取扱システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般にＩＣカードと称される携帯可能電子媒体とこの携帯可能電子媒体を扱う携帯可能電子媒体処理システムに関する。
【背景技術】
【０００２】
ＩＣカードは一般に、ＩＣカード用のＬＳＩ上に、ＣＰＵとＣＰＵを制御するためのプログラムを搭載しており、そのプログラムは通常、ＬＳＩ上のマスクＲＯＭと呼ばれる書き換えが出来ない読み出し専用メモリに格納されている。（特許文献１参照）
従来のＩＣカードでは、プログラムがマスクＲＯＭに格納されているため、新しいＩＣカードを開発するためにプログラムを改変するとＬＳＩ上のマスクＲＯＭを作り直す必要があり、そのために通常数ヶ月のＬＳＩ開発期間を要する。    従来のＩＣカードでは、新しいＩＣカードを開発するためにプログラムを少しでも改変すると、ＩＣカード用ＬＳＩに内蔵されているプログラム格納用マスクＲＯＭを作り直す必要があり、そのためにプログラムの開発期間とは別にＬＳＩの開発期間として数ヶ月を必要とし、新しい製品（ＩＣカード）を迅速に市場へ供給することが出来ないという欠点があった。
【０００３】
【特許文献１】特開平１−１１９８９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は、新たな携帯可能電子媒体を短期間に開発することができることを目的としている。
【課題を解決するための手段】
【０００５】
この発明の携帯可能電子媒体は、少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備えるものにおいて、上記制御素子が少なくとも１つの特定アドレスを実行する際に、上記不揮発性メモリに記憶されている新たなプログラムを実行する実行手段を有する。
【０００６】
この発明の携帯可能電子媒体は、少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備えるものにおいて、上記不揮発性メモリに、分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレスを一組または複数組記憶する記憶手段と、上記制御素子により実行するマスクＲＯＭのアドレスが上記分岐アドレスと一致した際に、上記不揮発性メモリの分岐先アドレスに記憶されているプログラムを実行する実行手段とを有する。
【０００７】
この発明の携帯可能電子媒体は、少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備える携帯可能電子媒体において、
上記不揮発性メモリにプログラムの改変用のデータを記憶する記憶手段と、
上記制御素子が上記マスクＲＯＭに格納されているプログラムに基づいて処理を行っている際に、このプログラムのアドレス値があらかじめ設定されている分岐値と一致するか否かを判断する判断手段と、
この判断手段により分岐値と一致すると判断した際に、上記記憶手段に記憶されているデータに基づくプログラムの改変を実行する実行手段と、
この実行手段によるプログラムの改変を実行後、上記マスクＲＯＭに格納されているプログラムに基づく処理へ移行する移行手段とを有する。
【０００８】
この発明の携帯可能電子媒体取扱システムは、少なくともプログラム格納用のマスクＲＯＭと不揮発性メモリと制御用の制御素子が内蔵されているＬＳＩを備える携帯可能電子媒体と、この携帯可能電子媒体を扱う端末からなるものにおいて、上記端末が、上記携帯可能電子媒体へ分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレスの少なくとも一組を供給する供給手段を有し、上記携帯可能電子媒体が、上記外部機器から供給される分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレスの少なくとも一組を記憶する記憶手段と、上記制御素子により実行するマスクＲＯＭのアドレスが上記分岐アドレスと一致した際に、上記不揮発性メモリの分岐先アドレスに記憶されているプログラムを実行する実行手段とを有する。
【発明の効果】
【０００９】
以上詳述したように、この発明によれば、新たな携帯可能電子媒体を短期間に開発することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照してこの発明のＩＣカード処理システム（携帯可能電子媒体処理システム）としてのＩＣカード発行システムを説明する。  
このＩＣカード発行システムは、図１に示すように、パソコン（ＰＣ）１とこのＰＣ１と通信ライン２を介して接続されているリーダライタ３とからなる。このリーダライタ３には、図示しないコネクタ等で接続される発行対象カードとしてのＩＣカード４が装着されるようになっている。
【００１１】
ＰＣ１は、ＰＣ１の全体を制御する制御部５、制御用のプログラムが記憶されていたり種々のデータが記憶されるメモリ６、操作指示を行うキーボード等の操作部７、操作案内等が表示される表示部８、リーダライタ３とのデータのやり取りを行うインターフェース９により構成されている。
【００１２】
リーダライタ３は、リーダライタ３の全体を制御するＣＰＵ１０、制御用のプログラムが記憶されていたり種々のデータが記憶されるメモリ１１、ＰＣ１とのデータのやり取りを行うインターフェース１２、ＩＣカード４とのデータのやり取りを行うインターフェース１３により構成されている。また、リーダライタ３には、ＩＣカード４の挿入検知を行う検知器（図示しない）を有し、この検知結果をＰＣ１へ出力するようになっている。また、リーダライタ３は、ＩＣカード４の挿入検知時にＩＣカード４の内容を読取り、アプリケーション等が未記録の発行用のカードか否かを示すデータをＰＣ１へ出力するようにしても良い。
【００１３】
ＩＣカード４は、図２に示すように、ＩＣカード４の全体を制御するＣＰＵ（制御素子）１４、カード内部動作の制御用のプログラムが記憶されているマスクＲＯＭ（プログラムメモリ）１５、外部（リーダライタ３）と交換する電文の送受信バッファとＣＰＵ１４の処理中のデータの一時格納バッファとして利用されるＲＡＭ（ワーキングメモリ）１６、アプリケーション運用でその内容をリードライトして使用される運用データが格納され、認証用の鍵Ａ等が格納されるＥＥＰＲＯＭ等で構成されるデータメモリ１７、リーダライタ３とのデータのやり取りを行うインターフェース１８、コンタクト部１９により構成されている。  
アプリケーションプログラムとしては、一例として、銀行取引業務処理、クレジット取引業務処理、プリペイド取引業務処理となっている。  
上記ＣＰＵ１４、ＲＯＭ１５、ＲＡＭ１６、データメモリ１７、インターフェース１８は、ＩＣチップ２０により構成され、コンタクト部１９およびＩＣチップ２０は一体的にモジュール化され、ＩＣカード本体に埋設されている。
【００１４】
ＣＰＵ１４には、図３に示すように、分岐番地レジスタ２１ａ、…、分岐先番地レジスタ２２ａ、…、プログラムカウンタ２３、比較回路２４ａ、…が内蔵されている。  
分岐番地レジスタ２１ａ、…は、電源供給等による起動時に、データメモリ１７の領域１７ａに格納されている分岐する番地を記憶するものである。
【００１５】
分岐先番地レジスタ２２ａ、…は、電源供給等による起動時に、データメモリ１７の領域１７ａに格納されている分岐先のプログラムの番地情報を記憶するものである。  
プログラムカウンタ２３は、ＣＰＵ１４の動作中における次に実行するプログラムの番地を常に計数するものである。
【００１６】
比較回路２４ａ、…は、プログラムカウンタ２３のカウント値と分岐番地レジスタ２１ａ、…の値（分岐番地）とが一致するか否かをそれぞれ比較するものであり、一致した際、対応する分岐先番地レジスタ２２ａ、…に記憶されている分岐先番地にジャンプするようになっている。
【００１７】
上記各管理情報をＩＣカード４に対してコマンド電文で送り込むことがＩＣカード４の発行処理となる。  
すなわち、コマンド電文の処理用データとして上記管理情報を与え、コマンドコードと実行パラメータを設定してＩＣカード４に対して送信することで、ＩＣカード４は管理情報に従ってＥＥＰＲＯＭ１７内にメモリ空間を確保し各ファイルを設定していく。
【００１８】
すなわち、図１に示す構成において、ＩＣチップ２０の製造時に鍵Ａを持たせ、このＩＣチップ２０を搭載したＩＣカード４に対するコマンド電文を送信するＰＣ１側にも、これらに対応した鍵Ａを持たせる。
すなわち、鍵Ａは、ＩＣチップ２０の製造時にハードウェアモジュールにて登録されており、発行に対する処理の終了時に消去されるようになっている。
【００１９】
次に、上記のような構成において、ＩＣカード４の発行処理について、図４、図５に示すフローチャートを参照しつつ説明する。  
すなわち、ＩＣカード４をＩＣカード発行システムとしてのＰＣ１に挿入することにより、ＩＣカード４に電源電圧が供給される。これにより、ＩＣカード４のＣＰＵ１４はＰＣ１からの命令電文を受信した際（ＳＴ１）、この命令を解析する（ＳＴ２）。
【００２０】
この命令が鍵の照合、解錠（命令Ａ）の際、ＣＰＵ１４は命令電文内の鍵Ａとデータメモリ１７の鍵Ａとが一致するか否かの照合を行い、一致した際、鍵Ａを解除し（鍵Ａをデータメモリ１７から削除し）する（ＳＴ３、４）。  
また、上記命令が指定のデータの書込み（命令Ｂ）の際、ＣＰＵ１４は命令電文内の書込みアドレスと書込みデータをデータメモリ１７に書込む（ＳＴ５、６）。
【００２１】
上記した処理プログラムがデータメモリ１７に搭載されている状態において、ＰＣ１から追加プログラムとしての命令ＢをＩＣカード４のＣＰＵ１４へ送信する。この命令Ｂには「番地１２３４」と追加プログラムおよび追加プログラムの格納番地（少なくとも１組の、分岐アドレス、プログラムおよびプログラムの格納場所を示す分岐先アドレス）が付加されている。
【００２２】
これにより、ＩＣカード４のＣＰＵ１４は命令Ｂとしての追加プログラム命令に基づいて、「番地１２３４」と追加プログラムおよび追加プログラムの格納番地をデータメモリ１７の領域１７ａに格納する。この際、ＩＣカード４のＣＰＵ１４は物理的、回路的若しくはソフトウェア制御により１回のみ書き込みが可能であるように設定されている。たとえば、データメモリ１７に書換え回数記憶部１７ｂを設け、この書換え回数が所定回（１回）となってしまう際（ＳＴ２０）、書き換えできないようになっている（ＳＴ２１）。
【００２３】
上記ＩＣカード４のＣＰＵ１４は電源供給等による起動時、データメモリ１７の領域１７ａに格納されている分岐する番地を分岐番地レジスタ２１ａ、…に記憶し、分岐先のプログラムの番地情報を分岐先番地レジスタ２２ａ、…に記憶する。
この後、ＩＣカード４のＣＰＵ１４は動作中において、次に実行するプログラムの番地を常にプログラムカウンタ２３に持たせており、このカウント値が分岐番地レジスタ２１ａ、…の値とが比較回路２４ａ、…により比較される。これらの比較の結果、プログラムカウンタ２３のカウント値が、分岐番地レジスタ２１ａ、…のいずれかの分岐番地と一致した際（ＳＴ３０）、ＩＣカード４のＣＰＵ１４は対応する分岐先番地レジスタ２２ａ、…に記憶されている分岐先番地にジャンプして新しいプログラム（Ｃ）を実行する（ＳＴ３１）。
【００２４】
たとえば、ＩＣカード４のＣＰＵ１４は命令Ｂの処理によりプログラムアドレスカウンタ２３のカウント値が分岐アドレスとしての番地１２３４と一致した際（ＳＴ３０）、データメモリ１７の追加プログラムの格納番地に記憶されている追加プログラム「Ｃ」に基づく処理を実行する（ＳＴ３１）。この追加プログラム「Ｃ」は、最後にマスクＲＯＭ１５の適切な番地にジャンプすることでマスクＲＯＭ１５のプログラムに処理を戻す。
【００２５】
上記したように、不揮発性メモリ（データメモリ）の一部に、分岐番地、プログラムおよびプログラムの格納場所を示す分岐先番地を一組または複数組書き込むことができ、ＣＰＵは実行するプログラムメモリの番地が前述の分岐番地と一致した場合は、分岐先番地に格納されているプログラムを実行するようにしたものである。
【００２６】
これにより、プログラムメモリであるマスクＲＯＭを作り直す（ＬＳＩを作り直す）ことなく、ＩＣカードのプログラムを改変することが可能となり、新しいＩＣカードを短期間に開発することが可能になる。
また、データメモリに書換え回数記憶部を設け、この書換え回数が１回となっている際、書き換えできないようにできる。  
すなわち、分岐番地、分岐先番地およびプログラムは物理的、回路的若しくはソフトウェア制御により１回のみ書き込みが可能である。  
分岐先番地は予め固定的に定められているものであっても良い。
【００２７】
すなわち、ＩＣカードにおいて、ＣＰＵがマスクＲＯＭ上のプログラムを実行中に、任意に設定できる特定の番地のプログラムを実行しようとした場合、任意に設定できる新しいプログラムへ制御を移す機能を有するものである。
また、プログラムを分岐する番地と、分岐後に実行される新しいプログラムはＩＣカード用ＬＳＩに内蔵される不揮発性メモリに書き込まれ、上記の番地およびプログラムは複数設定できる。  
上記の番地およびプログラムを不揮発性メモリへ書き込む場合、物理的、回路的あるいはソフトウェア的制御により１回のみ書き込みが可能であり、不正使用を防止することができる。
【００２８】
すなわち、ベースとなる既存のＩＣカードに対して比較的小規模のプログラム改変により新しいＩＣカードが実現できる場合には、変更分のプログラムを後から書き加え、新しいＩＣカードを実現しようとするものである。  
これにより、短期間に新しいＩＣカードを実現できる。
【図面の簡単な説明】
【００２９】
【図１】この発明の実施形態を説明するためのＩＣカード取扱システムの概略構成を示すブロック図。
【図２】ＩＣカードの内部構成を説明するためのブロック図。
【図３】ＣＰＵの内部構成例を示す図。
【図４】ＩＣカードの発行処理を説明するためのフローチャート。
【図５】ＩＣカードの発行処理を説明するためのフローチャート。
【符号の説明】
【００３０】
１…ＰＣ、  ２…通信ライン、  ３…リーダライタ  ４…ＩＣカード、  １０…ＣＰＵ、  １１…メモリ、  １４…ＣＰＵ、  １５…マスクＲＯＭ、  １６…ＲＡＭ、  １７…データメモリ、  １８…インターフェース、  １９…コンタクト部、  ２０…ＩＣチップ、  ２１ａ…分岐番地レジスタ、  ２２ａ…分岐先番地レジスタ、  ２３…プログラムカウンタ、２４ａ…比較回路。
【図１】
2005056259.tif 000003
【図２】
2005056259.tif 000004
【図３】
2005056259.tif 000005
【図４】
2005056259.tif 000006
【図５】
2005056259.tif 000007