基于智能合约的电子证照认证溯源方法、系统及相关设备
1.本发明涉及数据处理领域,尤其涉及一种基于智能合约的电子证照认证溯源方法、系统及相关设备。
背景技术:
2.当前,电子政务各类应用场景很多涉及到对个人、企业身份信息的认证及溯源的问题,其认证大多采用中心化的服务器,虽便于扩展与管理;却面临着因管理员权限过大或被恶意攻击而造成数据篡改却无法追溯、数据被泄露以及因单点故障而造成的功能不可用等风险。
3.在一些现有方式中,借助区块链去中心化、防篡改等特点优势,通过智能合约来设计与实现电子政务中各类电子证照认证及溯源过程,提出基于智能合约的电子证照认证溯源方法与系统,有效地解决中心化服务器存在数据泄露与单点故障问题,同时,进一步减少个人与企业身份等现象、增强数字证书可信度。
4.发明人在实现本发明的过程中发现,现有技术至少存在如下问题:由于电子证照相关信息中存在的非结构化信息将会导致电子证照信息在直接上链的过程中更容易暴露在攻击者面前。
技术实现要素:
5.本发明实施例提供一种基于智能合约的电子证照认证溯源方法、装置、计算机设备和存储介质,以提高电子证照认证溯源的效率和安全性。
6.为了解决上述技术问题,本技术实施例提供一种基于智能合约的电子证照认证溯源方法,所述基于智能合约的电子证照认证溯源方法包括:在接收到用户端的数据存储请求时,从所述数据存储请求中提取用户信息和电子证照数据;基于所述用户信息生成用户公私钥并反馈给所述用户端,基于所述电子证照数据生成数据指纹;将所述电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址;将所述数据指纹和所述ipfs数据存储地址进行上链处理;在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源。
7.可选地,所述电子证照数据为非结构化数据,所述数据指纹和所述ipfs数据存储地址以结构化方式存储至区块链。
8.可选地,在所述将所述数据指纹和所述ipfs数据存储地址进行上链处理之后,并且,在所述在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源之前,所述方法还包括:
在上链成功后,获取存储交易的哈希值,并反馈给所述用户端。
9.可选地,所述在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源包括:在接收到用户端发送的数据查询请求时,获取所述数据查询请求中的身份信息进行权限验证;若权限验证通过,则从区块链中查询获取所述身份信息对应的数据指纹,作为目标指纹,获取所述身份信息对应的ipfs数据存储地址,作为目标地址;从所述链外ipfs节点的ipfs网络获取所述目标地址对应的电子证照数据,作为目标数据;基于所述目标指纹,判断所述目标数据的真实性。
10.可选地,所述区块链往联盟链,所述联盟链包括审核节点、合约层和普通节点;所述审核节点包含若干可信任的固定节点,用于给所述普通节点进行申请和认证,并对普通节点上传的电子证照数据进行审核和上链;所述普通节点用于向相关的审核节点进行发布的证照类型的证照申请,认证通过后,在区块链上持有一个电子证照资产,所述证照资产的所属权以及访问权均由所述普通节点所持有,所述普通节点还用于向相关审核节点组织申请对于已有的证照资产的资产认证,认证通过后存储在本系统中进行查看和溯源,所述普通节点之间,一个普通节点经证照拥有方同意后,查看另一个普通节点相关证照信息和溯源信息。
11.为了解决上述技术问题,本技术实施例还提供一种基于智能合约的电子证照认证溯源装置,包括:数据提取模块,用于在接收到用户端的数据存储请求时,从所述数据存储请求中提取用户信息和电子证照数据;指纹生成模块,用于基于所述用户信息生成用户公私钥并反馈给所述用户端,基于所述电子证照数据生成数据指纹;地址获取模块,用于将所述电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址;上链处理模块,用于将所述数据指纹和所述ipfs数据存储地址进行上链处理;认证溯源模块,用于在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源。
12.可选地,所述基于智能合约的电子证照认证溯源装置还包括:信息反馈模块,用于在上链成功后,获取存储交易的哈希值,并反馈给所述用户端。
13.可选地,所述认证溯源模块包括:验证信息获取模块,用于在接收到用户端发送的数据查询请求时,获取所述数据查询请求中的身份信息进行权限验证;目标地址获取单元,用于若权限验证通过,则从区块链中查询获取所述身份信息对应的数据指纹,作为目标指纹,获取所述身份信息对应的ipfs数据存储地址,作为目标地址;目标数据获取单元,用于从所述链外ipfs节点的ipfs网络获取所述目标地址对应
的电子证照数据,作为目标数据;数据真伪判断模块,用于基于所述目标指纹,判断所述目标数据的真实性。
14.为了解决上述技术问题,本技术实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于智能合约的电子证照认证溯源方法的步骤。
15.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于智能合约的电子证照认证溯源方法的步骤。
16.本发明实施例提供的基于智能合约的电子证照认证溯源方法、装置、计算机设备及存储介质,通过在接收到用户端的数据存储请求时,从数据存储请求中提取用户信息和电子证照数据;基于用户信息生成用户公私钥并反馈给用户端,基于电子证照数据生成数据指纹;将电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址;将数据指纹和ipfs数据存储地址进行上链处理,在接收到用户端发送的数据查询请求,基于数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源,通过将结合对等文件系统ipfs,编写相关合约来实现证照信息数据的可信存储,提高电子证照存储、认证溯源的效率和安全性。
附图说明
17.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术可以应用于其中的示例性系统架构图;图2是本技术的基于智能合约的电子证照认证溯源方法的一个实施例的流程图;图3是根据本技术的基于智能合约的电子证照认证溯源装置的一个实施例的结构示意图;图4是根据本技术的基于智能合约的电子证照认证溯源系统的一个结构示意图;图5是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
19.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
20.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和
隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
21.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.请参阅图1,如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
23.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。
24.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器( moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3 )、mp4( moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4 )播放器、膝上型便携计算机和台式计算机等等。
25.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
26.需要说明的是,本技术实施例所提供的基于智能合约的电子证照认证溯源方法由服务器执行,相应地,基于智能合约的电子证照认证溯源装置设置于服务器中。
27.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本技术实施例中的终端设备101、102、103具体可以对应的是实际生产中的应用系统。
28.请参阅图2,图2示出本发明实施例提供的一种基于智能合约的电子证照认证溯源方法,以该方法应用在图1中的服务端为例进行说明,详述如下:s201:在接收到用户端的数据存储请求时,从数据存储请求中提取用户信息和电子证照数据。
29.具体地,用户通过应用层发起数据存储请求,业务逻辑层收到数据存储请求后,响应生成个人公私钥对并返回给应用层;应用层通过http-post的方式发起非结构化数据存储请求,并可选择是否加密存储。
30.s202:基于用户信息生成用户公私钥并反馈给用户端,基于电子证照数据生成数据指纹。
31.业务逻辑层收到请求后判断数据格式是否正确,并将用户私钥作为索引键值,将请求中的非结构化数据进行打包上传至ipfs,同时提取此数据中电子证照相关信息数据部分在业务逻辑层中生成对应的数据指纹,并获取该数据在链外,即ipfs系统中的存储地址索引,最后将其与生成的数据指纹一同,通过调用合约层提供的接口存入联盟链上保存。
32.s203:将电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址。
33.具体地,由于电子证照相关信息中存在的非结构化信息将会导致电子证照信息在直接上链的过程中更容易暴露在攻击者面前,因此本实施例中,设计了基于区块链结合星
际文件系统(interplanetary file system,ipfs)和非对称加密技术的较大规模的、与电子证照相关的非结构化数据的安全存储与选择性公开策略。考虑到区块链存储容量及效率有限,且证书获得佐证的追溯所涉及的数据大多是非结构化的,因此设计将其存入对等文件系统ipfs;同时考虑到数据的隐私性,因此设计利用非对称加密技术,支持用户自行选择是否公开数据,或者公开某些数据,其中,星际文件系统是一个旨在创建持久且分布式存储和共享文件的网络传输协议,它是一种内容可寻址的对等超媒体分发协议,在ipfs网络中的节点将构成一个分布式文件系统。
34.本实施例中,采用新的文件存储方式,通过将区块链与ipfs文件系统相结合的方式来存储电子证照信息数据中所有的非结构化数据(包括图片,证件扫描件等)。
35.其中,把文件放入ipfs节点将获得一个加密hash值,该hash值是针对文件内容计算得出的,具有唯一性,当向ipfs网络请求数据的时候,会根据该数据自身的id哈希值,通过数学计算来查资源具体存储的计算机位置,然后与其建立连接,即可下载该数据。ipfs使用这种不同于以往基于域名,而是基于内容的寻址方法,使得用户不用关心文件的存储路径和服务器的位置。
36.ipfs有多个模块,各个模块已成为独立项目,典型应用场景有:可以支持数百万tps并发量的区块链平台eos采用ipfs来作为其底层存储以此保证大数量数据的传输效率;firefox、opera、google等浏览器或是与ipfs有合作或是支持ipfs在内的分布式协议。ipfs有多层子协议栈。
37.选择联盟链网络来存储链上相关信息,保存身份证书等,联盟链作为一个分布式账本,主要使用“世界状态”来以键值对的方式存储账本信息,“世界状态”,也称“账本状态”,起到类似于区块链链上索引的作用,将联盟链上各节点的数据索引以全公开或半公开的模式存储在链上,此外该索引还使用了支持富查询的couchdb模式,使得用户在访问链上数据时更加的灵活高效。同时在存储链上数据时,本实施例中的联盟链特有的通道结构来保证不同组织节点之间的数据隔离;然后通过在组织间的数据交换通道上部署相关的智能合约,在合约层中完成电子证照信息的链上管理,并作用于所有加入数据交换通道的所有组织节点。
38.进一步地,区块链往联盟链,联盟链包括审核节点、合约层和普通节点;审核节点包含若干可信任的固定节点,用于给普通节点进行申请和认证,并对普通节点上传的电子证照数据进行审核和上链;普通节点用于向相关的审核节点进行发布的证照类型的证照申请,认证通过后,在区块链上持有一个电子证照资产,证照资产的所属权以及访问权均由普通节点所持有,普通节点还用于向相关审核节点组织申请对于已有的证照资产的资产认证,认证通过后存储在本系统中进行查看和溯源,普通节点之间,一个普通节点经证照拥有方同意后,查看另一个普通节点相关证照信息和溯源信息。
39.以政务领域的企业电子证照防伪溯源申请与认证过程为例展开说明,其审核节点主要为工商机构等组织承担,负责企业电子证照的申请、认证、审核、管理等事宜。企业可以申请成为普通节点,并向工商机构申请营业执照认证,认证通过后,该公司的营业执照信息将可在链上进行查看和溯源。同时证照进行权限公开后,其他用户也可以在链上查看该公司(节点)所拥有的证照信息。
40.此外,审核节点下的系统管理员主要是对系统及用户权限进行管理,同时承担用户证照上链时对证照数据进行审核、查验的作用;普通用户主要是对个人的证照信息进行申请,查看与确认,还可传输与证照认证相关的证明材料等以便审核节点及别的用户来进行查验,同时普通用户也可以向管理员申请查看链上所存储的证照信息,或者向其他用户申请查看其所持证照信息。
41.在本实例下,工商机构作为审核节点,而其余的企业用户以及学生用户均作为普通用户节点。详细操作流程入下所述:用户通过浏览器介入系统应用层进行注册,业务逻辑层对其进行身份认证,若通过则将用户身份信息写入数据存储层的链上数据存储模块,接着联盟链将会利用哈希算法对用户姓名、电话、身份证号等身份信息进行计算,产生全网独一无二的身份标识,并将其注册到相对应的节点成员中,并返回注册成功信息,否则重新注册。
42.在证照信息录入过程中,首先,企业用户整合申请营业执照所需要的所有相关材料,包括一些结构化信息的填写以及非结构化信息的整合,接着企业用户向证照颁发节点,即对应的审核节点(此处为工商机构所在节点)提交证照申请,并附上相关申请资料,工商机构人工审核收到的认证请求,若满足则将对应证书信息录入到业务逻辑层,接着企业用户需对信息进行确认,待用户确认后,合约层将向全网广播该证书的确认信息,并将此证照信息以私有数据形式存储到数据存储层(同时存储在链上及链外),仅供审核节点管理员用户与企业用户共享。若其他节点用户想查看此证照信息,需要证照所属用户提交查看申请。
43.在证照查验阶段中,首先用户a在应用层申请查验某用户b所持证照,证照所属用户b通过该请求后调用合约层发起证照信息查看请求,合约层再从数据存储层中取出存储在链上的证书原件索引及证照数据指纹返回给业务逻辑层,然后用户a可通过用户b提供的证照信息原件索引在联盟链系统中进行搜索查验,若可从联盟链平台查询到该用户b的证照信息,并与证照数据指纹相对比,则可证明该用户所持证照的真实性。
44.在营业执照信息录入阶段,首先企业用户将与申请营业执照相关的所有信息,或者是想要当作补充的附加信息等全部打包上传到工商机构所在审核节点处,工商机构审核所接受到的信息数据均正确且真实,便可调用业务逻辑层将以上非结构化数据存储至数据存储层中链外存储平台ipfs系统中,ipfs存储完成后,返回证书原件存储地址索引以及证照数据指纹到合约层,将其与企业用户信息一同存储到链上。
45.在追溯证照佐证材料阶段,若用户a想要追溯某用户b所持证照的佐证材料,用户a需要向用户b提出查看申请,用户b通过查看请求后,调用合约层搜索证照获得的佐证材料的链外存储地址索引及数据指纹,再将查询权限以及相关数据返回到用户a处,用户a得到用户b返回的证照相关信息后,通过索引便可取出链外所存储的证照原件信息数据,最后将原件信息与数据指纹进行对比,证明该信息的正确性以及真实性,便可完成证照佐证材料的追溯过程。
46.电子证照防伪溯源可分成两个部分,一是核心区块链部分,包括联盟链架构设计,以及与ipfs对等文件系统相结合来处理证照信息中大量非结构化数据;二是业务逻辑系统部分,主要负责信息展示、完成与用户之间可视化交互。系统采用联盟链来存储电子证照相关的结构化数据,并在链外采用ipfs来存储各类电子证照认证过程相关内容及电子证照原件相关信息等非结构化数据。
47.针对核心区块链部分架构设计,功能上可纵向分为四层,从下到上依次是:数据存储层、合约层、业务逻辑层以及应用层。
48.其中,数据存储层主要包括存储链下外非结构化数据的ipfs对等文件系统,一个点对点分布式超媒体分发协议,最初由来自斯坦福大学的计算机博士juan benet(胡安
·
贝内特)设计。它是一个结合了现有成功系统与区块链相结合的底层互联网协议,其中包括git、分布式哈希表、bittorrent、自认证文件系统等。
49.传统区块链系统牺牲效率以达到安全的目的,因此数据储存容量及速度都十分低下,对于稍大规模的数据储存实在无能为力。为解决较大规模数据上链以及非结构化数据存储的问题,同时能支持用户可选择地公开个人数据,本系统设计基于区块链结合对等文件系统和非对称算法的数据安全存储与选择性公开策略。在本策略的具体实现中,区块链部分选择联盟链、对等文件系统选择ipfs、非对称加密算法选择rsa。
50.ipfs作为一个对等的文件系统,在储存的数据形式及容量上基本没有限制。基于联盟链和ipfs并搭配非对称加密技术的数据存储与选择性公开策略,不用将所有的数据上链就能产生信任。用户可将非结构化数据储存于ipfs中,并将该数据的数字指纹(提出的证照信息以及真证照原件的二进制信息数据hash计算之后的结果)与ipfs存储地址索引一同存入区块链,上链后两值将具备不可篡改的特性,用户可根据区块链上存储的ipfs索引地址去获得原始证照数据,再将该证照数据与数字指纹进行对比,若验证两者一致则说明该数据是未经篡改的,是可信的。同时,用户可选择使用自己的私钥结合数据接收方的公钥对数据进行加密传输,待收到信息后接收方通过个人私钥对其进行解密,以此保证数据传输的隐私与安全。
51.哈希函数,又叫作散列函数,它是一种为数据创造出体量更小的数字“指纹”途径。它不用考虑原始数据的类型,对消息或者数据进行打乱和混合,然后将其压缩为摘要,从而使数据量变小,重新创建一个通常由数字和字母组成的定长的散列值。该散列值具有随机性、不可逆性,在区块链中通常用于merkle树根和叶子节点的计算、区块链地址的计算等。主要的散列算法有信息摘要算法md5和安全哈希算法sha等。
52.区块链中,数字签名就是通过哈希函数和非对称加密算法实现的。其过程为:一份待传输的原文件m通过hash计算生成一份数字摘要h,然后用发送方的私钥对h进行加密得到数字签名c,然后将其与原文件m一起传输给接收方。接收方首先使用相同的散列函数计算接收到的文件m1,得出数字摘要h1,再通过发送方的公钥对数字签名c1进行解密得到数字摘要h2,将h1和h2两者进行比较即可验证原消息是否在发送过程中被更改以及该消息是否由发送方发送。
53.其中,本实施例中,需要部署的智能合约主要分为两类:(1)电子证照资产合约,负责链上的证照信息索引目录,以及证照数据指纹的管理。在数据上链过程中,将原始的电子证照数据存储在链外的ipfs系统中,并将其中提取出来的电子证照结构化信息以数据指纹的形式存储在链上,来保证证照数据在上链过程中,以及在链上均不再暴露出原始的数据信息,仅仅通过数据指纹的形式完成全过程的数据交互,并使用电子证照资产合约进行管理。此方式使不同节点间的证照数据在交换共享的过程中,达到真正的数据隔离状态。
54.(2)访问控制合约,提供了节点用户对于证照信息的细粒度化的访问控制方式,将
电子证照信息的管理权限细化到每一类独立的数据上,可以有效的防止未经授权的用户的数据访问请求,并允许证照信息所有者对其所拥有的所有证照信息进行细粒度的数据及访问权限管理,使得本实施例的区块链架构适配绝大多数的应用场景。
55.合约层为整个系统架构中最为核心的部分,提供对于电子证照的认证和溯源等功能支持。本层基于联盟链系统,在其上分别构建电子证照资产合约以及访问控制合约来提供证照的颁发、审核、查验以及追溯证照获得的佐证材料的功能,同时也提供对于用户请求的权限审核、访问控制。
56.证照资产的相关信息都是本合约的关键数据,需保证其不可被篡改,且其数据量不大,可以将其方便的存储于区块链上。由于证照内容大多为非结构化数据,所以在数据上链时,考虑将原始的非结构化的证照数据存储在数据存储层中的链外数据库中,再通过业务逻辑层来提取非结构化证照数据的结构化数据信息,如证照数据指纹,证照目录索引,证照所属机构,证照所属用户等相关证照信息,最后再将这些结构化信息通过合约层,生成电子证照对应的证照信息资产,存储在联盟链上进行管理和溯源。
57.(1) 证照资产合约,主要用于管理链上所存储的证照信息索引目录数据,以及链上的结构化证照信息数据。证照资产数据结构如表1所示:表1 证照资产数据结构(2)访问控制智能合约,提供了证照信息的细粒度的访问控制,将证照信息的管理权限细化到每一类独立的数据上,可以有效的防止未经授权的用户的数据访问请求,并允许证照信息所有者对其所拥有的所有证照信息进行细粒度的数据及访问权限管理,使得本模型可以适配绝大多数的应用场景。
58.本模块通过于其上的业务逻辑层和应用层相结合,搭建电子证照信息管理平台。各类用户可以通过使用应用层所提供的管理平台来可视化的调用到合约层所提供的接口,完成本证照信息管理系统中证照信息的的创建、管理,以及用户所持有证照信息资产的权限的分配。
59.(3) 区块及交易信息,链上区块和交易也定义为结构化模型,有助于直观地查看区块链的使用过程。具体信息如表2及表3所示。
60.表2 区块模型设计表3 交易模型设计其中,业务逻辑层主要起到连接过渡、权限管理等作用。它获取应用层发送的用户请求,对用户身份、权限等信息进行初级审核,然后再调用合约层中访问控制智能合约所提供的身份认证接口对用户信息进行最终的核实,并临时加密存储在逻辑层中,方便后续操作的权限认证处理。当用户身份核实正确后,逻辑层将处理用户的操作请求信息,使其能够满足合约层所需的数据要求,最后再调用合约层提供的接口,将临时存储的加密身份信息以及操作请求数据信息一同传输到系统合约层来完成用户的操作请求,并将合约层的请求反馈结果返回到应用层来可视化的展示给请求用户。
61.同时,本实施例将会在业务逻辑层中完成对非结构化数据的加密过程,将从应用层获取的原始的非结构化数据存储在数据存储层的链外数据库ipfs,将对非结构化数据加密后的hash数据信息以及链外数据库上的数据索引以结构化的形式发送给合约层进行链上数据处理。业务逻辑层同时连接到数据存储层的ipfs系统和下层区块链系统,以解决较大规模数据上链及非结构化数据存储问题。
62.其中,应用层主要用于给用户端提供具体功能使用接口,搭建的网站来与不同角
的用户进行可视化交互。通过调用业务逻辑层的api接口,并结合网页应用程序来实现各类用户与电子证照信息系统间的可视化交互。主要使用vue框架、bootstrap组件和ejs模板库等。系统整体基于b/s架构,基于mvc模式进行开发。
63.s204:将数据指纹和ipfs数据存储地址进行上链处理;优选地,本实施例在交易吞吐量没有明显差异的前提下选择更为简单且适用于生产环境的raft共识机制,该共识在解决潜在的n节点非拜占庭故障时所需节点数由3n+1减少至2n+1;区块链状态数据库选择couchdb,支持富查询功能。
64.s205:在接收到用户端发送的数据查询请求,基于数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源。
65.进一步地,电子证照数据为非结构化数据,数据指纹和ipfs数据存储地址以结构化方式存储至区块链。
66.可选地,在将数据指纹和ipfs数据存储地址进行上链处理之后,方法还包括:在上链成功后,获取存储交易的哈希值,并反馈给用户端。
67.可选地,步骤s205中,在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源包括:在接收到用户端发送的数据查询请求时,获取数据查询请求中的身份信息进行权限验证;若权限验证通过,则从区块链中查询获取身份信息对应的数据指纹,作为目标指纹,获取身份信息对应的ipfs数据存储地址,作为目标地址;从链外ipfs节点的ipfs网络获取目标地址对应的电子证照数据,作为目标数据;基于目标指纹,判断目标数据的真实性。
68.本实施例中,在接收到用户端的数据存储请求时,从数据存储请求中提取用户信息和电子证照数据;基于用户信息生成用户公私钥并反馈给用户端,基于电子证照数据生成数据指纹;将电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址;将数据指纹和ipfs数据存储地址进行上链处理,在接收到用户端发送的数据查询请求,基于数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源,通过将结合对等文件系统ipfs,编写相关合约来实现证照信息数据的可信存储,提高电子证照存储的效率和安全性。
69.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
70.图3示出与上述实施例基于智能合约的电子证照认证溯源方法一一对应的基于智能合约的电子证照认证溯源装置的原理框图。如图3所示,该基于智能合约的电子证照认证溯源装置包括数据提取模块31、指纹生成模块32、地址获取模块33、上链处理模块34和认证溯源模块35。各功能模块详细说明如下:数据提取模块31,用于在接收到用户端的数据存储请求时,从数据存储请求中提取用户信息和电子证照数据;指纹生成模块32,用于基于用户信息生成用户公私钥并反馈给用户端,基于电子证照数据生成数据指纹;
地址获取模块33,用于将电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址;上链处理模块34,用于将数据指纹和ipfs数据存储地址进行上链处理;认证溯源模块35,用于在接收到用户端发送的数据查询请求,基于数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源。
71.可选地,基于智能合约的电子证照认证溯源装置还包括:信息反馈模块,用于在上链成功后,获取存储交易的哈希值,并反馈给用户端。
72.可选地,认证溯源模块还包括:验证信息获取模块,用于在接收到用户端发送的数据查询请求时,获取数据查询请求中的身份信息进行权限验证;目标地址获取单元,用于若权限验证通过,则从区块链中查询获取身份信息对应的数据指纹,作为目标指纹,获取身份信息对应的ipfs数据存储地址,作为目标地址;目标数据获取单元,用于从链外ipfs节点的ipfs网络获取目标地址对应的电子证照数据,作为目标数据;数据真伪判断模块,用于基于目标指纹,判断目标数据的真实性。
73.关于基于智能合约的电子证照认证溯源装置的具体限定可以参见上文中对于基于智能合约的电子证照认证溯源方法的限定,在此不再赘述。上述基于智能合约的电子证照认证溯源装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
74.为解决上述技术问题,本技术实施例还提供一种基于智能合约的电子证照认证溯源系统,具体结构示意图如图4所示,包括数据层、合约层、业务逻辑层和应用层,其中,数据存储层包括ipfs网络和区块链架构,合约层包括的各个类型智能合约,用于进行证书创建、证书信息录入、证书审核、数据存储、信息查询和用户管理,证书是指智能合约中涉及的用于验证的证书,例如公钥证书、私钥证书和合约证书等,业务逻辑层用于公私钥生成、证书条件判断、数据存储交换、证书查验和用户管理,应用层包括api接口、前端页面,所述api接口用于进行接口程序的接入,在该示意图中,区块链架构采用fabric架构,fabric架构实现一个通用的权限区块链(permissioned chain)的底层基础框架,为了适用于不同的场合,采用模块化架构提供可切换和可扩展的组件,包括共识算法、加密安全、数字资产、智能合约和身份鉴权等服务,fabric 克服了现有公有链项目的缺陷,如吞吐量低、交易公开无隐私性、无最终确定性以及共识算法低效等问题。
75.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
76.所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件连接存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-
programmable gate array,fpga)、数字处理器 (digital signal processor,dsp)、嵌入式设备等。
77.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
78.所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或d界面显示存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如基于智能合约的电子证照认证溯源的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
79.所述处理器42在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行基于智能合约的电子证照认证溯源的程序代码。
80.所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
81.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于智能合约的电子证照认证溯源方法的步骤。
82.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
83.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
技术特征:
1.一种基于智能合约的电子证照认证溯源方法,其特征在于,包括:在接收到用户端的数据存储请求时,从所述数据存储请求中提取用户信息和电子证照数据;基于所述用户信息生成用户公私钥并反馈给所述用户端,基于所述电子证照数据生成数据指纹;将所述电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址;将所述数据指纹和所述ipfs数据存储地址进行上链处理;在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源。2.如权利要求1所述的基于智能合约的电子证照认证溯源方法,其特征在于,所述电子证照数据为非结构化数据,所述数据指纹和所述ipfs数据存储地址以结构化方式存储至区块链。3.如权利要求1所述的基于智能合约的电子证照认证溯源方法,其特征在于,在所述将所述数据指纹和所述ipfs数据存储地址进行上链处理之后,并且,在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源之前,所述方法还包括:在上链成功后,获取存储交易的哈希值,并反馈给所述用户端。4.如权利要求1至3任一项所述的基于智能合约的电子证照认证溯源方法,其特征在于,所述在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,进行电子证照认证溯源,包括:在接收到用户端发送的数据查询请求时,获取所述数据查询请求中的身份信息进行权限验证;若权限验证通过,则从区块链中查询获取所述身份信息对应的数据指纹,作为目标指纹,获取所述身份信息对应的ipfs数据存储地址,作为目标地址;从所述链外ipfs节点的ipfs网络获取所述目标地址对应的电子证照数据,作为目标数据;基于所述目标指纹,判断所述目标数据的真实性。5.如权利要求1至3任一项所述的基于智能合约的电子证照认证溯源方法,其特征在于,上链处理采用的区块链为联盟链,所述联盟链包括审核节点、合约层和普通节点;所述审核节点包含若干可信任的固定节点,用于给所述普通节点进行申请和认证,并对普通节点上传的电子证照数据进行审核和上链;所述普通节点用于向相关的审核节点进行发布的证照类型的证照申请,认证通过后,在区块链上持有一个电子证照资产,所述证照资产的所属权以及访问权均由所述普通节点所持有,所述普通节点还用于向相关审核节点组织申请对于已有的证照资产的资产认证,认证通过后存储在本系统中进行查看和溯源,所述普通节点之间,一个普通节点经证照拥有方同意后,查看另一个普通节点相关证照信息和溯源信息。6.一种基于智能合约的电子证照认证溯源装置,其特征在于,包括:数据提取模块,用于在接收到用户端的数据存储请求时,从所述数据存储请求中提取
用户信息和电子证照数据;指纹生成模块,用于基于所述用户信息生成用户公私钥并反馈给所述用户端,基于所述电子证照数据生成数据指纹;地址获取模块,用于将所述电子证照数据存储至链外ipfs节点的ipfs网络,并接收ipfs节点反馈的ipfs数据存储地址;上链处理模块,用于将所述数据指纹和所述ipfs数据存储地址进行上链处理;认证溯源模块,用于在接收到用户端发送的数据查询请求,基于所述数据查询请求包含的身份认证信息,采用链上数据和ipfs网络进行电子证照认证溯源。7.如权利要求6所述的基于智能合约的电子证照认证溯源装置,其特征在于,所述认证溯源模块包括:验证信息获取模块,用于在接收到用户端发送的数据查询请求时,获取所述数据查询请求中的身份信息进行权限验证;目标地址获取单元,用于若权限验证通过,则从区块链中查询获取所述身份信息对应的数据指纹,作为目标指纹,获取所述身份信息对应的ipfs数据存储地址,作为目标地址;目标数据获取单元,用于从所述链外ipfs节点的ipfs网络获取所述目标地址对应的电子证照数据,作为目标数据;数据真伪判断模块,用于基于所述目标指纹,判断所述目标数据的真实性。8.一种基于智能合约的电子证照认证溯源系统,其特征在于,所述系统应用于权利要求1至5任一项所述的基于智能合约的电子证照认证溯源方法,包括数据层、合约层、业务逻辑层和应用层,其中,数据存储层包括ipfs网络和区块链架构,所述合约层包括的各个类型智能合约,用于进行证书创建、证书信息录入、证书审核、数据存储、信息查询和用户管理,所述业务逻辑层用于公私钥生成、证书条件判断、数据存储交换、证书查验和用户管理,所述应用层包括api接口、前端页面,所述api接口用于进行接口程序的接入。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于智能合约的电子证照认证溯源方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于智能合约的电子证照认证溯源方法。
技术总结
本发明公开了一种基于智能合约的电子证照认证溯源方法、系统及相关设备,包括:在接收到用户端的数据存储请求时,从数据存储请求中提取用户信息和电子证照数据;基于用户信息生成用户公私钥并反馈给用户端,基于电子证照数据生成数据指纹;将电子证照数据存储至链外IPFS节点的IPFS网络,并接收IPFS节点反馈的IPFS数据存储地址;将数据指纹和IPFS数据存储地址进行上链处理,在接收到用户端发送的数据查询请求,基于数据查询请求包含的身份认证信息,采用链上数据和IPFS网络进行电子证照认证溯源,采用本发明提高电子证照认证溯源的安全性。性。性。