CN113572728B - 认证物联网设备的方法、装置、设备及介质 - Google Patents

认证物联网设备的方法、装置、设备及介质 Download PDF

Info

Publication number
CN113572728B
CN113572728B CN202110640763.2A CN202110640763A CN113572728B CN 113572728 B CN113572728 B CN 113572728B CN 202110640763 A CN202110640763 A CN 202110640763A CN 113572728 B CN113572728 B CN 113572728B
Authority
CN
China
Prior art keywords
signature
internet
random number
equipment
information
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
CN202110640763.2A
Other languages
English (en)
Other versions
CN113572728A (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.)
Hangzhou Huacheng Software Technology Co Ltd
Original Assignee
Hangzhou Huacheng Software Technology Co 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 Hangzhou Huacheng Software Technology Co Ltd filed Critical Hangzhou Huacheng Software Technology Co Ltd
Priority to CN202110640763.2A priority Critical patent/CN113572728B/zh
Publication of CN113572728A publication Critical patent/CN113572728A/zh
Application granted granted Critical
Publication of CN113572728B publication Critical patent/CN113572728B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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
    • 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供了一种认证物联网设备的方法、装置、设备及介质,用于提高认证物联网设备的安全性。该方法包括:服务器从物联网设备获取第一签名,该第一签名是根据第一设备信息、第一设备访问密钥和第一随机数生成的,服务器基于获取的第一设备信息、第二设备访问密钥和第二随机数,生成第二签名,对第一签名和第二签名进行校验,由于服务器是基于获取的第一设备信息、第二设备访问密钥和第二随机数生成第二签名,基于第二签名,对第一签名进行校验,相当于服务器采用不可逆加密算法,对第一签名进行验证,由于伪造出正确的设备访问密钥和随机数的难度较大,因此本申请实施例中认证物联网设备的方法的安全性更高。

Description

