CN104573567B - 芯片编程加密保护方法及其系统 - Google Patents

芯片编程加密保护方法及其系统 Download PDF

Info

Publication number
CN104573567B
CN104573567B CN201310488584.7A CN201310488584A CN104573567B CN 104573567 B CN104573567 B CN 104573567B CN 201310488584 A CN201310488584 A CN 201310488584A CN 104573567 B CN104573567 B CN 104573567B
Authority
CN
China
Prior art keywords
read
boot loader
startup program
chip
authentication data
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
CN201310488584.7A
Other languages
English (en)
Other versions
CN104573567A (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.)
Chenxin Technology Co ltd
Qingdao Weixuan Technology Co ltd
Original Assignee
Leadcore Technology 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 Leadcore Technology Co Ltd filed Critical Leadcore Technology Co Ltd
Priority to CN201310488584.7A priority Critical patent/CN104573567B/zh
Publication of CN104573567A publication Critical patent/CN104573567A/zh
Application granted granted Critical
Publication of CN104573567B publication Critical patent/CN104573567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及可编程芯片,公开了一种芯片编程加密保护方法及其系统。将用户鉴权数据和编程器中的引导装载程序传输给芯片内部的只读启动程序,只读启动程序通过引导装载程序接收系统存储器中的产品鉴权数据,只读启动程序对比用户鉴权数据和产品鉴权数据,若用户鉴权数据和产品鉴权数据相同,则进行引导装载程序的载入与执行动作;若不同,则禁止执行。相对于现有技术而言,本发明中在执行引导装载程序之前需要经过对用户鉴权数据和产品鉴权数据的比较加密过程,鉴权控制信息完全受控于终端用户,提高了产品的安全性,而且能够兼顾以往的设计需要。另外,仅需调整芯片内部的只读启动程序即可实现该加密机制,修改成本低且易于实现。

Description

