CN111385083A - 密钥保护方法及密钥保护系统 - Google Patents
密钥保护方法及密钥保护系统 Download PDFInfo
- Publication number
- CN111385083A CN111385083A CN201911373297.5A CN201911373297A CN111385083A CN 111385083 A CN111385083 A CN 111385083A CN 201911373297 A CN201911373297 A CN 201911373297A CN 111385083 A CN111385083 A CN 111385083A
- Authority
- CN
- China
- Prior art keywords
- key
- executable
- memory space
- function
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000006870 function Effects 0.000 claims description 60
- 238000004364 calculation method Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 description 21
- 238000007781 pre-processing Methods 0.000 description 4
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明揭露一种密钥保护方法及密钥保护系统。该密钥保护方法包括:在存储器中设置只可执行存储器空间及单次编程空间,只可执行存储器空间存储多个执行程序码。通过编码器将密钥嵌入到多个执行程序码当中,并于单次编程空间中存储密钥的密钥哈希值。通过处理器执行密钥产生指令,执行多个执行程序码,于只可执行存储器空间中形成密钥,并通过密钥哈希值验证密钥的正确性。本发明可以提升密钥的安全性、正确性和隐密性。
Description
技术领域
本发明是有关于一种密钥保护方法及密钥保护系统,特别是有关于一种能通过软件结合硬件的方式来放置私密金钥,防止私密金钥在使用或存储时被读取,并且确保私密金钥正确性的密钥保护方法及密钥保护系统。
背景技术
在现有技术当中,利用电脑系统、云端服务器及有线或无线网络通信等科技来进行数据传输,已有许多更新或更快的技术持续开发。在数据传送的过程当中,如何对数据文件进行加解密来防止内容外泄,或是进行数字签章来验证数据正确性等,均具备相当的重要性。这些操作都必须经由金钥密码运算来执行,由此可见,金钥密码的产生、存储及使用等过程上的安全性,显得格外重要。
在金钥密码系统当中,由于各种金钥或是签章都是源于密钥(Private Key),因此在整个安全系统或环境中,对于密钥的保护尤其重要。一旦密钥遭到破解或窃取,有心人士只要依据各种金钥的演算法,即可计算出各种金钥密码,进而破坏对于数据的防护及保全。现有的保护机制上,例如金融产业会设置独立的硬件装置来提供安全的使用环境,然而,这样的环境在使用上较不方便,也不容易整合至一般装置上,实际使用上较为困难。
综观前所述,已知的金钥密码在保护机制上仍然具有相当的缺陷,因此,本发明通过设计一种密钥保护方法及密钥保护系统,针对现有技术的缺失加以改善,确保实际操作时金钥密码能受到有效的保护,进而增进产业上的实施利用。
发明内容
有鉴于上述已知技艺的问题,本发明的目的就是在提供一种密钥保护方法及密钥保护系统,使其能以软件结合硬件的方式在安全的环境下进行金钥运算,避免密钥被窃取或密钥运算系统被置换的问题。
根据本发明的一目的,提出一种密钥保护方法,其包含以下步骤:在存储器中设置只可执行存储器(Execute Only Memory,XOM)空间及单次编程(One Time Programming,OTP)空间,只可执行存储器空间存储多个执行程序码;通过编码器将密钥(Private Key)嵌入到多个执行程序码当中,各多个执行程序码分别包含执行指令及密钥编码;通过烧录器将多个执行程序码烧录于只可执行存储器空间;于单次编程空间中存储密钥的密钥哈希(Hash)值;以及通过处理器执行密钥产生指令,执行多个执行程序码,于只可执行存储器空间中形成密钥,并通过密钥哈希值验证密钥的正确性。
较佳地,密钥保护方法可进一步包含以下步骤:通过处理器于只可执行存储器空间执行金钥签章函数,金钥签章函数执行密钥产生指令以呼叫密钥;以及将密钥搭配签章演算法对签章数据进行签章。
较佳地,签章数据可包含签章数据哈希值,密钥搭配椭圆曲线数字签章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA)对签章数据哈希值进行签章。
较佳地,密钥保护方法可进一步包含以下步骤:于只可执行存储器空间执行公开金钥产生函数,公开金钥产生函数执行密钥产生指令以呼叫密钥;以及将密钥搭配密钥演算法产生公开金钥(Public Key)。
较佳地,公开金钥产生函数可包含由应用程序接口(Application ProgramInterface,API)呼叫或由程序码执行指令来提取公开金钥。
较佳地,密钥保护方法可进一步包含以下步骤:于只可执行存储器空间执行共享金钥计算函数,共享金钥计算函数执行密钥产生指令以呼叫密钥;以及将密钥搭配密钥演算法产生共享金钥(Share Key)。
较佳地,共享金钥计算函数可包含由应用程序接口呼叫或由程序码执行指令来提取公开金钥。
根据本发明的另一目的,提出一种密钥保护系统,其包含存储器以及处理器。其中存储器包含只可执行存储器空间以及单次编程空间,只可执行存储器空间存储多个执行程序码,将密钥嵌入多个执行程序码,使各多个执行程序码分别包含执行指令及密钥编码,单次编程空间中存储密钥的密钥哈希值。处理器是连接于存储器,执行密钥产生指令,于只可执行存储器空间中执行多个执行程序码以产生密钥,并通过密钥哈希值验证密钥的正确性。
较佳地,密钥保护系统可进一步包含编码器及烧录器,连接于存储器,编码器将密钥嵌入到多个执行程序码当中,烧录器将多个执行程序码烧录于只可执行存储器空间。
较佳地,只可执行存储器空间可存储金钥签章函数,由处理器执行金钥签章函数,执行密钥产生指令以呼叫密钥,且搭配签章演算法对签章数据进行签章。
较佳地,只可执行存储器空间可存储公开金钥产生函数,由处理器执行公开金钥产生函数,执行密钥产生指令以呼叫密钥,且搭配密钥演算法产生公开金钥。
较佳地,只可执行存储器空间可存储共享金钥计算函数,由处理器执行共享金钥计算函数,执行密钥产生指令以呼叫密钥,且搭配密钥演算法产生共享金钥。
较佳地,只可执行存储器空间可存储共享金钥计算函数,由处理器执行共享金钥计算函数,执行密钥产生指令以呼叫密钥,且搭配加解密演算法使用密钥对数据进行加密或解密运算。
承上所述,依本发明的密钥保护方法及密钥保护系统,其可具有一个或多个下述优点:
(1)此密钥保护方法及密钥保护系统可将密钥嵌入于执行程序码当中,通过只可执行存储器空间当中仅能执行程序,无法读取数据的特性,防止密钥在使用、存储或毁灭的过程中遭到窃取,提升密钥的安全性。
(2)此密钥保护方法及密钥保护系统可将密钥哈希值存储于单次编程空间,通过此空间无法修改的特性,由唯一对应的密钥哈希值验证密钥未被窜改,避免密钥运算系统遭到置换,提升密钥的正确性。
(3)此密钥保护方法及密钥保护系统可于只可执行存储器空间当中执行数据签章、产生公开密钥及计算共享金钥等功能函数,通过该存储器空间无法读取的特性,确保各种金钥的隐密性。
附图说明
图1为本发明实施例的密钥保护方法的流程图。
图2为本发明实施例的密钥签章方法的流程图。
图3为本发明实施例的公开金钥产生方法的流程图。
图4为本发明实施例的共享金钥计算方法的流程图。
图5为本发明实施例的密钥保护系统的示意图。
附图标号
1:密钥保护系统
10:存储器
11:只可执行存储器空间
12:单次编程空间
20:处理器
30:编码器
40:烧录器
90:密钥
91:密钥哈希值
92:公开金钥产生函数
93:金钥签章函数
94:共享金钥计算函数
S01-S05、S10-S12、S20-S22、S30-S32:步骤
具体实施方式
为利贵审查员了解本发明的技术特征、内容与优点及其所能达成的功效,兹将本发明配合附图,并以实施例的表达形式详细说明如下,而其中所使用的图式,其主旨仅为示意及辅助说明书之用,未必为本发明实施后的真实比例与精准配置,故不应就所附的图式的比例与配置关系解读、局限本发明于实际实施上的权利范围,合先叙明。
请参阅图1,图1为本发明实施例的密钥保护方法的流程图如图所示,其包含以下步骤(S01-S05):
步骤S01:在存储器中设置只可执行存储器(Execute Only Memory,XOM)空间及单次编程(One Time Programming,OTP)空间。在微控制器或微控制芯片当中,为了保护一些关键程序,避免遭到网络攻击或黑客入侵,在存储器(如闪存)当中会界定一个只可执行存储器空间,在这空间当中仅能执行当中存储的多个执行程序码,并无法读取存储空间内的信息。另外,存储器当中也会界定一个单次编程空间,在这空间当中仅能进行单次编程,亦即当数据写入至存储器后即无法在进行擦除、改写等修改程序,维持存储数据不可变更的特性。例如微控制芯片在生产制造时,可将产品或工艺的序号,存储于此单次编程空间,以对应于个别芯片。这里区分只可执行存储器空间及单次编程空间是为了区分不同存储器特性,在另一实施例当中,存储器内也可包含同时具备只可执行存储器及单次编程的空间,作为保护密钥的安全环境。
步骤S02:通过编码器将密钥(Private Key)嵌入到多个执行程序码当中。在上述步骤中界定了只可执行存储器空间,由于在此空间中仅能执行多个执行程序码,为了保护密钥,必须将密钥嵌入于多个执行程序码当中,以便将密钥存放在此只可执行存储器空间。在本实施例当中,可利用原本微控制器内所具备的指令集程序,将密钥嵌入指令程序码当中。由于密钥的密码长度大多大于指令集程序的编码长度,因此密钥可经拆解后通过编码器编写至多个执行程序码当中,这些多个执行程序码分别包含执行指令及密钥编码,密钥编码即为原本密钥密码拆解后的部分密码。
步骤S03:通过烧录器将多个执行程序码烧录于只可执行存储器空间。前述步骤产生的多个执行程序码,则可通过烧录器或烧录装置将多个执行程序码烧录于只可执行存储器空间,一旦这些执行程序码存储于只可执行存储器空间当中,就仅能执行指令程序,无法读取程序内容。换言之,嵌入于执行程序码的密钥将无法从只可执行存储器空间被读取出来,仅能利用执行程序在只可执行存储器的空间当中运用。
步骤S04:于单次编程空间中存储密钥的密钥哈希(Hash)值。除了在只可执行存储器空间中存放包含密钥的多个执行程序码,为了验证密钥的正确性,将密钥对应的密钥哈希值,即对应密钥的唯一特征值密码,存储于单次编程空间当中。由于单次编程空间内存储的数据不可变更的特性,确保此密钥哈希值保持不变,并以此来对应于密钥。
步骤S05:通过处理器执行密钥产生指令,执行多个执行程序码,于只可执行存储器空间中形成密钥,并通过密钥哈希值验证密钥的正确性。由于密钥已嵌入于只可执行存储器空间的执行程序码当中,若需要使用到密钥,无论是进行签章、产生公开金钥或计算共享金钥,都仅能由处理器在只可执行存储器空间中执行对应密钥的多个执行程序码,在这些执行程序码依据设定顺序执行过后,提取密钥来进行对应的金钥运算,然而,为确保只可执行存储器空间当中的多个执行程序码未遭到置换,产生的密钥会计算其密钥特征值,并与单次编程空间中存储的密钥特征值进行比对,若一致则确认密钥的正确性;若不一致,则判断执行程序码遭到窜改,无法通过产生的密钥进行后续金钥运算,并产生警示信息提醒进一步检验存储器是否遭到入侵破坏。
上述步骤S01至步骤S05是本实施例密钥保护方法的各个流程,但本揭露不局限于此流程顺序,例如步骤S02与步骤S03当中存储密钥的程序与步骤S04当中存储密钥哈希值的顺序可同时进行。此外,当存储器空间同时包含仅可执行存储器空间与单次编程空间的特性时,密钥所嵌入的多个执行程序码及密钥哈希值可存储于相同空间当中。当在安全的环境下产生密钥后,可以接着在此安全环境下进行金钥运算的程序,相关流程将于以下实施例说明。
请参阅图2,图2为本发明实施例的密钥签章方法的流程图。如图所示,其包含以下步骤(S10-S12):
步骤S10:步骤S01至步骤S05。密钥签章方法的前处理流程与前述实施例的密钥保护方法流程所揭露的步骤S01至步骤S05相同,因此重复的内容参考前述实施例而不再重述。
步骤S11:通过处理器于只可执行存储器空间执行金钥签章函数,金钥签章函数执行密钥产生指令以呼叫密钥。由于前处理流程已建立了只可执行存储器空间及单次编程空间,当需要使用密钥对数据进行数字签章时,由处理器执行金钥签章函数,此金钥签章函数可包含密钥产生指令,通过此密钥产生指令呼叫对应密钥嵌入的多个执行程序码,在依序执行这些执行程序码后,产生密钥,并与密钥哈希值验证密钥的正确性,取得欲进行签章的密钥。此程序同样是在只可执行存储器空间内执行,因此虽描述取得密钥,但其仅能作为金钥签章函数执行之用,无法以其他程序读取密钥内容。
步骤S12:将密钥搭配签章演算法对签章数据进行签章。金钥签章函数执行指令取得密钥后,将密钥通过设定的签章演算法对签章数据进行签章,在本实施例当中,签章演算法可采用椭圆曲线数字签章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA),但本实施例不局限于此。
进一步简述椭圆曲线数字签章演算法,其主要是通过椭圆曲线密码(EllipticCurve Code,ECC)来对基于离散对数问题(Discrete Logarithm Problem,DLP)的密码系统的模拟,将群元素由数域中的元素数换为有限域上的椭圆曲线上的点。椭圆曲线密码体制的安全性是基于椭圆曲线离散对数问题的难解性,椭圆曲线离散对数问题远难于离散对数问题,椭圆曲线密码系统的单位位强度要远高于传统的离散对数系统。因此在使用较短的金钥的情况下,椭圆曲线密码可以达到于离散对数系统相同的安全级别。椭圆曲线数字签章演算法签章的过程包含选择椭圆曲线Ep(a,b)及基点G;选择密钥k(k<n,n为G的阶),并以基点G计算公开金钥K=kG;产生一个随机整数r(r<n),计算点R=rG;将原数据和点R的坐标值x,y作为引数,计算SHA1作为签章数据哈希值hash,即hash=SHA1(原数据,x,y);计算s≡r-Hash*k(mod n);以r和s作为签名值。在进行签章后,相对的验证的过程则包含:接受方在收到信息(m)和签名值(r,s);计算:sG+H(m)P=(x1,y1),r1≡x1 mod p;验证等式:r1≡rmod p;如果等式成立,则接受签章,若不成立则判断签章无效。由上述签章流程可见,椭圆曲线数字签章演算法是利用密钥进行签章,并由密钥生成公开金钥,由公开金钥来验证密钥签章,以下将说明公开金钥产生方法。
请参阅图3,图3为本发明实施例的公开金钥产生方法的流程图。如图所示,其包含以下步骤(S20-S22):
步骤S20:步骤S01至步骤S05。公开金钥产生方法的前处理流程与前述实施例的密钥保护方法流程所揭露的步骤S01至步骤S05相同,因此重复的内容参考前述实施例而不再重述。
步骤S21:于只可执行存储器空间执行公开金钥产生函数,公开金钥产生函数执行密钥产生指令以呼叫密钥。由处理器执行公开金钥产生函数,此公开金钥产生函数可包含密钥产生指令,通过此密钥产生指令呼叫对应密钥嵌入的多个执行程序码,在依序执行这些执行程序码后,产生密钥,并与密钥哈希值验证密钥的正确性,取得密钥。此程序同样是在只可执行存储器空间内执行,取得的密钥仅能作为公开金钥产生函数执行之用,无法以其他程序读取密钥内容。
步骤S22:将密钥搭配密钥演算法产生公开金钥。公开金钥产生函数执行指令取得密钥后,将密钥搭配设定的密钥演算法产生公开金钥,在本实施例当中,密钥演算法可采用椭圆曲线数字签章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA),但本实施例不局限于此。产生公开金钥的过程同样是在只可执行存储器空间内执行,但公开金钥产生函数可包含应用程序接口或提取的程序码,通过应用程序接口呼叫或由程序码执行指令来提取前述运算所产生的公开金钥。公开金钥可在接收到签章的数据后,对其中的数字签章进行验证,以确认传送者的身分或数据来源的正确性。
请参阅图4,图4为本发明实施例的共享金钥计算方法的流程图。如图所示,其包含以下步骤(S30-S32):
步骤S30:步骤S01至步骤S05。共享金钥计算方法的前处理流程与前述实施例的密钥保护方法流程所揭露的步骤S01至步骤S05相同,因此重复的内容参考前述实施例而不再重述。
步骤S31:于只可执行存储器空间执行共享金钥计算函数,共享金钥计算函数执行密钥产生指令以呼叫密钥。由处理器执行共享金钥计算函数,此共享金钥计算函数可包含密钥产生指令,通过此密钥产生指令呼叫对应密钥嵌入的多个执行程序码,在依序执行这些执行程序码后,产生密钥,并与密钥哈希值验证密钥的正确性,取得密钥。此程序同样是在只可执行存储器空间内执行,取得的密钥仅能作为共享金钥计算函数执行之用,无法以其他程序读取密钥内容。
步骤S32:将密钥搭配密钥演算法产生共享金钥。共享金钥计算函数执行指令取得密钥后,将密钥搭配设定的密钥演算法计算共享金钥,在本实施例当中,密钥演算法可采用椭圆曲线数字签章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA),但本实施例不局限于此。计算共享金钥的过程同样是在只可执行存储器空间内执行,但共享金钥计算函数可包含应用程序接口或提取的程序码,通过应用程序接口呼叫或由程序码执行指令来提取前述计算所产生的共享金钥。共享金钥可同时提供给数据传送端与接收端,让传送端利用共享金钥对数据进行加密,使加密过的数据即便在传送过程中遭到拦截或窃取也无法开启或检视数据的原始内容。只有同样有共享金钥的接收端,能对数据解密而还原原始数据,藉此保障数据在传送过程中的安全性。
除此之外,共享金钥计算函数还可在执行密钥产生指令以呼叫密钥后,搭配加解密演算法使用密钥对数据进行加密或解密运算。在本实施例当中,加解密演算法可采用进阶加密标准(Advanced Encryption Standard,AES)演算法,但本实施例不局限于此。
请参阅图5,图5为本发明实施例的密钥保护系统的示意图。如图所示,密钥保护系统1包含存储器10及处理器20,其中存储器10包含只可执行存储器空间11以及单次编程空间12,只可执行存储器空间11仅能执行当中的执行程序码,无法读取其中的程序码或数据内容。单次编程空间12则存储无法擦除的数据,维持数据不可变更的特性。在这样的存储器10环境中,为了保障密钥90不遭到窃取,将密钥90嵌入多个执行程序码后存储在只可执行存储器空间11,对应于密钥90的密钥哈希值则存储在单次编程空间12。这里所述的多个执行程序码可通过连接于存储器10的编码器30进行编程,使得执行程序码包含指令集中的执行指令及拆解后的密钥编码。这些执行程序码再通过与存储器10连接的烧录器40烧录在只可执行存储器空间11当中。
处理器20也同样连接于存储器10,当执行密钥产生指令时,于只可执行存储器空间11中执行多个执行程序码以产生密钥90。此时,为了确保密钥的正确性,防止整个只可执行存储器空间11当中的执行程序码遭到置换,通过单次编程空间12当中存储的密钥哈希值91验证密钥90的正确性。验证的方式包含计算取得密钥90的哈希值,再与存储的密钥哈希值91比对,若一致则确认密钥90的正确性,若不一致则通知系统密钥90不符,需进一步检视密钥90的安全防护是否出现问题。
此外,除了取得密钥90外,只可执行存储器空间11还存储了公开金钥产生函数92、金钥签章函数93以及共享金钥计算函数94。其中,处理器20可执行公开金钥产生函数92,执行密钥产生指令以呼叫密钥90,且搭配密钥演算法产生公开金钥。处理器20也能执行金钥签章函数93,执行密钥产生指令以呼叫密钥90,且搭配签章演算法对签章数据进行签章。最后,处理器执行共享金钥计算函数94,执行密钥产生指令以呼叫密钥90,且搭配密钥演算法产生共享金钥。此处的密钥演算法包含椭圆曲线数字签章演算法(ECDSA)。
另外,只可执行存储器空间11可存储共享金钥计算函数94,由处理器20执行共享金钥计算函数94,执行密钥产生指令以呼叫密钥90,且搭配加解密演算法使用密钥90对数据进行加密或解密运算。在本实施例当中,加解密演算法可采用进阶加密标准(AdvancedEncryption Standard,AES)演算法,但本实施例不局限于此。
对于整个密钥保护系统1而言,系统可以设置应用程序接口来取得上述的公开金钥或共享金钥,也可通过特定程序码来提取公开金钥或共享金钥。由于只可执行存储器空间11的特性,在其中执行程序或是执行功能函数内的指令,并不会显露出实际的密钥密码,进而保障了使用上的安全性。密钥哈希值91也因为存储在单次编程空间而确保其不会改变的特性,并依此验证密钥90的正确性,增加保护层级。最后,这样的硬件搭配软件的保护手段,可应用在实际的存储器装置当中,解决了需要设置特定硬件装置来保护密钥的问题,有效提升了使用上的便利性。
以上所述仅为举例性,而非为限制性者。任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应包含于权利要求中。
Claims (10)
1.一种密钥保护方法,其特征在于,其包含以下步骤:
在一存储器中设置一只可执行存储器空间及一单次编程空间,该只可执行存储器空间存储多个执行程序码;
通过一编码器将一密钥嵌入到该多个执行程序码当中,各该多个执行程序码分别包含一执行指令及一密钥编码;
通过一烧录器将该多个执行程序码烧录于该只可执行存储器空间;
于该单次编程空间中存储该密钥的一密钥哈希值;以及
通过一处理器执行一密钥产生指令,执行该多个执行程序码,于该只可执行存储器空间中形成该密钥,并通过该密钥哈希值验证该密钥的正确性。
2.如权利要求1所述的密钥保护方法,其特征在于,进一步包含以下步骤:
通过该处理器于该只可执行存储器空间执行一金钥签章函数,该金钥签章函数执行该密钥产生指令以呼叫该密钥;以及
将该密钥搭配一签章演算法对一签章数据进行签章。
3.如权利要求2所述的密钥保护方法,其特征在于,该签章数据包含一签章数据哈希值,该密钥搭配一椭圆曲线数字签章演算法对该签章数据哈希值进行签章。
4.如权利要求1所述的密钥保护方法,其特征在于,进一步包含以下步骤:
于该只可执行存储器空间执行一公开金钥产生函数,该公开金钥产生函数执行该密钥产生指令以呼叫该密钥;
将该密钥搭配一密钥演算法产生一公开金钥;以及
该公开金钥产生函数包含由应用程序接口呼叫或由程序码执行指令来提取该公开金钥。
5.一种密钥保护系统,其特征在于,其包含:
一存储器,包含:
一只可执行存储器空间,该只可执行存储器空间存储多个执行程序码,将一密钥嵌入该多个执行程序码,使各该多个执行程序码分别包含一执行指令及一密钥编码;以及
一单次编程空间,该单次编程空间中存储该密钥的一密钥哈希值;以及
一处理器,连接于该存储器,执行一密钥产生指令,于该只可执行存储器空间中执行该多个执行程序码以产生该密钥,并通过该密钥哈希值验证该密钥的正确性。
6.如权利要求5所述的密钥保护系统,其特征在于,进一步包含一编码器及一烧录器,连接于该存储器,该编码器将该密钥嵌入到该多个执行程序码当中,该烧录器将该多个执行程序码烧录于该只可执行存储器空间。
7.如权利要求5所述的密钥保护系统,其特征在于,该只可执行存储器空间存储一金钥签章函数,由该处理器执行该金钥签章函数,执行该密钥产生指令以呼叫该密钥,且搭配一签章演算法对一签章数据进行签章。
8.如权利要求5所述的密钥保护系统,其特征在于,该只可执行存储器空间存储一公开金钥产生函数,由该处理器执行该公开金钥产生函数,执行该密钥产生指令以呼叫该密钥,且搭配一密钥演算法产生一公开金钥。
9.如权利要求5所述的密钥保护系统,其特征在于,该只可执行存储器空间存储一共享金钥计算函数,由该处理器执行该共享金钥计算函数,执行该密钥产生指令以呼叫该密钥,且搭配一密钥演算法产生一共享金钥。
10.如权利要求5所述的密钥保护系统,其特征在于,该只可执行存储器空间存储一共享金钥计算函数,由该处理器执行该共享金钥计算函数,执行该密钥产生指令以呼叫该密钥,且搭配一加解密演算法使用该密钥对数据进行加密或解密运算。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107147605A TWI774902B (zh) | 2018-12-28 | 2018-12-28 | 密鑰保護方法及密鑰保護系統 |
TW107147605 | 2018-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385083A true CN111385083A (zh) | 2020-07-07 |
CN111385083B CN111385083B (zh) | 2023-03-10 |
Family
ID=71218517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911373297.5A Active CN111385083B (zh) | 2018-12-28 | 2019-12-27 | 密钥保护方法及密钥保护系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111385083B (zh) |
TW (1) | TWI774902B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112448806A (zh) * | 2020-09-29 | 2021-03-05 | 尚承科技股份有限公司 | 电子资讯安全传送系统与方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050033970A1 (en) * | 2003-08-05 | 2005-02-10 | Dell Products L. P. | System and method for securing access to memory modules |
CN1841255A (zh) * | 2005-03-30 | 2006-10-04 | 侯方勇 | 保护数据存储的机密性与完整性的方法和装置 |
CN102868528A (zh) * | 2003-10-28 | 2013-01-09 | 塞尔蒂卡姆公司 | 一种公开密钥的可验证生成的方法和设备 |
CN103377328A (zh) * | 2012-04-30 | 2013-10-30 | 通用电气公司 | 用于控制工业控制系统的文件执行的系统和方法 |
CN103577745A (zh) * | 2012-07-27 | 2014-02-12 | 通用汽车环球科技运作有限责任公司 | 辅助处理器的安全烧录编程 |
US8868927B1 (en) * | 2012-08-14 | 2014-10-21 | Google Inc. | Method and apparatus for secure data input and output |
CN104704501A (zh) * | 2012-08-13 | 2015-06-10 | 西门子公司 | 在计算机系统中安全生成和存储密码 |
US20150363775A1 (en) * | 2013-01-10 | 2015-12-17 | Tendyron Corporation | Key protection method and system |
CN106656476A (zh) * | 2017-01-18 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种密码保护方法及装置 |
CN106941404A (zh) * | 2017-04-25 | 2017-07-11 | 中国联合网络通信集团有限公司 | 密钥保护方法及装置 |
CN108959978A (zh) * | 2018-06-28 | 2018-12-07 | 北京海泰方圆科技股份有限公司 | 设备中密钥的生成与获取方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH693295A5 (fr) * | 1999-09-24 | 2003-05-15 | Cardintell Know How Sa | Procédé permettant de sécuriser des données lors detransactions et ensemble pour sa mise enoeuvre. |
US20070162964A1 (en) * | 2006-01-12 | 2007-07-12 | Wang Liang-Yun | Embedded system insuring security and integrity, and method of increasing security thereof |
CN102194497B (zh) * | 2010-03-10 | 2013-09-18 | 方可成 | 应用硬设备的光盘防转录方法 |
-
2018
- 2018-12-28 TW TW107147605A patent/TWI774902B/zh active
-
2019
- 2019-12-27 CN CN201911373297.5A patent/CN111385083B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050033970A1 (en) * | 2003-08-05 | 2005-02-10 | Dell Products L. P. | System and method for securing access to memory modules |
CN102868528A (zh) * | 2003-10-28 | 2013-01-09 | 塞尔蒂卡姆公司 | 一种公开密钥的可验证生成的方法和设备 |
CN1841255A (zh) * | 2005-03-30 | 2006-10-04 | 侯方勇 | 保护数据存储的机密性与完整性的方法和装置 |
CN103377328A (zh) * | 2012-04-30 | 2013-10-30 | 通用电气公司 | 用于控制工业控制系统的文件执行的系统和方法 |
CN103577745A (zh) * | 2012-07-27 | 2014-02-12 | 通用汽车环球科技运作有限责任公司 | 辅助处理器的安全烧录编程 |
CN104704501A (zh) * | 2012-08-13 | 2015-06-10 | 西门子公司 | 在计算机系统中安全生成和存储密码 |
US8868927B1 (en) * | 2012-08-14 | 2014-10-21 | Google Inc. | Method and apparatus for secure data input and output |
US20150363775A1 (en) * | 2013-01-10 | 2015-12-17 | Tendyron Corporation | Key protection method and system |
CN106656476A (zh) * | 2017-01-18 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种密码保护方法及装置 |
CN106941404A (zh) * | 2017-04-25 | 2017-07-11 | 中国联合网络通信集团有限公司 | 密钥保护方法及装置 |
CN108959978A (zh) * | 2018-06-28 | 2018-12-07 | 北京海泰方圆科技股份有限公司 | 设备中密钥的生成与获取方法及装置 |
Non-Patent Citations (2)
Title |
---|
殷爱菡: "基于ID与ECDSA的密钥分配协议", 《计算机工程与设计》 * |
罗伟雄: "基于.NET Framework的增强型加密服务架构", 《软件》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112448806A (zh) * | 2020-09-29 | 2021-03-05 | 尚承科技股份有限公司 | 电子资讯安全传送系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI774902B (zh) | 2022-08-21 |
TW202027450A (zh) | 2020-07-16 |
CN111385083B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI717907B (zh) | 用於安全記憶體的方法與系統 | |
US7127067B1 (en) | Secure patch system | |
US20180204004A1 (en) | Authentication method and apparatus for reinforced software | |
CN104539432A (zh) | 一种对文件进行签名的方法和装置 | |
CN112469036B (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
CN105320535A (zh) | 一种安装包的校验方法、客户端、服务器及系统 | |
CN105468940A (zh) | 软件保护方法及装置 | |
CN108270574B (zh) | 一种白名单库文件的安全加载方法及装置 | |
CN111614467B (zh) | 系统后门防御方法、装置、计算机设备和存储介质 | |
CN111385083B (zh) | 密钥保护方法及密钥保护系统 | |
CN117436043A (zh) | 待执行文件的来源验证方法、设备以及可读存储介质 | |
CN109784072B (zh) | 一种安全文件管理方法和系统 | |
JP6423100B2 (ja) | 暗号のシステム及び方法 | |
US20110126085A1 (en) | Method of signature verification | |
CN108242997B (zh) | 安全通信的方法与设备 | |
CN102708069A (zh) | 安卓系统中内存数据的保护方法 | |
CN107343276B (zh) | 一种终端的sim卡锁数据的保护方法及系统 | |
JP2022094333A (ja) | 拡張鍵ラッピングのコンピュータ実装方法、プログラム命令を実装したコンピュータ可読記憶媒体を含むコンピュータプログラム製品およびシステム(鍵ブロック拡張ラッピング) | |
US10225240B2 (en) | Method to protect a set of sensitive data associated to public data in a secured container | |
CN112165396A (zh) | 一种安全固件更新的方法 | |
US10020944B2 (en) | Device and method for discontinuous hashing of digital data | |
CN111030819A (zh) | 一种基于加解密算法的验真方法、系统、终端及存储介质 | |
CN110298145A (zh) | 一种基于公开密钥密码算法的固件程序装载保护方法 | |
CN100546242C (zh) | 一种超级密码的生成和认证方法 | |
US11799662B2 (en) | Efficient data item authentication |
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 |