JP2022512297A - Point-of-sale (POS) system and method with dynamic kernel selection - Google Patents

Point-of-sale (POS) system and method with dynamic kernel selection Download PDF

Info

Publication number
JP2022512297A
JP2022512297A JP2021528447A JP2021528447A JP2022512297A JP 2022512297 A JP2022512297 A JP 2022512297A JP 2021528447 A JP2021528447 A JP 2021528447A JP 2021528447 A JP2021528447 A JP 2021528447A JP 2022512297 A JP2022512297 A JP 2022512297A
Authority
JP
Japan
Prior art keywords
payment
kernel
reader
information
payment reader
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
Application number
JP2021528447A
Other languages
Japanese (ja)
Inventor
ミュラ キャット,
ゴーカン アイデニズ,
Original Assignee
スクエア, インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US16/231,030 external-priority patent/US11049095B2/en
Priority claimed from US16/230,823 external-priority patent/US10762196B2/en
Priority claimed from US16/230,940 external-priority patent/US10990969B2/en
Application filed by スクエア, インコーポレイテッド filed Critical スクエア, インコーポレイテッド
Publication of JP2022512297A publication Critical patent/JP2022512297A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0873Details of the card reader
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0009Details of the software in the checkout register, electronic cash register [ECR] or point of sale terminal [POS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Stored Programmes (AREA)

Abstract

支払リーダは、特定の支払処理機能を実行することができるが、特定のより処理集約的な支払処理機能を実行することができない1つ以上のカーネルを有することができる。前記支払リーダは、支払リーダの外部のモバイルデバイスおよび/またはクラウドベースのデバイス上に位置するアプリケーションレイヤカーネルに処理タスクを選択的に割り当てるように設計されてもよく、前記モバイルデバイスは、前記支払リーダよりも多くのまたは異なる処理リソースを有する。前記選択的な割り当ては、前記支払リーダが取引を処理することができないという判定、前記支払リーダが前記取引を処理するのに十分なバッテリ強度を有していないという判定、または前記支払リーダで改ざんの試みがあったという判定などの、前記リーダの条件の測定またはイベントの発生に基づいて、動的に行われてもよい。前記支払リーダはまた、物理レイヤモジュールを有し、このモジュールは、前記支払リーダ上でその処理を維持する。これらの手段によって、支払取引に関連する処理は、前記支払リーダに対してローカルおよびリモートの両方のリソースを使用して、ハイブリッドシステム上で行われる。【選択図】図3AA payment reader can have one or more kernels that can perform certain payment processing functions, but cannot perform certain more processing intensive payment processing functions. The payment reader may be designed to selectively assign processing tasks to a mobile device external to the payment reader and / or an application layer kernel located on a cloud-based device, wherein the mobile device is the payment reader. Has more or different processing resources. The selective allocation determines that the payment reader is unable to process the transaction, determines that the payment reader does not have sufficient battery strength to process the transaction, or tampers with the payment reader. It may be done dynamically based on the measurement of the condition of the reader or the occurrence of an event, such as the determination that there was an attempt. The payment reader also has a physical layer module, which maintains its processing on the payment reader. By these means, the processing related to the payment transaction is performed on the hybrid system using both local and remote resources for the payment reader. [Selection diagram] FIG. 3A

Description

関連出願の相互参照
本出願は、「動的カーネル選択による販売時点情報管理(POS)システム及び方法」と題する2018年12月21日に出願された米国出願No.16/230,823の優先権を主張し、それは本明細書に参照として組み込まれる。本出願はまた、「動的カーネル選択による販売時点情報管理(POS)システム及び方法」と題する2018年12月21日に出願された米国出願No.16/230,940の優先権を主張し、それは本明細書に参照として組み込まれる。本出願はまた、「動的カーネル選択による販売時点情報管理(POS)システム及び方法」と題する2018年12月21日に出願された米国出願No.16/231,030の優先権を主張し、それは本明細書に参照として組み込まれる。
Cross-reference of related applications This application is the US application No. 1 filed on December 21, 2018, entitled "Point of Sale (POS) Systems and Methods by Dynamic Kernel Selection". Claim the priority of 16 / 230,823, which is incorporated herein by reference. This application also applies to US Application No., filed December 21, 2018, entitled "Point of Sale (POS) Systems and Methods with Dynamic Kernel Selection". Claim the priority of 16 / 230,940, which is incorporated herein by reference. This application also applies to US Application No., filed December 21, 2018, entitled "Point of Sale (POS) Systems and Methods with Dynamic Kernel Selection". Claim the priority of 16 / 231, 030, which is incorporated herein by reference.

消費者は例えば、支払リーダの磁気リーダに通される磁気ストリップを有する支払カード、支払リーダの対応するEMVスロットに挿入されるEUROPAY/MasterCard/VISA(EMV)チップを有する支払デバイス、および支払リーダでタップされ、セキュア無線接続を介して支払情報を送信するスマートフォンまたはEMVカードなどの近距離通信(NFC)対応デバイスなど、様々な方法で電子支払い(電子決済)を取引するために、商人の支払リーダと対話することができる。支払リーダは支払デバイスから支払情報ならびに支払取引に関する情報を受信することができ、そのような支払情報を、取引の処理および/または許可のために支払システムに通信することができる。そのような取引を容易にすることができる支払リーダは、独立型のモバイルデバイスを含む様々な形態をとることができる。 Consumers may use, for example, a payment card with a magnetic strip that is passed through a payment reader's magnetic reader, a payment device with an EUROPAY / MasterCard / VISA (EMV) chip inserted into the corresponding EMV slot of the payment reader, and a payment reader. A merchant's payment reader to trade electronic payments (electronic payments) in a variety of ways, including short-range communication (NFC) -enabled devices such as smartphones or EMV cards that are tapped and send payment information over a secure wireless connection. Can interact with. Payment readers can receive payment information as well as information about payment transactions from payment devices, and such payment information can be communicated to the payment system for processing and / or authorization of transactions. Payment readers capable of facilitating such transactions can take various forms, including stand-alone mobile devices.

モバイル支払リーダは、数年前から市場に出回っている。しかしながら、支払処理に関連する機能が多様化し複雑化することにつれて、すなわち、消費者の支払いオプションが増大することにつれて、支払リーダの処理要件は、既に市場にある既存のハードウェアの能力を上回る可能性がある。場合によっては、商人によって使用されている早期(またはより早期)世代の支払リーダのハードウェアがより近代的な支払取引の処理要求を満たすことができないことがある。他の場合には、商人によって使用されている支払リーダが、十分な電力リソースを欠いているか、または必要なソフトウェアで更新されていないため、現代の支払取引を処理することができないことがある。さらに他の場合には、商人によって使用されている支払リーダが物理的に支払取引を処理することができるが、環境条件またはセキュリティ条件のために、特定の時間に、または消費者によって要求された特定の状況下で、そうすることができないか、またはそうすることを望まないことがある。 Mobile payment readers have been on the market for several years now. However, as the functions associated with payment processing become more diverse and complex, i.e., as consumers' payment options increase, the processing requirements of payment readers can exceed the capabilities of existing hardware already on the market. There is sex. In some cases, the hardware of early (or earlier) generation payment readers used by merchants may not be able to meet the processing requirements of more modern payment transactions. In other cases, the payment reader used by the merchant may not be able to process modern payment transactions because it lacks sufficient power resources or has not been updated with the required software. In yet other cases, the payment reader used by the merchant can physically process the payment transaction, but at a particular time or by the consumer due to environmental or security conditions. Under certain circumstances, you may not be able to or do not want to do so.

したがって、一般に、支払リーダ上の処理リソースおよび/または電力リソースをより最適に利用し、陳腐化した、効率の低い、または望ましくないソフトウェアバージョンによる処理を防止し、そうでなければ支払処理中のデータセキュリティを向上させる解決策が望まれる。 Therefore, in general, it makes better use of processing and / or power resources on the payment reader to prevent processing by obsolete, inefficient, or unwanted software versions, otherwise data in the process of payment. A solution that improves security is desired.

本開示の上記および他の特徴、その性質および様々な利点は、添付の図面と併せて以下の詳細な説明を考慮することにより、より明らかになるのであろう。 The above and other features of the present disclosure, their properties and various advantages will become more apparent by considering the following detailed description in conjunction with the accompanying drawings.

図1は、本開示のいくつかの実施形態による支払システムのブロック図を示す。FIG. 1 shows a block diagram of a payment system according to some embodiments of the present disclosure.

, 図2Aおよび図2Bは、本開示のいくつかの実施形態による支払リーダのブロック図を示す。2A and 2B show block diagrams of payment readers according to some embodiments of the present disclosure.

, , , 図3A、図3B、図3C、および図3Dは、本開示のいくつかの実施形態による様々な支払サービスシステムのブロック図を示す。3A, 3B, 3C, and 3D show block diagrams of various payment service systems according to some embodiments of the present disclosure.

図4は、本開示のいくつかの実施形態による支払処理のための例示的なステップを示すフローチャートを示す。FIG. 4 shows a flow chart illustrating exemplary steps for payment processing according to some embodiments of the present disclosure.

, 図5Aおよび図5Bは、本開示のいくつかの実施形態による支払サービスシステムのブロック図を示す。5A and 5B show a block diagram of a payment service system according to some embodiments of the present disclosure.

支払リーダを使用して、支払インターフェースから支払情報を取得し、取得した支払情報を暗号化し、および/または支払サーバと情報を交換するための支払処理プロトコルに従って支払処理を実行することによって、支払情報を処理することができる。支払リーダは支払処理のための専用カーネルを含む1つ以上のプロセッサを有することができ、支払リーダのそれぞれの抽象化レイヤに関する様々な機能を提供する。例えば、第1の物理レイヤの機能に関連するモジュールは、NFCインターフェースなどの支払カードから情報を受信することができるデバイスとの対話を制御することができる。第2のアプリケーションレイヤの機能に関連するカーネルはとりわけ、例えば、支払取引の処理、端末の安全な支払エンクレーブ内の暗号化、および/または支払情報の承認のための支払サーバへの送信など、他のタスクに対処することができる。一般に、物理レイヤ(物理層)は本明細書では「第1のレイヤ」または「L1」と呼ばれるが、アプリケーションレイヤ(アプリケーション層)は一般に、OSIモデルの文脈において、「レイヤ7」または「L7」と呼ばれてもよく、アプリケーションレイヤ構成要素は本明細書では「L1」という用語との比較を容易にするために、「第2のレイヤ」または「L2」構成要素とも呼ばれてもよく、この点に関して、様々な実施形態ではL1およびL2が物理レイヤおよびアプリケーションレイヤとは異なるOSIレイヤを指し得、本明細書で説明されるシステムおよび方法の概念はそれらに同様に適用され得ることが理解されるであろう。 Payment information by using a payment reader to retrieve payment information from the payment interface, encrypt the obtained payment information, and / or perform payment processing according to the payment processing protocol for exchanging information with the payment server. Can be processed. A payment reader can have one or more processors, including a dedicated kernel for payment processing, and provides various functions for each abstraction layer of the payment reader. For example, modules related to the functionality of the first physical layer can control interaction with devices that can receive information from payment cards such as NFC interfaces. Kernels related to the functionality of the second application layer are, among other things, such as processing payment transactions, encryption in the terminal's secure payment enclave, and / or sending payment information to a payment server for approval. Can deal with the task of. Generally, the physical layer (physical layer) is referred to herein as the "first layer" or "L1", while the application layer (application layer) is generally referred to as "layer 7" or "L7" in the context of the OSI model. The application layer component may also be referred to herein as a "second layer" or "L2" component for ease of comparison with the term "L1". In this regard, it is understood that in various embodiments L1 and L2 may refer to OSI layers that are different from the physical and application layers, and the concepts of systems and methods described herein may apply to them as well. Will be done.

支払リーダは、異なる処理能力を提供することができる1つ以上の処理ユニットを含むことができる。例えば、支払リーダの古いモデルは第1の限定されたハードウェアリソースの設定に依存する第1世代のカーネルと連動するように設計されているかもしれないが、支払リーダの新しいモデルは第1世代のカーネルのものを超える一連の機能を提供する第2世代のカーネルで設計されているかもしれず、その結果、第1世代よりも多くのメモリとハードウェアリソースを必要とする。参照を容易にするために、第1の限定された処理機能設定を提供するカーネルは本明細書では「Generation 1(世代1)」または「GEN 1」カーネルと呼ばれ、第2のよりロバストな処理機能設定を提供するカーネルは本明細書では「Generation 2(世代2)」または「GEN 2」カーネルと呼ばれる。 The payment reader can include one or more processing units that can provide different processing powers. For example, older models of pay readers may be designed to work with first generation kernels that rely on the configuration of first limited hardware resources, while newer models of pay readers are first generation. It may be designed with a second generation kernel that offers a set of features that go beyond that of the first generation kernel, resulting in more memory and hardware resources than the first generation. For ease of reference, the kernel that provides the first limited processing function setting is referred to herein as the "Generation 1" or "GEN 1" kernel and is the second more robust. The kernel that provides the processing function settings is referred to herein as a "Generation 2" or "GEN 2" kernel.

一実施形態では、商人がGEN 2プロセッサに特有の機能(すなわち、「GEN 2機能」)を実行すること、または情報を処理することができないGEN 1カーネルを有する支払リーダを所有していてもよい。好ましい実施形態では、支払リーダは、当該支払リーダがGEN 2機能を実行するのに必要なハードウェアまたはソフトウェアリソースを有していないことを認識するカーネルコントローラ(「カーネルディレクタ」とも呼ばれる)を含む。その認識に応答して、カーネルディレクタは代わりに支払リーダを制御して、その機能のパフォーマンスを、モバイルデバイス(携帯電話やタブレットなど)や、必要なGEN 2カーネルとリソースを持つリモートサーバなどの外部デバイスに割り当てる。好ましい実施形態では、カーネルコントローラはプロセッサ内に配置することができるが、代わりに、支払リーダ内の別個の回路として(またはハードウェアとソフトウェアの任意の組合せとして)実装することもできる。さらに別の実施形態では、カーネルコントローラが支払リーダ上の機能を制御するために、別個のデバイス上に実装されてもよい。 In one embodiment, the merchant may have a payment reader with a GEN 1 kernel that is unable to perform functions specific to the GEN 2 processor (ie, "GEN 2 function") or process information. .. In a preferred embodiment, the payment reader comprises a kernel controller (also referred to as a "kernel director") that recognizes that the payment reader does not have the necessary hardware or software resources to perform the GEN 2 function. In response to that recognition, the kernel director instead controls the payment reader to control the performance of its functionality externally, such as on mobile devices (such as mobile phones and tablets) and remote servers with the required GEN 2 kernel and resources. Assign to device. In a preferred embodiment, the kernel controller can be located within the processor, but can instead be implemented as a separate circuit within the payment reader (or as any combination of hardware and software). In yet another embodiment, the kernel controller may be implemented on a separate device to control functionality on the payment reader.

別の実施形態では、支払リーダはGEN 2カーネルを有することができるが、それにもかかわらず、支払リーダは例えば、リーダにおける電力を節約する必要性のために、そうでなければリソースが制限されるので、外部デバイスのカーネルにGEN 2機能の処理を指示することを決定することができる。別の代替実施形態では、支払リーダはGEN 2カーネルを有することができるが、例えば、特定のGEN 2機能がより効率的に、または好ましくは異なるバージョンのソフトウェア上で実行される場合に、リーダ上のGEN 2カーネルとは異なるバージョンの外部デバイスのGEN 2カーネルにGEN 2機能の処理を指示することができる。さらに別の実施形態では、支払リーダはGEN 2カーネルを有することができるが、支払リーダがリーダに対するセキュリティ脅威(例えば、改ざんの試み)を認識しているので、GEN 2機能の処理を外部デバイスのカーネルに指示することができる。参照を容易にするために、(処理を行うデバイスの位置および/またはデバイスが支払リーダに物理的に接続されているかどうかにかかわらず)支払リーダにとってローカルでないカーネルによる処理を、本明細書では「クラウド内での」処理と呼ぶことができる。 In another embodiment, the payment reader can have a GEN 2 kernel, but nevertheless, the payment reader is otherwise limited in resources due to the need to save power in the reader, for example. Therefore, it can be decided to instruct the kernel of the external device to process the GEN 2 function. In another alternative embodiment, the payment reader can have a GEN 2 kernel, but on the reader, for example, if certain GEN 2 functions are performed more efficiently or preferably on different versions of the software. It is possible to instruct the GEN 2 kernel of an external device of a different version from the GEN 2 kernel to process the GEN 2 function. In yet another embodiment, the payment reader can have a GEN 2 kernel, but since the payment reader is aware of a security threat to the reader (eg, an attempt to tamper with it), the processing of the GEN 2 function can be handled by an external device. You can tell the kernel. For ease of reference, processing by the kernel that is not local to the payment reader (regardless of the location of the device performing the processing and / or whether the device is physically connected to the payment reader) is referred to herein. It can be called "in-cloud" processing.

別の実施形態では、GEN 2機能の処理を外部デバイスにオフロードするのではなく、その代わりに、処理は支払リーダまたは埋め込みカードリーダ(ECR)として動作するデバイスの別個のプロセッサによって管理される分離されたセキュリティ保護されたエリア(「信頼ゾーン(トラストゾーン)」など)で実行される。 In another embodiment, instead of offloading the processing of the GEN 2 function to an external device, the processing is managed by a separate processor of the device acting as a payment reader or embedded card reader (ECR). It runs in a secure area (such as a "trust zone").

別の実施形態では、カーネルは本質的にモジュラーであってもよく、アプリケーションレイヤにおける異なるGEN 1および/またはGEN 2機能は、カーネルの異なる論理「サブモジュール」に分離されてもよい。この実施形態では、他の制約の中でも、支払リーダのハードウェアリソースに基づいて、異なるカーネル機能をそれぞれ異なる装置で実行することができる。 In another embodiment, the kernel may be modular in nature and different GEN 1 and / or GEN 2 functions at the application layer may be separated into different logic "submodules" of the kernel. In this embodiment, among other constraints, different kernel functions can be performed on different devices based on the hardware resources of the payment reader.

図1は、本開示の実施形態による支払システム1の例示的なブロック図を示す。図示のように、支払システム1は、支払デバイス10、支払リーダ20、ネットワーク30、モバイルデバイス(携帯電話またはiPadなど)または代替コンピューティングデバイス(モバイルデバイスまたはPCなど)40、および支払サーバ50を含む。例示的な実施形態では、支払サーバ50は、支払サービスシステムまたは銀行サーバなどの異なるエンティティによって運営される複数のサーバを含むことができる。支払システム1の構成要素は、商人と顧客(消費者)との間の電子支払取引を容易にする。 FIG. 1 shows an exemplary block diagram of a payment system 1 according to an embodiment of the present disclosure. As shown, the payment system 1 includes a payment device 10, a payment reader 20, a network 30, a mobile device (such as a mobile phone or iPad) or an alternative computing device (such as a mobile device or PC) 40, and a payment server 50. .. In an exemplary embodiment, the payment server 50 can include multiple servers operated by different entities such as payment service systems or bank servers. The components of the payment system 1 facilitate electronic payment transactions between merchants and customers (consumers).

商人と顧客との間の電子対話は、顧客の支払デバイス10と商人の支払リーダ20との間で行われる。好ましい実施形態では、支払リーダ20は独立型のモバイルハードウェアデバイスであってもよいが、そのように限定されない。例えば、他の実施形態では、支払リーダ20は、スマートフォン(iOSまたはAndroid)などのモバイルデバイス、または埋め込みカードリーダ(ECR)として動作するように構成された別のコンピューティングデバイスとすることができる。一実施形態では、支払デバイス10は、磁気ストリップを有するクレジットカード、EMVチップを有するクレジットカード、または支払アプリケーションを実行するスマートフォンなどのNFC対応電子デバイスなど、支払リーダ20と通信することができるデバイスとすることができる。チップカードは支払リーダ20と通信し、暗号化された支払情報を生成し、EMVCoによって公布されたものなどの1つ以上の電子支払い規格に従って、暗号化された支払情報ならびに他の支払いまたは取引情報を提供することができる安全な集積回路を含むことができる。支払リーダ20は、支払アプリケーション(いくつかの実施形態ではPOSアプリケーション、またはその機能の一部を提供するアプリケーションとすることができる)を実行することができ、支払デバイス10から支払情報を受信するための少なくとも1つのインターフェースを含む。支払リーダ20は、カードとの接触または非接触インターフェースを介して支払情報を受信および処理し、取引情報(例えば、購入金額および購入時点情報)およびカード情報(例えば、暗号化された支払カードデータおよびユーザ認証データ)を含む支払情報を収集することができる。 The electronic dialogue between the merchant and the customer takes place between the customer's payment device 10 and the merchant's payment reader 20. In a preferred embodiment, the payment reader 20 may be, but is not limited to, a stand-alone mobile hardware device. For example, in other embodiments, the payment reader 20 can be a mobile device such as a smartphone (iOS or Android), or another computing device configured to act as an embedded card reader (ECR). In one embodiment, the payment device 10 is with a device capable of communicating with the payment reader 20, such as a credit card with a magnetic strip, a credit card with an EMV chip, or an NFC-enabled electronic device such as a smartphone running a payment application. can do. The chip card communicates with the payment reader 20 to generate encrypted payment information, encrypted payment information as well as other payment or transaction information according to one or more electronic payment standards, such as those promulgated by EMVCo. Can include secure integrated circuits that can provide. The payment reader 20 can run a payment application, which in some embodiments may be a POS application, or an application that provides some of its functionality, to receive payment information from the payment device 10. Includes at least one interface of. The payment reader 20 receives and processes payment information via a contact or non-contact interface with the card, including transaction information (eg, purchase amount and point-of-purchase information) and card information (eg, encrypted payment card data and). Payment information including user authentication data) can be collected.

