基于区块链的在线安全交易方法和系统与流程

文档序号:16001928发布日期:2018-11-20 19:34阅读:156来源:国知局

本发明公开关于通讯技术的领域,更具体的关于一种基于区块链的在线安全交易方法和系统。



背景技术:

区块链是一种去中心化的数据库,包括一个持续增长的记录即区块的列表,这些区别通过密码学的方式链接并加密。每个区块通常都包括前一区块的密码哈希,时间戳和交易数据。区块链可以用于数据的永久安全保存,一旦数据被记录,则除非修改其所有的后续区块,都不能对该数据进行修改,并且具有很高的BFT容错性。因此,区块链目前广泛应用于身份识别、在线交易、虚拟货币、账目管理、文档保存、食品安全追溯等领域。

在在线交易领域中,区块链由于出色的发明公开透明性、安全性和可靠性而实现了例如比特币等新的交易模型。但因为其并不存在一个中心化的处理中心,任何一个终端都可以看做是一个中心并且保有完整的区块链台账,即全部的交易信息,所以区块链与现有中心化交易平台或第三方交易服务器的协作必须要求一些额外的机制才能顺利完成。



技术实现要素:

本发明公开实施例的目的之一在于解决现有技术中的上述问题,并提供能够增加现有中心化交易平台与区块链交易模型之间的兼容性的在线安全交易方法和系统。

本发明公开一些实施例关于一种基于区块链的在线安全交易方法,包括由第一用户装置从远程服务器读取第一交易信息,该第一交易信息包括统一资源定位符URL信息和接入信息,由第一用户装置将第一交易信息输入散列函数计算第一散列值,由第一用户装置将第一散列值利用第一用户装置的私钥加密,由第一用户装置将第一交易信息利用第一用户装置和第二用户装置共有的公钥加密,由第一用户装置将所加密的第一散列值和所加密的第一交易信息添加为第一区块并传播到第二用户装置,由第二用户装置通过第二用户装置的私钥解密第一交易信息,由第二用户装置通过公钥解密第一散列值,由第二用户装置将所解密的第一交易信息输入散列函数计算第二散列值,在所解密的第一散列值和第二散列值一致时由第二用户装置利用所解密的接入信息接入URL信息所对应的远程服务器上的网络资源,由第二用户装置从远程服务器读取第二交易信息,由第二用户装置将第二交易信息输入散列函数计算第三散列值,由第二用户装置将第三散列值利用第二用户装置的私钥加密,由第二用户装置将第二交易信息利用公钥加密,由第二用户装置将所加密的第三散列值和所加密的第二交易信息添加为第二区块并传播到第一用户装置,由第一用户装置通过公钥解密第三散列值,由第一用户装置将所解密的第二交易信息输入散列函数计算第四散列值,以及在所解密的第三散列值和第四散列值一致时由第一用户装置向远程服务器发送交易完成的确认消息并请求远程服务器变更接入信息。

本发明公开实施例还发明公开了一种基于区块链的在线安全交易系统,包括互相通信耦合的第一用户装置、第二用户装置和远程服务器,其中第一用户装置配置成从远程服务器读取第一交易信息,该第一交易信息包括统一资源定位符URL信息和接入信息,将第一交易信息输入散列函数计算第一散列值,将第一散列值利用第一用户装置的私钥加密,将第一交易信息利用第一用户装置和第二用户装置共有的公钥加密,并将所加密的第一散列值和所加密的第一交易信息添加为第一区块并传播到第二用户装置,第二用户装置配置成用私钥解密所接收到的第一交易信息,用公钥解密第一散列值,将所解密的第一交易信息输入散列函数计算第二散列值,在所解密的第一散列值和第二散列值一致时利用所解密的接入信息接入URL信息所对应的远程服务器上的网络资源,从远程服务器读取第二交易信息,将第二交易信息输入散列函数计算第三散列值,将第三散列值利用第二用户装置的私钥加密;将第二交易信息利用公钥加密,并将所加密的第三散列值和所加密的第二交易信息添加为第二区块并传播到第一用户装置,以及第一用户装置还配置成通过其私钥解密第二交易信息,通过公钥解密第三散列值,将所解密的第二交易信息输入散列函数计算第四散列值,在所解密的第三散列值和第四散列值一致时向远程服务器发送交易完成的确认消息并请求远程服务器变更接入信息。

