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

文档序号:14252887阅读:192来源:国知局
一种基于区块链技术的数字档案管理方法及系统与流程

本发明涉及数据存储技术以及信息安全领域,具体涉及一种基于区块链的数字档案存储及身份认证的管理方法及系统。



背景技术:

目前各单位中的档案管理系统使用的都是中心化的技术方案,存在以下问题:

1.防篡改能力差:由于目前各单位使用的中心化的技术方案,用户在某一单位的所有档案信息均存储在该单位的服务器中,且不公开,故只要技术攻击进入该单位使用的服务器中,很容易将原始数据篡改。

2.档案信息管理流程复杂:档案信息有很多种,个人资料档案、病人医疗档案、发表论文记录档案等等。此处以病人医疗记录档案为例:当病人在某一医疗单位就医时,该单位为保障数据安全性、隐私性,数据不对外公开,当需要出具该病人医疗信息时,该单位需要人员确认病人身份信息;当病人从某一医疗单位转移到另一个医疗单位治疗时,个人档案也需转移,该过程相当繁琐,既耗费用户精力又浪费单位资源。若涉及长时间、多个医疗单位,则复杂度加倍、记录准确性降低。

3.同一用户数据分散,管理效率低下:以病人医疗档案为例,由于病人的所有医疗数据存储于其就医的医疗单位数据库中,对于一个用户来说,五年或是十年间可能在多家医疗机构进行过医疗咨询,查询管理自己的就医记录需要多家医疗机构多系统操作,效率低。

4.在大数据时代,数据越来越多,人们对数据的需求也越来越强烈,从而数据的曝光度越来越高。这就引发了私密数据保护的问题。



技术实现要素:

本发明是为了解决上述现有技术存在的不足之处,提出一种基于区块链的数字档案管理方法及系统,以期能将现有档案管理数字化,实现档案信息区块链存储,实现对档案管理人员权限管理以及操作回溯,从而能简化目前档案信息管理流程,实现档案信息无篡改,并增强档案信息的隐私保护。

本发明为解决技术问题采用如下技术方案:

本发明一种基于区块链技术的数字档案管理系统的特点包括:数字档案数据库模块、数字档案管理模块、区块链存储模块以及区块链身份管理模块;

所述数字档案数据库模块包括:数据库保护单元、档案信息存储单元和查询单元;

所述数字档案管理模块包括:数据引擎单元、数字档案私有链单元以及数据锚定单元;

所述区块链身份管理模块包括:用户注册单元、档案管理人员注册单元、登录单元;

所述档案管理人员注册单元用于获取档案管理人员的登录信息并相应生成档案管理人员的公私钥对,所述登录信息包括:档案管理人员的身份id和注册时间,并存入所述档案信息存储单元中;所述档案管理人员注册单元利用所述档案管理人员的私钥对所述档案管理人员的身份id和注册时间进行签名,得到数字签名信息并与公钥一起存入所述区块链存储模块中;

所述用户注册单元用于获取用户的个人登录信息、用户对档案管理人员的授权信息以及用户上传的原始文件,并将所述个人登录信息、用户对档案管理人员的授权信息存入所述档案信息存储单元中,将所述原始文件发送给所述数据库保护单元;

所述用户注册单元根据所述个人登录信息生成用户的公私钥对和一个交互密钥,并利用所述档案管理人员的公钥对所述交互密钥进行加密,从而将用户的公钥、用户对档案管理人员的授权信息以及加密后的交互密钥存储到所述区块链存储模块中;

所述区块链身份管理模块利用所述档案管理人员的公钥对所述用户对档案管理人员的授权信息进行非对称加密,得到加密后的授权信息后再利用所述交互密钥进行对称加密,得到最终的授权信息并存入所述区块链存储模块中;

所述登录单元在所述档案管理人员登录时获取所述档案管理人员的注册信息,利用所述数据库保护单元进行身份认证;所述登录单元利用所述档案管理人员的私钥对所述加密后的交互密钥进行解密,得到用户的交互密钥;所述登录单元利用所述用户的交互密钥对所述最终的授权信息进行解密,得到的初步解密信息再用档案管理人员的私钥进行解密,得到所述用户对档案管理人员的授权信息;

所述查询单元用于档案管理人员根据所述用户对档案管理人员的授权信息对用户的原始文件进行查询或更新,并生成相应的查询日志后存入所述档案存储管理模块;

所述数据库保护单元根据档案文件存储格式要求,并基于误用检测和异常检测的原理对所述用户注册单元上传的原始文件进行形式上的审计校验;若审计不通过,则向所述用户注册单元发送审计失败消息;若审计通过,则存入所述档案信息存储单元,并对所述原始文件进行备份得到档案备份数据;

所述数据库保护单元根据档案管理人员对原始文件的查询或更新操作生成数据库事务表,再根据所述区块链存储模块中的最终的授权信息,基于异常检测原理对所述查询日志或数据库事务表定期进行检测,若最终的授权信息与相应操作不一致,则生成告警信息并发送给所述数据库保护单元;最终由所述数据库保护单元根据所述档案备份数据进行数据恢复;

所述数据引擎单元获取所述原始文件并进行格式转换,得到转换后的原始文件;

所述数字档案私有链单元对所述转换后的原始文件进行哈希运算,得到相应的哈希值并存入所述档案信息存储单元中;当原始文件的哈希值总数满足所设定的阈值时,所述数字档案私有链单元对满足阈值的所有哈希值进行打包并形成一个区块,进而由多个区块形成数字档案私有链;

所述数据锚定单元将所述数字档案私有链通过一笔交易锚定到公有链上,并将交易信息存储到所述区块链存储模块中;

所述数据库保护单元基于误用检测原理对所述区块链存储模块中存储的档案管理人员的数字签名信息以及登录时获取的档案管理人员的数字签名信息进行自动化认证,若认证通过,则允许所述档案管理人员登录,若认证不通过,则不允许所述档案管理人员登录,并生成审核日志后存入所述档案信息存储单元中。

本发明一种基于区块链技术的数字档案管理方法的特点是按如下步骤进行:

步骤1:获取用户的个人登录信息、用户对档案管理人员的授权信息以及用户上传的原始文件,并将所述个人登录信息、用户对档案管理人员的授权信息存入本地数据库中;

步骤2、根据档案文件存储格式要求,并基于误用检测和异常检测的原理对上传的原始文件进行形式上的审计校验;若审计不通过,则反馈审计失败消息;若审计通过,则存入所述本地数据库中,并对所述原始文件进行备份得到档案备份数据;

步骤3、对审计通过的原始文件进行格式转换,得到转换后的原始文件后再进行哈希运算,得到相应的哈希值并存入本地数据库中;当原始文件的哈希值总数满足所设定的阈值时,对满足阈值的所有哈希值进行打包并形成一个区块,进而由多个区块形成数字档案私有链;

步骤4、将所述数字档案私有链通过一笔交易锚定到公有链上,并将交易信息存储到所述区块链中;

步骤5、获取档案管理人员的登录信息并相应生成档案管理人员的公私钥对,所述登录信息包括:档案管理人员的身份id和注册时间,并存入本地数据库中;

步骤6、利用所述档案管理人员的私钥对所述档案管理人员的身份id和注册时间进行签名,得到数字签名信息并与公钥一起存入区块链中;

步骤7、根据用户的个人登录信息生成用户的公私钥对和一个交互密钥,并利用所述档案管理人员的公钥对所述交互密钥进行加密,从而将用户的公钥、用户对档案管理人员的授权信息以及加密后的交互密钥存储到所述区块链中;

步骤8、利用所述档案管理人员的公钥对所述用户对档案管理人员的授权信息进行非对称加密,得到加密后的授权信息后再利用所述交互密钥进行对称加密,得到最终的授权信息并存入所述区块链中;

步骤9、在所述档案管理人员登录时获取所述档案管理人员的注册信息,再基于误用检测原理对所述档案存储模块中存储的档案管理人员的注册信息以及登录时获取的档案管理人员的注册信息进行自动化认证,若认证通过,则允许档案管理人员输入自己的私钥进行二次验证,若私钥签名后的所述数字签名信息与所述区块链中存储的数字签名一致,则允许该档案管理人员登录,若认证不通过,则不允许档案管理人员登录,并生成审核日志后存入本地数据库中;

步骤10、认证通过的档案管理人员根据所述用户对档案管理人员的授权信息对用户的原始文件进行查询或更新,并生成相应的查询日志后存入所述本地数据库中;

