CN114362951A - 用于更新证书的方法和装置 - Google Patents

用于更新证书的方法和装置 Download PDF

Info

Publication number
CN114362951A
CN114362951A CN202011090552.8A CN202011090552A CN114362951A CN 114362951 A CN114362951 A CN 114362951A CN 202011090552 A CN202011090552 A CN 202011090552A CN 114362951 A CN114362951 A CN 114362951A
Authority
CN
China
Prior art keywords
certificate
public
application
key
private 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
Application number
CN202011090552.8A
Other languages
English (en)
Other versions
CN114362951B (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.)
Petal Cloud Technology Co Ltd
Original Assignee
Huawei Device 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 Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN202011090552.8A priority Critical patent/CN114362951B/zh
Publication of CN114362951A publication Critical patent/CN114362951A/zh
Application granted granted Critical
Publication of CN114362951B publication Critical patent/CN114362951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供了一种用于更新证书的方法和装置,能够提高密钥升级因子加密传输的安全性,从而提高证书更新过程中证书加密传输的安全性。该方法包括:终端设备的应用向终端设备的TEE发送第一请求消息;该TEE基于该第一请求消息,生成第一公私钥对和第二公私钥对;该TEE向该应用发送第一公私钥对中的第一公钥和第二公私钥对中的第二公钥;该应用向服务器发送第二请求消息;该服务器基于该第二请求消息中的第一公钥,签发应用证书,并确定对称加密密钥;该服务器基于该第二请求消息中的第二公钥,加密对称加密密钥,确定密文;该服务器向该应用发送该应用证书和该密文;该应用向该TEE发送该应用证书和该密文。

Description

用于更新证书的方法和装置
技术领域
本申请涉及通信安全领域,更具体地,涉及一种用于更新证书的方法和装置。
背景技术
数字证书是一种常见的、安全性较高的认证凭据,具有机密性、完整性、不可否认性和身份认证等作用。证书颁发机构(certificate authority,CA)可以为终端设备或终端设备的应用(application,APP)签发数字证书,用来验证终端设备或APP的合法性。
但是,数字证书存在有效期,一旦数字证书超过有效期,按照认证要求终端设备便会认为该数字证书失效,不再具备合法性,在验证签名或者加密的消息时,会因为证书失效而使得消息验证失败,从而导致业务操作失效。因此,为了保证业务的连续性,需要在终端设备或APP的数字证书失效之前,及时更新数字证书。
目前,为了解决海量证书的并发更新问题,服务器可以提前识别即将过期的数字证书,然后利用即将过期的数字证书的公钥(即旧公钥)、新生成的密钥升级因子,通过特定算法派生出新公钥,利用该新公钥签发一个新数字证书,并将该新数字证书和密钥升级因子保存到服务器。终端设备或APP在检测到本地的数字证书即将过期后,可以在服务器中下载新数字证书和密钥升级因子,利用该密钥升级因子和旧私钥,计算出新私钥。终端设备可以用该新私钥验证新数字证书。
在上述证书更新方法中,服务器预先将对称加密密钥发送给终端设备或APP,该服务器利用对称加密密钥对密钥升级因子进行了加密传输,终端设备或APP就可以利用该对称加密密钥解密出密钥升级因子。但是,这种方法的安全性并不高,仍然存在密钥升级因子泄露的风险。
发明内容
本申请提供了一种用于更新证书的方法和装置,能够提高密钥升级因子加密传输的安全性,从而提高证书更新过程中证书加密传输的安全性。
第一方面,提供了一种用于更新证书的方法,应用于终端设备的应用,包括:向终端设备的TEE发送第一请求消息,该第一请求消息用于请求生成公私钥对;接收来自该TEE的第一公私钥对中的第一公钥和第二公私钥对中的第二公钥,该第一公私钥对用于申请签发和验证应用证书,该第二公私钥对用于加密和解密对称加密密钥,该对称加密密钥用于更新应用证书;向服务器发送第二请求消息,该第二请求消息用于请求该服务器为该应用签发应用证书,该第二请求消息携带该第一公钥和该第二公钥;接收来自该服务器的应用证书和密文,该密文是通过该第二公钥对该对称加密密钥进行加密确定的;向该TEE发送该应用证书和该密文。
应理解,本申请实施例中,该第二公钥用于加密该对称加密密钥,而该对称加密密钥用于后续对证书更新过程中生成的密钥升级因子进行加密,以此达到安全传输密钥升级因子的目的,从而完成证书的更新。
本申请实施例的用于更新证书的方法,通过终端设备的TEE生成一对用于加密和解密对称加密密钥的第二公私钥对,并使用该第二公私钥对中的第二公钥来加密服务器生成的对称加密密钥,保障了在“服务器到终端设备的应用”和“终端设备的应用到终端设备的TEE”这两段传输通道中对称加密密钥是以密文的形式传输的,从而提高了密钥升级因子的传输安全性,提高了证书更新过程中证书加密传输的安全性。
结合第一方面,在第一方面的某些实现方式中,该应用接收来自该TEE的第一公私钥对中的第一公钥和第二公私钥对中的第二公钥,包括:该应用接收来自该TEE的签名后的业务证书,该业务证书包括该第一公钥和该第二公钥。
在本申请实施例中,由于该业务证书包括该第一公钥和该第二公钥,实现了用于申请签发应用证书的第一公钥和用于加密对称加密密钥的第二公钥之间的绑定关系,保证了该第二公钥是在TEE内部生成的。
结合第一方面,在第一方面的某些实现方式中,该第二公钥位于该业务证书的扩展属性字段。
在本申请实施例中,终端设备的TEE可以将第一公钥作为上述业务证书的基本属性字段,将第二公钥作为上述业务证书的扩展属性字段的值,以此来实现第一公钥和第二公钥的绑定,并且不影响该应用和该TEE之间的接口。
结合第一方面,在第一方面的某些实现方式中,该第二请求消息包括该签名后的业务证书。终端设备的TEE可以将签名后的业务证书通过第二请求消息发送至服务器,以便服务器签发应用证书。
结合第一方面,在第一方面的某些实现方式中,该签名后的业务证书是通过采用该终端设备的设备证书的私钥对该业务证书进行签名得到的。
在本申请实施例中,设备证书可以是终端设备出厂时预置的证书,并且终端设备中预置有设备证书的公钥和设备证书的私钥,设备证书的私钥用于对业务证书进行签名,设备证书的公钥用于对该签名后的业务证书进行验证。
第二方面,提供了一种用于更新证书的方法,应用于终端设备的TEE,包括:接收来自应用的第一请求消息,该第一请求消息用于请求生成公私钥对;基于该第一请求消息,生成第一公私钥对和第二公私钥对,该第一公私钥对用于申请签和验证该应用证书,该第二公私钥对用于加密和解密对称加密密钥,该对称加密密钥用于更新该应用证书;向该应用发送该第一公私钥对中的第一公钥和该第二公私钥对中的第二公钥;接收来自该应用的该应用证书和密文,该密文是通过该第二公钥加密该对称加密密钥确定的。
结合第二方面,在第二方面的某些实现方式中,在该TEE向该应用发送该第一公私钥对中的第一公钥和该第二公私钥对中的第二公钥之前,该方法还包括:该TEE确定业务证书,该业务证书包括该第一公钥和该第二公钥;该TEE采用该终端设备的设备证书的私钥对该业务证书进行签名,获得签名后的业务证书;该TEE向该应用发送该第一公私钥对中的第一公钥和该第二公私钥对中的第二公钥,包括:该TEE向该应用发送该签名后的业务证书。
在本申请实施例中,由于该业务证书包括该第一公钥和该第二公钥,实现了用于申请签发应用证书的第一公钥和用于加密对称加密密钥的第二公钥之间的绑定关系,并且通过设备证书的私钥对该业务证书进行签名,可以保证了该第二公钥的合法性。
结合第二方面,在第二方面的某些实现方式中,该第二公钥位于该业务证书的扩展属性字段。
在本申请实施例中,终端设备的TEE可以将第一公钥作为上述业务证书的基本属性字段,将第二公钥作为上述业务证书的扩展属性字段的值,以此来实现第一公钥和第二公钥的绑定,并且不影响该应用和该TEE之间的接口。
结合第二方面,在第二方面的某些实现方式中,在该TEE接收来自该应用的该应用证书和密文之后,该方法还包括:该TEE采用该第二公私钥对中的第二私钥对该密文进行解密,确定该对称加密密钥;该TEE保存该对称加密密钥。
在本申请实施例中,由于密文是服务器采用第二公钥对对称加密密钥进行加密的,终端设备的TEE可以采用第二私钥正确解密出对称加密密钥。
第三方面,提供了一种用于更新证书的方法,应用于服务器,包括:接收来自终端设备的应用的第二请求消息,该第二请求消息用于请求该服务器为该应用签发应用证书,该第二请求消息携带第一公私钥对中的第一公钥和第二公私钥对中的第二公钥;基于该第二请求消息,签发该应用证书,并确定对称加密密钥;基于该第二请求消息,采用该第二公钥对该对称加密密钥进行加密,确定密文;向该应用发送该应用证书和该密文。
结合第三方面,在第三方面的某些实现方式中,该第二请求消息包括签名后的业务证书,该业务证书包括该第一公钥和该第二公钥。
在本申请实施例中,由于该业务证书包括该第一公钥和该第二公钥,实现了用于申请签发应用证书的第一公钥和用于加密对称加密密钥的第二公钥之间的绑定关系。
结合第三方面,在第三方面的某些实现方式中,该第二公钥位于该业务证书的扩展属性字段。
在本申请实施例中,终端设备的TEE可以将第一公钥作为上述业务证书的基本属性字段,将第二公钥作为上述业务证书的扩展属性字段的值,以此来实现第一公钥和第二公钥的绑定,并且不影响该应用和该TEE之间的接口。
结合第三方面,在第三方面的某些实现方式中,该签名后的业务证书是通过采用该终端设备的设备证书的私钥对该业务证书进行签名得到的。
在本申请实施例中,设备证书可以是终端设备出厂时预置的证书,并且终端设备中预置有设备证书的公钥和设备证书的私钥,设备证书的私钥用于对业务证书进行签名,设备证书的公钥用于对该签名后的业务证书进行验证。
结合第三方面,在第三方面的某些实现方式中,在该服务器基于该第二请求消息,签发该应用证书,并确定对称加密密钥之前,该方法还包括:该服务器采用该设备证书的私钥对该签名后的业务证书进行验证;该服务器基于该第二请求消息,签发该应用证书,并确定对称加密密钥,包括:若验证通过,则该服务器基于该第二请求消息,签发该应用证书,并确定该对称加密密钥。
在本申请实施例中,服务器通过验证应用证书的签名,保证了第一公钥和第二公钥来自于终端设备的TEE,进而保证了应用申请应用证书的合法性。
第四方面,提供了一种用于更新证书的装置,包括:用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
第五方面,提供了另一种用于更新证书的装置,包括:用于执行上述第二方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第二方面中任一种可能的实现方式中的方法的模块。
第六方面,提供了再一种用于更新证书的装置,包括:用于执行上述第三方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第三方面中任一种可能的实现方式中的方法的模块。
第七方面,提供了又一种用于更新证书的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面至第二方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该用于更新证书的装置为终端设备的应用和/或终端设备的TEE,当该用于更新证书的装置为终端设备的应用和/或终端设备的TEE时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该用于更新证书的装置为配置于终端设备的应用和/或终端设备的TEE中的芯片。当用于更新证书的装置为配置于终端设备的应用和/或终端设备的TEE中的芯片时,通信接口可以是输入/输出接口。
第八方面,提供了又一种用于更新证书的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第三方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该用于更新证书的装置为服务器,当该用于更新证书的装置为服务器时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该用于更新证书的装置为配置于服务器中的芯片。当用于更新证书的装置为配置于服务器中的芯片时,通信接口可以是输入/输出接口。
第九方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面至第三方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第十方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面至第三方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第十方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第十一方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中至第三方面任一种可能实现方式中的方法。
第十二方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令),当其在计算机上运行时,使得计算机执行上述第一方面至第三方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例提供的一种***架构图;
图2是本申请实施例提供的一种用于更新证书的方法的示意性流程图;
图3是本申请实施例提供的另一种用于更新证书的方法的示意性流程图;
图4是本申请实施例提供的一种用于更新证书的装置的示意性框图;
图5是本申请实施例提供的另一种用于更新证书的装置的示意性框图;
图6是本申请实施例提供的再一种用于更新证书的装置的示意性框图;
图7是本申请实施例提供的又一种用于更新证书的装置的示意性框图;
图8是本申请实施例提供的又一种用于更新证书的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例中的终端设备也可以称为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
终端设备可以是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
此外,在本申请实施例中,终端设备还可以是物联网(internet of things,IoT)***中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。
图1是本申请实施例的***架构100的示意图。如图1所示,该***架构100包括:终端设备110、证书颁发机构120和证书下载服务器130。
其中,终端设备110可提供具体的应用层服务,例如视频、音乐和支付等。终端设备110中包括可信执行环境(trusted execution environment,TEE)111和应用(application,APP)112,可信执行环境111可以提供生成和存储公私钥对、计算新私钥、验证签名等功能,通常用来进行数字版权管理、移动支付和敏感数据保护,例如,防止高清电影和音乐等被盗用,完成手机支付等操作,提供指纹识别、虹膜识别和面部识别等。应用112是指安装在终端设备上的第三方应用程序,可以完善原始***的不足,满足用户的个性化需求。
证书颁发机构120用于接收证书请求,执行证书生成、证书作废和证书恢复等服务,在签发证书的同时,还具有派生对称加密密钥、生成新公钥等功能。证书下载服务器130可提供证书存储、证书下载、周期性证书失效检查等功能。此外,证书下载服务器130还用于存放吊销列表(certificate revocation list,CRL),提供发布CRL功能。示例性地,终端设备110可向证书颁发机构120申请签发证书,证书颁发机构120在生成并签名数字证书后,可以将签名后的数字证书存储至证书下载服务器130,当终端设备110需要时可在证书下载服务器130中获取证书颁发机构120签发的数字证书。
上述证书颁发机构120也可以称作CA服务器120,本申请将CA服务器120和证书下载服务器130统称为服务器。
应理解,数字证书主要有两个作用,一个是加密通信,一个是数字签名,其中加密通信能够保证信息不被他人获取并且无法获知信息内容;数字签名是用于进行身份识别的,使用自己的私钥进行签名后,当他人获取签名后可以使用公钥进行验证。常见的签名有邮件数字签名和电子公章等。
通常,数字证书存在有效期的属性,一旦数字证书过了有效期,按照认证要求终端设备的应用会认为该数字证书已经失效,不再具备合法性,在验证签名或者加密的消息时,会由于证书失效而使得消息验证失败,从而导致业务操作失败。因此,为了保证业务的连续性,终端设备的应用需要在数字证书到期之前就及时更新数字证书。
当前,终端设备的应用可以定期检查本地所用数字证书是否即将失效,当检测出数字证书还有一段时间即将失效时,应用可以向服务器发起证书申请,服务器在接收到证书申请后为终端设备的应用签发新证书。然而,对于海量应用的证书并发更新的场景而言,如果仍使用上述证书更新方法,将会对服务器同一时刻并发处理海量证书的性能带来巨大考验。
为了解决海量证书的并发更新问题,服务器可以根据指定的证书签发处理时间间隔来提前识别即将过期的数字证书,之后利用旧公钥和随机生成的密钥升级因子派生出新公钥,服务器使用该新公钥签发新数字证书,将新数字证书和密钥升级因子保存到服务器。其中,密钥升级因子也可以称为公钥升级因子或者私钥升级因子。应用在检测到本地的数字证书即将过期后,可以在服务器中下载新数字证书和密钥升级因子,并将其发送给TEE,TEE利用该密钥升级因子和旧私钥,可计算出新私钥,该新私钥可用于验证新数字证书。
但是,在上述证书更新方法中,服务器会预先生成对称加密密钥,该对称加密密钥用于加密密钥升级因子。服务器在生成该对称加密密钥后还会将其发送给TEE,这样TEE便可利用该对称加密密钥解密出密钥升级因子。但是在服务器传输对称加密密钥到TEE的过程中存在对称加密密钥泄露的风险,而对称加密密钥的泄露将会导致密钥升级因子的明文泄露,进而会泄露用户隐私。
有鉴于此,本申请实施例在上述方法的基础上,提供了一种用于更新证书的方法和装置,终端设备除了生成用于签发证书的第一公私钥对之外,还同时生成一对用于加密对称加密密钥的第二公私钥对,并且将第二公私钥对中的公钥发送给服务器,用于后续加密上述对称加密密钥。该方法解决了“服务器到终端设备的应用”和“终端设备的应用到终端设备的TEE”这两段传输通道中存在的明文传输对称加密密钥的风险的问题,提高了对称加密密钥传输的安全性。
在介绍本申请实施例提供的用于更新证书的方法之前,先做出以下几点说明。
第一,在下文示出的实施例中,各术语及英文缩略语,如第一请求消息、第一公私钥对、应用证书等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的请求消息、区分不同的公私钥对等。
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
下面结合图2和图3,对本申请提供的方法进行详细说明。
图2是本申请实施例提供的一种用于更新证书的方法200的示意性流程图,该方法200可以应用于图1所示的***架构100,但本申请实施例不限于此。如图2所示,该方法200可以包括以下步骤:
S201,终端设备的应用向终端设备的TEE发送第一请求消息,该第一请求消息用于请求生成公私钥对。对应地,终端设备的TEE接收来自终端设备的应用的该第一请求消息。
示例性地,终端设备的应用可以在首次使用时向该终端设备的TEE发送上述第一请求消息,以保证该应用能正常使用。
S202,终端设备的TEE基于该第一请求消息,生成第一公私钥对和第二公私钥对,该第一公私钥对用于申请签发和验证应用证书,该第二公私钥对用于加密和解密对称加密密钥,对称加密密钥用于更新应用证书。
应理解,在本申请实施例中,第一公私钥对包括第一公钥和第一私钥,并且由于该第一公私钥对是在终端设备的TEE中生成的,因此在终端设备的应用基于该第一公钥向服务器申请签发应用证书时,该第一公钥可以代表终端设备的应用的身份,相应地,终端设备的TEE可基于该第一私钥验证服务器签发的应用证书。该第二公钥包括第二公钥和第二私钥,该第二公钥用于加密对称加密密钥,该第二私钥用于解密对称加密密钥,该对称加密密钥用于后续加密和解密出密钥升级因子,从而完成应用证书的更新。
应理解,应用证书为服务器为终端设备的应用签发的数字证书,其还可以具有其他叫法,本申请实施例对此不作限定。
S203,终端设备的TEE向终端设备的应用发送第一公私钥对中的第一公钥和第二公私钥对中的第二公钥。对应地,终端设备的应用接收来自终端设备的TEE的该第一公钥和该第二公钥。
S204,终端设备的应用向服务器发送第二请求消息,该第二请求消息用于请求服务器为终端设备的应用签发应用证书,该第二请求消息携带该第一公钥和该第二公钥。对应地,服务器接收来自终端设备的应用的该第二请求消息。
可选地,该第二请求消息可以通过证书管理协议v2(certificate managementprotocol v2,CMPv2)发送至服务器。
示例性地,服务器前端具有弹性负载均衡器(elastic load balancer,ELB),在终端设备的应用向服务器发送第二请求消息时,该第二请求消息会先到达服务器前端的ELB,ELB可以选择较为空闲的服务器来发送该第二请求消息,进而签发应用证书,这样可以减轻服务器侧的负载压力。
S205,服务器基于该第二请求消息,签发应用证书,并确定对称加密密钥。
可选地,服务器可以先对第二请求消息进行验证,在验证通过的情况下为终端设备的应用签发应用证书。上述对称加密密钥是服务器使用特定算法生成的,该对称加密密钥用于后续加密密钥升级因子。
S206,服务器基于该第二请求消息,采用该第二公钥对该对称加密密钥进行加密,确定密文。
示例性地,服务器使用第二公钥加密用于后续加密和解密密钥升级因子的对称加密密钥,这样不会造成在“服务器到终端设备的应用”和“终端设备的应用到终端设备的TEE”这两段传输通道中明文传输对称加密密钥的风险,可以提高对称加密密钥传输的安全性。
示例性地,服务器可以利用该第二公钥,采用加密算法对该对称加密密钥进行加密,确定上述密文,该加密算法可以为RSA加密算法(Rivest-Shamir-Adleman,RSA)、数字签名算法(digital signature algorithm,DSA)和椭圆曲线密码学算法(elliptic curvecryptography,ECC)等不同的算法,本申请实施例在此不做限制。
S207,服务器向终端设备的应用发送该应用证书和该密文。对应地,终端设备的应用接收来自服务器的该应用证书和该密文。
在本申请实施例中,“服务器到终端设备的应用”的传输通道中传输的是加密后的对称加密密钥,即该密文,这样可以避免对称加密密钥被泄露,提高对称加密密钥的传输安全性。
可选地,终端设备的应用在接收到服务器返回的应用证书以及密文之后,可以保存该应用证书。
S208,终端设备的应用向终端设备的TEE发送该应用证书和该密文。对应地,终端设备的TEE接收来自终端设备的应用的该应用证书和该密文。
在本申请实施例中,“终端设备的应用到终端设备的TEE”的传输通道中传输的是加密后的对称加密密钥,即该密文,这样可以避免对称加密密钥被泄露,提高对称加密密钥的传输安全性。
本申请实施例的用于更新证书的方法,通过终端设备的TEE生成一对用于加密和解密对称加密密钥的第二公私钥对,并使用该第二公私钥对中的第二公钥来加密服务器生成的对称加密密钥,保障了在“服务器到终端设备的应用”和“终端设备的应用到终端设备的TEE”这两段传输通道中对称加密密钥是以密文的形式传输的,从而提高了密钥升级因子的传输安全性,提高了证书更新过程中证书加密传输的安全性。
作为一个可选的实施例,在执行上述S203之后,该方法还包括:该终端设备的应用接收来自该终端设备的TEE的签名后的业务证书,该业务证书包括该第一公钥和该第二公钥。
在本申请实施例中,终端设备的每个应用可以对应一个业务证书,并且该业务证书包括第一公钥和第二公钥,实现了用于申请签发应用证书的第一公钥和用于加密对称加密密钥的第二公钥之间的绑定关系,保证了该第二公钥是在TEE内部生成的。
应理解,上述业务证书与服务器为终端设备的应用签发的应用证书在形式上可以是相同的,但是该业务证书不能作为终端设备的应用的身份凭证,而服务器基于该第一公钥为终端设备的应用签发的应用证书则可作为身份凭证,以验证终端设备的应用的合法性。
作为一个可选的实施例,该第二公钥位于该业务证书的扩展属性字段。
作为一个可选的实施例,该第一公钥位于该业务证书的基本属性字段。
本申请实施例中,终端设备的TEE可以将第一公钥作为上述业务证书的基本属性字段,将第二公钥作为上述业务证书的扩展属性字段的值,以此来实现第一公钥和第二公钥的绑定。示例性地,终端设备的TEE可以将该携带第一公钥和第二公钥的业务证书和其他的证书请求文件信息进行组合,计算得到一个哈希值,然后对该哈希值进行签名,进而将其通过终端设备的应用发送给服务器。这样,保证了该第二公钥是在TEE内部生成的,并且终端设备的TEE可以使用一个业务证书实现第一公钥和第二公钥的绑定关系,不影响终端设备的应用和终端设备的TEE之间的接口。
应理解,上述第一公钥和第二公钥还可以位于业务证书的任意字段,本申请实施例在此不作限制。
可选地,该第二公钥还可以不作为业务证书的值,而是添加在该业务证书的末端,以此来实现第一公钥和第二公钥的绑定。示例性地,终端设备的TEE可以将业务证书、第二公钥以及其他的证书请求文件中的信息进行组合,计算得到一个哈希值,然后对该哈希值进行签名,进而将其通过应用发送给服务器。
作为一个可选的实施例,该第二请求消息包括该签名后的业务证书。终端设备的TEE可以将签名后的业务证书通过第二请求消息发送至服务器,以便服务器签发应用证书。
可选地,该第二请求消息中还包括业务证书的ID。示例性地,该业务证书的ID可以是一个随机数,能够起到区分终端设备的不同应用的目的,用于后续服务器生成与该ID对应的对称加密密钥。
作为一个可选的实施例,该签名后的业务证书是通过采用该终端设备的设备证书的私钥对该业务证书进行签名得到的。
应理解,上述设备证书可以是终端设备出厂时预置的证书,并且终端设备中预置有设备证书的公钥和设备证书的私钥,设备证书的私钥用于对业务证书进行签名,设备证书的公钥用于对该签名后的业务证书进行验证。
在本申请实施例中,上述第二请求消息还可以包括该设备证书的公钥,用于后续服务器验证该签名后的业务证书的合法性。终端设备的TEE采用该设备证书的私钥签名该业务证书,保证了该业务证书的合法性。此外,由于该设备证书的公钥和私钥均在终端设备的TEE内部产生,因此使用该设备证书的私钥对该业务证书签名后,可以保证第二公钥是在终端设备的TEE内部生成的,进一步提高了用户使用的安全性。
作为一个可选的实施例,在执行上述S204之前,该方法还包括:终端设备的应用可以使用终端设备的TEE发送的设备证书的公钥对该第二请求消息中签名后的业务证书进行验证,在验证通过的情况下,终端设备的应用向服务器发送该第二请求消息。这样,可以保证终端设备的应用接收到的第一公钥和第二公钥来自终端设备的TEE内部,进而保证终端设备的应用申请应用证书的合法性。
作为一个可选的实施例,在上述S204之后、S205之前,该方法还包括:服务器采用设备证书的公钥对签名后的业务证书进行验证,若验证通过,则服务器基于该第二请求消息,签发应用证书,并确定对称加密密钥。
示例性地,服务器侧具有硬件加密机和数字证书注册审批机构(registrationauthority,RA),其中硬件加密机基于第一公钥来签发应用证书;RA则负责向应用发放该应用证书。
在本申请实施例中,服务器通过验证应用证书的签名,保证了第一公钥和第二公钥来自于终端设备的TEE,进而保证了应用申请应用证书的合法性。
作为一个可选的实施例,在执行上述步骤208之后,该方法还包括:终端设备的TEE接收来自终端设备的应用的应用证书和密文,并采用第二公私钥对中的第二私钥对密文进行解密,确定对称加密密钥。
在本申请实施例中,由于密文是服务器采用第二公钥对对称加密密钥进行加密的,终端设备的TEE可以采用第二私钥正确解密出对称加密密钥。
作为一个可选的实施例,在上述终端设备的TEE解密密文之前,该方法还包括:终端设备的TEE使用第一私钥验证服务器基于第一公钥签发的应用证书,若验证成功,则终端设备的TEE保存该应用证书并解密上述密文,从而确定对称加密密钥。
在本申请实施例中,通过验证的方式可以保证接收到的第一公钥是在终端设备的TEE中生成的经过设备证书的私钥签名的公钥,并且可以防止导入其他应用证书对应的公钥。
应理解,应用的证书更新过程可以分为初始化阶段、证书更新阶段以及证书下载阶段,以上仅以方法200为例,描述了在初始化阶段中对称加密密钥的加密传输过程,为之后的证书更新阶段和证书下载阶段建立了基础。下面,将结合图3对终端设备的应用的证书更新过程所包括的三个阶段进行详细说明。
图3是本申请实施例提供的另一种用于更新证书的方法300的示意性流程图。如图3所示,初始化阶段可以包括以下步骤:
S301,终端设备的应用向终端设备的TEE请求生成公私钥对。对应地,终端设备的TEE接收该请求。
S302,终端设备的TEE接受该请求之后,生成两对公私钥对(即上述第一公私钥对和第二公私钥对),分别包括用于签名的公私钥对PK0和SK0,以及用于加密和解密对称加密密钥的公私钥对PK1和SK1
S303,终端设备的TEE生成证书管理协议v2(certificate management protocolv2,CMPv2)证书请求,并将该CMPv2证书请求发送给终端设备的应用。对应地,终端设备的应用接收该CMPv2证书请求。
上述CMPv2证书请求中可以携带使用出厂设备证书的私钥签名的业务证书Cert’(PK0,PK1),其中,PK0位于该业务证书的基本属性字段,PK1位于该应用证书的扩展属性字段。由于该业务证书的扩展属性字段为预留字段,因此,终端设备的TEE可以将PK1放入预留字节中与PK0进行绑定,这样,在传输CMPv2证书请求时便无需修改当前终端设备的TEE与终端设备的应用之间的现有接口,使得本方案更易于实现。
S304,终端设备的应用在接收到该CMPv2证书请求之后,在超文本传输协议(hypertext transfer protocol over secure socket layer,HTTPS)通道中向CA服务器发送该CMPv2证书请求,该CMPv2证书请求中可以携带业务证书的ID、业务证书Cert’(PK0,PK1),此外,该CMPv2证书请求中还可以包括设备证书。对应地,CA服务器接收该CMPv2证书请求。
S305,CA服务器接收到该证书请求之后,使用该设备证书的公钥验证使用该设备证书的私钥签名的业务证书Cert’(PK0,PK1)。在验证通过的情况下,硬件加密机基于第一公钥,签发初始应用证书Cert0(PK0)。之后CA服务器通过硬件加密机计算该业务证书的ID对应的对称加密密钥Kc=PRF(MK,ID),其中,主密钥(master key,MK)是由硬件加密机生成的。
进一步地,硬件加密机可以使用PK1加密Kc,从而得到Kc的密文Enc(PK1,Kc),其中Enc表示加密算法。
S306,CA服务器将上述业务证书的ID和初始应用证书Cert0(PK0)发送给证书下载服务器,该证书下载服务器接收并保存该业务证书的ID和初始应用证书Cert0(PK0)。
可选地,后续证书下载服务器可检查保存的该业务证书的ID对应的初始应用证书Cert0(PK0)是否即将过期。
S307,CA服务器在HTTPS通道中向终端设备的应用返回该业务证书的ID、初始应用证书Cert0(PK0)和对称加密密钥Kc的密文Enc(PK1,Kc)。对应地,终端设备的应用接收该业务证书的ID、初始应用证书Cert0(PK0)和对称加密密钥Kc的密文Enc(PK1,Kc)。
S308,终端设备的应用保存该业务证书的ID和证书Cert0(PK0),用于后续终端设备的应用检查该业务证书的ID对应的初始应用证书Cert0(PK0)是否即将过期。
S309,终端设备的应用向终端设备的TEE返回该初始应用证书Cert0(PK0)和对称加密密钥Kc的密文Enc(PK1,Kc)。对应地,终端设备的TEE接收该初始应用证书Cert0(PK0)和对称加密密钥Kc的密文Enc(PK1,Kc)。
S310,终端设备的TEE接收初始应用证书Cert0(PK0)和对称加密密钥Kc的密文Enc(PK1,Kc)之后,使用在终端设备的TEE中生成的私钥SK0对初始应用证书Cert0(PK0)携带的PK0进行验证,若验证通过,则终端设备的TEE保存该初始应用证书Cert0(PK0),并使用在终端设备的TEE中生成的私钥SK1解密密文Enc(PK1,Kc),得到对称加密密钥Kc。
可选地,终端设备的TEE可以保存该对称加密密钥Kc。
上述初始化阶段的目的在于CA服务器为应用签发初始应用证书Cert0(PK0),示例性地,在该阶段生成了一对用于加密和解密对称加密密钥Kc的公私钥对PK1和SK1,这样可以提高Kc传输的安全性,进而提高后续阶段使用Kc加密密钥升级因子的安全性。
在CA服务器生成初始应用证书Cert0(PK0)之后,由于该初始证书具有有效期,因此,CA服务器在检查到该初始证书即将过期时,需要进行证书更新。接下来,将对证书更新阶段进行详细描述,该阶段包括以下步骤:
S311,证书下载服务器根据证书签发处理时间间隔,周期性地检查是否有即将过期的数字证书。
示例性地,上述证书签发处理时间间隔可以为80天、90天或者100天等不同的数值,本申请实施例在此不作限制。
S312,若证书下载服务器检查发现初始应用证书Cert0(PK0)即将过期,则证书下载服务器通知CA服务器更新初始应用证书Cert0(PK0)。对应地,CA服务器接收该证书下载服务器更新初始应用证书Cert0(PK0)的通知。
S313,CA服务器在接收到证书下载服务器更新初始应用证书Cert0(PK0)的通知之后,随机生成密钥升级因子u+1,并利用该密钥升级因子u+1和旧公钥PK0,计算得到新公钥PK2,再基于新公钥PK2和业务证书的ID,通过上述硬件加密机签发一个新应用证书Cert1(PK2)。
该CA服务器还可以通过硬件加密机使用MK和业务证书的ID派生一个对称加密密钥Kc,并利用该对称加密密钥Kc加密密钥升级因子u+1,得到密钥升级因子u+1的密文Enc(Kc,u+1)。
之后,CA服务器将新应用证书Cert1(PK2)、业务证书的ID和密钥升级因子u+1的密文Enc(Kc,u+1)返回至证书下载服务器。对应地,证书下载服务器接收新应用证书Cert1(PK2)、业务证书的ID和密钥升级因子u+1的密文Enc(Kc,u+1)。
S314,证书下载服务器保存该业务证书的ID、新应用证书Cert1(PK2)以及密钥升级因子u+1的密文Enc(Kc,u+1),以便于后续证书下载服务器接收到终端设备的应用的证书下载请求时,可以为终端设备的应用返回新应用证书Cert1(PK2)。
在上述证书更新阶段,证书下载服务器可以提前识别即将失效的数字证书,并由CA服务器提前更新即将过期的数字证书,这样,可以避免CA服务器并发处理海量证书更新带来的性能瓶颈。之后,在证书下载阶段,当终端设备的应用检查到初始应用证书Cert0(PK0)即将过期时,可以向证书下载服务器请求下载新证书。下面将对证书下载阶段进行详细描述,该阶段包括以下步骤:
S315,终端设备的应用检查初始应用证书Cert0(PK0)的有效期,判断该数字证书是否即将过期。
S316,若终端设备的应用检查到初始应用证书Cert0(PK0)即将过期,则向证书下载服务器发送证书下载请求,请求下载新证书和密钥升级因子。对应地,证书下载服务器接收该证书下载请求。
S317,证书下载服务器在接收到该证书下载请求之后,向终端设备的应用返回新应用证书Cert1(PK2)和密钥升级因子u+1的密文Enc(Kc,u+1)。对应地,终端设备的应用接收该新应用证书Cert1(PK2)和密钥升级因子u+1的密文Enc(Kc,u+1)。
S318,终端设备的应用接收该新应用证书Cert1(PK2)和密钥升级因子u+1的密文Enc(Kc,u+1)之后,将其返回终端设备的TEE,用于后续解密出密钥升级因子。对应地,终端设备的TEE接收该新应用证书Cert1(PK2)和密钥升级因子u+1的密文Enc(Kc,u+1)。
S319,终端设备的TEE接收到该新应用证书Cert1(PK2)和密钥升级因子u+1的密文Enc(Kc,u+1)之后,使用对称加密密钥Kc解密密文Enc(Kc,u+1),得到密钥升级因子u+1,该对称加密密钥Kc即为在上述S310中保存的对称加密密钥;终端设备的TEE使用该密钥升级因子u+1以及旧私钥SK0,计算出新私钥SK2;终端设备的TEE保存该密钥升级因子u+1和新私钥SK2;终端设备的TEE使用该新私钥SK2对新应用证书Cert1(PK2)携带的新公钥PK2进行验证的,若验证通过,则保存该新应用证书Cert1(PK2)。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图3,详细描述了根据本申请实施例的用于更新证书的方法,下面将结合图4至图8详细描述根据本申请实施例的用于更新证书的装置。
图4示出了本申请实施例提供的一种用于更新证书的装置400的示意性框图,该装置400包括:发送模块410和接收模块420。
其中,发送模块410用于:向TEE发送第一请求消息,该第一请求消息用于请求生成公私钥对;接收模块420用于:接收来自该TEE的第一公私钥对中的第一公钥和第二公私钥对中的第二公钥,该第一公私钥对用于申请签发和验证该应用证书,该第二公私钥对用于加密和解密对称加密密钥,该对称加密密钥用于更新该应用证书;该发送模块410还用于:向服务器发送第二请求消息,该第二请求消息用于请求该服务器为该装置签发该应用证书,该第二请求消息携带该第一公钥和该第二公钥;该接收模块420还用于:向该TEE发送该应用证书和该密文。
可选地,接收模块420用于:接收来自该TEE的签名后的业务证书,该业务证书包括该第一公钥和该第二公钥。
可选地,该第二公钥位于该业务证书的扩展属性字段。
可选地,该第二请求消息包括该签名后的业务证书。
可选地,该签名后的业务证书是通过采用该终端设备的设备证书的私钥对该业务证书进行签名得到的。
在一个可选的例子中,本领域技术人员可以理解,装置400可以具体为上述实施例中的终端设备的应用,或者,上述实施例中终端设备的应用的功能可以集成在装置400中。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述接收模块420可以为通信接口,例如收发接口。装置400可以用于执行上述方法实施例中与终端设备的应用对应的各个流程和/或步骤。
图5示出了本申请实施例提供的另一种用于更新证书的装置500的示意性框图,该装置500包括:接收模块510、处理模块520和发送模块530。
其中,接收模块510用于:接收来自应用的第一请求消息,该第一请求消息用于请求生成公私钥对;处理模块520用于:基于该第一请求消息,生成第一公私钥对和第二公私钥对,该第一公私钥对用于申请签和验证该应用证书,该第二公私钥对用于加密和解密对称加密密钥,该对称加密密钥用于更新该应用证书;发送模块530用于:向该应用发送该第一公私钥对中的第一公钥和该第二公私钥对中的第二公钥;该接收模块510还用于:接收来自该应用的该应用证书和密文,该密文是通过该第二公钥加密该对称加密密钥确定的。
可选地,在向该应用发送该第一公私钥对中的第一公钥和该第二公私钥对中的第二公钥之前,该处理模块520用于:确定业务证书,该业务证书包括该第一公钥和该第二公钥;采用该终端设备的设备证书的私钥对该业务证书进行签名,获得签名后的业务证书;该发送模块530还用于:向该应用发送该第一公私钥对中的第一公钥和该第二公私钥对中的第二公钥,包括:向该应用发送该签名后的业务证书。
可选地,该第二公钥位于该业务证书的扩展属性字段。
可选地,在接收来自该应用的该应用证书和密文之后,该处理模块520用于:采用该第二公私钥对中的第二私钥对该密文进行解密,确定该对称加密密钥;保存该对称加密密钥。
在一个可选的例子中,本领域技术人员可以理解,装置500可以具体为上述实施例中的终端设备的TEE,或者,上述实施例中终端设备的TEE的功能可以集成在装置500中。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述接收模块510可以为通信接口,例如收发接口。装置500可以用于执行上述方法实施例中与终端设备的TEE对应的各个流程和/或步骤。
在一种可能的实现方式中,上述装置400和装置500可以合并为一个实体装置,可以具体为上述实施例中的终端设备。
图6示出了本申请实施例提供的另一种用于更新证书的装置600的示意性框图,该装置600包括:接收模块610、处理模块620和发送模块630。
其中,接收模块610用于:接收来自终端设备的应用的第二请求消息,该第二请求消息用于请求该装置为该应用签发应用证书,该第二请求消息携带第一公私钥对中的第一公钥和第二公私钥对中的第二公钥;处理模块620用于:基于该第二请求消息,签发该应用证书,并确定对称加密密钥;该处理模块620还用于:基于该第二请求消息,采用该第二公钥对该对称加密密钥进行加密,确定密文;发送模块630用于:向该应用发送该应用证书和该密文。
可选地,该第二请求消息包括签名后的业务证书,该业务证书包括该第一公钥和该第二公钥。
可选地,该第二公钥位于该业务证书的扩展属性字段。
可选地,该签名后的业务证书是通过采用该终端设备的设备证书的私钥对该业务证书进行签名得到的。
可选地,在基于该第二请求消息,签发该应用证书,并确定对称加密密钥之前,该处理模块620具体用于:采用该设备证书的私钥对该签名后的业务证书进行验证;基于该第二请求消息,签发该应用证书,并确定对称加密密钥,包括:若验证通过,则基于该第二请求消息,签发该应用证书,并确定该对称加密密钥。
在一个可选的例子中,本领域技术人员可以理解,装置600可以具体为上述实施例中的服务器,或者,上述实施例中服务器的功能可以集成在装置600中。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述接收模块610可以为通信接口,例如收发接口。装置600可以用于执行上述方法实施例中与服务器对应的各个流程和/或步骤。
应理解,这里的装置400、装置500和装置600以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
在本申请的实施例,图4至图6中的装置400、装置500和装置600也可以是芯片或者芯片***,例如:片上***(system on chip,SoC)。对应的,接收模块420可以是该芯片的收发电路,在此不做限定。
图7示出了本申请实施例提供的又一种用于更新证书的装置700的示意性框图。该装置700包括处理器710、收发器720和存储器730。其中,处理器710、收发器720和存储器730通过内部连接通路互相通信,该存储器730用于存储指令,该处理器710用于执行该存储器730存储的指令,以控制该收发器720发送信号和/或接收信号。
应理解,装置700可以具体为上述实施例中的终端设备的应用和/或终端设备的TEE,或者,上述实施例中终端设备的应用和/或终端设备的TEE的功能可以集成在装置700中,装置700可以用于执行上述方法实施例中与终端设备的应用和/或终端设备的TEE对应的各个步骤和/或流程。可选地,该存储器730可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器710可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与终端设备的应用和/或终端设备的TEE对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器710可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图8示出了本申请实施例提供的又一种用于更新证书的装置800的示意性框图。该装置800包括处理器810、收发器820和存储器830。其中,处理器810、收发器820和存储器830通过内部连接通路互相通信,该存储器830用于存储指令,该处理器810用于执行该存储器830存储的指令,以控制该收发器820发送信号和/或接收信号。
应理解,装置800可以具体为上述实施例中的服务器,或者,上述实施例中服务器的功能可以集成在装置800中,装置800可以用于执行上述方法实施例中与服务器对应的各个步骤和/或流程。具体各部分的功能已基于上述图7进行了详细说明,在此不再赘述。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也不表示先后顺序。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种用于更新证书的方法,其特征在于,应用于终端设备,所述终端设备包括可信执行环境TEE和应用,所述方法包括:
所述应用向所述TEE发送第一请求消息,所述第一请求消息用于请求生成公私钥对;
所述应用接收来自所述TEE的第一公私钥对中的第一公钥和第二公私钥对中的第二公钥,所述第一公私钥对用于申请签发和验证应用证书,所述第二公私钥对用于加密和解密对称加密密钥,所述对称加密密钥用于更新所述应用证书;
所述应用向服务器发送第二请求消息,所述第二请求消息用于请求所述服务器为所述应用签发所述应用证书,所述第二请求消息携带所述第一公钥和所述第二公钥;
所述应用接收来自所述服务器的所述应用证书和密文,所述密文是通过所述第二公钥对所述对称加密密钥进行加密确定的;
所述应用向所述TEE发送所述应用证书和所述密文。
2.根据权利要求1所述的方法,其特征在于,所述应用接收来自所述TEE的第一公私钥对中的第一公钥和第二公私钥对中的第二公钥,包括:
所述应用接收来自所述TEE的签名后的业务证书,所述业务证书包括所述第一公钥和所述第二公钥。
3.根据权利要求2所述的方法,其特征在于,所述第二公钥位于所述业务证书的扩展属性字段。
4.根据权利要求2或3所述的方法,其特征在于,所述第二请求消息包括所述签名后的业务证书。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述签名后的业务证书是通过采用所述终端设备的设备证书的私钥对所述业务证书进行签名得到的。
6.一种用于更新证书的方法,其特征在于,应用于终端设备,所述终端设备包括可信执行环境TEE和应用,所述方法包括:
所述TEE接收来自所述应用的第一请求消息,所述第一请求消息用于请求生成公私钥对;
所述TEE基于所述第一请求消息,生成第一公私钥对和第二公私钥对,所述第一公私钥对用于申请签发和验证应用证书,所述第二公私钥对用于加密和解密对称加密密钥,所述对称加密密钥用于更新所述应用证书;
所述TEE向所述应用发送所述第一公私钥对中的第一公钥和所述第二公私钥对中的第二公钥;
所述TEE接收来自所述应用的所述应用证书和密文,所述密文是通过所述第二公钥加密所述对称加密密钥确定的。
7.根据权利要求6所述的方法,其特征在于,在所述TEE向所述应用发送所述第一公私钥对中的第一公钥和所述第二公私钥对中的第二公钥之前,所述方法还包括:
所述TEE确定业务证书,所述业务证书包括所述第一公钥和所述第二公钥;
所述TEE采用所述终端设备的设备证书的私钥对所述业务证书进行签名,获得签名后的业务证书;
所述TEE向所述应用发送所述第一公私钥对中的第一公钥和所述第二公私钥对中的第二公钥,包括:
所述TEE向所述应用发送所述签名后的业务证书。
8.根据权利要求7所述的方法,其特征在于,所述第二公钥位于所述业务证书的扩展属性字段。
9.根据权利要求6至8中任一项所述的方法,其特征在于,在所述TEE接收来自所述应用的所述应用证书和密文之后,所述方法还包括:
所述TEE采用所述第二公私钥对中的第二私钥对所述密文进行解密,确定所述对称加密密钥;
所述TEE保存所述对称加密密钥。
10.一种用于更新证书的方法,其特征在于,所述方法包括:
服务器接收来自终端设备的应用的第二请求消息,所述第二请求消息用于请求所述服务器为所述应用签发应用证书,所述第二请求消息携带第一公私钥对中的第一公钥和第二公私钥对中的第二公钥;
所述服务器基于所述第二请求消息,签发所述应用证书,并确定对称加密密钥;
所述服务器基于所述第二请求消息,采用所述第二公钥对所述对称加密密钥进行加密,确定密文;
所述服务器向所述应用发送所述应用证书和所述密文。
11.根据权利要求10所述的方法,其特征在于,所述第二请求消息包括签名后的业务证书,所述业务证书包括所述第一公钥和所述第二公钥。
12.根据权利要求11所述的方法,其特征在于,所述第二公钥位于所述业务证书的扩展属性字段。
13.根据权利要求11或12所述的方法,其特征在于,所述签名后的业务证书是通过采用所述终端设备的设备证书的私钥对所述业务证书进行签名得到的。
14.根据权利要求11至13中任一项所述的方法,其特征在于,在所述服务器基于所述第二请求消息,签发所述应用证书,并确定对称加密密钥之前,所述方法还包括:
所述服务器采用所述设备证书的私钥对所述签名后的业务证书进行验证;
所述服务器基于所述第二请求消息,签发所述应用证书,并确定对称加密密钥,包括:
若验证通过,则所述服务器基于所述第二请求消息,签发所述应用证书,并确定所述对称加密密钥。
15.一种用于更新证书的装置,其特征在于,包括:
发送模块,用于向可信执行环境TEE发送第一请求消息,所述第一请求消息用于请求生成公私钥对;
接收模块,用于接收来自所述TEE的第一公私钥对中的第一公钥和第二公私钥对中的第二公钥,所述第一公私钥对用于申请签发和验证应用证书,所述第二公私钥对用于加密和解密对称加密密钥,所述对称加密密钥用于更新所述应用证书;
所述发送模块还用于:向服务器发送第二请求消息,所述第二请求消息用于请求所述服务器为所述装置签发所述应用证书,所述第二请求消息携带所述第一公钥和所述第二公钥;
所述接收模块还用于:接收来自所述服务器的所述应用证书和密文,所述密文是通过所述第二公钥对所述对称加密密钥进行加密确定的;
所述发送模块还用于:向所述TEE发送所述应用证书和所述密文。
16.根据权利要求15所述的装置,其特征在于,所述接收模块,具体用于:
接收来自所述TEE的签名后的业务证书,所述业务证书包括所述第一公钥和所述第二公钥。
17.根据权利要求16所述的装置,其特征在于,所述第二公钥位于所述业务证书的扩展属性字段。
18.根据权利要求16或17所述的装置,其特征在于,所述第二请求消息包括所述签名后的业务证书。
19.根据权利要求16至18中任一项所述的装置,其特征在于,所述签名后的业务证书是通过采用所述终端设备的设备证书的私钥对所述业务证书进行签名得到的。
20.一种用于更新证书的装置,其特征在于,包括:
接收模块,用于接收来自应用的第一请求消息,所述第一请求消息用于请求生成公私钥对;
处理模块,用于基于所述第一请求消息,生成第一公私钥对和第二公私钥对,所述第一公私钥对用于申请签发和验证应用证书,所述第二公私钥对用于加密和解密对称加密密钥,所述对称加密密钥用于更新所述应用证书;
发送模块,用于向所述应用发送所述第一公私钥对中的第一公钥和所述第二公私钥对中的第二公钥;
所述接收模块还用于:接收来自所述应用的所述应用证书和密文,所述密文是通过所述第二公钥加密所述对称加密密钥确定的。
21.根据权利要求20所述的装置,其特征在于,在向所述应用发送所述第一公私钥对中的第一公钥和所述第二公私钥对中的第二公钥之前,所述处理模块,具体用于:
确定业务证书,所述业务证书包括所述第一公钥和所述第二公钥;
采用所述终端设备的设备证书的私钥对所述业务证书进行签名,获得签名后的业务证书;
所述发送模块还用于:向所述应用发送所述第一公私钥对中的第一公钥和所述第二公私钥对中的第二公钥,包括:
向所述应用发送所述签名后的业务证书。
22.根据权利要求21所述的装置,其特征在于,所述第二公钥位于所述业务证书的扩展属性字段。
23.根据权利要求20至22中任一项所述的装置,其特征在于,在接收来自所述应用的所述应用证书和密文之后,所述处理模块,具体用于:
采用所述第二公私钥对中的第二私钥对所述密文进行解密,确定所述对称加密密钥;
保存所述对称加密密钥。
24.一种用于更新证书的装置,其特征在于,包括:
接收模块,用于接收来自终端设备的应用的第二请求消息,所述第二请求消息用于请求所述装置为所述应用签发应用证书,所述第二请求消息携带第一公私钥对中的第一公钥和第二公私钥对中的第二公钥;
处理模块,用于基于所述第二请求消息,签发所述应用证书,并确定对称加密密钥;
所述处理模块还用于:基于所述第二请求消息,采用所述第二公钥对所述对称加密密钥进行加密,确定密文;
发送模块,用于向所述应用发送所述应用证书和所述密文。
25.根据权利要求24所述的装置,其特征在于,所述第二请求消息包括签名后的业务证书,所述业务证书包括所述第一公钥和所述第二公钥。
26.根据权利要求25所述的装置,其特征在于,所述第二公钥位于所述业务证书的扩展属性字段。
27.根据权利要求25或26所述的装置,其特征在于,所述签名后的业务证书是通过采用所述终端设备的设备证书的私钥对所述业务证书进行签名得到的。
28.根据权利要求25至27中任一项所述的装置,其特征在于,在基于所述第二请求消息,签发所述应用证书,并确定对称加密密钥之前,所述处理模块,具体用于:
采用所述设备证书的私钥对所述签名后的业务证书进行验证;
基于所述第二请求消息,签发所述应用证书,并确定对称加密密钥,包括:
若验证通过,则基于所述第二请求消息,签发所述应用证书,并确定所述对称加密密钥。
29.一种用于更新证书的装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述装置执行如权利要求1至14中任一项所述的方法。
30.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现如权利要求1至14中任一项所述的方法的指令。
CN202011090552.8A 2020-10-13 2020-10-13 用于更新证书的方法和装置 Active CN114362951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011090552.8A CN114362951B (zh) 2020-10-13 2020-10-13 用于更新证书的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011090552.8A CN114362951B (zh) 2020-10-13 2020-10-13 用于更新证书的方法和装置

