(57)【要約】【課題】ネットワークを介してＰＩＮを送信することでＰＩＮを危険にさらすことなく、検証を可能にするＰＩＮ検証技法を提供する。【解決手段】オンライン個人識別番号（ＰＩＮ）検証技法は、多項式隠蔽を使用する。本技法は、スマートカード（１１０）を登録することを含み、スマートカードの登録には、エンティティが選択したＰＩＮを、有限体上の多項式に隠蔽した状態でスマートカードを初期化することが含まれる。初期化多項式は、ＰＩＮ、エンティティ識別子および乱数の関数である。乱数およびＰＩＮは、スマートカードの初期化後に廃棄される。【選択図】図２
2005198288.tif 000002
【特許請求の範囲】
【請求項１】
オンライン個人識別番号（ＰＩＮ）検証をすることができるスマートカード（４００）であって、
オンライン認可システムおよび／またはホストと通信することができるインターフェース（４０２）と、
前記インターフェースに接続されたプロセッサ（４０４）と、
前記プロセッサに接続されたメモリであって、エンティティが選択したＰＩＮを有限体上の一時性多項式に隠蔽することに基づくオンラインＰＩＮ検証のための登録動作および取引動作を実行する、実行可能で可読なプログラムコードが組み込まれたメモリ（４０６）と
を備えるスマートカード（４００）
を備えるデータセキュリティ装置。
【請求項２】
前記メモリは、
前記プロセッサに、前記エンティティが選択したＰＩＮを、Ｐを素数として、
【数１】
2005198288.tif 000010
という形の有限体上の多項式に隠蔽させる実行可能で可読なプログラムコードを
さらに含む請求項１に記載のデータセキュリティ装置。
【請求項３】
前記メモリは、
前記プロセッサに、大きな素数Ｐ、エンティティ識別子ｘおよびエンティティが選択したＰＩＮを受け取らせることができる、実行可能で可読なプログラムコードと、
前記プロセッサに、下限値Ｌと前記大きな素数Ｐとの間にある乱数ａrを前記スマートカードにおいて生成させることができる、実行可能で可読なプログラムコードと、
前記プロセッサに、多項式
【数２】
2005198288.tif 000011
を計算させる実行可能で可読なプログラムコードと、
前記プロセッサに、値ｙrを暗号関数Ｅk［ｙr］として暗号化させる実行可能で可読なプログラムコードと、
前記プロセッサに、前記暗号関数Ｅk［ｙr］を前記オンライン認可システムに送らせる実行可能で可読なプログラムコードと、
前記プロセッサに、少なくとも１つの値
ｚi＝ＰＩＮ-1・ａri（ｍｏｄ Ｐ）
を前記スマートカードにおいて計算させる実行可能で可読なプログラムコードと、
前記プロセッサに、前記少なくとも１つの値ｚiを前記スマートカード上に保持させる実行可能で可読なプログラムコードと、
前記プロセッサに、前記スマートカードから前記乱数ａrおよび前記ＰＩＮを消去させる実行可能で可読なプログラムコードと
をさらに含む
請求項１に記載のデータセキュリティ装置。
【請求項４】
前記メモリは、
前記プロセッサに、エンティティが選択したＰＩＮが有限体上の基準多項式に隠蔽された状態でスマートカードを初期化させる実行可能で可読なプログラムコードであって、前記基準多項式が、ＰＩＮ、エンティティ識別子および乱数の関数であるプログラムコードと、
前記プロセッサに、登録のため、前記エンティティ識別子および前記基準多項式の関数をオンライン認可システムへ送らせる実行可能で可読なプログラムコードと、
前記プロセッサに、前記乱数および前記ＰＩＮの逆数の秘密関数を前記スマートカード上に保持させる実行可能で可読なプログラムコードと、
前記プロセッサに、前記乱数および前記ＰＩＮを廃棄させる実行可能で可読なプログラムコードと
をさらに含む
請求項１に記載のデータセキュリティ装置。
【請求項５】
前記メモリは、
前記プロセッサに、エンティティが起動した端末を介してエンティティが入力したＰＩＮ´を受け取らせ、有限体上の多項式からの復元を可能にする実行可能で可読なプログラムコードと、
前記プロセッサに、前記エンティティが入力したＰＩＮ´、前記エンティティ識別子および第２の乱数の関数として、一時性取引多項式を計算させる実行可能で可読なプログラムコードと、
前記プロセッサに、前記一時性取引多項式の関数をホストへ送らせることができ、当該ホストが、前記エンティティ識別子、前記基準多項式の関数および前記一時性取引多項式の関数の間の関係に基づいて、当該ホストにおいて、ＰＩＮがＰＩＮ´に等価であることを検証する実行可能で可読なプログラムコードと、
前記プロセッサに、前記第２の乱数を廃棄させる実行可能で可読なプログラムコードと
をさらに含む
請求項４に記載のデータセキュリティ装置。
【請求項６】
オンラインホスト認可システム（３００）と共に使用される登録端末（３０２）であって、
ネットワークと、ユーザインターフェースと、エンティティが選択したＰＩＮを有限体上の一時性取引多項式に隠蔽することに基づくオンライン個人識別番号（ＰＩＮ）検証のための初期化動作および取引動作を実行するスマートカードを受け入れるよう構成されたスマートカードインターフェースと通信することができる通信インターフェース（３０４）と、
前記通信インターフェースに接続されたプロセッサ（３０６）と、
前記プロセッサに接続されたメモリであって、
前記プロセッサに、
【数３】
2005198288.tif 000012
という形の基準多項式のスマートカードでの計算のために、法Ｐ、エンティティ識別子ｘおよび基準個人識別番号（ＰＩＮ）をスマートカードへ供給させる実行可能で可読なプログラムコードが組み込まれ、前記プロセッサに、前記スマートカードからホストへ前記エンティティ識別子ｘおよび前記基準多項式ｙrの関数を転送させる実行可能で可読なプログラムコードを有するメモリ（３０８）と
を備える登録端末（３０２）
を備えるデータセキュリティ装置。
【請求項７】
オンライン個人識別番号（ＰＩＮ）検証をすることができるホストシステム（５０２）であって、
エンティティが選択した取引ＰＩＮ´を、有限体上の一時性多項式に隠蔽することに基づくオンラインＰＩＮ検証のための登録動作および取引動作を実行するスマートカードを受け入れるよう構成された端末と通信する通信インターフェース（５０４）と、
複数の登録されたスマートカードの登録情報を記憶するホストデータベース（５１４）と、
前記通信インターフェースおよび前記ホストデータベースに接続されたプロセッサ（５０６）と、
前記プロセッサに接続されたメモリであって、前記プロセッサに、入力された取引ＰＩＮ´を隠蔽する多項式から生成される曲線上の点に関する情報を取引中のスマートカードから受け取らせ、当該スマートカードの情報を、基準ＰＩＮを隠蔽する基準多項式から生成される曲線上の点に関するデータベース情報と比較させる実行可能で可読なプログラムコードが組み込まれたメモリ（５０８）と
を備えるホストシステム
を備えるデータセキュリティ装置。
【請求項８】
前記メモリは、
前記プロセッサに、
前記スマートカードから一時性取引多項式関数を受け取らせ、
前記ホストデータベースからエンティティ識別子および基準多項式関数を受け取らせ、
前記エンティティ識別子、前記基準多項式関数および前記一時性取引多項式関数の間の関係に基づいて、前記ホストにおいて、前記基準ＰＩＮが前記取引ＰＩＮ´と等価であることを検証する比較動作を実行させる
実行可能で可読なプログラムコード
をさらに含む
請求項７に記載のデータセキュリティ装置。
【請求項９】
ネットワーク（１０２）と、
前記ネットワークに接続された複数のサーバ（１０４）およびホスト（１０６）またはこれらのいずれかと、
前記ネットワークを介して前記サーバに接続された複数のオンライン端末（１０８）と、
当該取引システムに登録され、前記オンライン端末に挿入され、前記サーバを介して取引を実行する複数のスマートカード（１１０）と、
前記スマートカード、前記サーバおよび前記オンライン端末またはこれらのいずれかに分散された複数のプロセッサ（１１２）であって、当該プロセッサの少なくとも１つが、エンティティが選択したＰＩＮを有限体上の一時性多項式に隠蔽することに基づくオンラインＰＩＮ検証のための登録動作および取引動作を実行する複数のプロセッサ（１１２）と
を備える取引システム。
【請求項１０】
前記プロセッサの少なくとも１つは、オンライン個人識別番号（ＰＩＮ）検証方法を実行し、この方法は、
エンティティが選択したＰＩＮが有限体上の多項式に隠蔽され、基準多項式が、前記ＰＩＮ、エンティティ識別子および乱数の関数である状態でスマートカードを初期化することと、
スマートカードの初期化後に、前記乱数および前記ＰＩＮを廃棄することと、
有限体上の多項式からの復元を可能にする、エンティティが入力したＰＩＮ´と共に、エンティティが起動した端末において前記スマートカードを使用して、前記エンティティが入力したＰＩＮ´、前記エンティティ識別子および第２の乱数の関数である一時性取引多項式を生成することと、
前記一時性取引多項式の関数、および、前記第２の乱数と、前記ＰＩＮ´および前記秘密関数の関数との間の差をホストに送信することと、
前記第２の乱数を廃棄することと、
前記エンティティ識別子、前記基準多項式の関数および前記一時性取引多項式の関数の間の関係に基づいて、前記ホストにおいて、前記基準ＰＩＮが前記取引ＰＩＮ´と等価であることを検証すること
を含む
請求項９に記載の取引システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データセキュリティシステム等における個人識別番号（ＰＩＮ）等の検証方法に関する。
【背景技術】
【０００２】
米国だけでも毎日、総計が５０億ドルにもなる１億件を超える取引が、４０万台を超える現金自動預け払い機（ＡＴＭ）および７００万台を超える販売時点情報管理（ＰＯＳ）端末において、カード所有者により許可され始められている。
毎日の膨大な資金の流れを不正行為および損失から保護することについては、２５年以上前に生まれた方法、構造および暗号アルゴリズムを使用して、カード所有者の個人識別番号（ＰＩＮ）を保護し検証することに頼っている。
【０００３】
金融システム等のデータセキュリティシステムは、１９７０年代末に考案された技術に基づく１９８０年代初頭に生まれたセキュリティ技法およびシステムを使用する。
潜在的な攻撃者にとって利用可能な計算能力、暗号解読知識、ターゲットの広さおよび創意工夫は、本システムの誕生以来、劇的に増大している一方で、防御技術はほとんど発展していない。
【０００４】
個人識別番号（ＰＩＮ）は、消費者の金融取引のために同一性および認可を確立するための基本構成体である。
【０００５】
現在のＰＩＮ検証技法は、暗号的に弱いため、データセキュリティの脆弱性は、基礎を成す鍵およびアルゴリズムの弱点を上回りさえする。
これらの弱点は、敵による攻撃を受ける可能性があり、その結果、データセキュリティが失われる可能性がある。
【０００６】
今日の金融／商取引システムは、大部分は、既知の弱点を有する暗号アルゴリズムを使用している。
１つの難しさは、従来の技法がネットワークを通じてＰＩＮを送信することを必要としていることにあり、これによって、敵は、ＰＩＮにアクセスすることが可能になり、ＰＩＮを使用することによって提供されるセキュリティが脅かされたり、突破されたりすることにもなりかねない。
ＰＩＮはネットワーク上を伝達されるので、従来のシステムでは、ＰＩＮを暗号化することによってセキュリティの確保が試みられている。
しかしながら、技術の進歩によって、ＤＥＳ（Data Encryption Standard）等の一般的な暗号化方法は、攻撃に対してかなり脆弱になっている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ネットワークを介してＰＩＮを送信することでＰＩＮを危険にさらすことなく、検証を可能にするＰＩＮ検証技法が求められている。
【課題を解決するための手段】
【０００８】
データセキュリティシステムの一実施形態によると、オンライン個人識別番号（ＰＩＮ）検証技法は、多項式隠蔽を使用する。
本技法は、スマートカード（ＩＣカード）を登録することを含み、スマートカードの登録には、エンティティが選択したＰＩＮを有限体上の多項式に隠蔽した状態でスマートカードを初期化することが含まれる。
初期化多項式は、ＰＩＮ、エンティティ識別子および乱数の関数である。
乱数およびＰＩＮは、スマートカードの初期化後に廃棄される。
【発明を実施するための最良の形態】
【０００９】
動作構造および方法の双方に関する本発明の実施形態は、以下の説明および添付図面を参照することによって良く理解することができる。
【００１０】
取引システムは、取引端末に入力されてスマートカードにより処理され、次いで、敵が存在する可能性のあるネットワークを介して運ばれ、認可サーバで検証されることになる個人識別番号（ＰＩＮ）等のパスワードを検証する機能を有する。
このパスワードは基準多項式内に隠蔽され、その多項式によって規定される曲線上の単一の点が認可サーバに記憶される。
スマートカードでは、入力されたパスワードがランダムに生成された多項式内に隠蔽され、その多項式によって規定される曲線からの単一の点が、ネットワークを通じて、そのパスワードを認可することができるホストに送信される。
ホストもスマートカードも、実際のパスワードを復元するのに充分な情報は有しないが、正しいパスワードがリモート端末に入力されたことを検証するのに充分な情報は有する。
【００１１】
スマートカードを使ったオンライン個人識別番号（ＰＩＮ）検証技法は、一時性の多項式に秘密値を隠蔽することに基づいている。
この手法は、顧客のＰＩＮ等のエンティティＰＩＮを、
【００１２】
【数４】
2005198288.tif 000003
【００１３】
という形の多項式に隠蔽することを含む。
多項式の簡単な例は、ｙ＝ａ0＋ａ1ｘ（ｍｏｄ Ｐ）という形の１次多項式である。
本技法を使用すると、ＰＩＮは、ホストに送信されることもなければ、検証プロセスの一部として復元されることもない。
通常の実施形態では、ホストもスマートカードも、顧客のＰＩＮを復元するのに十分な情報を有することはない。
【００１４】
一時性の多項式を使用したＰＩＮ検証技法は、例示の実施形態に示すような金融取引のセキュリティに役立つ。
本技法は、他の情報セキュリティ分野において、パスワードに一般に適用するため、同様に使用することができる。
例えば、本技法は、識別番号、パスワード、いくつかの画像等の１つまたは複数の中から選択された個人識別番号（ＰＩＮ）に適用することができる。
【００１５】
図１を参照すると、概略ブロック図は、オンライン個人識別番号（ＰＩＮ）検証のために一時性の多項式を使用することができる取引システム１００の一実施形態を示している。
取引システム１００は、ネットワーク１０２と、ネットワーク１０２に接続された複数のサーバ１０４および／またはホスト１０６と、ネットワークに接続された複数のオンライン端末１０８とを備える。
さらに、取引システム１００は、複数のスマートカード１１０も備え、複数のスマートカード１１０は、取引システム１００に登録され、オンライン端末１０８に挿入して、サーバ１０４を介して取引を行うことができる。
複数のプロセッサ１１２が、スマートカード１１０、サーバ１０４および／またはオンライン端末１０８に分散されている。
少なくとも１つのプロセッサ１１２は、有限体上の一時性多項式に、エンティティが選択した個人識別情報（ＰＩＮ）を隠蔽することに基づいて、オンラインＰＩＮ検証を実行することができる。
サーバ１０４、ホスト１０６、端末１０８、スマートカード１１０およびプロセッサ１１２は、図示を簡単にし、本文で扱いにくい数え方となるのを回避するために、包括的に番号付けがされているが、具体的な取引システム１００では、さまざまな異なるタイプの装置およびコンポーネントを実装することができ、また、通常、実装される。
例えば、スマートカード１１０内のプロセッサ１１２は、通常、端末１０８、サーバ１０４またはホスト１０６のプロセッサ１１２とは非常に異なるものである。
【００１６】
図２を参照すると、フローチャートは、一時性多項式隠蔽を使用したオンライン個人識別番号（ＰＩＮ）検証技法の実施形態２００を示している。
本方法は、例えば、オフラインで行われるプロセスにおいて、スマートカードを登録すること（２０２）を含む。
登録２０２には、エンティティが選択したＰＩＮが有限体上の基準多項式に隠蔽された状態でスマートカードを初期化すること（２０４）が含まれる。
この初期化多項式は、ＰＩＮ、エンティティ識別子および乱数の関数である。
【００１７】
初期化段階において生成される基準多項式は次の形を有する。
【００１８】
【数５】
2005198288.tif 000004
【００１９】
ここで、ａriは乱数を表し、Ｎは多項式の次数を示す。
説明のための例では、ｘは、ＰＡＮ（Primary Account Number）やアカウント番号等のエンティティ識別子を示すために使用することができる。
エンティティまたは顧客の個人識別番号（ＰＩＮ）は、ａr0に等しくなるように設定される。
さまざまな応用例において、ａr0は、取引検証に使用されるＰＩＮ、パスワード等の任意の適切な秘密コードまたは秘密番号とすることができる。
Ｐは、多項式の法（modulus）であり、大きな数、例えば、素数とすることができる。
【００２０】
多項式が１次である場合、多項方程式は次のようになる。
ｙr＝ＰＩＮ＋ａr1ｘ（ｍｏｄ Ｐ）
【００２１】
Ｎ次多項式の場合、多項方程式は次のようにすることができる。
ｙr＝ＰＩＮ＋ａr1ｘ＋ａr2ｘ2＋…＋ａrNｘN（ｍｏｄ Ｐ）
【００２２】
【数６】
2005198288.tif 000005
【００２３】
多項式によって表される曲線上の単一の点は、ｘｙ座標（ｘ，ｙr）によって与えられる。
値ｘは、アカウント番号、ＰＡＮ等の一意の識別子とすることができる。
【００２４】
また、初期化段階２０２の間に、少なくとも１つの基準値も計算されて、スマートカードに記憶される。
Ｎ次多項式の場合、基準値は、次のような形の式を使って記述することができる。
ｚ1＝ＰＩＮ-1ａr1（ｍｏｄ Ｐ）
ｚ2＝ＰＩＮ-1ａr2（ｍｏｄ Ｐ）
ｚN＝ＰＩＮ-1ａrN（ｍｏｄ Ｐ）
値ｚ1，ｚ2，…，ｚNは、後の取引のためにスマートカードに記憶される。
１次多項式の場合、基準値は、次のような形の式によって記述される。
ｚ1＝ＰＩＮ-1ａr1（ｍｏｄ Ｐ）
【００２５】
また、初期化の間に、アカウント番号やＰＡＮ等のエンティティ識別子ｘ、および、データベース鍵ＫＤＢを使用して値ｙrを暗号化した値ＥKDB［ｙr］などの暗号化値がホストデータベースに置かれる。
暗号化は、ＤＥＳ（Data Encryption Standard）、トリプルＤＥＳ、ＡＥＳ（Advanced Encryption Standard）等の任意の適切なタイプの暗号化とすることができる。
ｘ、ＥKDB［ｙr］を含む情報群は、ホストデータベースに記憶される。
値ＥKDB［ｙr］は、後に、取引中にＰＩＮ検証のために復号することができる。
また、値ＥKDB［ｙr］は、その値を復号して値ｙrを復元できるという意味で可逆的である。
【００２６】
乱数およびＰＩＮは、スマートカードの初期化後、廃棄される（２０６）。
【００２７】
通常、オンラインで行われる取引２０８の間に、スマートカードが、取引端末に挿入され、顧客等のエンティティは、取引を検証するため、取引多項式を生成するのに使用されるＰＩＮ´を入力する。
取引多項式は、個々の取引ごとに新たな多項式が生成されるので、「一時性の」多項式と呼ぶことができる。
取引端末において、エンティティまたは顧客は、スマートカードをカードリーダに挿入し、例えば、キーボードを使用して、ＰＩＮ´を入力する。
一時性の取引多項式は、エンティティが入力したＰＩＮ´、エンティティ識別子および第２の乱数の関数として導出される（２１２）。
ＰＩＮ´は、取引端末において入力され、ホストにおいて検証される。
【００２８】
一時性取引多項式は次のような形を有することができる。
【００２９】
【数７】
2005198288.tif 000006
【００３０】
ここで、ＰＩＮ´は、オンライン取引において顧客が入力した個人識別番号である。
ホストは、顧客の実際の基準ＰＩＮにアクセスすることなく、基準ＰＩＮが、入力されたＰＩＮ´に等しいことを検証する。
１次多項式の例では、取引多項方程式は以下のような形を有する。
ｙt＝ＰＩＮ´＋ａt1ｘ（ｍｏｄ Ｐ）
【００３１】
スマートカードは、ＬからＰの範囲内の乱数ａt1を生成し、ａt1および秘密値ｚ1を使用して、以下のような形の式によって、１からＮのｉについてＮ個の係数ａr1´を計算する。
ａri´＝ＰＩＮ´・ｚi（ｍｏｄ Ｐ）
ここで、値ａr1´は、多項式の各次数について計算される。
秘密値ｚ1は、先の登録動作中に、以下で説明する方法で計算されている。
入力されたＰＩＮ´が正しくない場合、値ａr1´は誤ったものとなり、その後、ホストにおいて検証に失敗する。
スマートカードは、次に、少なくとも１つの差値ｄ１＝ａr1´−ａt1を計算し、直ちにａt1を消去する。
スマートカードは、ホストと取引端末との間で共有される送信鍵ＫＣに基づいて値ｙtを暗号化して、値ＥKC［ｙt］を形成する。
鍵ＫＣは、特定のデータベース用に予め定義されたデータベース鍵ＫＤＢとは関係がない。
したがって、量ｘ、ｄおよびｙtは、値ｄおよびｙtが鍵ＫＣで暗号化された状態で、取引端末からホストシステムに送られる。
したがって、検証多項式の関数、ならびに、ＰＩＮ´および秘密関数の関数と第２の乱数との間の差がホストに送られ（２１４）、第２の乱数は廃棄される（２１６）。
【００３２】
ホストは、量ｘおよびＥKC［ｄ，ｙt］を受け取り、検証動作を実行する（２１８）。
ホストは、値ＥKC［ｄ，ｙt］を復号して、値ｄおよびｙtを復元し、ｘおよびｙrと共に使用して、ＰＩＮの検証を行うセキュリティモジュールを有する。
ＰＩＮの検証は、エンティティ識別子およびオンライン認可システムから受け取った初期化多項式の関数、ならびに、検証多項式の差および関数の間の関係に基づいて、元の基準ＰＩＮが、入力されたＰＩＮ´と等価であるか否かを判別することによって行われる。
ホストは、登録時に決定された値ＥKDB［ｙr］を復号して、値ｙrを復元する。
このように、ホストは、エンティティ識別子ｘおよび多項式ｙrならびに取引端末から受け取った量ｘ、ｄおよびｙtにアクセスすることができる。
ホストは、以下のようなＮ次多項式について、その関係が等しいか等しくないかを判別することによってＰＩＮを検証する。
【００３３】
【数８】
2005198288.tif 000007
【００３４】
ここで、ｄi＝ａri−ａti（ｍｏｄ Ｐ）である。値が等しい場合、ＰＩＮが正しいと検証される。
同様に、１次多項式の場合、関係
ｙr−ｙt＝ｄ1ｘ（ｍｏｄ Ｐ）
が等しいことが判断される。
ここで、ｄ1＝ａr1−ａt1である。
【００３５】
別の実施形態では、登録動作２０２において、値ｙrは、暗号ハッシュ関数を使用して不可逆的な形で記憶させることができる。
値ｘ、ＥKDB［ｙr］を記憶するのではなく、これらの値は、ハッシュメッセージ認証コード（ＨＭＡＣ）と呼ばれる鍵付きハッシュ関数を使用して生成された形で記憶させることができる。
ＨＭＡＣ記憶を使用すると、値ｙrを復元することができず、システムのセキュリティが向上する。
一例では、記憶される値には、ｘ、ｈ（ＫＤＢ，ｘ，ｙr）を含めることができ、検証式は、１次多項式の場合には、次のようになる。
ｈ（ＫＤＢ，ｘ，ｙr）＝ｈ（ＫＤＢ，ｘ，ｙt＋ｄ1ｘ）
また、Ｎ次方程式の場合には、次のようになる。
【００３６】
【数９】
2005198288.tif 000008
【００３７】
図３を参照すると、概略ブロック図は、データセキュリティシステム３００の一実施形態を示している。
データセキュリティシステム３００は、オンラインホスト認可システムで使用する個人識別番号（ＰＩＮ）を取り込む端末３０２を備える。
端末３０２は、オンライン個人識別番号（ＰＩＮ）検証で使用するスマートカードを登録するのに使用することができる。
オンラインホスト認可システム端末３０２は、ネットワーク１０２と通信することができる通信インターフェース３０４と、顧客等のエンティティから情報を受け取るためのキーボード等のユーザインターフェース３１０と、スマートカード１１０を受け入れるように構成されたカードリーダおよび／またはライタ３１２とを備える。
オンラインホスト認可システム端末３０２は、スマートカード１１０と組み合わされて、エンティティが選択したＰＩＮを有限体上の一時性多項式に隠蔽することに基づく後の取引検証のために、オンライン個人識別番号（ＰＩＮ）の登録を実行する。
【００３８】
オンラインホスト認可システム端末３０２は、さらに、通信インターフェース３０４に接続されたプロセッサ３０６と、プロセッサ３０６に接続されたメモリ３０８とを備える。
メモリ３０８は、実行可能で可読なプログラムコードを含み、本プログラムコードは、プロセッサ３０６に、ユーザインターフェース３１０を介してエンティティと対話させ、カードリーダ／ライタ３１２を介してスマートカードとやり取りをさせて、初期化および登録動作を実行させることができる。
メモリは、さらに、ユーザインターフェース３１０を介して基準個人識別番号（ＰＩＮ）を受け取り、このＰＩＮをスマートカードに送る、実行可能で可読なプログラムコードも含む。
スマートカードは、事前にスマートカードに書き込まれるか、ホストから通信インターフェース３０４を介して受信されるか、端末３０２においてエンティティまたは顧客によって供給されるかするエンティティ識別子ｘ、例えば、アカウント番号、ＰＡＮ（Primary Account Number）等を記憶する。
スマートカードは、以下のような形の基準（初期化）多項式を生成する。
【００３９】
【数１０】
2005198288.tif 000009
【００４０】
ここで、Ｐは、大きな素数である。
秘密値であるＰＩＮは、ｎ次多項式に隠蔽され、具体的な実施形態では、係数ａ0に隠蔽される。
本方法は、任意の次数の多項式の係数に秘密値を隠蔽するのに有効であり、１次多項式について良く機能する。
副産物として、例示の技法は、ＰＩＮに関係したデータをネットワークを通じて送信するため、新たなＰＩＮブロックを定義する。
【００４１】
例示のシステムは、スマートカードに実装できる技法の属性が強力であることに鑑み、取引データを保持するために磁気ストライプカードを使用するシステムとは異なり、スマートカードに適用した状況で説明される。
本技法は、磁気ストライプカードを用いて実施することもできるが、磁気ストライプカードシステムでは、セキュリティ機能のいくつかが利用可能でなかったり、効果が弱まったりする。
しかしながら、例示の技法を磁気ストライプカードに適用した場合であっても、従来のＰＩＮ検証アルゴリズムよりは改善される。
一時性多項式の手法は、ＰＩＮ検証セキュリティを、スマートカードを用いて実装された場合に特に、大幅に改善する。
【００４２】
オンラインＰＩＮ検証技法は２つの部分を有する。
第１の部分は、登録プロセスにおいて実行される動作であり、多くの場合、オフラインで実行され、スマートカードを初期化及び個人化する動作である。
第２の部分は、ＰＩＮが入力されるごとに行われる動作であり、エンティティのアカウント、例えば、顧客のアカウントに対する金融取引を認可するための動作である。
認可処理には、スマートカード上で実行される動作と、スマートカードからホストシステムへ転送される情報と、正しいＰＩＮが入力されたことを検証するため、ホストシステム上で実行される動作とが含まれる。
【００４３】
図４を参照すると、概略ブロック図は、１次多項式を使用したオンライン個人識別番号（ＰＩＮ）検証のために使用できるスマートカード４００の一実施形態を示している。
本技法は、図２の説明で示したやり方で高次の多項式に容易に拡張することができる。
スマートカード４００は、オンライン認可システムおよび／またはホストと通信することができるインターフェース４０２と、インターフェース４０２に接続されたプロセッサ４０４と、プロセッサ４０４に接続されたメモリ４０６とを備える。
メモリ４０６は、エンティティが選択したＰＩＮを有限体上の一時性多項式に隠蔽することに基づいたオンラインＰＩＮ検証を実行する実行可能で可読なプログラムコードを含む。
【００４４】
図３および図４は、スマートカード４００の初期化および個人化を含む登録プロセスを実行する取引システムの構成要素を示している。
例示の説明では、スマートカード４００は、エンティティ識別子ｘおよび個人識別番号（ＰＩＮ）から導出された秘密値を含むよう初期化される。
多くの用途では、カード所有者は商取引の顧客であるため、エンティティ識別子は顧客識別子となる。
したがって、数値ｘは、ＵＵＩＤ（Universal Unique IDentifier）やＰＡＮ（Primary Account Number）等の顧客のアカウント番号とすることができる。
ＰＩＮは、通常、エンティティまたは顧客によって選択される。
いくつかの実施形態では、ＰＩＮは、パスワードまたは他の取引起動信号とすることができる。
【００４５】
さまざまな取引システムおよびプロトコルにおいて、アカウント番号ｘは、複数の異なる既知の方法で表現され、パディングされ得る。
例示の技法は任意の表現に適用可能である。
個人識別番号（ＰＩＮ）の表現は、制御文字ならびにそれに続くＰＩＮの長さおよびＰＩＮの数字によるブロックとして構成することができる。
いくつかの表現では、ＰＩＮを、オール０またはアカウント番号もしくはエンティティ識別子ｘの一定の数字にてＰＩＮが連結もしくはパディングされるデータブロックとして表現することができる。
表現およびパディングの具体的な詳細は、基本的にすべてのＰＩＮ検証技法に共通であり、例示の構造内に容易に適応され、開示した技法または方法に従って利用される。
【００４６】
法Ｐは、大きな素数として選択され、取引システムで使用される最大のエンティティアカウント番号または識別子よりも大きくなるように選ばれる。
法Ｐはシステム全体にわたる公開パラメータであり、したがって、システムに登録されるすべてのカードに共通であり、既知の秘密でない値である。
【００４７】
登録プロセスは、オンラインホスト認可システム端末３０２と、登録されるスマートカード４００との間での、一般に登録システムの動作を介した、やり取りで実行される。
これらの動作のいくつかは、オンラインホスト認可システム３０２内のプロセッサ３０６で実行され、いくつかはスマートカード４００内のプロセッサ４０４で実行される。
法Ｐは、オンラインホスト認可システムの全体にわたって指定することができる。
登録プロセスを開始するために、スマートカード４００は、法Ｐ、一意的なエンティティ識別子ｘおよび顧客が選択したＰＩＮの少なくとも一部を、オンラインホスト認可システム端末３０２から受け取る。
【００４８】
スマートカード４００のプロセッサ４０４は、法Ｐ、エンティティ識別子ｘおよびＰＩＮを受け取る。
プロセッサ４０４は、以下の関係に従って、下限値Ｌと、上限値の法Ｐとの間の範囲内で、乱数ａriを生成する。
１≦ｉ≦Ｎについて、Ｌ≦ａri≦Ｐ
ここで、下限値Ｌは、例えば、５０００または１００００のｓ範囲の値を有し、Ｎは多項式の次数である。
プロセッサ４０４は、スマートカード４００に乱数ａhを一時的に記憶する。
【００４９】
プロセッサ４０４は、以下のような形の式に従って多項式の値ｙrを計算する。
ｙr＝ＰＩＮ＋ａr1・ｘ（ｍｏｄ Ｐ）
【００５０】
プロセッサ４０４は、多項式の値を暗号化し、多項式の値ｙrの暗号Ｅk［ｙr］を登録システムに送り戻し、次いで、登録システムが、オンラインホスト認可システム３０２に暗号Ｅk［ｙr］を供給する。
オンラインホスト認可システム３０２は、暗号Ｅk［ｙr］を受け取ると、アカウント番号ｘおよび基準暗号ＥKDB［ｙr］の２つのデータ項目を所持する。
ここで、ＫＤＢはデータベース鍵である。
ランダムに生成された係数ａr1は、オンラインホスト認可システム３０２には知られていない。
さらに、係数ａrは、スマートカードに保持されない。
【００５１】
引き続き登録プロセスにおいて、スマートカード４００のプロセッサ４０４は、以下のような形の式に従って秘密鍵ｚ1を計算する。
ｚ1＝ＰＩＮ-1・ａr1（ｍｏｄ Ｐ）
【００５２】
プロセッサ４０４は、係数ａr1およびＰＩＮを消去する。
プロセッサ４０４は、秘密鍵ｚ1を、例えば、メモリ４０６内に、永続的に保持する。
したがって、オンラインホスト認可システム３０２での鍵値ｙrが、例えば、敵によって、危険にさらされたり、知られたりしても、ＰＩＮを算出することはできない。
【００５３】
オンラインホスト認可システム３０２に記憶された２つの情報項目である鍵ｙrおよびエンティティ識別子ｘは、スマートカードで生成された多項式上の１つの点（ｘ，ｙr）を表す。
オンラインホスト認可システム３０２は、それ以外の情報を所持せず、したがって、元の多項式を再生することはできない。
登録プロセスの最後に、オンラインホスト認可システム３０２およびスマートカード４００は、取引を認可する準備が完了する。
【００５４】
説明した例は、１次多項式を使用した登録を示しているが、同じ次数またはより高次の次数の任意の適切な多項式を使用することができる。
【００５５】
図５を参照すると、概略ブロック図は、オンライン個人識別番号（ＰＩＮ）検証をすることができるホストシステム５０２を備えたデータセキュリティシステム５００の一実施形態を示している。
ホストシステム５０２は、スマートカードを受け入れるように構成された端末５１０と通信できる通信インターフェース５０４を備える。
スマートカードは、端末５１０のカードリーダ５１６に挿入され、ホストシステム５０２および端末５１０と共同して動作し、エンティティが選択したＰＩＮを有限体上の一時性多項式に隠蔽することに基づいたオンラインＰＩＮ検証を実行する。
ホストシステム５０２は、さらに、登録された複数のスマートカードの登録情報を記憶することができるホストデータベース５１４を備える。
プロセッサ５０６は、通信インターフェース５０４およびデータベース５１４に接続される。
ホストシステム５０２は、さらに、プロセッサ５０６に接続されたメモリ５０８を備える。
メモリ５０８は、プロセッサ５０６に、通常、セキュリティモジュール５１２の一部としてまたはセキュリティモジュール５１２と連携して、スマートカードから受け取った情報に基づいてＰＩＮ検証を実行させることができる実行可能で可読なプログラムコードを含む。
ホストシステム５０２は、入力されたＰＩＮ´を隠蔽する多項式から生成された曲線上の点に関連する情報を、取引を行っているスマートカードから受け取り、スマートカードの情報を、登録ＰＩＮを隠蔽する基準多項式から生成された曲線上の点に関連するデータベース情報と比較する。
【００５６】
具体的な例では、ホストシステム５０２は、差関数および検証多項式関数をスマートカードから受け取り、エンティティ識別子および初期化多項式関数をホストデータベース５１４から受け取る。
プロセッサ５０６は、差関数、エンティティ識別子、検証多項式関数および初期化多項式関数について比較演算を実行して、ＰＩＮ検証を決定することができる。
【００５７】
図４および図５は、１次多項式に基づいて個人識別番号（ＰＩＮ）検証プロセスを実行する取引システムの構成要素を示している。
本技法は、図２に関連して説明したように、より高次の多項式に簡単に拡張される。
取引は、顧客が起動した端末等、エンティティが起動した端末５１０においてスマートカード４００で始まる。
スマートカード４００は、端末５１０においてエンティティまたは顧客によって入力される個人識別番号（ここではＰＩＮ´と示す）を受け取る。
スマートカード４００のプロセッサ４０４は、以下のような関係に従った下限値Ｌと法Ｐによって定まる上限値との間の範囲の値を有する乱数ａtを生成する。
Ｌ≦ａt≦Ｐ
【００５８】
スマートカードプロセッサ４０４は、乱数ａtと、登録時にスマートカード４００内に記憶された秘密鍵ｚ1とを使用して、以下のような形の式に従って、鍵値ｙtおよびａr1´を計算する。
ｙt＝ＰＩＮ´＋ａt・ｘ（ｍｏｄ Ｐ）
ａr1´＝ＰＩＮ´・ｚ1（ｍｏｄ Ｐ）
【００５９】
入力されたＰＩＮ´値が正しくなければ、鍵値ａr1´は誤ったものとなり、後に、ホストシステム５０２における検証時に失敗を生じさせる。
スマートカードプロセッサ４０４は、以下のような式に従って、鍵ａr1´と乱数ａtを比較して差値を計算する。
ｄ＝ａr1´−ａt
そして、スマートカードプロセッサ４０４は、乱数ａtを直ちに消去する。
スマートカードプロセッサ４０４は、送信鍵ＫＴに基づいて鍵値ｙtを暗号化する。
送信鍵ＫＴは、送信データの暗号化に一般に使用されるものであり、具体的な例では、米国国家安全保障局（ＮＳＡ）標準規格送信プロトコルである１２８ビットＳＳＬ（Secure Sockets Layer）を使用する。
プロセッサ４０４は、結果得られる暗号ＥKT［ｙt］を、差値ｄと共に、端末５１０を介してホストシステム５０２に送る。
各取引ごとに、別々の乱数ａtがスマートカード４００によって生成され、この乱数ａtはホスト５０２には伝達されない。
したがって、敵等の他のエンティティは、乱数ａtにも鍵ａr1´にもアクセスすることができず、したがって、顧客が入力したＰＩＮ´を算出することができない。
【００６０】
入力されたＰＩＮ´は、ホストシステム５０２において、例えば、セキュリティモジュール５１２を使用して、検証される。
いくつかの実施形態では、ホスト５０２のセキュリティモジュール５１２は、スマートカード４００から受け取った差値ｄおよび暗号ＥKT［ｙt］を、ホストデータベース５１４に記憶された基準暗号ＥKDB［ｙr］と組み合わせて使用し、入力されたＰＩＮ´を検証する。
セキュリティモジュール５１２は、以下のような形の関係が等しいことを検証することによって、簡単な検証テストを行うことができる。
ｄ・ｘ＝ｙr−ｙt（ｍｏｄ Ｐ）
この関係が正しい場合には、ＰＩＮ´はＰＩＮに等しく、取引を認可することができる。
【００６１】
例示した一時性多項式アルゴリズムは、独特なものであって、従来のＰＩＮ検証アルゴリズムとは非常に異なっており、したがって、さまざまな顕著な特性および利点を有する。
一時性多項式アルゴリズムは、数学的に単純であり、計算が高速に行える。
【００６２】
一時性多項式アルゴリズムは、ＰＩＮ検証プロセスにおいて、個人識別番号（ＰＩＮ）を直接使用しない。
具体的には、一時性多項式アルゴリズムは、ＰＩＮがホストに送信されることがないようにし、また、ＰＩＮが検証プロセスの一部として復元されることがないようにすることによって、データセキュリティを向上させる。
ホストに送られる情報は、ＰＩＮを検証するには十分ではあるが、ホストや、敵等の他のあらゆるエンティティが、ＰＩＮを復元するには不十分である。
【００６３】
１次多項式の例では、各アカウントｘについて、一時性多項式アルゴリズムにより、ホストシステムは、基準多項式によって表された曲線上の単一の点（ｘ，ｙr）のみを管理することができる。
基準１次多項式の復元には、ｎ＋１＝２個の「点」または「シェア（share）」を必要とするので、単一のシェアは、多項式を復元し、それによって、秘密ＰＩＮを再生するのには不十分である。
より高次の多項式を使用する実施形態は、更なる情報のシェアを管理する。
【００６４】
一時性多項式アルゴリズムは、通常の暗号鍵以外に、ホストシステムと端末またはスマートカードとの間でいかなる鍵も共有されないようにできる。
【００６５】
スマートカードは、各取引ごとに異なる、入力されたＰＩＮ´の不可逆形を作成する。
入力されたＰＩＮ´の不可逆形は、ホスト上のあらゆる基準情報と常に異なる。
一時性多項式アルゴリズムは、各取引について、異なる乱数および一時性多項式を生成し、次いで、その多項式によって表される曲線上の１つの点だけを使用することによって、入力されたＰＩＮ´の不可逆形を生成する。
安全な実施形態では、多項式の係数は、使用後消去され、ホストに送られることはない。
したがって、多項式上の点が算出された後、その点は破棄され、再生成することはできない。
【００６６】
一時性多項式アルゴリズムによって、ホストに記憶されているスマートカードおよびＰＩＮ情報が暗号化されていない場合であっても、ＰＩＮ検証についての従来の認識に反して、高度なセキュリティシステムが可能になる。
しかしながら、ホストにおけるデータの完全性は、ほとんどの環境において不可欠なものであるので、ホストデータを保護するデータベース鍵は通常、実装されて、データの完全性が保証され、何らかの暗号鍵がホストにおいて使用されるかどうかについての懸念は排除される。
一般に、データベース鍵は、一時性多項式アルゴリズムにおいて容易に実装されるが、個人識別番号（ＰＩＮ）を暗号化するのに使用される必要はなく、検証アルゴリズムの不可欠な部分ではない。
【００６７】
本開示は、さまざまな実施形態を説明しているが、これらの実施形態は、例示として理解されるべきであり、特許請求の範囲を限定するものではない。
説明した実施形態について多くの変形、変更、追加および改良が可能である。
例えば、当業者であれば、本明細書で開示した構造および方法を提供するのに必要なステップを容易に実装するであろうし、プロセスパラメータ、材料および寸法が、単なる例として与えられていることを理解するであろう。
パラメータ、材料および寸法を変えて、特許請求の範囲内に含まれる所望の構造および変更例を得ることができる。
本明細書に開示した実施形態の変形および変更も、添付した特許請求の範囲内において、行うことができる。
例えば、特定の変数を有する具体的な式を開示して、さまざまな演算を説明したが、これらの実行される演算は、別のやり方で、数学的にも非数学的にも説明することができる。
数学的に説明される場合、演算は、他の式および／または変数を使用してモデル化することができる。
さらに、開示した例は、金融システムの状況でのデータセキュリティ動作を説明している。
他の実施形態では、開示した技法およびシステムを、パスワード、バイオメトリックデータおよび他の形の識別情報への一般的な適用など、他のさまざまなデータセキュリティの状況に適用することができる。
【図面の簡単な説明】
【００６８】
【図１】オンライン個人識別番号（ＰＩＮ）検証のために一時性多項式を使用することができる取引システムの一実施形態を示す概略ブロック図である。
【図２】一時性多項式隠蔽を使用したオンライン個人識別番号（ＰＩＮ）検証技法の一実施形態を示すフローチャートである。
【図３】オンラインホスト認可システムで使用する個人識別番号（ＰＩＮ）を取り込むのに使用される端末を備えるデータセキュリティシステムの一実施形態を示す概略ブロック図である。
【図４】オンライン個人識別番号（ＰＩＮ）検証のために使用できるスマートカードの一実施形態を示す概略ブロック図である。
【図５】リモート端末と、オンライン個人識別番号（ＰＩＮ）検証をすることができるホストシステムとを備えたデータセキュリティシステムの一実施形態を示す概略ブロック図である。
【符号の説明】
【００６９】
１００・・・取引システム，
１０２・・・ネットワーク，
１０４・・・サーバ，
１０６・・・ホスト，
１０８・・・オンライン端末，
１１０・・・スマートカード，
１１２・・・プロセッサ，
３００・・・データセキュリティシステム，
３０２・・・オンラインホスト認可システム端末，
３０４・・・通信インターフェース，
３０６・・・プロセッサ，
３０８・・・メモリ，
３１０・・・ユーザインターフェース，
３１２・・・カードリーダ／ライタ，
４００・・・スマートカード，
４０２・・・インターフェース，
４０４・・・プロセッサ，
４０６・・・メモリ，
５００・・・データセキュリティシステム，
５０２・・・ホストシステム，
５０４・・・通信インターフェース，
５０６・・・プロセッサ，
５０８・・・メモリ，
５１０・・・端末，
５１２・・・セキュリティモジュール，
５１４・・・ホストデータベース，
５１６・・・カードリーダ，
【図１】
2005198288.tif 000013
【図２】
2005198288.tif 000014
【図３】
2005198288.tif 000015
【図４】
2005198288.tif 000016
【図５】
2005198288.tif 000017