JP2024516925A - セキュア取引のためのシステムおよび方法 - Google Patents
セキュア取引のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2024516925A JP2024516925A JP2023552248A JP2023552248A JP2024516925A JP 2024516925 A JP2024516925 A JP 2024516925A JP 2023552248 A JP2023552248 A JP 2023552248A JP 2023552248 A JP2023552248 A JP 2023552248A JP 2024516925 A JP2024516925 A JP 2024516925A
- Authority
- JP
- Japan
- Prior art keywords
- customer
- transaction
- app
- merchant
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000000007 visual effect Effects 0.000 claims abstract description 35
- 230000000977 initiatory effect Effects 0.000 claims abstract description 18
- 238000010200 validation analysis Methods 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004900 laundering Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004224 protection Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4012—Verifying personal identification numbers [PIN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06018—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
- G06K19/06028—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/326—Payment applications installed on the mobile devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/327—Short range or proximity payments by means of M-devices
- G06Q20/3276—Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
Abstract
本明細書では、セキュア取引を実行するためのシステムおよび方法が説明される。一実施形態では、販売者と顧客との間でセキュア取引を実行する方法(300)が提供される。方法(300)は、前記顧客の一次口座番号および販売者端末(104)における取引金額をキャプチャすることによって、前記顧客と前記販売者との間で取引を開始することを含む。前記一次口座番号および前記取引金額に基づいて前記取引に固有の取引識別子が生成される。前記取引識別子は、視覚的表現に符号化され、顧客デバイス上のカメラによってキャプチャされ得るように、ディスプレイ上に提示される。これに応答して、顧客アプリが顧客デバイス(106)上で起動される。前記顧客アプリは、前記顧客の一次口座番号に関連付けられたPIN番号を入力するためにユーザインタフェースを前記顧客に提示するように前記顧客デバイス(106)を制御し、前記PIN番号のPINブロックを生成し、検証のために取引サーバ(102)に前記PINブロックを送信するように構成される。前記取引の検証または拒否が、前記顧客口座に関連付けられた金融機関から生成される。最後に、前記取引の前記検証または拒否は、前記取引を完了するために前記販売者端末(104)に送信される。
Description
本出願は、支払システムに関し、特に、販売者と顧客との間でセキュア(安全な)取引を実行するためのシステム、方法、およびソフトウェアアプリケーションに関する。
本発明の実施形態は特に、顧客カードを読み取るためのデバイスがPINを入力するためのデバイスとは別個である取引を行うように適合される。好ましくは、PIN入力デバイスは、スマートフォン又はタブレットコンピュータのような顧客所有のデバイスである。しかしながら、本発明は、より広い文脈および他の用途に適用可能であることが理解されるのであろう。
クレジット/デビットカードを受け入れる種類のデバイスは、そのようなカードを処理するために特に設計された従来のマルチプロセッサセキュアEFTPOSデバイスを超えて拡大している。PCI-CPoCと呼ばれるPayment Card Industry(PCI)規格は、現在、クレジット/デビットEMV非接触カードを読み取る際に、スマートフォンおよびタブレットなどの商用オフザシェルフ(COTS)デバイスをサポートするために存在する。PCI-SPoCと呼ばれる別のPCI規格も存在し、PCI-SPoCは、承認されたSecure Card Reader for PIN(SCRP)デバイスに接続されたときに、個人識別番号(PIN)入力を受け入れるCOTSデバイスをサポートする。しかし、COTSデバイスのみを使用するカード読取りおよびPIN入力の両方について、現在承認されている規格はない。
グローバルな支払規格は現在、カードデータ(カード番号および有効期限を含む)と同じデバイス上のPINとの両方の処理を組み合わせるセキュリティリスクのために、PINがカードリーダと同じCOTSデバイス上に入力されることを許可しない。リスクは、誰かがそのプロセッサのメモリをハッキングして、カードデータとそれに関連するPINの両方をキャプチャする能力に関連する。このリスクは、単にカード番号をキャプチャするよりもはるかに大きい。この規格を満たすために、セキュアEFTPOSデバイスは2つのプロセッサを有し、1つは一般的な処理のためのものであり、もう1つは、メインプロセッサから隔離してPINをセキュアにキャプチャし、次いで、それをメインプロセッサに渡す前に、それを暗号化されたPINブロックに変換するなどの、センシティブでセキュアな機能のためのものである。さらに、顧客が販売者PCI-CPoC承認デバイス上でPINを入力することを要求することによって、顧客は、慣れていないデバイスでPINを入力することに消極的であるかもしれない。
本明細書全体にわたる背景技術のいかなる議論も、そのような技術が広く知られているか、または当該分野における共通の一般的知識の一部を形成することを認めるものとは決して考えられるべきではない。
本発明の第1の態様によれば、販売者と顧客との間でセキュア取引を実行する方法であって、
販売者端末と取引サーバとの間の第1のセキュア監視セッションを開始することと、
前記第1のセキュア監視セッション中に、前記販売者端末において顧客一次口座番号(PAN)をキャプチャすることであって、前記顧客PANは、金融機関における顧客口座に関連付けられる、ことと、
前記販売者端末から前記取引サーバへの取引の要求を送信することであって、前記要求は、前記顧客PANおよび取引金額を含む、ことと、
前記取引サーバにおいて、前記取引に固有の取引識別子(TRANS-ID)を生成し、TRANS-IDを前記販売者端末に送信することと、
TRANS-IDを視覚的表現に符号化し、ディスプレイに前記視覚的表現を提示することと、
顧客デバイス上のカメラによる前記視覚的表現のキャプチャを可能にすることと、
前記視覚的表現の前記キャプチャに応答して、前記顧客デバイス上で顧客アプリを起動することであって、前記顧客アプリは、
前記顧客デバイスと前記取引サーバとの間の第2のセキュア監視セッションを開始し、
前記顧客デバイスを制御して、前記顧客PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記サーバからダウンロードされたランダムな一次口座番号を使用して前記PIN番号のPINブロックを生成し、
検証のために前記PINブロックを前記取引サーバに送信する
ように構成されている、ことと、
前記取引サーバにおいて、前記顧客口座に関連付けられた前記金融機関からの前記取引の検証または拒否を取得することと、
前記取引を完了するために前記販売者端末に前記取引の前記検証または拒否を送信することと、
を含む方法が提供される。
販売者端末と取引サーバとの間の第1のセキュア監視セッションを開始することと、
前記第1のセキュア監視セッション中に、前記販売者端末において顧客一次口座番号(PAN)をキャプチャすることであって、前記顧客PANは、金融機関における顧客口座に関連付けられる、ことと、
前記販売者端末から前記取引サーバへの取引の要求を送信することであって、前記要求は、前記顧客PANおよび取引金額を含む、ことと、
前記取引サーバにおいて、前記取引に固有の取引識別子(TRANS-ID)を生成し、TRANS-IDを前記販売者端末に送信することと、
TRANS-IDを視覚的表現に符号化し、ディスプレイに前記視覚的表現を提示することと、
顧客デバイス上のカメラによる前記視覚的表現のキャプチャを可能にすることと、
前記視覚的表現の前記キャプチャに応答して、前記顧客デバイス上で顧客アプリを起動することであって、前記顧客アプリは、
前記顧客デバイスと前記取引サーバとの間の第2のセキュア監視セッションを開始し、
前記顧客デバイスを制御して、前記顧客PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記サーバからダウンロードされたランダムな一次口座番号を使用して前記PIN番号のPINブロックを生成し、
検証のために前記PINブロックを前記取引サーバに送信する
ように構成されている、ことと、
前記取引サーバにおいて、前記顧客口座に関連付けられた前記金融機関からの前記取引の検証または拒否を取得することと、
前記取引を完了するために前記販売者端末に前記取引の前記検証または拒否を送信することと、
を含む方法が提供される。
いくつかの実施形態では、前記販売者端末は、一時的な販売者識別子として第1の統計的に一意の乱数(MA-RAND1)を使用して、前記販売者端末上に記憶された販売者アプリを介して前記取引サーバと通信することを許可される。一時的な販売者識別子は、前記取引の前記販売者を一意に識別する一時的な識別番号である。前記一時的な販売者識別子は、固定されてすべての取引のために特定の販売者に登録される従来の販売者IDではない。
いくつかの実施形態では、前記第1のセキュア監視セッションを開始するステップは、
i)販売者アプリにおいて、第2の統計的に一意の乱数(MA-RAND2)を作成することと、
ii)キーパラメータとしてMA-RAND2及び前記販売者アプリバージョンの一意のシード値を使用してセッションキー(MA-SESSION-KEY)を生成することと、
iii)MA-SESSION-KEYのキーチェック値(KCV)を算出することと、
iv)前記販売者アプリから前記取引サーバへMA-RAND1 XOR MA-RAND2およびKCVを送信することであって、XORはビット単位の排他的OR関数を表す、ことと、
v)前記取引サーバにおいてMA-SESSION-KEYを算出し、前記KCVを前記販売者アプリから受信された前記KCVに対して検証することと、
vi)ホワイトボックス暗号化テーブルを前記取引サーバから前記販売者アプリに送信することであって、前記ホワイトボックス暗号化テーブルは、MA-SESSION-KEYを使用して暗号化される、ことと、
vii)MA-SESSION-KEYを使用して前記ホワイトボックス暗号化テーブルを前記販売者アプリで復号し、現在のホワイトボックス暗号化テーブルを新しい復号されたテーブルで置き換えることと、
viii)MA-RAND1をMA-RAND2で置き換えることと、
ix)ステップvi)~viii)を、前記第1のセキュア監視セッション中に所定の時間間隔で繰り返すことと、
を含む。
i)販売者アプリにおいて、第2の統計的に一意の乱数(MA-RAND2)を作成することと、
ii)キーパラメータとしてMA-RAND2及び前記販売者アプリバージョンの一意のシード値を使用してセッションキー(MA-SESSION-KEY)を生成することと、
iii)MA-SESSION-KEYのキーチェック値(KCV)を算出することと、
iv)前記販売者アプリから前記取引サーバへMA-RAND1 XOR MA-RAND2およびKCVを送信することであって、XORはビット単位の排他的OR関数を表す、ことと、
v)前記取引サーバにおいてMA-SESSION-KEYを算出し、前記KCVを前記販売者アプリから受信された前記KCVに対して検証することと、
vi)ホワイトボックス暗号化テーブルを前記取引サーバから前記販売者アプリに送信することであって、前記ホワイトボックス暗号化テーブルは、MA-SESSION-KEYを使用して暗号化される、ことと、
vii)MA-SESSION-KEYを使用して前記ホワイトボックス暗号化テーブルを前記販売者アプリで復号し、現在のホワイトボックス暗号化テーブルを新しい復号されたテーブルで置き換えることと、
viii)MA-RAND1をMA-RAND2で置き換えることと、
ix)ステップvi)~viii)を、前記第1のセキュア監視セッション中に所定の時間間隔で繰り返すことと、
を含む。
いくつかの実施形態では、前記MA-SESSION-KEYは、MA-RAND2および前記一意のシード値の両方に一方向関数を適用することによって生成される。
いくつかの実施形態では、前記取引サーバにおいて算出されたKCVが前記販売者アプリから受信された前記KCVと不一致である場合、前記取引サーバは、MA-RAND1を代替の統計的に一意の乱数(MA-RAND1-BAK)に置き換える。好ましくは、前記取引サーバにおいて算出された前記KCVが、前記販売者アプリから受信された前記KCVと不一致である場合、エラー条件が発生する。所定数のエラー条件の後、前記販売者アプリは、前記サーバが代替の第1の統計的乱数MA-RAND1を生成することを要求してもよい。
いくつかの実施形態では、前記ホワイトボックス暗号化テーブルは、埋め込まれた使い捨てキーを含む。いくつかの実施形態では、前記使い捨てキーは、AES-256対称使い捨てキーである。
いくつかの実施形態では、前記ホワイトボックス暗号化テーブルは、1~5秒の範囲の時間間隔で置き換えられるいくつかの実施形態では、前記ホワイトボックス暗号化テーブルは、2秒毎の時間間隔で置き換えられる。
いくつかの実施形態では、前記第1のセキュア監視セッション中に、前記販売者アプリは、前記販売者端末の前記オペレーティングシステム、メモリ、および/または記憶されたコードおよびファイルの完全性を検査することによって、改竄の兆候をチェックするためのチェックルーチンを実行する。
好ましくは、前記販売者アプリは、前記販売者端末の信頼された実行環境内で実行する。
いくつかの実施形態では、前記第1のセキュア監視セッション中に、前記販売者アプリは、前記チェックルーチンからのデータを少なくとも毎秒1回、前記取引サーバに報告し、前記取引サーバは、前記報告されたデータを、前記販売者アプリの予想される結果及びそれが実行している前記デバイスタイプと比較する。
いくつかの実施形態では、前記視覚的表現は、QRコードを含む。他の実施形態では、前記視覚的表現は、バーコードを含む。
いくつかの実施形態では、前記販売者端末は、パーソナルモバイルデバイスである。前記パーソナルモバイルデバイスは、スマートフォンまたはタブレットコンピュータであってもよい。
いくつかの実施形態では、前記顧客デバイスと前記取引サーバとの間で第2のセキュア監視セッションを開始するステップは、
a)顧客アプリにおいて統計的に一意の乱数(CA-RAND)を作成することと、
b)キーパラメータとしてCA-RAND及び前記顧客アプリバージョンの第2の一意のシード値を使用してセッションキー(CA-SESSION-KEY)を生成することと、
c)前記顧客アプリにおいてCA-SESSION-KEYの第2のキーチェック値(KCV2)を算出し、KCV2と、TRANS-ID及びTIMESTAMP1 XOR CA-RANDを組み合わせた関数結果のハッシュとを、取引サーバに送信することと、
d)前記取引サーバにおいて前記CA-SESSION-KEYを算出し、KCV2を、前記顧客アプリから取得されたKCV2に対して検証することと、
e)ホワイトボックス暗号化テーブル、第2の取引タイムスタンプ(TIMESTAMP2)、およびランダムPANを前記取引サーバから前記顧客アプリへ送信することであって、前記ホワイトボックス暗号化テーブルは、前記CA-SESSION-KEYを使用して暗号化される、ことと、
f)前記取引サーバにおいてTRANS-IDをCA-RANDに、TIMESTAMP1をTIMESTAMP2に置き換えることと、
g)前記顧客アプリにおいてCA-SESSION-KEYを使用して前記ホワイトボックス暗号化テーブルを復号し、現在のホワイトボックス暗号化テーブルを新しい復号テーブルに置き換えることと、
h)前記顧客アプリにおいてTRANS-IDをCA-RANDに、TIMESTAMP1をTIMESTAMP2に置き換えることと、
i)ステップf)~h)を、前記第2のセキュア監視セッション中に所定の時間間隔で繰り返すことと、
を含む。
a)顧客アプリにおいて統計的に一意の乱数(CA-RAND)を作成することと、
b)キーパラメータとしてCA-RAND及び前記顧客アプリバージョンの第2の一意のシード値を使用してセッションキー(CA-SESSION-KEY)を生成することと、
c)前記顧客アプリにおいてCA-SESSION-KEYの第2のキーチェック値(KCV2)を算出し、KCV2と、TRANS-ID及びTIMESTAMP1 XOR CA-RANDを組み合わせた関数結果のハッシュとを、取引サーバに送信することと、
d)前記取引サーバにおいて前記CA-SESSION-KEYを算出し、KCV2を、前記顧客アプリから取得されたKCV2に対して検証することと、
e)ホワイトボックス暗号化テーブル、第2の取引タイムスタンプ(TIMESTAMP2)、およびランダムPANを前記取引サーバから前記顧客アプリへ送信することであって、前記ホワイトボックス暗号化テーブルは、前記CA-SESSION-KEYを使用して暗号化される、ことと、
f)前記取引サーバにおいてTRANS-IDをCA-RANDに、TIMESTAMP1をTIMESTAMP2に置き換えることと、
g)前記顧客アプリにおいてCA-SESSION-KEYを使用して前記ホワイトボックス暗号化テーブルを復号し、現在のホワイトボックス暗号化テーブルを新しい復号テーブルに置き換えることと、
h)前記顧客アプリにおいてTRANS-IDをCA-RANDに、TIMESTAMP1をTIMESTAMP2に置き換えることと、
i)ステップf)~h)を、前記第2のセキュア監視セッション中に所定の時間間隔で繰り返すことと、
を含む。
いくつかの実施形態では、前記CA-SESSION-KEYは、前記CA-RANDおよび前記第2の一意のシード値に一方向関数を適用することによって前記取引サーバにおいて算出される。いくつかの実施形態では、前記CA-SESSION-KEYは、TRANS-ID及びTIMESTAMP1 XOR CA-RANDを組み合わせた関数結果のハッシュからCA-RANDを抽出することによって、前記取引サーバにおいて算出される。
いくつかの実施形態では、前記取引サーバにおいて算出されたKCV2が前記顧客アプリから受信された前記KCV2と不一致である場合、前記取引サーバは、TRANS-IDおよびTIMESTAMP1をより古いバックアップ値に置き換える。
いくつかの実施形態では、前記ホワイトボックス暗号化テーブルは、1~5秒の範囲の時間間隔で置き換えられる。いくつかの実施形態では、前記ホワイトボックス暗号化テーブルは、2秒毎の時間間隔で置き換えられる。好ましくは、前記ホワイトボックス暗号化テーブルは、前記第1および第2のセキュア監視セッションが終了すると削除される。
いくつかの実施形態では、前記第2のセキュア監視セッション中に、前記顧客アプリは、前記顧客デバイスの前記オペレーティングシステム、メモリ、および/または記憶されたコードおよびファイルの完全性を検査することによって、改竄の兆候をチェックするためのチェックルーチンを実行する。好ましくは、前記顧客アプリは、前記顧客デバイスの信頼された実行環境(Trusted Execution Environment)内で実行する。
いくつかの実施形態では、前記第2のセキュア監視セッション中に、前記顧客アプリは、前記チェックルーチンからのデータを少なくとも毎秒1回、前記取引サーバに報告し、前記取引サーバは、前記報告されたデータを、前記顧客アプリの予想される結果及びそれが実行している前記デバイスタイプと比較する。
本発明の第2の態様によれば、販売者と顧客との間でセキュア取引を実行する方法であって、
販売者端末において前記顧客の一次口座番号(PAN)および取引金額をキャプチャすることによって前記顧客と前記販売者との間の取引を開始することと、
前記PANおよび取引金額に基づいて前記取引に固有の取引識別子(TRANS-ID)を生成することと、
TRANS-IDを視覚的表現に符号化し、前記視覚的表現をディスプレイに提示することと、
顧客デバイス上のカメラによる前記視覚的表現のキャプチャを可能にすることと、
前記顧客デバイス上での前記視覚的表現の前記キャプチャに応答して、前記顧客デバイス上で顧客アプリを起動することであって、前記顧客アプリは、
前記顧客デバイスを制御して、前記顧客の前記PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記PIN番号のPINブロックを生成し、検証のために前記PINブロックを取引サーバに送信する、
ように構成される、ことと、
前記顧客口座に関連付けられた前記金融機関から前記取引の検証又は拒否を取得することと、
前記取引を完了するために前記販売者端末に前記取引の前記検証または拒否を送信することと、
を含む方法が提供される。
販売者端末において前記顧客の一次口座番号(PAN)および取引金額をキャプチャすることによって前記顧客と前記販売者との間の取引を開始することと、
前記PANおよび取引金額に基づいて前記取引に固有の取引識別子(TRANS-ID)を生成することと、
TRANS-IDを視覚的表現に符号化し、前記視覚的表現をディスプレイに提示することと、
顧客デバイス上のカメラによる前記視覚的表現のキャプチャを可能にすることと、
前記顧客デバイス上での前記視覚的表現の前記キャプチャに応答して、前記顧客デバイス上で顧客アプリを起動することであって、前記顧客アプリは、
前記顧客デバイスを制御して、前記顧客の前記PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記PIN番号のPINブロックを生成し、検証のために前記PINブロックを取引サーバに送信する、
ように構成される、ことと、
前記顧客口座に関連付けられた前記金融機関から前記取引の検証又は拒否を取得することと、
前記取引を完了するために前記販売者端末に前記取引の前記検証または拒否を送信することと、
を含む方法が提供される。
本発明の第3の態様によれば、第1または第2の態様による方法を実行するように構成されたコンピュータシステムが提供される。
本発明の第4の態様によれば、コンピュータ上で実行されると、前記コンピュータが、第1又は第2の態様による方法を実行するように構成される命令を記憶する非一時的キャリア媒体が提供される。
本発明の第5の態様によれば、顧客モバイルデバイス上で実行可能であり、前記顧客モバイルデバイスと販売者端末との間でセキュア取引を行う方法を容易にするように構成されたソフトウェアアプリケーションであって、前記方法は、
前記販売者端末によって受信された要求に応答して、前記顧客モバイルデバイスのプロセッサによって、前記顧客モバイルデバイスのカメラによってキャプチャされたデジタル画像を処理することであって、前記画像は、前記取引に固有の符号化された取引識別子(TRANS-ID)を含む、ことと、
前記顧客モバイルデバイスと取引サーバとの間でセキュア監視セッションを開始することと、
前記顧客の顧客一次口座番号(PAN)に関連付けられたPIN番号を入力するためのインタフェースを顧客に提示するために前記顧客モバイルデバイス上のユーザインタフェースを制御することと、
前記インタフェースにおいて前記PIN番号を受信すると、前記PIN番号のためのPINブロックを生成し、前記顧客口座に関連付けられた金融機関から前記取引の検証または拒否を取得する検証のために、前記PINブロックを前記取引サーバに送信することと、
を含む、ソフトウェアアプリケーションが提供される。
前記販売者端末によって受信された要求に応答して、前記顧客モバイルデバイスのプロセッサによって、前記顧客モバイルデバイスのカメラによってキャプチャされたデジタル画像を処理することであって、前記画像は、前記取引に固有の符号化された取引識別子(TRANS-ID)を含む、ことと、
前記顧客モバイルデバイスと取引サーバとの間でセキュア監視セッションを開始することと、
前記顧客の顧客一次口座番号(PAN)に関連付けられたPIN番号を入力するためのインタフェースを顧客に提示するために前記顧客モバイルデバイス上のユーザインタフェースを制御することと、
前記インタフェースにおいて前記PIN番号を受信すると、前記PIN番号のためのPINブロックを生成し、前記顧客口座に関連付けられた金融機関から前記取引の検証または拒否を取得する検証のために、前記PINブロックを前記取引サーバに送信することと、
を含む、ソフトウェアアプリケーションが提供される。
いくつかの実施形態では、前記ソフトウェアアプリケーションは、前記顧客モバイルデバイスにおいて前記取引の検証または拒否を受信し、前記顧客モバイルデバイスのディスプレイ上に前記検証または拒否を前記顧客に表示するようにさらに構成される。
本発明の第6の態様によれば、顧客モバイルデバイスと販売者端末との間でセキュア取引を実行する方法を容易にするように構成されたサーバであって、前記方法は、
前記販売者端末との第1のセキュア監視セッションを実行することであって、前記第1のセキュア監視セッション中に、顧客一次口座番号(PAN)が、前記販売者端末においてキャプチャされ、前記顧客PANは、金融機関における顧客口座に関連付けられる、ことと、
前記販売者端末から取引の要求を受信することであって、前記要求は、前記顧客PANおよび取引金額を含む、ことと、
前記取引に固有の取引識別子(TRANS-ID)を生成し、TRANS-IDを前記販売者端末に送信することであって、TRANS-IDは視覚的表現に符号化され、前記顧客デバイス上のカメラによるキャプチャのためにディスプレイ上に提示される、ことと、
前記顧客デバイスとの第2のセキュア監視セッションを実行することであって、前記第2のセキュア監視セッション中、前記顧客デバイスは、
前記顧客PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記サーバからダウンロードされたランダムな一次口座番号を使用して前記PIN番号のPINブロックを生成し、検証のために前記PINブロックを前記サーバに送信する
ように制御される、ことと、
前記PINブロックを受信し、前記顧客口座に関連付けられた金融機関から前記取引の検証または拒否を取得することと、
前記取引を完了するために前記取引の前記検証または拒否を前記販売者端末に送信することと、
を含むサーバが提供される。
前記販売者端末との第1のセキュア監視セッションを実行することであって、前記第1のセキュア監視セッション中に、顧客一次口座番号(PAN)が、前記販売者端末においてキャプチャされ、前記顧客PANは、金融機関における顧客口座に関連付けられる、ことと、
前記販売者端末から取引の要求を受信することであって、前記要求は、前記顧客PANおよび取引金額を含む、ことと、
前記取引に固有の取引識別子(TRANS-ID)を生成し、TRANS-IDを前記販売者端末に送信することであって、TRANS-IDは視覚的表現に符号化され、前記顧客デバイス上のカメラによるキャプチャのためにディスプレイ上に提示される、ことと、
前記顧客デバイスとの第2のセキュア監視セッションを実行することであって、前記第2のセキュア監視セッション中、前記顧客デバイスは、
前記顧客PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記サーバからダウンロードされたランダムな一次口座番号を使用して前記PIN番号のPINブロックを生成し、検証のために前記PINブロックを前記サーバに送信する
ように制御される、ことと、
前記PINブロックを受信し、前記顧客口座に関連付けられた金融機関から前記取引の検証または拒否を取得することと、
前記取引を完了するために前記取引の前記検証または拒否を前記販売者端末に送信することと、
を含むサーバが提供される。
本発明の第7の態様によれば、顧客モバイルデバイスと販売者端末との間のセキュア取引を容易にするように構成されたサーバであって、前記販売者端末は、顧客一次口座番号(PAN)をキャプチャするように制御され、前記顧客モバイルデバイスは、前記取引を完了するために前記顧客PANに関連付けられたPIN番号の入力を可能にするように制御される、サーバが提供される。
いくつかの実施形態では、前記顧客モバイルデバイスは、販売時点で前記取引について許可される。いくつかの実施形態では、前記許可は、前記顧客モバイルデバイスのカメラによるQRコードの前記キャプチャを通じて提供される。
本発明の実施形態は、前記PINをキャプチャする前記デバイスが、前記カードを読み取る前記デバイスから分離されることを可能にする。具体的には、本発明は、前記PIN入力デバイスが前記顧客デバイスであることを可能にする。前記顧客カードは、携帯電話デジタルウォレット内に格納されてもよいし、物理的カードであってもよい。
通常、前記顧客は、EFTPOSセキュアデバイスまたはCPoC承認デバイスにクレジット/デビットカード(または均等物)を提示するだけでよい。支払取引額が取引フロア制限を超えない限り、PIN入力は通常必要ない。本発明では、前記販売者端末が、PINを促す代わりに、前記取引サーバから取得された一意の取引IDを前記顧客デバイス(電話またはタブレット)に送信するためにQRコード(または他の視覚的表現)を表示する。
前記顧客デバイスは、前記QRコードまたは前記他の視覚的表現をスキャンし、インスタントアプリなどのスモールアプリを前記顧客デバイスに自動的にダウンロードすることができるカメラを有する。前記スモールアプリの主な目的は、顧客のPINを安全に促し、暗号化されたPINブロックを前記取引IDと共に前記取引サーバに安全に送信することである。前記一意の取引IDにより、前記監視/処理サーバは、前記カード番号を前記関連するPINと組み合わせることができる。安全に動作するために、前記スモールアプリは、その完全性(インテグリィティ)および前記顧客デバイスの基礎となるオペレーティングシステムの完全性を継続的にチェックし、PIN入力中に、前記アプリを監視し、そのセキュリティを証明する責任を負うサーバに、継続的または定期的に報告する。これは、統計的に一意のキーを使用する暗号化、および前記顧客デバイス内のセキュアエレメントまたは信頼できるセキュア環境へのアクセスが得られない場合はホワイトボックス暗号化、を採用することを含む。前記サーバは、前記販売者端末からの前記カード番号を、前記顧客デバイスからの前記PINブロックと組み合わせ、前記支払取引を処理する。
前記アプリが前記顧客のデバイスにすでにダウンロードされている場合、前記QRコードをスキャンすると、前記アプリがすぐに開始/アクティブ化される。そうでなければ、インスタントアプリまたはアプリクリップなどの前記アプリのより小さいバージョンがダウンロードされ、次いで実行され得る。
さらに、携帯電話およびタブレットなどのCOTSデバイスは、従来の独立型EFTPOSデバイスが有するプリンタを欠いている。前記販売者は、要求された場合、前記顧客に支払レシートを提供する義務を果たすために、外部レシートプリンタを有することができる。あるいは、デジタルレシートが、前記顧客アプリを介して前記顧客デバイスに配信され得る。代替的に、または追加的に、前記販売者デバイスは、顧客電子メールアドレスまたは携帯電話番号を求めて、前記レシートのURLリンクを送信するように促すことができる。
前記取引がPIN入力を必要としない場合であっても、前記販売者端末は、QRコードまたは他の視覚的表現を依然として表示することができ、前記顧客は、オプションとして、フルアプリをダウンロードし、前記電子取引レシートを取得するためにスキャンすることができる。次いで、同じアプリを使用して、前記顧客の過去の取引を閲覧することができ、前記処理サーバは、顧客にロイヤルティ報酬を提供することができる。前記顧客はまた、同じクレジット/デビットカードを使用した将来の取引について、前記アプリを通して通知され得る。
ここで、本開示の例示的な実施形態を、添付の図面を参照しながら、単なる例として説明する。
図1は、セキュア取引を実行するためのシステムの概略図であり、取引処理におけるステップを示す。
図2は、スマートフォンの概略システム図であり、その主要な機能コンポーネントを示す。
図3は、セキュア取引を実行する方法における主要なステップを示す処理フロー図である。
図4は、販売者をオンボーディングする際の例示的なサブステップを示す処理フロー図である。
図5は、販売者端末と取引サーバとの間でセキュア監視セッションを開始する際の例示的なサブステップを示す処理フロー図である。
図6は、顧客デバイスと取引サーバとの間でセキュア監視セッションを開始する際の例示的なサブステップを示す処理フロー図である。
システム概要
最初に図1を参照すると、セキュア取引を実行するためのシステム100が概略的に示されている。システム100は、顧客、販売者、金融機関、および支払プロバイダ間の取引を容易にするための取引サーバ102を含む。
最初に図1を参照すると、セキュア取引を実行するためのシステム100が概略的に示されている。システム100は、顧客、販売者、金融機関、および支払プロバイダ間の取引を容易にするための取引サーバ102を含む。
取引サーバ102は、一次口座(プライマリアカウント)番号(PAN)およびPINブロックなどのセンシティブなカードデータを保護するPCI-DSS準拠サーバであってもよい。サーバは、PINブロックを変換(すなわち、再暗号化)すること、デバイス要求の完全性(インテグリティ)をチェックすること、デバイスがサーバメッセージおよび応答の完全性をチェックすることを可能にするためのメッセージ認証コード(MAC)を追加すること、および、センシティブなカードホルダデータを暗号化/復号することを含む暗号化機能のためにハードウェアセキュリティモジュール(HSM)を利用する。
取引サーバ102は、複数のファイアウォールレイヤおよびセキュリティアクセス制御ルールをフロントエンドにすることができる。境界ファイアウォールは、通常、分散型サービス拒否攻撃を検出することもできるウェブアプリケーションファイアウォール(WAF)である。
取引サーバ102への通信は、好ましくは、TLSv1.2以上を使用して完全に暗号化され、通常、ウェブソケットを使用するが、HTTPS RESTfulメッセージを使用してもよい。
取引サーバ102の主な目的は3つあり、1)カード提示中に販売者デバイスを監視し、PIN入力中に顧客デバイスを監視すること、2)販売者および顧客デバイスの完全性を証明すること、3)アクワイアラ(例えば、銀行)および/またはスキーム(例えば、VISA、Mastercard、またはAmerican Express)との金融取引を処理することである。
取引サーバ102は、別個の金融支払処理エンティティによって義務付け/要求されるセキュア暗号化構成で金融ネットワークとの間で要求を転送し、応答を受信するためのマイクロサービスまたはサーバをバックエンドとしてもよい。
取引サーバ102は、銀行(口座発行者であってもよい)などの支払取引アクワイアラによってホストされてもよく、支払スイッチプロバイダ、または支払ゲートウェイプロバイダなどの第三者によってホストされてもよい。取引サーバ102は、オンプレミスまたはクラウドコンピューティングリソースなどの個々のコンピュータプロセッサの分散リソースとして実装されてもよく、または単一のオンプレミスまたはクラウドハードウェアデバイス上で実装されてもよい。
システム100はまた、顧客と取引を行う企業などの販売者によってホストされ、動作される販売者端末104を含む。いくつかの実施形態では、販売者端末104は、関連するプロセッサ、ディスプレイ、および内部カードリーダデバイスを有するスマートフォンまたはタブレットコンピュータなどのモバイルデバイスの形態である。モバイルデバイスの形態の販売者端末104はまた、クレジットカード、デビットカード、または近距離無線通信(NFC)プロトコルを介して他のモバイルデバイスから情報を読み取るための外部カードリーダなどの他の接続されたデバイスを含み得る。モバイルデバイスの形態の販売者端末104は、3G、4G、または5Gなどのセルラーネットワークを介して、またはWIFIを介してインターネットとワイヤレスに通信し、取引サーバ102との間でデータを通信する。
他の実施形態では、販売者端末104は、インターネットアクセスポイントに電気的または無線で接続され、次にインターネットを介して取引サーバ102と通信する、EFTPOS(Electronic Funds Transfer at Point Of Sale)端末の形態である。EFTPOS端末は、クレジットカードまたはモバイルデバイスから情報を読み取るためのカードリーダデバイス(たとえば、スワイプ、接触、または非接触)、及び、取引に関する情報を販売者または顧客に表示するための1つ以上のディスプレイデバイスなどの他の関連デバイスを含み得る。これらのデバイスは、EFTPOS端末とは別個であるが、EFTPOS端末と通信することができる。したがって、販売者端末104は、互いに連携して動作する単一のデバイスまたは複数のデバイスを備え得る。
システム100はまた、スマートフォンまたはタブレットコンピュータなどのモバイルデバイスの形態を一般にとる顧客デバイス106を含む。しかしながら、顧客デバイス106は、ウェアラブルデバイス(例えば、スマートウォッチ)及びデジタルメディアプレーヤなどの他のデバイスを含むこともできる。
ここで図2を参照すると、顧客デバイス106として、または販売者端末104として使用することができる従来のスマートフォン200が概略的に示されている。スマートフォン200は、メモリ204に記憶されたデータを処理するためのプロセッサ202を含む。プロセッサ202およびメモリ204は、スマートフォン200の中央処理装置(CPU)206を形成する。
スマートフォン200はまた、スマートフォン200が他のデバイスおよびシステムと通信することを可能にするために、ワイヤレスで信号を送信および受信するためのワイヤレストランシーバモジュール208を含む。ワイヤレストランシーバモジュール208は、Wi-FITMチップ、BluetoothTMチップ、3G、4G、または5Gセルラーネットワークアンテナなどのいくつかの様々な送信プロトコルを介してワイヤレスに通信するための様々な従来のデバイスを含み得る。NFCデバイス210は、RFIDおよび関連するデータ送信プロトコルを介してスマートフォン200と他のデバイスとの間の接続を確立するように構成される。
スマートフォン200は、ユーザに情報を表示するためのタッチスクリーンディスプレイなどのディスプレイ212と、オーディオ入力を受信し、ユーザにオーディオ情報を出力するためのマイクロフォン/スピーカ212と、GPS位置信号を受信するためのGPSデバイス216と、モバイルデバイス200の動きを検出するための加速度計218または他の慣性測定ユニット(IMU)とをさらに含む。
最後に、スマートフォン200は、スマートフォン200からデジタル画像をキャプチャするための1つ以上のカメラ220を含む。プロセッサ202は、QRコード、バーコード、および他の画像をデコードするなど、カメラ220からキャプチャされた画像を処理するように構成されたハードウェアおよび/またはソフトウェアを含む。スマートフォン200は、カメラ220による画像キャプチャ中にシーンを照明するためのLEDなどの1つ以上の照明デバイスを含むこともできる。プロセッサ202は、カメラ220、ワイヤレストランシーバ208、およびディスプレイ212を含む、スマートフォン200の様々なコンポーネントを制御するためのデバイスコントローラとして働く。
・セキュア取引を実行する方法
ここで図3を参照すると、システム100は、販売者と顧客との間でセキュア取引を実行する方法300を容易にすることができる。方法300は、初期オンボーディング設定ステップ301と、プライマリ取引ステップ302~308とを含む。初期オンボーディングステップ301は、販売者端末104と取引サーバ102との間に許可された接続を確立するために初めに実行されるだけでよいので、破線で示されている。このオンボーディング処理は、通常、従来のEFTPOS端末は従来のベストプラクティスオンボーディング技法に従うので、販売者端末104がモバイルデバイスであるシナリオのために予約される。ステップ302~308は、個々の取引ごとに実行されるステップを表す。
ここで図3を参照すると、システム100は、販売者と顧客との間でセキュア取引を実行する方法300を容易にすることができる。方法300は、初期オンボーディング設定ステップ301と、プライマリ取引ステップ302~308とを含む。初期オンボーディングステップ301は、販売者端末104と取引サーバ102との間に許可された接続を確立するために初めに実行されるだけでよいので、破線で示されている。このオンボーディング処理は、通常、従来のEFTPOS端末は従来のベストプラクティスオンボーディング技法に従うので、販売者端末104がモバイルデバイスであるシナリオのために予約される。ステップ302~308は、個々の取引ごとに実行されるステップを表す。
初期ステップ301において、オンボーディング処理が開始され、販売者は、取引サーバ102を介して取引を行うことを許可される。ステップ301は、図4に示すように、いくつかのサブステップを含む。サブステップ301aにおいて、販売者は、販売者端末104上に販売者ソフトウェアアプリケーション(以下、「販売者アプリ」)をダウンロードし、インストールする。販売者端末104がスマートフォンなどの従来のモバイルデバイスである場合、販売者アプリは、アップルAppストアデータベースまたはGoogle Playデータベースなどのアプリストアまたはデータベースからダウンロードされたアプリを表し得る。販売者端末104がEFTPOS端末などを表す場合、販売者アプリは、事前にダウンロードされたアプリケーション、または支払プロバイダまたは金融機関からインターネットを介して端末にダウンロードされたアプリケーションであってもよい。
サブステップ301bにおいて、販売者は、販売者アプリを使用して、販売者取引アカウントを作成するのに十分なデータを提供することによって登録処理を完了する。この処理は、販売者を識別することと、販売者のリスク評価を実行することと、さらなる情報を取得するために販売者の代表者に連絡することとを含み得る。このサブステップで収集される典型的な情報は:
・販売者の名称。
・販売者の携帯電話番号。
・販売者の電子メールアドレス。
・販売者の決済銀行の名称及び支店。
・支店番号を含む販売者の決済銀行口座番号。
・販売者取引アカウントを作成する銀行アクワイアラのリスト。
・バックエンド識別情報目的で販売者を識別するために必要とされる任意の追加のアイテム。
・販売者の名称。
・販売者の携帯電話番号。
・販売者の電子メールアドレス。
・販売者の決済銀行の名称及び支店。
・支店番号を含む販売者の決済銀行口座番号。
・販売者取引アカウントを作成する銀行アクワイアラのリスト。
・バックエンド識別情報目的で販売者を識別するために必要とされる任意の追加のアイテム。
販売者のリスク評価を実行することは、KYC(Know Your Customer)、AML(Anti Money Laundering)および/またはCTF(Counter Terrorism Financing)チェックなどの従来のリスクチェックを実行することを含み得る。
サブステップ301cにおいて、販売者アプリは、グローバル一意識別子(GUID)などの統計的に一意の乱数とともに上記の情報を取引サーバ102に送信する。この統計的に一意の乱数は、販売者アプリアイデンティティとなり、S-IDとして指定される。
サブステップ301dにおいて、販売者はまた、販売者を識別し、確認をサーバに送信する他の信頼されたエンティティ/当局へのリンクをアクティブ化することを要求され得る。入力された販売者の詳細は、通常、プライバシー目的のためにサーバに記録されない。詳細は、政府機関のような販売者が信頼するエンティティにのみ送信される。
サブステップ301eにおいて、販売者アイデンティティおよびリスクレベルが評価され、確認されると、取引サーバ102は、ランダムコード(参照のために本明細書では「S-RC」と指定される)を生成する。
サブステップ301fにおいて、取引サーバ102は、S-RCを、販売者端末104に、または、SMSまたは電子メールデータを受信することが可能な関連するモバイルデバイスに送信する。S-RCは、販売者アプリに直接送信されない。好ましくは、取引サーバ102と販売者アプリとの間のすべての通信は、すべてのコンテンツを暗号化し、取引サーバ102を認証するために、トランスポートレイヤセキュリティTLS v1.2以上を使用する。
サブステップ301gにおいて、販売者アプリは、統計的に一意の乱数(参照のために「MA-RAND1」と指定される)を作成する。S-IDは、MA-RAND1と連結される。結果は、ビットごとのeXclusive-OR(XOR)または対称暗号化などの可逆関数を使用して、サーバからのランダムコード(S-RC)と組み合わされる。販売者アプリは、結果
を取引サーバ102に送信する。S-RC`は、S-RCの変形であり、‘e’は暗号化を表すことに留意されたい。したがって、このステップでは、販売者アプリは、S-RC`を使用してS-IDとMA-RAND1との連結を暗号化する。S-RC`は、暗号化キーとして機能する。一例として、S-RC`を生成する1つの方法は、取引サーバ102および販売者アプリバージョンの両方によって知られている固定シード値を有するS-RCをXORすることである。別の例は、何らかの方法を使用して結合されたシード値を含む一方向関数を使用してS-RCを変換し、次いでKEK(キー暗号化キー)を使用して結果をハッシュ化または暗号化することである。バリエーションの選択は、取引サーバ102および販売者アプリバージョンによって決定され、S-RCが将来他の目的のために使用される場合に、余分なレベルのセキュリティを提供し、機能キー分離を実施するために使用される。
サブステップ301hにおいて、販売者アプリは、S-RCを安全に削除する。販売者アプリは、MA-RAND1のみを安全に保管する。サブステップ301a~301hが完了すると、販売者はオンボーディングされて、販売者端末104との取引を実行することを許可される。
販売者がオンボーディングされると、販売者と顧客との間でセキュアな取引を実行することができる。図3に戻ると、ステップ302において、取引の検出に応じて、販売者端末104と取引サーバ102との間の接続が行われる。この接続は、販売者端末104または関連するチェックアウトデバイスで販売者によるチェックアウト処理の開始によってトリガされ得る。これは、例えば、販売者端末104内のNFCデバイスをアクティブ化することができる。取引が販売者アプリのみを使用して販売者によって開始される場合、販売者が取引タイプ(例えば、販売または返金)を選択し、合計金額および任意の金額を入力すると、取引要求がトリガされる。取引要求が認証され、販売者アプリによって確認されると、NFCデバイスは、顧客のカードの後続の読取を可能にするようにアクティブ化される(以下を参照されたい)。
販売者端末104上に常駐する販売者アプリは、3つの異なるモード、すなわち、スタンドアロンモード、アプリ統合モード、またはサーバ統合モードで実行することができる。3つのモードは、販売者アプリが必要に応じて要求をキューイングすることによって同時に2つ以上のモードで動作することができるように、相互に排他的ではない。
スタンドアロンモードでは、販売者は、購入(販売)、キャッシュアウト、返金、許可、無効、または完了などの金融取引タイプを選択する。販売者は、要求された金額を入力し、これは、任意選択のキャッシュバックコンポーネントおよび任意選択のチップ金額を含むことができる。
アプリ統合モードでは、同じ販売者端末104上に常駐するサードパーティ販売者ソフトウェアアプリケーションは、取引タイプ、取引金額、およびバスケットデータ(販売されるアイテム、アイテム価格、アイテム数量、およびアイテム割引など)などの他の取引データを収集する。取引詳細は、Androidベースのプラットフォームにおける「Intents」などのApp-To-Appインタフェースを介して、取引要求として販売者アプリに渡される。場合によっては、サードパーティ販売者ソフトウェアアプリケーションは、USB、Bluetooth(登録商標)、またはイーサネット(登録商標)ケーブルを介して販売者端末104に物理的に接続されたPCから取引タイプおよび取引金額を取得する。
サーバ統合モードでは、サーバは、PC、Webポータル、または外部タブレットアプリなどで実行されている外部の販売時点管理システムから取引詳細を取得する。サーバは、取引要求を、販売者COTSデバイス上で動作する販売者アプリに中継する。
ステップ303において、取引が検出されると、販売者端末104と取引サーバ102との間で第1のセキュア監視セッションが開始される。この第1のセキュア監視セッションは、販売者端末104がPANなどのセンシティブなカードホルダデータを読み取り、暗号化することができるセーフウィンドウを提供する。セキュア監視セッションは、取引サーバ102と確立された相互に認証された(例えば、TLS1.3)接続を指し、アプリケーションレベルデータは、AES-256を使用して確立されたホワイトボックス暗号化処理(後述)によってさらに暗号化される。このセッション中、デバイス(この場合、販売者端末104)は、ルートアクセスを探すことによって、ならびにランタイムアプリケーションセキュリティ保護を利用することによって、定期的に証明している。いくつかの実施形態では、取引データをセキュアにするために使用されるキーは、が1~5秒の期間でリフレッシュされる。
第1のセキュア監視セッション中に、販売者アプリは、好ましくは、販売者端末のオペレーティングシステム、メモリ、および/または記憶されたコードおよびファイルの完全性(インテグリティ)を検査することによって、改竄の兆候をチェックするためのチェックルーチンを実行する。このチェックルーチンは、セッション中に1つ以上のデータブロックにわたってチェックサムまたはハッシュ値を実行することを含むことができる。オペレーティングシステムは、販売者端末104が(スーパーユーザまたは管理者レベルのアクセスを可能にするために)ルーティングされているか、ジャイルブレークされているか、または未承認のアプリが記憶されているかどうかを決定するためにチェックされ得る。チェックはまた、オペレーティングシステムの適切なバージョンまたは更新がインストールされているかどうか、および/またはプロセッサがオーバークロックされているか、またはアンダークロックされているかどうかを決定し得る。
チェックルーチンの実行を含む監視処理は、好ましくは2秒の間隔で定期的に実行される。いくつかの実施形態では、販売者アプリは、チェックルーチンからのデータを少なくとも毎秒1回取引サーバに報告し、取引サーバは、報告されたデータを、販売者アプリの予想される結果およびそれが実行しているデバイスタイプと比較する。これらのチェックの頻度および期間は、センシティブなデータが明らかにされる前に、改竄/ハッキングイベントがキャプチャされ得ることを確実にするために、十分に高速である必要がある。ただし、この処理の頻度は、データ転送コスト、アプリの性能、サーバの負荷によって制限される。好ましくは、販売者アプリは、可能かつ利用可能な場合、販売者端末104の信頼できる実行環境内で実行する。
いくつかの実施形態では、第1のセキュア監視セッションは、30秒、45秒、または1分などの所定の持続時間の後に満了する。第1のセキュア監視セッションの持続時間は、構成可能であってもよいが、顧客の時間が販売者端末104において顧客のクレジット/デビットカードまたはデジタルウォレットを提示することを可能にするのに十分であるべきである。持続時間が満了した後、セッションはシャットダウンされ、取引は、セキュリティ目的のために再開される必要がある。
販売者端末104と取引サーバ106との間でこの第1のセキュア監視セッションを開始する例示的なサブステップを、図5を参照して以下に説明する。
サブステップ303aにおいて、販売者アプリは、販売者端末104のプロセッサを制御して、第2の統計的に一意の乱数(参照のために「MA-RAND2」と指定される)を生成する。
サブステップ303bにおいて、セッションキー(参照のために「MA-SESSION-key」と指定される)が、キーパラメータとしてMA-RAND2および一意のシード値を使用して生成される。この一意のシード値は、販売者アプリバージョンに対応し得る。いくつかの実施形態では、MA-SESSION-KEYは、MA-RAND2および一意のシード値の両方に一方向関数を適用することによって生成される。
サブステップ303cにおいて、販売者アプリは、MA-SESSION-KEYのキーチェック値(参照のために「KCV」と指定される)を算出する。KCVは通常、6桁の16進値である。それは、典型的にはキーによってゼロのブロックを暗号化することによって算出される。この例では、キーはMA-SESSION-KEYである。結果の最初の6桁の16進数=KCVである。
サブステップ303dにおいて、販売者アプリは、販売者アプリから取引サーバ102に関数(MA-RAND1 XOR MA-RAND2)およびKCVを送信する。ここで、XORは、ビット単位のeXclusive OR関数を表し、その結果、(MA-RAND1 XOR MA-RAND2)は、取引サーバ102に送信される第1のデータアイテムを表し、KCVは、取引サーバ102に送信される第2のデータアイテムを表す。
サブステップ303eにおいて、取引サーバ102は、ステップ303dにおいて受信された関数からセッションキーMA-SESSION-KEYおよびそのKCVを抽出することによって、セッションキーMA-SESSION-KEYおよびそのKCVを算出する。次いで、それは、販売者アプリから受信されたKCVに対して、その算出されたKCVを検証する。取引サーバ102で算出されたキーチェック値KCVが販売者アプリから受信されたキーチェック値KCVと不一致である場合、取引サーバ102は、MA-RAND1を、利用可能であれば代替の統計的に一意の乱数(参照のために「MA-RAND1-BAK」と指定される)に置き換える。取引サーバ102で算出されたキーチェック値KCVが販売者アプリから受信されたキーチェック値KCVと依然として不一致である場合、エラー条件が発生し、警告が販売者および/または顧客に発行され得る。いくつかの実施形態では、事前定義された個数のエラー条件の後、販売者アプリは、代替の第1の統計的乱数MA-RAND1を生成するための要求を取引サーバ102に送信することができる。
サブステップ303fにおいて、ホワイトボックス暗号化テーブルが生成され、取引サーバ102から販売者端末104に送信され、販売者アプリによって処理される。ホワイトボックス暗号化テーブルは、ホワイトボックス暗号化セッションを得る(source)(ホワイトボックス暗号化セッションの情報源とする)ために使用されるバイトを表す。いくつかの実施形態では、AES-256キーが取引サーバによるいくつかの確立された処理を使用して埋め込まれ、次いで、ホワイトボックス暗号化処理を利用して販売者アプリケーションによって導出される。ホワイトボックス暗号化技法は、暗号化および難読化の方法を組み合わせて、アプリケーションコードおよび暗号化テーブル内にシークレットキー(秘密鍵)を埋め込む。対称暗号化方法は、暗号化/復号されるデータに基づいた、連続的なシフト、回転、および置換操作に基づくものである。キーおよび固定値は、暗号化テーブル内に記憶される。ホワイトボックス暗号化では、キーは、暗号化テーブル内に埋め込まれる。目的はコードとキーを組み合わせて、2つが攻撃者にとって区別できないようにし、新しい「ホワイトボックス」プログラムを、安全でない環境で安全に実行することができるようにすることである。ホワイトボックス暗号化テーブルのサイズおよび長さは、暗号化アルゴリズムに依存する。
ホワイトボックス暗号化テーブルは、好ましくはMA-SESSION-KEYを使用して暗号化される。いくつかの実施形態では、ホワイトボックス暗号化テーブルは、埋め込まれた使い捨てキーを含む。一実施形態では、使い捨てキーは、AES-256対称使い捨てキーである。
取引サーバ102がMA-SESSION-KEYを算出するためにMA-RAND1を使用した場合、取引サーバ102は、MA-RAND1-BAK = MA-RAND1を設定し、次いで、MA-RAND1をMA-RAND2に置き換える。
サブステップ303gにおいて、販売者アプリは、MA-SESSION-KEYを使用してホワイトボックス暗号化テーブルを復号するための複合アルゴリズムを実行する。現在のホワイトボックス暗号化テーブルは、新しい復号されたテーブルに置き換えられる。
サブステップ303hにおいて、MA-RAND1は、販売者アプリによってMA-RAND2に置き換えられる。
ステップ303iにおいて、ステップ303f~303hが、第1のセキュア監視セッション中に、所定の時間間隔で繰り返される。いくつかの実施形態では、ホワイトボックス暗号化テーブルは、1~5秒の範囲の時間間隔で置き換えられる。一実施形態では、ホワイトボックス暗号化テーブルは、2秒ごとの時間間隔で置き換えられる。暗号テーブルを置き換えるタイミングは、好ましくは、ハッキングの試みがS-KSUキーを暴かれ得る時間よりもより短い。他の実施形態では、ステップ303f~303hにおいて、ホワイトボックス暗号の代わりにブラックボックス暗号が使用されてもよい。
重要なことに、販売者端末104のNFCデバイスのアクティブ化は、第1のセキュア監視セッションが時間ステップ303iに初めて到達すると、実行されるだけである。NFCデバイスは、セキュリティ違反または通信障害のために、デバイスが第1のセキュア監視セッションを出る場合、非アクティブ化される。NFCデバイスはまた、PANなどのセンシティブなカードホルダデータがキャプチャされ、販売者端末104とカードホルダのクレジット/デビットカードまたはトークンとの間の通信がもはや必要とされなくなると、非アクティブ化される。
図3に戻ると、ステップ304において、第1のセキュア監視セッション中に、顧客一次口座番号(PAN)は、販売者端末102においてキャプチャされる。顧客PANは、銀行などの金融機関の顧客口座に関連付けられたデビットまたはクレジットカード番号、そのトークン化バージョン、またはその暗号化バージョンを表すことができる。顧客PANのこのキャプチャは、クレジットカード、デビットカード、または関連するデジタルウォレット機能を有する顧客デバイス106を、販売者端末104に近接させることによって、NFC非接触支払処理の一部として実行され得る。これは、NFCインタフェースをトリガして、顧客のクレジット/デビットカード、または顧客デバイス106もしくは別のNFC対応デバイス上で動作するデジタルカードウォレットとのEuropay、Mastercard、およびVisa(EMV)アプリケーションプロトコルデータユニット(APDU)パケット交換を開始することができる。しかし、この読み取り処理は、有効なホワイトボックス暗号化テーブルを持たない限り、顧客PANまたはそのトークン、およびPAN/トークン有効期限を読み取ることを試みない。代替的に、販売者端末104がEFTPOS端末である場合、PANは、クレジットカードまたはデビットカードを、関連するカードリーダを通してスワイプすることによってキャプチャされ得る。
EMVパケット交換の結果、販売者アプリは以下を取得する。
・PANまたはそのトークン番号、
・PAN/トークン有効期限、
・カード/トークン発行者にポイントツーポイント暗号化を提供するカードまたはデジタルウォレット暗号、
・デバイス、カード、および可変取引詳細、及び
・オフライン認証結果。
・PANまたはそのトークン番号、
・PAN/トークン有効期限、
・カード/トークン発行者にポイントツーポイント暗号化を提供するカードまたはデジタルウォレット暗号、
・デバイス、カード、および可変取引詳細、及び
・オフライン認証結果。
販売者アプリは、データをキャプチャする時間から、S-KSUを使用してデータを暗号化する時間まで、上記のデータアイテムを保護する。ホワイトボックス暗号化テーブルは、その後すぐに削除される。
ステップ305において、取引の要求が、販売者端末104から取引サーバ102に送信される。要求は、顧客PAN、またはその暗号化されたバージョンと、取引の取引金額(例えば、$250)とを含む。
ステップ306において、取引サーバ102は、要求されている取引に固有の取引識別子(参照のために「TRANS-ID」と指定される)を生成する。取引識別子は、統計的に一意であると考えられるように、有意に長い値であることが好ましい。例として、TRANS-IDは、60桁の16進値であり得る。この取引識別子は、販売者アプリによるその後の使用のために販売者端末104に送信される。取引サーバ102はまた、取引が要求または開始された時間に対応する第1のタイムスタンプ(参照のために「TIMESTAMP1」と指定される)を生成し得る。
取引金額が所定の閾値金額、例えば$100未満である場合、取引は、顧客がPINを入力する必要なく進行することができる。PINが必要とされないこの場合、取引は、取引サーバ102から金融ネットワークを介して、金融結果(承認または拒否)のために発行者に移動する。
ステップ307において、取引識別子は、データ点の1次元、2次元、または3次元分布を有するQRコード、バーコード、または他のデジタル画像などの視覚的表現に符号化される。第1のタイムスタンプはまた、QRコードまたは視覚的表現に符号化され得る。いくつかの実施形態では、取引識別子は、一連の画像フレームにわたって変化する一連の視覚データ点に符号化される。符号化された視覚的表現は、顧客に視認可能である販売者端末104のディスプレイ上に提示される。販売者端末104がモバイルデバイスである場合、このディスプレイは、そのモバイルデバイスのディスプレイであり得る。符号化された視覚的表現は、QRコードまたは他の画像を表示する従来の方法でディスプレイ212上に表現を視覚的に表示するようにディスプレイ212を制御するプロセッサ202によってユーザに提示される。
ステップ308において、ディスプレイ上に提示される視覚的表現は、顧客デバイス106上のカメラ220によってキャプチャされ得る。これは、カメラ220を制御する専用のプライマリソフトウェアアプリケーション、またはカメラ220を制御する許可を有するサードパーティアプリを開くことによって実行されてもよい。
QRコードまたは他の視覚的表現は、顧客デバイス106のプロセッサ202によって処理されると、1つ以上の機能を実行する符号化された情報を含む。特に、ステップ309において、QRコードのキャプチャに応答して、顧客デバイス106上の顧客アプリが実行される。顧客アプリが顧客デバイス106にすでにダウンロードされている場合、QRコードをスキャンすると、従来の方法でアプリが起動される。「起動」とは、顧客デバイス106上のソフトウェアアプリの機能を開始および実行することを意味することが意図される。これは、プロセッサ202によってアルゴリズムを実行すること、ディスプレイ212上にグラフィックをレンダリングすること、およびカメラ220などの他のデバイスの制御を開始することを含み得る。顧客デバイス106の許可に応じて、アプリは、顧客デバイス106上で非アクティブであっても起動され得る。しかしながら、顧客アプリが顧客デバイス106上にまだダウンロードされていない場合、いくつかの実施形態では、顧客アプリが即座にダウンロードされ、次いで、「インスタントアプリ」または「アプリクリップ」として顧客デバイス上で実行され得る。これらは、デバイスに完全なアプリをインストールすることなく、モバイルデバイス上で実行することができる、より大きなアプリのスモールバージョンである。インスタントアプリまたはアプリクリップには、通常、完全なアプリ機能のサブセットが含まれる。本発明では、顧客アプリ(以下に説明する)が十分に小さく、その結果、それらは小サイズのアプリ、完全に特徴的な顧客アプリのインスタントアプリまたはアプリクリップバージョンにおいて実行され得る。しかしながら、いくつかの実施形態では、顧客は、追加の機能のために完全なアプリをダウンロードするように促されるか、または奨励される。
ステップ310において、顧客アプリは、第2のセキュア監視セッションを開始するように構成される。このセッションは、顧客デバイスと取引サーバとの間で行われる。この第2のセキュア監視セッションは、顧客のPIN番号を入力することができるセーフウィンドウを提供する。第2のセキュア監視セッションの間、顧客アプリは、好ましくは上述の第1の監視セッションで実行されるのと同様のチェックルーチンを実行する。このチェックルーチンは、顧客デバイス106のオペレーティングシステム、メモリ、および/または記憶されたコードおよびファイルの完全性を検査することによって、改ざんの兆候をチェックする。このチェックルーチンは、セッション中に1つ以上のデータブロックにわたってチェックサムまたはハッシュ値を実行することを含むことができる。オペレーティングシステムは、顧客デバイス106が、(スーパーユーザまたは管理者レベルのアクセスを可能にするために)ルーティングされているか、ジャイルブレークされているか、または未承認のアプリが記憶されているかどうかを決定するためにチェックされ得る。チェックはまた、オペレーティングシステムの適切なバージョンまたは更新がインストールされているかどうか、および/またはプロセッサがオーバークロックされているか、またはアンダークロックされているかどうかを決定し得る。いくつかの実施形態では、第2のセキュア監視セッション中に、顧客アプリは、チェックルーチンからのデータを少なくとも毎秒1回取引サーバに報告し、取引サーバは、報告されたデータを、顧客アプリの予想される結果及びそれが実行しているデバイスタイプと比較する。
第1のセキュア監視セッションと同様に、チェックルーチンを実行する処理は、好ましくは2秒の間隔で定期的に実行される。いくつかの実施形態では、顧客アプリは、チェックルーチンからのデータを少なくとも毎秒1回取引サーバに報告し、取引サーバは、報告されたデータを、顧客アプリの予想される結果および、それが実行しているデバイスタイプと比較する。これらのチェックの頻度および期間は、センシティブなデータがおそらく明らかにされ得る前に、改ざん/ハッキングイベントがキャプチャされ得ることを確実にするために、十分に速い必要がある。しかし、それらの頻度は、データ転送コスト、アプリ性能、および顧客デバイス106の負荷によって制限される。好ましくは、顧客アプリは、可能かつ利用可能な場合、顧客デバイス106の信頼できる実行環境内で実行する。
いくつかの実施形態では、第2のセキュア監視セッションは、30秒、45秒、または1分などの所定の持続時間の後に満了する。第2のセキュア監視セッションの持続時間は、構成可能であってもよいが、顧客の時間が顧客デバイス104においてそのPINを入力することを可能にするのに十分であるべきである。持続時間が満了した後、セッションはシャットダウンされ、取引は、セキュリティ目的のために再開される必要がある。
第2のセキュア監視セッションは、上記の第1のセキュア監視セッションと同様の方法で実行される。顧客デバイス106と取引サーバ102との間でセキュア監視セッションを開始する例示的なサブステップを、図6に示す。
サブステップ310aにおいて、顧客アプリは、統計的に一意の乱数(参照のために「CA-RAND」と指定される)を生成するように顧客デバイス106のプロセッサ202を制御する。CA-RANDは、統計的にランダムであると考えられるように、十分な長さであるように指定される。例として、CA-RANDは、32桁の16進値であり得る。
サブステップ310bにおいて、セッションキー(参照のために「CA-SESSION-key」と指定される)が、CA-RANDおよび第2の一意のシード値をキーパラメータとして使用して顧客アプリによって生成される。この第2の一意のシード値は、顧客アプリのバージョンに対応し得る。CA-SESSION-KEYは、CA-RANDおよび第2の一意のシード値に一方向関数を適用することによって生成され得る。
サブステップ310cにおいて、CA-SESSION-KEYの第2のキーチェック値(参照のために「KCV2」と指定される)が、顧客デバイス106において算出される。
ここで、XORは、ビット単位のeXclusive OR関数を表す。この関数は、TRANS-IDおよびTIMESTAMPの両方を含む何らかの既知の(すなわち、取引サーバ102と顧客デバイス106との間で合意された)ロスレス関数でなければならない。この関数の結果は、ハッシュ化され、CA_RANDと同じサイズになり、そのサイズに対して統計的に一意になる。ハッシュは、TRANS-IDおよびTIMESTAMPの一意の組み合わせを可能な限り一意にし、その結果は小さな変化の後でも劇的に変化する。
サブステップ310dにおいて、CA-SESSION-KEYが、取引サーバ102において算出され、KCV2が算出され、次いで、顧客アプリから取得されたKCV2に対して検証される。取引サーバ102で算出されたKCV2が顧客アプリから受信されたKCV2と不一致である場合、取引サーバ102は、TRANS-IDおよびTIMESTAMP1を、置換値TRANS-ID-BAK/TIMESTAMP-BAKに置き換える。KCV2値が依然として不一致である場合、金融取引を再開する必要がある。
サブステップ310eにおいて、ホワイトボックス暗号化テーブル、現在の取引時間を示す第2の取引タイムスタンプ(参照のために「TIMESTAMP2」と指定される)、および統計的に一意のPAN(PAN-RAND)が生成され、取引サーバ102から顧客デバイス106上の顧客アプリに送信される。ホワイトボックス暗号化テーブルは、CA-SESSION-KEYを使用して暗号化されることが好ましい。いくつかの実施形態では、使い捨てAES-256対称キー(S-KSU2)がテーブル内に埋め込まれる。
サブステップ310fにおいて、取引サーバ102がCA-SESSION-KEYを算出するためにTRANS-IDを使用した場合、サーバは、TRANS-ID-BAK=TRANS-IDを設定し、TIMESTAMP-BAK=TIMESTAMP1を設定する。次いで、取引サーバ102において、TRANS-IDは、CA-RANDに置き換えられ、TIMESTAMP1は、TIMESTAMP2に置き換えられる。
サブステップ310gにおいて、顧客アプリは、CA-SESSION-KEYを使用してホワイトボックス暗号化テーブルを復号するための複合アルゴリズムを実行する。現在のホワイトボックス暗号化テーブルは、新しい復号されたテーブルに置き換えられる。
サブステップ310hにおいて、顧客アプリは、TRANS-IDをCA-RANDに置き換え、TIMESTAMP1をTIMESTAMP2に置き換える。
サブステップ310iにおいて、処理は、ステップ310fに戻る。ステップ310f~310hは、第2のセキュア監視セッション中に所定の時間間隔で繰り返される。いくつかの実施形態では、ホワイトボックス暗号化テーブルは、1~5秒の範囲の時間間隔で置き換えられる。一実施形態では、ホワイトボックス暗号化テーブルは、2秒ごとの時間間隔で置き換えられる。暗号化テーブルを置き換えるタイミングは、好ましくはハッキングの試みがS-KSUキーを暴かれ得る時間よりもより短いことが。
いくつかの実施形態では、ホワイトボックス暗号化テーブルは、第2のセキュア監視セッションを終了すると削除される。
ステップ311において、顧客アプリは、顧客の顧客アカウントに関連付けられたPIN番号を入力するために、ディスプレイ212上でユーザインタフェースを顧客に提示するように顧客デバイス106を制御する。これは、図1に視覚的ピンパッドとして概略的に示されている。インタフェースは、顧客のPIN番号を受信するように構成されている。
ステップ312において、顧客のPIN番号を受信した後、顧客アプリは、PIN番号のPINブロックを生成し、ホワイトボックス暗号化PINブロックを変換のために取引サーバ102に送信する。変換されると、それは検証のためにカード/トークン発行者に送信される。PINブロックは、顧客のPIN番号を暗号化した番号またはコードであり、それはPIN番号を安全に送信するために使用される。PINブロックには、さまざまな形式がある。1つのフォーマットでは、PINブロックは、2つの64ビットフィールド、すなわち、プレーンテキストPIN番号フィールドおよびPAN-RANDをXORすることによって構築され、その両方は、16個の4ビットニブル(データの4ビットアグリゲーション)を含む。プレーンテキストPINフィールドは、
・0の値を持つ1ニブル、これはフォーマット0ブロックとして識別される、
・PINの長さNをエンコードする1ニブル、
・各々が1つのPIN桁をエンコードするNニブル、
・各々が「フィル」値15(すなわち11112)を保持する14-Nニブル、
によって定義される。
・0の値を持つ1ニブル、これはフォーマット0ブロックとして識別される、
・PINの長さNをエンコードする1ニブル、
・各々が1つのPIN桁をエンコードするNニブル、
・各々が「フィル」値15(すなわち11112)を保持する14-Nニブル、
によって定義される。
口座番号フィールドは、
・値がゼロの4つのニブル、
・小切手の桁を除いて、一次口座番号(PAN-RAND)の右端12桁を含む12ニブル、
によって定義されてもよい。
・値がゼロの4つのニブル、
・小切手の桁を除いて、一次口座番号(PAN-RAND)の右端12桁を含む12ニブル、
によって定義されてもよい。
ステップ313において、取引サーバは、顧客口座に関連付けられた金融機関から取引の検証または拒否を取得する。この検証処理中に、取引サーバ102は、PINブロックを、S-KSU2下の暗号化から、その取引シーケンスのアクワイアラまたはスキームPIN暗号化キー下の暗号化に変換する。この処理では、PAN-RANDは、販売者デバイス104から取得された実際のPANと置き換えられる。アクワイアラまたはスキームは、暗号化されたPINブロックを、そのPIN暗号化キー下の暗号化から発行者PIN暗号化キーに変換することによって、発行者に転送する。発行者は、PINを有し、入力されたPIN値を検証することができる。金融取引フローには複数のホップがあり得る。その場合、複数の変換が行われる。アクワイアラがカード/トークン発行者である場合、それ以上の変換は行われず、アクワイアラ/発行者は、PINを検証することができる。
最後に、ステップ314において、取引の検証または拒否は、取引を完了するために取引サーバ102から販売者端末104に送信される。検証はまた、ディスプレイ121上の視覚警報および/またはスピーカ214を介した可聴警報によって、顧客デバイス106に送信され得る。
いくつかの実施形態では、取引がPIN入力を必要としない場合であっても、販売者端末104は、顧客がオプションでスキャンして完全な顧客アプリをダウンロードし、取引の電子レシートを取得することができるQRコードを依然として表示することができる。顧客アプリを使用して、顧客の過去の取引を閲覧することができ、取引サーバ102または別のサードパーティデバイスは、顧客にロイヤルティ報酬を提供することができる。顧客はまた、同じクレジット/デビットカードを使用して、将来の取引のアプリを通して通知され得る。
上述のシステムおよび方法は、顧客モバイルデバイスがPINキャプチャデバイスであるセキュア取引が行われることを可能にすることが理解されるだろう。重要なことに、これは、PIN入力デバイスが顧客のカードまたはデジタルウォレットを読み取る販売者端末デバイスから分離されることを可能にする。カード読取デバイスとPIN入力装置とのこの物理的な分離は、取引を実行する際に追加のセキュリティを提供する。いくつかの実施形態では、顧客モバイルデバイスは、モバイルデバイスまたは口座のいかなる事前登録も有さずに、PINを入力するために使用され得る。顧客モバイルデバイスは、POSにおいて、取引のためのPIN入力のためにモバイルデバイスを使用することを許可され得る。これにより、PINを必要とする取引を、販売者においてPIN入力デバイスなしで、または販売者端末においてPINを入力することなく行うことが可能になる。
一般に、本発明の実施形態は、販売者のデバイスの代わりに顧客のPINを自分のデバイス上で安全にキャプチャするために、COTSデバイス上のソフトウェアベースのPIN入力(SPOC)に関連する代替アプローチを提供する。
解釈
本明細書を通して、用語「統計的に一意の乱数」が使用される。統計的一意性は、個々の番号または識別子が集団またはサンプル中の他のすべての番号/識別子と区別され得るときに達成される。定義された信頼度または誤差の範囲内で、各統計的に一意の番号を一意に識別することができる。したがって、統計的に一意の乱数は、乱数発生器によって乱数または擬似乱数方式で生成されて、より大きなサンプル集団内で統計的に一意の数を生成することができる数である。
本明細書を通して、用語「統計的に一意の乱数」が使用される。統計的一意性は、個々の番号または識別子が集団またはサンプル中の他のすべての番号/識別子と区別され得るときに達成される。定義された信頼度または誤差の範囲内で、各統計的に一意の番号を一意に識別することができる。したがって、統計的に一意の乱数は、乱数発生器によって乱数または擬似乱数方式で生成されて、より大きなサンプル集団内で統計的に一意の数を生成することができる数である。
特に明記しない限り、以下の議論から明らかなように、本明細書の議論全体を通して「処理」、「コンピューティング」、「算出」、「決定」、「解析(分析)」などの用語を利用することは、コンピュータもしくはコンピューティングシステム、または同様の電子コンピューティングデバイスの動作および/または処理を指し、これらは、電子などの物理量として表されるデータを、物理量として同様に表される他のデータに操作および/または変換する、ことを理解されたい。
同様に、「コントローラ」、「サーバ」、または「プロセッサ」という用語は、例えばレジスタおよび/またはメモリからの電子データを処理して、その電子データを、例えばレジスタおよび/またはメモリに記憶され得る他の電子データに変換する、デバイスまたはデバイスの一部分を指し得る。「コンピュータ」または「コンピューティングマシン」または「コンピューティングプラットフォーム」は、ローカルにグループ化された、またはクラウドコンピューティング環境などのネットワークにわたって分散された1つ以上のプロセッサを含み得る。
本明細書を通して、「1つの実施形態」、「いくつかの実施形態」または「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたる様々な場所における「一実施形態では」、「いくつかの実施形態では」または「実施形態では」という語句の出現は、必ずしもすべてが同じ実施形態を指すわけではない。さらに、特定の特徴、構造、または特性は1つ以上の実施形態において、本開示から当業者に明らかであるように、任意の適切な方法で組み合わせることができる。
本明細書で使用される場合、共通のオブジェクトを説明するための序数形容詞「第1の」、「第2の」、「第3の」などの使用は、別段の指定がない限り、単に、同様の目的の異なる例が参照されていることを示すが、そのように説明されるオブジェクトは、時間的、空間的、ランク付け、または任意の他の方法のいずれかで、所与のシーケンス内になければならないことを暗示することを意図しない。
以下の特許請求の範囲および本明細書の記載において、comprising(備える)、comprised of(備える)、which comprises(備える)の何れか1つは、続く要素/特徴を少なくとも含むが田を除外しないことを意味するオープン用語である。したがって、「comprising(備える)」という語は、特許請求の範囲で使用される場合、それ以降に列挙される手段または要素またはステップを限定するものとして解釈されるべきではない。例えば、AおよびBを備えるデバイスという表現の範囲は、要素AおよびBのみからなるデバイスに限定されるべきではない。本明細書で使用される、including(含む)、またはwhich includes(含む)、that includes(含む)という用語のいずれか1つはまた、少なくとも、その用語に続く要素/特徴を含むが、他を排除しないことを意味するオープン用語である。したがって、includingはcomprisingと同義であり、comprisingを意味する。
本開示の例示的な実施形態の上記の説明は、本開示を簡素化し、様々な発明の態様のうちの1つ以上の理解を助ける目的で、本開示の様々な特徴が単一の実施形態、図、またはそれらの説明にまとめられることがあることを理解されたい。しかしながら、この開示方法は、請求項が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明的側面は、前述の単一の開示された実施形態のすべての特徴よりも少ない特徴にある。したがって、詳細な説明に続く特許請求の範囲は、この詳細な説明に明示的に組み込まれ、各請求項は本開示の別個の実施形態として独立している。
さらに、本明細書に記載されるいくつかの実施形態は、いくつかの特徴を含むものの他の実施形態に含まれる他の特徴を含まないが、異なる実施形態の特徴の組み合わせは当業者によって理解されるように、本開示の範囲内であり、異なる実施形態を形成することを意味する。例えば、以下の特許請求の範囲において、特許請求される実施形態のいずれも、任意の組合せで使用することができる。
[本明細書で提供される説明では、多数の具体的な詳細が説明される。しかしながら、本開示の実施形態は、これらの具体的な詳細なしに実施され得ることが理解される。他の例では、この説明の理解を不明瞭にしないために、周知の方法、構造、および技法は詳細に示されていない。
同様に、coupled(結合された)という用語は、特許請求の範囲で使用される場合、直接接続のみに限定されるものとして解釈されるべきではないことに留意されたい。用語「coupled(結合された)」および「connected(接続された)」は、それらの派生語とともに使用され得る。これらの用語は、互いに同義語として意図されていないことを理解されたい。したがって、デバイスBに結合されるデバイスAの表現の範囲は、デバイスAの出力がデバイスBの入力に直接的に接続されるデバイスまたはシステムに限定されるべきではない。それは、他のデバイスまたは手段を含む経路であり得る、Aの出力とBの入力との間の経路が存在することを意味する。「coupled(結合された)」は、2つ以上の要素が直接物理的、電気的または光学的に接触していること、または2つ以上の要素が互いに直接接触していないが、依然として互いに協働または相互作用していることを意味し得る。
本明細書に記載される実施形態は、本発明の任意の適応または変形を包含することが意図される。本発明は特定の例示的な実施形態に関して記載され、説明されてきたが、当業者は、本発明の範囲内にある追加の実施形態が容易に想定され得ることを理解するのであろう。
Claims (36)
- 販売者と顧客との間でセキュア取引を実行する方法であって、
販売者端末と取引サーバとの間の第1のセキュア監視セッションを開始することと、
前記第1のセキュア監視セッション中に、前記販売者端末において顧客一次口座番号(PAN)をキャプチャすることであって、前記顧客一次口座番号は、金融機関における顧客口座に関連付けられる、ことと、
前記販売者端末から前記取引サーバへの取引の要求を送信することであって、前記要求は、前記顧客PANおよび取引金額を含む、ことと、
前記取引サーバにおいて、前記取引に固有の取引識別子(TRANS-ID)を生成し、TRANS-IDを前記販売者端末に送信することと、
TRANS-IDを視覚的表現に符号化し、ディスプレイに前記視覚的表現を提示することと、
顧客デバイス上のカメラによる前記視覚的表現のキャプチャを可能にすることと、
前記顧客デバイス上での前記視覚的表現の前記キャプチャに応答して、前記顧客デバイス上で顧客アプリを起動することであって、前記顧客アプリは、
前記顧客デバイスと前記取引サーバとの間の第2のセキュア監視セッションを開始し、
前記顧客デバイスを制御して、前記顧客PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記サーバからダウンロードされたランダムな一次口座番号を使用して前記PIN番号のPINブロックを生成し、
検証のために前記PINブロックを前記取引サーバに送信する
ように構成されている、ことと、
前記取引サーバにおいて、前記顧客口座に関連付けられた前記金融機関からの前記取引の検証または拒否を取得することと、
前記取引を完了するために前記販売者端末に前記取引の前記検証または拒否を送信することと、
を含む方法。 - 前記販売者端末は、一時的な販売者識別子として第1の統計的に一意の乱数(MA-RAND1)を使用して、前記販売者端末上に記憶された販売者アプリを介して前記取引サーバと通信することを許可される、請求項1に記載の方法。
- 前記第1のセキュア監視セッションを開始するステップは、
i)販売者アプリにおいて、第2の統計的に一意の乱数(MA-RAND2)を作成することと、
ii)キーパラメータとしてMA-RAND2及び前記販売者アプリバージョンの一意のシード値を使用してセッションキー(MA-SESSION-KEY)を生成することと、
iii)MA-SESSION-KEYのキーチェック値(KCV)を算出することと、
iv)前記販売者アプリから前記取引サーバへMA-RAND1 XOR MA-RAND2およびKCVを送信することであって、XORはビット単位の排他的OR関数を表す、ことと、
v)前記取引サーバにおいてMA-SESSION-KEYを算出し、前記KCVを前記販売者アプリから受信された前記KCVに対して検証することと、
vi)ホワイトボックス暗号化テーブルを前記取引サーバから前記販売者アプリに送信することであって、前記ホワイトボックス暗号化テーブルは、MA-SESSION-KEYを使用して暗号化される、ことと、
vii)MA-SESSION-KEYを使用して前記ホワイトボックス暗号化テーブルを前記販売者アプリで復号し、現在のホワイトボックス暗号化テーブルを新しい復号されたテーブルで置き換えることと、
viii)MA-RAND1をMA-RAND2で置き換えることと、
ix)ステップvi)~viii)を、前記第1のセキュア監視セッション中に所定の時間間隔で繰り返すことと、
を含む、請求項2に記載の方法。 - 前記MA-SESSION-KEYは、MA-RAND2および前記一意のシード値の両方に一方向関数を適用することによって生成される、請求項3に記載の方法。
- 前記取引サーバにおいて算出されたKCVが前記販売者アプリから受信されたKCVと不一致である場合、前記取引サーバは、MA-RAND1を代替の統計的に一意の乱数(MA-RAND1-BAK)に置き換える、請求項3または請求項4に記載の方法。
- 前記取引サーバにおいて算出された前記KCVが、前記販売者アプリから受信された前記KCVと不一致である場合、エラー条件が発生する、請求項5に記載の方法。
- 所定数のエラー条件の後、前記販売者アプリは、前記サーバが代替の第1の統計的乱数MA-RAND1を生成することを要求する、請求項6に記載の方法。
- 前記ホワイトボックス暗号化テーブルは、埋め込まれた使い捨てキーを含む、請求項3乃至7の何れか1項に記載の方法。
- 前記使い捨てキーは、AES-256対称使い捨てキーである、請求項8に記載の方法。
- 前記ホワイトボックス暗号化テーブルは、1~5秒の範囲の時間間隔で置き換えられる、請求項3乃至9の何れか1項に記載の方法。
- 前記ホワイトボックス暗号化テーブルは、2秒毎の時間間隔で置き換えられる、請求項10に記載の方法。
- 前記第1のセキュア監視セッション中に、前記販売者アプリは、前記販売者端末の前記オペレーティングシステム、メモリ、および/または記憶されたコードおよびファイルの完全性を検査することによって、改竄の兆候をチェックするためのチェックルーチンを実行する、請求項2乃至11のいずれか一項に記載の方法。
- 前記販売者アプリは、前記販売者端末の信頼された実行環境内で実行する、請求項12に記載の方法。
- 前記第1のセキュア監視セッション中に、前記販売者アプリは、前記チェックルーチンからのデータを少なくとも毎秒1回、前記取引サーバに報告し、前記取引サーバは、前記報告されたデータを、前記販売者アプリの予想される結果及びそれが実行している前記デバイスタイプと比較する、請求項12または請求項13に記載の方法。
- 前記視覚的表現は、QRコードを含む、請求項1乃至14の何れか1項に記載の方法。
- 前記視覚的表現は、バーコードを含む、請求項1乃至14の何れか1項に記載の方法。
- 前記販売者端末は、パーソナルモバイルデバイスである、請求項1乃至16の何れか1項に記載の方法。
- 前記パーソナルモバイルデバイスは、スマートフォンまたはタブレットコンピュータである、請求項17に記載の方法。
- 前記顧客デバイスと前記取引サーバとの間で第2のセキュア監視セッションを開始するステップは、
a)顧客アプリにおいて統計的に一意の乱数(CA-RAND)を作成することと、
b)キーパラメータとしてCA-RAND及び前記顧客アプリバージョンの第2の一意のシード値を使用してセッションキー(CA-SESSION-KEY)を生成することと、
c)前記顧客アプリにおいてCA-SESSION-KEYの第2のキーチェック値(KCV2)を算出し、KCV2と、TRANS-ID及びTIMESTAMP1 XOR CA-RANDを組み合わせた関数結果のハッシュとを、取引サーバに送信することと、
d)前記取引サーバにおいて前記CA-SESSION-KEYを算出し、KCV2を、前記顧客アプリから取得されたKCV2に対して検証することと、
e)ホワイトボックス暗号化テーブル、第2の取引タイムスタンプ(TIMESTAMP2)、およびランダムPANを前記取引サーバから前記顧客アプリへ送信することであって、前記ホワイトボックス暗号化テーブルは、前記CA-SESSION-KEYを使用して暗号化される、ことと、
f)前記取引サーバにおいてTRANS-IDをCA-RANDに、TIMESTAMP1をTIMESTAMP2に置き換えることと、
g)前記顧客アプリにおいてCA-SESSION-KEYを使用して前記ホワイトボックス暗号化テーブルを復号し、現在のホワイトボックス暗号化テーブルを新しい復号テーブルに置き換えることと、
h)前記顧客アプリにおいてTRANS-IDをCA-RANDに、TIMESTAMP1をTIMESTAMP2に置き換えることと、
i)ステップf)~h)を、前記第2のセキュア監視セッション中に所定の時間間隔で繰り返すことと、
を含む、請求項2乃至18の何れか1項に記載の方法。 - 前記CA-SESSION-KEYは、TRANS-ID及びTIMESTAMP1 XOR CA-RANDを組み合わせた関数結果のハッシュからCA-RANDを抽出することによって、前記取引サーバにおいて算出される、請求項19に記載の方法。
- 前記CA-SESSION-KEYは、CA-RANDおよび前記第2の一意のシード値に一方向関数を適用することによって生成される、請求項19または20に記載の方法。
- 前記取引サーバにおいて算出されたKCV2が前記顧客アプリから受信された前記KCV2と不一致である場合、前記取引サーバは、TRANS-IDおよびTIMESTAMP1を置換値で置き換える、請求項19乃至21の何れか1項に記載の方法。
- 前記ホワイトボックス暗号化テーブルは、1~5秒の範囲の時間間隔で置き換えられる、請求項19乃至22の何れか1項に記載の方法。
- 前記ホワイトボックス暗号化テーブルは、2秒毎の時間間隔で置き換えられる、請求項23に記載の方法。
- 前記ホワイトボックス暗号化テーブルは、前記第1および/または第2のセキュア監視セッションが終了すると削除される、請求項19に記載の方法。
- 前記第2のセキュア監視セッション中に、前記顧客アプリは、前記顧客デバイスの前記オペレーティングシステム、メモリ、および/または記憶されたコードおよびファイルの完全性を検査することによって、改竄の兆候をチェックするためのチェックルーチンを実行する、請求項19乃至25の何れか1項に記載の方法。
- 前記顧客アプリは、前記顧客デバイスの信頼された実行環境内で実行する、請求項26に記載の方法。
- 前記第2のセキュア監視セッション中に、前記顧客アプリは、前記チェックルーチンからのデータを少なくとも毎秒1回、前記取引サーバに報告し、前記取引サーバは、前記報告されたデータを、前記顧客アプリの予想される結果及びそれが実行している前記デバイスタイプと比較する、請求項26または27に記載の方法。
- 販売者と顧客との間でセキュア取引を実行する方法であって、
販売者端末において顧客一次口座番号(PAN)および取引金額をキャプチャすることによって前記顧客と前記販売者との間の取引を開始することと、
前記PANおよび取引金額に基づいて前記取引に固有の取引識別子(TRANS-ID)を生成することと、
TRANS-IDを視覚的表現に符号化し、前記視覚的表現をディスプレイに提示することと、
顧客デバイス上のカメラによる前記視覚的表現のキャプチャを可能にすることと、
前記顧客デバイス上での前記視覚的表現の前記キャプチャに応答して、前記顧客デバイス上で顧客アプリを起動することであって、前記顧客アプリは、
前記顧客デバイスを制御して、前記顧客の前記PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記PIN番号のPINブロックを生成し、検証のために前記PINブロックを取引サーバに送信する、
ように構成される、ことと、
前記顧客口座に関連付けられた前記金融機関から前記取引の検証又は拒否を取得することと、
前記取引を完了するために前記販売者端末に前記取引の前記検証または拒否を送信することと、
を含む方法。 - 請求項1乃至29の何れか1項に記載の方法を実行するように構成されたコンピュータシステム。
- コンピュータ上で実行されると、前記コンピュータが、請求項1乃至29の何れか1項に記載の方法を実行するように構成される命令を記憶する非一時的キャリア媒体。
- 顧客モバイルデバイス上で実行可能であり、前記顧客モバイルデバイスと販売者端末との間でセキュア取引を行う方法を容易にするように構成されたソフトウェアアプリケーションであって、前記方法は、
前記販売者端末によって受信された要求に応答して、前記顧客モバイルデバイスのプロセッサによって、前記顧客モバイルデバイスのカメラによってキャプチャされたデジタル表現を処理することであって、前記画像は、前記取引に固有の符号化された取引識別子(TRANS-ID)を含む、ことと、
前記顧客モバイルデバイスと取引サーバとの間でセキュア監視セッションを開始することと、
前記顧客の顧客一次口座番号(PAN)に関連付けられたPIN番号を入力するためのインタフェースを顧客に提示するために前記顧客モバイルデバイス上のユーザインタフェースを制御することと、
前記インタフェースにおいて前記PIN番号を受信すると、前記PIN番号のためのPINブロックを生成し、前記顧客口座に関連付けられた金融機関から前記取引の検証または拒否を取得する検証のために、前記PINブロックを前記取引サーバに送信することと、
を含む、ソフトウェアアプリケーション。 - 前記ソフトウェアアプリケーションは、前記顧客モバイルデバイスにおいて前記取引の検証または拒否を受信し、前記顧客モバイルデバイスのディスプレイ上に前記検証または拒否を前記顧客に表示するようにさらに構成される、請求項32に記載のソフトウェアアプリケーション。
- 顧客モバイルデバイスと販売者端末との間でセキュア取引を実行する方法を容易にするように構成されたサーバであって、前記方法は、
前記販売者端末との第1のセキュア監視セッションを実行することであって、前記第1のセキュア監視セッション中に、顧客一次口座番号(PAN)が、前記販売者端末においてキャプチャされ、前記顧客PANは、金融機関における顧客口座に関連付けられる、ことと、
前記販売者端末から取引の要求を受信することであって、前記要求は、前記顧客PANおよび取引金額を含む、ことと、
前記取引に固有の取引識別子(TRANS-ID)を生成し、TRANS-IDを前記販売者端末に送信することであって、TRANS-IDは視覚的表現に符号化され、前記顧客デバイス上のカメラによるキャプチャのためにディスプレイ上に提示される、ことと、
前記顧客デバイスとの第2のセキュア監視セッションを実行することであって、前記第2のセキュア監視セッション中、前記顧客デバイスは、
前記顧客PANに関連付けられたPIN番号を入力するためのユーザインタフェースを前記顧客に提示し、
前記サーバからダウンロードされたランダムな一次口座番号を使用して前記PIN番号のPINブロックを生成し、検証のために前記PINブロックを前記サーバに送信する
ように制御される、ことと、
前記PINブロックを受信し、前記顧客口座に関連付けられた金融機関から前記取引の検証または拒否を取得することと、
前記取引を完了するために前記取引の前記検証または拒否を前記販売者端末に送信することと、
を含むサーバ。 - 顧客モバイルデバイスと販売者端末との間のセキュア取引を容易にするように構成されたサーバであって、前記販売者端末は、顧客一次口座番号(PAN)をキャプチャするように制御され、前記顧客モバイルデバイスは、前記取引を完了するために前記顧客PANに関連付けられたPIN番号の入力を可能にするように制御される、サーバ。
- 前記顧客モバイルデバイスは、販売時点で前記取引について許可される、請求項35に記載のサーバ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2021901044 | 2021-04-09 | ||
AU2021901044A AU2021901044A0 (en) | 2021-04-09 | A system and method for secure transactions | |
PCT/AU2022/050306 WO2022213150A1 (en) | 2021-04-09 | 2022-04-06 | A system and method for secure transactions |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024516925A true JP2024516925A (ja) | 2024-04-18 |
Family
ID=83544902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023552248A Pending JP2024516925A (ja) | 2021-04-09 | 2022-04-06 | セキュア取引のためのシステムおよび方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20240152914A1 (ja) |
EP (1) | EP4298579A1 (ja) |
JP (1) | JP2024516925A (ja) |
KR (1) | KR20230171427A (ja) |
CN (1) | CN117043802A (ja) |
AU (1) | AU2022252857A1 (ja) |
BR (1) | BR112023020339A2 (ja) |
CA (1) | CA3208679A1 (ja) |
WO (1) | WO2022213150A1 (ja) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769305B2 (en) * | 2011-03-21 | 2014-07-01 | Moncana Corporation | Secure execution of unsecured apps on a device |
US9721243B2 (en) * | 2011-05-11 | 2017-08-01 | Riavera Corp. | Mobile payment system using subaccounts of account holder |
DK3058498T3 (da) * | 2013-10-14 | 2020-07-13 | Cryptomathic Ltd | Crm-sikkerhedskerne |
KR102293822B1 (ko) * | 2013-12-19 | 2021-08-26 | 비자 인터네셔널 서비스 어소시에이션 | 클라우드-기반 트랜잭션 방법 및 시스템 |
EP3172886A1 (en) * | 2014-07-23 | 2017-05-31 | Diebold Self-Service Systems Division of Diebold, Inc. | Encrypting pin receiver |
US10963851B2 (en) * | 2015-10-09 | 2021-03-30 | Diebold Nixdorf, Incorporated | Cash access with automatic transaction machine with mobile phone |
US10546119B2 (en) * | 2016-11-14 | 2020-01-28 | Mastercard International Incorporated | Methods for securely storing sensitive data on mobile device |
EP3588414A1 (en) * | 2018-06-28 | 2020-01-01 | Mastercard Asia/Pacific Pte. Ltd. | Aggregated transaction processing |
EP3696698A1 (en) * | 2019-02-18 | 2020-08-19 | Verimatrix | Method of protecting a software program against tampering |
CA3131260A1 (en) * | 2019-02-28 | 2020-09-03 | National Payments Corporation Of India | An electronic payment system and method thereof |
-
2022
- 2022-04-06 WO PCT/AU2022/050306 patent/WO2022213150A1/en active Application Filing
- 2022-04-06 CN CN202280023175.7A patent/CN117043802A/zh active Pending
- 2022-04-06 JP JP2023552248A patent/JP2024516925A/ja active Pending
- 2022-04-06 KR KR1020237032441A patent/KR20230171427A/ko unknown
- 2022-04-06 BR BR112023020339A patent/BR112023020339A2/pt unknown
- 2022-04-06 CA CA3208679A patent/CA3208679A1/en active Pending
- 2022-04-06 US US18/281,895 patent/US20240152914A1/en active Pending
- 2022-04-06 EP EP22783694.7A patent/EP4298579A1/en active Pending
- 2022-04-06 AU AU2022252857A patent/AU2022252857A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
BR112023020339A2 (pt) | 2023-11-21 |
EP4298579A1 (en) | 2024-01-03 |
CN117043802A (zh) | 2023-11-10 |
US20240152914A1 (en) | 2024-05-09 |
AU2022252857A1 (en) | 2023-09-21 |
CA3208679A1 (en) | 2022-10-13 |
WO2022213150A1 (en) | 2022-10-13 |
KR20230171427A (ko) | 2023-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112602300B (zh) | 用于非接触式卡的密码认证的系统和方法 | |
US11544707B2 (en) | Systems and methods for cryptographic authentication of contactless cards | |
CN107077670B (zh) | 传输和处理交易消息的方法和装置、计算机可读存储介质 | |
US11341480B2 (en) | Systems and methods for phone-based card activation | |
CN111742314B (zh) | 便携式装置上的生物计量传感器 | |
CA3115064A1 (en) | Systems and methods for cryptographic authentication of contactless cards | |
US11843700B2 (en) | Systems and methods for email-based card activation | |
US11658997B2 (en) | Systems and methods for signaling an attack on contactless cards | |
Jayasinghe et al. | Extending emv tokenised payments to offline-environments | |
US20240152914A1 (en) | A system and method for secure transactions | |
US12008558B2 (en) | Systems and methods for cryptographic authentication of contactless cards | |
US20240187243A1 (en) | Systems and methods for email-based card activation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20231013 |