The invention discloses a signature method, a device and a system for data. Among them, the method includes: acquiring the data to be signed; to determine whether to sign the data meets the preset conditions; if the signature data meets the preset conditions, it is determined to be the signature data for authentication data, and sign the authentication data, get the first signature to be signed; if the data does not meet the preset conditions are to determine the signature data for the transaction message, and sign the transaction message, get second signature result. The invention solves the technical problem that the data is signed by the elliptic curve algorithm in the prior art and can not judge whether the data is the authentication data or the transaction message data.
【技术实现步骤摘要】
数据的签名方法、装置及系统
本专利技术涉及信息安全领域,具体而言,涉及一种数据的签名方法、装置及系统。
技术介绍
网上银行系统中所使用的显示型USBKey,主要完成两种签名操作,一种是在SSL(安全套接层协议,SecuritySocketLayer的简写)双向认证时,利用私钥对认证服务器发过来的认证数据进行签名;另外一种是在转账交易时,对交易报文进行签名,为了到达所见即所签的目的,在使用显示型USBKey进行转账交易时,交易报文一般采用XML(可扩展标记语言,ExtensibleMarkupLanguage的简写)的格式,如下所示,USBKey在处理这些交易报文时,一方面将转入账号、转账金额等关键交易信息显示在显示屏上,供用户确认;另一方面,对交易报文的所有数据进行HASH(哈希)运算,当用户按下USBKey的确认按键时,利用私钥对交易报文的HASH结果进行签名,交易报文和签名结果一并发到银行服务器中,银行服务器验证无误后再进行实际的转账。为了防止黑客利用SSL签名伪造交易签名,USBKey需提供一种区分这两种签名的机制,在RSA体系中,业内的通常做法是:对于SSL签名,中间件利用SHA1算法(安全哈希算法,SecureHashAlgorithm的简写)对待签明文进行HASH运算,HASH结果发送给USBKey进行签名,对于交易签名,USBKey内部利用SHA256算法对交易报文进行HASH运算,再对HASH结果进行签名。在SM2(椭圆曲线算法)体系中,与签名配套使用的HASH算法只有SM3(密码杂凑算法),无法采用RSA体系中通过不同的HASH算法区分S ...
【技术保护点】
一种数据的签名方法,其特征在于,包括:获取待签名的数据;判断所述待签名的数据是否满足预设条件;如果所述待签名的数据满足所述预设条件,则确定所述待签名的数据为认证数据,并对所述认证数据进行签名,得到第一签名结果;如果所述待签名的数据不满足所述预设条件,则确定所述待签名的数据为交易报文,并对所述交易报文进行签名,得到第二签名结果。
【技术特征摘要】
1.一种数据的签名方法,其特征在于,包括:获取待签名的数据;判断所述待签名的数据是否满足预设条件;如果所述待签名的数据满足所述预设条件,则确定所述待签名的数据为认证数据,并对所述认证数据进行签名,得到第一签名结果;如果所述待签名的数据不满足所述预设条件,则确定所述待签名的数据为交易报文,并对所述交易报文进行签名,得到第二签名结果。2.根据权利要求1所述的方法,其特征在于,判断所述待签名的数据是否满足预设条件包括:判断所述待签名的数据是否包含所述交易报文的报文头;如果所述待签名的数据不包含所述交易报文的报文头,则确定所述待签名的数据满足所述预设条件;如果所述待签名的数据包含所述交易报文的报文头,则确定所述待签名的数据不满足所述预设条件。3.根据权利要求2所述的方法,其特征在于,判断所述待签名的数据是否包含所述交易报文的报文头包括:获取所述待签名的数据中从第一个字符开始的预设个数的字符;判断所述预设个数的字符与所述交易报文的报文头是否相同;如果所述预设个数的字符与所述交易报文的报文头相同,则确定所述待签名的数据包含所述交易报文的报文头;如果所述预设个数的字符与所述交易报文的报文头不同,则确定所述待签名的数据不包含所述交易报文的报文头。4.根据权利要求1所述的方法,其特征在于,对所述认证数据进行签名,得到第一签名结果包括:基于密码杂凑算法,计算所述认证数据的哈希值,得到第一哈希值;基于椭圆曲线算法,对所述第一哈希值进行签名,得到所述第一签名结果。5.根据权利要求1所述的方法,其特征在于,对所述交易报文进行签名,得到第二签名结果包括:显示所述交易报文中的关键交易信息;在接收到确认信息之后,基于密码杂凑算法,计算所述交易报文的哈希值,得到第二哈希值,其中,所述确认信息用于表征所述关键交易信息正确;基于椭圆曲线算法,对所述第二哈希值进行签名,得到所述第二签名结果。6.根据权利要求1至5中任意一项所述的方法,其特征在于,获取待签名的数据包括:接收中间件发送的所述待签名的数据。7.根据权利要求6所述的方法,其特征在于,在对所述认证数据进行签名,得到第一签名结果,或对所述交易报文进行签名,得到第二签名结果之后,所述方法还包括:将所述第一签名结果或所述第二签名结果返回至所述中间件。8.一种数据的签名装置,其特征在于,包括:获取单元,用于获取待签名的数据;第一判断单元,用于判断所述待签名的数据是否满足预设条件;第一签名单元,用于如果所述待签名的数据满足所述预设条件,则确定所述待签名的数据为认证数据,并对所述认证数据进行签名,得到第一签名结果;第二签名单元,用于如果所述待签名的数据不满足所...
【专利技术属性】
技术研发人员:胡伯良,管延军,蒋红宇,
申请(专利权)人:北京海泰方圆科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。