CN118282630A - 避免使用不完整密钥的密钥管理装置、处理器芯片及方法 - Google Patents

避免使用不完整密钥的密钥管理装置、处理器芯片及方法 Download PDF

Info

Publication number
CN118282630A
CN118282630A CN202311385059.2A CN202311385059A CN118282630A CN 118282630 A CN118282630 A CN 118282630A CN 202311385059 A CN202311385059 A CN 202311385059A CN 118282630 A CN118282630 A CN 118282630A
Authority
CN
China
Prior art keywords
key
new
processor
control circuit
management device
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
CN202311385059.2A
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.)
Nuvoton Technology Corp
Original Assignee
Nuvoton Technology Corp
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 Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of CN118282630A publication Critical patent/CN118282630A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种避免使用不完整密钥的密钥管理装置、处理器芯片及方法,避免使用不完整密钥的密钥管理装置包括:一静态随机存取存储器;一暂存器;以及一控制电路,在上述静态随机存取存储器或上述暂存器设置一密钥查找表,并管理一密钥数据库,其中上述密钥数据库储存一或多把密钥;其中上述控制电路执行:接收由一处理器所传送的一密钥创建指令,其中上述密钥创建指令包括一新密钥及相应的元数据;当上述新密钥已被储存至上述密钥数据库,并且上述新密钥相应的元数据已在上述密钥查找表中被新增后,在上述密钥查找表中设定上述新密钥相应的激活位为开启状态;以及回报上述新密钥相应的一密钥编号。

Description

避免使用不完整密钥的密钥管理装置、处理器芯片及方法
技术领域
本发明是有关于一种密钥管理装置、处理器芯片及方法,特别是有关于一种避免使用不完整密钥的密钥管理装置、处理器芯片及方法。
背景技术
在现今的计算机***或控制***中,往往会需要对数据进行数据加解密处理。然而,数据解密的过程往往需要密钥或私钥,当密钥或私钥的数量变多时,密钥管理及保存亦会对使用者造成相当大的困扰。
此外,在密钥建立过程中,如果遇到***重置(System reset)或是其他不明原因,进而导致密钥建立过程被中断。这种状况将会使得密钥未能完整写入。等到***需要使用此密钥时,由于***可能操作着不完整建立的密钥而造成加解密运算失败,将会发生不如预期的结果而面临安全上的风险与问题。
因此,需要一种避免使用不完整密钥的密钥管理装置、处理器芯片及方法,以确保所有密钥建立过程被中断的密钥无法被使用。
发明内容
以下揭露的内容仅为示例性的,且不意指以任何方式加以限制。除所述说明方面、实施方式和特征之外,通过参照附图和下述具体实施方式,其他方面、实施方式和特征也将显而易见。即,以下揭露的内容被提供以介绍概念、重点、益处及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下揭露的内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。
因此,本发明的主要目的即在于提供一种避免使用不完整密钥的密钥管理装置、处理器芯片及方法。
本发明提出一种避免使用不完整密钥的密钥管理装置,包括:一静态随机存取存储器;一暂存器;以及一控制电路,用以在上述静态随机存取存储器或上述暂存器设置一密钥查找表,并管理一密钥数据库,其中上述密钥数据库储存一或多把密钥;其中,上述控制电路执行以下步骤:接收由一处理器所传送的一密钥创建指令,其中上述密钥创建指令包括一新密钥及相应的元数据;当上述新密钥已被储存至上述密钥数据库,并且上述新密钥相应的元数据已在上述密钥查找表中被新增后,在上述密钥查找表中设定上述新密钥相应的激活位为开启状态;以及回报上述新密钥相应的一密钥编号至上述处理器。
在一些实施例中,上述新密钥相应的上述激活位预设为关闭状态。
在一些实施例中,上述控制电路更执行:接收一密钥读取指令,其中上述密钥读取指令是用以请求读取一第一密钥;当在上述密钥查找表找到上述第一密钥相应的一第一密钥编号后,判断上述第一密钥相应的一第一激活位是否为开启状态;当上述第一激活位为开启状态时,从上述密钥数据库读取上述第一密钥,并传送上述第一密钥至上述处理器;以及当上述第一激活位为关闭状态时,回报一读取失败信息至上述处理器。
在一些实施例中,上述控制电路更执行:接收来自上述处理器的一密钥删除指令,其中上述密钥删除指令是用以删除一第二密钥;依据来自上述密钥删除指令中的上述第二密钥相应的一第二密钥编号从上述密钥数据库中删除上述第二密钥编号的上述第二密钥;以及设定在上述密钥查找表中的上述第二密钥相应的一第二激活位为关闭状态。
在一些实施例中,当上述新密钥相应的元数据或上述密钥编号无法在上述密钥查找表中被新增,或是上述新密钥无法被储存至上述密钥数据库时,产生一中断信息,其中上述中断信息是记录上述新密钥的储存信息。
本发明提出一种处理器芯片,包括:一处理器;一次性可编程(One-timeProgrammable(OTP)Memory)存储器;一快闪存储器;以及一密钥管理装置,电连接至上述处理器、上述OTP存储器及上述快闪存储器,上述密钥管理装置包括:一静态随机存取存储器;一暂存器;以及一控制电路,用以在上述静态随机存取存储器或上述暂存器设置一密钥查找表,并管理一密钥数据库,其中上述密钥数据库储存一或多把密钥;其中,上述控制电路接收由一处理器所传送的一密钥创建指令,其中上述密钥创建指令包括一新密钥及相应的元数据;其中,当上述新密钥已被储存至上述密钥数据库,并且上述新密钥相应的元数据已在上述密钥查找表中被新增后,上述控制电路在上述密钥查找表中设定上述新密钥相应的激活位为开启状态;以及其中,上述控制电路回报上述新密钥相应的一密钥编号至上述处理器。
本发明提出一种避免使用不完整密钥的方法,用于一密钥管理装置中,包括:由一控制电路在一静态随机存取存储器或一暂存器设置一密钥查找表,并管理一密钥数据库,其中上述密钥数据库储存一或多把密钥;由上述控制电路接收由一处理器所传送的一密钥创建指令,其中上述密钥创建指令包括一新密钥及相应的元数据;当上述新密钥已被储存至上述密钥数据库,并且上述新密钥相应的元数据已在上述密钥查找表中被新增后,由上述控制电路在上述密钥查找表中设定上述新密钥相应的激活位为开启状态;以及由上述控制电路回报上述新密钥相应的一密钥编号至上述处理器。
附图说明
图1是显示本发明一实施例中的控制***的方块图。
图2A~图2B为依据本发明一实施例中避免使用不完整密钥的密钥创建操作的示意图。
图2C~图2D为依据本发明一实施例中避免使用不完整密钥的读取密钥操作的示意图。
图2E~图2F为依据本发明一实施例中避免使用不完整密钥的删除密钥操作的示意图。
图3为依据本发明一实施例中密钥管理装置避免使用不完整密钥的创建新密钥流程的示意图。
图4为依据本发明一实施例中密钥管理装置避免使用不完整密钥的读取新密钥流程的示意图。
附图标记:
10:控制***
21:总线
22:总线
23:桥接器
110:处理器芯片
111:中央处理器
112:挥发性存储器
113:快闪存储器
114:OTP存储器
120:图形处理器
130:动态随机存取存储器
140:储存装置
141:应用程序
142:作业***
150:传输接口
160:周边装置
170:密钥管理装置
171:控制电路
172:总线封套
174:暂存器
175:静态随机存取存储器
180:加解密装置
181:AES加解密电路
182:HMAC加解密电路
183:ECC加解密电路
184:RSA加解密电路
185:随机数产生电路
186:总线封套
188:内部总线
210:密钥数据库
300:流程
S302,S304,S306,S308,S310,S312,S314,S316,S318,S320,S322:步骤
400:流程
S402,S404,S406,S408,S410,S412,S414,S416,S418,S420:步骤
具体实施方式
在下文中将参考附图对本发明的各方面进行更充分的描述。然而,本发明可以具体化成许多不同形式且不应解释为局限于贯穿本发明所呈现的任何特定结构或功能。相反地,提供这些方面将使得本发明周全且完整,并且本发明将给本领域技术人员充分地传达本发明的范围。基于本文所教导的内容,本领域的技术人员应意识到,无论是单独还是结合本发明的任何其它方面实现本文所揭露的任何方面,本发明的范围旨在涵盖本文中所揭露的任何方面。例如,可以使用本文所提出任意数量的装置或者执行方法来实现。另外,除了本文所提出本发明的多个方面之外,本发明的范围更旨在涵盖使用其它结构、功能或结构和功能来实现的装置或方法。应可理解,其可通过申请专利范围的一或多个器件具体化本文所揭露的任何方面。
词语“示例性”在本文中用于表示“用作示例、实例或说明”。本发明的任何方面或本文描述为“示例性”的设计不一定被解释为优选于或优于本发明或设计的其他方面。此外,相同的数字在所有若干图示中指示相同的器件,且除非在描述中另有指定,冠词“一”和“上述”包含多个的参考。
可以理解,当器件被称为被“连接”或“耦接”至另一器件时,该器件可被直接地连接到或耦接至另一器件或者可存在中间器件。相反地,当该器件被称为被“直接连接”或“直接耦接”至到另一器件时,则不存在中间器件。用于描述器件之间的关系的其他词语应以类似方式被解释(例如,“在…之间”与“直接在…之间”、“相邻”与“直接相邻”等方式)。
图1是显示本发明一实施例中的控制***10的方块图。
如图1所示,控制***10包括一处理器芯片110、一动态随机存取存储器(DynamicRandom Access Memory,DRAM)130、一储存装置140、一传输接口150、至少一周边装置160。处理器芯片110及DRAM 130是通过总线21而互相电连接。在一些实施例中,总线21例如为先进高效能总线(Advanced High-Performance Bus,AHB)。传输接口150及周边装置160例如可电连接至总线22,且总线21及22之间是通过一桥接器(bridge)23进行沟通,其中总线22例如可为一先进***总线(Advanced System Bus,ASB)或一先进周边总线(AdvancedPeripheral Bus,APB),但本发明并不局限于此。
处理器芯片110包括一中央处理器(或微处理器)111、挥发性存储器112、快闪存储器113及一次性可编程存储器(One-time Programmable(OTP)Memory)114、一图形处理单元120、一密钥管理装置170及一加解密装置180。挥发性存储器112例如可为一静态随机存取存储器(Static Random Access Memory,SRAM)。快闪存储器113例如可为一NAND快闪存储器。一次性可编程存储器114,例如可称为可编程只读存储器(Programmable Read-onlyMemory,PROM),其可利用具有锁定位(Lock Bit)暂存器的非易失性存储器,例如:快闪存储器、可擦洗可编程只读存储器(Erasable Programmable Read-only Memory,EPROM)、或电子可擦洗可编程只读存储器(Electrically Erasable Programmable Read-only Memory,EEPROM)所实现。
举例来说,当中央处理器111编程或写入数据至一次性可编程存储器114后会修改一次性可编程存储器114的锁定位暂存器。例如将锁定位由1(表示未锁定状态)修改至0(表示锁定状态)以表示一次性可编程存储器114所储存的数据无法再修改,且锁定位无法再从0修改为1。
图形处理单元120例如可为单独的图形处理器或可整合至中央处理器111中。动态随机存取存储器130为一挥发性存储器,例如是动态随机存取存储器(DRAM),但本发明并不局限于此。储存装置140为一非易失性存储器(Non-volatile Memory)。例如可为一硬盘驱动器(Hard Disk Drive)、一固态硬盘(Solid-state Disk)、一快闪存储器(FlashMemory)、或一只读存储器(Read-only Memory),但本发明并不限于此。在一些实施例中,储存装置140例如可电连接至总线22。
储存装置140可储存一或多个应用程序141及一作业***142(例如可为Windows、Linux、MacOS、或是嵌入式作业***(Embedded OS)等等),且处理器芯片110将作业***142及应用程序141读取至动态随机存取存储器130并执行。
传输接口150可包括一或多个数据传输接口,例如一通用序列总线(UniversalSerial Bus,USB)接口、USB Type-C接口、雷电(Thunderbolt)接口、一般用途输入输出(General-purpose Input/Output,GPIO)接口、通用非同步收发传输器(UniversalAsynchronous Receiver/Transmitter,UART)接口、序列周边接口(Serial PeripheralInterface,SPI)接口、集成电路总线(inter-integrated circuit,I2C)接口、或其组合,但本发明并不局限于此。周边装置160例如包括:键盘、鼠标、触控板等输入装置,但本发明并不局限于此。
密钥管理装置170例如可为一智慧密钥储存装置(Intelligent Key StorageDevice)的硬件电路,其可由应用导向集成电路(Application-specific IntegratedCircuit,ASIC)或是现在可编程逻辑门阵列(Field Programmable Gate Array,FPGA)所实现。密钥管理装置170例如可依据处理器芯片110的控制指令以对不同的密钥进行相关操作,例如增加密钥、读取密钥、抹除(或废止)其中一把密钥、抹除(或废止)所有密钥等等,但本发明并不局限于此。
在一实施例中,密钥管理装置170包括一控制电路171、一总线封套(bus wrapper)172、一暂存器174及一静态随机存取存储器(SRAM)175。控制电路171是用以控制密钥的各种操作,例如创建密钥、读取密钥、删除单一密钥、删除全部密钥等等。总线封套172例如可提供密钥管理装置170的内部器件的信号与总线21的信号的转换接口。暂存器174是用以记录各密钥的密钥编号及相应的其他元数据的栏位,其中暂存器174所记录的密钥信息亦可称为一密钥查找表(Key Lookup Table)。在另一实施例中,控制电路171可将密钥查找表设置于静态随机存取存储器175。静态随机存取存储器175例如可为密钥数据库的其中一个储存空间,其是用以储存一或多把密钥。在一些实施例中,控制电路171是将上述密钥查找表备份于静态随机存取存储器175或快闪存储器(例如可为处理器芯片110中的快闪存储器113或储存装置140的快闪存储器)中。密钥管理装置170的详细操作将于后述实施例中进行说明。
加解密装置180例如为支援多种加解密演算法的硬件电路,且各种加解密演算法在加解密装置180中均有相应的硬件电路,例如进阶加密标准(Advanced EncryptionStandard,AES)加解密电路181、密钥散列消息认证码(Keyed-hash MessageAuthentication Code,HMAC)加解密电路182、椭圆曲线密码学(Elliptic CurveCryptography,ECC)加解密电路183、RSA加解密电路184、随机数产生(Random NumberGenerator)电路185、或其组合,且可分别针对相应的加解密演算法进行硬件加速。随机数产生电路185例如可为伪随机数(Pseudorandom Number)产生电路或真随机数产生电路。在一些实施例中,密钥管理装置170及加解密装置180可为独立的硬件电路,且可设置于处理器芯片110之外,并通过总线21以电连接至处理器芯片110。
举例来说,在一实施例中,当控制***100进行运作时,不同的应用程序141可能会使用不同的加解密演算法以对欲加密的内容(例如,使用者密码)进行加密。例如,可使用在加解密装置180中所设置的各种加解密电路181~185。不同的加解密演算法所使用的密钥尺寸亦不同,例如可从64位至4096位。当加解密装置180对欲加密的内容加密完成后,会将相应的密钥(密钥)传送至密钥管理装置170以进行密钥管理。
密钥管理装置170的密钥管理可分为几个不同的操作,例如写入(增加)密钥、读取密钥、抹除(删除)单一密钥、抹除(删除)所有密钥。若为写入密钥的操作,密钥管理装置170例如可接收来自处理器芯片110(或加解密装置180)的密钥及相应的元数据(Metadata),其中上述元数据的属性(Attribute)栏位例如可包括:密钥尺寸(Key Size)、拥有者(Owner)、安全等级、特权等级、读取(Readable)属性、废除(Revoke)属性、开机状态(Booting State)等等,但本发明并不局限于此。以下将一一说明元数据的各种栏位的内容。
“密钥尺寸”例如可用密钥所使用的位数量表示,例如80位、128位、256位等等。依据所使用的加解密演算法的不同,加解密装置180例如可支援64位至4096位的密钥尺寸。“拥有者”例如表示此密钥的拥有者,非此密钥的拥有人无法读取此密钥。密钥的拥有者可依需求而设定,例如可包括:CPU(即,处理器芯片110)、AES、HMAC、ECC、RSA等等。举例来说,若密钥的元数据中的密钥拥有者的栏位为AES,表示在加解密装置180中的AES加解密电路才能读取此密钥。
“安全等级”表示密钥的安全等级,例如可分为安全(Secure)等级及非安全(Non-secure)等级。具有安全等级的密钥仅能给同样具有安全等级的拥有者使用,具有非安全等级的密钥则无需确认拥有者的安全等级。需注意的是,密钥的元数据中的安全等级属性是否发挥作用需要搭配处理器芯片110的设计。举例来说,处理器芯片110可分为安全处理器或非安全处理器,且当处理器芯片110为安全处理器时,密钥的元数据中的安全等级的栏位设定才能发挥作用。当处理器芯片110为非安全处理器时,则密钥的元数据中的安全等级的栏位设定并无法发挥作用。
“特权等级”表示密钥的特权等级,例如可分为特权(Privilege)等级及非特权(Non-privilege)等级。具有特权等级的密钥仅能给同样具有特权等级的拥有者使用,具有非特权等级的密钥则无需确认拥有者的特权等级。举例来说,不同的使用者可能会具有不同的权限,管理者或超级使用者(Super User)的特权等级最高,例如可对被设定有特权等级的密钥进行存取,但未具有特权等级的一般使用者则无法对被设定有特权等级的密钥进行存取。
“读取属性”表示此密钥是否能给处理器芯片110读取。举例来说,若此密钥的拥有者栏位为CPU,表示此密钥必定能给处理器芯片110读取。若此密钥的拥有者栏位为其他加解密电路,则密钥管理装置170会依据密钥的读取属性的栏位以决定处理器芯片110是否能读取此密钥。
“废除属性”,此栏位是记录于密钥管理装置170中的内部暂存器,且无法在创建密钥时一并设定相应的废除属性。举例来说,在一般使用情况下,密钥管理装置170会将密钥的废除属性的栏位的数值设定为0,表示此密钥正常使用。当使用者执行密钥删除操作时,密钥管理装置170可能会针对储存于快闪存储器或一次性可编程存储器中的密钥进行删除。然而,上述快闪存储器或一次性可编程存储器中可能因为锁定位被设定而无法真正删除所储存的密钥。因此,密钥管理装置170在执行密钥删除操作时,会设定其内部暂存器中相应于欲删除的密钥的废除属性。密钥在密钥管理装置170中相应的废除属性一旦被设定后就无法再修改,意即无法将相应的密钥回复为可使用的状态。此时,无论其他属性的条件成立与否,密钥管理装置170均无法读取或使用已被设定废除属性的密钥,意即密钥的废除属性优先于其他属性。
“开机状态”属性表示密钥能被使用的开机状态,例如可分为开机状态1(BL1)及开机状态2(BL2)。举例来说,当控制***100的开机状态处于开机状态1(BL1)时,密钥管理装置170可使用具有BL1及BL2的开机状态属性的密钥。当控制***100的开机状态处于开机状态2(BL2)时,密钥管理装置170则仅能使用具有BL2的开机状态属性的密钥。
图2A~图2B为依据本发明一实施例中避免使用不完整密钥的密钥创建操作的示意图。
在一实施例中,当使用者欲在密钥管理装置170创建新的密钥时,使用者可先填入欲创建的密钥的元数据的各栏位的内容,例如密钥尺寸、拥有者、安全等级、特权等级、读取属性、废除属性、开机状态等等,并接着填入密钥的内容。当填入密钥所需的上述内容后,使用者即可启动密钥储存程序(例如可按下一软件按钮),且密钥管理装置170会先依据密钥尺寸及内部储存空间的剩余空间以决定是否可储存目前的密钥。若密钥管理装置170中的内部储存空间小于密钥尺寸,密钥管理装置170则会回报一读取失败信息至中央处理器111以通知使用者。若密钥管理装置170中的内部储存空间大于或等于密钥尺寸,密钥管理装置170则开始创建密钥,且当密钥被创建成功并储存后,密钥管理装置170将设定密钥相应的激活位为开启状态,例如,将激活位由0设定为1(表示开启状态)。接着,密钥管理装置170会回报一完成状态以通知使用者所创建的密钥的密钥编号(Key number),如图2A所示。在一实施中,在密钥被创建并储存之前,密钥相应的激活位预设为关闭状态,例如,将激活位预设为0(表示关闭状态)。
在一实施例中,密钥管理装置170的密钥数据库可分为几个储存空间,例如快闪存储器、OTP存储器及SRAM 175,其中上述快闪存储器可为处理器芯片110中的快闪存储器113或是储存装置140中的快闪存储器,OTP存储器可为处理器芯片110中的OTP存储器114或是电连接至总线21或22的OTP存储器。本发明技术领域中具有通常知识者当可了解可视实际的设计需求而使用合适位置的快闪存储器及OTP存储器,以与SRAM 175一共组成密钥数据库,且本发明并不以此为限。
承上述实施例,当遇到***重置(System reset)或是其他不明原因,进而导致密钥建立过程被中断时,密钥管理装置170会产生中断信息纪录新密钥的储存信息。换言之,当欲创建的密钥相应的元数据或相应的密钥编号无法在密钥查找表中被新增,或是欲创建的密钥无法被储存至密钥数据库时,密钥管理装置170可产生一中断信息,其中中断信息是记录欲创建的密钥的储存信息。例如,使用者所填入欲创建的密钥的元数据的各栏位的内容,以及此欲创建的密钥被储存至哪个阶段。举另一例子说明,在已新增欲创建的密钥相应的元数据至密钥查找表后发生中断时,密钥管理装置170将记录使用者所填入欲创建的密钥的元数据的各栏位的内容,以及此欲创建的密钥相应的元数据已被储存至密钥查找表中。
而使用者可自行通过密钥管理装置170观看上述纪录,以得知哪些欲创建的密钥未被建立成功。当使用者根据上述纪录发现有密钥未被建立成功时,可重新启动密钥储存程序,以重新储存未被建立成功的密钥。在一实施例中,当密钥管理装置170前次将未被建立成功的密钥新增至SRAM 175中时,在重新启动密钥储存程序的过程中,密钥管理装置170可将此密钥重新新增至与前次未被建立成功的密钥在SRAM 175的同一位置中。在另一实施例中,当密钥管理装置170前次将未被建立成功的密钥新增至快闪存储器中时,在重新启动密钥储存程序的过程中,密钥管理装置170将此密钥重新新增至与前次未被建立成功的密钥在快闪存储器不同的位置中。
如图2B所示,若在密钥管理装置170原本已创建了两把密钥,例如密钥00及密钥01,且密钥00及密钥01储存于密钥管理装置170的密钥数据库210中,例如分别储存于OTP存储器及快闪存储器。在密钥管理装置170的暂存器174中记录有密钥00及密钥01的密钥编号、相应的元数据及相应的激活位。为了便于说明,元信息以密钥尺寸及拥有者为例。需注意的是,密钥数据库210为统称,其包含多个储存空间用以储存密钥,例如密钥数据库210可包括OTP存储器、快闪存储器及SRAM 175,其中上述快闪存储器可为处理器芯片110中的快闪存储器113或是储存装置140中的快闪存储器,OTP存储器可为处理器芯片110中的OTP存储器114或是电连接至总线21或22的OTP存储器。
当密钥管理装置170由处理器芯片110接收到一密钥创建指令及相应的密钥及元信息(例如拥有者为AES,且密钥尺寸为512位)后,密钥管理装置170例如可将该密钥设定为密钥02,并且将密钥02储存于密钥数据库中的SRAM 175。接着,密钥管理装置170可更新在暂存器174中的密钥查找表关于密钥02的多个栏位以及储存位置。当上述更新动作完成后,密钥管理装置170在密钥查找表中设定密钥02相应的激活位为开启状态,例如,将激活位由0设定为1(表示开启状态)。当上述激活位设定完成后,密钥管理装置170可回报一密钥创建完成的信息以及密钥编号(意即密钥编号02)至处理器芯片110。对于使用者来说,其仅能得知所储存的密钥相应的密钥编号,但并无法得知所储存的密钥的储存位置。若需读取相应的密钥,则使用者仅需经由处理器芯片110或加解密电路181~185传送欲取得的密钥的密钥编号至密钥管理装置170,且密钥管理装置170在验证取读取的密钥的信息通过及判断欲取得的密钥相应的激活位为开启状态后,即可将所读取的密钥回报至处理器芯片110或加解密电路181~185。
图2C~图2D为依据本发明一实施例中避免使用不完整密钥的读取密钥操作的示意图。
在一实施例中,当处理器芯片110或是加解密装置180中的加解密电路181~185的其中一者欲读取由密钥管理装置170所保存的其中一把密钥时,密钥管理装置170是从加解密装置180或是处理器芯片110接收欲读取的密钥的一密钥编号。当密钥管理装置170从加解密装置180或是处理器芯片110接收密钥编号后,密钥管理装置170除了从其密钥数据库找寻相应的密钥之外,还会判断欲读取密钥相应的激活位是否为开启状态,例如,判断激活位是否为1。
举例来说,若密钥的激活位并未被设定开启(即,激活位为关闭状态或激活位为0),密钥管理装置170会判断欲读取密钥并未被完整新增至密钥数据库,并回报读取失败信息至欲读取此密钥的器件。若密钥的激活位已被设定为开启状态,密钥管理装置170将进行后续读取密钥的步骤。例如,密钥管理装置17依据密钥的元数据以进一步判断欲读取密钥的器件或使用者是否符合密钥的元数据所记录的权限或特权、并确认是否有设定废除属性以及确认当前控制***10的开机状态是否符合密钥的元数据的开机状态属性。
举例来说,请参考图2D,当处理器芯片110欲读取密钥编号00的密钥时,处理器芯片110传送欲读取的密钥的密钥编号(即密钥编号00)至密钥管理装置170。密钥管理装置170先查找在暂存器174中的密钥查找表中关于密钥编号00的相应的激活位,并确认密钥编号00相应的激活位是否为开启状态。当密钥管理装置170判断密钥编号00相应的激活位为开启状态时,密钥管理装置170再继续查找在暂存器174中的密钥查找表中关于密钥编号00的相关元信息,并确认处理器芯片110是否为密钥编号00的拥有者。当密钥管理装置170判断处理器芯片110确实为密钥编号00的拥有者时,密钥管理装置170即会回报读取完成的信息及密钥编号00的密钥的内容至处理器芯片110。
图2E~图2F为依据本发明一实施例中避免使用不完整密钥的删除密钥操作的示意图。
在一实施例中,当使用者认为在密钥管理装置170所储存的特定密钥已经不再使用时,使用者可经由处理器芯片110发出抹除(或删除)单一密钥操作的指令及欲抹除的密钥编号至密钥管理装置170。当密钥管理装置170判断上述抺除密钥指令为处理器芯片110所发出的合格指令后,密钥管理装置170即可将欲抹除的密钥从密钥数据库中相应的储存空间删除,并将已删除密钥对应的激活位设定为关闭状态,并回报删除成功的信息至处理器芯片110,如图2E所示。
详细而言,假定密钥管理装置170已储存了密钥00、密钥01及密钥02,当密钥管理装置从处理器芯片110接收到抹除(或删除)单一密钥操作的指令及欲抹除的密钥编号01后,密钥管理装置170会依据在暂存器174的密钥查找表以得到欲抹除的密钥的密钥编号01、密钥尺寸及其储存位置,并据以计算出该密钥所占用的储存空间及范围。密钥管理装置170的控制电路171并删除上述储存空间中的所有数据,更新在暂存器174中的密钥查找表并重新计算在密钥数据库中的各个储存空间的剩余空间,并将所删除密钥编号01相应的激活位设定为关闭状态(例如,激活位由1设定为0),如图2F所示。
须注意的是,密钥管理装置170能储存的密钥数量最大值是对应激活位的数量。尽管密钥数量在图2A~图2F中是以三个密钥作为例子,但本发明不应被限制于此。
图3为依据本发明一实施例中密钥管理装置避免使用不完整密钥的创建新密钥流程300的示意图。
在步骤S302中,密钥管理装置170进入准备状态。举例来说,密钥管理装置170在开机后或重置后会先进行初始化,当初始化完成后即会进入准备状态(Ready Status)以接收不同的密钥操作的指令。
在步骤S304,密钥管理装置170接收一密钥创建指令,其中上述密钥创建指令例如是来自中央处理器111。
在步骤S306中,密钥管理装置170检查密钥数据库的剩余空间。举例来说,密钥管理装置170可检查密钥数据库中的不同储存空间的剩余空间,例如SRAM 175、快闪存储器113及OTP存储器114的剩余空间。
在步骤S308中,密钥管理装置170判断剩余空间是否大于或等于密钥尺寸。若是,执行步骤S310。若否,执行步骤S318。在另一实施例中,在步骤S308中,密钥管理装置170判断剩余空间是否大于或等于密钥尺寸并判断密钥数据库是否已达到密钥储存数量的上限。若剩余空间大于或等于密钥尺寸且密钥数据库未达到密钥储存数量的上限,则执行步骤S310。若剩余空间小于密钥尺寸或密钥数据库已达到密钥储存数量的上限时,则执行步骤S320。
在步骤S310中,密钥管理装置170写入密钥的元数据至密钥查找表。密钥管理装置170写入密钥查找表中的新密钥的元数据的属性包括:密钥尺寸、拥有者、安全等级、特权等级、读取属性、开机状态及储存位置。
在步骤S312中,密钥管理装置170在密钥查找表增加新密钥的密钥编号。举例来说,密钥管理装置170的控制电路171可从编号0递增搜寻尚未使用的密钥编号,且可使用尚未使用的最小密钥编号以做为新密钥的密钥编号。
在步骤S314中,密钥管理装置170将新密钥写入密钥数据库。举例来说,密钥管理装置170可依据新密钥的元数据中已被设定的安全等级或特权等级而将新密钥储存于密钥数据库中的OTP存储器。若新密钥的元数据中的安全等级或特权等级未被设定,密钥管理装置170可将新密钥储存于密钥数据库中的SRAM 175或是快闪存储器113。
在步骤S316中,密钥管理装置170在密钥查找表中设定新密钥相应的激活位为开启状态,表示新密钥已被完整储存至密钥数据库。在一实施例中,新密钥相应的激活位为关闭状态可用数值0表示:而新密钥相应的激活位为开启状态可用数值1表示。
在步骤S318中,密钥管理装置170回报密钥编号及写入完成信息至中央处理器111。
在步骤S320中,密钥管理装置170回报一写入失败信息至中央处理器111。
在步骤S322中,密钥创造指令完成,并回到步骤S302。
图4为依据本发明一实施例中密钥管理装置避免使用不完整密钥的读取新密钥流程400的示意图。
在步骤S402中,密钥管理装置170进入准备状态。举例来说,密钥管理装置170在开机后或重置后会先进行初始化,当初始化完成后即会进入准备状态(Ready Status)以接收不同的密钥操作的指令。
在步骤S404中,密钥管理装置170接收一密钥读取指令,其中上述密钥读取指令例如是来自处理器芯片110或是加解密装置180中的加解密电路181~185的其中一者,并用以请求读取一第一密钥。
在步骤S406中,密钥管理装置170判断是否能在密钥查找表中找到密钥读取指令中的相应第一密钥的一第一密钥编号。若是,执行步骤S408。若否,执行步骤S418。
在步骤S408中,密钥管理装置170判断上述第一密钥相应的一第一激活位是否为开启状态。若是,执行步骤S410。若否,执行步骤S418。
在步骤S410中,密钥管理装置170依据第一密钥的元数据以进一步判断欲读取第一密钥的器件或使用者是否符合第一密钥的元数据所记录的权限或特权。若是,执行步骤S412。若否,执行步骤S418。
在步骤S412中,密钥管理装置170从密钥数据库中读取第一密钥。
在步骤S414中,密钥管理装置170传送上述第一密钥至欲读取此密钥的器件。
在步骤S416中,密钥管理装置170回报一读取完成信息至中央处理器111。
在步骤S418中,密钥管理装置170回报一写入失败信息至中央处理器111。
在步骤S420中,密钥读取指令完成,并回到步骤S402。
在一实施例中,当密钥管理装置170在步骤S412中从密钥数据库中读取第一密钥发生中断时,密钥管理装置170将会记录是第一密钥相应的第一密钥编号,已使使用者可查看密钥管理装置170在读取哪个密钥的过程中发生中断。
综上所述,本发明是提供一种避免使用不完整密钥的密钥管理装置、处理器芯片及方法,其新增一组激活位。当密钥被创建并储存成功时为开启状态,当密钥被删除时而回归关闭状态。藉此,密钥管理装置可以通过读取激活位状态可以决定密钥是否完整且已被启用。因此,即使在密钥建立的过程中发生中断,只要在创建尚未成功前,能够确保该密钥的激活位都处于关闭的状态,更可避免使用到不完整密钥的风险,并增加密钥管理的安全性。
在此所揭露程序的任何具体顺序或分层的步骤纯为一举例的方式。基于设计上的偏好,必须了解到程序上的任何具体顺序或分层的步骤可在此文件所揭露的范围内被重新安排。伴随的方法权利要求以一示例顺序呈现出各种步骤的器件,也因此不应被此所展示的特定顺序或阶层所限制。
申请专利范围中用以修饰器件的“第一”、“第二”、“第三”等序数词的使用本身未暗示任何优先权、优先次序、各器件之间的先后次序、或方法所执行的步骤的次序,而仅用作标识来区分具有相同名称(具有不同序数词)的不同器件。
虽然本发明已以实施范例揭露如上,然其并非用以限定本案,本领域技术人员在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本案的保护范围当视所附的申请专利范围所界定者为准。

