本发明涉及软件认证技术领域,尤其涉及一种生产线烧录固件的方法及装置。
背景技术:
固件(Firmware)一般存储于设备中的电可擦除只读存储器EEPROM(Electrically Erasable Programmable ROM)或FLASH芯片中。一般来说,担任着设备最基础、最底层工作的软件才可以称之为固件。
通常固件内所保存的程序是无法被用户直接读出或修改的。在以前,一般情况下是没有必要对固件进行升级操作的,即使在固件内发现了严重的Bug也必须由专业人员带着写好程序的芯片把原设备上的更换下来。固件芯片一般采用ROM设计,它的Firmware程序是在生产过程中固化的,用任何手段都无法修改。随着技术的不断发展,修改固件以适应不断更新的硬件环境成了用户的迫切要求,所以,可重复写入的可编程可擦除只读存储器EPROM(Erasable Programmable ROM),EEPROM和FLASH出现了。这些芯片是可以重复刷写的,让固件得以修改和升级。
手机、平板电脑、电子书等移动终端安全下载固件的工具一般都有特定的制具,或者利用软件授权方式来下载固件,软件授权依赖于软件签名认证,然而软件签名认证过程中,PC端的烧录软件一般都先将签名的密钥生成一段代码,然后烧录软件调用这段代码进行签名,达到最终鉴权的目的,这样的话,由于烧录软件容易被拷贝,从而带来鉴权易用的问题,从而形成风险。
技术实现要素:
本发明提供了一种生产线烧录固件的方法及装置,用以解决生产线烧录固件进行软件签名认证时,烧录软件被拷贝而带来的风险问题,提高了生产线烧录固件过程的安全性。
本发明实施例提供了一种生产线烧录固件的方法,包括:
接收待烧录固件的移动终端发送的第一随机码;
将所述第一随机码发送给签名装置,使得所述签名装置利用鉴权密钥对所述第一随机码进行签名得到第二随机码,其中,所述鉴权密钥存储于所述签名装置中;
接收所述签名装置发送的第二随机码;
将所述第二随机码发送给移动终端;
确定所述移动终端对所述第二随机码验证通过时,对所述移动终端进行固件烧录。
本发明实施例还提供了一种生产线烧录固件的方法,包括:
移动终端向烧录装置发送第一随机码;
所述烧录装置将签名的密钥文件发送给所述移动终端;
所述移动终端根据存储在所述移动终端中的公钥对所述签名的密钥文件进行解密,得到鉴权公钥;
所述烧录装置将接收的所述第一随机码发送给签名装置;
所述签名装置利用鉴权密钥对所述第一随机码进行签名得到第二随机码,并将第二随机码发送给所述烧录装置,其中,所述鉴权密钥存储于所述签名装置中;
所述烧录装置将接收的所述第二随机码发送给所述移动终端;
所述移动终端利用所述鉴权公钥对所述第二随机码进行解密得到第三随机码;
所述移动终端判断所述第一随机码和所述第三随机码是否相同,若相同,则鉴权通过;
当鉴权通过时,所述烧录装置对所述移动终端进行固件烧录。
本发明实施例提供了一种应用于生产线烧录固件的方法中的签名方法,包括:
接收烧录装置发送的第一随机码,所述第一随机码为移动终端发送给所述烧录装置的;
利用存储的鉴权密钥对所述第一随机码进行签名,得到第二随机码,并将第二随机码发送给所述烧录装置,由所述烧录装置将所述第二随机码发送给所述移动终端进行鉴权。
本发明实施例还提供了一种生产线烧录固件的装置,包括:
第一接收单元,用于接收待烧录固件的移动终端发送的第一随机码;
第一发送单元,用于将所述第一随机码发送给签名装置,使得所述签名装置利用鉴权密钥对所述第一随机码进行签名得到第二随机码,其中,所述鉴权密钥存储于所述签名装置中;
第二接收单元,用于接收所述签名装置发送的第二随机码;
第二发送单元,用于将所述第二随机码发送给移动终端;
烧录单元,用于确定所述移动终端对所述第二随机码验证通过时,对所述移动终端进行固件烧录。
本发明实施例还提供了一种应用于生产线烧录固件的方法中的签名装置,包括:
第三接收单元,用于接收烧录装置发送的第一随机码,所述第一随机码为移动终端发送给所述烧录装置的;
签名单元,用于利用存储的鉴权密钥对所述第一随机码进行签名,得到第二随机码;
第四发送单元,用于将第二随机码发送给所述烧录装置,由所述烧录装置将所述第二随机码发送给所述移动终端进行鉴权。
本发明的有益效果包括:
本发明实施例提供的生产线烧录固件的方法及装置中,烧录装置接收到待烧录固件的移动终端发送的第一随机码后,将第一随机码发送给签名装置,使得签名装置利用存储在其内部的密钥对第一随机码进行签名得到第二随机码,烧录装置接收签名装置发送的第二随机码,并将第二随机码发送给移动终端,当确定移动终端对第二随机码验证通过时,对移动终端进行固件烧录,上述流程中,签名过程在签名装置中进行,该签名装置无法被拷贝,而不是直接在烧录装置中进行签名,避免了烧录装置运行代码被拷贝而带来的风险问题,就算PC端烧录装置运行代码,即烧录软件被恶意拷贝,在没有该签名装置的情况下,也无法完成烧录的鉴权过程,从而提高了生产线烧录固件过程的安全性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一提供的生产线烧录固件的方法的实施流程示意图;
图2为本发明实施例二提供的生产线烧录固件的方法的实施流程示意图;
图3为本发明实施例三提供的应用于生产线烧录固件的方法中的签名方法的实施流程示意图;
图4为本发明实施例四提供的生产线烧录固件的装置的结构示意图;
图5为本发明实施例五提供的应用于生产线烧录固件的方法中的签名装置的结构示意图。
具体实施方式
为了解决生产线烧录固件进行软件签名认证时,烧录软件被拷贝而带来的风险问题,提高了生产线烧录固件过程的安全性,本发明提供了一种生产线烧录固件的方法及装置。
本发明实施例提供的生产线烧录固件的方法的实施原理是:将鉴权密钥存储于独立于烧录装置的签名装置中,基于此,在需要烧录固件鉴权时,待烧录固件的移动终端向烧录装置发送第一随机码,烧录装置接收到移动终端发送的第一随机码后,将第一随机码发送给签名装置,使得签名装置利用存储在其内部的密钥对第一随机码进行签名得到第二随机码,烧录装置接收签名装置发送的第二随机码,并将第二随机码发送给移动终端,当确定移动终端对第二随机码验证通过时,对移动终端进行固件烧录,上述流程中,签名过程在签名装置中独立进行,而不是直接在烧录装置中进行,避免了烧录装置运行软件被拷贝而带来的风险问题,提高了生产线烧录固件过程的安全性。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
如图1所示,其为本发明实施例一提供的生产线烧录固件的方法的实施流程示意图,可以包括以下步骤:
S11、烧录装置接收待烧录固件的移动终端发送的第一随机码。
具体实施时,烧录装置接收到待烧录固件的移动终端发送的第一随机码后,向移动终端发送签名的密钥文件,使得移动终端根据存储在其内的公钥对签名的密钥文件进行解密,得到鉴权公钥。其中,签名的密钥文件是由OEM厂商在设备出厂时,使用移动终端中和公钥对应的私钥进行签名得到的,该密钥文件中包含一个鉴权公钥,OEM厂商将签名的密钥文件绑定在烧录装置的烧录软件之中。
S12、烧录装置将所述第一随机码发送给签名装置,使得所述签名装置利用鉴权密钥对所述第一随机码进行签名得到第二随机码。
本步骤中,烧录装置将接收到的第一随机码发送给签名装置,使得签名装置利用存储的鉴权密钥对第一随机码进行签名得到第二随机码。其中,鉴权密钥为鉴权公钥对应的鉴权私钥,其是在出厂时由OEM厂商生成并导入到签名装置中的。
S13、烧录装置接收所述签名装置发送的第二随机码。
S14、烧录装置将所述第二随机码发送给移动终端。
本步骤中,烧录装置将第二随机码发送给移动终端,需要说明的是,本发明实施例中,签名装置不与移动终端直接进行交互,在这种有签名装置的系统中,烧录装置相当于一个数据流控制中枢,它只负责和移动终端还有签名装置的交互,传递数据,而不生成数据,数据由签名装置生成,移动终端负责利用数据。签名装置或移动终端可以通过以下方式中的任一种与烧录装置建立通信连接:USB(通用串行接口)、耳机接口、蓝牙、红外、NFC(近场通信)、WIFI(无线保真)或者OTG(数据传输接口)。
S15、烧录装置确定所述移动终端对所述第二随机码验证通过时,对所述移动终端进行固件烧录。
具体实施时,移动终端在接收到烧录装置发送的第二随机码后,利用获得的鉴权公钥对所述第二随机码进行验证,判断其是否与第一随机码相同,如果相同,则确定对所述第二随机码验证通过,否则,确定对所述第二随机码验证失败。如果移动终端确定对所述第二随机码验证通过,将向烧录装置发送授权标识,因此,烧录装置可以根据是否接收到所述授权标识判断所述移动终端对所述第二随机码验证通过。
具体地,移动终端利用鉴权公钥验证第二随机码是否和第一随机码相同,即利用鉴权公钥对第二随机码进行解密,验证第二随机码解密后得到的随机码是否和第一随机码相同,若相同,则向烧录装置发送授权标识,当该授权标识为预设标志时,则确定移动终端对第二随机码验证通过,烧录装置对移动终端进行固件烧录。
本发明实施例一提供的生产线烧录固件的方法,在签名装置中对移动终端发送的随机码进行签名,无需在烧录装置中进行鉴权,签名装置不和移动终端直接进行交互,烧录装置相当于一个数据流控制中枢,它只负责和移动终端还有签名装置的交互,传递数据,而不生成数据,数据由签名装置生成,移动终端负责利用数据,所以即使烧录装置中的烧录软件被拷贝,没有签名装置,也不能完成鉴权功能,从而避免了烧录装置运行软件被拷贝而带来的风险问题,提高了生产线烧录固件过程的安全性。
实施例二
为了更好地理解本发明实施例,以下结合移动终端、烧录装置和签名装置之间的交互流程对本发明实施例的具体实施过程进行说明。如图2所示,可以包括以下步骤:
S21、移动终端向烧录装置发送第一随机码。
S22、所述烧录装置将签名的密钥文件发送给所述移动终端。
S23、所述移动终端根据存储在所述移动终端中的公钥对所述签名的密钥文件进行解密,得到鉴权公钥。
S24、所述烧录装置将接收的所述第一随机码发送给签名装置。
S25、所述签名装置利用鉴权密钥对所述第一随机码进行签名得到第二随机码,并将第二随机码发送给所述烧录装置,其中,所述鉴权密钥存储于所述签名装置中。
S26、所述烧录装置将接收的所述第二随机码发送给所述移动终端。
S27、所述移动终端利用所述鉴权公钥对所述第二随机码进行解密得到第三随机码。
S28、所述移动终端判断所述第一随机码和所述第三随机码是否相同,若相同,则鉴权通过。
S29、移动终端向烧录装置发送授权标识。
S210、所述烧录装置对所述移动终端进行固件烧录。
本步骤中,烧录装置确定接收到的授权标识为预设标志时,对移动终端进行固件烧录。
本发明实施例二提供的生产线烧录固件的方法流程与实施例一提供的生产线烧录固件的方法的流程重复之处,这里不再赘述。
本发明实施例二提供的生产线烧录固件的方法,在签名装置中对移动终端发送的随机码进行签名,无需在烧录装置中进行鉴权,签名装置不和移动终端直接进行交互,烧录装置相当于一个数据流控制中枢,它只负责和移动终端还有签名装置的交互,传递数据,而不生成数据,数据由签名装置生成,移动终端负责利用数据,所以即使烧录装置中的烧录软件被拷贝,没有签名装置,也不能完成鉴权功能,从而避免了烧录装置运行软件被拷贝而带来的风险问题,提高了生产线烧录固件过程的安全性。
实施例三
相应地,本发明实施例还提供了一种由签名装置实施的应用于生产线烧录固件的方法中的签名方法,其实施原理与上述的实施例一和实施例二中的固件烧录方法相同,这里不再赘述。
如图3所示,其为本发明实施例三提供的应用于生产线烧录固件的方法中的签名方法的实施流程示意图,可以包括以下步骤:
S31、接收烧录装置发送的第一随机码,所述第一随机码为移动终端发送给所述烧录装置的。
本步骤中,签名装置接收烧录装置发送的第一随机码,第一随机码为移动终端发送给烧录装置的。
S32、利用存储的鉴权密钥对所述第一随机码进行签名,得到第二随机码,并将第二随机码发送给所述烧录装置,由所述烧录装置将所述第二随机码发送给所述移动终端进行鉴权。
本步骤中,烧录装置利用存储的鉴权密钥对第一随机码进行签名,得到第二随机码,并将第二随机码发送给烧录装置,由烧录装置将第二随机码发送给移动终端进行鉴权。
本发明实施例三提供的应用于生产线烧录固件的方法中的签名方法,在签名装置中对移动终端发送的随机码进行签名,再将签名后的随机码发送给移动终端进行鉴权,无需在烧录装置中进行鉴权,所以即使烧录装置中的烧录软件被拷贝,没有签名装置,也不能完成鉴权功能,从而避免了烧录装置运行软件被拷贝而带来的风险问题,提高了生产线烧录固件过程的安全性。
基于同一发明构思,本发明实施例还提供了一种生产线烧录固件的装置,由于上述装置解决问题的原理与生产线烧录固件的方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
实施例四
如图4所示,其为本发明实施例四提供的生产线烧录固件的装置的结构示意图,可以包括:
第一接收单元41,用于接收待烧录固件的移动终端发送的第一随机码;
第一发送单元42,用于将所述第一随机码发送给签名装置,使得所述签名装置利用鉴权密钥对所述第一随机码进行签名得到第二随机码,其中,所述鉴权密钥存储于所述签名装置中;
第二接收单元43,用于接收所述签名装置发送的第二随机码;
第二发送单元44,用于将所述第二随机码发送给移动终端;
烧录单元45,用于确定所述移动终端对所述第二随机码验证通过时,对所述移动终端进行固件烧录。
可选地,本发明实施例四提供的生产线烧录固件的装置,还可以包括:
第三发送单元,用于在所述第一接收单元接收到待烧录固件的移动终端发送的第一随机码后,向所述移动终端发送签名的密钥文件,使得所述移动终端根据存储在所述移动终端内的公钥对所述签名的密钥文件进行解密,得到鉴权公钥。
较佳地,本发明实施例四提供的生产线烧录固件的装置中,所述烧录单元可以包括接收子单元和确定子单元,其中:
所述接收子单元,用于接收所述移动终端发送的授权标识,其中,所述授权标识为所述移动终端利用所述鉴权公钥对所述第二随机码进行鉴权并确定鉴权结果通过后发送的;
所述确定子单元,用于判断所述授权标识是否为预设标志,若是,则确定所述移动终端对所述第二随机码验证通过。
实施例五
如图5所示,其为本发明实施例五提供的应用于生产线烧录固件的方法中的签名装置的结构示意图,可以包括:
第三接收单元51,用于接收烧录装置发送的第一随机码,所述第一随机码为移动终端发送给所述烧录装置的;
签名单元52,用于利用存储的鉴权密钥对所述第一随机码进行签名,得到第二随机码;
第四发送单元53,用于将第二随机码发送给所述烧录装置,由所述烧录装置将所述第二随机码发送给所述移动终端进行鉴权。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。