CN106603238A - 一种多数字证书的签发系统、设备及其工作方法 - Google Patents
一种多数字证书的签发系统、设备及其工作方法 Download PDFInfo
- Publication number
- CN106603238A CN106603238A CN201510681362.6A CN201510681362A CN106603238A CN 106603238 A CN106603238 A CN 106603238A CN 201510681362 A CN201510681362 A CN 201510681362A CN 106603238 A CN106603238 A CN 106603238A
- Authority
- CN
- China
- Prior art keywords
- interactive
- key
- certificate
- public key
- main frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种多数字证书的签发系统、设备及其工作方法,属于信息安全领域,所述方法包括:非交互式证书、加密证书和交互式证书的签发。采用本发明的技术方案,能够实现一个电子签名载体中具有多种签名证书,并保证证书管理端签发的交互式签名证书、加密证书和非交互式签名证书能够下载到同一电子签名载体中,保证了签名的安全性和多样性。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种多数字证书的签发系统、设备及其工作方法。
背景技术
随着身份认证技术的发展与应用,电子签名载体(如智能密钥设备等)得到广泛应用,如在网上银行认证、网上证券交易认证等身份认证过程中,电子签名载体成为用户身份认证的工具。
交互型电子签名是新型的电子签名应用,能够有效地防止攻击者通过劫持主机控制密钥载体,冒用合法用户身份进行交易或篡改交易信息,主要应用于网上银行。在交互型电子签名普及应用过程中,必然经历交互型电子签名载体与其他非交互的电子签名载体并存的阶段。与此同时,在应用中也存在无需使用交互型电子签名的场景。
因此,应有明确的载体标识区分交互式电子签名载体与非交互式电子签名载体,以确保交互型电子签名证书和相应的非交互电子签名证书可以签发给同一个电子签名载体;应有明确的数字证书额外标识表明对应的密钥对的预期用途是否为交互型电子签名专用,避免出现非交互的电子签名载体承载用于交互型电子签名的数字证书的情况;应有明确的电子签名标识与电子签名载体相对应,防止出现交互型签名与非交互型电子签名载体的错位绑定。
发明内容
本发明的目的是为了解决现有技术中存在的问题,提供了一种多数字证书的签发系统、设备及其工作方法。
本发明采用的技术方案是:一种多数字证书的签发系统的工作方法,包括:
非交互式证书的签发,具体为:
步骤A1:电子签名载体生成非交互式密钥对并保存,将非交互式公钥返回主机,所述主机根据所述非交互式公钥生成第一签名指令并发送至所述电子签名载体;
步骤A2:所述电子签名载体应用非交互式私钥对所述第一签名指令进行签名,得到第一发证请求并发送至所述主机,所述主机根据所述第一发证请求和所述非交互式公钥生成非交互式证书请求,并发送至证书管理端;
步骤A3:所述证书管理端将所述非交互式证书请求中的非交互式公钥保存,并根据所述非交互式公钥签发非交互式证书,并通过所述主机发送至所述电子签名载体进行保存;
加密证书的签发,具体为:
步骤B1:所述证书管理端根据保存的所述非交互式公钥申请加密密钥,根据申请得到的所述加密密钥签发加密证书,根据所述非交互式公钥、所述加密密钥和所述加密证书得到数字信封,并通过所述主机发送至所述电子签名载体;
步骤B2:所述电子签名载体应用所述非交互式私钥对所述数字信封进行处理,得到加密密钥和加密证书并保存;
交互式证书的签发,具体为:
步骤C1:所述电子签名载体生成交互式密钥对并保存,使用与所述证书管理端协商好的会话密钥对交互式公钥进行加密,得到加密的交互式公钥并返回所述主机,所述主机根据所述加密的交互式公钥生成第二签名指令并发送至所述电子签名载体;
步骤C2:所述电子签名载体根据所述非交互式私钥对所述第二签名指令进行签名,得到第二发证请求并发送至所述主机,所述主机根据所述第二发证请求和所述加密的交互式公钥生成交互式证书请求,并发送至所述证书管理端;
步骤C3:所述证书管理端使用保存的所述非交互式公钥对所述交互式证书请求进行验证,如果验证成功,则执行步骤C4,否则报错,结束;
步骤C4:所述证书管理端应用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥,根据所述交互式公钥签发交互式证书,并通过所述主机发送至所述电子签名载体进行保存。
一种多数字证书的签发系统中证书管理端的工作方法,包括:
当所述证书管理端接收到非交互式证书请求时,将所述非交互式证书请求中的非交互式公钥保存,并根据所述非交互式公钥签发非交互式证书,将所述非交互式证书发送至电子签名载体;
当所述证书管理端接收到加密证书请求时,根据保存的所述非交互式公钥申请加密密钥对,当申请成功时,根据申请得到的所述加密密钥对签发加密证书,根据所述加密密钥、所述非交互式公钥和所述加密证书生成数字信封并发送至所述电子签名载体;
当所述证书管理端接收到交互式证书请求时,使用保存的所述非交互式公钥对所述交互式证书请求进行验证,如果验证失败,则报错,结束,如果验证成功,则使用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥,根据所述交互式公钥签发交互式证书,将所述交互式证书发送至所述电子签名载体。
一种多数字证书的签发系统中证书管理端的工作方法,包括:
当所述证书管理端接收到非交互式证书请求时,将所述非交互式证书请求中的非交互式公钥保存,并根据所述非交互式公钥签发非交互式证书,将所述非交互式证书发送至电子签名载体;
当所述证书管理端接收到加密证书请求时,根据保存的所述非交互式公钥申请加密密钥对,当申请成功时,根据申请得到的所述加密密钥对签发加密证书,根据所述加密密钥、所述非交互式公钥和所述加密证书生成数字信封并发送至所述电子签名载体;
当所述证书管理端接收到交互式证书请求时,使用保存的所述非交互式公钥对所述交互式证书请求进行验证,如果验证失败,则报错,结束,如果验证成功,则使用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥,根据所述交互式公钥签发交互式证书,将所述交互式证书发送至所述电子签名载体。
一种多数字证书的签发系统中电子签名载体的工作方法,包括:
当电子签名载体接收到主机发送的生成非交互式密钥对指令时,生成非交互式密钥对并保存,将非交互式公钥返回所述主机;
当所述电子签名载体接收到所述主机发送的第一签名指令时,使用非交互式私钥对所述第一签名指令的签名数据进行签名,得到第一发证请求并返回至所述主机;
当所述电子签名载体接收到所述主机发送的非交互式证书时,将所述非交互式证书与所述非交互式密钥对建立关联并保存;
当所述电子签名载体接收到所述主机发送的数字信封时,应用所述非交互式私钥对所述数字信封进行处理,得到加密证书和加密密钥并保存;
当所述电子签名载体接收到所述主机发送的生成交互式密钥对指令时,生成交互式密钥对并保存,应用与所述证书管理端协商好的会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥并返回至所述主机;
当所述电子签名载体接收到所述主机发送的第二签名指令时,使用所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求并返回至所述主机;
当所述电子签名载体接收到所述主机发送的交互式证书时,将所述交互式证书与所述交互式密钥对建立关联并保存。
一种多数字证书的签发系统,包括:主机、电子签名载体和证书管理端;
所述主机包括第一接收模块、第一生成模块、第一发送模块;
所述第一接收模块,用于接收所述电子签名载体返回的非交互式公钥或第一发证请求或加密的交互式公钥;
所述第一生成模块,用于根据所述第一接收模块接收到的非交互式公钥生成第一签名指令;用于根据所述第一接收模块接收到的第一发证请求和非交互式公钥生成非交互式证书请求;用于根据所述第一接收模块接收到的加密的交互式公钥生成第二签名指令;用于根据所述第一接收模块接收到的第二发证请求和加密的交互式密钥生成交互式证书请求;
所述第一发送模块,用于将所述第一生成模块生成的第一签名指令或第二签名指令发送至所述证书管理端;用于将所述第一生成模块生成的非交互式证书请求或交互式证书请求发送至所述证书管理端;
所述证书管理端,包括第二接收模块、第二生成模块、第二存储模块、签发模块、验证模块、解密模块、第二发送模块;
所述第二接收模块,用于接收主机发送的非交互式证书请求或交互式证书请求;
所述第二生成模块,用于根据非交互式公钥、加密密钥和加密证书得到数字信封;
所述第二存储模块,用于将所述第二接收模块接收到的非交互式证书请求中的非交互式公钥保存;
所述签发模块,用于根据所述第二接收模块接收到的非交互式公钥签发非交互式证书;用于根据保存的非交互式公钥申请加密密钥,根据申请成功得到的加密密钥签发加密证书;用于根据交互式公钥签发交互式证书;
所述验证模块,用于当所述第二接收模块接收到交互式证书请求时,使用所述第二存储模块保存的所述非交互式公钥对所述交互式证书请求进行验证;
所述解密模块,用于当所述验证模块验证成功时,应用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥;
所述第二发送模块,用于将所述签发模块签发的非交互式证书或交互式证书或所述第二生成模块生成的数字信封通过所述主机发送至电子签名载体;
所述电子签名载体,包括第三接收模块、第三生成模块、第三存储模块、处理模块、第三发送模块;
所述第三接收模块,用于接收主机发送的第一签名指令或第二签名指令;用于接收主机发送来的非交互式证书或交互式证书;用于接收主机发送来的加密证书和加密密钥;
所述第三生成模块,用于生成非交互式密钥对或交互式密钥对;用于应用非交互式私钥对所述第一签名指令进行签名,得到第一发证请求;用于根据所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求;
所述第三存储模块,用于保存所述第三生成模块生成的所述非交互式密钥对或交互式密钥对;用于保存所述第三接收模块接收到的加密证书和加密密钥;用于保存所述第三接收模块接收到的非交互式证书或交互式证书;
所述处理模块,用于使用与所述证书管理端协商好的会话密钥对所述第三生成模块生成的交互式公钥进行加密,得到加密的交互式公钥;用于根据所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求;
所述第三发送模块,用于将所述第三生成模块生成的非交互式公钥返回所述主机;用于将所述加密的交互式公钥返回所述主机;用于将所述第三生成模块生成的所述第一发证请求或第二发证请求发送至所述主机。
一种证书管理端,包括:
接收模块:用于接收非交互式证书请求;用于接收加密证书请求;用于接收交互式证书请求;
存储模块:用于当所述接收模块接收到非交互式证书请求后,将所述非交互式证书请求中的非交互式公钥保存;
验证模块:用于当所述接收模块接收到交互式证书请求后,使用保存的所述非交互式公钥对所述交互式证书请求进行验证;
处理模块:用于当所述验证模块验证成功时,使用保存的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥;用于根据所述加密密钥、所述非交互式公钥和所述加密证书生成数字信封;
签发模块:用于当所述接收模块接收到非交互式证书请求后,根据所述非交互式证书请求中的非交互式公钥签发非交互式证书;用于当所述接收模块接收到加密证书请求后,根据保存的非交互式证书申请加密密钥对,根据所述加密密钥对签发加密证书;用于当所述处理模块得到交互式公钥时,根据所述交互式公钥签发交互式证书;
发送模块:用于将非交互式证书或数字信封或交互式证书发送至电子签名载体。
一种电子签名载体,包括:
接收模块:用于接收主机发送的生成非交互式密钥对指令或交互式密钥对指令;用于接收主机发送的第一签名指令或第二签名指令;用于接收主机发送的非交互式证书或交互式证书;用于接收主机发送的生成数字信封;
生成模块:用于当所述接收模块接收到生成非交互式密钥对指令时,生成非交互式密钥对;用于当所述接收模块接收到生成交互式密钥对指令时,生成交互式密钥对;
存储模块:用于当所述生成模块生成非交互式密钥对时,将非交互式私钥保存;用于当所述接收模块接收到非交互式证书和加密证书时,保存所述非交互式证书和所述加密证书;用于当所述生成模块生成交互式密钥对时,将交互式私钥保存;用于当所述接收模块接收到交互式证书时,将所述交互式证书与所述交互式私钥建立关联并保存;
签名模块:用于当所述接收模块接收到第一签名指令时,使用所述非交互式私钥对所述第一签名指令的签名数据进行签名,得到第一发证请求;用于当所述接收模块接收到第一签名指令时,使用所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求;
加密模块:用于当所述生成模块生成交互式密钥对时,应用保存的会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥;
发送模块:用于当所述存储模块生成交互式密钥对时,将非交互式公钥返回所述主机;用于将所述加密模块得到的加密的交互式公钥发送至所述主机;用于当所述签名模块得到第一发证请求时,将所述第一发证请求返回至所述主机;用于当所述签名模块得到第二发证请求时,将所述第二发证请求返回至所述主机。
本发明取得的有益效果是:采用本发明的技术方案,能够实现一个电子签名载体中具有多种签名证书,并保证证书管理端签发的交互式签名证书、加密证书和非交互式签名证书能够下载到同一电子签名载体中,保证了签名的安全性和多样性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1、图2和图3是本发明实施例1提供的一种多数字证书的签发方法流程图;
图4是本发明实施例4提供的一种多数字证书的签发系统图;
图5是本发明实施例5提供的一种多数字证书的签发系统中证书管理端的装置图;
图6是本发明实施例6提供的一种多数字证书的签发系统中电子签名载体的装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种多数字证书的签发方法,包括非交互式证书、加密证书和交互式证书的签发;
其中,参见图1,非交互式证书的签发,具体为:
步骤101:主机接收用户输入的用户信息,并接收用户触发的下载证书请求;
本实施例中,用户信息可以为用户ID,如用户名或用户身份证号等;
具体的,用户在获取到电子签名载体后,通过登录网银官网下载证书,触发下载证书请求。
步骤102:主机向电子签名载体发送获取载体序列号指令;
本实施例中,将载体序列号作为主机识别对应电子签名载体的特征信息,除此之外还可以是其他唯一信息,如载体标识等,本实施例以载体序列号作为特征信息。
步骤103:电子签名载体根据接收到的获取载体序列号指令,从载体存储区中获取保存的载体序列号;
例如,电子签名载体获取到的载体序列号为2574651865341。
步骤104:电子签名载体将载体序列号发送至主机。
步骤105:主机将接收到的载体序列号保存至主机存储区中。
步骤106:主机根据载体序列号,向对应的电子签名载体发送生成非交互式密钥对指令;
本实施例中,一个主机可以对应连接有多个电子签名载体,主机根据载体序列号能够向对应的电子签名载体发送指令;
例如,主机发送的生成非交互式密钥对指令为:
80 54 00 00 00 00 06 01 02 32 14 05 26 07 18。
步骤107:电子签名载体接收到生成非交互式密钥对指令后,生成非交互式密钥对,将非交互式密钥对保存至非交互式容器中;
本实施例中,非交互式密钥对包括非交互式私钥和非交互式公钥,其中,非交互式容器用于保存非交互式信息,包括非交互式签名证书和非交互式密钥对;
其中,电子签名载体接收到生成非交互式密钥对指令后,从指令中获取指定的容器ID,生成非交互式密钥对后,将非交互式密钥对保存至指定容器ID对应的非交互式容器中;
例如,电子签名载体获取非交互式密钥对指令的第八、九字节的数据01 02,即为容器ID。
步骤108:电子签名载体向主机返回生成非交互式密钥对成功响应。
步骤109:主机接收到生成非交互式密钥对成功响应后,向电子签名载体发送导出非交互式公钥指令;
例如,导出非交互式公钥指令为:
80 88 00 00 00 12 45 10 11 01 02 52 36。
步骤110:电子签名载体接收到导出非交互式公钥指令后,从非交互式容器中获取非交互式密钥对中的非交互式公钥;
其中,电子签名载体接收到导出非交互式公钥指令后,从指令中获取指定的容器ID,根据指定的容器ID找到对应的容器,判断是否能够从该容器中获取到非交互式公钥,如果是,则执行步骤111,否则报错,结束。
本实施例中,步骤102至步骤110可以替换为:主机向电子签名载体发送生成非交互式公钥指令,电子签名载体根据接收到的非交互式公钥指令生成非交互式密钥对,将非交互式私钥保存至非交互式容器中,直接将非交互式公钥返回主机;
例如,电子签名载体获取导出非交互式公钥指令的第十、十一字节的数据01 02,为容器ID,即为非交互式容器。
步骤111:电子签名载体将非交互式公钥发送至主机。
步骤112:主机将接收到的非交互式公钥保存至主机存储区中,应用预设哈希算法,对用户信息、载体序列号和非交互式公钥进行哈希计算,生成第一发证请求数据,根据第一发证请求数据生成第一签名指令;
本实施例中,主机存储区中保存的信息包括:用户信息、载体序列号、非交互式公钥、非交互式证书、加密的交互式公钥和交互式证书;
优选的,预设哈希算法为SHA1算法,除此之外还包括MD5算法、SM3算法等;
其中,根据第一发证请求数据生成第一签名指令,具体为:将第一发证请求数据作为签名指令的待签名数据,将待签名数据与指令头进行组合,得到第一签名指令;
例如,得到的第一签名指令为:
80 58 00 02 00 02 05 24 26 01 02 15 52 15 12 45 45 26 41 00 08;
其中,15 52 15 12 45 45 26 41为待签名数据。
步骤113:主机将第一签名指令发送至电子签名载体。
步骤114:电子签名载体接收到第一签名指令后,从第一签名指令中获取第一发证请求数据,根据预设签名算法,使用非交互式私钥对第一发证请求数据进行签名,生成第一发证请求;
本实施例中,使用非交互式私钥对第一发证请求数据进行签名,生成第一发证请求,具体为:
步骤114-1:电子签名载体对第一发证请求数据进行哈希运算,生成哈希结果;
步骤114-2:电子签名载体应用非交互式私钥对哈希结果进行加密,得到第一发证请求;
本实施例中,优选的,预设签名算法为SM2算法。
步骤115:电子签名载体将第一发证请求发送至主机。
步骤116:主机接收到第一发证请求后,从主机存储区中获取保存的非交互式公钥、用户信息和载体序列号,根据第一发证请求、非交互式公钥、用户信息和载体序列号生成非交互式证书请求。
步骤117:主机将非交互式证书请求发送至证书管理端。
步骤118:证书管理端将接收到的非交互式证书请求中的非交互式公钥、用户信息和载体序列号保存至管理端存储区中,对非交互式证书请求进行验签,判断验签是否通过,如果是,则执行步骤120,否则执行步骤119;
本实施例中,对非交互式证书请求进行验签,判断验签是否通过,具体为:
步骤a1:证书管理端从非交互式证书请求中获取第一数据,应用预设哈希算法,对第一数据进行计算,生成第一哈希值;
其中,第一数据为用户信息、载体序列号和非交互式公钥:
步骤a2:证书管理端从非交互式证书请求中获取第二数据,使用非交互式公钥对第二数据进行计算,得到第二哈希值;
其中,第二数据为第一发证请求;
步骤a3:证书管理端判断第一哈希值与所述第二哈希值是否相同,如果是,则验签通过,否则报错,结束。
步骤119:证书管理端向主机返回错误信息,结束;
本实施例中,主机接收到证书管理端返回的错误信息后,还包括:主机输出错误信息。
步骤120:证书管理端根据非交互式证书请求中的用户信息、载体序列号以及非交互式公钥签发非交互式证书,将非交互式证书与非交互式公钥建立关联并保存。
步骤121:证书管理端将非交互式证书发送至主机。
步骤122:主机将非交互式证书保存并发送至电子签名载体。
步骤123:电子签名载体将接收到的非交互式证书保存至非交互式容器中,非交互式证书签发完成。
参见图2,加密证书的签发,具体为:
步骤201:主机向证书管理端发送加密证书请求;
步骤202:证书管理端接收到主机发送的加密证书请求时,判断是否能够获取到保存的非交互式公钥,如果是,则执行步骤203,否则报错,结束;
步骤203:证书管理端根据保存的非交互式公钥申请加密密钥,根据申请成功得到的加密密钥签发加密证书;
本实施例中,加密密钥包括加密公钥和加密私钥。
步骤204:证书管理端应用预设加密算法,使用加密密钥对加密证书进行加密,得到第一加密数据,并使用非交互式公钥对加密密钥进行加密,得到第二加密数据;
步骤205:证书管理端将第一加密数据与第二加密数据进行组合,得到数字信封;
步骤206:证书管理端将数字信封发送至主机;
步骤207:主机将数字信封发送至电子签名载体;
步骤208:电子签名载体接收到数字信封后,从数字信封中获取第一加密数据和第二加密数据,应用非交互式私钥对数字信封中的第二加密数据进行解密,得到加密密钥;
步骤209:电子签名载体应用解密得到的加密密钥对数字信封中的第一数据进行解密,得到加密证书;
步骤210:电子签名载体将加密证书和加密密钥保存。
参见图3,交互式证书的签发,具体为:
步骤301:主机根据载体序列号向对应的电子签名载体发送生成交互式密钥对指令;
例如,主机生成的非交互式密钥对指令为:
80 54 01 00 00 00 06 03 04 32 16 05 27 07 10。
步骤302:电子签名载体接收到生成交互式密钥对指令后,生成交互式密钥对,将交互式密钥对保存至交互式容器中;
本实施例中,交互式密钥对包括交互式公钥和交互式私钥,其中,交互式容器用于保存交互式信息,包括交互式证书和交互式密钥对;
其中,电子签名载体接收到生成交互式密钥对指令后,从指令中获取指定的容器ID,生成交互式密钥对后,将交互式密钥对保存至指定容器ID对应的交互式容器中;
例如,电子签名载体获取非交互式密钥对指令的第八、九字节的数据0304,即为容器ID。
步骤303:电子签名载体向主机返回生成交互式密钥对成功响应。
步骤304:主机接收到生成交互式密钥对成功响应后,向电子签名载体发送导出加密的交互式公钥指令;
例如,导出加密的交互式公钥指令为:
80 88 02 01 00 12 45 10 11 03 04 52 36.
步骤305:电子签名载体使用与证书管理端协商好的会话密钥对交互式公钥进行加密,得到加密的交互式公钥;
其中,电子签名载体接收到导出加密的交互式公钥指令后,从指令中获取指定的容器ID,根据指定的容器ID找到对应的容器,判断是否能够从该容器中获取到交互式公钥,如果是,则执行步骤305,否则报错,结束;
本步骤之前还包括:电子签名载体判断是否能够获取到与证书管理端协商好的会话密钥,如果是,则执行步骤305,否则报错,结束。
步骤306:电子签名载体将加密的交互式公钥发送至主机。
步骤307:主机将加密的交互式公钥保存至主机存储区中,应用预设哈希算法,对用户信息、载体序列号和加密的交互式公钥进行计算,生成第二发证请求数据,根据第二发证请求数据生成第二签名指令;
其中,根据第二发证请求数据生成第二签名指令,具体为:将第二发证请求数据作为签名指令的待签名数据,将待签名数据与指令头进行组合,得到第二签名指令;
例如,得到的第二签名指令为:
80 58 00 02 00 02 05 24 26 03 04 15 56 15 35 45 75 28 41 00 10;
其中,15 56 15 35 45 75 28 41为待签名数据。
步骤308:主机将第二签名指令发送至电子签名载体。
步骤309:电子签名载体接收到第二签名指令后,从第二签名指令中获取第二发证请求数据,根据预设签名算法,使用非交互式私钥对第二发证请求数据进行签名,生成第二发证请求。
本实施例中,使用非交互式私钥对第二发证请求数据进行签名,生成第二发证请求,具体为:
步骤309-1:电子签名载体对第二发证请求数据进行哈希运算,生成哈希结果;
步骤309-2:电子签名载体应用非交互式私钥对哈希结果进行加密,得到第二发证请求;
本实施例中,优选的,预设签名算法为SM2算法。
步骤310:电子签名载体将第二发证请求发送至主机;
步骤311:主机接收到第二发证请求后,获取保存的用户信息和载体序列号,根据第二发证请求、加密的交互式公钥、用户信息和载体序列号生成交互式证书请求。
步骤312:主机将交互式证书请求发送至证书管理端。
步骤313:证书管理端接收到交互式证书请求后,判断是否能够获取到保存的非交互式公钥,如果是,则执行步骤314,否则报错,结束;
本实施例中,当证书管理端接收到交互式证书请求后,还包括:从交互式证书请求中获取载体序列号,根据载体序列号判断对应的电子签名载体是否支持交互式证书,如果是,则继续处理交互式证书请求,否则报错,结束;
其中,证书管理端中预先注册电子签名载体的相应信息,包括载体序列号和支持的证书类型等。
步骤314:证书管理端从交互式证书请求中获取加密的交互式公钥,根据保存的用户信息、载体序列号和加密的交互式公钥,对交互式证书请求进行验证,判断验证是否通过,如果是,则执行步骤315,否则报错,结束;
本实施例中,所述根据保存的用户信息、载体序列号和加密的交互式公钥,对交互式证书请求进行验证,判断验证是否通过,具体为:
步骤a1:证书管理端从交互式证书请求中获取第三数据,应用预设哈希算法,对第三数据进行计算,生成第一哈希值;
其中,第三数据为用户信息、载体序列号和加密的交互式公钥;
步骤a2:证书管理端从交互式证书请求中获取第四数据,使用非交互式公钥对第四数据进行计算,得到第二哈希值;
其中,第四数据为第二发证请求;
步骤a3:证书管理端判断第一哈希值与第二哈希值是否相同,如果是,则验证通过,执行步骤315,否则报错,结束。
步骤315:证书管理端应用预设解密算法,使用有效的会话密钥对加密的交互式公钥进行解密,得到交互式公钥,根据交互式证书请求中的载体序列号、用户信息以及解密得到的交互式公钥签发交互式证书;
本步骤之前还包括:证书管理端从交互式证书请求中获取载体序列号,根据载体序列号判断对应的电子签名载体是否支持交互式证书,如果是,则继续,否则报错,结束;
例如,设置载体序列号以字母开头,表示为交互式载体,支持交互式证书;设置载体序列号以数字开头,表示为非交互式载体,不支持非交互式证书。
步骤316:证书管理端将交互式证书发送至主机。
步骤317:主机将交互式证书保存并发送至电子签名载体。
步骤318:电子签名载体将交互式证书保存至交互式容器中,交互式证书签发完成。
本实施例中,步骤305之前还包括:电子签名载体与证书管理端协商会话密钥,将协商得到的会话密钥各自保存,具体为:
步骤g1:主机控制电子签名载体返回加密公钥ID,并将加密公钥ID发送至证书管理端;
其中,加密公钥ID标识加密密钥中的加密公钥在电子签名载体中保存的位置,并标识加密公钥在证书管理端中保存的位置。
步骤g2:证书管理端生成会话密钥,根据加密公钥ID获取对应的加密公钥,应用加密公钥对会话密钥进行加密,得到加密的会话密钥,并返回至主机;
本实施例中,证书管理端通过调用随机数生成函数,生成随机数作为会话密钥。
步骤g3:主机将加密的会话密钥发送至电子签名载体;
步骤g4:电子签名载体获取保存的加密私钥,应用加密私钥对加密的会话密钥进行解密,得到会话密钥并保存;
步骤g5:电子签名载体通过主机向所述证书管理端发送预设数据;
步骤g6:证书管理端应用会话密钥对预设数据进行加密,得到数据密文,通过主机发送至所述电子签名载体;
步骤g7:电子签名载体应用保存的会话密钥对数据密文进行解密,得到数据明文,判断数据明文与预设数据是否相同,如果是,则将保存的会话密钥作为与证书管理端协商好的会话密钥,通过主机向证书管理端返回协商成功响应,执行步骤g8,否则通过主机向证书管理端返回协商失败响应,执行步骤g8;
步骤g8:证书管理端判断接收到的响应,如果是协商成功响应,则将生成的会话密钥作为与电子签名载体协商好的会话密钥,如果是协商失败响应,则将生成的会话密钥删除,返回步骤g1。
实施例2
本发明实施例2提供的一种多数字证书的签发系统中证书管理端的工作方法,包括:
当证书管理端接收到非交互式证书请求时,对非交互式证书请求进行验签,判断验签是否通过,如果是,则将非交互式证书请求中的非交互式公钥保存,并根据非交互式公钥签发非交互式证书,将非交互式证书发送至电子签名载体,否则报错,结束;
例如,接收到的非交互式证书请求为:
30 82 07 61 a4 1b 30 19 31 17 30 15 06 03 55 a4 15 30 13 31 11 30 0f 06 03 5530 82 00 ca30 82 00 c6 02 01 00 30 82 01 bf a4 22 52 82 82 15 63 82 84 42 62 a6 819f;
其中,30 82 07 61为载体序列号,a4 1b 30 19 31 17 30 15 06 03 55为发送方标识,即证书管理端标识,a4 15 30 13 31 11 30 0f 06 03 55为为接收方标识,即主机标识,a4 22 52 82 82 15 63 82 84 42 62为非交互式公钥;
本实施例中,对非交互式证书请求进行验签,判断验签是否通过,具体为:
步骤a1:证书管理端从非交互式证书请求中获取第一数据,应用预设哈希算法,对第一数据进行计算,生成第一哈希值;
步骤a2:证书管理端从非交互式证书请求中获取第二数据,使用非交互式公钥对第二数据进行计算,得到第二哈希值;
步骤a3:证书管理端判断第一哈希值与第二哈希值是否相同,如果是,则继续,否则报错,结束。
当证书管理端接收到加密证书请求时,判断是否能够获取到保存的非交互式公钥,如果是,则根据保存的非交互式公钥申请加密密钥对,当申请成功时,根据申请得到的加密密钥对签发加密证书,根据加密密钥、非交互式公钥和加密证书生成数字信封并发送至电子签名载体,否则报错,结束;
例如,签发得到的加密证书为:
30 82 07 61 a4 1b 30 19 31 17 30 15 06 03 55 a4 15 30 13 31 11 30 0f 06 03 5530 82 01 ca30 82 01 c6 02 01 0130 82 01 1f a4 23 52 35 41 58 38 45 25 a7 81 9f;
其中,30 82 07 61为载体序列号,a4 1b 30 19 31 17 30 15 06 03 55为发送方标识,即证书管理端标识,a4 15 30 13 31 11 30 0f 06 03 55为为接收方标识,即主机标识,a4 23 52 35 41 58 38 45 25为加密密钥。
当证书管理端接收到交互式证书请求时,使用保存的非交互式公钥对交互式证书请求进行验证,如果验证失败,则报错,结束,如果验证成功,则使用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥,根据所述交互式公钥签发交互式证书,将所述交互式证书发送至所述电子签名载体;
本实施例中,使用保存的非交互式公钥对交互式证书请求进行验证,具体为:
步骤a1:证书管理端从交互式证书请求中获取第三数据,应用预设哈希算法,对第三数据进行计算,生成第一哈希值;
步骤a2:证书管理端从交互式证书请求中获取第四数据,使用非交互式公钥对第四数据进行计算,得到第二哈希值;
步骤a3:证书管理端判断第一哈希值与第二哈希值是否相同,如果是,则继续,否则报错,结束。
例如,签发得到的交互式证书为:
30 82 07 61 a4 1b 30 19 31 17 30 15 06 03 55 a4 15 30 13 31 11 30 0f 06 03 5530 82 02 ca30 82 02 c6 02 01 02 30 82 01 1d a4 24 52 67 12 93 74 59 12 62 a8 819f;
其中,30 82 07 61为载体序列号,a4 1b 30 19 31 17 30 15 06 03 55为发送方标识, 即证书管理端标识,a4 15 30 13 31 11 30 0f 06 03 55为为接收方标识,即主机标识,a4 24 52 67 12 93 74 59 12 62为交互式公钥。
本实施例中,证书管理端接收到交互式证书请求之前,还包括:证书管理端与电子签名载体协商会话密钥,将协商好的会话密钥保存,具体为:
步骤a1:所述证书管理端生成会话密钥,根据接收到主机发送的加密公钥ID获取对应的加密公钥,应用所述加密公钥对所述会话密钥进行加密,得到加密的会话密钥,并返回至所述主机;
步骤a2:所述证书管理端接收主机返回的预设数据,应用所述会话密钥对所述预设数据进行加密,得到数据密文并返回至所述主机;
步骤a3:所述证书管理端接收并判断所述主机返回的响应,如果是协商成功响应,则将生成的会话密钥保存,如果是协商失败响应,则将生成的会话密钥删除,返回步骤a1。
实施例3
本发明实施例3提供的一种多数字证书的签发系统中电子签名载体的工作方法,包括:
当电子签名载体接收到主机发送的生成非交互式密钥对指令时,生成非交互式密钥对并保存,将非交互式公钥返回主机;
本步骤具体包括:
当电子签名载体接收获取载体序列号指令,将保存的载体序列号返回主机;当电子签名载体接收到生成密钥对指令,生成非交互式密钥对并保存,向主机返回生成密钥对成功响应;当电子签名载体接收到导出非交互式公钥指令,将非交互式密钥对中的非交互式公钥返回主机。
当电子签名载体接收到主机发送的第一签名指令时,使用非交互式私钥对第一签名指令的签名数据进行签名,得到第一发证请求并返回至主机;
其中,第一签名指令中包括非交互式公钥;
当电子签名载体接收到主机发送的非交互式证书时,将非交互式证书与非交互式密钥对建立关联并保存;
当电子签名载体接收到主机发送的数字信封时,应用非交互式私钥对数字信封进行处理,得到加密证书和加密密钥并保存;
具体为:电子签名载体应用非交互式私钥对数字信封中的第二加密数据进行解密,得到加密密钥,应用加密密钥对数字信封中的第一加密数据进行解密,得到加密证书,将加密证书和加密密钥保存;
当电子签名载体接收到主机发送的生成交互式密钥对指令时,生成交互式密钥对并保存,应用与证书管理端协商好的会话密钥对交互式公钥进行加密,得到加密的交互式公钥并返回至主机;
本步骤具体包括:当电子签名载体接收主机发送的生成密钥对指令,生成交互式密钥对并保存,向主机返回生成密钥对成功响应;当电子签名载体接收主机发送的导出交互式公钥指令,应用预设加密算法,使用会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥并返回至主机。
当电子签名载体接收到主机发送的第二签名指令时,使用非交互式私钥对第二签名指令的签名数据进行签名,得到第二发证请求并返回至主机;
其中,第二签名指令中包括加密的交互式公钥;
当电子签名载体接收到主机发送的交互式证书时,将交互式证书与交互式私钥建立关联并保存。
实施例4
本发明实施例4提供了一种多数字证书的签发系统,如图4所示,包括:主机、电子签名载体和证书管理端;
主机包括第一接收模块、第一生成模块、第一发送模块;
第一接收模块,用于接收电子签名载体返回的非交互式公钥或第一发证请求或加密的交互式公钥;
第一生成模块,用于根据第一接收模块接收到的非交互式公钥生成第一签名指令;用于根据所述第一接收模块接收到的第一发证请求和非交互式公钥生成非交互式证书请求;用于根据第一接收模块接收到的加密的交互式公钥生成第二签名指令;用于根据第一接收模块接收到的第二发证请求和加密的交互式密钥生成交互式证书请求;
第一发送模块,用于将第一生成模块生成的第一签名指令或第二签名指令发送至证书管理端;用于将第一生成模块生成的非交互式证书请求或交互式证书请求发送至证书管理端;
证书管理端,包括第二接收模块、第二生成模块、第二存储模块、签发模块、验证模块、解密模块、第二发送模块;
第二接收模块,用于接收主机发送的非交互式证书请求或交互式证书请求;
第二生成模块,用于根据非交互式公钥、加密密钥和加密证书得到数字信封;
第二存储模块,用于将第二接收模块接收到的非交互式证书请求中的非交互式公钥保存;
签发模块,用于根据第二接收模块接收到的非交互式公钥签发非交互式证书;用于根据第二存储模块保存的非交互式公钥申请加密密钥,根据申请成功得到的加密密钥签发加密证书;用于根据解密模块得到的交互式公钥签发交互式证书;
验证模块,用于当第二接收模块接收到交互式证书请求时,使用第二存储模块保存的非交互式公钥对交互式证书请求进行验证;
解密模块,用于当验证模块验证成功时,应用与电子签名载体协商好的会话密钥对交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥;
第二发送模块,用于通过主机将所述签发模块签发的非交互式证书或交互式证书或第二生成模块生成的数字信封发送至电子签名载体;
电子签名载体,包括第三接收模块、第三生成模块、第三存储模块、处理模块、第三发送模块;
第三接收模块,用于接收主机发送的第一签名指令或第二签名指令;用于接收主机发送来的非交互式证书或交互式证书;用于接收主机发送来的加密证书和加密密钥;
第三生成模块,用于生成非交互式密钥对或交互式密钥对;用于应用非交互式私钥对第一签名指令进行签名,得到第一发证请求;用于根据非交互式私钥对第二签名指令的签名数据进行签名,得到第二发证请求;
第三存储模块,用于保存非交互式密钥对或交互式密钥对;用于保存加密证书和加密密钥;用于保存非交互式证书或交互式证书;
处理模块,用于使用与证书管理端协商好的会话密钥对生成的交互式公钥进行加密,得到加密的交互式公钥;用于根据非交互式私钥对第二签名指令的签名数据进行签名,得到第二发证请求;
第三发送模块,用于将生成的非交互式公钥返回主机;用于将加密的交互式公钥返回主机;用于将第一发证请求或第二发证请求发送至主机。
具体的,
第一接收模块,还用于接收用户输入的用户信息和用户触发的下载证书请求;
第一发送模块,还用于向电子签名载体发送获取载体序列号指令;
第三发送模块,还用于将保存的载体序列号返回至主机;
第一生成模块,还用于根据载体序列号,向对应的电子签名载体发送生成非交互式密钥对指令;
其中,第一发送模块,还用于向电子签名载体发送生成获取载体序列号指令;还用于根据载体序列号,向对应的电子签名载体发送生成非交互式密钥对指令;还用于向电子签名载体发送导出公钥指令;
第三发送模块,还用于将保存的载体序列号返回至主机;还用于向主机返回生成密钥对成功响应;
具体的,验证模块,还用于当第二接收模块接收到加密证书请求时,判断是否能够获取到保存的非交互式公钥;
进一步的,第二生成模块具体包括加密模块和组合模块;
加密模块,用于应用加密密钥对所述加密证书进行加密,得到第一加密数据;还用于应用非交互式公钥对所述加密密钥进行加密,得到第二加密数据;
组合模块,用于将第一加密数据与第二加密数据组合,得到数字信封;
更进一步的,处理模块,还用于应用非交互式私钥对所述数字信封中的第二加密数据进行解密,得到加密密钥;还用于应用加密密钥对数字信封中的第一加密数据进行解密,得到加密证书;
本实施例中,具体的,
第一发送模块,还用于向电子签名载体发送生成交互式密钥对指令;还用于向电子签名载体发送导出加密公钥指令;
第三发送模块,还用于向主机返回生成密钥对成功响应;
第一生成模块,具体用于应用预设哈希算法,对非交互式公钥进行计算,根据计算结果生成第二签名指令;
处理模块,具体用于对第二签名指令的签名数据进行哈希运算,得到哈希结果,应用非交互式私钥对所述哈希结果进行加密,得到第二发证请求;
进一步的,本实施例还包括:
控制模块,还用于控制电子签名载体返回加密公钥ID;
第一发送模块,还用于将加密公钥ID发送至证书管理端;
证书管理端还包括第三生成模块和加密模块;
第三生成模块,用于生成会话密钥;
加密模块,用于根据加密公钥ID获取对应的加密公钥,应用加密公钥对会话密钥进行加密,得到加密的会话密钥;用于应用会话密钥对预设数据进行加密,得到数据密文;
第二发送模块,还用于将加密的会话密钥返回至主机;还用于将得到的数据密文通过主机发送至电子签名载体;
第一发送模块,还用于将加密的会话密钥发送至电子签名载体;
处理模块,还用于获取保存的加密私钥,应用加密私钥对加密的会话密钥进行解密,得到会话密钥;还用于应用保存的会话密钥对数据密文进行解密,得到数据明文;
第三存储模块,还用于将得到会话密钥保存;
电子签名载体还包括判断模块,用于判断数据明文与预设数据是否相同;
第三发送模块,还用于通过主机向证书管理端发送预设数据;还用于当判断模块判断为相同时,通过主机向证书管理端返回协商成功响应;还用于当判断模块判断为不相同时,通过主机向证书管理端返回协商失败响应;
验证模块,还用于判断接收到的响应,如果是协商成功响应,则触发第二存储模块,如果是协商失败响应,则触发删除模块;
证书管理端还包括删除模块,用于当验证模块判断接收到的响应为协商失败响应时,删除生成的会话密钥。
第一生成模块,具体用于应用预设哈希算法,对用户信息、载体序列号和加密的交互式公钥进行计算,根据计算结果生成第二签名指令;
证书管理端还包括获取模块和计算模块;
获取模块,用于从管理端存储区中获取非交互式公钥、用户信息和载体序列号;
计算模块,用于应用预设哈希算法,对用户信息、载体序列号、加密的交互式公钥和非交互式证书进行计算,生成第一哈希值;用于应用非交互式公钥对第二发证请求进行计算,生成第二哈希值;
验证模块,还用于判断第一哈希值和第二哈希值是否相同。
具体的,第一生成模块,具体用于获取保存的用户信息和载体序列号,根据第一发证请求、非交互式公钥、用户信息和载体序列号生成非交互式证书请求;
签发模块,具体用于根据非交互式证书请求中的用户信息、载体序列号以及非交互式公钥生成非交互式证书。
进一步的,第一生成模块,具体用于获取保存的用户信息和载体序列号,根据第二发证请求、加密的交互式公钥、用户信息和载体序列号生成交互式证书请求;
签发模块,具体用于根据交互式证书请求中的载体序列号、用户信息以及解密得到的交互式公钥生成交互式证书。
验证模块,还用于从交互式证书请求中获取载体序列号,根据载体序列号判断对应的电子签名载体是否支持交互式证书。
实施例5
本发明实施例5提供了一种证书管理端,如图5所示,包括:
接收模块:用于接收非交互式证书请求;用于接收加密证书请求;用于接收交互式证书请求;
存储模块:用于当接收模块接收到非交互式证书请求后,将非交互式证书请求中的非交互式公钥保存;
验证模块:用于当接收模块接收到交互式证书请求后,使用保存的非交互式公钥对交互式证书请求进行验证;
处理模块:用于当验证模块验证成功时,使用保存的会话密钥对交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥;用于根据所述加密密钥、非交互式公钥和加密证书生成数字信封;
签发模块:用于当接收模块接收到非交互式证书请求后,根据非交互式证书请求中的非交互式公钥签发非交互式证书;用于当接收模块接收到加密证书请求后,根据保存的非交互式证书申请加密密钥对,根据加密密钥对签发加密证书;用于当处理模块得到交互式公钥时,根据交互式公钥签发交互式证书;
发送模块:用于将非交互式证书或数字信封或交互式证书发送至电子签名载体。
其中,验签模块:具体用于当接收模块接收到非交互式证书请求后,对非交互式证书请求进行验签,如果验签通过,则触发存储模块,如果验签失败,则报错。
进一步的,验签模块,具体包括:第一获取单元、第一计算单元和第一判断单元;
第一获取单元:用于从非交互式证书请求中获取第一数据和第二数据;
第一计算单元:用于当第一获取单元获取到第一数据后,应用预设哈希算法,对第一数据进行计算,生成第一哈希值;用于当第一获取单元获取到第二数据后,使用非交互式公钥对第二数据进行计算,得到第二哈希值;
第一判断单元:用于判断第一哈希值与第二哈希值是否相同,如果相同,则触发存储模块,如果失败,则报错。
证书管理端还包括判定模块,用于当接收模块接收到加密证书请求后,判断是否能够查找到保存的非交互式公钥,如果是,则触发签发模块,否则报错。
证书管理端还包括协商密钥模块,协商密钥模块,具体包括生成单元、接收单元、处理单元、发送单元、判断单元、保存单元和删除单元;
生成单元:用于生成会话密钥;
接收单元:用于接收主机发送的加密公钥ID;用于接收主机返回的预设数据;用于接收主机返回的响应;
处理单元:用于当接收单元接收到加密公钥ID时,根据加密公钥ID获取对应的加密公钥;用于应用加密公钥对会话密钥进行加密,得到加密的会话密钥;用于当接收单元接收到预设数据时,应用会话密钥对预设数据进行加密,得到数据密文;
发送单元:用于当处理单元得到加密的会话密钥时,将加密的会话密钥返回至主机;用于当处理单元得到数据密文时,将数据密文返回至主机;
判断单元:用于当接收模块接收到主机返回的响应时,判断响应,如果是协商成功响应,则触发保存单元,如果是协商失败响应,则触发删除单元;
保存单元:用于当判断单元判断为是时,将生成的会话密钥保存;
删除单元:用于当判断单元判断为否时,将生成的会话密钥删除。
验证模块,具体包括:第二获取单元、第二计算单元和第二判断单元;
第二获取单元:用于从交互式证书请求中获取第三数据和第四数据;
第二计算单元:用于当第二获取单元获取到第三数据后,应用预设哈希算法,对第三数据进行计算,生成第一哈希值;用于当第二获取单元获取到第四数据后,使用非交互式公钥对第四数据进行计算,得到第二哈希值;
第二判断单元:用于判断第一哈希值与第二哈希值是否相同,如果相同,则触发处理模块,如果失败,则报错。
验证模块,还用于从交互式证书请求中获取载体序列号,根据所述载体序列号判断对应的电子签名载体是否支持交互式证书。
实施例6
本发明实施例6提供了一种电子签名载体,如图4所示,包括:
接收模块:用于接收主机发送的生成非交互式密钥对指令或交互式密钥对指令;用于接收主机发送的第一签名指令或第二签名指令;用于接收主机发送的非交互式证书或交互式证书;用于接收主机发送的生成数字信封;
生成模块:用于当接收模块接收到生成非交互式密钥对指令时,生成非交互式密钥对;用于当接收模块接收到生成交互式密钥对指令时,生成交互式密钥对;
存储模块:用于当生成模块生成非交互式密钥对时,将非交互式私钥保存;用于当接收模块接收到非交互式证书和加密证书时,保存非交互式证书和所述加密证书;用于当生成模块生成交互式密钥对时,将交互式私钥保存;用于当接收模块接收到交互式证书时,将交互式证书与交互式私钥建立关联并保存;
签名模块:用于当接收模块接收到第一签名指令时,使用非交互式私钥对第一签名指令的签名数据进行签名,得到第一发证请求;用于当接收模块接收到第一签名指令时,使用非交互式私钥对第二签名指令的签名数据进行签名,得到第二发证请求;
加密模块:用于当生成模块生成交互式密钥对时,应用保存的会话密钥对交互式公钥进行加密,得到加密的交互式公钥;
发送模块:用于当存储模块生成非交互式密钥对时,将非交互式公钥返回主机;用于将加密模块得到的加密的交互式公钥发送至主机;用于当签名模块得到第一发证请求时,将第一发证请求返回至主机;用于当签名模块得到第二发证请求时,将第二发证请求返回至主机。
接收模块,还用于接收获取载体序列号指令;还用于接收导出非交互式公钥指令;
发送模块,还用于将保存的载体序列号返回主机;还用于当生成模块生成非交互式密钥对时,向主机返回生成密钥对成功响应;还用于当接收模块接收到导出非交互式公钥指令时,将非交互式密钥对中的非交互式公钥返回主机。
签名模块,具体用于当接收模块接收到第一签名指令时,对第一签名指令的签名数据进行哈希运算,生成哈希结果,应用非交互式私钥对哈希结果进行加密,得到第一发证请求。
接收模块,还用于接收生成密钥对指令;还用于接收导出交互式公钥指令;
发送模块,还用于当生成模块生成交互式密钥对时,向主机返回生成密钥对成功响应。
签名模块,具体用于当接收模块接收到第二签名指令时,对第二签名指令的签名数据进行哈希运算,生成哈希结果,应用非交互式私钥对哈希结果进行加密,得到第二发证请求。
电子签名载体还包括:协商密钥模块,协商密钥模块具体包括生成单元、接收单元、处理单元、发送单元、判断单元、保存单元和删除单元;
生成单元:用于生成会话密钥;
接收单元:用于接收主机发送的加密公钥ID;用于接收主机返回的预设数据;用于接收主机返回的响应;
处理单元:用于当接收单元接收到加密公钥ID时,根据加密公钥ID获取对应的加密公钥;用于应用加密公钥对会话密钥进行加密,得到加密的会话密钥;用于当接收单元接收到预设数据时,应用所述会话密钥对预设数据进行加密,得到数据密文;
发送单元:用于当处理单元得到加密的会话密钥时,将加密的会话密钥返回至主机;用于当处理单元得到数据密文时,将数据密文返回至主机;
判断单元:用于当接收模块接收到主机返回的响应时,判断响应,如果是协商成功响应,则触发保存单元,如果是协商失败响应,则触发删除单元;
保存单元:用于当判断单元判断为是时,将生成的会话密钥保存;
删除单元:用于当判断单元判断为否时,将生成的会话密钥删除;
接收模块:还用于接收主机发送的加密密钥对并保存。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (52)
1.一种多数字证书的签发系统的工作方法,其特征在于,包括:
非交互式证书的签发,具体为:
步骤A1:电子签名载体生成非交互式密钥对并保存,将非交互式公钥返回主机,所述主机根据所述非交互式公钥生成第一签名指令并发送至所述电子签名载体;
步骤A2:所述电子签名载体应用非交互式私钥对所述第一签名指令进行签名,得到第一发证请求并发送至所述主机,所述主机根据所述第一发证请求和所述非交互式公钥生成非交互式证书请求,并发送至证书管理端;
步骤A3:所述证书管理端将所述非交互式证书请求中的非交互式公钥保存,并根据所述非交互式公钥签发非交互式证书,并通过所述主机发送至所述电子签名载体进行保存;
加密证书的签发,具体为:
步骤B1:所述证书管理端根据保存的所述非交互式公钥申请加密密钥,根据申请得到的所述加密密钥签发加密证书,根据所述非交互式公钥、所述加密密钥和所述加密证书得到数字信封,并通过所述主机发送至所述电子签名载体;
步骤B2:所述电子签名载体应用所述非交互式私钥对所述数字信封进行处理,得到加密密钥和加密证书并保存;
交互式证书的签发,具体为:
步骤C1:所述电子签名载体生成交互式密钥对并保存,使用与所述证书管理端协商好的会话密钥对交互式公钥进行加密,得到加密的交互式公钥并返回所述主机,所述主机根据所述加密的交互式公钥生成第二签名指令并发送至所述电子签名载体;
步骤C2:所述电子签名载体根据所述非交互式私钥对所述第二签名指令进行签名,得到第二发证请求并发送至所述主机,所述主机根据所述第二发证请求和所述加密的交互式公钥生成交互式证书请求,并发送至所述证书管理端;
步骤C3:所述证书管理端使用保存的所述非交互式公钥对所述交互式证书请求进行验证,如果验证成功,则执行步骤C4,否则报错,结束;
步骤C4:所述证书管理端应用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥,根据所述交互式公钥签发交互式证书,并通过所述主机发送至所述电子签名载体进行保存。
2.根据权利要求1所述的方法,其特征在于,所述步骤A1之前,还包括:
步骤a1:当所述主机接收到用户输入的用户信息和用户触发的下载证书请求时,向所述电子签名载体发送获取载体序列号指令;
步骤a2:所述电子签名载体将保存的载体序列号返回至所述主机;
步骤a3:所述主机根据所述载体序列号,向对应的电子签名载体发送生成非交互式密钥对指令,执行步骤A1。
3.根据权利要求1所述的方法,其特征在于,所述步骤A1具体为:
步骤A1-1:所述电子签名载体生成非交互式密钥对并保存,向所述主机返回生成非交互式密钥对成功响应;
步骤A1-2:所述主机向所述电子签名载体发送导出非交互式公钥指令;
步骤A1-3:所述电子签名载体将保存的非交互式公钥返回至所述主机;
步骤A1-4:所述主机应用预设哈希算法,对所述非交互式公钥进行计算,根据计算结果生成第一签名指令并发送至所述电子签名载体。
4.根据权利要求1所述的方法,其特征在于,所述步骤B1之前,还包括:所述证书管理端接收到加密证书请求时,判断是否能够获取到保存的所述非交互式公钥,如果是,则执行步骤B1,否则报错,结束。
5.根据权利要求1所述的方法,其特征在于,所述步骤B1中,所述根据所述非交互式公钥、所述加密密钥和所述加密证书得到数字信封,具体为:
所述证书管理端应用所述加密密钥对所述加密证书进行加密,得到第一加密数据,并应用所述非交互式公钥对所述加密密钥进行加密,得到第二加密数据,将所述第一加密数据与所述第二加密数据组合,得到数字信封。
6.根据权利要求5所述的方法,其特征在于,所述步骤B2中,所述应用所述非交互式私钥对所述数字信封进行处理,得到加密密钥和加密证书,具体为:
所述电子签名载体应用所述非交互式私钥对所述数字信封中的第二加密数据进行解密,得到加密密钥,应用所述加密密钥对所述数字信封中的第一加密数据进行解密,得到加密证书。
7.根据权利要求1所述的方法,其特征在于,所述步骤C1,具体包括:
步骤e1:所述主机向所述电子签名载体发送生成交互式密钥对指令;
步骤e2:所述电子签名载体生成交互式密钥对并保存,向所述主机返回生成交互式密钥对成功响应;
步骤e3:所述主机向所述电子签名载体发送导出加密的交互式公钥指令;
步骤e4:所述电子签名载体使用与所述证书管理端协商好的会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥,并返回至所述主机;
步骤e5:所述主机应用预设哈希算法,对所述加密的交互式公钥进行计算,根据计算结果生成第二签名指令并发送至所述电子签名载体。
8.根据权利要求1所述的方法,其特征在于,所述步骤C2中,所述根据所述非交互式私钥对所述第二签名指令进行签名,得到第二发证请求,具体为:所述电子签名载体对所述第二签名指令的第二发证请求数据进行哈希运算,得到哈希结果,应用所述非交互式私钥对所述哈希结果进行加密,得到第二发证请求。
9.根据权利要求1所述的方法,其特征在于,所述步骤C1之前,还包括:
步骤g1:所述主机控制所述电子签名载体返回加密公钥ID,并将所述加密公钥ID发送至所述证书管理端;
步骤g2:所述证书管理端生成会话密钥,根据所述加密公钥ID获取对应的加密公钥,应用所述加密公钥对所述会话密钥进行加密,得到加密的会话密钥,并返回至所述主机;
步骤g3:所述主机将所述加密的会话密钥发送至所述电子签名载体;
步骤g4:所述电子签名载体获取保存的加密私钥,应用所述加密私钥对所述加密的会话密钥进行解密,得到会话密钥并保存;
步骤g5:所述电子签名载体通过所述主机向所述证书管理端发送预设数据;
步骤g6:所述证书管理端应用所述会话密钥对所述预设数据进行加密,得到数据密文,通过所述主机发送至所述电子签名载体;
步骤g7:所述电子签名载体应用保存的所述会话密钥对所述数据密文进行解密,得到数据明文,判断所述数据明文与所述预设数据是否相同,如果是,则将保存的所述会话密钥保存为与所述证书管理端协商好的会话密钥,并通过所述主机向所述证书管理端返回协商成功响应,执行步骤g8,否则通过所述主机向所述证书管理端返回协商失败响应,执行步骤g8;
步骤g8:所述证书管理端判断接收到的响应,如果是协商成功响应,则将所述会话密钥保存为与所述电子签名载体协商好的会话密钥,如果是协商失败响应,则将生成的会话密钥删除,返回步骤g1。
10.根据权利要求1所述的方法,其特征在于,
所述步骤C1中,所述主机根据所述加密的交互式公钥生成第二签名指令,具体为:所述主机应用预设哈希算法,对用户信息、载体序列号和所述加密的交互式公钥进行计算,根据计算结果生成第二签名指令;
所述步骤C3,具体为:
步骤C3-1:证书管理端获取保存的非交互式公钥、用户信息和载体序列号,应用预设哈希算法,对所述用户信息、所述载体序列号和所述加密的交互式公钥进行计算,生成第一哈希值;
步骤C3-2:所述证书管理端应用所述非交互式公钥对所述交互式证书请求中的第二发证请求进行计算,生成第二哈希值;
步骤C3-3:所述证书管理端判断所述第一哈希值和所述第二哈希值是否相同,如果是,则验证成功,执行步骤C4,否则报错,结束。
11.根据权利要求1所述的方法,其特征在于,
所述步骤A2中,所述主机根据所述第一发证请求和所述非交互式公钥生成非交互式证书请求,具体包括:所述主机获取保存的用户信息和载体序列号,根据所述第一发证请求、所述非交互式公钥、所述用户信息和所述载体序列号生成非交互式证书请求;
所述步骤A3中,所述根据所述非交互式公钥签发非交互式证书,具体为:所述证书管理端根据所述非交互式证书请求中的用户信息、载体序列号以及非交互式公钥签发非交互式证书。
12.根据权利要求1所述的方法,其特征在于,
所述步骤C2中,所述主机根据所述第二发证请求和所述加密的交互式公钥生成交互式证书请求,具体为:所述主机获取保存的用户信息和载体序列号,根据所述第二发证请求、所述加密的交互式公钥、所述用户信息和所述载体序列号生成交互式证书请求;
所述步骤C4中,根据所述交互式公钥签发交互式证书,具体为:所述证书管理端根据所述交互式证书请求中的载体序列号、用户信息以及解密得到的所述交互式公钥签发交互式证书。
13.根据权利要求12所述的方法,其特征在于,
所述步骤C3之前,还包括:所述证书管理端从所述交互式证书请求中获取载体序列号,根据所述载体序列号判断对应的电子签名载体是否支持交互式证书,如果是,则继续,否则报错,结束。
14.一种多数字证书的签发系统中证书管理端的工作方法,其特征在于,包括:
当所述证书管理端接收到非交互式证书请求时,将所述非交互式证书请求中的非交互式公钥保存,并根据所述非交互式公钥签发非交互式证书,将所述非交互式证书发送至电子签名载体;
当所述证书管理端接收到加密证书请求时,根据保存的所述非交互式公钥申请加密密钥对,当申请成功时,根据申请得到的所述加密密钥对签发加密证书,根据所述加密密钥、所述非交互式公钥和所述加密证书生成数字信封并发送至所述电子签名载体;
当所述证书管理端接收到交互式证书请求时,使用保存的所述非交互式公钥对所述交互式证书请求进行验证,如果验证失败,则报错,结束,如果验证成功,则使用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥,根据所述交互式公钥签发交互式证书,将所述交互式证书发送至所述电子签名载体。
15.根据权利要求14所述的方法,其特征在于,当所述证书管理端接收到非交互式证书请求时,还包括:所述证书管理端对所述非交互式证书请求进行验签,判断验签是否通过,如果是,则继续,否则报错,结束。
16.根据权利要求15所述的方法,其特征在于,所述对所述非交互式证书请求进行验签,判断验签是否通过,具体为:
步骤a1:所述证书管理端从所述非交互式证书请求中获取第一数据,应用预设哈希算法,对所述第一数据进行计算,生成第一哈希值;
步骤a2:所述证书管理端从所述非交互式证书请求中获取第二数据,使用所述非交互式公钥对所述第二数据进行计算,得到第二哈希值;
步骤a3:所述证书管理端判断所述第一哈希值与所述第二哈希值是否相同,如果是,则继续,否则报错,结束。
17.根据权利要求14所述的方法,其特征在于,当所述证书管理端接收到加密证书请求时,还包括:判断是否能够查找到保存的非交互式公钥,如果是,则继续,否则报错,结束。
18.根据权利要求14所述的方法,其特征在于,所述方法还包括:
步骤a1:所述证书管理端生成会话密钥,根据接收到主机发送的加密公钥ID获取对应的加密公钥,应用所述加密公钥对所述会话密钥进行加密,得到加密的会话密钥,并返回至所述主机;
步骤a2:所述证书管理端接收主机返回的预设数据,应用所述会话密钥对所述预设数据进行加密,得到数据密文并返回至所述主机;
步骤a3:所述证书管理端接收并判断所述主机返回的响应,如果是协商成功响应,则将所述会话密钥保存为与所述电子签名载体协商好的会话密钥,如果是协商失败响应,则将生成的会话密钥删除,返回步骤a1。
19.根据权利要求14所述的方法,其特征在于,所述使用保存的所述非交互式公钥对所述交互式证书请求进行验证,具体为:
步骤a1:所述证书管理端从所述交互式证书请求中获取第三数据,应用预设哈希算法,对所述第三数据进行计算,生成第一哈希值;
步骤a2:所述证书管理端从所述交互式证书请求中获取第四数据,使用所述非交互式公钥对所述第四数据进行计算,得到第二哈希值;
步骤a3:所述证书管理端判断所述第一哈希值与所述第二哈希值是否相同,如果是,则继续,否则报错,结束。
20.根据权利要求14所述的方法,其特征在于,当所述证书管理端接收到交互式证书请求后,还包括:从所述交互式证书请求中获取载体序列号,根据所述载体序列号判断对应的电子签名载体是否支持交互式证书,如果是,则继续,否则报错,结束。
21.一种多数字证书的签发系统中电子签名载体的工作方法,其特征在于,包括:
当电子签名载体接收到主机发送的生成非交互式密钥对指令时,生成非交互式密钥对并保存,将非交互式公钥返回所述主机;
当所述电子签名载体接收到所述主机发送的第一签名指令时,使用非交互式私钥对所述第一签名指令的签名数据进行签名,得到第一发证请求并返回至所述主机;
当所述电子签名载体接收到所述主机发送的非交互式证书时,将所述非交互式证书与所述非交互式密钥对建立关联并保存;
当所述电子签名载体接收到所述主机发送的数字信封时,应用所述非交互式私钥对所述数字信封进行处理,得到加密证书和加密密钥并保存;
当所述电子签名载体接收到所述主机发送的生成交互式密钥对指令时,生成交互式密钥对并保存,应用与所述证书管理端协商好的会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥并返回至所述主机;
当所述电子签名载体接收到所述主机发送的第二签名指令时,使用所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求并返回至所述主机;
当所述电子签名载体接收到所述主机发送的交互式证书时,将所述交互式证书与所述交互式密钥对建立关联并保存。
22.根据权利要求21所述的方法,其特征在于,当所述电子签名载体接收到主机发送的生成非交互式密钥对指令时,生成非交互式密钥对并保存,将非交互式公钥返回所述主机,具体包括:
所述电子签名载体接收到主机发送的获取载体序列号指令,将保存的载体序列号返回主机;
所述电子签名载体接收到主机发送的生成密钥对指令,生成非交互式密钥对并保存,向所述主机返回生成密钥对成功响应;
所述电子签名载体接收到主机发送的导出非交互式公钥指令,将非交互式密钥对中的非交互式公钥返回主机。
23.根据权利要求21所述的方法,其特征在于,所述使用非交互式私钥对所述第一签名指令的签名数据进行签名,得到第一发证请求,具体为:
步骤b1:所述电子签名载体对所述第一签名指令的签名数据进行哈希运算,生成哈希结果;
步骤b2:所述电子签名载体应用所述非交互式私钥对所述哈希结果进行加密,得到第一发证请求。
24.根据权利要求21所述的方法,其特征在于,当所述电子签名载体接收到主机发送的生成交互式密钥对指令时,生成交互式密钥对并保存,应用与所述证书管理端协商好的会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥并返回至所述主机,具体包括:
步骤c1:所述电子签名载体接收主机发送的生成密钥对指令,生成交互式密钥对并保存,向所述主机返回生成密钥对成功响应;
步骤c2:所述电子签名载体接收主机发送的导出加密的交互式公钥指令,应用预设加密算法,使用与所述证书管理端协商好的会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥并返回至所述主机。
25.根据权利要求21所述的方法,其特征在于,所述使用非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求,具体为:
步骤b1:所述电子签名载体对所述第二签名指令的签名数据进行哈希运算,生成哈希结果;
步骤b2:所述电子签名载体应用所述非交互式私钥对所述哈希结果进行加密,得到第二发证请求。
26.根据权利要求21所述的方法,其特征在于,所述方法还包括:
步骤b1:所述电子签名载体将加密公钥ID发送至主机;
步骤b2:所述电子签名载体接收所述主机返回的加密的会话密钥,获取保存的加密私钥,应用所述加密私钥对所述加密的会话密钥进行解密,得到会话密钥并保存;
步骤b3:所述电子签名载体向所述主机发送预设数据;
步骤b4:所述电子签名载体接收主机返回的数据密文,应用保存的会话密钥对所述数据密文进行解密,得到数据明文,判断所述数据明文与所述预设数据是否相同,如果是,则将所述会话密钥保存为与所述证书管理端协商好的会话密钥,并向所述主机返回协商成功响应,否则向所述主机返回协商失败响应。
27.一种多数字证书的签发系统,其特征在于,包括:主机、电子签名载体和证书管理端;
所述主机包括第一接收模块、第一生成模块、第一发送模块;
所述第一接收模块,用于接收所述电子签名载体返回的非交互式公钥或第一发证请求或加密的交互式公钥;
所述第一生成模块,用于根据所述第一接收模块接收到的非交互式公钥生成第一签名指令;用于根据所述第一接收模块接收到的第一发证请求和非交互式公钥生成非交互式证书请求;用于根据所述第一接收模块接收到的加密的交互式公钥生成第二签名指令;用于根据所述第一接收模块接收到的第二发证请求和加密的交互式密钥生成交互式证书请求;
所述第一发送模块,用于将所述第一生成模块生成的第一签名指令或第二签名指令发送至所述证书管理端;用于将所述第一生成模块生成的非交互式证书请求或交互式证书请求发送至所述证书管理端;
所述证书管理端,包括第二接收模块、第二生成模块、第二存储模块、签发模块、验证模块、解密模块、第二发送模块;
所述第二接收模块,用于接收主机发送的非交互式证书请求或交互式证书请求;
所述第二生成模块,用于根据非交互式公钥、加密密钥和加密证书得到数字信封;
所述第二存储模块,用于将所述第二接收模块接收到的非交互式证书请求中的非交互式公钥保存;
所述签发模块,用于根据所述第二接收模块接收到的非交互式公钥签发非交互式证书;用于根据保存的非交互式公钥申请加密密钥,根据申请成功得到的加密密钥签发加密证书;用于根据交互式公钥签发交互式证书;
所述验证模块,用于当所述第二接收模块接收到交互式证书请求时,使用所述第二存储模块保存的所述非交互式公钥对所述交互式证书请求进行验证;
所述解密模块,用于当所述验证模块验证成功时,应用与所述电子签名载体协商好的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥;
所述第二发送模块,用于将所述签发模块签发的非交互式证书或交互式证书或所述第二生成模块生成的数字信封通过所述主机发送至电子签名载体;
所述电子签名载体,包括第三接收模块、第三生成模块、第三存储模块、处理模块、第三发送模块;
所述第三接收模块,用于接收主机发送的第一签名指令或第二签名指令;用于接收主机发送来的非交互式证书或交互式证书;用于接收主机发送来的加密证书和加密密钥;
所述第三生成模块,用于生成非交互式密钥对或交互式密钥对;用于应用非交互式私钥对所述第一签名指令进行签名,得到第一发证请求;用于根据所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求;
所述第三存储模块,用于保存所述第三生成模块生成的所述非交互式密钥对或交互式密钥对;用于保存所述第三接收模块接收到的加密证书和加密密钥;用于保存所述第三接收模块接收到的非交互式证书或交互式证书;
所述处理模块,用于使用与所述证书管理端协商好的会话密钥对所述第三生成模块生成的交互式公钥进行加密,得到加密的交互式公钥;用于根据所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求;
所述第三发送模块,用于将所述第三生成模块生成的非交互式公钥返回所述主机;用于将所述加密的交互式公钥返回所述主机;用于将所述第三生成模块生成的所述第一发证请求或第二发证请求发送至所述主机。
28.根据权利要求27所述的系统,其特征在于,
所述第一接收模块,还用于接收用户输入的用户信息和用户触发的下载证书请求;
所述第一发送模块,还用于向所述电子签名载体发送获取载体序列号指令;
所述第三发送模块,还用于将保存的载体序列号返回至所述主机;
所述第一生成模块,还用于根据所述载体序列号,向对应的电子签名载体发送生成非交互式密钥对指令。
29.根据权利要求27所述的系统,其特征在于,
所述第一发送模块,还用于向所述电子签名载体发送生成获取载体序列号指令;还用于根据载体序列号,向对应的电子签名载体发送生成非交互式密钥对指令;还用于向所述电子签名载体发送导出公钥指令;
所述第三发送模块,还用于将保存的载体序列号返回至所述主机;还用于向所述主机返回生成密钥对成功响应。
30.根据权利要求27所述的系统,其特征在于,
所述验证模块,还用于当所述第二接收模块接收到加密证书请求时,判断是否能够获取到保存的非交互式公钥。
31.根据权利要求27所述的系统,其特征在于,所述第二生成模块具体包括加密模块和组合模块;
所述加密模块,用于应用所述加密密钥对所述加密证书进行加密,得到第一加密数据;还用于应用所述非交互式公钥对所述加密密钥进行加密,得到第二加密数据;
所述组合模块,用于将所述第一加密数据与所述第二加密数据组合,得到数字信封。
32.根据权利要求31所述的系统,其特征在于,
所述处理模块,还用于应用所述非交互式私钥对所述数字信封中的第二加密数据进行解密,得到加密密钥;还用于应用所述加密密钥对所述数字信封中的第一加密数据进行解密,得到加密证书。
33.根据权利要求27所述的系统,其特征在于,
所述第一发送模块,还用于向所述电子签名载体发送生成交互式密钥对指令;还用于向所述电子签名载体发送导出加密公钥指令;
所述第三发送模块,还用于向所述主机返回生成密钥对成功响应;
所述第一生成模块,具体用于应用预设哈希算法,对所述非交互式公钥进行计算,根据计算结果生成第二签名指令。
34.根据权利要求27所述的系统,其特征在于,
所述处理模块,具体用于对所述第二签名指令的签名数据进行哈希运算,得到哈希结果,应用所述非交互式私钥对所述哈希结果进行加密,得到第二发证请求。
35.根据权利要求27所述的系统,其特征在于,
所述控制模块,还用于控制所述电子签名载体返回加密公钥ID;
所述第一发送模块,还用于将所述加密公钥ID发送至所述证书管理端;
所述证书管理端还包括第三生成模块和加密模块;
所述第三生成模块,用于生成会话密钥;
所述加密模块,用于根据所述加密公钥ID获取对应的加密公钥,应用所述加密公钥对所述会话密钥进行加密,得到加密的会话密钥;用于应用所述会话密钥对所述预设数据进行加密,得到数据密文;
所述第二发送模块,还用于将加密的会话密钥返回至所述主机;还用于将得到的数据密文通过所述主机发送至所述电子签名载体;
所述第一发送模块,还用于将加密的会话密钥发送至所述电子签名载体;
所述处理模块,还用于获取保存的加密私钥,应用所述加密私钥对所述加密的会话密钥进行解密,得到会话密钥;还用于应用保存的会话密钥对所述数据密文进行解密,得到数据明文;
所述第三存储模块,还用于将得到会话密钥保存;
所述电子签名载体还包括判断模块,用于判断所述数据明文与所述预设数据是否相同;
所述第三发送模块,还用于通过所述主机向所述证书管理端发送预设数据;还用于当所述判断模块判断为相同时,通过所述主机向所述证书管理端返回协商成功响应;还用于当所述判断模块判断为不相同时,通过所述主机向所述证书管理端返回协商失败响应;
所述验证模块,还用于判断接收到的响应,如果是协商成功响应,则触发第二存储模块,如果是协商失败响应,则触发删除模块;
所述证书管理端还包括删除模块,用于当所述验证模块判断接收到的响应为协商失败响应时,删除生成的会话密钥。
36.根据权利要求27所述的系统,其特征在于,
所述第一生成模块,具体用于应用预设哈希算法,对用户信息、载体序列号和所述加密的交互式公钥进行计算,根据计算结果生成第二签名指令;
所述证书管理端还包括获取模块和计算模块;
所述获取模块,用于从管理端存储区中获取非交互式公钥、用户信息和载体序列号;
所述计算模块,用于应用预设哈希算法,对用户信息、载体序列号、加密的交互式公钥和非交互式证书进行计算,生成第一哈希值;用于应用所述非交互式公钥对第二发证请求进行计算,生成第二哈希值;
所述验证模块,还用于判断所述第一哈希值和所述第二哈希值是否相同。
37.根据权利要求27所述的系统,其特征在于,
所述第一生成模块,具体用于获取保存的用户信息和载体序列号,根据所述第一发证请求、所述非交互式公钥、所述用户信息和所述载体序列号生成非交互式证书请求;
所述签发模块,具体用于根据所述非交互式证书请求中的用户信息、载体序列号以及非交互式公钥生成非交互式证书。
38.根据权利要求27所述的系统,其特征在于,
所述第一生成模块,具体用于获取保存的用户信息和载体序列号,根据所述第二发证请求、所述加密的交互式公钥、所述用户信息和所述载体序列号生成交互式证书请求;
所述签发模块,具体用于根据所述交互式证书请求中的载体序列号、用户信息以及解密得到的所述交互式公钥生成交互式证书。
39.根据权利要求38所述的系统,其特征在于,
所述验证模块,还用于从所述交互式证书请求中获取载体序列号,根据所述载体序列号判断对应的电子签名载体是否支持交互式证书。
40.一种证书管理端,其特征在于,包括:
接收模块:用于接收非交互式证书请求;用于接收加密证书请求;用于接收交互式证书请求;
存储模块:用于当所述接收模块接收到非交互式证书请求后,将所述非交互式证书请求中的非交互式公钥保存;
验证模块:用于当所述接收模块接收到交互式证书请求后,使用保存的所述非交互式公钥对所述交互式证书请求进行验证;
处理模块:用于当所述验证模块验证成功时,使用保存的会话密钥对所述交互式证书请求中的加密的交互式公钥进行解密,得到交互式公钥;用于根据所述加密密钥、所述非交互式公钥和所述加密证书生成数字信封;
签发模块:用于当所述接收模块接收到非交互式证书请求后,根据所述非交互式证书请求中的非交互式公钥签发非交互式证书;用于当所述接收模块接收到加密证书请求后,根据保存的非交互式证书申请加密密钥对,根据所述加密密钥对签发加密证书;用于当所述处理模块得到交互式公钥时,根据所述交互式公钥签发交互式证书;
发送模块:用于将非交互式证书或数字信封或交互式证书发送至电子签名载体。
41.根据权利要求40所述的证书管理端,其特征在于,
所述验签模块:具体用于当所述接收模块接收到非交互式证书请求后,对所述非交互式证书请求进行验签,如果验签通过,则触发所述存储模块,如果验签失败,则报错。
42.根据权利要求41所述的证书管理端,其特征在于,
所述验签模块,具体包括:第一获取单元、第一计算单元和第一判断单元;
所述第一获取单元:用于从所述非交互式证书请求中获取第一数据和第二数据;
所述第一计算单元:用于当所述第一获取单元获取到第一数据后,应用预设哈希算法,对所述第一数据进行计算,生成第一哈希值;用于当所述第一获取单元获取到第二数据后,使用所述非交互式公钥对所述第二数据进行计算,得到第二哈希值;
所述第一判断单元:用于判断所述第一哈希值与所述第二哈希值是否相同,如果相同,则触发所述存储模块,如果失败,则报错。
43.根据权利要求40所述的证书管理端,其特征在于,还包括:判定模块,用于当所述接收模块接收到加密证书请求后,判断是否能够查找到保存的非交互式公钥,如果是,则触发签发模块,否则报错。
44.根据权利要求40所述的证书管理端,其特征在于,所述证书管理端还包括协商密钥模块,所述协商密钥模块,具体包括生成单元、接收单元、处理单元、发送单元、判断单元、保存单元和删除单元;
所述生成单元:用于生成会话密钥;
所述接收单元:用于接收主机发送的加密公钥ID;用于接收主机返回的预设数据;用于接收所述主机返回的响应;
所述处理单元:用于当所述接收单元接收到加密公钥ID时,根据所述加密公钥ID获取对应的加密公钥;用于应用所述加密公钥对所述会话密钥进行加密,得到加密的会话密钥;用于当所述接收单元接收到预设数据时,应用所述会话密钥对所述预设数据进行加密,得到数据密文;
所述发送单元:用于当所述处理单元得到加密的会话密钥时,将所述加密的会话密钥返回至所述主机;用于当所述处理单元得到数据密文时,将所述数据密文返回至所述主机;
所述判断单元:用于当所述接收模块接收到主机返回的响应时,判断所述响应,如果是协商成功响应,则触发保存单元,如果是协商失败响应,则触发删除单元;
所述保存单元:用于当所述判断单元判断为是时,将生成的会话密钥保存;
所述删除单元:用于当所述判断单元判断为否时,将生成的会话密钥删除。
45.根据权利要求40所述的证书管理端,其特征在于,所述验证模块,具体包括:第二获取单元、第二计算单元和第二判断单元;
所述第二获取单元:用于从所述交互式证书请求中获取第三数据和第四数据;
所述第二计算单元:用于当所述第二获取单元获取到第三数据后,应用预设哈希算法,对所述第三数据进行计算,生成第一哈希值;用于当所述第二获取单元获取到第四数据后,使用所述非交互式公钥对所述第四数据进行计算,得到第二哈希值;
所述第二判断单元:用于判断所述第一哈希值与所述第二哈希值是否相同,如果相同,则触发所述处理模块,如果失败,则报错。
46.根据权利要求40所述的证书管理端,其特征在于,
所述验证模块,还用于从所述交互式证书请求中获取载体序列号,根据所述载体序列号判断对应的电子签名载体是否支持交互式证书。
47.一种电子签名载体,其特征在于,包括:
接收模块:用于接收主机发送的生成非交互式密钥对指令或交互式密钥对指令;用于接收主机发送的第一签名指令或第二签名指令;用于接收主机发送的非交互式证书或交互式证书;用于接收主机发送的生成数字信封;
生成模块:用于当所述接收模块接收到生成非交互式密钥对指令时,生成非交互式密钥对;用于当所述接收模块接收到生成交互式密钥对指令时,生成交互式密钥对;
存储模块:用于当所述生成模块生成非交互式密钥对时,将非交互式私钥保存;用于当所述接收模块接收到非交互式证书和加密证书时,保存所述非交互式证书和所述加密证书;用于当所述生成模块生成交互式密钥对时,将交互式私钥保存;用于当所述接收模块接收到交互式证书时,将所述交互式证书与所述交互式私钥建立关联并保存;
签名模块:用于当所述接收模块接收到第一签名指令时,使用所述非交互式私钥对所述第一签名指令的签名数据进行签名,得到第一发证请求;用于当所述接收模块接收到第一签名指令时,使用所述非交互式私钥对所述第二签名指令的签名数据进行签名,得到第二发证请求;
加密模块:用于当所述生成模块生成交互式密钥对时,应用保存的会话密钥对所述交互式公钥进行加密,得到加密的交互式公钥;
发送模块:用于当所述存储模块生成非交互式密钥对时,将非交互式公钥返回所述主机;用于将所述加密模块得到的加密的交互式公钥发送至所述主机;用于当所述签名模块得到第一发证请求时,将所述第一发证请求返回至所述主机;用于当所述签名模块得到第二发证请求时,将所述第二发证请求返回至所述主机。
48.根据权利要求47所述的电子签名载体,其特征在于,
所述接收模块,还用于接收获取载体序列号指令;还用于接收导出非交互式公钥指令;
所述发送模块,还用于将保存的载体序列号返回主机;还用于当所述生成模块生成非交互式密钥对时,向所述主机返回生成密钥对成功响应;还用于当所述接收模块接收到导出非交互式公钥指令时,将非交互式密钥对中的非交互式公钥返回主机。
49.根据权利要求47所述的电子签名载体,其特征在于,
所述签名模块,具体用于当所述接收模块接收到第一签名指令时,对所述第一签名指令的签名数据进行哈希运算,生成哈希结果,应用所述非交互式私钥对所述哈希结果进行加密,得到第一发证请求。
50.根据权利要求47所述的电子签名载体,其特征在于,
所述接收模块,还用于接收生成密钥对指令;还用于接收导出交互式公钥指令;
所述发送模块,还用于当所述生成模块生成交互式密钥对时,向所述主机返回生成密钥对成功响应。
51.根据权利要求47所述的电子签名载体,其特征在于,
所述签名模块,具体用于当所述接收模块接收到第二签名指令时,对所述第二签名指令的签名数据进行哈希运算,生成哈希结果,应用所述非交互式私钥对所述哈希结果进行加密,得到第二发证请求。
52.根据权利要求47所述的电子签名载体,其特征在于,还包括协商密钥模块,所述协商密钥模块具体包括生成单元、接收单元、处理单元、发送单元、判断单元、保存单元和删除单元;
所述生成单元:用于生成会话密钥;
所述接收单元:用于接收主机发送的加密公钥ID;用于接收主机返回的预设数据;用于接收所述主机返回的响应;
所述处理单元:用于当所述接收单元接收到加密公钥ID时,根据所述加密公钥ID获取对应的加密公钥;用于应用所述加密公钥对所述会话密钥进行加密,得到加密的会话密钥;用于当所述接收单元接收到预设数据时,应用所述会话密钥对所述预设数据进行加密,得到数据密文;
所述发送单元:用于当所述处理单元得到加密的会话密钥时,将所述加密的会话密钥返回至所述主机;用于当所述处理单元得到数据密文时,将所述数据密文返回至所述主机;
所述判断单元:用于当所述接收模块接收到主机返回的响应时,判断所述响应,如果是协商成功响应,则触发保存单元,如果是协商失败响应,则触发删除单元;
所述保存单元:用于当所述判断单元判断为是时,将生成的会话密钥保存;
所述删除单元:用于当所述判断单元判断为否时,将生成的会话密钥删除;所述接收模块:还用于接收主机发送的加密密钥对并保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510681362.6A CN106603238B (zh) | 2015-10-20 | 2015-10-20 | 一种多数字证书的签发系统、证书管理端、签发装置及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510681362.6A CN106603238B (zh) | 2015-10-20 | 2015-10-20 | 一种多数字证书的签发系统、证书管理端、签发装置及其工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106603238A true CN106603238A (zh) | 2017-04-26 |
CN106603238B CN106603238B (zh) | 2019-06-18 |
Family
ID=58554650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510681362.6A Active CN106603238B (zh) | 2015-10-20 | 2015-10-20 | 一种多数字证书的签发系统、证书管理端、签发装置及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106603238B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218263A (zh) * | 2017-07-04 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种控制方法及装置 |
CN111193748A (zh) * | 2020-01-06 | 2020-05-22 | 惠州市德赛西威汽车电子股份有限公司 | 一种交互式密钥安全认证方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977193A (zh) * | 2010-10-28 | 2011-02-16 | 北京飞天诚信科技有限公司 | 安全下载证书的方法及系统 |
CN103729588A (zh) * | 2013-12-25 | 2014-04-16 | 飞天诚信科技股份有限公司 | 一种签名设备的签名方法 |
CN104301113A (zh) * | 2014-10-17 | 2015-01-21 | 飞天诚信科技股份有限公司 | 一种基于多证书多用途的数字签名方法和系统 |
CN104579677A (zh) * | 2014-11-18 | 2015-04-29 | 飞天诚信科技股份有限公司 | 一种安全快速的数据签名方法 |
-
2015
- 2015-10-20 CN CN201510681362.6A patent/CN106603238B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977193A (zh) * | 2010-10-28 | 2011-02-16 | 北京飞天诚信科技有限公司 | 安全下载证书的方法及系统 |
CN103729588A (zh) * | 2013-12-25 | 2014-04-16 | 飞天诚信科技股份有限公司 | 一种签名设备的签名方法 |
CN104301113A (zh) * | 2014-10-17 | 2015-01-21 | 飞天诚信科技股份有限公司 | 一种基于多证书多用途的数字签名方法和系统 |
CN104579677A (zh) * | 2014-11-18 | 2015-04-29 | 飞天诚信科技股份有限公司 | 一种安全快速的数据签名方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218263A (zh) * | 2017-07-04 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种控制方法及装置 |
CN109218263B (zh) * | 2017-07-04 | 2021-06-08 | 斑马智行网络(香港)有限公司 | 一种控制方法及装置 |
CN111193748A (zh) * | 2020-01-06 | 2020-05-22 | 惠州市德赛西威汽车电子股份有限公司 | 一种交互式密钥安全认证方法及系统 |
CN111193748B (zh) * | 2020-01-06 | 2021-12-03 | 惠州市德赛西威汽车电子股份有限公司 | 一种交互式密钥安全认证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106603238B (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981582B (zh) | 一种基于区块链的物联网设备身份认证方法 | |
CN101641976B (zh) | 认证方法 | |
CN107819753B (zh) | 不完全匿名的区块链交易系统及方法 | |
CN109872155A (zh) | 数据处理方法和装置 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN109067801A (zh) | 一种身份认证方法、身份认证装置及计算机可读介质 | |
CN107770159A (zh) | 一种车辆事故数据记录方法及装置 | |
CN103338215A (zh) | 基于国密算法建立tls通道的方法 | |
CN109067528A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN106779716A (zh) | 基于区块链账户地址的认证方法、装置及系统 | |
CN110493237A (zh) | 身份管理方法、装置、计算机设备及存储介质 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN108964922A (zh) | 移动终端令牌激活方法、终端设备及服务器 | |
CN105407467B (zh) | 短消息加密方法、装置和系统 | |
CN108023873A (zh) | 信道建立方法及终端设备 | |
CN107888379A (zh) | 一种安全连接的方法、pos终端及密码键盘 | |
CN107342861A (zh) | 一种数据处理方法、装置及系统 | |
CN106850207A (zh) | 无ca的身份认证方法和系统 | |
CN111914291A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN105429945A (zh) | 一种数据传输的方法、装置及系统 | |
CN108024243A (zh) | 一种eSIM卡入网通信方法及其系统 | |
CN104125230A (zh) | 一种短信认证服务系统以及认证方法 | |
CN108270568A (zh) | 一种移动数字证书装置及其更新方法 | |
CN109286500A (zh) | 车辆电子控制单元ecu认证方法、装置及设备 | |
CN108920976A (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 |