CN109960935B - 确定tpm可信状态的方法、装置及存储介质 - Google Patents

确定tpm可信状态的方法、装置及存储介质 Download PDF

Info

Publication number
CN109960935B
CN109960935B CN201711403413.4A CN201711403413A CN109960935B CN 109960935 B CN109960935 B CN 109960935B CN 201711403413 A CN201711403413 A CN 201711403413A CN 109960935 B CN109960935 B CN 109960935B
Authority
CN
China
Prior art keywords
key
host
tpm
verification
trusted
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
CN201711403413.4A
Other languages
English (en)
Other versions
CN109960935A (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 CN201711403413.4A priority Critical patent/CN109960935B/zh
Priority to PCT/CN2018/122188 priority patent/WO2019120231A1/zh
Priority to EP18890518.6A priority patent/EP3720042B1/en
Publication of CN109960935A publication Critical patent/CN109960935A/zh
Priority to US16/908,617 priority patent/US11637704B2/en
Application granted granted Critical
Publication of CN109960935B publication Critical patent/CN109960935B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • 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/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种确定TPM可信状态的方法、装置及存储介质,属于数据安全技术领域。所述方法包括:验证方向主机发送解封请求,以使主机根据该解封请求中携带的密封钥柄对当前TPM中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,任意与主机建立加密通道之后的验证方都可以根据加密通道上传输的第二验证密钥来确定主机的TPM的可信状态,避免需要通过部署远程证明服务器来确定TPM的可信状态。

Description

确定TPM可信状态的方法、装置及存储介质
技术领域
本申请涉及数据安全技术领域,特别涉及一种确定可信平台模块(TrustedPlatform Module,TPM)可信状态的方法、装置及存储介质。
背景技术
目前,为了避免主机中的数据被恶意篡改,通常会在主机中植入TPM,TPM将对主机中的数据进行加密并保存,以提高主机中的数据的安全性。其中,若TPM处于可信状态,则表明TPM中的数据未被恶意篡改,若TPM处于不可信状态,则表明TPM中的数据已被恶意篡改。也即,TPM的可信状态将直接影响到主机中的数据的安全性。因此,如何确定TPM的可信状态已经变得至关重要。
相关技术中,主机的TPM中设置有平台配置寄存器(Platform ConfigurationRegister,PCR),PCR用于记录主机中的数据的摘要值,为了后续便于说明,将该摘要值称为PCR值。当需要确定TPM的可信状态时,由预先部署的远程证明服务器向主机发送验证请求,当主机接收到该验证请求时,主机中的TPM根据本地密钥对当前的PCR值进行签名,得到签名后的PCR值,并将签名后的PCR值反馈给远程证明服务器。远程证明服务器将该签名后的PCR值和本地存储的基线值进行比较,确定两者是否一致,若一致,则表明该PCR值对应的数据未被篡改,也即TPM处于可信状态,若不一致,则表明该PCR值对应的数据已被篡改,也即TPM处于不可信状态。
在上述确定TPM的可信状态的方法,需要单独部署一个远程证明服务器,然后通过远程证明服务器确定主机的TPM的可信状态,也即,上述确定TPM可信状态的方法必须通过单独部署的远程证明服务器来实现,导致确定TPM可信状态的灵活性较低。
发明内容
为了解决相关技术确定TPM可信状态的灵活性较低的问题,本申请提供了一种确定TPM可信状态的方法、装置及存储介质。所述技术方案如下:
第一方面,提供了一种确定TPM可信状态的方法,应用于主机,该主机中配置有TPM,所述方法包括:
接收验证方发送的解封请求,所述解封请求携带密封钥柄;
其中,所述密封钥柄是所述主机在初始化状态时根据第一验证密钥对所述TPM中的PCR值进行密封后发送给所述验证方的,所述第一验证密钥是根据所述主机的本地密钥,将所述验证方与所述主机之间的加密通道上传输的第二验证密钥加密之后得到的,所述验证方为任意需要验证所述TPM可信状态的一方;
根据所述密封钥柄对当前所述TPM中的PCR值进行解封,得到解封验证密钥;
根据所述解封验证密钥确定验证信息,并向所述验证方发送验证信息,用于指示所述验证方根据所述验证信息确定所述TPM的可信状态。
在本申请中,当验证方需要验证主机的TPM的可信状态时,验证方向主机发送解封请求,以使主机根据该解封请求中携带的密封钥柄对当前TPM中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息,以使验证方根据该验证信息确定TPM的可信状态。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,在本申请中,任意与主机建立加密通道之后的验证方都可以利用加密通道上传输的第二验证密钥,并通过主机对TPM中的PCR值的密封/解封处理来确定主机中的TPM的可信状态,避免需要通过预先部署远程证明服务器来确定主机中的TPM的可信状态,提高了确定TPM可信状态的灵活性。
可选地,所述解封请求还携带挑战值;
所述根据所述解封验证密钥确定验证信息,包括:
根据所述挑战值,确定所述挑战值的映射值,所述挑战值的映射值用于指示所述主机的身份;
根据所述解封验证密钥,确定可信状态指示信息;
将所述可信状态指示信息和所述挑战值的映射值确定为所述验证信息。
进一步地,为了提高主机与验证方之间传输信息的安全性,验证方向主机发送的解封请求还携带挑战值,以使验证方在接收到主机之后发送的信息时,可以根据该挑战值确定该主机的身份是否合法。
可选地,所述根据所述解封验证密钥,确定可信状态指示信息,包括:
根据所述解封验证密钥和所述第一验证密钥是否一致,确定所述TPM的可信状态,所述可信状态为可信或不可信;
将所述TPM的可信状态确定为所述可信状态指示信息。
在一种可能的实现方式中,主机可以根据解封验证密钥直接确定TPM的可信状态,然后将该TPM的可信状态直接发送给验证方。
可选地,所述主机的本地密钥和所述验证方的本地密钥相同;
所述根据所述解封验证密钥,确定可信状态指示信息,包括:
将所述解封验证密钥确定为所述可信状态指示信息。
在另一种可能的实现方式中,主机在得到解封验证密钥时,可以将该解封验证密钥发送给验证方,由验证方根据该解封验证密钥确定TPM的可信状态。
可选地,所述接收验证方发送的解封请求之前,还包括:
当当前处于初始化状态时,根据所述第一验证密钥对所述TPM中的PCR值进行密封,得到所述密封钥柄;
向所述验证方发送所述密封钥柄。
由于在本申请中,主机是基于对当前TPM中的PCR值进行解封来确定TPM的可信状态的,因此在解封之前,还需对TPM中的PCR值进行密封,得到解封所需的密封钥柄。
可选地,所述根据所述第一验证密钥对所述TPM中的PCR值进行密封之前,还包括:
从所述加密通道上获取所述第二验证密钥;
根据所述主机的本地密钥将所述第二验证密钥进行加密,得到并存储所述第一验证密钥。
进一步地,在本申请中,主机是直接利用将主机与验证方之间的加密通道上传输的第二验证密钥加密之后的第一验证密钥进行密封的,因此主机在密封之前,还需确定该第二验证密钥。
可选地,所述向所述验证方发送所述密封钥柄,包括:
根据所述主机的本地密钥对所述第一验证密钥进行解密,得到所述第二验证密钥;
根据所述第二验证密钥对所述密封钥柄进行加密,得到加密之后的密封钥柄;
向所述验证方发送加密之后的密封钥柄。
为了保证主机向验证方发送的密封钥柄的安全性,主机可以通过第二验证密钥对该密封钥柄进行加密,以向验证方发送加密之后的密封钥柄。
可选地,所述验证方发送的解封请求是采用所述第二验证密钥加密之后的请求;
所述接收验证方发送的解封请求之后,还包括:
根据所述主机的本地密钥对所述第一验证密钥解密,得到所述第二验证密钥;
根据所述第二验证密钥对加密之后的解封请求解密。
同样地,为了保证验证方向主机发送的解封请求的安全性,验证方是通过第二验证密钥对该解封请求进行加密之后发送的,因此主机在接收到该加密之后的解封请求时,还需对该加密之后的解封请求解密。
可选地,所述向所述验证方发送验证信息,包括:
根据所述主机的本地密钥对所述第一验证密钥解密,得到所述第二验证密钥;
根据所述第二验证密钥对所述验证信息进行加密,得到加密之后的验证信息;
向所述验证方发送加密之后的验证信息。
同样地,为了保证主机向验证方发送的验证信息的安全性,主机可以通过第二验证密钥对该验证信息进行加密,以向验证方发送加密之后的验证信息。
第二方面,提供了一种确定TPM可信状态的方法,应用于验证方,所述验证方为任意需要验证主机中配置的TPM可信状态的一方,所述方法包括:
向所述主机发送解封请求,所述解封请求携带密封钥柄;
其中,所述密封钥柄是所述主机在初始化状态时根据第一验证密钥对所述TPM中的PCR值进行密封后发送给所述验证方的,所述第一验证密钥是所述主机根据本地密钥,将所述验证方与所述主机之间的加密通道上传输的第二验证密钥加密之后得到的;
接收所述主机发送的验证信息,所述验证信息为所述主机根据所述密封钥柄对当前所述TPM中的PCR值进行解封后,基于解封得到的解封验证密钥确定得到的;
根据所述验证信息确定所述TPM的可信状态。
在本申请中,当验证方需要验证主机的TPM的可信状态时,验证方向主机发送解封请求,以使主机根据该解封请求中携带的密封钥柄对当前TPM中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息,以使验证方根据该验证信息确定TPM的可信状态。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,在本申请中,任意与主机建立加密通道之后的验证方都可以利用加密通道上传输的第二验证密钥,并通过主机对TPM中的PCR值的密封/解封处理来确定主机中的TPM的可信状态,避免需要通过预先部署远程证明服务器来确定主机中的TPM的可信状态,提高了确定TPM可信状态的灵活性。
可选地,所述解封请求还携带挑战值,所述验证信息包括所述挑战值的映射值和可信状态指示信息,所述挑战值的映射值为所述主机根据所述挑战值确定得到的,且用于指示所述主机的身份;
所述根据所述验证信息确定所述TPM的可信状态,包括:
根据所述挑战值的映射值确定所述主机的身份是否合法;
如果是,则根据所述可信状态指示信息确定所述TPM的可信状态。
进一步地,为了提高主机与验证方之间传输信息的安全性,验证方向主机发送的解封请求还携带挑战值,以使验证方在接收到主机之后发送的信息时,可以根据该挑战值确定该主机的身份是否合法。
可选地,所述可信状态指示信息为所述TPM的可信状态,所述可信状态为可信或不可信。
在一种可能的实现方式中,主机可以根据解封验证密钥直接确定TPM的可信状态,然后将该TPM的可信状态直接发送给验证方。
可选地,所述主机的本地密钥和所述验证方的本地密钥相同,所述可信状态指示信息为所述解封验证密钥;
所述根据所述可信状态指示信息确定所述TPM的可信状态,包括:
确定所述解封验证密钥和第三验证密钥是否一致,所述第三验证密钥是根据所述验证方的本地密钥对所述第二验证密钥加密得到的;
若一致,则确定所述TPM的可信状态为可信;
若不一致,则确定所述TPM的可信状态为不可信。
在另一种可能的实现方式中,主机在得到解封验证密钥时,可以将该解封验证密钥发送给验证方,由验证方根据该解封验证密钥确定TPM的可信状态。
可选地,所述向所述主机发送解封请求之前,还包括:
接收所述主机发送的密封钥柄,并存储所述密封钥柄。
由于在本申请中,验证方向主机发送的解封请求携带密封钥柄,而该密封钥柄又是主机对TPM中的PCR值进行密封得到,因此,验证方还需接收主机发送的密封钥柄。
可选地,所述接收所述主机发送的密封钥柄之前,还包括:
生成第二验证密钥,并在所述加密通道上传输所述第二验证密钥;
根据所述验证方的本地密钥对所述第二验证密钥进行加密,得到并存储第三验证密钥。
进一步地,在本申请中,主机是直接利用将主机与验证方之间的加密通道上传输的第二验证密钥加密之后的第一验证密钥进行密封的,因此验证方还需生成该第二验证密钥,并在该加密通道上传输第二验证密钥。
可选地,所述主机发送的密封钥柄是采用所述第二验证密钥加密之后的密封钥柄;
所述存储所述密封钥柄,包括:
根据所述验证方的本地密钥对所述第三验证密钥进行解密,得到所述第二验证密钥;
根据所述第二验证密钥对加密后的密封钥柄进行解密,得到未加密的密封钥柄;
根据所述验证方的本地密钥对未加密的密封钥柄进行加密;
存储通过所述验证方的本地密钥加密之后的密封钥柄。
进一步地,为了保证验证方本地存储的密封钥柄的安全性,验证方本地存储的加密之后的密封钥柄。
可选地,所述向所述主机发送解封请求之前,还包括:
根据所述验证方的本地密钥,将存储的密封钥柄进行解密,并将解密后得到的密封钥柄携带在所述解封请求中。
由于验证方本地存储的是加密之后的密封钥柄,因此,当验证方需要使用该密封钥柄时,需先对该加密之后的密封钥柄解密。
可选地,所述向主机发送解封请求,包括:
根据所述验证方的本地密钥对所述第三验证密钥解密,得到所述第二验证密钥;
根据所述第二验证密钥对所述解封请求加密,得到加密之后的解封请求;
向所述主机发送加密之后的解封请求。
为了保证验证方向主机发送的解封请求的安全性,验证方是通过第二验证密钥对该解封请求进行加密之后发送的。
可选地,所述验证方发送的验证信息是采用所述第二验证密钥加密之后的信息;
所述根据所述验证信息确定所述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中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息,以使验证方根据该验证信息确定TPM的可信状态。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,在本申请中,任意与主机建立加密通道之后的验证方都可以利用加密通道上传输的第二验证密钥,并通过主机对TPM中的PCR值的密封/解封处理来确定主机中的TPM的可信状态,避免需要通过预先部署远程证明服务器来确定主机中的TPM的可信状态,提高了确定TPM可信状态的灵活性。
附图说明
图1是本申请实施例提供的一种确定TPM可信状态的系统示意图;
图2是本申请实施例提供的一种主机的结构示意图;
图3是本申请实施例提供的一种确定TPM可信状态的方法流程图;
图4是本申请实施例提供的另一种确定TPM可信状态的方法流程图;
图5是本申请实施例提供的一种确定TPM可信状态的装置框图;
图6是本申请实施例提供的另一种确定TPM可信状态的装置框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种确定TPM可信状态的系统示意图。如图1所示,该系统包括主机101和验证方102,主机101和验证方102之间通过无线或有线的方式连接以进行通信。
其中,主机101中部署有TPM,验证方102用于对主机101中部署的TPM的可信状态进行验证。也即,主机101和验证方102用于执行本申请实施例提供的确定TPM可信状态的方法。
具体地,主机可以为部署有TPM的任一服务器,验证方可以为需要验证该服务器可信状态的一方。比如,主机可以为银行系统的服务器,验证方可以为需验证该服务器可信状态的数据中心。
另外,主机中部署的TPM也称为TPM芯片,本申请实施例均以TPM为例说明。
图2是本申请实施例提供的一种主机的结构示意图。参见图2,该主机包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。
处理器201可以是一个通用中央处理器(Central Processing Unit,CPU)、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC)、或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线202可包括一通路,在上述组件之间传送信息。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。
通信接口204,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,主机可以包括多个处理器,例如图2中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
上述的主机可以是一个通用主机或者是一个专用主机。在具体实现中,主机可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备或者嵌入式设备。本申请实施例不限定主机的类型。
其中,存储器203用于存储执行本申请方案的程序代码,并由处理器201来控制执行。处理器201用于执行存储器203中存储的程序代码。程序代码中可以包括一个或多个软件模块。图1中所示的确定TPM可信状态的系统可以通过处理器201以及存储器203中的程序代码中的一个或多个软件模块,来确定主机中的TPM的可信状态。
本申请实施例还提供了验证方的结构,该验证方包括至少一个处理器、通信总线、存储器以及至少一个通信接口。其中,验证方包括的处理器、通信总线、存储器和通信接口和图2中的处理器、通信总线、存储器和通信接口的功能基本相同,在此不再详细阐述。
接下来对本申请实施例提供的确定TPM可信状态的方法进行详细解释说明。
图3是本申请实施例提供的一种确定TPM可信状态的方法流程图,应用于图1所示的系统中。具体地,如图3所示,该方法包括如下步骤:
步骤301:验证方向主机发送解封请求,主机接收该验证方发送的解封请求,该解封请求携带密封钥柄,该密封钥柄是该主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,该第一验证密钥是根据该主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的。
当验证方需要确定主机上的TPM的可信状态时,验证方可以向主机发送解封请求,以使主机和验证方根据下述步骤302至步骤304确定该TPM的可信状态。
步骤302:主机根据该密封钥柄对当前TPM中的PCR值进行解封,得到解封验证密钥。
由于验证方发送的解封请求中携带密封钥柄,因此,主机可以根据该密封钥柄对当前TPM中的PCR值进行解封。
步骤303:主机根据该解封验证密钥确定验证信息,并向验证方发送验证信息,用于指示验证方根据该验证信息确定该TPM的可信状态。
进一步地,主机在解封之后,可以根据解封验证密钥确定验证信息。
步骤304:验证方根据该验证信息确定该TPM的可信状态。
当验证方接收到该验证信息时,可以根据该验证信息确定TPM的可信状态。
在本申请实施例中,当验证方需要验证主机的TPM的可信状态时,验证方向主机发送解封请求,以使主机根据该解封请求中携带的密封钥柄对当前TPM中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息,以使验证方根据该验证信息确定TPM的可信状态。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,在本申请中,任意与主机建立加密通道之后的验证方都可以利用加密通道上传输的第二验证密钥,并通过主机对TPM中的PCR值的密封/解封处理来确定主机中的TPM的可信状态,避免需要通过预先部署远程证明服务器来确定主机中的TPM的可信状态,提高了确定TPM可信状态的灵活性。
图4是本申请实施例提供的一种确定TPM可信状态的方法流程图,应用于图1所示的系统中,且图4所示的实施例用于对图3所示的实施例进一步展开说明。具体地,如图4所示,该方法包括如下步骤:
步骤401:当主机当前处于初始化状态时,根据第一验证密钥对TPM中的PCR值进行密封,得到密封钥柄,第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,该验证方为任意需要验证主机的TPM可信状态的一方。
在本申请实施例中,为了后续便于验证方对部署在主机上的TPM的可信状态进行验证,主机在初始化状态时,需先对初始化状态时的TPM中的数据进行记录,以便后续根据该初始化状态时记录的TPM中的数据确定TPM中的数据是否发生变化,以确定TPM的可信状态。
其中,主机对初始化状态时的TPM中的数据进行记录的实现方式为:主机通过TPM自身提供的密封(seal)/解封(unseal)功能中的密封功能,根据步骤401对初始化状态时的TPM中的数据进行记录。
为了便于说明,在此先对TPM提供的密封/解封功能进行解释说明。
首先,对于TPM中的PCR,为了区分主机不同存储位置处存储的数据,将不同存储位置处的数据存储在不同的PCR中,也即,TPM中存在多个PCR,每个PCR用于记录主机某个存储位置处的数据的摘要值。比如,主机中存在23个PCR,分别标记为PCR1、PCR2、PCR3、…PCR22和PCR23,该23个PCR分别用于存储不同存储位置处的数据的摘要值。
另外,在TPM中设置有对应的密封参数(Data1),当TPM需要对TPM中的数据进行密封时,将当前TPM中的指定PCR对应的PCR值与密封参数进行密封计算,得到密封钥柄并存储该密封钥柄。
之后,当TPM需要解封时,则将存储的密封钥柄和当前TPM中的指定PCR对应的PCR值进行解封计算,得到解封参数(Data2),TPM可以将该解封参数和上述密封参数进行对比,若这两个参数对应的值相同,则表明TPM中指定PCR对应的数据没有被篡改,若这两个参数对应的值不同,则表明TPM中指定PCR对应的数据已经被篡改。
显然,在上述TPM提供的密封/解封功能中,需要根据TPM自身中设置的密封参数才能确定TPM中的数据是否被篡改,但是通常一个主机中设置有对应的密封参数,也即每个主机都有对应的密封参数,且该密封参数只有主机自身可以获取,因此上述密封/解封功能只能用于主机本地,也即,主机通过密封/解封功能判断TPM中的数据是否被篡改只能应用在主机本地,不是应用在机机交互之间。
因此,为了使验证方能够利用主机中的TPM提供的密封/解封功能来确定TPM的可信状态,需提供一种密封参数,该密封参数是验证方和主机都可以获取的,以解决上述密封/解封功能只能应用于主机本地的问题。
而在验证方对主机进行TPM可信状态的确定过程中,验证方和主机通常需要先建立加密通道,并由验证方生成验证密钥(verification key),然后在加密通道上共享该验证密钥,以使主机和验证方之后在进行通信时,根据该共享密钥对向对方传输的数据进行加密。也即,在主机与验证方之间建立加密通道之后,在该加密通道上共享的验证密钥是主机和验证方都可以随时获取的。
因此,在本申请实施例中,可以将该加密通道上共享的验证密钥作为密封功能中的密封参数,以实现上述密封/解封功能可以应用在主机与验证方之间的交互上。
而对于任意一个验证方,在验证方与主机之间通常都存在加密通道,因此,通过上述方式可以实现任意一个验证方均可对主机上的TPM的可信状态进行验证,避免了必须通过预先部署的远程证明服务器才能对主机上的TPM的可信状态进行验证,以提高确定TPM可信状态的灵活性。
另外需要说明的是,为了保证该加密通道上共享的验证密钥的安全性,在主机中,主机利用主机的本地密钥对该加密通道上共享的验证密钥进行加密并存储,在验证方中,验证方利用验证方的本地密钥对该加密通道上共享的验证密钥进行加密并存储。也即,在主机和验证方中存储的是利用本地密钥加密之后的验证密钥。为了避免混淆不同的验证密钥,将该加密通道上共享的验证密钥称为第二验证密钥,将主机利用主机的本地密钥对该第二验证密钥加密之后的验证密钥称为第一验证密钥,对验证方利用验证方的本地密钥对该第二验证密钥加密之后的验证密钥称为第三验证密钥。
也即,在验证方与主机建立加密通道之后,验证方生成该第二验证密钥,在该加密通道上传输该第二验证密钥,并根据该验证方的本地密钥对第二验证密钥进行加密,得到并存储第三验证密钥。对于主机而言,主机从该加密通道上获取该第二验证密钥,并根据主机的本地密钥将该第二验证密钥进行加密,得到并存储第一验证密钥。
因此,在步骤401中,当主机当前处于初始化状态时,主机可以将该第一验证密钥作为密封功能中的密封参数,对初始化状态时的TPM中的PCR值进行密封,以得到密封钥柄。
其中,主机处于初始化状态可以为主机首次与验证方建立网络链路并进行数据通信时的状态。
另外,由于TPM中存在多个不同的PCR,因此主机对TPM中的PCR值进行密封,可以为对TPM中所有PCR对应的PCR值进行密封,也可以对TPM中指定PCR对应的PCR值进行密封,本申请实施例在此不做具体限定。比如,当主机处于初始化状态时,可以仅对TPM中的PCR0和PCR6对应的PCR值进行密封。
另外需要说明的是,验证方和主机之间建立加密通道可以有多种实现方式,比如,通过安全传输层(Transport Layer Security,TLS)协议方式建立加密通道、通过安全外壳框架SSH(Secure Shell Hibernate,SSH)协议方式建立加密通道、通过私有协议方式建立加密通道或通过移动存储设备(USB flash disk)方式建立加密通道等等。
步骤402:主机向验证方发送该密封钥柄。
为了保证主机向验证方发送的密封钥柄不被黑客攻击,主机可以将该密封钥柄进行加密,以向验证方发送加密之后的密封钥柄。
另外,主机对密封钥柄进行加密必须能够使验证方对该加密之后的密封钥柄进行解密,因此,主机需通过第二验证密钥对该密封钥柄进行加密。但是,在主机本地存储的是加密之后的第二验证密钥,也即,主机本地存储的是第一验证密钥。
因此,步骤402具体可以为:主机根据主机的本地密钥对第一验证密钥进行解密,得到第二验证密钥,根据第二验证密钥对步骤401中得到的密封钥柄进行加密,得到加密之后的密封钥柄,向验证方发送加密之后的密封钥柄。
步骤403:当验证方接收到该密封钥柄时,存储该密封钥柄。
由步骤402可知,为了避免该密封钥柄被黑客攻击,主机向验证方发送的密封钥柄是通过第二验证密钥加密之后的密封钥柄,因此,当验证方接收到的密封钥柄也是加密时候的密封钥柄,也即,验证方需对接收到的密封钥柄进行解密,才能得到该密封钥柄。
因此,步骤403具体可以为:当验证方接收到该密封钥柄时,验证方根据该验证方的本地密钥对第三验证密钥进行解密,得到第二验证密钥,根据第二验证密钥对加密后的密封钥柄进行解密,得到未加密的密封钥柄。
验证方在得到未加密的密封钥柄之后,还需存储该密封钥柄,以便后续根据该密封钥柄确定主机中的TPM的可状态。
进一步地,为了保证存储的密封钥柄的安全性,验证方可以根据验证方的本地密钥对未加密的密封钥柄进行加密,存储通过该验证方的本地密钥加密之后的密封钥柄。也即,验证方本地存储的是根据本地密钥加密之后的密封钥柄。
当验证方中存储有密封钥柄时,验证方可以通过下述步骤404至步骤409确定主机中的TPM的可信状态。其中,验证方可以在任何时机通过下述步骤404至步骤409确定主机中的TPM的可信状态。
步骤404:验证方向主机发送解封请求,该解封请求携带密封钥柄。
在本申请实施例中,验证方是通过TPM中提供的解封功能来实现确定主机中的TPM的可信状态,因此当验证方需确定主机中的TPM的可信状态时,验证方需要主机发送解封请求,且该解封请求中携带预先存储的密封钥柄。
由步骤403可知,验证方中存储的是通过验证方的本地密钥加密之后的密封钥柄,若直接将该加密之后的密封钥柄发送给主机,主机将无法获取到该密封钥柄。因此,验证方向主机发送解封请求具体可以为:验证方根据验证方的本地密钥,将存储的密封钥柄进行解密,并将解密后得到的密封钥柄携带在该解封请求中。
进一步地,为了后续便于验证方验证主机发送的信息是否合法,该解封请求还可以携带挑战值(N),以使主机在向验证方返回信息时还可以携带该挑战值的映射值(f(N)),而验证方则可以根据该挑战值的映射值确定主机的身份是否合法。
另外,为了保证验证方向主机发送的解封请求不被黑客攻击,验证方可以将该解封请求进行加密,以向主机发送加密之后的解封请求。
也即,验证方根述验证方的本地密钥对第三验证密钥解密,得到第二验证密钥,验证方根据该第二验证密钥对解封请求加密,得到加密之后的解封请求,并向主机发送加密之后的解封请求。
步骤405:主机接收验证方发送的解封请求。
由步骤404可知,验证方发送的解封请求是加密之后的解封请求,因此当主机接收到验证方发送的解封请求时,还需根据主机的本地密钥对第一验证密钥解密,得到第二验证密钥,根据第二验证密钥对加密之后的解封请求解密,以得到解封请求中携带的密封钥柄。
步骤406:主机根据该密封钥柄对当前TPM中的PCR值进行解封,得到解封验证密钥。
当主机通过步骤405得到该密封钥柄时,可以对当前TPM中的PCR值和该密封钥柄进行解封计算,得到解封验证密钥。
需要说明的是,主机在步骤401中对哪些PCR进行了密封计算,在步骤406中仍对这些PCR进行解封计算,以确定这些PCR中的数据是否发生了变化。比如,主机在步骤401中是对PCR0和PCR6中的PCR值进行了密封计算,则在步骤406中,主机对当前PCR0和PCR6中的PCR值进行了解封计算。
步骤407:主机根据该解封验证密钥确定验证信息,并向验证方发送验证信息,用于指示验证方根据该验证信息确定该TPM的可信状态。
由步骤404可知,验证方向主机发送的解封请求中还携带挑战值,因此主机根据该解封验证密钥确定验证信息具体可以为:根据挑战值,确定该挑战值的映射值,该挑战值的映射值用于指示主机的身份;根据该解封验证密钥,确定可信状态指示信息;将该可信状态指示信息和该挑战值的映射值确定为该验证信息。
其中,主机根据该挑战值确定该挑战值的映射值具体可以为:主机按照预设映射方式确定该挑战值的映射值,其中,该预设映射方式是预先在主机和验证方中设置的映射方式。
该预设映射方式可以为将映射值加1,也即,当主机接收到验证方发送的映射值时,将映射值加1,并将加1后的数值确定为该挑战值的映射值。当然,该预设映射方法还可以为其他映射方式,本申请实施例在此不做具体限定。
另外,主机根据该解封验证密钥,确定可信状态指示信息有以下两种可能的实现方式:
第一种可能的实现方式,由于主机在步骤401中是通过第一验证密钥进行的密封计算,因此当主机通过步骤406得到解封验证密钥时,可以直接确定该解封验证密钥和第一验证密钥是否一致,若一致,则确定对应的PCR中的PCR值并未发生变化,也即,主机确定TPM当前的可信状态为可信。
相应地,若该解封验证密钥和第一验证密钥不一致,则确定对应的PCR中的PCR值已发生变化,也即,主机确定TPM当前的可信状态为不可信。
也即,主机可以直接通过该解封验证密钥与该第一验证密钥是否一致,确定TPM的可信状态,并将TPM的可信状态确定为该可信状态指示信息,其中,TPM的可信状态包括可信或不可信。
第二种可能的实现方式,由于在某些场景中,主机的本地密钥和验证方的本地密钥相同,也即,主机中存储的第一验证密钥和验证方中存储的第三验证密钥也相同,此时,主机可以直接将该解封验证密钥确定为该可信状态指示信息发送给验证方,由验证方根据该解封验证密钥确定TPM的可信状态。
进一步地,为了保证主机向验证方发送的验证信息不被黑客攻击,主机可以将该验证信息进行加密,以向验证方发送加密之后的验证信息。
也即,主机根据主机的本地密钥对第一验证密钥解密,得到第二验证密钥,主机根据该第二验证密钥对该验证信息进行加密,得到加密之后的验证信息,并向验证方发送加密之后的验证信息。
步骤408:验证方接收主机发送的验证信息。
由步骤407可知,主机向验证方发送的是通过第二验证密钥加密之后的验证信息,因此,验证方在接收到主机发送的验证信息时,还需根据验证方的本地密钥对第三验证密钥解密,得到第二验证密钥,并根据该第二验证密钥对加密之后的验证信息进行解密,以得到该验证信息中包括的信息。
步骤409:验证方根据该验证信息确定该TPM的可信状态。
由步骤407可知,该验证信息包括挑战值的映射值和可信状态指示信息,因此,步骤409具体可以为:验证方根据该挑战值的映射值确定主机的身份是否合法,如果是,则根据该可信状态指示信息确定TPM的可信状态。
当验证方根据该挑战值的映射值确定主机的身份不合法时,则表明当前发送该验证信息的一方并不是验证方需要验证可信状态的主机,此时验证方没有必要继续根据该可信状态指示信息确定TPM的可信状态。
其中,验证方根据该挑战值的映射值确定主机的身份是否合法具体可以为:验证方根据预设映射方式确定该挑战值的映射值,若确定的映射值与主机发送的映射值一致,则确定主机的身份合法,若确定出的映射值与主机发送的映射值不一致,则确定主机的身份不合法。
该预设映射方式即为步骤407中主机确定挑战值的映射值时采用的映射方式。
另外,由步骤407可知,主机确定可信状态指示信息有两种可能的实现方式,因此,验证方根据该可信状态指示信息确定该TPM的可信状态也存在对应的两种实现方式。
针对步骤407中的第一种可能的实现方式:由于该可信状态指示信息即为该TPM的可信状态,且该可信状态包括可信与不可信,因此,验证方可以直接根据该可信状态指示信息确定该TPM的可信状态是可信还是不可信。
也即,当该可信状态指示信息为可信时,验证方直接确定该TPM的可信状态为可信。当该可信状态指示信息为不可信时,验证方直接确定该TPM的可信状态为不可信。
针对步骤407中的第二种可能的实现方式:由于该可信状态指示信息为该解封验证密钥,且主机的本地密钥和验证方的本地密钥相同,也即第一验证密钥与第三验证密钥相同,因此,验证方根据该可信状态指示信息确定该TPM的可信状态具体可以为:验证方确定该解封验证密钥和第三验证密钥是否一致;若一致,则确定该TPM的可信状态为可信;若不一致,则确定该TPM的可信状态为不可信。
也即,当主机的本地密钥和验证方的本地密钥相同时,由验证方根据主机解封得到的解封验证密钥与第三验证密钥来确定TPM的可信状态,而不是由主机根据解封得到的解封验证密钥与第一验证密钥来确定TPM的可信状态。
在本申请实施例中,当验证方需要验证主机的TPM的可信状态时,验证方向主机发送解封请求,以使主机根据该解封请求中携带的密封钥柄对当前TPM中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息,以使验证方根据该验证信息确定TPM的可信状态。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,在本申请中,任意与主机建立加密通道之后的验证方都可以根据加密通道上传输的第二验证密钥来确定主机的TPM的可信状态,避免需要通过预先部署远程证明服务器来确定TPM的可信状态,提高了确定TPM可信状态的灵活性。
参见图5,本申请实施例提供了一种确定TPM可信状态的装置500,应用于主机,该主机中配置有该TPM,该装置500包括接收模块501、解封模块502和第一发送模块503:
接收模块501,用于执行图4实施例中的步骤405;
其中,该密封钥柄是该主机在初始化状态时根据第一验证密钥对该TPM中的PCR值进行密封后发送给该验证方的,该第一验证密钥是根据该主机的本地密钥,将该验证方与该主机之间的加密通道上传输的第二验证密钥加密之后得到的,该验证方为任意需要验证该TPM可信状态的一方;
解封模块502,用于执行图4实施例中的步骤406;
第一发送模块503,用于执行图4实施例中的步骤407。
可选地,该解封请求还携带挑战值;
该第一发送模块503包括:
第一确定单元,用于根据该挑战值,确定该挑战值的映射值,该挑战值的映射值用于指示该主机的身份;
第二确定单元,用于根据该解封验证密钥,确定可信状态指示信息;
第三确定单元,用于将该可信状态指示信息和该挑战值的映射值确定为该验证信息。
可选地,该第二确定单元,具体用于:
根据该解封验证密钥和该第一验证密钥是否一致,确定该TPM的可信状态,该可信状态为可信或不可信;
将该TPM的可信状态确定为该可信状态指示信息。
可选地,该主机的本地密钥和该验证方的本地密钥相同;
该第二确定单元,具体用于:
将该解封验证密钥确定为该可信状态指示信息。
可选地,该装置500还包括:
密封模块,用于执行图4实施例中的步骤401;
第二发送模块,用于执行图4实施例中的步骤402。
可选地,该装置500还包括:
获取模块,用于从该加密通道上获取该第二验证密钥;
加密模块,用于根据该主机的本地密钥将该第二验证密钥进行加密,得到并存储该第一验证密钥。
可选地,该第二发送模块,具体用于:
根据该主机的本地密钥对该第一验证密钥进行解密,得到该第二验证密钥;
根据该第二验证密钥对该密封钥柄进行加密,得到加密之后的密封钥柄;
向该验证方发送加密之后的密封钥柄。
可选地,该验证方发送的解封请求是采用该第二验证密钥加密之后的请求;
该接收模块501还用于:
根据该主机的本地密钥对该第一验证密钥解密,得到该第二验证密钥;
根据该第二验证密钥对加密之后的解封请求解密。
可选地,该第一发送模块503还用于:
根据该主机的本地密钥对该第一验证密钥解密,得到该第二验证密钥;
根据该第二验证密钥对该验证信息进行加密,得到加密之后的验证信息;
向该验证方发送加密之后的验证信息。
在本申请实施例中,当验证方需要验证主机的TPM的可信状态时,验证方向主机发送解封请求,以使主机根据该解封请求中携带的密封钥柄对当前TPM中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息,以使验证方根据该验证信息确定TPM的可信状态。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,在本申请中,任意与主机建立加密通道之后的验证方都可以根据加密通道上传输的第二验证密钥来确定主机的TPM的可信状态,避免需要通过预先部署远程证明服务器来确定TPM的可信状态,提高了确定TPM可信状态的灵活性。
参见图6,本申请实施例提供了另一种确定TPM可信状态的装置600,应用于验证方,所述验证方为任意需要验证主机中配置的TPM可信状态的一方,该装置600包括发送模块601、第一接收模块602和确定模块603:
发送模块601,用于执行图4实施例中的步骤404;
其中,所述密封钥柄是所述主机在初始化状态时根据第一验证密钥对所述TPM中的PCR值进行密封后发送给所述验证方的,所述第一验证密钥是所述主机根据本地密钥,将所述验证方与所述主机之间的加密通道上传输的第二验证密钥加密之后得到的;
第一接收模块602,用于执行图4实施例中的步骤408;
确定模块603,用于执行图4实施例中的步骤409。
可选地,所述解封请求还携带挑战值,所述验证信息包括所述挑战值的映射值和可信状态指示信息,所述挑战值的映射值为所述主机根据所述挑战值确定得到的,且用于指示所述主机的身份;
所述确定模块603包括:
第一确定单元,用于根据所述挑战值的映射值确定所述主机的身份是否合法;
第二确定单元,用于如果是,则根据所述可信状态指示信息确定所述TPM的可信状态。
可选地,所述可信状态指示信息为所述TPM的可信状态,所述可信状态为可信或不可信。
可选地,所述主机的本地密钥和所述验证方的本地密钥相同,所述可信状态指示信息为所述解封验证密钥;
所述第二确定单元,具体用于:
确定所述解封验证密钥和第三验证密钥是否一致,所述第三验证密钥是根据所述验证方的本地密钥对所述第二验证密钥加密得到的;
若一致,则确定所述TPM的可信状态为可信;
若不一致,则确定所述TPM的可信状态为不可信。
可选地,所述装置还包括:
第二接收模块,用于执行图4实施例中的步骤403。
可选地,所述装置还包括:
生成模块,用于生成第二验证密钥,并在所述加密通道上传输所述第二验证密钥;
加密模块,用于根据所述验证方的本地密钥对所述第二验证密钥进行加密,得到并存储第三验证密钥。
可选地,所述主机发送的密封钥柄是采用所述第二验证密钥加密之后的密封钥柄;
所述第二接收模块,具体用于:
根据所述验证方的本地密钥对所述第三验证密钥进行解密,得到所述第二验证密钥;
根据所述第二验证密钥对加密后的密封钥柄进行解密,得到未加密的密封钥柄;
根据所述验证方的本地密钥对未加密的密封钥柄进行加密;
存储通过所述验证方的本地密钥加密之后的密封钥柄。
可选地,所述发送模块还用于:
根据所述验证方的本地密钥,将存储的密封钥柄进行解密,并将解密后得到的密封钥柄携带在所述解封请求中。
可选地,所述发送模块,具体用于:
根据所述验证方的本地密钥对所述第三验证密钥解密,得到所述第二验证密钥;
根据所述第二验证密钥对所述解封请求加密,得到加密之后的解封请求;
向所述主机发送加密之后的解封请求。
可选地,所述验证方发送的验证信息是采用所述第二验证密钥加密之后的信息;
所述确定模块还用于:
根据所述验证方的本地密钥对所述第三验证密钥解密,得到所述第二验证密钥;
根据所述第二验证密钥对加密之后的验证信息进行解密。
在本申请实施例中,当验证方需要验证主机的TPM的可信状态时,验证方向主机发送解封请求,以使主机根据该解封请求中携带的密封钥柄对当前TPM中的PCR值进行解封,并根据解封得到的解封验证密钥向验证方发送验证信息,以使验证方根据该验证信息确定TPM的可信状态。由于密封钥柄是主机在初始化状态时根据第一验证密钥对TPM中的PCR值进行密封后发送给验证方的,且该第一验证密钥是根据主机的本地密钥,将验证方与主机之间的加密通道上传输的第二验证密钥加密之后得到的,因此,在本申请中,任意与主机建立加密通道之后的验证方都可以根据加密通道上传输的第二验证密钥来确定主机的TPM的可信状态,避免需要通过预先部署远程证明服务器来确定TPM的可信状态,提高了确定TPM可信状态的灵活性。
需要说明的是:上述实施例提供的确定TPM可信状态的装置在确定TPM可信状态时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确定TPM可信状态的装置与确定TPM可信状态的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (22)

