CN116361207A - 保护并管理金钥的方法及装置 - Google Patents
保护并管理金钥的方法及装置 Download PDFInfo
- Publication number
- CN116361207A CN116361207A CN202211570804.6A CN202211570804A CN116361207A CN 116361207 A CN116361207 A CN 116361207A CN 202211570804 A CN202211570804 A CN 202211570804A CN 116361207 A CN116361207 A CN 116361207A
- Authority
- CN
- China
- Prior art keywords
- key
- encryption
- decryption
- circuit
- external memory
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012856 packing Methods 0.000 claims abstract description 17
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种保护并管理金钥的方法,所述方法包括:当金钥位于外部存储器时,即时加解密电路传送请求讯息至加解密引擎,以请求加解密引擎取得包装金钥;加解密引擎向金钥存储电路请求包装金钥;金钥存储电路从内部存储器读取包装金钥并传送至加解密引擎;即时加解密电路通过金钥存储电路向外部存储器控制器请求从外部存储器读取保护金钥;外部存储器通过上述金钥存储电路及上述即时加解密电路将上述保护金钥传送至加解密引擎;以及加解密引擎根据包装金钥及保护金钥产生金钥,并传送上述金钥至上述即时加解密电路以进行加解密程序。
Description
技术领域
本申请是有关于一种保护并管理金钥的方法及装置,且特别是有关于一种保护并管理存放在外部存储器中金钥的方法及装置。
背景技术
在现今的电脑系统或控制系统中,由于存放在外部存储器(External Memory)的数据内容容易被窃取,因此重要的机密数据极需要被加密保护。
常见加密的架构为先利用加解密引擎(Cryptographic engine)将重要数据(或称明文)加密成密文,并将密文通过外部存储器控制器(External memory controller)传送至外部存储器。为了达成即时(On-the-fly)解密的目标,大多会采用进阶加密标准计数器(Advanced Encryption Standard Counter,AES CTR)密码模式。然而,当金钥被存放在外部存储器时,如何能通过加密方式以确保金钥与重要数据不被窃取,并且要能在晶片系统中安全地解密仍是目前所欲解决的问题。
因此,需要一种保护并管理金钥的方法及装置,以达到快速且有效保护外部存储器中重要机密数据的目的。
发明内容
以下公开的内容仅为示例性的,且不意指以任何方式加以限制。除所述说明方面、实施方式和特征之外,一个参照附图和下述具体实施方式,其他方面、实施方式和特征也将显而易见。即,以下公开的内容被提供以介绍概念、重点、益处及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下公开的内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。
因此,本申请的主要目的即在于提供一种保护并管理金钥的方法及装置,以达到快速且有效保护外部存储器中重要机密数据的目的。
本申请提出一种保护并管理金钥的方法,用于一装置,包括:当一金钥位于一外部存储器时,通过一即时加解密电路(OTF Cipher)传送一请求讯息至一加解密引擎,以请求上述加解密引擎取得一包装金钥(Wrap Key);通过上述加解密引擎向一金钥存储电路(KeyStore)请求上述包装金钥;通过上述金钥存储电路从一内部存储器读取上述包装金钥并传送上述包装金钥至上述加解密引擎;通过上述即时加解密电路根据一金钥存储信息向上述金钥存储电路请求存取一保护金钥,并由上述金钥存储电路向一外部存储器控制器请求从上述外部存储器读取上述保护金钥;通过上述外部存储器通过上述金钥存储电路及上述即时加解密电路将上述保护金钥传送至上述加解密引擎;通过上述加解密引擎根据上述包装金钥及上述保护金钥产生上述金钥,并传送上述金钥至上述即时加解密电路;以及通过上述即时加解密电路利用上述金钥进行加解密程序。
在一些实施例中,上述方法更包括:当上述金钥不位于上述外部存储器但位于上述内部存储器时,通过上述即时加解密电路根据上述金钥存储信息向上述金钥存储电路请求存取上述金钥;以及通过上述金钥存储电路从上述内部存储器读取上述金钥,并传送上述金钥至上述即时加解密电路,以使上述即时加解密电路利用上述金钥进行上述加解密程序。
在一些实施例中,上述方法更包括:通过上述即时加解密电路请求上述加解密引擎根据上述金钥产生一金钥串流;通过上述加解密引擎根据上述金钥产生上述金钥串流,并传送上述金钥串流至上述即时加解密电路;以及通过上述即时加解密电路传送上述金钥串流至上述外部存储器控制器。
在一些实施例中,上述方法更包括:当上述外部存储器控制器收到一加密信号时,通过上述外部存储器控制器使用上述金钥串流加密一数据,以产生一加密数据;以及通过上述外部存储器控制器将上述加密数据存储至上述外部存储器。
在一些实施例中,上述外部存储器、上述即时加解密电路、上述加解密引擎、上述外部存储器控制器以及上述金钥存储电路彼此之间是通过边带(Sideband)信号进行通信。
本申请提出保护并管理金钥的装置,包括:一外部存储器控制器,包括:一即时加解密电路(OTF Cipher);一加解密引擎,耦接至上述外部存储器控制器;一金钥存储电路(Key Store),耦接至上述外部存储器控制器及上述加解密引擎;以及一内部存储器,耦接至上述金钥存储电路;其中当一金钥位于一外部存储器时,上述即时加解密电路传送一请求讯息至上述加解密引擎,以请求上述加解密引擎取得一包装金钥(Wrap Key);上述加解密引擎向上述金钥存储电路请求上述包装金钥;上述金钥存储电路从上述内部存储器读取上述包装金钥并传送上述包装金钥至上述加解密引擎;上述即时加解密电路根据一金钥存储信息向上述金钥存储电路请求存取一保护金钥,并由上述金钥存储电路向上述外部存储器控制器请求从上述外部存储器读取上述保护金钥;上述外部存储器通过上述金钥存储电路及上述即时加解密电路将上述保护金钥传送至上述加解密引擎;上述加解密引擎根据上述包装金钥及上述保护金钥产生上述金钥,并传送上述金钥至上述即时加解密电路;以及上述即时加解密电路利用上述金钥进行加解密程序。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是显示根据本申请一实施例所述的保护并管理金钥的系统的示意图。
图2是根据本申请一实施例所述的保护区域的示意图。
图3是显示根据本申请一实施例所述的金钥区块结构及包装金钥区块结构的示意图。
图4是以另一方式表示根据本申请一实施例所述的保护并管理金钥的系统的部份即时加解密构造的功能方块图。
图5是显示根据本申请一实施例所述的保护并管理金钥的方法流程图。
图6A~图6B是显示根据本申请一实施例所述的保护并管理金钥的方法流程图。
具体实施方式
在下文中将参考附图对本揭露的各方面进行更充分的描述。然而,本揭露可以具体化成许多不同形式且不应解释为局限于贯穿本揭露所呈现的任何特定结构或功能。相反地,提供这些方面将使得本揭露周全且完整,并且本揭露将给本领域技术人员充分地传达本申请的范围。基于本文所教导的内容,本领域的技术人员应意识到,无论是单独还是结合本申请的任何其它方面实现本文所揭露的任何方面,本申请的范围旨在涵盖本文中所公开的任何方面。例如,可以使用本文所提出任意数量的装置或者执行方法来实现。另外,除了本文所提出本申请的多个方面之外,本申请的范围更旨在涵盖使用其它结构、功能或结构和功能来实现的装置或方法。应可理解,其可通过申请专利范围的一或多个元件具体化本文所公开的任何方面。
词语“示例性”在本文中用于表示“用作示例、实例或说明”。本申请的任何方面或本文描述为“示例性”的设计不一定被解释为优选于或优于本申请或设计的其他方面。此外,相同的数字在所有若干图示中指示相同的元件,且除非在描述中另有指定,冠词“一”和“上述”包含多个的参考。
可以理解,当元件被称为被“连接”或“耦接”至另一元件时,该元件可被直接地连接到或耦接至另一元件或者可存在中间元件。相反地,当该元件被称为被“直接连接”或“直接耦接”至到另一元件时,则不存在中间元件。用于描述元件之间的关系的其他词语应以类似方式被解释(例如,“在…之间”与“直接在…之间”、“相邻”与“直接相邻”等方式)。
特别地,以下叙述的范例的硬件系统、元件,和相关方法可由以下技术所支援,其中包括了台湾专利申请号108132363“用于数据加解密的金钥管理装置及处理器晶片”;台湾专利申请号108132364“具有旁通通道的金钥管理装置及处理器晶片”;台湾专利申请号108132367“记忆体控制器与数据保护方法”;以及NSIT 800-38F“Recommendation forBlock Cipher Modes of Operation:Methods for Key Wrapping”。上述所列出的专利及文件在本文中引用并构成本说明书的一部分。
本申请实施例提供一种保护并管理金钥的方法及装置,以达到快速且有效保护外部存储器中重要机密数据的目的。
图1是显示根据本申请一实施例所述的保护并管理金钥的系统100的示意图。系统100至少包括一保护并管理金钥的装置110及一外部存储器120,其中保护并管理金钥的装置110是可为一处理器晶片。
装置110至少包括一中央处理器(CPU)(或微处理器)111、一次性可编程(One-timeProgrammable,OTP)控制器112、一快闪控制器113、一金钥存储电路(Key Store)114、一内部存储器115、一静态随机存取存储器(Static Random Access Memory,SRAM)116、一外部存储器控制器117及一加解密引擎118。内部存储器115是包括一OTP存储器1151及一快闪存储器1152,其中OTP存储器1151及快闪存储器1152分别各自具有元数据(Metadata)、金钥(Key)、核对和(Checksum)。静态随机存取存储器116也同样包括元数据、金钥以及核对和。外部存储器控制器117至少包括一即时加解密电路(On-the-fly Cipher,OTF Cipher)1171。
外部存储器至少包括一加密图像1201及一包装金钥区块(Wrapped Key Blocks)1202。
在此系统100中,中央处理器111是通过汇流排119与OTP控制器112、快闪控制器113、金钥存储电路114、外部存储器控制器117及加解密引擎118相互通信,如图1中实线所示。而OTP控制器112、快闪控制器113、金钥存储电路114、内部存储器115、静态随机存取存储器116、外部存储器控制器117及加解密引擎118彼此间是通过边带(Sideband)通道(如图1中虚线所示)以边带信号的方式相互通信而不需经由汇流排119。
图2是根据本申请一实施例所述的保护区域的示意图,并请参考图1。外部存储器控制器117中的即时加解密电路1171可提供多个保护区域(保护区域0、保护区域1、保护区域2、…)给使用者设定。每一保护区域至少包括一区域来源地址、一区域目的地址、一加解密算法、一金钥来源、一金钥存储信息以及一金钥数据。区域来源地址和区域目的地址可决定数据加密范围。而金钥存储信息包括金钥存储电路所需要的信息,用以使即时加解密电路得知金钥从哪里取得。此外,使用者可自由决定不同保护区域是否由不同加解密演算法保护,例如,进阶加密标准(Advanced Encryption Standard,AES)演算法或是CHACHA加解密演算法。使用者亦可选择金钥来源是经由中央处理器111填写或是由金钥存储电路114提供,其中金钥存储电路114可将金钥来源细分为来自静态随机存取存储器116、内部存储器115(包括OTP存储器1151及快闪存储器1152)或是外部存储器120。
值得注意的是,保护区域是位于外部存储器控制器117的即时加解密电路1171内。加解密引擎118只能取得保护区域中的金钥数据,而金钥存储电路114只能存放金钥数据和读取保护区域中的金钥存储信息。
当金钥存放在外部存储器120时,金钥存储电路是采取金钥区块结构,如图3所示。金钥区块310具有四个区块,分别为金钥区块信息311、元数据312(包括元数据0、元数据1、元数据2、…)、金钥313(包括金钥0、金钥1、金钥2、…)和核对和314(包括核对和0、核对和1、核对和2、…)。
金钥区块信息311至少包括外部存储器具有的金钥数量、元数据的起始地址、金钥的起始地址、核对和的起始地址等信息,有助于金钥存储电路114在初始阶段能快速取得位于外部存储器中的金钥信息。而元数据、金钥和核对和需依照金钥编号顺序依序摆放,以使金钥存储电路114在读取金钥时才能快速找到金钥内容,并利用核对和确认数据的正确性。
元数据312的属性(Attribute)字段例如可包括:金钥尺寸(Key size)、拥有者(Owner)、安全等级(Secure)、特权等级(Privilege)、读取(Readable)属性、废除(Revoke)属性、开机状态(Booting state)等等,但本发明并不限于此。以下将一一说明元数据的各种字段的内容。
「密钥尺寸」表示金钥的长度,可用金钥所使用的位数量表示,例如80位、128位、256位等等。依据所使用的加解密算法的不同,金钥存储电路例如可支持64位至4096位的密钥尺寸。
「拥有者」表示此密钥的拥有者,非此密钥的拥有人无法读取此密钥。密钥的拥有者可依需求而设定,例如可包括:CPU(即中央处理器)、AES、HMAC、ECC、RSA等等。
「安全等级」表示密钥的安全等级,例如可分为安全(Secure)等级及非安全(Non-secure)等级。具有安全等级的密钥仅能给同样具有安全等级的拥有者使用,具有非安全等级的密钥则无需确认拥有者的安全等级。需注意的是,密钥的元数据中的安全等级属性是否发挥作用需要搭配CPU的设计。举例来说,CPU可分为安全处理器或非安全处理器,且当CPU为安全处理器时,密钥的元数据中的安全等级的字段设定才能发挥作用。当CPU为非安全处理器时,则密钥的元数据中的安全等级的字段设定并无法发挥作用。
「特权等级」表示密钥的特权等级,例如可分为特权(Privilege)等级及非特权(Non-privilege)等级。具有特权等级的密钥仅能给同样具有特权等级的拥有者使用,具有非特权等级的密钥则无需确认拥有者的特权等级。举例来说,不同的使用者可能会具有不同的权限,管理者或超级使用者(super user)的特权等级最高,例如可对被设定有特权等级的密钥进行存取,但未具有特权等级的一般用户则无法对被设定有特权等级的密钥进行存取。
「读取属性」表示此密钥是否能给CPU读取。举例来说,若此密钥的拥有者字段为CPU,表示此密钥必定能给CPU读取。若此密钥的拥有者字段为其他加解密电路,则金钥存储电路会依据密钥的读取属性的字段以决定CPU是否能读取此密钥。
「废除属性」,此字段系记录于金钥存储电路中的内部缓存器,且无法在创建密钥时一并设定相应的废除属性。举例来说,在一般使用情况下,金钥存储电路会将密钥的废除属性之字段的数值系设定为0,表示此密钥正常使用。当使用者执行密钥删除操作时,金钥存储电路可能会针对储存于闪存或一次性可程序化内存中的密钥进行删除。然而,上述闪存或一次性可程序化内存中可能因为锁定位被设定而无法真正删除所储存的密钥。因此,金钥存储电路在执行密钥删除操作时,会设定其内部缓存器中相应于欲删除的密钥的废除属性。密钥在金钥存储电路中相应的废除属性一旦被设定后就无法再修改,意即无法将相应的密钥恢复为可使用的状态。此时,无论其他属性的条件成立与否,金钥存储电路均无法读取或使用已被设定废除属性的密钥,意即密钥的废除属性是优先于其他属性的。
「开机状态」属性表示密钥能被使用的开机状态,例如可分为开机状态1(BL1)及开机状态2(BL2)。举例来说,当装置110的开机状态处于开机状态1(BL1)时,金钥存储电路可使用具有BL1及BL2的开机状态属性的密钥。当装置110的开机状态处于开机状态2(BL2)时,金钥存储电路则仅能使用具有BL2的开机状态属性的密钥。
当保护区域由使用者设定完成后,使用者即可通过即时加解密电路架构执行位于外部存储器内重要数据加密和解密的动作。如图1所示,外部存储器120内包含加密图像1201及包装金钥区块1202两个部分。加密图像1201的产生主要有两个步骤。步骤1,加解密引擎118使用金钥313产生金钥串流。步骤2,加解密引擎118将金钥串流传送至外部存储器控制器117和重要数据执行互斥或门(XOR)运算加密出加密图像1201。至于包装金钥区块1202的部份,包装金钥须先通过金钥存储电路114传送至内部存储器115(OTP存储器1151及一快闪存储器1152)中。接着,加解密引擎118向金钥存储电路114取得包装金钥。再来,金钥存储电路114通过边带信号输出包装金钥至加解密引擎118。最后,加解密引擎118将包装金钥和金钥区块执行一金钥包装演算法中的解包装(key unwrap)产生包装金钥区块。如图3所示,包装金钥区块320是包括金钥区块信息321、元数据322(包括元数据0、元数据1、元数据2、…)、保护金钥323(包括保护金钥0、保护金钥1、保护金钥2、…)及保护核对和324(包括保护核对和0、保护核对和1、保护核对和2、…)。
在加密图像1201和包装金钥区块1202已存在外部存储器120的情况下,在读取加密图像1201之前,即时加解密电路1171必须先取得加密金钥。如果即时加解密电路1171没有加密金钥时,即时加解密电路传送请求讯息至加解密引擎118,以请求加解密引擎118从金钥存储电路114取得包装金钥。接着,即时加解密电路1171可请求金钥存储电路114经由边带信号向外部存储器控制器117读取包装金钥区块。即时加解密电路1171在取得包装金钥区块后传送给加解密引擎118以解密还原成如图2的数据格式,并送回给金钥存储电路114以确认金钥与核对和是否一致。金钥存储电路114金钥与核对和一致后,即时加解密电路1171根据金钥编号将加密金钥存储在对应的保护区域里。再来,外部存储器控制器117读取加密图像1201,同时即时加解密电路1171驱动加解密引擎118利用加密金钥产生金钥串流。最后,即时加解密电路1171传送金钥串流至外部存储器控制器117执行互斥或门(XOR)运算取得原始保护数据。加密金钥除了可以存储在外部存储器120外,亦可预先存储在内部存储器115中。如图1所示,在OTP存储器1151及快闪存储器1152中,元数据、金钥及核对和为一组金钥。即时加解密电路1171可通过金钥存储电路114将金钥放置在内部存储器115或静态随机存取存储器116中。
接下来,参阅图4,图4是以另一方式表示根据本申请一实施例所述的保护并管理金钥的系统的部份即时加解密构造400的功能方块图。在图4中,即时加解密构造400可包括外部存储器控制器417、加解密引擎418、金钥存储电路414及外部存储器420,其中外部存储器控制器417包括即时加解密电路4171。在此即时加解密构造400中,外部存储器控制器417、加解密引擎418、金钥存储电路414及外部存储器420彼此间是通过边带通道(如图4中虚线所示)以边带信号的方式相互通信而不需经由汇流排419。
金钥存储电路414系包括核心、仲裁电路及金钥存储电路AHB(Advanced HighPerformance Bus,高性能总线)附属界面。在密钥存储电路414中,除了金钥存储电路AHB附属界面外,核心及仲裁电路与加解密引擎418和实时加解密电路4171都订定独立的边带信号,因此会有多个服务要求同时传递至金钥存储电路414。由于金钥存储电路414中的核心同一时间只能处理其中一个服务要求,所以需由仲裁电路来决定处理的优先级。
AHB为ARM AMBA架构下系统芯片设计中的一种总线架构。建立在ARM AMBA架构下的外部存储器控制器417、加解密引擎418、密钥存储电路414是通过AHB协议彼此沟通以及传递数据。因此,密钥存储电路414必须通过金钥存储电路AHB附属界面负责处理AHB协议,以与在外部的ARM AMBA架构中的硬件沟通。而CPU可以通过密钥存储电路AHB附属接口对密钥存储电路414执行设定而完成特定服务要求。
加解密引擎418可运行进阶加密标准演算法(AES)或是CHACHA加解密演算法,并可使用加密金钥产生金钥串流或使用包装金钥执行一金钥包装演算法。金钥存储电路414集中管理所有的金钥,接收加解密引擎418以及即时加解密电路4171的请求,并向静态随机存取存储器、快闪存储器、OTP存储器或外部存储器420存取保护金钥、包装金钥以及相关数据。外部存储器420用以存储加密数据。外部存储器控制器417除了将被金钥串流加密过的密文烧录到外部存储器420以及把解密过的明文往汇流排419送出之外,还可接收来自金钥存储电路414的请求并读取包装金钥区块4202。
包装金钥区块4202是使用NIST 800-38F的方式做金钥包装后的结果。使用者须先把包装金钥通过金钥存储电路烧录内部存储器(OTP存储器或快闪存储器)中。接着使用者设定加解密引擎先去金钥存储电路拿取包装金钥。然后,金钥存储电路通过边带(Sideband)信号输出包装金钥至加解密引擎制造出金钥串流。最后,加解密引擎把金钥串流和金钥区块(Key blocks)执行互斥或门(XOR)运算产生包装金钥区块4202。包装金钥区块4202如图3的包装金钥区块320所示。
加解密引擎418通过加解密引擎AHB附属界面负责处理AHB协定。而CPU可以通过加解密引擎AHB附属界面控制加解密引擎418设定而完成特定服务要求。
即时加解密电路4171可包括保护区域430及保护区域监控电路432。保护区域监控电路432主要负责侦测外部存储器控制器417所存取的地址是否落在保护区域430的保护范围内。如果是位于特定的保护区域范围内时,即时加解密电路4171先检查加密金钥是否存在该保护区域430,再决定是否驱动金钥存储电路414或加解密引擎418的运作。
在图4中的多工器是一种可以从多个数位输入信号中利用选择信号决定其中一个输入信号进行输出的元件。所以,即时加解密电路4171将由保护区域监控电路432提供选择信号。即时加解密电路4171的多工器(MUX)再利用选择信号,来决定输出哪一个保护区域信息给加解密引擎718。此外,加解密引擎718也是由保护区域监控电路432提供选择信号。接着由加解密引擎418的多工器(MUX)再利用选择信号,来决定AES/CHACHA将执行来自加解密引擎AHB附属界面或即时加解密电路4171的服务要求。
图5是显示根据本申请一实施例所述的保护并管理金钥的方法流程图500。图5的方法流程可执行于如图1所示的保护并管理金钥的系统100中及图4所示的即时加解密构造400中。
在流程开始之前,使用者已通过外部存储器控制器汇流排界面设定保护区域。当保护区域监控电路侦测到外部存储器控制器正在存取保护区域的保护范围且即时加解密电路判断金钥是位于外部存储器,下面的步骤流程将被运行。
在步骤S505中,即时加解密电路传送一请求讯息至一加解密引擎,以请求上述加解密引擎取得一包装金钥。接着,在步骤S510中,加解密引擎向金钥存储电路请求上述包装金钥。
再来,在步骤S515中,金钥存储电路从内部存储器读取包装金钥并传送包装金钥至加解密引擎。在一实施例中,加解密引擎接收包装金钥后存储包装金钥并传送一通知讯息至即时加解密电路以通知上述加解密引擎已取得上述包装金钥。
在步骤S520中,即时加解密电路根据一金钥存储信息向上述金钥存储电路请求存取一保护金钥,并由金钥存储电路向一外部存储器控制器请求从外部存储器读取保护金钥。在一实施例中,金钥存储信息是被存储在即时加解密电路中的多个保护区域中,其中每一上述复数保护区域至少包括:一区域来源地址、一区域目的地址、一加解密算法、一金钥来源、上述金钥存储信息以及一金钥数据。
在步骤S525中,外部存储器通过金钥存储电路及即时加解密电路将保护金钥传送至加解密引擎。更详细地说明,外部存储器先传送保护金钥至金钥存储电路,并由金钥存储电路传送保护金钥至即时加解密电路。即时加解密电路接收保护金钥后再传送保护金钥至加解密引擎。
在步骤S530中,加解密引擎根据包装金钥及保护金钥产生金钥,并传送上述金钥至上述即时加解密电路。更详细地说明,加解密引擎是将包装金钥及保护金钥执行金钥包装演算法以产生金钥。最后,在步骤S535中,即时加解密电路利用金钥进行加解密程序。
图6A~图6B是显示根据本申请一实施例所述的保护并管理金钥的方法流程图600。图6A~图6B的方法流程可执行于如图1所示的保护并管理金钥的系统100中及图4所示的即时加解密构造400中。此方法流程图600是更进一步地描述金钥已存在于即时加解密电路中或位于内部存储器的情形。
在流程开始之前,使用者已通过外部存储器控制器汇流排界面设定保护区域。当保护区域监控电路侦测到外部存储器控制器正在存取保护区域的保护范围且即时加解密电路判断金钥是位于外部存储器,下面的步骤流程将被运行。
首先,在步骤S601中,即时加解密电路判断金钥是否已存在即时加解密电路的保护区域内部。须注意的是,金钥的来源可通过中央处理器填写至保护区域或是由金钥存储电路所提供。
当金钥已存在即时加解密电路的保护区域内部时(步骤S601中的“是”),在步骤S603,即时加解密电路请求加解密引擎产生一金钥串流。接着,在步骤S604中,加解密引擎通过金钥产生一金钥串流,并传送金钥串流至即时加解密电路。在步骤S605中,即时加解密电路接收来自加解密引擎的金钥串流,并将金钥串流转传至外部存储器控制器。
在步骤S606中,外部存储器控制器接收一汇流排信号并判断上述汇流排信号是属于加密信号或是解密信号。当上述汇流排信号是属于加密信号时(步骤S606中的“是”),在步骤S607中,外部存储器控制器使用上述金钥串流加密一数据,以产生一加密数据(ciphertext)。更详细地说明,外部存储器控制器可将金钥串流和数据(或明文)执行XOR运算产生一加密数据(或密文)。最后,在步骤S608中,外部存储器控制器将上述加密数据烧录到外部存储器中,并结束此流程。
当上述汇流排信号是属于解密信号时(步骤S606中的“否”),在步骤S609中,外部存储器控制器使用上述金钥串流解密来自上述外部存储器的一加密数据,以产生一未加密数据(plaintext)。更详细地说明,外部存储器控制器将金钥串流和来自加密图像的加密数据(或密文)执行XOR运算产生一未加密数据(或明文)。最后,在步骤S610中,外部存储器控制器将上述未加密数据输出至汇流排,并结束此流程。
回到步骤S601,当金钥不存在即时加解密电路的保护区域内部时(步骤S601中的“否”),在步骤S602中,即时加解密电路判断金钥是否存在内部存储器中。当即时加解密电路判断金钥存在内部存储器中时(步骤S602中的“是”),在步骤S611中,即时加解密电路根据在保护区域中的金钥存储信息向金钥存储电路请求存取上述金钥。接着,在步骤S612中,金钥存储电路从内部存储器读取上述金钥,并将上述金钥传送至即时加解密电路。流程接着跳往步骤S603继续执行,直到步骤S619结束流程。
回到步骤S602,当即时加解密电路判断金钥不存在内部存储器中时(步骤S602中的“否”),在步骤S613中,即时加解密电路传送一请求讯息至一加解密引擎,以请求上述加解密引擎取得一包装金钥。接着,在步骤S614中,加解密引擎向一金钥存储电路请求上述包装金钥。在步骤S615中,金钥存储电路从内部存储器读取上述包装金钥并传送上述包装金钥至上述加解密引擎。在一实施例中,加解密引擎接收包装金钥后存储包装金钥并传送一通知讯息至即时加解密电路以通知上述加解密引擎已取得上述包装金钥。
再来,在步骤S616中。即时加解密电路根据在保护区域中的金钥存储信息向金钥存储电路请求存取一保护金钥,并由金钥存储电路向外部存储器控制器请求从外部存储器读取上述保护金钥。在步骤S617中,外部存储器通过金钥存储电路及即时加解密电路将保护金钥传送至加解密引擎。在步骤S618中,加解密引擎根据上述包装金钥及保护金钥产生上述金钥,将上述金钥存储在专属保护区域中的金钥数据内并传送上述金钥至上述即时加解密电路。流程接着跳往步骤S603继续执行,直到步骤S619结束流程。
在一实施例中,当金钥存放在外部存储器的包装金钥区块且外部存储器中的加密图像被解密之前,使用者需事先在金钥存储电路填入金钥区块信息的起始地址,并在保护区域中设定好金钥存储信息。当金钥存储电路初始化时,除了读取内部存储器中所有元数据的信息之外,还会将读取外部存储器的包装金钥区块,并将元数据区块存储至金钥存储电路,以便管理所有金钥。请注意,当金钥存储电路完成存储所有金钥后,会从金钥存储电路内建存储器中找出元数据和核对和,重新计算新金钥值的核对和并比对是否一致。当金钥值的核对和一致后,金钥存储电路才会将金钥输出。
综上所述,本申请可具有以下优点:
1.金钥的来源丰富。金钥可从外部存储器解密后纪录到金钥存储电路内;金钥可来自内部存储器,并由金钥存储电路管理;使用者可通过外部存储器控制器设定保护区域来执行金钥填写的过程。
2.加解密引擎是使用AES演算法或CHACHA加解密演算法。
3.即时加解密电路可以完成即时(On-the-fly)加密以及解密。
4.外部存储器、即时加解密电路、加解密引擎、外部存储器控制器以及金钥存储电路彼此之间是通过边带(Sideband)信号进行通信。因此,攻击者无法通过控制中央处理器取得重要数据(例如,金钥)。
5.外部存储器、即时加解密电路、加解密引擎、外部存储器控制器以及金钥存储电路未执行解密过程时可处理中央处理器所指派的任务。
因此,通过本申请的保护并管理金钥的方法及装置,可将外部存储器中的加密数据安全地送到晶片系统中解密,并且确保用以解密的金钥无法被窃走,达到快速且有效保护外部存储器的重要机密数据的目的。
以上实施例是使用多种角度来描述。显然这里的教示可以多种方式呈现,而在范例中公开的任何特定架构或功能仅为一代表性的状况。根据本文的教示,任何本领域技术人员应理解在本文呈现的内容可独立利用其他某种型式或综合多种型式作不同呈现。举例说明,可遵照前文中提到任何方式利用某种装置或某种方法实现。一装置的实施或一种方式的执行可用任何其他架构、或功能性、又或架构及功能性来实现在前文所讨论的一种或多种型式上。
本领域技术人员将了解讯息及信号可用多种不同科技及技巧展现。举例,在以上描述所有可能引用到的数据、指令、命令、讯息、信号、位元、符号、以及码片(chip)可以伏特、电流、电磁波、磁场或磁粒、光场或光粒、或以上任何组合所呈现。
本领域技术人员更会了解在此描述各种说明性的逻辑区块、模组、处理器、装置、电路、以及演算步骤与以上所揭露的各种情况可用的电子硬件(例如用来源编码或其他技术设计的数位实施、类比实施、或两者的组合)、各种形式的程式或与指示作为连结的设计码(在内文中为方便而称作“软件”或“软件模组”)、或两者的组合。为清楚说明此硬件及软件间的可互换性,多种具描述性的元件、方块、模组、电路及步骤在以上的描述大致上以其功能性为主。不论此功能以硬件或软件型式呈现,将视加注在整体系统上的特定应用及设计限制而定。本领域技术人员可为每一特定应用将描述的功能以各种不同方法作实现,但此实现的决策不应被解读为偏离本文所公开的范围。
此外,多种各种说明性的逻辑区块、模组、及电路以及在此所公开的各种情况可实施在集成电路(Integrated Circuit,IC)、存取终端、存取点;或由集成电路、存取终端、存取点执行。集成电路可由一般用途处理器、数字信号处理器(Digital Signal Processor,DSP)、特定应用集成电路(application specific integrated circuit,ASIC)、现场可编程门列(field programmable gate array,FPGA)或其他可编程逻辑装置、离散门(discrete gate)或晶体管逻辑(transistor logic)、离散硬件元件、电子元件、光学元件、机械元件、或任何以上的组合的设计以完成在此文内所描述的功能;并可能执行存在于集成电路内、集成电路外、或两者皆有的执行码或指令。一般用途处理器可能是微处理器,但也可能是任何常规处理器、控制器、微控制器、或状态机。处理器可由电脑设备的组合所构成,例如:数位信号处理器(DSP)及一微电脑的组合、多组微电脑、一组至多组微电脑以及一数位信号处理器核心、或任何其他类似的配置。
在此所公开程序的任何具体顺序或分层的步骤纯为一举例的方式。基于设计上的偏好,必须了解到程序上的任何具体顺序或分层的步骤可在此文件所公开的范围内被重新安排。伴随的方法申请专利范围以一示范例顺序呈现出各种步骤的元件,也因此不应被本发明说明书所展示的特定顺序或阶层所限制。
本发明的说明书所公开的方法和演算法的步骤,可以直接通过执行一处理器直接应用在硬件以及软件模组或两者的结合上。一软件模组(包括执行指令和相关数据)和其它数据可存储在数据存储器中,像是随机存取存储器(Random Access Memory,RAM)、快闪存储器(Flash Memory)、唯读存储器(Read-Only Memory,ROM)、可抹除可规化唯读存储器(EPROM)、电子抹除式可复写唯读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、暂存器、硬碟、可携式硬碟、光碟唯读存储器(Compact Disc Read-Only Memory,CD-ROM)、数位视频光碟(Digital Video Disc,DVD)或在此领域现有技术中任何其它电脑可读取的存储媒体格式。一存储媒体可耦接至一机器装置,举例来说,像是电脑/处理器(为了说明的方便,在本说明书以处理器来表示),上述处理器通过过来读取信息(像是程式码),以及写入信息至存储媒体。一存储媒体可整合一处理器。一特殊应用集成电路(ASIC)包括处理器和存储媒体。一使用者设备则包括一特殊应用集成电路。换句话说,处理器和存储媒体以不直接连接使用者设备的方式,包含于使用者设备中。此外,在一些实施例中,任何适合电脑程序的产品包括可读取的存储媒体,其中可读取的存储媒体包括一或多个所公开实施例相关的程式码。而在一些实施例中,电脑程序的产品可以包括封装材料。
在此所公开程序的任何具体顺序或分层的步骤纯为一举例的方式。基于设计上的偏好,必须了解到程序上的任何具体顺序或分层的步骤可在此文件所公开的范围内被重新安排。伴随的方法权利要求以一示例顺序呈现出各种步骤的元件,也因此不应被此所展示的特定顺序或阶层所限制。
虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视本申请权利要求所界定的范围为准。
Claims (10)
1.一种保护并管理金钥的方法,用于一装置,其特征在于,包括:
当一金钥位于一外部存储器时,通过一即时加解密电路传送一请求讯息至一加解密引擎,以请求所述加解密引擎取得一包装金钥;
通过所述加解密引擎向一金钥存储电路请求所述包装金钥;
通过所述金钥存储电路从一内部存储器读取所述包装金钥并传送所述包装金钥至所述加解密引擎;
通过所述即时加解密电路根据一金钥存储信息向所述金钥存储电路请求存取一保护金钥,并由所述金钥存储电路向一外部存储器控制器请求从所述外部存储器读取所述保护金钥;
通过所述外部存储器通过所述金钥存储电路及所述即时加解密电路将所述保护金钥传送至所述加解密引擎;
通过所述加解密引擎根据所述包装金钥及所述保护金钥产生所述金钥,并传送所述金钥至所述即时加解密电路;以及
通过所述即时加解密电路利用所述金钥进行加解密程序。
2.如权利要求1所述的保护并管理金钥的方法,其特征在于,所述方法更包括:
当所述金钥不位于所述外部存储器但位于所述内部存储器时,通过所述即时加解密电路根据所述金钥存储信息向所述金钥存储电路请求存取所述金钥;以及
通过所述金钥存储电路从所述内部存储器读取所述金钥,并传送所述金钥至所述即时加解密电路,以使所述即时加解密电路利用所述金钥进行所述加解密程序。
3.如权利要求1所述的保护并管理金钥的方法,其特征在于,所述方法更包括:
通过所述即时加解密电路请求所述加解密引擎根据所述金钥产生一金钥串流;
通过所述加解密引擎根据所述金钥产生所述金钥串流,并传送所述金钥串流至所述即时加解密电路;以及
通过所述即时加解密电路传送所述金钥串流至所述外部存储器控制器。
4.如权利要求3所述的保护并管理金钥的方法,其特征在于,所述方法更包括:
当所述外部存储器控制器收到一加密信号时,通过所述外部存储器控制器使用所述金钥串流加密一数据,以产生一加密数据;以及
通过所述外部存储器控制器将所述加密数据存储至所述外部存储器。
5.如权利要求1所述的保护并管理金钥的方法,其特征在于,所述外部存储器、所述即时加解密电路、所述加解密引擎、所述外部存储器控制器以及所述金钥存储电路彼此之间是通过边带信号进行通信。
6.一种保护并管理金钥的装置,其特征在于,包括:
一外部存储器控制器,包括:
一即时加解密电路;
一加解密引擎,耦接至所述外部存储器控制器;
一金钥存储电路,耦接至所述外部存储器控制器及所述加解密引擎;以及
一内部存储器,耦接至所述金钥存储电路;
其中当一金钥位于一外部存储器时,所述即时加解密电路传送一请求讯息至所述加解密引擎,以请求所述加解密引擎取得一包装金钥;所述加解密引擎向所述金钥存储电路请求所述包装金钥;所述金钥存储电路从所述内部存储器读取所述包装金钥并传送所述包装金钥至所述加解密引擎;所述即时加解密电路根据一金钥存储信息向所述金钥存储电路请求存取一保护金钥,并由所述金钥存储电路向所述外部存储器控制器请求从所述外部存储器读取所述保护金钥;所述外部存储器通过所述金钥存储电路及所述即时加解密电路将所述保护金钥传送至所述加解密引擎;所述加解密引擎根据所述包装金钥及所述保护金钥产生所述金钥,并传送所述金钥至所述即时加解密电路;以及所述即时加解密电路利用所述金钥进行加解密程序。
7.如权利要求6所述的保护并管理金钥的装置,其特征在于,所述即时加解密电路及所述金钥存储电路更执行:
当所述金钥不位于所述外部存储器但位于所述内部存储器时,所述即时加解密电路根据所述金钥存储信息向所述金钥存储电路请求存取所述金钥;以及
所述金钥存储电路从所述内部存储器读取所述金钥,并传送所述金钥至所述即时加解密电路,以使所述即时加解密电路利用所述金钥进行所述加解密程序。
8.如权利要求6所述的保护并管理金钥的装置,其特征在于,所述金钥存储信息是被存储在所述即时加解密电路中的多个保护区域中。
9.如权利要求6所述的保护并管理金钥的装置,其特征在于,所述加解密引擎是使用一进阶加密标准演算法或CHACHA加解密演算法。
10.如权利要求6所述的保护并管理金钥的装置,其特征在于,所述加解密引擎根据所述及所述保护金钥产生所述金钥的步骤更包括:
所述加解密引擎将所述包装金钥及所述保护金钥执行一金钥包装演算法以产生所述金钥。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110149363A TW202327308A (zh) | 2021-12-29 | 2021-12-29 | 保護並管理金鑰的方法及裝置 |
TW110149363 | 2021-12-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116361207A true CN116361207A (zh) | 2023-06-30 |
Family
ID=86896379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211570804.6A Pending CN116361207A (zh) | 2021-12-29 | 2022-12-08 | 保护并管理金钥的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230208821A1 (zh) |
CN (1) | CN116361207A (zh) |
TW (1) | TW202327308A (zh) |
-
2021
- 2021-12-29 TW TW110149363A patent/TW202327308A/zh unknown
-
2022
- 2022-12-08 CN CN202211570804.6A patent/CN116361207A/zh active Pending
- 2022-12-20 US US18/084,759 patent/US20230208821A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230208821A1 (en) | 2023-06-29 |
TW202327308A (zh) | 2023-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809584B2 (en) | File system metadata protection | |
JP4299679B2 (ja) | 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能 | |
US11675919B2 (en) | Separation of managed and unmanaged data in a computing device | |
US20220197825A1 (en) | System, method and apparatus for total storage encryption | |
US9251380B1 (en) | Method and storage device for isolating and preventing access to processor and memory used in decryption of text | |
US9954826B2 (en) | Scalable and secure key management for cryptographic data processing | |
TWI468971B (zh) | 安全軟體下載 | |
JP5417092B2 (ja) | 暗号化属性を用いて高速化された暗号法 | |
US8032941B2 (en) | Method and apparatus for searching for rights objects stored in portable storage device object identifier | |
CN112463805B (zh) | 用于数据加解密的金钥管理装置及处理器芯片 | |
CN101689957A (zh) | 传输流处理器和解码器之间的编码数字视频内容保护 | |
US20060156413A1 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
JP2004129227A (ja) | 情報再生装置、セキュアモジュールおよび情報再生方法 | |
US7975141B2 (en) | Method of sharing bus key and apparatus therefor | |
US9031239B2 (en) | Information processing apparatus, information processing method, and computer readable storage medium | |
CN112468300B (zh) | 具有旁通通道的金钥管理装置及处理器芯片 | |
CN116361207A (zh) | 保护并管理金钥的方法及装置 | |
TWI377576B (en) | Security flash memory with an apparatus for encryption and decryption, and method for accessing security flash memory | |
CN109670347A (zh) | 解密装置、方法及片上系统 | |
US20100058074A1 (en) | Right information encryption module, nonvolatile memory device, right information recording system, right information decryption module, right information reading system, and right information recording/reading system | |
JP3797531B2 (ja) | ディジタルデータの不正コピー防止システム | |
JP2004038476A (ja) | 暗号化装置及び暗号化システム | |
JP2011175464A (ja) | 情報処理装置および情報処理方法 | |
JP2009075474A (ja) | 暗号処理装置 | |
CN116208320A (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 |