发明内容
本发明的主要目的在于提供一种身份认证装置及方法,旨在解决现有的家电设备与云端之间数据交互的安全性得不到保障的技术问题。
为实现上述目的,本发明提供的一种身份认证装置,所述身份认证装置应用于家电设备,所述装置包括:
加密模块,用于获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备;
解密模块,用于当接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密,得到解密后的第二密文;
发送模块,用于若解密后的第二密文满足预设条件,则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。
优选地,所述发送模块包括:
加密单元,用于若解密后的第二密文满足预设条件,则输出解密成功的提示消息,并通过SM4加密算法加密所述提示消息,得到加密后的提示消息;
第一发送单元,用于将所述加密后的提示消息发送给所述云端,以供所述云端接收所述加密后的提示消息,通过SM4算法解密所述加密后的提示消息,其中,当所述云端成功解密所述加密后的提示消息时,所述云端确认所述家电设备为合法的家电设备。
优选地,所述加密模块,还用于获取第一随机数和媒体访问控制MAC地址,通过云端公钥对所述第一随机数和MAC地址进行加密,得到第一密文,并将所述第一密文发送给云端;
其中,当所述云端接收到所述第一密文时,所述云端通过云端私钥对所述第一密文进行解密,得到第二随机数,所述云端通过家电设备公钥对所述第二随机数以及存储的第三随机数进行加密,得到第二密文,并将所述第二密文发送给所述家电设备。
优选地,所述发送模块还包括:
对比单元,用于从所述解密后的第二密文中提取第二随机数,并将所述第二随机数与第一随机数进行对比;
第二发送单元,若所述第二随机数与所述第一随机数相同,则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。
优选地,所述若身份认证装置,还包括:
判断模块,用于判断所述解密后的第二密文是否满足预设条件;
确认模块,用于若所述解密后的第二密文不满足预设条件,则将确认所述云端为非法的云端,断开与所述非法的云端的连接。
此外,为实现上述目的,本发明还提供一种身份认证方法,所述身份认证方法包括:
家电设备获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备;
当所述家电设备接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密,得到解密后的第二密文;
若解密后的第二密文满足预设条件,所述家电设备则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。
优选地,所述若解密后的第二密文满足预设条件,所述家电设备则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备的步骤包括:
若解密后的第二密文满足预设条件,所述家电设备则输出解密成功的提示消息,并通过SM4加密算法加密所述提示消息,得到加密后的提示消息;
所述家电设备将所述加密后的提示消息发送给所述云端,以供所述云端接收所述加密后的提示消息,通过SM4算法解密所述加密后的提示消息,其中,当所述云端成功解密所述加密后的提示消息时,所述云端确认所述家电设备为合法的家电设备。
优选地,所述家电设备获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备的步骤包括:
所述家电设备获取第一随机数和媒体访问控制MAC地址,通过云端公钥对所述第一随机数和MAC地址进行加密,得到第一密文,并将所述第一密文发送给云端;
其中,当所述云端接收到所述第一密文时,所述云端通过云端私钥对所述第一密文进行解密,得到第二随机数,所述云端通过家电设备公钥对所述第二随机数以及存储的第三随机数进行加密,得到第二密文,并将所述第二密文发送给所述家电设备。
优选地,所述若解密后的第二密文满足预设条件,所述家电设备则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为正常的家电设备的步骤包括:
所述家电设备从所述解密后的第二密文中提取第二随机数,并将所述第二随机数与第一随机数进行对比;
若所述第二随机数与所述第一随机数相同,所述家电设备则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。
优选地,所述当所述家电设备接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密的步骤之后,还包括:
所述家电设备判断所述解密后的第二密文是否满足预设条件;
若所述解密后的第二密文不满足预设条件,所述家电设备则将确认所述云端为非法的云端,断开与所述非法的云端的连接。
本发明提出一种身份认证装置和方法,具体为家电设备获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备;当所述家电设备接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密,得到解密后的第二密文;若解密后的第二密文满足预设条件,所述家电设备则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。通过在云端和家电设备两端进行相互的身份认证,且家电设备私钥和云端私钥不在网络上传输,提高了家电设备与云端之间数据交互的安全性。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种身份认证装置。
参照图1,图1为本发明身份认证装置第一实施例的功能模块示意图。
在本实施例中,所述身份认证装置应用于家电设备,所述身份认证装置包括:
加密模块10,用于获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备;
家电设备中存在一对SM2的公钥和私钥,即为家电设备公钥和家电设备私钥。所述SM2的公钥和私钥存在license中,由license服务器通过PCI(PaymentCardIndustry,支付卡行业)加密卡生成。云端中也存在一对SM2的公钥和私钥,即云端公钥和云端私钥。所述家电设备将所述家电设备公钥发送给所述云端,当所述云端接收到所述家电设备公钥时,将所述家电设备公钥固化在SDK(softwaredevelopmentkit,软件开发工具包)中。所述云端将所述云端公钥发送给所述家电设备,当所述家电设备接收到所述云端公钥时,将所述云端公钥固化在所述SDK中。需要说明的是,所述家电设备包括但不限于空调、洗衣机、电饭锅、电热毯和电视机。所述SM2是国家密码管理局发布的椭圆曲线公钥密码算法,加密强度为256位。所述SM2算法可以完成签名、密钥交换以及加密应用。
所述家电设备获取待加密数据,通过云端公钥对所述待加密数据进行加密,并将加密后的所述待加密数据作为第一密文,并将所述第一密文发送给所述云端。所述云端通过与所述云端公钥对应的云端私钥对所述第一密文进行解密,得到解密后的第一密文,所述云端基于解密后的第一密文,并通过其SDK中的所述家电设备公钥对所述解密后的第一密文再次加密,得到第二密文,并将所述第二密文发送给所述家电设备。所述待加密数据包括第一随机数和MAC(MediaAccessControl,媒体访问控制)地址。所述第一随机数为16字节,所述MAC地址也为16字节,所述第一随机数是一组没有规律的随机数。即当所述家电设备获取到所述第一随机数和所述MAC地址时,所述家电设备将16字节的第一随机数和16字节的MAC地址进行拼接,采用所述云端公钥对拼接后的所述第一随机数和所述MAC地址进行加密,并将加密后的第一随机数和所述MAC地址作为第一密文,将所述第一密文发送给所述云端。当所述云端接收到所述第一密文时,所述云端通过与所述云端公钥对应的云端私钥对加密后的第一随机数和MAC地址进行解密,从所述加密后的第一随机数和MAC地址中提取第二随机数。当所述云端提取到第二随机数时,所述云端对所述第二随机数以及其存储的第三随机数进行拼接,并通过所述云端SDK中的家电设备公钥对拼接后的第二随机数和第三随机数进行加密,将加密后的数据作为第二密文,将所述第二密文发送给家电设备。
若所述云端通过所述云端私钥未能成功解密所述第一密文时,表明所述家电设备为非法的家电设备,所述云端断开与所述非法的家电设备之间的连接,防止所述非法的家电设备攻击所述云端,或者从所述云端非法获取数据等。
解密模块20,用于当接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密,得到解密后的第二密文;
当所述家电设备接收到所述云端发送的第二密文时,所述家电设备通过与所述家电设备公钥对应的家电设备私钥对所述第二密文进行解密,得到解密后的第二密文。
发送模块30,用于若解密后的第二密文满足预设条件,则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。
所述发送模块30包括:
对比单元,用于从所述解密后的第二密文中提取第二随机数,并将所述第二随机数与第一随机数进行对比;
第二发送单元,若所述第二随机数与所述第一随机数相同,则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。
当所述家电设备得到所述解密后的第二密文时,若所述解密后的第二密文满足预设条件,所述家电设备则确认所述云端为合法的云端。所述家电设备则发送解密成功的提示消息给所述云端。当所述云端接收到所述家电设备发送的提示消息后,所述云端根据所述提示消息确认所述家电设备为合法的家电设备。所述家电设备从所述解密后的第二密文中提取第二随机数,并将所述第二随机数与所述第一随机数进行比较。当所述第二随机数与所述第二随机数相同时,所述家电设备确认所述云端为合法的云端。需要说明的是,所述预设条件即为所述第一随机数与所述第二随机数相同,所述第二随机数和第三随机数是没有规律的随机数。
进一步地,所述发送模块30还包括:
加密单元,用于若解密后的第二密文满足预设条件,则输出解密成功的提示消息,并通过SM4加密算法加密所述提示消息,得到加密后的提示消息;
第一发送单元,用于将所述加密后的提示消息发送给所述云端,以供所述云端接收所述加密后的提示消息,通过SM4算法解密所述加密后的提示消息,其中,当所述云端成功解密所述加密后的提示消息时,所述云端确认所述家电设备为合法的家电设备。
进一步地,当加密后的第二密文满足预设条件,即所述第一随机数与所述第二随机数相同时,所述家电设备输出解密成功的提示消息,并通过SM4加密算法加密所述提示消息,得到加密后的提示消息,并将所述加密后的提示消息发送给所述云端。当所述云端接收到所述家电设备发送的加密后提示消息后,通过所述SM4算法对所述加密后的提示消息进行解密。若所述云端能正常解密所述加密后的提示消息,则表明所述家电已经从所述第二密文中成功提取所述第三随机数,所述云端确认所述家电设备为合法的家电设备。需要说明的是,所述家电设备通过所述SM4加密算法加密所述提示消息时所用密钥为第一随机数与第三随机数相异或后所得的数据。所述SM4加密算法是用于无线局域网和可信计算系统的专用分组密码算法,所述SM4加密算法的分组长度为128比特,密钥长度也为128比特。如所述家电设备通过SM4加密算法,使用第一随机数与第三随机数相异或后所得的数据对所述提示消息“OK”进行加密。当所述云端成功解密得到所述提示消息“OK”时,所述云端确认所述家电设备为合法的家电设备。
在本实施例中,提供一种身份认证装置,该装置包括:加密模块,用于获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备;解密模块,用于当接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密,得到解密后的第二密文;发送模块,用于若解密后的第二密文满足预设条件,则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。通过在云端和家电设备两端进行相互的身份认证,且家电设备私钥和云端私钥不在网络上传输,提高了家电设备与云端之间数据交互的安全性。
参照图2,图2为本发明身份认证装置第二实施例的功能模块示意图,基于本发明身份认证装置的第一实施例提出本发明身份认证装置的第二实施例。
在本实施例中,所述身份认证装置还包括:
判断模块40,用于判断所述解密后的第二密文是否满足预设条件;
确认模块50,用于若所述解密后的第二密文不满足预设条件,则将确认所述云端为非法的云端,断开与所述非法的云端的连接。
当所述家电设备得到所述解密后的第二密文后,所述家电设备判断所述第二密文是否满足预设条件,即所述家电设备判断所述第二密文中的第二随机数与所述第一随机数是否相同。当所述解密后的第二密文不满足所述预设条件时,即当所述第二密文中的第二随机数与所述第一随机数不相同时,所述家电设备确认所述云端为非法的云端。所述家电设备不发送给解密成功的提示消息给所述云端,并断开与所述非法的云端的连接,防止所述非法的云端从所述家电设备中获取数据,或者攻击所述家电设备等,影响所述家电设备的安全性。
本实施例通过当家电设备确认所述云端为非法的云端时,断开与所述非法的云端的连接,防止所述非法的云端获取所述家电设备的数据,提高了家电设备的安全性。
本发明进一步提供一种身份认证方法。
参照图3,图3为本发明身份认证方法第一实施例的流程示意图。
在本实施例中,所述身份认证方法包括:
步骤S10,家电设备获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备;
家电设备中存在一对SM2的公钥和私钥,即为家电设备公钥和家电设备私钥。所述SM2的公钥和私钥存在license中,由license服务器通过PCI(PaymentCardIndustry,支付卡行业)加密卡生成。云端中也存在一对SM2的公钥和私钥,即云端公钥和云端私钥。所述家电设备将所述家电设备公钥发送给所述云端,当所述云端接收到所述家电设备公钥时,将所述家电设备公钥固化在SDK(softwaredevelopmentkit,软件开发工具包)中。所述云端将所述云端公钥发送给所述家电设备,当所述家电设备接收到所述云端公钥时,将所述云端公钥固化在所述SDK中。需要说明的是,所述家电设备包括但不限于空调、洗衣机、电饭锅、电热毯和电视机。所述SM2是国家密码管理局发布的椭圆曲线公钥密码算法,加密强度为256位。所述SM2算法可以完成签名、密钥交换以及加密应用。
所述家电设备获取待加密数据,通过云端公钥对所述待加密数据进行加密,并将加密后的所述待加密数据作为第一密文,并将所述第一密文发送给所述云端。所述云端通过与所述云端公钥对应的云端私钥对所述第一密文进行解密,得到解密后的第一密文,所述云端基于解密后的第一密文,并通过其SDK中的所述家电设备公钥对所述解密后的第一密文再次加密,得到第二密文,并将所述第二密文发送给所述家电设备。所述待加密数据包括第一随机数和MAC(MediaAccessControl,媒体访问控制)地址。所述第一随机数为16字节,所述MAC地址也为16字节,所述第一随机数是一组没有规律的随机数。即当所述家电设备获取到所述第一随机数和所述MAC地址时,所述家电设备将16字节的第一随机数和16字节的MAC地址进行拼接,采用所述云端公钥对拼接后的所述第一随机数和所述MAC地址进行加密,并将加密后的第一随机数和所述MAC地址作为第一密文,将所述第一密文发送给所述云端。当所述云端接收到所述第一密文时,所述云端通过与所述云端公钥对应的云端私钥对加密后的第一随机数和MAC地址进行解密,从所述加密后的第一随机数和MAC地址中提取第二随机数。当所述云端提取到第二随机数时,所述云端对所述第二随机数以及其存储的第三随机数进行拼接,并通过所述云端SDK中的家电设备公钥对拼接后的第二随机数和第三随机数进行加密,将加密后的数据作为第二密文,将所述第二密文发送给家电设备。
若所述云端通过所述云端私钥未能成功解密所述第一密文时,表明所述家电设备为非法的家电设备,所述云端断开与所述非法的家电设备之间的连接,防止所述非法的家电设备攻击所述云端,或者从所述云端非法获取数据等。
步骤S20,当所述家电设备接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密,得到解密后的第二密文;
当所述家电设备接收到所述云端发送的第二密文时,所述家电设备通过与所述家电设备公钥对应的家电设备私钥对所述第二密文进行解密,得到解密后的第二密文。
步骤S30,若解密后的第二密文满足预设条件,所述家电设备则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。
当所述家电设备得到所述解密后的第二密文时,若所述解密后的第二密文满足预设条件,所述家电设备则确认所述云端为合法的云端。所述家电设备则发送解密成功的提示消息给所述云端。当所述云端接收到所述家电设备发送的提示消息后,所述云端根据所述提示消息确认所述家电设备为合法的家电设备。所述家电设备从所述解密后的第二密文中提取第二随机数,并将所述第二随机数与所述第一随机数进行比较。当所述第二随机数与所述第二随机数相同时,所述家电设备确认所述云端为合法的云端。需要说明的是,所述预设条件即为所述第一随机数与所述第二随机数相同,所述第二随机数和第三随机数是没有规律的随机数。
进一步地,所述步骤S30还包括:
若解密后的第二密文满足预设条件,所述家电设备则输出解密成功的提示消息,并通过SM4加密算法加密所述提示消息,得到加密后的提示消息;
所述家电设备将所述加密后的提示消息发送给所述云端,以供所述云端接收所述加密后的提示消息,通过SM4算法解密所述加密后的提示消息,其中,当所述云端成功解密所述加密后的提示消息时,所述云端确认所述家电设备为合法的家电设备。
进一步地,当加密后的第二密文满足预设条件,即所述第一随机数与所述第二随机数相同时,所述家电设备输出解密成功的提示消息,并通过SM4加密算法加密所述提示消息,得到加密后的提示消息,并将所述加密后的提示消息发送给所述云端。当所述云端接收到所述家电设备发送的加密后提示消息后,通过所述SM4算法对所述加密后的提示消息进行解密。若所述云端能正常解密所述加密后的提示消息,则表明所述家电已经从所述第二密文中成功提取所述第三随机数,所述云端确认所述家电设备为合法的家电设备。需要说明的是,所述家电设备通过所述SM4加密算法加密所述提示消息时所用密钥为第一随机数与第三随机数相异或后所得的数据。所述SM4加密算法是用于无线局域网和可信计算系统的专用分组密码算法,所述SM4加密算法的分组长度为128比特,密钥长度也为128比特。如所述家电设备通过SM4加密算法,使用第一随机数与第三随机数相异或后所得的数据对所述提示消息“OK”进行加密。当所述云端成功解密得到所述提示消息“OK”时,所述云端确认所述家电设备为合法的家电设备。
在本实施例中,家电设备获取待加密数据,通过云端公钥对所述待加密数据进行加密,得到第一密文,并将所述第一密文发送给云端,以供所述云端通过云端私钥对所述第一密文进行解密,基于解密后的第一密文,通过家电设备公钥得到第二密文,并将所述第二密文发送给所述家电设备;当所述家电设备接收到所述第二密文时,通过家电设备私钥对所述第二密文进行解密,得到解密后的第二密文;若解密后的第二密文满足预设条件,所述家电设备则发送解密成功的提示消息给所述云端,以供所述云端根据所述提示消息确认所述家电设备为合法的家电设备。通过在云端和家电设备两端进行相互的身份认证,且家电设备私钥和云端私钥不在网络上传输,提高了家电设备与云端之间数据交互的安全性。
参照图4,图4为本发明身份认证方法第二实施例的流程示意图,基于本发明身份认证方法的第一实施例提出本发明身份认证方法的第二实施例。
在本实施例中,所述身份认证方法还包括
步骤S40,所述家电设备判断所述解密后的第二密文是否满足预设条件;
步骤S50,若所述解密后的第二密文不满足预设条件,所述家电设备则将确认所述云端为非法的云端,断开与所述非法的云端的连接。
当所述家电设备得到所述解密后的第二密文后,所述家电设备判断所述第二密文是否满足预设条件,即所述家电设备判断所述第二密文中的第二随机数与所述第一随机数是否相同。当所述解密后的第二密文不满足所述预设条件时,即当所述第二密文中的第二随机数与所述第一随机数不相同时,所述家电设备确认所述云端为非法的云端。所述家电设备不发送给解密成功的提示消息给所述云端,并断开与所述非法的云端的连接,防止所述非法的云端从所述家电设备中获取数据,或者攻击所述家电设备等,影响所述家电设备的安全性。
本实施例通过当家电设备确认所述云端为非法的云端时,断开与所述非法的云端的连接,防止所述非法的云端获取所述家电设备的数据,提高了家电设备的安全性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。