认证物联网设备的方法、装置、设备及介质
技术领域
本申请涉及通信技术领域,尤其涉及一种认证物联网设备的方法、装置、设备及介质。
背景技术
随着物联网技术的进步,应用物联网设备的场景也日益增多,在很多应用场景中,物联网设备通常需要与服务器进行通信。为了保证通信安全,服务器通常会提前认证物联网设备的身份。
目前,物联网设备通常对设备访问密钥进行加密,并将加密后得到的会话密钥发送给服务器,服务器对会话密钥解密,若解密后得到的设备访问密钥与服务器中预存的设备访问密钥相同,则确定物联网设备认证通过。然而非法中途拦截会话密钥,解密后可以得到设备访问密钥,进而冒充物联网设备或服务器,可见,目前认证方式的安全性有待提高。
发明内容
本申请实施例提供一种认证物联网设备的方法、装置、设备及介质,用于提高认证物联网设备的安全。
第一方面,提供一种认证物联网设备的方法,包括:
接收待认证的物联网设备发送的第一请求,其中,所述第一请求包括第一签名和所述物联网设备的第一设备信息,所述第一请求是所述物联网设备在基于第一随机数和所述物联网设备的第二设备信息生成所述第一签名之后发送的,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括所述物联网设备的设备标识;
基于所述第一请求中的设备标识,获得预存的第二设备访问密钥,并基于所述第一设备信息、所述第二设备访问密钥、以及预存的第二随机数,生成第二签名;
若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
本申请实施例中,根据待认证的物联网设备发送的第一请求,获得第一签名和物联网设备的设备信息,再基于生成第一签名的相同信息即设备信息、设备访问密钥和随机数,生成第二签名,若两个签名的相同,则确认物联网设备认证通过,本申请实施例中并不是直接对第一签名进行解密,而是基于已有的信息,生成第二签名,对第一签名和第二签名进行验证,这种认证方式相对于对第一签名进行解密的认证方式,可以防止非法拦截第一请求,解密获得第一请求中的第一签名中的设备访问密钥和随机数,恶意冒充物联网设备的情况,本申请实施例中如果两个签名相同,说明生成两个签名的信息是相同的,进而可以确定第一签名中的设备信息、设备访问密钥和随机数是正确的,伪造正确的设备信息、设备访问密钥和随机数的可能性较小,因此可以提高服务器认证物联网设备的安全。
在一种可能的实施例中,在接收物联网设备发送的认证请求之前,还包括:
接收终端发送的第二请求,其中,所述第二请求包括所述物联网设备的设备标识;
响应于所述第二请求,向所述终端发送第一随机数,以使所述终端将所述第一随机数发送给所述物联网设备。
本申请实施例中,服务器在接收终端发送的请求之后,才向终端发送第一随机数,从而保证将第一随机数准确地发送给对应的终端。
在一种可能的实施例中,所述第二请求还包括所述终端的第三设备信息,所述第三设备信息包括登录所述终端的账户标识;
响应所述第二请求,向所述终端发送第一随机数,包括:
若根据所述账户标识,确定所述账户标识对应的账户已注册,且确定所述设备标识未与其他账户绑定,则生成第一随机数,并将所述第一随机数发送给所述终端,其中,所述其他账户为除所述账户标识对应的账户之外的账户。
本申请实施例中,服务器在确定账户标识对应的账户已注册,且确定设备标识未与其他账户绑定之后,才生成第一随机数,这样可以保证账户已注册,且保证设备标识与账户标识是一一对应关系,避免物联网设备同时绑定多个用户的情况,以保证物联网设备的安全。
在一种可能的实施例中,基于所述设备标识,获得预存的第二设备访问密钥,包括:
从预存的第一对应关系中,确定所述设备标识匹配的第二设备访问密钥,其中,所述第一对应关系包括各个设备标识与各自的设备访问密钥之间的对应关系。
本申请实施例中,服务器预可以预先存储了设备标识和设备访问密钥之间的对应关系,后续根据该对应关系,确定物联网设备的设备标识对应的设备访问密钥,提供了一种简单的获取设备访问密钥的方式。
在一种可能的实施例中,所述第一请求还包括所述终端的第三设备信息;
基于所述第一设备信息、所述第二设备访问密钥,以及预存的第二随机数,生成第二签名,包括:
从预存的第二对应关系中,确定所述设备标识匹配的第二随机数,其中,所述第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;
采用预设的不可逆加密算法,对所述第一设备信息、所述第二设备访问密钥、所述第三设备信息和所述第二随机数进行加密,生成第二签名。
本申请实施例中,服务器预先存储了设备标识和随机数之间的对应关系,根据该对应关系,确定待认证的物联网设备的设备标识对应的随机数,进而对物联网设备进行认证,提供了一种简单的获取设备访问密钥的方式。且,采用不可逆加密算法生成的第二签名,对应地,第一签名也是采用不可逆加密算法生成的,无法被解密,保证第一签名的内容不会被泄露,避免非法解密第一签名中的信息的情况,进而提高认证物联网设备的安全性。
在一种可能的实施例中,所述第二请求还包括第一消息内容和所述物联网设备生成所述第一签名的第一时间戳;
基于所述第一设备信息、所述第二设备访问密钥、以及预存的第二随机数,生成第二签名,包括:
基于所述第一设备信息、所述第二设备访问密钥、预存的第二随机数、所述第一消息内容、以及所述第一时间戳,生成第二签名。
本申请实施例中,第二请求还包括第一消息内容和第一时间戳,服务器在验证物联网设备的同时,可以及时获得第一消息内容和第一时间戳,避免单独发送第一消息内容和第一时间戳造成的额外开销和延时,提高物联网设备和服务器之间的通信效率。且,在生成及第二签名时,还会根据第一消息内容和时间戳,这样相当于引入了更多的信息生成签名,提高了第一签名和第二签名的安全性。
在一种可能的实施例中,在若验证所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过之后,还包括:
生成第二消息内容,其中,所述第二消息内容为回应所述第一消息内容的消息内容,或者是基于所述终端发送的第三消息内容生成;
基于所述第一设备信息、所述第二消息内容、第二时间戳、所述第二设备访问密钥、以及所述第二随机数,生成第三签名;
基于所述第三签名、所述第二消息内容、所述第二时间戳、以及所述第一设备信息生成第三请求,并发送给所述物联网设备,以使所述物联网设备基于所述第一设备访问密钥、所述第一随机数、所述第二消息内容、所述第二时间戳、以及所述第一设备信息,生成第四签名,若确定所述第四签名和所述第三签名相同,则确定所述服务器验证通过,并根据所述第二消息内容,执行相应的业务逻辑。
本申请实施例中,在服务器确定物联网设备认证通过之后,服务器可以生成第三请求,发送给物联网设备,以便物联网设备根据第三请求中的第三签名对服务器进行验证,认证失败的服务器无法与物联网设备进行通信,避免非法冒充服务器,进而恶意操控物联网设备的情况,或者避免非法冒充物联网设备,进而向服务器发送错误信息的情况,且,物联网设备和服务器之间可以进行双向认证,进一步提高了物联网设备和服务器之间认证的安全性。
第二方面,提供一种认证物联网设备的方法,应用于物联网设备中,所述方法包括:
基于第一随机数,以及自身的第二设备信息,生成第一签名;
基于所述第一签名、以及自身的第一设备信息,生成第一请求,其中,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括所述设备标识;
将所述第一请求发送给所述服务器,以使所述服务器执行以下操作:
基于所述第一请求中的设备标识,获得预存的第二设备访问密钥,并基于所述第一设备信息、所述第二设备访问密钥,以及预存的第二随机数,生成第二签名;
若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
在一种可能的实施例中,基于第一随机数,以及自身的第二设备信息,生成第一签名,包括:
从终端获取所述终端的第三设备信息;
采用预设的不可逆加密算法,对所述第一随机数、自身的第二设备信息、以及所述第三设备信息进行加密,生成第一签名;
基于所述第一签名和所述第一设备信息生成第一请求,并将所述第一请求发送给所述服务器,包括:
基于所述第一签名、所述第一设备信息、以及所述第三设备信息,生成第一请求;
将所述第一请求发送给所述服务器,以使所述服务器执行如下操作:
从预存的第二对应关系中,确定所述设备标识匹配的第二随机数,其中,所述第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;
采用预设的不可逆加密算法,对所述第一设备信息、所述第二设备访问密钥、所述第三设备信息和所述第二随机数进行加密,生成第二签名。
在一种可能的实施例中,基于第一随机数,以及自身的第二设备信息,生成第一签名,包括:
基于第一随机数、自身的第二设备信息、所述第一消息内容和所述物联网设备生成所述第一签名的第一时间戳,生成第一签名;
其中,所述第一请求还包括所述第一消息内容和所述第一时间戳。
在一种可能的实施例中,在将所述第一请求发送给所述服务器之后,包括:
接收服务器发送的第三请求,其中,所述第三请求是所述服务器基于第三签名、第二消息内容、第二时间戳、以及所述第一设备信息生成的,所述第三签名是所述服务器采用预设的不可逆加密算法,对所述第二消息内容、所述第二时间戳、所述第二设备访问密钥、以及所述第二随机数进行加密生成的;
采用预设的不可逆加密算法,对所述第二消息信息、所述第二时间戳、以及所述第一设备信息进行加密,生成第四签名;
若确定所述第四签名和所述第三签名相同,则确定认证通过,并根据所述第二消息内容,执行相应的业务逻辑。
第三方面,提供一种认证物联网设备的装置,所述装置包括:
接收模块,用于接收待认证的物联网设备发送的第一请求,其中,所述第一请求包括第一签名和所述物联网设备的第一设备信息,所述第一请求是所述物联网设备在基于第一随机数和所述物联网设备的第二设备信息生成所述第一签名之后发送的,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括所述物联网设备的设备标识;
获得模块,用于基于所述第一请求中的设备标识,获得预存的第二设备访问密钥;
生成模块,用于基于所述第一设备信息、所述第二设备访问密钥,以及预存的第二随机数,生成第二签名;
确定模块,用于若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
在一种可能的实施例中,所述装置还包括发送模块;
所述接收模块,还用于在接收物联网设备发送的认证请求之前,接收终端发送的第二请求,其中,所述第二请求包括所述物联网设备的设备标识;
所述发送模块,用于响应于所述第二请求,向所述终端发送第一随机数,以使所述终端将所述第一随机数发送给所述物联网设备。
在一种可能的实施例中,所述生成模块,还用于若根据所述账户标识,确定所述账户标识对应的账户已注册,且确定所述设备标识未与其他账户绑定,则生成第一随机数;
所述发送模块,具体用于将所述第一随机数发送给所述终端,其中,所述其他账户为除所述账户标识对应的账户之外的账户。
在一种可能的实施例中,所述确定模块,还用于:
从预存的第一对应关系中,确定所述设备标识匹配的第二设备访问密钥,其中,所述第一对应关系包括各个设备标识与各自的设备访问密钥之间的对应关系。
在一种可能的实施例中,所述第一请求还包括所述终端的第三设备信息;
所述确定模块,还用于从预存的第二对应关系中,确定所述设备标识匹配的第二随机数,其中,所述第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;
所述生成模块,具体用于采用预设的不可逆加密算法,对所述第一设备信息、所述第二设备访问密钥、所述第二随机数、以及所述第三设备信息进行加密,生成第二签名。
在一种可能的实施例中,所述第一请求还包括第一消息内容和所述物联网设备生成所述第一签名的第一时间戳;所述生成模块,具体用于:
基于所述第一设备信息、所述第二设备访问密钥、预存的第二随机数、所述第一消息内容、以及所述第一时间戳,生成第二签名。
在一种可能的实施例中,所述生成模块,还用于:
在若验证所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过之后,生成第二消息内容,其中,所述第二消息内容为回应所述第一消息内容的消息内容,或者是基于所述终端发送的第三消息内容生成;
基于所述第一设备信息、所述第二消息内容、第二时间戳、所述第二设备访问密钥、以及所述第二随机数,生成第三签名;
基于所述第三签名、所述第二消息内容、所述第二时间戳、以及所述第一设备信息生成第三请求;
所述发送模块,还用于将第三请求发送给所述物联网设备,以使所述物联网设备基于所述第一设备访问密钥、所述第一随机数、所述第二消息内容、所述第二时间戳、以及所述第一设备信息,生成第四签名,若确定所述第四签名和所述第三签名相同,则确定所述服务器验证通过,并根据所述第二消息内容,执行相应的业务逻辑。
第四方面,提供一种认证物联网设备的装置,所述装置设置于物联网设备中,所述装置包括:
生成模块,用于基于第一随机数,以及自身的第二设备信息,生成第一签名,以及基于所述第一签名、以及自身的第一设备信息,生成第一请求,其中,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括所述设备标识;
发送模块,用于将所述第一请求发送给所述服务器,以使所述服务器执行以下操作:基于所述第一请求中的设备标识,获得预存的第二设备访问密钥,并基于所述第一设备信息、所述第二设备访问密钥,以及预存的第二随机数,生成第二签名;若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
在一种可能的实施例中,所述装置还包括获取模块;
所述获取模块,用于从终端获取所述终端的第三设备信息;
所述生成模块,具体用于采用预设的不可逆加密算法,对所述第一随机数、自身的第二设备信息、以及所述第三设备信息进行加密,生成第一签名;以及基于所述第一签名、所述第一设备信息、以及所述第三设备信息,生成第一请求;
所述发送模块,具体用于将所述第一请求发送给所述服务器,以使所述服务器从预存的第二对应关系中,确定所述设备标识匹配的第二随机数,其中,所述第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;以及采用预设的不可逆加密算法,对所述第一设备信息、所述第二设备访问密钥、所述第三设备信息和所述第二随机数进行加密,生成第二签名。
在一种可能的实施例中,所述生成模块,具体用于:
基于第一随机数、自身的第二设备信息、所述第一消息内容和所述物联网设备生成所述第一签名的第一时间戳,生成第一签名;
其中,所述第一请求还包括所述第一消息内容和所述第一时间戳。
在一种可能的实施例中,所述装置还包括确定模块和执行模块;
所述获取模块,还用于在将所述第一请求发送给所述服务器之后,接收服务器发送的第三请求,其中,所述第三请求是所述服务器基于第三签名、第二消息内容、第二时间戳、以及所述第一设备信息生成的,所述第三签名是所述服务器采用预设的不可逆加密算法,对所述第一设备信息、所述第二消息内容、所述第二时间戳、所述第二设备访问密钥、以及所述第二随机数进行加密生成的;
所述生成模块,还用于采用预设的不可逆加密算法,对所述第二消息内容、所述第二时间戳、以及所述第一设备信息进行加密,生成第四签名;
所述确定模块,用于若确定所述第四签名和所述第三签名相同,则确定认证通过;
所述执行模块,用于根据所述第二消息内容,执行相应的业务逻辑。
第五方面,提供一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面或第二方面中任一所述的方法。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面或第二方面中任一所述的方法。
附图说明
图1为本申请实施例提供的一种认证物联网设备的方法的应用场景图;
图2为本申请实施例提供的图1中各设备之间的交互示意图;
图3为本申请实施例提供的一种认证物联网设备的装置的结构示意图一;
图4为本申请实施例提供的一种认证物联网设备的装置的结构示意图二;
图5为本申请实施例提供的一种电子设备的结构示意图一;
图6为本申请实施例提供的一种电子设备的结构示意图二。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细说明。
为了提高认证物联网设备的安全,本申请实施例提供一种认证物联网设备的方法。请参照图1所示的应用场景图,下面对该方法适用的应用场景进行示例说明,该应用场景包括终端110、服务器120、以及物联网设备130,下面分别对各个设备进行介绍:
1、终端110:
终端110用于辅助物联网设备认证,可以是智能手机、平板电脑、笔记本电脑、台式计算机等。终端110还可以安装有客户端,客户端例如预装在终端110中应用、嵌入在终端的第三方应用中的子应用(如小程序)、或者网页。终端110可以通过服务器120管理物联网设备130,具体例如通过服务器120控制物联网设备130,或者通过服务器120获取物联网设备130采集的数据。终端110还可以具有近场通信(Near Field Communication,NFC)能力,可以获取物联网设备130的设备信息,向物联网设备130下发信息等。
2、服务器120:
服务器120用于认证互联网设备,可以为终端110中客户端对应的后台服务器,可以通过独立的物理服务器,或多个物理服务器构成的服务器集群或者分布式系统实现,还可以通过提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器实现。
3、物联网设备:
物联网设备130泛指各类智能设备,例如,监控设备或各种传感器,例如,可以是摄像头、水浸传感器、位置传感器、烟感传感器、红外传感器、光感传感器、热成像传感器等,位置传感器例如,全球定位系统(Global Positioning System,GPS)或北斗卫星导航系统(BeiDou Navigation Satellite System,BDS)。物联网设备130可以采集声音、视频、水浸、位置信息、光照、烟雾、空气质量等数据,并将这些数据上传给服务器120。物联网设备130可以短距离通信功能或远距离通信功能,短距离通信例如,NFC、无线保真(WirelessFidelity,Wifi)或蓝牙。
当物联网设备130向服务器120发送请求,服务器120根据该请求对物联网设备130进行认证,解析该请求可以获得第一签名,并根据与第一签名相同的信息生成第二签名,若第一签名和第二签名相同,则确认物联网设备130认证通过,才会对服务器120发送的请求作出响应。其中,服务器120认证物联网设备130的具体过程将在下文中进行介绍。
应当说明的是,图1中是以一个服务器110、一个终端120以及一个物联网设备130为例,但是实际上不限制服务器110、终端120、以及物联网设备130的数量。
在介绍了本申请实施例的应用场景之后,下面结合上述应用场景介绍本申请实施例提供的技术方案。
请参照图2,表示各个设备之间交互示意图,下面对该交互过程进行介绍。
S201,终端获取待认证的物联网设备的设备标识。
待认证的物联网设备可以是任意需要与服务器进行通信的物联网设备,设备标识用于唯一标识物联网设备。终端获取物联网设备的设备标识的方法有多种,下面对终端获取设备标识的方法进行示例介绍:
(一)智能识别
终端可以通过识别物联网设备上的标签,获得设备标识。例如通过终端的客户端中的“扫一扫”工具,扫描物联网设备上的二维码或者条形码,从而识别出设备标识。
(二)手动输入
终端可以响应于用户在客户端上的输入操作,直接获得物联网设备的设备标识。例如,用户在查看了物联网设备的设备标识之后,直接在终端的客户端上输入该设备标识。
(三)短距离通信
终端和物联网设备均具有NFC功能或蓝牙功能,物联网设备主动将设备标识发送给终端。例如,当终端和物联网设备之间的距离小于预设阈值时,物联网设备主动将设备标识发送给终端。
S202,终端生成第二请求。
终端获取到物联网设备的设备标识之后,可以直接基于该设备标识,生成第二请求。
作为一种实施例,终端还可以基于该设备标识和第三设备信息,生成第二请求,以便服务器根据第三设备信息确定该账户是否已注册,以及确定该设备标识是否绑定其他账户。其中,第三设备信息表示终端的设备信息,至少包括账户标识,还可以包括客户端标识、系统版本、系统类型等,下面分别进行示例介绍:
(1)、账户标识:用于标识终端的客户端的登录用户,例如用户的手机号码。
(2)、客户端标识:用于标识终端中安装的客户端,例如客户端的名称。
(3)、系统版本:用于表示终端的系统的版本,例如版本10。
(4)、系统类型:用于表示终端的系统的类型,例如安卓系统。
S203,终端将第二请求发送给服务器。
S204,服务器生成第一随机数。
服务器在接收终端发送的第二请求后,可以为待认证的物联网设备生成第一随机数。
当第二请求包括物联网设备的设备标识时,服务器解析第二请求,只获得设备标识,可以直接根据设备标识,为待认证的物联网设备生成第一随机数。
当第二请求包含设备标识和第三设备信息时,服务器在生成第一随机数之前,可以根据终端的第三设备信息中的账户标识,在确定该服务器该账户标识对应的账户已注册,且确定该设备标识没有与其他账户绑定时,再为该待认证的物联网设备生成第一随机数,其中,其他账户为除账户标识对应的账户之外的账户。
具体的,服务器中预先存储了多个已注册的账户标识的名单,以及各个已注册的账户标识与各自的设备标识之间的第三对应关系。若该账户标识不在名单中,则服务器确定该账户标识对应的账户未注册,可以为该账户标识对应的账户进行注册。若该账户标识在该名单中,则确定该账户标识对应的账户已注册。
服务器确定该账户标识对应的账户已注册之后,若根据第三对应关系,确定该设备标识已经与其他账户绑定,则确定物联网设备认证失败,说明该发起认证的物联网设备不安全。若根据第三对应关系,确定该设备标识未与其他账户绑定,则生成第一随机数。
作为一种实施例,S204为可选的步骤。
进一步地,第一随机数可以具有有效期或有效次数,当服务器首次为物联网设备生成第一随机数之后,而后续终端再次发送第二请求时,如果第一随机数是有效的,那么服务器可以直接将之前生成的第一随机数发送给终端即可。
在另一种可能的实施例中,终端可以在获取物联网设备的设备标识之后,直接生成第一随机数,并将该第一随机数发送给物联网设备,以及将该第一随机数以及物联网设备的设备标识一并发送给服务器,这样无需服务器生成第一随机数,简化服务器的处理。
S205,服务器将第一随机数发送给终端。
S206,终端将第一随机数发送给物联网设备。
终端获取到服务器发送的第一随机数之后,可以直接将第一随机数发送给物联网设备。
作为一种实施例,终端还可以将第一随机数发送给物联网设备时,还可以将第三设备信息一并发送给物联网设备,以便于物联网设备获得终端的第三设备信息。
作为一种实施例,考虑到物联网设备可能没有联网,无法与服务器进行通信,终端还可以将第一随机数发送给物联网设备时,将配网信息一同发送给物联网设备。物联网设备可以根据配网信息连接服务器。其中,配网信息表示连接服务器所需的信息,例如WiFi的账号和密码。
例如,物联网设备根据WiFi的账号和密码连接本地局域网,若服务器也在本地局域网中,物联网设备可以直接向服务器发送信息。若服务器不在本地局域网中,物联网设备可以通过路由器访问公网,进而向服务器发送信息。
S207,物联网设备生成第一签名。
物联网设备可以根据不同的信息,以生成第一签名,下面分别进行介绍:
第一种,物联网设备基于第一随机数和第二设备信息,生成第一签名。
第二设备信息为物联网设备自身的设备信息,包括第一设备访问密钥和设备标识。第一设备访问密钥用于表示物联网设备登录服务器所需的用户名和密码,可以是服务器为物联网设备生成的,且物联网设备预存的,第一设备访问密钥例如访问密钥(AccessKey,AK)和私有访问密钥(Secret Access Key,SK)。物联网设备采用预设的不可逆加密算法对第一随机数和第二设备信息进行运算,生成第一签名。其中,不可逆加密算法直接对明文进行加密,加密后的数据无法被解密,例如安全散列算法256(Secure Hash Algorithm256,SHA256)。
第二种,物联网设备基于第一随机数、第二设备信息、以及第三设备信息,生成第一签名。
物联网设备可以采用预设的不可逆加密算法,对第一随机数、第二设备信息、以及第三设备信息进行运算,生成第一签名。其中,第一随机数的获取方式、第二设备信息和第三设备信息的含义请参照前文论述的内容,此处不再赘述。
第三种,物联网设备基于第一随机数、第二设备信息、第一消息内容以及第一时间戳,生成第一签名。
物联网设备可以采用预设的不可逆加密算法,对第一随机数、第二设备信息、第一消息内容以及第一时间戳进行运算,生成第一签名。其中,第一消息内容为物联网设备发送给服务器的业务信息,业务信息例如警报消息、物联网设备采集的数据等。第一时间戳为物联网设备生成第一签名时的本地时间。第一随机数的获取方式、第二设备信息的含义请参照前文论述的内容,此处不再赘述。
第四种,物联网设备基于第一随机数、第二设备信息、第三设备信息、第一消息内容以及第一时间戳,生成第一签名。
物联网设备可以采用预设的不可逆加密算法,对第一随机数、第二设备信息、第三设备信息、第一消息内容以及第一时间戳进行运算,生成第一签名。其中,第一随机数的获取方式、第二设备信息、第三设备信息、第一消息内容以及第一时间戳的含义请参照前文论述的内容,此处不再赘述。
S208,物联网设备生成第一请求。
物联网设备在生成第一签名之后,可以基于第一签名以及其他信息生成第一请求。
作为一种实施例,第一请求包括第一签名和第一设备信息。其中,第一设备信息包括第二设备信息中除了第一设备访问密钥之外的信息。
作为一种实施例,第一请求包括第一签名和第三设备信息。
作为一种实施例,第一请求包括第一签名、第一设备信息、第一消息内容以及第一时间戳。
作为一种实施例,第一请求包括第一签名、第三设备信息、第一消息内容以及第一时间戳。
应当说明的是,物联网设备连接服务器的执行顺序可以在S207或S208之前。
S209,物联网设备将第一请求发送给服务器。
物联网设备生成第一请求之后,在已经连接服务器的情况下,可以将第一请求发送给服务器。
S210,服务器生成第二签名。
由于第一签名是无法解密的,为了保证服务器生成的第二签名和物联网设备生成的第一签名相同,服务器需要获得生成第一签名的相关信息。因此,物联网设备发送的第一请求中除了包括第一签名,还包括生成第一签名所需的部分信息,该部分信息为第一签名中除了第一随机数和第一设备访问密钥之外的其他信息。
服务器接收物联网设备发送的第一请求之后,解析第一请求,获得第一请求所包含的信息,由于第一请求所包含的信息有多种情况,针对不同情况,服务器生成第二签名所需的信息不同,下面分别进行介绍:
情况一,第一请求包括第一签名和第一设备信息。
服务器基于第一设备信息中的设备标识,获得预存的第二设备访问密钥,并基于第一设备信息、第二设备访问密钥,以及预存的第二随机数,生成第二签名。
具体的,服务器预先存储了各个设备标识与各自的设备访问密钥之间的第一对应关系,以及各个设备标识与各自对应的随机数之间的第二对应关系。其中,第一对应关系可以是服务器每次确定物联网设备认证通过时存储的,第二对应关系可以是服务器在生产物联网设备之前时,生成并存储的设备标识与各自对应的随机数。服务器从预存的第一对应关系中,确定设备标识匹配的第二设备访问密钥,从预存的第二对应关系中,确定设备标识匹配的第二随机数。最终采用预设的不可逆加密算法对第一设备信息、第二设备访问密钥,以及第二随机数进行运算,生成第二签名。
情况二,第一请求包括第一签名、第一设备信息和第三设备信息。
服务器基于第一设备信息中的设备标识,获得预存的第二设备访问密钥和预存的第二随机数,并采用预设的不可逆加密算法对第一设备信息、第三设备信息、第二设备访问密钥、以及第二随机数进行运算,生成第二签名。其中,服务器获取第二设备访问密钥和第二随机数的方式请参照前文论述的内容,此处不再赘述。
情况三,第一请求包括第一签名、第一设备信息、第一消息内容和第一时间戳。
服务器基于第一设备信息中的设备标识,获得预存的第二设备访问密钥和预存的第二随机数,并采用预设的不可逆加密算法对第一设备信息、第二设备访问密钥、第二随机数、第一消息内容、以及第一时间戳进行运算,生成第二签名。其中,服务器获取第二设备访问密钥和第二随机数的方式请参照前文论述的内容,此处不再赘述。
情况四,第一请求包括第一签名、第一设备信息、第三设备信息、第一消息内容和第一时间戳。
服务器基于第一设备信息中的设备标识,获得预存的第二设备访问密钥和预存的第二随机数,并采用预设的不可逆加密算法对第一设备信息、第三设备信息、第二设备访问密钥、第二随机数、第一消息内容、以及第一时间戳进行运算,生成第二签名。其中,服务器获取第二设备访问密钥和第二随机数的方式请参照前文论述的内容,此处不再赘述。
应当说明的是,服务器生成第二签名所采用的不可逆加密算法与物联网设备生成第一签名所采用的不可逆加密算法相同。
S211,服务器根据第一签名和第二签名,对物联网设备进行认证。
服务器在生成第二签名之后,比较第一签名和第二签名。若第二签名与对应的第一签名相同,则确定物联网设备认证通过,可以建立设备标识和账户标识的绑定关系,并将该绑定关系存储在第三对应关系中。若第二签名与对应的第一签名不相同,则确定物联网设备认证失败。
S212,服务器生成第三签名。
服务器确定物联网设备认证通过之后,若第一请求中包括第一消息内容,或者终端向服务器发送第三消息内容,第三消息内容为终端对物联网设备的操作指令。服务器可以生成第二消息内容,将第二消息内容携带在第三请求中,发送给物联网设备,第二消息内容为回应第一消息内容的消息内容,或者是基于第三消息内容生成的。
为了保证发送第三请求的服务器是安全的,物联网设备也可以采用生成签名的方式,对发送第三请求的服务器进行认证,因此,服务器可以生成第三签名。
由于第一请求所包含的信息有多种情况,针对不同情况,服务器生成第三签名所需的信息不同,下面分别进行介绍:
若第一请求包括第一签名、第一设备信息、第一消息内容和第一时间戳,服务器采用预设的不可逆加密算法对第一设备信息、第二消息内容、第二时间戳、第二设备访问密钥、以及第二随机数进行运算,生成第三签名。其中,第二时间戳为服务器第三签名时的本地时间。
若第一请求包括第一签名、第一设备信息、第三设备信息、第一消息内容和第一时间戳,服务器采用预设的不可逆加密算法对第一设备信息、第三设备信息、第二消息内容、第二时间戳、第二设备访问密钥、以及第二随机数进行运算,生成第三签名。
应当说明的,服务器生成第三签名采用的不可逆加密算法与服务器生成第二签名所采用的不可逆加密算法相同,也与物联网设备生成第一签名所采用的不可逆加密算法相同。
S213,服务器生成第三请求。
由于第三签名是无法解密的,为了保证物联网设备生成的第四签名和服务器生成的第三签名相同,物联网设备需要获得生成第三签名的相关信息。因此,服务器可以在第三请求中携带第三签名,以及生成第三签名所需的部分信息,该部分信息为第三签名中除了第二随机数和第二设备访问密钥之外的其他信息。
由于第三签名所包含的信息有多种情况,针对不同情况,服务器生成第三请求所需的信息也不同,下面分别进行介绍:
若第三签名包括第一设备信息、第二消息内容、第二时间戳、第二设备访问密钥、以及第二随机数,服务器可以基于第三签名、第一设备信息、第二消息内容、以及第二时间戳,生成第三请求。
若第三签名包括第一设备信息、第三设备信息、第二消息内容、第二时间戳、第二设备访问密钥、以及第二随机数,服务器可以基于第三签名、第一设备信息、第三设备信息、第二消息内容、以及第二时间戳,生成第三请求。
S214,服务器将第三请求发送给物联网设备。
S215,物联网设备生成第四签名。
物联网设备接收到第三请求之后,解析第三请求,获得第三请求中的信息。
若第三请求包括第三签名、第一设备信息、第二消息内容、以及第二时间戳,物联网设备可以采用预设的不可逆加密算法对第一设备信息、第二消息内容、第二时间戳、第一随机数、以及第一设备访问密钥进行运算,生成第四签名。
若第三请求包括第三签名、第一设备信息、第三设备信息、第二消息内容、以及第二时间戳,物联网设备可以采用预设的不可逆加密算法对第一设备信息、第三设备信息、第二消息内容、第二时间戳、第一随机数、以及第一设备访问密钥进行运算,生成第四签名。
应当说明的是,物联网设备生成第四签名所采用的不可逆加密算法与服务器生成第二签名和第三签名所采用的不可逆加密算法相同,也与物联网设备生成第一签名所采用的不可逆加密算法相同。
S216、物联网设备根据第三签名和第四签名,对物联网设备进行认证。
物联网设备在生成第四签名之后,比较第三签名和第四签名。若确定第四签名和对应的第三签名不同,则确定服务器认证失败。若确定第四签名和对应的第三签名相同,则确定服务器认证通过。
S217、物联网设备执行相应的业务逻辑。
物联网设备确定服务器认证通过后,可以根据第三请求中的第二消息内容,执行相应的业务逻辑。业务逻辑可以是发送对应的信息,也可以是执行相应的操作。
例如,物联网设备为烟雾报警器,向服务器发送的第一消息内容为警报消息,服务器确定物联网设备验证通过后,生成第二消息内容,表示收到警报消息。
或者例如,物联网设备为摄像头,终端需要获取物联网设备的视频数据或者终端想要控制物联网设备调整摄像角度,则向服务器发送第三消息内容,服务器根据第三消息内容生成第二消息内容,物联网设备确认服务器验证通过后,根据第二消息内容,将自身采集的视频数据发送给服务器,或者,调整自身的摄像角度。
应当说明的是,S212~S217是可选的,若服务器确认物联网设备认证失败,或者服务器确认物联网设备认证通过,但第一请求不包含第一消息内容,且终端没有向服务器发送第三消息内容,则不执行S212~S217。
作为一种实施例,上述S201~S217的步骤为服务器第一次对物联网设备进行认证的过程,在第一次验证通过后,物联网设备可保存第一随机数,后续只需执行S207~S217。
需要说明的是,图2中实施例中的终端例如为图1中的终端110、服务器例如为图1中的服务器120、物联网设备例如为图1中的物联网设备130。
基于同一发明构思,本申请实施例提供一种认证物联网设备的装置,请参照图3,该装置可以设置在前文论述的服务器中,或可以实现前文论述的服务器的功能,该装置包括:
接收模块301,用于接收待认证的物联网设备发送的第一请求,其中,第一请求包括第一签名和物联网设备的第一设备信息,第一请求是物联网设备在基于第一随机数和物联网设备的第二设备信息生成第一签名之后发送的,第一设备信息包括第二设备信息中除了第一设备访问密钥之外的信息,第一设备信息包括物联网设备的设备标识;
获得模块302,用于基于第一请求中的设备标识,获得预存的第二设备访问密钥;
生成模块303,用于基于第一设备信息、第二设备访问密钥,以及预存的第二随机数,生成第二签名;
确定模块304,用于若确定第二签名与第一签名相同,则确定物联网设备认证通过。
在一种可能的实施例中,该装置还包括发送模块305;
接收模块301,还用于在接收物联网设备发送的认证请求之前,接收终端发送的第二请求,其中,第二请求包括物联网设备的设备标识;
发送模块305,用于响应于第二请求,向终端发送第一随机数,以使终端将第一随机数发送给物联网设备。
在一种可能的实施例中,生成模块303,还用于若根据账户标识,确定账户标识对应的账户已注册,且确定设备标识未与其他账户绑定,则生成第一随机数;
发送模块305,具体用于将第一随机数发送给终端,其中,其他账户为除账户标识对应的账户之外的账户。
在一种可能的实施例中,确定模块304,还用于:
从预存的第一对应关系中,确定设备标识匹配的第二设备访问密钥,其中,第一对应关系包括各个设备标识与各自的设备访问密钥之间的对应关系。
在一种可能的实施例中,第一请求还包括终端的第三设备信息;
确定模块304,还用于从预存的第二对应关系中,确定设备标识匹配的第二随机数,其中,第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;
生成模块303,具体用于采用预设的不可逆加密算法,对第一设备信息、第二设备访问密钥、第二随机数、以及第三设备信息进行加密,生成第二签名。
在一种可能的实施例中,第一请求还包括第一消息内容和物联网设备生成第一签名的第一时间戳;
生成模块303,具体用于:基于第一设备信息、第二设备访问密钥、预存的第二随机数、第一消息内容、以及第一时间戳,生成第二签名。
在一种可能的实施例中,生成模块303,还用于:
在若验证第二签名与第一签名相同,则确定物联网设备认证通过之后,生成第二消息内容,其中,第二消息内容为回应第一消息内容的消息内容,或者是基于终端发送的第三消息内容生成;
基于第一设备信息、第二消息内容、第二时间戳、第二设备访问密钥、以及第二随机数,生成第三签名;
基于第三签名、第二消息内容、第二时间戳、以及第一设备信息生成第三请求;
发送模块305,还用于:将第三请求发送给物联网设备,以使物联网设备基于第一设备访问密钥、第一随机数、第二消息内容、第二时间戳、以及第一设备信息,生成第四签名,若确定第四签名和第三签名相同,则确定服务器验证通过,并根据第二消息内容,执行相应的业务逻辑。
基于同一发明构思,本申请实施例提供一种认证物联网设备的装置,请参照图4,该装置相当于设置在前文论述的物联网设备中,或可以实现前文论述的物联网设备的功能,该装置包括:
生成模块401,用于基于第一随机数,以及自身的第二设备信息,生成第一签名,以及基于第一签名、以及自身的第一设备信息,生成第一请求,其中,第一设备信息包括第二设备信息中除了第一设备访问密钥之外的信息,第一设备信息包括设备标识;
发送模块402,用于将第一请求发送给服务器,以使服务器执行以下操作:基于第一请求中的设备标识,获得预存的第二设备访问密钥,并基于第一设备信息、第二设备访问密钥,以及预存的第二随机数,生成第二签名;若确定第二签名与第一签名相同,则确定物联网设备认证通过。
在一种可能的实施例中,该装置还包括获取模块403;
获取模块403,用于从终端获取终端的第三设备信息;
生成模块401,具体用于采用预设的不可逆加密算法,对第一随机数、自身的第二设备信息、以及第三设备信息进行加密,生成第一签名;以及基于第一签名、第一设备信息、以及第三设备信息,生成第一请求;
发送模块402,具体用于将第一请求发送给服务器,以使服务器从预存的第二对应关系中,确定设备标识匹配的第二随机数,其中,第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;以及采用预设的不可逆加密算法,对第一设备信息、第二设备访问密钥、第三设备信息和第二随机数进行加密,生成第二签名。
在一种可能的实施例中,生成模块401,具体用于:
基于第一随机数、自身的第二设备信息、第一消息内容和物联网设备生成第一签名的第一时间戳,生成第一签名;
其中,第一请求还包括第一消息内容和第一时间戳。
在一种可能的实施例中,该装置还包括确定模块404和执行模块405;
获取模块403,还用于在将第一请求发送给服务器之后,接收服务器发送的第三请求,其中,第三请求是服务器基于第三签名、第二消息内容、第二时间戳、以及第一设备信息生成的,第三签名是服务器采用预设的不可逆加密算法,对第一设备信息、第二消息内容、第二时间戳、第二设备访问密钥、以及第二随机数进行加密生成的;
生成模块401,还用于采用预设的不可逆加密算法,对第二消息内容、第二时间戳、以及第一设备信息进行加密,生成第四签名;
确定模块404,用于若确定第四签名和第三签名相同,则确定认证通过;
执行模块405,用于根据第二消息内容,执行相应的业务逻辑。
基于同一发明构思,本申请实施例提供一种电子设备,该电子设备相当于前文论述的服务器120,请参照图5,该设备包括:
至少一个处理器501,以及
与至少一个处理器501通信连接的存储器502;
其中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令实现如前文论述的认证物联网设备的方法。
处理器501可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元、或为图像处理器等中的一种或多种组合。存储器502可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器502也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器502可以是上述存储器的组合。
作为一种实施例,图5中的处理器501可以实现前文论述的认证物联网设备的方法,处理器501还可以实现前文图3论述的认证物联网设备的装置的功能。
基于同一发明构思,本申请实施例提供一种电子设备,该电子设备相当于前文论述的物联网设备130,请参照图6,该设备包括:
至少一个处理器601,以及
与至少一个处理器601通信连接的存储器602;
其中,处理器601与存储器602的具体实现形式请参照前文论述的处理器501与存储器502,此处不再赘述。
作为一种实施例,图6中的处理器601可以实现前文论述的认证物联网设备的方法,处理器601还可以实现前文图4论述的认证物联网设备的装置的功能。
基于同一发明构思,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如前文论述的认证物联网设备的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种认证物联网设备的方法,其特征在于,包括:
接收待认证的物联网设备发送的第一请求,其中,所述第一请求包括第一签名和所述物联网设备的第一设备信息,所述第一请求是所述物联网设备在基于第一随机数和所述物联网设备的第二设备信息生成所述第一签名之后发送的,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括所述物联网设备的设备标识;
基于所述第一请求中的设备标识,获得预存的第二设备访问密钥,并基于所述第一设备信息、所述第二设备访问密钥、以及预存的第二随机数,生成第二签名,所述第二随机数是根据所述设备标识确定的;
若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
2.如权利要求1所述的方法,其特征在于,在接收物联网设备发送的认证请求之前,还包括:
接收终端发送的第二请求,其中,所述第二请求包括所述物联网设备的设备标识;
响应于所述第二请求,向所述终端发送第一随机数,以使所述终端将所述第一随机数发送给所述物联网设备。
3.如权利要求2所述的方法,其特征在于,所述第二请求还包括所述终端的第三设备信息,所述第三设备信息包括登录所述终端的账户标识;
响应所述第二请求,向所述终端发送第一随机数,包括:
若根据所述账户标识,确定所述账户标识对应的账户已注册,且确定所述设备标识未与其他账户绑定,则生成第一随机数,并将所述第一随机数发送给所述终端,其中,所述其他账户为除所述账户标识对应的账户之外的账户。
4.如权利要求1所述的方法,其特征在于,基于所述设备标识,获得预存的第二设备访问密钥,包括:
从预存的第一对应关系中,确定所述设备标识匹配的第二设备访问密钥,其中,所述第一对应关系包括各个设备标识与各自的设备访问密钥之间的对应关系。
5.如权利要求1~4任一项所述的方法,其特征在于,所述第一请求还包括所述终端的第三设备信息;
基于所述第一设备信息、所述第二设备访问密钥、以及预存的第二随机数,生成第二签名,包括:
从预存的第二对应关系中,确定所述设备标识匹配的第二随机数,其中,所述第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;
采用预设的不可逆加密算法,对所述第一设备信息、所述第二设备访问密钥、所述第二随机数、以及所述第三设备信息进行加密,生成第二签名。
6.如权利要求1~4任一项所述的方法,其特征在于,所述第一请求还包括第一消息内容和所述物联网设备生成所述第一签名的第一时间戳;
基于所述第一设备信息、所述第二设备访问密钥、以及预存的第二随机数,生成第二签名,包括:
基于所述第一设备信息、所述第二设备访问密钥、预存的第二随机数、所述第一消息内容、以及所述第一时间戳,生成第二签名。
7.如权利要求6所述的方法,其特征在于,在若验证所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过之后,还包括:
生成第二消息内容,其中,所述第二消息内容为回应所述第一消息内容的消息内容,或者是基于所述终端发送的第三消息内容生成;
基于所述第一设备信息、所述第二消息内容、第二时间戳、所述第二设备访问密钥、以及所述第二随机数,生成第三签名;
基于所述第三签名、所述第二消息内容、所述第二时间戳、以及所述第一设备信息生成第三请求,并发送给所述物联网设备,以使所述物联网设备基于所述第一设备访问密钥、所述第一随机数、所述第二消息内容、所述第二时间戳、以及所述第一设备信息,生成第四签名,若确定所述第四签名和所述第三签名相同,则确定服务器验证通过,并根据所述第二消息内容,执行相应的业务逻辑。
8.一种认证物联网设备的方法,其特征在于,应用于物联网设备中,所述方法包括:
基于第一随机数,以及自身的第二设备信息,生成第一签名;
基于所述第一签名、以及自身的第一设备信息,生成第一请求,其中,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括设备标识;
将所述第一请求发送给服务器,以使所述服务器执行以下操作:
基于所述第一请求中的设备标识,获得预存的第二设备访问密钥,并基于所述第一设备信息、所述第二设备访问密钥,以及预存的第二随机数,生成第二签名,所述第二随机数是根据所述设备标识确定的;
若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
9.如权利要求8所述的方法,其特征在于,基于第一随机数,以及自身的第二设备信息,生成第一签名,包括:
从终端获取所述终端的第三设备信息;
采用预设的不可逆加密算法,对所述第一随机数、自身的第二设备信息、以及所述第三设备信息进行加密,生成第一签名;
基于所述第一签名和所述第一设备信息生成第一请求,并将所述第一请求发送给所述服务器,包括:
基于所述第一签名、所述第一设备信息、以及所述第三设备信息,生成第一请求;
将所述第一请求发送给所述服务器,以使所述服务器执行如下操作:
从预存的第二对应关系中,确定所述设备标识匹配的第二随机数,其中,所述第二对应关系包括各个设备标识与各自对应的随机数之间的对应关系;
采用预设的不可逆加密算法,对所述第一设备信息、所述第二设备访问密钥、所述第三设备信息和所述第二随机数进行加密,生成第二签名。
10.如权利要求8或9所述的方法,其特征在于,基于第一随机数,以及自身的第二设备信息,生成第一签名,包括:
基于第一随机数、自身的第二设备信息、第一消息内容和所述物联网设备生成所述第一签名的第一时间戳,生成第一签名;
其中,所述第一请求还包括所述第一消息内容和所述第一时间戳。
11.如权利要求10所述的方法,其特征在于,在将所述第一请求发送给所述服务器之后,包括:
接收服务器发送的第三请求,其中,所述第三请求是所述服务器基于第三签名、第二消息内容、第二时间戳、以及所述第一设备信息生成的,所述第三签名是所述服务器采用预设的不可逆加密算法,对所述第一设备信息、所述第二消息内容、所述第二时间戳、所述第二设备访问密钥、以及所述第二随机数进行加密生成的;
采用预设的不可逆加密算法,对所述第一设备访问密钥、所述第一随机数、所述第二消息内容、所述第二时间戳、以及所述第一设备信息进行加密,生成第四签名;
若确定所述第四签名和所述第三签名相同,则确定认证通过,并根据所述第二消息内容,执行相应的业务逻辑。
12.一种验证物联网设备的装置,其特征在于,所述装置包括:
接收模块,用于接收待认证的物联网设备发送的第一请求,其中,所述第一请求包括第一签名和所述物联网设备的第一设备信息,所述第一请求是所述物联网设备在基于第一随机数和所述物联网设备的第二设备信息生成所述第一签名之后发送的,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括所述物联网设备的设备标识;
获得模块,用于基于所述第一请求中的设备标识,获得预存的第二设备访问密钥;
生成模块,用于基于所述第一设备信息、所述第二设备访问密钥,以及预存的第二随机数,生成第二签名,所述第二随机数是根据所述设备标识确定的;
确认模块,用于若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
13.一种验证物联网设备的装置,其特征在于,所述装置设置于物联网设备中,所述装置包括:
生成模块,用于基于第一随机数,以及自身的第二设备信息,生成第一签名,以及基于所述第一签名、以及自身的第一设备信息,生成第一请求,其中,所述第一设备信息包括所述第二设备信息中除了第一设备访问密钥之外的信息,所述第一设备信息包括设备标识;
发送模块,用于将所述第一请求发送给服务器,以使所述服务器执行以下操作:基于所述第一请求中的设备标识,获得预存的第二设备访问密钥,并基于所述第一设备信息、所述第二设备访问密钥,以及预存的第二随机数,生成第二签名,所述第二随机数是根据所述设备标识确定的;若确定所述第二签名与所述第一签名相同,则确定所述物联网设备认证通过。
14.一种电子设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-7或8-11中任一所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如1-7或8-11中任一所述的方法。
CN202110640763.2A 2021-06-09 2021-06-09 认证物联网设备的方法、装置、设备及介质 Active CN113572728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110640763.2A CN113572728B (zh) 2021-06-09 2021-06-09 认证物联网设备的方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110640763.2A CN113572728B (zh) 2021-06-09 2021-06-09 认证物联网设备的方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113572728A CN113572728A (zh) 2021-10-29
CN113572728B true CN113572728B (zh) 2023-06-02

