著录项信息
专利名称 | 一种电子合同存储和验证方法 |
申请号 | CN201410401682.7 | 申请日期 | 2014-08-14 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2014-11-26 | 公开/公告号 | CN104166936A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06Q40/04 | IPC分类号 | G;0;6;Q;4;0;/;0;4;;;G;0;6;F;2;1;/;6;0;;;H;0;4;L;9;/;3;2查看分类表>
|
申请人 | 江苏买卖网电子商务有限公司 | 申请人地址 | 江苏省南京市江宁经济技术开发区庄排路157号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 江苏云签有限公司 | 当前权利人 | 江苏云签有限公司 |
发明人 | 曹晖;刘洋;张光云;张程;李兰平;魏宏亮 |
代理机构 | 南京天翼专利代理有限责任公司 | 代理人 | 奚铭 |
摘要
一种电子合同存储和验证方法,电子合同存储在一个封装结构中,包括三个部分:(1)合同文本及合同附件的电子版;(2)合同文本散列值和用户组签名;(3)合同散列值、服务组签名和电子合同展示页面。本发明将电子合同所涉及的散列值、签名值等多种元素在内部结构上分成三个部分,各部分之间通过哈希计算、数字签名形成严格的相互依存关系。本发明解决了传统电子合同数据使用不便的难题,提高了电子合同数据的安全性和保密性,用户对于电子合同便于全面浏览阅读、便于验证鉴定、便于携带举证,对电子合同的推广和应用具有重大的意义,具备很强的实际操作价值。
1.一种电子合同存储和验证方法,其特征是电子合同封装存储在一个封装结构中,所述封装结构为压缩包形式,封装结构中包括三个部分,分别是:
(1)合同文本及合同附件的电子版;
(2)合同文本散列值和用户组签名,合同文本散列值由合同文本的SHA1值及合同附件的SHA1值构成,用户组签名由用户数字证书的内容、合同文本散列值的用户签名和第三方时间源签名组成,所述第三方时间源签名指第三方服务器对来自可信时间源的用户签署时间进行的数字签名;
(3)合同散列值、服务组签名和电子合同展示页面,其中,合同散列值由合同文本散列值的SHA1值和用户组签名的SHA1值组合而成,服务组签名指封装服务器签名,包括封装服务器对合同散列值的签名和对封装结构封装时间的签名,电子合同展示页面用于生成网页格式的文件,以网页的形式显示电子合同各个要素的内容;
通过将电子合同封装存储在一个封装结构中实现数据固化,并通过对SHA1值和电子签名的验证实现对电子合同的有效性验证,验证是否被篡改或破坏,包括以下步骤:
1)分别提取封装结构中的合同文本及合同附件,分别计算二者的SHA1值,然后将该SHA1值与封装结构中存储的合同文本散列值进行比较,如果相同则转入步骤2),不相同则验证失败;
2)从封装结构中提取用户组签名中的用户数字证书内容和合同文本散列值的用户签名,与合同文本散列值一起发送至签名验签服务器,签名验签服务器读取合同文本散列值的用户签名,将读取的合同文本散列值与发送至签名验签服务器的合同文本散列值进行比较验证,如果一致则表示有效,转入步骤3),否则验证失败;
3)提取封装结构中的合同文本散列值和用户组签名,分别计算SHA1值,与封装结构中存储的合同散列值进行比较,如果相同则转入步骤4),不相同则验证失败;
4)提取封装结构中服务组签名,与合同散列值一起发送至签名验签服务器,签名验签服务器通过服务组签名读取合同散列值,对读取的合同散列值与封装结构中存储的合同散列值比较验证,如果一致则表示有效,电子合同验证成功,否则,电子合同验证失败。
2.根据权利要求1所述的一种电子合同存储和验证方法,其特征是用户组签名中包含多个缔约方的签名信息和多个用户数字证书的内容,用户数字证书各自对合同文本散列值进行签名,验证时分别进行验证。
3.根据权利要求1所述的一种电子合同存储和验证方法,其特征是服务组签名中包含多个封装服务器签名,多个封装服务器各自对合同散列值以及封装结构封装的时间进行签名,验证时分别进行验证。
4.根据权利要求1所述的一种电子合同存储和验证方法,其特征是所述电子合同展示页面中显示的电子合同要素包括缔约方信息、电子签名信息、第三方时间源签名信息、合同文本散列值、服务组签名、合同文本和合同附件。
5.根据权利要求1所述的一种电子合同存储和验证方法,其特征是合同文本及合同附件的电子版包括DOC、PDF或JPG文件格式。
一种电子合同存储和验证方法\n技术领域\n[0001] 本发明属于计算机技术领域,涉及电子签名技术,用于电子交易过程中,对交易双方签订的电子合同数据进行存储和验证,为一种电子合同存储和验证方法。\n背景技术\n[0002] 进入21世纪以来,电子通信网络和电子商务在我国得到了飞速发展,人们开始大量使用电子文档、电子文件和电子数据,以取代传统的纸质文件和数据交换。在这种情况下,传统的纸质合同签订模式也越来越不符合电子商务的发展趋势,电子合同开始出现。电子合同具有使用方便、传输效率高、成本低廉等诸多优点。近些年来,在国家的鼓励和支持下,电子合同在国内得到了较快的发展。鉴于电子合同是以数字电文形式生成、存储和传输的,在目前的情况下,其应用也面临着一些严峻的技术挑战,其中较主要的就有使用不便、容易被篡改和不易进行验证的问题。\n[0003] 商务部在制订的《电子合同在线流程规范》标准中,对电子合同的保存、修改作了特别的规定,明确了电子合同的完整储存信息应当包括合同内容、签约时间、合同订立各方主体信息、电子签名信息等。这样一来,由于电子合同中需要包含的信息较多,在存储的时候就往往必须分成若干个相对独立的文件来进行存储。相对于传统纸质合同具有的直观特点来说,以一般方式存储的电子合同在查阅时就显得十分不便,不利于缔约各方对电子合同信息的全面了解。此外,以一般方式存储的电子合同,由于内部的依存关系不明确,也不利于携带和举证。\n[0004] 另一方面,互联网的开放性造成互联网上存放的数据信息必然会存在一个安全性的问题,人为误操作、恶意破坏、计算机病毒、硬件故障或冲突、软件不兼容、系统崩溃、突然断电等多种因素都会对电子数据的安全造成严重影响。随着我国信息化进程的加快,随之而来的各类数据安全事故也频频发生。电子合同作为电子数据的一种,当有人为因素或技术障碍介入时,极容易被篡改、伪造、破坏或毁灭,从而给合同订立方造成巨大的经济损失。\n此外,电子合同被人为篡改或破坏以后,往往难以查清真伪。即使存在相应的副本或映像文件,也将由于诸多问题的存在而难以进行有效性判断。所以,商务部制订的《电子合同在线流程规范》标准中就明确规定对于已经存档保管的合同信息,需要采取有效的技术手段保障数据信息不被修改。\n[0005] 因此,为进一步加快电子合同在国内的应用步伐,使电子合同的浏览和举证更加便利,不给不法分子有可乘之机,目前发明一种能科学有效地进行电子合同存储和验证的方法是十分必要的。\n发明内容\n[0006] 本发明要解决的问题是:电子合同按照一般的存储方法进行存储,会造成使用上的不方便。此外,作为一种电子数据,电子合同容易被篡改,且篡改后不易被发现。如何使保存在磁盘等介质上的电子合同能够便于全面浏览阅读、便于携带举证,且一旦被篡改或破坏后,能够通过验证而及时发现,是本发明要解决的问题。\n[0007] 本发明的技术方案为:一种电子合同存储和验证方法,电子合同封装存储在一个封装结构中,所述封装结构为压缩包形式,封装结构中包括三个部分,分别是:\n[0008] (1)合同文本及合同附件的电子版;\n[0009] (2)合同文本散列值和用户组签名,合同文本散列值由合同文本的SHA1值及合同附件的SHA1值构成,用户组签名由用户数字证书的内容、合同文本散列值的用户签名和第三方时间源签名组成,所述第三方时间源签名指第三方服务器对来自可信时间源的用户签署时间进行的数字签名;\n[0010] (3)合同散列值、服务组签名和电子合同展示页面,其中,合同散列值由合同文本散列值的SHA1值和用户组签名的SHA1值组合而成,服务组签名指封装服务器签名,包括封装服务器对合同散列值的签名和对封装结构封装时间的签名,电子合同展示页面用于生成网页格式的文件,以网页的形式显示电子合同各个要素的内容;\n[0011] 通过所述方式存储的电子合同实现数据固化,并通过对SHA1值和电子签名的验证实现对电子合同的有效性验证。\n[0012] 对存储的电子合同进行有效性验证,验证是否被篡改或破坏,包括以下步骤:\n[0013] 1)分别提取封装结构中的合同文本及合同附件,分别计算二者的SHA1值,然后将该SHA1值与封装结构中存储的合同文本散列值进行比较,如果相同则转入步骤2),不相同则验证失败;\n[0014] 2)从封装结构中提取用户组签名中的用户数字证书内容和合同文本散列值的用户签名,与合同文本散列值一起发送至签名验签服务器,签名验签服务器读取合同文本散列值的用户签名,将读取的合同文本散列值与发送至签名验签服务器的合同文本散列值进行比较验证,如果一致则表示有效,转入步骤3),否则验证失败;\n[0015] 3)提取封装结构中的合同文本散列值和用户组签名,分别计算SHA1值,与封装结构中存储的合同散列值进行比较,如果相同则转入步骤4),不相同则验证失败;\n[0016] 4)提取封装结构中服务组签名,与合同散列值一起发送至签名验签服务器,签名验签服务器通过服务组签名读取合同散列值,对读取的合同散列值与封装结构中存储的合同散列值比较验证,如果一致则表示有效,电子合同验证成功,否则,电子合同验证失败。\n[0017] 进一步的,用户组签名中包含多个缔约方的签名信息和多个用户数字证书的内容,用户数字证书各自对合同文本散列值进行签名,验证时分别进行验证。\n[0018] 进一步的,服务组签名中包含多个封装服务器签名,多个封装服务器各自对合同散列值以及封装结构封装的时间进行签名,验证时分别进行验证。\n[0019] 所述电子合同展示页面中显示的电子合同要素包括缔约方信息、电子签名信息、第三方时间源签名信息、合同文本散列值、服务组签名、合同文本和合同附件。\n[0020] 合同文本及合同附件的电子版包括DOC、PDF或JPG文件格式。\n[0021] 本发明所述电子合同存储和验证方法,针对电子合同这种特殊的电子数据,强调将电子合同所涉及的散列值、签名值等多种元素在内部结构上分成三个部分,各部分之间通过哈希计算、数字签名形成严格的相互依存关系。此外,对于按本发明所述方法存储的电子合同,其数字签名方式不仅采用了用户数字证书进行签名,还采用了第三方服务器、封装服务器等多种签名。通过对合同文本及合同附件进行哈希运算,保证了合同文本及合同附件不被篡改;通过用户组签名,保证了电子缔约各用户对合同文本及合同附件的认同;通过对用户组签名和合同文本散列值进行哈希运算,保证了电子缔约各用户对合同文本及合同附件的认同不被篡改;通过服务组签名,保证了电子缔约第三方对合同签署过程和结果的公正性表示认可。\n[0022] 另外,现有技术对电子合同的验证多为对合同文本、合同附件本身内容的验证,需要传输合同明文,存在安全上的风险;而在本发明的存储及验证方法下,验证时是对合同文本散列值以及合同散列值的验证,保证了合同内容的保密性。\n[0023] 按照本发明所述方法,电子合同封装内容包含了合同内容、签约时间、合同订立各方主体信息和电子签名信息,符合商务部行业标准的规定,方便电子合同缔约人的使用,符合现有技术对电子数据安全、有效的使用要求;通过本发明所述方法保存的电子合同,其封装结构稳定、可靠,封装包中的各文件之间具有严格的相互依存关系,从而使其极难被非法篡改。此外,通过本发明提供的电子合同验证方法,可以方便、快捷地对保存的电子合同进行有效性验证,从而进一步确保了所存储电子合同的安全性。\n附图说明\n[0024] 图1为本发明的电子合同存储结构图。\n[0025] 图2为本发明的电子合同验证流程图。\n具体实施方式\n[0026] 本发明提出了一种可靠的电子合同存储和验证方法,电子合同以压缩包的形式存放,整体封装结构由三部分组成,如图1所示。这三部分分别是:\n[0027] (1)合同文本及合同附件的电子版,支持DOC、PDF、JPG等常用的文件格式;\n[0028] (2)合同文本散列值和用户组签名,合同文本散列值由合同文本的SHA1值及合同附件的SHA1值构成,用户组签名由用户数字证书的内容、合同文本散列值的用户签名和第三方时间源签名组成,用户通过自己的数字证书对合同文本散列值签名,得到合同文本散列值的用户签名,所述第三方时间源签名指第三方服务器对来自可信时间源的用户签署时间进行的数字签名,签署时间包括各缔约方各自对合同的签署时间;\n[0029] (3)合同散列值、服务组签名和电子合同展示页面,其中,合同散列值由合同文本散列值的SHA1值和用户组签名的SHA1值组合而成,服务组签名指封装服务器签名,包括封装服务器对合同散列值的签名和对封装结构封装时间的签名,电子合同展示页面用于生成网页格式的文件,以网页的形式直观显示电子合同各个要素的内容。\n[0030] 通过所述方式存储的电子合同实现数据固化,并通过对SHA1值和电子签名的验证实现对电子合同的有效性验证。\n[0031] 本发明所述电子合同的验证细化过程如图2所示:\n[0032] 在步骤S1中,分别提取封装结构中的合同文本及合同附件,分别计算二者的SHA1值。\n[0033] 在步骤S2中,将步骤S1中计算所得的SHA1值与封装结构中存储的合同文本散列值进行比较。如果两者一致,说明合同文本及合同附件都没有被修改或破坏过,进入步骤S3;\n如果两者不一致,则说明合同文本或合同附件被修改或破坏,验证失败。\n[0034] 在步骤S3中,从封装结构中提取用户组签名中的用户数字证书内容和合同文本散列值的用户签名,与合同文本散列值一起发送至签名验签服务器,签名验签服务器读取合同文本散列值的用户签名,将读取的合同文本散列值与发送至签名验签服务器的合同文本散列值进行比较验证,如果一致则表示有效,说明用户的签名真实有效,进入步骤S4;如果不通过则说明用户签名无效,验证失败。\n[0035] 在步骤S4中,提取封装结构中的合同文本散列值和用户组签名,分别计算SHA1值。\n[0036] 在步骤S5中,将步骤S4中计算所得的SHA1值与封装结构中存储的合同散列值进行比较,如果一致,则说明合同文本及合同附件和用户签名均未被篡改,进入步骤S6;如果不一致,则验证失败。\n[0037] 在步骤S6中,提取封装结构中服务组签名,与合同散列值一起发送至签名验签服务器,签名验签服务器通过服务组签名读取合同散列值,对读取的合同散列值与封装结构中存储的合同散列值比较验证,如果一致则表示有效,说明封装服务器的签名也真实有效,电子合同验证成功,否则,电子合同验证失败。\n[0038] 上述存储和验证中的第三方服务器、封装服务器以及签名验签服务器优选为不同的独立服务器,多重签名保证数据的安全性。\n[0039] 本发明的存储和验证方法是一个环环相扣严格的相互依存的方案,用户数字证书对电子合同进行签名保护,第三方服务器对电子合同的签署时间进行签名认证,封装服务器对电子合同以及用户签名进行进一步签名保护,并对电子合同的封装时间进行签名认证;进一步的,签名验签服务器的根据电子合同本身的内容,即合同文本散列值和合同散列值再反过来验证第三方服务器以及封装服务器的签名有效,保证了电子合同数据本身以及各数字签名方的数据安全性。并且,电子合同存储后,验证时不涉及合同明文,保护了电子合同数据的私密性。\n[0040] 本发明所述电子合同存储和验证方法,用户组签名中包含多个缔约方的签名信息和多个用户数字证书的内容,用户数字证书各自对合同文本散列值进行签名,验证时分别进行验证。服务组签名中可包含多个封装服务器签名,例如存在多个对电子合同签订的认证第三方时,可以设置多个封装服务器,多个封装服务器各自对合同散列值以及封装结构封装的时间进行签名,验证时分别进行验证,实现多重签名和多重验证。\n[0041] 本发明所述电子合同存储和验证方法,电子合同封装结构中电子合同展示页面显示的电子合同要素包括订立方信息、电子签名信息、第三方时间源签名信息、合同文本散列值、服务组签名、合同文本和合同附件等内容。订立方信息来源于合同文本,电子签名信息为用户组签名。
法律信息
- 2020-05-05
专利权人的姓名或者名称、地址的变更
专利权人由江苏买卖网电子商务有限公司变更为江苏云签有限公司
地址由211106 江苏省南京市江宁经济技术开发区庄排路157号变更为211106 江苏省南京市江宁经济技术开发区庄排路157号
- 2018-08-10
- 2014-12-24
实质审查的生效
IPC(主分类): G06Q 40/04
专利申请号: 201410401682.7
申请日: 2014.08.14
- 2014-11-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2002-05-22
|
2001-12-03
| | |
2
| |
2010-05-26
|
2008-10-08
| | |
3
| |
2014-01-15
|
2013-09-30
| | |
4
| |
2012-10-10
|
2012-06-19
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |