(57)【要約】【課題】カード所有者データと発行者のカード・アプリケーションを様々のタイプのカードに書込むために、どのようなパーソナル化装置に対しても使用できるようなスマートカード発行システムを提供する。【解決手段】本発明の、スマートカード発行のためのシステムは、パーソナル化手段識別子及びカード所有者に対するパーソナル化データを、カード発行者管理システムから取得するためのシステムインターフェース手段と、１のタイプのパーソナル化手段に対する特性データを、前記パーソナル化手段識別子により指定されたデータベースにおけるレコードから取得するためのパーソナル化インターフェース手段と、を有する。前記パーソナル化インターフェース手段は、更に、パーソナル化手段のタイプに関する前記特性データにより指定された前記パーソナル化手段に、前記パーソナル化データを送り、データ担体を発行する。【選択図】図１Ｂ
2010049711.tif 000002
【特許請求の範囲】
【請求項１】
カード所有者に対するパーソナル化データ及び装置特性データとを取得するステップと；
カード発行者により指定された外部プロセスを実行するステップと；
装置特性データ及び外部プロセスにより指定された前記パーソナル化装置に、前記パーソナル化データを送信し、データ担体を発行するステップとを有する、携帯可能なプログラム化データ担体のための方法。
【請求項２】
前記外部プロセスは、前記パーソナル化データが前記パーソナル化装置に送信される前に、前記パーソナル化データを修正する請求項１に記載の方法。
【請求項３】
前記外部プロセスは、前記パーソナル化装置に送信される追加データを取得し、前記追加データの送信を制御する請求項１に記載の方法。
【請求項４】
前記外部プロセスは、前記パーソナル化データを送信する行為を変更する請求項１に記載の方法。
【請求項５】
カード所有者に対するパーソナル化データ及び装置特性データとを取得するため、外部プロセスとインターフェースするため、及び、装置特性データ及び外部プロセスにより指定された前記パーソナル化装置に、前記パーソナル化データを送り、データ担体を発行するためのシステムインターフェースを、
有する携帯可能なプログラム化データ担体のためのシステム。
【請求項６】
前記外部プロセスは、前記パーソナル化データが前記パーソナル化装置に送信される前に、前記パーソナル化データを修正する請求項５に記載のシステム。
【請求項７】
前記外部プロセスは、前記パーソナル化装置に送信される追加データを取得し、前記追加データの送信を制御する請求項５に記載のシステム。
【請求項８】
前記外部プロセスは、前記パーソナル化データを送信する行為を変更する請求項５に記載のシステム。
【請求項９】
カード所有者に対するパーソナル化データ及びパーソナル化手段に対する特性データとを取得するため、及び、更に、データ担体を発行するために、前記特性データにより指定された前記パーソナル化手段に前記パーソナル化データを送信するインターフェース手段を有する携帯可能なプログラム化データ担体のためのシステム。
【請求項１０】
パーソナル化手段識別子及びカード所有者に対するパーソナル化データを、カード発行者管理システムから取得するためのシステムインターフェース手段と；
１のタイプのパーソナル化手段に対する特性データを、前記パーソナル化手段識別子により指定されたデータベースにおけるレコードから取得するためのパーソナル化インターフェース手段と；
を有する携帯可能なプログラム化データ担体のためのシステム。
ただし、前記パーソナル化インターフェース手段は、更に、パーソナル化手段のタイプに関する前記特性データにより指定された前記パーソナル化手段に、前記パーソナル化データを送り、データ担体を発行する。
【請求項１１】
前記システムインターフェース手段により取得された特性識別子により識別されるデータベースにおけるレコードからアプリケーションデータを取得するためのアプリケーションインターフェース手段；および、
前記特性データにより指定された前記パーソナル化手段に、更に、前記アプリケーションデータを送信するための前記パーソナル化インターフェース手段；
を有する請求項１０に記載のシステム。
【請求項１２】
前記システムインターフェース手段により取得されたカードオペレーティングシステム識別子により識別されるデータベースにおけるレコードから、プログラミング制御コマンドを取得するためのオペレーティングシステム インターフェース手段；及び
前記特性データにより指定された前記パーソナル化手段に、更に、前記プログラミング制御コマンドを送信するための前記パーソナル化インターフェース手段；
を有する請求項１０に記載のシステム。
【請求項１３】
前記カード発行者管理システムにより供給されるデータフォーマット識別子により識別されるデータベースにおけるレコードから、更に、フォーマットテンプレートデータを取得し、前記フォーマットテンプレートデータにより規定されるフォーマットから内部フォーマットに、前記パーソナル化データを変換し、前記パーソナル化インターフェースは前記変換されたパーソナル化データを前記パーソナル化手段に送信する請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記憶装置に関し、特に、クレジットカード、デビットカード、身分証明カード、及び他の取引きカード等のプログラムされた携帯型データ担体を作成する方法に関する。
【背景技術】
【０００２】
ユーザ、顧客又は従業員に対して取引きカードを発行する団体の数は増加しており、特定の機能又は用途に対する要件を満足するように作成されたカードが必要となっている。これらの団体は、カード所有者に関するデータをカードに持たせようとしている。既存の取引きカードは、このようなデータをカードの裏の磁気ストライプに記録しているが、磁気ストライプが記憶するデータ量は限られている。新タイプの取引きカードは、カードのプラスチック部分にマイクロプロセッサ・コンピュータチップを埋設し、カードのデータ記憶容量を増大させている。これに加え、チップの種類に依ってはカード発行者特有の洗練されたカード・アプリケーションを実行し得ると共に、チップが所定型式のオペレーティングシステムを含むようにできる。産業界では、チップが埋設された取引きカードは、プログラムされた携帯型データ担体と呼び、更に一般的には“スマートカード(smart card)”と称している。スマートカードの表面はエンボス及び／又は印刷されると同時に、初期化及び／又は個人化データによりプログラムされる。
【０００３】
初期化データは３つの主要な種類の情報を備えている。即ち、アプリケーション・データ、セキュリティ・データ、及び、印刷されたデータ、である。アプリケーション・データは、所定の用途向けの、全てのカードに対して共通であり、アプリケーション・プログラムコード及び変数を含んでいる。
また、セキュリティ・データは、カードの不正使用を防止すると共に、通常は“セキュリティ・キー”の形態で提供される。そして、ロゴ、バーコードなどの印刷データ、及び、様々の種類の数値情報がカードの表面上に配置される。同一のデータの幾つか又は全ては、表面上にエンボス加工することができる。また、光学技術を使って、カード表面の一部又は全てを、適切な光学読取器でデータアクセスできる記憶媒体にしてもよい。
【０００４】
スマートカードはまた、“パーソナル化（personalization）”と呼ぶプロセスにより、個々のカード所有者に特有な情報を使ってプログラムされる。スマートカードのパーソナル化情報は、非スマートカードに現在記憶されているパーソナル化情報と同様であり、それは、カード所有者の氏名、口座番号、カード満了日、及び写真等である。記憶の大容量化により、スマートカードのチップは標準的な取引きカードに含まれる基本情報に加え追加的なデータを記憶できる。例えば、個人のしたサインの図形画像、カード所有者に与えられたサービスのタイプを規定するデータ、及び、前記サービス料金の限度である。
【０００５】
スマートカードの発行プロセスは、パーソナル化カード及びパーソナル化プロセスの結果を制御し、そのレポートを行わねばならない。従って、カード追跡要件をサポートする為には、多大なレポートファイル及び監査ファイルを維持しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
現在、スマートカード発行システムについて、特定のカード・オペレーティングシステムの制御下で特定タイプのスマートカード上にプログラムされる特定のカード・アプリケーションの要件に適合させ、又、カード発行のために選択された特定タイプのパーソナル化装置（personalization equipment）と互換性を有するカードをデータフォーマットさせねばならない。
このため、これらの変数（発行者のアプリケーション、スマートカード／カード・オペレーティングシステム、及び／又は、パーソナル化装置）のいずれか一つが変更された時は、常に発行システム全体を再構成せねばならず、パーソナル化スマートカードを顧客に発行するのに、カード発行者は多大な時間とコストを費やしている。又、現在、多くの発行システムは、個別のカードの処理バッチの状況について、カード発行者に対しダイナミックなフィードバックを提供する有効な手段を有していない。
【０００７】
更に、今日使用されているスマートカード発行システムは、カード製造業者又はパーソナル化装置の製造業者のいずれかが開発した独自の方法（proprietary approach）を利用している。各製造業者はカード又は設備の販売促進のために、特定のカード・アプリケーションに対して独自のパーソナル化ソルーションを開発しているので、各ソルーションはカード発行者毎に異なっている。これらの独自のソルーションは、カード又は設備の性能を最適化することを意図するものであるが、どのようなカード・オペレーティングシステム、及び／又は、どのようなパーソナル化装置が行う作業を受け入れるような包括的、汎用のパーソナル化プロセスを許容するものではない。
【０００８】
スマートカードに対する需要が増大するにつれ、スマートカード発行システムとして、カード発行者が、必要とされるカード所有者データと発行者の特定のカード・アプリケーションを各種タイプのカードに書込むために、どのタイプのパーソナル化装置に対しても、それに付随するどのオペレーティングシステムをも使用できるようなスマートカード発行システムが必要とされている。
【課題を解決するための手段】
【０００９】
本発明のスマートカード・パーソナル化システムは、カード・アプリケーション・データ（card application data）、発行者フォーマット・テンプレート・データ(issuer format template data)、カード・オペレーティングシステム・データ(card operating system data)、及び、パーソナル化装置データ(personalization equipment data)を含むデータベースを保持し、カード発行者が、カード発行プロセスにおいて、発行プロセスに対するカード発行者のインタフェイスを変更することなく、カード・アプリケーション、カード及びカード・オペレーティングシステム、及び／又は、パーソナル化装置をダイナミックに変更するのを許容する。
【００１０】
上記スマートカード・パーソナル化システムはプログラムされた携帯型データ担体、即ちスマートカードを発行する。前記発行は先ず、カード発行者管理システム（card issuer management system)から、データフォーマット識別子（ID）、カード・オペレーティングシステム識別子、パーソナル化装置識別子、１つ又は複数のアプリケーション・プログラム識別子、及び、カード所有者用パーソナル化データを入手することで行われる。前記識別子により、システムはデータベースなどのデータ構造内に記憶されたデータにアドレスすることができる。各カード発行者はそのパーソナル化データを別々にフォーマットするので複数のデータフォーマットを持つ。前記スマートカード・パーソナル化システムは、データフォーマット・テンプレートのデータベースを有し、複数のカード発行者管理システムとのインタフェイスを可能とする。前記システムは、データフォーマット識別子が指定するデータベース内レコードから、特定のカード発行者が使用するパーソナル化データ定義用フォーマット・テンプレートを入手する。前記システムは上記データフォーマット・テンプレートを使って、パーソナル化データを、カード発行者のフォーマットからシステムの構成要素が認識できる内部フォーマットに翻訳する。前記システムはカード・オペレーティングシステム識別子及びアプリケーション・プログラム識別子を使って、カードに埋込まれたマイクロプロセッサチップ内のオペレーティングシステムに対するプログラミング制御命令とアプリケーション・プログラム・タイプに対するアプリケーション・データとを、コード及び／又は変数の形で上記データベースから入手する。又、システムは、スマートカードを発行するために使うパーソナル化装置の装置特性データを、上記パーソナル化装置の識別子を用いて入手する。
【００１１】
スマートカードの発行に必要な全てのデータを前記システムが一旦入手すると、該システムは、プログラミング制御コマンド、アプリケーションコード及び変数、並びに、変換されたパーソナル化データを、装置特性データが指定するパーソナル化装置に転送する。
【００１２】
別の実施例の場合、カード発行者は如何なるデータフォーマット識別子をも出さない。その理由は、データフォーマット・テンプレートはアプリケーション・データレコード内のデータから導出されるからである、又は、パーソナル化のフォーマットが前記システムの内部フォーマットと１対１に対応するからである。カード発行者は、データフォーマット識別子の代わりにデータフォーマット・テンプレート・レコードを用いることができるから、前記システムはフォーマット・レコードのデータベースを参照する必要がない。
【００１３】
上記スマートカード・パーソナル化システムの他の一つの特徴は、そのカード管理機能である。スマートカード・パーソナル化システムはカード発行プロセスに関する情報を収集し、この情報をカード発行者管理システムに対してレポートする。
一方、スマートカードは、チップ内にプログラムされるカードの不正使用を防止する一以上の“セキュリティキー”を有している。セキュリティキー・データはスマートカード・パーソナル化システムが、カード発行者が保存するセキュリティキー・レコード又は別のセキュリティ・ソースから取得し、パーソナル化装置へ転送する。前記セキュリティソースは、スマートカード・パーソナル化システムが使用するセキュリティ機能を提供し、前記システムとの間のデータの伝送の間における、又、スマートカードのパーソナル化プロセスの間のシステム内における、データの完全性及び秘密性を確保する。
【００１４】
上記スマートカード管理システムは、一つ又は複数のコンピュータ上で実行される一連のソフトウェアモジュールを介して上記機能を実行する。一つのモジュールはカード発行者管理（card issuer management system)システム・インタフェイスであるが、該インタフェイスは、カード発行者管理システムから、データフォーマット識別子、カード・オペレーティングシステム識別子、パーソナル化装置の識別子、アプリケーション・プログラム識別子、及び、カード所有者用パーソナル化データを、入手する。カード発行者管理システム・インタフェイスは次に、データフォーマット識別子を用いてフォーマット・テンプレートを入手する。これは、パーソナル化データを定義すると共にパーソナル化データを共通の内部データフォーマットに変換するものである。カード・オペレーティングシステム・インタフェイス・モジュールは、カード・オペレーティングシステム識別子により指定されたカード・オペレーティングシステムタイプに対するプログラミング制御コマンドを入手する。カード・アプリケーション・インタフェイス・モジュールは、アプリケーション・プログラム識別子を用いることによりどのタイプのアプリケーション・プログラムがカード上に配置されるべきかを決定すると共に、指定されたアプリケーションコード及び変数を入手する。パーソナル化用機器インタフェイス・モジュールが行うべきことは、パーソナル化装置の識別子により指定されたパーソナル化用機器タイプに対する機器特性データの取得と、更に、機器特性データにより規定された要件に従い、プログラミング制御命令、アプリケーションコード及び変数、並びに、変換されたパーソナル化データをパーソナル化装置に転送することである。
【００１５】
レポーティング機能及びセキュリティ機能は、追跡／レポートモジュール及びセキュリティキー管理モジュールが提供する。
【００１６】
上記スマートカード・パーソナル化システムはコンピュータ記憶媒体内に存在するデータベース等の基礎データ構造を用い、スマートカードの発行に必要なデータを形成する。このデータ構造は幾つかの異なるタイプのデータ・エレメントから成り、指定されたデータに迅速にアクセスするために“インデックス”又は“識別子”を使用する。上記システム内には４つの主要データの要素がある。それらは、データフォーマットの要素、カード・オペレーティングシステムの要素、アプリケーション・プログラムの要素、及び、パーソナル化装置の要素である。
【００１７】
上記データフォーマット要素は、テンプレートを有する。このテンプレートはカード発行者が使うパーソナル化データのフォーマットを規定する。データフォーマット要素は種々のカード発行者に対するデータフォーマット要素を含む。データベース内に記憶され、データフォーマット要素内に記憶された情報はデータフォーマット識別子によりアクセスされる。カードが発行されるときにデータフォーマット要素がアプリケーション・プログラム要素内のデータから導出され、カード発行者が渡すアプリケーション・プログラム識別子がデータフォーマットを指定するようにしてもよい。パーソナル化データのデータフォーマットがスマートカード・パーソナル化システムの内部フォーマットに正確に対応するときは、データフォーマット・テンプレートは論理的に暗示され、前記テンプレートは発行プロセスのために仮想的な（virtual）データフォーマットの要素を生成する。
【００１８】
カード・オペレーティングシステム要素は、プログラミング制御命令を持ち、カード・オペレーティングシステム識別子によってアクセスされる。前記命令は、スマートカード・チップを制御するカード・オペレーティングシステムを制御するものである。
【００１９】
アプリケーション・プログラム要素は、種々のカード発行者に関連するアプリケーションが必要とするプログラムコード及び変数などのアプリケーション・データを含み、アプリケーション・データはアプリケーション・プログラム識別子によりアクセスされる。
【００２０】
種々のタイプのパーソナル化装置に対する作用パラメータ（operating parameter）は、スマートカード発行に使われ、パーソナル化装置の要素に記憶される。同パラメータは、発行作業に使用されるパーソナル化装置のタイプに対応するパーソナル化装置の識別子を介してアクセスされる。
前記システムの全面的な弾力性を必要としないカード発行者をサポートするには、特殊な形態のスマートカード・パーソナル化システムを使えばよい。
【００２１】
上記スマートカード・パーソナル化システムは先行技術の弱点に対処するのに、スマートカード・パーソナル化処理に対する入出力の集中化インタフェイスを提供することで行われ、発行プロセスにおける変更にダイナミックに適合するよう設計される。前記システムは、任意の発行者管理システムとインタフェイスし、使用される特定のパーソナル化装置に対するカード所有者データ及びカード・アプリケーションの転送を管理し、リアルタイム及びオフラインの照会に対する統計を収集して重要な管理及びレポート機能をサポートする。上記システムは発行者データフォーマット、カード・オペレーティングシステム、カード・アプリケーション・プログラム、及び、パーソナル化装置のタイプ、のデータベースを維持管理する。このデータベースはシステムに対し任意のデータの組合せ又は順列を可能にし、従って、発行者に対し出荷を行う上でのコストと時間を改善することができる。更に、上記システムは種々のカードセキュリティ法と適合し、不正使用を減少させる。
【発明を実施するための形態】
【００２２】
添付図面を参照し、以下、実施例の詳細な説明を行う。前記図面は本明細書の一部を成すと共に本発明の具体的な実施例を例示するものである。前記実施例は当業者が本発明を実施するために十分に詳細に記述されているが、本発明の精神及び範囲から逸脱することなく他の実施例を活用すると共に構造的、論理的及び電気的な変更を行い得ることは理解されよう。従って、以下の詳細な説明は限定的なものと解釈してはならず、本発明の範囲は添付の請求の範囲によってのみ定義される。
図面中における参照番号の先行数字は通常は図面番号に対応するが、複数の図面に現われる同一構成要素は同一の参照番号で識別される。
【００２３】
スマートカードの発行
通常のクレディットカード等、標準的な取引きカードを、多くの人が使っている。取引きカードは、通常、その表面に印刷及び／又はエンボス加工された氏名と口座番号等のカード所有者に関する情報を有している。また、多くの取引きカードは、カード所有者のデータがコード化された磁気ストライプを有している。各取引きカードに対してカード所有者データを印刷／エンボス加工／コード化するプロセスは、“個人化（パーソナル化）”として知られている。また、各取引きカードに“初期化”として知られた処理を行うが、該処理においては、バッチにおける全カードに対して共通な発行者識別子及びバッチ番号等の情報がカード上に配置される。
【００２４】
スマートカードは、カードのプラスチック内にコンピュータ・マイクロプロセッサ・チップが埋め込まれ、カードのデータ記憶容量を増大させるという点で標準的な取引きカードと相違している。また、スマートカードの種類によっては、カードの製造業者が複数のカード・オペレーティングシステムの一つをチップに予め搭載し、同オペレーティングシステムがパーソナル化プロセスの期間にチップのプログラミングを制御するものもある。更に、チップの種類によっては、カード発行者特有の非常に複雑なカード・アプリケーションを実行することが可能である。
【００２５】
スマートカードに対する初期化データは３つの主要な種類の情報を備えている。アプリケーション・データ、セキュリティ・データ、及び、印刷されたデータである。アプリケーション データは、所定用途の全カードに対して共通であり、チップ内にプログラムされるアプリケーション・プログラムコード及び変数を含む。
また、セキュリティ・データは、通常はセキュリティキー又はセキュリティ機能を提供し、カード上のデータを有効化し、且つ、カードの不正使用を防止するものである。
又、ロゴ、バーコードなどの印刷データ、及び、様々の種類の数値情報はカードの表面上に配置される。同一のデータの一部もしくは全ても、表面上にエンボス加工され得る。更に、スマートカードの表面の一部を、適切な光学読取器を使ってデータアクセスできる記憶媒体とすべく、光学技術も採用され得る。
【００２６】
スマートカードに対するパーソナル化情報は、非スマートカードに現在含まれるカード所有者氏名、口座番号、カード満了日、及び写真などのパーソナル化情報と類似している。記憶容量が大きいので、スマートカードのチップは標準的取引きカードの基本情報を超えて付加的データを持たすことができるが、これには、個人のサイン（署名）画像、カード所有者に付与されたサービスの種類を定義するデータ、及び、これらのサービスに対する口座限度額が含まれる。
【００２７】
スマートカードパーソナル化のシステム
図１Ａは、本発明のスマートカード・パーソナル化システムの実施例のスマートカード発行プロセスの構成要素を示す。スマートカード・パーソナル化システム100 は、（通常はカード発行者専有の）カード発行者管理システム150（card issuer management system) からデータを受信し、データをデータストリームに翻訳し、スマートカード160 をパーソナル化するパーソナル化装置130 に同データストリームを出力する。カード発行者管理システム150 は、カード所有者データを管理し、発行すべきカードのタイプと、カード内に書込まれるべきカード・アプリケーションと、特定のカード所有者に対しカードを発行する上で使用すべきパーソナル化装置とを決定する。カード発行者管理システムは図１Ａに示されるようにコンピュータプログラムであることが多いが、スマートカード・パーソナル(個人)化システム100 は、電話機のキーパッドからの個人的入力等の別の入力によるデータを受信することができる。
【００２８】
スマートカード・パーソナル化システム100 は、コンピュータ内で実行されるソフトウェアプログラムとして図１Ａに示される。以下に記述されるように、スマートカード・パーソナル化システム100 は、種々のタイプのカード及びカード・オペレーティングシステム、カード・アプリケーション、並びに、パーソナル化装置を定義するデータベースレコードにアクセスする。
ソフトウェア及びデータベースの論理機能は、クライアント／サーバネットワークにおけるコンピュータに分散させてもよく、又は、単一プロセッサに集中化しても良い。前記機能は、複数のプロセッサを緩く結合するよう使用される、標準的ＬＡＮ、ＷＡＮ、専用電話線又は他の通信手段を介して接続されるプロセッサ間に分散され得る。上記ソフトウェアプログラムは、UNIX（登録商標）、Windows（登録商標） 95( 登録商標) もしくはWindows（登録商標） NT( 登録商標) 、及び、工業標準ワークステーション及び／又はパーソナルコンピュータ・ハードウェアなどのオペレーティングシステム上で実行される。
【００２９】
システム100 は、パーソナル化用システム130 として図１Ａに集合的に示す、カードプリンタ、エンボス加工装置、及び、集積された又は付加されたスマートカードインタフェイス装置を制御する。パーソナル化用機器130 は、大容量カードプリンタ／エンボス加工器、小容量カードプリンタ／エンボス加工器、現金自動預け払い機(ATM) 、POS 端末、無人キオスク、パーソナルコンピュータ、ネットワークコンピュータ、及びオンライン通信装置などの装置を表す。多くのカード発行者は既存の非スマートカードパーソナル化装置に投資を行っていることから、全く新たなスマートカードパーソナル化装置を購入せず、代わりに、自分が所有する既存のパーソナル化装置にスマートカードインタフェイス装置を追加するだろう。該インタフェイス装置はカードのチップをプログラムし、旧装置は印刷及びエンボス加工機能を行う。この構成においては、スマートカード・パーソナル化システム100 を実行するコンピュータシステム、即ち“ホスト”は、これらの装置の両方又は一方のみに物理的に接続され得る。後者の場合、ホストは直接接続された装置を制御し、他方に対し論理接続を有する。但し、各装置とホストとの間の物理的接続は、装置の製造業者及びモデルにより変更される。一般的な業界標準接続としては、RS232C、SCSI（Small Computer System Interface）、イーサネット（登録商標）、及び、シリアルTTL （Transister-Transister Logic）が挙げられる。これに加え、装置に依っては専用のバス接続が必要となる。
【００３０】
スマートカード・パーソナル化システム100 、カード管理システム150 及び装置130 の接続は、標準的ＬＡＮ、ＷＡＮ、専用電話線、又は、データの転送に使用される他の遠隔通信インフラストラクチャ、を介して実現される。スマートカードをパーソナル化する時のこのような遠隔接続の使用は、Laing ほかに1996年7 月9 日に発行された米国特許第5,524,857 号に記述されている。別の接続も当業者にとり明らかであり、本発明の範囲内である。
図１Ｂはスマートカード・パーソナル化システムの一実施例のブロック図であり、スマートカード・パーソナル化システム100 とスマートカードを発行するカード発行団体により採用される機能との間の論理接続を示す。カード発行団体により管理維持されるカード所有者データは、氏名、口座番号、カード満了日及び適用サービスなどの、個々のカード所有者に関する情報を含む。カード発行者管理システム150 に対してカード所有者データを入力する種々の方法は、図１Ｂにおいてカード所有者データ152 として破線で示される。カード発行者管理システム150 は、磁気テープ、フロッピー（登録商標）ディスク、又はCD-ROMなどのコンピュータ媒体によりカード所有者データを受理することができる。代替的に、カード所有者データ152はオンライン接続を介して入力され得るが、それは、汎用の交換式電話網、パケット式交換網、即ちインターネット、専用線、又は、ケーブル／衛星テレビ信号などである。当業者であれば、システム150 に対してカード所有者データ152 を入力する付加的な手法は明らかであろう。
カード発行者管理システム150 に加え、カード発行者は典型的に既存のレポート機能154 を有し、該機能により、スマートカード・パーソナル化システム100 は該システム100 により保持された統計的情報をカード発行者が吟味することができようインタフェイスを行う。同様にカード発行者により提供されると共にセキュリティキー管理装置111 及びセキュリティキー・データベース128 として示される外部セキュリティ源は、カード発行者管理システム150 及びスマートカード・パーソナル化システム100 と協働して作用するセキュリティ機能を提供する。図１Ｂはまた、付加されたスマートカードインタフェイス装置を有するカード発行者を支持するスマートカード・パーソナル化システム100 の代替的実施例をも示す。システム100 は、パーソナル化情報の一部をそれまでのパーソナル化用機器130 に導き、残りのデータを、チップをプログラムするスマートカードインタフェイス装置132 内のポストプロセッサ132 に導く。これらの機能は以下に詳述する。
【００３１】
以下の図面に示されるスマートカード・パーソナル化システム100 に対するソフトウェアプログラムの実施例は、発行プロセスの特定部分を各々実行するモジュールによるコードモジュールの組合せとして機能する。これらの実施例において、各モジュールは定義された入力及び出力プログラム呼出により連結されると共に、データ構造内に記憶されたデータに対するアクセスを提供する標準的なデータ照会命令によりデータ構造に連結される。但し、各モジュール間、及び、各モジュールとデータ構造との間の通信プロトコルは、各モジュールが記述された言語、及び、データベースを支持するよう採用される基本的なデータ管理システム、に依存して変化する。
【００３２】
図１Ｃは、外部セキュリティ機能を備えない、図１Ｂのスマートカード・パーソナル化システム100 の更に詳細なブロック図である。図１Ｃはソフトウェアモジュールとデータベースレコードとの間の内部接続を示し、これにより、スマートカードを発行する場合においてスマートカード・パーソナル化システム100 は、複数のタイプの発行者側データフォーマット、カード・オペレーティングシステム、カード・アプリケーション及びパーソナル化装置を組合せ得ることになる。
スマートカード・パーソナル化システム100 は、カード発行者管理システム150 に対し、顧客向きにされたカード発行者管理インタフェイス101 を提供する。この実施例においては、カード発行者管理システム150 はパーソナル化データをカード所有者データベース152 からシステム100 に対して引渡す。システム100 内の各ソフトウェアモジュールは、特定の内部フォーマットでパーソナル化データが引渡されることを期待する。パーソナル化データは、上記ソフトウェアモジュールにより期待された内部フォーマットとは異なることが多いカード発行者定義の外部フォーマットであることから、パーソナル化データはシステム100 によりデータフォーマット・テンプレートを用いて内部フォーマットに変換される。システム100はカード発行者により引渡されたデータフォーマット識別子を介してデータフォーマット・テンプレートを取得しても良く、システム100 はこれを使用して、選択的データフォーマット・テンプレート記録120 とカード発行者管理システムインタフェイス101 との間の選択的接続として示された記録120 （図１Ｃに破線で示されるもの）を入手する。代替的に、カード発行者は、データフォーマット識別子の代わりにデータフォーマット・テンプレート・レコードをシステム100 に引渡す。別の実施例においては、データフォーマット・テンプレートは、カード・アプリケーション・データベース124とカード発行者管理システムインタフェイス101 との間の選択的接続として示され、発行者により引渡されたアプリケーション・プログラム識別子であるカード・アプリケーション記録124 から導かれ得る。
図１Ｃの更なる代替的実施例においては、カード・アプリケーション記録の一部としてセキュリティ機能をスマートカード・パーソナル化システム100 に引渡すことにより、セキュリティ機能はシステム100 の内部に提供される。
【００３３】
パーソナル化データフォーマットが内部フォーマットと合致するという更なる代替的実施例もまた、図１Ｃに示されている。この実施例においては外部フォーマットと内部フォーマットとの間の変換は不要であることから、データフォーマット・テンプレートは何ら必要とされず、従って、データフォーマット記録120 と、カード発行者管理システムインタフェイス101 及びデータフォーマット記録120 の間の接続と、カード・アプリケーション・データベース124 と、は示されていない。データフォーマット・レコード120 は複数のテーブルから成ることができるが、これらは、パーソナル化データの適切な解析、もしくは、カード所有者データ記録のフィールドが現われる順番を示す単純なリストに関してシステム100 に指示を与えるものであり、当業者には自明であろう。上述したパーソナル化データのフォーマットを決定する種々の代替的手順は、本明細書中に記述されるスマートカード・パーソナル化システム100 の全ての実施例において自明なものである。
【００３４】
カード発行者管理システム150 により与えられたカード識別子を用い、カード・オペレーティングシステム・インタフェイス・モジュール103 は、発行されつつあるタイプのカードに埋設されたマイクロプロセッサチップに対するカード・オペレーティングシステム122 に特有のプログラミング制御コマンドを検索する。プログラミング制御命令は、カード発行者により選択されたパーソナル化データ及び単一もしくは複数のカード・アプリケーションによりチップのコード化を行わせる。
【００３５】
各カード・アプリケーションはプログラムコード及び可変データを備えるが、可変データは、アプリケーション・データ124 としてデータベース内に記憶されると共にアプリケーション・プログラム識別子により指定される。カード発行者管理システム150 はひとつ以上のプログラムアプリケーション識別子をシステム100 に引渡し、これは、対応するアプリケーション・データ124 を取得すべくカード・アプリケーション・インタフェイス・モジュール105 により使用される。
【００３６】
カードのバッチを発行すべくカード発行者が使用を企図するパーソナル化装置は、パーソナル化装置の識別子により定義される。パーソナル化装置インタフェイス・モジュール107 は、パーソナル化装置の識別子に対応するパーソナル化装置130 のタイプに特有の装置特性データ126 を入手する。パーソナル化装置インタフェイス107 はまた、プログラミング制御コマンド、アプリケーションコード及び変数、並びに変換されたパーソナル化データをも取得し、装置特性データ126 により指定されたパーソナル化装置130 に対してこれらのデータの全てを転送し、スマートカードを発行する。
【００３７】
システム100 の代替的実施例は、スマートカード・プログラミング装置により既存のパーソナル化装置を拡張したカード発行者を支持するが、この拡張は、パーソナル化装置インタフェイス107により、変換されたパーソナル化情報の部分集合をそれまでのパーソナル化装置130 に導くと共に、データの残存部分をスマートカード・プログラミング装置のポストプロセッサ132 に導くことで行われる。
【００３８】
スマートカード・パーソナル化システム100 はまた、追跡／レポートモジュール、即ちエンジン109 をも提供するが、該エンジン109は、システム100 内の他のモジュールから統計的情報を収集すると共に、ハードコピー・レポート154 としての出力、又は、カード発行者管理システム150 内のレポート機能への入力の為に統計的情報をフォーマットする。この統計的情報はリアルタイムで収集されつつあることから、カード発行者管理システム150 は追跡／レポートモジュール109 に対してインタラクティブに照会を行い、実行中のスマートカード・パーソナル化システムに関する統計を入手する。追跡／レポートモジュール109 により監視される項目の例は、図１４に示されている。
【００３９】
図２に示される代替的実施例において、スマートカード・パーソナル化システム100 は、セキュリティキー管理装置・モジュール111 及び安全キー・データベース128 の形態のセキュリティ源を含んでいる。スマートカードが製造されるとき、その販売者はチップにセキュリティ構造を含ませ、無権限プログラミングを防止する。セキュリティ構造の実現は通常、チップにプログラムされるアプリケーションに依存する。例えば、値記憶アプリケーション内にプログラムされたセキュリティキーは、健康管理アプリケーションにプログラムされたセキュリティキーと異なるものである。また、セキュリティ構造の実現は、カードのタイプに依っても変更され；或るカードはチッププログラミングを可能とする単一個のセキュリティキーを必要とする一方、他のカードはチッププログラミングを可能とすると共に付加的なセキュリティ機能を実現する複数のセキュリティキーを必要とする。図２は、複数のセキュリティキーを要するカードのセキュリティ構造とインタフェイスを行うときの安全キーマネージャ111 の基本機能を示している。
【００４０】
図２に示される如く、セキュリティキー・データはスマートカード・パーソナル化システム100 の外部の安全キー・データベース128 内に記憶されると共に、カード発行者もしくは他のセキュリティ源により保持される。更に多くのもしくは更に少ないセキュリティキーを処理すると共にスマートカード・パーソナル化システム100 自体により管理されるセキュリティキー・データベースとインタフェイスすべくセキュリティキー管理装置111 を拡張することは、特定のカード発行アプリケーションにおいて用いられるアプリケーション、オペレーティングシステム、及びパーソナル化装置に依存するものであり、当業者には自明であろう。
【００４１】
セキュリティキー管理装置111 はまた、セキュリティキー・データ認証、データの完全性、及びデータ機密性を確かなものとする付加的なメカニズムも提供する。一実施例において、セキュリティキーデータ認証は種々の暗号化方法を実現することで行われる。セキュリティキーのデータの完全性は、有効ソースから送信及び受信されつつあるセキュリティキー・データを確かなものとする公開鍵を用いるデジタル署名メカニズムにより達成される。セキュリティキー・データの機密性は送信データを秘密鍵で暗号化することにより確かなものとされるが、この秘密鍵はデータ受信者により共有されると共に受信後にデータを解読すべくデータ受信者により使用されるものである。
【００４２】
システム100 がセキュリティキー・データベース128 からセキュリティキー・レコードを受けた後、セキュリティキー管理装置111 は、カード・オペレーティングシステム・インタフェイス103 及びカード・アプリケーション・インタフェイス105 と協働し、セキュリティキー認証、データの完全性及びデータ機密性の機能を実現する。システム100 は次に、パーソナル化装置インタフェイス107 を介し、セキュリティキー・データを他のカードデータと共にパーソナル化装置130 に転送する。
【００４３】
他の実施例においては、セキュリティキーマネージャ111 はセキュリティ情報をスマートカード・パーソナル化システム100 の他のモジュールに引渡す。例えば、PIN （個人識別子番号）コードなどのカード所有者データの部分は、スマートカード・パーソナル化システム100 に対してデータを引渡す前にカード発行者管理システム150 により暗号化され得る。カード発行者管理システムインタフェイス101 はセキュリティキーマネージャ111 を介してセキュリティキー・データベース128 から暗号化用キーを検索すると共に、PIN コードをコード化もしくはプログラミングする前のデータを磁気ストライプ及び／又はチップ内に復号する。
【００４４】
更に他の実施例において、セキュリティキーの管理装置111 は、必要なセキュリティ機能を供給する外部セキュリティ源に対するゲートウェイ接続を提供する、スマートカード・パーソナル化システム100 内へのコード“フック(hook)”である。このような外部セキュリティ源の例は、第三者により記述されてセキュリティキー・データベース128 と同様に安全キー及び／又はセキュリティ機能のセキュリティ・データベースを管理するセキュリティ管理プログラムである。セキュリティ機能は、セキュリティ管理装置により実行される外部ルーチン、又は、そのときにスマートカード・パーソナル化システム100 により実行されて所要のセキュリティ機能を提供すべくセキュリティ管理装置により引渡されたコードモジュール、又はその両者、であり得る。
図３は、スマートカード・パーソナル化システム100 の最小限の配置構成を示している。この実施例においては、カード発行者管理システムインタフェイス101 及びパーソナル化装置のインタフェイス・モジュール107 のみがソフトウェアで有効とされている。この実施例はスマートカード・パーソナル化システム100 が非スマートカードをパーソナル化するのを許容していることから、２個の別体のパーソナル化システムを用意するコストを節約する一方、複数のデータフォーマット及び複数のタイプのパーソナル化装置をカード発行者が使用することを許容する。図３はまた、図１Ｃに関し上述した追跡／レポートモジュール109 を含む付加的な他の実施例も示している。
【００４５】
更に他の実施例においては、図３に示されたスマートカード・パーソナル化システム100 は、パーソナル化装置130 として光学的コード化設備が使用されるときにデータを光学的取引きカードにコード化する。
【００４６】
図４及び図５は、カード発行者がスマートカード・チップ上にカード・アプリケーションをプログラムしないときに実現される更なる代替的実施例を示している。これらの実施例によればカード発行者は、スマートカード・パーソナル化システム100 を再構成すること無く、複数のタイプのパーソナル化装置に必然的に多くの種類のオペレーティングシステムと共に複数のカードタイプを発行することが許容される。図１Ｃに関して上述した如く、図４はレポート及びポストプロセッシングを支持するモジュールを含んでいる。図５は図４の実施例を示しているが、パーソナル化装置130 に送信を行うカード・オペレーティングシステム・インタフェイス103 に対してセキュリティを与えるセキュリティキー管理装置モジュール111 が付加されている。
【００４７】
同様に、図６及び図７は、スマートカード上のチップをカード・アプリケーションに対するデータ記憶装置としてのみ使用することから、チップ上で実行されるオペレーティングシステムを有さないカード発行者を支持する実施例を示している。スマートカード・パーソナル化システム100 は、複数のタイプのパーソナル化装置により発行された複数のカードタイプに対する複数のカード・アプリケーションを支持する。図６及び図７は、セキュリティキー管理装置111 がカード・オペレーティングシステム・インタフェイス103 の代わりにカード・アプリケーション・インタフェイス105 に対してセキュリティキー及び／又は機能を提供するということを除き、図４及び図５に類似している。
図８は、上述のスマートカード・パーソナル化システム100 の機能を実現するソフトウェアの一実施例に対する上位レベルのフローチャートである。ソフトウェアはブロック801 において、取引きカードのバッチに対してカード発行者管理システムから発行されるべきパーソナル化装置の識別子を入手する。発行されるべきカードのタイプに依存して、ソフトウェアはプログラムアプリケーション識別子及び／又はカード・オペレーティングシステム識別子も同時に入手する。ソフトウェアは次に、上述の処理の一つを介して、パーソナル化データのフォーマットに対応する特定のデータフォーマット・テンプレートを入手する（ブロック803 ）。ブロック805において上記システムは、パーソナル化装置の識別子により指定されるパーソナル化装置のレコードから、カードのバッチを発行する為に使用されるべきパーソナル化装置に対する設備の特性を入手する。
【００４８】
もしカード・オペレーティングシステム識別子がカード発行者管理システムにより引渡されたのであれば（ブロック807 ）、ソフトウェアはブロック809 にてカード・オペレーティングシステム識別子に対応するカード・オペレーティングシステム・データベース記録からプログラミング制御命令を検索する。ブロック811 及び813 は、カード・アプリケーションに対して同様の論理を実施し、データベースからコード及び／又は変数などのアプリケーション・データを検索する。この点において、前記ソフトウェアはバッチ内のカードの全てに対して必要な共通データを既に取得しており、且つ、個々のカード所有者に対してカードを発行するロジックを介してのループを開始する。
【００４９】
カード発行者管理システムは単一のカード所有者に対するパーソナル化データをソフトウェアに引渡し（ブロック815 ）、該ソフトウェアは、データ項目をデータフォーマット・テンプレートにより定義されたフォーマットから、スマートカード・パーソナル化システムのモジュールにより使用される内部フォーマットに変換する（ブロック817 ）。もしカードチップがセキュリティキーを要するセキュリティの構造を含むのであれば（ブロック819 ）、ソフトウェアはセキュリティキー機能を実施するに必要なセキュリティキー・データをブロック821 にて適切なセキュリティキー・ソースから入手する。
【００５０】
ソフトウェアはいまや、パーソナル化装置にデータを転送してカードをプログラムする用意ができている。もしカードがセキュリティキーにより保護されているのであれば、セキュリティキー機能が実施されると共にセキュリティキー・データはブロック823 にて転送される。次に、もし該当するのであれば、チップ・オペレーティングシステムに対するプログラミング制御コードが転送され（ブロック825 及び827 ）；次に必要であればアプリケーションコード及び／又は変数が転送される（ブロック829 及び831 ）。最後に、内部フォーマットに変換されたカード所有者のパーソナル化データが転送される（ブロック833 ）。
データがカードに転送された後、ブロック839 にてソフトウェアはカード発行者管理システムに対して自身が収集する統計用の適切な値を付加する。もし同じバッチにおいて発行されるべき更なるカードが残存しているのであれば（ブロック841 ）、ソフトウェアはブロック815 に戻り、次のカード所有者に対するパーソナル化データを入手する。さもなければ、ソフトウェアは、別のバッチのカードをカード発行者管理システムが発行するか否かを決定し（ブロック843 ）、且つ、ブロック801 に戻り、新たなバッチに対するサイクルを反復するに必要な情報を入手する。発行されるべき更なるカードが無ければ、ソフトウェアは処理を終える。
【００５１】
スマートカード・パーソナル化システム100 に対してカード発行者管理システム150 が必要なデータを引渡すメカニズム、及び、スマートカード・パーソナル化システムがカード発行者管理システムからのデータを処理する順番は、本発明の範囲を越えること無く変更し得る。システム100 が図９及び図１０に示された代替的実施例のように作用する特定の環境により、異なる配置構成が必要になる。
図９において、セキュリティ・モジュール911 は、図１Ｂに111 及び128 として示されるセキュリティ管理装置940 及びセキュリティデータベース942 などのセキュリティ・ソースに対するスマートカード・パーソナル化システム100 へのゲートウェイとして作用する。セキュリティ管理装置940 はセキュリティ・データベース942 へのアクセスを制御すると共にセキュリティ・ゲートウェイ911 へ接続し、スマートカード・パーソナル化システム100 に対して必要なセキュリティ機能を実現する。セキュリティ・ゲートウェイ911 はカード発行者管理システム・インタフェイス901 に連結され、これにより該インタフェイス901 は、カード発行者管理システム950 により暗号化フォーマットで引渡されたパーソナル化データを解読することをセキュリティ管理装置940 に対して要求し得る様になる。セキュリティ・ゲートウェイ911 はまたカード・アプリケーション・インタフェイス903 及びカード・オペレーティング・インタフェイス905 とも連結されることから、それは図２に関して上記で説明した如く必要な安全キー及び／又はセキュリティ機能を提供し得る。
【００５２】
更に、図９に示されたスマートカード・パーソナル化システム100 の実施例は、カード識別子を用いてカード・オペレーティングシステム924 に特有のプログラミング制御命令を入手する前に、アプリケーション・プログラム識別子により指定されたアプリケーション・データ922 を入手する。この実施例では、カード・オペレーティングシステム924 及び装置特性データ926 に対するプログラミング命令を検索する前にパーソナル化データ及びアプリケーション・データが内部フォーマットに変換されるのが許容されることから、各スマートカードの処理が高速化される。
【００５３】
一方、標準的な取引きカードは、該カードの表面に印刷及びエンボス加工されたデータ、及び／又は、カードの磁気ストライプにコード化されたデータを有している。而して、スマートカードでは、データはマイクロプロセッサ内の内部メモリ領域にも記憶され得る。また、カードの表面上、磁気ストライプ内、及び、チップメモリ内に同一のデータが配置され得る。カード内及びカード上のデータの厳密な配置構成は、発行されつつあるスマートカードのタイプ及びカード発行者の要求に依存して変化する。
【００５４】
図１０は図９に示される実施例の高いレベルのフローチャートであり、図１１、図１２及び図１３と協働し、スマートカード・パーソナル化システム100 を実現すべく異なるメカニズムが如何にして使用され得るかを示している。カード発行者管理システム950 はスマートカードの配置構成を定義するカード構造テンプレートをブロック1001にてスマートカード・パーソナル化システム100 に引渡す。
【００５５】
図１１は、カード構造テンプレート・レコード1100に対するデータ・レイアウトの一実施例を示している。マイクロプロセッサチップ識別子 1101 及び（存在すれば）カード・オペレーティングシステム識別子 1102 は、発行されるべきスマートカードのタイプに特有のものである。マスタファイル定義1103は、チップソース及びチップが変更された最新日などの制御情報を含んでいる。システムファイル定義1104、1105、1107は、チップのメモリ内のシステムファイルの位置に対するアドレスを含んでいる。これらのシステムファイルはカード・オペレーティングシステムにより使用されると共に、カード及びアプリケーションに対するPIN コード及びアルゴリズムテーブルを含んでいる。図１１に示された実施例においては、マスタファイル及びシステムファイルは国際標準化機構(ISO) 指示番号7816-4に準拠している。
【００５６】
カード構造テンプレート・レコード1100の次の３つのセクションは、カードの表面及び磁気ストライプのデータの配置構成を定義する。もしカード所有者の写真1109などの情報がカード上に印刷されるべきであれば、斯かるデータをカードの表面に印刷する箇所はカード発行者管理システム950 によりカード構造テンプレート・レコード1100の印刷テンプレートに引渡される。同様に、データをエンボス加工するカード表面の位置がエンボス加工テンプレートに引渡されると共に、磁気ストライプにコード化されるべきデータの配置構成は磁気ストライプ・テンプレートに引渡される。エンボス加工データはカード構造テンプレート・レコード1100内において、カード所有者氏名(EMName)1111、口座番号(EMAct)1113 、及び満了日(EMXdat)1115として示され、且つ、磁気ストライプデータは口座番号(MSAcct)1117及び満了日(MSXdat)1119により示されている。印刷、エンボス加工及び磁気ストライプの各テンプレートにおけるデータ項目の個数はカード発行者により望まれるスマートカードの配置構成に依存して変化するが、当業者であれば自明であろう。
【００５７】
もしカード発行者がスマートカードのチップ内にカード・アプリケーションのプログラムを望むのであれば、カード発行者はアプリケーション・プログラム識別子をカード構造テンプレート・レコード1100のセクション1121、1123、1125内でアプリケーション・プログラム識別子をスマートカード・パーソナル化システム100 に引渡す。各アプリケーションはそれに伴う特定のセキュリティ機能を有することもあり（1127、1129、1131）、且つ、その情報もまたカード発行者管理システム950 により引渡される。カード構造テンプレート・レコード1100はまた、スマートカードを発行すべく使用されるパーソナル化装置に対するパーソナル化装置の識別子 1123 も含んでいる。
【００５８】
他の実施例においてはスマートカード・パーソナル化システム100 は共通使用されるカード構造テンプレート・レコードを内部データベースに記憶することから、カード発行者管理システム950 は、特定のバッチのカードに対し、使用されるべきカード構造テンプレート・レコードを指定するカード構造テンプレート識別子のみを引渡すことが必要である。
【００５９】
スマートカード・パーソナル化システム100 はブロック1003にて、カード発行者により指定された予定義箇所から、パーソナル化データに対するデータフォーマット・テンプレートを入手する。もしカード発行者がシステム100 に対して既にデータフォーマット識別子を引渡していれば、データフォーマット識別子に対応するデータフォーマット・テンプレート・レコードはデータフォーマット・データベース920 から検索される。代替的に、カード発行者はデータフォーマット・テンプレート・レコード自体を引渡しても良い。システム100 に対してデータフォーマット識別子もデータフォーマット・テンプレート・レコードも引渡されないときには、パーソナル化データのフォーマットは以下に更に詳述する如くカード・アプリケーション・データにより決定される。
データフォーマット・テンプレート・レコードの一例が図１２に示されている。データフォーマット・テンプレート・レコード1200はカード所有者データベース952 内のパーソナル化データレコードの仮想的レイアウトを定義しており、口座番号1201が第１フィールドであり、カード所有者氏名1202は第２フィールドであり、カードの満了日1205が第３フィールドである。一実施例において、パーソナル化データレコードはコンマ区切りレコードであることから、レコードフォーマットを定義する上で必要とされるデータフィールド長は存在しない。従って、図１２に示されたデータフォーマット・テンプレート・レコード1200は、スマートカード・パーソナル化システム100 に対するコンマ区切りパーソナル化データレコードの以下の例の構造を完全に定義している：133444999922,Mary Jane Smith,0299 。
【００６０】
スマートカード・パーソナル化システム100 はブロック1007にて、もしあれば、カード発行者管理システム950 により引渡されたアプリケーション・プログラム識別子に対応して、単一もしくは複数のカード・アプリケーションに対するアプリケーション・データ922 を入手する。もしアプリケーション・プログラム識別子が引渡されなければ、スマートカード・パーソナル化システム100 は既定アプリケーション・データを入手する（ブロック1008）。アプリケーション・プログラム識別子に対応するカード・アプリケーション・データ・レコード内の既定値及び／又はアプリケーション・データは、カード構造テンプレート・レコード1100の対応セクション、即ち、1121、1123、1125に挿入される。
図１３には、カード・アプリケーション・データ・レコードのレイアウトの一実施例が示されている。カード・アプリケーション・データ・レコード1300の第１フィールドは、アプリケーション名1301である。コンピュータに基づく他のアプリケーション・プログラムと同様に、カード・アプリケーションは、現金自動預け払い機などの外部ソース、又は、マイクロプロセッサのメモリ内にコード化されたデータファイルなどの内部ソースからのデータを処理する。スマートカードを使用すると、マイクロプロセッサにより適切なアプリケーションが実行される一方、該アプリケーションはデータを検索もしくは蓄積すべく内部ファイルにアクセスする。内部データにアクセスすべく、カード・アプリケーション・データ・レコードは、チップメモリ内のアプリケーションファイルへのポインタ(1302,1305,1307)と、アプリケーションファイル内のフィールドの位置を含んでいる。フィールドの幾つかは、カードが発行されるときにカード所有者データベース952 からのデータにより初期化される。アプリケーション・データ1300は、チップメモリ内に配置されたカード所有者ファイルに対するアドレス1303を含むと共に、３つのフィールドを含むものとしてカード所有者ファイルを定義する：カード所有者氏名(ICName)1309、口座番号(ICAcct)1311及び満了日(ICXdat)1313である。付加的な内部データは他のアプリケーションファイル内に記憶されると共に、これらの付加的ファイルのレイアウトもまたアプリケーション・データ1300により定義される。
【００６１】
もしスマートカード内に埋設されたチップがカード構造テンプレート・レコードにより指定されたオペレーティングシステムを含むのであれば、スマートカード・パーソナル化システム100 はブロック1011にて、カード・オペレーティングシステム・データベース924 からオペレーティングシステムに対する一連のプログラミング制御コマンドを入手する。而して、各オペレーティングシステムに対するプログラミング制御コマンドは、チップメモリ内のファイルを生成かつアクセスし、チップメモリ内に配置されたファイル内にレコードを読み書きする如き機能に対するコマンドを、PIN （個人識別子番号）コードを認証すると共にチップ内に記憶された金額量を変更する取引きを制御するセキュリティコマンドと共に含んでいる。
【００６２】
ブロック1013にてスマートカード・パーソナル化システム100 は、カード構造テンプレート・レコード内のパーソナル化装置の識別子に対応する装置特性データを、パーソナル化装置データベース926 から入手する。装置特性データに含まれるのは、パーソナル化装置の作用を制御する一連のパーソナル化プログラミング制御コマンドである。カード・オペレーティングシステムと同様に、パーソナル化制御コマンドは設備の販売者に専有のものであるが、典型的には、スマートカードの管理、フォーマット及び作成に関するコマンドを含んでいる。
【００６３】
スマートカード・パーソナル化システム100 がスマートカードを定義するに必要なデータの全てを取得したとき、それはカード発行者管理システム950 からパーソナル化データレコード952 を受ける用意ができる。ブロック1015にて各パーソナル化データレコード952 が引渡されると、ブロック1017にて、スマートカード・パーソナル化システム100 は、もし存在するならデータフォーマット・テンプレートを使用してパーソナル化データを内部フォーマットに変換すると共に、カード・アプリケーション・データ及びカード構造テンプレートを使用して、内部記述言語で書かれたコマンドスクリプト内の変数にパーソナル化データをマップする。変換処理及びマッピング処理は、以下に更に記述する。尚、内部記述言語の代わりにBasic 、Java（登録商標）もしくはC などの標準的プログラミング言語を用いる他の実施例は、本発明の範囲内である。
【００６４】
スマートカード・パーソナル化システム1019は、スマートカード発行プロセスの種々の構成要素に対してセキュリティ要件をチェックする。図１１に示されたカード構造テンプレートの実施例においては、アプリケーションに対するセキュリティ要件はブロック1019においてカード構造テンプレート・レコード1100により指定される。もしセキュリティ要件があれば、ブロック1021にてスマートカード・パーソナル化システム100 はセキュリティマネージャ940 からセキュリティ・データ及び／又は機能を取得し、機能を内部スクリプトに加える。スマートカード・パーソナル化システム100 の代替的実施例は、カード・オペレーティングシステム及びパーソナル化装置の識別子ならびにアプリケーション・プログラム識別子をセキュリティマネージャ940 に引渡し、該セキュリティマネージャ940 はセキュリティ・データベース942 から適切なセキュリティ・データ及び／又は機能を検索する。セキュリティ機能は典型的には、内部チップファイルに含まれたデータ、パーソナル化データ952 、オペレーティングシステム・データベース924 、カード・アプリケーション・データベース922 を、チップ内に記憶されたアルゴリズムテーブルと組合せたデータを含む付加的ソースから、又は、セキュリティマネージャ940 などの外部セキュリティモジュールから、使用し、これにより、図２に関して上述した安全キー認証、データの完全性、データ機密性、及び他のセキュリティ処理を実現する。
内部コマンドスクリプトが一旦完了したなら、それは（もし存在するなら）カード・オペレーティングシステム及びパーソナル化装置に特有の専有プログラミング制御コマンドに変換され、パーソナル化データをスマートカードに転送せねばならない。この実施例においては、ブロック1025及び1027にてスクリプト言語インタプリタにより変換が行われるが、これは、オペレーティングシステム・データベース924 及びパーソナル化装置データベース926から取得された情報を用いて行われる。
【００６５】
ブロック1029において、スマートカード・オペレーティングシステム100 はインタプリトされたスクリプトをパーソナル化装置に引渡し、該パーソナル化装置は、スマートカードの表面上及び磁気ストライプ及びチップの夫々に適切なパーソナル化データをエンボス加工／印刷、コード化する為のプログラミング制御コマンドを実行する。前述の如く、カード発行者がアドオン式のスマートカードプログラミング装置を購入して自身の既存のパーソナル化装置に取付けることを選択したのであれば、スマートカード・パーソナル化システム100 の代替的実施例は、エンボス加工及びコード化用の制御コマンドをパーソナル化装置930 に導くと共に、チップ用の制御コマンドをスマートカード・プログラミング装置内のポストプロセッサ132 に導く。
一枚のカードに対する発行プロセスが完了したとき、もし同一タイプの付加的カードの発行が控えていれば、スマートカード・パーソナル化システム100 は次のパーソナル化データレコードを入手する（ブロック1033）。さもなければ、スマートカード・パーソナル化システムは別のタイプのスマートカードの更なるバッチの発行が控えているか否かを判断し（ブロック1001）、且つ、カード発行者から新たなカード構造テンプレート・レコードを入手することにより発行プロセスを再開する。
【００６６】
以下の例は、図９及び図１０に示されたスマートカード・パーソナル化システム100 の実施例により実現される処理を更に記述すべきサンプルデータである。カード発行者管理システム950 はスマートカード・パーソナル化システム100 に対して発行プロセスの初期化を要求するが、これは、スマートカード・パーソナル化システム100 に対して、カード構造テンプレート・レコード、アプリケーション・プログラム識別子、カード・オペレーティングシステム識別子、パーソナル化装置の識別子、及び選択的にデータフォーマット・テンプレート識別子又はデータフォーマット・テンプレート・レコードを送信することにより行われる。この例において、カード発行者管理システム950 は、以下に示す各識別子を含むアプリケーション・リソース・テンプレート・レコードを引渡す。システム100 は、上記に詳述すると共にサンプルのカード所有者データレコードに関して以下に更に詳述される処理のひとつを用いてデータフォーマット・テンプレートを入手する。
【表１】
2010049711.tif 000003
レコードの第１ステートメントは特定のアプリケーションに対する情報の開始をマークするものであり、この場合はアプリケーション“A1”である。次の４個のステートメントは、カード構造テンプレート・レコード(DFT) 、カード・アプリケーション・レコード(CAT) 、カード・オペレーティングシステム・レコード(C識別子) 及びパーソナル化装置レコード(CPT) の夫々に対する識別子を定義している。最後のステートメントはカード発行者管理システム950により生成されたファイル名であり、カード所有者データレコードを含むものである。カード発行者管理システム950 は、発行されるべきカードに対する単一の要求もしくは‘バッチ’要求のいずれかとしてカード所有者データを入力する。
システム100 は識別子に対応するデータベースからレコードを検索する。システム100 は次にカード構造テンプレート及びデータフォーマット・テンプレートに含まれた情報を使用して内部“スクリプト”をセットアップするが、該スクリプトをシステム100 は後の段階にて、各カード所有者に対するパーソナル化データを処理してカードを発行することをパーソナル化装置に対して指示するカード・オペレーティングシステム及びパーソナル化装置レコード内に含まれた特定のコマンドにインタプリトする。
【００６７】
２個のサンプルカード所有者データレコード952 が以下に示されている。
【表２】
2010049711.tif 000004
これらのレコードにおいては、カード発行者により定義されたフォーマットは口座の名前（カード所有者の名前）を第１フィールドに置き、次に、口座番号、満了日、誕生日及び医療データが続いている。
【００６８】
システム100 はデータフォーマット・テンプレートを使用して、カード所有者データ・レコード952 の各々が処理されるときにそれをインタプリトする。システム100 はまた、データフォーマット・テンプレート及びカード・アプリケーション・レコード922 を使用してデータ952 を有効化し、適切なデータ及びフォーマットを確実なものとしている。上記に示されたサンプルのカード所有者レコードのフォーマットに対応するデータフォーマット・テンプレートの例は、以下の表の第１行に示されている。James Smith のパーソナル化データレコードが表中に含まれて、データフォーマット・テンプレートとカード所有者データレコードの各フィールドとの間の対応を示している。データフォーマット・テンプレートはカード所有者レコードの各フィールドを内部ラベル%1、%2などで象徴しているが、これは、システム100 内で使用される内部順序に対応している。
【表３】
2010049711.tif 000005
上記に示した例は最も単純な場合であり、カード所有者データ・レコード952 の各フィールドはスマートカード・パーソナル化システム100 により使用される内部順序で配置されている。この１対１対応は、システム100 がカード所有者データフィールドを変換する必要が無い、ということを意味している。斯かる場合、データフォーマット・テンプレート・レコードは不要である。従って、更なる代替的実施例において、カード発行者はデータフォーマット識別子をスマートカード・パーソナル化システム100 に対して引渡さず、代わりに、フラグなどのインディケータを引渡すが、これはシステム100 に対し、カード所有者データフィールドが内部フィールド順と１対１対応であることからデータフォーマット・テンプレートが不要であることを告げるものである。システム100 は変換段階をバイパスすることにより、インディケータに作用する。
【００６９】
次に示される更に複雑な例は、カード所有者データ・レコード952 の各フィールド及び各フィールド内のデータが内部システム順に対して同順となっていない例である。この場合、変換が必要である。
【表４】
2010049711.tif 000006
システム100 はデータフォーマット・テンプレートを用いてデータフィールドを上記に示した内部順序に変換する。この変換は、データフィールドの物理的再配置に帰着しても良く、又は、カード所有者データレコードからのフィールドがシステム100 により参照される毎にデータフォーマット・テンプレートがキーとして呼出されるという論理再配置であっても良い。当業者であれば、種々の配置構成のカード所有者データを変換すべく設計された種々のデータフォーマット・テンプレートは明らかであろう、と言うのも、この例を示すべく上記で用いられた単純な表に対するフィールドの同等性又は一連の解析指示又は他のメカニズムの置換えだろうからである。
【００７０】
カード構造テンプレート・レコードは、カード上のチップの構造を記述する。以下に示したサンプルにおいては、$MF エントリはルートディレクトリ(3F00)、$DF エントリは医療アプリケーション(5F20)及び会計アプリケーション(5F10)を定義している。各ディレクトリ内においては、アプリケーションに特有のファイルが$EF エントリにより定義されているが、これは、口座名を含む6F00及び口座番号を含む6F10などである。全てのファイル記述データはカード構造テンプレート内に在り、且つ、スマートカード発行プロセスの間の種々の時点で参照される。
【表５】
2010049711.tif 000007
カード・アプリケーション・レコード922 はカード所有者データ952 をアプリケーションにより使用されるデータフィールドに“マップ”する。以下に示されるサンプルのカード・アプリケーション・レコード922 は、スマートカード・パーソナル化システム100 により処理されるシーケンスで配置されたデータエントリを有している。
【表６】
2010049711.tif 000008
ICC 識別子  エントリはチップ識別子を含む。FMTACCT を除き、残りのエントリの各々は、カード所有者データ・レコード952 内のフィールドへの“タグ”をマップするが、これは（上記に示したデータフォーマット・テンプレート中に定義された）情報を含むと共にフィールド内のデータのタイプを指定するものである。従って、MEDIタグはカード所有者データ・レコード952 の第５フィールドを示すと共にデータはアルファベットである。FMTACCT エントリはカード所有者データ・レコード952 の第２フィールド、即ち口座番号、を複数の部分に細分し各部分間にハイフンを挿入している。
【００７１】
カード・オペレーティングシステム・レコード924 は、カード上のチップをプログラムするに必要なプログラミング制御コマンドを含んでいる。以下に示されるサンプルのカード・オペレーティングシステムのプログラミング制御コマンドはISO 指示番号7816-4から導かれたものであり、任意の特定のカード・オペレーティングシステムの内部専有コマンドではない。
【表７】
2010049711.tif 000009
【００７２】
上記例のレコードにおける各エントリはタグを含み、これにはカード・オペレーティングシステム本来の言語における対応コマンドが続く。可変パラメータフィールドはその後に文字が続く“％”により示され、個々のカードが処理されるときに適切なカード所有者データにより埋められる。
【００７３】
パーソナル化装置レコード926 は、特定のパーソナル化装置セットで完全なカードを発行する為に必要な実際のシーケンス及びステップを定義する命令などの、パーソナル化装置特性データを含んでいる。この例で使用されたサンプル命令は現実のものではなく、何らかの特定のパーソナル化装置に対する内部専有命令を表すものではない。
【表８】
2010049711.tif 000010
【００７４】
各カードが発行されるとき、上記に示されたパーソナル化装置特性データは、“$ ”が先頭に付されたエントリにより定義された４つの段階で順番に処理される。而して、カード・アプリケーション・レコード922 は、各命令において可変パラメータフィールドの値を決定すべく使用される。
$EMBOSS 命令は、これに引続くデータをカードにエンボス加工すべきことをパーソナル化装置に通知する、制御シーケンス#EMB#により始まる単一データストリームである。命令の各データフィールドは一対の％記号で挟まれている。この場合、第１のデータフィールドはFMTACCT であり、即ち、カード・アプリケーション・レコード922 で定義されたフォーマット口座フィールドである。システム100 はFMTACCT エントリに関してカード・アプリケーション・レコード922 をサーチし、第１のサンプルカード所有者レコード952の第２データフィールドからストリング“1265-36830-91245”を生成する。次のフィールドであるNAMEはカード所有者レコード952 の第１データフィールドから取り出される。従って、第１サンプルのカード所有者レコード952 に対するエンボス加工命令は、#EMB#%1265-36830-91245%%Smith,James%となる。
$ENCODE 命令はシステム100 に対し、エンボス加工命令と同様の手法でカードの磁気ストライプにカード所有者データをコード化する処理を行わせる。コマンド内には、次のIATA( 国際民間航空輸送協会) 及びISO 基準に従う付加的な制御キャラタが挿入される。最終的な命令は、#ENC#%%%12653683091245%%Smith,James%である。
【００７５】
$IC コマンドは、チップのメモリ内に記憶されるべき情報を指定する。カード・オペレーティングシステム・レコード924 は、パーソナル化装置レコード内の命令を、オペレーティングシステム用のプログラミング制御コマンドに変換すべく使用される。制御シーケンス即ち# ＼@#は、パーソナル化装置に対し、引続くデータがチップデータであることを通知するものである。記憶されるべき最初のフィールドは、チップ識別子、即ちICCID である。システム100 は、パーソナル化装置レコード926 内のWRITE タグを、カード・オペレーティングシステム・レコード924 内のWRITE タグにより指定されたコマンドに従ってインタプリトする。チップ識別子エントリに対してアプリケーション・レコード922 で指定されたオフセット値は無いことから、%O変数パラメータフィールドには既定値“0000”がロードされる。%L変数パラメータフィールドには、カード構造テンプレート内の$CIHP エントリ内のSIZEフィールドの値である“10”即ち16進数“0A”がセットされる。%D変数パラメータフィールドには、ICCID の値である“1234509876”がセットされる。最終的なコマンドはA0D000000A1234509876である。
【００７６】
次のコマンドは、カード・オペレーティングシステムに対し、チップ上の口座ディレクトリ内の口座名ファイルにカード所有者氏名を記憶させる。システム100 はSELECT ACCT コマンドを対応するカード・オペレーティングシステム・コマンドに変換する。システム100 はカード・オペレーティングシステム・レコード924 内のSELECTエントリ、カード構造テンプレート・レコード内のACCTエントリを発見すると共に、ACCTエントリで定義された口座ディレクトリに対して指定されたディレクトリパス即ち“5F10”で、SELECTエントリで定義されたコマンド内の%F変数パラメータフィールドを置換える。結果的なコマンドはA0A40000025F10である。同様に、SELECT NAME コマンドはシステム100 に対し、口座名ファイル“6F00”で%F変数パラメータフィールドを置換えさせる。結果的なコマンドはA0A40000026F00である。この繋がりの最終コマンドはWRITE コマンドである。システム100 はWRITE コマンドをインタプリトするが、これは、%Oを既定オフセット“0000”で置換え、%Lを、カード構造テンプレート・レコード内のNAMEエントリにより定義されたSIZEフィールドの値“30”即ち16進数“1E”で置換え、且つ、%Dを、第１サンプルカード所有者レコード952 に対するカード所有者氏名“Smith,James ”で置換えることで行い、これにより、コマンドA0D000001ESmith,James 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜を生成するが、各“〜”は氏名を３０文字まで引き伸ばすべく挿入された継続スペースを示している。
【００７７】
システム100 はパーソナル化装置レコード926 内の残りのコマンドを同様にして処理し、第１サンプルカード所有者レコード952に対してカードを発行する為のコマンドを含むデータの連続的ストリングを生成する：
# ＼@#A0D000000A123459876A0A40000025F10A0A40000026F
00A0D000001ESmith,James 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜A0A40000
026F10A0A4000002E12653683091245A0A40000026F2040998.
$PR コマンドはシステム100 に対し、コマンドデータ・ストリームをパーソナル化装置に送信させる。
【００７８】
図１１、図１２及び図１３に示されたデータ・レイアウト、及び、上記のサンプルに関して上述したサンプルデータは、スマートカード・パーソナル化システム100 の種々の実施例の機能を示すべく用いられた例にすぎない。当業者であれば、レイアウト及びデータはそれらが使用される環境により必然的に定義されることは明らかであろう。
【００７９】
当業者には明らかな様に、スマートカード・パーソナル化システム100 は、システムの各機能が添付図面中に示されたものと異なるモジュールにより実現されるソフトウェアプログラムの代替的実施例を包含するものである。また、本発明の精神もしくは範囲から逸脱すること無く、システム100 はデータをシリアルにもしくはパラレルに、又は、両者を組合せて処理しても良い。ソフトウェアプログラムは広く入手し得る幾つかのプログラミング言語のひとつで書かれて良く、且つ、各モジュールは、選択された言語に依り、サブルーチン、サブシステムもしくはオブジェクトとしてコード化され得る。同様に、システム100 により使用されたデータはデータベース内に実現された論理レコードとして記述されかつ示されたが、本発明は記述されたデータレコードに限定されるものでなく、何らかの特定のタイプのデータ管理システムを意味するものでも無い。また、Oracle、Sybase、InformixもしくはMicrosoft などの販売者からのリレーショナル・データベースは、集中化されもしくは分散されるかに関わり無く、システム内の基礎データを管理する上で必要なインフラストラクチャを提供するが、本発明の範囲を越えることなく、例えばインデクス付きフラットファイル等の他の機構のデータ構造で置換えても良い。
【００８０】
更に、ハードウェア、ファームウェア、もしくはハードウェアとソフトウェアとの両者の組合せで上記システムを実現する本発明の代替的実施例、並びに、モジュール及び／又はデータを別の手法で配分することは、当業者には自明でありかつ本発明の範囲内である。
【００８１】
上記説明は例示的なものであり限定的なものでないことは理解されよう。当業者であれば、上記記載に鑑みて他の多くの実施例が明らかであろう。故に、本発明の範囲は、添付の請求の範囲の権利対象となる均等物の最大範囲と共に、添付の請求の範囲を参照して定められねばならない。
【図面の簡単な説明】
【００８２】
【図１Ａ】スマートカード・パーソナル化システムを組み入れたスマートカード発行プロセスを示すブロック図である。
【図１Ｂ】図１Ａに示されたスマートカード・パーソナル化システムに対する入出力接続の機能的ブロック図である。
【図１Ｃ】図１Ｂに示されたスマートカード・パーソナル化システムの一実施例を備えるソフトウェアモジュール及びデータ構造の機能的ブロック図である。
【図２】スマートカードに使用されるキーを管理するセキュリティ・モジュールを付加した、図１Ｃの実施例の機能的ブロック図である。
【図３】複数のタイプのカード及びパーソナル化用機器を管理する最小限の配置構成を示すスマートカード・パーソナル化システムの別実施例の機能的ブロック図である。
【図４】複数のカード・オペレーティングシステムを管理するモジュールを付加した、図３の実施例の機能的ブロック図である。
【図５】セキュリティ・モジュールを付加した図４の実施例の機能的ブロック図である。
【図６】複数のカード・アプリケーションを管理するモジールを付加した図３の実施例の機能的ブロック図である。
【図７】セキュリティ・モジュールを付加した図６の実施例の機能的ブロック図である。
【図８】上記スマートカード・パーソナル化システムの機能を実現するコンピュータ・ソフトウェアの上位レベルのフローチャートの図である。
【図９】ソフトウェアモジュール及びデータレコードを使用するスマートカード・パーソナル化システムの代替実施例の機能的ブロック図である。
【図１０】図９に示されるスマートカード・パーソナル化システムの実施例の機能を実現するコンピュータ・ソフトウェアの上位レベルフローチャートの図である。
【図１１】図９に示されるスマートカード・パーソナル化システムの実施例により使用されるカード構造テンプレート・レコードのデータフィールドの図である。
【図１２】図９に示されるスマートカード・パーソナル化システムの実施例により使用されるデータフォーマット・テンプレート・レコードのデータフィールドの図である。
【図１３】図９に示されるスマートカード・パーソナル化システムの実施例により使用されるカード・アプリケーション・データ・レコードのデータフィールドの図である。
【図１４】上記スマートカード・パーソナル化システムにより追跡される項目の例を示すレポートフォーマットの図である。
【図１Ａ】
2010049711.tif 000011
【図１Ｂ】
2010049711.tif 000012
【図１Ｃ】
2010049711.tif 000013
【図２】
2010049711.tif 000014
【図３】
2010049711.tif 000015
【図４】
2010049711.tif 000016
【図５】
2010049711.tif 000017
【図６】
2010049711.tif 000018
【図７】
2010049711.tif 000019
【図８】
2010049711.tif 000020
【図９】
2010049711.tif 000021
【図１０】
2010049711.tif 000022
【図１１】
2010049711.tif 000023
【図１２】
2010049711.tif 000024
【図１３】
2010049711.tif 000025
【図１４】
2010049711.tif 000026