本发明涉及网络通信中的数据认证技术领域,尤其涉及一种女巫攻击防御方法及其系统。
背景技术:
近年来,可穿戴智能设备日益普及,云计算发展趋于成熟,移动互联网用户规模逐年增长,大数据价值加速凸显,医疗服务由信息化向移动化、网络化发展,移动医疗网络逐渐形成。其中,可穿戴设备采集居民健康信息,并依托云平台对采集数据进行分析与处理,后提供至医院、医生进行健康监测与临床诊断。移动医疗网络能改善患者的就医体验,提高医生的诊断与治疗效率,降低医疗服务的社会成本,进而有效改善居民健康状况与社会医疗环境。
移动医疗网络可向用户提供社交网络服务,如转发健康信息、分享健身体验、交流治疗经历等。然而,移动医疗社交网络容易遭受恶意攻击。当一个攻击者伪装成多个合法用户的身份,或者非法声明多个伪造的用户身份时,社交网络遭受到女巫攻击。女巫攻击会降低网络性能、中断程序、篡改数据或恶意欺骗他人,因此会对移动医疗社交网络性能造成巨大的破坏。
在移动医疗健康社交网络中,不可避免的会向公众开放一些健康数据。与此同时,由于存在的隐私泄露风险,用户不愿意再使用其真实身份互相交流。事实上,任何身份信息泄漏都可能侵犯用户隐私,甚至导致生命和财产损失。身份隐私保护使得防御女巫攻击变得更加困难。
技术实现要素:
有鉴于此,本发明的目的在于提供一种女巫攻击防御方法及其系统,旨在解决现有技术中移动医疗社交网络容易受到女巫攻击的问题。
本发明提出一种女巫攻击防御方法,应用于由秘钥生成中心、云服务提供商、用户组成的移动医疗社交网络,其中,所述方法包括:
初始化步骤:根据已知安全参数λ和全局属性集u,利用所述秘钥生成中心运行预设的设置算法以生成主密钥msk={s}并公布公共参数pp;
注册步骤:通过所述用户向所述秘钥生成中心提交注册申请,由所述秘钥生成中心运行预设的秘钥生成算法来生成用户私钥sks,并通过秘密通道将所述用户私钥sks分发至所述用户;
签名步骤:所述用户通过运行预设的签名算法进行签名;
验证步骤:所述用户在签名后通过运行预设的验证算法对签名进行验证。
优选的,在所述初始化步骤中,所述设置算法为setup(λ,u)算法,其中,运行预设的所述setup(λ,u)算法的步骤具体包括:
输入所述安全参数λ和所述全局属性集u={1,2,...,t},并定义缺省属性集u*={t+1,t+2,...,2t};
选择随机矩阵
挑选一个随机矩阵
定义ζ使得ζ·(q-2)=1mod2q;
计算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
输出主密钥msk={s}和公共参数pp={a,ζ,u,u*}。
优选的,在所述注册步骤中,所述秘钥生成算法为keygen(pp,msk,s)算法,其中,运行预设的所述keygen(pp,msk,s)算法的步骤具体包括:
随机选择t-1次多项式
对于每个i∈s∪u*,令
输出所述用户私钥sks=(asi,i∈s∪u*)。
优选的,在所述签名步骤中,所述签名算法为
定义一个k元素的属性集
定义缺省属性集
对于i∈s*∪u',从标准差为σ的分布
当i∈s'∪u'时,计算z1i=a((δ1f1(i)c+y1i),当i∈s*\s'时,计算z1i=ay1i,当i∈s'∪u'时,计算z2i=a((δ2f2(i)c+y2i),当i∈s*\s'时,计算z2i=ay2i;
输出概率为
计算
输出签名
优选的,在所述验证步骤中,所述验证算法为
输入用户μ的签名
如果
如果
如果
另一方面,本发明还提供一种女巫攻击防御系统,应用于由秘钥生成中心、云服务提供商、用户组成的移动医疗社交网络,其中,所述系统包括:
初始化模块,用于根据已知安全参数λ和全局属性集u,利用所述秘钥生成中心运行预设的设置算法以生成主密钥msk={s}并公布公共参数pp;
注册模块,用于通过所述用户向所述秘钥生成中心提交注册申请,由所述秘钥生成中心运行预设的秘钥生成算法来生成用户私钥sks,并通过秘密通道将所述用户私钥sks分发至所述用户;
签名模块,用于所述用户通过运行预设的签名算法进行签名;
验证模块,用于所述用户在签名后通过运行预设的验证算法对签名进行验证。
优选的,所述设置算法为setup(λ,u)算法,其中,运行预设的所述setup(λ,u)算法的步骤具体包括:
输入所述安全参数λ和所述全局属性集u={1,2,...,t},并定义缺省属性集u*={t+1,t+2,...,2t};
选择随机矩阵
挑选一个随机矩阵
定义ζ使得ζ·(q-2)=1mod2q;
计算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
输出主密钥msk={s}和公共参数pp={a,ζ,u,u*}。
优选的,所述秘钥生成算法为keygen(pp,msk,s)算法,其中,运行预设的所述keygen(pp,msk,s)算法的步骤具体包括:
随机选择t-1次多项式
对于每个i∈s∪u*,令
输出所述用户私钥sks=(asi,i∈s∪u*)。
优选的,所述签名算法为
定义一个k元素的属性集
定义缺省属性集
对于i∈s*∪u',从标准差为σ的分布
当i∈s'∪u'时,计算z1i=a((δ1f1(i)c+y1i),当i∈s*\s'时,计算z1i=ay1i,当i∈s'∪u'时,计算z2i=a((δ2f2(i)c+y2i),当i∈s*\s'时,计算z2i=ay2i;
输出概率为
计算
输出签名
优选的,所述验证算法为
输入用户μ的签名
如果
如果
如果
本发明提供的技术方案适用于移动医疗社交网络,提出了一个匿名认证协议,该协议使用用户的多个属性而不是单个身份来访问服务,从而防止潜在的女巫攻击和身份隐私泄漏,提高数据的安全性。
附图说明
图1为本发明一实施方式中女巫攻击防御方法流程图;
图2为本发明一实施方式中女巫攻击防御系统10的内部结构示意图;
图3为本发明一实施方式中防御方案中的签名算法的运行时间示意图;
图4为本发明一实施方式中防御方案中的验证算法的运行时间示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明具体实施方式提供了一种女巫攻击防御方法,应用于由秘钥生成中心、云服务提供商、用户组成的移动医疗社交网络,其中,所述方法包括:
初始化步骤:根据已知安全参数λ和全局属性集u,利用所述秘钥生成中心运行预设的设置算法以生成主密钥msk={s}并公布公共参数pp;
注册步骤:通过所述用户向所述秘钥生成中心提交注册申请,由所述秘钥生成中心运行预设的秘钥生成算法来生成用户私钥sks,并通过秘密通道将所述用户私钥sks分发至所述用户;
签名步骤:所述用户通过运行预设的签名算法进行签名;
验证步骤:所述用户在签名后通过运行预设的验证算法对签名进行验证。
本发明提供的一种女巫攻击防御方法,适用于移动医疗社交网络,提出了一个匿名认证协议,该协议使用用户的多个属性而不是单个身份来访问服务,从而防止潜在的女巫攻击和身份隐私泄漏,提高数据的安全性。
以下将对本发明所提供的一种女巫攻击防御方法进行详细说明。
请参阅图1,为本发明一实施方式中女巫攻击防御方法流程图。
在本实施方式中,该女巫攻击防御方法应用于由秘钥生成中心(keygenerationcenter,kgc)、云服务提供商(cloudserverprovider,csp)、用户(包括签名者和验证者)组成的移动医疗社交网络,通常,kgc用于设置系统并发出私钥给合法用户,csp向用户提供医疗健康数据的存储服务,也是潜在的女巫攻击者篡改或伪造用户的健康数据,用户使用某些终端(例如智能手机,笔记本电脑等)和应用来定期访问社交平台,签名者是指想要分享存储在csp中的健康数据的用户,验证者是指与签名者有社交关系的用户。
在步骤s1中,初始化步骤:根据已知安全参数λ和全局属性集u,利用所述秘钥生成中心运行预设的设置算法以生成主密钥msk={s}并公布公共参数pp。在本实施方式中,初始化步骤用于建立注册系统。
在本实施方式中,在所述初始化步骤中,所述设置算法为setup(λ,u)算法,其中,运行预设的所述setup(λ,u)算法的步骤具体包括:
输入所述安全参数λ和所述全局属性集u={1,2,...,t},并定义缺省属性集u*={t+1,t+2,...,2t};
选择随机矩阵
挑选一个随机矩阵
定义ζ使得ζ·(q-2)=1mod2q;
计算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
输出主密钥msk={s}和公共参数pp={a,ζ,u,u*}。
在步骤s2中,注册步骤:通过所述用户向所述秘钥生成中心提交注册申请,由所述秘钥生成中心运行预设的秘钥生成算法来生成用户私钥sks,并通过秘密通道将所述用户私钥sks分发至所述用户。
在本实施方式中,如果一个具有属性集s的合法用户(如病人或医生)想访问社交平台,则必须执行此操作。
在本实施方式中,在所述注册步骤中,所述秘钥生成算法为keygen(pp,msk,s)算法,其中,运行预设的所述keygen(pp,msk,s)算法的步骤具体包括:
随机选择t-1次多项式
对于每个i∈s∪u*,令
输出所述用户私钥sks=(asi,i∈s∪u*)。
在步骤s3中,签名步骤:所述用户通过运行预设的签名算法进行签名。
在本实施方式中,假设医生具有属性集s的私钥sks,例如“医院a,儿科,主任医师”,为了防御女巫攻击和保护身份隐私,医生运行
在本实施方式中,在所述签名步骤中,所述签名算法为
定义一个k元素的属性集
定义缺省属性集
对于i∈s*∪u',从标准差为σ的分布
当i∈s'∪u'时,计算z1i=a((δ1f1(i)c+y1i),当i∈s*\s'时,计算z1i=ay1i,当i∈s'∪u'时,计算z2i=a((δ2f2(i)c+y2i),当i∈s*\s'时,计算z2i=ay2i;
输出概率为
计算
输出签名
在本实施方式中,
在步骤s4中,验证步骤:所述用户在签名后通过运行预设的验证算法对签名进行验证。
在本实施方式中,在所述验证步骤中,所述验证算法为
输入用户μ的签名
如果
如果
如果
在本实施方式中,如签名通过验证,签名者的属性满足访问结构中定义的策略,所以验证者认为签名者是合法的。否则签名者的属性可能不能满足访问结构,或者有女巫攻击者篡改或伪造信息,所以验证者应该拒绝它。
在本实施方式中,签名的正确性验证描述如下:
因此,
本发明提供的一种女巫攻击防御方法,适用于移动医疗社交网络,提出了一个匿名认证协议,该协议使用用户的多个属性而不是单个身份来访问服务,从而防止潜在的女巫攻击和身份隐私泄漏,提高数据的安全性。
本发明具体实施方式还提供一种女巫攻击防御系统10,应用于由秘钥生成中心、云服务提供商、用户组成的移动医疗社交网络,其中,所述系统包括:
初始化模块11,用于根据已知安全参数和全局属性集,利用所述秘钥生成中心运行预设的设置算法以生成主密钥并公布公共参数pp;
注册模块12,用于通过所述用户向所述秘钥生成中心提交注册申请,由所述秘钥生成中心运行预设的秘钥生成算法来生成用户私钥,并通过秘密通道将所述用户私钥分发至所述用户;
签名模块13,用于所述用户通过运行预设的签名算法进行签名;
验证模块14,用于所述用户在签名后通过运行预设的验证算法对签名进行验证。
本发明提供的一种女巫攻击防御系统10,适用于移动医疗社交网络,提出了一个匿名认证协议,该协议使用用户的多个属性而不是单个身份来访问服务,从而防止潜在的女巫攻击和身份隐私泄漏,提高数据的安全性。
请参阅图2,所示为本发明一实施方式中女巫攻击防御系统10的结构示意图。
在本实施方式中,女巫攻击防御系统10,主要包括初始化模块11、注册模块12、签名模块13和验证模块14。
初始化模块11,用于根据已知安全参数λ和全局属性集u,利用所述秘钥生成中心运行预设的设置算法以生成主密钥msk={s}并公布公共参数pp。
在本实施方式中,所述设置算法为setup(λ,u)算法,其中,运行预设的所述setup(λ,u)算法的步骤具体包括:
输入所述安全参数λ和所述全局属性集u={1,2,...,t},并定义缺省属性集u*={t+1,t+2,...,2t};
选择随机矩阵
挑选一个随机矩阵
定义ζ使得ζ·(q-2)=1mod2q;
计算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
输出主密钥msk={s}和公共参数pp={a,ζ,u,u*}。
注册模块12,用于通过所述用户向所述秘钥生成中心提交注册申请,由所述秘钥生成中心运行预设的秘钥生成算法来生成用户私钥sks,并通过秘密通道将所述用户私钥sks分发至所述用户。
在本实施方式中,所述秘钥生成算法为keygen(pp,msk,s)算法,其中,运行预设的所述keygen(pp,msk,s)算法的步骤具体包括:
随机选择t-1次多项式
对于每个i∈s∪u*,令
输出所述用户私钥sks=(asi,i∈s∪u*)。
签名模块13,用于所述用户通过运行预设的签名算法进行签名。
在本实施方式中,所述签名算法为
定义一个k元素的属性集
定义缺省属性集
对于i∈s*∪u',从标准差为σ的分布
当i∈s'∪u'时,计算z1i=a((δ1f1(i)c+y1i),当i∈s*\s'时,计算z1i=ay1i,当i∈s'∪u'时,计算z2i=a((δ2f2(i)c+y2i),当i∈s*\s'时,计算z2i=ay2i;
输出概率为
计算
输出签名
验证模块14,用于所述用户在签名后通过运行预设的验证算法对签名进行验证。
在本实施方式中,所述验证算法为
输入用户μ的签名
如果
如果
如果
本发明提供的一种女巫攻击防御系统10,适用于移动医疗社交网络,提出了一个匿名认证协议,该协议使用用户的多个属性而不是单个身份来访问服务,从而防止潜在的女巫攻击和身份隐私泄漏,提高数据的安全性。
本发明提出的女巫攻击防御方案,可以通过仿真分析防御方案的效率,详细的仿真环境描述如下:操作系统是ubuntu12.04,具有英特尔(r)core(tm)i5-3210m四核cpu处理器,运行速度为2.50ghz,内存为1.6gb。本发明的程序使用gmp6.0.0大数字库和ntl6.0.0库进行矩阵运算,通过c++编程语言在gcc平台上实现。为方便起见,本发明将安全参数λ设置为128位比特和160位比特。实验中使用的属性数量为l={3,5,8}。每个测试有100次迭代并取其平均值。
其中,表1描述了本发明防御方案的参数设置情况,图3和图4分别显示了本发明防御方案的签名算法和验证算法的运行时间。
表1本发明防御方案参数设置
值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。