一种基于区块链的项目合同管理方法与流程
- 国知局
- 2024-08-08 17:03:35
本发明涉及项目合同管理,特别指一种基于区块链的项目合同管理方法。
背景技术:
1、项目是人们通过努力,运用各种方法,将人力、材料和财务等资源组织起来,根据商业模式的相关策划安排,进行一项独立一次性或长期无限期的工作任务,以期达到由数量和质量指标所限定的目标。工程项目是以工程建设为载体的项目,是作为被管理对象的一次性工程建设任务,它以建筑物或构筑物为目标产出物,需要支付一定的费用、按照一定的程序、在一定的时间内完成,并应符合质量要求。
2、项目在推进过程中涉及相关材料以及服务的交易,为了保障交易的安全性,在交易过程中需要拟定并签署项目合同,项目合同签署完之后需要对其进行管理。
3、针对项目合同的管理,传统上采取签署一式两份的纸质合同并分别由双方进行保管的方法,但存在容易遗失和查询不易的缺点,随着科技的进步已逐渐被电子合同所替代。然而传统的电子合同也仅仅是将纸质合同扫描成电子档而已,然后简单的将电子合同的文件存储在一个文件夹内,只能本地一一点击查看,管理起来也不方便,且存在合同造假、合同篡改、信息泄露等问题,电子合同也存在数据丢失的风险,已无法满足项目合同管理的需求。
4、因此,如何提供一种基于区块链的项目合同管理方法,实现提升项目合同管理的便捷性以及安全性,成为一个亟待解决的技术问题。
技术实现思路
1、本发明要解决的技术问题,在于提供一种基于区块链的项目合同管理方法,实现提升项目合同管理的便捷性以及安全性。
2、本发明是这样实现的:一种基于区块链的项目合同管理方法,包括如下步骤:
3、步骤s10、服务器预设若干个项目合同的合同模板,创建一根私钥、一携带根公钥的根证书、一对a1私钥和a1公钥、一对b1私钥和b1公钥,通过所述根私钥对a1公钥进行签名得到a工作证书,通过所述根私钥对b1公钥进行签名得到b工作证书;
4、步骤s20、服务器将所述根证书、a工作证书以及a1私钥下发给第一客户端,将所述根证书、b工作证书以及b1私钥下发给第二客户端;
5、步骤s30、第一客户端与第二客户端通过所述根证书、a工作证书、a1私钥、b工作证书以及b1私钥进行身份认证后,第一客户端向服务器获取对应的所述合同模板,基于所述合同模板拟定项目合同;
6、步骤s40、第一客户端对所述项目合同进行第一电子签章之后,将所述项目合同发送给第二客户端;
7、步骤s50、第二客户端对所述项目合同进行第二电子签章之后,将所述项目合同反馈给服务器;
8、步骤s60、服务器对所述项目合同进行加密存储后,备份至区块链;
9、步骤s70、第一客户端或者第二客户端访问服务器,对所述项目合同进行查询的管理。
10、进一步的,所述步骤s10中,所述服务器预设若干个项目合同的合同模板具体为:
11、服务器创建若干个项目合同的合同模板,设定各所述合同模板的模板名称、模板分类以及模板样式,以列表形式展示各所述合同模板。
12、进一步的,所述步骤s10中,所述根私钥用于对a1公钥以及b1公钥进行签名;所述根公钥用于对a工作证书以及b工作证书进行验签。
13、进一步的,所述步骤s20中,所述第一客户端为买方客户端或者卖方客户端;所述第二客户端为卖方客户端或者买方客户端。
14、进一步的,所述步骤s30具体包括:
15、步骤s31、第一客户端生成一第一随机数,将所述第一随机数以及a工作证书发送给第二客户端;
16、步骤s32、第二客户端对所述a工作证书进行合法性校验并提取a1公钥,生成一第二随机数、一对b2私钥和b2公钥,通过所述a1公钥对第一随机数以及b2公钥进行加密,生成第一密文数据,将所述第一密文数据、第二随机数以及b2工作证书发送给第一客户端;
17、步骤s33、第一客户端对所述b工作证书进行合法性校验并提取b1公钥,通过所述a1私钥解密第一密文数据并进行校验后,生成一对a2私钥和a2公钥;通过所述a2私钥与b2公钥协商第一会话密钥并计算第一校验值,通过所述b1公钥对第二随机数、a2公钥以及第一校验值进行加密,生成第二密文数据,将所述第二密文数据发送给第二客户端;
18、步骤s34、第二客户端通过所述b1私钥对第二密文数据进行解密得到第二随机数、a2公钥以及第一校验值,对所述第二随机数进行校验后,通过所述a2公钥和b2私钥协商第二会话密钥,计算所述第二会话密钥的第二校验值,通过所述第二校验值对第一校验值进行校验后,将所述第二校验值发送给第一客户端;
19、步骤s35、第一客户端通过所述第一校验值对第二校验值进行校验后,完成所述第一客户端与第二客户端之间的身份认证;
20、步骤s36、第一客户端访问服务器,基于模板名称、模板分类或者模板样式获取对应的所述合同模板;
21、步骤s37、第一客户端基于所述合同模板拟定携带合同编号、合同名称、合同类型以及合同状态的项目合同;所述合同状态的取值为待签署或者已签署。
22、进一步的,所述步骤s32具体为:
23、第二客户端从所述根证书提取根公钥,通过所述根公钥对a工作证书进行验签后,从所述a工作证书中提取a1公钥,生成一第二随机数,通过elgamal算法生成一对b2私钥和b2公钥;
24、第二客户端通过所述a1公钥对第一随机数以及b2公钥进行加密,生成第一密文数据,将所述第一密文数据、第二随机数以及b工作证书发送给第一客户端。
25、进一步的,所述步骤s33具体为:
26、第一客户端从所述根证书提取根公钥,通过所述根公钥对b工作证书进行验签后,从所述b工作证书提取b1公钥,通过所述a1私钥解密第一密文数据得到第一随机数以及b2公钥,判断解密得到的所述第一随机数与本地的第一随机数是否一致,若否,则结束流程;若是,则:
27、通过elgamal算法生成一对a2私钥和a2公钥;通过所述a2私钥与b2公钥协商第一会话密钥,计算所述第一会话密钥的第一校验值,通过所述b1公钥对第二随机数、a2公钥以及第一校验值进行加密,生成第二密文数据,将所述第二密文数据发送给第二客户端。
28、进一步的,所述步骤s40具体为:
29、第一客户端获取输入的第一签章人以及第一签章坐标,基于所述第一签章人自动匹配对应的第一签章信息,基于所述第一签章坐标将第一签章信息添加到项目合同上,以完成所述项目合同的第一电子签章,利用rsa算法对第一电子签章后的所述项目合同加密后发送给第二客户端。
30、进一步的,所述步骤s50具体为:
31、第二客户端利用rsa算法解密接收的所述项目合同,获取输入的第二签章人以及第二签章坐标,基于所述第二签章人自动匹配对应的第二签章信息,基于所述第二签章坐标将第二签章信息添加到项目合同上,以完成所述项目合同的第二电子签章,利用3des算法对第二电子签章后的所述项目合同加密后反馈给服务器。
32、进一步的,所述步骤s60具体为:
33、服务器利用3des算法解密接收的所述项目合同,读取所述项目合同的明文数据,对所述明文数据进行mac计算得到mac值,对区块链是否存储有所述mac值进行校验,若是,则结束流程;若否,则基于elgamal算法生成一加密密钥,利用所述加密密钥对项目合同进行加密,并存储至ipfs系统,将所述mac值以及ipfs系统返回的索引地址绑定后备份至区块链。
34、本发明的优点在于:
35、1、通过服务器预设若干个项目合同的合同模板,创建一根私钥、一携带根公钥的根证书、一对a1私钥和a1公钥、一对b1私钥和b1公钥,通过根私钥对a1公钥进行签名得到a工作证书,通过根私钥对b1公钥进行签名得到b工作证书,接着将根证书、a工作证书以及a1私钥下发给第一客户端,将根证书、b工作证书以及b1私钥下发给第二客户端;第一客户端与第二客户端通过根证书、a工作证书、a1私钥、b工作证书以及b1私钥进行身份认证后,第一客户端向服务器获取对应的合同模板并拟定项目合同,对项目合同进行第一电子签章之后发送给第二客户端,接着第二客户端对项目合同进行第二电子签章之后反馈给服务器,服务器对项目合同进行加密存储后备份至区块链,第一客户端或者第二客户端访问服务器以对项目合同进行查询的管理;由于将项目合同存储至服务器,后续通过访问服务器即可在线查询项目合同,且项目合同可基于合同编号、合同名称、合同类型、合同内容等数据进行检索查询,检索结果通过列表形式展示,可快速查询和定位项目合同;而第一客户端、第二客户端、以及服务器之间交互的数据均通过加密算法进行加密,避免数据被明文窃取,且分别采取不同的加密算法进行加密,避免其中一个加密算法泄露而导致全部数据的泄露,且只有通过身份认证的第一客户端和第二客户端才能拟定项目合同,结合电子签章以及区块链的去中心化存储备份,前后采取多重安全措施,最终极大的提升了项目合同管理的便捷性以及安全性。
36、2、通过服务器创建根私钥、携带根公钥的根证书、一对a1私钥和a1公钥、一对b1私钥和b1公钥,通过根私钥对a1公钥签名得到a工作证书,通过根私钥对b1公钥签名得到b工作证书,将根证书、a工作证书、a1私钥下发给第一客户端,将根证书、b工作证书、b1私钥下发给第二客户端;接着第一客户端生成第一随机数,将第一随机数、a工作证书发送给第二客户端,第二客户端对a工作证书进行合法性校验并提取a1公钥,生成第二随机数、一对b2私钥和b2公钥,通过a1公钥对第一随机数、b2公钥加密生成第一密文数据,将第一密文数据、第二随机数、b2工作证书发送给第一客户端,第一客户端对b工作证书进行合法性校验并提取b1公钥,通过a1私钥解密第一密文数据并进行校验后,生成一对a2私钥和a2公钥,通过a2私钥与b2公钥协商第一会话密钥并计算第一校验值,通过b1公钥对第二随机数、a2公钥以及第一校验值进行加密生成第二密文数据发第二客户端;第二客户端通过b1私钥对第二密文数据解密得到第二随机数、a2公钥以及第一校验值,对第二随机数进行校验后,通过a2公钥和b2私钥协商第二会话密钥并计算第二校验值,通过第二校验值对第一校验值进行校验后,将第二校验值发送给第一客户端,第一客户端通过第一校验值对第二校验值进行校验后,完成第一客户端与第二客户端之间的身份认证;即基于根证书、a工作证书、b工作证书、a2私钥、a2公钥、b2私钥、b2公钥、第一随机数、第二随机数,对第一客户端和第二客户端进行双向认证,认证过程采取至少6重安全措施(a工作证书验签、第二密文数据验签、第二校验值比对、b工作证书验签、第一密文数据验签、第一校验值比对),且第一密文数据、第二密文数据、第一校验值、第二校验值均基于多个密钥生成,增加破解难度,最终极大的提升了身份认证的可靠性,保障了项目合同拟定主体的可靠性,进而提升了项目合同管理的安全性。
37、3、通过第一客户端生成第一随机数、第二客户端生成第二随机数用于安全认证,可有效预防重放攻击,结合时间戳的有效期校验,进一步保障了身份认证的可靠性。
38、4、通过a1公钥对第一随机数以及b2公钥进行加密,生成第一密文数据发送给第一客户端;通过b1公钥对第二随机数、a2公钥、第一校验值进行加密,生成第二密文数据发送给第二客户端,避免相关数据传输过程中被明文窃取,极大的提升了数据传输的安全性,进一步保障了身份认证的可靠性。
39、5、通过设置第一客户端与第二客户端之间的身份认证、合同模板下发、项目合同传输、项目合同存储、项目合同备份的各环节采取不同的加密方案,极大的提升了项目合同管理的安全性。
40、6、通过读取项目合同的明文数据,对明文数据进行mac计算得到mac值,对区块链是否存储有mac值进行校验,基于elgamal算法生成加密密钥,利用加密密钥对项目合同进行加密并存储至ipfs系统,将mac值以及ipfs系统返回的索引地址绑定后备份至区块链,由于mac计算是带秘密密钥的hash函数,相对于普通的哈希计算安全性更高,前后采取至少三重安全措施(mac计算、elgamal算法、区块链),极大的提升了项目合同存储备份的安全性。
本文地址:https://www.jishuxx.com/zhuanli/20240808/272102.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表