(57)【特許請求の範囲】
【請求項１】
リーダーライタから送られた信号をデータキャリアの側で認識してデータキャリアが応答して信号を返信する非接触型情報システムにおいて前記データキャリアに使用される半導体集積回路であって、
リーダーライタから送信された搬送波を受信して整流する整流回路と、
入力された受信信号を復調してデータを再生する復調回路と、
前記整流回路の出力電圧が規定値を超えたタイミングから、前記リーダーライタから送られた信号に含まれる同期パターンを検出するまでのクロック信号を計数して時間間隔を計数し乱数を発生する乱数発生回路と
を備えた半導体集積回路。
【請求項２】
リーダーライタから送信された搬送波を受信して整流する前記整流回路の出力信号を入力としてこの入力電圧が規定値を超えたタイミングを検出するリセット発生回路を設け、乱数発生回路が前記リセット発生回路の出力信号で計数を開始する
請求項１記載の半導体集積回路。
【請求項３】
入力された受信信号を復調してデータを再生する前記復調回路の復調信号あるいは前記受信信号に含まれる同期信号を認識して乱数発生回路が前記計数を終了する
請求項１記載の半導体集積回路。
【請求項４】
前記クロック信号がリーダーライタから送信された搬送波をクロック発生回路によって分周して得た同期型クロックである
請求項１記載の半導体集積回路。
【請求項５】
前記乱数発生回路が生成する乱数を前記リーダーライタに返送するロジック回路部を更に備えた
請求項１記載の半導体集積回路。
【請求項６】
リーダーライタから送られた信号をデータキャリアの側で認識してデータキャリアが応答して信号を返信する非接触型情報システムにおいて前記データキャリアに使用される半導体集積回路であって、
リーダーライタから送信された搬送波を受信して整流する整流回路と、
入力された受信信号を復調してデータを再生する復調回路と、
前記整流回路の出力電圧が第１の規定値を超えたタイミングから前記リーダーライタを認識するまでの時間間隔を計数し乱数を発生する第１の乱数発生回路と、
前記整流回路の出力電圧が第２の規定値を超えたタイミングから前記リーダーライタを認識するまでの時間間隔を計数し乱数を発生する第２の乱数発生回路と
を備え、前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて乱数を発生するように構成した半導体集積回路。
【請求項７】
前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて生成された乱数を前記リーダーライタに返送するロジック回路部を更に備えた
請求項６記載の半導体集積回路。
【請求項８】
リーダーライタから送られた信号をデータキャリアの側で認識してデータキャリアが応答して信号を返信する非接触型情報システムにおいて前記データキャリアに使用される半導体集積回路であって、
リーダーライタから送信された搬送波を受信して整流する整流回路と、
入力された受信信号を復調してデータを再生する復調回路と、
前記整流回路の出力電圧が規定値を超えたタイミングから前記リーダーライタを認識するまでに第１のクロック信号を計数して時間間隔を計数し乱数を発生する第１の乱数発生回路と、
リーダーライタから送信された搬送波を受信して整流した出力電圧が規定値を超えたタイミングから前記リーダーライタを認識するまでに前記第１のクロック信号とは異なる第２のクロック信号を計数して時間間隔を計数し乱数を発生する第２の乱数発生回路と
を備え、前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて乱数を発生するように構成した半導体集積回路。
【請求項９】
前記第１のクロック信号がリーダーライタから送信された搬送波をクロック発生回路によって分周して得た同期型クロックであり、前記第２のクロック信号が非同期のクロック発生回路が発生する非同期クロックである
請求項８記載の半導体集積回路。
【請求項１０】
前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて生成された乱数を前記リーダーライタに返送するロジック回路部を更に備えた
請求項８記載の半導体集積回路。
【請求項１１】
請求項１〜請求項１０のいずれかに記載の半導体集積回路を搭載したデータキャリア。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路、当該半導体集積回路を搭載した非接触型情報媒体および当該非接触型情報媒体を含む非接触型情報システムに関するものである。
【０００２】
【従来の技術】
近年、コイルの相互誘導現象を利用して、所定波長の電波を用いて電力の供給を行うとともにデータの送受信を行うようにした、非接触ＩＣカードなどのデータキャリアが実用段階に入っている。この非接触ＩＣカードは、非接触ＩＣカードとの間で電波の送受信を行うリーダーライタと当該非接触ＩＣカードとの間で通信が可能な距離によって大きく分けて、密着型、近接型、近傍型などに分類されており、それぞれについての標準規格も整いつつある。
【０００３】
特に、リーダーライタから１０ｃｍ程度までの距離で用いることが可能な近接型の非接触ＩＣカードは、例えば定期券などの用途に用いるとすれば、駅の改札口などで定期入れから非接触ＩＣカードを取り出すことなく、リーダーライタとの非接触状態での情報のやり取りに基づいて改札口のゲートの開閉制御を行うことも可能となるなど、きわめて広い範囲で適用する可能性を有するものである。
【０００４】
以下、従来の半導体集積回路搭載の非接触型ＩＣカードに関する技術について、図１４〜図１６を用いて説明する。
図１４は非接触ＩＣカードシステムの概要を示す。
【０００５】
非接触型ＩＣカード１とリーダーライタ２との通信は、非接触型ＩＣカード１がリーダーライタ２に近づくと、電磁波を用いて電力伝送と信号のやり取りとを非接触で行い、非接触型ＩＣカード１の情報をリーダーライタ２はホスト機３に送受信する。
【０００６】
非接触型ＩＣカード１は図１５に示すように構成されている。
非接触型ＩＣカード１は、非接触ＩＣカード用ＬＳＩ１１とアンテナコイル１２と同調用容量１３により構成されている。非接触型ＩＣカード用ＬＳＩ１１は、アナログ回路部２０とロジック回路部２１とメモリ回路部２２、乱数発生回路２３などにより構成されている。
【０００７】
非接触ＩＣカード用ＬＳＩ１１のパッド３６，３７には、リーダーライタ２のアンテナコイル４より出力する電磁波５の送受信を行うためのアンテナコイル１２が接続される。アンテナコイル１２には同調用容量１３が接続されている。アンテナコイル１２は、リーダーライタ２からの電磁波５を受け、アンテナコイル１２の両端（パッド３６−パッド３７間）に交流電圧が発生する。
【０００８】
アンテナコイル１２の両端に発生した交流電圧は、アナログ回路部２０に入力される。アナログ回路部２０は、整流回路３０，電源回路３１，クロック発生回路３２，復調回路３３，変調回路３４，リセット発生回路３５などにより構成されている。整流回路３０および電源回路３１によって、ロジック回路部２１，メモリ回路部２２，乱数発生回路２３を動作させるための電源電圧を発生する。
【０００９】
電源回路３１の発生電圧をリセット発生回路３５がモニターし、非接触型ＩＣカード用ＬＳＩ１１が誤動作を引き起こさない電源電圧レベルに達した場合にリセット信号を解除し、非接触型ＩＣカード用ＬＳＩ１１が動作する。
【００１０】
クロック発生回路３２は、アンテナコイル１２の両端に発生した交流信号から、ロジック回路部２１およびメモリ回路部２２を動作させるクロックを生成させる。
【００１１】
非接触型ＩＣカード１とリーダーライタ２の間で送受信されるデータは、交流電磁波５に重畳され、復調回路３３で復調（非接触型ＩＣカード１がリーダーライタ２からのデータを受信する場合）あるいは、変調回路３４で変調（非接触型ＩＣカード１がリーダーライタ２にデータを送信する場合）される。非接触型ＩＣカード１とリーダーライタ２の間で送受信されるデータは、ロジック回路部２１で処理され、アドレスやデータを指定してメモリ回路部２２に蓄えられ、アドレスを指定して読み出し、書き込む。
【００１２】
非接触型ＩＣカード１に書き込まれているデータの不正流出や改竄を防止するために、上記ＩＣカード１とリーダーライタ２は、データのやり取りを行う際に、お互いを認証する処理を行う。つまり、リーダーライタ２は、自己の発信するポーリング信号に対して所定のレスポンス信号を返信してきた非接触型ＩＣカード１との間で相互認証処理を実行する。相互認証処理の方法としては、暗号化鍵を用いる方法が知られている。
【００１３】
ここで、非接触型ＩＣカード１とリーダーライタ２との間で行う暗号を用いた相互認証処理について簡単に説明する。
まず、リーダーライタ２は、非接触型ＩＣカード１に対して、内部で発生した乱数ａを送信する。非接触型ＩＣカード１は、受信した乱数ａを自己の暗号化鍵を用いて乱数Ａに変換し、乱数Ａをリーダーライタに返送する。リーダーライタ２では、特定の非接触型ＩＣカード１との間で用いる共通の暗号化鍵を用いて上記生成した乱数ａを処理して乱数Ａ’を求め、求めた乱数Ａ’と上記非接触型ＩＣカード１から返送されてきた乱数Ａとを比較する。リーダーライタ２は、乱数Ａと乱数Ａ’が一致する場合に当該非接触型ＩＣカード１を正規のものと認証する。
【００１４】
次に、非接触型ＩＣカード１はリーダーライタ２に対して内部で生成した乱数ｂを送信する。この場合、リーダーライタ２は受信した乱数ｂを自己の暗号化鍵を用いて乱数Ｂに変換し、乱数Ｂを非接触型ＩＣカード１に返送する。非接触型ＩＣカード１は、特定のリーダーライタ２との間で用いる共通の暗号化鍵を用いて上記生成した乱数ｂを処理して乱数Ｂ’と上記リーダーライタ２から返送されてきた乱数Ｂとを比較する。非接触型ＩＣカード１は、乱数Ｂと乱数Ｂ’が一致する場合に当該リーダーライタ２を正規のものであることを認証する。
【００１５】
非接触型ＩＣカード１およびリーダーライタ２内には上記相互認証処理で用いる乱数を生成する乱数発生回路２３が内蔵されている。
通常、予測困難な乱数を発生させるためには、抵抗体の熱揺らぎに基づく熱ノイズ信号源を用いる。しかしながら、熱ノイズ信号は、非常に微小な電圧変動（約５０μＶ程度）しか発生しないために、高感度の増幅器を必要とする。また、非接触型ＩＣカード１の電源電圧は、電磁波を整流して発生するため、電源電圧には電磁波の搬送波成分や送信データ信号成分がノイズとして大きく重畳するため、抵抗体の熱揺らぎに基づく熱ノイズ信号源を増幅することは、非常に困難である。そのため、通常、非接触型ＩＣカード１用の乱数発生回路２３には、論理回路を用いている。
【００１６】
図１６は従来の乱数発生回路２３の一例を示す。
乱数発生回路２３は、いわゆる４８ビットＭ系列乱数発生回路と呼ばれる回路であり、カスケード（多段直列）接続された１ビットシフトレジスタ４１、２ビットシフトレジスタ４２、２５ビットシフトレジスタ４３および２０ビットシフトレジスタ４４、並びに、各ビットのシフトレジスタ出力の合計を初段の２０ビットシフトレジスタ４４の入力端子に入力する加算回路を構成する加算器５１，５１，５１で構成されている。
【００１７】
なお、Ｍ系列乱数発生回路は（特許文献１）などに記載されている。非接触ＩＣカードシステムにおいて乱数を使用したシステムは、（特許文献２）などに記載されている。
【００１８】
１ビットシフトレジスタ４１は、ＣＬＫ回路３２より出力されるクロック信号ＣＬＫに同期して動作するフリップフロップ５５およびトランスファーゲート５６により構成される。ロジック回路部２１の内部に含まれるＣＰＵによりアドレス１５Ｆ２Ｈが選択されたアドレス信号線が”Ｌ”から”Ｈ”に切り替わったときにフリップフロップ５５の出力を乱数データＤ１０として出力する。
【００１９】
２ビットシフトレジスタ４２，２５ビットシフトレジスタ４３および２０ビットシフトレジスタ４４の回路は、それぞれシフトするビット数だけ上記１ビットシフトレジスタ４１と同じ回路を直列に接続したものである。２ビットシフトレジスタ４２は、アドレス１５Ｆ２Ｈが選択されたときに乱数データＤ１１，Ｄ１２を出力する。２５ビットシフトレジスタ４３は、アドレス１５Ｆ２Ｈ，１５Ｆ３Ｈ、１５Ｆ４Ｈおよび１５Ｆ５Ｈが選択された時に乱数データＤ１３〜Ｄ１７、Ｄ１８〜Ｄ１１５、Ｄ２０〜Ｄ２７およびＤ２８〜Ｄ２１１を出力する。２０ビットシフトレジスタ４４は、アドレス１５Ｆ５Ｈ，１５Ｆ６Ｈおよび１５Ｆ７Ｈが選択されたときに乱数をデータＤ２１２〜Ｄ２１５，Ｄ３０〜Ｄ３７，Ｄ３８〜Ｄ３１５を出力する。
【００２０】
【特許文献１】
特開平６−２４４６８４号公報
【００２１】
【特許文献２】
特公平７−２７４６０号公報
【００２２】
【発明が解決しようとする課題】
上記構成の乱数発生回路２３の生成する乱数は、一定の時間で繰り返す所定の生成パターンを有する。
【００２３】
このため、リーダーライタ２と非接触型ＩＣカード１とのやり取りされる通信データが盗聴され、乱数の生成パターンが特定される場合がある。このように乱数のパターンが特定されると、暗号化鍵や暗号化処理の内容がわからずとも、乱数ａと乱数Ａを対応付けたテーブルを用いることで非接触型ＩＣカード１を偽造することができる。同様に乱数ｂと乱数Ｂを対応付けたテーブルを用いることでリーダーライタ２の偽造を行うことができる。
【００２４】
上記通信データの盗聴による非接触型ＩＣカード１やリーダーライタ２の偽造を有効に防止するためには、通信データを盗聴しても生成パターンを解読ができないほどの高度な乱数生成回路が要求される。しかしながら、乱数生成回路を複雑にすれば乱数生成パターンの不正な解読を有効に防止することができるが、回路サイズが大きくなる。特に非接触型ＩＣカード１の場合、内蔵する乱数生成回路のサイズは小さいほうが望まれる。
【００２５】
また、非接触型ＩＣカード１は、上記相互認証処理を行う通信処理の実行前に、例えば内部で生成した乱数に基づくタイミングで、リーダーライタ２からのポーリング処理に対するレスポンス信号の応答時間を変化させるなど、他の非接触型ＩＣカードから出力されるレスポンス信号との衝突を回避する処理を実行する必要がある。非接触型ＩＣカード１とリーダーライタ２との間の通信速度を向上するには、高速で動作する乱数生成回路が望まれる。
【００２６】
本発明は、簡単な構成で当該回路を内蔵する非接触型ＩＣカード（非接触情報媒体）の小型化を可能とし、かつ、高速で規則性の無い、一様で予測が困難な乱数データを発生できる半導体集積回路を提供することを目的とする。
【００２７】
【課題を解決するための手段】
上記の課題を解決するため、本発明のデータキャリア用の半導体集積回路は、乱数発生に、論理回路により構成されるカウンタを搭載することにより、非接触型ＩＣカードがリーダーライタ２の通信領域に入ってから、実際にリーダーライタのコマンドを受けるまでの時間を計測し、その値（測定時間）を乱数値として用いることにより、非接触型ＩＣカード１がリーダーライタ２の通信領域に入るたびに、完全に一様で周期性の無い乱数を生成することができる。そのため悪意のある第三者による攻撃に対して非常に偽造しにくい、安全な非接触型ＩＣカードを容易に実現することができるものである。
【００２８】
本発明の半導体集積回路は、リーダーライタから送られた信号をデータキャリアの側で認識してデータキャリアが応答して信号を返信する非接触型情報システムにおいて前記データキャリアに使用される半導体集積回路であって、リーダーライタから送信された搬送波を受信して整流する整流回路と、入力された受信信号を復調してデータを再生する復調回路と、前記整流回路の出力電圧が規定値を超えたタイミングから、前記リーダーライタから送られた信号に含まれる同期パターンを検出するまでのクロック信号を計数して時間間隔を計数し乱数を発生する乱数発生回路とを備えたことを特徴とする。
【００２９】
また、リーダーライタから送信された搬送波を受信して整流する前記整流回路の出力信号を入力としてこの入力電圧が規定値を超えたタイミングを検出するリセット発生回路設け、乱数発生回路が前記リセット発生回路の出力信号で計数を開始することを特徴とする。
【００３０】
また、入力された受信信号を復調してデータを再生する前記復調回路の復調信号あるいは前記受信信号に含まれる同期信号を認識して乱数発生回路が前記計数を終了することを特徴とする。
【００３１】
また、前記クロック信号がリーダーライタから送信された搬送波をクロック発生回路によって分周して得た同期型クロックであることを特徴とする。
また、前記乱数発生回路が生成する乱数を前記リーダーライタに返送するロジック回路部を更に備えたことを特徴とする。
【００３２】
本発明の半導体集積回路は、リーダーライタから送られた信号をデータキャリアの側で認識してデータキャリアが応答して信号を返信する非接触型情報システムにおいて前記データキャリアに使用される半導体集積回路であって、リーダーライタから送信された搬送波を受信して整流する整流回路と、入力された受信信号を復調してデータを再生する復調回路と、前記整流回路の出力電圧が第１の規定値を超えたタイミングから前記リーダーライタを認識するまでの時間間隔を計数し乱数を発生する第１の乱数発生回路と、前記整流回路の出力電圧が第２の規定値を超えたタイミングから前記リーダーライタを認識するまでの時間間隔を計数し乱数を発生する第２の乱数発生回路とを備え、前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて乱数を発生するように構成したことを特徴とする。また、前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて生成された乱数を前記リーダーライタに返送するロジック回路部を更に備えたことを特徴とする。
【００３３】
本発明の半導体集積回路は、リーダーライタから送られた信号をデータキャリアの側で認識してデータキャリアが応答して信号を返信する非接触型情報システムにおいて前記データキャリアに使用される半導体集積回路であって、リーダーライタから送信された搬送波を受信して整流する整流回路と、入力された受信信号を復調してデータを再生する復調回路と、前記整流回路の出力電圧が規定値を超えたタイミングから前記リーダーライタを認識するまでに第１のクロック信号を計数して時間間隔を計数し乱数を発生する第１の乱数発生回路と、リーダーライタから送信された搬送波を受信して整流した出力電圧が規定値を超えたタイミングから前記リーダーライタを認識するまでに前記第１のクロック信号とは異なる第２のクロック信号を計数して時間間隔を計数し乱数を発生する第２の乱数発生回路とを備え、前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて乱数を発生するように構成したことを特徴とする。
【００３４】
また、前記第１のクロック信号がリーダーライタから送信された搬送波をクロック発生回路によって分周して得た同期型クロックであり、前記第２のクロック信号が非同期のクロック発生回路が発生する非同期クロックであることを特徴とする。
【００３５】
また、前記第１の乱数発生回路の出力と前記第２の乱数発生回路の出力とを合わせて生成された乱数を前記リーダーライタに返送するロジック回路部を更に備えたことを特徴とする。
【００３７】
また、本発明のデータキャリアは、上記のいずれかに記載の半導体集積回路を搭載したことを特徴とする。
【００３８】
【発明の実施の形態】
以下、本発明の各実施の形態について、図１〜図１３を用いて説明する。
なお、従来例を示す図１５と同様の作用をなすものには同一の符号を付けて説明する。
【００３９】
（実施の形態１）
図１〜図６は本発明の（実施の形態１）を示す。
図１は図１５に示した非接触型ＩＣカード１における乱数発生回路２３に代わって組み込まれる乱数発生回路を示す。
【００４０】
乱数発生回路１００は、Ｎビットバイナリカウンタ１０１とＮ個のトランスファーゲート５６０〜５６Ｎ−１により構成されている。Ｎビットバイナリカウンタ１０１には、リセット信号１０２とクロック信号１０３が入力され、Ｎ本の出力Ｑ０〜ＱＮ−１を有し、受信開始信号１０４によりＮ個のトランスファーゲート５６０〜５６Ｎ−１を介してＮビットの乱数を出力する。
【００４１】
前記クロック信号１０３はリーダーライタ２から送信された搬送波をクロック発生回路３２によって分周して得た同期型クロックである。
図２に、非接触型ＩＣカード１とリーダーライタ２との通信タイムチャートを示す。また、図３に非接触ＩＣカード用ＬＳＩ１１内部で発生される電源電圧とリセット信号の非接触型ＩＣカード１とリーダーライタ２との距離依存性を示す。また、図２の時間範囲Ａを拡大した各種の信号波形を図４に示す。
【００４２】
リーダーライタ２は搬送波（国際規格ＩＳＯ／ＩＥＣ１４４４３では１３．５６ＭＨｚ）を送出して、図２（ａ）に示すように周期ＴＤＬでダウンリンク信号を重畳し、非接触型ＩＣカード１に呼びかける。
【００４３】
非接触型ＩＣカード１がリーダーライタ２に近づいてくると、図３（ａ）に示すように、内部の整流回路３０で生成される電源電圧が上昇し、電源電圧が所定の電圧以上（この例では４．５ボルト以上）になったタイミングＴ１に、図３（ｂ）に示すようにリセット信号が解除され、非接触型ＩＣカード１が動作を開始する。そして、図２（ｂ）のようにリーダーライタ２への送信データ（アップリンク信号）を非接触型ＩＣカード１が送信する。
【００４４】
非接触型ＩＣカード１が受信し始めて、リーダーライタ２から送信するダウンリンク信号や受信信号の特定パターンにより形成される同期パターンを検知することにより受信開始信号１０４を発生する。正常に受信できれば、非接触型ＩＣカード１がリーダーライタ２にアップリンク信号を送信して、１回のトランザクションが終了する。
【００４５】
図５にリセット信号１０２が解除されてから受信開始信号１０４が出力されるまでの受信信号待ち時間Ｔ０の確率分布を示す。
リーダーライタ２が送信するダウンリンク信号は一定の周期ＴＤＬであるが、非接触型ＩＣカード１がリーダーライタ２に近づくのは、手動で近づけられる。よって、非接触型ＩＣカード１がリーダーライタ２に近づく周期は周期ＴＤＬとまったく相関の無い時間間隔となる。
【００４６】
そのため、受信信号待ち時間Ｔ０は、図５に示すように、周期ＴＤＬ時間以下では、一様で完全なランダムとなる。この受信信号待ち時間Ｔ０を測定すれば、完全に一様で、周期性の無い乱数として用いることができる。
【００４７】
受信信号待ち時間Ｔ０を測定するためのＮビットバイナリカウンタ１０１の構成例とタイミングチャートを図６に示す。
ＮビットバイナリカウンタはＮ個のフリップフロップ５５０〜５５Ｎ−１により構成される。クロック信号を初段のフリップフロップ５５０のＣＬＫに入力し、フリップフロップ５５の出力ＮＱを入力Ｄに戻すことにより、出力Ｑ０は入力されるクロック信号を２分周して、出力する。同様にフリップフロップ５５１〜５５Ｎ−１を直列に接続することにより、Ｑ１〜ＱＮと分周して出力し、リセット信号が解除してから、受信開始信号が入るまでのクロック数をカウントし、受信信号待ち時間Ｔ０を測定することができる。
【００４８】
ここで、バイナリカウンタに必要なビット数を検討する。
リーダーライタ２は、非接触型ＩＣカード１が通信範囲以内に入ってくるかわからないため、周期的に（ポーリング信号）をダウンリンク信号に重畳させている。このダウンリンク信号の周期ＴＤＬは、システム仕様により決まるが、ここではＩＳＯ／ＩＥＣ１４４４３の場合を参考すると、約５ｍｓｅｃとなる。また、クロック信号は、通常搬送波を用いるため、１３．５６ＭＨｚとなる。
【００４９】
よって、ダウンリンク信号周期ＴＤＬ内に発生するクロック信号の個数は６７５６７個≒約２１６個となる。すなわち、上記条件では、１６ビットのバイナリカウンタにより、１６ビットの乱数を発生することができる。
【００５０】
ロジック回路部２１は、乱数発生回路１００の計数出力を用いて生成した乱数、あるいはその計数出力を自己の暗号化鍵を用いて変換した乱数を、前記リーダーライタ２に返送する。
【００５１】
本実施例では、カウンタに非同期のバイナリのカウントアップカウンタを用いたが、同期式カウンタでも、ダウンカウンタでも、同様に有効である。
なお、ここで、Ｑ０〜ＱＮ−１は直接並列に出力しているが、各ビットの並び替えを行う事も有効である。具体的には、ＱＮ−１〜Ｑ０のように行うことによってよりランダム性を増すことができる。
【００５２】
（実施の形態２）
図７〜図９は本発明の（実施の形態２）を示す。
（実施の形態１）の乱数発生回路１００は受信信号待ち時間Ｔ０は完全な乱数であるが、１６ビット程度と乱数のビット数が少ないという課題がある。ビット数が少ないと、非接触型ＩＣカード１とリーダーライタ２との相互の認証を行う際に、悪意の第三者が２１６回の試行を加えると１回は成功する。そのため、より一層安全な非接触型ＩＣカード１にするためには、乱数のビット数を増やす必要がある。
【００５３】
図７は図１５に示した非接触型ＩＣカード１における乱数発生回路２３に代わって組み込まれる乱数発生回路１１０を示す。
図８に第１のリセット信号１１２と第２のリセット信号１１３の非接触型ＩＣカード１とリーダーライタ２との距離依存性を示す。図９に受信信号待ち時間Ｔ０１とＴ０２の関係を示す。
【００５４】
乱数発生回路１１０は、第１，第２の乱数発生回路としての２個の１６ビットバイナリカウンタ１１１ａ，１１１ｂと、３２個のトランスファーゲート５６０〜５６１５，５６１６〜５６３１とにより構成されている。
【００５５】
１６ビットバイナリカウンタ１１１ａは、第１のリセット信号１１２によってクロック信号１０３の計数を実施し、１６ビットバイナリカウンタ１１１ｂは、第２のリセット信号１１３によってクロック信号１０３の計数を実施する。
【００５６】
第１のリセット信号１１２は、図８（ａ）（ｂ）に示すように通常の非接触型ＩＣカード用ＬＳＩ１１の動作下限電圧（４．５ボルト）、解除距離約１０ｃｍで設定しており、非接触型ＩＣカード用ＬＳＩ１１内部のメモリ回路部２２のデータが正常に書き込み動作ができるように設定してある。
【００５７】
第２のリセット信号１１３は、図８（ａ）（ｃ）に示すように４．３ボルトで、第１のリセット信号１１２より０．２ボルトだけ低く設定されている。
ここで、４．３ボルト程度の電圧では、非接触型ＩＣカード用ＬＳＩ１１の内部の論理回路は正常動作を行うため問題とならない電圧である。第２のリセット信号１１３は、リセット電圧４．３ボルトで設定した場合、非接触型ＩＣカード１とリーダーライタ２との距離約１２ｃｍで解除を行うことが出来る。第１のリセット信号１１２と第２のリセット信号１１３との解除距離の差は約２ｃｍである。
【００５８】
駅の改札などで非接触ＩＣカードシステムを使用する場合、人の移動速度は時速６Ｋｍ程度であり、リセット信号１と第２のリセット信号１１３との解除距離の差２ｃｍを約１２ｍｓｅｃで移動する。一般的なダウンリンク信号の周期ＴＤＬは、５ｍｓｅｃなので、リセット信号１と第２のリセット信号１１３との解除距離の差２ｃｍでは、ダウンリンク信号の周期ＴＤＬの２．４周期分ある。
【００５９】
図９に示すようにＱ０〜Ｑ１５によって決まる受信信号待ち時間Ｔ０１およびＱ１６〜Ｑ３１によって決まる受信信号待ち時間Ｔ０２は相関を有する。しかしながら実際の使用の場合は、人の移動速度が変化するために、受信信号待ち時間Ｔ０１とＴ０２と倍数は２．４倍の傾きから、非接触型ＩＣカード１がリーダーライタ２の通信境域に入る毎に変化するため、相関は非常に弱くなる。そのため、Ｑ０〜Ｑ１５とＱ１６〜Ｑ３１とを並列なビットに配置することにより、乱数に用いることができる。
【００６０】
ロジック回路部２１は、乱数発生回路１１０の計数出力を用いて生成した乱数、あるいはその計数出力を自己の暗号化鍵を用いて変換した乱数を前記リーダーライタ２に返送する。
【００６１】
ここで、Ｑ１〜Ｑ３１は直接並列に出力しているが、各ビットの並び替えを行う事も有効である。
３２ビット以上の乱数を得るためには、リセット信号と１６ビットバイナリカウンタを複数個準備すれば簡単に実現できることが分かる。
【００６２】
（実施の形態３）
図１０と図１１は本発明の（実施の形態３）を示す。
（実施の形態１）の乱数発生回路は受信信号待ち時間Ｔ０は完全な乱数であるが、１６ビット程度と乱数のビット数が少ないという課題がある。ビット数が少ないと、非接触型ＩＣカード１とリーダーライタ２との相互の認証を行う際に、悪意の第三者が２１６回の試行を加えると１回は成功する。そのため、乱数のビット数を増やす必要がある。
【００６３】
図１０は図１５に示した非接触型ＩＣカード１における乱数発生回路２３に代わって組み込まれる乱数発生回路を示す。
乱数発生回路１２０は、第１，第２の乱数発生回路としての２個の１６ビットバイナリカウンタ１１１ａ，１１１ｂと、３２個のトランスファーゲート５６０〜５６３１とにより構成されている。
【００６４】
それぞれの１６ビットバイナリカウンタ１１１ａ，１１１ｂには、互いに異なる周波数を有する第１のクロック信号１０３ａおよび第２のクロック信号１０３ｂが入力されている。
【００６５】
第２のクロック信号１０３ｂを発生するクロック発生回路１２４は、図１１に示すように２Ｎ＋１段（奇数段）のインバータを直列に接続したリングオシレータである。第１のクロック信号１０３ａは、リーダーライタ２から送信された搬送波をクロック発生回路３２によって分周して得た同期型クロックで、搬送波の周期（この場合は１３．５６ＭＨｚ）で動作している。第２のクロック信号１０３ｂはリングオシレータの段数やインバータ１２５の能力で決定する周波数で動作する。
【００６６】
このクロック発生回路１２４の定数を１３．５６ＭＨｚの２倍程度に設定すると、（実施の形態２）と同様に乱数のビット数を簡単に増やすことが出来る。
ロジック回路部２１は、乱数発生回路１２０の計数出力を用いて生成した乱数、あるいはその計数出力を自己の暗号化鍵を用いて変換した乱数を、前記リーダーライタ２に返送する。
【００６７】
ここで、Ｑ１〜Ｑ３１は直接並列に出力しているが、各ビットの並び替えを行う事も有効である。
３２ビット以上の乱数を得るためには、クロック信号と１６ビットバイナリカウンタの対を複数個準備すれば簡単に実現できることが分かる。
【００６８】
（実施の形態４）
図１２は本発明の（実施の形態４）を示す。
（実施の形態１）の乱数発生回路は受信信号待ち時間Ｔ０は完全な乱数であるが、１６ビット程度と乱数のビット数が少ないという課題がある。ビット数が少ないと、非接触型ＩＣカードとリーダーライタ２との相互の認証を行う際に、悪意の第三者が２１６回の試行を加えると１回は成功する。そのため、乱数のビット数を増やす必要がある。
【００６９】
（実施の形態２）（実施の形態３）の乱数発生回路を用いた場合、各１６ビット間に非常に弱いながら相関を有することになる。そこで、より一層、一様なる乱数の発生が必要となる。
【００７０】
図１２は図１５に示した非接触型ＩＣカード１における乱数発生回路２３に代わって組み込まれる本発明の（実施の形態４）における乱数発生回路を示す。
乱数発生回路１３０は、１６ビットバイナリカウンタ１１１ａ，１１１ｂと３２個のトランスファーゲート５６０〜５６３１、１６ビットの並列直列変換回路１３１、Ｍ系列乱数発生回路１３２、Ｍビット直列並列変換回路１３３により構成されている。
【００７１】
Ｍ系列乱数発生回路１３２は、論理的に動作するため、リセット信号が解除された時に初期値を設定する必要がある。すなわち、リセット信号の解除後に初期値を設定しなければ、Ｍ系列乱数発生回路１３２の内部の各シフトレジスタの出力信号が全て“Ｌ”状態になった場合、永遠に”Ｌ”のみを出力するためである。
【００７２】
通常、Ｍ系列乱数発生回路１３２のみを用いて、乱数発生回路を用いる場合、初期値設定が重要になる。そのため、一般的には、各非接触型ＩＣカード１のメモリ回路部２２の内部に設定してある認識番号を、初期値に用いて乱数生成を行う。このような構成をとることにより、非接触型ＩＣカード１ごとに異なった擬似乱数を生成することができる。
【００７３】
しかしながら、このような方法で乱数生成を行うと、初期値が一定であるため、電源投入後の乱数は繰り返えされることになる。また、乱数の元になる初期値がメモリ回路部２２に内蔵されることになり、悪意のある第三者がメモリの記憶内容を解析で把握すると、乱数の発生パターンを容易に知ることが出来、セキュリティ上安全と言うことが出来ない。
【００７４】
そこで、Ｍ系列乱数発生回路１３２に（実施の形態１）の乱数発生回路で得られた乱数を初期値として使用することにより、より安全で、Ｍ系列乱数発生回路１３２のビット数に対応する大きいビット数で乱数を生成することが出来る。
【００７５】
この（実施の形態４）では、（実施の形態１）の乱数発生回路で得られた乱数の拡大およびビット間の拡散に１６ビットの並列直列変換回路１３１とＭ系列乱数発生回路１３２を用いたが、（実施の形態２）または（実施の形態３）で発生した乱数を１６ビットの並列直列変換回路１３１とＭ系列乱数発生回路１３２を用いても同様に実施できる。
【００７６】
（実施の形態５）
図１３は本発明の（実施の形態５）を示す。
前記の（実施の形態１）〜（実施の形態４）の乱数発生回路は、通常の使用状況においては、受信信号待ち時間Ｔ０は完全な乱数である。しかしながら、悪意の第三者が非接触型ＩＣカード１をリーダーライタ２に毎回同じように近づけると、乱数とはならず、毎回同一の値を出力することとなる。そのため、乱数性を増やす必要がある。
【００７７】
図１３は図１５に示した非接触型ＩＣカード１における乱数発生回路２３に代わって組み込まれる乱数発生回路を示す。
乱数発生回路１４０は、１６ビットバイナリカウンタ１１１と１６個のトランスファーゲート５６０〜５６１５、セレクタ１４１ａ，１４１ｂにより構成される。
【００７８】
１６ビットバイナリカウンタ１１１のクロックには、互いに異なる周波数を有する第１，第２のクロック信号１０３ａ，１０３ｂの一方をセレクタ１４１ａにより選択して入力される。
【００７９】
ここで、第１のクロック信号１０３ａを発生するクロック発生回路は２Ｎ＋１段（奇数段）はインバータを直列に接続したリングオシレータ等であり、電源電圧、温度などにより周波数が変化するクロック周波数を有する。
【００８０】
また、第２のクロック信号１０３ｂは、リーダーライタ２から出力される搬送波の周期（この場合は１３．５６ＭＨｚ）で動作している。
また、１６ビットバイナリカウンタ１１１のリセット、すなわち１６ビットバイナリカウンタ１１１が動作を開始する基準信号として、異なる電圧で動作を開始する第１のリセット信号１１２および第２のリセット信号１１３をセレクタ１４１ｂにより選択し入力する。
【００８１】
このようにセレクタ１４１ａ，１４１ｂにより、第１，第２のクロック信号１０３ａ，１０３ｂの切り替えを行い、また、第１，２のリセット信号１１２，１１３とを切り替えることにより、外部からの動作を周期的に行っても、１６ビットバイナリカウンタ１１１の出力は毎回変わることになり、悪意の第三者が非接触型ＩＣカード１をリーダーライタ２に毎回同じように近づけても、毎回異なる乱数を出力することとなる。そのため、より安全な乱数を生成し使用できることになる。
【００８２】
【発明の効果】
以上のように本発明の半導体集積回路は、リーダーライタから送られた信号をデータキャリアの側で認識してデータキャリアが応答して信号を返信する非接触型情報システムにおいて前記データキャリアに使用される半導体集積回路であって、リーダーライタから送信された搬送波を受信して整流した出力電圧が規定値を超えたタイミングから前記リーダーライタを認識するまでのクロック信号を計数して時間間隔を計数する乱数発生回路と、前記リーダーライタを認識したタイミングの前記乱数発生回路の計数出力を自己の暗号化鍵を用いて変換した乱数を前記リーダーライタに返送するロジック回路部とを設けたので、データキャリアがリーダーライタの通信領域に入ってから、実際にリーダーライタのコマンドを受けるまでの時間を計測し、その値（測定時間）を乱数値として用いることにより、データキャリアがリーダーライタ通信領域に入るたびに、完全に一様で周期性の無い乱数を生成することができる。そのため悪意のある第三者による攻撃に対して非常に偽造しにくい、安全なデータキャリアを容易に実現することができる。
【００８３】
また、本発明はリーダーライタから送信された搬送波を受信して整流した出力電圧が第１の規定値を超えたタイミングから前記リーダーライタを認識するまでの時間間隔を計数する第１の乱数発生回路と、リーダーライタから送信された搬送波を受信して整流した出力電圧が第１の規定値を超えたタイミングから受信信号から前記リーダーライタを認識するまでの時間間隔を計数する第２の乱数発生回路と、前記リーダーライタを認識したタイミングの前記第１，第２の乱数発生回路の計数出力を自己の暗号化鍵を用いて変換した乱数を前記リーダーライタに返送するロジック回路部とを設ける、あるいは、リーダーライタから送信された搬送波を受信して整流した出力電圧が規定値を超えたタイミングから前記リーダーライタを認識するまでに第１のクロック信号を計数して時間間隔を計数する第１の乱数発生回路と、リーダーライタから送信された搬送波を受信して整流した出力電圧が規定値を超えたタイミングから前記リーダーライタを認識するまでに前記第１のクロック信号とは異なる第２のクロック信号を計数して時間間隔を計数する第２の乱数発生回路と、前記リーダーライタを認識したタイミングの前記第１，第２の乱数発生回路の計数出力を自己の暗号化鍵を用いて変換した乱数を前記リーダーライタに返送するロジック回路部とを設けたことによっても、同様に、安全なデータキャリアを容易に実現することができる。
【図面の簡単な説明】
【図１】本発明の半導体集積回路の（実施の形態１）の要部である乱数発生回路の構成図
【図２】同実施の形態の非接触型ＩＣカードとリーダーライタの通信タイムチャート図
【図３】同実施の形態の電源電圧とリセット信号の非接触ＩＣカードとリーダーライタとの距離依存性の説明図
【図４】同実施の形態の図２に示す時間範囲Ａでの各信号波形図
【図５】同実施の形態の受信信号待ち時間の確率分布の説明図
【図６】同実施の形態のＮビットバイナリカウンタの構成図とタイミングチャート図
【図７】本発明の半導体集積回路の（実施の形態２）における乱数発生回路の構成図
【図８】同実施の形態の第１，第２リセット信号の距離依存性の説明図
【図９】同実施の形態の受信信号待ち時間Ｔ０１とＴ０２の関係図
【図１０】本発明の半導体集積回路の（実施の形態３）における乱数発生回路の構成図
【図１１】同実施の形態のクロック発生回路の構成図
【図１２】本発明の半導体集積回路の（実施の形態４）における乱数発生回路の構成図
【図１３】本発明の半導体集積回路の（実施の形態５）における乱数発生回路の構成図
【図１４】非接触型ＩＣカードシステムの概略図
【図１５】従来の非接触型ＩＣカードのブロック図
【図１６】従来の乱数発生回路（Ｍ系列乱数発生回路）の構成図
【符号の説明】
１    非接触ＩＣカード（データキャリア）
２    リーダーライタ
３    ホスト機
５    電磁波
１１    非接触型ＩＣカード用ＬＳＩ
２１    ロジック回路部
２２    メモリ回路部
３０    整流回路
３１    電源回路
３２    クロック発生回路
３３    復調回路
３５    リセット発生回路
３４    変調回路
１０３ａ，１０３ｂ    第１，第２のクロック信号
１００    乱数発生回路
Ｔ０，Ｔ０１，Ｔ０２    時間間隔
１１１ａ，１１１ｂ    第１，第２の乱数発生回路
１２４    クロック発生回路
１３１    並列直列変換回路
１３２    Ｍ系列乱数発生回路
１４１ａ，１４１ｂ    第１，第２のセレクタ回路
【図１】
0003748857.tif 000002
【図２】
0003748857.tif 000003
【図３】
0003748857.tif 000004
【図４】
0003748857.tif 000005
【図５】
0003748857.tif 000006
【図６】
0003748857.tif 000007
【図７】
0003748857.tif 000008
【図８】
0003748857.tif 000009
【図９】
0003748857.tif 000010
【図１０】
0003748857.tif 000011
【図１１】
0003748857.tif 000012
【図１２】
0003748857.tif 000013
【図１３】
0003748857.tif 000014
【図１４】
0003748857.tif 000015
【図１５】
0003748857.tif 000016
【図１６】
0003748857.tif 000017