一种基于区块链的档案数据管理方法及系统与流程

文档序号:29636314发布日期:2022-04-13 17:14阅读:201来源:国知局
一种基于区块链的档案数据管理方法及系统与流程

1.本技术属于计算机应用技术领域,尤其涉及一种基于区块链的档案数据管理方法及系统。


背景技术:

2.在大数据时代,传统档案存储与管理方式很难有效处理档案管理过程中所面临的效率与安全问题。互联网、云技术和移动终端的迅速发展推动了政府部门大力发展数字化手段来提升档案的存储与管理效率,并迎合用户对档案数据深度利用的需求,为政府部门的无纸化办公和电子政务的信息接轨创造有利条件。但现有基于互联网通讯技术的数字档案管理方法为档案的管理带来便利的同时,也存在以下弊端:(1)现有数字档案系统大多通过数字签名和数字水印来解决数据安全保护问题,数据遭受破坏后很难恢复;(2)各地区档案馆都是独立存储档案的信息“孤岛”,缺乏安全有效的信息共享渠道;(3)档案系统的真实性和原始性过分依赖系统中心或第三方实体,中心化的档案数据库异遭受数据篡改、黑客攻击、信息纠纷等安全隐患;(4)相较于传统纸质档案,数字档案作为存储在物理介质上的比特字节,档案在处理、传输和存储过程中具有高度易变性。
3.比较中心化数字档案技术和区块链技术,二者针对的都是存储在磁性介质上的电子信息。数字档案技术存储的信息包括数字化档案数据、用户数据和用户操作记录。其中数字档案数据是数字档案的核心要素,数据一旦受损,对个人、社会、企业乃至国家将造成不可弥补的后果;用户操作记录是受理人对档案信息进行编辑、入档、修改、出档等操作所形成的操作痕迹,此类记录具有较高的可追溯性,是档案信息的重要凭证;传统分布式文件存储技术带来高效存储的同时仍未摆脱中心化结构和管理方式,为档案数据和文件寻求一个可靠、安全的存储技术具有现实意义。区块链的去中心化、多方维护、防篡改和可信存储等优点同数字档案管理相结合,解决数字档案管理中普遍存在的安全性低、共享性差和不可追溯历史等问题。


技术实现要素:

