一种基于Chaum-Perdesen的云存储安全数据共享方法与流程

文档序号:17863981发布日期:2019-06-11 23:04阅读:477来源:国知局

本发明属于信息安全技术领域,尤其适用于保护用户的云端医疗保险数据,为一种基于chaum-perdesen的云存储安全数据共享方法。



背景技术:

在云技术创新发展趋势的有力推动下,云计算、云存储的数据共享技术成为允许文件拥有者方便存储,用户方便访问的有前途的一种技术。然而,在存储、共享数据时,文件拥有者越来越关心存储的隐私和数据的可靠访问。医疗保健数据涵盖了人类的生活的方方面面,它包含了各种数据,如医疗记录信息,医疗保险信息,健康档案,基因信息,医学实验和科研数据等。医学实验数据,科研数据和保险信息不仅涉及到数据所有者的隐私,还影响医药行业的发展趋势,甚至影响国家安全。因此,在医疗保健数据的开发过程和应用中,有必要为数据源认证和医疗数据类型提供有针对性的合规保证。

当一个人将她的医疗保险数据存储在云中以备不时之需(突然死亡,保险索赔等)时,应该认真考虑允许谁访问该数据。在此过程中,由于医疗数据的多样性和复杂性,在数据存储过程中不仅需要考虑数据本身的机密性,还需要考虑实际情况的特殊性。

在基于云的医疗服务场景中,患者(数据所有者)将上述重要个人信息(如电子病历、健康档案、咨询信息和财务信息)以密文形式存储在云中,将文件的访问权限分成多个副本,并将它们分配给不同类型的组,如家庭组、朋友组、医务人员组、财务信息管理组,其中每个组都由多个用户组成。当患者(数据所有者)遇到紧急情况或意外死亡而需要提取上述信息的证明时,即使患者无法提供,也可由一组用户来提供。在这个过程中,为了保证信息提取的公平性,关键是要允许少数用户的权限失效,防止欺诈者侵犯个人利益以及不诚实的用户提供虚假权限。



技术实现要素:

为了克服上述现有技术的缺点,达到上述情景的需求,本发明的目的在于提供一种基于chaum-perdesen的云存储安全数据共享方法,将对称加密和密钥共享技术相结合,可验证且可欺诈识别,数据所有者可以自己指定授权用户以确保个人数据的安全;根据用户的类型进行分组管理,以便在访问数据时可以进行监督,从而实现权限的分散管理;此外,根据数据的有效性和公平性,可以彻底地识别出任何干扰正常数据访问的行为,以确保系统的稳定性使其正常运行。本发明采用门限密钥共享技术和chaum-pedersen零知识证明方法,具有可靠、安全的特点,可在解决互联网个人健康环境中的上述医疗数据管理方面起到基础性、启发性的作用。

为了实现上述目的,本发明采用的技术方案是:

一种基于chaum-perdesen的云存储安全数据共享方法,其特征在于:

将与重要数据不相关的保密信息隐藏,将重要数据加密并存储在云中;

将授权用户对应重要数据的类型,分为若干组;

每份重要数据对应一组秘密份额,每组秘密份额由多个不同所有者的秘密份额组成,每个秘密份额使用shamir的门限秘密共享方法,分配到对应的一个授权用户组,为每个授权用户组指定一个解密密钥,每个授权用户组的授权用户根据该组的解密密钥分配其私钥,即该组解密密钥的子秘钥,当正确地重构解密密钥时,才能解密重要数据的相应秘密份额,从而实现在组之间相互监督下解密重要数据。

所述数据为医疗保险数据,所述与重要数据不相关的保密信息指所有者的个人信息,包括姓名、年龄、工作家庭、住址等;所述重要数据指所有者的与医疗保险直接相关的数据,包括电子病历、健康记录、咨询信息和财务信息,所述授权用户的身份与重要数据的类型对应,包括家庭组、朋友组、医务人员组和财务信息管理组。

所述与重要数据不相关的保密信息通过bloom过滤器等方法隐藏。

与现有的数据共享方案相比,该方案可提供如下方面的安全性和效率优势:

1)云服务器可以利用数据文件标签辅助记录搜索,并且无法获取任何关于所有者数据或所有者个人保密数据的有意义的信息。

2)可以访问数据文件的用户由数据拥有者授权,数据拥有者可以验证所有者发送的解密密钥。即使来自授权用户的某些解密密钥不正确,系统仍然可以正常运行而不影响数据的可靠性。

3)可以提前识别出提供伪解密密钥的不诚实用户,而不泄漏诚实用户的解密密钥。因此,可以在这些用户组的监督下安全且正确地解密数据文件。

附图说明

图1是本发明云环境中安全共享数据保护服务的框架。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

如图1所示,本发明提出了一个有效,可靠和集成的互联网医疗数据共享方案,以确保语义安全和有效利用云存储上的所有者数据。通过bloom过滤器等方法隐藏患者的与重要数据不相关的保密信息,如姓名,年龄,工作,家庭住址等,而重要数据文件,如电子病历,健康记录,咨询信息和财务信息则被加密并存储在云中。

为了实现在组之间相互监督下解密秘密数据文件,解密密钥用于在云解密用户中分配权限,这些授权用户按照他们在协议中注册时的身份被分成若干组,例如家庭组,朋友组,医务人员组,财务信息管理组等。每个数据文件对应着一组秘密份额,每个秘密份额通过使用shamir的门限秘密共享方法,分配到对应着的一个用户组,每个组指定一个解密密钥,每个组的授权用户根据该组的解密密钥分配其私钥,即该组解密密钥的子秘钥,当正确地重构解密密钥时,就可以成功地解密数据文件的相应秘密份额。

首先介绍理解本发明所需具备的预备知识:

1、密钥共享方案

密钥共享方案将密钥分为多个部分,每个部分称为共享密钥,并且在拥有所需数量的共享密钥时可以恢复该密钥。

共享阶段:为了将密钥共享,发布者通过构造不同的多项式生成不同授权用户的共享密钥,然后通过专用通道将共享密钥发送给每个授权用户。

重构阶段:只要满足给定的条件,这些授权用户的任何子集都可以使用多项式插值重构出密钥。

2、门限加密密码体制

在我们的协议中,采用门限密钥共享体制来设计加密方案,该密码体制由以下五种算法组成:

密钥生成:以安全参数k、解密组的数量n(n≥1)、门限值t(1≤t≤n)和随机字符串x作为输入,并输出公钥pk、一组共享密钥{y1…yn}及一组验证密钥v,{v1…vn}。

加密:将公钥pk,随机字符串x和明文作为输入,并输出密文ct。

部分解密:将公钥pk,密文ct,指数i(1≤i≤n)和相应的共享密钥yi作为输入,并输出相应的解密份额ci和证明份额解密有效的证明pi。

验证:将密文ct,指数i(1≤i≤n),验证密钥v,{v1…vn},解密份额ci及其证明pi作为输入。如果证明有效则输出1,否则输出⊥。

结合:将公钥pk和有效解密组t的任一子集作为输入,并输出明文

3、bloom过滤器

bloom过滤器是一种随机数据存储结构,由一组hash函数bf(x)=(bh1(x),…,bhk(x))组成。bloom过滤器用于在访问过程中隐藏属性的值或属性的部分信息。在该方案中,bloom过滤器用于匿名存储数据文件,通过验证输出(bh1(x),…,bhk(x))与输入x是否匹配,对搜索到的标签进行验证。

4、离散对数等式证明

chaum-pedersen证明协议可以用来证明离散对数的等式。设p,q为两个大素数,且q|p-1,将gq记为的q阶子群,为模p的非零整数环,g和h是gq的两个生成元。在不需要告知具体公式的情况下,就可以证明y≡gx(modp)和t≡hx(modp)的指数值x是相同的,其证明工作如下:

-证明者随机选择一个值r∈zp,然后将u≡gr(modp)和v≡hr(modp)发送给验证者

-将随机值e∈zp发送回

-计算z=r+xemodp并将z发送给

-如果gz≡uye(modp)且hz≡vte(modp),则接受证明;否则就拒绝证明。其可靠性在于两个接受的对话过程具有相同的第一步,诚实的验证者零知识是成立的,因为对于任意随机值e∈zp和z∈zp,生成的数组(gzy-e,hzt-e,e,z)是可靠的,其值的分布无法由随机值预测。

基于以上预备知识,本发明执行过程如下:

1、系统初始化

(1)公钥生成器选择一个阶数为素数p的群g1,g1的生成元g和抗碰撞哈希函数h。

(2)采用分组函数将想要共享所有者重要数据的用户集合u按不同身份划分为n个不同的组,如家庭组、朋友组、医务人员组、法律人员组等,表示为u1,…,un并且满足u=u1∪…∪un。即,将一个用户集合中的用户idi划分成其中定义为k∈{1,…,n},则用户组也简称为uk,其中的用户数是nk;

(3)数据所有者在tk-1次的zp上选择随机数sk和随机多项式其中zp表示模p整数环,每组uk中ak,0=sk,k=1~n。

2、密钥生成

idi表示一个用户集合中的用户,通过分组函数将其划分在组uk中,其中的用户数是nk。为标记组uk中的用户idi,需要为组uk中的用户重新编号,用户idi为组uk中的第j个用户,则表示为idjk。

(1)数据所有者为组uk中的每个用户idjk使用一组多项式fk(x)计算其共享密钥yj|k=fk(xjk),其中是与用户相关联的公共值。

(2)数据所有者首先计算然后令验证密钥v=g,接着计算其他验证密钥:其中j=1,2,…,nk,最后公开的值。g为g1的已知生成元,sk为所选择的随机数,ak,i为随机多项式fk(x)中已知系数。

(3)接下来,数据所有者通过专用信道将共享密钥发送给相应的授权用户

(4)在用户idjk接收到共享密钥skjk之后,首先验证所接收的共享密钥skjk是否有效,即验证其中tk-1为最高次数,

(5)验证共享密钥skjk之后,用户将skjk作为其共享密钥。

3、数据文件生成

(1)是要加密的数据,数据所有者选择随机数rk∈zp(k=1,…,n)和随机指数{sk|k∈{1,…,n}},加密数据文件为g1表示密文的第1项,密文第n项记为gn,密文第n+1项记为c0。

(2)将所有者的信息表示为(valueowner),该文件的标签为tagowner=h(valueowner)。然后用来检索和匹配的标签bfowner=bf(tagowner)可以通过bloom过滤器来构造。

(3)所有者将其加密数据文件cp匿名上传到云服务器。每个存储的数据文件格式如下所示:

4、部分解密算法

ak是组uk的权限子集,是n个组的n个权限子集的并集。

(1)这n个权限集合的授权用户计算他们想要解密的数据文件的标签tagowner=h(valueowner),然后将其发送到云服务器。

(2)云服务器接收由用户提供的标签tagowner并验证bfowner=bf(tagowner)。如果满足,则将密文ct发送回用户。

(3)对已给定密文ct,每个授权用户解密它的一部分。授权用户idjk使用他的解密密钥yjk来部分解密同时生成一个非交互式证明pjk来证明cjk和vjk已经被提升到相同的权限。

5、数据文件解密

授权用户集ak收到由云服务器发送相应的数据文件:g1,…,gn,c0。

(1)来自这些权限集ak的授权用户使用验证密钥检查等式如果非交互式证明pjk有效,则提供解密密钥的是诚实用户

(2)如果授权用户中没有不诚实的用户,则这些用户可以恢复数据

为了简化,记

在图1所示方案中,为了确保个人数据的安全性,数据所有者可以自己指定授权用户。另外,为效便捷地管理,根据用户的类型进行分组管理,以便在监督模式下访问数据,从而实现分散的权限管理机制。此外,由于数据的有效性和公平性,可以彻底地识别出任何干扰正常数据访问的行为,以确保系统的稳定性使其正常运行。

由此可见,本发明数据文件的安全性和可靠性可以得到充分的保障。该方案不仅灵活有效,而且能够实现语义安全特性。此外,该方案在不侵犯诚实者权利的情况下实现了对欺诈者的识别。与现有的欺诈者识别方法如rs码相比,本发明可以检测出每个不诚实的用户。效率分析表明,该方案计算成本低,带宽利用率低。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1