[发明专利]一种高效的可追责且可撤销的属性基加密方法在审

专利信息
申请号: 202110207130.2 申请日: 2021-02-24
公开(公告)号: CN113328850A 公开(公告)日: 2021-08-31
发明(设计)人: 吴怡;张维;秦志光 申请(专利权)人: 电子科技大学
主分类号: H04L9/08 分类号: H04L9/08;H04L29/06;H04L29/08;G16H10/60
代理公司: 暂无信息 代理人: 暂无信息
地址: 611731 四川省成*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 高效 可追责 撤销 属性 加密 方法
【权利要求书】:

1.一种高效的可追责且可撤销的属性基加密方法,其特征在于:

a)该方案解决了两种秘钥滥用问题:(1)半可信权威机构将密钥重分发给未授权用户,(2)授权用户向未授权用户公开密钥。而本方案既能追溯恶意用户又能追责权威并且支持任意单调访问结构。

b)为保证系统的公正性,我们给出了一名公开审计者,他被用来对用户的恶意行为做公正的裁决。

c)部分外包加密。为了减少客户端的计算消耗,我们将一些繁重的加密计算外包给半可信云服务器,大大降低了数据拥有者对于数据加密的计算开销。

d)此外,为了避免用户或系统权威的不当行为给系统带来的二次安全威胁,同时解决用户离开系统的问题,我们基于中国剩余定理实现用户撤销。

2.根据权利要求1所述的可追责且可撤销的属性基加密方法,其特征在于,所述方法的具体步骤包括:

1)系统初始化(System Initialization,包含一个算法)

该阶段共有一个实体参与,系统权威AT,系统权威执行系统建立算法,负责生成系统的公开参数和主密钥。

a)系统建立算法(Setup):输入(λ,V,U)-输出(pp,msk)

该算法由AT执行,输入一个安全参数λ,λ从自然数集中选取,全局属性集V,系统中的数据使用者集合U,输出系统的公开参数(pp)、系统的主密钥(msk)。

2)秘钥生成阶段(Key Generation,包含一个算法)

该阶段共有两个实体参与,分别是系统权威AT和数据使用者DU。为保证私钥的安全性,系统权威和数据使用者共同执行秘钥生成算法,生成用户私钥。

a)秘钥生成算法(KeyGen):输入(pp,msk,S,id)-输出(skid)

该算法由AT和DU交互,共同执行,输入系统公开参数pp,系统主密钥msk,DU的属性集以及DU的身份id,输出该用户的私钥skid

3)加密阶段(Encryption包含1个算法)

在这一阶段,涉及到的角色有个人病历数据拥有者(DO)。DO主要负责明文消息进行加密并发送至个人健康病历云服务器(CS)。

a)加密(Encryption):输入(pp,(M,ρ),m)-输出(CT)

该算法由DO执行,输入系统公开参数pp、LSSS访问控制矩阵(M,ρ)(其中M是l×n的矩阵,并且ρ是从M的每一行Mj到一个属性ρ(j)的映射)和明文消息m,输出密文CT。DO将加密之后的密文CT上传至云服务器CS。

4)解密(Decryption包含1个算法)

在这一阶段,涉及到的角色有病历数据使用者(DU)。DU主要负责解密,将从云服务器CS接收到的密文CT,先进行判断自己的属性集是否满足该密文CT的访问结构,如果满足,才能进行密文解密,得到明文信息。

a)解密(Decryption):输入(pp,S,skid,CT)-输出(M/⊥)

该算法由DU执行,输入系统公开参数pp、属性集S,DU的私钥skid,密文CT,输出消息数据M。

5)密钥完整性检验(Key sanity check,包含1个算法)

在这一阶段,涉及的角色为系统权威AT。它主要负责检验秘钥skid的形式是否完好。

a)密钥完整性检验(Key sanity check):输入(pp,skid)-输出(1/0)

该算法由AT执行,输入系统公开参数pp、DU的私钥skid,输出检验结果1/0。

6)追溯(Trace,包含1个算法)

在这一阶段,涉及的角色为系统权威AT。它主要负责根据泄露的私钥信息追溯到可能泄露该秘钥的数据使用者DU。

a)追溯(Trace):输入(msk,pp,skid)-输出

该算法由AT执行,输入系统主私钥msk,系统公开参数pp以及DU的私钥skid,输出恶意用户的id或者失败标识

7)撤销(Revocation,包含1个算法)

在这一阶段,涉及的角色有个人健康病历云服务器(CS),它更新密文并从密文中移除被撤销用户的id,以至于被撤销的用户不能解密任何密文。

a)撤销(Revocation):输入(id)-输出(C,b)

该算法由CS执行,输入被撤销用户的id,输出更新后的密文C以及b的值。

8)公开审计(Public auditing,包含1个算法)

在这一阶段,涉及两个角色,分别是数据使用者DU和公开审计者PA。如果一个用户被抓住,但是他否认自己泄露了私钥,声称被冤枉。此时PA执行审计算法来判断这个用户是否有罪。

a)审计(Audit):输入-输出(guilty/innocent)

该算法由AT和DU共同执行,输入系统公共参数pp,用户私钥skid以及追溯算法(Trace)追溯到的用户私钥输出guilty/innocent。

3.根据权利要求2所述的可追责且可撤销的属性基加密方法,其特征在于,所述方法的具体算法包括:

我们的方案由八个阶段构成:系统初始化阶段,密钥生成阶段,加密阶段,解密阶段,密钥完整性检验阶段,叛徒追溯阶段,用户撤销阶段,公开审计阶段;共涉及到五个角色:系统权威(Authority,AT);个人健康病历云服务器(CS),用于加密并存储病人数据;数据拥有者(Data owner,DO),即病人;数据使用者(Data user,DU),即负责诊断治疗的医生;公开审计者(Public auditor,PA),负责对用户或权威的恶意行为作出公正裁决。

1)系统初始化(System Initialization包含两个算法)

该阶段共有一个实体参与,系统权威AT,系统权威执行系统建立算法,负责生成系统的公开参数和主密钥。

a)系统建立算法(Setup):输入(λ,V,U)-输出(pp,msk)

该算法由AT执行,输入一个安全参数λ,λ从自然数集中选取,全局属性集V,系统中的数据使用者集合U,输出系统的公开参数(pp)、系统的主密钥(msk)。

步骤1:系统权威AT定义一个双线性映射其中N=p1p2p3,pi分别是群G和的素数阶,而g,g3分别是子群和的生成元。

步骤2:中央可信授权中心AT在Zp上均匀随机地选取四个元素α,β,γ,u,Zp表示一个p阶有限域。同时,随机地选择vi∈Zp对应于每一个属性i∈V。此外,在上随机选取一个元素v。

步骤3:AT随机选择两个素数p和q,满足p≠q,|p|=|q|并且gcd(pq,(p-1)(q-1))=1。让n=pq,π=lcm(p-1,q-1),Q=π-1 mod n并且g1=(1+n)。

步骤4:让c=|U|,即c等于系统中用户的数量。为每一个用户DU随机选择一个素数θt(t∈[1,c])。

步骤5:最后,输出系统公开参数和主密钥msk=(p,q,α,g3,{θt}t∈[1,c])。

2)秘钥生成阶段(Key Generation,包含一个算法)

该阶段共有两个实体参与,分别是系统权威AT和数据使用者DU。为保证私钥的安全性,系统权威和数据使用者共同执行秘钥生成算法,生成用户私钥。

a)秘钥生成算法(KeyGen):输入(pp,msk,S,id)-输出(skid)

该算法由AT和DU交互,共同执行,输入系统公开参数pp,系统主密钥msk,DU的属性集以及DU的身份id,输出该用户的私钥skid

步骤1:对于用户DU来说,DU随机地选择h∈Zp并计算RU=gh,然后DU将gh,自己的id以及属性集S发送给系统权威AT。DU利用AT进行一个交互式的g相对于RU的零知识证明。

步骤2:对于系统权威AT来说,AT检验该零知识证明是否有效。如果检验失败,则AT中断交互。否则,AT执行下一步。

步骤3:AT在Zp上均匀随机地选取两个元素a,r并在上随机地选择R,R0,R′0,{Ri}i∈S

步骤4:身份为id属性集为S的用户的初始秘钥skpri被计算为:

接着,AT将(a,skpri,{θt}t∈[1,c])发送给DU。

步骤5:DU检查以下等式是否成立。

1

2

3存在x∈S,使得

如果所有的等式都成立,DU继续和AT进行交互并且计算然后,DU计算解密密钥如下:

否则,DU中断与AT的交互。

3)加密阶段(Encryption包含1个算法)

在这一阶段,涉及到的角色有个人病历数据拥有者(DO)。DO主要负责明文消息进行签加密并发送至个人健康病历云服务器(CS)。

a)加密(Encryption):输入(pp,(M,ρ),m)-输出(CT)

该算法由DO执行,输入系统公开参数pp、LSSS访问控制矩阵(M,ρ)(其中M是l×n的矩阵,并且ρ是从M的每一行Mj到一个属性ρ(j)的映射)和明文消息m,输出密文CT。DO将加密之后的密文CT上传至云服务器CS。