芯片编程加密保护方法及其系统
技术领域
本发明涉及可编程芯片,特别涉及芯片编程加密保护方法。
背景技术
目前,大部分现有的可编程芯片解决方案,可编程芯片按照内部只读启动程序(Bootrom)代码驱动USB(通用串行总线,Universal Serial Bus)或者UART(通用非同步收发传输器,Universal Asynchronous Receiver and Transmitter)等硬件接口与编程器(PC loader)交互,将编译后的代码以二进制文件格式或者其他兼容机器码格式下载到系统非易失性存储器中,系统正常运行时,再由内部引导装载程序(Bootloader)。将编程代码由系统非易失性存储器中载入到内存运行实现各种产品功能及指标。
可编程芯片编程下载一般工作流程如图1所示。
步骤说明:
1、芯片内核启动Bootrom初始化外部USB或UART接口。
2、PC loader响应Bootrom将Bootloader载入系统随机存取存储器RAM中。
3、Bootrom完成载入后执行RAM中的Bootloader。
行业内同一公司在设计同类型芯片内部Bootrom程序时,为标准化PC loader接口函数,往往采用某种固定Bootloader的数据格式,从而保证交互机制统一。
以一种通用的形式为例进行说明,Bootrom和Bootloader交互数据格式如图2所示。
PC loader和Bootrom交互信息中,以字段HS作为编程下载握手信号,Bootrom通过UART或USB接收到握手信号后,通过字段CODE LENGTH获取用户要下载的CODE的长度信息,然后接收这一长度的Bootloader代码存放在内部RAM特定区域中。Bootrom程序把CODE数据接收完后,执行跳转指令,程序PC指针跳转执行Bootloader程序。
芯片设计完成发布后内核Bootrom载入用户Bootloader的过程及数据格式统一,且Bootrom在芯片生产封装时固化,导致同一芯片方案应用于多个终端用户之间时无差异。通常芯片解决方案在应用时,都需要对终端客户公开这些信息,这样同一芯片解决方案的下载过程和细节对所有厂商都是透明的,容易造成安全隐患。
假如A厂商已经设计好一款产品并已经在市面发售,B厂商可以通过如下手段轻松获得A厂商的发售产品的内部固件数据:B厂商通过公开渠道获得A厂商的产品,利用其获得的芯片公开资料,设计一个独特的Bootloader(以BOOT_S命名),BOOT_S的作用不是搬移正式固件数据到RAM执行,而是读取A厂商产品NAND(Not And,与非门)或eMMC(EmbeddedMultiMediaCard,嵌入式存储器)中的固件内容发回给PC;只要B厂商按照芯片Bootrom规定的方法将BOOT_S下载到A厂商产品中,就能够轻易获取A厂商的正式固件数据,实现产品复制。
发明内容
本发明的目的在于提供一种芯片编程加密保护方法,使得芯片可灵活配置为鉴权模式和正常模式,芯片编程下载通过鉴权进行识别控制,鉴权控制信息完全受控于终端用户,有效提高产品的安全性。
为解决上述技术问题,本发明提供了一种芯片编程加密保护方法,包含以下步骤:
将引导装载程序和作为客户端密码的用户鉴权数据输入编程器中;
将所述引导装载程序和所述用户鉴权数据传输给芯片内部的只读启动程序;
所述只读启动程序通过所述引导装载程序接收系统存储器中的产品鉴权数据;
所述只读启动程序对比所述用户鉴权数据和所述产品鉴权数据;
若所述用户鉴权数据和所述产品鉴权数据相同,则进行所述引导装载程序的载入与执行动作;
若所述用户鉴权数据与所述产品鉴权数据不同,则禁止执行所述引导装载程序的载入与执行动作。
本发明还提供了一种芯片编程加密保护系统,包含输入模块,传输模块,控制接收模块,控制对比模块和执行模块;
所述输入模块用于将引导装载程序和作为客户端密码的用户鉴权数据输入编程器中;
所述传输模块用于将所述用户鉴权数据和所述引导装载程序传输给芯片内部的只读启动程序;
所述控制接收模块用于控制所述只读启动程序通过所述引导装载程序接收系统存储器中的产品鉴权数据;
所述控制对比模块用于控制所述只读启动程序对比所述用户鉴权数据和所述产品鉴权数据;
所述执行模块用于在所述用户鉴权数据和所述产品鉴权数据相同时,执行所述引导装载程序的载入与执行动作,并在所述用户鉴权数据和所述产品鉴权数据不同时,禁止执行所述引导装载程序的载入与执行动作。
相对于现有技术而言,本发明中可编程芯片中增加了用户鉴权数据,和产品鉴权数据,通过用户鉴权数据和产品鉴权数据的加密对比过程,芯片内核在执行引导装载程序之前需要经过芯片内部的只读启动程序对用户鉴权数据和产品鉴权数据进行比较,如果两者相同,才会执行引导装载程序,如果两者不同,则不执行引导装载程序,这个比较的过程即是加密的过程,芯片编程下载通过鉴权进行识别控制,鉴权控制信息完全受控于终端用户,有效提高产品的安全性,而且本发明中的芯片灵活配置鉴权模式与一般模式,能兼顾以往的设计需要。另外,仅需调整芯片内部的只读启动程序即可实现该加密机制,整体修改成本低且易于实现。
另外,所述编程器通过编程专用接口接收所述引导装载程序和所述用户鉴权数据,所述编程专用接口再将所述引导装载程序和所述用户鉴权数据传输给所述只读启动程序。
引导装载程序和用户鉴权数据通过编程专用接口接收并传输,便于编程器与只读启动程序实现交互。
另外,在将所述用户鉴权数据和所述编程器中的引导装载程序传输给芯片内部的只读启动程序的步骤之前,还包含以下步骤:
所述芯片内核启动所述只读启动程序;
所述只读启动程序将所述编程专用接口初始化,准备接收所述引导装载程序和所述用户鉴权数据;
所述只读启动程序判断所述芯片的特定通用输入输出接口硬件管脚的电平状态,并在判定所述电平状态为高电平时,再进入所述编程器将引导装载程序和用户鉴权数据传输给芯片内部的只读启动程序的步骤。
在进入鉴权流程之前,芯片内核首先要启动只读启动程序,这个只读启动程序被启动后才能对编程专用接口进行初始化,为之后接收用户鉴权数据和与产品鉴权数据相关的引导装载程序做好准备,另外,只读启动程序能够通过判断芯片的特定通用输入输出接口硬件管脚的电平状况决定系统是进入鉴权流程还是进入一般流程,准确,安全可靠。
另外,如果所述只读启动程序判定所述芯片的特定通用输入输出接口硬件管脚的电平状态为低电平,则执行以下步骤:
通过所述编程专用接口将所述引导装载程序传输给所述只读启动程序;
所述芯片内核判断所述只读启动程序是否已经接收到所述引导装载程序;
若所述引导装载程序已经被所述只读启动程序接收,则进行所述引导装载程序的载入与执行动作;
若所述引导装载程序尚未被所述只读启动程序接收,则禁止执行所述引导装载程序的载入与执行动作。
上述过程即不进行加密比较的过程,本发明灵活配置鉴权模式与一般模式,能兼顾以往的设计需要。
另外,所述系统存储器为非易失性存储器。
另外,所述非易失性存储器可以为电可擦可编程只读存储器、储存型快闪存储器或片内只读存储器中的一种。
另外,所述只读启动程序与所述编程器通过包含六个字段的交互数据格式进行数据传输;
其中,所述六个字段分别为握手信号字段,存储器地址字段,引导装载程序长度字段,用户要下载的代码长度信息字段,鉴权数据字段以及用户代码字段。
与现有技术相比,增加了存储器地址字段,与产品鉴权数据相关的引导装载程序长度字段以及鉴权数据字段,仅通过调整芯片内部的只读启动程序即可实现本发明的加密机制,整体修改成本低且易于实现。
另外,所述鉴权数据字段包含用于存储用户鉴权数据的用户鉴权数据字段和用于存储产品鉴权数据的产品鉴权数据字段。
另外,使用所述编程器直接编程所述存储器地址字段、所述引导装载程序长度字段以及所述鉴权数据字段。
由于鉴权控制信息完全受控于终端用户,有效提高产品的安全性。
附图说明
图1是根据现有技术中可编程芯片编程下载一般工作流程图;
图2是根据现有技术中编程下载交互数据格式示意图;
图3是根据本发明中第一实施方式中芯片编程加密保护方法中的鉴权工作流程图;
图4是根据本发明中第一实施方式中鉴权下载交互数据格式示意图;
图5是根据本发明中第一实施方式中鉴权电路示例原理框图;
图6是根据本发明中第一实施方式中鉴权保护工作流程图;
图7是根据本发明第二实施方式中芯片编程加密保护系统示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
本发明的第一实施方式涉及一种芯片编程加密保护方法。具体流程如图3所示。
首先是步骤301:将引导装载程序和作为客户端密码的用户鉴权数据输入编程器中。
接着步骤302:芯片内核启动只读启动程序(Bootrom)。
接着步骤303:Bootrom将编程专用接口初始化,为之后接收用户鉴权数据和与产品鉴权数据相关的引导装载程序(Bootloader)做好准备。此处的编程专用接口可以用通用串行总线(USB)接口或通用非同步收发传输器(UART)接口代替。
接着步骤304:Bootrom将会通过芯片的特定通用输入输出接口GPIO硬件管脚的电平状态来判断进入哪种工作流程。
当GPIO=1时,即GPIO硬件管脚的电平状态为高电平时,进入鉴权流程。这种判断方法准确,安全可靠。
鉴权流程开始后首先是步骤305,编程器(PC Loader)通过外部初始化的编程专用接口将用户鉴权数据和Bootloader传输给芯片内部的Bootrom。
PC Loader首先通过外部初始化后的编程专用接口接收用户鉴权数据和Bootloader,编程专用接口再将用户鉴权数据和Bootloader传输给Bootrom,这里编程专用接口的引用,便于PC Loader与Bootrom实现交互。
然后进入步骤306:Bootrom接收用户鉴权数据和Bootloader。
接着步骤307:Bootrom根据接收到的Bootloader信息接收储存在系统存储器中的产品鉴权数据。该储存器为为非易失性存储器,可以为电可擦可编程只读存储器(E2PROM)、储存型快闪存储器(NANDFALSH)或片内只读存储器(ROM)中的一种,本实施方式中以下叙述将以E2PROM为例进行说明。
接着步骤308:Bootrom将判断用户鉴权数据与产品鉴权数据是否相同。
如果用户鉴权数据与产品鉴权数据不同,则进入步骤309:禁止Bootloader的载入与执行动作。
如果用户鉴权数据与产品鉴权数据相同,则进入步骤312:Bootrom将Bootloader载入系统的随机存取存储器RAM中。
接着步骤313:芯片内核将跳转执行Bootloader。
上述鉴权流程可以用如图4所示的鉴权电路原理图来表示。如图4所示,终端用户通过E2PROM存储产品鉴权数据,启动后芯片内核通过判断外部特定GPIO管脚电平状态来执行鉴权流程,鉴权时由BOOTROM负责获取E2PROM内部储存的产品鉴权数据和PC LOADER传输的用户鉴权数据,当BOOTROM获得用户鉴权数据和产品鉴权数据时,通过对比E2PROM内部储存的产品鉴权数据和PC LOADER传输的用户鉴权数据达到鉴权目的。
上述鉴权流程中,Bootrom与Bootloader的交互数据格式包含六个字段,如图5所示,分别为握手信号字段HS,存储器地址字段ID ADDRESS,与产品鉴权数据相关的引导装载程序长度字段ID LENGTH,用户要下载的代码长度信息字段CODE LENGTH,鉴权数据字段IDDATA以及用户代码字段CODE DATA。与现有技术相比,增加了ID ADDRESS,ID LENGTH以及IDDATA,仅通过调整芯片内部的Bootrom即可实现本发明的加密机制,整体修改成本低且易于实现。
另外,上述HS为PC Loader与Bootrom的编程下载握手信号字段,用于将PC Loader与Bootrom相交互。
上述ID DATA包括用户鉴权数据字段和产品鉴权数据字段,BOOTROM把PC LOADER的字段作为指令执行接收地址为ID ADDRESS设备(例如E2PROM)中长度为ID LENGTH的产品鉴权数据(以ID_DATA_E2PROM命名),同时接收PC LOADER传输的用户鉴权数据(以ID_DATA_PC命名)。仅当ID_DATA_E2PROM和ID_DATA_PC完全相同时才能通过鉴权,BOOTROM才进行后续的Bootloader流程。
上述ID ADDRESS,ID LENGTH以及ID DATA均是由PC Loader传输控制的。这样鉴权控制信息就完全受控于终端用户,有效提高产品的安全性。
作为本发明的进一步改进,上述步骤304中,当GPIO≠1时,即GPIO硬件管脚的电平状态为低电平时,系统将进入一般流程。
进入一般流程的第一步即图3中步骤310:PC Loader通过外部初始化的编程专用接口将Bootloader传输给Bootrom。
接着步骤311:芯片内核将会判断Bootrom是否已经接收到Bootloader。
如果Bootrom没有接收到Bootloader,则进入步骤309:芯片内核将会禁止Bootloader的载入与执行动作。
如果Bootrom已经接收到Bootloader,则进入步骤312:Bootrom就会将Bootloader载入系统的RAM中,接着进入步骤313。
步骤313:芯片内核跳转执行Bootloader。
上述的一般过程即不进行加密比较的过程,过程中没有涉及用户鉴权数据与产品鉴权数据的比较,此一般过程与之前的鉴权过程可以在本发明中灵活配置,即能兼顾以往的设计需要,又能增加用户鉴权数据保证可编程芯片的安全可靠。
增加鉴权功能设计后,可实现编程下载和整机启动的有效保护,其工作流程如图6所示。
图6所示短线虚线为下载保护流程:
1、芯片内核启动Bootrom后,Bootrom初始化外部USB/UART接口。
2、外部PC Loader通过外部USB或UART接口将用户鉴权数据和Bootloader传输给Bootrom。
3、Bootrom根据Bootloader的信息接收E2PROM中的产品鉴权数据,并将产品鉴权数据与用户鉴权数据进行对比鉴权,实现下载保护。
图6所示点虚线为启动保护流程:
4、芯片内核启动Bootrom程序,将储存式快闪存储器NANDFLASH或内嵌式存储器eMMC中储存的用户启动代码载入到芯片内部RAM,并运行。
5、用户启动代码将全部运行代码载入系统RAM准备开机运行。
6、用户运行代码从E2PROM中获取鉴权数据并与固件信息进行对比鉴权,实现开机保护。
相对于现有技术而言,本发明中可编程芯片增加了用户鉴权数据和产品鉴权数据的加密对比过程,芯片内核在执行引导装载程序之前需要经过芯片内部的只读启动程序对用户鉴权数据和产品鉴权数据进行比较,如果两者相同,才会执行引导装载程序,如果两者不同,则不执行引导装载程序,这个比较的过程即是加密的过程,芯片编程下载通过鉴权进行识别控制,鉴权控制信息完全受控于终端用户,有效提高产品的安全性,而且本发明中的芯片灵活配置鉴权模式与一般模式,能兼顾以往的设计需要。另外,仅需调整芯片内部的只读启动程序即可实现该加密机制,整体修改成本低且易于实现。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内。
本发明的第二实施方式涉及一种芯片编程加密保护系统。如图7所示,包含输入模块,传输模块,控制接收模块,控制对比模块,执行模块,控制启动模块,控制初始化模块和控制判断模块。下面结合图7具体说明整个系统的工作过程。
首先,输入模块将作为客户端密码的用户鉴权数据输入编程器中,控制启动模块控制芯片内核启动只读启动程序。
其次,控制初始化模块控制只读启动程序将外部的编程专用接口初始化,准备接收编程器中的用户鉴权数据和编程器中的引导装载程序。
然后,控制判断模块控制只读启动程序判断芯片的特定通用输入输出接口硬件管脚的电平状态。
当电平状态为高电平时,传输模块将引导装载程序和用户鉴权数据传输给芯片内部的只读启动程序。
上述传输模块通过外部的编程专用接口接收引导装载程序和用户鉴权数据,编程专用接口再将引导装载程序和用户鉴权数据传输给只读启动程序。
接着,控制接收模块控制只读启动程序通过引导装载程序接收系统存储器中的产品鉴权数据。
接着,控制对比模块控制只读启动程序对比用户鉴权数据和产品鉴权数据。
最后,执行模块在用户鉴权数据和产品鉴权数据相同时,执行引导装载程序的载入与执行动作,在用户鉴权数据和产品鉴权数据不同时,禁止执行引导装载程序的载入与执行动作。
当电平状态为低电平时,传输模块通过编程专用接口将引导装载程序传输给芯片内部的只读启动程序。
接着,控制判断模块控制芯片内核判断只读启动程序是否已经接收到引导装载程序。
若引导装载程序已经被只读启动程序接收,执行模块将执行引导装载程序的载入与执行动作;
若引导装载程序尚未被只读启动程序接收,执行模块将禁止执行引导装载程序的载入与执行动作。
相对于现有技术而言,本发明中可编程芯片中增加了控制对比模块,执行模块在执行引导装载程序之前需要经过控制对比模块对用户鉴权数据和产品鉴权数据进行比较,如果两者相同,执行模块才会执行引导装载程序,如果两者不同,则执行模块将禁止执行引导装载程序,这个比较的过程即是加密的过程,芯片编程下载通过鉴权进行识别控制,鉴权控制信息完全受控于终端用户,有效提高产品的安全性,而且本发明中的芯片灵活配置鉴权模式与一般模式,能兼顾以往的设计需要。另外,仅需调整芯片内部的只读启动程序即可实现该加密机制,整体修改成本低且易于实现。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (9)

1.一种芯片编程加密保护方法,其特征在于,包含以下步骤:
将引导装载程序和作为客户端密码的用户鉴权数据输入编程器中;
将所述用户鉴权数据和所述引导装载程序传输给芯片内部的只读启动程序;
所述只读启动程序根据所述引导装载程序的信息接收系统存储器中的产品鉴权数据;
所述只读启动程序对比所述用户鉴权数据和所述产品鉴权数据;
若所述用户鉴权数据和所述产品鉴权数据相同,则进行所述引导装载程序的载入与执行动作;
若所述用户鉴权数据与所述产品鉴权数据不同,则禁止执行所述引导装载程序的载入与执行动作;
其中,所述编程器通过编程专用接口接收所述引导装载程序和所述用户鉴权数据,所述编程专用接口再将所述引导装载程序和所述用户鉴权数据传输给所述只读启动程序;
在将所述用户鉴权数据和所述编程器中的引导装载程序传输给芯片内部的只读启动程序的步骤之前,还包含以下步骤:
所述芯片内核启动所述只读启动程序;
所述只读启动程序将所述编程专用接口初始化,准备接收所述引导装载程序和所述用户鉴权数据;
所述只读启动程序判断所述芯片的特定通用输入输出接口硬件管脚的电平状态,并在判定所述电平状态为高电平时,再进入所述编程器将引导装载程序和用户鉴权数据传输给芯片内部的只读启动程序的步骤。
2.根据权利要求1所述的芯片编程加密保护方法,其特征在于,还包含以下步骤:
如果所述只读启动程序判定所述芯片的特定通用输入输出接口硬件管脚的电平状态为低电平,则执行以下步骤:
通过所述编程专用接口将所述引导装载程序传输给所述只读启动程序;
所述芯片内核判断所述只读启动程序是否已经接收到所述引导装载程序;
若所述引导装载程序已经被所述只读启动程序接收,则进行所述引导装载程序的载入与执行动作;
若所述引导装载程序尚未被所述只读启动程序接收,则禁止执行所述引导装载程序的载入与执行动作。
3.根据权利要求1所述的芯片编程加密保护方法,其特征在于,所述系统存储器为非易失性存储器。
4.根据权利要求3所述的芯片编程加密保护方法,其特征在于,所述非易失性存储器为电可擦可编程只读存储器、储存型快闪存储器或片内只读存储器。
5.根据权利要求1所述的芯片编程加密保护方法,其特征在于,所述只读启动程序与所述编程器通过包含六个字段的交互数据格式进行数据传输;
其中,所述六个字段分别为握手信号字段,存储器地址字段,引导装载程序长度字段,用户要下载的代码长度信息字段,鉴权数据字段以及用户代码字段。
6.根据权利要求5所述的芯片编程加密保护方法,其特征在于,所述鉴权数据字段包含用于存储用户鉴权数据的用户鉴权数据字段和用于存储产品鉴权数据的产品鉴权数据字段。
7.根据权利要求5所述的芯片编程加密保护方法,其特征在于,使用所述编程器直接编程所述存储器地址字段、所述引导装载程序长度字段以及所述鉴权数据字段。
8.一种芯片编程加密保护系统,其特征在于,包含输入模块,传输模块,控制接收模块,控制对比模块和执行模块;
所述输入模块用于将引导装载程序和作为客户端密码的用户鉴权数据输入编程器中;
所述传输模块用于将所述用户鉴权数据和所述引导装载程序传输给芯片内部的只读启动程序;
所述控制接收模块用于控制所述只读启动程序根据所述引导装载程序的信息接收系统存储器中的产品鉴权数据;
所述控制对比模块用于控制所述只读启动程序对比所述用户鉴权数据和所述产品鉴权数据;
所述执行模块用于在所述用户鉴权数据和所述产品鉴权数据相同时,执行所述引导装载程序的载入与执行动作;并在所述用户鉴权数据和所述产品鉴权数据不同时,禁止执行所述引导装载程序的载入与执行动作;
其中,所述传输模块通过编程专用接口接收所述引导装载程序和所述用户鉴权数据,并通过所述编程专用接口再将所述引导装载程序和所述用户鉴权数据传输给所述只读启动程序;
还包含控制启动模块,控制初始化模块和控制判断模块;
所述控制启动模块用于控制所述芯片内核启动所述只读启动程序;
所述控制初始化模块用于控制所述只读启动程序将所述编程专用接口初始化,准备接收所述引导装载程序和所述用户鉴权数据;
所述控制判断模块用于控制所述只读启动程序判断所述芯片的特定通用输入输出接口硬件管脚的电平状态;
所述传输模块用于在所述只读启动程序判断所述芯片的特定通用输入输出接口硬件管脚的电平状态为高电平时,再将所述用户鉴权数据和所述编程器中的引导装载程序传输给芯片内部的只读启动程序。
9.根据权利要求8所述的芯片编程加密保护系统,其特征在于,所述传输模块还用于在所述只读启动程序判断所述芯片的特定通用输入输出接口硬件管脚的电平状态为低电平时,通过所述编程专用接口将所述引导装载程序传输给所述只读启动程序;
所述控制判断模块用于控制所述芯片内核判断所述只读启动程序是否已经接收到所述引导装载程序;
所述执行模块用于在所述引导装载程序已经被所述只读启动程序接收时,执行所述引导装载程序的载入与执行动作;
所述执行模块还用于在所述引导装载程序尚未被所述只读启动程序接收时,禁止执行所述引导装载程序的载入与执行动作。
CN201310488584.7A 2013-10-17 2013-10-17 芯片编程加密保护方法及其系统 Active CN104573567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310488584.7A CN104573567B (zh) 2013-10-17 2013-10-17 芯片编程加密保护方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310488584.7A CN104573567B (zh) 2013-10-17 2013-10-17 芯片编程加密保护方法及其系统

Publications (2)

Publication Number Publication Date
CN104573567A CN104573567A (zh) 2015-04-29
CN104573567B true CN104573567B (zh) 2017-11-10

Family

ID=53089600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310488584.7A Active CN104573567B (zh) 2013-10-17 2013-10-17 芯片编程加密保护方法及其系统

Country Status (1)

Country Link
CN (1) CN104573567B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407801B (zh) * 2015-12-25 2023-08-08 北京瑞普三元仪表有限公司 一种微处理器运行时鉴权保护电路及方法
CN105787321A (zh) * 2016-01-26 2016-07-20 宇龙计算机通信科技(深圳)有限公司 终端关机方法、终端关机装置和终端
CN107358127B (zh) * 2017-01-25 2019-11-15 天地融科技股份有限公司 一种合法芯片的识别方法及系统
CN111767532A (zh) * 2020-06-12 2020-10-13 上海橙群微电子有限公司 编程器鉴权方法和鉴权系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101635019A (zh) * 2009-08-25 2010-01-27 中国华录集团有限公司 基于安全mcu的嵌入式软件程序的加密系统
CN102567671A (zh) * 2011-12-30 2012-07-11 大连捷成实业发展有限公司 一种fpga配置数据的加密系统及其加密方法
CN102651686A (zh) * 2011-02-23 2012-08-29 上海华虹集成电路有限责任公司 单片机在线可编程的身份认证方法
CN103049681A (zh) * 2012-12-13 2013-04-17 东南大学 一种基于防复制电路的防抄板系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853804B2 (en) * 2007-09-10 2010-12-14 Lenovo (Singapore) Pte. Ltd. System and method for secure data disposal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101635019A (zh) * 2009-08-25 2010-01-27 中国华录集团有限公司 基于安全mcu的嵌入式软件程序的加密系统
CN102651686A (zh) * 2011-02-23 2012-08-29 上海华虹集成电路有限责任公司 单片机在线可编程的身份认证方法
CN102567671A (zh) * 2011-12-30 2012-07-11 大连捷成实业发展有限公司 一种fpga配置数据的加密系统及其加密方法
CN103049681A (zh) * 2012-12-13 2013-04-17 东南大学 一种基于防复制电路的防抄板系统及方法

Also Published As

Publication number Publication date
CN104573567A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104573567B (zh) 芯片编程加密保护方法及其系统
CN100578473C (zh) 嵌入式系统和增加嵌入式系统安全性的方法
CN105391840A (zh) 自动创建目标应用程序
CN106776308B (zh) 一种基于Uboot的电子产品故障调试方法及系统
CN105224875B (zh) 一种终端的安全启动系统和方法
CA2147824A1 (en) Host and user transaction system
JP2007226839A (ja) データ構造を記憶するメモリ及び方法
CN101373440B (zh) 一种固件升级数据处理方法和装置
US20090144556A1 (en) Generic electronic key provided with a customized smart card
US20090222835A1 (en) Operating System for a Chip Card Comprising a Multi-Tasking Kernel
CN105159716B (zh) 一种存储器件初始化方法和电子设备
CN103838591A (zh) 一种基于串行总线的多单片机升级方法及装置
CN106056017A (zh) 智能卡cos加密下载系统
EP2338244B1 (en) Use of a secure element for writing to and reading from machine readable credentials
CN107223252B (zh) 安全元件
CN107688756B (zh) 硬盘控制方法、设备及可读存储介质
CN104657685A (zh) 保护非易失性存储器中存储的程序代码的装置
CN106919865A (zh) 非易失性存储器数据加密系统
CN104412230B (zh) 使用管理程序调用指令从固件模块调用无线电通讯功能的方法和设备
CN106156632B (zh) 安全装置及在其内提供安全服务至主机的方法、安全设备
CN110651448A (zh) 芯片的访问方法、微芯片、智能卡以及调试设备
CN105159714B (zh) 一种pmic初始化方法和电子设备
CN109710292B (zh) 移动终端刷机控制处理方法、移动终端及存储介质
CA2732203A1 (en) Authorization system with a card and a reader
CN108875412A (zh) 一种inSE安全模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20150429

Assignee: Shanghai Li Ke Semiconductor Technology Co.,Ltd.

Assignor: LEADCORE TECHNOLOGY Co.,Ltd.

Contract record no.: 2018990000159

Denomination of invention: Chip programming encryption protecting method and system

Granted publication date: 20171110

License type: Common License

Record date: 20180615

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180814

Address after: 201206 Pudong New Area, Shanghai Mingyue Road, 1258, Mingyue road 1258, 3, fourth story A406 room.

Patentee after: Chen core technology Co.,Ltd.

Address before: 200233 4 building, No. 333, No. 41, Qinjiang Road, Shanghai, Xuhui District

Patentee before: LEADCORE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221128

Address after: 266500 No. 687, Binhai street, Huangdao District, Qingdao, Shandong

Patentee after: Chenxin Technology Co.,Ltd.

Patentee after: Qingdao Weixuan Technology Co.,Ltd.

Address before: 201206 Pudong New Area, Shanghai Mingyue Road, 1258, Mingyue road 1258, 3, fourth story A406 room.

Patentee before: Chen core technology Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 102, Building 16, No. 1699, the Pearl River Road, Huangdao District, Qingdao, Shandong 266500

Patentee after: Chenxin Technology Co.,Ltd.

Patentee after: Qingdao Weixuan Technology Co.,Ltd.

Address before: 266500 No. 687, Binhai street, Huangdao District, Qingdao, Shandong

Patentee before: Chenxin Technology Co.,Ltd.

Patentee before: Qingdao Weixuan Technology Co.,Ltd.