著录项信息
专利名称 | 一种基于文件属性的密钥加密方法 |
申请号 | CN201210090277.9 | 申请日期 | 2012-03-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-08-01 | 公开/公告号 | CN102624522A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L9/28 | IPC分类号 | H;0;4;L;9;/;2;8查看分类表>
|
申请人 | 华中科技大学 | 申请人地址 | 湖北省武汉市洪山区珞喻路1037号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华中科技大学 | 当前权利人 | 华中科技大学 |
发明人 | 金海;唐勇;邹德清;羌卫中;徐鹏 |
代理机构 | 华中科技大学专利中心 | 代理人 | 朱仁玲 |
摘要
本发明公开了一种基于文件属性的密钥加密方法,包括:接收用户文件,根据用户文件生成属性集合、访问结构树、主密钥和公钥,随机生成对称密钥,使用对称密钥和对称加密算法加密用户文件,以得到数据密文,使用公钥和访问结构树加密对称密钥,以生成密钥密文,使用主密钥和属性集合生成与属性集合相关联的私钥,将密钥密文和数据密文发送给服务器存储,用户从服务器获取密钥密文和数据密文,用户用私钥解密密钥密文,以判断与私钥相关联的属性集合是否满足访问结构树,若满足则解密对称密钥,用户使用对称密钥解密数据密文,以得到明文数据。本发明通过对称加密算法加密数据,并基于属性加密来保护对称密钥的安全,实现了加密数据的高效安全访问。
1.一种基于文件属性的密钥加密方法,其特征在于,包括如下步骤:
(1)接收用户文件,根据所述用户文件生成属性集合S={s1,s2,…,sn}、访问结构树P、主密钥MK和公钥PK;访问结构树P用于描述一个访问控制策略,树的每个叶节点代表一个属性项,而每个内部节点代表一个关系函数,关系函数是与、或门限,PK=G0,g;MK=α
(β,g ),其中g是一个生成元,G0是生成元为g的素数阶群,GT是双线性映射群,α和β是两个随机生成的自然数;(2)随机生成一个对称密钥DEK,使用所述对称密钥DEK和对称加密算法加密所述用户文件,以得到数据密文;
(3)使用所述公钥PK和所述访问结构树P加密所述对称密钥DEK,以生成密钥密文CT;
其中s是一个随机产生的自然数,e是
双线性映射函数,双线性映射操作的结果跟DEK进行异或操作生成密文C;
(4)使用所述主密钥MK和所述属性集合S生成与所述属性集合相关联的私钥SK;
其中r是一个随机产生的自然数,j∈S指的
是对应集合S中的每个元素,rj是根据集合S的每个元素对应生成的一个随机自然数,D是对应访问树的根节点的密钥,gr和rj进行异或操作生成Dj,Dj对应的是每个叶节点的密钥,D和Dj一起构成了私钥SK;
(5)将所述密钥密文和所述数据密文发送给服务器存储;
(6)用户从所述服务器获取所述密钥密文和所述数据密文;
(7)用户用所述私钥SK解密所述密钥密文,以判断与所述私钥SK相关联的属性集合是否满足所述访问结构树P,若满足则解密所述对称密钥DEK;
(8)用户使用所述对称密钥DEK解密所述数据密文,以得到明文数据。
2.根据权利要求1所述的密钥加密方法,其特征在于,所述步骤(7)具体包括:对于所述访问结构树的每个叶子节点进行解密操作,然后递归的从下往上依次解密所述访问结构树的各个节点,直到解密根节点以得到所述DEK对称密钥为止。
3.根据权利要求1所述的密钥加密方法,其特征在于,所述对称加密算法为先进加密标准算法。
一种基于文件属性的密钥加密方法\n技术领域\n[0001] 本发明属于计算机安全领域,具体涉及一种基于文件属性的密钥加密方法。\n背景技术\n[0002] 在云存储中,由于数据处于用户不可控域中,为了保护敏感数据的隐私性,通常会先对数据进行加密来保护数据的安全。但同时又带来了新的挑战——由于分布式环境中解密方用户的不固定,数据文件类型和大小的多样性,使用传统的对称加密安全性不高,使用传统的公钥密码系统加密的效率不高。同时,用户为了保护共享数据的隐私性,他需要对密文实施访问控制策略,比如他可以定义某份绝密文件只有级别以上和有管理权限的人才可以访问的策略。传统的做法是将数据存储在用户信任的服务器上,服务器通过对每个用户进行认证来控制对文件的访问,但是传统的公钥加密实现的加密共享都是一对一的,即一个用户一个密钥,在多用户共享访问,同时解密用户不确定的情况下,解密密钥的安全是个棘手的问题,这样就很难实现文件的安全访问控制了。\n[0003] 在传统的对称加密体制中,加密数据使用的密钥只有一个,收发双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、加密效率高、加密数据不定长度。不足之处是,收发双方都必须使用同样的钥匙,且使用其他人不知道的惟一钥匙,这样密钥的安全性就得不到保证,因此对称加密体制在分布式文件存储系统上使用较为困难。\n[0004] 公钥加密体制(非对称加密体制)利用传统的对称密码体制来实现保密通信,通信的双方必须预先共享一个密钥,该密钥可以由一方选择好再通过安全的信道传输给另一方,也可以通过一个两方的密钥交换协议来获得。然而,利用公钥密码体制则不需要上述过程。它从根本上克服了对称密码在密钥分配、密钥传输上的问题。但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快,加密大文件时效率很低,不适合直接应用在分布式环境的文件加密中。\n[0005] 当前传统的公钥加密一般是基于证书的公钥加密体制,该加密机制需要一个关键的前提条件,即公钥确认问题。也就是说一个用户A必须确认他所使用的公钥就是用户B的公钥。一般在公钥密码体制中,该问题是通过在系统中引入一个可信第三方证书授权(Certificate Authority,简称CA)来解决的。该机构为系统中的每个用户发放公钥证书,因此在加密应用中CA需要大量的时间和存储空间来签发、存储用户的证书和公钥,而且用户验证证书也比较烦琐,应用在分布式存储系统上效率较低。\n发明内容\n[0006] 本发明的目的在于提供一种基于文件属性的密钥加密方法,其实现了公钥加密体制中的对称密钥封装,通过对称加密算法加密数据,并基于属性加密来保护对称密钥的安全,实现了加密数据的高效安全访问。\n[0007] 本发明是通过以下技术方案实现的:\n[0008] 一种基于文件属性的密钥加密方法,其特征在于,包括如下步骤:\n[0009] (1)接收用户文件,根据用户文件生成属性集合S={s1,s2,…,sn}、访问结构树P、主密钥MK和公钥PK;\n[0010] (2)随机生成一个对称密钥DEK,使用对称密钥DEK和对称加密算法加密用户文件,以得到数据密文;\n[0011] (3)使用公钥PK和访问结构树P加密对称密钥DEK,以生成密钥密文CT;\n[0012] (4)使用主密钥MK和属性集合S生成与属性集合相关联的私钥SK;\n[0013] (5)将密钥密文和数据密文发送给服务器存储;\n[0014] (6)用户从服务器获取密钥密文和数据密文;\n[0015] (7)用户用私钥SK解密密钥密文,以判断与私钥SK相关联的属性集合是否满足访问结构树P,若满足则解密对称密钥DEK;\n[0016] (8)用户使用对称密钥DEK解密数据密文,以得到明文数据。\n[0017] 步骤(7)具体包括:对于访问结构树的每个叶子节点进行解密操作,然后递归的从下往上依次解密访问结构树的各个节点,直到解密根节点以得到DEK对称密钥为止。\n[0018] 对称加密算法为先进加密标准算法。\n[0019] 和现有技术相比,本发明具有以下的优点和技术效果:\n[0020] (1)加密数据的高效性:使用对称加密算法来加密数据文件,算法效率很高,同时,基于属性的加密过程中,将对称密钥直接当成明文数据来加密,因此相对于原始的基于属性加密算法,减少了加密明文数据的乘法(异或)操作,因此降低了加密的时间复杂度,实现了高效的数据加密。\n[0021] (2)密文共享访问的灵活性:该加密算法将解密规则蕴含在加密算法之中,即通过文件访问结构树来描述一个访问控制策略,支持多种门限(与和或操作)的访问控制策略,私钥关联属性集来控制用户能否解密,实现了精细灵活的密文访问控制。而传统的文件加密访问控制需要频繁的密钥分发和管理。\n[0022] (3)密钥和数据的安全性:利用对称加密算法在支持数据多样性和不定长的优势,与基于属性加密实现的可证明安全的数据共享策略之间的优势结合。使用基于属性加密方法封装对称密钥,只有满足访问结构的用户才能解密密钥,保护了对称密钥的安全性,这样存储在服务器中的密文数据是安全的,密文数据只有符合属性要求的用户才能解密。\n附图说明\n[0023] 图1是本发明基于文件属性的密钥加密方法流程图。\n[0024] 图2示出本发明的应用实例。\n具体实施方式\n[0025] 下面结合附图和具体实施方式对本发明做进一步说明。\n[0026] 如图1所示,本发明方法包括以下几个步骤:\n[0027] (1)接收用户文件,根据用户文件生成属性集合S={s1,s2,…,sn}、访问结构树P、主密钥MK和公钥PK;\n[0028] 访问结构树用于描述一个访问控制策略,树的每个叶节点代表一个属性项,而每α\n个内部节点代表一个关系函数,关系函数是与、或门限。PK=G0,g;MK=(β,g ),其中g是一个生成元,G0是生成元为g的素数阶群,α和β是两个随机生成的自然数;\n[0029] (2)随机生成一个对称密钥DEK,使用该对称密钥DEK和先进加密标准(Advanced Encryption Standard,简称AES)对称加密算法加密用户文件,以得到数据密文;\n[0030] (3)使用公钥PK和访问结构树P加密对称密钥DEK,以生成密钥密文CT:CT=(P,αs\nC=DEK⊕e(g,g) ),其中s是一个随机产生的自然数,e是双线性映射函数,双线性映射操作的结果跟DEK进行异或操作生成密文C;\n[0031] (4)使用主密钥MK和属性集合S生成与属性集合相关联的私钥SK;\n[0032] SK=(D=g(α+r)/β,jεS:Dj=gr⊕rj),其中r是一个随机产生的自然数,jεS指的是对应集合S中的每个元素,rj是根据集合S的每个元素对应生成的一个随机自然数。\nr\nD是对应访问树的根节点的密钥,g和rj进行异或操作生成Dj,Dj对应的是每个叶节点的密钥,D和Dj一起构成了私钥SK;\n[0033] (5)将密钥密文和数据密文发送给服务器存储;\n[0034] (6)用户从服务器获取密钥密文和数据密文;\n[0035] (7)用户用私钥SK解密密钥密文,以判断与私钥SK相关联的属性集合是否满足访问结构树P,如果满足则解密对称密钥DEK,否则过程结束;解密对称密钥DEK的过程是:输入密文CT和私钥SK,对于访问结构树的每个叶子节点x进行解密操作Decrypt(CT,SK,x),然后递归的从下往上依次解密访问结构树的每个节点,直到解密根节点以得到DEK对称密钥为止;\n[0036] (8)用户使用对称密钥DEK解密数据密文,以得到明文数据。\n[0037] 图2是本发明密钥加密方法的一个应用实例,首先,接收某学校的机密文件,生成文件的属性集合{对象,类别,专业},并生成一个文件访问策略,即文件访问结构树结构:\n对象为在校学生,类别为全日制,专业位工科或者理科;随后,系统随机生成一个对称密钥,使用该对称加密生成文件的数据密文,使用基于文件属性的加密方法加密密钥生成密钥密文,并将所有的密文发送到服务器存储;其后,学生用户向服务器请求访问机密文件,获取密钥密文和数据密文;其后,学生用户使用自己的私钥解密密钥密文,解密成功即可得到对称密钥,否则结束操作;最后,学生用户使用对称密钥解密文件数据密文得到最终的明文数据文件。
法律信息
- 2022-03-11
未缴年费专利权终止
IPC(主分类): H04L 9/28
专利号: ZL 201210090277.9
申请日: 2012.03.30
授权公告日: 2015.08.19
- 2015-08-19
- 2012-09-26
实质审查的生效
IPC(主分类): H04L 9/28
专利申请号: 201210090277.9
申请日: 2012.03.30
- 2012-08-01
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-03-23
|
2010-08-24
| | |
2
| |
2010-08-18
|
2009-02-18
| | |
3
| |
2011-04-20
|
2010-12-10
| | |
4
| |
2011-11-16
|
2011-07-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |