CN111191217B - 一种密码管理方法及相关装置 - Google Patents

一种密码管理方法及相关装置 Download PDF

Info

Publication number
CN111191217B
CN111191217B CN201911390163.4A CN201911390163A CN111191217B CN 111191217 B CN111191217 B CN 111191217B CN 201911390163 A CN201911390163 A CN 201911390163A CN 111191217 B CN111191217 B CN 111191217B
Authority
CN
China
Prior art keywords
chip
key
ciphertext
password
tpm
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
CN201911390163.4A
Other languages
English (en)
Other versions
CN111191217A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201911390163.4A priority Critical patent/CN111191217B/zh
Publication of CN111191217A publication Critical patent/CN111191217A/zh
Priority to EP20907232.1A priority patent/EP4064084A4/en
Priority to PCT/CN2020/117110 priority patent/WO2021129003A1/zh
Priority to US17/849,307 priority patent/US20220366030A1/en
Application granted granted Critical
Publication of CN111191217B publication Critical patent/CN111191217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了一种密码管理方法及相关装置,通过将TPM所有者密码以密文的形式存储在芯片内,能够提高TPM所有者密码在存储过程中的安全性。本申请实施例方法包括:芯片通过第一密钥以及预置的加密算法对第一TPM所有者密码进行加密,得到该第一TPM所有者密码对应的第一密文;在得到第一密文之后,芯片将该第一密文存储在芯片中的安全存储区域中。

Description

一种密码管理方法及相关装置
技术领域
本申请涉及信息安全技术领域,尤其涉及一种密码管理方法及相关装置。
背景技术
可信平台模块(trusted platform module,TPM)可以应用于计算机、服务器等设备上,还可以应用于路由器或交换机等网络设备上,能够起到保障设备信息安全的作用。
对于TPM而言,每个TPM都会存在有一个TPM所有者密码(TPM owner password),该TPM所有者密码能够影响TPM大部分功能的使用。在网络设备中,当网络设备上的软件程序需要使用TPM的一些功能时,往往需要向该TPM传递TPM所有者密码,只有在TPM所有者密码正确的情况下,软件程序才能够使用TPM的相关功能。
目前,网络设备上的软件程序往往是将TPM所有者密码以明文的形式存储在闪存(Flash Memory)上,仅仅依靠闪存上的权限访问控制机制来限制读取TPM所有者密码的进程。然而,目前的TPM所有者密码存储方式存在有非法进程绕过权限访问控制机制而直接获取TPM所有者密码的风险,TPM所有者密码的安全性较低。
发明内容
本申请实施例提供了一种密码管理方法及相关装置,通过芯片对TPM所有者密码进行加密,并且将加密后所得到的密文存储在芯片内,使得TPM所有者密码以密文的形式存储在芯片内,提高了TPM所有者密码在存储过程中的安全性,有效保证了TPM所有者密码的安全使用。
本申请实施例第一方面提供了一种密码管理方法,该方法包括:在需要安全存储TPM所有者密码的情况下,芯片可以通过第一密钥以及预置的加密算法对第一TPM所有者密码进行加密,得到第一密文;芯片将第一密文存储在芯片中的安全存储区域,其中,该安全存储区域可以是不对芯片的外部实体提供有访问接口的存储区域,即芯片不支持外部的实体访问该安全存储区域。
本实施例中,通过芯片对TPM所有者密码进行加密,并且将加密后所得到的密文存储在芯片内,使得TPM所有者密码以密文的形式安全地存储在芯片内,降低了TPM所有者密码泄露的风险,提高了TPM所有者密码在存储过程中的安全性,可以有效保证TPM所有者密码的安全使用。
在一种可能的实现方式中,第一密钥是由芯片生成的密钥,第一密钥明文存储在芯片中。这样,在芯片通过第一密钥对第一TPM所有者密码进行加密之前,芯片先从存储第一密钥的区域中获取第一密钥,然后再对第一TPM所有者密码进行加密。
在一种可能的实现方式中,第一密钥为由芯片生成的密钥,第一密钥加密存储在芯片中。这样,在芯片通过第一密钥对第一TPM所有者密码进行加密之前,芯片可以先从存储第一密钥对应的密文的区域中获取该密文,对该密文进行解密后得到第一密钥,然后再通过第一密钥对第一TPM所有者密码进行加密。
在一种可能的实现方式中,第一密钥可以是由芯片的根密钥派生得到的密钥,第一密钥也可以是基于物理不可克隆技术(physical unclonable function,PUF)生成的密钥。
在一种可能的实现方式中,芯片通过第一密钥对第一TPM所有者密码进行加密之前,方法还包括:芯片获取第一请求,该第一请求可以是由实体向芯片发送的,第一请求中携带有第一TPM所有者密码,用于指示芯片存储第一TPM所有者密码;根据第一请求,芯片存储第一TPM所有者密码,即芯片通过第一密钥对第一TPM所有者密码进行加密得到第一密文之后,将第一密文存储在芯片的安全存储区域。
在一种可能的实现方式中,芯片将第一密文存储在芯片中的安全存储区域之后,方法还包括:芯片获取第一实体发送的第二请求,该第二请求用于请求芯片解密第一TPM所有者密码对应的第一密文,以及将解密得到的第一TPM所有者密码返回给第一实体;根据第二请求,芯片通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;芯片向第一实体发送第一TPM所有者密码,以使得第一实体能够在接收到第一TPM所有者密码之后,调用TPM中需要验证第一TPM所有者密码的相关功能。
本实施例中,在芯片获取到第一实体的第二请求之后,由芯片通过第一密钥对第一密文进行解密,得到第一TPM所有者密码,并且向第一实体发送该第一TPM所有者密码,确保了第一实体能够安全地使用在芯片中所存储的TPM所有者密码。
在一种可能的实现方式中,芯片将第一密文存储在芯片中的安全存储区域之后,方法还包括:芯片获取第二实体发送的第三请求,第三请求中携带有第二TPM所有者密码,用于指示芯片将第一TPM所有者密码更新为第二TPM所有者密码;芯片通过第一密钥对第二TPM所有者密码进行加密,得到第二密文;芯片将安全存储区域中的第一密文替换为第二密文。
本实施例中,通过由芯片获取第二实体发送的第三请求,以及通过第一密钥对更新后的第二TPM所有者密码进行加密,得到第二密文,并且将第二密文存储在安全存储区域中,从而实现TPM所有者密码的更新,保证TPM所有者密码的安全性。
在一种可能的实现方式中,芯片将第一密文存储在安全存储区域之后,方法还包括:在需要迁移TPM所有者密码的情况下,例如需要将TPM迁移到其他的设备上时,可以由第三实体向芯片发送第四请求;芯片获取第三实体发送的第四请求,第四请求中携带有第二密钥,该第二密钥为非该芯片生成的密钥;芯片通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;芯片通过第二密钥对第一TPM所有者密码进行加密,得到第三密文;芯片向第三实体发送第三密文。
在本实施例中,在芯片获取到第三实体发送的第四请求的情况下,芯片对第一密文进行解密,得到第一TPM所有者密码,并且基于第三实体所提供的外部密钥对第一TPM所有者密码进行加密,将加密后的第三密文返回给第三实体,从而实现将TPM所有者密码以密文的方式进行迁移,提高了方案的灵活性。
在一种可能的实现方式中,芯片通过第一密钥对第一TPM所有者密码进行加密,包括:芯片通过第一密钥和明文信息对第一TPM所有者密码进行加密,其中,明文信息为芯片中以明文形式存储的加密信息。加密信息是指用于对所述第一TPM所有者密码进行加密所使用的信息。明文信息例如可以包括salt和初始化向量(initialization vector,IV)中的一种或多种。
本申请实施例第二方面提供了一种芯片,该芯片包括:处理器和存储器;处理器,用于通过第一密钥对第一TPM所有者密码进行加密,得到第一密文;存储器,用于将第一密文存储在安全存储区域。
在一种可能的实现方式中,第一密钥是由芯片生成的密钥,第一密钥明文存储在芯片中。
在一种可能的实现方式中,第一密钥为由芯片生成的密钥,第一密钥加密存储在芯片中。
在一种可能的实现方式中,第一密钥是由芯片的根密钥派生得到的密钥。
在一种可能的实现方式中,芯片还包括通信接口,通信接口用于获取第一请求,第一请求中携带有第一TPM所有者密码;存储器还用于存储第一TPM所有者密码。
在一种可能的实现方式中,通信接口获取第一实体发送的第二请求;处理器,还用于根据第二请求,通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;通信接口,还用于向第一实体发送第一TPM所有者密码。
在一种可能的实现方式中,通信接口用于获取第二实体发送的第三请求,第三请求中携带有第二TPM所有者密码;处理器,还用于通过第一密钥对第二TPM所有者密码进行加密,得到第三密文;将安全存储区域中的第一密文替换为第三密文。
在一种可能的实现方式中,通信接口用于获取第三实体发送的第四请求,第四请求中携带有第二密钥;处理器,还用于通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;处理器,还用于通过第二密钥对第一TPM所有者密码进行加密,得到第四密文;通信接口,还用于向第三实体发送第四密文。
在一种可能的实现方式中,处理器,还用于通过第一密钥和明文信息对第一TPM所有者密码进行加密,其中,明文信息为芯片中以明文形式存储的加密信息。
本申请实施例第三方面提供了一种芯片,该芯片包括:处理单元和存储单元;处理单元,用于通过第一密钥对第一TPM所有者密码进行加密,得到第一密文;存储单元,用于将第一密文存储在安全存储区域。
在一种可能的实现方式中,第一密钥是由芯片生成的密钥,第一密钥明文存储在芯片中。
在一种可能的实现方式中,第一密钥为由芯片生成的密钥,第一密钥加密存储在芯片中。
在一种可能的实现方式中,第一密钥是由芯片的根密钥派生得到的密钥。
在一种可能的实现方式中,芯片还包括收发单元,收发单元用于获取第一请求,第一请求中携带有第一TPM所有者密码;存储单元还用于存储第一TPM所有者密码。
在一种可能的实现方式中,收发单元获取第一实体发送的第二请求;处理单元,还用于根据第二请求,通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;收发单元,还用于向第一实体发送第一TPM所有者密码。
在一种可能的实现方式中,收发单元用于获取第二实体发送的第三请求,第三请求中携带有第二TPM所有者密码;处理单元,还用于通过第一密钥对第二TPM所有者密码进行加密,得到第三密文;以及将安全存储区域中的第一密文替换为第三密文。
在一种可能的实现方式中,收发单元用于获取第三实体发送的第四请求,第四请求中携带有第二密钥;处理单元,还用于通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;处理单元,还用于通过第二密钥对第一TPM所有者密码进行加密,得到第四密文;收发单元,还用于向第三实体发送第四密文。
在一种可能的实现方式中,处理单元,还用于通过第一密钥和明文信息对第一TPM所有者密码进行加密,其中,明文信息为芯片中以明文形式存储的加密信息。
本申请实施例第四方面提供一种网络设备,包括第二方面或第三方面中任一实现方式的芯片。
本申请实施例第五方面一种计算机存储介质,包括计算机指令,当计算机指令在处理器上运行时,使得芯片执行第一方面任一实现方式中的密码管理方法。
本申请实施例第六方面一种计算机程序产品,其特征在于,当计算机程序产品在处理器上运行时,使得计算机执行第一方面任一实现方式中的密码管理方法。
本申请所提供的实现方式可以在不冲突的情况下互相结合。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种密码管理方法及相关装置,通过芯片对TPM所有者密码进行加密,并且将加密后所得到的密文存储在芯片内,使得TPM所有者密码以密文的形式存储在芯片内,提高了TPM所有者密码在存储过程中的安全性,有效保证了TPM所有者密码的安全使用。
附图说明
图1为本申请实施例提供的一种TPM所有者密码存储和使用的示意图;
图2为本申请实施例提供的一种密码管理方法的应用场景示意图;
图3为本申请实施例提供的密码管理方法的流程示意图;
图4为本申请实施例提供的密钥生成方法的流程示意图;
图5为本申请实施例提供的一种通过密钥和IV进行加密的流程示意图;
图6为本申请实施例提供的密码管理方法的流程示意图;
图7为本申请实施例提供的密码管理方法的流程示意图;
图8为本申请实施例提供的密码更新方法的流程示意图;
图9为本申请实施例提供的密码迁移方法的流程示意图;
图10为本申请实施例提供的密码管理方法的流程示意图;
图11为本申请实施例提供的一种芯片的结构示意图;
图12为本申请实施例提供的一种芯片的结构示意图;
图13为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
TPM可以应用在计算机或服务器等主机设备上,也可以应用在路由器或交换机等网络设备上。通常,TPM可以通过可插拔的方式嵌入到主机设备或网络设备上,TPM通过与主机设备或网络设备上的处理器进行协同工作,能够有效地保障主机设备或网络设备上的信息安全。
一般地,每个TPM都会有一个唯一的TPM所有者密码,该TPM所有者密码能够影响TPM大部分功能的使用。例如,只有在获知TPM所有者密码的情况下,才能够调用TPM上的重置TPM锁定状态、所有者授权、建立非易失性随机访问存储器(Non-Volatile RandomAccess Memory,NVRAM)索引或密钥持久性存储等功能。
在TPM应用于计算机或服务器等主机设备上的情况下,通常可以通过命令行输入的方式来输入或者是修改TPM所有者密码;在TPM应用于路由器或交换机等网络设备上的情况下,由于无法进行命令行的输入,网络设备中的进程在需要使用TPM所有者密码时,通常直接向TPM传递TPM所有者密码,从而调用TPM的相关功能。因此,在TPM应用于网络设备上时,往往会涉及到如何在网络设备中安全地存储TPM所有者密码。
目前,在计算机或服务器等主机设备上,往往可以通过全磁盘加密服务技术或者活动目录服务技术来实现TPM所有者密码的安全存储。由于计算机等主机设备与路由器或交换机等网络设备的运行方式不一样,全磁盘加密服务技术以及活动目录服务技术并不能够应用于网络设备上。
通常,在网络设备上是通过闪存(flash memory,Flash)存储与访问控制技术来实现TPM所有者密码的存储。可以参阅图1,图1为本申请实施例提供的一种TPM所有者密码存储和使用的示意图。如图1中的(a)所示,网络设备上的软件进程可以通过调用TPM上的密码设置函数来设置TPM所有者密码,TPM将设置好的TPM所有者密码存储至Flash中;如图1中的(b)所示,网络设备上的软件进程在需要使用TPM所有者密码时,软件进程从Flash中获取TPM所有者密码,然后将获取到的TPM所有者密码传递给TPM,从而实现TPM上相关功能的调用;如图1中的(c)所示,通过对Flash施加访问控制策略,可以使得只有合法访问权限的进程才能够访问Flash中所存储的TPM所有者密码;例如,在设置了允许访问Flash的进程为进程1和进程2的情况下,进程1和进程2可以访问以及读取Flash中的TPM所有者密码,而进程3则无法访问Flash中的任何内容。
该TPM所有者密码存储方式主要依靠对于Flash的权限访问控制策略来限制读取TPM所有者密码的进程,存在有非法进程绕过权限访问控制策略而直接获取TPM所有者密码的风险。由于TPM所有者密码是以明文的形式存储在Flash中的,非法进程绕过Flash的权限访问控制策略之后,便可以获取到TPM所有者密码。因此,目前在网络设备上的TPM所有者密码的存储方式安全性较低。
有鉴于此,本申请实施例提供了一种密码管理方法及相关装置,通过芯片对TPM所有者密码进行加密,并且将加密后所得到的密文存储在芯片内,使得TPM所有者密码以密文的形式存储在芯片内,提高了TPM所有者密码在存储过程中的安全性,有效保证了TPM所有者密码的安全使用。
可以参阅图2,图2为本申请实施例提供的一种密码管理方法的应用场景示意图。如图2所示,在网络设备中包括有芯片和TPM,网络设备运行时,网络设备上的实体可以与TPM之间可以进行通信,实体通过调用TPM中的密码设置函数可以设置TPM的TPM所有者密码;实体与芯片之间也可以进行通信,用于将设置好的TPM所有者密码传递给芯片,由芯片对TPM所有者密码进行加密存储;在实体需要调用TPM中需要进行TPM所有者密码验证的相关功能时,实体从芯片处获取解密后的TPM所有者密码,并且向TPM传递该TPM所有者密码,从而调用TPM中的相关功能。其中,该网络设备可以为路由器、交换机、网关或者集线器等连接到网络中的物理实体设备,在此并不对网络设备的类型做具体限定。
在本实施例中,实体指的是芯片所在的网络设备中可以发送消息的硬件模块或者软件进程,例如实体可以是网络设备中正在运行的软件进程,实体可以与TPM进行通信,并且调用TPM中的相关功能,来保障网络设备中的信息安全。
可以参阅图3,图3为本申请实施例提供的密码管理方法300的流程示意图。如图3所示,本申请实施例提供的一种密码管理方法300,包括:
301,芯片通过密钥1对TPM所有者密码1进行加密,得到密文1。
其中,TPM所有者密码1可以是预先设置于芯片中的。例如,运维人员在芯片出厂时,通过调用芯片上的接口,向芯片发送待存储的TPM所有者密码1,以使得芯片获取到待存储的TPM所有者密码1。
在芯片获取到待存储的TPM所有者密码1之后,芯片通过密钥1以及芯片中预置的加密算法对TPM所有者密码1进行加密,得到密文1,该密文1即为加密后的TPM所有者密码1。
在本实施例中,芯片可以通过对称加密算法来对TPM所有者密码1进行加密。其中,对称加密算法指的是在数据加解密的过程中,使用同一个密钥对数据进行加解密。也就是说,在芯片采用密钥1以及预置的加密算法对TPM所有者密码1进行加密得到密文1之后;芯片在解密第一密文时,芯片需要通过密钥1以及该预置的加密算法的逆算法来对密文1进行解密,以得到TPM所有者密码1。示例性地,对称加密算法具体可以包括高级加密标准(advanced encryption standard,AES)算法等算法,在此并不对芯片所采用的具体算法进行限定。
302,芯片将密文1存储在芯片中的安全存储区域。
该安全存储区域可以是不对芯片的外部实体提供有访问接口的存储区域,即芯片不支持外部的实体访问该安全存储区域,外部非法实体无法读取安全存储区域中的密文,保障了密文的存储安全性。该安全存储区域可以是芯片中的部分物理地址空间,这部分物理地址空间只能由芯片内的硬件模块实现访问或读取,外部的实体无法访问或读取。
本实施例中,通过芯片对TPM所有者密码进行加密,并且将加密后所得到的密文存储在芯片内,使得TPM所有者密码能够以密文的形式存储在芯片内,提高了TPM所有者密码在存储过程中的安全性,有效保证了TPM所有者密码的安全使用。
在一个具体的实施例中,方法300还可以包括:
303,芯片获取请求1,该请求1中携带有TPM所有者密码1。
该请求1可以是由实体1向芯片发送的,用于指示芯片存储TPM所有者密码1。例如,在实体1需要通过芯片安全地存储TPM所有者密码的情况下,实体1可以向芯片发送请求1,并且在请求1中携带有待存储的TPM所有者密码1,从而可以使得芯片能够获取到携带有TPM所有者密码1的请求1。
示例性地,在实体1和芯片之间可以部署有驱动层程序,用于实现实体1和芯片之间的通信。实体1可以通过调用驱动层程序来向芯片发送请求1,这样,芯片可以接收到驱动层程序发送的请求1,该请求1是来自于实体1的。
在方法300中,在芯片获取到请求1之后,芯片可以根据请求1以及请求1中所携带的TPM所有者密码1执行上述的步骤301和302,即芯片执行将TPM所有者密码1进行加密后存储的步骤,具体可参考上述的步骤301和302,此处不再赘述。
由方法300可知,芯片在对TPM所有者密码1进行加密时,需要获取到密钥1,以使得芯片能够通过密钥1对TPM所有者密码1进行加密。其中,芯片可以通过多种方式来获取密钥1。
在一个具体的实施方式中,密钥1是由芯片生成的密钥,且密钥1明文存储在芯片中,即密钥1以明文的形式存储在芯片中。在芯片通过密钥1对TPM所有者密码1进行加密之前,芯片先从存储密钥1的区域中获取密钥1,然后再对TPM所有者密码1进行加密。
在一个具体的实施方式中,密钥1为由芯片生成的密钥,且密钥1加密存储在芯片中。也就是说,芯片在生成密钥1之后,对密钥1进行加密,得到密钥1对应的密文2,然后将密文2存储在芯片中。这样,在芯片通过密钥1对TPM所有者密码1进行加密之前,芯片可以先从存储密文2对应的区域中获取密文2,对密文2进行解密后得到密钥1,然后再通过密钥1对TPM所有者密码1进行加密。
其中,上述的密钥1具体可以是由芯片的根密钥派生得到的密钥,密钥1也可以是基于PUF生成的密钥。PUF可以通过提取芯片制造过程中必然引入的工艺参数偏差,输出一个唯一的标识,该标识可以作为密钥1。
以密钥是芯片的根密钥派生得到的密钥为例,以下将结合图4对密钥1的生成过程进行具体描述。
图4为本申请实施例提供的密钥生成方法400的流程示意图。如图4所示,本申请实施例提供的密钥生成方法400,包括:
401,芯片内的密钥管理(Key Management,KM)模块获取根密钥以及密钥因子。
其中,根密钥是永久存储于芯片中的密钥,根密钥具有唯一性,芯片基于根密钥以及相应的密钥派生算法,能够派生得到不同的子密钥。密钥因子是随机生成的一个盐值salt,用于结合根密钥生成子密钥,不同的密钥因子结合该根密钥可以派生得到不同的子密钥。该密钥因子可以以明文的形式保存在芯片内的明文区域中。
402,KM模块基于根密钥以及密钥因子生成密钥1。
403,芯片中的加解密区域获取密钥1以及根密钥。
其中,加解密区域为芯片中集成有加解密算法的硬件模块,能够对密钥1进行加解密操作,还能够基于密钥1对TPM所有者密码1进行加解密操作。
404,加解密区域通过根密钥对密钥1进行加密,得到密文2,将密文2存储在芯片的密文区域中。
在对密钥1进行加密并存储在密文区域中的情况下,在芯片需要采用密钥1对TPM所有者密码1进行加密时,芯片可以从密文区域中获取密钥1对应的密文2,再通过根密钥对密文2进行解密得到密钥1。
本实施例中,在生成密钥1之后,通过根密钥对密钥1进行加密,再将加密后的密钥1存储至密文区域中,能够增加密钥1的存储安全性,从而进一步确保了采用密钥1进行加密的TPM所有者密码1的安全性。
在一个具体的实施方式中,方法300中的步骤301具体可以包括:芯片通过密钥1和明文信息对TPM所有者密码1进行加密。
其中,该明文信息为芯片中以明文形式存储的加密信息,可以存储在芯片的明文区域中。举例来说,明文信息可以包括salt和IV中的一种或多种。在通过密钥1以及明文信息对TPM所有者密码1进行加密的情况下,在解密时也必须采用密钥1和明文信息才能够实现TPM所有者密码1的解密。
示例性地,在通过密钥1和salt对TPM所有者密码1进行加密的过程中,可以先通过密钥1对TPM所有者密码1进行加密,得到密文3,然后将密文3与salt进行拼接,得到上述的密文1,从而实现对TPM所有者密码1的加密。也可以是先将TPM所有者密码1与salt进行拼接,再通过密钥1对拼接后的密码进行加密,得到密文1,实现对TPM所有者密码1的加密。可以理解的是,密文3或者TPM所有者密码1与salt进行拼接时,可以将salt拼接到密文3或者TPM所有者密码1中的任意位置,例如拼接到前面、后面或者中间,还可以是拆开salt后进行拼接,或者是将salt进行倒序拼接,在此并不限定salt拼接的具体方式。其中,salt可以是由芯片随机生成的一个随机数,与该TPM所有者密码1对应且存储在芯片中。
示例性地,在一些实施例中,在通过密钥1和IV对TPM所有者密码1进行加密的过程中,将作为明文的TPM所有者密码1拆分为多个明文分组并进行排序,在加密时,将IV与第一个明文分组进行异或运算(XOR运算)后采用密钥1进行加密,得到第一个密文分组;然后将后续的明文分组与前一个密文分组进行XOR运算之后,再进行加密,最后得到多个密文分组,多个密文分组构成TPM所有者密码1对应的第一密文。具体地,可以参阅图5,图5为本申请实施例提供的一种通过密钥1和IV进行加密的流程示意图。
示例性地,在一些实施例中,还可以通过密钥1、salt以及IV对TPM所有者密码1进行加密。例如,在通过密钥1和IV加密得到密文之后,将salt拼接到密文中,得到TPM所有者密码1对应的密文1。
可以参阅图6,图6为本申请实施例提供的密码管理方法600的流程示意图。如图6所示,本申请实施例提供的密码管理方法600,包括:
601,实体2向TPM发送密码设置指令。
其中,实体2可以通过向TPM发送密码设置指令,来调用TPM中的所有者密码设置函数设置TPM所有者密码1。实体2设置TPM所有者密码1具体可以是由实体2生成一个随机数,然后将该随机数传递给TPM,以使得TPM将该随机数设置为TPM所有者密码1;也可以是由TPM生成一个随机数,将该随机数作为TPM所有者密码1,在此并不具体限定实体2设置TPM所有者密码1的方式。
602,TPM向实体2发送设置好的TPM所有者密码1。
在设置完毕TPM所有者密码1之后,TPM向实体2返回设置好的TPM所有者密码1。
603,实体2向驱动层程序发送请求2。
实体2调用驱动层程序,通过驱动层程序向芯片发送请求2,该请求2中可以携带有待存储的TPM所有者密码1。
604,驱动层程序向芯片发送该请求2。
其中,驱动层程序可以以指令的方式向芯片转发该请求1。
605,芯片根据请求2,通过密钥1对TPM所有者密码1进行加密,得到密文1。
在芯片需要通过密钥和明文信息对TPM所有者密码进行加密的情况下,芯片在获取到请求2之后,可以分别在明文区域以及密文区域中获取明文信息1和密钥1,并且在加解密区域中通过明文信息1和密钥1对TPM所有者密码1进行加密,得到密文1。
在芯片只是通过密钥对TPM所有者密码进行加密的情况下,芯片在获取到请求2之后,可以分别在密文区域中获取密钥1,并且在加解密区域中通过密钥1对TPM所有者密码1进行加密,得到密文1。
其中,在密钥1没有被加密的情况下,芯片中的加解密区域可以直接从密文区域获取密钥1;在密钥1被根密钥进行了加密的情况下,芯片获取根密钥,从密文区域中获取密钥1对应的密文,并且采用根密钥对密钥1对应的密文进行解密后得到密钥1。
在步骤606中,芯片将密文1存储在安全存储区域中。
本实施例中,通过芯片获取实体的请求,根据实体的请求对TPM所有者密码进行加密,并且将加密后所得到的密文存储在芯片内,使得TPM所有者密码以密文的形式安全地存储在芯片内,降低了TPM所有者密码泄露的风险,提高了TPM所有者密码在存储过程中的安全性,可以有效保证TPM所有者密码的安全使用。
可以参阅图7,图7为本申请实施例提供的密码管理方法700的流程示意图。如图7所示,本申请实施例提供的密码管理方法700,包括:
701,实体3向驱动层程序发送请求3。
在芯片将TPM所有者密码对应的密文存储在芯片中的安全存储区域之后,在实体3要调用TPM中需要进行TPM所有者密码验证的相关功能时,实体3可以通过驱动层程序向芯片发送请求3,以请求芯片返回解密后的TPM所有者密码。其中,实体3与图6对应实施例中的实体2可以是同一个实体,实体3与图6对应实施例中的实体2也可以不是同一个实体,在此不做限定。
在步骤702中,驱动层程序向芯片发送该请求3。
示例性地,驱动层程序在获取到实体3发送的请求3后,可以以指令的形式向芯片转发该请求3。
示例性地,在请求3中可以携带有实体3的标识,该标识用于向芯片表示实体3的身份,也就是说,芯片在获取到请求3之后,可以根据请求3中的标识确认请求进行密码解密的实体。
在步骤703中,芯片获取密钥1以及密文1,通过密钥1对密文1进行解密,得到TPM所有者密码1。
其中,密钥1是芯片中用于加密TPM所有者密码1的密钥,密文1为通过密钥1对TPM所有者密码1进行加密后得到的密文。
在一个具体的实施方式中,在请求3中携带有实体3的标识的情况下,芯片可以基于标识确定实体3的身份,并且确定实体3是否具有请求密码解密的权限;如果芯片确定实体3具有密码解密权限,则可以对第一密文进行解密,否则,拒绝请求3。例如,具有密码解密权限的实体可以是预先在芯片中设置好的,例如,预先在芯片中设置多个实体具有密码解密权限;也可以是芯片根据进行TPM所有者密码存储的实体所确定的,也就是说,在芯片在接收到用于指示芯片存储TPM所有者密码的请求,以及对TPM所有者密码进行存储之后,可以根据该请求中所携带的标识确定具有密码解密权限的实体,而该实体之外的实体则不具备有密码解密权限,从而限制非法实体请求芯片进行TPM所有者密码的解密。
示例性地,在芯片通过密钥1和明文信息对TPM所有者密码1进行加密的情况下,芯片可以分别从密文区域、明文区域以及安全存储区域获取密钥1、明文信息以及密文1,然后基于加解密区域,通过密钥1和明文信息对密文1进行解密,得到TPM所有者密码1。
示例性地,在芯片通过密钥1对TPM所有者密码1进行加密的情况下,芯片可以分别从密文区域以及安全存储区域获取密钥1和密文1,然后基于加解密区域,通过密钥1对密文1进行解密,得到TPM所有者密码1。
在一个具体的实施方式中,在密钥1没有被加密的情况下,芯片可以直接从密文区域获取密钥1;在密钥1被根密钥加密的情况下,芯片则可以获取根密钥以及密钥1对应的密文,通过采用根密钥对密钥1对应的密文进行解密,得到密钥1。
在步骤704中,芯片向驱动层程序发送TPM所有者密码1。
示例性地,作为对实体3发送的请求3的响应,芯片在解密得到TPM所有者密码1之后,芯片向驱动层程序发送TPM所有者密码1,以使得驱动层程序将TPM所有者密码1发送给实体3。
在步骤705中,驱动层程序向实体3发送TPM所有者密码1。
在步骤706中,实体3向TPM发送TPM所有者密码1。
实体3在获取到TPM所有者密码1之后,可以向TPM发送该TPM所有者密码1。TPM对实体3发送的TPM所有者密码1进行验证,在TPM所有者密码1验证通过之后,则TPM允许实体3调用TPM中的相关功能。
本实施例中,在芯片存储了TPM所有者密码之后,实体通过向芯片发送请求,来使得芯片根据请求解密存储于芯片中的TPM所有者密码,并将解密后的TPM所有者返回给实体,可以保证实体在需要使用TPM所有者密码的时候,能够安全地从芯片中获取TPM所有者密码,保证了TPM所有者密码的安全性。
可以参阅图8,图8为本申请实施例提供的密码更新方法800的流程示意图。如图8所示,本申请实施例提供的密码更新方法800,包括:
801,实体4向TPM请求更新TPM所有者密码。
其中,实体4与图6对应实施例中的实体2以及图7对应实施例中的实体3可以是同一个实体,实体4与实体2和实体3也可以分别是不同的实体,在此不做限定;
在芯片将第一密文存储在芯片中的安全存储区域之后,实体4可以通过调用TPM中的密码设置函数,向TPM请求更新TPM所有者密码。
802,TPM所有者密码向实体4返回TPM所有者密码2,即更新后的TPM所有者密码。
在实体4向TPM请求更新TPM所有者密码之后,TPM对TPM所有者密码进行更新,并且将更新后得到的TPM所有者密码2返回给芯片。其中,TPM所有者密码2可以是由实体4生成的,实体4在调用TPM中的密码设置函数时将TPM所有者密码更新为其随机生成的字符串;TPM所有者密码2也可以是由TPM生成的,TPM在获取到更新TPM所有者密码的请求时,可以随机生成一个字符串,将该字符串作为更新后的TPM所有者密码2。
在步骤803中,实体4向驱动层程序发送请求4。
在实体4获得TPM返回的TPM所有者密码2之后,实体4可以通过驱动层程序向芯片发送请求4,以请求芯片存储新的TPM所有者密码。其中,该请求4中可以携带有TPM所有者密码2,用于指示芯片将TPM所有者密码1更新为TPM所有者密码2。
在步骤804中,驱动层程序向芯片发送请求4。
在步骤805中,芯片获取密钥1。
在芯片获取到请求4之后,芯片可以通过密钥1对TPM所有者密码2进行加密,或者芯片通过密钥1以及明文信息对TPM所有者密码2进行加密。示例性地,在密钥1没有被加密的情况下,芯片可以直接从密文区域获取密钥1;在密钥1被根密钥加密的情况下,芯片则可以获取根密钥以及密钥1对应的密文2,通过采用根密钥对密钥1对应的密文2进行解密,得到密钥1。
在一个具体的实施方式中,在芯片通过密钥1以及明文信息对TPM所有者密码2进行加密的情况下,芯片可以根据请求4随机生成新的明文信息,例如,芯片根据请求3随机生成新的salt和/或IV。
在步骤806中,芯片通过密钥1对TPM所有者密码2进行加密,将加密后得到的密文4存储在安全存储区域。
在芯片获取到第一密钥之后,芯片可以通过密钥1以及预置的加密算法对TPM所有者密码2进行加密,得到密文4;或者,芯片通过密钥1、明文信息以及预置的加密算法对TPM所有者密码2进行加密,得到密文4。
在一个具体的实施方式中,芯片可以将安全存储区域中的密文1替换为密文4,即将安全存储区域中的密文1删除,将密文4作为新的TPM所有者密码所对应的密文,实现TPM所有者密码的更新。
本实施例中,通过由实体向芯片发送请求,来使得芯片根据请求将原来所存储的TPM所有者密码替换为新的TPM所有者密码,可以周期性地更新TPM所有者密码,提高TPM所有者密码的安全性,保障网络设备中的信息安全。
请参阅图9,图9为本申请实施例提供的密码迁移方法900的流程示意图。如图9所示,本申请实施例提供的密码迁移方法900,包括:
901,实体5向驱动层程序发送请求5,该请求5中携带有密钥2,用于指示芯片将TPM所有者密码进行迁移。
其中,实体5与图6对应实施例中的实体2、图7对应实施例中的实体3以及图8对应实施例中的实体4可以是同一个实体,实体5与实体2、实体3以及实体4也可以分别是不同的实体,在此不做限定。
在一个具体的实施方式中,在需要将TPM所有者密码迁移至其他的网络设备的情况下,可以向芯片发送请求5,以使得芯片通过外部密钥对TPM所有者密码进行加密后,将加密后的密文迁移到外部的网络设备上。示例性地,在TPM可插拔地嵌入到网络设备中的情况下,当TPM所插入的网络设备出现故障或需要进行更换时,可以将TPM从该网络设备中拔出并且迁移到另外的网络设备上。由于该TPM具有唯一的TPM所有者密码,而该TPM所有者密码以密文的形式存储在当前网络设备的芯片中,因此,可以将芯片中所存储的TPM所有者密码进行迁移。
在一个具体的实施方式中,实体5可以通过接收其他的网络设备发送的消息,来获取密钥2;实体5也可以通过读取网络设备中预先设置的配置文件,来获取密钥2;实体5还可以通过获取工作人员以命令行的形式所输入的信息,来获取密钥2。在此并不对实体5获取密钥2的具体方式做限定。
902,驱动层程序向芯片发送请求5。
903,芯片获取密钥1以及密文1,通过密钥1对密文1进行解密,得到TPM所有者密码1。
需要说明的是,在芯片中所存储的TPM所有者密码为更新后的TPM所有者密码2时,芯片可以获取密钥1以及密文4,通过密钥1对密文4进行解密,得到TPM所有者密码2。为了便于说明,以下将以芯片中所存储的TPM所有者密码为TPM所有者密码1为例进行描述。
由于TPM所有者密码1以密文的形式存储在芯片中,要采用其他密钥对TPM所有者密码1进行加密时,可以先解密得到TPM所有者密码1。
在一个具体的实施方式中,在芯片通过密钥1对TPM所有者密码1进行加密的情况下,芯片可以分别从密文区域和安全存储区域获取密钥1以及密文1,并且通过密钥1对密文1进行解密,得到TPM所有者密码1。
在一个具体的实施方式中,在芯片通过密钥1以及明文信息对TPM所有者密码1进行加密的情况下,芯片可以分别从密文区域、明文区域和安全存储区域获取密钥1、明文信息以及密文1,并且通过密钥1和明文信息对密文1进行解密,得到TPM所有者密码1。
904,芯片通过密钥2对解密得到的TPM所有者密码1进行加密,得到密文5。
一个具体的实施方式中,芯片可以将密文5存储在可迁移存储区域中。
在芯片导入外部的密钥2之后,芯片可以采用该密钥2对解密得到的TPM所有者密码1进行加密,从而得到待迁移的密文5。
示例性地,可迁移存储区域可以是芯片中对外部实体提供有访问接口的区域,在芯片将信息存储在可迁移存储区域之后,芯片可以向驱动层发送存储于可迁移存储区域中的信息。
905,芯片将密文5发送给驱动层程序。
906,驱动层程序将密文5发送给实体5。
在一个具体的实施方式中,驱动层程序可以将密文5发送给实体5,以使得密文5能够通过实体5迁移到网络设备外。例如,实体5可以将获取到的密文5传递到与网络设备连接的设备(比如另一个网络设备,或者可插拔的存储设备等)上,从而实现密文5的迁移。
本实施例中,通过由芯片导入外部密钥,并且用外部密钥对TPM所有者密码进行加密,将加密后的TPM所有者密码以密文的形式迁移到网络设备外,能够有效、安全地实现TPM所有者密码的迁移。
请参阅图10,图10为本申请实施例提供的密码管理方法1000的流程示意图。如图9所示,本申请实施例提供的密码管理方法1000,包括:
1001,芯片通过第一密钥对第一TPM所有者密码进行加密,得到第一密文。
方法1000可以用于实现上述实施例中所述的方法300,400,600,700,800或900。当方法1000用于实现上述方法300时,该第一密钥可以是上述方法300中的密钥1,第一TPM所有者密码可以是上述方法300中的TPM所有者密码1,第一密文可以是上述方法300中的密文1。
1002,芯片将第一密文存储在芯片中的安全存储区域。
在一个具体的实施方式中,第一密钥是由芯片生成的密钥,第一密钥明文存储在芯片中。
在一个具体的实施方式中,第一密钥为由芯片生成的密钥,第一密钥加密存储在芯片中。
在一个具体的实施方式中,第一密钥是由芯片的根密钥派生得到的密钥。例如,第一密钥的生成过程可以是上述方法400中所描述的过程。
在一个具体的实施方式中,芯片通过第一密钥对第一TPM所有者密码进行加密之前,方法还包括:芯片获取第一请求,第一请求中携带有第一TPM所有者密码;根据第一请求,芯片存储第一TPM所有者密码。
例如,第一请求可以是上述方法300中的请求1或者上述方法600中的请求2,该第一密钥可以是上述方法300或方法600中的密钥1,第一TPM所有者密码可以是上述方法300或方法600中的TPM所有者密码,第一密文可以是上述方法300或方法600中的密文1。
在一个具体的实施方式中,芯片将第一密文存储在芯片中的安全存储区域之后,方法还包括:芯片获取第一实体发送的第二请求;根据第二请求,芯片通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;芯片向第一实体发送第一TPM所有者密码。
例如,第一实体可以是上述方法700中的实体3,第二请求可以是上述方法700中的请求3。
在一个具体的实施方式中,芯片将第一密文存储在芯片中的安全存储区域之后,方法还包括:芯片获取第二实体发送的第三请求,第三请求中携带有第二TPM所有者密码;芯片通过第一密钥对第二TPM所有者密码进行加密,得到第二密文;芯片将安全存储区域中的第一密文替换为第二密文。
例如,第二实体可以是上述方法800中的实体4,第三请求可以是上述方法800中的请求4,第二TPM所有者密码可以是上述方法800中的TPM所有者密码2,第二密文可以是上述方法800中的密文4。
在一个具体的实施方式中,芯片将第一密文存储在安全存储区域之后,方法还包括:芯片获取第三实体发送的第四请求,第四请求中携带有第二密钥;芯片通过第一密钥对第一密文进行解密,得到第一TPM所有者密码;芯片通过第二密钥对第一TPM所有者密码进行加密,得到第三密文;芯片向第三实体发送第三密文。
例如,第三实体可以是上述方法900中的实体5,第四请求可以是上述方法900中的请求5,第一TPM所有者密码可以是上述方法900中的TPM所有者密码1,第三密文可以是上述方法900中的密文5。
在一个具体的实施方式中,芯片通过第一密钥对第一TPM所有者密码进行加密,包括:芯片通过第一密钥和明文信息对第一TPM所有者密码进行加密,其中,明文信息为芯片中以明文形式存储的加密信息。
可以参阅图11,图11为本申请实施例提供的一种芯片1100的结构示意图。本申请实施例提供的一种芯片1100,用于实现上述方法300,400,600-1000中任一项所述的方法。芯片1100包括:处理器1101和存储器1102;处理器1101,用于实现处理的相关操作,存储器1102用于存储信息。例如,当芯片1100用于实现方法1000时,处理器1101通过第一密钥对第一TPM所有者密码进行加密,得到第一密文;存储器1102,用于将第一密文存储在安全存储区域。
在一个具体的实施方式中,第一密钥是由芯片生成的密钥,第一密钥明文存储在芯片中。
在一个具体的实施方式中,第一密钥为由芯片生成的密钥,第一密钥加密存储在芯片中。
在一个具体的实施方式中,第一密钥是由芯片的根密钥派生得到的密钥。
在一个具体的实施方式中,芯片1100还包括通信接口1103,通信接口1103用于执行接收和发送的操作。例如,芯片1100用于实现方法1000时,通信接口1103用于获取第一请求,第一请求中携带有第一TPM所有者密码存储器。
本申请中,处理器例如可以是用于实现处理功能的电路,也可以是其它能够实现处理功能的处理器,例如微处理器。处理器可以包括一个或多个处理器。存储器例如可以是用于实现存储功能的电路,也可以是其它能够实现存储功能的存储器。存储器可以包括一个或多个存储器。本申请对于处理器和存储器的具体形式不作具体限定。
可以参阅图12,图12为本申请实施例提供的一种芯片1200的结构示意图。本申请实施例提供的一种芯片1200,用于实现上述方法300,400,600-1000中任一项所述的方法。芯片1200包括:处理单元1201和存储单元1202。处理单元1201,用于实现处理的相关操作,存储单元1202用于存储信息。例如,当芯片1200用于实现方法1000时,处理单元1201,用于通过第一密钥对第一TPM所有者密码进行加密,得到第一密文;存储单元1202,用于将第一密文存储在安全存储区域。
在一个具体的实施方式中,第一密钥是由芯片生成的密钥,第一密钥明文存储在芯片中。
在一个具体的实施方式中,第一密钥为由芯片生成的密钥,第一密钥加密存储在芯片中。
在一个具体的实施方式中,第一密钥是由芯片的根密钥派生得到的密钥。
在一个具体的实施方式中,芯片还包括收发单元1203,收发单元1203用于执行接收和发送的操作。当芯片1200用于实现方法1000时,收发单元1203用于获取第一请求,第一请求中携带有第一TPM所有者密码。芯片1200中的收发单元1203可以由通信接口实现,处理单元1201可以由处理器实现,存储单元1202可以由存储器实现。
可以参阅图13,图13为本申请实施例提供的一种网络设备1300的结构示意图。本申请实施例提供的一种网络设备1300,包括:如图11或图12各实施例中的芯片1301,芯片1301用于执行图3-图9所对应的各实施例方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (20)

