特許第5877400号(P5877400)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ペイパル インコーポレイテッドの特許一覧

特許5877400取引セキュリティー強化のためのシステムおよび方法
<>
  • 特許5877400-取引セキュリティー強化のためのシステムおよび方法 図000002
  • 特許5877400-取引セキュリティー強化のためのシステムおよび方法 図000003
  • 特許5877400-取引セキュリティー強化のためのシステムおよび方法 図000004
  • 特許5877400-取引セキュリティー強化のためのシステムおよび方法 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5877400
(24)【登録日】2016年2月5日
(45)【発行日】2016年3月8日
(54)【発明の名称】取引セキュリティー強化のためのシステムおよび方法
(51)【国際特許分類】
   G06F 21/44 20130101AFI20160223BHJP
   G06F 21/74 20130101ALI20160223BHJP
   G06Q 20/00 20120101ALI20160223BHJP
   G06Q 20/40 20120101ALI20160223BHJP
【FI】
   G06F21/44
   G06F21/74
   G06Q20/00
   G06Q20/40
【請求項の数】29
【全頁数】18
(21)【出願番号】特願2014-509337(P2014-509337)
(86)(22)【出願日】2012年4月30日
(65)【公表番号】特表2014-519639(P2014-519639A)
(43)【公表日】2014年8月14日
(86)【国際出願番号】US2012035789
(87)【国際公開番号】WO2012151152
(87)【国際公開日】20121108
【審査請求日】2014年10月16日
(31)【優先権主張番号】61/482,927
(32)【優先日】2011年5月5日
(33)【優先権主張国】US
(31)【優先権主張番号】13/441,363
(32)【優先日】2012年4月6日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】506291542
【氏名又は名称】ペイパル インコーポレイテッド
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】110000132
【氏名又は名称】大菅内外国特許事務所特許業務法人
(72)【発明者】
【氏名】タボー,セバスチアン ルードヴィク,ジャン
(72)【発明者】
【氏名】ナハリ,ハーディ
【審査官】 平井 誠
(56)【参考文献】
【文献】 特開2004−171563(JP,A)
【文献】 米国特許出願公開第2009/0328207(US,A1)
【文献】 米国特許出願公開第2009/0265756(US,A1)
【文献】 米国特許出願公開第2008/0216096(US,A1)
【文献】 米国特許出願公開第2009/0150678(US,A1)
【文献】 米国特許出願公開第2009/0165081(US,A1)
【文献】 特開2009−230549(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21
(57)【特許請求の範囲】
【請求項1】
コンピュータ・プログラミング命令を記憶するように構成されたコンピュータ・メモリ記憶コポーネントと、
前記コンピュータ・メモリ記憶コポーネントに動作可能に結合されたコンピュータ・プロセッサ・コポーネントと
を備えるシステムであって、
前記コンピュータ・プロセッサ・コポーネントが、互いから孤立したセキュア・オペレーティング・システムおよび非セキュア・オペレーティング・システムを並行して運用するように構成され、
前記コンピュータ・プロセッサ・コポーネントが、
前記非セキュア・オペレーティング・システムにより運営されるアプリケーションから、前記アプリケーションの証明を含んだ認証要求を受け取るオペレーションと、
前記セキュア・オペレーティング・システムに運営されるセキュア・アプレットとの通信を行うオペレーションであって、前記通信を行うことが、前記アプリケーションの前記証明を前記セキュア・アプレットに転送することを含むオペレーションと、
前記アプリケーションの前記証明に基づいて、前記アプリケーションを認証および審査するオペレーションと
を行うためのコードを実行するように構成される、
システム。
【請求項2】
前記システムが、モバイル電子デバイス上に実装された電子チップを含む、
請求項1に記載のシステム。
【請求項3】
前記アプリケーションが、第三者である開発者からのソフトウェア・プログラムであり、
前記セキュア・アプレットが、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項1に記載のシステム。
【請求項4】
前記アプリケーションおよび前記セキュア・アプレットがともに、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項1に記載のシステム。
【請求項5】
前記セキュア・オペレーティング・システムと前記非セキュア・オペレーティング・システムとの間のゲートウェイとして構成されたモニタを少なくとも部分的にバイパスすることによって、少なくとも部分的には前記通信が行われる、
請求項1に記載のシステム。
【請求項6】
前記アプリケーションの開発者に認証証書を割り当てることを更に含み、
前記認証証書が、前記認証要求を前記受け取ることの前に割り当てられ、
前記アプリケーションの前記証明が、前記認証証書を含む、
請求項1に記載のシステム。
【請求項7】
前記認証および審査することが、リモート・サーバにアクセスすることなく行われる、請求項1に記載のシステム。
【請求項8】
コンピュータ・プログラムを記憶した非一時的有形機械可読記憶媒体を備える装置であって、
前記コンピュータ・プログラムが、機械可読命令を含み、
前記機械可読命令が、プロセッサにより電子的に実行されると、
電子チップの非セキュア部分に存在するアプリケーションから、前記アプリケーションの証明を含んだ認証要求を受け取ることと、
前記電子チップのセキュア部分に存在するセキュア・アプレットとの通信を行うことであって、前記セキュア部分が、前記非セキュア部分から分離しており、前記通信を行うことが、前記アプリケーションの前記証明を前記セキュア・アプレットに転送することを含むことと、
前記アプリケーションの前記証明に基づいて、前記アプリケーションを認証および審査することと
を行う装置。
【請求項9】
前記電子チップが、モバイル電子デバイス上のコンピュータ・メモリまたはコンピュータ・プロセッサを含む、
請求項8に記載の装置。
【請求項10】
前記アプリケーションが、第三者である開発者からのソフトウェア・プログラムであり、
前記セキュア・アプレットが、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項8に記載の装置。
【請求項11】
前記アプリケーションおよび前記セキュア・アプレットがともに、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項8に記載の装置。
【請求項12】
前記通信を行うことのための前記命令が、前記電子チップの前記セキュア部分と前記電子チップの前記非セキュア部分との間のゲートウェイとして構成されたモニタを少なくとも部分的にバイパスすることのための命令を含む、
請求項8に記載の装置。
【請求項13】
前記コンピュータ・プログラムが、前記アプリケーションの開発者に認証証書を割り当てるための命令を更に含み、
前記認証証書が、前記認証要求を前記受け取ることの前に割り当てられ、
前記アプリケーションの前記証明が、前記認証証書を含む、
請求項8に記載の装置。
【請求項14】
前記認証および審査を行うための前記命令が、リモート・サーバにアクセスすることなく、前記アプリケーションを認証および審査するための命令を含む、
請求項8に記載の装置。
【請求項15】
電子チップの非セキュア部分に存在するアプリケーションから、前記アプリケーションの証明を含んだ認証要求を受け取ることと、
前記電子チップのセキュア部分に存在するセキュア・アプレットとの通信を行うことであって、前記セキュア部分が、前記非セキュア部分から分離しており、前記通信を行うことが、前記アプリケーションの前記証明を前記セキュア・アプレットに転送することを含むことと、
前記アプリケーションの前記証明に基づいて、前記アプリケーションを認証および審査することと
を含む方法。
【請求項16】
前記電子チップが、モバイル電子デバイス上のコンピュータ・メモリを含む、
請求項15に記載の方法。
【請求項17】
前記電子チップが、モバイル電子デバイス上のコンピュータ・プロセッサを含む、
請求項15に記載の方法。
【請求項18】
前記アプリケーションが、第三者である開発者からのソフトウェア・プログラムであり、
前記セキュア・アプレットが、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項15に記載の方法。
【請求項19】
前記アプリケーションおよび前記セキュア・アプレットがともに、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項15に記載の方法。
【請求項20】
前記電子チップの前記セキュア部分と前記電子チップの前記非セキュア部分との間のゲートウェイとして構成されたモニタを部分的にバイパスすることによって、少なくとも部分的には前記通信を行なうことが行われる、
請求項15に記載の方法。
【請求項21】
前記アプリケーションの開発者に認証証書を割り当てることを更に含み、
前記認証証書が、前記認証要求を前記受け取ることの前に割り当てられ、
前記アプリケーションの前記証明が、前記認証証書を含む、
請求項15に記載の方法。
【請求項22】
前記認証および審査することが、リモート・サーバにアクセスすることなく行われる、請求項15に記載の方法。
【請求項23】
コンピュータ・プログラミング・コードを記憶するコンピュータ記憶手段と、
前記コンピュータ記憶手段に動作可能に結合されたコンピュータ処理手段と
を備えるシステムであって、
前記コンピュータ処理手段が、互いから孤立したセキュア・オペレーティング・システムおよび非セキュア・オペレーティング・システムを並行して運用し、
前記コンピュータ処理手段が、
前記非セキュア・オペレーティング・システムにより運営されるアプリケーションから、前記アプリケーションの証明を含んだ認証要求を受け取る手段と、
前記セキュア・オペレーティング・システムに運営されるセキュア・アプレットとの通信を行う手段であって、前記通信が、前記アプリケーションの前記証明を前記セキュア・アプレットに転送することを含む手段と、
前記アプリケーションの前記証明に基づいて、前記アプリケーションを認証および審査する手段と
を備えるシステム。
【請求項24】
前記システムが、モバイル・テレコミュニケーション手段上に実装された集積回路手段を備える、
請求項23に記載のシステム。
【請求項25】
前記アプリケーションが、第三者である開発者からのソフトウェア・プログラムであり、
前記セキュア・アプレットが、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項23に記載のシステム。
【請求項26】
前記アプリケーションおよび前記セキュア・アプレットがともに、支払いプロバイダからのソフトウェア・プログラムの一部分である、
請求項23に記載のシステム。
【請求項27】
前記通信を行う手段が、前記セキュア・オペレーティング・システムと前記非セキュア・オペレーティング・システムとの間のゲートウェイとして構成されたモニタを少なくとも部分的にバイパスする手段を備える、
請求項23に記載のシステム。
【請求項28】
前記コンピュータ処理手段が、前記アプリケーションの開発者に認証証書を割り当てる手段を更に備え、
前記認証証書が、前記認証要求を前記受け取ることの前に割り当てられ、
前記アプリケーションの前記証明が、前記認証証書を含む、
請求項23に記載のシステム。
【請求項29】
前記認証および審査を行う手段が、リモート・サーバにアクセスすることなく、認証および審査を行う手段を備える、
請求項23に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示内容は、一般には、オンラインでの支払い管理に関し、より詳細には、支払いセキュリティーに関する。
【背景技術】
【0002】
物理的な実世界対応物を有することも、有さないこともある、増加の一途をたどるオンライン事業主体により、オンライン取引が、ますます一般的になっている。さらに、これらのオンライン事業主体に提供されるサービスも改善されている。オンライン取引の普及は、一つには、物理的位置での取引ではなく、取引をオンライン化することの容易さおよび便利さに起因する。しかし、支払いのセキュリティーが、オンライン支払いシステムおよび方法での大きな懸念の1つである。必要とされるのは、処理のセキュリティーについてのユーザの懸念に十分に対処することの可能なセキュア支払いプラットフォームおよび技術である。
【発明の概要】
【0003】
本開示内容のより広い形態のうちの1つの形態は、システムを含む。このシステムは、コンピュータ・プログラミング命令を記憶するように構成されたコンピュータ・メモリ記憶コポーネントと、コンピュータ・メモリ記憶コポーネントに動作可能に結合されたコンピュータ・プロセッサ・コポーネントとを含み、コンピュータ・プロセッサ・コポーネントは、互いから孤立したセキュア・オペレーティング・システムおよび非セキュア・オペレーティング・システムを並行して運用するように構成され、コンピュータ・プロセッサ・コポーネントは、非セキュア・オペレーティング・システムにより運営されるアプリケーションから、アプリケーションの証明を含んだ認証要求を受け取るオペレーションと、セキュア・オペレーティング・システムに運営されるセキュア・アプレットとの通信を行うオペレーションであって、この通信を行うことが、アプリケーションの証明をセキュア・アプレットに転送することを含むオペレーションと、アプリケーションの証明に基づいて、アプリケーションを認証および審査するオペレーションとを、行うためのコードを実行するように構成される。
【0004】
本開示内容のより広い形態のうちの他の形態は、コンピュータ・プログラムを記憶した非一時的有形機械可読記憶媒体を備える装置を含み、このコンピュータ・プログラムは、プロセッサにより電子的に実行されると以下のことを行う機械可読命令を含むが、それらは、電子チップの非セキュア部分に存在するアプリケーションから、アプリケーションの証明を含んだ認証要求を受け取ることと、電子チップのセキュア部分に存在するセキュア・アプレットとの通信を行うことであって、セキュア部分が、非セキュア部分から分離しており、この通信が、アプリケーションの証明をセキュア・アプレットに転送することを含むことと、アプリケーションの証明に基づいて、アプリケーションを認証および審査すること、を実行する。
【0005】
本開示内容のより広い形態のうちの他の形態は、認証および審査を行う方法を含む。この方法は、電子チップの非セキュア部分に存在するアプリケーションから、アプリケーションの証明を含んだ認証要求を受け取ることと、電子チップのセキュア部分に存在するセキュア・アプレットとの通信を行うことであって、セキュア部分が、非セキュア部分から分離しており、この通信が、アプリケーションの証明をセキュア・アプレットに転送することを含むことと、アプリケーションの証明に基づいて、アプリケーションを認証および審査することとを含む。
【図面の簡単な説明】
【0006】
図1】本開示内容の様々な態様による電子チップの略ブロック図である。
図2】本開示内容の様々な態様による、認証および審査を行うための高レベル・アーキテクチャの図である。
図3】本開示内容の様々な態様による、認証および審査を行う方法の図である。
図4】本開示内容の様々な態様による、図3の方法の様々なステップを実装するためのコンピュータの図である。
【発明を実施するための形態】
【0007】
以下の開示内容では、本開示内容の様々な特徴を実装するための互いに異なる多くの実施形態または例が提供されることを理解されたい。本開示内容を簡略化するために、構成部品および構成の具体的な例を以下で説明する。これらは当然単なる例であり、限定を行うことを意図しない。簡略化および明確化のために、様々な特徴を異なるスケールで任意に描くこともある。
【0008】
モバイル・コンピューティング技術およびモバイル通信技術が発展し続けるにつれて、モバイル・デバイスを伴う取引が、ますます一般的になっている。モバイル・デバイスを通して取引を行うことの普及は、一つには、有形の資金証書(例、現金または小切手)を伴う物理的位置での従来式取引の代わりとなる、モバイル・デバイスを通した取引(例、オンライン購入)の容易さおよび便利さに起因する。しかし、モバイル取引が普及するにつれ、こうした取引を標的とした攻撃も増大している。これらの攻撃は、ユーザの個人情報または金融情報を盗もうと企てることを含むことも、悪徳業者が正当な販売業者のふりをしようとすることを含むこともある。
【0009】
本明細書では、上で議論した攻撃が実質的に阻止されるように、または減少するように、モバイル取引のセキュリティーを高める方法およびシステムを開示する。
【0010】
図1を参照すると、電子チップ100の略ブロック図が示されている。電子チップ100は、携帯電話ハンドセット、コンピュータ・タブレット、ラップトップなどのモバイル・デバイスに実装することができる。いくつかの実施形態では、電子チップ100は、たとえばAdvanced RISC Machine(ARM(登録商標))プロセッサなどのコンピュータ・プロセッサを含む。このコンピュータ・プロセス・ユニットは、コンピュータ命令を記憶することの可能なメモリ・ストレージを含むことがある。他の実施形態では、電子チップ100は、たとえば、リード・オンリー・メモリ(ROM)、FLASH、ランダム・アクセス・メモリ(RAM)、ハードディスク、光ディスク、磁気ディスク、または他の適当な種類の揮発性メモリ・デバイスおよび不揮発性メモリ・デバイスなどのコンピュータ・メモリ記憶デバイスを含む。
【0011】
電子チップ100は、TrustZone(登録商標)対応チップである。TrustZone(登録商標)は、ARM Holdings(登録商標)社によって開発された技術であり、アプリケーションを安全に実行することのできる信頼された環境を支援するプラットフォームを提供する。より詳細には、電子チップ100は、「通常世界」110Aおよび「セキュア世界」110Bを含み、これらは、セキュア情報がセキュア世界110Bから通常世界110Aに漏れることを阻止するために互いから分離している。これらの2つの世界110Aおよび110Bは、同一の電子チップ100上で互いに並行に動作する。セキュア世界110Bは、ハンドセットのメイン・オペレーティング・システムの立上げ時間前に、プレロードされ、妥当性が確認される。いくつかの実施形態では、通常世界110Aが、ハンドセットのメイン・オペレーティング・システムを運用し、セキュア世界110Bが、異なる(よりセキュアな)オペレーティング・システムを運用する。こうして、通常世界110Aに存在するコンポーネントまたはアプリケーションの整合性
を検証するために、セキュア世界110Bを使用することができる。いくつかの実施形態では、1組の制御パラメータを最新の既知のコンフィギュレーションまたは権限付与コンフィギュレーションに適用することにより、こうした整合性検証を実現することができる。
【0012】
通常世界110Aおよびセキュア世界110Bは、それぞれ、1つまたは複数のソフトウェア・アプリケーションを含むことがある。いくつかの実施形態では、セキュア世界110Bに存在するソフトウェア・アプリケーションを、アプレットと称することもある。たとえば、アプリケーション120が通常世界に存在し、1つまたは複数のセキュア・アプレット130がセキュア世界に存在する。いくつかの実施形態では、アプリケーション120は、カリフォルニア州、サンノゼのPAYPAL,INC(登録商標)などの支払いプロバイダ事業主体、または、ユーザの口座に送金を行うことおよびユーザの口座から送金を行うことの可能な他の適当な金融機関によって開発されたコンピュータ・ソフトウェア・プログラムの一部分を含む。このアプリケーションは、インターネットを通して、たとえばGOOGLE PLAY(登録商標)またはAPPLE APP STORE(登録商標)などを通して提供され、ユーザによりダウンロードされてもよい。アプリケーション120は、低レベルのセキュリティーを必要とする標準的タスクを行う助けとなる機能およびインタフェースを含むこともある。たとえば、アプリケーション120は、支払いプロバイダ事業主体のユーザが自身の口座を用いて、自身の購入履歴を検索することなど、標準的な管理タスクを行うことを可能にするプログラミング命令を含むこともある。他のいくつかの実施形態では、アプリケーション120は、有形商品またはデジタル商品の販売を提供する商業者など、第三者である開発者によって開発されたコンピュータ・ソフトウェア・プログラムの一部分であることもある。その場合、第三者である開発者からのアプリケーション120を、GOOGLE PLAY(登録商標)またはAPPLE
APP STORE(登録商標)を通してダウンロードすることもできる。
【0013】
セキュア世界110Bに存在するセキュア・アプレット130は、セキュア・タスクを行うように構成されたプログラム・モジュールである。いくつかの実施形態では、セキュア・アプレット130は、支払いプロバイダ事業主体によって開発されたコンピュータ・ソフトウェア・プログラムの他の部分である。言い換えると、その筋書きでは、セキュア世界110Bに存在するセキュア・アプレット130および通常世界110Aに存在するアプリケーション120は、単一のダウンロード可能なアプリケーションのうちの2つの部分である。
【0014】
アプリケーション120が、より低いレベルのセキュリティーを有する通常世界110Aに存在するので、高いレベルのセキュリティーを必要とするタスクが行われる必要がある場合は、アプリケーション120は、セキュア・アプレット130からの認証サービスまたは審査サービスを要求することもある。これらのセキュア・タスクには、証明入力サービス、セキュア・アイデンティフィケーション入力サービス、セキュア・ユーザ・インタフェース・サービス、キー・アクセス(key access)・サービス、または暗号化/復号化サービスが含まれることがあるが、これらに限定されない。通常世界110Aとセキュア世界110Bとは分離されているので、通常世界110Aとセキュア世界110Bとの通信を行うために、モニタ140として知られるソフトウェア・モジュールを使用することもある。いくつかの実施形態では、モニタ140が、通常世界110Aとセキュア世界110Bとの唯一の通信手段である。たとえば、モニタ140は、アプリケーション120をセキュア世界110B内のいかなるエンティティにもアクセスさせることなく、アプリケーション120とのインタフェースをとることができる。次いで、モニタ140が、アプリケーション120からの要求を、セキュア・アプレット130など、セキュア世界110B内の対象エンティティに中継することができる。次いで、モニタ140が、時には検証キーまたはトークンなどの要求資源とともに、アプリケーション120にフィード
バックを与える。
【0015】
しかし、図示の実施形態では、モニタ140が、大きく(または少なくとも部分的に)バイパスされている。代わりに、通常世界110Aとセキュア世界110Bとの間の通信を行うために、通常世界110Aに存在する「フック(hook)」150Aおよびセキュア世界110Bに存在する「フック」150Bを使用することもできる。フック150Aおよび150Bは、ソフトウェア・モジュール、または、モニタ140上で動作する論理機能とすることができる。モニタ140は、2つの世界110A-110B間のゲートウェイのように機能し、オペレーティング・システム・レベルでスイッチングを行い、フック150A-150Bは、2つの世界110A-110B間のゲートウェイを事実上「開いたまま」にする「ドアストップ」として機能し、アプリケーション・レベルでスイッチングを行う。いくつかの実施形態では、フック150A-150Bは、単一のアプリケーションのためにゲートウェイを「開いたまま」にする。言い換えると、1つのアプリケーションにより使用される際、フック150A-150Bにサインまたは承認されていない他のアプリケーションが、その当初のアプリケーションをプライオリティ・リストから落とすことはできない。各フックは、自体のスペース内、または、それぞれの世界内のアプリケーションもしくはアプレット内に存在してもよい。
【0016】
セキュア世界110Bに存在するフック150Bは、モニタ・ツールキット160の資源により実装される。モニタ・ツールキット160は、モニタ機能一式を含む。1度目のプロビジョニングおよび起動については、フック150Aおよびフック150Bはモニタ140をなお通過することがあるが、このことは、経路170で示している。その後、フック150Aとフック150Bとの間で直接通信を確立することができるが、このことは、経路180で示している。したがって、アプリケーション120など、通常世界110Aに存在するエンティティは、モニタ140をバイパスしながら、フック150A-150Bを通して、セキュア・アプレットなど、セキュア世界110Bに存在する信頼されたエンティティと通信することもできる。
【0017】
モバイル・デバイス取引内のセキュリティーを高めるために、図1で説明するシステムを使用することが可能である。たとえば、認証を要求しているアプリケーションが、遠く離れたセキュア・エンティティによる検証を求めることができない場合(このことは、ネットワーク接続のロスまたは他の理由に起因することある)、セキュア世界のセキュア・アプレット130を使用して、このアプリケーションを認証または審査することもできる。このことが可能であるのは、セキュア世界110がモバイル・デバイス自体に対してローカルなものであるとしても、セキュア・アプレット130(および他のエンティティ)がセキュア世界110Bに存在するので既にセキュアなものとして妥当性が認められているからである。この意味で、電子チップ100のセキュア世界110Bは、高まったセキュリティーを伴うタスクを行うようになされている。
【0018】
たとえば、支払いプロバイダ事業主体は、セキュリティーの妥当性確認が支払いプロバイダ事業主体によりセキュア世界からも同様に行われる様々なプロットフォーム用のアプリケーションを、この支払いプロバイダ事業主体のパートナーが開発することを可能にする開発者キットを、パートナーに提供することができる。開発者のアプリケーションが正当なものであることを確認する方法を開発者に提供することは、取引の整合性についてエンドユーザを安心させるだけでなく、詐欺的取引が行われるのを開発者が目にするリスクを制限する。これは、支払いプロバイダ・エンティティのモバイル・ライブラリから、第三者である開発者からのアプリケーションにサインをするようになされた機能のサブセットを作成することにより行うことができる。こうした第三者は、支払いプロバイダからのアプリケーション・プログラミング・インタフェース(API)を適切に活用し、自体の対スプーフィング/対フィッシング・ユーザ体験を提供することができる。
【0019】
少なくとも2つのユースケースが適用される。「In App Payment」ユースケースでは、支払いプロバイダが、自体のライブラリを商業者などの第三者である開発者に提供することができる。この第三者である開発者に開発されたアプリケーション(例、アプリケーション120)は、支払いプロバイダからのライブラリを含むこともできるが、こうすることで、自体のライブラリに、支払いプロバイダのセキュア世界モジュール(例、セキュア世界110Bに存在するセキュア・アプレット130)にのみ理解されるコード列が埋め込まれる。なりすましたアプリケーションが、第三者である開発者からの正当なアプリケーションを模倣しようとすると、それは、支払いモジュールの開始時に失敗する。
【0020】
「In Flow Payment」ユーザ・ケースでは、第三者支払いプロバイダからのアプリケーションと同様に第三者である開発者からのアプリケーションも、スタンド・アロン・モードである。支払い時に、1つのアプリケーションから他方のアプリケーションへの移譲がある。その第三者アプリケーションによる支払いプロバイダ・アプリケーションの呼出しの妥当性を確認する妥当性確認メカニズムを、セキュア世界110Bに格納することができる。
【0021】
上記のユースケースを説明するための例として、「Big Mart」という商業者が、ユーザのモバイル・デバイスにダウンロード可能なショッピング・アプリケーションを開発すると仮定する。「Big Mart」は、支払いプロバイダ事業主体のパートナーのうちの1つであってもよい。したがって、支払いプロバイダ事業主体は、自体のライブラリを「Big Mart」に提供してもよい。このライブラリは、対応キーに整合することの可能なキーなど、埋め込んだセキュリティー・メカニズムを有する。実際に、支払いプロバイダは、自体の複数のパートナー開発者に、異なる一連のキーを割り当てることができる。支払いプロバイダは、どのキーがどの開発者に割り当てられているかの記録をとり、その情報を自体のダウンロード可能なアプリケーション内に維持することができる。
【0022】
支払いプロバイダのユーザは、支払いプロバイダからのアプリケーションならびに「Big Mart」からのアプリケーションを自身のモバイル・デバイスにダウンロードする。ユーザは、「Big Mart」からのアプリケーションを使用することにより、オンライン購入を行うことができる。この時、「Big Mart」アプリケーションは、ユーザの名前、住所、クレジットカード情報などの機密情報をユーザに尋ねることがある。従来式の支払いシナリオでは、ユーザは、「Big Mart」からのアプリケーションが正当なものであること、または信用してよいことを知ることができない。ここでは、「Big Mart」アプリケーションは、ユーザのモバイル・デバイスのセキュア世界に存在するセキュア・アプレットにより、認証または審査することができる。いくつかの実施形態では、認証(authentication)とは、特定のアプリケーションの正当性および/またはセキュリティーの妥当性をそれ自体のために確認するプロセスのことである場合があり、審査(vetting)とは、特定のアプリケーションの正当性および/またはセキュリティーの妥当性を他に対して確認するプロセスのことである場合がある。言い換えると、特定のアプリケーションを審査することは、他者がこのことを信用可能であることを意味する。例に戻ると、「Big Mart」アプリケーションの認証および/または審査は、セキュア世界に存在する支払いプロバイダのセキュア・アプレットで行うことができる。具体的には、「Big Mart」アプリケーションは、フックを通してセキュア・アプレットに自体の認証証明または審査証明を提示する。認証証明または審査証明は、支払いプロバイダ事業主体により「Big Mart」アプリケーションに与えられたキーを含むことがある。セキュア・アプレットは、そのキーを検索し、セキュア世界に記憶された対応するキーとペアにするように試みる。キーのペアリングが成功すれば、これは「B
ig Mart」アプリケーションが正当で、信用できるものであることを意味し、こうして、「Big Mart」アプリケーションは、認証および審査される。キーのペアリングが成功しなければ、これは「Big Mart」アプリケーションが偽物のアプリケーションであるかもしれないことを示し、それは認証または審査されない。
【0023】
いくつかの実施形態では、「Big Mart」アプリケーションの認証または審査は、モバイル・デバイス上の可視表現および/または音声表現でユーザに通信されることがある。たとえば、モバイル・デバイスの表示画面は、「Big Mart」アプリケーションが認証および審査され、ユーザが先に進み、盗みまたはデータ損失の心配なく機密情報を「Big Mart」アプリケーションに提供してよいことをユーザに知らせるための特定のパターンを表示することができる。
【0024】
図2は、本開示内容の様々な態様を示す簡略高レベル・アーキテクチャ200である。アーキテクチャ200は、支払いプロバイダ210を含む。支払いプロバイダは、カリフォルニア州、サンノゼのPAYPAL,INC(登録商標)などの事業主体、または、ユーザの口座に送金を行うことおよびユーザの口座から送金を行うことの可能な他の適当な金融機関であってもよい。支払いプロバイダ210は、「クラウド」内に離れて位置するサーバを有し、相互認証イネーブルメント(mutual authentication enablement)・サービス、ポスト/プレ・プロビジョニング(post/pre-provisioning)・サービス、リモート・イネーブルメント(remote enablement)・サービス、無線(OTA)サービスなどのサービスを行うように構成される。
【0025】
また、アーキテクチャ200は、互いに並行して動作するが、互いから分離した通常世界220Aおよびセキュア世界220Bを含む。トラストレット(セキュア・アプレット)230が、セキュア世界220B内に存在する。トラストレット230は、支払いプロバイダ210に信用されたアプリケーションであってもよい(たとえば、トラストレット230は、支払いプロバイダ210に開発されたアプリケーションであってもよい)。トラストレット230は、支払いプロバイダ210と直接通信することができる。アプリ240(1つまたは複数のアプリケーションを含むことができる)が、セキュア世界220A内に存在する。アプリ240は、セキュアなオペレーションが行われることが必要な外部エンティティ250と通信を行うので、セキュア世界220Bへの切替えを必要とする。これらのセキュア・オペレーションには、証明入力サービス、セキュアIDサービス、セキュア・ユーザ・インタフェース・サービス、キー・アクセス・サービス、または暗号化/復号化サービスが含まれることがある。
【0026】
通常オペレーティング・システム260が、通常世界220Aを運営し、セキュア・オペレーティング・システム270が、セキュア世界を運営する。セキュア・モニタ280が、通常世界220Aとセキュア世界220Bとの間のデフォルト・ゲートウェイとして働く。ただし、オペレーティング・システム260は、「フック」290を自体の中で制御および維持することが可能なように実装され、オペレーティング・システム270は、「フック」295を制御および維持することが可能なように実装され、この場合、セキュア世界220Bとの通信を確立するために、フック290-295を使用することができる。さらに、通常オペレーティング・システム260およびセキュア・オペレーティング・システム270は、セキュア世界220Bに存在する信用されたアプリケーション(例、トラストレット230)からのアプリケーションに応答し、通常世界220Aに存在するアプリケーション(例、アプリ240)についての信用/審査を証明するために、同一のフック290-295を使用することが可能なように実装される。このようにして、通常世界220Aと支払いプロバイダ210との間にオープンな流れが存在する。すなわち、モニタ280により通信がブロックされず、アプレットおよびアプリケーションを、「クラウド」(言い換えると、支払いプロバイダ210のリモート・サーバ)から管理する
ことができる。
【0027】
通常オペレーティング・システム260およびセキュア・オペレーティング・システム270についての命令を実行するために、TrustZone(登録商標)-enabled ARM(登録商標)コア・プロセッサ300を使用する。TrustZone(登録商標)-enabled ARM(登録商標)コア・プロセッサ300は、セキュア・ヴォールト310を含む。プライベート鍵320と公開鍵330との両方を、セキュア・ヴォールト310中に保管することができる。プライベート鍵340を、支払いプロバイダ210のサーバ内に離して保管することもできる。これらのプライベート鍵および公開鍵は、たとえばアプリ240について、認証タスクおよび/または審査タスクを行うために使用することができる。
【0028】
上で説明した高レベル・アーキテクチャ200は、本開示内容の概念の多くの実装形態の例のうちの1つに過ぎないことが理解される。他の実施形態が、本開示内容の趣旨および範囲から逸脱することなく、様々な実装形態の詳細を有することもある。
【0029】
図3は、本開示内容の様々な態様による、認証タスクおよび審査タスクを行う方法400のフローチャートである。方法400はステップ410を含むが、このステップでは、電子チップの非セキュア部分に存在するアプリケーションからの認証要求が受け取られる。いくつかの実施形態では、電子チップには、モバイル電子デバイス上のコンピュータ・メモリが含まれる。他の実施形態では、電子チップには、モバイル電子デバイス上のコンピュータ・プロセッサが含まれる。認証要求は、アプリケーションの証明を含む。いくつかの実施形態では、こうした証明は、アプリケーションの開発者に割り当てられた認証証書を含む。たとえば、認証証書はキーを含むことがある。
【0030】
方法400はステップ420を含むが、このステップでは、電子チップのセキュア部分に存在するセキュア・アプレットとの通信が行われる。セキュア部分は、非セキュア部分から分離している。この通信には、アプリケーションの証明をセキュア・アプレットに転送することが含まれる。いくつかの実施形態では、アプリケーションは、第三者である開発者からのソフトウェア・プログラムであり、セキュア・アプレットは、支払いプロバイダからのソフトウェア・プログラムの一部分である。他の実施形態では、アプリケーションおよびセキュア・アプレットはともに、支払いプロバイダからのソフトウェア・プログラムの一部分である。電子チップのセキュア部分と電子チップの非セキュア部分との間のゲートウェイとして構成されたモニタを少なくとも部分的にバイパスすることによっても、少なくとも部分的には通信が行われる。
【0031】
方法400はステップ430を含むが、このステップでは、アプリケーションが、アプリケーションの証明に基づいて認証および審査される。特定の実施形態では、認証および審査を、リモート・サーバにアクセスすることなく行う。
【0032】
上で議論したステップ410〜430の前、最中、または後に追加の方法ステップを実行することもできることが分かる。ただし、簡潔にするために、こうした追加のステップについては、本明細書では具体的に説明または議論を行わない。
【0033】
図4は、たとえば、方法400の様々な方法ステップといった、本明細書で説明する様々な方法およびデバイスを実装するのに適したコンピュータ・システム600のブロック図である。様々な実装形態で、これらのステップを実行することの可能なデバイスが、ネットワーク通信デバイス(例、モバイル携帯電話、ラップトップ、パーソナル・コンピュータ、タブレットなど)、ネットワーク・コンピューティング・デバイス(例、ネットワーク・サーバ、TrustZone(登録商標)対応コンピュータ・プロセッサ、電子通
信インタフェースなど)、または他の適当なデバイスを含むこともある。したがって、方法400を実装可能なデバイスを、以下のようにして、コンピュータ・システム600として実装することができることを理解されたい。
【0034】
本開示内容の様々な実施形態によれば、ネットワーク・サーバやモバイル通信デバイスなどのコンピュータ・システム600が、バス・コンポーネント602または情報通信用の他の通信メカニズムを含むが、これらは、TrustZone(登録商標)対応処理コンポーネント604(例、プロセッサ、マイクロ・コントローラ、デジタル信号プロセッサ(DSP)など)、システム・メモリ・コンポーネント606(例、RAM)、静的記憶コンポーネント608(例、ROM)、ディスク・ドライブ・コンポーネント610(例、磁気的または光学的)、ネットワーク・インタフェース・コンポーネント612(例、モデムまたはイーサーネット・カード)、表示コンポーネント614(例、陰極線管(CRT)ディスプレイまたは液晶ディスプレイ(LCD))、入力コンポーネント616(例、キーボード)、カーソル制御コンポーネント618(例、マウスまたはトラックボール)、画像キャプチャ・コンポーネント620(例、アナログ・カメラまたはデジタル・カメラ)などのサブシステムおよびコンポーネントを相互接続する。一実装形態では、ディスク・ドライブ・コンポーネント610が、1つ以上のディスク・ドライブ・コンポーネントを有するデータベースを含むことがある。
【0035】
本開示内容の実施形態によれば、コンピュータ・システム600は、TrustZone(登録商標)対応プロセッサ604がシステム・メモリ・コンポーネント606に含まれる1つ以上の命令からなる1つ以上のシーケンスを実行することにより、特定のオペレーションを実行する。こうした命令は、静的記憶コンポーネント608やディスク・ドライブ・コンポーネント610などの他のコンピュータ可読媒体から、システム・メモリ・コンポーネント606に読み込むことができる。他の実施形態では、本開示内容を実現するために、ソフトウェア命令の代わりに(またはこれと組み合わせて)ハードワイヤード回路を使用することもできる。
【0036】
ロジックをコンピュータ可読媒体内で符号化することもできるが、この媒体は、実行用に命令をTrustZone(登録商標)対応プロセッサ604に提供することに関与する任意の媒体を指すこともある。こうした媒体は、不揮発性媒体および揮発性媒体を含めた多くの形態をとることができるが、不揮発性媒体および揮発性媒体に限定されない。一実施形態では、コンピュータ可読媒体は非一時的媒体である。様々な実装形態で、不揮発性媒体は、ディスク・ドライブ・コンポーネント610などの光ディスクまたは磁気ディスクを含み、揮発性媒体は、システム・メモリ・コンポーネント606などの動的メモリを含む。一態様では、電波通信および赤外データ通信中に生成されるものを含めた音波または光波の形態のものなどの伝送媒体を介して、実行命令に関連するデータおよび情報をコンピュータ・システム600に送信することができる。様々な実装形態で、伝送媒体には、バス602を備えたワイヤを含めて、同軸ケーブル、銅線、およびファイバ・オプティックスが含まれることがある。
【0037】
コンピュータ可読媒体のいくつかの一般的な形態には、たとえば、フロッピー・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、他の任意の磁気媒体、CD-ROM、他の任意の光媒体、パンチ・カード、紙テープ、穴のパターンを伴う他の任意の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリ・チップもしくはメモリ・カートリッジ、搬送波、または、コンピュータが読取りを行うようになされた他の任意の媒体が含まれる。
【0038】
本開示内容の様々な実施形態では、本開示内容を実現するための命令シーセンスの実行が、コンピュータ・システム600により行われることがある。本開示内容の他の様々な
実施形態では、通信リンク630(例、LAN、WLAN、PTSNや、テレコミュニケーション・ネットワーク、モバイル・ネットワークおよび携帯電話ネットワークを含めた他の様々な有線または無線ネットワークなどの通信ネットワーク)により結合された複数のコンピュータ・システム600が、互いに協働して本開示内容を実現するために命令シーケンスを実行することもある。
【0039】
コンピュータ・システム600は、1つまたは複数のプログラム(すなわち、アプリケーション・コード)を含めて、メッセージ、データ、情報および命令を通信リンク630および通信インタフェース612を通して送信および受信することができる。受信されたプログラム・コードは、ディスク・ドライブ・コンポーネント610もしくは他の何らかの不揮発性記憶コンポーネント内に実行のために受け入れられた時、および/または、そこに格納された時に、TrustZone(登録商標)対応プロセッサ604により実行されることがある。
【0040】
適用可能であれば、本開示内容により提供する様々な実施形態を、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せを使用して実現することもできる。また、適用可能であれば、本開示内容の趣旨から逸脱することなく、本明細書に記載の様々なハードウェア・コンポーネントおよび/またはソフトウェア・コンポーネントを組み合わせて、ソフトウェア、ハードウェア、および/またはその両方を備える複合コンポーネントにすることもできる。適用可能であれば、本開示内容の範囲から逸脱することなく、本明細書に記載の様々なハードウェア・コンポーネントおよび/またはソフトウェア・コンポーネントを、ソフトウェア、ハードウェア、またはその両方を備える複数のサブ・コンポーネントに分離することもできる。さらに、適用可能であれば、ソフトウェア・コンポーネントを、ハードウェア・コンポーネントとして実現することができ、その逆もまた同じであることが企図される。
【0041】
コンピュータ・プログラム・コードやコンピュータ・プログラム・データなど、本開示内容によるソフトウェアは、1つ以上のコンピュータ可読媒体上に記憶することができる。1つ以上の汎用または特定目的コンピュータおよび/またはコンピュータ・システムをネットワーク化したものおよび/またはそうしていないものを使用することにより、本明細書中で特定したソフトウェアを実装することができることも企図される。適用可能であれば、本明細書で説明した特徴を実現するために、本明細書に記載する様々なステップの順序を変更すること、複合ステップに組み合わせること、および/または、複数のサブステップに分離することができる。
【0042】
図面のうちの1つまたは複数に示す同様の要素を識別するために、同様の参照符号を付していることを理解されたい。ラベル分けしたこれらの図面は、本開示内容の実施形態を説明することを目的としており、それらを限定することを目的としていない。
【0043】
先に述べた開示内容は、開示した厳密な形態または特定の使用分野に、本開示内容を限定することを意図しない。よって、本開示内容に対する様々な代替実施形態および/または修正形態が、それらが本明細書中で明示されたか暗示されたかに関わらず、本開示内容に鑑みて使用可能であることが企図される。このようにして記載した本開示内容の実施形態をもって、当業者は、本開示内容の範囲から逸脱することなく、形式および詳細について変更を加えることができることを理解するであろう。したがって、本開示内容は、特許請求の範囲によってのみ限定される。
図3
図1
図2
図4