法律状态公告日
法律状态信息
法律状态
2019-02-22
授权
授权
2017-01-04
实质审查的生效 IPC(主分类):H04L29/06 申请日:20160624
实质审查的生效
2016-12-07
公开
公开
技术领域
本发明属于物理技术领域,更进一种涉及密码术技术领域中的一种基于不可区分混淆的云服务外包访问权限控制方法。本发明可应用于云服务外包中对云服务使用者进行有效的访问权限控制,授权中心和服务提供者可以共同完成对服务使用者密文的访问。
背景技术
云服务外包是服务提供商在自身计算或存储能力不足的情况下,借助于云服务器的强大的计算和存储能力使服务提供商能够进行安全的外包计算,从而能够将服务提供商的服务程序安全的部署到云服务器上。随着计算机的应用越来越广泛,软件或者服务开发者已经不再局限于某些专业的互联网公司,比如某些金融类,设计类等计算机资源欠缺的公司,设计了具备某种计算功能的程序,但由于自身资源和计算能力的局限性,无法完成该程序的计算,这些公司就需要将这些程序交给大型外包公司进行部署,那么这就可能会泄露该程序的敏感信息,以及使用该程序的用户的隐私信息。云服务外包技术能够更加合理地达到资源配置,节约社会成本,创造更多财富。如何在进行服务外包的同时,不会影响服务程序知识产权保护问题,同时不会泄露使用该程序的用户的输入和输出的任何信息,甚至用户的身份信息,是目前云服务外包的一个亟需解决的问题。
同济大学在其申请的专利“一种加密群签名的混淆方法”(公开号:104917617A,申请号:201510275377.2,申请日:2015年05月26日)中公开了一种加密群签名的混淆方法。该方法由群主构建签名群,获取主私钥和追踪密钥,信息接收者通过EKGen算法获取各自的公私钥,群主通过Enroll算法获取群内成员的签名追踪信息和与各自ID对应的签名密钥并将签名密钥发送给对应的群内成员,然后利用混淆算法将群成员的初始加密群签名算法及群成员签名密钥进行混淆处理,得到混淆后的加密群签名算法,然后就可以使用该混淆后算法进行信息秘密发送。该方法存在的不足之处是,首先该专利仅由完全可信的群主对群签名算法进行一次混淆,导致群主访问权限过大。其次,该专利仅由群主对群成员进行密钥分发,无法对群成员的访问权限进行更新,影响了群主对群成员访问权限的控制。最后,该专利只是对群签名算法进行了混淆,应用范围过于狭窄,不利于推广和使用。
发明内容
本发明的目的在于针对上述现有技术中,仅对群签名算法进行混淆的过程,无法保证现实生活中上述技术的普遍适用性,同时会导致现有技术的方法中,参与方无法进行访问权限更新的问题,提出了一种基于不可区分混淆的云服务外包访问权限控制方法。
本发明的思路是,首先由授权中心和服务提供商共同完成对用户的认证过程,然后由服务提供商和授权中心先后对云服务程序进行不可区分混淆计算,最后由授权中心将混淆后的程序部署到云服务器上,实现用户安全使用云服务程序的同时,保证了对用户密文进行有效访问权限控制,且不会导致访问权限的滥用。
本发明的实现的具体步骤如下:
(1)初始化:
(1a)授权中心任意选取一个有限域Fq,其中,q表示随机选取的大素数,将有限域Fq输入到伪随机生成器PRG,生成安全主密钥MSK,并秘密保存安全主密钥MSK;
(1b)授权中心选取安全Hash算法MD5,并公开安全Hash算法MD5;
(1c)授权中心公开有限域Fq,伪随机生成器RPG;
(2)身份注册:
(2a)用户向用户身份信息库申请身份注册,获得与用户身份信息库唯一对应的用户身份信息ID;
(2b)用户将用户身份信息ID提交给授权中心;
(2c)授权中心判断获取的用户身份信息ID与用户身份信息库是否匹配,若是,则执行步骤(3),否则,拒绝注册;
(3)密钥分发:
(3a)授权中心按照下式,计算匹配用户公钥:
pk=H(ID)
其中,pk表示匹配用户公钥,H表示安全Hash算法MD5操作,ID表示匹配用户身份信息;
(3b)授权中心按照下式,计算匹配用户私钥:
sk=MSK*H(ID)
其中,sk表示匹配用户私钥,MSK表示授权中心主密钥,*表示相乘操作,H表示安全Hash算法MD5操作,ID表示匹配用户身份信息;
(3c)授权中心将匹配用户公钥和匹配用户私钥发送给匹配用户;
(3d)匹配用户将匹配用户私钥秘密保存;
(3e)服务提供商在获取由授权中心分发的服务提供商初始私钥sk'和服务提供商初始公钥pk'后,将有限域Fq输入到伪随机生成器PRG中,生成随机数x1;
(3f)服务提供商计算服务提供商公钥和服务提供商私钥;
(3g)服务提供商将服务提供商公钥公开,将服务提供商私钥秘密保存;
(4)匹配用户认证:
(4a)匹配用户将匹配用户身份信息和匹配用户公钥提交给服务提供商;
(4b)服务提供商计算匹配用户身份标识;
(4d)服务提供商将匹配用户身份标识发送给匹配用户;
(4e)匹配用户收到匹配用户身份标识后,将匹配用户身份标识秘密保存;
(5)服务部署:
(5a)服务提供商自定义产生初始云服务电路,用Prog表示初始云服务电路;
(5b)服务提供商对初始云服务电路进行混淆操作,得到初步混淆后的云服务电路;
(5c)服务提供商将经服务提供商初步混淆后的云服务电路Prog'提交给授权中心;
(5d)授权中心对初步混淆后的云服务电路进行混淆操作,得到云服务电路;
(5e)授权中心将云服务电路Prog”部署到云服务器上;
(6)数据上传:
(6a)授权用户将有限域Fq输入到伪随机生成器PRG中生成会话密钥,授权用户秘密保存会话密钥;
(6b)授权用户计算授权用户密文;
(6c)授权用户将授权用户密文发送给云服务器;
(7)计算密文:
(7a)云服务器收到授权用户密文后,将授权用户密文输入到云服务电路Prog”中;
(7b)云服务电路Prog”按照下式,计算授权用户密文验证输出:
v=Verify(upk,Sig1)
其中,v表示授权用户密文验证输出,Verify表示基于身份签名技术IBS的验证操作,upk表示授权用户公钥,Sig1表示授权用户签名;
(7c)判断授权用户密文验证输出是否为1,若是,则执行步骤(7d),否则,拒绝服务并终止计算;
(7d)云服务电路Prog”计算授权用户密文,得到云服务输出的密文;
(7e)云服务电路Prog”将云服务输出的密文发送给授权用户;
(8)获取云服务输出:
(8a)授权用户按照下式,计算云服务输出:
r=Dec(k1,C2)
其中,r表示云服务输出,Dec表示AES安全对称解密操作,k1表示会话密钥,C2表示云服务输出的密文;
(8b)授权用户获得云服务输出;
(9)访问密文:
(9a)授权中心按照下式,计算会话密钥初始密文:
其中,C1”表示会话密钥初始密文,Dec表示AES安全对称解密操作,MSK表示授权中心主密钥,表示会话密钥密文;
(9b)授权中心将会话密钥初始密文发送给服务提供商;
(9c)服务提供商计算会话密钥初始密文,得到会话密钥;
(9d)服务提供商将会话密钥发送给授权中心;
(9e)授权中心计算云服务输出的密文,得到云服务输出;
(9f)授权中心计算授权用户数据的密文,得到授权用户明文。
与现有技术相比,本发明具有以下优点:
第一,由于本发明的服务部署先由服务提供商对初始云服务电路进行混淆操作,然后由授权中心对初步混淆后的云服务电路进行混淆操作,克服了现有技术中仅由完全可信的群主对群签名算法进行一次混淆这一不足,使得本发明解决了可信第三方权限过大带来的隐私保护问题,实现了更安全的隐私保护。
第二,由于本发明的匹配用户认证由服务提供商计算匹配用户身份标识,克服了现有技术仅由群主对群成员进行密钥分发这一不足,使得本发明解决了无法对群成员的访问权限进行更新这一问题,实现了灵活的访问控制。
第三,由于本发明的服务部署由服务提供商自定义产生初始云服务电路,克服了现有技术只是对群签名算法进行混淆这一不足,使得本发明解决了云服务应用范围过于狭窄这一问题,推广了云服务的使用范围。
附图说明
图1为本发明的流程图;
图2为本发明服务部署示意图;
图3为本发明数据上传和计算密文示意图;
图4为本发明获取云服务输出和访问密文示意图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,本发明的具体步骤如下。
步骤1,初始化。
授权中心任意选取一个有限域Fq,其中,q表示随机选取的大素数,将有限域Fq输入到伪随机生成器PRG,生成安全主密钥MSK,并秘密保存安全主密钥MSK,授权中心选取安全Hash算法MD5,并公开安全Hash算法MD5,授权中心公开有限域Fq,伪随机生成器RPG。
步骤2,身份注册。
用户向用户身份信息库申请身份注册,获得与用户身份信息库唯一对应的用户身份信息ID,用户将用户身份信息ID提交给授权中心,授权中心判断获取的用户身份信息ID与用户身份信息库是否匹配,若是,则执行步骤3,否则,拒绝注册。
步骤3,密钥分发。
授权中心按照下式,计算匹配用户公钥:
pk=H(ID)
其中,pk表示匹配用户公钥,H表示安全Hash算法MD5操作,ID表示匹配用户身份信息。
授权中心按照下式,计算匹配用户私钥:
sk=MSK*H(ID)
其中,sk表示匹配用户私钥,MSK表示授权中心主密钥,*表示相乘操作,H表示安全Hash算法MD5操作,ID表示匹配用户身份信息。
授权中心将匹配用户公钥和匹配用户私钥发送给匹配用户,匹配用户将匹配用户私钥秘密保存。
服务提供商在获取由授权中心分发的服务提供商初始私钥sk'和服务提供商初始公钥pk'后,将有限域Fq输入到伪随机生成器PRG中,生成随机数x1,服务提供商计算服务提供商公钥和服务提供商私钥,服务提供商将服务提供商公钥公开,将服务提供商私钥秘密保存。
步骤4,匹配用户认证。
匹配用户将匹配用户身份信息和匹配用户公钥提交给服务提供商,服务提供商计算匹配用户身份标识,服务提供商将匹配用户身份标识发送给匹配用户,匹配用户收到匹配用户身份标识后,将匹配用户身份标识秘密保存。
步骤5,服务部署。
服务提供商自定义产生初始云服务电路,用Prog表示初始云服务电路,服务提供商对初始云服务电路进行混淆操作,得到初步混淆后的云服务电路,服务提供商将经服务提供商初步混淆后的云服务电路Prog'提交给授权中心,授权中心对初步混淆后的云服务电路进行混淆操作,得到云服务电路,授权中心将云服务电路Prog”部署到云服务器上。
参照附图2,图2表示服务部署,图2中的初始云服务电路表示服务提供商自定义产生的初始云服务电路,图2中的初步混淆后云服务电路表示由服务提供商进行初步混淆后得到的初步混淆后云服务电路,将初步混淆后云服务电路提交给授权中心,图2中的云服务电路表示授权中心对初步混淆后的云服务电路进行混淆后得到云服务电路,然后由授权中心将云服务电路部署到云服务器上。
步骤6,数据上传。
授权用户将有限域Fq输入到伪随机生成器PRG中生成会话密钥,授权用户秘密保存会话密钥,授权用户计算授权用户密文,授权用户将授权用户密文发送给云服务器。
参照附图3中的授权用户数据上传阶段,授权用户数据上传阶段表示数据上传步骤,图3中的数据明文表示授权用户明文,图3中的会话密钥表示授权用户利用伪随机生成器PRG生成会话密钥,图3中的数据密文表示用会话密钥安全对称加密数据明文得到的数据密文,图3中的密钥密文表示授权用户生成的会话密钥密文,授权用户用户将数据密文和会话密钥密文一起发送到云服务器。
步骤7,计算密文。
云服务器收到授权用户密文后,将授权用户密文输入到云服务电路Prog”中,云服务电路Prog”按照下式,计算授权用户密文验证输出:
v=Verify(upk,Sig1)
其中,v表示授权用户密文验证输出,Verify表示基于身份签名技术IBS的验证操作,upk表示授权用户公钥,Sig1表示授权用户签名。
判断授权用户密文验证输出是否为1,若否,则拒绝服务并终止计算,若是,则执行下一步骤,云服务电路Prog”计算授权用户密文,得到云服务输出的密文,云服务电路Prog”将云服务输出的密文发送给授权用户。
参照附图3中的云服务器计算密文阶段,表示计算密文步骤,图3中的验证输出表示云服务器首先计算密文验证输出,并判断授权用户密文验证输出是否为1,若输出不为1,终止计算,若输出为1,进行下一步计算,图3中的云服务输出的密文表示由云服务电路计算得到的云服务输出的密文。
步骤8,获取云服务输出。
授权用户按照下式,计算云服务输出:
r=Dec(k1,C2)
其中,r表示云服务输出,Dec表示AES安全对称解密操作,k1表示会话密钥,C2表示云服务输出的密文。
授权用户获得云服务输出。
参照附图4中的授权用户获取云服务输出,表示获取云服务输出步骤,图4中的会话密钥表示授权用户秘密保存的会话密钥,授权用户利用会话密钥解密云服务输出的密文得到云服务输出,同时授权用户可以利用会话密钥解密授权用户数据密文。
步骤9,访问密文。
授权中心按照下式,计算会话密钥初始密文:
其中,C1”表示会话密钥初始密文,Dec表示AES安全对称解密操作,MSK表示授权中心主密钥,表示会话密钥密文。
授权中心将会话密钥初始密文发送给服务提供商,服务提供商计算会话密钥初始密文,得到会话密钥,服务提供商将会话密钥发送给授权中心,授权中心计算云服务输出的密文,得到云服务输出,授权中心计算授权用户数据的密文,得到授权用户明文。
参照附图4中的授权用户访问密文,表示访问密文,图4中的会话密钥密文表示授权中心得到的会话密钥密文,图4中授权中心首先计算会话密钥密文得到会话密钥初始密文,并将会话密钥初始密文发送给服务提供商,由服务提供商计算得到会话密钥,服务提供商将会话密钥发送给授权中心,授权中心就可以利用会话密钥解密得到云服务输出和授权用户数据明文。
机译: 使用不可区分的标识符转换进行代码混淆的装置和方法
机译: 使用不可区分的标识符转换进行代码混淆的装置和方法
机译: 使用不可区分的标识符转换进行代码混淆的装置和方法