【技术实现步骤摘要】
一种基于物联网的认证实现方法及系统
[0001]本专利技术涉及信息安全领域,尤其涉及一种基于物联网的认证实现方法及系统。
技术介绍
[0002]随着物联网和智能终端设备的快速发展,物与物之间、物与人之间的联系越来越紧密,智能终端产品的种类和数量也在不断扩大,网络安全、设备部署安全等问题日益凸显,消费者也越来越关注智能终端产品的安全问题。在现有技术中,一般都是各硬件厂商自建平台或者采用第三方云服务来解决上述安全问题。各硬件厂商自建平台方案,其通信安全、部署安全、设备管理安全等均依赖于各厂商自己的能力,受限较大且各不统一,各厂商自己的算法水平和实现方案的可靠性和安全性有待商榷。采用第三方云服务方案也有明显的局限性,其设备管理安全和信息传输安全等均依赖于第三方云服务,一个厂商对应一个云服务,采用的安全加密算法依然受限于各厂商自身,使用十分不便。故亟需一种适用不同硬件厂商的设备通过一个云服务或一个设备通过不同的云服务连接物联网进行工作的实现方案。
技术实现思路
[0003]本专利技术的目的是为了克服现有技术的不足,提供一种基于物联网的认证实现方法及系统。
[0004]第一方面,本专利技术实施例提供了一种基于物联网的认证实现方法,包括:步骤S1:终端设备使用设备私钥对设备标识进行签名得到设备签名结果,根据所述设备标识和所述设备签名结果生成载入请求并发送给认证中心;步骤S2:所述认证中心根据保存的设备公钥对接收到的所述载入请求进行验证,如验证成功则根据所述载入请求中的设备标识从保存的第二协议数据中获取推送 ...
【技术保护点】
【技术特征摘要】
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:所述终端设备使用所述第二密钥对所述第三随机数进行加密得到第四密文,对所述第三随机数...
【专利技术属性】
技术研发人员:陆舟,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。