CN111626735B - 一种数据交互系统、方法和模块 - Google Patents

一种数据交互系统、方法和模块 Download PDF

Info

Publication number
CN111626735B
CN111626735B CN202010465212.2A CN202010465212A CN111626735B CN 111626735 B CN111626735 B CN 111626735B CN 202010465212 A CN202010465212 A CN 202010465212A CN 111626735 B CN111626735 B CN 111626735B
Authority
CN
China
Prior art keywords
key
certificate
hash
information
hash value
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.)
Active
Application number
CN202010465212.2A
Other languages
English (en)
Other versions
CN111626735A (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.)
Shanghai Zhusha Intelligent Technology Co ltd
Original Assignee
Shanghai Zhusha Intelligent Technology Co ltd
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 Shanghai Zhusha Intelligent Technology Co ltd filed Critical Shanghai Zhusha Intelligent Technology Co ltd
Priority to CN202010465212.2A priority Critical patent/CN111626735B/zh
Publication of CN111626735A publication Critical patent/CN111626735A/zh
Application granted granted Critical
Publication of CN111626735B publication Critical patent/CN111626735B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提出一种数据交互系统、方法和模块,包括:用户端设备、网络设备,证书服务器(2)、分布式区块链系统(4)、公有链(5)。本发明利用公钥基础建设的证书信任架构,可验证使用者的真实身份,实现在公有链中结合数字签名及信封等密码技术进行更安全的网络交易。解决了现有技术中的通信模块无法实现点对点交易,以及信息收集、交易和记录以及无法适应物联网大数据的需求的问题。

Description

一种数据交互系统、方法和模块
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据交互系统、方法和模块。
背景技术
区块链网络是一种去中心化的、由多个节点参与的分布式数据存储系统。数据一旦被写入每个节点上的区块链,一方面,意味着数据在全网公开,另一方面,写入区块链的数据也难以被删除与篡改。
轻钱包(SPV)是“Simplified Payment Verification”(简单支付验证)的缩写。中本聪论文简要地提及了这一概念,指出:不运行完全节点也可验证支付,用户只需要保存所有的block header(程序块首部)就可以了。用户虽然不能自己验证交易,但如果能够从区块链的某处找到相符的交易,他就可以知道网络已经认可了这笔交易,而且得到了网络的多少个确认。
目前传统通信模块一般只具有通信功能,需要与中心节点交互来确认支付信息,实时交易或点对点的交易是目前的通信模块无法实现的。随着区块链技术在各行业的渗透,用户期待出现一种能够利用区块链技术实现实时交易或点对点的交易的通信模块,并且保证区块链技术中的数据安全性。
发明内容
为了实现上述目的,本申请实施例提供的技术方案如下:
根据本发明的一个方面,提出了一种数据交互方法,应用于用户端设备,所述方法包括:
步骤S201、发送注册请求信息,所述注册请求信息包括要注册的区块链地址;
步骤S202、网络端设备3收到注册请求信息后生成一个随机数R,并生成第一哈希值SR;第一哈希值SR由公式SR=Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥,Hash为哈希函数;Key值是网络端设备3和用户端设备1所设置的公钥,网络端设备3将随机数R和第一哈希值SR发送给用户端设备1;
步骤S203、用户端设备1计算收到的第一哈希值SR是否等于第二哈希值,其中,第二哈希值通过Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥;如果是,则用户端设备1选择证书100并启用其私钥,生成证书100的注册信息并进行数字签名,如果否则返回错误信息,结束流程;
步骤S204、用户端设备1将注册信息发送到网络端设备3;网络端设备3接收到注册信息后,首先需验证注册信息里的第三哈希值是否等于Hash(R,Key),其中R为网络端设备3发送给用户端设备1的随机数,Key为公钥,如果是则进行下一步骤,如果不是则向用户端设备1返回错误信息;
步骤S205、第三哈希值验证通过后,网络端设备3采用证书100里的公钥验证数字签名,如果验证通过则进行下一步骤,如果不是则向用户端设备1返回错误信息;
步骤S206、区块链智能合约52收到注册信息后将证书100的注册信息发布到公有链5,同时,区块链智能合约52建立以用户的区块链地址对应到证书信息的检索键,及以证书密钥散列消息认证码对应到用户的区块链地址的检索键;区块链智能合约52的注册交易在公有链5上被挖矿确认后,向网络端设备3返回确认信息,网络端设备3将该确认信息转发给用户端设备1;
步骤S207、用户端设备1从公有链5中的N个节点分别获取区块头信息,以提取出对应的N个梅克尔树根节点哈希值;获得所提取的N个哈希值中出现次数最多的哈希值,并将该哈希值确定为记录有最新交易信息的梅克尔树的根节点哈希值;其中,N≥1。
根据本发明的一个方面,提出了一种数据交互方法,应用于网络设备,所述方法包括:
步骤S201、接收用户端设备1发送的注册请求信息,所述注册请求信息包括要注册的区块链地址;
步骤S202、网络端设备3收到注册请求信息后生成一个随机数R,并生成第一哈希值SR;第一哈希值SR由公式SR=Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥,Hash为哈希函数;Key值是网络端设备3和用户端设备1所设置的公钥,网络端设备3将随机数R和第一哈希值SR发送给用户端设备1;
步骤S203、用户端设备1计算收到的第一哈希值SR是否等于第二哈希值,其中,第二哈希值通过Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥;如果是,则用户端设备1选择证书100并启用其私钥,生成证书100的注册信息并进行数字签名,如果否则返回错误信息,结束流程;
步骤S204、用户端设备1将注册信息发送到网络端设备3;网络端设备3接收到注册信息后,首先需验证注册信息里的第三哈希值是否等于Hash(R,Key),其中R为网络端设备3发送给用户端设备1的随机数,Key为公钥,如果是则进行下一步骤,如果不是则向用户端设备1返回错误信息;
步骤S205、第三哈希值验证通过后,网络端设备3采用证书100里的公钥验证数字签名,如果验证通过则进行下一步骤,如果不是则向用户端设备1返回错误信息;
步骤S206、区块链智能合约52收到注册信息后将证书100的注册信息发布到公有链5,同时,区块链智能合约52建立以用户的区块链地址对应到证书信息的检索键,及以证书密钥散列消息认证码对应到用户的区块链地址的检索键;区块链智能合约52的注册交易在公有链5上被挖矿确认后,向网络端设备3返回确认信息,网络端设备3将该确认信息转发给用户端设备1;
步骤S207、用户端设备1从公有链5中的N个节点分别获取区块头信息,以提取出对应的N个梅克尔树根节点哈希值;获得所提取的N个哈希值中出现次数最多的哈希值,并将该哈希值确定为记录有最新交易信息的梅克尔树的根节点哈希值;其中,N≥1。
根据本发明的一个方面,提出了一种数据交互系统,包括:用户端设备以及网络设备,证书服务器2、分布式区块链系统4、公有链5,其中公有链5的每个区块中包括数据层51。
根据本发明的一个方面,提出了一种通信模块,包括:处理器113和存储器112,所述存储器112用于存储计算机程序,所述处理器113执行所述存储器112中的计算机程序执行数据交互方法。
根据本发明的一个方面,提出了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现数据交互方法。
与现有技术相比,本发明具有如下有益效果:本发明利用公钥基础建设的证书信任架构,可验证使用者的真实身份,实现在公有链中结合数字签名及信封等密码技术进行更安全的网络交易。解决了现有技术中的通信模块无法实现点对点交易,以及信息收集、交易和记录以及无法适应物联网大数据的需求的问题。
附图说明
图1为本发明的数据交互系统的示意图;
图2为本发明的数据层的结构示意图;
图3为本发明的通信模块的结构示意图;
图4为依据本发明实施例的用户注册流程图;
图5是依据本发明实施例一的网络投标方法的流程图。
具体实施方式
下面结合附图和具体实施方式,对本发明的技术方案做详细描述,附图中示出了本发明的示例性实施方式。然而,本发明可以具体实施为许多不同的形式,并且不应解读为将本发明限制于本文所阐述的实施方式;相反地,提供这些实施方式使得本公开变得透彻和完整,并且将向本领域技术人员充分地传达本发明的范围。相同的标号将通篇指代相同的元件。如在本文所使用的,措辞“和/或”包括一个或更多个相关列出的项目的任何组合和全部组合。
除非另外定义,否则本文所使用的所有术语(包括技术的和科学的术语)均具有与本发明所属技术领域的技术人员的通常理解相同的含义。还应理解的是,除非在本文明确定义,否则例如在常用词典中定义的术语应被解释为具有与其在的相关技术和该特定的公开的情况下的含义相一致的含义,并且将不解释为理想化的或过分正式的含义。
应强调的是,当在该说明书使用时,措辞“包含/包括”是指定特定的特征、要素、步骤或组件的存在,但是不排除一个或更多个其它特征、要素、步骤、组件或其组的存在或附加。
应理解的是,虽然可以在本文使用措辞第一和第二来描述各种组件,但是这些组件不应被这些措辞所限制。这些措辞仅用于从另一组件区分一个组件。因而,例如,在不背离本发明的教导的情况下,下面描述的第一组件可以被称为第二组件。
如图1所示为本发明的数据交互系统的示意图。数据交互系统包括一个或多个用户端设备1、证书服务器2、网络端设备3、分布式区块链系统4、公有链5,其中公有链5的每个区块中包括数据层51。
如图2所示为本发明的数据层51的结构示意图,所述数据层51用于存储以下任意数据之一或数据组合:
交易数据511,为区块链中与此节点相关的点对点交易数据;
时间戳512,用于记录区块链网络内点对点交易发生的时间;将节点发生的交易数据加盖时间戳后形成数据区块并不可篡改的记录在区块链中。
交易数字货币钱包数据513,利用轻钱包地址和数字货币接收或支付交易费用;
预定含义的二进制字段514。所述二进制字段以第一设定值代表当前节点为售卖方,以第二设定值代表当前节点为购买方。
用户端设备1包括通信模块11,如图3所示为本发明的通信模块11的结构示意图。所述通信模块11包括存储器112和处理器113。所述存储器112包括加密管理单元1121,储值或预存费用模块1122,交易数据存储单元1123。
加密管理单元1121采用硬件或软件加密方式对数据进行加密,并用于管理用户的加密信息。储值或预存费用模块1122,用户可以储值或预存费用。交易数据存储单元1123,存储有数据层51的程序块头部,用以确认目标交易是否已经被写入块链中。存储器112还包括有证书服务器2所颁发的证书100用以与身份注册服务器3建立安全的通信。
用户端设备1可以是台式机、笔记本电脑、智能手机、平板电脑等各类型可连网的电子装置。
证书服务器2能够发行并验证证书。证书服务器2可以通过公钥基础设施(PublicKey Infrastructure,PKI)所提供的线上证书状态协议(Online Certificate StatusProtocol,OCSP)或证书撤销列表(Certificate revocation list,CRL)来检查证书状态信息。证书服务器2所颁发的证书100包括公钥与个人身份信息。
网络端设备3可以为身份注册服务器。身份注册服务器3包括身份注册、证书状态检查、区块链连接、定时更新状态信息等程序、证书注册资料、公钥、区块链帐户信息。
分布式区块链系统4由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成。
所有参与者终端都可通过公有链5发送交易信息。常见的区块链技术通常可以支持简单支付SPV验证。SPV是指针对某个交易,验证该交易是否已写入块链。SPV的原理是,验证请求方向数据存储方(区块链节点或中心化设备)请求验证某个交易(称为目标交易)是否已写入块链,数据存储方首先会定位所述目标交易所在的区块(称为目标区块),然后基于目标区块中的各交易构建梅克尔树(Merkle trees),然后确定目标交易对应的梅克尔路径,并将目标交易对应的梅克尔路径所关联的哈希值返回给验证请求方。验证请求方接收数据存储方返回的哈希值,验证目标交易对应的梅克尔路径是否正确,即根据目标交易的交易哈希与数据存储方返回的哈希值,依照所述目标交易对应的梅克尔路径,计算梅克尔树的根哈希,并判断计算得到的根哈希与目标区块的区块头中的根哈希是否一致,如果一致,就认定验证通过,证明目标交易确实已经被写入块链中。
区块链智能合约52设置于区块链的存储单元51中,在公有链5中提供身份注册、状态更新及身份验证等功能。
图4是依据本发明实施例的用户注册流程图,本实施例的方法适用于图1中数据交互系统中的各个用户端设备1。
步骤S201、用户端设备1发送注册请求信息,所述注册请求信息包括要注册的区块链地址;
步骤S202、身份注册服务器3收到注册请求信息后生成一个随机数R,并生成第一哈希值SR;第一哈希值SR由公式SR=Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥,Hash为哈希函数;Key值是身份注册服务器3和用户端设备1所设置的公钥,身份注册服务器3将随机数R和第一哈希值SR发送给用户端设备1;
步骤S203、用户端设备1计算收到的第一哈希值SR是否等于第二哈希值,其中,第二哈希值通过Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥;如果是,则用户端设备1选择证书100并启用其私钥,生成证书100的注册信息并进行数字签名,如果否则返回错误信息,结束流程;
步骤S203中的所述注册信息包括:区块链地址、证书100、第三哈希值、数字签名;第三哈希值由公式Hash(R,Key)得到,其中R为身份注册服务器3发送给用户端设备1的随机数,Key为公钥。
步骤S204、用户端设备1将注册信息发送到身份注册服务器3;身份注册服务器3接收到注册信息后,首先需验证注册信息里的第三哈希值是否等于Hash(R,Key),其中R为身份注册服务器3发送给用户端设备1的随机数,Key为公钥,如果是则进行下一步骤,如果不是则向用户端设备1返回错误信息;
步骤S205、第三哈希值验证通过后,身份注册服务器3采用证书100里的公钥验证数字签名,如果验证通过则进行下一步骤,如果不是则向用户端设备1返回错误信息;
步骤S205中还包括身份注册服务器3请求证书服务器2确认证书100的状态是否正常的步骤;如果为正常则身份注册服务器3记录证书100的注册信息并将注册信息注册到公有链5,如果为非正常,则从证书服务器2中下载最新的证书100。
身份注册服务器3记录证书100的注册信息。所述的注册信息包括证书密钥散列消息认证码、证书签发者、证书到期日、证书状态及相对应的用户地址等信息。身份注册模块321是先解析证书100并记录相关的注册信息到资料库,再将诸如证书100的密钥散列消息认证码、证书签发者、证书到期日、证书状态及相对应的用户地址等注册信息当作输入参数,通过身份注册服务器3调用区块链智能合约52的注册功能。采用密钥散列消息认证码(Keyed-hash Message Authentication Code,HMAC)以防止证书100的注册信息在区块链智能合约52的查询功能中被用来暴力搜寻相关的证书,因此能够进一步保护用户的隐私。
步骤S206、区块链智能合约52收到注册信息后将证书100的注册信息发布到公有链5,同时,区块链智能合约52建立以用户的区块链地址对应到证书信息的检索键,及以证书密钥散列消息认证码对应到用户的区块链地址的检索键;区块链智能合约52的注册交易在公有链5上被挖矿确认后,向身份注册服务器3返回确认信息,身份注册服务器3将该确认信息转发给用户端设备1。
另一方面,身份注册服务器3还可以于系统设定的时间利用公钥证书架构所提供的证书状态协议(OCSP)或证书废止清单(CRL)向证书服务器2查询已注册的证书100的最新状态。当检测到已注册的证书100的状态改变时,身份注册服务器3利用区块链智能合约52将证书100的状态信息更新到公有链5当中。
成功完成注册程序后,区块链地址与证书即产生关联,使后续应用中可供交易双方验证真实身份。例如,通过区块链智能合约52的身份验证功能,能够返回一区块链地址为参数的查询流程请求(例如投标、交易、拍卖等应用)来验证此区块链地址所注册的证书100。
步骤S207、用户端设备1从公有链5中的N个节点分别获取区块头信息,以提取出对应的N个梅克尔树根节点哈希值;获得所提取的N个哈希值中出现次数最多的哈希值,并将该哈希值确定为记录有最新交易信息的梅克尔树的根节点哈希值;其中,N≥1;
当N>1时,通过从同时从多个区块链节点获取区块头信息,以确定区块链中记录有最新交易信息的梅克尔树的根节点哈希值,能够防止由于单个节点伪造信息而影响轻钱包机制的安全性,从而有效避免了中心化的影响。
实施例一:
图5是依据本发明实施例一的网络投标方法的流程图,包括以下步骤:
步骤S301、投标者通过用户端设备1与分布式区块链系统4调取区块链智能合约52进行投标流程;
步骤S302、用户端设备1从公有链5中的N个节点分别获取区块头信息,以提取出对应的N个梅克尔树根节点哈希值;获得所提取的N个哈希值中出现次数最多的哈希值,并将该哈希值确定为记录有最新交易信息的梅克尔树的根节点哈希值;其中,N≥1;
步骤S303、投标的区块链智能合约52接受投标请求同时以投标者的区块链地址调用区块链智能合约52;
步骤S304、区块链智能合约52以此区块链地址查询已注册的证书100的相关信息并传回查询结果;
步骤S305、投标的区块链智能合约52收到回传结果后检查证书100的注册信息,分布式区块链系统4验证此证书100的签发者、到期日、状态等信息符合投标系统对身份验证的要求;
其中,分布式区块链系统4验证此证书100的签发者、到期日、状态等信息符合投标系统对身份验证的要求是指签发者是否正确、有无超过证书100的到期日、证书100的状态是否正常可用等程序。
步骤S306、注册信息的验证通过后,检查投标者的证书密钥散列消息认证码以确认此证书100是否已投标,如果是则进行下一步,如果否则返回投标失败信息;
步骤S306通过检查投标者的证书密钥散列消息认证码以确认此证书100是否已投标,因此可避免同一注册用户围标的情形。
步骤S307、区块链智能合约52记录此证书100的密钥散列消息认证码(HMAC)值并登记投标数据,再传回成功信息即能完成投标流程。
实施例二:
分布式区块链系统4在公有链5进行金融交易时,可利用区块链智能合约52的查询服务来验证交易双方具有证书100所代表的真实身份,从而达到确认客户身份的要求。此外本发明实施例也可于交易双方使用其他证书100的后提供验证服务,输入证书100的哈希值并由区块链智能合约52查出相对应的用户区块链地址,让分布式区块链系统4能够在公有链5中结合数字签名及信封等密码技术进行更安全的网络交易。
需说明的是,本发明实施例中所注册的证书100与区块链地址,两者属于多对多的关系,即一个证书可注册多个区块链地址,而一个区块链地址也可以注册多个不同签发体系的证书。数据交互系统可以根据需要设定可注册的地址或证书对应数目的上限,于记录证书注册信息的流程中加以检查及限制。
区块链智能合约52的权限管理机制须确保注册与更新证书状态的功能仅由合约的管理者来执行,但查询功能则无需限制。注册时区块链智能合约52建立证书100的注册信息与用户区块链地址的对应关系,并建立证书密钥散列消息认证码与用户区块链地址的对应关系。区块链智能合约52的依证书哈希值查询用户区块链地址功能,在收到证书哈希值的输入参数时,先以此哈希值计算出证书的密钥散列消息认证码(HMAC),是采用与身份注册伺服端同样的HMAC计算方式,然后再通过注册时建立的检索键查出相对应的区块链地址。而为了避免区块链智能合约52中以证书哈希值查询地址的功能,被以暴力搜寻方式不当查询所有证书的相对应地址,而可能损及区块链用户的隐私权,区块链智能合约52的这项查询功能应加上限制条件,例如:查询者的地址必须已通过证书注册程序、一定时间内允许查询的次数等,以防止上述不当查询的情形。
如本领域的技术人员将理解的,实施例的各方面可以体现为系统、装置、方法、或程序产品。因此,实施例可以采用完全硬件实施例、完全软件实施例(包括固件、常驻软件、微码等)、或者结合软件和硬件方面的实施例的形式,这些实施例在本文中通常都可称为“电路”、“模块”或“系统”。此外,实施例可以采用体现在存储在下文中称为代码的机器可读代码、计算机可读代码、及/或程序代码的一个或多个计算机可读存储设备中的程序产品的形式。存储设备可以是有形的、非暂时性的、及/或非传输性的。存储设备可能不体现信号。在某个实施例中,存储设备仅采用用于访问代码的信号。
本说明书中描述的某些功能单元可以被标记为模块,以便更加具体地强调它们的实现的独立性。例如,模块可以实现为包括定制的超大规模集成(“VLSI”)电路或门阵列、诸如逻辑芯片、晶体管、或其他分立部件的现成半导体的硬件电路。模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等的可编程硬件设备中实现。
模块还可以在用于由多种类型的处理器执行的代码及/或软件中实现。所识别的代码模块,例如,可以包括可执行代码的一个或多个物理或逻辑块,该可执行代码,例如,可以被组织为对象、过程、或功能。然而,所识别的模块的可执行体不需要物理地位于一起,而是可以包括存储在不同位置的不相干的指令,当逻辑地连接在一起时,包括该模块并实现模块的所述目的。
实际上,代码模块可以是单个指令,或许多指令,甚至可以分布在几个不同的代码段上、不同的程序中、并且跨越若干存储器设备。类似地,在本文中,操作数据可以在模块内被识别和示出,并且可以体现在任意合适的形式中并被组织在任意合适类型的数据结构内。操作数据可以收集为单个数据集,或者可以分布在不同的位置,包括在不同的计算机可读存储设备上。在模块或模块的部分以软件实现的情况下,该软件部分存储在一个或多个计算机可读存储设备上。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读存储介质。计算机可读存储介质可以是存储代码的存储设备。存储设备可以是,例如,但不限于电子的、磁性的、光学的、电磁的、红外的、全息的、微机械的、或半导体系统、装置、或设备,或前述的任意合适的组合。
存储设备的更加具体的示例(非详尽的列表)将包括以下内容:具有一条或多条导线的电气连接、便携式计算机磁盘、硬盘、随机存取存储器(“RAM”)、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”或闪存)、便携式光盘只读存储器(“CD-ROM”)、光学存储设备、磁性存储设备、或前述的任意合适的组合。在本文件的上下文中,计算机可读存储介质可以是包含或存储程序以供指令执行系统、装置或设备使用或与其结合的任意有形介质。
用于执行实施例的操作的代码可以为任意数量的行数,并且可以以一种或多种编程语言的任意组合来编写,包括诸如Python、Ruby、Java、Smalltalk、C++等的面向对象的编程语言,以及诸如“C”编程语言等的传统的过程式编程语言,以及/或诸如汇编语言的机器语言。代码可以完全地在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包,部分地在用户的计算机上并且部分地在远程计算机上或完全地在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任意类型的网络连接到用户的计算机,包括局域网(“LAN”)或广域网(“WAN”),或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种数据交互方法,其特征在于,应用于用户端设备,所述方法包括:
步骤S201、发送注册请求信息,所述注册请求信息包括要注册的区块链地址;
步骤S202、网络端设备(3)收到注册请求信息后生成一个随机数R,并生成第一哈希值SR;第一哈希值SR由公式SR=Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥,Hash为哈希函数;Key值是网络端设备(3)和用户端设备(1)所设置的公钥,网络端设备(3)将随机数R和第一哈希值SR发送给用户端设备(1);
步骤S203、用户端设备(1)计算收到的第一哈希值SR是否等于第二哈希值,其中,第二哈希值通过Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥;如果是,则用户端设备(1)选择证书(100)并启用其私钥,生成证书(100)的注册信息并进行数字签名,如果否则返回错误信息,结束流程;
步骤S204、用户端设备(1)将注册信息发送到网络端设备(3);网络端设备(3)接收到注册信息后,首先需验证注册信息里的第三哈希值是否等于Hash(R,Key),其中R为网络端设备(3)发送给用户端设备(1)的随机数,Key为公钥,如果是则进行下一步骤,如果不是则向用户端设备(1)返回错误信息;
步骤S205、第三哈希值验证通过后,网络端设备(3)采用证书(100)里的公钥验证数字签名,如果验证通过则进行下一步骤,如果不是则向用户端设备(1)返回错误信息;
步骤S206、区块链智能合约(52)收到注册信息后将证书(100)的注册信息发布到公有链(5),同时,区块链智能合约(52)建立以用户的区块链地址对应到证书信息的检索键,及以证书密钥散列消息认证码对应到用户的区块链地址的检索键;区块链智能合约(52)的注册交易在公有链(5)上被挖矿确认后,向网络端设备(3)返回确认信息,网络端设备(3)将该确认信息转发给用户端设备(1);
步骤S207、用户端设备(1)从公有链(5)中的N个节点分别获取区块头信息,以提取出对应的N个梅克尔树根节点哈希值;获得所提取的N个哈希值中出现次数最多的哈希值,并将该哈希值确定为记录有最新交易信息的梅克尔树的根节点哈希值;其中,N≥1。
2.根据权利要求1所述的方法,其特征在于:步骤S203中的所述注册信息包括:区块链地址、证书(100)、第三哈希值、数字签名;第三哈希值由公式Hash(R,Key)得到,其中R为网络端设备(3)发送给用户端设备(1)的随机数,Key为公钥。
3.根据权利要求1所述的方法,其特征在于:步骤S205中还包括网络端设备(3)请求证书服务器(2)确认证书(100)的状态是否正常的步骤;如果为正常则网络端设备(3)记录证书(100)的注册信息并将注册信息注册到公有链(5),如果为非正常,则从证书服务器(2)中下载最新的证书(100)。
4.一种数据交互方法,其特征在于,应用于网络设备,所述方法包括:
步骤S201、接收用户端设备(1)发送的注册请求信息,所述注册请求信息包括要注册的区块链地址;
步骤S202、网络端设备(3)收到注册请求信息后生成一个随机数R,并生成第一哈希值SR;第一哈希值SR由公式SR=Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥,Hash为哈希函数;Key值是网络端设备(3)和用户端设备(1)所设置的公钥,网络端设备(3)将随机数R和第一哈希值SR发送给用户端设备(1);
步骤S203、用户端设备(1)计算收到的第一哈希值SR是否等于第二哈希值,其中,第二哈希值通过Hash(Address,Key)得到,其中Address为区块链地址,Key为公钥;如果是,则用户端设备(1)选择证书(100)并启用其私钥,生成证书(100)的注册信息并进行数字签名,如果否则返回错误信息,结束流程;
步骤S204、用户端设备(1)将注册信息发送到网络端设备(3);网络端设备(3)接收到注册信息后,首先需验证注册信息里的第三哈希值是否等于Hash(R,Key),其中R为网络端设备(3)发送给用户端设备(1)的随机数,Key为公钥,如果是则进行下一步骤,如果不是则向用户端设备(1)返回错误信息;
步骤S205、第三哈希值验证通过后,网络端设备(3)采用证书(100)里的公钥验证数字签名,如果验证通过则进行下一步骤,如果不是则向用户端设备(1)返回错误信息;
步骤S206、区块链智能合约(52)收到注册信息后将证书(100)的注册信息发布到公有链(5),同时,区块链智能合约(52)建立以用户的区块链地址对应到证书信息的检索键,及以证书密钥散列消息认证码对应到用户的区块链地址的检索键;区块链智能合约(52)的注册交易在公有链(5)上被挖矿确认后,向网络端设备(3)返回确认信息,网络端设备(3)将该确认信息转发给用户端设备(1);
步骤S207、用户端设备(1)从公有链(5)中的N个节点分别获取区块头信息,以提取出对应的N个梅克尔树根节点哈希值;获得所提取的N个哈希值中出现次数最多的哈希值,并将该哈希值确定为记录有最新交易信息的梅克尔树的根节点哈希值;其中,N≥1。
5.根据权利要求4所述的方法,其特征在于:步骤S203中的所述注册信息包括:区块链地址、证书(100)、第三哈希值、数字签名;第三哈希值由公式Hash(R,Key)得到,其中R为网络端设备(3)发送给用户端设备(1)的随机数,Key为公钥。
6.一种数据交互系统,其特征在于,包括:如权利要求1至3中任一项所述的用户端设备以及,如权利要求4至5中任一项所述的网络设备,证书服务器(2)、分布式区块链系统(4)、公有链(5),其中公有链(5)的每个区块中包括数据层(51)。
7.根据权利要求6所述的数据交互系统,其特征在于:所述数据层(51)用于存储以下任意数据之一或数据组合:
交易数据(511),为区块链中与此节点相关的点对点交易数据;
时间戳(512),用于记录区块链网络内点对点交易发生的时间;将节点发生的交易数据加盖时间戳后形成数据区块并不可篡改的记录在区块链中;
交易数字货币钱包数据(513),利用轻钱包地址和数字货币接收或支付交易费用;
预定含义的二进制字段(514),所述二进制字段以第一设定值代表当前节点为售卖方,以第二设定值代表当前节点为购买方。
8.一种通信模块,其特征在于,包括:处理器(113)和存储器(112),所述存储器(112)用于存储计算机程序,所述处理器(113)执行所述存储器(112)中的计算机程序执行如权利要求1-3任一权利要求所述的方法或权利要求4-5任一项所述的方法。
9.根据权利要求8所述的通信模块,其特征在于:所述存储器(112)还包括加密管理单元(1121),储值或预存费用模块(1122),交易数据存储单元(1123);加密管理单元(1121)采用硬件或软件加密方式对数据进行加密,并用于管理用户的加密信息;通过储值或预存费用模块(1122)用户可以储值或预存费用;交易数据存储单元(1123),存储有数据层(51)的程序块头部,用以确认目标交易是否已经被写入块链中,存储器(112)还包括有证书服务器(2)所颁发的证书(100)用以与网络端设备(3)建立安全的通信。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现如权利要求1至5任一项所述的方法。
CN202010465212.2A 2020-05-28 2020-05-28 一种数据交互系统、方法和模块 Active CN111626735B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010465212.2A CN111626735B (zh) 2020-05-28 2020-05-28 一种数据交互系统、方法和模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010465212.2A CN111626735B (zh) 2020-05-28 2020-05-28 一种数据交互系统、方法和模块

