(57)【要約】第１のコンピューティング装置と第２のコンピューティング装置との間の通信にてセキュアチャネルを確立する方法が記載される。方法は、楕円曲線Diffie-Hellmanプロトコルを用いる。Gは楕円曲線生成点であり第１のコンピューティング装置は一意の秘密鍵dcを有し、公開鍵Qc=dcGは、第２のコンピューティング装置によって信頼された当事者によって証明される。第１のコンピューティング装置が匿名因子rを生成し（５２０）、匿名化された公開鍵R=r.Qcを第２のコンピューティング装置に送信する（５４０）。第２のコンピューティング装置は一時的な秘密鍵dtと対応する一時的な公開鍵Qt=dtGとを生成し（５１０）、Qtを第１のコンピューティング装置に送信する。第１のコンピューティング装置はKc=KDF(rdc.Qt)を生成し（５３０）、第２のコンピューティング装置はKt=KDF(dt.R)を生成し（５１０）、KDFは両方の生成動作において使用される鍵導出関数であり、第１のコンピューティング装置と第２のコンピューティング装置との間でセキュアチャネルを確立する。Gは楕円曲線群E内の点であり、Eは素数位数の群であるが、E*はEの二次ツイストであり素数位数の群m=z.m'であり、m'は素数でありzは整数であり、r.dcはzがr.dcの因子であるように選択される。この方法を実行するよう適合された装置もまた開示される。
2019521620.tif 000002
【特許請求の範囲】
【請求項１】
楕円曲線Diffie-Hellmanプロトコルを用いて第１のコンピューティング装置と第２のコンピューティング装置との間の通信でセキュアチャネルを確立する方法であって、Gは楕円曲線生成点であり前記第１のコンピューティング装置は一意の秘密鍵dcを有し、公開鍵Qc=dcGは、前記第２のコンピューティング装置によって信頼された当事者によって証明され、前記方法は、
前記第１のコンピューティング装置が匿名因子rを生成し（５２０）、匿名化された公開鍵R=r.Qcを前記第２のコンピューティング装置に送信する（５４０）ステップと、
前記第２のコンピューティング装置が一時的な秘密鍵dtと対応する一時的な公開鍵Qt=dtGとを生成し（５１０）、Qtを前記第１のコンピューティング装置に送信するステップと、を有し、
前記第１のコンピューティング装置はKc=KDF(rdc.Qt)を生成し（５３０）、前記第２のコンピューティング装置はKt=KDF(dt.R)を生成し（５５０）、KDFは両方の生成動作において使用される鍵導出関数であり、前記第１のコンピューティング装置と前記第２のコンピューティング装置との間でセキュアチャネルを確立し、
Gは楕円曲線群E内の点であり、Eは素数位数の群であるが、E*はEの二次ツイストであり素数位数の群m=z.m'であり、m'は素数でありzは整数であり、
r.dcは、zがr.dcの因子であるように選択される、方法。
【請求項２】
請求項１に記載の方法において、zはrの因子である、方法。
【請求項３】
請求項１に記載の方法において、z=z1.z2であり、z1及びz2は整数であり、z1はrの因子であり、z2はdcの因子である、方法。
【請求項４】
先行する請求項のいずれか１項に記載の方法において、GはNIST  P-256の楕円曲線上の点である、方法。
【請求項５】
先行する請求項のいずれか１項に記載の方法において、前記第２のコンピューティング装置は、前記第１のコンピューティング装置から匿名化された公開鍵Rを受信する前に、一時的な公開鍵Qtを前記第１のコンピューティング装置に送信する、方法。
【請求項６】
先行する請求項のいずれか１項に記載の方法において、前記第１のコンピューティング装置は匿名化された公開鍵Rと暗号化された匿名因子rとを前記第２のコンピューティング装置に送信する、方法。
【請求項７】
請求項６に記載の方法において、前記第１のコンピューティング装置は、前記カード公開鍵Qcについての暗号化された公開鍵証明書を、前記暗号化された匿名因子rと共に送信する、方法。
【請求項８】
プロセッサ（２３）とメモリ（２４）とを含むコンピューティング装置であって、上記請求項１乃至７のいずれか１項に記載のステップであって前記第１のコンピューティング装置によって実行されるステップを実行するよう構成される、コンピューティング装置。
【請求項９】
請求項８に記載のコンピューティング装置において、前記コンピューティング装置は、外部電源の受動装置である、コンピューティング装置。
【請求項１０】
請求項９に記載のコンピューティング装置において、前記コンピューティング装置は、支払カードである、コンピューティング装置。
【請求項１１】
プロセッサ（３２）とメモリ（３３）とを含むコンピューティング装置であって、上記請求項１乃至７のいずれか１項に記載のステップであって前記第２のコンピューティング装置によって実行されるステップを実行するよう構成される、コンピューティング装置。
【請求項１２】
請求項１１に記載のコンピューティング装置において、前記コンピューティング装置はトランザクションシステムの端末である、コンピューティング装置。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本願は、欧州特許出願第16180454.7号（2016年7月20日出願）の優先権を主張する。上記出願の開示全体は参照によってここに取り込まれる。
【技術分野】
【０００２】
本願発明は暗号プロトコルを用いて２つの装置間にセキュアチャネルを確立する方法に関し、また、そのような方法を支援するよう適合されたシステム及び装置に関する。本願発明の実施形態は、支払装置とトランザクション基盤（インフラストラクチャ）の端末との間のセキュアチャネルの確立に特に関する。
【背景技術】
【０００３】
トランザクションシステムにおける信用管理（例えばトランザクション装置等の支払カード）は長らく、商業的に多大な重要性を有する複雑な技術問題であった。悪意の第三者によるトランザクションシステムの転覆は、重大な金融資産を損なう潜在性を有している。このため、トランザクションシステム内の潜在的な脆弱性についての全ての点が、適切な信用メカニズムによって保護されることが非常に重要である。支払カード又は他の支払装置（例えばEMVプロトコル）をトランザクション装置として用いたトランザクションシステムにおいて、これは、個人のカード及び装置にとって、端末にとって、そしてトランザクションシステムの他の要素にとって、適切な安全装置を必要とする。
【０００４】
EMVは、接触及び非接触トランザクションカードの使用に関するものに基づく金融トランザクションシステムである。EMV支払モデルにおいて、発行者銀行はアカウント保有消費者に、支払う際に使用すべきスマートカード（又は他のトークン）を提供する。加盟店銀行は販売者に、支払を受領するときに使用する対応端末装置を提供する。本開示での「端末」との用語はトランザクションカードと直接インタフェースする任意の装置（例えば個人識別番号（PIN）のユーザ入力を可能にするインタフェース（例えばPINパッド又はPIN入力装置（PED）、POS端末、これらのようなものを含むATM装置）であり、トランザクションカードとの相互作用を可能にするもの）を含む。
【０００５】
信用管理は、なんらかのシステム要素（支払カード及び端末）が主要トランザクションシステムと断続的に接触するだけのときに、及び、１つのシステム要素にとって、更なるシステム要素が信頼できるという完全な確信がないときに他のシステム要素と相互作用することが必要なときに、非常に問題となる。これは例えば、闘争地域において又は自然災害後に適用できるし、任意の他の環境（ここでは通常の通信ネットワーク（例えば有線又は無線インフラストラクチャ）が全体的に又は部分的に障害を受けている）において適用できる。
【０００６】
仮に端末が主要トランザクションシステムと通信していなくても、EMV標準を用いたトランザクションシステムは支払カード又は装置と端末との間のオフライントランザクションを支援する。そのようなトランザクションは明らかにリスクを付加した。というのも、主要トランザクションシステムによって提供されるリスク管理サービスは利用不可能であり、そのような金融リスクは時間と共にそしてトランザクション数の増加と共に蓄積するからである。端末及び支払装置が主要トランザクションシステムへ十分定期的にオンライン接続を行ってこの金融リスクを制御するよう要求することが非常に好適である。しかし、この要求は、従来のトランザクションカードでは実現困難である。
【発明の概要】
【０００７】
第１の態様では、本願発明は、楕円曲線Diffie-Hellmanプロトコルを用いて第１のコンピューティング装置と第２のコンピューティング装置との間の通信でセキュアチャネルを確立する方法を提供し、Gは楕円曲線生成点であり前記第１のコンピューティング装置は一意の秘密鍵dcを有し、公開鍵Qc=dcGは、前記第２のコンピューティング装置によって信頼された当事者によって証明され、前記方法は、
前記第１のコンピューティング装置が匿名因子rを生成し、匿名化された公開鍵R=r.Qcを前記第２のコンピューティング装置に送信するステップと、
前記第２のコンピューティング装置が一時的な秘密鍵dtと対応する一時的な公開鍵Qt=dtGとを生成し、Qtを前記第１のコンピューティング装置に送信するステップと、を有し、
前記第１のコンピューティング装置はKc=KDF(rdc.Qt)を生成し、前記第２のコンピューティング装置はKt=KDF(dt.R)を生成し、KDFは両方の生成動作において使用される鍵導出関数であり、前記第１のコンピューティング装置と前記第２のコンピューティング装置との間でセキュアチャネルを確立し、
Gは楕円曲線群E内の点であり、Eは素数位数の群であるが、E*はEの二次ツイストであり素数位数の群m=z.m'であり、m'は素数でありzは整数であり、
r.dcは、zがr.dcの因子であるように選択される。
【０００８】
このアプローチを用いて、本来的な脆弱性になり得るものを、システムの定義済み属性とすることによって、セキュアチャネルに対する潜在的な攻撃が防がれる。下記の通りである。
【０００９】
特定の実施形態では、zはrの因子である。他の実施形態では、z=z1.z2であり、z1及びz2は整数であり、z1はrの因子であり、z2はdcの因子である。
【００１０】
特定の実施形態では、GはNIST  P-256の楕円曲線上の点である。しかし、このアプローチは他の楕円曲線に適用されてよい。
【００１１】
前記第２のコンピューティング装置は、前記第１のコンピューティング装置から匿名化された公開鍵Rを受信する前に、一時的な公開鍵Qtを前記第１のコンピューティング装置に送信してよい。
【００１２】
実施形態では、前記第１のコンピューティング装置は匿名化された公開鍵Rと暗号化された匿名因子rとを前記第２のコンピューティング装置に送信する。前記第１のコンピューティング装置は、前記カード公開鍵Qcについての暗号化された公開鍵証明書を、前記暗号化された匿名因子rと共に送信する。
【００１３】
第２の態様では、本願発明はプロセッサ（２３）とメモリ（２４）とを含むコンピューティング装置であって、上記請求項１乃至７のいずれか１項に記載のステップであって前記第１のコンピューティング装置によって実行されるステップを実行するよう構成される、コンピューティング装置を提供する。
【００１４】
このコンピューティング装置は、外部電源の受動装置であってよく、実施形態では、支払カードであってよい。
【００１５】
第３の態様では、本願発明はプロセッサ（３２）とメモリ（３３）とを含むコンピューティング装置を提供し、上記請求項１乃至７のいずれか１項に記載のステップであって前記第２のコンピューティング装置によって実行されるステップを実行するよう構成される、コンピューティング装置を提供する。
【００１６】
前記コンピューティング装置はトランザクションシステムの端末であってよい。
【図面の簡単な説明】
【００１７】
一例として本開示の実施形態が、次の添付図面を参照してここに記載される。
【００１８】
【図１】図１は本発明の実施形態が使用される支払インフラストラクチャの要素を示す。
【図２】図２は本発明の実施形態において支払装置として使用されるために適合された支払カードを概略図で示したものである。
【図３】図３は本発明の実施形態において使用されるために適合された端末を概略図で示したものである。
【図４】図４は図２の支払カードと図１の支払インフラストラクチャにおける図３の端末との間のトランザクション相互作用を一般的に示す。
【図５】図５は本願発明の実施形態において使用されるセキュアチャネルを確立するための鍵生成用に匿名化されたDiffie-Hellmanプロトコルの概要である。
【発明を実施するための形態】
【００１９】
本開示の具体的な実施形態が、図面を参照して下記で記載される。下記の主要な実施形態は、上記のEMVプロトコルのもとでのPOI（相互作用点）端末（例えばPOS（支払時点）端末）との非接触支払のための支払装置として使用される支払カードに関する。下記で詳述される通り、更なる実施形態が他の技術的状況において用いられてよい。
【００２０】
ユーザ（不図示）は支払カード１の形態での支払装置を提供される。ここでは支払カード１だけが唯一の支払装置種別として示される。しかし、他の支払装置（例えば支払アプリケーションがインストールされた携帯電話ハンドセット）が代わりに使用されてよい。支払カード１はプロセッサと目盛りとを有するチップ３を含む。ここでのチップ３は端末４と接触して、後述の接触カードプロトコル（例えばISO/IEC7816のもとで定義されたもの）を可能にすることができる。この支払カード１はまた、磁気ストライプ９を有し、トランザクションが磁気ストライププロトコルを用いて実行されることを可能にする。支払カード１はまた、アンテナ並びに関連ハードウェア及びソフトウェアを含み、NFC及び関連する非接触カードプロトコル（例えばISO/IEC14443のもとで定義されたもの）によって端末との通信を可能にする。
【００２１】
インフラストラクチャにおいて他のコンピュータ装置（例えば相互作用点（POI）端末４）が典型的には固定されてよい。その例が、ユーザと相互作用する販売者によって使用される販売時点（POS）端末である。POS端末４はカードリーダ（POS端末４と別には示されない）を介して支払カード１と相互作用する。POS端末４は、加盟店銀行６又は他のシステムへ安全な方法で（専用チャネルを介して、又は、公衆若しくは非安全チャネル上の安全通信メカニズムを介して）接続可能である。下記の通り、本願発明の実施形態では、販売者のPOS端末と加盟店銀行６との間のこの接続は断続的である。端末の媒体又はその他のものを介して、支払カード１はカード発行者銀行５又はユーザに関連付けられたシステムとの間の接続を、類似的に断続的に行ってよい。
【００２２】
銀行インフラストラクチャ７は、カード発行者５と加盟店銀行６とを接続し、それらの間でトランザクションが実行されることを可能にする。この銀行インフラストラクチャは典型的には、トランザクションカード提供者によって提供される。当該提供者は、トランザクションカードサービスをカード発行者銀行５へ提供する。銀行インフラストラクチャ７は購入時に承認と、典型的には同一営業日内でのトランザクションの清算及び調整と、その後間もなくの支払の清算とを提供する。銀行インフラストラクチャ７は複数のスイッチとサーバとデータベースとを含み、ここではそれ以上は記載されない。というのも、使用される銀行インフラストラクチャの詳細は、本実施形態がどのように機能し実装されるかを理解するのに必要でないからである。
【００２３】
図２は本発明の実施形態で使用される支払カード２１の機能的特徴を一層詳細に示す。上記の通り、本実施形態は他の支払装置と共に使用されてよい。しかし、下記で詳述される実施形態は、限定的な暗号機能を有する支払カード２１に関する。
【００２４】
図２は本実施形態を実装するのに適したトランザクションカード（例えば支払カード２１（特にEMV支払カード））用の代表的なハードウェアとソフトウェア構造の関連部分を概略的に示す。支払カード２１はアプリケーションプロセッサ２３と１以上のアプリケーションプロセッサに関連付けられたメモリ２４とNFCコントローラ２６とを含む。支払カード２１は接触カードプロトコル（例えばISO/IEC7816）を用いた接触トランザクション用の接触パッド２１１を有し、また、NFCコントローラ２６に接続されたアンテナ２１２を含み、ISO/IEC14443のもとで定義されたような非接触カードプロトコルでのトランザクションを可能にする。
【００２５】
図示された構成において、アプリケーションプロセッサ２３と関連メモリ２４とは、トランザクションアプリケーション２０１を含む（プロセッサ空間に示されるが、コードとデータとはメモリ内に格納される）。アプリケーションプロセッサ２３は、NFCコントローラ２６とインタフェースするNFCアプリケーション２０７を提供する。トランザクションは接触カードインタフェース上、非接触カードインタフェース上、又は任意の他の通信チャネル（これは端末（汎用目的であっても専用目的であってもよい）と通信するためのカードにとって利用可能なものである）で上実行されてよい。
【００２６】
支払カード２１は暗号処理を可能である。もっともこれらの機能は、カード形態要素を考慮して限定されてよい。本実施形態ではこれは、アプリケーションプロセッサ２３と関連メモリ２４との内部に提供される暗号処理機能２５として示される。しかし、これは物理的に分離した要素（これは物理的及び／又は論理的に改ざん又は破壊から保護される）によって実装されてよいし、主要処理領域内に導入されつつ論理的に破壊から保護されてよい。下記の実施形態では暗号処理機能２５は、カードを識別するために使用される１つの秘密及び公開鍵ペアを保持する。秘密鍵はカードに対し一意であり、それに対応する公開鍵はカード発行者５によって証明される。対応するカード発行者の公開鍵はトランザクションインフラストラクチャ７の提供者によって証明され又は当該提供者の代わり証明されてよく、トランザクションインフラストラクチャにつき完全な信頼チェーンを確立する。これは、トランザクションインフラストラクチャの公開鍵を保持する端末３１によって検証されてよい。暗号処理機能はいくつかの暗号鍵ペアを有してよいし、暗号操作（例えばセッション鍵を確立する算出）を実行してよい。しかし、処理電力の欠如はその機能に影響を与える。例えばカードは新たな鍵ペアを生成することができてよいが、署名生成とハッシュ化とは計算的に困難である。新たな鍵ペアを生成して公開鍵を署名して証明済み公開鍵を用いて検証されるようにすることは、結果的に困難であり得る。
【００２７】
図３は本実施形態で使用される端末の機能的特徴を一層詳細に示す。端末３１はプロセッサ３２と関連メモリ３３とを有する。本実施形態での端末の基礎機能は、相互作用点（POI）として金融システムと共に動作することである。そのような端末は例えば販売時点（POS）端末又は現金自動支払い機（ATM）であってよい。他の実施形態では端末は完全に他の機能（例えばユーザ証明書を評価するための安全システム端末）を有してよい。図示される場合では、端末３１はオペレーティングシステム３４とトランザクションソフトウェア３５とを有する（これらは単一のコード集合にて共に提供されてよいし、多くの異なる構成要素に分割されてよいが、便宜上２つの要素としてここでは示される）。オペレーティングシステム３４はハードウェアリソースを管理し、アプリケーションに共通のサービスを提供する。一方でトランザクションソフトウェア３５は端末の基礎機能を実行し、例えば１以上のアプリケーションとして提供されてよい。端末３１は他の当事者（例えば加盟店銀行等）に対する保護済みチャネル３６（これは例えば暗号化により公衆ネットワーク上で有効化されてよい）を概して有する。本実施形態は、この保護済みチャネル３６が端末３１に対して単発的にのみ利用可能である状況において特定の値を有する。端末３１はまた、トランザクションカード等の装置への接続を行う手段を有する。この場合、端末は接触カードリーダ３７とNFCコントローラ３８とアンテナ３８１とを有し、非接触カードへの、又は、例えばNFC対応携帯電話等の装置（これは非接触カードにつき代理人として動作可能である）への、装置非接触カード接続を可能にする。端末３１は追加ポート３９を有し、他のソース（例えばUSBスティック）からデータがそれに提供されることを可能にする。トランザクションは接触カードリーダ３７を介して又はNFCコントローラ３８若しくは任意の他の適切なローカル接続を介して確立されてよい。
【００２８】
端末３１は暗号動作（これは新たな鍵ペアを生成することを含む）を実行することができる。トランザクションカードの議論にて上記で記載されたとおり、これは主要な動作環境の内部又は外部にて提供され得る。しかし、ここではこれは、暗号プロセッサ３９１とメモリ３９２とを含む端末内のセキュアモジュール３９０によって提供される。カードについては、端末は秘密鍵及び公開鍵を有しそれを識別する（そしてトランザクションインフラストラクチャ提供者にて終了する類似の信頼チェーンを有する）。しかし、それはまた、新たな公開鍵と秘密鍵とを生成することができ、特に、端末セッションにおいて使用するために一時的な鍵ペアを生成することができる。
【００２９】
支払カード２１と端末３１との間の典型的なセッションにおけるステップが図４に示される。これらのステップはEMVプロトコルを実装するトランザクションにつき典型的であり、本願発明を定義しないが、本実施形態が使用されてよい状況を提供する。
【００３０】
第１のステップはカード２１と端末３１との間でデータ接続４００を確立することである。これはコンタクト（「チップ及びピン（chip-and-PIN）」）を介してよい。この場合相互作用プロトコルはISO/IEC7816又は近距離非接触無線通信によって管理される。この場合、相互作用プロトコルはISO/EEC14443によって管理される。カード２１上の適切なアプリケーション（複数のアプリケーションが存在してよい）がトランザクションにつき選択され（４１０）、端末３１にて開始された（４２０）アプリケーション処理が要求されたデータをカードに提供する。カードはその状態に関するデータを提供する。端末３１はカードデータからの任意の処理制限を確認する（４３０）。公開鍵暗号を用いたオフラインデータ認証が次いで使用され、この暗号機能を用いてカードを有効化し、また、カード２１と端末３１との間でセキュアチャネルを確立する。カード保有者検証（４５０）（例えば接触カードにつき端末でPIN入力がされる）が次いで実行され、カードを制御する人が正当なカード保有者であるか否かを評価する。端末は次いで、オンライン認証が必要か否かを評価し、その動作の結果をカードへ提供する（４６０）。カードは次いで暗号（暗号の種別は端末によって提供された認証種別結果による）を生成し（４７０）、それを端末に送信する。もしオンライン認証が必要なら、暗号はトランザクションインフラストラクチャを介して承認のための発行者へトランザクションデータと共に送信される（４８０）。このとき承認結果（おそらくカードにつき発行者から返信されたデータを提供する）は端末３１へ返信され、トランザクションの最終承認又は拒否となる（４９０）。
【００３１】
本願発明の実施形態は、支払カード２１と端末３１との間のセキュアチャネルの確立に関する。EMVプロトコルの現在の実装は、RSA公開鍵暗号を、DES及びAESを基礎とした対称鍵暗号と共に用いて、セキュア通信を確立する。将来のEMVプロトコルはRSAをECC（Elliptic  Curve  Cryptography）で置き換える。これは２０１２年のEMVCoコメント要求（http://www.emvco.com/specifications.aspx?id=243）にて予め示され、次の文献にて詳細に分析された。
Brzuskaら, "An analysis of the EMV channel establishment protocol", ACM Conference on Computer and Communications Security - ACM CCS 2013, 373-386, 2013及びSmart, N., "Questions on the EMV Key Agreement Protocol"（https://www.emvco.com/specifications.aspx?id=285）。
【００３２】
提案されたスキームは、匿名化されたDiffie-Hellman鍵交換を用いて、RSAではなくECCを用いてセキュアチャネルを確立する。このモデルにつき使用される可能な楕円曲線は、P-256及びP-521を含む。他の潜在的楕円曲線の選択は、当業者によって良好に理解される。P-256曲線の他の形式が知られているが、下記の特定の例は、NIST承認のP-256であり、ときとしてNIST  P-256として知られる。公開鍵証明書についてのデジタル署名は、多くの異なる楕円曲線デジタル署名アルゴリズムの１つ（例えばISO/IEC14888にて特定されるもの）によって生成されてよい。EC-SDSA（Schnorr署名アルゴリズムに基づくデジタル署名）は１つの適切な選択肢である。ハッシュ化はSHA-2又はSHA-3（又は他の適切なハッシュ機能のセット）を用いて実行されてよい。楕円曲線群内の点はx座標のみを用いて示されてよい。
【００３３】
実施形態では端末は任意の適切な認証済みDiffie-Hellmanプロトコルにつき全ての必要な機能を実行することができる。しかし、カード（処理能力が非常に制限されているもの）はそうではない。Diffie-Hellmanプロトコルでは、各当事者のいずれかは既存の鍵ペアを用い、又は、新たな鍵ペアを生成する。各当事者のいずれかは公開鍵を交換する。このとき共有済み秘密が、他の当事者の公開鍵と組み合わせた各当事者自身の秘密鍵を用いて確立される。一般的なDiffie-Hellmanメカニズムは当業者に知られている。カードの静的鍵ペアにつき追加の保護を提供するために、本願発明が関連する実施形態において、ランダムの匿名因子（blinding）（「匿名」）がカードによって用いられ、この鍵ペアに対し追加の保護を提供する。プロトコル（protocol  resulting）は、匿名楕円曲線Diffie-Hellmanプロトコルと称されてよい。
【００３４】
本実施形態で使用される匿名楕円曲線Diffie-Hellmanプロトコルにおけるステップは、図５で示される。下記の議論において、楕円鍵ペアは秘密鍵dと公開鍵Qとを含む。ここで公開鍵Qはd回、楕円曲線群生成点Gを実行することから得られる。カードは静的鍵ペアdcとQcとを有し、一方で端末は新たな短期の（一時的な）鍵ペアを作成する能力を有する。
【００３５】
端末は一時的な鍵ペアdtとQtとを生成し、Qtをカードへ送信する（ステップ５１０）。カードは匿名因子r（これは、必要な演算効率と安全性とを実現するのに適切と考えられる任意のサイズであってよく、本実施形態ではこれは例えば３２バイトであってよい。）を生成し、次いで匿名公開鍵R=r.Qcを算出する（ステップ５２０）。カードは鍵導出関数を用いて、セキュアチャネルにつきカード鍵Kcを判定する（ステップ５３０)。このためKc=KDF（rdc.Qt）である。カードは次いで平文でRをrと公開鍵証明書と選択的にはKcで暗号化された追加のデータDと共に端末に送信する（ステップ５４０）。セキュアチャネルにつき、端末は端末鍵Ktを導出する（ステップ５５０）。このためKt=KDF（dt.R）であり、また、端末は証明書を検証し、R=r.Qcである（ステップ５６０）。セキュアチャネルが今、双方向の通信につき確立される。
【００３６】
図５に示される構成にて、端末が第１の動作を行う。本実施形態においてカードは第１のステップ（公開鍵を匿名化し、それを端末に送信すること）を行う。このとき同等の機能が実行されるが、端末は第１の導出ステップを行い、結果をカードに送信する。それが第２の導出ステップを行う。当業者はこのアプローチを困難無く構築できる。
【００３７】
チャネルが効果的にセキュアであるために、それに対して行われ得る攻撃に対して、チャネルは頑健であるべきである。楕円曲線暗号スキームに対する攻撃の１つの既知の形態は、二次ツイスト（quadratic  twist）を使用することである。二次ツイストと関連ツイスト攻撃の種類は、下記で簡潔に記載される。もっとも代数幾何学の当業者は二次ツイストの種類を理解している。潜在的ツイスト攻撃と他の小規模な下位の攻撃とは例えばhttps://safecurves.cr.yp.to/twist.htmlにて議論される。
【００３８】
楕円曲線群EはフィールドK上での次の式に対する点のセット（解）である。
E={(x,y):y2=f(x)=x3+ax+b}
【００３９】
曲線P-256については、本実施形態の例として議論されるように、f(x)はfp256(x)であり、値a及びbは、
http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdfでの例につき議論されているP-256について既知のものである。フィールド（体）はP-256によって定義された２５６ビットの素体である。
【００４０】
フィールドK上で定義された楕円曲線Eが関連する二次ツイスト（これはP-256曲線につき定義されてよい次の楕円曲線E*である）を有することは、代数幾何学において確立された結果である。
E*={(x,y):y2=-fP256(x)
【００４１】
ゼロでない任意の値xにつき、次の式が成立する。
・fp256(x)は平方である。よってxはEにおいて対応する点(x,y)を有する。あるいは、
・fp256(x)は平方でない。よってxはEにおいて対応する点を有さないが、E*において対応する（２つの）点(x,y)を有する。
【００４２】
これは重要である。というのもEが素数位数の群である一方でE*（少なくとも１つP-256の場合）はそうでないからである。それは小規模の下位を有し、結果的に小規模の下位についての攻撃にさらされる。P-256の場合、E*は、２４０ビットの素数m'につき、素数位数の群m=34905m'である。34905は小さい素因子（３、５、１３及び１７９）を有する。本明細書の目的のために、二次ツイスト群の群位の小さい素因子の積はP-256の「ツイスト因子」として記載される。このとき他の曲線は潜在的に異なるツイスト因子（これは異なるセットの素因子を含む）を有する。カード上への小規模下位攻撃は、次の方法で動作し得る。攻撃者はサイズ１３の下位におけるツイスト上の点Q1に対応するx1を選択し、x1をカードへ送信する。通常のDiffie-Hellman構成において、カードは次いでdcQ1を計算する。これは、サイズ１３の下位における他の点である。攻撃者は選択肢を非常に制限する情報の提供を受け、一旦カードがdcQ1から導出された鍵を用いて認証され暗号化されたメッセージにより応答すると、攻撃者はdc  mod  13を判定することができる。
【００４３】
小規模下位群攻撃からの防御のための従来のアプローチは演算的である。すなわち、関連当事者は、受信されたx1がE上の点に対応する（又はE*の小規模下位群内の点に対応しない）ことを確認する。この場合、受信当事者はカードである。この算出は比較的複雑であり、カードによっては迅速且つ有効的には実行され得ない。
【００４４】
本実施形態において上記の匿名ECDHプロトコルの特徴は、二次ツイスト攻撃に対する有効な防御という追加の利益を提供するために使用される。このアプローチは匿名因子rと前記カード秘密鍵dcとの積が因子としてツイスト因子を有することを確実にすることである。これが実行されると、次いでツイスト因子は既存のシステム特徴であり、攻撃者は小規模な下位群攻撃によって何らの新たな情報を得ない。
【００４５】
このアプローチの演算負荷は非常に小さいので、このアプローチはカードによって一層効率的に実行され得る。最も簡単なアプローチは匿名因子r自体がツイスト因子によって分割可能であることを確実にすることである。より適切なアプローチは、ツイスト因子の素因子が匿名因子rとカード秘密鍵dcとの間で分割されることである。これは再び、ツイスト因子を、秘密鍵と匿名因子との積の因子を調整することによって生成する。このことは、それが所定のシステム特徴であり、何らの新たな情報が小規模な下位群攻撃によって得られないことを意味する。
【００４６】
ツイスト因子の値34905は、NIST  P-256の楕円曲線に適用される。他の楕円曲線の族は、自身の二次ツイストにつき異なるツイスト因子を有する。というのも、NIST  P-256の上記例については、二次ツイストのツイスト因子は匿名因子の因子であってよいし、その素因子は匿名因子とカード秘密鍵dcとの間で分割されてよい。
【００４７】
上記の通り、図５に示す構成において、第１の動作が端末によって行われる。しかし、代替の実施形態では、カードは公開鍵を匿名化してそれを端末に送信する第１のステップを行ってよい。このとき、それ以降は同等の機能が実行される。当業者が理解する通り、二次ツイストを用いた小規模の下位群攻撃に対する防御は、ツイスト因子を匿名因子とカード秘密鍵dcとの積の因子とするものと全く同一のアプローチを用いて提供されてよい。
【００４８】
当業者が理解するように、上記の本願発明の趣旨及び範囲に沿って、更なる実施形態が開発されてよい。本願発明は支払カードとEMVプロトコルを実装する端末との間のセキュアチャネルを確立する特定の状況にて記載される。しかし、当業者は、それが、任意の構成（ここではセキュアチャネルは新たな鍵ペアに適合された端末と静的鍵ペアの貴重な秘密鍵を有する端末との間で楕円曲線暗号を用いて確立される）に一層一般的に適用されることを理解する。匿名化された公開鍵と二次ツイスト攻撃に対する防御とを有するそのような構成は、受動カード、タグ、又は同等の装置（例えばそのような装置が用いられてセキュア環境において保有者のアイデンティティを確立するアクセス制御システムにおけるもの）を用いた他のアプリケーションにおいて存在してよい。
【図１】
2019521620.tif 000003
【図２】
2019521620.tif 000004
【図３】
2019521620.tif 000005
【図４】
2019521620.tif 000006
【図５】
2019521620.tif 000007
【国際調査報告】
2019521620.tif 000008
2019521620.tif 000009