CN116074110B - 一种用于实现云环境中加密文件共享的方法、系统、设备及介质 - Google Patents

一种用于实现云环境中加密文件共享的方法、系统、设备及介质 Download PDF

Info

Publication number
CN116074110B
CN116074110B CN202310139560.4A CN202310139560A CN116074110B CN 116074110 B CN116074110 B CN 116074110B CN 202310139560 A CN202310139560 A CN 202310139560A CN 116074110 B CN116074110 B CN 116074110B
Authority
CN
China
Prior art keywords
file
attribute
key
ciphertext
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310139560.4A
Other languages
English (en)
Other versions
CN116074110A (zh
Inventor
苏锐丹
魏赫男
崔凯迪
韩星星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202310139560.4A priority Critical patent/CN116074110B/zh
Publication of CN116074110A publication Critical patent/CN116074110A/zh
Application granted granted Critical
Publication of CN116074110B publication Critical patent/CN116074110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

一种用于实现云环境中加密文件共享的方法、系统、设备及介质,方法包括:上传加密非结构化数据,共享加密非结构化数据,构建支持用户属性可撤销和恢复的属性密码算法模型;系统、设备及介质,用于实现一种用于实现云环境中加密文件共享的方法;本发明通过数据属主加密上传待分享文件到云服务器,针对指定用户和群体用户分享加密文件,构建可撤销与恢复的属性密码算法,通过国密算法SM4将文件加密后,利用属性加密算法对文件加密密钥加密,并将密文拼接存储至云服务器,能够实现高效密钥分发与加密文件的共享,具有较好的兼容性、安全性高、保证数据高效流转、操作简单、节约资源的特点。

Description

一种用于实现云环境中加密文件共享的方法、系统、设备及 介质
技术领域
本发明涉及云环境中数据安全共享和隐私保护技术领域,尤其涉及一种用于实现云环境中加密文件共享的方法、系统、设备及介质。
背景技术
目前,在互联网高速发展的时代背景下,企业内部办公所需文件数据正在向“无纸化”快速过度,许多企业都引入了电子文档管理系统来提升工作效率,其原理是将文档、图片、视频和音频等非结构化数据以电子数据的形式存储在云服务器上,每一个工作人员都是电子文档管理系统的一个用户,他们可以在系统上进行一系列对数据的操作,包括但不限于上传、下载、分享等。这种对数据的管理办法为日常工作带来便利的同时,数据安全问题也成为一个不可忽视的难题。
由于云服务器并不完全可信,当用户在云服务器上存储涉密数据时,数据会受到各种安全威胁,涉及数据的隐私、完整性和数据的认证。为了防止数据泄露,在用户上传数据前需对共享数据进行加密。但又会出现新的问题,数据加密之后,一次一密的加密分发又不便于数据在企业内高效的流转,如果采用相同的密钥又缺乏足够的安全性。
通过上述分析,现有技术存在的问题及缺陷为:
(1)由于云服务器并不完全可信,当用户在云服务器上存储涉密数据时,数据会受到各种安全威胁,包括数据的隐私、完整性和数据的认证。
(2)在用户上传数据前对共享数据进行加密,一次一密的加密分发不便于数据在企业内高效的流转,如果采用相同的密钥又缺乏安全性。
(3)当共享对象发生改变时系统需要重新加密数据会造成的资源消耗问题。
公开号为「CN111310222A」,名称为“文件加密方法”的专利申请公开了一种文件加密方法,包括以下步骤:读取待加密的文件,确定待加密的文件的大小;以所述大小为参数生成加密秘钥;将待加密的文件分为多个文件分块;读取一文件分块,使用所述加密秘钥对文件分块进行加密,生成加密分块,直至将所有文件分块加密完毕;将加密分块合并,生成加密文件,并将所述加密秘钥发送给文件加密方法调用者;由于采用了传统非对称密码算法加密加密密钥,因此当共享对象发送改变时,需要重新加密文件并再次发送,这样的处理会造成系统资源的浪费。
公开号为「CN114520747A」,名称为“一种以数据为中心的数据安全共享系统和方法”的专利申请公开了一种以数据为中心的数据安全共享系统和方法,采用多子链分层并行方式部署;包括:数据存储层,其被配置为:实现对数据的组织管理和加密存储;数据发布层,其被配置为:数据拥有端根据数据使用端的属性,设置数据访问控制策略,结合数据访问控制策略对数据进行加密,并在区块链中发布数据资源;数据控制层,其被配置为:在联盟链上设置用户身份子链、访问控制赋权子链、数据交易子链、数据检索子链、机器学习子链以及数据更新子链;以实现用户身份管理、访问控制、数据共享交易以及对密文数据的全文检索;由于采用了属性密码算法,因此当数据访问者的属性发生改变时,无法高效的做出应对,只能通过重新加密来应对此类问题,操作复杂、效率低下。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种用于实现云环境中加密文件共享的方法、系统、设备及介质,通过数据属主加密上传待分享文件到云服务器,针对指定用户和群体用户分享加密文件,构建可撤销与恢复的属性密码算法,通过国密算法SM4将文件加密后,利用属性加密算法对文件加密密钥加密,并将密文拼接存储至云服务器,能够实现高效密钥分发与加密文件的共享,具有较好的兼容性、安全性高、保证数据高效流转、操作简单、节约资源的特点。
一种用于实现云环境中加密文件共享的方法,包括以下步骤:
步骤1:上传加密非结构化数据;
步骤2:共享加密非结构化数据;
步骤3:构建支持用户属性可撤销和恢复的属性密码算法模型。
所述步骤1中的上传加密非结构化数据过程包括:
步骤1.1:数据属主向密钥管理服务器申请获取属性公钥,再从云服务器获取自身信息;
步骤1.2:数据属主本地随机生成一个比特序列,作为文件加密密钥k,通过国密算法SM4对文件进行加密处理,生成文件密文fc;
步骤1.3:数据属主将通过步骤1.1获得的属性公钥和自身信息,构建访问控制策略,构建的访问控制策略使用属性加密算法对文件加密密钥k加密,生成密钥密文kc1
步骤1.4:数据属主将文件密文fc和密钥密文kc1上传到云服务器的个人目录下,业务服务区将文件密文fc和密钥密文kc1拼接生成密文c1,数据属主将密文c1储存在云服务器中,kc1作为安全文件头。
步骤2中的共享加密非结构化数据过程包括:
当共享对象为指定用户时的共享加密文件过程包括:
步骤2.1.1:客户端A通过云服务器从密钥管理服务器中获取属性私钥,从云服务器中获取用户B--数据访问者以及通过步骤1得到的密文c1,用属性私钥解密通过步骤1得到的密文c1的安全文件头kc1,获得文件加密密钥k;
步骤2.1.2:客户端A通过用户B的信息构建访问控制树,通过访问控住树和属性公钥使用属性加密算法,加密经步骤2.1.1得到的密钥k后,生成密钥密文kc2,云服务器将kc2与文件密文fc拼接,生成密文c2后储存在云服务器中,kc2作为安全文件头;
步骤2.1.3:客户端B从云服务器获取到用户B的信息和经过步骤2.1.2得到的密文c2,从密钥管理服务器中获取属性私钥,从密文c2中提取安全文件头kc2,通过属性私钥使用属性解密算法对安全文件头kc2解密,得到文件加密密钥k;
步骤2.1.4:客户端B将通过步骤2.2.3得到的文件加密密钥k,使用对称密码算法对文件密文fc解密,得到分享文件明文;
当共享对象为一个群体(同一单位或同一部门)时,共享加密文件过程为:
步骤2.2.1:客户端A从云服务器中获取群体的公共属性;
步骤2.2.2:客户端A通过云服务器从密钥管理服务器中获取属性私钥,从云服务器中获取通过步骤1得到的密文c1,用属性私钥解密通过步骤1得到的密文c1的安全文件头kc1获得文件加密密钥k;
步骤2.2.3:客户端A通过步骤2.2.1得到的群体公共属性信息构建访问控制树,通过访问控住树和属性公钥使用属性加密算法,加密经步骤2.2.2得到的密钥k后,生成密钥密文kc3,通过云服务器将密钥密文kc3与文件密文fc拼接,生成密文c3后储存在云服务器中,kc2作为安全文件头;
步骤2.2.4:客户端B从云服务器获取到用户B的信息、经过步骤2.2.3得到的密文c3,从密钥管理服务器中获取属性私钥;若用户B的属性值达到用户A设置的阀值,则从密文c3中提取安全文件头kc2,通过属性私钥使用属性解密算法对安全文件头kc2解密,得到文件加密密钥k,通过文件加密密钥k使用对称密码算法对文件密文fc解密,得到分享文件明文;若用户B的属性值没有达到用户A设置的阀值,则云服务器提示用户B无权限查看文件的内容;
所述客户端A指上传待分享文件的用户所使用客户端,客户端B指接受待分享文件的用户所使用客户端,存在多个客户端B。
所述步骤3中的构建支持用户属性可撤销和恢复的属性密码算法模型的过程为:
步骤3.1初始化SetUp:初始化算法为随机算法,初始化生成系统公钥PK、系统主密钥MK;
步骤3.2撤销机构初始化:输入经过步骤3.1得到的系统公钥PK,作为输入参数,撤销机构会生成一个素数域P,以及为每个属性att计算tag,即map<att,tag>,tag是一个大素数,用于记录是否被撤销;
步骤3.3秘钥生成KeyGen:密钥管理服务器根据通过步骤3.1得到的系统公钥PK、系统主密钥MK和数据访问者提交的属性集合Su,为数据访问者生成与属性集合关联的用户秘钥UK,在素数域P中为用户申请一个素数prime,从素数域P中删除prime,保证不同用户获取的prime不一致,素数存入映射表map<userID,prime>中;
步骤3.4加密Encrypt:加密算法输入经过步骤3.1得到的系统公钥PK、待加密信息M、访问策略关联的访问控制树Ac-cp,输出基于属性加密的密文C;
所述的访问控制树是由根节点、非叶节点、叶节点构成的;若访问树有一节点x,子节点数就记为num_x阈值记为k_x;当x不是叶子节点,那么x在树中就表示为阈值关系(由num_x和k_x决定);当x是叶节点时,则会代表一个属性att;其中阈值关系:当num_x=k_x时,即“AND”;当k_x<num_x时,即“num_x个子节点需要满足k_x个的门限关系”表示为k_x/num_x,注意k_x=1时,表示为“OR”;
步骤3.5解密Decrypt:解密为确定化算法,由数据请求者执行;解密分为两个步骤,第一步:访问策略关联的访问控制树的叶子节点,令i=att(x),x标识策略关联的访问控制树的叶子节点,函数att(x)返回节x所对应的属性,所有i构成数据访问者的属性集合Su,算法获取该属性对应的撤销映射表map<att,tag>与用户素数映射表map<userID,prime>,得到tag与prime并计算tag%prime,若结果不为0,表明给用户未被撤销该属性,若为0,表示也被撤销,解密结束;第二步:当第一部验证通过后,算法输入UK、密文M,如果属性集合Su满足访问策略,算法可成功解密密文M。
所述构建支持用户属性可撤销和恢复的属性密码算法模型中用户属性撤销的具体过程为:
算法输入参数为att,属性对应的撤销值tag,用户以及用户对应的素数prime;当用户被撤销属性i时,密钥管理服务器分别从映射表map<userID,prime>和map<att,tag>中取出用户对应素数prime与tag,计算tag′=tag*prime,并更新撤销映射表map<att,tag>。
所述构建支持用户属性可撤销和恢复的属性密码算法模型中用户属性恢复的具体过程为:
算法输入参数为att,属性对应的撤销值tag,用户以及用户对应的素数prime,当用户重新拥有属性i时,密钥管理服务器分别从映射表map<userID,prime>和map<att,tag>中取出用户对应素数prime与tag,并计算tag′=tag/prime,并更新撤销映射表map<att,tag>。
所述文件加密的过程为:
用户选择待加密的本地文件,由浏览器随机生成安全随机数,长度符合国密算法SM4密钥长度,将随机数作为文件密钥,文件密钥通过属性加密算法加密得到文件密钥密文;本地文件使用国密算法SM4加密后得到文件密文,其中加密使用密钥为文件密钥;最后将文件密钥密文与文件密文拼接,生成新密文文件,上传到服务器。
一种用于实现云环境中加密文件共享的系统包括:
云服务器:为不完全可信实体,用于进行用户管理、访问控制树的生成、以及存储加密数据;
密钥管理服务器:为可信实体,用于生成系统主密钥、系统公钥和用户私钥;
数据属主模块:指待分享数据的所有者,用于对隐私数据进行加密、制定访问控制策略,并将加密后的密文数据上传到云服务器中;
数据访问者模块:指获得待分享数据的用户,用于根据用户私钥对密文进行解密以获得数据明文信息。
一种用于实现云环境中加密文件共享的设备,包括:
存储器:用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的一种用于实现云环境中加密文件共享的方法。
一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现一种用于云环境中加密文件共享的方法。
相对于现有技术,本发明的有益效果在于:
1.本发明采用的加密文件共享的方法包括数据属主加密上传待分享文件到云服务器、针对指定用户的分享、针对群体用户的共享结合可撤销与恢复的属性密码算法,因此具有能够实现高效密钥分发,具有提升加密文件共享方法中存在的密钥在传输过程中安全性较低、保证数据高效流转的特点。
2.本发明通过国密算法SM4将文件加密后,利用属性加密算法对文件加密密钥加密,将两者密文拼接存储到云服务器中,可以配合任何同步型网盘进行使用,因此具有较好的兼容性。
3.本发明是将文件以密文的形式存储在云服务器当中,因此解决了用户对隐私数据的保护以及共享需求,用户在本地计算机对数据进行加密,然后以密文的形式上传到云服务器中,只有满足用户设定属性集的用户才可以解密该隐私数据,提高了文件的安全性。
4.本发明通过属性密码算法实现了加密文件的密文的分享,因此保证了用户的隐私数据安全以及可共享性,降低了云提供商或第三方未经许可访问存储在云中的数据的风险。
5.本发明提供的支持用户属性可撤销和恢复的属性密码算法模型实现了可撤销与恢复功能,解决了共享对象发生改变时系统需要重新加密数据而地造成的资源消耗问题。
6.本发明采用了可撤销与恢复的属性密码算法,在企业文档管理系统中进行了初步实际应用研究,基于可撤销与恢复的属性密码算法在文件共享过程中有着较好的性能表现,对共享用户的退出或属性改变有着高效的处理能力,因此为企业内部文件共享提供重要支持,对企业“无纸化”办公提供有力保障。
7.本发明的技术方案采用了可撤销与恢复的属性密码算法,实现了对密文的分享,当共享对象发生改变时,只需撤销其相关属性即可,数据属主无需再次加密文件并分享,因此克服了通常认为当共享对象发送改变时,需要将文件重新加密并分发的这一技术偏见,节约了资源。
8.本发明中的一种用于实现云环境中加密文件共享的系统、设备及介质,用于实现一种用于实现云环境中加密文件共享的方法,因此能够实现高效密钥分发与加密文件的共享,具有较好的兼容性、安全性高、保证数据高效流转、操作简单、节约资源的特点。
附图说明
图1是本发明方法流程图。
图2是本发明的上传加密文件过程示意图。
图3是本发明共享用户为指定用户时的共享加密文件过程图。
图4是本发明共享用户为群体时的共享加密文件过程示意图。
图5是本发明属性加密实现过程示意图。
图6是本发明文件加密过程示意图。
具体实施方式
下面结合附图对本发明的工作原理作详细叙述。
参见图1:一种用于实现云环境中加密文件共享的方法,包括以下步骤:
步骤1:上传加密非结构化数据;
步骤2:共享加密非结构化数据过程;
步骤3:构建支持用户属性可撤销和恢复的属性密码算法模型。
参见图2,所述步骤1中的上传加密非结构化数据过程包括:
步骤1.1:数据属主向密钥管理服务器申请获取属性公钥,再从云服务器获取自身信息;获取的自身信息包括:数据属主的单位信息、部门信息、承担角色和用户ID;
步骤1.2:数据属主本地随机生成一个比特序列,作为文件加密密钥k,通过国密算法SM4对文件进行加密处理,生成文件密文fc;
步骤1.3:数据属主通过步骤1.1获得的属性公钥和自身信息构建,构建访问控制策略,构建的访问控制策略使用属性加密算法对文件加密密钥k加密,生成密钥密文kc1
步骤1.4:数据属主将文件密文fc和密钥密文kc1上传到云服务器的个人目录下,业务服务区将文件密文fc和密钥密文kc1拼接生成密文c1,将密文c1储存在云服务器中,kc1作为安全文件头。
所述步骤2中共享加密文件过程包括:
参见图3,当共享对象为指定用户时共享加密文件过程为:
步骤2.1.1:客户端A通过云服务器从密钥管理服务器中获取属性私钥,从云服务器中获取用户B--数据访问者的信息以及通过步骤1得到的密文c1,用属性私钥解密通过步骤1得到的密文c1的安全文件头kc1,获得文件加密密钥k;所述用户B信息是指被分享文件的用户的信息,包括单位信息、部门信息、承担角色,用户ID。
步骤2.1.2:客户端A通过用户B的信息构建访问控制树,通过访问控住树和属性公钥使用属性加密算法,加密经步骤2.1.1得到的密钥k后,生成密钥密文kc2,云服务器将kc2与文件密文fc拼接,生成密文c2后储存在云服务器中,kc2作为安全文件头;
步骤2.1.3:客户端B从云服务器获取到用户B的信息和经过步骤2.1.2得到的密文c2,从密钥管理服务器中获取属性私钥,从密文c2中提取安全文件头kc2,通过属性私钥使用属性解密算法对安全文件头kc2解密,得到文件加密密钥k;
步骤2.1.4:客户端B将通过步骤2.2.3得到的文件加密密钥k,使用对称密码算法对文件密文fc解密,得到分享文件明文;
其中,客户端A指上传待分享文件的用户所使用客户端,客户端B指接受待分享文件的用户所使用客户端;
参见图4,当共享对象为一个群体(同一单位或同一部门)时,共享加密文件过程为:
步骤2.2.1:客户端A从云服务器中获取群体的公共属性,(如:单位信息,部门信息,角色信息等),不再获取用户ID这一属性,当分享对象群体为同一单位时,只需获取单位信息;当对象群体为同一部门时,需要获取单位以及部门信息;当对象群体为同一单位或部门下特定(角色相同)成员时,需要获取单位、部门以及角色信息;
步骤2.2.2:客户端A通过云服务器从密钥管理服务器中获取属性私钥,从云服务器中获取通过步骤1得到的密文c1,用属性私钥解密通过步骤1得到的密文c1的安全文件头kc1获得文件加密密钥k;
步骤2.2.3:客户端A通过步骤2.2.1得到的群体公共属性信息构建访问控制树,通过访问控住树和属性公钥使用属性加密算法,加密经步骤2.2.2得到的密钥k后,生成密钥密文kc3,通过云服务器将密钥密文kc3与文件密文fc拼接生成密文c3后储存在云服务器中(与共享给指定用户不同,云服务器会为每一个单位、部门提供公共目录,此时密文c3存储在对应的单位或部门的公共目录下),其中kc2作为安全文件头;
步骤2.2.4:客户端B从云服务器获取到用户B的信息、经过步骤2.2.3得到的密文c3,从密钥管理服务器中获取属性私钥;若用户B的属性值达到用户A设置的阀值,则从密文c3中提取安全文件头kc2,通过属性私钥使用属性解密算法对安全文件头kc2解密,得到文件加密密钥k,通过文件加密密钥k使用对称密码算法对文件密文fc解密,得到分享文件明文;若用户B的属性值没有达到用户A设置的阀值,则云服务器提示用户B无权限查看文件的内容。
其中,客户端A指上传待分享文件的用户所使用客户端,客户端B指接受待分享文件的用户所使用客户端。即此时存在多个客户端B。
参见图5,所述所述步骤3中的构建支持用户属性可撤销和恢复的属性密码算法模型的过程为:
3.1初始化SetUp:初始化算法为随机算法,初始化生成系统公钥PK、系统主密钥MK;
3.2撤销机构初始化:输入经过步骤3.1得到的系统公钥PK,作为输入参数,撤销机构会生成一个素数域P,以及为每个属性att计算tag,即map<att,tag>,tag是一个大素数,用于记录是否被撤销;
3.3秘钥生成KeyGen:密钥管理服务器根据通过步骤3.1得到的系统公钥PK、系统主密钥MK和数据访问者提交的属性集合Su,为数据访问者生成与属性集合关联的用户秘钥UK,在素数域P中为用户申请一个素数prime,从素数域P中删除prime,保证不同用户获取的prime不一致,素数存入映射表map<userID,prime>中;
3.4加密Encrypt:加密算法输入经过步骤3.1得到的系统公钥PK、待加密信息M、访问策略关联的访问控制树Ac-cp,输出基于属性加密的密文C;
所述的访问控制树:访问树是一种用于隐藏源数据密钥的结构。只有符合访问树的条件,才能解出其中的秘密值;所述的访问树是由根节点、非叶节点、叶节点构成的;
访问树Ac-cp,将子节点数记为num_x阈值记为k_x,对于根节点,其num_x=2,k_x=2,表示为“AND”;对于左子树根节点,其num_x=3,k_x=2,表示为“2/3”;左子树其余节点为叶子节点,直接表示属性cryptlogy、attack、route;对于右子树根节点,其num_x=2,k_x=1,所以表示为“OR”;右子树其余节点为叶子节点,直接表示属性doctor、master。
3.5解密Decrypt:解密为确定化算法,由数据请求者执行;解密分为两个步骤,第一步:访问策略关联的访问控制树的叶子节点,令i=att(x),x标识策略关联的访问控制树的叶子节点,函数att(x)返回节x所对应的属性,所有i构成数据访问者的属性集合Su,算法获取该属性对应的撤销映射表map<att,tag>与用户素数映射表map<userID,prime>,得到tag与prime并计算tag%prime,若结果不为0,表明给用户未被撤销该属性,若为0,表示也被撤销,解密结束;第二步:当第一部验证通过后,算法输入UK、密文M,如果属性集合Su满足访问策略,算法可成功解密密文M;如图中数据访问者1,其拥有属性doctor、attack与cryptlogy构成属性集合Su1,默认其属性都没有被撤销,即tag%prime!=0,并且属性集合Su1可以验证通过访问控制树Ac-cp,因此数据访问者1可以顺利解密。对于数据访问者2,其拥有属性master、analye与cryptlogy构成属性集合Su2,默认其属性都没有被撤销,即tag%prime!=0,但是访问控制树Ac-cp的左子树阈值为“2/3”,Su2中只有一个属性cryptlogy符合条件,故没有达到阈值,无法解密。
用户属性撤销:算法输入参数为att,属性对应的撤销值tag,用户以及用户对应的素数prime。当用户被撤销属性i时,密钥管理服务器分别从映射表map<userID,prime>和map<att,tag>中取出用户对应素数prime与tag,并计算tag′=tag*prime,并更新撤销映射表map<att,tag>。
用户属性恢复:算法输入参数为att,属性对应的撤销值tag,用户以及用户对应的素数prime,当用户重新拥有属性i时,密钥管理服务器分别从映射表map<userID,prime>和map<att,tag>中取出用户对应素数prime与tag,并计算tag′=tag/prime,并更新撤销映射表map<att,tag>。
参见图6,所述文件加密的过程为:
用户选择待加密的本地文件,由浏览器随机生成安全随机数,长度符合国密算法SM4密钥长度,将随机数作为文件密钥,文件密钥通过属性加密算法加密得到文件密钥密文;本地文件使用国密算法SM4加密后得到文件密文,其中加密使用密钥为文件密钥;最后将文件密钥密文与文件密文拼接,生成新密文文件,上传到服务器。
一种用于实现云环境中加密文件共享的系统包括:
云服务器:为不完全可信实体,可以进行用户管理、访问控制树的生成、以及存储加密数据;其中访问控制树用于属性加密过程;
密钥管理服务器:为可信实体,用于生成系统主密钥、系统公钥、用户私钥等;
数据属主模块:指待分享数据的所有者,对隐私数据进行加密、制定访问控制策略,并将加密后的密文数据上传到云服务器中;
数据访问者模块:是指想要获得待分享数据的用户,根据用户私钥对密文进行解密以获得数据明文信息。
一种用于实现云环境中加密文件共享设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行用于执行所述计算机程序时实现所述的一种用于实现云环境中加密文件共享的方法。
所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器也可以是任何常规的处理器等,所述处理器是所述一种用于实现云环境中加密文件共享的设备的控制中心,利用各种接口和线路连接整个一种用于实现云环境中加密文件共享的设备的各个部分。
所述处理器执行所述计算机程序时实现上述一种用于实现云环境中加密文件共享的方法的步骤,例如:上传加密非结构化数据;共享加密非结构化数据;构建支持用户属性可撤销和恢复的属性密码算法模型;实现了所述一种用于云环境中加密文件的共享。
或者,所述处理器执行所述计算机程序时实现上述系统中各模块的功能,例如:云服务器:为不完全可信实体,用于进行用户管理、访问控制树的生成、以及存储加密数据;密钥管理服务器:为可信实体,用于生成系统主密钥、系统公钥和用户私钥;数据属主模块:指待分享数据的所有者,用于对隐私数据进行加密、制定访问控制策略,并将加密后的密文数据上传到云服务器中;数据访问者模块:指获得待分享数据的用户,用于根据用户私钥对密文进行解密以获得数据明文信息;输出得到所述一种用于实现云环境中加密文件共享的结果。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成预设功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序在所述一种用于实现云环境中加密文件共享的设备中的执行过程。例如,所述计算机程序可以被分割成云服务器、密钥管理服务器、数据属主模块及数据访问者模块,各模块具体功能如下:云服务器:为不完全可信实体,用于进行用户管理、访问控制树的生成、以及存储加密数据;密钥管理服务器:为可信实体,用于生成系统主密钥、系统公钥和用户私钥;数据属主模块:指待分享数据的所有者,用于对隐私数据进行加密、制定访问控制策略,并将加密后的密文数据上传到云服务器中;数据访问者模块:指获得待分享数据的用户,用于根据用户私钥对密文进行解密以获得数据明文信息,输出得到所述一种用于实现云环境中加密文件共享的结果。
所述一种用于实现云环境中加密文件共享的设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述一种用于实现云环境中加密文件共享的设备可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,上述是一种用于实现云环境中加密文件共享的设备的示例,并不构成对一种用于实现云环境中加密文件共享的设备的限定,可以包括比上述更多的部件,或者组合某些部件,或者不同的部件,例如所述一种用于实现云环境中加密文件共享的设备还可以包括输入输出设备、网络接入设备、总线等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种用于实现云环境中加密文件共享的设备的各种功能。
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种用于云环境中加密文件共享的方法的步骤。
所述一种用于实现云环境中加密文件共享的系统集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
本发明实现上述一种用于实现云环境中加密文件共享的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述种用于实现云环境中加密文件共享的方法的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或预设中间形式等。
所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。
本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (9)

1.一种用于实现云环境中加密文件共享的方法,其特征在于,包括以下步骤:
步骤1:上传加密非结构化数据;
步骤2:共享加密非结构化数据,包括以下步骤:
当共享对象为指定用户时的共享加密文件过程包括:
步骤2.1.1:客户端A通过云服务器从密钥管理服务器中获取属性私钥,从云服务器中获取用户B--数据访问者以及通过步骤1得到的密文c1,用属性私钥解密通过步骤1得到的密文c1的安全文件头kc1,获得文件加密密钥k;
步骤2.1.2:客户端A通过用户B的信息构建访问控制树,通过访问控住树和属性公钥使用属性加密算法,加密经步骤2.1.1得到的密钥k后,生成密钥密文kc2,云服务器将kc2与文件密文fc拼接,生成密文c2后储存在云服务器中,kc2作为安全文件头;
步骤2.1.3:客户端B从云服务器获取到用户B的信息和经过步骤2.1.2得到的密文c2,从密钥管理服务器中获取属性私钥,从密文c2中提取安全文件头kc2,通过属性私钥使用属性解密算法对安全文件头kc2解密,得到文件加密密钥k;
步骤2.1.4:客户端B将通过步骤2.2.3得到的文件加密密钥k,使用对称密码算法对文件密文fc解密,得到分享文件明文;
当共享对象为一个群体(同一单位或同一部门)时,共享加密文件过程为:
步骤2.2.1:客户端A从云服务器中获取群体的公共属性;
步骤2.2.2:客户端A通过云服务器从密钥管理服务器中获取属性私钥,从云服务器中获取通过步骤1得到的密文c1,用属性私钥解密通过步骤1得到的密文c1的安全文件头kc1获得文件加密密钥k;
步骤2.2.3:客户端A通过步骤2.2.1得到的群体公共属性信息构建访问控制树,通过访问控住树和属性公钥使用属性加密算法,加密经步骤2.2.2得到的密钥k后,生成密钥密文kc3,通过云服务器将密钥密文kc3与文件密文fc拼接,生成密文c3后储存在云服务器中,kc2作为安全文件头;
步骤2.2.4:客户端B从云服务器获取到用户B的信息、经过步骤2.2.3得到的密文c3,从密钥管理服务器中获取属性私钥;若用户B的属性值达到用户A设置的阀值,则从密文c3中提取安全文件头kc2,通过属性私钥使用属性解密算法对安全文件头kc2解密,得到文件加密密钥k,通过文件加密密钥k使用对称密码算法对文件密文fc解密,得到分享文件明文;若用户B的属性值没有达到用户A设置的阀值,则云服务器提示用户B无权限查看文件的内容;
所述客户端A指上传待分享文件的用户所使用客户端,客户端B指接受待分享文件的用户所使用客户端,存在多个客户端B;
步骤3:构建支持用户属性可撤销和恢复的属性密码算法模型。
2.根据权利要求1所述的一种用于实现云环境中加密文件共享的方法,其特征在于,所述步骤1中的上传加密非结构化数据过程包括:
步骤1.1:数据属主向密钥管理服务器申请获取属性公钥,再从云服务器获取自身信息;
步骤1.2:数据属主本地随机生成一个比特序列,作为文件加密密钥k,通过国密算法SM4对文件进行加密处理,生成文件密文fc;
步骤1.3:数据属主将通过步骤1.1获得的属性公钥和自身信息,构建访问控制策略,构建的访问控制策略使用属性加密算法对文件加密密钥k加密,生成密钥密文kc1
步骤1.4:数据属主将文件密文fc和密钥密文kc1上传到云服务器的个人目录下,业务服务区将文件密文fc和密钥密文kc1拼接生成密文c1,数据属主将密文c1储存在云服务器中,kc1作为安全文件头。
3.根据权利要求1所述的一种用于实现云环境中加密文件共享的方法,其特征在于,所述步骤3中的构建支持用户属性可撤销和恢复的属性密码算法模型的过程为:
步骤3.1初始化SetUp:初始化算法为随机算法,初始化生成系统公钥PK、系统主密钥MK;
步骤3.2撤销机构初始化:输入经过步骤3.1得到的系统公钥PK,作为输入参数,撤销机构会生成一个素数域P,以及为每个属性att计算tag,即map<att,tag>,tag是一个大素数,用于记录是否被撤销;
步骤3.3秘钥生成KeyGen:密钥管理服务器根据通过步骤3.1得到的系统公钥PK、系统主密钥MK和数据访问者提交的属性集合Su,为数据访问者生成与属性集合关联的用户秘钥UK,在素数域P中为用户申请一个素数prime,从素数域P中删除prime,保证不同用户获取的prime不一致,素数存入映射表map<userID,prime>中;
步骤3.4加密Encrypt:加密算法输入经过步骤3.1得到的系统公钥PK、待加密信息M、访问策略关联的访问控制树Ac-cp,输出基于属性加密的密文C;
所述的访问控制树是由根节点、非叶节点、叶节点构成的;若访问树有一节点x,子节点数就记为num_x阈值记为k_x;当x不是叶子节点,那么x在树中就表示为阈值关系(由num_x和k_x决定);当x是叶节点时,则会代表一个属性att;其中阈值关系:当num_x=k_x时,即“AND”;当k_χ<num_x时,即“num_x个子节点需要满足k_x个的门限关系”表示为k_x/num_x,注意k_x=1时,表示为“OR”;
步骤3.5解密Decrypt:解密为确定化算法,由数据请求者执行;解密分为两个步骤,第一步:访问策略关联的访问控制树的叶子节点,令i=att(x),x标识策略关联的访问控制树的叶子节点,函数att(x)返回节x所对应的属性,所有i构成数据访问者的属性集合Su,算法获取该属性对应的撤销映射表map<att,tag>与用户素数映射表map<userID,prime>,得到tag与prime并计算tag%prime,若结果不为0,表明给用户未被撤销该属性,若为0,表示也被撤销,解密结束;第二步:当第一部验证通过后,算法输入UK、密文M,如果属性集合Su满足访问策略,算法可成功解密密文M。
4.根据权利要求3所述的一种用于实现云环境中加密文件共享的方法,其特征在于,所述构建支持用户属性可撤销和恢复的属性密码算法模型中用户属性撤销的具体过程为:
算法输入参数为att,属性对应的撤销值tag,用户以及用户对应的素数prime;当用户被撤销属性i时,密钥管理服务器分别从映射表map<userID,prime>和map<att,tag>中取出用户对应素数prime与tag,计算tag′=tag*prime,并更新撤销映射表map<att,tag>。
5.根据权利要求3所述的一种用于实现云环境中加密文件共享的方法,其特征在于,所述构建支持用户属性可撤销和恢复的属性密码算法模型中用户属性恢复的具体过程为:
算法输入参数为att,属性对应的撤销值tag,用户以及用户对应的素数prime,当用户重新拥有属性i时,密钥管理服务器分别从映射表map<userID,prime>和map<att,tag>中取出用户对应素数prime与tag,并计算tag′=tag/prime,并更新撤销映射表map<att,tag>。
6.根据权利要求2所述的一种用于实现云环境中加密文件共享的方法,其特征在于,所述文件加密的过程为:
用户选择待加密的本地文件,由浏览器随机生成安全随机数,长度符合国密算法SM4密钥长度,将随机数作为文件密钥,文件密钥通过属性加密算法加密得到文件密钥密文;本地文件使用国密算法SM4加密后得到文件密文,其中加密使用密钥为文件密钥;最后将文件密钥密文与文件密文拼接,生成新密文文件,上传到服务器。
7.基于权利要求1至6任一项所述的一种用于实现云环境中加密文件共享的方法的系统,其特征在于,包括:
云服务器:为不完全可信实体,用于进行用户管理、访问控制树的生成、以及存储加密数据;
密钥管理服务器:为可信实体,用于生成系统主密钥、系统公钥和用户私钥;
数据属主模块:指待分享数据的所有者,用于对隐私数据进行加密、制定访问控制策略,并将加密后的密文数据上传到云服务器中;
数据访问者模块:指获得待分享数据的用户,用于根据用户私钥对密文进行解密以获得数据明文信息。
8.一种用于实现云环境中加密文件共享的设备,其特征在于,包括:
存储器:存储权利要求1-6任一项所述的一种用于实现云环境中加密文件共享的方法的计算机程序,为计算机可读取的设备;
处理器,用于执行所述计算机程序时实现权利要求1-6任一项所述的一种用于实现云环境中加密文件共享的方法。
9.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现权利要求1-6任一项所述的一种用于云环境中加密文件共享的方法。
CN202310139560.4A 2023-02-21 2023-02-21 一种用于实现云环境中加密文件共享的方法、系统、设备及介质 Active CN116074110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310139560.4A CN116074110B (zh) 2023-02-21 2023-02-21 一种用于实现云环境中加密文件共享的方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310139560.4A CN116074110B (zh) 2023-02-21 2023-02-21 一种用于实现云环境中加密文件共享的方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN116074110A CN116074110A (zh) 2023-05-05
CN116074110B true CN116074110B (zh) 2024-03-19

Family

ID=86169737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310139560.4A Active CN116074110B (zh) 2023-02-21 2023-02-21 一种用于实现云环境中加密文件共享的方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN116074110B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682069A (zh) * 2016-11-14 2017-05-17 湖南工业大学 用户可控的数据检索方法及数据存储方法、终端、系统
CN108322447A (zh) * 2018-01-05 2018-07-24 中电长城网际系统应用有限公司 云环境下的数据共享方法及系统、终端和云服务器
CN109818757A (zh) * 2019-03-18 2019-05-28 广东工业大学 云存储数据访问控制方法、属性证书颁发方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9733849B2 (en) * 2014-11-21 2017-08-15 Security First Corp. Gateway for cloud-based secure storage
US11451523B2 (en) * 2019-02-28 2022-09-20 Nxtkey Corporation Methods and systems for secure sharing of data between user devices using a proxy re-encryption key (PRE)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682069A (zh) * 2016-11-14 2017-05-17 湖南工业大学 用户可控的数据检索方法及数据存储方法、终端、系统
CN108322447A (zh) * 2018-01-05 2018-07-24 中电长城网际系统应用有限公司 云环境下的数据共享方法及系统、终端和云服务器
CN109818757A (zh) * 2019-03-18 2019-05-28 广东工业大学 云存储数据访问控制方法、属性证书颁发方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《一种基于国密算法的云数据加密方案研究》;陈庄,齐锋,叶成荫;《信息科技》;20180705;第4卷(第7期);全文 *
Mariia Pleskach ; Viktor Krasnoshchok ; Olena Orliuk ; Valentyna Pleskach ; Yaroslav Melnyk.《Mechanisms for Encrypting Big Unstructured Data: Technical and Legal Aspects》.《2021 11th International Conference on Advanced Computer Information Technologies (ACIT)》.2021,全文. *

Also Published As

Publication number Publication date
CN116074110A (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
Yang et al. Provable data possession of resource-constrained mobile devices in cloud computing
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
US20140281520A1 (en) Secure cloud data sharing
US20130061035A1 (en) Method and system for sharing encrypted content
JP2008061197A (ja) 暗号化装置、復号装置、情報システム、暗号化方法、復号方法及びプログラム
CN106302411A (zh) 基于Windows平台的支持文件加密的安全云存储方法及系统
US10116442B2 (en) Data storage apparatus, data updating system, data processing method, and computer readable medium
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
Ye et al. Controllable keyword search scheme supporting multiple users
Lee et al. A secure index management scheme for providing data sharing in cloud storage
Shyamambika et al. Attaining integrity, secured data sharing and removal of misbehaving client in the public cloud using an external agent and secure encryption technique
Khan et al. SSM: Secure-Split-Merge data distribution in cloud infrastructure
JP6599066B1 (ja) 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム
Thilakanathan et al. Secure multiparty data sharing in the cloud using hardware-based TPM devices
CN113468545A (zh) 文件加解密方法、装置及系统
CN116074110B (zh) 一种用于实现云环境中加密文件共享的方法、系统、设备及介质
US20220360429A1 (en) Location-key encryption system
Nagendran et al. Hyper Elliptic Curve Cryptography (HECC) to ensure data security in the cloud
Yasmin et al. Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds
JP6320943B2 (ja) 鍵共有装置、鍵共有システム、鍵共有方法、プログラム
Mohammadi et al. A consumer-centered security framework for sharing health data in social networks
Joshi et al. DATA DELETION USING NON-RETRIEVABLE BIT SEQUENCE OVERWRITING APPROACH IN CLOUD STORAGE
Karani et al. Secure File Storage Using Hybrid Cryptography
JP7350220B2 (ja) 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant