説明

電子ファイナンシャルトランザクションカードおよび方法

セキュアプロセッサにゼネラルプロセッサを伴ってペアとなる随伴的なプロセッサのシステムが提供される。セキュアプロセッサは、例えば、信号ポート、電源ポート、および接地ポートを備える。ゼネラルプロセッサは、例えば、信号ポートを経由してセキュアプロセッサと通信しようとするときに、電源ポート、接地ポート、セキュアプロセッサのそれぞれの少なくとも1つに、電力と接地のうちの少なくとも1つをセキュアプロセッサのそれぞれ電源ポートとグランドポートとに直接的または間接的に適用することにより、セキュアプロセッサの電源を入れるように動作する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、電子セキュリティに関し、特に、スマートカードのようなセキュア電子トランザクションカードに関する。
【背景技術】
【0002】
電子セキュリティについては、非常の多くのアプリケーションが存在する。例えば、セキュリティは、ファイナンシャルトランザクション、あるいは種々の物理的および非物理的なリソースへのアクセスを提供することに対して要望され、求められる。電子セキュリティに大きく関係する分野は、例えばクレジットカードやデビットカードのように、ファイナンシャルトランザクションの領域である。
【0003】
標準的なクレジットカード、デビットカードや他のファイナンシャルトランザクションカード(以下「トランザクションカード」という)は、典型的に、16桁のアカウントナンバや他のデータがエンボス加工されたプラスチックボディを有する。磁気ストライプは、通常「ストライプ」として参照され、カードの背面に固定され、そしてまた、アカウントナンバや他のデータを含んでいる。ストライプは、トランザクションカードが、以下「レガシーカードリーダ」として参照されるカードリーダによって読み取られることを可能にする。
【0004】
標準的なトランザクションカードには、多くのセキュリティ問題が存在する。1つには、ストライプは静的であり、暗号化されておらず、泥棒にトランザクションカードを「盗む」ことを許してしまう。また、盗まれた標準的なカードは、カードが取り消されるまで泥棒によって自由に使用され得る。
【0005】
セキュリティの欠如に加えて、標準的なトランザクションカードはまた、記憶容量が極めて限られている。この問題に当たるため、スマートカード、すなわちオンボードプロセッサとデジタルメモリを含むトランザクションカードが開発されている。オンボードプロセッサおよびデジタルメモリを提供することにより、トランザクションカードは、暗号化、ユーザ情報の保存等のようなセキュリティプロトコルを実行可能にする。
【0006】
スマートカードに対する共通規格は、ISO7816規格として参照される。このプロトコルに従い、スマートカードは、組み込まれたセキュアプロセッサにつながれた、導電性があり、かつ外部からアクセス可能な多くのコンタクトパッドを含む電子インターフェースとともに提供される。スマートカードは、電力とセキュアプロセッサとの通信を供給するために、コンタクトパッドとの電気的な接触をなすスマートカードリーダに挿入される。スマートカードはまた、セキュアプロセッサといかなる情報のやり取りをも行わない標準的なストライプを含むことができる。
【0007】
海外で広く採用される間、スマートカードは、アメリカ合衆国においては大々的に採用されてはいなかった。この大きな理由は、スマートカードのセキュアプロセッサと通信をすることができないレガシーカードリーダについて何百万の業者によってなされた投資にある。また、ISO7816規格に従うスマートカードは、厳しく制限されたI/O、レガシーカードリーダを伴う「スマートな」トランザクションの提供不能等を含むことで、自らの制限に悩まされている。
【0008】
第3のアプローチは、今はまだ使われていないが、ゼネラルプロセッサやレガシーカードリーダとともに動作するストライプエミュレータを用いる。ここで用いられる「ストライプエミュレータ」という用語は、レガシーカードリーダに送信されたデータがゼネラルプロセッサの制御の下で、変化可能となるトランザクションカードを参照するであろう。この第3のアプローチは、ここでは「エミュレータカード」として参照されるであろう。
【0009】
エミュレータカードは、標準的なクレジットカードを超える多くの独特な有利性を潜在的に備える。一例として、単体のカードは、多くの異なるトランザクションカードをエミュレートでき、利用者の財布の嵩を大きく減らすことができるものである。例えば、エミュレータカードは、VISAカード、マスターカード、およびATMカードをエミュレートできる。また、エミュレータカードはプロセッサを含んでいるので、セキュリティ機能のような付加的な機能を実行することができるようになる。
【0010】
しかしながら、エミュレータカードは、また、自らの限界を有する。一例として、ゼネラルプロセッサが使用されるので、カードのセキュリティレベルが低下する。例えば、ハッカーは、潜在的にセキュリティがかけられていない電子メモリに記憶されたデータを得ることができるようになる。また、エミュレータカードは、レガシーカードリーダとともに作動するよう設計されているので、スマートカードプロトコルを取り扱うことがない。例えば、標準的なクレジットカードと同様に、データはエミュレータカードからレガシーカードリーダへと流れ、その逆はない。さらに、エミュレータカードによって供給され得る情報は、標準的なストライプが保持でき、レガシーカードリーダが読み込みできる多くの情報によって制限される。
【0011】
これらと先行技術の他の制限は、以下の記載を読み、図面を検討することで当業者にとって明白なものになるであろう。
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明の目的は、セキュアプロセッサと、これと随伴するプロセッサとの結合を提供することによる改良された電子セキュリティを提供することである。より具体的な目的は、ファイナンシャルトランザクションカードの先行技術の制限を解決するために、この新規な結合を用いることである。さらに、より具体的な目的は、改良されたI/O性能を伴うスマートカードを提供することである。さらに、もう1つのより具体的な目的は、改良されたセキュリティ性能を伴うエミュレータカードを提供することである。
【課題を解決するための手段】
【0013】
一例において、改良されたスマートカードは、カードボディ、セキュアプロセッサ、ゼネラルプロセッサを含む。カードボディは、信号ポート、電源ポート、および接地ポートを含むとともに外部からアクセス可能なカードインターフェースにより提供され得る。セキュアプロセッサは、カードボディにより運ばれ、そして、信号ポート、電源ポート、および接地ポートに接続される。ゼネラルプロセッサもまた、カードボディによって運ばれ、電源に接続され、セキュアプロセッサが改良されたスマートカードモードにおいて使用されるときに、電力をセキュアプロセッサに供給しかつセキュアプロセッサと通信するよう動作する。
【0014】
ある例において、セキュアプロセッサはISO7816規格に従うスマートチッププロセッサである。他の例において、セキュアプロセッサは、他の規格に従うものであり、または事実上専有的である。もう1つの例において、ゼネラルプロセッサは、複数のI/Oポートを有する。これらのポートは、ディスプレイ、スイッチ、およびストライプエミュレータのような装置のためのI/Oを提供できる。
【0015】
もう1つの例において、セキュアトランザクションカードは、セキュアプロセッサを運ぶカードボディ、ストライプエミュレータおよびゼネラルプロセッサを含む。ゼネラルプロセッサはストライプエミュレータとセキュアプロセッサとの間に直接的な接続がないようにするために、セキュアプロセッサとストライプエミュレータとの間に介入させられる。
【0016】
ある例において、ゼネラルプロセッサは、セキュアプロセッサに選択的に電力を与える。例えば、ゼネラルプロセッサは、セキュアプロセッサに直接的に電力を与えることができ、あるいは、セキュアプロセッサに電力が与えられるようにさせる。もう1つの例において、セキュアプロセッサは、ISO7816に従う。もう1つの例において、セキュアトランザクションカードには、スイッチやキーボードのような入力装置や、LEDやフラットパネルディスプレイのような出力装置が提供される。
【0017】
トランザクションカードのセキュリティアプリケーションに加え、一般的に適用可能な電子セキュリティアプリケーションであるもう1つの例において、随伴的なプロセッサシステムが提供される。随伴的なプロセッサシステムは、セキュアプロセッサをゼネラルプロセッサに組み合わせる。セキュアプロセッサは、例えば、信号ポート、電源ポート、および接地ポートを含み得る。ゼネラルプロセッサは、この例において、信号ポートを経由してセキュアプロセッサと通信しようとしたときに、電力と接地のうちの少なくとも1つをセキュアプロセッサのそれぞれ電源ポートとグランドポートとに直接的または間接的に適用することにより、セキュアプロセッサの電源を入れるように動作するものである。
【0018】
トランザクションカードのセキュリティアプリケーションに加え、一般に適用可能な電子セキュリティアプリケーションのもう1つの例において、セキュアトランザクションを提供するための方法が開示される。この方法は、限定されない例として、所望のトランザクションの始動におけるゼネラルプロセッサを伴うインプットを検索すること、ゼネラルプロセッサの指示を受けてセキュアプロセッサに電源を入れること、および、すくなくとも1つのセキュアトランザクションを提供するセキュアプロセッサ、を含む。これらと他の目的および有利性は、以下の記載を読み、そしていくつかの描かれた図面を検討することにより、当業者にとって明らかとなるであろう。
【発明を実施するための最良の形態】
【0019】
既述のように、電子セキュリティについては、非常に多くのアプリケーションが存在する。多くのアプリケーションのうちの1つは、ファイナンシャルトランザクション、すなわち、クレジットカードやデビットカードのようなトランザクションカードを使用するファイナンシャルトランザクションについてのセキュリティを提供するためのものである。以下の実施例において、改良された電子セキュリティのための他の使用が本発明の本質および範囲内にあるという理解を伴って、重要点がトランザクションカードセキュリティに置かれるであろう。
【0020】
図1は、一実施例における熱可塑性材料(他の材料も意図される)を典型的に含んでいるカードボディ11を含むトランザクションカード10の一実施例である。この限定されない例におけるトランザクションカード10は、電子インターフェース16が提供される前面12を有する。図示される電子インターフェースは、多くのコンタクトパッドを含み、好ましくは、参照によって本明細書に組み込まれる国際標準化機構の「スマートカード」規格ISO7816に従う形態に構成される。この実施例において、トランザクションカードは、レガシーモードのスマートカードに利用可能である。他の実施例において、インターフェース16は、省略されてもよい。また、示される前面12は、インスティチューションアイデンティファ18、インスティチューションナンバ20、アカウントナンバ22、クライアントネーム24である。アカウントナンバは、好ましくは、クレジットカードの刷込機械のために浮き出た数字を提供するように、トランザクションカード10上にエンボス加工されている。
【0021】
図2はトランザクションカード10の例の背面14を示している。この実施例において、磁気ストライプエミュレータ26は先行技術のレガシー磁気ストライプリーダと通信可能な背面14上に備えられる。カードの後ろ14はまた、オン/オフボタン28、「オン」インジケータ30、および「オフ」インジケータ32を備え得る。この実施例においては、「オン」インジケータ30は緑色LEDであってもよく、そして「オフ」インジケータ32は赤色LEDであってもよい。また、置かれるカードの後ろ14は、多数のインターフェース34であり得る。それぞれのアカウントインターフェース34は、好ましくはアカウントインジケータLED36とアカウントセレクタスイッチ38を備える。それぞれのアカウントインターフェース34はまた、例えば、アカウントを証明する印刷された情報と暗号化されたデータを有する。背面14はまた、この例において、インスティチューション40、インスティチューションアイデンティファ41、署名ボックス42、様々な他の任意の印刷された情報を有する。
【0022】
図3は、回路構成の一例のブロック図であり、限定されないトランザクションカード10の例として表される。この例において、トランザクションカード10は、セキュアプロセッサ44、ゼネラルプロセッサ52、および磁気ストライプエミュレータ64を備える。この実施例では、セキュアプロセッサ44とゼネラルプロセッサ52はいずれもISO7816のバス48によるインターフェース16に結合されている。
【0023】
セキュアプロセッサ44には、好ましくは、セキュア暗号機能および不正変更防止ストレージ46のような様々な不正変更防止特性を有する市販のスマートカードチップである。セキュアプロセッサ44の実施例は、限定されない例として与えられ、ドイツ共和国のフィリップスにより製造されたP8WE6032プロセッサである。類似のデバイスは、日立、インフィニオン、東芝、STその他によって製造されている。先に述べたように、この例のセキュアプロセッサ44は、バス46を介してインターフェース16に電気的に接続されている。このバスはそれ故、好ましくはISO7816に従うものである。
【0024】
ゼネラルプロセッサ52はまた、この例において、バス48に接続され、それ故、セキュアプロセッサ44とインターフェース16の両方に接続されている。加えて、この例では、ゼネラルプロセッサ52はI/O2ライン50によってセキュアプロセッサ44に接続されている。本実施例において、メモリ54はI/O2ライン50によってゼネラルプロセッサ52に接続されている。ゼネラルプロセッサ52はまた、この例において、電源56、ディスプレイ58、スイッチ60、および他のI/O62に接続されている。電源56は、好ましくは、カードボディ10内に配置されたバッテリである。他の好ましい実施例は動作可能な第1(充電不能な)のバッテリ、および動作可能な第2(充電可能な)のバッテリを含む。好ましい充電可能なバッテリは、例えば、電子インターフェース16を通じて、または電磁誘導、太陽電池、他の電子コネクタ、あるいは他の手段を通じて充電され得る。これらの実施例は限定されない例として与えられる。その他の電源についても当業者にとって明白である。
【0025】
ゼネラルプロセッサ52は、例えば、PIC16マイクロコントローラであってもよい。もう1つの例において、ゼネラルプロセッサ52はASICチップを含む。さらなる実施例において、ゼネラルプロセッサは、所望の機能を実行するロジック(すなわち、状態機械)であり得る。
【0026】
ディスプレイ58は、例えば、先に開示されたLED装置であり得る。もう1つの限定されない例として、ディスプレイ58は、フレキシブルLCDディスプレイを含み得る。スイッチ60は、ゼネラルプロセッサ52と、関係するI/O装置の動作を構成することを許容するための、いかなる形態の電子スイッチであってもよい。プロセッサ52は、そのようなスイッチに係るアルゴリズムをデバウンスするソフトウェアを提供し得る。他のI/O62は多くの他のI/Oサブシステムを含み得る。これらは、限定されない例として、オーディオ、タクタイル、RF、IR、光学、キーボード、バイオメトリックI/Oあるいは他のI/Oを含み得る。
【0027】
また、ゼネラルプロセッサ52に接続されているのは、磁気ストライプエミュレータ64であり、これは、カードボディ10に、先行技術の磁気ストライプカードをエミュレートするモードにおいて使用され得る。磁気ストライプエミュレータ64は、この限定されない例において、ゼネラルプロセッサ52からのデジタル出力を磁気ストライプエミュレーションに適した波形に変換するバッファリング回路66により構成される。この好ましい実施例において、バッファリング回路66は、典型的にRCネットワークとして実行されるRC信号変換回路を含む。RCネットワークは当業者によく知られるものである。
【0028】
この例において、磁気ストライプエミュレータ64は、さらに、ブロードキャスタ68により構成される。ブロードキャスタ68は、バッファリング回路66に電気的に接続され、そして、好ましくは、ブロードキャスタ68によって、磁気ストライプエミュレーションのために磁気インパルスに変換される2トラックの信号を受ける。他の例では、単一のトラックの例を含み、そして3またはそれより多くのトラックを含む。ブロードキャスタ68は、電気信号を磁気インパルスに変換するための1またはこれより多くの電気コイルを含み得る。この例におけるブロードキャスタ68は、さらに、ゼネラルプロセッサ52に電気的に接続される1またはこれより多くのセンサ70を含み得る。これらのセンサはレガシーカードシステムにカードボディ10が挿入されるという物理的動作が始まったということをゼネラルプロセッサに送信するために使用される。センサ70はまた、ブロードキャスタからの磁気フラックスインパルスの受け取り、読み取りを行う磁気ストライプリーダ72との接触がなくなったときに、ゼネラルプロセッサ52との通信を行う。
【0029】
先に述べたように、この例におけるトランザクションカード10は、電子インターフェース16を含む。この例では、電子コネクタ16はISO7816のリーダ装置74と通信するためのISO7816に従って使用される。
【0030】
レガシースマートカードモードで使用されるとき、セキュアプロセッサ44は、スマートカードリーダ装置74からのバス48によって電力が与えられる。リーダ装置74は、限定されない例として、ファームウェアコード、アカウントナンバ、暗号キー、PINナンバ等を含む様々な情報を伴うセキュアプロセッサ44をプログラムし、パーソナライズするために使用され得る。この情報は、一度セキュアプロセッサ44にロードされるとリーダ装置74の使用をもはや要求しないオペレーショナルモードのためのセキュアプロセッサ44を準備する。
【0031】
この「独立」モードにおいて、セキュアプロセッサ44は、ゼネラルプロセッサ52と通信し、暗号化機能、ゼネラルプロセッサ52および磁気ストライプリーダ72を伴う磁気ストライプエミュレータ64を経由して通信するために使用される認証情報の動的生成のようなサービスを提供する。この例においてもまた、認証コードは単一のトランザクションのために一度だけ使用され得る。後に続くトランザクションは、生成されるべき新たな認証コードを要求する。
【0032】
もう1つの例において、カードボディ10は、リーダ装置74および磁気ストライプリーダ装置72とともに使用され続ける。この例において、カードは、使用されるモードを検索し、オペレーションの検索モードに適したバス48の使用にスイッチを自動的に切り替える。これは、任意のバスアトリビュータ76により達成される。電子コネクタ16からバス48を経由してリーダ装置74によって電力が供給されることから、任意のバスアトリビュータ76は、リーダ装置74とともに使用されているときに検索をすることができる。同様に、任意のバスアトリビュータ76は、電力がゼネラルプロセッサ52によって提供されていることを検索し、ゼネラルプロセッサ52、およびそこに接続されている様々なI/O装置にサービスを提供するオペレーションの対応するモードにスイッチを切り替える。他の実施例でもまだ、任意のバスアトリビュータ76はゼネラルプロセッサ52とセキュアプロセッサ44の両方におけるそれぞれ互いの動的通信、およびリーダ装置74を伴う動的な通信を許容する。これは、当業者によく知られるバスアトリビューションロジックを要求する。さらに他の実施例において、ゼネラルプロセッサ52は、セキュアプロセッサ44と電子コネクタ16との間に割り込む。この他の実施例において、ゼネラルプロセッサ52は、セキュアプロセッサ44に対して「仲介者」あるいは「フロントエンド」として作動する。
【0033】
図4は、図3のセキュアプロセッサ44の他の例をさらに詳しく示している。この例におけるセキュアプロセッサ44は、ISO7816に従い、電源装置78、セキュリティセンサ80、リセットジェネレータ82、クロック入力フィルタ84、CPU86、インタラプトシステム78、および内部バス90を含むマイクロコントローラである。内部バス90に接続されるのは、RAM91、EEPROM93またはその両方から構成される不正変更防止ストレージ46である。RAM91およびEEPROM93の両方は、好ましい実施例において内部バス90に接続される。また、バス90に接続されるのは、暗号化と暗号解除を行うクリプトプロセッサ92である。また、バス90に接続されるのは、リーダ装置74とともにバス48および電子コネクタ16を経由してシリアル通信のために使用されるUART98を作動させるために、セキュアプロセッサ44に必要なファームウェアを記憶するために使用される、ROM96とタイマー94である。また、バス90に接続されるのは、I/Oシステム100とランダムナンバジェネレータ102である。上記されたセキュアプロセッサ44は、フィリップス、日立、インフィリオン、東芝、STその他の様々な製造元から市販されている。開示された他の実施例における使用に適したセキュアプロセッサ44は、ドイツ共和国のフィリップスにより製造されたモデルP8WE6032プロセッサである。
【0034】
図5は、限定されない例として、セキュアプロセッサ44によって実行されるメインプロセスを示している。このメインプロセスは、例えば、セキュアプロセッサ44のROM96またはEEPROM93のいずれか一方にエンコードされ得る。プロセスは、セキュアプロセッサ44への電源がゼネラルプロセッサ52またはリーダ装置74によってオンになるオペレーション112に制御を渡すオペレーション110から始まる。ここで使用される、「オペレーション」は、プロセッサによって実行される特定の動作である。その後、オペレーション114において、セキュアプロセッサ44は、そのオペレーションのモードを検索し、検索されたモードに適したハンドラに分かれる。オペレーションのモードの1つは、リーダ装置74とともにオペレーションを実行する。オペレーション116は、このオペレーションのモードを実行するハンドラに制御を渡す。オペレーション118は、ゼネラルプロセッサ52とともに通信を実行するハンドラに制御を渡す。オペレーション120は、オペレーションの他のモードを実行する。例えば、このハンドラは、リーダ装置74とともに、協同してそれぞれ互いに通信するセキュアプロセッサ44とゼネラルプロセッサ52の両方を含むオペレーションのモードを実行できる。この他の例は、限定されない例として与えられる。一度通信が実行されると、プロセスを完了するオペレーション122において電源がOFFとされる。
【0035】
図6は、例として、図5のオペレーション116についての一例を、より詳しく示している。プロセスは、オペレーション123で始まり、好ましくはUART98を利用する非同期シリアル通信を経由して、セキュアプロセッサ44がオンラインであり、いつでも通信できるということを示す「リセットへの応答」と呼ばれる信号を送るセキュアプロセッサ44とともにオペレーション124に続く。その後、オペレーション126において、セキュアプロセッサ44は受けるべきコマンドを待つ。もし、コマンドが受け取られなければ、セキュアプロセッサ44は待機し続ける。他の実施例において、この待機の期間は、見せかけのランダムシーケンス上に基づく認証コードの生成のような、バックグラウンドにおける計算タスクを実行するために使用される。コマンドが受け取られると、制御は、コマンドを処理するオペレーション128に渡される。コマンドは、上記のように処理され、電源がオフにされてプロセスが中断されるまで処理される。
【0036】
図7は、図6のオペレーションの例をより詳しく示している。プロセスは、分岐オペレーション130に制御を渡すオペレーション129で始まる。オペレーション130は、受け取った様々なメッセージについて、いくつかのハンドラのうちの1つに制御を送る。オペレーション130は、図7に示されるハンドラの1つのみに制御を渡す。
【0037】
どのハンドラに分岐するかの選択は、受け取られたメッセージの検査によって決定される。好ましい実施例において、受け取られたメッセージは、使用されるべきハンドラを認定するセレクタコードを含む。オペレーション132は、メッセージ「データ取得−シリアルナンバ」を処理するハンドラである。オペレーション134は、「データ取得−キーID」と呼ばれるコマンドを実行する。オペレーション136は、「チャレンジ取得」を実行するハンドラである。オペレーション138は、「外部認証」のためのハンドラである。オペレーション140は、「データ取得−パーソナライゼーション」のためのハンドラである。オペレーション142は、「プットデータ−EEPROMファームウェアバージョン」のためのハンドラである。オペレーション152は、「プットデータ−ディバースキーの初期化」のためのハンドラである。オペレーション154は、「プットデータ−パーソナライズ」のためのハンドラである。オペレーション156は、「プットデータ−有効化」のためのハンドラである。オペレーション158は、「その他」のためのハンドラである。
【0038】
オペレーション158は、セキュアプロセッサとの改良された通信またはセキュアプロセッサ44の内部処理を導入することをだれかが望むであろうどんな付加的なハンドラをも表すために示されている。そのようなコマンドの一例は、バックグラウンドにおいて認証コードの生成を実行するためのバックグランドタスクを起動することである。そのようなコマンドのもう1つの例は、カードを使用不可能な状態にする自己破壊コマンドであろう。この実施例は、詐欺が起こったことがはっきりしたイベント中で使用されるだろう。これらの実施例は、限定されない例として与えられる。
【0039】
図8は、図7のオペレーション132の例をより詳しく示している。このプロセスの目的は、セキュアプロセッサ44からの固有のシリアルナンバの検索を許容することである。プロセスは、オペレーション162で始まり、制御は、セキュアプロセッサ44および関係するストレージ内に保存されている固有のシリアルナンバを検索するオペレーション164に渡される。ある実施例において、このシリアルナンバはEEPROM93にエンコードされる。もう1つの例では、シリアルナンバは、ROM96にエンコードされる。固有のシリアルナンバが一度検索されると、制御は、要求されたソースに、メッセージを送り戻すオペレーション166に渡される。この情報は、暗号化されているか、または暗号化されていないかのどちらかであり、そして両方の実施例が意図されていることに注意すべきである。プロセスは、オペレーション170で完了する。
【0040】
図9は、図7のオペレーション134の例を、より詳しく示している。プロセスは、オペレーション172で始まり、制御は、セキュアプロセッサ44および関係するストレージからキーIDを検索するオペレーション174に渡される。制御は、キーIDを含むメッセージをフォーマットするオペレーション176に渡される。メッセージは、その後オペレーション178に送られる。全てのメッセージあるいはメッセージの部分は、暗号化される。プロセスは、オペレーション180で完了する。
【0041】
図10は、図7のオペレーション136の例をより詳しく示している。プロセスは、オペレーション182で始まり、制御は、ランダムナンバジェネレータ110を使用してランダムナンバを生成するオペレーション184に渡される。このランダムナンバは、セキュアプロセッサ44および関係するストレージ内、好ましくはRAM91に保存される。その後、認証中に、このナンバは呼び戻され、外部で生成されたメッセージと比較される。ランダムナンバがオペレーション186で保存された後で、制御は、ランダムナンバを含むメッセージをフォーマットするオペレーション188に渡される。オペレーション190において、このランダムナンバは、それを要求したクライアントに送り戻される。このプロセスはオペレーション192で完了する。
【0042】
図11は、図7のオペレーション138の例をより詳しく示している。プロセスは、オペレーション194で始まる。オペレーション196は、クライアントから入ってくるメッセージにおけるチャレンジレスポンスパラメータにアクセスする。チャレンジレスポンスパラメータは、以前に受け取られたランダムナンバの暗号形式を複製しようとするクライアントの試みを表わす。制御は、その後、チャレンジレスポンスパラメータを以前に保存されたランダムナンバと比較するオペレーション198に渡される。もし、これらの2つのナンバが合致すると、クライアントは首尾良く暗号化された形式のナンバを複製し、セキュアプロセッサ44でそれ自体認証するために、それをセキュアプロセッサ44に戻したことを意味する。もし、チャレンジレスポンスが正しい場合、制御は、セキュアプロセッサ44、好ましくは、RAM91において、ロックされていない状態にセットするオペレーション200に渡される。一度このロックされていない状態にセットされると、認証を要求するその後のコマンドは、認証が起こったことを検索できるようになる。いかなる後のリセットまたはセキュアプロセッサ44のパワーサイクルも、クライアントに再び認証を要求するロックされた状態にチップをリセットする。ロックされていない状態がオペレーション200でセットされた後、制御は、現在のプロセスの状態と同じくセキュアプロセッサ44の状態を示すメッセージをフォーマットするオペレーション202に渡される。このメッセージは、その後オペレーション204に送られ、そしてプロセスはオペレーション206で完了する。もし、オペレーション198において、チャレンジレスポンスが正しくない場合、制御は、失敗を表示するメッセージをフォーマットするオペレーション208に渡される。このメッセージは後にオペレーション204でクライアントに送られ、プロセスはオペレーション206で終了する。
【0043】
図12は、図7のオペレーション140の例を、より詳しく示している。プロセスはオペレーション210で始まり、制御は、セキュアプロセッサ44がロックされるかどうかを決定するオペレーション212に渡される。セキュアプロセッサ44は、現在の通信セッションの間における前の認証がうまくいったときにのみロックされない状態になり得る。もし、セキュアプロセッサ44がロックされていなければ、制御は、アクセスされたアカウントを特定する、入ってきたメッセージ中のパラメータにアクセスするオペレーション214に渡される。制御は、特定されたアカウントについてのパーソナライゼーションデータを送るオペレーション216に渡される。このデータは、セキュアプロセッサ44に関連づけられたストレージから送られる。オペレーション218において、メッセージは要求され暗号化されたアカウントを含めてフォーマットされる。このアカウントデータは、メッセージにおいて特定されたアカウントと関係する。この暗号化されたアカウントデータは、その後、オペレーション220でクライアントに送られる。このプロセスは、オペレーション222で完了する。もし、オペレーション212において、セキュアプロセッサ44がロックされていることが判明した場合、制御は、セキュアプロセッサ44がロックされていることを特定するメッセージをフォーマットし、送り、そして、それ故、要求された情報の提供を拒絶するオペレーション224に渡される。制御は、その後、プロセスを完了するオペレーション222に渡される。
【0044】
図13は、図7のオペレーション142の例を、より詳しく示している。このプロセスは、オペレーション226で始まり、制御は、その後、セキュアプロセッサ44がロックされるかどうかを決定するオペレーション228に渡される。もし、セキュアプロセッサ44がロックされていなければ、制御は、セキュアプロセッサ44がアップデートされたファームウェアに適した状態であるかどうかを決定するオペレーション230に渡される。もし、セキュアプロセッサ44がアップデートされたファームウェアに適した状態になっていれば、制御は、入ってくるファームウェアのアップデートのデータ長が有効であることを証明する。もし、データ長が有効であることがオペレーション232において決定された場合には、制御は、EEPROM91のファームウェアにおいてアップデートされたアドレスを証明するメッセージ中のパラメータを検査するオペレーション234に渡される。もし、アドレスが、ファームウェアのアップデートを保存するのに適したアドレスの範囲中で発見された場合には、制御は、メッセージからのデータを伴うEEPROM91中で特定されたアドレスで、ファームウェアをアップデートするオペレーション236に渡される。制御は、その後、現在のプロセスと、セキュアプロセッサ44の状態を示すメッセージをフォーマットし、クライアントに送るオペレーション238に渡される。制御は、その後、プロセスを完了するオペレーション240に渡される。もし、オペレーション228において、セキュアプロセッサ44がロックされることが決定された場合、制御は、失敗と失敗の理由を示すメッセージをフォーマットしてクライアントに送るオペレーション242に渡される。同様に、もし、オペレーション230において、セキュアプロセッサ44がアップデートされたファームウェアに適した状態になっていないことが判明した場合、制御は、エラーの信号を送るオペレーション242に渡される。同様に、もし、オペレーション232において、データ長が有効でないことが判明した場合には、制御は、エラー状態の情報を含むメッセージをフォーマットし、それを送ることでエラーの信号を送るオペレーション242に渡される。最後に、もし、オペレーション234において、ファームウェアのアップデートについてのアドレスが適当なものでないことが判明した場合、制御は、エラーの信号を送るオペレーション242に渡される。一度オペレーション242でエラーの信号が送られると、制御は、オペレーション240に渡され、プロセスは完了する。
【0045】
図14は、図7のオペレーション144の例を、より詳しく示している。プロセスはオペレーション244で始まり、制御は、セキュアプロセッサ44がロックされた状態であるかどうかを決定するオペレーション246に渡される。もし、セキュアプロセッサ44がロックされていないことが決定される場合、制御は、EEPROM93にロードされたソフトウェアが次のリセットの後で実行されるべきであることを示すために、セキュアプロセッサ44の内部状態をセットするオペレーション248に渡される。 これは、ROM96中で保存されているファームウェアを自動的に実行する状態から、EEPROM93にロードされたファームウェアを実行する状態へのセキュアプロセッサ44の移行を許容する。オペレーション250において、セキュアプロセッサ44と現在のプロセスの状態を示すメッセージは、フォーマットされ、クライアントに送られる。プロセスは、その後、オペレーション252で完了する。もし、オペレーション246において、セキュアプロセッサ44がロックされた状態であったと決定された場合、制御は、現在のプロセスの失敗と失敗の理由を示しているメッセージをフォーマットしてクライアントに送るオペレーション254に渡される。制御は、その後、プロセスを終了するオペレーション252に渡される。
【0046】
図15は、図7のオペレーション146の例を、より詳しく示している。プロセスはオペレーション256で始まり、制御は、セキュアプロセッサ44がロックされた状態であるかどうかを決定するオペレーション258に渡される。もし、オペレーション258において、セキュアプロセッサ44がロックされた状態でないと決定された場合、制御は、ROM96中のファームウェアが次のリセットの後で実行されるべきであること示すためにセキュアプロセッサ44の内部状態をセットするオペレーション260に渡される。これは、セキュアプロセッサ44のオリジナルファームウェアを保存しているものとして知られるROM96に保存されたファームウェアを実行する状態へのセキュアプロセッサ44の移行を許容する。制御は、その後、現在のプロセスの状態と同じくセキュアプロセッサ44の状態を送信するオペレーション262に渡される。この状態メッセージは、フォーマットされ、クライアントに送られる。プロセスは、その後、オペレーション264で終了する。もし、オペレーション258において、セキュアプロセッサ44がロックされた状態であると決定された場合、制御は、失敗と失敗の理由を示しているメッセージをフォーマットし、クライアントに送るオペレーション266に渡される。
【0047】
図16は、図7のオペレーション148の例を、より詳しく示している。プロセスは、オペレーション268で始まり、制御は、ROM96に保存された情報のバージョンナンバをROM96から送るオペレーション270に渡される。制御は、その後、ROM96のバージョンナンバを含んでいるメッセージをフォーマットするオペレーション272に渡される。好ましくは、この情報は、暗号化されていない形式のものである。オペレーション274は、その後、メッセージをクライアントに送り、プロセスは、オペレーション276で完了する。
【0048】
図17は、図7のオペレーション150の例を、より詳しく示している。プロセスは、オペレーション278で始まり、制御は、EEPROM93のファームウェアバージョンを送るオペレーション280に渡される。この情報は、好ましくは、EEPROM93に保存される。制御は、その後、EEPROM93ファームウェアバージョンを含んでいるメッセージをフォーマットするオペレーション282に渡される。好ましくは、このバージョン情報は、暗号化されていない形式のものである。制御は、その後、メッセージをクライアントに送るオペレーション284に渡される。プロセスは、その後、オペレーション286で終了する。他の例では、この情報は暗号化される。
【0049】
図18において、図7のオペレーション152の例がより詳しく説明される。プロセスは、オペレーション288で始まり、そして、決定オペレーション290において、セキュアプロセッサがロックされているかどうかが決定される。もし、ロックされていれば、オペレーション292は、エラー状態の情報を含んでいるメッセージをフォーマットし、このメッセージをクライアントに送ることによって、エラーの信号を送信し、そして、プロセスはオペレーション294で完了する。もし、決定オペレーション290でセキュアプロセッサがロックされていないと決定した場合には、カードディバース移送キーセキュアプロセッサ44の移送キーを使用する暗号化形式でクライアントにより移送されることから、オペレーション296は、解読されるべきCDTKを含むパラメータにアクセスする。次に、オペレーション298において、プロセスは、特定された値を伴う内部CDTKをアップデートする。次に、オペレーション300において、セキュアプロセッサ44と現在のプロセスの状態を示すために、メッセージがフォーマットされる。メッセージは、その後、オペレーション302において送られ、プロセス152は、オペレーション294で完了する。
【0050】
図19において、図7のオペレーション154であるプットデータ−パーソナライズが、より詳しく記述される。プロセス154はオペレーション304で始まり、オペレーション306の決定において、セキュアプロセッサがロックされているかどうかが決定される。もし、ロックされていれば、オペレーション308は、エラー状態を示しているメッセージをフォーマットし、クライアントに送ることによって、エラー信号を送信する。もし、オペレーション306がロックされていないと決定すれば、オペレーション312は、EEPROMに特定されたメッセージとして保存されるパーソナライゼーションデータの解読とアップデートを行う。次に、オペレーション314において、セキュアプロセッサ44と現在のプロセスとの状態を示すために、メッセージがフォーマットされる。最後に、オペレーション316において、メッセージが送られ、そして、プロセス154はオペレーション310で完了する。
【0051】
図20は、図7のオペレーション156のプロセスの例を、より詳しく記述する。プロセスはオペレーション318で始まり、制御は、その後、セキュアプロセッサ44がロック状態であるかどうかを決定する決定オペレーション320に渡される。もし、セキュアプロセッサ44がロックされていれば、その後、制御は、エラー情報を含んでいるメッセージをフォーマットし、クライアントに送るオペレーション322に渡される。制御は、その後、プロセスを終了するオペレーション324に渡される。もし、オペレーション320において、セキュアプロセッサ44がロックされていないと決定されれば、制御は、カードがノーマルオペレーションで有効であることを示すために、セキュアプロセッサ44の内部状態をセットするオペレーション326に渡される。好ましい実施例において、この内部状態は、EEPROM93に保存される。制御は、その後、セキュアプロセッサ44と現在のプロセスの状態を示しているメッセージをフォーマットするオペレーション328に渡される。メッセージは、その後、オペレーション340において、送られる。プロセスは、その後、オペレーション324において完了する。
【0052】
図21は、図5のオペレーション118のプロセスの例を、より詳しく示している。プロセスは、オペレーション342で始まり、制御は、その後、「私はここです」というメッセージをゼネラルプロセッサ52に送るオペレーション344に渡される。この時点で、セキュアプロセッサ44は、クライアント、ゼネラルプロセッサ52から送られるコマンドのリスニングを始める。これは、オペレーション346によって行われる。その後、決定オペレーション348において、要求が受け取られたかどうかが決定される。そうでなければ、制御は、オペレーション346に戻し渡される。
【0053】
もし、要求がクライアントから受け取られなければ、制御は、オペレーション350に渡される。オペレーション350において、入ってきた要求またはコマンドは、適当なハンドラにメッセージを送るために使用されるセレクタコードについて検査される。そのような1つのハンドラは、コマンド中で特定されたアカウントデータを送り、そして、それをクライアントに戻すオペレーション352である。もう1つのハンドラは、セキュアプロセッサ44のためのコンフィグレーションデータを送り、そして、それをクライアントに戻すオペレーション354である。オペレーション356は、ゼネラルプロセッサ52とセキュアプロセッサ44との間でいかなる他の通信をも行うために使用される。例として、そして限定なしで、このコマンドは、ゼネラルプロセッサが、セキュアプロセッサ44におけるランダムナンバジェネレータ102にアクセスするのを許容するために使用される。同様に、そのようなハンドラは、クリプトプロセッサ92のようなセキュアプロセッサ44に特有の他の機能へのアクセスを提供するために置かれ得る。ステップ352,354,そして356が完了したとき、制御を、その後のコマンドを聞くオペレーション346に戻す。このプロセスは、電源が断たれるまで続けられる。もう1つの実施例において、電源の遮断イベント以外の外的イベントは、現在のプロセスのループを終了させる。ゼネラルプロセッサ52とセキュアプロセッサ44との間の通信は、補助コネクタ50のような付加的な結合を任意に使用し得ることに注意すべきである。この通信の一実施例は、ゼネラルプロセッサ52とセキュアプロセッサ44との間の同期シリアル通信を構築するために、補助コネクタ50にバス48における1つの通信ラインを合わせて使用する。これは、ゼネラルプロセッサ52が非同期シリアル通信に係るUARTを有していないような状況において特に有用である。補助コネクタ50とバス48のI/O通信ラインは、同期通信を達成する多種多様な方法で使用され得る。一実施例において、2つのプロセッサ52と44のうちの一方は、2つの通信ラインのうちの1つを使用する他方のプロセッサにメッセージを送り、ここで、他方のプロセッサは、1から0、または0から1という前記通信ラインの状態が移行することによるそれぞれのビットの受け取り信号を送るためのものである。
【0054】
図22は、図3のゼネラルプロセッサ52のブロック図の非常に単純化された例である。ゼネラルプロセッサ52は、CPU358、バス360、I/Oサブシステム362、ROM364、SRAM366、EEPROM368により構成される。I/Oサブシステム362は、ディスプレイ58と、スイッチ60と、他のI/O62と、および、ブロードキャスタ信号データを送り、ブロードキャスタからセンサデータを受け取る磁気ストライプエミュレータ64を伴うインターフェースと、を駆動する。スイッチ60は図2の、オン/オフボタン28、およびアカウントセレクタ38を含む。
【0055】
図23は、限定されない例として、ゼネラルプロセッサ52のメインプロセスを示す。ゼネラルプロセッサ52は、オン/オフボタン28が押されたとき、初めにオフの状態になる。オン/オフボタン28が解除されたとき、制御は、オペレーション370からオペレーション372に渡される。もし、オン/オフボタン28が押されたままの時間が限界を越えた場合、ゼネラルプロセッサ52は、制御を、オンインジケータ30とオフインジケータ32を二回同時に点滅させるオペレーション374に渡す。このとき、オン/オフボタン28が押され、ゼネラルプロセッサ52は、これらのオペレーションを実行できるように電力を受け取る。もし、オン/オフボタン28が開放されなければ、オンインジケータ30とオフインジケータ32は、オン/オフボタン28が開放されるまでそれぞれ2秒ずつ、2回の点滅を続ける。
【0056】
図24は、図23のオペレーション23のプロセスの例を、より詳しく示している。プロセスは、オペレーション376で始まり、ゼネラルプロセッサ52を初期化するオペレーション378を続ける。その後、決定オペレーション380において、前記初期化オペレーション中にエラーが発生しているかどうかの決定がなされる。もし、エラーが発生していなければ、制御は、オンインジケータ30を24点灯させ、かつメニュー状態に入るオペレーション384に制御を渡すオペレーション382に、制御が渡される。もし、オペレーション380において、エラーが発生している場合には、制御は、エラーコードを1にセットし、オフインジケータ32を3回点灯させるオペレーション386に渡される。その後のオペレーション388において、制御は、その後、エラー状態に入るオペレーション390に渡される。
【0057】
図25は、図24のオペレーション384の例を、より詳しく示している。プロセスは、外的に生じた多くの異なるイベントの間で識別を行うオペレーション392で始まる。
【0058】
例えば、もし、オン/オフボタン28が開放され、または、タイムアウトの限界をこえた場合、制御は、オフインジケータ32を2回点灯させるオペレーション394に渡される。制御は、その後、シャットダウン状態に入るオペレーション396に渡される。もし、他方で、オペレーション392において、アカウントボタン1が押されたことが決定された場合、制御は、アカウント1のためのアカウントインジケータ36を1回点灯させるオペレーション398に渡される。制御は、その後、アカウント1のためのデータがその後にアクセスされることを示している内部アカウントバッファを1にセットするオペレーション400に渡される。
【0059】
同様に、もし、オペレーション392においてアカウントナンバ2のためのアカウントセレクタ38が押された場合、制御は、アカウント2のためのアカウントインジケータ36を1回点灯させるオペレーション402に渡される。制御は、その後、後の出入金がアカウント2に関係すべきであることを示している内部アカウントバッファを2にセットするオペレーション404に渡される。同様に、もし、オペレーション392において、アカウント3のためのアカウントセレクタ38が選択された場合、アカウント3のためのアカウントインジケータ36を1回点灯させ、かつアカウント3のためのアカウントデータがその後にアクセスされることを示しているアカウントバッファを3にセットするオペレーション408に制御を渡すオペレーション406に、制御が渡される。制御は、その後、オペレーション410に渡される。ステップ400と404はまた、完了次第、オペレーション410に移送される。
【0060】
もし、オペレーション392において、電源ボタンタイムアウトが検索されたことが決定された場合、制御は、オンインジケータ30とオフインジケータ32を2回同時に点灯させるオペレーション412に渡される。制御は、その後、外的なイベントを監視するオペレーション392に戻し渡される。例えば、ボタンとカードの後ろ14のボタンの組み合わせにより作り出されるコードを検索できるオペレーション414のような、付加的なイベントやイベントハンドラが現在のプロセスに加えられることが考えられる。そのようなコードは、例えば、カードに自己診断モードや、様々なLEDを点灯させるデモンストレーションモードや、ゲームモードに入るように指示するために使用される。もう1つの実施例において、オペレーション414は、ある期間またはスペシャルコードが入力されるまで使用できない状態にすることができる。そのような例は、例えば、カードが一時的に誰かの所有とならなくなった場合に有用である。これらの様々な択一的な実施例は、限定されない例として与えられる。
【0061】
図26は、図25のオペレーション410の例を、より詳しく示している。プロセスは、オペレーション416で始まり、制御は、セキュアプロセッサ44の電源を入れ、そしてセキュアプロセッサ44が適切に操作されていることを証明するためのハンドシェイクを行うオペレーション418に渡される。 決定オペレーション420において、完了されるべきハンドシェイクを待っている間にタイムアウトが有効期限切れとなったかどうかが決定される。もし、タイムアウトが発生している場合には、制御は、セキュアプロセッサ44の電源をオフにするオペレーション414に渡される。制御は、その後、オフインジケータ32を3回点灯させるオペレーション416に渡される。制御は、その後、エラーコードを9にセットするオペレーション418に渡される。一度これが完了すると、制御は、エラーオペレーション420に渡される。もし、オペレーション412において、タイムアウトが期限切れでないと決定された場合には、制御は、セキュアプロセッサ44からの「私はここです」のメッセージを待つオペレーション422に渡される。その後、決定オペレーション424において、「私はここです」のメッセージを待っている間にタイムアウトが期限切れとなったかどうかが決定される。もし、タイムアウトが期限切れとなっていれば、制御は、セキュアプロセッサ44の電源をオフにするオペレーション426に渡される。制御は、その後、オフインジケータ32を3回点灯させるオペレーション428に渡される。その後、オペレーション430において、エラーコードが2にセットされ、そして、その後、制御は、エラーオペレーション420に渡される。もし、オペレーション424において、タイムアウトが期限切れとなっていない場合には、制御は、モードが有効かまたは自己テストについて有効かどうかを決定する決定オペレーション432に渡される。もし、そうでなければ、その後、制御は、セキュアプロセッサ44の電源をオフにするオペレーション434に渡される。制御は、その後、オフインジケータ32を3回点灯するオペレーション436に渡される。制御は、その後、BIST状態に入るオペレーション438に渡される。もし、オペレーション432において、モードが有効あるいはテストについて有効であると決定された場合、制御は、いくつかの他のエラーが発生しているかどうかを決定するオペレーション440に渡される。もし、そうであれば、制御は、セキュアプロセッサ44の電源をオフにするオペレーション442に渡される。この時点で、制御は、オフインジケータ32を3回点灯するオペレーション444に渡される。その後、制御は、エラーコードをセットするオペレーション446に渡される。制御は、その後、エラーを処理するオペレーション420に渡される。もし、オペレーション440において、他のエラーが発生していないと決定された場合は、制御は、コンフィグレーションパラメータを要求しているセキュアプロセッサ44にメッセージを送るオペレーション448に渡される。その後、決定オペレーション450において、エラーが発生しているかどうかが決定される。もし、発生していれば、制御は、セキュアプロセッサ44の電源をオフにするオペレーション452に渡される。制御は、その後、オフインジケータ32を3回点灯させるオペレーション454に渡される。制御は、その後、エラーコードをセットするオペレーション456に渡され、そして、エラーを処理するオペレーション420に渡される。
【0062】
もし、オペレーション450において、セキュアプロセッサ44に対するコンフィグレーションパラメータについての要求が送られる中でエラーが発生していないと決定された場合、制御は、オペレーション448の要求と見なしているセキュアプロセッサ44からの応答を待つオペレーション458に渡される。その後、決定オペレーション460において、タイムアウトが期限切れであるかどうかが決定される。もし、期限切れであれば、制御は、セキュアプロセッサ44の電源をオフにするオペレーション462に渡される。制御は、その後、オフインジケータ32を3回点灯させるオペレーション464に渡される。その後、オペレーション466において、エラーコードが3にセットされ、制御は、エラーを処理するオペレーション420に渡される。
【0063】
もし、オペレーション460において、タイムアウトが期限切れでないと決定された場合、制御は、もう1つのエラーが発生しているかどうかを決定する決定オペレーション468に渡される。もし、エラーが発生していれば、制御は、セキュアプロセッサ44の電源をオフにするオペレーション470に渡される。その後、オペレーション472において、オフインジケータ32が3回点灯させられ、そして制御は、エラー制御をセットし、そしてエラーを処理するオペレーション420に制御を渡すオペレーション474に渡される。もし、オペレーション468において、エラーが発生していないと決定された場合には、制御は、データ状態に入るオペレーション476に渡される。
【0064】
図27は、図26のオペレーション476の例を、より詳しく示している。プロセスは、オペレーション478で始まり、制御は、その後、「ユーザデータ取得」の要求をセキュアプロセッサ44に送るオペレーション480に渡される。その後、決定オペレーション182において、要求を送っている間にエラーが発生しているかどうかが決定される。もし、エラーが発生していると決定された場合には、制御は、セキュアプロセッサ44の電源をオフにするオペレーション484に渡される。制御は、その後、オフインジケータ32を3回点灯させるオペレーション486に渡される。その後、オペレーション488において、エラーコードがセットされ、そして、オペレーション490において、エラーを処理するエラー状態に入る。
【0065】
もし、オペレーション482において、要求を送っている間にエラーが発生していないと決定された場合には、制御は、オペレーション480の要求に対する応答を待つオペレーション492に渡される。その後、決定オペレーション494において、セキュアプロセッサ44からの応答を待っている間にタイムアウトがあったかどうかが決定される。もし、タイムアウトがあったと決定された場合には、制御は、セキュアプロセッサ44の電源をオフにするオペレーション496に渡される。制御は、その後、オフインジケータ32を3回点灯させ、そして、エラーコードを5にセットしかつエラー処理を行うオペレーション490に制御を渡すオペレーション500に制御を渡すオペレーション498に渡される。
【0066】
もし、オペレーション494において、セキュアプロセッサ44からの応答を待っている間にタイムアウトが発生していないと決定された場合には、その後、オペレーション502がセキュアプロセッサ44の電源をオフにする。その後、決定オペレーション504において、動的認証コードが使用されたかどうかが決定される。もし、動的認証コードが使用されていれば、制御は、オフインジケータ32を3回点灯させ、エラーコードを6にセットし、その後、エラー処理を行うエラー状態490に入るオペレーション508に制御を渡すオペレーション506に渡される。
【0067】
もし、オペレーション504において、全ての動的認証コードが使用されていないと決定された場合には、制御は、もう1つのエラーが発生したかどうかを決定する決定オペレーション506に渡される。もし、もう1つのエラーが発生していれば、制御は、オフインジケータ32を3回点灯させるオペレーション508に渡される。制御は、その後、エラーコードをセットし、そしてエラーを処理するオペレーション490に制御を渡すオペレーション510に渡される。
【0068】
もし、オペレーション506において、エラーが発生していないと決定された場合には、制御は、オンインジケータ30を2回点灯させるオペレーション512に渡される。その後、オペレーション514において、セキュアプロセッサ44から受け取られたアカウントデータがトラック2バッファに置かれる。制御は、その後、アクティブ状態に入るオペレーション516に渡される。
【0069】
図28は、図27のオペレーション516の例を、より詳しく示している。プロセスは、様々なイベントを検索し、それらを送るオペレーション518で始まる。もし、ブリンクタイムアウトが発生した場合には、制御は、選択されたアカウントに係るアカウントインジケータ36を1回点灯させるオペレーション520に渡される。その後、オペレーション522において、ブリンクタイムアウトがリセットされ、制御は、オペレーション518に戻し渡される。
【0070】
もし、オペレーション518において、アカウントセレクタ38が選択されたと決定された場合には、制御は、オペレーション524に渡される。決定オペレーション524において、現在選択されたアカウントに係るアカウントセレクタ38が選択されたかどうかが決定される。もし、選択されてなければ、制御は、オペレーション518に戻し渡される。一方、もし、現在選択されているアカウントに係るアカウントセレクタ38が選択されていれば、制御は、オンインジケータ30の電源をオンにするオペレーション526に渡される。その後、オペレーション528において、トラック2データバッファ、または、マルチプルトラックのデータバッファからのデータが、エンコーダに送られる。その後、オペレーション530において、オンインジケータ30の電源がオフにされる。その後、オペレーション532において、タイマーモードがショートにセットされる。
【0071】
その後、オペレーション534において、アクティブ状態のタイマーがリセットされ、制御がオペレーション518に戻し渡される。もし、オペレーション518において、スワイプセンサが始動させられたと決定された場合には、制御は、上記オペレーション526の議論で前述されたように、イベントを処理するオペレーション526に渡される。
【0072】
もし、オペレーション518において、アクティブ状態タイムアウトが発生しているか、または、オン/オフボタン28が開放されたと決定された場合には、制御は、オフインジケータ32を2回点灯させるオペレーション536に渡される。制御は、その後、トラック2データバッファをクリアし、そしてその後、シャットダウン状態に入るオペレーション540に制御を渡すオペレーション538に渡される。もし、オペレーション518において、電源ボタンタイムアウトが発生したと決定された場合には、制御は、オンインジケータ30とオフインジケータ32を2回同時に点灯させるオペレーション542に渡される。制御は、その後、オペレーション518に渡される。
【0073】
図29は、図28のオペレーション540の例を、図25のオペレーション396の例と同様に示している。また、「A」のラベルが付けられたプロセスが図30、図31で記されている。プロセスは、オペレーション544で始まり、制御は、電源の除去のためにゼネラルプロセッサ52を準備するオペレーション546に渡される。その後、オペレーション548において、電源がオフとされる。この時点で、プロセスは、オペレーション550に入り、ここで、カードは電源が再度導入されるまで、電源が奪われる。このステージについての図が既に議論されたものとして図23に示される。
【0074】
図30は、図26のオペレーション420の例を、より詳しく示している。プロセスは、エラーが発生したときに入れられるオペレーション552で始まる。オペレーション552は、様々なイベントが発生するのを待ち、それらを適当に送る。もし、アカウントインジケータ36が押さえると、制御は、押されたことを無視し、パスをオペレーション552に戻すように制御するオペレーション554に渡される。もし、スワイプセンサが始動させられると、制御は、カードの後ろ14の様々なLEDの2進法のエラーコードを点灯させるオペレーション556に渡される。その後、制御は、ブリンクインターバルタイムアウトをリセットするオペレーション558に渡される。制御は、その後、オペレーション552に戻し渡される。もし、オペレーション552において、オン/オフボタン28が開放されたと判断された場合、制御は、オフインジケータ32を2回点灯させるオペレーション560に渡される。この時点で、制御は、シャットダウン状態に入るオペレーション562に渡される。もし、オペレーション552において、エラー状態インターバルタイムアウトが発生したと決定された場合、制御は、オフインジケータ32を1回点灯させ、制御をオペレーション566に渡すオペレーション564に渡される。オペレーション566において、エラー状態カウンタがインクリメントされ、制御が、エラー状態カウンタが20に等しいかどうかを決定する決定オペレーション568に渡される。もし、等しければ、制御は、シャットダウン状態に入るオペレーション562に渡される。もし、オペレーション568において、エラー状態カウンタが20に等しくないと決定された場合には、制御は、ブリンクインターバルタイムアウトをリセットし、制御をオペレーション552に戻し渡すオペレーション570に渡される。もし、オペレーション552において、電源ボタンタイムアウトが発生したと決定された場合には、制御は、オンインジケータ30とオフインジケータ32を2回同時に点灯させるオペレーション572に渡される。
【0075】
図31は、図26のオペレーション438の例を、より詳しく示している。プロセスは、様々なイベントが発生するのを待ち、そしてそれらを適当に送るオペレーション574で始まる。もし、状態574において、アカウント1に対応するアカウントセレクタ38が選択されたと決定された場合、アカウント1についてのアカウントインジケータ36は、アカウント2についてのアカウントインジケータ36、オンインジケータ30、オフインジケータ32とともに同時に点灯させられる。これは、オペレーション576により成し遂げられる。もし、オペレーション574において、アカウント2についてのアカウントセレクタ38が選択されたと決定された場合、または左のスワイプセンサ、また右のスワイプセンサが動作させられたと決定された場合、制御は、バージョンナンバを示すためにカードの後ろ14上の選択されたLEDの電源をオンにするオペレーション578に渡される。制御は、その後、テストデータを伴うトラック2を動作させるオペレーション580に渡される。この時点で、制御は、全てのLEDの電源をオフにするオペレーション582に渡される。その後、オペレーション584において、BIST状態に関係するタイマーがリセットされ、そして、制御オペレーション574に戻し渡される。同様に、オペレーション576が完了次第、タイマーをリセットするオペレーション584に入り、制御は、同様に、その後オペレーション574に渡される。
【0076】
もし、オペレーション574においてアカウント3に対応するアカウントセレクタ38が選択された場合、アカウント2に係るアカウントインジケータ36は、アカウント3に係るアカウントインジケータ36、オンインジケータ30、およびオフインジケータ32は、ともに全てオペレーション586において同時に1回点灯させられる。制御は、その後、前に議論されたものであるタイマーをリセットし、制御をオペレーション574に渡すオペレーション584に渡される。もし、オペレーション574において、BISTタイムアウトが発生し、または、オン/オフボタン28が開放されたと決定された場合には、制御は、オフインジケータ32を2回点灯させるオペレーション588に渡される。制御は、その後、シャットダウン状態に入るオペレーション590に渡される。もし、オペレーション574において、オン/オフボタン28に関係する電源ボタンタイムアウトがあったと決定された場合、制御は、オンインジケータ30とオフインジケータ32を2回同時に点灯させるオペレーション592に渡される。この時点で、制御は、オペレーション574に渡される。
【0077】
図32は、ゼネラルプロセッサ52のデジタル方形波出力をブロードキャスタ68を駆動するのに必要とされるカスタム波形に変形するのに使用される信号変換についての処理の例を示している。ゼネラルプロセッサ52のデジタル方形波出力は、出力としてアナログ波形を作り出すバッファリング回路66のRCネットワークを駆動するのに使用される。これは、同様に、磁気ストライプリーダによって受け取られる磁気インパルスを作り出すブロードキャスタ68を駆動するために使用される。
【0078】
図33は、図3のブロードキャスタ68の例を、より詳しく示している。この実施例において、ブロードキャスタは、標準的な磁気ストライプリーダによって読み取り可能な磁気信号を動的に作り出す。出力波形は、ここにおいてブロードキャスタ68中で、適合した磁気フラックスリバーサルブロードキャストに変換される。ブロードキャスタ68は、他の化学的特性と同様にその透磁率によって選ばれた特殊材料のコアを含む。コアは、その電気的および磁気的特性によって選ばれたもう1つの特殊材料で作られたマルチプル波形回路構造のよって囲まれている。キャンセレーションシステム594はブロードキャストである磁場の混信を低減させるものとしてここで示される。この実施例の有利な点は、マルチプルトラックが使用されたときに低減された混信である。図33に示される実施例において、様々なトラックに「1」と「2」のラベルが付けられる。この例は、ブロードキャスタ68によるブロードキャストであり得る多くのトラックに対する制限と解釈されるべきではない。キャンせられーショントラックには、トラック1と2のそれぞれについてのキャンセラレーションを提供するために、「1’」と「2’」のラベルが付けられる。
【0079】
図34は、ブロードキャスタ68の例によって作られた、エミュレートされた磁気ストライプ信号を記している。図は、磁気ストライプデータを検索し使用するための磁気ストライプリーダ72に対するブロードキャスタ68の時間的・空間的な方向性を示している。
【0080】
図35は、作り出された波形の例のサンプルを示している。これらの波形の例は、代表的なだけのものであり、ゼネラルプロセッサ52の方形波出力と、バッファ回路66のアナログ出力との関係を明らかにする。この実施例において、RCCNは、ゼネラルプロセッサ52からの出力をとり、標準的な磁気ストライプリーダによって読みやすくする磁気ストライプデータを変換するためのコンデンサおよび抵抗を含む集積回路を使用する。
【0081】
図36は、後でASIC596として参照する特定用途向け集積回路(ASIC)のもう1つの例を示している。ASIC596は、ゼネラルプロセッサ52で使用される。この実施例において、ASIC596は、デジタル・アナログコンバータ598を含むものとして考えられる。アナログ信号は、F2F信号を出力するバッファリング回路66に出力され、RCネットワークは必要とされない。ある実施例において、ASICは、近似のブロードキャスタを通じずに、デジタル・アナログコンバータを通じて、あるいは、回路を通じて波形整形を生じ得るプロセッサのどちらかを通じて、ブロードキャストを整形するもう1つの手段を使用する。
【0082】
図37は、抵抗やコンデンサを含むRCネットワークの例を示している。RCネットワークは、統御者によく知られている。ある実施例において、RCネットワークは、エミュレートされまたは模擬の磁気ストライプメッセージを磁気ストライプリーダの読み取りヘッドに送るための近似のブロードキャスタを有効にする。
【0083】
図38は、ブロードキャスタ68の例の波形を示している。図は、波形が検索されることが可能で、しかもファイナンシャルトランザクションを閉じるために使用され得るように、読み取りヘッドに対して適切な時間的・空間的配置におけるブロードキャストを生じるのに必要なタイミングを作り出すためのセンサの役割を示している。
【0084】
図39Aから図39Dは、一方が他方に重なったトラック1とトラック2の両方による波形の例を示している。この波形を作り出すもう1つの手段は、デジタル・アナログプロセッサか、または、図36として描かれた回路内のキャンセラレーションのいずれかである。
【0085】
様々な実施例が、明確な用語および装置を用いて記されたが、そのような記載は、例示的な目的のためだけの理由による。記述において使用された語は、限定というよりはむしろ記述の用語である。特許請求の範囲において設定される本発明の本質および範囲から離れることなく、変更および変化が当業者によってなされることが理解される。加えて、様々な他の実施例の態様が全体的または部分的に入れ替えられ得ることが理解されるべきである。それ故、限定あるいは禁反言を除いた発明の本質および範囲に従って、特許請求の範囲が解釈される。
【産業上の利用可能性】
【0086】
本発明の産業上の利用性は、暗号化プロトコルを実行するセキュアプロセッサと、改良された機能性およびより大きなインプット/アウトプット能力を提供する随伴プロセッサとの結合である。電子トランザクションカード産業に適用されたとき、このセキュアプロセッサと随伴プロセッサとの結合は、レガシーシステムとの互換性を提供しながらも、例えば改良されたスマートカードおよびエミュレータカードの機能性を提供できる。
【図面の簡単な説明】
【0087】
【図1】トランザクションカードの一例の平面図である。
【図2】図1のトランザクションカードの底面図である。
【図3】図1および図2に示すトランザクションカード用の回路のブロック図である。
【図4】図3のセキュアプロセッサの例のブロック図である。
【図5】図3のセキュアプロセッサのメインプロセス動作の例のフロー図である。
【図6】図5の「スマートカードターミナルの実行」に係るオペレーション116の例のフロー図である。
【図7】図6の「コマンド処理」に係るオペレーション116の例のフロー図である。
【図8】図7の「データ取得−シリアルナンバ」に係るオペレーション132の例のフロー図である。
【図9】図7の「データ取得−キーID」に係るオペレーション134の例のフロー図である。
【図10】図7の「チャレンジ取得」に係るオペレーション136の例のフロー図である。
【図11】図7の「外部認証」に係るオペレーション138の例のフロー図である。
【図12】図7の「データ取得−パーソナライゼーション」に係るオペレーションの例のフロー図である。
【図13】図7の「プットデータ−アップデートEEPROMファームウェア」に係るオペレーション142の例のフロー図である。
【図14】図7の「プットデータ−アクティブEEPROMファームウェア」に係るオペレーション144の例のフロー図である。
【図15】図7の「プットデータ−ファームウェアのROMバージョンへのリセット」に係るオペレーション146の例のフロー図である。
【図16】図7の「データ取得−ROMファームウェア」に係るオペレーション148の例のフロー図である。
【図17】図7の「データ取得−EEPROMファームウェアバージョン」に係るオペレーション150の例のフロー図である。
【図18】図7の「プットデータ−ディバースキーの初期化」に係るオペレーション152の例のフロー図である。
【図19】図7の「プットデータ−パーソナライズ」に係るオペレーション154の例のフロー図である。
【図20】図7の「プットデータ−有効化」に係るオペレーション156の例のフロー図である。
【図21】図5の「M2の実行」に係るオペレーション118の例のフロー図である。
【図22】図3のより単純化されたゼネラルプロセッサの例のブロック図である。
【図23】図3のゼネラルプロセッサのメインプロセスの例を示すフロー図である。
【図24】図23の「ヘルパーチップ状態の初期化」に係るオペレーション372の例のフロー図である。
【図25】図24の「メニュー状態」に係るオペレーション384の例のフロー図である。
【図26A】図25の「スマートチップ状態の初期化」に係るオペレーション410の例のフロー図である。
【図26B】図25の「スマートチップ状態の初期化」に係るオペレーション410の例のフロー図である。
【図27】図26の「データ状態」に係るオペレーション476の例のフロー図である。
【図28】図27の「アクティブ状態」に係るオペレーション516の例のフロー図である。
【図29】図25のオペレーション396の例と同様に、図28の「シャットダウン状態」に係るオペレーション540の例のフロー図である。
【図30】図27の「エラー状態」に係るオペレーション490としても参照される図26の「エラー状態」に係るオペレーション420の例のフロー図である。
【図31】図26の「BIST状態」に係るオペレーション438の例のフロー図である。
【図32】信号変換のためのプロセスの例に係るブロック図である。
【図33】図3のブロードキャスタ68の例の図である。
【図34】ブロードキャスタ68インターフェースの例の図である。
【図35】信号変換の例の種々の波形を示す図である。
【図36】ASICの具体例のブロック図である。
【図37A】RCネットワークバッファリング回路66の例に係る回路図である。
【図37B】RCネットワークバッファリング回路66の例に係る回路図である。
【図38】バッファリング回路66の例によって作り出される波形のグラフである。
【図39A】バッファリング回路66の例によって作り出されるデュアルトラック波形のグラフである。
【図39B】バッファリング回路66の例によって作り出されるデュアルトラック波形のグラフである。
【図39C】バッファリング回路66の例によって作り出されるデュアルトラック波形のグラフである。
【図39D】バッファリング回路66の例によって作り出されるデュアルトラック波形のグラフである。

【特許請求の範囲】
【請求項1】
信号ポート、電源ポート、および接地ポートを有する外部アクセス可能なカードインターフェースが提供されるカードボディと、カードボディによって運ばれるとともに信号ポート、電源ポート、および接地ポートに接続されるセキュアプロセッサとを備える改良されたスマートカードであって、
カードボディによって運ばれるゼネラルプロセッサであって、電源に接続され、かつ、セキュアプロセッサがスマートカードモードで使用されるときに、電力をセキュアプロセッサに供給しかつセキュアプロセッサと通信するよう動作するゼネラルプロセッサ
を備えることを特徴とする改良されたスマートカード。
【請求項2】
カードボディは、プラスチック材料を含み、外部からアクセス可能なカードインターフェースは、コンタクトパッドを含む請求項1に記載の改良されたスマートカード。
【請求項3】
外部からアクセス可能なカードインターフェースは、コマンドポートとクロックポートをさらに含む請求項2に記載の改良されたスマートカード。
【請求項4】
外部からアクセス可能なカードインターフェースは、ISO7816インターフェースである請求項2に記載の改良されたスマートカード。
【請求項5】
セキュアプロセッサは、ISO7816に従うプロセッサである請求項4に記載の改良されたスマートカード。
【請求項6】
ゼネラルプロセッサは、ISO7816に従うカードリーダをエミュレートする請求項5に記載の改良されたスマートカード。
【請求項7】
ゼネラルプロセッサは、ISO7816に従うカードリーダの通信とは全く同じではない方法でセキュアプロセッサと通信する請求項5に記載の改良されたスマートカード。
【請求項8】
ゼネラルプロセッサは、複数のI/Oポートを備える請求項1に記載の改良されたスマートカード。
【請求項9】
カードボディによって運ばれるとともにゼネラルプロセッサのI/Oポートの少なくとも1つと接続されるディスプレイをさらに含む請求項1に記載の改良されたスマートカード。
【請求項10】
ディスプレイは、視覚的なディスプレイ、触覚的なディスプレイ、聴覚的なディスプレイの少なくとも1つである請求項9に記載の改良されたスマートカード。
【請求項11】
ディスプレイは視覚的なディスプレイであり、フラットパネルディスプレイとライトディスプレイの少なくとも1つを含む請求項9に記載の改良されたスマートカード。
【請求項12】
ボディによって運ばれるとともに、ゼネラルプロセッサの複数のI/Oポートの少なくとも1つに接続される少なくとも1つのスイッチをさらに含む請求項8に記載の改良されたスマートカード。
【請求項13】
複数のスイッチはキーパッドとされる請求項12に記載の改良されたスマートカード。
【請求項14】
カードボディに運ばれるとともに、ゼネラルプロセッサのI/Oポートの少なくとも1つに接続されるストライプエミュレータをさらに含む請求項8に記載の改良されたスマートカード。
【請求項15】
ストライプエミュレータは、電子磁気ブロードキャスタを含む請求項14に記載の改良されたスマートカード。
【請求項16】
ストライプエミュレータは、ゼネラルプロセッサのI/Oポートの少なくとも1つに電子磁気ブロードキャスタを接続する信号プロセッサをさらに含む請求項15に記載の改良されたスマートカード。
【請求項17】
カードボディと、カードボディによって運ばれるセキュアプロセッサとを備えるセキュアトランザクションカードにおいて、
カードボディによって運ばれるストライプエミュレータと、
カードボディによって運ばれるとともにセキュアプロセッサとストライプエミュレータとの間に介入するゼネラルプロセッサとを備えること
を特徴とするセキュアトランザクションカード。
【請求項18】
ゼネラルプロセッサはそれぞれセキュアトランザクションカードに電力を与える請求項17に記載のセキュアトランザクションカード。
【請求項19】
セキュアプロセッサは、ISO7816に従うプロセッサである請求項18に記載のセキュアトランザクションカード。
【請求項20】
ボディによって運ばれるとともにゼネラルプロセッサに接続される視覚的なディスプレイをさらに含む請求項17に記載のセキュアトランザクションカード。
【請求項21】
視覚的なディスプレイは、少なくとも1つのフラットパネルディスプレイと少なくとも1つのLEDを含む請求項20に記載のセキュアトランザクションカード。
【請求項22】
信号ポート、電源ポート、接地ポートを有するセキュアプロセッサと、
信号ポートを経由してセキュアプロセッサに通信しようとするときに、電力と接地のすくなくとも1つを電源ポートと接地ポートのそれぞれに適用することにより、セキュアプロセッサの電源を入れるように動作するゼネラルプロセッサと
を含む随伴的なプロセッサシステム
【請求項23】
所望のトランザクションの始動のゼネラルプロセッサを伴う入力を検索すること、
ゼネラルプロセッサの指示によりセキュアプロセッサの電源を入れること、
少なくとも1つのセキュアトランザクションを提供するために、ゼネラルプロセッサとセキュアプロセッサとの間で通信すること
を含むセキュアトランザクションを提供する方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26A】
image rotate

【図26B】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37A】
image rotate

【図37B】
image rotate

【図38】
image rotate

【図39A】
image rotate

【図39B】
image rotate

【図39C】
image rotate

【図39D】
image rotate


【公表番号】特表2008−535097(P2008−535097A)
【公表日】平成20年8月28日(2008.8.28)
【国際特許分類】
【出願番号】特願2008−504249(P2008−504249)
【出願日】平成18年3月27日(2006.3.27)
【国際出願番号】PCT/US2006/011289
【国際公開番号】WO2006/105092
【国際公開日】平成18年10月5日(2006.10.5)
【出願人】(507356811)プリバシーズ,インコーポレイテッド (3)
【氏名又は名称原語表記】PRIVASYS,INC.
【住所又は居所原語表記】1153 Lawrence Drive,Newbury Park,California 91320(US)
【Fターム(参考)】