一种基于物联网的认证实现方法及系统技术方案

技术编号:38465779 阅读:14 留言:0更新日期:2023-08-11 14:42
本发明专利技术公开一种基于物联网的认证实现方法及系统,该方法包括:终端设备将载入请求发送给认证中心;认证中心将重定向信息返回给终端设备进行保存,终端设备将连接请求发送给SDK;终端设备验证SDK返回的连接请求响应的合法性和有效性,如验证成功则将设备证明请求发送给SDK;SDK对设备证明请求进行验证成功后与终端设备协商密钥,SDK使用协商好的第一密钥对接收到的终端设备发送的加密结果进行解密,并用解密得到的第二HMAC值替换保存的设备归属信息中的HMAC,终端设备根据重定向信息中的推送服务的地址与对应的推送服务建立长连接。本方案适用任意终端设备和推送服务,无需线下用户参与,使用更加方便简单。使用更加方便简单。使用更加方便简单。

【技术实现步骤摘要】
一种基于物联网的认证实现方法及系统


[0001]本专利技术涉及信息安全领域,尤其涉及一种基于物联网的认证实现方法及系统。

技术介绍

[0002]随着物联网和智能终端设备的快速发展,物与物之间、物与人之间的联系越来越紧密,智能终端产品的种类和数量也在不断扩大,网络安全、设备部署安全等问题日益凸显,消费者也越来越关注智能终端产品的安全问题。在现有技术中,一般都是各硬件厂商自建平台或者采用第三方云服务来解决上述安全问题。各硬件厂商自建平台方案,其通信安全、部署安全、设备管理安全等均依赖于各厂商自己的能力,受限较大且各不统一,各厂商自己的算法水平和实现方案的可靠性和安全性有待商榷。采用第三方云服务方案也有明显的局限性,其设备管理安全和信息传输安全等均依赖于第三方云服务,一个厂商对应一个云服务,采用的安全加密算法依然受限于各厂商自身,使用十分不便。故亟需一种适用不同硬件厂商的设备通过一个云服务或一个设备通过不同的云服务连接物联网进行工作的实现方案。

技术实现思路

[0003]本专利技术的目的是为了克服现有技术的不足,提供一种基于物联网的认证实现方法及系统。
[0004]第一方面,本专利技术实施例提供了一种基于物联网的认证实现方法,包括:步骤S1:终端设备使用设备私钥对设备标识进行签名得到设备签名结果,根据所述设备标识和所述设备签名结果生成载入请求并发送给认证中心;步骤S2:所述认证中心根据保存的设备公钥对接收到的所述载入请求进行验证,如验证成功则根据所述载入请求中的设备标识从保存的第二协议数据中获取推送服务的地址,根据所述推送服务的地址生成重定向信息并返回给所述终端设备,执行步骤S3,如验证失败则报错,结束;步骤S3:所述终端设备接收重定向信息并保存,根据所述设备标识、生成的第二随机数、密钥交换协议和密码套件生成连接请求并发送给SDK;步骤S4:所述SDK保存所述连接请求中的第二随机数,根据所述连接请求中的密钥交换协议和所述密码套件生成第一密钥交换参数并保存,根据所述连接请求中的设备标识查询保存的对应设备归属信息,使用SDK公钥计算所述设备归属信息头的HMAC得到第一HMAC值,对所述连接请求进行哈希计算得到请求哈希值,根据所述设备归属信息、所述连接请求、所述第一密钥交换参数、所述第一HMAC值、所述请求哈希值、所述第二随机数和生成的第三随机数生成连接请求响应并返回给所述终端设备;步骤S5:所述终端设备根据所述第二随机数验证所述连接请求响应的合法性和有效性,如验证成功则执行步骤S6,否则报错,结束;步骤S6:所述终端设备保存所述连接请求响应中的第一密钥交换参数,根据密钥
交换协议和密码套件生成第二密钥交换参数,根据所述第二密钥交换参数、所述第二随机数、所述连接请求响应中的第三随机数和所述设备标识生成第二有效数据,使用所述设备私钥对所述第二有效数据进行签名得到第二有效数据签名结果,根据所述第二有效数据签名结果和所述第二有效数据生成设备证明请求并发送给所述SDK;步骤S7:所述SDK根据保存的所述设备归属信息对所述设备证明请求进行验证,如验证成功则执行步骤S8;步骤S8:所述SDK根据保存的第一密钥交换参数和设备证明请求中的第二密钥交换参数生成第一密钥,根据SDK公钥、设备归属信息、所述设备证明请求中的设备标识和第三随机数生成第三有效数据,使用SDK私钥对所述第三有效数据进行签名得到第三有效数据签名结果,使用所述第一密钥对包含所述第三有效数据和所述第三有效数据签名结果的设备设置请求进行加密并将加密结果发送给所述终端设备;步骤S9:所述终端设备根据所述第一密钥交换参数和第二密钥交换参数生成第二密钥,使用所述第二密钥对接收到的加密结果进行解密,对解密得到的设备设置请求进行解析,用解析得到的SDK公钥计算设备归属信息头的HMAC得到第二HMAC值,使用所述第二密钥对所述第二HMAC值进行加密并将加密结果发送给所述SDK;步骤S10:所述SDK使用所述第一密钥对接收到的加密结果进行解密,并用解密得到的第二HMAC值替换保存的设备归属信息中的HMAC,给所述终端设备返回确认响应;步骤S11:所述终端设备接收到所述确认响应后根据保存的重定向信息中的推送服务的地址与对应的推送服务建立长连接。
[0005]第二方面,本专利技术实施例又提供一种基于物联网的认证实现系统,包括:终端设备、认证中心和SDK,用于实现前述的基于物联网的认证实现方法。
[0006]第三方面,本专利技术实施例又提供一种电子设备,所述电子设备包括至少一个处理器、存储器及存储在所述存储器上并可被所述至少一个处理器执行的指令,所述至少一个处理器执行所述指令以实现前述的基于物联网的认证实现方法。
[0007]第四方面,本专利技术实施例又提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在被电子设备执行时实现前述的基于物联网的认证实现方法。
[0008]第五方面,本专利技术实施例又提供一种芯片系统,包括芯片,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行前述的基于物联网的认证实现方法。
[0009]本专利技术与现有技术相比,具有以下优点:本专利技术技术方案中终端设备从认证中心获取可连接的推送服务的地址,推送服务通过SDK(英文全称:Software Development Kit,中文全称:软件开发工具包)完成终端设备的身份验证和保护载入过程,然后终端设备使用推送服务的地址与对应的推送服务建立长连接。本实施例方案适用于任意厂商的终端设备和推送服务,使认证中心能动态的管理终端设备和推送服务,终端设备上电后以安全可信的方式自动快速连接到推送服务,而无需线下用户参与,使用更加方便简单。
附图说明
[0010]图1为本专利技术实施例一提供的一种基于物联网的认证实现方法的流程图;
图2本专利技术实施例二提供的一种基于物联网的认证实现方法中的注册过程流程图;图3和图4本专利技术实施例二提供的一种基于物联网的认证实现方法中的认证过程流程图。
具体实施方式
[0011]本申请提出了一种基于物联网的认证实现方法及系统,下面结合附图,对本申请具体实施方式进行详细说明。所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0012]本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0013]为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术实施方式作进一步地详细描述。
[0014]在本申请实施例中,推送服务为终端设备最终要连接的目标云服务,主要负责通过SDK完成终端设备的身份验证和数据配置、协议、密钥的协商;认证中心主要为SDK提供注册其所属推送服务的信息和身本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于物联网的认证实现方法,其特征在于,包括:步骤S1:终端设备使用设备私钥对设备标识进行签名得到设备签名结果,根据所述设备标识和所述设备签名结果生成载入请求并发送给认证中心;步骤S2:所述认证中心根据保存的设备公钥对接收到的所述载入请求进行验证,如验证成功则根据所述载入请求中的设备标识从保存的第二协议数据中获取推送服务的地址,根据所述推送服务的地址生成重定向信息并返回给所述终端设备,执行步骤S3,如验证失败则报错,结束;步骤S3:所述终端设备接收重定向信息并保存,根据所述设备标识、生成的第二随机数、密钥交换协议和密码套件生成连接请求并发送给SDK;步骤S4:所述SDK保存所述连接请求中的第二随机数,根据所述连接请求中的密钥交换协议和所述密码套件生成第一密钥交换参数并保存,根据所述连接请求中的设备标识查询保存的对应设备归属信息,使用SDK公钥计算所述设备归属信息头的HMAC得到第一HMAC值,对所述连接请求进行哈希计算得到请求哈希值,根据所述设备归属信息、所述连接请求、所述第一密钥交换参数、所述第一HMAC值、所述请求哈希值、所述第二随机数和生成的第三随机数生成连接请求响应并返回给所述终端设备;步骤S5:所述终端设备根据所述第二随机数验证所述连接请求响应的合法性和有效性,如验证成功则执行步骤S6,否则报错,结束;步骤S6:所述终端设备保存所述连接请求响应中的第一密钥交换参数,根据所述密钥交换协议和所述密码套件生成第二密钥交换参数,根据所述第二密钥交换参数、所述第二随机数、所述连接请求响应中的第三随机数和所述设备标识生成第二有效数据,使用所述设备私钥对所述第二有效数据进行签名得到第二有效数据签名结果,根据所述第二有效数据签名结果和所述第二有效数据生成设备证明请求并发送给所述SDK;步骤S7:所述SDK根据保存的所述设备归属信息对所述设备证明请求进行验证,如验证成功则执行步骤S8;步骤S8:所述SDK根据保存的第一密钥交换参数和设备证明请求中的第二密钥交换参数生成第一密钥,根据SDK公钥、设备归属信息、所述设备证明请求中的设备标识和第三随机数生成第三有效数据,使用SDK私钥对所述第三有效数据进行签名得到第三有效数据签名结果,使用所述第一密钥对包含所述第三有效数据和所述第三有效数据签名结果的设备设置请求进行加密并将加密结果发送给所述终端设备;步骤S9:所述终端设备根据所述第一密钥交换参数和第二密钥交换参数生成第二密钥,使用所述第二密钥对接收到的加密结果进行解密,对解密得到的设备设置请求进行解析,用解析得到的SDK公钥计算设备归属信息头的HMAC得到第二HMAC值,使用所述第二密钥对所述第二HMAC值进行加密并将加密结果发送给所述SDK;步骤S10:所述SDK使用所述第一密钥对接收到的加密结果进行解密,并用解密得到的第二HMAC值替换保存的设备归属信息中的HMAC,给所述终端设备返回确认响应;步骤S11:所述终端设备接收到所述确认响应后根据保存的重定向信息中的推送服务的地址与对应的推送服务建立长连接。2.如权利要求1所述的方法,其特征在于,所述步骤S2包括:步骤S21:所述认证中心对接收到的载入请求进行解析得到设备标识和设备签名结果,
根据所述设备标识查询第一协议数据和第二协议数据,如找到第一协议数据和第二协议数据则执行步骤S22,如未找到则报错,结束;步骤S22:所述认证中心获取所述第一协议数据中的设备归属信息,使用所述设备归属信息中的设备公钥和所述设备标识对所述设备签名结果进行验证,如验证成功则根据所述设备标识从所述第二协议数据中获取推送服务的地址,根据所述推送服务的地址生成重定向信息并返回给终端设备,执行步骤S3,如验证失败则报错,结束。3.如权利要求1所述的方法,其特征在于,所述步骤S5包括:所述终端设备对接收到的所述连接请求响应进行解析得到设备归属信息、连接请求、第一密钥交换参数、第一HMAC值、请求哈希值、第二随机数和第三随机数,对解析得到的所述连接请求进行哈希计算得到第一哈希结果,从解析得到的所述设备归属信息中获取HMAC,对解析得到的设备归属信息进行HMAC计算,分别判断获取到的HMAC与计算得到的HMAC值是否一致、判断解析得到的请求哈希值与所述第一哈希结果是否一致、判断保存的第二随机数与解析得到的第二随机数是否一致,如均判断为是则执行步骤S6,否则验证失败,报错,结束。4.如权利要求1所述的方法,其特征在于,所述步骤S7包括:所述SDK对接收到的所述设备证明请求进行解析得到第二有效数据和第二有效数据签名结果,对所述第二有效数据进行解析得到第二密钥交换参数、第二随机数、第三随机数和设备标识,根据所述设备标识获取对应的设备归属信息,获取所述设备归属信息中的设备公钥,使用所述设备公钥对所述第二有效数据签名结果进行解密,对解析得到的第二有效数据进行哈希计算,判断解密结果与哈希计算结果是否一致,是则验证成功,执行步骤S8,否则验证失败,向所述终端设备报错。5.如权利要求1所述的方法,其特征在于,所述步骤S8包括:步骤S81:所述SDK从所述设备证明请求中获取第二密钥交换参数,根据所述第二密钥交换参数和保存的第一密钥交换参数生成第一密钥;步骤S82:所述SDK从所述设备证明请求中获取第三随机数和设备标识,根据SDK公钥、所述设备标识、所述第三随机数和设备归属信息组成第三有效数据,使用SDK私钥对所述第三有效数据进行签名生成第三有效数据签名结果;步骤S83:所述SDK根据所述第三有效数据和所述第三有效数据签名结果生成设备设置请求,使用所述第一密钥对所述设备设置请求进行加密,并将设备设置请求密文发送给终端设备。6.如权利要求1所述的方法,其特征在于,所述步骤S9包括:所述终端设备根据所述第一密钥交换参数和所述第二密钥参数生成第二密钥,使用所述第二密钥对接收到的加密结果进行解密,如解密成功则对解密得到的设备设置请求进行解析,用解析得到的SDK公钥计算设备归属信息头的HMAC得到第二HMAC值,根据所述第二HMAC值和设备所能接收的最大消息字节数生成设备状态变化通知,使用所述第二密钥对所述设备状态变化通知进行加密并将加密结果发送给所述SDK。7.如权利要求6所述的方法,其特征在于,所述步骤S10包括:步骤S10

1:所述SDK使用所述第一密钥解密对接收到的设备状态变化通知密文进行解密,如解密成功则执行步骤S10

2,如解密失败则结束;步骤S10

2:所述SDK用解密得到的设备状态变化通知中的第二HMAC值替换设备归属信
息中的HMAC,得到新的设备归属信息,从所述设备状态变化通知中获取设备所能接收的最大消息字节数并保存。8.如权利要求7所述的方法,其特征在于,所述步骤S4还包括:所述SDK保存生成的第三随机数;所述步骤S10中的所述给终端设备返回确认响应之前还包括:步骤W1:所述SDK根据所述设备所能接收到的最大消息字节数生成服务接收数据的最大长度,对所述服务接收数据的最大长度进行HMAC计算得到第三结果,使用所述第一密钥对所述服务接收数据的最大长度进行加密得到第三密文,根据所述第三结果和所述第三密文生成服务接收数据上限通知并发送给所述终端设备;步骤W2:所述终端设备对所述服务接收数据上限通知进行解析得到第三结果和第三密文,使用第二密钥对接收到的第三密文进行解密,如解密成功则对解密得到的服务接收数据的最大长度进行HMAC计算,判断计算结果和所述第三结果是否一致,是则保存所述服务接收数据的最大长度;步骤W3:所述终端设备使用所述第二密钥对所述第三随机数进行加密得到第四密文,对所述第三随机数...

【专利技术属性】
技术研发人员:陆舟
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1