いくつかの実施形態では、商人は、1つ以上のモバイルデバイス(または固定コンピューティングデバイス)40を有することもできる。いくつかの実施形態では、これらのデバイスが支払リーダのアプリケーションに対応して、商人によって実装される包括的なPOSシステムを作成、完了、補足、または増強するために、追加の機能を提供することができる。いくつかの実施形態では、モバイルデバイス40のうちの1つ以上は、支払リーダ20上で実行される支払アプリケーションとは完全に別個のPOSアプリケーションを提供することができる。デバイス40は例えば、iPhoneまたはAndroidデバイスなどの携帯電話、iPadまたはタブレットデバイス、ラップトップまたはタッチスクリーンデバイス、またはPCまたは固定コンピューティングデバイスであってもよいが、支払リーダと通信することができる任意の実用的なデバイスが適切であってもよい。 In some embodiments, the merchant may also have one or more mobile devices (or fixed computing devices) 40. In some embodiments, these devices correspond to payment reader applications and provide additional functionality to create, complete, supplement, or augment a comprehensive point-of-sale system implemented by merchants. Can be done. In some embodiments, one or more of the mobile devices 40 can provide a POS application that is completely separate from the payment application running on the payment reader 20. The device 40 may be, for example, a mobile phone such as an iPhone or Android device, an iPad or tablet device, a laptop or touch screen device, or a PC or fixed computing device, but any device capable of communicating with a payment reader. A practical device may be appropriate.

支払リーダ20、および/または、いくつかの実施形態では任意の商人デバイス40は、通信ネットワーク30を介して支払サーバ50と通信することができる。通信ネットワーク30は任意の適切な通信ネットワークであってもよいが、一実施形態では、通信ネットワーク30がインターネットであってもよく、支払情報(決済情報)および取引情報はトランスポートレイヤセキュリティ(TLS)またはセキュアソケットレイヤ(SSL)プロトコルによって、そのような暗号化されたフォーマットで、支払リーダ20と支払サーバ50との間で通信されてもよい。また、ネットワーク30がインターネットである場合、支払リーダ20は、通信のために伝送制御プロトコル/インターネットプロトコル(TCP/IP)を使用してもよい。 The payment reader 20 and / or, in some embodiments, any merchant device 40 can communicate with the payment server 50 via the communication network 30. The communication network 30 may be any suitable communication network, but in one embodiment, the communication network 30 may be the Internet, and payment information (payment information) and transaction information may be transport layer security (TLS). Alternatively, the secure socket layer (SSL) protocol may be used to communicate between the payment reader 20 and the payment server 50 in such an encrypted format. Further, when the network 30 is the Internet, the payment reader 20 may use a transmission control protocol / Internet protocol (TCP / IP) for communication.

支払サーバ50は単一のエンティティによって動作されてもよいが、一実施形態では、支払サーバ50が支払サービスシステム、商人および顧客の1つ以上の銀行(例えば、銀行サーバ)、またはカード発行者など、任意の適切なエンティティによって動作される任意の適切な数のサーバを含んでもよい。支払リーダ20および支払サーバ50は、支払情報および取引情報を通信して、取引が許可されているかどうかを判定する。例えば、支払リーダ20は、ネットワーク30を介して、暗号化された支払データ、ユーザ認証データ、購入金額情報、および購入時点情報を支払サーバ50に提供することができる。支払サーバ50は、この受信された情報、ならびに顧客または商人の口座に関する情報に基づいて、取引が許可されているかどうかを判定し、支払取引が許可されているかどうかを示すために、ネットワーク30を介して支払リーダ20に応答することができる。支払サーバ50は、取引識別子のような追加情報を支払リーダ20へ送信することもできる。 The payment server 50 may be operated by a single entity, but in one embodiment the payment server 50 may be a payment service system, one or more banks of merchants and customers (eg, a bank server), or a card issuer. , May include any suitable number of servers operated by any suitable entity. The payment reader 20 and the payment server 50 communicate the payment information and the transaction information to determine whether the transaction is permitted. For example, the payment reader 20 can provide encrypted payment data, user authentication data, purchase amount information, and purchase time point information to the payment server 50 via the network 30. Based on this received information, as well as information about the customer's or merchant's account, the payment server 50 determines whether the transaction is permitted and sets the network 30 to indicate whether the payment transaction is permitted. You can respond to the payment reader 20 through. The payment server 50 can also send additional information, such as a legal entity, to the payment reader 20.

支払サーバ50から支払リーダ20で受信される情報に基づいて、商人は、取引が承認されたかどうかを顧客に示すことができる。チップカード支払デバイスのようないくつかの実施形態では、承認は、支払リーダ20で、例えば支払リーダ20の画面で示されてもよい。NFC支払デバイスとして動作する携帯電話またはスマートデバイスなどの他の実施形態では、承認された取引に関する情報および追加情報(例えば、レシート、特別オファー、クーポン、またはロイヤリティプログラム情報)が、スマートフォンまたは腕時計の画面での表示のためにNFC支払デバイスに提供され得るか、またはメモリに記憶され得る。 Based on the information received by the payment reader 20 from the payment server 50, the merchant can indicate to the customer whether the transaction has been approved. In some embodiments, such as a chip card payment device, approval may be shown on the payment reader 20, eg, on the screen of the payment reader 20. In other embodiments, such as mobile phones or smart devices that act as NFC payment devices, information and additional information about approved transactions (eg, receipts, special offers, coupons, or loyalty program information) is displayed on the screen of a smartphone or watch. It may be provided to the NFC payment device for display at or stored in memory.

前述のように、支払リーダ20は、単独で、またはデバイス40と一緒に、購入および支払情報の入力、顧客との対話、および支払サーバ50との通信を提供することができる支払アプリケーションを有することができる。例えば、支払アプリケーションは、商人が選択できるサービスのメニューと、取引を自動化するための一連のメニューまたは画面を提供することができる。支払アプリケーションは、署名、PIN番号、または生体情報などの顧客認証情報の入力を容易にすることもできる。 As mentioned above, the payment reader 20 has a payment application that can provide purchase and payment information input, customer interaction, and communication with the payment server 50, alone or with the device 40. Can be done. For example, a payment application can provide a menu of services that merchants can select and a set of menus or screens for automating transactions. Payment applications can also facilitate the entry of customer credentials such as signatures, PIN numbers, or biometric information.

図2Aは、一実施形態による例示的な支払リーダ20の構成要素の例示的な概略図を示す。デバイスは、マルチコアプロセッサ205または同等のものを含むことができる。いくつかの実施形態では、支払リーダ20は、別のタイプの適切なプロセッサを有することができ、支払リーダ20の機能を実行し、制御するために必要に応じて、ハードウェア、ソフトウェア、メモリ、および回路(またはそれらの任意の組合せ)を含むことができる。いくつかの実施形態では、支払リーダ20は、複数の独立した処理ユニット、例えば、マルチコアプロセッサまたは他の同様の構成要素を有することができる。好ましい実施形態では、プロセッサは、支払処理に関連する異なる機能を実行するための1つ以上の専用カーネルを有することができる。 FIG. 2A shows an exemplary schematic of the components of an exemplary payment reader 20 according to an embodiment. The device can include a multi-core processor 205 or equivalent. In some embodiments, the payment reader 20 may have another type of suitable processor, hardware, software, memory, as needed to perform and control the functions of the payment reader 20. And circuits (or any combination thereof) can be included. In some embodiments, the payment reader 20 can have multiple independent processing units, such as a multi-core processor or other similar component. In a preferred embodiment, the processor can have one or more dedicated kernels for performing different functions related to payment processing.

プロセッサは、メモリ209に記憶された命令を実行して、支払リーダ20の動作を制御することができる。本明細書で使用されるように、メモリは、揮発性および不揮発性の両方の、ディスク、サムドライブなどの任意の適切な記憶媒体を指すことができる。このような媒体の例には、RAM、ROM、EPROM、EEPROM、SRAM、フラッシュメモリ、ディスク又は光記憶装置、磁気記憶装置、又はプロセッサによってアクセス可能な情報を記憶する他の任意の有形媒体又は非一時的媒体が含まれる。 The processor can control the operation of the payment reader 20 by executing the instructions stored in the memory 209. As used herein, memory can refer to any suitable storage medium, such as a disk, thumb drive, both volatile and non-volatile. Examples of such media include RAMs, ROMs, EPROMs, EEPROMs, SRAMs, flash memories, disks or optical storage devices, magnetic storage devices, or any other tangible medium or non-any other tangible medium that stores information accessible by a processor. Temporary media is included.

リーダは、無線通信インターフェースおよび/または有線通信インターフェースの1つ以上を含み得る通信インターフェース213を含み得る。リーダ20はまた、バッテリ207を含むことができる。バッテリの代替として、AC電力またはDC電力(電力変換回路を含む)への物理的接続などの1つ以上の電源を使用することができる。バッテリ207は、物理的電力接続を介して、誘導充電を介して、または任意の他の適切な方法を介して充電されてもよい。プロセッサ(以下で説明する)以外の支払リーダの構成要素に物理的に接続されているようには示されていないが、バッテリはこれらの構成要素の要件に従って、支払リーダ20の構成要素に様々な電圧を供給することができる。 The reader may include a communication interface 213 which may include one or more of a wireless communication interface and / or a wired communication interface. The reader 20 can also include a battery 207. As an alternative to the battery, one or more power sources can be used, such as physical connection to AC power or DC power (including power conversion circuits). The battery 207 may be charged via a physical power connection, via inductive charging, or via any other suitable method. Although not shown to be physically connected to payment reader components other than the processor (discussed below), batteries vary into payment reader 20 components according to the requirements of these components. It can supply voltage.

複数の支払インターフェースは、プロセッサ205上の対応するポートまたは端末に接続されてもよい。プロセッサ205は、磁気ヘッドリーダ230によって読み取られる磁気ストライプリーダ(MSR)232からの入力を受信する。いくつかの実施形態では、MSRデバイス230、232は支払情報を収集するためにカードの磁化されたストリップをスワイプまたはディップするように顧客を案内するスロットを含むことができる。受信された支払情報は次に、処理のためにプロセッサ205に提供されることができる。入力は、EMV接点240(チップカード)からも受信され、EMV接点(接触)ブロック242によって処理される。チップカードは、EMVインターフェース240の接点ピンに対応する接点と係合し、物理的にインターフェースする接点を有することができる。EMVインターフェース240は、EMV仕様に従って、チップカードのEMVチップに電力および通信を提供する。このデータは、EMV接点(接触)ブロック242によって処理され、プロセッサ205に供給される。 The plurality of payment interfaces may be connected to the corresponding ports or terminals on the processor 205. Processor 205 receives the input from the magnetic stripe reader (MSR) 232 read by the magnetic head reader 230. In some embodiments, the MSR device 230, 232 may include a slot that guides the customer to swipe or dip the magnetized strip of the card to collect payment information. The payment information received can then be provided to processor 205 for processing. The input is also received from the EMV contact 240 (chip card) and processed by the EMV contact (contact) block 242. The chip card can have contacts that engage and physically interface with the contacts corresponding to the contact pins of the EMV interface 240. The EMV interface 240 provides power and communication to the EMV chip of the chip card according to the EMV specification. This data is processed by the EMV contact block 242 and supplied to the processor 205.

非接触インターフェースからの入力は、NFC非接触アンテナ250から受信され、NFC非接触ブロック252によって処理される。非接触アンテナ250は、EMVカード20およびNFC(近距離通信)カード、ならびにスマートフォンまたは他の装置などの他のNFCデバイスから入力を受信するように構成される。一実施形態では、アンテナ250は、電磁両立性(EMC)回路、整合回路、変調回路、及び測定回路のようなNFC通信用の回路を含むことができる。プロセッサ205によって提供される信号に基づいて、アンテナ250は、搬送波信号または変調信号のいずれかを出力してもよい。搬送波信号は、13.56MHZのような固定周波数を有する信号であってもよい。変調信号は、ISO14443及びISO18092のような変調手順による搬送波信号の変調バージョンであってもよい。支払リーダ20が非接触支払デバイス10に誘導結合されると、非接触支払デバイス10は、能動または受動負荷変調を介して搬送波信号を変調することができる。支払デバイス10のアンテナの同調特性を変更することによって、支払デバイス10および支払リーダ20の両方において無線搬送波信号が変更され、その結果、変調された無線搬送波信号が得られる。このようにして、支払デバイス10は、変調されたデータを支払リーダ20に送信することができ、このデータは、アンテナ250によって感知され、処理のためにプロセッサ205に提供され得る。好ましい実施形態では、上述の接点および非接触インターフェースは、上述の機能のすべてを提供することができる単一の支払デバイスに組み合わせることができる。 The input from the non-contact interface is received from the NFC non-contact antenna 250 and processed by the NFC non-contact block 252. The non-contact antenna 250 is configured to receive inputs from the EMV card 20 and NFC (Near Field Communication) cards, as well as other NFC devices such as smartphones or other devices. In one embodiment, the antenna 250 can include circuits for NFC communication such as electromagnetic compatibility (EMC) circuits, matching circuits, modulation circuits, and measurement circuits. Based on the signal provided by processor 205, antenna 250 may output either a carrier signal or a modulated signal. The carrier signal may be a signal having a fixed frequency such as 13.56 MHZ. The modulated signal may be a modulated version of the carrier signal by a modulation procedure such as ISO 14443 and ISO 18092. When the payment reader 20 is inductively coupled to the contactless payment device 10, the contactless payment device 10 can modulate the carrier signal via active or passive load modulation. By changing the tuning characteristics of the antenna of the paying device 10, the radio carrier signal is changed in both the paying device 10 and the paying reader 20, resulting in a modulated radio carrier signal. In this way, the payment device 10 can transmit the modulated data to the payment reader 20, which data can be sensed by the antenna 250 and provided to the processor 205 for processing. In a preferred embodiment, the contact and non-contact interfaces described above can be combined into a single payment device capable of providing all of the above functions.

図2Bは、図2Aの実施形態と同様の実施形態を示しており、リーダ20のセキュアエリアまたはセキュアエンクレーブ270に配置された、プロセッサ205およびメモリ209とは別個のセキュアプロセッサ260およびメモリ265という追加の構成要素がある。セキュアエリアは、非セキュアエリアから物理的および論理的に分離されたハードウェア(例えば、処理ユニット、メモリ)、ファームウェア、および/またはソフトウェア(例えば、アプリケーション)を含むことができる。セキュアエリアは、支払リーダに入るセキュアデータを受信し、処理し、および/または格納するために、およびそのようなセキュアデータおよび構成要素に依存する機能(例えば、暗号化)を実行するために使用され得る。 FIG. 2B shows an embodiment similar to that of FIG. 2A, with the addition of a secure processor 260 and memory 265 located in the secure area or secure enclave 270 of the reader 20 and separate from the processor 205 and memory 209. There are components of. The secure area can include hardware (eg, processing unit, memory), firmware, and / or software (eg, application) that is physically and logically separated from the non-secure area. Secure areas are used to receive, process, and / or store secure data that enters payment readers, and to perform functions that depend on such secure data and components (eg, encryption). Can be done.

図2Aおよび図2Bに示す上述したアーキテクチャは、本明細書で説明する構成要素に限定されず、他のハードウェア構成要素およびソフトウェア構成要素を含むことができることを理解されたい。むしろ、例示を容易にするために、本発明に最も関連する構成要素および機能のみが、本明細書で議論される。 It should be appreciated that the architecture described above shown in FIGS. 2A and 2B is not limited to the components described herein and may include other hardware and software components. Rather, for ease of illustration, only the components and functions most relevant to the invention are discussed herein.

図3Aは、支払処理機能専用の様々なカーネルが支払システム内のそれぞれのデバイスに配置されるアーキテクチャを示す。支払リーダ20を含む商人システム300は、モジュールを含む物理レイヤ(L1)と、それぞれ異なった支払機能専用の1つ以上の第1世代の(GEN 1)カーネルを有するアプリケーションレイヤ(L2)とに分割されるものとして示されている。好ましい実施形態では、L1モジュール302は、支払カードから情報を受信し、その情報を支払リーダの他の構成要素に転送することができるインターフェース(NFCインターフェースなど)との対話を制御するハードウェア構成要素を含むことができる。いくつかの実施形態では、L1モジュールは、支払カードから受信された情報に関連する他の物理レイヤ機能(例えば、誤り訂正)を実行することが可能であってもよい。図3Aの実施形態では、複数のL2 GEN 1カーネル304、306が示されている。この実施形態では、この複数のGEN 1カーネルの各々が、例えば、非接触支払処理のための基本的なタイプの取引に対応することができる。この点に関して、複数のGEN 1 L2カーネルの各々は、例えば、マスターカード(MC)、VISA、JCB、CUP、および他の取引タイプのそれぞれ1つに対する専用であってもよい。 FIG. 3A shows an architecture in which various kernels dedicated to payment processing functions are placed on each device in the payment system. The merchant system 300 including the payment reader 20 is divided into a physical layer (L1) containing modules and an application layer (L2) having one or more first generation (GEN 1) kernels dedicated to different payment functions. Shown as being done. In a preferred embodiment, the L1 module 302 is a hardware component that controls interaction with an interface (such as an NFC interface) that can receive information from the payment card and transfer that information to other components of the payment reader. Can be included. In some embodiments, the L1 module may be capable of performing other physical layer functions (eg, error correction) related to the information received from the payment card. In the embodiment of FIG. 3A, a plurality of L2 GEN 1 kernels 304, 306 are shown. In this embodiment, each of the plurality of GEN 1 kernels can accommodate, for example, a basic type of transaction for contactless payment processing. In this regard, each of the plurality of GEN 1 L2 kernels may be dedicated to, for example, one for each of MasterCard (MC), VISA, JCB, CUP, and other transaction types.

図3Aの実施形態では、支払リーダ20は、限られたハードウェアリソースを有する。例えば、支払リーダ20は、ある支払処理機能を実行するための処理能力を提供することができない特定の又は特定のチップ技術を有することができる。GEN 1カーネルの範囲外にあるこれらの追加の機能は、本明細書では「GEN 2機能」と呼ぶことができ、すなわち、GEN 1カーネルの能力を超えるがGEN 2カーネルの能力内のプロセッサ要件を有する機能、例えば、とりわけ、ギフトカード、ロイヤリティカード、または他の非標準EMV支払デバイスからの支払情報の収集などとすることができる。アプリケーションレイヤでは、L2 GEN 2 カーネルは、暗号化など、GEN 1 カーネルにアクセスできないさまざまな機能を提供する場合がある。説明するために、楕円曲線暗号(ECC)のセキュリティ(暗号化、鍵合意、デジタル署名、その他のタスクに適用可能)は、比較的高速で集中的な計算を実行するデバイスの能力に依存する。このような演算量の多いタスクは、たとえそのようなハードウェアがまだ機能していたとしても、古いハードウェアの制約の範囲内では達成できないかもしれない。代替的に又は追加的に、L2カーネル上で利用可能な特徴セットは、L1モジュールの特徴セットよりも大きく(又は異なり)てもよく、GEN 1と比較してGEN 2カーネル上で利用可能な特徴セットは、依然としてより大きい。このため、古いデバイスにはメモリ制限が存在し、処理集約的なタスクをさらに制限または禁止する。 In the embodiment of FIG. 3A, the payment reader 20 has limited hardware resources. For example, the payment reader 20 may have specific or specific chip technology that cannot provide the processing power to perform certain payment processing functions. These additional features outside the scope of the GEN 1 kernel can be referred to herein as "GEN 2 features", i.e., processor requirements that exceed the capabilities of the GEN 1 kernel but are within the capabilities of the GEN 2 kernel. It can be a feature it has, such as, among other things, the collection of payment information from gift cards, loyalty cards, or other non-standard EMV payment devices. At the application layer, the L2 GEN 2 kernel may provide various features that are inaccessible to the GEN 1 kernel, such as encryption. To illustrate, the security of Elliptic Curve Cryptography (ECC) (applicable to encryption, key agreements, digital signatures, and other tasks) depends on the ability of the device to perform relatively fast and intensive computations. Such computationally intensive tasks may not be accomplished within the constraints of older hardware, even if such hardware is still working. Alternatively or additionally, the feature set available on the L2 kernel may be larger (or different) than the feature set on the L1 module, and features available on the GEN 2 kernel compared to GEN 1. The set is still larger. For this reason, older devices have memory limits that further limit or prohibit processing-intensive tasks.

図3Aは、GEN 2取引を処理することができる、支払リーダ20の外部のいくつかのデバイスを示す。図示された例では、モバイルデバイス40A(例えば、iPhone(登録商標)またはAndroidなどの携帯電話、iPad(登録商標)または他のタブレット、ラップトップまたはタッチスクリーンコンピュータ、または任意の他の適当な装置を含み得る)、コンピューティングデバイス40B(例えば、パーソナルコンピュータであり得る)、およびリモートサーバ310のそれぞれは、GEN 2 L2カーネルを有する。商人システムおよび支払システムの特定のアーキテクチャが与えられれば、任意の数の外部デバイスを使用することができることが理解されるのであろう。モバイルデバイス40Aおよびコンピューティングデバイス40Bは両方とも、商人システム(商人デバイス300)の一部として示されており、すなわち、支払リーダ20の制御下にある商人も、モバイルデバイス40Aおよび/またはコンピューティングデバイス40Bの制御下にあるが、それらはそのように限定されない。したがって、この実施形態では、デバイス40Aおよび40Bは支払リーダ20の外部にあるが、必ずしもリモート地理的な位置に配置される必要はない。 FIG. 3A shows some devices outside the payment reader 20 capable of processing GEN 2 transactions. In the illustrated example, a mobile device 40A (eg, a mobile phone such as an iPhone® or Android, an iPad® or other tablet, a laptop or touch screen computer, or any other suitable device. Each of the computing device 40B (which may be a personal computer), and the remote server 310 (which may include) has a GEN2 L2 kernel. Given the specific architecture of the merchant system and payment system, it will be understood that any number of external devices can be used. Both the mobile device 40A and the computing device 40B are shown as part of the merchant system (merchant device 300), i.e. the merchant under the control of the payment reader 20 is also the mobile device 40A and / or the computing device. Although under the control of 40B, they are not so limited. Therefore, in this embodiment, the devices 40A and 40B are outside the payment reader 20, but do not necessarily have to be located at a remote geographic location.

支払リーダ20は、支払アプリケーションまたは支払いソフトウェア301も含むことができる。支払アプリケーション301は、いくつかの実施形態では、POS(point-of-sale)(販売時点情報管理、ポイントオブセール)アプリケーションの全部または一部、またはそれに関連する支払機能を構成する機能を含むことができる。プロセッサ205によって実行されると、支払アプリケーション301は、いくつかの実施形態では、商人が顧客との支払取引を処理することを可能にする対話型インターフェースを有する表示部を提供することができる。これらの命令は、商人または顧客が購入のためのプロダクトを選択し、販売税を計算し、ティップス(tips)を処理し、レシートを提供し、割引または特別オファーを生成し、顧客ロイヤリティプログラムを処理し、在庫または配達のための品目を検索し、および/または任意の他の適切な小売業務を実行することを可能にするカスタマイズされたインターフェースを含み得る。さらに、取引処理内の適切な時間に、支払アプリケーション301は、支払リーダ20が支払デバイス10から支払情報を受信することを可能にするために、1つ以上の支払インターフェースにメッセージを送信することができる。代替の実施形態では、支払アプリケーション301は、モバイルデバイス40A(スマートフォン)などの支払リーダ20の外部のデバイス、または任意の他の実用的な実装から実行され得る。このような実装は、例えば、リーダ20上のハードウェアリソースが制限される場合に好ましい。さらに別の実施形態では、支払アプリケーション301のいくつかの要素がリーダ20上で実行されてもよく(例えば、ユーザ入力のための機能など)、他の要素が異なるデバイスから実行されてもよい。 The payment reader 20 may also include a payment application or payment software 301. The payment application 301, in some embodiments, includes all or part of a POS (point-of-sale) (point-of-sale) application, or a function that constitutes a payment function related thereto. Can be done. When executed by the processor 205, the payment application 301 can, in some embodiments, provide a display with an interactive interface that allows a merchant to process a payment transaction with a customer. These orders allow merchants or customers to select products for purchase, calculate sales taxes, process tips, provide receipts, generate discounts or special offers, and process customer loyalty programs. And may include a customized interface that allows you to search for items for inventory or delivery and / or perform any other suitable retail operation. Further, at an appropriate time within the transaction process, the payment application 301 may send a message to one or more payment interfaces to allow the payment reader 20 to receive payment information from the payment device 10. can. In an alternative embodiment, the payment application 301 may be performed from an external device of the payment reader 20, such as a mobile device 40A (smartphone), or any other practical implementation. Such an implementation is preferred, for example, when the hardware resources on the reader 20 are limited. In yet another embodiment, some elements of the payment application 301 may be executed on the reader 20 (eg, a function for user input), and other elements may be executed from different devices.

図3Aは、支払の承認が可能なリモートサーバである支払処理サーバ50も示す。支払サーバ50は、支払サービスシステムまたは銀行サーバなど、異なるエンティティによって運営される複数のサーバを含むことができる。モバイルデバイス40A、コンピューティングデバイス40B、リモートサーバ310、および支払リーダ20のそれぞれは、支払処理サーバ50と様々に通信することができる。 FIG. 3A also shows a payment processing server 50, which is a remote server capable of approving payments. The payment server 50 can include a plurality of servers operated by different entities, such as a payment service system or a bank server. Each of the mobile device 40A, the computing device 40B, the remote server 310, and the payment reader 20 can communicate with the payment processing server 50 in various ways.

第1の実施形態では、支払リーダは、処理のために特定の取引データが指示されるべき専用カーネルを動的に選択または判定するカーネルコントローラ305を含む。カーネルコントローラ305は、ハードウェアおよび/またはソフトウェア、あるいはそれらの任意の組合せで実装することができる。図示の実施形態では、カーネルコントローラ305が別個の構成要素として示されているが、別の例ではカーネルコントローラは、支払アプリケーション301の一部とすることができる。さらに別の例では、カーネルコントローラの機能は、そうでなければ、プロセッサ205の1つ以上の構成要素によって実行されてもよい。 In a first embodiment, the payment reader includes a kernel controller 305 that dynamically selects or determines a dedicated kernel to which specific transaction data should be directed for processing. The kernel controller 305 can be implemented in hardware and / or software, or any combination thereof. In the illustrated embodiment, the kernel controller 305 is shown as a separate component, but in another example the kernel controller can be part of the payment application 301. In yet another example, the function of the kernel controller may otherwise be performed by one or more components of processor 205.

図3Aに示される実施形態では、L1モジュール302は、支払インターフェース232、242、252との対話を制御して、支払カード20から支払情報を受信する。支払リーダ20のカーネルコントローラ305は、支払取引の処理がGEN 2カーネルによって実施することができるが、L2 GEN 1カーネル304および306のいずれによっても実施することができない機能を必要とすると判定する。リーダが必要なGEN 2機能を実行するためのハードウェアリソースを持たないと判定されたので、カーネルコントローラ305は代わりに、モバイルデバイス40A、PC 40B、またはリモートサーバ310のようなリーダの外部のGEN 2カーネルに、その機能の性能(パフォーマンス)を割り当てるように制御し(処理を行うデバイスが商人システム300の外部にあるかどうかにかかわらず)、それらのいずれかは必要なGEN 2カーネルおよび十分なハードウェアリソースを有し得る。 In the embodiment shown in FIG. 3A, the L1 module 302 controls a dialogue with the payment interfaces 232, 242, 252 to receive payment information from the payment card 20. The kernel controller 305 of the payment reader 20 determines that processing of payment transactions requires functionality that cannot be performed by either the L2 GEN 1 kernels 304 and 306, although the processing of payment transactions can be performed by the GEN 2 kernel. Since it was determined that the reader does not have the hardware resources to perform the required GEN 2 functions, the kernel controller 305 instead GENs outside the reader such as mobile device 40A, PC 40B, or remote server 310. Control to assign the performance of the function to the 2 kernels (regardless of whether the processing device is outside the merchant system 300), one of which is the required GEN 2 kernel and sufficient. May have hardware resources.

代替実施形態では、顧客のモバイル支払デバイス10内の非接触プログラムソフトウェア(例えば、NFCソフトウェア)が、それ自体が支払リーダ20内のカーネルまたはモジュールへの呼び出しを開始することが可能であってもよい。例えば、NFCアンテナを使用して、支払デバイス10内のNFCソフトウェアは、L1モジュール302、アプリケーションレイヤカーネル304または306、またはカーネルコントローラ305を呼び出すことができ、これらは、どのカーネルを使用するかを判定することができ、NFCソフトウェアをその選択されたカーネルに呼び出すように指示することができる。 In an alternative embodiment, the contactless program software (eg, NFC software) in the customer's mobile payment device 10 may itself be capable of initiating a call to the kernel or module in the payment reader 20. .. For example, using the NFC antenna, the NFC software in the payment device 10 can call the L1 module 302, the application layer kernel 304 or 306, or the kernel controller 305, which determine which kernel to use. Can be instructed to call the NFC software to its selected kernel.

異なるカーネル機能のローカルおよびクラウド内のリソースへのこの分散は、カーネルの「ハイブリッド」な分散または割り当てと考えることができる。例えば、図3Aに示すハイブリッド実装では、支払いを処理するために必要なGEN 1機能は、支払リーダ20で(すなわち、ローカルに)実行され、支払いを処理するために必要なGEN 2機能は、リーダ20から離れた(すなわち、クラウド内の)GEN 2カーネルによって実行される。例えば、一実施形態では、GEN 2機能は、携帯電話またはiPadデバイス上のGEN 2カーネルによって実行され得る。ハイブリッド化されていないアーキテクチャでは、GEN 1およびGEN 2カーネルの両方が支払リーダ20上に配置されるか、または両方がリーダ20の外部の単一の場所(例えば、モバイルデバイス、コンピューティングデバイス、またはリモートサーバ)に配置される。 This distribution of different kernel features to local and cloud resources can be thought of as a "hybrid" distribution or allocation of kernels. For example, in the hybrid implementation shown in FIG. 3A, the GEN 1 function required to process the payment is performed by the payment reader 20 (ie, locally) and the GEN 2 function required to process the payment is the reader. Run by the GEN 2 kernel away from 20 (ie, in the cloud). For example, in one embodiment, the GEN 2 function may be performed by the GEN 2 kernel on a mobile phone or iPad device. In a non-hybridized architecture, both the GEN 1 and GEN 2 kernels are located on the payment reader 20, or both are in a single location outside the reader 20 (eg, mobile devices, computing devices, or). It is placed on the remote server).

図3Bは、支払リーダ20が、アプリケーションレイヤにGEN 1カーネル304およびGEN 2カーネル354の両方を含み、物理レイヤにL1モジュールを含むことができる代替実施形態を示す。支払リーダがGEN 2カーネルを有する場合、どの取引タイプ(例えば、MC、VISAなど)が使用されるかにかかわらず、非接触支払いのために1つのL2 GEN 2カーネルのみが必要とされる。別の実施形態(特に図示せず)では、第2のL2 GEN 2カーネルは、接点ベースの支払い(例えば、スワイプまたはチップ支払い)の処理専用である。そのような実施形態では、支払リーダがGEN 2機能を実行する能力を有する場合、リーダ20は、それにもかかわらず、GEN 2処理を同一の(または同様の)GEN 2プロセッサを有するデバイスにオフロードすることを選択することができる。別の言い方をすれば、システムは、異なるインストールポイントに位置するGEN 2カーネルの複製コピーの間で選択的に選ぶ。この選択は、ハードウェアリソースに対する制約に限らず、さまざまな要因によって動機づけられる可能性がある。 FIG. 3B shows an alternative embodiment in which the payment reader 20 may include both GEN 1 kernel 304 and GEN 2 kernel 354 in the application layer and the L1 module in the physical layer. If the payment reader has a GEN 2 kernel, only one L2 GEN 2 kernel is required for contactless payments, regardless of which transaction type (eg MC, VISA, etc.) is used. In another embodiment (not shown), the second L2 GEN 2 kernel is dedicated to processing contact-based payments (eg, swipes or chip payments). In such an embodiment, if the payment reader has the ability to perform GEN 2 functions, the reader 20 will nevertheless offload GEN 2 processing to a device with the same (or similar) GEN 2 processor. You can choose to do. In other words, the system selectively chooses between duplicate copies of the GEN 2 kernel located at different installation points. This choice can be motivated by a variety of factors, not just constraints on hardware resources.

一実施形態では、GEN 2機能の処理をオフロードする決定は、支払リーダが十分なプロセッサ帯域幅を有するが、そうでなければリソースが制限されるという判定に基づくことができる。例えば、支払リーダは、例えば、低いバッテリレベル、またはカード読み取り、演算、および通信などの他のタスクによる過剰な電力消費のために、電力を節約する必要がある場合がある。クラウドに処理を移す判定は、一実施形態では、支払リーダの電力レベルの判定に基づいて、カーネルコントローラ305によって行われてもよく、カーネルコントローラは、そうでなければ、リーダ20にローカルなGEN 1またはGEN 2カーネルに処理を指示する(向ける)ことができる。好ましい実施形態では、カーネルコントローラは、プロセッサ205に接続することができる電力測定回路またはセンサ(特に図示せず)を含むことができ、そのようなセンサは、バッテリ207の電力レベルの動的測定を行うことができる。あるいは、バッテリレベルの測定を行う回路は、カーネルコントローラとは別個であってもよく、カーネルコントローラと通信することができる。一例として、カーネルコントローラは、これらの手段のうちの1つを介して、バッテリ107によって供給されるリーダの現在の電力レベルを測定することができる。この現在の電力レベルが所定の最小閾値を下回る場合、カーネルコントローラは、ローカルカーネルを無視し、代わりに、モバイルデバイス40A(または任意の他の適切な外部デバイス)上にインストールされたGEN 2カーネルに機能の処理を指示することができる。これらの手段により、低電力デバイスは、エネルギーを節約する可能性があり、限られた電力リソースに基づいた処理の障害に関する懸念はない。いくつかの実施形態では、バッテリレベルが測定されることに対する所定の閾値は、メモリ209に格納された値であってもよく、他では、所定の閾値は、リーダの全バッテリ容量のパーセンテージ値であってもよい。さらに他の実施形態では、1つ以上の閾値は、電力消費に影響を及ぼす可能性があるリーダの機械的条件または環境条件、またはスケジュールされたイベントなどの条件付きイベントに関連して、メモリ209内の参照テーブルまたは他のデータ構造に格納することができる。そのような一例では、カーネルコントローラ305は、リーダが高電力消費を必要とするタスクを実行するようにスケジュール(予定)されていると判定することができ、スケジュールされたイベントに関連する閾値電力値を識別するために参照テーブルを参照することができる。次に、バッテリ207の現在の電力レベルをその閾値と比較して、予定されたタスクのための電力を依然として維持しながら支払処理を実行することができるかどうかを判定する。さらに別の実施形態では、メモリ209内のテーブルは、閾値値を、特定の履歴または予測電力使用条件(電力消費の観測パターンまたは予測パターンなど)に関連付けることができる。例示的な実施形態では、カーネルコントローラは、電力レベルのいくつかの反復測定を行うことができ、電力消費のパターン(例えば、経時的な排流率(ドレナージレート))を観察することができる。次いで、カーネルコントローラは、メモリ209内のテーブルを参照して、特定の閾値がそのようなパターンに関連付けられているかどうかを判定することができる(このような閾値は例えば、後の電力低下を考慮するために、最小閾値よりも高い)。現在の電力レベルがその閾値を下回る場合、カーネルコントローラは、GEN 2情報の処理を外部デバイス上のカーネルに指示する。一般に、現在の電力レベルが比較される閾値は、バッテリレベルが比較され得る任意の測定可能な値であり得ることが理解されるであろう。 In one embodiment, the decision to offload the processing of the GEN 2 function can be based on the determination that the payment reader has sufficient processor bandwidth, but otherwise resource is limited. For example, payment readers may need to save power due to, for example, low battery levels or excessive power consumption due to other tasks such as card reading, arithmetic, and communication. The determination to transfer processing to the cloud may, in one embodiment, be made by the kernel controller 305 based on the determination of the power level of the payment reader, which otherwise GEN 1 local to the reader 20. Alternatively, the GEN 2 kernel can be instructed (directed) to process. In a preferred embodiment, the kernel controller can include a power measurement circuit or sensor (not specifically shown) that can be connected to processor 205, such sensor for dynamic measurement of the power level of battery 207. It can be carried out. Alternatively, the circuit that measures the battery level may be separate from the kernel controller and can communicate with the kernel controller. As an example, the kernel controller can measure the current power level of the reader supplied by the battery 107 via one of these means. If this current power level falls below a given minimum threshold, the kernel controller ignores the local kernel and instead uses the GEN 2 kernel installed on the mobile device 40A (or any other suitable external device). You can instruct the processing of the function. By these means, low power devices may save energy and there is no concern about processing failures based on limited power resources. In some embodiments, the predetermined threshold for measuring the battery level may be a value stored in memory 209, in others the predetermined threshold is a percentage value of the total battery capacity of the reader. There may be. In yet another embodiment, one or more thresholds are associated with a reader's mechanical or environmental conditions that may affect power consumption, or conditional events such as scheduled events, memory 209. Can be stored in a reference table or other data structure in. In such an example, the kernel controller 305 can determine that the reader is scheduled to perform a task that requires high power consumption, and the threshold power value associated with the scheduled event. You can refer to the reference table to identify. The current power level of battery 207 is then compared to its threshold to determine if payment processing can be performed while still maintaining power for the scheduled task. In yet another embodiment, the table in memory 209 can associate the threshold value with a particular history or predicted power usage condition (such as an observed or predicted pattern of power consumption). In an exemplary embodiment, the kernel controller can make several iterative measurements of power levels and observe patterns of power consumption (eg, drainage rate over time). The kernel controller can then refer to a table in memory 209 to determine if a particular threshold is associated with such a pattern (such thresholds take into account, for example, later power drops). Higher than the minimum threshold). If the current power level is below that threshold, the kernel controller directs the kernel on the external device to process the GEN 2 information. In general, it will be appreciated that the threshold at which the current power level is compared can be any measurable value to which the battery level can be compared.

あるいは、リーダから処理をオフロードする判定は、支払リーダと、対象GEN 2カーネルが位置するデバイスとの間の電力レベルの比較(例えば、相対バッテリ電力)、または電力消費および/または制約の任意の他の測定に基づいてもよい。そのような一例では、カーネルコントローラ305は、リーダ20の現在の電力レベルとモバイルデバイス40Aの現在の電力レベルとの両方を測定することができる。次いで、これらの値の両方を、所定の閾値(同じ閾値または2つのそれぞれの閾値のいずれか)と比較することができる。リーダの値の測定された電力レベルが閾値を下回り、モバイルデバイス40Aの測定された電力レベルがその閾値を上回る場合、カーネルコントローラは、(上述のように)リーダにローカルなカーネル上の処理をバイパスし、代わりに、モバイルデバイス40AにインストールされたGEN 2カーネルに処理を指示することができる。別の例では、支払リーダとモバイルデバイス40Aとの間の電力レベルの差が計算され、モバイルデバイスの電力レベルが支払リーダの電力レベルよりも所定の差だけ高い(すなわち、モバイルデバイスが予備の電力を有する)シナリオでは、リーダの特定の電力レベル自体が低電力閾値を下回らない場合であっても、モバイルデバイス40A上にインストールされたGEN 2カーネルに処理が指示されてもよい。 Alternatively, the decision to offload processing from the reader may be a comparison of power levels between the paying reader and the device on which the target GEN 2 kernel is located (eg, relative battery power), or any of the power consumption and / or constraints. It may be based on other measurements. In such an example, the kernel controller 305 can measure both the current power level of the reader 20 and the current power level of the mobile device 40A. Both of these values can then be compared to a given threshold (either the same threshold or either of the two respective thresholds). If the measured power level of the reader's value is below the threshold and the measured power level of the mobile device 40A is above that threshold, the kernel controller bypasses the process on the kernel local to the reader (as described above). Instead, the GEN 2 kernel installed on the mobile device 40A can be instructed to do so. In another example, the power level difference between the pay reader and the mobile device 40A is calculated so that the power level of the mobile device is a predetermined difference higher than the power level of the pay reader (ie, the mobile device has spare power). In the scenario (with), the GEN 2 kernel installed on the mobile device 40A may be instructed to process even if the particular power level of the reader itself does not fall below the low power threshold.

代替実施形態では、カーネルコントローラ305は、外部デバイス上のGEN 2カーネルに機能の処理をルーティングすることを動的に判定することができ、支払リーダ上にインストールされたGEN 2カーネルは、特定のGEN 2機能を実行するのに理想的ではないバージョンのものとすることができる。すなわち、リーダ20上に位置するGEN 2カーネルおよび外部デバイス40A、40B、310上のGEN 2カーネルが複製コピーであるのではなく、カーネルの各種コピーは、互いに対して(任意の順列のバージョンで)異なるバージョンにすることができる。したがって、カーネルコントローラは、支払リーダのカーネルソフトウェアのバージョンと対象クラウドデバイス上のカーネルソフトウェアのバージョンとの比較に基づいて、最も適切な(例えば、最も効率的であるか、または他の点で好適である)バージョンのカーネルに処理を指示することを判定してもよい。 In an alternative embodiment, the kernel controller 305 can dynamically determine to route the processing of the function to the GEN 2 kernel on the external device, and the GEN 2 kernel installed on the payment reader is a particular GEN. 2 It can be a non-ideal version to perform the function. That is, the GEN 2 kernel located on the reader 20 and the GEN 2 kernel on the external devices 40A, 40B, 310 are not duplicate copies, but the various copies of the kernel are relative to each other (in any ordered version). Can be different versions. Therefore, the kernel controller is the most appropriate (eg, most efficient or otherwise suitable) based on a comparison of the kernel software version of the payment reader with the kernel software version on the target cloud device. You may decide to instruct a version of the kernel to do something.

さらに別の実施形態では、カーネルコントローラ305は、認識されたセキュリティ脅威のために、処理をリーダにオフロードすることを選択してもよい。一例として、リーダ20(または外部セキュリティ監視回路(またはソフトウェア)または人間のアクタ(actor))は、カードデータを読み取ることができる無許可の第三者ハードウェア構成要素の追加を介して、またはリーダ20の任意の構成要素の変更、操作、または破損を介してなど、リーダが改ざんされたことを認識することができる。好ましい実施形態では、カーネルコントローラは、改ざん検出回路(特に図示せず)または他のセンサを動的に参照して、改ざんの試みが行われたかどうかを判定することができる。他の実施形態では、カーネルコントローラがそれ自体、そのような回路を含んでもよく、またはそのような回路が外部デバイス上に収容されてもよい。改ざん検出回路は、一実施形態では、リーダ20の抵抗値またはキャパシタンス値を測定することができる。キャパシタンス値は、リーダの任意の構成要素部分の電荷、リーダの特定の(例えば、セキュアな)部分の電荷、リーダの全体の電荷、または任意の他の適切な測定値に基づいて測定され得ることが理解されるだろう。次に、キャパシタンス測定値は、既知のキャパシタンス値と比較することができ、2つの値の間の差がある量を超えた場合、カーネルコントローラは、改ざんの試みが行われたと判定することができる。別の例では、改ざんの試みをリーダ20の構成要素の走査によって検出して、メモリ209に格納されたデータに何らかの不一致があるかどうか、予期せぬアプリケーションまたは未知のアプリケーションが存在するかどうか、あるいはとりわけ、セキュアエリアおよび非セキュアエリア内の構成要素の物理的および論理的な分離に不一致があるかどうかを判定することができる。リーダ上のローカルカーネルからクラウドに処理を再ルーティングすることにより、システムは、状況によっては、リーダのセキュリティ侵害された構成要素を回避する可能性がある。 In yet another embodiment, the kernel controller 305 may choose to offload processing to the reader due to a recognized security threat. As an example, the reader 20 (or external security monitoring circuit (or software) or human actor (actor)) can read the card data through the addition of unauthorized third party hardware components or as a reader. It is possible to recognize that the reader has been tampered with, such as through modification, manipulation, or damage to any of the 20 components. In a preferred embodiment, the kernel controller can dynamically reference a tampering detection circuit (not shown) or another sensor to determine if a tampering attempt has been made. In other embodiments, the kernel controller itself may include such circuits, or such circuits may be housed on an external device. The tampering detection circuit can, in one embodiment, measure the resistance value or the capacitance value of the reader 20. Capacitance values can be measured based on the charge of any component of the reader, the charge of a particular (eg, secure) part of the reader, the overall charge of the reader, or any other suitable measurement. Will be understood. Capacitance measurements can then be compared to known capacitance values, and if the difference between the two values exceeds a certain amount, the kernel controller can determine that a tampering attempt has been made. .. In another example, an attempt to tamper with is detected by scanning the components of reader 20, whether there is any discrepancy in the data stored in memory 209, whether there is an unexpected or unknown application, and so on. Or, above all, it can be determined if there is a discrepancy in the physical and logical separation of the components within the secure and non-secure areas. By rerouting the process from the local kernel on the reader to the cloud, the system may, in some circumstances, circumvent the compromised components of the reader.

図3Cは、支払リーダ20が、本質的にモジュラーであるGEN 1またはGEN 2 L2カーネルを含み得る、すなわち、物理レイヤ(物理層)および/またはアプリケーションレイヤ(アプリケーション層)における異なるGEN 1機能および/またはGEN 2機能が、L2カーネルの異なる論理「サブモジュール」に分離され得る、代替の実施形態を示す。別の言い方をすれば、L2カーネルの全体を、分割することができない均一またはモノリシック構成要素として扱うのではなく、その機能を特定の構成要素部分に分割することができる。この実施形態では、異なるL2カーネル機能が支払リーダのハードウェア(または他の)リソースに基づいて、異なるそれぞれのデバイスで実行されてもよい。例示的な実施形態では、リーダ20のL2カーネルのサブモジュール1および2は、リーダ上またはクラウド内のデバイス上のいずれかで様々に実装することができる。図3Cは、L2カーネルサブモジュール1(L2カーネルの第1のサブモジュール)340を有するモバイル支払リーダ20を示す。L2カーネルサブモジュール2(同じL2カーネルの第2のサブモジュール)342、344、または346は、モバイルデバイス40A、PC40B、またはリモートサーバ310などの外部デバイス上に収容することができる。サブモジュール340およびサブモジュール342、344、346は、L2カーネルの異なる機能に向ける(を対象とする)ことができる。例えば、様々な実施形態では、サブモジュール340、342、344、および/または346のうちの任意の1つ以上は、支払リーダの機能、例えば、選択マネージャ(例えば、支払リーダの異なる要素の処理のためのデータを指示するカーネルコントローラ)、ピン処理、メインカーネル機能(例えば、コア取引)、暗号ハンドラ、支払い許可/承認/拒否/照会の処理、追加の支払サービスの処理、カード所有者情報を使用する非支払サービスの処理、構成マネージャ(例えば、国、ブランド、支払取引タイプなどに固有の構成の処理)、リスク処理、対話のポイント(例えば、UI、キーパッド、または周辺機器を通じたカード所有者/商人の表示部またはデータ入力)、受領処理、近接プロトコル、許可されていない取引の処理、タイムアウト、またはキャンセル、セキュアチャネル管理、および他の機能の中でもとりわけ、様々なモジュールまたはデバイス間の通信、を実行するように様々に動作することができる。これらは、いくつかの例において、1つ以上のサブモジュールにおいて実装され得る機能の単なる一般的なカテゴリであり、網羅的なリストとして、または機能と別個サブモジュールとの間の厳密な1対1の対応としては、意図されないことが理解されるのであろう。リーダ20上のL2カーネルが非接触型支払処理に関連するサブモジュールと、PIN/署名/バイオメトリクスデータを処理するように指示されたサブモジュールとを含む例として、これらのサブモジュールの1つをリーダ20上で実行し、1つをモバイルデバイス40A上で実行してもよい。上述の機能は、リーダ自体で、または外部デバイスからのいずれかで実行することができるが、通信抽象化レイヤに関連する機能(すなわち、支払リーダのL1レイヤとOSIレイヤの残りの部分との間の通信を処理すること)、または接触ベースの支払カードとのある種の低レベルダイアログは、通常、支払リーダ自体に配置されなければならず、そのような機能を他の場所に移動させることは非実用的または非効率的である。 FIG. 3C shows that the payment reader 20 may include a GEN 1 or GEN 2 L2 kernel that is essentially modular, i.e., different GEN 1 functions and / or different GEN 1 functions in the physical layer and / or application layer. Alternatively, an alternative embodiment in which the GEN 2 function can be separated into different logic "submodules" of the L2 kernel is shown. In other words, instead of treating the entire L2 kernel as a uniform or monolithic component that cannot be divided, its functionality can be divided into specific component parts. In this embodiment, different L2 kernel functions may be performed on different devices based on the hardware (or other) resources of the payment reader. In an exemplary embodiment, submodules 1 and 2 of the L2 kernel of the reader 20 can be variously implemented either on the reader or on a device in the cloud. FIG. 3C shows a mobile payment reader 20 with an L2 kernel submodule 1 (first submodule of the L2 kernel) 340. The L2 kernel submodule 2 (second submodule of the same L2 kernel) 342, 344, or 346 can be housed on an external device such as a mobile device 40A, PC40B, or a remote server 310. Submodules 340 and 342, 344, 346 can be directed to (target) different functions of the L2 kernel. For example, in various embodiments, any one or more of the submodules 340, 342, 344, and / or 346 is a payment reader function, eg, a selection manager (eg, processing of different elements of the payment reader). Kernel controller to direct data for), pin processing, main kernel function (eg core transaction), crypto handler, payment allow / approve / deny / inquiry processing, additional payment service processing, use cardholder information Processing non-payment services, configuration managers (eg, processing of configurations specific to country, brand, payment transaction type, etc.), risk handling, points of interaction (eg, cardholder through UI, keypad, or peripherals) / Merchant display or data entry), receipt processing, proximity protocols, processing of unauthorized transactions, timeouts or cancellations, secure channel management, and communication between various modules or devices, among other features, Can behave in various ways to perform. These are, in some examples, just general categories of features that can be implemented in one or more submodules, either as an exhaustive list or as an exact one-to-one between features and separate submodules. It will be understood that it is not intended as a response to. One of these submodules is taken as an example of the L2 kernel on the reader 20 including a submodule related to contactless payment processing and a submodule instructed to process PIN / signature / biometrics data. It may be executed on the reader 20 and one may be executed on the mobile device 40A. The above functions can be performed either by the reader itself or from an external device, but the functions associated with the communication abstraction layer (ie, between the L1 layer of the payment reader and the rest of the OSI layer). Processing communication), or some kind of low-level dialog with a contact-based payment card, usually has to be placed in the payment reader itself, and moving such features to other places is not possible. It is impractical or inefficient.

これらのサブモジュールの位置を分散させることによって、様々な機能の処理を実行時に最適化することができる。例示的なシナリオでは、高機密情報を処理するように設計された特定のサブモジュールを、追加のセキュリティ特徴を有するクラウドベースのデバイスにオフロードすることができる。別の例示的なシナリオでは、1つ以上のサブモジュールをクラウドベースのデバイスから処理することができ、そうでなければ、コンピューティングリソースは、処理がリーダ上で並列に行われることを可能にせず、それによって、よりタイムリーに処理を完了する。別の例示的なシナリオでは、サブモジュールによって必要とされる情報がクラウドに格納されてもよく(すなわち、リーダ20から離れた位置および/または制限された位置に格納されてもよく)、処理は、必要なデータがより効率的にアクセスされ得るデバイス上に配置されたカーネルサブモジュールに委任されてもよい。 By distributing the positions of these submodules, the processing of various functions can be optimized at run time. In an exemplary scenario, certain submodules designed to handle sensitive information can be offloaded to cloud-based devices with additional security features. In another exemplary scenario, one or more submodules can be processed from a cloud-based device, otherwise computing resources will not allow the processing to be done in parallel on the reader. , Thereby completing the process more timely. In another exemplary scenario, the information required by the submodule may be stored in the cloud (ie, may be stored in a location away from the reader 20 and / or in a restricted location), and the processing may be performed. , The required data may be delegated to a kernel submodule located on a device that can be accessed more efficiently.

図3Dは、L1モジュールがサブモジュールに分割されている代替実施形態を示し、L1モジュールのサブモジュールは、支払カードまたはNFC対応デバイスがインターフェースする要素の機械的特性、支払カードまたはNFC対応デバイスに印加されて、そこから受信される信号の電気的特性、および完全なL1モジュールを動作させるために必要な他の特性のうちの1つ以上を表す。いくつかの実施形態では、L1モジュールのすべてのサブモジュールが支払リーダ20上に収容される図3Dに示されるL1サブモジュール1c(要素370)および2c(要素372)と同様に、支払リーダ自体上にあってもよい。あるいは、図3Dに示されるように、L1サブモジュールは、リーダのL1レイヤにサブモジュール1a(要素350)があり、サブモジュール2a(要素352)がリーダのアプリケーションレイヤにある状態で、支払リーダ20の物理レイヤとアプリケーションレイヤとの間で分割されてもよい。さらに別の代替実施形態では、サブモジュール1b(要素360)を支払リーダ上に配置し、サブモジュール2b(要素356、357、または358)をモバイルデバイス40A、PC 40B、またはリモートサーバ310などの外部デバイス上に配置することができる。サブモジュール2bは、支払リーダ20のL1レイヤのサブモジュールであり、サブモジュールが位置する外部デバイスのL1レイヤのサブモジュールではなく、したがって、図示の実施形態では、L1サブモジュール2bは、外部デバイスのアプリケーションレイヤで処理されることに留意されたい。他の実施形態では、L1サブモジュールが異なるように分散されてもよい。 FIG. 3D shows an alternative embodiment in which the L1 module is divided into submodules, where the submodule of the L1 module is applied to the mechanical characteristics of the element to which the payment card or NFC-enabled device interfaces, the payment card or NFC-enabled device. It represents the electrical characteristics of the signal received from it, and one or more of the other characteristics required to operate the complete L1 module. In some embodiments, all submodules of the L1 module are housed on the payment reader 20 as well as on the payment reader itself, as well as the L1 submodules 1c (element 370) and 2c (element 372) shown in FIG. 3D. May be there. Alternatively, as shown in FIG. 3D, the L1 submodule has the submodule 1a (element 350) in the L1 layer of the reader and the payment reader 20 with the submodule 2a (element 352) in the application layer of the reader. It may be divided between the physical layer and the application layer of. In yet another alternative embodiment, the submodule 1b (element 360) is placed on the payment reader and the submodule 2b (element 356, 357, or 358) is external such as a mobile device 40A, PC 40B, or remote server 310. Can be placed on the device. The submodule 2b is a submodule of the L1 layer of the payment reader 20 and not a submodule of the L1 layer of the external device in which the submodule is located. Therefore, in the illustrated embodiment, the submodule 2b is the external device. Note that it is processed at the application layer. In other embodiments, the L1 submodules may be distributed differently.

リーダの機械的特性(例えば、カード接点(接触)、電気ライン、信号を処理するための能動回路および/または受動回路など)を対象とするL1サブモジュールは、それらの機能が一般に物理的にリーダに埋め込まれているので、実用性においてリーダ自体にのみ実装されてもよいことが理解されるのであろう。しかしながら、他の特性を対象とするL1サブモジュールは、代替的に、リーダ上またはリーダの外部のデバイス上のいずれかに配置されるように配置されてもよい。下記の表1は例えば、そのような実施形態において実装され得るサブモジュールの分散のいくつかを列挙する。

Figure 2022512297000002
L1 submodules that target the mechanical properties of the reader (eg, card contacts (contacts), electrical lines, active and / or passive circuits for processing signals) are generally physically readers of their function. Since it is embedded in, it will be understood that it may be implemented only in the reader itself in practicality. However, the L1 submodule, which targets other characteristics, may instead be arranged to be located either on the reader or on a device outside the reader. Table 1 below lists, for example, some of the submodule distributions that can be implemented in such embodiments.
Figure 2022512297000002

一例として、いくつかの実装形態では、ソフトウェアモジュール/特性のみが、リーダ内ソフトウェアであるように、または携帯電話などの外部デバイス上に配置される(それぞれL1サブモジュール2aまたは2b)。これらの実施態様では、リーダ上または外部デバイス上で実行される個別のソフトウェア構成要素が例えば、カード接点(接触)(L1サブモジュール1aおよび1b)の電圧またはテストを調整する電気的および機械的構成要素/特性を駆動する。別の例として、表1の行4は電気的サブモジュールおよびソフトウェアサブモジュールの両方が携帯電話(例えば、L1サブモジュール2b 356、357、または358)上に、またはリーダのアプリケーションレイヤ(L1サブモジュール2a)内に配置される実装を参照する。この代替実施形態では、外部デバイスのカーネル上で実行されるソフトウェア構成要素は、例えば、電圧を調整するために、または支払リーダ20上のEMV接点(接触)パッドまたはNFCコイル(アンテナ)(例えば、L1サブモジュール1aまたは1b内)に銅線を駆動するために、(例えば、オーディオ/ライトニングジャックなどを介して)リーダ20の電気特性を駆動することができる。一例として、モバイルデバイス40A、PC40B、またはリモートサーバ310(L1サブモジュール2b)のうちの1つ上のソフトウェア定義無線アプリケーションまたは均等物が、支払リーダ20(L1サブモジュール1b)上に維持されるNFCコイルを制御するために使用される。同様に、支払リーダ(L1サブモジュール2a)のアプリケーションレイヤのソフトウェアを使用して、物理レイヤ(L1サブモジュール1a)の機械的構成要素を制御することができる。 As an example, in some implementations, only the software module / characteristic is placed as in-reader software or on an external device such as a mobile phone (L1 submodule 2a or 2b, respectively). In these embodiments, individual software components running on the reader or on an external device, for example, an electrical and mechanical configuration that regulates the voltage or test of the card contacts (contacts) (L1 submodules 1a and 1b). Drive elements / characteristics. As another example, row 4 of Table 1 shows that both the electrical and software submodules are on the mobile phone (eg, L1 submodule 2b 356, 357, or 358), or the reader's application layer (L1 submodule). Refer to the implementation placed in 2a). In this alternative embodiment, the software components running on the kernel of the external device are, for example, to adjust the voltage or an EMV contact pad or NFC coil (antenna) on the payment reader 20 (eg, an antenna). In order to drive the copper wire into the L1 submodule 1a or 1b), the electrical properties of the reader 20 can be driven (eg, via an audio / lightning jack or the like). As an example, an NFC in which a software-defined wireless application or equivalent on one of a mobile device 40A, PC40B, or remote server 310 (L1 submodule 2b) is maintained on a payment reader 20 (L1 submodule 1b). Used to control the coil. Similarly, the application layer software of the payment reader (L1 submodule 2a) can be used to control the mechanical components of the physical layer (L1 submodule 1a).

上述した図3A~図3Dに示すアーキテクチャは、本明細書で説明する構成要素に限定されず、他のハードウェア構成要素およびソフトウェア構成要素を含むことができることを理解されたい。むしろ、例示を容易にするために、本発明に最も関連する構成要素および機能のみが、本明細書で議論される。 It should be appreciated that the architectures shown in FIGS. 3A-3D described above are not limited to the components described herein and may include other hardware and software components. Rather, for ease of illustration, only the components and functions most relevant to the invention are discussed herein.

図4は、一実施形態による、リーダ20とモバイルデバイス40Aとの構成要素間のデータの流れの例示的な図を示す。図4の例では、図3Bに示すものの線に沿ったアーキテクチャを例示的なモデルとして使用することができる。この処理は、ステップ402で始まり、リーダ20のL1モジュールは、例えば、非接触アンテナ250を介したNFC取引においてカードデータを読み取る。カードデータは、ステップ404で、プロセッサ205に(または必要に応じて、セキュアプロセッサ260に)送信される。ステップ406で、カーネルコントローラ305は、どのカーネルが支払取引を処理すべきかを判定する。 FIG. 4 shows an exemplary diagram of the flow of data between the components of the reader 20 and the mobile device 40A according to one embodiment. In the example of FIG. 4, the architecture along the line of what is shown in FIG. 3B can be used as an exemplary model. This process begins at step 402, where the L1 module of the reader 20 reads card data, for example, in an NFC transaction via the non-contact antenna 250. The card data is transmitted to processor 205 (or optionally to secure processor 260) in step 404. At step 406, kernel controller 305 determines which kernel should process the payment transaction.

第1のシナリオでは、取引の処理ニーズおよび支払情報は、GEN 1アプリケーションレイヤカーネルの特徴に限定される。この第1のシナリオでは、カーネルコントローラは、ステップ408で、支払リーダ20に対してローカルなL2 GEN 1カーネル304に処理を指示する。この処理には、署名、PIN、生体認証データなどの認証データの入力など、さまざまなステップが含まれる場合がある。処理後、カーネル304は、処理された支払情報を、通信インターフェース213を介して、認証のために支払処理サーバ50、例えば発行者サーバに送信する。別の実施形態では、リーダが支払処理サーバと通信するためのメモリまたは処理容量を持たない場合には、処理された支払データは、通信インターフェース213を介してモバイルデバイス40Aまたはコンピューティングデバイス40Bに送られ、このデバイスは次にデータを支払処理サーバ50に転送する。 In the first scenario, transaction processing needs and payment information are limited to the characteristics of the GEN 1 application layer kernel. In this first scenario, the kernel controller directs the payment reader 20 to the local L2 GEN 1 kernel 304 in step 408. This process may include various steps such as signing, PIN, input of authentication data such as biometric data. After processing, the kernel 304 sends the processed payment information to the payment processing server 50, eg, the issuer server, for authentication via the communication interface 213. In another embodiment, if the reader does not have the memory or processing capacity to communicate with the payment processing server, the processed payment data will be sent to the mobile device 40A or computing device 40B via the communication interface 213. The device then transfers the data to the payment processing server 50.

第2のシナリオでは、取引の処理ニーズは、GEN 2アプリケーションレイヤカーネルによってのみ満たすことができ、支払リーダ20はGEN 2カーネルを有し、取引を処理するために利用可能なリソースを有する。このシナリオでは、カーネルコントローラ305は、ステップ408で、支払リーダ20に対してローカルなL2 GEN 2カーネル354に処理を指示する。この処理は、例えば、スマートフォン上のアプリケーションを通じた支払いのような非標準的な支払い形式のギフトカードに基づく取引、及び/又はカード及び支払いデータの暗号化を含む、様々なステップを含むことができる。この処理は、例えば、認証データの入力を含むこともある。処理後、カーネル354は、処理された支払情報を、通信インターフェース213を介して、ステップ410で支払処理サーバ50に、または代わりに、モバイルデバイス40Aまたはコンピューティングデバイス40Bに送信し、これは、次に、支払処理サーバ50にデータを転送する。 In the second scenario, the transaction processing needs can only be met by the GEN 2 application layer kernel, where the payment reader 20 has the GEN 2 kernel and has the resources available to process the transaction. In this scenario, kernel controller 305 directs the payment reader 20 to the local L2 GEN 2 kernel 354 in step 408. This process can include various steps, including transactions based on gift cards in non-standard payment formats, such as payments through applications on smartphones, and / or encryption of cards and payment data. .. This process may include, for example, input of authentication data. After processing, the kernel 354 sends the processed payment information to the payment processing server 50 in step 410, or instead to the mobile device 40A or the computing device 40B, via the communication interface 213, which is: Data is transferred to the payment processing server 50.

第3のシナリオでは。取引の処理ニーズがGEN 2アプリケーションレイヤカーネルによってのみ満たすことができるが、支払リーダ20は、GEN 2カーネルを有しておらず、かつ/または取引を処理するための利用可能なリソースを有していない。このシナリオでは、カーネルコントローラ305は、ステップ406で、通信インターフェース213を介して支払データを送信することによって、それぞれリーダの外部にあるリモートサーバ310、モバイルデバイス40A、またはコンピューティングデバイス40B上のL2 GEN 2カーネル312、322、または332のいずれかに処理を指示する。選択された外部デバイス上のカーネルが取引を処理する。この処理は、例えば、非標準形式の支払いのギフトカードに基づく取引、例えば、スマートフォン上のアプリケーションによる支払い、及び/又はカード及び取引データの暗号化を含む様々なステップを含むことができる。この処理は、例えば、認証データの入力を必要とすることもあり、そのような場合、カーネル312、322、332は、ステップ452で取引を処理する前に、ステップ450でそのようなデータを受信する。処理後、外部デバイスは、ステップ454で、支払処理サーバ50にデータ(他の情報の中でもPIN、署名、または生体データの送信を含むことができる)を送信する。 In the third scenario. The processing needs of a transaction can only be met by the GEN 2 application layer kernel, but the payment reader 20 does not have a GEN 2 kernel and / or has available resources to process the transaction. do not have. In this scenario, kernel controller 305 in step 406 sends payment data through communication interface 213 to L2 GEN on remote server 310, mobile device 40A, or computing device 40B, respectively, outside the reader. 2 Instruct either kernel 312, 322, or 332 to process. The kernel on the selected external device handles the transaction. This process can include, for example, transactions based on gift cards for non-standard payments, such as payments by applications on smartphones, and / or various steps including encryption of cards and transaction data. This process may, for example, require input of authentication data, in which case kernel 312, 322, 332 receives such data in step 450 before processing the transaction in step 452. do. After processing, the external device sends data to the payment processing server 50 in step 454, which may include transmission of PIN, signature, or biometric data among other information.

上述の方法およびシステムによって、ハードウェアリソース、メモリ、電力に制限されているか、または支払取引を処理する能力に制約されている支払リーダであっても、多種多様な支払取引の処理を容易にするように機能することができる。これにより、商人は、新しいコンピューティングリソースおよび/または支払リーダへの大規模な投資を必要とせずに、既存の既に配備された支払システムに新しい生活(ニューライフ)を提供することができる。さらに、既存の支払処理ソリューションのセキュリティおよび効率性は、クラウドベースのリソースを使用してハイブリッド処理システムを作成することによって(たとえば、よりロバストな暗号化ソリューションを提供することによって)改善することができる。その結果、時代遅れのハードウェアやその他の要因が支払リーダ自身のレベルで改善できない場合でも、コンピューティングシステムの改善が有効になる。 The methods and systems described above facilitate the processing of a wide variety of payment transactions, even for payment readers who are limited in hardware resources, memory, power, or the ability to process payment transactions. Can function as. This allows merchants to provide a new life to their existing already deployed payment systems without the need for large investments in new computing resources and / or payment readers. In addition, the security and efficiency of existing payment processing solutions can be improved by creating hybrid processing systems using cloud-based resources (eg, by providing more robust cryptographic solutions). .. As a result, improvements in computing systems can be effective even if outdated hardware and other factors cannot be improved at the payment reader's own level.

別の実施形態では、図5Aを参照すると、セキュアエンクレーブ270とは別個のセキュアエリアを管理する追加のプロセッサを、非セキュア(または比較的非セキュア)エリアおよびセキュアエンクレーブ270内の他の処理構成要素から物理的および論理的に分離されたエリア内のリーダ20内に設けることができる。この追加のセキュアエリアは、本明細書では「信頼ゾーン(トラストゾーン)」または「信頼されたゾーン(トラステッドゾーン)」520と呼ばれ、信頼ゾーンプロセッサ510のリソースは、信頼ゾーン520を管理し、すなわち、信頼ゾーンのセキュリティはチップ自体上で管理される。いくつかの実施形態では、信頼ゾーンプロセッサ510は、支払リーダが「信頼された」状態にあるべきか、または「通常の」状態にあるべきかを指定するビット値を維持することができるが、他の実施形態も可能である。リーダ20の構成要素および任意のデータバスに、ビット値が通知され、それによりプロセッサ510は、信頼ゾーンへのアクセスを分離し制御することができる。一例として、信頼ゾーン520は、ARM LtdからのTrustZone(登録商標)技術で実施することができるが、他の技術を使用することもできる。信頼ゾーンは、対応するハードウェア(例えば、別個の処理ユニット、メモリ)、ファームウェア、およびソフトウェア(例えば、アプリケーション)を含み得る。 In another embodiment, with reference to FIG. 5A, an additional processor that manages a secure area separate from the secure enclave 270, the non-secure (or relatively non-secure) area and other processing components within the secure enclave 270. It can be provided in the reader 20 in an area physically and logically separated from the reader. This additional secure area is referred to herein as the "trusted zone" or "trusted zone" 520, and the resources of the trusted zone processor 510 manage the trusted zone 520. That is, the security of the trust zone is managed on the chip itself. In some embodiments, the trusted zone processor 510 can maintain a bit value that specifies whether the payment reader should be in the "trusted" or "normal" state. Other embodiments are also possible. The components of the reader 20 and any data bus are notified of the bit values, which allows the processor 510 to segregate and control access to the trusted zone. As an example, the trust zone 520 can be implemented with TrustZone® technology from ARM Ltd, but other technologies can also be used. The trusted zone may include the corresponding hardware (eg, separate processing unit, memory), firmware, and software (eg, application).

1つの例示的な実施形態では、カーネルコントローラ305は、支払リーダ20の分離された信頼ゾーン520内に位置する別個のGEN 2カーネル354にGEN 2機能の処理をリダイレクトすることを動的に判定することができる。カーネルコントローラ305は、改ざんイベントのような検出されたイベントに基づいて、このような判定を行うことができる。すなわち、改ざんの試みを検出すると、カーネルコントローラ305は、GEN 2機能(そうでなければ、セキュアエンクレーブ270内のGEN 2カーネル354によって実行されてもよい)の処理を、代わりに信頼ゾーン520内のGEN 2カーネル524によって実行されるように再ルーティングしてもよい。別の実装では、信頼ゾーンは、支払リーダ上で実行される専用のAndroidプロセッサ(例えば、チップ)に関連付けられてもよく、すなわち、信頼ゾーンは、例えば、改ざん関連機能性に向けられた追加のセキュリティ特徴を有する可能性があるAndroid OSによって実装される。 In one exemplary embodiment, the kernel controller 305 dynamically determines to redirect the processing of the GEN 2 function to a separate GEN 2 kernel 354 located within the isolated trust zone 520 of the payment reader 20. be able to. The kernel controller 305 can make such a determination based on a detected event such as a tampering event. That is, upon detecting an attempted tampering, the kernel controller 305 instead performs processing of the GEN 2 function (which may otherwise be performed by the GEN 2 kernel 354 in the secure enclave 270) in the trust zone 520. It may be rerouted to be performed by the GEN 2 kernel 524. In another implementation, the trust zone may be associated with a dedicated Android processor (eg, a chip) running on the payment reader, i.e. the trust zone may be, for example, additional tamper-related functionality. Implemented by Android OS, which may have security features.

別の例示的なアーキテクチャでは、支払システム1は、ECRとして動作するように構成されたAndroidスマートフォンなどのモバイルデバイス511をさらに含む。図5Bに示す例示的な実施形態では、デバイス511は、Android OSの様々な機能を処理するための、且つ、支払取引の処理専用のL1モジュール522およびL2カーネル524を有する信頼ゾーン520を管理するための、Androidプロセッサ517を有するモバイルデバイスである。GEN 2処理のセキュリティニーズがリーダ20上のGEN 2カーネルによって満たされない(例えば、リーダに対する改ざんの試みが検出される)か、またはリーダ20がセキュリティ集約的取引を処理するために利用可能なリソースを有さないシナリオでは、カーネルコントローラ305は、ECR511の分離した信頼ゾーン520内のGEN 2カーネル524によって処理されるGEN 2データを送信することができる(図5Bに破線で示すように)。様々な実施形態では、カーネルコントローラ305は、GEN 2データをモバイルデバイス40Aに送信することができ、これにより、データが信頼ゾーンで処理されるべきであると判定し、データを信頼ゾーン520内のGEN 2カーネル524に送信する(点線によって図5Bに示される)。さらに別の代替アーキテクチャ(特に図示せず)では、(例えば、Android電話上の)ECR 511は、独立型(スタンドアロン)支払リーダ20ではなく、支払リーダ20の代わりとなり、ECRは、その信頼ゾーン内の適切なカーネルによってGEN 2支払情報をローカルに処理する。 In another exemplary architecture, the payment system 1 further includes a mobile device 511, such as an Android smartphone, configured to act as an ECR. In the exemplary embodiment shown in FIG. 5B, device 511 manages a trust zone 520 for processing various functions of the Android OS and having an L1 module 522 and an L2 kernel 524 dedicated to processing payment transactions. A mobile device with an Android processor 517 for use. The security needs of the GEN 2 process are not met by the GEN 2 kernel on the reader 20 (eg, attempts to tamper with the reader are detected), or the resources available to the reader 20 to process security intensive transactions. In a non-existent scenario, kernel controller 305 can transmit GEN2 data processed by GEN2 kernel 524 in the isolated trusted zone 520 of ECR511 (as shown by the dashed line in FIG. 5B). In various embodiments, the kernel controller 305 can send GEN 2 data to the mobile device 40A, which determines that the data should be processed in the trusted zone and puts the data in the trusted zone 520. Send to GEN 2 kernel 524 (shown by dotted line in Figure 5B). In yet another alternative architecture (not specifically shown), the ECR 511 (eg, on an Android phone) replaces the payment reader 20 instead of the stand-alone payment reader 20, and the ECR is in its trust zone. Process GEN 2 payment information locally with the appropriate kernel of.

信頼ゾーンの使用は、セキュアエンクレーブを有する他のハイブリッドシステムよりもいくつかの利点を有することができる。最初に、信頼ゾーンは、コードが周辺ハードウェアに直接アクセスできるように、ネイティブに実行されるコードを介して好ましい実施形態で実施される。したがって、信頼ゾーンの実装は、より効率的であり、かつ、例えば、オペレーティングシステム/互換性レイヤにアクセスしなければならない、あるいは、同じ動作を実行するために追加のJavaコンパイルを必要とする可能性がある、Javaレイヤまたはメインプロセッサ上で実施されるコードをもつソリューションよりも、より高速に処理される可能性がある。さらに、信頼ゾーンの概念は一般に、ARMベースのアーキテクチャ(例えば、いくつかのAndroid電話)で実装されるので、別個のセキュリティ保護されたチップは必要とされず、それによって、製造コストが低減される。さらに、信頼ゾーンは、一般的にいくつかのパブリックCPUアーキテクチャに実装されているため、セキュリティは十分にテストされており、より多くの防御設定が組み込まれた、よりセキュアなシステムになる可能性がある。 The use of trust zones can have several advantages over other hybrid systems with secure enclaves. First, the trust zone is implemented in a preferred embodiment via code that is executed natively so that the code has direct access to peripheral hardware. Therefore, the implementation of trusted zones is more efficient and may require access to, for example, the operating system / compatibility layer, or require additional Java compilation to perform the same behavior. May be processed faster than a solution with code that runs on a Java layer or main processor. In addition, the concept of trust zones is generally implemented in ARM-based architectures (eg, some Android phones), so no separate secure chip is required, thereby reducing manufacturing costs. .. In addition, trust zones are typically implemented on several public CPU architectures, so security is well tested and could result in a more secure system with more defense settings built-in. be.

例示的な節 Illustrative clause

1.モバイル通信デバイスであって、第1のタイプの支払リーダおよび第2のタイプの支払リーダと通信するための通信インターフェースであって、前記第2のタイプの支払リーダの各々は、第2のタイプの支払デバイスからの支払情報を処理するための第2世代のレイヤ2(L2)カーネルを有し、第1のタイプの支払リーダの各々は第1世代の支払デバイスからの支払情報を処理するための第1世代のL2カーネルを有する、通信インターフェースと、少なくとも1つのプロセッサによって実行された場合に、前記少なくとも1つのプロセッサに、処理された第2のタイプの支払情報を受信させ、前記処理された第2のタイプの支払情報は、前記第2のタイプの支払リーダの第2世代のL2カーネルによって処理されており、前記処理された第2のタイプの支払情報に基づいた支払取引の承認のために、前記処理された第2のタイプの支払情報を1つ以上の支払サーバに送信させ、前記第1のタイプの支払リーダの第1世代のL2カーネルで処理された第1のタイプの支払情報を受信させ、前記第1のタイプの支払情報に基づいた支払取引の承認のために前記第1のタイプの支払情報を1つ以上の支払サーバへ送信させ、前記第1のタイプの支払リーダから生の(raw)第2のタイプの支払情報を受信させ、前記生の第2のタイプの支払情報を、生の第2のタイプの支払情報の処理のために、モバイル通信デバイスの第2世代のL2カーネルへ提供させ、前記モバイル通信デバイスの前記第2世代のL2カーネルによって処理された前記生の第2のタイプの支払情報を、送信された生の第2のタイプの支払情報に基づいた支払い取引の承認のために1つ以上の支払サーバへ送信させる、命令によってプログラムされた前記少なくとも1つのプロセッサと、を含む、モバイル通信デバイス。 1. 1. A mobile communication device, a communication interface for communicating with a first type payment reader and a second type payment reader, each of the second type payment readers of the second type. It has a second generation Layer 2 (L2) kernel for processing payment information from payment devices, and each of the first type payment readers is for processing payment information from first generation payment devices. A communication interface having a first generation L2 kernel and, when executed by at least one processor, having the at least one processor receive the processed second type of payment information and said the processed first. The second type of payment information is processed by the second generation L2 kernel of the second type of payment reader for approval of payment transactions based on the processed second type of payment information. , The processed second type of payment information is sent to one or more payment servers, and the first type of payment information processed by the first generation L2 kernel of the first type payment reader. Received and sent the first type of payment information to one or more payment servers for approval of payment transactions based on the first type of payment information, raw from the first type of payment reader. (Raw) second type of payment information is received and the raw second type of payment information is used to process the raw second type of payment information of the second generation of mobile communication devices. Payment based on the raw second type of payment information sent to the L2 kernel and processed by the second generation L2 kernel of the mobile communication device. A mobile communication device, including said at least one processor programmed by an instruction, which is sent to one or more payment servers for approval of a transaction.

2.支払デバイスから直接非接触支払いを受信するように構成されたインターフェースをさらに備え、前記インターフェースは、前記モバイル通信デバイスの前記第2世代のL2カーネルを使用して非接触支払いを受信する、節1に記載のモバイル通信デバイス。 2. 2. Further comprising an interface configured to receive contactless payments directly from the payment device, wherein the interface receives contactless payments using the second generation L2 kernel of the mobile communication device, in Section 1. The mobile communication device described.

3.前記モバイル通信デバイスの前記第2世代のL2カーネルは、前記第1世代のL2カーネルよりも大きな処理能力を有する、節1に記載のモバイル通信デバイス。 3. 3. The mobile communication device according to Section 1, wherein the second generation L2 kernel of the mobile communication device has a larger processing capacity than the first generation L2 kernel.

4.前記生の第2のタイプの支払情報は、支払取引に関連する認証情報を含む、節1に記載のモバイル通信デバイス。 4. The mobile communication device according to Section 1, wherein the raw second type of payment information includes authentication information related to a payment transaction.

5.前記モバイル通信デバイスは、前記第2のタイプの支払リーダの前記第2世代のL2カーネルから未処理の第2のタイプの支払情報を受信し、未処理の第2のタイプの支払情報を、前記未処理の第2のタイプの支払情報を処理するために、前記モバイル通信デバイスの前記第2世代のL2カーネルへ提供するようにさらに構成される、節1に記載のモバイル通信デバイス。 5. The mobile communication device receives unprocessed second type payment information from the second generation L2 kernel of the second type payment reader and receives the unprocessed second type payment information. The mobile communication device according to section 1, further configured to provide to the second generation L2 kernel of the mobile communication device to process unprocessed second type of payment information.

6.前記第2のタイプの支払リーダの前記第2世代のL2カーネルは、前記モバイル通信デバイスの前記第2世代のL2カーネルと機能的に同一である、節5に記載のモバイル通信デバイス。 6. The mobile communication device according to Section 5, wherein the second generation L2 kernel of the second type payment reader is functionally identical to the second generation L2 kernel of the mobile communication device.

7.前記モバイル通信デバイスは、携帯電話である、節1に記載のモバイル通信デバイス。 7. The mobile communication device according to Section 1, wherein the mobile communication device is a mobile phone.

8.モバイル通信デバイスによって、第1のタイプの支払リーダまたは第2のタイプの支払リーダから支払情報を受信することであって、前記第1のタイプの支払リーダは第1のタイプの支払デバイスからの支払情報を処理するための第1世代のL2カーネルを有し、前記第2のタイプの支払リーダは第2のタイプの支払デバイスからの支払情報を処理するための第2世代のレイヤ2(L2)カーネルを有する、受信することと、前記モバイル通信デバイスによって、前記受信された支払情報が前記第2のタイプの支払リーダの前記第2世代のL2カーネルによって処理された処理済の第2のタイプの支払情報である場合、前記処理された第2のタイプの支払情報に基づいた支払取引の承認のために、前記処理された第2のタイプの支払情報を1つ以上の支払サーバへ送信することと、前記モバイル通信デバイスによって、前記受信された支払情報が前記第1のタイプの支払リーダの前記第1世代のL2カーネルによって処理された第1のタイプの支払情報である場合、前記第1のタイプの支払情報に基づいた支払取引の承認のために、前記第1のタイプの支払情報を1つ以上の支払サーバへ送信することと、前記受信された支払情報が前記第1のタイプの支払リーダからの生の第2のタイプの支払情報である場合、(a)前記モバイル通信デバイスによって、前記生の第2のタイプの支払情報を、前記生の第2のタイプの支払情報を処理するために前記モバイル通信デバイスの第2世代のL2カーネルへ提供し、(b)前記モバイル通信デバイスによって、前記モバイル通信デバイスの前記第2世代のL2カーネルによって処理された前記生の第2のタイプの支払情報を、前記送信された生の第2のタイプの支払情報に基づいた支払取引の承認のために1つ以上の支払サーバへ送信することと、を含む方法。 8. The mobile communication device receives payment information from a first-type payment reader or a second-type payment reader, wherein the first-type payment reader pays from a first-type payment device. It has a first generation L2 kernel for processing information, said second type payment reader is a second generation layer 2 (L2) for processing payment information from a second type payment device. A second type of processed payment that has a kernel and has been processed by the mobile communication device and the received payment information has been processed by the second generation L2 kernel of the second type payment reader. In the case of payment information, sending the processed second type of payment information to one or more payment servers for approval of payment transactions based on the processed second type of payment information. And if the received payment information by the mobile communication device is the first type of payment information processed by the first generation L2 kernel of the first type payment reader, the first type of payment information. Sending the first type of payment information to one or more payment servers and the received payment information being the first type of payment for approval of a payment transaction based on the type of payment information. If it is a raw second type of payment information from a reader, (a) the mobile communication device processes the raw second type of payment information and the raw second type of payment information. To the second generation L2 kernel of the mobile communication device for the purpose of (b) the raw second type processed by the mobile communication device by the second generation L2 kernel of the mobile communication device. A method comprising transmitting payment information to one or more payment servers for approval of payment transactions based on said raw second type of payment information transmitted.

9.前記モバイル通信デバイスの前記第2世代のL2カーネルを使用して支払デバイスからの非接触支払を受信することをさらに含む、節8に記載の方法。 9. 8. The method of Section 8, further comprising receiving contactless payments from a payment device using the second generation L2 kernel of the mobile communication device.

10.前記モバイル通信デバイスの前記第2世代のL2カーネルは、前記第1のタイプの支払リーダの前記第1世代のL2カーネルよりも大きな処理能力を有する、節8に記載の方法。 10. 8. The method of Section 8, wherein the second generation L2 kernel of the mobile communication device has greater processing power than the first generation L2 kernel of the first type payment reader.

11.前記生の第2のタイプの支払情報は、支払取引に関連する認証情報を含む、節9に記載の方法。 11. The method of Section 9, wherein the raw second type of payment information includes authentication information related to the payment transaction.

12.前記第2のタイプの支払リーダの前記第2世代のL2カーネルから未処理の第2タイプの支払情報を受信することと、前記未処理の第2のタイプの支払情報を処理するために、前記未処理の第2のタイプの支払情報を前記モバイル通信デバイスの前記第2世代のL2カーネルへ提供することと、をさらに含む、節8に記載の方法。 12. To receive unprocessed second type payment information from the second generation L2 kernel of the second type payment reader and to process the unprocessed second type payment information. 8. The method of Section 8, further comprising providing unprocessed second type of payment information to the second generation L2 kernel of the mobile communication device.

13.前記第2のタイプの支払リーダの前記第2世代のL2カーネルは、前記モバイル通信デバイスの前記第2世代のL2カーネルと機能的に同一である、節8に記載の方法。 13. 8. The method of Section 8, wherein the second generation L2 kernel of the second type payment reader is functionally identical to the second generation L2 kernel of the mobile communication device.

14.前記モバイル通信デバイスは、携帯電話である、節8に記載の方法。 14. The method according to Section 8, wherein the mobile communication device is a mobile phone.

15.モバイル通信デバイスの1つ以上のプロセッサによって実行される場合に、1つ以上の処理ユニットに、前記モバイル通信デバイスの外部の第1の支払リーダまたは第2の支払リーダから支払情報を受信することであって、前記第1の支払リーダは第1のタイプの支払情報を処理するように構成された第1世代のL2カーネルを有し、前記第2の支払リーダは前記第1のタイプの支払情報とは異なる第2のタイプの支払情報を処理するように構成された第2世代のレイヤ2(L2)カーネルを有する、受信することと、前記受信された支払情報が前記第2のタイプの支払情報を含み、且つ、前記受信された支払情報が前記第2の支払リーダの前記第2世代のL2カーネルによって処理されている場合、前記受信された支払情報に基づいた支払取引の承認のために、前記受信された支払情報を1つ以上の支払サーバへ送信することと、前記受信された支払情報が前記第1のタイプの支払情報を含み、且つ前記受信された支払情報が前記第1の支払リーダの前記第1世代のL2カーネルによって処理されている場合、前記受信された支払情報に基づいた支払取引の承認のために、前記受信された支払情報を1つ以上の支払サーバへ送信することと、前記受信された支払情報が前記第2のタイプの支払情報を含み、且つ前記受信された支払情報が前記第1の支払リーダから処理無しで受信されている場合に、(a)前記モバイル通信デバイスの前記第2世代のL2カーネルを使用して、前記受信された支払情報を処理し、(b)処理された支払情報に基づいた支払取引の承認のために、前記処理された支払情報を1つ以上の支払サーバへ送信することを行うことと、を含む動作を実行させる命令を中に格納した非一時的コンピュータ可読記憶媒体。 15. When executed by one or more processors of a mobile communication device, one or more processing units receive payment information from a first payment reader or a second payment reader external to the mobile communication device. The first payment reader has a first generation L2 kernel configured to process the first type of payment information, and the second payment reader has the first type of payment information. Receiving and having the received payment information having a second generation Layer 2 (L2) kernel configured to process a second type of payment different from that of the second type of payment. For approval of payment transactions based on the received payment information, if it contains information and the received payment information is processed by the second generation L2 kernel of the second payment reader. , The received payment information is transmitted to one or more payment servers, the received payment information includes the first type of payment information, and the received payment information is said first. When processed by the first generation L2 kernel of a payment reader, it sends the received payment information to one or more payment servers for approval of payment transactions based on the received payment information. (A) The said, when the received payment information includes the second type of payment information and the received payment information is received from the first payment reader without processing. The processed payment is processed using the second generation L2 kernel of the mobile communication device to process the received payment information and (b) approve the payment transaction based on the processed payment information. A non-temporary computer-readable storage medium containing instructions to perform an operation, including sending information to one or more payment servers.

16.前記命令の実行は、前記1つ以上の処理ユニットに、前記モバイル通信デバイスの前記第2世代のL2カーネルを使用して支払デバイスから非接触支払を受信することを含む動作をさらに実行させる、節15に記載の非一時的コンピュータ可読記憶媒体。 16. Execution of the instruction further causes the one or more processing units to perform operations including receiving contactless payments from the payment device using the second generation L2 kernel of the mobile communication device. 15. The non-temporary computer-readable storage medium according to 15.

17.前記モバイル通信デバイスの前記第2世代のL2カーネルは、前記第1の支払リーダの前記第1世代のL2カーネルよりも大きな処理能力を有する、節15に記載の非一時的コンピュータ可読記憶媒体。 17. The non-temporary computer-readable storage medium according to section 15, wherein the second generation L2 kernel of the mobile communication device has greater processing power than the first generation L2 kernel of the first payment reader.

18.前記受信された支払情報は、支払取引に関連する認証情報を含む、節15に記載の非一時的コンピュータ可読記憶媒体。 18. The non-temporary computer-readable storage medium according to section 15, wherein the received payment information includes authentication information related to the payment transaction.

19.前記命令の実行は、前記1つ以上の処理ユニットに、前記第2の支払いリーダの前記第2世代のL2カーネルから未処理の支払情報を受信することであって、前記未処理の支払情報は前記第2のタイプの支払情報を含む、受信することと、前記未処理の支払情報を処理するために、前記未処理の支払情報を前記モバイル通信デバイスの前記第2世代のL2カーネルへ提供することと、を含む動作をさらに実行させる、節15に記載の非一時的コンピュータ可読記憶媒体。 19. Execution of the instruction is to receive the unprocessed payment information from the second generation L2 kernel of the second payment reader to the one or more processing units, wherein the unprocessed payment information is. The unprocessed payment information is provided to the second generation L2 kernel of the mobile communication device in order to receive and process the unprocessed payment information, including the second type of payment information. The non-temporary computer-readable storage medium according to section 15, which further performs an operation including that.

20.前記第2の支払リーダの前記第2世代のL2カーネルは、前記モバイル通信デバイスの前記第2世代のL2カーネルと機能的に同一である、節15に記載の非一時的コンピュータ可読記憶媒体。 20. The non-temporary computer-readable storage medium according to section 15, wherein the second generation L2 kernel of the second payment reader is functionally identical to the second generation L2 kernel of the mobile communication device.

販売時点情報管理(POS)システムであって、支払アプリケーション、レイヤ2(L2)カーネルの第1のモジュール、及び支払デバイスから支払情報を受信するためのレイヤ1(L1)モジュールを有する支払リーダであって、前記支払アプリケーションは前記L2カーネルの前記第1のモジュールによる前記支払情報の処理のために、前記支払情報を前記L2カーネルの前記第1のモジュールに提供するように構成されている、支払リーダと、前記支払リーダの外部の装置であって、前記装置は前記L2カーネルの第2のモジュールを有しており、前記支払アプリケーションは、前記L2カーネルの前記第1のモジュールによって処理された前記支払情報を、前記L2カーネルの前記第2のモジュールによって処理するために前記装置へ送信するように構成されている、装置と、を備えるPOSシステム。 A point-of-sale information management (POS) system that is a payment reader with a payment application, a first module of a layer 2 (L2) kernel, and a layer 1 (L1) module for receiving payment information from a payment device. The payment application is configured to provide the payment information to the first module of the L2 kernel for processing the payment information by the first module of the L2 kernel. And an external device of the payment reader, the device having a second module of the L2 kernel, the payment application being the payment processed by the first module of the L2 kernel. A POS system comprising a device configured to send information to the device for processing by the second module of the L2 kernel.

22.前記支払情報が前記L2カーネルの前記第2のモジュールによって処理された後に、前記支払情報を1つ以上の支払サーバへ送信するように構成されている、節21に装置のPOSシステム。 22. Section 21 is the POS system of the device, which is configured to send the payment information to one or more payment servers after the payment information has been processed by the second module of the L2 kernel.

23.前記L2カーネルの前記第2のモジュールによる前記処理は、支払取引の認証に関連する、節21に記載のPOSシステム。 23. The POS system according to section 21, wherein the processing by the second module of the L2 kernel relates to authentication of payment transactions.

24.前記支払情報は、第1の支払情報および第2の支払情報を含み、前記L2カーネルの前記第1のモジュールは、前記第1の支払情報を処理するように構成され、前記L2カーネルの前記第2のモジュールは、前記第2の支払情報を処理するように構成される、節21に記載のPOSシステム。 24. The payment information includes a first payment information and a second payment information, the first module of the L2 kernel is configured to process the first payment information, and the first of the L2 kernel. 2. The POS system according to section 21, wherein the module 2 is configured to process the second payment information.

25.販売時点情報管理(POS)システムであって、支払アプリケーション、レイヤ2(L2)カーネル、及びレイヤ1(L1)モジュールの第1のサブモジュールを有する支払デバイスであって、前記L1モジュールの前記第1のサブモジュールは、支払オブジェクトから支払情報を受信するように構成されており、前記支払アプリケーションは、前記L2カーネルによる前記支払情報の処理のために、前記L1モジュールの前記第1のサブモジュールから前記L2カーネルへ前記支払情報を提供するように構成されている、支払デバイスと、前記支払デバイスに接続された支払リーダであり、且つ、前記支払オブジェクトから支払情報を読み取るように構成された物理インターフェースを備える前記L1モジュールの第2のサブモジュールを有する支払リーダであって、前記支払リーダは前記支払オブジェクトから読み取られた前記支払情報を前記L1モジュールの前記第1のサブモジュールへ送信するように構成される、支払リーダと、を備えるPOSシステム。 25. A point-of-sale (POS) system, a payment device having a payment application, a layer 2 (L2) kernel, and a first submodule of a layer 1 (L1) module, the first of the L1 modules. Submodule of is configured to receive payment information from a payment object, the payment application from said first submodule of said L1 module for processing said payment information by said L2 kernel. A payment device configured to provide the payment information to the L2 kernel and a physical interface configured to be a payment reader connected to the payment device and read payment information from the payment object. A payment reader having a second submodule of the L1 module, wherein the payment reader is configured to transmit the payment information read from the payment object to the first submodule of the L1 module. A POS system with a payment reader.

26.前記支払デバイスは、前記支払リーダの外部の携帯電話であり、前記支払リーダは、前記携帯電話に通信可能に接続される、節25に記載のPOSシステム。 26. 25. The POS system of section 25, wherein the payment device is a mobile phone external to the payment reader, the payment reader being communicably connected to the mobile phone.

27.前記L1モジュールの前記第2のサブモジュールは、前記支払リーダの機械的機能に関連する、節25に記載のPOSシステム。 27. The POS system according to Section 25, wherein the second submodule of the L1 module relates to the mechanical function of the payment reader.

28.前記支払リーダの前記機械的機能は、前記支払リーダの電圧レベルの調整および前記支払オブジェクトとの接触の実施のうちの1つ以上に関連する、節27に記載のPOSシステム。 28. The POS system according to section 27, wherein the mechanical function of the payment reader relates to one or more of adjusting the voltage level of the payment reader and performing contact with the payment object.

29.前記L1モジュールの前記第1のサブモジュールは、前記支払リーダのソフトウェア機能の制御に関連する、節25に記載のPOSシステム。 29. The POS system according to Section 25, wherein the first submodule of the L1 module relates to the control of software functions of the payment reader.

30.前記L1モジュールの前記第1のサブモジュールは、前記支払リーダの電気的機能の制御に関連する、節25に記載のPOSシステム。 30. The POS system according to Section 25, wherein the first submodule of the L1 module relates to the control of the electrical function of the payment reader.

31.前記支払リーダの前記電気的機能は、ワイヤと前記支払リーダの支払インターフェースとの間の電気的接続を駆動することに関連し、前記支払インターフェースは、EMV接点パッドまたはNFCコイルのうちの1つ以上である、節30に記載のPOSシステム。 31. The electrical function of the payment reader relates to driving an electrical connection between the wire and the payment interface of the payment reader, the payment interface being one or more of an EMV contact pad or an NFC coil. The POS system according to section 30.

32.支払オブジェクトから支払情報を受信するように構成されたインターフェースと、支払アプリケーションと、カーネルの第1のモジュールと、前記支払デバイス以外の装置と通信可能な無線通信インターフェースと、を備え、前記装置は前記カーネルの第2のモジュールを備え、前記支払アプリケーションは、前記第2のモジュールによる処理のために、前記無線通信インターフェースを介して、前記受信された支払情報を前記装置へ提供するように構成される、支払デバイス。
33.前記支払アプリケーションは、前記無線通信インターフェースを介して、処理された支払情報を前記装置から受信し、前記処理された支払情報は前記第2のモジュールによって処理されており、前記処理された支払情報を1つ以上の支払サーバへ送信するようにさらに構成される、節32に記載の支払デバイス。
32. It comprises an interface configured to receive payment information from a payment object, a payment application, a first module of the kernel, and a wireless communication interface capable of communicating with devices other than the payment device. It comprises a second module of the kernel and the payment application is configured to provide the received payment information to the device via the wireless communication interface for processing by the second module. , Payment device.
33. The payment application receives the processed payment information from the device via the wireless communication interface, the processed payment information is processed by the second module, and the processed payment information is used. The payment device according to section 32, further configured to send to one or more payment servers.

34.前記支払アプリケーションは、前記処理された支払情報を前記1つ以上の支払サーバへ送信する前に、前記処理された支払情報を、処理される前記カーネルの前記第1のモジュールへ送信するようにさらに構成される、節33に記載の支払デバイス。 34. The payment application further sends the processed payment information to the first module of the kernel to be processed before sending the processed payment information to the one or more payment servers. The payment device according to section 33, which is configured.

35.前記第1のモジュールは、前記受信された支払情報の第1の支払情報を処理し、前記第2のモジュールは、前記受信された支払情報の第2の支払情報を処理し、前記第1のモジュールによる前記第1の支払情報の処理と、前記第2のモジュールによる前記第2の支払情報の処理とは、並行して行われる、節32に記載の支払デバイス。 35. The first module processes the first payment information of the received payment information, the second module processes the second payment information of the received payment information, and the first. The payment device according to section 32, wherein the processing of the first payment information by the module and the processing of the second payment information by the second module are performed in parallel.

36.方法であって、支払デバイスによって、支払オブジェクトから支払情報を受信することと、前記支払デバイスによって、第1のモジュールによる前記支払情報の処理のために、前記支払情報をカーネルの前記第1のモジュールへ送信することであって、前記第1のモジュールは前記支払デバイスにインストールされている、送信することと、前記支払デバイスによって、前記第1のモジュールによって処理された前記支払情報を、前記第2のモジュールによって処理するために前記カーネルの第2のモジュールへ送信することであって、前記第2のモジュールは、前記支払デバイスの外部の装置にインストールされている、送信することと、を含む方法。 36. A method of receiving payment information from a payment object by a payment device and processing the payment information by the payment device by the first module, the payment information in the first module of the kernel. The first module is installed in the payment device, the transmission and the payment information processed by the first module by the payment device to the second. A method comprising sending to a second module of the kernel for processing by the module, wherein the second module is installed in a device external to the paying device. ..

上記は本開示の原理を単に例示するものであり、本開示の範囲から逸脱することなく、当業者によって様々な修正を行うことができる。上述の実施形態は例示の目的で提示されており、限定の目的で提示されていない。本開示はまた、本明細書に明示的に記載されたもの以外の多くの形態をとることができる。したがって、本開示は、明示的に開示された方法、システム、および装置に限定されず、以下の特許請求の範囲の精神の範囲内にある、その変形および修正を含むことが意図されることが強調される。 The above is merely an example of the principles of the present disclosure, and various modifications can be made by those skilled in the art without departing from the scope of the present disclosure. The above embodiments are presented for illustrative purposes only and not for limited purposes. The disclosure may also take many forms other than those expressly described herein. Accordingly, this disclosure is not limited to the methods, systems, and devices explicitly disclosed, and is intended to include modifications and modifications thereof, which are within the spirit of the following claims. Be emphasized.

さらなる例として、装置または処理パラメータ(例えば、寸法、構成、構成要素、処理ステップ順序など)の変形を行って、本明細書に示され、説明されるように、提供される構造、デバイス、および方法をさらに最適化することができる。いずれにしても、本明細書で説明される構造およびデバイス、ならびに関連する方法は、多くの用途を有する。したがって、開示される主題は、本明細書で説明される任意の単一の実施形態に限定されるべきではなく、むしろ、添付の特許請求の範囲による広さおよび範囲で解釈されるべきである。 As a further example, modifications of equipment or processing parameters (eg, dimensions, configurations, components, processing step sequences, etc.) are made to provide structures, devices, and as described herein. The method can be further optimized. In any case, the structures and devices described herein, as well as related methods, have many uses. Accordingly, the subject matter disclosed should not be limited to any single embodiment described herein, but rather should be construed in the breadth and scope of the appended claims. ..

Claims (13)

販売時点情報管理(POS)システムであって、
支払アプリケーションと、支払カードから支払情報を受信するためのレイヤ1(L1)モジュールと、第1のレイヤ2(L2)カーネルとを有する支払リーダと、
前記支払リーダの外部にあり、第2のL2カーネルを有するモバイルデバイスと、を備え、
前記支払アプリケーションは、前記支払リーダの条件に基づいて、前記第1のL2カーネル、または、前記モバイルデバイス上の前記第2のL2カーネルが、前記支払情報を処理すべきかどうかを動的に判定するように構成されており、
前記支払アプリケーションは、前記第1のL2カーネルが前記支払情報を処理すべきであると判定された場合に、未処理の支払情報を前記支払リーダの前記第1のL2カーネルへ処理のために送信するように構成されており、
前記支払アプリケーションは、前記第2のL2カーネルが前記支払情報を処理すべきであると判定された場合に、前記未処理の支払情報を前記モバイルデバイスの前記第2のL2カーネルへ処理のために送信するように構成されている、POSシステム。
A point-of-sale (POS) system
A payment reader with a payment application, a layer 1 (L1) module for receiving payment information from a payment card, and a first layer 2 (L2) kernel.
A mobile device that is external to the payment reader and has a second L2 kernel.
The payment application dynamically determines whether the first L2 kernel or the second L2 kernel on the mobile device should process the payment information based on the terms of the payment reader. Is configured to
The payment application sends unprocessed payment information to the first L2 kernel of the payment reader for processing when it is determined that the first L2 kernel should process the payment information. Is configured to
The payment application processes the unprocessed payment information into the second L2 kernel of the mobile device when it is determined that the second L2 kernel should process the payment information. A POS system that is configured to send.
前記支払アプリケーションは、前記第1のL2カーネルが前記支払情報を処理すべきであると判定された場合に、前記支払リーダの前記第1のL2カーネルにより処理された前記支払情報を、前記モバイルデバイスの前記第2のL2カーネルへ送信するようにさらに構成されている、請求項1に記載のPOSシステム。 The payment application transfers the payment information processed by the first L2 kernel of the payment reader to the mobile device when it is determined that the first L2 kernel should process the payment information. The POS system according to claim 1, further configured to transmit to said second L2 kernel. 前記支払リーダの前記条件は、(a)前記支払リーダのバッテリの検出された電力レベル、(b)前記支払リーダの外部の前記デバイスのバッテリの検出された電力レベル、および(c)前記支払リーダと前記支払リーダの外部の前記デバイスとの間の相対電力レベルのうちの1つに関連する、請求項1に記載のPOSシステム。 The conditions of the payment reader are (a) the detected power level of the battery of the payment reader, (b) the detected power level of the battery of the device outside the payment reader, and (c) the payment reader. The POS system of claim 1, relating to one of the relative power levels between the device and the device external to the payment reader. 前記支払リーダの前記条件は、低電力イベントの発生に関連し、
低電力イベントは、(a)前記支払リーダの前記バッテリの前記検出された電力レベルが所定の閾値を下回る、(b)前記支払リーダの前記バッテリの前記検出された電力レベルと、前記支払リーダの外部の前記モバイルデバイスの前記バッテリの前記検出された電力レベルとの間の差が所定の差を上回る、または(c)前記支払リーダの前記バッテリの前記検出された電力レベルが所定の閾値を下回り、且つ前記支払リーダの外部の前記モバイルデバイスの前記バッテリの前記検出された電力レベルが所定の閾値を上回る、のうちの何れかが真である場合に発生すると判定される、請求項3に記載のPOSシステム。
The conditions of the payment reader relate to the occurrence of a low power event and
The low power event is (a) the detected power level of the battery of the payment reader below a predetermined threshold, (b) the detected power level of the battery of the payment reader and the payment reader. The difference between the detected power level of the battery of the external mobile device is greater than the predetermined difference, or (c) the detected power level of the battery of the pay reader is below a predetermined threshold. And claim 3, it is determined to occur when any of the detected power levels of the battery of the mobile device outside the payment reader exceeds a predetermined threshold is true. POS system.
前記支払リーダの前記条件は、前記支払リーダの前記第1のL2カーネルのバージョン番号に関連する、請求項1に記載のPOSシステム。 The POS system of claim 1, wherein the condition of the payment reader relates to a version number of the first L2 kernel of the payment reader. 前記支払リーダの前記条件は、前記支払リーダにおける潜在的な改ざんの試みの検出に関連する、請求項1に記載のPOSシステム。 The POS system of claim 1, wherein the condition of the payment reader relates to detection of a potential tampering attempt at the payment reader. 支払リーダであって、
支払デバイスから支払情報を受信するためのレイヤ1(L1)モジュールと、
第2のレイヤ(L2)カーネルを有するネットワークデバイスへ前記支払リーダから情報を送信するように構成された無線通信インターフェースと、
前記L1モジュールの条件に関連するカーネルディレクタによってなされた判定に従って、前記L1モジュールに指示して、前記無線通信インターフェースを介して、前記第2のL2カーネルへ前記支払情報を送信するように構成された前記カーネルディレクタと、
を備える、支払リーダ。
Being a payment leader
A layer 1 (L1) module for receiving payment information from payment devices,
A wireless communication interface configured to transmit information from the payment reader to a network device having a second layer (L2) kernel.
According to the determination made by the kernel director related to the conditions of the L1 module, it is configured to instruct the L1 module to transmit the payment information to the second L2 kernel via the wireless communication interface. With the kernel director
A payment reader.
前記L1モジュールは、前記支払リーダのOSI物理レイヤに分類され、前記L2カーネルは、前記ネットワークデバイスのOSIアプリケーションレイヤに分類される、請求項7に記載の支払リーダ。 The payment reader of claim 7, wherein the L1 module is classified in the OSI physical layer of the payment reader, and the L2 kernel is classified in the OSI application layer of the network device. 前記L1モジュールの条件に関連する前記判定は、前記支払情報が前記L1モジュールによって処理できないという判定である、請求項7に記載の支払リーダ。 The payment reader according to claim 7, wherein the determination related to the condition of the L1 module is a determination that the payment information cannot be processed by the L1 module. 前記L1モジュールの条件に関する前記判定は、前記支払処理デバイスの処理能力が前記支払情報を処理するのに不十分であるという判定である、請求項7に記載の支払リーダ。 The payment reader according to claim 7, wherein the determination regarding the conditions of the L1 module is a determination that the processing capacity of the payment processing device is insufficient to process the payment information. システムであって、
支払デバイスと、
支払アプリケーション、第1のプロセッサ内の第1のレイヤ2(L2)カーネル、第2のプロセッサ内の第2のL2カーネル、および第3のプロセッサ内のL1(L1)モジュールを有する支払リーダと、を備え、前記L1モジュールは、前記支払デバイスから支払情報を受信するためのものであり、
前記第2のL2カーネルは、前記第2のプロセッサの信頼ゾーン内にあり、
前記支払アプリケーションは、イベントデータに基づいて、前記支払情報を処理するために前記第1のL2カーネル及び前記第2のL2カーネルのうちの1つを動的に選択し、前記支払情報を前記選択されたL2カーネルに提供するように構成されており、
前記支払アプリケーションは、前記イベントデータが第1の条件を示す場合に、前記支払情報を処理するために前記第1のL2カーネルを選択するように構成されており、
前記POSアプリケーションは、前記イベントデータが第2の条件を示す場合に、前記支払情報を処理するために前記第2のL2カーネルを選択するように構成されている、システム。
It ’s a system,
With payment devices,
A payment application, a first Layer 2 (L2) kernel in a first processor, a second L2 kernel in a second processor, and a payment reader with an L1 (L1) module in a third processor. The L1 module is for receiving payment information from the payment device.
The second L2 kernel is in the trust zone of the second processor.
The payment application dynamically selects one of the first L2 kernel and the second L2 kernel to process the payment information based on the event data and selects the payment information. It is configured to provide to the L2 kernel that has been
The payment application is configured to select the first L2 kernel to process the payment information if the event data indicates a first condition.
The POS application is configured to select the second L2 kernel to process the payment information if the event data indicates a second condition.
前記イベントデータは、前記第1のL2カーネルについて改ざんイベントが疑われる場合に第2の条件を示す、請求項11に記載のシステム。 The system according to claim 11, wherein the event data indicates a second condition when a tampering event is suspected for the first L2 kernel. 前記第1のプロセッサは、前記支払リーダのセキュア支払エンクレーブ(SPE)内にある、請求項11に記載のシステム。 11. The system of claim 11, wherein the first processor is in a secure payment enclave (SPE) of the payment reader.
JP2021528447A 2018-12-21 2019-12-20 Point-of-sale (POS) system and method with dynamic kernel selection Pending JP2022512297A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US16/231,030 2018-12-21
US16/231,030 US11049095B2 (en) 2018-12-21 2018-12-21 Point of sale (POS) systems and methods with dynamic kernel selection
US16/230,823 2018-12-21
US16/230,823 US10762196B2 (en) 2018-12-21 2018-12-21 Point of sale (POS) systems and methods with dynamic kernel selection
US16/230,940 2018-12-21
US16/230,940 US10990969B2 (en) 2018-12-21 2018-12-21 Point of sale (POS) systems and methods for dynamically processing payment data based on payment reader capability
PCT/US2019/067907 WO2020132476A1 (en) 2018-12-21 2019-12-20 Point of sale (pos) systems and methods with dynamic kernel selection

Publications (1)

Publication Number Publication Date
JP2022512297A true JP2022512297A (en) 2022-02-03

Family

ID=71102338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021528447A Pending JP2022512297A (en) 2018-12-21 2019-12-20 Point-of-sale (POS) system and method with dynamic kernel selection

Country Status (5)

Country Link
EP (1) EP3857417A4 (en)
JP (1) JP2022512297A (en)
CN (1) CN113544673A (en)
AU (3) AU2019405995B2 (en)
WO (1) WO2020132476A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049095B2 (en) 2018-12-21 2021-06-29 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
GB202108281D0 (en) * 2021-06-10 2021-07-28 Mastercard International Inc Wireless terminal apparatus and method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180053157A1 (en) 2010-01-08 2018-02-22 Blackhawk Network, Inc. Systems and methods for consumer modifiable payment card transactions
EP2688025A1 (en) 2012-07-20 2014-01-22 MobiPayPoint Limited Method of processing a card-present, card payment transaction
GB201304764D0 (en) * 2013-03-15 2013-05-01 Mastercard International Inc Method and apparatus for payment transactions
US9978054B2 (en) * 2014-04-11 2018-05-22 Mastercard International Incorporated Acceptance quality improvement using localization data to adjust contactless payment
US9330383B1 (en) * 2015-09-23 2016-05-03 Square, Inc. Message dispatcher for payment system
US10475034B2 (en) * 2016-02-12 2019-11-12 Square, Inc. Physical and logical detections for fraud and tampering
KR20180037473A (en) * 2016-10-04 2018-04-12 삼성전자주식회사 Mobile payment method, electronic device and external payment device therefor
US11514418B2 (en) * 2017-03-19 2022-11-29 Nxp B.V. Personal point of sale (pPOS) device with a local and/or remote payment kernel that provides for card present e-commerce transaction
SG10201708570XA (en) * 2017-10-18 2019-05-30 Mastercard International Inc A system for executing a computer process for processing a transaction, and related computer process

Also Published As

Publication number Publication date
AU2019405995B2 (en) 2022-12-22
EP3857417A4 (en) 2022-02-09
AU2024202020A1 (en) 2024-04-18
AU2019405995A1 (en) 2021-08-12
AU2023201736A1 (en) 2023-04-20
AU2023201736B2 (en) 2024-02-22
EP3857417A1 (en) 2021-08-04
CN113544673A (en) 2021-10-22
WO2020132476A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
US10762196B2 (en) Point of sale (POS) systems and methods with dynamic kernel selection
US11775957B2 (en) Point of sale (POS) systems and methods with kernel selection
US9785930B1 (en) Expedited processing of electronic payment transactions
US10417628B2 (en) Multi-interface processing of electronic payment transactions
US10990969B2 (en) Point of sale (POS) systems and methods for dynamically processing payment data based on payment reader capability
US9778928B1 (en) Compressed firmware update
EP3436937B1 (en) Blocking and non-blocking firmware update
US10255464B2 (en) Systems and methods for determining clock rates for communicating with processing devices
CA3027611C (en) Expedited processing of electronic payment transactions
US20170286093A1 (en) Blocking and non-blocking firmware update
US10235667B2 (en) Device-embedded transaction chip
AU2023201736B2 (en) Point of sale (pos) systems and methods with dynamic kernel selection
EP3563328B1 (en) Partial data object acquisition and processing
US10002268B1 (en) Identification of desired clock rate for an externally-driven processing device
WO2018144591A1 (en) Communication protocol speedup and step-down
US10083443B1 (en) Persistent authentication of a wearable device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240314