首页> 中国专利> 角色对称加密所有权证明的方法及系统

角色对称加密所有权证明的方法及系统

摘要

本发明涉及一种角色对称加密所有权证明的方法及系统,依次通过角色密钥管理步骤、文件密钥生成步骤、数据加密步骤、数据上传步骤、数据存储步骤、所有权证明挑战步骤和所有权证明验证步骤,既实现了对文件的角色访问控制又能满足文件的授权去重要求,并且能够利用灵活的角色访问控制机制和合适的对称加密算法降低系统开销,达到了安全高效的设计目标,适用于大规模推广使用,能应用到实际生产生活过程中。

著录项

  • 公开/公告号CN106961431A

    专利类型发明专利

  • 公开/公告日2017-07-18

    原文格式PDF

  • 申请/专利权人 福建师范大学;

    申请/专利号CN201710159514.5

  • 申请日2017-03-17

  • 分类号H04L29/06(20060101);H04L9/32(20060101);H04L29/08(20060101);

  • 代理机构35100 福州元创专利商标代理有限公司;

  • 代理人蔡学俊

  • 地址 350117 福建省福州市闽侯县上街镇大学城科技路1号福建师范大学旗山校区

  • 入库时间 2023-06-19 02:53:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-08

    授权

    授权

  • 2017-08-25

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170317

    实质审查的生效

  • 2017-07-18

    公开

    公开

说明书

技术领域

本发明涉及一种角色对称加密所有权证明的方法及系统。

背景技术

全球数据量的爆炸式增长促进了云计算技术的急速发展,越来越多的个人和企业选择使用云平台存储和管理数据以实现资源共享。最新的研究数据表明,截止2015年底,全球数据量已达到8.61ZB,预计2020年,全球数据量将突破44ZB。因此,如何提高存储效率、减少通信开销对云服务提供商将是一个严峻的挑战。

数据压缩技术虽然节省了存储空间和带宽消耗,但是针对同一份文件,不同个体选择不同的压缩技术将产生不同的文件副本,实际上增加了云存储的压力。为了解决上述问题,提出了数据去重技术,云服务器采用随机采样或者提取哈希值的方式检测用户上传的数据是否已存在,如果存在,则无需再次上传,有效的节省带宽消耗,同时降低了存储开销。然而,云数据去重技术也存在严重的隐私问题和新的安全挑战,例如隐私泄露、侧信道攻击以及未授权访问等。

为了解决云数据去重中的隐私泄露,最直接的方式是对数据进行加密。同时,为了实现对密文数据的去重,提出了收敛加密和消息锁加密算法,这类加密方法使用文件的哈希值作为加密密钥,保证了相同的明文得到相同的密钥和密文。然而,哈希值本身易遭受内容猜测攻击等侧信道攻击而泄露隐私信息,存在很大的安全隐患。

为了解决云数据去重中的侧信道攻击,如敌手仅通过上传文件的哈希值即可获得隐私信息,提出了所有权证明的概念,通过典型的挑战-回答交互机制验证用户确实拥有特定的文件,从而抵抗侧信道攻击。

为了解决云数据去重中的授权访问,引入可信的私有云构建混合云架构,对用户实施访问控制策略实现对云数据的授权去重,但是没有考虑云数据的隐私泄露和侧信道攻击等问题。

综上所述,针对云数据去重中存在的隐私泄露、侧信道攻击以及未授权访问问题,已有解决方案均从某一方面考虑,简单解决某一问题,严重忽视了其他挑战,不能综合解决云数据去重中的文件访问控制和授权去重问题。因此,需要发明一种能够同时解决上述三类安全问题的方法和相应的系统。

发明内容

有鉴于此,本发明的目的在于提供一种角色对称加密所有权证明的方法及系统,既能实现对文件的角色访问控制,又能满足对文件的授权去重要求。

为实现上述目的,本发明采用如下技术方案:

一种角色对称加密所有权证明的方法,其特征在于:包括文件上传阶段和文件所有权证明阶段;

所述文件上传阶段包括以下步骤:

S100、角色认证中心根据角色建立组织层次架构,并给根节点分配主密钥,执行角色密钥生成算法得到各层角色密钥;

S200、将步骤S100所得的角色密钥通过安全信道发送给各层角色中的文件所有者;

S300、所述文件所有者获取步骤S200的角色密钥,根据角色访问控制策略执行文件密钥生成算法得到文件密钥;

S400、使用步骤S300所得到的文件密钥对文件进行加密处理得到密文;对所述密文进行哈希运算得到第一文件索引值;对所述文件所有者的账号进行哈希运算得到帐号哈希值;