4.本技术的目的在于解决上述现有档案数据管理的问题,提供一种基于区块链的档案数据管理方法及系统,即将区块链技术的去中心化、透明、可追溯等特性应用于数字档案管理中,并结合分布式数据管理工具,来完成对档案信息和操作信息的存储、备份和安全性验证工作,搭建一个兼顾高性能、经济性和灵活性的新型档案数据管理系统。
5.第一方面,本技术提供了一种基于区块链的档案数据管理方法,包括:该方法定义了由区块链化数字档案馆、系统服务、数字档案馆联盟区块链、公有区块链、ipfs集群和外部用户共同构建的网络拓扑。各组件承担的功能和角色的特征如下:1)一个区块链化数字档案馆(以下简称数字档案馆)是由联盟链技术超级账本中的多个peer节点参与到区块链网络中组成,属同一数字档案馆中的节点在同一通道,节点享有档案验证、查询、保护、共享等服务;
2)系统服务包含数据抽取模块和restful服务两个部分,其中restful服务为数字档案管理系统提供对区块链智能合约和ipfs的接口调用,数据抽取模块则用于实现异构档案数据的安全存储;3)数字档案馆联盟区块链(以下简称联盟链)采用联盟链平台超级账本(hyperledger fabric,以下简称fabric)技术,并采用基于kafka和zookeeper集群的消息队列排序共识插件;4)公有区块链采用基于pow共识机制的以太坊区块链平台,该公有区块链会定期存储联盟链区块快照信息,强化联盟链fabric的数据保护;5)ipfs集群存储加密档案的原始信息,并通过哈希表、块交换等技术保障信息安全。
6.进一步地,在数据存储方面,提出一种高效的异构档案数据存储方法,该方法可拆分为数据和文件抽取阶段、数据加密存储阶段、电子文件分布式存储阶段。
7.1)在数据和文件抽取阶段,通过实时监听节点抽取新增事务日志,记录、解析事务日志并抽取档案电子文件,并完成主从复制,具体指:a)主库完成事务操作更新并将更新数据详情记录在日志文件或日志表中;b)通过与主库开启一个监听线程来建立一个中间客户端连接,实现对主库事务日志的抽取;c)中间客户端抽取到操作日志并通过加密信道存储至私有网络,并通过解析日志中文件存储路径来获取电子文件并存储在ipfs网络中;d)从库可根据同步需求复现存储在区块链上的事务日志来重建数据。
[0008] 2)在数据加密存储阶段,数据加密存储的过程描述为:将日志对象转化为json格式后再转化为字符串;对日志字符加密并生成密文;封装档案数据;封装元数据;将存储的所有信息封装成区块链交易;向区块链发布交易并得到交易id。
[0009]
3)在电子文件分布式存储阶段,摒弃传统文件存储系统,具体描述为:a)采用私有ipfs分布式文件存储系统,当文件内存大于256kb时,将文件拆分为多个ipfs存储子对象,每个子对象包含当前对象的data和链接下级对象的links,而区块默克尔根链接下级对象的links则设置为空;b)提出粒度感知的文件存储方法,根据文件存储路径抽取档案电子文件,若文件大于65536字节(64kb),则将文件存储在ipfs上并获取其哈希地址,当小于65536字节则直接存储。
[0010]
进一步地,结合本技术所述档案数据管理方法中整体架构,提出一种实用、安全的数字档案数据共享方法。该方法使得数字档案馆之间或数字档案馆与外部用户之间通过智能合约、ipfs和混合加密机制实现安全、实用的档案数据共享,安全高效地将传统档案系统同区块链技术结合,从而保护档案数据安全。
[0011]
进一步地,在所述档案数据管理方法中,提出一种高效、可靠的数字档案馆预注册与快速认证方法。其中预注册分为线下注册和线上注册两部分。
[0012]
1)线下注册包括锚节点(leader peer)的选举和普通节点的生成,锚节点选举步骤包括:a)联盟链内各节点提议自己为leader并广播该消息;
b)在p2p网络内各节点在规定的等待时间内收集提议;c)等待收集后,将自己的节点id的哈希值同其他节点id的哈希值进行比较;d)若自己的id的哈希值比其他任何节点id的哈希值小,则声明自己为锚节点,否则放弃选举过程。
[0013]
普通节点生成步骤包括:a)peer线下认定时,ca核对其申请材料的真实性;b)档案馆确认管理员后,ca用rsa密码算法生成peer的公钥p_peer私钥s_peer;c)ca为peer颁发证书cert_peer;d)leader peer则存储peer的公共参数、证书信息和其公、私钥;e)ca记录各数字档案馆和其leader peer身份的映射关系。
[0014]
2)线上注册指普通用户的身份注册,其步骤包括:a)临近peer会自动为注册用户生成公私钥对{p_user,s_user},并将p_user、peer证书中的区域号附上时间戳,并构成token,向leader peer发送对该token的注册请求;b)leader peer对其进行初步的pki身份认证,确保公钥不在撤销列表并确认token中的区域号与peer证书中的一致;c)各节点收到注册信息后分别进行验证,若满足半数以上的节点返回成功结果,则触发智能合约,将token存储上链。
[0015]
3)快速认证交互过程,其步骤包括:a)user_a将自己的token_a和时间戳t签名后发送给user_b;b)user_b附加自己token_b的组成认证请求,并用临近peer的公钥加密后发送给leader peer;c)leader peer用peer私钥解密请求后触发智能合约来检索区块链,查看区块链链中是否记载token_a和token_b,并验证签名和时间戳;d)peer将该认证成功的签名sign_leader和随机生成的token_peer发送给user_b;e)user_b将sign_leader和token_peer发送给user_a,user_a验证sign_leader无误后确定token_peer为他们共同的临时会话秘钥。
[0016]
第二方面,本技术提供了一种基于区块链的档案数据管理系统,包括:该系统具备前述基于区块链的档案数据管理方法的所有有益特征及效果,定义该系统由上述数字档案馆联盟链、公有链和ipfs集群组成;一个区块链化数据档案馆作为联盟链超级账本中的一个组织,该组织由超级账本总的主节点和若干普通节点组成,并定义在同一通道内;上述方法中所述系统服务符合该基于区块链的档案数据管理系统的功能化设计。
[0017]
进一步地,通过以下步骤完成系统内各组件的档案数据传输:1)数字档案馆向联盟链fabric存储档案哈希和各种操作合约记录;2)数字档案馆向ipfs私有集群存储加密档案原始信息并通过调用联盟链档案哈希实现对数据真实性的验证;3)ipfs私有集群通过存储档案内容计算档案指纹并传输给联盟链fabric;4)联盟链fabric将生成的区块哈希传输给公有区块链以太坊完成快照存储,实现
档案数据的锚定。
[0018]
该系统满足上述所述异构档案数据存储方法、数字档案数据共享方法和数字档案馆预注册与快速认证方法的所有特性,可实时生成多个区块链化数字档案馆,并达到各数字档案馆独立自治和数据互通,具有联盟链的可扩展性。
[0019]
与现有技术相比,本技术的优势在于:保持档案存储应用到区块链去中心化、可信存储和可追溯的同时,也能兼顾到数据存储的性能、经济性和灵活性;保障各自档案馆维护自身的数据与隐私安全的同时,又能在实际应用中完成馆与馆之间部分档案数据安全共享;实现了联盟链内各数字档案馆的内部自治和身份安全。
附图说明
[0020]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,应当理解,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]
图1是基于区块链的档案数据管理系统的整体架构图。
[0022]
图2是数字档案数据流图。
[0023]
图3是异构档案数据安全存储方法图。
[0024]
图4是粒度感知文件存储模型。
[0025]
图5是数字档案数据共享流程图。
[0026]
图6是快速认证过程图。
具体实施方式
[0027]
为了将本技术的技术方法、目的及优势更加清楚地阐明,本技术结合以下实施例及实施例附图,对其申请内容进行更深刻完整地描述。应当理解,此处描述的具体实施例用于解释本技术,并不能限定本技术,所描述的实施例是仅指本技术的一部分实施例,而不是全部实施例。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。基于本技术的实施例,相关领域技术人员在没有做创造性劳动前所获得的其它实施例均属于本技术保护的范畴。
[0028]
本技术提出一种基于区块链的档案数据管理方法及系统,通过结合区块链联盟链技术和分布式数据管理工具来解决目前数字档案管理存在的问题,在保持档案存储应用到区块链去中心化、可信存储和可追溯的同时,也能兼顾到高性能、经济性和灵活性。结合上述思想,本技术首先设计一种高效的异构档案数据存储方法,该方法旨在解决采用区块链存储数据时各文件类型、内存均不相同且部分文件内存占比较大带来的存储问题;其次,在保障各自档案馆维护自身的数据与隐私安全的同时,又能在实际应用中完成馆与馆之间部分档案数据安全共享,本技术提出一种实用、安全的数字档案数据共享方法;最后,提出一种高效、可靠的数字档案馆预注册与快速认证方法,实现了联盟链内各数字档案馆的内部自治和身份安全。
[0029]
一、整体架构。
[0030]
如图1所示,本技术实施例的基于区块链的档案数据管理方法及系统由区块链化
数字档案馆、系统服务(数据抽取模块、restful服务)、数字档案馆联盟区块链、公有区块链、ipfs集群和外部用户构成系统协同完成,其中联盟链、公有区块链和ipfs集群共同完成对档案信息和操作信息的存储、备份和安全性验证工作。各部分内容详述如下:1)区块链化数字档案馆:一个数字档案馆是由超级账本(hyperledger fabric)中的多个peer节点参与到超级账本联盟链中组成(该图中显示有a、b两个数字档案馆),属同一数字档案馆中的节点在同一通道,属不同数字档案馆的节点在不同通道,节点享有档案验证、查询、保护、共享等服务;2)系统服务:系统服务包含数据抽取模块和restful服务两个部分。其中restful是一种网络应用程序的设计风格和开发方式,基于http,它本身也是一种去中心化应用(dapp),不存储任何档案数据信息,本方法采用以restful接口的形式为数字档案管理系统提供对区块链智能合约和ipfs接口的调用。数据抽取模块则通过抽取档案数据库事务日志和电子文件,针对不同档案数据尺寸设计数据安全存储模型,并与联盟链和ipfs集群对接,实现异构档案数据的安全存储;3)数字档案馆联盟区块链:联盟链采用联盟链平台超级账本(hyperledger fabric),并基于kafka和zookeeper集群的排序共识机制,通过restful接口调用智能合约存储系统的数字身份信息和档案摘要信息,实现数据的访问控制并完成业务逻辑;4)公有区块链:公有区块链采用基于pow共识机制的以太坊区块链平台,该链会定期存储联盟链区块快照信息,强化联盟链fabric的数据保护。反之,联盟链fabric也会定期同该链通过锚定的方式来强化保护数据的原始性和真实性;5)ipfs集群:ipfs分布式文件系统,该系统具有自我认证、哈希表、块交换等技术优点,具有内容可寻址、不可篡改和去中心化等特点。ipfs在存储文件时会通过文件内容计算出文件指纹,该指纹在读取文件时可为用户起到验证作用。采用ipfs私有集群,具有相同swarm-key的节点才能参与到网络中。ipfs集群存储了加密档案的原始信息,并通过哈希表、块交换等技术保障信息安全。
[0031]
由上所述,基于联盟链hyperledger fabric、公有区块链以太坊和私有ipfs集群结合的系统数据传输流如图2所示。具体可描述为:s201:数字档案馆向联盟链fabric存储档案哈希和各种操作合约记录;s202:数字档案馆向ipfs私有集群存储加密档案原始信息并通过调用联盟链档案哈希实现对数据真实性的验证;s203:ipfs私有集群通过存储档案内容计算档案指纹并传输给联盟链fabric;s204:联盟链fabric将生成的区块哈希传输给公有区块链以太坊完成快照存储,实现档案数据的锚定。
[0032]
二、异构档案数据安全存储方法。
[0033]
从数字档案馆中提取的数据流大体按数据格式类型可分为两类,即档案数据库日志和档案电子文件。数据库记录的每条事务日志同区块链中的每笔交易(transaction)类似,因此在区块链上存储事务日志是切实可行的;而针对档案电子文件,各文件的类型、内存均不相同,且文件内存所占比特较大,采用区块链交易存储的方式不再是必要的。现有中心化的、基于主库从库复制的数据备份方法一般通过设置中间库来完成目标数据库行为日志的存储,该方法只用于备份数据库,并未考虑档案文件,同时易造成单点故障。为解决上
述问题,本技术提出一种异构档案数据安全存储方法,该方法对应到图1中的数据抽取模块。
[0034]
事务日志是数据库的核心组件之一,数据库创建后的各项操作都将被记录在该组件中。这类事务日志信息可帮助系统在发生故障时完成数据恢复,并支持在不对现有上层档案业务造成影响的情况下实现事务复制以达到数据备份的目的。本方法提出联盟链和ipfs集群相协调的数据存储方法,通过抽取档案的事务日志和电子文件,对不同尺寸数据设计粒度感知的安全存储模型,实现异构档案数据安全存储,该方法模型可参见图3。
[0035]
方法的具体实施可分为三个阶段,分别是数据和文件抽取阶段、数据加密存储阶段、电子文件分布式存储阶段。各阶段详述如下:1)数据和文件抽取阶段。
[0036]
通过实时监听节点抽取新增事务日志,记录、解析事务日志并抽取档案电子文件,并完成主从复制。具体步骤如下:a)档案数据库(主库)完成事务操作更新并将更新数据详情记录在日志文件或日志表中;b)通过与主库开启一个监听线程来建立一个中间客户端连接,实现对主库事务日志的抽取;c)中间客户端抽取到操作日志并通过加密信道存储至私有网络,而涉及到对新增档案电子文件的操作,通过解析日志中文件存储路径来获取电子文件并存储在ipfs网络中;d)备份数据库(从库)可根据同步需求复现存储在区块链上的事务日志来重建数据。
[0037]
该主库从库复制方式较为灵活,区块链上存储的日志信息可充当主库的中继站,其他数据库则通过获取完整操作日志,实现数据同步,保障从库和主库的数据一致性。
[0038]
2)数据加密存储阶段。
[0039]
在档案信息的传输与存储过程中,为保障数据隐私性和安全性,对抽取的档案事务日志设计一种加密处理方式。基于bigchaindb的交易格式,定义tx_log为封装后的区块链交易,sk_user为用户私钥(用于对封装交易进行签名),data_asset为交易资产(由加密后的事务日志组成),data_meta为元数据(用于描述资产类别和内容),每笔交易的输入为资产、元数据和用户私钥,满足tx_log = {data_asset,data_meta,sk_user};定义事务编号为scn,操作者名为os_user,enc_aes(log,pk_user)表示通过用户密码pk_user对事务日志log进行aes加密,则满足data_asset = {scn,os_user,enc_aes(log,pk_user)}。
[0040]
基于上述定义,整个事务日志加密处理流程为:将日志对象转化为json格式后再转化为字符串;对日志字符加密并生成密文;封装data_asset;封装data_meta;将存储的所有信息封装成区块链交易;向区块链发布交易并得到交易id。
[0041]
3)电子文件分布式存储阶段。
[0042]
目前基于区块链的大型数据与异构文件存储方法,通常采用第三方文件系统同区块链系统结合的链上、链下方式来实现。这种结合方式造成以下问题:链下文件系统采用中心化或分布式存储和管理方式,不能完全保障数据安全性和一致性;当链下文件被破坏后,区块链仅作为一个文件验证工具,并不能对恢复文件提供帮助。
[0043]
结合数字档案馆的管理场景,如图4所示的整体流程,本技术提供以下方法:1)摒弃传统文件存储系统,采用私有ipfs分布式文件存储系统,该系统具备去中心化、不可篡改、哈希寻址、块交换等特点,同区块链技术协同,可强化数据存储的真实性完整性;2)提出粒度感知的文件存储方法,将小尺寸文件处理后直接上链,将大尺寸文件存入ipfs并将指纹存储上链。
[0044]
为方便论述,本方法的具体实施步骤可划分为以下几个部分:1)定义一个文件存储在ipfs上的数据对象结构体(ipfsobject),该结构体包含链接ipfs对象的一个数组(links),该数组为ipfslink结构体类型,还包含一个byte类型的二进制对象(data),用于存储不高于256kb的数据,其中ipfslink结构体包含的元素有链接名称(name)、链接对象哈希值(hash)和链接对象累积大小(size);2)基于上述定义的数据结构,当文件内存大于256kb时,将文件拆分为多个ipfs存储子对象,每个子对象包含当前对象的data和链接下级对象的links,而区块默克尔根链接下级对象的links则设置为空。数据links中的ipfslink对象则存储该链接的name、hash和size;3)设定64kb为下界,大于64kb的档案文件为大尺寸文件,反之则为小尺寸文件。解析抽取的事务日志,根据文件存储路径抽取档案电子文件,若文件大于65536字节(64kb),则将文件存储在ipfs上并获取其哈希地址,当小于65536字节则直接存储;4)根据解析的事务日志,进一步判断当前档案文件密级属性,若为公开文件,则直接按相关参数融合打包,若为私密文件,则使用共享秘钥加密后再根据相关参数融合打包。
[0045]
三、数字档案数据共享方法。
[0046]
数字档案馆联盟链中各数字档案馆之间的数据是跨通道隔离应用,以此来确保各字档案馆维护自身的数据安全与隐私,但在实际应用中普遍需要进行馆与馆之间部分档案数据共享的业务,结合本技术整体架构,本技术提出一种上述联盟链架构下各数字档案馆之间的档案数据共享方法。具体指:数字档案馆联盟成员间或档案馆联盟与外部用户之间通过智能合约、ipfs和混合加密机制实现安全、实用的档案数据共享,安全高效地将传统档案系统同区块链系统结合,从而保护档案数据安全。
[0047]
若定义一个数字档案馆a向目标数字档案馆b共享数据的方法模型,该模型还需定义如下联盟链智能合约功能:1)档案权限控制合约:用于数字档案权限控制的;2)档案共享存储合约:用于存储档案馆分享的档案信息,其中包括档案编号、档案馆身份标识和分享时间等;3)数字身份管理合约:通过民主投票的方式竞选出档案馆内部部分peer节点实现档案馆联盟数字身份内部自治。
[0048]
请注意,此处我们仅简单描述智能合约的功能,并不对其做详细描述,该内容也不作为本技术的论述重点。
[0049]
方法的具体步骤如图5所示:s501:若所述数字档案馆a使用自己的私钥sk_a对待共享档案的档案编号record_
id和目标档案馆b的身份标识identity_b等信息进行签名背书,并通过调用restful服务接口将签名背书发到到智能合约。档案共享存储智能合约接收到请求后,先调用档案权限控制合约,通过检验签名来对档案馆身份进行核查,核查通过后,将目标档案馆b的身份信息写入到合约中档案编号record_id对应的分享列表;s502:若所述数字档案馆b使用自己的私钥sk_b对待共享档案的档案编号record_id和其身份标识identity_b进行签名并发送到智能合约。档案共享存储合约在收到请求后,先调用档案权限控制合约对数字档案馆b进行权限检查,检查通过后,返回档案指纹和对应的哈希值;s503:若所述数字档案馆b依赖从合约中获取的档案指纹,从私有ipfs集群中异步获取加密的档案对象recordjson。进一步地,数字档案馆b通过异步https请求将其身份标识identity_b和档案编号record_id发送给数字档案馆a,并获取加密档案对象recordjson的解密秘钥;s504:若所述数字档案馆a收到档案馆b的请求后,根据档案编号record_id和身份标识identity_b等参数,通过档案共享存储合约来检验共享数据的真实性,并从数字身份管理合约中获取identity_b对应的pk_b。随后使用pk_b对解密秘钥edk进行基于椭圆曲线的非对称加密,并返回给数字档案馆b;s505:若所述数字档案馆b在收到档案馆a的返还数据后,使用私钥sk_b解密得到原始加密前的edk,然后使用edk对recordjson进行解密,得到原始的档案对象;或通过json结构中的档案附件指纹从ipfs中获取附件密文并通过edk解密后查看档案数据。
[0050]
四、数字档案馆预注册与快速认证。
[0051]
定义数字档案馆中的节点身份和用户身份是系统参与到联盟链fabric的前提,是数字档案信息保护与数据共享的基础。基于上述构建的系统整体架构,我们提出一种高效、可靠的数字档案馆预注册与快速认证方法。
[0052]
预注册又包括线下注册和线上注册两部分。
[0053]
线下注册指锚节点的选定和普通节点的生成。
[0054]
所述线下注册的实施例,具体可描述为:所述锚节点是联盟链fabric网络中是一种特殊节点,也称为主节点,当存在跨档案馆通信时,源档案馆需要获得目标档案馆至少一个节点通信地址,锚节点则作为该档案馆的路口点。锚节点(leader peer)的产生是一个动态选举的过程,具体指联盟链内各节点提议自己为leader并广播该消息;随后在p2p网络内各节点在规定的等待时间内收集提议;等待收集后,将自己的节点id的哈希值同其他节点id的哈希值进行比较,若自己的id的哈希值比其他任何节点id的哈希值小,则声明自己为主节点,否则放弃选举过程。请注意档案馆生成使联盟链会默认为其设置至少两个peer节点。
[0055]
在普通节点(以下简称peer)部署前,联盟链fabric-ca为每个线下认定的peer颁发证书cert_peer。peer线下认定时,ca会核对其申请材料的真实性,记录下数字档案馆管理员的真实身份和公钥的映射关系,并为其颁发证书。具体指:数字档案馆确认管理员用户后,ca用rsa密码算法生成peer的公钥p_peer和私钥s_peer,并颁发证书cert_peer。该证书中包含:peer的公钥、证书有效日期、ca的私钥签名、peer所部署的档案馆区域编号n_peer等信息。leader peer则存储peer的公共参数、证书信息和其公、私钥。ca则记录各数字档案
馆和其leader peer身份的映射关系。由此可知,ca负责生成各档案馆leader peer和peer代表身份的公私钥对,ca负责管理leader peer的身份,而leader peer则负责管理peer的身份。
[0056]
所述线上注册的实施例,具体可描述为:所述各数字档案馆内的节点构建各自通道内的小型联盟链网络,leader peer在网络中暴露自己的身份信息。
[0057]
1)当普通用户需要注册账户时,临近的peer会自动为其生成公私钥对{p_user,s_user},随后将p_user、peer证书中的区域号附上时间戳,并构成token,向leader peer发送对该token的注册请求。
[0058]
2)leader peer用私钥解密该peer发来的用户注册请求,对其进行初步的pki身份认证,确保公钥不在撤销列表并确认token中的区域号与peer证书中的一致。
[0059]
3)验证通过后用户注册的消息在该档案馆各节点内同步;各节点收到消息后分别进行验证,若满足半数以上的节点返回成功结果,则触发智能合约并生成用户token与其公钥的映射关系,并将token存储上链。
[0060]
在这里,peer具备为普通用户生成身份的权利,而leader peer拥有验证普通用户的权利。该方式削弱了档案馆内小型网络中心化的程度,同时又减轻了fabric-ca的负担。
[0061]
所述快速认证的实施例,具体可描述为:同一数字档案馆内的普通用户在完成线上注册后,若需要进行彼此通信,则需要发起一个线上身份的快速认证,该认证方法可简述为user_a向用户user_b发送身份信息,用户b可向任意临近的节点请求认证用户a的身份,并生成会话秘钥,否则中断通信。图6给出了快速认证的交互过程,具体内容描述如下:s601:user_a将自己的token_a和时间戳t签名后发送给user_b;s602:user_b将从user_a接收的的身份信息附加自己的token_b组成认证请求,并用临近peer的公钥加密后发送给leader peer;s603:leader peer用peer私钥解密请求后触发智能合约来检索区块链,查看区块链链中是否记载token_a和token_b,若都存在且时间未过期则验证peer的签名,验证通过后最后检查消息时间戳是否有效;s604:上述条件均满足则leader peer会向peer返回认证成功success,并对其签名,peer将该认证成功的签名sign_leader和随机生成的token_peer利用user_b的公钥加密后发送给user_b;s605:user_b解密消息后利用user_a的公钥将sign_leader和token_peer发送给user_a,user_a验证sign_leader无误后确定token_peer为他们共同的临时会话秘钥。
[0062]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。本领域的普通技术人员可以对本技术的技术方法进行修改或者等同替换,而不脱离本技术的精神和范围,本技术的保护范围应以权利要求所述为准。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1