一种基于区块链的带时效性的签密方法技术

技术编号:23163852 阅读:29 留言:0更新日期:2020-01-21 22:24
本申请公开了一种基于区块链的带时效性的签密方法、装置及系统,该方案将带时效性的公钥发布到区块链中,并将智能合约发布到区块链中,利用区块链特性确保公钥不可篡改,利用智能合约更新公钥的有效性并在公钥失效时删除公钥。在签密过程中,首先判断区块链中是否存在自身和接收方的公钥;若存在,则获取自身和接收方的公钥,并利用自身和接收方的公钥对目标消息进行签密,得到签密密文;最终将签密密文发送至接收方。可见,因此,该方案中公钥有效性更新过程无需人工参与,且区块链特性保证了更新过程的可信性,利用区块链去中心化的特点能够有效抵御针对公钥管理节点的攻击,避免篡改时间戳或窃取用户信息,提升时效性签密方案的可靠性。

【技术实现步骤摘要】
一种基于区块链的带时效性的签密方法
本申请涉及计算机
,特别涉及一种基于区块链的带时效性的签密方法、装置及系统。
技术介绍
在信息时代,信息安全问题日益受到人们的重视,消息进行传输时候,为了防止恶意第三方发起的对消息内容的攻击,安全性和认证性变得愈加重要,而为了实现上述要求,加(解)密和数字签证是对应的数据保护技术。传统的消息传输实现方案中,一般先对消息进行数字签名,然后再对消息内容进行加密,当接收方收到密文信息后,再进行相反的操作,以确保消息的可信传输。然而上述方案中将加(解)密操作和签名操作进行了分离,本质上是一种对消息内容二次加工的策略,计算效率较低,因此在1997年,首次出现了签密这一概念,能够在一个逻辑步骤里,实现签名和加(解)密两种功能,极大地提升了算法执行效率。签密数据有效期管理是一种重要研究方向,可以确保用户签密数据在过期后失效,能够有效保护用户隐私信息。传统的基于时间戳的有效期管理方案,主要是由中心节点进行统一管理。然而,在这种方案中,第三方甚至中心节点都可以攻击时效管理模块,篡改时间戳,延长或缩短数据有效期,影响数据的可用性和安全性。例如在冷链食品管理中,第三方可以攻击服务器,修改食品的过期时间,如何使客户信任其时效性仍是一个重要问题。综上,如何提供一种可靠的带时效性的签密方案,是亟待本领域技术人员解决的问题。
技术实现思路
本申请的目的是提供一种基于区块链的带时效性的签密方法、装置及系统,用以解决传统的基于时间戳的签密数据有效期管理方案中,时效管理模块容易受到第三方或中心节点的攻击,签密数据安全性时效性较差的问题。为解决上述技术问题,本申请提供了一种基于区块链的带时效性的签密方法,基于发送方实现,包括:判断区块链中是否存在自身和接收方的公钥;其中,所述发送方和所述接收方均预先将公钥、公钥有效时长、公钥发送时间存储至所述区块链中,并将智能合约公布至所述区块链中,所述智能合约用于根据所述公钥有效时长和所述公钥发送时间判断所述公钥是否失效,并在判定失效时删除所述公钥;若存在,则获取自身和接收方的公钥,并利用自身和接收方的公钥对目标消息进行签密,得到签密密文;将所述签密密文发送至所述接收方。优选的,在所述判断区块链中是否存在自身和接收方的公钥之前,还包括:根据签密系统参数随机生成第一部分私钥,将自身的身份信息、与所述第一部分私钥对应的第一部分公钥发送至密钥生成中心,以便于所述密钥生成中心随机生成第二部分公钥,进而根据所述身份信息、所述第一部分公钥、所述第二部分公钥生成第二部分私钥;从所述密钥生成中心获取所述第二部分私钥和所述第二部分公钥,以合成自身最终的私钥和公钥。优选的,在所述根据签密系统参数随机生成第一部分私钥之前,还包括:向所述密钥生成中心发送注册请求,以便所述密钥生成中心确定并公开基于椭圆曲线的签密系统参数。优选的,所述从所述密钥生成中心获取所述第二部分私钥和所述第二部分公钥,以合成自身最终的私钥和公钥,包括:从所述密钥生成中心获取所述第二部分私钥和所述第二部分公钥,利用预设校验公式对所述第二部分私钥和所述第二部分公钥进行校验;若校验通过,则合成自身最终的私钥和公钥。优选的,在所述将所述签密密文发送至所述接收方之后,还包括:所述接收方判断所述区块链中是否存在自身和所述发送方的公钥;若存在,则从所述区块链获取自身和所述发送方的公钥,利用自身和所述发送方的公钥对所述签密密文进行解密,得到原始的目标消息;若不存在,则判定所述签密密文失效。优选的,所述利用自身和所述发送方的公钥对所述签密密文进行解密,得到原始的目标消息,包括:利用自身和所述发送方的公钥对所述签密密文进行解密,得到原始的目标消息和用于校验内容完整性的辅助参数;根据所述辅助参数,对所述目标消息的消息内容进行校验;若校验通过,则确认所述目标消息内容完整。优选的,所述利用自身和接收方的公钥对目标消息进行签密,得到签密密文,包括:生成随机数α;根据所述随机数α、签密系统参数、自身和接收方的公钥,确定第一参数和第二参数;所述第一参数所述第二参数U=d(xa+ya)+αf,其中,Xa和Ya分别为发送方的第一部分公钥和第二部分公钥,Ppub为签密系统公钥,H1()为签密系统参数中的第一哈希函数,IDb为接收方的身份信息,Xb和Yb分别为接收方的第一部分公钥和第二部分公钥;d=H3(IDa,m,Xa,R),xa和ya分别为发送方的第一部分私钥和第二部分私钥,f=H3(IDa,m,Ya,R),H3()是签密系统参数中的第三哈希函数,IDa为发送方的身份信息,m为目标消息,R=αG,G为签密系统参数中的生成元;利用所述第一参数和所述第二参数对所述目标消息m进行签密,得到签密密文;其中所述签密密文H2()是签密系统参数中的第二哈希函数,为异或操作,||为连接操作。优选的,所述将所述签密密文发送至所述接收方,包括:生成第三参数和第四参数,将所述签密密文、所述第三参数和所述第四参数一并发送至所述接收方;其中所述第三参数h=H4(IDa,R,C),所述第四参数H4()为签密系统参数中的第四哈希函数,IDa为发送方的身份信息,R=αG,α为发送方生成的随机数,G为签密系统参数中的生成元,C为签密密文,xa和ya分别为发送方的第一部分私钥和第二部分私钥。此外,本申请还提供了一种基于区块链的带时效性的签密装置,基于发送方实现,包括:判断模块:用于判断区块链中是否存在自身和接收方的公钥;其中,所述发送方和所述接收方均预先将公钥、公钥有效时长、公钥发送时间存储至所述区块链中,并将智能合约公布至所述区块链中,所述智能合约用于根据所述公钥有效时长和所述公钥发送时间判断所述公钥是否失效,并在判定失效时删除所述公钥;签密模块:用于在判定存在时,获取自身和接收方的公钥,并利用自身和接收方的公钥对目标消息进行签密,得到签密密文;发送模块:用于将所述签密密文发送至所述接收方。最后,本申请还提供了了一种基于区块链的带时效性的签密系统,包括:发送方、接收方、区块链,所述发送方用于实现如上所述的一种基于区块链的带时效性的签密方法的步骤。本申请所提供的一种基于区块链的带时效性的签密方法,基于发送方实现,方案包括:判断区块链中是否存在自身和接收方的公钥;若存在,则获取自身和接收方的公钥,并利用自身和接收方的公钥对目标消息进行签密,得到签密密文;将签密密文发送至接收方。其中,发送方和所述接收方均预先将公钥、公钥有效时长、公钥发送时间存储至区块链中,并将智能合约公布至区块链中,该智能合约用于根据公钥有效时长和公钥发送时间判断公钥是否失效,并在判定失效时删除公钥。可见,该方案通过将带时效性的公钥发布到区块链中,利用区块链特性确保公钥不可篡改,在此基础之上,将智能合约发布到区块链中,利用智能合约更新公钥的有效性并在公钥失效时删除公钥。因此,该方案本文档来自技高网...

