首页> 中国专利> 一种基于区块链和IPFS技术的隐私信息管理方法及系统

一种基于区块链和IPFS技术的隐私信息管理方法及系统

摘要

本发明公开了一种区块链和IPFS技术的隐私信息管理方法及系统,该方法包括:获取用户发送的访问请求,所述访问请求包括用户ID和访问对象;通过查询区块链账本,验证用户是否具有访问权限;若具有访问权限,则从所述区块链账本中检索出所述访问对象对应的哈希记录,并根据所述哈希记录,访问存储在IPFS中的所述访问对象。因此,本发明通过建立独立的隐私信息管理机制来实现区块链网络隐私信息的保存、访问与权限管理受监管的区块链网络的敏感信息监管,不仅能够避免给区块链节点带来存储压力,还能够实现对多用户多类型的隐私信息的全面监管。

著录项

  • 公开/公告号CN112954000A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利权人 迅鳐成都科技有限公司;

    申请/专利号CN202110041678.4

  • 发明设计人 李弋凡;阮亚芬;

    申请日2021-01-13

  • 分类号H04L29/08(20060101);H04L29/06(20060101);H04L9/32(20060101);G06F16/27(20190101);G06F21/60(20130101);G06F21/62(20130101);

  • 代理机构51231 成都泰合道知识产权代理有限公司;

  • 代理人李正

  • 地址 611730 四川省成都市郫都区德源镇(菁蓉镇创业公社)大禹东路66号3栋10楼10-01室附-1

  • 入库时间 2023-06-19 11:21:00

说明书

技术领域

本发明涉及区块链技术,尤其涉及一种基于区块链和IPFS技术的隐私信息管理方法及系统。

背景技术

可信文件存储,是目前互联网系统中的一种新型架构,传统的文件存储不能保证文件存储可信。当企业用户向企业发起存储文件请求时,企业会将企业用户的文件存储在服务器上,当企业用户需要时,再从服务器上将文件取出返回。由于文件仅仅存储在一个企业的服务器上,所以并不能保证文件的可信,文件有可能会被修改。使用区块链可以将文件存储在区块链上,这样就可以保证文件的可信性,使得用户存入的文件变成了用户的隐私信息,但也引入了新的问题,区块链的区块大小有限,存储大文件会导致区块链性能低下。

为了解决区块链存储文件的大小问题,现在已有技术奖IPFS技术应用于区块链技术中实现文件的存储,IPFS(Inter Planetary File System即星际文件系统)是一种点对点的分布式文件系统,将IPFS技术与区块链技术结合使用,可将大文件存储于链下,并由IPFS节点为所存储的文件提供唯一的标识。例如,申请号为2018116360912的中国专利公开了一种基于IPFS和区块链的可信文件存储系统及方法文件存储在IPFS上,其通过将文件存储在IPFS上,并生成唯一标识符,将唯一标识符存储在区块链上,提示区块链的文件存储性能。但其存在仅仅考虑了针对单一用户的区块链文件存储需求、未能充分挖掘涉及多用户隐私文件存储技术的实际需求的缺陷。在实际应用中,当我们需要利用区块链进行大量隐私文件的存储时,往往会辐射到产业控制链上的多用户交互问题,因此相应的大数据量隐私文件存储技术不仅仅涉及到文件存储方式的问题,还需考虑到多个用户的信息交互、信息访问等问题。

发明内容

鉴于以上所述现有技术存在的未能充分挖掘涉及多用户隐私文件存储技术的实际需求的缺陷,本发明的目的在于:提供一种基于区块链和IPFS技术的隐私信息管理方法及系统,不仅能够基于区块链与IPFS技术实现大量隐私文件(隐私信息)存储,还能够到达对隐私文件进行权限管理、全面监管的目的。

为实现上述发明目的,本发明提供以下技术方案:

一种基于区块链和IPFS技术的隐私信息管理方法,包括:

获取用户发送的访问请求,所述访问请求包括用户ID和访问对象;

