CN103795807A - 基于p2p网络的任务数据处理方法、装置及系统 - Google Patents

基于p2p网络的任务数据处理方法、装置及系统 Download PDF

Info

Publication number
CN103795807A
CN103795807A CN201410073543.6A CN201410073543A CN103795807A CN 103795807 A CN103795807 A CN 103795807A CN 201410073543 A CN201410073543 A CN 201410073543A CN 103795807 A CN103795807 A CN 103795807A
Authority
CN
China
Prior art keywords
hardware terminal
data
password
networked devices
bag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410073543.6A
Other languages
English (en)
Other versions
CN103795807B (zh
Inventor
徐刚
楚劲松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201410073543.6A priority Critical patent/CN103795807B/zh
Publication of CN103795807A publication Critical patent/CN103795807A/zh
Application granted granted Critical
Publication of CN103795807B publication Critical patent/CN103795807B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于P2P网络的任务数据处理方法、装置及系统。该基于P2P网络的任务数据处理方法包括:P2P网络中的联网设备获取数据转移任务请求信息;独立于联网设备的硬件终端获取联网设备中保存的数据转移任务请求信息;硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包;以及硬件终端将数字签名后的数据转移信息包反馈给联网设备。通过本发明,解决了相关技术中基于P2P网络进行任务数据处理的安全性低的问题,并提高了任务数据处理的效率。

Description

基于P2P网络的任务数据处理方法、装置及系统
技术领域
本发明涉及计算机领域,具体而言,涉及一种基于P2P网络的任务数据处理方法、装置及系统。
背景技术
连接在等同网络(Peer to Peer,简称P2P)中的每个联网设备是一个P2P节点。以比特币为例,P2P网络中的联网设备可以基于比特币进行转账,其中,比特币转账实质上为任务数据处理。
目前,在相关技术中,提供了一种P2P网络的任务数据处理的技术方案。在该技术方案中,联网设备和硬件终端为一体式设计,这给比特币转账带来了风险和不便,因为:
1被密码加密的私钥只能存储在联网设备上,用户只能在联网设备上输入密码。由于联网设备是联网的,因此密码以及被该密码加密的私钥容易被木马盗走,而由密码和被该密码加密的私钥可以还原出私钥,因而容易导致比特币被窃取。由于比特币具有匿名性,因此其丢失后无法追回。
2如果想完成一次比特币转账,首先要获取目标账号公钥/地址和数据转移数量,然后将目标账号公钥/地址和数据转移数量传递给联网设备。由于没有专门的传递机制,因此该比特币转账不仅耗时,而且麻烦。另外,这种比特币转账方式也为诈骗份子提供了诈骗机会,例如,诈骗份子用短信传递的账号公钥/地址刚好也来到了用户处。
3硬件终端发送数据转移信息包后,需要经过P2P网络传播一段时间之后,联网设备才能接收到未经确认的数据转移信息包,而未经确认的数据转移信息包可能是欺骗信息。另外,对数据转移信息包进行比特币网络的工作证明机制的认证,大约需要等待10~60分钟,因此比特币转账的工作效率非常低,这给用户造成了不便。
其中,硬件终端可以是比特币的硬件钱包,而比特币的硬件钱包可以是电子钱包。在相关技术中,比特币钱包必须在联网状态下使用。
针对相关技术中基于P2P网络进行任务数据处理的安全性低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种基于P2P网络的任务数据处理方法、装置及系统,以解决相关技术中基于P2P网络进行任务数据处理的安全性低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种基于P2P网络的任务数据处理方法。该方法包括:P2P网络中的联网设备获取数据转移任务请求信息;独立于联网设备的硬件终端获取联网设备中保存的数据转移任务请求信息;硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包;以及硬件终端将数字签名后的数据转移信息包反馈给联网设备。
进一步地,在P2P网络中的联网设备获取数据转移任务请求信息之前,该方法还包括:初始化硬件终端,生成硬件终端的公钥私钥对。
进一步地,在初始化硬件终端,生成硬件终端的公钥私钥对之前,或在初始化硬件终端,生成硬件终端的公钥私钥对之后,方法还包括:在硬件终端中存储预设的认证密码;或在硬件终端中存储预设的认证密码和便捷密码。
进一步地,在获取联网设备中保存的数据转移任务请求信息之后,该方法还包括:硬件终端获取认证密码和/或便捷密码;使用认证密码和/或便捷密码对硬件终端进行身份认证;以及其中,如果身份认证成功,则进入执行硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名的步骤。
进一步地,在硬件终端获取认证密码和/或便捷密码之前,该方法还包括:检测硬件终端是否具有认证密码和/或便捷密码,其中,联网设备获取认证密码或便捷密码,传递给硬件终端;如果检测得到硬件终端不具有认证密码和/或便捷密码,则为硬件终端设置新认证密码和/或新便捷密码,其中,硬件终端设置新认证密码和/或新便捷密码的步骤包括:依次输入预定数量的新认证密码和/或新便捷密码;判断依次输入各个新认证密码和/或新便捷密码是否相同;如果每个新认证密码和/或新便捷密码相同,则硬件终端保存新认证密码和/或新便捷密码;以及其中,在使用便捷密码对硬件终端进行身份认证的认证次数超过第一阈值的情况下,便捷密码认证失败。
进一步地,该方法还包括:在生成硬件终端的公钥私钥对之前,硬件终端存储预设的备份密码;在硬件终端中存储预设的认证密码之后,联网设备接收启动备份任务的备份指令;联网设备将备份指令传输给硬件终端;硬件终端获取备份密码;使用备份密码对硬件终端进行身份认证;其中,如果身份认证成功,硬件终端使用认证密码将公钥私钥对中的私钥加密,得到备份密码包;以及硬件终端将备份密码包和公钥私钥对中的公钥传输给联网设备。
进一步地,数据转移任务请求信息包括目标账户信息和数据转移数量信息,其中目标账户信息包括目标账户的公钥或者由目标账户的公钥按照P2P网络约定的方法演算出的信息。在获取联网设备中保存的数据转移任务请求信息之后,方法还包括:
硬件终端判断目标账户信息和数据转移数量信息的格式是否正确;以及
如果硬件终端判断出目标账户信息和数据转移数量信息的格式正确,则判断硬件终端判断硬件终端中的余额是否大于等于数据转移数量信息对应的数据转移数量,
其中,如果硬件终端判断出硬件终端中的余额大于等于数据转移数量信息对应的数据转移数量,则进入执行硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤。
进一步地,硬件终端按照P2P网络的约定格式排列目标账户信息、数据转移数量信息、公钥私钥对中的公钥、使用公钥私钥对中的私钥对上述信息的数字签名,生成数字签名后的数据转移信息包。
进一步地,在硬件终端将数字签名后的数据转移信息包反馈给联网设备之后,该方法还包括:联网设备使用数字签名后的数据转移信息包中的公钥私钥对中的公钥对数字签名后的数据转移信息包进行数字验签,如果联网设备对数字签名后的数据转移信息包数字验签成功,则将数据转移信息包广播到P2P网络中;其中,根据数字签名后的数据转移信息包中的公钥私钥对中的公钥,从P2P网络中的联网设备中查询账户的当前余额信息,判断当前余额信息是否大于等于数据转移数量,如果当前余额信息是大于等于数据转移数量,则确定数据转移数量是合法的。
进一步地,该方法还包括:联网设备获得数据更新指令;联网设备向硬件终端发送数据更新请求;硬件终端将公钥发送至联网设备;联网设备从P2P网络中查询硬件终端中当前账户对应的余额信息,余额信息是P2P网络中联网设备接收到的当前账户的所有转入转出记录的加总;以及将余额信息传递给硬件终端;硬件终端记录余额信息。
为了实现上述目的,根据本发明的另一方面,提供了一种基于P2P网络的任务数据处理装置。该装置包括:第一获取模块,用于使得P2P网络中的联网设备获取数据转移任务请求信息;第二获取模块,用于使得独立于联网设备的硬件终端获取联网设备中保存的数据转移任务请求信息;数字签名模块,用于使得硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包;以及反馈模块,用于使得硬件终端将数字签名后的数据转移信息包反馈给联网设备。
进一步地,该装置还包括:初始化模块,用于在P2P网络中的联网设备获取数据转移任务请求信息之前,初始化硬件终端,生成硬件终端的公钥私钥对。
进一步地,该装置还包括:第一存储模块,用于在初始化硬件终端,生成硬件终端的公钥私钥对之前,或在初始化硬件终端,生成硬件终端的公钥私钥对之后,在硬件终端中存储预设的认证密码;或第二存储模块,用于在初始化硬件终端,生成硬件终端的公钥私钥对之前,或在初始化硬件终端,生成硬件终端的公钥私钥对之后,在硬件终端中存储预设的认证密码和便捷密码。
进一步地,该装置还包括:第三获取模块,用于使得在获取联网设备中保存的数据转移任务请求信息之后,硬件终端获取认证密码和/或便捷密码,其中,联网设备获取认证密码或便捷密码,传递给硬件终端;第一认证模块,用于使用认证密码和/或便捷密码对硬件终端进行身份认证;以及第一执行模块,用于如果身份认证成功,则进入执行硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名的步骤。
进一步地,该装置还包括:检测模块,用于在硬件终端获取认证密码和/或便捷密码之前,检测硬件终端是否具有认证密码和/或便捷密码;设置模块,用于如果检测得到硬件终端不具有认证密码和/或便捷密码,则为硬件终端设置新认证密码和/或新便捷密码,其中,设置模块包括:输入子模块,用于依次输入预定数量的新认证密码和/或新便捷密码;判断子模块,用于判断依次输入各个新认证密码和/或新便捷密码是否相同;保存子模块,用于如果每个新认证密码和/或新便捷密码相同,则硬件终端保存新认证密码和/或新便捷密码;以及锁死模块,用于在使用便捷密码对硬件终端进行身份认证的认证次数超过第一阈值的情况下,便捷密码认证失败。
进一步地,该装置还包括:第三存储模块,用于在生成硬件终端的公钥私钥对之前,硬件终端存储预设的备份密码;接收模块,用于在硬件终端中存储预设的认证密码之后,联网设备接收启动备份任务的备份指令;第一传输模块,用于使得联网设备将备份指令传输给硬件终端;第四获取模块,用于使得硬件终端获取备份密码;第二认证模块,用于使用备份密码对硬件终端进行身份认证;加密模块,用于使得如果身份认证成功,硬件终端使用认证密码将公钥私钥对中的私钥加密,得到备份密码包;以及第二传输模块,用于使得硬件终端将备份密码包和公钥私钥对中的公钥传输给联网设备。
进一步地,数据转移任务请求信息包括目标账户信息和数据转移数量信息,其中目标账户信息包括目标账户的公钥或者由目标账户的公钥按照P2P网络约定的方法演算出的信息。装置还包括:第一判断模块,用于使得在获取联网设备中保存的数据转移任务请求信息之后,硬件终端判断目标账户信息和数据转移数量信息的格式是否正确;第二判断模块,用于使得如果硬件终端判断出目标账户信息和数据转移数量信息的格式正确,则判断硬件终端判断硬件终端中的余额是否大于等于数据转移数量信息对应的数据转移数量,第二执行模块,用于如果硬件终端判断出硬件终端中的余额大于等于数据转移数量信息对应的数据转移数量,则进入执行硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤。
进一步地,数字签名模块还用于使得硬件终端按照P2P网络的约定格式排列目标账户信息、数据转移数量信息、公钥私钥对中的公钥、使用公钥私钥对中的私钥对上述信息的数字签名,生成数字签名后的数据转移信息包。
进一步地,该装置还包括:数字验签模块,用于使得在硬件终端将数字签名后的数据转移信息包反馈给联网设备之后,联网设备使用数字签名后的数据转移信息包中的公钥私钥对中的公钥对数字签名后的数据转移信息包进行数字验签;广播模块,用于如果联网设备对数字签名后的数据转移信息包数字验签成功,则将数据转移信息包广播到P2P网络中;其中,根据数字签名后的数据转移信息包中的公钥私钥对中的公钥,从P2P网络中的联网设备中查询账户的当前余额信息,判断当前余额信息是否大于等于数据转移数量,如果当前余额信息是大于等于数据转移数量,则确定数据转移数量是合法的。
进一步地,该装置还包括:第五获取模块,联网设备获得数据更新指令;第一发送模块,用于使得联网设备向硬件终端发送数据更新请求;第二发送模块,用于使得硬件终端将公钥发送至联网设备;查询模块,用于使得联网设备从P2P网络中查询硬件终端中当前账户对应的余额信息,余额信息是P2P网络中联网设备接收到的当前账户的所有转入转出记录的加总;传递模块,用于将余额信息传递给硬件终端;以及记录模块,用于使得硬件终端记录余额信息。
为了实现上述目的,根据本发明的另一方面,提供了一种基于P2P网络的任务数据处理系统。该系统包括:P2P网络中的联网设备,用于获取数据转移任务请求信息;以及独立于联网设备的硬件终端,用于获取联网设备中保存的数据转移任务请求信息,在对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包之后,将数字签名后的数据转移信息包反馈给联网设备。
通过本发明,采用P2P网络中的联网设备获取数据转移任务请求信息;独立于联网设备的硬件终端获取联网设备中保存的数据转移任务请求信息;硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包;以及硬件终端将数字签名后的数据转移信息包反馈给联网设备,由于该硬件终端在非联网的情况下进行密码输入,因此避免了密码被恶意盗取,解决了相关技术中基于P2P网络进行任务数据处理的安全性低的问题,进而达到了提高P2P网络中任务数据处理的安全性的效果,并提高了任务数据处理的效率。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的基于P2P网络的任务数据处理系统的示意图;
图2是根据本发明实施例二的基于P2P网络的任务数据处理方法的流程图;以及
图3是根据本发明实施例三的基于P2P网络的任务数据处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
需要说明的是,在本发明中,硬件终端2可以是硬件钱包,并且硬件终端2中可以具有一个或者多个账户,每个账户可以为一个账户公钥私钥对,且每个账户均可以以比特币作为转账媒介执行支付功能。硬件终端2中可以具有多个不同虚拟货币的账户,例如莱特币账户,无限币账户。另外,可以在硬件终端2中删除或者添加账户,并且可以将硬件终端2中的各个账户公钥发送至P2P网络中的各个节点,即,可以将硬件终端2中的各个账户公钥发送至P2P网络中的各个联网设备1。这样,被公钥私钥对中的账户私钥数字签名后的数据转移信息包可以被联网设备1中相应的账户公钥进行数字验签,而数字验签成功的数据转移信息包可以实现数据转移信息包对应的数据的转移。其中,数据转移可以是比特币转账。以下本发明将以比特币转账为例进行详细阐述。
实施例一:
根据本发明的实施例,提供了一种基于P2P网络的任务数据处理系统,该系统用于提高P2P网络的任务数据处理的安全性。
图1是根据本发明实施例一的基于P2P网络的任务数据处理系统的示意图。
如图1所示,该系统包括:联网设备1和硬件终端2。
联网设备1为连接在P2P网络中的一个或者多个终端,该终端可以是手机终端、计算机终端和平板电脑终端等。联网设备1可以用于获取数据转移任务请求信息。其中,联网设备1可以用于通过以下方式获取数据转移任务请求信息:方式一,接收用户输入的数据转移任务请求信息;方式二,获取预先存储在联网设备1中的数据转移任务请求信息,其中,当预先存储的数据转移任务请求信息发生变化时,可以更新数据转移任务请求信息,并保存更新后的数据转移任务请求信息;方式三,接收其他的联网设备1发送的数据转移任务请求信息;方式四,读取其他的联网设备1存储的数据转移任务请求信息;其中,在以方式一、三、四获取数据转移任务请求信息之后,联网设备1可以保存相应的数据转移任务请求信息。
需要说明的是,此时,联网设备1获取的数据转移任务请求信息为未数字签名的数据转移任务请求信息,而未数字签名的数据转移任务请求信息不具有数据转移功能。数据转移任务请求信息可以包括比特币转账任务请求信息,而比特币转账任务请求信息可以包括目标账户信息和数据转移数量信息。目标账户信息可以是目标账户公钥,或基于P2P网络约定的方法由目标账户公钥导出的目标账户地址。
硬件终端2独立于一个或者多个联网设备1,并且硬件终端2不接入P2P网络中。在硬件终端2与联网设备1建立通信关系之后,硬件终端2可以用于获取联网设备1中保存的数据转移任务请求信息,在对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包之后,将数字签名后的数据转移信息包反馈给联网设备1。其中,反馈给联网设备1的数字签名后的数据转移信息包经联网设备1数字验签为正确的数字签名后的数据转移信息包之后,可以实现数据转移任务。
需要说明的是,在本发明实施例中,该数据转移信息包除了包括上述的目标账户信息和数据转移数量信息之外,还可以包括转出账户公钥和找零账户公钥等。其中,目标账户和转出账户均可以包括一个或者多个。
通过本发明实施例,将硬件终端2独立于联网设备1之外,并且在进行任务数据处理过程中,通过硬件终端2对未数字签名的数据转移任务请求信息进行数字签名,可以避免私钥被恶意盗取,达到了提高P2P网络的任务数据处理的安全性的效果。
可选地,联网设备1和硬件终端2可以采用以下任意一种或多种通讯方式进行数据传输:
方式一,存储介质设备(U盘)可以作为一种中继设备使用。例如以U盘为例:U盘插入联网设备1之后,U盘内写入数据转移任务信息,然后U盘插入移动终端,移动终端可以读取数据转移任务信息,写入签名后的数据转移信息包;然后U盘再插联网设备1,读取签名后的数据转移信息包。
方式二,在联网设备1和硬件终端2上均可以设置NFC(近场通讯,Near FieldCommunication,简称NFC)设备,以使联网设备10和硬件终端2通过NFC设备进行数据传输。
方式三,可以分别在联网设备1和硬件终端2上设置相应的一维码或二维码生成模块和扫描模块,这样,联网设备1和硬件终端2中的一端通过一维码或二维码生成模块生成表示传输数据的一维码或二维码,另一端通过扫描模块扫描前述一维码或二维码读取前述传输数据。
方式四,可以在联网设备1和硬件终端2上设置能够进行声波、超声波或电磁波传输和接收的器件。这样,联网设备1和硬件终端2中的一端通过声波、超声波或电磁波发送传输数据,另一端则相应地接收声波、超声波或电磁波中的前述传输数据。
方式五,可以在联网设备1和硬件终端2上设置蓝牙设备,联网设备1和硬件终端2中的一端通过蓝牙发送传输数据,另一端则相应地通过蓝牙接收前述传输数据。
方式六,可以在转账系统中设置数据传输线,该传输线的一端可以连接联网设备1的通讯接口(比如USB口、COM口、PS2口、并口、显示接口、耳机/麦克风接口等),另一端可以连接硬件终端2。
具体地,联网设备1可以通过P2P网络进行数据转移信息包的传递,并且P2P网络中的各个节点上的联网设备1可以验证数据转移信息包的正确性。在验证数据转移信息包为正确的信息包之后,P2P网络可以备份该正确的数据转移信息包,并将正确的数据转移信息包发布到P2P网络中的各个节点上的联网设备1。硬件终端2可以首先从联网设备1获取数据转移任务请求信息,然后生成数据转移信息包,最后将生成的数据转移信息包发送给联网设备1。
上述实例中的硬件终端2可以提供人工确认功能,例如按钮或者语音确认或者震动确认。即硬件终端2在将要把数据转移信息包发送给联网设备1之前,需要等待持有者的人工确认,人工确认后再发送数据转移信息包,以提高安全性。在此基础上,还可以提供转账信息提示功能,向硬件终端2持有者提示转账数量和转入账户信息。提示方式可以用显示屏显示、喇叭或音箱语音提示、震动装置的震动时长和次数等,进一步提高安全性,并提高用户体验,并提高了任务数据处理的效率。
需要说明的是,数据转移信息包可以包括未经确认的数据转移信息包和未经确认的新增数据信息包和已经确认的信息包,其中,已经确认的信息包可以包括已经确认的数据转移信息包、已经确认的新增数据信息包、已经确认的信息包的属性信息包。
其中,每个数据转移信息包可以包括一个或者多个转出数据的账户的公钥、一个或者多个转入数据的账户的公钥或按照P2P网络约定方法由公钥演算出的地址、转入数据的账户的转入数量。其中,可以用转出数据的账户的私钥对该数据转移信息包中的信息进行的数字签名。新增数据信息包可以包括为整个系统引入的新增数据的数量、新增数据的所属账户的公钥。其中,可以用新增数据的所属账户的私钥对新增数据信息包中的信息进行的数字签名。确认信息包的属性信息包可以包括确认方的账户公钥、确认时间、确认的所有信息包的莫克尔根和哈希值调节变量、根据确认信息包的属性信息包中的信息及在该确认信息包的属性信息包之前的属性信息包的哈希值计算出该确认信息包的属性信息包的哈希值。
联网设备1验证数据转移信息包(未确认的或者已经确认的)的正确性可以包括:验证数据转移信息包的格式是否正确、验证所有转出数据的账户中的剩余比特币的数量之和是否大于等于所有转入数据的账户的剩余比特币之和、验证数字签名是否正确。
联网设备1验证新增数据信息包(未确认的或者已经确认的)正确性可以包括:验证新增数据信息包格式是否正确、验证新增比特币的数量是否符合预设规则、验证数字签名是否正确。
联网设备1验证已经确认信息包正确性可以包括:验证该信息包的信息格式是否正确、验证每一个经确认的经确认的数据转移信息包是否正确、验证每一个新增数据的信息包是否正确、验证属性信息包内地数字签名是否正确、验证属性信息包内的哈希值是否符合预设的规则。其中,生成符合预设规则的哈希值的方法可以为:首先,接收并验证最新的确认信息包;然后,收录验证通过的未确认转移信息包并生成莫克尔根,随机设置哈希值条件变量,根据确认信息包预设格式排列前述信息并计算哈希值,直到找到符合预设规则的哈希值。另外,在找到符合预设规则的哈希值之后,可以将该确认信息包发布到P2P网络中。
例如,商家可在其自身的计算机设备(联网设备1)上输入商品1的售价(比特币转账任务请求信息中的数据转移数量信息,如该数据转移数量信息对应的数据转移数量可以为100比特币)和商家的账户公钥(即商家的账户地址),并且该计算机设备可以根据商品1的售价和商家的账户公钥生成相应的二维码。这样,任何买家想要拍得商品1,都可以使用其自身的硬件钱包(硬件终端2)读取前述二维码,从而用硬件钱包中预先存储的账户私钥将商品1的售价和商家的账户公钥以及硬件钱包的账户公钥和找零账户公钥等进行数字签名,得到数字签名后的数据转移信息包,并将数字签名后的数据转移信息包传递给商家。商家在得到数字签名后的数据转移信息包之后,可以使用数据转移信息包内的硬件钱包的账户公钥(即买家的账户公钥)对数字签名后的数据转移信息包进行数字验签。当商家数字验签成功后,买家可以成功支付100比特币,从而可以拍得商品1;当商家数字验签不成功后,买家支付100比特币失败,从而不可以拍得商品1。
通过本发明实施例,采用在硬件终端2上进行数字签名,可以降低硬件终端2上的账户私钥的失窃率,达到提高P2P网络的任务数据处理的安全性的效果。
具体地,在P2P网络中的联网设备1获取数据转移任务请求信息之前,还可以初始化该系统中的硬件终端2,生成硬件终端2的公钥私钥对。其中,每个硬件终端2可以在限定总数范围内任意生成一个或者多个公钥私钥对。
可选地,在初始化硬件终端2,生成硬件终端2的公钥私钥对之后,或者在初始化硬件终端2,生成硬件终端2的公钥私钥对之前,还可以在该系统的硬件终端2中存储预设的认证密码,或者在硬件终端2中存储预设的认证密码和便捷密码。认证密码可以用于对公钥私钥中的私钥进行加密处理,得到加密后的私钥。其中,在得到加密后的私钥之后,可以将其保存在硬件终端2中,为了进一步提高安全性,硬件终端2可以只存储加密后的私钥,删除未加密的私钥。这样,在使用硬件终端2进行比特币转账时,可以通过接收认证密码,利用接收到的认证密码将加密后的私钥解密,进而使用公钥与解密后的私钥配对,以确认认证密码是否正确。
进一步可选地,便捷密码可以对认证密码进行加密,得到加密后的认证密码。其中,硬件终端2可以保存被认证密码加密后的私钥和被便捷密码加密后的认证密码。这样,在使用硬件终端2进行比特币转账时,首先可以获取便捷密码,并运用便捷密码解密出认证密码,然后再用解密出的认证密码解密对被认证密码加密的私钥进行解密,从而实现对硬件终端2的身份认证。
具体地,在获取联网设备1中保存的数据转移任务请求信息之后,首先,硬件终端2可以获取认证密码和/或便捷密码,其中,联网设备1获取认证密码或便捷密码,传递给硬件终端2;然后,可以使用认证密码和/或便捷密码对硬件终端2进行身份认证;其中,如果身份认证成功,则硬件终端2进入执行对包含了数据转移任务请求信息的数据转移信息包进行数字签名的步骤。
优选地,硬件终端2设置新认证密码和/或新便捷密码的步骤可以包括:依次输入预定数量的新认证密码和/或新便捷密码;判断依次输入各个新认证密码和/或新便捷密码是否相同;如果每个新认证密码和/或新便捷密码相同,则硬件终端保存新认证密码和/或新便捷密码。
需要说明的是,硬件终端2获取认证密码和/或便捷密码的方式可以包括:方式一,获取用户输入的认证密码和/或便捷密码;方式二,获取程序自动执行的认证密码和/或便捷密码。例如,对于IC卡型的硬件终端2,可以获取用户在联网设备1上输入认证密码和/或便捷密码,而对于手机型的硬件终端2,可以获取用户在硬件终端2上输入认证密码和/或便捷密码。
优选地,在硬件终端2获取认证密码和/或便捷密码之前,该系统还可以:
首先,检测硬件终端2是否具有认证密码和/或便捷密码。
然后,如果检测得到硬件终端2不具有认证密码和/或便捷密码,则为硬件终端2设置新认证密码和/或新便捷密码。
其中,硬件终端2设置新便捷密码的步骤可以包括:1)依次输入预定数量的新便捷密码,例如,可以依次输入2次新便捷密码;2)判断依次输入的各个新便捷密码是否相同;3)如果每个新便捷密码相同,则硬件终端2保存新便捷密码。
该系统在使用便捷密码对硬件终端2进行身份认证的认证次数超过第一阈值的情况下,便捷密码认证失败。例如,第一阈值可以为3,在进行身份认证时,如果硬件终端2连续接受到3次错误的便捷密码时,可以将硬件终端2进行锁死。这样,可以防止恶意攻击者在得到硬件终端2之后,猜中便捷密码,进而盗取硬件终端2中的全部或者部分比特币。需要说明的是,在硬件终端2被锁死之后,必须利用预设的正确的认证密码和/或便捷密码进行解密。需要说明的是,可以由新便捷密码的设定可以有硬件终端2提出请求,或者可以由联网设备1提出建议。
通过采用便捷密码,可以防止由于账户密码在数据传输过程中被偷窥或者窃取而造成的比特币的丢失,进而可以达到提高P2P网络的任务数据处理的安全性的效果。
优选地,硬件终端2的便捷密码可以为空。这样,可以提高任务数据处理的效率。进一步优选地,在预设硬件终端2的便捷密码时,可以同时预设单次转出数量的上限、单个时间周期内转出数量的上限、转出数量的总上限等。这样,可以方便用户的小额支付。进一步优选地,一旦达到预设单次转出数量的上限、或单个时间周期内转出数量的上限、或转出数量的总上限时,可以给出建议重设便捷密码的提示。这样,一方面可以限制转出数量的次数,方便用户的使用,提高安全性;另一方面,还可以防止认证密码或便捷密码失窃造成大量比特币的丢失、在硬件终端2自身不具备转账数量提示装置或功能时,减少或防止恶意的联网设备1申请高于硬件终端2持有者同意的转账数量的转账而带来的损失。
可选地,该系统还可以:在生成硬件终端2的公钥私钥对之前,硬件终端2存储预设的备份密码;在硬件终端2中存储预设的认证密码之后,首先,联网设备1接收启动备份任务的备份指令;然后,联网设备1将备份指令传输给硬件终端2;接着,硬件终端2获取备份密码;再次,使用备份密码对硬件终端2进行身份认证;其中,如果身份认证成功,硬件终端2使用认证密码将公钥私钥对中的私钥加密,得到备份密码包;最后,硬件终端2将备份密码包和公钥私钥对中的公钥传输给联网设备1。
进一步地,在本发明实施例中,数据转移任务请求信息可以包括目标账户信息和数据转移数量信息,其中目标账户信息包括目标账户的公钥或者由目标账户的公钥按照P2P网络约定的方法演算出的信息。在获取联网设备1中保存的数据转移任务请求信息之后,该系统还可以:
首先,硬件终端2判断目标账户信息和数据转移数量信息的格式是否正确。
具体地,硬件终端2可以根据预先设定的账户格式和比特币格式判断目标账户信息和数据转移数量信息的格式是否正确。其中,当目标账户信息对应的账户格式和数据转移数量信息对应的数据转移数量的格式分别与预先设定的账户格式和比特币格式相同时,则可以判断出目标账户信息和数据转移数量信息的格式正确;否则格式不正确。
需要说明的是,目标账户信息和数据转移数量信息的格式需要同时正确。如果仅仅目标账户信息的格式正确或者是数据转移数量信息的格式正确,则可以根据提示信息结束该次转账任务。
然后,如果硬件终端2判断出目标账户信息和数据转移数量信息的格式正确,则硬件终端2判断硬件终端2中的余额是否大于等于数据转移数量信息对应的数据转移数量,其中,如果硬件终端2判断出硬件终端2中的余额大于等于数据转移数量信息对应的数据转移数量,则硬件终端2进入执行对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤。
需要说明的是,硬件终端2中的余额可以是该硬件终端2中的一个或多个账户中的余额之和。
例如,商品1的售价为100比特币,而如果硬件终端2中的余额为50比特币,则显然买家的余额不足以支付该商品,因此该次转账任务失败。而如果硬件终端2中的余额为150比特币,则显然买家的余额足以支付该商品,因此该次转账任务成功。
由于比特币具有一旦转账就不可追回的特性,因此采用判断目标账户信息和数据转移数量信息的格式的正确性,可以避免因为上述格式错误却依然支付比特币造成硬件终端2中比特币的损失,进而达到提高P2P网络的任务数据处理的安全性的效果。
需要说明的是,数据转移信息包可以包括数据转移任务请求信息和附加信息,其中,附加信息可以包括一个或者多个支付账户信息和一个或者多个找零账户信息。支付账户信息和找零账户信息可以对应同一账户,也可以对应不同的账户。支付账户信息和找零账户信息可以分别为支付账户公钥/地址和找零账户公钥/地址。此处,数字签名后的数据转移信息包可以包括比特币数据包结构、该公钥上的一笔数据转入信息和找零信息等。
具体地,硬件终端2对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤可以包括:硬件终端2按照P2P网络的约定格式排列目标账户信息、数据转移数量信息、公钥私钥对中的公钥、使用公钥私钥对中的私钥对上述信息的数字签名,生成数字签名后的数据转移信息包。优选地,账户私钥可以使用密码加密。这样,可以防止数字签名后的数据转移信息包中的账户私钥在数据传输过程中被恶意窃取,进而可以避免账户中的比特币丢失,从而可以达到提高P2P网络的任务数据处理的安全性的效果。
进一步地,在硬件终端2将数字签名后的数据转移信息包反馈给联网设备1之后,该系统还可以:联网设备1使用数字签名后的数据转移信息包中的公钥私钥对中的公钥对数字签名后的数据转移信息包进行数字验签,其中,如果联网设备1对数字签名后的数据转移信息包数字验签成功,则可以将数据转移信息包广播到P2P网络中,该笔比特币转账成功;其中,根据数字签名后的数据转移信息包中的公钥私钥对中的公钥,从P2P网络中的联网设备中查询账户的当前余额信息,判断当前余额信息是否大于等于数据转移数量,如果当前余额信息大于等于数据转移数量,则确定数据转移数量是合法的。其中,在硬件终端在传输出数字签名的信息包之前或之后,从硬件终端2中的当前余额信息减去数据转移数量得到新余额信息。
需要说明的是,在本发明实施例中,在以比特币为媒介的任务数据处理过程中,在进行比特币的转账过程中,还存在一个比特币找零机制。这是由于数字转移信息包可以包括以下信息:N1个转出的账户公钥、N2个接收账户的公钥、每个接收账户对应转入比特币的数量。转账过程可以是:首先所有转出账户的比特币数量清0,然后将转出账户的比特币总额按照每个接收账户要求的转入比特币数量全部分配给接收账户,当然接收账户中的一个或多个账户可以与转出账户相同,这样转账之后剩余的余额回到转出账户,即找零。
需要说明的是,在比特币的转账过程中还可以产生转移手续费。其中,转移手续费等于所有转出账户的余额的总和减去全部接收账户所转入的比特币数量之和。
当然,联网设备1在将数字签名后的数据转移信息包广播到P2P网络中之前,可以对手续费进行验证。如果验证得到的手续费过高或过低,则可以产生报警提示,并且拒绝比特币的转出。
更进一步地,该系统还可以更新余额信息:首先,联网设备获得数据更新指令;其次,联网设备1向硬件终端2发送数据更新请求;然后,硬件终端2将公钥发送至联网设备1;接着,联网设备1从P2P网络中查询硬件终端2中当前账户对应的余额信息,余额信息是P2P网络中联网设备接收到的当前账户的所有转入转出记录的加总;最后,将余额信息传递给硬件终端2,且硬件终端2记录余额信息。另外,不但要传递余额信息,还要传递最后一笔入账信息。
为了防止恶意更新余额,造成硬件终端2无法正常工作,可以采用如下防范机制中的一个或多个:机制1,在更新余额时,硬件终端2可以获取和验证认证密码,当认证通过后才执行更新。机制2,硬件终端2可以判断最后一笔入账信息是否是该硬件终端2的最后一次数据转移信息(即入账是转出的找零),如果是,则等于未发生新的入账;如果不是,则先对最后一笔入账信息进行数字验签,如果验签正确,则判断更新后的余额是否大于等于最后一次数据转移后的余额与该笔入账信息之和,如果是,则接受更新;如果不是,则需要获取和验证认证密码,认证通过后才执行更新。机制3:联网设备1将硬件终端2账户的最后一笔向外转账记录(向外转账会发生找零,产生明确的余额信息,就不必再查询之前的任何转账记录了)及之后的所有入账记录全部发送给硬件终端2,硬件终端2对这些记录进行数字验签,数字验签通过后,硬件终端2自行计算出最终余额。
需要说明的是,认证密码可以是多个。即预先设置N1个认证密码,这样,至少需要输入N2个正确的认证密码,硬件重点2才执行数字签名,其中,N2小于等于N1。多认证密码功能可以用于公司账户或共管账户,以进一步提高安全性。
需要说明的是,在本发明实施例中,还可以包括导入账户。其中,导入账户流程如下:联网设备1接收到导入账户指令及需要向硬件终端2导入的账户信息,账户信息可以是私钥,或被认证密码加密的私钥及公钥;联网设备1向硬件终端2发出导入账户指令,将导入的账户信息发送给硬件终端2;硬件终端2接收到导入指令和导入账户信息后,可选验证密码(验证备份密码或认证密码或导入密码),验证通过后,存储导入的账户信息。如果是只支持单一账户的硬件终端2,则用新的账户覆盖原有账户。
通过本发明实施例,使用密码对私钥进行加密,可以防止私钥在数据传输过程中被窃取,达到提高提高P2P网络的任务数据处理的安全性的效果。
需要说明的是,联网设备1和硬件终端2可以通过执行实施例二中的部分或者全部步骤以实现本发明实施例的功能,联网设备1和硬件终端2还可以通过实施例二中的各个模块及子模块实现本发明实施例的功能。
实施例二:
根据本发明的实施例,提供了一种基于P2P网络的任务数据处理方法,该基于P2P网络的任务数据处理方法用于提高P2P网络的任务数据处理的安全性。该基于P2P网络的任务数据处理方法可以运行在计算机处理设备上。
图2是根据本发明实施例二的基于P2P网络的任务数据处理方法的流程图。
如图2所示,该方法包括如下的步骤S202至步骤S208:
步骤S202,P2P网络中的联网设备1获取数据转移任务请求信息。
需要说明的是,联网设备1包括一个或者多个联网终端,并且联网设备1可以是手机终端、平板电脑终端和计算机终端等。
联网设备1获取数据转移任务请求信息的方式可以包括:方式一,接收用户输入的数据转移任务请求信息;方式二,获取预先存储在联网设备1中的数据转移任务请求信息,其中,当预先存储的数据转移任务请求信息发生变化时,可以更新数据转移任务请求信息,并保存更新后的数据转移任务请求信息;方式三,接收其他的联网设备1发送的数据转移任务请求信息;方式四,读取其他的联网设备1存储的数据转移任务请求信息;其中,在以方式一、三、四获取数据转移任务请求信息之后,联网设备1可以保存相应的数据转移任务请求信息。
需要说明的是,此时,联网设备1获取的数据转移任务请求信息为未数字签名的数据转移任务请求信息,而未数字签名的数据转移任务请求信息不具有数据转移功能。数据转移任务请求信息可以包括比特币转账任务请求信息。而比特币转账任务请求信息可以包括目标账户信息和数据转移数量信息。目标账户信息可以是目标账户公钥,或基于P2P网络约定的方法由目标账户公钥导出的目标账户地址。
步骤S204,独立于联网设备1的硬件终端2获取联网设备1中保存的数据转移任务请求信息。
具体地,独立于联网设备1的硬件终端2在与联网设备1建立通信关系之后,获取联网设备1中保存的数据转移任务请求信息。硬件终端2独立于联网设备1表明硬件终端2为分立式设计,并且硬件终端2不连接在P2P网络中,因此硬件终端2为离线终端。
其中,在本发明实施例中,联网设备1和硬件终端2可以采用实施例一中的通讯方式进行数据传输,在此不再赘述。
硬件终端2获取联网设备1中保存的数据转移任务请求信息的方式可以与实施例一中所述的两者之间的通讯方式相适应。例如,当联网设备1生成了数据转移任务请求信息的一维码或二维码时,硬件终端2可以读取前述一维码或二维码以获取数据转移任务请求信息;当联网设备1通过蓝牙设备发送数据转移任务请求信息时,硬件终端2可以接收前述数据转移任务请求信息。
步骤S206,硬件终端2对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包。
步骤S208,硬件终端2将数字签名后的数据转移信息包反馈给联网设备1。
具体地,联网设备1可以通过P2P网络进行数据转移信息包的传递,并且P2P网络中的各个节点上联网设备1可以验证数据转移信息包的正确性。在验证数据转移信息包为正确的信息包之后,P2P网络可以备份该正确的数据转移信息包,并将正确的数据转移信息包发布到P2P网络中的各个节点上的联网设备1。硬件终端2可以首先从联网设备1获取数据转移任务请求信息,然后生成数据转移信息包,最后将生成的数据转移信息包发送给联网设备1。
上述实例中的硬件终端2可以提供人工确认功能,例如按钮或者语音确认或者震动确认。即硬件终端2在将要把数据转移信息包发送给联网设备1之前,需要等待持有者的人工确认,人工确认后再发送数据转移信息包,以提高安全性。在此基础上,还可以提供转账信息提示功能,向硬件终2持有者提示转账数量和转入账户信息。提示方式可以用显示屏显示、喇叭或音箱语音提示、震动装置的震动时长和次数等,进一步提高安全性,并提高用户体验。
需要说明的是,数据转移信息包可以包括未经确认的数据转移信息包和未经确认的新增数据信息包和已经确认的信息包,其中,已经确认的信息包可以包括已经确认的数据转移信息包、已经确认的新增数据信息包、已经确认的信息包的属性信息包。
其中,每个数据转移信息包可以包括一个或者多个转出数据的账户的公钥、一个或者多个转入数据的账户的公钥或按照P2P网络约定方法由公钥演算出的地址、转入数据的账户的转入数量。其中,可以用转出数据的账户的私钥对该数据转移信息包中的信息进行的数字签名。新增数据信息包可以包括为整个系统引入的新增数据的数量、新增数据的所属账户的公钥。其中,可以用新增数据的所属账户的私钥对新增数据信息包中的信息进行的数字签名。确认信息包的属性信息包可以包括确认方的账户公钥、确认时间、确认的所有信息包的莫克尔根和哈希值调节变量、根据确认信息包的属性信息包中的信息及在该确认信息包的属性信息包之前的属性信息包的哈希值计算出该确认信息包的属性信息包的哈希值。
联网设备1验证数据转移信息包(未确认的或者已经确认的)的正确性可以包括:验证数据转移信息包的格式是否正确、验证所有转出数据的账户中的剩余比特币的数量之和是否大于等于所有转入数据的账户的剩余比特币之和、验证数字签名是否正确。
联网设备1验证新增数据信息包(未确认的或者已经确认的)正确性可以包括:验证新增数据信息包格式是否正确、验证新增比特币的数量是否符合预设规则、验证数字签名是否正确。
联网设备1验证已经确认信息包正确性可以包括:验证该信息包的信息格式是否正确、验证每一个经确认的经确认的数据转移信息包是否正确、验证每一个新增数据的信息包是否正确、验证属性信息包内地数字签名是否正确、验证属性信息包内的哈希值是否符合预设的规则。其中,生成符合预设规则的哈希值的方法可以为:首先,接收并验证最新的确认信息包;然后,收录验证通过的未确认转移信息包并生成莫克尔根,随机设置哈希值条件变量,根据确认信息包预设格式排列前述信息并计算哈希值,直到找到符合预设规则的哈希值。另外,在找到符合预设规则的哈希值之后,可以将该确认信息包发布到P2P网络中。
例如,商家可在其自身的计算机设备(联网设备1)上输入商品1的售价(比特币转账任务请求信息中的数据转移数量信息,如该数据转移数量信息对应的数据转移数量可以为100比特币)和商家的账户公钥(或商家的账户地址),并且该计算机设备可以根据商品1的售价和商家的账户公钥生成相应的二维码。这样,任何买家想要拍得商品1,都可以使用其自身的硬件钱包(硬件终端2)读取前述二维码,从而用硬件钱包中预先存储的账户私钥将商品1的售价和商家的账户公钥以及硬件钱包的账户公钥和找零账户公钥等进行数字签名,得到数字签名后的数据转移信息包,并将数字签名后的数据转移信息包传递给商家。商家在得到数字签名后的数据转移信息包之后,可以使用数据转移信息包内的硬件钱包的账户公钥(即买家的账户公钥)对数字签名后的数据转移信息包进行数字验签。当商家数字验签成功后,买家可以成功支付100比特币,从而可以拍得商品1;当商家数字验签不成功后,买家支付100比特币失败,从而不可以拍得商品1。
通过本发明实施例,采用在硬件终端2上进行数字签名,可以降低硬件终端2上的账户私钥的失窃率,达到提高P2P网络的任务数据处理的安全性的效果。
具体地,在P2P网络中的联网设备1获取数据转移任务请求信息之前,该方法还可以包括:初始化硬件终端2,生成硬件终端2的公钥私钥对。其中,每个硬件终端2可以在限定总数范围内任意生成一个或者多个公钥私钥对。
可选地,在初始化硬件终端2,生成硬件终端2的公钥私钥对之前,或者在初始化硬件终端2,生成硬件终端2的公钥私钥对之后,该方法还可以包括:在硬件终端2中存储预设的认证密码,或者在硬件终端2中存储预设的认证密码和便捷密码。认证密码可以用于对公钥私钥中的私钥进行加密处理,得到加密后的私钥。其中,在得到加密后的私钥之后,可以将其保存在硬件终端2中,为了进一步提高安全性,硬件终端2可以只存储加密后的私钥,删除未加密的私钥。这样,在使用硬件终端2进行比特币转账时,可以通过接收认证密码,利用接收到的认证密码将加密后的私钥解密,进而使用公钥与解密后的私钥配对,以确认认证密码是否正确。
进一步可选地,便捷密码可以对认证密码进行加密,得到加密后的认证密码。其中,硬件终端2可以保存被认证密码加密后的私钥和被便捷密码加密后的认证密码。这样,在使用硬件终端2进行比特币转账时,首先可以获取便捷密码,并运用便捷密码解密出认证密码,然后再用解密出的认证密码解密对被认证密码加密的私钥进行解密,从而实现对硬件终端2的身份认证。
具体地,在获取联网设备中保存的数据转移任务请求信息之后,该方法还可以包括:首先,硬件终端2获取认证密码和/或便捷密码,其中,联网设备获取认证密码或便捷密码,传递给硬件终端;然后,使用认证密码和/或便捷密码对硬件终端2进行身份认证;其中,如果身份认证成功,则进入执行硬件终端2对包含了数据转移任务请求信息的数据转移信息包进行数字签名的步骤。
需要说明的是,硬件终端2获取认证密码和/或便捷密码的方式可以包括:方式一,获取用户输入的认证密码和/或便捷密码;方式二,获取程序自动执行的认证密码和/或便捷密码。例如,对于IC卡型的硬件终端2,可以获取用户在联网设备1上输入认证密码和/或便捷密码,而对于手机型的硬件终端2,可以获取用户在硬件终端2上输入认证密码和/或便捷密码。
优选地,在硬件终端2获取认证密码和/或便捷密码之前,该方法还可以包括:
首先,检测硬件终端2是否具有认证密码和/或便捷密码。
然后,如果检测得到硬件终端2不具有认证密码和/或便捷密码,则为硬件终端2设置新认证密码和/或新便捷密码。
优选地,硬件终端设置新认证密码和/或新便捷密码的步骤可以包括:依次输入预定数量的新认证密码和/或新便捷密码;判断依次输入各个新认证密码和/或新便捷密码是否相同;如果每个新认证密码和/或新便捷密码相同,则硬件终端保存新认证密码和/或新便捷密码。
具体的,硬件终端2设置新便捷密码的步骤可以包括:1)依次输入预定数量的新便捷密码,例如,可以依次输入2次新便捷密码;2)判断依次输入的各个新便捷密码是否相同;3)如果每个新便捷密码相同,则硬件终端2保存新便捷密码。
在使用便捷密码对硬件终端2进行身份认证的认证次数超过第一阈值的情况下,便捷密码认证失败。例如,第一阈值可以为3,在进行身份认证时,如果硬件终端2连续接受到3次错误的便捷密码时,可以将硬件终端2进行锁死。这样,可以防止恶意攻击者在得到硬件终端2之后,猜中便捷密码,进而盗取硬件终端2中的全部或者部分比特币。需要说明的是,在硬件终端2被锁死之后,必须利用预设的正确的认证密码和/或便捷密码进行解密。需要说明的是,可以由新便捷密码的设定可以有硬件终端2提出请求,或者可以由联网设备1提出建议。
通过采用便捷密码,可以防止由于账户密码在数据传输过程中被偷窥或者窃取而造成的比特币的丢失,进而可以达到提高P2P网络的任务数据处理的安全性的效果。
优选地,硬件终端2的便捷密码可以为空。这样,可以提高任务数据处理的效率。进一步优选地,在预设硬件终端2的便捷密码时,可以同时预设单次转出数量的上限、单个时间周期内转出数量的上限、转出数量的总上限等。这样,可以方便用户的小额支付。进一步优选地,一旦达到预设单次转出数量的上限、或单个时间周期内转出数量的上限、或转出数量的总上限时,可以给出建议重设便捷密码密码的提示。这样,一方面可以限制转出数量的次数,方便用户的使用,提高安全性;另一方面,还可以防止认证密码或便捷密码失窃造成大量比特币的丢失、在硬件终端2自身不具备转账数量提示装置或功能时,减少或防止恶意的联网设备1申请高于硬件终端3持有者同意的转账数量的转账而带来的损失。
可选地,在生成硬件终端的公钥私钥对之前,硬件终端存储预设的备份密码;在硬件终端2中存储预设的认证密码之后,该方法还可以包括:首先,联网设备1接收启动备份任务的备份指令;然后,联网设备1将备份指令传输给硬件终端2;接着,硬件终端2获取备份密码;再次,使用备份密码对硬件终端2进行身份认证;其中,如果身份认证成功,硬件终端2使用认证密码将公钥私钥对中的私钥加密,得到备份密码包;最后,硬件终端2将备份密码包和公钥私钥对中的公钥传输给联网设备。
进一步地,在本发明实施例中,数据转移任务请求信息可以包括目标账户信息和数据转移数量信息,其中目标账户信息包括目标账户的公钥或者由目标账户的公钥按照P2P网络约定的方法演算出的信息。在获取联网设备1中保存的数据转移任务请求信息之后,该方法还可以包括:
首先,硬件终端2判断目标账户信息和数据转移数量信息的格式是否正确。
具体地,硬件终端2可以根据预先设定的账户格式和比特币格式判断目标账户信息和数据转移数量信息的格式是否正确。其中,当目标账户信息对应的账户格式和数据转移数量信息对应的数据转移数量的格式分别与预先设定的账户格式和比特币格式相同时,则可以判断出目标账户信息和数据转移数量信息的格式正确;否则格式不正确。
需要说明的是,目标账户信息和数据转移数量信息的格式需要同时正确。如果仅仅目标账户信息的格式正确或者是数据转移数量信息的格式正确,则可以根据提示信息结束该次转账任务。
然后,如果硬件终端2判断出目标账户信息和数据转移数量信息的格式正确,则硬件终端2判断硬件终端2中的余额是否大于等于数据转移数量信息对应的数据转移数量,其中,如果硬件终端2判断出硬件终端2中的余额大于等于数据转移数量信息对应的数据转移数量,则进入执行硬件终端2对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤。
需要说明的是,硬件终端2中的余额可以是该硬件终端2中的一个或多个账户中的余额之和。
例如,商品1的售价为100比特币,而如果硬件终端2中的余额为50比特币,则显然买家的余额不足以支付该商品,因此该次转账任务失败。而如果硬件终端2中的余额为150比特币,则显然买家的余额足以支付该商品,因此该次转账任务成功。
由于比特币具有一旦转账就不可追回的特性,因此采用判断目标账户信息和数据转移数量信息的格式的正确性,可以避免因为上述格式错误却依然支付比特币造成硬件终端2中比特币的损失,进而达到提高P2P网络的任务数据处理的安全性的效果。
需要说明的是,数据转移信息包可以包括数据转移任务请求信息和附加信息,其中,附加信息可以包括一个或者多个支付账户信息和一个或者多个找零账户信息。支付账户信息和找零账户信息可以对应同一账户,也可以对应不同的账户。支付账户信息和找零账户信息可以分别为支付账户公钥/地址和找零账户公钥/地址。此处,数字签名后的数据转移信息包可以包括比特币数据包结构、该公钥上的一笔数据转入信息和找零信息等。
具体地,硬件终端2对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤可以包括:硬件终端2按照P2P网络的约定格式排列目标账户信息、数据转移数量信息、公钥私钥对中的公钥、使用公钥私钥对中的私钥对上述信息的数字签名,生成数字签名后的数据转移信息包。优选地,账户私钥可以使用密码加密。这样,可以防止数字签名后的数据转移信息包中的账户私钥在数据传输过程中被恶意窃取,进而可以避免账户中的比特币丢失,从而可以达到提高P2P网络的任务数据处理的安全性的效果。
进一步地,在硬件终端2将数字签名后的数据转移信息包反馈给联网设备1之后,该方法还可以包括:联网设备1使用数字签名后的数据转移信息包中的公钥私钥对中的公钥对数字签名后的数据转移信息包进行数字验签,如果联网设备1对数字签名后的数据转移信息包数字验签成功,则该笔比特币转账成功,并且可以将数据转移信息包广播到P2P网络中,该笔比特币转账成功;其中,根据数字签名后的数据转移信息包中的公钥私钥对中的公钥,从P2P网络中的联网设备中查询账户的当前余额信息,判断当前余额信息是否大于等于数据转移数量,如果当前余额信息大于等于数据转移数量,则确定数据转移数量是合法的。其中,在硬件终端在传输出数字签名的信息包之前或之后,从硬件终端2中的当前余额信息减去数据转移数量得到新余额信息。
需要说明的是,在本发明实施例中,在以比特币为媒介的任务数据处理过程中,在进行比特币的转账过程中,还存在一个比特币找零机制。这是由于数字转移信息包可以包括以下信息:N个转出的账户公钥、N个接收账户的公钥、每个接收账户对应转入比特币的数量。转账过程可以是:首先所有转出账户的比特币数量清0,然后将转出账户的比特币总额按照每个接收账户要求的转入比特币数量全部分配给接收账户,当然接收账户中的一个或多个账户可以与转出账户相同,这样转账之后剩余的余额回到转出账户,即找零。
需要说明的是,在比特币的转账过程中还可以产生转移手续费。其中,转移手续费等于所有转出账户的余额的总和减去全部接收账户所转入的比特币数量之和。
当然,联网设备1在将数字签名后的数据转移信息包广播到P2P网络中之前,可以对手续费进行验证。如果验证得到的手续费过高,则可以产生报警提示,并且拒绝比特币的转出。
更进一步地,该系统还可以更新余额信息:首先,联网设备获得数据更新指令;其次,联网设备1向硬件终端2发送数据更新请求;然后,硬件终端2将公钥发送至联网设备1;接着,联网设备1从P2P网络中查询硬件终端2中当前账户对应的余额信息,余额信息是P2P网络中联网设备接收到的当前账户的所有转入转出记录的加总;最后,将余额信息传递给硬件终端2,且硬件终端2记录余额信息。另外,不但要传递余额信息,还要传递最后一笔入账信息。
为了防止恶意更新余额,造成硬件终端2无法正常工作,可以采用如下防范机制中的一个或多个:机制1,在更新余额时,硬件终端2可以获取和验证认证密码,当认证通过后才执行更新。机制2,硬件终端2可以判断最后一笔入账信息是否是该硬件终端2的最后一次数据转移信息(即入账是转出的找零),如果是,则等于未发生新的入账;如果不是,则先对最后一笔入账信息进行数字验签,如果验签正确,则判断更新后的余额是否大于等于最后一次数据转移后的余额与该笔入账信息之和,如果是,则接受更新;如果不是,则需要获取和验证认证密码,认证通过后才执行更新。机制3:联网设备1将硬件终端2账户的最后一笔向外转账记录(向外转账会发生找零,产生明确的余额信息,就不必再查询之前的任何转账记录了)及之后的所有入账记录全部发送给硬件终端2,硬件终端2对这些记录进行数字验签,数字验签通过后,硬件终端2自行计算出最终余额。
需要说明的是,认证密码可以是多个。即预先设置N1个认证密码,这样,至少需要输入N2个正确的认证密码,硬件重点2才执行数字签名,其中,N2小于等于N1。多认证密码功能可以用于公司账户或共管账户,以进一步提高安全性。
需要说明的是,在本发明实施例中,还可以包括导入账户。其中,导入账户流程如下:联网设备1接收到导入账户指令及需要向硬件终端2导入的账户信息,账户信息可以是私钥,或被认证密码加密的私钥及公钥;联网设备1向硬件终端2发出导入账户指令,将导入的账户信息发送给硬件终端2;硬件终端2接收到导入指令和导入账户信息后,可选验证密码(验证备份密码或认证密码或导入密码),验证通过后,存储导入的账户信息。如果是只支持单一账户的硬件终端2,则用新的账户覆盖原有账户。
通过本发明实施例,使用密码对私钥进行加密,可以防止私钥在数据传输过程中被窃取,达到提高提高P2P网络的任务数据处理的安全性的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例三:
根据本发明的实施例,提供了一种基于P2P网络的任务数据处理装置,该装置用于提高P2P网络的任务数据处理的安全性。需要说明的是,本发明实施例的基于P2P网络的任务数据处理装置可以用于执行本发明实施例的基于P2P网络的任务数据处理方法,本发明实施例所提供的基于P2P网络的任务数据处理方法也可以通过本发明实施例的基于P2P网络的任务数据处理装置来执行。
图3是根据本发明实施例三的基于P2P网络的任务数据处理装置的示意图。
如图3所示,该装置包括:第一获取模块10、第二获取模块20、数字签名模块30和反馈模块40。
第一获取模块10用于使得P2P网络中的联网设备获取数据转移任务请求信息。
需要说明的是,联网设备1包括一个或者多个联网终端,并且联网设备1可以是手机终端、平板电脑终端和计算机终端等。
联网设备1获取数据转移任务请求信息的方式可以包括:方式一,接收用户输入的数据转移任务请求信息;方式二,获取预先存储在联网设备1中的数据转移任务请求信息,其中,当预先存储的数据转移任务请求信息发生变化时,可以更新数据转移任务请求信息,并保存更新后的数据转移任务请求信息;方式三,接收其他的联网设备1发送的数据转移任务请求信息;方式四,读取其他的联网设备1存储的数据转移任务请求信息;其中,在以方式一、三、四获取数据转移任务请求信息之后,联网设备1可以保存相应的数据转移任务请求信息。
需要说明的是,此时,联网设备1获取的数据转移任务请求信息为未数字签名的数据转移任务请求信息,而未数字签名的数据转移任务请求信息不具有数据转移功能。数据转移任务请求信息可以包括比特币转账任务请求信息。而比特币转账任务请求信息可以包括目标账户信息和数据转移数量信息。目标账户信息可以是目标账户公钥,或基于P2P网络约定的方法由目标账户公钥导出的目标账户地址。
第二获取模块20可以用于使得独立于联网设备的硬件终端获取联网设备中保存的数据转移任务请求信息。
具体地,第二获取模块20可以用于使得独立于联网设备的硬件终端在与联网设备建立通信关系之后,获取联网设备中保存的数据转移任务请求信息。硬件终端2独立于联网设备1表明硬件终端2为分立式设计,并且硬件终端2不连接在P2P网络中,因此硬件终端2为离线终端。
其中,在本发明实施例中,联网设备1和硬件终端2可以采用实施例一中的通讯方式进行数据传输,在此不再赘述。
硬件终端2获取联网设备1中保存的数据转移任务请求信息的方式可以与实施例一中的两者之间的通讯方式相适应。例如,当联网设备1生成了数据转移任务请求信息的一维码或二维码时,硬件终端2可以读取前述一维码或二维码以获取数据转移任务请求信息;当联网设备1通过蓝牙设备发送数据转移任务请求信息时,硬件终端2可以接收前述数据转移任务请求信息。
数字签名模块30用于使得硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包。
反馈模块40用于使得硬件终端将数字签名后的数据转移信息包反馈给联网设备。
具体地,联网设备1可以通过P2P网络进行数据转移信息包的传递,并且P2P网络中的各个节点上联网设备1可以验证数据转移信息包的正确性。在验证数据转移信息包为正确的信息包之后,P2P网络可以备份该正确的数据转移信息包,并将正确的数据转移信息包发布到P2P网络中的各个节点上的联网设备1。硬件终端2可以首先从联网设备1获取数据转移任务请求信息,然后生成数据转移信息包,最后将生成的数据转移信息包发送给联网设备1。
上述实例中的硬件终端2可以提供人工确认功能,例如按钮或者语音确认或者震动确认。即硬件终端2在将要把数据转移信息包发送给联网设备1之前,需要等待持有者的人工确认,人工确认后再发送数据转移信息包,以提高安全性。在此基础上,还可以提供转账信息提示功能,向硬件终2持有者提示转账数量和转入账户信息。提示方式可以用显示屏显示、喇叭或音箱语音提示、震动装置的震动时长和次数等,进一步提高安全性,并提高用户体验。
需要说明的是,数据转移信息包可以包括未经确认的数据转移信息包和未经确认的新增数据信息包和已经确认的信息包,其中,已经确认的信息包可以包括已经确认的数据转移信息包、已经确认的新增数据信息包、已经确认的信息包的属性信息包。
其中,每个数据转移信息包可以包括一个或者多个转出数据的账户的公钥、一个或者多个转入数据的账户的公钥或按照P2P网络约定方法由公钥演算出的地址、转入数据的账户的转入数量。其中,可以用转出数据的账户的私钥对该数据转移信息包中的信息进行的数字签名。新增数据信息包可以包括为整个系统引入的新增数据的数量、新增数据的所属账户的公钥。其中,可以用新增数据的所属账户的私钥对新增数据信息包中的信息进行的数字签名。确认信息包的属性信息包可以包括确认方的账户公钥、确认时间、确认的所有信息包的莫克尔根和哈希值调节变量、根据确认信息包的属性信息包中的信息及在该确认信息包的属性信息包之前的属性信息包的哈希值计算出该确认信息包的属性信息包的哈希值。
联网设备1验证数据转移信息包(未确认的或者已经确认的)的正确性可以包括:验证数据转移信息包的格式是否正确、验证所有转出数据的账户中的剩余比特币的数量之和是否大于等于所有转入数据的账户的剩余比特币之和、验证数字签名是否正确。
联网设备1验证新增数据信息包(未确认的或者已经确认的)正确性可以包括:验证新增数据信息包格式是否正确、验证新增比特币的数量是否符合预设规则、验证数字签名是否正确。
联网设备1验证已经确认信息包正确性可以包括:验证该信息包的信息格式是否正确、验证每一个经确认的经确认的数据转移信息包是否正确、验证每一个新增数据的信息包是否正确、验证属性信息包内地数字签名是否正确、验证属性信息包内的哈希值是否符合预设的规则。其中,生成符合预设规则的哈希值的方法可以为:首先,接收并验证最新的确认信息包;然后,收录验证通过的未确认转移信息包并生成莫克尔根,随机设置哈希值条件变量,根据确认信息包预设格式排列前述信息并计算哈希值,直到找到符合预设规则的哈希值。另外,在找到符合预设规则的哈希值之后,可以将该确认信息包发布到P2P网络中。
例如,商家可在其自身的计算机设备(联网设备1)上输入商品1的售价(比特币转账任务请求信息中的数据转移数量信息,如该数据转移数量信息对应的数据转移数量可以为100比特币)和商家的账户公钥(即商家的账户地址),并且该计算机设备可以根据商品1的售价和商家的账户公钥生成相应的二维码。这样,任何买家想要拍得商品1,都可以使用其自身的硬件钱包(硬件终端2)读取前述二维码,从而用硬件钱包中预先存储的账户私钥将商品1的售价和商家的账户公钥以及硬件钱包的账户公钥和找零账户公钥等进行数字签名,得到数字签名后的数据转移信息包,并将数字签名后的数据转移信息包传递给商家。商家在得到数字签名后的数据转移信息包之后,可以使用数据转移信息包内的硬件钱包的账户公钥(即买家的账户公钥)对数字签名后的数据转移信息包进行数字验签。当商家数字验签成功后,买家可以成功支付100比特币,从而可以拍得商品1;当商家数字验签不成功后,买家支付100比特币失败,从而不可以拍得商品1。
通过本发明实施例,采用在硬件终端2上进行数字签名,可以降低硬件终端2上的账户私钥的失窃率,达到提高P2P网络的任务数据处理的安全性的效果。
可选地,该装置还可以包括初始化模块。该初始化模块用于在P2P网络中的联网设备1获取数据转移任务请求信息之前,初始化硬件终端2,生成硬件终端2的公钥私钥对。其中,每个硬件终端2可以在限定总数范围内任意生成一个或者多个公钥私钥对。
可选地,该装置还可以包括第一存储模块或第二存储模块。该第一存储模块用于在初始化硬件终端2,生成硬件终端的公钥私钥对之后,或在初始化硬件终端2,生成硬件终端的公钥私钥对之前,在硬件终端2中存储预设的认证密码。该第二存储模块用于在初始化硬件终端2,生成硬件终端2的公钥私钥对之后,或在初始化硬件终端2,生成硬件终端的公钥私钥对之前,在硬件终端2中存储预设的认证密码和便捷密码。认证密码可以用于对公钥私钥中的私钥进行加密处理,得到加密后的私钥。其中,在得到加密后的私钥之后,可以将其保存在硬件终端2中为了进一步提高安全性,硬件终端2可以只存储加密后的私钥,删除未加密的私钥。这样,在使用硬件终端2进行比特币转账时,可以通过接收认证密码,利用接收到的认证密码将加密后的私钥解密,进而使用公钥与解密后的私钥配对,以确认认证密码是否正确。便捷密码可以对认证密码进行加密,得到加密后的认证密码。其中,硬件终端2可以保存被认证密码加密后的私钥和被便捷密码加密后的认证密码。这样,在使用硬件终端2进行比特币转账时,首先可以获取便捷密码,并运用便捷密码解密出认证密码,然后再用解密出的认证密码解密对被认证密码加密的私钥进行解密,从而实现对硬件终端2的身份认证。
可选地,该装置还可以包括:第三获取模块、第一认证模块和第一执行模块。第三获取模块用于使得在获取联网设备中保存的数据转移任务请求信息之后,硬件终端获取认证密码和/或便捷密码,其中,联网设备获取认证密码或便捷密码,传递给硬件终端。第一认证模块用于使用认证密码和/或便捷密码对硬件终端进行身份认证。第一执行模块用于如果身份认证成功,则进入执行硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名的步骤。
需要说明的是,硬件终端2获取认证密码和/或便捷密码的方式可以包括:方式一,获取用户输入的认证密码和/或便捷密码;方式二,获取程序自动执行的认证密码和/或便捷密码。例如,对于IC卡型的硬件终端2,可以获取用户在联网设备1上输入认证密码和/或便捷密码,而对于手机型的硬件终端2,可以获取用户在硬件终端2上输入认证密码和/或便捷密码。
可选地,该装置还可以包括:检测模块、设置模块和锁死模块,
检测模块用于在硬件终端获取认证密码和/或便捷密码之前,检测硬件终端是否具有认证密码和/或便捷密码。
设置模块用于如果检测得到硬件终端不具有认证密码和/或便捷密码,则为硬件终端设置新认证密码和/或新便捷密码。其中,设置模块可以包括输入子模块、判断子模块和保存子模块。输入子模块用于依次输入预定数量的新认证密码和/或新便捷密码;判断子模块用于判断依次输入各个新认证密码和/或新便捷密码是否相同;保存子模块用于如果每个新认证密码和/或新便捷密码相同,则硬件终端保存新认证密码和/或新便捷密码。
锁死模块用于在使用便捷密码对硬件终端进行身份认证的认证次数超过第一阈值的情况下,便捷密码认证失败。例如,第一阈值可以为3,在进行身份认证时,如果硬件终端2连续接受到3次错误的便捷密码时,可以将硬件终端2进行锁死。这样,可以防止恶意攻击者在得到硬件终端2之后,猜中便捷密码,进而盗取硬件终端2中的全部或者部分比特币。需要说明的是,在硬件终端2被锁死之后,必须利用预设的正确的认证密码和/或便捷密码进行解密。需要说明的是,可以由新便捷密码的设定可以有硬件终端2提出请求,或者可以由联网设备1提出建议。
通过采用便捷密码,可以防止由于账户密码在数据传输过程中被偷窥或者窃取而造成的比特币的丢失,进而可以达到提高P2P网络的任务数据处理的安全性的效果。
优选地,硬件终端2的便捷密码可以为空。这样,可以提高任务数据处理的效率。进一步优选地,在预设硬件终端2的便捷密码时,可以同时预设单次转出数量的上限、单个时间周期内转出数量的上限、转出数量的总上限等。这样,可以方便用户的小额支付。进一步优选地,一旦达到预设单次转出数量的上限、或单个时间周期内转出数量的上限、或转出数量的总上限时,可以给出建议重设便捷密码密码的提示。这样,一方面可以限制转出数量的次数,方便用户的使用,提高安全性;另一方面,还可以防止认证密码或便捷密码失窃造成大量比特币的丢失、在硬件终端2自身不具备转账数量提示装置或功能时,减少或防止恶意的联网设备1申请高于硬件终端3持有者同意的转账数量的转账而带来的损失。
可选地,该装置还可以包括:第三存储模块、接收模块、第一传输模块、第四获取模块、第二认证模块、加密模块和第二传输模块。
第三存储模块用于在生成硬件终端的公钥私钥对之前,硬件终端存储预设的备份密码;接收模块用于在硬件终端中存储预设的认证密码或在硬件终端中存储预设的认证密码和便捷密码之后,联网设备接收启动备份任务的备份指令。第一传输模块用于使得联网设备将备份指令传输给硬件终端。第四获取模块用于使得硬件终端获取备份密码。第二认证模块用于使用备份密码对硬件终端进行身份认证。加密模块用于使得如果身份认证成功,硬件终端使用认证密码将公钥私钥对中的私钥加密,得到备份密码包。第二传输模块用于使得硬件终端将备份密码包和公钥私钥对中的公钥返回给联网设备。
在本发明实施例中,数据转移任务请求信息可以包括目标账户信息和数据转移数量信息,其中目标账户信息包括目标账户的公钥或者由目标账户的公钥按照P2P网络约定的方法演算出的信息。可选地,该装置还可以包括:第一判断模块、第二判断模块和第二执行模块。
第一判断模块用于使得在获取联网设备中保存的数据转移任务请求信息之后,硬件终端判断目标账户信息和数据转移数量信息的格式是否正确。
第二判断模块用于使得如果硬件终端判断出目标账户信息和数据转移数量信息的格式正确,则硬件终端判断硬件终端中的余额是否大于等于数据转移数量信息对应的数据转移数量。
具体地,硬件终端2可以根据预先设定的账户格式和比特币格式判断目标账户信息和数据转移数量信息的格式是否正确。其中,当目标账户信息对应的账户格式和数据转移数量信息对应的数据转移数量的格式分别与预先设定的账户格式和比特币格式相同时,则可以判断出目标账户信息和数据转移数量信息的格式正确;否则格式不正确。
需要说明的是,目标账户信息和数据转移数量信息的格式需要同时正确。如果仅仅目标账户信息的格式正确或者是数据转移数量信息的格式正确,则可以根据提示信息结束该次转账任务。
第二执行模块用于如果硬件终端判断出硬件终端中的余额大于等于数据转移数量信息对应的数据转移数量,则进入执行硬件终端对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤。
需要说明的是,硬件终端2中的余额可以是该硬件终端2中的一个或多个账户中的余额之和。
例如,商品1的售价为100比特币,而如果硬件终端2中的余额为50比特币,则显然买家的余额不足以支付该商品,因此该次转账任务失败。而如果硬件终端2中的余额为150比特币,则显然买家的余额足以支付该商品,因此该次转账任务成功。
由于比特币具有一旦转账就不可追回的特性,因此采用判断目标账户信息和数据转移数量信息的格式的正确性,可以避免因为上述格式错误却依然支付比特币造成硬件终端2中比特币的损失,进而达到提高P2P网络的任务数据处理的安全性的效果。
需要说明的是,数据转移信息包可以包括数据转移任务请求信息和附加信息,其中,附加信息可以包括一个或者多个支付账户信息和一个或者多个找零账户信息。支付账户信息和找零账户信息可以对应同一账户,也可以对应不同的账户。支付账户信息和找零账户信息可以分别为支付账户公钥/地址和找零账户公钥/地址。此处,数字签名后的数据转移信息包可以包括比特币数据包结构、该公钥上的一笔数据转入信息和找零信息等。
具体地,硬件终端2对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤可以包括:硬件终端2按照P2P网络的约定格式排列目标账户信息、数据转移数量信息、公钥私钥对中的公钥、使用公钥私钥对中的私钥对上述信息的数字签名,生成数字签名后的数据转移信息包。优选地,账户私钥可以使用密码加密。这样,可以防止数字签名后的数据转移信息包中的账户私钥在数据传输过程中被恶意窃取,进而可以避免账户中的比特币丢失,从而可以达到提高P2P网络的任务数据处理的安全性的效果。
可选地,该装置还可以包括:数字验签模块和广播模块。在本发明实施例中,数字签名模块还可以用于使得硬件终端使用公钥私钥对中的私钥对包含了数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包。相应地,数字验签模块可以用于使得在硬件终端将数字签名后的数据转移信息包反馈给联网设备之后,联网设备使用数字签名后的数据转移信息包中的公钥私钥对中的公钥对数字签名后的数据转移信息包进行数字验签。广播模块可以用于如果联网设备对数字签名后的数据转移信息包数字验签成功,则将数据转移信息包广播到P2P网络中,该笔比特币转账成功。其中,根据数字签名后的数据转移信息包中的公钥私钥对中的公钥,从P2P网络中的联网设备中查询账户的当前余额信息,判断当前余额信息是否大于等于数据转移数量,如果当前余额信息大于等于数据转移数量,则确定数据转移数量是合法的。其中,在硬件终端在传输出数字签名的信息包之前或之后,从硬件终端2中的当前余额信息减去数据转移数量得到新余额信息。
需要说明的是,在本发明实施例中,在以比特币为媒介的任务数据处理过程中,在进行比特币的转账过程中,还存在一个比特币找零机制。这是由于数字转移信息包可以包括以下信息:N个转出的账户公钥、N个接收账户的公钥、每个接收账户对应转入比特币的数量。转账过程可以是:首先所有转出账户的比特币数量清0,然后将转出账户的比特币总额按照每个接收账户要求的转入比特币数量全部分配给接收账户,当然接收账户中的一个或多个账户可以与转出账户相同,这样转账之后剩余的余额回到转出账户,即找零。
需要说明的是,在比特币的转账过程中还可以产生转移手续费。其中,转移手续费等于所有转出账户的余额的总和减去全部接收账户所转入的比特币数量之和。
当然,联网设备1在将数字签名后的数据转移信息包广播到P2P网络中之前,可以对手续费进行验证。如果验证得到的手续费过高,则可以产生报警提示,并且拒绝比特币的转出。
可选地,该装置还可以包括:第五获取模块、第一发送模块、第二发送模块、查询模块、传递模块和记录模块。第五获取模块用于使得在将数据转移信息包广播到P2P网络中之后,联网设备获得数据更新指令。第一发送模块用于使得联网设备1向硬件终端2发送数据更新请求。第二发送模块用于使得硬件终端2将公钥发送至联网设备1。查询模块用于使得联网设备1从P2P网络中查询硬件终端2中当前账户对应的余额信息,余额信息是P2P网络中联网设备接收到的所有转入转出记录的加总。传递模块用于将余额信息传递给硬件终端2。记录模块用于使得硬件终端2记录余额信息。
为了防止恶意更新余额,造成硬件终端2无法正常工作,可以采用如下防范机制中的一个或多个:机制1,在更新余额时,硬件终端2可以获取和验证认证密码,当认证通过后才执行更新。机制2,硬件终端2可以判断最后一笔入账信息是否是该硬件终端2的最后一次数据转移信息(即入账是转出的找零),如果是,则等于未发生新的入账;如果不是,则先对最后一笔入账信息进行数字验签,如果验签正确,则判断更新后的余额是否大于等于最后一次数据转移后的余额与该笔入账信息之和,如果是,则接受更新;如果不是,则需要获取和验证认证密码,认证通过后才执行更新。机制3:联网设备1将硬件终端2账户的最后一笔向外转账记录(向外转账会发生找零,产生明确的余额信息,就不必再查询之前的任何转账记录了)及之后的所有入账记录全部发送给硬件终端2,硬件终端2对这些记录进行数字验签,数字验签通过后,硬件终端2自行计算出最终余额。
需要说明的是,认证密码可以是多个。即预先设置N1个认证密码,这样,至少需要输入N2个正确的认证密码,硬件重点2才执行数字签名,其中,N2小于等于N1。多认证密码功能可以用于公司账户或共管账户,以进一步提高安全性。
需要说明的是,在本发明实施例中,还可以包括导入账户。其中,导入账户流程如下:联网设备1接收到导入账户指令及需要向硬件终端2导入的账户信息,账户信息可以是私钥,或被认证密码加密的私钥及公钥;联网设备1向硬件终端2发出导入账户指令,将导入的账户信息发送给硬件终端2;硬件终端2接收到导入指令和导入账户信息后,可选验证密码(验证备份密码或认证密码或导入密码),验证通过后,存储导入的账户信息。如果是只支持单一账户的硬件终端2,则用新的账户覆盖原有账户。
通过本发明实施例,使用密码对私钥进行加密,可以防止私钥在数据传输过程中被窃取,达到提高提高P2P网络的任务数据处理的安全性的效果,并提高了任务数据处理的效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种基于P2P网络的任务数据处理方法,其特征在于,包括:
P2P网络中的联网设备获取数据转移任务请求信息;
独立于所述联网设备的硬件终端获取所述联网设备中保存的所述数据转移任务请求信息;
所述硬件终端对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包;以及
所述硬件终端将所述数字签名后的数据转移信息包反馈给所述联网设备。
2.根据权利要求1所述的方法,其特征在于,在P2P网络中的联网设备获取数据转移任务请求信息之前,所述方法还包括:
初始化所述硬件终端,生成所述硬件终端的公钥私钥对。
3.根据权利要求2所述的方法,其特征在于,在初始化所述硬件终端,生成所述硬件终端的公钥私钥对之前,或在初始化所述硬件终端,生成所述硬件终端的公钥私钥对之后,所述方法还包括:
在所述硬件终端中存储预设的认证密码;或
在所述硬件终端中存储预设的所述认证密码和便捷密码。
4.根据权利要求3所述的方法,其特征在于,在获取所述联网设备中保存的所述数据转移任务请求信息之后,所述方法还包括:
所述硬件终端获取所述认证密码和/或所述便捷密码,其中,所述联网设备获取所述认证密码或所述便捷密码,传递给所述硬件终端;
使用所述认证密码和/或所述便捷密码对所述硬件终端进行身份认证;以及
其中,如果身份认证成功,则进入执行所述硬件终端对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名的步骤。
5.根据权利要求4所述的方法,其特征在于,在所述硬件终端获取所述认证密码和/或所述便捷密码之前,所述方法还包括:
检测所述硬件终端是否具有所述认证密码和/或所述便捷密码;
如果检测得到所述硬件终端不具有所述认证密码和/或所述便捷密码,则为所述硬件终端设置新认证密码和/或新便捷密码,
其中,所述硬件终端设置新认证密码和/或新便捷密码的步骤包括:依次输入预定数量的所述新认证密码和/或新便捷密码;判断依次输入各个所述新认证密码和/或新便捷密码是否相同;如果每个新认证密码和/或新便捷密码相同,则所述硬件终端保存所述新认证密码和/或新便捷密码;以及
其中,在使用所述便捷密码对所述硬件终端进行身份认证的认证次数超过第一阈值的情况下,所述便捷密码认证失败。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在生成所述硬件终端的公钥私钥对之前,所述硬件终端存储预设的备份密码;
在所述硬件终端中存储预设的认证密码之后,
所述联网设备接收启动备份任务的备份指令;
所述联网设备将备份指令传输给所述硬件终端;
所述硬件终端获取备份密码;
使用所述备份密码对所述硬件终端进行身份认证;
其中,如果身份认证成功,所述硬件终端使用所述认证密码将所述公钥私钥对中的私钥加密,得到备份密码包;以及
所述硬件终端将所述备份密码包和所述公钥私钥对中的公钥传输给所述联网设备。
7.根据权利要求1所述的方法,其特征在于,所述数据转移任务请求信息包括目标账户信息和数据转移数量信息,其中所述目标账户信息包括目标账户的公钥或者由目标账户的公钥按照P2P网络约定的方法演算出的信息,在获取所述联网设备中保存的所述数据转移任务请求信息之后,所述方法还包括:
所述硬件终端判断所述目标账户信息和所述数据转移数量信息的格式是否正确;以及
如果所述硬件终端判断出所述目标账户信息和所述数据转移数量信息的格式正确,则判断所述硬件终端判断所述硬件终端中的余额是否大于等于所述数据转移数量信息对应的数据转移数量,
其中,如果所述硬件终端判断出所述硬件终端中的余额大于等于所述数据转移数量信息对应的数据转移数量,则进入执行所述硬件终端对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤。
8.根据权利要求7所述的方法,其特征在于,所述硬件终端对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤包括:
所述硬件终端按照所述P2P网络的约定格式排列所述目标账户信息、所述数据转移数量信息、所述公钥私钥对中的公钥、使用所述公钥私钥对中的私钥对上述信息的数字签名,生成数字签名后的数据转移信息包。
9.根据权利要求8所述的方法,其特征在于,在所述硬件终端将所述数字签名后的数据转移信息包反馈给所述联网设备之后,所述方法还包括:
所述联网设备使用所述数字签名后的数据转移信息包中的所述公钥私钥对中的公钥对所述数字签名后的数据转移信息包进行数字验签,如果所述联网设备对所述数字签名后的数据转移信息包数字验签成功,则将所述数据转移信息包广播到所述P2P网络中;
其中,根据所述数字签名后的数据转移信息包中的所述公钥私钥对中的公钥,从所述P2P网络中的联网设备中查询所述账户的当前余额信息,判断所述当前余额信息是否大于等于所述数据转移数量,如果所述当前余额信息是大于等于所述数据转移数量,则确定所述数据转移数量是合法的。
10.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述联网设备获得数据更新指令;
所述联网设备向所述硬件终端发送数据更新请求;
所述硬件终端将所述公钥发送至所述联网设备;
所述联网设备从所述P2P网络中查询所述硬件终端中当前账户对应的余额信息,所述余额信息是所述P2P网络中联网设备接收到的所述当前账户所有转入转出记录的加总;
将所述余额信息传递给所述硬件终端;以及
所述硬件终端记录所述余额信息。
11.一种基于P2P网络的任务数据处理系统,其特征在于,包括:
P2P网络中的联网设备,用于获取数据转移任务请求信息;以及
独立于所述联网设备的硬件终端,用于获取所述联网设备中保存的所述数据转移任务请求信息,在对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包之后,将所述数字签名后的数据转移信息包反馈给所述联网设备。
12.一种基于P2P网络的任务数据处理装置,其特征在于,包括:
第一获取模块,用于使得P2P网络中的联网设备获取数据转移任务请求信息;
第二获取模块,用于使得独立于所述联网设备的硬件终端获取所述联网设备中保存的所述数据转移任务请求信息;
数字签名模块,用于使得所述硬件终端对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包;以及
反馈模块,用于使得所述硬件终端将所述数字签名后的数据转移信息包反馈给所述联网设备。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
初始化模块,用于在P2P网络中的联网设备获取数据转移任务请求信息之前,初始化所述硬件终端,生成所述硬件终端的公钥私钥对。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第一存储模块,用于在初始化所述硬件终端,生成所述硬件终端的公钥私钥对之前,或在初始化所述硬件终端,生成所述硬件终端的公钥私钥对之后,在所述硬件终端中存储预设的认证密码;或
第二存储模块,用于在初始化所述硬件终端,生成所述硬件终端的公钥私钥对之前,或在初始化所述硬件终端,生成所述硬件终端的公钥私钥对之后,在所述硬件终端中存储预设的所述认证密码和便捷密码。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于使得在获取所述联网设备中保存的所述数据转移任务请求信息之后,所述硬件终端获取所述认证密码和/或所述便捷密码,其中,所述联网设备获取所述认证密码或所述便捷密码,传递给所述硬件终端;
第一认证模块,用于使用所述认证密码和/或所述便捷密码对所述硬件终端进行身份认证;以及
第一执行模块,用于如果身份认证成功,则进入执行所述硬件终端对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名的步骤。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
检测模块,用于在所述硬件终端获取所述认证密码和/或所述便捷密码之前,检测所述硬件终端是否具有所述认证密码和/或所述便捷密码;
设置模块,用于如果检测得到所述硬件终端不具有所述认证密码和/或所述便捷密码,则为所述硬件终端设置新认证密码和/或新便捷密码,
其中,所述设置模块包括:输入子模块,用于依次输入预定数量的所述新认证密码和/或新便捷密码;判断子模块,用于判断依次输入各个所述新认证密码和/或新便捷密码是否相同;保存子模块,用于如果每个新认证密码和/或新便捷密码相同,则所述硬件终端保存所述新认证密码和/或新便捷密码;以及
锁死模块,用于在使用所述便捷密码对所述硬件终端进行身份认证的认证次数超过第一阈值的情况下,所述便捷密码认证失败。
17.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第三存储模块,用于在生成所述硬件终端的公钥私钥对之前,所述硬件终端存储预设的备份密码;
接收模块,用于在所述硬件终端中存储预设的认证密码之后,所述联网设备接收启动备份任务的备份指令;
第一传输模块,用于使得所述联网设备将备份指令传输给所述硬件终端;
第四获取模块,用于使得所述硬件终端获取备份密码;
第二认证模块,用于使用所述备份密码对所述硬件终端进行身份认证;
加密模块,用于使得如果身份认证成功,所述硬件终端使用所述认证密码将
所述公钥私钥对中的私钥加密,得到备份密码包;以及
第二传输模块,用于使得所述硬件终端将所述备份密码包和所述公钥私钥对中的公钥传输给所述联网设备。
18.根据权利要求12所述的装置,其特征在于,所述数据转移任务请求信息包括目标账户信息和数据转移数量信息,其中所述目标账户信息包括目标账户的公钥或者由目标账户的公钥按照P2P网络约定的方法演算出的信息,所述装置还包括:
第一判断模块,用于使得在获取所述联网设备中保存的所述数据转移任务请求信息之后,所述硬件终端判断所述目标账户信息和所述数据转移数量信息的格式是否正确;
第二判断模块,用于使得如果所述硬件终端判断出所述目标账户信息和所述数据转移数量信息的格式正确,则判断所述硬件终端判断所述硬件终端中的余额是否大于等于所述数据转移数量信息对应的数据转移数量;
第二执行模块,用于如果所述硬件终端判断出所述硬件终端中的余额大于等于所述数据转移数量信息对应的数据转移数量,则进入执行所述硬件终端对包含了所述数据转移任务请求信息的数据转移信息包进行数字签名,生成数字签名后的数据转移信息包的步骤。
19.根据权利要求13所述的装置,其特征在于,所述数字签名模块还用于使得所述硬件终端按照所述P2P网络的约定格式排列所述目标账户信息、所述数据转移数量信息、所述公钥私钥对中的公钥、使用所述公钥私钥对中的私钥对上述信息的数字签名,生成数字签名后的数据转移信息包。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
数字验签模块,用于使得在所述硬件终端将所述数字签名后的数据转移信息包反馈给所述联网设备之后,所述联网设备使用所述数字签名后的数据转移信息包中的所述公钥私钥对中的公钥对所述数字签名后的数据转移信息包进行数字验签;
广播模块,用于如果所述联网设备对所述数字签名后的数据转移信息包数字验签成功,则将所述数据转移信息包广播到所述P2P网络中;
其中,根据所述数字签名后的数据转移信息包中的所述公钥私钥对中的公钥,从所述P2P网络中的联网设备中查询所述账户的当前余额信息,判断所述当前余额信息是否大于等于所述数据转移数量,如果所述当前余额信息是大于等于所述数据转移数量,则确定所述数据转移数量是合法的。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
第五获取模块,用于所述联网设备获得数据更新指令;
第一发送模块,所述联网设备向所述硬件终端发送数据更新请求;
第二发送模块,用于使得所述硬件终端将所述公钥发送至所述联网设备;
查询模块,用于使得所述联网设备从所述P2P网络中查询所述硬件终端中当前账户对应的余额信息,所述余额信息是所述P2P网络中联网设备接收到的所述当前账户的所有转入转出记录的加总;
传递模块,用于将所述余额信息传递给所述硬件终端;以及
记录模块,用于使得所述硬件终端记录所述余额信息。
CN201410073543.6A 2014-02-28 2014-02-28 基于p2p网络的任务数据处理方法、装置及系统 Expired - Fee Related CN103795807B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410073543.6A CN103795807B (zh) 2014-02-28 2014-02-28 基于p2p网络的任务数据处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410073543.6A CN103795807B (zh) 2014-02-28 2014-02-28 基于p2p网络的任务数据处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN103795807A true CN103795807A (zh) 2014-05-14
CN103795807B CN103795807B (zh) 2017-08-01

