一种通用的异构加密云间的数据共享方法

文档序号:8415614阅读:630来源:国知局
一种通用的异构加密云间的数据共享方法
【技术领域】
[0001] 本发明属于计算机安全技术领域,更具体地,涉及一种通用的异构加密云间的数 据共享方法。
【背景技术】
[0002] 在现有的云存储技术中,数据存储在用户不可控的云端,为了保护敏感数据的安 全性与隐私性,通常会采用数据加密的方法来保护数据的安全。常用的对称加密方案存在 安全性问题,其中,加密数据的密钥只有一个,收发双方都使用同样的密钥对数据进行加密 和解密,这就要求解密方事先必须知道加密密钥,这样密钥的安全性就得不到保证,因此对 称加密体制不适于分布式文件存储系统。因此,为了保证云端数据的保密性与隐私性,加 密云存储系统通常需要使用公钥密码体制(非对称加密体制)来加密用户的数据。目前, 公钥密码体制类型繁多,主流的有基于证书加密体制(Certificate-BasedEncryption, 简称CBE)、基于身份加密体制(Identity-BasedEncryption,简称IBE)、基于属性加密 体制(Attribute-BasedEncryption,简称ABE)和无证书加密体制(Certificateless Encryption,简称CLE) 〇
[0003] 代理重加密(proxyre-encryption,以下简称PRE)是一种密文间的转换机制,是 由Blaze等人在1998年的欧洲密码学年会上提出的,并由Ateniese等人在2005年的网络 和分布式系统安全研讨会议和2007年的美国计算机学会计算机与通信安全会议上给出了 规范的形式化定义。在PRE中,一个半可信代理方通过代理授权人A产生的转换密钥RK把 用授权人A的公钥PKA加密的密文转化为用被授权人(Delegate)B的公钥PKB加密的密文, 在这个过程中,代理方得不到数据的明文信息,从而降低了数据泄露风险。而这两个密文所 对应的明文是一样的,使授权人A和被授权人B之间实现了数据共享。PRE应用在云存储系 统中,可以在保证用户数据安全性和隐私性的前提下,提高用户共享数据的灵活性。PRE是 对公钥加密体制的扩展,因此相应的PRE也有多种类型,CB-PRE、IB-PRE、AB-PRE和CL-PRE。 [0004] 不同的云存储系统很可能会采用不同的PRE方案,那么系统内部的用户之间共享 数据会非常方便,而不同的PRE加密云存储系统之间的数据共享会存在问题。由于不同的PRE方案之间的密文一般是不能相互转化的,因此存在异构体制的数据共享问题。针对不 同公钥加密体制之间的密文转换,目前存在一些技术尝试解决这样的问题。2007年Matsuo 在"Proxyre-encryptionsystemsforidentity-basedEncryption"一文中提出了混合 代理重加密的概念,在其文章中提出的方案则解决了ElGamal类型的CBE到BB-IBE的密文 转换。接着Matsuo的方案,又有IBE至CBE、ABE至IBE、CLE至CBE的混合代理重加密方 案。此类的混合代理重加密方案能够使得使用不同公钥加密体制或者相同体制不同方案的 系统之间的密文共享变得更加方便。但是,目前已有的方法或技术都是针对具体特别的密 码方案进行转换,而且都需要对原加密云存储系统做或多或少的改变,并不能够完全解决 目前存在的异构加密云存储系统间的密文共享问题,并且在实际应用中不能很好的部署。

【发明内容】

[0005] 针对现有技术的以上缺陷或改进需求,本发明提供一种通用的异构加密云间的数 据共享方法,来实现各种类型加密云之间的密文共享。本发明采用临时公私钥的方法实现 了通用的异构加密云存储之间的密文数据的代理重加密方案,异构的加密云存储可以是应 用了不同类型的加密体制或者是相同加密体制但不同的密码方案,而且最大程度的降低了 对原有加密云系统的改动,从而提高了实用性。
[0006] 本发明提供一种通用的异构加密云间的数据共享方法,包括以下步骤:
[0007] 步骤1两个异构加密云系统a、0各自运行其系统初始化算法,分别生成相应的 公开参数、秘密参数对(MPa,MSa)和(MPp,MSp),其中,MP表示主公开参数;MS表示主秘密 参数;并选取对称加密算法(K,SE,SD)作为用户数据加密算法,其中,K表示对称密钥空间; SE和SD分别表示对称加密和解密算法;
[0008] 步骤2所述a、0系统各自的密钥生成中心为其系统内部的用户分发公私钥对 (PK,SK),其中,PK表示用户的公钥;SK表示用户的私钥;
[0009] 步骤3所述0系统内第一用户为明文数据M生成会话对称密钥k,运行对称加密 算法加密所述明文数据M得到密文数据CA>1,运行加密算法生成所述会话对称密钥k对应的 密钥密文CA,2,然后将所述密文数据CA>1和所述密钥密文CA,2上传至云端存储;
[0010] 步骤4判断所述密文数据CA>1是自取或是共享,若所述0系统内第一用户自己取 用所述密文数据CA>1则执行步骤5,否则执行步骤6 ;
[0011] 步骤5所述0系统内第一用户从所述云端下载所述密文数据CA>1和所述密钥密 文CA,2,运行解密算法得到所述会话对称密钥k,再运行对称解密算法解密所述密文数据CA, i得到所述明文数据M;
[0012] 步骤6判断接收方与所述0系统内第一用户是否在同一系统中,若是则执行步骤 7,否则执行步骤8;
[0013] 步骤7所述0系统内第一用户首先运行重加密密钥生成算法生成重加密密钥 RKP.并将其发送至所述云端;再由所述云端运行重加密算法生成重加密密钥密文C' A; 所述接收方从所述云端取回所述0系统内第一用户的共享数据,运行重加密密 文解密算法得到所述会话对称密钥k,再运行对称解密算法解密所述密文数据CA>1得到所 述明文数据M;
[0014] 步骤8若接收方为所述a系统内第一用户,为所述a系统内第一用户生成临时 公私钥(PKt,SKt)并生成系统间重加密密钥Hy,其中,PKt表示临时公钥;SKt表示临时私 钥;
[0015] 步骤9所述云端解析所述系统间重加密密钥RKw得到临时重加密密钥 RKp.A+PKt,运行重加密算法得到重加密密钥密文C',将系统间重加密密文{c',ca}发送给 所述a系统内第一用户;
[0016] 步骤10所述a系统内第一用户获取到所述重加密密文{c',Ca},先解析得到临 时密钥密文ca,运行所述a系统的解密算法得到所述临时私钥SKt,再运行所述0系统的 重加密密文解密算法得到所述会话对称密钥k,最后运行对称解密算法解密所述密文数据 CA>1得到所述明文数据M。
[0017] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效 果:
[0018] (1)异构加密云数据共享的通用性。将此方案应用在现有系统中时,该系统采用的 无论是何种代理重加密方案,用户需要安全共享其数据给系统外部用户时,只要该接收用 户所在系统是采用的公钥密码体制,均可实现这一数据共享操作;
[0019] (2)方案部署的便捷性。由于本技术方案在扩展原有PRE加密存储系统时不需要 对原有正在运行的系统中的参数或者数据做修改,最大限度的保持了原有代理加密云存储 系统的优势,因此在部署此技术方案时具有很强的便捷性。
【附图说明】
[0020] 图1为本发明通用的异构加密云间的数据共享方法的流程图;
[0021] 图2为本发明系统间重加密密钥生成的交互流程图。
【具体实施方式】
[0022] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0023] 图1所示为本发明通用的异构加密云间的数据共享方法的流程图,具体包括以下 步骤:
[0024]步骤1系统初始化。在本发明实施例中有两个加密云系统a、|3,其中,系统a 例如采用基于无证书的代理重加密方案CL-PRE,由算法(Setupa,PartialSKGena,PKGena, SKGena,Enca,Dec-1a,RKa,ReEnca,Dec-2a)组成,各算法分别为方案初始化、部分私钥生 成、公钥生成、私钥生成、加密、原始解密、重加密密钥生成、重加密、重加密密文解密;系统 0例如采用基于身份的代理重加密方案IB-PRE,由算法(Setupp,Extracp,Encp,Dec-lp, RKP,ReEncp,Dec-2P)组成,各算法分别为方案初始化、密钥生成、加密、原始解密、重加 密密钥生成、重加密、重加密密文解密。a、0两个系统各自运行系统初始化算法(例如 Setup(lk)算法)并分别生成相应的公开参数、秘密参数对(MPa,MSa)和(MPp,MSp),其中, MP表示主公开参数;MS表示主秘密参数;并选取对称加密算法(K,SE,SD)作为用户数据加 密算法,其中,K表示对称密钥空间;SE和SD分别表示对称加密和解密算法。
[0025]步骤2密钥分发。a、|3系统各自的密钥生成中心(KeyGeneratingCenter,以 下简称KGC)运行Extrac(MPX,MSX,auxx)算法为其系统内部的用户分发公私钥对(PK,SK), 其中,PK表示用户的公钥;SK表示用户的私钥;aux是用户的辅助信息(例如:身份信息、属 性信息,对于传统代理重加密则是随机数等);x={a,0 }。详细如下:用户A向所在系统 0的密钥分发机构KGCe提交自己的身份信息IDA作为公钥,KGCe运行Extrac^算法为其 生成私钥3心,则其公私钥对为(IDa,SKa)。类似地,0系统中用户B获取其公私钥对(IDb, SKb)。用户C向所在系统a的密钥分发机构KGCa提交自己的身份信息ID。,KGCa运行算 法PartialSKGena为其生成部分私钥DK。,用户C再选取一个主公开参数
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1