System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及交易安全,具体而言,涉及一种基于椭圆曲线密码算法的交易认证方法及装置。
技术介绍
1、随着网上银行的发展,其核心问题交易的安全性问题凸现出来,因此如何构筑安全的交易模式也是各方最担心的问题,解决这一问题的关键是使用安全的电子支付模式。
2、目前,安全电子交易协议set是目前最常用的模式之一,安全电子交易协议set使用了公钥加密算法rsa对通信双方进行认证,利用对称加密方法进行信息的加密传输,并利用hash算法鉴别消息的真伪。但目前set协议有一个很大的缺点:由于rsa算法计算耗时太长导致处理速度慢。一个典型的set交易过程需要验证电子证书9次、验证数字签名6次、传递证书7次,进行5次签名、4次对称加密和4次非对称加密,整个交易过程可能耗费1.5~2分钟。如何提高交易认证的效率是现有技术急需解决的技术问题。
技术实现思路
1、本专利技术为了解决上述
技术介绍
中的至少一个技术问题,提出了一种基于椭圆曲线密码算法的交易认证方法及装置。
2、为了实现上述目的,根据本专利技术的一个方面,提供了一种基于椭圆曲线密码算法的交易认证方法,该方法包括:
3、获取第一用户发送的数字证书验证请求,其中,所述数字证书验证请求中包含第二用户的数字证书,当所述第二用户与所述第一用户进行交易时,所述第二用户将自己的数字证书发送给所述第一用户,所述数字证书为认证中心根据椭圆曲线密码算法生成的,所述数字证书中包含所述认证中心的签名;
4、通过验证所述数字证
5、可选的,所述基于椭圆曲线密码算法的交易认证方法,还包括:
6、接收所述第二用户的数字证书申请,其中,所述数字证书申请中包含:所述第二用户的个人身份信息以及所述第二用户的公钥;
7、根据所述数字证书申请、预设的椭圆曲线加密的参数组t以及哈希函数h生成签名,其中,所述参数组t=(p,a,b,g,n,h),p为域的阶,a和b为椭圆曲线的系数,g为基点,n为基点g的阶,h为余数因子;
8、根据所述签名、所述个人身份信息以及所述公钥生成所述第二用户对应的数字证书。
9、可选的,所述根据所述数字证书申请、预设的椭圆曲线加密的参数组t以及哈希函数h生成签名,具体包括:
10、选取随机数k,其中,1<k<n;
11、计算kg=(x,y),然后计算r=x mod n,如果计算出的r=0则重新计算r;
12、计算信息摘要e=h(id+ksp),然后计算s=k-1(e+rk)(mod n),如果计算出的s=0则重新计算信息摘要e,其中,id为所述个人身份信息,ksp为所述公钥;
13、生成签名(r,s)。
14、可选的,所述通过验证所述数字证书中的签名的有效性来对所述数字证书进行验证,具体包括:
15、验证签名中的r和s是否均为[1,n-1]间的整数;
16、若否,则确认签名无效;
17、若是,则计算信息摘要e=h(id+ksp),计算w=s-1(mod n),计算u1=ew(mod n),计算u2=rw(mod n),计算x=u1g+u2q=(x1,y1),以及计算v=x1 mod n,其中,q=p ksp;
18、若v=r,则确认签名有效,若v≠r,则确认签名无效。
19、可选的,所述基于椭圆曲线密码算法的交易认证方法,还包括:
20、当所述第二用户与所述第一用户进行交易时,所述第二用户根据交易信息生成数字签名,根据所述数字签名以及生成的随机的对称密钥k1生成加密信息,根据所述第一用户的签名公钥以及对称密钥k1生成数字信封,将所述加密信息和所述数字信封发送给所述第一用户;
21、所述第一用户根据所述数字信封以及自己的签名私钥计算出对称密钥k1,使用对称密钥k1对所述加密信息进行解密,得到所述数字签名,进而验证所述数字签名的有效性。
22、可选的,所述第二用户根据交易信息生成数字签名,根据所述数字签名以及生成的随机的对称密钥k1生成加密信息,根据所述第一用户的签名公钥以及对称密钥k1生成数字信封,具体包括:
23、所述第二用户根据交易订单信息oi和交易账户信息pi生成双摘要e1=h(h(oi)+h(pi)),h为哈希函数;
24、所述第二用户生成随机密钥对(k1,x1),其中x1=(x1,y1),然后计算r1=x1e1(modn),s1=k1-1(e1+r1sspv)(mod n),生成数字签名s=(r1,s1),其中,n为椭圆曲线加密的基点g的阶,sspv为所述第二用户的签名私钥;
25、所述第二用户根据对称密钥k1对交易订单信息oi、h(pi)、数字签名s和所述第二用户的数字证书进行加密,得到加密信息d;
26、所述第二用户生成随机密钥对(k’,y’),计算i=k’aepu,x’=(x’,y’)=k’g,j=x’k1,生成数字信封e=(i,j),aepu为所述第一用户的签名公钥,g为椭圆曲线加密的基点。
27、可选的,所述第一用户根据所述数字信封以及自己的签名私钥计算出对称密钥k1,使用对称密钥k1对所述加密信息进行解密,得到所述数字签名,进而验证所述数字签名的有效性,具体包括:
28、所述第一用户使用自己的签名私钥aepv对所述数字信封e进行解密,求出对称密钥k’,然后根据对称密钥k’求出(x’,y’),进而计算出对称密钥k1=j/x’;
29、所述第一用户用对称密钥k1解密所述加密信息d,得到所述交易订单信息oi、h(pi)、数字签名s和所述第二用户的数字证书;
30、所述第一用户通过认证中心对所述第二用户的数字证书进行验证;
31、所述第一用户验证数字签名s中的r1和s1是否均为[1,n-1]间的整数;
32、若否,则确认数字签名s无效;
33、若是,则计算双摘要e1=h(h(oi)+h(pi)),计算w1=s1-1(mod n),计算u3=e1w1(modn),计算u4=r1w1(mod n),计算x=u3g+u4q=(x2,y2),以及计算v1=x2 mod n,其中,q=pksp,p为域的阶,ksp为所述第二用户的公钥;
34、若v1=r1,则确认数字签名s有效,若v1≠r1,则确认数字签名s无效。
35、为了实现上述目的,根据本专利技术的另一方面,提供了一种基于椭圆曲线密码算法的交易认证装置,该装置包括:
36、数字证书验证请求接收单元,用于获取第一用户发送的数字证书验证请求,其中,所述数字证书验证请求中包含第二用户的数字证书,当所述第二用户与所述第一用户进行交易时,所述第二用户将自己的数字证书发送给所述第一用户,所述数字证书为认证中心根据椭圆曲线密码算法生成的,所述数字证书中包含所述认证中心的签本文档来自技高网...
【技术保护点】
1.一种基于椭圆曲线密码算法的交易认证方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,还包括:
3.根据权利要求2所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,所述根据所述数字证书申请、预设的椭圆曲线加密的参数组T以及哈希函数H生成签名,具体包括:
4.根据权利要求3所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,所述通过验证所述数字证书中的签名的有效性来对所述数字证书进行验证,具体包括:
5.根据权利要求1所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,还包括:
6.根据权利要求1所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,所述第二用户根据交易信息生成数字签名,根据所述数字签名以及生成的随机的对称密钥K1生成加密信息,根据所述第一用户的签名公钥以及对称密钥K1生成数字信封,具体包括:
7.根据权利要求6所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,所述第一用户根据所述数字信封以及自己的签名私钥计算出对称密钥K1,
8.一种基于椭圆曲线密码算法的交易认证装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任意一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任意一项所述方法的步骤。
...【技术特征摘要】
1.一种基于椭圆曲线密码算法的交易认证方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,还包括:
3.根据权利要求2所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,所述根据所述数字证书申请、预设的椭圆曲线加密的参数组t以及哈希函数h生成签名,具体包括:
4.根据权利要求3所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,所述通过验证所述数字证书中的签名的有效性来对所述数字证书进行验证,具体包括:
5.根据权利要求1所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,还包括:
6.根据权利要求1所述的基于椭圆曲线密码算法的交易认证方法,其特征在于,所述第二用户根据交易信息生成数字签名,根据所述数字签名以及生成的随机的对称密钥k1生成加密信息,根据所述第一用户的签名公钥以及对称密钥k1生成数字信封...
【专利技术属性】
技术研发人员:王佳音,蒋晓晶,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。