在一些实施例中,接入信息由远程服务器随机生成。

在一些实施例中,第二用户装置在所解密的第一散列值并未已存储在第二用户装置的情况下再判断所解密的第一散列值与第二散列值是否一致。

在一些实施例中,第一用户装置在所解密的第三散列值并未已存储在第一用户装置的情况下再判断所解密的第三散列值与第四散列值是否一致。

在一些实施例中,第一用户装置将公钥与第一区块一起进行广播。

在一些实施例中,第二交易信息不包括URL信息和接入信息。

所发明公开的实施例能够为不同类型的第三方交易平台之间的交易提供兼容性,让随机的交易双方之间在保持匿名的情况下能够对交易所遵循的协议进行选择,在保证安全性的同时更便利地完成交易,从而区块链交易模型所具有的透明性、安全性、可靠性和易维护性能够在一些方面中适用于现有的各种中心化交易系统。

附图说明

所提供的附图是为了对本文的实施例进行说明性图示,而不是为了将实施例限制于所图示的范围。

图1是根据一个实施例的安全交易系统的框图。

图2是根据一个实施例的安全交易方法的流程图。

具体实施方式

本领域技术人员将理解虽然第一、第二、第三等在本文中多次出现来用于描述各种元素,但这些元素并不应由这些术语限制。这些术语仅用于将元素彼此区分开。例如,第一元素可以称作第二元素,并且相似地,第二元素可以称作第一元素,而不偏离本发明的范围。如本文使用的,术语“和/或”包括关联的列出项目中的一个或多个中的任一个或全部组合。

图1是根据一个实施例的安全交易系统100的框图。系统100包括第一用户装置101,第二用户装置111和远程服务器120。用户装置101和111可以是任何固定用户终端和移动用户终端,并且可以通过支持各种协议的有线网络或无线网络在互联网上与远程服务器120进行通信。远程服务器120可以实施为服务器集群、云端等来构建中心化的第三方交易平台,并按照该交易平台运营商所自定义的规则和协议进行操作。虽然图中仅示出了一个远程服务器120,但本领域技术人员将理解第一用户装置101和第二用户装置111可以与对应着多种第三方交易平台交易规则的多个远程服务器120进行通信,并在交易过程中选择任何一种交易规则。第一用户装置101包括第一处理器102,第一存储器103以及第一I/O接口104。第二用户装置111包括第二处理器112,第二存储器113以及第二I/O接口114。处理器102、112可以是任何通用或专用类型的处理器、控制器以操作相应的用户装置执行指令。存储器103、113优选包括易失性存储介质和非易失性存储介质,以至少用于存储交易过程中产生的交易信息以及由处理器102、112所执行的指令。I/O接口104、114可以包括适用于通过有线连接进行通信的适配器、有线网卡、同轴线缆、光纤等,还包括用于通过无线方式,例如4G/LTE,GSM,CDMA,TDM或其他蜂窝网络等来进行通信的收发器、天线等。

图2是根据一个实施例的安全交易方法的流程图。在步骤S201中,首先由第一用户装置101通过第一I/O接口104从远程服务器120读取第一交易信息。该第一交易信息包括与第一用户装置101所要发起的交易相关的统一资源定位符URL信息和接入信息,例如用户名、会话ID、识别码、交易特征码或密码等。该接入信息优选是随机确定的,即包括一个随机数,并且在每笔交易完成之后都进行更换。第一用户装置101的处理器102接着将所读取的第一交易信息输入散列函数计算第一散列值。该散列函数例如是安全散列算法SHA中的SHA256函数,该函数通过将消息分块后重复进行逻辑运算来执行循环加密,最后得到256比特的摘要信息,即散列值。第一用户装置101可将所计算的第一散列值存储在存储器103中,并利用第一用户装置101所持有的私钥加密,而第一交易信息本身则是利用第一用户装置101和第二用户装置102所共有的公钥来加密。该公钥和私钥可以是RSA签名算法中的公钥和私钥,并且可以通过相应的处理器102,112来生成并存储。之后,处理器102可以将所加密的第一散列值和所加密的第一交易信息通过第一I/O接口104传播到第二用户装置111。在一个实施例中,所加密的第一散列值和所加密的第一交易信息可以作为区块链中的一个区块被添加到区块链,并加入其它必要所需的数据,如时间戳、上一区块的记录、默克尔树根值等。在一个实施例中,所添加的区块可以与公钥一起广播以允许网络内不特定的任何用户都可以接收到并保存。但也可以采用单播或多播的方式将传播范围控制在所选择的用户群体。该区块可以分散在网络中由任何一个其他用户装置来存储。

