一种数字加密货币的交易数据签名方法、装置及介质与流程

文档序号:13617364阅读:265来源:国知局
一种数字加密货币的交易数据签名方法、装置及介质与流程

本发明涉及数据签名领域,特别是涉及一种数字加密货币的交易数据签名方法、装置及介质。



背景技术:

包括比特币在内的数字加密货币是新兴的一种货币,其去中心化,分布记账的特点吸引了众多的参与者和研究者。近年来,经过密码学专家、计算机专家的努力,数字加密货币的安全体系在不断优化,交易的过程也在逐渐安全,但是对于数字加密货币客户端来说,对于数字加密货币交易时产生并传输的相关数据的安全保护机制还存在有一定的隐患。

在当前情况下,往往采用密钥的方式对数字加密货币的交易数据进行签名,但是由于现有技术中往往通过软件的方式生成密钥,并且软件生成的随机数多数为伪随机数,极易被破解,进而通过导致上述方法所生成的密钥安全性相对较低,通过该密钥签名的交易数据的安全性无法得到保障。此外,当前所生成的密钥需要写入到内存中以备使用,但是这种方式极易遭受内存追踪或缓冲区溢出等安全问题,导致密钥的泄露,同样对于数据的安全性造成了严重的威胁。

由此可见,提供一种数字加密货币的交易数据签名方法,以提高对数据安全性的保障,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种数字加密货币的交易数据签名方法、装置及介质,以提高对数据安全性的保障。

为解决上述技术问题,本发明提供一种数字加密货币的交易数据签名方法,包括:

对tpm芯片进行初始化并获取tpm芯片的使用权限;

利用tpm芯片生成第一随机数,并通过预设算法将第一随机数转化为结果密钥;其中,密钥存储在tpm芯片中;

获取数字加密货币的交易数据,并通过结果密钥对交易数据进行签名以得到签名数据。

优选的,该方法进一步包括:

对签名数据进行传输。

优选的,该方法进行一步包括:

通过tpm芯片生成第二随机数,并根据预设生成标准筛选第二随机数以获取目标第二随机数;

相应的,在对签名数据进行传输之前,该方法进一步包括:

将目标第二随机数作为签名数据的数据包首部标示。

优选的,结果密钥具体包括公钥及私钥;

相应的,通过结果密钥对交易数据进行签名以得到签名数据具体为:

通过私钥对交易数据进行签名以得到签名数据。

优选的,该方法进一步包括:

通过公钥对签名数据进行解密以得到交易数据。

优选的,预设算法具体为ecc签名算法。

此外,本发明还提供一种数字加密货币的交易数据签名装置,包括:

初始化模块,用于对tpm芯片进行初始化并获取tpm芯片的使用权限;

密钥生成模块,用于利用tpm芯片生成第一随机数,并通过预设算法将第一随机数转化为结果密钥;

数据签名模块,用于通过结果密钥对交易数据进行签名以得到签名数据。

优选的,该装置进一步包括:

传输模块,用于对签名数据进行传输。

此外,本发明还提供一种数字加密货币的交易数据签名装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的数字加密货币的交易数据签名方法的步骤。

此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的数字加密货币的交易数据签名方法的步骤。

本发明所提供的数字加密货币的交易数据签名方法中,由于采用tpm芯片生成第一随机数属于通过硬件生成随机数,因此相比于现有技术依靠软件算法所生成的随机数,通过tpm芯片生成的随机数的随机程度更高,因此由该随机数生成的密钥的更难以被破解,进而安全性更高。此外,由于在本方法中所生成的密钥存储在tpm芯片中,并直接通过tpm芯片对数字加密货币的交易数据进行签名以得到签名数据,进而无需将密钥写入到内存中,保证了所生成密钥的私密性,因此难以遭受内存追踪或缓冲区溢出等安全问题,提高了密钥存储的安全程度。另外,由于tpm芯片具备死锁机制,当tpm芯片频繁受到非法访问时会通过死锁状态拒绝访问,因此能够保障数字加密货币相关客户端中交易数据整体的安全性。此外,本发明还提供一种数字加密货币的交易数据签名装置及介质,有益效果如上所述。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数字加密货币的交易数据签名方法的流程图;

图2为本发明实施例提供的另一种数字加密货币的交易数据签名方法的流程图;

图3为本发明实施例提供的一种数字加密货币的交易数据签名装置结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种数字加密货币的交易数据签名方法,以提高对数据安全性的保障。本发明的另一核心是提供一种数字加密货币的交易数据签名装置及介质。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种数字加密货币的交易数据签名方法的流程图。请参考图1,数字加密货币的交易数据签名方法的具体步骤包括:

步骤s10:对tpm芯片进行初始化并获取tpm芯片的使用权限。

需要说明的是,对tpm芯片进行初始化是使用tpm芯片的前提条件,初始化是预先配置使tpm芯片正常工作的参数,在对tpm芯片进行初始化时需要获取tpm芯片的使用条件,通常是采用tpm芯片验证用户所输入的授权码,如果验证通过则为用户提供后续的相关功能,本步骤中采用验证的方式保证了tpm芯片的使用安全。

步骤s11:利用tpm芯片生成第一随机数,并通过预设算法将第一随机数转化为结果密钥。

其中,结果密钥存储在tpm芯片中。

需要说明的是,本步骤中的第一随机数用于生成结果密钥,进而对数据进行签名,由于密钥的重要组成部分为随机数,并且随机数是直接决定密钥安全性的重要参数。由于tpm芯片属于硬件范畴,因此其生成的随机数随机性更高,相应的密钥安全性也更高。此外,由于生成的密钥存储在tpm芯片中,并且tpm芯片又具有较高的安全防护机制,因此对于密钥的保护程度更高。

步骤s12:获取数字加密货币的交易数据,并通过结果密钥对交易数据进行签名以得到签名数据。

需要说明的是,本步骤是在tpm芯片中进行的,并且通过使用安全性更高的结果密钥对所获取的数字加密货币相关交易数据进行签名,能够相对提高签名过程的安全性以及所得到的签名数据的可靠性。需要说明的是,本步骤中所指的交易数据可以为数字加密货币客户端所产生及传输的数据,但在此不做具体限定。

本发明所提供的数字加密货币的交易数据签名方法中,由于采用tpm芯片生成第一随机数属于通过硬件生成随机数,因此相比于现有技术依靠软件算法所生成的随机数,通过tpm芯片生成的随机数的随机程度更高,因此由该随机数生成的密钥的更难以被破解,进而安全性更高。此外,由于在本方法中所生成的密钥存储在tpm芯片中,并直接通过tpm芯片对数字加密货币的交易数据进行签名以得到签名数据,进而无需将密钥写入到内存中,保证了所生成密钥的私密性,因此难以遭受内存追踪或缓冲区溢出等安全问题,提高了密钥存储的安全程度。另外,由于tpm芯片具备死锁机制,当tpm芯片频繁受到非法访问时会通过死锁状态拒绝访问,因此能够保障数字加密货币相关客户端中交易数据整体的安全性。

实施例二

图2为本发明实施例提供的另一种数字加密货币的交易数据签名方法的流程图。图2中步骤s10-s12与图1相同,在此不再赘述。

如图2所示,作为一种优选的实施方式,该方法进一步包括:

步骤s20:对签名数据进行传输。

可以理解的是,对交易数据进行签名以得到签名数据的根本目的是为了在并保障交易数据在签名的过程中不泄漏真实的内容,进而保证通信传输安全可靠的前提下对交易数据进行传输,进而通过交易数据的传输实现数字加密货币的交易或其它相关操作。

如图2所示,作为一种优选的实施方式,该方法进行一步包括:

步骤s21:通过tpm芯片生成第二随机数,并根据预设生成标准筛选第二随机数以获取目标第二随机数。

相应的,在对签名数据进行传输之前,该方法进一步包括:

步骤s22:将目标第二随机数作为签名数据的数据包首部标示。

需要说明的是,在进行数字加密货币的交易等操作时,可以通过将随机数作为数字加密货币客户端传输的交易数据的数据包标示,以保证其唯一性,进而确保该交易数据被正确获取并采取正确处理。而根据预设生成标准筛选第二随机数以获取目标第二随机数,实现了在生成第二随机数的基础上对随机数进行可用性的进一步筛选,目的是保证第二随机数能够符合预期的随机性,进而确保将所生成的目标第二随机数添加至签名数据的数据包首部,能够更加严格的起到唯一标示签名数据包的效果。对于生成标准的设定可以根据用户对于标示不重复的严格程度进行设定,在此不做具体限定。此外,步骤s21可以在步骤s22前的任意步骤前进行,在此不做具体限定。

此外,作为一种优选的实施方式,结果密钥具体包括公钥及私钥;

相应的,通过结果密钥对交易数据进行签名以得到签名数据具体为:

通过私钥对交易数据进行签名以得到签名数据。

需要说明的是,公钥与私钥是通过算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于签名会话密钥、验证数字签名,或签名可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥签名一段数据,必须用另一个密钥解密。比如用公钥签名数据就必须用私钥解密,如果用私钥签名也必须用公钥解密,否则解密将不会成功。

此外,在上诉实施方式的基础上,作为一种优选的实施方式,该方法进一步包括:

通过公钥对签名数据进行解密以得到交易数据。

可以理解的是,由于获取到真实数据才能够对数据进行后续的使用,因此需要通过公钥对签名数据进行解密以得到交易数据以便于对数据的后续使用。

此外,作为一种优选的实施方式,预设算法具体为ecc签名算法。

需要说明的是,ecc签名算法(椭圆加密算法),与经典的rsa,dsa等公钥密码体制相比,安全性能更高。此外,在私钥的签名解密速度上,ecc签名算法比rsa、dsa速度更快,并且存储空间占用小、对带宽的要求低。因此,采用ecc签名算法生成密钥能够在系统开销尽可能小的前提下,提供更具安全性的密钥。

本发明提供一种利用tpm芯片保护包括比特币在内的数字加密货币客户端的场景。在tpm芯片初始化过程中,客户端向tpm下发初始化指令,并传入tpm芯片使用授权值,tpm芯片接收到初始化的授权值参数后,完成属主创建操作,以后只有正确输入授权值,tpm芯片才会响应请求。在密钥生成过程中,客户端向tpm芯片下发生成ecc签名密钥的请求;tpm芯片根据请求,利用ecc算法引擎随机生成ecc公私钥,tpm芯片将新生成的ecc公钥返回给客户端,客户端对外公布由ecc公钥计算得到的地址。在客户端交易过程中,客户端准备交易数据,将交易数据提交给tpm芯片进行签名,tpm芯片验证授权值,若授权通过,调用ecc私钥完成对交易数据的签名,若授权值多次输入错误,tpm芯片进入死锁状态,不再响应上次请求,tpm芯片将签名结果返回给客户端。

实施例三

在上文中对于一种数字加密货币的交易数据签名方法的实施例进行了详细的描述,本发明还提供一种数字加密货币的交易数据签名装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图3为本发明实施例提供的一种数字加密货币的交易数据签名装置结构图。如图3所示,本发明实施例提供的一种数字加密货币的交易数据签名装置,包括:

初始化模块10,用于对tpm芯片进行初始化并获取tpm芯片的使用权限。

密钥生成模块11,用于利用tpm芯片生成第一随机数,并通过预设算法将第一随机数转化为结果密钥。

数据签名模块12,用于通过结果密钥对交易数据进行签名以得到签名数据。

本发明所提供的数字加密货币的交易数据签名装置中,由于采用tpm芯片生成第一随机数属于通过硬件生成随机数,因此相比于现有技术依靠软件算法所生成的随机数,通过tpm芯片生成的随机数的随机程度更高,因此由该随机数生成的密钥的更难以被破解,进而安全性更高。此外,由于在本装置中所生成的密钥存储在tpm芯片中,并直接通过tpm芯片对数字加密货币的交易数据进行签名以得到签名数据,进而无需将密钥写入到内存中,保证了所生成密钥的私密性,因此难以遭受内存追踪或缓冲区溢出等安全问题,提高了密钥存储的安全程度。另外,由于tpm芯片具备死锁机制,当tpm芯片频繁受到非法访问时会通过死锁状态拒绝访问,因此能够保障数字加密货币相关客户端中交易数据整体的安全性。

在实施例三的基础上,作为一种优选的实施方式,该装置进一步包括:

传输模块,用于对签名数据进行传输。

实施例四

本发明还提供一种数字加密货币的交易数据签名装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的签名方法的步骤。

本发明所提供的数字加密货币的交易数据签名装置中,由于采用tpm芯片生成第一随机数属于通过硬件生成随机数,因此相比于现有技术依靠软件算法所生成的随机数,通过tpm芯片生成的随机数的随机程度更高,因此由该随机数生成的密钥的更难以被破解,进而安全性更高。此外,由于在本装置中所生成的密钥存储在tpm芯片中,并直接通过tpm芯片对数字加密货币的交易数据进行签名以得到签名数据,进而无需将密钥写入到内存中,保证了所生成密钥的私密性,因此难以遭受内存追踪或缓冲区溢出等安全问题,提高了密钥存储的安全程度。另外,由于tpm芯片具备死锁机制,当tpm芯片频繁受到非法访问时会通过死锁状态拒绝访问,因此能够保障数字加密货币相关客户端中交易数据整体的安全性。

本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的数字加密货币的交易数据签名方法的步骤。

本发明所提供的数字加密货币的交易数据签名的计算机可读存储介质中,由于采用tpm芯片生成第一随机数属于通过硬件生成随机数,因此相比于现有技术依靠软件算法所生成的随机数,通过tpm芯片生成的随机数的随机程度更高,因此由该随机数生成的密钥的更难以被破解,进而安全性更高。此外,由于在本计算机可读存储介质中所生成的密钥存储在tpm芯片中,并直接通过tpm芯片对数字加密货币的交易数据进行签名以得到签名数据,进而无需将密钥写入到内存中,保证了所生成密钥的私密性,因此难以遭受内存追踪或缓冲区溢出等安全问题,提高了密钥存储的安全程度。另外,由于tpm芯片具备死锁机制,当tpm芯片频繁受到非法访问时会通过死锁状态拒绝访问,因此能够保障数字加密货币相关客户端中交易数据整体的安全性。

以上对本发明所提供的一种数字加密货币的交易数据签名方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1