一种电子签名设备的交易方法、交易系统和电子签名设备与流程

文档序号:13083394阅读:206来源:国知局
技术领域本发明涉及一种电子技术领域,尤其涉及一种电子签名设备的交易方法、交易系统和电子签名设备。

背景技术:
现有的电子交易中,用户的资金以数字的形式存在账户中,例如:用户持有100元的资金,该资金以数字的形式存储于银行服务器的用户账户中,当用户消费了10元以后,银行服务器需要将用户账户中的资金100改写为90,以完成账户的清算。为了保证资金数值的安全,在银行服务器改写数值后,要对改写后的资金数值90进行签名。因为用户每次进行交易后账户中的金额数值都会发生变动,所以银行服务器要针对每次变动后的数值进行处理。也就是说,现有的电子交易要依托于银行服务器,用户进行的电子交易需要与银行服务器进行实时同步,不能实现在不联网的情况下独立完成多笔线下交易。

技术实现要素:
本发明旨在至少解决上述问题之一。本发明的主要目的在于提供一种电子签名设备的交易方法。本发明的另一目的在于提供一种电子签名设备。本发明的又一目的在于提供一种交易系统。为达到上述目的,本发明的技术方案具体是这样实现的:方案1、一种电子签名设备的交易方法,包括:电子签名设备将交易请求发送至服务器,其中,所述交易请求至少包括:交易金额;所述电子签名设备从所述服务器接收至少一个第一单位数据包,其中,每个第一单位数据包代表多种货币面值中的一种货币面值,所述至少一个第一单位数据包所代表的货币面值的总和等于所述交易金额;所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中。方案2、根据方案1所述的交易方法,所述每个第一单位数据包至少包括:第一单位数据、所述服务器对所述第一单位数据签名得到的第一签名数据;在所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中之前,所述方法还包括:所述电子签名设备对所述第一签名数据进行验证,在验证通过后执行所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中的步骤。方案3、根据方案1所述的交易方法,所述交易请求中还包括:所述电子签名设备的设备标识;所述每个第一单位数据包至少包括:第一单位数据、所述服务器对所述第一单位数据和所述电子签名设备的设备标识签名得到的第二签名数据;在所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中之前,所述方法还包括:所述电子签名设备对所述第二签名数据进行验证,在验证通过后执行所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中的步骤。方案4、根据方案1至3任一项所述的交易方法,在所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中之后,所述方法还包括:根据接收到的所述至少一个第一单位数据包的个数以及所述每个第一单位数据包所代表的货币面值计算接收到的第一单位数据包所代表的货币面值的总和与所述交易请求中的交易金额是否一致,如果不一致,则向所述服务器发送重发请求。方案5、根据方案4所述的交易方法,在向所述服务器发送重发请求之后,所述方法还包括:所述电子签名设备接收所述服务器根据所述重发请求发送的重发信息,其中,所述重发信息包括所述至少一个第一单位数据包;所述电子签名设备将之前存储于所述安全芯片中的所述至少一个第一单位数据包删除,并重新存储所述服务器重发的所述至少一个第一单位数据包。方案6、根据方案4所述的交易方法,在向所述服务器发送重发请求之后,所述方法还包括:所述电子签名设备接收所述服务器根据所述重发请求发送的重发信息,其中,所述重发信息包括所述电子签名设备未接收到的第一单位数据包;所述电子签名设备将所述未接收到的第一单位数据包存储于所述安全芯片中。方案7、根据方案1至6任一项所述的交易方法,在所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中之前,所述方法还包括:所述电子签名设备的安全芯片分配用于存储所述至少一个第一单位数据包的存储空间;将所述至少一个第一单位数据包存储于安全芯片中,包括:将所述至少一个第一单位数据包存储于对应的所述存储空间中,并将对应的所述存储空间的状态字置为已占用。方案8、根据方案1至7任一项所述的交易方法,在所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中之后,所述方法还包括:所述电子签名设备利用计数器的计数值得到当前存储的第一单位数据包的总个数。方案9、根据方案1至8任一项所述的交易方法,在所述电子签名设备将所述至少一个第一单位数据包存储于安全芯片中之后,所述方法还包括:所述电子签名设备将所述交易金额计入当前账户余额,向持有用户显示所述交易金额和/或所述当前账户余额。方案10、根据方案2至9任一项所述的交易方法,所述第一单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据;所述第一单位数据包至少还包括以下之一:发行银行标识和银行证书序号。方案11、一种电子签名设备,所述电子签名设备包括:通信模块,用于将交易请求发送至服务器,其中,所述交易请求至少包括:交易金额;获取模块,用于从所述服务器接收至少一个第一单位数据包,其中,每个第一单位数据包代表多种货币面值中的一种货币面值,所述至少一个第一单位数据包所代表的货币面值的总和等于所述交易金额;安全模块,用于存储所述至少一个第一单位数据包。方案12、根据方案11所述的电子签名设备,所述每个第一单位数据包至少包括:第一单位数据、所述服务器对所述第一单位数据签名得到的第一签名数据;所述安全模块,还用于在存储所述至少一个第一单位数据包之前,对所述第一签名数据进行验证,并在验证通过后执行存储所述至少一个第一单位数据包的操作。方案13、根据方案11所述的电子签名设备,所述交易请求中还包括:所述电子签名设备的设备标识;所述每个第一单位数据包至少包括:第一单位数据、所述服务器对所述第一单位数据和所述电子签名设备的设备标识签名得到的第二签名数据;所述安全模块,还用于在存储所述至少一个第一单位数据包之前,对所述第二签名数据进行验证,并在验证通过后执行存储所述至少一个第一单位数据包的操作。方案14、根据方案11至13任一项所述的电子签名设备,所述安全模块,还用于在存储所述至少一个第一单位数据包之后,根据接收到的所述至少一个第一单位数据包的个数以及所述每个第一单位数据包所代表的货币面值计算接收到的第一单位数据包所代表的货币面值的总和与所述交易请求中的交易金额是否一致,如果不一致,则通过所述通信模块向所述服务器发送重发请求。方案15、根据方案14所述的电子签名设备,所述获取模块,用于接收所述服务器根据所述重发请求发送的重发信息,其中,所述重发信息包括所述至少一个第一单位数据包;所述安全模块,用于将之前存储的所述至少一个第一单位数据包删除,并重新存储所述服务器重发的所述至少一个第一单位数据包。方案16、根据方案14所述的电子签名设备,所述获取模块,用于接收所述服务器根据所述重发请求发送的重发信息,其中,所述重发信息包括所述电子签名设备未接收到的第一单位数据包;所述安全模块,用于存储所述未接收到的第一单位数据包。方案17、根据方案11至16任一项所述的电子签名设备,所述安全模块,还用于在存储所述至少一个第一单位数据包之前,分配用于存储所述至少一个第一单位数据包的存储空间,将所述至少一个第一单位数据包存储于对应的所述存储空间中,并将对应的所述存储空间的状态字置为已占用。方案18、根据方案11至17任一项所述的电子签名设备,所述安全模块,还用于利用计数器的计数值得到当前存储的第一单位数据包的总个数。方案19、根据方案11至18任一项所述的电子签名设备,所述电子签名设备还包括交互模块;所述安全模块,用于在存储所述至少一个第一单位数据包之后,将所述交易金额计入当前账户余额;所述交互模块,用于向持有用户显示所述交易金额和/或所述当前账户余额。方案20、根据方案12至19任一项所述的电子签名设备,所述第一单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据;所述第一单位数据包至少还包括以下之一:发行银行标识和银行证书序号。方案21、一种交易系统,包括:根据方案11至20任一项所述的电子签名设备和服务器,其中:所述服务器,用于在接收到所述电子签名设备发送的所述交易请求后,将所述至少一个第一单位数据包发送至所述电子签名设备。由上述本发明提供的技术方案可以看出,本发明提供了一种电子签名设备的交易方法、交易系统以及电子签名设备。采用本发明提供的技术方案,可以将用户的资金以至少一个第一单位数据包的形式存储于用户的电子签名设备中。用户在消费时,因为资金不再是以数值的形式存储于电子签名设备中,所以电子签名设备不需要更改存储的数值,仅需将符合消费金额的一个或多个第一单位数据包发送给收款方即可,提高电子交易的安全性,并且,由于电子签名设备不需要更改存储的数值,服务器不需要再对电子签名设备进行监管,因此电子签名设备在进行电子交易时不需要依托服务器,实现脱机电子交易。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本发明实施例1提供的电子签名工具的交易方法的流程图;图2为本发明实施例2提供的交易系统的结构示意图。具体实施方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。下面将结合附图对本发明实施例作进一步地详细描述。实施例1图1为本实施例提供的一种电子签名设备的交易方法的流程图。图1所示的方法实施例,包括以下步骤S11至S13:步骤S11,电子签名设备将交易请求发送至服务器,其中,交易请求至少包括:交易金额。在本实施例中,电子签名设备可以为具有签名功能的电子设备,例如,具有签名功能的智能卡(公交卡、银行卡、购物卡等等)、工行的U盾等等。在本实施例一种可选的实施方式中,电子签名设备可以与外接设备(如PC或移动终端等)建立连接,通过该外接设备将交易请求发送至服务器。或者,电子签名设备具有有线接口或无线接口,与服务器建立有线连接或无线连接,直接将交易请求发送至服务器。其中,无线连接方式可以包括蓝牙、NFC近场通讯以及WIFI等方式。由此,本实施例中电子签名设备可以通过多种方式将交易请求发送至服务器。作为一种可选的实施方式,服务器包括银行服务器或第三方服务器,例如,第三方服务器可以是某商场的购物卡储值服务器。例如,该电子签名设备需要执行充值的操作,便向服务器(银行服务器或商场的购物卡储值服务器)发送用于充值的交易请求,该交易请求中携带的交易金额便是电子签名设备请求服务器充值的金额数值,以便服务器向电子签名设备返回与交易金额对应的第一单位数据包(即服务器返回的第一单位数据包的货币面值的总和等于交易金额)。步骤S12,电子签名设备从服务器接收至少一个第一单位数据包,其中,每个第一单位数据包代表多种货币面值中的一种货币面值,上述至少一个第一单位数据包所代表的货币面值的总和等于交易金额。本实施例中,每个第一单位数据包代表多种货币面值中的一种货币面值,也就是说,货币面值共有多种,当电子签名设备仅从服务器接收到一个第一单位数据包时,该第一单位数据包仅代表其中的一种货币面值。当电子签名设备从服务器接收到多个第一单位数据包时,多个第一单位数据包可以代表多种不同的货币面值,例如,第一单位数据包的个数为3个,每个第一单位数据包分别代表货币面值1元、2元以及5元;或者,多个第一单位数据包可以代表相同的货币面值,例如,第一单位数据包的个数为3个,每个第一单位数据包均代表货币面值1元;再或者,多个第一单位数据包所代表的货币面值中既包括相同的也包括不相同的货币面值,例如,第一单位数据包的个数为3个,每个第一单位数据包分别代表货币面值1元、1元以及2元。由此,电子签名设备从服务器接收的至少一个第一单位数据包所代表的货币面值具有灵活的组合方式。在本实施例一种可选的实施方式中,第一单位数据包中至少包括第一单位数据,该第一单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据。其中,货币面值数据为第一单位数据包所代表的货币面值,以此来标识第一单位数据包所代表的货币面值,货币序号为每个第一单位数据包的唯一序号,即不同的第一单位数据包中的货币序号是不同的。由此,能够保证每个第一单位数据包的唯一性,以便于辨认第一单位数据包的真伪。作为一种可选的实施方式,第一单位数据包至少还包括以下之一:发行银行标识和银行证书序号。其中,发行银行标识为发行该第一单位数据包的银行的标识信息,由此可以根据该标识查询到对应的发行银行的相关信息,而且,电子签名设备可以根据发行银行标识和银行证书序号获取对应的发行银行的银行证书,银行证书中包含有发行银行的公钥,以便于后续步骤中电子签名设备利用发行银行的公钥对第一单位数据的签名完成验证。在本实施例一种可选的实施方式中,第一单位数据包至少还包括:第一单位数据以及服务器对第一单位数据签名得到的第一签名数据。作为一种可选的实施方式,服务器利用自身的私钥分别对每个第一单位数据包中的第一单位数据进行签名,得到与每个第一单位数据包对应的第一签名数据。服务器将至少一个携带有第一签名数据的第一单位数据包发送至电子签名设备,以便于后续步骤中电子签名设备利用服务器的公钥验证第一单位数据包的真实性。在本实施例另一种可选的实施方式中,电子签名设备发送给服务器的交易请求中还包括:电子签名设备的设备标识;每个第一单位数据包至少包括:第一单位数据、服务器对第一单位数据和电子签名设备的设备标识签名得到的第二签名数据。作为一种可选的实施方式,服务器利用自身的私钥对第一单位数据和电子签名设备的设备标识签名,得到与每个第一单位数据包对应的第二签名数据。服务器将至少一个携带有第二签名数据的第一单位数据包发送至电子签名设备,以便于后续步骤中电子签名设备利用服务器的公钥验证第一单位数据包的正确性。在本实施例中,服务器在收到电子签名设备发送的交易请求后,会从该电子签名设备对应的账户中扣除电子签名设备请求的交易金额,并为电子签名设备下发货币面值的总和等于交易金额的至少一个第一单位数据包,在电子签名设备接收到这些第一单位数据包,即充值成功后,便可以与其他电子签名设备完成线下交易,即不需要再与服务器联网便可以给其他电子签名设备转账(即将第一单位数据包转发给其他电子签名设备)。每个第一单位数据包所代表的货币面值可以相同也可以不同,发送给电子签名设备的第一单位数据包的个数以及各个第一单位数据包所代表的货币面值可以由服务器根据交易金额确定,也可以由电子签名设备根据交易金额确定后告知服务器,例如,作为本实施例中的一种可选实施方式,电子签名设备发送的交易请求中还可以携带第一单位数据包的种类以及个数。前者服务器可以灵活实现第一单位数据包的下发,后者可以满足用户对第一单位数据包的个数以及面值的需求。在本实施例一种可选的实施方式中,每个第一单位数据包代表多种货币面值中的一种货币面值,例如,第一单位数据包所代表的货币面值包括:1元、2元、5元、10元、20元、50元和100元,当然,如果未来国家发行了新的货币面值、或者除了使用人民币之外的其他地区、国家的货币面值也属于本发明的保护范围,本实施例中仅以人民币面值进行举例说明。例如,电子签名设备将交易请求发送至服务器,其中,交易请求包括的交易金额为10元,电子签名设备从服务器接收5个第一单位数据包,5个第一单位数据包所代表的货币面值分别为1元、1元、1元、2元和5元,5个第一单位数据包所代表的货币面值的总和为10元,与交易金额相等。当然,当交易请求包括的交易金额为10元时,电子签名设备还可以从服务器接收10个代表1元货币面值的第一单位数据包,或者,2个代表5元货币面值的第一单位数据包,或者,1个代表10元货币面值的第一单位数据包。也就是说,第一电子单位货币数据包所代表的货币面值与个数可以灵活组合,仅需使接收到的至少一个第一单位数据包所代表的货币面值的总和等于交易金额即可,此处仅以交易金额为10元为例,对于其他金额数值原理相同,此处不再举例说明。由此,在服务器根据交易金额确定第一单位数据包的个数,以及各个第一单位数据包所代表的面值的情况下,服务器可以灵活实现第一单位数据包的下发,可以有各种组合;在电子签名设备根据交易金额确定第一单位数据包的个数,以及各个第一单位数据包所代表的面值的情况下,可以将请求的个数以及对应的第一单位数据包所代表的货币面值发送至服务器,由此可以满足用户对第一单位数据包的个数以及面值的需求。为了进一步提高服务器下发第一单位数据包过程中数据传输的安全性,在本实施例一种可选的实施方式中,电子签名设备还可以从服务器接收至少一个第一单位数据包的密文数据,其中,该密文数据由服务器对至少一个第一单位数据包进行加密得到的,电子签名设备可以对该密文数据解密得到第一单位数据包原文,服务器和电子签名设备可以通过对称密钥加解密或非对称密钥加解密的方式实现数据的安全传输。作为一种可选的方式,服务器对至少一个第一单位数据包进行加密的加密方式包括:服务器利用电子签名设备的公钥对至少一个第一单位数据包进行加密(此为非对称密钥加密的方式),或者,服务器利用与电子签名设备协商得到的对称密钥对至少一个第一单位数据包进行加密。电子签名设备在接收到密文数据之后,利用与服务器的加密方式对应的解密方式将密文数据进行解密,得到至少一个第一单位数据包明文,即,利用电子签名设备的私钥对该密文数据解密得到第一单位数据包明文(此为非对称密钥解密的方式),或者,电子签名设备利用与服务器协商得到的对称密钥对该密文数据解密得到第一单位数据包明文。由此,可以防止第一单位数据包在传输过程中被复制或篡改,提高数据传输的安全性。步骤S13,电子签名设备将上述至少一个第一单位数据包存储于安全芯片中。在本实施例一种可选的实施方式中,电子签名设备中设置有安全芯片,该安全芯片内部拥有独立的处理器和存储单元,可存储PKI数字证书和密钥,以及其他特征数据,对数据进行加解密运算,为用户提供数据加密和身份安全认证服务,本实施例中,电子签名设备的安全芯片中存储的第一单位数据包不能被非法读出,可以保证存储的数据安全性。在步骤S13之前,本实施例提供的方法还包括:电子签名设备的安全芯片分配用于存储上述至少一个第一单位数据包的存储空间。在本实施例中,步骤S13中将上述至少一个第一单位数据包存储于安全芯片中,具体包括:将上述至少一个第一单位数据包存储于对应的存储空间中,并将对应的存储空间的状态字置为已占用。其中,安全芯片为每个第一单位数据包分配一个存储空间,一个存储空间只能存储一个第一单位数据包,且电子签名设备的交易记录中也会记录一笔交易中从服务器接收到的各个第一单位数据包存储的存储空间的位置。存储空间的状态字用于标识该存储空间是否已经被占用,如果已经被占用,则电子签名设备不能在该被占用的存储空间存储第一单位数据包。当安全芯片分配的所有存储空间都已被占用时,电子签名设备需要进行请求服务器更新数据包或者申请新的存储空间的操作,其中,作为一种可选的实施方式,电子签名设备可以申请新的存储空间以存储新接收到的第一单位数据包。作为另一种可选的实施方式,电子签名设备还可以向服务器请求更新本地存储的第一单位数据包,例如,电子签名设备可以请求服务器将本地存储的N个(N为大于1的正整数)代表小面值的第一单位数据包替换为1个或M个(M<N)代表大货币面值的第一单位数据包进行存储,只要存储的货币金额不变即可,由此便可以释放多个存储空间,从而节省出存储空间以存储新接收到的第一单位数据包。此外,为了进一步提高数据存储的安全性,在本步骤中,电子签名设备还可以将每个第一单位数据包进行加密得到每个第一单位数据包的密文数据,并将每个密文数据存储于对应的存储空间中。由此,可以保证存储在安全芯片的存储空间中的第一单位数据包不能被恶意复制或更改,以此确保存储第一单位数据包的安全性。在本实施例中,为了进一步保证步骤S13中电子签名设备存储的第一单位数据包的真实性,在执行步骤S13之前,作为本实施例中的一种可选实施方式,该交易方法还包括:电子签名设备对第一签名数据进行验证,在验证通过后执行步骤S13。其中,第一签名数据是服务器对第一单位数据进行签名得到的,每个第一单位数据包至少包括:第一单位数据以及服务器对第一单位数据签名得到的第一签名数据,由此使得电子签名设备可以验证第一单位数据包的真实性。作为一种可选的实施方式,第一签名数据为服务器利用自身的私钥对第一单位数据进行签名得到的签名数据。相应的,电子签名设备对第一签名数据进行验证具体包括:电子签名设备利用该服务器的公钥对第一签名数据进行验签。以服务器为银行服务器为例,银行服务器对第一单位数据进行HASH运算得到第一单位数据的摘要报文A1,并利用银行服务器自身的私钥对该摘要报文A1进行签名运算得到第一签名数据,并携带在第一单位数据包中下发至电子签名设备。电子签名设备可以利用该银行服务器的公钥对第一签名数据进行验签,具体地,电子签名设备利用银行服务器的公钥对第一电子签名数据进行运算得到运算结果A2,并对接收到的第一单位数据包中的第一单位数据进行HASH运算得到第一单位数据的摘要报文A3,将运算结果A2与摘要报文A3进行比对,如果比对结果一致,则电子签名设备对第一电子签名数据验签通过。其中,电子签名设备可以根据第一单位数据包中的银行证书序号和/或发行银行标识获取银行的公钥,例如,电子签名设备可以根据第一单位数据包中的发行银行标识,从与待验证的第一签名数据对应的发行银行服务器获取该银行的银行证书,并从银行证书中获取该银行的公钥;再例如,电子签名设备可以预存各个银行的银行证书,根据第一单位数据包中的银行证书序号从预存的各个银行证书中获取与待验证的第一签名数据对应的银行证书,并从对应的银行证书中获取银行的公钥。由此,电子签名设备利用银行的公钥对第一单位数据包中携带的第一签名数据进行验签,可以验证第一单位数据包的真实性。上述描述仅以服务器为银行服务器为例进行说明,但本实施例并不限于银行服务器,其他第三方服务器如超市购物卡储值服务器等的具体实施方式均属于本发明的保护范围之内。进一步地,电子签名设备在确保收到的第一单位数据包是真实的前提下,还想再确认服务器发送的对象是否确实为本电子签名设备,以避免存储服务器误发的数据包,在执行步骤S13之前,该交易方法还包括:电子签名设备对第二签名数据进行验证,在验证通过后执行步骤S13。其中,第二签名数据是服务器对第一单位数据和电子签名设备的设备标识签名得到的,因此,在本实施例一种可选的实施方式中,电子签名设备发送给服务器的交易请求中还包括:电子签名设备的设备标识;每个第一单位数据包至少包括:第一单位数据、服务器对第一单位数据和电子签名设备的设备标识签名得到的第二签名数据,由此使得电子签名设备可以验证第一单位数据包的真实性和正确性。作为一种可选的实施方式,第二签名数据为服务器利用服务器自身的私钥对第一单位数据和电子签名设备的设备标识进行签名得到的签名数据,也就是说,每个第二签名数据的签名对象为每个第一单位数据和电子签名设备的设备标识的组合。相应的,电子签名设备对第二签名数据进行验证具体包括:电子签名设备利用服务器的公钥分别对每个第二签名数据进行验签。以服务器为银行服务器为例,银行服务器利用自身的私钥对第一单位数据和电子签名设备的设备标识进行签名得到第二签名数据,并携带在第一单位数据包中下发至电子签名设备。电子签名设备可以利用该银行服务器的公钥对第二签名数据进行验签。其中,电子签名设备可以根据第一单位数据包中的银行证书序号和/或发行银行标识获取该银行的银行证书,并从银行证书中获取该银行的公钥,例如,电子签名设备可以根据第一单位数据中的发行银行标识,从与待验证的第二签名数据对应的发行银行服务器获取该银行的公钥;再例如,电子签名设备可以预存各个银行的银行证书,根据第一单位数据包中的银行证书序号从预存的各个银行证书中获取与待验证的第二签名数据对应的银行证书,并从对应的银行证书中获取银行的公钥。由此,电子签名设备利用银行的公钥对第一单位数据包中携带的第二签名数据进行验签,不仅可以验证第一单位数据包的真实性,还可以证明第一单位数据包确实是银行服务器下发给该电子签名设备的,即验证第一单位数据包的正确性。上述描述仅以服务器为银行服务器为例进行说明,但本实施例并不限于银行服务器,其他第三方服务器如超市购物卡储值服务器等的具体实施方式均属于本发明的保护范围之内。为了保证电子签名设备没有少收钱,即保证电子签名设备接收到的第一单位数据包的总金额等于交易金额,在本实施例一种可选的实施方式中,在步骤S13之后,该交易方法还包括:根据接收到的至少一个第一单位数据包的个数以及每个第一单位数据包所代表的货币面值计算接收到的第一单位数据包所代表的货币面值的总和与交易请求中的交易金额是否一致,如果不一致,则向服务器发送重发请求。例如,交易金额为10元,电子签名设备从服务器接收到5个第一单位数据包,计算5个第一单位数据包所代表的货币面值的总和是否等于10元,如果不足10元,则服务器发送重发请求。由此,电子签名设备可以通过向服务器发送重发请求,来解决接收到的第一单位数据包所代表的货币面值不足的问题。在电子签名设备向服务器发送重发请求后,电子签名设备会接收到服务器返回的重发信息,根据重发请求的内容不同,服务器返回的重发信息也会不同,例如,重发请求中可以携带电子签名设备的设备标识、交易记录(如每笔交易的编号、账户信息、时间戳、交易金额以及接收到的第一单位数据包的个数以及所代表的货币面值等等,这些服务器侧也会对应记录),以便于服务器查询到该电子签名设备对应的某一笔交易,全部重发该笔交易对应的第一单位数据包至电子签名设备,又例如,重发请求中还可以携带接收到的第一单位数据包的数据包标识(可以唯一标识一个第一单位数据包的标识,如服务器为每个第一单位数据包配置的唯一标识,或者货币序号),服务器接收到这些数据包标识后,可以查询到漏发或传输过程中丢失了哪些第一单位数据包,将这些漏发的或传输过程中丢失的第一单位数据包发送至电子签名设备。下面就服务器重发第一单位数据包进行示例性说明:例如,在电子签名设备向服务器发送重发请求之后,电子签名设备接收服务器根据重发请求发送的重发信息,其中,重发信息包括至少一个第一单位数据包。电子签名设备将之前存储于安全芯片中的至少一个第一单位数据包删除,并重新存储服务器重发的至少一个第一单位数据包。作为一种可选的实施方式,电子签名设备在向服务器发送重发请求后,电子签名设备接收服务器根据重发请求发送的重发信息,其中,该重发请求中至少包括:电子签名设备的设备标识以及交易记录,重发信息包括至少一个第一单位数据包,即在该可选的实施方式中,服务器向电子签名设备重发了一笔交易对应的全部第一单位数据包,在本实施例中,服务器在与单位电子签名工具进行交易时,也会存储每一笔交易对应的交易记录(如每笔交易的编号、账户信息、时间戳、交易金额以及发送的第一单位数据包的个数以及所代表的货币面值等等)以及电子签名设备的设备标识,根据设备标识以及交易记录可以查询到该电子签名设备对应的某一笔交易,在该可选实施方式中,服务器会将查询到的电子签名设备请求重发的该笔交易的第一单位数据包全部重发给电子签名设备,以保证电子签名设备收到完整的第一单位数据包,服务器与电子签名设备的交易无误(如充值无误)。为了保证电子签名设备不会重复存储数据包,在电子签名设备接收到服务器重发的第一单位数据包之前,本实施例提供的方法还包括:电子签名设备将之前存储于安全芯片中的至少一个第一单位数据包删除(即在该可选实施方式中,由于服务器会将该笔交易的第一单位数据包全部重新发送给电子签名设备,电子签名设备必须将之前接收到的该笔交易的全部第一单位数据包,即之前存储于安全芯片中的该笔交易对应的至少一个第一单位数据包删除),并重新存储服务器重发的至少一个第一单位数据包,其中,电子签名设备在执行上述删除第一单位数据包的操作之后,会将所占用的存储空间的状态字置为未占用,电子签名设备可以将重新接收到的第一单位数据包存储至之前安全芯片分配的存储空间中,并将占用的存储空间的状态字置为已占用,由此保证电子签名设备不会重复存储相同的第一单位数据包,且保证同一存储空间只能存储一个第一单位数据包。举例来说,对于一笔编号为1*******的交易,电子签名设备的交易请求中的交易金额为10元,电子签名设备接收服务器发送的5个分别代表2元货币面值的第一单位数据包,但由于传输过程中数据丢失,电子签名设备仅接收到4个分别代表2元货币面值的第一单位数据包,货币面值总和为8元,与交易金额10元不相等。针对该笔交易,电子签名设备向服务器发送重发请求,并接收服务器根据重发请求发送的重发信息,该重发请求中包括:电子签名设备的设备标识以及交易记录,服务器在接收到该重发请求后,可以根据设备标识以及交易记录查询到该电子签名设备对应的该笔交易,服务器会将查询到的电子签名设备请求重发的该笔交易的第一单位数据包全部重发给电子签名设备,即服务器发送给电子签名设备的该重发信息包括5个分别代表2元货币面值的第一单位数据包。电子签名设备将之前存储于安全芯片中的4个分别代表2元货币面值的第一单位数据包删除,并重新存储服务器重发的5个分别代表2元货币面值的第一单位数据包。由此,当电子签名设备没有接收到一笔交易所需的全部第一单位数据包时,服务器可以将该笔交易所需的全部第一单位数据包重发给电子签名设备,从而使交易能够顺利完成。再例如,在电子签名设备向服务器发送重发请求之后,电子签名设备接收服务器根据重发请求发送的重发信息,其中,重发信息包括电子签名设备未接收到的第一单位数据包,并将未接收到的第一单位数据包存储于安全芯片中。作为一种可选的实施方式,电子签名设备在向服务器发送重发请求后,电子签名设备接收服务器根据重发请求发送的重发信息,其中,该重发请求中至少包括:电子签名设备的设备标识、交易记录以及接收到的各个第一单位数据包的数据包标识,重发信息包括电子签名设备未接收到的第一单位数据包,即在该可选的实施方式中,服务器向电子签名设备重发了一笔交易中漏发的或传输过程中丢失的第一单位数据包,根据设备标识以及交易记录可以查询到该电子签名设备对应的某一笔交易,服务器会将查询到的该电子签名设备请求重发的该笔交易中没有查询到的数据包标识对应的那些第一单位数据包重发给电子签名设备,以保证电子签名设备收到完整的第一单位数据包,服务器与电子签名设备的交易无误(如充值无误)。与上一例中的可选实施方式相比,本可选实施方式可以减少服务器的数据传输量,大大降低服务器的工作负荷,提高服务器重发的工作效率。在该可选实施方式中,电子签名设备接收到服务器重发的第一单位数据包后,电子签名设备将之前未接收到的第一单位数据包存储于安全芯片中,即电子签名设备将重新接收到的第一单位数据包存储在安全芯片之前分配的存储空间中,并将占用的存储空间的状态字置为已占用,由此保证同一存储空间只能存储一个第一单位数据包。举例来说,对于一笔编号为1*******的交易,电子签名设备的交易请求中的交易金额为5元,电子签名设备接收服务器发送的2个分别代表2元货币面值的第一单位数据包(简称2元数据包),以及1个代表1元货币面值的第一单位数据包(简称1元数据包),但由于传输过程中数据丢失,电子签名设备仅接收到2个2元数据包,货币面值总和为4元,与交易金额5元不相等。针对该笔交易,电子签名设备向服务器发送重发请求,并接收服务器根据重发请求发送的重发信息,在重发请求中还携带有2个2元数据包的数据包标识,服务器接收到该重发请求后,针对该电子签名设备的该笔交易可以查询到其对应的所有第一单位数据包,便可以发现重发请求中没有1元数据包的数据包标识,服务器可以将该1元数据包重发给电子签名设备,即服务器发送给电子签名设备的该重发信息包括1个1元数据包。电子签名设备将服务器重发的1个1元数据包存储于安全芯片中。本实施例中,电子签名设备向服务器发送的重发请求中可以包括已经被接收到的部分第一单位数据包的数据包标识,服务器可以根据重发请求中的数据包标识来确定重发信息中需要携带的第一单位数据包。由此,当电子签名设备没有接收到一笔交易所需的全部第一单位数据包时,服务器可以将未收到的部分第一单位数据包重发给电子签名设备,不仅减少了重发数据的传输量,也保证了交易能够顺利完成。以上均是以一笔交易的实施方式为例进行说明的,在本实施例中,对于多笔交易中的每笔交易都可以按照上述方式来实现。在本实施例中,电子签名设备的存储空间毕竟是有限的,因此,需要随时监控电子签名设备的剩余空间,以便于即时释放存储空间,避免在交易过程中没有多余空间造成交易失败的问题。在本实施例一种可选的实施方式中,电子签名设备还设置有计数器,通过该计数器可以实时监控电子签名设备的剩余存储空间。具体地,在每一笔交易结束后,即在步骤S13中电子签名设备存储了接收到的第一单位数据包之后,电子签名设备利用计数器的计数值得到当前存储的第一单位数据包的总个数。具体地,在每一笔交易中计数器都会加上该笔交易接收到第一单位数据包的个数,在多笔交易之后,计数器的计数值会累计到一个数值,当该数值达到预设数值时,说明电子签名设备的存储空间已分配完毕,没有多余的存储空间了,此时,电子签名设备需要进行请求服务器更新数据包或者申请新的存储空间的操作(如上所述)。在本实施例中,每个存储空间的大小相同,每个第一单位数据包的大小相同,且与存储空间的大小匹配,例如,电子签名设备给一个第一单位数据包分配的存储空间的大小为2M,该2M的存储空间可以存储一个第一单位数据包,而一个安全芯片预留存储第一单位数据包的空间为1G,那么,该电子签名设备最多可以存储512个第一单位数据包,即预设数值可以设为512。由此,可以实时监控电子签名设备的剩余空间,并及时释放出多余的存储空间,避免在交易过程中没有多余空间造成交易失败的问题。当然,电子签名设备还可以利用计数器的计数值得到安全芯片中存储的每种货币面值的第一单位数据包的总个数。由此,电子签名设备可以根据存储的每种第一单位数据包所代表的货币面值以及个数得到当前存储的第一单位数据包的货币总额。在本实施例一种可选的实施方式中,在步骤S13之后,电子签名设备将交易金额计入当前账户余额,向持有用户显示交易金额和/或当前账户余额。由此,持有电子签名设备的用户可以在自己的设备上查询交易金额以及当前账户余额。采用本实施例提供的电子签名设备的交易方法,可以将用户的资金以数据包的形式存储于用户的电子签名设备中,且数据包的个数为一个或多个。用户在消费时,因为资金不再是以数值的形式存储于电子签名设备中,所以电子签名设备不需要通过与服务器联网来更改存储的数值,仅需将符合消费金额的一个或多个第一单位数据包发送给收款方即可,由此,电子签名设备在与其他电子签名设备进行电子交易时不再需要依托服务器进行联网支付,服务器不再需要对电子签名设备进行监管,从而真正地实现脱机电子交易。实施例2图2为本实施例提供的一种交易系统的结构示意图。如图2所示,该交易系统包括电子签名设备20和服务器30,其中,电子签名设备20包括:通信模块201、获取模块202和安全模块203。通信模块201,用于将交易请求发送至服务器30,其中,交易请求至少包括:交易金额;获取模块202,用于从服务器30接收至少一个第一单位数据包,其中,每个第一单位数据包代表多种货币面值中的一种货币面值,上述至少一个第一单位数据包所代表的货币面值的总和等于交易金额;安全模块203,用于存储上述至少一个第一单位数据包。在本实施例中,电子签名设备可以为具有签名功能的电子设备,例如,具有签名功能的智能卡(公交卡、银行卡、购物卡等等)、工行的U盾等等。通信模块201,用于将交易请求发送至服务器30,其中,交易请求至少包括:交易金额。在本实施例一种可选的实施方式中,通信模块201可以与外接设备(如PC或移动终端等)建立连接,通过该外接设备将交易请求发送至服务器30。或者,通信模块201包括有线接口或无线接口,与服务器30建立有线连接或无线连接,直接将交易请求发送至服务器30。其中,无线连接方式可以包括蓝牙、NFC近场通讯以及WIFI等方式。由此,本实施例中电子签名设备20可以通过多种方式将交易请求发送至服务器30。作为一种可选的实施方式,服务器30包括银行服务器或第三方服务器,例如,第三方服务器可以是某商场的购物卡储值服务器。例如,电子签名设备20需要执行充值的操作,通信模块201便向服务器30(银行服务器或商场的购物卡储值服务器)发送用于充值的交易请求,该交易请求中携带的交易金额便是电子签名设备20请求服务器30充值的金额数值,以便服务器30向电子签名设备20返回与交易金额对应的第一单位数据包(即服务器30返回的第一单位数据包的货币面值的总和等于交易金额)。获取模块202,用于从服务器30接收上述至少一个第一单位数据包,其中,每个第一单位数据包代表多种货币面值中的一种货币面值,上述至少一个第一单位数据包所代表的货币面值的总和等于交易金额。本实施例中,每个第一单位数据包代表多种货币面值中的一种货币面值,也就是说,货币面值共有多种,当获取模块202仅从服务器30接收到一个第一单位数据包时,该第一单位数据包仅代表其中的一种货币面值。当获取模块202从服务器30接收到多个第一单位数据包时,多个第一单位数据包可以代表多种不同的货币面值,例如,第一单位数据包的个数为3个,每个第一单位数据包分别代表货币面值1元、2元以及5元;或者,多个第一单位数据包可以代表相同的货币面值,例如,第一单位数据包的个数为3个,每个第一单位数据包均代表货币面值1元;再或者,多个第一单位数据包所代表的货币面值中既包括相同的也包括不相同的货币面值,例如,第一单位数据包的个数为3个,每个第一单位数据包分别代表货币面值1元、1元以及2元。由此,获取模块202从服务器30接收的上述至少一个第一单位数据包所代表的货币面值具有灵活的组合方式。在本实施例一种可选的实施方式中,第一单位数据包中至少包括第一单位数据,该第一单位数据至少包括:货币面值数据,或者,货币序号和货币面值数据。其中,货币面值数据为第一单位数据包所代表的货币面值,以此来标识第一单位数据包所代表的货币面值,货币序号为每个第一单位数据包的唯一序号,即不同的第一单位数据包中的货币序号是不同的。由此,能够保证每个第一单位数据包的唯一性,以便于辨认第一单位数据包的真伪。作为一种可选的实施方式,第一单位数据包至少还包括以下之一:发行银行标识和银行证书序号。其中,发行银行标识为发行该第一单位数据包的银行的标识信息,由此可以根据该标识查询到对应的发行银行的相关信息,而且,电子签名设备可以根据发行银行标识和银行证书序号获取对应的发行银行的银行证书,银行证书中包含有发行银行的公钥,以便于后续步骤中电子签名设备利用发行银行的公钥对第一单位数据的签名完成验证。在本实施例一种可选的实施方式中,第一单位数据包至少还包括:第一单位数据以及服务器30对第一单位数据签名得到的第一签名数据。作为一种可选的实施方式,服务器30利用自身的私钥分别对每个第一单位数据包中的第一单位数据进行签名,得到与每个第一单位数据包对应的第一签名数据。服务器30将至少一个携带有第一签名数据的第一单位数据包发送至电子签名设备20,以便于后续步骤中电子签名设备20中的安全模块203利用服务器30的公钥验证第一单位数据包的真实性。在本实施例另一种可选的实施方式中,通信模块201发送给服务器的交易请求中还包括:电子签名设备20的设备标识;每个第一单位数据包至少包括:第一单位数据、服务器30对第一单位数据和电子签名设备20的设备标识签名得到的第二签名数据。作为一种可选的实施方式,服务器30利用自身的私钥对第一单位数据和电子签名设备20的设备标识签名,得到与每个第一单位数据包对应的第二签名数据。服务器30将上述至少一个携带有第二签名数据的第一单位数据包发送至电子签名设备20,以便于后续步骤中电子签名设备20的安全模块203利用服务器的公钥验证第一单位数据包的正确性。在本实施例中,服务器30在收到电子签名设备20通过通信模块201发送的交易请求后,会从电子签名设备20对应的账户中扣除电子签名设备20请求的交易金额,并为电子签名设备20下发货币面值的总和等于交易金额的至少一个第一单位数据包,在获取模块202接收到这些第一单位数据包,即充值成功后,电子签名设备20便可以与其他电子签名设备完成线下交易,即不需要再与服务器30联网便可以给其他电子签名设备转账(即将第一单位数据包转发给其他电子签名设备)。每个第一单位数据包所代表的货币面值可以相同也可以不同,发送给电子签名设备20的第一单位数据包的个数以及各个第一单位数据包所代表的货币面值可以由服务器30根据交易金额确定,也可以由电子签名设备20根据交易金额确定后告知服务器30,例如,作为本实施例中的一种可选实施方式,通信模块201发送的交易请求中还可以携带第一单位数据包的种类以及个数。前者服务器30可以灵活实现第一单位数据包的下发,后者可以满足用户对第一单位数据包的个数以及面值的需求。在本实施例一种可选的实施方式中,每个第一单位数据包代表多种货币面值中的一种货币面值,例如,第一单位数据包所代表的货币面值包括:1元、2元、5元、10元、20元、50元和100元。当然,如果未来国家发行了新的货币面值、或者除了使用人民币之外的其他地区、国家的货币面值也属于本发明的保护范围,本实施例中仅以人民币面值进行举例说明。例如,电子签名设备20通过通信模块201将交易请求发送至服务器30,其中,交易请求包括的交易金额为10元,获取模块202从服务器30接收5个第一单位数据包,5个第一单位数据包所代表的货币面值分别为1元、1元、1元、2元和5元,5个第一单位数据包所代表的货币面值的总和为10元,与交易金额相等。当然,当交易请求包括的交易金额为10元时,获取模块202还可以从服务器30接收10个代表1元货币面值的第一单位数据包,或者,2个代表5元货币面值的第一单位数据包,或者,1个代表10元货币面值的第一单位数据包。也就是说,第一电子单位货币数据包所代表的货币面值与个数可以灵活组合,仅需使接收到的至少一个第一单位数据包所代表的货币面值的总和等于交易金额即可,此处仅以交易金额为10元为例,对于其他金额数值远离相同,此处不再举例说明。由此,在服务器30根据交易金额确定第一单位数据包的个数,以及各个第一单位数据包所代表的面值的情况下,服务器30可以灵活实现第一单位数据包的下发,可以有各种组合;在电子签名设备20根据交易金额确定第一单位数据包的个数,以及各个第一单位数据包所代表的面值的情况下,通信模块201可以将请求的个数以及对应的第一单位数据包所代表的货币面值发送至服务器30,由此可以满足用户对第一单位数据包的个数以及面值的需求。安全模块203,用于存储至少一个第一单位数据包。在本实施例一种可选的实施方式中,安全模块203包括安全芯片,该安全芯片内部拥有独立的处理器和存储单元,可存储PKI数字证书和密钥,以及其他特征数据,对数据进行加解密运算,为用户提供数据加密和身份安全认证服务,本实施例中,安全模块203中存储的第一单位数据包不能被非法读出,可以保证存储的数据安全性。安全模块203分配用于存储至少一个第一单位数据包的存储空间。在本实施例中,安全模块203用于存储至少一个第一单位数据包,具体包括:将至少一个第一单位数据包存储于对应的存储空间中,并将对应的存储空间的状态字置为已占用。其中,安全模块203为每个第一单位数据包分配一个存储空间,一个存储空间只能存储一个第一单位数据包,且电子签名设备20的交易记录中也会记录一笔交易中从服务器30接收到的各个第一单位数据包存储的存储空间的位置。存储空间的状态字用于标识该存储空间是否已经被占用,如果已经被占用,则安全模块203不能在该被占用的存储空间存储第一单位数据包。当安全模块203分配的所有存储空间都已被占用时,安全模块203需要通过通信模块201请求服务器30更新数据包,或者安全模块203需要申请新的存储空间,其中,作为一种可选的实施方式,安全模块203可以申请新的存储空间以存储新接收到的第一单位数据包。作为另一种可选的实施方式,安全模块203还可以通过通信模块201向服务器30请求更新本地存储的第一单位数据包,例如,安全模块203可以通过通信模块201请求服务器30将本地存储的N个(N为大于1的正整数)代表小面值的第一单位数据包替换为1个或M个(M<N)代表大货币面值的第一单位数据包进行存储,只要存储的货币金额不变即可,由此便可以释放多个存储空间,从而节省出存储空间以存储新接收到的第一单位数据包。此外,为了进一步提高数据存储的安全性,安全模块203还用于将每个第一单位数据包进行加密得到每个第一单位数据包的密文数据,并将每个密文数据存储于对应的存储空间中。由此,可以保证存储在安全模块203的存储空间中的第一单位数据包不能被恶意复制或更改,以此确保存储第一单位数据包的安全性。为了进一步提高服务器30下发第一单位数据包过程中数据传输的安全性,在本实施例一种可选的实施方式中,获取模块202还可以从服务器30接收至少一个第一单位数据包的密文数据,其中,该密文数据由服务器30对至少一个第一单位数据包进行加密得到的,安全模块203可以对该密文数据解密得到第一单位数据包原文,服务器30和电子签名设备20可以通过对称密钥加解密或非对称密钥加解密的方式实现数据的安全传输。作为一种可选的方式,服务器30对至少一个第一单位数据包进行加密的加密方式包括:服务器30利用电子签名设备20的公钥对至少一个第一单位数据包进行加密(此为非对称密钥加密的方式),或者,服务器30利用与电子签名设备20协商得到的对称密钥对至少一个第一单位数据包进行加密。安全模块203在获取模块202在接收到密文数据之后,可以利用与服务器30的加密方式对应的解密方式将密文数据进行解密,得到至少一个第一单位数据包明文,即,安全模块203利用自身存储的私钥对该密文数据解密得到第一单位数据包明文(此为非对称密钥解密的方式),或者,安全模块203利用与服务器30协商得到的对称密钥对该密文数据解密得到第一单位数据包明文。由此,可以防止第一单位数据包在传输过程中被复制或篡改,提高数据传输的安全性。在本实施例一种可选的实施方式中,为了进一步保证安全模块203中存储的第一单位数据包的真实性,安全模块203,还用于在存储上述至少一个第一单位数据包之前,对第一签名数据进行验证,并在验证通过后执行存储上述至少一个第一单位数据包的操作。其中,第一签名数据是服务器30对第一单位数据进行签名得到的,每个第一单位数据包至少包括:第一单位数据、服务器30对第一单位数据签名得到的第一签名数据,由此使安全模块203可以验证第一单位数据包的真实性。作为一种可选的实施方式,第一签名数据为服务器30利用自身的私钥对第一单位数据进行签名得到的签名数据。相应的,安全模块203对第一签名数据进行验证具体包括:安全模块203利用该服务器30的公钥对第一签名数据进行验签。以服务器30为银行服务器为例,银行服务器对第一单位数据进行HASH运算得到第一单位数据的摘要报文A1,并利用银行服务器自身的私钥对该摘要报文A1进行签名运算得到第一签名数据,并携带在第一单位数据包中下发至电子签名设备20。安全模块203可以利用该银行服务器的公钥对第一签名数据进行验签,具体地,安全模块203利用银行服务器的公钥对第一电子签名数据进行运算得到运算结果A2,并对接收到的第一单位数据包中的第一单位数据进行HASH运算得到第一单位数据的摘要报文A3,将运算结果A2与摘要报文A3进行比对,如果比对结果一致,则安全模块203对第一电子签名数据验签通过。其中,安全模块203可以根据第一单位数据包中的银行证书序号和/或发行银行标识获取银行的公钥,例如,安全模块203可以根据第一单位数据中的发行银行标识,利用获取模块202从与待验证的第一签名数据对应的发行银行获取该银行的银行证书,并从银行证书中获取该银行的公钥;再例如,安全模块203中可以预存各个银行的银行证书,根据第一单位数据包中的银行证书序号从预存的各个银行证书中获取与待验证的第一签名数据对应的银行证书,并从对应的银行证书中获取银行的公钥。由此,安全模块203利用银行的公钥对第一单位数据包中携带的第一签名数据进行验签,可以验证第一单位数据包的真实性。上述描述仅以服务器30为银行服务器为例进行说明,但本实施例并不限于银行服务器,其他第三方服务器如超市购物卡储值服务器等的具体实施方式均属于本发明的保护范围之内。进一步地,安全模块203在确保收到的第一单位数据包是真实的前提下,还想再确认服务器30发送的对象是否确实为电子签名设备20本身,以避免存储服务器30误发数据包,安全模块203,还用于在存储至少一个第一单位数据包之前,对第二签名数据进行验证,并在验证通过后执行存储至少一个第一单位数据包的操作。其中,第二签名数据是服务器30对第一单位数据和电子签名设备20的设备标识签名得到的,因此,在本实施例另一种可选的实施方式中,通信模块201发送给服务器30的交易请求中还包括:电子签名设备的设备标识;每个第一单位数据包至少包括:第一单位数据、服务器30对第一单位数据和电子签名设备的设备标识签名得到的第二签名数据,由此使得安全模块203可以验证第一单位数据包的真实性和正确性。作为一种可选的实施方式,第二签名数据为服务器30利用服务器30自身的私钥对第一单位数据和电子签名设备的设备标识进行签名得到的签名数据,也就是说,每个第二签名数据的签名对象为每个第一单位数据和电子签名设备的设备标识的组合。相应的,安全模块203对第二签名数据进行验证具体包括:安全模块203利用服务器30的公钥分别对每个第二签名数据进行验签。以服务器30为银行服务器为例,银行服务器利用自身的私钥对第一单位数据和电子签名设备20的设备标识进行签名得到第二签名数据,并携带在第一单位数据包中下发至电子签名设备20。安全模块230可以利用该银行服务器的公钥对第二签名数据进行验签。其中,安全模块203可以根据第一单位数据包中的银行证书序号和/或发行银行标识获取银行的公钥,例如,安全模块203可以根据第一数据包中的发行银行标识,利用获取模块202从与待验证的第二签名数据对应的发行银行服务器获取该银行的银行证书,并从银行证书中获取该银行的公钥;再例如,安全模块203可以预存各个银行的银行证书,根据第一数据包中的银行证书序号从预存的各个银行证书中获取与待验证的第二签名数据对应的银行证书,并从对应的银行证书中获取银行的公钥。由此,安全模块203利用银行的公钥对第一单位数据包中携带的第二签名数据进行验签,不仅可以验证第一单位数据包的真实性,还可以证明第一单位数据包确实是银行服务器下发给电子签名设备20的,即验证第一单位数据包的正确性。上述描述仅以服务器30为银行服务器为例进行说明,但本实施例并不限于银行服务器,其他第三方服务器如超市购物卡储值服务器等的具体实施方式均属于本发明的保护范围之内。为了保证电子签名设备20没有少收钱,即保证获取模块202接收到的第一单位数据包的总金额等于交易金额,在本实施例一种可选的实施方式中,所述安全模块203,还用于在存储所述至少一个第一单位数据包之后,根据接收到的所述至少一个第一单位数据包的个数以及所述每个第一单位数据包所代表的货币面值计算接收到的第一单位数据包所代表的货币面值的总和与所述交易请求中的交易金额是否一致,如果不一致,则通过所述通信模块201向所述服务器30发送重发请求。例如,交易金额为10元,获取模块202从服务器30接收到5个第一单位数据包,安全模块203计算5个第一单位数据包所代表的货币面值的总和是否等于10元,如果不足10元,则通信模块201向服务器30发送重发请求。由此,电子签名设备20可以通过向服务器30发送重发请求,来解决接收到的第一单位数据包所代表的货币面值不足的问题。在通信模块201向服务器30发送重发请求后,获取模块202会接收到服务器30返回的重发信息,根据重发请求的内容不同,服务器30返回的重发信息也会不同,例如,重发请求中可以携带电子签名设备20的设备标识、交易记录(如每笔交易的编号、账户信息、时间戳、交易金额以及接收到的第一单位数据包的个数以及所代表的货币面值等等,这些服务器30侧也会对应记录),以便于服务器30查询到该电子签名设备对应的某一笔交易,全部重发该笔交易对应的第一单位数据包至电子签名设备20,又例如,重发请求中还可以携带接收到的第一单位数据包的数据包标识(可以唯一标识一个第一单位数据包的标识,如服务器30为每个第一单位数据包配置的唯一标识,或者货币序号),服务器30接收到这些数据包标识后,可以查询到漏发或传输过程中丢失了哪些第一单位数据包,将这些漏发的或传输过程中丢失的第一单位数据包发送至电子签名设备20。下面就服务器30重发第一单位数据包进行示例性说明:例如,获取模块202,用于在通信模块201向服务器30发送重发请求之后,接收服务器30根据重发请求发送的重发信息,其中,重发信息包括上述至少一个第一单位数据包。安全模块203,用于将之前存储的至少一个第一单位数据包删除,并重新存储服务器重发的至少一个第一单位数据包。作为一种可选的实施方式,在通信模块201向服务器30发送重发请求后,获取模块202用于接收服务器30根据重发请求发送的重发信息,其中,该重发请求中至少包括:电子签名设备的设备标识以及交易记录,重发信息包括上述至少一个第一单位数据包,即在该可选的实施方式中,服务器30向电子签名设备20重发了一笔交易对应的全部第一单位数据包,在本实施例中,服务器30在与单位电子签名工具20进行交易时,也会存储每一笔交易对应的交易记录(如每笔交易的编号、账户信息、时间戳、交易金额以及发送的第一单位数据包的个数以及所代表的货币面值等等)以及电子签名设备20的设备标识,根据设备标识以及交易记录可以查询到该电子签名设备对应的某一笔交易,在该可选实施方式中,服务器30会将查询到的电子签名设备20请求重发的该笔交易的第一单位数据包全部重发给电子签名设备20,以保证电子签名设备20收到完整的第一单位数据包,服务器30与电子签名设备的交易无误(如充值无误)。为了保证安全模块203不会重复存储数据包,在获取模块202接收到服务器30重发的第一单位数据包之前,本实施例提供的方法还包括:安全模块203用于将之前存储于安全芯片中的至少一个第一单位数据包删除(即在该可选实施方式中,由于服务器30会将该笔交易的第一单位数据包全部重新发送给电子签名设备20,安全模块203必须将之前接收到的该笔交易的全部第一单位数据包,即之前存储于安全模块203中的该笔交易对应的至少一个第一单位数据包删除),并重新存储服务器30重发的至少一个第一单位数据包,其中,安全模块203在执行上述删除第一单位数据包的操作之后,会将所占用的存储空间的状态字置为未占用,安全模块203可以将重新接收到的第一单位数据包存储至之前分配的存储空间中,并将占用的存储空间的状态字置为已占用,由此保证安全模块203不会重复存储相同的第一单位数据包,且保证同一存储空间只能存储一个第一单位数据包。举例来说,对于一笔编号为1*******的交易,通信模块201发送的交易请求中的交易金额为10元,获取模块202接收服务器30发送的5个分别代表2元货币面值的第一单位数据包,但由于传输过程中数据丢失,获取模块202仅接收到4个分别代表2元货币面值的第一单位数据包,货币面值总和为8元,与交易金额10元不相等。针对该笔交易,获取模块202在通信模块201向服务器30发送重发请求之后,接收服务器30根据重发请求发送的重发信息,该重发请求中包括:电子签名设备20的设备标识以及交易记录,服务器30在接收到该重发请求后,可以根据设备标识以及交易记录查询到该电子签名设备对应的该笔交易,服务器30会将查询到的电子签名设备请求重发的该笔交易的第一单位数据包全部重发给电子签名设备20,即服务器30发送给电子签名设备20的该重发信息包括5个分别代表2元货币面值的第一单位数据包。安全模块203将之前存储的4个分别代表2元货币面值的第一单位数据包删除,并重新存储服务器30重发的5个分别代表2元货币面值的第一单位数据包。由此,当电子签名设备20没有接收到一笔交易所需的全部第一单位数据包时,服务器30可以将该笔交易所需的全部第一单位数据包重发给电子签名设备20,从而使交易能够顺利完成。又例如,获取模块202,用于在通信模块201向服务器30发送重发请求之后,接收服务器30根据重发请求发送的重发信息,其中,重发信息包括电子签名设备20未接收到的第一单位数据包;安全模块203,用于存储未接收到的第一单位数据包。作为一种可选的实施方式,在通信模块201向服务器30发送重发请求后,获取模块202用于接收服务器30根据重发请求发送的重发信息,其中,该重发请求中至少包括:电子签名设备20的设备标识、交易记录以及接收到的各个第一单位数据包的数据包标识,重发信息包括获取模块202未接收到的第一单位数据包,即在该可选的实施方式中,服务器30向电子签名设备20重发了一笔交易中漏发的或传输过程中丢失的第一单位数据包,根据设备标识以及交易记录可以查询到该电子签名设备20对应的某一笔交易,服务器30会将查询到的该电子签名设备20请求重发的该笔交易中没有查询到的数据包标识对应的那些第一单位数据包重发给电子签名设备20,以保证电子签名设备收到完整的第一单位数据包,服务器30与电子签名设备20的交易无误(如充值无误)。与上一例中的可选实施方式相比,本可选实施方式可以减少服务器30的数据传输量,大大降低服务器30的工作负荷,提高服务器30重发的工作效率。在该可选实施方式中,电子签名设备20接收到服务器30重发的第一单位数据包后,安全模块203用于将之前未接收到的第一单位数据包存储,即安全模块203将重新接收到的第一单位数据包存储在之前分配的存储空间中,并将占用的存储空间的状态字置为已占用,由此保证同一存储空间只能存储一个第一单位数据包。举例来说,对于一笔编号为1*******的交易,通信模块201发送的交易请求中的交易金额为5元,获取模块202接收服务器30发送的2个分别代表2元货币面值的第一单位数据包(简称2元数据包),以及1个代表1元货币面值的第一单位数据包(简称1元数据包),但由于传输过程中数据丢失,获取模块202仅接收到2个2元数据包,货币面值总和为4元,与交易金额5元不相等。针对该笔交易,获取模块202在通信模块201向服务器30发送重发请求之后,接收服务器30根据重发请求发送的重发信息,在重发请求中还携带有2个2元数据包的数据包标识,服务器30接收到该重发请求后,针对电子签名设备20的该笔交易可以查询到其对应的所有第一单位数据包,便可以发现重发请求中没有1元数据包的数据包标识,服务器30可以将该1元数据包重发给电子签名设备20,即服务器30发送给电子签名设备20的该重发信息包括1个1元数据包。安全模块203将服务器30重发的1个1元数据包存储。本实施例中,通信模块201向服务器30发送的重发请求中可以包括已经被接收到的部分第一单位数据包的数据包标识,服务器30可以根据重发请求中的数据包标识来确定重发信息中需要携带的第一单位数据包。由此,当电子签名设备20没有接收到一笔交易所需的全部第一单位数据包时,服务器30可以将未收到的部分第一单位数据包重发给电子签名设备20,不仅减少了重发数据的传输量,也保证了交易能够顺利完成。以上均是以一笔交易的实施方式为例进行说明的,在本实施例中,对于多笔交易中的每笔交易都可以按照上述方式来实现。在本实施例一种可选的实施方式中,安全模块203的存储空间毕竟是有限的,因此,需要随时监控电子签名设备的剩余空间,以便于即时释放存储空间,避免在交易过程中没有多余空间造成交易失败的问题。在本实施例一种可选的实施方式中,电子签名设备20还设置有计数器,安全模块203,用于通过该计数器的计数值监控安全模块203的剩余存储空间。具体地,在每一笔交易结束后,安全模块203,还用于在存储了接收到的第一单位数据包之后,利用计数器的计数值得到当前存储的第一单位数据包的总个数。具体地,在每一笔交易中计数器都会加上该笔交易接收到第一单位数据包的个数,在多笔交易之后,计数器的计数值会累计到一个数值,当该数值达到预设数值时,说明安全模块203的存储空间已分配完毕,没有多余的存储空间了,此时,安全模块203需要进行请求服务器30更新数据包或者申请新的存储空间的操作(如上所述)。在本实施例中,每个存储空间的大小相同,每个第一单位数据包的大小相同,且与存储空间的大小匹配,例如,安全模块203给一个第一单位数据包分配的存储空间的大小为2M,该2M的存储空间可以存储一个第一单位数据包,而一个安全模块203预留存储第一单位数据包的空间为1G,那么,该安全模块203最多可以存储512个第一单位数据包,即预设数值可以设为512。由此,可以实时监控安全模块203的剩余空间,并及时释放出多余的存储空间,避免在交易过程中没有多余空间造成交易失败的问题。当然,安全模块203还可以利用计数器的计数值得到安全模块203中存储的每种货币面值的第一单位数据包的总个数。由此,安全模块203可以根据存储的每种第一单位数据包所代表的货币面值以及个数得到当前存储的第一单位数据包的货币总额。在本实施例一种可选的实施方式中,如图2所示,电子签名设备20还包括交互模块204;安全模块203,用于在存储至少一个第一单位数据包之后,将交易金额计入当前账户余额;交互模块204,用于向持有用户显示交易金额和/或当前账户余额。由此,持有电子签名设备20的用户可以在自己的设备上查询交易金额以及当前账户余额。本实施例中,服务器30,用于在接收到电子签名设备20发送的交易请求后,将至少一个第一单位数据包发送至电子签名设备20。采用本实施例提供的交易系统,可以将用户的资金以至少一个第一单位数据包的形式存储于用户的电子签名设备中,且数据包的个数为一个或多个。用户在消费时,因为资金不再是以数值的形式存储于电子签名设备中,所以电子签名设备不需要更改存储的数值,仅需将符合消费金额的一个或多个第一单位数据包发送给收款方即可,由此,电子签名设备在与其他电子签名设备进行电子交易时不再需要依托服务器进行联网支付,服务器不再需要对电子签名设备进行监管,从而真正地实现脱机电子交易。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1