步骤11、利用所述档案管理人员的私钥对所述加密后的交互密钥进行解密,得到用户的交互密钥;再利用所述用户的交互密钥对所述最终的授权信息进行解密,得到的初步解密信息后,利用档案管理人员的私钥进行解密,从而得到所述用户对档案管理人员的授权信息;

步骤12、根据档案管理人员对原始文件的查询或更新操作生成数据库事务表,再根据所述区块链中的最终的授权信息,基于异常检测原理对所述查询日志或数据库事务表定期进行检测,若最终的授权信息与相应操作不一致,则生成告警信息并发送给本地数据库,用于根据所述档案备份数据进行数据恢复。

与现有技术相比,本发明的有益效果在于:

1、本发明通过将现有档案管理数字化,实现了档案信息区块链存储,实现了对档案管理人员权限管理以及操作回溯,从而克服了档案信息管理流程复杂,减少了档案重复存储的人力物力的耗费。并利用区块链技术,将用户档案信息经数据档案管理模块存储到区块链上,实现了档案信息无篡改。利用区块链身份管理模块,实现了档案管理人员的权限限制,增强了档案信息的隐私保护。

2、本发明通过数字档案数据库模块中的档案信息存储单元实现了档案信息信息化存储,便于不同单位之间共享档案信息,简化了档案信息管理流程,减少了人力物力的耗费,提高了档案信息的管理效率;

3、本发明通过数字档案数据库模块中的查询单元实现了用户随时随地查询档案信息,实现了信息的便捷性,提高了档案信息的查询效率;

4、本发明通过数据库保护单元,利用异常检测和模型检测原理结合档案原始文件的备份技术实现了对档案信息的审计和恢复功能;并利用日志记录和档案管理人员的身份信息记录实现了对档案文件操作的追踪和回溯;

5、本发明通过数据库管理模块中的数据引擎单元、数据档案私有链单元以及数据锚定单元,利用区块链技术实现了对原始数据的格式转化以及哈希处理,最终将形成的私有链锚定到区块链中,从而实现了档案信息的防篡改功能,保证了档案信息的真实性;

6、本发明通过区块链身份管理模块的用户注册单元和档案管理人员注册单元,利用密码学知识实现了对档案管理人员的权限设置,增强了档案信息的隐私保护。本发明通过区块链身份管理模块中对用户对档案管理人员授权信息的双重加密,利用零知识证明的原理保护了交互密钥的私密性,从而增强了身份管理模块的安全性。

附图说明

图1为本发明系统结构示意图;

图2为本发明用户原始文件审计的流程图;

图3为本发明档案管理人员区块链身份验证流程图。

具体实施方式

本实施例中,一种基于区块链技术的数字档案管理系统如图1所示:包括数字档案数据库模块、数字档案管理模块、区块链存储模块以及区块链身份管理模块;

数字档案数据库模块包括:数据库保护单元、档案信息存储单元和查询单元;

数字档案管理模块包括:数据引擎单元、数字档案私有链单元以及数据锚定单元;

区块链身份管理模块包括:用户注册单元、档案管理人员注册单元、登录单元;

档案管理人员注册单元用于获取档案管理人员的登录信息并相应生成档案管理人员的公私钥对(pk1\sk1),该登录信息包括:档案管理人员的身份id和注册时间t(保存为时间戳格式),并存入档案信息存储单元中;档案管理人员注册单元利用档案管理人员的私钥sk1对档案管理人员的身份id和注册时间t进行签名,得到数字签名信息info并与公钥pk1一起存入区块链存储模块中;

用户注册单元用于获取用户的个人登录信息、用户对档案管理人员的授权信息policy以及用户上传的原始文件,并将个人登录信息、用户对档案管理人员的授权信息存入本地数据库中,将原始文件发送给数据库保护单元;

用户注册单元根据个人登录信息生成用户的公私钥对(pk2\sk2)和一个交互密钥pkt,并利用档案管理人员的公钥对交互密钥进行加密,如式(1)所示:

利用式(1)得到加密后的交互密钥从而将用户的公钥pk2、用户对档案管理人员的授权信息policy以及加密后的交互密钥通过一笔比特币交易存储到区块链存储模块中;

区块链身份管理模块利用档案管理人员的公钥对用户对档案管理人员的授权信息进行非对称加密,如式(2)所示:

pe=easy(pk1|policy)(2)

利用式(2)得到加密后的授权信息pe,再利用交互密钥pkt对授权信息pe进行对称加密,如式(3)所示:

pee=esy(pkt|pe)(3)

利用式(3)得到最终的授权信息pee,并存入区块链存储模块中;

登录单元在档案管理人员登录时获取档案管理人员的注册信息,从而利用数据库保护单元进行身份认证。基于误用检测原理对本地数据库中存储的的档案管理人员的注册信息以及登录时获取的档案管理人员的注册信息进行自动化认证,若认证通过,则允许档案管理人员输入自己的私钥进行二次验证,若私钥签名后的数字签名信息与区块链中存储的数字签名一致,则允许该档案管理人员登录,若认证不通过,则不允许档案管理人员登录,并生成审核日志后存入本地数据库中,从而在一定程度上保护了系统的安全性。其次,登录单元通过内部程序逻辑设定来实现获取用户对档案管理人员的授权信息。具体步骤如下:登录单元先让档案管理人员输入自己的私钥,再利用获取的私钥对加密后的交互密钥进行解密,得到用户的交互密钥,如式(4)所示:

登录单元利用用户的交互密钥对最终的授权信息进行解密,如式(5)所示:

pe=dsy(pkt|pee)(5)

利用式(5)得到的初步解密信息再用档案管理人员的私钥进行解密,得到用户对档案管理人员的授权信息policy,如式(6)所示:

policy=dasy(sk1|pe)(6)

若得到的policy值为0,表示档案管理员对该文档只有读权限;若值为1,则档案管理员有读和写的权限。通过区块链身份管理模块实现了用户对档案管理人员的权限设置,并保证了授权信息的不可篡改性,从而实现了对用户档案文件的隐私保护,也增强了系统的安全性。

查询单元用于档案管理人员根据用户对档案管理人员的授权信息对用户的原始文件进行查询或更新,并生成相应的查询日志后存入档案存储管理模块;

数据库保护单元根据档案文件存储格式要求,通过触发器来实现对上传原始文件格式的审计,如图2所示。在触发器内编写档案文件存储格式要求,并基于误用检测和异常检测的原理对用户注册单元上传的原始文件进行形式上的审计校验;若审计不通过,则向用户注册单元发送审计失败消息;若审计通过,则存入档案信息存储单元,并对原始文件进行备份得到档案备份数据,备份数据也存入档案信息存储单元;

数据库保护单元根据档案管理人员对原始文件的查询或更新操作生成数据库事务表,事务表中不仅包括具体的操作信息,还包括操作人——某个档案管理人员的身份信息。再根据区块链存储模块中的最终的授权信息,基于异常检测原理对查询日志或数据库事务表定期进行检测,若最终的授权信息与相应操作不一致,则生成告警信息并发送给数据库保护单元,数据库保护单元接收到告警信息后根据档案备份数据进行数据恢复,从而实现了档案管理人员行为的可追溯性,并维护了原始文件的完整性。

数据引擎单元获取原始文件并进行格式转换,将已经存储到sqlserver的原始数据存储到mongodb数据库中,得到转换后的原始文件;

数字档案私有链单元对转换后的原始文件进行哈希运算,通过node.js接口将文件进行sha256哈希运算,形成40位十六进制数的哈希值,将得到的哈希值并存入档案信息存储单元中。生成哈希值的同时会给每个文件标记一个flag,来标记该文件哈希值是否被打包成区块。flag标记为0:表示未被打包;标记为1:表示已经被打包成区块;所生成的哈希值和flag会存储在后台服务器中,且该系统每时每刻都会统计flag为0的个数,当flag为0的个数达到所设定的阈值(比如1024个)的时候,会通过merkletree的数据结构将这1024个文件哈希值构建成一个merkletree,形成一个区块,进而构成一条数字档案的私有链;

数据锚定单元将数字档案私有链通过一笔比特币的交易,将刚产生的区块的哈希值作为openturn的值永久存储在btc区块链中,并将交易编号存储到btc区块链的对应区块中。或者通过web3.js,实现钱包功能,将刚产生的区块的哈希值,写到ethereum的智能合约中。即通过一笔交易锚定到公有链上,并将交易信息存储到区块链存储模块中;

数据库保护单元基于误用检测原理对区块链中存储的档案管理人员的数字签名信息以及登录时获取的档案管理人员的数字签名信息进行自动化认证,若认证通过,则允许档案管理人员登录,若认证不通过,则不允许档案管理人员登录,并生成审核日志后存入档案信息存储单元中。