步骤1:DO随机地选择向量其中s是被共享的随机秘密。然后为A的每一行Aj随机地选择rj∈ZN,选择并为所有的用户Ut∈U计算

步骤2:建立如下方程组:

以上方程组唯一的解如下:

b=b1·M′1·M1+b2·M′2·M2+…+bc·M′c·Mc

其中

步骤3:密文ct被计算如下:

4)解密(Decryption包含1个算法)

在这一阶段,涉及到的角色有病历数据使用者(DU)。DU主要负责解密,将从云服务器CS接收到的密文CT,先进行判断自己的属性集是否满足该密文CT的访问结构,如果满足,才能进行密文解密,得到明文信息。

a)解密(Decryption):输入(pp,S,skid,CT)-输出

该算法由DU执行,输入系统公开参数pp、属性集S,DU的私钥skid,密文CT,输出消息数据M。

步骤1:输入解密密钥skid,s和密文CT,如果用户拥有的属性集不能满足密文CT的访问结构(M,ρ),那么这个算法输出⊥。否则,计算满足等式∑ρ(j)∈SωjMj=(1,0,…,0)的分布在的ω的值。

步骤2:计算以下等式的值

5)密钥完整性检验(Key sanity check,包含1个算法)

在这一阶段,涉及的角色为系统权威AT。它主要负责检验秘钥skid的形式是否完好。

a)密钥完整性检验(Key sanity check):输入(pp,skid)-输出(1/0)

该算法由AT执行,输入系统公开参数pp、DU的私钥skid,输出检验结果1/0。

密钥完整性检验包含以下检验步骤:

步骤1:首先,检查skid的形式是否为(S,K,T,L,L1,RU,hid,{Ki}i∈S,θt)以及

步骤2:检查等式e(L1,g)=e(L,gβ)是否成立。

步骤3:检查等式是否成立。

步骤4:是否存在x∈S,使得等式e(Vx,L1LT)=e(Kx,g)成立。

如果skid通过了密钥完整性检验,这个算法输出1,否则输出0。

6)追溯(Trace,包含1个算法)

在这一阶段,涉及的角色为系统权威AT。它主要负责根据泄露的私钥信息追溯到可能泄露该秘钥的数据使用者DU。

a)追溯(Trace):输入(msk,pp,skid)-输出

该算法由AT执行,输入系统主私钥msk,系统公开参数pp以及DU的私钥skid,输出恶意用户的id或者失败标识

步骤1:如果密钥完整性检验算法输出为0,它表示skid不是一个标准的形式并且不值得被追溯。因此,追溯算法输出⊥。否则,它将执行以下的操作用来提取身份id。

步骤2:计算以下两个等式

7)撤销(Revocation,包含1个算法)

在这一阶段,涉及的角色有个人健康病历云服务器(CS),它更新密文并从密文中移除被撤销用户的id,以至于被撤销的用户不能解密任何密文。

a)撤销(Revocation):输入(id)-输出(C,b)

该算法由CS执行,输入被撤销用户的id,输出更新后的密文C以及b的值。

步骤1:随机选择一个整数并计算

步骤2:上述方程组的唯一解可被重新计算为

其中,对于所有的t∈[1,c]并且满足t′≠t,有

步骤3:CS更新密文:

b=b′

8)公开审计(Public auditing,包含1个算法)

当一个用户(身份为id,解密密钥为skid)被认为是一个恶意行为用户,即出于个人利益,将自己的解密密钥泄露给其他未授权用户,但是他声称他没有罪是被陷害的。在这种情况下,公开审计者PA需要来决定该用户是否有罪。在这一阶段,涉及两个角色,分别是数据使用者DU和公开审计者PA。如果一个用户被抓住,但是他否认自己泄露了私钥,声称被冤枉。此时PA执行审计算法来判断这个用户是否有罪。

a)审计(Audit):输入-输出(guilty/innocent)

该算法由AT和U共同执行,输入系统公共参数pp,用户私钥skid以及追溯算法(Trace)追溯到的用户私钥输出guilty/innocent。

步骤1:首先,用户DU将自己的解密密钥skid发送给公开审计者PA。如果密钥完整性检验算法输出0,则PA不继续。否则,PA继续执行下一步。

步骤2:PA检查如果它们相等,它意味着DU确实泄露解密密钥skid给其他人。因此,DU是有罪的,这个算法输出guilty。否则,输出innocent,这意味着DU是无罪的,是被系统冤枉了。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110207130.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top