(57)【特許請求の範囲】
【請求項１】
電子式携帯式媒体によって担持された電子集積回路のためのデータの解釈実行方法であって、
該電子式携帯式媒体が電子回路を備え、
該電子回路が、読み取りのため、及び該回路のメモリのアドレスに署名を作成するために、複数個のビットの集合を順次利用するように適合しており、
複合命令を実行するために、該電子回路が以下のステップを実行することを特徴とする、データの解釈実行方法。
・第一のアドレスに関連して少なくとも一つのビットの第一の集合の読み取りと、第二のアドレスに関連して少なくとも一つのビットの第二の集合の読み取りからなる、複合の読み取りであって、該第一のアドレスと第二のアドレスが複合命令のパラメータであるような、複合の読み取りステップ
・読み取られたビットの集合の連結ステップ
・該連結されたビットの集合からの、署名の作成ステップ
【請求項２】
・電子回路が読取装置に電子的に接続され、
・該読取装置が電子回路に署名準備命令を送信し、
・電子回路が連結ビットに対応するメッセージを発信する
ことを特徴とする、請求項１に記載の方法。
【請求項３】
・署名準備命令がパラメータと組み合わさり、該組み合わされた署名準備命令が電子回路に送信され、
・該電子回路において、複合命令のパラメータが、送信された前記パラメータに代えられる
ことを特徴とする、請求項２に記載の方法。
【請求項４】
・電子回路が、複合命令のパラメータを電子回路の特殊アドレスに格納し、
・該電子回路が、最初に特殊アドレスの内容を読取り、この命令のパラメータとして、特殊アドレスで読み取ったものの内容の一部を利用して複合命令を実行する
ことを特徴とする、請求項１から３のいずれか一つに記載の方法。
【請求項５】
・電子回路が、特殊アドレスの内容の別の部分について複合命令を再実行し、
・電子回路が、特殊アドレスの内容の終わりまでこの再実行を反復する
ことを特徴とする、請求項４に記載の方法。
【請求項６】
・電子回路が、特殊アドレスの内容がそれ自体別の特殊アドレスでないかを試験し、該当する場合は、
・この別の特殊アドレスの内容の一部について電子回路が複合命令を再実行する
ことを特徴とする、請求項５に記載の方法。
【請求項７】
・署名が、単純連結を用いて、読み取ったビットで作成される
ことを特徴とする、請求項１から６のいずれか一つに記載の方法。
【請求項８】
・署名が、複雑連結を用いて、読み取ったビットで作成され、
・読取と連結の後、読み取ったビットを異なるビットに変換する処理が複合命令によって行われる
ことを特徴とする、請求項１から６のいずれか一つに記載の方法。
【請求項９】
・署名が、電子回路によって、電子回路内で作成される
ことを特徴とする、請求項１から８のいずれか一つに記載の方法。
【請求項１０】
・電子回路が第一のアプリケーションに使用されるか、または第一のものとは異なる第二のアプリケーションに使用されるかによって、種類が異なる署名準備命令を、読取装置が電子回路に送信する
ことを特徴とする、請求項１から９のいずれか一つに記載の方法。
【発明の詳細な説明】
本発明は携帯式媒体に担持された電子集積回路のためのデータ解釈方法を対象とする。本発明は携帯式媒体がチップカードである範囲について説明するが、チップ式の鍵、チップ式のコイン、その他の別の形態も考えられる。本発明は媒体が読取装置と関連づけられているか否かをとわず、前者の集積回路内で起きることに関するものである。ただし、本発明をより完全な形で紹介するために、読取装置に電子的に接続可能な携帯式媒体の枠内でそれを説明する。
本発明は例えば、無線周波数発信（非接触の携帯式媒体またはチップカードの場合）、赤外線接続、その他によって、読取装置に接続されることなしに携帯式媒体がそれと関連づけられる場合にも適用される。特定の実施例において、集積回路内で生じることは読取装置との関連づけの種類によって誘導される。本発明の枠内において、データの解釈は署名によって表される。「署名」と呼ばれるのは、単純または複雑なものとすることのできる変換によって別の列から生じる、文字列、ビット列である。
本発明に関するタイプの携帯式媒体は、主としてメモリと、このメモリが読取装置を始めとする外界と通信することを可能にする入出力回路を備えた電子回路を有する。携帯式媒体の主たる特徴はその集積回路のメモリサイズが大幅に制限され、その結果、媒体の使用が限定されることである。実際、とくにチップカードの場合、カード内に埋め込まれた電子回路は機械的制約を受けるので、後者は物理的に小さくするしかない。なぜなら、大きすぎると、それ自体がカ−ドの受ける応力にさらされる：つまり壊れてしまう。このサイズの制限は、現状の製造技術を考慮すると、メモリに使える場所を限定してしまう。例えば、現状技術において、64キロバイトが現在工業的に利用できるほぼ最大の容量である。したがって、携帯式媒体の一般的問題は、これらの機械的脆弱性の概念を不問にしたとしても、容量制限の問題である。
入出力回路は特定の作業をするケーブル付きの回路、あるいはさらに好適にはプログラムメモリ内に記録されたプログラムによって動作が制御されるマイクロプロセッサを備えることができる。プログラムメモリは好適には集積回路のメモリ内に含まれている。通常、プログラムメモリ内に記録されたプログラムは変更できない部分を含んでいる。その場合、それを含んでいるメモリの部分は（記憶装置としてとくに浮動ゲートトランジスタを有する、例えば、EPROMなどの不揮発性型、または集積回路の際に実現される、マスクROM型の）リードオンリーメモリである。変更可能なプログラムの部分にはメモリ内の再プログラム可能な部分内に記録されている（実際にはこの再プログラム可能な部分は電気的にプログラム可能で消去可能なEEPROMの不揮発型のセルが含まれている）。これらの不揮発性のメモリは、しかしながら、保存されたランダムアクセスメモリとすることもでき、保存は電池によって保証される。
外界と関連づけるために、携帯式媒体はプロット（plot）の少ない（一般的に８）コネクタ、あるいは無線接続その他を備えている。いずれの場合にも、読取装置と携帯式媒体、およびその逆の伝送はシリアルタイプである。これら２つのシステムの間のすべてのデータ交換は、したがって、パラレル接続の場合と比較して低速である。この様に遅いことが使用者にとっては不便なことがある。
携帯式媒体を読取装置と関連づけを始めるときに、通常、認識と予定された取引の一種の事前承認の段階がある。周知の仕方で、この認識はこの関連づけを引き起こす携帯式媒体の所持者が承認された所持者であることの確認を含むことができる。この確認は、例えば、所持者に暗証番号（英米文献ではPIN）の提示を義務づけることで実施される。この確認は、理論的には、読取装置内で、あるいは携帯式媒体内で、あるいは両者の中で同時に開始されるアルゴリズムによって行うことができる。
さらに、所持者が承認された所持者であることを確認した後、携帯式媒体がその応用向け、あるいは読取装置によって提供される応用の一つに向けられたものであることを確認するのが適している。応用と呼ばれるのは、携帯式媒体分野では、所持者の表明した必要を満たすために読取装置のマイクロプロセッサと携帯式媒体のそれによって実行される一連の作業である。例えば、読取装置は財または役務の分配機（飲料自動販売機、駐車区域内への出入り障壁）に接続される、あるいはこの読取装置はデータバンク（例えば、航空会社への座席の予約あるいはレンタカー会社への車の予約の場合）に接続される。あるいはさらに所持者が金融取引ができるようにこの読取装置は金融機関に接続される。応用、すなわち媒体内、読取装置内あるいは読取装置に接続された装置内で実施される一連の命令は、使用者が満足を得られるこれらの使用を反映している。
したがって、読取装置および／または携帯式媒体が共同するのに適していることを確認することが適している。
この種の確認は署名と呼ばれる作業によって実施される。これらの作業には、好適には所持者の身元、カード製造番号、応用の特定のデータ、ならびに携帯式媒体の電子回路作動モードを示す特定の電子的状態に関する２進情報を携帯式媒体で採取することが含まれる。確認においては通常、後述のごとく不可欠ではないにしろ、用途に関する情報を考慮しなければならない。
この様にして採取した要素によって携帯式媒体または読取装置は署名を作成する。一番簡単な作成は採取した２進状態を併置するものである。もっと複雑な作成にはそれらのデータの暗号化が含まれることがある。この様にして作成された署名はつぎに読取装置または携帯式媒体内に記録された標準署名と比較される。確認が正であれば、つぎに応用は正常に展開することができる。
一般的に読取装置による携帯式媒体内の複数個の情報の採取は少しずつ実施される。実際、携帯式媒体の回路の操作システムは、不正利用者がカードの秘密を発見するために読取装置を操作されることを阻止するために、読取装置の自由度を制限している。少しずつしか採取できないのは取引の予備手順が長くかかるので不便である。
他方では、携帯式媒体内に一括して署名の不変要素を保存することによってこの問題の解決が試みられた。例えば、（好適にはさらには外部から変更できない）不揮発性メモリ内に、もっとも普通に要求される要素、すなわち役務供与レファレンス、カード製造番号、応用に関する特定の情報および、一般的に、暗号化のための公開または秘密鍵、を保存することが試みられた。
このため、例えば、カードのメモリ内に、カードの製造番号と、カードが異なる応用を実行できるのと同じ数だけの公開または秘密鍵を保存しなければならなくなる。ここで同一の役務供与者、例えば、銀行には複数の応用、すなわち現金引き出し、口座照会、振り込み遠隔操作、などが存在し得る。その結果、署名の構成に有用なデータが必要の都度複製され、大幅なスペースの損失が生じることがある。実際、周知のごとく公開鍵は例えば、512または1024ビット、すなわちそれだけでメモリ最大容量の２％のほとんどを使用する。
この状況には他にも不便がある。メモリサイズおよび／または取引の速度を理由として、携帯式媒体の電子回路の同一の操作システムの使用を各種の役務提供者の全員に提案することになることがある。例えば、署名がすべての供与者によって同じように構成されることを要求したくなることがあるかもしれない。最終的に公に知られてしまうこの様な手順は機密保持の保証を提供できないかも知れないことに加えて、自分の署名を好きなように配置したいという各種の供与者のもっともな要望を考慮できないだろう。
言い換えれば、携帯式媒体の製造者にとって、全員に適するような電子回路をこれら各種の供与者に提供することは、この電子回路がこの回路を使用する可能性のある供与者と同じ数だけの操作システムを含んでいない限り解決できないだろう。このことも携帯式媒体内に組み込まれた電子回路の記憶容量の制限という制約にぶつかるだろう。
最後に、読取装置とカードのメモリの間に交換がないときでも、このカードの集積回路の構造上の制限は重大な障害となる。したがって、例えば、カードのマイクロプロセッサは入力データの処理のために、データ入力レジスタを備えている。
スペースの理由から、これらのレジスタは限られたサイズのものであることがある。したがって、それらの限られたサイズはあまりに大きなデータの処理には不十分なことがある。例えば、かかる入力レジスタは２バイトで作業し、一方署名の構成には４または10バイトのデータが必要になるだろう。この様な場合、応用のプログラムによってかかる状態の結果を管理する、すなわち反復を組織する余地がある。これは機密保持上不便である、なぜならその取り扱いが本来保護されなければならないデータの処理を応用プログラムに任せることになるからだ。本発明の一つの目的はカードのマイクロプロセッサのオペレーティングシステムにおける単純化を構成することである。
本発明の目的は２つの追加の特徴を有するデータ解釈方法を推奨することによってメモリ容量の制限、交換の遅さ、および管理の複雑さというこれらの不便を解消することである。一方において、解釈に必要な要素の作成はパラメータ化できる。他方で、携帯式媒体の電子回路はこれらのパラメータを受信し、また少なくとも、署名作成の前にこれらのパラメータに対応するデータを連結するのに適したオートマトンを備えている。
例えば、現状技術のように、回路のメモリ内で、ビットの最初の集合の採取を読取装置に要求させ、ついでそれらを受信した後、ビットの第二の集合、および以下同様に採取を要求させてから署名を作成するか、作成させる代わりに、署名、本発明においては、読取装置によって送られた要求は、回路の領域で動的に解釈される単一の複合要求である。回路のオートマトンはこの一意の要求を解釈し、必要なデータをまとめ、それらを読取装置に提供して（インターフェイス上でそれらをそれに伝送して）読取装置に署名を作成させるか、あるいは変型として、オートマトンがそれ自身で署名を作成する。あるいはまた、オートマトンは回路のマイクロプロセッサに署名を作成させる。
この様にして得られる利点は、署名が記憶された要素の単なる併置である場合、可能である媒体使用と同じ数だけ署名要素の複製を保存する必要がないことである。本発明において、署名は動的に構成されるか、必要なときだけ、その構成のために準備すべき要素が集められる。この様にして恒常的保存は実時間構成に置き換えられる。
改良において、構成すべき署名の種類に応じてパラメータ化された命令を送る代わりに回路のメモリ内に命令パラメータが記録される。署名に有用な要素の準備のために、この場合、読取装置が回路に対してこれらの命令パラメータの中の実行されるべきものを指定するだけで十分である。指定されたパラメータはメモリ内で採取され、ついでオートマトンに適用される。この場合好適には、オートマトンはマイクロプロセッサを含むだろう。回路のメモリで読み取られたパラメータによってオートマトンがいったんパラメータ化されるとパラメータ内で指定されたような署名を構成するのに必要なデータ要素を探しに行って命令を実行する。
したがって、本発明はとくにチップカード型の、電子式携帯式媒体によって担持された電子回路のための、
・回路のメモリのアドレスで複数個のビットの集合を順次読み取り、
・読み取ったこれらのビットの集合から署名を生成するデータ解釈方法において、
・第一と第二のアドレスが複合命令のパラメータである、第一のアドレスに関する少なくとも一つの第一のビットの集合の読取りと第二のアドレスに関する少なくとも一つの第二のビットの集合の読取りを含む複合読取りを回路内で複合命令によって引き起こし、
・複合命令によって、ビットの第一の集合とビットの第二の集合を連結する、
・連結されたビットによって要求された署名を作成する：
ことを特徴とする方法を目的とする。
本発明は以下の説明を読み、付属の図面を検討することでもっとよく理解できるだろう。図面は参考のために例示されたものであり、本発明を一切制限するものではない。
図１は本発明の方法を実施するのに使用できる集積回路の構造である。
図２は集積回路と読取装置の間の伝送の場合に本発明による方法を実施するのに使用できる読取装置と携帯式媒体である。
図３は本発明の異なる過程のフローチャートである。
図４は本発明の方法の実施の変型における読取り要求を構成するメッセージの説明図である。
図５は本発明、とくに本発明の方法の別の変型を実施するための携帯式媒体の回路の構造の概略図である。
図１は本発明の方法を実施するのに使用できる集積回路の構造を示している。その中のマイクロプロセッサ１はデータ、アドレス、およびコマンドバス６を介して、プログラムメモリ２、データメモリ３とそれぞれ入力と出力の２つのレジスタ４と５に関連づけられている。署名（ビット列）の作成のために、現状技術では、プログラム７は必要なだけの命令を含んでいなければならない。本発明によれば、これらの命令はパラメータA1,・・・,Anと組み合わされた複合命令OCに取って代わられる。簡略化のためにこれらのパラメータは署名の構成に使用されるそれぞれ集合1,集合2,・・・，集合ｎのビットの集合がある、例えば、メモリ３内のアドレスを表している。
複合命令には基本的に次のマイクロ命令が含まれている：
・命令OCの１またはｍ個のパラメータの読取、
・命令OCによって読み取られたアドレスに位置する必要なビットの第一の集合の、例えば、メモリ３内の、採取、
・レジスタ４内へのこれらのビットの集合の読み込み、
・マイクロプロセッサ１によるこれらのビットの集合の処理、
・処理されたビットのレジスタ５への転送、
・複合命令OCに組み合わされたパラメータの完全な使用まで、次のビットの集合についてこの一連のマイクロ命令の反復。この反復には処理された１つまたは複数のパラメータが最後であるか後続があるかの試験が含まれる。
例えば、２バイトの入力レジスタ４がある集積回路の所与の構造については、ビットの集合がそれぞれ１バイトになると仮定して、複合命令OCは例えば、アドレスA1とA2から開始して、指定されたビットの集合の２つずつの（ここでｍ＝２）処理を引き起こす。ついで、すべてのパラメータA1−Anが利用されるまで、次のパラメータの２つのアドレスのビットの集合を採取する。
この様にして引き出された一連のマイクロ命令の連続は実際にはマイクロプロセッサ１のオペレーティングシステムの命令OCによって表される。変型では、シーケンサを備えたケーブル付きの回路、またはループになったシーケンス回路は、集積回路のオペレーティングシステムに命令OCを組み込みたくないときに使用できる。
マイクロプロセッサ１内で実行される処理はそのもっとも単純な形、すなわち何もなしに還元できる。この場合、レジスタ４（レジスタ５と区別しないことさえできる）内の実行が反復の結末である。実際、命令OCの実行は本質的に連結である、すなわち集合１のビットと集合２からｎのビットとの、あらかじめ定められた順序での併置である。
改良において、パラメータの役割を果たすアドレスA1,・・・,Anの集合は論理基準または特殊アドレスＸに代えられる。メモリ３内、またパラメータの特殊な別のメモリ７の中においてさえ、使用可能なアドレスA1,A2,・・・,Anが保存されている。使用可能な特殊アドレスＸが一つしかないとき、このアドレスＸは命令OC内にパラメータとして明白に存在する必要さえない。ただ暗黙に存在すればよい：そのとき命令OCは特殊アドレスＸの内容の読取りから始まる。しかし複数の特殊アドレス、例えば、ＸとＹが存在することがある。この場合、命令OCはこれらの特殊アドレスＸまたはＹの、処理するビットの集合のアドレスA1,A2,・・・,AnおよびB1,B2,・・・,Bnが存在する一方または両方によってパラメータ化される。
一つまたは複数の特殊アドレスがあるとき、命令OCは処理すべき次のパラメータ（A1、A2またはＸ）が特殊アドレスに対応するか否かを検出するための追加のマイクロ命令を備えている。例えば、特殊アドレスはビットの特定の確認を含むものである。特殊アドレスであるか否かの検出のためのテストのマイクロ命令は例えば、メモリ７のアドレスＸに、このアドレスでのパラメータの最後の場所に、アドレスAnではなく、（パラメータの別の集合B1からBnの処理を送り返す）別の特殊アドレスＹを積み込むことができるように命令OCの反復ループ内に組み込むことさえできる。
特殊アドレスが存在する場合、このとき命令OCは反復に先立って、あるいはそれにつれて、それ自体が当該特殊アドレスＸに含まれた、アドレスA1,・・・,ANの内容の読取りを含んでいる。
アドレスまたはパラメータの一部は命令OCに組み込むことが可能であり、別の部分または全体が回路外の伝送に由来することができる。そのことを以下に詳述する。
図２は本発明による方法を実施するのに使用できるシステムを示す。このシステムはチップカード８のような携帯式媒体の集合を備えている。このチップカードはカードの表面に現れた接触プロット10に接続された電子回路９を備えている。これらの接触プロット10は電子回路９を外界と関連づけるのに用いられる。しかしながら、この関連づけは携帯式媒体の本体内に埋め込んだ、あるいは場合によっては電子回路９の表面に含まれるアンテナ11によってさえも実施できる。
カードは読取装置12と関連づけられるものである。ここで、関連は電子的接続であり、接触プロット10が読取装置12の接触プロットと接触する。読取装置12は、義務ではないが、一般的にキーボード13と画面14を備えている。一般的に読取装置12はマイクロプロセッサを備えている。画面14に表示されるメッセージは取引きをするか、その展開についての情報を与えることができる。読取装置12は、例として、役務提供装置15（駐車場の出入り）、財物提供装置16（飲料販売機）、または（文書または金融）データベースを構成する装置17と関連づけられる。読取装置12はこれらの装置の一つだけ、あるいは複数と関連づけることができる。ここで検討する接続は実時間接続である。しかしそれは遅延時間接続であっても良い。読取装置と装置の間の接続は必ずしも物理的ではなく、無線伝送チャネルによる通過その他を含むことができる。
媒体８と読取装置12の間の交換モードには主として２段階が含まれ、一つは図３に総括的に図示した認識段階であり、もう一つは装置15から17との取引段階であるが、従来通りなので本書では説明しない。認識段階には一般的に装置の所持者の確認と、媒体８と読取装置12が実行したい応用に適合することの確認がある。
図３は応用に関する確認の前の所持者の事前確認を示している。しかし、これらの確認の順序を逆転することも当然可能である。さらには所持者確認を開始しないことさえ可能である。開始した場合、その展開は次の通りである。最初に、媒体８が読取装置12に接続される。接続されたときに、リミットスイッチ型の検出器が媒体の導入とその読取装置12への接続を確認する。
つぎに、一つの例において、回路９が取引を開始し、暗証番号（PIN）に関する情報要求を実行する。実際には、回路９はこの様な要求を引き起こすために読取装置に向けてメッセージを発信する。この要求は、所持者に対してキーボード13から自己の暗証番号の要素を入力することを求めるメッセージが画面14に現れることで実現される。場合によっては、画面14にメッセージが現れるのは回路９からの明確な要求の結果ではない。その場合、読取装置12が取引の権限を持ち、この場合回路９は受信待ち状態になる。つぎに作業者が自分のPINコードを入力する。
次の過程において、所持者の個人識別情報は確認のために読取装置によって媒体に送られる。記載した実例では、確認は回路９内で実現される。しかしながら、確認モードを逆転して、回路９によって読取装置に所持者の（理論的）身元に関する情報を送信させ、読取装置内でこの２つの情報源を比較することも可能である。
実際には、この確認原理ははるかに複雑な仕方で実施される。なぜなら、所持者の身元確認のための読取装置12と回路９の間の交換は送信するメッセージを暗号化した後にしか行われないからである。
確認が終わると、確認装置は不成功の場合は拒絶メッセージを出し、反対の場合には後続作業に移行する（場合にはよっては、この最初の確認の正しい特性に関する画面14に表示可能な情報を出す）。
一つの例において、回路９はつぎに読取装置に対して画面14に表示するメニューを送る。メニューは媒体８と読取装置12から利用可能なすべての応用について知らせる。例えば、媒体が、VISA、またはMASTERCARD、またはCB（カルト・ブルー）タイプの銀行取引カードである場合、この応用の種類を表すメッセージを媒体８によって読取装置12に送ることができる。媒体８が多機能型の媒体である場合、装置15によって管理される駐車場への出入り機能、装置16の窓口23による財物の供給機能、データベース17への接続による銀行取引機能、あるいはその他の機能など、利用可能なすべての機能が表示される。それぞれの機能は画面14上の表示によって、一般的にはそれを記載する明確な言語の１行によって表される。カードの中の利用可能な機能は読取装置12によって同時に提示できない限り表示されない。
作業者は打鍵盤13の照合装置によってメニューのオプションを指定し、例えば、この打鍵盤の「ENTER」キーを押すことによってその実行を要求する。この条件で、読取装置12のマイクロプロセッサは当該応用を通知される。このとき読取装置は回路９に媒体８が当該応用をきちんと実施できることを確認するために特定の署名を準備することを要求する。
打鍵盤13と画面14がない場合、当然、装置15から17の一つだけが読取装置に接続される。この場合選択の余地はない。この場合読取装置は回路９からメニューを受信する必要はない。この場合にも読取装置は媒体にどのタイプの署名を実行させなければならないか知っている。
図４と図５はそれぞれ読取装置12から回路９に送られる署名準備命令の構造と、本発明によって、対応して回路９によって実施される作業を示している。回路９は、一般的な場合、図１に示したごとく、マイクロプロセッサ１を備えている。マイクロプロセッサ１はデータ、コマンド、およびアドレスバス６によって作業プログラムを含む第一のメモリ２に接続される。回路９は同じバスに接続された１セット18のデータメモリ、一つまたは複数のダイナミックメモリレジスタ（RAM）４、およびコネクタ10に接続された入出力インターフェイス19も備えている。その原理において、回路９のマイクロプロセッサはバス６とともに、メモリ２内に命令を探しに行き、それらを処理し、メモリであるかインターフェイス19であるかを問わず（通常命令コード内に示されている）その宛先にそれらを送ることができる。
例として、プログラムメモリ２内に上述の所持者確認に対応するマクロ命令PINを示した。本発明によれば、プログラムメモリ２はさらに本発明による署名作成のための複合命令OCを備えている。
読取装置12が複数の命令をカードに送ることができるとき、署名準備命令がそれによればこの命令自体が署名準備命令OCである表示を含んでいることが必要である。図４のエリア20において、送信された命令はしたがって、指定OCを含んでいる。反対に、例えば、読取装置が一つのことしかできない、応用15の特別な場合、それが署名の命令OCを送信する必要さえないだろう、なぜならそれが要求し得ることはまさに署名しかないからである。しかしながら、一般的に、署名準備要求命令はこのための表示OCを含んでいるだろう。簡略化の理由のために、本出願において、伝送されるメッセージの種類を明確な言語（OC）で表示した。もちろん現実にはビット列が送信されるので、明確なそれぞれの表現は２進でコード化される。
署名準備命令はさらに少なくとも２つのビットの集合のアドレス指定、すなわち２つのパラメータを備えるだろう。一般的にはｎ個のパラメータがあり、ｎは２以上である。これらのパラメータは集合18のメモリの中の指定すべきアドレスについて、また好適な例において、これらの指定アドレスから採取すべきビットの量について教示する。例えば、第一のパラメータはアドレスADR1とビットのロットの指定:DES−lot−１に関するものである。一つの例において、指定ビットのロットはアドレスADR1で利用可能なビットの全体である。この例において、これらのビットはカードを使用した役務供与者の身元を表している。例えば、それは銀行であり、（コード化された形での）銀行の名称と参照番号（レファレンス）であるだろう。しかしながら、アドレスADR1のビットの一部しか採取しないことも可能である。もし、とくに、これらの名称と参照番号が数バイトにわたるときは、１バイトしか、あるいはこの名称の連続する数バイトしか考慮しないことも可能である。当面、第一引数のデータを採取するメモリ18内の場所を指定することが問題になる。
準備命令にはメモリ18の別の部分、あるいは場合によっては、もう一度、しかし、おそらくは、異なる指定されたバイトの選択、あるいは同一の選択で、指定された同一部分を同じ仕方で指定する少なくとも一つの第二の引数の指定を含んでいる。
実際には、集合18の関連する異なるエリアは、エリア21について、役務供与者とカード製造番号に関する情報を含むエリアである。エリア22は応用に関する情報、例えば、装置16によってカードで役務を受けることのできる窓口23の番号、あるいは単に当該応用のために実施されるプログラムに関係することができる。第三のエリア24にはカードに固有のその他の情報、例えば、（カードの電気接続のセッションの都度新規に発生した）乱数、またはそれによってカードがその作成以来使用された回数を単に示す作業計数器を保存することができる。この例において、メモリのエリア21、22、と24は一回だけプログラム可能なOTP型（One Time Programming）のメモリセルEPROMを元にしたリードオンリメモリ型のエリアになるだろう。エリア22はむしろ消去可能で書き込み可能な、EEPROM型のメモリセルで構成される。エリア24は乱数のためには揮発性で、ダイナミックスタティックの計数器の場合は不揮発性のメモリセルで構成される。
その異なるパラメータによる署名準備命令がいったん回路９に送られると、回路はそのマイクロプロセッサ１内にそれを受信する。マイクロプロセッサ１はつぎにメモリ２を調べてそれが受信した命令OCに関するマクロ命令を引き出し、ついで実行する。この命令OCは、本発明の場合、例えば、エリア21内で、アドレスADR1にビットのロット１を、例えば、エリア22内で、アドレスADR2にビットのロット２を、以下同様にしてアドレスｎにビットのロットｎを採取しに行くことから成る。つぎに、署名準備命令内でそれが要求された命令内にそれをまとめる。
この命令内のかかる集合を連結と称する。実際には、それは例えば、（ａ＋ｂ＋ｃ）ビットの単一の語を構成するａビット、ｂビット、ｃビットなどのいくつかの数の語から成る。この単純な方式に合致する単純連結と、開始語の連続するビットが連結された語の中に連続するスペースを持たないことができる複雑連結がある。場合によって特定の語について、連結された語の中で、それらの２進の重みが逆転される。その他の組合せも可能である。さらに、連結の構成の際に、連結された語の末尾に追加する鍵を計算することも可能である。さらに、いくつかの場合、採取した語についてさらに複雑な処理を行うこともできる。複雑な作業は通常厳密な意味での署名である。かかる署名は、前もって知られた所与のアルゴリズムによって、採取したビットを表す２進列を生成することから成る。本発明において、複合命令OCとは、厳密な意味での署名自体のパラメータ内に指定されたすべてのビット列の準備を少なくとも意味する。さらに必要ならば、アルゴリズムの実行が介在する。それはマイクロプロセッサ１によって実行される。
読取装置によって署名（アルゴリズム実行）が実行されたとき、連結されたビットは作業25の際に（図３）読取装置に送られる。この送信は複数の形を取ることができる。第一にマイクロプロセッサ１または本発明の署名準備作業を実行するオートマトンは十分高速なので、大きなレジスタ５内に連結した語全体を保存する必要がない。この場合、連結された語のビットは読取装置12に向けてインターフェイス19のエリア21、22と24の外へマイクロプロセッサ13によって抽出されるにつれて送信される。簡略化のために、それらをまずレジスタ５（あるいは処理がないときは４）内に保存することが好ましいかもしれない。ビットが読取装置12によって受信されると、過程25の後で、読取装置は単純または複雑なものとすることのできる厳密な意味での署名を実行する。ついでこの署名が読取装置12内の別途に媒体８によって供給されたか、あるいは既知である基準署名と比較27される。比較27が終わると、後続の取引は読取装置12で実行することができる。あるいはこの確認に失敗すると拒絶メッセージが出される。
変型として、署名が媒体８によってなされた場合、先の場合と同様に連結に応じて、メモリ21、22と24内で採取した要素がバス６に置かれるにつれて直接処理を行うこともできる。しかしながら、過程28で、連結された語を媒体の揮発性メモリ（RAM）または不揮発性メモリ（EPROM）内に保存させることができる。ついで次の過程29で、媒体８は前もって備えられたアルゴリズムに従って署名を試みる。後の過程30において、実施された署名が予想された署名に合致することが確認され、読取装置12のように、取引が継続されるか、拒絶によって取引が失敗する。
図３において、ダッシュで示した接続は、記載のいくつかの過程の、本発明による選択的な特性を示している。本発明の特徴は異なる種類の署名について署名準備を可能にすることにある。例えば、銀行用途において、カードがある種類であるか別の種類か、例えば、VISA、MASTERCARDまたはCB型であるかによって、（その種類の認識後の）読取りによってカードに送られた図３の命令はしたがって、パラメータ命令になる。とくに、連結における情報の組織と整理命令は採用された応用の種類、認識された銀行の種類に依存するだろう。
この様にして送信されたコマンドは署名の要素を準備することが問題であることを示す第一の文字列20 OC、またはOC VISA、またはOC MASTERCARDを含んでいる。コマンドの同じメッセージの中の次の（あるいは前の）部分31は署名の異なるパラメータについて教示する。図３に示したコマンドはもちろん従来の標識ビット32と33によってカプセル化することができる。
コマンドの一部20は、先に述べたごとく、読取装置が一つのことしかできない、つまり署名に貢献するこしかできないとき、不要な場合がある。同様に回路９内の受信において、この部分20は、例えば、回路９が所持者確認作業の終了時に待機に置かれた後取引を開始したときに読取装置が実行できる唯一の要求であるときは不要である。
同様に、部分32と33はコマンド定義に貢献することができる。開始（START）、発信または同期情報を表すビット列32は、発信されない命令OCに代わることができる。要求されたパラメータの数は（要請されたアドレスとは独立して）用途ごとに異なることがあるので、コマンドの終了33は署名の作成に貢献すべきパラメータの総数を暗に示すことができる。最終的に、読取装置から回路に送られるメッセージの中で唯一不可欠なのは、いずれの場合にも、署名に必要なパラメータである。回路９内では署名準備オートマトンだけが必要であり、署名自体は回路９または読取装置12あるいはさらに両者の共同でうまく実施できる。
改良において、読取装置は上述のパラメータ１からｎを回路９に送ることさえしない。署名準備作業のために、準備すべき署名の種別の指定を送信するだけである。このように、VISA、MASTERCARDまたはCB型の用途であるかに応じて読取装置は、メッセージの部分20と31の代わりにそれぞれ命令OCとVISA、MASTERCARD、CBまたはその他に関連する情報を送信するだろう。定義上、VISA、MASTERCARDまたはCBは必要なパラメータが採取される特殊アドレスＸ、ＹまたはＺを表している。種別が異なる署名の命令に組み合わされたこの指定を受けるマイクロプロセッサは、特別署名作業の際に、追加の事前作業を実施することになる。この特別署名準備を実施するためにマイクロプロセッサ１はまず、好適には使用者によってプログラムできないリードオンリーメモリ型の、メモリ34の特殊アドレスエリア内に、当該用途の指示に対応するパラメータ情報１からｎ、またはｐからｑ、または・・・ｖからｗを探しに行く。
言い換えれば、この様にして、回路９と読取装置12の接続の間で、メッセージ31の、場合によっては長い、すべての部分を送信する必要が避けられる。部分20はその操作システムがそれを待機しているか否かによって、回路９の必要に応じて送信される。それを待機していない場合、それが開始することができる作業の時系列がその操作システムによって管理されている。回路９内のバス６は反対にパラレル型のバスなので、先に述べた署名準備作業の実施は、マイクロプロセッサ１がインターフェイス19からパラメータを受信する代わりにそれをメモリ34内で読み取るならばはるかに高速になる。メモリの占有に関して、それぞれのパラメータは４バイトに等しくすることができる：読み出されるメモリ21、22または24の一部の開始アドレスの２バイトとこの部分の終わりのアドレスの２バイトである。つまり４バイトの実際上の限度である５ないし６個のパラメータについて、最大20バイトが占有されるが、変型として連結準備構造が回路９内に記録される。これと比較して、現状技術では秘密鍵、または公開鍵を記憶するだけでも128バイトが必要である。
最後に本発明は現状技術に比べてさらに２つの利点がある。まず、媒体と読取装置12の間の交換が制限されるので、第一に媒体と読取装置の間で伝送されたビットの改変の恐れが減り、したがって、不正利用者が何を起こしているかを知る可能性が減る。
第二に、本発明は供与者の必要に応じて、作成する署名の種類を変更することを可能にする。なぜなら、署名のためにプログラムメモリ２内に記録されたオートマトンの機能は開始させるだけで十分であり、それはメッセージ20、31内に命令OCが受信されたときにマイクロプロセッサ１によって実行される。命令OCは署名に有用なパラメータ、つまりA1からAnを知るだけでよい。役務供与者が自己の応用の確認作業の種類を代えようとするとき、供与者は当該読取装置12内で自己の署名命令のパラメータ構成を変更するだけでよい。変型では、メモリ34を（必要に応じて特定の条件の下に）書き込み可能として当該応用のためにそこに書き込まれたパラメータの種類を変更することもできる。
特定の場合、複合命令は、順次連結に加えて、暗号化アルゴリズムを、例えば、そのパラメータがその上で暗号化された結果が計算されなければならないメモリのデータを指定することになるRSAアルゴリズムを実行することができる。
【図４】
0003671238.tif 000002
【図１】
0003671238.tif 000003
【図２】
0003671238.tif 000004
【図５】
0003671238.tif 000005
【図３】
0003671238.tif 000006