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

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

Info

Publication number
CN111884991B
CN111884991B CN202010511958.2A CN202010511958A CN111884991B CN 111884991 B CN111884991 B CN 111884991B CN 202010511958 A CN202010511958 A CN 202010511958A CN 111884991 B CN111884991 B CN 111884991B
Authority
CN
China
Prior art keywords
user
application server
authentication
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.)
Active
Application number
CN202010511958.2A
Other languages
English (en)
Other versions
CN111884991A (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)智能设备代表用户访问应用服务器实现匿名双向认证;智能设备生成可供用户监管的公钥,并使用用户的TS-认证密钥和身份ID,向应用服务器发起认证请求,实现匿名的双向认证;
(5)认证结果上链;双向认证完毕后,应用服务器向区块链写入认证结果,将本次认证的智能设备的公钥和对所认证公钥的签名等信息以区块链业务交易的形式存储到区块链中;
(6)用户监管智能设备;用户通过自己的私钥SKU解密属于自己智能设备产生的一次性公钥,然后利用自己的IS-认证密钥
Figure GDA0003545048920000021
解密出该智能设备和应用服务器通信的会话密钥从而实现完全监管。
进一步的,步骤(1)所述的初始化,具体如下:
IFTTT服务器初始化:为应用服务器和用户提供可信IS-认证密钥准备好参数;用户初始化:为内部的智能设备安全通信准备好参数;区块链初始化:基于双线性映射加密方案的参数,为所有用户和智能设备的监管准备好参数;具体实现如下:
1-1.用户U单独为家居网内智能设备初始化参数和公私钥对:
用户U首先选择一个大素数pu,并在有限域
Figure GDA0003545048920000022
下选择一条椭圆曲线
Figure GDA0003545048920000023
接着,用户U选择一个阶为nu的椭圆曲线
Figure GDA0003545048920000024
上的一个基点Pu,以及一个随机数xu,计算Qu=xu·Pu;然后,用户U秘密保存自己的私钥SKU=xu;当智能设备注册时,用户将其公钥PKU=Qu和参数
Figure GDA0003545048920000025
发给智能设备;
1-2.区块链平台为所有的用户初始化***公共参数
区块链平台为所有用户选定一个双线性群
Figure GDA0003545048920000026
生成元
Figure GDA0003545048920000027
并令P1=ψ(P2),同时选择函数
Figure GDA0003545048920000028
Figure GDA0003545048920000029
形成公共参数:
Figure GDA00035450489200000210
其中p为群
Figure GDA00035450489200000211
的阶,
Figure GDA00035450489200000212
为双线性映射函数——Weil配对算法;明文空间
Figure GDA00035450489200000213
密文空间
Figure GDA00035450489200000214
当智能设备注册时,用户将其从区块链平台获得的公共参数pp发给智能设备。
进一步的,步骤(2)和步骤(3)所述的注册其具体实现如下:
2-1.用户Ui通过IFTTT网关HGig向IFTTT服务器IS注册并获取IS-认证密钥
Figure GDA0003545048920000031
注册完成后,IS并不存储认证密钥
Figure GDA0003545048920000032
及任何用户相关信息;IFTTT网关HGig备份存储
Figure GDA0003545048920000033
信息,用以预防用户的智能手机丢失后的恢复;用户Ui则存储
Figure GDA0003545048920000034
其中EIDi为用户注册时预留的恢复
Figure GDA0003545048920000035
用的扩展信息生成的伪名,user_secret是存储认证相关的随机数对,VL是为了实现本地用户密码验证的校验值;
所述的智能手机是指控制智能设备的客户端;
2-2.应用服务器Sj向IFTTT服务器IS注册并获取IS-认证密钥
Figure GDA0003545048920000036
注册完成后,应用服务器Sj存储
Figure GDA0003545048920000037
其中noncej=(r1j,r2j)是注册时产生的随机数对,即r1j和r2j均为随机数,SIDj为对用户公开的身份;而IFTTT服务器IS并不存储
Figure GDA0003545048920000038
仅仅存储Sj的伪名及相关信息{rSIDj,mr2j},其中
Figure GDA0003545048920000039
Figure GDA00035450489200000310
同时将应用服务器的公钥
Figure GDA00035450489200000311
和私钥r2j分别用PKAS和SKAS表示;
2-3.智能设备SDt向用户U注册:
SDt生成公私钥对:SDt根据自己的身份标识tID∈{0,1}*生成
Figure GDA00035450489200000312
接着生成随机数
Figure GDA00035450489200000313
生成私钥:
Figure GDA00035450489200000314
Figure GDA00035450489200000315
秘密保存,并计算
Figure GDA00035450489200000316
形成SDt的公钥信息pk:
Figure GDA00035450489200000317
SDt向用户U注册:
①智能设备发起请求,从用户U处获得公钥PKU,参数
Figure GDA00035450489200000318
以及公共参数pp;
②SDt使用用户的U的公钥PKU执行基于椭圆曲线的加密消息
Figure GDA00035450489200000319
并发送给用户U;
③用户U收到RM1后,利用自己的私钥进行解密获得
Figure GDA0003545048920000041
用户根据智能设备的tID,重新计算其H1运算的结果与
Figure GDA0003545048920000042
比对是否一致,来验证该智能设备是否属于自己的智能设备;如果一致,用户U首先保存好SDt的公钥信息pk;并生成随机数μ1,μ2∈{0,1}*,将要传输的IS-认证密钥
Figure GDA0003545048920000043
以及用户的身份rIDi,做如下计算:
Figure GDA0003545048920000044
Figure GDA0003545048920000045
Figure GDA0003545048920000046
回送{RM2,RM3}给智能设备SDt,为方便后面描述简记RM2和RM3如下:RM2={RM2L,RM2R},RM3={RM3L,RM3R};
④SDt收到后,使用私钥
Figure GDA0003545048920000047
以及RM2,计算出
Figure GDA0003545048920000048
Figure GDA0003545048920000049
接着,取出RM2的RM2R,进行如下操作,计算出
Figure GDA00035450489200000410
和μ′1
Figure GDA00035450489200000411
因为,
Figure GDA00035450489200000412
Figure GDA00035450489200000413
接着,SDt使用
Figure GDA00035450489200000414
然后再计算r′1P1是否等于RM2L(即r1P1),如果相等,则保存
Figure GDA00035450489200000415
否则终止;
SDt用上面第③④步相同的计算,从RM3中取出rIDi并存储:
使用私钥
Figure GDA00035450489200000416
以及RM3,计算出
Figure GDA00035450489200000417
接着,取出RM3的RM3R,进行如下操作,计算出rID′i和μ′2
Figure GDA00035450489200000418
因为,
Figure GDA00035450489200000419
Figure GDA00035450489200000420
接着,SDt使用H3(rID′i||μ′2)=r′2,然后再计算r′2P1是否等于RM3L(即r2P1),如果相等,则保存rIDi,否则终止;
至此,智能设备存储自己的公钥信息pk,秘密保存存储
Figure GDA0003545048920000051
进一步的,步骤(4)所述的匿名双向认证,智能设备SDt代表用户U向应用服务器AS访问时,每一次应用业务访问均生成一次性伪公钥(FPK):
3-1智能设备SDt生成一次性伪公钥FPK向服务器AS发起认证请求:
SDt首先获取应用服务器的身份SIDj及相应的公钥PKAS,并随机生成k以及点Qt=(x,y),进行如下计算:
Figure GDA0003545048920000052
M2=k·rIDi
Figure GDA0003545048920000053
接着,SDt生成随机数
Figure GDA0003545048920000054
Ppub=t·P1,生成一次性伪公钥
Figure GDA0003545048920000055
Figure GDA0003545048920000056
其中,
Figure GDA0003545048920000057
因为:
Figure GDA0003545048920000058
Figure GDA0003545048920000059
并生成伪公钥对应的私钥: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 GDA00035450489200000510
操作,即
Figure GDA00035450489200000511
定义2:PXor(a,B);表示数a和点B的横纵坐标都做异或
Figure GDA00035450489200000512
操作,即
Figure GDA00035450489200000513
最后,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 GDA0003545048920000061
计算
Figure GDA0003545048920000062
Figure GDA0003545048920000063
FPK*=PXor(mFPK,Qt *),
Figure GDA0003545048920000064
以及
Figure GDA0003545048920000065
Figure GDA0003545048920000066
验证
Figure GDA0003545048920000067
如果相等,应用服务器认为该SDt代表的用户为合法用户;接着,应用服务器计算HQt *=(h(x*),h(y*)),
Figure GDA0003545048920000068
最后将{M4,T2,h(M4,T2)}返回给智能设备SDt
3-3智能设备SDt认证应用服务器AS并确认会话密钥
SDt收到后,检查T′now-T2≤AT是否符合,其中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 GDA0003545048920000069
Figure GDA00035450489200000610
因为
Figure GDA00035450489200000611
Figure GDA00035450489200000612
同时,计算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 GDA0003545048920000071
同时认为Qt *=Qt,然后计算r=PXor(M6,Qt *),SignFSK(FPK)=PXor(mSignFSK(FPK),Qt *),执行上链操作,详见权力要求5;上链操作完毕,应用服务器也将
Figure GDA0003545048920000072
作为本次通话的会话密钥,后续的业务流程将使用该密钥完成。
进一步的,认证结果上链保存特征实现如下:
认证结束时,应用服务器将身份认证结果写入到区块链中;区块链的交易是以应用服务器的公钥作为地址发出的交易,除了含有应用服务器的签名、身份SIDj外,必须包含智能设备SDt的FPK,r,SignFSK(FPK),Ppub,Time1,其中Time1为交易生成时间,其与SignFSK(FPK)中隐含的T3之间的距离必须小于ΔT,节点验证才能通过,确认其为新鲜的真实认证交易;
4-1.认证结果交易上链
为了完成有效的业务监管,智能设备和应用服务器完成双向认证后,应用服务器发起Type为Auth的交易,即
Figure GDA0003545048920000073
其中Tcontent为:
{SIDj,FPK,r,SignFSK(FPK),Ppub,Time1,
Figure GDA0003545048920000074
节点收到该交易后,确认该交易是Auth类型,判断Tin中的前一交易Tpre和输入脚本
Figure GDA0003545048920000075
是否均为
Figure GDA0003545048920000076
如果不是就终止;否则首先使用FPK,r,Ppub,计算
Figure GDA0003545048920000077
然后再计算
Figure GDA0003545048920000078
节点首先判断FPK*是否等于FPK,接着判断Time1-T3≤ΔT,其中ΔT是预留的传输时延的阈值;如果均满足,则验证签名
Figure GDA0003545048920000081
是否正确;如果三项验证均满足,节点将该交易打包上链;上链完成后,应用服务器才确认此次认证成功,并确定此次业务的密钥为
Figure GDA0003545048920000082
4-2.认证后业务交易上链
当应用服务器和智能设备SDt后续进行业务交互产生需要监管的数据时,其产生Type为Merch的交易,Tin是中的前一交易Tpre必须是Type为Auth的交易或者一个可以追溯到Auth交易的一个Merch交易;
如果该交易由应用服务器发起,可表示为:
Figure GDA0003545048920000083
其中Tcontent为:
Figure GDA0003545048920000084
其中,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据,其可以随时供应用服务器和智能设备查阅,同时方便用户U监管自己的智能设备;
Figure GDA0003545048920000085
Figure GDA0003545048920000086
为基于椭圆曲线算法的签名过程;Time为智能设备SDt对业务内容进行签名的时间,Time1为交易生成时间。
如果该交易由智能设备SDt发起,可表示为
Figure GDA0003545048920000087
其中Tcontent为:
Figure GDA0003545048920000088
Figure GDA0003545048920000091
同样的,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据;
Figure GDA0003545048920000092
为基于椭圆曲线算法的签名过程;Time为应用服务器对业务内容进行签名的时间,Time1为交易生成时间;其中:
Figure GDA0003545048920000093
节点收到应用服务器发起的业务交易后,首先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用FPK,r,Ppub,计算
Figure GDA0003545048920000094
Figure GDA0003545048920000095
然后再计算
Figure GDA0003545048920000096
节点首先判断M*是否等于M,如果相等则进一步判断Time1-Time≤ΔT;其中ΔT是预留的传输时延的阈值;最后验证签名
Figure GDA0003545048920000097
是否正确;如果三项验证均满足,节点将该交易打包上链;
节点收到智能设备SDt发起的交易验证过程同上,具体为:
节点收到智能设备SDt发起的业务交易后,同样先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用PKAS
Figure GDA0003545048920000098
取出M*和Time,并判断M*是否等于M,如果相等则使用FPK,r,Ppub,计算
Figure GDA0003545048920000099
然后再计算
Figure GDA00035450489200000910
Figure GDA00035450489200000911
Figure GDA00035450489200000912
节点首先判断M**=M,以及SIDj *=SIDj,FPK*=FPK,r*=r,Ppub *=Ppub
Figure GDA00035450489200000913
Time1*=Time1;如果均相等则进一步判断Time1*-Time≤ΔT;其中ΔT是预留的传输时延的阈值;如果三项验证均满足,节点将该交易打包上链。
进一步的,监管特征实现如下:
用户通过查询区块链交易,针对每个交易的FPK,首先使用自己的私钥SKU进行解密,如果可以成功解密出
Figure GDA0003545048920000101
Figure GDA0003545048920000102
同时再使用
Figure GDA0003545048920000103
验证签名
Figure GDA0003545048920000104
一致的情况下,即可说明此交易的FPK是用户所属智能设备进行的操作,为进一步查阅其后续业务数据流,用户U使用自己的
Figure GDA0003545048920000105
进行
Figure GDA0003545048920000106
同时计算出h(M1)为本次会话的会话密钥,从而可以解密后续业务数据的密文M进行监管。
本发明有益效果:
本发明引入区块链技术,构建用户可监管的智能设备访问外网时的匿名认证方法,利用区块链不可篡改的特性,用户可以随时通过区块链监管智能设备的所有行为,从而实现完全控制该智能设备。
附图说明
图1***模型图;
图2整体流程图;
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1和2所示,一种面向智能家居的用户可监管匿名身份认证方法,其特征在于包括IFTTT服务器、用户、智能设备、应用服务器和区块链组件,各个组件交互步骤如下:
1初始化在该过程中,IFTTT服务器初始化:为应用服务器和用户提供可信IS-认证密钥准备好参数;其次,用户初始化:为内部的智能设备安全通信准备好参数;最后,区块链初始化:基于双线性映射加密方案的参数,为所有用户和智能设备的监管准备好参数。
1-1用户U单独为家居网内智能设备初始化参数和公私钥对
用户U首先选择一个大素数pu,并在有限域
Figure GDA0003545048920000107
下选择一条椭圆曲线
Figure GDA0003545048920000108
接着,U选择一个阶为nu的椭圆曲线
Figure GDA0003545048920000109
上的一个基点Pu,以及一个随机数xu,计算Qu=xu·Pu。然后,U秘密保存自己的私钥SKU=xu;当智能设备注册时,用户将其公钥PKU=Qu和参数
Figure GDA0003545048920000111
发给智能设备。
1-2区块链平台为所有的用户初始化***公共参数
区块链平台为所有用户选定一双线性群
Figure GDA0003545048920000112
生成元
Figure GDA0003545048920000113
并令P1=ψ(P2),同时选择函数
Figure GDA0003545048920000114
Figure GDA0003545048920000115
形成公共参数:
Figure GDA0003545048920000116
其中p为群
Figure GDA0003545048920000117
的阶,
Figure GDA0003545048920000118
为双线性映射函数——Weil配对算法。明文空间
Figure GDA0003545048920000119
密文空间
Figure GDA00035450489200001110
当智能设备注册时,用户将其从区块链平台获得的公共参数pp发给智能设备。
2用户和应用服务器分别向IFTTT服务器注册用户和应用服务器均事先向IFTTT服务器注册并获得IS-认证密钥方可进行下一步。
2-1用户Ui通过IFTTT网关HGig向IFTTT服务器IS注册并获取IS-认证密钥
Figure GDA00035450489200001111
注册完成后,IS并不存储认证密钥
Figure GDA00035450489200001112
及任何用户相关信息;IFTTT网关HGig备份存储
Figure GDA00035450489200001113
信息,用以预防用户智能手机丢失时的恢复;用户Ui则存储
Figure GDA00035450489200001114
其中EIDi为用户注册时预留的恢复
Figure GDA00035450489200001115
用的扩展信息生成的伪名,user_secret是存储认证相关的随机数对,VL是为了实现本地用户密码验证的校验值。
2-2应用服务器Sj向IFTTT服务器IS注册并获取IS-认证密钥
Figure GDA00035450489200001116
注册完成后,Sj存储
Figure GDA00035450489200001117
其中noncej=(r1j,r2j)是注册时产生的随机数对,即r1j和r2j均为随机数,SIDj为对用户公开的身份;而IFTTT服务器IS并不存储
Figure GDA00035450489200001118
仅仅存储Sj的伪名及相关信息{rSIDj,mr2j},其中rSIDj=h(SIDj||r1j),
Figure GDA00035450489200001119
Figure GDA00035450489200001120
为方便理解,将应用服务器的公钥
Figure GDA00035450489200001121
和私钥r2j分别用PKAS和SKAS表示。
智能设备向用户注册:智能设备SDt向用户U注册
3-1 SDt生成公私钥对:SDt根据自己的身份标识tID∈{0,1}*生成
Figure GDA0003545048920000121
接着生成随机数
Figure GDA0003545048920000122
生成私钥:
Figure GDA0003545048920000123
Figure GDA0003545048920000124
秘密保存,并计算
Figure GDA0003545048920000125
形成SDt的公钥信息pk:
Figure GDA0003545048920000126
3-2 SDt向用户U注册:
(1)智能设备发起请求,从用户U处获得公钥PKU,参数
Figure GDA0003545048920000127
以及公共参数pp。
(2)SDt使用用户的U的公钥PKU执行基于椭圆曲线的加密消息
Figure GDA0003545048920000128
并发送给用户U。
(3)U收到RM1后,利用自己的私钥进行解密获得
Figure GDA0003545048920000129
用户根据智能设备的tID,重新计算其H1运算的结果与
Figure GDA00035450489200001210
比对是否一致,来验证该智能设备是否属于自己的智能设备。如果一致,用户U首先保存好SDt的公钥信息pk;并生成随机数μ1,μ2∈{0,1}*,将要传输的IS-认证密钥
Figure GDA00035450489200001211
以及用户的身份rIDi,做如下计算:
Figure GDA00035450489200001212
Figure GDA00035450489200001213
Figure GDA00035450489200001214
回送{RM2,RM3}给智能设备SDt,为方便后面描述简记RM2和RM3如下:RM2={RM2L,RM2R},RM3={RM3L,RM3R}。
(4)SDt收到后,使用私钥
Figure GDA00035450489200001215
以及RM2,计算出
Figure GDA00035450489200001216
Figure GDA00035450489200001217
接着,取出RM2的RM2R,进行如下操作,计算出
Figure GDA00035450489200001218
和μ′1
Figure GDA00035450489200001219
因为,
Figure GDA00035450489200001220
Figure GDA00035450489200001221
接着,SDt使用
Figure GDA00035450489200001222
然后再计算r′1P1是否等于RM2L(即r1P1),如果相等,则保存
Figure GDA00035450489200001223
否则终止。SDt用上面第(3)(4)步相同的计算,从RM3中取出rIDi并存储。至此,智能设备存储自己的公钥信息pk,秘密保存存储
Figure GDA0003545048920000131
智能设备代表用户访问应用服务器实现匿名双向认证:智能设备SDt代表用户向应用服务器AS访问时,每一次应用业务访问均生成伪公钥(FPK):例如购买行为中的一个订单交易对应一个FPK;智能设备SDt与应用服务器AS的匿名认证流程如表1所示。
表1 SDt与AS匿名认证流程
Figure GDA0003545048920000132
Figure GDA0003545048920000141
4-1智能设备SDt生成一次性业务公钥FPK向服务器AS发起认证请求
SDt首先获取应用服务器的身份SIDj及相应的公钥PKAS,并随机生成k以及点Qt=(x,y),进行如下计算:
Figure GDA0003545048920000142
M2=k·rIDi
Figure GDA0003545048920000143
接着,SDt生成随机数
Figure GDA0003545048920000144
Ppub=t·P1,生成一次性公钥
Figure GDA0003545048920000145
Figure GDA0003545048920000146
其中,
Figure GDA0003545048920000147
因为:
Figure GDA0003545048920000148
Figure GDA0003545048920000149
并生成私钥: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 GDA0003545048920000151
计算
Figure GDA0003545048920000152
FPK*=PXor(mFPK,Qt *),
Figure GDA0003545048920000153
以及
Figure GDA0003545048920000154
Figure GDA0003545048920000155
验证
Figure GDA0003545048920000156
如果相等,应用服务器认为该SDt代表的用户为合法用户;接着,应用服务器计算HQt *=(h(x*),h(y*)),
Figure GDA0003545048920000157
最后将{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 GDA0003545048920000158
Figure GDA0003545048920000159
因为
Figure GDA00035450489200001510
Figure GDA00035450489200001511
同时,计算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 GDA0003545048920000161
同时认为Qt *=Qt,然后计算r=PXor(M6,Qt *),SignFSK(FPK)=PXor(mSignFSK(FPK),Qt *),执行上链操作,详见权力要求5;上链操作完毕,应用服务器也将
Figure GDA0003545048920000162
作为本次通话的会话密钥,后续的业务流程将使用该密钥完成。
认证结果上链保存:SAA-DAES协议中用户可监管的认证交易格式Tx,描述如下所示:
Figure GDA0003545048920000163
Tid是交易标识;Ttype表示本交易的类型,为了实现用户全程监管,交易可以分为{Auth,Merch}两种类型,其中Auth表示Tcontent为认证结果,Merch表示Tcontent为交互业务记录;Tin表示交易的输入项,即交易成立前验证所需参数和智能合约(脚本);Tout表示交易的输出项,即交易传递给下一交易生成验证时所需参数和智能合约(脚本)。为更清晰阐述,Tx格式可表示为表2。
表2认证交易Tx
Figure GDA0003545048920000164
其中,Tpre表示前一次交易;
Figure GDA0003545048920000165
是一个输入脚本,用于验证本交易有效性;ω是一个输出脚本,给出获取交易Tx中内容所需条件;PKi,PKj是交易发起者和交易接收者的公钥(地址);对应的,SKi是交易发起者的私钥。body包括Tpre,Ttype,Tcontent,PKi,PKj;σ表示交易发起者对该交易的签名;如果该交易是一个初始交易,那么它的输入前一交易和脚本为空,可用
Figure GDA0003545048920000166
表示。
认证结束时,应用服务器将身份认证结果写入到区块链中。区块链的交易是以应用服务器的公钥作为地址发出的交易,除了含有应用服务器的签名、身份SIDj外,必须包含智能设备SDt的FPK,r,SignFSK(FPK),Ppub,Time1,其中Time1为交易生成时间,其与SignFSK(FPK)中隐含的T3之间的距离必须小于ΔT,节点验证才能通过,确认其为新鲜的真实认证交易;
5-1认证结果交易上链
为了完成有效的业务监管,智能设备和应用服务器完成双向认证后,应用服务器发起Type为Auth的交易,即
Figure GDA0003545048920000171
其中Tcontent为:
Figure GDA0003545048920000172
节点收到该交易后,确认该交易是Auth类型,判断Tin中的前一交易Tpre和输入脚本
Figure GDA0003545048920000173
是否均为
Figure GDA0003545048920000174
如果不是就终止;否则首先使用FPK,r,Ppub,计算
Figure GDA0003545048920000175
然后再计算
Figure GDA0003545048920000176
节点首先判断FPK*是否等于FPK,接着判断Time1-T3≤ΔT(其中ΔT是预留的传输时延的阈值,防止重放攻击);如果均满足,则验证签名
Figure GDA0003545048920000177
是否正确;如果三项验证均满足,节点将该交易打包上链。上链完成后,应用服务器才确认此次认证成功,并确定此次业务的密钥为
Figure GDA0003545048920000178
5-2认证后业务交易上链
当应用服务器和智能设备SDt后续进行业务交互产生需要监管的数据时,其产生Type为Merch的交易,Tin是中的前一交易Tpre必须是Type为Auth的交易或者一个可以追溯到Auth交易的一个Merch交易。
如果该交易由应用服务器发起,可表示为:
Figure GDA0003545048920000179
其中Tcontent为:
Figure GDA00035450489200001710
Figure GDA0003545048920000181
如果该交易由智能设备SDt发起,可表示为
Figure GDA0003545048920000182
其中Tcontent为:
Figure GDA0003545048920000183
需要说明的是,此时的M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据,其可以随时供应用服务器和智能设备查阅,同时方便用户U监管自己的智能设备。
节点收到应用服务器发起的业务交易后,首先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用FPK,r,Ppub,计算
Figure GDA0003545048920000184
Figure GDA0003545048920000185
然后再计算
Figure GDA0003545048920000186
节点首先判断M*是否等于M,接着判断Time1-Time≤ΔT(其中ΔT是预留的传输时延的阈值,防止重放攻击);最后验证签名
Figure GDA0003545048920000187
是否正确;如果三项验证均满足,节点将该交易打包上链。
节点收到智能设备SDt发起的交易验证过程如上,不做赘述。
用户监管智能设备:用户通过查询区块链交易,针对每个交易的FPK,首先使用自己的私钥SKU进行解密,如果可以成功解密出
Figure GDA0003545048920000188
同时再使用
Figure GDA0003545048920000189
验证签名
Figure GDA00035450489200001810
一致的情况下,即可说明此交易的FPK是用户所属智能设备进行的操作,为进一步查阅其后续业务数据流,用户U使用自己的
Figure GDA00035450489200001811
进行
Figure GDA00035450489200001812
Figure GDA00035450489200001813
同时计算出h(M1)为本次会话的会话密钥,从而可以解密后续业务数据的密文M进行监管。

Claims (6)

1.一种面向智能家居的用户可监管匿名身份认证方法,其特征在于包括IFTTT服务器、用户、智能设备、应用服务器和区块链组件,各个组件交互步骤如下:
(1)***初始化;IFTTT服务器、用户和区块链分别初始化,生成***所需参数;
(2)用户和应用服务器分别向IFTTT服务器注册;获取各自的IS-认证密钥用以证明自己的真实性和合法性;
(3)智能设备向用户注册;智能设备在进行外网访问前,需要向用户进行注册,以获得用户的IS-认证密钥以及用户的身份ID;而用户端通过管理授权智能设备的ID和对应的公钥实现后续监管;
(4)智能设备代表用户访问应用服务器实现匿名双向认证;智能设备生成可供用户监管的公钥,并使用用户的IS-认证密钥和身份ID,向应用服务器发起认证请求,实现匿名的双向认证;
(5)认证结果上链;双向认证完毕后,应用服务器向区块链写入认证结果,将本次认证的智能设备的公钥和对所认证公钥的签名以区块链业务交易的形式存储到区块链中;
(6)用户监管智能设备;用户通过自己的私钥SKU解密属于自己智能设备产生的一次性公钥,然后利用自己的IS-认证密钥
Figure FDA0003545048910000014
解密出该智能设备和应用服务器通信的会话密钥从而实现完全监管。
2.根据权利要求1所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于步骤(1)所述的初始化,具体如下:
IFTTT服务器初始化:为应用服务器和用户提供可信IS-认证密钥准备好参数;用户初始化:为内部的智能设备安全通信准备好参数;区块链初始化:基于双线性映射加密方案的参数,为所有用户和智能设备的监管准备好参数;具体实现如下:
1-1.用户U单独为家居网内智能设备初始化参数和公私钥对:
用户U首先选择一个大素数pu,并在有限域
Figure FDA0003545048910000011
下选择一条椭圆曲线
Figure FDA0003545048910000013
接着,用户U选择一个阶为nu的椭圆曲线
Figure FDA0003545048910000012
上的一个基点Pu,以及一个随机数xu,计算Qu=xu·Pu;然后,用户U秘密保存自己的私钥SKU=xu;当智能设备注册时,用户将其公钥PKU=Qu和参数
Figure FDA0003545048910000021
发给智能设备;
1-2.区块链平台为所有的用户初始化***公共参数
区块链平台为所有用户选定一个双线性群
Figure FDA0003545048910000022
生成元
Figure FDA0003545048910000023
并令P1=ψ(P2),同时选择函数H1:
Figure FDA0003545048910000024
H2:
Figure FDA0003545048910000025
Figure FDA0003545048910000026
H3:
Figure FDA0003545048910000027
形成公共参数:
Figure FDA0003545048910000028
其中p为群
Figure FDA0003545048910000029
的阶,
Figure FDA00035450489100000210
为双线性映射函数——Weil配对算法;明文空间
Figure FDA00035450489100000211
密文空间
Figure FDA00035450489100000212
当智能设备注册时,用户将其从区块链平台获得的公共参数pp发给智能设备。
3.根据权利要求2所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于步骤(2)和步骤(3)所述的注册其具体实现如下:
2-1.用户Ui通过IFTTT网关HGig向IFTTT服务器IS注册并获取IS-认证密钥
Figure FDA00035450489100000221
注册完成后,IS并不存储认证密钥
Figure FDA00035450489100000222
及任何用户相关信息;IFTTT网关HGig备份存储
Figure FDA00035450489100000213
信息,用以预防用户的智能手机丢失后的恢复;用户Ui则存储
Figure FDA00035450489100000214
其中EIDi为用户注册时预留的恢复
Figure FDA00035450489100000215
用的扩展信息生成的伪名,user_secret是存储认证相关的随机数对,VL是为了实现本地用户密码验证的校验值;
所述的智能手机是指控制智能设备的客户端;
2-2.应用服务器Sj向IFTTT服务器IS注册并获取IS-认证密钥
Figure FDA00035450489100000216
注册完成后,应用服务器Sj存储
Figure FDA00035450489100000217
其中noncej=(r1j,r2j)是注册时产生的随机数对,即r1j和r2j均为随机数,SIDj为对用户公开的身份;而IFTTT服务器IS并不存储
Figure FDA00035450489100000218
仅仅存储Sj的伪名及相关信息{rSIDj,mr2j},其中rSIDj=h(SIDj||r1j),
Figure FDA00035450489100000219
同时将应用服务器的公钥
Figure FDA00035450489100000220
和私钥r2j分别用PKAS和SKAS表示;
2-3.智能设备SDt向用户U注册:
SDt生成公私钥对:SDt根据自己的身份标识tID∈{0,1}*生成
Figure FDA0003545048910000031
接着生成随机数
Figure FDA0003545048910000032
生成私钥:
Figure FDA0003545048910000033
Figure FDA0003545048910000034
秘密保存,并计算
Figure FDA0003545048910000035
形成SDt的公钥信息pk:
Figure FDA0003545048910000036
SDt向用户U注册:
①智能设备发起请求,从用户U处获得公钥PKU,参数
Figure FDA0003545048910000037
以及公共参数pp;
②SDt使用用户的U的公钥PKU执行基于椭圆曲线的加密消息
Figure FDA0003545048910000038
并发送给用户U;
③用户U收到RM1后,利用自己的私钥进行解密获得
Figure FDA0003545048910000039
用户根据智能设备的tID,重新计算其H1运算的结果与
Figure FDA00035450489100000310
比对是否一致,来验证该智能设备是否属于自己的智能设备;如果一致,用户U首先保存好SDt的公钥信息pk;并生成随机数μ1,μ2∈{0,1}*,将要传输的IS-认证密钥
Figure FDA00035450489100000311
以及用户的身份rIDi,做如下计算:
Figure FDA00035450489100000312
Figure FDA00035450489100000313
Figure FDA00035450489100000314
回送{RM2,RM3}给智能设备SDt,为方便后面描述简记RM2和RM3如下:RM2={RM2L,RM2R},RM3={RM3L,RM3R};
④SDt收到后,使用私钥
Figure FDA00035450489100000320
以及RM2,计算出
Figure FDA00035450489100000315
Figure FDA00035450489100000316
接着,取出RM2的RM2R,进行如下操作,计算出
Figure FDA00035450489100000317
和μ′1
Figure FDA00035450489100000318
因为,
Figure FDA00035450489100000319
Figure FDA0003545048910000041
接着,SDt使用
Figure FDA0003545048910000042
然后再计算r′1P1是否等于RM2L(即r1P1),如果相等,则保存
Figure FDA0003545048910000043
否则终止;
SDt用上面第③④步相同的计算,从RM3中取出rIDi并存储:
使用私钥
Figure FDA0003545048910000044
以及RM3,计算出
Figure FDA0003545048910000045
接着,取出RM3的RM3R,进行如下操作,计算出rID′i和μ′2
Figure FDA0003545048910000046
因为,
Figure FDA0003545048910000047
Figure FDA0003545048910000048
接着,SDt使用H3(rID′i||μ′2)=r′2,然后再计算r′2P1是否等于RM3L(即r2P1),如果相等,则保存rIDi,否则终止;
至此,智能设备存储自己的公钥信息pk,秘密保存存储
Figure FDA0003545048910000049
4.根据权利要求3所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于步骤(4)所述的匿名双向认证,智能设备SDt代表用户U向应用服务器AS访问时,每一次应用业务访问均生成一次性伪公钥(FPK):
3-1智能设备SDt生成一次性伪公钥FPK向服务器AS发起认证请求:
SDt首先获取应用服务器的身份SIDj及相应的公钥PKAS,并随机生成k以及点Qt=(x,y),进行如下计算:
Figure FDA00035450489100000410
M2=k·rIDi
Figure FDA00035450489100000411
接着,SDt生成随机数
Figure FDA00035450489100000412
Ppub=t·P1,生成一次性伪公钥
Figure FDA00035450489100000413
Figure FDA00035450489100000414
其中,
Figure FDA00035450489100000415
因为:
Figure FDA00035450489100000416
Figure FDA00035450489100000417
并生成伪公钥对应的私钥: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 FDA0003545048910000051
操作,即
Figure FDA0003545048910000052
定义2:PXor(a,B);表示数a和点B的横纵坐标都做异或
Figure FDA0003545048910000053
操作,即
Figure FDA0003545048910000054
最后,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 FDA0003545048910000055
计算
Figure FDA0003545048910000056
Figure FDA0003545048910000057
FPK*=PXor(mFPK,Qt *),
Figure FDA0003545048910000058
以及
Figure FDA0003545048910000059
Figure FDA00035450489100000510
验证
Figure FDA00035450489100000511
如果相等,应用服务器认为该SDt代表的用户为合法用户;接着,应用服务器计算HQt *=(h(x*),h(y*)),
Figure FDA00035450489100000512
最后将{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 FDA0003545048910000061
Figure FDA0003545048910000062
因为
Figure FDA0003545048910000063
Figure FDA0003545048910000064
同时,计算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 FDA0003545048910000065
同时认为Qt *=Qt,然后计算r=PXor(M6,Qt *),SignFSK(FPK)=PXor(mSignFSK(FPK),Qt *),执行上链操作;上链操作完毕,应用服务器也将
Figure FDA0003545048910000066
作为本次通话的会话密钥,后续的业务流程将使用该密钥完成。
5.根据权利要求4所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于认证结果上链保存特征实现如下:
认证结束时,应用服务器将身份认证结果写入到区块链中;区块链的交易是以应用服务器的公钥作为地址发出的交易,除了含有应用服务器的签名、身份SIDj外,必须包含智能设备SDt的FPK,r,SignFSK(FPK),Ppub,Time1,其中Time1为交易生成时间,其与SignFSK(FPK)中隐含的T3之间的距离必须小于ΔT,节点验证才能通过,确认其为新鲜的真实认证交易;
4-1.认证结果交易上链
为了完成有效的业务监管,智能设备和应用服务器完成双向认证后,应用服务器发起Type为Auth的交易,即
Figure FDA0003545048910000071
其中Tcontent为:
Figure FDA0003545048910000072
节点收到该交易后,确认该交易是Auth类型,判断Tin中的前一交易Tpre和输入脚本
Figure FDA0003545048910000073
是否均为
Figure FDA0003545048910000074
如果不是就终止;否则首先使用FPK,r,Ppub,计算
Figure FDA0003545048910000075
然后再计算
Figure FDA0003545048910000076
节点首先判断FPK*是否等于FPK,接着判断Time1-T3≤ΔT,其中ΔT是预留的传输时延的阈值;如果均满足,则验证签名
Figure FDA0003545048910000077
是否正确;如果三项验证均满足,节点将该交易打包上链;上链完成后,应用服务器才确认此次认证成功,并确定此次业务的密钥为
Figure FDA0003545048910000078
4-2.认证后业务交易上链
当应用服务器和智能设备SDt后续进行业务交互产生需要监管的数据时,其产生Type为Merch的交易,Tin是中的前一交易Tpre必须是Type为Auth的交易或者一个可以追溯到Auth交易的一个Merch交易;
如果该交易由应用服务器发起,可表示为:
Figure FDA0003545048910000079
其中Tcontent为:
Figure FDA00035450489100000710
Figure FDA0003545048910000081
其中,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据,其可以随时供应用服务器和智能设备查阅,同时方便用户U监管自己的智能设备;
Figure FDA0003545048910000082
Figure FDA0003545048910000083
为基于椭圆曲线算法的签名过程;Time为智能设备SDt对业务内容进行签名的时间,Time1为交易生成时间;
如果该交易由智能设备SDt发起,可表示为
Figure FDA0003545048910000084
其中Tcontent为:
Figure FDA0003545048910000086
同样的,M为应用服务器和智能设备SDt的使用会话密钥加密的业务数据;
Figure FDA0003545048910000087
为基于椭圆曲线算法的签名过程;Time为应用服务器对业务内容进行签名的时间,Time1为交易生成时间;其中:
Figure FDA0003545048910000088
节点收到应用服务器发起的业务交易后,首先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用FPK,r,Ppub,计算
Figure FDA0003545048910000089
Figure FDA00035450489100000810
然后再计算
Figure FDA00035450489100000811
节点首先判断M*是否等于M,如果相等则进一步判断Time1-Time≤ΔT;其中AT是预留的传输时延的阈值;最后验证签名
Figure FDA00035450489100000812
是否正确;如果三项验证均满足,节点将该交易打包上链;
节点收到智能设备SDt发起的交易验证过程同上,具体为:
节点收到智能设备SDt发起的业务交易后,同样先根据Tin找到初始的Auth交易,如果没找到则退出,否则使用PKAS
Figure FDA0003545048910000091
取出M*和Time,并判断M*是否等于M,如果相等则使用FPK,r,Ppub,计算
Figure FDA0003545048910000092
然后再计算
Figure FDA0003545048910000093
Figure FDA0003545048910000094
节点首先判断M**=M,以及SIDj *=SIDj,FPK*=FPK,r*=r,Ppub *=Ppub
Figure FDA0003545048910000095
Time1*=Time1;如果均相等则进一步判断Time1*-Time≤ΔT;其中ΔT是预留的传输时延的阈值;如果三项验证均满足,节点将该交易打包上链。
6.根据权利要求5所述的一种面向智能家居的用户可监管匿名身份认证方法,其特征在于监管特征实现如下:
用户通过查询区块链交易,针对每个交易的FPK,首先使用自己的私钥SKU进行解密,如果可以成功解密出
Figure FDA0003545048910000096
Figure FDA0003545048910000097
同时再使用
Figure FDA0003545048910000098
验证签名
Figure FDA0003545048910000099
一致的情况下,即可说明此交易的FPK是用户所属智能设备进行的操作,为进一步查阅其后续业务数据流,用户U使用自己的
Figure FDA00035450489100000910
进行
Figure FDA00035450489100000911
同时计算出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 CN111884991A (zh) 2020-11-03
CN111884991B true 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)

Families Citing this family (3)

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

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
Remotely Access "My" Smart Home in Private: An Anti-Tracking Authentication and Key Agreement Scheme.;qiuyun lyu;《IEEE Access》;20190326;全文 *
可监管匿名认证方案;王震等;《软件学报》;20190327;全文 *

Also Published As

Publication number Publication date
CN111884991A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN109347809B (zh) 一种面向自主可控环境下的应用虚拟化安全通信方法
CN104506534B (zh) 安全通信密钥协商交互方案
Odelu et al. Provably secure authenticated key agreement scheme for distributed mobile cloud computing services
CN109714167B (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
CN111884991B (zh) 一种面向智能家居的用户可监管匿名身份认证方法
EP3005608B1 (en) Authentication
KR101485230B1 (ko) 안전한 멀티 uim 인증 및 키 교환
CN111682938B (zh) 面向中心化移动定位***的三方可认证密钥协商方法
CN102026195B (zh) 基于一次性口令的移动终端身份认证方法和***
CN101902476B (zh) 移动p2p用户身份认证方法
US8971540B2 (en) Authentication
CN108111301A (zh) 基于后量子密钥交换实现ssh协议的方法及其***
CN107800539A (zh) 认证方法、认证装置和认证***
CN113612605A (zh) 使用对称密码技术增强mqtt协议身份认证方法、***和设备
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN114049121B (zh) 基于区块链的账户重置方法和设备
CN111277583B (zh) 一种移动云计算的监控***身份认证方法
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
Ma et al. A robust authentication scheme for remote diagnosis and maintenance in 5G V2N
CN112733129B (zh) 一种服务器带外管理的可信接入方法
CN111062029A (zh) 一种基于标识密码的多因子认证协议
CN115955320A (zh) 一种视频会议身份认证方法
CN116484426A (zh) 一种基于可信执行环境的医疗数据联邦学习方法及***
Srinivas et al. An authentication framework for roaming service in global mobility networks
CN110784305A (zh) 基于不经意伪随机函数和签密的单点登录认证方法

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