买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种适用于物联网的广义多异构签密方法_北京工业大学_202311857848.1 

申请/专利权人:北京工业大学

申请日:2023-12-29

公开(公告)日:2024-03-15

公开(公告)号:CN117714060A

主分类号:H04L9/30

分类号:H04L9/30;H04L9/32

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.04.02#实质审查的生效;2024.03.15#公开

摘要:一种适用于物联网的广义多异构签密方法,涉及物联网与数据安全领域。在物联网中,存在海量的物联网设备,由于安全需求和应用环境的不同,各设备之间常采用不同的公钥密码体系,这不可避免地给异构物联网设备之间的数据安全交互带来了一定的障碍。该方法通过构建适用于不同公钥密码体系下的广义泛在函数,融合签密机制,实现了基于证书的公钥密码体系、基于身份的公钥密码体系以及无证书公钥密码体系下异构设备之间的高效、安全的数据传输。同时,我们提出的方法能够满足机密性、不可伪造性、前向安全性、公开验证性和临时消息泄露安全性,提高了物联网中隐私数据传输的安全性。

主权项:1.一种适用于物联网的广义多异构签密方法,其特征在于:在物联网中,存在海量的物联网设备和一个可信第三方TA;其中,海量物联网设备分属于基于证书的公钥密码体系PKI、基于身份的公钥密码体系IBC以及无证书公钥密码体系CLC,多种异构设备之间相互交互,共同为用户提供各种各样的物联网服务;可信第三方中包括公钥基础设施CA、私钥生成器PKG以及密钥生成中心KGC,它们分别负责对三种公钥密码体系下的众多物联网设备进行密钥生成;系统构建基于给与的系统安全参数γ,可信第三方TA选择对应的一个加法循环群G和一个加法循环群G中的生成元P,其中加法循环群G的秩为q,q<2γ;TA在小于q的正整数中选择一个随机数作为主系统密钥,并联合生成元P生成系统公钥Ppub=sP;之后,可信第三方TA选择五个单向哈希函数h1:h2:G→{0,1}*,h3:{0,1}l2×G4×h4:h5:其中,l表示设备唯一身份标识符的比特长度,{0,1}*表示发送消息m的比特表示;定义一个广义函数F·,计算过程如下; 其中,PKi表示某一异构物联网设备ui的公钥信息,Φ*表示特定元素组成的集合,ΦG表示由一个加法循环群元素组成的集合,ΦG,G表示由两个加法循环群元素组成的集合,ΦG,G,G表示由三个加法循环群元素组成的集合;TA生成系统公开参数params={G,P,q,Ppub,h1,h2,h3,h4,h5,F·},并下发给系统下所有异构物联网设备,同时,可信第三方TA秘密保留主系统密钥s;密钥生成基于证书的公钥密码体系下中存在物联网设备Alice,基于身份的公钥密码体系下中存在物联网设备Bob,无证书公钥密码体系下存在中的物联网设备Carol;密钥生成可分为PKI-Gen,IBC-Gen和CLC-Gen三个部分,分别对应基于证书的公钥密码体系、基于身份的公钥密码体系以及无证书公钥密码体系下物联网设备的密钥生成,具体计算如下;1PKI-Gen对于基于证书的公钥密码体系下的物联网设备Alice,设备Alice首先选择一个随机数作为Alice的私钥SKA=xA,并联合系统参数params中的生成元P生成物联网设备Alice的公钥自此,物联网设备Alice的公钥和私钥分别为和SKA=xA,并将公钥PKA发送给TA签名并生成对应公开证书;2IBC-Gen对于基于身份的公钥密码体系下的物联网设备Bob,Bob首先将自身的唯一标识符IDB∈{0,1}l作为私钥请求发送给可信第三方TA;TA在接收到Bob的私钥请求信息之后,选取随机值计算出Bob的部分公钥RB=rBP;之后,TA联合主系统密钥s,执行哈希函数h1,生成哈希值hB=h1IDB,RB,计算SKB=rB+sha作为Bob的私钥,并通过安全信道将Bob的部分公钥RB和私钥SKB发送给物联网设备Bob;物联网设备Bob在接收到TA发送的部分公钥RB和私钥SKB后,首先执行验证等式SKBP=RB+h1IDB,RBPpub是否成立;若不成立,则表明消息非法,Bob直接丢弃该消息;若成立,则Bob执行哈希函数h1计算,生成哈希值hB=h1IDB,RB,计算Bob的部分公钥XB=hB-1RB;自此,物联网设备Bob生成自己的私钥SKB=rB+shB和全部公钥PKB=RB,XB;3CLC-Gen对于无证书公钥密码体系下的物联网设备Carol,Carol首先将自身的唯一身份表示符IDC∈{0,1}l作为部分私钥请求信息发送给可信第三方TA;可信第三方TA在接收到Carol的私钥请求信息之后,选择一个随机数联合公开系统参数参数params中的生成元P和哈希函数h1,计算Carol的部分公钥RC=rCP,哈希值hC=h1IDC,RC和Carol的部分私钥dC=rC+shC;最后,可信第三方TA通过安全信道将Carol的部分私钥dC和部分公钥RC发送给物联网设备Carol;物联网设备Carol在接收到TA返回的回复信息dC,RC后,首先执行验证等式dCP=RC+h1IDC,RCPpub,并判断其是否成立;若成立,则Carol认为回复信息dC,RC有效,计算摘要值hC=h1IDC,RC和部分公钥XC=hC-1RC,并继续下一步操作;否则,Carol认为回复信息dC,RC非法,重新发起私钥请求;之后,Carol选取随机数作为Carol的秘密值,并联合系统公开参数params中的生成元P生成Carol的部分公钥PC=xCP;最后,Carol联合可信第三方TA生成的部分私钥dC和部分公钥RC、自身的秘密值xC以及部分公钥PC,生成Carol的全部私钥SKC=xC,dC和全部公钥PKC=PC,RC,XC;物联网存在两个异构物联网设备,Sender和Receiver,即两者可以属于任何一种三种公钥密码体系,但不属于同一种公钥密码体系;此时,在执行广义签密和广义解签密之前,数据发送者Sender和数据接收者Receiver的公钥和私钥分别为PKS,SKS和PKR,SKR;依据物联网设备Sender和Receiver所处公钥密码系统的不同,其公钥和私钥生成方式不同,广义函数F·的执行结果也不同,具体形式如下;对于数据发送者Sender,以数据发送者Sender的公钥PKS作为参数,计算FPKS,出现以下四种情况:·若FPKS=1,则表示数据发送者Sender属于基于证书的公钥密码体系,其公私钥形式为·若FPKS=2,则表示数据发送者Sender属于基于身份的公钥密码体系,其公私钥形式为PKS,SKS=RS,XS,rS+shS;·若FPKS=3,则表示数据发送者Sender属于无证书公钥密码体系,其公私钥形式为PKS,SKS=PS,RS,XS,xS,dS;·若FPKS=0,则表示数据发送者Sender不属于三种公钥密码体系中的任何一种,数据非法,算法退出;同样,对于数据接收者Receiver,以数据接收者Receiver的公钥PKR作为参数,计算FPKR,出现以下四种情况:·若FPKR=1,则表示数据接收者Receiver属于基于证书的公钥密码体系,其公私钥形式为·若FPKR=2,则表示数据接收者Receiver属于基于身份的公钥密码体系,其公私钥形式为PKR,SKR=RR,XR,rR+shR;·若FPKR=3,则表示数据接收者Receiver属于无证书公钥密码体系,其公私钥形式为PKR,SKR=PR,RR,XR,xR,dR;·若FPKR=0,则表示数据接收者Receiver不属于三种公钥密码体系中的任何一种,数据非法,算法退出;签密假设数据发送方Sender在知晓数据接收方Receiver的公钥信息PKR和需要发送的消息m后,数据发送方Sender执行如下操作生成签密密文σ;1选取一个随机数2以发送方Sender的公钥PKS和接收者Receiver的公钥PKR作为输入,借助广义函数F·,计算广义函数结果FPKS和FPKR,判断等式FPKS=FPKR或者FPKS·FPKR=0是否成立,.表示数学乘法;若等式成立,则数据发送方Sender和数据接收方Receiver属于同一公钥密码体系或者两者存在一方不属于基于证书的公钥密码体系,基于身份的公钥密码体系和无证书公钥密码体系,不属于本方法考虑内容,无需执行异构签密计算,直接退出;否则,数据发送方Sender执行如下计算:a如果FPKS=1,表明数据发送者Sender属于基于证书的公钥密码体系,其公私钥形式为之后,数据发送者Sender计算随机数T1=aPKS,以接收者Receiver的部分私钥RR和标识符IDR作为参数计算哈希值hR=h1IDR,RR和按照如下计算随机数T2;·如果FPKR=2,表明数据接收者Receiver的公钥形式为PKR=RR,XR,计算随机数T2=aSKS-1hRXR+Ppub,其中Ppub表示系统公钥;·如果FPKR=3,表明数据接收者Receiver的公钥形式为PKR=PR,RR,XR,计算随机数T2=aSKS-1hRhR-1PR+XR+Ppub,其中Ppub表示系统公钥;b如果FPKS=2,表明数据发送者Sender属于基于身份的公钥密码体系,其公私钥形式为PKS,SKS=RS,XS,rS+shS;之后,数据发送者Sender计算哈希值hS=h1IDS,RS,随机数T1=ahSXS+Ppub和按照如下计算随机数T2,其中Ppub表示系统公钥;·如果FPKR=1,表明数据接收者Receiver的公钥形式为计算随机数T2=aSKSPKR;·如果FPKR=3,表明数据接收者Receiver的公钥形式为PKR=PR,RR,XR,以接收者Receiver的标识符IDR和部分公钥RR为参数计算哈希值hR=h1IDR,RR和随机数T2=aSKShRhR-1PR+XR+Ppub,其中Ppub表示系统公钥;c如果FPKS=3,表明数据发送者Sender属于无证书公钥密码体系,其公私钥形式为PKS,SKS=PS,RS,XS,xS,dS;之后,数据发送者Sender计算随机数T1=aPS和按照如下计算随机数T2;·如果FPKR=1,表明数据接收者Receiver的公钥形式为计算随机数T2=axSPKR;·如果FPKR=2,表明数据接收者Receiver的公钥形式为PKR=RR,XR,以接收者Receiver的标识符IDR和部分公钥RR为参数计算哈希值hR=h1IDR,RR和随机数T2=axShRXR+Ppub,其中Ppub表示系统公钥;3借助哈希函数h2,计算哈希值h2T2,对消息m执行异或运算生成密文4基于FPKS和FPKR结果不同,以发送者Sender的身份标识符IDS和公钥PKS、接收者Receiver的身份标识符IDR和公钥PKR、密文c,系统公钥Ppub和随机数T1,按如下过程从哈希函数h3、h4和h5选取对应的哈希函数,生成哈希值h;·若FPKS=1,FPKR=2,则表示发送者Sender和接收者Receiver的公钥形式分别为和PKR=RR,XR,计算h=h3IDS,IDR,PKS,RR,XR,Ppub,c,T1;·若FPKS=1,FPKR=3,则表示发送者Sender和接收者Receiver的公钥形式分别为和PKR=PR,RR,XR,计算h=h4IDS,IDR,PKS,PR,RR,XR,Ppub,c,T1;·若FPKS=2,FPKR=1,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=RS,XS和计算h=h3IDS,IDR,RS,XS,PKR,Ppub,c,T1;·若FPKS=2,FPKR=3,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=RS,XS和PKR=PR,RR,XR,计算h=h5IDS,IDR,RS,XS,PR,RR,XR,Ppub,c,T1;·若FPKS=3,FPKR=1,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=PS,RS,XS和计算h=h4IDS,IDR,PS,RS,XS,PKR,Ppub,c,T1;·若FPKS=3,FPKR=2,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=PS,RS,XS和PKR=RR,XR,计算h=h5IDS,IDR,PS,RS,XS,RR,XR,Ppub,c,T1;5基于广义函数结果FPKS和发送者Sender的私钥SKS,按照如下计算方式生成签名S;·若FPKS=1,则表示发送者Sender的私钥形式为SKS=xS,计算S=a+hSKS;·若FPKS=2,则表示发送者Sender的私钥形式为SKS=rS+shS,计算S=SKSa+h;·若FPKS=3,则表示发送者Sender的私钥形式为SKS=xS,dS,计算S=dS+haxS;6生成广义签密密文σ=c,S,T1,并通过公开信道发送给物联网设备Receiver;解签密假设数据接收方Receiver在知晓数据发送方Sender的公钥PKS和接收到的广义签密密文σ=c,S,T1后,数据接收方Receiver执行如下操作还原出原有消息m;1以发送方Sender的公钥PKS和接收者Receiver的公钥PKR作为输入,借助广义函数F·,计算广义函数结果FPKS和FPKR,判断等式FPKS=FPKR或者FPKS·FPKR=0是否成立,·表示数学乘法;若等式成立,则数据发送方Sender和数据接收方Receiver属于同一公钥密码体系或者两者存在一方不属于基于证书的公钥密码体系,基于身份的公钥密码体系和无证书公钥密码体系,不属于本方法考虑内容,无需执行异构签密计算,直接退出;否则,数据接收方Receiver继续执行下一步运算;2基于FPKS和FPKR结果不同,以发送者Sender的身份标识符IDS和公钥PKS、接收者Receiver的身份标识符IDR和公钥PKR、密文c,系统公钥Ppub和随机数T1,按如下计算过程从哈希函数h3、h4和h5选取对应的哈希函数,生成哈希值h;·若FPKS=1,FPKR=2,则表示发送者Sender和接收者Receiver的公钥形式分别为和PKR=RR,XR,计算h=h3IDS,IDR,PKS,RR,XR,Ppub,c,T1;·若FPKS=1,FPKR=3,则表示发送者Sender和接收者Receiver的公钥形式分别为和PKR=PR,RR,XR,计算h=h4IDS,IDR,PKS,PR,RR,XR,Ppub,c,T1;·若FPKS=2,FPKR=1,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=RS,XS和计算h=h3IDS,IDR,RS,XS,PKR,Ppub,c,T1;·若FPKS=2,FPKR=3,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=RS,XS和PKR=PR,RR,XR,计算h=h5IDS,IDR,RS,XS,PR,RR,XR,Ppub,c,T1;·若FPKS=3,FPKR=1,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=PS,RS,XS和计算h=h4IDS,IDR,PS,RS,XS,PKR,Ppub,c,T1;·若FPKS=3,FPKR=2,则表示发送者Sender和接收者Receiver的公钥形式分别为PKS=PS,RS,XS和PKR=RR,XR,计算h=h5IDS,IDR,PS,RS,XS,RR,XR,Ppub,c,T1;3依据数据发送者Sender的广义函数结果FPKS,以签名S和哈希值h为参数,执行如下计算过程生成随机数T′1;·如果FPKS=1,则表明发送者Sender的公钥形式为计算随机数T′1=S*PKS-hP;·如果FPKS=2,则表明发送者Sender的公钥形式为PKS=RS,XS,计算哈希值hS=h1IDS,RS和随机数T′1=SP-hhSXS+Ppub,其中Ppub表示系统公钥;·如果FPKS=3,则表明发送者Sender的公钥形式为PKS=PS,RS,XS,计算哈希值hS=h1IDS,RS和随机值T′1=SP-hSXS+Ppubh-1,其中Ppub表示系统公钥;4依据计算出的随机数T′1,判断验证等式T1′=T1是否成立;若不成立,则该广义签密密文无效,数据接收方Receiver直接舍弃该广义签密密文,返回符号⊥表示解密错误;若成立,则该广义签密密文通过合法验证,数据接收方Receiver继续执行解密操作;5依据广义函数结果FPKR,数据接收方Receiver按照如下计算过程生成随机数T′2;·如果FPKR=1,则表明数据接收方Receiver的私钥形式为SKR=xR,联合随机数T′1,计算随机数T′2=T′1SKR-1;·如果FPKR=2,则表明数据接收方Receiver的私钥形式为SKR=rR+shR,联合随机数T′1,计算T′2=T′1SKR;·如果FPKR=3,则表明数据接收方Receiver的私钥形式为SKR=xR,dR,联合随机数T′1,计算T′2=T′1xR+dR;6借助哈希函数h2,计算哈希值h2T2′,对密文c执行异或运算还原出消息

全文数据:

权利要求:

百度查询: 北京工业大学 一种适用于物联网的广义多异构签密方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。