在步骤S202中,第二用户装置111首先通过其私钥解密第一交易信息并通过公钥解密第一散列值。第二用户装置111的存储器113中将存储有与第一用户装置101相对应的散列函数,该散列函数对应同样的输入将具有同样的输出,但无法从该输出反推到其输入值。第二用户装置111的处理器112将所解密的第一交易信息输入散列函数计算出一个新的散列值即第二散列值。如果所解密的第一散列值与第二散列值一致,则证明所收到的交易信息没有被篡改,是真实可靠的。第二用户装置111还可以保存每次所解密的第一散列值,如果发现存储器113中之前存储的散列值与当前所解密的第一散列值一致,则可以放弃进行此处交易。第二用户装置111因此可以在所解密的第一散列值未存储在存储器113的情况下再判断第一散列值与第二散列值是否一致以避免重复操作。此后,第二用户装置111根据所解密的第一交易信息中的URL信息和接入信息通过第二I/O接口114接入远程服务器120,并且可以在远程服务器120执行与交易相关的过程,例如取得支付账户信息、修改金额、输入密码等。

在步骤S203中,由第二用户装置111通过第二I/O接口114从远程服务器120读取第二交易信息。该第二交易信息优选可以是确认交易已经完成的确认消息,其可以包括交易流水号、交易完成标识符等而不包括任何URL信息或接入信息,第一用户装置101将因此无需获知第二用户装置111所执行的交易的信息,而只需与远程服务器120进行确认。第二用户装置111随后将所读取的第二交易信息输入上述散列函数计算第三散列值,将第三散列值利用其私钥加密,第二交易信息利用上述公钥加密。与上述步骤类似,第二用户装置101随后将所加密的第三散列值和所加密的第二交易信息添加为第二区块并传播到第一用户装置101以便第一用户装置101确认之后完成该交易过程。第一用户装置101可以根据第二区块中的第二交易信息,确定交易成功后与远程服务器120进行后续操作。第二用户装置111可用在其第二存储器113中保存该第二交易信息以避免重复交易。

在步骤S204中,第一用户装置101通过其自身的私钥解密第二交易信息并通过上述公钥解密第三散列值,随后将所解密的第二交易信息输入上述相同的散列函数计算出第四散列值。在所解密的第三散列值和第四散列值一致时,第一用户装置101将通过其第一I/O接口104向远程服务器120发送交易完成的确认消息,确认双方交易过程完成,并且可以与远程服务器120进行优惠券的发送、积分管理或账目计算等后续操作。第一用户装置101可将每次所解密的第三散列值保存,以用于在下一次交易时确认是否已经进行过相同的交易。类似地,第一用户装置101可以在所解密的第三散列值并未已存储在第一用户装置101的情况下再判断所解密的第三散列值与第四散列值是否一致。第一用户装置101所发送的确认消息还用于请求远程服务器120变更第一用户装置101在步骤S201中所读取过的接入信息,以确保下一次第一用户装置101从远程服务器120所读取的第一交易信息将具有不同的接入信息或者URL信息,从而避免出现重叠交易的区块。

虽然出于描述的目的,本文已经说明了一些具体的实施例,但是本发明将涵盖本文讨论的实施例的任何修订或改变。本文描述的实施例仅由权利要求书限制,而不限于具体描述的步骤或者部件。

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