当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于身份的面向食品数据安全的代理重加密方法与装置制造方法及图纸

技术编号:23163980 阅读:20 留言:0更新日期:2020-01-21 22:26
本发明专利技术公开了一种基于身份的面向食品数据安全的代理重加密方法与装置,该方法包括以下步骤:1)系统初始化:输入安全参数λ,KGC生成系统参数和系统主公私钥;2)根据给定用户i的身份标识ID

An identity based proxy re encryption method and device for food data security

【技术实现步骤摘要】
一种基于身份的面向食品数据安全的代理重加密方法与装置
本专利技术涉及信息安全技术,尤其涉及一种基于身份的面向食品数据安全的代理重加密方法与装置。
技术介绍
在信息爆炸的大数据时代,食品数据的安全存储和共享一直受到广泛关注。数据共享不仅可以减少数据采集,实现数据碎片价值挖掘,还有助于产业链优化,提高食品质量监督和防伪。区块链是一种基于分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,可以在信任非集中的分布式网络中实现可信价值传递,从而支持数据共享。然而,一般地,元数据以密态形式存储在云端。若使用传统的公钥加密算法共享数据,数据所有者需要先从云端下载密文解密,再使用数据接收方的公钥加密,此种共享方式需要消耗巨大的计算和存储代价。代理重加密是一种实现数据共享的密文安全转换技术。半可信代理者通过授权者产生的转换密钥把用授权者公钥加密的密文转化为用被授权者公钥加密的密文。被授权者直接使用私钥解密密文获得共享数据,减少了委托者密钥泄露的风险,且整个转化过程中,不泄露明文的任何信息。然而,现有的代理重加密方案大多需要具有巨大的计算和存储代价,不具有实用性。SM2是国家密码管理局于2010年12月颁布的一种椭圆曲线公钥密码算法(参见《SM2椭圆曲线公钥密码算法》规范)。基于此算法能实现数字签名、密钥交换以及数据加密。本文设计了一种基于身份的SM2代理重加密方案,使用区块链为企业云存储库中的共享食品数据提供数据来源和控制。同时,使用基于身份的SM2签名算法来构建代理重加密方案,规避了传统PKI体系下公钥证书的管理和维护问题。本专利技术具有安全性高、计算和存储开销低等特点,对于资源受限的应用场景也同样适用。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种基于身份的面向食品数据安全的代理重加密方法与装置。本专利技术解决其技术问题所采用的技术方案是:一种基于身份的面向食品数据安全的代理重加密方法,包括以下步骤:1)系统初始化:输入安全参数λ,KGC生成系统参数和系统主公、私钥;具体如下:1.1)输入安全参数λ,KGC生成椭圆曲线相关参数:q、Fq、a、b、n、G,和安全哈希函数H1、H2、H3、H4;其中,q为大素数,a、b为Fq中的元素,用于定义Fq上的一条椭圆曲线E,G为椭圆曲线的一个基点,其阶为素数n;1.2)KGC选择随机数x∈[1,n-1]作为系统主私钥,计算Ppub=xG作为系统主公钥;2)根据给定用户i的身份标识IDi,KGC使用系统参数为用户i生成私钥;2.1)KGC选择随机数l∈[1,n-1],计算:Li=[l]G,h=H1(IDi||Li),αi=l+hxmodn;其中,αi为用户i的私钥;2.2)KGC将αi通过安全信道发送给用户,并将用户i的公开信息(IDi,Li)存储到区块链上;3)加密:用户A利用系统参数和自身私钥生成消息M的密文以及验证信息;用户A为数据所有者;3.1)用户A选择随机数r∈[1,n-1],计算:meta=(IDA||T0),R=[r]G,PA=αAG,hA=H4(R||M||meta),以及sA=(1+αA)-1(r-hAαA);其中,IDA为用户A的身份标识;T0为当前时间戳;3.2)用户A输出密文消息集合:C=(CA,meta,hA,sA);消息M的密文是CA,验证消息指hA,sA,都包含在了密文消息集合里;4)重加密密钥生成Rekey(C,Ppub):用户A根据消息集合C和用户B的身份标识生成重加密密钥;4.1)根据用户B的身份标识为用户B生成私钥,并将(IDB,LB)存储到区块链上;4.2)用户A从链上获取(IDB,LB),计算:h1=H1(IDB||LB),PB=LB+h1Ppub;4.3)用户A提取随机数r:由sA=(1+αA)-1(r-hAαA),可得:r=sA(1+αA)+hAαA;4.4)用户A计算重加密密钥:5)用户A利用重加密密钥和密文消息集合计算重加密密文;5.1)用户A计算用户B的重加密密文:5.2)用户A输出重加密密文消息集合:C′=(CB,meta,IDB,hA,sA)。6)用户B解密重加密密文CB并验证解密结果的正确性;6.1)用户B从区块链上获取(IDA,LA),计算:h2=H1(IDA||LA);6.2)用户B计算:t=hA+sA,R′=sAG+t(LA+h2Ppub);6.3)用户B解密重加密密文CB:6.4)用户B验证解密结果的正确性;用户B计算:h3=H4(R′||M||meta),并验证等式h3=hA是否成立;若成立,则验证通过;否则,验证不通过。按上述方案,所述步骤2)中,KGC使用系统参数为用户i生成私钥和用户i的公开信息,具体如下:2.1)KGC选择随机数l∈[1,n-1],计算:Li=[l]G,h=H1(IDi||Li),αi=l+hxmodn;其中,αi为用户i的私钥;2.2)KGC将αi通过安全信道发送给用户,并将用户i的公开信息(IDi,Li)保存。按上述方案,所述步骤2)中,所述保存用户i的公开信息是将用户i的公开信息存储到区块链上。按上述方案,所述步骤3)中,用户A利用系统参数和自身私钥生成消息M的密文,具体如下:3.1)用户A选择随机数r∈[1,n-1],计算:meta=(IDA||T0),R=[r]G,PA=αAG,hA=H4(R||M||meta),以及sA=(1+αA)-1(r-hAαA);其中,IDA为用户A的身份标识;T0为当前时间戳;3.2)用户A输出密文消息集合:C=(CA,meta,hA,sA)。按上述方案,所述步骤4)中,用户A根据消息集合C和用户B的身份标识生成重加密密钥,具体如下:4.1)根据用户B的身份标识为用户B生成私钥,并将(IDB,LB)存储到区块链上;4.2)用户A从链上获取(IDB,LB),计算:h1=H1(IDB||LB),PB=LB+h1Ppub;4.3)用户A提取随机数r:由sA=(1+αA)-1(r-hAαA),可得:r=sA(1+αA)+hAαA;4.4)用户A计算重加密密钥:按上述方案,所述步骤5)中用户A利用重加密密钥和密文消息集合计算重加密密文,具体如下:5.1)用户A计算用户B的重加密密文:5.2)用户A输出重加密密文消息集合:C′=(CB,meta,IDB,hA,sA)。按上述方案,所述步骤6)中,用户B解密重加密密文CB并验证解密结果的正确性;具体如下:6.1)用户B从区块链上获取(IDA,LA),计算:h2=H1(IDA||LA);6.2)用户B计算:t=hA+sA,R′=sAG+t(LA+h2Ppub);6.3)用户B解密重加密密文CB:6.4)用户B验证解密结果的正确性;本文档来自技高网
...