【技术保护点】
1.一种基于区块链的带时效性的签密方法,其特征在于,基于发送方实现,包括:/n判断区块链中是否存在自身和接收方的公钥;其中,所述发送方和所述接收方均预先将公钥、公钥有效时长、公钥发送时间存储至所述区块链中,并将智能合约公布至所述区块链中,所述智能合约用于根据所述公钥有效时长和所述公钥发送时间判断所述公钥是否失效,并在判定失效时删除所述公钥;/n若存在,则获取自身和接收方的公钥,并利用自身和接收方的公钥对目标消息进行签密,得到签密密文;/n将所述签密密文发送至所述接收方。/n

【技术特征摘要】
1.一种基于区块链的带时效性的签密方法,其特征在于,基于发送方实现,包括:
判断区块链中是否存在自身和接收方的公钥;其中,所述发送方和所述接收方均预先将公钥、公钥有效时长、公钥发送时间存储至所述区块链中,并将智能合约公布至所述区块链中,所述智能合约用于根据所述公钥有效时长和所述公钥发送时间判断所述公钥是否失效,并在判定失效时删除所述公钥;
若存在,则获取自身和接收方的公钥,并利用自身和接收方的公钥对目标消息进行签密,得到签密密文;
将所述签密密文发送至所述接收方。


2.如权利要求1所述的方法,其特征在于,在所述判断区块链中是否存在自身和接收方的公钥之前,还包括:
根据签密系统参数随机生成第一部分私钥,将自身的身份信息、与所述第一部分私钥对应的第一部分公钥发送至密钥生成中心,以便于所述密钥生成中心随机生成第二部分公钥,进而根据所述身份信息、所述第一部分公钥、所述第二部分公钥生成第二部分私钥;
从所述密钥生成中心获取所述第二部分私钥和所述第二部分公钥,以合成自身最终的私钥和公钥。


3.如权利要求2所述的方法,其特征在于,在所述根据签密系统参数随机生成第一部分私钥之前,还包括:
向所述密钥生成中心发送注册请求,以便所述密钥生成中心确定并公开基于椭圆曲线的签密系统参数。


4.如权利要求2所述的方法,其特征在于,所述从所述密钥生成中心获取所述第二部分私钥和所述第二部分公钥,以合成自身最终的私钥和公钥,包括:
从所述密钥生成中心获取所述第二部分私钥和所述第二部分公钥,利用预设校验公式对所述第二部分私钥和所述第二部分公钥进行校验;若校验通过,则合成自身最终的私钥和公钥。


5.如权利要求1所述的方法,其特征在于,在所述将所述签密密文发送至所述接收方之后,还包括:
所述接收方判断所述区块链中是否存在自身和所述发送方的公钥;
若存在,则从所述区块链获取自身和所述发送方的公钥,利用自身和所述发送方的公钥对所述签密密文进行解密,得到原始的目标消息;
若不存在,则判定所述签密密文失效。


6.如权利要求5所述的方法,其特征在于,所述利用自身和所述发送方的公钥对所述签密密文进行解密,得到原始的目标消息,包括:
利用自身和所述发送方的公钥对所述签密密文进行解密,得到原始的目标消息和用于校验内容完整性的辅助参数;
根据所述辅助参数,对所述目标消息的消息内容进行校验;若...

【专利技术属性】
技术研发人员:王利朋胡明生贾志娟付俊俊杨艳艳程亚歌
申请(专利权)人:郑州师范学院
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1