掌桥专利:专业的专利平台
掌桥专利
首页

充电安全验证方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:30


充电安全验证方法、装置、电子设备及存储介质

技术领域

本申请涉及充电技术领域,具体涉及一种充电安全验证方法、装置、电子设备及存储介质。

背景技术

在充电技术领域中,为了提高充电安全性,在终端设备与充电设备连接之后,通常会进行身份验证,特别对于支持快充功能的终端设备来说,由于市面上的充电设备较多,更需要通过身份验证保证充电过程的安全性,以防止某些不合格或山寨的充电设备给终端设备充电造成安全隐患。目前对于充电设备的验证方式存在易被破解的问题,安全性较差。

发明内容

本申请实施例公开了一种充电安全验证方法、装置、电子设备及存储介质,能够提高对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

本申请实施例公开了一种充电安全验证方法,应用于终端设备,所述方法包括:

接收充电设备发送的厂商标识;

获取与所述厂商标识对应的密钥标识,并根据所述密钥标识查找与所述密钥标识对应的第一密钥信息;

根据所述第一密钥信息生成第一密文信息;

向所述充电设备发送所述密钥标识,以使所述充电设备根据所述密钥标识对应的第二密钥信息生成第二密文信息;

接收所述充电设备发送的所述第二密文信息,若所述第二密文信息与所述第一密文信息相同,则对所述充电设备验证成功。

本申请实施例公开了一种充电安全验证方法,应用于充电设备,所述方法包括:

向终端设备发送厂商标识,以使所述终端设备获取与所述厂商标识对应的密钥标识,并根据所述密钥标识查找与所述密钥标识对应的第一密钥信息,以及根据所述第一密钥信息生成第一密文信息;

接收所述终端设备发送的所述密钥标识,并根据所述密钥标识对应的第二密钥信息生成第二密文信息;

向所述终端设备发送所述第二密文信息,以使所述终端设备在确定所述第二密文信息与所述第一密文信息相同的情况下,对所述充电设备验证成功。

本申请实施例公开了一种充电安全验证装置,应用于终端设备,所述装置包括:

接收模块,用于接收充电设备发送的厂商标识;

密钥查找模块,用于获取与所述厂商标识对应的密钥标识,并根据所述密钥标识查找与所述密钥标识对应的第一密钥信息;

密文生成模块,用于根据所述第一密钥信息生成第一密文信息;

发送模块,用于向所述充电设备发送所述密钥标识,以使所述充电设备根据所述密钥标识对应的第二密钥信息生成第二密文信息;

所述接收模块,还用于接收所述充电设备发送的所述第二密文信息,若所述第二密文信息与所述第一密文信息相同,则对所述充电设备验证成功。

本申请实施例公开了一种充电安全验证装置,应用于充电设备,所述装置包括:

发送模块,用于向终端设备发送厂商标识,以使所述终端设备获取与所述厂商标识对应的密钥标识,并根据所述密钥标识查找与所述密钥标识对应的第一密钥信息,以及根据所述第一密钥信息生成第一密文信息;

接收模块,用于接收所述终端设备发送的所述密钥标识,并根据所述密钥标识对应的第二密钥信息生成第二密文信息;

所述发送模块,还用于向所述终端设备发送所述第二密文信息,以使所述终端设备在确定所述第二密文信息与所述第一密文信息相同的情况下,对所述充电设备验证成功。

本申请实施例公开了一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如上任一所述的方法。

本申请实施例公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述的方法。

本申请实施例公开的一种充电安全验证方法、装置、电子设备及存储介质,终端设备接收充电设备发送的厂商标识,获取与该厂商标识对应的密钥标识,并根据密钥标识查找与密钥标识对应的第一密钥信息,根据该第一密钥信息生成第一密文信息,终端设备向充电设备发送该密钥标识,充电设备可根据该密钥标识对应的第二密钥信息生成第二密文信息,终端设备可接收充电设备发送的第二密文信息,若第二密文信息与第一密文信息相同,则对充电设备验证成功。在本申请实施例中,针对不同厂商的充电设备,终端设备可根据厂商标识确定对应的密钥标识,以使用相应的密钥信息进行加解密,既可减少验证过程中数据被破解的情况,又能够有效防止山寨的充电设备带来的充电安全隐患,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中充电安全验证方法的应用场景图;

图2为一个实施例中充电安全验证方法的时序示意图;

图3为一个实施例中充电安全验证方法的流程图;

图4为另一个实施例中充电安全验证方法的流程图;

图5为一个实施例中电子设备的操作系统架构图;

图6为一个实施例中终端设备向充电设备发送状态数据的流程图;

图7为又一个实施例中充电安全验证方法的流程图;

图8为一个实施例中充电安全验证装置的框图;

图9为另一个实施例中充电安全验证装置的框图;

图10为一个实施例中终端设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一密文信息称为第二密文信息,且类似地,可将第二密文信息称为第一密文信息。第一密文信息和第二密文信息两者都是密文信息,但其不是指代同一密文信息。本申请所使用的术语“多个”指的是两个及两个以上。

在相关技术中,终端设备对充电设备进行身份验证通常采用加解密算法的方式,终端设备为了保证密钥的安全性,密钥会以明文形式保存在固件启动流程的扩展阶段(Extensible boot loader,XBL)的相关代码中,终端设备在开机启动的过程中,当经过XBL阶段时,会利用加密算法及密钥对随机数进行加密计算,得到加密后的数据,并将加密后的数据和随机数保存在特定的内存中。当终端设备开机进入到内核(KERNEL)层后,如果与充电设备连接,此时需要对充电设备进行验证,则内核层会从内存中读取加密后的数据和随机数,再将随机数发送给充电设备。充电设备利用加密算法及密钥对该随机数进行加密计算,并将计算结果回传给终端设备。终端设备会比对从内存读取的加密后的数据以及充电设备回传的计算结果,判断二者是否相等,如果相等则验证成功,如果不相等则验证失败。

由于内核层需要开源,因此密钥不能以明文形式存储在内核层的代码中,而是存储在XBL阶段的相关代码中,但是XBL阶段仅在终端设备开机中出现一次,即XBL阶段是一个瞬态,一旦经过了XBX阶段进入到内核层就没办法再返回XBL阶段,因此,内核层所使用到的XBL中的数据就是固定的,即加密后的数据和随机数均是固定的,容易在验证过程中被特定工具抓包从而被破解,存在严重的数据安全性问题。而且,对于上述中涉及的对充电设备的验证方式也不具备打击山寨的充电设备的能力。

本申请实施例提供了一种充电安全验证方法、装置、电子设备及存储介质,既可减少验证过程中数据被破解的情况,又能够有效防止山寨的充电设备带来的充电安全隐患,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

图1为一个实施例中充电安全验证方法的应用场景图。如图1所示,终端设备10可与充电设备20连接,该连接方式可包括但不限于有线连接及无线连接等,有线连接可包括通过USB(Universal Serial Bus,通用串行总线)等接口进行有线连接,无线连接可包括但不限于通过电磁感应、电场耦合、磁共振等方式进行连接。充电设备20与终端设备10之间可建立充电通道,充电设备20可向终端设备10输出充电电流和/或充电电压,以对终端设备10进行充电,其充电方式可以是有线充电方式,也可以是无线充电方式。

可选地,充电设备20可包括但不限于适配器、移动电源等,终端设备10可包括但不限于手机、平板电脑、可穿戴设备、笔记本电脑、PC(Personal Computer,个人计算机)、车载终端等,本申请实施例不对充电设备20及终端设备10的产品形态进行具体限定。作为一种具体实施方式,充电设备20可为支持无线充电的充电设备(如连接适配器的无线充电底座等),充电设备20能够支持第一充电模式及第二充电模式,其中,第一充电模式的充电速度大于第二充电模式,如第一充电模式为快充模式,第二充电模式为普通充电模式。

充电设备20与终端设备10之间除了建立充电通道以外,还可建立通信连接,终端设备10与充电设备20可通过该通信连接进行通信,例如,可进行身份安全验证、协商充电过程中的充电参数(如充电电流、充电电压等)、传输充电过程中的状态数据(如终端设备10的当前电量等)等,但不限于此。

在本申请实施例中,终端设备10在与充电设备20建立连接后,充电设备20可向终端设备10发送厂商标识,终端设备10可接收充电设备20发送的厂商标识,获取与该厂商标识对应的密钥标识,并根据该密钥标识查找与密钥标识对应的第一密钥信息,可根据该第一密钥信息生成第一密文信息。终端设备10可向充电设备20发送该密钥标识。充电设备20可接收终端设备10发送的密钥标识,并根据该密钥标识对应的第二密钥信息生成第二密文信息,再将第二密文信息发送给终端设备10。终端设备10可将接收的第二密文信息与第一密文信息进行比对,若第二密文信息与第一密文信息相同,则对充电设备20验证成功。

图2为一个实施例中充电安全验证方法的时序示意图。如图2所示,该充电安全验证方法可包括以下步骤:

步骤1、充电设备向终端设备发送厂商标识。

步骤2、终端设备接收充电设备发送的厂商标识,获取与该厂商标识对应的密钥标识,并根据该密钥标识查找与密钥标识对应的第一密钥信息,根据第一密钥信息生成第一密文信息。

步骤3、终端设备向充电设备发送与该厂商标识对应的密钥标识。

步骤4、充电设备接收终端设备发送的密钥标识,根据该密钥标识对应的第二密钥信息生成第二密文信息。

步骤5、充电设备向终端设备发送第二密文信息。

步骤6、终端设备将第一密文信息与第二密文信息进行比对,若第二密文信息与第一密文信息相同,则对充电设备验证成功。

如图3所示,在一个实施例中,提供一种充电安全验证方法,可应用于上述的终端设备,该方法可包括以下步骤:

步骤310,接收充电设备发送的厂商标识。

在终端设备检测到与充电设备连接时,终端设备可向充电设备发送厂商标识获取指令,该厂商标识获取指令用于指示充电设备向终端设备发送厂商标识。充电设备接收到终端设备发送的厂商标识获取指令后,可根据该厂商标识获取指令获取厂商标识,并将厂商标识发送给终端设备。厂商标识可用于对生产充电设备的厂商身份进行标识,不同厂商生产的充电设备,可分别对应不同的厂商标识,厂商标识可包括但不限于厂商名称、厂商代号、预先约定的厂商编号等中的任一种。

在一些实施例中,终端设备在与充电设备建立连接时,可产生连接中断信号,若终端设备接收到该连接中断信号,则可确定与充电设备连接,可向充电设备发送类型命令。该类型命令可用于向充电设备获取类型码,该类型码可用于表征充电设备的设备类型,该设备类型可包括第三方充电设备及非第三方充电设备,其中,第三方充电设备可指的是与终端设备属于不同厂商制造(即第三方厂商制造)的充电设备,非第三方充电设备可指的是与终端设备属于相同厂商制造的充电设备,通常为终端设备原装配套的充电设备。

充电设备接收到终端设备发送的类型命令后,可向终端设备返回类型码,终端设备可根据该类型码判断充电设备是否为第三方充电设备。其中,第三方充电设备与非第三方充电设备可分别对应不同的类型码,例如,第三方充电设备对应的类型码为001,非第三方充电设备对应的类型码为002等,但不限于此。若充电设备为第三方充电设备,再向充电设备发送厂商标识获取指令,以获取充电设备的厂商标识。若充电设备为非第三方充电设备,则可以不向充电设备发送厂商标识获取指令,而是直接根据与自身厂商对应的第一密钥信息生成第一密文信息,对充电设备进行验证,可减少交互的次数及数据,提高验证效率。

步骤320,获取与厂商标识对应的密钥标识,并根据该密钥标识查找与该密钥标识对应的第一密钥信息。

终端设备中可预先存储有多组密钥信息,不同组密钥信息可分别对应不同的密钥标识,还可预先存储有厂商标识与密钥标识的对应关系,厂商标识与密钥标识可为一一对应关系,厂商标识对应的密钥标识可用于表征该厂商标识对应的有效密钥信息。例如,终端设备中存储有A、B、C三组密钥信息,其中,A组密钥信息的密钥标识为key_A,B组密钥信息的密钥标识为key_B,C组密钥信息的密钥标识为key_C,厂商标识X-01对应的密钥标识为key_B,厂商标识X-02对应的密钥标识为key_A,厂商标识X-03对应的密钥标识为key_C,表示对应厂商标识X-01的充电设备采用B组密钥信息进行验证,对应厂商标识X-02的充电设备采用A组密钥信息进行验证,对应厂商标识X-03的充电设备采用C组密钥信息进行验证等,但不限于此。

终端设备接收连接的充电设备发送的厂商标识后,可根据预先存储的厂商标识与密钥标识的对应关系,获取与该接收的厂商标识对应的密钥标识,并以该密钥标识为索引,查找得到与该密钥标识对应的第一密钥信息。可选地,该第一密钥信息可为明文密钥,作为一种实施方式,终端设备可采用明文的方式直接对密钥信息进行存储,利用密钥标识即可查找到相应的第一密钥信息。

