CN111383011B - 一种处理中继攻击的方法以及安全单元 - Google Patents
一种处理中继攻击的方法以及安全单元 Download PDFInfo
- Publication number
- CN111383011B CN111383011B CN201811639972.XA CN201811639972A CN111383011B CN 111383011 B CN111383011 B CN 111383011B CN 201811639972 A CN201811639972 A CN 201811639972A CN 111383011 B CN111383011 B CN 111383011B
- Authority
- CN
- China
- Prior art keywords
- card application
- message
- data
- logic channel
- application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 title claims abstract description 56
- 230000007123 defense Effects 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims description 155
- 230000006399 behavior Effects 0.000 claims description 112
- 230000008569 process Effects 0.000 claims description 16
- 230000006854 communication Effects 0.000 description 43
- 238000004891 communication Methods 0.000 description 42
- 230000006870 function Effects 0.000 description 31
- 238000012546 transfer Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000009471 action Effects 0.000 description 17
- 230000003993 interaction Effects 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 9
- NLPWBELUEANJAT-UHFFFAOYSA-N (2,5-dioxopyrrolidin-1-yl) 3-[2-[3-(3-methyldiazirin-3-yl)propanoylamino]ethyldisulfanyl]propanoate Chemical compound O=C1CCC(=O)N1OC(=O)CCSSCCNC(=O)CCC1(C)N=N1 NLPWBELUEANJAT-UHFFFAOYSA-N 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000004088 simulation Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/327—Short range or proximity payments by means of M-devices
- G06Q20/3278—RFID or NFC payments by means of M-devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
- G06Q20/3227—Aspects of commerce using mobile devices [M-devices] using secure elements embedded in M-devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/352—Contactless payments by cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
- G06Q20/40145—Biometric identity checks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
本申请实施例公开了一种处理中继攻击的方法,所述方法应用于终端中的安全单元SE,用于检测是否可能会或者正在发生中继攻击,当可能或者正在发生中继攻击时,可以及时的进行防御处理,避免造成用户的损失。本申请实施例方法包括:若所述SE确定第一卡应用被选中,则所述SE对所述第一卡应用的转出数据的行为和转入数据的行为进行监测,所述第一卡应用为在所述SE上存储的卡应用;若所述转出数据的行为和转入数据的行为满足中继攻击条件,则所述SE进行防御处理。
Description
技术领域
本申请涉及安全支付领域,尤其涉及一种处理中继攻击的方法以及安全单元。
背景技术
在近场通信(NFC,Near Field Communication)移动支付领域,目前EMV标准(包括Europay、Mastercard、Visa等国外标准)、PBOC(the People's Bank of China,中国人民银行)标准等移动支付标准被广泛采用。近年来,随着NFC技术的发展,NFC功能已成为中高端手机的标配,安全单元(SE,secure element)(其物理载体如通用集成电路卡(UniversalIntegrated Circuit Card,UICC)、安全数字卡(Secure Digital Memory Card,SD)、嵌入式安全单元(eSE,embedded SE)等)逐渐成熟,可为手机中的卡模拟应用(如银行卡、公交卡、门禁卡、车钥匙等)提供安全的存储与运行环境,越来越多的手机可以安装电子钱包支持NFC支付功能,如Huawei pay、Apple pay等手机厂商开发的电子钱包,银联钱包等各大银行机构推出的电子钱包以及一些第三方支付服务商推出的电子钱包,而且也有逐步支持车钥匙、门禁等功能的趋势。攻击者利用NFC手机对各类卡应用进行中继攻击的可能性越来越大。
虽然NFC本身的通信距离很小,可在一定程度上减少窃听这类攻击,但是,由于手机具备NFC和安全单元SE能力,攻击者很容易实现读卡器和卡模拟应用,从而可能在用户无感知的情况下进行中继攻击(relay attack)。例如:攻击者对着受害用户的卡片实现一个读卡器,并对着合法读卡器(如商场销售点终端(Point Of Sale,POS)机)模拟出一张卡片,即可从受害用户卡片中读取数据后通过无线通信技术传给模拟卡片的手机,然后传输给合法POS机,在两边进行欺骗,完成中继攻击,相当于间接“延长”NFC通信距离。因此,可能造成卡片以中继攻击的方式被盗刷,从而导致给卡片持有人或商户造成资金损失。
发明内容
本申请实施例提供了一种处理中继攻击的方法以及安全单元,用于检测是否可能会或者正在发生中继攻击,当可能或者正在发生中继攻击时,可以及时的进行防御处理,避免造成用户的损失。
有鉴于此,本申请实施例第一方面提供了一种处理中继攻击的方法,该方法应用于终端中的安全单元SE,该方法可以包括:若该SE确定第一卡应用被选中,则该SE对该第一卡应用的转出数据的行为和转入数据的行为进行监测,该第一卡应用为在该SE上存储的卡应用;可以理解的是,这里的第一卡应用被选中,可以通过选择命令来实现,即如果选择命令中包括第一卡应用标识,则SE可以确定第一卡应用被选中。若该转出数据的行为和转入数据的行为满足中继攻击条件,则该SE进行防御处理。在本申请实施例中,若SE确定第一卡应用被选中,则安全单元SE对第一卡应用的转出数据和转入数据的行为进行监测;若第一卡应用的转出数据和转入数据的行为满足中继攻击条件,则SE进行防御处理。在无需修改卡应用、读卡器(如POS机)内部的处理逻辑,无需要求用户额外增加身份验证操作,或者,无需购买专用的干扰设备(如锡纸壳或锡纸套)的情况下,只通过对SE进行功能拓展,即可实现对中继攻击的检测和防御,实现相对简单,对应用开发商和读卡器厂商无影响,不影响用户体验,不增加用户成本。
可选的,在本申请的一些实施例中,该中继攻击条件,包括:该第一卡应用通过第一逻辑通道接收第一消息,并通过第二逻辑通道发送该第一消息。在本申请实施例中,是对中继攻击条件的一个具体说明,相应的,也是对第一卡应用的转入数据和转出数据的一个说明,增加了方案的可行性。
可选的,在本申请的一些实施例中,该中继攻击条件,还包括:该通过第二逻辑通道发送该第一消息之前,该第一卡应用通过该第二逻辑通道接收第二消息。在本申请实施例中,是对中继攻击条件的一个具体说明,相应的,也是对第一卡应用的转入数据和转出数据的一个说明,增加了方案的可行性和准确性。
可选的,在本申请的一些实施例中,该中继攻击条件,还包括:该通过第二逻辑通道发送该第一消息之前,该第一卡应用通过该第二逻辑通道接收第二消息,并通过该第一逻辑通道发送该第二消息。在本申请实施例中,是对中继攻击条件的一个具体说明,相应的,也是对第一卡应用的转入数据和转出数据的一个说明,增加了方案的可行性和准确性。
可选的,在本申请的一些实施例中,该第一消息可以包括获取处理选项GPO响应,该第二消息可以包括GPO命令;或者,该第一消息可以包括读read响应,该第二消息可以包括read命令。在本申请实施例中,是对第一消息和第二消息的一个具体说明,第一消息为GPO响应,第二消息为GPO命令,或者,第一消息为read响应,第二消息为read命令,为本申请技术方案提供了具体的示例。
可选的,在本申请的一些实施例中,该第一逻辑通道为该SE与应用处理器之间的逻辑通道,该第二逻辑通道为该SE与销售点终端之间的逻辑通道。本申请实施例中,对逻辑通道做的一个具体说明。
可选的,在本申请的一些实施例中,该SE对该第一卡应用的转出数据的行为和转入数据的行为进行监测,可以包括:该SE通过对该第一卡应用的转出数据和转入数据的消息头进行解析,得到对应的消息类型、逻辑通道号;当该消息类型为预设消息类型时,该SE至少对该第一卡应用的转出数据和转入数据的逻辑通道号、行为类型进行记录,其中该行为类型为转入行为或转出行为。本申请实施例中,SE对该第一卡应用的转出数据和转入数据的监测可以以消息类型、逻辑通道号、行为类型的方式进行记录,便于SE对是否将会或者正在发生中继攻击做一个更好的判断。
可选的,在本申请的一些实施例中,该预设消息类型包括获取处理选项GPO响应、GPO命令、读read响应或read命令。在本申请实施例中,是对预设消息类型的一个具体说明,预设消息可以包括GPO响应、GPO命令、read响应、read命令,为本申请技术方案提供了具体的示例。
可选的,在本申请的一些实施例中,该安全单元SE确定第一卡应用被选中,可以包括:(1)该SE通过第一逻辑通道获取第一选择命令;若该第一选择命令包括第一卡应用标识,则该SE确定该第一卡应用被选中;或者,(2)该SE通过第一逻辑通道获取第一选择命令,并通过第二逻辑通道获取第二选择命令;若该第一选择命令包括第一卡应用标识,且该第二选择命令包括该第一卡应用标识,则该SE确定该第一卡应用被选中。在本申请实施例中,提供了安全单元SE确定第一卡应用被选中的几种实现方式,为解决技术问题,提供了几种灵活的方式,提高了方案的具体实施性。
可选的,在本申请的一些实施例中,该方法还可以包括:该SE确定该第一卡应用为预设应用。在本申请实施例中,预设应用可以为支付类、门禁类等应用,当第一卡应用为预设应用时,SE可以对第一卡应用的转入数据的行为和转出数据的行为进行监测。
可选的,在本申请的一些实施例中,该安全单元进行防御处理,可以包括:该SE不向销售点终端发送数据;或者,该SE向销售点终端发送空数据。在本申请实施例中,如果判断将会或者正在发生中继攻击,SE可以选择不向销售点终端发送数据,或者,向销售点终端发送空数据,以及时中止交易,防止造成用户的损失。
可选的,在本申请的一些实施例中,该方法还可以包括:该SE锁定该第一卡应用;或,锁定该SE。在本申请实施例中,如果判断将会或者正在发生中继攻击,则SE可以锁定第一卡应用,或者,锁定SE,防止用户的机密信息丢失,或者造成财产损失。
本申请实施例又方面提供一种终端,具有检测是否将会或者正在发生中继攻击,当判断将会或正在发生中继攻击时,可以及时的进行防御处理,避免造成用户的损失的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例又一方面提供一种安全单元SE,可以包括:收发器,用于与所述SE之外的装置进行通信;存储器,用于存储计算机执行指令;一个或多个处理器,通过总线与所述存储器和所述收发器连接,当所述处理器执行所述存储器中存储的计算机执行指令;以及一个或多个计算机程序,其中,所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述SE执行时,使得所述SE执行如上述第一方面或第一方面任一可选方式所述的方法。
本申请实施例又一方面提供一种装置,可以包括:
至少一个处理器,存储器,收发电路和总线***,所述处理器,所述存储器,所述收发电路通过所述总线***耦合,所述装置通过所述收发电路与所述装置之外的其他装置相通信,所述存储器用于存储程序指令,所述至少一个处理器用于执行所述存储器中存储的所述程序指令,使得所述装置执行如本申请实施例上述第一方面所述的方法中所述SE操作的部分。所述装置既可以是SE,也可以是应用在SE中执行相应功能的芯片。
本申请实施例又一方面提供一种存储介质,需要说明的是,本申请技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述SE所用的计算机软件指令,其包含用于执行上述各方面为SE所设计的程序。
该存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例又一方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述各方面或各方面任一可选实现方式中所述的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,还可以根据这些附图获得其它的附图。
图1A为Visa的PayWave协议的示意图;
图1B为央行的qPBOC协议的示意图;
图1C为对Visa PayWave协议改进后的PaySaft方案的示意图;
图2为本申请实施例所应用的***架构图;
图3为本申请实施例中处理中继攻击的方法的实施例示意图;
图4为本申请实施例中处理中继攻击的方法的一个实施例示意图;
图5为本申请实施例中处理中继攻击的方法的另一个实施例示意图;
图6为本申请实施例中安全单元SE所应用的终端设备的一个实施例示意图;
图7为本申请实施例中安全单元SE的一个实施例示意图;
图8为本申请实施例中安全单元SE的一个实施例示意图。
具体实施方式
本申请实施例提供了一种处理中继攻击的方法以及安全单元,用于检测是否可能会或者正在发生中继攻击,当可能或者正在发生中继攻击时,可以及时的进行防御处理,避免造成用户的损失。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,都应当属于本申请保护的范围。
下面先对本申请实施例中所涉及的术语做一个简单的说明,如下所示:
(1)近场通信(NFC,near field communication)
是一种基于射频识别(radio frequency identification,RFID)的短距离无线连接技术,利用磁场感应实现电子设备在近距离间的通信,用户只需要通过触碰或者设备靠近,就可以安全快速地交换信息、进行交易,如近场支付。NFC工作在13.56MHz的频率上,其有效通信范围为0-20cm,典型值为4cm。
(2)NFC设备的工作模式(即在一次NFC通信中承担的角色)可分为三种:
a.点对点(P2P,Peer-to-Peer),用于如名片分享、网页分享、NFC配对蓝牙/无线保真(wireless fidelity,Wi-Fi)等场景;
b.卡模拟(CE,card emulation),用于如银行卡、交通卡、会员卡、优惠券、身份证等移动支付或身份验证场景;
c.读写器(R/W,reader/writer),用于银行卡销售点终端(POS,point of sale)、公交POS机等移动支付或身份验证场景,以及标签读/写器场景。
(3)NFC控制器(NFCC,NFC controller)
NFC控制器负责通过射频(radio frequency,RF)接口和天线进行数据的物理传输。在具有功能的NFC设备中,NFCC通常对应着NFC芯片。
(4)安全单元(SE,secure element)
是一种防篡改组件,用于为各种业务(如银行卡、公交卡、门禁等)提供安全性、机密性以及多应用运行环境。可能的物理载体形式有通用集成电路卡(UICC,universalintegrated circuit card)、智能安全数字卡(SD card,secure digital card)、智能microSD卡、嵌入式SE(eSE,embedded SE)等。
可符合全球平台组织(GP,global platform)制定的卡规范(cardspecification)。
(5)全球平台GP环境(OPEN,global platform environment)
是拥有GP注册表(global platform registry)的卡***管理员,主要用于负责为应用提供接口(application programming interface,API),命令分发,应用选择,逻辑通道管理(可选的)和卡内容管理等。
(6)逻辑通道(LC,logical channel)
是卡片与外部实体之间交互数据的逻辑接口,包括基本逻辑通道(BLC,basic LC)和补充逻辑通道(SLC,supplementary LC),其中,前者是永久可用的接口,其编号为0,后者是附加接口,需要时可实时创建,GP卡规范目前支持编号1-19。
(7)非接触式接口(contactless interface)
是卡片与外部实体之间的一种非接触式的物理接口,如支持的协议有ISO/IEC14443。
(8)接触式接口(contact interface)
是卡片与外部实体之间的一种接触式的物理接口,如支持的协议有ISO/IEC7816。
(9)富执行环境(REE,rich execution environment)
是针对多功能性和丰富性创建的开放环境,并执行移动终端操作***(如AndroidOS、iOS),在设备生产以后向第三方开放下载。
(10)客户端应用(CA,client application)
在REE中运行的一般应用。
(11)可信执行环境(TEE,trusted execution environment)
是全球平台(global platform,GP)针对智能移动终端的开放环境(REE,RichExecution Environment)提出的概念,是一个与REE并存但相互孤立的运行环境,其中运行Trusted OS,能为Rich OS提供安全服务,可通过一组硬件和软件的组合,保证各种敏感数据在其中被安全传输、存储、处理,保证TA执行的机密性、完整性和数据访问权限端到端的安全。由于具有自身的执行空间,其安全级别要高于为Rich OS,但比起安全元件SE要低些。
(12)可信应用(TA,trusted application)
TEE中运行的是一系列可信应用TA,不同于REE中的一般应用,TEE可为这些TA提供安全服务,如应用执行的完整性、安全存储、与输入输出设备的安全交互、密钥管理、加密算法、与REE中的客户端应用CA安全通信等。
其中,TA是运行在TEE中,能为REE中的CA(s)或TEE中的其他TA(s)提供安全相关服务的应用。CA运行在REE中,可通过TEE Client API(即REE访问TEE的接口)调用或访问TEE中TA(s)的应用。
如图1A为Visa的PayWave协议,如图1B为央行的qPBOC协议。其中,在图1A和图1B所示中,第一选择命令用于从卡片获取其支持的至少一个应用标识符(AID,ApplicationIdentifier),第二选择命令用于选中该卡片上的一个卡应用,以便于POS机后续使用该卡应用完成交易(如支付);获取处理选项(get processing options,GPO)命令用于向卡片请求交易所必需的关键信息,如签名和密文,读(Read)命令用于向卡片请求验证该签名所需的数据,如卡公钥证书、随机数等。其中,签名是用于验证卡片的签名的动态应用数据(signed dynamic application data,SDAD),密文是用于支付清算的应用密文(application cryptogram,AC)。在上述PayWave协议和qPBOC协议定义的卡片与POS之间交互数据的过程中,通过GPO命令和响应、Read命令和响应具体交互哪些数据,卡片如何生成签名和密文,终端如何验证该签名以及如何验证该密文,可具体参考相应的标准协议,这里不再赘述。
针对前面所述的NFC移动支付场景下可能存在的中继攻击问题,目前有几种技术方案,但每种方案还是存在一些问题,具体为:
在其中一种实现方式中,在应用层增加用户确认/授权的主动操作来解决中继攻击这个问题,例如,使用物理卡片在商家POS机上刷卡支付时要求用户在POS机上输入密码,或者使用手机在POS机上支付时要求用户验证指纹等这些用户感知的手段。
但是,目前很多非接触支付方案为了增加用户使用的便捷性,尤其欧美等国外地区的实体的***,或国内的很多实体卡具有小额免密功能,并不需要或强制要求用户确认/授权的主动操作,而针对手机卡模拟的情况,已有论文说明即便在手机钱包中设置了SIM卡的个人识别密码(personal identification number,PIN),也有可能被绕过,因为PIN码通常是在手机钱包层面进行验证,验证通过后可允许访问SE,但是如果在手机***中安装恶意软件进行relay攻击,恶意软件也可以绕过PIN验证直接对SE进行访问。
在另一种实现方式中,POS机通过判断交互是否超时来检测是否存在中继攻击,如图1C所示,为对Visa PayWave协议改进后的PaySaft方案的示意图。即:将原来的一个GPO命令响应对拆分成两个命令响应对,其中第一个是通过GPO命令响应对只交互静态数据(如读卡器生成的随机数、卡片生成的随机数等),第二个是通过生成应用密文(GAC,GenerateAC)命令响应对交互动态签名SDAD和密文AC等。由于第一对消息交互中卡片侧基本不涉及运算,因此POS侧判断第一对消息交互中是否发生超时,即GPO响应与GPO命令之间的时间间隔是否超过时间阈值T,以确定是否存在relay攻击。
但是,现有卡片种类较多,不同卡片时延不同,很难设置一个统一的时间阈值来防止所有中继攻击,否则可能把正常交易误判成存在中继攻击,影响用户正常使用。
在另一种实现方式中,一种方案是POS机通过距离位置信息来检测是否存在中继攻击。例如,合法的卡应用将自己的全球定位***(global positioning system,GPS)位置信息增加到上层数据中发给对端,让对端中继给合法POS机后,由合法POS机进行GPS位置信息的核对,以判断双方是否靠近。
但是,容易存在以下缺点:1、卡应用侧需要增加GPS实时位置信息打包到上层数据,只针对手机卡模拟,不适用于物理卡片,POS机也需要增加判断逻辑;2、如果把GPS信息作为SDAD的一个输入,理论上攻击者可以获取到生成SDAD及其原文,则攻击者可以用自己的GPS信息替换并生成新的SDAD供合法POS验签,仍然存在中继攻击的可能;3、手机中GPS定位精度大概数米,尤其室内精度较差,对商超等环境下的中继攻击可能无法有效检测和防御。
在另一种实现方式中,需要用户专门购买屏蔽/干扰NFC通信的设备(如锡纸壳/套),用户使用时将屏蔽/干扰NFC通信的设备取下来,不用时再安装上。显然,额外购买屏蔽/干扰设备不仅增加成本,而且对用户体验也有影响。
可以理解的是,不仅仅在NFC移动支付场景下存在上述的中继攻击问题,在其他如门禁、车钥匙等场景下同样会存在这个问题。中继攻击能绕过应用层安全协议(如通过密码协商进行双向认证),在应用层很难解决这个问题。
如图2所示,为本申请实施例如何检测与处理中继攻击所应用的***架构图。该***架构可以包括卡片、代理读卡器、代理卡片、销售点终端(如POS机)。其中,代理读卡器和代理卡片是攻击者用于实施中继攻击的设备,都可以是终端设备,诸如手机、智能电话、便携式终端、个人数字助理(personal digital assistant,PDA)、便携式多媒体播放器(personal media player,PMP)装置、笔记本电脑、笔记本(note pad)、无线宽带(wirelessbroadband,Wibro)终端、平板电脑(personal computer,PC)、智能PC、可穿戴式设备(wearable device)等。
在下述实施例中,代理读卡器和代理卡片可以以手机为例进行说明,其中代理读卡器是用手机实现读卡器功能,代理卡片是将手机模拟成卡片,其中可以包括但不限于应用处理器(application processor,AP)、SE和NFC芯片。其中,SE也可以包括OPEN模块和卡应用(card application)。
本申请实施例的解决思路为:SE在检测到其中第一卡应用被对端POS机选中(如在非接触式接口对应的逻辑通道(basic logical channel,basic LC))的同时又被在其他逻辑通道LC上被选中(如在接触式接口对应的逻辑通道supplementary LC上)时,判断是否满足中继攻击条件,该中继攻击条件如:第一卡应用从第一LC接收到数据后欲将其从第二LC发送出去等;如果满足中继攻击条件,则SE采取防御手段,如不将该数据发送出去,或者发送出去一个空数据包,或者在后续交互中对要交互的数据进行干扰(如不应答、应答错误等)。
需要说明的是,OPEN模块是GP定义的卡标准中用于负责命令分发、卡内容管理、安全管理、内部通信等操作的管理模块。本申请中可以对OPEN模块进行扩展,也可以是增加单独的模块来实现本申请技术方案,即可以由扩展功能后的OPEN模块独立执行本申请实施例对应的功能,也可以由其他单独增加的模块(如集成在SE或终端上)执行本申请实施例对应的功能。
在本申请实施例中,若第一卡应用被选中,则安全单元SE对所述第一卡应用的转出数据和转入数据的行为进行记录;若记录的所述第一卡应用的转出数据和转入数据的行为满足中继攻击条件,则所述SE进行防御处理,例如不将该第一卡应用准备应答给POS机的数据发送出去,或者发送出去一个空数据包(如将准备应答给POS机的响应消息中的负载payload携带的业务数据剔除),或者在后续交互中对要交互的数据进行干扰(如不应答、应答错误等)。
下面以实施例的方式,对本申请技术方案做进一步的说明,如图3所示,为本申请实施例中处理中继攻击的方法的实施例示意图,可以包括:
301、若SE确定第一卡应用被选中,则安全单元SE对第一卡应用的转出数据和转入数据的行为进行监测。
其中,SE确定第一卡应用被选中,可以包括但不限于以下几种实现方式:
方式1:SE通过第一逻辑通道获取第一选择命令;若第一选择命令包括第一卡应用标识(application identifier,AID),则SE确定第一卡应用被选中。示例性的,SE接收手机2发送的第一选择命令,该第一选择命令可以包括第一逻辑通道信息和第一卡应用标识的信息,则SE确定第一卡应用被选中。
方式2:SE通过第一逻辑通道获取第一选择命令,并通过第二逻辑通道获取第二选择命令;若第一选择命令包括第一卡应用标识,且第二选择命令包括第一卡应用标识,则SE确定第一卡应用被选中。示例性的,SE接收手机2发送的第一选择命令,该第一选择命令可以包括第一逻辑通道信息和第一卡应用标识的信息,且SE接收POS机发送的第二选择命令,该第二选择命令可以包括第二逻辑通道信息和第一卡应用标识的信息,则SE确定第一卡应用被选中。
进一步的,若SE确定第一卡应用被选中,且SE确定第一卡应用为预设应用,则安全单元SE对第一卡应用的转出数据和转入数据的行为进行监测。其中,第一卡应用是SE上存储的卡应用。
可以理解的是,预设应用为支付类应用、门禁类应用等。上述所说的第一卡应用被选中,可通过选择(select)命令来实现。示例性的,第一卡应用可以是被远端POS机选中,此时可通过非接触接口(对应NFC或ISO 14443协议,创建并打开一个逻辑通道LC)发送select命令,或者,也可以是被终端内部AP选中,此时可通过接触接口(对应ISO 7816 1-2物理层协议,创建并打开另一个逻辑通道LC)发送select命令,也可以是其他的选中方式,此处不做具体限定。
SE对第一卡应用的转出数据和转入数据中至少一种的行为进行监测,可以包括:SE通过对第一卡应用的转出数据和转入数据中至少一种的消息头进行解析,得到对应的消息类型、逻辑通道号;当消息类型为预设消息类型时,SE至少对第一卡应用的转出数据和转入数据中至少一种的逻辑通道号、行为类型进行记录,其中该行为类型为转入行为或转出行为。
需要说明的是,SE也可以直接根据确定第一卡应用为预设应用这一个条件来确定对第一卡应用的转出数据和转入数据的行为进行监测。
本申请实施例中,第一卡应用的转入数据的行为可以理解为第一卡应用接收数据(如Select、GPO、Read等命令)或者外部设备(如POS机或终端的AP)将数据发送给第一卡应用,更具体地可以是通过SE或者SE内的OPEN将数据转入至第一卡应用;第一卡应用的转出数据的行为可以理解为第一卡应用要向外部设备发送数据(如针对某一命令要应答的响应),更具体地可以是通过SE或SE内的OPEN将数据发送给外部设备。
302、若转出数据的行为和转入数据的行为满足中继攻击条件,则SE进行防御处理。
其中,中继攻击条件可以包括但不限于以下方式:
方式1:第一卡应用通过第一逻辑通道接收第一消息,第一卡应用通过第二逻辑通道发送第一消息。
方式2:第一卡应用通过第一逻辑通道接收第一消息,第一卡应用通过第二逻辑通道发送第一消息;第一卡应用在通过第二逻辑通道发送第一消息之前,通过第二逻辑通道接收第二消息。
一种实现方式是,第一卡应用通过第一逻辑通道接收第一消息,并通过第二逻辑通道接收第二消息,然后通过第二逻辑通道发送第一消息。其中,第一卡应用通过第一逻辑通道接收第一消息与通过第二逻辑通道接收第二消息的执行顺序不限。
方式3:第一卡应用通过第一逻辑通道接收第一消息,第一卡应用通过第二逻辑通道发送第一消息。第一卡应用通过第二逻辑通道发送第一消息之前,第一卡应用通过第二逻辑通道接收第二消息,并通过第一逻辑通道发送所述第二消息。
一种实现方式是,第一卡应用通过第二逻辑通道接收第二消息,再通过第一逻辑通道发送所述第二消息,然后再通过第一逻辑通道接收第一消息,最后再通过第二逻辑通道发送第一消息。
可选的,第一消息包括获取处理选项GPO响应,第二消息包括GPO命令;或者,第一消息包括读read响应,第二消息包括read命令。第一逻辑通道为SE与应用处理器之间的逻辑通道,第二逻辑通道为SE与销售点终端之间的逻辑通道。
进一步的,安全单元进行防御处理,可以包括:安全单元不向销售点终端发送数据;或者,安全单元向销售点终端发送空数据。
可选的,安全单元可以锁定第一卡应用;或者,锁定安全单元。
在本申请实施例中,若SE确定第一卡应用被选中,则安全单元SE对第一卡应用的转出数据和转入数据的行为进行监测;若第一卡应用的转出数据和转入数据的行为满足中继攻击条件,则SE进行防御处理。相对于现有技术方案,本申请实施例在无需修改卡应用、读卡器(如POS机)内部的处理逻辑,无需要求用户额外增加身份验证操作,或者,无需购买专用的干扰设备(如锡纸壳或锡纸套)的情况下,只通过对SE进行功能拓展,即可实现对中继攻击的检测和防御,实现相对简单,对应用开发商和读卡器厂商无影响,不影响用户体验,不增加用户成本。
本申请实施例后续将终端细化为应用处理器AP、SE内的OPEN模块和第一卡应用,并分别从AP主动中继数据给第一卡应用以及第一卡应用主动中继数据给AP这两个角度,提出不同的实施例方案,具体分别为如下面图4和图5所示的实施例。
如图4所示,为本申请实施例中处理中继攻击的方法的一个实施例示意图。本实施例是针对AP主动中继数据(如从代理读卡器(proxy reader)处远程获取的GPO响应)给第一卡应用的情况,即OPEN在收到POS发送的GPO命令之前就收到AP发送的GPO响应,或者,是在收到POS发送的GPO命令并转入给该第一卡应用之后,但收到该第一卡应用转出GPO响应之前就收到AP发送的GPO响应;或者,从第一卡应用的角度理解,即为该第一卡应用在一个LC上收到通过OPEN转入的GPO命令之前,先从另一个LC上收到通过OPEN转入的GPO响应,或者,在一个LC上收到通过OPEN转入的GPO命令之后,并在还未向OPEN转出该命令或任何应答时,先在另一个LC上收到通过OPEN再次转入的GPO响应。
本实施例中,SE确定其中第一卡应用被选中在某个LC上后,触发监测该第一卡应用是否被选中在其他LC上以及对该第一卡应用的转入数据和转出数据的行为进行监测(如对转入或转出该第一卡应用的数据进行解析和记录,本实施例中可记录3条信息),以判断是否将会或正在发生中继攻击。具体可以包括:
阶段1:OPEN确定第一卡应用在至少一个逻辑通道上被选中
首先,OPEN通过第二逻辑通道接收POS机发送的选择命令,并向POS机返回选择响应,以实现第一卡应用被POS机选中,具体可参考下述步骤401和402所示:
401、POS机向第二手机的OPEN发送第二选择命令。
具体地,第二手机的OPEN通过第二逻辑通道接收销售点终端发送的第二选择命令,第二选择命令包括第一卡应用标识。例如,第二逻辑通道为在非接触接口(contactlessinterface)建立的逻辑通道(logical channel,LC),即在POS机和第二手机之间基于NFC或ISO 14443技术协议创建的通道,具体地,是POS机与SE之间通信的通道,进一步地,是POS机与SE内OPEN,或者通过OPEN与SE内第一卡应用之间通信的通道。
需要说明的是,这里的第二手机可视为代理卡片。第二手机可以包括应用处理器AP、SE,其中,SE又包括OPEN和第一卡应用。即第一卡应用为在SE上存储的卡应用。
402、第二手机的OPEN向POS机发送第二选择响应。
然后,OPEN通过第一逻辑通道接收AP发送的选择命令,并向AP返回选择响应,以实现第一卡应用被AP选中,具体可参考下述步骤403和404所示:
403、第二手机的OPEN接收应用处理器发送的第一选择命令。
具体地,OPEN通过第一逻辑通道接收AP发送的第一选择命令,第一选择命令包括第一卡应用标识。例如,第一逻辑通道为在接触接口(contact interface)建立的逻辑通道(logical channel,LC),即在应用处理器AP和第二手机之间基于ISO 7816-1与7816-2技术协议创建的通道,具体地,是AP与SE之间通信的通道,进一步地,是AP与SE内OPEN,或者通过OPEN与SE内第一卡应用之间通信的通道。
404、OPEN向AP发送第一选择响应。
需要说明的是,步骤401-404是OPEN确定第一卡应用在至少一个逻辑通道上被选中过程的一个示例,上述第一选择命令和第二选择命令均包括第一卡应用的AID,具体格式可参看现有EMV协议或PBOC协议中定义的选择命令SELECT Command。步骤401-402与步骤403-404的时序不做限定,例如,第一卡应用也可以先被AP选中,再被POS机选中。
阶段2:基于阶段1的条件,触发OPEN监测针对第一卡应用的转入数据或转出数据的行为405、若OPEN确定第一卡应用在至少两个逻辑通道上被选中,则对第一卡应用的转出数据和转入数据的行为进行监测。
进一步的,所述SE对所述第一卡应用的转出数据的行为和转入数据的行为进行监测,可以包括:所述SE通过对所述第一卡应用的转出数据和转入数据的消息头进行解析,得到对应的消息类型、逻辑通道号;当所述消息类型为预设消息类型时,所述SE至少对所述第一卡应用的转出数据和转入数据的逻辑通道号、行为类型进行记录,其中该行为类型为转入行为或转出行为。
一种可选的实现方式是,OPEN对第一卡应用的转出数据和转入数据的行为进行监测可以通过记录的形式实现,具体为,OPEN从外部(相对SE而言,外部可理解为POS机或AP)收到消息(如GPO命令或GPO响应)时,对该消息进行记录;或者,从内部(相对SE而言,内部可理解为第一卡应用)收到消息时,对该消息进行记录。
更具体地,OPEN需要对接收到的每个消息的消息头Header进行解析,然后根据解析出的内容对消息进行记录,具体见后续阶段3中的详细解释。
进一步的,若第一卡应用为预设应用,且被至少两个逻辑通道选中,则对第一卡应用的转出数据和转入数据的行为进行监测。或者,若被选中的第一卡应用为预设应用,则监测第一卡应用是否被选中在其他逻辑通道上,并对第一卡应用的转出数据和转入数据进行监测。可以理解的是,预设应用可以是支付类、门禁类等类别的卡应用。示例地,OPEN在解析消息的消息头Header时,如果其中指令字节(instruction byte,INS)表示的消息为特定指令(如支付类卡应用需要的GPO命令/响应或者Read命令/响应),则进行上述监测与下面的记录操作,否则不进行这些操作。
阶段3:OPEN对第一卡应用的转入数据和转出数据的行为进行分析与记录
首先,OPEN从POS机接收到第二GPO命令后将其转发给第一卡应用,并对本次向第一卡应用转入数据的行为进行记录,具体如下述步骤410-412所示:
410、POS机向OPEN发送第二GPO命令。
其中,第二GPO命令是通过第二逻辑通道发送的。
411、OPEN向第一卡应用发送第二GPO命令。
需要说明的是,OPEN向第一卡应用发送数据的行为即第一卡应用的转入数据的行为。
412、OPEN对第一卡应用本次转入第二GPO命令的行为进行记录,得到第一记录。
具体地,OPEN需要对接收到的消息进行解析,如对GPO命令/响应、Read命令/响应进行解析。具体地,OPEN需要对接收到的每个消息的消息头(Header)进行解析以得到逻辑通道LC号和消息类型,例如,通过解析Header中的类别字节(class byte,CLA)、指令字节(instruction byte,INS)分别确定LC号、消息类型。同时,确定每个消息对应的行为类型,该行为类型可以是转入行为或者转出行为,可以理解为确定接收到的消息对于该第一卡应用来讲是转入的还是转出的。
本实施例中,具体记录的内容可以是逻辑通道LC号、消息类型和行为类型,如第一记录的实现形式为:[LC号:第二逻辑通道;消息类型:GPO命令;行为类型:转入]。当然,记录的形式也可以是其他形式,本申请实施例不进行限定。
然后,OPEN从AP获取到第一GPO响应后将其转发给第一卡应用,并对本次向第一卡应用转入数据的行为进行记录,其中第一GPO响应是第一手机(即攻击者的另一个设备,作为读卡器)从卡片(如受害人的卡片或手机卡模拟应用)处通过GPO命令获取到的,具体如下述步骤406-409和步骤413-414所示:
406、第一手机向卡片发送第一GPO命令。
这里的第一手机可视为代理读卡器。第一GPO命令用于向卡片请求交易所必需的关键信息,如签名和密文等信息。
407、卡片向第一手机发送第一GPO响应。
其中,第一GPO响应可以理解为从其他设备处中继过来的用于实施中继攻击所需的数据。
408、第一手机向第二手机的AP发送第一GPO响应。
409、AP向OPEN发送第一GPO响应。
具体地,AP通过第一逻辑通道向OPEN发生第一GPO响应。
413、OPEN向第一卡应用发送第一GPO响应。
需要说明的是,OPEN向第一卡应用发送数据的行为即第一卡应用的转入数据的行为。
414、OPEN对第一卡应用本次转入第一GPO响应的行为进行记录,得到第二记录。
OPEN通过第一逻辑通道接收AP发送的第一GPO响应之后,通过第一逻辑通道向第一卡应用发送第一GPO响应。需要说明的是,第一GPO响应作对于第一卡应用来说,是转入数据,所以,OPEN将第一GPO响应作为第一卡应用的转入数据进行记录,得到第二记录。
可以理解的是,OPEN对第一GPO响应处理的方式类似上述步骤412,对本步骤中的消息相关的信息与行为进行记录的方式也类似上述步骤412,示例地,本步骤中记录的内容可以是逻辑通道LC号、消息类型和行为类型,如第二记录的实现形式为:[LC号:第一逻辑通道;消息类型:GPO响应;行为类型:转入]。
需要说明的是,步骤410-412与步骤406-409的时序不做限定,即在本申请实施例中,OPEN可以在收到POS机发送的第二GPO命令之前就收到AP发送的第一GPO响应,或者,是在收到POS机发送的第二GPO命令并转入给第一卡应用之后,但收到该第一卡应用转出第二GPO响应之前就收到AP发送的第一GPO响应。或者,从第一卡应用的角度来说,该第一卡应用是在一个LC上收到通过OPEN转入的第二GPO命令之前,先从另一个LC上收到通过OPEN转入的第一GPO响应;或者,在一个LC上收到通过OPEN转入的第二GPO命令之后,并在还未通过OPEN转出该第二GPO命令的任何应答时,先在另一个LC上收到通过OPEN转入的第一GPO响应。
最后,OPEN接收到第一卡应用发送的第二GPO响应后,对本次第一卡应用转出数据的行为进行记录,具体如下述步骤415-416所示:
415、第一卡应用向OPEN发送第二GPO响应。
需要说明的是,第一卡应用向OPEN发送数据的行为即第一卡应用的转出数据的行为。
416、OPEN对第一卡应用本次转出第二GPO响应的行为进行记录,得到第三记录。
需要说明的是,第二GPO响应是根据第一GPO响应重新构造的响应,第一GPO响应是通过第一逻辑通道发送的,第二GPO响应是通过第二逻辑通道发送的。或者,也可以这样理解,第一GPO响应和第二GPO响应实质相同,只是通过第一逻辑通道接收的GPO响应再通过第二逻辑通道发送出去,这里将通过第一逻辑通道接收的GPO响应称为第一GPO响应,再通过第二逻辑通道发送的GPO响应称为第二GPO响应。
可以理解的是,OPEN对第二GPO响应处理的方式类似上述步骤412,对本步骤中的消息相关的信息与行为进行记录的方式也类似上述步骤412,示例地,本步骤中记录的内容可以是逻辑通道LC号、消息类型和行为类型,如第三记录的实现形式为:[LC号:第二逻辑通道;消息类型:GPO响应;行为类型:转出]。
阶段4:OPEN基于对第一卡应用的转入和转出数据的行为的记录,判断是否满足中继攻击条件,具体如步骤417-418所示:
417、OPEN判断第一记录、第二记录和第三记录是否满足中继攻击条件。
需要说明的是,这里说的中继攻击条件可以是:(1)同一消息(消息类型相同)先经一个LC上转入,再经另一个LC上转出,如第二记录和第三记录;(2)同一LC上,先有一个消息转入,再有另一个消息转出,如第一记录和第三记录。
418、若满足,则OPEN向POS机发送第二GPO响应。
当第一记录、第二记录和第三记录,即第一卡应用的转入数据和转出数据的行为满足中继攻击条件时,这里的第二GPO响应可以是空响应,或者是应答错误的响应,或者,OPEN也可以不向POS发送第二GPO响应。
可选的,当满足中继攻击条件时,还可以锁定SE,或者,该第一卡应用,或者,同时锁定SE和第一卡应用。进一步的,也可以记录本次中继攻击检测结果。
而当第一记录、第二记录和第三记录不满足中继攻击条件时,OPEN向POS机发送第二GPO响应,这里的第二GPO响应即为正常的应答响应。
进一步的,OPEN与POS机之间进行数据读取。例如:随机数Nc,卡片公钥证书等信息。这里的读数据过程是在现有EMV或PBOC协议中发生在GPO命令响应后面的,具体用于读取卡片/卡应用的公钥证书、随机数等,从而对上面交互GPO命令响应的过程中获取的签名(SDAD)和密文(AC)进行验证。而对于Read命令/响应的处理过程类似上述过程,因为中继攻击可能是发生在这个消息交互过程中,或者,可能是上述对GPO命令/响应消息处理过程中没有成功检测出中继攻击的可能性。
可以理解的是,上述对转入数据或转出数据的行为进行监测和判断的过程不仅限适用于本实施例中的GPO命令/响应,也适用于Read命令/响应,也适用于GPO命令/响应以及Read命令/响应,或者,也适用于其他命令/响应,此处不做具体限定。
需要说明的是,上述实施例中,若第一卡应用在至少两个逻辑通道上被选中,和/或,第一卡应用为预设应用,则对第一卡应用的转入数据和转出数据的行为进行监测,并以此判断是否将会或者正在发生中继攻击,这些技术特征可以由OPEN实现,例如对OPEN现有Velocity checking机制进行扩展,即对SE内的安全敏感挥动进行主动检测、处理和管理的机制进行扩展,以便OPEN可以对第一卡应用相关的行为进行监测并对检测到的中继攻击事件进行处理与记录。当然,本申请实施例也不排除其他方式,如不对现有OPEN进行功能扩展,而是新增一个单独的功能模块来实现。
在本申请实施例中,对SE进行功能拓展,通过上述三条转入或转出记录即可实现对中继攻击的检测与防御,相比几种现有方案,在无需修改卡应用、读卡器(如POS机)内部的处理逻辑,无需要求用户额外增加身份验证操作,或者,无需购买专用的干扰设备(如锡纸壳或锡纸套)的情况下,只通过对SE进行功能拓展,即可实现对中继攻击的检测和防御,实现相对简单,对应用开发商和读卡器厂商无影响,不影响用户体验,不增加用户成本。
如图5所示,为本申请实施例中处理中继攻击的方法的另一个实施例示意图。实施例是针对第一卡应用主动中继数据(如从POS处获取的GPO命令)给AP的情况,即OPEN在收到POS发送的GPO命令并转入给该第一卡应用之后就收到该第一卡应用原封不动转出的该GPO命令。从第一卡应用的角度描述,即,该第一卡应用是在一个LC上通过OPEN转入的GPO命令之后,直接将该命令在另一个LC上通过OPEN转出给AP。
本实施例中,SE确定第一卡应用被选中在多个LC上后,触发对转入或转出该应用的数据进行记录(如对转入或转出该第一卡应用的数据进行解析和记录,本实施例中可记录4条信息),以判断是否将会或正在发生中继攻击,具体可以包括:
阶段1:OPEN确定第一卡应用在至少一个逻辑通道上被选中
501、POS机向第二手机的OPEN发送第二选择命令。
502、OPEN向POS机发送第二选择响应。
503、OPEN接收应用处理器AP发送的第一选择命令。
504、OPEN向AP发送第一选择响应。
需要说明的是,步骤501-504与上述图4所示的步骤401-404类似,此处不再赘述。
阶段2:基于阶段1的条件,触发OPEN监测针对第一卡应用的转入或转出数据的行为505、若OPEN确定第一卡应用被至少两个逻辑通道选中,则对第一卡应用的转出数据和转入数据的行为进行监测。
需要说明的是,步骤505与上述图4所示的步骤405类似,此处不再赘述。
阶段3:OPEN对第一卡应用的转入数据和转出数据的行为进行分析与记录
首先,OPEN从POS机接收到第二GPO命令后将其转发给第一卡应用,并对本次向第一卡应用转入数据的行为进行记录,具体如下述步骤506-508所示:
506、POS机向OPEN发送第二GPO命令。
其中,第二GPO命令是通过第二逻辑通道发送的。
507、OPEN向第一卡应用发送第二GPO命令。
需要说明的是,OPEN向第一卡应用发送数据的行为即第一卡应用的转入数据的行为。
508、OPEN对第一卡应用本次转入第二GPO命令的行为进行记录,得到第一记录。
需要说明的是,OPEN需要对接收到的消息进行解析,如对GPO命令/响应、Read命令/响应进行解析。OPEN对第二GPO命令处理的方式类似图4中所示的步骤412,对本步骤中的消息相关的信息与行为进行记录的方式也类似图4中所示的步骤412。
本实施例中,具体记录的内容可以是逻辑通道LC号、消息类型和行为类型,如第一记录的实现形式为:[LC号:第二逻辑通道;消息类型:GPO命令;行为类型:转入]。当然,记录的形式也可以是其他形式,本申请实施例不进行限定。
然后,OPEN从第一卡应用接收第一GPO命令后将其转发给AP,并对本次第一卡应用转出数据的行为进行记录,具体如下述步骤509-513所示:
509、第一卡应用向OPEN发送第一GPO命令。
需要说明的是,第一卡应用向OPEN发送数据的行为即第一卡应用的转出数据的行为。
510、OPEN对第一卡应用本次转出第一GPO命令的行为进行记录,得到第二记录。
需要说明的是,第一GPO命令是根据第二GPO命令重新构造的命令,第二GPO命令是通过第二逻辑通道发送的,第一GPO命令是通过第一逻辑通道发送的。或者,也可以这样理解,第一GPO命令和第二GPO命令实质相同,只是通过第二逻辑通道接收的GPO命令再通过第一逻辑通道发送出去,这里将通过第二逻辑通道接收的GPO命令称为第二GPO命令,再通过第一逻辑通道发送的GPO命令称为第一GPO命令。
可以理解的是,OPEN对第一GPO命令处理的方式类似图4中所示的步骤412,对本步骤中的消息相关的信息与行为进行记录的方式也类似图4中所示的步骤412。示例地,本步骤中记录的内容可以是逻辑通道LC号、消息类型和行为类型,如第二记录的实现形式为:[LC号:第一逻辑通道;消息类型:GPO命令;行为类型:转出]。
511、OPEN向AP发送第一GPO命令。
这里,第一GPO命令用于向卡片请求交易所必需的关键信息,如签名和密文等信息。
512、AP向第一手机发送第一GPO命令。
513、第一手机向卡片发送第一GPO命令。
再然后,OPEN在从AP获取到第一GPO响应后将其转发给第一卡应用,并对本次向第一卡应用转入数据的行为进行记录,其中第一GPO响应是第一手机(即攻击者的另一个设备,作为读卡器)从卡片(如受害人的卡片或手机卡模拟应用)处通过GPO命令获取到的,具体如下述步骤514-518所示:
514、卡片向第一手机发送第一GPO响应。
这里,第一GPO响应可以理解为从其他设备处中继过来的用于实施中继攻击所需的数据。
515、第一手机向第二手机的AP发送第一GPO响应。
516、AP向OPEN发送第一GPO响应。
517、OPEN向第一卡应用发送第一GPO响应。
需要说明的是,OPEN向第一卡应用发送数据的行为即第一卡应用的转入数据的行为。
518、OPEN对第一卡应用本次转入第一GPO响应的行为进行记录,得到第三记录。
OPEN通过第一逻辑通道接收AP发送的第一GPO响应之后,通过第一逻辑通道向第一卡应用发送第一GPO响应。
可以理解的是,OPEN对第一GPO响应处理的方式类似图4中所示的步骤412,对本步骤中的消息相关的信息与行为进行记录的方式也类似图4中所示的步骤412。示例地,本步骤中记录的内容可以是逻辑通道LC号、消息类型和行为类型,如第三记录的实现形式为:[LC号:第一逻辑通道;消息类型:GPO响应;行为类型:转入]。
最后,OPEN接收到第一卡应用发送的第二GPO响应后,对本次第一卡应用转出数据的行为进行记录,具体如下述步骤519-520所示:
519、第一卡应用向OPEN发送第二GPO响应。
需要说明的是,第一卡应用向OPEN发送数据的行为即第一卡应用的转出数据的行为。
520、OPEN对第一卡应用本次转出第二GPO响应的行为进行记录,得到第四记录。
需要说明的是,第二GPO响应是根据第一GPO响应重新构造的响应,第一GPO响应是通过第一逻辑通道发送的,第二GPO响应是通过第二逻辑通道发送的。或者,也可以这样理解,第一GPO响应和第二GPO响应实质相同,只是通过第一逻辑通道接收的GPO响应再通过第二逻辑通道发送出去,这里将通过第一逻辑通道接收的GPO响应称为第一GPO响应,再通过第二逻辑通道发送的GPO响应称为第二GPO响应。
可以理解的是,OPEN对第二GPO响应处理的方式类似图4中所示的步骤412,对本步骤中的消息相关的信息与行为进行记录的方式也类似图4中所示的步骤412。示例地,本步骤中记录的内容可以是逻辑通道LC号、消息类型和行为类型,如第四记录的实现形式为:[LC号:第二逻辑通道;消息类型:GPO响应;行为类型:转出]。
阶段4:OPEN基于对第一卡应用的转入和转出数据的行为的记录,判断是否满足中继攻击条件,具体如步骤521-522所示:
521、OPEN判断第一记录、第二记录、第三记录和第四记录是否满足中继攻击条件。
需要说明的是,这里说的中继攻击条件可以是:(1)同一消息(消息类型相同)先经一个LC上转入,再经另一个LC上转出,如第一记录和第二记录,第三记录和第四记录;(2)同一LC上,先有一个消息转入,再有另一个消息转出,如第一记录和第四记录;或者,先有一个消息转出,再有另一个消息转入,如第二记录和第三记录。
522、若满足,则OPEN向POS机发送第二GPO响应。
当第一记录、第二记录、第三记录和第四记录,即第一卡应用的转入数据和转出数据的行为满足中继攻击条件时,这里的第二GPO响应可以是空响应,或者是应答错误的响应,或者,OPEN也可以不向POS发送第二GPO响应。可选的,当满足中继攻击条件时,还可以锁定SE,或者,该第一卡应用,或者,同时锁定SE和第一卡应用。进一步的,也可以记录本次中继攻击检测结果。
可选的,当第一记录、第二记录、第三记录和第四记录不满足中继攻击条件时,OPEN向POS机发送第二GPO响应,这里的第二GPO响应即为正常的应答响应。
可以理解的是,上述对转入数据或转出数据的行为进行监测和判断的过程不仅限适用于本实施例中的GPO命令/响应,也适用于Read命令/响应,也适用于GPO命令/响应以及Read命令/响应,或者,也适用于包括其他命令/响应,此处不做具体限定。
在本申请实施例中,针对第一卡应用主动中继数据(从POS处获取的GPO命令)给AP的情况,即OPEN在收到POS机发送的GPO命令并转入给该第一卡应用之后,就收到该第一卡应用原封不动转出的该GPO命令。从第一卡应用的角度来说,该第一卡应用是在一个LC上通过OPEN转入的GPO命令之后,直接将该GPO命令在另一个LC上通过OPEN转出给AP。
在本申请实施例中,对SE进行功能拓展,通过上述四条转入或转出记录即可实现对中继攻击的检测与防御,相比几种现有方案,在无需修改卡应用、读卡器(如POS机)内部的处理逻辑,无需要求用户额外增加身份验证操作,或者,无需购买专用的干扰设备(如锡纸壳或锡纸套)的情况下,只通过对SE进行功能拓展,即可实现对中继攻击的检测和防御,实现相对简单,对应用开发商和读卡器厂商无影响,不影响用户体验,不增加用户成本。
下面对本申请技术方案的装置部分进行说明。如图6所示,为本申请实施例中安全单元SE所应用的终端设备的一个实施例示意图。
该终端设备可以包括输入单元601、处理器单元602、输出单元603、通信单元604、存储单元605、外设单元606等组件。这些组件通过一条或多条总线进行通信。本领域技术人员可以理解,图6中示出的终端设备的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本申请实施方式中,所述终端设备可以是任何移动或便携式电子设备,包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(personal digital assistant,PDA)、可穿戴式设备(wearable device),以及上述两项或两项以上的组合等。
输入单元601用于实现用户与终端设备的交互和/或信息输入到终端设备中。例如,输入单元601可以接收用户输入的数字或字符信息,以产生与用户设置或功能控制有关的信号输入。在本申请具体实施方式中,输入单元601可以是触控面板,也可以是其他人机交互界面,例如实体输入键、麦克风等,还可是其他外部信息撷取装置,例如摄像头等。触控面板,也称为触摸屏或触控屏,可收集用户在其上触摸或接近的操作动作。比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或接近触控面板的位置的操作动作,并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸操作,并将检测到的触摸操作转换为电信号,以及将所述电信号传送给触摸控制器;触摸控制器从触摸检测装置上接收所述电信号,并将它转换成触点坐标,再送给处理单元。所述触摸控制器还可以接收处理单元发来的命令并执行。此外,可以采用电阻式、电容式、红外线(Infrared)以及表面声波等多种类型实现触控面板。在本申请的其他实施方式中,输入单元601所采用的实体输入键可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。麦克风形式的输入单元601可以收集用户或环境输入的语音并将其转换成电信号形式的、处理单元可执行的命令。
本申请具体实施方式中,REE侧的应用和SE侧的卡应用可能都涉及到输入单元601,具体动作如通过触控屏选择或设置应用等。
处理器单元602为终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储单元605内的软件程序和/或模块,以及调用存储在存储单元605内的数据,以执行终端设备的各种功能和/或处理数据。所述处理器单元602可以由集成电路(integrated circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器单元602可以仅包括中央处理器(central processing unit,简称CPU),也可以是GPU、数字信号处理器(digital signal processor,简称DSP)、及通信单元604中的控制芯片(例如基带芯片)的组合。在本申请实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
本申请具体实施方式中,REE侧的应用和SE侧的卡应用的动作都涉及到处理器,具体动作可详见上述实施例。
通信单元604用于建立通信信道,使终端设备通过所述通信信道以连接至远程服务器,并从所述远程服务器下媒体数据。所述通信单元604可以包括无线局域网(wirelesslocal area network,简称wireless LAN)模块、蓝牙模块、NFC模块、基带(base band)模块等通信模块,以及所述通信模块对应的射频(radio frequency,简称RF)电路,用于进行无线局域网络通信、蓝牙通信、NFC通信、红外线通信及/或蜂窝式通信***通信,例如宽带码分多重接入(wideband code division multiple access,简称W-CDMA)及/或高速下行封包存取(high speed downlink packet access,简称HSDPA)。所述通信模块用于控制终端设备中的各组件的通信,并且可以支持直接内存存取(direct memory access)。
射频电路用于信息收发或通话过程中接收和发送信号。例如,将基站的下行信息接收后,给处理单元处理;另外,将设计上行的数据发送给基站。又如,将外部NFC设备发送的信息接收后,给处理单元处理,将处理结果发送给外部NFC设备。通常,所述射频电路包括用于执行这些功能的公知电路,包括但不限于天线***、射频收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码(codec)芯片组、用户身份模块(SIM)卡、存储器等等。此外,射频电路还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(global system of mobilecommunication,全球移动通讯***)、GPRS(general packet radio service,通用分组无线服务)、CDMA(code division multiple access,码分多址)、WCDMA(wideband codedivision multiple access,宽带码分多址)、高速上行行链路分组接入技术(high speeduplink packet access,HSUPA)、LTE(long term evolution,长期演进)、电子邮件、SMS(short messaging service,短消息服务)等。
本申请具体实施例中,SE内卡应用与POS机交互时涉及到通信单元604,可能的方式如NFC通信等,当然也不排除其他方式;终端通过AP与远端的其他手机(如攻击者的手机,做读卡器proxy reader)的交互也涉及到通信单元604,如通过基带模块。
输出单元603包括但不限于影像输出单元和声音输出单元。影像输出单元用于输出文字、图片和/或视频。所述影像输出单元可包括显示面板,例如采用LCD(liquidcrystal display,液晶显示器)、OLED(organic light-emitting diode,有机发光二极管)、场发射显示器(field emission display,简称FED)等形式来配置的显示面板。或者所述影像输出单元可以包括反射式显示器,例如电泳式(electrophoretic)显示器,或利用光干涉调变技术(interferometric modulation of light)的显示器。所述影像输出单元可以包括单个显示器或不同尺寸的多个显示器。在本申请的具体实施方式中,上述输入单元601所采用的触控面板亦可同时作为输出单元603的显示面板。例如,当触控面板检测到在其上的触摸或接近的手势操作后,传送给处理单元以确定触摸事件的类型,随后处理单元根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图1中,输入单元601与输出单元603是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板与显示面板集成一体而实现终端设备的输入和输出功能。例如,所述影像输出单元可以显示各种图形化用户接口(graphical user interface,简称GUI)以作为虚拟控制组件,包括但不限于窗口、卷动轴、图标及剪贴簿,以供用户通过触控方式进行操作。
在本申请具体实施方式中,影像输出单元包括滤波器及放大器,用来将处理单元所输出的视频滤波及放大。音频输出单元包括数字模拟转换器,用来将处理单元所输出的音频信号从数字格式转换为模拟格式。
存储单元605可用于存储软件程序以及模块,处理单元通过运行存储在存储单元605的软件程序以及模块,从而执行终端设备的各种功能应用以及实现数据处理。存储单元605主要包括程序存储区和数据存储区,其中,程序存储区可存储操作***、至少一个功能所需的应用程序,比如声音播放程序、图像播放程序等等;数据存储区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。在本申请具体实施方式中,存储单元605可以包括易失性存储器,例如非挥发性动态随机存取内存(nonvolatile randomaccess memory,简称NVRAM)、相变化随机存取内存(phase change RAM,简称PRAM)、磁阻式随机存取内存(magetoresistive RAM,简称MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(electrically erasableprogrammable read-only memory,简称EEPROM)、闪存器件,例如反或闪存(NOR flashmemory)或是反及闪存(NAND flash memory)。非易失存储器储存处理单元所执行的操作***及应用程序。所述处理单元从所述非易失存储器加载运行程序与数据到内存并将数字内容储存于大量储存装置中。所述操作***包括用于控制和管理常规***任务,例如内存管理、存储设备控制、电源管理等,以及有助于各种软硬件之间通信的各种组件和/或驱动器。在本申请实施方式中,所述操作***可以是Google公司的Android***、Apple公司开发的iOS***或Microsoft公司开发的Windows操作***等,或者是Vxworks这类的嵌入式操作***。
所述应用程序包括安装在终端设备上的任何应用,包括但不限于浏览器、电子邮件、即时消息服务、文字处理、键盘虚拟、窗口小部件(Widget)、加密、数字版权管理、语音识别、语音复制、定位(例如由全球定位***提供的功能)、音乐播放等等。
本申请具体实施例中,终端可能涉及到数据的存储,如应用程序及用户数据的存储等,详见上述实施例。
电源607用于给终端设备的不同部件进行供电以维持其运行。作为一般性理解,所述电源可以是内置的电池,例如常见的锂离子电池、镍氢电池等,也包括直接向终端设备供电的外接电源,例如AC适配器等。在本申请的一些实施方式中,所述电源607还可以作更为广泛的定义,例如还可以包括电源管理***、充电***、电源故障检测电路、电源转换器或逆变器、电源状态指示器(如发光二极管),以及与终端设备的电能生成、管理及分布相关联的其他任何组件。
如图7所示,为本申请实施例中安全单元SE的一个实施例示意图,该SE应用于图6所示的终端,SE可以包括:
监测模块701,用于若所述SE确定第一卡应用被选中,则对所述第一卡应用的转出数据的行为和转入数据的行为进行监测,所述第一卡应用为在所述SE上存储的卡应用;
处理模块702,用于若所述转出数据的行为和转入数据的行为满足中继攻击条件,则进行防御处理。
可选的,在本申请的一些实施例中,所述中继攻击条件,可以包括:所述第一卡应用通过第一逻辑通道接收第一消息,并通过第二逻辑通道发送所述第一消息。
可选的,在本申请的一些实施例中,所述中继攻击条件,还可以包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息。
可选的,在本申请的一些实施例中,所述中继攻击条件,还可以包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息,并通过所述第一逻辑通道发送所述第二消息。
可选的,在本申请的一些实施例中,所述第一消息包括获取处理选项GPO响应,所述第二消息包括GPO命令;或者,所述第一消息包括读read响应,所述第二消息包括read命令。
可选的,在本申请的一些实施例中,所述第一逻辑通道为所述SE与应用处理器之间的逻辑通道,所述第二逻辑通道为所述SE与销售点终端之间的逻辑通道。
可选的,在本申请的一些实施例中,
监测模块701,具体用于通过对所述第一卡应用的转出数据和转入数据的消息头进行解析,得到对应的消息类型、逻辑通道号;当所述消息类型为预设消息类型时,至少对所述第一卡应用的转出数据和转入数据的逻辑通道号、行为类型进行记录,其中所述行为类型为转入行为或转出行为。
可选的,在本申请的一些实施例中,所述预设消息类型包括获取处理选项GPO响应、GPO命令、读read响应或read命令。
可选的,在本申请的一些实施例中,
监测模块701,具体用于通过第一逻辑通道获取第一选择命令;若所述第一选择命令包括第一卡应用标识,则确定所述第一卡应用被选中;
或者,
监测模块701,具体用于通过第一逻辑通道获取第一选择命令,并通过第二逻辑通道获取第二选择命令;若所述第一选择命令包括第一卡应用标识,且所述第二选择命令包括所述第一卡应用标识,则确定所述第一卡应用被选中。
可选的,在本申请的一些实施例中,
监测模块701,还用于确定所述第一卡应用为预设应用。
可选的,在本申请的一些实施例中,
处理模块702,还用于不向销售点终端发送数据;或者,向销售点终端发送空数据。
可选的,在本申请的一些实施例中,
处理模块702,还用于SE锁定所述第一卡应用;或,锁定所述SE。
如图8所示,为本申请实施例中安全单元SE的一个实施例示意图,可以包括:
存储器801、收发器802、处理器803和总线,存储器801、收发器802和处理器803通过总线连接;
收发器802,用于与所述SE之外的装置进行通信;
存储器801,用于存储计算机执行指令;
处理器803,用于执行所述存储器中存储的计算机执行指令,若确定第一卡应用被选中,则对所述第一卡应用的转出数据的行为和转入数据的行为进行监测,所述第一卡应用为在所述SE上存储的卡应用;若所述转出数据的行为和转入数据的行为满足中继攻击条件,则进行防御处理。
可选的,在本申请的一些实施例中,所述中继攻击条件,包括:所述第一卡应用通过第一逻辑通道接收第一消息,并通过第二逻辑通道发送所述第一消息。
可选的,在本申请的一些实施例中,所述中继攻击条件,还包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息。
可选的,在本申请的一些实施例中,所述中继攻击条件,还包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息,并通过所述第一逻辑通道发送所述第二消息。
可选的,在本申请的一些实施例中,所述第一消息包括获取处理选项GPO响应,所述第二消息包括GPO命令;或者,所述第一消息包括读read响应,所述第二消息包括read命令。
可选的,在本申请的一些实施例中,所述第一逻辑通道为所述SE与应用处理器之间的逻辑通道,所述第二逻辑通道为所述SE与销售点终端之间的逻辑通道。
可选的,在本申请的一些实施例中,
处理器803,具体用于通过对所述第一卡应用的转出数据和转入数据的消息头进行解析,得到对应的消息类型、逻辑通道号;当所述消息类型为预设消息类型时,至少对所述第一卡应用的转出数据和转入数据的逻辑通道号、行为类型进行记录,其中所述行为类型为转入行为或转出行为。
可选的,在本申请的一些实施例中,所述预设消息类型包括获取处理选项GPO响应、GPO命令、读read响应或read命令。
可选的,在本申请的一些实施例中,
处理器803,具体用于通过第一逻辑通道获取第一选择命令;若所述第一选择命令包括第一卡应用标识,则确定所述第一卡应用被选中;
或者,
处理器803,具体用于通过第一逻辑通道获取第一选择命令,并通过第二逻辑通道获取第二选择命令;若所述第一选择命令包括第一卡应用标识,且所述第二选择命令包括所述第一卡应用标识,则确定所述第一卡应用被选中。
可选的,在本申请的一些实施例中,
处理器803,具体用于确定所述第一卡应用为预设应用。
可选的,在本申请的一些实施例中,
收发器802,用于不向销售点终端发送数据;或者,向销售点终端发送空数据。
可选的,在本申请的一些实施例中,
处理器803,还用于锁定所述第一卡应用;或,锁定所述SE。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (21)
1.一种处理中继攻击的方法,所述方法应用于终端中的安全单元SE,其特征在于,所述方法包括:
若所述SE确定第一卡应用被选中,则所述SE对所述第一卡应用的转出数据的行为和转入数据的行为进行监测,所述第一卡应用为在所述SE上存储的卡应用;
若所述转出数据的行为和转入数据的行为满足中继攻击条件,则所述SE进行防御处理,其中,所述中继攻击条件,包括:所述第一卡应用通过第一逻辑通道接收第一消息,并通过第二逻辑通道发送所述第一消息,其中,所述第一逻辑通道为所述SE与应用处理器之间的逻辑通道,所述第二逻辑通道为所述SE与销售点终端之间的逻辑通道。
2.根据权利要求1所述的方法,其特征在于,所述中继攻击条件,还包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息。
3.根据权利要求1所述的方法,其特征在于,所述中继攻击条件,还包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息,并通过所述第一逻辑通道发送所述第二消息。
4.根据权利要求2-3中任一项所述的方法,其特征在于,所述第一消息包括获取处理选项GPO响应,所述第二消息包括GPO命令;或者,所述第一消息包括读read响应,所述第二消息包括read命令。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述SE对所述第一卡应用的转出数据的行为和转入数据的行为进行监测,包括:
所述SE通过对所述第一卡应用的转出数据和转入数据的消息头进行解析,得到对应的消息类型、逻辑通道号;
当所述消息类型为预设消息类型时,所述SE至少对所述第一卡应用的转出数据和转入数据的所述逻辑通道号、行为类型进行记录,其中所述行为类型为转入行为或转出行为。
6.根据权利要求5所述的方法,其特征在于,所述预设消息类型包括获取处理选项GPO响应、GPO命令、读read响应或read命令。
7.根据权利要求1-3中任一项所述的方法,其特征在于,所述SE确定第一卡应用被选中,包括:
所述SE通过第一逻辑通道获取第一选择命令;若所述第一选择命令包括第一卡应用标识,则所述SE确定所述第一卡应用被选中;
或者,
所述SE通过第一逻辑通道获取第一选择命令,并通过第二逻辑通道获取第二选择命令;若所述第一选择命令包括第一卡应用标识,且所述第二选择命令包括所述第一卡应用标识,则所述SE确定所述第一卡应用被选中。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述SE确定所述第一卡应用为预设应用。
9.根据权利要求1-3中任意一项所述的方法,其特征在于,所述安全单元进行防御处理,包括:
所述SE不向销售点终端发送数据;或者,
所述SE向销售点终端发送空数据。
10.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
所述SE锁定所述第一卡应用;或,
锁定所述SE。
11.一种安全单元SE,所述SE应用于终端,其特征在于,包括:
存储器、收发器、处理器和总线,所述存储器、所述收发器和所述处理器通过所述总线连接;
所述收发器,用于与所述SE之外的装置进行通信;
所述存储器,用于存储计算机执行指令;
所述处理器,用于执行所述存储器中存储的计算机执行指令,若确定第一卡应用被选中,则对所述第一卡应用的转出数据的行为和转入数据的行为进行监测,所述第一卡应用为在所述SE上存储的卡应用;若所述转出数据的行为和转入数据的行为满足中继攻击条件,则进行防御处理,其中,所述中继攻击条件,包括:所述第一卡应用通过第一逻辑通道接收第一消息,并通过第二逻辑通道发送所述第一消息,其中,所述第一逻辑通道为所述SE与应用处理器之间的逻辑通道,所述第二逻辑通道为所述SE与销售点终端之间的逻辑通道。
12.根据权利要求11所述的SE,其特征在于,所述中继攻击条件,还包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息。
13.根据权利要求11所述的SE,其特征在于,所述中继攻击条件,还包括:所述通过第二逻辑通道发送所述第一消息之前,所述第一卡应用通过所述第二逻辑通道接收第二消息,并通过所述第一逻辑通道发送所述第二消息。
14.根据权利要求12-13中任一项所述的SE,其特征在于,所述第一消息包括获取处理选项GPO响应,所述第二消息包括GPO命令;或者,所述第一消息包括读read响应,所述第二消息包括read命令。
15.根据权利要求11-13中任一项所述的SE,其特征在于,
所述处理器,具体用于通过对所述第一卡应用的转出数据和转入数据的消息头进行解析,得到对应的消息类型、逻辑通道号;当所述消息类型为预设消息类型时,至少对所述第一卡应用的转出数据和转入数据的所述逻辑通道号、行为类型进行记录,其中所述行为类型为转入行为或转出行为。
16.根据权利要求15所述的SE,其特征在于,所述预设消息类型包括获取处理选项GPO响应、GPO命令、读read响应或read命令。
17.根据权利要求11-13中任一项所述的SE,其特征在于,
所述处理器,具体用于通过第一逻辑通道获取第一选择命令;若所述第一选择命令包括第一卡应用标识,则确定所述第一卡应用被选中;
或者,
所述处理器,具体用于通过第一逻辑通道获取第一选择命令,并通过第二逻辑通道获取第二选择命令;若所述第一选择命令包括第一卡应用标识,且所述第二选择命令包括所述第一卡应用标识,则确定所述第一卡应用被选中。
18.根据权利要求17所述的SE,其特征在于,
所述处理器,具体用于确定所述第一卡应用为预设应用。
19.根据权利要求11-13中任一项所述的SE,其特征在于,
所述处理器,具体用于不向销售点终端发送数据;或者,向销售点终端发送空数据。
20.根据权利要求11-13中任一项所述的SE,其特征在于,
所述处理器,还用于锁定所述第一卡应用;或,锁定所述SE。
21.一种安全单元SE,包括指令,当其在终端上运行时,使得终端执行如权利要求1-10任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639972.XA CN111383011B (zh) | 2018-12-29 | 2018-12-29 | 一种处理中继攻击的方法以及安全单元 |
EP19903377.0A EP3889865A4 (en) | 2018-12-29 | 2019-12-02 | METHOD FOR MANAGING A RELAY ATTACK AND SECURE ELEMENT |
PCT/CN2019/122310 WO2020134876A1 (zh) | 2018-12-29 | 2019-12-02 | 一种处理中继攻击的方法以及安全单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639972.XA CN111383011B (zh) | 2018-12-29 | 2018-12-29 | 一种处理中继攻击的方法以及安全单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111383011A CN111383011A (zh) | 2020-07-07 |
CN111383011B true CN111383011B (zh) | 2023-09-29 |
Family
ID=71127483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811639972.XA Active CN111383011B (zh) | 2018-12-29 | 2018-12-29 | 一种处理中继攻击的方法以及安全单元 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3889865A4 (zh) |
CN (1) | CN111383011B (zh) |
WO (1) | WO2020134876A1 (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645130A (zh) * | 2008-08-05 | 2010-02-10 | 爱思开电讯投资(中国)有限公司 | 一种在近场通信中提供安全的方法和装置 |
CN101645129A (zh) * | 2008-08-05 | 2010-02-10 | 爱思开电讯投资(中国)有限公司 | 一种在近场通信中提供安全的方法和装置 |
WO2013053430A1 (de) * | 2011-10-13 | 2013-04-18 | Giesecke & Devrient Gmbh | Blockieren des datenaustausches zum schutz von nfc-kommunikation |
CN103095346A (zh) * | 2011-11-04 | 2013-05-08 | Nxp股份有限公司 | 针对近程通信信道的接近性确保 |
CN103188681A (zh) * | 2009-09-28 | 2013-07-03 | 华为技术有限公司 | 数据传输方法、装置及*** |
CN103679058A (zh) * | 2013-12-25 | 2014-03-26 | 湖北警官学院 | 非接触式ic卡防御中继攻击的***及方法 |
CN104166917A (zh) * | 2014-07-31 | 2014-11-26 | 宇龙计算机通信科技(深圳)有限公司 | Nfc交易事件的通知方法及*** |
CN104821945A (zh) * | 2015-04-30 | 2015-08-05 | 南京邮电大学 | 近场移动支付中继攻击的防御***及其实现方法 |
CN105871833A (zh) * | 2016-03-29 | 2016-08-17 | 北京布来得科技有限公司 | 一种基于近场通信的中继攻击的检测方法及装置 |
CN106251143A (zh) * | 2016-07-26 | 2016-12-21 | 中国地质大学(武汉) | 一种基于nfc识别的安全验证方法及装置 |
WO2017128182A1 (zh) * | 2016-01-28 | 2017-08-03 | 华为技术有限公司 | 一种近场通信支付方法及终端 |
WO2018006060A1 (en) * | 2016-06-30 | 2018-01-04 | Square, Inc. | Logical validation of devices against fraud and tampering |
CN107707527A (zh) * | 2017-09-01 | 2018-02-16 | 清华大学 | 一种智能卡中继攻击的检测方法、读写终端及*** |
WO2018169522A1 (en) * | 2017-03-15 | 2018-09-20 | Visa International Service Association | Method and system for relay attack detection |
WO2018219922A1 (de) * | 2017-06-02 | 2018-12-06 | High-Mobility Gmbh | Verfahren und vorrichtung zum erkennen eines relais-angriffs |
CN109076428A (zh) * | 2017-03-06 | 2018-12-21 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9455998B2 (en) * | 2013-09-17 | 2016-09-27 | Ologn Technologies Ag | Systems, methods and apparatuses for prevention of relay attacks |
-
2018
- 2018-12-29 CN CN201811639972.XA patent/CN111383011B/zh active Active
-
2019
- 2019-12-02 WO PCT/CN2019/122310 patent/WO2020134876A1/zh unknown
- 2019-12-02 EP EP19903377.0A patent/EP3889865A4/en active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645130A (zh) * | 2008-08-05 | 2010-02-10 | 爱思开电讯投资(中国)有限公司 | 一种在近场通信中提供安全的方法和装置 |
CN101645129A (zh) * | 2008-08-05 | 2010-02-10 | 爱思开电讯投资(中国)有限公司 | 一种在近场通信中提供安全的方法和装置 |
CN103188681A (zh) * | 2009-09-28 | 2013-07-03 | 华为技术有限公司 | 数据传输方法、装置及*** |
WO2013053430A1 (de) * | 2011-10-13 | 2013-04-18 | Giesecke & Devrient Gmbh | Blockieren des datenaustausches zum schutz von nfc-kommunikation |
EP2767059A1 (de) * | 2011-10-13 | 2014-08-20 | Giesecke & Devrient GmbH | Blockieren des datenaustausches zum schutz von nfc-kommunikation |
CN103095346A (zh) * | 2011-11-04 | 2013-05-08 | Nxp股份有限公司 | 针对近程通信信道的接近性确保 |
CN103679058A (zh) * | 2013-12-25 | 2014-03-26 | 湖北警官学院 | 非接触式ic卡防御中继攻击的***及方法 |
CN104166917A (zh) * | 2014-07-31 | 2014-11-26 | 宇龙计算机通信科技(深圳)有限公司 | Nfc交易事件的通知方法及*** |
CN104821945A (zh) * | 2015-04-30 | 2015-08-05 | 南京邮电大学 | 近场移动支付中继攻击的防御***及其实现方法 |
WO2017128182A1 (zh) * | 2016-01-28 | 2017-08-03 | 华为技术有限公司 | 一种近场通信支付方法及终端 |
CN105871833A (zh) * | 2016-03-29 | 2016-08-17 | 北京布来得科技有限公司 | 一种基于近场通信的中继攻击的检测方法及装置 |
WO2018006060A1 (en) * | 2016-06-30 | 2018-01-04 | Square, Inc. | Logical validation of devices against fraud and tampering |
CN106251143A (zh) * | 2016-07-26 | 2016-12-21 | 中国地质大学(武汉) | 一种基于nfc识别的安全验证方法及装置 |
CN109076428A (zh) * | 2017-03-06 | 2018-12-21 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
WO2018169522A1 (en) * | 2017-03-15 | 2018-09-20 | Visa International Service Association | Method and system for relay attack detection |
WO2018219922A1 (de) * | 2017-06-02 | 2018-12-06 | High-Mobility Gmbh | Verfahren und vorrichtung zum erkennen eines relais-angriffs |
CN107707527A (zh) * | 2017-09-01 | 2018-02-16 | 清华大学 | 一种智能卡中继攻击的检测方法、读写终端及*** |
Also Published As
Publication number | Publication date |
---|---|
EP3889865A4 (en) | 2022-02-16 |
EP3889865A1 (en) | 2021-10-06 |
CN111383011A (zh) | 2020-07-07 |
WO2020134876A1 (zh) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397936B2 (en) | Method, device and secure element for conducting a secured financial transaction on a device | |
US11410156B2 (en) | NFC payment method and terminal | |
US11743721B2 (en) | Protection of a communication channel between a security module and an NFC circuit | |
TWI633505B (zh) | 用於以付款憑據為基礎之行動商務的系統、設備及電腦可讀媒體 | |
US11963004B2 (en) | Detection of a rerouting of a communication channel of a telecommunication device connected to an NFC circuit | |
JP5964499B2 (ja) | モバイル・デバイスとのセキュア・トランザクションを可能にするシステム及び方法 | |
US10091652B2 (en) | Relay device | |
Vila et al. | Practical experiences on NFC relay attacks with android: Virtual pickpocketing revisited | |
Alattar et al. | Host-based card emulation: Development, security, and ecosystem impact analysis | |
CN111404706A (zh) | 应用下载方法、安全元件、客户端设备及服务管理设备 | |
CN111383011B (zh) | 一种处理中继攻击的方法以及安全单元 | |
US20210176629A1 (en) | Access control for near field communication functions | |
JP6005889B1 (ja) | モバイル・デバイスとのセキュア・トランザクションを可能にするシステム及び方法 | |
KR20130140972A (ko) | 키 입력 보호 방법과 이를 위한 키 입력 보호 장치 |
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 |