CN101174942A - 一种实现密钥保护的方法及系统 - Google Patents
一种实现密钥保护的方法及系统 Download PDFInfo
- Publication number
- CN101174942A CN101174942A CNA2006101376385A CN200610137638A CN101174942A CN 101174942 A CN101174942 A CN 101174942A CN A2006101376385 A CNA2006101376385 A CN A2006101376385A CN 200610137638 A CN200610137638 A CN 200610137638A CN 101174942 A CN101174942 A CN 101174942A
- Authority
- CN
- China
- Prior art keywords
- key
- security engine
- deciphering
- safe
- safety component
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种实现密钥保护的方法,该方法包括以下步骤:A.在安全部件内部设置根密钥;B.在安全部件内部,使用根密钥对密钥加密。本发明还公开了一种实现密钥保护的系统,该系统中的安全部件包括:根密钥模块和密钥处理安全引擎,密钥处理安全引擎中包括一加密模块。根密钥模块中存储预先设置的根密钥,密钥处理安全引擎在加密模块中使用根密钥对密钥加密。应用本发明,使得所有密钥在读出安全部件前都经过安全部件中根密钥的加密,由于根密钥无法被安全部件外的任何部件读出,保证了由根密钥加密的密钥的安全性。
Description
技术领域
本发明涉及通信设备的安全技术,特别涉及通信设备中实现密钥保护的方法及系统。
背景技术
为了保证通信设备之间数据传输的安全性,通常采用现代加密体系中的常规加密过程来对传输的数据进行加密和解密。换言之,预先确定加密算法,并在通信系统的存储器中保存所使用的密钥。在加密解密过程开始时,首先确定密钥在存储器中的存储位置,并从该存储位置处读取密钥,然后再按照该加密算法对存储器中的数据加密和解密。目前存在多种加密算法,包括:数据加密标准(Data Encryption Standard,DES)算法、3倍数据加密标准(Triple DataEncryption Standard,3DES)算法、高级加密标准(Advanced Encryption Standard,AES)算法、信息-摘要(Message-Digest 5,MD5)算法和安全哈希算法(SecureHash Algorithm,SHA)等等。
为了防止因密钥泄漏而导致数据传输安全性降低的情况,目前通过对密钥在通信设备存储器中的存储位置进行保密,来实现密钥保护。但是这种密钥保护方法的安全性较低。一旦密钥存储位置被泄漏,所有相同型号的通信设备中密钥的存放位置都会被破解,那么使用该密钥加密的数据安全性就会受到威胁。
发明内容
有鉴于此,本发明实施例的第一个主要目的在于提供一种实现密钥保护的方法,该方法可以保证通信设备中密钥的安全性。
本发明实施例的第二个主要目的在于提供一种实现密钥保护的系统,该系统可以保证通信设备中密钥的安全性。
根据上述第一个主要目的,本发明实施例提供一种实现密钥保护的方法,该方法包括以下步骤:
A、在安全部件内部设置根密钥;
B、在安全部件内部,使用根密钥对密钥加密。
根据上述第二个主要目的,本发明实施例提供一种实现密钥保护的系统,该系统包括安全部件,安全部件包括根密钥模块和密钥处理安全引擎;
所述根密钥模块,用于存储根密钥;
所述密钥处理安全引擎,包括一加密模块,用于使用所述根密钥模块中存储的根密钥对密钥加密。
由上述技术方案可见,本发明实施例提供的实现密钥保护的方法,在安全部件内部设置根密钥,并在安全部件内部,使用所述根密钥对密钥加密,由于根密钥设置在安全部件内部,对密钥的加密过程又在安全部件内部进行,保证了被根密钥加密的密钥的安全性。本发明实施例提供的实现密钥保护的系统,系统中的安全部件包括根密钥模块和密钥处理安全引擎,密钥处理安全引擎使用根密钥模块中存储的根密钥对密钥加密。由于根密钥模块与安全部件外部没用总线连接,无法被安全部件外部的任何部件读出,加密过程又在安全部件内部进行,由此保证了被根密钥加密的密钥的安全性。
附图说明
图1为本发明实施例一中实现密钥保护的系统的结构示意图;
图2为本发明基于实施例一中系统的密钥加密方法流程图;
图3为本发明基于实施例一中系统的加密后密钥的解密使用方法流程图;
图4为本发明实施例二中实现密钥保护的系统的结构示意图;
图5为本发明基于实施例二中系统的密钥加密方法流程图;
图6为本发明基于实施例二中系统的加密后密钥的解密使用方法流程图。
具体实施方式
为使本发明实施例的发明目的、技术方案更加清楚明白,下面结合附图对本发明实施例作进一步详细的说明。
本发明实施例提供一种用于密钥保护的方法,在安全部件中设置根密钥,在安全部件内部使用根密钥对密钥加密。所述安全部件是一个设置的模块,存储在安全部件内部的根密钥无法被安全部件外部读出,在安全部件内部使用该根密钥对密钥加密,可以保证密钥的安全性。该方法还可以进一步包括:在安全部件内部,使用根密钥对加密后的密钥解密;在安全部件内部,使用解密后的密钥对数据进行加密或解密。数据加密或解密也在安全部件内部完成,保证了解密后的密钥的使用范围只在安全部件内部,进而保证了数据加密或解密的便利性和密钥的安全性。
本发明实施例提供一种用于密钥保护的系统。该系统包括安全部件,安全部件中包括存储有根密钥的根密钥模块,以及在加密模块中使用根密钥对密钥加密的密钥处理安全引擎。安全部件还可以进一步包括数据处理安全引擎、安全密钥控制器和随机数产生器中的任意一个或几个。系统还可以进一步包括一个控制模块。
下面对本发明实施例用于密钥保护的方法及系统进行详细说明。
实施例一
本实施例中,通信设备可以为手机。
图1为本发明实施例一中实现密钥保护的系统的结构示意图。
该系统中的安全部件101,包括密钥处理安全引擎105和根密钥模块103,其中密钥处理安全引擎105包括一个加密模块,还可以进一步包括一个解密模块。安全部件101可以进一步包括安全密钥控制器102、随机数产生器106和数据处理安全引擎104。系统中可以进一步包括控制模块即CPU111。
数据处理安全引擎104中可以采用DES算法,密钥处理安全引擎105中可以采用AES算法。安全部件101通过CPU总线与CPU 111连接。
CPU 111与安全密钥控制器102连接,用于将系统外部输入的未加密的密钥送入安全密钥控制器102。当安全部件101需要使用系统外部的加密后的密钥时,CPU 111将系统外部的加密后的密钥送入安全密钥控制器102。CPU 111向安全密钥控制器102发送密钥读出的控制命令,并从安全密钥控制器102中读出加密后的密钥,将此加密后的密钥送入系统外部存储器存储或送入其他设备使用。CPU 111向安全密钥控制器102发送数据加密或解密控制命令和待处理数据。CPU 111向安全密钥控制器102发送数据读出控制命令,从安全密钥控制器102中读出加密或解密后的数据,送入系统外部存储器存储或送入其他设备使用。CPU 111向安全密钥控制器102发送产生密钥的控制命令。
根密钥模块103与安全密钥控制器102连接,用于存储设置的根密钥,安全密钥控制器102将存储的根密钥从根密钥模块103中读出。通常情况下,存储在根密钥模块103中的根密钥有两种设置方法。第一种可以采用硬连线的方式,即在芯片设计时就在根密钥模块103中通过硬件连线方式或只读存储器(ROM)方式设置一个或多个根密钥,芯片生产之后就无法改变。第二种可以在芯片生产过程中采用闪存(FLASH)或者可擦写可编程只读存储器(EPROM)技术等工艺,或者加入一些控制电路,这样芯片生产出来之后,根密钥模块103具备只能进行一次编程的特性。采用编程的方式,对根密钥模块103进行一次编程设置一个或多个根密钥,一次编程完成之后,根密钥模块103将只能读出不能改写,这种方式产生的根密钥是一次性可编程(One Time Program,OTP)密钥。本实施例假设,根密钥模块103中存储的是采用硬件连线方式设置的根密钥。
安全密钥控制器102与CPU 111、根密钥模块103、密钥处理安全引擎105、数据处理安全引擎104和随机数产生器106连接。安全密钥控制器102获得未加密的密钥有两种方式,当安全密钥控制器102接收到CPU 111送入的产生密钥的控制命令时,控制随机数产生器106产生密钥,并从随机数产生器106中读出产生的密钥,除了上述方式外,安全密钥控制器102也可以直接接收CPU 111送入的由系统外部输入的未加密的密钥。当安全密钥控制器102接收到CPU 111送入的密钥读出控制命令时,从根密钥模块103中读出根密钥送入密钥处理安全引擎105的加密模块,将产生的密钥或系统外部输入的未加密的密钥送入密钥处理安全引擎105的加密模块,并启动密钥处理安全引擎105在加密模块中对密钥加密,在加密结束后读出加密后的密钥,CPU 111再从安全密钥控制器102中读出该加密后的密钥。当安全密钥控制器102接收到CPU 111送入的数据加密或解密控制命令和待处理数据时,将待处理数据和未加密的密钥、或解密后的密钥、或产生的密钥送入数据处理安全引擎104,启动数据处理安全引擎104对数据加密或解密。当安全密钥控制器102接收到CPU 111发送的数据读出的控制命令时,从数据处理安全引擎104中读出加密或解密后的数据,CPU 111再从安全密钥控制器102中读出该加密或解密后的数据。当安全密钥控制器102接收到CPU 111送入的加密后的密钥时,从根密钥模块103中读出根密钥并送入密钥处理安全引擎105的解密模块,将加密后的密钥送入密钥处理安全引擎105的解密模块,并启动密钥处理安全引擎105在解密模块中对加密后的密钥进行解密,解密结束后从密钥处理安全引擎105的解密模块中读出解密后的密钥。
随机数产生器106与安全密钥控制器102连接,用于接受安全密钥控制器102的控制产生密钥。安全密钥控制器102从随机数产生器106中读出该产生的密钥。
密钥处理安全引擎105与安全密钥控制器102连接。密钥处理安全引擎105用于接受安全密钥控制器102的控制,在加密模块中使用安全密钥控制器102送入的根密钥对未加密的密钥加密,加密结束后,安全密钥控制器102从密钥处理安全引擎105的加密模块中读出加密后的密钥。密钥处理安全引擎105接受安全密钥控制器102的控制,在解密模块中使用安全密钥控制器102送入的根密钥对加密后的密钥解密,解密结束后,安全密钥控制器102从密钥处理安全引擎105的解密模块中读出解密后的密钥。
数据处理安全引擎104与安全密钥控制器102连接,接受安全密钥控制器102控制,使用安全密钥控制器102送入的未加密的密钥、或随机数产生器106产生的密钥、或密钥处理安全引擎105解密后的密钥对待处理数据加密或解密,加密或解密结束后,安全密钥控制器102从数据处理安全引擎104中读出加密或解密后的数据。
本实施例中,安全部件101中还可以进一步包含一个存储部件108,与安全密钥控制器102连接,用于存储安全密钥控制器102送入的解密后的密钥。当安全部件101需要使用解密后的密钥对数据进行加密或解密时,安全密钥控制器102从存储部件108中读出解密后的密钥,送入数据处理安全引擎104。
以上所述为本发明提供的实现密钥保护的系统的一个较佳实施例,除了该较佳实施例之外,还可以存在其他情况。
本实施例中,存储在根密钥模块103中的根密钥是用硬连线方式设置的根密钥,也可以采用OTP技术实现的根密钥。
本实施例中,在安全部件101内部,安全密钥控制器102直接与除根密钥模块103外的其他部件连接,安全密钥控制器102也可以通过一个内部总线与除根密钥模块103外的其他部件分别进行连接,虽然连接方法变化,但安全部件101内部各部件的连接关系仍然没有改变。在上述连接基础上,进一步,随机数产生器106还可以分别与密钥处理安全引擎105及数据处理安全引擎104直接连接,密钥处理安全引擎105还可以与数据处理安全引擎104直接连接,密钥处理安全引擎105还可以与存储部件108直接连接,数据处理安全引擎与存储部件108也可以直接连接。随机数产生器106产生密钥后,如果需要对该产生的密钥进行加密,随机数产生器106直接将产生的密钥送入密钥处理安全引擎105的加密模块,如果需要使用该产生的密钥对数据加密或解密,随机数产生器106直接将产生的密钥送入数据处理安全引擎104。密钥处理安全引擎105在解密模块中完成对加密后的密钥解密后,可以将解密后的密钥直接送入数据处理安全引擎104使用,也可以先送入存储部件108中存储,当需要使用该解密后的密钥时,由数据处理安全引擎104直接从存储部件108中读取解密后的密钥。
本实施例中,如果需要对数据加密或解密,及读出加密或解密后的数据时,CPU 111需要先将相应控制命令发送至安全密钥控制器102,由安全密钥控制器102控制数据处理安全引擎104进行操作。除了上述方式之外,也可以在对数据加密或解密,及读出加密或解密后数据的操作中,将安全密钥控制器102设置成直通或旁路的模式,即CPU 111可以直接访问数据处理安全引擎104。具体来说,CPU 111向数据处理安全引擎104发送数据加密或解密控制命令和待处理数据,安全密钥控制器102将产生的密钥、或未加密的密钥、或解密后的密钥送入数据处理安全引擎104,数据处理安全引擎104对待处理数据进行加密或解密,在加密或解密完成后,如果需要读出加密或解密后的数据,CPU 111直接访问数据处理安全引擎104,读出加密或解密后的数据。
本实施例中,密钥处理安全引擎和数据处理安全引擎的个数分别设置为一个,也可以设置为一个以上,根据具体需要确定密钥处理安全引擎和数据处理安全引擎使用的算法。
其次,对基于实施例一所述系统的用于密钥保护的方法进行详细描述。基于实施例一所述系统,本发明提供的用于密钥保护的方法,为在安全部件内部,使用根密钥对密钥进行加密的流程,该方法还可以进一步包括在安全部件内部,对加密后的密钥的解密使用流程,其中在安全部件内部使用根密钥对密钥进行加密的流程中,密钥可以由安全部件内部直接产生,也可以由系统外部输入。下面以安全部件内部直接产生密钥为例,说明基于实施例一所述系统的密钥加密方法流程。
参见图2,图2为本发明基于实施例一所述系统的密钥加密方法流程图,该流程包括以下步骤:
步骤201:CPU向安全密钥控制器发送产生密钥的控制命令。
步骤202:安全密钥控制器控制随机数产生器产生密钥。
步骤203:安全密钥控制器从随机数产生器中读出产生的密钥。
在步骤201~步骤203中,CPU向安全密钥控制器发送产生密钥的控制命令,随机数产生器在安全密钥控制器的控制下产生密钥。安全密钥控制器从随机数产生器中读出产生的密钥后,如果接收到CPU发送的密钥读出控制命令,将此产生的密钥送入密钥处理安全引擎的加密模块,由密钥处理安全引擎在加密模块中对该密钥进行加密,如果接收到CPU发送的数据加密或解密的控制命令和待处理数据,将此产生的密钥送入数据处理安全引擎,由数据处理安全引擎使用该产生的密钥直接对数据加密或解密,也就是说安全密钥控制器读出随机数产生器产生的密钥后,可以将该密钥送入密钥处理安全引擎,也可以将该密钥送入数据处理安全引擎。本流程中,以安全密钥控制器接收到CPU发送的密钥读出控制命令为例,描述后续流程。
步骤204:CPU向安全密钥控制器发送密钥读出的控制命令,安全密钥控制器将读出的产生的密钥送入密钥处理安全引擎的加密模块。
步骤205:安全密钥控制器从根密钥模块中读出根密钥,将读出的根密钥送入密钥处理安全引擎的加密模块,启动密钥处理安全引擎。
步骤206:密钥处理安全引擎在加密模块中使用根密钥对密钥加密。
本步骤中,密钥处理安全引擎在加密模块中,使用步骤205中安全密钥控制器送入的根密钥,对步骤204中安全密钥控制器送入的产生的密钥进行加密。加密时可以选择不同的算法,本流程选用AES算法。
步骤207:安全密钥控制器从密钥处理安全引擎的加密模块中读出加密后的密钥,CPU从安全密钥控制器中将此加密后的密钥读出。
本步骤中,CPU将加密后的密钥读出后,可以将加密后的密钥送入系统外部的存储器存储,也可以送给其他设备使用。
步骤204~步骤207说明,系统外部需要从系统内的安全部件内部读出密钥时,安全部件中的密钥处理安全引擎将在加密模块中,使用根密钥对密钥进行加密,安全密钥控制器将加密后的密钥读出,CPU再从安全密钥控制器中将此加密后的密钥读出,送入系统外部存储或送入其他设备使用。
上述步骤201~步骤207所述流程,为本发明基于实施例一所述系统的密钥加密方法流程。在需要使用系统外部存储的加密后的密钥时,上述流程还可以进一步包括对加密后的密钥的解密使用流程,在接收到由通信接口送入的加密后的密钥时,实施例一所述系统也包括对加密后的密钥的解密使用流程。
参见图3,图3为本发明基于实施例一所述系统的对加密后的密钥的解密使用方法流程,该流程包括以下步骤:
步骤301:CPU将数据加密或解密控制命令、加密后的密钥和待处理数据送入安全密钥控制器,安全密钥控制器将加密后的密钥送入密钥处理安全引擎的解密模块。
步骤302:安全密钥控制器从根密钥模块中读出根密钥,将读出的根密钥送入密钥处理安全引擎的解密模块,启动密钥处理安全引擎。
步骤303:密钥处理安全引擎在解密模块中,使用根密钥对加密后的密钥进行解密。
本步骤中,密钥处理安全引擎在解密模块中,使用步骤302接收的根密钥,对步骤301接收的加密后的密钥进行解密。
步骤304:安全密钥控制器从密钥处理安全引擎的解密模块中读出解密后的密钥。
步骤305:安全密钥控制器将解密后的密钥送入数据处理安全引擎。
在步骤302~步骤305中,安全密钥控制器将根密钥从根密钥模块中读出,并送入密钥处理安全引擎中的解密模块,密钥处理安全引擎在解密模块中使用根密钥对步骤301接收到的加密后的密钥进行解密,供后续步骤使用。
步骤306:安全密钥控制器将待处理数据送入数据处理安全引擎。
步骤307:安全密钥控制器启动数据处理安全引擎,数据处理安全引擎使用解密后的密钥,对待处理数据进行加密或解密。
本步骤中,数据处理安全引擎使用步骤305接收的解密后的密钥,对待处理数据进行加密或解密。
步骤308:CPU向安全密钥控制器发送数据读出控制命令。
步骤309:安全密钥控制器从数据处理安全引擎中读出加密或解密后的数据,CPU从安全密钥控制器中读出加密或解密后的数据。
在步骤308~步骤309中,CPU读出加密或解密后的数据后,送入系统外部存储或送入其他设备使用。加密和解密后的数据也可以不被CPU读到系统外部,而直接在系统内部使用。
当实施例一所述系统中,随机数产生器与密钥处理安全引擎及数据处理安全引擎分别直接连接,密钥处理安全引擎与数据处理安全引擎也直接连接时,步骤203中安全密钥控制器将不从随机数产生器中读出产生的密钥,在步骤205密钥处理安全引擎启动后,由随机数产生器直接将产生的密钥送入密钥处理安全引擎的加密模块,在步骤304~步骤305中,安全密钥控制器不从密钥处理安全引擎的解密模块中读出解密后的密钥送入数据处理安全引擎,而在步骤307中,数据处理安全引擎启动时,由密钥处理安全引擎将解密后的密钥直接送入数据处理安全引擎使用。
在实施例一所述系统中,如果安全密钥控制器在对数据加密或解密,及读出加密或解密后数据的操作中设置成直通或旁路的模式,在步骤301中,CPU直接将数据加密或解密控制命令和待处理数据送入数据处理安全引擎,在步骤308中,CPU直接读出数据处理安全引擎中的加密或解密后的数据。
当实施例一所述的系统中,进一步包括一个存储部件时,在步骤304~步骤305中,安全密钥控制器读出解密后的密钥后,送入存储部件存储,需要使用该解密后的密钥时,由安全密钥控制器从存储部件中读出解密后的密钥送入数据处理安全引擎。进一步,系统中包括存储部件时,密钥处理安全引擎还可以和存储部件直接连接,数据处理安全引擎也可以和存储部件直接连接,在步骤304~步骤305中,密钥处理安全引擎将解密后的密钥直接送入存储部件存储,数据处理安全引擎需要使用解密后的密钥时,从存储部件读出解密后的密钥使用。
在实施例一所述系统的安全部件中,也可以使用不同的算法对根密钥进行扩展,具体来说,就是对根密钥模块中存储的根密钥进行一次或多次变形运算。例如,安全部件中包括一个使用哈希算法的安全引擎,安全密钥控制器可以将读出的根密钥先送入此安全引擎,安全引擎中使用哈希算法对根密钥进行一次哈希运算,将变形后的根密钥送入安全密钥控制器,再由安全密钥控制器送入密钥处理安全引擎,密钥处理安全引擎使用该变形后的根密钥对密钥进行加密。或者,对进行一次哈希运算后的根密钥再进行一次或多次哈希运算,得到多级变形后的根密钥,可以根据具体需要选择不同的变形根密钥对密钥进行加密。根据需要,也可以选择不同的哈希算法,例如MD5算法、SHA算法等,也可以选择除哈希算法之外的其他算法。
在实施例一所述系统的安全部件中,也可以使用根密钥对密钥进行一次以上的加密,对应的,解密时使用根密钥对加密后的密钥进行一次以上解密。
实施例二
本实施例中,通信设备可以为手机。
在实施例一中所述的本发明用于密钥保护的系统,可以将安全部件101内部的密钥处理安全引擎105和数据处理安全引擎104复用为一个安全引擎,即这个复用的安全引擎既可以对密钥进行加密或解密,也可以对数据进行加密或解密,由此形成实施例二中的本发明用于密钥保护的系统。
参见图4,图4为本发明实施例二中实现密钥保护的系统的结构示意图。
该系统中的安全部件401包括安全引擎404和根密钥模块403,其中安全引擎401包括一个加密模块,还可以进一步包括一个解密模块。安全部件401还可以进一步包括安全密钥控制器102和随机数产生器405。系统中可以进一步包括CPU 411。
安全引擎404中可以采用DES算法。安全部件101通过CPU总线与CPU 111连接。
CPU 411与安全密钥控制器402连接,用于将系统外部输入的未加密的密钥送入安全密钥控制器402。当安全部件401需要使用系统外部的加密后的密钥时,CPU 411将系统外部的加密后的密钥送入安全密钥控制器402。CPU 411向安全密钥控制器402发送密钥读出的控制命令,并从安全密钥控制器402中读出加密后的密钥,将此加密后的密钥送入系统外部存储器存储或送入其他设备使用。CPU 411向安全密钥控制器402发送数据加密或解密控制命令和待处理数据。CPU 411向安全密钥控制器402发送数据读出控制命令,从安全密钥控制器402中读出加密或解密后的数据送入系统外部存储器存储或送入其他设备使用。CPU 411向安全密钥控制器402发送产生密钥的控制命令。
根密钥模块403与安全密钥控制器402连接,用于存储预先设置的根密钥。安全密钥控制器402从根密钥模块403中读出存储的根密钥。如实施例一所述,根密钥的设置方式有两种,本实施例假设采用OTP技术实现的根密钥。
安全密钥控制器402与CPU 411、根密钥模块403、安全引擎404和随机数产生器405连接。安全密钥控制器402获得未加密的密钥有两种方式,当安全密钥控制器402接收到CPU 411送入的产生密钥的控制命令时,控制随机数产生器405产生密钥,并从随机数产生器405中读出产生的密钥,除了上述方式外,安全密钥控制器402也可以直接接收CPU 411送入的由系统外部输入的未加密的密钥。当安全密钥控制器402接收到CPU 411送入的密钥读出控制命令时,从根密钥模块403中读出根密钥送入安全引擎404的加密模块,将随机数产生器405产生的密钥,或系统外部输入的未加密的密钥送入安全引擎404的加密模块,并启动安全引擎404在加密模块中对密钥进行加密,在加密结束后读出加密后的密钥,CPU 411再从安全密钥控制器402中读出该加密后的密钥。当安全密钥控制器402接收到CPU 411送入的数据加密或解密控制命令和待处理数据时,将待处理数据和系统外部输入的密钥、或随机数产生器405产生的密钥送入安全引擎404的加密模块或解密模块,启动安全引擎404对数据加密或解密。当安全密钥控制器402接收到CPU 411发送的数据读出的控制命令时,从安全引擎404的加密模块或解密模块中读出加密或解密后的数据,CPU 411再从安全密钥控制器402中读出加密或解密后的数据。当安全密钥控制器402接收到CPU 411送入的加密后的密钥时,将加密后的密钥送入安全引擎404的解密模块,从根密钥模块403中读出根密钥送入安全引擎404的解密模块,启动安全引擎404在解密模块中对加密后的密钥进行解密,并读出该解密后的密钥。
随机数产生器405与安全密钥控制器402连接,用于接受安全密钥控制器402的控制产生密钥。安全密钥控制器402从随机数产生器106中读出产生的密钥。
安全引擎404与安全密钥控制器402连接。安全引擎404接受安全密钥控制器402的控制,在解密模块中使用安全密钥控制器402送入的根密钥对加密后的密钥解密,解密结束后,安全密钥控制器402读出该解密后的密钥。安全引擎404用于接受安全密钥控制器402的控制,在加密模块中使用安全密钥控制器402送入的根密钥对随机数产生器405产生的密钥,或系统外部输入的密钥,或解密后的密钥加密,加密结束后,安全密钥控制器402读出加密后的密钥。安全引擎404接受安全密钥控制器402控制,使用安全密钥控制器402送入的由系统外部输入的密钥,或随机数产生器405产生的密钥,或解密后的密钥,在加密模块或解密模块中对待处理数据加密或解密,加密或解密结束后,安全密钥控制器402读出加密或解密后的数据。
本实施例中,安全部件401中还可以进一步包括一个存储部件407,与安全密钥控制器402连接,用于接收安全密钥控制器402送入的解密后的密钥并存储。当安全部件401需要对数据进行加密或解密时,安全密钥控制器402从存储部件407中读出解密后的密钥,送入安全引擎404。
以上所述为本发明提供的实现密钥保护的系统的一个较佳实施方式,除了该较佳实施例之外,还可以存在其他情况。
本实施例中,根密钥模块403中存储的根密钥是OTP技术实现的根密钥,也可以采用硬连线设置的根密钥。
本实施例中,在安全部件401内部,安全密钥控制器402直接与除根密钥模块403外的其他部件连接,安全密钥控制器402也可以通过一个内部总线与除根密钥模块403外的其他部件分别进行连接,虽然连接方法变化,但安全部件401内部各部件的连接关系仍然没有改变。在上述连接基础上,进一步,随机数产生器405还可以与安全引擎404直接连接,安全引擎404还可以与存储部件407直接连接。随机数产生器405产生密钥后,直接将产生的密钥送入安全引擎404的加密模块或解密模块。安全引擎404完成对加密后的密钥解密时,可以将解密后的密钥先送入存储部件407中存储,当需要使用该解密后的密钥时,由安全引擎404直接从存储部件407中读取解密后的密钥。
本实施例中,如果需要对数据加密或解密,及读出加密或解密后的数据时,CPU 411需要先将相应控制命令发送至安全密钥控制器402,由安全密钥控制器402控制安全引擎404进行操作。除了上述方式之外,也可以在对数据加密或解密,及读出加密或解密后数据的操作中,将安全密钥控制器402设置成直通或旁路的模式,即CPU 411在发送数据加密或解密控制命令和待处理数据,及读出加密或解密后数据时,可以直接访问安全引擎404。具体来说,CPU 411向安全引擎404发送数据加密和解密控制命令和待处理数据,安全密钥控制器402将产生的密钥、或未加密的密钥、或解密后的密钥送入安全引擎404,安全引擎404对待处理数据进行加密或解密,在加密或解密完成后,如果需要读出加密或解密后的数据,CPU 411直接访问安全引擎404,读出加密或解密后的数据。
本实施例中,复用的安全引擎可以设置为一个,也可以设置为一个以上,并根据具体需要为复用安全引擎选用不同的算法。
最后,对基于实施例二所述系统的用于密钥保护的方法进行详细描述。基于实施例二所述系统,本发明提供的用于密钥保护的方法,为在安全部件内部使用根密钥对密钥进行加密的流程,该方法还可以进一步包括在安全部件内部对加密后的密钥的解密使用流程,其中在安全部件内部,使用根密钥对密钥进行加密的流程中,密钥可以由安全部件内部直接产生,也可以由系统外部输入。下面以安全部件接收系统外部输入密钥为例,说明基于实施例二所述系统的密钥加密方法流程。
参见图5,图5为本发明基于实施例二所述系统的密钥加密方法流程图,该流程包括以下步骤:
步骤501:CPU向安全密钥控制器发送系统外部输入的密钥。
本方法中,需要安全部件加密的密钥来自系统外部,则CPU首先在本步骤中将系统外部输入的密钥送入安全密钥控制器。安全密钥控制器接收系统外部输入的密钥后,如果接收到CPU发送的密钥读出控制命令,将此密钥送入安全引擎的加密模块,由安全引擎在加密模块中对该密钥进行加密,如果接收到CPU发送的数据加密或解密的控制命令和待处理数据,将此密钥送入安全引擎的加密模块或解密模块,由安全引擎在加密模块或解密模块中使用该密钥直接对数据加密或解密。本流程中,以安全密钥控制器接收到CPU发送的密钥读出控制命令为例,描述后续流程。
步骤502:CPU向安全密钥控制器发送密钥读出的控制命令,安全密钥控制器将接收到的密钥送入安全引擎的加密模块。
步骤503:安全密钥控制器从根密钥模块中读出根密钥,将读出的根密钥送入安全引擎的加密模块,启动安全引擎。
步骤504:安全引擎在加密模块中使用根密钥对密钥加密。
本步骤中,安全引擎在加密模块中,使用步骤503中安全密钥控制器送入的根密钥,对步骤502中安全密钥控制器送入的密钥进行加密。加密时可以选择不同的算法,本流程选用AES算法。
步骤505:安全密钥控制器从安全引擎的加密模块中读出加密后的密钥,CPU从安全密钥控制器中读出加密后的密钥。
本步骤中,CPU将加密后的密钥读出后,可以将加密后的密钥送入系统外部的存储器保存,也可以送给其他设备使用。
步骤502~步骤505说明,系统外部需要从系统内的安全部件中读出密钥时,安全部件中的安全引擎将在加密模块中使用根密钥对密钥进行加密,安全密钥控制器读出加密后的密钥,CPU再从安全密钥控制器中将加密后的密钥读出,送入系统外部存储器存储或送入其他设备使用。
上述步骤501~步骤505所述流程,为本发明基于实施例二所述系统的密钥加密方法流程,在需要使用系统外部存储器中的加密后的密钥时,上述流程还可以进一步包括对加密后的密钥的解密使用流程,在接收到由通信接口送入的加密后的密钥时,实施例二所述系统也包括对加密后的密钥的解密使用流程。
参见图6,图6为本发明基于实施例二所述系统的对加密后的密钥的解密使用方法流程,该流程包括以下步骤:
步骤601:CPU将数据加密或解密控制命令、加密后的密钥和待处理数据送入安全密钥控制器,安全密钥控制器将加密后的密钥送入安全引擎的解密模块。
步骤602:安全密钥控制器从根密钥模块中读出根密钥,将读出的根密钥送入安全引擎的解密模块,启动安全引擎。
步骤603:安全引擎在解密模块中使用根密钥,对加密后的密钥进行解密。
本步骤中,安全引擎在解密模块中使用步骤602接收的根密钥,对步骤601接收到的加密后的密钥进行解密。
步骤604:安全密钥控制器读出解密后的密钥。
步骤605:安全密钥控制器将待处理数据和解密后的密钥送入安全引擎。
本步骤中,当需要对数据加密时,安全密钥控制器将步骤601接收的待处理数据和步骤604读出的解密后的密钥,送入安全引擎的加密模块,当需要对数据解密时,安全密钥控制器将步骤601接收的待处理数据和步骤604读出的解密后的密钥送入安全引擎的解密模块。
步骤606:安全引擎使用解密后的密钥,对待处理数据进行加密或解密。
本步骤中,当需要对数据加密时,安全引擎在加密模块中对待处理数据加密,当需要对数据解密时,安全引擎在解密模块中对待处理数据解密。
步骤607:CPU向安全密钥控制器发送数据读出控制命令。
步骤608:安全密钥控制器从安全引擎中读出加密或解密后的数据,CPU从安全密钥控制器中读出加密或解密后的数据。
在步骤607~步骤608中,CPU读出了加密或解密后的数据,送入系统外部存储器存储或送入其他设备使用。加密或解密后的数据也可以不被CPU读出,而直接在系统内部使用。
在实施例二所述系统中,如果安全密钥控制器在对数据加密或解密,及读出加密或解密后数据的操作中设置成直通或旁路的模式,在步骤601中,CPU直接将数据加密或解密控制命令和待处理数据送入数据处理安全引擎,在步骤606中,CPU直接读出数据处理安全引擎中的加密和解密后的数据。
当实施例二所述的系统中,进一步包括一个存储部件时,在步骤603中,安全引擎在解密模块中对加密后的密钥解密后,安全密钥控制器将读出解密后的密钥,送入存储部件存储,当安全引擎需要使用该解密后的密钥对数据加密或解密时,由安全密钥控制器从存储部件中读出解密后的密钥送入安全引擎。在上述连接基础上进一步,安全引擎还可以和存储部件直接连接,在步骤603中,安全引擎将解密后的密钥直接送入存储部件存储,安全引擎需要使用该解密后的密钥对数据加密或解密时,由安全引擎从存储部件读出解密后的密钥使用。
和基于实施例一中的密钥保护方法流程相同,安全引擎也可以在加密模块中对根密钥模块中存储的根密钥进行一次或多次变形运算。具体方法与基于实施例一中的密钥保护方法流程中相同,这里不在赘述。
在实施例二所述系统的安全部件中,也可以使用根密钥对密钥进行一次以上的加密,对应的,解密时使用根密钥对加密后的密钥进行一次以上解密。
上述本发明系统及方法的较佳实施例均以手机为例,除此之外本发明的方案还可以应用在诸如对讲机、有线电话等通信设备中,甚至可以应用在非通信设备中。
综上所述,以上仅为本实施例的较佳实施例而已,并非用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种实现密钥保护的方法,其特征在于,该方法包括以下步骤:
A、在安全部件内部设置根密钥;
B、在安全部件内部,使用根密钥对密钥加密。
2.如权利要求1所述的方法,其特征在于,在安全部件内部,使用根密钥对密钥加密后,进一步包括:
在安全部件内部,使用根密钥对加密后的密钥解密;在安全部件内部,使用解密后的密钥对数据进行加密或解密。
3.如权利要求1所述的方法,其特征在于,所述在安全部件内部,使用根密钥对密钥加密的方法为:
在安全部件内部,使用算法对根密钥进行变形运算,使用变形运算后的根密钥对密钥加密。
4.如权利要求3所述的方法,其特征在于,所述在安全部件内部,使用变形运算后的根密钥对密钥加密后,进一步包括以下步骤:
在安全部件内部,使用变形运算后的根密钥对加密后的密钥解密;在安全部件内部,使用解密后的密钥对数据进行加密或解密。
5.如权利要1所述的方法,其特征在于,所述在安全部件内部设置根密钥的方法为:硬连线方式设置根密钥或一次性编程OTP技术设置根密钥。
6.一种实现密钥保护的系统,其特征在于,该系统包括安全部件,安全部件包括根密钥模块和密钥处理安全引擎;
所述根密钥模块,用于存储根密钥;
所述密钥处理安全引擎,包括一加密模块,用于使用所述根密钥模块中存储的根密钥对密钥加密。
7.如权利要求6所述的系统,其特征在于,所述系统中的安全部件进一步包括:安全密钥控制器,用于将从系统外部接收的密钥和从所述根密钥模块中读出的根密钥送入所述密钥处理安全引擎,并从所述密钥处理安全引擎中读出加密后的密钥输出给系统外部。
8.如权利要求6所述的系统,其特征在于,所述安全部件中进一步包括随机数产生器;
所述随机数产生器,用于产生密钥,并将产生的密钥输出到所述密钥处理安全引擎。
9.如权利要求8所述的系统,其特征在于,所述安全部件中进一步包括:安全密钥控制器;
所述安全密钥控制器,用于将所述随机数产生器输出的密钥和/或系统外部输入的密钥送入所述密钥处理安全引擎。
10.如权利要求6所述的系统,其特征在于,所述安全部件中进一步包括:数据处理安全引擎;
所述密钥处理安全引擎,还包括一解密模块,用于在接收系统外部输入的加密后的密钥后,使用所述根密钥模块中存储的根密钥对加密后的密钥解密,并输出解密后的密钥;
所述数据处理安全引擎,用于使用接收到的该解密后的密钥,对数据加密或解密。
11.如权利要求10所述的系统,其特征在于,所述安全部件中进一步包括:安全密钥控制器,用于从所述密钥处理安全引擎中读出加密后的密钥,输出给所述数据处理安全引擎。
12.如权利要求11所述的系统,其特征在于,所述密钥处理安全引擎和数据处理安全引擎复用为一个安全引擎。
13.如权利要10所述的系统,其特征在于,安全部件中进一步包括:存储部件;
所述存储部件,用于存储所述密钥处理安全引擎输出的解密后的密钥,将该解密后的密钥送入所述数据处理安全引擎。
14.如权利要求13所述的系统,其特征在于,安全部件中进一步包括:安全密钥控制器;
所述安全密钥控制器,用于从所述密钥处理安全引擎中读出解密后的密钥,送入所述存储部件,并从所述存储部件中读出解密后的密钥,送入所述数据处理安全引擎。
15.如权利要求7、9、11和14中任意一项所述的系统,其特征在于,所述系统进一步包括控制模块;
所述控制模块,用于向所述安全密钥控制器发送控制命令,触发所述安全密钥控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101376385A CN101174942A (zh) | 2006-10-31 | 2006-10-31 | 一种实现密钥保护的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101376385A CN101174942A (zh) | 2006-10-31 | 2006-10-31 | 一种实现密钥保护的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101174942A true CN101174942A (zh) | 2008-05-07 |
Family
ID=39423223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101376385A Pending CN101174942A (zh) | 2006-10-31 | 2006-10-31 | 一种实现密钥保护的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101174942A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316120A (zh) * | 2011-10-17 | 2012-01-11 | 北京信息科技大学 | 基于网络隐私保护的动态密码锁 |
CN102880836A (zh) * | 2011-07-15 | 2013-01-16 | 富士通半导体股份有限公司 | 安全装置 |
CN103577768A (zh) * | 2012-08-06 | 2014-02-12 | 三星电子株式会社 | 管理用于数据的安全存储的密钥的方法及其设备 |
WO2016146013A1 (zh) * | 2015-03-19 | 2016-09-22 | 阿里巴巴集团控股有限公司 | 在数字内容设备中在线写入应用密钥的方法、装置及系统 |
CN106503592A (zh) * | 2016-11-09 | 2017-03-15 | 深圳市德名利电子有限公司 | 基于可编程逻辑器件的加密方法及系统 |
CN106549927A (zh) * | 2015-09-23 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 密钥保存、获取方法和装置 |
WO2017118436A1 (zh) * | 2016-01-08 | 2017-07-13 | 腾讯科技(深圳)有限公司 | 密钥存储方法、密钥管理方法及装置 |
CN107027117A (zh) * | 2016-02-02 | 2017-08-08 | 普天信息技术有限公司 | 一种动态生成根密钥的方法 |
CN107070881A (zh) * | 2017-02-20 | 2017-08-18 | 北京古盘创世科技发展有限公司 | 密钥管理方法、系统及用户终端 |
CN107769912A (zh) * | 2016-08-16 | 2018-03-06 | 广东国盾量子科技有限公司 | 一种量子密钥芯片及基于量子密钥芯片的加解密方法 |
CN109842490A (zh) * | 2017-11-28 | 2019-06-04 | 广东国盾量子科技有限公司 | 数字签名生成/发送/验证方法、终端及计算机存储介质 |
CN110020561A (zh) * | 2018-01-10 | 2019-07-16 | 三星电子株式会社 | 半导体装置和操作半导体装置的方法 |
CN110932853A (zh) * | 2019-12-06 | 2020-03-27 | 深圳市纽创信安科技开发有限公司 | 一种基于可信模块的密钥管理装置和密钥管理方法 |
-
2006
- 2006-10-31 CN CNA2006101376385A patent/CN101174942A/zh active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880836A (zh) * | 2011-07-15 | 2013-01-16 | 富士通半导体股份有限公司 | 安全装置 |
CN102880836B (zh) * | 2011-07-15 | 2016-02-10 | 株式会社索思未来 | 安全装置 |
CN102316120A (zh) * | 2011-10-17 | 2012-01-11 | 北京信息科技大学 | 基于网络隐私保护的动态密码锁 |
CN103577768A (zh) * | 2012-08-06 | 2014-02-12 | 三星电子株式会社 | 管理用于数据的安全存储的密钥的方法及其设备 |
WO2016146013A1 (zh) * | 2015-03-19 | 2016-09-22 | 阿里巴巴集团控股有限公司 | 在数字内容设备中在线写入应用密钥的方法、装置及系统 |
CN106033503A (zh) * | 2015-03-19 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 在数字内容设备中在线写入应用密钥的方法、装置及系统 |
CN106549927B (zh) * | 2015-09-23 | 2020-11-13 | 阿里巴巴集团控股有限公司 | 密钥保存、获取方法和装置 |
CN106549927A (zh) * | 2015-09-23 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 密钥保存、获取方法和装置 |
WO2017118436A1 (zh) * | 2016-01-08 | 2017-07-13 | 腾讯科技(深圳)有限公司 | 密钥存储方法、密钥管理方法及装置 |
US10944558B2 (en) | 2016-01-08 | 2021-03-09 | Tencent Technology (Shenzhen) Company Limited | Key storing method, key managing method and apparatus |
CN107027117A (zh) * | 2016-02-02 | 2017-08-08 | 普天信息技术有限公司 | 一种动态生成根密钥的方法 |
CN107769912A (zh) * | 2016-08-16 | 2018-03-06 | 广东国盾量子科技有限公司 | 一种量子密钥芯片及基于量子密钥芯片的加解密方法 |
CN106503592A (zh) * | 2016-11-09 | 2017-03-15 | 深圳市德名利电子有限公司 | 基于可编程逻辑器件的加密方法及系统 |
CN106503592B (zh) * | 2016-11-09 | 2021-07-09 | 深圳市德明利技术股份有限公司 | 基于可编程逻辑器件的加密方法及系统 |
CN107070881B (zh) * | 2017-02-20 | 2020-11-27 | 北京古盘创世科技发展有限公司 | 密钥管理方法、系统及用户终端 |
CN107070881A (zh) * | 2017-02-20 | 2017-08-18 | 北京古盘创世科技发展有限公司 | 密钥管理方法、系统及用户终端 |
CN109842490A (zh) * | 2017-11-28 | 2019-06-04 | 广东国盾量子科技有限公司 | 数字签名生成/发送/验证方法、终端及计算机存储介质 |
CN110020561A (zh) * | 2018-01-10 | 2019-07-16 | 三星电子株式会社 | 半导体装置和操作半导体装置的方法 |
CN110020561B (zh) * | 2018-01-10 | 2023-12-15 | 三星电子株式会社 | 半导体装置和操作半导体装置的方法 |
CN110932853A (zh) * | 2019-12-06 | 2020-03-27 | 深圳市纽创信安科技开发有限公司 | 一种基于可信模块的密钥管理装置和密钥管理方法 |
CN110932853B (zh) * | 2019-12-06 | 2022-12-06 | 深圳市纽创信安科技开发有限公司 | 一种基于可信模块的密钥管理装置和密钥管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101174942A (zh) | 一种实现密钥保护的方法及系统 | |
CN100499452C (zh) | 一种用于安全发送授权数据的装置和方法 | |
AU687524B2 (en) | Digital radio transceiver with encrypted key storage | |
CN103763091B (zh) | 一种应用程序加密、解密方法及加密、解密装置 | |
CN1319294A (zh) | 具有保密功能的适配器及使用这种适配器的计算机保密系统 | |
CN107454590A (zh) | 一种数据加密方法、解密方法及无线路由器 | |
CN110855616B (zh) | 一种数字钥匙生成系统 | |
CN107707562B (zh) | 一种非对称动态令牌加、解密算法的方法、装置 | |
CN110298186B (zh) | 一种基于动态可重构密码芯片的无密钥数据加解密方法 | |
CN106295373B (zh) | 一种基于m-phy接口实现的数据传输加密装置 | |
CN113572604B (zh) | 一种发送密钥的方法、装置、系统及电子设备 | |
CN103914662A (zh) | 一种基于分区的文件加密系统的访问控制方法和装置 | |
US20230269078A1 (en) | Key sharing method, key sharing system, authenticating device, authentication target device, recording medium, and authentication method | |
CN104239808A (zh) | 数据加密传输方法及装置 | |
CN113726725A (zh) | 一种数据加解密方法、装置、电子设备及存储介质 | |
CN106326754B (zh) | 一种基于pcie接口实现的数据传输加密装置 | |
EP1876753B1 (en) | Confidential information processing host device and confidential information processing method | |
CN105681023A (zh) | 上位机与单片机动态加密通讯的方法 | |
CN103370718A (zh) | 使用分布式安全密钥的数据保护 | |
JPH04247737A (ja) | 暗号化装置 | |
CN107483187A (zh) | 一种基于可信密码模块的数据保护方法及装置 | |
CN115941185A (zh) | 用于离线下载的方法及装置、电子设备 | |
KR20150040576A (ko) | 오픈 환경에서의 데이터 보호 방법 및 장치 | |
CN101841353B (zh) | 一种通过加密狗进行数据加密的方法及设备 | |
CN103491384A (zh) | 一种视频的加密方法和装置及解密方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080507 |