公开/公告号CN106789033A
专利类型发明专利
公开/公告日2017-05-31
原文格式PDF
申请/专利权人 江苏慧世联网络科技有限公司;
申请/专利号CN201710030523.4
申请日2017-01-17
分类号H04L9/08(20060101);H04L9/30(20060101);H04L29/06(20060101);
代理机构北京思创大成知识产权代理有限公司;
代理人王尧
地址 210049 江苏省南京市紫东路2号紫东国际创意园B5栋A座2楼
入库时间 2023-06-19 02:19:08
法律状态公告日
法律状态信息
法律状态
2020-06-19
授权
授权
2017-06-23
实质审查的生效 IPC(主分类):H04L9/08 申请日:20170117
实质审查的生效
2017-05-31
公开
公开
技术领域
本发明涉及合同签约领域,尤其是一种基于无证书签密的电子合同签署方法。
背景技术
随着电子商务的不断发展,商务过程中使用电子合同的交易模式越来越多,但通常所使用的电子合同签署技术都是基于公钥密码学(public key cryptography,简称PKC)的CA数字证书模式。在公钥密码系统中,每一种用户拥有一对相匹配的公钥和私钥,其中的公钥对外公开,私钥由用户自己安全保管;为了保证用户公钥的真实性和有效性,传统的解决方法是使用公钥基础设施PKI(public key infrastructure),PKI的核心组成部分是证书中心CA(certificate authority),CA负责为用户签发公钥证书(public keycertificate),用以保证系统中用户公钥的真实性和有效性。证书中通常包含用户的身份信息、公钥和其他必要的信息等,CA维护着一种动态变化的证书库(或叫证书目录),公钥证书较好地解决了公钥的真实性和有效性问题,使得PKI能够为网络用户提供较好的安全服务。但由于数字证书的颁发依赖于可信CA中心,公钥证书库的管理和维护需要巨大的计算、通信和存储代价,而且用户申领证书的流程非常复杂,导致使用的便捷性和适用领域存在很多限制。
无证书公钥密码系统(certificateless public key cryptography)可以有效解决PKI中的证书管理问题和基于身份的系统中的私钥托管(key escrow)问题。与基于PKI的传统公钥密码系统相比,无证书的公钥密码系统和基于身份的系统均不需要公钥证书。与基于身份的系统相比,无证书密码系统消除了基于 身份的系统中的私钥托管问题。因此,无证书公钥密码系统不仅很好地结合了上述两种密码系统的优点,而且从一定程度上克服了它们的缺点,是一种性能优良、便于应用的公钥密码系统。
本发明则正是基于无证书密码系统的原理而提出的电子合同签署方案。
发明内容
本发明的目的是针对上述问题,提出一种基于无证书签密的电子合同签署方法。
本发明的技术方案是:
一种基于无证书签密的电子合同签署方法,它采用签约平台和密钥管理系统,该方法包括以下步骤:
S1、秘钥管理系统初始化的步骤:
S1-1、根据需要的安全等级为秘钥管理系统中心机构输入一种安全参数k,k为自然数,采用双线性群产生算法生成素数阶p的双线性群,即 G(k) →(e,p,G,Gτ),其中:e:G×G→Gτ,表示将群G中任意两个元素映射到群Gτ中的一种元素;
S1-2、秘钥管理系统中心机构选择四个抗碰撞的哈希函数:H1,H2,H3,H4;
S1-3、获取公共参数:params={e,p,G,Gτ,P,pk,H1,H2,H3,H4},其中:P为群G的生成元;Zp为有限域,主密钥s∈Zp,pk=sP;
S2、用户注册的步骤:
S2-1、用户i向签约平台提交身份信息IDi,i表示用户编号;
S2-2、签约平台记录用户的身份信息IDi,并存入数据库;同时,签约平台为对应的用户i生成一次性的随机字符串stri,stri∈{0,1}k,并且将stri显示在页面上;签约平台提示用户i下载签约工具的客户端软件App;
S2-3、用户i下载并运行App,该App提取用户i的设备识别码Xi和输入>i,并且将(stri,Xi)发送给签约平台;
S2-4、签约平台比对随机串stri,查询用户i注册的身份信息IDi,并将身份信息IDi与设备识别码Xi建立关联,签约平台将用户i的身份信息IDi发送给秘钥管理系统;
S2-5、秘钥管理系统计算用户i的私钥一
S2-6、用户i的APP生成用户i的私钥二
S2-7、用户i的APP存储私钥ski和公钥pki,并且将公钥pki发送给签约平台,其中,
S2-8、签约平台将用户i的身份信息IDi与公钥pki建立关联,并将公钥pki写入数据库;
S3、用户发起签约的步骤:
S3-1、Alice使用身份信息IDA登录APP(Alice为用户中的任一个),在APP中输入Bob(Bob为用户中的任一个)身份信息IDB中的任一项或多项,确认将与Bob签约;APP将Alice输入的Bob的身份信息提交至签约平台;
S3-2、签约平台通过比对数据库查询获得Bob的公钥pkB,并且发送至Alice的APP;
S3-3、Alice将拟签署的合同文本M导入到APP中,Alice确认合同文本后在APP上进行签名(这里的签名触发APP运行函数,该函数的输入的是合同文本、接受者身份和私钥,输出的是密文参数一),APP计算下述密文参数一T、W、D、V、Y、Y′,
T=tAP,tA∈Zp;
选取部分密文参数一CT=(T、V),Alice的APP将CT、IDB发送给签约平台,Alice签约完成;
S3-4、签约平台根据系统记录,向Bob发出签约通知,前述签约通知包括部分密文参数一CT以及Alice的公钥pkA;
S4、用户接受签约的步骤:
S4-1、Bob接收签约通知,登录APP,从签约平台下载部分密文参数一CT=(T、V);
S4-2、Bob的APP采用下述公式计算合同参数一
S4-3、Bob将步骤S4-2获取的合同文本
T′=tBP,tB∈Zp;
选取部分密文参数二CT′=(T′、V′),Bob的APP将CT′、IDA发送给签约平台,Bob签约完成;
S4-4、签约平台记录前述密文参数,并且向Alice发出签约完成的通知。
本发明的秘钥管理系统中心机构选择四个抗碰撞的哈希函数:H1,H2,H3,H4,其中,H2与H1,H3,H4选择不同的哈希函数。
本发明的H1:{0,1}*→G,H2:{0,1}*→{0,1}k,H3:{0,1}*→G,H4:{0,1}*→G,其中{0,1}*表示任意长度的0,1字符串。
本发明的Zp为素数阶p的有限域,Zp={0,1,…,p-1}中包含以下两种运算>具体为:对于任意的a,b∈Zp,
本发明的步骤S2-1中,用户Alice向签约平台提交身份信息IDA包括姓名、证件号码、手机号码和邮箱地址中的一种或多个。
本发明的步骤S2-2中,客户端软件App能够安装在智能终端上,包括电脑、手机或pad。
本发明的步骤S3-3中,计算的密文参数一还包括:
本发明的步骤S4-3中,计算的密文参数二该包括:
S4-5、Alice登陆APP,从签约平台下载部分密文参数二CT′=(T′、V′、Z′),计算
S4-6、Alice的APP检查
本发明中,还包括合同文本验证的步骤:S4-7、Alice的APP采用下述公式计算合同参数二
S4-8、Alice检查合同参数二
本发明的有益效果:
本发明基于无证书密码系统的原理而提出,相对于传统使用CA数字证书的电子合同签署方法,具有如下特点:
1、系统的部署简单:系统部署不再依赖于PKI中的CA中心;
2、简单的身份识别:系统中用户间的识别只需对方的身份信息,不需要验证对方的公钥证书;
3、使用成本更低:用户只需在系统中注册,获得相应的系统秘钥即可,无需再购买Ukey硬件设备用于管理自己的证书。
附图说明
图1是本发明的原理框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,一种基于无证书签密的电子合同签署方法,它采用签约平台和密钥管理系统,该方法包括以下步骤,以用户Alice和Bob为例:
S1、秘钥管理系统初始化的步骤:
S1-1、根据需要的安全等级为秘钥管理系统中心机构输入一种安全参数k,k为自然数(优选2n),采用双线性群产生算法生成素数阶p的双线性群,>τ),其中:e:G×G→Gτ,表示将群G中任意两个元素映射到群Gτ中的一种元素;
S1-2、秘钥管理系统中心机构选择四个抗碰撞的哈希函数:H1,H2,H3,H4;
S1-3、获取公共参数:params={e,p,G,Gτ,P,pk,H1,H2,H3,H4},其中:P为群G的生成元;Zp为有限域,主密钥s∈Zp,pk=sP;
S2、用户注册的步骤:
S2-1、用户Alice向签约平台提交身份信息IDA;
S2-2、签约平台记录用户的身份信息IDA,并存入数据库;同时,签约平台为Alice生成一次性的随机字符串strA,strA∈{0,1}k,并且将strA显示在页面上;签约平台提示Alice下载签约工具的客户端软件App;
S2-3、Alice下载并运行App,该App提取Alice的设备识别码XA和输入页面显示的随机串strA,并且将(strA,XA)发送给签约平台;
S2-4、签约平台比对随机串strA,查询Alice注册的身份信息IDA,并将身份信息IDA与设备识别码XA建立关联,签约平台将Alice的身份信息IDA发送给秘钥管理系统;
S2-5、秘钥管理系统计算用户Alice的私钥一
S2-6、Alice的APP生成Alice的私钥二
S2-7、Alice的APP存储私钥skA和公钥pkA,并且将公钥pkA发送给签约平台,其中,
S2-8、签约平台将Alice的身份信息IDA与公钥pkA建立关联,并将公钥pkA写入数据库;
S2-9、用户Bob按照步骤S2-1至S2-7进行注册,Bob的APP存储私钥skB>B,并且将公钥pkB发送给签约平台,其中,
S2-10、签约平台将用户Bob的身份信息IDB与公钥pkB建立关联,并将公钥pkB写入数据库;
S3、用户发起签约的步骤:
S3-1、Alice使用身份信息IDA登录APP,在APP中输入签约乙方的身份信息,以Bob为例,录入身份信息IDB中的任一项或多项,确认将与Bob签约;APP将Alice输入的Bob的身份信息提交至签约平台;
S3-2、签约平台通过比对数据库查询获得Bob的公钥pkB,并且发送至Alice的APP;
S3-3、Alice将拟签署的合同文本M导入到APP中,APP计算下述密文参数一T、W、D、V、Y、Y′、Z,
T=tAP,tA∈Zp;
选取部分密文参数一CT=(T、V、Z),Alice的APP将CT、IDB发送给签约平台,Alice签约完成;
S3-4、签约平台根据系统记录,向Bob发出签约通知,前述签约通知包括部分密文参数一CT以及Alice的公钥pkA;
S4、用户接受签约的步骤:
S4-1、Bob接收签约通知,登录APP,从签约平台下载部分密文参数一CT=(T、V、Z),计算密文参数Y,Y′;其中
S4-2、Bob的APP检查
S4-3、Bob的APP采用下述公式计算合同参数
S4-4、Bob将步骤S4-3获取的合同文本
T′=tBP,tB∈Zp;
选取部分密文参数二CT′=(T′、V′、Z′),Bob的APP将CT′、IDA发送给签约平台,Bob签约完成。
S4-5、签约平台向Alice发出签约完成的通知;
S4-6、Alice登陆APP,从签约平台下载部分密文参数二CT′=(T′、V′、Z′),计算
S4-7、Alice的APP检查
S4-8、Alice的APP采用下述公式计算合同参数二
S4-9、Alice检查消息
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
机译: 签署涉及缔约方的电子合同和服务器的缔约方提前履行合同义务的电子合同的方法
机译: 基于区块链的电子合同管理系统设备,支持各方与其操作方法之间的电子合同
机译: 无证书的公共密钥基础结构中基于身份的加密和签名方法