(57)【要約】【課題】不正アクセスを防止し、セキュリティ性が著しく向上するデータ通信方法を提供する。【解決手段】ＩＣカードとリーダライタとの間で、通信データにチェックコード（垂直パリティおよび水平パリティ）を付加して送受信を行なうデータ通信方法において、あらかじめＩＣカードおよびリーダライタにチェックコードの奇数と偶数の切換制御手順を設定しておき、この設定された切換制御手順にしたがって通信データの１キャラクタごと、あるいは、１電文ごとにチェックコードの奇数、偶数を切換えて送受信を行なう。【選択図】      図２
2005277725.tif 000002
【特許請求の範囲】
【請求項１】
第１の電子装置と第２の電子装置との間で、データに水平パリティチェックコードを付加して当該データの送受信を行なうデータ通信方法において、
あらかじめ前記第１の電子装置および第２の電子装置に水平パリティチェックコードの奇数と偶数の切換制御手順を設定しておき、この設定された切換制御手順にしたがって当該データの１キャラクタごと、あるいは、１電文ごとに水平パリティチェックコードの奇数、偶数を切換えてデータの送受信を行なうことを特徴とするデータ通信方法。
【請求項２】
第１の電子装置と第２の電子装置との間で、データに垂直パリティチェックコードを付加して当該データの送受信を行なうデータ通信方法において、
あらかじめ前記第１の電子装置および第２の電子装置に垂直パリティチェックコードの奇数と偶数の切換制御手順を設定しておき、この設定された切換制御手順にしたがって当該データの１電文ごとに垂直パリティチェックコードの奇数、偶数を切換えてデータの送受信を行なうことを特徴とするデータ通信方法。
【請求項３】
第１の電子装置と第２の電子装置との間で、データに垂直パリティチェックコードおよび水平パリティチェックコードを付加して当該データの送受信を行なうデータ通信方法において、
あらかじめ前記第１の電子装置および第２の電子装置に垂直パリティチェックコードおよび水平パリティチェックコードの奇数と偶数の切換制御手順を設定しておき、この設定された切換制御手順にしたがって当該データの１キャラクタごと、あるいは、１電文ごとに垂直パリティチェックコードおよび水平パリティチェックコードの奇数、偶数を切換えてデータの送受信を行なうことを特徴とするデータ通信方法。
【請求項４】
前記第１の電子装置はＩＣカードであり、前記第２の電子装置は前記ＩＣカードを取扱うＩＣカード取扱装置であることを特徴とする請求項１ないし請求項３のうちいずれか１つに記載のデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、ＩＣカード（第１の電子装置）と、このＩＣカードを取扱うリーダライタなどのＩＣカード取扱装置（第２の電子装置）との間で、データにチェックコード（垂直パリティ、水平パリティ）を付加して当該データの送受信を行なうデータ通信方法に関する。
【背景技術】
【０００２】
近年、新たな携帯可能なデータ記憶媒体として、書換え可能な不揮発性メモリおよびＣＰＵなどの制御素子を有し、外部からのデータの入出力を行なう手段を備えたＩＣ（集積回路）チップを内蔵した、いわゆるＩＣカードが開発されている。
【０００３】
一般に、この種のＩＣカードに対するデータの読取りや書込みは、通常、リーダライタを用いて行なわれている。すなわち、利用者（操作者）が提示するＩＣカードとの間で接触あるいは非接触でデータ通信を行なうことにより、そのＩＣカードのＩＣチップに対しデータの読取りや書込みを行なうものである。
【０００４】
ところで、このようにＩＣカードとリーダライタとの間でデータの送受信を（通信）を行なう場合、通常、不正アクセス防止のために、データにチェックコード（垂直パリティ、水平パリティ）を付加して当該データの送受信を行なうデータ通信方法が用いられている。
【特許文献１】特開平７−３０３２３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、従来のデータ通信方法にあっては、ＩＣカードとリーダライタとのデータ通信時に使用するチェックコードが一定の値であったため、不正アクセスを確実に防止することができず、セキュリティ性に劣るという問題がある。
【０００６】
そこで、本発明は、チェックコードの切換えにより不正アクセスを防止し、セキュリティ性が著しく向上するデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のデータ通信方法は、第１の電子装置と第２の電子装置との間で、データに水平パリティチェックコードを付加して当該データの送受信を行なうデータ通信方法において、あらかじめ前記第１の電子装置および第２の電子装置に水平パリティチェックコードの奇数と偶数の切換制御手順を設定しておき、この設定された切換制御手順にしたがって当該データの１キャラクタごと、あるいは、１電文ごとに水平パリティチェックコードの奇数、偶数を切換えてデータの送受信を行なうことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、チェックコードの切換えにより不正アクセスを防止し、セキュリティ性が著しく向上するデータ通信方法を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について図面を参照して説明する。  
図１は、本発明の実施の形態に係るデータ通信方法が適用されるＩＣカード取扱システムの構成を概略的に示すものである。このＩＣカード取扱システムは、たとえば、商品購入取引に用いられるクレジットカードや個人認証カードなどとして用いられるＩＣカード（第１の電子装置）１０、および、このＩＣカード１０を取扱うＩＣカード取扱装置（第２の電子装置）としてのリーダライタ２０から構成されていて、これらＩＣカード１０とリーダライタ２０との間でチェックコード（垂直パリティ、水平パリティ）を用いたデータ通信を行なうようになっている。
【００１０】
ＩＣカード１０は、ＣＰＵなどの制御部１０１、記憶手段としてのデータメモリ１０２、ワーキングメモリ１０３、プログラムメモリ１０４、および、リーダライタ２０との間でデータの送受信を行なう通信部１０５によって構成されている。
【００１１】
そして、これらのうち、破線内の部分（制御部１０１、データメモリ１０２、ワーキングメモリ１０３、プログラムメモリ１０４）は１つ（あるいは複数）のＩＣチップで構成され、さらに、このＩＣチップと通信部１０５とが一体的にＩＣモジュール化されて、ＩＣカード本体内に埋設されている。
【００１２】
データメモリ１０２は、各種データの記憶に使用され、たとえば、ＥＥＰＲＯＭなどの記憶内容が書換え可能な不揮発性メモリで構成されている。  
ワーキングメモリ１０３は、制御部１０１が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、ＲＡＭなどで構成される。  
プログラムメモリ１０４は、たとえば、マスクＲＯＭなどの記憶内容が書換え不可能な不揮発性メモリで構成されており、制御部１０１の制御プログラムや後述するチェックコード切換制御アルゴリズムなどなどを記憶するものである。
【００１３】
通信部１０５は、当該ＩＣカード１０が無線式ＩＣカードの場合にはアンテナおよび送受信部として構成され、無線式リーダライタから送信された変調波を非接触で受信したり外部へ変調波を送信したりするようになっている。また、受信した変調波から内部回路に供給するための電源やクロックパルスを生成するようになっている。また、当該ＩＣカード１０が接触式ＩＣカードの場合にはコンタクト部として構成され、リーダライタ２０に設けられたＩＣカード接触端子部と接触することにより、データの送受信を行なうとともに、電源やクロックパルスを得るようになっている。
【００１４】
リーダライタ２０は、ＩＣカード１０（通信部１０５）との間でデータの送受信を行なう通信部２０１、ＣＰＵなどの制御部２０２、各種データの記憶に使用されるＲＡＭなどのメモリ２０３、制御部２０２の制御プログラムや後述するチェックコード切換制御アルゴリズムなどを記憶するＲＯＭなどのメモリ２０４、および、電源部２０５によって構成されている。
【００１５】
次に、このような構成において、ＩＣカード１０とリーダライタ２０との間のデータ通信について説明する。  
なお、ＩＣカード１０のプログラムメモリ１０４およびリーダライタ２０のメモリ２０４には、データ通信時のチェックコード（水平パリティ、垂直パリティ）を切換え制御するアルゴリズムがあらかじめ記憶されているものとする。このチェックコード切換制御アルゴリズムにしたがって通信データのチェックコードを奇数（以下、ＯＤＤと略称する）、偶数（以下、ＥＶＥＮと略称する）に切換えながらデータの送受信を行なう。
【００１６】
以下、たとえば、通信データの１キャラクタ（１バイト）ごとにチェックコードを変化させて２バイト＋１バイト（ＥＤＣ）の計３バイトを、リーダライタ２０からＩＣカード１０へ送信する場合の具体例について説明する。この場合、垂直パリティチェックコードはＯＤＤ→ＥＶＥＮを繰り返し、水平パリティチェックコードはＯＤＤ→ＥＶＥＮを繰り返すものと仮定する。
【００１７】
まず、リーダライタ２０側の送信処理について図２に示すフローチャートを参照して説明する。なお、当該送信処理は、図２のフローチャートにしたがった制御部２０２の動作により実行される。まず、データ通信を行なう前に、あらかじめメモリ２０４に格納されているチェックコード切換制御アルゴリズム読出す（ステップＳ１）。  
次に、メモリ２０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＯＤＤ（奇数）に設定する（ステップＳ２）。
【００１８】
次に、通信データ（送信するデータ）の１キャラクタ分を、当該データに垂直パリティチェックコード（ＯＤＤ）を付加してＩＣカード１０へ送信する（ステップＳ３）。次に、メモリ２０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードをＥＶＥＮ（偶数）に変更する（ステップＳ４）。
【００１９】
次に、通信データの次の１キャラクタ分を、当該データに垂直パリティチェックコード（ＥＶＥＮ）を付加してＩＣカード１０へ送信する（ステップＳ５）。次に、メモリ２０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードをＯＤＤに変更する（ステップＳ６）。
【００２０】
次に、通信データの次の１キャラクタ分（最終キャラクタ）を、当該データに垂直パリティチェックコード（ＯＤＤ）および水平パリティチェックコード（ＯＤＤ）を付加してＩＣカード１０へ送信する（ステップＳ７）。次に、メモリ２０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＥＶＥＮに変更し（ステップＳ８）、当該データ通信（送信）を終了する。
【００２１】
このように、リーダライタ２０内にあらかじめ設定されたチェックコード切換制御アルゴリズムにしたがって、垂直パリティチェックコードは１キャラクタ（１バイト）ごとに、水平パリティチェックコードは１電文ごとにＯＤＤ、ＥＶＥＮを切換えながらデータの送信を行なうものである。
【００２２】
次に、ＩＣカード１０側の受信処理について図３に示すフローチャートを参照して説明する。なお、当該受信処理は、図３のフローチャートにしたがった制御部１０１の動作により実行される。また、当該受信処理は、図２のリーダライタ２０側の送信処理に相対応しているものとする。
【００２３】
まず、データ通信を行なう前に、あらかじめメモリ１０４に格納されているチェックコード切換制御アルゴリズム読出す（ステップＳ１１）。  
次に、メモリ１０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞＯＤＤに設定する（ステップＳ１２）。
【００２４】
次に、リーダライタ２０からの通信データ（送信されたデータ）の１キャラクタ分を受信する（ステップＳ１３）。次に、メモリ１０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードをＥＶＥＮに変更する（ステップＳ１４）。
【００２５】
次に、リーダライタ２０からの通信データの次の１キャラクタ分を受信する（ステップＳ１５）。次に、メモリ１０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードをＯＤＤに変更する（ステップＳ１６）。
【００２６】
次に、リーダライタ２０からの通信データの次の１キャラクタ分（最終キャラクタ）を受信する（ステップＳ１７）。次に、メモリ１０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＥＶＥＮに変更し（ステップＳ１８）、当該データ通信（受信）を終了する。
【００２７】
このように、ＩＣカード１０内にあらかじめ設定されたチェックコード切換制御アルゴリズムにしたがって、垂直パリティチェックコードは１キャラクタ（１バイト）ごとに、水平パリティチェックコードは１電文ごとにＯＤＤ、ＥＶＥＮを切換えながらデータの受信を行なうものである。
【００２８】
次に、たとえば、通信データの１電文（１コマンド）ごとにチェックコードを変化させて２バイト＋１バイト（ＥＤＣ）の計３バイトを送受信する場合の具体例について説明する。この場合も、垂直パリティチェックコードはＯＤＤ→ＥＶＥＮを繰り返し、水平パリティチェックコードはＯＤＤ→ＥＶＥＮを繰り返すものと仮定する。
【００２９】
以下、リーダライタ２０側の送受信処理について図４および図５に示すフローチャートを参照して説明する。なお、当該送受信処理は、図４および図５のフローチャートにしたがった制御部２０２の動作により実行される。
【００３０】
まず、リーダライタ２０の送信処理について説明すると、データ通信を行なう前に、あらかじめメモリ２０４に格納されているチェックコード切換制御アルゴリズム読出す（ステップＳ２１）。  
次に、メモリ２０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＯＤＤに設定する（ステップＳ２２）。
【００３１】
次に、通信データの１キャラクタ分を、当該データに垂直パリティチェックコード（ＯＤＤ）を付加してＩＣカード１０へ送信する（ステップＳ２３）。次に、通信データの次の１キャラクタ分を、当該データに垂直パリティチェックコード（ＯＤＤ）を付加してＩＣカード１０へ送信する（ステップＳ２４）。
【００３２】
次に、通信データの次の１キャラクタ分（最終キャラクタ）を、当該データに垂直パリティチェックコード（ＯＤＤ）および水平パリティチェックコード（ＯＤＤ）を付加してＩＣカード１０へ送信する（ステップＳ２５）。次に、メモリ２０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＥＶＥＮに変更し（ステップＳ２６）、当該データ通信（送信）を終了する。
【００３３】
次に、リーダライタ２０の受信処理について説明すると、ＩＣカード１０からの通信データの１キャラクタ分を受信する（ステップＳ２７）。次に、ＩＣカード１０からの通信データの次の１キャラクタ分を受信する（ステップＳ２８）。次に、ＩＣカード１０からの通信データの次の１キャラクタ分（最終キャラクタ）を受信する（ステップＳ２９）。
【００３４】
次に、メモリ２０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＯＤＤに変更し（ステップＳ３０）、当該データ通信（受信）を終了する。
【００３５】
このように、リーダライタ２０内にあらかじめ設定されたチェックコード切換制御アルゴリズムにしたがって、垂直パリティチェックコードおよび水平パリティチェックコードを１電文ごとにＯＤＤ、ＥＶＥＮを切換えながらデータの送受信を行なうものである。
【００３６】
次に、ＩＣカード１０側の送受信処理について図６および図７に示すフローチャートを参照して説明する。なお、当該送受信処理は、図６および図７のフローチャートにしたがった制御部１０１の動作により実行される。また、当該送受信処理は、図４および図５のリーダライタ２０側の送受信処理に相対応しているものとする。
【００３７】
まず、ＩＣカード１０の受信処理について説明すると、データ通信を行なう前に、あらかじめメモリ１０４に格納されているチェックコード切換制御アルゴリズム読出す（ステップＳ４１）。  
次に、メモリ１０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＯＤＤに設定する（ステップＳ４２）。
【００３８】
次に、リーダライタ２０からの通信データの１キャラクタ分を受信する（ステップＳ４３）。次に、リーダライタ２０からの通信データの次の１キャラクタ分を受信する（ステップＳ４４）。次に、リーダライタ２０からの通信データの次の１キャラクタ分（最終キャラクタ）を受信する（ステップＳ４５）。
【００３９】
次に、メモリ１０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＥＶＥＮに変更し（ステップＳ４６）、当該データ通信（受信）を終了する。
【００４０】
次に、ＩＣカード１０の送信処理について説明すると、通信データの１キャラクタ分を、当該データに垂直パリティチェックコード（ＥＶＥＮ）を付加してリーダライタ２０へ送信する（ステップＳ４７）。次に、通信データの次の１キャラクタ分を、当該データに垂直パリティチェックコード（ＥＶＥＮ）を付加してリーダライタ２０へ送信する（ステップＳ４８）。
【００４１】
次に、通信データの次の１キャラクタ分（最終キャラクタ）を、当該データに垂直パリティチェックコード（ＥＶＥＮ）および水平パリティチェックコード（ＥＶＥＮ）を付加してリーダライタ２０へ送信する（ステップＳ４９）。次に、メモリ１０４から読出したチェックコード切換制御アルゴリズムにしたがい、垂直パリティチェックコードおよび水平パリティチェックコードをそれぞれＯＤＤに変更し（ステップＳ５０）、当該データ通信（送信）を終了する。
【００４２】
このように、ＩＣカード１０内にあらかじめ設定されたチェックコード切換制御アルゴリズムにしたがって、垂直パリティチェックコードおよび水平パリティチェックコードを１電文ごとにＯＤＤ、ＥＶＥＮを切換えながらデータの送受信を行なうものである。
【００４３】
なお、前記実施の形態では、第１の電子装置がＩＣカードで、第２の電子装置が当該ＩＣカードを取扱うリーダライタである場合について説明したが、本発明はこれに限定されるものではなく、たとえば、第１の電子装置がＩＣカードで、第２の電子装置が当該ＩＣカードを取扱うマイクロコンピュータであってもよく、あるいは、第１の電子装置がＩＣカードを取扱うリーダライタで、第２の電子装置が当該リーダライタとデータ通信を行なうマイクロコンピュータであってもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施の形態に係るデータ通信方法が適用されるＩＣカード取扱システムの構成を概略的に示すブロック図。
【図２】通信データの１キャラクタごとにチェックコードを変化させる場合のリーダライタ側の送信処理の流れについて説明するフローチャート。
【図３】通信データの１キャラクタごとにチェックコードを変化させる場合のＩＣカード側の送信処理の流れについて説明するフローチャート。
【図４】通信データの１電文ごとにチェックコードを変化させる場合のリーダライタ側の送受信処理について説明するフローチャート。
【図５】通信データの１電文ごとにチェックコードを変化させる場合のリーダライタ側の送受信処理について説明するフローチャート。
【図６】通信データの１電文ごとにチェックコードを変化させる場合のＩＣカード側の送受信処理について説明するフローチャート。
【図７】通信データの１電文ごとにチェックコードを変化させる場合のＩＣカード側の送受信処理について説明するフローチャート。
【符号の説明】
【００４５】
１０…ＩＣカード（第１の電子装置）、２０…リーダライタ（ＩＣカード取扱装置、第２の電子装置）、１０１…制御部（ＣＰＵ）、１０２…データメモリ、１０３…ワーキングメモリ、１０４…プログラムメモリ、１０５…通信部、２０１…通信部、２０２…制御部（ＣＰＵ）、２０３…メモリ（ＲＡＭ）、２０４…メモリ（ＲＯＭ）、２０５…電源部。
【図１】
2005277725.tif 000003
【図２】
2005277725.tif 000004
【図３】
2005277725.tif 000005
【図４】
2005277725.tif 000006
【図５】
2005277725.tif 000007
【図６】
2005277725.tif 000008
【図７】
2005277725.tif 000009