(57)【要約】【課題】本発明では、複数のコマンドによりデータが書き込まれる携帯可能記憶媒において、複数のコマンド処理全体について正常な書込みか否かを確認できる携帯可能記憶媒とすることを課題とする。【解決手段】上記課題を解決するため、本発明は、端末からの供給される電文を受信した際に、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うと共に、最初に受信した電文又は電文と携帯可能記録媒体に保存されている最新の媒体側チェックコードに基づき媒体側チェックコードを生成し保存する手段とを有し、最後に端末から供給される電文を用いて生成されるチェックコードについて照合し一致しなかった場合にエラー処理を行う手段、または照合結果を受信する手段、とを有することを特徴とする携帯可能記録媒体とする。【選択図】図４
2013246672.tif 000002
【特許請求の範囲】
【請求項１】
端末からの供給される複数の電文を用いて電文に基づいた処理が行われる記憶領域を有する携帯可能記録媒体において、
最初に端末からの供給される電文を受信した際に、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うと共に、電文に基づき最初の媒体側チェックコードを生成し保存する手段と、
端末からの供給される電文を受信した際に、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うと共に、電文と携帯可能記録媒体に保存されている最新の媒体側チェックコードに基づき媒体側チェックコードを生成し保存する手段とを有し、
最後に端末から供給される電文を用いて生成されるチェックコードについて、端末に保存される端末側チェックコード又は携帯可能記録媒体に予め保存される確認用チェックコードと携帯可能記録媒体に保存される媒体側チェックコードとを照合し一致しなかった場合にエラー処理を行う手段、または端末に保存される端末側チェックコードと端末に送信した携帯可能記録媒体に保存される媒体側チェックコードの照合結果を受信する手段、
とを有することを特徴とする携帯可能記録媒体。
【請求項２】
携帯可能記録媒体の記憶領域に予め確認用チェックコードを保存しておき、
端末からの供給される電文を受信した際に生成される媒体側チェックコードと確認用チェックコードを照合し一致しなかった場合にエラー処理を行う手段を有することを特徴とする請求項１に記載の携帯可能記録媒体。
【請求項３】
前記エラー処理が、携帯可能記録媒体に複数の電文に基づいた処理を行った結果を無効化することを特徴とする請求項１または２に記載の携帯可能記録媒体。
【請求項４】
携帯可能記録媒体に複数の電文を供給し、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うための端末において、
電文を携帯可能記録媒体に供給する手段、
最初に携帯可能記録媒体に供給した電文に基づき端末側チェックコードを生成し保存する手段、
電文と端末に保存されている最新の端末側チェックコードに基づき端末側チェックコードを生成し保存する手段、
最後に端末から供給される電文を用いて生成されるチェックコードについて、端末に保存される端末側チェックコードと携帯可能記録媒体に保存される媒体側チェックコードとを照合し、一致しなかった場合にエラー処理を行う手段、又は携帯可能記録媒体に送信した端末に保存される端末側チェックコードと携帯可能記録媒体に保存される媒体側チェックコードの照合結果を受信する手段、
とを有することを特徴とする端末。
【請求項５】
全てのチェックコードが携帯可能記録媒体に電文を供給する前に生成することを特徴とする請求項４に記載の端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード等の携帯可能記録媒体及び端末に関する。
【背景技術】
【０００２】
ＩＣカードのデータの書込みは、通常書き込むデータを含む書込みコマンドを用い、端末からＩＣカードに書込みコマンドを送信することにより行われる。
このデータ書込み処理について正常に書き込まれたか、コマンド送受信異常、などを確認するために様々な方法が知られている。
【０００３】
例えばデータ書込み処理が正しく行われたかを確認する方法としてコマンド・レスポンスの送受信によるＩＣカードとの通信という方法がある。
これはＩＣカードに対してコマンドを送信し、処理結果を示すレスポンスを受信する。レスポンスのエラーステータスワードを確認することでそのコマンド処理が成功したかどうかを判断することができる。
【０００４】
また、コマンド送受信異常を検知する方法としてメッセージ認証子を用いた方法が知られている。
この方法では、ＩＣカードに送信するコマンドに対して、メッセージ認証子を付加することで、送受信中にノイズ等の影響によりＩＣカードがコマンドを正しく受信できなかった場合にそれを検知することができる。
具体的には、コマンドに対して、メッセージ認証子生成アルゴリズム（例えばＤＥＳ）に従った演算を行うことでメッセージ認証子を生成し、コマンドに付加してＩＣカードに送信する。
コマンドとメッセージ認証子を受信したＩＣカードでは同様のアルゴリズムでコマンドに対してメッセージ認証子を生成し、受信したメッセージ認証子と比較することでコマンドが正しく受信できたかどうかを確認する。
【０００５】
しかし従来の技術では複数のデータ書込みコマンドを用いてデータを書き込む場合、データ書込み者がデータ書込みコマンドの順番を変えて処理を行ってしまう場合に、意図したデータ書込みがなされないことがある。
例えば、ＩＣカードの発行において、ＩＣカードの設計者と発行者が異なる等の場合に、ＩＣカード設計者が意図した通りの発行が行われているかを確認することは難しく、発行者が複数コマンドから成る発行シーケンスの順序を変更していまい、設計者の意図とは異なる発行となってしまう可能性がある。
具体的には、図６にあるような４つの発行データ書込みコマンドをコマンド１、コマンド２、コマンド３、コマンド４の順に書込み処理を行う場合において、図７のようにコマンド毎に書込み処理を行うが、各コマンドの書き込み処理は独立して行われるため、コマンドを送信する順番を間違えた場合、他の書込みコマンドを送信してしまった場合でもコマンド送受信時に異常がなければ書込み処理が行われてしまい、意図したデータとは異なる状態で書込み処理が行われてしまう。
【０００６】
また、メッセージ認証子を用いた方法を用いても、メッセージ認証子により検知が可能な異常は各コマンド単位、且つ通信異常による誤りの検知であり、複数のコマンドを送受信してＩＣカードを発行する場合は全体として意図した通りの発行が行われたかどうかを確認することができなかった。
例えば、通信ノイズによってコマンド異常なコマンドがＩＣカードに送信された場合、ＩＣカードはメッセージ認証子の検証を行うことで異常を検知できる。しかし、人為的なエラーによって元から誤ったコマンドをＩＣカードに送信しようとした場合、コマンドとメッセージ認証子の整合性がとられているため、誤りを検知することができない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０６−０２０１１７
【特許文献２】特開平１１−０２９９７６
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、本発明では上記問題に鑑み、複数のコマンドによりデータが書き込まれる携帯可能記憶媒において、複数のコマンド処理全体について正常な書込みか否かを確認できる携帯可能記憶媒とすることを課題とする。
【課題を解決するための手段】
【０００９】
本発明は、端末からの供給される複数の電文を用いて電文に基づいた処理が行われる記憶領域を有する携帯可能記録媒体において、最初に端末からの供給される電文を受信した際に、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うと共に、電文に基づき最初の媒体側チェックコードを生成し保存する手段と、端末からの供給される電文を受信した際に、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うと共に、電文と携帯可能記録媒体に保存されている最新の媒体側チェックコードに基づき媒体側チェックコードを生成し保存する手段とを有し、最後に端末から供給される電文を用いて生成されるチェックコードについて、端末に保存される端末側チェックコード又は携帯可能記録媒体に予め保存される確認用チェックコードと携帯可能記録媒体に保存される媒体側チェックコードとを照合し一致しなかった場合にエラー処理を行う手段、または端末に保存される端末側チェックコードと端末に送信した携帯可能記録媒体に保存される媒体側チェックコードの照合結果を受信する手段、とを有することを特徴とする携帯可能記録媒体とする。
【００１０】
また、携帯可能記録媒体の記憶領域に予め確認用チェックコードを保存しておき、端末からの供給される電文を受信した際に生成される媒体側チェックコードと確認用チェックコードを照合し一致しなかった場合にエラー処理を行う手段を有することを特徴とする。
【００１１】
また、前記エラー処理が、携帯可能記録媒体に複数の電文に基づいた処理を行った結果を無効化することを特徴とする。
【００１２】
また、携帯可能記録媒体に複数の電文を供給し、携帯可能記録媒体の記憶領域に電文に基づいた処理を行うための端末において、電文を携帯可能記録媒体に供給する手段、最初に携帯可能記録媒体に供給した電文に基づき端末側チェックコードを生成し保存する手段、電文と端末に保存されている最新の端末側チェックコードに基づき端末側チェックコードを生成し保存する手段、最後に端末から供給される電文を用いて生成されるチェックコードについて、端末に保存される端末側チェックコードと携帯可能記録媒体に保存される媒体側チェックコードとを照合し、一致しなかった場合にエラー処理を行う手段、又は携帯可能記録媒体に送信した端末に保存される端末側チェックコードと携帯可能記録媒体に保存される媒体側チェックコードの照合結果を受信する手段、を有することを特徴とする端末とする。
【００１３】
また、全てのチェックコードが携帯可能記録媒体に電文を供給する前に生成することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、チェックコードを用いることで、複数のコマンド処理全体について正常な書込みか否かを確認できる携帯可能記憶媒及び端末とすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る形態可能記録媒体の構成の一例を示したブロック図である。
【図２】本発明に係るコマンドの一例を示した説明図である。
【図３】本発明に係る複数のコマンドの一例を示した説明図である。
【図４】本発明に係るデータ書込みの流れの一例を示したフロー図である。
【図５】本発明に係るデータ書込みの流れの一例を示したフロー図である。
【図６】従来の複数のコマンドの一例を示した説明図である。
【図７】従来のデータ書込みの流れの一例を示したフロー図である。
【発明を実施するための形態】
【００１６】
図１は形態可能記録媒体の一例としてＩＣカードの構成を示したブロック図である。
図１において、ＩＣカードは、演算部：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）と書換え不可能な不揮発性メモリ部（ＲＯＭ）、揮発性メモリ部ＲＡＭ、書換え可能な不揮発性メモリ部ＥＥＰＲＯＭを有する。ここで、ＲＯＭには発行時や運用時に用いるプログラム等が記録されている。ＥＥＰＲＯＭにはシステムファイルやアプリケーションデータ等が記録されている。
発行データやその他運用時に書込み又は書換えするデータはＥＥＰＲＯＭに記録されており、端末からコマンド（電文）を用いて接触または非接触で通信することにより書き込まれる。
【００１７】
図２はコマンドの一例として発行データの書き込みコマンドの例を示す説明図である。一般的にコマンドはコマンドヘッダ部とデータ部を有し、コマンドヘッダ部には、書込用コマンド等のコマンド種別や、セキュリティ情報、その他パラメータ等が含まれている。データ部には実際に書き込むデータや、メッセージ認証子を用いる方法の場合は書き込むデータに加えて認証データ（認証子）等が記録されている。
【００１８】
図３は、本発明に係る複数のコマンドを示した説明図である。ここでは発行データを書き込む一連の処理に４つのコマンドを用いる例を示している。すなわち発行データを４つに分けて書き込む場合のコマンドの例を示している。
各コマンドは、コマンドヘッダ部にコマンド種別として書込コマンドであることが示されており、データ部には発行データ１〜４とメッセージ認証を行うための認証データが記録されている。
ここでは、コマンド１で発行データ１を書込み、その後コマンド２で発行データ２、コマンド３で発行データ３、コマンド４で発行データ４を順次書込むことで正常な発行データをＩＣカード内に書き込むことが出来る。
【００１９】
図４は、図３のコマンドを用いて、ＩＣカード（携帯可能記録媒体）内に発行データを書き込む流れの一例を示している。
ここで携帯可能記録媒体としては、特に限定するものではないが、接触式のＩＣカード、非接触式のＩＣカード、接触非接触兼用ＩＣカード、非接触ＩＣタグ等が挙げられる。
端末としては、接触式または非接触式の書込み端末又は発行端末を用いることができる。
【００２０】
図４において、まず発行端末から最初に供給される電文（開始電文）として発行データ１を含む書込コマンド１をＩＣカードに送信する。書込コマンド１を受信したＩＣカードでは、発行データ１をＩＣカードのＥＥＰＲＯＭに書き込む処理を行うと共に発行データ１からチェックコード１を生成する。生成したチェックコード１はＲＡＭに保存される。なお、チェックコードの生成に用いるデータは、コマンド全体を用いてもよいし、コマンドの任意の部分を用いてもよい。
チェックコードの生成アルゴリズムは例えばＣｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（ＣＲＣ）やＤａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＤＥＳ）やＣＢＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ）等の方法や、ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）等のハッシュアルゴリズムを用いることができる。
発行端末では同時にコマンド１から端末側チェックコード１を生成し、保存する。
【００２１】
次に発行端末から中間電文として発行データ２を含む書込コマンド２をＩＣカードに送信し、発行データ２をＩＣカードのＥＥＰＲＯＭに書き込む。そしてＲＡＭに保存してあるチェックコード１と発行データ２からチェックコード２を生成し、ＲＡＭに保存する。この時ＲＡＭに保存してあるチェックコード１は消去してチェックコード２で上書きしてもよいし、チェックコード１を消去せずにチェックコード２を保存してもよい。
そして発行端末側でも保存してある端末側チェックコード１と発行データ２から端末側チェックコード２生成し、保存する。
【００２２】
コマンド３についても同様の処理を行い、ＩＣカードに発行データ３を書き込む処理を行うとともに、チェックコード２と発行データ３からチェックコード３を生成、保存する。
そして発行端末側でも保存してある端末側チェックコード２と発行データ３から端末側チェックコード３生成し、保存する。
【００２３】
また、最後に端末から供給される電文（終了電文）であるコマンド４についても同様の処理を行い、ＩＣカードに発行データ４を書き込むとともに、チェックコード３と発行データ４からチェックコード４を生成、保存する。
発行端末側では、保存してある端末側チェックコード３と発行データ４から端末側チェックコード４生成する。そして生成した端末側チェックコード４から端末側チェックコード４とＩＣカードのチェックコード４との照合を行うためのコマンド５（照合コマンド）を生成する。
次に照合コマンドであるコマンド５をＩＣカードに送信し、カード内で、送信されたコマンドに含まれる端末側チェックコード４とＩＣカードのＲＡＭに保存してあるチェックコード４の照合を行い、照合に成功したら正常に全ての発行データが書き込まれたとして発行終了処理を行う。照合に成功しなかった場合、エラー処理を行う。
エラー処理としては、例えば書き込まれたデータを消去する又は使用禁止にすることができる。
【００２４】
なお、ＩＣカードで行われるチェックコードの照合結果を端末側に送ることが出来る。具体的には、正常に発行データが書き込まれ発行終了処理を行った場合は、正常発行終了を、エラー処理を行った場合も端末にエラー送信をすることができる。
また、端末、ＩＣカードに全てのチェックコードが保存されている場合において、エラー処理がなされた場合に、端末側からＩＣカード側に全てのチェックコードを送信し、ＩＣカードで各チェックコードの照合を行い、どのチェックコードが照合一致しなかったかを判断することができる。さらに、その結果を端末側に送信することができる。
このようにすることで、どこでミスや不正が行われたかを推定することができる。
また、ＩＣカード側から全てのチェックコードを端末に送信し、端末側でチェックコードが照合一致しなかったかを判断してもよい。
【００２５】
このようにすることで全ての発行データが正しい順番で書き込まれない場合はエラーとなるため、発行データ書込みコマンドの順番を入れ替えたり、一部他のアプリケーションの発行データ書込みコマンドと入れ替わって発行処理をおこなわれることを防ぐことができる。
【００２６】
なお、書込みコマンドには認証データ（認証子）を用い、メッセージ認証方式で書き込むようにしてもよい。このようにすることで、通信ノイズ等による異常コマンド送信時の書込みを防ぐことが出来る。
また、書込みコマンドに含まれる発行データの一部又は全部を暗号化することにより通信時の傍受のリスクを回避させることも出来る。
さらに、認証データとデータの暗号化を併用して用いることもできる。
【００２７】
また、図５のフロー図に示すように、端末側からＩＣカードへ書込みコマンドを送信する前に、端末側チェックコードを生成してもよい。具体的にはコマンド１の発行データを用いて端末側チェックコード１を生成し、コマンド２の発行データと端末側チェックコード１を用いて端末側チェックコード２を生成し、同様に端末側チェックコード３、端末側チェックコード４を生成しておくことが出来る。
大量にＩＣカードを発行する場合等は、このようにすることで発行データ書込みのたびに端末側で端末側チェックコードを生成する必要がないため、効率的に発行データ書込み処理を行うことが出来る。
【００２８】
また、図５のフロー図に示すように、最終チェックコードであるチェックコード４の照合を端末側で行ってもよい。
具体的には、ＩＣカードで生成したチェックコード４を端末へ送信し、端末側で生成し保存しておいた端末側チェックコード４を照合し、一致する場合は、ＩＣカードに発行正常終了を送信し、ＩＣカード側で受信したらカードの発行を終了させることができる。
また、チェックコード４を照合が一致しなかった場合には、端末からＩＣカードにエラー送信を行い、ＩＣカード側で受信したらエラー処理を行う。エラー処理としては、例えば書き込まれたデータを消去する又は使用禁止にすることができる。
【００２９】
また、図示しないが、予め端末等で全てのチェックコードを生成しておき、携帯可能記録媒体に確認用チェックコードとして保存しておくことが出来る。
確認用チェックコードは、端末から電文が供給される際に、その都度生成される媒体側チェックコードと確認用チェックコードを照合し、一致しない場合はエラー処理をすることができる。
このようにすることで、途中でエラーが発生する状態において、全ての電文を供給して処理しなくとも、途中でエラー処理を施すことができる。
【００３０】
なおここでは、発行データの書込みの例で説明したが、複数の電文を用いて個々の電文に基づく処理を行うことで１つの処理（一連の関連した処理）を行うものに適用ができ、例えば運用時のデータ書込み／書換えや、運用時又は発行時のデータ読み出し、ファイル生成などのコマンドでも適用できる。
【図１】
2013246672.tif 000003
【図２】
2013246672.tif 000004
【図３】
2013246672.tif 000005
【図４】
2013246672.tif 000006
【図５】
2013246672.tif 000007
【図６】
2013246672.tif 000008
【図７】
2013246672.tif 000009