S500、将步骤S400所得的密文、第一文件索引值、账号哈希值上传至云存储服务器;

S600、云存储服务器将步骤S500所上传的密文进行哈希运算得到第二文件索引值,并验证所述第二文件索引值与第一文件索引值是否一致,若一致,则存储上传的密文、第一文件索引值、账号哈希值,并将所述密文经过处理插入布隆过滤器;若不一致,云存储服务器则不存储上传的密文、第一文件索引值、账号哈希值;

所述文件所有权证明阶段包括以下步骤:

S700、所述文件所有者将步骤S400所得的第一文件索引值与账号哈希值上传至云存储服务器;

S800、判断步骤S700所得第一文件索引值是否已经存储,若存在,则进一步检查步骤S700所得账号哈希值是否已经存储,若存在,则产生一个大小为A的随机位置数组作为挑战,进行步骤S900;否则,要求所述文件所有者上传所述密文;

S900、将步骤S800所得挑战返回给所述文件所有者;

S1000、所述文件所有者根据步骤S900所得挑战计算得到所述挑战的对应回答;

S1100、将步骤S1000所得的对应回答数组发送至云存储服务器;

S1200、判断步骤S1100所得回答是否存储于布隆过滤器中,若存在,则验证成功;否则,验证失败;

S1300、将步骤S1200所得验证结果返回给所述文件所有者。

一种角色对称加密所有权证明的系统,其特征在于:包括角色密钥管理模块、文件密钥生成模块、数据加密模块、数据上传模块、一致性检验模块、数据存储模块、布隆过滤器模块、挑战模块和验证模块;

所述角色密钥管理模块,用于管理角色密钥;

所述文件密钥生成模块,用于根据角色访问策略生成文件密钥;

所述数据加密模块,用于对所述文件和所述文件所有者账号进行加密操作;使用所述密钥对所述文件进行加密得到所述密文;对所述密文进行哈希运算得到文件索引值;对所述文件所有者账号进行哈希运算得到帐号哈希值;

所述数据上传模块,用于将数据加密模块得到的密文、文件索引值、账号哈希值上传至云存储服务器;

所述一致性检验模块,用于云服务器对数据上传模块所得密文和文件索引值是否一致进行检验;

所述数据存储模块,用于存储数据上传模块所得密文、文件索引值、账号哈希值;

所述布隆过滤器模块,用于根据数据上传模块所得密文进行分块操作、哈希运算、随机化操作后插入布隆过滤器;

所述挑战模块,用于云存储服务器要求上传文件索引值和账号哈希值的所述文件所有者接受所有权证明的挑战;

所述验证模块,用于云存储服务器验证所述文件所有者上传的回答是否正确,并返回验证结果。

本发明与现有技术相比具有以下有益效果:本发明不但能够实现对文件的角色访问控制,还能够有效地解决文件的授权去重问题;并且本发明能够利用灵活的角色访问控制机制和合适的对称加密算法降低系统开销,达到安全高效的设计目标,适用于大规模推广使用,能应用到实际生产生活过程中。

附图说明

图1是本发明一实施例的系统模型图。

图2是本发明的步骤流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

本发明最关键的构思在于:建立层次组织架构,管理角色密钥,根据角色访问控制策略生成文件密钥,使用该密钥对称加密文件,实现对文件的角色访问控制,然后基于挑战-响应模型,并在查询过程中利用布隆过滤器加快搜索效率,实现了文件的安全高效去重。

如图1所示为本发明具体实施例的系统模型图,包括:

100、文件所有者;110、角色认证中心;120、云存储服务器;130、敌手;

所述文件所有者100,不同角色的文件所有者拥有对应的角色密钥,根据角色访问控制策略计算出对应的文件密钥,可以通过云存储服务器的验证,上传和下载对应角色访问控制的文件。

所述角色认证中心 110,主要负责管理角色密钥,包括角色密钥的生成、角色密钥的分发、角色密钥的撤销和角色密钥的更新。

所述云存储服务器120,主要负责存储数据和验证数据所有权,存储主要体现在当文件所有者首次请求上传文件时,存储该所有者上传的密文以及相关信息;验证主要体现在当文件所有者请求二次上传文件或请求下载文件时,验证该所有者是否拥有文件的所有权,并返回对应挑战的验证结果。

所述敌手 130,表示对云存储服务器、文件上传过程中可能发起攻击。

请参照图2,本实施例提供一种角色对称加密所有权证明的方法,其特征在于:包括文件上传阶段和文件所有权证明阶段;

所述文件上传阶段包括以下步骤:

(1)角色密钥管理步骤

S100、角色认证中心根据角色建立组织层次架构,并给根节点分配主密钥,执行角色密钥生成算法得到各层角色密钥;

于本实施例中,所述组织层次架构为所述角色认证中心根据角色建立的层次关系树;所述角色密钥生成算法具体为根据主密钥、各级角色的索引值以及哈希运算、异或处理等得到对应角色的角色密钥;所述角色认证中心主要负责管理角色密钥,包括角色密钥的生成、角色密钥的分发、角色密钥的撤销和角色密钥的更新。

所述角色密钥生成算法具体描述为,角色层次关系树中根节点的主密钥哈希值异或下级节点索引值,对该结果进行哈希运算,即为下级节点的角色密钥,对所述角色层次关系树中各个节点进行递归的上述哈希异或操作,即可得到各级节点的角色密钥。

S200、将步骤S100所得的角色密钥通过安全信道发送给各层角色中的文件所有者;所述安全信道可以为公共网络、专用网络,有线网络、无线网络,但要求是安全可信的,如SSL、IPSec VPN等。

(2)文件密钥生成步骤

S300、所述文件所有者获取步骤S200的角色密钥,根据角色访问控制策略执行文件密钥生成算法得到文件密钥;于本实施例中,所述文件密钥生成算法具体为根据角色密钥以及角色访问控制策略得到对应文件密钥的过程,输入即为所述文件所有者拥有的角色密钥,输出即为所述文件密钥;角色访问控制策略是访问控制策略的一种,基于角色对访问控制策略进行组合、更新和撤销,也可基于属性对访问控制策略进行组合、更新和撤销。

所述文件密钥生成算法具体描述为,对所述文件所有者拥有的角色密钥进行策略组合得到文件密钥,不同的角色权限使用不同的哈希运算,以实现不同角色权限的访问控制。

(3)数据加密步骤

S400、使用步骤S300所得到的文件密钥对文件进行加密处理得到密文;对所述密文进行哈希运算得到第一文件索引值;对所述文件所有者的账号进行哈希运算得到帐号哈希值;于本实施例中,加密处理使用的是对称加密方式,加密算法为DES、RC2、IDEA或AES。所述哈希运算可以采用MD5、SHA-128、SHA-256等。

(4)数据上传步骤

S500、将步骤S400所得的密文、第一文件索引值、账号哈希值上传至云存储服务器;

(5)数据存储步骤

S600、云存储服务器将步骤S500所上传的密文进行哈希运算得到第二文件索引值,并验证所述第二文件索引值与第一文件索引值是否一致,若一致,则存储上传的密文、第一文件索引值、账号哈希值,并将所述密文经过处理插入布隆过滤器;若不一致,云存储服务器则不存储上传的密文、第一文件索引值、账号哈希值验证过程可以有效地防止文件所有者上传密文与文件索引值不一致的情况;云存储服务器的存储过程如下:云存储服务器创建一个三元组的结构体,第一文件索引值作为唯一索引值,密文、账号哈希值以及所述密文经过处理所得结果分别存储在所述三元组的结构体中;于本实施例中,所述密文的处理过程为,将所述密文进行分块处理,并得到文件块的哈希值,所述文件块的哈希值和索引作为随机函数的输入,进而得到插入元素,最后将所述元素插入所述布隆过滤器中。

所述文件所有权证明阶段包括以下步骤:

(6)所有权证明挑战步骤

S700、所述文件所有者将步骤S400所得的第一文件索引值与账号哈希值上传至云存储服务器;

S800、判断步骤S700所得第一文件索引值是否已经存储,若存在,则进一步检查步骤S700所得账号哈希值是否已经存储,若存在,则产生一个大小为A的随机位置数组作为挑战,进行步骤S900;否则,要求所述文件所有者上传所述密文;

进一步的,所述判断过程具体可以描述为,查询步骤S700所得文件索引值与云存储服务器数据库中已存储的文件索引值是否匹配,根据查询结果进行下一步的操作;

进一步的,所述挑战为云存储服务器在所述文件块哈希值中随机选择大小为A比特的随机位置数组;

S900、将步骤S800所得挑战返回给所述文件所有者;

(7)所有权证明验证步骤

S1000、所述文件所有者根据步骤S900所得挑战计算得到所述挑战的对应回答;所述对应回答为所述文件所有者根据拥有的所述文件产生步骤S900得到所述大小为A的随机位置挑战对应的信息。

S1100、将步骤S1000所得的对应回答数组发送至云存储服务器;