本实施例中,如图2所示,一种基于区块链技术的数字档案管理方法按如下步骤进行:

步骤1、通过node.js设计一个界面来实现客户端和服务器端的交互:首先获取用户的个人登录信息、用户对档案管理人员的授权信息以及用户上传的原始文件,并将个人登录信息、用户对档案管理人员的授权信息存入本地数据库中;

步骤2、通过触发器来实现对上传原始文件格式的审计,如图2所示。在触发器内编写档案文件存储格式要求,并基于误用检测和异常检测的原理对上传的原始文件进行形式上的审计校验;若审计不通过,则反馈审计失败消息;若审计通过,则存入本地数据库中,并对原始文件进行备份得到档案备份数据;

步骤3、如图3所示:对审计通过的原始文件进行格式转换,例如将存储在本地数据库(sqlserver)中的关系表转化成mongodb中文档存储格式(bson格式)。得到转换后的原始文件后再进行sha256哈希运算,得到40位十六进制数的哈希值并存入本地数据库中;生成哈希值的同时会给每个文件标记一个flag,来标记该文件哈希值是否被打包成区块。flag标记为0:表示未被打包;标记为1:表示已经被打包成区块。所生成的哈希值和flag会存储在后台服务器中,且该系统每时每刻都会统计flag为0的个数,当flag为0的个数达到所设定的阈值——1024个的时候,会通过merkletree的数据结构将这1024个文件哈希值构建成一个merkletree,形成一个区块。新生成的区块根据生成的顺序进行链接,构成一条数字档案的私有链;

步骤4、将数字档案私有链通过一笔比特币的交易,将刚产生的区块的哈希值作为openturn的值永久存储在btc区块链中,并将交易编号存储到btc区块链的对应区块中。或者还可以通过web3.js,实现钱包功能,将刚产生的区块的哈希值,写到ethereum的智能合约中。

步骤5、获取档案管理人员的注册信息并相应生成档案管理人员的公私钥对,注册信息包括:档案管理人员的身份id和注册时间,并存入本地数据库中;

步骤6、利用档案管理人员的私钥对档案管理人员的身份id和注册时间进行签名,得到数字签名信息并与公钥一起存入区块链中;

步骤7、根据用户的个人登录信息生成用户的公私钥对和一个交互密钥,并利用档案管理人员的公钥对交互密钥进行加密,从而将用户的公钥、用户对档案管理人员的授权信息以及加密后的交互密钥存储到区块链中;

步骤8、利用档案管理人员的公钥对用户对档案管理人员的授权信息进行非对称加密,得到加密后的授权信息后再利用交互密钥进行对称加密,得到最终的授权信息并存入区块链中;

步骤9、如图3所示,在档案管理人员登录时获取档案管理人员的身份id和注册时间,再基于误用检测原理对本地数据库中存储的的档案管理人员的注册新词以及登录时获取的档案管理人员的注册信息进行自动化认证,若认证通过,则允许档案管理人员输入自己的私钥进行二次验证,若私钥签名后的数字签名信息与区块链中存储的数字签名一致,则允许该档案管理人员登录,若认证不通过,则不允许档案管理人员登录,并生成审核日志后存入本地数据库中;

步骤10、认证通过的档案管理人员根据用户对档案管理人员的授权信息对用户的原始文件进行查询或更新,并生成相应的查询日志后存入本地数据库中;

步骤11、如图3所示,利用档案管理人员的私钥对加密后的交互密钥进行解密,得到用户的交互密钥;再利用用户的交互密钥对最终的授权信息进行解密,得到的初步解密信息后,利用档案管理人员的私钥进行解密,从而得到用户对档案管理人员的授权信息;

步骤12、根据档案管理人员对原始文件的查询或更新操作生成数据库事务表,再根据区块链中的最终的授权信息,基于异常检测原理对查询日志或数据库事务表定期进行检测,若最终的授权信息与相应操作不一致,则生成告警信息并发送给本地数据库,用于根据档案备份数据进行数据恢复。通过相关程序每时每刻对数据库事物表文件进行实时分析,过滤出重要告警信息,并通过邮件方式来告知档案管理人员,使得档案管理人员及时处理,从而实现数据库预警功能,维护了档案文件的完整性。

本发明的实施例是为示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员是显而易见的,选择和描述实施例是为了更好说明发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适用于特定用途的带有各种修改的各种实施例。

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