通过查询区块链账本,验证用户是否具有访问权限;若具有访问权限,则从所述区块链账本中检索出所述访问对象对应的哈希记录,并根据所述哈希记录,访问存储在IPFS中的所述访问对象。

优选的,上述基于区块链和IPFS技术的隐私信息管理方法中,验证用户是否具有访问权限的方式为:

根据所述访问对象,从所述区块链账本中查询出所述访问对象的拥有方ID,并根据所述用户ID和所述访问对象的拥有方ID,从所述区块链账本中查询出用户与所述访问对象的拥有方之间的授权信息;以及,根据所述授权信息,确定所述访问对象的拥有方允许所述用户访问的授权对象;

其中,若所述区块链账本中不存在所述授权信息或所述授权对象不包括所述访问对象,则所述用户不具有访问权限。

优选的,上述基于区块链和IPFS技术的隐私信息管理方法中,还包括:

获取用户发送的授权请求,所述授权请求包括用户ID、拥有方ID和授权对象;

向区块链网络中广播所述授权请求,并发起共识投票;若共识投票通过,则将用户ID、拥有方ID和授权对象作为授权信息写入区块链账本。

优选的,上述基于区块链和IPFS技术的隐私信息管理方法中,还包括:

获取用户发送的除权请求,所述授权请求包括用户ID、拥有方ID和除权对象;

向区块链网络中广播所述除权请求,并发起共识投票;若共识投票通过,则将用户ID、拥有方ID和除权对象作为除权信息写入区块链账本。

优选的,上述基于区块链和IPFS技术的隐私信息管理方法中,根据所述区块链账本上最新的所述授权信息或所述除权信息,验证用户是否具有访问权限。

优选的,上述基于区块链和IPFS技术的隐私信息管理方法中,还包括:

获取用户发送的保存请求,所述保存请求包括用户ID、用户输入的密码和拟保存的隐私信息;

根据用户输入的密码,获取相应的密钥,并利用所述密钥对所述隐私数据加密,得到加密信息;

将所述加密信息存储至所述IPFS中,并获取所述IPFS返回的哈希记录;以及将所述哈希记录,基于所述隐私信息的内容而命名的对象名称和用户ID进行绑定,并写入区块链。

优选的,上述基于区块链和IPFS技术的隐私信息管理方法中,访问到存储在IPFS中的所述访问对象后,从用户的积分账户转移一定积分至所述访问对象的拥有方的积分账户,并将积分转移结果写入区块链。

在本发明进一步的实施例中还提供一种基于区块链和IPFS技术的隐私信息管理系统,包括:客户端、区块链系统和IPFS系统;其中,

所述客户端,用于获取用户发送的访问请求,所述访问请求包括用户ID和访问对象;所述区块链系统,用于查询区块链账本,验证用户是否具有访问权限;若具有访问权限,则从所述区块链账本中检索出所述访问对象对应的哈希记录;而且,所述客户端,还用于根据所述哈希记录,访问存储在IPFS中的所述访问对象。

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

本发明基于区块链和IPFS技术的隐私信息管理方法中,获取用户发送的访问请求,所述访问请求包括用户ID和访问对象;通过查询区块链账本,验证用户是否具有访问权限;若具有访问权限,则从所述区块链账本中检索出所述访问对象对应的哈希记录,并根据所述哈希记录,访问存储在IPFS中的所述访问对象。因此,本发明通过建立独立的隐私信息管理机制来实现区块链网络隐私信息的保存、访问与权限管理受监管的区块链网络的敏感信息监管,不仅能够避免给区块链节点带来存储压力,还能够实现对多用户多类型的隐私信息的全面监管。

附图说明

图1为本发明示例性实施例的区块链网络与IPFS、客户端的隐私信息管理方法原理框图;

图2为本发明示例性实施例的隐私信息上传流程图。

图3为本发明示例性实施例的隐私信息访问流程图。

图4为本发明示例性实施例的基于区块链和IPFS技术的隐私信息管理系统框图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

图1示出了本发明示例性实施例的基于区块链和IPFS技术的隐私信息管理方法,其包括以下步骤:

获取用户发送的访问请求,所述访问请求包括用户ID和访问对象;

通过查询区块链账本,验证用户是否具有访问权限;若具有访问权限,则从所述区块链账本中检索出所述访问对象对应的哈希记录,并根据所述哈希记录,访问存储在IPFS中的所述访问对象。

具体的,本发明的基于区块链和IPFS技术的隐私信息管理方法在实施时,首先应确认相应的隐私信息管理机制、建立相应的智能合约,确认两个执行端区块链网络与IPFS节点的协作模式,由区块链网络执行相应的智能合约实现针对多用户的隐私信息管理,其中,相应的智能合约至少包括:用户注册、访问权限的授予与撤销、隐私信息的上传和访问、积分管理等。因此在本发明所建立隐私信息管理系统中,需要用户通过客户端进行信息注册,区块链网络为每个注册用户提供唯一的用户ID,确保注册用户能够加入到相应的隐私信息管理区块链网络中,并在整个区块链网络中将其隐私信息进行保存或者访问其他用户的隐私信息。

进一步的,如图2所示,当用户想要将隐私信息存入本系统中时,会通过客户端发出保存请求并对请求进行签名,其中,所述保存请求包括用户ID、用户输入的密码和拟保存的隐私信息,客户端会根据用户的保存请求判断用户拟保存的隐私信息的类型(本系统提供多类型隐私信息存储模式),并提示用户输入密码来获取对应的密钥,并利用所述密钥对所述隐私数据加密,得到加密信息;向IPFS节点请求将加密信息存入IPFS中并获取IPFS返回的哈希记录,并向区块链系统请求调用智能合约,将所述哈希记录与隐私信息的类型作为参数输入。此时,区块链系统验证用户的签名,验证通过后,执行所述智能合约将哈希记录与隐私信息的类型以及用户ID进行绑定,将绑定结果写入区块链账本,并向广播相应的保存请求以使其他节点执行相同的记账操作,在节点间达成共识后将智能合约执行结果写入区块链账本,然后提示用户信息保存成功。

进一步的,当用户需要访问其他用户的隐私信息时,可通过客户端发出发起访问请求,(用户需要对访问请求进行签名、区块链节点在执行相应的合约前会验证所述签名),所述访问包括用户ID与访问对象;此时区块链系统会响应用户访问请求,查询区块链账本、以验证用户是否具有相应的访问权限,具体为:在所述区块链账本中查询出所述访问对象的拥有方ID,并根据所述用户ID和所述访问对象的拥有方ID,从所述区块链账本中查询出用户与所述访问对象的拥有方之间的授权信息;以及,根据所述授权信息,确定所述访问对象的拥有方允许所述用户访问的授权对象;若所述区块链账本中不存在用户与所述访问对象的拥有方之间的授权信息或所述访问对象的拥有方允许所述用户访问的授权对象时,判断所述用户不具有访问权限,将访问失败的提示信息反馈给用户。进一步的,以用户A访问用户B的第一类型隐私信息为例对上述隐私信息访问机制进行说明,如图3所示,,首先用户A可通过客户端提供的功能界面发起访问请求(查询请求),由用户A在客户端中输入其想要访问的访问对象,客户端可从访问请求中获取到访问对象为用户B的第一类型隐私信息,然后向区块链节点请求调用智能合约,并将用户A和用户B的ID、访问对象作为参数传入;区块链节点执行智能合约返回用户A与用户B之间的授权信息,区块链节点会根据所述授权信息判断用户A是否具有访问权限,若是,则从区块链账本中检索出访问对象对应的所有哈希记录,再根据哈希记录向IPFS节点发起请求、IPFS根据哈希记录返回加密后的用户B的第一类型隐私信息;通过客户端提示用户A输入密钥解密信息,若信息解密成功,由客户端对用户B的第一类型隐私信息进行解密处理后展示给用户A。向区块链网络中广播所述访问请求,并发起共识投票;若共识投票通过,则将用户A的ID、拥有方B的ID和访问对象作为访问信息写入区块链账本。

进一步的,在客户端将解密信息展示给用户A后,客户端根据约定的积分数量向区块链节点请求调用智能合约,并将A和B的ID、A与B的积分数作为参数传入,待共识投票通过后,区块链节点根据访问请求的执行结果自动将积分从用户A的区块链地址转移给用户B的区块链地址并给用户发送通知。由此可知,本系统还遵循ERC721规范设计了相应的用户注册、信息访问的积分方案,能够完成查询某个地址的积分、转移积分、查询积分的所有者等功能。每个用户注册使用本系统时,其区块链地址都会得到1000积分作为使用初始奖励,用户间进行隐私信息共享(权限共享)时会协商一个积分数量作为共享报酬,然后将该数量写入智能合约中,便于在条件满足时自动触发转移功能进而防止作弊。如果两者之间没有协商,系统会默认写入一个积分数量以激励主动共享数据的一方,当用户的积分耗尽时,可以向其他用户购买。

在本发明进一步的实施例中,系统所需要执行的智能合约还包括访问权限的授予与撤销,以在用户发出访问请求,可通过智能合约对用户的访问权限进行验证。用户通过授权操作允许其他用户访问自己的隐私信息.本系统将隐私信息分为n类,其中,n≥3,所以在授权时可以通过对n种类别的自由组合来限定信息共享范围.授权步骤如下:

步骤1用户A通过客户端发出授权请求,在请求中用户选择其愿意共享信息的用户ID和授权信息类别后(如第一类型隐私信息、第二类型隐私信息)发起授权请求并对请求进行签名;

步骤2客户端向区块链节点请求调用智能合约并将愿意共享信息的用户ID和隐私信息类别作为参数传入;

步骤3区块链节点先验证用户A的签名,再执行智能合约并将该授权请求广播给其他区块链节点,达成共识后将授权信息记入区块链账本;

步骤4客户端使用用户B的公钥将对应的密钥加密后发送给用户B,用户B通过自己的私钥解密出密钥。

进一步的,用户通过除权操作撤销曾授予其他用户的访问权限,具体的步骤如下:

步骤201、用户A通过客户端发出除权请求,所述除权请求包括除权用户ID和除权对象(除权信息类别);

步骤202、客户端向区块链节点请求调用智能合约并将用户B的ID、以及发出请求的A的ID和信息类别作为参数传入;

步骤203、区块链节点先验证用户A的签名,再执行智能合约并将该除权请求广播给其他区块链节点,达成共识后将除权信息记入区块链账本;

步骤204、客户端提示用户输入针对除权对象所设置的新密码重新生成对应的密钥,并将新密钥发送给仍具有权限的其他用户。

如图4所示,本发明的另一方面,还提供一种用于基于区块链和IPFS技术的隐私信息管理系统,其包括:客户端(由webapp实现)、区块链系统和IPFS系统;

所述客户端,用于获取用户发送的访问请求,所述访问请求包括用户ID和访问对象;所述区块链系统,用于查询区块链账本,验证用户是否具有访问权限;若具有访问权限,则从所述区块链账本中检索出所述访问对象对应的哈希记录;而且,所述客户端,还用于根据所述哈希记录,访问存储在IPFS中的所述访问对象。本系统分为WebApp、IPFS、区块链3个部分.WebApp支持B/S架构模式,WebApp会获取用户请求,并根据请求操作进行相应的处理,选择要调用的智能合约,协调IPFS和区块链的工作,IPFS负责存储加密后的隐私信息,并返回哈希路由.区块链负责存储智能合约代码和执行智能合约,并将执行结果打包成区块,经过共识后写入区块链账本。本系统中的智能合约本质上是根据用户注册、隐私信息的上传和访问、权限的授予和撤销、积分的分配和转移这几个过程的业务规则进行编码,部署在区块链网络中,并由所有节点达成共识和运行的程序.WebApp通过调用相应的智能合约将数据保存到区块链上或从区块链中检索出所需数据,针对不同功能,设计了对应的智能合约,其接口如表1所示。

应该理解到,本发明所揭露的系统,可通过其它的方式实现。例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,模块之间的通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号