【技术保护点】
1.一种基于身份的面向食品数据安全的代理重加密方法,其特征在于,包括以下步骤:/n1)系统初始化:输入安全参数λ,KGC生成系统参数和系统主公、私钥;具体如下:/n1.1)输入安全参数λ,KGC生成椭圆曲线相关参数:q、F

【技术特征摘要】
1.一种基于身份的面向食品数据安全的代理重加密方法,其特征在于,包括以下步骤:
1)系统初始化:输入安全参数λ,KGC生成系统参数和系统主公、私钥;具体如下:
1.1)输入安全参数λ,KGC生成椭圆曲线相关参数:q、Fq、a、b、n、G,和安全哈希函数H1、H2、H3、H4;其中,q为大素数,a、b为Fq中的元素,用于定义Fq上的一条椭圆曲线E,G为椭圆曲线的一个基点,其阶为素数n;
1.2)KGC选择随机数x∈[1,n-1]作为系统主私钥,计算Ppub=xG作为系统主公钥;
2)根据给定用户i的身份标识IDi,KGC使用系统参数为用户i生成私钥;
3)用户A利用系统参数和自身私钥生成消息M的密文以及验证信息;用户A为数据所有者;
4)用户A根据消息集合C和用户B的身份标识生成重加密密钥;
5)用户A利用重加密密钥和密文消息集合计算重加密密文;
6)用户B解密重加密密文CB并验证解密结果的正确性。


2.根据权利要求1所述的基于身份的面向食品数据安全的代理重加密方法,其特征在于,所述步骤2)中,KGC使用系统参数为用户i生成私钥和用户i的公开信息,具体如下:
2.1)KGC选择随机数l∈[1,n-1],计算:Li=[l]G,h=H1(IDi||Li),αi=l+hxmodn;其中,αi为用户i的私钥;
2.2)KGC将αi通过安全信道发送给用户,并将用户i的公开信息(IDi,Li)保存。


3.根据权利要求2所述的基于身份的面向食品数据安全的代理重加密方法,其特征在于,所述步骤2)中,所述保存用户i的公开信息是将用户i的公开信息存储到区块链上。


4.根据权利要求2所述的基于身份的面向食品数据安全的代理重加密方法,其特征在于,所述步骤3)中,用户A利用系统参数和自身私钥生成消息M的密文,具体如下:
3.1)用户A选择随机数r∈[1,n-1],计算:meta=(IDA||T0),R=[r]G,PA=αAG,CA=M⊕H3(meta||rPA),
hA=H4(R||M||meta),以及sA=(1+αA)-1(r-hAαA);其中,IDA为用户A的身份标识;T0为当前时间戳;
3.2)用户A输出密文消息集合:C=(CA,meta,hA,sA)。


5.根据权利要求4所述的基于身份的面向食品数据安全的代理重加密方法,其特征在于,所述步骤4)中,用户A根据消息集合C和用户B的身份标识生成重加密密钥,具体如下:
4.1)根据步骤2)中的方法,使用用户B的身份标识为用户B生成私钥,并将(IDB,LB)保存;
4.2)用户A获取(IDB,LB),计算:h1=H1(IDB||LB),PB=LB+h1Ppub;
4.3)用户A提取随机数r:由sA=(1+αA)-1(r-hAαA),可得:r=sA(1+αA)+hAαA;
4.4)用户A计算重加密密钥:rkAB=H3(meta||rPA)⊕H3(meta||rPB)。


6.根据权利要求5所述的基于身份的面向食品数据安全的代理重加密方法,其特征在于,所述步骤5)中用户A利用重加密密钥和密文消息集合计算重加密密文,具体如下:
5.1)用户A计算用户B的重加密密文:CB=rkAB⊕CA;
5.2)用户A输出重加密密文消息集合:C′=(CB,meta,IDB,hA,sA)。


7.根据权利要求6所述的基于身份的面向食品数据安全的代理重加密方法,其特征在于,所述步骤6)中,用...

【专利技术属性】
技术研发人员:何德彪张佳妮崔晓晖孙艾颖季洪涵
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1