Family

ID=50671074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410073543.6A Expired - Fee Related CN103795807B (zh) 2014-02-28 2014-02-28 基于p2p网络的任务数据处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN103795807B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065471A (zh) * 2014-07-11 2014-09-24 北京德加才科技有限公司 基于移动终端的数据交换系统及数据交换方法
CN104463001A (zh) * 2014-12-19 2015-03-25 比特卡国际有限公司 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置
CN105188015A (zh) * 2015-08-07 2015-12-23 上海斐讯数据通信技术有限公司 一种移动终端隐私数据迁移备份方法及移动终端
CN105282198A (zh) * 2014-07-07 2016-01-27 仝达 基于p2p网络的任务的数据处理方法和装置
CN106452727A (zh) * 2016-08-09 2017-02-22 中国银联股份有限公司 比特币交易转帐方法以及比特币交易转帐系统
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN107633400A (zh) * 2017-08-09 2018-01-26 北京云知科技有限公司 一种基于区块链的机器钱包的支付方法和装置
CN108777686A (zh) * 2018-06-05 2018-11-09 四川大学 一种针对区块链粉尘交易的识别方法及系统
CN109389377A (zh) * 2018-09-27 2019-02-26 杭州秘猿科技有限公司 一种非接触式离线签名方法、装置、电子设备及系统
CN109754241A (zh) * 2018-12-27 2019-05-14 江苏恒宝智能系统技术有限公司 一种硬钱包及基于硬钱包的验证方法
CN109863520A (zh) * 2018-11-27 2019-06-07 区链通网络有限公司 基于区块链的钱包系统及钱包使用方法、以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101393628A (zh) * 2008-11-12 2009-03-25 北京飞天诚信科技有限公司 一种新型的网上安全交易系统和方法
CN201548998U (zh) * 2009-09-15 2010-08-11 中信银行股份有限公司 一种辅助实现USB Key安全性的装置
CN102684880A (zh) * 2012-05-03 2012-09-19 林顺来 一种usb挑战应答令牌认证方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101393628A (zh) * 2008-11-12 2009-03-25 北京飞天诚信科技有限公司 一种新型的网上安全交易系统和方法
CN201548998U (zh) * 2009-09-15 2010-08-11 中信银行股份有限公司 一种辅助实现USB Key安全性的装置
CN102684880A (zh) * 2012-05-03 2012-09-19 林顺来 一种usb挑战应答令牌认证方法及系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282198A (zh) * 2014-07-07 2016-01-27 仝达 基于p2p网络的任务的数据处理方法和装置
CN105282198B (zh) * 2014-07-07 2018-11-23 仝达 基于p2p网络的任务的数据处理方法和装置
CN104065471A (zh) * 2014-07-11 2014-09-24 北京德加才科技有限公司 基于移动终端的数据交换系统及数据交换方法
CN104463001A (zh) * 2014-12-19 2015-03-25 比特卡国际有限公司 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置
CN105188015A (zh) * 2015-08-07 2015-12-23 上海斐讯数据通信技术有限公司 一种移动终端隐私数据迁移备份方法及移动终端
CN106452727B (zh) * 2016-08-09 2019-12-24 中国银联股份有限公司 比特币交易转帐方法以及比特币交易转帐系统
CN106452727A (zh) * 2016-08-09 2017-02-22 中国银联股份有限公司 比特币交易转帐方法以及比特币交易转帐系统
CN106549749A (zh) * 2016-12-06 2017-03-29 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN106549749B (zh) * 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
CN107633400A (zh) * 2017-08-09 2018-01-26 北京云知科技有限公司 一种基于区块链的机器钱包的支付方法和装置
CN108777686A (zh) * 2018-06-05 2018-11-09 四川大学 一种针对区块链粉尘交易的识别方法及系统
CN108777686B (zh) * 2018-06-05 2020-06-16 四川大学 一种针对区块链粉尘交易的识别方法及系统
CN109389377A (zh) * 2018-09-27 2019-02-26 杭州秘猿科技有限公司 一种非接触式离线签名方法、装置、电子设备及系统
CN109863520A (zh) * 2018-11-27 2019-06-07 区链通网络有限公司 基于区块链的钱包系统及钱包使用方法、以及存储介质
CN109754241A (zh) * 2018-12-27 2019-05-14 江苏恒宝智能系统技术有限公司 一种硬钱包及基于硬钱包的验证方法

Also Published As

Publication number Publication date
CN103795807B (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN103795807A (zh) 基于p2p网络的任务数据处理方法、装置及系统
JP6585281B2 (ja) ウェアラブルデバイスを使用した電子決済を容易にするための方法および装置
CN104158567B (zh) 蓝牙设备间的配对方法和系统、数据交互方法和系统
US20090037728A1 (en) Authentication System, CE Device, Mobile Terminal, Key Certificate Issuing Station, And Key Certificate Acquisition Method
EP1610202A1 (en) Using a portable security token to facilitate public key certification for devices in a network
CN106230784A (zh) 一种设备验证方法及装置
EP3132342A1 (en) Service authorization using auxiliary device
CN104301110A (zh) 应用于智能终端的身份验证方法、身份验证设备和系统
EP1277301A2 (en) Method for transmitting payment information between a terminal and a third equipement
CN101527633A (zh) 智能密钥设备获取数字证书的系统及方法
CN104917807A (zh) 资源转移方法、装置和系统
US20220239509A1 (en) Method for storing and recovering key for blockchain-based system, and device therefor
CN111767569A (zh) 区块链的访问授权方法及节点
CN103457729A (zh) 安全设备、业务终端及加密方法
US11831636B2 (en) Systems and techniques for trans-account device key transfer in benefit denial system
CN106817346A (zh) 一种数据传输方法、装置及电子设备
CN108764912A (zh) 一种基于短信验证码的支付方法及装置
US20080126797A1 (en) Server and system for transmitting certificate stored in fixed terminal to mobile terminated and method using the same
JP2008535427A (ja) データ処理デバイスとセキュリティモジュールとの間のセキュア通信
WO2017044677A1 (en) Method and apparatus for facilitating electronic payments using a wearable device
CN113365264A (zh) 一种区块链无线网络数据传输方法、装置及系统
WO2016175659A1 (en) A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products
JP2001358706A (ja) 著作物保護システム、暗号化装置、復号化装置および記録媒体
EP1788783B1 (en) Ubiquitous data backup
KR20180089951A (ko) 전자화폐 거래 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170801

Termination date: 20200228