H04L9/32 H04L29/06
1.一种数字证书申请方法,应用于终端设备,所述终端设备集成有安全元件,并装载有 客户端软件,该方法包括:
客户端向服务端发送数字证书申请请求,以供服务端根据该申请请求生成申请信息, 并将该申请信息返回给客户端,所述申请信息包括:与所述申请请求唯一对应的申请标识;
客户端将服务端返回的所述申请信息下发给安全元件;
安全元件根据非对称算法生成公私钥对,采用私钥对所述申请标识进行签名,得到终 端签名数据,并将该终端签名数据和公钥封装为指定格式后发送给客户端;
客户端将该指定格式数据发送给服务端,以供服务端在根据所述公钥确定所述终端签 名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名数据、所述客 户端的登录用户信息以及证书使用信息发送给CA。
2.根据权利要求1所述的方法,
所述申请信息中还包括:非对称算法信息以及签名算法信息;
所述安全元件根据非对称算法生成公私钥对,并采用私钥对该申请标识进行签名,得 到终端签名数据,包括:
所述安全元件根据所述申请信息中的非对称算法信息生成公私钥对,采用所述申请信 息中的签名算法信息计算密钥长度和所述申请标识的摘要,并采用私钥对该摘要进行签 名,得到终端签名数据。
3.根据权利要求1所述的方法,
所述指定格式为TLV格式。
4.一种数字证书申请方法,应用于服务端,所述服务端用于与终端设备中装载的客户 端软件交互,所述终端设备还集成有安全元件,该方法包括:
在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申请信息发送给 客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生成公私钥对后, 采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数据和公钥封装 而成;
解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到终端签名数据 中的申请标识;
当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端 签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA在确定所述终 端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
5.根据权利要求4所述的方法,
所述申请信息中还包括:非对称算法信息以及签名算法信息,用于供安全元件生成公 私钥对并进行签名。
6.根据权利要求4所述的方法,
所述公钥被服务端封装为PKCS1格式。
7.根据权利要求4所述的方法,还包括:
当所述终端签名数据通过验证,且所述申请标识也通过验证后,将服务端签名数据发 送给CA,以供CA进行验证;
其中,所述服务端签名数据由服务端采用服务端私钥对服务端信息签名后生成。
8.一种数字证书申请装置,应用于终端设备,所述终端设备还集成有安全元件,该装置 包括:
请求发送单元,向服务端发送数字证书申请请求,以供服务端根据该申请请求生成申 请信息,并将该申请信息返回,所述申请信息包括:与所述申请请求唯一对应的申请标识;
信息下发单元,将服务端返回的所述申请信息下发给安全元件,以供安全元件根据非 对称算法生成公私钥对,采用私钥对所述申请标识进行签名,得到终端签名数据,并将该终 端签名数据和公钥封装为指定格式后返回;
数据发送单元,将该指定格式数据发送给服务端,以供服务端在根据所述公钥确定所 述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名数 据、登录用户信息以及证书使用信息发送给CA。
9.根据权利要求8所述的装置,
所述申请信息中还包括:非对称算法信息以及签名算法信息;
所述安全元件根据非对称算法生成公私钥对,并采用私钥对该申请标识进行签名,得 到终端签名数据,包括:
所述安全元件根据所述申请信息中的非对称算法信息生成公私钥对,采用所述申请信 息中的签名算法信息计算密钥长度和所述申请标识的摘要,并采用私钥对该摘要进行签 名,得到终端签名数据。
10.根据权利要求8所述的信息,
所述指定格式为TLV格式。
11.一种数字证书申请装置,应用于服务端,所述装置用于与终端设备中装载的客户端 软件交互,所述终端设备还集成有安全元件,该装置包括:
信息生成单元,在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申 请信息发送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
数据接收单元,接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生 成公私钥对后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数 据和公钥封装而成;
数据验证单元,解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到 终端签名数据中的申请标识;
证书申请单元,当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述 公钥、所述终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA 在确定所述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
12.根据权利要求11所述的装置,
所述申请信息中还包括:非对称算法信息以及签名算法信息,用于供安全元件生成公 私钥对并进行签名。
13.根据权利要求11所述的装置,
所述公钥被服务端封装为PKCS1格式。
14.根据权利要求11所述的装置,
所述证书申请单元,还当所述终端签名数据通过验证,且所述申请标识也通过验证后, 将服务端签名数据发送给CA,以供CA进行验证;
其中,所述服务端签名数据由服务端采用服务端私钥对服务端信息签名后生成。
15.一种数字证书申请装置,应用于终端设备,该装置包括:
安全元件;
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与数字证书申请逻辑对应的机器可执行指 令,所述处理器被促使:
向服务端发送数字证书申请请求,以供服务端根据该申请请求生成申请信息,并将该 申请信息返回,所述申请信息包括:与所述申请请求唯一对应的申请标识;
将服务端返回的所述申请信息下发给安全元件,以供安全元件根据非对称算法生成公 私钥对,采用私钥对所述申请标识进行签名,得到终端签名数据,并将该终端签名数据和公 钥封装为指定格式后返回;
将该指定格式数据发送给服务端,以供服务端在根据所述公钥确定所述终端签名数据 通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名数据、登录用户信息 以及证书使用信息发送给CA。
16.一种数字证书申请装置,应用于服务器,该装置包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与数字证书申请逻辑对应的机器可执行指 令,所述处理器被促使:
在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申请信息发送给 客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生成公私钥对后, 采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数据和公钥封装 而成;
解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到终端签名数据 中的申请标识;
当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端 签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA在确定所述终 端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
本说明书涉及安全技术领域,尤其涉及一种数字证书申请方法和装置。
数字证书通常由权威机构CA(Certificate Authority,第三方可信机构)颁发,可 包括公钥以及公钥拥有者信息,可用于在互联网中对对方的身份进行验证。
目前,在申请数字证书的过程中,通常需要生成CSR(Cerificate Signing Request,证书请求)文件,由于CSR文件的数据结构较复杂、且文件较大,会占用终端较多的 计算资源。因此,需要提供一种轻量级、可用的证书申请方案。
有鉴于此,本说明书提供一种数字证书申请方法和装置。
具体地,本说明书是通过如下技术方案实现的:
一种数字证书申请方法,应用于终端设备,所述终端设备集成有安全元件,并装载 有客户端软件,该方法包括:
客户端向服务端发送数字证书申请请求,以供服务端根据该申请请求生成申请信 息,并将该申请信息返回给客户端,所述申请信息包括:与所述申请请求唯一对应的申请标 识;
客户端将服务端返回的所述申请信息下发给安全元件;
安全元件根据非对称算法生成公私钥对,采用私钥对所述申请标识进行签名,得 到终端签名数据,并将该终端签名数据和公钥封装为指定格式后发送给客户端;
客户端将该指定格式数据发送给服务端,以供服务端在根据所述公钥确定所述终 端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名数据、所 述客户端的登录用户信息以及证书使用信息发送给CA。
一种数字证书申请方法,应用于服务端,所述服务端用于与终端设备中装载的客 户端软件交互,所述终端设备还集成有安全元件,该方法包括:
在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申请信息发 送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生成公私钥对 后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数据和公钥封 装而成;
解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到终端签名 数据中的申请标识;
当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述 终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA在确定所 述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
一种数字证书申请装置,应用于终端设备,所述终端设备还集成有安全元件,该装 置包括:
请求发送单元,向服务端发送数字证书申请请求,以供服务端根据该申请请求生 成申请信息,并将该申请信息返回,所述申请信息包括:与所述申请请求唯一对应的申请标 识;
信息下发单元,将服务端返回的所述申请信息下发给安全元件,以供安全元件根 据非对称算法生成公私钥对,采用私钥对所述申请标识进行签名,得到终端签名数据,并将 该终端签名数据和公钥封装为指定格式后返回;
数据发送单元,将该指定格式数据发送给服务端,以供服务端在根据所述公钥确 定所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名 数据、登录用户信息以及证书使用信息发送给CA。
一种数字证书申请装置,应用于服务端,所述装置用于与终端设备中装载的客户 端软件交互,所述终端设备还集成有安全元件,该装置包括:
信息生成单元,在接收到客户端发送的数字证书申请请求后,生成申请信息,并将 该申请信息发送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
数据接收单元,接收客户端发送的指定格式数据,所述指定格式数据由安全元件 在生成公私钥对后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签 名数据和公钥封装而成;
数据验证单元,解析所述指定格式数据,并根据所述公钥验证所述终端签名数据, 得到终端签名数据中的申请标识;
证书申请单元,当所述终端签名数据通过验证,且所述申请标识也通过验证后,将 所述公钥、所述终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以 供CA在确定所述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
一种数字证书申请装置,应用于终端设备,该装置包括:
安全元件;
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与数字证书申请逻辑对应的机器可执行 指令,所述处理器被促使:
向服务端发送数字证书申请请求,以供服务端根据该申请请求生成申请信息,并 将该申请信息返回,所述申请信息包括:与所述申请请求唯一对应的申请标识;
将服务端返回的所述申请信息下发给安全元件,以供安全元件根据非对称算法生 成公私钥对,采用私钥对所述申请标识进行签名,得到终端签名数据,并将该终端签名数据 和公钥封装为指定格式后返回;
将该指定格式数据发送给服务端,以供服务端在根据所述公钥确定所述终端签名 数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名数据、登录用户 信息以及证书使用信息发送给CA。
一种数字证书申请装置,应用于服务器,该装置包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与数字证书申请逻辑对应的机器可执行 指令,所述处理器被促使:
在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申请信息发 送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生成公私钥对 后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数据和公钥封 装而成;
解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到终端签名 数据中的申请标识;
当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述 终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA在确定所 述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
由以上描述可以看出,本说明书可通过终端与服务端配合生成证书请求文件,大 大减轻安全元件的计算压力,实现轻量级、可用性高的证书申请方案。同时,由服务端和CA 分别对终端签名数据进行验证,还可确保数字证书申请的安全性。
图1是本说明书一示例性实施例示出的一种数字证书申请方法的流程示意图。
图2是本说明书一示例性实施例示出的另一种数字证书申请方法的流程示意图。
图3是本说明书一示例性实施例示出的另一种数字证书申请方法的流程示意图。
图4是本说明书一示例性实施例示出的一种TLV格式的指定数据的结构示意图。
图5是本说明书一示例性实施例示出的一种终端设备的一结构示意图。
图6是本说明书一示例性实施例示出的一种数字证书申请装置的框图。
图7是本说明书一示例性实施例示出的一种服务器的一结构示意图。
图8是本说明书一示例性实施例示出的另一种数字证书申请装置的框图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所 附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明 书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包 括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是 指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但 这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱 离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称 为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或 “当……时”或“响应于确定”。
本说明书提供一种数字证书申请方案,可将原来由终端生成的证书请求文件改为 由终端和服务端配合生成,以节省终端的计算资源。
图1是本说明书一示例性实施例示出的一种数字证书申请方法的流程示意图。
所述数字证书申请方法可以应用在终端中,所述终端可以为手机、PC机等电子设 备,所述终端中通常装载有可以和服务端进行交互的客户端软件(Application,APP),该客 户端软件并不限制于独立装载的APP,还可以为浏览器等,本说明书对此不作特殊限制。所 述终端中还集成有安全元件(Secure Element,SE),可用于生成公私钥对、实现加密、签名 等操作。
请参考图1,所述数字证书申请方法可以包括以下步骤:
步骤102,客户端向服务端发送数字证书申请请求,以供服务端根据该申请请求生 成申请信息,并将该申请信息返回给客户端,所述申请信息包括:与所述申请请求唯一对应 的申请标识。
在本实施例中,所述申请信息还可以包括:非对称算法信息以及签名算法信息、时 间戳等信息,本说明书对此不作特殊限制。
步骤104,客户端将服务端返回的所述申请信息下发给安全元件。
步骤106,安全元件根据非对称算法生成公私钥对,采用私钥对所述申请标识进行 签名,得到终端签名数据,并将该终端签名数据和公钥封装为指定格式后发送给客户端。
在本实施例中,当所述申请信息包括:非对称算法信息以及签名算法信息时,安全 元件可以根据申请信息中指定的非对称算法生成公私钥对,采用申请信息中的签名算法计 算所述申请标识的摘要,并采用私钥对该摘要进行签名,以得到终端签名数据。
在另一个例子中,安全元件在进行摘要计算、签名时,所使用的数据并不限制于所 述申请标识,还可以包括安全元件的生成公私钥对时得到的密钥长度等信息,本说明书对 此不作特殊限制。
在本实施例中,所述指定格式可以为:TLV(Type,类型;Length,长度;Value,值)格 式等。
步骤108,客户端将该指定格式数据发送给服务端,以供服务端在根据所述公钥确 定所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名 数据、所述客户端的登录用户信息以及证书使用信息发送给CA。
图2是本说明书一示例性实施例示出的另一种数字证书申请方法的流程示意图。
请参考图2,所述数字证书申请方法可以应用在服务端,该服务端通常为第三方服 务提供商部署的服务器或者服务器集,该数字证书申请方法包括以下步骤:
步骤202,在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申 请信息发送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识。
步骤204,接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生成 公私钥对后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数据 和公钥封装而成。
步骤206,解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到 终端签名数据中的申请标识。
步骤208,当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述 公钥、所述终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA 在确定所述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
由以上描述可以看出,本实施例可通过终端与服务端配合生成证书请求文件,大 大减轻安全元件的计算压力,实现轻量级、可用性高的证书申请方案。同时,由服务端和CA 对终端签名数据进行验证还可确保数字证书申请的安全性。
图3是本说明书一示例性实施例示出的另一种数字证书申请方法的流程示意图。
请参考图3,所述数字证书申请方法可以包括以下步骤:
步骤302,客户端向服务端发送数字证书申请请求。
在本实施例中,基于客户端登录的用户在申请数字证书时,可以基于客户端发起 数字证书申请请求。例如,可通过触发预定的选项实现该数字证书申请请求的发送。
在本实施例中,所述数字证书申请请求中通常携带有用户的账号信息,例如账号 ID等。
步骤304,服务端根据该申请请求生成申请信息,并将该申请信息发送给客户端和 CA。
在本实施例中,服务端在接收到客户端发送的数字证书申请请求后,针对该申请 请求,可以生成申请信息并发送给客户端和CA。
在一个例子中,所述申请信息可包括:与所述申请请求唯一对应的申请标识。该申 请标识可以被携带在本次数字证书申请的交互过程中,用于标识本次数字证书申请,以在 客户端重复发送数字证书申请请求时,重新进行数字证书申请。
在另一个例子中,在申请标识的基础上,所述申请信息还可以包括:非对称算法信 息以及签名算法信息。所述非对称算法通常是安全元件生成公私钥对的算法依据,所述签 名算法信息通常是安全元件计算摘要的算法依据。
当然,所述申请信息还可以包括其他信息,例如时间戳等,本说明书对此不作特殊 限制。
步骤306,客户端将所述申请信息下发给安全元件。
步骤308,安全元件生成公私钥对。
在一个例子中,若所述申请信息中携带非对称算法信息,安全元件可以根据该非 对称算法信息生成公私钥对,例如,根据申请信息中携带的RSA算法生成公私钥对。
在另一个例子中,若所述申请信息中未携带非对称算法,安全元件可以根据缺省 算法生成公私钥对,本实施例对此不作特殊限制。
在本实施例中,安全元件在生成公私钥对后,还可以得到密钥长度。
步骤310,安全元件采用私钥对该申请标识和密钥长度进行签名,得到终端签名数 据。
基于前述步骤308,安全元件可将申请标识和密钥长度作为签名原文,先采用申请 信息中指定的签名算法计算申请标识和密钥长度的摘要,然后采用公私钥对中的私钥对该 摘要进行签名,以得到终端签名数据。
在本例中,对密钥长度进行签名是对公钥进行签名的最小安全有效集合,可有效 节约安全元件的处理资源。另一方面,只有通过暴力破解,对密钥长度进行因数分解,才可 能会计算出私钥,而因数分解的难度极大,目前也没有相关的因数分解方案,因此将秘钥长 度作为签名原文,并不会影响私钥的安全性。
在另一个例子中,也可以不将密钥长度作为签名原文,例如,可以将时间戳等其他 信息作为签名原文。当然,也可以仅将申请标识作为签名原文,本说明书对此不作特殊限 制。
步骤312,安全元件将该终端签名数据、密钥长度和公钥封装为指定格式后发送给 客户端。
在本实施例中,所述指定格式可以由开发人员预先进行设置,例如:TLV格式等,本 说明书对此不作特殊限制。
请参考图4所示的TLV格式示意图,可在左边起第一个TLV字段添加密钥长度的相 关信息,在中间的TLV字段添加公钥的信息,在右边的TLV字段添终端签名数据。
以RSA的算法位数是1024位为例,密钥长度为128字节,终端签名数据也是128字 节,整个TLV共计265个字节,大大小于传统技术中2k左右的P10格式的证书请求文件,实现 终端轻量级的数据封装,大大减轻了安全元件的计算量,也节省了网络传输流量。
步骤314,客户端将该指定格式数据发送给服务端。
步骤316,服务端解析所述指定格式数据,确定终端签名数据通过验证,且所述申 请标识也通过验证。
在本实施例中,服务端在接收到所述指定格式数据后,可从该指定格式数据中提 取出密钥长度、公钥以及终端签名数据。然后可采用该公钥对终端签名数据进行验证,在验 证过程中得到终端签名数据中的申请标识和密钥长度,并验证得到的密钥长度和从上述指 定格式中提取出的密钥长度是否一致,若一致,则可以确认密钥长度通过验证
若服务端确定该终端签名数据和密钥长度通过验证,则可以确定公钥安全,所述 指定格式数据没有被篡改。若服务端还确定所述申请标识也通过验证,则可以确定客户端 也通过验证,进而可以执行步骤318。
值得注意的是,客户端和服务端的交互过程中通常还会携带有用户账号的信息, 服务端在接收到上述指定格式数据后,可以根据账号信息查为该客户端生成的申请标 识,并判断查到的申请标识与校验签名过程中得到的申请标识是否一致。若一致,则可以 确定申请标识通过验证;若不一致,则可以确定申请标识未通过验证。当然,在实际应用中, 还可以采用其他方式对申请标识进行验证,本说明书对此不作特殊限制。
在本实施例中,若服务端确定终端签名数据未通过验证,或申请标识未通过验证, 则可以确认本次数字证书申请存在安全隐患,进而可以向客户端返回申请失败的消息。
步骤318,服务端将所述公钥、所述终端签名数据、所述客户端的登录用户信息、证 书使用信息、证书使用信息以及服务端签名数据发送给CA。
基于前述步骤316,在确定终端签名数据通过验证,且申请标识也通过验证后,可 以获取客户端登录用户的用户信息,例如:用户名称、用户地址、用户电话等信息。
在本实施例中,服务端可以将上述指定格式数据中携带的公钥封装为PKCS1、上述 指定格式数据中的终端签名数据、用户信息、证书使用信息以及服务端签名数据一同发送 给CA。
其中,证书使用信息可以包括:证书用途、证书显示模板、证书自定义域信息等。
所述服务端签名数据由服务端采用服务端私钥对服务端信息进行签名后生成。所 述服务端信息可以由开发人员预先进行设置,例如:服务端名称、服务端地址等。
若CA中保存有服务端公钥,服务端可以仅将所述服务端签名数据发给CA;若CA中 未保存服务端公钥,服务端可以将服务端公钥和所述服务端签名数据一同发送给CA,以供 CA对服务端签名数据进行验证,本说明书对此不作特殊限制。
步骤320,CA确定所述终端签名数据通过验证、所述申请标识通过验证、且所述服 务端签名数据通过验证后,生成数字证书。
在本实施例中,CA在接收到服务端发送的上述公钥、终端签名数据、客户端的登录 用户信息、证书使用信息以及服务端签名数据后,一方面,可以对该终端签名数据、申请标 识和密钥长度进行验证,例如,根据服务端在步骤304中发送的申请标识,参考前述步骤316 中服务端的验证方式对该终端签名数据、申请标识和进行验证;根据安全元件的算法类别、 位数等对密钥长度进行验证等。
另一方面,CA还可以对服务端签名数据进行验证,例如,采用服务端公钥对服务端 签名数据进行验证,以验证服务端的签名是否合法。
在本实施例中,若CA确定终端签名数据通过验证、申请标识通过验证、且服务端签 名数据也通过验证,则可以确定安全元件、客户端和服务端均合法,进而执行生成数字证书 的操作。
由以上描述可以看出,本说明书采用处理性能较佳的服务端配合终端生成证书请 求文件,以进行数字证书的申请,大大减轻终端安全元件的计算压力,实现轻量级、可用性 高的证书申请方案。同时,由服务端对终端的安全元件和客户端进行验证,由CA再对终端的 安全元件、客户端以及服务端进行验证,还可确保数字证书申请的安全性。
需要说明的是,在前述步骤318中,服务端也可以不发送服务端签名数据给CA,CA 默认服务端合法,后续也无需对服务端签名数据进行验证,本说明书对此不作特殊限制。
与前述图1所示的数字证书申请方法的实施例相对应,本说明书还提供了数字证 书申请装置的实施例。
本说明书数字证书申请装置的实施例可以应用在终端设备上,该终端设备中集成 有安全元件。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。 以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端设备的处理器将非易失 性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所 示,为本说明书数字证书申请装置所在终端设备的一种硬件结构图,除了图5所示的处理 器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端设备通常根据该 终端设备的实际功能,还可以包括其他硬件,对此不再赘述。
图6是本说明书一示例性实施例示出的一种数字证书申请装置的框图。
请参考图6,所述数字证书申请装置500可以应用在前述图5所示的终端设备中,包 括:请求发送单元501、信息下发单元502以及数据发送单元503。
其中,请求发送单元501,向服务端发送数字证书申请请求,以供服务端根据该申 请请求生成申请信息,并将该申请信息返回,所述申请信息包括:与所述申请请求唯一对应 的申请标识;
信息下发单元502,将服务端返回的所述申请信息下发给安全元件,以供安全元件 根据非对称算法生成公私钥对,采用私钥对所述申请标识进行签名,得到终端签名数据,并 将该终端签名数据和公钥封装为指定格式后返回;
数据发送单元503,将该指定格式数据发送给服务端,以供服务端在根据所述公钥 确定所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签 名数据、登录用户信息以及证书使用信息发送给CA。
可选的,所述申请信息中还包括:非对称算法信息以及签名算法信息;
所述安全元件根据非对称算法生成公私钥对,并采用私钥对该申请标识进行签 名,得到终端签名数据,包括:
所述安全元件根据所述申请信息中的非对称算法信息生成公私钥对,采用所述申 请信息中的签名算法信息计算密钥长度和所述申请标识的摘要,并采用私钥对该摘要进行 签名,得到终端签名数据。
可选的,所述指定格式为TLV格式。
与前述图2所示的数字证书申请方法的实施例相对应,本说明书还提供了数字证 书申请装置的实施例。
本说明书数字证书申请装置的实施例可以应用在服务器上,装置实施例可以通过 软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意 义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读 取到内存中运行形成的。从硬件层面而言,如图7所示,为本说明书数字证书申请装置所在 服务器的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之 外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此 不再赘述。
图8是本说明书一示例性实施例示出的一种数字证书申请装置的框图。
请参考图8,所述数字证书申请装置700可以应用在前述图7所示的服务器中,包 括:信息生成单元701、数据接收单元702、数据验证单元703以及证书申请单元704。
其中,信息生成单元701,在接收到客户端发送的数字证书申请请求后,生成申请 信息,并将该申请信息发送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申 请标识;
数据接收单元702,接收客户端发送的指定格式数据,所述指定格式数据由安全元 件在生成公私钥对后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端 签名数据和公钥封装而成;
数据验证单元703,解析所述指定格式数据,并根据所述公钥验证所述终端签名数 据,得到终端签名数据中的申请标识;
证书申请单元704,当所述终端签名数据通过验证,且所述申请标识也通过验证 后,将所述公钥、所述终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给 CA,以供CA在确定所述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证 书。
可选的,所述申请信息中还包括:非对称算法信息以及签名算法信息,用于供安全 元件生成公私钥对并进行签名。
可选的,所述公钥被服务端封装为PKCS1格式。
可选的,所述证书申请单元704,还当所述终端签名数据通过验证,且所述申请标 识也通过验证后,将服务端签名数据发送给CA,以供CA进行验证;
其中,所述服务端签名数据由服务端采用服务端私钥对服务端信息签名后生成。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实 施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以 不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的 需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不 付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现, 或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可 以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放 器、导航设备、收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的 任意几种设备的组合。
与前述图1所示的数字证书申请方法的实施例相对应,本说明书还提供一种数字 证书申请装置,该数字证书申请装置包括:安全元件、处理器以及用于存储机器可执行指令 的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中, 所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与数字证书申请逻辑对应的机 器可执行指令,所述处理器被促使:
向服务端发送数字证书申请请求,以供服务端根据该申请请求生成申请信息,并 将该申请信息返回,所述申请信息包括:与所述申请请求唯一对应的申请标识;
将服务端返回的所述申请信息下发给安全元件,以供安全元件根据非对称算法生 成公私钥对,采用私钥对所述申请标识进行签名,得到终端签名数据,并将该终端签名数据 和公钥封装为指定格式后返回;
将该指定格式数据发送给服务端,以供服务端在根据所述公钥确定所述终端签名 数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名数据、登录用户 信息以及证书使用信息发送给CA。
与前述图2所示的数字证书申请方法的实施例相对应,本说明书还提供一种数字 证书申请装置,该数字证书申请装置包括:处理器以及用于存储机器可执行指令的存储器。 其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还 可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与数字证书申请逻辑对应的机 器可执行指令,所述处理器被促使:
在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申请信息发 送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生成公私钥对 后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数据和公钥封 装而成;
解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到终端签名 数据中的申请标识;
当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述 终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA在确定所 述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
与前述图1所示的数字证书申请方法的实施例相对应,本说明书还提供一种计算 机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时 实现以下步骤:
向服务端发送数字证书申请请求,以供服务端根据该申请请求生成申请信息,并 将该申请信息返回,所述申请信息包括:与所述申请请求唯一对应的申请标识;
将服务端返回的所述申请信息下发给安全元件,以供安全元件根据非对称算法生 成公私钥对,采用私钥对所述申请标识进行签名,得到终端签名数据,并将该终端签名数据 和公钥封装为指定格式后返回;
将该指定格式数据发送给服务端,以供服务端在根据所述公钥确定所述终端签名 数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述终端签名数据、登录用户 信息以及证书使用信息发送给CA。
与前述图2所示的数字证书申请方法的实施例相对应,本说明书还提供一种计算 机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时 实现以下步骤:
在接收到客户端发送的数字证书申请请求后,生成申请信息,并将该申请信息发 送给客户端和CA,所述申请信息包括:与该申请请求唯一对应的申请标识;
接收客户端发送的指定格式数据,所述指定格式数据由安全元件在生成公私钥对 后,采用私钥对所述申请标识进行签名,得到终端签名数据,并对该终端签名数据和公钥封 装而成;
解析所述指定格式数据,并根据所述公钥验证所述终端签名数据,得到终端签名 数据中的申请标识;
当所述终端签名数据通过验证,且所述申请标识也通过验证后,将所述公钥、所述 终端签名数据、所述客户端的登录用户信息以及证书使用信息发送给CA,以供CA在确定所 述终端签名数据通过验证、且所述申请标识通过验证后,生成数字证书。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围 内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来 执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺 序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可 以的或者可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明 书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范 围之内。
本文发布于:2023-04-12 20:32:06,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/85572.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |