IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シークエント ソフトウェア、インコーポレイテッドの特許一覧

特許7043701ソフトウェアアプリケーションの信頼を最初に確立し、かつ定期的に確認するシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-22
(45)【発行日】2022-03-30
(54)【発明の名称】ソフトウェアアプリケーションの信頼を最初に確立し、かつ定期的に確認するシステム及び方法
(51)【国際特許分類】
   G06F 21/31 20130101AFI20220323BHJP
   G06F 21/44 20130101ALI20220323BHJP
   G06F 21/62 20130101ALI20220323BHJP
【FI】
G06F21/31
G06F21/44
G06F21/62 309
【請求項の数】 18
【外国語出願】
(21)【出願番号】P 2020186818
(22)【出願日】2020-11-09
(62)【分割の表示】P 2019072350の分割
【原出願日】2014-06-11
(65)【公開番号】P2021036453
(43)【公開日】2021-03-04
【審査請求日】2020-12-09
(31)【優先権主張番号】13/916,307
(32)【優先日】2013-06-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515345090
【氏名又は名称】シークエント ソフトウェア、インコーポレイテッド
【住所又は居所原語表記】2880 Lakeside Drive,Suite 228,Santa Clara,California 95054,U.S.A.
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ブルドニツキ、デイビッド
(72)【発明者】
【氏名】ロイ、カウシク
(72)【発明者】
【氏名】リム、パトリック
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2004-287593(JP,A)
【文献】特開2011-043902(JP,A)
【文献】特開2007-328381(JP,A)
【文献】特開2000-221881(JP,A)
【文献】特開2007-073040(JP,A)
【文献】特開2008-205816(JP,A)
【文献】特開2006-146660(JP,A)
【文献】特開2008-250911(JP,A)
【文献】特開2010-079795(JP,A)
【文献】米国特許出願公開第2012/0124659(US,A1)
【文献】中国特許出願公開第101847234(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
G06F 21/44
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
第1のソフトウェアアプリケーションをデバイスに実装されるようにサーバに登録する登録要求メッセージを前記サーバ前記デバイスから受信する段階と、
前記サーバが、前記登録要求メッセージを検証する段階と、
検証の成功に応答して、前記サーバが、前記サーバから前記デバイスへ検証コードを送信する段階と、
前記デバイスによる前記検証コードの検証の成功に続いて、パスコード及び前記デバイスと関連付けられたセキュアエレメントの識別子を前記サーバ前記デバイスから受信する段階と、
前記パスコード及び前記セキュアエレメントの識別子の受信に応答して、前記サーバが前記第1のソフトウェアアプリケーションを登録する段階と、
前記サーバによる前記第1のソフトウェアアプリケーションの登録に続いて、前記サーバと関連付けられた他のデバイスによってトークンを生成する段階であって、前記トークンが前記サーバから送信された前記検証コードから導き出されている、段階と、
前記サーバが、前記デバイス上の前記第1のソフトウェアアプリケーションへ、前記トークンを送信する段階であって、前記トークンは、前記デバイス上の前記第1のソフトウェアアプリケーション及び前記サーバの間の通信をセキュアにするのに使用される、段階と、を備える方法。
【請求項2】
前記登録要求メッセージは前記デバイスの識別子を有する、請求項1に記載の方法。
【請求項3】
前記登録要求メッセージは、2進数のショートメッセージサービスメッセージである、請求項1又は2に記載の方法。
【請求項4】
前記検証コードは所定の時間の間だけ有効である、請求項1から3の何れか一項に記載の方法。
【請求項5】
複数の認証情報選択肢から特定の認証情報の選択を、前記サーバ、前記デバイスから受信する段階をさらに備える、請求項1から4の何れか一項に記載の方法。
【請求項6】
前記複数の認証情報選択肢のそれぞれはイメージを含む、請求項5に記載の方法。
【請求項7】
前記第1のソフトウェアアプリケーションは、前記セキュアエレメントによって格納されたデータで動作するサードパーティソフトウェアアプリケーションである、請求項1から6の何れか一項に記載の方法。
【請求項8】
前記サードパーティソフトウェアアプリケーションを検証するために、前記サードパーティソフトウェアアプリケーションの識別子を前記サーバ受信する段階をさらに備える、請求項7に記載の方法。
【請求項9】
前記第1のソフトウェアアプリケーションは、前記セキュアエレメントにより格納されたデータへのアクセスの要求、前記セキュアエレメントに格納されたデータの変更、及び前記セキュアエレメントのストレージへのデータの書き込みのうち少なくとも1つを行うよう構成される、請求項8に記載の方法。
【請求項10】
サーバプロセッサと、前記サーバプロセッサに結合されたサーバ非一時的デジタル記憶素子と、第1記憶ロジックとを有するサーバであって、前記第1記憶ロジックは、前記サーバプロセッサによって実行された場合に前記サーバプロセッサに、
第1のソフトウェアアプリケーションをデバイスに実装されるように、前記サーバに登録する登録要求メッセージを前記デバイスから受信させ、
前記登録要求メッセージを検証させ、
検証に応答して、検証コードを前記デバイスに送信させ、
検証に続いて、パスコード及び前記デバイスに関連付けられたセキュアエレメントの識別子を前記デバイスから受信させ、
前記パスコード及び前記セキュアエレメントの識別子に基づいて、前記第1のソフトウェアアプリケーションを登録させる、
サーバと、
前記サーバと動作可能に関連付けられたトークンサーバであって、
トークンサーバプロセッサと、前記トークンサーバプロセッサに結合されたトークンサーバ非一時的デジタル記憶素子と,第2記憶ロジックとを有するサーバであって、前記第2記憶ロジックは、前記トークンサーバプロセッサによって実行された場合に前記トークンサーバプロセッサに、
前記第1のソフトウェアアプリケーションの登録に続いて、トークンを生成させ、前記トークンは、前記検証コードから導き出されており、
トークンサーバから前記デバイス上の前記第1のソフトウェアアプリケーションへ前記トークンを送信させ、前記トークンは、前記デバイス上の前記第1のソフトウェアアプリケーションおよび前記サーバの間の通信をセキュアにするのに使用される、
トークンサーバと、
を備える、システム。
【請求項11】
前記登録要求メッセージは、前記デバイスの識別子を有する、請求項10に記載のシステム。
【請求項12】
前記登録要求メッセージは、2進数のショートメッセージサービスのメッセージである、請求項10または11に記載のシステム。
【請求項13】
前記検証コードは、予め定められた時間にのみ有効である、請求項10から12の何れか一項に記載のシステム。
【請求項14】
前記サーバに実行された場合に前記第1記憶ロジックは、複数の認証情報選択肢からの特定の認証情報の選択を前記デバイスから、前記サーバプロセッサにさらに受信させる、請求項10から13の何れか一項に記載のシステム。
【請求項15】
前記複数の認証情報選択肢のそれぞれは、画像を含む、請求項14に記載のシステム。
【請求項16】
前記第1のソフトウェアアプリケーションは、前記セキュアエレメントによって格納されたデータを利用するよう要求するサードパーティのソフトウェアアプリケーションである、請求項10から15の何れか一項に記載のシステム。
【請求項17】
前記サードパーティのソフトウェアアプリケーションを検証するために前記サードパーティのソフトウェアアプリケーションの識別子をさらに受信させる、請求項16に記載のシステム。
【請求項18】
前記第1のソフトウェアアプリケーションは、前記セキュアエレメントにより格納されるデータへのアクセスの要求、前記セキュアエレメントに格納されるデータの変更、前記セキュアエレメントのストレージへのデータの書き込みのうち少なくとも1つを行うよう構成される、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2013年6月12日に出願された米国特許出願第13/916,307号に対する優先権を主張し、その内容全体を参照によって本明細書に引用したものとする。
【0002】
本発明は、概して、ポータブル通信デバイス上のソフトウェアアプリケーションのセキュアな動作を保証することに向けて、当該ポータブル通信デバイスをプロビジョニングすることに関し、より具体的にはソフトウェアアプリケーションの信頼を最初に確立し、かつ定期的に確認するシステム及び方法に関する。
【背景技術】
【0003】
RFIDベースの複数の近接型カードを用いた複数の無線トランザクションが、事実上普通になっている。例えば、多くの従業員が自分の職場に入るために複数のRFIDキーカードを使用し、また複数の運転者が高速道路の速度で通行料金を支払うために複数のRFIDパスを使用する。無線周波数識別を表すRFIDは、複数の電磁波を用いて、識別の目的のために、端末とある対象との間でデータを交換する。ごく最近では、複数の企業が、電子決済製品(すなわち、クレジットカード及び/又はデビットカード)を実装すべく、複数の携帯電話によってサポートされた複数のRFIDを用いようと試みている。しかしながら、基本的なRFID技術には、いくつかのセキュリティ上の懸念があり、それによって基本技術の複数の変更が促された。さらに、電子決済のメカニズムとしてのRFIDの広範囲にわたる採用は、遅れている。
【0004】
近距離無線通信(NFC)は、複数の電磁波を用いてデータを交換する別の技術である。NFCの複数の電磁波は、短距離(数インチのオーダー)を複数の高周波数で送信されるだけである。複数のNFCデバイスは、複数のPOS(point of sale)デバイスにおいて複数の決済を行うべく、既に用いられている。NFCは、複数の変調方式、コーディング、複数の転送速度、及びRFインタフェースを明記したオープンスタンダード(例えば、ISO/IEC18092を参照)である。NFCは、複数の金融取引及びアクセス制御に、より優れたセキュリティを提供するので、通信プラットフォームとして、より広く採用が行われた。他の複数の短距離通信プロトコルが知られており、複数の金融取引及びアクセス制御のサポートにおける使用のために受け入れられ得る。
【0005】
多くのアプリケーションが、複数のポータブル通信デバイスに関連した使用のために開発された。これらのアプリケーションによる、インターネットを介した商品の購入など、消費者の複数の電子商取引の完了を容易にする電子資金を利用できることで、これらのアプリケーションのいくつかは利益を享受し得る。いまだに、電子ウォレットなどの他の複数のアプリケーションは、ポータブル通信デバイスのセキュアデータサブシステムにアクセスできなければ、何の目的も持ち得ない。
【0006】
複数のカード発行会社は、自社の複数のクレジット/デビットカード製品を用いたアプリケーションの使用及び電子商取引に代金を支払うオプションを容易にすることに関心がある。複数のカード発行会社は、複数のサードパーティアプリケーションが自社の複数の金融製品にアクセスすることを可能にすることに自己の利益があるにもかかわらず、複数のセキュリティプロトコルの広範な分散に関して、複数の重大なセキュリティ懸念を持ち得る。同様に、サードパーティの複数の開発業者は、金融製品の複数のサブルーチンを開発することに関心を持たない可能性がある。従って、サードパーティの複数のプログラムの使用に関連付けられた複数の料金の決済を容易にする、これらのプログラムによってアクセス可能な電子ウォレットの必要性が業界内にある。また、電子ウォレットにアクセス可能なアプリケーションは、消費者によるモバイルアプリケーションへの直接アクセスによって用いられ得る。
【0007】
従って、本明細書を自らの前に有する当業者であれば理解し得るように、本発明は、前述の複数の問題及び複数の関連問題に対する、1又は複数のソリューションを提供しようとするものである。本開示のこれら及び他の複数の目的、及び複数の利点は、複数の図面、本明細書、及び特許請求の範囲を自らの前に有する当業者には明らかであろう。そのような付加的な複数のシステム、複数の方法、複数の特徴、及び複数の利点は全て本説明内に含まれ、本開示の範囲内にあり、添付の特許請求の範囲によって保護されることが、意図される。
【発明の概要】
【0008】
以下に、本開示のいくつかの態様の基本的な理解を提供すべく、本開示の簡略化された概要を示す。この概要は、本開示の包括的な概要ではない。本開示の主要又は重大な複数の要素を特定する、又は本開示の範囲を記述することは意図していない。以下の概要は、後に提供されるより詳細な説明の導入部として、本開示のいくつかの概念を簡略化した形式で提示するに過ぎない。
【0009】
複数の方法、複数のシステム、複数の装置、及び複数のコンピュータ可読媒体が、ポータブル通信デバイスと関連付けられたソフトウェアとセキュアエレメントとの間のセキュアな相互運用を保証することに向けて、当該ポータブル通信デバイスをトラストプロビジョニングするために開示される。一例において、デバイスに関連付けられたセキュアエレメントによって格納されたデータを利用すべく要求する利用要求は、ソフトウェアアプリケーションによって処理され得る。利用要求の処理に応答して、ソフトウェアアプリケーションを登録するための登録要求メッセージが、管理サーバに通信され得る。検証コードは、登録要求メッセージへの返信として管理サーバから受信され得る。受信された検証コードは、第2の検証コードと一致することを検証され得る。検証の成功に続いて、パスコード及びセキュアエレメントの識別子が管理サーバに通信され得る。パスコード及びセキュアエレメント識別子の通信に応答して、管理サーバから応答が受信され、第1のソフトウェアアプリケーションの登録が成功したか否かを特定し得る。
【図面の簡単な説明】
【0010】
本開示のさらなる理解のために、以下の複数の図面を参照して、限定的でも包括的でもない複数の実施形態が説明される。複数の図面では、様々な図の全てを通じて、別段の定めがない限り、同じ参照番号は同じ部分を指す。
【0011】
図1a】デバイスを用いてPOSでセキュアな決済処理を実行する試みに失敗した後に、診断を実行したいか否かを尋ねるエンドユーザのポータブル通信デバイスにインストールされた診断エージェントを示す。
【0012】
図1b】エンドユーザのスマートフォンと、システム管理バックエンドを含む様々なサブシステムとの間の、動作可能な複数の相互接続を示す。
【0013】
図2】本システムに関連し得る、ポータブル通信デバイス内のいくつかの論理ブロックを示すブロック図である。
【0014】
図3】システム管理バックエンド内の複数の論理ブロックを示すブロック図である。
【0015】
図4】本システムに関連し得る、図2の「オープンウォレット」ブロックの更に詳細を示すブロック図である。
【0016】
図4A】スマートフォンで利用され得る、例示的なウォレットユーザインタフェースの画面の一例である。
【0017】
図4B】スマートフォンで利用され得る、例示的なウォレットユーザインタフェースの画面の一例である。
【0018】
図4C】スマートフォンで利用され得る、例示的なウォレットユーザインタフェースの画面の一例である。
【0019】
図4D】スマートフォンで利用され得る、例示的なウォレットユーザインタフェースの画面の一例である
【0020】
図5】エンドユーザのスマートフォンと、セキュアエレメント管理サーバと、認証情報発行者アダプタサーバとの間の動作可能な複数の相互接続を示すブロック図である。
【0021】
図6】決済サブシステムに格納されたセキュアデータを閲覧、選択、及び/又は変更するための、複数のサードパーティアプリケーションの1つに対する許可の付与に通底する、1つの可能性のあるシステムの実装のブロック図である。
【0022】
図7A】例示的な複数の実施形態に従った、カードサービスモジュール(CSM)及びサードパーティアプリケーションの登録のための、例示的な通信フローを示す。
図7B】例示的な複数の実施形態に従った、カードサービスモジュール(CSM)及びサードパーティアプリケーションの登録のための、例示的な通信フローを示す。
図7C】例示的な複数の実施形態に従った、カードサービスモジュール(CSM)及びサードパーティアプリケーションの登録のための、例示的な通信フローを示す。
【0023】
図8A】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0024】
図8B】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0025】
図8C】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0026】
図8D】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0027】
図8E】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0028】
図8F】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0029】
図8G】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0030】
図8H】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【0031】
図8I】例示的な複数の実施形態に従った、ポータブル通信デバイスによって提示されたグラフィカルユーザインタフェースを示す。
【発明を実施するための形態】
【0032】
それでは、本発明の一部を形成し、本発明が実施され得る特定の例示的な複数の実施形態を例示の目的で示す添付の複数の図面を参照して、以下に本発明がさらに十分に説明されることになる。しかしながら、本発明は多くの異なる形態で具現化されてよく、本明細書に記載された複数の実施形態に限定されると解釈されるべきではなく、むしろこれらの複数の実施形態は、本開示が十分かつ完全となるように、また当業者に本発明の範囲を十分に伝えるように提供される。とりわけ本発明は、複数の方法又は複数のデバイスとして具現化され得る。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はソフトウェアとハードウェアとを組み合わせた実施形態の態様の形式を取り得る。したがって、以下の詳細な説明は、限定的な意味で取られるべきではない。
【0033】
[ポータブル通信デバイス]
本発明は、限定されないが、PDA、携帯電話、スマートフォン、ラップトップ、タブレットコンピュータ、及び、セルラー方式の音声及びデータサービスだけでなく消費者向けのダウンロード可能な複数のアプリケーションへの望ましいアクセスを含む他の複数のモバイルデバイスを含む、様々な異なるポータブル通信デバイスで利用されることが可能なシステム及び方法を提供する。1つのそのようなポータブル通信デバイスは、iPhone(登録商標)、モトローラのRAZR又はDROIDであり得る。しかしながら、本発明は、好ましくはプラットフォームであり、またデバイスには依存しない。例えば、ポータブル通信デバイス技術のプラットフォームは、Microsoft Windows(登録商標)Mobile、Microsoft Windows(登録商標)Phone 7、Palm OS、RIM Blackberry(登録商標)OS、Apple OS、Android(登録商標) OS、Symbian、Java(登録商標)、又は任意の他の技術プラットフォームであってよい。本開示の目的のために、本発明は概して、汎用のプラットフォームを利用するスマートフォン用に最適化された複数の特徴及び複数のインタフェースに従って説明される。しかし、当業者であれば、そのような全ての特徴及びインタフェースが任意の他のプラットフォーム及び/又はデバイスにも用いられ、適合され得ることを理解するであろう。
【0034】
ポータブル通信デバイスは、NFC、RFID、又はブルートゥース送受信器などの、1又は複数の短近接場電磁界通信デバイスを具備する。NFC IP-1規格(www.nfcforum.org)に準拠し、ポータブル通信デバイス上のセキュアエレメントとペアリングされ、「非接触決済リーダ」(後述のPOSにおいて参照)の前に提示されたときに、ピアツーピアのデータ交換、リーダ/ライタモード(すなわち、複数のRFIDタグからの情報収集)、及び非接触カードエミュレーション(NFC IP-1規格及びISO14443規格に従う)のような複数の標準機能を提供するNFCベースバンドを用いることが、今のところ望ましい。本明細書、複数の図、及び特許請求の範囲を自らの前に有する当業者であれば理解し得るように、NFC IP-1規格は単に今のところ望ましい例であり、任意の他の近接通信規格に関連した使用のために、全体又は一部において、エクスポートされ得る。ポータブル通信デバイスは、近距離無線通信を可能とするNFC/RFIDアンテナ(NFC IP-1規格及びISO14443規格に従う)を具備することが、さらに望ましい。しかしながら、当技術分野において理解されるように、NFC/RFID通信は、さらに近距離であっても、また可能性のある複数の読み出し問題があるとしても、実現され得る。
【0035】
また、ポータブル通信デバイスは、モバイルネットワーク事業者との無線通信を確立し管理するためのモバイルネットワークインタフェースを具備する。モバイルネットワークインタフェースは、限定されないが、移動通信用グローバルシステム(GSM(登録商標))、3G、4G、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、ユーザーデータグラムプロトコル(UDP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、SMS,汎用パケット無線サービス(GPRS)、WAP、超広帯域無線(UWB)、IEEE802.16ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)、SIP/RTP、又はモバイルネットワーク事業者のモバイルネットワークと通信するための任意の様々な他の無線通信プロトコルを含む、1又は複数の通信プロトコル及び技術を用いる。従って、モバイルネットワークインタフェースは、送受信器、送受信デバイス、又はネットワークインタフェースカード(NIC)を含む。本明細書、複数の図、及び特許請求の範囲を自らの前に有する当業者であれば理解し得るように、モバイルネットワークインタフェース及び短近接場電磁界通信デバイスは、送受信器又は送受信デバイスを共有し得ると考えられる。
【0036】
ポータブル通信デバイスは、消費者が情報を受信するだけでなく、情報を入力する、又はそうでなければ受信した情報に応答するためのいくつかの手段を提供するユーザインタフェースをさらに具備する。今のところ理解されるように(本開示をそれに限定する意図はなく)、このユーザインタフェースは、マイク、オーディオスピーカ、触覚インタフェース、グラフィカルディスプレイ、及び、キーパッド、キーボード、ポインティングデバイス、及び/又はタッチスクリーンを含み得る。本明細書、複数の図、及び特許請求の範囲を自らの前に有する当業者であれば理解し得るように、ポータブル通信デバイスは、地球表面に対するデバイスの物理的座標を、典型的にデバイスの緯度、経度、及び高度の関数として決定することが可能な位置送受信器をさらに具備し得る。この位置送受信器は、好ましくはGPS技術を使用するので、本明細書ではGPS送受信器と称され得る。しかしながら、位置送受信器は、地球表面に対するポータブル通信デバイスの物理的な位置を決定するために、限定されないが、三角測量、アシスト型GPS(AGPS)、E-OTD、CI、SAI、ETA、BSS、又は同様のものを含む他の複数のジオポジショニングメカニズムを更に(又は代替的に)使用することが可能であると理解されるべきである。
【0037】
また、ポータブル通信デバイスは、マイクロプロセッサ及び大容量メモリを具備する。大容量メモリは、ROM、RAM、及び1又は複数のリムーバブルメモリカードを含む。大容量メモリは、基本入出力システム(「BIOS」及びポータブル通信デバイスの動作を制御するためのオペレーティングシステムを含む、複数のコンピュータ可読命令及び他のデータ用のストレージを提供する。また、ポータブル通信デバイスは、デバイスを識別すべく、SIMカードなどの専用メモリを備え得るデバイス識別メモリを具備する。概して理解されるように、SIMカードは、デバイス固有の通し番号(ESN)、国際的に固有なモバイルユーザ番号(IMSI)、セキュリティ認証情報及び暗号化情報、ローカルネットワークに関連した一時的情報、ユーザがアクセスできる複数のサービスのリスト、及び2つのパスワード(通常使用時のPIN及びロック解除時のPUK)を含む。本明細書、複数の図、及び特許請求の範囲を自らの前に有する当業者であれば理解し得るように、デバイスのタイプ、その一次ネットワークタイプ、ホームモバイルネットワーク事業者などに応じて、他の情報がデバイス識別メモリに保持され得る。
【0038】
本発明において、各ポータブル通信デバイスは、2つのサブシステム、すなわち、(1)現在では、携帯電話の複数のユーザには普通になったように、通信及び他のデータアプリケーションを可能にする「無線サブシステム」、(2)「決済サブシステム」としても知られ得る「セキュアトランザクションサブシステム」を有するものと考えられる。このセキュアトランザクションサブシステムは、グローバルプラットフォーム2.1.X、2.2、又は2.2.X(www.globalplatform.org)の一部として説明されるものに(同一でなくても)類似したセキュアエレメントを、好ましくは含むことが考えられる。セキュアエレメントは、業界共通のPOSで用いられる決済カード追跡データを格納する業界共通のやり方に使用される専門の別個の物理的メモリとして実装され、更に、セキュアエレメントに格納されることが可能な他の複数のセキュア認証情報は、社員証の認証情報(企業の出入管理)、ホテル及び他のカードベースのアクセスシステム及び通行認証情報を含む。
【0039】
[モバイルネットワーク事業者]
複数のポータブル通信デバイスのそれぞれは、少なくとも1つのモバイルネットワーク事業者に接続される。モバイルネットワーク事業者は概して、複数の無線通信サービス、データアプリケーション、及びセキュアトランザクションサブシステムをサポートする物理的インフラストラクチャを、各セルタワーの関連セル内の複数のポータブル通信デバイスと通信する複数のセルタワーによって提供する。次に、複数のセルタワーはモバイルネットワーク事業者の論理ネットワーク、POTS、及びインターネットと動作可能な通信状態になり、複数の通信及びデータを、モバイルネットワーク事業者自身の論理ネットワーク内だけでなく他の複数のモバイルネットワーク事業者のものを含む複数の外部ネットワークにも伝え得る。モバイルネットワーク事業者は、限定されないが、移動通信用グローバルシステム(GSM(登録商標))、3G、4G、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、ユーザーデータグラムプロトコル(UDP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、SMS,汎用パケット無線サービス(GPRS)、WAP、超広帯域無線(UWB)、IEEE802.16ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)、SIP/RTP、又は複数のポータブル通信デバイスと通信するための任意の様々な他の無線通信プロトコルを含む、1又は複数の通信プロトコル及び技術に対するサポートを概して提供する。
【0040】
[リテールサブシステム]
現在、複数の小売店における標準は、複数の銀行及び複数の商業サービスプロバイダのデビット、クレジット、プリペイ、ギフト製品の取引処理を可能とする決済システムを接続したインターネットプロトコルである。磁気ストライプ対応カードをPOS端末の磁気リーダに通すことによって、カードデータはPOS機器に転送され、発行銀行による資金の確認に用いられる。このPOS機器は、磁気リーダの代わりにRFインタフェースを介して提示される決済カードデータを可能にする複数の非接触カードリーダを付属品として含み始めた。ISO14443規格、及び非接触カードデータをカードから送信する、将来的には決済サブシステムを含むモバイルデバイスから送信する、PayPassやPaywaveのような独自の複数の決済アプリケーションによって、RFインタフェースを通して、データはリーダに転送される。
【0041】
小売店のPOSデバイス75は、無線接続又は有線接続を介してネットワークに接続され得る。このPOSネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ユニバーサルシリアルバス(USB)ポートによってなど直接的接続、他の複数の形式のコンピュータ可読媒体、又はそれらの任意の組合せに加えて、インターネットを含み得る。相互結合された複数のLANのセット上では、異なる複数のアーキテクチャ及びプロトコルに基づいた複数のLANが含まれ、ルータは複数のLANの間でリンクとして機能し、複数のメッセージが、あるLANから別のLANに送信されることを可能にする。さらに、複数のLAN内の複数の通信リンクは、典型的にツイストペア線又は同軸ケーブルを含み、一方、複数のネットワーク間の複数の通信リンクは、アナログ電話線、完全又は部分的な専用デジタル線を利用し得る。専用デジタル線は、T1、T2、T3,及びT4、総合デジタル通信網(ISDN)、デジタル加入者線(DSL)、衛星リンクを含む無線リンク、又は当業者に知られた他の複数の通信リンクを含む。さらに、複数のリモートコンピュータ、及び他の複数の関連電子デバイスは、モデム及び一時的な電話リンクを介して、LAN又はWANの何れか一方にリモートで接続され得る。基本的に、POSネットワークは、決済用のPOSにおいて、同一の金融サービスプロバイダを介して複数の金融取引を検証、認証、及び最終的に捕捉する目的で、複数のPOSデバイスと複数の金融サービスプロバイダとの間を情報が移動することを可能にする任意の通信方法を利用し得る。
【0042】
[セキュアトランザクションサブシステム]
システムはセキュアトランザクションサブシステムを含む。セキュアトランザクションサブシステムは、セキュアエレメント、及び、管理及びプロビジョニングシステムだけでなく、セキュアエレメントに格納されたセキュアデータの使用及び管理用の顧客対応インタフェースと通信するための関連デバイスソフトウェアを含む。好ましくは、セキュアトランザクションサブシステムは、グローバルプラットフォーム2.1.X又は2.2に規定された規格など、国際的な規格に必要に応じて準拠することになる。
【0043】
[システム管理バックエンド]
システムは、システム管理バックエンドを含む。図1bに示されたように、システム管理バックエンド300は、リテールサブシステム、セキュアトランザクションサブシステム、及び複数のポータブル通信デバイスに、少なくとも1つのモバイルネットワーク事業者のインフラストラクチャを介して、接続される。システム管理バックエンドは、1又は複数のクライアントデバイスと動作可能に通信するサーバを有する。また、サーバはリテールサブシステム、セキュアトランザクションサブシステム、及び1又は複数のポータブル通信デバイスと、動作可能な通信状態にある。また、サーバはリテールサブシステム、セキュアトランザクションサブシステム、及び1又は複数のポータブル通信デバイスと、動作可能な通信状態にある。複数の通信は、データ及び複数の音声チャネルを含む。任意のタイプの音声チャネルが、本発明に関連して用いられ得て、限定されないがVoIPを含む。
【0044】
サーバは、同一コンピュータ上、又は複数のコンピュータに分散されたローカル又はワイドエリアネットワークにわたって、順番に又は並行にシステムのバックオフィスを実行するために必要とされる複数の手順及び機能を実装する1又は複数の汎用コンピュータを備え得て、さらに「クラウドに」配置され得る(好ましくは、十分なセキュリティの規定に従うことを条件として)。サーバを備えるコンピュータは、数例を挙げると、Linux(登録商標)、Windows(登録商標)、Windows(登録商標)CE、Unix(登録商標)、又はJava(登録商標)ベースのオペレーティングシステムによって制御される。システム管理バックエンドサーバは、プログラムコード及びデータを格納する大容量メモリに動作可能に関連付けられる。データは、1又は複数のデータベース、テキスト、スプレッドシート、フォルダ、ファイル、又は同様のものを含み、知識ベース、複数のユーザ識別子(ESN、IMSI、PIN、電話番号、電子メール/IMアドレス、支払情報、又は同様のもの)を維持し格納するよう構成され得る。
【0045】
システム管理バックエンドサーバは、事例管理システムをサポートして、顧客サービスセンタの複数のクライアントコンピュータにわたるコールトラフィックの接続性及び分散を提供する。VoIP音声チャネルの接続性を用いた望ましいアプローチにおいて、事例管理システムは、カリフォルニア州レッドウッドショアーズのオラクル(Oracle Corp.)によって販売された連絡先/事例管理システムである。他の複数の連絡先/事例管理システムは、カリフォルニア州レッドウッドシティのコンタクチュアル(Contactual,Inc.)により入手可能なものなどが用いられてよい。オラクルの事例管理システムは、同時に発生する複数の決済及びセルラー関連の複数のサービス懸念とともに複数のサービス問題を処理する柔軟性も提供する、VoIPベースの顧客サービスコールセンタ用の標準的なCRMシステムである。本明細書、複数の図面、及び特許請求の範囲を自らの前に有する当業者であれば理解し得るように、セールフォース(Salesforce)(カリフォルニア州サンフランシスコのSalesforce.com,Inc.)及びノボ(Novo)(バージニア州バージニアビーチのNovo Solutions,Inc.)など他の複数の事例管理システムが、本発明内で利用され得る。
【0046】
システム管理バックエンドサーバに関連付けられた各クライアントコンピュータは、好ましくは、ネットワークインタフェースデバイス、グラフィカルユーザインタフェース、及び、顧客サービスセンタのサーバによってサポートされた、VoIPなど音声チャネルに一致する音声通信能力を有する。各クライアントコンピュータは、ポータブル通信デバイスのセルラー及びセキュアトランザクションサブシステムの両方のステータスを要求することが可能である。このステータスは、ポータブル通信デバイスのソフトメモリ及びコア性能の内容、NFCの複数の構成要素、すなわち、ベースバンド、NFCアンテナ、セキュアエレメントステータス及び識別を含む。
【0047】
[連合決済サブシステム]
図2に示されたように、それぞれのポータブル通信デバイス50は、(例えば、消費者によって選択された)1又は複数のサードパーティアプリケーション200、(「オープンウォレット」と以下に称される)「オープンアーキテクチャ」の電子ウォレット100、決済ライブラリ110、セキュアエレメント120、NFCベースバンド、決済サブシステム150(すなわち、セキュアデータストア115及びセキュアエレメント120)、及び診断エージェント170を含み得る。オープンウォレット100は、消費者がデバイス50(好ましくは決済サブシステム150)に格納された全ての認証情報(例えば、カード、クーポン、アクセス制御、及びチケットデータ)を参照することを可能にするコンピュータアプリケーションとして、考えられることが可能である。また、オープンウォレット100は、ポータブル通信デバイスの決済サブシステム150に格納された全ての認証情報の発行者を好ましくは追跡し、サードパーティアプリケーションが、決済サブシステムに格納された複数の認証情報を閲覧、選択、及び/又は変更する許可を有するべきか否かを、アプリケーションごとに決定し得る。このように、オープンウォレット100は、複数の無許可のアプリケーションが、現在アクセスする許可を有していない決済サブシステム150に格納されたデータにアクセスすることも防止する。
【0048】
複数の決済ライブラリ110は、好ましくはオープンウォレット100によって用いられ、セキュアエレメント120、システム管理バックエンドを有するインタフェースを管理(及びそれらのハウスキーピング処理を実行)し、無線通信を利用した(OTA)プロビジョニングを、データ通信送受信器(そのSMSチャネルを含む)を介してデバイス50上で実行する。OTAデータ通信は、あるやり方で暗号化され、暗号鍵はカードサービスモジュール420で利用されることが考えられる。決済サブシステム150は、決済カード、クーポン、アクセス制御、及びチケットデータ(例えば、交通機関、コンサート)などの複数の認証情報を格納するために用いられ得る。これらの決済タイプのいくつかは、別の複数のアプリケーション200によって、これらのアプリケーションによる使用のために、決済サブシステムに追加され得る。このように、他の複数のサードパーティアプリケーション(不図示)は、決済サブシステム150にアクセスすることを妨げられ得る。
【0049】
セキュアデータストア115は、ポータブル通信デバイス50にセキュアストレージを提供する。様々なレベルのセキュリティが、セキュアデータストア115のストレージを目的としたデータの性質に応じて提供され得る。例えば、セキュアデータストア115は、デバイス50のオペレーティングシステムレベルで、簡単にパスワード保護され得る。これらのオペレーティングシステムで知られているように、パスワードは、デバイス50のある場所に格納される単純な英数字又は16進のコードであり得る。代替的に、セキュアデータストア115のデータは、好ましくは暗号化される。しかしながら、セキュアデータストア115は、2011年10月21日に出願され、これによりその全体を参照によって引用された「ポータブル通信デバイス上に仮想セキュアエレメントを提供するシステム及び方法」と題され(本願に係る譲受人によって所有された)同時係属中の米国特許出願第13/279,147に開示されたやり方で、仮想セキュアエレメントとして構成される可能性がさらに高い。
【0050】
オープンウォレット100は、好ましくは、決済サブシステム150に関連した1又は複数の、ソース又は発行者からのカード、クーポン、チケット、アクセス制御データなど、複数の認証情報のストレージ、管理、及び使用に関わる複雑性を取り除く。また、オープンウォレット100は、好ましくは、決済サブシステム150に格納されたデータへのアクセス制御、及び各アプリケーションが許す複数の機能を強化する。1つのアプローチにおいて、オープンウォレット100は、ポータブル通信デバイス50に格納された各サードパーティアプリケーションの開発者/発行者を検証する。この検証は、認められた(すなわち信頼済み)アプリケーションのローカル認証データベースにアクセスすることによって実現され得る(図6を参照)。このアプローチの下では、知られている発行者ID及び正しく関連付けられたコンパイルIDで署名されたアプリケーションのみが、カードサービスモジュール420によって、決済サブシステム150及び/又はメタデータレポジトリ125(とりわけ、カードイメージデータ及び任意のエンボス加工されたカードデータを格納する)に格納されたデータにアクセスすること、及び/又はそれを処理することを許可される。
【0051】
言い換えれば、アプリケーション200又はウォレットユーザインタフェース410は、決済サブシステム150と情報交換する必要があるとき、デジタル識別子(発行者ID又はアプリケーションIDなど)、デジタルトークン(すなわち、コンパイルID又は秘密トークンID)、所望のアクション、及びカードサービスモジュール420に対するアクションに必要とされる任意の関連引数を送信することによって、情報交換を行う。カードサービスモジュール420は、デジタル識別子/デジタルトークンの対が、セキュアデータ表(図6)の信頼済みアプリケーションデータと一致することを検証し、次に、所望のアクションを実行するために必要な1又は複数のコマンドを発行し得る。アプリケーション200又はウォレットユーザインタフェース410によって用いられ得る可能な複数のアクションの中には、以下に関連したものがある。(a)ウォレット管理(例えば、ウォレットパスコードの設定/リセット/有効化、OTAサーバのURL取得、無線通信を利用したレジストリプロビジョニング、決済タイミングの設定、決済タイミングの増加、デフォルトカードの設定、発行者のリスト作成、対応認証情報のリスト作成、認証情報の表示順の設定、認証情報のストレージ優先度の設定、カテゴリ/フォルダの作成、認証情報のカテゴリとの関連付け、メモリ検査、認証情報のストレージ用のセキュアエレメント(SE)の決定、提示の取得、ウォレットステータスの更新)。(b)認証情報管理(例えば、認証情報の追加、認証情報詳細の閲覧、認証情報の削除、認証情報の有効化(リデンプション/決済用)、認証情報の無効化、認証情報の検索、認証情報機能のリスト作成、デフォルト認証情報の設定、認証情報のロック/ロック解除、パスコードアクセスの要求、認証情報イメージの取得、アクセスパスコードの設定)。(c)セキュアエレメント(SE)管理(例えば、発行者用のセキュリティ領域の作成、鍵のローテーション、アプリケーションのロード、アプリケーションの更新、ウォレットのロック/ロック解除、SEのロック/ロック解除)。(d)パーソナライズ(例えば、認証情報の追加、認証情報の削除、認証情報の停止/停止解除、発行者メタデータ更新の通知、カードメタデータ更新の通知)。
【0052】
図4は、図2の「オープンウォレット」ブロックの更に詳細を示す。示されたように、「オープンウォレット」100の複数の機能は、複数のカードサービスに密接に結合したユーザインタフェースを提供する単一の専用モジュールに統合可能である。図4に示された別の実施形態において、オープンウォレット100の複数の能力及び複数の機能は、ウォレットユーザインタフェース410とカードサービスモジュール420との間で分散され得る。分散型アプローチは、複数のアプリケーションがウォレットユーザインタフェース410によって提供されたユーザインタフェースを用いる必要なく、カードサービスモジュール420に直接アクセスすることを可能にし得る。カードサービスモジュール420は、ポータブル通信デバイス50の決済サブシステム150に格納されたカード、クーポン、アクセス、及びチケットデータ全ての発行者を追跡し、決済サブシステムに格納されたセキュアデータをアプリケーションが閲覧、選択、使用、及び/又は変更するための許可を有するべきか否かを、アプリケーションごとに決定するように構成され得る。ウォレットユーザインタフェース410はユーザインタフェースを提供し、それを通じてユーザは、ユーザの複数の認証情報に関連するカードサービスモジュール420に関連して、セキュアに格納された情報を登録、プロビジョニング、アクセス、及び/又は使用し得る。ウォレットユーザインタフェース410は、カードサービスモジュール420から分離されているので、ユーザは複数のサードパーティアプリケーション200の1つを用いることを選択して、カードサービスモジュール420の情報を管理する。図4にさらに示されたように、メタデータ(認証情報ロゴ(例えば、Amtrak(登録商標)、MasterCard(登録商標)、TicketMaster(登録商標)、及びVisa(登録商標)など)、及びアフィニティイメージ(例えば、AA Advantage(登録商標)、及びUnited Mileage Plus(登録商標)))は、よりフレンドリーなユーザエクスペリエンスの提供において、複数のサードパーティアプリケーション200又はウォレットユーザインタフェース410による使用のためにメモリ125に格納され得る。このメタデータは複数のアプリケーションにわたって共有可能なので、セキュアトランザクションを実行するために必要なストレージは最小化され得る。
【0053】
スマートフォンで利用され得る1つの例示的なウォレットユーザインタフェース410の様々なスクリーンショットが、図4A、4B、4Cおよび4Dに示される。とりわけ、これらの図は、カードサービスモジュール420に関連してセキュアに格納された情報を登録、プロビジョニング、アクセス、及び/又は使用する機能を示す。図4Aは、ウォレットが、カード、クーポン、チケットなどの様々な認証情報を保持し得ることを示す。図4Aは、複数のカードがウォレット100に格納され得ることをさらに示す。図4Dに示されたように、図4Aに示された画面からVisa(登録商標)カードを選択するとすぐに、ウォレットユーザインタフェースは、ユーザがセキュアなNFC決済トランザクションを開始するためのインタフェースを提供する別の画面を開く。また、図示されたように、ユーザインタフェースは、残高、利用可能額の情報を示し得る。
【0054】
[認証情報プロビジョニング]
図5は、システム内の複数の認証情報をプロビジョニングするために利用され得る、1つの例示的なシステムアーキテクチャを示す。示されたように、ユーザのポータブル通信デバイス50は、セキュアエレメント管理サーバ及び認証情報発行者アダプタサーバと通信するように構成される。セキュアエレメント管理サーバ(あるいは、カードアプリケーション管理システムとして知られ得る)は、ユーザの複数の認証情報を検証するように構成される。例えば、ユーザがクレジットカードに関連した情報をデバイス50のセキュアエレメント120に格納することを望む場合、ユーザはデバイス50に表示されたユーザインタフェースを介してクレジットカード情報を入力し得る。
【0055】
ユーザインタフェースは、ウォレットユーザインタフェース410、又はオープンウォレット100に対応した信頼済みサードパーティアプリケーション200によって生成され得る。一例として、図4A及び4Bは、スマートフォンで利用され得る1つの例示的なウォレットユーザインタフェース410を用いて、ウォレットへの「チャージイットカード(Charge-It Card)」のプロビジョニングを示す。どちらのユーザインタフェースにも通底しているが、カードサービスモジュール420は、好ましくは特定クレジットカードの最初の6桁(通例、銀行識別番号又はBINと称される)をセキュアエレメント管理サーバに送信する。次にセキュアエレメント管理サーバはカード発行会社の順守事項を検証し、ユーザのモバイルデバイス50のオープンウォレット100(又はカードサービスモジュール420)と、適切な認証情報発行者アダプタサーバとの間で、当技術分野において以前から知られたような暗号化されたやり方により、直接的な鍵の交換を容易にする。
【0056】
直接的な鍵の交換に対する様々なアプローチは、限定されないが、Gemalto N.V.(オランダ、アムステルダム)、Giesecke&Devrient(ドイツ、ミュンヘン)、SK C&C(韓国)(Corefire)、又はカリフォルニア州サンタクララのVIVOtech Inc.(ViVoTech認証情報発行者アダプタサーバ)を含むエンティティから提供される様々な既製のソリューションによって容易になり得る。認証情報発行者アダプタサーバはユーザを認証し、発行者ルールを実行し、次にパーソナライズプロセスを開始する。認証情報発行者アダプタサーバは、好ましくは、ユーザがプロビジョニングしようとしている複数の認証情報の発行者によって運営されたサーバである。認証情報発行者アダプタサーバは、例えば、前もって発行者に提供されたユーザ情報に基づいて、一連の検証の質問を与えることによって、ユーザを検証し得る(図4Bを参照)。いったん検証されると、認証情報発行者アダプタサーバは、16桁の完全なクレジットカード番号を、カードサービスモジュール420を介して、セキュアエレメント120に送信する。認証情報発行者アダプタサーバは、選択されたクレジットカードの外観やデザインに関連した情報など、メタデータもアプリケーションメモリ125に送信し得る。完了すると、認証情報発行者アダプタは、セキュアエレメント管理サーバにトランザクションの完了に関して通知し得る。図4Cに示されたように、以下のウォレットユーザインタフェース410のプロビジョニングには、ユーザがスマートフォンユーザインタフェースの当技術分野において周知の複数のユーザインタフェース技術を用いて選択し得る、チャージイットカードが含まれる。
【0057】
[サードパーティアプリケーションの検証]
上述したように、アプリケーションが、決済サブシステム150に格納されたセキュアデータを閲覧、選択、及び/又は変更するために、ポータブル通信デバイス50のセキュアエレメント120(又は、セキュアデータストア115、さらに好ましくはメタデータレポジトリ125)へのアクセスを許可される前に、オープンウォレット100は、任意のサードパーティアプリケーション200の信頼済みステータスを検証する。上述した1つのアプローチにおいて、この検証は、認められたアプリケーション、又は信頼済みアプリケーションのローカル認証データベースにアクセスすることによって実現され得る。望ましいアプローチにおいて、ローカル認証データベースは、システム管理バックエンド300と関連付けられた1又は複数のサーバに関連付けられたリモート認証データベースと連携する。
【0058】
図6は、カードサービスモジュール420、セキュアエレメント120、及び決済サブシステム150のセキュリティを高めるための、ローカル及びリモート認証データベースの1つの可能な組合せの1つの可能な実装のブロック図である。図6に示されたように、ユーザA/Cレジストリ(又は、ユーザアカウントレジストリ)は、サーバに関連付けられ得る(又は、そうでなければクラウドで利用され得る)。ユーザA/Cレジストリは各ユーザのポータブルデバイス50に配置されたセキュアエレメント120の識別を格納し得る。ユーザアカウントレジストリへの複数の登録は、プロセスの任意の時点で、各ユーザ用に追加され得る。
【0059】
「発行者レジストリ」データベースは、承認された複数の発行者のデータベースである。発行者IDは、各タイプの認証情報にとって固有である。言い換えれば、銀行が複数のタイプの認証情報(例えば、デビットカード、クレジットカード、アフィニティカードなど)を有する場合、各認証情報タイプは独自の発行者ID(例えば、I-BofA-II)を有し得る。望ましいアプローチにおいて、発行者IDは複数のタイプの認証情報間で、複数の認証情報が少なくとも関連しているということを示すべく、いくつかの共通要素を有し得る(例えば、I-BofA-I)。こうして、同一発行者の複数のアプリケーションは、同一の「拡大」発行者の他のアプリケーションとデータを共有可能である。望ましいアプローチにおいて、カードサービスモジュール420は、(「システムとともに出荷される」)ウォレットユーザインタフェース410にさえも発行者ID(及び、アプリケーションID及びコンパイルトークン)を有するよう要求することによって、簡略化が可能である。
【0060】
「アプリケーションレジストリ」は、オペレーティングシステムプロバイダによって事前に承認された複数のアプリケーション(主にサードパーティ)のデータベースである。ユーザA/Cレジストリと同じように、「アプリケーションレジストリ」及び「発行者レジストリ」データベースは、オープンイシュアンスとの動作可能な関連において、サーバ側で(又は、そうでなければ、クラウドで)維持される(図3を参照)。本明細書を自らの前に有する当業者であれば理解し得るように、様々なレジストリが、別個の複数のデータベース又は1つに統合されたデータベースに実装され得る。ウォレット100の開始において、好ましくはその後実質的に一定の時間間隔において(例えば毎日)、オープンイシュアンスのアプリケーションレジストリに格納されたデータ(図3を参照)は、ローカルに格納されるウォレットを有する複数のデバイスに分散される。
【0061】
図6に示されたように、アプリケーションレジストリは、他の情報の中でもとりわけ、アプリケーションID(「App ID」)発行者ID、及び、コンパイルID又はトークンを含み得る。コンパイルIDは、特定のアプリケーション200の資格認定プロセスの間に、オープンイシュアンスと関連付けられた1又は複数のプロセスによって(図3)、各アプリケーション用に生成されたグローバル定数である。コンパイルIDが、固有のデバイス50上の特定のカードサービスモジュール420によって生成された後、コンパイルトークンはアプリケーションに含まれる、又はそうでなければアプリケーションに関連付けられる。このコンパイルトークンは、好ましくは、アプリケーションID、コンパイルID、発行者ID、又はそれらのいくつかの組合せなど所定のシードを使用する、デバイスに対してローカルな疑似乱数発生器によって生成される。
【0062】
ユーザが、サードパーティアプリケーションをデバイス50のカードサービスモジュール420で資格認定しようとするとき、サードパーティアプリケーションに関連付けられたコンパイルID(デジタルトークン)及びアプリケーションID(デジタル識別子)は、デバイス50に格納されたカードサービスレジストリに格納されたコンパイルID及びアプリケーションIDの対に一致し得る(図6を参照)。また、本明細書を自らの前に有する当業者が理解すべきように、同一のコンパイルID及びアプリケーションIDの対は、システムに関連付けられた他のデバイス50にも送信される(又はいくつかの例では、その内部に事前に格納される)。コンパイルID/アプリケーションIDの対がデバイスのカードサービスレジストリに格納された対の1つに一致する場合、(セキュアエレメント120と関連付けられ、次に、コンパイルID/アプリケーションIDと関連してデバイス50のカードサービスレジストリに格納されたものなどの)秘密トークンIDは、好ましくは、疑似乱数発生器よってデバイス50に生成される。いくつかの例において、コンパイルIDは、乱数発生器をシードするために事前に選択され、用いられ得る。カードサービスレジストリに関連付けられた他の所定データの1又は複数が、代わりにシードとして事前に選択され得ることは理解されるべきであるである。カードサービスレジストリは、好ましくは、(セキュアエレメント120は限定された領域を有するので、セキュアエレメント120よりはむしろ)セキュアメモリに格納され、カードサービスレジストリは、好ましくは、標準的な暗号化技術を用いて、さらに暗号化される。また、秘密トークンIDは、アプリケーションとともに配布されたコンパイルIDの代わりに、デバイス50のアプリケーション200に組み込まれる、又はそうでなければそれと関連付けられる。
【0063】
サードパーティアプリケーションがカードサービスレジストリ(及びアプリケーションに組み込まれた秘密トークン)にロードされた後、現在の検証済み(又は信頼済み)アプリケーションに必要とされる(又はそうでなければ、それとともに使用するために求められる)発行者固有の認証情報へのアクセスを提供するために、サードパーティアプリケーションはオプトインを起動し、ユーザにオプトインを促す。サードパーティの信頼済みアプリケーションの続く各起動において、組み込まれた秘密トークン及び/又はアプリケーションIDは、デバイスのカードサービスレジストリ内のデータと比較される。一致した場合、アプリケーションは信頼済みであり、カードサービスモジュール420を介して決済サブシステム150にアクセスすることが可能である。このように、任意のアプリケーション200又はウォレットユーザインタフェース410と関連付けられた秘密トークン及び/又はアプリケーションIDはまた、カードサービスレジストリから取り除かれ得て、従って決済サブシステム及び場合によってはアプリケーションへのアクセス全体が無効にされ得ることが、分かり得る。同様に、アプリケーション200又はウォレットユーザインタフェース410が不正な変更を加えられた場合、秘密トークン及び/又はアプリケーションIDは無効になる。発行者レジストリ、カードサービスレジストリ、アプリケーションレジストリ、ユーザA/Cレジストリ、及び後述されるものなどの許可テーブルは、例えばセキュリティアルゴリズム(例えば、高度暗号化標準(AES)アルゴリズム、セキュアハッシュアルゴリズム(SHA)、メッセージダイジェスト5(MD5)アルゴリズム、及び同様のもの)を、入力として1又は複数のパラメータ(例えば、セキュアエレメントID、パスコードなど)から生成されるハッシュである鍵の値とともに用いてテーブルを暗号化することによって保護され得る。不正アプリケーションがカードサービスレジストリに不正な変更を加える場合、例えば、カードサービスモジュール420は変更を検出し、許可テーブルをセキュアエレメント管理サーバから引き出された許可テーブルに置き換え得る。
【0064】
また、カードサービスモジュール420は、好ましくは、信頼済みアプリケーションの検証ステップを使用して、各アプリケーション200に許可される適切なレベルのサブシステムアクセスを決定する。例えば、一実施形態において、1つのアプリケーション200aは、決済サブシステム150に含まれた全てのデータにアクセスし、それを表示するために認証され得る。ここで、別のサードパーティアプリケーション200xは、決済サブシステム150に含まれたデータのサブセットにアクセスし、それを表示するために認証され得るのみである。さらに別の実施形態において、アプリケーションは、決済要求又はトランザクション要求をオープンウォレット100に送信することのみを許可され得るが、それ自体は決済サブシステム150に含まれた任意のデータにアクセスすることは許可されなくてもよい。1つのアプローチにおいて、アプリケーションへの許可の割り当ては、以下のように考えられ得る。
【表1】
【0065】
これらの許可は、以上に示された最上位から最下位の数字の順に、4つの16進数を形成するために用いられ得る。図6の例示的なカードサービスレジストリに示されたように、I-BofA-II発行者は、許可レベル11111を有する。これは、0001 0001 0001 0001 0001に展開すると考えられ得る。言い換えれば、I-BofA-IIのアプリケーションは、それ自体の認証情報の読み出し、書き込み、削除、有効化/無効化、及びダウンロードが可能であるが、全ての認証情報はもちろんのこと拡張発行者認証情報への上記操作は可能ではない。BofAが別の発行者コード(例えば、I-BofA-I)を有するとすれば、それが拡張発行者アプリケーションということになる。発行者ID(I-BofA-II)に関連付けられたアプリケーションの許可レベルが、0010 0001 0001 0010 0001(又は16進数で21121)に設定された場合、アプリケーションは両方の発行者IDと関連付けられた複数の認証情報の読み出し及び有効化/無効化が可能ということになる。さらに別の例において、ウォレットユーザインタフェース410は、44444(すなわち、0100 0100 0100 0100 0100)の許可レベルを与えられ得る。言い換えれば、ウォレットユーザインタフェース410は、全ての認証情報の読み出し、書き込み、削除、有効化/無効化、及びダウンロードが可能である。当業者であれば理解し得るように、これらは、アプリケーションに付与され得る可能な許可の複数の例に過ぎず、他の複数の許可も考えられる。例えば、いくつかのアプリケーションは、拡張発行者認証情報を読み出すが、アプリケーション自身の認証情報を書き込み、削除、有効化、及びダウンロードするだけの能力を有しうる(例えば、21111でこれは0010 0001 0001 0001 0001に展開する)。さらに別の例において、アプリケーションは、有効化/無効化及びダウンロードの権利を与えられうるだけである(例えば、0000 0000 0000 0001 0001、又は16進数で00011)。さらに別の例において、アプリケーションは、全ての権利を0に設定することによって、信頼済みアプリケーションデータベース、又はカードサービスレジストリから除去することなく、無効にされ得る。
【0066】
[トラストプロビジョニング]
特定の間隔で、CSM420の信頼性は確認される必要があり得る。CSM420は、非一時的コンピュータ可読媒体(例えば、メモリ、RAM、ROMなど)に格納された、例えば、ソフトウェアプログラム、又は他の複数のコンピュータ可読命令であってよい。複数の命令は、デバイス50の少なくとも1つのプロセッサによって実行されたとき、本明細書に説明された複数の動作をデバイス50に実行させ得る。例えば、CSM420がポータブルデバイス50によって初めて用いられるとき、CSM420のソフトウェアが更新されるとき、CSM420の信頼性を前回確認してから所定の時間が経過したとき、デバイス50に新たにロードされたサードパーティアプリケーション200xがセキュアエレメント120に格納されたデータを利用しようと試みるとき、又は、サードパーティアプリケーションがセキュアエレメント120に格納されたデータを利用しようと試みるたびに、信頼性は確認され得る。また、トラストプロビジョニングは、複数の不正CSM又は不正アプリケーションが、セキュアエレメント120に格納された機密情報へのアクセスを取得することを、防止するために用いられ得る。以下に、複数の不正CSMが説明される。しかしながら、同一の複数のセキュリティ問題も複数の不正アプリケーションに適用される。複数の不正CSMは、オンライン市場からダウンロードされることを含む、あらゆる場所から取得され得る。また、複数のハッカーは、CSM420を模倣した複数の不正CSMを設計し得る。例示的な複数の実施形態は、以下に更に詳細に説明されるように、そのような複数の攻撃を防止し得る。
【0067】
例示的な複数の実施形態に従って、CSM420及び1又は複数のサードパーティアプリケーションは、セキュアエレメント120によって格納されたデータを利用する前に、それぞれ登録プロセスを経て信頼性を確立し得る。データの利用には、データの読み出し、データの削除、新たなデータの書き込み、又はそうでなければ、セキュアエレメント120によって格納されたデータ又はそうでなければセキュアトランザクションサブシステムと関連付けられたデータの操作のうち、1又は複数を含み得る。
【0068】
信頼を確立するために、CSM420はバックエンド管理システム300のサーバ(図7B~7Cに示された「管理サーバ780」)で登録を試み得る。一例において、管理サーバ780は少なくとも1つのプロセッサ、及び複数のコンピュータ可読命令を格納する少なくとも1つのメモリ(又は非一時的コンピュータ可読媒体)を含み得る。複数の命令は、実行されたとき、本明細書に説明された複数の機能を管理サーバ780に実行させ得る。管理サーバ780でCSM420の登録が成功した場合、CSM420は次に、1又は複数のサードパーティアプリケーションを、管理サーバ780を介して登録することを試み得る。いったんサードパーティアプリケーションがCSM420によって問題なく登録されると、CSMは次に、上述したように、当該サードパーティアプリケーションにセキュアトランザクションサブシステムと関連付けられたデータを利用することを許可し得る。
【0069】
図7A~7Cは、例示的な複数の実施形態に従って、CSM420を登録し、続いて1又は複数のサードパーティアプリケーションを登録するための例示的な通信フローを示す。図7Aに関連して、図8A~8Iは、登録の間及び登録に続いてデバイス50によってユーザに提示された、複数のグラフィカルユーザインタフェースを示す。要素702において、ユーザはポータブル通信デバイス50にサードパーティアプリケーション200xを起動させ得る。いくつかの例では、サードパーティアプリケーションは、要素704において、デバイス50にユーザへの初期画面を提示させ得る。図8Aはサードパーティのウォレットアプリケーションの登録の間に提示され得て、フィールド802に初期メッセージとフィールド804に登録指示とを含む例示的な初期画面を示す。他の複数の例では、サードパーティアプリケーションの代わりに、CSM420が初期画面を提示し得る。本明細書、複数の図面、及び特許請求の範囲を自らの前に有する当業者であれば理解しうるように、図8A~8Iに提示された特定の言語は、本発明の操作を対象とした機能を実現するために用いられ得る複数の機能のタイプ及び/又は言語の例を提供するに過ぎない。
【0070】
要素706において、サードパーティアプリケーションは、CSM420で登録プロセスを開始し得る。例えば、サードパーティアプリケーションはCSM420に利用要求を通信して、登録を開始し得る。(この点については、サードパーティアプリケーションはCSMサービスを用いようとするアプリケーションである必要はない。実際には、このサードパーティアプリケーションは、ポータブル通信デバイスのオペレーティングシステム(又はファームウェアでさえも)のモジュールであってよい。CSMが、それ自体を、いくつかの所定のイベント又は時間において起動して、最初のトラストプロビジョニングを実現することも可能である)。要素708において、CSM420は、デバイス50に利用規約(「ToU」)をユーザによるこれらの規約の承諾のためにユーザに提示させ得る。図8Bは、サードパーティアプリケーションのToUをフィールド806に提示する例示的なグラフィカルユーザインタフェースを示す。ToUが手動でユーザに承諾された場合、CSM420は登録プロセスを続け得る。承諾ボタンが示されるが、本明細書、複数の図面、及び特許請求の範囲を自らの前に有する当業者であれば理解し得るように、承諾を示す他の複数の方法が用いられ得て、それは付加的な複数のセキュリティレイヤを提供してもしなくてもよい。
【0071】
要素710において、CSM420は、デバイス50のデバイス識別子をキャプチャし得る。一例では、デバイス識別子は、電話番号、メディアアクセス制御(MAC)アドレス、又はデバイス50をアドレス指定するために用いられた他の情報(通例、個別デバイスに対して一意的であるが、複数の単一デバイス間で移動可能な可能性がある(例えば、電話番号、SIMカードなど))であってよい。CSM420は、ユーザにデバイス識別子を手動で入力するように促し得て、デバイス識別子用のデバイス50の既知のストレージ場所を尋ね得る、又はデバイス識別子用の管理サーバ780を尋ね得る。
【0072】
要素712において、CSM420は、デバイス50にCSM登録要求メッセージを管理サーバ780に通信させ得る。一例において、CSM登録要求メッセージは、デバイス識別子(例えば、電話番号)及びCSM識別子を含む2進数のショートメッセージサービス(SMS)のメッセージを介して、管理サーバ780に送信され得る。CSM識別子は、CSM420、及びことによるとCSMの特定のインスタンスさえも識別する固有のコード又は数列であり得る。
【0073】
要素714において、管理サーバ780は、CSM識別子の検証を試み得る。一例として、CSM識別子は、デバイス50の電話番号、CSM420の最初のコンパイルID、国際モバイル加入者識別番号(IMSI)、CPLCデータ、又はユーザの電子メールアドレスであってよい。別の例において、CSM識別子は、2又はそれより多くのタイプのデータの組合せであってよい。例えば、CSM420の最初のコンパイルIDは、限定されないが、CPLCデータ、電話番号、及び同様のものなど、デバイス50の固有の識別子と組み合わされてよい。CSM識別子として電子メールアドレスを用いるとき、デバイス50は、例えば、電子メールアドレスの文字の2進数又は16進数へのASCIIコード変換を実行し得る。検証プロセスは、ユーザによって入力された、ユーザによって入力されたデータから導き出された、又はそうでなければデバイス50によって提供されたCSM識別子が、管理サーバ780によって前もって格納されたCSM識別子と一致することを保証し得る(例えば、入力された電話番号がサーバ780によって前もって格納された電話番号と一致することを確認し得る)。検証された場合、管理サーバ780は、要素716において、デバイス識別子にアドレス指定された登録応答メッセージを通信し得る。一例において、検証コードを含む登録応答メッセージは、2進数のSMSメッセージとして(そのようなメッセージングの標準通信経路を用いて)、特定のデバイスに送信され得る。代替の複数の通信経路が、登録応答メッセージをデバイス50に戻すために利用され得る。しかしながら、普通はサーバ300と通信して、何らかの付加的なセキュリティをトラストプロビジョニングプロセスに提供するために、CSMによって用いられる経路とは別個の経路を用いることが望ましい。電子メール、SMS、MMS、及び音声のうち1又は複数が、登録応答メッセージをユーザに送信するための別個の複数の経路の例である。また、受信されたメッセージは、ユーザに本人確認するための付加的な情報を提供するよう促し得る。検証コードは、コードが有効である間の時間を示す所定の生存時間を有する、1回使用のコードであり得て、例えば、カウンタ又はタイムスタンプとして実装され得る。
【0074】
要素718において、CSM420は、好ましくは、受信された検証コードをユーザに提示し、要素720において、ユーザに検証コードを手動で入力するよう促す。図8Cに見られるように、グラフィカルユーザインタフェースは、受信された検証コードを表示するフィールド808、及びユーザが、例えばポータブルデバイス50のキーパッドを用いて、検証コードを手動で入力するフィールド810を含み得る。ユーザがコードを入力する前に、検証コードに設定された所定の生存時間が終了した場合、要素710~716が繰り返されて、別の検証コードを取得し得る。(そうでなければ、生存する検証コードがなく、最初のトラストプロビジョニングは失敗する)。要素722において、CSM420は受信された検証コードが、手動で入力された検証コードと一致することを検証し得る。問題なく検証された場合、CSM420は認証プロセスを開始して、サードパーティアプリケーションを使用しようとするその後の複数の試みの間に、ユーザを認証するための情報をユーザに促し得る。この認証プロセスは、標準の複数の本人確認質問を含み得る。しかしながら、他の可能な認証の複数の試みが代替的に、又はこれらの標準の質問に加えて用いられ得る。
【0075】
要素724において、CSM420は、認証情報選択肢要求を管理サーバ780に通信し得る。管理サーバ780は、要素726において、ユーザがユーザ認証における使用のために選択し得る複数の可視認証情報を含む、認証情報選択肢応答メッセージを返信し得る。他の複数の例において、複数の可視認証情報は、セキュアエレメント120及び/又はセキュアデータストア115によって、ローカルに格納され得る。可視認証情報は、本人確認の付加的なレイヤを提供して、ユーザが機密情報を不正CSMに無意識に入力することを防止するよう意図されている。不正CSMがCSM420を模倣しようと試みる場合(しかもユーザに認証情報を入力するよう促すユーザインタフェースを提供して)、不正CSMは、どんな可視認証情報をユーザが前もって選択したかを確実に判断することは不可能であり、従って、CSM登録の間に、ユーザの特に選択された可視認証情報をユーザに提示する可能性は低い。CSMが正しい可視認証情報を提示しなかったことが分かるとすぐに、ユーザは間違った可視認証情報が提示されたことを認知し、次に、不正CSMによって提示されたユーザインタフェースに認証情報を入力しないことを決定し得る。
【0076】
要素728において、CSM420は、特定の1つを手動で選択するために、複数の可視認証情報をユーザに提示し得る。ユーザが選択した特定の可視認証情報は、デバイス50上のセキュアデータストア115にローカルに保存され、さらに符号化され得る。別のアプローチにおいて、特に選択された認証情報は、符号化された態様で、デバイス50にローカルに保存され得る。図8Dに示されたように、グラフィカルユーザインタフェースは、例えば、ユーザが複数の認証情報のうち所望の1つを選択することを可能とする、4つの異なる可視認証情報選択肢811、812、814及び816を提示し得る。もちろん、本明細書を自らの前に有する当業者であれば理解し得るように、4つより多くの可視認証情報選択肢が提供されて、ユーザによって選択された可視認証情報をランダムに識別することに対して、より高い障壁を提供し得る。変動性を追加する別のアプローチは、ユーザが可視認証情報の何か全体的な態様(色、向き、フレーム、イメージのトリミングなど)を変更することを可能にすることによって、及び/又は、テキスト文字列を可視認証情報に関連付けることによって、提供され得る。本明細書、複数の図面、及び特許請求の範囲を自らの前に有する当業者であれば理解し得るように、音声要素も同様に認証情報パッケージに追加されて、代替又は付加的なセキュリティを提供し得ることが理解されるであろう。この追加された変動性の何れか又は全てによって、ユーザによって選択された可視認証情報を不正CSMが正しく推測する困難さは著しく増し、従って、セキュリティをさらに改善し得る。
【0077】
要素730において、ユーザはパスコードを作成し得る(図8E~8Fを参照)。パスコードは、ユーザによって作成された数字の列、コードの列、又は他の英数字の列であってよい。パスコードは、サードパーティアプリケーションを用いようとするその後の複数の試みの間で、ユーザを認証するために用いられ得る。図8Eに見られるように、グラフィカルユーザインタフェースは、ユーザがパスコードをフィールド818に入力し、入力されたパスコードをフィールド820に繰り返すよう促し得る。CSM420は、フィールド818及び820に入力されたパスコードが一致することを確認し得る。パスコードが一致しない場合、CSM420は、一致が確認されるまで、または試行回数に関する何らかの制限に達するまで、ユーザがパスコードを再入力するよう促し得る。
【0078】
要素732において、CSM420は、ユーザにより選択された可視認証情報及びパスコードを、ユーザがユーザ認証を提供する複数の認証情報として登録し得る。パスコードを保護するために、CSM420は、例えば、デバイス50にパスコードをセキュアデータストア115に格納させ得る。望ましいアプローチにおいて、パスコードは、カード製造ライフサイクル(CPLC)データに基づいて生成されたトリプルデータ暗号化アルゴリズム(TDES)鍵によって暗号化されて、揮発性メモリに格納され得る。他の複数の暗号化アルゴリズム、及びそのようなアルゴリズムへのデータ入力も用いられ得る。CPLCデータは、一意的に識別するデータであり得て、好ましくはセキュアエレメント120内に格納される。 CPLCデータは、例えば、セキュアエレメントの製造日、製造業者、及び固有の通し番号を含み得る。いくつかの例において、CPLCデータの構成及び形式は、製造業者の間、又は製品タイプの間で変わり得る。セキュアエレメント120は、SHA、MD5アルゴリズム、AESアルゴリズム、及び同様のものを用いて、CPLCデータを保護し得る。パスコードを引き出そうとする試みにおいて、窃盗犯が盗んだデバイス50のフォームファクタに不正な変更を加えた場合、揮発性メモリはパスコードを消去し得る。
【0079】
要素734において、CSM420は、選択された可視認証情報、パスコード、セキュアエレメント120のセキュアエレメント識別子を含む認証情報登録メッセージを管理サーバ780に通信し得る。いくつかの例において、CSM420は、ポータブルデバイス50と管理サーバ780との間で、セキュア通信プロトコル(例えば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を用いて、通信セッションを開始し得る。本明細書に説明された任意の通信は、セキュア通信プロトコルを用いて暗号化され得ることは、注目される。
【0080】
要素736において、管理サーバ780はセキュアエレメント識別子を検証し、選択された可視認証情報及びパスコードを、その後のユーザ認証用の登録テーブルに格納し得る。一例において、登録テーブルは、セキュアエレメント120のセキュアエレメント識別子(及び/又は他のCPLCデータ)でシードされた高度暗号化標準(AES)アルゴリズムによって、保護され得る。登録テーブルは、CPLCデータ及びセキュアエレメント120に関する他の情報も格納し得る。ユーザがその後、サードパーティアプリケーションを用いようと試みるとき、デバイス50は、選択された可視認証情報をユーザに提示するために引き出し得る。デバイス50は、管理サーバ780によるその後のユーザ認証のために、選択された可視認証情報及びパスコードを通信し得る。
【0081】
セキュアエレメント識別子の検証の一部として、管理サーバ780は、例えば、検証コード及びセキュアエレメント識別子に基づいて、トークンを生成し得る。トークンは、コードが有効である間の時間を示す所定の生存時間を有する。所定の生存時間が終了した後、デバイス50はさらにトークンを要求し得る。
【0082】
いくつかの例において、トークンは、OAuth2.0認証フレームワーク仕様、インターネットエンジニアリングタスクフォース(IETF)、その内容が全体を参照によって本明細書に引用される2012年10月のリクエストフォーコメンツ(RFC)6749に従って、作成された、又はそうでなければ発行されたアクセストークンであってよい。例えば、OAuth2.0は、複数のエンドポイント(例えば、CSM420及びバックエンド管理システム300)を認証し、例えば様々なタイプの攻撃(例えば、中間者攻撃、認証情報推測攻撃、フィッシング攻撃など)から保護するために用いられ得る。アプレット又はサードパーティアプリケーションは、トークンを使用して、管理サーバに通信される複数のメッセージを暗号化し得る。
【0083】
トークンは、所望のセキュリティレベルに応じて、2者間認証アプローチ又は3者間認証アプローチにおいて生成され得る。3者間認証アプローチは、CSM420が別個の複数のサーバと通信してトークンを取得するということに起因して、2者間認証アプローチのように単一サーバと通信してトークンを取得するよりセキュアであり得る。3者間認証アプローチは、例えば、中間者攻撃の実行をより困難にさせ得る。
【0084】
図7Bは、例示的な複数の実施形態に従って、トークンを生成する2者間認証アプローチの例を示す。図示されたように、管理サーバ780は、トークン(例えば、OAuthトークン)を生成するハードウェア、ソフトウェア、又はそれらの組合せであってよい、トークンエンジン782を具備しうる。管理サーバ780は、トークンエンジン782を使用して、新たなトークンを生成し、それをネットワーク又は直接的リンクを介してCSM420に通信し得る。また、管理サーバ780は、トークンエンジン782を使用して、CSM420から受信された前もって生成されたトークンを認証し得る。いくつかの例において、トークンは、好ましくは、コードが有効である間の時間を示す所定の生存時間を有する。所定の生存時間の後、デバイス50はさらにトークンを要求し得る。
【0085】
3者間認証アプローチも、トークンを生成するために用いられ得る。図7Cは、例示的な複数の実施形態に従った、トークンを生成する3者間認証アプローチの例を示す。図示されたように、管理サーバ780、トークンサーバ784、及びCSM420は、リンク又はネットワークを介して通信可能に結合され得る。トークンサーバ784は、上述したトークンエンジン782の機能を含み、論理的に及び/又は物理的に管理サーバ780から分離され得る。例えば、管理サーバ780は別個のハードウェアであってよく、トークンサーバ784と異なる位置に配置されてよい。異なる位置とは、異なる物理的な位置、及び/又は異なるネットワークの位置であってよい。例えば、管理サーバ780は、カリフォルニア州フォスターシティに配置されてよく、トークンサーバ784は、カリフォルニア州サンフランシスコに配置されてよい。別の例において、管理サーバ780及びトークンサーバ784は、共通の地理的な位置に配置され得るが、固有のネットワークアドレス(例えば、固有のIPアドレス)を有してよい。
【0086】
3者間認証アプローチにおいてトークンを要求するために、CSM420は、認証情報登録メッセージを管理サーバ780に通信し得る。管理サーバ780は、トークンサーバ784のネットワークアドレス(例えば、リンク、URL(uniform resource locator)など)でCSM420に応答し得る。CSM420は、認証情報登録メッセージをトークンサーバ784に転送し得る。トークンサーバ784は、認証情報登録メッセージに基づいてCSM420を認証しようと試み得る。問題ない場合、トークンサーバ784は、トークンを生成し、それをCSM420に通信し得る。
【0087】
トークンの生成にどのアプローチが用いられるかに関わらず、CSM420は認証目的のために、その後の管理サーバ780に対する複数の通信にトークンを含み得る。2者間認証アプローチにおいて、管理サーバ780は、トークンエンジン782に、トークンを処理して、CSM420から受信したメッセージを認証するように命令し得る。3者間認証アプローチにおいて、管理サーバ780は、トークンを認証するために、トークンをトークンサーバ784に転送し得る。トークンサーバ784は、管理サーバ780に返信し、トークンが現在有効であるか否かを示し得る。
【0088】
図7Aを再度参照すると、トークンの作成に成功することで、CSM420の登録は完了し得る。要素738において、管理サーバ780はCSM登録メッセージ完了をCSM420に送信し、登録が成功したことを確認し得る。問題がある場合、CSM登録メッセージは、登録が失敗したことを示す応答メッセージであり得る。CSM420は、前述の複数の要素を少なくとも所定数の追加回数繰り返すことによって、登録しようと試み得る。要素740において、CSM420は、セキュアエレメント120を初期化し得る。初期化段階は、初期化メッセージを管理サーバ780に通信するCSM420を備え得る。要素742において、管理サーバ780は、セキュリティセッション初期化メッセージを、CSM420を介してセキュアエレメント120に通信し得る。一例において、セキュリティセッションは、グローバルプラットフォーム技術仕様書(例えば、2.1.X、2.2、2.2.Xなど)に従うものであってよい。
【0089】
当業者であれば理解し得るように、セキュアエレメント120は、製造時に格納され、管理サーバ780にも知られている少なくとも1つの暗号鍵を含む。暗号鍵は、セキュアエレメント120のCPLCデータに基づいたものであってよく、従って、セキュアエレメント120に固有のものであり得る。管理サーバ780は、セキュリティセッション初期化メッセージを暗号鍵で暗号化し得て、セキュアエレメント120は、暗号鍵を使用してセキュリティセッション初期化メッセージを解読し得る。要素744において、管理サーバ780は、CSM420を介してセキュアエレメント120に、1又は複数の暗号鍵をローテーションするよう命令し得る。ローテーションは、セキュアエレメント120によってデータを暗号化するために用いられる(例えば、管理サーバ780、及び/又は、POS又はアクセスデバイスに、RF又はNFCベースバンドを介して送信される複数の通信を暗号化するための)暗号鍵を変化させるプロセスを指し得る。一例において、セキュアエレメント120は、セキュアエレメントID、CPLCデータ、及び管理サーバ780によってセキュリティセッション初期化メッセージに提供されたデータの機能である、新たな暗号鍵を生成し得る。例えば、セキュアエレメント120は、セキュアエレメントID、CPLCデータ、及び受信されたデータを組み合わせて、乱数発生器のシードを形成し得る。セキュアエレメントIDの代わりに、又はそれに加えて、複数のシードは、CSM420のアプリケーションID、CSM420のコンパイルID、デバイス50と関連付けられた電話番号、特定のデバイス50と関連付けられたMACアドレス(又は何か他の固有コード)、時刻情報、多項式(polynomial)、及び同様のもののうち1又は複数の機能でもあり得る。
【0090】
セキュアエレメント120は、シードを用いて乱数発生器によって生成された出力を、新たな暗号鍵として格納し得る。セキュアエレメント120が複数の暗号鍵を有する場合、異なる複数のシードがそれぞれの鍵を生成するために用いられ得る。代替的に、同一のシードが、異なる疑似乱数発生器で用いられ得る。前もって完了した複数の疑似乱数計算の1又は複数の結果を、その後の疑似乱数発生のシードとして使用することも可能であり得る。
【0091】
複数の鍵をローテーションすることによって、管理サーバ780は、CSM420を介して、それぞれのセキュアエレメント120によって用いられる1又は複数の暗号鍵を管理する。しかしながら、有利には、暗号鍵を用い、それをセキュアエレメント120に格納することによって、デバイス50がルート化された(すなわち、デバイス又はオペレーティングシステムのレイヤの1又は複数において乗っ取られた)としても、データを暗号化するために用いられた暗号鍵は、セキュアエレメント120内に保護された状態のままである。 代替的に、セキュアデータストアの他の領域は、セキュアエレメント120によって提供されるより僅かに低いセキュリティを提供し得るという理解のもとに、複数の暗号鍵の1又は複数は、セキュアエレメント120の外部、セキュアデータストア115内の他の箇所に格納され得ると考えられる。
【0092】
さらに、それぞれの生成された暗号鍵は、設定された生存期間を有し、非アクティブタイマ(例えば、ウォッチドッグタイマ)と関連付けられ得る。非アクティブタイマは特定期間であり得て、暗号鍵の使用を要求する操作(例えば、以下に更に詳細に説明されるような管理機能)をユーザが実行するたびにリセットされ得る。設定された生存期間及び非アクティブタイマの、継続期間は、複数のビジネスルールに基づき得る。設定された生存期間内で過度の鍵のローテーションを回避するために、CSM420は、非アクティブが終了しない限り同一の暗号鍵を使用し得る。設定された生存期間が終了するか、又は非アクティブタイマが終了するかのどちらか一方である場合、CSM420は、暗号鍵のローテーションを要求し得る。いくつかの例において、CSM420は、ビジネスルールで認められた場合を除いて、鍵のローテーションの前に、ユーザが任意のトランザクションを実行することを制限し得る。
【0093】
鍵のローテーションは、不正CSMに対して、疑似暗号鍵で、ユーザに承認されていない複数のトランザクションの実行からの保護を強化するよう意図されている。疑似暗号鍵は、乱数発生器によって発生する暗号鍵と異なってよい。なぜなら、これらは同一プロセスを使用して作成されなかったからである(例えば、不正CSMはセキュアエレメント120のCPLCデータを知り得ない)。有利には、不正CSMは、データをセキュアエレメント120と同一の態様に暗号化することが不可能であり、従って、管理サーバ780は、不正CSMによって要求された複数のトランザクションを承認しない。
【0094】
図7Aに戻ると、要素746において、管理サーバ780は、1又は複数のアプレットをセキュアエレメント120にCSM420を介してロードし得る。他の複数のプログラムの中で、特にこれらのアプレットはカードエミュレーション、及びセキュアエレメントを管理する他の複数のプログラムを含み得る。要素748において、管理サーバ780は、 事前パーソナライズ完了メッセージをCSM420に通信し得る。要素750において、CSM420は、ユーザによって入力されたパスコードをセキュアエレメント120に格納し、セキュアデータストア115からパスコードを削除し得る。セキュアエレメント120のパスコードのストレージは、2012年4月16日に出願された「サードパーティアプリケーションへのアクセスをセキュアエレメントに格納されたパスワードで制御するシステム及び方法」という名称で、その内容が全体を参照によって本明細書に引用される米国特許第13/447,489号に説明されたパスワード管理システムによって、複数のパスワードが管理される態様に従ったものであり得る。CSM420は、パスコードが保存されたことを、ユーザに通知するグラフィカルユーザインタフェースを提示し得る(図8Gを参照)。
【0095】
要素752において、CSM420は、セキュアエレメント初期化というトランザクションの終了(EOT)を実行し、その中にパスコードを格納し得る。CSM420は、トランザクションが完了して全ての関係者が検査、報告、トラッキングの目的のために情報を保存することが可能であることを、システムの全ての関係者に通知し得る。要素754において、CSM420は、登録されるサードパーティアプリケーションの識別子を含むアプリケーション登録メッセージを、管理サーバ780に通信し得る。要素756において、管理サーバ780はサードパーティアプリケーションを、そのアプリケーションID及び図6を参照して、上述したような他の情報を用いて、検証しようと試み得る。
【0096】
図7Aの要素758によって示された)様々な時点において、管理サーバ780は、セキュアエレメント120にそのトークンの1又は複数をローテーションするよう命令し得る。上述したように、セキュアエレメント120は、登録の間にトークンを受信し、アプレット/サードパーティアプリケーションはトークンを使用して、管理サーバ780に通信される複数のメッセージを暗号化し得る。管理サーバ780は、アプレット及び/又はサードパーティアプリケーションによる使用のために、新たなトークンをCSM420に通信することによってトークンをローテーションし得る。ローテーションされたトークンのプレーンテキストを格納するのとは対照的に、いくつかの例において、ローテーションされたトークンのハッシュが格納され得る。ローテーションされたトークンは、生存期間の値(例えば、35秒、1分、1日など)を有し得る。更に、ローテーションされたトークンは、特定の複数の時点において(例えば、ユーザがセキュアエレメント管理機能を実行するたびに)、置換され得る。例えば、ユーザは、(a)カードの追加、(b)カードの削除、(c)パスコードの変更、(d)ウォレットの消去、及び(e)カードの管理を含む、特定のセキュアエレメント管理機能を実行するとき、パスコードを入力するよう促され得る。いくつかの例において、パスコードの管理は、新たなトークンの受信を伴わなくてよい。要素760において、セキュアエレメント120は、トークンがローテーションされたことを、CSM420に通知し得る。
【0097】
要素762において、管理サーバ780は、サードパーティアプリケーションの登録が完了したことを、セキュアエレメント120に通知し得る。図8Hは、登録プロセスの特定の複数の段階が完了したときに、ユーザに通知する例示的なグラフィカルユーザインタフェースを示す。
【0098】
要素764において、セキュアエレメント120は、サードパーティアプリケーションの登録が完了したことを、CSM420に通知し得る。図8Hに見られるように、サードパーティのウォレットアプリケーションが検証され、構成されて、ウォレットアプリケーションの登録が完了するにつれて、グラフィカルユーザインタフェースは、フィールド822においてユーザに最新情報を提供し得る。登録がいったん完了すると、ユーザはフィールド824を選択してカードを追加し得る、又はフィールド826を選択して複数の提示をチェックし得る。追加されたカードは、例えば、クレジットカード、チャージカード、又は同様のものであってよい。複数の提示は、複数の製品、サービス、又は同様のものの提示を含んでよい。
【0099】
登録後にサードパーティアプリケーションを用いようとするその後の複数の試みにおいて、CSM420は、登録プロセスの間にユーザによって選択された認証情報を、管理サーバ780から引き出し、ユーザにパスコードを入力するよう促し得る。図8Iに見られるように、グラフィカルユーザインタフェースは、引き出され認証情報をフィールド828に表示し、パスコードをフィールド830に入力するようユーザを促し得る。表示された認証情報が、登録の間にユーザによって選択されたものと一致しないと、ユーザが判断する場合、これは、CSM420の信頼性が危険な状態になっている可能性があることをユーザに示し得る。その場合、ユーザは、パスコードを提供しないことを選択してよい。表示された認証情報が、登録の間にユーザによって選択されたものと一致する場合、ユーザは、登録の間に作成したパスコードを入力してよい。その場合、要素752~764を参照して上述したように、CSM420は続けてサードパーティアプリケーションを登録し得る。次に、サードパーティアプリケーションはトークンを使用して、管理サーバ780と通信し、トランザクションを実行する。CSM420も、例えば、前回のCSM420の登録完了に応じて、上記の登録プロセスを経る必要があり得る。いくつかの例において、ユーザは、それぞれのサードパーティアプリケーションを検証するために、固有の認証情報/パスコードの対を作成し得る。他の複数の例において、ユーザは、あらゆるサードパーティアプリケーションを含む、2又はそれより多くのサードパーティアプリケーションを検証するために用いることが可能な、認証情報/パスコードの対を作成し得る。
【0100】
有利には、例示的な複数の実施形態は、CSM420の暗号鍵が危険な状態になっている場合に、システミックリスクを回避し得る。どれほどセキュリティをかけても克服できないが、上述した複数の例は、少なくとも個別デバイス50、セキュアエレメント120、CSM420、及び管理サーバ780において、セキュリティを提供する。 暗号鍵が危険な状態になっている場合、リスクは単一のデバイス50に抑制され得る。なぜなら、暗号鍵は、関連セキュアエレメント120mに固有のCPLCデータに基づいて生成されるからである。別の態様としては、不正CSM420は、危険な状態になっている暗号鍵を任意の他のセキュアエレメント120nとともに使用することが不可能である。なぜなら、他のセキュアエレメント120nのCPLCデータは、定義(及び設計)によって、セキュアエレメント120mのCPLCデータと異なるからである。それでも、それぞれの場合において、セキュアエレメント120m及び120nの両方のCPLCデータは、管理サーバ780に格納される。従って、暗号鍵は関連セキュアエレメント120によって用いられ得るだけであり、それ以外には用いられない。暗号鍵が危険な状態になっている場合、暗号鍵とセキュアエレメント120との間の、この1対1対応は、システミックリスクを回避するのに有利である。
【0101】
前述の説明及び複数の図面は、本発明を説明及び例示するに過ぎず、本発明はそれに限定されない。本明細書は、特定の実装又は複数の実施形態に関連して説明される一方で、多くの詳細が例示の目的で記載される。従って、前述の事項は本発明の原則を示すに過ぎない。例えば、本発明は、本発明の主旨又は本質的特徴から逸脱することなく、他の特定の複数の形式を有し得る。説明された複数の配置は例示的なものであり、限定的なものではない。当業者には、本発明が付加的な複数の実装又は実施形態の影響を受けやすく、本出願に説明されたこれらの詳細のいくつかは、本発明の基本原則から逸脱することなく相当に変わり得る。従って、当業者は、本明細書に明示的に説明又は示されないが、本発明の原則を具体化し、従って本発明の範囲内及び主旨内にある様々な配置を考案することが可能であると理解される。
[項目1]
デバイスによって実装された第1のソフトウェアアプリケーションによって、前記デバイスと関連付けられたセキュアエレメントによって格納されたデータを利用するよう要求する利用要求を処理する段階と、
前記利用要求の処理に応答して、前記デバイスによって管理サーバに、前記第1のソフトウェアアプリケーションを前記管理サーバに登録するための登録要求メッセージを通信する段階と、
前記登録要求メッセージへの返信として、検証コードを前記管理サーバから受信する段階と、
受信された前記検証コードが、第2の検証コードと一致することを検証する段階と、
検証の成功に続いて、前記セキュアエレメントのパスコード及び識別子を前記管理サーバに通信する段階と、
前記パスコード及び前記セキュアエレメントの識別子の通信に応答して、前記管理サーバから、前記第1のソフトウェアアプリケーションの登録が成功したか否かを特定する応答を受信する段階とを備える方法。
[項目2]
前記登録要求メッセージは前記デバイスの識別子を有する、項目1に記載の方法。
[項目3]
前記登録要求メッセージは、2進数のショートメッセージサービスメッセージである、項目1又は2に記載の方法。
[項目4]
前記検証コードは所定の時間の間だけ有効である、項目1から3の何れか一項に記載の方法。
[項目5]
認証情報選択肢要求を前記管理サーバに通信する段階と、
複数の認証情報選択肢を提示する段階と、
前記複数の認証情報選択肢から特定の認証情報の選択を受信する段階とをさらに備える、項目1から4の何れか一項に記載の方法。
[項目6]
前記複数の認証情報選択肢のそれぞれはイメージである、項目5に記載の方法。
[項目7]
前記特定の認証情報を前記管理サーバに通信する段階をさらに備える、項目5に記載の方法。
[項目8]
前記パスコードを暗号化する段階と、
暗号化された前記パスコードを前記デバイスの揮発性メモリに格納する段階とをさらに備える、項目1から7の何れか一項に記載の方法。
[項目9]
前記第1のソフトウェアアプリケーションは、前記セキュアエレメントによって格納されたデータを利用するよう要求するサードパーティソフトウェアアプリケーションである、項目1から8の何れか一項に記載の方法。
[項目10]
前記サードパーティソフトウェアアプリケーションを検証するために、前記サードパーティソフトウェアアプリケーションの識別子を前記管理サーバに通信する段階をさらに備える、項目9に記載の方法。
[項目11]
前記第1のソフトウェアアプリケーションは、前記セキュアエレメントに格納されたデータへのアクセスの要求、前記セキュアエレメントに格納されたデータの変更、及び前記セキュアエレメントのストレージへのデータの書き込みのうち少なくとも1つを行う、項目10に記載の方法。
[項目12]
少なくとも1つのプロセッサと、
複数のコンピュータ可読命令を格納する少なくとも1つのメモリとを備える装置であって、
前記複数のコンピュータ可読命令は、前記少なくとも1つのプロセッサによって実行されたとき、前記装置に少なくとも、
前記装置と関連付けられたセキュアエレメントによって格納されたデータを利用するよう要求する利用要求を、第1のソフトウェアアプリケーションによって処理する手順と、
前記利用要求の処理に応答して、管理サーバに、前記第1のソフトウェアアプリケーションを前記管理サーバに登録するための登録要求メッセージを通信する手順と、
前記登録要求メッセージへの返信として、検証コードを前記管理サーバから受信する手順と、
受信された前記検証コードが、第2の検証コードと一致することを検証する手順と、
検証の成功に続いて、前記セキュアエレメントのパスコード及び識別子を前記管理サーバに通信する手順と、
前記パスコード及び前記セキュアエレメントの識別子の通信に応答して、前記管理サーバから、前記第1のソフトウェアアプリケーションの登録が成功したか否かを特定する応答を受信する手順とを実行させる装置。
[項目13]
前記複数のコンピュータ可読命令は、前記少なくとも1つのプロセッサによって実行されたとき、前記装置に、
認証情報選択肢要求を前記管理サーバに通信する手順と、
複数の認証情報選択肢を提示する手順と、
前記複数の認証情報選択肢から特定の認証情報の選択を受信する手順とをさらに実行させる、項目12に記載の装置。
[項目14]
前記複数のコンピュータ可読命令は、前記少なくとも1つのプロセッサによって実行されたとき、前記装置に、前記特定の認証情報を前記管理サーバに通信する手順をさらに実行させる、項目13に記載の装置。
[項目15]
前記複数のコンピュータ可読命令は、前記少なくとも1つのプロセッサによって実行されたとき、前記装置に、前記パスコードを暗号化し、暗号化された前記パスコードを前記装置の揮発性メモリに格納する手順をさらに実行させる、項目12から14の何れか一項に記載の装置。
[項目16]
デバイスと関連付けられたセキュアエレメントによって格納されたデータを利用するよう要求する利用要求を、ソフトウェアアプリケーションによって処理する手順と、
前記利用要求の処理に応答して、管理サーバに、前記ソフトウェアアプリケーションを前記管理サーバに登録するための登録要求メッセージを通信する手順と、
前記登録要求メッセージへの返信として、検証コードを前記管理サーバから受信する手順と、
受信された前記検証コードが、第2の検証コードと一致することを検証する手順と、
検証の成功に続いて、前記セキュアエレメントのパスコード及び識別子を前記管理サーバに通信する手順と、
前記パスコード及び前記セキュアエレメントの識別子の通信に応答して、前記管理サーバから、前記ソフトウェアアプリケーションの登録が成功したか否かを特定する応答を受信する手順とをコンピュータに実行させる、プログラム。
[項目17]
認証情報選択肢要求を前記管理サーバに通信する手順と、
複数の認証情報選択肢を提示する手順と、
前記複数の認証情報選択肢から特定の認証情報の選択を受信する手順とを前記コンピュータにさらに実行させる、項目16に記載のプログラム。
[項目18]
前記特定の認証情報を前記管理サーバに通信する手順を前記コンピュータにさらに実行させる、項目17に記載のプログラム。
[項目19]
前記パスコードを暗号化し、暗号化された前記パスコードを揮発性メモリに格納する手順を前記コンピュータにさらに実行させる、項目16から18の何れか一項に記載のプログラム。
[項目20]
アプリケーションを前記管理サーバに登録するための、前記アプリケーションの識別子を通信する手順を前記コンピュータにさらに実行させ、
前記アプリケーションは、前記セキュアエレメントに格納されたデータへのアクセスの要求、前記セキュアエレメント内に格納されたデータの変更、及び前記セキュアエレメントのストレージへのデータの書き込みのうち少なくとも1つを行う、項目16から19の何れか一項に記載のプログラム。
図1a
図1b
図2
図3
図4
図4A
図4B
図4C
図4D
図5
図6
図7A
図7B
図7C
図8A
図8B
図8C
図8D
図8E
図8F
図8G
図8H
図8I