一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种防止数字资产近距离重复转移的方法及终端与流程

2021-12-17 22:23:00 来源:中国专利 TAG:

一种防止数字资产近距离重复转移的方法及终端
【技术领域】
1.本发明涉及数字资产技术领域,尤其涉及一种防止数字资产近距离重复转移的方法及终端。


背景技术:

2.数字资产是指以电子数据形式存在的资产,例如虚拟资产、数字货币、电子货币等。在数字资产的应用过程中,会涉及到数字资产的近距离转移,转移端将待转移的数字资产通过近距离通信转移给接收端,从而使得接收端能获得该待转移的数字资产。
3.当转移端和接收端处于网络状况较差或无需网络等离线状态时,数字资产的近距离转移被称为离线转移,特别是随着数字资产业务在金融、支付等领域的快速推进,即使是网络支付业务(如支付宝、微信支付或银行支付业务等),也必然会存在转移端和接收端处于离线状态的情形,因此,都有实施数字资产近距离转移的必要。
4.但是,在数字资产近距离转移时,数字资产由于数据的可复制性,因而可能存在“重复支付”的问题,也被称为“双花”或“重复转移”问题,即同一笔数字资产因恶意或不当操作而被重复使用的情况。
5.因此,如何有效地防止数字资产近距离转移时的重复转移问题,成为必须解决的技术问题。
6.需要说明的是,上述背景信息仅用于加强对本发明背景技术的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术信息。


技术实现要素:

7.本发明的主要目的在于提供一种防止数字资产近距离重复转移的方法及终端,进而至少在一定程度上解决由于相关技术的限制和缺陷而导致的一个或者多个技术问题,包括以下技术方案:
8.第一方面,提供了一种防止数字资产近距离重复转移的方法,应用于转移端,所述方法包括:
9.获取转移请求,所述转移请求包括转移数额和接收端识别信息;
10.生成具有唯一性的转移识别信息;
11.通过近距离通信向接收端传递交易信息,以使得所述接收端对所述交易信息进行验证,并根据所述验证结果确定所述交易信息是否合法,所述交易信息包括转移端识别信息、所述转移识别信息、所述接收端识别信息和所述转移数额,所述转移端识别信息为所述转移端的识别信息。
12.优选的,所述获取转移请求包括:
13.通过近距离通信获取所述转移请求;或者,
14.通过用户输入获取所述转移请求;或者,
15.通过近距离通信和用户输入组合获取所述转移请求。
16.优选的,所述通过近距离通信和用户输入组合获取所述转移请求包括:
17.通过扫描及解析图形码以获取所述接收端识别信息,通过用户输入以获取所述转移数额。
18.优选的,所述生成具有唯一性的转移识别信息之前还包括:
19.当所述转移数额不大于所述转移端当前可用的资产余额时,从所述转移端当前可用的资产余额中减去所述转移数额,并执行所述生成具有唯一性的转移识别信息的步骤。
20.优选的,所述生成具有唯一性的转移识别信息包括:
21.按顺序递增生成所述转移识别信息;或者,
22.根据当前系统时间生成所述转移识别信息,并且生成间隔大于或等于该当前系统时间的精确度;或者,
23.根据随机信息生成所述转移识别信息,并且该随机信息与以前生成的转移识别信息不相同。
24.优选的,所述交易信息还包括:
25.交易时间,或/和到期时间。
26.优选的,所述交易时间包括:
27.根据所述转移端的当前系统时间生成所述交易时间;或者,
28.所述转移请求中还包括所述交易时间,从所述转移请求中获取所述交易时间。
29.优选的,所述到期时间包括:
30.根据所述转移端的当前系统时间加上预设时长生成所述到期时间;或者,
31.所述转移请求中还包括所述到期时间,从所述转移请求中获取所述到期时间。
32.优选的,所述通过近距离通信向接收端传递交易信息还包括:
33.对待签名信息进行数字签名以生成签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额;
34.将所述签名值传递给所述接收端,以使得所述接收端对所述签名值进行数字签名验证。
35.优选的,所述方法还包括:
36.存储所述交易信息;
37.当接收到对所述交易信息的重新转移请求时,从存储的交易信息中重新获取所述交易信息,并通过近距离通信向所述接收端传递该重新获取的所述交易信息,从而使得所述接收端对该重新获取的所述交易信息进行验证,并根据该验证结果确定该重新获取的所述交易信息是否合法。
38.优选的,所述从存储的交易信息中重新获取所述交易信息包括:
39.仅存储一项交易信息,获取该一项交易信息作为所述交易信息;或者,
40.按顺序存储有多项交易信息,获取最近存储的一项交易信息作为所述交易信息;或者,
41.存储有多项交易信息,根据用户的选取操作从该多项交易信息中获取所述交易信息;或者,
42.存储有多项交易信息,所述重新转移请求中还包括转移识别信息或/和转移数额或/和接收端识别信息,根据该转移识别信息或/和该转移数额或/和该接收端识别信息从
该多项交易信息中匹配并获取所述交易信息。
43.优选的,所述通过近距离通信向所述接收端传递该重新获取的所述交易信息还包括:重新获取待签名信息的签名值,并传递该重新获取的签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额。
44.优选的,所述重新获取所述交易信息的签名值包括:
45.对所述待签名信息重新进行数字签名以生成签名值;或者,
46.在所述存储所述交易信息时还包括建立所述交易信息与所述待签名信息的签名值的关联关系,在所述重新获取所述交易信息时还根据该关联关系获取该签名值。
47.优选的,所述近距离通信包括蓝牙、红外线、nfc、wifi、声波、ble或图形码的通信方式。
48.优选的,所述转移端识别信息包括:
49.所述转移端的终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址或其他可用于唯一识别所述转移端的信息。
50.优选的,所述接收端识别信息包括:
51.所述接收端的终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址或其他可用于唯一识别所述接收端的信息。
52.第二方面,提供了一种防止数字资产近距离重复转移的方法,应用于安全模块,所述方法包括:
53.接收所述转移端发送的转移指令,所述转移指令包括转移数额和接收端识别信息;
54.生成交易信息,所述交易信息包括转移端识别信息、转移识别信息、所述接收端识别信息和所述转移数额,所述转移识别信息是由所述安全模块生成或者是由所述转移端发送,所述转移识别信息具有唯一性,所述转移端识别信息为所述安全模块的唯一识别信息,或者所述转移端识别信息为所述转移端发送;
55.将所述交易信息返回给所述转移端,以使得所述转移端通过近距离通信向接收端传递所述交易信息,从而使得所述接收端对所述交易信息进行验证,并根据所述验证结果确定所述交易信息是否合法。
56.优选的,所述安全模块包括:安全元件se、嵌入式安全元件ese、可信执行环境tee、用户识别模块sim、嵌入式用户识别模块esim、主机卡模拟hce或usb密钥。
57.优选的,所述生成交易信息之前还包括:
58.当所述转移数额不大于当前可用的资产余额时,从所述当前可用的资产余额中减去所述转移数额,并执行所述生成交易信息。
59.优选的,所述交易信息还包括:
60.所述转移指令中还包括交易时间,所述交易信息还包括所述交易时间;或/和,
61.所述转移指令中还包括到期时间,所述交易信息还包括所述到期时间。
62.优选的,所述将所述交易信息返回给所述转移端还包括:
63.对待签名信息进行数字签名以生成签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额;
64.将所述签名值返回给所述转移端,以使得所述转移端通过近距离通信向接收端传
递所述交易信息时还包括将所述签名值传递给所述接收端,从而使得所述接收端根据所述签名值对所述交易信息进行数字签名验证。
65.优选的,所述方法还包括:
66.存储所述交易信息;
67.当接收到对所述交易信息的重新转移指令时,从存储的交易信息中重新获取所述交易信息,并将该重新获取的所述交易信息返回给所述转移端。
68.优选的,所述将该重新获取的所述交易信息返回给所述转移端还包括:重新获取待签名信息的签名值,并返回该重新获取的签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额。
69.优选的,所述重新获取所述交易信息的签名值包括:
70.对所述待签名信息进行数字签名以生成签名值;或者,
71.在所述存储所述交易信息时还包括建立所述交易信息与所述待签名信息的签名值的关联关系,在所述重新获取所述交易信息时还根据该关联关系获取该签名值。
72.第三方面,提供了一种防止数字资产近距离重复转移的方法,应用于接收端,所述方法包括:
73.接收转移端通过近距离通信传递的交易信息,所述交易信息包括转移端识别信息、转移识别信息、接收端识别信息和转移数额;
74.对所述交易信息进行验证,若实施的验证方式都确定验证通过,则确定所述交易信息合法;
75.所述对所述交易信息进行验证包括:
76.验证方式一,根据所述接收端预设的终端识别信息验证所述接收端识别信息是否属于所述接收端,若是,则确定验证通过;
77.验证方式二,根据当前存储的转移验证信息验证是否接收过所述交易信息,若否,则确定验证通过,并且存储转移验证信息,所述转移验证信息为根据所述转移端识别信息和所述转移识别信息确定。
78.优选的,所述近距离通信包括蓝牙、红外线、nfc、wifi、声波、ble或图形码的通信方式。
79.优选的,所述根据所述接收端预设的终端识别信息验证所述接收端识别信息是否属于所述接收端包括:
80.所述预设的终端识别信息为一个终端识别信息,将所述预设的终端识别信息与所述接收端识别信息进行比较,若一致,则确定验证通过;或者,
81.所述预设的终端识别信息包括多个终端识别信息,将所述多个终端识别信息与所述接收端识别信息分别进行比较,若其中有任意一个终端识别信息与所述接收端识别信息相一致,则确定验证通过。
82.优选的,所述验证方式二还包括:
83.第一种实施方式,所述转移验证信息为根据所述转移端识别信息和所述转移识别信息组合生成,所述根据当前存储的转移验证信息验证是否接收过所述交易信息包括:判断所述当前存储的转移验证信息中是否存在所述转移验证信息,若不存在,则确定验证通过;或者,
84.第二种实施方式,所述转移验证信息为所述转移端识别信息与所述转移识别信息的对应关系,所述根据当前存储的转移验证信息验证是否接收过所述交易信息包括:判断所述当前存储的转移验证信息中是否存在所述转移端识别信息与所述转移识别信息的对应关系,若不存在,则确定验证通过;或者,
85.第三种实施方式,所述转移识别信息为递增性质的转移识别信息,所述转移验证信息为所述转移端识别信息与所述转移识别信息的对应关系,所述根据当前存储的转移验证信息验证是否接收过所述交易信息包括:根据所述转移端识别信息获取对应的转移识别信息,若没有获取到对应的转移识别信息,或者若所述转移识别信息大于所述对应的转移识别信息,则确定验证通过。
86.优选的,在所述第一种实施方式中,所述根据所述转移端识别信息和所述转移识别信息组合生成所述转移验证信息包括:
87.将包括所述转移端识别信息和所述转移识别信息的信息进行组合作为所述转移验证信息;或者,
88.将包括所述转移端识别信息和所述转移识别信息的信息进行组合并且进行哈希计算生成的哈希值作为所述转移验证信息。
89.优选的,在所述第二种实施方式中,所述判断所述当前存储的转移验证信息中是否存在所述转移端识别信息与所述转移识别信息的对应关系包括:
90.根据所述转移端识别信息从所述当前存储的转移验证信息中获取对应的转移识别信息,若没有获取到对应的转移识别信息,或者若获取到对应的转移识别信息,但该对应的转移识别信息中不存在所述转移识别信息,则确定验证通过;或者,
91.根据所述转移识别信息从所述当前存储的转移验证信息中获取对应的转移端识别信息,若没有获取到对应的转移端识别信息,或者若获取到对应的转移端识别信息,但该对应的转移端识别信息中不存在所述转移端识别信息,则确定验证通过。
92.优选的,所述第三种实施方式还包括:
93.所述转移端识别信息所对应的转移识别信息只允许建立一个对应的转移识别信息,所述存储转移验证信息包括将所述转移端识别信息所对应的转移识别信息替换为所述转移识别信息;或者,
94.所述转移端识别信息所对应的转移识别信息允许建立一个或多个对应的转移识别信息,当所述转移端识别信息所对应的转移识别信息包括多个对应的转移识别信息时,则所述转移识别信息大于所述对应的转移识别信息为所述转移识别信息大于所述多个对应的转移识别信息中最大的转移识别信息,并且所述存储转移验证信息包括新增所述转移端识别信息与所述转移识别信息的对应关系。
95.优选的,当所述转移端识别信息所对应的转移识别信息包括多个对应的转移识别信息时,所述方法还包括:
96.当所述转移识别信息不大于所述最大的转移识别信息,并且所述多个对应的转移识别信息中不包括所述转移识别信息,则确定验证通过,并且新增所述转移端识别信息与所述转移识别信息的对应关系。
97.优选的,所述当所述转移识别信息不大于所述最大的转移识别信息还包括当所述转移识别信息与所述最大的转移识别信息的差值小于预设值,则所述方法还包括:
98.对于所述多个对应的转移识别信息中不大于所述最大的转移识别信息的转移识别信息,当其中某个对应的转移识别信息与所述最大的转移识别信息的差值不小于所述预设值,则废弃该某个对应的转移识别信息。
99.优选的,所述对所述交易信息进行验证还包括:
100.验证方式三,所述交易信息还包括交易时间或/和到期时间,接收端根据所述交易时间或/和所述到期时间以及预设时长确定时间段,判断所述接收端的当前系统时间是否在所述时间段内,若是,则确定验证通过;或/和,
101.验证方式四,所述接收转移端通过近距离通信传递的交易信息还包括接收所述转移端传递的签名值,所述签名值为所述转移端对待签名信息进行数字签名生成的签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额,对所述签名值进行数字签名验证。
102.优选的,在所述验证方式三中,所述接收端根据所述交易时间或/和所述到期时间以及预设时长确定时间段包括:
103.实施方式一,若所述交易信息还包括交易时间,则确定所述时间段为所述交易时间之后所述预设时长内的时间段;或者,
104.实施方式二,若所述交易信息还包括交易时间,所述预设时长分为第一预设时长和第二预设时长,确定所述时间段为所述交易时间减去所述第一预设时长、以及所述交易时间加上所述第二预设时长之间的时间段;或者,
105.实施方式三,若所述交易信息还包括交易时间,所述预设时长分为第三预设时长和第四预设时长,确定所述时间段为所述交易时间加上所述第三预设时长、以及所述交易时间加上所述第三预设时长和加上所述第四预设时长之间的时间段;或者,
106.实施方式四,若所述交易信息还包括到期时间,则所述时间段为所述到期时间之前所述预设时长内的时间段;或者,
107.实施方式五,若所述交易信息还包括交易时间和到期时间,并且若所述交易时间与所述到期时间之间的时长小于所述预设时长,则所述时间段为所述交易时间与所述到期时间之间的时间段。
108.优选的,若实施所述验证方式三,则所述方法还包括:
109.在所述存储转移验证信息之后,当所述接收端的当前系统时间达到所述时间段之后的时间,从所述当前存储的转移验证信息中废弃所述转移验证信息。
110.优选的,在所述验证方式四中,所述对所述签名值进行数字签名验证包括:
111.所述签名值为所述转移端使用非对称加密算法对所述待签名信息进行数字签名生成的签名值,则获取所述转移端的公钥,使用与所述转移端生成所述待签名信息相同的方式生成待校验信息,根据所述公钥和所述待校验信息验证所述签名值。
112.优选的,所述获取所述转移端的公钥包括:
113.所述转移端基于ibc体系产生的私钥对所述待签名信息进行数字签名,所述公钥为所述转移端识别信息;或者,
114.所述转移端基于pki体系产生的私钥对所述待签名信息进行数字签名,从所述转移端传递的数字证书中获取所述公钥。
115.优选的,所述确定所述交易信息合法还包括:
116.向所述接收端当前可用的资产余额增加所述转移数额。
117.优选的,所述转移端识别信息包括:
118.所述转移端的终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址或其他可用于唯一识别所述转移端的信息。
119.优选的,若接收到所述转移端使用非对称加密算法对待签名信息进行数字签名生成的签名值,所述转移端识别信息包括:
120.当所述转移端基于ibc体系产生的私钥对待签名信息进行数字签名,所述转移端识别信息包括所述转移端的公钥;或者,
121.当所述转移端基于pki体系产生的私钥对待签名信息进行数字签名,所述转移端识别信息包括所述转移端的数字证书中具有唯一性的标签值。
122.优选的,所述标签值包括:
123.序列号、主题、主题唯一标识或/和公钥的值。
124.优选的,所述接收端识别信息包括:
125.所述接收端的终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址或其他可用于唯一识别所述接收端的信息。
126.第四方面,一种转移端设备,所述转移端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如上第一方面所述的方法。
127.一种安全模块,所述安全模块包括处理器,当程序指令被所述处理器执行时,使得如上第二方面所述的方法被执行。
128.一种芯片,包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上第一方面所述的方法,或者使得安装有所述芯片的设备执行如上第三方面所述的方法。
129.一种接收端设备,所述接收端设备包括处理器、存储器,所述处理器用于运行所述存储器所存储的程序,所述程序运行时执行包括如上第三方面所述的方法。
130.一种存储介质,所述存储介质中存储有程序,所述程序用于实现如上第一方面所述的方法,或者所述程序用于实现如上第二方面所述的方法,或者所述程序用于实现如上第三方面所述的方法。
131.综上所述,本发明提供的技术方案带来的技术效果至少包括:相比滞后重复支付检查方式,可以预先避免转移端将同一交易信息向接收端进行近距离重复转移,并且尽可能地减少了转移端与接收端的交互数据和近距离通信次数。
【附图说明】
132.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
133.图1是本发明所涉及的一种实施环境的结构示意图;
134.图2是一种防止数字资产近距离重复转移的方法实施例一的流程示意图;
135.图3是一种防止数字资产近距离重复转移的方法实施例二的流程示意图;
136.图4是一种防止数字资产近距离重复转移的方法实施例三的流程示意图;
137.图5是本发明所涉及的一种转移端的结构示意图;
138.图6是一种防止数字资产近距离重复转移的方法实施例四的流程示意图。
139.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
140.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
141.一、实施环境说明
142.请参考图1,其示出了本发明所涉及的一种实施环境的结构示意图。该实施环境包括转移端和接收端,其中:
143.转移端:转移端用于向接收端转移数字资产,转移端既可以是软件程序,也可以是由软件和硬件组合实现的设备,例如,既可以是智能手机、智能电视、平板电脑、笔记本电脑等用户终端设备,也可以是智能手表、智能手环等可穿戴式终端设备,还可以是带有蓝牙或nfc等近距离通信功能的设备。
144.接收端:接收端用于接收转移端转移的数字资产,接收端既可以是软件程序,也可以是由软件和硬件组合实现的设备,例如,既可以是智能手机、销售终端(pos机)、扫描枪、读码器等终端设备,也可以是智能电视、平板电脑、笔记本电脑、智能手表、智能手环等终端设备,还可以是带有蓝牙或nfc等近距离通信功能的设备。
145.转移端与接收端之间的信息传递通过近距离通信以实现,包括但不限于通过蓝牙、红外线、nfc、wifi、声波、ble(低功耗蓝牙)或图形码的方式进行近距离通信。例如,转移端与接收端通过蓝牙配对建立蓝牙通道以实现近距离通信;又例如,转移端与接收端通过nfc天线感应以实现近距离通信;还例如,转移端或接收端中的一端对要传递的信息进行编码生成图形码,另一端扫描并解析该图形码以获取要传递的信息,从而通过图形码实现转移端与接收端之间的近距离通信,图形码可以是二维码或条形码,也可以是其它可以通过扫描及解码方式获取其信息的图形。
146.对于一个数字资产的近距离转移过程,有时也可以理解为是一个数字资产的支付或交易过程,转移端和接收端需要相互配合以完成该过程。为了便于说明,本发明各实施例仅以一个转移端和一个接收端为例进行说明,但在实际实施环境中,可以包括多个甚至大量的转移端和接收端,对于一个终端设备,既可以只作为转移端或接收端,也可以既作为转移端又作为接收端。
147.需要说明的是,本领域技术人员可以理解,图1中示出的实施环境结构以及本发明各实施例,可以使得转移端和接收端处于双离线状态时也能够实现近距离通信和数字资产转移,但并非限定转移端和接收端必须处于双离线状态。可以理解,这里所指的双离线状态是指转移端和接收端都不能与数字资产服务端(例如数字资产的登记中心、支付中心等)进行实时通信的应用场景,也就是说,转移端和接收端相对于数字资产服务端都处于离线状态,例如,当转移端和接收端处于网络状况较差或无需网络的环境时,因不能与数字资产服务端进行实时通信,则处于双离线状态。
148.需要说明的是,本领域技术人员可以理解,图1中示出的实施环境结构并不构成对实施环境的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。图1中示出的实施环境结构仅用于加强对本发明技术的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术信息。
149.二、一种防止数字资产近距离重复转移的方法实施例一
150.请参考图2,其示出了本发明提供的一种防止数字资产近距离重复转移的方法实施例一的流程图。本实施例以该方法应用于图1所示实施环境中的转移端来举例说明,该方法可以包括:
151.步骤201.获取转移请求,所述转移请求包括转移数额和接收端识别信息。
152.步骤202.生成具有唯一性的转移识别信息。
153.步骤203.通过近距离通信向接收端传递交易信息,以使得所述接收端对所述交易信息进行验证,并根据所述验证结果确定所述交易信息是否合法,所述交易信息包括转移端识别信息、所述转移识别信息、所述接收端识别信息和所述转移数额,所述转移端识别信息为所述转移端的识别信息。
154.上述实施过程,转移端通过近距离通信向接收端传递交易信息,该交易信息中包括转移端识别信息、转移识别信息、接收端识别信息和转移数额,从而使得接收端能根据对该交易信息的验证确定该交易信息是否合法,可以预先避免转移端将同一交易信息向接收端进行近距离重复转移,并且尽可能地减少了转移端与接收端的交互数据和近距离通信次数。
155.三、一种防止数字资产近距离重复转移的方法实施例二
156.请参考图3,其示出了本发明提供的一种防止数字资产近距离重复转移的方法实施例二的流程图。本实施例以该方法应用于图1所示实施环境中的接收端来举例说明,该方法可以包括:
157.步骤301.接收转移端通过近距离通信传递的交易信息,所述交易信息包括转移端识别信息、转移识别信息、接收端识别信息和转移数额。
158.步骤302.对所述交易信息进行验证,若实施的验证方式都确定验证通过,则确定所述交易信息合法。
159.所述对所述交易信息验证进行验证包括:
160.验证方式一,根据所述接收端预设的终端识别信息验证所述接收端识别信息是否属于所述接收端,若是,则确定验证通过;
161.验证方式二,根据当前存储的转移验证信息验证是否接收过所述交易信息,若否,则确定验证通过,并且存储转移验证信息,所述转移验证信息为根据所述转移端识别信息和所述转移识别信息确定。
162.上述实施过程,接收端在近距离通信接收的交易信息中包括转移端识别信息、转移识别信息、接收端识别信息和转移数额,并根据对该交易信息的验证确定该交易信息是否合法,相比滞后重复支付检查方式,可以预先避免转移端将同一交易信息向接收端进行近距离重复转移,并且尽可能地减少了转移端与接收端的交互数据和近距离通信次数。
163.四、一种防止数字资产近距离重复转移的方法实施例三
164.请参考图4,其示出了本发明提供的一种防止数字资产近距离重复转移的方法实
施例三的流程图。本实施例是结合了上述一种防止数字资产近距离重复转移的方法实施例一和实施例二所形成的实施例。本实施例以该方法应用于图1所示的实施环境来举例说明,该方法可以包括:
165.步骤401.转移端获取转移请求,所述转移请求包括转移数额和接收端识别信息。
166.转移端获取转移请求,所述转移请求包括转移数额和接收端识别信息。接收端识别信息是指用于识别接收端的识别信息,例如终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址或其他可用于唯一识别接收端的信息。
167.所述转移请求可以是接收端通过近距离通信向转移端传递的请求,例如,接收端通过nfc向转移端传递所述转移请求,转移端接收及获取所述转移请求;又例如,接收端编码生成包括所述转移请求的图形码,转移端通过扫描及解析该图形码而获取到所述转移请求。
168.所述转移请求也可以是用户输入给转移端的请求,例如,转移端的用户在转移端的操作界面上输入转移数额和接收端识别信息,从而使得转移端通过该输入而获取到所述转移请求。
169.所述转移请求也可以是经接收端近距离通信传递和用户输入组合而成的请求,例如,接收端生成包括接收端识别信息的图形码,转移端通过扫描及解析该图形码获取到接收端识别信息,并且在转移端触发显示操作界面,转移端的用户在转移端的操作界面上输入转移数额,从而使得转移端获取到包括该转移数额和该接收端识别信息的转移请求。
170.可以理解,当转移端通过扫描及解析图形码而获取所述转移请求时,既可以是在接收端的界面上生成该图形码以供转移端扫描,也可以是打印并张贴该图形码以供转移端扫描,还可以使用电子显示设备同步显示该图形码以供转移端扫描。
171.本发明实施例中的数字资产,是余额形式的数字资产,为了避免发生转移的数字资产超过限额的情形,进一步可选的,在转移端预先保存当前可用的资产余额,当所述转移数额不大于转移端当前可用的资产余额时,则转移端从转移端当前可用的资产余额中减去所述转移数额,并执行步骤402及其后续步骤,否则,则不执行步骤402及其后续步骤。例如转移端当前可用的资产余额为100,表示当前有100个单位可用的数字资产,假设所述转移数额为20,则转移端从转移端当前可用的资产余额中减去20,即转移端当前可用的数字资产的余额变更为80,并执行步骤402及其后续步骤。
172.步骤402.转移端生成具有唯一性的转移识别信息。
173.转移端生成转移识别信息的主要作用在于使得接收端唯一地识别本次转移。转移端生成的转移识别信息,既可以随机生成,也可以按照一定的规则生成。
174.转移端生成的转移识别信息,具有唯一性,即至少在该转移端生成的转移识别信息中具有唯一性。例如,所述转移识别信息可以是递增性质的转移识别信息,比如,转移端可以按顺序递增生成转移识别信息,因此,可以确保生成的转移识别信息会大于以前生成的转移识别信息,则所述转移识别信息在转移端本地具有唯一性;又比如,转移端根据转移端的当前系统时间生成转移识别信息,时间精确到秒级,并且确保本次生成的转移识别信息与上一次生成的转移识别信息至少相隔1秒以上才能生成,如此,则可以确保生成的转移识别信息会大于以前生成的转移识别信息,则所述转移识别信息在转移端本地具有唯一性。又例如,所述转移识别信息可以是随机性质的转移识别信息,比如,转移端保存有以前
的转移识别信息,并且生成随机信息,将该随机信息与以前保存的转移识别信息进行比较,若比较结果为存在相同的信息,则重新生成随机信息并再次进行该比较,直至比较没有相同的信息,则确定该随机信息为本次生成的转移识别信息,并且将该随机信息进行保存,即保存的转移识别信息中还包括该随机信息,以使得下次生成转移识别信息时不会生成与该随机信息相同的信息,如此,则可以确保生成的转移识别信息在转移端本地具有唯一性。
175.可以理解,本发明实施例中所述的递增性质的转移识别信息,是指在后生成的转移识别信息比在前生成的转移识别信息大,实际实施过程中,既可以是按照一定的次序或规律增加,也可以不是按照一定的次序或规律增加。
176.可以理解,上述根据转移端的当前系统时间生成转移识别信息,既可以是将转移端的当前系统时间作为所述转移识别信息,也可以根据转移端的当前系统时间转换成数值作为所述转移识别信息。
177.步骤403.转移端通过近距离通信向接收端传递交易信息,所述交易信息包括转移端识别信息、所述转移识别信息、所述接收端识别信息和所述转移数额。
178.转移端通过近距离通信向接收端传递交易信息,所述交易信息包括转移端识别信息、所述转移识别信息、所述接收端识别信息和所述转移数额。
179.转移端的识别信息(即转移端识别信息)是指用于识别转移端的识别信息,例如终端设备标识、芯片卡标识、手机号码、账号、数字证书、公钥、基于公钥生成的地址或其他可用于唯一识别转移端的信息。转移端在所述交易信息中包括该转移端的识别信息(即所述转移端识别信息),由于所述转移端识别信息在所有转移端中具有唯一性,而所述转移识别信息在该转移端生成的转移识别信息中具有唯一性,因此,可以使得接收端可以根据所述转移端识别信息和所述转移识别信息唯一地确定所述交易信息。
180.可选的,所述交易信息还可以包括交易时间,所述交易时间是指本次转移时的时间。具体的,转移端可以根据转移端的当前系统时间生成所述交易时间,例如将转移端的当前系统时间作为所述交易时间;也可以在上述步骤401时,如果所述转移请求是接收端传递的,则接收端可以根据接收端的当前系统时间生成所述交易时间,并在所述转移请求中还包括所述交易时间,从而使得转移端接收并获取到所述交易时间。
181.可选的,所述交易信息还可以包括到期时间,所述到期时间是指本次转移到期的时间。具体的,所述到期时间可以根据当前系统时间和预设时长而生成,既可以是转移端根据转移端的当前系统时间和预设时长而生成,例如将转移端的当前系统时间加上预设时长生成所述到期时间;也可以是接收端根据接收端的当前系统时间和预设时长而生成,例如接收端将接收端的当前系统时间加上设时长生成所述到期时间,并在所述转移请求中还包括所述到期时间,从而使得转移端接收并获取到所述到期时间。
182.可以理解,若所述交易时间或/和所述到期时间是在转移端生成的,则也可以通过实施确保其在转移端本地具有唯一性的方式(例如精确到秒级,并且至少相隔1秒以上才能生成),从而将其作为步骤402中生成的所述转移识别信息。
183.如实施环境说明中所述,转移端可以通过蓝牙、红外线、nfc、wifi、声波、ble(低功耗蓝牙)或图形码等近距离通信方式向接收端传递所述交易信息。
184.需要说明的是,即使步骤401中转移端获取的所述转移请求是接收端通过近距离通信传递的,本步骤所使用的近距离通信方式也不一定需与步骤401中的近距离通信方式
相同。例如,在步骤401中转移端通过扫描及解析图形码的方式获取所述转移请求,而在本步骤中,转移端既可以通过图形码的方式向接收端传递所述交易信息,也可以通过nfc等其他的近距离通信方式向接收端传递所述交易信息。
185.进一步的,为了防止交易信息被篡改,则转移端还可以对关键信息进行数字签名以生成签名值,在转移端向接收端传递所述交易信息时还包括传递所述签名值。
186.具体的,转移端对待签名信息进行数字签名以生成签名值,所述待签名信息包括所述接收端识别信息、所述转移识别信息和所述转移数额。
187.可以理解,所述待签名信息是指至少包括所述接收端识别信息、所述转移识别信息和所述转移数额的信息,因此,还可以包括或不包括所述转移端识别信息、所述交易时间、所述到期时间或/和其他的信息,优选的实施方式为包括所述转移端识别信息、所述交易时间或/和所述到期时间。
188.相应地,接收端接收转移端传递的所述交易信息,进一步的,还包括接收转移端传递的所述签名值。
189.步骤404.接收端对所述交易信息进行验证,并且根据所述验证结果确定所述交易信息是否合法。
190.接收端在接收到转移端传递的所述交易信息之后,接收端对所述交易信息进行验证,具体包括:
191.验证方式一,根据所述接收端预设的终端识别信息验证所述接收端识别信息是否属于所述接收端,若是,则确定验证通过。
192.具体的,接收端将预设的终端识别信息与所述接收端识别信息进行比较,若二者一致,则表明所述交易信息是属于转移给该接收端的交易信息,而不是用于转移给其他接收端的交易信息,确定验证通过;否则,则表明所述交易信息不是转移给该接收端的交易信息,确定验证不通过。
193.可以理解,实际实施过程中,接收端预设的终端识别信息可以不限于一个,也可以包括多个终端识别信息,如此,则接收端可以将该多个终端识别信息与所述接收端识别信息进行比较,如果有任意一个终端识别信息与所述接收端识别信息相一致,则确定验证通过;进一步的,还可以对终端识别信息确定相应的类型,则接收端还可以从该多个终端识别信息中确定与所述接收端识别信息的类型相一致的终端识别信息,再将两者进行比较等。
194.验证方式二,根据当前存储的转移验证信息验证是否接收过所述交易信息,若否,则确定验证通过,并且存储转移验证信息,所述转移验证信息为根据所述转移端识别信息和所述转移识别信息确定。
195.接收端根据当前存储的转移验证信息验证是否接收过所述交易信息,具体的,是根据当前存储的转移验证信息对所述转移端识别信息和所述转移识别信息进行验证,以此判断是否接收过所述交易信息,如果判断没有接收过所述交易信息,即表明所述交易信息是一次新的转移,确定验证通过,并且存储转移验证信息,从而使得当前存储的转移验证信息中还包括所述转移验证信息,所述转移验证信息为根据所述转移端识别信息和所述转移识别信息确定;否则,如果判断接收过所述交易信息,即表明所述交易信息是一次重复的转移,确定验证不通过。
196.可以理解,当前存储的转移验证信息是指当前已经存储的转移验证信息,在上述
存储所述转移验证信息之后,则当前存储的转移验证信息中还包括所述转移验证信息,当再次接收到包括所述转移端识别信息和所述转移识别信息的交易信息时,则根据当前存储的转移验证信息对所述转移端识别信息和所述转移识别信息进行验证时,可以判断已经接收过该交易信息,从而确定验证不通过。
197.具体的,本验证方式二可以包括多种实施方式,至少可以包括:
198.第一种实施方式,所述转移验证信息为根据所述转移端识别信息和所述转移识别信息组合生成,所述根据当前存储的转移验证信息验证是否接收过所述交易信息包括:判断所述当前存储的转移验证信息中是否存在所述转移验证信息,若不存在,则确定验证通过。
199.所述转移验证信息是指根据所述转移端识别信息和所述转移识别信息组合生成的信息,如此,根据当前存储的转移验证信息验证是否接收过所述交易信息包括:判断当前存储的转移验证信息中是否存在所述转移验证信息,若不存在,则可以说明以前没有接收过所述交易信息,即可以即表明所述交易信息是一次新的转移,确定验证通过,并且存储所述转移验证信息,否则,则确定验证不通过。
200.接收端根据所述转移端识别信息和所述转移识别信息组合生成所述转移验证信息的实施方式,既要确保所述转移端识别信息和所述转移识别信息与确定后的所述转移验证信息之间具有唯一的对应关系,而且也要确保对于相同的转移端识别信息和转移识别信息每次确定的都是相同的转移验证信息。如此,才可以使得在存储所述转移验证信息之后,当再次接收到包括所述转移端识别信息和所述转移识别信息的交易信息时,可以判断当前存储的转移验证信息中存在所述转移验证信息。
201.根据所述转移端识别信息和所述转移识别信息组合生成所述转移验证信息,可以包括多种方式:
202.例如,接收端将包括所述转移端识别信息和所述转移识别信息的信息进行组合作为所述转移验证信息。比如,接收端将所述转移端识别信息和所述转移识别信息组合作为所述转移验证信息;又比如,接收端将所述转移端识别信息、所述转移识别信息和其他字符串组合生成所述转移验证信息,进一步的,因为所述交易信息中包括所述转移端识别信息和所述转移识别信息,则还可以将所述交易信息作为所述转移验证信息。
203.又例如,由于使用哈希算法生成的哈希值具有唯一性的特点,接收端将包括所述转移端识别信息和所述转移识别信息的信息进行组合并且进行哈希计算生成的哈希值作为所述转移验证信息。比如,接收端将所述转移端识别信息和所述转移识别信息进行组合,并且对该组合生成的信息进行哈希计算,将生成的哈希值作为所述转移验证信息;又比如,接收端将所述转移端识别信息、所述转移识别信息和其他字符串进行组合,并且对该组合生成的信息进行哈希计算,将生成的哈希值作为所述转移验证信息,进一步的,因为所述交易信息中包括所述转移端识别信息和所述转移识别信息,则还可以将所述交易信息进行哈希计算,将该哈希计算生成的哈希值作为所述转移验证信息,再进一步的,如果接收到上述步骤404中转移端生成的签名值,且所述待签名信息还包括所述转移端识别信息,则还可以以所述签名值或所述签名值中的信息摘要作为所述转移验证信息。
204.可以理解,为了确保对于相同的转移端识别信息和转移识别信息每次生成的都是相同的转移验证信息,则接收端应使用相同的方式根据转移端识别信息和转移识别信息的
信息组合生成所述转移验证信息,例如,如果接收端是将转移端识别信息、转移识别信息和其他字符串组合生成转移验证信息,则当接收端再次根据转移端识别信息和转移识别信息组合生成转移验证信息时,则接收端需将该再次接收的转移端识别信息、转移识别信息以及与该其他字符串相同的字符串使用相同的方式组合生成转移验证信息,以此使得根据相同的转移端识别信息和转移识别信息可以生成相同的转移验证信息;又例如,如果在生成所述转移验证信息时使用了哈希算法,则当再次生成转移验证信息时,需使用相同的哈希算法进行哈希计算,以此使得基于相同的信息可以生成相同的哈希值,从而确保生成相同的转移验证信息。
205.第二种实施方式,所述转移验证信息为所述转移端识别信息与所述转移识别信息的对应关系,所述根据当前存储的转移验证信息验证是否接收过所述交易信息包括:判断所述当前存储的转移验证信息中是否存在所述转移端识别信息与所述转移识别信息的对应关系,若不存在,则确定验证通过。
206.当前存储的转移验证信息是指已经存储的转移端识别信息与转移识别信息的对应关系,所述转移验证信息是指所述转移端识别信息与所述转移识别信息的对应关系,因此,可以理解,上述根据当前存储的转移验证信息验证是否接收过所述交易信息包括:判断当前存储的转移验证信息中是否存在所述转移端识别信息与所述转移识别信息的对应关系,如果不存在,则可以说明以前没有接收过所述交易信息,即可以表明所述交易信息是一次新的转移,确定验证通过,并且存储所述转移验证信息(即存储所述转移端识别信息与所述转移识别信息的对应关系),否则,则确定验证不通过。
207.可以理解,存储所述转移验证信息,是指新增建立和存储所述转移端识别信息与所述转移识别信息的对应关系,不替换或覆盖已经存储的其他的转移端识别信息与转移识别信息的对应关系。在存储所述转移验证信息之后,相当于当前存储的转移验证信息中还包括所述转移端识别信息与所述转移识别信息的对应关系,因此,当再次接收到包括所述转移端识别信息和所述转移识别信息的交易信息时,可以判断当前存储的转移验证信息中存在所述转移端识别信息与所述转移识别信息的对应关系。
208.例如,接收端根据所述转移端识别信息从当前存储的转移验证信息中获取对应的转移识别信息,如果没有获取到对应的转移识别信息,或者如果获取到对应的转移识别信息,但如果该对应的转移识别信息中不存在所述转移识别信息,则表明当前存储的转移验证信息中不存在所述转移端识别信息与所述转移识别信息的对应关系,说明所述交易信息是一次新的转移,确定验证通过,并且新增建立和存储所述转移端识别信息与所述转移识别信息的对应关系,如果该对应的转移识别信息中存在所述转移识别信息,则确定验证不通过。
209.又例如,接收端根据所述转移识别信息从当前存储的转移验证信息中获取对应的转移端识别信息,如果没有获取到对应的转移端识别信息,或者如果获取到对应的转移端识别信息,但如果该对应的转移端识别信息中不存在所述转移端识别信息,则表明当前存储的转移验证信息中不存在所述转移端识别信息与所述转移识别信息的对应关系,说明所述交易信息是一次新的转移,确定验证通过,并且新增建立和存储所述转移端识别信息与所述转移识别信息的对应关系,如果该对应的转移端识别信息中存在所述转移端识别信息,则确定验证不通过。
210.可以理解,在判断对应的转移识别信息中是否存在所述转移识别信息时,若该对应的转移识别信息只有一个转移识别信息,则只需将该一个转移识别信息与所述转移识别信息进行比较,若两者不一致,则说明该对应的转移识别信息中不存在所述转移识别信息,否则,如果两者相一致,则说明该对应的转移识别信息中存在所述转移识别信息;若对应的转移识别信息包括多个转移识别信息,则可以将该多个转移识别信息与所述转移识别信息分别进行比较,如果没有任何一个转移识别信息与所述转移识别信息相一致,则说明该对应的转移识别信息中不存所述转移识别信息,否则,如果有任意一个转移识别信息与所述转移识别信息相一致,则说明该对应的转移识别信息中存在所述转移识别信息。上述判断对应的转移端识别信息中是否存在所述转移端识别信息的判断方式与此相似,不再赘述。
211.在实际实施上述第二种实施方式时,还可以将所述转移端识别信息或/和所述转移识别信息分别以具有一一对应关系的信息进行替代,例如由于使用哈希算法生成的哈希值具有唯一性的特点,因此可以将所述转移端识别信息或/和所述转移识别信息分别生成相应的哈希值进行替代,在此不再赘述。
212.可以理解,实际实施过程中,上述存储所述转移验证信息也可以通过存储所述交易信息的方式来实施,因为所述交易信息中包括所述转移端识别信息和所述转移识别信息,则存储了所述交易信息,也就存储了所述转移端识别信息和所述转移识别信息的对应关系。
213.第三种实施方式,所述转移识别信息为递增性质的转移识别信息,所述转移验证信息为所述转移端识别信息与所述转移识别信息的对应关系,所述根据当前存储的转移验证信息验证是否接收过所述交易信息包括:根据所述转移端识别信息获取对应的转移识别信息,若没有获取到对应的转移识别信息,或者若所述转移识别信息大于所述对应的转移识别信息,则确定验证通过。
214.递增性质的转移识别信息是指新生成的转移识别信息会大于上一次生成的转移识别信息,在上述步骤402中进行了相应的说明和示例,在此不再赘述。可以理解,如果上述步骤402中生成转移识别信息是将转移端的当前系统时间作为所述转移识别信息,则新生成的转移识别信息大于上一次生成的转移识别信息也可以理解为是进行时间比较,在后时间大于在前时间。
215.当前存储的转移验证信息是指已经存储的转移端识别信息与转移识别信息的对应关系,所述转移验证信息是指所述转移端识别信息与所述转移识别信息的对应关系。
216.接收端根据所述转移端识别信息从当前存储的转移验证信息中获取对应的转移识别信息,如果没有获取到对应的转移识别信息,或者如果获取到对应的转移识别信息,但如果所述转移识别信息大于所述对应的转移识别信息,则表明所述交易信息是一次新的转移,确定验证通过,并且建立所述转移端识别信息与所述转移识别信息的对应关系;否则,如果获取到对应的转移识别信息,但如果所述转移识别信息不大于所述对应的转移识别信息,则表明所述交易信息是一次重复的转移,确定验证不通过。
217.可以理解,本第三种实施方式是根据转移端识别信息与转移识别信息的对应关系来验证交易信息是否属于一次新的转移,如果根据所述转移端识别信息没有获取到对应的转移识别信息,则可以说明以前没有接收过所述交易信息,即可以表明所述交易信息是一次新的转移,确定验证通过;又由于转移识别信息为递增性质的转移识别信息,同一转移端
新传递的交易信息中的转移识别信息应大于该转移端之前传递的交易信息中的转移识别信息,因此,若大于,则确定验证通过,若不大于,则确定验证不通过。
218.可以理解,本第三种实施方式在实际实施过程中,存储所述转移验证信息,是指建立和存储所述转移端识别信息与所述转移识别信息的对应关系,可以每个转移端识别信息只允许建立一个对应的转移识别信息,也可以每个转移端识别信息允许建立一个或多个对应的转移识别信息。因此,当实施每个转移端识别信息只允许建立一个对应的转移识别信息,即所述转移端识别信息所对应的转移识别信息只允许建立一个对应的转移识别信息时,所述建立和存储所述转移端识别信息与所述转移识别信息的对应关系为将所述转移端识别信息所对应的转移识别信息替换为所述转移识别信息;当实施每个转移端识别信息允许建立一个或多个对应的转移识别信息,即所述转移端识别信息所对应的转移识别信息允许建立一个或多个对应的转移识别信息时,所述建立和存储所述转移端识别信息与所述转移识别信息的对应关系为新增建立和存储所述转移端识别信息与所述转移识别信息,不替换或覆盖已经存储的其他的转移端识别信息与转移识别信息的对应关系,其中,当所述转移端识别信息所对应的转移识别信息包括多个对应的转移识别信息时,可以理解,所述转移识别信息大于所述对应的转移识别信息,是指所述转移识别信息大于所述多个对应的转移识别信息中最大的转移识别信息。
219.进一步的,如上所述,当实施每个转移端识别信息允许建立一个或多个对应的转移识别信息,其中,当所述转移端识别信息所对应的转移识别信息包括多个对应的转移识别信息时,则还可以进一步实施,当所述转移识别信息不大于所述多个对应的转移识别信息中最大的转移识别信息(以下称为所述最大的转移识别信息),并且所述多个对应的转移识别信息中不包括所述转移识别信息,则确定验证通过,并且新增建立和存储所述转移端识别信息与所述转移识别信息的对应关系。如此实施的主要作用在于,当所述转移识别信息不大于所述最大的转移识别信息,并且所述多个对应的转移识别信息中不包括所述转移识别信息,则表明所述交易信息是一次新的转移,确定验证通过,否则,如果所述多个对应的转移识别信息中包括所述转移识别信息,则表明所述交易信息是一次重复的转移,确定验证不通过。可以理解,如果所述转移识别信息等于所述最大的转移识别信息,既表明所述转移识别信息不大于所述最大的转移识别信息,也表明所述多个对应的转移识别信息中包括所述转移识别信息,因此,确定验证不通过。
220.进一步的,当所述转移识别信息不大于所述最大的转移识别信息,即在上述将所述转移识别信息与所述最大的转移识别信息进行比较时,还包括比较所述转移识别信息与所述最大的转移识别信息的差值,当所述转移识别信息与所述最大的转移识别信息的差值小于预设值,并且所述多个对应的转移识别信息中不包括所述转移识别信息时,才确定验证通过;同时,对于所述多个对应的转移识别信息中不大于所述最大的转移识别信息的转移识别信息,当其中某个对应的转移识别信息与所述最大的转移识别信息的差值不小于所述预设值,则废弃该某个对应的转移识别信息。可以理解,废弃该某个对应的转移识别信息,是指删除所述转移端识别信息与该某个转移识别信息的对应关系,或者是将所述转移端识别信息与该某个转移识别信息的对应关系设置为不可再使用的状态等。如此实施的主要作用在于,对于已经建立和存储的与所述最大的转移识别信息的差值不小于所述预设值的转移识别信息,即使废弃了该转移识别信息,当再次接收到包括该转移识别信息的交易
信息时,因为该转移识别信息与所述最大的转移识别信息的差值不小于所述预设值,因此会确定验证不通过,如此,如果接收端进行了多次数字资产转移,即如果接收端接收了大量的交易信息,则通过此实施方式接收端可以及时地废弃相应的转移识别信息,避免当前建立和存储的转移端识别信息与转移识别信息不断地增多,并且不影响确定所述交易信息是否合法的结果。
221.可以理解,如果上述步骤402中生成转移识别信息是将转移端的当前系统时间作为所述转移识别信息,则上述所述转移识别信息与所述最大的转移识别信息比较得出的差值可以为时间间隔,所述预设值可以是预设的时长。
222.当实施上述验证方式一和验证方式二,只有该两种验证方式都验证通过,才确定所述交易信息合法,否则,若任一验证方式为验证不通过,则确定所述交易信息不合法。
223.可选的,如步骤403中所述,若所述交易信息还包括交易时间或/和到期时间,则接收端还可以根据所述交易时间或/和所述到期时间验证所述交易信息,具体可以包括:
224.验证方式三,所述交易信息还包括交易时间或/和到期时间,接收端根据所述交易时间或/和所述到期时间以及预设时长确定时间段,判断接收端的当前系统时间是否在所述时间段内,若是,则确定验证通过。
225.若在上述步骤403转移端向接收端传递的交易信息还包括交易时间或/和到期时间,则接收端获取所述交易时间或/和所述到期时间,并且根据所述交易时间或/和所述到期时间以及预设时长确定时间段;接收端获取接收端的当前系统时间,然后判断该当前系统时间是否在所述时间段内,若是,则确定验证通过,否则,则确定验证不通过。例如,若所述时间段是在时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间段,则如果接收端的当前系统时间是在时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间,则确定验证通过,否则,则确定验证不通过。可以理解,时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间段仅为示例,实际实施过程中确定的时间段的时间间隔可以大于或小于该时间段。
226.进一步的,若实施上述验证方式三,则在验证方式二确定验证通过,并且在存储所述转移验证信息之后,接收端还可以当接收端的当前系统时间达到所述时间段之后的时间,从当前存储的转移验证信息中废弃所述转移验证信息。可以理解,废弃所述转移验证信息,是指在当前存储的转移验证信息中将所述转移验证信息不可再用于进行验证比较,例如删除所述转移验证信息,或者是将所述转移验证信息设置为不可再使用的状态等,可以理解,若所述转移验证信息为所述转移端识别信息与所述转移识别信息的对应关系,则删除所述转移验证信息是指删除该对应关系,将所述转移验证信息设置为不可再使用的状态是指将该对应关系设置为不可再使用的状态。如此实施的主要作用在于,如果接收端再重复接收到所述交易信息,如果此时的当前系统时间是在所述时间段内,则此时还没有废弃所述转移验证信息,因此通过上述验证方式二会判断当前存储的转移验证信息中包括所述转移验证信息,会确定验证不通过;如果此时的当前系统时间是在所述时间段之后,并且此时已经废弃了所述转移验证信息,因为通过本验证方式三会确定验证不通过,即使上述验证方式二会确定验证通过,但由于本实施例中任一验证方式确定验证不通过,则确定所述交易信息不合法,因此,依然会确定所述交易信息不合法;如此,如果接收端进行了多次数字资产转移,即如果接收端接收了大量的交易信息,则通过此实施方式接收端可以及时地
废弃相应的转移验证信息,避免当前存储的转移验证信息不断地增多,并且不影响确定所述交易信息是否合法的结果。
227.可以理解,一个时间段包括起始时间和终止时间,所述时间段之后的时间也可以理解为是所述时间段的终止时间之后的时间。以上述示例为例,时间“2020

08

10 08:00:00”为所述时间段的起始时间,时间“2020

08

11 08:00:00”为所述时间段的终止时间,所述时间段之后的时间为时间“2020

08

11 08:00:00”之后的时间。
228.接收端根据所述交易时间或/和所述到期时间以及预设时长确定时间段,可以包括多种实施方式,例如:
229.实施方式一,若所述交易信息还包括交易时间,则确定所述时间段为所述交易时间之后所述预设时长内的时间段。
230.所述时间段为所述交易时间之后所述预设时长内的时间段,也可以理解为所述时间段为在所述交易时间之后、以及在所述交易时间加上所述预设时长的时间之前的时间段。例如,以所述交易时间为“2020

08

10 08:00:00”、所述预设时长为24小时为例,则所述交易时间加上所述预设时长的时间为“2020

08

11 08:00:00”,所述时间段为时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间段。
231.实施方式二,若所述交易信息还包括交易时间,所述预设时长分为第一预设时长和第二预设时长,确定所述时间段为所述交易时间减去所述第一预设时长、以及所述交易时间加上所述第二预设时长之间的时间段。
232.确定所述时间段为所述交易时间减去所述第一预设时长、以及所述交易时间加上所述第二预设时长之间的时间段。具体的,以所述交易时间减去所述第一预设时长的时间作为起始时间,以所述交易时间加上所述第二预设时长的时间作为终止时间,则所述时间段为该起始时间与该终止时间之间的时间段,例如,以所述交易时间为“2020

08

10 20:00:00”、所述第一预设时长为12小时、所述第二预设时长为12小时为例,则所述交易时间减去所述第一预设时长的时间为“2020

08

10 08:00:00”,所述交易时间加上所述第二预设时长的时间为“2020

08

11 08:00:00”,所述时间段为时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间段。
233.实施方式三,若所述交易信息还包括交易时间,所述预设时长分为第三预设时长和第四预设时长,确定所述时间段为所述交易时间加上所述第三预设时长、以及所述交易时间加上所述第三预设时长和加上所述第四预设时长之间的时间段。
234.确定所述时间段为所述交易时间加上所述第三预设时长、以及所述交易时间加上所述第三预设时长和加上所述第四预设时长之间的时间段。具体的,以所述交易时间加上所述第三预设时长作为起始时间,以所述交易时间加上所述第三预设时长和加上所述第四预设时长作为终止时间,则所述时间段为该起始时间与该终止时间之间的时间段,例如,以所述交易时间为“2020

08

10 07:00:00”、所述第三预设时长为1小时、所述第四预设时长为23小时为例,则所述交易时间加上所述第三预设时长的时间为“2020

08

10 08:00:00”,所述交易时间加上所述第三预设时长和加上所述第四预设时长的时间为“2020

08

11 08:00:00”,所述时间段为时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间段。
235.实施方式四,若所述交易信息还包括到期时间,则所述时间段为所述到期时间之
前所述预设时长内的时间段。
236.所述到期时间之前所述预设时长内的时间段,也可以理解为所述时间段为所述到期时间之前、以及在所述到期时间减去所述预设时长的时间之后的时间段。例如,以所述到期时间为“2020

08

11 08:00:00”、所述预设时长为24小时为例,则所述到期时间减去所述预设时长的时间为“2020

08

10 08:00:00”,所述时间段是在时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间段。
237.实施方式五,若所述交易信息还包括交易时间和到期时间,并且若所述交易时间与所述到期时间之间的时长小于所述预设时长,则所述时间段为所述交易时间与所述到期时间之间的时间段。
238.接收端判断所述交易时间与所述到期时间之间的时长是否小于所述预设时长,若是,则确定所述时间段为在所述交易时间与所述到期时间之间的时间段,否则,则说明所述交易时间和所述到期时间不合法,不执行后续的步骤。如此实施的主要作用在于,为了避免所述交易时间与所述到期时间之间的时长过长,从而将所述交易时间与所述到期时间之间的时长限制在小于所述预设时长。
239.所述时间段为在所述交易时间与所述到期时间之间的时间段,也可以理解为所述时间段是在所述交易时间之后、以及所述到期时间之前的时间段。例如,以所述交易时间为“2020

08

10 08:00:00”、所述到期时间为“2020

08

11 08:00:00”为例,则所述时间段是在时间“2020

08

10 08:00:00”与时间“2020

08

11 08:00:00”之间的时间段。
240.可以理解,本发明各实施例中所述的当前系统时间,是指在执行相应步骤时所在设备所处的系统时间,也可以理解为实际获取的当前系统时间是在执行获取当前系统时间时所在设备所处的系统时间,由于各步骤在实际执行时的先后顺序和所处的时间点有可能存在不同,以及各设备的系统时钟可能存在的误差或错误,则在不同设备及不同步骤在实际执行时获取的当前系统时间也可能会存在不同。
241.进一步的,接收端还可以通过签名值对所述交易信息进行验证,具体包括:
242.验证方式四,如果在上述步骤403接收端接收转移端传递的所述交易信息时还包括接收转移端传递的对待签名信息的签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额,则接收端对所述签名值进行数字签名验证。
243.如上述步骤404中所述,转移端还可以对待签名信息进行数字签名以生成签名值。数字签名是指附加在数据单元上的数据,或是对数据单元所作的密码变换,这种数据或变换允许数据单元的验证方(如接收端)用以确认数据单元的来源和完整性,并保护数据防止被伪造或抵赖。
244.在数字签名的一种实现方式中,转移端使用哈希算法对待签名信息进行哈希计算得到哈希值(即信息摘要),转移端基于非对称加密算法、使用转移端的私钥对该哈希值加密得到加密结果(即签名值);当接收端接收到所述签名值,接收端对所述签名值进行数字签名验证包括:
245.接收端生成待校验信息,并且生成方式与转移端生成待签名信息的生成方式相同,从而使得该生成的待校验信息与转移端生成的待签名信息相同。可以理解,该生成的待校验信息至少包括所述接收端识别信息、所述转移识别信息和所述转移数额,如果转移端生成的待签名信息中还包括所述转移端识别信息、所述交易时间、所述到期时间或/和其他
的信息,则该生成的待校验信息中也包括所述转移端识别信息、所述交易时间、所述到期时间或/和相同的其他信息,从而使得该生成的待校验信息与转移端生成的待签名信息相同;
246.接收端获取所述转移端的公钥,接收端使用该公钥解密所述签名值得到解密结果(即信息摘要),并且接收端使用相同的哈希算法对所述待校验信息进行哈希计算得到哈希值(即校验值),比较该解密结果(即信息摘要)与该校验值是否相同,若相同,则确定数字签名验证通过,否则,则确定验证不通过。
247.接收端可以有多种方式获取转移端的公钥,例如,当转移端基于ibc(identity

based cryptograph)产生的私钥对所述待签名信息进行数字签名,并且以转移端识别信息作为转移端的公钥时,则接收端以所述转移端识别信息作为转移端的公钥;又例如,当转移端基于pki(public key infrastructure)体系产生的私钥对所述待签名信息进行数字签名时,转移端可以在向接收端传递所述交易信息时还包括传递转移端的数字证书,如此接收端从该数字证书中获取转移端的公钥,可以理解,实际应用过程中,还应当使用预置的根证书验证该转移端的数字证书是否合法。
248.可以理解,接收端还可以使用转移端的数字证书中的序列号(serialnumber)、主题(subject)、主题唯一标识(subjectuniqueid)或公钥等具有唯一性的标签值用于识别转移端,即将该唯一性的标签值作为转移端识别信息,如此,即所述转移端识别信息为该数字证书中具有唯一性的标签值。
249.可以理解,当同时实施上述多种验证方式时,只有每种验证方式都确定验证通过,才确定所述交易信息合法,否则,若任一验证方式为验证不通过,则确定所述交易信息不合法。
250.可以理解,在实际实施过程中,不仅可以以上述验证方式验证所述交易信息是否合法,还可以以其他的方式进一步的判断或验证所述交易信息是否合法,例如检查所述交易信息的数据格式是否有效、判断所述转移数额是否达到预设数额等。
251.若确定所述交易信息合法,则可以认可该次数字资产的转移。实际实施过程中,接收端还可以向接收端当前可用的资产余额增加所述转移数额,即,将所述转移数额变更为接收端当前可以用于转移、支付等使用的数字资产,例如,假设接收端当前可用的资产余额为100,所述转移数额为20,则接收端在当前可用的数字资产的余额上加上所述转移数额,从而将接收端当前可用的数字资产的余额变更为120。
252.步骤405.可选的,转移端存储所述交易信息,当接收到对所述交易信息的重新转移请求时,从存储的交易信息中重新获取所述交易信息,并通过近距离通信向接收端传递该重新获取的所述交易信息。
253.对于上述数字资产近距离转移的实施过程,在实际实施过程中,由于多种原因,有可能出现数字资产近距离转移中断等方面的情形,由此导致转移端已经传递了交易信息、但接收端没有接收及获取该交易信息。例如,在转移端向接收端进行数字资产近距离转移时,接收端出现故障(例如死机)导致没有接收及获取交易信息;又例如,在转移端向接收端进行数字资产近距离转移时,转移端生成了图形码,但接收端没有扫描该图形码以获取交易信息。为解决该问题,本发明实施例还可以实施:转移端存储所述交易信息,当转移端接收到对所述交易信息的重新转移请求时,转移端从存储的交易信息中重新获取所述交易信息,并通过近距离通信向接收端传递该重新获取的所述交易信息。
254.具体的,转移端存储所述交易信息,在实际实施过程中,转移端可以将包括所述转移端识别信息、所述转移识别信息、所述接收端识别信息和所述转移数额的交易信息作为一组进行存储,从而使得在重新获取所述交易信息时获取该一组信息即获取所述交易信息;转移端也可以将包括所述转移识别信息、所述接收端识别信息和所述转移数额的信息作为一组信息进行存储,从而使得在重新获取所述交易信息时获取该一组信息,并且将该信息与该转移端的识别信息组合生成所述交易信息;转移端也可以建立并存储所述转移识别信息、所述接收端识别信息和所述转移数额的关联关系,从而使得在重新获取所述交易信息时根据该关联关系可以同时获取到包括所述转移识别信息、所述接收端识别信息和所述转移数额的交易信息,并且将该信息与转移端的识别信息组合生成所述交易信息。可以理解,当所述交易信息还包括交易时间或/和到期时间时,则还包括存储所述交易时间或/和所述到期时间,详细实施方式不再赘述。
255.当存在数字资产近距离转移中断的情形时,则可以向转移端发送重新转移请求,当转移端接收到对所述交易信息的重新转移请求时,转移端从存储的交易信息中重新获取所述交易信息,并通过近距离通信向接收端传递该重新获取的所述交易信息。由于接收端会对所述交易信息进行验证,因此,对于再次传递的所述交易信息,如果接收端已经接收过所述交易信息,则再次对所述交易信息进行验证时,验证方式二会确定验证不通过,从而确定所述交易信息不合法,从而可以避免数字资产的重复转移。
256.可以有多种方式触发转移端接收对所述交易信息的重新转移请求。例如,转移端的用户在转移端的操作界面上触发所述重新转移请求,转移端接收所述重新转移请求;又例如,接收端向转移端发送所述重新转移请求,转移端接收所述重新转移请求。
257.转移端从存储的交易信息中重新获取所述交易信息,可以包括多种实施方式,至少可以包括:
258.实施方式一,转移端仅存储一项交易信息,转移端获取该一项交易信息作为所述交易信息。
259.转移端仅存储一项交易信息,则转移端获取该一项交易信息作为所述交易信息。
260.可以理解,由于转移端仅存储一项交易信息,因此当转移端存储所述交易信息时,会删除或覆盖之前存储的交易信息;而当存储所述交易信息之后,当再次存储其他交易信息时,又会删除或覆盖所述交易信息。
261.实施方式二,转移端按顺序存储有多项交易信息,转移端获取最近存储的一项交易信息作为所述交易信息。
262.转移端存储有多项交易信息,并且转移端按先后顺序存储交易信息,当转移端存储所述交易信息时,则所述交易信息属于转移端最近存储的一项交易信息,转移端获取最近存储的一项交易信息作为所述交易信息。
263.可以理解,当存储所述交易信息之后,当再次存储其他交易信息时,则所述交易信息不属于转移端最近存储的一项交易信息。
264.实施方式三,转移端存储有多项交易信息,转移端根据用户的选取操作从该多项交易信息中获取所述交易信息。
265.转移端存储有多项交易信息,当转移端的用户在转移端的操作界面上查询存储的交易信息时,在转移端的操作界面上显示已经存储的交易信息,例如显示每项交易信息的
存储时间、转移数额、接收端(根据交易信息中的接收端识别信息显示)等;转移端的用户选取相应的交易信息并触发重新转移请求,则转移端获取该选取的交易信息。
266.实施方式四,转移端存储有多项交易信息,所述重新转移请求中还包括转移识别信息或/和转移数额或/和接收端识别信息,转移端根据该转移数额或/和该接收端识别信息从该多项交易信息中匹配并获取所述交易信息。
267.转移端存储有多项交易信息,所述重新转移请求中还包括转移识别信息或/和转移数额或/和接收端识别信息,例如接收端向转移端发送包括转移识别信息或/和转移数额或/和接收端识别信息的重新转移请求;由于转移端存储的每项交易信息中包括接收端识别信息、转移识别信息和转移数额等信息,则转移端根据该转移识别信息或/和该转移数额或/和该接收端识别信息从该多项交易信息中匹配并获取所述交易信息。
268.相应地,当转移端再次通过近距离通信向接收端传递所述交易信息之后,则接收端对所述交易信息进行验证,并且根据该验证结果确定所述交易信息是否合法。具体实施方式可参见上述步骤404中的验证方式一、验证方式二和验证方式三,在此不再赘述。
269.进一步的,上述当转移端通过近距离通信向接收端传递该重新获取的所述交易信息时,还可以包括重新获取待签名信息的签名值,接收端根据该签名值进行数字签名验证。该签名值可以是转移端对待签名信息重新进行数字签名生成的签名值,即转移端根据重新获取的所述交易信息确定待签名信息,并且进行数字签名以生成签名值,具体生成方式与上述步骤403中的生成方式相同,在转移端再次向接收端传递重新获取的所述交易信息时还包括传递该签名值;该签名值也可以是上述步骤403中生成的所述签名值,即当转移端在存储所述交易信息时,还同时存储步骤403中生成的所述签名值,并建立所述交易信息与上述步骤403中生成的所述签名值的关联关系(也可以是将所述交易信息和上述步骤403中生成的所述签名值作为一组进行存储),当转移端重新获取所述交易信息时,根据该关联关系同时获取上述步骤403中生成的所述签名值,即获取到所述签名值。
270.相应地,当接收端接收到转移端传递的该重新获取的签名值之后,则接收端根据该重新获取的签名值对该重新获取的所述交易信息进行验证。具体实施方式可参见上述验证方式四,在此不再赘述。
271.需要说明的是,当转移端通过近距离通信向接收端传递重新获取的所述交易信息时,其近距离通信方式也不一定需与步骤401(若涉及)、步骤403中的近距离通信方式相同,对此本发明实施例并不进行限定。
272.可以理解,本发明实施例中的存储,既可以是易失性存储,也可以是非易失性存储,对此本发明实施例并不进行限定。
273.需要说明的是,上述实施过程可以在转移端和接收端处于双离线状态时实施,但并非限定转移端和接收端必须处于双离线状态,例如,在实际实施过程中,当转移端或/和接收端连接有网络并且能与数字资产服务端(例如数字资产的登记中心、支付中心等)进行通信时,还可以通过网络进一步的验证所述交易信息是否合法,并根据该进一步的验证结果执行相应的操作,比如,接收端将所述交易信息通过网络发送给数字资产服务端,数字资产服务端对所述交易信息进行验证,若验证通过,则数字资产服务端根据所述交易信息进行数字资产转移或数字资产支付等;又比如,接收端将所述交易信息通过网络发送给数字资产服务端以进行进一步的验证,并且接收端根据数字资产服务端反馈的该进一步的验证
结果再确定将所述转移数额增加为接收端当前可用的资产余额等。
274.由上实施过程可知,本发明实施例的主要优点在于,第一方面,可以预先避免转移端将同一交易信息向接收端进行近距离重复转移;第二方面,尽可能地减少了转移端与接收端的交互数据和近距离通信次数,例如,以在步骤401时转移端通过扫描及解析张贴的图形码以获取转移请求为例,此后转移端与接收端只需在步骤403时进行一次近距离通信;又例如,即使在步骤403中所述交易信息包括的交易时间或/和到期时间是从所述转移请求中获取的,通过本发明实施例提供的方法,也可以尽可能地减少转移端与接收端的交互数据和近距离通信次数,比如将预设时长设置为一个比较长的时长(如60天),则接收端只需打印及张贴一次图形码,就可以长时间内不用再重新打印及张贴图形码(如60天);第三方面,进一步的,针对数字资产近距离转移中断等情形,转移端还可以向接收端重新转移相同的交易信息,并且不会产生重复转移。
275.五、一种防止数字资产近距离重复转移的方法实施例四
276.对于上述实施例一和实施例三中的转移端,如果能对转移端中的关键信息或实现过程进行恶意篡改,则有可能导致数字资产的重复利用,例如,通过直接篡改当前可用的资产余额以增加数字资产;又例如,通过恶意修改上述实施例三步骤403以对相同的数字资产多次传递不同的交易信息,从而实现对相同数字资产的重复使用和转移。
277.因此,有必要提供相应的安全措施以确保关键信息和过程不被篡改和破坏。请参考图5,其示出了本发明提供的一种转移端的实施结构图,该转移端中连接安全模块,其中,关键信息由安全模块来进行安全存储,关键实现过程由安全模块来执行,该安全模块可以通过软件、硬件或者两者结合的方式实现,例如,该安全模块可以是安全元件se(secure element)、嵌入式安全元件ese(embedded

se)、可信执行环境tee(trusted execution environment)、用户识别模块sim(subscriber identity module)、嵌入式用户识别模块esim(embedded

sim)、主机卡模拟hce(host card emulation)、usb密钥,或者其他软硬件形式的芯片卡等。
278.请参考图6,其示出了本发明提供的一种防止数字资产近距离重复转移的方法实施例四的流程图,本实施例以该方法应用于图5所示的安全模块来举例说明,该方法可以包括:
279.步骤601.接收转移端发送的转移指令,所述转移指令包括转移数额和接收端识别信息。
280.如上述实施例三步骤401中所述,转移端获取转移请求,所述转移请求包括转移数额和接收端识别信息。转移端根据所述转移请求生成转移指令,所述转移指令包括所述转移数额和所述接收端识别信息。
281.转移端通过与安全模块之间的通信接口,向安全模块发送所述转移指令。通常,转移端可通过apdu指令(application protocol data unit,应用协议数据单元)向安全模块发送所述转移指令,当然,也可以根据转移端与安全模块之间的通信接口协议以其他方式发送所述转移指令,对此本实施例并不进行限定。
282.相应地,安全模块接收转移端发送的所述转移指令。
283.步骤602.可选的,当所述转移数额不大于当前可用的资产余额时,从所述当前可用的资产余额中减去所述转移数额。
284.当所述转移数额不大于当前可用的资产余额时,从所述当前可用的资产余额中减去所述转移数额,并执行步骤603及其后续步骤,否则,则不执行步骤603及其后续步骤。
285.在安全模块中存储当前可用的资产余额,并且安全模块对当前可用的资产余额实施相应的存储区域保护,具体的,安全模块对当前可用的资产余额的写入进行安全保护,特别是对增加当前可用的资产余额进行安全保护(也可理解为对充值进行安全保护),例如安全模块只接收数字资产服务端的专用设备(如前置机)对增加当前可用的资产余额的写入,或者安全模块在接收到转移端转发的数字资产服务端对待增加的转移数额的确权反馈和数字签名之后,才对当前可用的资产余额写入增加该待增加的转移数额。
286.实际实施过程中,安全模块还应当对当前可用的资产余额的读取进行安全限制,例如,应仅允许转移端通过通信接口读取当前可用的资产余额。
287.步骤603.生成交易信息,所述交易信息包括转移端识别信息、转移识别信息、所述接收端识别信息和所述转移数额,所述转移识别信息是由所述安全模块生成或者是由所述转移端发送,所述转移识别信息具有唯一性,所述转移端识别信息为所述安全模块的唯一识别信息,或者所述转移端识别信息为所述转移端发送。
288.安全模块生成交易信息,所述交易信息中包括转移端识别信息、转移识别信息、所述接收端识别信息和所述转移数额。
289.转移端识别信息可以是所述安全模块的唯一识别信息,例如芯片卡标识;也可以是由转移端发送的,例如在上述步骤601发送的所述转移指令中还包括所述转移端识别信息,安全模块接收及获取所述转移端识别信息。具体的还可以参见上述实施例三步骤403中的说明。
290.转移识别信息用于唯一地识别本次转移。所述转移识别信息既可以是由所述安全模块生成的;也可以是由转移端生成所述转移识别信息,例如在上述步骤601发送的所述转移指令中还包括所述转移识别信息,安全模块接收及获取所述转移识别信息。具体的还可以参见上述实施例三步骤402中的说明。
291.可选的,所述转移指令中还包括交易时间,则安全模块生成的所述交易信息还包括所述交易时间。如上述实施例三步骤403中所述,转移端以转移端的当前系统时间作为所述交易时间,或者转移端从接收端传递的所述转移请求中获取所述交易时间,则转移端在上述步骤601发送的所述转移指令中还包括所述交易时间,安全模块接收及获取所述交易时间,并且在生成的所述交易信息中还包括所述交易时间。
292.可选的,所述转移指令中还包括到期时间,则安全模块生成的所述交易信息还包括所述到期时间。如上述实施例三步骤403中所述,转移端以转移端的当前系统时间加上预设时长生成所述到期时间,或者转移端从接收端传递的所述转移请求中获取所述到期时间,则转移端在上述步骤601发送的所述转移指令中还包括所述到期时间,安全模块接收及获取所述到期时间,并且在生成的所述交易信息中还包括所述到期时间。
293.进一步的,安全模块对待签名信息进行数字签名以生成签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额。可以理解,进行数字签名的私钥存储在安全模块的安全区域中,当私钥写入安全模块的安全区域之后,不可以再读出。
294.步骤604.将所述交易信息返回给所述转移端,以使得所述转移端通过近距离通信向接收端传递所述交易信息,从而使得所述接收端对所述交易信息进行验证,并根据所述
验证结果确定所述交易信息是否合法。
295.作为对所述转移指令的响应,安全模块将所述交易信息返回给转移端。
296.在转移端接收到安全模块返回的所述交易信息之后,转移端通过近距离通信向接收端传递所述交易信息,从而使得接收端对所述交易信息进行验证,并根据所述验证结果确定所述交易信息是否合法。具体实施过程还可以参见上述实施例三步骤404和405中的实施方式。
297.进一步的,如上述步骤603中所述,安全模块还对待签名信息进行数字签名以生成签名值,则在安全模块将所述交易信息返回给转移端时,同时将所述签名值返回给转移端,以使得转移端通过近距离通信向接收端传递所述交易信息时还包括将所述签名值传递给接收端,从而使得接收端对所述签名值进行数字签名验证。
298.进一步的,安全模块还存储所述交易信息,当安全模块接收到转移端对所述交易信息的重新转移指令时,安全模块从存储的交易信息中重新获取所述交易信息;作为对所述重新转移指令的响应,安全模块将该重新获取的所述交易信息返回给转移端,以使得转移端将该重新获取的所述交易信息传递给接收端,从而使得接收端对该重新获取的所述交易信息进行验证,并根据该验证结果确定所述交易信息是否合法。
299.进一步的,当安全模块将该重新获取的所述交易信息返回给所述转移端时,还可以包括待签名信息的签名值,所述待签名信息包括所述转移识别信息、所述接收端识别信息和所述转移数额,该签名值可以是安全模块重新获取待签名信息并且进行数字签名生成的签名值;该签名值也可以是上述步骤603中生成的所述签名值,即当安全模块存储所述交易信息时,还同时存储上述步骤603中生成的所述签名值,并建立所述交易信息与上述步骤603中生成的所述签名值的关联关系(也可以是将所述交易信息和上述步骤603中生成的所述签名值作为一组进行存储),当安全模块重新获取所述交易信息时,根据该关联关系同时获取上述步骤603中生成的所述签名值,即获取到所述交易信息的签名值。
300.由上实施过程可知,本发明实施例的主要优点在于,将应用于转移端的一种防止数字资产近距离重复转移的方法实施例一和实施例三中的关键信息由安全模块来进行安全存储、关键实现过程由安全模块来执行,从而使得转移端不仅具有一种防止数字资产近距离重复转移的方法实施例一和实施例三中所述的效果,而且可以确保关键信息和关键过程不被篡改和破坏。
301.需要说明的是,在本文中,术语“包括”、“包含”、“传递”、“发送”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者系统不仅包括那些要素,而且还可以包括没有明确列出的其他要素,或者是还可以包括为这种过程、方法、产品或者系统所固有的要素。
302.术语“第一”、“第二”、“第三”等(如果存在)仅用于将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。应该理解,这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
303.上述本发明的各实施例序号仅仅为了描述,不代表实施例的优劣。
304.可以以许多方式来实现本发明的方法、转移端、接收端和安全模块。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、转移端、接收端和
安全模块。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
305.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献