S1200、判断步骤S1100所得回答是否存储于布隆过滤器中,若存在,则验证成功;否则,验证失败;判断过程具体可以描述为,将步骤S1000所得回答和步骤S800所得挑战的随机位置作为随机函数的输入,进而得到需要验证的元素,并查询所述元素是否存在于所述布隆过滤器中,即可得出快速得出所述回答与所述挑战是否一致,进而验证所述回答是否正确;于本实施例中,验证成功即为所述文件所有者拥有所述文件,可以根据拥有的权限对所述文件进行对应操作;验证失败即为所述文件所有者没有所述文件的所有权,无法对所述文件进行操作。

S1300、将步骤S1200所得验证结果返回给所述文件所有者。

本实施例还提供一种角色对称加密所有权证明的系统,其特征在于:包括角色密钥管理模块、文件密钥生成模块、数据加密模块、数据上传模块、一致性检验模块、数据存储模块、布隆过滤器模块、挑战模块和验证模块;

所述角色密钥管理模块,用于管理角色密钥;包括角色密钥的生成、角色密钥的分发、角色密钥的撤销和角色密钥的更新;所述角色密钥的生成即为角色层次关系树中各级密钥由主密钥执行所述角色密钥生成算法计算得到;所述角色密钥的分发即为角色层次关系树中上级节点计算并分发角色密钥给下级节点;所述角色密钥的撤销即为删除特定节点的角色密钥;所述角色密钥的更新即为执行所述角色密钥的撤销操作后,重新生成所述特定节点所在的角色层次关系子树。

所述文件密钥生成模块,用于根据角色访问策略生成文件密钥;文件密钥与文件所有者的角色相关,不同角色的文件所有者拥有对应的角色密钥,根据角色访问控制策略执行文件密钥生成算法得到对应的文件密钥;所述文件密钥生成算法具体为根据角色密钥以及角色访问控制策略得到对应文件密钥的过程,输入即为所述文件所有者拥有的角色密钥,输出即为所述文件的密钥;进一步的,所述角色访问控制策略是访问控制策略的一种,基于角色对访问控制策略进行组合、更新和撤销,也可基于属性对访问控制策略进行组合、更新和撤销。

所述数据加密模块,用于对所述文件和所述文件所有者账号进行加密操作;使用所述密钥对所述文件进行加密得到所述密文;对所述密文进行哈希运算得到文件索引值;对所述文件所有者账号进行哈希运算得到帐号哈希值。所述密钥为所述文件密钥生成模块所得密钥;所述加密使用的是对称加密方式,具体的加密算法可以采用DES、RC2、IDEA、AES等;所述哈希运算可以采用MD5、SHA-128、SHA-256等。

所述数据上传模块,用于将数据加密模块得到的密文、文件索引值、账号哈希值上传至云存储服务器;

所述一致性检验模块,用于云服务器对数据上传模块所得密文和文件索引值是否一致进行检验;所述一致性检验具体可以描述为,云存储服务器对接收到的所述密文进行哈希运算得到所述文件索引值,并与接收到的文件索引值进行对比,判断是否一致,若一致,对所述密文进行存储;若不一致,云存储服务器则不存储所述密文。

所述数据存储模块,用于存储数据上传模块所得密文、文件索引值、账号哈希值;所述存储过程具体可以描述为,云存储服务器创建一个三元组的结构体,所述文件索引值作为唯一索引值,所述密文、所述文件所有者账号哈希值以及所述密文经过处理所得结果分别存储在所述三元组的结构体中。

所述布隆过滤器模块,用于根据数据上传模块所得密文进行分块操作、哈希运算、随机化操作后插入布隆过滤器;生成布隆过滤器过程具体可以描述为,将所述密文进行分块处理,并得到文件块的哈希值,所述文件块哈希值和索引作为随机函数的输入,进而得到插入元素,最后将所述元素插入所述布隆过滤器中;所述布隆过滤器主要为了加快服务器的查询效率,减少系统的响应时间。

所述挑战模块,用于云存储服务器要求上传文件索引值和账号哈希值的所述文件所有者接受所有权证明的挑战;所述挑战为云存储服务器在所述文件块哈希值中随机选择大小为A比特的随机位置数组发送给所述文件拥有者;

所述验证模块,用于云存储服务器验证所述文件所有者上传的回答是否正确,并返回验证结果。所述回答为所述文件所有者根据拥有的所述文件产生对应所述挑战的回答;回答正确即为所述文件所有者拥有所述文件,可以根据拥有的权限对所述文件进行对应操作;验证失败即为所述文件所有者没有所述文件的所有权,无法对所述文件进行操作。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号