[发明专利]一种基于聚合签名的接触者追踪隐私保护方法有效
| 申请号: | 202110757839.X | 申请日: | 2021-07-05 |
| 公开(公告)号: | CN113395691B | 公开(公告)日: | 2023-04-25 |
| 发明(设计)人: | 刘沫萌;邵明强;张泽宇;柴文强 | 申请(专利权)人: | 西安工程大学 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;H04W4/80;H04W12/02;H04W12/041;H04W12/06;H04L67/1097;H04L67/12 |
| 代理公司: | 西安弘理专利事务所 61214 | 代理人: | 刘娜 |
| 地址: | 710048 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 聚合 签名 接触 追踪 隐私 保护 方法 | ||
1.一种基于聚合签名的接触者追踪隐私保护方法,其特征在于,具体按照以下步骤实施:
步骤1,用户注册:管理者运行密钥生成算法,生成管理者的公私钥对;用户和医生向管理者注册,分别得到私钥和公钥;具体为:
步骤1.1,管理者运行密钥生成算法Gen,生成管理者的公私钥对(pk,sk)←Gen(λ),λ∈N为安全参数,同时公布系统参数{λ,q,u,u1,p,p1,p2,pk,H},pk为公钥;sk为私钥;q是一个λ比特的质数;u,p是的生成元,是一个q阶整数加群;
步骤1.2,用户A向管理者注册,用户A选择自己的私钥计算出公钥并将公钥和个人信息上传给管理者,管理者为注册用户A生成匿名的个人ID:和管理者认证证书:certA←Sign(sk,pkA,time,idA),该用户将idA和certA保存在手机本地;
步骤1.3,医生向管理者注册,选择私钥计算公钥得到公私钥对,另外医生会获得额外的群签名私钥usk;
步骤2,用户识别:用户携带手机外出过程中,利用蓝牙信号广播个人数据包的哈希值,当用户之间相遇时,会认证对方是否为合法用户;认证成功之后,用户之间会生成相互承诺以确认对方为自己的接触者;用户将承诺过程中所保存的其他用户的独立数据包签名聚合成单个短签名;具体为:
步骤2.1,用户A携带手机外出过程中,利用蓝牙信号广播个人数据包的哈希值hA,其中hA=H(idA,A,certA),当用户之间相遇时,会相互认证对方是否为合法用户;认证过程如下:
1)用户A向用户B请求发送B的数据包(idB,B,certB),用户A收到后计算该数据包的哈希值h'B=H(idB,B,certB),若h'B与用户B广播的哈希值hB一致,则继续认证,否则认证失败;
2)用户A随机选择整数并发送给用户B,用户B随机选择整数并用自己的私钥b和随机数rA生成Schnorr签名σB=(m,n),其中m=H(pk,rA),n=k-bm mod q,随后用户B将σB发送给用户A;
3)用户A验证等式m=H(pnBm,rA)是否成立,从而判断用户B的身份是否合法;若等式成立,则身份认证成功,否则B为非法用户;
步骤2.2,相互身份认证成功之后,相互接触的两用户之间会生成相互承诺;该承诺过程如下:
1)用户A用自己的私钥a和用户B的idB,计算得到关联用户B的签名σ'A=H0(idB)a,并将σ'A发送给用户B;为哈希函数;
2)用户B验证等式e(p,σ'A)=e(A,H0(idB))是否成立,其中A为用户A的公钥;若等式成立,则验证通过,用户B将(A,idA,σ'A,time)保存到手机中,否则承诺失败;
3)用户B用自己的私钥b和用户A的idA,计算得到关联用户A的签名σ'B=H0(idA)b,并将σ'B发送给用户A;
4)用户A验证等式e(p,σ'B)=e(B,H0(idA))是否成立,其中B为用户B的公钥;若等式成立,则验证通过,用户A将(B,idB,σ'B,time)保存到手机中,否则承诺失败;
步骤2.3,用户I将承诺过程中保存的所有接触用户,即I1,...,In,各自独立数据包中的签名聚合成单个短签名:用户I将保存的所有接触者用户I1,...,In的数据包中的签名聚合成单个短签名σ;
聚合签名生成过程具体为:计算所有接触用户I1,...,In的公钥集的哈希值(t1,...,tn),其中输出短签名σ,其中H1:G2n→Rn为哈希函数;
聚合签名验证过程为:执行验证算法Verify,输入用户I的匿名idI、短签名σ以及保存的所有接触用户的公钥计算得到公钥集的哈希值(t1,...,tn)和聚合公钥apk,其中校验e(p,σ)=e(apk,H0(idI))是否成立,若等式成立,则签名验证成功,否则失败;
步骤3,接触者追踪阶段:假设用户I被认定为确诊者,则该用户将分别为他的接触者I1,...,In创建各自的伪身份;确诊者I将伪身份信息发送给医生,医生对接触者I1,...,In的身份验证通过后,使用群私钥usk生成群签名,并将数据包上传至区块链中;医生随后将确诊用户I的健康状态报告给管理者;具体为:
步骤3.1,确诊者I分别为其所有接触者I1,...,In创建各自的伪身份;首先随机选取整数计算px,令h=px,其中h为构造的零知识证明的辅助值;计算得到即为接触者I1,...,In各自的伪身份,其中I1,...,In代表接触者的公钥,t1,...,tn为上述步骤2.3中所得值;
步骤3.2,确诊者I将伪身份信息数据包发送给医生,并生成以下非交互式零知识证明,如下式所示:
其中,(σ,I1,...,In,x)即为确诊者I需要向医生证明的其所有接触者的信息;该式等价于下式:
医生通过确诊者I发送的数据包验证等式是否成立,若等式成立,则证明确诊者I确实接触过用户I1,...,In,否则无法证明用户I1,...,In为I的密切接触者;
步骤3.3,医生验证通过用户I1,...,In为确诊者I的密切接触者之后,使用usk生成群签名σD,即并将数据包上传至区块链中;
步骤3.4,医生将确诊用户I的健康状态报告给管理者,以便管理者不再更新确诊用户I的信息,直到确诊用户痊愈;
步骤4,接触者通知阶段:以接触者用户I1为例,假设用户I1检索存储于区块链中医生签名后的所有数据包,进而检索首先查看数据包中是否存在自己相关的伪身份信息,即用私钥i1核对是否成立;若等式不成立,则用户I1并非为某个匿名确诊用户的密切接触者;若等式成立,则执行群签名验证算法验证群签名;群签名验证通过后,即可认定用户I1为某位匿名确诊用户I的密切接触者。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安工程大学,未经西安工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110757839.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种阀门执行器
- 下一篇:一种餐饮门店智能诊断方法、系统、设备及介质





