发明名称 一种通用的异构加密云间的数据共享方法
摘要 本发明公开了一种通用的异构加密云间的数据共享方法,属于计算机安全技术领域。本发明包括:加密云存储系统内数据共享及异构加密云存储系统间数据共享。系统内数据共享,用会话密钥对数据加密,再用发送方的私钥加密会话密钥,云端使用用户授权的重加密密钥重加密会话密钥,最后将数据密文和重加密密文发送给接收方。系统间数据共享,首先为非发送端系统内的用户绑定临时身份,并生成对应的临时公私钥对,然后按照系统内共享步骤生成相应的重加密密文,再用接收方的公钥加密临时私钥,然后将已加密的临时私钥、重加密密文和数据密文发送给接收方,接收方用己方私钥解密得到临时私钥,再用临时私钥解密得到会话密钥,最后用会话密钥解密。
申请公布号 CN104735070A 申请公布日期 2015.06.24
申请号 CN201510136203.8 申请日期 2015.03.26
申请人 华中科技大学 发明人 金海;徐君;徐鹏;邹德清
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 廖盈春
主权项 一种通用的异构加密云间的数据共享方法,其特征在于,包括:步骤1两个异构加密云系统α、β各自运行其系统初始化算法,分别生成相应的公开参数、秘密参数对(MP<sub>α</sub>,MS<sub>α</sub>)和(MP<sub>β</sub>,MS<sub>β</sub>),其中,MP表示主公开参数;MS表示主秘密参数;并选取对称加密算法(K,SE,SD)作为用户数据加密算法,其中,K表示对称密钥空间;SE和SD分别表示对称加密和解密算法;步骤2所述α、β系统各自的密钥生成中心为其系统内部的用户分发公私钥对(PK,SK),其中,PK表示用户的公钥;SK表示用户的私钥;步骤3所述β系统内第一用户为明文数据M生成会话对称密钥k,运行对称加密算法加密所述明文数据M得到密文数据C<sub>A,1</sub>,运行加密算法生成所述会话对称密钥k对应的密钥密文C<sub>A,2</sub>,然后将所述密文数据C<sub>A,1</sub>和所述密钥密文C<sub>A,2</sub>上传至云端存储;步骤4判断所述密文数据C<sub>A,1</sub>是自取或是共享,若所述β系统内第一用户自己取用所述密文数据C<sub>A,1</sub>则执行步骤5,否则执行步骤6;步骤5所述β系统内第一用户从所述云端下载所述密文数据C<sub>A,1</sub>和所述密钥密文C<sub>A,2</sub>,运行解密算法得到所述会话对称密钥k,再运行对称解密算法解密所述密文数据C<sub>A,1</sub>得到所述明文数据M;步骤6判断接收方与所述β系统内第一用户是否在同一系统中,若是则执行步骤7,否则执行步骤8;步骤7所述β系统内第一用户首先运行重加密密钥生成算法生成重加密密钥RK<sub>β,A→B</sub>,并将其发送至所述云端;再由所述云端运行重加密算法生成重加密密钥密文C’<sub>A</sub>;所述接收方从所述云端取回所述β系统内第一用户的共享数据(C<sub>A,1</sub>,C’<sub>A</sub>),运行重加密密文解密算法得到所述会话对称密钥k,再运行对称解密算法解密所述密文数据C<sub>A,1</sub>得到所述明文数据M;步骤8若接收方为所述α系统内第一用户,为所述α系统内第一用户生成临时公私钥(PK<sub>t</sub>,SK<sub>t</sub>)并生成系统间重加密密钥RK<sub>A→C</sub>,其中,PK<sub>t</sub>表示临时公钥;SK<sub>t</sub>表示临时私钥;步骤9所述云端解析所述系统间重加密密钥RK<sub>A→C</sub>得到临时重加密密钥RK<sub>β,A→PKt</sub>,运行重加密算法得到重加密密钥密文C’,将系统间重加密密文{C’,C<sub>α</sub>}发送给所述α系统内第一用户;步骤10所述α系统内第一用户获取到所述重加密密文{C’,C<sub>α</sub>},先解析得到临时密钥密文C<sub>α</sub>,运行所述α系统的解密算法得到所述临时私钥SK<sub>t</sub>,再运行所述β系统的重加密密文解密算法得到所述会话对称密钥k,最后运行对称解密算法解密所述密文数据C<sub>A,1</sub>得到所述明文数据M。
地址 430074 湖北省武汉市洪山区珞喻路1037号