1.一种确定可信平台模块TPM可信状态的方法,应用于主机,所述主机中配置有所述TPM,其特征在于,所述方法包括:
接收验证方发送的解封请求,所述解封请求携带密封钥柄;
其中,所述密封钥柄是所述主机在初始化状态时根据第一验证密钥对所述TPM中的平台配置寄存器PCR值进行密封后发送给所述验证方的,所述第一验证密钥是根据所述主机的本地密钥,将所述验证方与所述主机之间的加密通道上传输的第二验证密钥加密之后得到的,所述验证方为任意需要验证所述TPM可信状态的一方;
根据所述密封钥柄对当前所述TPM中的PCR值进行解封,得到解封验证密钥;
根据所述解封验证密钥确定验证信息,并向所述验证方发送验证信息,用于指示所述验证方根据所述验证信息确定所述TPM的可信状态。
2.如权利要求1所述的方法,其特征在于,所述解封请求还携带挑战值;
所述根据所述解封验证密钥确定验证信息,包括:
根据所述挑战值,确定所述挑战值的映射值,所述挑战值的映射值用于指示所述主机的身份;
根据所述解封验证密钥,确定可信状态指示信息;
将所述可信状态指示信息和所述挑战值的映射值确定为所述验证信息。
3.如权利要求2所述的方法,其特征在于,所述根据所述解封验证密钥,确定可信状态指示信息,包括:
根据所述解封验证密钥和所述第一验证密钥是否一致,确定所述TPM的可信状态,所述可信状态为可信或不可信;
将所述TPM的可信状态确定为所述可信状态指示信息。
4.如权利要求2所述的方法,其特征在于,所述主机的本地密钥和所述验证方的本地密钥相同;
所述根据所述解封验证密钥,确定可信状态指示信息,包括:
将所述解封验证密钥确定为所述可信状态指示信息。
5.如权利要求1至4任一所述的方法,其特征在于,所述接收验证方发送的解封请求之前,还包括:
当当前处于初始化状态时,从所述加密通道上获取所述第二验证密钥;
根据所述主机的本地密钥将所述第二验证密钥进行加密,得到并存储所述第一验证密钥;
根据所述第一验证密钥对所述TPM中的PCR值进行密封,得到所述密封钥柄;
向所述验证方发送所述密封钥柄。
6.一种确定可信平台模块TPM可信状态的方法,应用于验证方,其特征在于,所述验证方为任意需要验证主机中配置的TPM可信状态的一方,所述方法包括:
向所述主机发送解封请求,所述解封请求携带密封钥柄;
其中,所述密封钥柄是所述主机在初始化状态时根据第一验证密钥对所述TPM中的平台配置寄存器PCR值进行密封后发送给所述验证方的,所述第一验证密钥是所述主机根据本地密钥,将所述验证方与所述主机之间的加密通道上传输的第二验证密钥加密之后得到的;
接收所述主机发送的验证信息,所述验证信息为所述主机根据所述密封钥柄对当前所述TPM中的PCR值进行解封后,基于解封得到的解封验证密钥确定得到的;
根据所述验证信息确定所述TPM的可信状态。
7.如权利要求6所述的方法,其特征在于,所述解封请求还携带挑战值,所述验证信息包括所述挑战值的映射值和可信状态指示信息,所述挑战值的映射值为所述主机根据所述挑战值确定得到的,且用于指示所述主机的身份;
所述根据所述验证信息确定所述TPM的可信状态,包括:
根据所述挑战值的映射值确定所述主机的身份是否合法;
如果是,则根据所述可信状态指示信息确定所述TPM的可信状态。
8.如权利要求7所述的方法,其特征在于,所述可信状态指示信息为所述TPM的可信状态,所述可信状态为可信或不可信。
9.如权利要求7所述的方法,其特征在于,所述主机的本地密钥和所述验证方的本地密钥相同,所述可信状态指示信息为所述解封验证密钥;
所述根据所述可信状态指示信息确定所述TPM的可信状态,包括:
确定所述解封验证密钥和第三验证密钥是否一致,所述第三验证密钥是根据所述验证方的本地密钥对所述第二验证密钥加密得到的;
若一致,则确定所述TPM的可信状态为可信;
若不一致,则确定所述TPM的可信状态为不可信。
10.如权利要求6至9任一所述的方法,其特征在于,所述向所述主机发送解封请求之前,还包括:
接收所述主机发送的密封钥柄,并存储所述密封钥柄。
11.如权利要求10所述的方法,其特征在于,所述接收所述主机发送的密封钥柄之前,还包括:
生成第二验证密钥,并在所述加密通道上传输所述第二验证密钥;
根据所述验证方的本地密钥对所述第二验证密钥进行加密,得到并存储第三验证密钥。
12.一种确定可信平台模块TPM可信状态的装置,应用于主机,所述主机中配置有所述TPM,其特征在于,所述装置包括:
接收模块,用于接收验证方发送的解封请求,所述解封请求携带密封钥柄;
其中,所述密封钥柄是所述主机在初始化状态时根据第一验证密钥对所述TPM中的平台配置寄存器PCR值进行密封后发送给所述验证方的,所述第一验证密钥是根据所述主机的本地密钥,将所述验证方与所述主机之间的加密通道上传输的第二验证密钥加密之后得到的,所述验证方为任意需要验证所述TPM可信状态的一方;
解封模块,用于根据所述密封钥柄对当前所述TPM中的PCR值进行解封,得到解封验证密钥;
第一发送模块,用于根据所述解封验证密钥确定验证信息,并向所述验证方发送验证信息,用于指示所述验证方根据所述验证信息确定所述TPM的可信状态。
13.如权利要求12所述的装置,其特征在于,所述解封请求还携带挑战值;
所述第一发送模块包括:
第一确定单元,用于根据所述挑战值,确定所述挑战值的映射值,所述挑战值的映射值用于指示所述主机的身份;
第二确定单元,用于根据所述解封验证密钥,确定可信状态指示信息;
第三确定单元,用于将所述可信状态指示信息和所述挑战值的映射值确定为所述验证信息。
14.如权利要求13所述的装置,其特征在于,所述第二确定单元,具体用于:
根据所述解封验证密钥和所述第一验证密钥是否一致,确定所述TPM的可信状态,所述可信状态为可信或不可信;
将所述TPM的可信状态确定为所述可信状态指示信息。
15.如权利要求13所述的装置,其特征在于,所述主机的本地密钥和所述验证方的本地密钥相同;
所述第二确定单元,具体用于:
将所述解封验证密钥确定为所述可信状态指示信息。
16.如权利要求12至15任一所述的装置,其特征在于,所述装置还包括:
获取模块,用于当当前处于初始化状态时,从所述加密通道上获取所述第二验证密钥;
加密模块,用于根据所述主机的本地密钥将所述第二验证密钥进行加密,得到并存储所述第一验证密钥;
密封模块,用于根据所述第一验证密钥对所述TPM中的PCR值进行密封,得到所述密封钥柄;
第二发送模块,用于向所述验证方发送所述密封钥柄。
17.一种确定可信平台模块TPM可信状态的装置,应用于验证方,其特征在于,所述验证方为任意需要验证主机中配置的TPM可信状态的一方,所述装置包括:
发送模块,用于向所述主机发送解封请求,所述解封请求携带密封钥柄;
其中,所述密封钥柄是所述主机在初始化状态时根据第一验证密钥对所述TPM中的平台配置寄存器PCR值进行密封后发送给所述验证方的,所述第一验证密钥是所述主机根据本地密钥,将所述验证方与所述主机之间的加密通道上传输的第二验证密钥加密之后得到的;
第一接收模块,用于接收所述主机发送的验证信息,所述验证信息为所述主机根据所述密封钥柄对当前所述TPM中的PCR值进行解封后,基于解封得到的解封验证密钥确定得到的;
确定模块,用于根据所述验证信息确定所述TPM的可信状态。
18.如权利要求17所述的装置,其特征在于,所述解封请求还携带挑战值,所述验证信息包括所述挑战值的映射值和可信状态指示信息,所述挑战值的映射值为所述主机根据所述挑战值确定得到的,且用于指示所述主机的身份;
所述确定模块包括:
第一确定单元,用于根据所述挑战值的映射值确定所述主机的身份是否合法;
第二确定单元,用于如果是,则根据所述可信状态指示信息确定所述TPM的可信状态。
19.如权利要求18所述的装置,其特征在于,所述可信状态指示信息为所述TPM的可信状态,所述可信状态为可信或不可信。
20.如权利要求18所述的装置,其特征在于,所述主机的本地密钥和所述验证方的本地密钥相同,所述可信状态指示信息为所述解封验证密钥;
所述第二确定单元,具体用于:
确定所述解封验证密钥和第三验证密钥是否一致,所述第三验证密钥是根据所述验证方的本地密钥对所述第二验证密钥加密得到的;
若一致,则确定所述TPM的可信状态为可信;
若不一致,则确定所述TPM的可信状态为不可信。
21.如权利要求17至20任一所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收所述主机发送的密封钥柄,并存储所述密封钥柄。
22.如权利要求21所述的装置,其特征在于,所述装置还包括:
生成模块,用于生成第二验证密钥,并在所述加密通道上传输所述第二验证密钥;
加密模块,用于根据所述验证方的本地密钥对所述第二验证密钥进行加密,得到并存储第三验证密钥。
CN201711403413.4A 2017-12-22 2017-12-22 确定tpm可信状态的方法、装置及存储介质 Active CN109960935B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201711403413.4A CN109960935B (zh) 2017-12-22 2017-12-22 确定tpm可信状态的方法、装置及存储介质
PCT/CN2018/122188 WO2019120231A1 (zh) 2017-12-22 2018-12-19 确定tpm可信状态的方法、装置及存储介质
EP18890518.6A EP3720042B1 (en) 2017-12-22 2018-12-19 Method and device for determining trust state of tpm, and storage medium
US16/908,617 US11637704B2 (en) 2017-12-22 2020-06-22 Method and apparatus for determining trust status of TPM, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711403413.4A CN109960935B (zh) 2017-12-22 2017-12-22 确定tpm可信状态的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109960935A CN109960935A (zh) 2019-07-02
CN109960935B true CN109960935B (zh) 2021-02-05

Family

ID=66994424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711403413.4A Active CN109960935B (zh) 2017-12-22 2017-12-22 确定tpm可信状态的方法、装置及存储介质

Country Status (4)

Country Link
US (1) US11637704B2 (zh)
EP (1) EP3720042B1 (zh)
CN (1) CN109960935B (zh)
WO (1) WO2019120231A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11438151B2 (en) * 2019-04-03 2022-09-06 Cisco Technology, Inc. Enriching local cryptoprocessor queries with sdn augmented information
CN114884689A (zh) * 2019-07-12 2022-08-09 华为技术有限公司 一种远程证明方法及装置
CN115150180A (zh) * 2022-07-14 2022-10-04 江苏芯盛智能科技有限公司 存储设备管理方法、存储设备、管理设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913086B2 (en) * 2007-06-20 2011-03-22 Nokia Corporation Method for remote message attestation in a communication system
CN101477602A (zh) * 2009-02-10 2009-07-08 浪潮电子信息产业股份有限公司 一种可信计算环境中远程证明的方法
CN101951388B (zh) * 2010-10-14 2013-03-20 中国电子科技集团公司第三十研究所 一种可信计算环境中的远程证明方法
CN102045356B (zh) * 2010-12-14 2013-04-10 中国科学院软件研究所 一种面向云存储的可信存储验证方法和系统
US9768966B2 (en) * 2015-08-07 2017-09-19 Google Inc. Peer to peer attestation
CN105873031B (zh) * 2016-04-08 2019-03-01 西安电子科技大学 基于可信平台的分布式无人机密钥协商方法
US10164778B2 (en) * 2016-12-15 2018-12-25 Alibaba Group Holding Limited Method and system for distributing attestation key and certificate in trusted computing
US10438005B2 (en) * 2017-04-10 2019-10-08 Wind River Systems, Inc. Device, system, and method for protecting cryptographic keying material
CN107104804A (zh) * 2017-05-10 2017-08-29 成都麟成科技有限公司 一种平台完整性验证方法和装置
CN109714168B (zh) * 2017-10-25 2022-05-27 阿里巴巴集团控股有限公司 可信远程证明方法、装置和系统

Also Published As

Publication number Publication date
CN109960935A (zh) 2019-07-02
EP3720042A4 (en) 2020-12-23
WO2019120231A1 (zh) 2019-06-27
EP3720042A1 (en) 2020-10-07
EP3720042B1 (en) 2022-02-09
US20200322158A1 (en) 2020-10-08
US11637704B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
US9635014B2 (en) Method and apparatus for authenticating client credentials
TWI601405B (zh) 用於雲端輔助式密碼術之方法及設備
US9813247B2 (en) Authenticator device facilitating file security
CN109154972B (zh) 使用基于硬件的安全隔离区域来防止电子设备上的盗版和作弊
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN108768963B (zh) 可信应用与安全元件的通信方法和系统
US11050570B1 (en) Interface authenticator
WO2018090763A1 (zh) 一种终端主密钥的设置方法和装置
US11637704B2 (en) Method and apparatus for determining trust status of TPM, and storage medium
US11563730B2 (en) Method and electronic device for managing digital keys
EP4258593A1 (en) Ota update method and apparatus
US9524394B2 (en) Method and apparatus for providing provably secure user input/output
CN114629639A (zh) 基于可信执行环境的密钥管理方法、装置和电子设备
CN111404706B (zh) 应用下载方法、安全元件、客户端设备及服务管理设备
WO2022251987A1 (zh) 一种数据加解密方法和装置
US20230379152A1 (en) Binding with cryptographic key attestation
CN117041956A (zh) 通信认证方法、装置、计算机设备和存储介质
CN108154037B (zh) 进程间的数据传输方法和装置
CN112929871A (zh) Ota升级包的获取方法、电子设备以及存储介质
US20190052610A1 (en) Apparatus and method for encapsulation of profile certificate private keys or other data
KR102086082B1 (ko) 웨어러블 단말을 이용한 레거시 시스템의 자동 로그인 방법 및 시스템
JP2024516126A (ja) 信頼の起点に基づくセキュリティを備えた暗号化及び認証されたファームウェアプロビジョニング
CN115361140A (zh) 安全芯片密钥验证方法及装置
CN115438352A (zh) 数据处理方法、装置、设备和存储介质
CN113225336A (zh) 信息加密传输方法、加解密装置、可读介质以及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant