CN102647273A - 可信计算平台用户根密钥和用户密钥生成方法和装置 - Google Patents
可信计算平台用户根密钥和用户密钥生成方法和装置 Download PDFInfo
- Publication number
- CN102647273A CN102647273A CN2012100927329A CN201210092732A CN102647273A CN 102647273 A CN102647273 A CN 102647273A CN 2012100927329 A CN2012100927329 A CN 2012100927329A CN 201210092732 A CN201210092732 A CN 201210092732A CN 102647273 A CN102647273 A CN 102647273A
- Authority
- CN
- China
- Prior art keywords
- user
- platform module
- credible platform
- key
- root key
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供可信计算平台用户根密钥和用户密钥生成方法和装置,以增强可信计算组织授权协议的安全性。所述方法包括:可信平台模块所有者接收可信平台模块用户提出的用户根密钥生成请求;可信平台模块通过与可信平台模块所有者交互,生成可信平台模块用户的用户根密钥和用户根密钥的授权数据;可信平台模块所有者将可信平台模块用户的用户根密钥和用户根密钥的授权数据发送至可信平台模块用户。本发明实施例提供的方法保证了用户根密钥的特殊性、私有性与独立性,用户(包括攻击者)即使知道存储根密钥的授权数据,若无可信平台模块所有者的授权,也无法创建用户根密钥,从而避免可信平台模块的资源被非法占用。
Description
技术领域
本发明涉及信息安全领域,尤其涉及可信计算平台用户根密钥和用户密钥生成方法和装置。
背景技术
可信计算组织(Trusted Computing Group,TCG)定义的可信计算技术规范中主要有对象无关授权协议(Object-Independent Authorization Protocol,OIAP)和对象相关授权协议(Object-Specific Authorization Protocol,OSAP)等认证/授权协议。可信计算规范中的授权协议都能够保证会话的完整性,基于授权口令来保护一些关键数据,例如新建密钥的授权数据,封装数据的保护数据等的机密性。授权协议的安全性依赖于授权数据的机密性,如果攻击者知道或者猜测到授权数据,那么授权协议将没有安全性或安全性受到极大威胁。
一个可信平台模块(Trusted Platform Module,TPM)只有一个存储根密钥(Storage Root Key,SRK)。为了让多个用户都可以使用SRK,SRK的授权数据经常被假定为一个众所周知的值,如此,任何知道授权数据的用户都可以在SRK下建立一个密钥分支。如前所述,授权协议的安全性依赖于授权数据的机密性。若攻击者知道SRK的授权数据,则可以伪造SRK,从而以伪造的SPL产生子密钥。这样,用户所产生的密钥就在攻击者的控制下,攻击者可以假冒TPM的存储功能。
发明内容
本发明实施例提供可信计算平台用户根密钥和用户密钥生成方法和装置,以增强可信计算组织授权协议的安全性。
本发明实施例提供一种可信计算平台用户根密钥生成方法,所述方法包括:可信平台模块所有者接收可信平台模块用户提出的用户根密钥生成请求;所述可信平台模块通过与所述可信平台模块所有者交互,生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据;所述可信平台模块所有者将所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据发送至所述可信平台模块用户。
可选地,所述可信平台模块通过与所述可信平台模块所有者交互,生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据包括:所述可信平台模块所有者向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令,所述命令包括预置用户根密钥的口令;所述可信平台模块验证所述可信平台模块所有者的合法性;若验证所述可信平台模块所有者合法,则根据所述预置用户根密钥的口令生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据并返回至所述可信平台模块所有者。
可选地,所述命令还包括存储根密钥授权数据和所述可信平台模块所有者授权数据;所述可信平台模块验证所述可信平台模块所有者的合法性包括:所述可信平台模块验证所述存储根密钥授权数据和所述可信平台模块所有者授权数据的合法性。
可选地,所述可信平台模块所有者向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令包括:所述可信平台模块所有者调用可信计算组织软件栈命令接口向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令。
本发明实施例提供一种可信计算平台用户密钥生成方法,所述方法包括:将可信平台模块用户的用户根密钥私有化;接收用户密钥创建请求,所述用户密钥创建请求包括父密钥的密钥类型;根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥。
可选地,所述将可信平台模块用户的用户根密钥私有化包括:可信平台模块接收所述可信平台模块用户发送的更改所述用户根密钥的口令的请求;所述可信平台模块验证所述可信平台模块用户提供的父授权数据和所述用户根密钥的旧有授权数据;所述可信平台模块设置所述可信平台模块用户的用户根密钥的私有化标志。
可选地,所述根据所述用户密钥创建请求和私有化的用户根密钥,创建所述可信平台模块用户的用户密钥包括:根据父密钥的密钥类型,判断用户密钥创建请求是否是可信平台模块用户发起;若所述用户密钥创建请求是可信平台模块用户发起,则检测所述可信平台模块用户的用户根密钥的私有化标志;若检测通过,则验证所述私有化的用户根密钥的授权数据;若验证通过,则创建所述可信平台模块用户的用户密钥。
本发明实施例提供一种可信计算平台用户根密钥生成装置,所述装置包括请求模块和可信平台模块,所述请求模块包括接收单元和第一发送单元;所述接收单元,用于可信平台模块所有者接收可信平台模块用户提出的用户根密钥生成请求;所述可信平台模块,用于通过与所述请求模块交互,生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据;所述第一发送单元,用于所述可信平台模块所有者将所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据发送至所述可信平台模块用户。
可选地,所述可信平台模块包括验证单元和生成单元,所述请求模块还包括第二发送单元;所述第二发送单元,用于可信平台模块所有者向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令,所述命令包括预置用户根密钥的口令;所述验证单元,用于验证所述可信平台模块所有者的合法性;所述生成单元,用于若验证所述可信平台模块所有者合法,则根据所述预置用户根密钥的口令生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据并返回至所述可信平台模块所有者。
可选地,所述命令还包括存储根密钥授权数据和所述可信平台模块所有者授权数据;所述验证单元具体用于验证所述存储根密钥授权数据和所述可信平台模块所有者授权数据的合法性。
可选地,所述第二发送单元具体用于所述可信平台模块所有者调用可信计算组织软件栈命令接口向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令。
本发明实施例提供一种可信计算平台用户密钥生成装置,所述装置包括:可信平台模块,用于将可信平台模块用户的用户根密钥私有化;接收模块,用于接收用户密钥创建请求,所述用户密钥创建请求包括父密钥的密钥类型;用户密钥生成模块,用于根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥。
可选地,所述可信平台模块包括:请求接收单元,用于接收所述可信平台模块用户发送的更改所述用户根密钥的口令的请求;验证单元,用于验证所述可信平台模块用户提供的父授权数据和所述用户根密钥的旧有授权数据;设置单元,用于设置所述可信平台模块用户的用户根密钥的私有化标志。
可选地,所述用户密钥生成模块包括:判断单元,用于根据父密钥的密钥类型,判断用户密钥创建请求是否是可信平台模块用户发起;检测单元,用于若所述判断单元判断所述用户密钥创建请求是可信平台模块用户发起,则检测所述可信平台模块用户的用户根密钥的私有化标志;验证单元,用于若检测通过,则验证所述私有化的用户根密钥的授权数据;创建单元,用于若验证通过,则创建所述可信平台模块用户的用户密钥。
从上述本发明实施例可知,由于可信平台模块用户的用户根密钥是可信平台模块用户、可信平台模块所有者和可信平台模块通过交互生成。因此,这种方法保证了用户根密钥的特殊性、私有性与独立性,用户(包括攻击者)即使知道存储根密钥的授权数据,若无可信平台模块所有者的授权,也无法创建用户根密钥,从而避免可信平台模块的资源被非法占用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
图1是本发明实施例提供的可信计算平台用户根密钥生成方法流程示意图;
图2是本发明实施例提供用户根密钥生成过程中可信平台模块用户、可信平台模块所有者、可信计算组织软件栈和可信平台模块之间的交互示意图;
图3a是本发明实施例提供的可信计算平台用户密钥生成方法流程示意图;
图3b是本发明另一实施例提供的可信计算平台用户密钥生成方法流程示意图;
图4是本发明实施例提供的可信平台模块用户调用扩展后的Tspi_Key_CreateKey命令创建用户根密钥的子密钥的方法流程示意图;
图5是本发明实施例提供的可信计算平台用户根密钥生成装置结构示意图;
图6是本发明另一实施例提供的可信计算平台用户根密钥生成装置结构示意图;
图7是本发明实施例提供的可信计算平台用户密钥生成装置结构示意图;
图8是本发明另一实施例提供的可信计算平台用户密钥生成装置结构示意图;
图9是本发明另一实施例提供的可信计算平台用户密钥生成装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
请参阅附图1,是本发明实施例提供的可信计算平台用户根密钥生成方法流程示意图,主要包括步骤S101、步骤S102和步骤S103:
S101,可信平台模块所有者接收用户提出的用户根密钥生成请求。
可信平台模块(Trusted Platform Module,TPM)只有一个存储根密钥(Storage Root Key,SRK),SRK是密钥树的根结点,它由TPM所有者生成,密钥树中的所有叶子结点密钥均由SRK派生并由SRK保护。在本发明实施例中,在现有的可信平台模块密钥树结构中引入的用户根密钥(User Root Key,URK)是一个可信平台模块用户的存储根密钥,其作为SRK的子密钥来代替SRK进行用户密钥的生成与管理。URK是一种特殊的不可迁移密钥,用户不能自行创建,只能由用户申请、TPM的所有者(Owner)创建,即,可信平台模块用户向可信平台模块所有者发送用户根密钥生成请求,可信平台模块所有者接收用户提出的用户根密钥生成请求。
S102,可信平台模块通过与所述可信平台模块所有者交互,生成所述用户的用户根密钥和所述用户根密钥的授权数据。
依据现有的可信计算组织(Trusted Computing Group,TCG)规范,存储根密钥的授权数据在可信平台模块用户间共享,只要拥有存储根密钥的授权数据,任何用户(包括攻击者)便可以在存储根密钥下任意创建自己所需的密钥。为了解决由此带来的安全隐患,在本发明实施例中,用户根密钥的生成由可信平台模块用户(User)、可信平台模块所有者(Owner)和可信平台模块用户三方共同完成。具体地,包括:可信平台模块所有者向所述可信平台模块发送要求生成所述用户的用户根密钥的命令,所述命令包括预置用户根密钥的口令;所述可信平台模块验证所述可信平台模块所有者的合法性;若验证所述可信平台模块所有者合法,则根据所述预置用户根密钥的口令生成所述用户的用户根密钥和所述用户根密钥的授权数据并返回至所述可信平台模块所有者。其中,要求生成所述用户的用户根密钥的命令还可以包括存储根密钥授权数据和所述可信平台模块所有者授权数据,所述可信平台模块验证所述可信平台模块所有者的合法性可以是验证所述存储根密钥授权数据和所述可信平台模块所有者授权数据的合法性。
作为本发明一个实施例,可信平台模块所有者向所述可信平台模块发送要求生成所述用户的用户根密钥的命令可以是:可信平台模块所有者调用可信计算组织软件栈命令接口,例如,Tspi_Key_CreateKey,向所述可信平台模块发送要求生成所述用户的用户根密钥的命令。
由上述可信平台模块通过与所述可信平台模块所有者交互生成所述用户的用户根密钥和所述用户根密钥的授权数据可知,用户根密钥的生成过程保证了用户根密钥的特殊性、私有性与独立性,用户(包括攻击者)即使知道SRK的授权数据,若无可信平台模块所有者的授权,也无法创建用户根密钥。
S103,可信平台模块所有者将所述用户的用户根密钥和所述用户根密钥的授权数据发送至所述用户。
需要说明的是,可信平台模块用户(User)与所有者(Owner)之间的通信,即,可信平台模块用户向可信平台模块所有者发送用户根密钥生成请求以及可信平台模块所有者向可信平台模块用户返回所述用户的用户根密钥和所述用户根密钥的授权数据等等均以安全的通信方式进行,例如,发送安全邮件或者双方口头交换等,本发明对此不做限定。
从上述本发明实施例提供的可信计算平台用户根密钥生成方法可知,由于可信平台模块用户的用户根密钥是可信平台模块用户、可信平台模块所有者和可信平台模块通过交互生成。因此,这种方法保证了用户根密钥的特殊性、私有性与独立性,用户(包括攻击者)即使知道存储根密钥的授权数据,若无可信平台模块所有者的授权,也无法创建用户根密钥,从而避免可信平台模块的资源被非法占用。
以下以可信平台模块用户、可信平台模块所有者、TCG软件栈和可信平台模块之间的交互为例,说明用户的用户根密钥生成过程,如附图2所示,包括步骤S201至S208:
S201,可信平台模块用户(User)向可信平台模块所有者(Owner)发送生成用户根密钥的请求。
S202,可信平台模块所有者向可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令。
认可可信平台模块用户的请求后,可信平台模块所有者设置用户跟密钥的预置口令,调用可信计算组织(Trusted Computing Group,TCG)的软件栈命令接口Tspi_Key_CreateKey()向可信平台模块发送创建用户根密钥的命令。
S203,可信平台模块所有者向可信平台模块发送存储根密钥的授权数据和所有者的授权数据。
具体地,可信平台模块所有者通过对象相关授权协议(Object-SpecificAuthorization Protocol,OSAP)向可信平台模块证明拥有所有者的授权数据,通过对象无关授权协议(Object-Independent Authorization Protocol,OIAP)向可信平台模块证明拥有存储根密钥的授权数据。
S204,可信平台模块验证可信平台模块所有者的合法性。
S205,可信平台模块执行TPM_CreateURK命令,生成用户根密钥。
S206,可信平台模块将用户根密钥的密钥数据块(key block)返回给TCG软件栈。
S207,TCG软件栈通知可信平台模块所有者,用户根密钥创建成功。
S208,创建用户根密钥成功后,可信平台模块所有者向可信平台模块用户发送用户根密钥的预置口令。
可信平台模块所有者向可信平台模块用户发送用户根密钥的预置口令是以安全的方式,例如,发送安全邮件或者双方口头交换等方式进行。
步骤S205中的可信平台模块执行的TPM_CreateURK命令是本发明实施例针对现有TCG规范新增的用以创建用户根密钥的TPM命令,TPM_CreateURK命令包括输入参数和输出参数,其定义分别如下表1和表2所示:
表1(TPM_CreateURK命令定义的输入参数)
表2(TPM_CreateURK命令定义的输出参数)
TPM_CreateURK命令的处理步骤如下S’201至S’212所示:
S’201,检查用户根密钥参数的有效性。
S’202,验证可信平台模块所有者的授权数据,验证存储根密钥的授权数据。
S’203,判断URKParam->keyUsage是否为TPM_KEY_URK,如果不是,则返回TPM_INVALID_KEYUSAGE。
S’204,判断URKParam->keyFlags->migratable是否为FALSE,如果不是,则返回TPM_INVALID_KEYUSAGE。
S’205,根据授权数据***协议(Authorization Data Insertion Protocol,ADIP)授权协议解密用户根密钥的授权数据,将用户根密钥的授权数据赋值给用户根密钥的usageAuth。
S’206,设置continueAuthSession和continueSRKSession为FALSE。
S’207,设置URKParam->ver为1.2,按照1.2规范的默认值设置URKParam中的所有结构。
S’208,设置URKParam->pcrinfo摘要值。
S’209,根据URKParam生成用户根密钥的密钥对。
S’210,URK->migrationAuth设置为TPM_PERMANENT_DATA->tpmProof值。
S’211,确保所有TPM_PAYLOAD_TYPE结构为TPM_PT_ASYM。
S’212,用存储根密钥的父密钥部分加密用户根密钥的TPM_STOREASYMKEY。
请参阅附图3a,是本发明实施例提供的可信计算平台用户密钥生成方法流程示意图,主要包括步骤S301、步骤S302和步骤S303:
S301,将可信平台模块用户的用户根密钥私有化。
每个可信平台模块用户都有一个自己独立的用户根密钥,但可信平台模块用户在使用用户根密钥之前,必须先完成用户根密钥的用户私有化,这一过程可由可信平台模块用户与可信平台模块之间的交互完成,具体包括S3011、S3012和S3013:
S3011,可信平台模块接收所述可信平台模块用户发送的更改所述用户根密钥的口令的请求。
S3012,可信平台模块验证所述可信平台模块用户提供的父授权数据和所述用户根密钥的旧有授权数据。
S3013,可信平台模块设置所述可信平台模块用户的用户根密钥的私有化标志。
用户根密钥的私有化标志在TCG密钥标志中定义,用以标示用户根密钥的口令是否已经由可信平台模块所有者的预置口令更改为可信平台模块用户的自设口令。
可信平台模块用户的用户根密钥私有化更为详细的流程如附图3b所示,主要包括S’3011至S’3017:
S’3011,可信平台模块用户设置用户根密钥的新口令。
S’3012,可信平台模块用户调用可信计算组织软件栈命令接口Tspi_ChangeAuth向可信平台模块发送更改用户根密钥的授权数据的请求。
S’3013,可信平台模块用户向可信平台模块发送存储根密钥的授权数据和用户根密钥的旧有授权数据。
可信平台模块用户向可信平台模块发送存储根密钥的授权数据和旧有用户根密钥的授权数据的目的是:通过OSAP向可信平台模块证明其拥有存储根密钥的授权数据,通过OIAP向可信平台模块证明其拥有用户根密钥的旧有授权数据。
S’3014,可信平台模块验证可信平台模块用户的合法性。
S’3015,可信平台模块执行扩展TPM_ChangeAuth命令。
S’3016,可信平台模块将新的用户根密钥的密钥数据块(key block)返回给可信计算组织软件栈。
S’3017,可信计算组织软件栈通知可信平台模块用户,用户根密钥口令更改成功。
在S’3015中,所述扩展的可信平台模块命令TPM_ChangeAuth,是本发明实施例对现在可信计算组织规范中可信平台模块命令的扩展,扩展方法如下:
(1)扩展TPM_KEY_USAGE和TPM_KEY_FLAGS的类型属性,即,不改变原有TPM_KEY的结构,增加TPM_KEY_USAGE和TPM_KEY_FLAGS的类型属性:在TPM_KEY_USAGE的密钥类型下增加TPM_KEY_URK属性定义,用以表明该密钥类型为用户根密钥;在TPM_KEY_FLAGS类型下增加urkAuthChanged属性定义,用以标示用户根密钥的口令是否已经由可信平台模块所有者预置更改为可信平台模块用户自设。
(2)扩展TPM_ChangeAuth命令,即,可信平台模块执行TPM_ChangeAuth命令,更改口令成功后,增加对密钥类型TPM_KEY->TPM_KEY_USAGE的判断,如果密钥类型为TPM_KEY_URK,则设置TPM_KEY->TPM_KEY_FLAGS->urkAuthChanged的值;如果密钥类型为其他,则TPM_KEY->TPM_KEY_FALG->urkAuthChanged的值不变,为全0。
S302,接收用户密钥创建请求,所述用户密钥创建请求包括父密钥的密钥类型。
在本发明实施例中,父密钥的密钥类型包括父密钥是否为存储根密钥或用户根密钥。
S303,根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥。
具体地,根据父密钥的密钥类型,判断用户密钥创建请求是否是可信平台模块用户发起,若父密钥的密钥类型为用户根密钥,则判断所述用户密钥创建请求是可信平台模块用户发起,否则,判断所述用户密钥创建请求是可信平台模块所有者发起;检测所述可信平台模块用户的用户根密钥的私有化标志;若检测通过,则验证所述私有化的用户根密钥的授权数据;若验证通过,则创建所述可信平台模块用户的用户密钥。
附图4是本发明实施例给出的通过扩展可信计算组织软件栈命令接口Tspi_Key_CreateKey,可信平台模块用户调用扩展后的Tspi_Key_CreateKey命令创建用户根密钥的子密钥(即用户密钥)的方法流程,主要包括步骤S401、S406:
S401,判断父密钥是否为存储根密钥。
若是,则表明用户密钥创建请求是由可信平台模块所有者发起,用以创建用户根密钥,流程转入步骤S402,否则表明用户密钥创建请求由可信平台模块用户发起,流程转入步骤S403。
S402,可信平台模块执行TPM_CreateURK命令。
S403,检测父密钥TPM_KEY->TPM_KEY_USAGE属性。
如果密钥类型为TPM_KEY_URK即父密钥为用户根密钥,则流程转入步骤S404,否则,表明要创建的密钥为用户根密钥的孙子密钥,流程转入步骤S405。
S404,检测TPM_KEY->TPM_KEY_FLAGS->urkAuthChanged属性。
如果其值为“1”,表明用户根密钥已经成功完成用户私有化,流程转入步骤S405,否则,流程转入步骤S406。
S405,调用TPM_CreateWrapKey命令,创建用户密钥。
S406,返回TPM_URKAUTHNOTCHANGED错误。
返回的错误信息指示用户根密钥需要先完成私有化。
对于附图3和附图4所示本发明实施例,一个可信平台模块用户有且只有一个用户根密钥,用户根密钥完成用户私有化后,其授权数据归该可信平台模块用户私有;各可信平台模块用户的用户根密钥相互独立,即使一个可信平台模块用户的用户根密钥的授权数据泄露,也不会危害其它可信平台模块用户的用户根密钥的安全,即,若攻击者获取了一个用户可信平台模块用户的用户根密钥的授权数据,他只能影响该可信平台模块用户的用户根密钥负责管理的密钥,不会危害其他可信平台模块用户的用户根密钥负责管理的密钥。
请参阅附图5,是本发明实施例提供的可信计算平台用户根密钥生成装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图5示例的可信计算平台用户根密钥生成装置包括请求模块51和可信平台模块52,请求模块51包括接收单元511和第一发送单元512,其中:
所述接收单元511,用于可信平台模块所有者接收用户提出的用户根密钥生成请求。
所述可信平台模块52,用于通过与所述请求模块51交互,生成所述用户的用户根密钥和所述用户根密钥的授权数据。
所述第一发送单元512,用于所述可信平台模块所有者将所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据发送至所述用户。
需要说明的是,以上可信计算平台用户根密钥生成装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述可信计算平台用户根密钥生成装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的接收单元,可以是具有执行前述可信平台模块所有者接收可信平台模块用户提出的用户根密钥生成请求的硬件,例如接收器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的第一发送单元,可以是具有执行前述可信平台模块所有者将所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据发送至所述可信平台模块用户功能的硬件,例如第一发送器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
附图5示例的可信平台模块52可以包括验证单元601和生成单元602,请求模块51还包括第二发送单元603,如附图6所示本发明另一实施例提供的可信计算平台用户根密钥生成装置,其中:
所述第二发送单元603,用于可信平台模块所有者向所述可信平台模块52发送要求生成所述可信平台模块用户的用户根密钥的命令,所述命令包括预置用户根密钥的口令。
所述验证单元601,用于验证所述可信平台模块所有者的合法性。
所述生成单元602,用于若验证所述可信平台模块所有者合法,则根据所述预置用户根密钥的口令生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据并返回至所述可信平台模块所有者。
所述可信平台模块所有者向所述可信平台模块52发送要求生成所述可信平台模块用户的用户根密钥的命令还包括存储根密钥授权数据和所述可信平台模块所有者授权数据,此时,所述验证单元601具体用于验证所述存储根密钥授权数据和所述可信平台模块所有者授权数据的合法性,所述第二发送单元603具体用于所述可信平台模块所有者调用可信计算组织软件栈命令接口向所述可信平台模块52发送要求生成所述可信平台模块用户的用户根密钥的命令。
请参阅附图7,是本发明实施例提供的可信计算平台用户密钥生成装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图7示例的可信计算平台用户密钥生成装置包括可信平台模块701、接收模块702和用户密钥生成模块703,其中:
所述可信平台模块701,用于将可信平台模块用户的用户根密钥私有化。
所述接收模块702,用于接收用户密钥创建请求,所述用户密钥创建请求包括父密钥的密钥类型。
所述用户密钥生成模块703,用于根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥。
需要说明的是,以上可信计算平台用户密钥生成装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述可信计算平台用户密钥生成装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的接收模块,可以是具有执行前述接收用户密钥创建请求的硬件,例如接收器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的用户密钥生成模块,可以是具有执行前述根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥功能的硬件,例如用户密钥生成器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
附图7示例的可信平台模块701可以包括请求接收单元801、验证单元802和设置单元803,如附图8所示本发明另一实施例提供的可信计算平台用户密钥生成装置,其中:
所述请求接收单元801,用于接收所述可信平台模块用户发送的更改所述用户根密钥的口令的请求。
所述验证单元802,用于验证所述可信平台模块用户提供的父授权数据和所述用户根密钥的旧有授权数据。
所述设置单元803,用于设置所述可信平台模块用户的用户根密钥的私有化标志。
附图7示例的用户密钥生成模块703可以包括判断单元901、检测单元902、验证单元903和创建单元904,如附图9所示本发明另一实施例提供的可信计算平台用户密钥生成装置,其中:
所述判断单元901,用于根据父密钥的密钥类型,判断用户密钥创建请求是否是可信平台模块用户发起。
所述检测单元902,用于若所述判断单元901判断所述用户密钥创建请求是可信平台模块用户发起,则检测所述可信平台模块用户的用户根密钥的私有化标志。
所述验证单元903,用于若检测通过,则验证所述私有化的用户根密钥的授权数据。
所述创建单元904,用于若验证通过,则创建所述可信平台模块用户的用户密钥。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,比如以下各种方法的一种或多种或全部:
方法一,可信计算平台用户根密钥生成方法,包括:可信平台模块所有者接收可信平台模块用户提出的用户根密钥生成请求;所述可信平台模块通过与所述可信平台模块所有者交互,生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据;所述可信平台模块所有者将所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据发送至所述可信平台模块用户。
方法二,可信计算平台用户密钥生成方法,包括:将可信平台模块用户的用户根密钥私有化;接收用户密钥创建请求,所述用户密钥创建请求包括父密钥的密钥类型;根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例提供的可信计算平台用户根密钥和用户密钥生成方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种可信计算平台用户根密钥生成方法,其特征在于,所述方法包括:
可信平台模块所有者接收可信平台模块用户提出的用户根密钥生成请求;
所述可信平台模块通过与所述可信平台模块所有者交互,生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据;
所述可信平台模块所有者将所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据发送至所述可信平台模块用户。
2.如权利要求1所述的方法,其特征在于,所述可信平台模块通过与所述可信平台模块所有者交互,生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据包括:
所述可信平台模块所有者向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令,所述命令包括预置用户根密钥的口令;
所述可信平台模块验证所述可信平台模块所有者的合法性;
若验证所述可信平台模块所有者合法,则根据所述预置用户根密钥的口令生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据并返回至所述可信平台模块所有者。
3.如权利要求2所述的方法,其特征在于,所述命令还包括存储根密钥授权数据和所述可信平台模块所有者授权数据;
所述可信平台模块验证所述可信平台模块所有者的合法性包括:
所述可信平台模块验证所述存储根密钥授权数据和所述可信平台模块所有者授权数据的合法性。
4.如权利要求2所述的方法,其特征在于,所述可信平台模块所有者向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令包括:
所述可信平台模块所有者调用可信计算组织软件栈命令接口向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令。
5.一种可信计算平台用户密钥生成方法,其特征在于,所述方法包括:
将可信平台模块用户的用户根密钥私有化;
接收用户密钥创建请求,所述用户密钥创建请求包括父密钥的密钥类型;
根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥。
6.如权利要求5所述的方法,其特征在于,所述将可信平台模块用户的用户根密钥私有化包括:
可信平台模块接收所述可信平台模块用户发送的更改所述用户根密钥的口令的请求;
所述可信平台模块验证所述可信平台模块用户提供的父授权数据和所述用户根密钥的旧有授权数据;
所述可信平台模块设置所述可信平台模块用户的用户根密钥的私有化标志。
7.如权利要求5所述的方法,其特征在于,所述根据所述用户密钥创建请求和私有化的用户根密钥,创建所述可信平台模块用户的用户密钥包括:
根据父密钥的密钥类型,判断用户密钥创建请求是否是可信平台模块用户发起;
若所述用户密钥创建请求是可信平台模块用户发起,则检测所述可信平台模块用户的用户根密钥的私有化标志;
若检测通过,则验证所述私有化的用户根密钥的授权数据;
若验证通过,则创建所述可信平台模块用户的用户密钥。
8.一种可信计算平台用户根密钥生成装置,其特征在于,所述装置包括请求模块和可信平台模块,所述请求模块包括接收单元和第一发送单元;
所述接收单元,用于可信平台模块所有者接收可信平台模块用户提出的用户根密钥生成请求;
所述可信平台模块,用于通过与所述请求模块交互,生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据;
所述第一发送单元,用于所述可信平台模块所有者将所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据发送至所述可信平台模块用户。
9.如权利要求8所述的装置,其特征在于,所述可信平台模块包括验证单元和生成单元,所述请求模块还包括第二发送单元;
所述第二发送单元,用于可信平台模块所有者向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令,所述命令包括预置用户根密钥的口令;
所述验证单元,用于验证所述可信平台模块所有者的合法性;
所述生成单元,用于若验证所述可信平台模块所有者合法,则根据所述预置用户根密钥的口令生成所述可信平台模块用户的用户根密钥和所述用户根密钥的授权数据并返回至所述可信平台模块所有者。
10.如权利要求9所述的装置,其特征在于,所述命令还包括存储根密钥授权数据和所述可信平台模块所有者授权数据;
所述验证单元具体用于验证所述存储根密钥授权数据和所述可信平台模块所有者授权数据的合法性。
11.如权利要求9所述的装置,其特征在于,所述第二发送单元具体用于所述可信平台模块所有者调用可信计算组织软件栈命令接口向所述可信平台模块发送要求生成所述可信平台模块用户的用户根密钥的命令。
12.一种可信计算平台用户密钥生成装置,其特征在于,所述装置包括:
可信平台模块,用于将可信平台模块用户的用户根密钥私有化;
接收模块,用于接收用户密钥创建请求,所述用户密钥创建请求包括父密钥的密钥类型;
用户密钥生成模块,用于根据所述用户密钥创建请求和所述私有化的用户根密钥,创建所述可信平台模块用户的用户密钥。
13.如权利要求12所述的装置,其特征在于,所述可信平台模块包括:
请求接收单元,用于接收所述可信平台模块用户发送的更改所述用户根密钥的口令的请求;
验证单元,用于验证所述可信平台模块用户提供的父授权数据和所述用户根密钥的旧有授权数据;
设置单元,用于设置所述可信平台模块用户的用户根密钥的私有化标志。
14.如权利要求12所述的装置,其特征在于,所述用户密钥生成模块包括:
判断单元,用于根据父密钥的密钥类型,判断用户密钥创建请求是否是可信平台模块用户发起;
检测单元,用于若所述判断单元判断所述用户密钥创建请求是可信平台模块用户发起,则检测所述可信平台模块用户的用户根密钥的私有化标志;
验证单元,用于若检测通过,则验证所述私有化的用户根密钥的授权数据;
创建单元,用于若验证通过,则创建所述可信平台模块用户的用户密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210092732.9A CN102647273B (zh) | 2012-03-31 | 2012-03-31 | 可信计算平台用户根密钥和用户密钥生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210092732.9A CN102647273B (zh) | 2012-03-31 | 2012-03-31 | 可信计算平台用户根密钥和用户密钥生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102647273A true CN102647273A (zh) | 2012-08-22 |
CN102647273B CN102647273B (zh) | 2015-06-24 |
Family
ID=46659861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210092732.9A Active CN102647273B (zh) | 2012-03-31 | 2012-03-31 | 可信计算平台用户根密钥和用户密钥生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102647273B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107070881A (zh) * | 2017-02-20 | 2017-08-18 | 北京古盘创世科技发展有限公司 | 密钥管理方法、***及用户终端 |
CN113282910A (zh) * | 2021-04-22 | 2021-08-20 | 中国科学院软件研究所 | 一种可信计算信任根的根密钥保护方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030133575A1 (en) * | 2002-01-14 | 2003-07-17 | Challener David Carroll | Super secure migratable keys in TCPA |
CN1988437A (zh) * | 2006-11-22 | 2007-06-27 | 北京工业大学 | 可信计算平台密钥授权数据管理***及方法 |
US7281010B2 (en) * | 2000-11-15 | 2007-10-09 | Lenovo (Singapore) Pte. Ltd. | Trusted computing platform with dual key trees to support multiple public/private key systems |
CN101430747A (zh) * | 2008-09-26 | 2009-05-13 | 武汉大学 | 基于可信嵌入式平台的移动设备及其安全存储方法 |
CN102355351A (zh) * | 2011-07-21 | 2012-02-15 | 华为技术有限公司 | 一种基于可信计算的密钥生成、备份和迁移方法及*** |
-
2012
- 2012-03-31 CN CN201210092732.9A patent/CN102647273B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7281010B2 (en) * | 2000-11-15 | 2007-10-09 | Lenovo (Singapore) Pte. Ltd. | Trusted computing platform with dual key trees to support multiple public/private key systems |
US20030133575A1 (en) * | 2002-01-14 | 2003-07-17 | Challener David Carroll | Super secure migratable keys in TCPA |
CN1988437A (zh) * | 2006-11-22 | 2007-06-27 | 北京工业大学 | 可信计算平台密钥授权数据管理***及方法 |
CN101430747A (zh) * | 2008-09-26 | 2009-05-13 | 武汉大学 | 基于可信嵌入式平台的移动设备及其安全存储方法 |
CN102355351A (zh) * | 2011-07-21 | 2012-02-15 | 华为技术有限公司 | 一种基于可信计算的密钥生成、备份和迁移方法及*** |
Non-Patent Citations (1)
Title |
---|
TRUSTED COMPUTING GROUP: "Part l Design Principles-Specification Version1.2-Revision 94", 《TPM MAIN》, 29 March 2006 (2006-03-29) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107070881A (zh) * | 2017-02-20 | 2017-08-18 | 北京古盘创世科技发展有限公司 | 密钥管理方法、***及用户终端 |
CN107070881B (zh) * | 2017-02-20 | 2020-11-27 | 北京古盘创世科技发展有限公司 | 密钥管理方法、***及用户终端 |
CN113282910A (zh) * | 2021-04-22 | 2021-08-20 | 中国科学院软件研究所 | 一种可信计算信任根的根密钥保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102647273B (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708991B (zh) | 服务的授权方法、装置、计算机设备和存储介质 | |
EP3061027B1 (en) | Verifying the security of a remote server | |
US11432150B2 (en) | Method and apparatus for authenticating network access of terminal | |
JP5860815B2 (ja) | コンピューターポリシーを施行するためのシステムおよび方法 | |
CN103532713B (zh) | 传感器认证和共享密钥产生方法和***以及传感器 | |
CN102984115B (zh) | 一种网络安全方法、及客户端服务器 | |
CN101534192B (zh) | 一种提供跨域令牌的***和方法 | |
JP2005196776A (ja) | 通信端末と通信機器との間の安全なデータ通信方法及びそのシステム | |
CN103297437A (zh) | 一种移动智能终端安全访问服务器的方法 | |
CN101841525A (zh) | 安全接入方法、***及客户端 | |
CN104735065A (zh) | 一种数据处理方法、电子设备及服务器 | |
CN103888429B (zh) | 虚拟机启动方法、相关设备和*** | |
CN108111497A (zh) | 摄像机与服务器相互认证方法和装置 | |
CN112422500B (zh) | 跨平台数据传输方法以及装置、存储介质、电子装置 | |
CN103236931A (zh) | 一种基于tpm的身份验证方法及***以及相关设备 | |
EP4024311A1 (en) | Method and apparatus for authenticating biometric payment device, computer device and storage medium | |
CN115001841A (zh) | 一种身份认证方法、装置及存储介质 | |
CN111954211A (zh) | 一种移动终端新型认证密钥协商*** | |
CN103780584A (zh) | 一种基于云计算的融合身份认证方法 | |
Alzomai et al. | The mobile phone as a multi OTP device using trusted computing | |
CN110958266A (zh) | 数据处理方法、***、计算机设备和存储介质 | |
CN114826702A (zh) | 数据库访问密码加密方法、装置和计算机设备 | |
CN109474431B (zh) | 客户端认证方法及计算机可读存储介质 | |
CN104333451A (zh) | 一种可信自助服务*** | |
CN102202291B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160114 Address after: 518000 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park South high SSMEC building four layer on the north side of room E Patentee after: SHENZHEN TISMART TECHNOLOGY CO., LTD. Address before: 518000 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park South Road No. 015 building 4 layer on the north side of micro chamber E Patentee before: Shenzhen Digital TV National Engineering Laboratories, Inc. |