作为另一种实施方式,终端设备可采用密文的方式对密钥信息进行存储,可根据密钥标识,查找与该密钥标识对应的密钥密文,并通过安全管理模块对该密钥密文进行解密,得到密钥明文,并将该密钥明文作为与该密钥标识对应的第一密钥信息。

作为一种具体实施方式,密钥明文可被加密成密钥密文,并采用库文件的形式存储在终端设备中,例如,可采用.so库文件的形式存储。在终端设备需要对充电设备进行验证时,可根据厂商标识对应的密钥标识在该库文件中查找到对应的密钥密文,并将密钥密文传送到安全管理模块进行解密。其中,安全管理模块可运行有TA(trust application,可信任应用程序),通过TA对密钥密文进行解密,得到密钥明文。进一步地,安全管理模块可运行在TEE(Trusted execution environment,可信执行环境)中,TEE是终端设备中提供的一个安全、隔离的区域,能够保证数据处理的安全性。相较于相关技术中直接对密钥明文进行存储的方式,本申请实施例存储密钥密文,并在需要使用密钥时再利用TA进行解密,提高了对充电设备进行验证过程中的数据安全性。

步骤330,根据第一密钥信息生成第一密文信息。

终端设备可根据第一密钥信息对待加密数据进行加密,得到第一密文信息。作为一种实施方式,待加密数据可为预先存储在终端设备中的数据,该待加密数据可为固定数据。可选地,也可存储多组待加密数据,待加密数据可与厂商标识一一对应,终端设备可根据连接的充电设备发送的厂商标识获取对应的待加密数据,并根据第一密钥信息对待加密数据进行加密。

在一些实施例中,待加密数据可包括动态生成的随机数,终端设备在获取第一密钥信息后,可生成随机数,并根据该第一密钥信息及随机数生成第一密文信息。可预先设置随机数的数据格式,例如,随机数可包含有16个字节,每个字节可由随机生成的数字、字组或符号等组成,但不限于此。相较于相关技术中在终端设备开机后就生成固定的随机数,本申请可采用动态生成随机数的方式,在每次需要对充电设备进行验证时重新生成随机数,可增加破解难度,进一步提高生成的第一密文信息的安全性。

步骤340,向充电设备发送密钥标识,以使充电设备根据密钥标识对应的第二密钥信息生成第二密文信息。

终端设备可向充电设备发送与其厂商标识对应的密钥标识,充电设备接收到该密钥标识后,可根据该密钥标识查找密钥标识对应的第二密钥信息。该第二密钥信息可为明文密钥,可选地,充电设备中可直接以明文形式存储多组密钥信息,每组密钥信息与密钥标识对应,在接收到终端设备发送的密钥标识后,可根据该密钥标识查找到明文形式的第二密钥信息。可选地,充电设备也可以密文形式存储多组密钥信息,在接收到终端设备发送的密钥标识后,可根据该密钥标识查找到钥密密文,再对该密钥密文进行解密,以得到密钥标识对应的第二密钥信息。

充电设备可根据第二密钥信息对待加密数据进行加密,得到第二密文信息。可选地,待加密数据可预先存储充电设备中,充电设备获取到第二密钥信息后,可直接对存储的待加密数据进行加密,得到第二密文信息。

作为一种实施方式,待加密数据可为终端设备向充电设备发送的,终端设备可向充电设备发送密钥标识及待加密数据,充电设备获取到第二密钥信息后,再根据该第二密钥信息对接收的待加密数据进行加密,得到第二密文信息。进一步地,待加密数据可包括动态生成的随机数,终端设备可向充电设备发送密钥标识及随机数,以使充电设备根据密钥标识对应的第二密钥信息及随机数生成第二密文信息。

在一些实施例中,终端设备根据第一密钥信息对待加密数据进行加密,以及充电设备根据第二密钥信息对待加密数据进行加密所采用的加密算法,可包括但不限于AES(Advanced Encryption Standard,高级加密标准)加密算法、DES(Data EncryptionStandard,数据加密标准)加密算法等,本申请对此不作限定。

步骤350,接收充电设备发送的第二密文信息,若第二密文信息与第一密文信息相同,则对充电设备验证成功。

充电设备在生成第二密文信息后,可将第二密文信息发送给终端设备。终端设备可将第一密文信息与第二密文信息进行比对,判断二者是否相同。若第二密文信息与第一密文信息相同,则可说明充电设备解密成功,对充电设备验证成功。若第二密文信息与第一密文信息不同,则可说明充电设备解密失败,对充电设备验证失败。

在一些实施方式中,充电设备支持第一充电模式及第二充电模式,其中,第一充电模式的充电速度大于第二充电模式。由于在第一充电模式下,充电设备需要向终端设备输出更大的充电电压和/或充电电流,为了保证充电过程的安全性,需要充电设备必须是经过认证的合格充电设备。若终端设备对充电设备验证成功,说明充电设备是经过认证的正规厂商生产的充电设备,具有安全性保障,则充电设备可采用第一充电模式对终端设备进行充电。若终端设备对充电设备验证失败,则该充电设备可能是山寨产品,不是由经过认证的正规厂商生产的,则充电设备可采用第二充电模式对终端设备进行充电,而不能采用第一充电模式对终端设备进行充电,从而可保证终端设备在快充模式下的充电安全。

在本申请实施例中,针对不同厂商的充电设备,可根据厂商标识确定对应的密钥标识,以使用相应的密钥信息进行加解密,既可减少验证过程中数据被破解的情况,又能够有效防止山寨的充电设备带来的充电安全隐患,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

如图4所示,在另一个实施例中,提供一种充电安全验证方法,可应用于上述的终端设备,该方法可包括以下步骤:

步骤402,向服务器发送密钥数据查询请求,密钥数据查询请求用于请求从服务器获取密钥数据,密钥数据包括至少一个厂商标识及各个厂商标识对应的密钥标识。

终端设备的厂商可预先与充电设备的各个厂商进行密钥数据协商,针对每个充电设备的厂商,可分配多组密钥信息,比如,每个充电设备的厂商可分配有12组密钥信息,每个充电设备的厂商分配的密钥信息可相同也可不同。针对每个充电设备的厂商,终端设备的厂商可从分配的多组密钥信息中确定有效密钥信息,该有效密钥信息指的就是在对充电设备进行验证过程中采用的密钥信息。可将协商的密钥数据存储在服务器中,服务器还可建立每个充电设备的厂商当前对应的有效密钥信息的密钥标识与厂商标识之间的对应关系。

例如,A厂商分配有密钥标识为key_01~key_12的密钥信息,B厂商分配有密钥标识为key_13~key_24的密钥信息,可设置A厂商对应的有效密钥信息为密钥标识key_05的密钥信息,则服务器可存储A厂商的厂商标识X-AA对应的密钥标识为key_05,可设置B厂商对应的有效密钥信息为密钥标识key_19的密钥信息,则服务器可存储B厂商的厂商标识X-BB对应的密钥标识为key_19。通过为每个充电设备的厂商分配多组密钥信息,并选择其中一组密钥信息作为有效密钥信息的方式,可以增加对充电设备进行验证过程中数据被破解的难度,进一步提高安全性。

在一些实施例中,当出现某个充电设备的厂商标识及对应的密钥标识被破解的情况时,则终端设备的厂商可对该充电设备的厂商的有效密钥信息进行更改,变更该充电设备的厂商标识及对应的密钥标识,服务器可存储最新的厂商标识与密钥标识的对应关系,可进一步提高对充电设备进行验证的数据安全性,增加破解难度。作为一种实施方式,服务器也可每隔一定时长(例如半年、1年、10个月等)对各个厂商标识对应的密钥标识进行变更,可避免对于同一充电设备的厂商,长期使用同一个有效密钥信息,导致数据安全性降低的情况。

终端设备可与服务器建立通信连接,并向服务器发送密钥数据查询请求,服务器可接收终端设备发送的密钥数据查询请求,并根据该密钥数据查询请求向终端设备返回密钥数据,该密钥数据包括至少一个厂商标识及各个厂商标识对应的密钥标识,即服务器可将存储的厂商标识与密钥标识的对应关系发送给终端设备。

可选地,终端设备可在约定时间段内,随机向服务器发送密钥数据查询请求,该约定时间段可根据实际需求进行设置,例如每天早上6点~12点,或是每天早上9点~晚上9点,或是每周的周一~周三等时间段,但不限于此,终端设备可在该约定时间段内随机选择一个时间点向服务器发送密钥数据查询请求,可以避免在同一个时间点过多终端设备同时与服务器进行通信造成服务器压力过大的问题。

步骤404,接收服务器返回的密钥数据,并对密钥数据进行存储。

终端设备接收服务器返回的密钥数据后,可对该密钥数据进行解析,以得到一一对应的厂商标识及密钥标识,可按照预设的数据格式将解析得到的多对厂商标识及密钥标识连接成字符串,并将该字符串存储到存储器中,以方便后续进行查询。

步骤406,接收充电设备发送的厂商标识。

步骤408,获取与厂商标识对应的密钥标识,并根据该密钥标识查找与该密钥标识对应的第一密钥信息。

步骤410,根据第一密钥信息生成第一密文信息。

步骤406~410的描述可参考上述实施例中的相关描述,在此不再重复赘述。

步骤412,检测充电设备的输出电流,若输出电流与目标电流的差值小于差值阈值,则向充电设备发送密钥标识,以使充电设备根据密钥标识对应的第二密钥信息生成第二密文信息。

终端设备在向充龟设备发送密钥标识之前可检测充电设备的输出电流,并判断该输出电流与目标电流的差值是否小于差值阈值,该目标电流可为充电设备处于满载功率时输出的电流值。在充电设备与终端设备成功建立连接后,可慢慢提高输出电流的电流值,终端设备可对充电设备的输出电流进行检测,并判断该输出电流与目标电流的差值是否小于差值阈值,若充电设备的输出电流与目标电流的差值小于差值阈值,说明终端设备与充电设备之间的通信较为稳定,通信质量较好,则可与充电设备进行通信,向充电设备发送密钥标识及生成的随机数等数据,以保证充电设备能够准确接收到该数据并进行验证。

在一些实施例中,由于充电设备与终端设备之间可能存在偏位,例如终端设备未正放在无线充电底座上出现偏位,导致终端设备检测到的充电设备的输出电流较小,针对该情况,终端设备可判断与充电设备之间的通信是否稳定,若通信稳定,则也可与充电设备进行通信。

作为一种实施方式,若充电设备的输出电流与目标电流的差值不小于差值阈值,且充电设备的输出电流在目标时间段内的变化幅度小于幅度阈值,则终端设备向充电设备发送密钥标识。终端设备可在目标时间段内实时检测或每隔固定时间间隔检测充电设备的输出电流,并判断充电设备的输出电流在目标时间段内的变化幅度是否小于幅度阈值。可选地,该变化幅度可为目标时间段内检测到的最大输出电流与最小输出电流之间的差值,也可以为目标时间段内每相邻两次检测到的输出电流之间的差值的平均值。若充电设备的输出电流在目标时间段内的变化幅度是否小于幅度阈值,可确定充电设备的输出电流无法再增加,且二者的通信较为稳定,则可向充电设备发送密钥标识,由充电设备生成第二密钥信息。

作为另一种实施方式,若充电设备的输出电流与目标电流的差值不小于差值阈值,且连续目标次数检测到的充电设备的输出电流的变化幅度小于幅度阈值,则终端设备向充电设备发送厂商标识获取指令。终端设备可每隔固定时间间隔检测充电设备的输出电流,并判断连续目标次数检测到的充电设备的输出电流的变化幅度是否小于幅度阈值。若连续目标次数检测到的充电设备的输出电流的变化幅度小于幅度阈值,可确定充电设备的输出电流无法再增加,且二者的通信较为稳定,则可向充电设备发送密钥标识,由充电设备生成第二密钥信息。

需要说明的是,上述的差值阈值、目标时间段、目标次数及幅度阈值等均可根据实际需求进行设置,本申请实施例不对具体数值进行限定。在本申请实施例中,终端设备可通过检测充电设备的输出电流判断与充电设备之间的通信稳定性,在通信较为稳定、通信质量较好的情况下再与充电设备进行通信以及对充电设备进行验证,可避免由于通信质量问题导致验证失败的情况,提高验证效率。

步骤414,接收充电设备发送的第二密文信息,若第二密文信息与第一密文信息相同,则对充电设备验证成功。

步骤414的描述可参考上述实施例中的相关描述,在此不再重复赘述。

在本申请实施例中,终端设备可通过服务器获取厂商标识与密钥标识之间的对应关系,并对各个厂商标识及对应的密钥标识进行存储,以方便后续在对不同厂商的充电设备进行验证时,可根据充电设备对应的厂商标识查找到相应的密钥信息并进行加密,保证了对充电设备进行验证过程中的数据安全性,而且可以分辨出非正规厂商(在服务器中未存储该厂商的厂商标识),防止山寨的充电设备带来的充电安全隐患。

