CN111309360B - 快充设备的固件更新方法、装置、计算机设备及存储介质 - Google Patents

快充设备的固件更新方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111309360B
CN111309360B CN202010082332.4A CN202010082332A CN111309360B CN 111309360 B CN111309360 B CN 111309360B CN 202010082332 A CN202010082332 A CN 202010082332A CN 111309360 B CN111309360 B CN 111309360B
Authority
CN
China
Prior art keywords
firmware
updated
verification information
quick charging
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010082332.4A
Other languages
English (en)
Other versions
CN111309360A (zh
Inventor
于旸
马卓
黎烨
戴戈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010082332.4A priority Critical patent/CN111309360B/zh
Publication of CN111309360A publication Critical patent/CN111309360A/zh
Application granted granted Critical
Publication of CN111309360B publication Critical patent/CN111309360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本申请是关于一种快充设备的固件更新方法、装置、计算机设备及存储介质,涉及数据处理技术领域。该方法包括:响应于快充设备与固件更新控制设备建立通信连接,快充设备接收固件更新控制设备通过通信连接发送的待更新固件,其中,待更新固件中附加有所述待更新固件的校验信息,待更新固件是在快充设备中实现快速充电协议的程序,然后快充设备从待更新固件中获取附加的校验信息,根据校验信息对待更新固件进行校验,响应于对待更新固件校验成功,将待更新固件更新至快充设备的充电管理芯片中。通过上述方案,可以避免将被恶意修改的待更新固件更新到充电管理芯片中,提高了快充设备的安全性。

Description

快充设备的固件更新方法、装置、计算机设备及存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种快充设备的固件更新方法、装置、计算机设备及存储介质。
背景技术
快速充电技术是近期出现的用来实现对用电设备快速充电和供电的充电技术,相较于传统的充电方式,快速充电技术可以在较短的时间为用电设备提供大功率的供电。
在使用快速充电技术对受电端进行充电时,可以基于快充协议实现充电端与受电端之间的通讯,从而选择适当的电压-电流组合档位对受电端进行充电。在相关技术中,快充协议运行在充电端与受电端的充电管理芯片中的固件程序上,可以通过在受电端使用的Type-C接口中冗余的引脚中引出SWD(Serial Wire Debug,串行接线调试)引脚,利用SWD调试协议对固件进行刷写更新。
然而,相关技术中的利用SWD调试协议对固件进行更新的方案并不能保证在更新固件的过程中不会被刷入恶意修改过的固件,而经过恶意修改的固件在实际充电的过程中可能会导致充电设备进行异常工作,从而导致充电设备造成永久的电气损害,影响了快充设备的安全性。
发明内容
本申请实施例提供了一种快充设备的固件更新方法、装置、计算机设备及存储介质,可以加强快速充电的安全性能,技术方案如下:
一方面,提供了一种快充设备的固件更新方法,所述方法由所述快充设备执行,所述方法包括:
响应于所述快充设备与固件更新控制设备建立通信连接,接收所述固件更新控制设备通过所述通信连接发送的待更新固件,所述待更新固件中附加有所述待更新固件的校验信息,所述待更新固件是在所述快充设备中实现快速充电协议的程序;
从所述待更新固件中获取附加的所述校验信息;
根据所述校验信息对所述待更新固件进行校验;
响应于对所述待更新固件校验成功,将所述待更新固件更新至所述快充设备的充电管理芯片中。
一方面,提供了一种快充设备的固件更新装置,所述装置用于所述快充设备中,所述装置包括:
固件接收模块,用于响应于所述快充设备与固件更新控制设备建立通信连接,接收所述固件更新控制设备通过所述通信连接发送的待更新固件,所述待更新固件中附加有所述待更新固件的校验信息,所述待更新固件是在所述快充设备中实现快速充电协议的程序;
信息获取模块,用于从所述待更新固件中获取附加的所述校验信息;
固件校验模块,用于根据所述校验信息对所述待更新固件进行校验;
固件更新模块,用于响应于对所述待更新固件校验成功,将所述待更新固件更新至所述快充设备的充电管理芯片中。
在一种可能的实现方式中,所述信息获取模块,包括:
加密信息获取子模块,用于从所述待更新固件中提取所述待更新固件的加密校验信息,所述加密校验信息是对所述校验信息进行加密得到的;
信息解密子模块,用于对所述加密校验信息进行解密,获得所述校验信息。
在一种可能的实现方式中,所述信息解密子模块,包括:
第一信息解密单元,用于响应于所述加密校验信息是通过非对称加密方式的公钥对所述校验信息进行签名得到的信息,通过所述公钥对应的私钥对所述加密校验信息进行解密,获得所述校验信息。
在一种可能的实现方式中,所述信息解密子模块,包括:
第二信息解密单元,用于响应于所述加密校验信息是通过对称加密方式加密的信息,通过对称密钥对所述加密校验信息进行解密,获得所述校验信息;所述对称密钥是由所述快充设备的厂商设置的密钥。
在一种可能的实现方式中,所述第二信息解密单元,用于,
响应于所述加密校验信息是通过对称加密方式加密的信息,通过所述对称密钥对所述待更新固件进行解密,获得解密后的所述待更新固件;
获取解密后的所述待更新固件中附加的所述校验信息。
在一种可能的实现方式中,所述装置包括:
程序暂存子模块,用于接收所述固件更新控制设备通过所述通信连接发送的待更新固件之后,将所述待更新固件暂存在所述快充设备的临时存储区域中;
所述固件更新模块,包括:
固件更新子模块,用于响应于所述待更新固件校验成功,将所述待更新固件更新至充电管理芯片的固件存储区域中。
在一种可能的实现方式中,所述临时存储区域是禁止程序自动运行的存储区域。
在一种可能实现的方式中,所述装置还包括:
风险提示模块,用于响应于对所述待更新固件校验失败,向所述固件更新控制设备返回风险提示信息,所述风险提示信息用于提示所述固件更新程序存在安全风险。
在一种可能实现的方式中,所述固件接收模块,包括:
固件接收子模块,用于响应于所述快充设备与固件更新控制设备建立USB(Universal Serial Bus,通用串行总线)连接,接收所述固件更新控制设备通过所述USB连接发送的所述待更新固件。
在一种可能实现的方式中,所述固件接收子模块,包括:
第一固件接收单元,用于接收所述固件更新控制设备通过所述USB连接,基于快速充电协议中的厂商定义消息VDM(Vendor Defind Message,厂商定义消息)发送的所述待更新固件;
或者,
第二固件接收单元,用于接收所述固件更新控制设备通过基于所述USB连接中的冗余引脚实现的通信协议发送的所述待更新固件。
在一种可能实现的方式中,所述USB连接是基于C型USB接口的连接。
在一种可能实现的方式中,所述快充设备是支持快速充电协议的充电设备或者受电设备。
一方面,提供了一种计算机设备,该计算机设备包含处理器和存储器,存储器中存储由至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述任一可选实现方式所述的快充设备的固件更新方法。
一方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述任一可选实现方式所述的快充设备的固件更新方法。
本申请提供的技术方案可以包括以下有益效果:
本申请实施例提供的快充设备的固件更新方案,响应于快充设备与固件更新控制设备建立通信连接,快充设备接收固件更新控制设备通过通信连接发送的待更新固件,其中,待更新固件中附加有所述待更新固件的校验信息,待更新固件是在快充设备中实现快速充电协议的程序,然后快充设备从待更新固件中获取附加的校验信息,根据校验信息对待更新固件进行校验,响应于对待更新固件校验成功,将待更新固件更新至快充设备的充电管理芯片中。通过上述方案,快充设备在将待更新固件更新到充电管理芯片中之前,首先通过校验信息对待更新固件进行校验,避免将被恶意修改后的待更新固件更新到充电管理芯片中,从而避免恶意修改的固件造成快充设备的异常工作的情况,提高了快充设备的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个示例性的实施例提供的一种固件更新系统的示意图;
图2是本申请一个示例性的实施例提供的一种固件更新的方法示意图;
图3是本申请一个示例性的实施例提供的一种固件更新的流程示意图;
图4是本申请一个示例性的实施例提供的一种快充设备的固件更新方法的流程示意图;
图5是本申请一个示例性的实施例提供的快充设备的固件更新方法的流程示意图;
图6是图5所示实施例涉及的一种固件更新程序发布的示意图;
图7是图5所示实施例涉及的一种固件更新控制设备自动化完成固件更新的流程图;
图8是图5所示实施例涉及的一种固件更新算法的流程图;
图9是根据一示例性实施例示出的快充设备的固件更新装置的结构方框图;
图10是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
1)快速充电技术
快速充电技术可以是基于USB type-c接口的充电技术,是用来实现对快充设备的快速充电和供电。快速充电技术多用在笔记本,手机等使用锂电池供电的设备中,可以在较短的时间内完成充电或者提供大功率的供电。
2)快速充电协议
快速充电协议即快充协议是用来实现充电端和受电端进行通讯,并且完成电力协商而设计的一种协议。通过使用快充协议,充电端可以提供一组供受电端选择的电压-电流组合的档位,受电端可以通过协议选择其中一个档位对自己供电。快充协议可以使受电端选择最适合自己的功率档位进行充电。
快充协议是在软件层面上实现的,通过编写相应的控制程序,充电设备和受电设备均可以使用快充协议进行通讯。这一部分软件是运行在两端设备充电管理芯片中的固件程序。快充协议是可以传输数据的,通过快充协议的数据传输通道可以实现固件的更新功能。
3)公钥数字签名技术
公钥数字签名技术是指使用公开密钥密码学方法对数据进行加密的技术,其中,使用私钥对数据进行加密,可以使用公钥进行解密,进行加密的数据可以被校验但是不可以被篡改。
4)固件
固件是运行在芯片内部的程序代码,可以是用于实现快速充电协议的二进制代码。
请参考图1,其示出了本申请一个实施例提供的固件更新系统的示意图。如图1所示,该系统可以包括固件更新控制设备110和快充设备120以及厂商服务器130,其中,快充设备120中可以包括充电设备121和受电设备122中的至少一种。
可选的,固件更新控制设备110可以与快充设备120通过USB(Universal SerialBus,通用串行总线)接口进行连接,可以通过USB接口进行数据传输。
比如,固件更新控制设备110可以是计算机设备或者终端。
其中,USB接口可以是USB type-c的UVDM(Un-vendor Defind Message,非厂商定义消息)接口,或者芯片固件的私有协议接口,或者,PD(Power Delivery,充电)协议的VDM接口中的任意一种。
可选的,充电设备121和受电设备122的内部可以含有用来进行充电功能的充电管理芯片,充电管理芯片中可以存储有用来控制充电的固件程序。
比如,受电设备122可以是包括移动终端在内的各种需要供电的设备,充电设备121可以是一种充电头设备。
可选的,厂商服务器130与固件更新控制设备110可以通过有线或者无线网络的方式进行数据传输。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
请参考图2,其示出了本申请一个实施例提供的固件更新的方法示意图。如图2所示,该固件更新方法可以包括以下步骤:
在步骤201中,计算机设备对固件进行编译以及发布。
在一种可能的实现方式中,该流程包含如何实现一个安全的固件发布,并保证设备固件不易被外部攻击篡改。具体流程如下:
上述流程为厂商进行固件更新发的流程设计,共包含两种方案:对称加密方案和非对称加密方案。两种方案的整体流程一致,但是加密手段保护方式略有不同。
首先,厂商需编译出需要更新的固件程序,然后根据固件的相关信息生成其唯一的校验信息。这里的校验信息可以包括固件的大小,校验值,编译时间,版本号,厂商标识等信息。生成固件的唯一校验信息后,根据选择的加密方案不同,操作有所不同。如选择对称加密方案,则需要将上述唯一校验信息附加到编译出的原始固件中,然后使用只有厂商掌握的对称密钥固件进行加密。如选择非对称加密,则需要使用厂商掌握的非对称密钥中的私钥对固件的唯一校验信息进行签名,然后再附件到原始固件中。
在完成上述操作后,再将上述操作中生成的新固件包装为固件更新程序,最后发布供终端用户获取。
此外的包装为固件更新程序的方式可以采用简单的zip压缩的方式,也可以将固体文件附加在程序的尾部。
在步骤202中,计算机设备进行固件更新程序的设计及包装。
在一种可能的实现方式中,固件更新程序是包含固件更新的一个应用程序。运行在终端用户的电脑上,与快充设备进行通讯,并自动化完成固件更新的程序。其程序逻辑如下:固件程序首先读取前面加密/签名过的固件。然后打开与快充设备的通讯通道,这里可以是USB type-c的UVDM接口,或者是其他可在普通电脑进行数据通讯的接口。接着可以通过该通讯接口获取当前固件的相关信息,并判断是否进行固件更新。如条件满足,则开始使用该通讯传输固件,直至传输完毕。然后得到快充设备对收到的固件进行检查,校验和写入都操作完成,直到收到快充设备发送的固件更新状态信息。
在步骤203中,用电终端进行固件更新。
在一种可能的实现方式中,传统支持固件更新的快充设备无法有效的避免设备中被刷入恶意的固件代码,为此设计了一套流程,用于解决该问题,具体的逻辑流程图如下:
首先设备会进入固件更新模式,然后等待电脑端的程序发送固件程序,接收到固件程序后,需要把其保存在临时的存储区域。在完成全部固件程序接受后,需对固件的有效性和合法性进行检查,这里依据不同的加密方案进行不同的校验。对称加密方案可以使用内置的对称密钥对固件和其校验信息进行解密然后校验完整性;非对称加密方案可以使用内置的公钥对固件的校验信息进行解密然后校验完整性。固件信息校验通过后,需将新的固件写入到设备的固件存储区,使新固件得以应用。在完成固件写入后,通过通讯接口向电脑端程序发送固件更新状态,然后退出。
请参考图3,其示出了本申请一个示例性的实施例提供的一种固件更新的流程示意图。如图3所示,专业人员301可以是厂商专门负责固件开发与维护的人员,专业人员301可以在开发平台302上编译固件代码,生成待更新的固件,然后将待更新的固件上传到厂商服务器303中,同时待更新的固件生成对应的校验信息,并且可以选择一种加密方式对待更新的固件以及对应的校验信息进行加密处理,最终可以生成一个包含待更新的固件以及对应的校验信息的固件更新程序。厂商服务器303中的固件更新程序可以供用户307进行查询获取,用户307可以通过控制固件更新控制设备304从厂商服务器303中下载获得固件更新程序,受电设备305和充电设备306可以通过USB接口分别与固件更新控制设备304相连接,由固件更新控制设备304自动识别获取需要进行固件更新的受电设备305和充电设备306,固件更新控制设备304通过解密固件更新程序,根据解密后的校验信息对待更新固件进行校验,当校验成功时,自动对受电设备305和充电设备306进行安全更新。
请参考图4,其示出了本申请一个示例性的实施例提供的快充设备的固件更新方法的流程示意图。该快充设备的固件更新方法可以由快充设备执行。其中,上述快充设备可以是上述图1所示系统中的快充设备120。如图4所示,该快充设备的固件更新方法可以包括以下步骤:
步骤410,响应于该快充设备与固件更新控制设备建立通信连接,接收该固件更新控制设备通过该通信连接发送的待更新固件,该待更新固件中附加有该待更新固件的校验信息,该待更新固件是在该快充设备中实现快速充电协议的程序。
可选的,用户可以通过USB接口将固件更新控制设备与快充设备进行连接,建立数据传输通道,快充设备可以通过USB接口获取在固件更新控制设备中的固件更新程序。
其中,固件更新程序中可以包含待更新固件以及校验信息。
步骤420,从该待更新固件中获取附加的该校验信息。
可选的,校验信息可以包括固件大小信息、校验值信息、编译时间信息、版本号信息以及厂商标识符信息中的至少一种。该校验信息可以根据待更新固件的相关信息生成。
步骤430,根据该校验信息对该待更新固件进行校验。
可选的,快充设备根据从固件更新程序中获得的校验信息对待更新固件进行校验。
步骤440,响应于对该待更新固件校验成功,将该待更新固件更新至该快充设备的充电管理芯片中。
可选的,若快充设备通过匹配得到校验信息中的信息指向该待更新固件信息,则表示待更新固件校验成功,快充设备可以将通过校验的待更新固件更新到自身设备上。
综上所述,在本申请实施例所示的方案中,响应于快充设备与固件更新控制设备建立通信连接,快充设备接收固件更新控制设备通过通信连接发送的待更新固件,其中,待更新固件中附加有所述待更新固件的校验信息,待更新固件是在快充设备中实现快速充电协议的程序,然后快充设备从待更新固件中获取附加的校验信息,根据校验信息对待更新固件进行校验,响应于对待更新固件校验成功,将待更新固件更新至快充设备的充电管理芯片中。通过上述方案,快充设备在将待更新固件更新到充电管理芯片中之前,首先通过校验信息对待更新固件进行校验,避免将被恶意修改后的待更新固件更新到充电管理芯片中,从而避免恶意修改的固件造成快充设备的异常工作的情况,提高了快充设备的安全性。
请参考图5,其示出了本申请一个示例性的实施例提供的快充设备的固件更新方法的流程示意图。该快充设备的固件更新方法可以由固件更新控制设备与快充设备交互执行。其中,上述快充设备可以是上述图1所示的快充设备120,固件更新控制设备可以是上述图1所示的固件更新控制设备110。如图5所示,该快充设备的固件更新方法可以包括以下步骤:
步骤501,厂商服务器获取待更新固件。
在本公开实施例中,待更新固件可以是在快充设备中实现快速充电协议的代码。
可选的,厂商服务器可以通过接收开发人员编译出的实现快充协议的代码,获取为待更新固件。
步骤502,厂商服务器按照指定加密方式生成固件更新程序。
在本公开实施例中,固件更新程序中可以包含该待更新固件以及该待更新固件的校验信息。
其中,指定加密方式可以是非对称加密方式和对称加密方式中的任意一种。
可选的,响应于该指定加密方式为非对称加密方式,厂商服务器可以通过该非对称加密方式的公钥对该校验信息进行加密,得到该校验信息对应的签名信息,将该校验信息和该签名信息附加到该待更新固件中,厂商服务器对附加有该校验信息和该签名信息的该待更新固件进行打包,厂商服务器获得该固件更新程序。
其中,非对称加密方式使用的非对称签名算法可以选择RSA(公钥加密算法),ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)和SM2(椭圆曲线公钥密码算法)中的任意一种。
可选的,响应于该指定加密方式为对称加密方式,将该校验信息附加到该待更新固件中,厂商服务器通过对称密钥对附加有该校验信息的该待更新固件进行加密,获得加密后的该待更新固件,厂商服务器对加密后的该待更新固件进行打包,获得该固件更新程序。
其中,对称加密算法可以选择AES(Advanced Encryption Standard,高级加密标准),DES(Data Encryption Algorithm,数据加密算法),SM1(分组对称算法),SM4(分组密码算法)等加密算法,加密密钥长度可以选择128位及以上。
可选的,厂商服务器可以将待更新固件与该待更新固件对应的校验信息通过压缩成zip格式的程序包的方式结合成固件更新程序,或者,厂商服务器可以将待更新固件对应的校验信息附加在待更新固件的尾部的方式结合成固件更新程序。
步骤503,厂商服务器将该固件更新程序提供给固件更新控制设备。
在本公开实施例中,厂商服务器可以通过将该固件更新程序提供给固件更新控制设备,以便该快充设备通过USB接口从该固件更新控制设备获取该固件更新程序,从该固件更新程序中获取该校验信息,根据该校验信息对该待更新固件进行校验,并响应于对该待更新固件校验成功,将该待更新固件更新至该快充设备中。
可选的,厂商服务器可以将固件更新程序发布在云端中,可以供其他终端进行下载。
比如,厂商服务器将固件更新程序上传到云端中,固件更新控制设备可以通过查询获取该固件更新程序的下载链接,固件更新控制设备通过下载链接可以下载得到该固件更新程序。
比如,请参考图6,其示出了本申请实施例涉及的一种固件更新程序发布的示意图。如图6所示,在厂商服务器上生成固件更新程序并且发布的过程如下:
在厂商服务器上编译更新的固件代码,生成固件(S61),根据生成的固件生成对应的固件文件校验信息(S62),当使用对称加密方案时,将校验信息附加到对应的固件中(S63),然后使用保密的对称密钥对固件以及校验信息进行加密(S64),当使用非对称加密方案时,使用公钥签名算法对校验信息进行签名(S65),然后将校验信息和签名信息附加到固件中(S66),通过两种方案都可以得到加密的固件以及对应的校验信息,将加密的固件以及对应的校验信息包装为固件更新程序(S67),将上述生成的固件发布,供终端用户获取(S68)。
步骤504,快充设备通过该USB接口接收该固件更新控制设备发送的该固件更新程序。
在本公开实施例中,快充设备通过与固件更新控制设备通过USB接口建立的数据传输通道可以获得由固件更新控制设备发送的固件更新程序。
其中,快充设备可以是支持快速充电协议的充电设备或者受电设备。
可选的,固件更新控制设备可以将下载得到的固件更新程序进行读取,然后打开与快充设备通过USB接口建立的通讯通道,固件更新控制设备通过该通讯通道可以获取快充设备当前固件的相关信息,固件更新控制设备可以根据当前固件的相关信息判断是否进行固件更新。若判断进行固件更新,则固件更新控制设备控制快充设备进入固件下载模式。
可选的,快充设备接收该固件更新控制设备通过该USB连接,基于快速充电协议中的厂商定义消息VDM发送的该待更新固件;或者,快充设备接收该固件更新控制设备通过基于该USB连接中的冗余引脚实现的通信协议发送的该待更新固件。
其中,该USB连接可以是基于C型USB接口的连接。
比如,固件更新控制设备与快充设备之间可以通过Type-C接口连接,通过Type-C接口中冗余的引脚,引出SWD引脚,并通过SWD调试协议对固件进行刷写。或者,固件更新控制设备与快充设备之间可以通过Type-C接口连接,通过Type-C接口中冗余的引脚实现一个私有协议通讯,可以实现固件的更新和刷写。
比如,请参考图7,其示出了本申请实施例涉及的一种固件更新控制设备自动化完成固件更新的流程图。如图7所示,固件更新控制设备可以控制快充设备完成固件更新,步骤如下:
固件更新控制设备首先读取进行加密或者签名的固件(S71),然后打开与对应的快充设备的通讯接口(S72),通讯接口可以是USB Type-C的UVDM接口,或者是其他可在普通计算机上进行数据通讯的接口。固件更新控制设备通过该通讯接口可以获取当前快充设备的设备信息(S73),根据获取到的设备信息判断是否进行固件更新(S74),若判断不进行更新则直接退出,若判断进行固件更新,则使快充设备进入固件下载模式(S75),然后固件更新控制设备使用通讯接口传输固件(S76),判断固件是否传输完成(S77),若判断固件传输完成,则等待接收由快充设备发送的固件更新状态信息,获取固件更新状态(S78),根据接收到的固件更新状态信息,判断固件更新是否成功(S79),若判断固件更新失败,则提示更新失败并且退出更新进程(S710),若判断固件更新成功,则提示更新成功并且退出更新进程(S711)。
步骤505,快充设备将该固件更新程序暂存在该快充设备的临时存储区域中。
在本公开实施例中,快充设备通过该USB接口从该固件更新控制设备获取固件更新程序,该固件更新程序是包含待更新固件的程序,该待更新固件是在该快充设备中实现快速充电协议的代码。
可选的,该临时存储区域是禁止程序自动运行的存储区域。当固件更新程序完整的暂存在临时存储区域时,可以指示该固件更新程序从固件更新控制设备到快充设备的传输已完成。
步骤506,快充设备从该固件更新程序中提取该待更新固件的加密校验信息。
在本公开实施例中,快充设备从临时存储区域中获取固件更新程序,可以对固件更新程序解压或者直接提取其中的加密校验信息。
其中,该加密校验信息可以是对该校验信息进行加密得到的。
可选的,加密校验信息可以是通过对称加密方式对校验信息进行加密得到的加密校验信息,或者,可以是通过非对称加密方式对校验信息进行加密得到的加密校验信息。
步骤507,快充设备对该加密校验信息进行解密,获得该校验信息。
在本公开实施例中,快充设备从该固件更新程序中获取该待更新固件的加密校验信息,根据校验信息的加密方式,对加密校验信息进行解密,获得解密后的校验信息。
可选的,响应于该加密校验信息是通过非对称加密方式的公钥对该校验信息进行签名得到的信息,通过该公钥对应的私钥对该加密校验信息进行解密,获得该校验信息。
其中,在非对称加密方式中,公钥和私钥是快充设备的厂商设置的相对应的一对密钥,通过公钥进行加密的信息,可以通过私钥进行解密,同样通过私钥进行加密的信息,可以通过公钥进行解密。
比如,当校验信息通过该快充设备的厂商设置的密钥进行加密时,并且该快充设备的厂商设置的公钥为A私钥为N,当使用公钥A对校验信息进行加密之后,该厂商的快充设备获取到该加密校验信息,由于该厂商的快充设备已知厂商设置的公钥为A,私钥为N,则快充设备使用私钥N对加密校验信息进行解密,可以成功的获取校验信息。若其他厂商的快充设备接收到了该加密校验信息,由于解密所需的私钥是未知的,则其他厂商的快充设备可能是解密失败的,不可以成功的获取校验信息。
可选的,响应于该加密校验信息是通过对称加密方式加密的信息,快充设备通过对称密钥对该加密校验信息进行解密,获得该校验信息。
其中,该对称密钥可以是由该快充设备的厂商设置的密钥。对称密钥可以是该厂商的各个快充设备已知的密钥。
可选的,该更新固件和校验信息可以一起加密,或者,该更新固件和校验信息可以分别加密。
可选的,在校验信息附加在待更新固件的尾部的情况下,可以通过对待更新固件进行解密,获得校验信息。
比如,响应于该加密校验信息是通过对称加密方式加密的信息,快充设备通过该对称密钥对该待更新固件进行解密,获得解密后的该待更新固件,获取解密后的该待更新固件中附加的该校验信息。
步骤508,快充设备根据该校验信息对该待更新固件进行校验。
在本公开实施例中,快充设备获取到校验信息,可以根据该校验信息中的固件大小信息,校验值信息,编译时间信息,版本号信息,厂商标识符信息确定该校验信息是否为有效合法信息。
可选的,快充设备可以根据校验信息与当前固件的相关信息进行比对,若确认该校验信息符合该快充设备,则可以确认该校验信息是有效合法的,该校验信息对应的待更新固件校验成功。若确认该校验信息不符合该快充设备,则可以确认该校验信息不是有效合法的,该校验信息对应的待更新固件校验失败。
可选的,响应于快充设备对该待更新固件校验失败,快充设备向该固件更新控制设备返回风险提示信息。
其中,该风险提示信息可以用于提示该固件更新程序存在安全风险。
步骤509,响应于该待更新固件校验成功,快充设备将该待更新固件更新至充电管理芯片中。
在本公开实施例中,当校验信息确认为有效合法时,可以确认校验信息对应的待更新固件校验成功,快充设备可以将待更新固件更新至快充设备的充电管理芯片中。
其中,该充电管理芯片是该快充设备中,运行该待更新固件的芯片。
可选的,当快充设备检测到待更新固件已完全写入充电管理芯片中,可以向固件更新控制设备发送固件更新完成提示信息。
比如,请参考图8,其示出了本申请实施例涉及的一种固件更新算法的流程图。如图8所示,固件更新算法的方案如下:
快充设备可以接收固件更新控制设备的指令进入固件更新模式(S81),快充设备接收由固件更新控制设备发送的固件(S82),将接收的固件写入临时存储区域(S83),判断固件是否接收完毕(S84),若没有接收完毕,则继续接收固件,若接收完毕,则提取固件校验信息(S85),快充设备对提取的固件校验信息进行解密(S86),然后校验固件信息(S87),判断校验信息是否为有效合法的(S88),当判断校验信息不是有效合法的,则通知固件更新控制设备固件更新失败(S89),结束固件更新模式。当判断校验信息是有效合法的,则提取要更新的固件(S810),判断该要更新的固件是否加密(S811),若固件加密,则解密固件(S812),然后写入该固件(S813),若固件没有加密则直接写入该固件,最后通知固件更新控制设备固件更新成功(S814),然后结束固件更新模式。
综上所述,在本申请实施例所示的方案中,响应于快充设备与固件更新控制设备建立通信连接,快充设备接收固件更新控制设备通过通信连接发送的待更新固件,其中,待更新固件中附加有所述待更新固件的校验信息,待更新固件是在快充设备中实现快速充电协议的程序,然后快充设备从待更新固件中获取附加的校验信息,根据校验信息对待更新固件进行校验,响应于对待更新固件校验成功,将待更新固件更新至快充设备的充电管理芯片中。通过上述方案,快充设备在将待更新固件更新到充电管理芯片中之前,首先通过校验信息对待更新固件进行校验,避免将被恶意修改后的待更新固件更新到充电管理芯片中,从而避免恶意修改的固件造成快充设备的异常工作的情况,提高了快充设备的安全性。
图9是根据一示例性实施例示出的快充设备的固件更新装置的结构方框图。该快充设备的固件更新装置可以通过硬件或者软硬结合的方式实现为快充设备中的全部或者部分,以执行图4或图5对应实施例所示的方法的全部或部分步骤。该快充设备的固件更新装置可以包括:
固件接收模块910,用于响应于所述快充设备与固件更新控制设备建立通信连接,接收所述固件更新控制设备通过所述通信连接发送的待更新固件,所述待更新固件中附加有所述待更新固件的校验信息,所述待更新固件是在所述快充设备中实现快速充电协议的程序;
信息获取模块920,用于从所述待更新固件中获取附加的所述校验信息;
固件校验模块930,用于根据所述校验信息对所述待更新固件进行校验;
固件更新模块940,用于响应于对所述待更新固件校验成功,将所述待更新固件更新至所述快充设备的充电管理芯片中。
在一种可能的实现方式中,所述信息获取模块920,包括:
加密信息获取子模块,用于从所述待更新固件中提取所述待更新固件的加密校验信息,所述加密校验信息是对所述校验信息进行加密得到的;
信息解密子模块,用于对所述加密校验信息进行解密,获得所述校验信息。
在一种可能的实现方式中,所述信息解密子模块,包括:
第一信息解密单元,用于响应于所述加密校验信息是通过非对称加密方式的公钥对所述校验信息进行签名得到的信息,通过所述公钥对应的私钥对所述加密校验信息进行解密,获得所述校验信息。
在一种可能的实现方式中,所述信息解密子模块,包括:
第二信息解密单元,用于响应于所述加密校验信息是通过对称加密方式加密的信息,通过对称密钥对所述加密校验信息进行解密,获得所述校验信息;所述对称密钥是由所述快充设备的厂商设置的密钥。
在一种可能的实现方式中,所述第二信息解密单元,用于,
响应于所述加密校验信息是通过对称加密方式加密的信息,通过所述对称密钥对所述待更新固件进行解密,获得解密后的所述待更新固件;
获取解密后的所述待更新固件中附加的所述校验信息。
在一种可能的实现方式中,所述装置包括:
程序暂存子模块,用于接收所述固件更新控制设备通过所述通信连接发送的待更新固件之后,将所述待更新固件暂存在所述快充设备的临时存储区域中;
所述固件更新模块,包括:
固件更新子模块,用于响应于所述待更新固件校验成功,将所述待更新固件更新至充电管理芯片的固件存储区域中。
在一种可能的实现方式中,所述临时存储区域是禁止程序自动运行的存储区域。
在一种可能实现的方式中,所述装置还包括:
风险提示模块,用于响应于对所述待更新固件校验失败,向所述固件更新控制设备返回风险提示信息,所述风险提示信息用于提示所述固件更新程序存在安全风险。
在一种可能实现的方式中,所述固件接收模块910,包括:
固件接收子模块,用于响应于所述快充设备与固件更新控制设备建立USB连接,接收所述固件更新控制设备通过所述USB连接发送的所述待更新固件。
在一种可能实现的方式中,所述固件接收子模块,包括:
第一固件接收单元,用于接收所述固件更新控制设备通过所述USB连接,基于快速充电协议中的厂商定义消息VDM发送的所述待更新固件;
或者,
第二固件接收单元,用于接收所述固件更新控制设备通过基于所述USB连接中的冗余引脚实现的通信协议发送的所述待更新固件。
在一种可能实现的方式中,所述USB连接是基于C型USB接口的连接。
在一种可能实现的方式中,所述快充设备是支持快速充电协议的充电设备或者受电设备。
综上所述,在本申请实施例所示的方案中,响应于快充设备与固件更新控制设备建立通信连接,快充设备接收固件更新控制设备通过通信连接发送的待更新固件,其中,待更新固件中附加有所述待更新固件的校验信息,待更新固件是在快充设备中实现快速充电协议的程序,然后快充设备从待更新固件中获取附加的校验信息,根据校验信息对待更新固件进行校验,响应于对待更新固件校验成功,将待更新固件更新至快充设备的充电管理芯片中。通过上述方案,快充设备在将待更新固件更新到充电管理芯片中之前,首先通过校验信息对待更新固件进行校验,避免将被恶意修改后的待更新固件更新到充电管理芯片中,从而避免恶意修改的固件造成快充设备的异常工作的情况,提高了快充设备的安全性。
图10是根据一示例性实施例示出的计算机设备1000的结构框图。该计算机设备1000可以是用户终端,比如智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的快充设备的固件更新方法。
在一些实施例中,计算机设备1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、触摸显示屏1005、摄像头1006、音频电路1007、定位组件1008和电源1009中的至少一种。
外围设备接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1005用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置计算机设备1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在计算机设备1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在计算机设备1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
定位组件1008用于定位计算机设备1000的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1008可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的GLONASS(Global Navigation Satellite System,全球卫星导航系统)或者欧洲的伽利略系统的定位组件。
电源1009用于为计算机设备1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。
加速度传感器1011可以检测以计算机设备1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制触摸显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1012可以检测计算机设备1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对计算机设备1000的3D动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1013可以设置在计算机设备1000的侧边框和/或触摸显示屏1005的下层。当压力传感器1013设置在计算机设备1000的侧边框时,可以检测用户对计算机设备1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在触摸显示屏1005的下层时,由处理器1001根据用户对触摸显示屏1005的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1014用于采集用户的指纹,由处理器1001根据指纹传感器1014采集到的指纹识别用户的身份,或者,由指纹传感器1014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1014可以被设置计算机设备1000的正面、背面或侧面。当计算机设备1000上设置有物理按键或厂商Logo时,指纹传感器1011可以与物理按键或厂商Logo集成在一起。
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制触摸显示屏1005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1005的显示亮度;当环境光强度较低时,调低触摸显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1016,也称距离传感器,通常设置在计算机设备1000的前面板。接近传感器1016用于采集用户与计算机设备1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与计算机设备1000的正面之间的距离逐渐变小时,由处理器1001控制触摸显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与计算机设备1000的正面之间的距离逐渐变大时,由处理器1001控制触摸显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对计算机设备1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种快充设备的固件更新方法,其特征在于,所述方法由快充设备执行,所述方法包括:
响应于所述快充设备与固件更新控制设备建立通信连接,接收所述固件更新控制设备通过所述通信连接发送的待更新固件,以实现通过固件更新程序发送所述待更新固件,其中,所述固件更新程序包括所述待更新固件以及校验信息,所述待更新固件中附加有所述待更新固件的校验信息,所述待更新固件是在所述快充设备中实现快速充电协议的程序;所述校验信息是基于所述待更新固件的相关信息生成的;
将所述固件更新程序暂存在所述快充设备的临时存储区域中,所述临时存储区域是禁止程序自动运行的存储区域;
当所述固件更新程序完整的暂存在临时存储区域时,指示所述固件更新程序从固件更新控制设备到快充设备的传输已完成,并且从所述待更新固件中获取附加的所述校验信息;
根据所述校验信息与所述快充设备的当前固件的相关信息进行比对,确定所述校验信息是否有效合法;
响应于确定所述校验信息有效合法,确定对所述待更新固件校验成功,且将所述待更新固件更新至充电管理芯片的固件存储区域中;所述充电管理芯片是所述快充设备内部用于进行充电功能的芯片。
2.根据权利要求1所述的方法,其特征在于,所述从所述待更新固件中获取附加的所述校验信息,包括:
从所述待更新固件中提取所述待更新固件的加密校验信息,所述加密校验信息是对所述校验信息进行加密得到的;
对所述加密校验信息进行解密,获得所述校验信息。
3.根据权利要求2所述的方法,其特征在于,所述对所述加密校验信息进行解密,获得所述校验信息,包括:
响应于所述加密校验信息是通过非对称加密方式的公钥对所述校验信息进行签名得到的信息,通过所述公钥对应的私钥对所述加密校验信息进行解密,获得所述校验信息。
4.根据权利要求2所述的方法,其特征在于,所述对所述加密校验信息进行解密,获得所述校验信息,包括:
响应于所述加密校验信息是通过对称加密方式加密的信息,通过对称密钥对所述加密校验信息进行解密,获得所述校验信息;所述对称密钥是由所述快充设备的厂商设置的密钥。
5.根据权利要求4所述的方法,其特征在于,所述响应于所述加密校验信息是通过对称加密方式加密的信息,通过对称密钥对所述加密校验信息进行解密,获得所述校验信息,包括:
响应于所述加密校验信息是通过对称加密方式加密的信息,通过所述对称密钥对所述待更新固件进行解密,获得解密后的所述待更新固件;
获取解密后的所述待更新固件中附加的所述校验信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于对所述待更新固件校验失败,向所述固件更新控制设备返回风险提示信息,所述风险提示信息用于提示所述固件更新程序存在安全风险。
7.根据权利要求1所述的方法,其特征在于,所述响应于所述快充设备与固件更新控制设备建立通信连接,接收所述固件更新控制设备通过所述通信连接发送的待更新固件,包括:
响应于所述快充设备与固件更新控制设备建立USB连接,接收所述固件更新控制设备通过所述USB连接发送的所述待更新固件。
8.根据权利要求7所述的方法,其特征在于,所述接收所述固件更新控制设备通过所述USB连接发送的所述待更新固件,包括:
接收所述固件更新控制设备通过所述USB连接,基于快速充电协议中的厂商定义消息VDM发送的所述待更新固件;
或者,
接收所述固件更新控制设备通过基于所述USB连接中的冗余引脚实现的通信协议发送的所述待更新固件。
9.根据权利要求7所述的方法,其特征在于,所述USB连接是基于C型USB接口的连接。
10.根据权利要求1至9任一所述的方法,其特征在于,所述快充设备是支持快速充电协议的充电设备或者受电设备。
11.一种快充设备的固件更新装置,其特征在于,所述装置用于所述快充设备中,所述装置包括:
固件接收模块,用于响应于所述快充设备与固件更新控制设备建立通信连接,接收所述固件更新控制设备通过所述通信连接发送的待更新固件,以实现通过固件更新程序发送所述待更新固件,其中,所述固件更新程序包括所述待更新固件以及校验信息,所述待更新固件中附加有所述待更新固件的校验信息,所述待更新固件是在所述快充设备中实现快速充电协议的程序;所述校验信息是基于所述待更新固件的相关信息生成的;
所述固件接收模块,还用于将所述固件更新程序暂存在所述快充设备的临时存储区域中;所述临时存储区域是禁止程序自动运行的存储区域;
信息获取模块,用于当所述固件更新程序完整的暂存在临时存储区域时,指示所述固件更新程序从固件更新控制设备到快充设备的传输已完成,并且从所述待更新固件中获取附加的所述校验信息;
固件校验模块,用于根据所述校验信息与所述快充设备的当前固件的相关信息进行比对,确定所述校验信息是否有效合法;
固件更新模块,用于响应于确定所述校验信息有效合法,确定对所述待更新固件校验成功,且将所述待更新固件更新至充电管理芯片的固件存储区域中;所述充电管理芯片是所述快充设备内部,用于进行充电功能的芯片。
12.一种计算机设备,其特征在于,计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的快充设备的固件更新方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至10任一所述的快充设备的固件更新方法。
CN202010082332.4A 2020-02-07 2020-02-07 快充设备的固件更新方法、装置、计算机设备及存储介质 Active CN111309360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010082332.4A CN111309360B (zh) 2020-02-07 2020-02-07 快充设备的固件更新方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010082332.4A CN111309360B (zh) 2020-02-07 2020-02-07 快充设备的固件更新方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111309360A CN111309360A (zh) 2020-06-19
CN111309360B true CN111309360B (zh) 2022-06-28

Family

ID=71156460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010082332.4A Active CN111309360B (zh) 2020-02-07 2020-02-07 快充设备的固件更新方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111309360B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073520B (zh) * 2020-09-09 2022-08-09 北京金山云网络技术有限公司 数据处理方法、装置和电子设备
CN112527343A (zh) * 2020-11-09 2021-03-19 西安广和通无线软件有限公司 固件更新方法、装置、计算机设备和存储介质
CN113220330A (zh) * 2021-05-25 2021-08-06 杭州海康威视数字技术股份有限公司 电子设备的管理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082784A (zh) * 2010-11-11 2011-06-01 广东欧珀电子工业有限公司 一种软件在线升级方法
CN105812570A (zh) * 2016-04-21 2016-07-27 深圳市旭子科技有限公司 终端固件更新方法及装置
CN108566381A (zh) * 2018-03-19 2018-09-21 百度在线网络技术(北京)有限公司 一种安全升级方法、装置、服务器、设备和介质
CN108958761A (zh) * 2017-05-25 2018-12-07 中兴通讯股份有限公司 一种设备程序的处理方法及装置
CN109710284A (zh) * 2018-11-16 2019-05-03 中天昱品科技有限公司 一种具有安全加密和数据压缩的充电桩远程升级方法
CN109829294A (zh) * 2019-01-31 2019-05-31 云丁网络技术(北京)有限公司 一种固件验证方法、系统、服务器及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082784A (zh) * 2010-11-11 2011-06-01 广东欧珀电子工业有限公司 一种软件在线升级方法
CN105812570A (zh) * 2016-04-21 2016-07-27 深圳市旭子科技有限公司 终端固件更新方法及装置
CN108958761A (zh) * 2017-05-25 2018-12-07 中兴通讯股份有限公司 一种设备程序的处理方法及装置
CN108566381A (zh) * 2018-03-19 2018-09-21 百度在线网络技术(北京)有限公司 一种安全升级方法、装置、服务器、设备和介质
CN109710284A (zh) * 2018-11-16 2019-05-03 中天昱品科技有限公司 一种具有安全加密和数据压缩的充电桩远程升级方法
CN109829294A (zh) * 2019-01-31 2019-05-31 云丁网络技术(北京)有限公司 一种固件验证方法、系统、服务器及电子设备

Also Published As

Publication number Publication date
CN111309360A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111444528B (zh) 数据安全保护方法、装置及存储介质
CN111309360B (zh) 快充设备的固件更新方法、装置、计算机设备及存储介质
CN110290146B (zh) 分享口令的生成方法、装置、服务器及存储介质
CN110601827B (zh) 基于区块链的身份识别方法、装置及系统、存储介质
CN108769992B (zh) 用户认证方法、装置、终端及存储介质
CN112003879B (zh) 用于虚拟场景的数据传输方法、计算机设备及存储介质
CN111275122A (zh) 标签标注方法、装置、设备及可读存储介质
CN111062725B (zh) 人脸支付方法、装置及系统、计算机可读存储介质
CN114595437B (zh) 访问控制方法、电子设备及计算机可读存储介质
CN110784370B (zh) 设备测试的方法、装置、电子设备及介质
CN111193702B (zh) 数据加密传输的方法和装置
CN110677262B (zh) 基于区块链的信息公证方法、装置及系统
CN111241499A (zh) 应用程序登录的方法、装置、终端及存储介质
CN111901283A (zh) 资源转移方法、装置、终端及存储介质
CN111198922A (zh) 基于区块链的游戏资源管理方法及装置
CN109842593B (zh) 信息获取方法、装置及计算机可读存储介质
CN115329309A (zh) 验证方法、装置、电子设备及存储介质
CN108683684B (zh) 登录目标即时通讯应用的方法、装置和系统
CN114386066A (zh) 应用加固方法及装置
CN110971692B (zh) 开通服务的方法、装置及计算机存储介质
CN110555924B (zh) 进行开锁处理的方法和装置
CN111741040A (zh) 连接建立方法、地址获取方法、装置、设备及存储介质
KR102651730B1 (ko) 미디어 데이터의 재생 방법, 장치, 시스템, 기기 및 저장 매체
CN112528311B (zh) 数据管理方法、装置及终端
CN111008381B (zh) 终端检测方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024325

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant