【技术实现步骤摘要】
一种基于秘密分享算法的MQTT协议安全通信方法
[0001]本专利技术涉及计算机安全
,特别是一种基于秘密分享算法的MQTT协议安全通信方法。
技术介绍
[0002]在众多的物联网通信协中,MQTT(消息队列遥测传输)协议最为受欢迎。它的设计目标是为物联网提供轻量级且易于使用的通信协议,所以协议本身只有少数安全机制被明确规定,它缺乏基本的安全相关功能,如访问控制、相互身份验证和控制消息安全。为了解决这些问题,当前的MQTT数据传输过程可以使用加密的TLS协议来保护客户端和代理之间的通信通道,该方法存在几个问题:(1)无法提供访问登录控制,如针对代理以及代理中细粒度的主题安全访问控制;(2)TLS的计算负载较大导致效率不高,不适合存在大量设备如一对多场景下的信息安全传输。
[0003]针对现有安全保护的缺陷,有关主题的细粒度安全认证可以增加MQTT协议的安全性,同时将以秘密分享算法为基础原理的群组认证应用到MQTT协议下一对多的场景中,可以提高安全认证的效率。
技术实现思路
[0004]针对现有技 ...
【技术保护点】
【技术特征摘要】
1.一种基于秘密分享算法的MQTT协议安全通信方法,其特征在于,包括以下步骤:步骤1:为用户、设备、代理和主题颁发证书并完成注册;步骤2:使用一种轻量级基于证书的认证算法完成用户的安全接入;步骤3:使用基于秘密分享的门限加密算法完成多个物联网设备的安全接入认证,为认证合法的用户和多个设备建立一条安全通信通道;步骤4:使用一种基于证书的密钥协商算法完成用户和多个设备间发送消息的安全加密。2.根据权利要求1所述的一种基于秘密分享算法的MQTT协议安全通信方法,其特征在于,步骤1具体包括:步骤1
‑
1:初始化阶段,第三方认证授权(CA)为用户、设备、代理和主题生成证书;步骤1
‑
2:第三方认证授权计算公钥,连同证书一起分发给用户、设备、代理和主题;步骤1
‑
3:用户、多个设备和代理注册。3.根据权利要求2所述的一种基于秘密分享算法的MQTT协议安全通信方法,其特征在于,步骤1
‑
1具体为:输入用户、设备和代理的ID序号X,生成R
X
=r
X
·
G,其中r
X
∈R[1,n
‑
1],G为生成器;第三方认证授权选取r
CA
∈R[1,n
‑
1],生成R
CA
=r
CA
·
G,最终计算输出Cert
X
=R
X
+R
CA
;输入主题ID序号Topic
t
,第三方认证授权计算Cert
t(l)
=r
t(1)
·
G+r
CA(1)
·
G=R
t(l)
+R
CA(1)
,其中Cert
t(l)
为第l个主题的证书,r
t(1)
∈R[1,n
‑
1],r
CA(1)
∈R[1,n
‑
1];接着,第三方认证授权计算第l个主题的私钥d
t(l)
=w
t(l)
+r
t(l)
·
H(Cert
t(l)
||Topic
t
),其中w
t(l)
=d
CA
+r
t(l)
·
H(Cert
t(l)
||Topic
t
);该步骤的计算输出结果是(d
t(l)
,Cert
t(l)
)。4.根据权利要求3所述的一种基于秘密分享算法的MQTT协议安全通信方法,其特征在于,步骤1
‑
2具体为:第三方认证授权计算D
X
=D
CA
+Cert
X
·
H(Cert
X
||X),其中D
CA
为第三方认证授权的公钥,D
X
为用户、设备和代理的公钥,接着,第三方认证授权计算d
X
=w
X
+r
X
·
H(Cert
X
||X),其中d
X
为用户、设备和代理的私钥,w
X
=d
CA
+r
CA
·
H(Cert
X
||X)。最后,第三方认证授权发送[d
X
,Cert
X
,D
CA
]给用户、设备和代理。5.根据权利要求4所述的一种基于秘密分享算法的MQTT协议安全通信方法,其特征在于,步骤1
‑
3具体为:将主题证书连同Info
B
=(B、IP
B
、Port
B
、Cert
B
)安全地交付给X=(P
i
/S
j
),其中IP
B
和Port
B
分别表示代理的IP地址和端口号,将ACL={ACL
t
|Topic
t
∈T}发送至代理,其中ACL
t
={Topic
t
,P(Topic
t
),S(Topic
t
)},对于每个Topic
t
∈T,发送[Topic
t
,Cert
t(l)
,Info
B
]给用户X∈P(Topic
t
),发送[Topic
t
,d
t(l)
,Info
B
]给设备S∈S(Topic
t
)。6.根据权利要求1或5所述的一种基于秘密分享算法的MQTT协议安全通信方法,其特征在于,步骤2具体包括:步骤2
‑
1:会话密钥的推导:生成会话密钥SK
X
以在用户和代理之间创建外部安全通道,分别由用户和代理提供{[d
X
,Cert
X
,D
CA
],[Topic
t
,Cert
t(l)
,Info
B
]}和{[d
B
,Cert
B
,D
CA
],ACL},计算SK
X
=kdf(d
X
·
D
B
||TS
X
)=kdf(d
B
·
D
X
||TS
X
);步骤2
‑
2:用户和代理间进行一对一身份认证:用户将(X,Cert
X
,TS...
【专利技术属性】
技术研发人员:李庆铁,熊迎军,李靖,任守纲,李延斌,顾兴健,邵天岳,
申请(专利权)人:上海蓝长自动化科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。