在一些实施例中,为了更好地说明本申请实施例提供的充电安全验证方法,下面将从终端设备的底层架构对充电安全验证方法的实施进行介绍。

示例性地,图5为一个实施例中电子设备的操作系统架构图。如图5所示,电子设备中的操作系统可包括应用层、框架层(Framework)、硬件抽象层(Hardware AbstractionLayer,HAL)及内核层(Kernel)。其中,应用层可以包括一系列应用程序包,框架层为应用层的应用程序提供应用编程接口(application programming interface,API)和编程框架。硬件抽象层是位于操作系统的内核与硬件模块之间的接口层,其目的在于将硬件抽象化,硬件抽象层隐藏了特定平台的硬件接口细节,内核层通过硬件抽象层能够访问底层的硬件模块。内核层则提供了各个硬件模块的驱动程序,同时还具备内存管理、系统进程管理、文件系统是、电源管理等功能。需要说明的是,硬件抽象层也可设置在内核层的下层,具体的操作系统架构可参考各个操作系统的设计及实际需求。

在一些实施例中,终端设备可通过应用层与服务器进行通信交互,可通过应用层向服务器发送密钥数据查询请求,并获取服务器返回的密钥数据,应用层可通过调用HIDL接口将从服务器获取的密钥数据下发到硬件抽象层,其中,HIDL为硬件抽象层定义的接口描述语言。硬件抽象层可调用数据解析函数对密钥数据进行解析,以得到一一对应的厂商标识及密钥标识。例如,硬件抽象层可调用SetCustomIdKeyId等函数对密钥数据进行解析。进一步地,在解析过程中,还可对该密钥数据进行校验,若校验成功,则说明密钥数据准确,若校验失败,则说明应用层从服务器获取的密钥数据存在错误,则可终止解析操作。

硬件抽象层在解析得到一一对应的厂商标识及密钥标识后,可将一一对应的厂商标识与密钥标识进行存储。可将一一对应的厂商标识与密钥标识连接成字符串,并在该字符串之前添加预设标签,该预设标签可用于表征该字符串包含有厂商标识及对应的密钥标识,硬件抽象层可将该字符串写入存储器中指定分区中。

在终端设备对充电设备进行验证的过程中,通过终端设备的内核层对充电设备进行验证,而由于内核层无法直接访问存储器的指定分区,因此内核层需要通过硬件抽象层对该指定分区进行访问,才能够获取到验证过程中所需的数据。可在终端设备开机启动时,创建硬件抽象层与内核层之间的通信线程,该通信线程可用于硬件抽象层与内核层之间的信息交互。可在内核层中创建交互节点(如mutual节点),该交互节点可理解为是内核层与硬件抽象层之间交互使用的文件,用于实现内核层与硬件抽象层之间的信息交互。硬件抽象层的通信线程可对内核层的交互节点进行访问,以实现硬件抽象层与内核层之间的通信。在硬件抽象层需要与内核层交互时,硬件抽象层的通信线程可将通信数据写入该交互节点,再由内核层从该交互节点中读取;在内核层需要与硬件抽象层交互时,内核层可将通信数据写入该交互节点,再由硬件抽象层的通信线程从该交互节点中读取。

在一些实施例中,由于硬件抽象层的初始化与内核层的初始化可能存在时序先后关系,可能会现现在硬件抽象层的通信线程加载时,内核层的交互节点还未创建的情况。因此,在成功加载通信线程后,硬件抽象层可每隔预设时长对交互节点进行轮询,例如,可每隔1秒或每隔2秒等对交互节点进行轮询,判断是否能够正常访问到交互节点。若硬件抽象层能够正常访问到交互节点,则内核层则可与硬件抽象层进行正常信息交互。若硬件抽象层在第一时长(例如15秒、20秒或30秒等)后,硬件抽象层还未能正常访问到该交互节点,则硬件抽象层可先关闭该通信线程。可避免硬件抽象层中的通信线程一直处于运行状态,可减少资源浪费。

内核层的交互节点可与内核缓存区对应,内核缓存区可为内核层与硬件抽象层之间的共享内存,通过交互节点可实现内核层与硬件抽象层之间共享同一块内存,均可对内核缓存区进行数据读取及写入。

在内核层检测到产生的连接中断信号时,即确定终端设备与充电设备建立连接,终端设备可通过内核层向充电设备发送厂商标识获取指令,并获取充电设备返回的厂商标识。在一些实施例中,内核层可调用状态机线程,该状态机线程可用于表征终端设备与充电设备之间的状态。在状态机线程所表征的状态机处于初始状态时,终端设备可通过内核层向充电设备发送类型命令,以获取充电设备的类型码,若内核层在指定的第一回复时长(例如5秒、3秒等)内未获取到充电设备回复的类型码,则可确定与该充电设备通信质量较差或是充电设备不具备通信功能,则充电设备可按照第二充电模式对终端设备进行充电。若内核层根据充电设备的类型码确定充电设备为第三方充电设备,则可向充电设备发送厂商标识获取指令,并获取充电设备返回的厂商标识。若内核层在指定的第二回复时长(例如5秒、6秒等)内未获取到充电设备返回的厂商标识,则可确定通信超时,可将充电设备的设备类型重新设定为未知类型,状态机线程所表示的状态机重新回到初始状态。

若内核层获取到充电设备返回的厂商标识,则需要对充电设备进行验证,需要获取验证过程中相关的数据,因此需要与硬件抽象层进行交互。终端设备可通过内核层将该厂商标识写入到内核缓存区,以使硬件抽象层从内核缓存区中读取该厂商标识,获取与该厂商标识对应的密钥标识,并根据该密钥标识查找与该密钥标识对应的第一密钥信息。再通过硬件抽象层根据第一密钥信息生成第一密文信息,并将该第一密文信息写入内核缓存区,以使内核层从该内核缓存区中读取第一密文信息。

作为一种具体实施方式,内核层可通过交互节点向内核缓存区中写入厂商标识,硬件抽象层通过该交互节点从内核缓存区中读取内核层写入的厂商标识。硬件抽象层可从存储器的指定内存中读取之前存储的字符串,并对该字符串进行解析得到一一对应的厂商标识及密钥标识,再将从内核缓存区读取的厂商标识与从字符串中解析得到的厂商标识进行比对,从而查找到该从内核缓存区读取的厂商标识所对应的密钥标识。进一步地,硬件抽象层可从存储器的指定内存中读取特定结构体的字符串,可在对字符串进行解析后,得到该字符串所携带的标签,可判断该标签是否为预设标签,若为预设标签,则说明该字符串包含有厂商标识及对应的密钥标识,从而可获取到一一对应的厂商标识及密钥标识。通过字符串所携带的标识可准确识别出该字符串的内容,提高数据传输的准确性及效率。

硬件抽象层获取到与从内核缓存区读取的厂商标识对应的密钥标识后,可根据该密钥标识查找到该密钥标识对应的密钥密文,并将密钥密文发送至安全管理模块,通过安全管理模块对该密钥密文进行解密,得到密钥明文。硬件抽象层可获取安全管理模块解密得到的密钥明文,并将该密钥明文作为与该密钥标识对应的第一密钥信息。硬件抽象层可生成随机数,并根据该第一密钥信息对随机数进行加密,以得到第一密文信息。硬件抽象层可通过交互节点将该第一密文信息写入内核缓存区中,内核层再通过该交互节点从内核缓存区中读取该第一密文信息。

在一些实施例中,内核层与硬件抽象层之间可约定传输的数据结构,并按照该约定的数据结构向内核缓存层中写入命令及数据。例如,该数据结构可包括:Cmd:xxx、Data_size:xxx及Data_buf:xxx,其中,Cmd:xxx为命令的数据结构,如Cmd:wls_aes_auth,表示加解密认证命令;Data_size:xxx表示本次传输的数据块的大小,即写入的数据占内核缓存层的空间大小;Data_buf:xxx表示本次传输的具体数据块,即写入到内核缓存层中的具体数据。

在内核层获取到充电设备发送的厂商标识后,可按照上述的数据结构,向内核缓存层中写入加解密认证命令及厂商标识。硬件抽象层从内核缓存层中读取内核层写入的数据,可按照上述的数据结构对读取的数据进行解析,得到加解密认证命令及厂商标识,可根据该加解密认证命令执行充电加解密函数,即从存储器的指定内存中读取之前存储的字符串,并找到该厂商标识对应的密钥标识,再根据该密钥标识对应的第一密钥信息生成第一密文信息。

硬件抽象层在生成第一密文信息后,可再按照上述的数据结构,向内核缓存层中写入第一密文信息、随机数及密钥标识等数据,同时写入加解密认证命令。内核层可从内核缓存层读取硬件抽象层写入的数据,并按照上述的数据结构对读取的数据进行解析,得到该加解密认证命令,以及第一密文信息、随机数及密钥标识等数据。内核层在解析得到硬件抽象层写入的Cmd命令后,可先判断该Cmd命令与自身之前写入的Cmd命令是否相同,例如,可判断是否均为wls_aes_auth命令,若是,则说明从内核缓存层读取的数据即为硬件抽象层的执行处理结果,内核层需要对该Cmd命令进行处理,再从读取的数据中解析得到第一密文信息、随机数及密钥标识等数据。

在一些实施例中,内核层与硬件抽象层之间的通信,还可设置有命令锁,以保证内核层与硬件抽象层之间的命令能够正常进行传输及执行。在内核层向内核缓存区写入命令之前,可先判断硬件抽象层是否处于命令接收状态,若硬件抽象层未处于命令接收状态,则表示硬件抽象层还没准备好接收命令,则内核层不能向内核缓存层中写入命令。若硬件抽象层处于命令接收状态,则内核层可向内核缓存层写入命令,并设置命令锁,该命令锁可用于防止内核层写入的命令覆盖的问题。在确定该命令执行完成后(如内核层接收到硬件抽象层返回的第一加密信息等数据),则可释放该命令锁。而在写入的命令持有命令锁的过程中,内核层无法再向内核缓存层写入新的命令。可选地,可设置持有命令锁的最大时长,若写入的命令持有命令锁的时长达到该最大时长,且命令未执行完成,则确定命令处理超时,可返回通信的超时标记并释放命令锁。

在一些实施例中,在内核层的状态机线程所表征的状态机处于充电状态时,充电设备向终端设备传输的输出电流会逐渐增大。终端设备的内核层可获取充电设备的输出电流,并在检测到该输出电流与目标电流的差值小于差值阈值时,调用加解密线程对充电设备进行验证。进一步地,如果充电设备与终端设备之间存在偏位,内核层确定充电设备的输出电流无法上不去,即输出电流与目标电流的差值不小于差值阈值,则可多次对该输出电流进行检测,并根据输出电流的变化幅度来判断是否调用加解密线程。

在内核层调用加解密线程时,可先判断需要向充电设备发送的数据(即密钥标识、随机数等)是否准备完成,若未准备完成,内核层可重新与硬件抽象层进行交互,以获取密钥标识、随机数及第一密文信息等数据。终端设备可向充电设备发送密钥标识及随机数,充电设备根据该密钥标识查找对应的第二密钥信息,并根据该第二密钥信息对随机数进行加密,得到第二密文信息,再将第二密文信息发送给终端设备。可选地,在终端设备向充电设备发送密钥标识及随机数的过程中,会涉及到多帧的通信交互,由于每帧通信数据包所携带的数据有限,因此可设置第三回复时长,在终端设备每次向充电设备发送一帧数据包时,可判断在该第三回复时长内是否接收到充电设备返回的响应信息,若未接收到充电设备返回的响应信息,则说明数据传输失败,可对通信芯片进行复位,断开与充电设备之间的通信连接。断开通信连接之后,终端设备可重新与充电设备建立通信连接,并重新进行验证,也可不对充电设备再次进行验证,此时充电设备仅可采用第二充电模式对终端设备进行充电。

终端设备的内核层获取到该第二密文信息后,可将第二密文信息与第一密文信息进行比对,判断二者是否相同,若第二密文信息与第一密文信息相同,则可确认对充电设备验证成功。作为一种实施方式,若终端设备检测到第二密文信息与第一密文信息不同,即验证失败,则终端设备可重新向充电设备发送密钥标识及随机数,若验证失败的次数达到次数阈值,则可对通信芯片进行复位,断开与充电设备之间的通信连接,此时充电设备仅可采用第二充电模式对终端设备进行充电。

在本申请实施例中,终端设备通过内核层与硬件抽象层之间的通信交互,能够保证准确对充电设备进行验证,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

如图6所示,在一个实施例中,上述的充电安全验证方法,还可包括以下步骤:

步骤602,接收充电设备发送的扩展命令集信息及型号标识。

在一些实施例中,终端设备可向充电设备发送扩展命令获取指令及终端设备对应的型号标识。其中,该扩展命令获取指令可用于指示充电设备向终端设备返回支持的扩展命令集信息,扩展命令集信息可包括但不限于命令集名称、命令集编号或是命令集代码等,用于表征充电设备所支持的扩展命令集。扩展命令集可指的是充电设备能够识别并处理的扩展命令集合。该终端设备对应的型号标识可用于表征终端设备的产品型号,不同型号的终端设备可对应不同的型号标识,如同一厂商生产的不同型号的终端设备,可对应不同的型号标识。

充电设备接收到终端设备发送的扩展命令获取指令及终端设备对应的型号标识后,可根据该扩展命令获取指令向终端设备返回支持的扩展命令集信息,以及回复充电设备的型号标识,该充电设备的型号标识可用于表征充电设备的产品型号。终端设备与充电设备通过互相发送型号标识,彼此可以识别到对方的产品型号,从而在后续检测到某个产品型号的终端设备或某个产品型号的充电设备出现硬件信号差异时,可进行定制的客制化以避免出现兼容性问题。

步骤604,根据扩展命令集信息及型号标识生成充电状态数据包,充电状态数据包中包括用于描述终端设备的充电状态的状态数据。

终端设备在获取到充电设备支持的扩展命令集信息及型号标识后,可根据该扩展命令集信息,生成与该型号标识匹配的充电状态数据包,该充电状态数据包可为私有协议包,符合充电设备与终端设备之间的私有通信协议,且由于按照充电设备支持的扩展命令集生成,充电设备接收到该充电状态数据包后,能够准确识别并处理该充电状态数据包。

充电状态数据包中可包括用于描述终端设备的充电状态的状态数据,该状态数据可包括但不限于终端设备当前的剩余电量、电池温度、充电电流、充电电压、充电功率等中的一种或多种。

步骤606,向充电设备发送充电状态数据包,以使充电设备对充电状态数据包进行解析,以得到状态数据,并输出状态数据。

充电设备接收到终端设备发送的充电状态数据包后,可对该充电状态数据包进行解析,得到终端设备的充电状态的状态数据,并输出该状态数据。可选地,充电设备输出状态数据的方式可以有多种,例如,充电设备上包括显示装置,可通过该显示装置显示该状态数据;或者充电设备上可包括音频输出装置,可通过该音频输出装置以音频的方式输出该状态数据等,但不限于此。

在本申请实施例中,终端设备与充电设备之间可进行产品型号识别,从而方便进行兼容性定制,且终端设备可根据充电设备支持的扩展命令集信息生成充电状态数据包,以保证充电设备能够准确识别并解析该充电状态数据包,得到用于描述终端设备的充电状态的状态数据,充电设备可对该状态数据进行输出,方便用户及时获知终端设备的充电状态,满足用户需求。

如图7所示,在一个实施例中,提供另一种充电安全验证方法,可应用于上述的充电设备。该方法可包括以下步骤:

步骤710,向终端设备发送厂商标识,以使终端设备获取与厂商标识对应的密钥标识,并根据密钥标识查找与密钥标识对应的第一密钥信息,以及根据第一密钥信息生成第一密文信息。

步骤720,接收终端设备发送的密钥标识,并根据密钥标识对应的第二密钥信息生成第二密文信息。

在一个实施例中,步骤720可包括:接收终端设备发送的密钥标识及生成的随机数,并根据该密钥标识对应的第二密钥信息及该随机数生成第二密文信息。

步骤730,向终端设备发送第二密文信息,以使终端设备在确定第二密文信息与第一密文信息相同的情况下,对充电设备验证成功。

在一个实施例中,该方法还包括:向终端设备发送扩展命令集信息及型号标识,以使终端设备根据该扩展命令集信息及型号标识生成充电状态数据包,充电状态数据包中包括用于描述终端设备的充电状态的状态数据;接收终端设备发送的充电状态数据包,对充电状态数据包进行解析,以得到状态数据,并输出该状态数据。

需要说明的是,本申请实施例提供的应用于充电设备的充电安全验证方法的描述,可参考上述各实施例中提供的应用于终端设备的充电安全验证方法的相关描述,在此不再重复赘述。

在本申请实施例中,针对不同厂商的充电设备,终端设备可根据厂商标识确定对应的密钥标识,以使用相应的密钥信息进行加解密,既可减少验证过程中数据被破解的情况,又能够有效防止山寨的充电设备带来的充电安全隐患,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

如图8所示,在一个实施例中,提供一种充电安全验证装置800,可应用于上述的终端设备,充电安全验证装置800可包括接收模块810、密钥查找模块820、密文生成模块830及发送模块840。

接收模块810,用于接收充电设备发送的厂商标识。

密钥查找模块820,用于获取与厂商标识对应的密钥标识,并根据密钥标识查找与密钥标识对应的第一密钥信息。

在一个实施例中,密钥查找模块820,还用于根据密钥标识,查找与密钥标识对应的密钥密文;通过安全管理模块对密钥密文进行解密,得到密钥明文,并将密钥明文作为与密钥标识对应的第一密钥信息。

密文生成模块830,用于根据第一密钥信息生成第一密文信息。

发送模块840,用于向充电设备发送密钥标识,以使充电设备根据密钥标识对应的第二密钥信息生成第二密文信息。

在一个实施例中,密文生成模块830,还用于生成随机数,并根据第一密钥信息及随机数生成第一密文信息。

发送模块840,还用于向充电设备发送密钥标识及随机数,以使充电设备根据密钥标识对应的第二密钥信息及随机数生成第二密文信息。

接收模块810,还用于接收充电设备发送的第二密文信息,若第二密文信息与第一密文信息相同,则对充电设备验证成功。

在本申请实施例中,针对不同厂商的充电设备,终端设备可根据厂商标识确定对应的密钥标识,以使用相应的密钥信息进行加解密,既可减少验证过程中数据被破解的情况,又能够有效防止山寨的充电设备带来的充电安全隐患,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

在一个实施例中,充电安全验证装置800还包括请求模块及密钥获取模块。

请求模块,用于向服务器发送密钥数据查询请求,密钥数据查询请求用于请求从服务器获取密钥数据,密钥数据包括至少一个厂商标识及各个厂商标识对应的密钥标识。

密钥获取模块,用于接收服务器返回的密钥数据,并对密钥数据进行存储。

在一个实施例中,充电安全验证装置800还包括电流检测模块。

电流检测模块,用于检测充电设备的输出电流。

发送模块840,还用于若输出电流与目标电流的差值小于差值阈值,则向充电设备发送密钥标识。

在一个实施例中,发送模块840,还用于若输出电流与目标电流的差值不小于差值阈值,且充电设备的输出电流在目标时间段内的变化幅度小于幅度阈值,则向充电设备发送密钥标识;或,若输出电流与目标电流的差值不小于差值阈值,且连续目标次数检测到的充电设备的输出电流的变化幅度小于幅度阈值,则向充电设备发送密钥标识。

在本申请实施例中,终端设备可通过服务器获取厂商标识与密钥标识之间的对应关系,并对各个厂商标识及对应的密钥标识进行存储,以方便后续在对不同厂商的充电设备进行验证时,可根据充电设备对应的厂商标识查找到相应的密钥信息并进行加密,保证了对充电设备进行验证过程中的数据安全性,而且可以分辨出非正规厂商(在服务器中未存储该厂商的厂商标识),防止山寨的充电设备带来的充电安全隐患。

在一个实施例中,密钥查找模块820,还用于通过内核层将厂商标识写入内核缓存区,以使硬件抽象层从内核缓存区中读取所述厂商标识,获取与厂商标识对应的密钥标识,并根据密钥标识查找与密钥标识对应的第一密钥信息。

密文生成模块830,还用于通过硬件抽象层根据第一密钥信息生成第一密文信息,并将第一密文信息写入内核缓存区,以使内核层从内核缓存区中读取第一密文信息。

在本申请实施例中,终端设备通过内核层与硬件抽象层之间的通信交互,能够保证准确对充电设备进行验证,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

在一个实施例中,充电安全验证装置800还包括数据包生成模块。

接收模块810,还用于接收充电设备发送的扩展命令集信息及型号标识。

数据包生成模块,用于根据扩展命令集信息及型号标识生成充电状态数据包,充电状态数据包中包括用于描述终端设备的充电状态的状态数据。

发送模块840,还用于向充电设备发送充电状态数据包,以使充电设备对所述充电状态数据包进行解析,以得到状态数据,并输出状态数据。

在本申请实施例中,终端设备与充电设备之间可进行产品型号识别,从而方便进行兼容性定制,且终端设备可根据充电设备支持的扩展命令集信息生成充电状态数据包,以保证充电设备能够准确识别并解析该充电状态数据包,得到用于描述终端设备的充电状态的状态数据,充电设备可对该状态数据进行输出,方便用户及时获知终端设备的充电状态,满足用户需求。

如图9所示,在一个实施例中,提供一种充电安全验证装置900,可应用于上述的充电设备,充电安全验证装置900可包括发送模块910及接收模块920。

发送模块910,用于向终端设备发送厂商标识,以使终端设备获取与厂商标识对应的密钥标识,并根据密钥标识查找与密钥标识对应的第一密钥信息,以及根据第一密钥信息生成第一密文信息。

接收模块920,用于接收终端设备发送的密钥标识,并根据密钥标识对应的第二密钥信息生成第二密文信息。

在一个实施例中,接收模块920,还用于接收终端设备发送的密钥标识及生成的随机数,并根据该密钥标识对应的第二密钥信息及该随机数生成第二密文信息。

发送模块910,还用于向终端设备发送第二密文信息,以使终端设备在确定第二密文信息与第一密文信息相同的情况下,对充电设备验证成功。

在一个实施例中,发送模块910,还用于向终端设备发送扩展命令集信息及型号标识,以使终端设备根据该扩展命令集信息及型号标识生成充电状态数据包,充电状态数据包中包括用于描述终端设备的充电状态的状态数据。

接收模块920,还用于接收终端设备发送的充电状态数据包,对充电状态数据包进行解析,以得到状态数据,并输出该状态数据。

在本申请实施例中,针对不同厂商的充电设备,终端设备可根据厂商标识确定对应的密钥标识,以使用相应的密钥信息进行加解密,既可减少验证过程中数据被破解的情况,又能够有效防止山寨的充电设备带来的充电安全隐患,提高了对充电设备进行验证过程中的数据安全性,且保障了充电安全性。

图10为一个实施例中终端设备的结构框图。如图10所示,终端设备1000可以包括一个或多个如下部件:处理器1010、与处理器1010耦合的存储器1020,其中存储器1020可存储有一个或多个计算机程序,一个或多个计算机程序可以被配置为由一个或多个处理器1010执行时实现如上述各实施例描述的应用于终端设备的充电安全验证方法。

处理器1010可以包括一个或者多个处理核。处理器1010利用各种接口和线路连接整个终端设备1000内的各个部分,通过运行或执行存储在存储器1020内的指令、程序、代码集或指令集,以及调用存储在存储器1020内的数据,执行终端设备1000的各种功能和处理数据。可选地,处理器1010可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1010可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1010中,单独通过一块通信芯片进行实现。

存储器1020可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。存储器1020可用于存储指令、程序、代码、代码集或指令集。存储器1020可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等。存储数据区还可以存储终端设备1000在使用中所创建的数据等。

可以理解地,终端设备1000可包括比上述结构框图中更多或更少的结构元件,例如,包括电源模块、物理按键、WiFi(Wireless Fidelity,无线保真)模块、扬声器、蓝牙模块、传感器等,还可在此不进行限定。

本申请实施例公开一种充电设备,包括存储器及处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时,使得处理器实现如上述各实施例描述的应用于充电设备的充电安全验证方法

本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序被处理器执行时实现如上述各实施例描述的应用于终端设备的充电安全验证方法。

本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序被处理器执行时实现如上述各实施例描述的应用于充电设备的充电安全验证方法。

本申请实施例公开一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可被处理器执行时实现如上述各实施例描述的应用于终端设备的充电安全验证方法。

本申请实施例公开一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可被处理器执行时实现如上述各实施例描述的应用于充电设备的充电安全验证方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM等。

如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Erasable PROM,EPROM)、电可擦除PROM(Electrically ErasablePROM,EEPROM)或闪存。易失性存储器可包括随机存取存储器(random access memory,RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM可为多种形式,诸如静态RAM(Static RAM,SRAM)、动态RAM(Dynamic Random Access Memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、双倍数据率SDRAM(Double Data Rate SDRAM,DDR SDRAM)、增强型SDRAM(Enhanced Synchronous DRAM,ESDRAM)、同步链路DRAM(Synchlink DRAM,SLDRAM)、存储器总线直接RAM(Rambus DRAM,RDRAM)及直接存储器总线动态RAM(DirectRambus DRAM,DRDRAM)。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在本申请的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上对本申请实施例公开的一种充电安全验证方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 基于区块链的交易验证方法、装置、存储介质及电子设备
  • 基于压力感应的登录验证方法、装置、存储介质电子设备
  • 指纹识别登录验证方法、装置、存储介质及电子设备
  • 生成、验证二维码的方法和装置,存储介质和电子设备
  • 票据验证方法及装置、电子设备及存储介质
  • 安全验证方法、装置、电子设备及存储介质
  • 安全验证方法、装置、电子设备及存储介质
技术分类

06120116496594