Family

ID=78161809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110640763.2A Active CN113572728B (zh) 2021-06-09 2021-06-09 认证物联网设备的方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113572728B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584313B (zh) * 2022-02-25 2023-11-03 杭州萤石软件有限公司 一种设备物理身份认证方法、系统、装置及第一平台
CN114697047B (zh) * 2022-06-01 2022-10-04 树根互联股份有限公司 物联网中的子设备注册方法、云服务器及网关设备
CN116248280B (zh) * 2023-05-09 2023-07-28 北京智芯微电子科技有限公司 免密钥发行的安全模组防盗用方法、安全模组及装置
CN117056976B (zh) * 2023-08-22 2024-03-08 哈尔滨商业大学 一种财务数据处理方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669276B (zh) * 2019-03-07 2022-04-22 华为技术有限公司 一种网络验证方法、装置及系统
CN111949974A (zh) * 2020-08-04 2020-11-17 北京字节跳动网络技术有限公司 一种认证的方法、装置、计算机设备及存储介质
CN112491881B (zh) * 2020-11-26 2023-05-12 中国人寿保险股份有限公司 跨平台单点登录方法、系统、电子设备及存储介质
CN112788036B (zh) * 2021-01-13 2022-12-27 中国人民财产保险股份有限公司 身份验证方法及装置

Also Published As

Publication number Publication date
CN113572728A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN113572728B (zh) 认证物联网设备的方法、装置、设备及介质
US11128477B2 (en) Electronic certification system
CN106657152B (zh) 一种鉴权方法及服务器、访问控制装置
EP3602991B1 (en) Mechanism for achieving mutual identity verification via one-way application-device channels
US9197420B2 (en) Using information in a digital certificate to authenticate a network of a wireless access point
CN111149334A (zh) 远程设备控制
JP2018519706A (ja) ネットワークアクセスデバイスをワイヤレスネットワークアクセスポイントにアクセスさせるための方法、ネットワークアクセスデバイス、アプリケーションサーバ、および不揮発性コンピュータ可読記憶媒体
CN112019566B (zh) 数据的传输方法、服务器、客户端及计算机存储介质
KR101972110B1 (ko) 블록체인 기술을 활용한 포그 컴퓨터의 보안 및 디바이스 제어 방법
CN111130798B (zh) 一种请求鉴权方法及相关设备
CN113099443A (zh) 设备认证方法、装置、设备和系统
CN110662091B (zh) 第三方直播视频接入方法、存储介质、电子设备及系统
KR20110083886A (ko) 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
CN113472790A (zh) 基于https协议的信息传输方法、客户端及服务器
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
KR20190033380A (ko) 장치 결합 정보를 포함하는 인증서를 이용한 네트워크 카메라 인증
CN111460410A (zh) 服务器登录方法、装置、系统与计算机可读存储介质
CN110807210B (zh) 一种信息处理方法、平台、系统及计算机存储介质
CN112565236A (zh) 信息鉴权方法、装置、计算机设备及存储介质
CN110636503B (zh) 数据加密方法、装置、设备及计算机可读存储介质
US20090210719A1 (en) Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program
CN114120498B (zh) 用于迁移数据的方法和相关设备
CN115242471A (zh) 信息传输方法、装置、电子设备及计算机可读存储介质
CN114745115A (zh) 一种信息传输方法、装置、计算机设备及存储介质
US9281947B2 (en) Security mechanism within a local area network

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