Publications (2)

Publication Number Publication Date
CN111626735A CN111626735A (zh) 2020-09-04
CN111626735B true CN111626735B (zh) 2020-12-22

Family

ID=72261267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010465212.2A Active CN111626735B (zh) 2020-05-28 2020-05-28 一种数据交互系统、方法和模块

Country Status (1)

Country Link
CN (1) CN111626735B (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956923B (zh) * 2016-04-20 2022-04-29 上海如鸽投资有限公司 资产交易系统以及资产的数字化认证和交易方法
KR101780636B1 (ko) * 2016-05-16 2017-09-21 주식회사 코인플러그 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
US10255342B2 (en) * 2017-04-12 2019-04-09 Vijay K. Madisetti Method and system for tuning blockchain scalability, decentralization, and security for fast and low-cost payment and transaction processing
CN109842606B (zh) * 2018-02-24 2020-08-18 中国科学院计算技术研究所 基于一致性哈希算法的区块链共识算法和系统
CN108595607B (zh) * 2018-04-20 2024-04-30 百度在线网络技术(北京)有限公司 登记信息的处理方法、装置、设备、系统和存储介质
CN108596631A (zh) * 2018-05-08 2018-09-28 广东工业大学 一种数据交互方法、装置及系统
CN108647966A (zh) * 2018-05-09 2018-10-12 深圳市融讯科技有限公司 一种基于区块链的数据交互方法及装置
CN109409893A (zh) * 2018-08-20 2019-03-01 杭州复杂美科技有限公司 一种信任系统及其构建方法、设备及存储介质
CN111147432B (zh) * 2018-11-06 2021-10-26 富邦金融控股股份有限公司 具隐密性的kyc数据共享系统及其方法
CN109639406B (zh) * 2018-12-24 2022-03-04 国泰君安证券股份有限公司 基于区块链和ipfs的高效信任解决方法
CN109871669B (zh) * 2019-03-14 2023-02-10 哈尔滨工程大学 一种基于区块链技术的数据共享解决方法
CN110569675B (zh) * 2019-09-18 2021-07-09 上海海事大学 一种基于区块链技术的多Agent交易信息保护方法
CN111047441A (zh) * 2019-11-16 2020-04-21 北京比特时刻图像科技有限公司 一种发行多种积分通证的区块链系统
CN110942316A (zh) * 2019-12-04 2020-03-31 趣派(海南)信息科技有限公司 一种基于多方验证的转账验证方法和系统

Also Published As

Publication number Publication date
CN111626735A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN109327528B (zh) 一种基于区块链的节点管理方法和装置
AU2022200068B2 (en) Telecommunication system and method for settling session transactions
US11900380B2 (en) Blockchain architecture with record security
CN110633963B (zh) 电子票据处理方法、装置、计算机可读存储介质和设备
CA2771816C (en) Trusted message storage and transfer protocol and system
CN109614813B (zh) 基于区块链的隐私交易方法、装置及其应用方法、装置
CN111444273B (zh) 一种基于区块链的数据授权方法以及装置
CN108830733A (zh) 一种信息处理方法、区块链集群及系统
CN112202705A (zh) 一种数字验签生成和校验方法、系统
US11386426B2 (en) Invoice invalidation method and apparatus based on blockchain, and electronic device
EP3961442B1 (en) Digital certificate invalidation and verification method and device
CN111241557B (zh) 基于区块链的服务请求方法及装置
CN112669147B (zh) 基于区块链的服务请求方法及装置
KR101890584B1 (ko) m of n 다중 서명에 의한 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
US11962698B2 (en) Token node locking with fingerprints authenticated by digital certificates
CN111915308A (zh) 一种区块链网络的交易处理方法及区块链网络
CN112702419B (zh) 基于区块链的数据处理方法、装置、设备和存储介质
CN115619395A (zh) 基于区块链的数据处理方法及相关设备
CN111626735B (zh) 一种数据交互系统、方法和模块
CN113869901B (zh) 密钥生成方法、装置、计算机可读存储介质及计算机设备
CN112163917B (zh) 基于区块链的票据处理方法、装置、介质及电子设备
CN112507369A (zh) 基于区块链的业务处理方法、装置、可读介质及电子设备
CN112513908A (zh) 数字资产转移系统
TW202116038A (zh) 電子裝置之認證方法及系統

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant