CN104468618A - 基于传感器网络的xmpp协议安全接入方法 - Google Patents
基于传感器网络的xmpp协议安全接入方法 Download PDFInfo
- Publication number
- CN104468618A CN104468618A CN201410826355.6A CN201410826355A CN104468618A CN 104468618 A CN104468618 A CN 104468618A CN 201410826355 A CN201410826355 A CN 201410826355A CN 104468618 A CN104468618 A CN 104468618A
- Authority
- CN
- China
- Prior art keywords
- node
- xmpp
- server
- message
- key
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出一种基于传感器网络的XMPP协议安全接入方法,适用于无线传感器网络的认证机制—DIGEST-AES安全机制,包括:初始化阶段,XMPP节点与XMPP服务器进行密钥协商,XMPP节点接入认证和授权服务。本发明在保证XMPP原有协议结构和通信模式的同时,引入低开销的安全算法,并精简了消息交互流程,使得传感器网络XMPP节点与服务器之间能够安全有效的建立XML流,实现基于XMPP协议的设备注册、密钥协商、授权和身份验证等安全功能。与传统XMPP安全机制相比,该安全机制的通信开销大幅降低。
Description
技术领域
本发明涉及无线传感器网络领域,特别涉及一种基于XMPP协议的传感器网络节点的安全接入方法。
背景技术
XMPP(Extensible Messaging and Presence Protocol,前称Jabber)是一种以XML为基础的开放式实时通信协定,是经由互联网工程工作小组(IETF)通过的互联网标准。XMPP协议具有开放性和扩展性等特性,使其在无线传感器网络中的应用有着更广泛的前景。
XMPP协议采用了开放式的协议,使得它更有助于无线传感器网络实现物到物、人到物的标准化的信息传输目标;作为一个应用层协议,XMPP协议的使用,还能满足无线传感器网络应用多样化的需求,同时也更利于服务的扩展;此外,XMPP采用统一的可扩展标记语言(XML)和分布式的网络构架,能够解决无线传感器网络中各类不同应用数据交互时格式不统一的问题,实现异构无线传感网的互操作。
传统的XMPP协议安全机制中,XMPP节点试图登陆网络时,首先需与服务器建立TCP链接,在建立链接后,使用传输层安全协议TLS握手机制用于实现传输层的认证,密钥协商和可靠协商,并使用协商的密钥对传输层进行安全保护。同时XMPP协议定义了应用层认证机制—SASL握手机制,使服务器能够对节点进行身份认证。其中TLS作为一个可选机制,服务器需先对节点身份进行认证,采用的认证机制基于X.509证书,服务器需要向节点出示公钥证书。同时密钥协商的方式大致分为两种:RSA公钥加密方法和Diffie-Hellman密钥协商方式,由于无线传感器节点能量和存储空间限制,RSA、ECC等加密算法很难在节点中实现,TLS的使用受限,SASL握手机制中所使用的认证方法,如PLAIN(RFC4616)、EXTERNAL(RFC2222)的安全性也无法得到保证。此外,TLS握手机制需要多达十几次的消息交互,再加上SASL机制的,通信开销太大,适用于能量受限的无线传感器网络。
发明内容
本发明提出了一种基于无线传感器网络的XMPP协议安全机制,即DIGEST-AES安全机制。
本发明是在传统的XMPP安全框架下实现:节点初始化,密钥协商,节点登陆和节点授权四个安全功能,如图1所示,用以保证XMPP节点的安全登陆和数据交互,其具体安全功能如下:
(1)节点初始化:XMPP节点向XMPP服务器提交注册信息,XMPP服务器接收并存储节点的相关信息,该信息可用于协助完成XMPP服务器与XMPP节点的密钥协商和身份认证。
(2)密钥协商:该部分是安全链路建立的基础,在发起会话之前,通过交互密钥信息并结合XMPP节点的注册信息,进行密钥协商,建立主密钥,然后利用主密钥派生出各类会话密钥用于保护链路安全。该安全功能是实现信息保密性与完整性的安全需求的基础,并且对TLS协议进行了改进,替换掉了原有TLS协议中通过交互证书并使用Diffie-Hellman的高开销的密钥协商方法,密钥协商效率和能耗开销得到明显优化。该部分为可选安全功能,在密钥协商完成过后,所有的通信数据都必须在TCP层使用相应的安全密钥加密。
(3)节点身份认证:通过XMPP服务器对XMPP节点的身份认证,保证只有已注册的合法节点才能介入网络,并为其分发有效的网络资源与安全资源。该方案是保障网络安全的基础。该部分在XMPP协议的框架下,对原有的SASL协议进行了改进,使得XMPP服务器能够有效验证用户身份的同时认证效率和能耗开销明显优化,更适用于传感网。
(4)授权:当一个XMPP节点需要替代其他节点完成操作时,可通过使用授权标识符执行授权操作,例如当温度采集节点A失效时,A附近的节点B可代替A完成数据采集工作。授权功能为可选功能,且与身份认证同步完成,当不需要使用授权时,授权标识符为缺省。
鉴于传统XMPP安全机制在无线传感器网络中应用时算法的限制以及消息交互次数过多等问题,本发明提出的DIGEST-AES安全机制,在保证XMPP原有协议框架和通信模式的同时,引入以AES算法为基础的低开销安全算法,同时在保证基本安全功能和安全强度的基础上,精简XMPP节点与服务器的消息交互过程,使得传感器网络XMPP节点与XMPP服务器之间能够安全有效的建立XML流,实现XMPP节点初始化、节点与服务器的密钥协商、XMPP节点入网认证和节点授权等安全功能。
本发明提出的基于无线传感器网络的XMPP安全接入方法包括以下步骤:
步骤1:XMP传感网节点初始化,即带内注册:节点使用带内注册的方式实现XMPP节点初始化,注册时提交的信息为节点纯JID、提交的psaaword、节点的标识符email;
步骤2:使用AES-DIGEST算法,XMPP传感网节点与XMPP服务器进行密钥协商,密钥协商算法使用带密钥的哈希算法HMAC_MMO()生成共享主密钥:
premaster secret=HMAC_MMOpassword[Nounceserver||Nouncenode||EUIserver||EUInode]
;
步骤3:XMPP服务器对XMPP节点进行身份认证:身份认证使用带密钥的哈希算法HAMC_MMO(),输入服务器生成Nounce以及节点的EUI地址,生成认证码:
MAC=HMAC_MMOpassword[EUInode||Snounce];
步骤4:使用以AES算法为基础的地开销通信协议,XMPP节点执行授权操作:节点授权采用授权表的方式,服务器通过身份认证,通过授权表比对授权实体,完成节点的授权操作。
具体地,各步骤的过程如下:
1.初始化过程如下:
XMPP节点向服务器发送注册请求,为了确定服务器需要的注册字段,XMPP节点需要首先发送一个iq消息进行询问。
XMPP服务器返回节点注册需要提交的字段,包括节点需提交的用户名,密码信息和用户信息标识(如电子邮箱地址)。
XMPP节点向服务器发送注册字段对应的值,XMPP节点输入相关信息后,确认发送给服务器。
XMPP服务器接收到提交的注册信息后,判断所提交的注册信息是否完整或服务器中已有,如果都不符合,则服务器返回注册成功消息,并将用户信息标识作为节点的纯JID;否则,返回注册失败响应,并注明失败原因。
2.密钥协商方法如下:
当XMPP节点登陆时,将不再使用传输层安全协议TLS握手机制,而是在建立TCP链接后,初始化一个流,直接在SASL的框架内实现密钥协商的功能,并在协商完成以后,使用协商的密钥在应用层对实体间发送的XML流进行加密和完整性校验。在XMPP节点与服务器完成密钥协商以后,服务器对节点进入身份认证。
XMPP节点向服务器发送一个初始化流,用以打开一个XML流。XMPP服务器回复一个流标签作为应答,其中包含一个用于无线传感器网络的DIGEST-AES安全机制。XMPP节点选择DIGEST-AES安全机制。
XMPP服务器向XMPP节点发送经password加密的密钥交换信息,加密算法的输入包括服务器的纯JID,服务器的EUI地址和服务器生成的随机数Nounce,其中,password为初始化过程中节点提交的密钥,密钥协商消息采用常见的[BASE64]编码。
XMPP服务器向XMPP节点发送一个Sever_Hello_done空消息,表示密钥交换信息已经发送完毕。
XMPP节点向XMPP服务器发送经password加密的密钥交换消息,包括节点的纯JID,64位EUI地址以及节点生成的随机Nounce,为未与资源绑定的XMPP设备的地址通常称为纯JID,密钥协商消息采用常见的[BASE64]编码。
XMPP节点得到服务器的密钥消息后进行解密,并使用带密钥的哈希算法HMAC_MMO(),计算得到共享主密钥,输入为服务器和节点分别生成的随机数,服务器和节点的64位EUI地址,生成密钥为注册时节点提交的password,并使用premaster加密自己的纯JID发送至服务器。
XMPP服务器使用同样的方法计算得到premaster secret,并使用premastersecret加密自己的纯JID发送至XMPP节点。
节点各自使用premaster解密收到的消息,如果解密后的消息与实体的纯JID对应,则密钥协商成功,并且对此后应用层的流都使用密钥进行加密,否则密钥协商失败。
3.身份认证方法如下:
在XMPP节点与XMPP服务器完成密钥协商以后,服务器对节点进入身份认证。
XMPP服务器发送一个[BASE64]编码的挑战给XMPP节点,challenge包括域realm,服务器新生产的随机数snounce,XML流所采用的编码方式charset以及认证算法algorithm。
XMPP节点在接收到挑战后,使用在注册过程中提交的password对挑战中的nounce、节点的EUI地址通过HMAC_MMO算法进行处理得到MAC,并将构造认证消息,消息包含用户名username,域realm,生产的MAC,采用的编码方式和认证算法,将认证消息进行[BASE64]编码发送到服务器。
XMPP服务器接收到认证消息后,采用同样的算法对消息进行认证,如果认证通过,则回复消息;否则,回复入网失败的响应。
4.授权服务方法如下:
当一个XMPP节点需要代替另一个节点执行操作时,该节点需要在回复的认证消息中加入所授权节点的纯JID,服务器在完成对节点身份的任何以后将与服务器中的授权表进行比对,确定该节点是否允许授权操作。
注册与密钥协商机制同样采用与未进行授权服务的步骤,当节点需要进行授权操作时,授权操作主体将在构造的认证报文中加入被授权节点的纯JID。
XMPP节点在接收到挑战后,使用在注册过程中提交的password对挑战中的nounce、节点的EUI地址通过HMAC_MMO算法,对节点的64位EUI地址和服务器生成的随机数Snounce进行处理,得到MAC,并将构造认证消息,认证消息由被授权节点纯JID,授权主体的username,域realm,生成的MAC,编码方式charset以及认证算法algoruthm,再将认证消息进行[BASE64]编码发送到服务器。
XMPP服务器接收到认证消息后,采用同样的算法进行认证,如果认证通过,则在授权表中查找authzid是否允许该节点对被授权节点进行授权,如果允许则返回认证和授权成功的结果;否则,返回失败的结果。
与现有技术相比,本发明的有益效果在于:
密钥协商:该部分是SASL握手机制框架下,通过密钥协商,建立有效的会话密钥用于保护链路安全,是实现信息保密性与完整性的安全需求的基础,相比传统XMPP协议中采用TLS握手机制,本发明所提出的密钥协商机制在SASL机制框架下,采用的较少的信息交互次数完成密钥协商,同时采用带密钥的单向哈希算法作为协商算法,相比原有TLS协议中通过交互证书并使用Diffie-Hellman的高开销的密钥协商方法,本发明在节点开销上显著降低。
接入认证:通过XMPP服务器对XMPP节点的身份认证,保证合法节点才能介入网络,并为其分发有效的网络资源与安全资源。该部分在XMPP协议的框架下,对原有的SASL协议进行了改进,相比原有的SASL常用的DIGEST-MD5和CRAM-MD5认证机制,节点认证的计算开销有所降低,同时在强制执行密钥协商机制后,认证过程中认证消息的完整性和保密性都能够得到保障,相比原有的认证机制,安全性更高。
授权方案:该部分针对XMPP中定义的纯JID地址设计,使得XMPP服务器能够有效验证用户身份,能够有效替代XMPP中的SASL协议。
综上所述,本发明所提出的DIGEST-AES安全机制能够满足传感器络基础安全需求以及XMPP协议通信的安全需求,由于上述方案均使用AES加密算法为基础的低开销安全算法,能够有效降低XMPP节点的开销,适用于无线传感器网络环境。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1是本发明技术方案整体实施示意图;
图2是本发明初始化实施示意图;
图3是本发明密钥协商过程示意图;
图4是本发明身份认证过程示意图。
具体实施方式
以下将结合附图,对本发明的优选实施例进行详细的描述;应当理解,本实施例的各种数据和方法,优选实施例仅是作为说明本发明的实施方法的一个特例,而不是为了限制本发明的保护范围。
图1为本发明实施例提供的工作控制过程示意图,如图所示:本发明提供的一种适用于传感器网络的XMPP安全机制—DIGEST-AES安全机制,包括:初始化阶段,XMPP节点与XMPP服务器进行密钥协商,XMPP节点接入认证和授权服务。首先,在初始化阶段,XMPP节点向服务器进行注册,提交注册信息;当节点需要接入网络时,XMPP节点与服务器进行建立SASL握手机制,在SASL的框架内,节点选择DIGEST-AES安全机制:节点与服务器交换密钥信息用于协商密钥,协商的密钥用于保护XML节,实现加密和完整性校验功能,然后,XMPP服务器对XMPP节点身份进行验证,保证只有合法身份的用户才能建立会话,同时本发明还支持节点授权功能,使得XMPP节点在特定条件下能够代替其他节点完成操作。
1.初始化阶段
在XMPP节点试图加入网络时,首先需要进行初始化,节点需向服务器提交注册信息,注册流程如图1所示,有该部分为基于XMPP协议,所以使用XML语言,消息发送的具体步骤如下:
步骤1-1:XMPP节点向服务器发送注册请求,为了确定服务器多需要的注册字段,XMPP节点需要首先发送一个iq询问消息。
步骤1-2:XMPP服务器返回节点注册需要提交的字段,包括username||password||email,其中username为节点的用户名,password为节点的密钥,email为节点的标识符。
步骤1-3:XMPP节点向服务器发送注册字段对应的值,XMPP节点输入相关信息后,提交给服务器。
步骤1-4:XMPP服务器接收到提交的注册信息后,判断所提交的注册信息是否完整或服务器中已有,如果都不符合,则服务器返回注册成功消息,并将email作为节点的纯JID,纯JID,为未与资源绑定的XMPP设备的地址通常称为纯JID;否则,返回注册失败响应,并注明失败原因。
当XMPP节点登陆时,初始化一个流,直接在SASL的框架内实现密钥协商的功能,并在协商完成以后,使用协商的密钥在应用层对实体间发送的XML流进行加密和完整性校验。在XMPP节点与服务器完成密钥协商以后,节点请求服务器对节点进入身份认证。
XMPP节点向服务器发送一个初始化流,用以打开一个XML流;XMPP服务器回复一个流标签作为应答,其中包含一个用于无线传感器网络的DIGEST-AES安全机制;XMPP节点选择DIGEST-AES安全机制。
2.密钥协商包括以下步骤:
步骤2-1:XMPP服务器向XMPP节点发送经password加密的密钥协商信息,Epassword[JIDserver||EUIserver||Nounceserver],密钥协商消息采用常见的[BASE64]编码,其中password为节点注册时提交的密钥,JIDserver为服务器的纯JID,EUIserver为服务器的EUI地址,Nounceserver为服务器生成的随机数,||为连接符,E[]为AES加密算法。
步骤2-2:XMPP服务器向XMPP节点发送一个Sever_Hello_done空消息,表示密钥交换信息已经发送完毕。
步骤2-3:XMPP节点向XMPP服务器发送经password加密的密钥协商消息,Epassword[JIDnode||EUInode||Nouncenode],密钥协商消息采用常见的[BASE64]编码,其中JIDnode为节点的纯JID,EUInode为节点的EUI地址,Nouncenode为节点生成的随机数。
步骤2-4:XMPP节点得到服务器的密钥消息后进行解密,并计算得到共享主密钥
premaster secret=HMAC_MMOpassword[Nounceserver||Nouncenode||EUIserver||EUInode],密钥协商消息采用常见的[BASE64]编码,其中HMAC_MMO是密钥相关的单向哈希算法,Nounceserver和Nouncenode分别为服务器和节点通过交换密钥协商信息后得到的对方的随机数,并使用premaster master加密自己的纯JID发送至服务器。
步骤2-5:XMPP服务器使用同样的方法计算得到premaster secret,并使用premaster secret加密自己的纯JID发送至XMPP节点。
步骤2-6:节点各自使用premaster解密收到的消息,如果解密后的消息与实体的纯JID对应,则密钥协商成功,并且对此后应用层的流都使用密钥进行加密,否则密钥协商失败。
3.身份认证包括以下步骤:
步骤3-1:XMPP服务器发送一个[BASE64]编码的挑战给XMPP节点,challengeserver=[realm||Snounce||charset||algorithm],其中realm为域,Snounce为服务器新生成的随机数,charset为XML流所采用的编码方式,algorithm为身份认证所采用的认证算法。
步骤3-2:XMPP节点在接收到挑战后,提取挑战中的消息,使用在注册过程中提交的password对挑战中的Snounce、节点的EUI地址通过HMAC_MMO算法进行处理,得到认证材料MAC,MAC=HMAC_MMOpassword[EUInode||Snounce],然后节点构造认证消息username||realm||MAC||charset||algoruthm,将认证消息进行[BASE64]编码发送到服务器。
步骤3-3:XMPP服务器接收到认证消息后,采用同样的算法对进行认证,如果认证通过,则回复消息;否则,回复入网失败的响应。
4.授权服务包括以下步骤:
当一个XMPP节点需要代替另一个节点执行操作时,该节点需要在回复的认证消息中加入所授权节点的纯JID,服务器在完成对节点身份的任何以后将与服务器中的授权表进行比对,确定该节点是否允许授权操作。
步骤4-1~4-3与步骤3-1~3-3相同
步骤4-4:XMPP节点在接收到挑战后,使用在注册过程中提交的password对挑战中的nounce、节点的EUI地址通过HMAC_MMO算法进行处理,得到认证材料MAC,MAC=HMAC_MMOpassword[EUInode||Snounce],然后节点构造认证消息authzid||username||realm||MAC||charset||algoruthm,其中authzid为被授权实体,将认证消息进行[BASE64]编码发送到服务器。
XMPP服务器接收到认证消息后,采用同样的算法对进行认证,如果认证通过,则在授权表中查找authzid是否允许该节点进行授权,如果允许则返回认证和授权成功的结果;否则,返回失败的结果。
本发明在保证XMPP原有协议结构和通信模式的同时,引入低开销的安全算法,并精简了消息交互流程,使得传感器网络XMPP节点与服务器之间能够安全有效的建立XML流,实现基于XMPP协议的设备注册、密钥协商、授权和身份验证等安全功能。与传统XMPP安全机制相比,该安全机制的通信开销大幅降低。
Claims (5)
1.一种基于传感器网络的XMPP协议安全接入方法,其特征在于包括以下步骤:
步骤1:XMP传感网节点初始化,即带内注册:节点使用带内注册的方式实现XMPP节点初始化,注册时提交的信息为节点纯JID、提交的psaaword、节点的标识符email;
步骤2:使用AES-DIGEST算法,XMPP传感网节点与XMPP服务器进行密钥协商,密钥协商算法使用带密钥的哈希算法HMAC_MMO()生成共享主密钥:
premaster secret=HMAC_MMOpassword[Nounceserver||Nouncenode||EUIserver||EUInode];
步骤3:XMPP服务器对XMPP节点进行身份认证:身份认证使用带密钥的哈希算法HAMC_MMO(),输入服务器生成Nounce以及节点的EUI地址,生成认证码:
MAC=HMAC_MMOpassword[EUInode||Snounce];
步骤4:使用以AES算法为基础的低开销通信协议,XMPP节点执行授权操作:节点授权采用授权表的方式,服务器通过身份认证,通过授权表比对授权实体,完成节点的授权操作。
2.根据权利要求1所述的基于传感器网络的XMPP协议安全接入方法,其特征在于:所述步骤1包括:
步骤1-1,XMPP节点向服务器发送注册请求;
步骤1-2,XMPP服务器返回节点注册需要提交的字段,包括节点需提交的用户名,、密码信息和用户信息标识;
步骤1-3,XMPP节点向服务器发送注册字段对应的值,XMPP节点输入相关信息后,确认发送给服务器,;
步骤1-4,XMPP服务器接收到提交的注册信息后,判断所提交的注册信息是否完整或服务器中已有,如果都不符合,则服务器返回注册成功消息,并将用户信息标识作为节点的纯JID;否则,返回注册失败响应,并注明失败原因。
3.根据权利要求1所述的基于传感器网络的XMPP协议安全接入方法,其特征在于:所述步骤2包括:
当XMPP节点登陆时,将不再使用传输层安全协议TLS握手机制,而是在建立TCP链接后,初始化一个流,直接在SASL的框架内实现密钥协商的功能,并在协商完成以后,使用协商的密钥在应用层对实体间发送的XML流进行加密和完整性校验。在XMPP节点与服务器完成密钥协商以后,服务器对节点进入身份认证。
步骤2-1,XMPP节点向服务器发送一个初始化流,用以打开一个XML流,XMPP服务器回复一个流标签作为应答,其中包含一个用于无线传感器网络的DIGEST-AES安全机制,XMPP节点选择DIGEST-AES安全机制;
步骤2-,2,XMPP服务器向XMPP节点发送经password加密的密钥交换信息,加密算法的输入包括服务器的纯JID、服务器的EUI地址和服务器生成的随机数Nounce,其中,password为初始化过程中节点提交的密钥,密钥协商消息采用常见的[BASE64]编码;
步骤2-3,XMPP服务器向XMPP节点发送一个Sever_Hello_done空消息,表示密钥交换信息已经发送完毕;
步骤2-4,XMPP节点向XMPP服务器发送经password加密的密钥交换消息,包括节点的纯JID,64位EUI地址以及节点生成的随机Nounce,为未与资源绑定的XMPP设备的地址通常称为纯JID,密钥协商消息采用常见的[BASE64]编码;
步骤2-5,XMPP节点得到服务器的密钥消息后进行解密,并使用带密钥的哈希算法HMAC_MMO(),计算得到共享主密钥,输入为服务器和节点分别生成的随机数,服务器和节点的64位EUI地址,生成密钥为注册时节点提交的password,并使用premaster加密自己的纯JID发送至服务器;
步骤2-6,XMPP服务器使用哈希算法HMAC_MMO()计算得到premastersecret,并使用premaster secret加密自己的纯JID发送至XMPP节点。
步骤2-7,节点各自使用premaster解密收到的消息,如果解密后的消息与实体的纯JID对应,则密钥协商成功,并且对此后应用层的流都使用密钥进行加密,否则密钥协商失败。
4.根据权利要求1所述的基于传感器网络的XMPP协议安全接入方法,其特征在于:所述步骤3包括:
步骤3-1,XMPP服务器发送一个[BASE64]编码的挑战给XMPP节点,challenge包括域realm,服务器新生产的随机数snounce,XML流所采用的编码方式charset以及认证算法algorithm;
步骤3-2,XMPP节点在接收到挑战后,使用在注册过程中提交的password对挑战中的nounce、节点的EUI地址通过HMAC_MMO算法进行处理得到MAC,并将构造认证消息,消息包含用户名username、域realm、生产的MAC,采用的编码方式和认证算法,将认证消息进行[BASE64]编码发送到服务器;
步骤3-3,XMPP服务器接收到认证消息后,采用同样的算法对消息进行认证,如果认证通过,则回复消息;否则,回复入网失败的响应。
5.根据权利要求4所述的基于传感器网络的XMPP协议安全接入方法,其特征在于:所述步骤4包括:
当一个XMPP节点需要代替另一个节点执行操作时,该节点需要在回复的认证消息中加入所授权节点的纯JID,服务器在完成对节点身份的任何以后将与服务器中的授权表进行比对,确定该节点是否允许授权操作;
步骤4-1~4-3与步骤3-1~3-3相同;
步骤4-4,XMPP节点在接收到挑战后,使用在注册过程中提交的password对挑战中的nounce、节点的EUI地址通过HMAC_MMO算法,对节点的64位EUI地址和服务器生成的随机数Snounce进行处理,得到MAC,并将构造认证消息,认证消息由被授权节点纯JID,授权主体的username、域realm、生成的MAC、编码方式charset以及认证算法algoruthm,再将认证消息进行[BASE64]编码发送到服务器;
步骤4-5,XMPP服务器接收到认证消息后,采用HMAC_MMO算法进行认证,如果认证通过,则在授权表中查找authzid是否允许该节点对被授权节点进行授权,如果允许则返回认证和授权成功的结果;否则,返回失败的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410826355.6A CN104468618B (zh) | 2014-12-26 | 2014-12-26 | 基于传感器网络的xmpp协议安全接入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410826355.6A CN104468618B (zh) | 2014-12-26 | 2014-12-26 | 基于传感器网络的xmpp协议安全接入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468618A true CN104468618A (zh) | 2015-03-25 |
CN104468618B CN104468618B (zh) | 2017-10-03 |
Family
ID=52913990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410826355.6A Active CN104468618B (zh) | 2014-12-26 | 2014-12-26 | 基于传感器网络的xmpp协议安全接入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468618B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767620A (zh) * | 2015-04-13 | 2015-07-08 | 苏州阔地网络科技有限公司 | 一种身份信息的管理方法及装置 |
WO2016165477A1 (zh) * | 2015-08-06 | 2016-10-20 | 中兴通讯股份有限公司 | 一种登录的方法、终端、会话建立的方法和服务器 |
CN107306204A (zh) * | 2016-04-25 | 2017-10-31 | 中兴通讯股份有限公司 | 网管许可控制方法、装置及系统 |
CN107395626A (zh) * | 2017-08-22 | 2017-11-24 | 四川长虹电器股份有限公司 | 一种提高单台Openfire服务器长连接数的优化方法 |
CN108476219A (zh) * | 2016-01-13 | 2018-08-31 | 西门子股份公司 | 用于数据交换的方法和设备 |
CN108881256A (zh) * | 2018-06-29 | 2018-11-23 | 北京旅居四方科技有限公司 | 密钥交换方法、装置、水电桩和网络设备 |
CN110611658A (zh) * | 2019-08-20 | 2019-12-24 | 烽火通信科技股份有限公司 | 一种基于sd-wan的设备认证方法及系统 |
WO2022100356A1 (zh) * | 2020-11-12 | 2022-05-19 | 华为技术有限公司 | 身份认证系统、方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326908A (zh) * | 2013-06-24 | 2013-09-25 | 四川九洲电器集团有限责任公司 | 一种基于xmpp服务器的智能家居控制方法及装置 |
CN103561079A (zh) * | 2013-10-29 | 2014-02-05 | 重庆邮电大学 | 一种基于xmpp协议的无线传感器网络的数据交互方法 |
US20140109190A1 (en) * | 2012-10-16 | 2014-04-17 | Cisco Technology, Inc. | Policy-Based Control Layer in a Communication Fabric |
-
2014
- 2014-12-26 CN CN201410826355.6A patent/CN104468618B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140109190A1 (en) * | 2012-10-16 | 2014-04-17 | Cisco Technology, Inc. | Policy-Based Control Layer in a Communication Fabric |
CN103326908A (zh) * | 2013-06-24 | 2013-09-25 | 四川九洲电器集团有限责任公司 | 一种基于xmpp服务器的智能家居控制方法及装置 |
CN103561079A (zh) * | 2013-10-29 | 2014-02-05 | 重庆邮电大学 | 一种基于xmpp协议的无线传感器网络的数据交互方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767620A (zh) * | 2015-04-13 | 2015-07-08 | 苏州阔地网络科技有限公司 | 一种身份信息的管理方法及装置 |
WO2016165477A1 (zh) * | 2015-08-06 | 2016-10-20 | 中兴通讯股份有限公司 | 一种登录的方法、终端、会话建立的方法和服务器 |
CN108476219A (zh) * | 2016-01-13 | 2018-08-31 | 西门子股份公司 | 用于数据交换的方法和设备 |
US11146610B2 (en) | 2016-01-13 | 2021-10-12 | Siemens Aktiengesellschaft | Method and device for data exchange |
CN108476219B (zh) * | 2016-01-13 | 2021-11-09 | 西门子股份公司 | 用于数据交换的方法和设备 |
CN107306204A (zh) * | 2016-04-25 | 2017-10-31 | 中兴通讯股份有限公司 | 网管许可控制方法、装置及系统 |
CN107306204B (zh) * | 2016-04-25 | 2021-07-20 | 中兴通讯股份有限公司 | 网管许可控制方法、装置及系统 |
CN107395626A (zh) * | 2017-08-22 | 2017-11-24 | 四川长虹电器股份有限公司 | 一种提高单台Openfire服务器长连接数的优化方法 |
CN108881256A (zh) * | 2018-06-29 | 2018-11-23 | 北京旅居四方科技有限公司 | 密钥交换方法、装置、水电桩和网络设备 |
CN110611658A (zh) * | 2019-08-20 | 2019-12-24 | 烽火通信科技股份有限公司 | 一种基于sd-wan的设备认证方法及系统 |
WO2022100356A1 (zh) * | 2020-11-12 | 2022-05-19 | 华为技术有限公司 | 身份认证系统、方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104468618B (zh) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468618B (zh) | 基于传感器网络的xmpp协议安全接入方法 | |
Xu et al. | A lightweight mutual authentication and key agreement scheme for medical Internet of Things | |
JP6844908B2 (ja) | セキュアセッションの確立と暗号化データ交換のためのコンピュータ利用システム及びコンピュータ利用方法 | |
CN102970299B (zh) | 文件安全保护系统及其方法 | |
CN101156352B (zh) | 基于移动网络端到端通信的认证方法、系统及认证中心 | |
CN102946314B (zh) | 一种基于浏览器插件的客户端用户身份认证方法 | |
CN102170354B (zh) | 集中账号密码认证生成系统 | |
Al-Janabi et al. | Public-key cryptography enabled kerberos authentication | |
US20110283106A1 (en) | Method for realizing authentication center and authentication system | |
CN102916970B (zh) | 一种基于网络的pin码缓存方法 | |
US20200127838A1 (en) | Persistent authentication system incorporating one time pass codes | |
CN104660583B (zh) | 一种基于Web加密服务的加密服务方法 | |
CN101388777B (zh) | 一种通信系统中跨系统访问的第三方认证方法和系统 | |
Tanveer et al. | RUAM-IoD: A robust user authentication mechanism for the Internet of Drones | |
CN105208024A (zh) | 不使用https的数据安全传输方法及系统、客户端和服务端 | |
Dua et al. | Replay attack prevention in Kerberos authentication protocol using triple password | |
CN110049002A (zh) | 一种基于PUF的IPSec认证方法 | |
CN103716280A (zh) | 数据传输方法、服务器及系统 | |
CN102629928B (zh) | 一种基于公共密钥的互联网彩票系统安全链路实施方法 | |
CN105281901A (zh) | 一种云租户关键信息的加密方法 | |
Beckwith et al. | Ba-tls: Blockchain authentication for transport layer security in internet of things | |
CN102215235A (zh) | 可修改鉴权密码的sip安全认证方法 | |
CN106453259A (zh) | 一种基于块链接加密技术的互联网金融安全链路实现方法 | |
CN105959286A (zh) | 基于证书密钥缓存的快速身份认证方法 | |
CN116633576A (zh) | 安全可信NC-Link代理器、控制方法、设备及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |