この発明をより詳細に説述するために、添付の図面に従ってこれを説明する。
図25には、この発明に係るプリペイドカードとその決済システムや電子鍵に使用される識別情報発生回の一実施例の論理回路図が示されている。識別情報発生回路1000は、0〜n−1で表されるn個の複数からなる基本回路1010から構成される。1ビットの識別信号(認証子ともいう)D0を形成する基本回路1010は、ナンド(NAND)ゲート回路G1〜G4から構成される。2入力のナンド(NAND)ゲート回路G1は、一方の入力と出力とが結合される。このゲート回路G1の共通化された入出力がゲート回路G2の一方の入力と接続される。ゲート回路G2の出力はゲート回路G3の一方の入力に接続される。ゲート回路G3の出力はゲート回路G4の一方の入力に接続される。そして、これらのゲート回路G1〜G4の他方の入力には、動作制御信号ACTが共通に供給される。
上記ゲート回路G1〜G4を用いた場合には、各ゲート回路G1〜G4は、動作制御信号ACTをロウレベル(論理0)のような非活性化レベルとしたとき、上記動作制御信号ACTとは異なる他方の入力信号に無関係に出力信号をハイレベル(論理1)にし、各ゲート回路G1,G2においても直流電流が発生しない。すなわち、この実施例回路では、識別情報を必要とするタイミングで上記動作制御信号ACTをハイレベル(論理1)のような活性化レベルとする。これにより、各ゲート回路G1〜G4は、上記動作制御信号ACTとは異なる他方の入力信号に応答して反転信号を形成するというインバータ回路としての動作を行う。 図26には、図25の識別情報発生回路における基本回路の一実施例の具体的回路図が示されている。ゲート回路G1は、出力ノードZと回路の接地電位VSSとの間に直列形態にされたNチャネルMOSFETQ1とQ3、上記出力ノードN1と電源電圧VDDとの間に並列形態にされたPチャネルMOSFETQ2とQ4から構成される。上記MOSFETQ1とQ2のゲートが共通に接続されて第1の入力Xとされる。上記MOSFETQ3とQ4のゲートが共通に接続されて第2の入力Yとされる。特に制限されないが、上記入力Yと出力Zとが共通に接続される。他のゲート回路G2〜G4も上記と同様な回路により構成される。
図25及び図26において、上記ゲート回路G1〜G4は、半導体集積回路の設計及び製造の上では、現実的に制御可能な範囲内において、互いに同じ特性を持つように構成される。複数のゲート回路を互いに同じ特性とする技術について、以下に概略的に説明する。ゲート回路G1〜G4において、その特性である論理しきい値は、概略的には、それを構成するPチャネルMOSFETとNチャネルMOSFETとに決まると理解されているであろう。その観点ではチャネル幅Wとチャネル長Lとの比W/Lは同じであるがサイズが異なるMOSFETによっても同じ特性のCMOSゲート回路を構成できると理解され得る。しかしながら、半導体集積回路装置の製造バラツキによる電気特性への影響は、異なったサイズの素子に対しては異なったものとなる。
この実施例では、かかる複数のゲート回路G1〜G4のそれぞれは、好適には、それぞれを構成する素子の相互、すなわちPチャネル型MOSFETの相互、及びNチャネル型MOSFETの相互が互いに同じ構造、同じサイズを持って構成される。言うまでもなくそれら素子は、同じ素子は同じプロセスの元で一括製造されると言う半導体集積回路の特徴に従って製造される。これによって複数のゲート回路G1〜G4は、半導体集積回路の製造上の加工寸法のバラツキ、各種層の厚さバラツキ、不純物濃度バラツキ等々の製造バラツキによる影響を均等に受けるようにされる。
図25に示した実施例では、2つのゲート回路G1とG2の論理しきい値の大きさの判定出力がゲート回路G2から出力される。かかる判定信号は、後段のゲート回路G3、G4により増幅されてCMOSレベルの2値信号を得るものである。この2値信号を1ビット分の識別情報又は後述するような認証子1020として利用する。したがって、厳密にはゲート回路G3とG4は、単に増幅動作を行うものであるからゲート回路G1とG2のようにPチャネル型MOSFETの相互、及びNチャネル型MOSFETの相互が互いに同じ構造、同じサイズを持って構成される必要は無いが、この実施例では主に回路設計の観点から同じ構造、同じサイズを持って構成される。
上記ゲート回路の論理しきい値のバラツキの要因としては、MOSトランジスタ特性のバラツキが支配的であると捉えてよい。そして、MOSトランジスタ特性のバラツキの原因としては、MOSトランジスタのゲート幅や、ゲート絶縁膜膜厚、導電決定不純物濃度とその分布などを挙げることができる。これらのバラツキはマクロ的な部分とミクロ的とに分けることができる。マクロ的な部分としては、同一ロット内の複数のウェハ間のゲート幅バラツキなどである。
本願発明においては、主としてミクロ的な部分のバラツキを考慮するものであり、比較的に近接した位置に配置された素子問におけるバラツキについて検討した。このようなミクロ的なバラツキは、比較的に近接した素子間にランダムに発生するものとして観測される。
すなわち、図25のゲート回路G1,G2の論理しきい値のバラツキもランダムであると考えられる。このような半導体素子の持つ特徴的な特性のバラツキは固有の識別情報として利用するものである。つまり、CMOSゲート回路を用いた場合には、論理しきい値に生じるバラツキがNチャンネル型MOSトランジスタの持つバラツキにPチャンネル型MOSトランジスタの持つバラツキが加えられたものと見做すことができ、バラツキ範囲が広くなり識別番号ないし識別情報の発生を効果的に行うようにすることができる。これにより、図25の識別情報発生回路においては、動作制御信号ACTをハイレベルにすることにより、上記基本回路1010の複数個からD0〜Dn−1のようなnビットからなる識別情報(識別子又は認証子)を得ることができる。
この実施例では、回路が停止状態すなわち動作制御信号ACTがロウレベルであるとき、図26のNチャネルMOSFETQ1がオフ状態となり、入力Yと出力ノードXとを接続することで生じる貫通電流が抑制される。また、ゲート回路としてナンド(NAND)回路を用いた利点は、CMOS論理LSIの標準素子であるため、適用する製品を限定しないことである。つまり、完全論理記述型回路で構成されるため、回路設計が容易になるものである。
図25では、動作制御信号ACTは直列のNチャネルMOSFETのQ1のゲートに供給されているが、これに代えて上記動作制御信号ACTはNチャネルMOSFETQ3のゲートに供給され、出力ノードZはNチャネルMOSFETのQ3のゲートに接続されてもよい。
トランジスタレベル回路記述において重要なのは、個々のナンド(NAND)素子中のMOSFETの信号接続位置である。前記図25の実施例では、動作制御信号ACTがロウレベルにされる上記の停止状態では各ゲート回路G1〜G4の出力すなわちノードN1、N2、N3の電位が自動的に電源電圧となるため、それら信号の接続先のPチャネルMOSFETのNBTIによる特性の変動を防止できる効果がある。
MOSトランジスタは、そのしきい値電圧が電界強度と温度とに依存するような電界ストレスによって不所望に変動することが有る。特にNBTI(Negative Bias Temperature Instability)と称される現象は、Pチャネル型MOSFETで顕著に現われる現象である。この防御策として、目的外の時間においてPMOSのゲートに印加される電圧を高い電圧にする方法がよく用いられる。この実施例では、上記動作制御信号ACTのハイレベルにより論理しきい値判定動作を行わせ、かかる論理しきい値判定動作以外の時には、動作制御信号ACTをロウレベルにしてPチャネル型MOSFETのゲートには、電源電圧を供給するようにゲート電圧を固定電圧にするものである。これにより、Pチャネル型MOSFETは、ゲート、ドレイン及びソースと基板(チャネル)の全てが電源電圧に等しい同電位となり、上記MOSFETの経時変化による論理しきい値の変動が極力抑えられる。このことは、前記のように各基本回路の出力信号を組み合わせによって識別情報を得る上で特に有効なものとなる。
なお、停止状態のときに動作制御信号ACTのロウレベルが供給されるPチャネルMOSFETQ2等は、動作制御信号ACTがハイレベルにされる識別情報発生時にはオフ状態にされるものであり、識別情報発生動作には関与しない。このため、停止状態が長くなり、MOSFETの経時変化による論理しきい値の変動があっても実質的には問題になることはない。
増幅回路として動作するゲート回路G3及びG4は、上記のように設定することは必要ないが、回路設計上あるいは素子レイアウト上はゲート回路G1とG2と同様のものを用いるのが簡単となるし、後述するような識別情報発生回路1000の存在を隠す上で有利なものとなる。
前記図25ではナンド(NAND)ゲートを用いて基本回路を構成したが、ナンドの代わりにノア(NOR)ゲートであっても構わない。ただし、その場合にはかかる基本回路は、動作制御信号ACTがロウレベル(論理0)で活性化するものとなる。前記のように、NBTIと称される電界ストレスに起因する劣化現象は特にPチャネルMOSFETで顕著である。しかし他の素子、例えばポリシリコンFETや有機トランジスタ等において、かかる劣化現象がPチャネル型ではなくNチャネル型で顕著である場合は、ノア(NOR)ゲートを用いることが望ましい。
図25に示される実施例において、各基本回路内のナンドゲートG2,G3,G4については、それぞれに接続された共通制御信号ACTを電源VDDに接続して常にハイレベル(論理1)としてもよく、それによって本実施例の持つ基本的機能は変らない。
図27には、この発明に使用される識別情報発生回路の他の一実施例のブロック図が示されている。第28に示される基本回路(要素回路)1020がM×N個のようにマトリックス配置される。
1つの行は図28に示す基本回路1020が直列形態に接続され、その出力部に行選択信号R0等により選択されるナンドゲート回路G0とクロックドインバータ回路CN0からなる行選択回路1021が設けられる。M個からなる各行を構成する基本回路1020は、対応するもの同士が列デコーダにより形成された列選択信号C0〜CM−1により共通に選択される。上記N個の行方向に配置された基本回路は、行デコーダ1023により形成された行選択信号R0〜RN−1により1つが選択される。かかる行選択信号R0〜RN−1は、上記ナンドゲート回路G0とクロックドインバータ回路CN0からなる行選択回路1021の選択信号としても用いられる。行選択回路1021を構成するクロックドインバータ回路CN0は、それが非動作状態のときに出力ハイインピーダンス状態になるので、上記N個のクロックドインバータ回路の出力信号が共通に接続され、選択された1つの行に対応したクロックドインバータ回路の出力信号がナンドゲート回路G11に伝達される。
動作制御信号ACTによりゲートが制御されるナンドゲート回路G10とインバータ回路INV10を通してクロックCLKがM進カウンタ1024に供給される。これにより、M進カウンタ1024では動作制御信号ACTが活性状態のときにクロックCLKに対応して0〜M−1の計数動作を行い、かかる計数出力を受ける列デコーダ1022によりC0〜CM−1の選択信号が形成されて基本回路1020の出力信号がシリアルに出力される。
上記M進カウンタ1024のキャリー信号がN進カウンタ1025に供給されるので、N進カウンタ1025はM進カウンタ1024の1回りに対応して計数動作を行う。これにより、上記行方向に配置されたM個の基本回路1020の読み出しが行われると、行選択の切替が行われて0行目からRN−1行目まで、それぞれN個の基本回路1020の読み出しが実施される。
本実施例において、M×Nサイクルで全ての基本回路の読み出しが行われるから、M×NサイクルによりM×Nビットの識別情報Dをゲート回路G11及びインバータ回路INV11を通して出力させることができる。
図28には、前記図27における回路要素の一実施例の具体的回路図が示されている。基本回路は、前記図25に示したゲート回路G1〜G4に、行/列選択機能を設けるためのゲート回路G5とインバータ回路として動作するゲート回路G6が追加される。上記ナンドゲート回路G5の2つの入力には、列選択信号Ciと、行選択信号Riが供給される。ゲート回路G3には、その行における1段前の基本回路の出力信号Diが供給される。非選択の基本回路は、ゲート回路G3とG4を通して入力された前段からの信号Diをそのまま出力信号Di+1として伝送するという動作を行う。これにより、行及び列が選択状態にされた1つの基本回路のみが前記のような動作状態にされて出力される。
図27におけるクロックドインバータ回路CNは、図29に示すように、電源電圧VDDと回路の接地電位VSSとの間に直列接続されたPチャネルMOSFETQ11、Q12とNチャネルMOSFETQ14、Q13から構成される。PチャネルMOSFETQ11とNチャネルMOSFETQ13のゲートが共通に接続されて入力端子Aとされる。PチャネルMOSFETQ12とNチャネルMOSFETQ14のドレインが共通に接続されて出力端子Bとされる。そして、端子Cから供給される制御信号は、NチャネルMOSFETQ14のゲートに供給され、上記制御信号がインバータ回路INV12によって反転されてPチャネルMOSFETQ12のゲートに供給される。
端子Cから供給される行選択信号のような選択信号がハイレベルのときにNチャネルMOSFETQ14とPチャネルMOSFETQ12がオン状態となり、入力端子Aからの入力信号を受けるNチャネルMOSFETQ13とPチャネルMOSFETQ11のオン/オフに対応した出力信号が出力端子Bから出力される。また、端子Cから供給される行選択信号のような選択信号がロウレベルのときにNチャネルMOSFETQ14とPチャネルMOSFETQ12が同時にオフ状態となり、入力端子Aからの入力信号に無関係に出力端子Bは出力ハイインピーダンス状態にされる。図29におけるクロックドインバータ回路CNは、CMOSインバータ回路の出力部にトランスファゲートを設ける構成とするものであってもよい。
図30には、図27の識別情報発生回路の動作の一例を説明するための概略波形図が示されている。動作制御信号ACTがハイレベルの活性化レベルにされた状態で、クロックCLKを入力すると、それに対応して列選択信号C0〜CM−1が列デコーダから出力される。このとき、N進カウンタは計数値がゼロであるから0行目の行選択信号R0を選択レベルにするので、第0行目の基本回路の出力信号が列選択信号C0〜CM−1に対応してシリアルに出力される。0行目の基本回路の読み出しが行われると、そのキャリー信号によりN進カウンタが+1の計数動作を行い、上記第0行目R0を非選択にして代わって第1行目R1を選択状態にする。このようにして、N−1行目までの基本回路の読み出しが順次に行われる。M×N個の基本回路(単位識別回路)を全て選択するために必要なサイクルがM×N回となる。
以上のような識別情報発生回路1000では、ゲート回路等を半導体集積回路に組み込んで通常のプロセスで製造するだけで、自動的にランダムな識別情報を得ることができる。これにより、前記先行技術1のように逐一識別番号を書き込むための工程が不要であり、極めて安価に製造できるという1つ目の特徴を持っている。
上記識別情報発生回路1000では、実質的に解読が不可能であるという2つ目の特徴を持っている。つまり、前記のようなゲート回路等のしきい値電圧のミクロ的な素子バラツキを適切に利用するものであり、先行技術1のように識別番号に対応したような特徴的な回路パターンが存在しないから解読が不可能である。そして、その存在箇所もゲート回路で構成されているから、通常の論理回路に紛らせることにより存在位置の解読も難しい。そして、回路パターンを解読するためにチップのみを取り出そうとすると、その過程での機械的なストレス及び化学薬品並びにプラズマによるダメージが半導体チップに加わり、素子特性そのものも変化させるので、識別情報そのものが変動してしまい、出力させても無意味な情報となるものである。
上記のような特徴を生して、かかる識別情報発生回路1000を以下のプリペイドカードとその決済システム及び電子鍵に使用することにより、低コトスで安全な取引等の実現を可能にしたプリペイドカードとその決済システムや電子鍵を得ることができる。
図1には、この発明に係るICプリペイドカード決済システムの一実施例の構成図が示されている。この実施例は、ICプリペイドカードとその決済システムに関する代表的な利用形態が示されている。例えば、イベントの入場や商品の購入などの特定のサービスの提供を受けようとする利用者126は、この発明に係るICプリペイドカード120をICカードリーダ121に挿入することで、インターネット122等の通信手段を用いて、ICプリペイドカード管理会社123の認証を受けて、前記サービスの提供を受ける。該カード管理会社123は、図示しないクレジット会社等と連携し、かかる認証が成立した段階で、クレジットの引き落としや現金の決済などをおこなうことができる。
前記ICプリペイドカード120にかかる認証の手順の概略を説明すれば、以下の通りである。利用者126は、ICカードリーダ121にICプリペイドカード120を挿入すると、インターネット122を介して、カード管理会社123に認証の要求が請求される。ICプリペイドカード管理会社123は、ICカードリーダ121に対してICプリペイドカード120に搭載されている前記識別情報発生回路1000を備えた集積回路装置(半導体チップ)に記録されている識別情報(認証子)124を要求する。カードリーダ121は、かかる認証子124をインターネット122を介してカード管理会社123に回答する。カード管理会社123は認証子124があらかじめ登録されている識別情報125と照合し照合が成立した場合、カードリーダ121に対して認証の回答を行う。その結果、前記利用者126は前記サービスの提供を受けることができる。上記認証子124一つにつきサービス一回が対応しており、一度認証並びにサービスの提供がなされると、かかる認証以後、該認証子124は前記サービスの提供を受けるという権利の効力を失う。
図2には、図1の認証子を発生する集積回路の一実施例のブロック図が示されている。集積回路01内の制御回路100に入力された制御入力10の要求により、制御信号20が発生し、該制御信号20により前記認証子発生回路101から認証子30が発生し、出力回路102を通して該認証子30が出力される。上記認証子発生回路101は、前記図25又は図27に示したような識別情報発生回路1000により構成される。
なお、以下の本願明細書では、前記認証子と呼んでいるものを、その目的に応じて「認証子」として、または「識別子」として呼び分けている。「認証子」と「識別子」はともに前記認証子発生回路(識別情報発生回路1000)101から発生する情報であって、基本的には性質や特性は同じである。「識別子」とは、集積回路やそれを搭載した装置を他と区別するために該装置等に付与された情報という意味で用いている。一方、「認証子」とは、特定のサービスを受ける資格又は権利を、該認証子を備えた装置の所有者が有していることを、前記サービスを提供する者との間で事前に合意していることを証明するための情報という意味で用いている。
図3には、前記集積回路01を搭載した集積回路装置の代表的な構成図が示されている。集積回路01は、単独又は他の集積回路02とともに集積回路装置110を構成する。入出力及び制御回路130は、該集積回路装置110の外部接続電極132から与えられる信号により、該集積回路01への制御信号10を生成し、該集積回路01の出力50を外部又は他の集積回路02へ伝える。
図4には、本願で開示される発明のうち、ICプリペイドカードに関する代表的な構成図が示されている。本発明にかかる前記集積回路装置110は、ICプリペイドカード120のベース材(樹脂等)上に実装され、電極112によって外部と電気的信号を交換する。なお、該ICプリペイドカード120では、前記電気的接点112を介した通信方式が示されているが、特に該方式にこだわるものではなく、例えば前記ベース材上にアンテナを形成した非接触方式であってもよい。
プリペイドカードは、例えば公衆電話利用カード(以下、「テレホンカード」という)のように、一般利用者が該テレホンカードを購入した時点で電話通信会社に一定の利用額が支払われ、利用者は該購入額までの公衆電話の利用ができるものである。テレホンカードと類似のものには、バスや電車等の乗車利用カード、コンビニエンス・ストア・プリペイドカードがある。現在、国内で普及しているテレホンカードは、樹脂製のシートに磁性材料を塗布し、該磁性材料に利用額等のデータを磁気記録している。しかし、このような磁気記録方式では、該磁気データの改竄やカード自体の偽造が比較的容易で安全性が高いとはいえず、利用上限額が高額なカードを発行することは難しい。そのため、改竄や偽造の危険性が低い集積回路装置(IC)を利用したいわゆるICプリペイドカードも普及している。ただし、ICプリペイドカードは、磁気カードに比べて製造コストが高いという課題がある。
本願発明は、前記プリペイドカード及びICプリペイドカードいずれの課題の解決にも有効なものである。以下に示される安価で且つ安全性の高いICプリペイドカードに関する実施例をもとに、前記集積回路01にかかる本発明の目的と効果が理解されるであろう。
図5には、前記ICプリペイドカード120にかかる代表的な製造工程の説明図が示されている。半導体製造工程を完了したウェハ150上の前記集積回路装置110は、IC検査工程151で電気的機能等が検査されると同時に、該集積回路110内の前記認証子発生回路101から認証子30が読み出される。
該認証子30は該IC検査工程151における図示しないIC検査装置から登録認証子154として情報記憶装置155に格納される。前記IC検査工程151を経た前記集積回路110は、組立工程152により前記ICプリペイドカード120に加工される。該ICプリペイドカード120はその後、カード検査工程153において最終検査が行われると同時に、前記認証子101は図示しないカード検査装置から認証情報格納装置155に格納される。
同図では、該登録認証子154は、前記IC検査工程又はカード検査工程と前記カード検査工程153から収集されているが、いずれか一方による取得及び前記認証情報格納装置155への格納でよい。該カード検査工程153を合格した該ICプリペイドカード120が良品として出荷される。
図6には、この発明に係るICプリペイドカードの一実施例の使用形態の説明図が示されている。同図には、前記のように製造されたICプリペイドカード120を使用した前記カード管理会社との認証にかかる処理方法がより詳しく示されている。
前記カードリーダ121に挿入されたICプリペイドカード120内の認証子30は、前記カード管理会社123の認証処理システム163に送られ、該認証処理システム163内で管理されている認証情報データベース160に照会される。該認証情報データベース160は、認証登録情報フィールド161と消尽フラグフィールド162からなる複数の認証情報レコード163からなり、該認証登録情報フィールド161の情報は前記図5の登録認証子154であって、該認証情報レコード153の総数は、前記ICプリペイドカード120の出荷総数に一致する。
認証処理システム163で行われる前記照合とは、前記認証子30の符号に合致する前記認証情報データベース160内の認証情報レコード163を「照合する工程」と、該照合された認証情報レコード163内の消尽フィールド162の状態を「更新する工程」とからなる。該「照合する工程」とは、前記認証子30と、前記認証情報データベース160に登録された全ての認証登録情報フィールド161の認証登録情報154の符号とのハミング距離を計算し、該ハミング距離が最も小さい認証登録情報154を含む認証情報レコード163を選び出すことであり、該「更新する工程」とは、前記照合された認証情報レコード163の消尽フィールド162が、論理0の時論理1には更新し、論理1の時には論理1のままとすることである。
該消尽フラグフィールド162は、その登録時点では全て論理0であり、論理0は「照合未」すなわち前記ICプリペイドカード110を所有する利用者126は特定のサービスの提供を受ける権利があり、論理1は「照合済」すなわち該利用者126が前記権利を使い切ったことを意味する。また、該消尽フラグフィールドが論理1となった前記認証情報レコード163は、次回の照合からその対象とならない。該照会において、消尽フィールドが「照合未」であった場合、前記認証処理システム163からカードリーダ121に対し認証の通知がなされる。
上記ハミング距離とは、二つの記号系列(x1,x2,x3…xn)と(y1,y2,y3…yn)に注目したとき、これらの間で互いに記号が異なっている場所の総数をいう。前記図2に示した認証子発生回路101が生成する前記認証子30は完全に無秩序(ランダム)であり、各認証子発生回路101間に全く相関がないという性質を持っている。このようなランダムな性質を持つ認証子30の場合、認証子30のビット長が与えられたとき、無数の識別子30間のハミング距離の確率分布を推定することができる。さらに、前記確率分布から、複数の認証子30間の最小ハミング距離などを推定することができる。
ところで、認証子30はその動作原理の上から構成するビットの一部に変動が生じることがある。つまり、図25のゲート回路G1とG2のしきい値電圧が極めて近接していて、熱雑音や電源電圧の変動の影響により、同一の前記集積回路装置110において、第1の時点で取得される第1の認証子30と、別の第2の時点で取得される第2の認証子30の間に異なるビット(以下、「変動ビット」という)が存在する可能性を有するため、前記二つの認証子の同一性を両認証子のビットの完全な一致によって照合することは困難である。しかし、認証子30に含まれる変動ビットの合計数が、前記最小ハミング距離より小さい場合、同一の認証子30と異なる認証子30を区別することが可能である。
図7には、前記ICプリペイドカード110内の集積回路装置に関する図2に示す集積回路01とは別の実施形態のブロック図が示されている。前記集積回路01は、一つの認証子30を発生するものであったが、集積回路03は複数の認証子を発生するものである。該集積回路03内の制御回路165に入力された制御入力164の要求により制御信号166が発生し、該制御信号166により選択された複数の認証子発生回路101のうち一つから認証子167が発生し、出力回路168を通して該認証子169が出力される。
該集積回路03において、複数の認証子発生回路101の代わりに一つの認証子発生回路101の認証子を分割してあたかも複数の認証子発生回路のようにしてもよい。該集積回路03を前記図3に示すような集積回路装置110に搭載し、前記図4に示すようなICプリペイドカード120に実装することで、該ICプリペイドカード120を回数券のように使うことができる。次に示される前記集積回路03を搭載したICプリペイドカード170に関する認証の処理方法により、前記集積回路03にかかる発明の目的と効果が理解されるであろう。
図8には、前記集積回路03を搭載した前記ICプリペイドカード170の認証の処理方法の一実施例の構成図が示されている。前記カードリーダ121に挿入されたICプリペイドカード170内の認証子171の先頭の認証子(イ)は、カード管理会社123の認証処理システム172に送られ、該認証処理システム172内で管理されている認証情報データベース174内の認証登録情報フィールド176の登録認証子154と照合される。該認証情報データベース174は、認証登録情報フィールド176と消尽フラグフィールド177からなる複数の認証情報レコード175から構成される。
該認証登録情報フィールド176の情報は前記図5と同様の工程並びに方法により取得された認証登録情報154であって、該認証情報レコード176の総数は、前記ICプリペイドカード170の出荷総数に、該ICプリペイドカード170それぞれに含まれる認証子171の数を乗じた数に一致する。
前記認証処理システム172での照合とは、前記認証子(イ)の符号に合致する前記認証情報データベース174内の認証情報レコード175を「照合する工程」と、該照合された認証情報レコード175内の消尽フィールド177の状態を「更新する工程」からなる。該「照合する工程」とは、前記認証子(イ)と、前記認証情報データベース174に登録された全ての認証登録情報フィールド176の認証登録情報154の符号とのハミング距離を計算し、該ハミング距離が最も小さい認証登録情報154を含む認証情報レコード176を選び出すことであり、該「更新する工程」とは、前記照合された認証情報レコード175の消尽フィールド177が、論理0の時論理1には更新し、論理1の時には論理1のままとすることである。
該消尽フラグフィールド177は、その登録時点では全て論理0であり、論理0は「照合未」すなわち前記ICプリペイドカード110を所有する利用者126は特定のサービスを受ける権利があり、論理1は「照合済」すなわち該利用者126が前記権利を使い切ったことを意味する。また、該消尽フラグフィールドが1となった前記認証情報レコード175は、次回の照合からその対象とならない。
該照会において、消尽フィールドが「照合未」であった場合、前記認証処理システム172からカードリーダ121に対し認証の通知がなされる。しかし、同図に示されるように該フラグフィールドが既に消尽されているような場合、前記認証処理システム172からカードリーダ121に対し、認証拒否の通知がなされ、かかる通知を受けた前記ICプリペイドカード170は、認証子171内の認証子イの次の認証子(ロ)を認証処理システム172送り、該認証処理システム172は、該認証子(ロ)と該認証処理システム172内で管理されている認証情報データベース174内の、消尽フィールドが論理0である認証情報レコード175の認証登録情報フィールド176のデータを対象に再び照合される。前記照合により前記認証情報レコード175が照合された場合、該認証情報レコード175内の消尽フラグフィールド177を論理1とする。前記照合が成立した後、前記認証処理システム172からカードリーダ121に対し、認証の通知がなされる。また、一枚の前記ICプリペイドカードに含まれる認証子171及び集積回路03の数に制限は無く、また一回の認証作業で複数の認証子171の認証を行い、利用者126が高額なサービスの提供を受けることも可能である。
図9には、前記集積回路03を搭載したICプリペイドカード170の認証の処理方法の他の一実施例の構成図が示されている。カードリーダ121に挿入されたICプリペイドカード170内の認証子171の先頭の認証子(a)は該ICプリペイドカード170を特定するための識別子として使われ、カード管理会社123の認証処理システム183に送られ、該認証処理システム183内で管理されている認証情報データベース184内の、カード識別登録情報レコード185の識別情報フィールド186の情報と照合される。
該カード識別レコード185は、登録識別子フィールド186と利用可能認証数フィールド187からなる複数のカード識別レコード185から構成される。該カード識別レコード185のそれぞれにはさらに、複数の登録認証子フィールド190が従属している。前記登録識別子フィールド186と前記登録認証子フィールド190は、前記図5と同様の工程並びに方法により取得された認証登録情報154であって、前記カード識別レコード185の総数は出荷された前記ICプリペイドカード170の総数であって、前記登録認証子フィールド190の総数は前記出荷されたICプリペイドカード170に含まれる認証子171の総数から前記出荷されたICプリペイドカード170の総数を減じた数に一致する。そして、前記照合とは、従前の実施例の内容と同じであるため説明は省略する。
ここで照合が成立した場合、前記カード識別レコード185内の前記利用可能認証数フィールド187の数値を確認する。利用可能認証数フィールド187は、その登録時点では前記ICプリペイドカード170内の認証子171の総数−1の数であり、0以上は前記ICプリペイドカード170を所有する利用者126は、該利用可能認証数フィールド187の回数の前記特定のサービスを受ける権利があり、0は前記利用者126が前記権利を使い切ったことを意味する。ただし、該利用可能認証数フィールド187が既に0である場合、前記認証子171は消尽されており、該利用可能認証数フィールド187が0となった前記カード識別レコード185は照合の対象とならない。
前記カード識別レコード185の照合が成立した場合、認証処理システム183は、カード識別登録情報レコード185の前記利用可認証数フィールド187の値(indx)を前記ICプリペイドカード170へ転送する。前記(indx)を受け取ったICプリペイドカード170は、前記認証子171の先頭から(indx)−1番目の位置の認証子(ニ)を取り出し前記認証処理システム183へ送る。前記認証子(ニ)を受け取った前記認証処理システム183は、前記カード識別レコード185に従属する認証子189と前記認証子(ニ)を照合する。前記照合の結果、同じく(indx)番目の認証子189と一致した場合、前記カード識別レコード185内の前記利用可認証数フィールド187の数値を−1し、前記ICプリペイドカード170に対して認証の通知をする。
図10には、この発明に係る認証子発生回路の一実施例のブロック図が示されている。この実施例は、前記図25や図27のような識別情報発生回路1000で構成された前記認証子発生回路101に係る認証子30の変動の影響を排除し、さらに改竄が困難な認証子発生回路に向けられている。
かかる認証子発生回路の概要を説明すれば、前記認証子発生回路101が出力するある時点の第1の認証子を一旦不揮発性メモリ(PROM)401に記憶し、該メモリの記憶値を第2の認証子とし、認証子を使用する際には、該第2の認証子を常に使用し、さらに該第1の認証子と第2の認証子を比較し改竄のあったことを自ら検知する方法とを備えることである。
該集積回路04内の制御回路400に入力された制御入力410の要求により、制御信号411が発生し、該制御信号411により認証子発生回路101から認証子412が発生し、PROM(不揮発性メモリ:電気的に一括書き込みが可能な読み出し専用メモリ)401に認証子412が記憶される。制御回路400に入力された制御入力410の要求により、該認証子412が記憶された前記PROM401の出力413は出力回路403を通して出力端子50に出力される。しかしながら、書き込みが可能なメモリに認証子を記録することができるということは、裏を返せば該メモリの内容の書き換え等による該認証子の改竄の可能性を自ら呼び戻し、悪意を持った攻撃者(以下、「アタッカー」という)の標的となり、そもそもの改竄が不可能という該認証子発生回路の利点を喪失してしまう。
そこで、アタッカーによる前記PROM401の認証子413の改竄の検出及び防御を行う以下の手段が設けられる。比較回路402は、前記認証子412と前記認証子412が記憶された該PROM401の出力413のハミング距離を算出し、該ハミング距離が規定値以上であった場合その検出結果414により出力回路403の出力50を強制的に無効にするものである。
該集積回路04に対するアタッカーによる改竄攻撃の方法を示せば、次のような1)〜3が想定される。すなわち、1)前記PROM401を攻撃し、その値を改竄する。2)前記認証子発生回路を攻撃し、その値を改竄する。3)前記PROM401及び前記認証子101の両方を攻撃し、それらの内容を改竄する。
前記1)の攻撃方法において、考えられる最悪な危険な状況とは、攻撃者が該PROM401の値を選択的に自由に変更することのできる方法を得ていることである。しかし、かかる変更の方法を得ていたとしてもアタッカーは前記比較回路402の作用により、該PROM401の値を前記規定値以内で変更することしかできない。本願発明にかかる認証子において、有意な認証子の値の互いのハミング距離は大きく離れており、認証子の値を少し変化させたくらいでは、該認証子の値が他の有意な認証子に該当させることは困難である。
前記2)の攻撃方法において、アタッカーは前記比較回路の作用により、前記1)の攻撃と同様に、前記認証子発生回路の値を前記規定値以内で変更することしかできない。しかも、該認証子発生回路は、その動作原理がMOSトランジスタ素子の微妙な特性バラツキを利用しているため、該認証子発生回路の値を変更するためには、例えば光や熱、イオンなどのエネルギーを与えるという方法をとらなくてはならず、前記1)のPROM401に対する攻撃に比べると困難であり、まして任意の値に変更することはさらに困難である。すなわち、前記2)の攻撃方法は、改竄の選択性が低く、改竄の行為自体に相当なエネルギーを要するものである。
3)の攻撃方法は、前記1)と2)を組み合わせたもので、おそらくアタッカーは前記2)によって、前記認証子発生回路の認証子の値を変更し、続いて前記1)によって比較回路の検出を逃れるという方法をとるものと思われる。しかし、前記3)の攻撃方法においても、前記認証子発生回路の値を任意に変更する困難さにおいて前記2)と変るものではない。すなわち該該集積回路04は、前記想定しうる前記1)から3)のアタッカーによる改竄の攻撃に対して、安全性の高いシステムを構築するための認証子を発生することができる。該集積回路04にかかる発明の目的と効果は、本明細書に記載の他の実施例においてより理解されるであろう。
図11には、この発明に用いられる半導体チップの他の一実施例のブロック図が示されている。この実施例は、前記集積回路04を搭載した別の集積回路に向けられている。集積回路05には、集積回路04にRAM504、演算器505とハッシュ関数506(特に断わらないが、ハッシュ値から元の値を逆算できない、いわゆる一方向ハッシュ関数のことをいう)が追加されている。該集積回路05にかかる発明の目的と効果の概略を説明すれば、該集積回路04内の前記認証子発生回路101の認証値30そのものを該集積回路05の外部に出すことなしに、該集積回路05を搭載した集積回路等の認証等を可能にするということである。
集積回路05内の制御回路500に入力された制御入力510の要求により、制御信号511が発生し、該制御信号511により集積回路04から認証子513が発生する。該認証子513は前記集積回路04内のPROM401に一旦記憶された値であり、読み出し動作の度に同じ値を示す。RAM504は一時的記憶可能な書き込み読出しメモリであって、制御信号510から制御回路500に与えられた外部参照値515を一時的に記憶するものである。演算器505は、前記集積回路04の出力の値513と前記RAM504の出力の値516の排他的論理和算を演算し、ハッシュ関数506は前記演算器505の出力の値517のハッシュ値を計算し、出力回路503は前記ハッシュ関数の出力の値518を出力端子520へ出力する。
図12には、前記集積回路05を前図3に示すような集積回路装置に搭載し、前図4に示すようなICプリペイドカードと同様に実装したICプリペイドカード470の製造工程の概略図が示されている。半導体製造の前工程を完了したウェハ450上の前記集積回路05を搭載する集積回路装置460は、IC検査工程461で電気的性能が検査され、組立工程462により前記ICプリペイドカード470に加工される。その後、該ICプリペイドカード470は、カード検査工程463において最終検査が行われる。該カード検査工程463では、参照値発生器474の出力値465及び、該出力値465を素に前記ICプリペイドカード470に搭載された前記集積回路05内のハッシュ関数によって求められたハッシュ値466を、図示しないカード検査装置により取得し、認証情報格納装置467に登録する。該カード検査工程463を合格した該ICプリペイドカード470は良品として出荷される。
前記カード検査工程463では、一つのICプリペイドカード470の検査において、複数の種値472とそれに対応するハッシュ値473を取得し、前記認証情報格納装置467に格納する。前記複数の種値472とハッシュ値473のうち、特定の順番(例えば、先頭)の種値472は、該種鍵によって生成されるハッシュ値473を該ICプリペイドカード470の識別子として利用するため、ICプリペイドカード470によらず同一とする。
図13には、前記カード検査工程463の詳細な構成図が示されている。該検査工程463では、前記ICプリペイドカード470(当図において、該ICプリペイドカード470には、前記集積回路05を搭載した集積回路装置が実装されており、ここで説明しようとする発明にかかる目的と効果の理解に必要十分な構成のみが抜き出して示されている)へ参照値発生器474で生成された種値472を入力する。
一方、秘匿値は集積回路04によって自動的に生成されるもので、外部からその値を知ることはできない。演算器478は、該種値472と秘匿値477の排他的論理和算を演算するものである。該演算結果を、ハッシュ関数471を通してハッシュ値473を生成するが、種値472が同じでも、ICプリペイドカード470が違えば、秘匿値477が異なるため全く値の違うハッシュ値473が生成される。一方向ハッシュ関数の特徴により、ハッシュ値473から、該種値472及び秘匿値477を逆算することは例えICプリペイドカード470を入手することができても不可能である。
図14には、前記集積回路05を搭載した前記ICプリペイドカード470の認証の処理方法の構成図が示されている。前記カードリーダ121に挿入された該ICプリペイドカード470は、カード管理会社123内の認証システム660にサービス認証の要求を申請する。該カード管理会社123は、前記ICプリペイドカード470に対して、該ICプリペイドカード470を特定するために認証子番号(indx0)と識別用参照値R0を送る。かかる認証子番号(indx0)は、認証子652のうち該ICプリペイドカード470を特定するために認証子を指定する番号であって、参照値R0は他の全てのICプリペイドカード470に共通の値である。
前記認証子番号(indx0)と識別用参照値R0を受け取った前記ICプリペイドカード470は、該認証子番号(indx0)が指定する番号の認証値651と該参照値R0を演算器656で演算した結果657をハッシュ関数にかけてハッシュ値H0を求め、前記システム660へ回答する。該ハッシュ値H0を受け取った前記認証システム660は、認証情報データベース664内のカード識別子レコード661と該ハッシュ値H0を照合する。なお、該照合とは、従前の実施例の内容と同じであるため説明は省略する。
該認証情報データベース664は、登録識別子フィールド662と利用可認証数フィールド666からなる複数のカード識別子レコード661から構成される。該カード識別レコード661のそれぞれには、さらに参照値フィールド669とハッシュ値フィールド670からなる複数の登録認証子レコード667が従属している。
前記参照値フィールド669とハッシュ値フィールド670は、前記図12のカード検査工程463で取得された参照値465と登録ハッシュ値466であって、前記カード識別レコード661の総数は出荷された前記ICプリペイドカード470の総数であって、前記登録認証子レコード667の総数は前記出荷されたICプリペイドカード470に含まれる認証子651の総数から前記出荷されたICプリペイドカード470の総数を減じた数に一致する。
ここで前記照合が成立した場合、前記カード識別レコード661内の前記利用可能認証数フィールド666の数値を確認する。利用可能認証数フィールド666は、その登録時点では前記ICプリペイドカード470内の認証子652の総数−1の数であり、0以上は該ICプリペイドカード470を所有する利用者126には、該利用可認証数フィールド666が持つ値の回数分の前記特定のサービスを受ける権利があり、0は前記利用者126が前記権利を使い切ったことを意味する。また、該利用可認証数フィールド666が既に0である場合、前記認証子652は消尽されており、該利用可認証数フィールド666が0となった前記カード識別レコード661はその対象とならない。
前記利用可認証数フィールド666が1以上である場合、認証処理システム660は、前記カード識別子レコード661の前記利用可能認証数フィールド666の値(indx)と、該(indx)−1番目の前記登録認証子レコード667内の前記参照値フィールド669の値Rを前記ICプリペイドカード470へ転送する。
前記(indx)と参照値Rを受け取った前記ICプリペイドカード470は、前記認証子652の先頭から(indx)−1番目の位置の認証子を読み出し、演算器656による該認証値と前記参照値Rとの排他的論理和算結果のハッシュ関数658を掛けたハッシュ値Hを、前記認証処理システム660へ送る。該ハッシュ値Hを受け取った前記認証処理システム660は、該ハッシュ値Hが、先に送った登録認証子レコード667内の前記参照値フィールド669の参照値Rに対応した前記登録認証子レコード667内の前記ハッシュ値フィールド670の値に合致するか確認する。前記ハッシュ値同士の照合の結果が合致した場合、前記カード識別レコード666内の前記利用可能認証数フィールド666の数値を−1し、前記ICプリペイドカード470に対して認証の通知をする。
前記該ICプリペイドカード470の認証にかかる処理方法から解るるように、該ICプリペイドカード470と前記認証処理システム660との間では、認証子そのものの情報交換はおこなわれておらず、偽造や改竄に対して安全性が高い認証システムを実現することができる。本認証システムは、前記登録認証子レコード667内の前記参照値フィールド669の値と前記ハッシュ値フィールド670の値を更新することで、同じ該ICプリペイドカード470を再使用することができる。例えば、該ICプリペイドカード470を専用のICカード更新端末に挿入し、新たに料金チャージし、新しい参照値とハッシュ値を前記カード管理会社123の持つ前記認証処理システム660のデータベース664に登録するようにすれば、同じICプリペイドカードを使用しても、該ICプリペイドカードの偽造や、第三者による利用者のなりすましを防ぐことができる。
図15には、前記識別情報発生回路を使用した電子鍵を平文の暗号・復号に適用した一実施例の構成図が示されている。該暗号・復号回路に関する本願発明にかかる目的とその効果の概要を説明すれば、以下の通りである。ある元情報(平文)を暗号化するにおいて、該暗号・複号回路で該元情報を暗号化して暗号文を作成した場合、その暗号文の復号においては、暗号化に使用した秘匿鍵(電子鍵)を有する該暗号・複号回路を用いなければ復号できないというものである。該暗号・復号回路に用いられる暗号鍵の値は該暗号・復号回路の外から付与したり、書き込みが可能な記憶素子等にプログラミングしたりする必要はなく、さらにその値を読み出すことができないことを特徴とし、極めて安全性の高い暗号システムを構築することができるというものである。
集積回路700は、暗号回路701と復号回路702を搭載し、平文704を秘匿鍵703により暗号文706へ暗号化し、該暗号文706を前記秘匿鍵703で元の平文704と同じ平文705へ復号するものである。前記暗号回路701及び復号回路702は、DESやAESを代表とする共通鍵方式の方式を採用する。またDESは、暗号化と復号化に同じ装置が使えるので、集積回路の規模を小さくできる。秘匿鍵703は、主として前記集積回路04で生成される。そのため、秘匿鍵の改竄や漏洩の危険がなく、前記のような安全性の効果が得られる。
図16には、本願発明に係る電子鍵を用いた暗号通信方法ないし特定サービス提供方法の一実施例の構成図が示されている。特に制限されないが、この実施例の電子鍵は前記集積回路700を搭載したプリペイドカードとして実現される。元情報である平文710の送り手711側では、前記平文710から、プリペイドード等の形態で提供される電子鍵713に搭載された前記集積回路710の暗号化機能を使い暗号文712を作成する。その後、送り手711は、前記電子鍵713と暗号文712を、情報の受け手715へ送る。かかる暗号文712は例えばフレキシブルディスクやDVDに記録することや、ネットワーク等を介して伝送するなどの手段717を用い、電子鍵713は、手交、郵送、宅配などの移送手段716を用いる。受け手715は、前記電子鍵713に搭載された集積回路700の復号化機能を使い、暗号文712を復号して平文714を得る。
前記暗号文712が、前記伝送手段717の途中で盗聴されても、前記電子鍵713が無ければ平文714を得ることができないので安全性が高い。さらに、暗号に用いる共通鍵については、送り手もその値を知らないので、前記電子鍵713そのものがなければ、暗号文の復号は不可能である。ここでは情報の送り手と受け手が異なるとしたが、もちろん同一であってもよく、その場合、該電子鍵713は、重要な情報を暗号化した電子データの鍵として利用するものである。
図17には、本願発明に係る電子鍵を用いた暗号通信方法ないし特定サービス提供方法の他の一実施例の構成図が示されている。前図16に示される実施例の主な目的は送り手710が、受け手715に重要な情報そのものを暗号化して送り届けることであった。これに対して本実施例では、言わば前図16における重要情報を、暗号用の鍵に置き換えることである。
すなわち、図17中の送り手720、共通鍵721、電子鍵713、暗号化共通鍵723、共通鍵725、受け手726、移送手段729及び伝送手段730は、それぞれ図16における送り手711、平文710、電子鍵713、暗号文712、平文714、受け手715、移送手段716及び伝送手段717に対応している。
送り手720と受け手726は、前記図16と同様の手順によって、受け手726と共通鍵721及び725の事前共有ができる。かかる共通鍵721、725の事前共有ができた後は、該共通鍵と共通鍵暗号方式である暗復号装置724及び727を用いて、互いの平文722と728を暗号文731に変換して交換することができる。
この実施例では、共通鍵725が第三者に漏れないようにするために、電子鍵713、共通鍵725及び暗復号装置727を一つの集積回路装置又はプリペイドカードのようにプラスチックケース732に内蔵させることで、より高い安全性を得ることができる。また、前記共通鍵721と暗号化共通鍵723は、一つではなく前記ICプリペイドカードの実施例の認証子のように複数であってもよい。
図18には、本願発明に係る電子鍵を用いた暗号通信方法ないし特定サービス提供方法の更に他の一実施例の構成図が示されている。この実施例の好適な利用方法の一例は、例えばレコード会社がインターネットを介して、音楽や映像などのソフトコンテンツを正規の利用者へ配信することであり、この実施例によって本発明の目的と効果がより理解されるであろう。
該ICプリペイドカード470には、一方向ハッシュ関数が搭載されている。共通鍵750は、鍵種752から該ハッシュ関数により生成されたハッシュ値である。送り手751は事前に鍵種752と共通鍵750の組み合わせを、図示しないデータベース等に登録する。送り手751は、平文753を前記共通鍵750で暗復号装置754を用いて暗号化する。受け手756は、該ICプリペイドカード470を入手759し、同様にインターネット等から鍵種752を得、該ICプリペイドカード470を用いて該鍵種752から共通鍵756を生成する。これにより、両者は同じ共通鍵750と755を事前に共有できる。
その後、該共通鍵を用いて送り手751が暗号化した暗号文761を、暗復号装置757を用いて共通鍵755で復号して平文758を得る。上記のように共通鍵が共有されたことで、送り手751と受け手756が交代して情報の交換を双方向で行うことができる。
共通鍵755が第三者に漏れないために、集積回路装置740、共通鍵755及び暗復号装置757を一つの集積回路装置(ICプリペイドカード)762とすることで、より高い安全性を得ることができる。
図19には、この発明に係る電子鍵の利用方法の一実施例の構成図が示されている。この実施例は、インターネットを介して、音楽や映像などのソフトコンテンツを配信する場合に向けられている。
種々のコンテンツを配信する配信者は、(1) 事前準備として、前記鍵種752と共通鍵750を図示しないデータベースに登録する。配信者は、該ICプリペイドカード470を一般利用者に(2) 頒布する。(3) 該ICプリペイドカード470を(3) 購入した利用者は、(4) 前記カードリーダ121等を用いて、配信者へコンテンツの配信を(5) 要求する。(6) 要求を受け取った配信者は、要求した利用者が持つ該ICプリペイドカード470を(7) 認証するために(8) 参照値を送信する。該ICプリペイドカード470は、受け取った参照値から識別情報であるハッシュ値を(9) 計算し配信者へ(10)回答する。配信者は、受け取った識別情報と先に送った参照値が合致するか確認し、正当な利用者であることが(11)認証されれば、(12)共通鍵の共有を行うために(13)鍵種を送る。鍵種を受け取った利用者は、(14)共通鍵であるハッシュ値を計算する。これより、両者で鍵の共有ができ、暗号による通信が可能となる。利用者は、暗号を用いて(15)コンテンツを要求する。配信者は、要求コンテンツを共通鍵を用いて(16)暗号化し、(17)利用者へ配信する。利用者は、配信されたコンテンツを、共通鍵を用いて(18)復号する。コンテンツが入手できたら、(19)サービス終了要求を送り、一連のサービスの提供が終了する。
いうまでもなく、前記実施例は前記ICプリペイドカード470に関する好適な利用分野の一つであって、さまざまな方法により利用が可能である。
暗号技術において暗号化や復号化(解読)に用いられる「暗号鍵」は、暗号化に使う「暗号鍵」と復号化に使う「復号鍵」は、完全に「一致」していなければならない。(「公開鍵方式」あるいは「非対称鍵方式」と呼ばれるものは、正確に言えば「暗号鍵」≠「復号鍵」であるが、両鍵の組み合わせは厳密に定めされているので、その(組み合わせという)意味では「一致」という概念であると考える)これは、暗号技術の鉄則であり常識である。ここでいう「暗号鍵」とはセキュリティ技術や認証技術でいう「特徴を表わす鍵」ではなく、暗号技術における「数学的な意味を持つ鍵」である。つまり、前記のようなゲート回路等のしきい値電圧のミクロ的な素子バラツキを利用した識別情報発生回路で暗号鍵を形成した場合には、常に一定の情報を確実に取り出すようにするために、PROM等の記憶回路を介在させて識別情報を取り出すことが必要となるものである。
本願発明者は、本願発明にかかる様々な検討や考察から、暗号技術における「暗号鍵」に対する常識を破る新たな暗号技術を考案した。すなわち、前記ゲート回路等のしきい値電圧のミクロ的な素子バラツキを利用した識別情報発生回路で形成されたような「暗号鍵」を構成する文字列あるいは数列の一部が微妙に変化するような不安定な「暗号鍵」であっても、情報の暗号化や暗号文の解読ができるようにするというものである。
図20には、前記図25又は図27に示された識別情報発生回路で形成された識別情報800の一例の説明図が示されている。該識別情報800は、かかる識別情報発生回路の原理から、それを構成するビット情報の一部がランダムに変動する。該変動量は、該識別情報発生回路が搭載された集積回路装置の製造プロセスに依存するが、数パーセントである。つまり、識別情報がKビットで構成されているとするなら、この識別情報の中に平均で『 [K] × [平均変動量] 』の変動ビットが含まれる。いずれにせよ、該識情報800そのものを前記のような暗号技術に使用する「暗号鍵」に使用することはできない。
図21には、本願発明に係る暗号技術に使用する暗号鍵のような電子鍵の一例の説明図が示されている。一般的な「暗号鍵」は、数十から百ビットのものが使われるが、この実施例では、前図20に示した複数ビット(例えば400ビット)からなる識別情報800を、10ビットずつN=40個のブロック801に分割し、その中から4つのブロックをつなぎ合せて、40ビットに拡張したものである。該複合ブロック鍵810の組み合わせの総数は、40ブロックから4つを選ぶ組み合わせ(コンビネーション)となり、M=91、390通りである。
図22には、本願発明に係る暗号技術の原理の基本概念の概略図が示されている。平文812を暗号装置811で暗号化する際、前記識別情報800をもとに作成された複合ブロック鍵820を用いると、同じ平文812から該複合ブロック鍵820の種類と同じ数の暗号文813が生成される。その数は、前記例の場合91,390種類である。
次に復号装置814で復号ブロック鍵821を用いて、該暗号文813を復号する場合、該復号ブロック鍵821が前記複合ブロック鍵820と全く同じものであったとすれば、復号される91,390種類の平文815は、全て元の平文812と同じである。しかし、前記復号ブロック鍵821と前記複合ブロック鍵820が同一というのは本発明が想定するものではない。本発明が扱う状況とは、暗号化の時も復号化の時も、「暗号鍵」の素とするのは、あくまで識別情報800のみであって、前記暗号化並びに復号化の時点で、実質的に用いられた前記復号ブロック鍵820及び複合ブロック鍵821に関するいかなる知識もないというものである。
さらに、「暗号鍵」の素になる識別情報800は、前述のとおりその原理から、構成するビット情報が変動するため、暗号化の時点と復号化の時点で前記復号ブロック鍵820と複合ブロック鍵821は、むしろ同一であることはないという前提に立つ。しかし、前記91,390種類の複合ブロック鍵820の中に前記変動の影響を受けない複合ブロック鍵820が一つ以上あれば、正しく復号された平分815を得ることが可能である。
前記図20で説明したように、識別情報800には、ある割合で変動ビットが含まれる。そのため、該識別情報800を分割したブロック801のいくつかは変動ビットを含む。そのため、前記91,390種類の複合ブロック鍵821は、その全てが変動の影響を受けるものではなく、確率的に暗号化時の複合ブロック鍵820と同じものが存在する。つまり、復号化された平文815の中の平文1から平文Mに、前記複合ブロック鍵820と同じ複合ブロック鍵821によって正しく復号されたものが存在する。正しく復号されたものであるか否かは、平文812に予め挿入された検証符号やハッシュ値を用いたテキストダイジェスト等で確認することができる。
前記識別情報800に含まれる変動ビットの割合、すなわち平均変動ビット率が予測できれば、前記40ブロックのうち何ブロックに前記変動ビットが一個以上含まれることになるか確率的に推定できる。例えば、前記のブロック構成の下で、前記変動ビット率を5%とすると、個々のブロックに変動ビットを1ビット以上含む確率は39%である。この39%という数は、全ての識別情報800に変動ビットを1ビット以上含むブロック801が39%つまり15個(=40×39%)存在するということや、逆に変動ビットを1ビットも含んでいないブロック801の数が61%つまり25個(=40×61%)存在するということではない。あくまで無数の前記識別情報800を対象にした時の平均であって、変動ビットを1ビット以上含むブロック801の数が15以上や15以下というものも確率的に存在しうる。
前述のように、前記変動ビットの影響を受けない複合ブロック鍵820が、1個以上あれば復号が可能であるが、これは前記識別情報800のブロックに変動ビットの影響を受けないブロック801が4個以上存在することと同義である。前記のブロック構成の下で、前記識別情報800内のブロック801に変動ビットの影響を受けないブロックが4個以下となる確率は、約2×10-12(=1/5×1011=5,000億分の一)である。すわわち、確率的には5,000億個もの該識別情報800の中にようやく復号ができないものが存在するということであり、実質的に殆どの場合復号が可能と考えてよい。
ただし、これらは前記構成を前提としたもので、前記識別情報発生回路が実施される製造プロセスによって決定する前記変動率や、要求される秘匿鍵の仕様等に依存するものであることはいうまでもない。逆に言えば、前記変動率などから、前記識別情報800のビット長や、前記復号ブロック鍵の最低な仕様を決定することが可能である。
図23には、前記複合ブロック鍵を利用した暗号方式にかかる一実施例の構成図が示されている。平文834は、乱数発生器830で生成される共通鍵831を用いて暗号装置835で暗号化され暗号文839を作成する。複合鍵833は、複合鍵発生回路832で生成される前記複合ブロック鍵820であって、前記共通鍵831は、該複合鍵833で複合鍵暗号装置836を用いて、暗号化共通鍵840を生成する。前記暗号文839と暗号化共通鍵840を合体したものを、複合鍵暗号文837とする。該複合鍵暗号文837の特徴を言うならば、前記暗号文839は、共通鍵831で暗号化されたものである。かかる共通鍵831の値は乱数発生器830により非人為的に生成されたものであり、また、該共通鍵831は複合鍵833によって暗号化される。かかる共通鍵833は前記複合鍵発生回路832内の識別情報発生回路によって非人為的に決定したものである。該二つの鍵の真の値は誰も知り得ず、次に説明する方法でなければ前記複合鍵暗号文837を復号することができない。
図24には、前記複合鍵暗号文837の復号方法の説明図が示されている。前記複合鍵暗号文837に含まれる暗号文839の復号に必要な共通鍵853を得るためには、暗号化共通鍵840を復号することが必要である。さらに、該暗号化共通鍵840を復号するためには、複合鍵851が必要であるが、該複合鍵851は暗号化時に用いた複合鍵発生回路832そのものでしか生成することができないため、極めて秘匿性の高い安全な暗号システムを実現できる。
前記のような特徴を有する暗号方式を実現するためには、暗号化において必要な乱数発生回路830、複合鍵発生回路832、複合鍵暗号装置836及び暗号装置835と、復号化において必要な複合鍵復号装置852、復号装置857及び前記共通複合鍵発生回路を一つに化体した集積回路装置やプラスチックカード等に内蔵させて製造することが望ましい。
前記識別情報800に偏りや周期性があったなら、極めて脆弱な暗号方式となる。しかし、該識別情報800を発生する前記識別情報発生回路が、無秩序な識別情報を発生するもであることが、本発明にかかる作用や効果の裏付けとなっているものである。さらに、該識別情報発生回路を使用していることの利点は、PROM等の書き込み可能な回路素子を使用していないので書き換えによる改竄が不可能、同じく人為的な操作が不可能、特殊な半導体プロセスが不要(標準CMOSプロセスで実現可能)などがある。
以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、図25において、前記第2の先行技術等に示されているようにゲート回路をインバータ回路に置き換えることができる。ただし、低消費電力化を図る上では、前記のようなCMOSゲート回路を用いることが望ましい。インバータ回路を用いる場合には、その消費電流を低減させるために前記図29に示したようなクロックドインバータ回路に置き換え、動作制御信号により活性化を行うようにするものであってもよい。