签名方法、验证签名的方法及移动终端、服务器技术

技术编号:34368421 阅读:56 留言:0更新日期:2022-07-31 09:56
本发明专利技术提供一种签名方法、验证签名的方法及移动终端、服务器,应用于签名方的签名方法包括:获取针对签名方的Z算法实例,结合预设实时参数,利用预设参数算法,生成会话密钥;根据待签名数据和指定杂凑值,利用第一预设算法,生成第一签名参数,并将所述第一签名参数发送给验签方,以使验签方基于所述第一签名参数结合预设非对称密钥算法生成第二签名参数和第一签名因子;基于所述会话密钥以及验签方发来的第二签名参数和第一签名因子,利用第二预设算法,生成第二签名因子,将所述第一签名因子和所述第二签名因子作为对待签名数据的签名结果,并将所述签名结果发送给验签方,以使验签方对所述签名结果进行验证。有利于提高私钥的安全性。的安全性。的安全性。

Signature method, signature verification method, mobile terminal and server

【技术实现步骤摘要】
签名方法、验证签名的方法及移动终端、服务器


[0001]本专利技术涉及通信
,尤其涉及一种签名方法和、验证签名的方法及移动终端、服务器。

技术介绍

[0002]基于公钥基础PKI(Public Key Infrastructure,公钥基础设施)的数字签名技术在金融、电子商务中有着广泛的应用。传统的签名流程是通常由可信介质保障下的签名方生成公私钥对,并使用私钥对消息进行签名,将消息、公钥和签名结果发给验签方,验签方使用公钥进行验签。传统的应用场景下通常是由服务器作签名方,而客户端作验签方,假设服务端是相对安全的,私钥不会泄露,只需要对公钥进行保护(防止被替换)即可。例如采用数字证书来保证公钥没有被替换。
[0003]然而,应用于传统应用的场景方案已不能满足所有的需求,在面向移动互联和万物互联的新场景下需要客户端生成签名,而服务端进行验签,在此场景下客户端使用私钥进行签名,服务器使用公钥验签。而客户端作为弱端(比如智能手机),其保护私钥的能力是有限的,一旦私钥泄露,攻击者就可伪造签名,使整个签名系统存在风险。
[0004]因此,需要一种新的签名方法来提高私钥的安全性。

技术实现思路

[0005]本专利技术的主要目的是提供一种签名方法、验证签名的方法及移动终端、服务器,以提高私钥的安全性。
[0006]第一方面,本专利技术提供一种签名方法,应用于签名方,包括:获取针对签名方的Z算法实例,结合预设实时参数,利用预设参数算法,生成会话密钥;根据待签名数据和指定杂凑值,利用第一预设算法,生成第一签名参数,并将第一签名参数发送给验签方,以使验签方基于第一签名参数结合预设非对称密钥算法生成第二签名参数和第一签名因子;基于会话密钥以及验签方发来的第二签名参数和第一签名因子,利用第二预设算法,生成第二签名因子,将第一签名因子和第二签名因子作为对待签名数据的签名结果,并将签名结果发送给验签方,以使验签方对签名结果进行验证。
[0007]在一个实施例中,根据签名方身份信息和预设非对称密钥算法的参数信息,利用第三预设算法,生成指定杂凑值,其中,预设非对称密钥算法包括椭圆曲线算法。
[0008]在一个实施例中,第一预设算法和第三预设算法分别包括SM3算法。
[0009]在一个实施例中,第二签名参数的数量为至少两个。
[0010]在一个实施例中,当第二签名参数的数量为两个时;基于会话密钥以及验签方发来的第二签名参数和第一签名因子,利用第二预设算法,生成第二签名因子,包括:基于会话密钥以及验签方发来的两个第二签名参数和第一签名因子,利用下式生成第二签名因子:其中,其中,s表示第二签名因子,d1表示签名方生成的第一随机数,k1表示会话密钥,s1和s2均表示第二签名参数,r表示第一签名因子,|
mod|表示模运算,n表示预设非对称密钥算法中的基点的阶。
[0011]在一个实施例中,该方法还包括:根据签名方生成的第一随机数,利用预设非对称密钥算法,生成第一预备公钥,并将第一预备公钥发送给验签方,以使验签方利用第四预设算法通过将第一预备公钥与验签方生成的第二随机数进行结合来生成目标公钥。
[0012]在一个实施例中,获取针对签名方的Z算法实例,包括:从签名方所属终端获取针对签名方的Z算法实例;或向验签方所属终端请求针对签名方的Z算法实例。
[0013]第二方面,本专利技术提供一种验证签名的方法,应用于验签方,包括:接收签名方发来的利用如上文所述的签名方法生成的第一预备公钥和签名结果;根据验签方生成的第二随机数和第一预备公钥,利用第四预设算法,生成目标公钥,以利用目标公钥按照预设非对称密钥算法的验证方法来对签名结果进行验证。
[0014]在一个实施例中,还包括:获取针对签名方的Z算法实例,结合预设实时参数,利用预设参数算法,生成会话密钥;基于预设非对称密钥算法,根据会话密钥和第三随机数生成倍点坐标,继而根据倍点坐标和签名方发来的第一签名参数生成第一签名因子,其中,第一签名参数由签名方根据待签名数据和指定杂凑值,利用第一预设算法生成;根据第二随机数和会话密钥,生成第二签名参数;将第二签名参数和第一签名因子发送给签名方。
[0015]第三方面,本专利技术提供一种签名方法,应用于不同于签名方和验签方的第三方,包括:获取针对签名方的Z算法实例,结合预设实时参数,利用预设参数算法,生成会话密钥;基于预设非对称密钥算法,根据会话密钥和第三随机数生成倍点坐标,继而根据倍点坐标和签名方发来的第一签名参数生成第一签名因子,其中,第一签名参数由签名方根据待签名数据和指定杂凑值,利用第一预设算法生成;根据第二随机数和会话密钥,生成第二签名参数;将第二签名参数和第一签名因子发送给签名方。
[0016]第四方面,本专利技术提供一种移动终端,包括:存储器和处理器,存储器中存储有计算机程序,当计算机程序被处理器执行时,执行如上文所述的签名方法的步骤。
[0017]第五方面,本专利技术提供一种服务器,包括:存储器和处理器,存储器中存储有计算机程序,当计算机程序被处理器执行时,执行如上文所述的验证签名的方法的步骤或如上文所述的签名方法的步骤。
[0018]第六方面,本专利技术提供一种签名验证系统,包括如上文所述的移动终端和至少一个如上文所述的服务器。
[0019]第七方面,本专利技术提供一种存储介质,存储有计算机程序,计算机程序被处理器执行时,执行如上文所述的签名方法的步骤或如上文所述的验证签名的方法的步骤。
[0020]本专利技术的技术方案可以但不限于加强对基于“移动终端签名

服务器验签”这一场景的整个签名系统的安全性保护。即使交互中所传递的所有数据均被窃听,攻击者依然无法伪造签名,且单独的劫持签名方或验签方也无法伪造签名。同时,签名方通过与Z密码算法相结合,一方面Z密码算法提供随机数的派生机制,另一方面通过基于Z密码算法的双向认证和会话密钥协商机制,来提供身份密钥安全(算法与密钥融合),提供了一次一密、多因素认证、双向认证等增强机制。
附图说明
[0021]构成本申请的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示
意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定,在附图中:
[0022]图1为根据本申请一示例性实施方式的签名验证流程的时序图;
[0023]图2为根据本申请一示例性实施方式的获取Z算法实例的时序图。
具体实施方式
[0024]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。
[0025]实施例一
[0026]本实施例提供一种签名验证方法的交互过程的具体实施例。如图1所示,以移动终端作为签名方,以服务器作为验签方为例进行说明,当然,本实施例的方案同样适用于以服务器为签名方、以移动终端为验签方的场景以及更多的场景。
[0027]在初始化阶段,签名方产生第一随机数d1,并利用非对称加密算法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种签名方法,其特征在于,应用于签名方,包括:获取针对签名方的Z算法实例,结合预设实时参数,利用预设参数算法,生成会话密钥;根据待签名数据和指定杂凑值,利用第一预设算法,生成第一签名参数,并将所述第一签名参数发送给验签方,以使验签方基于所述第一签名参数结合预设非对称密钥算法生成第二签名参数和第一签名因子;基于所述会话密钥以及验签方发来的第二签名参数和第一签名因子,利用第二预设算法,生成第二签名因子,将所述第一签名因子和所述第二签名因子作为对待签名数据的签名结果,并将所述签名结果发送给验签方,以使验签方对所述签名结果进行验证。2.根据权利要求1所述的签名方法,其特征在于,根据签名方身份信息和预设非对称密钥算法的参数信息,利用第三预设算法,生成指定杂凑值,其中,所述预设非对称密钥算法包括椭圆曲线算法。3.根据权利要求2所述的签名方法,其特征在于,所述第一预设算法和第三预设算法分别包括SM3算法。4.根据权利要求1所述的签名方法,其特征在于,所述第二签名参数的数量为至少两个。5.根据权利要求1或4所述的签名方法,其特征在于,当所述第二签名参数的数量为两个时;基于所述会话密钥以及验签方发来的第二签名参数和第一签名因子,利用第二预设算法,生成第二签名因子,包括:基于所述会话密钥以及验签方发来的两个第二签名参数和第一签名因子,利用下式生成第二签名因子:其中,s表示第二签名因子,d1表示签名方生成的第一随机数,k1表示会话密钥,s1和s2均表示第二签名参数,r表示第一签名因子,|mod|表示模运算,n表示预设非对称密钥算法中的基点的阶。6.根据权利要求1所述的签名方法,其特征在于,所述方法还包括:根据签名方生成的第一随机数,利用预设非对称密钥算法,生成第一预备公钥,并将所述第一预备公钥发送给验签方,以使所述验签方利用第四预设算法通过将所述第一预备公钥与验签方生成的第二随机数进行结合来生成目标公钥。7.根据权利要求1所述的签名方法,其特征在于,获取针对签名方的Z算法实例,包括:从签名方所属终端获取针对签名方的Z算法实例;或向验签方所属终端请求针对签名方的Z算法实例。8.一种验证签名的方法,其特征在于,应用于验签方,包括:接收签名方发来...

【专利技术属性】
技术研发人员:杨德光马翔
申请(专利权)人:海量安全技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1