1.一种密码管理方法,其特征在于,所述方法由应用于网络设备的芯片执行,所述方法包括:
所述芯片通过第一密钥对第一可信平台模块TPM所有者密码进行加密,得到第一密文;
所述芯片将所述第一密文存储在所述芯片中的安全存储区域,所述安全存储区域为不对所述芯片的外部实体提供访问接口的存储区域;
其中,所述网络设备包括路由器、交换机、网关或者集线器,所述芯片不为TPM。
2.根据权利要求1所述的方法,其特征在于,所述第一密钥是由所述芯片生成的密钥,所述第一密钥明文存储在所述芯片中。
3.根据权利要求1所述的方法,其特征在于,所述第一密钥为由所述芯片生成的密钥,所述第一密钥加密存储在所述芯片中。
4.根据权利要求2或3所述的方法,其特征在于,所述第一密钥是由所述芯片的根密钥派生得到的密钥。
5.根据权利要求1至3任意一项所述的方法,其特征在于,所述芯片通过第一密钥对第一TPM所有者密码进行加密之前,所述方法还包括:
所述芯片获取第一请求,所述第一请求中携带有所述第一TPM所有者密码;
根据所述第一请求,所述芯片存储所述第一TPM所有者密码。
6.根据权利要求1至3任意一项所述的方法,其特征在于,所述芯片将所述第一密文存储在所述芯片中的安全存储区域之后,所述方法还包括:
所述芯片获取第一实体发送的第二请求;
根据所述第二请求,所述芯片通过所述第一密钥对所述第一密文进行解密,得到所述第一TPM所有者密码;
所述芯片向所述第一实体发送所述第一TPM所有者密码。
7.根据权利要求1至3任意一项所述的方法,其特征在于,所述芯片将所述第一密文存储在所述芯片中的安全存储区域之后,所述方法还包括:
所述芯片获取第二实体发送的第三请求,所述第三请求中携带有第二TPM所有者密码;
所述芯片通过所述第一密钥对所述第二TPM所有者密码进行加密,得到第二密文;
所述芯片将所述安全存储区域中的所述第一密文替换为所述第二密文。
8.根据权利要求1至3任意一项所述的方法,其特征在于,所述芯片将所述第一密文存储在安全存储区域之后,所述方法还包括:
所述芯片获取第三实体发送的第四请求,所述第四请求中携带有第二密钥;
所述芯片通过所述第一密钥对所述第一密文进行解密,得到所述第一TPM所有者密码;
所述芯片通过所述第二密钥对所述第一TPM所有者密码进行加密,得到第三密文;
所述芯片向所述第三实体发送所述第三密文。
9.根据权利要求1至3任意一项所述的密码管理方法,其特征在于,所述芯片通过第一密钥对所述第一TPM所有者密码进行加密,包括:
所述芯片通过所述第一密钥和明文信息对所述第一TPM所有者密码进行加密,其中,所述明文信息为所述芯片中以明文形式存储的加密信息。
10.一种芯片,其特征在于,所述芯片为应用于网络设备的芯片,所述芯片包括:处理器和存储器;
所述处理器,用于通过第一密钥对第一TPM所有者密码进行加密,得到第一密文;
所述存储器,用于将所述第一密文存储在安全存储区域,所述安全存储区域为不对所述芯片的外部实体提供访问接口的存储区域;
其中,所述网络设备包括路由器、交换机、网关或者集线器,所述芯片不为TPM。
11.根据权利要求10所述的芯片,其特征在于,所述第一密钥是由所述芯片生成的密钥,所述第一密钥明文存储在所述芯片中。
12.根据权利要求10所述的芯片,其特征在于,所述第一密钥为由所述芯片生成的密钥,所述第一密钥加密存储在所述芯片中。
13.根据权利要求11或12所述的芯片,其特征在于,所述第一密钥是由所述芯片的根密钥派生得到的密钥。
14.根据权利要求10至12任意一项所述的芯片,其特征在于,所述芯片还包括通信接口,所述通信接口用于获取第一请求,所述第一请求中携带有所述第一TPM所有者密码;
所述存储器还用于根据所述第一请求,存储所述第一TPM所有者密码。
15.根据权利要求10至12任意一项所述的芯片,其特征在于,所述芯片还包括通信接口,所述通信接口获取第一实体发送的第二请求;
所述处理器,还用于根据所述第二请求,通过所述第一密钥对所述第一密文进行解密,得到所述第一TPM所有者密码;
所述通信接口,还用于向所述第一实体发送所述第一TPM所有者密码。
16.根据权利要求10至12任意一项所述的芯片,其特征在于,所述芯片还包括通信接口,所述通信接口用于获取第二实体发送的第三请求,所述第三请求中携带有第二TPM所有者密码;
所述处理器,还用于:通过所述第一密钥对所述第二TPM所有者密码进行加密,得到第三密文;将所述安全存储区域中的所述第一密文替换为所述第三密文。
17.根据权利要求10至12任意一项所述的芯片,其特征在于,所述芯片还包括通信接口,所述通信接口用于获取第三实体发送的第四请求,所述第四请求中携带有第二密钥;
所述处理器,还用于:通过所述第一密钥对所述第一密文进行解密,得到所述第一TPM所有者密码;通过所述第二密钥对所述第一TPM所有者密码进行加密,得到第四密文;
所述通信接口,还用于向所述第三实体发送所述第四密文。
18.根据权利要求10至12任意一项所述的芯片,其特征在于,所述处理器,还用于通过所述第一密钥和明文信息对所述第一TPM所有者密码进行加密,其中,所述明文信息为所述芯片中以明文形式存储的加密信息。
19.一种网络设备,其特征在于,包括如权利要求10至18任意一项所述的芯片。
20.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在处理器上运行时,使得所述处理器执行如权利要求1-9中任一项所述的密码管理方法。
CN201911390163.4A 2019-12-27 2019-12-27 一种密码管理方法及相关装置 Active CN111191217B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201911390163.4A CN111191217B (zh) 2019-12-27 2019-12-27 一种密码管理方法及相关装置
EP20907232.1A EP4064084A4 (en) 2019-12-27 2020-09-23 PASSWORD MANAGEMENT METHOD AND ASSOCIATED DEVICE
PCT/CN2020/117110 WO2021129003A1 (zh) 2019-12-27 2020-09-23 一种密码管理方法及相关装置
US17/849,307 US20220366030A1 (en) 2019-12-27 2022-06-24 Password Management Method and Related Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911390163.4A CN111191217B (zh) 2019-12-27 2019-12-27 一种密码管理方法及相关装置

Publications (2)

Publication Number Publication Date
CN111191217A CN111191217A (zh) 2020-05-22
CN111191217B true CN111191217B (zh) 2022-12-13

Family

ID=70710590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911390163.4A Active CN111191217B (zh) 2019-12-27 2019-12-27 一种密码管理方法及相关装置

Country Status (4)

Country Link
US (1) US20220366030A1 (zh)
EP (1) EP4064084A4 (zh)
CN (1) CN111191217B (zh)
WO (1) WO2021129003A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111191217B (zh) * 2019-12-27 2022-12-13 华为技术有限公司 一种密码管理方法及相关装置
CN115994366A (zh) * 2021-10-20 2023-04-21 华为技术有限公司 网络设备和数据解密方法
CN115348112B (zh) * 2022-10-18 2022-12-09 中国人民解放军军事科学院系统工程研究院 一种局域网交换设备接入认证与可信组网的方法
CN117786729B (zh) * 2024-02-26 2024-05-24 芯能量集成电路(上海)有限公司 一种芯片密钥管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072100A (zh) * 2006-05-12 2007-11-14 联想(北京)有限公司 一种利用可信赖平台模块的认证系统和认证方法
CN106059771A (zh) * 2016-05-06 2016-10-26 上海动联信息技术股份有限公司 一种智能pos机密钥管理系统及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050129244A1 (en) * 2003-12-16 2005-06-16 International Business Machines Corporation System and method for mitigating denial of service attacks on trusted platform
US7743406B2 (en) * 2004-12-21 2010-06-22 International Business Machines Corporation System and method of preventing alteration of data on a wireless device
US20060230439A1 (en) * 2005-03-30 2006-10-12 Smith Ned M Trusted platform module apparatus, systems, and methods
US8261072B2 (en) * 2006-03-24 2012-09-04 Atmel Corporation Method and system for secure external TPM password generation and use
US20070234073A1 (en) * 2006-03-31 2007-10-04 Lenovo (Singapore) Pte. Ltd. Random password automatically generated by bios for securing a data storage device
US8041960B2 (en) * 2008-04-24 2011-10-18 Aruba Networks, Inc. Secure creation and management of device ownership keys
CN101420300B (zh) * 2008-05-28 2013-05-29 北京易恒信认证科技有限公司 双因子组合公钥生成和认证方法
US8510810B2 (en) * 2008-12-23 2013-08-13 Bladelogic, Inc. Secure credential store
US20120151223A1 (en) * 2010-09-20 2012-06-14 Conde Marques Ricardo Nuno De Pinho Coelho Method for securing a computing device with a trusted platform module-tpm
US8719952B1 (en) * 2011-03-25 2014-05-06 Secsign Technologies Inc. Systems and methods using passwords for secure storage of private keys on mobile devices
US20140118146A1 (en) * 2012-10-30 2014-05-01 Jen-chih Liu Intelligence ic lock
US20150026465A1 (en) * 2013-07-18 2015-01-22 Alcatel Lucent Methods And Devices For Protecting Private Data
US10025932B2 (en) * 2015-01-30 2018-07-17 Microsoft Technology Licensing, Llc Portable security device
US10049215B2 (en) * 2015-09-15 2018-08-14 The Johns Hopkins University Apparatus and method for preventing access by malware to locally backed up data
US10313121B2 (en) * 2016-06-30 2019-06-04 Microsoft Technology Licensing, Llc Maintaining operating system secrets across resets
US10735190B1 (en) * 2017-11-16 2020-08-04 Amazon Technologies, Inc. Persistent TPM-based identifier and key pair
US10592661B2 (en) * 2017-11-27 2020-03-17 Microsoft Technology Licensing, Llc Package processing
CN109768862B (zh) * 2019-03-12 2019-11-22 北京深思数盾科技股份有限公司 一种密钥管理方法、密钥调用方法及密码机
CN111191217B (zh) * 2019-12-27 2022-12-13 华为技术有限公司 一种密码管理方法及相关装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072100A (zh) * 2006-05-12 2007-11-14 联想(北京)有限公司 一种利用可信赖平台模块的认证系统和认证方法
CN106059771A (zh) * 2016-05-06 2016-10-26 上海动联信息技术股份有限公司 一种智能pos机密钥管理系统及方法

Also Published As

Publication number Publication date
EP4064084A4 (en) 2022-12-21
US20220366030A1 (en) 2022-11-17
WO2021129003A1 (zh) 2021-07-01
EP4064084A1 (en) 2022-09-28
CN111191217A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
US9703965B1 (en) Secure containers for flexible credential protection in devices
CN111191217B (zh) 一种密码管理方法及相关装置
TWI582638B (zh) 電子器件、用於建立及強制實行與一存取控制元件相關聯之一安全性原則之方法及安全元件
US8059818B2 (en) Accessing protected data on network storage from multiple devices
US9380037B2 (en) Methods and devices for trusted protocols for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management
US10122713B2 (en) Method and device for the secure authentication and execution of programs
US12003634B2 (en) Systems and methods for encrypted content management
US20140270179A1 (en) Method and system for key generation, backup, and migration based on trusted computing
US9461821B1 (en) System and method for key material protection on devices using a secret sharing scheme
EP3860036B1 (en) Key management method, security chip, service server and information system
US20160323264A1 (en) Secure Import and Export of Keying Material
CN107453880B (zh) 一种云数据安全存储方法和系统
CN116601912A (zh) 提供加密安全的后秘密供应服务
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
CN111310213A (zh) 一种业务数据保护方法、装置、设备及可读存储介质
WO2015117523A1 (zh) 访问控制方法及装置
KR102645542B1 (ko) 차량 내부 네트워크 장치 및 방법
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
CN114091058A (zh) 在第一区域和第二区域间数据安全共享的方法和系统
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
KR101107056B1 (ko) 클라우드 컴퓨팅 환경에서 가상 머신의 보안 정보 처리 방법
CN111901312A (zh) 一种网络访问控制的方法、系统、设备及可读存储介质
CN110858246B (zh) 安全代码空间的认证方法和系统、及其注册方法
EP3886355B1 (en) Decentralized management of data access and verification using data management hub
JP6997821B2 (ja) 復号システム

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