CN107688761A - 一种数据通讯方法及数据通讯系统 - Google Patents
一种数据通讯方法及数据通讯系统 Download PDFInfo
- Publication number
- CN107688761A CN107688761A CN201610641426.4A CN201610641426A CN107688761A CN 107688761 A CN107688761 A CN 107688761A CN 201610641426 A CN201610641426 A CN 201610641426A CN 107688761 A CN107688761 A CN 107688761A
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- reading device
- value
- numerical value
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 title claims abstract description 145
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 265
- 230000005540 biological transmission Effects 0.000 claims description 91
- 230000002457 bidirectional effect Effects 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000013078 crystal Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10257—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for protecting the interrogation against piracy attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10297—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Signal Processing (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种数据通讯方法及系统,该方法包括:读取装置向应答装置发送第一数据,并从发送完成第一数据时开始计时,其中,第一数据至少包括待处理数据;应答装置接收第一数据,并从接收完成第一数据时开始计时;当应答装置计时得到的数值达到预设数值时,应答装置将对待处理数据进行数据处理后得到的第二数据发送至读取装置;读取装置计时得到的数值在预设数值的有效范围内,读取装置允许开始接收第二数据。本发明通过收应答装置定时发送读取装置定时接的策略,使得读取装置即使在接收到第二数据的T2<FWT时,仍然可以识别出中间人的劫持。
Description
技术领域
本发明涉及一种电子技术领域,尤其涉及一种数据通讯方法及数据通讯系统。
背景技术
目前现有技术中,采用非接触式的读卡方式的终端都是基于ISO14443、ISO15693等协议进行数据传输的,以读取装置与应答装置之间的读卡过程为例,基于上述协议,在读取装置与应答装置的读卡过程中,在读取装置发送了指令数据以后,会有一个帧等待时间(Frame Waiting Time,FWT),表明了读取装置允许等待接收应答装置响应数据的最大时间范围。也就是说在读取装置向应答装置发送了指令以后,读取装置就在等待接收应答装置的响应数据,只要是在帧等待时间FWT之内返回的数据,读取装置就会接收。
对于现有的应答装置通讯协议,可能会存在以下问题:对于读卡过程,如图1所示,正常情况下商户读取装置将数据发送给用户的应答装置,用户的应答装置接收到数据以后开始响应并处理数据(处理数据时间为t1),处理结束以后,立即将响应数据发送给商户读取装置,忽略线路传输上的微小时间(数量级很小,便于简化计算),因而,商户读取装置发送数据完成到接收到用户的应答装置反馈的数据所需要的时间T1=t1。而如果有黑客进行中间人攻击的情况下,如图2所示,中间人的应答装置劫持商户读取装置的请求数据,将商户读取装置发来的数据转发至中间人的读取装置,中间人的读取装置可能会篡改请求数据,将篡改后的数据发送至用户的应答装置(从中间人的应答装置劫持商户读取装置的请求数据到中间人的读取装置将篡改后的数据发送至用户的读取装置的时间为tw1),用户的应答装置接收到篡改后的数据后,处理数据(处理数据时间为t1),将处理后的数据发送至中间人的读取装置,中间人的读取装置可能会篡改用户的应答装置返回的处理数据,并通过中间人的应答装置将篡改后的数据发送至商户读取装置(从中间人的读取装置接收到用户的应答装置返回的处理数据到通过中间人的应答装置将篡改后的数据发送至商户读取装置的时间为tw2),那么,商户读取装置从发送完成数据到接收到用户应答装置反馈的数据所需要的时间T2=t1+tw1+tw2。
根据现有的应答装置通讯协议,只要是T2<FWT,商户读取装置就会接收中间人的应答装置发来的数据并进行后续的操作(如交易流程),这样就存在中间人劫持而商户读取装置毫不知情的危险,造成商户的经济损失。
发明内容
本发明旨在解决上述问题之一。
本发明的主要目的在于提供一种数据通讯方法。
本发明的另一目的在于提供一种数据通讯系统。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明一方面提供了一种数据通讯方法,包括:读取装置向应答装置发送第一数据,并从发送完成所述第一数据的时间点开始计时,其中,所述第一数据至少包括待处理数据;所述应答装置接收所述第一数据,并从接收完成所述第一数据的时间点开始计时;当所述应答装置计时得到的数值达到预设数值时,所述应答装置将第二数据发送至所述读取装置,其中,所述第二数据为所述应答装置对所述待处理数据进行数据处理后得到的数据;所述读取装置计时得到的数值在所述预设数值的有效范围内,则所述读取装置允许开始接收所述第二数据。
可选地,所述预设数值的有效范围为[S,S+2ΔS],其中,ΔS由所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离确定,S为所述预设数值,其中,S+2ΔS的和对应的时长小于或等于所述读取装置与所述应答装置采用的通信协议规定的帧等待时间FWT。
可选地,所述读取装置与所述应答装置之间的通信方式包括:短距离无线通信方式。
可选地,在所述读取装置从发送完成所述第一数据的时间点开始计时之前,所述方法还包括:
所述读取装置与所述应答装置进行双向的身份认证,在所述双向的身份认证通过后,所述读取装置与所述应答装置协商得到传输密钥;所述应答装置生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,所述读取装置生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,
所述读取装置与所述应答装置进行双向的身份认证;在所述双向的身份认证通过后,所述应答装置生成所述预设数值,并利用所述读取装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置利用其私钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,在所述双向的身份认证通过后,所述读取装置生成所述预设数值,并利用所述应答装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置利用其私钥对所述加密后的预设数值解密得到所述预设数值,并保存。
可选地,在所述读取装置向应答装置发送第一数据之前,所述方法还包括:所述读取装置生成所述预设数值;所述第一数据至少还包括:所述预设数值以及基于所述预设数值计算得到的防篡改校验值;所述应答装置接收所述第一数据之后,所述方法还包括:
所述应答装置从所述第一数据中获取所述预设数值以及所述防篡改校验值,并对所述防篡改校验值进行校验,在校验通过后,保存所述预设数值。
可选地,所述预设数值包括:预设的时长;所述ΔS为在所述读取装置与所述应答装置之间的距离为两者采用的通信方式所支持的最大通信距离时,所述读取装置传输数据至所述应答装置所需的时长;所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后计时得到的时长在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后计时得到的时长达到所述预设的时长。
可选地,所述预设数值包括:预设的周期个数;在所述读取装置与所述应答装置通信的整个过程中,所述读取装置始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的周期个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的周期个数达到所述预设的周期个数;或者,
所述预设数值包括:预设的脉冲个数;在所述读取装置与所述应答装置通信的整个过程中,所述读取装置始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的脉冲个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的脉冲个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的脉冲个数达到所述预设的脉冲个数;或者,
所述预设数值包括:预设的相位差;在所述读取装置与所述应答装置通信的整个过程中,所述读取装置始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的相位变化值;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述载波信号在第一相位与第二相位的相位差在所述[S,S+2ΔS]范围内,其中,所述第一相位为所述载波信号在所述读取装置发送完成所述第一数据的时间点的相位,所述第二相位为所述载波信号在所述读取装置允许开始接收所述第二数据的时间点的相位;所述应答装置计时得到的数值达到所述预设数值,包括:所述载波信号在第三相位与第四相位的相位差达到所述预设的相位差,其中,所述第三相位为所述载波信号在所述应答装置在接收完成所述第一数据的时间点的相位,所述第四相位为所述载波信号在所述应答装置开始发送所述第二数据的时间点的相位。
本发明另一方面提供了一种数据通讯系统,包括:读取装置,用于向应答装置发送第一数据,并从发送完成所述第一数据的时间点开始计时,其中,所述第一数据至少包括待处理数据;所述应答装置,用于接收所述第一数据,并从接收完成所述第一数据的时间点开始计时;所述应答装置,还用于当所述应答装置计时得到的数值达到预设数值时,将第二数据发送至所述读取装置,其中,所述第二数据为所述应答装置对所述待处理数据进行数据处理后得到的数据;所述读取装置,还用于若所述读取装置计时得到的数值在所述预设数值的有效范围内,则允许开始接收所述第二数据。
可选地,所述预设数值的有效范围为[S,S+2ΔS],其中,ΔS由所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离确定,S为所述预设数值,其中,S+2ΔS的和对应的时长小于或等于所述读取装置与所述应答装置采用的通信协议规定的帧等待时间FWT。
可选地,所述读取装置与所述应答装置之间的通信方式包括:短距离无线通信方式。
可选地,所述读取装置,还用于在所述读取装置从发送完成所述第一数据的时间点开始计时之前,与所述应答装置进行双向的身份认证,在所述双向的身份认证通过后,与所述应答装置协商得到传输密钥;
所述应答装置,还用于生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置,还用于利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,
所述读取装置,还用于生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置,还用于利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存。
可选地,所述读取装置,还用于在所述读取装置从发送完成所述第一数据的时间点开始计时之前,与所述应答装置进行双向的身份认证;
所述应答装置,还用于在所述双向的身份认证通过后,生成所述预设数值,并利用所述读取装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置,还用于利用所述读取装置的私钥对所述加密后的预设数值解密得到所述预设数值,并保存;
或者,
所述读取装置,还用于在所述双向的身份认证通过后,生成所述预设数值,并利用所述应答装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置,还用于利用所述应答装置的私钥对所述加密后的预设数值解密得到所述预设数值,并保存。
可选地,所述读取装置,还用于在所述读取装置向应答装置发送第一数据之前,生成所述预设数值;所述第一数据至少还包括:所述预设数值以及基于所述预设数值计算得到的防篡改校验值;所述应答装置,还用于在接收所述第一数据之后,还从所述第一数据中获取所述预设数值以及所述防篡改校验值,并对所述防篡改校验值进行校验,在校验通过后,保存所述预设数值。
可选地,所述预设数值包括:预设的时长;所述ΔS为在所述读取装置与所述应答装置之间的距离为两者采用的通信方式所支持的最大通信距离时,所述读取装置传输数据至所述应答装置所需的时长;所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后计时得到的时长在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后计时得到的时长达到所述预设的时长。
可选地,所述预设数值包括:预设的周期个数;所述读取装置,还用于在所述读取装置与所述应答装置通信的整个过程中,始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的周期个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的周期个数达到所述预设的周期个数;或者,
所述预设数值包括:预设的脉冲个数;所述读取装置,还用于在所述读取装置与所述应答装置通信的整个过程中,始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的脉冲个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的脉冲个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的脉冲个数达到所述预设的脉冲个数;或者,
所述预设数值包括:预设的相位差;所述读取装置,还用于在所述读取装置与所述应答装置通信的整个过程中,始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的相位变化值;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述载波信号在第一相位与第二相位的相位差在所述[S,S+2ΔS]范围内,其中,所述第一相位为所述载波信号在所述读取装置发送完成所述第一数据的时间点的相位,所述第二相位为所述载波信号在所述读取装置允许开始接收所述第二数据的时间点的相位;所述应答装置计时得到的数值达到所述预设数值,包括:所述载波信号在第三相位与第四相位的相位差达到所述预设的相位差,其中,所述第三相位为所述载波信号在所述应答装置在接收完成所述第一数据的时间点的相位,所述第四相位为所述载波信号在所述应答装置开始发送所述第二数据的时间点的相位。
由上述本发明提供的技术方案可以看出,本发明提供了一种数据通讯方法及系统,通过应答装置定时(计时得到的数值达到预设数值S)发送数据,读取装置定时(计时得到的数值在预设数值的有效范围[S,S+2ΔS]内)接收应答装置返回的数据的策略避免现有技术中的问题,由于读取装置只在计时得到的数值在预设数值的有效范围[S,S+2ΔS]内允许接收应答装置返回的数据,在该预设数值的有效范围之外均不允许接收应答装置返回的数据。由此,如果在该预设数值的有效范围内,允许开始接收且接收到所述第二数据,则说明不存在中间人的劫持,但如果在该预设数值的有效范围内允许开始接收但没有接收到所述第二数据,则说明出现了中间人劫持的情况,使得读取装置即使在接收到第二数据的T2<FWT时,仍然可以识别出是否存在中间人劫持的情况,避免用户在毫不知情的情况下造成经济损失。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明背景技术中在正常情况下商户读取装置发送数据完成到接收到用户的应答装置反馈的数据所需要的时间示意图;
图2为本发明背景技术中在发生中间人劫持的情况下商户读取装置发送数据完成到接收到用户的应答装置反馈的数据所需要的时间示意图;
图3为本发明实施例1提供的数据通讯方法的流程图;
图4为本发明实施例1提供的一种具体的读取装置与应答装置协商预设数值的流程图;
图5为本发明实施例1提供的一种具体的读取装置与应答装置协商预设数值的流程图;
图6为本发明实施例2提供的一种数据通讯系统的结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面将结合附图对本发明实施例作进一步地详细描述。
实施例1
图1为根据本发明实施例1的一种数据通讯方法的流程图。参见图1,该方法至少包括步骤S20至步骤S60。
步骤S20,读取装置向应答装置发送第一数据,并从发送完成第一数据的时间点开始计时,其中,所述第一数据至少包括待处理数据。
本实施例中,读取装置与应答装置之间的通信方式包括:短距离无线通信方式,具体地,短距离无线通信方式至少包括:NFC(Near Field Communication,近场通讯)、Wi-Fi(Wireless Fidelity,无线高保真)、UWB(UltraWideband,超宽带)、Zigbee、RFID(RadioFrequency Identification,无线射频识别)、红外传输和蓝牙。因此,读取装置与应答装置之间的通信距离可以短至几厘米长至几百米。基于上述短距离无线通信方式,对应于不同的通信方式,读取装置与应答装置之间通信也会采用对应的通讯协议,以实现两者之间的无线数据传输。其中,作为一种可选的实施方式,读取装置与应答装置可以为支持非接触式的读卡方式的终端,例如,读取装置可以为POS机、ATM机、身份证阅读器等终端,应答装置可以为智能密钥设备(如工行U盾、农行Key宝)、智能卡、身份证等终端,采用上述非接触式的读卡方式的终端,如读取装置与应答装置之间、读取装置与身份证之间都可以采用协议ISO14443和ISO15693进行数据传输,短距离无线通信方式可以包括:ISO14443和ISO15693协议支持的通信方式;此外,读取装置与应答装置也可以为移动终端、PC、掌上电脑、智能设备等支持短距离无线通信方式的终端。
在本步骤中,作为一种可选的实施方式,以读取装置为读卡器,应答装置为智能卡为例,第一数据中的待处理数据可以为读卡请求数据,当然,第一数据中的待处理数据并不限于此,以读取装置与应答装置均为移动终端为例,第一数据中的待处理数据也可以是请求应答装置返回图片的请求数据等等,本实施例并不对第一数据中的待处理数据进行过多限制,只要是读取装置向应答装置发起的请求数据即可。
基于背景技术中提出的问题,本实施例为了能够在T2<FWT时,仍然可以识别出中间人的劫持,采用读取装置定时接收应答装置定时发送的策略,所以,在本步骤中,读取装置从发送完成第一数据的时间点开始计时,在计时得到的数值在预设数值的有效范围内时,如果接收到应答装置返回的数据,则说明不存在中间人的劫持,如果没有接收到,则可以识别出存在中间人的劫持。
步骤S40,应答装置接收第一数据,并从接收完成第一数据的时间点开始计时。
在本实施例中,当应答装置接收到第一数据后,并不会像现有技术那样在对第一数据处理完成后马上将处理后的数据发送至读取装置,而是开始计时,采用读取装置定时接收应答装置定时发送的策略,在计时得到的数值达到预设数值时,应答装置才发送对第一数据中的待处理数据处理后得到的第二数据,即定时发送(参见步骤S60),使得读取装置在接收到第二数据的T2<FWT时,仍然可以识别出是否存在中间人劫持的情况。
步骤S60,当应答装置计时得到的数值达到预设数值时,应答装置将第二数据发送至读取装置,其中,第二数据为应答装置对第一数据中的待处理数据进行数据处理后得到的数据。
本实施例中,对第二数据并不做限制,第二数据是对第一数据中的待处理数据进行处理后得到的数据。以应答装置为智能卡,读取装置为读卡器为例,第二数据可以为读取装置请求读取的应答装置的数据内容,以读取装置与应答装置均为移动终端为例,第一数据中的待处理数据为请求图片的数据,第二数据即为图片数据。如步骤S40中所述,应答装置在接收完成第一数据的时间点开始计时,本步骤中,在计时得到的数值达到预设数值S时,应答装置向读取装置发送第二数据,保证定时发送。
步骤S80,读取装置计时得到的数值在所述预设数值的有效范围内,则读取装置允许开始接收所述第二数据。
其中,作为一种可选的实施方式,预设数值的有效范围为[S,S+2ΔS],其中,S为预设数值,ΔS由读取装置与应答装置之间采用的通信方式所支持的最大通信距离确定。
本实施例中,正如前面提到的,读取装置与应答装置之间采用的通信方式可以为短距离无线通信,可以包括多种通信方式,而每种通信方式支持的最大通信距离是不同的,例如,NFC的工作频率为13.56MHz,支持的通信距离在20cm以内,而蓝牙的工作频率为2.4GHz,支持的通信距离可以达到20m,WiFi可以达到100m。ΔS可以理解为经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所需的数值,例如,经过该最大通信距离传输第一数据所需的时长等,由于每种通信方式支持的最大通信距离不同,对应的,ΔS的取值也会不同,当然ΔS还可以包括其他含义,具体参见下文的详细描述。
需要说明的是,第一数据是以字节的方式连续发送给应答装置的,读取装置连续发送第一数据的第一字节、第二字节……最后一个字节,应答装置连续接收第一数据的第一字节、第二字节……最后一个字节。由于读取装置与应答装置之间采用短距离通信方式,读取装置开始发送第一数据各个字节的过程中,应答装置已经开始接收第一数据的各个字节,考虑到终端接收单个字节的时长数量级较小,可以忽略不计,因而,第一数据的第一字节在到达应答装置时,第一数据的最后一个字节还没有发送,即读取装置还没有发送完成第一数据。在不考虑路上传输时间的情况下,我们可以认为读取装置发送第一数据与应答装置接收第一数据是同时进行的,即读取装置发送完成第一数据的时刻即为应答装置接收完成第一数据的时刻,在考虑路上传输时间的情况下,读取装置计时得到的数值的最大值可以达到S+2ΔS,即考虑了读取装置与应答装置之间相互发送的数据在路上传输的时间(根据通信方式支持的最大距离计算得到的最大时长为2ΔS),所以,在步骤S20中在读取装置发送完成第一数据的时间点开始计时,在步骤S40中,在应答装置接收完成第一数据的时间点开始计时,在不考虑路上传输时间的情况下,没有中间人的劫持,读取装置应该能够在计时得到的数值达到S时接收到第二数据,在考虑路上传输时间的情况下,没有中间人的劫持,读取装置应该能够在计时得到的数值大于S且小于或等于S+2ΔS时开始接收第二数据。
基于背景技术中提出的针对现有的应答装置通讯协议存在的问题,本实施例提供了一种数据通讯方法。该数据通讯方法通过应答装置定时(计时得到的数值达到预设数值S)发送数据,读取装置定时(计时得到的数值在预设数值的有效范围[S,S+2ΔS]内)接收应答装置返回的数据的策略避免现有技术中的问题,其中,读取装置可以理解为背景技术中的商户读取装置,应答装置可以理解为背景技术中的用户应答装置,由于读取装置只在计时得到的数值在预设数值的有效范围[S,S+2ΔS]内允许接收应答装置返回的数据,在该预设数值的有效范围之外均不允许接收应答装置返回的数据。由此,如果在该预设数值的有效范围内,允许开始接收且接收到所述第二数据,则说明不存在中间人的劫持,但如果在该预设数值的有效范围内允许开始接收但没有接收到所述第二数据,则说明出现了中间人劫持的情况。本实施例中,S+2ΔS≤FWT,其中,FWT为读取装置与应答装置采用的通信协议规定的帧等待时间,例如协议ISO14443和ISO15693规定的帧等待时间FWT,这样,读取装置(例如读取装置)会在FWT的时间内等待应答装置返回数据,同时实施本实施例提供的定时接收的方案,由此,本实施例提供的方法可以在兼容现有协议的同时还可以识别出中间人的劫持。在出现被中间人挟持的情况时,即便T2<FWT,但是,在不忽略两个终端之间来回传输数据所需的时长2ΔS的情况下,以S为预设的时长为例,应答装置计时达到S才发送数据,因此,T2=s1+s2+S+2ΔS,其中,T2为读取装置从发送完成数据到接收到应答装置反馈的数据所需要的时间,s1+s2为中间人做篡改处理所需的时间(请参考背景技术中tw1、tw2,tw1对应s1,tw2对应s2),T2超过了预设数值的有效范围的最大值S+2ΔS,所以,读取装置拒绝接收应答装置返回的数据,中断与应答装置的通讯,由此,即便T2<FWT,读取装置也可以识别出中间人的劫持。需要说明的是,本实施例中S与ΔS除了代表时长之外,还可以包括多种形式,此处,为了便于理解,仅以时长为例进行说明,本实施例下文会提到S与ΔS包括的多种形式,具体参见下文描述。
在本实施例中,预设数值S可以在终端出厂之前预制存储在终端的固定区域中,无需协商,也可以由读取装置与应答装置协商得到,或者,也可以由一方生成发给对方,或者,还可以由读取装置写在协议规定的数据包中,在读取装置向应答装置发送数据时一起发送给应答装置。其中,出厂预制的预设数值虽然无需协商、无需生成,但读取装置与应答装置每次的数据输出均按照该预设数值定时收发,其弊端就是该预设数值不能变化,不够灵活、随机,安全性较低。而后面几种获取预设数值S的方式可以随机生成预设数值,相比于出厂预制的预设数值,更灵活,随机,安全性更高。该预设数值S对于能否识别出中间人的劫持至关重要,因此,为了防止该预设数值S被篡改,本实施例提出了几种获取预设数值S的方式,下面便对以下几种获取预设数值S的方式进行详细说明。
作为本实施例中一种可选的实施方式,本实施例可以通过以下步骤来实现协商得到预设数值,可以在读取装置向应答装置发送第一数据之前的任何时机进行协商,相比于出厂预制的预设数值,更灵活,随机,安全性更高。具体地,在读取装置从发送完成第一数据的时间点开始计时之前,本实施例提供的方法还包括:
读取装置与应答装置进行双向的身份认证,在所述双向的身份认证通过后,读取装置与应答装置协商得到传输密钥;
应答装置生成该预设数值,并利用所述传输密钥对该预设数值加密,将加密后的预设数值发送至读取装置;读取装置利用所述传输密钥对加密后的预设数值解密得到该预设数值,并保存;或者,读取装置生成该预设数值,并利用所述传输密钥对该预设数值加密,将加密后的预设数值发送至应答装置;应答装置利用所述传输密钥对加密后的预设数值解密得到该预设数值,并保存。
由此,本实施例可以通过读取装置与应答装置双向的身份认证保证读取装置以及应答装置的合法身份,进一步地协商得到传输密钥,利用该传输密钥对预设数值加解密以保证传输过程的安全性,从而可以防止协商得到的预设数值被非法篡改,保证预设数值的安全性。此外,无论是读取装置还是应答装置,在接收到对方发送的预设数值后进行保存可以在下次数据通信时继续使用该预设数值,通过保存预设数值,两个终端无需再执行协商预设数值的交互流程,大大提高了数据传输效率。
具体地,该可选实施方式中协商得到预设数值的方式可以通过多种方式来实现,本实施例仅举一例,以便于清楚地理解可选实施方式中协商得到预设数值的方式。如图2所示,本实施例提供了一种具体的读取装置与应答装置协商预设数值的流程,具体包括以下步骤:
S110,读取装置向应答装置发起认证请求,所述认证请求中携带有随机数R1以及读取装置的数字证书。
其中,随机数R1为读取装置生成的单次认证数据,可以防止其他非法设备对读取装置的重放攻击。
S111,应答装置接收该认证请求,对读取装置的数字证书进行验证,在验证通过后,利用应答装置的私钥对随机数R1进行签名生成签名数据S1,并生成随机数R2,利用读取装置的数字证书中的公钥对R2加密得到密文E1。
其中,随机数R2为应答装置生成的单次认证数据,可以防止其他非法设备对应答装置的重放攻击。
S112,应答装置将应答装置的数字证书、签名数据S1以及密文E1发送至读取装置。
S113,读取装置对应答装置的数字证书进行验证,在验证通过后,利用数字证书中的公钥对签名数据S1验签,在验签通过后,对密文E1解密得到R2,利用读取装置的私钥对R2签名生成签名数据S2,并生成随机数R3,利用应答装置的公钥对R3加密得到密文E2,基于R2R3生成传输密钥K。
其中,通过读取装置对应答装置的签名数据S1的验签,可以确保应答装置身份的合法性。此外,利用双方各自生成的随机数生成传输密钥,可以保证即使有黑客截获某一方的随机数,但由于没有对方的随机数也无法生成该传输密钥,进而能保证传输密钥不会被轻易获取。
S114,读取装置将签名数据S2和密文E2发送至应答装置。
S115,应答装置利用读取装置的数字证书中的公钥对签名数据S2验签,在验签通过后,对密文E2解密得到R3,基于R2R3生成传输密钥K。
其中,通过应答装置对读取装置的签名数据S2的验签,可以确保读取装置身份的合法性。
S116,读取装置生成预设数值S,利用传输密钥K加密得到密文E3。
S117,读取装置将E3发送至应答装置。
S118,应答装置接收密文E3,并利用传输密钥K对E3解密得到预设数值S,并保存预设数值S。
在该可选实施方式中,从步骤S110~步骤S115完成了读取装置与应答装置的双向认证以及协商传输密钥,在步骤S116~S118中,读取装置与应答装置执行的操作可以互换,即,可以由应答装置生成预设数值S,利用K加密S得到密文E3,发送至读取装置,读取装置利用传输密钥K解密得到预设数值S,并保存。
作为本实施例中另一种可选的实施方式,本实施例可以通过以下步骤来实现由一方生成发给对方得到预设数值的方式,可以在读取装置向应答装置发送第一数据之前的任何时机进行协商,相比于出厂预制的预设数值,更灵活,随机,安全性更高。具体地,在读取装置从发送完成第一数据的时间点开始计时之前,本实施例提供的方法还包括:
读取装置与应答装置进行双向的身份认证;
在所述双向的身份认证通过后,应答装置生成该预设数值,并利用读取装置的公钥对该预设数值加密,将加密后的预设数值发送至读取装置;读取装置利用其私钥对加密后的预设数值解密得到该预设数值,并保存;或者,在所述双向的身份认证通过后,读取装置生成该预设数值,并利用应答装置的公钥对该预设数值加密,将加密后的预设数值发送至应答装置;应答装置利用其私钥对加密后的预设数值解密得到该预设数值,并保存。
由此,本实施例可以通过读取装置与应答装置双向的身份认证保证读取装置以及应答装置的合法身份,进一步利用公私钥实现对预设数值加解密以保证传输过程的安全性,从而可以防止一方生成的预设数值被非法篡改,保证预设数值的安全性。相比于上面的可选实施方式,该可选实施方式利用读取装置和应答装置本身的公私钥对实现对预设数值的加解密,无需再生成传输密钥,减少了交互步骤,缩短了获得预设数值的时间,提高了效率。此外,无论是读取装置还是应答装置,在接收到对方发送的预设数值后进行保存可以在下次数据通信时继续使用该预设数值,通过保存预设数值,两个终端无需再执行协商预设数值的交互流程,大大提高了数据传输效率。
具体地,该可选实施方式中得到预设数值的方式可以通过多种方式来实现,本实施例仅举一例,以便于清楚地理解可选实施方式中得到预设数值的方式。如图3所示,本实施例提供了一种具体的读取装置与应答装置协商预设数值的流程,具体包括以下步骤:
S120,读取装置向应答装置发起认证请求,所述认证请求中携带有随机数R1;
其中,随机数R1为读取装置生成的单次认证数据,可以防止其他非法设备对读取装置的重放攻击。
S121,应答装置接收该认证请求,并利用其私钥对随机数R1进行签名生成签名数据S1,并生成随机数R2;
其中,随机数R2为应答装置生成的单次认证数据,可以防止其他非法设备对应答装置的重放攻击。
S122,应答装置将应答装置的数字证书、签名数据S1以及随机数R2发送至读取装置;
S123,读取装置对应答装置的数字证书进行验证,在验证通过后,利用数字证书中的公钥对签名数据S1验签,在验签通过后,利用读取装置的私钥对R2签名生成签名数据S2;
其中,通过读取装置对应答装置的签名数据S1的验签,可以确保应答装置身份的合法性。
S124,读取装置将其数字证书和签名数据S2发送至应答装置;
S125,应答装置对读取装置的数字证书进行验证,在验证通过后,利用数字证书中的公钥对签名数据S2验签;
其中,通过应答装置对读取装置的签名数据S2的验签,可以确保读取装置身份的合法性。
S126,在验签通过后,应答装置随机生成预设数值S,利用读取装置的公钥对预设数值S加密生成密文E;
S127,应答装置将E发送至读取装置;
S128,读取装置接收密文E,并利用其私钥对E解密得到预设数值S,并保存预设数值S。
在该可选实施方式中,从步骤S120~步骤S125实现了读取装置与应答装置之间的双向认证,并在双向的身份认证通过后,应答装置生成预设数值,在步骤S126~S128中,读取装置与应答装置执行的操作可以互换,即,可以由读取装置生成预设数值S,利用应答装置的公钥对预设数值S加密得到密文E,发送至应答装置,应答装置利用其私钥对E解密得到预设数值S,并保存。与图2所示的获取预设数值的方式相比,该可选实施方式无需协商传输密钥,而是直接利用读取装置与应答装置本身的公私钥进行加解密,减少了协商传输密钥的交互流程,可以提高获得预设数值的效率。
作为本实施例中第三种可选的实施方式,本实施例可以通过以下步骤来实现由读取装置将预设数值写入协议规定的数据包中,在读取装置向应答装置发送数据时一起发送给应答装置来实现双方得到该预设数值,具体地,在步骤S20中读取装置向应答装置发送第一数据之前,本实施例提供的方法还包括:读取装置生成预设数值;在读取装置发送给应答装置的第一数据中至少还包括:该预设数值以及基于该预设数值计算得到的防篡改校验值;在步骤S40中,应答装置接收第一数据之后,本实施例提供的方法还包括:应答装置从第一数据中获取该预设数值以及防篡改校验值,并对防篡改校验值进行校验,在校验通过后,保存该预设数值。
在该可选实施方式中,读取装置可以随机生成一个预设数值,根据协议规定的数据包的格式,将该预设数值和防篡改校验值写入预定字段中,或者,也可以增加新的字段,将该预设数值和防篡改校验值写入新增的字段中,在读取装置向应答装置发送第一数据时,携带在第一数据中的数据包中发送至应答装置。该防窜改校验值是基于预设数值计算得到的,例如,该防窜改校验值可以为基于该预设数值计算得到的签名数据,即对预设数值计算生成摘要,并利用读取装置的私钥对摘要加密生成签名数据,应答装置在对防窜改校验值进行校验就可以利用读取装置的公钥对该签名数据进行验签,如果验签通过,则校验通过,说明预设数值没有被篡改。又例如,该防窜改校验值可以为基于预设数值采用MAC算法计算得到的MAC值,应答装置在对防窜改校验值进行校验时也可以采用相同的MAC算法计算得到一个MAC值,比较两个MAC值是否一致,如果一致,则校验通过,说明预设数值没有被篡改。
需要说明的是,应答装置在接收完成第一数据后,开始计时,并从第一数据中获取预设数值,如果对防篡改校验值校验通过,则所述应答装置在计时得到的数值达到预设数值后发送第二数据至读取装置,后续如果读取装置在预设数值的有效范围内接收不到应答装置返回的第二数据,则说明出现了中间人劫持;如果对防窜改校验值的校验不通过,应答装置会停止计时,此时说明已经有可能出现了中间人劫持数据的情况。由此,在该可选实施方式中,通过防窜改校验值也可以实现中间人劫持的识别,而且,一旦预设数值被篡改,校验就不能通过,进而可以保证预设数值不会被非法篡改,保证预设数值的安全。
此外,在本实施例中,作为一种可选的实施方式,预设数值可以至少包括:预设的时长、预设的周期个数、预设的脉冲个数或者预设的相位差,因此,本实施例中,读取装置和应答装置也相应地有不同的计时统计方式,以及判断计时得到的数值是否达到预设数值或在预设数值的有效范围内的方式,下面分别针对各种预设数值进行详细的说明。
作为一种本实施例可选的实施方式,预设数值可以包括:预设的时长,其中,该预设的时长大于应答装置对接收到的第一数据中的待处理数据进行数据处理的时长(由于应答装置需要在处理数据之后达到计时得到的数值才发送第二数据),此外,可选地,S+2ΔS≤FWT;ΔS为在读取装置与应答装置之间的距离为两者采用的通信方式所支持的最大通信距离时,读取装置传输数据至应答装置所需的时长,在步骤S80中,读取装置计时得到的数值在预设数值的有效范围内,包括:读取装置从发送完成第一数据之后计时得到的时长在[S,S+2ΔS]范围内;在步骤S60中,应答装置计时得到的数值达到预设数值,包括:应答装置从接收完成第一数据之后计时得到的时长达到预设的时长。
在该种可选实施方式中,读取装置与应答装置中均具有计时器,支持精确计时功能,可以通过计时器计时得到的时长判断是否达到预设时长或是否在预设时长的有效范围内。例如,应答装置可以为具有晶振的应答装置,该具有晶振的应答装置可以通过其内部时钟计时的时长的方式来统计计时,其计时精确度由应答装置的时钟精确度决定。例如,S=5×10-3s,以蓝牙为例,支持的最大传输距离20m的传输时长ΔS为60×10-9s,则应答装置在计时达到5×10-3s时发送第二数据,读取装置只有在[5×10-3s,(5×10-3+1.2×10-7)s]才允许开始接收第二数据,只有在该预设数值的有效范围内接收到第二数据才说明没有出现中间人的劫持的情况,由此,可以识别出中间人的劫持。虽然,该可选实施方式仅以蓝牙通信方式进行了举例说明,但其他短距离通信方式均属于本发明保护的范围。
对于无源、无晶振的终端(如应答装置)来说,该终端没有计时功能,而在本实施例中,由于在读取装置与应答装置通信的整个过程中,读取装置始终产生载波信号,因此,本实施例中提出了有别与时钟计时的计时统计方式,本实施例还可以通过计算载波信号的周期个数、脉冲个数以及相位差来统计计时得到的数值,预设数值具体可以包括:预设的载波信号的周期个数、预设的载波信号的脉冲个数以及预设的载波信号的相位差,ΔS具体可以指示载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数、脉冲个数,以及相位变化值,其中,无论采用上述哪一种计时统计方式,S+2ΔS的和对应的时长均大于应答装置对接收到的第一数据中的待处理数据进行数据处理的时长,此外,可选地,S+2ΔS的和对应的时长均可以小于或等于FWT。作为一种可选的实施方式,预设数值可以包括:预设的周期个数;ΔS为载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数;在步骤S80中,读取装置计时得到的数值在预设数值的有效范围内,包括:读取装置从发送完成第一数据之后持续向应答装置发送的载波信号的周期个数在所述[S,S+2ΔS]范围内;步骤S60中,应答装置计时得到的数值达到预设数值,包括:应答装置从接收完成第一数据之后持续接收到的载波信号的周期个数达到预设的周期个数。
在本实施例中,读取装置始终在产生载波信号,在读取装置需要发送数据时,例如,读取装置发送第一数据是将第一数据调制在载波信号上发送至应答装置的,在读取装置不需要发送数据时,读取装置发送该载波信号至应答装置,该载波信号上没有携带数据。该可选实施方式中,读取装置与应答装置均具有计数器,可以计算上述情况下载波的周期个数,该可选实施方式提供了一种可选的统计计时得到的数值的方式,读取装置与应答装置无需使用时钟计时,也可以达到精确计时的目的,举例来说,以支持NFC通信方式的终端为例,读取装置与应答装置的工作频率为13.56MHZ,在读取装置与应答装置通信过程中,读取装置(例如读取装置)始终产生13.56MHz的载波,载波的时间周期T是固定的,T=1/13.56MHz,约等于74ns,以周期来统计计时得到的数值,单位可以精确到ns,由此可以达到精确统计的效果,而且,该可选实施方式可以适用于无源无晶振的应答装置。虽然,该可选实施方式仅以NFC通信方式进行了举例说明,但其他短距离通信方式均属于本发明保护的范围。
此外,作为另一种本实施例可选的实施方式,预设数值可以包括:预设的脉冲个数;ΔS为载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的脉冲个数;在步骤S80中,读取装置计时得到的数值在预设数值的有效范围内,包括:读取装置从发送完成第一数据之后持续向应答装置发送的载波信号的脉冲个数在[S,S+2ΔS]范围内;在步骤S60中,应答装置计时得到的数值达到预设数值,包括:应答装置从接收完成第一数据之后持续接收到的载波信号的脉冲个数达到预设的脉冲个数。
统计载波信号的脉冲个数即统计载波信号的峰值的个数,相比于上述统计载波信号的周期个数的方式,统计脉冲个数可以达到进一步精确统计的效果,而且,该可选实施方式可以适用于无源无晶振的应答装置。
此外,作为另一种本实施例可选的实施方式,预设数值可以包括:预设的相位差;ΔS为载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的相位变化值;在步骤S80中,读取装置计时得到的数值在预设数值的有效范围内,包括:载波信号在第一相位与第二相位的相位差在[S,S+2ΔS]范围内,其中,第一相位为载波信号在读取装置发送完成第一数据的时间点的相位,第二相位为载波信号在读取装置允许开始接收第二数据的时间点的相位;在步骤S60中,应答装置计时得到的数值达到预设数值,包括:载波信号在第三相位与第四相位的相位差达到预设的相位差,其中,第三相位为载波信号在应答装置在接收完成第一数据的时间点的相位,第四相位为载波信号在应答装置开始发送所述第二数据的时间点的相位。
例如,读取装置与应答装置可以采用之前提到的获得预设数值的方式,协商或一方生成预设的相位差S=(1/2+40)π,在以读取装置为读卡器,应答装置为智能卡为例,读取装置在发送完成第一数据后以及应答装置在接收完成该第一数据后,两者之间的通信波形就是标准的正弦波载波,记录此刻的相位为0(即第一相位与第三相位为0),在载波相位差(即第三相位与第四相位的相位差)达到(1/2+40)π时,应答装置发送第二数据,此时,读取装置可以通过计时得到的相位差在预设数值的有效范围内允许开始接收且接收到第二数据,来确认没有中间人的劫持。以NFC为例,假设携带有第一数据的载波信号经过NFC支持的最大传输距离20cm所产生的相位变化值则读取装置只有在[(1/2+40)π,41π]才允许开始接收第二数据,只有在该预设数值的有效范围内接收到第二数据才说明没有出现中间人的劫持的情况,由此,可以识别出中间人的劫持。
在该可选实施方式中,以支持NFC通信方式的终端为例,读取装置与应答装置的工作频率为13.56MHz,在读取装置与应答装置通信过程中,读取装置(例如读取装置)始终产生13.56MHz的载波,载波的时间周期是固定的,T=1/13.56MHz,约等于74ns,相位是可以将一个周期在2π的角度来划分,以相位来统计计时,单位可以精确到74/2πns,相比于上述统计载波信号的周期个数以及脉冲个数的方式,统计相位差可以达到进一步精确统计的效果,而且,该可选实施方式可以适用于无源无晶振的应答装置。虽然,该可选实施方式仅以NFC通信方式进行了举例说明,但其他短距离通信方式均属于本发明保护的范围。
通过本发明实施例提供的数据通讯方法,通过读取装置定时接收应答装置定时发送的策略,使得读取装置即使在接收到第二数据的T2<FWT时,仍然可以识别出是否存在中间人劫持的情况,避免用户在毫不知情的情况下造成经济损失。
实施例2
基于同一发明构思,本发明实施例还提供一种数据通讯系统。如图4所示,该数据通讯系统包括:读取装置和应答装置,其中:
读取装置,用于向应答装置发送第一数据,并从发送完成第一数据的时间点开始计时,其中,第一数据至少包括待处理数据;应答装置,用于接收第一数据,并从接收完成第一数据的时间点开始计时;应答装置,还用于当应答装置计时得到的数值达到预设数值时,将第二数据发送至读取装置,其中,第二数据为应答装置对待处理数据进行数据处理后得到的数据;读取装置,还用于若读取装置计时得到的数值在预设数值的有效范围内,则允许开始接收第二数据。
其中,ΔS由读取装置与应答装置之间采用的通信方式所支持的最大通信距离确定,S为预设数值。
本实施例中,读取装置与应答装置之间的通信方式包括:短距离无线通信方式,具体地,短距离无线通信方式至少包括:NFC(Near Field Communication,近场通讯)、Wi-Fi(Wireless Fidelity,无线高保真)、UWB(UltraWideband,超宽带)、Zigbee、RFID(RadioFrequency Identification,无线射频识别)、红外传输和蓝牙。因此,读取装置与应答装置之间的通信距离可以短至几厘米长至几百米。基于上述短距离无线通信方式,对应于不同的通信方式,读取装置与应答装置之间通信也会采用对应的通讯协议,以实现两者之间的无线数据传输。其中,作为一种可选的实施方式,读取装置与应答装置可以为支持非接触式的读卡方式的终端,例如,读取装置可以为POS机、ATM机、身份证阅读器等终端,应答装置可以为智能密钥设备(如工行U盾、农行Key宝)、智能卡、身份证等终端,采用上述非接触式的读卡方式的终端,如读取装置与应答装置之间、读取装置与身份证之间都可以采用协议ISO14443和ISO15693进行数据传输,短距离无线通信方式可以包括:ISO14443和ISO15693协议支持的通信方式;此外,读取装置与应答装置也可以为移动终端、PC、掌上电脑、智能设备等支持短距离无线通信方式的终端。
作为一种可选的实施方式,以读取装置为读卡器,应答装置为智能卡为例,第一数据中的待处理数据可以为读卡请求数据,当然,第一数据中的待处理数据并不限于此,以读取装置与应答装置均为移动终端为例,第一数据中的待处理数据也可以是请求应答装置返回图片的请求数据等等,本实施例并不对第一数据中的待处理数据进行过多限制,只要是读取装置向应答装置发起的请求数据即可。本实施例中,对第二数据也并不做限制,第二数据是对第一数据中的待处理数据进行处理后得到的数据。以应答装置为智能卡,读取装置为读卡器为例,第二数据可以为读取装置请求读取的应答装置的数据内容,以读取装置与应答装置均为移动终端为例,第一数据中的待处理数据为请求图片的数据,第二数据即为图片数据。应答装置在接收完成第一数据的时间点开始计时,在计时得到的数值达到预设数值时,应答装置向读取装置发送第二数据,保证定时发送。
基于背景技术中提出的问题,本实施例为了能够在T2<FWT时,仍然可以识别出中间人的劫持,采用读取装置定时接收应答装置定时发送的策略,所以,在本实施例中,读取装置从发送完成第一数据的时间点开始计时,在计时得到的数值在预设数值的有效范围内时,如果接收到应答装置返回的数据,则说明不存在中间人的劫持,如果没有接收到,则可以识别出存在中间人的劫持。在本实施例中,当应答装置接收到第一数据后,并不会像现有技术那样在对第一数据处理完成后马上将处理后的数据发送至读取装置,而是开始计时,采用读取装置定时接收应答装置定时发送的策略,在计时得到的数值达到预设数值时,应答装置才发送对第一数据中的待处理数据处理后得到的第二数据,即定时发送,使得读取装置在接收到第二数据的T2<FWT时,仍然可以识别出是否存在中间人劫持的情况。
本实施例中,作为一种可选的实施方式,预设数值的有效范围为[S,S+2ΔS],其中,S为预设数值,ΔS由读取装置与应答装置之间采用的通信方式所支持的最大通信距离确定。正如前面提到的,读取装置与应答装置之间采用的通信方式可以为短距离无线通信,可以包括多种通信方式,而每种通信方式支持的最大通信距离是不同的,例如,NFC的工作频率为13.56MHz,支持的通信距离在20cm以内,而蓝牙的工作频率为2.4GHz,支持的通信距离可以达到20m,WiFi可以达到100m。ΔS可以理解为经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所需的数值,例如,经过该最大通信距离传输第一数据所需的时长等,由于每种通信方式支持的最大通信距离不同,对应的,ΔS的取值也会不同,当然ΔS还可以包括其他含义,具体参见下文的详细描述。
需要说明的是,第一数据是以字节的方式连续发送给应答装置的,读取装置连续发送第一数据的第一字节、第二字节……最后一个字节,应答装置连续接收第一数据的第一字节、第二字节……最后一个字节。由于读取装置与应答装置之间采用短距离通信方式,读取装置开始发送第一数据各个字节的过程中,应答装置已经开始接收第一数据的各个字节,考虑到终端接收单个字节的时长数量级较小,可以忽略不计,因而,第一数据的第一字节在到达应答装置时,第一数据的最后一个字节还没有发送,即读取装置还没有发送完成第一数据。在不考虑路上传输时间的情况下,我们可以认为读取装置发送第一数据与应答装置接收第一数据是同时进行的,即读取装置发送完成第一数据的时刻即为应答装置接收完成第一数据的时刻,在考虑路上传输时间的情况下,读取装置计时得到的数值的最大值可以达到S+2ΔS,即考虑了读取装置与应答装置之间相互发送的数据在路上传输的时间(根据通信方式支持的最大距离计算得到的最大时长为2ΔS),所以,在读取装置发送完成第一数据的时间点开始计时,在应答装置接收完成第一数据的时间点开始计时,在不考虑路上传输时间的情况下,没有中间人的劫持,读取装置应该能够在计时得到的数值达到S时接收到第二数据,在考虑路上传输时间的情况下,没有中间人的劫持,读取装置应该能够在计时得到的数值大于S且小于或等于S+2ΔS时开始接收第二数据。
基于背景技术中提出的针对现有的应答装置通讯协议存在的问题,本实施例提供了一种数据通讯系统。该数据通讯系统通过应答装置定时(计时得到的数值达到预设数值S)发送数据,读取装置定时(计时得到的数值在预设数值的有效范围[S,S+2ΔS]内)接收应答装置返回的数据的策略避免现有技术中的问题,其中,读取装置可以理解为背景技术中的商户读取装置,应答装置可以理解为背景技术中的用户应答装置,由于读取装置只在计时得到的数值在预设数值的有效范围[S,S+2ΔS]内允许接收应答装置返回的数据,,在该预设数值的有效范围之外均不允许接收应答装置返回的数据。由此,如果在该预设数值的有效范围内,允许开始接收且接收到所述第二数据,则说明不存在中间人的劫持,但如果在该预设数值的有效范围内允许开始接收但没有接收到所述第二数据,则说明出现了中间人劫持的情况。本实施例中,S+2ΔS≤FWT,其中,FWT为读取装置与应答装置采用的通信协议规定的帧等待时间,例如协议ISO14443和ISO15693规定的帧等待时间FWT,这样,读取装置(例如读取装置)会在FWT的时间内等待应答装置返回数据,同时实施本实施例提供的定时接收的方案,由此,本实施例提供的方法可以在兼容现有协议的同时还可以识别出中间人的劫持。在出现被中间人挟持的情况时,即便T2<FWT,但是,在不忽略两个终端之间来回传输数据所需的时长2ΔS的情况下,以S为预设的时长为例,应答装置计时达到S才发送数据,因此,T2=s1+s2+S+2ΔS,其中,T2为读取装置从发送完成数据到接收到应答装置反馈的数据所需要的时间,s1+s2为中间人做篡改处理所需的时间(请参考背景技术中tw1、tw2,tw1对应s1,tw2对应s2),T2超过了预设数值的有效范围的最大值S+2ΔS,所以,读取装置拒绝接收应答装置返回的数据,中断与应答装置的通讯,由此,即便T2<FWT,读取装置也可以识别出中间人的劫持。需要说明的是,本实施例中S与ΔS除了代表时长之外,还可以包括多种形式,此处,为了便于理解,仅以时长为例进行说明,本实施例下文会提到S与ΔS包括的多种形式,具体参见下文描述。
在本实施例中,预设数值S可以在终端出厂之前预制存储在终端的固定区域中,无需协商,也可以由读取装置与应答装置协商得到,或者,也可以由一方生成发给对方,或者,还可以由读取装置写在协议规定的数据包中,在读取装置向应答装置发送数据时一起发送给应答装置。其中,出厂预制的预设数值虽然无需协商、无需生成,但读取装置与应答装置每次的数据输出均按照该预设数值定时收发,其弊端就是该预设数值不能变化,不够灵活、随机,安全性较低。而后面几种获取预设数值S的方式可以随机生成预设数值,相比于出厂预制的预设数值,更灵活,随机,安全性更高。该预设数值S对于能否识别出中间人的劫持至关重要,因此,为了防止该预设数值S被篡改,本实施例提出了几种获取预设数值S的方式,下面便对以下几种获取预设数值S的方式进行详细说明。
作为本实施例中一种可选的实施方式,读取装置,还用于在读取装置从发送完成第一数据的时间点开始计时之前,与应答装置进行双向的身份认证,在双向的身份认证通过后,与应答装置协商得到传输密钥;
应答装置,还用于生成预设数值,并利用该传输密钥对预设数值加密,将加密后的预设数值发送至读取装置;读取装置,还用于利用该传输密钥对加密后的预设数值解密得到预设数值,并保存;或者,读取装置,还用于生成预设数值,并利用传输密钥对预设数值加密,将加密后的预设数值发送至应答装置;应答装置,还用于利用传输密钥对加密后的预设数值解密得到预设数值,并保存。
由此,本实施例可以通过读取装置与应答装置双向的身份认证保证读取装置以及应答装置的合法身份,进一步地协商得到传输密钥,利用该传输密钥对预设数值加解密以保证传输过程的安全性,从而可以防止协商得到的预设数值被非法篡改,保证预设数值的安全性。此外,无论是读取装置还是应答装置,在接收到对方发送的预设数值后进行保存可以在下次数据通信时继续使用该预设数值,通过保存预设数值,两个终端无需再执行协商预设数值的交互流程,大大提高了数据传输效率。该可选实施方式中协商得到预设数值的方式可以通过多种方式来实现,具体地,可以参见实施例1中图2所示的实现方式。
作为本实施例中一种可选的实施方式,读取装置,还用于在读取装置从发送完成第一数据的时间点开始计时之前,与应答装置进行双向的身份认证;
应答装置,还用于在双向的身份认证通过后,生成预设数值,并利用读取装置的公钥对预设数值加密,将加密后的预设数值发送至读取装置;读取装置,还用于利用读取装置的私钥对加密后的预设数值解密得到预设数值,并保存;或者,读取装置,还用于在双向的身份认证通过后,生成预设数值,并利用应答装置的公钥对预设数值加密,将加密后的预设数值发送至应答装置;应答装置,还用于利用应答装置的私钥对加密后的预设数值解密得到预设数值,并保存。
由此,本实施例可以通过读取装置与应答装置双向的身份认证保证读取装置以及应答装置的合法身份,进一步利用公私钥实现对预设数值加解密以保证传输过程的安全性,从而可以防止一方生成的预设数值被非法篡改,保证预设数值的安全性。相比于上面的可选实施方式,该可选实施方式利用读取装置和应答装置本身的公私钥对实现对预设数值的加解密,无需再生成传输密钥,减少了交互流程,缩短了获得预设数值的时间,提高了效率。此外,无论是读取装置还是应答装置,在接收到对方发送的预设数值后进行保存可以在下次数据通信时继续使用该预设数值,通过保存预设数值,两个终端无需再执行协商预设数值的交互流程,大大提高了数据传输效率。该可选实施方式中协商得到预设数值的方式可以通过多种方式来实现,具体地,可以参见实施例1中图3所示的实现方式。
作为本实施例中第三种可选的实施方式,读取装置,还用于在读取装置向应答装置发送第一数据之前,生成预设数值;第一数据至少还包括:预设数值以及基于预设数值计算得到的防篡改校验值;
应答装置,还用于在接收第一数据之后,还从第一数据中获取预设数值以及防篡改校验值,并对防篡改校验值进行校验,在校验通过后,保存预设数值。
在该可选实施方式中,读取装置可以随机生成一个预设数值,根据协议规定的数据包的格式,将该预设数值和防篡改校验值写入预定字段中,或者,也可以增加新的字段,将该预设数值和防篡改校验值写入新增的字段中,在读取装置向应答装置发送第一数据时,携带在第一数据中的数据包中发送至应答装置。该防窜改校验值是基于预设数值计算得到的,例如,该防窜改校验值可以为基于该预设数值计算得到的签名数据,即对预设数值计算生成摘要,并利用读取装置的私钥对摘要加密生成签名数据,应答装置在对防窜改校验值进行校验就可以利用读取装置的公钥对该签名数据进行验签,如果验签通过,则校验通过,说明预设数值没有被篡改。又例如,该防窜改校验值可以为基于预设数值采用MAC算法计算得到的MAC值,应答装置在对防窜改校验值进行校验时也可以采用相同的MAC算法计算得到一个MAC值,比较两个MAC值是否一致,如果一致,则校验通过,说明预设数值没有被篡改。由此,在该可选实施方式中,通过防窜改校验值也可以实现中间人劫持的识别,而且,一旦预设数值被篡改,校验就不能通过,进而可以保证预设数值不会被非法篡改,保证预设数值的安全。
此外,在本实施例中,作为一种可选的实施方式,预设数值可以至少包括:预设的时长、预设的周期个数、预设的脉冲个数或者预设的相位差,因此,本实施例中,读取装置和应答装置也相应地有不同的计时统计方式,以及判断计时得到的数值是否达到预设数值或在预设数值的有效范围内的方式,下面分别针对各种预设数值进行详细的说明。
作为一种本实施例可选的实施方式,预设数值可以包括:预设的时长,其中,S+2ΔS的和大于应答装置对接收到的第一数据中的待处理数据进行数据处理的时长(由于应答装置需要在处理数据之后达到计时得到的数值才发送第二数据),此外,可选地,S+2ΔS<FWT;ΔS为在读取装置与应答装置之间的距离为两者采用的通信方式所支持的最大通信距离时,读取装置传输数据至应答装置所需的时长。所述读取装置计时得到的数值在预设数值的有效范围内,包括:读取装置从发送完成第一数据之后计时得到的时长在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到预设数值,包括:应答装置从接收完成第一数据之后计时得到的时长达到预设的时长。
在该种可选实施方式中,读取装置与应答装置中均具有计时器,支持精确计时功能,可以通过计时器计时得到的时长判断是否达到预设时长或是否在预设时长的有效范围内。例如,应答装置可以为具有晶振的应答装置,该具有晶振的应答装置可以通过其内部时钟计时的时长的方式来统计计时,其计时精确度由应答装置的时钟精确度决定。例如,S=5×10-3s,以蓝牙为例,支持的最大传输距离20m的传输时长ΔS为60×10-9s,则应答装置在计时达到5×10-3s时发送第二数据,读取装置只有在[5×10-3s,(5×10-3+1.2×10-7)s]才允许开始接收第二数据,只有在该预设数值的有效范围内接收到第二数据才说明没有出现中间人的劫持的情况,由此,可以识别出中间人的劫持。虽然,该可选实施方式仅以蓝牙通信方式进行了举例说明,但其他短距离通信方式均属于本发明保护的范围。
对于无源、无晶振的终端(如应答装置)来说,该终端没有计时功能,而在本实施例中,读取装置,还用于在读取装置与应答装置通信的整个过程中,始终产生载波信号,因此,本实施例中提出了有别与时钟计时的计时统计方式,本实施例还可以通过计算载波信号的周期个数、脉冲个数以及相位差来统计计时得到的数值,预设数值具体可以包括:预设的载波信号的周期个数、预设的载波信号的脉冲个数以及预设的载波信号的相位差,ΔS具体可以指示载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数、脉冲个数,以及相位变化值,其中,无论采用上述哪一种计时统计方式,S+2ΔS的和对应的时长均大于应答装置对接收到的第一数据中的待处理数据进行数据处理的时长,此外,可选地,S+2ΔS的和对应的时长均可以小于或等于FWT。作为一种可选的实施方式,预设数值可以包括:预设的周期个数;ΔS为载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数;所述读取装置计时得到的数值在预设数值的有效范围内,包括:读取装置从发送完成第一数据之后持续向应答装置发送的载波信号的周期个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到预设数值,包括:应答装置从接收完成第一数据之后持续接收到的载波信号的周期个数达到预设的周期个数。
在本实施例中,读取装置始终在产生载波信号,在读取装置需要发送数据时,例如,读取装置发送第一数据是将第一数据调制在载波信号上发送至应答装置的,在读取装置不需要发送数据时,读取装置发送该载波信号至应答装置,该载波信号上没有携带数据。该可选实施方式中,读取装置与应答装置均具有计数器,可以计算上述情况下载波的周期个数,该可选实施方式提供了一种可选的统计计时得到的数值的方式,读取装置与应答装置无需使用时钟计时,也可以达到精确计时的目的,举例来说,以支持NFC通信方式的终端为例,读取装置与应答装置的工作频率为13.56MHZ,在读取装置与应答装置通信过程中,读取装置(例如读取装置)始终产生13.56MHz的载波,载波的时间周期T是固定的,T=1/13.56MHz,约等于74ns,以周期来统计计时得到的数值,单位可以精确到ns,由此可以达到精确统计的效果,而且,该可选实施方式可以适用于无源无晶振的应答装置。虽然,该可选实施方式仅以NFC通信方式进行了举例说明,但其他短距离通信方式均属于本发明保护的范围。
此外,作为另一种本实施例可选的实施方式,预设数值可以包括:预设的脉冲个数;ΔS为载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的脉冲个数;所述读取装置计时得到的数值在预设数值的有效范围内,包括:读取装置从发送完成第一数据之后持续向应答装置发送的载波信号的脉冲个数在[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到预设数值,包括:应答装置从接收完成第一数据之后持续接收到的载波信号的脉冲个数达到预设的脉冲个数。
统计载波信号的脉冲个数即统计载波信号的峰值的个数,相比于上述统计载波信号的周期个数的方式,统计脉冲个数可以达到进一步精确统计的效果,而且,该可选实施方式可以适用于无源无晶振的应答装置。
此外,作为另一种本实施例可选的实施方式,预设数值可以包括:预设的相位差;ΔS为载波信号经过读取装置与应答装置之间采用的通信方式所支持的最大通信距离所产生的相位变化值;所述读取装置计时得到的数值在预设数值的有效范围内,包括:载波信号在第一相位与第二相位的相位差在[S,S+2ΔS]范围内,其中,第一相位为载波信号在读取装置发送完成第一数据的时间点的相位,第二相位为载波信号在读取装置允许开始接收第二数据的时间点的相位;所述应答装置计时得到的数值达到预设数值,包括:载波信号在第三相位与第四相位的相位差达到预设的相位差,其中,第三相位为载波信号在应答装置在接收完成第一数据的时间点的相位,第四相位为载波信号在应答装置开始发送所述第二数据的时间点的相位。
例如,读取装置与应答装置可以采用之前提到的获得预设数值的方式,协商或一方生成预设的相位差S=(1/2+40)π,在以读取装置为读卡器,应答装置为智能卡为例,读取装置在发送完成第一数据后以及应答装置在接收完成该第一数据后,两者之间的通信波形就是标准的正弦波载波,记录此刻的相位为0(即第一相位与第三相位为0),在载波相位差(即第三相位与第四相位的相位差)达到(1/2+40)π时,应答装置发送第二数据,此时,读取装置可以通过计时得到的相位差在预设数值的有效范围内允许开始接收且接收到第二数据,来确认没有中间人的劫持。以NFC为例,假设携带有第一数据的载波信号经过NFC支持的最大传输距离20cm所产生的相位变化值则读取装置只有在[(1/2+40)π,41π]才允许开始接收第二数据,只有在该预设数值的有效范围内接收到第二数据才说明没有出现中间人的劫持的情况,由此,可以识别出中间人的劫持。
在该可选实施方式中,以支持NFC通信方式的终端为例,读取装置与应答装置的工作频率为13.56MHz,在读取装置与应答装置通信过程中,读取装置(例如读取装置)始终产生13.56MHz的载波,载波的时间周期是固定的,T=1/13.56MHz,约等于74ns,相位是可以将一个周期在2π的角度来划分,以相位来统计计时,单位可以精确到74/2πns,相比于上述统计载波信号的周期个数以及脉冲个数的方式,统计相位差可以达到进一步精确统计的效果,而且,该可选实施方式可以适用于无源无晶振的应答装置。虽然,该可选实施方式仅以NFC通信方式进行了举例说明,但其他短距离通信方式均属于本发明保护的范围。
通过本发明实施例提供的数据通讯系统,通过读取装置定时接收应答装置定时发送的策略,使得读取装置即使在接收到第二数据的T2<FWT时,仍然可以识别出是否存在中间人劫持的情况,避免用户在毫不知情的情况下造成经济损失。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (13)
1.一种数据通讯方法,其特征在于,包括:
读取装置向应答装置发送第一数据,并从发送完成所述第一数据的时间点开始计时,其中,所述第一数据至少包括待处理数据;
所述应答装置接收所述第一数据,并从接收完成所述第一数据的时间点开始计时;
当所述应答装置计时得到的数值达到预设数值时,所述应答装置将第二数据发送至所述读取装置,其中,所述第二数据为所述应答装置对所述待处理数据进行数据处理后得到的数据;
所述读取装置计时得到的数值在所述预设数值的有效范围内,则所述读取装置允许开始接收所述第二数据。
2.根据权利要求1所述的方法,其特征在于,
所述预设数值的有效范围为[S,S+2ΔS],其中,S为所述预设数值,ΔS由所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离确定,其中,S+2ΔS的和对应的时长小于或等于所述读取装置与所述应答装置采用的通信协议规定的帧等待时间FWT。
3.根据权利要求2所述的方法,其特征在于,
所述读取装置与所述应答装置之间采用的通信方式包括:短距离无线通信方式。
4.根据权利要求1至3任一项所述的方法,其特征在于,
在所述读取装置从发送完成所述第一数据的时间点开始计时之前,所述方法还包括:
所述读取装置与所述应答装置进行双向的身份认证,在所述双向的身份认证通过后,所述读取装置与所述应答装置协商得到传输密钥;所述应答装置生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,所述读取装置生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,
所述读取装置与所述应答装置进行双向的身份认证;在所述双向的身份认证通过后,所述应答装置生成所述预设数值,并利用所述读取装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置利用其私钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,在所述双向的身份认证通过后,所述读取装置生成所述预设数值,并利用所述应答装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置利用其私钥对所述加密后的预设数值解密得到所述预设数值,并保存。
5.根据权利要求1至3任一项所述的方法,其特征在于,
在所述读取装置向应答装置发送第一数据之前,所述方法还包括:所述读取装置生成所述预设数值;
所述第一数据至少还包括:所述预设数值以及基于所述预设数值计算得到的防篡改校验值;
所述应答装置接收所述第一数据之后,所述方法还包括:
所述应答装置从所述第一数据中获取所述预设数值以及所述防篡改校验值,并对所述防篡改校验值进行校验,在校验通过后,保存所述预设数值。
6.根据权利要求2至5任一项所述的方法,其特征在于,
所述预设数值包括:预设的时长;所述ΔS为在所述读取装置与所述应答装置之间的距离为两者采用的通信方式所支持的最大通信距离时,所述读取装置传输数据至所述应答装置所需的时长;所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后计时得到的时长在所述[S,S+2ΔS]范围内;
所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后计时得到的时长达到所述预设的时长;或者,
所述预设数值包括:预设的周期个数;在所述读取装置与所述应答装置通信的整个过程中,所述读取装置始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的周期个数在所述[S,S+2ΔS]范围内;
所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的周期个数达到所述预设的周期个数;或者,
所述预设数值包括:预设的脉冲个数;在所述读取装置与所述应答装置通信的整个过程中,所述读取装置始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的脉冲个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的脉冲个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的脉冲个数达到所述预设的脉冲个数;或者,
所述预设数值包括:预设的相位差;在所述读取装置与所述应答装置通信的整个过程中,所述读取装置始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的相位变化值;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述载波信号在第一相位与第二相位的相位差在所述[S,S+2ΔS]范围内,其中,所述第一相位为所述载波信号在所述读取装置发送完成所述第一数据的时间点的相位,所述第二相位为所述载波信号在所述读取装置允许开始接收所述第二数据的时间点的相位;所述应答装置计时得到的数值达到所述预设数值,包括:所述载波信号在第三相位与第四相位的相位差达到所述预设的相位差,其中,所述第三相位为所述载波信号在所述应答装置在接收完成所述第一数据的时间点的相位,所述第四相位为所述载波信号在所述应答装置开始发送所述第二数据的时间点的相位。
7.一种数据通讯系统,包括:
读取装置,用于向应答装置发送第一数据,并从发送完成所述第一数据的时间点开始计时,其中,所述第一数据至少包括待处理数据;
所述应答装置,用于接收所述第一数据,并从接收完成所述第一数据的时间点开始计时;
所述应答装置,还用于当所述应答装置计时得到的数值达到预设数值时,将第二数据发送至所述读取装置,其中,所述第二数据为所述应答装置对所述待处理数据进行数据处理后得到的数据;
所述读取装置,还用于若所述读取装置计时得到的数值在所述预设数值的有效范围内,则允许开始接收所述第二数据。
8.根据权利要求7所述的系统,其特征在于,
所述预设数值的有效范围为[S,S+2ΔS],其中,S为所述预设数值,ΔS由所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离确定,其中,S+2ΔS对应的时长小于或等于所述读取装置与所述应答装置采用的通信协议规定的帧等待时间FWT。
9.根据权利要求7或8所述的系统,其特征在于,
所述读取装置与所述应答装置之间的通信方式包括:短距离无线通信方式。
10.根据权利要求7至9任一项所述的系统,其特征在于,
所述读取装置,还用于在所述读取装置从发送完成所述第一数据的时间点开始计时之前,与所述应答装置进行双向的身份认证,在所述双向的身份认证通过后,与所述应答装置协商得到传输密钥;
所述应答装置,还用于生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置,还用于利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存;或者,
所述读取装置,还用于生成所述预设数值,并利用所述传输密钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置,还用于利用所述传输密钥对所述加密后的预设数值解密得到所述预设数值,并保存。
11.根据权利要求7至9任一项所述的系统,其特征在于,
所述读取装置,还用于在所述读取装置从发送完成所述第一数据的时间点开始计时之前,与所述应答装置进行双向的身份认证;
所述应答装置,还用于在所述双向的身份认证通过后,生成所述预设数值,并利用所述读取装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述读取装置;所述读取装置,还用于利用所述读取装置的私钥对所述加密后的预设数值解密得到所述预设数值,并保存;
或者,
所述读取装置,还用于在所述双向的身份认证通过后,生成所述预设数值,并利用所述应答装置的公钥对所述预设数值加密,将加密后的预设数值发送至所述应答装置;所述应答装置,还用于利用所述应答装置的私钥对所述加密后的预设数值解密得到所述预设数值,并保存。
12.根据权利要求7至9任一项所述的系统,其特征在于,
所述读取装置,还用于在所述读取装置向应答装置发送第一数据之前,生成所述预设数值;所述第一数据至少还包括:所述预设数值以及基于所述预设数值计算得到的防篡改校验值;
所述应答装置,还用于在接收所述第一数据之后,还从所述第一数据中获取所述预设数值以及所述防篡改校验值,并对所述防篡改校验值进行校验,在校验通过后,保存所述预设数值。
13.根据权利要求8至12任一项所述的系统,其特征在于,
所述预设数值包括:预设的时长;所述ΔS为在所述读取装置与所述应答装置之间的距离为两者采用的通信方式所支持的最大通信距离时,所述读取装置传输数据至所述应答装置所需的时长;所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后计时得到的时长在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后计时得到的时长达到所述预设的时长;或者,
所述预设数值包括:预设的周期个数;所述读取装置,还用于在所述读取装置与所述应答装置通信的整个过程中,始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的周期个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的周期个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的周期个数达到所述预设的周期个数;或者,
所述预设数值包括:预设的脉冲个数;所述读取装置,还用于在所述读取装置与所述应答装置通信的整个过程中,始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的脉冲个数;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述读取装置从发送完成所述第一数据之后持续向所述应答装置发送的所述载波信号的脉冲个数在所述[S,S+2ΔS]范围内;所述应答装置计时得到的数值达到所述预设数值,包括:所述应答装置从接收完成所述第一数据之后持续接收到的所述载波信号的脉冲个数达到所述预设的脉冲个数;或者,
所述预设数值包括:预设的相位差;所述读取装置,还用于在所述读取装置与所述应答装置通信的整个过程中,始终产生载波信号;所述ΔS为所述载波信号经过所述读取装置与所述应答装置之间采用的通信方式所支持的最大通信距离所产生的相位变化值;其中:所述读取装置计时得到的数值在所述预设数值的有效范围内,包括:所述载波信号在第一相位与第二相位的相位差在所述[S,S+2ΔS]范围内,其中,所述第一相位为所述载波信号在所述读取装置发送完成所述第一数据的时间点的相位,所述第二相位为所述载波信号在所述读取装置允许开始接收所述第二数据的时间点的相位;所述应答装置计时得到的数值达到所述预设数值,包括:所述载波信号在第三相位与第四相位的相位差达到所述预设的相位差,其中,所述第三相位为所述载波信号在所述应答装置在接收完成所述第一数据的时间点的相位,所述第四相位为所述载波信号在所述应答装置开始发送所述第二数据的时间点的相位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610641426.4A CN107688761B (zh) | 2016-08-05 | 2016-08-05 | 一种数据通讯方法及数据通讯系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610641426.4A CN107688761B (zh) | 2016-08-05 | 2016-08-05 | 一种数据通讯方法及数据通讯系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107688761A true CN107688761A (zh) | 2018-02-13 |
CN107688761B CN107688761B (zh) | 2021-07-16 |
Family
ID=61151240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610641426.4A Active CN107688761B (zh) | 2016-08-05 | 2016-08-05 | 一种数据通讯方法及数据通讯系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688761B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102754106A (zh) * | 2009-12-23 | 2012-10-24 | 原子能和辅助替代能源委员会 | 非接触射频通信中的保护方法 |
CN202736226U (zh) * | 2012-06-25 | 2013-02-13 | 湖北警官学院 | 一种用于非接触ic卡的接力攻击报警器 |
CN104901953A (zh) * | 2015-05-05 | 2015-09-09 | 中国科学院信息工程研究所 | 一种arp欺骗的分布式检测方法及系统 |
CN105046177A (zh) * | 2014-04-29 | 2015-11-11 | 恩智浦有限公司 | 通信设备的接近检查 |
US9930523B2 (en) * | 2014-03-11 | 2018-03-27 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method and device for proving his identity |
-
2016
- 2016-08-05 CN CN201610641426.4A patent/CN107688761B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102754106A (zh) * | 2009-12-23 | 2012-10-24 | 原子能和辅助替代能源委员会 | 非接触射频通信中的保护方法 |
CN202736226U (zh) * | 2012-06-25 | 2013-02-13 | 湖北警官学院 | 一种用于非接触ic卡的接力攻击报警器 |
US9930523B2 (en) * | 2014-03-11 | 2018-03-27 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method and device for proving his identity |
CN105046177A (zh) * | 2014-04-29 | 2015-11-11 | 恩智浦有限公司 | 通信设备的接近检查 |
CN104901953A (zh) * | 2015-05-05 | 2015-09-09 | 中国科学院信息工程研究所 | 一种arp欺骗的分布式检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
青岛东合信息技术有限公司: "《RFID开发技术及实践》", 31 January 2014, 西安电子科技大学出版社 * |
Also Published As
Publication number | Publication date |
---|---|
CN107688761B (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609552B2 (en) | System and method for data communication protection | |
CN103236926B (zh) | 基于点对点的数据传输系统及传输方法 | |
CN107392001B (zh) | 一种授权方法、系统及卡片 | |
WO2018024241A1 (zh) | 一种数据通信方法及系统 | |
CN108702606B (zh) | 一种无线通信的握手方法及设备 | |
CN106357627B (zh) | 读取居民证件卡信息的方法、系统及终端 | |
CN107689946B (zh) | 一种数据通讯方法及数据通讯系统 | |
CN107690144B (zh) | 一种数据通信方法及系统 | |
CN107690133B (zh) | 一种数据通信方法及系统 | |
CN107688760B (zh) | 一种数据通讯方法及数据通讯系统 | |
JP6698880B2 (ja) | 安全通信方法及びシステム | |
CN107688761B (zh) | 一种数据通讯方法及数据通讯系统 | |
CN107690143B (zh) | 一种数据通信方法及系统 | |
CN107688749B (zh) | 一种安全通信方法和系统 | |
CN112688774A (zh) | 一种利用定时通讯保护密钥协商的安全通信方法及系统 | |
CN112713991A (zh) | 一种利用定时通讯保护密钥协商的安全通信方法及系统 | |
WO2018024251A1 (zh) | 一种数据通信方法及系统 | |
CN107690141B (zh) | 一种数据通信方法及系统 | |
CN106372547B (zh) | 读取居民证件卡信息的方法、系统及居民证件卡读取装置 | |
CN107690142B (zh) | 一种数据通信方法及系统 | |
CN106375302B (zh) | 读取居民证件卡信息的方法、系统及居民证件卡读取装置 | |
CN107690145A (zh) | 一种安全通信方法和系统 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220413 Address after: Tiantianrong building, No. 1, Zhongguancun, Beiqing Road, Haidian District, Beijing 100094 Patentee after: TENDYRON Corp. Address before: 100086 room 603, building 12, taiyueyuan, Haidian District, Beijing Patentee before: Li Ming |
|
TR01 | Transfer of patent right |