Publications (2)

Publication Number Publication Date
CN114362951A true CN114362951A (zh) 2022-04-15
CN114362951B CN114362951B (zh) 2024-05-17

Family

ID=81090381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011090552.8A Active CN114362951B (zh) 2020-10-13 2020-10-13 用于更新证书的方法和装置

Country Status (1)

Country Link
CN (1) CN114362951B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506134A (zh) * 2023-06-28 2023-07-28 山东海量信息技术研究院 数字证书管理方法、装置、设备、***及可读存储介质
CN117176362A (zh) * 2023-11-03 2023-12-05 荣耀终端有限公司 一种认证方法和装置

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110376A1 (en) * 1997-10-14 2003-06-12 Michael J. Wiener Method and system for providing updated encryption key pairs and digital signature key pairs in a public key system
US20080016337A1 (en) * 2006-07-13 2008-01-17 Dennis Morgan Client apparatus and method with key manager
CN104378386A (zh) * 2014-12-09 2015-02-25 浪潮电子信息产业股份有限公司 一种云数据机密性保护和访问控制的方法
CN104700261A (zh) * 2013-12-10 2015-06-10 ***股份有限公司 Pos终端的安全入网初始化方法及其***
CN105160242A (zh) * 2015-08-07 2015-12-16 北京亿速码数据处理有限责任公司 一种读卡器的证书加载方法、证书更新方法及读卡器
CN105429760A (zh) * 2015-12-01 2016-03-23 神州融安科技(北京)有限公司 一种基于tee的数字证书的身份验证方法及***
CN105516180A (zh) * 2015-12-30 2016-04-20 北京金科联信数据科技有限公司 基于公钥算法的云密钥认证***
CN105515768A (zh) * 2016-01-08 2016-04-20 腾讯科技(深圳)有限公司 一种更新密钥的方法、装置和***
CN106027464A (zh) * 2016-01-21 2016-10-12 李明 一种安全信息控制方法及身份证读卡终端
CN106453330A (zh) * 2016-10-18 2017-02-22 深圳市金立通信设备有限公司 一种身份认证的方法和***
CN108234509A (zh) * 2018-01-16 2018-06-29 国民认证科技(北京)有限公司 基于tee和pki证书的fido认证器、认证***及方法
CN108768664A (zh) * 2018-06-06 2018-11-06 腾讯科技(深圳)有限公司 密钥管理方法、装置、***、存储介质和计算机设备
CN109284999A (zh) * 2017-07-20 2019-01-29 上海方付通商务服务有限公司 基于移动网络终端的交易认证方法及***
CN109639427A (zh) * 2017-10-09 2019-04-16 华为技术有限公司 一种数据发送的方法及设备
CN109743176A (zh) * 2018-12-28 2019-05-10 百富计算机技术(深圳)有限公司 一种pos终端的证书更新方法、服务器及pos终端
CN110050437A (zh) * 2016-09-06 2019-07-23 华为技术有限公司 分布式证书注册的装置和方法
US20190394053A1 (en) * 2017-02-10 2019-12-26 Huawei Technologies Co., Ltd. Method and System for Updating Certificate Issuer Public Key, and Related Device
CN111066284A (zh) * 2017-10-09 2020-04-24 华为技术有限公司 一种业务证书管理方法、终端及服务器

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110376A1 (en) * 1997-10-14 2003-06-12 Michael J. Wiener Method and system for providing updated encryption key pairs and digital signature key pairs in a public key system
US20080016337A1 (en) * 2006-07-13 2008-01-17 Dennis Morgan Client apparatus and method with key manager
CN104700261A (zh) * 2013-12-10 2015-06-10 ***股份有限公司 Pos终端的安全入网初始化方法及其***
CN104378386A (zh) * 2014-12-09 2015-02-25 浪潮电子信息产业股份有限公司 一种云数据机密性保护和访问控制的方法
CN105160242A (zh) * 2015-08-07 2015-12-16 北京亿速码数据处理有限责任公司 一种读卡器的证书加载方法、证书更新方法及读卡器
CN105429760A (zh) * 2015-12-01 2016-03-23 神州融安科技(北京)有限公司 一种基于tee的数字证书的身份验证方法及***
CN105516180A (zh) * 2015-12-30 2016-04-20 北京金科联信数据科技有限公司 基于公钥算法的云密钥认证***
CN105515768A (zh) * 2016-01-08 2016-04-20 腾讯科技(深圳)有限公司 一种更新密钥的方法、装置和***
CN106027464A (zh) * 2016-01-21 2016-10-12 李明 一种安全信息控制方法及身份证读卡终端
CN110050437A (zh) * 2016-09-06 2019-07-23 华为技术有限公司 分布式证书注册的装置和方法
CN106453330A (zh) * 2016-10-18 2017-02-22 深圳市金立通信设备有限公司 一种身份认证的方法和***
US20190394053A1 (en) * 2017-02-10 2019-12-26 Huawei Technologies Co., Ltd. Method and System for Updating Certificate Issuer Public Key, and Related Device
CN109284999A (zh) * 2017-07-20 2019-01-29 上海方付通商务服务有限公司 基于移动网络终端的交易认证方法及***
CN109639427A (zh) * 2017-10-09 2019-04-16 华为技术有限公司 一种数据发送的方法及设备
CN111066284A (zh) * 2017-10-09 2020-04-24 华为技术有限公司 一种业务证书管理方法、终端及服务器
CN108234509A (zh) * 2018-01-16 2018-06-29 国民认证科技(北京)有限公司 基于tee和pki证书的fido认证器、认证***及方法
CN108768664A (zh) * 2018-06-06 2018-11-06 腾讯科技(深圳)有限公司 密钥管理方法、装置、***、存储介质和计算机设备
CN109743176A (zh) * 2018-12-28 2019-05-10 百富计算机技术(深圳)有限公司 一种pos终端的证书更新方法、服务器及pos终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王华锋;张林;: "江苏TVOS1.0前端安全平台落地建设方案", 有线电视技术, no. 05 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506134A (zh) * 2023-06-28 2023-07-28 山东海量信息技术研究院 数字证书管理方法、装置、设备、***及可读存储介质
CN116506134B (zh) * 2023-06-28 2023-09-15 山东海量信息技术研究院 数字证书管理方法、装置、设备、***及可读存储介质
CN117176362A (zh) * 2023-11-03 2023-12-05 荣耀终端有限公司 一种认证方法和装置
CN117176362B (zh) * 2023-11-03 2024-04-02 荣耀终端有限公司 一种认证方法和装置

Also Published As

Publication number Publication date
CN114362951B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
US11223485B2 (en) Verifiable encryption based on trusted execution environment
WO2021022701A1 (zh) 信息传输方法、装置、客户端、服务端及存储介质
US11265319B2 (en) Method and system for associating a unique device identifier with a potential security threat
CN109074449B (zh) 在安全飞地中灵活地供应证明密钥
CN109074466B (zh) 用于服务器的平台证明和注册
EP3308522B1 (en) System, apparatus and method for multi-owner transfer of ownership of a device
JP5508428B2 (ja) 鍵の配布方法及びシステム
EP2995039B1 (en) Systems and methods for secure communication
EP2845141B1 (en) Method and system for activation
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN106227503A (zh) 安全芯片cos固件更新方法、服务端、终端及***
EP2961094A1 (en) System and method for generating a random number
CN113691502A (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN111935166B (zh) 通信认证方法、***、电子设备、服务器及存储介质
CN112822177B (zh) 数据传输方法、装置、设备和存储介质
CN114362951B (zh) 用于更新证书的方法和装置
CN113573304A (zh) 签名实现、验签方法以及签名终端、验签终端和存储介质
US20120124378A1 (en) Method for personal identity authentication utilizing a personal cryptographic device
CN102096841A (zh) 安装有计算机代码的集成电路和***
CN108449322B (zh) 身份注册、认证方法、***及相关设备
US20240106633A1 (en) Account opening methods, systems, and apparatuses
CN115348023A (zh) 一种数据安全处理方法和装置
JP6701011B2 (ja) 端末登録方法、及び端末登録システム
US20220337430A1 (en) Control method, control program, and information processing device
US20230379142A1 (en) Authentication mechanism for computational storage download program

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220511

Address after: 523799 Room 101, building 4, No. 15, Huanhu Road, Songshanhu Park, Dongguan City, Guangdong Province

Applicant after: Petal cloud Technology Co.,Ltd.

Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant before: HUAWEI DEVICE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant