CN106161033B - 一种交互式电子签名方法 - Google Patents
一种交互式电子签名方法 Download PDFInfo
- Publication number
- CN106161033B CN106161033B CN201510208447.2A CN201510208447A CN106161033B CN 106161033 B CN106161033 B CN 106161033B CN 201510208447 A CN201510208447 A CN 201510208447A CN 106161033 B CN106161033 B CN 106161033B
- Authority
- CN
- China
- Prior art keywords
- signed
- key
- interactive
- data
- signature
- 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
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 233
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012790 confirmation Methods 0.000 claims abstract description 9
- 230000004044 response Effects 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 5
- 235000013399 edible fruits Nutrition 0.000 claims description 4
- 230000017702 response to host Effects 0.000 claims description 3
- 238000004321 preservation Methods 0.000 description 6
- 230000005611 electricity Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种交互式电子签名方法,属于信息安全领域,所述方法包括:电子签名载体接收到签名指令时,获取并判断待签名数据和密钥,如果均为交互式,则从待签名数据中获取交互信息并显示,当用户按键确认时,根据待签名数据、交互式密钥和交互式证书,得到交互式签名结果并返回主机;如果均为非交互式,则根据待签名数据、非交互式密钥和非交互式证书,得到非交互式签名结果并返回主机。采用本发明的技术方案,能够实现一个电子签名载体中具有两种签名方式,交互式签名和非交互式签名,而且每种签名对应各自的证书和密钥,保证了签名的安全性。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种交互式电子签名方法。
背景技术
随着身份认证技术的发展与应用,电子签名载体(如智能密钥设备等)得到广泛应用,如在网上银行认证、网上证券交易认证等身份认证过程中,电子签名载体成为用户身份认证的工具。
现有技术中,数据在传入电子签名载体后,没有进行数据验证即进行签名,如果数据在主机端被篡改,电子签名载体就不能及时的识别错误数据,导致电子签名载体执行了错误的签名操作,而且现有的电子签名载体中只有一个签名证书,适用范围窄,安全性低。
发明内容
本发明的目的是为了解决现有技术中存在的问题,提供了一种交互式电子签名方法。
本发明采用的技术方案是:一种交互式电子签名方法,包括:
步骤S1:电子签名载体上电初始化;
步骤S2:所述电子签名载体等待接收主机下发的指令;
步骤S3:当所述电子签名载体接收到签名指令时,获取并判断待签名数据和待签名密钥;
当所述待签名数据为交互式签名数据且所述待签名密钥为交互式签名密钥时,执行步骤S4;
当所述待签名数据为非交互式签名数据且所述待签名密钥为非交互式签名密钥时,执行步骤S6;
步骤S4:所述电子签名载体从所述交互式待签名数据中获取交互信息,显示所述交互信息,并等待用户按键确认,判断在预设时间内是否接收到用户按键确认,如果是,则执行步骤S5,否则报错,返回步骤S2;
步骤S5:所述电子签名载体根据所述交互式签名数据、所述交互式签名密钥和内部保存的交互式证书,得到交互式签名结果,并发送至所述主机,返回步骤S2;
步骤S6:所述电子签名载体根据所述非交互式签名数据、所述非交互式签名密钥和内部保存的非交互式证书,得到非交互式签名结果,并发送至所述主机,返回步骤S2。
所述步骤S3,还包括:当所述待签名数据为交互式签名数据且所述待签名密钥为非交互式签名密钥时,对所述交互式签名数据进行预处理,得到非交互式签名数据,执行步骤S6。
所述步骤S3,还包括:当所述待签名数据为交互式签名数据且所述待签名密钥为非交互式签名密钥时,报错,返回步骤S2。
所述步骤S3,还包括:当所述待签名数据为非交互式签名数据且所述待签名密钥为交互式签名密钥时,报错,返回步骤S2。
所述步骤S3中,所述电子签名载体获取待签名数据和待签名密钥,具体为:所述电子签名载体从所述签名指令中获取待签名数据和待签名密钥ID,根据所述待签名密钥ID从电子签名载体中获取对应保存的待签名密钥。
所述步骤S3之前还包括:当所述电子签名载体接收到哈希指令时,从所述哈希指令中获取待签名数据和待签名密钥ID,保存所述待签名数据,并判断所述待签名密钥ID,如果是交互式签名密钥ID,则根据所述待签名密钥ID获取交互式签名密钥,将其作为已选定的待签名密钥,如果是非交互式签名密钥ID,则根据所述待签名密钥ID获取非交互式签名密钥,将其作为已选定的待签名密钥;
所述步骤S3中,所述电子签名载体获取待签名数据和待签名密钥,具体为:所述电子签名载体获取保存的待签名数据和已选定的待签名密钥。
所述步骤S3之前还包括:
当所述电子签名载体接收到设置安全环境指令,则从所述设置安全环境指令中获取待签名密钥ID,判断所述待签名密钥ID,如果是交互式签名密钥ID,则根据所述待签名密钥ID获取交互式签名密钥,将其作为已选定的待签名密钥,如果是非交互式签名密钥ID,则根据所述待签名密钥ID获取非交互式签名密钥,将其作为已选定的待签名密钥;
当所述电子签名载体接收到哈希指令时,从所述哈希指令中获取待签名数据并保存;
所述步骤S3中,所述电子签名载体获取待签名数据和待签名密钥,具体为:所述电子签名载体获取保存的待签名数据和已选定的待签名密钥。
所述判断所述待签名密钥ID,具体为:判断所述待签名密钥ID的值,如果所述待签名密钥ID为第一预设值,则所述待签名密钥为交互式密钥ID,如果所述待签名密钥ID为第二预设值,则所述待签名密钥为非交互式密钥ID。
所述步骤S3中,所述电子签名载体判断待签名数据,具体为:判断所述待签名数据是否符合预设报文格式,如果是,则所述待签名数据为交互式签名数据,否则所述待签名数据为非交互式签名数据。
当判定所述待签名数据不符合预设报文格式时,还包括:判断所述待签名数据的长度是否为预设长度,如果是,则所述待签名数据为非交互式签名数据,否则对所述待签名数据进行预处理,将预处理结果作为非交互式签名数据。
所述步骤S5中,所述电子签名载体根据所述交互式签名数据、所述交互式签名密钥和内部保存的交互式证书,得到交互式签名结果,具体包括:
步骤b1:所述电子签名载体对所述交互式签名数据进行预处理,得到交互式预处理结果,并根据所述交互式签名密钥获取对应的交互式证书,从所述交互式证书中获取交互式证书ID;
步骤b2:所述电子签名载体应用第一预设签名算法,对所述交互式证书ID、所述交互式预处理结果和所述交互式签名密钥进行处理,得到交互式签名结果。
所述电子签名载体对所述交互式签名数据进行预处理,具体为:
步骤a1:所述电子签名载体根据预设哈希算法,对所述交互式签名数据进行哈希运算,得到哈希结果;
步骤a2:所述电子签名载体将所述预设哈希算法的算法标识与所述哈希结果进行拼接,得到拼接结果;
步骤a3:所述电子签名载体根据预设长度,对所述拼接结果进行补位。
所述步骤S6中,所述电子签名载体根据所述非交互式签名数据、所述非交互式签名密钥和内部保存的非交互式证书,得到非交互式签名结果,具体包括:所述电子签名载体根据所述非交互式签名密钥获取对应的非交互式证书,从所述非交互式证书中获取非交互式证书ID,应用第二预设签名算法,对所述非交互式签名数据、所述非交互式证书ID和所述非交互式签名密钥进行处理,得到非交互式签名结果。
所述步骤S4具体包括:所述电子签名载体从所述交互式待签名数据中获取交互信息,显示所述交互信息,并等待用户按键确认,判断在预设时间内是否接收到用户按键确认,如果是接收到按键确认,则执行步骤S5;如果接收到按键取消,则将所述交互式待签名数据删除,并向所述主机返回签名失败响应,返回步骤S2;如果未接收到按键,则将所述交互式待签名数据删除,并向所述主机返回超时响应,返回步骤S2。
所述方法还包括:
步骤c1:所述主机接收到签名结果时,获取已保存的所述待签名数据和与所述待签名密钥对应的签名公钥,将所述待签名数据、所述签名结果和所述签名公钥发送至服务器;
步骤c2:所述服务器判断所述待签名数据和所述签名公钥,如果所述待签名数据和所述签名公钥均为交互式,则执行步骤c3,如果所述待签名数据和所述签名公钥均为非交互式时,则执行步骤c4,否则报错,结束;
步骤c3:所述服务器应用第一预设哈希算法对所述待签名数据进行哈希运算,得到第一结果,并根据第一预设解密算法,应用所述签名公钥对所述签名结果进行解密,得到第二结果,执行步骤c5;
步骤c4:所述服务器应用第二预设哈希算法对所述待签名数据进行哈希运算,得到第三结果,并根据第二预设解密算法,应用所述签名公钥对所述签名结果进行解密,得到第四结果,执行步骤c6;
步骤c5:所述服务器判断所述第一结果与所述第二结果是否相同,如果是,则执行步骤c7,否则结束;
步骤c6:所述服务器判断所述第三结果与所述第四结果是否相同,如果是,则执行步骤c7,否则结束;
步骤c7:所述服务器向所述主机返回验证成功响应,结束。
本发明取得的有益效果是:采用本发明的技术方案,能够实现一个电子签名载体中具有两种签名方式,交互式签名和非交互式签名,而且每种签名对应各自的证书和密钥,保证了签名的安全性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种交互式电子签名方法流程图;
图2是本发明实施例2提供的另一种交互式电子签名方法流程图;
图3是本发明实施例3提供的再一种交互式电子签名方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种交互式电子签名方法,如图1所示,包括:
步骤101:电子签名载体上电初始化;
步骤102:电子签名载体等待接收主机下发的指令;
步骤103:当电子签名载体接收到签名指令时,获取并判断待签名数据和待签名密钥;
当待签名数据为交互式签名数据且待签名密钥为交互式签名密钥时,执行步骤104;
当待签名数据为非交互式签名数据且待签名密钥为非交互式签名密钥时,执行步骤106;
当待签名数据为交互式签名数据且待签名密钥为非交互式签名密钥时,电子签名载体对交互式签名数据进行预处理,得到非交互式签名数据,执行步骤106;
本实施例中,当待签名数据为交互式签名数据且待签名密钥为非交互式签名密钥时,还可以不进行操作,直接报错,返回步骤102;
当待签名数据为非交互式签名数据且待签名密钥为交互式签名密钥时,报错,返回步骤102;
本实施例中,获取待签名数据和待签名密钥,具体为:从接收到的签名指令中获取待签名数据和待签名密钥ID,根据待签名密钥ID获取对应的待签名密钥;
在步骤S3之前,还包括:电子签名载体接收到哈希指令时,从哈希指令中获取待签名数据和待签名密钥ID,保存待签名数据,根据待签名密钥ID获取对应的待签名密钥,并作为已选定的待签名密钥;则步骤S3中,获取待签名数据和待签名密钥,具体为:获取保存的待签名数据和已选定的待签名密钥;
在步骤S3之前,还包括:电子签名载体接收到设置安全环境指令时,从设置安全环境指令中获取待签名密钥ID,根据待签名密钥ID获取对应的待签名密钥,将其作为已选定的待签名密钥;在步骤S3之前,还包括:电子签名载体接收到哈希指令时,从哈希指令中获取待签名数据并保存,则步骤S3中,获取待签名数据和待签名密钥,具体为:获取保存的待签名数据和已选定的待签名密钥;
步骤104:电子签名载体从交互式待签名数据中获取交互信息,显示交互信息,并等待用户按键确认,判断在预设时间内是否接收到用户按键确认,如果是,则执行步骤105,否则报错,返回步骤102;
步骤105:电子签名载体根据交互式签名数据、交互式签名密钥和内部保存的交互式证书,得到交互式签名结果,并发送至主机,返回步骤102;
步骤106:电子签名载体根据非交互式签名数据、非交互式签名密钥和内部保存的非交互式证书,得到非交互式签名结果,并发送至主机,返回步骤102。
实施例2
本发明实施例2提供了一种交互式电子签名方法,如图2所示,包括:
步骤201:电子签名载体上电初始化;
本实施例中,电子签名载体与主机连接上电,进行初始化;
步骤202:电子签名载体等待接收主机发送的指令,当接收到指令时,判断指令类型,如果是签名指令,则执行步骤203,如果是其他指令,则执行相应操作,返回相应响应,返回步骤202;
本实施例中,优选的,电子签名载体判断接收到的指令的前两个字节,如果是第一预设值,则为签名指令,其中,优选第一预设值为0x80F0;
步骤203:电子签名载体从签名指令中获取待签名数据和待签名密钥ID;
步骤204:电子签名载体判断待签名数据是否符合预设报文格式,如果是,则执行步骤205,否则执行步骤215;
本实施例中,预先约定,如果待签名数据符合预设报文格式,则待签名数据为交互式签名数据;
优选的,预设报文格式为XML报文格式;
例如,得到的交互式签名数据为:
<?xml version="1.0"encoding="utf-8"?>
<SignData>
<Fields>
<PayerAccountNoName=:“收款账号”:>6221286897001736<PayerAccountNo>
<PayerAccountName name=“收款户名:”>李四<PayerAccountName>
<TrsAmount name=“交易金额:”>100</TrsAmount>
</Fields>
</SignData>
步骤205:电子签名载体判断待签名密钥ID的值,如果为第一预设值,则执行步骤206,如果为第二预设值,则执行步骤216;
本实施例中,预先约定,如果待签名密钥ID的值为第一预设值,则待签名密钥ID为交互式签名密钥ID,如果待签名密钥ID的值为第二预设值,则待签名密钥ID为非交互式签名密钥ID;
优选的,第一预设值为00,第二预设值为01。
步骤206:电子签名载体对待签名数据进行解析,从解析结果中获取交互信息;
例如,从待签名数据中获取到的交互信息为:
收款账号:6221286897001736
收款户名:李四
交易金额:200
步骤207:电子签名载体显示交互信息,并等待用户按键确认;
步骤208:电子签名载体判断在预设时间内是否接收到用户的按键信息,如果是按键确认,则执行步骤211,如果是按键取消,则执行步骤209,如果未接收到按键,则执行步骤210;
优选的,预设时间为10分钟;
步骤209:电子签名载体将待签名数据删除,向主机返回取消签名响应,返回步骤202;
步骤210:电子签名载体将待签名数据删除,向主机返回超时响应,返回步骤202;
步骤211:电子签名载体应用第一预设算法对待签名数据进行预处理,得到交互式预处理结果;
优选的,第一预设算法为SM3算法,除此之外还可以为MD5算法等;
本实施例中,应用预设算法对待签名数据进行预处理,具体为:
步骤211-1:电子签名载体根据预设哈希算法,对待签名数据进行哈希运算,得到哈希结果;
步骤211-2:电子签名载体将预设哈希算法的算法标识与哈希结果进行拼接,得到拼接结果;
步骤211-3:电子签名载体根据预设长度,对拼接结果进行补位,得到交互式预处理结果。
步骤212:电子签名载体根据待签名密钥ID获取对应的交互式签名密钥和交互式证书,从交互式证书中获取交互式证书ID;
优选的,电子签名载体在证书签发时,将交互式证书和交互式签名密钥保存至一号容器中,将非交互式证书和非交互式签名密钥保存至二号容器中;
本实施例中,还可以为:电子签名载体从签名指令中获取容器ID,根据容器ID查找对应的容器,从容器中获取保存的签名密钥和证书;
其中,步骤211和步骤212无先后顺序,可同时执行。
步骤213:电子签名载体应用第一预设签名算法,对交互式证书ID、交互式预处理结果和交互式签名密钥进行签名计算,得到交互式签名结果;
本实施例中,优选的,第一预设签名算法为SM2算法,除此之外,还可以为RSA算法等;
步骤214:电子签名载体根据交互式签名结果生成交互式签名成功响应,并返回给主机,返回步骤202;
步骤215:电子签名载体判断待签名数据的长度是否为预设长度,如果是,则执行步骤217,否则执行步骤216;
本实施例中,如果待签名数据的长度为预设长度,则该待签名数据为经过预处理的数据,否则为未经过预处理的数据,执行步骤216;
优选的,预设长度为32字节;
步骤216:电子签名载体应用第二预设算法对待签名数据进行预处理,得到非交互式待签名数据,执行步骤217;
步骤217:电子签名载体根据待签名密钥ID,获取对应的非交互式密钥和非交互式证书,从非交互式证书中获取非交互式证书ID;
优选的,电子签名载体在证书签发时,将交互式证书和交互式签名密钥保存至一号容器中,将非交互式证书和非交互式签名密钥保存至二号容器中;
本实施例中,还可以为:电子签名载体从签名指令中获取容器ID,根据容器ID查找对应的容器,从容器中获取保存的签名密钥和证书。
步骤218:电子签名载体应用第二预设签名算法,对非交互式证书ID、待签名数据和非交互式签名密钥进行签名计算,得到非交互式签名结果;
本实施例中,优选的,预设签名算法为RSA算法,除此之外,还可以为SM2算法等;
步骤219:电子签名载体根据非交互式签名结果生成非交互式签名成功响应,并返回给主机,返回步骤202。
本实施例中,交互式签名采用的第一预设签名算法与非交互式签名采用的第二预设签名算法可以是同一种算法,也可以是两种不同的算法,具体组合方式如下:
1、非交互式签名方式中第一预设签名算法为第一预设算法(如SM2算法),交互式签名方式中第二预设签名算法也为第一预设算法(如SM2算法);
2、非交互式签名方式中第一预设签名算法为第二预设算法(如RSA算法),交互式签名方式中第二预设签名算法也为第二预设算法(如RSA算法);
3、非交互式签名方式中第一预设签名算法为第二预设算法(如RSA算法),交互式签名方式中第二预设签名算法为第一预设算法(如SM2算法);
4、非交互式签名方式中第一预设签名算法为第一预设算法(如SM2算法),交互式签名方式中第二预设签名算法为第二预设算法(如RSA算法)。
实施例3
本发明实施例3提供了一种交互式电子签名方法,如图3所示,包括:
步骤301:电子签名载体上电初始化;
步骤302:电子签名载体等待接收主机下发的指令;
步骤303:电子签名载体根据接收到的指令,判断指令类型,如果设置安全环境指令,则执行步骤304,如果哈希指令,则执行步骤309,如果是签名指令,则执行步骤310;
优选的,如果指令的前两个字节为0x80A0,则为设置安全环境指令,如果指令的前两个字节为0x80B0,则为哈希指令,如果指令的前两个字节为0x80F0,则为签名指令。
步骤304:电子签名载体从设置安全环境指令中获取待签名密钥ID;
步骤305:电子签名载体判断待签名密钥ID,如果为第一预设值,则执行步骤306,如果是第二预设值,则执行步骤307;
本实施例中,预先约定,如果待签名密钥ID的值为第一预设值,则待签名密钥ID为交互式签名密钥ID,如果待签名密钥ID的值为第二预设值,则待签名密钥ID为非交互式签名密钥ID;
优选的,第一预设值为00,第二预设值为01。
步骤306:电子签名载体根据待签名密钥ID获取对应保存的交互式签名密钥,将其作为已选定的待签名密钥,执行步骤308;
优选的,电子签名载体在证书签发时,将交互式证书和交互式签名密钥保存至一号容器中,将非交互式证书和非交互式签名密钥保存至二号容器中;
本实施例中,还可以为:电子签名载体从设置安全环境指令中获取容器ID,根据容器ID查找对应的容器,从容器中获取保存的签名密钥和证书;
步骤307:电子签名载体根据待签名密钥ID获取对应保存的非交互式签名密钥,将其作为已选定的待签名密钥,执行步骤308;
步骤308:电子签名载体向主机返回设置成功响应,返回步骤302;
步骤309:电子签名载体从哈希指令中获取待签名数据,将待签名数据保存,向主机返回成功响应,返回步骤302;
步骤310:电子签名载体获取保存的待签名数据和已选定的待签名密钥,判断待签名数据和待签名密钥,根据判断结果执行对应的签名操作,得到签名结果,将签名结果返回至主机,返回步骤302;
本实施例中,根据判断结果执行对应的签名操作的具体操作与实施例2中步骤204至步骤219相同,在此不再赘述。
本实施例中,步骤303至步骤310还可以替换为:
步骤303-1:电子签名载体根据接收到的指令,判断指令类型,如果是哈希指令,则执行步骤304-1,如果是签名指令,则执行步骤305-1;
步骤304-1:电子签名载体从哈希指令中获取待签名数据和待签名密钥ID,将待签名数据保存,并根据待签名密钥ID获取对应的签名密钥,将其作为已选定的待签名密钥,向主机返回成功响应,返回步骤302;
步骤305-1:电子签名载体获取保存的待签名数据和已选定的待签名密钥,判断待签名数据和待签名密钥,根据判定结果执行相应的签名操作,得到签名结果,向主机返回签名结果,返回步骤302。
本发明中,电子签名载体签名完成向主机返回签名结果以后,还包括:
步骤c1:主机接收到签名结果时,获取已保存的待签名数据和与待签名密钥对应的签名公钥,将待签名数据、签名结果和签名公钥发送至服务器;
步骤c2:服务器判断待签名数据和签名公钥,如果待签名数据和签名公钥均为交互式,则执行步骤c3,如果待签名数据和签名公钥均为非交互式时,则执行步骤c4,否则报错,结束;
步骤c3:服务器应用第一预设哈希算法对待签名数据进行哈希运算,得到第一结果,并根据第一预设解密算法,应用签名公钥对所述签名结果进行解密,得到第二结果,执行步骤c5;
步骤c4:服务器应用第二预设哈希算法对待签名数据进行哈希运算,得到第三结果,并根据第二预设解密算法,应用签名公钥对所述签名结果进行解密,得到第四结果,执行步骤c6;
步骤c5:服务器判断第一结果与第二结果是否相同,如果是,则执行步骤c7,否则结束;
步骤c6:服务器判断第三结果与第四结果是否相同,如果是,则执行步骤c7,否则结束;
步骤c7:服务器向所述主机返回验证成功响应,结束。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (15)
1.一种交互式电子签名方法,其特征在于,包括:
步骤S1:电子签名载体上电初始化;
步骤S2:所述电子签名载体等待接收主机下发的指令;
步骤S3:当所述电子签名载体接收到签名指令时,获取并判断待签名数据和待签名密钥;
当所述待签名数据为交互式签名数据且所述待签名密钥为交互式签名密钥时,执行步骤S4;
当所述待签名数据为非交互式签名数据且所述待签名密钥为非交互式签名密钥时,执行步骤S6;
步骤S4:所述电子签名载体从所述交互式待签名数据中获取交互信息,显示所述交互信息,并等待用户按键确认,判断在预设时间内是否接收到用户按键确认,如果是,则执行步骤S5,否则报错,返回步骤S2;
步骤S5:所述电子签名载体根据所述交互式签名数据、所述交互式签名密钥和内部保存的交互式证书,得到交互式签名结果,并发送至所述主机,返回步骤S2;
步骤S6:所述电子签名载体根据所述非交互式签名数据、所述非交互式签名密钥和内部保存的非交互式证书,得到非交互式签名结果,并发送至所述主机,返回步骤S2。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3,还包括:当所述待签名数据为交互式签名数据且所述待签名密钥为非交互式签名密钥时,所述电子签名载体对所述交互式签名数据进行预处理,得到非交互式签名数据,执行步骤S6。
3.根据权利要求1所述的方法,其特征在于,所述步骤S3,还包括:当所述待签名数据为交互式签名数据且所述待签名密钥为非交互式签名密钥时,报错,返回步骤S2。
4.根据权利要求1所述的方法,其特征在于,所述步骤S3,还包括:当所述待签名数据为非交互式签名数据且所述待签名密钥为交互式签名密钥时,报错,返回步骤S2。
5.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述电子签名载体获取待签名数据和待签名密钥,具体为:所述电子签名载体从所述签名指令中获取待签名数据和待签名密钥ID,根据所述待签名密钥ID从电子签名载体中获取对应保存的待签名密钥。
6.根据权利要求1所述的方法,其特征在于,
所述步骤S3之前还包括:当所述电子签名载体接收到哈希指令时,从所述哈希指令中获取待签名数据和待签名密钥ID,保存所述待签名数据,并判断所述待签名密钥ID,如果是交互式签名密钥ID,则根据所述待签名密钥ID获取交互式签名密钥,将其作为已选定的待签名密钥,如果是非交互式签名密钥ID,则根据所述待签名密钥ID获取非交互式签名密钥,将其作为已选定的待签名密钥;
所述步骤S3中,所述电子签名载体获取待签名数据和待签名密钥,具体为:所述电子签名载体获取保存的待签名数据和已选定的待签名密钥。
7.根据权利要求1所述的方法,其特征在于,
所述步骤S3之前还包括:
当所述电子签名载体接收到设置安全环境指令,则从所述设置安全环境指令中获取待签名密钥ID,判断所述待签名密钥ID,如果是交互式签名密钥ID,则根据所述待签名密钥ID获取交互式签名密钥,将其作为已选定的待签名密钥,如果是非交互式签名密钥ID,则根据所述待签名密钥ID获取非交互式签名密钥,将其作为已选定的待签名密钥;
当所述电子签名载体接收到哈希指令时,从所述哈希指令中获取待签名数据并保存;
所述步骤S3中,所述电子签名载体获取待签名数据和待签名密钥,具体为:所述电子签名载体获取保存的待签名数据和已选定的待签名密钥。
8.根据权利要求6或7所述的方法,其特征在于,所述判断所述待签名密钥ID,具体为:判断所述待签名密钥ID的值,如果所述待签名密钥ID为第一预设值,则所述待签名密钥为交互式密钥ID,如果所述待签名密钥ID为第二预设值,则所述待签名密钥为非交互式密钥ID。
9.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述电子签名载体判断待签名数据,具体为:判断所述待签名数据是否符合预设报文格式,如果是,则所述待签名数据为交互式签名数据,否则所述待签名数据为非交互式签名数据。
10.根据权利要求9所述的方法,其特征在于,当判定所述待签名数据不符合预设报文格式时,还包括:判断所述待签名数据的长度是否为预设长度,如果是,则所述待签名数据为非交互式签名数据,否则对所述待签名数据进行预处理,将预处理结果作为非交互式签名数据。
11.根据权利要求1所述的方法,其特征在于,所述步骤S5中,所述电子签名载体根据所述交互式签名数据、所述交互式签名密钥和内部保存的交互式证书,得到交互式签名结果,具体包括:
步骤b1:所述电子签名载体对所述交互式签名数据进行预处理,得到交互式预处理结果,并根据所述交互式签名密钥获取对应的交互式证书,从所述交互式证书中获取交互式证书ID;
步骤b2:所述电子签名载体应用第一预设签名算法,对所述交互式证书ID、所述交互式预处理结果和所述交互式签名密钥进行处理,得到交互式签名结果。
12.根据权利要求2、11中任意一项所述的方法,其特征在于,所述电子签名载体对所述交互式签名数据进行预处理,具体为:
步骤a1:所述电子签名载体根据预设哈希算法,对所述交互式签名数据进行哈希运算,得到哈希结果;
步骤a2:所述电子签名载体将所述预设哈希算法的算法标识与所述哈希结果进行拼接,得到拼接结果;
步骤a3:所述电子签名载体根据预设长度,对所述拼接结果进行补位。
13.根据权利要求1所述的方法,其特征在于,所述步骤S6中,所述电子签名载体根据所述非交互式签名数据、所述非交互式签名密钥和内部保存的非交互式证书,得到非交互式签名结果,具体包括:所述电子签名载体根据所述非交互式签名密钥获取对应的非交互式证书,从所述非交互式证书中获取非交互式证书ID,应用第二预设签名算法,对所述非交互式签名数据、所述非交互式证书ID和所述非交互式签名密钥进行处理,得到非交互式签名结果。
14.根据权利要求1所述的方法,其特征在于,所述步骤S4具体包括:所述电子签名载体从所述交互式待签名数据中获取交互信息,显示所述交互信息,并等待用户按键确认,判断在预设时间内是否接收到用户按键确认,如果是接收到按键确认,则执行步骤S5;如果接收到按键取消,则将所述交互式待签名数据删除,并向所述主机返回签名失败响应,返回步骤S2;如果未接收到按键,则将所述交互式待签名数据删除,并向所述主机返回超时响应,返回步骤S2。
15.根据权利要求1所述的方法,其特征在于,还包括:
步骤c1:所述主机接收到签名结果时,获取已保存的所述待签名数据和与所述待签名密钥对应的签名公钥,将所述待签名数据、所述签名结果和所述签名公钥发送至服务器;
步骤c2:所述服务器判断所述待签名数据和所述签名公钥,如果所述待签名数据和所述签名公钥均为交互式,则执行步骤c3,如果所述待签名数据和所述签名公钥均为非交互式时,则执行步骤c4,否则报错,结束;
步骤c3:所述服务器应用第一预设哈希算法对所述待签名数据进行哈希运算,得到第一结果,并根据第一预设解密算法,应用所述签名公钥对所述签名结果进行解密,得到第二结果,执行步骤c5;
步骤c4:所述服务器应用第二预设哈希算法对所述待签名数据进行哈希运算,得到第三结果,并根据第二预设解密算法,应用所述签名公钥对所述签名结果进行解密,得到第四结果,执行步骤c6;
步骤c5:所述服务器判断所述第一结果与所述第二结果是否相同,如果是,则执行步骤c7,否则结束;
步骤c6:所述服务器判断所述第三结果与所述第四结果是否相同,如果是,则执行步骤c7,否则结束;
步骤c7:所述服务器向所述主机返回验证成功响应,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510208447.2A CN106161033B (zh) | 2015-04-28 | 2015-04-28 | 一种交互式电子签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510208447.2A CN106161033B (zh) | 2015-04-28 | 2015-04-28 | 一种交互式电子签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106161033A CN106161033A (zh) | 2016-11-23 |
CN106161033B true CN106161033B (zh) | 2019-03-05 |
Family
ID=57347885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510208447.2A Active CN106161033B (zh) | 2015-04-28 | 2015-04-28 | 一种交互式电子签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106161033B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1411201A (zh) * | 2001-09-28 | 2003-04-16 | 中国科学院研究生院 | 一种安全的数字签名***与方法 |
CN1444165A (zh) * | 2003-04-23 | 2003-09-24 | 浙江大学 | 一种基于公钥证书的数字签名方法 |
CN101409622A (zh) * | 2008-11-26 | 2009-04-15 | 北京飞天诚信科技有限公司 | 一种数字签名***及方法 |
CN102377758A (zh) * | 2010-08-24 | 2012-03-14 | 中兴通讯股份有限公司 | 一种对个人网设备进行认证的认证方法及*** |
CN103117855A (zh) * | 2012-12-19 | 2013-05-22 | 福建联迪商用设备有限公司 | 一种生成和备份数字证书及私钥的方法 |
CN203014832U (zh) * | 2012-12-14 | 2013-06-19 | 北京旋极信息技术股份有限公司 | 电子签名设备 |
CN103780618A (zh) * | 2014-01-22 | 2014-05-07 | 西南交通大学 | 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183246A1 (en) * | 2008-01-15 | 2009-07-16 | Authlogic Inc. | Universal multi-factor authentication |
-
2015
- 2015-04-28 CN CN201510208447.2A patent/CN106161033B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1411201A (zh) * | 2001-09-28 | 2003-04-16 | 中国科学院研究生院 | 一种安全的数字签名***与方法 |
CN1444165A (zh) * | 2003-04-23 | 2003-09-24 | 浙江大学 | 一种基于公钥证书的数字签名方法 |
CN101409622A (zh) * | 2008-11-26 | 2009-04-15 | 北京飞天诚信科技有限公司 | 一种数字签名***及方法 |
CN102377758A (zh) * | 2010-08-24 | 2012-03-14 | 中兴通讯股份有限公司 | 一种对个人网设备进行认证的认证方法及*** |
CN203014832U (zh) * | 2012-12-14 | 2013-06-19 | 北京旋极信息技术股份有限公司 | 电子签名设备 |
CN103117855A (zh) * | 2012-12-19 | 2013-05-22 | 福建联迪商用设备有限公司 | 一种生成和备份数字证书及私钥的方法 |
CN103780618A (zh) * | 2014-01-22 | 2014-05-07 | 西南交通大学 | 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106161033A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104767613B (zh) | 签名验证方法、装置及*** | |
CN104199654B (zh) | 开放平台的调用方法及装置 | |
CN106899570A (zh) | 二维码的处理方法、装置及*** | |
CN101355557B (zh) | 在mpls/vpn网络中实现网络接入控制的方法及*** | |
CN105553674B (zh) | 一种交互***、智能密钥设备、服务器及工作方法 | |
SI23114A (sl) | Postopek za preverjanje pristnosti RFID nalepke | |
CN106227572A (zh) | 一种变频器控制***程序升级方法 | |
CN107851143A (zh) | 用于在设备上使用客户设备证书的装置和方法 | |
CN104410641B (zh) | 一种pos终端安全受控的联网激活方法及装置 | |
WO2015109949A1 (zh) | 一种网络安全方法和网络安全*** | |
CN103338110B (zh) | 基于动态id带搜索密钥的rfid安全认证方法 | |
CN109787769A (zh) | 物联网设备的离线认证方法、用户终端及设备终端 | |
CN109005032A (zh) | 一种路由方法和装置 | |
CN109995843A (zh) | 一种基于窄带物联网的终端验证方法及装置 | |
CN104104507B (zh) | 一种登录用户服务网的方法及*** | |
CN108334927A (zh) | 一种nfc收单标签及其支付方法 | |
CN107506207A (zh) | 一种pos机的安全验证方法及终端 | |
CN108494565A (zh) | 数字签名***及方法 | |
CN106161033B (zh) | 一种交互式电子签名方法 | |
CN105871557B (zh) | 电子邮件签名方法、装置及*** | |
US10594494B2 (en) | Multiple authorization modules for secure production and verification | |
CN106656504B (zh) | 一种签名设备、***及其工作方法 | |
CN106130732A (zh) | 一种用户签到的方法和装置 | |
CN105095694B (zh) | 网页调用插件的方法和*** | |
CN104639628B (zh) | 赋码终端*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |