一种电子签名设备的交易方法、交易系统和电子签名设备的制造方法

文档序号:10542225阅读:646来源:国知局
一种电子签名设备的交易方法、交易系统和电子签名设备的制造方法
【专利摘要】本发明提供了一种电子签名设备的交易方法、交易系统和电子签名设备,交易方法包括:第一电子签名设备接收到第二电子签名设备发送的交易请求,交易请求至少包括交易金额,并获取至少一个第二单位数据包,每个第二单位数据包代表多种货币面值中的一种货币面值,每个第二单位数据包至少包括:第二单位数据、服务器对第二单位数据签名得到的第三签名数据;上述至少一个第二单位数据包所代表的货币面值的总和等于交易金额;第一电子签名设备利用异或因子对上述至少一个第二单位数据进行异或运算,得到至少一个第三单位数据包,并将上述至少一个第三单位数据包发送至第二电子签名设备。
【专利说明】
_种电子签名设备的交易方法、交易系统和电子签名设备
技术领域
[0001]本发明涉及一种电子技术领域,尤其涉及一种电子签名设备的交易方法、交易系统和电子签名设备。
【背景技术】
[0002]现有的电子交易中,用户的资金以数字的形式存在账户中,例如:用户持有100元的资金,该资金以数字的形式存储于银行服务器的用户账户中,当用户消费了 10元以后,银行服务器需要将用户账户中的资金100改写为90,以完成账户的清算。为了保证资金数值的安全,在银行服务器改写数值后,要对改写后的资金数值90进行签名。因为用户每次进行交易后账户中的金额数值都会发生变动,所以银行服务器要针对每次变动后的数值进行处理。也就是说,现有的电子交易要依托于银行服务器,用户进行的电子交易需要与银行服务器进行实时同步,不能实现在不联网的情况下独立完成多笔线下交易。

【发明内容】

[0003]本发明旨在至少解决上述问题之一。
[0004]本发明的主要目的在于提供一种电子签名设备的交易方法。
[0005]本发明的另一目的在于提供一种电子签名设备。
[0006]本发明的又一目的在于提供一种交易系统。
[0007]为达到上述目的,本发明的技术方案具体是这样实现的:
[0008]方案1、一种电子签名设备的交易方法,包括:第一电子签名设备接收到第二电子签名设备发送的交易请求,其中,所述交易请求至少包括:交易金额;所述第一电子签名设备从所述第一电子签名设备的安全芯片中获取至少一个第二单位数据包,其中,每个第二单位数据包代表多种货币面值中的一种货币面值,所述每个第二单位数据包至少包括:第二单位数据、服务器对所述第二单位数据签名得到的第三签名数据;所述至少一个第二单位数据包所代表的货币面值的总和等于所述交易金额;所述第一电子签名设备利用异或因子对所述至少一个第二单位数据包中的所述第二单位数据进行异或运算,得到至少一个第三单位数据包,并将所述至少一个第三单位数据包发送至所述第二电子签名设备。
[0009]方案2、根据方案I所述的交易方法,在所述第一电子签名设备利用异或因子对所述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包之后,所述方法还包括:所述第一电子签名设备用每个第三单位数据包覆盖所述安全芯片中存储的所述每个第二单位数据包,并删除所述异或因子。
[0010]方案3、根据方案I或2所述的交易方法,所述交易请求至少包括:所述第二电子签名设备的设备标识。
[0011]方案4、根据方案3所述的交易方法,所述第一电子签名设备从所述第一电子签名设备的安全芯片中获取至少一个第二单位数据包之前,所述方法还包括:所述第一电子签名设备向持有用户提示所述交易金额和所述第二电子签名设备的设备标识,并接收到所述持有用户的确认信息。
[0012]方案5、根据方案3所述的交易方法,每个所述第三单位数据包至少还包括:所述第二电子签名设备的设备标识。
[0013]方案6、根据方案5所述的交易方法,所述得到至少一个第三单位数据包,包括:所述第一电子签名设备将所述第二电子签名设备的设备标识添加在每个所述第三单位数据包中。
[0014]方案7、根据方案I至6任一项所述的交易方法,每个所述第三单位数据包至少还包括:数据包标识。
[0015]方案8、根据方案7所述的交易方法,所述数据包标识为所述第一电子签名设备从所述第二电子签名设备获取的所述每个第三单位数据包对应的数据包标识;或者,所述数据包标识为所述第一电子签名设备从所述第二电子签名设备获取数据包标识起始值,基于所述数据包标识起始值,并根据待发送给所述第二电子签名设备的第三单位数据包的总个数计算得到的所述每个第三单位数据包对应的数据包标识。
[0016]方案9、根据方案7或8所述的交易方法,在所述第一电子签名设备将所述至少一个第三单位数据包发送至所述第二电子签名设备之后,所述方法还包括:所述第一电子签名设备接收到所述第二电子签名设备的重发请求,并根据所述重发请求将重发信息发送至所述第二电子签名设备,其中,所述重发请求中至少包括所述第二电子签名设备的设备标识和/或所述每个第三单位数据包对应的数据包标识。
[0017]方案10、根据方案9所述的交易方法,所述重发信息包括所述至少一个第三单位数据包。
[0018]方案11、根据方案9所述的交易方法,所述重发信息包括所述第二电子签名设备未收到的第三单位数据包。
[0019]方案12、根据方案I至11任一项所述的交易方法,所述第二单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据;所述每个第二单位数据包还包括以下至少之一:发行银行标识和银行证书序号。
[0020]方案13、根据方案I至12任一项所述的交易方法,在所述第一电子签名设备将所述至少一个第三单位数据包发送至所述第二电子签名设备之后,所述方法还包括:所述第一电子签名设备将其账户金额减去所述交易金额得到当前账户余额,向持有用户显示所述交易金额和/或当前账户余额。
[0021 ]方案14、根据方案9至13任一项所述的交易方法,所述第一电子签名设备的安全芯片分配用于存储所述至少一个第三单位数据包的存储空间,将所述至少一个第三单位数据包存储于对应的所述存储空间中;在所述第一电子签名设备根据所述重发请求将重发信息发送至所述第二电子签名设备之后,所述方法还包括:所述第一电子签名设备接收到所述第二电子签名设备返回的接收成功的确认信息,所述第一电子签名设备将之前存储所述至少一个第三单位数据包的存储空间的状态字修改为交易完成,或者将所述存储空间清空。
[0022]方案15、一种电子签名设备,所述电子签名设备包括:获取模块,用于接收对端电子签名设备发送的交易请求,其中,所述交易请求至少包括:交易金额;安全模块,用于获取自身储存的至少一个第二单位数据包,其中,每个第二单位数据包代表多种货币面值中的一种货币面值,所述每个第二单位数据包至少包括:第二单位数据、服务器对所述第二单位数据签名得到的第三签名数据;所述至少一个第二单位数据包所代表的货币面值的总和等于所述交易金额;所述安全模块,还用于利用异或因子对所述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包;通信模块,用于将所述至少一个第三单位数据包发送至所述对端电子签名设备。
[0023]方案16、根据方案15所述的电子签名设备,所述安全模块,还用于在利用异或因子对所述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包之后,用每个第三单位数据包覆盖自身存储的所述每个第二单位数据包,并删除所述异或因子。
[0024]方案17、根据方案15或16所述的电子签名设备,所述交易请求至少包括:所述对端电子签名设备的设备标识。
[0025]方案18、根据方案17所述的电子签名设备,所述电子签名设备还包括:交互模块,用于向持有用户提示所述交易金额和所述对端电子签名设备的设备标识,并接收到所述持有用户的确认信息。
[0026]方案19、根据方案17所述的电子签名设备,每个所述第三单位数据包至少还包括:所述对端电子签名设备的设备标识。
[0027]方案20、根据权力要去19所述的电子签名设备,所述安全模块,还用于将所述对端电子签名设备的设备标识添加在每个所述第三单位数据包中。
[0028]方案21、根据方案15至20任一项所述的电子签名设备,每个所述第三单位数据包至少还包括:数据包标识。
[0029]方案22、根据方案21所述的电子签名设备,所述数据包标识为所述电子签名设备从所述对端电子签名设备获取的所述每个第三单位数据包对应的数据包标识;或者,所述数据包标识为所述电子签名设备从所述对端电子签名设备获取数据包标识起始值,基于所述数据包标识起始值,并根据待发送给所述对端电子签名设备的第三单位数据包的总个数计算得到的所述每个第三单位数据包对应的数据包标识。
[0030]方案23、根据方案21或22所述的电子签名设备,所述获取模块,还用于接收所述对端电子签名设备的重发请求;所述通信模块,还用于根据所述重发请求将重发信息发送至所述对端电子签名设备,其中,所述重发请求中至少包括所述对端电子签名设备的设备标识和/或所述每个第三单位数据包对应的数据包标识。
[0031]方案24、根据方案23所述的电子签名设备,所述重发信息包括所述至少一个第三单位数据包。
[0032]方案25、根据方案23所述的电子签名设备,所述重发信息包括所述对端电子签名设备未收到的第三单位数据包。
[0033]方案26、根据方案15至25任一项所述的电子签名设备,所述第二单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据;所述每个第二单位数据包还包括以下至少之一:发行银行标识和银行证书序号。
[0034]方案27、根据方案15至26任一项所述的电子签名设备,所述安全模块,还用于将所述电子签名设备的账户金额减去所述交易金额得到当前账户余额;所述交互模块,还用于向持有用户显示所述交易金额和/或当前账户余额。
[0035]方案28、根据方案23至27任一项所述的电子签名设备,所述安全模块,用于分配存储所述至少一个第三单位数据包的存储空间,将所述至少一个第三单位数据包存储于对应的所述存储空间中;所述获取模块,还用于在所述通信模块根据所述重发请求将重发信息发送至所述对端电子签名设备之后,接收到所述对端电子签名设备返回的接收成功的确认信息;所述安全模块,还用于将之前存储所述至少一个第三单位数据包的存储空间的状态字修改为交易完成,或者将所述存储空间清空。
[0036]方案29、一种交易系统,包括:第一电子签名设备和第二电子签名设备,其中:所述第一电子签名设备采用如方案15至28任一项所述的电子签名设备;所述第二电子签名设备,用于向所述第一电子签名设备发送所述交易请求,并从所述第一电子签名设备接收所述至少一个第三单位数据包,将所述至少一个第三单位数据包存储于安全芯片中。
[0037]由上述本发明提供的技术方案可以看出,本发明提供了一种电子签名设备的交易方法、交易系统以及一种电子签名设备。采用本发明提供的技术方案,用户的资金以至少一个第二单位数据包的形式存储于用户的电子签名设备中。用户在消费时,因为资金不再是以数值的形式存储于电子签名设备中,所以电子签名设备不需要通过服务器更改账户中的余额数值,仅需将符合消费金额的一个或多个第二单位数据包以密文形式发送给收款方即可,由此,电子签名设备在与其他电子签名设备进行电子交易时,不再需要依托服务器进行联网支付,服务器不再需要对电子签名设备进行监管,从而真正地实现脱机电子交易。
【附图说明】
[0038]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0039]图1为本发明实施例1提供的电子签名设备的交易方法的流程图;
[0040]图2为本发明实施例2提供的交易系统的结构示意图。
【具体实施方式】
[0041]下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0042]在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
[0043]下面将结合附图对本发明实施例作进一步地详细描述。
[0044]实施例1
[0045]图1为本实施例提供的一种电子签名设备的交易方法的流程图。如图1所示,该交易方法包括以下步骤S11?S13:
[0046]步骤Sll,第一电子签名设备接收到第二电子签名设备发送的交易请求,其中,交易请求至少包括:交易金额;
[0047]在本实施例中,第一电子签名设备和第二电子签名设备可以进行线下交易(即无需与服务器联网完成交易),两者均可以为具有签名功能的电子设备,例如,具有签名功能的智能卡(公交卡、银行卡、购物卡等等)、工行的U盾等等。在本实施例一种可选的实施方式中,第一电子签名设备与第二电子签名设备均可设有有线接口或无线接口,第一电子签名设备可以通过有线或无线连接方式与第二电子签名设备建立通信连接,其中,无线连接方式包括但不限于:蓝牙、NFC近场通讯或WIFI。当然,第一电子签名设备还可以通过有线或无线连接方式与外接设备建立连接,通过外接设备从第二电子签名设备接收交易请求,第二电子签名设备也可以通过有线或无线连接方式与外接设备建立连接,通过外接设备将交易请求发送至第一电子签名设备,其中,外接设备包括但不限于:手机、PC或平板电脑等可以进行通讯的电子设备。由此,两个电子签名设备之间可以直接接收对方的交易请求,进而执行后续的交易流程,无需再与后台服务器联网获取对方的交易请求,执行后续的交易流程,能够实现真正意义上的线下交易。
[0048]例如,用户在商场购物,在需要支付时,商场收银台的第二电子签名设备会向用户的第一电子签名设备发送携带有交易金额的交易请求,该交易金额便是用户购物需要支付的金额,以便后续步骤中第一电子签名设备向第二电子签名设备发送与交易金额对应的第三单位数据包(即第一电子签名设备发送的第三单位数据包的货币面值的总和等于交易金额),两个电子签名设备都可以是完全独立、无需联网的设备,例如两张卡片之间就可以实现上述交易,实现线下交易,交易简便快捷。
[0049]为了进一步提高两个电子签名设备之间数据传输的安全性,在步骤Sll之前,在本实施例一种可选的实施方式中,第一电子签名设备可以与第二电子签名设备建立安全通道,在本实施例提供的方法流程中,可以利用安全通道进行数据传输。例如,第二电子签名设备可以利用第一电子签名设备的公钥对交易请求进行加密得到交易请求密文Ml,第一电子签名设备接收第二电子签名设备发送的交易请求密文Ml,并利用自身私钥对交易请求密文Ml进行解密得到交易请求明文;再例如,第二电子签名设备还可以利用与第一电子签名设备协商得到的协商密钥对交易请求进行加密得到密文M2,第一电子签名设备接收第二电子签名设备发送的交易请求密文M2,并利用对应的协商密钥对交易请求密文M2进行解密得到交易请求明文。当然,第一电子签名设备和第二电子签名设备还可以采用其他的方式建立用于传输数据的安全通道,由此可以提高第一电子签名设备与第二电子签名设备间数据传输的安全性。
[0050]步骤S12,第一电子签名设备从第一电子签名设备的安全芯片中获取至少一个第二单位数据包;
[0051]其中,每个第二单位数据包代表多种货币面值中的一种货币面值,每个第二单位数据包至少包括:第二单位数据、服务器对第二单位数据签名得到的第三签名数据;上述至少一个第二单位数据包所代表的货币面值的总和等于交易金额。
[0052]本实施例中,每个第二单位数据包代表多种货币面值中的一种货币面值,也就是说,货币面值共有多种,当第一电子签名设备仅从其安全芯片中获取一个第二单位数据包时,该第二单位数据包仅代表其中的一种货币面值。当第一电子签名设备从其安全芯片中获取多个第二单位数据包时,多个第二单位数据包可以代表多种不同的货币面值,例如,第二单位数据包的个数为3个,每个第二单位数据包分别代表货币面值I元、2元以及5元;或者,多个第二单位数据包可以代表相同的货币面值,例如,第二单位数据包的个数为3个,每个第二单位数据包均代表货币面值I元;再或者,多个第二单位数据包所代表的货币面值中既包括相同的也包括不相同的货币面值,例如,第二单位数据包的个数为3个,每个第二单位数据包分别代表货币面值I元、I元以及2元。由此,第一电子签名设备从其安全芯片中获取的至少一个第二单位数据包所代表的货币面值具有灵活的组合方式。
[0053]在本实施例一种可选的实施方式中,第一电子签名设备中设置有安全芯片,该安全芯片内部拥有独立的处理器和存储单元,可存储PKI数字证书和密钥,以及其他特征数据,对数据进行加解密运算,为用户提供数据加密和身份安全认证服务,本实施例中,第一电子签名设备可以将从后台服务器(如银行服务器或商场购物充值服务器等第三方服务器)或者从其他电子签名设备接收到的第二单位数据包存储于安全芯片中,由于安全芯片的存储单元内的数据不能被非法读出,由此可以保证存储单元中存储数据的安全性。
[0054]在本实施例一种可选的实施方式中,每个第二单位数据包至少包括:第二单位数据、服务器对所述第二单位数据签名得到的第三签名数据。作为一种可选的实施方式,服务器包括银行服务器或第三方服务器,例如,第三方服务器可以是某商场的购物卡储值服务器。服务器可以利用自身的私钥分别对每个第二单位数据包中的第二单位数据进行签名,得到与每个第二单位数据包对应的第三签名数据。作为一种可选的实施方式,第二单位数据包至少还包括以下之一:发行银行标识和银行证书序号。其中,发行银行标识为发行该第二单位数据包的银行的标识信息,由此,第一电子签名设备可以根据该标识查询到对应的发行银行的相关信息,而且,第一电子签名设备可以根据发行银行标识和银行证书序号获取对应的发行银行的银行证书,银行证书中包含有发行银行的公钥,以便于第一电子签名设备或其他电子签名设备利用服务器的公钥对第二单位数据的签名完成验证。具体地,以服务器为银行服务器为例,银行服务器利用自身的私钥进行签名是指银行服务器根据发行银行标识和银行证书序号获取对应的私钥,利用该私钥进行签名。服务器将至少一个携带有第三签名数据的第三单位数据包发送至第一电子签名设备,由此,第一电子签名设备或其他电子签名设备可以利用服务器的公钥对第三签名数据进行验证,从而验证第二单位数据包的真实性。
[0055]在本实施例一种可选的实施方式中,第二单位数据包中的第二单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据。其中,货币面值数据为第二单位数据包所代表的货币面值,以此来标识第二单位数据包所代表的货币面值,货币序号为第二单位数据包的唯一序号,即不同的第二单位数据包中的货币序号是不同的。由此,能够保证第二单位数据包的唯一性,以便于辨认第二单位数据包的真伪。
[0056]在本实施例中,第一电子签名设备在收到第二电子签名设备发送的交易请求后,会从自身的账户余额中扣除第二电子签名设备请求的交易金额,并获取货币面值的总和等于交易金额的至少一个第二单位数据包,在第二电子签名设备获取到这些第二单位数据包,如转账成功后,便完成了线下交易,第一电子签名设备不需要再与服务器联网便可以给第二电子签名设备转账。每个第二单位数据包所代表的货币面值可以相同也可以不同,第一电子签名设备获取到的第二单位数据包的个数以及各个第二单位数据包所代表的货币面值可以由第一电子签名设备根据交易金额确定,也可以由第二电子签名设备根据交易金额确定后告知第一电子签名设备,例如,作为本实施例中的一种可选实施方式,第二电子签名设备发送的交易请求中还可以携带所需第二单位数据包的种类以及个数。前者第一电子签名设备可以灵活实现第二单位数据包的下发(即将对第二单位数据包进行异或得到的第三单位数据包下发),后者可以满足第二电子签名设备的用户对第二单位数据包的个数以及面值的需求。在本实施例一种可选的实施方式中,每个第二单位数据包代表多种货币面值中的一种货币面值,例如,第二单位数据包所代表的货币面值包括:I元、2元、5元、10元、20元、50元和100元,当然,如果未来国家发行了新的货币面值、或者除了使用人民币之外的其他地区、国家的货币面值也属于本发明的保护范围,本实施例中仅以人民币面值进行举例说明。例如,第一电子签名设备接收第二电子签名设备发送的交易请求,其中,交易请求包括的交易金额为10元,第一电子签名设备从其安全芯片中获取5个第二单位数据包,5个第二单位数据包所代表的货币面值分别为I元、I元、I元、2元和5元,5个第二单位数据包所代表的货币面值的总和为10元,与交易金额相等。当然,当交易请求包括的交易金额为10元时,第一电子签名设备还可以从其安全芯片中获取10个代表I元货币面值的第二单位数据包,或者,2个代表5元货币面值的第二单位数据包,或者,I个代表10元货币面值的第二单位数据包。也就是说,第二电子单位货币数据包所代表的货币面值与个数可以灵活组合,仅需使获取的至少一个第二单位数据包所代表的货币面值的总和等于交易金额即可,此处仅以交易金额为10元为例,对于其他金额数值原理相同,此处不再举例说明。由此,在第一电子签名设备根据交易金额确定第二单位数据包的个数,以及各个第二单位数据包所代表的金额的情况下,第一电子签名设备可以灵活实现第二单位数据包的下发,可以有各种组合;在第二电子签名设备根据交易金额确定第二单位数据包的个数,以及各个第二单位数据包所代表的货币面值的情况下,可以将请求的个数以及对应的第二单位数据包所代表的货币面值发送至第一电子签名设备,由此可以满足第二电子签名设备的用户对第二单位数据包的个数以及货币面值的需求。
[0057]对于第二电子签名设备根据交易金额确定第二单位数据包的个数,以及各个第二单位数据包所代表的货币面值的情况,第一电子签名设备的安全芯片中很有可能没有存储第二电子签名设备请求的货币面值对应的第二单位数据包或者存储的个数不足请求的个数,作为本实施例中的一种可选实施方式,第一电子签名设备可以向第二电子签名设备发送提示信息,该提示信息可以包括:对应货币面值的第二单位数据包不存在或者个数不足的信息,第二电子签名设备可以根据交易金额更换第二电子单位货币数据包所代表的货币面值与个数的组合策略,或者,由第一电子签名设备根据交易金额更换第二电子单位货币数据包所代表的货币面值与个数的组合策略。例如,第一电子签名设备收到第二电子签名设备转账10元的交易请求,并请求下发5个代表2元的第二单位数据包(下称2元数据包),但第一电子签名设备只有4个2元数据包,则向第二电子签名设备发送只有4个2元数据包,2元数据包个数不足的提示信息,此时,第二电子签名设备可以更换组合策略,例如,向第一电子签名设备返回请求发送4个2元数据包、2个I元数据包的响应,或者,第一电子签名设备在向第二电子签名设备发送提示信息后,收到第二电子签名设备的确认响应,则第一电子签名设备可以随机确定一种组合策略,例如,第一电子签名设备从自身安全芯片中获取4个2元数据包和2个I元数据包,由此,解决第一电子签名设备的安全芯片中存储的第二单位数据包的个数不足或不存在的问题。
[0058]此外,在具体实施时,还存在第一电子签名设备的安全芯片中存储的第二单位数据包所代表的货币面值无法拼凑出与交易金额相等的上述至少一个第二单位数据包的问题,为了解决该问题,在本实施例一种可选的实施方式中,第一电子签名设备在接收到交易请求后,在步骤S12之前,本实施例提供的方法还包括:第一电子签名设备向第二电子签名设备发送待找零信息,其中,待找零信息由第一电子签名设备根据交易金额以及自身安全芯片中存储的第二单位数据包所代表的货币面值确定,例如,待找零信息可以包括需要第二电子签名设备返回的找回零钱的货币面值。如果第二电子签名设备存储有代表该找回零钱货币面值的第二单位数据包,或者,存储有货币面值的总和等于该找回零钱的第二单位数据包,则第二电子签名设备可以向第一电子签名设备返回确认响应,即告知第一电子签名设备自己存有找零用的第二单位数据包,第一电子签名设备在接收到第二电子签名设备发送的找零信息之后,第一电子签名设备从安全芯片中获取至少一个第二单位数据包,其中,上述至少一个第二单位数据包所代表的货币面值的总和应等于交易金额加上找回零钱的货币面值。
[0059]例如,交易金额为7元,第一电子签名设备的安全芯片中存储有5个分别代表2元货币面值的第二单位数据包(下称2元数据包),则第一电子签名设备无法利用该5个2元数据包拼凑出7元货币面值,第一电子签名设备只能利用安全芯片中存储的5个2元数据包拼凑出与交易金额7元最接近且大于交易金额的货币面值,即第一电子签名设备可以利用4个2元数据包拼凑出8元货币面值,还需要第二电子签名设备找回I元零钱,即在第一电子签名设备下发4个2元数据包后,第二电子签名设备需要向第一电子签名设备返回I个I元数据包(代表I元货币面值的第二单位数据包)。第一电子签名设备向第二电子签名设备发送携带有找回零钱为I元的待找零信息,其中,待找零信息用于询问第二电子签名设备是否可以找回所代表的货币面值总和为I元的第二单位数据包。如果第二电子签名设备的安全芯片中存储有所代表的货币面值总和为I元的第二单位数据包,则向第一电子签名设备发送找零信息,即同意向第一电子签名设备返回代表I元或者货币面值总和为I元的第二单位数据包。第一电子签名设备在接收到找零信息之后,从安全芯片中获取4个2元数据包并将其下发,第二电子签名设备会再返回给第一电子签名设备I个I元数据包(代表I元货币面值的第二单位数据包)。由此,当无法拼凑出所代表的货币面值总和与交易金额相等的第二单位数据包时,可以通过找零机制完成电子交易,使得电子交易更加方便。
[0060]步骤S13,第一电子签名设备利用异或因子对上述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包,并将上述至少一个第三单位数据包发送至第二电子签名设备。
[0061]本实施例中,异或因子可以是第一电子签名设备和第二电子签名设备协商得到的一组字符或数字的序列,用于进行异或运算;具体地,异或运算属于一种对称加密运算方式,但相比其他对称加密运算的方式,异或运算的速度较快,由此,可以提高第一电子签名设备对第二单位数据包进行加密生成第三单位数据包的效率。
[0062]在本实施例一种可选的实施方式中,在第一电子签名设备利用异或因子对上述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包之后,本实施例提供的方法还包括:第一电子签名设备用每个第三单位数据包覆盖安全芯片中存储的每个第二单位数据包,并删除该异或因子。本实施例中,用每个第三单位数据包覆盖安全芯片中存储的每个第二单位数据包是指,第一电子签名设备将生成的每个第三单位数据包写入对应的原第二单位数据包的存储空间,替换掉原来的第二单位数据包。例如,将数据包标识为I***的第二单位数据包进行异或运算生成第三单位数据包,并写入该I***对应的存储空间中。在该利用异或因子加解密的方式中,如果第一电子签名设备中还拥有该异或因子,就可以对第三单位数据包再次进行异或运算从而恢复出第二单位数据包,因此,本实施例中,在第一电子签名设备将上述至少一个第三单位数据包发送至第二电子签名设备之后,必须强制删除异或因子,由此,第一电子签名设备在进行第二单位数据包支付之后,对于已发送给第二电子签名设备的第三单位数据包,第一电子签名设备的安全芯片仅存储由第二电子签名设备利用异或因子进行运算后得到的对应的第三单位数据包,而由于第一电子签名设备已将异或因子删除,所以,第一电子签名设备无法再对该第三单位数据包进行异或运算,即无法恢复出第二单位数据包,也就不能再重复使用这些第二单位数据包,保证了同一个第二单位数据包的唯一性,而且,该异或因子只有第一电子签名设备和第二电子签名设备知道,因此,该第三单位数据包仅可由第二电子签名设备再次进行异或运算,从而仅有收款方(即第二电子签名设备)可以拥有并能够使用未加密的第二单位数据包,其他电子签名设备即便非法获取到该第三单位数据包,也因为没有该异或因子而无法通过再次进行异或运算获取到第二单位数据包,从而保证了第二单位数据包流通的安全性。
[0063]当然,本实施例并不排除使用其他实施方式来保证同一个第二单位数据包在支付过程中的唯一性,只要可以达到相同的技术效果即可。例如:步骤S13可以通过以下方式替换:第一电子签名设备利用第二电子签名设备的公钥至少对每个第二单位数据包中的第二单位数据进行加密,得到至少一个第三单位数据包,并将上述至少一个第三单位数据包发送至第二电子签名设备。第二电子签名设备可以在发送给第一电子签名设备的交易请求中还包括第二电子签名设备的公钥,或者第一电子签名设备可以向第三方认证平台获取第二电子签名设备的数字证书,该数字证书中保存有第二电子签名设备的公钥。由此,第一电子签名设备可以获取到第二电子签名设备的公钥。在第一电子签名设备利用第二电子签名设备的公钥对上述至少一个第二单位数据包进行加密之后,本实施例提供的方法还包括:第一电子签名设备用每个第三单位数据包覆盖安全芯片中存储的每个第二单位数据包。本实施例中,用每个第三单位数据包覆盖安全芯片中存储的每个第二单位数据包是指,第一电子签名设备将生成的每个第三单位数据包写入对应的原第二单位数据包的存储空间,替换掉原来的第二单位数据包。例如,将数据包标识为I***的第二单位数据包加密生成第三单位数据包,并写入该I***对应的存储空间中。由此,第一电子签名设备在进行第二单位数据包支付之后,对于已发送给第二电子签名设备的第三单位数据包,第一电子签名设备的安全芯片仅存储由第二电子签名设备公钥进行加密后得到的对应的第三单位数据包,而第一电子签名设备不可能有第二电子签名设备的私钥,因此第一电子签名设备无法对该第三单位数据包进行解密,无法恢复出第二单位数据包,也就不能再重复使用这些第二单位数据包,保证了同一个第二单位数据包的唯一性,而且该第三单位数据包是利用第二电子签名设备的公钥加密的,所以该第三单位数据包仅可由第二电子签名设备进行解密(只有第二电子签名设备存有自己的私钥),从而仅有收款方(即第二电子签名设备)可以拥有并能够使用对第三单位数据包解密得到的第二单位数据包,其他电子签名设备即便非法获取到该第三单位数据包,也因为没有第二电子签名设备的私钥而无法解密不能使用获取到的第二单位数据包,从而保证了第二单位数据包流通的安全性。
[0064]此外,第三单位数据包为密文,保证了传输数据的安全性,且即便被其他设备截获,也很难破解,进一步提高了第二单位数据包流通的安全性。此外,在第一电子签名设备收到交易请求后,为了保证交易的安全,还需要得到用户的确认,才能执行后续的交易操作(步骤 S12-S13)。
[0065]在本实施例一种可选的实施方式中,第一电子签名设备接收到的交易请求至少包括:第二电子签名设备的设备标识。在步骤S12之前,本实施例提供的交易方法还包括:第一电子签名设备向持有用户提示交易金额和第二电子签名设备的设备标识,并接收到持有用户的确认信息。具体地,第二电子签名设备的设备标识可以为第二电子签名设备的出厂序列号,也可以为第二电子签名设备的设备名称,还可以为第二电子签名设备持有用户的姓名。通过该设备标识,用户可以确认该第二电子签名设备是否为用户同意的交易对象,只有用户对交易金额和交易对象都认可后,用户才会选择确认这笔交易,由此通过用户对交易的确认来保证该笔交易的安全。
[ΟΟ??]作为一种可选的实施方式,第一电子签名设备设置有显不屏或扬声器,通过自身设置的显示屏显示或者通过自身设置的扬声器语音播报交易金额和第二电子签名设备的设备标识;或者,第一电子签名设备与外接设备建立连接,通过外接设备的显示屏或扬声器向持有用户提示交易金额和第二电子签名设备的设备标识。由此,可以方便用户确认付款金额以及收款方是否正确。作为一种可选的实施方式,第一电子签名设备上可以设置有确认按键,用户通过该确认按键进行确认。当然,第一电子签名设备上还可以设置确认信息输入组件,该确认信息输入组件具体可以包括:PIN码输入键盘或指纹输入组件。由此,用户可以通过输入PIN码或者指纹的方式输入确认信息,在对电子交易的相关信息进行确认的同时,第一电子签名设备也可以对持有用户的身份进行验证,进一步提高电子交易的安全性。
[0067]本实施例中,在步骤S13之后,第二电子签名设备在接收到第一电子签名设备发送的第三单位数据包后,会对第三单位数据包解密(即利用异或因子再次对第三单位数据包进行异或运算)得到第二单位数据包,并计算第二单位数据包的总金额是否等于请求的交易金额,如果小于交易金额,则可以向第一电子签名设备请求重发第三单位数据包,第一电子签名设备可以从与该第二电子签名设备对应的第三单位数据包中选择部分或全部进行重发。当存在多笔交易和/或与多个第二电子签名设备进行交易后,第一电子签名设备还需要在第三单位数据包(或者第二单位数据包)中添加第二电子签名设备的设备标识关联,以此来识别哪个第三单位数据包属于该设备标识指向的第二电子签名设备,向对应的第二电子签名设备重发数据包。因此,在本实施例一种可选的实施方式中,每个第三单位数据包至少还包括:第二电子签名设备的设备标识。具体地,第一电子签名设备利用异或因子对上述至少一个第二单位数据包进行异或运算,得到至少一个第三单位数据包,包括:第一电子签名设备利用异或因子对上述至少一个第二单位数据包进行异或运算,得到至少一个第三单位数据包后,将第二电子签名设备的设备标识添加在每个第三单位数据包中,例如,第一电子签名设备在与设备标识为A**的第二电子签名设备的一笔交易中,在生成至少一个第三单位数据包后,可以在该笔交易的每个第三单位数据包中都添加第二电子签名设备的设备标识A**,以此来标识发送给第二电子签名设备的第三单位数据包。由此,因为第一电子签名设备的安全芯片中存储的每个第三单位数据包中都包括有第二电子签名设备的标识信息,所以第一电子签名设备可以获知每个第三单位数据包所对应的收款方(即第二电子签名设备),以便于在第二电子签名设备请求第一电子签名设备重发时,第一电子签名设备可以根据设备标识找到该第二电子签名设备对应的第三单位数据包执行重发的相应操作。
[0068]此外,在本实施例中,第一电子签名设备在收到第二电子签名设备请求重发部分未收到的第三单位数据包时,第一电子签名设备在给第二电子签名设备发送重发信息之前,还需要确定具体需要重发哪些第三单位数据包,因此,在本实施例中,第三单位数据包还可以包括:数据包标识,通过该数据包标识可以唯一标识一个第三单位数据包。本实施例中,第二电子签名电子设备中存储的第二单位数据包与第一电子签名设备中覆盖第二单位数据包的第三单位数据包的数据包标识是一致的,因此第一电子签名设备可以将第二电子签名设备请求重发的数据包标识对应的第三单位数据包进行重发。其中,该数据包标识的获取方式包括多种,本实施例仅举例进行说明,具体包括但不限于以下方式:
[0069]方式一:该数据包标识为第一电子签名设备从第二电子签名设备获取的每个第三单位数据包对应的数据包标识。
[0070]其中,数据包标识包括但不限于:第二电子签名设备利用其计数器计数得到的计数值或第二电子签名设备生成的随机数,该数据包标识不仅可以用于第一电子签名设备查找到数据包标识对应的第三单位数据包重发给第二电子签名设备,还由于该数据包标识由第二电子签名设备确定,通过该数据包标识还可以防止重放攻击。
[0071]具体地,第一电子签名设备可以在每发送一个第三单位数据包之前向第二电子签名设备获取一个对应的数据包标识,也可以在发送交易金额对应的所有第三单位数据包之前,从第二电子签名设备获取对应每个第三单位数据包的多个数据包标识,将对应的数据包标识添加至该第三单位数据包中后,再将该第三单位数据包发送给第二电子签名设备。由此,将第二电子签名设备生成的数据包标识添加至待发送的第三单位数据包中,可以方便第二电子签名设备对接收到的第三单位数据包是否为重放数据进行检验,并且由于数据包标识由第二电子签名设备分配,所以第二电子签名设备能够判断是否已收到全部数据包标识对应的第三单位数据包,以判断是否需要发起重发请求。以防止重放攻击举例来说,数据包标识为第二电子签名设备生成的随机数Rl时,第一电子签名设备在发送一个第三单位数据包之前,从第二电子签名设备获取数据包标识,即随机数R1,并将包括有随机数Rl的第三单位数据包发送至第二电子签名设备。第二电子签名设备可以检验接收到的第三单位数据包中携带的数据包标识是否为随机数Rl,如果是,则认为接收到的第三单位数据包为合法的;否则认为接收到的第三单位数据包为重放数据,则丢弃该数据。由此,可以避免第二电子签名设备被重放攻击。
[0072]方式二:数据包标识还可以为第一电子签名设备从第二电子签名设备获取数据包标识起始值,基于数据包标识起始值,并根据待发送给第二电子签名设备的第三单位数据包的总个数计算得到的每个第三单位数据包对应的数据包标识。
[0073]在该方式中,由第一电子签名设备根据数据包标识起始值以及待发送的数据包个数,确定每个待发送的第三单位数据包的数据包标识,具体地,数据包标识起始值可以为第二电子签名设备利用其计数器计数得到的计数值。举例来说,当交易金额为8元时,第一电子签名设备需要发送给第二电子签名设备三个第三单位数据包,三个第三单位数据包分别代表货币面值I元、2元和5元。第一电子签名设备从第二电子签名设备获取的数据包标识起始值为30,该数据包标识起始值可以为第二电子签名设备的计数器计数累计得到的当前数据包的个数加I,例如,在发起本次交易之前,第二电子签名设备总共存储有29个第二单位数据包,这29个第二单位数据包的数据包标识可以从I至29,那么,接收到的下一个数据包就可以从30起开始标识,则第一电子签名设备基于数据包标识起始值30计算得到:代表I元货币面值的第三单位数据包所对应的数据包标识为30、代表2元货币面值的第三单位数据包所对应的数据包标识为31以及代表3元货币面值的第三单位数据包所对应的数据包标识为32,本实施例中,第二电子签名设备在接收到这3个第三单位数据包后,对这3个第三单位数据包再次进行异或运算得到对应的第二单位数据包,并按照对应的数据包标识进行关联存储。由此,第一电子签名设备仅需从第二电子签名设备获取一个数据包标识起始值,即可根据待发送给第二电子签名设备的第三单位数据包的个数,灵活计算每个第三单位数据包对应的数据包标识。由此,第一电子签名设备可以根据数据包标识实现部分第三单位数据包的重发,且第二电子签名设备可以根据数据包标识判断接收到的第三单位数据包是否为重放数据,从而避免第二电子签名设备被重放攻击。
[0074]在步骤S13之后,如果第二电子签名设备没有收到请求的交易金额对应的全部第三单位数据包时,在本实施例一种可选的实施方式中,本实施例提供的方法还包括:第一电子签名设备接收到第二电子签名设备的重发请求,并根据重发请求将重发信息发送至第二电子签名设备,其中,重发请求中至少包括第二电子签名设备的设备标识和/或每个第三单位数据包对应的数据包标识,以使得第一电子签名设备可以根据该重发请求确定重发信息,重发信息即为第一电子签名设备从给该第二电子签名设备的一笔交易对应的第三单位数据包中选出的全部或部分数据包,以保证第二电子签名设备得到一笔交易的全部第三单位数据包。比如,重发请求包括:第二电子签名设备的设备标识和数据包标识30,则第一电子签名设备发送的重发信息中需要包括由对包含有第二电子签名设备的设备标识和数据包标识30的第三单位数据包。由此,第一电子签名设备可以确定需要重发的第三单位数据包。
[0075]在本实施例中,作为一种可选的实施方式,第二电子签名设备可以向第一电子签名设备请求重发一笔交易的全部第三单位数据包,作为另一种可选的实施方式,第二电子签名设备也可以仅请求重发未接收到的第三单位数据包。对于前者,第二电子签名设备的重发请求中至少包括第二电子签名设备的设备标识,第一电子签名设备的重发信息包括至少一个第三单位数据包,即重发一笔交易的交易金额对应的全部第三单位数据包;对于后者,第二电子签名设备的重发请求中至少包括:未收到的第三单位数据包的数据包标识,还可以包括:第二电子签名设备的设备标识,第一电子签名设备的重发信息包括第二电子签名设备未接收到的第三单位数据包,即重发请求中数据包标识指示的第三单位数据包。
[0076]对于如者,举例来说,对于一笔编号为I*******的父易,弟—■电子签名设备的父易请求中的交易金额为10元,第一电子签名设备向第二电子签名设备发送5个分别代表2元货币面值的第三单位数据包,但由于传输过程中数据丢失,第二电子签名设备仅接收到4个分别代表2元货币面值的第三单位数据包,货币面值总和为8元,与交易金额10元不相等。针对该笔交易,第二电子签名设备向第一电子签名设备发送重发请求,该重发请求中至少携带有第二电子签名设备的设备标识,第一电子签名设备接收第二电子签名设备发送的重发请求后,针对该第二电子签名设备的该笔交易可以查询到其对应的全部第三单位数据包,将5个第三单位数据包携带在重发信息中发送至第二电子签名设备。由此,第一电子签名设备具有响应第二电子签名设备重发的功能,以保证第二电子签名设备可以接收到电子交易所需的全部数据包,保证交易能够顺利完成。
[0077]对于后者,举例来说,对于一笔编号为I*******的父易,弟—■电子签名设备的父易请求中的交易金额为5元,第二电子签名设备接收第一电子签名设备发送的2个分别代表2元货币面值的第三单位数据包(简称2元数据包),以及I个代表I元货币面值的第三单位数据包(简称I元数据包),但由于传输过程中数据丢失,第二电子签名设备仅接收到2个2元数据包,货币面值总和为4元,与交易金额5元不相等。针对该笔交易,第二电子签名设备向第一电子签名设备发送重发请求,该重发请求中至少携带有第二电子签名设备的设备标识以及未收到的数据包的数据包标识(即I元数据包的数据包标识)或者已收到的2元数据包的数据包标识,第一电子签名设备接收第二电子签名设备发送的重发请求后,针对该第二电子签名设备的该笔交易可以根据I元数据包的数据包标识查询到对应的第三单位数据包,或者根据4个2元数据包的数据包标识确定未发送成功的I元数据包的数据包标识对应的第三单位数据包,将I元数据包标识对应的第三单位数据包携带在重发信息发送至第二电子签名设备。由此,第一电子签名设备可以将第二电子签名设备未收到的第三单位数据包重新发送,减少了重发数据的传输量,保证了第二电子签名设备可以接收到电子交易所需的全部数据包。
[0078]在本实施例一种可选的实施方式中,第一电子签名设备的安全芯片分配用于存储至少一个第三单位数据包(或第二单位数据包)的存储空间,安全芯片的这些存储空间可以存储至少一个第二单位数据包,以便于第一电子签名设备在收到第二电子签名设备的交易请求后从安全芯片中获取交易金额所需的第二单位数据包,此外,在利用异或因子对至少一个第二单位数据包进行异或运算得到至少一个第三单位数据包后,至少一个第三单位数据包覆盖至少一个第二单位数据后,该至少一个第三单位数据包存储于对应的存储空间中。在第一电子签名设备根据重发请求将重发信息发送至第二电子签名设备之后,第一电子签名设备接收到第二电子签名设备返回的接收成功的确认信息,第一电子签名设备将之前存储至少一个第三单位数据包的存储空间的状态字修改为交易完成,或者将存储空间清空,并将对应的存储空间的状态字修改为未占用。其中,状态字为交易完成的存储空间,可以被新的数据覆盖。由此,第一电子签名设备在确认第二电子签名设备接收到电子交易所需的全部数据包之后,可以清理安全芯片的存储空间,以便释放更多的存储空间,保证后续的交易顺利进行。
[0079]在本实施例一种可选的实施方式中,在步骤S13之后,第一电子签名设备将其账户金额减去交易金额得到当前账户余额,向持有用户显示交易金额和/或当前账户余额。由此,持有电子签名设备的用户可以在自己的设备上查询交易金额以及当前账户余额。
[0080]采用本实施例提供的电子签名设备的交易方法,用户的资金以至少一个第二单位数据包的形式存储于用户的第一电子签名设备中。用户在消费时,因为资金不再是以数值的形式存储于第一电子签名设备中,所以第一电子签名设备不需要通过服务器更改账户中的余额数值,仅需将符合消费金额的一个或多个第二单位数据包以密文形式发送给收款方即可,由此,第一电子签名设备在与第二电子签名设备进行电子交易时不再需要依托服务器进行联网支付,服务器不再需要对电子签名设备进行监管,从而真正地实现脱机电子交易;此外,第一电子签名设备发送给第二电子签名设备的第三单位数据包为密文,进一步提高了电子交易的安全性;此外,在第三单位数据包中添加数据包标识以及第二电子签名设备的设备标识,可以有效的防止第二电子签名设备被重放攻击,同时可以方便第一电子签名设备确定重发信息。
[0081 ] 实施例2
[0082]图2为本实施例提供的一种交易系统的结构示意图。如图2所示,该交易系统包括第一电子签名设备20以及第二电子签名设备30,其中,电子签名设备(本实施例中电子签名设备即为第一电子签名设备20)包括获取模块201、安全模块202以及通信模块203。
[0083]获取模块201,用于接收对端电子签名设备(本实施例中对端电子签名设备即为第二电子签名设备30)发送的交易请求,其中,所述交易请求至少包括:交易金额。安全模块202,用于获取自身储存的至少一个第二单位数据包,其中,每个第二单位数据包代表多种货币面值中的一种货币面值,每个第二单位数据包至少包括:第二单位数据、服务器对第二单位数据签名得到的第三签名数据;上述至少一个第二单位数据包所代表的货币面值的总和等于交易金额。安全模块202,还用于利用异或因子对上述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包;通信模块203,用于将上述至少一个第三单位数据包发送至所述对端电子签名设备。
[0084]在本实施例中,第一电子签名设备20和第二电子签名设备30可以进行线下交易(即无需与服务器联网完成交易),两者均可以为具有签名功能的电子设备,例如,具有签名功能的智能卡(公交卡、银行卡、购物卡等等)、工行的U盾等等。在本实施例一种可选的实施方式中,获取模块201可以包括有线接口或无线接口,获取模块201可以通过有线或无线连接方式与对端电子签名设备30建立通信连接,其中,无线连接方式包括但不限于:蓝牙、NFC进场通讯或WIFI。当然,获取模块201还可以通过有线或无线连接方式与外接设备建立连接,通过外接设备从第二电子签名设备30接收交易请求,第二电子签名设备30也可以通过有线或无线连接的方式与外接设备建立连接,通过外接设备将交易请求发送至第一电子签名设备20,其中,外接设备包括但不限于:手机、PC或平板电脑等可以进行通讯的电子设备。由此,两个电子签名设备之间可以直接接收对方的交易请求,进而执行后续的交易流程,无需再与后台服务器联网获取对方的交易请求,执行后续的交易流程,能够实现真正意义上的线下交易。
[0085]例如,用户在商场购物,在需要支付时,商场收银台的第二电子签名设备30会向用户的第一电子签名设备20发送携带有交易金额的交易请求,该交易金额便是用户购物需要支付的金额,以便后续操作中第一电子签名设备20向第二电子签名设备30发送与交易金额对应的第三单位数据包(即第一电子签名设备20发送的第三单位数据包的货币面值的总和等于交易金额),两个电子签名设备都可以是完全独立、无需联网的设备,例如两张卡片之间就可以实现上述交易,实现线下交易,交易简便快捷。
[0086]为了进一步提高两个电子签名设备之间数据传输的安全性,在本实施例一种可选的实施方式中,第一电子签名设备20可以与第二电子签名设备30建立安全通道,并利用安全通道进行数据传输。例如,第二电子签名设备30可以利用第一电子签名设备20的公钥对交易请求进行加密得到交易请求密文Ml,获取模块201接收第二电子签名设备30发送的交易请求密文Ml,并由安全模块202利用自身私钥对交易请求密文Ml进行解密得到交易请求明文;再例如,第二电子签名设备30还可以利用与第一电子签名设备20协商得到的协商密钥对交易请求进行加密得到密文M2,获取模块201接收第二电子签名设备30发送的交易请求密文M2,并利用对应的协商密钥对交易请求密文M2进行解密得到交易请求明文。当然,第一电子签名设备20和第二电子签名设备30还可以采用其他的方式建立用于传输数据的安全通道,由此可以提高第一电子签名设备20与第二电子签名设备30间数据传输的安全性。
[0087]安全模块202,用于获取自身储存的至少一个第二单位数据包,其中,每个第二单位数据包代表多种货币面值中的一种货币面值,每个第二单位数据包至少包括:第二单位数据、服务器对第二单位数据签名得到的第三签名数据;上述至少一个第二单位数据包所代表的货币面值的总和等于交易金额。
[0088]本实施例中,每个第二单位数据包代表多种货币面值中的一种货币面值,也就是说,货币面值共有多种,当安全模块202仅获取自身储存的一个第二单位数据包时,该第二单位数据包仅代表其中的一种货币面值。当安全模块202获取自身存储的多个第二单位数据包时,多个第二单位数据包可以代表多种不同的货币面值,例如,第二单位数据包的个数为3个,每个第二单位数据包分别代表货币面值I元、2元以及5元;或者,多个第二单位数据包可以代表相同的货币面值,例如,第二单位数据包的个数为3个,每个第二单位数据包均代表货币面值I元;再或者,多个第二单位数据包所代表的货币面值中既包括相同的也包括不相同的货币面值,例如,第二单位数据包的个数为3个,每个第二单位数据包分别代表货币面值I元、I元以及2元。由此,安全模块202获取自身存储的至少一个第二单位数据包所代表的货币面值具有灵活的组合方式。
[0089]在本实施例一种可选的实施方式中,安全模块202包括安全芯片,该安全芯片内部拥有独立的处理器和存储单元,可存储PKI数字证书和密钥,以及其他特征数据,对数据进行加解密运算,为用户提供数据加密和身份安全认证服务,本实施例中,安全芯片可以将从后台服务器(如银行服务器或商场购物充值服务器等第三方服务器)或者从其他电子签名设备接收到的第二单位数据包存储,由于安全芯片的存储单元内的数据不能被非法读出,由此可以保证存储单元中存储数据的安全性。
[0090]在本实施例一种可选的实施方式中,每个第二单位数据包至少包括:第二单位数据、服务器对所述第二单位数据签名得到的第三签名数据。作为一种可选的实施方式,服务器包括银行服务器或第三方服务器,例如,第三方服务器可以是某商场的购物卡储值服务器。服务器可以利用自身的私钥分别对每个第二单位数据包中的第二单位数据进行签名,得到与每个第二单位数据包对应的第三签名数据。作为一种可选的实施方式,第二单位数据包至少还包括以下之一:发行银行标识和银行证书序号。其中,发行银行标识为发行该第二单位数据包的银行的标识信息,由此,安全模块202可以根据该标识查询到对应的发行银行的相关信息,而且,安全模块202可以根据发行银行标识和银行证书序号获取对应的发行银行的银行证书,银行证书中包含有发行银行的公钥,以便于后续第一电子签名设备20或第二电子签名设备30利用发行银行的公钥对第二单位数据的签名完成验证。具体地,以服务器为银行服务器为例,银行服务器利用自身的私钥进行签名是指银行服务器根据发行银行标识和银行证书序号获取对应的私钥,利用该私钥进行签名。服务器将至少一个携带有第三签名数据的第三单位数据包发送至第一电子签名设备20,由此,第一电子签名设备20或其他电子签名设备可以利用服务器的公钥对第三签名数据进行验证,从而验证第二单位数据包的真实性。
[0091]在本实施例一种可选的实施方式中,第二单位数据包中的第二单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据。其中,货币面值数据为第二单位数据包所代表的货币面值,以此来标识第二单位数据包所代表的货币面值,货币序号为第二单位数据包的唯一序号,即不同的第二单位数据包中的货币序号是不同的。由此,能够保证第二单位数据包的唯一性,以便于辨认第二单位数据包的真伪。
[0092]在本实施例中,在获取模块201收到第二电子签名设备30发送的交易请求后,安全模块202会从自身的账户余额中扣除第二电子签名设备30请求的交易金额,并获取货币面值的总和等于交易金额的至少一个第二单位数据包,在第二电子签名设备获取到这些第二单位数据包,如转账成功后,便完成了线下交易,第一电子签名设备20不需要再与服务器联网便可以给第二电子签名设备30转账。每个第二单位数据包所代表的货币面值可以相同也可以不同,安全模块202获取到的第二单位数据包的个数以及各个第二单位数据包所代表的货币面值可以由第一电子签名设备20根据交易金额确定,也可以由第二电子签名设备30根据交易金额确定后告知第一电子签名设备20,例如,作为本实施例中的一种可选实施方式,第二电子签名设备30发送的交易请求中还可以携带所需第二单位数据包的种类以及个数。前者第一电子签名设备20可以灵活实现第二单位数据包的下发(即将对第二单位数据包进行异或得到的第三单位数据包下发),后者可以满足第二电子签名设备30的用户对第二单位数据包的个数以及面值的需求。在本实施例一种可选的实施方式中,每个第二单位数据包代表多种货币面值中的一种货币面值,例如,第二单位数据包所代表的货币面值包括:I元、2元、5元、10元、20元、50元和100元,当然,如果未来国家发型了新的货币面值、或者除了使用人民币之外的其他地区、国家的货币面值也属于本发明的保护范围,本实施例中仅以人民币面值进行举例说明。例如,第一电子签名设备20接收第二电子签名设备30发送的交易请求,其中,交易请求包括的交易金额为10元,安全模块202获取自身存储的5个第二单位数据包,5个第二单位数据包所代表的货币面值分别为I元、I元、I元、2元和5元,5个第二单位数据包所代表的货币面值的总和为10元,与交易金额相等。当然,当交易请求包括的交易金额为10元时,安全模块202还可以获取自身存储的10个代表I元货币面值的第二单位数据包,或者,2个代表5元货币面值的第二单位数据包,或者,I个代表10元货币面值的第二单位数据包。也就是说,第二电子单位货币数据包所代表的货币面值与个数可以灵活组合,仅需使获取的至少一个第二单位数据包所代表的货币面值的总和等于交易金额即可,此处仅以交易金额为10元为例,对于其他金额数值原理相同,此处不再举例说明。由此,在安全模块202根据交易金额确定第二单位数据包的个数,以及各个第二单位数据包所代表的金额的情况下,第一电子签名设备20可以灵活实现第二单位数据包的下发,可以有各种组合;在第二电子签名设备30根据交易金额确定第二单位数据包的个数,以及各个第二单位数据包所代表的货币面值的情况下,可以将请求的个数以及对应的第二单位数据包所代表的货币面值发送至第一电子签名设备20,由此可以满足第二电子签名设备30的用户对第二单位数据包的个数以及货币面值的需求。
[0093]对于第二电子签名设备30根据交易金额确定第二单位数据包的个数,以及各个第二单位数据包所代表的货币面值的情况,第一电子签名设备20的安全模块202中很有可能没有存储第二电子签名设备请求的货币面值对应的第二单位数据包或者存储的个数不足请求的个数,作为本实施例中的一种可选实施方式,通信模块203可以向第二电子签名设备30发送提示信息,该提示信息可以包括:对应货币面值的第二单位数据包不存在或者个数不足的信息,第二电子签名设备30可以根据交易金额更换第二电子单位货币数据包所代表的货币面值与个数的组合策略,或者,由第一电子签名设备20的安全模块202根据交易金额更换第二电子单位货币数据包所代表的货币面值与个数的组合策略。例如,获取模块201收到第二电子签名设备30转账10元的交易请求,并请求下发5个代表2元的第二单位数据包(下称2元数据包),但安全模块202中只有4个2元数据包,则通信模块203向第二电子签名设备30发送只有4个2元数据包,2元数据包个数不足的提示信息,此时,第二电子签名设备30可以更换组合策略,例如,向第一电子签名设备20返回请求发送4个2元数据包、2个I元数据包的响应,或者,第一电子签名设备20的通信模块203在向第二电子签名设备30发送提示信息后,收到第二电子签名设备30的确认响应,则安全模块202可以随机确定一种组合策略,例如,安全模块202获取自身存储的4个2元数据包和2个I元数据包,由此,解决第一电子签名设备20的安全模块202中存储的第二单位数据包的个数不足或不存在的问题。
[0094]此外,在具体实施时,还存在安全模块202存储的第二单位数据包所代表的货币面值无法拼凑出与交易金额相等的上述至少一个第二单位数据包的问题,为了解决该问题,在本实施例一种可选的实施方式中,在获取模块201接收到交易请求之后,在安全模块202获取自身储存的至少一个第二单位数据包之前,第一电子签名设备20通过通信模块203向第二电子签名设备30发送待找零信息,其中,待找零信息由安全模块202根据交易金额以及自身存储的第二单位数据包所代表的货币面值确定,例如,待找零信息可以包括需要第二电子签名设备30返回的找回零钱的货币面值。如果第二电子签名设备30存储有代表该找回零钱货币面值的第二单位数据包,或者,存储有货币面值的总和等于该找回零钱的第二单位数据包,则第二电子签名设备30可以向第一电子签名设备20返回确认响应,即告知第一电子签名设备20自己存有找零用的第二单位数据包。获取模块201,用于接收第二电子签名设备30发送的找零信息,安全模块202,用于在获取模块201接收到找零信息之后,获取自身存储的至少一个第二单位数据包,其中,上述至少一个第二单位数据包所代表的货币面值的总和应等于交易金额加上找回零钱的货币面值。
[0095]例如,交易金额为7元,安全模块202中存储有5个分别代表2元货币面值的第二单位数据包(下称2元数据包),则安全模块202无法利用该5个分别代表2元数据包拼凑出7元货币面值,安全模块202只能利用自身存储的5个分别代表2元数据包拼凑出与交易金额7元最接近且大于交易金额的货币面值,即安全模块202可以利用4个分别代表2元数据包拼凑出8元货币面值,还需要第二电子签名设备30找回I元零钱,即在通信模块203下发4个2元数据包后,第二电子签名设备30需要向第一电子签名设备20返回I个I元数据包(代表I元货币面值的第二单位数据包)。通信模块203向第二电子签名设备30发送携带有找回零钱为I元的待找零信息,其中,待找零信息用于询问第二电子签名设备30是否可以找回所代表的货币面值总和为I元的第二单位数据包。如果第二电子签名设备30的安全芯片中存储有所代表的货币面值总和为I元的第二单位数据包,则向第一电子签名设备20发送找零信息,即同意向第一电子签名设备20返回代表I元或者货币面值总和为I元的第二单位数据包。在获取模块201接收到找零信息之后,安全模块202获取4个2元数据包并将其下发,第二电子签名设备30会再返回给第一电子签名设备20—个I元数据包(代表I元货币面值的第二单位数据包)。由此,当无法拼凑出所代表的货币面值总和与交易金额相等的第二单位数据包时,可以通过找零机制完成电子交易,使得电子交易更加方便。
[0096]安全模块202,还用于利用异或因子对上述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包;通信模块203,用于将所述上述至少一个第三单位数据包发送至所述对端电子签名设备。
[0097]本实施例中,异或因子可以是第一电子签名设备20和第二电子签名设备30协商得到的一组字符或数字的序列,用于进行异或运算;具体地,安全模块202,用于利用异或因子至少对每个第二单位数据包中的第二单位数据进行异或运算。异或运算属于一种对称加密运算方式,但相比其他对称加密运算的方式,异或运算的速度较快,由此,可以提高安全模块202对第二单位数据包进行加密生成第三单位数据包的效率。
[0098]在本实施例一种可选的实施方式中,安全模块202,还用于在利用异或因子对上述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包之后,用每个第三单位数据包覆盖自身存储的每个第二单位数据包,并删除异或因子。本实施例中,用每个第三单位数据包覆盖安全模块202中存储的每个第二单位数据包是指,安全模块202将生成的每个第三单位数据包写入对应的原第二单位数据包的存储空间,替换掉原来的第二单位数据包。例如,将数据包标识为I***的第二单位数据包进行异或运算生成第三单位数据包,并写入该I***对应的存储空间中。在该利用异或因子加解密的方式中,如果安全模块202还拥有该异或因子,就可以对第三单位数据包再次进行异或运算从而解密恢复出第二单位数据包,因此,本实施例中,在通信模块203将上述至少一个第三单位数据包发送至第二电子签名设备之后,必须强制删除安全模块202中的异或因子,由此,在进行第二单位数据包支付之后,对于已发送给第二电子签名设备30的第三单位数据包,安全模块202仅存储由第二电子签名设备30利用异或因子进行运算后得到的对应的第三单位数据包,而由于安全模块202已将进行加密使用的异或因子删除,所以,安全模块202无法再对该第三单位数据包异或运算,即无法恢复出第二单位数据包,也就不能再重复使用这些第二单位数据包,保证了同一个第二单位数据包的唯一性,而且,该异或因子只有第一电子签名设备20和第二电子签名设备30知道,因此,该第三单位数据包仅可由第二电子签名设备30再次进行异或运算,从而仅有收款方(即第二电子签名设备30)可以拥有并能够使用未加密的第二单位数据包,其他电子签名设备即便非法获取到该第三单位数据包,也因为没有该异或因子而无法通过再次进行异或运算获得到第二单位数据包,从而保证了第二单位数据包流通的安全性。
[0099]当然,本实施例并不排除其他实施方式来保证同一个第二单位数据包在支付过程中的唯一性,只要可以达到相同的技术效果即可。例如:安全模块202,用于利用第二电子签名设备30的公钥至少对每个第二单位数据包中的第二单位数据进行加密。第二电子签名设备30可以在发送给第一电子签名设备20的交易请求中包括第二电子签名设备30的公钥,或者,安全模块202可以通过获取模块201可以向第三方认证平台获取第二电子签名设备的数字证书,该数字证书中保存有第二电子签名设备30的公钥。由此,安全模块202可以获取到第二电子签名设备30的公钥。安全模块202,还用于在对至少一个第二单位数据包进行加密之后,用每个第三单位数据包覆盖自身存储的每个第二单位数据包。本实施例中,用每个第三单位数据包覆盖安全模块202中存储的每个第二单位数据包是指,安全模块202将生成的每个第三单位数据包写入对应的原第二单位数据包的存储空间,替换掉原来的第二单位数据包。例如,将数据包标识为I***的第二单位数据包加密生成第三单位数据包,并写入该I***对应的存储空间中。由此,在进行第二单位数据包支付之后,对于已发送给第二电子签名设备30的第三单位数据包,安全模块202仅存储由第二电子签名设备30公钥进行加密后得到的对应的第三单位数据包,而安全模块202不可能有第二电子签名设备30的私钥,因此安全模块202无法对该第三单位数据包进行解密,无法恢复出第二单位数据包,也就不能再重复使用这些第二单位数据包,保证了同一个第二单位数据包的唯一性,而且该第三单位数据包是利用第二电子签名设备30的公钥加密的,所以该第三单位数据包仅可由第二电子签名设备30进行解密(只有第二电子签名设备30存有自己的私钥),从而仅有收款方(即第二电子签名设备30)可以拥有并能够使用对第三单位数据包解密得到的第二单位数据包,其他电子签名设备即便非法获取到该第三单位数据包,也因为没有第二电子签名设备30的私钥而无法解密不能使用获取到的第二单位数据包,从而保证了第二单位数据包流通的安全性。
[0100]此外,第三单位数据包为密文,保证了传输数据的安全性,且即便被其他设备截获,也很难破解,进一步提高了第二单位数据包流通的安全性。此外,在第一电子签名设备20的获取模块201收到交易请求后,为了保证交易的安全,还需要得到用户的确认,才能执行后续的交易操作。
[0101]本实施例中,获取模块201接收到的交易请求至少包括:第二电子签名设备30的设备标识,第一电子签名设备20还设置有交互模块204,如图2所示,交互模块204,用于向持有用户提示交易金额和第二电子签名设备30的设备标识,并接收到持有用户的确认信息。在本实施例一种可选的实施方式中,获取模块201从第二电子签名设备30接收到的交易请求中至少包括:第二电子签名设备30的设备标识。具体地,第二电子签名设备30的设备标识可以为第二电子签名设备30的出厂序列号,也可以为第二电子签名设备30的设备名称,还可以为第二电子签名设备30持有用户的姓名。通过该设备标识,用户可以确认该第二电子签名设备30是否为用户同意的交易对象,只有用户对交易金额和交易对象都认可后,用户才会选择确认这笔交易,由此通过用户对交易的确认来保证该笔交易的安全。
[0102]作为一种可选的实施方式,交互模块204包括显示屏或扬声器,通过显示屏显示或者通过自身设置的扬声器语音播报交易金额和第二电子签名设备30的设备标识;或者,第一电子签名设备20还可以通过交互模块204与外接设备建立连接,通过外接设备的显示屏或扬声器向持有用户提示交易金额和第二电子签名设备30的设备标识。由此,可以方便用户确认付款金额以及收款方是否正确。作为一种可选的实施方式,交互模块204包括确认按键,用户通过该确认按键进行确认。当然,交互模块204还可以包括确认信息输入组件,该确认信息输入组件具体可以包括:PIN码输入键盘或指纹输入组件。由此,用户可以通过输入PIN码或者指纹的方式输入确认信息,在对电子交易的相关信息进行确认的同时,第一电子签名设备也可以对持有用户的身份进行验证,进一步提高电子交易的安全性。
[0103]本实施例中,第二电子签名设备30在接收到第一电子签名设备20的通信模块203发送的第三单位数据包后,会对第三单位数据包解密(即利用异或因子再次对第三单位数据包进行异或运算)得到第二单位数据包,并计算第二单位数据包的总金额是否等于请求的交易金额,如果小于交易金额,则可以向第一电子签名设备20请求重发第三单位数据包,第一电子签名设备20的安全模块202可以从与该第二电子签名设备30对应的第三单位数据包中选择部分或全部进行重发。当存在多笔交易和/或与多个第二电子签名设备30进行交易后,安全模块202还需要在第三单位数据包(或者第二单位数据包)中添加第二电子签名设备30的设备标识关联,以此来识别哪个第三单位数据包属于该设备标识指向的第二电子签名设备30,向对应的第二电子签名设备30重发数据包。因此,每个第三单位数据包至少还包括:第二电子签名设备30的设备标识。具体地,安全模块202,用于利用异或因子对上述至少一个第二单位数据包进行异或运算,得到至少一个第三单位数据包,包括:安全模块202,用于利用异或因子对上述至少一个第二单位数据包进行异或运算,得到至少一个第三单位数据包后,将第二电子签名设备30的设备标识添加在每个所述第三单位数据包中,例如,第一电子签名设备20在与设备标识为A**的第二电子签名设备30的一笔交易中,在生成至少一个第三单位数据包后,可以在该笔交易的每个第三单位数据包中都添加第二电子签名设备30的设备标识A#,以此来标识发送给第二电子签名设备30的第三单位数据包。由此,因为安全模块202存储的每个第三单位数据包中都包括有第二电子签名设备30的标识信息,所以第一电子签名设备20可以获知每个第三单位数据包所对应的收款方(即第二电子签名设备30),以便于在第二电子签名设备30请求第一电子签名设备20重发时,第一电子签名设备20中的安全模块202可以根据设备标识找到该第二电子签名设备30对应的第三单位数据包执行重发的相应操作。
[0104]此外,在本实施例中,在获取模块201收到第二电子签名设备30请求重发部分未收到的第三单位数据包后,在通信模块203给第二电子签名设备30发送重发信息之前,安全模块202,还需要确定具体需要重发哪些第三单位数据包,因此,在本实施例中,第三单位数据包还可以包括:数据包标识,通过该数据包标识可以唯一标识一个第三单位数据包。本实施例中,第二电子签名电子设备30中存储的第二单位数据包与第一电子签名设备20中的安全模块202覆盖第二单位数据包的第三单位数据包的数据包标识是一致的,因此安全模块202可以将第二电子签名设备请求重发的数据包标识对应的第三单位数据包通过通信模块203进行重发。其中,该数据包标识的获取方式包括多种,本实施例仅举例进行说明,具体包括但不限于以下方式:
[0105]方式一:该数据包标识为获取模块201从第二电子签名设备30获取的每个第三单位数据报对应的数据包标识。
[0106]其中,数据包标识包括但不限于:第二电子签名设备30利用其计数器计数得到的计数值或第二电子签名设备30生成的随机数,该数据包标识不仅可以用于安全模块202查找到数据包标识对应的第三单位数据包重发给第二电子签名设备30,还由于该数据包标识由第二电子签名设备30确定,通过该数据包标识还可以防止重放攻击。
[0107]具体地,获取模块201,用于在通信模块203每发送一个第三单位数据包之前向第二电子签名设备30获取一个对应的数据包标识,也用于在通信模块203发送交易金额对应的所有第三单位数据包之前,从第二电子签名设备30获取对应每个第三单位数据包的多个数据包标识,由安全模块202将对应的数据包标识添加至该第三单位数据包中后,再由通信模块203将第三单位数据包发送给第二电子签名设备30。由此,将第二电子签名设备30生成的数据包标识添加至待发送的第三单位数据包中,可以方便第二电子签名设备30对接收到的第三单位数据包是否为重放数据进行检验,并且由于数据包标识由第二电子签名设备30分配,所以第二电子签名设备30能够判断是否已收到全部数据包标识对应的第三单位数据包,以判断是否需要发起重发请求。以防止重放攻击举例来说,数据包标识为第二电子签名设备30生成的随机数Rl时,在通信模块203发送一个第三单位数据包之前,获取模块201从第二电子签名设备30获取数据包标识,即随机数Rl,并通过通信模块203将包括有随机数Rl的第三单位数据包发送至第二电子签名设备30。第二电子签名设备30可以检验接收到的第三单位数据包中携带的数据包标识是否为随机数Rl,如果是,则认为接收到的第三单位数据包为合法的;否则认为接收到的第三单位数据包为重放数据,则丢弃该数据。由此,可以避免第二电子签名设备30被重放攻击。
[0108]方式二:数据包标识还可以为安全模块202通过获取模块201从第二电子签名设备30获取数据包标识起始值,基于数据包标识起始值,并根据待发送给第二电子签名设备30的第三单位数据包的总个数计算得到的每个第三单位数据包对应的数据包标识。
[0109]在该方式中,由安全模块202根据数据包标识起始值以及待发送的数据包个数,确定每个待发送的第三单位数据包的数据包标识,具体地,数据包标识起始值可以为第二电子签名设备30利用其计数器计数得到的计数值。举例来说,当交易金额为8元时,通信模块203需要发送给第二电子签名设备30三个第三单位数据包,三个第三单位数据包分别代表货币面值I元、2元和5元。获取模块201从第二电子签名设备30获取的数据包标识起始值为30,该数据包标识起始值可以为第二电子签名设备30的计数器计数累计得到的当前数据包的个数加I,例如,在发起本次交易之前,第二电子签名设备30总共存储有29个第二单位数据包,这29个第二单位数据包的数据包标识可以从I至29,那么,接收到的下一个数据包就可以从30起开始标识,则安全模块202基于数据包标识起始值30计算得到:代表I元货币面值的第三单位数据包所对应的数据包标识为30、代表2元货币面值的第三单位数据包所对应的数据包标识为31以及代表3元货币面值的第三单位数据包所对应的数据包标识为32,本实施例中,第二电子签名设备30在接收到这3个第三单位数据包后,对这3个第三单位数据包再次进行异或运算得到对应的第二单位数据包,并按照对应的数据包标识进行关联存储。由此,第一电子签名设备20仅需从第二电子签名设备30获取一个数据包标识起始值,SP可根据待发送给第二电子签名设备30的第三单位数据包的个数,灵活计算每个第三单位数据包对应的数据包标识。由此,第一电子签名设备20可以根据数据包标识实现部分第三单位数据包的重发,且第二电子签名设备30可以根据数据包标识判断接收到的第三单位数据包是否为重放数据,从而避免第二电子签名设备30被重放攻击。
[0110]在本实施例一种可选的实施方式中,在第二电子签名设备30没有收到请求的交易金额对应的全部第三单位数据包时,获取模块201,还用于接收第二电子签名设备30的重发请求;通信模块203,还用于根据重发请求将重发信息发送至第二电子签名设备30,其中,重发请求中至少包括第二电子签名设备30的设备标识和/或每个第三单位数据包对应的数据包标识,以使得安全模块202可以根据该重发请求确定重发信息,重发信息即为安全模块202从给该第二电子签名设备的一笔交易对应的第三单位数据包中选出的全部或部分数据包,以保证第二电子签名设备30得到一笔交易的全部第三单位数据包。比如,重发请求包括:第二电子签名设备30的设备标识和数据包标识30,则通信模块203发送的重发信息中需要包括由对包含携带有第二电子签名设备30的设备标识和数据包标识30的第三单位数据包。由此,第一电子签名设备20可以确定需要重发的第三单位数据包。
[0111]在本实施例中,作为一种可选的实施方式,第二电子签名设备30可以向第一电子签名20设备请求重发一笔交易的全部第三单位数据包,作为另一种可选的实施方式,第二电子签名设备30也可以仅请求重发未接收到的第三单位数据包。对于前者,第二电子签名设备30的重发请求中至少包括第二电子签名设备20的设备标识,第一电子签名设备20通过通信模块203发送的重发信息包括至少一个第三单位数据包,即重发一笔交易的交易金额对应的全部第三单位数据包;对于后者,第二电子签名设备的重发请求中至少包括:未收到的第三单位数据包的数据包标识,还可以包括:第二电子签名设备30的设备标识,第一电子签名设备20中的通信模块203发送的重发信息包括第二电子签名设备30未接收到的第三单位数据包,即重发请求中数据包标识指示的第三单位数据包。
[0?12] 对于如者,举例来说,对于一笔编号为I*******的父易,弟—■电子签名设备30的父易请求中的交易金额为10元,通信模块203向第二电子签名设备30发送5个分别代表2元货币面值的第三单位数据包,但由于传输过程中数据丢失,第二电子签名设备30仅接收到4个分别代表2元货币面值的第三单位数据包,货币面值总和为8元,与交易金额10元不相等。针对该笔交易,第二电子签名设备30向第一电子签名设备发送重发请求,该重发请求中至少携带有第二电子签名设备30的设备标识,获取模块201用于接收第二电子签名设备30发送的重发请求后,针对该第二电子签名设备30的该笔交易可以查询到其对应的全部第三单位数据包,将5个第三单位数据包携带在重发信息中发送至第二电子签名设备30。由此,第一电子签名设备20具有响应第二电子签名设备30重发的功能,以保证第二电子签名设备30可以接收到电子交易所需的全部数据包,保证交易能够顺利完成。
[0?13] 对于后者,举例来说,对于一笔编号为I*******的父易,弟—■电子签名设备30的父易请求中的交易金额为5元,第二电子签名设备30接收第一电子签名设备发送的2个分别代表2元货币面值的第三单位数据包(简称2元数据包),以及I个代表I元货币面值的第三单位数据包(简称I元数据包),但由于传输过程中数据丢失,第二电子签名设备30仅接收到2个2元数据包,货币面值总和为4元,与交易金额5元不相等。针对该笔交易,第二电子签名设备30向第一电子签名设备20发送重发请求,该重发请求中至少携带有第二电子签名设备30的设备标识以及未收到的数据包的数据包标识(即I元数据包的数据包标识)或者已收到的2元数据包的数据包标识,获取模块201在接收第二电子签名设备30发送的重发请求后,针对该第二电子签名设备30的该笔交易可以根据I元数据包的数据包标识查询到对应的第三单位数据包,或者根据4个2元数据包的数据包标识确定未发送成功的I元数据包的数据包标识对应的第三单位数据包,通信模块203将I元数据包标识对应的第三单位数据包携带在重发信息发送至第二电子签名设备。由此,通信模块203可以将第二电子签名设备30未收到的第三单位数据包重新发送,减少了重发数据的传输量,保证了第二电子签名设备30可以接收到电子交易所需的全部数据包
[0114]在本实施例一种可选的实施方式中,安全模块202,用于分配存储至少一个第三单位数据包(或第二单位数据包)的存储空间,安全模块202的这些存储空间可以存储至少一个第二单位数据包,以便于获取模块203在收到第二电子签名设备30的交易请求后,安全模块202从自身的存储空间获取交易金额所需的第二单位数据包,此外,在利用异或因子对上述至少一个第二单位数据包进行异或运算得到至少一个第三单位数据包后,上述至少一个第三单位数据包覆盖至少一个第二单位数据后,该至少一个第三单位数据包存储于对应的存储空间中。获取模块201,还用于在通信模块203根据重发请求将重发信息发送至第二电子签名设备30之后,接收到第二电子签名设备30返回的接收成功的确认信息;安全模块202,还用于将之前存储至少一个第三单位数据包的存储空间的状态字修改为交易完成,或者将存储空间清空,并将对应的存储空间的状态字修改为未占用。其中,状态字为交易完成的存储空间,可以被新的数据覆盖。由此,安全模块202在确认第二电子签名设备30接收到电子交易所需的全部数据包之后,可以清理安全芯片的存储空间,以便释放更多的存储空间,保证后续的交易顺利进行。
[0115]在本实施例一种可选的实施方式中,安全模块202,还用于将电子签名设备的账户金额减去交易金额得到当前账户余额;交互模块204,还用于向持有用户显示交易金额和/或当前账户余额。由此,持有电子签名设备的用户可以在自己的设备上查询交易金额以及当前账户余额。
[0116]本实施例中,第二电子签名设备30,用于向第一电子签名设备20发送交易请求,并从第一电子签名设备20接收上述至少一个第二单位数据包,将上述至少一个第二单位数据包存储于安全芯片中。由此,第二电子签名设备30可以与第一电子签名设备配合,完成脱机电子交易。
[0117]采用本实施例提供的第一电子签名设备20,用户的资金以至少一个第二单位数据包的形式存储于用户的第一电子签名设备20中。用户在消费时,因为资金不再是以数值的形式存储于第一电子签名设备20中,所以第一电子签名设备20不需要通过服务器更改账户中的余额数值,仅需将符合消费金额的一个或多个第二单位数据包以密文形式发送给收款方即可,由此,第一电子签名设备20在与第二电子签名设备30进行电子交易时不再需要依托服务器进行联网支付,服务器不再需要对电子签名设备进行监管,从而真正地实现脱机电子交易;此外,第一电子签名设备20发送给第二电子签名设备30的第三单位数据包为密文,进一步提高了电子交易的安全性;此外,在第三单位数据包中添加数据包标识以及第二电子签名设备30的设备标识,可以有效的防止第二电子签名设备30被重放攻击,同时可以方便第一电子签名设备20确定重发信息。
[0118]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0119]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0120]本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0121 ]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0122]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0123]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
【主权项】
1.一种电子签名设备的交易方法,其特征在于,包括: 第一电子签名设备接收到第二电子签名设备发送的交易请求,其中,所述交易请求至少包括:交易金额; 所述第一电子签名设备从所述第一电子签名设备的安全芯片中获取至少一个第二单位数据包,其中,每个第二单位数据包代表多种货币面值中的一种货币面值,所述每个第二单位数据包至少包括:第二单位数据、服务器对所述第二单位数据签名得到的第三签名数据;所述至少一个第二单位数据包所代表的货币面值的总和等于所述交易金额; 所述第一电子签名设备利用异或因子对所述至少一个第二单位数据包中的所述第二单位数据进行异或运算,得到至少一个第三单位数据包,并将所述至少一个第三单位数据包发送至所述第二电子签名设备。2.根据权利要求1所述的交易方法,其特征在于, 在所述第一电子签名设备利用异或因子对所述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包之后,所述方法还包括: 所述第一电子签名设备用每个第三单位数据包覆盖所述安全芯片中存储的所述每个第二单位数据包,并删除所述异或因子。3.根据权利要求1或2所述的交易方法,其特征在于, 所述交易请求至少包括:所述第二电子签名设备的设备标识。4.根据权利要求3所述的交易方法,其特征在于, 所述第一电子签名设备从所述第一电子签名设备的安全芯片中获取至少一个第二单位数据包之前,所述方法还包括: 所述第一电子签名设备向持有用户提示所述交易金额和所述第二电子签名设备的设备标识,并接收到所述持有用户的确认信息。5.根据权利要求3所述的交易方法,其特征在于, 每个所述第三单位数据包至少还包括:所述第二电子签名设备的设备标识。6.一种电子签名设备,其特征在于,所述电子签名设备包括: 获取模块,用于接收对端电子签名设备发送的交易请求,其中,所述交易请求至少包括:交易金额; 安全模块,用于获取自身储存的至少一个第二单位数据包,其中,每个第二单位数据包代表多种货币面值中的一种货币面值,所述每个第二单位数据包至少包括:第二单位数据、服务器对所述第二单位数据签名得到的第三签名数据;所述至少一个第二单位数据包所代表的货币面值的总和等于所述交易金额; 所述安全模块,还用于利用异或因子对所述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包; 通信模块,用于将所述至少一个第三单位数据包发送至所述对端电子签名设备。7.根据权利要求6所述的电子签名设备,其特征在于, 所述安全模块,还用于在利用异或因子对所述至少一个第二单位数据包中的第二单位数据进行异或运算,得到至少一个第三单位数据包之后,用每个第三单位数据包覆盖自身存储的所述每个第二单位数据包,并删除所述异或因子。8.根据权利要求6或7所述的电子签名设备,其特征在于, 所述交易请求至少包括:所述对端电子签名设备的设备标识。9.根据权利要求8所述的电子签名设备,其特征在于,所述电子签名设备还包括: 交互模块,用于向持有用户提示所述交易金额和所述对端电子签名设备的设备标识,并接收到所述持有用户的确认信息。10.—种交易系统,其特征在于,包括:第一电子签名设备和第二电子签名设备,其中: 所述第一电子签名设备采用如权利要求6至9任一项所述的电子签名设备; 所述第二电子签名设备,用于向所述第一电子签名设备发送所述交易请求,并从所述第一电子签名设备接收所述至少一个第三单位数据包,将所述至少一个第三单位数据包存储于安全芯片中。
【文档编号】G06Q20/36GK105913253SQ201610177886
【公开日】2016年8月31日
【申请日】2016年3月25日
【发明人】李东声
【申请人】天地融科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1