Claims (10)

1.一种避免使用不完整密钥的密钥管理装置,其特征在于,包括:
一静态随机存取存储器;
一暂存器;以及
一控制电路,用以在上述静态随机存取存储器或上述暂存器设置一密钥查找表,并管理一密钥数据库,其中上述密钥数据库储存一或多把密钥;
其中,上述控制电路执行以下步骤:
接收由一处理器所传送的一密钥创建指令,其中上述密钥创建指令包括一新密钥及相应的元数据;
当上述新密钥已被储存至上述密钥数据库,并且上述新密钥相应的元数据已在上述密钥查找表中被新增后,在上述密钥查找表中设定上述新密钥相应的激活位为开启状态;以及
回报上述新密钥相应的一密钥编号至上述处理器。
2.如权利要求1所述的避免使用不完整密钥的密钥管理装置,其特征在于,上述新密钥相应的上述激活位预设为关闭状态。
3.如权利要求1所述的避免使用不完整密钥的密钥管理装置,其特征在于,上述控制电路更执行:
接收一密钥读取指令,其中上述密钥读取指令是用以请求读取一第一密钥;
当在上述密钥查找表找到上述第一密钥相应的一第一密钥编号后,判断上述第一密钥相应的一第一激活位是否为开启状态;
当上述第一激活位为开启状态时,从上述密钥数据库读取上述第一密钥,并传送上述第一密钥至上述处理器;以及
当上述第一激活位为关闭状态时,回报一读取失败信息至上述处理器。
4.如权利要求1所述的避免使用不完整密钥的密钥管理装置,其特征在于,上述控制电路更执行:
接收来自上述处理器的一密钥删除指令,其中上述密钥删除指令是用以删除一第二密钥;
依据来自上述密钥删除指令中的上述第二密钥相应的一第二密钥编号从上述密钥数据库中删除上述第二密钥编号的上述第二密钥;以及
设定在上述密钥查找表中的上述第二密钥相应的一第二激活位为关闭状态。
5.一种处理器芯片,其特征在于,包括:
一处理器;
一次性可编程存储器;
一快闪存储器;以及
一密钥管理装置,电连接至上述处理器、上述一次性可编程存储器及上述快闪存储器,上述密钥管理装置包括:
一静态随机存取存储器;
一暂存器;以及
一控制电路,用以在上述静态随机存取存储器或上述暂存器设置一密钥查找表,并管理一密钥数据库,其中上述密钥数据库储存一或多把密钥;
其中,上述控制电路接收由一处理器所传送的一密钥创建指令,其中上述密钥创建指令包括一新密钥及相应的元数据;
其中,当上述新密钥已被储存至上述密钥数据库,并且上述新密钥相应的元数据已在上述密钥查找表中被新增后,上述控制电路在上述密钥查找表中设定上述新密钥相应的激活位为开启状态;以及
其中,上述控制电路回报上述新密钥相应的一密钥编号至上述处理器。
6.如权利要求5所述的处理器芯片,其特征在于,上述控制电路更执行:
接收一密钥读取指令,其中上述密钥读取指令是用以请求读取一第一密钥;
当在上述密钥查找表找到上述第一密钥相应的一第一密钥编号后,判断上述第一密钥相应的一第一激活位是否为开启状态;
当上述第一激活位为开启状态时,从上述密钥数据库读取上述第一密钥,并传送上述第一密钥至上述处理器;以及
当上述第一激活位为关闭状态时,回报一读取失败信息至上述处理器。
7.如权利要求5所述的处理器芯片,其特征在于,当上述新密钥相应的元数据或上述密钥编号无法在上述密钥查找表中被新增,或是上述新密钥无法被储存至上述密钥数据库时,产生一中断信息,其中上述中断信息是记录上述新密钥的储存信息。
8.一种避免使用不完整密钥的方法,其特征在于,用于一密钥管理装置中,包括:
由一控制电路在一静态随机存取存储器或一暂存器设置一密钥查找表,并管理一密钥数据库,其中上述密钥数据库储存一或多把密钥;
由上述控制电路接收由一处理器所传送的一密钥创建指令,其中上述密钥创建指令包括一新密钥及相应的元数据;
当上述新密钥已被储存至上述密钥数据库,并且上述新密钥相应的元数据已在上述密钥查找表中被新增后,由上述控制电路在上述密钥查找表中设定上述新密钥相应的激活位为开启状态;以及
由上述控制电路回报上述新密钥相应的一密钥编号至上述处理器。
9.如权利要求8所述的避免使用不完整密钥的方法,其特征在于,上述方法更包括:
由上述控制电路接收来自上述处理器的一密钥删除指令,其中上述密钥删除指令是用以删除一第二密钥;
由上述控制电路依据来自上述密钥删除指令中的上述第二密钥相应的一第二密钥编号从上述密钥数据库中删除上述第二密钥编号的上述第二密钥;以及
由上述控制电路设定在上述密钥查找表中的上述第二密钥相应的一第二激活位为关闭状态。
10.如权利要求8所述的避免使用不完整密钥的方法,其特征在于,当上述新密钥相应的元数据或上述密钥编号无法在上述密钥查找表中被新增,或是上述新密钥无法被储存至上述密钥数据库时,由上述控制电路产生一中断信息,其中上述中断信息是记录上述新密钥的储存信息。
CN202311385059.2A 2022-12-30 2023-10-24 避免使用不完整密钥的密钥管理装置、处理器芯片及方法 Pending CN118282630A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW111150795A TWI833533B (zh) 2022-12-30 2022-12-30 避免使用不完整金鑰的金鑰管理裝置、處理器晶片及方法
TW111150795 2022-12-30

Publications (1)

Publication Number Publication Date
CN118282630A true CN118282630A (zh) 2024-07-02

Family

ID=90824972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311385059.2A Pending CN118282630A (zh) 2022-12-30 2023-10-24 避免使用不完整密钥的密钥管理装置、处理器芯片及方法

Country Status (2)

Country Link
CN (1) CN118282630A (zh)
TW (1) TWI833533B (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI705687B (zh) * 2019-09-09 2020-09-21 新唐科技股份有限公司 用於資料加解密的金鑰管理裝置及處理器晶片
TWI731407B (zh) * 2019-09-09 2021-06-21 新唐科技股份有限公司 具有旁通通道的金鑰管理裝置及處理器晶片

Also Published As

Publication number Publication date
TWI833533B (zh) 2024-02-21

Similar Documents

Publication Publication Date Title
US11861194B2 (en) Storage device configuration and method managing storage configuration
TWI716023B (zh) 記憶體系統
US8122262B2 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
US6457126B1 (en) Storage device, an encrypting/decrypting device and method of accessing a non-volatile memory
US6615355B2 (en) Method and apparatus for protecting flash memory
US11507284B2 (en) Storage device and control method
US20100058073A1 (en) Storage system, controller, and data protection method thereof
CN112463805B (zh) 用于数据加解密的金钥管理装置及处理器芯片
EP2161673A1 (en) Method and system for protecting data
US11775184B2 (en) Memory system, information processing apparatus, and information processing system
US11468159B2 (en) Memory system
US20230179418A1 (en) Storage controller and method of operating electronic system
US11368302B2 (en) Key management device and processor chip having bypass channels
CN118282630A (zh) 避免使用不完整密钥的密钥管理装置、处理器芯片及方法
JP2000250818A (ja) 記憶システム、記憶装置及び記憶データ保護方法
TW202234259A (zh) 記憶體系統
TW202427987A (zh) 避免使用不完整金鑰的金鑰管理裝置、處理器晶片及方法
US12045377B2 (en) Method and device for secured deciphering of ciphering data
EP4339790A1 (en) Storage device deleting encryption key, method of operating the same, and method of operating electronic device including the same
CN117708900A (zh) 存储设备、操作其的方法和操作包括其的电子设备的方法

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination