[0037] 人们对电子合同安全性的担忧,制约了电子合同应用的迅速发展。为了降低人们对安全性的担忧,科技工作者在电子签章、合同签约等领域做了很多工作。目前认为较为安全的签约模式是建设一个安全签约平台,用户上传电子合同文档,在安全签约平台上完成签约的全过程。但是这个模式有一个缺点:安全签约平台的安全责任过重。如果平台安全出现问题,所有的合同签订工作都受影响。在实际的生产生活中,如此重要的平台,交由谁来运营与维护,是令人头疼的问题。更困难的是:如果平台出现安全问题,没有人有能力承担合同出差错的安全责任。
[0038] 据此,科技工作者提出了电子合同的网络签署模式。在不降低签约过程安全性的前提下,降低对签约平台的安全要求,签约过程尽可能地由用户自行完成,签约平台负责提供数字证书、举证等有限的安全责任。这有利于电子合同服务的推广。
[0039] 本发明提出了一种电子合同的网络签署方法。其中签约平台(也可以理解为可信第三方)承担提供数字证书、举证的安全责任。用户承担本机数字签名过程安全的责任。
[0040] 下面结合附图对本发明作进一步说明。
[0041] 本发明提出的网络电子合同签署方法为:
[0042] 电子合同签章过程如图1所示。
[0043] 第一步,用户向可信第三方(一般是PKI系统的CA)申领己方公钥数字证书,保留私钥Ks;同时可信第三方向用户提供一个电子合同举证公钥Kg,可信第三方保留私钥Kt。
[0044] 第二步,用户对电子合同文档原件计算HASH摘要值。Hash摘要算法可由可信第三方自行提供,也可取MD5、SHA1等公开的标准数字摘要算法。Hash摘要算法在电子合同签约、举证过程中保持一致。
[0045] 第三步,将HASH摘要值用Ks加密,得密钥序列Ls;用Kg加密,得密钥序列Lg。加密算法由可信第三方选定。一般为公开的公私钥加密算法,如RSA算法、椭圆曲线算法等。
[0046] 第四步,制作电子合同签章图片,签章图片一般为印章或手写签名形式的图片。
[0047] 第五步,将签名者公钥数字证书,密钥序列Ls、Lg用数字水印方法嵌入签章图片中,如图2所示。图像数字水印方法由可信第三方指定。一般选取通用的数字水印方法,如LSB(最低有效位)方法、DCT(离散余弦变换)方法。水印方法在电子合同签约、举证过程中保持一致。
[0048] 第六步,签章图片加盖到电子合同上,本方的电子合同签章过程操作完成。
[0049] 第七步,与对方交换签章后的电子合同,获取对方签章的电子合同;对电子合同进行验证;验证通过,加盖己方的电子签章;对双方签章后的合同进行防篡改检测;检测通过,合同签署过程完成。
[0050] 电子合同的验证过程如图3所示,具体步骤为:
[0051] 第一步,用户取得拥有签章信息的电子合同,分离电子合同文档和签章图片。
[0052] 第二步,计算电子合同文档的HASH摘要值Hs。Hash摘要算法与签章过程所用算法保持一致。
[0053] 第三步,从签章图片中提取签名者公钥数字证书,验证签名者身份。通过,则继续;不通过,则验证失败。水印提取算法与签章过程所用算法保持一致。
[0054] 第四步,从签章图片中提取密钥序列Ls,用签章者的公钥对Ls解密,得序列Ds;如果Ds、Hs相等,说明签章者用私钥对Hs进行了数字签名。因为私钥只有签章者本人拥有。
[0055] 电子合同的防篡改过程如图4所示,具体步骤为:
[0056] 第一步,用户取得电子合同,合同拥有双方的签章信息,分离电子合同文档和双方签章图片。
[0057] 第二步,计算电子合同文档的HASH摘要值Hs。Hash摘要算法与签章过程所用算法保持一致。
[0058] 第三步,从双方签章图片中提取密钥序列Ls1、Ls2、Lg1、Lg2。提取方法与签章过程所用算法保持一致。
[0059] 第四步,用双方各自公钥解Ls1、Ls2,得HASH值h1,h2;检验h1是否等于h2,等于则继续下面步骤;不等于,则合同存在被篡改可能,防篡改检测不通过。h1,h2为合同双方对同一份电子合同计算的HASH值,必须相等。如h1不等于h2,则合同原件一定有某处被修改。
[0060] 第五步,检验Lg1是否等于Lg2,等于则防篡改检测完成;不等于,则合同存在被篡改可能,防篡改检测不通过。Lg1为用户1用电子合同举证公钥对h1加密后的密钥序列,Lg2为用户2用电子合同举证公钥对h1加密后的密钥序列,加密算法相同,两者理应相等。
[0061] 用户必须完成合同的防篡改检测,合同签署过程才完成。如有用户试图篡改、作废电子合同,本发明提出的合同举证方法可以举证用户的以上行为。
[0062] 电子合同的举证过程如图5所示,具体步骤为:
[0063] 第一步,用户取得拥有签章信息的电子合同,分离电子合同文档和签章图片。
[0064] 第二步,计算电子合同文档的HASH摘要值Hs。Hash摘要算法与签章过程所用算法保持一致。
[0065] 第三步,将签章图片连同Hs提交可信第三方;可信第三方从签章图片中提取密钥序列Ls、Lg;用保留的电子合同举证私钥Kt对Lg解密,得序列Rs;用签章者的公钥对Ls解密,得序列Ds;对比Rs、Ds、Hs三个序列是否相等,相等则可信第三方可举证签名者用私钥对Hs进行了签章,并且同时用电子合同举证公钥对Hs进行了签章。
[0066] 解释如下:根据公私钥加密算法的基本性质,公钥加密,只有对应的私钥能够解密;私钥加密,只有对应的公钥能够解密。如果Ds、Rs、Hs三个序列相等,说明Ls、Lg序列均是Hs序列的加密序列;Ls用签章者的公钥解密得Ds,Lg用电子合同举证私钥Kt解密得Rs,可以推得Ls由签章者的私钥对Ds加密而得,Lg由电子合同举证公钥对Rs加密而得。Ds、Rs、Hs三个序列相等,即签章者私钥对Hs进行了加密,电子合同举证公钥对Hs进行了加密。
[0067] 本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明,而并非作为对本发明的限定,只要在本发明的实质范围内,对以上实施例的变化、变型都将落在本发明的保护范围。