通信认证方法、系统、电子设备、服务器及存储介质
技术领域
本申请涉及通信安全技术领域,特别涉及一种通信认证方法、系统、电子设备、服务器及存储介质。
背景技术
在物联网系统中,电子设备与服务器建立通信连接,进行通信双方的身份认证,在身份认证通过之后,才进行业务数据的传输,以保证数据传输的安全性。
相关技术中,以服务器对电子设备进行身份认证为例,电子设备对自身的身份信息进行加密,向服务器传输加密后的身份信息;服务器对加密后的身份信息进行解密,得到电子设备的身份信息;比对解密得到的身份信息与服务器存储的该电子设备的身份信息,进行电子设备的身份认证。
虽然电子设备的身份信息在加密之后进行传输,但在传输过程中,其他设备可能会截获该加密后的身份信息,对该加密后的身份信息进行破解,得到该电子设备的身份信息,基于该身份信息进行恶意通信,从而上述基于加密后的身份信息的传输进行身份认证的过程,安全性较弱。
发明内容
本申请实施例提供了一种通信认证方法、系统、电子设备、服务器及存储介质,能够提高通信双方通信的安全性。所述技术方案如下:
根据本申请实施例的一方面,提供了一种通信认证方法,所述方法包括:
根据电子设备的第一设备验证信息,生成第一秘钥,所述第一设备验证信息用于表示所述电子设备的合法性;
接收服务器的加密服务公钥,基于所述第一秘钥,对所述加密服务公钥进行解密,得到所述服务器的服务公钥;
获取所述电子设备的设备私钥,根据所述设备私钥和所述服务公钥,生成所述电子设备的第一认证秘钥;
基于所述第一认证秘钥,对所述服务器进行通信认证。
在一种可能的实现方式中,所述根据电子设备的第一设备验证信息,生成第一秘钥,包括:
获取所述电子设备存储的第一设备验证信息;
对所述第一设备验证信息进行混淆加密处理,生成所述第一秘钥。
在另一种可能的实现方式中,所述方法还包括:
获取所述电子设备的设备公钥;
所述根据电子设备的第一设备验证信息,生成第一秘钥之后,所述方法还包括:
基于所述第一秘钥,对所述设备公钥进行加密,得到加密设备公钥;
向服务器传输所述电子设备的设备标识和所述加密设备公钥。
在另一种可能的实现方式中,所述基于所述第一认证秘钥,对所述服务器进行通信认证,包括:
基于所述第一认证秘钥,生成所述电子设备的设备标识的第一数字摘要;
接收所述服务器的第二数字摘要,所述第二数字摘要基于所述服务器的第二认证秘钥和所述设备标识生成;
比对所述第一数字摘要和所述第二数字摘要,得到对所述服务器的通信认证结果。
在另一种可能的实现方式中,所述基于所述第一认证秘钥,生成所述电子设备的设备标识的第一数字摘要之后,所述方法还包括:
向所述服务器传输所述第一数字摘要;
接收所述服务器的加密会话秘钥,所述加密会话秘钥用于表示所述服务器基于所述第一数字摘要对所述电子设备认证通过;
所述比对所述第一数字摘要和所述第二数字摘要,得到对所述服务器的通信认证结果之后,所述方法还包括:
响应于所述通信认证结果为认证通过,基于所述第一认证秘钥,对所述加密会话秘钥进行解密,得到会话秘钥;
基于所述会话秘钥,与所述服务器进行通信。
在另一种可能的实现方式中,所述基于所述第一认证秘钥,对所述服务器进行通信认证,包括:
生成电子设备的第一随机验证信息,基于所述第一认证秘钥,对所述第一随机验证信息进行加密,得到第一认证信息;
向所述服务器传输所述第一认证信息;
接收服务器的第二认证信息,基于所述第一认证秘钥,对所述第二认证信息进行解密,得到解密认证信息,所述第二认证信息基于对所述第一认证信息解密得到的随机验证信息生成;
所述解密认证信息包括所述第一随机验证信息对应的第二随机验证信息,比对所述第一随机验证信息和所述第二随机验证信息,得到对所述服务器的通信认证结果。
在另一种可能的实现方式中,所述解密认证信息还包括第三随机验证信息;
所述比对所述第一随机验证信息和所述第二随机验证信息,得到对所述服务器的通信认证结果之后,所述方法还包括:
基于所述第一认证秘钥,对所述第三随机验证信息进行加密,得到第三认证信息;
向服务器传输所述第三认证信息。
根据本申请实施例的另一方面,提供了一种通信认证方法,所述方法包括:
接收电子设备的设备标识和加密设备公钥;
从已存储的设备验证信息中,获取所述设备标识对应的第二设备验证信息;
根据所述第二设备验证信息,生成第二秘钥;
基于所述第二秘钥,对所述加密设备公钥进行解密,得到所述电子设备的设备公钥;
获取服务器的服务私钥,根据所述服务私钥和所述设备公钥,生成所述服务器的第二认证秘钥;
基于所述第二认证秘钥,对所述电子设备进行通信认证。
在一种可能的实现方式中,所述方法还包括:
获取所述服务器的服务公钥;
所述根据所述设备标识和所述第二设备验证信息,生成第二秘钥之后,所述方法还包括:
基于所述第二秘钥,对所述服务公钥进行加密,得到加密服务公钥;
向所述电子设备传输所述加密服务公钥。
在另一种可能的实现方式中,所述基于所述第二认证秘钥,对所述电子设备进行通信认证,包括:
接收所述电子设备的第一数字摘要,所述第一数字摘要基于所述电子设备的第一认证秘钥和所述设备标识生成;
基于所述第二认证秘钥,生成所述设备标识的第二数字摘要;
比对所述第一数字摘要和所述第二数字摘要,得到对所述电子设备的通信认证结果。
在另一种可能的实现方式中,所述比对所述第一数字摘要和所述第二数字摘要,得到对所述电子设备的通信认证结果之后,所述方法还包括:
响应于所述通信认证结果为认证通过,为所述电子设备生成会话秘钥;
基于所述第二认证秘钥,对所述会话秘钥进行加密,得到加密会话秘钥;
向所述电子设备传输所述第二数字摘要和所述加密会话秘钥。
在另一种可能的实现方式中,所述向所述电子设备传输所述第二数字摘要和所述加密会话秘钥之后,所述方法还包括:
接收所述电子设备的第一数字摘要;
响应于所述第一数字摘要和所述第二数字摘要一致,确定通信认证完成;
基于所述会话秘钥,与所述电子设备进行通信。
在另一种可能的实现方式中,所述基于所述第二认证秘钥,对所述电子设备进行通信认证,包括:
生成所述服务器的第四随机验证信息;
基于所述第二认证秘钥,对所述第四随机验证信息进行加密,得到第二认证信息,向所述电子设备传输所述第二认证信息;
接收所述电子设备的第三认证信息,基于所述第二认证秘钥,对所述第三认证信息进行解密,得到第五随机验证信息,所述第三认证信息基于对所述第二认证信息解密得到的所述服务器的随机验证信息生成;
比对所述第四随机验证信息和所述第五随机验证信息,得到对所述电子设备的通信认证结果。
在另一种可能的实现方式中,所述基于所述第二认证秘钥,对所述第四随机验证信息进行加密,得到第二认证信息之前,所述方法还包括:
接收电子设备的第一认证信息,所述第一认证信息基于所述电子设备的第一随机验证信息生成;
基于所述第二认证秘钥,对所述第一认证信息进行解密,得到所述电子设备的第六随机验证信息;
所述基于所述第二认证秘钥,对所述第四随机验证信息进行加密,得到第二认证信息,包括:
基于所述第二认证秘钥,对所述第四随机验证信息和所述第六随机验证信息进行加密,得到第二认证信息。
根据本申请实施例的另一方面,提供了一种通信认证系统,所述通信认证系统包括电子设备和服务器;
所述电子设备,用于根据电子设备的第一设备验证信息,生成第一秘钥,所述第一设备验证信息用于表示所述电子设备的合法性;
所述服务器,用于接收电子设备的设备标识和加密设备公钥;从已存储的设备验证信息中,获取所述设备标识对应的第二设备验证信息;根据所述第二设备验证信息,生成第二秘钥;基于所述第二秘钥,对所述加密设备公钥进行解密,得到所述电子设备的设备公钥;获取服务器的服务私钥,根据所述服务私钥和所述设备公钥,生成所述服务器的第二认证秘钥;基于所述第二认证秘钥,对所述电子设备进行通信认证。
所述电子设备,用于接收服务器的加密服务公钥,基于所述第一秘钥,对所述加密服务公钥进行解密,得到所述服务器的服务公钥;获取所述电子设备的设备私钥,根据所述设备私钥和所述服务公钥,生成所述电子设备的第一认证秘钥;基于所述第一认证秘钥,对所述服务器进行通信认证。
根据本申请实施例的另一方面,提供了一种通信认证装置,所述装置包括:
第一秘钥生成模块,用于根据电子设备的第一设备验证信息,生成第一秘钥,所述第一设备验证信息用于表示所述电子设备的合法性;
第一接收模块,用于接收服务器的加密服务公钥;
第一解密模块,用于基于所述第一秘钥,对所述加密服务公钥进行解密,得到所述服务器的服务公钥;
第一获取模块,用于获取所述电子设备的设备私钥;
第二秘钥生成模块,用于根据所述设备私钥和所述服务公钥,生成所述电子设备的第一认证秘钥;
第一通信认证模块,用于基于所述第一认证秘钥,对所述服务器进行通信认证。
在一种可能的实现方式中,所述第一秘钥生成模块,用于获取所述电子设备存储的第一设备验证信息;对所述第一设备验证信息进行混淆加密处理,生成所述第一秘钥。
在另一种可能的实现方式中,所述装置还包括:
所述第一获取模块,还用于获取所述电子设备的设备公钥;
第一加密模块,用于基于所述第一秘钥,对所述设备公钥进行加密,得到加密设备公钥;
第一传输模块,用于向服务器传输所述电子设备的设备标识和所述加密设备公钥。
在另一种可能的实现方式中,所述第一通信认证模块,用于:
基于所述第一认证秘钥,生成所述电子设备的设备标识的第一数字摘要;
接收所述服务器的第二数字摘要,所述第二数字摘要基于所述服务器的第二认证秘钥和所述设备标识生成;
比对所述第一数字摘要和所述第二数字摘要,得到对所述服务器的通信认证结果。
在另一种可能的实现方式中,所述装置还包括:
第二传输模块,用于向所述服务器传输所述第一数字摘要;
所述第一接收模块,还用于接收所述服务器的加密会话秘钥,所述加密会话秘钥用于表示所述服务器基于所述第一数字摘要对所述电子设备认证通过;
所述第一解密模块,还用于响应于所述通信认证结果为认证通过,基于所述第一认证秘钥,对所述加密会话秘钥进行解密,得到会话秘钥;
第一通信模块,用于基于所述会话秘钥,与所述服务器进行通信。
在另一种可能的实现方式中,所述第一通信认证模块,用于:
生成电子设备的第一随机验证信息,基于所述第一认证秘钥,对所述第一随机验证信息进行加密,得到第一认证信息;
向所述服务器传输所述第一认证信息;
接收服务器的第二认证信息,基于所述第一认证秘钥,对所述第二认证信息进行解密,得到解密认证信息,所述第二认证信息基于对所述第一认证信息解密得到的随机验证信息生成;
所述解密认证信息包括所述第一随机验证信息对应的第二随机验证信息,比对所述第一随机验证信息和所述第二随机验证信息,得到对所述服务器的通信认证结果。
在另一种可能的实现方式中,所述解密认证信息还包括第三随机验证信息;所述装置还包括:
第二加密模块,用于基于所述第一认证秘钥,对所述第三随机验证信息进行加密,得到第三认证信息;
第三传输模块,用于向服务器传输所述第三认证信息。
根据本申请实施例的另一方面,提供了一种通信认证装置,所述装置包括:
第二接收模块,用于接收电子设备的设备标识和加密设备公钥;
第二获取模块,用于从已存储的设备验证信息中,获取所述设备标识对应的第二设备验证信息;
第三秘钥生成模块,用于根据所述第二设备验证信息,生成第二秘钥;
第二解密模块,用于基于所述第二秘钥,对所述加密设备公钥进行解密,得到所述电子设备的设备公钥;
第三获取模块,用于获取服务器的服务私钥;
所述第三秘钥生成模块,还用于根据所述服务私钥和所述设备公钥,生成所述服务器的第二认证秘钥;
第二通信认证模块,用于基于所述第二认证秘钥,对所述电子设备进行通信认证。
在一种可能的实现方式中,所述装置还包括:
所述第三获取模块,还用于获取所述服务器的服务公钥;
第三加密模块,用于基于所述第二秘钥,对所述服务公钥进行加密,得到加密服务公钥;
第四传输模块,用于向所述电子设备传输所述加密服务公钥。
在另一种可能的实现方式中,所述第二通信认证模块,用于:
接收所述电子设备的第一数字摘要,所述第一数字摘要基于所述电子设备的第一认证秘钥和所述设备标识生成;
基于所述第二认证秘钥,生成所述设备标识的第二数字摘要;
比对所述第一数字摘要和所述第二数字摘要,得到对所述电子设备的通信认证结果。
在另一种可能的实现方式中,所述装置还包括:
会话秘钥生成模块,用于响应于所述通信认证结果为认证通过,为所述电子设备生成会话秘钥;
第四加密模块,用于基于所述第二认证秘钥,对所述会话秘钥进行加密,得到加密会话秘钥;
第五传输模块,用于向所述电子设备传输所述第二数字摘要和所述加密会话秘钥。
在另一种可能的实现方式中,所述装置还包括:
所述第二接收模块,用于接收所述电子设备的第一数字摘要;
确定模块,用于响应于所述第一数字摘要和所述第二数字摘要一致,确定通信认证完成;
第二通信模块,用于基于所述会话秘钥,与所述电子设备进行通信。
在另一种可能的实现方式中,所述第二通信认证模块,包括:
随机验证信息生成子模块,用于生成所述服务器的第四随机验证信息;
加密子模块,用于基于所述第二认证秘钥,对所述第四随机验证信息进行加密,得到第二认证信息;
传输子模块,用于向所述电子设备传输所述第二认证信息;
接收子模块,用于接收所述电子设备的第三认证信息;
解密子模块,用于基于所述第二认证秘钥,对所述第三认证信息进行解密,得到第五随机验证信息,所述第三认证信息基于对所述第二认证信息解密得到的所述服务器的随机验证信息生成;
认证子模块,用于比对所述第四随机验证信息和所述第五随机验证信息,得到对所述电子设备的通信认证结果。
在另一种可能的实现方式中,所述装置还包括:
所述第二接收模块,还用于接收电子设备的第一认证信息,所述第一认证信息基于所述电子设备的第一随机验证信息生成;
第三解密模块,用于基于所述第二认证秘钥,对所述第一认证信息进行解密,得到所述电子设备的第六随机验证信息;
所述加密子模块,用于基于所述第二认证秘钥,对所述第四随机验证信息和所述第六随机验证信息进行加密,得到第二认证信息。
根据本申请实施例的另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一可能实现方式所述的通信认证方法。
根据本申请实施例的另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一可能实现方式所述的通信认证方法。
根据本申请实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一可能实现方式所述的通信认证方法。
根据本申请实施例的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,电子设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该电子设备执行上述任一可能实现方式所述的通信认证方法。
本申请实施例提供的技术方案,将电子设备预存的设备验证信息转换为秘钥,基于该秘钥,解密对端传输的加密公钥,从而使得设备验证信息不需要扩散到电子设备的外部,也能够融合到通信认证的过程中,进而基于本端的私钥和解密得到的对端的公钥,生成认证秘钥,与对端完成认证秘钥的协商,基于该认证秘钥,进行通信认证,从而基于设备验证信息的转换、秘钥的加解密与认证秘钥的协商机制,在保证设备验证信息安全性的基础上,通过增大通信认证过程中信息加解密的复杂度,提高了通信认证过程中所传输的信息的破解难度,进而提高了通信认证的可靠性,基于上述通信认证过程,能够提高通信双方通信的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种通信认证方法的流程图;
图3是本申请实施例提供的一种通信认证方法的流程图;
图4是本申请实施例提供的一种通信认证方法的交互流程图;
图5是本申请实施例提供的一种通信认证方法的交互流程图;
图6是本申请实施例提供的一种通信认证装置的框图;
图7是本申请实施例提供的一种通信认证装置的框图;
图8是本申请实施例提供的一种电子设备的框图;
图9是本申请实施例提供的一种服务器的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任意变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
图1是本申请实施例提供的一种实施环境的示意图。参见图1,该实施环境中包括电子设备101和服务器102。
可选地,电子设备101为物联网设备、手机、平板电脑和电脑中的至少一种。其中,物联网设备包括智能安防设备、智能家居设备、智能影音设备、智能中控设备、可穿戴设备和健康监测设备等。例如,智能安防设备为智能门锁、智能摄像机或者环境监测报警设备;智能家居设备为智能窗帘机、智能照明开关、智能插座或者暖通控制设备;可穿戴设备为智能手表或者智能手环;健康监测设备为智能体重秤或者智能血压计。
服务器102为电子设备101提供后台服务,可选地,服务器102为一台服务器、多台服务器、云服务器、云计算平台和虚拟化中心中的至少一种。电子设备101与服务器102能够通过无线网络建立通信连接,进行通信双方的身份认证;在身份认证通过之后,进行业务数据的传输,以在保证业务数据的安全传输的基础上,实现智能化的感知、控制和管理。
图2是本申请实施例提供的一种通信认证方法的流程图。参见图2,该通信认证方法应用于电子设备,该通信认证方法包括:
201、根据电子设备的第一设备验证信息,生成第一秘钥,该第一设备验证信息用于表示电子设备的合法性。
202、接收服务器的加密服务公钥,基于第一秘钥,对加密服务公钥进行解密,得到服务器的服务公钥。
203、获取电子设备的设备私钥,根据设备私钥和服务公钥,生成电子设备的第一认证秘钥。
204、基于第一认证秘钥,对服务器进行通信认证。
本申请实施例提供的技术方案,将电子设备预存的设备验证信息转换为秘钥,基于该秘钥,解密对端传输的加密公钥,从而使得设备验证信息不需要扩散到电子设备的外部,也能够融合到通信认证的过程中,进而基于本端的私钥和解密得到的对端的公钥,生成认证秘钥,与对端完成认证秘钥的协商,基于该认证秘钥,进行通信认证,从而基于设备验证信息的转换、秘钥的加解密与认证秘钥的协商机制,在保证设备验证信息安全性的基础上,通过增大通信认证过程中信息加解密的复杂度,提高了通信认证过程中所传输的信息的破解难度,进而提高了通信认证的可靠性,基于上述通信认证过程,能够提高通信双方通信的安全性。
图3是本申请实施例提供的一种通信认证方法的流程图。参见图3,该通信认证方法应用于服务器,该通信认证方法包括:
301、接收电子设备的设备标识和加密设备公钥。
302、从已存储的设备验证信息中,获取设备标识对应的第二设备验证信息。
303、根据设备标识和第二设备验证信息,生成第二秘钥。
304、基于第二秘钥,对加密设备公钥进行解密,得到电子设备的设备公钥。
305、获取服务器的服务私钥,根据服务私钥和设备公钥,生成服务器的第二认证秘钥。
306、基于第二认证秘钥,对电子设备进行通信认证。
需要说明的一点是,通信认证系统包括电子设备和服务器。上述通信认证系统中的电子设备通过步骤201至步骤204对服务器进行通信认证,上述通信认证系统中的服务器通过上述步骤301至步骤306对电子设备进行通信认证。若电子设备和服务器均为合法设备,则双方通过信息的加解密能够完成认证秘钥的协商;若电子设备和服务器中的任一设备不是合法设备,则不是合法设备的一方不能正确的进行信息的加解密,双方不能完成认证秘钥的协商,从而保证通信认证过程的安全性。
本申请实施例提供的技术方案,从本地存储的设备验证信息中,获取所接收到的电子设备的设备标识对应的设备验证信息,即可基于该设备验证信息转换为的秘钥,对电子设备的加密设备公钥进行解密,从而设备验证信息不进行网络传输,也能够通过转换为秘钥,融合到通信认证过程中;进而基于本端的私钥和解密得到的设备公钥,生成认证秘钥,与对端完成认证秘钥的协商;基于该认证秘钥,进行通信认证,从而基于设备验证信息的转换、秘钥的加解密与认证秘钥的协商机制,在保证设备验证信息安全性的基础上,通过增大通信认证过程中信息加解密的复杂度,提高了通信认证过程中所传输的信息的破解难度,进而提高了通信认证的可靠性,基于上述通信认证过程,能够提高通信双方通信的安全性。
图4是本申请实施例提供的一种通信认证方法的交互流程图。在本申请实施例中,以电子设备和服务器均为合法设备为例进行说明,参见图4,该通信认证方法包括:
401、电子设备生成该电子设备的设备公钥和设备私钥。
在密码体制中,加密秘钥和解密秘钥组成秘钥对。秘钥对中的解密秘钥能够用于对加密信息进行解密,且该加密信息是基于同一秘钥对中的加密秘钥加密得到的。本申请实施例所涉及的设备公钥和设备私钥属于同一秘钥对。
电子设备能够基于目标秘钥交换协议,生成设备公钥和设备私钥。例如,目标秘钥交换协议为ECDH(Elliptic Curve Diffie–Hellman,椭圆曲线迪菲-赫尔曼)秘钥交换协议,电子设备与服务器约定使用ECDH秘钥交换协议进行公钥交换,电子设备随机生成设备私钥;基于ECDH秘钥交换协议,对设备私钥进行数据转换处理,生成对应的设备公钥。
具体地,假设设备私钥为随机数a,上述电子设备基于ECDH秘钥交换协议,对设备私钥进行数据转换处理,生成对应的设备公钥的步骤为:电子设备与服务器通过ECDH秘钥交换协议约定质数p和整数g,进行数据转换处理;将整数g连乘a次后,对质数p取余,得到设备公钥A。
需要说明的一点是,电子设备与服务器在每次会话之前,需要基于认证秘钥,进行通信认证。在一个示例中,电子设备为每次会话生成新的认证秘钥,则电子设备在与服务器进行每次会话之前,需要生成新的设备公钥和设备私钥,基于所生成的设备公钥和设备私钥,得到认证秘钥,进行通信认证。
在另一个示例中,认证秘钥具有生命周期,电子设备需要在认证秘钥到达生命周期,失效之后,生成新的认证秘钥,则电子设备在到达认证秘钥的生命周期时,生成新的设备公钥和设备私钥,基于所生成的设备公钥和设备私钥,得到认证秘钥,进行通信认证。
可选地,在每次需要生成新的认证秘钥时,电子设备随机生成一个包括设备公钥和设备私钥的秘钥对,每次生成的秘钥对不同。通过每次随机生成不同的设备公钥和设备私钥,进行后续的通信认证,相较于在电子设备中预埋固定的设备公钥和设备私钥,通过设备公钥和设备私钥的灵活变动,增大了秘钥破解难度,进而提高了通信认证的安全性和可靠性。
402、电子设备获取该电子设备的设备标识和第一设备验证信息。
其中,设备标识为用于标识该电子设备的字符串,每个电子设备均对应有不同的设备标识。可选地,电子设备的设备标识为该电子设备的设备序列号。
设备验证信息用于表示该电子设备的合法性,可选地,设备验证信息是服务器为该电子设备生成的。设备验证信息在电子设备生产时存储在该电子设备中,非易失且不可变更。可选地,设备验证信息为用于唯一表示该电子设备的合法性的特征信息。例如,设备验证信息为设备验证码,设备验证码是在该电子设备生产时为该电子设备生成的一个字符串。
电子设备的设备标识和第一设备验证信息在该电子设备生产时,被存储在该电子设备的存储器中。出厂后,电子设备能够从存储器中获取到预先存储的设备标识和第一设备验证信息。
403、电子设备根据第一设备验证信息,生成第一秘钥。
在一种可能的实现方式中,电子设备对第一设备验证信息进行混淆加密处理,生成第一秘钥。可选地,电子设备基于混淆算法,对第一设备验证信息进行混淆加密处理,生成第一秘钥。例如,混淆算法为异或混淆算法,电子设备对预设的参考数据和第一设备验证信息进行异或处理,得到第一秘钥。
在另一种可能的实现方式中,电子设备根据设备标识和第一设备验证信息,生成第一秘钥。例如,电子设备对设备标识和第一设备验证信息进行混淆加密处理,生成第一秘钥。例如,混淆算法为异或混淆算法,在一个示例中,电子设备拼接设备标识和第一设备验证信息;对拼接得到的数据和预设的参考数据进行异或处理,生成第一秘钥。在另一个示例中,电子设备对设备标识和第一设备验证信息进行异或处理,得到第一秘钥。
本申请实施例提供的技术方案,对第一设备验证信息进行混淆加密处理,生成第一秘钥,使得所生成的秘钥不能被逆向推演,进一步增加了对第一设备验证信息加密的复杂度,提高了第一设备验证信息的破解难度,进一步提高了通信认证的安全性和可靠性。
404、电子设备基于第一秘钥,对设备公钥进行加密,得到加密设备公钥。
电子设备能够通过对称加密算法,对设备公钥进行加密,得到加密设备公钥。可选地,对称加密算法为AES(Advanced Encryption Standard,高级加密标准)算法。电子设备将第一秘钥作为加密秘钥,将设备公钥作为明文;将第一秘钥和设备公钥作为加密函数的参数输入,得到加密设备公钥。
本申请实施例提供的技术方案,对所需传输的设备公钥进行加密,保证了设备公钥在网络传输过程中的安全性,进一步提高了通信认证的安全性和可靠性。
405、电子设备向服务器传输设备标识和加密设备公钥。
可选地,电子设备与服务器建立有TCP(Transmission Control Protocol,传输控制协议)连接,电子设备通过该TCP连接,向服务器传输设备标识和加密设备公钥。
406、服务器接收电子设备的设备标识和加密设备公钥;从已存储的设备验证信息中,获取设备标识对应的第二设备验证信息;根据第二设备验证信息,生成第二秘钥。
服务器为电子设备提供后台服务,对应存储有电子设备的设备标识和设备验证信息。服务器接收到电子设备传输的设备标识,从对应存储的设备标识和设备验证信息中,获取该设备标识对应的第二设备验证信息。
服务器根据第二设备验证信息,生成第二秘钥的过程与电子设备根据第一设备验证信息,生成第一秘钥的过程同理。若电子设备对第一设备验证信息进行混淆加密处理,生成第一秘钥,则服务器对第二设备验证信息执行与电子设备相同的混淆加密处理,生成第二秘钥。
407、服务器基于第二秘钥,对加密设备公钥进行解密,得到电子设备的设备公钥。
服务器能够通过与步骤404相同的对称加密算法,对加密设备公钥进行解密,得到设备公钥。可选地,对称加密算法为AES算法,服务器将第二秘钥作为解密秘钥,将加密设备公钥作为密文;将第二秘钥和加密设备公钥作为解密函数的参数输入,得到设备公钥。其中,解密函数与步骤404中的加密函数相对应,属于同一个对称加密算法。
408、服务器生成该服务器的服务公钥和服务私钥。
服务器生成服务公钥和服务私钥的过程与电子设备生成设备公钥和设备私钥的过程同理。若电子设备基于目标秘钥交换协议,生成设备公钥和设备私钥,则服务器基于与电子设备相同的目标秘钥交换协议,生成服务公钥和服务私钥。
例如,电子设备与服务器通过ECDH秘钥交换协议约定质数p和整数g,进行数据转换处理;服务器随机生成服务私钥b,将整数g连乘b次后,对质数p取余,得到服务公钥B。
409、服务器根据服务私钥和设备公钥,生成该服务器的第二认证秘钥。
认证秘钥用于对通信认证过程中所传输的信息进行加密和解密,以使通信双方能够基于认证秘钥进行加密和解密,实现对对方的通信认证。
服务器能够基于目标秘钥交换协议,根据服务私钥和设备公钥,生成该服务器的第二认证秘钥。例如,目标秘钥交换协议为ECDH秘钥交换协议,服务器的服务私钥为b;服务器接收到电子设备的设备公钥A;将设备公钥A连乘b次后,对通过ECDH秘钥交换协议约定的质数p取余,得到第二认证秘钥。
需要说明的一点是,认证秘钥的生命周期能够灵活配置,可选地,认证秘钥的生命周期为任一目标时长,认证秘钥在生成后的目标时长的时间段内有效,可选地,目标时长为1个月、2个月或3个月等。其中,若在认证秘钥的生命周期内,电子设备或服务器任一方通信认证不通过,则该认证秘钥失效,从而能够进一步保证通信的安全性。
可选地,认证秘钥的生命周期为一次通信认证的时长,认证秘钥在通信双方认证完成或者任一方通信认证不通过时,即失效。
410、服务器基于第二秘钥,对服务公钥进行加密,得到加密服务公钥。
服务器能够通过对称加密算法,对服务公钥进行加密,得到加密服务公钥。可选地,对称加密算法为AES算法,服务器将第二秘钥作为加密秘钥,将服务公钥作为明文;将第二秘钥和服务公钥作为加密函数的参数输入,得到加密服务公钥。
411、服务器向电子设备传输加密服务公钥。
可选地,服务器与电子设备建立有TCP连接,服务器通过该TCP连接,向电子设备传输加密服务公钥。
412、电子设备接收服务器的加密服务公钥,基于第一秘钥,对加密服务公钥进行解密,得到服务器的服务公钥。
电子设备能够通过与步骤410相同的对称加密算法,对加密服务公钥进行解密,得到服务公钥。可选地,对称加密算法为AES算法,服务器将第一秘钥作为解密秘钥,将加密服务公钥作为密文;将第一秘钥和加密服务公钥作为解密函数的参数输入,得到服务公钥。其中,解密函数与步骤410中的加密函数相对应,属于同一个对称加密算法。
413、电子设备根据设备私钥和服务公钥,生成电子设备的第一认证秘钥。
电子设备能够基于目标秘钥交换协议,根据设备私钥和服务公钥,生成该电子设备的第一认证秘钥。例如,目标秘钥交换协议为ECDH秘钥交换协议,电子设备的设备私钥为a;电子设备接收到服务器的服务公钥B;将服务公钥B连乘a次后,对通过ECDH秘钥交换协议约定的质数p取余,得到第一认证秘钥。
414、电子设备基于第一认证秘钥,生成该电子设备的设备标识的第一数字摘要。
电子设备能够通过HMAC(Hash-based Message Authentication Code,密钥相关的哈希运算消息认证码)运算,基于第一认证秘钥和电子设备的设备标识,生成第一数字摘要。例如,电子设备能够通过HMAC运算,将第一认证秘钥与设备标识混合,对该混合结果进行哈希运算;再将得到的哈希值与第一认证秘钥混合,对该混合结果再次进行哈希运算,得到384位的第一数字摘要。
需要说明的一点是,在本申请实施例中,电子设备生成第一数字摘要所基于的信息为设备标识。在本申请的其他可选实施例中,电子设备生成第一数字摘要所基于的信息为电子设备的其他特征信息,如设备验证信息或者电子设备随机生成的字符串。
415、电子设备向服务器传输第一数字摘要。
可选地,电子设备通过与服务器所建立的TCP连接,向服务器传输第一数字摘要。
416、服务器接收电子设备的第一数字摘要,基于第二认证秘钥,生成电子设备的设备标识的第二数字摘要。
服务器基于第二认证秘钥,生成第二数字摘要的过程与电子设备基于第一认证秘钥,生成第一数字摘要的过程同理。服务器能够通过与电子设备相同的HMAC运算,生成设备标识的第二数字摘要。
417、服务器比对第一数字摘要和第二数字摘要,得到对电子设备的通信认证结果。
服务器响应于第一数字摘要和第二数字摘要一致,确定对电子设备的通信认证结果为认证通过;响应于第一数字摘要和第二数字摘要不一致,确定对电子设备的通信认证结果为认证未通过,结束本次的通信认证过程,停止与该电子设备的交互。
本申请实施例提供的技术方案,通过比对基于认证秘钥和设备标识生成的数字摘要,来增大通信认证过程中信息加解密的复杂度,以提高通信认证的可靠性,相较于增大设备验证信息的复杂程度、增大设备标识的字符串的复杂程度以及在电子设备中写入数字证书的方式,降低了电子设备的生产成本,并且,基于对信息的加密处理过程的改善,提高信息加解密的复杂度,还能够追溯到已生产的电子设备,对已生产的电子设备的安全性进行进一步的提高和保障。
418、服务器响应于对电子设备的通信认证结果为认证通过,为电子设备生成会话秘钥。
会话秘钥用于对认证通过后的会话中所传输的信息进行保护。可选地,服务器为与电子设备的每次会话生成不同的会话秘钥,通过会话秘钥的灵活变动,进一步提高双方通信的安全性。
419、服务器基于第二认证秘钥,对会话秘钥进行加密,得到加密会话秘钥。
服务器能够通过对称加密算法,对会话秘钥进行加密,得到加密会话秘钥。可选地,对称加密算法为AES算法,服务器将第二认证秘钥作为加密秘钥,将会话秘钥作为明文;将第二认证秘钥和会话秘钥作为加密函数的参数输入,得到加密会话秘钥。
420、服务器基于第二认证秘钥,生成电子设备的设备标识的第二数字摘要。
本步骤与步骤416同理。需要说明的一点是,可选地,服务器不执行步骤420,直接执行步骤421,向电子设备传输步骤416生成的第二数字摘要。
421、服务器向电子设备传输第二数字摘要和加密会话秘钥。
可选地,服务器通过与电子设备所建立的TCP连接,向电子设备传输第二数字摘要和加密会话秘钥。
422、电子设备接收服务器的第二数字摘要和加密会话秘钥,基于第一认证秘钥,生成该电子设备的设备标识的第一数字摘要。
本步骤与步骤414同理。需要说明的一点是,可选地,服务器不执行步骤422,直接执行步骤423,将步骤414生成的第一数字摘要与第二数字摘要进行比对。
423、电子设备比对第一数字摘要和第二数字摘要,得到对服务器的通信认证结果。
电子设备响应于第一数字摘要和第二数字摘要一致,确定对服务器的通信认证结果为认证通过;响应于第一数字摘要和第二数字摘要不一致,确定对服务器的通信认证结果为认证未通过,结束本次的通信认证过程,停止与该服务器的交互。
424、电子设备响应于对服务器的通信认证结果为认证通过,基于第一认证秘钥,对加密会话秘钥进行解密,得到会话秘钥。
电子设备能够通过与步骤419相同的对称加密算法,对加密会话秘钥进行解密,得到会话秘钥。可选地,对称加密算法为AES算法,服务器将第一认证秘钥作为解密秘钥,将加密会话秘钥作为密文;将第二认证秘钥和加密会话秘钥作为解密函数的参数输入,得到会话秘钥。其中,解密函数与步骤419中的加密函数相对应,属于同一个对称加密算法。
425、电子设备向服务器传输第一数字摘要。
可选地,电子设备通过与服务器所建立的TCP连接,向服务器传输第一数字摘要。
426、服务器接收电子设备的第一数字摘要,基于第二认证秘钥,生成电子设备的设备标识的第二数字摘要。
本步骤与步骤416同理。需要说明的一点是,可选地,服务器不执行步骤426,直接执行步骤427,将步骤416生成的第二数字摘要与第一数字摘要进行比对。
427、服务器比对第一数字摘要和第二数字摘要,响应于第一数字摘要和第二数字摘要一致,确定通信认证完成。
服务器响应于第一数字摘要和第二数字摘要一致,确定本次对电子设备的通信认证结果为认证通过,对电子设备的通信认证完成;响应于第一数字摘要和第二数字摘要不一致,确定对电子设备的通信认证结果为认证未通过,结束本次的通信认证过程,停止与该电子设备的交互。
428、服务器基于会话秘钥,与电子设备进行通信。
服务器在确定对电子设备通信认证完成之后,基于为该电子设备生成的会话秘钥,与该电子设备进行通信。
429、电子设备基于会话秘钥,与服务器进行通信。
电子设备在对服务器通信认证通过之后,且服务器对该电子设备通信认证完成之后,则电子设备能够基于服务器为该电子设备生成的会话秘钥,与服务器进行通信。
需要说明的一点是,电子设备和服务器通过步骤401至步骤413生成认证秘钥之后,能够基于该认证秘钥,通过步骤414至步骤427进行通信认证。电子设备和服务器生成认证秘钥后,能够存储该认证秘钥。在该认证秘钥的生命周期内,基于该认证秘钥,进行多次会话之前的通信认证。在一个示例中,电子设备和服务器每次均通过上述步骤414至步骤427进行通信认证。
在另一个示例中,上述步骤414至步骤427为生成认证秘钥后的首次通信认证过程,电子设备和服务器在首次通信认证通过之后,基于随机验证信息的传输,进行二次通信认证。参见图5,电子设备和服务器基于随机验证信息的传输,进行二次通信认证的过程为:
501、电子设备获取已存储的第一认证秘钥。
电子设备生成第一认证秘钥之后,能够将该第一认证秘钥存储在本地,在该第一认证秘钥的生命周期内,电子设备能够从本地获取已存储的第一认证秘钥。
502、电子设备生成电子设备的第一随机验证信息。
第一随机验证信息为电子设备随机生成的验证信息。可选地,第一随机验证信息为随机生成的字符串,该字符串可以用random(随机的)1来表示。
503、电子设备基于第一认证秘钥,对第一随机验证信息进行加密,得到第一认证信息。
在一种可能的实现方式中,电子设备基于第一认证秘钥,对第一随机验证信息进行加密,得到第一认证信息。可选地,电子设备能够通过对称加密算法,将第一认证秘钥作为加密秘钥,对第一随机验证信息进行加密,得到第一认证信息。
在另一种可能的实现方式中,电子设备还结合设备标识,生成第一认证信息。相应的,上述步骤503为:电子设备基于第一认证秘钥,对电子设备的设备标识和第一随机验证信息进行加密,得到第一认证信息。可选地,电子设备能够拼接设备标识和第一随机验证信息;将第一认证秘钥作为加密秘钥,对拼接后的设备标识和第一随机验证信息进行加密,得到第一认证信息。例如,第一随机验证信息用random1表示,设备标识用于id表示,则第一认证信息用cipher(random1,id)表示,其中,cipher(密码)表示加密。
504、电子设备向服务器传输设备标识和第一认证信息。
可选地,电子设备通过与服务器所建立的TCP连接,向服务器传输设备标识和第一认证信息。
505、服务器接收电子设备的第一认证信息,基于第二认证秘钥,对第一认证信息进行解密,得到电子设备的第六随机验证信息。
其中,服务器生成第二认证秘钥之后,能够将该第二认证秘钥存储在本地,在该第二认证秘钥的生命周期内,服务器能够从本地获取已存储的第二认证秘钥。
在一种可能的实现方式中,服务器基于第二认证秘钥,对第一认证信息进行解密,得到电子设备的第六随机验证信息。
在另一种可能的实现方式中,服务器基于第二认证秘钥,对第一认证信息进行解密,得到电子设备的第六随机验证信息和设备标识。
可选地,服务器能够通过与步骤503相同的对称加密算法,将第二认证秘钥作为解密秘钥,对第一认证信息进行解密,得到第六随机验证信息。若服务器为合法服务器,则第六随机验证信息与步骤503中电子设备所加密的第一随机验证信息相同,也即,第六随机验证信息能够表示为random1。
506、服务器生成该服务器的第四随机验证信息。
第二随机验证信息为服务器随机生成的验证信息。可选地,第二随机验证信息为随机生成的字符串,该字符串可以用random2来表示。
507、服务器为电子设备生成会话秘钥。
本步骤与步骤418同理。
508、服务器基于第二认证秘钥,对第四随机验证信息和第六验证信息进行加密,得到第二认证信息。
在一种可能的实现方式中,服务器基于第二认证秘钥,对第四随机验证信息和第六验证信息进行加密,得到第二认证信息。可选地,服务器能够通过对称加密算法,将第二认证秘钥作为加密秘钥,对第四随机验证信息和第六随机验证信息进行加密,得到第二认证信息。可选地,服务器还结合电子设备的设备标识和会话秘钥,得到第二认证信息,该第二认证信息表示为cipher(random1,random2,sessionkey,id),其中,sessionkey表示会话秘钥。
509、服务器向电子设备传输第二认证信息。
可选地,服务器通过与电子设备所建立的TCP连接,向电子设备传输第二认证信息。
510、电子设备接收服务器的第二认证信息,基于第一认证秘钥,对第二认证信息进行解密,得到解密认证信息,该解密认证信息包括第二随机验证信息和第三随机验证信息。
可选地,电子设备能够通过与步骤508相同的对称加密算法,将第一认证秘钥作为解密秘钥,对第二认证信息进行解密,得到解密认证信息。解密认证信息包括第二随机验证信息和第三随机验证信息。第二随机验证信息与电子设备的第一随机验证信息相对应,第三随机验证信息与服务器的第四随机验证信息相对应。若服务器与电子设备均合法,则第一随机验证信息与第二随机验证信息相同,第三随机验证信息与第四随机验证信息相同。例如,第二认证信息表示为cipher(random1,random2,sessionkey,id),则解密认证信息表示为(random1,random2,sessionkey,id)。
511、电子设备比对第一随机验证信息和第二随机验证信息,得到对服务器的通信认证结果。
电子设备响应于第一随机验证信息和第二随机验证信息一致,确定对服务器的通信认证结果为认证通过;响应于第一随机验证信息和第二随机验证信息不一致,确定对服务器的通信认证结果为认证未通过,结束本次的通信认证过程,停止与该服务器的交互。
512、电子设备基于第一认证秘钥,对第三随机验证信息进行加密,得到第三认证信息。
可选地,电子设备能够通过对称加密算法,将第一认证秘钥作为加密秘钥,对第三随机验证信息进行加密,得到第三认证信息。可选地,电子设备还结合设备标识,生成第三认证信息。若电子设备和服务器均合法,则该第三认证信息表示为cipher(random2,id)。
513、电子设备向服务器传输第三认证信息。
可选地,电子设备通过与服务器所建立的TCP连接,向服务器传输第一认证信息。
514、服务器接收第三认证信息,基于第二认证秘钥,对第三认证信息进行解密,得到第五随机验证信息。
可选地,服务器能够通过与步骤512相同的对称加密算法,将第二认证秘钥作为解密秘钥,对第三认证信息进行解密,得到第五随机验证信息。若电子设备和服务器均合法,则该第五随机验证信息表示为random2。
515、服务器比对第四随机验证信息和第五随机验证信息,得到对电子设备的通信认证结果。
服务器响应于第四随机验证信息和第五随机验证信息一致,确定对电子设备的通信认证结果为认证通过;响应于第四随机验证信息和第五随机验证信息不一致,确定对电子设备的通信认证结果为认证未通过,结束本次的通信认证过程,停止与该电子设备的交互。
516、服务器响应于对电子设备的通信认证结果为认证通过,基于为该电子设备生成的会话秘钥,与该电子设备进行通信。
服务器在确定电子设备认证通过之后,基于为该电子设备生成的会话秘钥,与该电子设备进行通信。
517、电子设备响应于对服务器的通信认证结果为认证通过,基于服务器为该电子设备生成的会话秘钥,与该服务器进行通信。
电子设备在对服务器通信认证通过之后,能够基于服务器为该电子设备生成的会话秘钥,与服务器进行通信。
本申请实施例提供的技术方案,在电子设备和服务器在首次通信认证通过之后,基于随机验证信息和所存储的认证秘钥,进行二次通信认证,相较于首次通信认证,二次通信认证的过程更加精简,从而在首次通信认证通过之后,通过二次通信认证的过程进行通信认证,能够在保证通信认证的安全性与可靠性的基础上,提高通信认证的效率。
本申请实施例提供的技术方案,将电子设备预存的设备验证信息转换为秘钥,基于该秘钥,解密对端传输的加密公钥,从而使得设备验证信息不需要扩散到电子设备的外部,也能够融合到通信认证的过程中,进而基于本端的私钥和解密得到的对端的公钥,生成认证秘钥,与对端完成认证秘钥的协商,基于该认证秘钥,进行通信认证,从而基于设备验证信息的转换、秘钥的加解密与认证秘钥的协商机制,在保证设备验证信息安全性的基础上,通过增大通信认证过程中信息加解密的复杂度,提高了通信认证过程中所传输的信息的破解难度,进而提高了通信认证的可靠性,基于上述通信认证过程,能够提高通信双方通信的安全性。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图6是本申请实施例提供的一种通信认证装置的框图。参见图6,该装置包括:
第一秘钥生成模块601,用于根据电子设备的第一设备验证信息,生成第一秘钥,第一设备验证信息用于表示电子设备的合法性;
第一接收模块602,用于接收服务器的加密服务公钥;
第一解密模块603,用于基于第一秘钥,对加密服务公钥进行解密,得到服务器的服务公钥;
第一获取模块604,用于获取电子设备的设备私钥;
第二秘钥生成模块605,用于根据设备私钥和服务公钥,生成电子设备的第一认证秘钥;
第一通信认证模块606,用于基于第一认证秘钥,对服务器进行通信认证。
在一种可能的实现方式中,第一秘钥生成模块601,用于获取电子设备存储的第一设备验证信息;对第一设备验证信息进行混淆加密处理,生成第一秘钥。
在另一种可能的实现方式中,该装置还包括:
第一获取模块604,还用于获取电子设备的设备公钥;
第一加密模块,用于基于第一秘钥,对设备公钥进行加密,得到加密设备公钥;
第一传输模块,用于向服务器传输电子设备的设备标识和加密设备公钥。
在另一种可能的实现方式中,第一通信认证模块606,用于:
基于第一认证秘钥,生成电子设备的设备标识的第一数字摘要;
接收服务器的第二数字摘要,第二数字摘要基于服务器的第二认证秘钥和设备标识生成;
比对第一数字摘要和第二数字摘要,得到对服务器的通信认证结果。
在另一种可能的实现方式中,该装置还包括:
第二传输模块,用于向服务器传输第一数字摘要;
第一接收模块602,还用于接收服务器的加密会话秘钥,加密会话秘钥用于表示服务器基于第一数字摘要对电子设备认证通过;
第一解密模块603,还用于响应于通信认证结果为认证通过,基于第一认证秘钥,对加密会话秘钥进行解密,得到会话秘钥;
第一通信模块,用于基于会话秘钥,与服务器进行通信。
在另一种可能的实现方式中,第一通信认证模块606,用于:
生成电子设备的第一随机验证信息,基于第一认证秘钥,对第一随机验证信息进行加密,得到第一认证信息;
向服务器传输第一认证信息;
接收服务器的第二认证信息,基于第一认证秘钥,对第二认证信息进行解密,得到解密认证信息,第二认证信息基于对第一认证信息解密得到的随机验证信息生成;
解密认证信息包括第一随机验证信息对应的第二随机验证信息,比对第一随机验证信息和第二随机验证信息,得到对服务器的通信认证结果。
在另一种可能的实现方式中,解密认证信息还包括第三随机验证信息;该装置还包括:
第二加密模块,用于基于第一认证秘钥,对第三随机验证信息进行加密,得到第三认证信息;
第三传输模块,用于向服务器传输第三认证信息。
需要说明的是:上述实施例提供的通信认证装置在进行通信认证时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的通信认证装置与通信认证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供的技术方案,将电子设备预存的设备验证信息转换为秘钥,基于该秘钥,解密对端传输的加密公钥,从而使得设备验证信息不需要扩散到电子设备的外部,也能够融合到通信认证的过程中,进而基于本端的私钥和解密得到的对端的公钥,生成认证秘钥,与对端完成认证秘钥的协商,基于该认证秘钥,进行通信认证,从而基于设备验证信息的转换、秘钥的加解密与认证秘钥的协商机制,在保证设备验证信息安全性的基础上,通过增大通信认证过程中信息加解密的复杂度,提高了通信认证过程中所传输的信息的破解难度,进而提高了通信认证的可靠性,基于上述通信认证过程,能够提高通信双方通信的安全性。
图7是本申请实施例提供的一种通信认证装置的框图。参见图7,该装置包括:
第二接收模块701,用于接收电子设备的设备标识和加密设备公钥;
第二获取模块702,用于从已存储的设备验证信息中,获取设备标识对应的第二设备验证信息;
第三秘钥生成模块703,用于根据第二设备验证信息,生成第二秘钥;
第二解密模块704,用于基于第二秘钥,对加密设备公钥进行解密,得到电子设备的设备公钥;
第三获取模块705,用于获取服务器的服务私钥;
第三秘钥生成模块703,还用于根据服务私钥和设备公钥,生成服务器的第二认证秘钥;
第二通信认证模块706,用于基于第二认证秘钥,对电子设备进行通信认证。
在一种可能的实现方式中,该装置还包括:
第三获取模块705,还用于获取服务器的服务公钥;
第三加密模块,用于基于第二秘钥,对服务公钥进行加密,得到加密服务公钥;
第四传输模块,用于向电子设备传输加密服务公钥。
在另一种可能的实现方式中,第二通信认证模块706,用于:
接收电子设备的第一数字摘要,第一数字摘要基于电子设备的第一认证秘钥和设备标识生成;
基于第二认证秘钥,生成设备标识的第二数字摘要;
比对第一数字摘要和第二数字摘要,得到对电子设备的通信认证结果。
在另一种可能的实现方式中,该装置还包括:
会话秘钥生成模块,用于响应于通信认证结果为认证通过,为电子设备生成会话秘钥;
第四加密模块,用于基于第二认证秘钥,对会话秘钥进行加密,得到加密会话秘钥;
第五传输模块,用于向电子设备传输第二数字摘要和加密会话秘钥。
在另一种可能的实现方式中,该装置还包括:
第二接收模块701,用于接收电子设备的第一数字摘要;
确定模块,用于响应于第一数字摘要和第二数字摘要一致,确定通信认证完成;
第二通信模块,用于基于会话秘钥,与电子设备进行通信。
在另一种可能的实现方式中,第二通信认证模块706,包括:
随机验证信息生成子模块,用于生成服务器的第四随机验证信息;
加密子模块,用于基于第二认证秘钥,对第四随机验证信息进行加密,得到第二认证信息;
传输子模块,用于向电子设备传输第二认证信息;
接收子模块,用于接收电子设备的第三认证信息;
解密子模块,用于基于第二认证秘钥,对第三认证信息进行解密,得到第五随机验证信息,第三认证信息基于对第二认证信息解密得到的服务器的随机验证信息生成;
认证子模块,用于比对第四随机验证信息和第五随机验证信息,得到对电子设备的通信认证结果。
在另一种可能的实现方式中,该装置还包括:
第二接收模块701,还用于接收电子设备的第一认证信息,第一认证信息基于电子设备的第一随机验证信息生成;
第三解密模块,用于基于第二认证秘钥,对第一认证信息进行解密,得到电子设备的第六随机验证信息;
加密子模块,用于基于第二认证秘钥,对第四随机验证信息和第六随机验证信息进行加密,得到第二认证信息。
需要说明的是:上述实施例提供的通信认证装置在进行通信认证时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的通信认证装置与通信认证方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供的技术方案,从本地存储的设备验证信息中,获取所接收到的电子设备的设备标识对应的设备验证信息,即可基于该设备验证信息转换为的秘钥,对电子设备的加密设备公钥进行解密,从而设备验证信息不进行网络传输,也能够通过转换为秘钥,融合到通信认证过程中;进而基于本端的私钥和解密得到的设备公钥,生成认证秘钥,与对端完成认证秘钥的协商;基于该认证秘钥,进行通信认证,从而基于设备验证信息的转换、秘钥的加解密与认证秘钥的协商机制,在保证设备验证信息安全性的基础上,通过增大通信认证过程中信息加解密的复杂度,提高了通信认证过程中所传输的信息的破解难度,进而提高了通信认证的可靠性,基于上述通信认证过程,能够提高通信双方通信的安全性。
图8示出了本申请一个示例性实施例提供的电子设备800的结构框图。该电子设备800可以是物联网设备、手机、平板电脑笔记本电脑或台式电脑。电子设备800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,电子设备800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器801所执行以实现本申请中方法实施例提供的通信认证方法。
在一些实施例中,电子设备800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头组件806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置在电子设备800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在电子设备800的不同表面或呈折叠设计;在另一些实施例中,显示屏805可以是柔性显示屏,设置在电子设备800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位电子设备800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源809用于为电子设备800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
本领域技术人员可以理解,图8中示出的结构并不构成对电子设备800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图9是本申请实施例提供的一种服务器的框图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)901和一个或一个以上的存储器902,其中,存储器902中存储有至少一条程序代码,至少一条程序代码由处理器901加载并执行以实现上述各个方法实施例提供的通信认证方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,上述至少一条程序代码可由处理器执行以完成上述实施例中的通信认证方法。例如,计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,电子设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该电子设备执行上述各个方法实施例中的通信认证方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。