CN111884991A - 一种面向智能家居的用户可监管匿名身份认证方法 - Google Patents

一种面向智能家居的用户可监管匿名身份认证方法 Download PDF

Info

Publication number
CN111884991A
CN111884991A CN202010511958.2A CN202010511958A CN111884991A CN 111884991 A CN111884991 A CN 111884991A CN 202010511958 A CN202010511958 A CN 202010511958A CN 111884991 A CN111884991 A CN 111884991A
Authority
CN
China
Prior art keywords
user
authentication
application server
transaction
fpk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010511958.2A
Other languages
English (en)
Other versions
CN111884991B (zh
Inventor
吕秋云
李�昊
邓智宁
刘隽良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Qiangua Information Technology Co.,Ltd.
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202010511958.2A priority Critical patent/CN111884991B/zh
Publication of CN111884991A publication Critical patent/CN111884991A/zh
Application granted granted Critical
Publication of CN111884991B publication Critical patent/CN111884991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种面向智能家居的用户可监管匿名身份认证方法。本发明涉及IFTTT服务器、用户、智能设备、应用服务器和区块链。本发明首先***进行初始化,生成***所需参数;然后,用户U和应用服务器向IS注册以及智能设备SD向用户U注册;接着,智能设备SD代表用户U访问应用服务器实现匿名双向认证,双向认证完毕后,应用服务器向区块链写入认证结果;最后用户U通过自己的私钥和IS‑认证密钥监管自己的智能设备SD,最终实现可监管的匿名认证协议。本发明引入区块链技术,构建用户可监管的智能设备访问外网时的匿名认证方法,利用区块链不可篡改的特性,用户可以随时通过区块链监管智能设备的所有行为,从而实现完全控制该智能设备。

Description

一种面向智能家居的用户可监管匿名身份认证方法
技术领域
本发明涉及匿名认证技术领域,具体涉及一种面向智能家居的用户可监管匿名身份认证方法。
背景技术
随着机器学习、人工智能技术的飞速发展,具备自治和保姆式服务的智能家居网正变得越来越普及。智能家居设备不仅可以感知家庭环境,而且可以自主的为家庭用户做出各种行为,如访问外网进行购买、订阅、请求帮助、能源分享等等,使得用户可以轻松享受生活。
在这种场景下,虽然已经有一些匿名身份认证技术被提出;但是,所提出的协议不能满足用户对智能设备代表用户执行的各种网络行为进行随时监管的需求。因此,本发明提出了智能家居网内智能设备代表用户访问外网服务场景下的、用户可监管的匿名认证方法,使得智能家居访问应用服务时的匿名性的同时允许用户监管。
发明内容
本发明主要针对先存在的匿名身份认证技术的不足,提供的一种一种面向智能家居的用户可监管匿名身份认证方法。本发明包括IFTTT服务器、用户、智能设备、应用服务器和区块链组件,各个组件交互步骤如下:
(1)***初始化;IFTTT服务器、用户和区块链分别初始化,生成***所需参数;
(2)用户和应用服务器分别向IFTTT服务器注册;获取各自的IS-认证密钥用以证明自己的真实性和合法性;
(3)智能设备向用户注册;智能设备在进行外网访问前,需要向用户进行注册,以获得用户的IS-认证密钥以及用户的身份ID;而用户端通过管理授权智能设备的ID和对应的公钥实现后续监管;
(4)智能设备代表用户访问应用服务器实现匿名双向认证;智能设备生成可供用户监管的公钥,并使用用户的IS-认证密钥和身份ID,向应用服务器发起认证请求,实现匿名的双向认证;
(5)认证结果上链;双向认证完毕后,应用服务器向区块链写入认证结果,将本次认证的智能设备的公钥和对所认证公钥的签名等信息以区块链业务交易的形式存储到区块链中;
(6)用户监管智能设备;用户通过自己的私钥SKU解密属于自己智能设备产生的一次性公钥,然后利用自己的IS-认证密钥
Figure BDA0002528652020000021
解密出该智能设备和应用服务器通信的会话密钥从而实现完全监管。
进一步的,步骤(1)所述的初始化,具体如下:
IFTTT服务器初始化:为应用服务器和用户提供可信IS-认证密钥准备好参数;用户初始化:为内部的智能设备安全通信准备好参数;区块链初始化:基于双线性映射加密方案的参数,为所有用户和智能设备的监管准备好参数;具体实现如下:
1-1.用户U单独为家居网内智能设备初始化参数和公私钥对:
用户U首先选择一个大素数pu,并在有限域
Figure BDA0002528652020000022
下选择一条椭圆曲线
Figure BDA0002528652020000023
接着,用户U选择一个阶为nu的椭圆曲线
Figure BDA0002528652020000024
上的一个基点Pu,以及一个随机数xu,计算Qu=xu·Pu;然后,用户U秘密保存自己的私钥SKU=xu;当智能设备注册时,用户将其公钥PKU=Qu和参数{Epu(au,bu),pu,Pu}发给智能设备;
1-2.区块链平台为所有的用户初始化***公共参数
区块链平台为所有用户选定一个双线性群
Figure BDA0002528652020000025
生成元
Figure BDA0002528652020000026
并令P1=ψ(P2),同时选择函数
Figure BDA0002528652020000027
Figure BDA0002528652020000028
形成公共参数:
Figure BDA0002528652020000029
其中p为群
Figure BDA00025286520200000210
的阶,
Figure BDA00025286520200000213
为双线性映射函数——Weil配对算法;明文空间
Figure BDA00025286520200000211
密文空间
Figure BDA00025286520200000212
当智能设备注册时,用户将其从区块链平台获得的公共参数pp发给智能设备。
进一步的,步骤(2)和步骤(3)所述的注册其具体实现如下:
2-1.用户Ui通过IFTTT网关HGig向IFTTT服务器IS注册并获取IS-认证密钥
Figure BDA0002528652020000031
注册完成后,IS并不存储认证密钥
Figure BDA0002528652020000032
及任何用户相关信息;IFTTT网关HGig备份存储
Figure BDA0002528652020000033
信息,用以预防用户的智能手机丢失后的恢复;用户Ui则存储
Figure BDA0002528652020000034
其中EIDi为用户注册时预留的恢复
Figure BDA0002528652020000035
用的扩展信息生成的伪名,user_secret是存储认证相关的随机数对,VL是为了实现本地用户密码验证的校验值;
所述的智能手机是指控制智能设备的客户端;
2-2.应用服务器Sj向IFTTT服务器IS注册并获取IS-认证密钥
Figure BDA0002528652020000036
注册完成后,应用服务器Sj存储
Figure BDA0002528652020000037
其中noncej=(r1j,r2j)是注册时产生的随机数对,即r1j和r2j均为随机数,SIDj为对用户公开的身份;而IFTTT服务器IS并不存储
Figure BDA0002528652020000038
仅仅存储Sj的伪名及相关信息{rSIDj,mr2j},其中
Figure BDA0002528652020000039
Figure BDA00025286520200000310
同时将应用服务器的公钥
Figure BDA00025286520200000311
和私钥r2j分别用PKAS和SKAS表示;
2-3.智能设备SDt向用户U注册:
SDt生成公私钥对:SDt根据自己的身份标识tID∈{0,1}*生成
Figure BDA00025286520200000312
接着生成随机数
Figure BDA00025286520200000313
生成私钥:
Figure BDA00025286520200000314
Figure BDA00025286520200000315
秘密保存,并计算
Figure BDA00025286520200000316
形成SDt的公钥信息pk:
Figure BDA00025286520200000317
SDt向用户U注册:
①智能设备发起请求,从用户U处获得公钥PKU,参数
Figure BDA00025286520200000318
以及公共参数pp;
②SDt使用用户的U的公钥PKU执行基于椭圆曲线的加密消息
Figure BDA00025286520200000319
并发送给用户U;
③用户U收到RM1后,利用自己的私钥进行解密获得
Figure BDA0002528652020000041
用户根据智能设备的tID,重新计算其H1运算的结果与
Figure BDA0002528652020000042
比对是否一致,来验证该智能设备是否属于自己的智能设备;如果一致,用户U首先保存好SDt的公钥信息pk;并生成随机数μ1,μ2∈{0,1}*,将要传输的IS-认证密钥
Figure BDA0002528652020000043
以及用户的身份rIDi,做如下计算:
Figure BDA0002528652020000044
r2=H3(rIDi||μ2)
Figure BDA0002528652020000045
Figure BDA0002528652020000046
回送{RM2,RM3}给智能设备SDt,为方便后面描述简记RM2和RM3如下:RM2={RM2L,RM2R},RM3={RM3L,RM3R};
④SDt收到后,使用私钥
Figure BDA0002528652020000047
以及RM2,计算出
Figure BDA0002528652020000048
Figure BDA0002528652020000049
接着,取出RM2的RM2R,进行如下操作,计算出
Figure BDA00025286520200000410
和μ′1
Figure BDA00025286520200000411
因为,
Figure BDA00025286520200000412
Figure BDA00025286520200000413
接着,SDt使用
Figure BDA00025286520200000414
然后再计算r′1P1是否等于RM2L(即r1P1),如果相等,则保存
Figure BDA00025286520200000415
否则终止;
SDt用上面第③④步相同的计算,从RM3中取出rIDi并存储:
使用私钥
Figure BDA00025286520200000416
以及RM3,计算出
Figure BDA00025286520200000417
接着,取出RM3的RM3R,进行如下操作,计算出rID′j和μ′2
Figure BDA00025286520200000418
因为,
Figure BDA00025286520200000419
Figure BDA00025286520200000420
接着,SDt使用H3(rID′i||μ′2)=r′2,然后再计算r′2P1是否等于RM3L(即r2P1),如果相等,则保存rIDi,否则终止;
至此,智能设备存储自己的公钥信息pk,秘密保存存储
Figure BDA0002528652020000051
进一步的,步骤(4)所述的匿名双向认证,智能设备SDt代表用户U向应用服务器AS访问时,每一次应用业务访问均生成一次性伪公钥(FPK):
3-1智能设备SDt生成一次性伪公钥FPK向服务器AS发起认证请求:
SDt首先获取应用服务器的身份SIDj及相应的公钥PKAS,并随机生成k以及点Qt=(x,y),进行如下计算:
Figure BDA0002528652020000052
Figure BDA0002528652020000053
接着,SDt生成随机数
Figure BDA0002528652020000054
Ppub=t·P1,生成一次性伪公钥
Figure BDA0002528652020000055
Figure BDA0002528652020000056
其中,
Figure BDA0002528652020000057
因为:
Figure BDA0002528652020000058
Figure BDA0002528652020000059
并生成伪公钥对应的私钥:FSK=t·FPK,存储于本地用于完成后续的交互所需;
再者,计算mM2=PXor(M2,Qt),mFPK=PXor(FPK,Qt),mPpub=PXor(Ppub,Qt),Vu=h(M1||SIDj||FPK||Ppub||T1),V=h(mM2,M3,mFPK,mPpub,Vu,T1);
所述的PXor操作,具体如下:
定义1:PXor(A,B);表示点A和点B的横纵坐标分别做异或
Figure BDA00025286520200000510
操作,即
Figure BDA00025286520200000511
定义2:PXor(a,B);表示数a和点B的横纵坐标都做异或
Figure BDA00025286520200000512
操作,即
Figure BDA00025286520200000513
最后,SDt发送{mM2,M3,mFPK,mPpub,Vu,T1,V}给应用服务器;需要说明的是当一次业务需要多次不同时间登录进行操作时,需要多次认证的话,Qt是每次登录认证时随机生成的,其他的对应一次业务不变;
3-2.应用服务器AS认证智能设备SDt
应用服务器收到后,首先检查Tnow-T1≤ΔT是否符合?其中Tnow指AS收到信息的时刻,T1指SDt发送信息的时刻,ΔT指***设置的阈值;如果上述表达式结果符合条件,则计算h(mM2,M3,mFPK,mPpub,Vu,T1)并验证是否与收到V一致?若不一致,则终止认证;否则应用服务器首先用自己的私钥SKAS从M3中解密出
Figure BDA0002528652020000061
计算
Figure BDA00025286520200000612
Figure BDA00025286520200000613
Figure BDA0002528652020000062
FPK*=PXor(mFPK,Qt *),
Figure BDA0002528652020000063
以及
Figure BDA0002528652020000064
Figure BDA0002528652020000065
验证
Figure BDA0002528652020000066
如果相等,应用服务器认为该SDt代表的用户为合法用户;接着,应用服务器计算HQt *=(h(x*),h(y*)),
Figure BDA0002528652020000067
最后将{M4,T2,h(M4,T2)}返回给智能设备SDt
3-3智能设备SDt认证应用服务器AS并确认会话密钥
SDt收到后,检查T′now-T2≤ΔT是否符合,其中T′now指SDt收到信息的时刻,F2指AS发送信息的时刻,ΔT指***设置的阈值,若不符合终止认证,否则计算HQt′=PXor(M4,M1)=(x′,y′),同时计算HQt=(h(x),h(y)),并判断HQt′=HQt是否成立?如果成立则说明该应用服务器为IFTTT服务器认证的合法应用服务器,同时将h(M1)作为本次通话的会话密钥;
接着,SDt随机生成r,计算出
Figure BDA0002528652020000068
Figure BDA0002528652020000069
因为
Figure BDA00025286520200000610
Figure BDA00025286520200000611
同时,计算M5=PXor(HQt,Qt),M6=PXor(r,Qt),mSignFSK(FPK)=PXor(SignFSK(FPK),Qt),V=h(M5,M6,mSignFSK(FPK),T3);
最后,向应用服务器回送{M5,M6,mSignFSK(FPK),T3,V};
3-4应用服务器AS确认会话密钥
应用服务器收到后,检查T″now-T3≤ΔT是否符合,其中T″now指AS收到信息的时刻,T3指SDt发送信息的时刻,ΔT指***设置的阈值;如果上述表达式结果符合条件,接着验证h(M5,M6,mSignFSK(FPK),T3)是否与V符合,若不符合终止认证,否则计算PXor(HQt *,Qt *)是否与M5相等?如果相等则说明智能设备SDt已经认证完毕并已确定了本次会话密钥
Figure BDA0002528652020000071
同时认为Qt *=Qt,然后计算r=PXor(M6,Qt *),SignFSK(FPK)=PXor(mSignFSK(FPK),Qt *),执行上链操作,详见权力要求5;上链操作完毕,应用服务器也将
Figure BDA0002528652020000072
作为本次通话的会话密钥,后续的业务流程将使用该密钥完成。
进一步的,认证结果上链保存特征实现如下:
认证结束时,应用服务器将身份认证结果写入到区块链中;区块链的交易是以应用服务器的公钥作为地址发出的交易,除了含有应用服务器的签名、身份SIDj外,必须包含智能设备SDt的FPK,r,SignFSK(FPK),Ppub,Time1,其中Time1为交易生成时间,其与SignFSK(FPK)中隐含的T3之间的距离必须小于ΔT,矿工验证才能通过,确认其为新鲜的真实认证交易;
4-1.认证结果交易上链
为了完成有效的业务监管,智能设备和应用服务器完成双向认证后,应用服务器发起Type为Auth的交易,即
Figure BDA0002528652020000073
其中Tcontent为:
{SIDj,FPK,r,SignFSK(FPK),Ppub,Time1,
Figure BDA0002528652020000074
矿工收到该交易后,确认该交易是Auth类型,判断Tin中的前一交易Tpre和输入脚本
Figure BDA0002528652020000075
是否均为
Figure BDA0002528652020000076
如果不是就终止;否则首先使用FPK,r,Ppub,计算
Figure BDA0002528652020000077
然后再计算
Figure BDA0002528652020000078
矿工首先判断FPK*是否等于FPK,接着判断Time1-T3≤ΔT,其中ΔT是预留的传输时延的阈值;如果均满足,则验证签名
Figure BDA0002528652020000081
是否正确;如果三项验证均满足,矿工将该交易打包上链;上链完成后,应用服务器才确认此次认证成功,并确定此次业务的密钥为
Figure BDA0002528652020000082
4-2.认证后业务交易上链
当应用服务器和智能设备SDt后续进行业务交互产生需要监管的数据时,其产生Type为Merch的交易,Tin是中的前一交易Tpre必须是Type为Auth的交易或者一个可以追溯到Auth交易的一个Merch交易;
如果该交易由应用服务器发起,可表示为:
Figure BDA0002528652020000083
其中Tcontent为:
{SIDj,FPK,r,Ppub,M,SignFSK(M),Time1,
Figure BDA0002528652020000084
其中,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据,其可以随时供应用服务器和智能设备查阅,同时方便用户U监管自己的智能设备;
Figure BDA0002528652020000085
Figure BDA0002528652020000086
为基于椭圆曲线算法的签名过程;Time为智能设备SDt对业务内容进行签名的时间,Time1为交易生成时间。
如果该交易由智能设备SDt发起,可表示为
Figure BDA0002528652020000087
其中Tcontent为:
Figure BDA0002528652020000088
Figure BDA0002528652020000089
同样的,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据;
Figure BDA0002528652020000091
为基于椭圆曲线算法的签名过程;Time为应用服务器对业务内容进行签名的时间,Time1为交易生成时间;其中:
Figure BDA0002528652020000092
矿工收到应用服务器发起的业务交易后,首先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用FPK,r,Ppub,计算
Figure BDA0002528652020000093
Figure BDA0002528652020000094
然后再计算
Figure BDA0002528652020000095
矿工首先判断M*是否等于M,如果相等则进一步判断Time1-Time≤ΔT;其中ΔT是预留的传输时延的阈值;最后验证签名
Figure BDA0002528652020000096
是否正确;如果三项验证均满足,矿工将该交易打包上链;
矿工收到智能设备SDt发起的交易验证过程同上,具体为:
矿工收到智能设备SDt发起的业务交易后,同样先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用PKAS
Figure BDA0002528652020000097
取出M*和Time,并判断M*是否等于M,如果相等则使用FPK,r,Ppub,计算
Figure BDA0002528652020000098
然后再计算
Figure BDA0002528652020000099
Figure BDA00025286520200000910
Figure BDA00025286520200000911
矿工首先判断
Figure BDA00025286520200000912
以及SIDj *=SIDj,FPK*=FPK,r*=r,Ppub *=Ppub
Figure BDA00025286520200000913
如果均相等则进一步判断Time1*-Time≤ΔT;其中ΔT是预留的传输时延的阈值;如果三项验证均满足,矿工将该交易打包上链。
进一步的,监管特征实现如下:
用户通过查询区块链交易,针对每个交易的FPK,首先使用自己的私钥SKU进行解密,如果可以成功解密出
Figure BDA0002528652020000101
Figure BDA0002528652020000102
同时再使用
Figure BDA0002528652020000103
验证签名
Figure BDA0002528652020000104
一致的情况下,即可说明此交易的FPK是用户所属智能设备进行的操作,为进一步查阅其后续业务数据流,用户U使用自己的
Figure BDA0002528652020000105
进行
Figure BDA0002528652020000106
同时计算出h(M1)为本次会话的会话密钥,从而可以解密后续业务数据的密文M进行监管。
本发明有益效果:
本发明引入区块链技术,构建用户可监管的智能设备访问外网时的匿名认证方法,利用区块链不可篡改的特性,用户可以随时通过区块链监管智能设备的所有行为,从而实现完全控制该智能设备。
附图说明
图1***模型图;
图2整体流程图;
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1和2所示,一种面向智能家居的用户可监管匿名身份认证方法,其特征在于包括IFTTT服务器、用户、智能设备、应用服务器和区块链组件,各个组件交互步骤如下:
1初始化在该过程中,IFTTT服务器初始化:为应用服务器和用户提供可信IS-认证密钥准备好参数;其次,用户初始化:为内部的智能设备安全通信准备好参数;最后,区块链初始化:基于双线性映射加密方案的参数,为所有用户和智能设备的监管准备好参数。
1-1用户U单独为家居网内智能设备初始化参数和公私钥对
用户U首先选择一个大素数pu,并在有限域
Figure BDA0002528652020000107
下选择一条椭圆曲线
Figure BDA0002528652020000108
接着,U选择一个阶为nu的椭圆曲线
Figure BDA0002528652020000109
上的一个基点Pu,以及一个随机数xu,计算Qu=xu·Pu。然后,U秘密保存自己的私钥SKU=xu;当智能设备注册时,用户将其公钥PKU=Qu和参数
Figure BDA0002528652020000111
发给智能设备。
1-2区块链平台为所有的用户初始化***公共参数
区块链平台为所有用户选定一双线性群
Figure BDA0002528652020000112
生成元
Figure BDA0002528652020000113
并令P1=ψ(P2),同时选择函数
Figure BDA0002528652020000114
Figure BDA0002528652020000115
形成公共参数:
Figure BDA0002528652020000116
其中p为群
Figure BDA0002528652020000117
的阶,
Figure BDA00025286520200001120
为双线性映射函数——Weil配对算法。明文空间
Figure BDA0002528652020000118
密文空间
Figure BDA0002528652020000119
当智能设备注册时,用户将其从区块链平台获得的公共参数pp发给智能设备。
2用户和应用服务器分别向IFTTT服务器注册用户和应用服务器均事先向IFTTT服务器注册并获得IS-认证密钥方可进行下一步。
2-1用户Ui通过IFTTT网关HGig向IFTTT服务器IS注册并获取IS-认证密钥
Figure BDA00025286520200001110
注册完成后,IS并不存储认证密钥
Figure BDA00025286520200001111
及任何用户相关信息;IFTTT网关HGig备份存储
Figure BDA00025286520200001112
信息,用以预防用户智能手机丢失时的恢复;用户Ui则存储
Figure BDA00025286520200001113
其中EIDi为用户注册时预留的恢复
Figure BDA00025286520200001114
用的扩展信息生成的伪名,user_secret是存储认证相关的随机数对,VL是为了实现本地用户密码验证的校验值。
2-2应用服务器Sj向IFTTT服务器IS注册并获取IS-认证密钥
Figure BDA00025286520200001115
注册完成后,Sj存储
Figure BDA00025286520200001116
其中noncej=(r1j,r2j)是注册时产生的随机数对,即r1j和r2j均为随机数,SIDj为对用户公开的身份;而IFTTT服务器IS并不存储
Figure BDA00025286520200001117
仅仅存储Sj的伪名及相关信息{rSIDj,mr2j},其中rSIDj=h(SIDj||r1j),
Figure BDA00025286520200001118
为方便理解,将应用服务器的公钥
Figure BDA00025286520200001119
和私钥r2j分别用PKAS和SKAS表示。
智能设备向用户注册:智能设备SDt向用户U注册
3-1SDt生成公私钥对:SDt根据自己的身份标识tID∈{0,1}*生成
Figure BDA0002528652020000121
接着生成随机数
Figure BDA0002528652020000122
生成私钥:
Figure BDA0002528652020000123
秘密保存,并计算
Figure BDA0002528652020000124
形成SDt的公钥信息pk:
Figure BDA0002528652020000125
3-2 SDt向用户U注册:
(1)智能设备发起请求,从用户U处获得公钥PKU,参数{Epu(au,bu),pu,Pu}以及公共参数pp。
(2)SDt使用用户的U的公钥PKU执行基于椭圆曲线的加密消息
Figure BDA0002528652020000126
并发送给用户U。
(3)U收到RM1后,利用自己的私钥进行解密获得
Figure BDA0002528652020000127
用户根据智能设备的tID,重新计算其H1运算的结果与
Figure BDA0002528652020000128
比对是否一致,来验证该智能设备是否属于自己的智能设备。如果一致,用户U首先保存好SDt的公钥信息pk;并生成随机数μ1,μ2∈{0,1}*,将要传输的IS-认证密钥
Figure BDA0002528652020000129
以及用户的身份rIDi,做如下计算:
Figure BDA00025286520200001210
r2=H3(rIDi||μ2)
Figure BDA00025286520200001211
Figure BDA00025286520200001212
回送{RM2,RM3}给智能设备SDt,为方便后面描述简记RM2和RM3如下:RM2={RM2L,RM2R},RM3={RM3L,RM3R}。
(4)SDt收到后,使用私钥
Figure BDA00025286520200001213
以及RM2,计算出
Figure BDA00025286520200001214
Figure BDA00025286520200001215
接着,取出RM2的RM2R,进行如下操作,计算出
Figure BDA00025286520200001216
和μ′1
Figure BDA00025286520200001217
因为,
Figure BDA00025286520200001218
Figure BDA00025286520200001219
接着,SDt使用
Figure BDA00025286520200001220
然后再计算r′1P1是否等于RM2L(即r1P1),如果相等,则保存
Figure BDA00025286520200001221
否则终止。SDt用上面第(3)(4)步相同的计算,从RM3中取出rIDi并存储。至此,智能设备存储自己的公钥信息pk,秘密保存存储
Figure BDA0002528652020000131
智能设备代表用户访问应用服务器实现匿名双向认证:智能设备SDt代表用户向应用服务器AS访问时,每一次应用业务访问均生成伪公钥(FPK):例如购买行为中的一个订单交易对应一个FPK;智能设备SDt与应用服务器AS的匿名认证流程如表1所示。
表1 SDt与AS匿名认证流程
Figure BDA0002528652020000132
Figure BDA0002528652020000141
4-1智能设备SDt生成一次性业务公钥FPK向服务器AS发起认证请求
SDt首先获取应用服务器的身份SIDj及相应的公钥PKAS,并随机生成k以及点Qt=(x,y),进行如下计算:
Figure BDA0002528652020000142
M2=k·rIDi
Figure BDA0002528652020000143
接着,SDt生成随机数
Figure BDA0002528652020000144
Ppub=t·P1,生成一次性公钥
Figure BDA0002528652020000145
Figure BDA0002528652020000146
其中,
Figure BDA0002528652020000147
因为:
Figure BDA0002528652020000148
Figure BDA0002528652020000149
并生成私钥:FSK=t·FPK,存储于本地用于完成后续的交互所需。
再者,计算mM2=PXor(M2,Qt),mFPK=PXor(FPK,Qt),mPpub=PXor(Ppub,Qt),Vu=h(M1||SIDj||FPK||Ppub||T1),V=h(mM2,M3,mFPK,mPpub,Vu,T1)。
最后,SDt发送{mM2,M3,mFPK,mPpub,Vu,T1,V}给应用服务器;需要说明的是当一次业务需要多次不同时间登录进行操作时,需要多次认证的话,Qt是每次登录认证时随机生成的,其他的对应一次业务不变。
4-2应用服务器AS认证智能设备SDt
应用服务器收到后,首先检查Tnow-T1≤ΔT是否符合?其中Tnow指AS收到信息的时刻,T1指SDt发送信息的时刻,ΔT指***设置的阈值;如果符合,则计算h(mM2,M3,mFPK,mPpub,Vu,T1)并验证是否与收到V一致?若不一致,则终止认证;否则应用服务器首先用自己的私钥SKAS从M3中解密出
Figure BDA0002528652020000151
计算
Figure BDA0002528652020000152
FPK*=PXor(mFPK,Qt *),
Figure BDA0002528652020000153
以及
Figure BDA0002528652020000154
Figure BDA0002528652020000155
验证
Figure BDA0002528652020000156
如果相等,应用服务器认为该SDt代表的用户为合法用户;接着,应用服务器计算HQt *=(h(x*),h(y*)),
Figure BDA0002528652020000157
最后将{M4,T2,h(M4,T2)}返回给智能设备SDt
4-3智能设备SDt认证应用服务器AS并确认会话密钥
SDt收到后,检查T′now-T2≤ΔT是否符合,其中T′now指SDt收到信息的时刻,T2指AS发送信息的时刻,ΔT指***设置的阈值,若不符合终止认证,否则计算HQt′=PXor(M4,M1)=(x′,y′),同时计算HQt=(h(x),h(y)),并判断HQt′=HQt是否成立?如果成立则说明该应用服务器为IFTTT服务器认证的合法应用服务器,同时将h(M1)作为本次通话的会话密钥。
接着,SDt随机生成r,计算出
Figure BDA0002528652020000158
Figure BDA0002528652020000159
因为
Figure BDA00025286520200001510
Figure BDA00025286520200001511
同时,计算M5=PXor(HQt,Qt),M6=PXor(r,Qt),mSignFSK(FPK)=PXor(SignFSK(FPK),Qt),V=h(M5,M6,mSignFSK(FPK),T3)。
最后,向应用服务器回送{M5,M6,mSignFSK(FPK),T3,V}。
4-4应用服务器AS确认会话密钥
应用服务器收到后,检查T″now-T3≤ΔT是否符合,其中T″now指AS收到信息的时刻,T3指SDt发送信息的时刻,ΔT指***设置的阈值;并验证h(M5,M6,mSignFSK(FPK),T3)是否与V符合,若不符合终止认证,否则计算PXor(HQt *,Qt *)是否与M5相等?如果相等则说明智能设备SDt已经认证完毕并已确定了本次会话密钥
Figure BDA0002528652020000161
同时认为Qt *=Qt,然后计算r=PXor(M6,Qt *),SignFSK(FPK)=PXor(mSignFSK(FPK),Qt *),执行上链操作,详见权力要求5;上链操作完毕,应用服务器也将
Figure BDA0002528652020000162
作为本次通话的会话密钥,后续的业务流程将使用该密钥完成。
认证结果上链保存:SAA-DAES协议中用户可监管的认证交易格式Tx,描述如下所示:
Figure BDA0002528652020000163
Tid是交易标识;Ttype表示本交易的类型,为了实现用户全程监管,交易可以分为{Auth,Merch}两种类型,其中Auth表示Tcontent为认证结果,Merch表示Tcontent为交互业务记录;Tin表示交易的输入项,即交易成立前验证所需参数和智能合约(脚本);Tout表示交易的输出项,即交易传递给下一交易生成验证时所需参数和智能合约(脚本)。为更清晰阐述,Tx格式可表示为表2。
表2认证交易Tx
Figure BDA0002528652020000164
其中,Tpre表示前一次交易;
Figure BDA0002528652020000165
是一个输入脚本,用于验证本交易有效性;ω是一个输出脚本,给出获取交易Tx中内容所需条件;PKi,PKj是交易发起者和交易接收者的公钥(地址);对应的,SKi是交易发起者的私钥。body包括Tpre,Ttype,Tcontent,PKi,PKj;σ表示交易发起者对该交易的签名;如果该交易是一个初始交易,那么它的输入前一交易和脚本为空,可用
Figure BDA0002528652020000166
表示。
认证结束时,应用服务器将身份认证结果写入到区块链中。区块链的交易是以应用服务器的公钥作为地址发出的交易,除了含有应用服务器的签名、身份SIDj外,必须包含智能设备SDt的FPK,r,SignFSK(FPK),Ppub,Time1,其中Time1为交易生成时间,其与SignFSK(FPK)中隐含的T3之间的距离必须小于ΔT,矿工验证才能通过,确认其为新鲜的真实认证交易;
5-1认证结果交易上链
为了完成有效的业务监管,智能设备和应用服务器完成双向认证后,应用服务器发起Type为Auth的交易,即
Figure BDA0002528652020000171
其中Tcontent为:
{SIDj,FPK,r,SignFSK(FPK),Ppub,Time1,
Figure BDA0002528652020000172
矿工收到该交易后,确认该交易是Auth类型,判断Tin中的前一交易Tpre和输入脚本
Figure BDA0002528652020000173
是否均为
Figure BDA0002528652020000174
如果不是就终止;否则首先使用FPK,r,Ppub,计算
Figure BDA0002528652020000175
然后再计算
Figure BDA0002528652020000176
矿工首先判断FPK*是否等于FPK,接着判断Time1-T3≤ΔT(其中ΔT是预留的传输时延的阈值,防止重放攻击);如果均满足,则验证签名
Figure BDA0002528652020000177
是否正确;如果三项验证均满足,矿工将该交易打包上链。上链完成后,应用服务器才确认此次认证成功,并确定此次业务的密钥为
Figure BDA0002528652020000178
5-2认证后业务交易上链
当应用服务器和智能设备SDt后续进行业务交互产生需要监管的数据时,其产生Type为Merch的交易,Tin是中的前一交易Tpre必须是Type为Auth的交易或者一个可以追溯到Auth交易的一个Merch交易。
如果该交易由应用服务器发起,可表示为:
Figure BDA0002528652020000179
其中Tcontent为:
{SIDj,FPK,r,Ppub,M,SignFSK(M),Time1,
Figure BDA0002528652020000181
如果该交易由智能设备SDt发起,可表示为
Figure BDA0002528652020000182
其中Tcontent为:
Figure BDA0002528652020000183
Figure BDA0002528652020000184
需要说明的是,此时的M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据,其可以随时供应用服务器和智能设备查阅,同时方便用户U监管自己的智能设备。
矿工收到应用服务器发起的业务交易后,首先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用FPK,r,Ppub,计算
Figure BDA0002528652020000185
Figure BDA0002528652020000186
然后再计算
Figure BDA0002528652020000187
矿工首先判断M*是否等于M,接着判断Time1-Time≤ΔT(其中ΔT是预留的传输时延的阈值,防止重放攻击);最后验证签名
Figure BDA0002528652020000188
是否正确;如果三项验证均满足,矿工将该交易打包上链。
矿工收到智能设备SDt发起的交易验证过程如上,不做赘述。
用户监管智能设备:用户通过查询区块链交易,针对每个交易的FPK,首先使用自己的私钥SKU进行解密,如果可以成功解密出
Figure BDA0002528652020000189
同时再使用
Figure BDA00025286520200001814
验证签名
Figure BDA00025286520200001810
一致的情况下,即可说明此交易的FPK是用户所属智能设备进行的操作,为进一步查阅其后续业务数据流,用户U使用自己的
Figure BDA00025286520200001811
进行
Figure BDA00025286520200001812
Figure BDA00025286520200001813
同时计算出h(M1)为本次会话的会话密钥,从而可以解密后续业务数据的密文M进行监管。

Claims (6)

1.一种面向智能家居的用户可监管匿名身份认证方法,其特征在于包括IFTTT服务器、用户、智能设备、应用服务器和区块链组件,各个组件交互步骤如下:
(1)***初始化;IFTTT服务器、用户和区块链分别初始化,生成***所需参数;
(2)用户和应用服务器分别向IFTTT服务器注册;获取各自的IS-认证密钥用以证明自己的真实性和合法性;
(3)智能设备向用户注册;智能设备在进行外网访问前,需要向用户进行注册,以获得用户的IS-认证密钥以及用户的身份ID;而用户端通过管理授权智能设备的ID和对应的公钥实现后续监管;
(4)智能设备代表用户访问应用服务器实现匿名双向认证;智能设备生成可供用户监管的公钥,并使用用户的IS-认证密钥和身份ID,向应用服务器发起认证请求,实现匿名的双向认证;
(5)认证结果上链;双向认证完毕后,应用服务器向区块链写入认证结果,将本次认证的智能设备的公钥和对所认证公钥的签名等信息以区块链业务交易的形式存储到区块链中;
(6)用户监管智能设备;用户通过自己的私钥SKU解密属于自己智能设备产生的一次性公钥,然后利用自己的IS-认证密钥
Figure FDA0002528652010000014
解密出该智能设备和应用服务器通信的会话密钥从而实现完全监管。
2.根据权利要求1所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于步骤(1)所述的初始化,具体如下:
IFTTT服务器初始化:为应用服务器和用户提供可信IS-认证密钥准备好参数;用户初始化:为内部的智能设备安全通信准备好参数;区块链初始化:基于双线性映射加密方案的参数,为所有用户和智能设备的监管准备好参数;具体实现如下:
1-1.用户U单独为家居网内智能设备初始化参数和公私钥对:
用户U首先选择一个大素数pu,并在有限域
Figure FDA0002528652010000011
下选择一条椭圆曲线
Figure FDA0002528652010000012
接着,用户U选择一个阶为nu的椭圆曲线
Figure FDA0002528652010000013
上的一个基点Pu,以及一个随机数xu,计算Qu=xu·Pu;然后,用户U秘密保存自己的私钥SKU=xu;当智能设备注册时,用户将其公钥PKU=Qu和参数
Figure FDA0002528652010000021
发给智能设备;
1-2.区块链平台为所有的用户初始化***公共参数
区块链平台为所有用户选定一个双线性群
Figure FDA0002528652010000022
生成元
Figure FDA0002528652010000023
并令P1=ψ(P2),同时选择函数
Figure FDA0002528652010000024
Figure FDA0002528652010000025
形成公共参数:
Figure FDA0002528652010000026
其中p为群
Figure FDA0002528652010000027
的阶,
Figure FDA00025286520100000220
为双线性映射函数——Weil配对算法;明文空间
Figure FDA0002528652010000028
密文空间
Figure FDA0002528652010000029
当智能设备注册时,用户将其从区块链平台获得的公共参数pp发给智能设备。
3.根据权利要求2所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于步骤(2)和步骤(3)所述的注册其具体实现如下:
2-1.用户Ui通过IFTTT网关HGig向IFTTT服务器IS注册并获取IS-认证密钥
Figure FDA00025286520100000210
注册完成后,IS并不存储认证密钥
Figure FDA00025286520100000211
及任何用户相关信息;IFTTT网关HGig备份存储
Figure FDA00025286520100000212
信息,用以预防用户的智能手机丢失后的恢复;用户Ui则存储
Figure FDA00025286520100000213
其中EIDi为用户注册时预留的恢复
Figure FDA00025286520100000214
用的扩展信息生成的伪名,user_secret是存储认证相关的随机数对,VL是为了实现本地用户密码验证的校验值;
所述的智能手机是指控制智能设备的客户端;
2-2.应用服务器Sj向IFTTT服务器IS注册并获取IS-认证密钥
Figure FDA00025286520100000215
注册完成后,应用服务器Sj存储
Figure FDA00025286520100000216
其中noncej=(r1j,r2j)是注册时产生的随机数对,即r1j和r2j均为随机数,SIDj为对用户公开的身份;而IFTTT服务器IS并不存储
Figure FDA00025286520100000217
仅仅存储Sj的伪名及相关信息{rSIDj,mr2j},其中rSIDj=h(SIDj||r1j),
Figure FDA00025286520100000218
同时将应用服务器的公钥
Figure FDA00025286520100000219
和私钥r2j分别用PKAS和SKAS表示;
2-3.智能设备SDt向用户U注册:
SDt生成公私钥对:SDt根据自己的身份标识tID∈{0,1}*生成
Figure FDA0002528652010000031
接着生成随机数
Figure FDA0002528652010000032
生成私钥:
Figure FDA0002528652010000033
Figure FDA0002528652010000034
秘密保存,并计算
Figure FDA0002528652010000035
形成SDt的公钥信息pk:
Figure FDA0002528652010000036
SDt向用户U注册:
①智能设备发起请求,从用户U处获得公钥PKU,参数
Figure FDA0002528652010000037
以及公共参数pp;
②SDt使用用户的U的公钥PKU执行基于椭圆曲线的加密消息
Figure FDA0002528652010000038
并发送给用户U;
③用户U收到RM1后,利用自己的私钥进行解密获得
Figure FDA0002528652010000039
用户根据智能设备的tID,重新计算其H1运算的结果与
Figure FDA00025286520100000310
比对是否一致,来验证该智能设备是否属于自己的智能设备;如果一致,用户U首先保存好SDt的公钥信息pk;并生成随机数μ1,μ2∈{0,1}*,将要传输的IS-认证密钥
Figure FDA00025286520100000311
以及用户的身份rIDi,做如下计算:
Figure FDA00025286520100000312
r2=H3(rIDi||μ2)
Figure FDA00025286520100000313
Figure FDA00025286520100000314
回送{RM2,RM3}给智能设备SDt,为方便后面描述简记RM2和RM3如下:RM2={RM2L,RM2R},RM3={RM3L,RM3R};
④SDt收到后,使用私钥
Figure FDA00025286520100000315
以及RM2,计算出
Figure FDA00025286520100000316
Figure FDA00025286520100000317
接着,取出RM2的RM2R,进行如下操作,计算出
Figure FDA00025286520100000318
和μ′1
Figure FDA00025286520100000319
因为,
Figure FDA0002528652010000041
Figure FDA0002528652010000042
接着,SDt使用
Figure FDA0002528652010000043
然后再计算r′1P1是否等于RM2L(即r1P1),如果相等,则保存
Figure FDA0002528652010000044
否则终止;
SDt用上面第③④步相同的计算,从RM3中取出rIDi并存储:
使用私钥
Figure FDA0002528652010000045
以及RM3,计算出
Figure FDA0002528652010000046
接着,取出RM3的RM3R,进行如下操作,计算出rID′i和μ′2
Figure FDA0002528652010000047
因为,
Figure FDA0002528652010000048
Figure FDA0002528652010000049
接着,SDt使用H3(rID′i||μ′2)=r′2,然后再计算r′2P1是否等于RM3L(即r2P1),如果相等,则保存rIDi,否则终止;
至此,智能设备存储自己的公钥信息pk,秘密保存存储
Figure FDA00025286520100000410
4.根据权利要求3所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于步骤(4)所述的匿名双向认证,智能设备SDt代表用户U向应用服务器AS访问时,每一次应用业务访问均生成一次性伪公钥(FPK):
3-1智能设备SDt生成一次性伪公钥FPK向服务器AS发起认证请求:
SDt首先获取应用服务器的身份SIDj及相应的公钥PKAS,并随机生成k以及点Qt=(x,y),进行如下计算:
Figure FDA00025286520100000411
M2=k·rIDi
Figure FDA00025286520100000412
接着,SDt生成随机数
Figure FDA00025286520100000413
Ppub=t·P1,生成一次性伪公钥
Figure FDA00025286520100000414
Figure FDA00025286520100000415
其中,
Figure FDA00025286520100000416
因为:
Figure FDA00025286520100000417
Figure FDA00025286520100000418
并生成伪公钥对应的私钥:FSK=t·FPK,存储于本地用于完成后续的交互所需;
再者,计算mM2=PXor(M2,Qt),mFPK=PXor(FPK,Qt),mPpub=PXor(Ppub,Qt),Vu=h(M1||SIDj||FPK||Ppub||T1),V=h(mM2,M3,mFPK,mPpub,Vu,T1);
所述的PXor操作,具体如下:
定义1:PXor(A,B);表示点A和点B的横纵坐标分别做异或
Figure FDA0002528652010000051
操作,即
Figure FDA0002528652010000052
定义2:PXor(a,B);表示数a和点B的横纵坐标都做异或
Figure FDA0002528652010000053
操作,即
Figure FDA0002528652010000054
最后,SDt发送{mM2,M3,mFPK,mPpub,Vu,T1,V}给应用服务器;需要说明的是当一次业务需要多次不同时间登录进行操作时,需要多次认证的话,Qt是每次登录认证时随机生成的,其他的对应一次业务不变;
3-2.应用服务器AS认证智能设备SDt
应用服务器收到后,首先检查Tnow-T1≤ΔT是否符合?其中Tnow指AS收到信息的时刻,T1指SDt发送信息的时刻,ΔT指***设置的阈值;如果上述表达式结果符合条件,则计算h(mM2,M3,mFPK,mPpub,Vu,T1)并验证是否与收到V一致?若不一致,则终止认证;否则应用服务器首先用自己的私钥SKAS从M3中解密出
Figure FDA0002528652010000055
计算
Figure FDA0002528652010000056
Figure FDA0002528652010000057
以及
Figure FDA0002528652010000058
验证
Figure FDA0002528652010000059
如果相等,应用服务器认为该SDt代表的用户为合法用户;接着,应用服务器计算HQt *=(h(x*),h(y*)),
Figure FDA00025286520100000510
最后将{M4,T2,h(M4,T2)}返回给智能设备SDt
3-3智能设备SDt认证应用服务器AS并确认会话密钥
SDt收到后,检查T′now-T2≤ΔT是否符合,其中T′now指SDt收到信息的时刻,T2指AS发送信息的时刻,ΔT指***设置的阈值,若不符合终止认证,否则计算HQt′=PXor(M4,M1)=(x′,y′),同时计算HQt=(h(x),h(y)),并判断HQt′=HQt是否成立?如果成立则说明该应用服务器为IFTTT服务器认证的合法应用服务器,同时将h(M1)作为本次通话的会话密钥;
接着,SDt随机生成r,计算出
Figure FDA0002528652010000061
Figure FDA0002528652010000062
因为
Figure FDA0002528652010000063
Figure FDA0002528652010000064
同时,计算M5=PXor(HQt,Qt),M6=PXor(r,Qt),mSignFSK(FPK)=PXor(SignFSK(FPK),Qt),V=h(M5,M6,mSignFSK(FPK),T3);
最后,向应用服务器回送{M5,M6,mSignFSK(FPK),T3,V};
3-4应用服务器AS确认会话密钥
应用服务器收到后,检查T″now-T3≤ΔT是否符合,其中T″now指AS收到信息的时刻,T3指SDt发送信息的时刻,ΔT指***设置的阈值;如果上述表达式结果符合条件,接着验证h(M5,M6,mSignFSK(FPK),T3)是否与V符合,若不符合终止认证,否则计算PXor(HQt *,Qt *)是否与M5相等?如果相等则说明智能设备SDt已经认证完毕并已确定了本次会话密钥
Figure FDA0002528652010000065
同时认为Qt *=Qt,然后计算r=PXor(M6,Qt *),SignFSK(FPK)=PXor(mSignFSK(FPK),Qt *),执行上链操作,详见权力要求5;上链操作完毕,应用服务器也将
Figure FDA0002528652010000066
作为本次通话的会话密钥,后续的业务流程将使用该密钥完成。
5.根据权利要求4所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于认证结果上链保存特征实现如下:
认证结束时,应用服务器将身份认证结果写入到区块链中;区块链的交易是以应用服务器的公钥作为地址发出的交易,除了含有应用服务器的签名、身份SIDj外,必须包含智能设备SDt的FPK,r,SignFSK(FPK),Ppub,Time1,其中Time1为交易生成时间,其与SignFSK(FPK)中隐含的T3之间的距离必须小于ΔT,矿工验证才能通过,确认其为新鲜的真实认证交易;
4-1.认证结果交易上链
为了完成有效的业务监管,智能设备和应用服务器完成双向认证后,应用服务器发起Type为Auth的交易,即
Figure FDA0002528652010000071
其中Tcontent为:
Figure FDA0002528652010000072
矿工收到该交易后,确认该交易是Auth类型,判断Tin中的前一交易Tpre和输入脚本
Figure FDA0002528652010000073
是否均为
Figure FDA0002528652010000074
如果不是就终止;否则首先使用FPK,r,Ppub,计算
Figure FDA0002528652010000075
然后再计算
Figure FDA0002528652010000076
矿工首先判断FPK*是否等于FPK,接着判断Time1-T3≤ΔT,其中ΔT是预留的传输时延的阈值;如果均满足,则验证签名
Figure FDA0002528652010000077
是否正确;如果三项验证均满足,矿工将该交易打包上链;上链完成后,应用服务器才确认此次认证成功,并确定此次业务的密钥为
Figure FDA0002528652010000078
4-2.认证后业务交易上链
当应用服务器和智能设备SDt后续进行业务交互产生需要监管的数据时,其产生Type为Merch的交易,Tin是中的前一交易Tpre必须是Type为Auth的交易或者一个可以追溯到Auth交易的一个Merch交易;
如果该交易由应用服务器发起,可表示为:
Figure FDA0002528652010000079
其中Tcontent为:
Figure FDA00025286520100000710
其中,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据,其可以随时供应用服务器和智能设备查阅,同时方便用户U监管自己的智能设备;
Figure FDA0002528652010000081
Figure FDA0002528652010000082
为基于椭圆曲线算法的签名过程;Time为智能设备SDt对业务内容进行签名的时间,Time1为交易生成时间。
如果该交易由智能设备SDt发起,可表示为
Figure FDA0002528652010000083
其中Tcontent为:
Figure FDA0002528652010000084
同样的,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据;
Figure FDA0002528652010000085
为基于椭圆曲线算法的签名过程;Time为应用服务器对业务内容进行签名的时间,Time1为交易生成时间;其中:
Figure FDA0002528652010000086
矿工收到应用服务器发起的业务交易后,首先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用FPK,r,Ppub,计算
Figure FDA0002528652010000087
Figure FDA0002528652010000088
然后再计算
Figure FDA0002528652010000089
矿工首先判断M*是否等于M,如果相等则进一步判断Time1-Time≤ΔT;其中ΔT是预留的传输时延的阈值;最后验证签名
Figure FDA00025286520100000810
是否正确;如果三项验证均满足,矿工将该交易打包上链;
矿工收到智能设备SDt发起的交易验证过程同上,具体为:
矿工收到智能设备SDt发起的业务交易后,同样先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用PKAS
Figure FDA0002528652010000091
取出M*和Time,并判断M*是否等于M,如果相等则使用FPK,r,Ppub,计算
Figure FDA0002528652010000092
然后再计算
Figure FDA0002528652010000093
Figure FDA0002528652010000094
矿工首先判断M**=M,以及SIDj *=SIDj,FPK*=FPK,r*=r,Ppub *=Ppub
Figure FDA0002528652010000095
如果均相等则进一步判断Time1*-Time≤ΔT;其中ΔT是预留的传输时延的阈值;如果三项验证均满足,矿工将该交易打包上链。
6.根据权利要求5所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于监管特征实现如下:
用户通过查询区块链交易,针对每个交易的FPK,首先使用自己的私钥SKU进行解密,如果可以成功解密出
Figure FDA0002528652010000096
Figure FDA0002528652010000097
同时再使用
Figure FDA0002528652010000098
验证签名
Figure FDA0002528652010000099
一致的情况下,即可说明此交易的FPK是用户所属智能设备进行的操作,为进一步查阅其后续业务数据流,用户U使用自己的
Figure FDA00025286520100000910
进行
Figure FDA00025286520100000911
同时计算出h(M1)为本次会话的会话密钥,从而可以解密后续业务数据的密文M进行监管。
CN202010511958.2A 2020-06-08 2020-06-08 一种面向智能家居的用户可监管匿名身份认证方法 Active CN111884991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010511958.2A CN111884991B (zh) 2020-06-08 2020-06-08 一种面向智能家居的用户可监管匿名身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010511958.2A CN111884991B (zh) 2020-06-08 2020-06-08 一种面向智能家居的用户可监管匿名身份认证方法

Publications (2)

Publication Number Publication Date
CN111884991A true CN111884991A (zh) 2020-11-03
CN111884991B CN111884991B (zh) 2022-04-19

Family

ID=73153863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010511958.2A Active CN111884991B (zh) 2020-06-08 2020-06-08 一种面向智能家居的用户可监管匿名身份认证方法

Country Status (1)

Country Link
CN (1) CN111884991B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567640A (zh) * 2022-03-09 2022-05-31 杭州电子科技大学 一种兼具隐私保护和监管的nft确权与流通方法
CN116074119A (zh) * 2023-03-07 2023-05-05 天津电力工程监理有限公司 基于区块链的研究型审计双向认证方法、装置及可读介质
CN116909161A (zh) * 2023-09-11 2023-10-20 南昌理工学院 基于可穿戴设备的智能家居控制方法、***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107342859A (zh) * 2017-07-07 2017-11-10 安徽大学 一种匿名认证方法及其应用
CN107743066A (zh) * 2017-11-07 2018-02-27 中证技术股份有限公司 一种可监管的匿名签名方法及***
CN107851284A (zh) * 2015-04-06 2018-03-27 比特记号公司 用于分散式所有权记录和鉴定的***和方法
CN108768933A (zh) * 2018-04-11 2018-11-06 深圳技术大学(筹) 一种区块链平台上自主可监管数字身份认证***
CN108809953A (zh) * 2018-05-22 2018-11-13 飞天诚信科技股份有限公司 一种基于区块链的匿名身份认证的方法及装置
EP3518188A1 (en) * 2018-01-29 2019-07-31 Accenture Global Solutions Limited Blockchain-based anonymized cryptologic voting

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851284A (zh) * 2015-04-06 2018-03-27 比特记号公司 用于分散式所有权记录和鉴定的***和方法
CN107342859A (zh) * 2017-07-07 2017-11-10 安徽大学 一种匿名认证方法及其应用
CN107743066A (zh) * 2017-11-07 2018-02-27 中证技术股份有限公司 一种可监管的匿名签名方法及***
EP3518188A1 (en) * 2018-01-29 2019-07-31 Accenture Global Solutions Limited Blockchain-based anonymized cryptologic voting
CN108768933A (zh) * 2018-04-11 2018-11-06 深圳技术大学(筹) 一种区块链平台上自主可监管数字身份认证***
CN108809953A (zh) * 2018-05-22 2018-11-13 飞天诚信科技股份有限公司 一种基于区块链的匿名身份认证的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIUYUN LYU: "Remotely Access "My" Smart Home in Private: An Anti-Tracking Authentication and Key Agreement Scheme.", 《IEEE ACCESS》 *
王震等: "可监管匿名认证方案", 《软件学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567640A (zh) * 2022-03-09 2022-05-31 杭州电子科技大学 一种兼具隐私保护和监管的nft确权与流通方法
CN114567640B (zh) * 2022-03-09 2024-02-13 杭州电子科技大学 一种兼具隐私保护和监管的nft确权与流通方法
CN116074119A (zh) * 2023-03-07 2023-05-05 天津电力工程监理有限公司 基于区块链的研究型审计双向认证方法、装置及可读介质
CN116909161A (zh) * 2023-09-11 2023-10-20 南昌理工学院 基于可穿戴设备的智能家居控制方法、***
CN116909161B (zh) * 2023-09-11 2023-12-12 南昌理工学院 基于可穿戴设备的智能家居控制方法、***

Also Published As

Publication number Publication date
CN111884991B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN109347809B (zh) 一种面向自主可控环境下的应用虚拟化安全通信方法
CN104506534B (zh) 安全通信密钥协商交互方案
EP3005608B1 (en) Authentication
CN111884991B (zh) 一种面向智能家居的用户可监管匿名身份认证方法
CN102026195B (zh) 基于一次性口令的移动终端身份认证方法和***
CN111682938B (zh) 面向中心化移动定位***的三方可认证密钥协商方法
CN101902476B (zh) 移动p2p用户身份认证方法
US8971540B2 (en) Authentication
CN113612605A (zh) 使用对称密码技术增强mqtt协议身份认证方法、***和设备
CN112989426B (zh) 授权认证方法及装置、资源访问令牌的获取方法
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN110380859B (zh) 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和***
CN114049121B (zh) 基于区块链的账户重置方法和设备
CN106789032A (zh) 服务器与移动设备间秘密共享的单一口令三方认证方法
CN111277583B (zh) 一种移动云计算的监控***身份认证方法
CN116527279A (zh) 工控网络中安全数据聚合的可验证联邦学习装置及方法
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
CN110866754A (zh) 一种基于动态口令的纯软件dpva身份认证方法
Ma et al. A robust authentication scheme for remote diagnosis and maintenance in 5G V2N
CN112733129B (zh) 一种服务器带外管理的可信接入方法
CN110784305B (zh) 基于不经意伪随机函数和签密的单点登录认证方法
CN111062029A (zh) 一种基于标识密码的多因子认证协议
CN115955320A (zh) 一种视频会议身份认证方法
CN116484426A (zh) 一种基于可信执行环境的医疗数据联邦学习方法及***
Srinivas et al. An authentication framework for roaming service in global mobility networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230825

Address after: Room 2002, Zone A, Huazhou Business Center, No. 1038 Jiangnan Avenue, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: Zhejiang Qiangua Information Technology Co.,Ltd.

Address before: 310018 No. 2 street, Xiasha Higher Education Zone, Hangzhou, Zhejiang

Patentee before: HANGZHOU DIANZI University