发明内容
为了解决现有技术中的上述问题,即为了解决现有技术中身份认证的安全性较低的问题。本发明提供一种通信连接的建立方法、洗护设备及服务器。
第一方面,本发明实施例提供一种通信连接的建立方法,应用于洗护设备,所述方法包括:
在上电联网后,获取对称密钥以及所述洗护设备对应的设备识别码;
生成含有所述设备识别码的身份认证信息,并根据所述对称密钥对所述身份认证信息进行对称加密,得到加密身份认证信息;
将加密身份认证信息发送给区块链节点,以使所述区块链节点根据所述加密身份认证信息进行认证,生成身份认证结果,并将所述身份认证结果发送给所述洗护设备;
在所述身份认证结果为认证成功时,与所述区块链节点建立通信连接。
在一种可能的设计中,在所述将加密身份认证信息发送给区块链节点之前,还包括:
发送公钥获取请求给所述区块链节点,其中所述公钥获取请求用于指示所述区块链节点将预存的节点公钥发送给所述洗护设备;
根据所述节点公钥对所述对称密钥进行加密,得到加密对称密钥;
将所述加密对称密钥发送给所述区块链节点,以使所述区块链节点根据预存的节点私钥对所述加密对称密钥进行解密。
在一种可能的设计中,所述设备识别码包括集成电路卡识别码。
第二方面,本发明实施例提供一种通信连接的建立方法,应用于区块链节点,所述方法包括:
获取洗护设备发送的加密身份认证信息;
获取对称密钥,并根据所述对称密钥对所述加密身份认证信息进行解密,得到身份认证信息;
对所述身份认证信息中的设备识别码进行认证,生成身份认证结果,并将所述身份认证结果发送给所述洗护设备,以使所述洗护设备在所述身份认证结果为认证成功时,与所述区块链节点建立通信连接。
在一种可能的设计中,所述身份认证信息还包括设备公钥;
所述对所述身份认证信息中的设备识别码进行认证,包括:
获取区块信息,并判断所述区块信息中是否存在与所述设备公钥相同的目标设备公钥;
在确定存在与所述设备公钥相同的目标设备公钥时,对所述身份认证信息中的设备识别码进行认证。
在一种可能的设计中,所述在确定存在与所述设备公钥相同的目标设备公钥时,对所述身份认证信息中的设备识别码进行认证,包括:
在确定存在与所述设备公钥相同的目标设备公钥时,生成随机字符串,并将所述随机字符串发送给洗护设备,以使所述洗护设备根据预存的设备私钥对所述随机字符串进行签名,得到签名消息,并将其发送给所述区块链节点;
根据所述目标设备公钥对所述签名消息进行解密;
在确定解密后的签名消息和所述随机字符串相同时,对所述身份认证信息中的设备识别码进行认证。
在一种可能的设计中,所述对所述身份认证信息中的设备识别码进行认证,生成身份认证结果,包括:
从所述区块信息中获取所述目标设备公钥对应的目标设备识别码;
在确定所述目标设备识别码和所述设备识别码相同时,确定所述身份认证结果为认证成功。
在一种可能的设计中,在所述获取对称密钥之前,还包括:
获取所述洗护设备发送的公钥获取请求,并根据所述公钥获取请求,将预存的节点公钥发送给所述洗护设备;
获取所述洗护设备发送的加密对称密钥,并根据预存的节点私钥对所述加密对称密钥进行解密,得到所述对称密钥。
第三方面,本发明实施例提供一种通信连接的建立设备,应用于洗护设备,所述设备包括:
第一处理模块,用于在上电联网后,获取对称密钥以及所述洗护设备对应的设备识别码;
所述第一处理模块,还用于生成含有所述设备识别码的身份认证信息,并根据所述对称密钥对所述身份认证信息进行对称加密,得到加密身份认证信息;
第一收发模块,用于将加密身份认证信息发送给区块链节点,以使所述区块链节点根据所述加密身份认证信息进行认证,生成身份认证结果,并将所述身份认证结果发送给所述洗护设备;
所述第一处理模块,还用于在所述身份认证结果为认证成功时,与所述区块链节点建立通信连接。
在一种可能的设计中,所述第一收发模块,还用于在所述将加密身份认证信息发送给区块链节点之前,发送公钥获取请求给所述区块链节点,其中所述公钥获取请求用于指示所述区块链节点将预存的节点公钥发送给所述洗护设备;
所述第一收发模块,还用于根据所述节点公钥对所述对称密钥进行加密,得到加密对称密钥;
所述第一收发模块,还用于将所述加密对称密钥发送给所述区块链节点,以使所述区块链节点根据预存的节点私钥对所述加密对称密钥进行解密。
第四方面,本发明实施例提供一种通信连接的建立设备,应用于区块链节点,所述设备包括:
第二收发模块,用于获取洗护设备发送的加密身份认证信息;
第二处理模块,用于获取对称密钥,并根据所述对称密钥对所述加密身份认证信息进行解密,得到身份认证信息;
所述第二收发模块,还用于对所述身份认证信息中的设备识别码进行认证,生成身份认证结果,并将所述身份认证结果发送给所述洗护设备,以使所述洗护设备在所述身份认证结果为认证成功时,与所述区块链节点建立通信连接。
在一种可能的设计中,所述身份认证信息还包括设备公钥;
所述第二收发模块,还用于获取区块信息,并判断所述区块信息中是否存在与所述设备公钥相同的目标设备公钥;
所述第二收发模块,还用于在确定存在与所述设备公钥相同的目标设备公钥时,对所述身份认证信息中的设备识别码进行认证。
在一种可能的设计中,所述第二收发模块,还用于在确定存在与所述设备公钥相同的目标设备公钥时,生成随机字符串,并将所述随机字符串发送给洗护设备,以使所述洗护设备根据预存的设备私钥对所述随机字符串进行签名,得到签名消息,并将其发送给所述区块链节点;
所述第二收发模块,还用于根据所述目标设备公钥对所述签名消息进行解密;
所述第二收发模块,还用于在确定解密后的签名消息和所述随机字符串相同时,对所述身份认证信息中的设备识别码进行认证。
在一种可能的设计中,所述第二收发模块,还用于从所述区块信息中获取所述目标设备公钥对应的目标设备识别码;
所述第二收发模块,还用于在确定所述目标设备识别码和所述设备识别码相同时,确定所述身份认证结果为认证成功。
在一种可能的设计中,所述第二处理模块,还用于在所述获取对称密钥之前,获取所述洗护设备发送的公钥获取请求,并根据所述公钥获取请求,将预存的节点公钥发送给所述洗护设备;
所述第二处理模块,还用于获取所述洗护设备发送的加密对称密钥,并根据预存的节点私钥对所述加密对称密钥进行解密,得到所述对称密钥。
第五方面,本发明实施例提供一种洗护设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的通信连接的建立方法。
第六方面,本发明实施例提供一种服务器,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的通信连接的建立方法。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的通信连接的建立方法。
第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计所述的通信连接的建立方法。
本领域技术人员能够理解的是,本发明实施例提供一种通信连接的建立方法、洗护设备及服务器,通过在在上电联网后,获取对称密钥以及所述洗护设备对应的设备识别码;生成含有所述设备识别码的身份认证信息,并根据所述对称密钥对所述身份认证信息进行对称加密,得到加密身份认证信息;将加密身份认证信息发送给区块链节点,以使所述区块链节点根据所述加密身份认证信息进行认证,生成身份认证结果,并将所述身份认证结果发送给所述洗护设备;在所述身份认证结果为认证成功时,与所述区块链节点建立通信连接。本实施例通过在生成含有设备识别码的身份认证信息后,利用对称密钥对该身份认证信息进行加密,得到相应的加密身份认证信息,将该加密身份认证信息发送给区块链节点,以使区块链节点根据加密身份认证信息对洗护设备的身份进行认证,由于在利用对称密钥对该身份认证信息进行加密后,才将其发送给区块链节点之前,降低身份认证信息被攻击的风险,从而降低出现身份认证信息泄漏、篡改等问题,提高身份认证的安全性,且是利用去中心化的区块链节点进行身份认证,可以提高身份认证的效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有技术中,在对洗护设备进行身份认证时,一般是洗护设备在上电联网后,生成身份认证信息,并将该身份认证信息发送给服务器,服务器利用该身份认证信息对洗护设备的身份进行认证,生成相应的身份认证结果。但洗护设备在将身份认证信息发送给服务器的过程中,容易受到攻击,导致出现身份认证信息泄漏、篡改等问题,从而造成身份认证的安全性较低。
因此,针对上述问题,本发明的技术构思是洗护设备在上电联网后,生成对称密钥,利用该对称密钥对身份认证信息进行加密,得到加密身份认证信息,该身份认证信息包括保存在洗护设备上的设备公钥和洗护设备对应的设备识别码,并将该加密身份认证信息发送给区块链中的一个节点,由于加密身份认证信息是身份认证信息经过加密后得到的,因此,可以降低身份认证信息在传输过程中被攻击的风险。该节点接收到加密身份认证信息后,对该加密身份认证信息进行解密,以得到身份认证信息,判断区块信息中是否存在该身份认证信息中的设备公钥,若不存在,则认证失败,即确定该洗护设备是不可信的,若存在,则生成随机字符串发送给该洗护设备,该洗护设备对利用该设备公钥对应的设备私钥对该随机字符串进行签名,得到相应的签名消息,并发送给该节点,该节点利用设备公钥对该签名消息进行验签,并确定该身份认证信息中的设备识别码是否正确,当验签成功,且该设备识别码正确时,表明该洗护设备是可信的,则认证成功,否则,则认证失败,在对洗护设备身份进行认证时,通过设备公钥等多种信息进行认证,提高身份认证的安全性,且利用去中心化的区块链进行身份认证,区块链中的多个节点均可进行身份认证,降低节点的压力,保证节点的性能以及可用性,从而提高认证的效率。
下面结合上述附图阐述本发明的通信连接的建立方法和设备的优选技术方案。
图1为本发明实施例提供的通信连接的建立系统的架构示意图,如图1所示,该系统包括洗护设备101和区块链节点102。洗护设备101在上电联网后,生成相应的身份认证信息给区块链节点102,区块链节点102对根据该身份认证信息对该洗护设备102的身份进行认证,以确定是否与该洗护设备建立通信连接。
其中,洗护设备可以为洗衣机、衣服护理机等具有洗涤衣物和/或护理衣物功能的设备。
其中,区块链节点102是区块链中的一个节点,其是指用于存储和验证区块链中产生的数据的终端或服务器。
图2为本发明实施例提供的通信连接的建立方法的流程示意图一,本实施例的执行主体可以为图1所示实施例中的洗护设备,本实施例此处不做特别限制。如图2所示,该方法包括:
S201、在上电联网后,获取对称密钥以及洗护设备对应的设备识别码。
在本实施例中,洗护设备在上电联网后,此时需进行身份认证,则获取对称密钥和该洗护设备对应的设备识别码,以供利用对称密钥和该洗护设备对应的设备识别码进行身份认证。
其中,设备识别码为表征洗护设备的标识码,其具有唯一性,例如,集成电路卡识别码(Integrate circuit card identity,ICCID)。
S202、生成含有设备识别码的身份认证信息,并根据对称密钥对身份认证信息进行对称加密,得到加密身份认证信息。
在本实施例中,基于预设信息格式,生成含有设备识别码的身份认证信息,并基于预设对称加密算法,利用对称密钥对该身份认证信息进行对称加密,以得到加密后的身份认证信息,即得到加密身份认证信息。
S203、将加密身份认证信息发送给区块链节点,以使区块链节点根据加密身份认证信息进行认证,生成身份认证结果,并将身份认证结果发送给洗护设备。
在本实施例中,洗护设备在得到加密身份认证信息后,将该身份认证信息发送给区块链节点,以使区块链节点对该加密身份认证信息进行解密,并根据解密得到的身份认证信息对洗护设备进行身份认证,以确定洗护设备的身份是否可信,并生成相应的身份认证结果。
其中,身份认证结果为认证成功或认证失败。当身份认证结果为认证成功时,表明该洗护设备的身份是可信的,区块链节点可以与该洗护设备建立通信连接以进行通信,即洗护设备可以接入该区块链节点。当身份认证结果为认证失败时,表明该洗护设备的身份是不可信的,即表明该洗护设备的可靠性较低,区块链节点禁止与该洗护设备建立通信连接。
S204、在身份认证结果为认证成功时,与区块链节点建立通信连接。
在本实施例中,区块链节点在生成身份认证结果后,将该身份认证结果发送给洗护设备。洗护设备在接收为认证成功的身份认证结果后,表明其与区块链节点的身份都是可信的,其可以接入区块链节点,则与区块链节点建立通信连接。
在本实施例中,由于对称加密是最快速、最简单的一种加密方式,利用对称密钥对该身份认证信息进行对称加密可以提高加密的效率,快速得到加密身份认证信息,同时也可以使服务器可以快速对该加密身份认证信息进行解密,以利用解密得到的身份认证信息进行身份认证,提高身份认证效率。
从上述描述可知,通过在生成含有设备识别码的身份认证信息后,利用对称密钥对该身份认证信息进行加密,得到相应的加密身份认证信息,将该加密身份认证信息发送给区块链节点,以使区块链节点根据加密身份认证信息对洗护设备的身份进行认证,由于在利用对称密钥对该身份认证信息进行加密后,才将其发送给区块链节点之前,降低身份认证信息被攻击的风险,从而降低出现身份认证信息泄漏、篡改等问题,提高身份认证的安全性,且是利用去中心化的区块链节点进行身份认证,可以提高身份认证的效率。
另外,在得到对称密钥后,还需将该对称密钥发送给区块链节点,以使区块链节点可以根据该对称密钥对洗护设备发送的加密身份认证信息进行解密,下面将结合一个具体实施例对将对称密钥发送给区块链节点的具体实现过程进行描述。
图3为本发明实施例提供的通信连接的建立方法的流程示意图二,本实施例在图2实施例的基础上,对将对称密钥发送给区块链节点的具体实现过程进行了详细说明。如图3所示,该方法包括:
S301、在上电联网后,获取对称密钥以及洗护设备对应的设备识别码。
S302、发送公钥获取请求给区块链节点,其中公钥获取请求用于指示区块链节点将预存的节点公钥发送给洗护设备。
在本实施例中,上电联网后,洗护设备生成一个随机数,并将其作为对称密钥。由于区块链节点需利用该对称秘钥进行解密,因此,需将该对称密钥发送给区块链节点。
为了提高对称密钥传输的安全性,洗护设备在将对称密钥发送到区块链节点之前,对该对称密钥进行加密,则发送公钥获取请求给区块链节点,以向区块链节点请求其所预存的节点公钥,从而利用该节点公钥对该对称密钥进行加密。
另外,在将对称密钥发送到区块链节点之前,可以从区块链对应的所有区块链节点中选取一个区块链节点,以将选取的区块链节点作为接收对称密钥以及进行身份认证的区块链节点。
可选的,在从区块链节点中选取区块链节点时,可以基于轮询算法、随机算法或其它算法进行选取,在此,不对其进行限制。
S303、根据节点公钥对对称密钥进行加密,得到加密对称密钥。
在本实施例中,在得到区块链节点发送的节点公钥后,利用该节点公钥对该对称密钥进行加密,得到加密后的对称密钥,即得到加密对称密钥。
S304、将加密对称密钥发送给区块链节点,以使区块链节点根据预存的节点私钥对加密对称密钥进行解密。
在本实施例中,将加密对称密钥发送给区块链节点,以供区块链节点可以根据其预存的节点私钥对该加密对称密钥获进行解密,得到相应的对称密钥,实现对称密钥的获取。
其中,区块链节点预存的节点私钥和节点公钥是一对密钥,在使用该节点公钥对信息进行加密后,使用该节点私钥可以对加密后的信息进行解密,以得到该信息。
S305、生成含有设备识别码的身份认证信息,并根据对称密钥对身份认证信息进行对称加密,得到加密身份认证信息。
S306、将加密身份认证信息发送给区块链节点,以使区块链节点根据加密身份认证信息进行认证,生成身份认证结果,并将身份认证结果发送给洗护设备。
S307、在身份认证结果为认证成功时,与区块链节点建立通信连接。
其中,本实施例中步骤S305-S307的实现方式与图2实施例中步骤S202-S204的实现方式类似,在此,不再对其进行赘述。
在本实施例中,在进行身份认证时,区块链中的节点均可以进行身份认证,而不是利用中心化的服务器进行集中式认证,可以避免由于利用中心化的服务器进行集中式认证导致的服务器的性能较低以及可用性较低,保证节点的性能及可用性,从而可以提高认证的效率。
在本实施例中,洗护设备在将对称密钥发送给区块链节点之前,先利用节点公钥对该对称密钥进行加密,然后将加密后的对称密钥发送给区块链节点,以避免在将称密钥发送给区块链节点的过程中,出现对称密钥泄漏、篡改等问题,保证对称密钥传输的安全性。
图4为本发明实施例提供的通信连接的建立方法的流程图三,本实施例的方法中的执行主体可以为图1中的区块链节点。如图4所示,本实施例的方法,可以包括:
S401、获取洗护设备发送的加密身份认证信息。
在本实施例中,区块链节点接收洗护设备发送的加密身份认证信息以根据该加密身份认证信息确定洗护设备是否可信。
S402、获取对称密钥,并根据对称密钥对加密身份认证信息进行解密,得到身份认证信息。
在本实施例中,获取对称密钥,该对称密钥为洗护设备对身份认证信息进行对称加密所使用的密钥。利用该对称密钥可以对该加密身份认证信息进行解密,即可以对进行对称加密后的身份认证信息进行解密,得到相应的身份认证信息。
在本实施例中,由于对称密钥一般很小,因此,利用对称密钥可以快速对进行对称加密后的身份认证信息进行解密,以得到洗护设备对应的身份认证信息,从而实现身份认证信息的快速获取。
S403、对身份认证信息中的设备识别码进行认证,生成身份认证结果,并将身份认证结果发送给洗护设备,以使洗护设备在身份认证结果为认证成功时,与区块链节点建立通信连接。
在本实施例中,区块链节点在得到洗护设备对应的身份认证信息后,对身份认证信息中的设备识别码进行认证,即对洗护设备的身份进行认证,生成身份认证结果,该身份认证结果表明该洗护设备的身份是否可信,并将身份认证结果发送给该洗护设备,以使洗护设备在确定身份认证结果为认证成功时,表明其可以接入区块链节点,则与区块链节点建立通信连接以进行通信。
在本实施例中,在对洗护设备的身份进行认证时,区块链上的任一区块链节点均可以对其进行认证,可以提高节点的性能和可用性,从而提高认证的效率,不会出现由于使用中心化的服务器进行认证导致的服务器性能低以及可用性低的问题。
从上述描述可知,区块链节点在获取到洗护设备发送的加密身份认证信息,即经过对称加密后的身份认证信息后,利用对称密钥对其进行解密以得到身份认证信息,由于区块链节点接收到的身份认证信息是经过加密的,可以降低身份认证信息在传输过程中被攻击的风险,从而降低出现身份认证信息泄漏、篡改等问题,提高身份认证的安全性,且是利用去中心化的区块链节点进行身份认证,可以提高身份认证的效率。
可选的,身份认证信息还包括设备公钥,区块链在对身份认证信息中的设备识别码进行认证之前,还可以利用身份认证信息中的设备公钥对洗护设备的身份进行认证,下面结合一个具体的实施例对利用身份认证信息中的设备公钥对洗护设备的身份进行认证的过程进行详细描述。
图5为本发明实施例提供的通信连接的建立方法的流程图四,本实施例在图4实施例的基础上,对调制解调器处理目标网络模式所对应的业务的过程的具体实现过程进行了详细说明。如图5所示,该方法包括:
S501、获取洗护设备发送的加密身份认证信息。
其中,本实施例中步骤S501的实现方式与图4实施例中步骤S401的实现方式类似,在此,不再对其进行赘述。
S502、获取对称密钥,并根据对称密钥对加密身份认证信息进行解密,得到身份认证信息。
在本实施例中,由于对称密钥是洗护设备在上电联网后生成的,并不是区块链节点生成的,因此,区块链节点需从洗护设备中获取对称密钥。且为了提高对称密钥传输的安全性,可以获取洗护设备发送的公钥获取请求,根据公钥获取请求,将预存的节点公钥发送给洗护设备,即区块链节点在接收洗护设备发送的公钥获取请求后,将预存的节点公钥发送给洗护设备,以供洗护设备对对称密钥进行加密,得到加密对称密钥,并将该加密对称密钥发送给该区块链节点。
区块链节点获取洗护设备发送的加密对称密钥,并根据预存的节点私钥对加密对称密钥进行解密,得到对称密钥,即区块链节点在接收到洗护设备发送的加密对称密钥后,通过该节点公钥对应的节点私钥对该加密对称密钥进行解密,以得到对称密钥,实现对称密钥的获取。
其中,节点公钥和节点私钥都可以预存在区块链节点的区块信息中,以供区块链节点在需要时,从区块信息中获取该节点公钥或该节点私钥。
S503、获取区块信息,并判断区块信息中是否存在与设备公钥相同的目标设备公钥。
在本实施例中,区块链节点对应的区块信息包括区块头信息和区块体信息,区块头信息包括上一区块的哈希值、本区块的哈希值以及时间戳等信息。区块体信息包括所有可信的洗护设备的设备识别码及各设备识别码对应的公钥,即各洗护设备对应的公钥。
其中,洗护设备对应的公钥为保存在洗护设备上的公钥,其是洗护设备出厂时生成的。
在本实施例中,在解密得到洗护设备对应的身份认证信息后,提取该身份认证信息中的设备公钥,该设备公钥为该洗护设备所保存的公钥。判断该区块信息中是否存在该洗护设备所保存的公钥,即从区块信息中查找是否存在与该设备公钥相同的公钥,若存在,则将与该设备公钥相同的公钥作为目标设备公钥,若不存在,表明区块信息未存有该洗护设备对应的公钥,该洗护设备是不可信,则确定身份认证结果为认证失败。
另外,在从区块信息中查找是否存在与该设备公钥相同的公钥时,实际上是从区块信息中的区块体信息中查找。由于区块链中的各个节点都保存有同一份数据,因此,各区块链节点中区块信息中的区块体信息是相同的,从而可以从区块链任一节点对应的区块体信息中查找。
S504、在确定存在与设备公钥相同的目标设备公钥时,对身份认证信息中的设备识别码进行认证。
在本实施例中,在确定区块信息中存在与设备公钥相同的目标设备公钥时,表明区块信息中存有洗护设备对应的公钥,需对该洗护设备进行进一步认证,以确定该洗护设备是否可信,则对身份认证信息中的设备识别码进行认证。
可选的,在确定存在与设备公钥相同的目标设备公钥时,对身份认证信息中的设备识别码进行认证,包括:
在确定存在与设备公钥相同的目标设备公钥时,生成随机字符串,并将随机字符串发送给洗护设备,以使洗护设备根据预存的设备私钥对随机字符串进行签名,得到签名消息,并将其发送给区块链节点。根据目标设备公钥对签名消息进行解密。在确定解密后的签名消息和随机字符串相同时,对身份认证信息中的设备识别码进行认证。
在本实施例中,区块链节点在确定区块信息存在目标设备公钥时,生成随机字符串,并将该随机字符串发送给洗护设备,洗护设备在接收到该随机字符串后,根据其预存的设备私钥对该随机字符串进行签名,得到签名消息,并将该签名消息发送给区块链节点。
区块链节点在接收到该签名消息后,利用目标设备公钥,即利用该设备私钥对应的公钥对该签名消息进行解密,并判断解密后的签名消息和随机字符串是否相同以确定洗护设备中的设备私钥是否是正确的。
其中,设备私钥和设备公钥,、洗护设备及服务器私钥对应的公钥是一对密钥,其是在洗护设备出厂时生成的,设备私钥仅刻录在洗护设备上,设备公钥可以保存在多个地方,例如,区块信息中,洗护设备上。利用设备私钥对信息进行加密后,即进行签名后,使用该设备私钥对应的设备公钥可以对签名后的信息进行验签,以确定该设备私钥是否是正确的,从而确定洗护设备的身份。
当解密后的签名消息和随机字符串相同时,表明洗护设备中的设备私钥是目标设备公钥所对应的私钥,该洗护设备中的设备私钥是正确的,需对该洗护设备进行进一步认证,以确定该洗护设备是否可信,则对身份认证信息中的设备识别码进行认证。
当解密后的签名消息和随机字符串不同时,表明洗护设备中的设备私钥不是目标设备公钥所对应的私钥,该洗护设备中的设备私钥是错误的,由于可信的洗护设备中的设备私钥和该目标设备公钥是对应的,因此,可以确定该洗护设备的身份是不可信的,则确定身份认证结果为认证失败。
另外,为了保证数据传输的安全性,洗护设备在将签名消息发送给区块链节点时,也可以利用对称密钥对其进行加密后,再发送给区块链节点。
可选的,对身份认证信息中的设备识别码进行认证,生成身份认证结果,包括:
从区块信息中获取目标设备公钥对应的目标设备识别码。
在确定目标设备识别码和设备识别码相同时,确定身份认证结果为认证成功。
在本实施例中,从区块信息中获取目标设备公钥对应的目标设备识别码,判断该目标设备识别码和身份认证信息中的设备识别码是否相同,当两者相同时,表明该设备识别码是可信的洗护设备所对应的设备识别码,则确定该洗护设备是可信的,生成的身份认证结果为认证成功。
当两者不相同时,表明该设备识别码不属于可信的洗护设备所对应的设备识别码,则确定该洗护设备是不可信的,生成的身份认证结果为认证失败。
S505、将身份认证结果发送给洗护设备,以使洗护设备在身份认证结果为认证成功时,与区块链节点建立通信连接。
其中,本实施例中步骤S505的实现方式与图4实施例中步骤S403的实现方式类似,在此,不再对其进行赘述。
在本实施例中,在对洗护设备进行身份认证时,进行多层认证,例如,利用设备公钥进行认证、利用设备私钥进行认证等,提高身份认证的安全性。
在本实施例中,当身份认证结果为认证成功时,表明该洗护设备的身份是可信的,即表明洗护设备是可信的。同时由于洗护设备可接入的区块链节点才存有对洗护设备进行身份认证所需的信息,例如,洗护设备对应的设备识别码,即才能确定洗护设备的身份是可信的,因此,当身份认证结果为认证成功时,也表明区块链节点是洗护设备可接入的区块链节点,即该区块链节点的身份是可信的,从而实现洗护设备和区块链节点身份的双向认证,且只有在身份认证结果为认证成功时,即只有在双方身份均是可信时,双方才可以建立通信连接,保证通信的安全性。
图6为本发明实施例提供的通信连接的建立方法的交互流程图。如图6所示,本实施例的方法,可以包括:
S601、洗护设备在上电联网后,获取对称密钥以及洗护设备对应的设备识别码。
S602、洗护设备生成含有设备识别码的身份认证信息,并根据对称密钥对身份认证信息进行对称加密,得到加密身份认证信息。
S603、洗护设备将加密身份认证信息发送给区块链节点。
S604、区块链节点获取洗护设备发送的加密身份认证信息。
S605、区块链节点获取对称密钥,并根据对称密钥对加密身份认证信息进行解密,得到身份认证信息。
S606、区块链节点对身份认证信息中的设备识别码进行认证,生成身份认证结果,并将身份认证结果发送给洗护设备。
S607、洗护设备在身份认证结果为认证成功时,与区块链节点建立通信连接。
在本实施例中,洗护设备在上电联网后,生成含有设备识别码的身份认证信息,利用对称密钥对该身份认证信息进行对称加密,并将加密后的身份认证信息发送给区块链节点,由于发送给区块链节点的身份认证信息是经过加密的,因此,可以在将身份认证信息发送给区块链节点过程中,降低身份认证信息被攻击的风险,从而降低出现身份认证信息泄漏、篡改、删除等问题的风险。
在本实施例中,区块链节点在接收到洗护设备发送的加密身份认证信息后,利用对称密钥对该加密身份认证信息进行解密,得到解密后的加密身份认证信息,即得到身份认证信息,根据该身份认证信息对洗护设备的身份进行认证,当认证成功时,即生成的身份认证结果为认证成功时,表明该洗护设备的身份是可信的,则将身份认证结果返回给洗护设备,洗护设备在确定身份认证结果为认证成功时,确定该区块链节点的身份也是可信的,则与该区块链节点成功建立通信连接,以进行后续通信,保证洗护设备联网的安全性。
图7为本发明实施例提供的通信连接的建立设备的结构示意图一,通信连接的建立设备应用于洗护设备,如图7所示,该通信连接的建立设备700可以包括:第一处理模块7011和第一收发模块702。
第一处理模块701,用于在上电联网后,获取对称密钥以及洗护设备对应的设备识别码;
第一处理模块701,还用于生成含有设备识别码的身份认证信息,并根据对称密钥对身份认证信息进行对称加密,得到加密身份认证信息;
第一收发模块702,用于将加密身份认证信息发送给区块链节点,以使区块链节点根据加密身份认证信息进行认证,生成身份认证结果,并将身份认证结果发送给洗护设备;
第一处理模块701,还用于在身份认证结果为认证成功时,与区块链节点建立通信连接。
在一种可能的设计中,第一收发模块702,还用于在将加密身份认证信息发送给区块链节点之前,发送公钥获取请求给区块链节点,其中公钥获取请求用于指示区块链节点将预存的节点公钥发送给洗护设备;
第一收发模块702,还用于根据节点公钥对对称密钥进行加密,得到加密对称密钥;
第一收发模块702,还用于将加密对称密钥发送给区块链节点,以使区块链节点根据预存的节点私钥对加密对称密钥进行解密。
在一种可能的设计中,设备识别码包括集成电路卡识别码。
本实施例中各个模块的详细功能描述请参考有关该方法的实施例中的描述,此处不做详细阐述说明。
图8为本发明实施例提供的通信连接的建立设备的结构示意图二,通信连接的建立设备应用于洗护设备,如图8所示,该通信连接的建立设备800可以包括:第二收发模块801和第二收发模块801。
其中,第二收发模块801,用于获取洗护设备发送的加密身份认证信息;
第二处理模块802,用于获取对称密钥,并根据对称密钥对加密身份认证信息进行解密,得到身份认证信息;
第二收发模块801,还用于对身份认证信息中的设备识别码进行认证,生成身份认证结果,并将身份认证结果发送给洗护设备,以使洗护设备在身份认证结果为认证成功时,与区块链节点建立通信连接。
在一种可能的设计中,身份认证信息还包括设备公钥;
第二收发模块801,还用于获取区块信息,并判断区块信息中是否存在与设备公钥相同的目标设备公钥;
第二收发模块801,还用于在确定存在与设备公钥相同的目标设备公钥时,对身份认证信息中的设备识别码进行认证。
在一种可能的设计中,第二收发模块801,还用于在确定存在与设备公钥相同的目标设备公钥时,生成随机字符串,并将随机字符串发送给洗护设备,以使洗护设备根据预存的设备私钥对随机字符串进行签名,得到签名消息,并将其发送给区块链节点;
第二收发模块801,还用于根据目标设备公钥对签名消息进行解密;
第二收发模块801,还用于在确定解密后的签名消息和随机字符串相同时,对身份认证信息中的设备识别码进行认证。
在一种可能的设计中,第二收发模块801,还用于从区块信息中获取目标设备公钥对应的目标设备识别码;
第二收发模块801,还用于在确定目标设备识别码和设备识别码相同时,确定身份认证结果为认证成功。
在一种可能的设计中,第二处理模块802,还用于在获取对称密钥之前,获取洗护设备发送的公钥获取请求,并根据公钥获取请求,将预存的节点公钥发送给洗护设备;
第二处理模块802,还用于获取洗护设备发送的加密对称密钥,并根据预存的节点私钥对加密对称密钥进行解密,得到对称密钥。
本实施例中各个模块的详细功能描述请参考有关该方法的实施例中的描述,此处不做详细阐述说明。
图9为本发明又一实施例提供的洗护设备的硬件结构示意图。如图9所示,本实施例提供的洗护设备90包括:至少一个处理器901和存储器902。该服务器90还包括通信部件903。其中,处理器901、存储器902以及通信部件903通过总线904连接。
在具体实现过程中,至少一个处理器901执行所述存储器902存储的计算机执行指令,使得至少一个处理器901执行如上述洗护设备所执行的通信连接的建立方法。
该通信部件903可以实现洗护设备和服务器之间的通信。
处理器901的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图9所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
图10为本发明又一实施例提供的服务器的硬件结构示意图。如图10所示,本实施例提供的服务器100包括:至少一个处理器1001和存储器1002。该服务器100还包括通信部件1003。其中,处理器1001、存储器1002以及通信部件1003通过总线1004连接。
在具体实现过程中,至少一个处理器1001执行所述存储器1002存储的计算机执行指令,使得至少一个处理器1001执行如上区块链节点所执行的通信连接的建立方法。
该通信部件1003可以实现洗护设备和服务器之间的通信。
处理器1001的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图10所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请的另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例中的通信连接的建立方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。