嵌入式产品中软件安全保护的方法、装置及计算机设备制造方法及图纸

技术编号:20993011 阅读:46 留言:0更新日期:2019-04-29 22:52
本发明专利技术涉及嵌入式产品中软件安全保护的方法、装置、计算机设备和存储介质。所述方法包括:运行嵌入式产品中的系统驱动程序;通过所述系统驱动程序获取所述嵌入式产品的硬件标识;所述硬件标识用于唯一标识所述嵌入式产品;所述硬件标识包括嵌入式芯片和/或所述嵌入式芯片之外的硬件功能模块;根据所述硬件标识生成加密参数,将所述加密参数发送给上位机的程序升级工具,以触发所述程序升级工具采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,以及将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片。本发明专利技术能够有效防止未经授权访问或拷贝嵌入式芯片中的系统功能程序代码。

The Method, Device and Computer Equipment of Software Security Protection in Embedded Products

The invention relates to a method, device, computer equipment and storage medium for software security protection in embedded products. The method includes: running the system driver in the embedded product; acquiring the hardware identification of the embedded product through the system driver; the hardware identification is used to uniquely identify the embedded product; the hardware identification includes the hardware function module besides the embedded chip and/or the embedded chip; generating encryption parameters according to the hardware identification, and then identifying the embedded product. The encryption parameters are sent to the program upgrade tool of the host computer to trigger the program upgrade tool to encrypt the system function program written to the embedded chip using the encryption parameters, and to transfer the encrypted system function program to the system driver, which is written to the embedded chip by the system driver. The invention can effectively prevent unauthorized access or copy of system function program codes in embedded chips.

【技术实现步骤摘要】
嵌入式产品中软件安全保护的方法、装置及计算机设备
本专利技术涉及嵌入式系统安全
,特别是涉及嵌入式产品中软件安全保护的方法、装置、计算机设备和存储介质。
技术介绍
对于嵌入式芯片:ARM、DSP、单片机等,若写入芯片内的嵌入式软件(以下也称作“嵌入式软件”)不加密,极易被获取并破解,导致核心设计和关键技术被窃取,威胁软件开发公司的合法权益。为了防止未经授权访问或拷贝嵌入式芯片内的软件,一般针对包含有嵌入式芯片的嵌入式产品采用的安全保护方法包括:芯片打磨,隐藏芯片的型号信息;这种加密方式过于简单,对熟悉芯片的解密人员不起作用;物理防拷贝,采用掩膜ROM存储嵌入式软件代码,该加密方式的价格比较高,且无法支持后续软件代码升级;使用加密芯片实施加密,该方式需要增加额外的成本,加密较为复杂,不利于软件升级;通过嵌入式芯片的器件唯一识别号作为运算密码对嵌入式软件进行加密,这种加密方式安全性较低。可见,传统的嵌入式产品中软件安全保护的方法存在无法兼顾安全性和实施成本的问题。
技术实现思路
基于此,有必要针对传统的嵌入式产品中软件安全保护的方法无法兼顾安全性和实施成本的问题,提供一种嵌入式产品中软件安全保护的方法、装置、计算机设备和存储介质。一方面,本专利技术实施例提供一种嵌入式产品中软件安全保护的方法,包括:运行嵌入式产品中的系统驱动程序;通过所述系统驱动程序获取所述嵌入式产品的硬件标识;所述硬件标识用于唯一标识所述嵌入式产品;所述硬件标识包括嵌入式芯片和/或所述嵌入式芯片之外的硬件功能模块;根据所述硬件标识生成加密参数,将所述加密参数发送给上位机的程序升级工具,以触发所述程序升级工具采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,以及将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片。在一实施例中,所述硬件标识为:嵌入式芯片的编号、嵌入式产品中除所述嵌入式芯片之外的硬件功能模块的编号、写入所述嵌入式产品的存储装置中不允许外部读取和改写的编号中的一种或者多种的组合。在一实施例中,所述采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,包括:在待写入所述嵌入式芯片的系统功能程序中添加校验数据,所述校验数据根据所述加密参数得到。在一实施例中,还包括:使用所述加密参数对系统功能程序中设定数据区域的字节做换位和异或运算,得到校验数据。在一实施例中,所述根据所述硬件标识生成加密参数,包括:对所述硬件标识进行CRC32运算,得到第一部分的32位数;对所述硬件标识进行求和运算,得到第二部分的32位数;根据所述第一部分的32位数以及所述第二部分的32位数,得到64位的加密参数。在一实施例中,将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片之后,还包括:在所述嵌入式芯片重新启动时,运行所述系统驱动程序;通过所述系统驱动程序获取所述嵌入式芯片中已写入的系统功能程序;通过所述系统驱动程序获取所述嵌入式产品的硬件标识,采用获取到的硬件标识对所述系统功能程序进行安全校验;若所述安全校验通过,运行所述系统功能程序。又一方面,本专利技术实施例提供一种嵌入式产品中软件安全保护的装置,包括:驱动程序启动模块,用于运行嵌入式产品中的系统驱动程序;标识获取模块,用于通过所述系统驱动程序获取所述嵌入式产品的硬件标识;所述硬件标识用于唯一标识所述嵌入式产品;所述硬件标识包括嵌入式芯片和/或所述嵌入式芯片之外的硬件功能模块;加密模块,用于根据所述硬件标识生成加密参数,将所述加密参数发送给上位机的程序升级工具,以触发所述程序升级工具采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,以及将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片。在一实施例中,还包括:重启模块,用于在所述嵌入式芯片重新启动时,运行所述系统驱动程序;程序获取模块,用于通过所述系统驱动程序获取所述嵌入式芯片中已写入的系统功能程序;校验模块,用于通过所述系统驱动程序获取所述嵌入式产品的硬件标识,采用获取到的硬件标识对所述系统功能程序进行安全校验;程序运行模块,用于若所述安全校验通过,运行所述系统功能程序。再一方面,本专利技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述嵌入式产品中软件安全保护的方法。再一方面,本专利技术实施例提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述嵌入式产品中软件安全保护的方法。上述技术方案中的一个技术方案具有如下优点或有益效果:运行嵌入式产品中的系统驱动程序;通过系统驱动程序获取所述嵌入式产品的硬件标识;所述硬件标识用于唯一标识所述嵌入式产品;所述硬件标识包括嵌入式芯片和/或所述嵌入式芯片之外的硬件功能模块;根据所述硬件标识生成加密参数,将所述加密参数发送给上位机的程序升级工具,以触发所述程序升级工具采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,以及将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片。由此能够有效防止未经授权访问或拷贝嵌入式芯片中的系统功能程序代码,并且实现成本低,安全性高。附图说明图1为一个实施例中嵌入式产品中软件安全保护的方法的应用环境图;图2为一实施例的嵌入式产品中软件安全保护的方法的示意性流程图;图3为另一实施例的嵌入式产品中软件安全保护的方法的示意性流程图;图4为一实施例的嵌入式产品中软件安全保护的装置的示意性结构图;图5为一个实施例中计算机设备的内部结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。本申请提供的嵌入式产品中软件安全保护的方法,可以应用于如图1所示的应用环境中。针对嵌入式产品(即是包含有嵌入式芯片(处理器)的产品),将嵌入式芯片内的程序分为两部分:负责引导加载、校验等功能的bootloader程序(即系统驱动程序),以及系统功能程序。本专利技术实施例中,嵌入式产品生产阶段,使用芯片烧录设备将Bootloader程序写入芯片(裸片),所有该嵌入式产品的bootloader程序都是一样的。嵌入式产品产生出来后,通过上位机的程序升级工具与嵌入式芯片的系统驱动程序通讯,通过程序升级工具将系统功能程序传递给系统驱动程序,再由系统驱动程序将系统功能程序写入嵌入式芯片。嵌入式芯片再次启动后,先运行系统驱动程序,系统驱动程序对系统功能程序进行校验。如检验通过,则执行系统功能程序,使嵌入式系统正常工作;否则,让嵌入式系统无法正常运行。嵌入式产品一般都有内部ROM供用户存放系统功能程序,有的还会提供EEPROM存储器。嵌入式产品系统运行时,嵌入式芯片直接读取RO本文档来自技高网...

【技术保护点】
1.一种嵌入式产品中软件安全保护的方法,其特征在于,包括:运行嵌入式产品中的系统驱动程序;通过所述系统驱动程序获取所述嵌入式产品的硬件标识;所述硬件标识用于唯一标识所述嵌入式产品;所述硬件标识包括嵌入式芯片和/或所述嵌入式芯片之外的硬件功能模块;根据所述硬件标识生成加密参数,将所述加密参数发送给上位机的程序升级工具,以触发所述程序升级工具采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,以及将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片。

【技术特征摘要】
1.一种嵌入式产品中软件安全保护的方法,其特征在于,包括:运行嵌入式产品中的系统驱动程序;通过所述系统驱动程序获取所述嵌入式产品的硬件标识;所述硬件标识用于唯一标识所述嵌入式产品;所述硬件标识包括嵌入式芯片和/或所述嵌入式芯片之外的硬件功能模块;根据所述硬件标识生成加密参数,将所述加密参数发送给上位机的程序升级工具,以触发所述程序升级工具采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,以及将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片。2.根据权利要求1所述的方法,其特征在于,所述硬件标识为:嵌入式芯片的编号、嵌入式产品中除所述嵌入式芯片之外的硬件功能模块的编号、写入所述嵌入式产品的存储装置中不允许外部读取和改写的编号中的一种或者多种的组合。3.根据权利要求1所述的方法,其特征在于,所述采用所述加密参数对待写入所述嵌入式芯片的系统功能程序进行加密,包括:在待写入所述嵌入式芯片的系统功能程序中添加校验数据,所述校验数据根据所述加密参数得到。4.根据权利要求3所述的方法,其特征在于,还包括:使用所述加密参数对系统功能程序中设定数据区域的字节做换位和异或运算,得到校验数据。5.根据权利要求1所述的方法,其特征在于,所述根据所述硬件标识生成加密参数,包括:对所述硬件标识进行CRC32运算,得到第一部分的32位数;对所述硬件标识进行求和运算,得到第二部分的32位数;根据所述第一部分的32位数以及所述第二部分的32位数,得到64位的加密参数。6.根据权利要求1至5任一项所述的方法,其特征在于,将加密后的系统功能程序传递给所述系统驱动程序,由所述系统驱动程序写入所述嵌入式芯片之后,...

【专利技术属性】
技术研发人员:涂海胜
申请(专利权)人:日立楼宇技术广州有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1