CN110071901A - 物联网设备的注册方法、装置、系统和存储介质 - Google Patents
物联网设备的注册方法、装置、系统和存储介质 Download PDFInfo
- Publication number
- CN110071901A CN110071901A CN201810064928.4A CN201810064928A CN110071901A CN 110071901 A CN110071901 A CN 110071901A CN 201810064928 A CN201810064928 A CN 201810064928A CN 110071901 A CN110071901 A CN 110071901A
- Authority
- CN
- China
- Prior art keywords
- end system
- registration
- public keys
- internet
- party
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W60/00—Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
Abstract
本发明实施方式公开了物联网设备的注册方法、装置、系统和存储介质。该方法包括:生成包含公共密钥和私有密钥的密钥对;向第三方提供所述公共密钥,以由所述第三方利用安全信道将所述公共密钥发送到后端系统;向所述后端系统发送注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名,以由所述后端系统基于所述数字签名判断是否接受注册。
Description
技术领域
本发明涉及物联网(Internet of things,IoT)技术领域,特别是涉及一种IoT设备的注册方法、装置、系统和存储介质。
背景技术
IoT通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络融合中,被称为继计算机、互联网之后世界信息产业发展的又一次浪潮。IoT通常包含IoT设备、网络和后端系统(backend system)。IoT设备经由网络连接到可能运行在云环境中的后端系统。IoT设备第一次连接到后端系统时,通常需要考虑以下两个问题。
首先,IoT设备向后端系统的注册过程必须是安全的。这意味着,IoT设备必须与后端系统进行身份验证,以确保只有合法设备才能访问后端系统,而且劫持的设备不能伪装成其他设备连接到后端系统。
另外,需要将IoT设备的虚拟身份和数据流与现实世界中物理存在的IoT设备实体相关联。例如,如果Iot设备向后端系统通知物理损害,维修工程师可以定位现实世界的实际设备实体以执行修复工作。换句话说,如果工程师在物理存在的IoT设备的现场,工程师需要知道该物理存在的Iot设备与在后端系统处以某个虚拟身份注册的特定IoT设备相对应。
在现有技术中,主要基于用户识别模块(Subscriber Identification Module,SIM)卡实现IoT设备的注册过程,这意味着IoT设备需要配置SIM卡,并由此导致成本问题。
发明内容
本发明实施方式提出一种IoT设备的注册方法、装置、系统和存储介质。
本发明实施方式的技术方案如下:
本发明实施方式提出的IoT设备的注册方法,该方法适用于IoT设备,该方法包括:
生成包含公共密钥和私有密钥的密钥对;
向第三方提供所述公共密钥,以由所述第三方利用安全信道将所述公共密钥发送到后端系统;
向所述后端系统发送注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名,以由所述后端系统基于所述数字签名判断是否接受注册。
可见,在本发明实施方式中,IoT设备生成包含公共密钥和私有密钥的密钥对,并经由与后端系统具有安全信道连接的第三方向后端系统传递公共密钥,IoT设备无需SIM卡模块即可实现注册,降低了成本。而且,后端系统不会损害IoT设备上的私有密钥,IoT设备也无法伪装成其他设备连接到后端系统,从而保证了安全性。
在一个实施方式中,该方法还包括下列中的至少一个:
当从所述后端系统接收到确认接受注册消息后,失效向所述第三方提供所述公共密钥的服务;
当从所述后端系统接收到确认接受注册消息后,失效向所述后端系统发送所述注册消息的服务;
当从所述后端系统接收到确认接受注册消息后,基于所述私有密钥在所述IoT设备与所述后端系统之间建立安全信道。
在这里,当IoT设备实现注册之后,可以失效向第三方提供公共密钥的服务以及向后端系统发送注册消息的服务,从而节约处理资源,而且,还可以基于私有密钥在IoT设备与后端系统之间建立安全信道,从而实现IoT设备与后端系统的安全通信。
在一个实施方式中,在生成包含公共密钥和私有密钥的密钥对与向所述第三方提供所述公共密钥之间,该方法还包括:向所述后端系统发送初始注册消息,并从所述后端系统接收初始注册失败消息;
所述向第三方提供所述公共密钥包括:在接收到所述初始注册失败消息之后,向所述第三方提供所述公共密钥;
所述向后端系统发送注册消息包括:周期性向所述后端系统发送所述注册消息。
可见,在接收到初始注册失败消息之后触发向第三方提供公共密钥,可以准确获知注册时机,而且周期性向后端系统发送注册消息,可以提高注册效率。
因此,本发明实施方式的注册过程不能用于在后端系统上安装拒绝服务攻击。这是因为:大量带随机公共密钥的注册消息不能用来耗尽后端系统的CPU资源。相反,后端系统会忽略这些注册消息,只回复注册失败消息即可。
本发明实施方式提出的IoT设备的注册装置,该装置适用于IoT设备,该装置包括:
密钥生成模块,用于生成包含公共密钥和私有密钥的密钥对;
密钥提供模块,用于向第三方提供所述公共密钥,以由所述第三方利用安全信道将所述公共密钥发送到后端系统;
注册模块,用于向所述后端系统发送注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名,以由所述后端系统基于所述数字签名判断是否接受注册。
可见,在本发明实施方式中,IoT设备生成包含公共密钥和私有密钥的密钥对,并经由与后端系统具有安全信道连接的第三方向后端系统传递公共密钥,IoT设备无需SIM卡模块即可实现注册,从而降低了成本。而且,后端系统不会损害IoT设备上的私有密钥,IoT设备也无法伪装成其他设备连接到后端系统,从而保证了安全性。
在一个实施方式中,该装置还包括:
后处理模块,用于执行下列中的至少一个:
当从所述后端系统接收到确认接受注册消息后,失效向所述第三方提供所述公共密钥的服务;
当从所述后端系统接收到确认接受注册消息后,失效向所述后端系统发送所述注册消息的服务;
当从所述后端系统接收到确认接受注册消息后,基于所述私有密钥在所述IoT设备与所述后端系统之间建立安全信道。
在这里,当IoT设备实现注册之后,可以失效向第三方提供公共密钥的服务以及向后端系统发送注册消息的服务,从而节约处理资源,而且,还可以基于私有密钥在IoT设备与后端系统之间建立安全信道,从而实现IoT设备与后端系统的安全通信。
在一个实施方式中,还包括:
初始注册模块,用于在所述密钥生成模块生成包含公共密钥和私有密钥的密钥对与所述密钥提供模块向所述第三方提供所述公共密钥之间,向所述后端系统发送初始注册消息,并从所述后端系统接收初始注册失败消息;
其中所述密钥提供模块,用于在所述初始注册模块接收到所述初始注册失败消息之后,向所述第三方提供所述公共密钥;所述注册模块,用于周期性向所述后端系统发送所述注册消息。
可见,在接收到初始注册失败消息之后触发向第三方提供公共密钥,可以准确获知注册时机,而且周期性向后端系统发送注册消息,可以提高注册效率。
而且,本发明实施方式的注册过程不能用于在后端系统上安装拒绝服务攻击。这是因为:大量带随机公共密钥的注册消息不能用来耗尽后端系统的CPU资源。相反,后端系统会忽略这些注册消息,只回复注册失败消息即可。
本发明实施方式提出的IoT设备的注册方法,该方法适用于后端系统,该方法包括:
经由安全信道从第三方接收并存储公共密钥,所述公共密钥包含在物联网设备产生的密钥对中且被提供到所述第三方,所述密钥对还包含私有密钥;
从所述物联网设备接收注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名;
基于所述数字签名判断是否接受注册。
因此,本发明实施方式还实现了一种后端系统侧的注册方法。后端系统经由安全信道从第三方获取IoT设备生成的公共密钥,IoT设备无需SIM卡模块即可实现注册,从而降低了成本。后端系统不会损害IoT设备上的私有密钥,IoT设备也无法伪装成其他设备连接到后端系统,从而保证了安全性。
在一个实施方式中,所述基于数字签名判断是否接受注册包括:
当所述后端系统判定存储有包含在所述注册消息中的所述公共密钥时,基于所述公共密钥验证所述数字签名是否有效,当有效时,判定接受注册,将所述公共密钥设置为所述IoT设备的虚拟身份标识且向所述IoT设备发送确认接受注册消息;当无效时,判定不接受注册且向所述IoT设备发送注册失败消息。
因此,通过将公共密钥设置为IoT设备的虚拟身份标识,将实际存在的物理Iot设备与在后端系统注册的虚拟身份标识相绑定,由于只需要根据来自后端系统的公共密钥信息即可以正确识别实际的真实设备实体,从而简化了维护操作的难度。
本发明实施方式提出的IoT设备的注册装置,该装置适用于后端系统,该装置包括:
密钥接收模块,用于经由安全信道从第三方接收并存储公共密钥,所述公共密钥包含在物联网设备产生的密钥对中且被提供到所述第三方,所述密钥对还包含私有密钥;
注册消息接收模块,用于从所述IoT设备接收注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名;
注册模块,用于基于所述数字签名判断是否接受注册。
因此,本发明实施方式还实现了一种后端系统侧的注册装置。后端系统经由安全信道从第三方获取IoT设备生成的公共密钥,IoT设备无需SIM卡模块即可实现注册,从而降低了成本。后端系统不会损害IoT设备上的私有密钥,IoT设备也无法伪装成其他设备连接到后端系统,从而保证了安全性。
在一个实施方式中,所述注册模块,用于当所述后端系统判定存储有包含在所述注册消息中的所述公共密钥时,基于所述公共密钥验证所述数字签名是否有效;当有效时,判定接受注册,将所述公共密钥设置为所述IoT设备的虚拟身份标识且向所述IoT设备发送确认接受注册消息;当无效时,判定不接受注册且向所述IoT设备发送注册失败消息。
因此,通过将公共密钥设置为IoT设备的虚拟身份标识,将实际存在的物理Iot设备与在后端系统注册的虚拟身份标识相绑定,由于只需要根据来自后端系统的公共密钥信息即可以正确识别实际的真实设备实体,从而简化了维护操作的难度。
本发明实施方式提出的IoT设备的注册系统,包括IoT设备、第三方和后端系统,其中:
所述IoT设备,用于生成包含公共密钥和私有密钥的密钥对,向所述第三方提供所述公共密钥;向所述后端系统发送注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名;
所述第三方,用于利用安全信道将所述公共密钥发送到所述后端系统;
所述后端系统,用于基于所述数字签名判断是否接受注册。
因此,本发明实施方式还实现了IoT设备的注册系统。IoT设备无需SIM卡模块即可实现注册,从而降低了成本。后端系统不会损害IoT设备上的私有密钥,IoT设备也无法伪装成其他设备连接到后端系统,从而保证了安全性。
在一个实施方式中,所述IoT设备,用于执行下列中的至少一个:
当从所述后端系统接收到确认接受注册消息后,失效向所述第三方提供所述公共密钥的服务;
当从所述后端系统接收到确认接受注册消息后,失效向所述后端系统发送所述注册消息的服务;
当从所述后端系统接收到确认接受注册消息后,基于所述私有密钥在所述IoT设备与所述后端系统之间建立安全信道。
在一个实施方式中,所述后端系统,用于当判定存储有包含在所述注册消息中的所述公共密钥时,基于所述公共密钥验证所述数字签名是否有效;当有效时,判定接受注册,将所述公共密钥设置为所述物联网设备的虚拟身份标识且向所述IoT设备发送确认接受注册消息;当无效时,判定不接受注册且向所述IoT设备发送注册失败消息。
因此,通过将公共密钥设置为IoT设备的虚拟身份标识,将实际存在的物理Iot设备与在后端系统注册的虚拟身份标识相绑定,由于只需要根据来自后端系统的公共密钥信息即可以正确识别实际的真实设备实体,从而简化了维护操作的难度。
在一个实施方式中,所述第三方包括个人电脑、掌上电脑、平板电脑、智能终端或个人数字助理。
因此,第三方具有多种实施方式,本发明实施方式具有很好的适用性。
本发明实施方式提出的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述方法的步骤。
附图说明
图1为根据本发明实施方式的IoT设备的注册系统的结构图。
图2为根据本发明实施方式的IoT设备侧的IoT设备注册方法流程图。
图3为根据本发明实施方式的第三方侧的IoT设备注册方法流程图。
图4为根据本发明实施方式的后端系统侧的IoT设备注册方法流程图。
图5为根据本发明实施方式的IoT设备注册方法的示范性流程图。
图6为根据本发明实施方式的IoT设备侧的IoT设备注册装置的结构图。
图7为根据本发明实施方式的后端系统侧的IoT设备注册装置的结构图。
其中,附图标记如下:
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以阐述性说明本发明,并不用于限定本发明的保护范围。
为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
图1为根据本发明实施方式的IoT设备的注册系统的结构图。
如图1所示,该系统包括IoT设备11、第三方12和后端系统13,其中:
IoT设备11,用于生成包含公共密钥和私有密钥的密钥对,向第三方12提供公共密钥;向后端系统13发送注册消息,注册消息包含公共密钥及基于私有密钥运算得到的数字签名;
第三方12,用于利用安全信道将公共密钥发送到后端系统13;
后端系统13,用于基于数字签名判断是否接受注册。
其中,IoT设备11具体可以实施为射频识别设备、传感器、全球定位系统设备、激光扫描器、智能家居设备等任意的IoT设备。IoT设备11能够生成包含公共密钥(K_pub)和私有密钥(K_priv)的密钥对,优选具有非对称加解密能力。而且,IoT设备11还可以具有至少一种网络接口,比如以太网或无线局域网连接。IoT设备11还可以具有互联网联网能力以与后端系统13通信,比如可以基于上述的网络接口或经由诸如第四代无线通信网络(4G)接口之类的蜂窝网络与后端系统13通信。IoT设备11生成的密钥对用于IoT设备11向后端系统13执行鉴权认证,其中公共密钥优选作为IoT设备11的身份标识,它为IoT设备11的虚拟身份标识。应用本发明实施方式之后,通过将公共密钥优选实施为IoT设备11的虚拟身份标识,不需要使用硬件标识符即可以将IoT设备11识别到后端系统13。
第三方12具体可以实施为个人电脑、掌上电脑、平板电脑、智能终端或个人数字助理(PDA),等等。后端系统13具有IoT设备注册服务,可以实施为云服务或运行在服务器上的服务。
在一个实施方式中,IoT设备11中可以运行向第三方12提供公共密钥的服务。而且,当IoT设备11从后端系统13接收到确认接受注册消息后,失效向第三方12提供公共密钥的服务,即IoT设备11不再向第三方12提供公共密钥。
在一个实施方式中,IoT设备11中可以运行向后端系统13发送注册消息的服务。当IoT设备11从后端系统13接收到确认接受注册消息后,失效向后端系统13发送注册消息的服务,即IoT设备11不再向后端系统13发送注册消息。
在一个实施方式中,IoT设备11当从后端系统13接收到确认接受注册消息后,基于私有密钥在IoT设备11与后端系统13之间建立安全信道。
优选的,后端系统13,用于当判定存储有包含在注册消息中的公共密钥时,基于公共密钥验证数字签名是否有效;当有效时,判定接受注册,将公共密钥设置为IoT设备11的虚拟身份标识且向IoT设备11发送确认接受注册消息;当无效时,判定不接受注册且向IoT设备11发送注册失败消息。
可见,在本发明实施方式中,IoT设备11生成包含公共密钥和私有密钥的密钥对,并经由与后端系统13具有安全信道连接的第三方12向后端系统13传递公共密钥,IoT设备11无需SIM卡模块即可实现注册,降低了成本。而且,后端系统13不会损害IoT设备11上的私有密钥,IoT设备11也无法伪装成其他设备连接到后端系统13,从而保证了安全性。
因此,本发明实施方式的注册过程不能用于在后端系统上安装拒绝服务攻击。这是因为:大量带随机公共密钥的注册消息不能用来耗尽后端系统的CPU资源。相反,后端系统会忽略这些注册消息,只回复注册失败消息即可。
而且,除了具有标准互联网协议连接的IoT设备和具有标准IP连接的后端系统之外,不需要额外的基础设施。而且,不需要为IoT设备创建和刷新独特的软件映像。在生产和软件加载过程中,所有IoT设备都可以使用相同的软件映像。
而且,通过将公共密钥设置为IoT设备11的虚拟身份标识,将实际存在的物理Iot设备与在后端系统注册的虚拟身份标识相绑定,由于只需要根据来自后端系统的公共密钥信息即可以正确识别实际的真实设备实体,从而简化了维护操作的难度。
下面具体描述IoT设备侧的IoT设备注册过程。在IoT设备侧,IoT设备首先生成包含公共密钥和私有密钥的密钥对,并向第三方提供公共密钥,以由第三方利用安全信道将公共密钥发送到后端系统。然后,IoT设备向后端系统发送注册消息,注册消息包含公共密钥及基于私有密钥运算得到的数字签名,以由后端系统基于数字签名判断是否接受IoT设备的注册。
图2为根据本发明实施方式的IoT设备侧的IoT设备注册方法流程图。如图2所示,该方法包括:
步骤21:IoT设备利用非对称加解密算法生成包含公共密钥和私有密钥的密钥对。比如,可以在IoT设备首次开启的时候生成该密钥对。优选的,非对称加解密算法可以包括RSA算法、椭圆加密(ECC)算法、背包算法、Rabin算法或D-H算法,等等。然后,IoT设备将IoT密钥对保存到设备的持久性存储器中。
步骤22:IoT设备经由运行在一或多个网络接口上的网络服务使得公共密钥针对第三方是可以访问的。比如,IoT设备可以经由蓝牙广播该公共密钥。再比如,IoT设备可以基于以太网或无线局域网接口运行网页浏览器,在网页中展示公共密钥。还比如,IoT设备还可以运行文件传输协议(FTP)服务器,第三方可以通过FTP协议获取公共密钥。
步骤23:IoT设备运行注册服务以尝试向末端系统注册,注册消息包含IoT设备生成的公共密钥及辅助数据,而且注册消息受到基于IoT设备生成的私有密钥运算得到的数字签名的保护。比如,IoT设备可以通过RESTful方式或HTTP PUT方式向末端系统发送注册消息。
步骤24:IoT设备判断注册是否成功,如果成功,执行步骤25及其后续步骤;如果不成功,返回执行步骤23。
步骤25:当判定注册成功后,IoT设备将停止使得公共密钥针对第三方是可以访问的服务。而且,IoT设备还停止注册服务。
基于上述流程,完成了注册过程。然后,IoT设备可以使用密钥对与末端系统执行用户鉴权过程以建立安全连接,其中公共密钥可以作为IoT设备的虚拟身份标识。
下面具体描述第三方侧的IoT设备注册过程。第三方既可以实施为用户,也可以实施为自动化的智能设备。可以由用户通过个人电脑、掌上电脑、平板电脑、智能终端或PDA以实施第三方侧的执行流程。比如,可以在IoT设备的制造过程完成之后,工厂人员在工厂首次开启IoT设备时执行第三方侧的执行流程。可选地,还可以脱离用户的参与,由自动化的智能设备实施第三方侧的执行流程。
图3为根据本发明实施方式的第三方侧的IoT设备注册方法流程图。
如图3所示,该方法包括:
步骤31:开启IoT设备。比如,作为第三方的用户开启IoT设备,或者由作为第三方的智能设备自动开启IoT设备。
步骤32:从IoT设备获取公共密钥。比如,作为第三方的用户通过智能终端或平板电脑连接到IoT设备的无线局域网接入点,基于IoT设备上运行的服务获取公共密钥。再比如,作为第三方的用户通过个人电脑或掌上电脑连接到IoT设备的以太网接入点,基于IoT设备上运行的服务获取公共密钥。或者,作为第三方的智能设备自动连接到IoT设备的无线局域网接入点,基于IoT设备上运行的服务获取公共密钥。或者,作为第三方的智能设备自动连接到IoT设备的无线以太网接入点,基于IoT设备上运行的服务获取公共密钥。
步骤33:将公共密钥注册到末端系统。在这里,第三方与末端系统预先建立有安全信道。比如,可以通过登录到使用HTTPS保护的后端系统的网页来实现。第三方可以在该网页上输入之前获得的IoT设备的公共密钥。作为另一个实例,第三方可以通过运行在智能终端或平板电脑上的应用程序,向末端系统传输之前获得的IoT设备的公共密钥,该传输链路也可以使用HTTPS保护。
步骤34:第三方将公共密钥信息添加到物理存在的IoT设备。比如,由后台系统生成包含公共密钥的QR码。第三方将QR码打印在贴纸上,然后再将贴纸放在IoT设备的物理外壳上。作为另一个实例,在IoT设备的物理外壳之上,写上IoT设备的公共密钥的指纹。
下面具体描述后端系统侧的IoT设备注册过程。后端系统具有IoT设备注册服务,可以实施为云服务或运行在服务器上的服务。在后端系统侧,后端系统经由安全信道从第三方接收并存储公共密钥,公共密钥包含在IoT设备产生的密钥对中且被提供到第三方,密钥对还包含私有密钥;后端系统从IoT接收注册消息,注册消息包含公共密钥及基于私有密钥运算得到的数字签名;后端系统基于数字签名判断是否接受IoT设备的注册。
图4为根据本发明实施方式的后端系统侧的IoT设备注册方法流程图。
如图4所示,该方法包括:
步骤41:后端系统接收由第三方通过安全信道提供的公共密钥。
步骤42:当后端系统通过安全信道从第三方接收到公共密钥之后,判断该公共密钥是否为已知的(即判定自身之前是否存储有该公共密钥)。如果是,执行步骤43及其后续步骤,如果不是,执行步骤49并结束本流程。
步骤43:后端系统在自身内部的存储器中存储该公共密钥。该存储器为持久性的,且在末端系统重启之后该公共密钥也不会丢失。可以将该公共密钥的条目(entry)标记为“未注册”,意味着还没有IoT设备拥有该公共密钥。
步骤44:后端系统从IoT设备接收注册消息。
步骤45:后端系统检验该注册消息,判断注册消息检验是否通过。如果是,执行步骤47及其后续步骤,如果不是,执行步骤46并结束本流程。比如,后端系统检验注册消息中的公共密钥是否存在于自身内部的存储器中;后端系统检验公共密钥是否在自身内部的存储器中标记为“未注册”;后端系统检验注册消息中的时间戳是否为最近;后端系统检验注册消息中的常数符合预期;后端系统检验注册消息中的数字签名是有效的。当上述检验都通过之后,认定注册消息检验通过,当上述检验中有至少一个不通过之后,认定注册消息检验不通过。
步骤46:后端系统向注册消息的发起IoT设备发送注册失败消息,并结束本流程。
步骤47:后端系统在自身内部的存储器中将该公共密钥标记为“已注册”。
步骤48:后端系统向注册消息的发起IoT设备发送确认接受注册消息,并结束本流程。
步骤49:后端系统向注册消息的发起IoT设备发送拒绝注册消息,并结束本流程。
当成功完成注册之后,后端系统允许IoT设备使用密钥对建立安全通信信道,其中IoT设备可以在建立安全通信信道的过程中使用密钥对执行用户鉴权。
基于图1所示的系统架构,下面描述IoT设备注册方法的示范性完整过程。图5为根据本发明实施方式的IoT设备注册方法的示范性流程图。
如图5所示,该方法包括:
步骤51:IoT设备11启动。在IoT设备11启动时,IoT设备11生成包含公共密钥和私有密钥的密钥对。其中,可以由具体实施为用户的第三方12启动IoT设备11,也可以由具体实施为自动化智能设备的第三方12自动启动IoT设备11。
步骤52:如果IoT设备11已经存在到互联网的连接,比如存在SIM卡或4G调制解调器,IoT设备11尝试向末端系统13发起初始注册。比如,IoT设备11向后端系统13发送初始注册消息。由于后端系统13并不知晓IoT设备11的公共密钥,因此后端系统13判定初始注册失败且向IoT设备11发送初始注册失败消息。
步骤53:第三方12与IoT设备11建立连接,以从IoT设备11获取公共密钥。比如,具体实施为用户的第三方12使用个人电脑、智能终端或平板电脑向IoT设备11请求公共密钥。
步骤54:IoT设备11向第三方12提供公共密钥。
步骤55:第三方12通过已有信道向后端系统13提供公共密钥。该已有信道应该是一个安全的通道,第三方12已经使用有效的证书认证到后端系统13。
步骤56:后端系统13在自身的存储器中存储公共密钥。
步骤57:后端系统13经由该已有信道通知第三方12确认注册。
步骤58:IoT设备11使用密钥对周期性地向后端系统13发起注册,其中注册信息用基于私有密钥生成的数字签名进行保护。举例,注册消息可以包括下列参数:[K_pub,T,C,…,]Signature,其中K_pub为IoT设备11生成的公共密钥;T为包含IoT设备11的当前日期和时间的时间戳;C为字符串常数,比如末端系统的完全合格域名(FQDN);“…”表示可以添加到注册信息中的可选信息,比如IoT设备11的GPS定位信息;Signature表示数字签名,涵盖方括号“[”和“]”之间的字段。使用与IoT设备11的公共密钥(K_pub)相关联的、(K_priv)IoT设备11的私有密钥(K_priv)运算出该数字签名。数字签名是通过注册消息计算的,从公共密钥开始并包括所有参数(包括可选信息)。
步骤59:末端系统13检查该公共密钥是否已经被通告。如果该公共密钥已经被通告,使用该公共密钥检验数字签名的有效性。如果数字签名有效,则接受该注册,而且后端系统在自身内部的存储器中将该公共密钥标记为“已注册”,意味着可以持续使用该公共密钥建立末端系统13与IoT设备11之间的安全信道。
步骤60:末端系统13向IoT设备11发送返回消息。如果步骤59中的注册成功,返回消息实施为确认接受注册消息。相反,如果步骤59中的注册失败,返回消息实施为注册失败消息。
步骤61:当IoT设备11从后端系统13接收到确认接受注册消息后,失效向第三方12提供公共密钥的服务,并失效向后端系统13发送注册消息的服务。
步骤62:IoT设备11已经完成注册过程。IoT设备11现在可以使用注册的密钥对与末端系统13建立安全信道。比如,IoT设备11可以使用安全传输层协议(TLS)和客户端执行公共密钥认证。只有现在该IoT设备11才被允许与后端系统13交换数据。
基于上述描述,本发明实施方式还提出了一种IoT设备侧的IoT设备注册装置,该装置适用于IoT设备,比如可以布置在IoT设备中。
图6为根据本发明实施方式的IoT设备侧的IoT设备注册装置的结构图。
如图6所示,该装置包括:
密钥生成模块601,用于生成包含公共密钥和私有密钥的密钥对;
密钥提供模块602,用于向第三方提供公共密钥,以由第三方利用安全信道将公共密钥发送到后端系统;
注册模块603,用于向后端系统发送注册消息,注册消息包含公共密钥及基于私有密钥运算得到的数字签名,以由后端系统基于数字签名判断是否接受注册。
在一个实施方式中,该装置还包括:
后处理模块604,用于执行下列中的至少一个:当从后端系统接收到确认接受注册消息后,失效向第三方提供公共密钥的服务;当从后端系统接收到确认接受注册消息后,失效向后端系统发送注册消息的服务;当从后端系统接收到确认接受注册消息后,基于私有密钥在IoT设备与后端系统之间建立安全信道。
在一个实施方式中,该装置还包括:
初始注册模块605,用于在密钥生成模块601生成包含公共密钥和私有密钥的密钥对与密钥提供模块602向第三方提供公共密钥之间,向后端系统发送初始注册消息,并从后端系统接收初始注册失败消息;其中密钥提供模块602,用于在初始注册模块605接收到初始注册失败消息之后,向第三方提供公共密钥;注册模块603,用于周期性向后端系统发送注册消息。
基于上述描述,本发明实施方式还提出了一种后端系统侧的IoT设备注册装置,该装置适用于后端系统,比如可以布置在后端系统中。
图7为根据本发明实施方式的后端系统侧的IoT设备注册装置的结构图。
如图7所示,该装置包括:
密钥接收模块701,用于经由安全信道从第三方接收并存储公共密钥,公共密钥包含在IoT设备产生的密钥对中且被提供到第三方,密钥对还包含私有密钥;
注册消息接收模块702,用于从IoT设备接收注册消息,注册消息包含公共密钥及基于私有密钥运算得到的数字签名;
注册模块703,用于基于数字签名判断是否接受注册。
在一个实施方式中,注册模块703,用于当后端系统判定存储有包含在注册消息中的公共密钥时,基于公共密钥验证数字签名是否有效;当有效时,判定接受注册,将公共密钥设置为IoT设备的虚拟身份标识且向IoT设备发送确认接受注册消息;当无效时,判定不接受注册且向IoT设备发送注册失败消息。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
本发明还提供了一种机器可读的存储介质,存储用于使一机器执行如本申请所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。
用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.物联网设备(11)的注册方法,其特征在于,该方法适用于物联网设备(11),该方法包括:
生成包含公共密钥和私有密钥的密钥对;
向第三方(12)提供所述公共密钥,以由所述第三方(12)利用安全信道将所述公共密钥发送到后端系统(13);
向所述后端系统(13)发送注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名,以由所述后端系统(13)基于所述数字签名判断是否接受注册。
2.根据权利要求1所述的物联网设备(11)的注册方法,其特征在于,该方法还包括下列中的至少一个:
当从所述后端系统(13)接收到确认接受注册消息后,失效向所述第三方(12)提供所述公共密钥的服务;
当从所述后端系统(13)接收到确认接受注册消息后,失效向所述后端系统(13)发送所述注册消息的服务;
当从所述后端系统(13)接收到确认接受注册消息后,基于所述私有密钥在所述物联网设备(11)与所述后端系统(13)之间建立安全信道。
3.根据权利要求1所述的物联网设备(11)的注册方法,其特征在于,在生成包含公共密钥和私有密钥的密钥对与向所述第三方(12)提供所述公共密钥之间,该方法还包括:向所述后端系统(13)发送初始注册消息,并从所述后端系统(13)接收初始注册失败消息;
所述向第三方(12)提供所述公共密钥包括:在接收到所述初始注册失败消息之后,向所述第三方(12)提供所述公共密钥;
所述向后端系统(13)发送注册消息包括:周期性向所述后端系统(13)发送所述注册消息。
4.物联网设备的注册装置,其特征在于,该装置适用于物联网设备,该装置包括:
密钥生成模块(601),用于生成包含公共密钥和私有密钥的密钥对;
密钥提供模块(602),用于向第三方提供所述公共密钥,以由所述第三方利用安全信道将所述公共密钥发送到后端系统;
注册模块(603),用于向所述后端系统发送注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名,以由所述后端系统基于所述数字签名判断是否接受注册。
5.根据权利要求4所述的物联网设备的注册装置,其特征在于,该装置还包括:
后处理模块(604),用于执行下列中的至少一个:
当从所述后端系统接收到确认接受注册消息后,失效向所述第三方提供所述公共密钥的服务;
当从所述后端系统接收到确认接受注册消息后,失效向所述后端系统发送所述注册消息的服务;
当从所述后端系统接收到确认接受注册消息后,基于所述私有密钥在所述物联网设备与所述后端系统之间建立安全信道。
6.根据权利要求4所述的物联网设备的注册装置,其特征在于,还包括:
初始注册模块(605),用于在所述密钥生成模块(601)生成包含公共密钥和私有密钥的密钥对与所述密钥提供模块(602)向所述第三方提供所述公共密钥之间,向所述后端系统发送初始注册消息,并从所述后端系统接收初始注册失败消息;
其中所述密钥提供模块(602),用于在所述初始注册模块(605)接收到所述初始注册失败消息之后,向所述第三方提供所述公共密钥;所述注册模块(603),用于周期性向所述后端系统发送所述注册消息。
7.物联网设备(11)的注册方法,其特征在于,该方法适用于后端系统(13),该方法包括:
经由安全信道从第三方(12)接收并存储公共密钥,所述公共密钥包含在物联网设备(11)产生的密钥对中且被提供到所述第三方(12),所述密钥对还包含私有密钥;
从所述物联网设备(11)接收注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名;
基于所述数字签名判断是否接受注册。
8.根据权利要求7所述的物联网设备(11)的注册方法,其特征在于,所述基于数字签名判断是否接受注册包括:
当所述后端系统(13)判定存储有包含在所述注册消息中的所述公共密钥时,基于所述公共密钥验证所述数字签名是否有效;当有效时,判定接受注册,将所述公共密钥设置为所述物联网设备(11)的虚拟身份标识且向所述物联网设备(11)发送确认接受注册消息;当无效时,判定不接受注册且向所述物联网设备(11)发送注册失败消息。
9.物联网设备的注册装置,其特征在于,该装置适用于后端系统,该装置包括:
密钥接收模块(701),用于经由安全信道从第三方接收并存储公共密钥,所述公共密钥包含在物联网设备产生的密钥对中且被提供到所述第三方,所述密钥对还包含私有密钥;
注册消息接收模块(702),用于从所述物联网设备接收注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名;
注册模块(703),用于基于所述数字签名判断是否接受注册。
10.根据权利要求9所述的物联网设备的注册装置,其特征在于,
所述注册模块(703),用于当所述后端系统判定存储有包含在所述注册消息中的所述公共密钥时,基于所述公共密钥验证所述数字签名是否有效;当有效时,判定接受注册,将所述公共密钥设置为所述物联网设备的虚拟身份标识且向所述物联网设备发送确认接受注册消息;当无效时,判定不接受注册且向所述物联网设备发送注册失败消息。
11.物联网设备(11)的注册系统,其特征在于,包括物联网设备(11)、第三方(12)和后端系统(13),其中:
所述物联网设备(11),用于生成包含公共密钥和私有密钥的密钥对,向所述第三方(12)提供所述公共密钥;向所述后端系统(13)发送注册消息,所述注册消息包含所述公共密钥及基于所述私有密钥运算得到的数字签名;
所述第三方(12),用于利用安全信道将所述公共密钥发送到所述后端系统(13);
所述后端系统(13),用于基于所述数字签名判断是否接受注册。
12.根据要求11所述的物联网设备(11)的注册系统,其特征在于,
所述物联网设备(11),用于执行下列中的至少一个:
当从所述后端系统(13)接收到确认接受注册消息后,失效向所述第三方(12)提供所述公共密钥的服务;
当从所述后端系统(13)接收到确认接受注册消息后,失效向所述后端系统(13)发送所述注册消息的服务;
当从所述后端系统(13)接收到确认接受注册消息后,基于所述私有密钥在所述物联网设备(11)与所述后端系统(13)之间建立安全信道。
13.根据要求11所述的物联网设备(11)的注册系统,其特征在于,
所述后端系统(13),用于当判定存储有包含在所述注册消息中的所述公共密钥时,基于所述公共密钥验证所述数字签名是否有效;当有效时,判定接受注册,将所述公共密钥设置为所述物联网设备(11)的虚拟身份标识且向所述物联网设备(11)发送确认接受注册消息;当无效时,判定不接受注册且向所述物联网设备(11)发送注册失败消息。
14.根据要求11所述的物联网设备(11)的注册系统,其特征在于,所述第三方(12)包括个人电脑、掌上电脑、平板电脑、智能终端或个人数字助理。
15.计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项、权利要求7或权利要求8所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810064928.4A CN110071901B (zh) | 2018-01-23 | 2018-01-23 | 物联网设备的注册方法、装置、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810064928.4A CN110071901B (zh) | 2018-01-23 | 2018-01-23 | 物联网设备的注册方法、装置、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110071901A true CN110071901A (zh) | 2019-07-30 |
CN110071901B CN110071901B (zh) | 2022-03-22 |
Family
ID=67365368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810064928.4A Active CN110071901B (zh) | 2018-01-23 | 2018-01-23 | 物联网设备的注册方法、装置、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071901B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2595639A (en) * | 2020-05-22 | 2021-12-08 | British Telecomm | Pairing of user device with remote system |
CN115567932A (zh) * | 2019-11-30 | 2023-01-03 | 华为技术有限公司 | 一种密钥信息的同步方法、系统及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050081038A1 (en) * | 2001-12-27 | 2005-04-14 | David Arditti Modiano | Cryptographic system for group signature |
CN102523214A (zh) * | 2011-12-14 | 2012-06-27 | 广州杰赛科技股份有限公司 | 基于数字证书的文档服务器访问方法和系统 |
CN103475624A (zh) * | 2012-06-06 | 2013-12-25 | 中兴通讯股份有限公司 | 一种物联网密钥管理中心系统、密钥分发系统和方法 |
CN105706390A (zh) * | 2013-10-30 | 2016-06-22 | 三星电子株式会社 | 在无线直接通信网络中使用非对称密钥进行身份识别的方法和装置 |
CN106059869A (zh) * | 2016-07-26 | 2016-10-26 | 北京握奇智能科技有限公司 | 一种物联网智能家居设备安全控制方法及系统 |
CN106487767A (zh) * | 2015-08-31 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 验证信息的更新方法及装置 |
-
2018
- 2018-01-23 CN CN201810064928.4A patent/CN110071901B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050081038A1 (en) * | 2001-12-27 | 2005-04-14 | David Arditti Modiano | Cryptographic system for group signature |
CN102523214A (zh) * | 2011-12-14 | 2012-06-27 | 广州杰赛科技股份有限公司 | 基于数字证书的文档服务器访问方法和系统 |
CN103475624A (zh) * | 2012-06-06 | 2013-12-25 | 中兴通讯股份有限公司 | 一种物联网密钥管理中心系统、密钥分发系统和方法 |
CN105706390A (zh) * | 2013-10-30 | 2016-06-22 | 三星电子株式会社 | 在无线直接通信网络中使用非对称密钥进行身份识别的方法和装置 |
CN106487767A (zh) * | 2015-08-31 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 验证信息的更新方法及装置 |
CN106059869A (zh) * | 2016-07-26 | 2016-10-26 | 北京握奇智能科技有限公司 | 一种物联网智能家居设备安全控制方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115567932A (zh) * | 2019-11-30 | 2023-01-03 | 华为技术有限公司 | 一种密钥信息的同步方法、系统及设备 |
GB2595639A (en) * | 2020-05-22 | 2021-12-08 | British Telecomm | Pairing of user device with remote system |
Also Published As
Publication number | Publication date |
---|---|
CN110071901B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230009787A1 (en) | Secure device onboarding techniques | |
US10523447B2 (en) | Obtaining and using time information on a secure element (SE) | |
EP4066434B1 (en) | Password-authenticated public key establishment | |
CN104954391A (zh) | 用于验证实体的第一标识和第二标识的设备和方法 | |
WO2019178942A1 (zh) | 一种进行ssl握手的方法和系统 | |
CN111447276B (zh) | 一种具有密钥协商功能的加密续传方法 | |
CN107508847A (zh) | 一种连接建立方法、装置和设备 | |
CN104145465A (zh) | 机器类型通信中基于群组的自举 | |
CN102026180A (zh) | M2m传输控制方法、装置及系统 | |
Li et al. | A secure sign-on protocol for smart homes over named data networking | |
CN112436940A (zh) | 一种基于零知识证明的物联网设备可信启动管理方法 | |
JP2016514913A (ja) | セッション鍵を確立する方法および装置 | |
CN114867014B (zh) | 一种车联网访问控制方法、系统、介质、设备及终端 | |
CN116112187B (zh) | 一种远程证明方法、装置、设备及可读存储介质 | |
WO2011009268A1 (zh) | 一种基于wapi的认证系统及方法 | |
Chen et al. | A full lifecycle authentication scheme for large-scale smart IoT applications | |
US9049012B2 (en) | Secured cryptographic communication system | |
CN101394395B (zh) | 一种认证方法和系统、及装置 | |
CN110071901A (zh) | 物联网设备的注册方法、装置、系统和存储介质 | |
CN114157693A (zh) | 通信设备的上电认证方法、通信模块和服务器 | |
CN113965425B (zh) | 物联网设备的接入方法、装置、设备及计算机可读存储介质 | |
CN110445809B (zh) | 网络攻击检测方法、装置、系统、电子设备及存储介质 | |
Costea et al. | Secure opportunistic multipath key exchange | |
Lucena et al. | IoT gateway integrity checking protocol | |
Martínez de Lucena et al. | An analysis of the gateway integrity checking protocol from the perspective of intrusion detection systems |
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 |