CN115391842A - 一种可动态配置安全算法库的芯片设计方法 - Google Patents

一种可动态配置安全算法库的芯片设计方法 Download PDF

Info

Publication number
CN115391842A
CN115391842A CN202211017010.7A CN202211017010A CN115391842A CN 115391842 A CN115391842 A CN 115391842A CN 202211017010 A CN202211017010 A CN 202211017010A CN 115391842 A CN115391842 A CN 115391842A
Authority
CN
China
Prior art keywords
algorithm
area
security
chip
design method
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.)
Pending
Application number
CN202211017010.7A
Other languages
English (en)
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.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design 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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN202211017010.7A priority Critical patent/CN115391842A/zh
Publication of CN115391842A publication Critical patent/CN115391842A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

一种可动态配置安全算法库的芯片设计方法,可以实现安全算法存储空间的动态映射,从而在算法应用需求与用户空间大小达到动态平衡,满足安全需求和应用需求。首先将安全算法划分为若干个最小单元,芯片生产时将最小单元合集下载到存储器中,通过软硬件配合实现算法区多次重映射,释放用户空间,适配多种应用领域的需求。本专利仅提供一种设计方法,并不局限于开发者使用任何软硬件实施方式实现。

Description

一种可动态配置安全算法库的芯片设计方法
技术领域
本发明涉及一种支持安全算法库动态配置的芯片设计方法,满足不同领域算法需求的低成本芯片要求。
背景技术
物联网即“万物相连的互联网”,是互联网基础上的延伸和扩展的网络,将各种信息传感设备与网络结合起来而形成的一个巨大网络,实现在任何时间、任何地点,人、机、物的互联互通。物联网是新一代技术的重要组成部分,是物物相连的互联网,其核心仍然是互联网。据了解目前我国很多物联网没有完善的安全保障,安全等级很低极易造成数据安全的泄露,像层出不穷的摄像头被破解、售货机破解无一不体现着物联网数据安全的重要性,因此物联网的安全问题亟需解决。安全芯片应运而生,其独有的安全加密存储和防攻击措施相当于给物联网加了一把安全锁,为万物互联保驾护航。
由于物联网应用的广泛性,安全芯片需要面对各行各业的领域,必须支持国际算法(ECC/DES/AES/SHA-X/RSA等)和国密算法(SM1/SM2/SM3/SM4/SM9等),另外用户也需要开发许多应用装载在芯片里面,用于支持产品未来的市场应用。上述芯片需要有非常大的存储空间,这对于芯片的面积来说是严峻的挑战。但是物联网行业恰恰对成本要求极为严苛,低成本设计是物联网行业未来的主流设计。因此如何设计一种即能满足不同市场应用,又能装载用户应用程序的安全芯片十分重要且迫在眉睫。
目前在市场上,不同领域对安全算法的需求是不同的,类似智能门锁,防伪认证,智能电表,智能燃气,车联网V2X,数字钱包、TBOX等等。每个领域需要的仅仅是一种或者几种算法,其余的算法并不使用,这样其他的算法放在用户空间里实则对用户存储是极大的浪费。但是所有用户的需求集合在一起确是希望尽可能包含更多的算法,这样又必须占用很大的存储空间。
综上所述,如果能够针对单一应用将该应用下不使用的算法空间释放,存放用户应用程序和数据,这样就能满足各行各业的需求。基于此本专利提出一种安全算法动态配置管理办法,可以有效释放空间,满足用户应用程序存储需求和不同领域算法需求,同时节省芯片面积,降低成本。
发明内容
本发明的技术解决问题是:不同领域对安全算法的需求是不同的,每个领域需要的仅仅是一种或者几种算法,其余的算法并不使用,通过本专利方法,可使低成本芯片在较小存储空间下,仍可满足不同领域对安全算法的需求,同时释放较大用户空间开放给用户使用,而且能够保证安全算法的安全性。
本发明的技术解决方案是:
首先:将芯片算法按算法种类或函数集合划分为若干个最小单元,排列存放在存储器的不同空间,存储器最上方为一个预留的最小单元,不存放任何算法。芯片在加工时将算法总集、参数配置区数据和loader程序区程序下载到存储器中。
其次:参数配置区是存放参数配置的区域,如存储用于管理员安全认证的密钥,也可以存放每种应用算法的使能与关闭配置或标识。loader程序区存放loader程序,用于解析命令执行相应的操作。参数配置区和loader程序区不参与算法的动态映射。
再次:根据应用需求确定需要使用的算法,发送命令给芯片loader程序,通过loader程序读取参数配置区存储的密钥进行管理员安全认证,认证通过后发送算法映射命令,loader程序解析命令参数,调用硬件完成相应安全算法库的动态映射。由CPU控制模块控制存储器管理模块,将需要用的算法映射到存储器指定位置,擦除未使用的算法区,CPU控制模块生效新映射的算法区,芯片执行下电或复位操作,芯片复位后新生效的安全算法可用。
最后:存储器管理模块对复位或重新上电的芯片,执行新的访问权限。存储器管理模块更新各区空间及访问权限,映射后新生效的算法区外的空间释放为用户区,用户区对算法区无读写权限,只有执行权限,保证算法的安全性。
本发明与现有技术相比的优点在于:
(1)芯片动态配置算法区空间,释放算法区外的空间,既满足了不同应用算法的需求,又释放了最大的用户空间给用户使用。
(2)芯片动态配置算法区操作由芯片完成,不开放给用户自行下载算法,既保证安全性又节省了多算法多版本管理成本;
(3)最小单元细化到某些算法的函数合集,满足不同应用需求;
(4)最小单元存储空间可以多次重映射。本方法支持多次重映射,Loader程序完成管理员安全认证后,通过命令解析可以实现最小单元存储空间多次重映射。
附图说明
图1为本发明的整体设计框图;
图2为本发明示例芯片加工时的存储器空间分配;
图3为本发明动态配置安全算法区的流程图;
图4为本发明示例芯片动态配置安全算法区后的存储空间分配;
具体实施方式
由于本专利仅介绍一种方法,并不做具体实现,因此在这里仅描述一个示例来说明具体实施方式(整体框图如图1所示),(本文中所使用软硬件实现方式,可由实现者在实际操作时指定,文中仅举例说明):
某安全芯片设计时开发了SM4、AES、RSA算法,将SM4算法、AES算法、RSA算法函数集1、RSA算法函数集2划分为最小单元,每个最小单元占用存储空间大小差异不大。芯片加工时将SM4、AES、RSA算法库hex文件下载到FLASH中,如图2所示。其中地址5到FLASH顶端是预留区,不存放任何有意义的数据。
某用户针对应用需求只需要AES算法和RSA函数集1,并且希望能有足够大的用户区用来存储用户程序和数据。可以按照图3所示流程对芯片安全算法库动态映射配置。
第一步,对芯片发送命令,获取鉴权随机数。脚本使用鉴权密钥对随机数进行AES算法解密,将解密后结果发送给芯片。芯片loader程序收到命令,也使用参数配置区鉴权密钥对随机数进行AES算法解密,判断收到正确的解密结果即认为管理员安全认证成功,判断收到错误的解密结果则返回认证失败错误码。
第二步,对芯片发送配置算法区映射命令,loader程序解析收到的命令,选择待映射算法组合是AES算法和RSA函数集1,调用硬件完成相应安全算法库的动态映射。CPU控制模块调用存储器管理模块将AES算法数据映射到顶端预留区,将RSA函数集1数据映射到地址4(原SM4区域),擦除地址1到地址4范围的存储器空间。
第三步,CPU控制模块将地址4以上区域生效为算法区,芯片下电再次上电。重新上电的芯片存储器管理模块将设置新的权限,对地址4以下的空间权限改为用户区权限,地址4以上权限改为安全算法区权限,用户区对安全算法区无读写权限,只有执行权限。
最后,用户可以调用执行AES算法和RSA函数集1中的函数,地址0到地址4空间均是用户区供用户使用。动态配置后的芯片存储器状态如图4。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (6)

1.一种可动态配置安全算法库的芯片设计方法,其特征在于:芯片支持多种安全算法,将芯片安全算法划分为若干最小单元,芯片生产时将最小单元合集下载到存储器;应用时通过发送命令调用硬件模块,实现最小单元存储空间的任意动态映射,完成映射后擦除未使用的算法区,生效新映射的算法区为安全算法区;复位后存储器管理模块会更新各区空间及访问权限,未用算法区释放为用户区由用户支配使用;最小单元存储空间可以多次重映射。
2.根据权利要求1所述的芯片设计方法,其特征在于,芯片可支持多种安全算法,所述最小单元可以是某一种算法,也可以是多种算法,也可以是某些算法的函数集合。
3.根据权利要求1所述的芯片设计方法,其特征在于,该方法由软硬件配合实现,所述应用时通过发送命令调用硬件模块,是指命令解析由loader程序实现,loader程序完成管理员安全认证,调用硬件模块完成算法存储空间映射,通过管理员安全认证后才可以实现所述的最小单元存储空间的任意动态映射配置,管理员安全认证方式由芯片制定,不局限于何种算法的加密或解密;所述调用硬件模块是指由CPU控制模块调用存储器管理模块,将需要用的算法映射到存储器指定位置。
4.根据权利要求1所述的芯片设计方法,其特征在于,所述完成映射后擦除未使用的算法区,生效新映射的算法区为安全算法区,是指完成新映射后必须先擦除未用的算法区,再由CPU控制模块生效安全算法区,先擦除后生效保证算法区释放为用户区时是擦除状态,算法不被泄露;用户区对安全算法区无读写权限,只有执行权限,保证安全算法的不可更改及安全。
5.根据权利要求1所述的芯片设计方法,其特征在于,所述任意动态映射指存储器管理模块可以实现任意最小单元的任意位置映射,所述生效新映射的算法区指CPU控制模块可以生效一个或多个最小单元。
6.根据权利要求1所述的芯片设计方法,其特征在于,所述最小单元存储空间可以多次重映射是指该方法支持多次重映射,Loader程序完成管理员安全认证后,通过命令解析可以实现最小单元存储空间多次重映射。
CN202211017010.7A 2022-08-22 2022-08-22 一种可动态配置安全算法库的芯片设计方法 Pending CN115391842A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211017010.7A CN115391842A (zh) 2022-08-22 2022-08-22 一种可动态配置安全算法库的芯片设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211017010.7A CN115391842A (zh) 2022-08-22 2022-08-22 一种可动态配置安全算法库的芯片设计方法

Publications (1)

Publication Number Publication Date
CN115391842A true CN115391842A (zh) 2022-11-25

Family

ID=84120018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211017010.7A Pending CN115391842A (zh) 2022-08-22 2022-08-22 一种可动态配置安全算法库的芯片设计方法

Country Status (1)

Country Link
CN (1) CN115391842A (zh)

Similar Documents

Publication Publication Date Title
CN109800050B (zh) 一种虚拟机的内存管理方法、装置、相关设备及系统
US7503064B2 (en) Framework for providing a security context and configurable firewall for computing systems
CN100363855C (zh) 密钥存储管理方法、装置及其系统
US7610488B2 (en) Data processing device and method and program of same
CN105678192B (zh) 一种基于智能卡的密钥应用方法及应用装置
US10735190B1 (en) Persistent TPM-based identifier and key pair
CN103946856A (zh) 加解密处理方法、装置和设备
EP3384423B1 (en) Device with multiple roots of trust
CN105612715A (zh) 具有可配置访问控制的安全处理单元
WO2011134207A1 (zh) 软件保护方法
CN106133739A (zh) 数据到安全元件的非易失性存储器中的加载的安全保护
US7664953B2 (en) Data processing device, method of same, and program of same
KR20090052321A (ko) 다기능 제어 구조를 이용하는 콘텐트 제어 시스템과 방법
US10248795B2 (en) Implementing method for JavaCard application function expansion
CN111177701A (zh) 基于可信执行环境和安全芯片的密码功能服务实现方法和设备
CN105631353A (zh) 加密信息的存储方法、加密信息的存储装置和终端
US20230012013A1 (en) Secure device programming system with hardware security module and security interop layer
CN113906421A (zh) 具有安全测试模式入口的存储器装置
CN111783071A (zh) 基于密码、基于隐私数据的验证方法、装置、设备及系统
CN115296794A (zh) 基于区块链的密钥管理方法及装置
US11163902B1 (en) Systems and methods for encrypted container image management, deployment, and execution
CN111767553B (zh) 数据加密解密方法、mcu及电子设备、可读存储介质
WO2024124804A1 (zh) 软件功能激活方法、装置、设备及存储介质
CN115391842A (zh) 一种可动态配置安全算法库的芯片设计方法
CN115935391A (zh) Ic卡的制卡、发卡方法以及装置、介质和程序产品

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