CN110650114A - 自动客户端设备注册 - Google Patents

自动客户端设备注册 Download PDF

Info

Publication number
CN110650114A
CN110650114A CN201910557692.2A CN201910557692A CN110650114A CN 110650114 A CN110650114 A CN 110650114A CN 201910557692 A CN201910557692 A CN 201910557692A CN 110650114 A CN110650114 A CN 110650114A
Authority
CN
China
Prior art keywords
client device
client
registration
server
message
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.)
Pending
Application number
CN201910557692.2A
Other languages
English (en)
Inventor
S·M·西兰库尔瓦
M·莱赫托
K·韦莱纳恩
J·库考浩维
S·萨辛
Y·帕克
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.)
Eminem Ltd
Original Assignee
Eminem Ltd
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 Eminem Ltd filed Critical Eminem Ltd
Publication of CN110650114A publication Critical patent/CN110650114A/zh
Pending legal-status Critical Current

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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/065Continuous authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Abstract

本发明涉及自动客户端设备注册。宽泛地讲,本技术的实施例提供了用于以减少在握手过程期间发送的数据量的方式在机器之间执行TLS/DTLS握手过程的方法、装置和系统。

Description

自动客户端设备注册
技术领域
本技术总体上涉及用于维护向服务器的客户端设备注册的方法、设备和系统。
背景技术
家里、其他建筑物、车辆和户外环境内存在的设备以及个人设备越来越多,个人设备具有使得它们能够与同一网络内或不同网络中的其他设备(例如,端点/客户端设备、服务器等)进行通信以访问作为“物联网”(IoT)的一部分的服务的处理和通信能力。
例如,家里的温度设备可以采集感测的数据,并且将感测的数据推送到远程服务(诸如在“云”中运行的应用)。温度设备然后可以由远程服务经由接收的命令数据进行远程控制。在其他例子中,工厂污染监视传感器可以从各种化学传感器采集信息,并且基于采集的信息安排维护;而医疗保健提供商可以使用诸如心率监视器之类的无线传感器,以在患者在家里时跟踪他们的健康。这样的设备被用于一定范围的网络中,其中数据一般通过使用机器对机器(M2M)通信技术在设备和/或服务之间传输。
M2M通信技术通常需要是安全的,例如,因为敏感数据可能在设备到服务器之间传输,和/或因为不安全通信可能使得恶意的第三方能够得到对于机器或者在机器之间传输的数据的访问权。M2M通信可以使用被设计为防止窃听、篡改或消息/数据伪造的密码协议(诸如传输层安全(TLS,Transport Layer Security)协议或数据报传输层安全(DTLS,Datagram Transport Layer Security)协议)来保护。TLS/DTLS协议需要寻求互相通信的机器(例如,端点/客户端设备和服务器)通过在握手过程中交换和验证数字证书来互相认证。
在许多系统中,端点设备/客户端设备可以与一个或多个服务器连接并且通信。例如,用于监视环境的温度的客户端设备可能需要定期地/周期性地将温度数据发送到服务器。服务器可以维护客户端设备注册目录以记录已经注册与服务器连接/通信的客户端设备。然而,一些客户端设备(诸如物联网系统中所用的那些)可以是受约束资源设备,即,它们可以是低功率、低存储器和/或低处理能力的设备。这样的受约束资源设备可能与它们在其中操作的网络、特别是与网络中的服务器间歇性地连接。因此,一些客户端设备可能不能连续地连接到它们已注册的服务器。客户端设备可能需要与服务器通信来维护它们的注册以使得它们可以继续连接到服务器。
发明内容
本申请人已经认识到对于用于维护向服务器的客户端设备注册的技术的需要。
在本技术的第一方面,提供了一种用于维护客户端设备向轻量级机器对机器(LwM2M)服务器的注册的方法,该方法由客户端设备执行,包括:
建立与LwM2M服务器的安全通信会话,包括执行与LwM2M服务器的传输层安全(TLS)或数据报传输层安全(DTLS)握手;
从LwM2M服务器接收注册确认消息,该注册确认消息确认客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;
在寿命到期之前,执行与LwM2M服务器的进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别客户端设备以便维护客户端注册目录内的客户端设备的注册的客户端数据。
在本技术的第二方面,提供了一种客户端设备,该客户端设备包括:通信电路,该通信电路用于:建立与轻量级机器对机器(LwM2M)服务器的安全通信会话,包括执行与LwM2M服务器的传输层安全(TLS)或数据报传输层安全(DTLS)握手;从LwM2M服务器接收注册确认消息,该注册确认消息确认客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;在寿命到期之前,执行与LwM2M服务器的进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别客户端注册目录内的客户端设备的客户端数据。
在本技术的第三方面,提供了一种用于维护客户端设备向轻量级机器对机器(LwM2M)服务器的注册的方法,所述方法由服务器执行,包括:建立与客户端设备的安全通信会话,包括执行与客户端设备的传输层安全(TLS)或数据报传输层安全(DTLS)握手;在安全通信会话建立之后,从客户端设备接收注册消息,将注册确认消息发送到客户端设备,该注册确认消息确认客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;在寿命到期之前,执行与LwM2M服务器的进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别客户端设备以便维护客户端注册目录内的客户端设备的注册的客户端数据。
在本技术的第四方面,提供了一种轻量级机器对机器(LwM2M)服务器,所述服务器包括:耦合到通信电路的至少一个处理器,所述通信电路用于:建立与客户端设备的安全通信会话,包括执行与客户端设备的传输层安全(TLS)或数据报传输层安全(DTLS)握手;将注册确认消息发送到客户端设备,该注册确认消息确认客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;在寿命到期之前,执行进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别客户端设备以便维护客户端注册目录内的客户端设备的注册的客户端数据。
本技术的相关方法提供了包括本文中所描述的类型的多个客户端设备和本文中所描述的类型的至少一个服务器的系统。
本技术的其它方法提供一种承载代码的非暂时性数据载体,所述代码当在处理器上实现时使处理器执行本文中所描述的任何方法。
如本领域技术人员将意识到的,本技术可以体现为系统、方法或计算机程序产品。因此,本技术可以采取完全硬件的实施例、完全软件的实施例、或组合软件和硬件方面的实施例的形式。
此外,本技术可以采取在上面具有计算机可读程序代码的计算机可读介质中体现的计算机程序产品的形式。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质可以是例如但不限于:电子、磁性、光学、电磁、红外线或半导体系统、装置或设备、或前述的任何合适的组合。
用于执行本技术的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,包括面向对象的编程语言和常规的过程式编程语言。代码组件可以体现为过程、方法等,并且可以包括子组件,那些子组件可以采取从本机指令集的直接机器指令到高级编译型或解释型语言构造的任何抽象层次的指令或指令序列的形式。
附图说明
本技术在附图中通过例子、用图解法来例示说明,在附图中:
图1示出了包括客户端设备和服务器的系统的框图;
图2示出了在客户端设备和服务器之间执行握手以建立安全通信会话的步骤的示意图;
图3示出了向服务器注册客户端设备的步骤的示意图;
图4示出了维护向服务器的客户端设备注册的步骤的示意图;以及
图5示出了维护向服务器的客户端设备注册的技术的示意图。
具体实施方式
概况地说,本技术的实施例提供了用于维护向服务器的客户端设备注册的更高效技术的方法、设备和系统,其使得维护注册所需要发送的消息的数量减少。对于是受约束设备的客户端设备(例如,低功率、低存储器和/或低处理能力设备),本文中所描述的技术可能是有用的,因为该技术可以减少设备发送和接收消息所消耗的功率的量,并且可以缩短设备处于“唤醒”模式的时间。
术语“客户端设备”在本文中与术语“物联网设备”、“IoT设备”、“节点设备”、“节点”、“端点设备”、“端点”、“客户端”和“受约束资源设备”互换使用。
如以上简要地提到的,机器对机器(M2M)通信技术通常需要是安全的以降低恶意的第三方得到对于机器的访问权的风险、或者限制每个机器对于特定数据、机器或服务的访问权。M2M通信可以使用密码协议(诸如)被设计为防止窃听、篡改或消息/数据伪造的密码协议(诸如传输层安全(TLS)协议或数据报传输层安全(DTLS)协议)来进行安全保护。TLS/DTLS协议需要设法互相通信的机器(例如,端点/客户端设备和服务器)在任何其他的通信/消息交换可以开始之前、通过在握手过程中交换并且验证数字证书来互相认证。
TLS/DTLS协议可以用于对物联网(IoT)设备(即,客户端设备)和远程服务器或基于云的服务器之间的通信进行安全保护。在这种情况下,在握手过程期间,客户端设备和服务器交换它们的公钥证书(在本文中又被称为数字证书或身份证书)。数字证书是用于证明被用作不对称密钥算法的一部分的公钥(其形成公钥-私钥对的一部分)的所有权的电子文档。数字证书通常包括关于公钥的信息、关于其所有者的身份(例如,客户端设备或服务器)的信息以及已经验证了证书的内容的发行实体(例如,受信任的第三方,诸如证书机构)的数字签名。数字证书可能较大,特别是如果它包括证书链,或者如果每个证书是RSA证书(即,其中公钥是基于两个大的质数)。例如,单个基于RSA的包含2048位密钥的证书的大小可以为至少1024个字节。类似地,至少第一次在客户端设备和服务器之间执行TLS/DTLS握手时,客户端设备和服务器需要决定它们将使用哪个(哪些)密码算法或密码或密码套件来对通信会话进行安全保护。例如,客户端设备可以发送它支持的密码套件的列表,可能按优先次序。服务器从所述列表中选择密码套件,并且向客户端设备通知该选择。密码套件列表可能较大,这增加了在TLS/DTLS握手期间在机器之间发送的信息量。这意味着每一次客户端设备和服务器执行握手过程以开始安全通信会话(即,在其期间客户端设备和服务器交换加密的消息的会话)时,可能需要交换大量数据。
握手过程中的证书的交换在物联网环境中可能是有问题的,在物联网环境中,客户端设备或终端用户设备趋于是低功率、低存储器和/或低处理能力的设备。客户端设备/终端用户设备可能与它们在其中操作的网络、或外部网络、或网络内的其他设备间歇性地连接。例如,客户端设备可能与其他设备/机器或互联网没有良好的或连续的连接,因为这可能消耗客户端的资源(例如,功率或存储器)。当一些客户端设备不需要与网络中的其他设备/机器/服务器连接或通信时,它们可以切换到休眠模式以节省电力。这意味着每次客户端设备需要与服务器通信时,握手过程需要再次被执行以建立安全通信会话。执行握手过程,特别是在TLS/DTLS握手过程中交换证书,对于受约束资源设备可能是有问题的,但是如果需要安全通信,则这是不可避免的。
如上所述,在许多系统中,客户端设备可以与一个或多个服务器连接和通信。服务器可以维护客户端设备注册目录以记录已经注册与服务器连接/通信的客户端设备。然而,受约束资源设备可能与它们在其中操作的网络、特别是与网络中的服务器间歇性地连接。因此,一些客户端设备可能没有连续地连接到它们所注册的服务器。客户端设备可能需要不时地与服务器通信以维护它们的注册,使得每当它们需要向服务器发送数据或者从服务器接收数据时它们可以继续连接到服务器。
在注册的寿命到期之前,本技术提供与LwM2M服务器的进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别客户端设备以便维护LwM2M服务器的目录内的客户端设备的注册的客户端数据。
在实施例中,客户端数据是可以用于在LwM2M服务器处识别客户端的数据。以这样的方式,LwM2M服务器可以从进一步的TLS或DTLS握手推断关于客户端设备的身份的信息。
在实施例中,客户端数据可以是客户端设备标识符,并且关于客户端设备的信息可以包含在握手消息内或者从证书中提取的或从客户端Hello消息中提取的标识符或客户端设备证书内。客户端数据还可以包括预共享密钥或会话ID或会话票证。
因此,在技术中,用于根据客户端数据识别客户端设备的进一步的TLS或DTLS握手过程可以包括以下握手示例情况中的一个或多个:
-其中证书在证书消息中发送并且客户端证书用于识别要维护哪个客户端设备注册的TLS或DTLS握手。
-其中预共享密钥在客户端Hello消息中发送、所述预共享密钥用于识别要维护哪个客户端设备注册的TLS或DTLS握手。
-其中使用客户端Hello消息中的信息包括使用证书中的客户端设备标识符来定位客户端注册目录内的客户端设备条目的TLS或DTLS。
-使用利用客户端Hello消息中发送的会话ID或会话票证的会话恢复的TLS或DTLS握手,其中,会话ID或会话票证用于识别要维护哪个客户端设备注册。
受约束应用协议(CoAP,Constrained Application Protocol)是被专门设计用于供受约束节点和受约束网络使用的通信协议(参见https://tools.ietf.orf/html/rfc7252)。它通常被IoT设备和IoT网络用于机器对机器通信,因为该协议具有低开销、适合于多播、并且具有使得适合于受约束网络的简单性。OMA轻量级机器对机器(OMA LwM2M,OMALightweight Machine to Machine)协议是被设计用于机器对机器和IoT设备管理的应用层通信协议。OMA LwM2M用于客户端设备和服务器之间的通信,其中客户端设备可以是受约束资源设备,并且可以用于例如自举、向服务器的客户端设备注册、设备管理和信息报告。OMA LwM2M经常与CoAP和TLS/DTLS一起使用。
通常,客户端设备需要向服务器注册以便使服务器知道客户端设备在它的网络中并且使客户端设备能够与服务器通信。当客户端设备向服务器注册时,它还可以向服务器提供关于客户端设备的资源的信息和将使得客户端设备能够被服务器识别的任何信息(例如,端点名称)。客户端设备还可以向服务器提供用于维护注册的信息,诸如注册寿命。注册寿命定义了向服务器的注册的持续时间,并且是由客户端设备定义的。寿命可以是短暂的(例如,几小时),或者可以更长(例如,一天或几天),并且可以由客户端设备基于设备性质来定义。例如,如果客户端设备是将在长时段内处于休眠模式以节省资源的受约束资源设备,则寿命可以很长(例如,一天或更长)。客户端设备可能需要周期性地向它所注册的服务器或每个服务器更新注册信息。通常,客户端设备可能需要在注册寿命内发送更新消息或执行更新操作。更新消息可以包含关于客户端设备的新信息,诸如新寿命或关于其资源的新信息。可替代地,更新消息可以不包含任何参数——如果客户端设备仅希望维护其向服务器的注册,则这通常被使用。如果服务器在客户端设备设置的寿命内没有从客户端设备接收到更新消息,则服务器从客户端设备注册目录中移除客户端设备。
然而,每次客户端设备执行更新操作以维护其向服务器的注册时,客户端设备可以与服务器交换几个消息。如果客户端设备在初始注册过程之后与服务器断开,则客户端设备和服务器在更新操作可以开始之前首先需要建立新的安全通信会话。如果客户端设备是受约束资源设备,则情况可能如此,因为当客户端设备不需要与服务器通信、因此先前的安全通信会话就会结束/终止时,客户端设备将很可能已经进入休眠模式或低功率模式以节省资源。因此,客户端设备和服务器执行另一个握手过程以建立安全通信会话(例如,通过在TLS/DTLS握手过程中交换证书)。一旦安全通信会话已经被建立,客户端设备就将CoAP更新消息(例如,CoAP POST消息)发送到服务器。CoAP消息包含识别客户端设备的信息,以使得客户端设备所注册的服务器能够在客户端设备注册目录内定位客户端设备。CoAP消息可以包含已经改变并且需要在注册目录内更新的客户端设备参数,或者可能不包含任何参数。如果服务器在最初的寿命内接收到CoAP消息,则服务器继续对客户端设备执行注册目录的更新。如果CoAP消息不包含任何参数,则服务器确定客户端设备的注册寿命将被简单地重置/重启。一旦服务器已经完成了更新过程,服务器就将CoAP消息送回到客户端设备以确认更新已经完成(例如,消息包含2.04(改变的)响应代码)。
本申请人已经认识到,用于维护客户端设备向服务器的注册的这个过程包含冗余的消息,从而导致不必要地消耗受约束资源客户端设备的资源(例如,功率、存储器、处理能力等)的通信。因此,本技术提供了维护客户端设备向服务器的注册的简化的且更高效的方式。
如上所述,在客户端设备仅希望向服务器通知它仍“活着”或在操作并且仍希望与服务器通信的情况下,客户端设备发送的CoAP消息不包含任何参数。这使服务器刷新注册目录内的客户端设备注册,例如,通过重启注册寿命。然而,至少两个CoAP消息在客户端设备和服务器之间交换以使这发生。本技术去除了为了注册维护而交换这些CoAP消息的需求。相反,本技术利用了如下事实:在客户端设备和服务器之间建立新的安全通信会话作为维护注册的触发。因此,本技术减少了为更新操作而交换的消息的数量。本技术可以减少客户端设备处于“唤醒模式”的时间量,因为安全通信会话一被建立,客户端设备就可以切换到低功率或“休眠模式”,因为没有进一步的消息需要被客户端设备发送或接收。客户端设备执行的处理的量(因此,客户端设备所用的存储器和功率的量)也可以通过减少为更新操作而交换的消息的数量而减少。下面参照附图更详细地描述本技术的优化的注册更新处理。
图1示出了系统100的框图,系统100包括可互相安全地通信的客户端设备102和服务器104。在实施例中,系统100可以包括自举服务器106。系统100可以包括多个客户端设备和/或多个服务器,但是为了简单起见,仅示出了一个客户端设备和一个服务器。如上所述,客户端设备102在本文中也可以被称为“设备”、“客户端”、“节点设备”、“节点”、“终端用户设备”、“用户设备”、“物联网设备”、“IoT设备”、“端点设备”、“端点”和“受约束资源设备”。客户端设备102可以是计算机(例如,PC)、膝上型电脑、平板电脑、移动电话、“智能物体”或物联网物体。在实施例中,客户端设备102可以是能够使电子物体变为可构成物联网的一部分的“智能物体”(诸如智能街灯、电表、温度传感器等)的设备。将意识到,这些仅仅是出于说明性目的而提供的示例智能物体,并非限制。
每个客户端设备102可能需要对于经由服务器104访问的一个或多个服务108的访问权。每个客户端设备102包括通信模块102a,以使得客户端设备102能够与其他机器(诸如自举服务器106或服务器104)或者与其他客户端设备进行通信。通常,其他机器远离客户端设备102安置。通信模块102a可以是任何合适的通信模块,包括任何合适的通信电路并且使用任何合适的通信协议来发送和接收消息(或数据或数据分组)。通信模块102a可以使用任何合适的通信协议来与其他机器进行通信,例如但不限于:无线通信(例如,WiFi)、短距离通信(诸如射频通信(RFID)或近场通信(NFC))或者通过使用ZigBee、Thread、蓝牙、蓝牙LE、经由低功率无线标准的IPv6(6LoWPAN)、受约束应用协议(CoAP)或经由TCP、TLS和WebSockets的CoAP规定的通信协议。通信模块102a可以使用无线移动(蜂窝)电信协议来与远程机器进行通信,例如3G、4G、5G等。客户端设备102可以使用有线通信技术(诸如经由金属电缆或光纤电缆)与远程机器进行通信。客户端设备102可以使用多于一种的通信技术来与远程机器进行通信。
客户端设备102包括处理器或处理电路102b。处理器102b控制客户端设备102执行的各种处理操作,诸如验证数字证书以及对试图与客户端设备102通信的机器进行认证。处理器102b可以包括处理数据(例如,从系统100内的其他机器接收的数据信号和数据分组)并且响应于该处理产生输出数据的处理逻辑。处理器102b可以包括以下中的一个或多个:微处理器、微控制器和集成电路。
客户端设备102包括存储装置102c。存储装置102c可以包括用作暂时性存储器的易失性存储器(诸如随机存取存储器(RAM))和/或用于存储数据、程序或指令的非易失性存储器(诸如Flash、只读存储器(ROM)或电可擦除可编程ROM(EEPROM))。存储装置102c可以存储在制造客户端设备102的制造过程期间提供的证书,诸如用于客户端设备102的数字证书(其包括关于客户端设备的公钥的信息)(在本文中也被称为Cert(C))和公钥-私钥对中的私钥(在本文中也被称为Priv(C))。存储装置102c可以用于存储额外的密钥和数字证书以及用于对服务器104进行验证/认证的信息。存储装置102c可以用于存储可以用于识别客户端设备102的信息,诸如客户端设备102独有的端点名称或安全凭证。端点名称可以由制造商规定,或者可以在自举过程期间规定(使得例如由自举服务器106在自举配备过程期间为客户端设备102创建和提供唯一的端点名称),或者可以在握手过程(例如,TLS/DTLS握手过程)期间规定。端点名称对于客户端设备102可以是全局唯一的。可替代地,端点名称可以是本地唯一的,使得它对于与客户端设备相关联的特定账户或用户是唯一的。在这种情况下,端点名称和/或账户/用户可能需要识别客户端设备102。
客户端设备102可以包括使得设备102能够接收输入(例如,感测的/测量的数据)和/或产生输出(例如,音频和/或视觉输出、或者控制命令等)的一个或多个接口102d。
客户端设备102可以使用适当的通信标准/协议与服务器104进行通信。将理解,中间设备(诸如网关)可以位于设备102和服务器104之间,以促进机器之间的通信。
在实施例中,客户端设备102可以是物联网(IoT)设备或受约束资源设备。服务器104可以是轻量级机器对机器服务器(LWM2M服务器),使得服务器104和客户端设备102使用开放移动联盟(OMA)LWM2M协议或其他LWM2M协议进行通信。服务器104可以是OMA设备管理(DM)服务器,以使得服务器104和客户端设备102使用OMA DM通信协议进行通信。服务器104可以是TR-069服务器(其是双向的基于SOAP/HTTP的协议),使得服务器104和客户端设备102使用宽带论坛(Broadband Forum)发布的CPE WAN管理协议(CWMP)进行通信。服务器104可以是遵循开放连接基金会(Open Connectivity Foundation)或开放互连联盟(OpenInterconnect Consortium)设置的标准/协议的服务器。
服务器104可以与服务108进行通信,服务108可以是例如互联网上的私有云或公共云环境的一部分,或者可以托管在服务器104上。服务108可以提供不同类型的服务,诸如数据存储、数据分析、数据管理、应用服务等。将理解,这些列出的服务仅仅是例子,而非限制。
系统100包括注册目录110。注册目录110可以位于服务器104内,或者可以在服务器104的外部,如图1中所示。在任一种情况下,服务器104与注册目录110进行通信以维护已经向服务器104注册的每个客户端设备102的注册。服务器104可以被配置为从连续地或不连续地操作地连接到服务器104的客户端设备接收注册。客户端设备102和它们的资源、连同其他信息一起被向注册目录110注册。因此,注册目录110可以被认为是机器对机器网络中的服务器104下面的资源的注册簿。这消除了对于管理工具的需要,或者消除了对于探测/查询网络以确定哪些资源/设备存在于网络中的需要。注册目录110可以由处理器和存储装置提供。注册目录110可以被实现为例如数据库应用。通信地耦合到服务器104的客户端设备102将注册请求发送到服务器104,服务器104在注册目录110内为客户端设备102创建条目。注册目录110内的条目包括使得服务器104能够识别客户端设备102的信息,使得从客户端设备102接收的随后的消息可以容易地归于正确的被注册设备。
客户端设备102和服务器104可以与自举服务器106进行通信。在实施例中,服务器106可以是任何类型的服务器或远程机器,并且可能不一定是专用的自举服务器。一般来讲,自举服务器106是可以能够向客户端设备102和/或服务器104提供数据(例如,可以能够提供证书)的任何手段(例如,机器、硬件、技术、服务器、软件等)。在实施例中,服务器104可以是自举服务器。自举服务器106可以用于为客户端设备102配备使得客户端设备102能够与服务器104进行TLS/DTLS握手过程的所需信息。自举服务器106可以包括向自举服务器注册的所有的机器、连同关于任何机器应具有的许可/访问权的信息、以及机器与其他机器通信具有或可能需要哪些细节的数据库。在实施例中,自举服务器106可能不需要为客户端设备102配备任何所需证书,相反,这些配备可以在制造过程期间或在握手过程期间发生。
在实施例中,客户端设备102可以是使用轻量级机器对机器协议(LWM2M)与其他机器通信的受约束资源设备。服务器104可以是LWM2M服务器。LWMEM服务器可以利用自举技术来为客户端设备配备所需信息,例如,用于TLS/DTLS握手的证书。自举技术可以包括“工厂自举”,在“工厂自举”中,信息(例如,证书)在制造期间被硬编码到客户端设备102中。工厂自举可以包括添加客户端设备102与其他设备(例如,服务器104)通信所需的一个或多个证书,或者可以包括添加客户端设备102到达自举服务器(其可以提供客户端设备102与其他设备通信所需的任何缺失的信息)所需的信息。将理解,为客户端设备102配备证书的任何合适的技术可以用来代替或补充本文中所提到的配备技术。
图2示出了在客户端设备和服务器之间建立握手以建立安全通信会话的步骤的示意图。过程从步骤S200开始,此时客户端设备102将“client hello”消息(或类似消息)发送到服务器104。客户端设备102可能已经在工厂自举过程期间或者由自举服务器106配备了服务器104的服务器名称指示(SNI)和IP地址。(将理解,服务器104可以通过将初始“hello”消息发送到客户端设备102来同样地发起握手,并且图2中的过程仅仅是示例性的)。“client hello”消息可以包括握手过程中的后续计算中所用的随机字节串。
在步骤S202,服务器104通过将“server hello”消息发送到客户端设备102来做出响应。“server hello”消息可以包括进一步的随机字节串和它自己的数字证书Cert(S)。如果服务器104需要客户端设备的数字证书来对客户端设备102进行认证,则服务器104还发送请求Cert(C)的消息(步骤S204)。对于Cert(C)的这个请求可以在步骤S202包括在“server hello”消息中。
在步骤S206,客户端设备102对从服务器104接收的Cert(S)进行验证。如果验证不成功,则客户端设备102可以终止所述过程,或者在终止握手过程之前将“fail”消息发送到服务器104。如果验证成功,则客户端设备102将加密的随机字节串发送到服务器104(图2中未示出)。随机字节串是使用服务器的公钥加密的,并且加密的随机字节串使得客户端设备和服务器这二者能够计算将并被用于对机器之间交换的后续消息进行加密的密钥。
如果服务器104请求了Cert(C),则在步骤S208,客户端设备102将Cert(C)发送到服务器104。客户端设备102还可以发送用客户端设备的私钥加密的随机字节串。
在步骤S210,服务器104对从客户端设备102接收的Cert(C)进行验证。如果验证不成功,则服务器104可以终止所述过程,或者在终止握手过程之前将“fail”消息发送到客户端设备102。
在步骤S212,客户端设备102将用密钥加密的“finished”消息发送到服务器104。“finished”消息指示握手过程的客户端设备102部分已完成。类似地,在步骤S214,服务器104将用密钥加密的“finished”消息发送到客户端设备102。该“finished”消息指示握手过程的服务器104部分已完成。安全通信会话现在已经建立,客户端设备102和服务器104可以在会话期间交换用共享的密钥加密的消息(步骤216)。
如图2中所示,握手过程(其可以是TLS/DTLS握手过程或涉及安全凭证交换的任何其他的握手过程)需要客户端设备102和服务器104共享它们的数字证书(参见步骤S202和S208)、并且让每个机器对接收的数字证书进行验证。握手过程必定至少涉及服务器104从客户端设备12接收足够的信息以使得客户端设备102能够被服务器104识别。例如,客户端设备102发送的握手消息可以包括识别客户端设备102的信息,诸如客户端设备标识符。客户端设备标识符可以包含在客户端设备证书Cert(C)内,或者可以在握手消息内分开提供。本技术用此来提供用于维护向服务器的客户端设备注册的更高效的过程。
根据LWM2M版本1.0规范的目前描述,CoAP消息用于执行向服务器的客户端设备注册、用于维护注册并且执行注册的更新。虽然CoAP对于受约束资源设备和受约束网络是有用的通信技术,但是因为它使用普通文本消息,所以CoAP消息和客户端设备维护它们向服务器的LWM2M协议注册的要求的组合导致许多CoAP消息在每次客户端设备执行更新操作时都被发送。此外,LWM2M协议没有考虑到以下事实,即,每当建立安全通信会话时,在客户端设备和服务器之间共享很多信息,使得CoAP消息在某些情况下可能是冗余的。
图3示出向服务器注册客户端设备的步骤的示意图。已经在客户端设备102和服务器104之间建立安全通信会话之后(即,在图2的步骤S214之后),客户端设备102将CoAP注册消息发送到服务器(步骤S300)。CoAP注册消息可以是以下形式:
POST/rd?ep=node1&b=UQ&It=6000…
该形式指示客户端设备名称(即,端点名称)是“node1”,服务器必须将对于客户端设备的所有请求进行排队,并且注册的寿命是6000秒。其他参数可以包括在CoAP注册消息中,诸如客户端设备的资源的指示(例如,它测量温度)。
在步骤S302,服务器104从CoAP注册消息中提取信息/参数以使得客户端设备102能够被添加到注册目录110。服务器104然后指示注册目录110(其可以在服务器104的内部或外部,如图1所示)在客户端设备注册目录110中为客户端设备102创建条目(步骤S304)。注册目录110内的客户端设备条目包括使得服务器104能够识别客户端设备102的信息,以使得从客户端设备102接收的后续消息可以被容易地归于正确的被注册设备。注册目录110内的客户端设备条目还包括注册的寿命,以使得服务器104知道当前注册要持续多久、以及何时预计从客户端设备102接收到更新消息以维护注册。
当这已经被注册目录110完成时,服务器将CoAP注册确认消息送回到客户端设备(步骤S306)。CoAP注册确认消息可以包含2.01(已创建)响应代码。
一旦客户端设备102已经向服务器104注册,就有必要使客户端设备102在注册寿命到期之前执行更新操作,以便维护向服务器104的注册。图4示出了维护向服务器的客户端设备注册的步骤的示意图。在客户端设备102和服务器104之间建立安全通信会话已经之后(即,在图2的步骤S214之后),客户端设备102将CoAP更新消息发送到服务器(步骤S400)。CoAP更新消息可以是以下形式:
POST/rd{location}?It=7000…
此消息包含让服务器104识别该消息是从哪个客户端设备接收的并且确定客户端设备在注册目录110内是否具有条目的足够信息。如果客户端设备102唯一希望做的事是维护注册,则消息可以不包含参数,或者如果客户端设备102希望改变或更新其在注册目录110内的条目,则所述消息可以包含一个或多个参数。例如,在以上消息中,消息中的寿命字段指示寿命现在是7000秒,因此客户端设备102正在寻求更新注册目录110内的寿命。
服务器104从CoAP更新消息中提取信息(步骤S402),以便确定发送该消息的客户端设备的身份,将客户端设备身份映射到注册目录110内的条目(如果客户端设备向服务器104注册),并且更新注册目录110内的条目的任何方面。服务器104将提取的信息连同更新客户端设备条目的指令一起发送到注册目录110(步骤S404)。如果CoAP更新消息不包含参数,则指令可以简单地使注册目录110维护客户端设备102条目和/或重新开始注册的寿命。当更新过程已经完成时,服务器104将CoAP改变消息送回到客户端设备102,其中CoAP改变消息可以包含2.04(已改变)响应代码。
然而,如以上所说明的,图4的用于维护注册的过程需要建立安全通信会话、然后在客户端设备102和服务器104之间交换CoAP消息。如果客户端设备102仅希望维护其向服务器104的注册(即,不希望对其在注册目录110内的条目做出任何改变),则它在步骤S400发送的CoAP更新消息不包含任何参数。本技术提供了用于维护客户端设备注册的技术(即,当不对客户端设备注册做出改变时),这减少了在客户端设备102和服务器104之间发送的CoAP消息的数量。
图5示出了用于维护向服务器的客户端设备注册的技术的示意图。所述过程通过在客户端设备102和服务器104之间建立安全通信会话开始(即,在图2的步骤S214之后)。一旦安全通信会话已经被建立,服务器104就变得知道客户端设备102仍“活着”并且在服务器的网络内。如果客户端设备102不对其在注册目录110内的条目做出更新,则客户端设备102可以返回到低功率模式或休眠模式。在任何情况下,客户端设备102不将任何进一步的消息发送到服务器104。也就是说,客户端设备不将CoAP更新消息发送到服务器(参看图4中的步骤S400)。服务器104可以等待某个时间量来使CoAP更新消息(或其他CoAP消息)从建立了安全通信会话的客户端设备102发送(步骤S500)。该时间可以是几秒到几十秒或更长。该时间可以针对每个服务器或每个网络定义,以考虑消息通常如何在整个网络上发送以及有多少个客户端设备存在于网络中。例如,在多跳网络中,可能需要多跳来使消息从源行进到目的地,因此使消息被服务器104接收所花费的时间可能长于单跳网络中,在单跳网络中,源可以能够直接与目的地进行通信。
在本技术中,如果在该预定时段/持续时间期间服务器104没有接收到CoAP更新消息(或其他消息),则服务器104可以断定客户端设备102仍“活着”或进行操作并且希望维护其注册,因为否则客户端设备102将不会发送建立安全通信会话的请求。因此,服务器104将维护目录内的客户端设备102条目的指令发送到注册目录110。通过用于建立安全通信会话的握手过程,服务器104具有它识别目录110内的正确条目所需的所有信息。这是因为在握手过程期间,客户端设备102向服务器104提供诸如客户端设备名称/端点名称、安全凭证等的信息,服务器104可以使用该信息来识别客户端设备102。该信息可以用于在注册目录110内定位客户端设备102条目。因此,本技术减少了对于客户端设备102发送CoAP更新消息(并且接收CoAP改变消息)以维护其向服务器104的注册的需求。更新过程(或用于维护客户端设备向服务器的注册的过程)移除了一些或全部的冗余的CoAP消息,因此,提供了维护客户端设备向服务器的注册的简化的且更高效的方式,该方式在客户端设备102处使用更少的功率、存储器和/或处理能力。
因此,提供了一种用于维护客户端设备102向服务器104的注册的方法,该方法由客户端设备102执行,包括:建立与服务器104的安全通信会话,包括将客户端hello消息发送到服务器,并且将客户端设备证书提供给服务器,客户端设备证书至少包括客户端设备标识符;在安全通信会话建立之后,将受约束应用协议(CoAP)注册消息发送到服务器,CoAP注册消息包括客户端设备标识符和注册的寿命;从服务器接收CoAP注册确认消息,CoAP注册确认消息确认客户端设备已经被添加到客户端注册目录;在寿命到期之前,将进一步的客户端hello消息发送到服务器以维护目录内的客户端设备的注册。
客户端设备102可以包括:存储装置102c,其用于存储客户端设备证书或客户端设备证书的散列中的一项或两项,客户端设备证书至少包括客户端设备标识符;以及通信电路102a,其用于:建立与服务器的安全通信会话,包括将客户端hello消息发送到服务器,并且将客户端设备证书提供给服务器;将受约束应用协议(CoAP)注册消息发送到服务器,CoAP注册消息包括客户端设备标识符和注册的寿命;从服务器接收CoAP注册确认消息,CoAP注册确认消息确认客户端设备已经被添加到客户端注册目录;在寿命到期之前,将进一步的客户端hello消息发送到服务器以维护目录内的客户端设备的注册。
客户端设备102可以包括处理电路102b,其用于在从服务器104接收到CoAP注册确认消息之后使设备102切换到休眠模式或低功率模式。这可以使得客户端设备102能够降低功耗、存储器使用或处理能力。因此,用于维护注册的方法可以包括在接收到CoAP注册确认消息之后进入休眠模式。客户端设备102的处理电路102b可以在注册寿命到期之前使设备102切换到唤醒模式,以使得客户端设备102可以在寿命到期之前请求与服务器104建立安全通信会话,以维护其向服务器104的注册。因此,用于维护注册的方法可以包括:在寿命到期之前进入唤醒模式;并且当发送进一步的客户端hello消息时重新建立与服务器104的安全通信会话。
建立与服务器104的安全通信会话的步骤可以包括使用TLS/DTLS握手序列,或者使用利用受约束应用协议(CoAP)消息的任何密钥交换和握手过程。
提供客户端设备证书可以包括将客户端数字证书的散列提供给服务器104。客户端数字证书的散列可以通过对客户端数字证书应用密码散列函数而产生。密码散列函数可以是任何合适的密码散列函数,诸如以下之一:MD5散列函数;安全散列算法(SHA)散列函数;SHA-2散列函数;SHA-3散列函数;或SHA-256散列函数。
客户端设备102和服务器104可以使用任何合适的通信协议进行通信,诸如以下中的一个:轻量级机器对机器(LWM2M)协议、OMA轻量级机器对机器(OMA LWM2M)协议、OMA DM规范、开放互连联盟(OIC)协议、经由TCP标准的CoAP、经由TLS标准的CoAP、或TR-069协议。
客户端设备102可以是物联网(IoT)设备。
服务器可以是以下中的任何一个:LWM2M服务器、OMA LWM2M服务器、TR-069服务器、OIC服务器或OMA DM服务器。
还提供了一种用于维护客户端设备102向服务器104的注册的方法,该方法由服务器104执行,包括:建立与客户端设备102的安全通信会话,包括从客户端设备102接收客户端hello消息和客户端设备证书,客户端设备证书至少包括客户端设备标识符;从客户端hello消息和客户端设备证书中提取用于识别客户端设备102的信息;在安全通信会话建立之后,从客户端设备102接收受约束应用协议(CoAP)注册消息,CoAP注册消息包括客户端设备102的客户端标识符和注册的寿命;至少使用所提取的用于识别客户端设备的信息和注册的寿命在客户端注册目录110中为客户端设备102创建条目;将CoAP注册消息发送到客户端设备102,CoAP注册消息确认客户端设备已经被添加到客户端注册目录110;在寿命到期之前,从客户端设备102接收进一步的客户端hello消息;使用所述进一步的客户端hello消息中的信息来在客户端注册目录110内定位客户端设备条目;如果没有从客户端设备102接收到后续CoAP消息,则使用所述进一步的客户端hello消息来维护客户端注册目录110内的客户端设备的注册。
服务器104可以包括:耦合到通信电路的至少一个处理器,用于:建立与客户端设备102的安全通信会话,包括从客户端设备接收客户端hello消息和客户端设备证书,客户端设备证书至少包括客户端设备标识符;从客户端hello消息和客户端设备证书中提取用于识别客户端设备的信息;在安全通信会话建立之后,从客户端设备接收受约束应用协议(CoAP)注册消息,CoAP注册消息包括客户端设备的客户端标识符和注册的寿命;至少使用提取的用于识别客户端设备的信息和注册的寿命在客户端注册目录110中为客户端设备创建条目;将CoAP注册消息发送到客户端设备,CoAP注册消息确认客户端设备已经被添加到客户端注册目录;在寿命到期之前,从客户端设备接收进一步的客户端hello消息;使用所述进一步的客户端hello消息中的信息来在客户端注册目录内定位客户端设备条目;如果没有从客户端设备接收到后续CoAP消息,则使用所述进一步的客户端hello消息来维护客户端注册目录内的客户端设备的注册。
服务器104可以包括客户端注册目录110。可替代地,服务器104可以通信地耦合到外部的客户端注册目录110,并且在客户端注册目录110中创建条目的步骤包括向(外部的)客户端注册目录110发送用于为客户端设备102创建条目的指令。
在客户端注册目录110中创建条目的步骤可以包括在客户端注册目录110中存储以下中的至少一个:客户端设备标识符、与客户端设备相关联的安全凭证、安全凭证的散列以及用于产生散列的密码散列函数。
所述进一步的客户端hello消息可以包括客户端设备证书。在这种情况下,使用所述进一步的客户端hello消息中的信息的步骤可以包括使用客户端设备证书中的客户端设备标识符来在客户端注册目录110内定位客户端设备条目。
使用所述进一步的客户端hello消息中的信息的步骤可以包括使用所述进一步的客户端hello消息中的安全凭证来在客户端注册目录110内定位客户端设备条目。
所述进一步的客户端hello消息可以包括安全凭证的散列。在这种情况下,使用所述进一步的客户端hello消息中的信息的步骤可以包括:从客户端注册目录中检索安全凭证和密码散列函数对;对安全凭证应用密码散列函数以产生安全凭证的散列;将产生的散列与接收的散列(在所述进一步的客户端hello消息或在握手过程期间由客户端设备102发送的其他消息中)进行比较;如果产生的散列与接收的散列匹配,则识别客户端注册目录110内的客户端设备条目。可以重复该过程,直到在产生的散列和接收的散列之间找到匹配。
安全凭证可以是客户端设备证书和/或TLS证书。
如果在寿命到期之前没有接收到所述进一步的客户端hello消息,则服务器104可以从客户端注册目录110中删除客户端设备条目。
本技术的实施例还提供了一种承载代码的非暂时性数据载体,所述代码当在处理器上实现时使处理器执行本文中所描述的方法。
本技术进一步提供了(例如,在通用计算机系统或数字信号处理器(DSP)上)实现上述方法的处理器控制代码。本技术还提供了特别是在非暂时性数据载体上或者在非暂时性计算机可读介质(诸如硬盘、微处理器、CD-ROM或DVD-ROM、程控存储器(诸如只读存储器(固件)))上或者在诸如光或电信号载体的数据载体上承载处理器控制代码的载体,所述处理器控制代码在运行时实现上述任何一个方法。所述代码可以在(非暂时性)载体(诸如硬盘、微处理器、CD-ROM或DVD-ROM、程控存储器(诸如非易失性存储器(例如,Flash)或只读存储器(固件)))上提供。实现本技术的实施例的代码(和/或数据)可以包括使用常规的编程语言(解释型或编译型)的源、对象或可执行代码,编程语言诸如是C、汇编代码、用于设立或控制ASIC(专用集成电路)或FPGA(现场可编程门阵列)的代码、或者用于硬件描述语言(诸如VerilogTM或VHDL(超高速集成电路硬件描述语言))的代码。如技术人员将意识到的,这样的代码和/或数据可以分布在互相通信的多个耦合的组件之间。本技术可以包括控制器,该控制器包括耦合到系统的组件中的一个或多个的微处理器、工作存储器和程序存储器。
用于执行上述技术的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,包括面向对象的编程语言和常规的过程式编程语言。代码组件可以体现为过程、方法等,并且可以包括子组件,那些子组件可以采取从本机指令集的直接机器指令到高级编译型或解释型语言构造的任何一个抽象层次上的指令或指令序列的形式。
本领域技术人员还将清楚的是,根据本技术的优选实施例的逻辑方法的全部或部分可以适当地体现在包括执行上述方法的步骤的逻辑元件的逻辑设备中,并且这样的逻辑元件可以包括例如可编程逻辑阵列或专用集成电路中的组件,诸如逻辑门。这样的逻辑布置可以进一步体现在用于使用例如虚拟硬件描述符语言在这样的阵列或电路中暂时性地或永久地建立逻辑结构的使能元件中,虚拟硬件描述符语言可以通过使用固定的或可发送的载体介质来存储和发送。
在实施例中,本技术可以以其上具有函数型数据的数据载体的形式实现,所述函数型数据包括当被加载到计算机系统或网络上并在此操作时使得所述计算机系统能够执行上述方法的全部步骤的函数型计算机数据结构。
本技术的特定方法可以如下实施:
本技术的第一方法提供了用于维护客户端设备向服务器的注册的方法,所述方法由客户端设备执行,包括:建立与服务器的安全通信会话,包括将客户端hello消息发送到服务器,并且将客户端设备证书提供给服务器,客户端设备证书至少包括客户端设备标识符;在安全通信会话建立之后,将受约束应用协议(CoAP)注册消息发送到服务器,CoAP注册消息包括客户端设备标识符和注册的寿命;从服务器接收CoAP注册确认消息,CoAP注册确认消息确认客户端设备已经被添加到客户端注册目录;在寿命到期之前,将进一步的客户端hello消息发送到服务器以维护目录内的客户端设备的注册。
本技术的第二方法提供了一种客户端设备,客户端设备包括:存储装置,其用于存储客户端设备证书或客户端设备证书的散列中的一项或两项,客户端设备证书至少包括客户端设备标识符;以及通信电路,其用于:建立与服务器的安全通信会话,包括将客户端hello消息发送到服务器,并且将客户端设备证书提供给服务器;将受约束应用协议(CoAP)注册消息发送到服务器,CoAP注册消息包括客户端设备标识符和注册的寿命;从服务器接收CoAP注册确认消息,CoAP注册确认消息确认客户端设备已经被添加到客户端注册目录;在寿命到期之前,将进一步的客户端hello消息发送到服务器以维护目录内的客户端设备的注册。
本技术的第三方法提供了一种用于维护客户端设备向服务器的注册的方法,所述方法由服务器执行,包括:建立与客户端设备的安全通信会话,包括从客户端设备接收客户端hello消息和客户端设备证书,客户端设备证书至少包括客户端设备标识符;从客户端hello消息和客户端设备证书中提取用于识别客户端设备的信息;在安全通信会话建立之后,从客户端设备接收受约束应用协议(CoAP)注册消息,CoAP注册消息包括客户端设备的客户端标识符和注册的寿命;至少使用所提取的用于识别客户端设备的信息和注册的寿命在客户端注册目录中为客户端设备创建条目;将CoAP注册消息发送到客户端设备,CoAP注册消息确认客户端设备已经被添加到客户端注册目录;在寿命到期之前,从客户端设备接收进一步的客户端hello消息;使用所述进一步的客户端hello消息中的信息来在客户端注册目录内定位客户端设备条目;如果没有从客户端设备接收到后续CoAP消息,则使用所述进一步的客户端hello消息来维护客户端注册目录内的客户端设备的注册。
本技术的第四方法提供了一种服务器,所述服务器包括:耦合到通信电路的至少一个处理器,其用于:建立与客户端设备的安全通信会话,包括从客户端设备接收客户端hello消息和客户端设备证书,客户端设备证书至少包括客户端设备标识符;从客户端hello消息和客户端设备证书中提取用于识别客户端设备的信息;在安全通信会话建立之后,从客户端设备接收受约束应用协议(CoAP)注册消息,CoAP注册消息包括客户端设备的客户端标识符和注册的寿命;至少使用提取的用于识别客户端设备的信息和注册的寿命在客户端注册目录中为客户端设备创建条目;将CoAP注册消息发送到客户端设备,CoAP注册消息确认客户端设备已经被添加到客户端注册目录;在寿命到期之前,从客户端设备接收进一步的客户端hello消息;使用所述进一步的客户端hello消息中的信息来在客户端注册目录内定位客户端设备条目;如果没有从客户端设备接收到后续CoAP消息,则使用所述进一步的客户端hello消息来维护客户端注册目录内的客户端设备的注册。
本领域技术人员将意识到,虽然前面已经描述了什么被认为是执行本技术的最佳模式以及在适当的情况下执行本技术的其他模式,但是本技术不应限于优选实施例的这种描述中所公开的特定的构造和方法。本领域技术人员将认识到,本技术具有范围广泛的应用,并且在不脱离所附权利要求中限定的任何发明构思的情况下,实施例可以进行范围广泛的修改。

Claims (29)

1.一种用于维护客户端设备向轻量级机器对机器(LwM2M)服务器的注册的方法,所述方法由所述客户端设备执行,包括:
建立与LwM2M服务器的安全通信会话,包括执行与LwM2M服务器的传输层安全(TLS)或数据报传输层安全(DTLS)握手;
从LwM2M服务器接收注册确认消息,该注册确认消息确认所述客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;
在所述寿命到期之前,执行与LwM2M服务器的进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别所述客户端设备以便维护所述客户端注册目录内的所述客户端设备的注册的客户端数据。
2.根据权利要求1所述的方法,进一步包括:
在接收到所述注册确认消息之后进入休眠模式。
3.根据权利要求2所述的方法,进一步包括:
在所述寿命到期之前进入唤醒模式;以及
当发送所述进一步的TLS或DTLS握手时,重新建立与所述服务器的安全通信会话。
4.根据权利要求1至3中任一项所述的方法,其中,建立与LwM2M服务器的安全通信会话的步骤包括使用利用受约束应用协议(CoAP)消息进行的密钥交换和握手过程。
5.根据任一前述权利要求所述的方法,其中,建立与LwM2M服务器的安全通信会话的步骤包括将客户端设备证书提供给LwM2M服务器,并且可选地还包括将所述数字证书的散列提供给所述服务器。
6.根据权利要求5所述的方法,其中,所述数字证书的散列是通过对所述数字证书应用密码散列函数而产生的。
7.根据权利要求6所述的方法,其中,所述密码散列函数是以下中的任何一个:MD5散列函数;安全散列算法(SHA)散列函数;SHA-2散列函数;SHA-3散列函数;或SHA-256散列函数。
8.根据任一前述权利要求所述的方法,其中,所述客户端数据包括客户端设备标识符,并且关于所述设备的信息被包含在握手消息或者从证书中提取的标识符或从客户端hello消息中提取的标识符内。
9.根据权利要求1至7中任一项所述的方法,其中,所述客户端数据包括预共享密钥、会话ID或会话票证中的任何一个。
10.根据权利要求1至7中任一项所述的方法,包括所述进一步的TLS或DTLS握手包括:发送包括客户端证书的证书消息,并且使用所述客户端证书来识别要维护哪个客户端注册。
11.根据权利要求1至7中任一项所述的方法,包括所述进一步的TLS或DTLS握手包括:在客户端hello消息中发送预共享密钥,所述预共享密钥用于识别要维护哪个客户端设备注册。
12.根据权利要求1至7中任一项所述的方法,包括所述进一步的TLS或DTLS握手包括:使用包括证书中的客户端标识符的客户端hello消息中的信息来定位所述客户端注册目录内的客户端设备条目。
13.根据权利要求1至7中任一项所述的方法,包括使用利用在客户端hello消息中发送的会话ID或会话票证进行的会话恢复,其中,所述会话ID或会话票证用于识别要维护哪个客户端设备注册。
14.一种客户端设备,包括:
通信电路,所述通信电路用于:
建立与轻量级机器对机器(LwM2M)服务器的安全通信会话,包括执行与LwM2M服务器的传输层安全(TLS)或数据报传输层安全(DTLS)握手;
从LwM2M服务器接收注册确认消息,所述注册确认消息确认所述客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;并且
在所述寿命到期之前,执行与LwM2M服务器的进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别所述客户端注册目录内的所述客户端设备的客户端数据。
15.根据权利要求14所述的客户端设备,进一步包括:
处理电路,所述处理电路用于在接收到所述注册确认消息之后使所述设备切换到休眠模式。
16.根据权利要求15所述的客户端设备,其中,所述处理电路在所述寿命到期之前使所述设备切换到唤醒模式。
17.一种承载代码的非暂时性数据载体,所述代码当在处理器上实现时使所述处理器执行根据权利要求1至13中任一项所述的方法。
18.一种用于维护客户端设备向轻量级机器对机器(LwM2M)服务器的注册的方法,所述方法由所述服务器执行,包括:
建立与所述客户端设备的安全通信会话,包括执行与所述客户端设备的传输层安全(TLS)或数据报传输层安全(DTLS)握手;
在安全通信会话建立之后,从所述客户端设备接收注册消息;
将注册确认消息发送到所述客户端设备,所述注册确认消息确认所述客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;
在所述寿命到期之前,执行与LwM2M服务器的进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别所述客户端设备以便维护所述客户端注册目录内的所述客户端设备的注册的客户端数据。
19.根据权利要求18所述的方法,包括在客户端注册目录中创建条目的步骤包括在LwM2M服务器的目录中存储以下中的至少一个:客户端设备标识符、与所述客户端设备相关联的安全凭证、所述安全凭证的散列、以及用于产生所述散列的密码散列函数。
20.根据权利要求18或19所述的方法,其中,所述进一步的TLS或DTLS握手消息包括客户端设备证书,并且其中,使用所述进一步的TLS或DTLS消息中的信息的步骤包括使用所述客户端设备证书中的客户端设备标识符来定位所述客户端注册目录内的客户端设备条目。
21.根据权利要求19或20所述的方法,其中,所述进一步的TLS或DTLS握手消息包括所述安全凭证的散列,并且使用所述进一步的TLS或DTLS消息中的信息的步骤包括:
从LwM2M服务器的注册目录中检索安全凭证和密码散列函数对;
向所述安全凭证应用所述密码散列函数以产生所述安全凭证的散列;
将产生的散列与接收的散列进行比较;以及
如果产生的散列与接收的散列匹配,则在所述客户端注册目录内识别。
22.根据权利要求21所述的方法,其中,所述安全凭证是客户端设备证书。
23.根据权利要求19至22中任一项所述的方法,其中,所述密码散列函数是以下中的任何一个:MD5散列函数;安全散列算法(SHA)散列函数;SHA-2散列函数;SHA-3散列函数;或SHA-256散列函数。
24.根据权利要求18至23中任一项所述的方法,其中,建立与LwM2M服务器的安全通信会话的步骤包括使用利用受约束应用协议(CoAP)消息进行的密钥交换和握手过程。
25.根据权利要求18至24中任一项所述的方法,进一步包括:
如果在所述寿命到期之前没有接收到所述进一步的TLS或DTLS消息,则从所述客户端注册目录中删除所述客户端设备条目。
26.一种轻量级机器对机器(LwM2M)服务器,包括:
耦合到通信电路的至少一个处理器,所述通信电路用于:
建立与客户端设备的安全通信会话,包括执行与所述客户端设备的传输层安全(TLS)或数据报传输层安全(DTLS)握手;
将注册确认消息发送到客户端设备,所述注册确认消息确认所述客户端设备已经被添加到客户端注册目录,所述注册具有定义的寿命;
在所述寿命到期之前,执行进一步的TLS或DTLS握手,所述进一步的TLS或DTLS握手包括用于识别所述客户端设备以便维护所述客户端注册目录内的所述客户端设备的注册的客户端数据。
27.根据权利要求26所述的LwM2M服务器,进一步包括所述客户端注册目录。
28.根据权利要求27所述的LwM2M服务器,其中,所述服务器通信地耦合到外部的客户端注册目录,并且其中,在客户端注册目录中创建条目的步骤包括向所述客户端注册目录发送创建针对所述客户端设备的条目的指令。
29.一种承载代码的非暂时性数据载体,所述代码当在处理器上实现时使所述处理器执行根据权利要求18至25中任一项所述的方法。
CN201910557692.2A 2018-06-26 2019-06-26 自动客户端设备注册 Pending CN110650114A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1810472.9A GB2575433B (en) 2018-06-26 2018-06-26 Automatic client device registration
GB1810472.9 2018-06-26

Publications (1)

Publication Number Publication Date
CN110650114A true CN110650114A (zh) 2020-01-03

Family

ID=63042776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910557692.2A Pending CN110650114A (zh) 2018-06-26 2019-06-26 自动客户端设备注册

Country Status (4)

Country Link
US (1) US11522840B2 (zh)
KR (1) KR20200001489A (zh)
CN (1) CN110650114A (zh)
GB (1) GB2575433B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11516263B2 (en) * 2019-03-14 2022-11-29 T-Mobile Usa, Inc. Secure and transparent transport of application level protocols to non-IP data delivery communication channels
CN114902611B (zh) * 2020-03-12 2023-12-05 Oppo广东移动通信有限公司 配置客户端的方法和装置、及通信系统
US11973824B2 (en) * 2021-09-23 2024-04-30 Shanghai Anviz Technology Co., Ltd. Method for data transmission of audio and video in end-to-end system
CN113824723B (zh) * 2021-09-23 2023-12-08 上海安威士科技股份有限公司 一种应用于音视频数据传输的端到端系统解决方法
WO2023099018A1 (en) * 2021-12-03 2023-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatus and machine-readable media relating to machine-to-machine connectivity information sharing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160065556A1 (en) * 2014-09-03 2016-03-03 Arm Limited Bootstrap mechanism for endpoint devices
US20160234183A1 (en) * 2013-09-13 2016-08-11 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
CN106233695A (zh) * 2014-04-25 2016-12-14 瑞典爱立信有限公司 用于管理客户端设备的装置和方法
WO2017131564A1 (en) * 2016-01-27 2017-08-03 Telefonaktiebolaget Lm Ericsson (Publ) Method for setting up a secure connection between lwm2m devices
CN107211232A (zh) * 2014-07-22 2017-09-26 康维达无线有限责任公司 轻量级机器对机器协议与装置管理协议的互工作

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871276B1 (en) * 2000-04-05 2005-03-22 Microsoft Corporation Controlled-content recoverable blinded certificates
WO2013121892A1 (en) * 2012-02-17 2013-08-22 Nec Corporation Method of controlling machine-type communications (mtc) in a wireless communications network
US10868802B2 (en) * 2015-07-15 2020-12-15 Telefonaktiebolaget Lm Ericsson (Publ) Enabling setting up a secure peer-to-peer connection
US10979879B2 (en) * 2016-12-09 2021-04-13 Convida Wireless, Llc Mechanisms for resource-directory to resource-directory communications
GB2561822B (en) * 2017-04-13 2020-02-19 Arm Ip Ltd Reduced bandwidth handshake communication
US20190238536A1 (en) * 2018-01-26 2019-08-01 Qualcomm Incorporated Techniques for resuming a secure communication session

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160234183A1 (en) * 2013-09-13 2016-08-11 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
CN106233695A (zh) * 2014-04-25 2016-12-14 瑞典爱立信有限公司 用于管理客户端设备的装置和方法
CN107211232A (zh) * 2014-07-22 2017-09-26 康维达无线有限责任公司 轻量级机器对机器协议与装置管理协议的互工作
US20160065556A1 (en) * 2014-09-03 2016-03-03 Arm Limited Bootstrap mechanism for endpoint devices
WO2017131564A1 (en) * 2016-01-27 2017-08-03 Telefonaktiebolaget Lm Ericsson (Publ) Method for setting up a secure connection between lwm2m devices

Also Published As

Publication number Publication date
US11522840B2 (en) 2022-12-06
KR20200001489A (ko) 2020-01-06
US20190394174A1 (en) 2019-12-26
GB201810472D0 (en) 2018-08-08
GB2575433A (en) 2020-01-15
GB2575433B (en) 2020-07-08

Similar Documents

Publication Publication Date Title
US11824643B2 (en) Security lifecycle management of devices in a communications network
US11252239B2 (en) Enabling communications between devices
US10885198B2 (en) Bootstrapping without transferring private key
US20200015087A1 (en) Reduced bandwidth handshake communication
US11522840B2 (en) Automatic client device registration
CN113596828A (zh) 端对端服务层认证
EP3410670B1 (en) System and method for communicating between devices using a one-time password
US20200274719A1 (en) Generating trust for devices
US20200274707A1 (en) Server for and method of secure device registration
US11475134B2 (en) Bootstrapping a device
US20210136157A1 (en) Machine-to-machine communications
US11949664B2 (en) Machine to machine communications
US20220200984A1 (en) Provisioning data on a device
US20220052999A1 (en) Bootstrapping with common credential data
GB2611284A (en) Managing Connectivity Between Devices
AU2022318282A1 (en) Waking up a device
CN118044244A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200103