CN112463805B - 用于数据加解密的金钥管理装置及处理器芯片 - Google Patents

用于数据加解密的金钥管理装置及处理器芯片 Download PDF

Info

Publication number
CN112463805B
CN112463805B CN201911375165.6A CN201911375165A CN112463805B CN 112463805 B CN112463805 B CN 112463805B CN 201911375165 A CN201911375165 A CN 201911375165A CN 112463805 B CN112463805 B CN 112463805B
Authority
CN
China
Prior art keywords
key
management device
control circuit
database
processor
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
CN201911375165.6A
Other languages
English (en)
Other versions
CN112463805A (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.)
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 CN112463805A publication Critical patent/CN112463805A/zh
Application granted granted Critical
Publication of CN112463805B publication Critical patent/CN112463805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/72Protecting 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 cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种用于数据加解密的金钥管理装置及处理器芯片,包括:一静态随机存取存储器;一暂存器;以及一控制电路,用以在该静态随机存取存储器或该暂存器设置一金钥查找表,并管理一金钥数据库,其中该金钥数据库包括静态随机存取存储器及在金钥管理装置外部的一一次性可编程存储器,且金钥数据储存一或多把金钥。金钥查找表包括在金钥数据库的各金钥的金钥编号及元数据。控制电路依据来自一处理器的金钥读取指令或金钥删除指令中的特定金钥编号以从金钥数据库中读取或删除对应于特定金钥编号的一特定金钥。

Description

用于数据加解密的金钥管理装置及处理器芯片
技术领域
本发明有关于数据传输,特别是有关于一种用于数据加解密的金钥管理装置及处理器芯片。
背景技术
在现今的电脑系统或控制系统中,往往会需要对数据进行数据加解密处理。然而,数据解密的过程往往需要金钥或私钥,当金钥或私钥的数量变多时,金钥管理及保存亦会对使用者造成相当大的困扰。使用者在增加金钥至传统的金钥管理装置时,往往还需要知道金钥的储存位置(例如在特定存储器中的特定位址),且在读取金钥时亦需要到对应的储存位置才能读取所要的金钥。上述金钥管理方式对使用者来说相当不便。
因此,需要一种用于数据加解密的金钥管理装置及处理器芯片以解决上述问题。
发明内容
本发明提供一种用于数据加解密的金钥管理装置,包括:一静态随机存取存储器;一暂存器;以及一控制电路,用以在该静态随机存取存储器或该暂存器设置一金钥查找表,并管理一金钥数据库,其中该金钥数据库包括静态随机存取存储器及在金钥管理装置外部的一一次性可编程(OTP)存储器,且金钥数据库储存一或多把金钥。金钥查找表包括在金钥数据库的各金钥的金钥编号及元数据。控制电路依据来自一处理器的金钥读取指令或金钥删除指令中的特定金钥编号以从金钥数据库中读取或删除对应于特定金钥编号的一特定金钥。
在一些实施例中,金钥数据库更包括在该金钥管理装置外部的一快闪存储器。在一些实施例中,在金钥查找表中的各金钥的元数据的属性包括:金钥尺寸、拥有者、安全等级、特权等级、读取属性、废除属性、开机状态及储存位置。元数据中的拥有者的属性对应于处理器或是一加解密装置中多个加解密电路的其中一者。上述加解密电路包括:一进阶加密标准(AES)加解密电路、一金钥杂凑信息认证码(HMAC)加解密电路、一椭圆曲线密码学(ECC)加解密电路、一RSA加解密电路、一随机数产生电路、或其组合。
在一些实施例中,控制电路由处理器接收一金钥创建指令,其中金钥创建指令包括一新金钥及相应的元数据,其中该新金钥相应的元数据不包括废除属性。当控制电路将新金钥储存至金钥数据库并且在该金钥查找表中新增新金钥相应的元数据后,该控制电路回报该新金钥相应的该金钥编号至处理器。当控制电路判断金钥数据库的剩余储存空间小于新金钥的金钥尺寸或是金钥数据库已达到金钥储存数量的上限,该控制电路回报一储存失败的信息至处理器。
在一些实施例中,当新金钥的该元数据的安全等级或特权等级已被设定,控制电路将新金钥储存于该金钥数据库中的该OTP存储器。因应于控制电路接收金钥删除指令以删除储存于OTP存储器的特定金钥,控制电路设定在金钥查找表中的特定金钥相应的元数据中的该废除属性以废止特定金钥。
在一些实施例中,当控制电路废止特定金钥后,控制电路重新计算金钥数据库的剩余储存空间。当控制电路依据该特定金钥的该元数据判断无法读取该金钥读取指令的该特定金钥编号相应的该特定金钥时,该控制电路回报一读取失败信息至处理器。
本发明更提供一种处理器芯片,包括:一处理器;一次性可编程(OTP)存储器;一快闪存储器;以及一金钥管理装置。金钥管理装置电性连接至该处理器、该OTP存储器及该快闪存储器,且金钥管理装置包括:一静态随机存取存储器;一暂存器;以及一控制电路,用以在该静态随机存取存储器或该暂存器设置一金钥查找表,并管理一金钥数据库,其中该金钥数据库包括该静态随机存取存储器及该OTP存储器,且该金钥数据库储存一或多把金钥,其中该金钥查找表包括在该金钥数据库的各金钥的金钥编号及元数据。控制电路依据来自处理器的金钥读取指令或金钥删除指令中的特定金钥编号以从金钥数据库中读取或删除对应于该特定金钥编号的一特定金钥。
附图说明
图1为本发明一实施例中的控制系统的方块图。
图2A至图2B为依据本发明一实施例中创建金钥的操作的示意图。
图2C至图2D为依据本发明一实施例中读取金钥的操作的示意图。
图2E至图2F为依据本发明一实施例中删除金钥的操作的示意图。
图3为依据本发明一实施例中金钥管理装置创建新金钥的流程的示意图。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的"包含"、"包括"等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、器件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、器件、组件,或以上的任意组合。
于权利要求中使用如"第一"、"第二"、"第三"等词用来修饰权利要求中的器件,并非用来表示之间具有优先权顺序,先行关系,或者是一个器件先于另一个器件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的器件。
图1为本发明一实施例中的控制系统的方块图。
如图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)或一先进周边汇流排(Advanced Peripheral 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 diskdrive)、一固态硬碟(solid-state disk)、一快闪存储器(flash memory)、或一只读存储器(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、一汇流排封套(buswrapper)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、汇流排封套186或其组合,且可分别针对相应的加解密演算法进行硬件加速。随机数产生电路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会回报一完成状态以通知使用者所创建的金钥的金钥编号(key number),如图2A所示。
在一实施例中,金钥管理装置170的金钥数据库可分为几个储存空间,例如快闪存储器、OTP存储器及SRAM 175,其中上述快闪存储器可为处理器芯片110中的快闪存储器113或是储存装置140中的快闪存储器,OTP存储器可为处理器芯片110中的OTP存储器114或是电性连接至汇流排21或22的OTP存储器。本发明技术领域中具有通常知识者当可了解可视实际的设计需求而使用合适位置的快闪存储器及OTP存储器,以与SRAM 175一共组成金钥数据库,且本发明并不以此为限。在一些实施例中,因为不同的金钥所相应的金钥长度(尺寸)可能不同,控制电路171可使用所支援的最大金钥尺寸(例如4096位)以储存不同长度的金钥,例如金钥长度(不包括元信息)均对齐至4096位。在另一些实施例中,控制电路171以SRAM 175的位宽度以决定所要在SRAM 175存放的项目(entry)数量。
承上述实施例,若金钥管理装置170开启连续创建金钥模式时,在金钥管理装置170创建金钥完成后,金钥管理装置170除了回报完成状态及相应的金钥编号以通知使用者之外,还会通知使用者可继续填入其他金钥。金钥管理装置170可记录那些金钥编号已被使用,每当金钥管理装置170欲创建新的金钥时,金钥管理装置170会依据金钥编号由小而大的顺序以找出下一个尚未被使用金钥编号。若使用者持续创建多把金钥,且当已创建的金钥数量以达到金钥管理装置170的金钥储存数量的上限后,金钥管理装置170会回报金钥创建(储存)失败的信息以通知使用者,并且不执行此次金钥创建操作。
金钥管理装置170中的控制电路171可依据一预定仲裁机制以分配具有不同属性的金钥至金钥数据库中的不同储存空间。若一特定金钥具有安全等级或特权等级,则控制电路171可将此特定金钥储存于OTP存储器,且在写入此特定金钥至OTP存储器后设定OTP存储器的锁定位,使得此特定金钥的内容无法被修改,藉以增加安全性。若OTP存储器的剩余储存空间不足以存放新的金钥,则金钥管理装置170可将新的金钥存放于快闪存储器或是SRAM 175。此外,金钥管理装置170的暂存器174更记录不同金钥在金钥数据库中的储存空间,例如储存于快闪存储器、OTP存储器或SRAM 175。
如图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)至处理器芯片110。对于使用者来说,其仅能得知所储存的金钥相应的金钥编号,但并无法得知所储存的金钥的储存位置。若需读取相应的金钥,则使用者仅需经由处理器芯片110或加解密电路181~185传送欲取得的金钥的金钥编号至金钥管理装置170,且金钥管理装置170在验证取读取的金钥的信息通过后,即可将所读取的金钥回报至处理器芯片110或加解密电路181~185。
图2C至图2D为依据本发明一实施例中读取金钥的操作的示意图。
在一实施例中,当处理器芯片110或是加解密装置180中的加解密电路181~185的其中一者欲读取由金钥管理装置170所保存的其中一把金钥时,金钥管理装置170从加解密装置180或是处理器芯片110接收欲读取的金钥的一金钥编号。当金钥管理装置170从加解密装置180或是处理器芯片110接收金钥编号后,金钥管理装置170除了从其金钥数据库找寻相应的金钥之外,还会依据金钥的元数据以进一步判断欲读取金钥的器件或使用者是否符合金钥的元数据所记录的权限或特权、并确认是否有设定废除属性以及确认当前控制系统10的开机状态是否符合金钥的元数据的开机状态属性。举例来说,若金钥的废除属性已被设定(或开启),金钥管理装置170会判断该金钥无法被读取,并回报读取失败信息至欲读取此金钥的器件。若金钥的废除属性未被设定,且安全等级、特权等级、读取属性、开机状态的条件均符合时,金钥管理装置170即可将所读取的金钥回报以及一读取完成信息至欲读取此金钥的器件,并完成金钥读取的操作。当条件不符合时,金钥管理装置170则会回报读取失败的信息至欲读取此金钥的器件。
举例来说,请参考图2D,当处理器芯片110欲读取金钥编号00的金钥时,处理器芯片110传送欲读取的金钥的金钥编号(即金钥编号00)至金钥管理装置170。金钥管理装置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接收到擦洗(或删除)单一金钥操作的指令及欲擦洗的金钥编号后,金钥管理装置170会依据在暂存器174的金钥查找表以得到欲擦洗的金钥的金钥编号、金钥尺寸及其储存位置,并据以计算出该金钥所所占用的储存空间及范围。金钥管理装置170的控制电路171并删除上述储存空间中的所有数据,并更新在暂存器174中的金钥查找表并重新计算在金钥数据库中的各个储存空间的剩余空间,如图2F所示。
需注意的是,若金钥管理装置170判断上述金钥擦洗指令中欲擦洗的金钥储存于OTP存储器,金钥管理装置170并无法修改或删除储存于OTP存储器中的数据。此时,金钥管理装置170则会设定在暂存器174中金钥查找表中关于金钥编号01的元数据中的废止(revoke)栏位,以表示对应于金钥编号01的金钥内容已永久废止且无法再被读取或使用。在此实施例中,除了擦洗单一金钥的金钥擦洗指令外,使用者亦可视其需求而通过处理器芯片110发出擦洗所有金钥的指令至金钥管理装置170,使得金钥管理装置170将全部的金钥均删除,且所有储存空间全部释放回到初始状态,但OTP存储器除外。在使用擦洗所有金钥指令的情况下,处理器芯片110则不需再另外发出欲擦洗的金钥编号。
在一实施例中,金钥管理装置170可具有独立的重置信号,且每当金钥管理装置170被重置后,金钥管理装置170需要进行初始化的动作。举例来说,每当金钥管理装置170重置后,暂存器174的内容亦会被清除,故控制电路171需要依据储存于不同的非易失性存储器中的数据以重建原本在暂存器174中所储存的金钥查找表。举例来说,控制电路171可读取已备分于OTP存储器及快闪存储器的备分金钥查找表,及/或从OTP存储器及快闪存储器读取储存于其中的金钥相应的元信息。然而,备分金钥查找表中的各金钥相应的元信息并不一定是最新的元信息,故控制电路171可从OTP存储器及快闪存储器读取储存于其中的金钥相应的元信息以更新上述金钥查找表。当控制电路171重建完后金钥查找表后,表示金钥管理装置170已初始化完成,使用者即可开始使用金钥管理装置170。此外,在金钥管理装置170尚未完成初始化前,任何金钥相关的操作均会被金钥管理装置170视为无效操作。
在一些实施例中,控制系统100可包括一破坏(tamper)检测电路,用以检测控制系统100是否遭受攻击或是数据遭到窜改。若破坏检测电路检测到控制系统100遭受攻击或是数据遭到窜改,破坏检测电路会传送一检测信号至金钥管理装置170,且金钥管理装置170会依据上述检测信号而开始清除在金钥管理装置170中的所有金钥及相关数据(包括金钥相关的备分数据),除了OTP存储器的外,可使得金钥管理装置170回复到初始状态。
图3为依据本发明一实施例中金钥管理装置创建新金钥的流程的示意图。
在步骤S302,金钥管理装置170进入准备状态。举例来说,金钥管理装置170在开机后或重置后会先进行初始化,当初始化完成后即会进入准备状态(ready status)以接收不同的金钥操作的指令。
在步骤S304,金钥管理装置170接收一金钥创建指令,其中上述金钥创建指令例如是来自中央处理器111。
在步骤S306,金钥管理装置170检查金钥数据库的剩余空间。举例来说,金钥管理装置170可检查金钥数据库中的不同储存空间的剩余空间,例如SRAM175、快闪存储器113及OTP存储器114的剩余空间。
在步骤S308,金钥管理装置170判断剩余空间是否大于或等于金钥尺寸。若是,执行步骤S310。若否,执行步骤S318。在另一实施例中,在步骤S308,金钥管理装置170判断剩余空间是否大于或等于金钥尺寸并判断金钥数据库是否已达到金钥储存数量的上限。若剩余空间大于或等于金钥尺寸且金钥数据库未达到金钥储存数量的上限,则执行步骤S310。若剩余空间小于金钥尺寸或金钥数据库已达到金钥储存数量的上限,则执行步骤S318。
在步骤S310,金钥管理装置170写入金钥的元数据至金钥查找表。金钥管理装置170写入金钥查找表中的新金钥的元数据的属性包括:金钥尺寸、拥有者、安全等级、特权等级、读取属性、开机状态及储存位置。
在步骤S312,金钥管理装置170在金钥查找表增加新金钥的金钥编号。举例来说,金钥管理装置170的控制电路171可从编号0递增搜寻尚未使用的金钥编号,且可使用尚未使用的最小金钥编号以做为新金钥的金钥编号。
在步骤S314,金钥管理装置170将新金钥写入金钥数据库。举例来说,金钥管理装置170可依据新金钥的元数据中已被设定的安全等级或特权等级而将新金钥储存于金钥数据库中的OTP存储器。若新金钥的元数据中的安全等级或特权等级未被设定,金钥管理装置170可将新金钥储存于金钥数据库中的SRAM175或是快闪存储器113。
在步骤S316,金钥管理装置170回报金钥编号及写入完成信息至中央处理器111。
在步骤S318,金钥管理装置170回报写入失败信息至中央处理器111。
在步骤S320,金钥创造指令完成,并回到步骤S302。
综上所述,本发明提供一种用于数据加解密的金钥管理装置及处理器芯片,其可依据金钥尺寸及目前状态(例如安全状态、剩余空间等等)以决定每把金钥在金钥数据库中的储存位置,且可自动判断储存位置的剩余空间是否能储存已设定的金钥尺寸。当金钥成功储存后,金钥管理装置可回传一金钥编号给使用者,且使用者后续即可依据此金钥编号以对此金钥进行读取或删除,不需再额外记录金钥的储存位置或是其他金钥的相关信息。此外,本发明的金钥管理装置在每次重置后均需要进行初始化动作,藉以防止对金钥数据可能的窜改动作,并且可依据破坏检测的检测信号而清除所有储存的金钥,更可确保金钥管理的安全性。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何本领域内技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视上述的权利要求所界定者为准。

Claims (9)

1.一种用于数据加解密的金钥管理装置,其特征在于,包括:
一静态随机存取存储器;
一暂存器;以及
一控制电路,用以在所述静态随机存取存储器或所述暂存器设置一金钥查找表,并管理一金钥数据库,其中所述金钥数据库包括所述静态随机存取存储器及在所述金钥管理装置外部的一一次性可编程存储器,且所述金钥数据库储存一或多把金钥;
其中所述金钥查找表包括在所述金钥数据库的各金钥的金钥编号及元数据;
其中,所述控制电路依据来自一处理器的金钥读取指令或金钥删除指令中的特定金钥编号以从所述金钥数据库中读取或删除对应于所述特定金钥编号的一特定金钥;
所述控制电路由所述处理器接收一金钥创建指令,其中所述金钥创建指令包括一新金钥及相应的元数据,其中所述新金钥相应的元数据不包括废除属性;
其中,当所述控制电路将所述新金钥储存至所述金钥数据库并且在所述金钥查找表中新增所述新金钥相应的元数据后,所述控制电路回报所述新金钥相应的所述金钥编号至所述处理器;
其中,当所述控制电路判断所述金钥数据库的剩余储存空间小于所述新金钥的金钥尺寸或是金钥数据库已达到金钥储存数量的上限,所述控制电路回报一储存失败的信息至所述处理器。
2.根据权利要求1所述的用于数据加解密的金钥管理装置,其特征在于,所述金钥数据库更包括在所述金钥管理装置外部的一快闪存储器。
3.根据权利要求1所述的用于数据加解密的金钥管理装置,其特征在于,在所述金钥查找表中的各金钥的所述元数据的属性包括:金钥尺寸、拥有者、安全等级、特权等级、读取属性、废除属性、开机状态及储存位置。
4.根据权利要求2所述的用于数据加解密的金钥管理装置,其特征在于,所述元数据中的拥有者的属性对应于所述处理器或是一加解密装置中多个加解密电路的其中一者。
5.根据权利要求4所述的用于数据加解密的金钥管理装置,其特征在于,所述加解密电路包括:一进阶加密标准AES加解密电路、一金钥杂凑信息认证码HMAC加解密电路、一椭圆曲线密码学ECC加解密电路、一RSA加解密电路、一随机数产生电路、或其组合。
6.根据权利要求3所述的用于数据加解密的金钥管理装置,其特征在于,因应于所述控制电路接收所述金钥删除指令以删除所述特定金钥,所述控制电路通过设定在所述金钥查找表中的所述特定金钥相应的所述元数据中的所述废除属性以废止所述特定金钥。
7.根据权利要求6所述的用于数据加解密的金钥管理装置,其特征在于,当所述控制电路依据所述特定金钥的所述元数据判断无法读取所述金钥读取指令的所述特定金钥编号相应的所述特定金钥时,所述控制电路回报一读取失败信息至所述处理器。
8.一种处理器芯片,其特征在于,包括:
一处理器;
一次性可编程存储器;
一快闪存储器;以及
一金钥管理装置,电性连接至所述处理器、所述可编程存储器及所述快闪存储器,所述金钥管理装置包括:
一静态随机存取存储器;
一暂存器;以及
一控制电路,用以在所述静态随机存取存储器或所述暂存器设置一金钥查找表,并管理一金钥数据库,其中所述金钥数据库包括所述静态随机存取存储器及所述可编程存储器,且所述金钥数据库储存一或多把金钥;
其中所述金钥查找表包括在所述金钥数据库的各金钥的金钥编号及元数据;
其中,所述控制电路依据来自所述处理器的金钥读取指令或金钥删除指令中的特定金钥编号以从所述金钥数据库中读取或删除对应于所述特定金钥编号的一特定金钥;
所述控制电路由所述处理器接收一金钥创建指令,其中所述金钥创建指令包括一新金钥及相应的元数据,其中所述新金钥相应的元数据不包括废除属性;
其中,当所述控制电路将所述新金钥储存至所述金钥数据库并且在所述金钥查找表中新增所述新金钥相应的元数据后,所述控制电路回报所述新金钥相应的所述金钥编号至所述处理器;
其中,当所述控制电路判断所述金钥数据库的剩余储存空间小于所述新金钥的金钥尺寸或是金钥数据库已达到金钥储存数量的上限,所述控制电路回报一储存失败的信息至所述处理器。
9.根据权利要求8所述的处理器芯片,其特征在于,所述金钥数据库还包括所述快闪存储器。
CN201911375165.6A 2019-09-09 2019-12-27 用于数据加解密的金钥管理装置及处理器芯片 Active CN112463805B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108132363 2019-09-09
TW108132363A TWI705687B (zh) 2019-09-09 2019-09-09 用於資料加解密的金鑰管理裝置及處理器晶片

Publications (2)

Publication Number Publication Date
CN112463805A CN112463805A (zh) 2021-03-09
CN112463805B true CN112463805B (zh) 2023-11-10

Family

ID=74091340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911375165.6A Active CN112463805B (zh) 2019-09-09 2019-12-27 用于数据加解密的金钥管理装置及处理器芯片

Country Status (3)

Country Link
US (1) US11329815B2 (zh)
CN (1) CN112463805B (zh)
TW (1) TWI705687B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021149417A (ja) * 2020-03-18 2021-09-27 キオクシア株式会社 記憶装置および制御方法
TWI760974B (zh) * 2020-12-17 2022-04-11 新唐科技股份有限公司 處理器晶片及顯示資訊更新方法
DE102021004427B4 (de) 2021-08-31 2024-05-29 Mercedes-Benz Group AG Verfahren zur lmplementierung und Nutzung von kryptografischem Material in wenigstens einer Systemkomponente eines informationstechnischen Systems
TWI833533B (zh) * 2022-12-30 2024-02-21 新唐科技股份有限公司 避免使用不完整金鑰的金鑰管理裝置、處理器晶片及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902623A (zh) * 2012-12-26 2014-07-02 财团法人工业技术研究院 用于在存储系统上存取文件的方法和系统
CN107169344A (zh) * 2017-05-10 2017-09-15 威盛电子股份有限公司 阻挡非授权应用程序的方法以及使用该方法的装置
CN108985077A (zh) * 2017-06-05 2018-12-11 慧荣科技股份有限公司 数据储存装置的控制器以及进阶数据抹除的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US8180958B2 (en) * 2007-04-18 2012-05-15 Marvell Israel (Misl) Ltd. Key selection device and process for content-addressable memory
US8213620B1 (en) * 2008-11-17 2012-07-03 Netapp, Inc. Method for managing cryptographic information
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
WO2015004706A1 (ja) * 2013-07-08 2015-01-15 株式会社日立製作所 ストレージ装置およびストレージ装置の制御方法
US10038550B2 (en) * 2013-08-08 2018-07-31 Intel Corporation Instruction and logic to provide a secure cipher hash round functionality
US10396991B2 (en) * 2016-06-30 2019-08-27 Microsoft Technology Licensing, Llc Controlling verification of key-value stores
US11184164B2 (en) * 2018-02-02 2021-11-23 Microsoft Technology Licensing, Llc Secure crypto system attributes
US10615976B2 (en) * 2018-02-23 2020-04-07 Sap Se Lightweight key management system for multi-tenant cloud environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902623A (zh) * 2012-12-26 2014-07-02 财团法人工业技术研究院 用于在存储系统上存取文件的方法和系统
CN107169344A (zh) * 2017-05-10 2017-09-15 威盛电子股份有限公司 阻挡非授权应用程序的方法以及使用该方法的装置
CN108985077A (zh) * 2017-06-05 2018-12-11 慧荣科技股份有限公司 数据储存装置的控制器以及进阶数据抹除的方法

Also Published As

Publication number Publication date
TWI705687B (zh) 2020-09-21
US11329815B2 (en) 2022-05-10
CN112463805A (zh) 2021-03-09
TW202112099A (zh) 2021-03-16
US20210075607A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
CN112463805B (zh) 用于数据加解密的金钥管理装置及处理器芯片
CN111475871B (zh) 存储器系统
US11861194B2 (en) Storage device configuration and method managing storage configuration
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
US8761403B2 (en) Method and system of secured data storage and recovery
EP1517244B1 (en) Information storage device, memory access control system and method, and computer program
US11507284B2 (en) Storage device and control method
EP2161673A1 (en) Method and system for protecting data
EP1519275A1 (en) Information storage device, memory access control method, and computer program
CN111367834A (zh) 自加密驱动器(sed)
US8898807B2 (en) Data protecting method, mobile communication device, and memory storage device
US10733306B2 (en) Write-only limited-read filesystem
CN112468300B (zh) 具有旁通通道的金钥管理装置及处理器芯片
TWI775284B (zh) 記憶系統、其控制方法及資訊處理系統
US20220123932A1 (en) Data storage device encryption
US11468159B2 (en) Memory system
KR20230082807A (ko) 스토리지 장치 및 전자 시스템의 동작 방법
TW201830284A (zh) 資料儲存系統、資料儲存方法及資料讀取方法
JP2000250818A (ja) 記憶システム、記憶装置及び記憶データ保護方法
TWI833533B (zh) 避免使用不完整金鑰的金鑰管理裝置、處理器晶片及方法
US11588634B2 (en) Storage device and controlling method
CN113343265B (zh) 一种密钥配置方法、装置和相关设备
CN116361207A (zh) 保护并管理金钥的方法及装置

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
GR01 Patent grant
GR01 Patent grant