CN110199309B - 经由可信执行环境进行认证的方法和系统 - Google Patents

经由可信执行环境进行认证的方法和系统 Download PDF

Info

Publication number
CN110199309B
CN110199309B CN201880007991.2A CN201880007991A CN110199309B CN 110199309 B CN110199309 B CN 110199309B CN 201880007991 A CN201880007991 A CN 201880007991A CN 110199309 B CN110199309 B CN 110199309B
Authority
CN
China
Prior art keywords
computing device
application
authentication
data
payment
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.)
Active
Application number
CN201880007991.2A
Other languages
English (en)
Other versions
CN110199309A (zh
Inventor
B·J·卢瑟福
P·夏尔马
D·卡特勒
A·姆生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mastercard International Inc
Original Assignee
Mastercard International Inc
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
Application filed by Mastercard International Inc filed Critical Mastercard International Inc
Publication of CN110199309A publication Critical patent/CN110199309A/zh
Application granted granted Critical
Publication of CN110199309B publication Critical patent/CN110199309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/105Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems involving programming of a portable memory device, e.g. IC cards, "electronic purses"
    • 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]
    • G06Q20/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • G07F7/088Details of the card reader the card reader being part of the point of sale [POS] terminal or electronic cash register [ECR] itself
    • G07F7/0886Details of the card reader the card reader being part of the point of sale [POS] terminal or electronic cash register [ECR] itself the card reader being portable for interacting with a POS or ECR in realizing a payment transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于经由可信执行环境促进的认证的方法包括:读取存储在计算设备的第一存储器区域中的第一应用程序中的支付凭证;将认证请求发送到存储在计算设备的与第一存储器区域分离的可信执行环境中的第二应用程序;基于由第二应用程序供应的指令显示对认证数据的提示;接收认证数据;向外部计算设备发送接收到的认证数据;由计算设备的第二应用程序接收来自外部计算设备的认证结果;以及由计算设备的第二应用程序响应于认证请求而将认证结果发送给第一应用程序。

Description

经由可信执行环境进行认证的方法和系统
相关申请的交叉引用
本申请要求于2017年1月23日提交的美国临时专利申请No.62/449,390的优先权及其权益。上述申请的全部公开内容通过引用并入本文。
技术领域
本公开涉及经由可信执行环境执行的认证,具体而言涉及通过使用包括存储在可信执行环境中的应用程序在内的多个应用程序将计算设备转换成销售点设备。
背景技术
传统的销售点设备是专门的计算机器,这些计算机器特别是对于小型企业而言购买常常是昂贵的并且难以设置和使用。照此,对销售产品感兴趣的许多个人或小型企业常常会坚持现金交易,缺乏用于读取和处理信用卡和其它支付工具的销售点系统。为了促进小型企业的这些类型的交易,已经开发了可以将诸如台式计算机、平板计算机或智能电话之类的传统计算设备转换成销售点设备的产品。通常,这些产品利用与计算设备对接的硬件元件以及加载在计算设备上并由计算设备执行的应用程序。
虽然这些类型的产品成功地从支付工具读取支付凭证并将支付凭证作为支付交易的一部分提交,但是类似于传统的销售点设备,它们利用计算设备的标准存储器和处理技术。照此,它们容易受到以可能使敏感支付信息处于危险之中的方式的黑客攻击和损害。在可能要求消费者提供认证信息(诸如个人标识号或签名)的情况下,诸如在从本机输入设备捕获数据期间,消费者数据受到损害的风险更大。
因此,需要一种技术方案,通过该技术方案,应用程序和支付工具设备读取硬件可以利用计算设备上的可信执行环境来提供以更高安全级别执行的认证。
发明内容
本公开提供了用于经由可信执行环境促进的认证的系统和方法的描述。计算设备使用支付工具读取设备和相关联的应用程序以及第二应用程序,该第二应用程序存储在处置所有认证数据的计算设备中的可信执行环境中并且经由该可信执行环境执行,使得计算设备可以利用现有的支付工具读取设备硬件和软件并且仍然使额外的认证被执行。可信执行环境的使用可以确保成功地并且在更高的安全级别下执行额外的认证,同时损害(compromise)数据的机会更少,并且无需修改支付工具读取设备和相关联的软件。
一种用于经由可信执行环境促进的认证的方法包括:由与计算设备对接的工具读取设备读取存储在支付工具中的支付凭证,其中支付凭证以电子方式发送到第一应用程序,第一应用程序具有存储在计算设备的第一存储器区域中的程序代码;由计算设备的第一应用程序向第二应用程序以电子方式发送认证请求,第二应用程序具有存储在计算设备的与第一存储器区域分离的可信执行环境中的程序代码;由与计算设备对接的显示设备基于由第二应用程序供应的指令显示对于认证数据的提示;由与计算设备对接的输入设备接收认证数据,其中认证数据以电子方式发送到第二应用程序;由计算设备的第二应用程序将接收到的认证数据以电子方式发送到外部计算设备;由计算设备的第二应用程序从外部计算设备接收基于所发送的认证数据的认证结果;以及由计算设备的第二应用程序响应于认证请求而以电子方式向第一应用程序发送认证结果。
一种用于经由可信执行环境促进的认证的系统包括:与计算设备对接的工具读取设备,被配置为读取存储在支付工具中的支付凭证;计算设备的第一应用程序,被配置为从工具读取设备接收读取的支付凭证,并且以电子方式向第二应用程序发送认证请求,其中第一应用程序具有存储在计算设备的第一存储器区域中的程序代码并且第二应用程序具有存储在计算设备的与第一存储器区域分离的可信执行环境中的程序代码;显示设备,与计算设备对接,被配置为基于由第二应用程序供应的指令显示对于认证数据的提示;以及输入设备,与计算设备对接,被配置为接收认证数据,其中以电子方式向第二应用程序发送认证数据,其中第二应用程序被配置为以电子方式向外部计算设备发送接收到的认证数据、从外部计算设备接收基于发送的认证数据的认证结果、并且响应于认证请求而以电子方式向第一应用程序发送认证结果。
附图说明
当结合附图阅读时,从示例性实施例的以下详细描述中可以最好地理解本公开的范围。附图中包括以下图:
图1是示出根据示例性实施例的用于经由可信执行环境促进的支付交易中的认证的高级系统体系架构的框图。
图2是示出根据示例性实施例的用于支付交易中的经由可信执行环境的认证的图1的系统的计算设备的框图。
图3是示出根据示例性实施例的经由图1的系统中的可信执行环境和发行机构进行认证的处理的流程图。
图4是示出根据示例性实施例的经由图1的系统中的可信执行环境和支付工具进行认证的处理的流程图。
图5是示出根据示例性实施例的用于经由可信执行环境促进的认证的示例性方法的流程图。
图6是示出根据示例性实施例的计算机系统体系架构的框图。
根据下文提供的详细描述,本公开的其它应用领域将变得明显。应当理解的是,示例性实施例的详细描述仅用于说明目的,并且因此并不旨在必然限制本公开的范围。
具体实施方式
术语表
交易账户-可以用于为交易提供资金的金融账户,诸如支票账户、储蓄账户、信用账户、虚拟支付账户等。交易账户可以与消费者相关联,消费者可以是与支付账户相关联的任何合适类型的实体,其可以包括个人、家庭、公司(company)、企业(corporation)、政府实体等。在一些情况下,交易账户可以是虚拟的,诸如由
Figure BDA0002139371830000041
运营的那些账户等。
发行方-为受益人设立(例如,开立)信用证或信用额度,并根据信用证或信用额度中指定的金额授予由受益人提取的汇票的实体。在许多情况下,发行方可以是授权开立信用额度的银行或其它金融机构。在一些情况下,可以向受益人提供信贷额度的任何实体都可以被视为发行方。发行方开立的信用额度可以以支付账户的形式表示,并且可以由受益人通过使用支付卡来提取。如将对于相关领域的技术人员来说明显的,发行方还可以向消费者提供其它类型的支付账户,诸如借记账户、预付账户、电子钱包账户、储蓄账户、支票账户等,并且可以向消费者提供用于访问和/或利用这种账户的物理或非物理手段,诸如借记卡、预付卡、自动柜员机卡、电子钱包、支票等。
收单方-可以代表商家处理支付卡交易的实体。收单方可以是被授权代表商家处理支付卡交易的银行或其它金融机构。在许多情况下,收单方可以向充当受益人的商家开立信用额度。在消费者(其可以是发行方提供的信用额度的受益人)经由支付卡与由收单方代表的商家进行交易的情况下,收单方可以与发行方交换资金。
销售点-计算设备或计算系统,被配置为接收与用户(例如,消费者、雇员等)的交互,以输入用于购买和/或支付商品和/或服务的交易数据、支付数据和/或其它合适类型的数据。销售点可以是消费者作为交易的一部分而访问的物理位置中(诸如在“实体”商店中)的物理设备(例如,收银机、自助服务终端、台式计算机、智能电话、平板电脑等),或者可以在电子商务环境中是虚拟的,诸如通过诸如互联网之类的网络从客户接收通信的在线零售商。在销售点可以是虚拟的情况下,如果适用的话,由用户操作以发起交易的计算设备或者接收作为交易的结果的数据的计算系统可以被视为销售点。
支付交易-两个实体之间的交易,在该交易中货币或其它经济利益从一个实体交换到另一个实体。支付交易可以是资金的转移,用于购买商品或服务、用于偿还债务、或用于对于相关领域的技术人员而言明显的任何其它经济利益交换。在一些情况下,支付交易可以指经由支付卡和/或支付账户提供资金的交易,诸如信用卡交易。可以经由发行方、支付网络和收单方处理这种支付交易。处理这种支付交易的过程可以包括授权、批处理、清算、结算和提供资金中的至少一个。授权可以包括消费者向商家提供支付细节、从商家向它们的收单方提交交易细节(例如,包括支付细节)、以及与用于为交易提供资金的消费者支付账户的发行方核实支付细节。批处理可以指将授权的交易与其它授权的交易存储在批次中以分发给收单方。清算可以包括从收单方向支付网络发送批量交易以进行处理。结算可以包括支付网络针对涉及发行方的受益人的交易计入发行方的借方。在一些情况下,发行方可以经由支付网络向收单方付款。在其它情况下,发行方可以直接向收单方付款。提供资金可以包括从收单方向商家支付已经清算和结算的支付交易。对于相关领域的技术人员来说明显的是,上面讨论的步骤的次序和/或分类作为支付交易处理的一部分来执行。
支付网络–用于在给定时间段期间通过使用现金替代品针对数千、数百万甚至数十亿交易来转移货币的系统或网络。支付网络可以使用各种不同的协议和程序,以便处理各种类型的交易的货币转移。可以经由支付网络执行的交易可以包括产品或服务购买、信用购买、借记交易、资金转移、账户取款等。支付网络可以被配置为经由现金替代品(其可以包括支付卡、信用证、支票、交易账户等)执行交易。被配置为充当支付网络的网络或系统的示例包括由
Figure BDA0002139371830000051
American/>
Figure BDA0002139371830000052
等运营的网络或系统。本文对术语“支付网络”的使用既可以指作为实体的支付网络,又可以指物理支付网络,诸如包括支付网络的装备、硬件和软件。
支付轨道-与在支付交易的处理中使用的支付网络相关联的基础设施,以及在给定时间段期间处理数千、数百万甚至数十亿的交易的支付网络和与支付网络互连的其它实体之间的交易消息和其它类似数据的通信。支付轨道可以包括用于建立支付网络的硬件以及支付网络与其它相关联实体(诸如金融机构、网关处理器等)之间的互连。在一些情况下,支付轨道还可以(诸如经由包括支付轨道的通信硬件和设备的特殊编程)受软件影响。例如,支付轨道可以包括为了交易消息的路由而被专门配置的专门配置的计算设备,交易消息可以是经由支付轨道电子发送的特殊格式化的数据消息,如下面更详细讨论的。
用于经由可信执行环境进行认证的系统
图1示出了用于经由使用计算设备作为销售点设备来处理支付交易的系统100,使用计算设备作为销售点设备包括使用可信执行环境与支付凭证的读取和处理分离地来执行与其相关联的认证。
系统100可以包括计算设备102。下面更详细地讨论的计算设备102可以是传统的计算设备,该传统的计算设备如本文所讨论的那样被专门配置和编程以充当用于处理电子支付交易的销售点设备。计算设备102可以是例如专门配置的台式计算机、膝上型计算机、笔记本计算机、平板计算机、蜂窝电话、智能电话、智能电视等。计算设备102可以与支付工具读取设备对接,支付工具读取设备可以被配置为从支付工具104读取支付凭证和其它数据。支付凭证可以包括交易账号、到期日期、名称、安全码、交易计数器、密码和/或在用于经由与其相关联的交易账户提供资金的支付交易的处理中使用的任何其它数据。支付工具读取设备可以被配置为经由解码在磁条中编码的数据、经由来自集成电路的电子传输接收数据、经由使用近场通信的电子传输接收数据、以及经由从支付工具104传送支付凭证的任何其它合适的方法来读取支付凭证。支付工具104可以包括例如磁条支付卡、集成电路支付卡、具有电子钱包应用程序的移动设备、支票等。
支付工具104可以由发行机构106发行。发行机构106可以是金融机构(诸如发行银行),或被配置为发行用于交易账户的支付工具以在为电子支付交易提供资金中使用的其它实体。发行机构106可以被配置为确定批准或拒绝将经由发行机构106管理的交易账户来提供资金的支付交易。在一些情况下,发行机构106可以指定用于支付交易以及何时必须作为支付交易处理的一部分执行认证的规则或指南,诸如要求对超过50美元的支付交易进行附加认证。
计算设备102可以存储与和计算设备102对接的支付工具读取设备相关联的第一应用程序。第一应用程序可以被配置为经由支付工具读取设备从支付工具104接收支付凭证,可以被配置为执行其任何处理(例如,支付密码的计算),并且可以被配置为向收单机构108提交所读取的支付凭证和其它交易数据以由此进行处理。第一应用程序可以存储在计算设备102的存储器中,该存储器可以是计算设备102的标准存储器。
计算设备102可以识别何时需要对支付交易执行附加认证。在一些情况下,可以针对每个交易执行附加认证,或者可以基于与交易相关联的具体标准来执行附加认证。例如,发行支付工具104的发行机构106可以提供阐述何时需要附加认证的标准,诸如基于交易的交易金额。在一些此类情况下,可以在交易之前将标准提供给第一应用程序。在其它此类情况下,标准可以存储在支付工具104中并且与支付凭证一起传送到第一应用程序。
当请求附加认证时,第一应用程序可以向存储在计算设备102中的第二应用程序提交认证请求。第二应用程序可以存储在可信执行环境中。可信执行环境可以是计算设备102中的专用存储器或存储器区域,该专用存储器或存储器区域与计算设备102的其余部分隔离,仅可以使用专用规则和协议来修改或访问。例如,可信执行环境可以是安全元件或其它基于硬件的安全存储装置,并且去往可信执行环境和来自可信执行环境的所有通信可以被加密。在一些情况下,可信执行环境可以是基于软件的。因此,第一应用程序可以向第二应用程序提交认证请求,其中认证请求诸如使用密钥对的第一密钥被加密,其中第二应用程序拥有密钥对的第二密钥以用于解密认证请求。认证请求可以至少包括与对应于支付工具104的交易账户相关联的主账号。
在一些实施例中,第二应用程序可以被配置为仅对授权的第一应用程序执行认证。在此类实施例中,第二应用程序可以拥有或能访问授权的第一应用程序的注册表。与第二应用程序相关联的实体(例如,开发人员、出版商、运营商等)可以确定是否应当授权第一应用程序,诸如在确保遵守安全标准、检查相关联硬件(例如,支付工具读取设备)等等之后。例如,实体可以确保第一应用程序不受损害,该损害也可能损害由计算设备102捕获并发送到第二应用程序的认证数据。注册表可以本地存储在计算设备102中,诸如存储在具有第二应用程序的可信执行环境中,或者可以是诸如通过联系与实体相关联的计算系统而远程可访问的。在此类实施例中,提交给第二应用程序的认证请求可以包括与提交请求的第一应用程序相关联的唯一标识值。第二应用程序可以使用标识值来确定第一应用程序是否被授权,诸如通过将该标识值与内部注册表进行比较或联系外部计算系统。如果第一应用未被授权,那么第二应用程序不会继续。如果第一应用程序被授权,那么第二应用程序可以继续进行认证。
第二应用程序可以接收认证请求并解密该请求以识别存储在其中的数据。然后,第二应用程序可以提示消费者供应认证数据。该提示可以利用与计算设备102对接的显示设备向消费者显示供应特定类型的数据以对消费者进行认证的提示。然后,消费者可以经由与计算设备102对接的输入设备来供应认证数据。认证数据可以包括例如个人标识号、签名、生物特征数据(例如,指纹、面部扫描、视网膜扫描、语音信号等)、密码或可以用于将消费者认证为支付工具104的授权用户的任何其它数据。在一些情况下,可以使用多种类型的认证(例如,个人标识号与指纹的组合)。在一些实施例中,第二应用程序使用的提示和其它接口元素可以在视觉上与第一应用程序提供的接口区分开,诸如以向用户指示正在使用独立的应用进行认证。在一些此类实施例中,视觉上有区别的特征可以传达附加安全性的使用。
第二应用程序可以(例如,经由来自计算设备的输入设备的加密传输)接收认证数据并且可以执行认证。在一个实施例中,第二应用程序可以经由发行机构106执行认证。在此类实施例中,第二应用程序可以将接收到的认证数据和主帐号以电子方式(例如,经由计算设备102的发送设备)传输到发行机构106。在此类情况下,传输可以是直接到发行机构106,发行机构106可以经由主账号识别,或者传输可以是到收单机构108和/或支付网络110,收单机构108和/或支付网络110可以将认证数据转发给发行机构106。在许多情况下,可以在传输之前对认证数据进行加密,以便由发行机构106进行解密。发行机构106可以接收认证数据并且可以诸如通过将该数据与消费者先前提供并且与交易账户相关联的数据进行比较来认证该数据。例如,发行机构106可以将由计算设备102捕获的指纹与先前向对应于支付工具104的交易账户注册的指纹进行比较。然后,发行机构106可以将认证的结果以电子方式(例如,直接地或经由支付网络110和/或收单机构108)发送回计算设备102。
在一些实施例中,计算设备102可以在没有认证数据的情况下将(例如,加密的)主帐号以电子方式发送到发行机构106。在此类实施例中,发行机构106可以识别与经由主账号识别出的交易账户相关联的先前注册的认证数据,并且可以将认证数据返回到计算设备102。然后,计算设备102可以将接收到的认证数据与消费者输入的认证数据进行比较,以生成认证结果。在又一个实施例中,计算设备102可以经由支付工具读取设备直接从支付工具104请求认证数据,支付工具读取设备可以获得存储在支付工具104中的认证数据。在这种实施例中,支付工具读取设备可以从支付工具104读取认证数据并将该认证数据转发给第二应用程序,第二应用程序然后可以基于此确定认证结果。
一旦第二应用程序识别出(例如,由此确定或从发行机构106接收的)认证结果,第二应用程序就可以将认证结果提供给第一应用程序。然后,第一应用程序可以基于此决定继续进行支付交易。例如,如果认证结果是否定的(例如,认证失败),那么第一应用程序可以阻止进一步处理支付交易,并且可以指示显示设备向消费者通知认证失败。如果认证结果是肯定的(例如,认证成功),那么第一应用程序可以将支付凭证和其它交易数据提交给支付网络110以进行处理。在此类情况下,支付凭证和其它交易数据(例如,交易金额、交易时间、交易日期、地理位置、产品数据、商家数据、报价数据、奖励数据、忠诚度数据、发行者数据、收单数据等)可以经由与支付网络110相关联的支付轨道或经由收单机构108直接发送到支付网络110。收单机构108可以是金融机构(诸如收单银行),或者被配置为管理与正在向其支付交易的商家相关联的交易账户的其它实体。在一些实施例中,可以遵照支付卡行业(PCI)数据安全标准(DSS)进行到支付网络110或从计算设备102到任何计算系统、服务器或其它后端和/或到支付网络110的传输。
然后,支付网络110可以使用传统方法和系统来处理支付交易。作为处理的一部分,支付网络110可以向发行机构106提供支付凭证和其它交易数据,发行机构106可以基于对相关领域技术人员而言明显的标准来确定交易是被批准还是被拒绝。处理的结果(例如,批准或拒绝交易)可以以电子方式(例如,直接从支付网络110或经由收单机构108)发送回计算设备102。计算设备102可以经由对接的显示设备向消费者显示结果,并且可以根据需要执行任何附加功能(例如,打印收据、更新交易记录等)。
在一些实施例中,计算设备102可以被配置为在传输之前加密数据。例如,由计算设备102读取的支付凭证可以在将交易数据传输到支付网络110或其它系统(例如,收单机构108、后端服务器等)之前被加密,使得仅预期接收方可能能够解密数据。例如,支付网络110可以向计算设备102供应加密密钥对的公钥,对于该公钥,支付网络110拥有对应的私钥。计算设备102可以使用公钥来加密支付凭证,该支付凭证可以仅使用支付网络110拥有的私钥来解密。在一些情况下,计算设备102和与其通信的其它系统(例如,支付网络110、收单机构108等)可以在传输任何数据之前的通信建立期间使用相互认证过程,以增加安全性。在一些实施例中,支付网络110或其它后端系统可以要求计算设备102没有被获取超级用户权限(root)或越狱(jail-broken)以便参与系统100,或者可以以其它方式执行安全检查以确保计算设备102没有受到损害并符合任何适用的安全标准。在一些此类实施例中,可以作为涉及计算设备102的相互认证过程的一部分而执行这样的检查。在一些情况下,计算设备102的认证还可以或可替代地可以包括对由计算设备102执行的第一应用程序和/或第二应用程序的验证或认证。
因此,本文讨论的方法和系统可以使计算设备102能够使用第二应用程序和可信执行环境而被专门配置,以便能够结合对接的支付工具读取设备和相关联的应用程序执行对支付交易的附加认证。因此,可以使用本文讨论的方法和系统专门配置配备有可信执行环境的传统计算设备102,以使得能够利用附加认证来处理支付交易,而无需修改现有支付工具读取设备,同时仍允许对支付交易的更安全处理。
计算设备
图2示出了系统100中的计算设备102的实施例。对于相关领域的技术人员将明显的是,图2中示出的计算设备102的实施例仅作为说明提供,并且可能没有穷举适于执行本文讨论的功能的计算设备102的所有可能配置。例如,图6中示出并在下面更详细地讨论的计算机系统600可以是计算设备102的合适配置。
计算设备102可以包括接收设备202。接收设备202可以被配置为经由一个或多个网络协议通过一个或多个网络接收数据。在一些情况下,接收设备202可以被配置为经由一种或多种通信方法(诸如射频、局域网、无线区域网络、蜂窝通信网络、蓝牙、互联网等)从支付工具104、发行机构106、收单机构108、支付网络110以及其它系统和实体接收数据。在一些实施例中,接收设备202可以包括多个设备,诸如用于通过不同网络接收数据的不同接收设备,诸如用于通过局域网接收数据的第一接收设备和用于通过互联网接收数据的第二接收设备。接收设备202可以接收电子发送的数据信号,其中数据可以被叠加或以其它方式被编码在数据信号上并且经由接收设备202接收数据信号而被解码、解析、读取或以其它方式获得。在一些情况下,接收设备202可以包括解析模块,用于解析接收到的数据信号以获得叠加在其上的数据。例如,接收设备202可以包括解析器程序,该解析器程序被配置为接收数据信号并将接收到的数据信号变换为由处理设备执行的功能的可用输入,以执行本文描述的方法和系统。
接收设备202可以被配置为接收由发行机构106经由合适的通信网络和方法以电子方式发送的数据信号,这些数据信号与认证数据和/或认证结果叠加或以其它方式编码。接收设备202还可以被配置为接收由收单机构108和/或支付网络110以电子方式发送的数据信号,这些数据信号可以与交易消息叠加或以其它方式编码。交易消息可以是特殊格式的数据消息,交易消息可以根据管理金融交易消息交换的一个或多个标准(诸如国际标准化组织的ISO 8583和ISO 20022标准)而被格式化,并且可以包括用于支付交易的交易数据,该交易数据包括指示相关支付交易的处理结果的响应代码。
计算设备102还可以包括通信模块204。通信模块204可以被配置为在计算设备102的模块、引擎、数据库、存储器和其它组件之间发送数据以用于执行本文所讨论的功能。通信模块204可以包括一种或多种通信类型,并且利用用于在计算设备内通信的各种通信方法。例如,通信模块204可以包括总线、接触引脚连接器、导线等。在一些实施例中,通信模块204还可以被配置为在计算设备102的内部组件和计算设备102的外部组件(诸如外部连接的数据库、显示设备、输入设备等)之间进行通信。计算设备102还可以包括处理设备。处理设备可以被配置为执行本文讨论的计算设备102的功能,如对于相关领域的技术人员来说将明显的。在一些实施例中,处理设备可以包括专门被配置为执行处理设备的一个或多个功能的多个引擎和/或模块,和/或由该多个引擎和/或模块组成,该多个引擎和/或模块诸如查询模块、数据识别模块、生成模块18等。如本文所使用的,术语“模块”可以是被特别编程为接收输入、使用输入执行一个或多个处理并提供输出的软件或硬件。基于本公开,由各种模块执行的输入、输出和处理对于本领域技术人员来说将是明显的。
计算设备102可以包括存储器206。存储器206可以被配置为存储数据以供计算设备102在执行本文所讨论的功能时使用,该数据诸如公钥和私钥、对称密钥等。存储器206可以被配置为使用合适的数据格式化方法和模式来存储数据,并且可以是任何合适类型的存储器,诸如只读存储器、随机存取存储器等。存储器206可以包括例如加密密钥和算法、通信协议和标准、数据格式化标准和协议、用于处理设备的模块和应用程序的程序代码、以及可以适合计算设备102在执行本文公开的功能时使用的其它数据,如对于相关领域的技术人员将明显的。在一些实施例中,存储器206可以由关系数据库组成或可以以其它方式包括关系数据库,该关系数据库利用结构化查询语言对存储在其中的结构化数据集进行存储、识别、修改、更新、访问等。
存储器206可以被配置为存储一个或多个第一应用程序208。第一应用程序208可以被配置为从支付工具104接收支付凭证,并执行支付交易中的与支付凭证的处理和使用相关联的功能。第一应用程序208还可以被配置为向计算设备102的第二应用程序212提交认证请求,以用于支付交易中的附加认证。在一些此类情况下,第一应用程序208可以识别何时应当请求附加认证,这可以基于由发行机构106和/或支付工具104提供的标准来完成,该标准可以存储在存储器206中。用于第一应用程序208的程序代码可以存储在存储器206中,该程序代码可以由计算设备102的处理设备执行。
在一些实施例中,计算设备102可以包括多个第一应用程序208,诸如如图2所示的n个第一应用程序208。在此类实施例中,每个第一应用程序208可以具有与其相关联的唯一标识值,该唯一标识值可以包括在提交给第二应用程序212的认证请求中。在一些此类实施例中,每个第一应用程序208可以由与第二应用程序212相关联的实体预先授权,以被允许请求由第二应用程序212执行的认证。如本文所讨论的,第一应用程序208可以在处理经由支付工具104提供资金的支付交易时被使用。但是,第一应用程序208还可以或可替代地可以是可以代表计算设备102的用户执行计算设备102的用户的认证的任何程序,该认证可以利用(例如,在所示示例中,诸如由支付工具104或发行机构106提供的)第三方数据。例如,海关机构(customs agency)可以具有用于处理进入一个国家的进入者的第一应用程序208,其中第二应用程序208可以基于所呈现的标识来认证访问者,其中认证数据可以存储在所呈现的标识(例如,护照)或外部计算系统(例如,发行政府)中。
计算设备102还可以包括可信执行环境210。可信执行环境210可以是存储器206的不同部分,或者可以是计算设备102的单独存储器。在一些情况下,可信执行环境210可以是计算设备102的单独的硬件元件(诸如安全元件)。可信执行环境210可以是基于硬件的,或者在一些情况下可以经由软件实现。可信执行环境210可以是安全区域,其中存储在安全区域中的数据在数据的机密性和完整性方面受到保护。在一些情况下,去往可信执行环境210和来自可信执行环境210的通信可以受制于由此阐述的一个或多个协议或标准,诸如对于所有传入和传出通信要求一定加密级别。
可信执行环境210可以被配置为存储用于第二应用程序212的程序代码,该程序代码可以由计算设备102的处理设备执行。第二应用程序212可以被配置为从消费者获得认证数据,该认证数据可以仅由第二应用程序212接收并且禁止由第一应用程序208使用。第二应用程序212还可以被配置为从发行机构106获得认证数据和/或认证结果以及从支付工具104获得认证数据。第二应用程序212还可以被配置为根据从消费者以及从发行机构106和/或支付工具104接收的认证数据来确定认证结果。在一些实施例中,第二应用程序212可以包括授权的第一应用程序208的注册表,该注册表可以包括每个授权的第一应用程序208的唯一标识值,并且其中第二应用程序212可以确保在执行由第一应用程序208请求的认证之前第一应用程序208被授权。在一些情况下,第二应用程序212可以被配置为从外部计算系统请求授权状态和/或接收授权更新,以用作注册表的替代方案或用于更新注册表。
计算设备102还可以包括一个或多个输入设备214或以其它方式与一个或多个输入设备214对接。输入设备214可以在计算设备102的内部或在计算设备102的外部,并且经由一个或多个连接(例如,有线或无线的)与计算设备102连接,以用于向计算设备102和/或从计算设备102传输数据。输入设备214可以被配置为从计算设备102的用户接收输入,该输入可以(例如,经由通信模块204)被提供给计算设备102的另一个模块或引擎以相应地进行处理。输入设备214可以包括适于接收用于执行本文所讨论的功能的输入的任何类型的输入设备,诸如键盘、鼠标、点击轮、滚轮、麦克风、触摸屏、跟踪板、相机、光学成像器等。输入设备214可以被配置为例如接收消费者输入的认证数据,诸如个人标识号、签名、生物特征数据等。
计算设备102还可以包括显示设备216或以其它方式与显示设备216对接。显示设备216可以在计算设备102的内部或者在计算设备102的外部,并且经由一个或多个连接(例如,有线或无线的)与计算设备102连接,用于向计算设备102和/或从计算设备102传输数据。显示设备216可以被配置为向计算设备102的用户显示数据。显示设备216可以是适于作为本文所讨论的功能的一部分而显示数据的任何类型的显示器,诸如液晶显示器、发光二极管显示器、薄膜晶体管显示器、电容式触摸显示器、阴极射线管显示器、光投射显示器等。在一些情况下,计算设备102可以包括多个显示设备216。显示设备216可以被配置为例如向消费者显示请求认证数据可以被供应的提示,这还可以指示要供应的认证数据的类型。显示设备216还可以被配置为显示认证结果和/或支付交易的处理结果。
计算设备102还可以包括工具读取设备218。工具读取设备218可以是与计算设备102对接的设备,工具读取设备218被配置为从支付工具104读取支付凭证和其它数据。工具读取设备218可以在计算设备102的内部,或者可以在外部并且经由合适的物理或非物理连接与计算设备102连接。工具读取设备218可以被配置为读取在磁条中编码的数据、接收经由集成电路以电子方式发送的数据、接收经由近场通信以电子方式发送的数据、读取在所显示的机器可读代码中编码的数据、或者使用用于从支付工具104读取支付凭证的任何其它合适的方法。
计算设备102还可以包括发送设备220。发送设备220可以被配置为经由一个或多个网络协议通过一个或多个网络发送数据。在一些情况下,发送设备220可以被配置为经由一种或多种通信方法、局域网、无线区域网络、蜂窝通信、蓝牙、射频、互联网等向支付工具104、收单机构108、发行机构106、支付网络110和其它实体发送数据。在一些实施例中,发送设备220可以包括多个设备,诸如用于通过不同网络发送数据的不同发送设备,诸如用于通过局域网发送数据的第一发送设备和用于通过互联网发送数据的第二发送设备。发送设备220可以以电子方式发送可以由接收计算设备解析的具有叠加的数据的数据信号。在一些情况下,发送设备220可以包括用于将数据叠加、编码或以其它方式格式化为适于传输的数据信号的一个或多个模块。
发送设备220可以被配置为将数据信号(例如,经由工具读取设备218)以电子方式发送到支付工具104,该数据信号与针对认证数据的请求叠加或以其它方式编码。发送设备220还可以被配置为(例如,如第二应用程序212所指示的)以电子方式将数据信号发送到发行机构106,该数据信号与认证请求叠加或以其它方式编码,认证请求可以包括主帐号和认证数据。发送设备220还可以被配置为(例如,如第一应用程序208所指示的)以电子方式将数据信号发送到收单机构108和/或支付网络110,该数据信号可以与支付凭证和其它交易数据叠加或以其它方式编码,支付凭证和其它交易数据可以包括在根据一个或多个标准(包括ISO 8583和ISO 20022标准)格式化的交易消息中。
认证支付交易的第一过程
图3示出了经由使用可信执行环境210在支付交易中执行附加认证的第一过程,其中认证结果由发行机构106确定。
在步骤302中,计算设备102的第一应用程序208可以(例如,经由工具读取设备218)从支付工具104读取支付凭证。支付凭证可以至少包括主账号和可以在处理支付交易中使用的任何其它附加数据。第一应用程序208可以读取支付凭证,诸如基于从(例如,诸如使用其中包括的发行标识号经由主账号识别的)相关联的发行机构106接收的标准和正在尝试的支付交易的交易数据而确定需要执行附加认证。在步骤304中,第一应用程序208可以通过向计算设备102的第二应用程序212提交认证请求来请求执行附加认证。认证请求可以被加密,并且可以使用与可信执行环境210相关联的合适协议来发送。
在步骤306中,第二应用程序212可以接收认证请求,该认证请求可以被解密以识别其中包括的数据。认证请求可以至少包括由第一应用程序208读取的支付凭证中包括的主帐号。在步骤308中,第二应用程序212可以指示与计算设备102对接的显示设备216提示消费者供应认证数据。在步骤310中,第二应用程序212可以接收由消费者经由与计算设备102对接的输入设备214输入到计算设备102中的认证数据。在步骤312中,第二应用程序212可以加密主帐号和输入的认证数据,并且可以指示计算设备102的发送设备220将加密数据直接或经由一个或多个中间实体(例如,收单机构108、支付网络110等)以电子方式发送到发行机构106。
在步骤314中,发行机构106可以接收加密的数据,该加密的数据可以在接收时被解密以获得由消费者供应的主帐号和认证数据。在步骤316中,发行机构106可以认证所供应的认证数据,诸如通过将认证数据与向与接收到的主账号对应的交易账户注册的数据进行比较,其中如果数据匹配(例如,所供应的指纹与先前注册的指纹匹配),那么认证可以产生肯定结果,并且如果数据不匹配(例如,供应的个人标识号与先前注册的个人标识号不同),那么产生否定结果。在步骤318中,发行机构106可以将认证结果以电子方式发送到第二应用程序212。在示例性实施例中,可以根据可信执行环境210中第二应用程序的存储来加密结果。
在步骤320中,第二应用程序212可以接收(例如,并根据需要解密)认证结果。在步骤322中,第二应用程序212可以将认证结果转发给第一应用程序208。在步骤324中,第一应用程序208可以接收认证结果,然后认证结果可以被用于解决支付交易。
用于认证支付交易的第二过程
图4示出了经由使用可信执行环境210在支付交易中执行附加认证的第二过程,其中由第二应用程序212使用由支付工具104提供的数据来确定认证结果。
在步骤402中,支付工具104可以经由与计算设备102对接的工具读取设备218向计算设备102的第一应用程序208提供支付凭证。支付凭证可以包括主帐号和在处理支付交易时使用的任何附加数据。在步骤404中,第一应用程序208可以接收支付凭证,并且可以诸如基于从(例如,诸如使用其中包括的发行标识号经由主账号识别的)相关联的发行机构106接收的标准和用于正在尝试的支付交易的交易数据而确定需要执行附加认证。在步骤406中,第一应用程序208可以通过向计算设备102的第二应用程序212提交认证请求来请求执行附加认证。认证请求可以被加密,并且可以使用与可信执行环境210相关联的合适协议来发送。
在步骤408中,第二应用程序212可以接收认证请求,该认证请求可以被解密以识别认证请求中包括的数据。认证请求可以至少包括由第一应用程序208读取的支付凭证中包括的主帐号。在步骤410中,第二应用程序212可以经由计算设备102的工具读取设备218向支付工具104提交对于用于在附加认证中使用的认证数据的请求。在步骤412中,支付工具104可以接收该请求。在步骤414中,支付工具104可以经由工具读取设备218将存储在支付工具104中的认证数据发送到第二应用程序212。在步骤416中,第二应用程序212可以接收认证数据。
在步骤418中,第二应用程序212可以指示与计算设备102对接的显示设备216提示消费者供应认证数据。在步骤420中,第二应用程序212可以接收消费者经由与计算设备102对接的输入设备214输入到计算设备102中的认证数据。在步骤422中,第二应用程序212可以将从支付工具104接收的认证数据与消费者输入的认证数据进行比较,以确定数据是否匹配,其中该比较产生认证结果。在步骤424中,第二应用程序212可以将认证结果转发到第一应用程序208。在步骤426中,第一应用程序208可以接收认证结果,然后该认证结果可以被用于解决支付交易。
用于经由可信执行环境促进的认证的示例性方法
图5示出了用于使用多个应用程序来认证支付交易的支付工具的方法500,该多个应用程序包括存储在计算设备的可信执行环境中的应用程序。
在步骤502中,存储在支付工具(例如,支付工具104)中的支付凭证可以由与计算设备(例如,计算设备102)对接的工具读取设备(例如,工具读取设备218)读取,其中支付凭证以电子方式被发送到第一应用程序(例如,第一应用程序208),第一应用程序具有存储在计算设备的第一存储器区域(例如,存储器206)中的程序代码。在步骤504中,认证请求可以由计算设备的第一应用程序以电子方式发送到第二应用程序(例如,第二应用程序212),第二应用程序具有存储在计算设备的与第一存储器区域分离的可信执行环境(例如,可信执行环境210)中的程序代码。
在步骤506中,可以由与计算设备对接的显示设备(例如,显示设备216)基于由第二应用程序供应的指令来显示对于认证数据的提示。在步骤508中,可以由与计算设备对接的输入设备(例如,输入设备214)接收认证数据,其中以电子方式向第二应用程序发送认证数据。
在步骤510中,接收到的认证数据可以由计算设备的第二应用程序以电子方式发送到外部计算设备(例如,发行机构106、支付工具104等)。在步骤512中,可以由计算设备的第二应用程序从外部计算设备接收基于发送的认证数据的认证结果。在步骤514中,响应于认证请求,认证结果可以由计算设备的第二应用程序以电子方式发送到第一应用程序。
在一个实施例中,接收到的认证数据可以不被发送到第一应用程序或不能由第一应用程序访问。在一些实施例中,方法500还可以包括由计算设备的第二应用程序在到外部计算设备的电子传输之前加密接收到的认证数据,其中使用密钥对中的私钥来加密接收到的认证数据,私钥存储在可信执行环境中。在一个实施例中,对于认证数据的提示可以在视觉上与基于由第一应用程序供应的数据的显示不同。在一些实施例中,认证数据可以包括以下当中的至少一个:指纹数据、视网膜扫描数据、面部扫描数据、语音识别数据、个人标识号以及用户名和密码。
在一个实施例中,外部计算设备可以是支付工具,并且支付工具和第二应用程序之间的通信可以利用工具读取设备。在另一个实施例中,可以加密支付工具和第二应用程序之间的通信。在一些实施例中,可以接收第二认证数据来代替认证结果,并且计算设备的第二应用程序可以被配置为基于接收到的认证数据与第二认证数据的比较来生成认证结果。
计算机系统体系架构
图6示出了计算机系统600,在计算机系统600中本公开的实施例或其部分可以被实现为计算机可读代码。例如,图1的计算设备102可以使用硬件、软件、固件、其上存储有指令的非瞬态计算机可读介质或其组合在计算机系统600中实现,并且可以在一个或多个计算机系统或其它处理系统中实现。硬件、软件或其任何组合可以体现用于实现图3-图5的方法的模块和组件。
如果使用可编程逻辑,那么这种逻辑可以在由可执行软件代码配置以成为专用计算机或专用设备(例如,可编程逻辑阵列、专用集成电路等)的商用处理平台上执行。本领域普通技术人员可以认识到的是,所公开的主题的实施例可以用各种计算机系统配置来实践,这些计算机系统配置包括多核多处理器系统、小型计算机、大型计算机、与分布式功能链接或集群的计算机、以及可以嵌入到几乎任何设备中的普及型或微型计算机。例如,可以使用至少一个处理器设备和存储器来实现上述实施例。
本文讨论的处理器单元或设备可以是单个处理器、多个处理器或其组合。处理器设备可以具有一个或多个处理器“核心”。如本文讨论的术语“计算机程序介质”、“非瞬态计算机可读介质”和“计算机可用介质”通常用于指有形介质,诸如可移动存储单元618、可移动存储单元622和安装在硬盘驱动器612中的硬盘。
根据这个示例计算机系统600描述了本公开的各种实施例。在阅读本说明书之后,如何使用其它计算机系统和/或计算机体系架构来实现本公开对于相关领域的技术人员将是明显的。虽然操作可以被描述为顺序处理,但是操作中的一些操作实际上可以并行地、并发地和/或在分布式环境中执行,并且程序代码在本地或远程存储以供单处理器机器或多处理器机器访问。此外,在一些实施例中,可以重新布置操作的顺序而不脱离所公开的主题的精神。
处理器设备604可以是被专门配置为执行本文讨论的功能的专用或通用处理器设备。处理器设备604可以连接到通信基础设施606,诸如总线、消息队列、网络、多核消息传递方案等。网络可以是适于执行如本文公开的功能的任何网络,并且可以包括局域网(LAN)、广域网(WAN)、无线网络(例如,WiFi)、移动通信网络、卫星网络、互联网、光纤、同轴线缆、红外线、射频(RF)或其任意组合。其它合适的网络类型和配置对于相关领域的技术人员将是明显的。计算机系统600还可以包括主存储器608(例如,随机存取存储器、只读存储器等),并且还可以包括辅助存储器610。辅助存储器610可以包括硬盘驱动器612和可移动存储驱动器614,诸如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。
可移动存储驱动器614可以以众所周知的方式从可移动存储单元618读取和/或写入可移动存储单元618。可移动存储单元618可以包括可以由可移动存储驱动器614读取和写入的可移动存储介质。例如,如果可移动存储驱动器614是软盘驱动器或通用串行总线端口,那么可移动存储单元618分别可以是软盘或便携式闪存驱动器。在一个实施例中,可移动存储单元618可以是非瞬态计算机可读记录介质。
在一些实施例中,辅助存储器610可以包括用于允许计算机程序或其它指令被加载到计算机系统600中的替代部件,例如,可移动存储单元622和接口620。这种部件的示例可以包括程序盒和盒式接口(例如,如在视频游戏系统中找到的)、可移动存储器芯片(例如,EEPROM、PROM等)和相关联的插座,以及如对于相关领域的技术人员来说将明显的其它可移动存储单元622和接口620。
存储在计算机系统600中(例如,在主存储器608和/或辅助存储器610中)的数据可以存储在任何类型的合适的计算机可读介质上,诸如存储在光学存储装置(例如,光盘、数字多功能盘、蓝光光盘等)或磁带存储装置(例如,硬盘驱动器)上。可以以任何类型的合适数据库配置来配置数据,诸如关系数据库、结构化查询语言(SQL)数据库、分布式数据库、对象数据库等。适合的配置和存储类型对于相关领域的技术人员将是明显的。
计算机系统600还可以包括通信接口624。通信接口624可以被配置为允许软件和数据在计算机系统600和外部设备之间传递。示例性通信接口624可以包括调制解调器、网络接口(例如,以太网卡)、通信端口、PCMCIA槽和卡等。经由通信接口624传递的软件和数据可以是信号的形式,信号可以是电信号、电磁信号、光学信号或如对于相关领域的技术人员来说将明显的其它信号。信号可以经由通信路径626行进,通信路径626可以被配置为承载信号并且可以使用电线、线缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。
计算机系统600还可以包括显示器接口602。显示器接口602可以被配置为允许数据在计算机系统600和外部显示器630之间传递。示例性显示器接口602可以包括高清晰多媒体接口(HDMI)、数字视频接口(DVI)、视频图形阵列(VGA)等。显示器630可以是用于显示经由计算机系统600的显示器接口602发送的数据的任何合适类型的显示器,包括阴极射线管(CRT)显示器、液晶显示器(LCD)、发光二极管(LED)显示器、电容式触摸显示器、薄膜晶体管(TFT)显示器等。
计算机程序介质和计算机可用介质可以指存储器,诸如可以是存储器半导体(例如,DRAM等)的主存储器608和辅助存储器610。这些计算机程序产品可以是用于向计算机系统600提供软件的部件。计算机程序(例如,计算机控制逻辑)可以存储在主存储器608和/或辅助存储器610中。还可以经由通信接口624接收计算机程序。这样的计算机程序在被执行时可以使得计算机系统600能够实现本文讨论的方法。特别地,计算机程序在被执行时可以使得处理器设备604能够实现由图3-图5所示的方法,如本文所讨论的。因此,这样的计算机程序可以表示计算机系统600的控制器。在使用软件实现本公开的情况下,软件可以存储在计算机程序产品中并使用可移动存储驱动器614、接口620以及硬盘驱动器612或通信接口624加载到计算机系统600中。
处理器设备604可以包括被配置为执行计算机系统600的功能的一个或多个模块或引擎。每个模块或引擎可以使用硬件来实现,并且在一些情况下,也可以利用软件,诸如与存储在主存储器608或辅助存储器610中的程序代码和/或程序对应的软件。在这种情况下,在由计算机系统600的硬件执行之前,程序代码可以由处理器设备604(例如,通过编译模块或引擎)编译。例如,程序代码可以是用编程语言编写的源代码,该编程语言被转换成较低级语言,诸如汇编语言或机器代码,用于由处理器设备604和/或计算机系统600的任何附加硬件组件执行。编译的处理可以包括使用词法分析、预处理、解析、语义分析、语法制导翻译、代码生成、代码优化、以及可能适合于将程序代码转换成适合于控制计算机系统600以执行本文公开的功能的较低级语言的任何其它技术。对于相关领域的技术人员将明显的是,这样的处理导致计算机系统600是被特别编程以执行以上讨论的功能的特殊配置的计算机系统600。
除了其它特征之外,与本公开一致的技术提供了用于经由可信执行环境促进的认证的系统和方法。虽然上面已经描述了所公开的系统和方法的各种示例性实施例,但是应该理解的是,它们仅仅是为了示例的目的而给出,而不是限制。它并非是详尽的,并且不将本公开限制于所公开的精确形式。鉴于上述教导,修改和变化是可能的,或者可以从本公开的实践中获得,而不脱离广度或范围。

Claims (12)

1.一种用于经由可信执行环境促进的认证的方法,包括:
由与计算设备相关联的工具读取设备读取存储在支付工具中的支付凭证,其中(i)工具读取设备是计算设备的硬件组件和与计算设备以电子方式耦合的硬件设备之一,以及(ii)所述支付凭证以电子方式被发送到与所述工具读取设备相关联的第一应用程序,所述第一应用程序具有存储在计算设备的第一存储器区域中的程序代码;
由计算设备确定是否需要附加认证;以及
响应于确定需要附加认证,
由计算设备使用密钥对的第一密钥对包括由所述工具读取设备读取的支付凭证的认证请求进行加密,
由计算设备的第一应用程序向第二应用程序以电子方式发送加密的认证请求,第二应用程序具有存储在计算设备的与第一存储器区域分离的可信执行环境中的程序代码,所述可信执行环境是安全元件,
由存储在计算设备的可信执行环境中的第二应用程序使用密钥对的第二密钥解密认证请求,
由存储在计算设备的可信执行环境中的第二应用程序经由显示屏提示用户提供认证数据,其中与所述第二应用程序相关联的提示和接口元素在视觉上和与所述第一应用程序相关联的提示和接口元素能够区分开;
由与计算设备对接的输入设备接收认证数据,其中所述认证数据以电子方式被发送到所述计算设备的所述可信执行环境中的所述第二应用程序,其中认证数据不可由存储器的第一区域访问;
由计算设备的第二应用程序将接收到的认证数据以电子方式发送到外部计算设备;
由计算设备的第二应用程序从所述外部计算设备接收基于所发送的认证数据的认证结果;以及
由计算设备的第二应用程序响应于所述认证请求而以电子方式向第一应用程序发送认证结果。
2.如权利要求1所述的方法,还包括:
由计算设备的第二应用程序在到外部计算设备的电子发送之前加密接收到的认证数据,其中使用密钥对中的私钥来加密接收到的认证数据,所述私钥存储在所述可信执行环境中。
3.如权利要求1所述的方法,其中
所述外部计算设备是所述支付工具,以及
所述支付工具和第二应用程序之间的通信利用所述工具读取设备。
4.如权利要求3所述的方法,其中所述支付工具和第二应用程序之间的通信被加密。
5.如权利要求1所述的方法,其中
代替所述认证结果接收第二认证数据,以及
所述计算设备的第二应用程序被配置为基于接收到的认证数据与第二认证数据的比较来生成所述认证结果。
6.如权利要求1所述的方法,其中所述认证数据包括以下当中的至少一个:指纹数据、视网膜扫描数据、面部扫描数据、语音识别数据、个人标识号以及用户名和密码。
7.一种用于经由可信执行环境促进的认证的系统,包括:
与计算设备相关联的工具读取设备,被配置为读取存储在支付工具中的支付凭证,其中所述工具读取设备是计算设备的硬件组件和与计算设备以电子方式耦合的硬件设备之一,其中所述计算设备确定是否需要附加认证;
计算设备的第一应用程序,所述第一应用程序与所述工具读取设备相关联并且被配置为从工具读取设备接收读取的支付凭证,
响应于计算设备确定需要附加认证,使用密钥对的第一密钥对包括由所述工具读取设备读取的支付凭证的认证请求进行加密,并且以电子方式向第二应用程序发送加密的认证请求,其中第一应用程序具有存储在计算设备的第一存储器区域中的程序代码,并且第二应用程序(i)具有存储在计算设备的与第一存储器区域分离的可信执行环境中的程序代码,所述可信执行环境是安全元件,并且(ii)使用密钥对的第二密钥解密认证请求;以及
与所述计算设备对接的显示设备,
其中存储在计算设备的可信执行环境中的第二应用程序经由显示设备提示用户提供认证数据,其中与所述第二应用程序相关联的提示和接口元素在视觉上和与所述第一应用程序相关联的提示和接口元素能够区分开,
其中所述系统进一步包括:
输入设备,与计算设备对接,被配置为接收认证数据的输入,其中以电子方式向所述计算设备的所述可信执行环境中的第二应用程序发送所述认证数据,其中认证数据不可由存储器的第一区域访问,其中
第二应用程序被配置为以电子方式向外部计算设备发送接收到的认证数据,
从所述外部计算设备接收基于发送的认证数据的认证结果,以及
响应于所述认证请求而以电子方式向第一应用程序发送所述认证结果。
8.如权利要求7所述的系统,其中所述计算设备的第二应用程序还被配置为在到外部计算设备的电子发送之前加密接收到的认证数据,其中使用密钥对中的私钥来加密接收到的认证数据,所述私钥存储在所述可信执行环境中。
9.如权利要求7所述的系统,其中
所述外部计算设备是支付工具,以及
所述支付工具和第二应用程序之间的通信利用所述工具读取设备。
10.如权利要求9所述的系统,其中所述支付工具和第二应用程序之间的通信被加密。
11.如权利要求7所述的系统,其中
代替所述认证结果而接收第二认证数据,以及
所述计算设备的第二应用程序被配置为基于接收到的认证数据与第二认证数据的比较来生成所述认证结果。
12.如权利要求7所述的系统,其中所述认证数据包括以下当中的至少一个:指纹数据、视网膜扫描数据、面部扫描数据、语音识别数据、个人标识号以及用户名和密码。
CN201880007991.2A 2017-01-23 2018-01-23 经由可信执行环境进行认证的方法和系统 Active CN110199309B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762449390P 2017-01-23 2017-01-23
US62/449,390 2017-01-23
PCT/US2018/014786 WO2018136914A1 (en) 2017-01-23 2018-01-23 Method and system for authentication via a trusted execution environment

Publications (2)

Publication Number Publication Date
CN110199309A CN110199309A (zh) 2019-09-03
CN110199309B true CN110199309B (zh) 2023-06-16

Family

ID=61148533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880007991.2A Active CN110199309B (zh) 2017-01-23 2018-01-23 经由可信执行环境进行认证的方法和系统

Country Status (6)

Country Link
US (1) US11244296B2 (zh)
EP (1) EP3571652B1 (zh)
CN (1) CN110199309B (zh)
AU (1) AU2018210544B2 (zh)
CA (1) CA3051246A1 (zh)
WO (1) WO2018136914A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552701B2 (en) * 2008-02-01 2020-02-04 Oath Inc. System and method for detecting the source of media content with application to business rules
US20090307140A1 (en) * 2008-06-06 2009-12-10 Upendra Mardikar Mobile device over-the-air (ota) registration and point-of-sale (pos) payment
US8862767B2 (en) 2011-09-02 2014-10-14 Ebay Inc. Secure elements broker (SEB) for application communication channel selector optimization
CN111090865B (zh) * 2019-12-17 2022-01-25 支付宝(杭州)信息技术有限公司 一种密钥授权方法和系统
US11347875B2 (en) * 2020-01-28 2022-05-31 Intel Corporation Cryptographic separation of memory on device with use in DMA protection
CN115242478B (zh) * 2022-07-15 2024-01-02 江苏保旺达软件技术有限公司 一种提升数据安全的方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2924683A1 (en) * 2013-09-20 2015-03-26 Visa International Service Association Secure remote payment transaction processing including consumer authentication
CA2932346A1 (en) * 2013-12-02 2015-06-11 Mastercard International Incorporated Method and system for secure authentication of user and mobile device without secure elements

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8965281B2 (en) * 2006-04-05 2015-02-24 Nokia Corporation Mobile device with near field communication module and secure chip
EP4131113A1 (en) * 2012-02-29 2023-02-08 Apple Inc. Method, device and secure element for conducting a secured financial transaction on a device
US9317704B2 (en) * 2013-06-12 2016-04-19 Sequent Software, Inc. System and method for initially establishing and periodically confirming trust in a software application
KR102329258B1 (ko) * 2014-10-28 2021-11-19 삼성전자주식회사 보안 모듈을 이용한 결제 방법 및 장치
WO2016137277A1 (en) * 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
CN105897721B (zh) 2016-05-03 2019-01-25 广州广电运通金融电子股份有限公司 验证金融卡用户身份可靠性的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2924683A1 (en) * 2013-09-20 2015-03-26 Visa International Service Association Secure remote payment transaction processing including consumer authentication
CA2932346A1 (en) * 2013-12-02 2015-06-11 Mastercard International Incorporated Method and system for secure authentication of user and mobile device without secure elements

Also Published As

Publication number Publication date
US20180211236A1 (en) 2018-07-26
EP3571652A1 (en) 2019-11-27
AU2018210544B2 (en) 2023-03-09
AU2018210544A1 (en) 2019-08-01
CN110199309A (zh) 2019-09-03
CA3051246A1 (en) 2018-07-26
US11244296B2 (en) 2022-02-08
EP3571652B1 (en) 2024-04-17
WO2018136914A1 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
CN109919604B (zh) 用于使用加密令牌的消费者发起的交易的方法和系统
US20220245630A1 (en) Method and system for secure authentication of user and mobile device without secure elements
CN109716374B (zh) 用于经由移动设备进行无卡atm交易的方法和系统
AU2014357381B2 (en) Method and system for secure authentication of user and mobile device without secure elements
CN110199309B (zh) 经由可信执行环境进行认证的方法和系统
AU2019250276A1 (en) Method and system for generating an advanced storage key in a mobile device without secure elements
US20170262853A1 (en) Method and system for biometric confirmation of suspect transactions
CN110651292B (zh) 经由支付网络传送机器可读代码数据的方法和系统
US11868984B2 (en) Method and system for contactless transmission using off-the-shelf devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant