基于Shamir门限的电子招投标系统及方法与流程

文档序号:18684829发布日期:2019-09-13 23:48阅读:208来源:国知局
基于Shamir门限的电子招投标系统及方法与流程
本发明涉及一种电子招投标系统及方法,尤其是一种基于Shamir门限的电子招投标系统及方法,属于电子招投标
技术领域

背景技术
:在互联网、云计算、云存储越来越多的应用环境下,电子招投标领域也在传统招投标的基础上获得很大的发展,相对传统的招投标,电子招投标具有低成本,高效率和透明化的优点。但是电子招投标对安全性也提出了更高的要求。现有技术中,电子标书的加解密主要有以下两种方式:第一种现有技术方案:中国专利申请号为201410015624.0,名称为“用于电子招投标的电子标书多层加解密系统及方法”的发明专利申请,该系统包括电子招投标服务器和客户端,电子招投标服务器用于生成并发布电子标书加密工具,以及接收密文标书并对其进行解密,以得到原始电子标书;客户端用于下载电子标书加密工具并对明文标书使用多方主体的公钥证书进行多层加密,以及将密文标书发送给电子招投标服务器。但该技术存在如下缺点:1)使用多方主体的公钥加密,也就预示着需要多方主体的私钥进行解密,一旦多方主体中缺席任何一个,都无法进行开标,灵活性比较差;2)这种方案加密的标书不具有不可否认性;3)用来加密标书的对称密钥是预先设定好的,一旦对称密钥泄露,标书的安全性将无法保证。第二种现有技术方案:中国专利申请号为200810041955.6,名称为“基于数字证书的电子招标方法”的发明专利申请,包括:离线制作加密标书,加密标书使用投标方的本方证书公钥进行加密;离线验证加密标书,投标方对制作好的加密标书进行验证,确认密文标书能成功开标并验签;在开标时间,投标方在招投标系统中提交开标请求,招投标系统将密文标书解包,验证加密标书的签名并解密开标。但该技术存在如下缺点:操作都是离线的,意味着过程繁琐,效率低,导致招投标周期延长。技术实现要素:本发明的目的是为了解决上述现有招投标技术安全性差,过程繁琐、工作效率低、投标人投标成本高等缺陷,提供了一种基于Shamir门限的电子招投标系统,该系统基于Shamir门限,根据一定的规则对电子标书进行加解密,不仅支持对多个标书同时加密或者解密,还可以同时支持RSA和SM2两种公钥算法的数字证书,并且加密规则文件和加密得到的密文标书有特定的文件格式,可以使电子标书更加安全可靠。本发明的另一目的在于提供一种基于上述系统的招投标方法,该方法相对于上述第一种现有技术方案,基于Shamir门限,设定加密规则可以使招投标更加的灵活,达到开标的门限就可以开标,虽然也是使用多方主体的公钥进行加密,私钥进行解密,但是如果多方主体中缺席一个,并且这个主体不是必须在场,只要开标人的总人数达到规则中的最小开标人数就可以开标。用来加密标书的对称密钥是根据共享信息导出来的,在加密的时候共享信息分割成N块,N为加密规则中开标人的总人数,对每一块分割的信息分别使用随机密钥加密,而随机密钥又使用对应的开标人的证书公钥进行加密,环环相扣,所以加密标书的密钥更难以破解,安全性会更高,灵活性高的同时又保证了更高的安全性;同时,投标器对明文标书加密成功后,会将密文标书上传到招投标服务器,招投标服务器可以对密文标书直接解密或者验证,这样相对于上述第二种现有技术方案,节省了导入和下载的工作量,提高了效率。本发明的目的可以通过采取如下技术方案达到:基于Shamir门限的电子招投标系统,所述系统包括相连的招投标服务器和投标器;所述招投标服务器,用于产生加密规则文件,并在开标时间,对投标器上传的密文标书进行解密;其中,所述加密规则文件是xml签名文件,具有特定的格式;所述投标器,用于根据招投标服务器产生的加密规则文件,基于Shamir门限对明文标书进行加密,得到密文标书,并将得到的密文标书上传到招投标服务器。进一步的,所述招投标服务器包括:加密规则模块,用于产生加密规则文件;第一密文标书验证模块,用于验证投标器上传的密文标书的文件结构和签名数据,将密文标书里的加密规则文件与加密规则模块产生的加密规则文件进行匹配,并显示验证结果,如果验证成功,则显示密文标书验证码;密文标书解密模块,用于对投标器上传的密文标书进行解密。进一步的,所述投标器包括:标书加密模块,用于根据加密规则文件,基于Shamir门限对明文标书进行加密,得到密文标书;第二密文标书验证模块,用于验证密文标书的文件结构和签名数据,将密文标书里的加密规则文件与招投标服务器产生的加密规则文件进行匹配,并显示验证结果,如果验证成功,则显示密文标书验证码。进一步的,所述招投标服务器还包括:第一日志模块,用于记录招投标服务器的日志;第一配置模块,用于配置时间戳服务器url的配置项;所述投标器还包括:第二日志模块,用于记录投标器的工作日志和用户操作流程信息;第二配置模块,用于配置网络代理,以及加密规则文件的url。进一步的,所述密文标书由SID文件标识和若干个不同类型的SID数据块组成,若干个SID数据块分别为SID文件头数据块、门限参数数据块、秘密文件数据块、自定义信息数据块、签名信息数据块、Hash数据块和SID文件尾数据块;其中,SID文件头数据块包含有SID文件中的基本信息,门限参数数据块包含加密明文标书所用的各项参数,秘密文件数据块包含加密后的明文标书数据,自定义信息数据块包含用户自定义数据,给上层应用以扩展空间,签名信息数据块包含各种签名信息,Hash数据块包含SID的Hash值,SID文件尾数据块用来标记SID文件或者数据流已经结束,并且必须要放在文件的尾部。本发明的另一目的可以通过采取如下技术方案达到:基于上述系统的招投标方法,所述方法包括以下步骤:S1、招投标服务器产生加密规则文件;S2、根据招投标服务器产生的加密规则文件,投标器基于Shamir门限对明文标书进行加密,得到密文标书;S3、投标器将得到的密文标书上传到招投标服务器;S4、在开标时间,招投标服务器对密文标书进行解密。进一步的,步骤S2,具体包括:S21、输入标书原文、密文标书路径、项目编号以及配置加密规则文件的url;S22、根据项目编号和配置的加密规则文件的url,向招投标服务器获取加密规则文件;S23、添加投标人的签名证书并确认投标人的信息;S24、根据加密规则文件中的门限相关参数,设开标人有N个,最小开标的人数为t个,使用Shamir门限,将共享信息M分割n份:M1、M2…Mn,针对分割的每一份信息,对应一个开标人的加密证书,并使用对应的加密证书对随机产生的子密钥各自进行加密,而子密钥对对应的分割的每一份信息进行加密;使用共享信息产生的密钥对明文标书进行加密,而加密过的子密钥、加密过的信息块以及开标人的证书,都以一定的格式存储在密文标书里;S25、打开得到的密文标书,验证密文标书的文件结构和签名数据,将密文标书里的加密规则文件与招投标服务器产生的加密规则文件进行匹配,并显示验证结果,如果验证成功,则显示密文标书验证码。进一步的,步骤S4,具体包括:S41、打开密文标书;S42、获取当前的时间戳时间;S43、获取开标时间;S44、验证密文标书的文件结构和签名数据,将招投标服务器产生的加密规则文件与密文标书里的加密规则文件进行匹配;S46、读取开标人信息,尝试开标;S47、使用恢复的密钥对密文标书进行解密。进一步的,所述验证密文标书的文件结构和签名数据,具体包括:读取密文标书里的加密规则文件,验证密文标书的文件结构;获取投标人的签名证书和信息,从而获取密文标书的验证码。进一步的,步骤S46中,所述尝试开标是指当开标人的证书达到开标门限,组合出共享信息,并通过共享信息恢复密钥。本发明相对于现有技术具有如下的有益效果:1、本发明利用招投标服务器产生特定格式加密规则文件,并且基于Shamir门限对明文标书进行加密,得到密文标书,使得密文标书的安全性更高,也有更好的灵活性,不仅支持大文件电子标书加密,并且支持多个电子标书同时加密或解密,在签名和加密的过程使用的数字证书支持RSA和SM2两种公钥算法。2、本发明克服了现有招投标技术方案安全性差,过程繁琐、工作效率低、投标人投标成本高等问题,解决了招投标项目中电子标书的安全性,保证了标书在开标前的保密性,本发明虽然跟现有招投标技术一样使用公钥进行加密,私钥进行解密,但本发明不仅支持RSA算法也支持SM2椭圆曲线算法。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例1的基于Shamir门限的电子招投标系统结构框图。图2为本发明实施例1的基于Shamir门限的电子招投标系统的招投标流程图。图3为本发明实施例1的基于Shamir门限的电子招投标系统的验证流程图。图4为本发明实施例1的基于Shamir门限的电子招投标系统的开标流程图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1:如图1所示,本实施例的基于Shamir门限的电子招投标系统包括相连的招投标服务器和投标器;所述招投标服务器包括加密规则模块、第一密文标书验证模块、密文标书解密模块、第一日志模块和第一配置模块,各个模块的具体功能如下:所述加密规则模块,用于产生加密规则文件;其中,所述加密规则文件是xml签名文件,具有特定的格式,如下:所述第一密文标书验证模块,用于验证投标器上传的密文标书的文件结构和签名数据,并将密文标书里的加密规则文件与加密规则模块产生的加密规则文件进行匹配,并显示验证结果,如果验证成功,则显示密文标书验证码;所述密文标书解密模块,用于对投标器上传的密文标书进行解密;所述第一日志模块,用于记录招投标服务器的日志;所述第一配置模块,用于配置时间戳服务器url(UniformResoureLocator,统一资源定位符)等配置项。所述投标器是客户端,包括标书加密模块、第二密文标书验证模块、第二日志模块和第二配置模块,各个模块的具体功能如下:所述标书加密模块,用于根据加密规则文件,基于Shamir门限对明文标书进行加密,得到密文标书;密文标书是具有特定格式的秘密文件,其结构如下:SID(SecretInformationDocument)表1总体结构SID文件标识SID数据块……SID数据块它由SID文件标识与若干个SID数据块按特定的顺序组成。其中文件标识:对于一个SID文件来说,其文件标识总是由固定的字节来描述的:表2文件标识十六进制数895349440D0A1A0A其中第一个字节0x89超出了ASCII字符的范围,这是为了避免某些软件将SID文件当做文本文件来处理。SID由不同类型的数据块组成,数据块类型如下表所示:表3数据块类型表SID文件中,每个数据块由3个部分组成,数据块的结构如下:表4数据块结构其中SID文件头数据块FHDR(FileHeaderChunk):它包含有SID文件中基本信息,并要作为第一个数据块出在SID数据流中,而且一个SID数据流中只能有一个SID文件头数据块。表5FHDR数据块THRP(ThresholdParameterChunk):它包含加密明文标书所用的各项参数表6THRP数据块其中表7秘密持有者信息为一个秘密持有者信息,按照门限算法的要求,须有Total个秘密持有者信息,则Total个秘密持有者信息依次存放。SFLE(SecretFile):它包含加密后的明文标书数据。表8SFLE数据块CINF(Customerinformation):它包含用户自定义数据,给上层应用以扩展空间。自定数据块在秘密中只有一块,将用户自定义的数据以二进制的方式直接写到文件中。表9CINF数据块域名称字节数类型说明LengthofCustomerData8字节longlong自定义数据长度CustomerData可变长度binary由自定义数据长度指定SINF(SignatureInformationChunk):它包含各种签名信息。签名对象是该块之前的数据的哈希值,哈希算法在FHDR中已指定。表10SINF数据块HASH(HashChunk):它包含SID的Hash值,该值是对HASH数据块之前的数据进行哈希所得的值。表11HASH数据块域名称字节数类型说明HashAlgorithm4字节int哈希算法LengthofHashValue4字节int哈希值长度HashValue可变长度binary由哈希值长度指定FEND(Fileendchunk):它用来标记SID文件或者数据流已经结束,并且必须要放在文件的尾部。文件的结尾8个字符看起来是这样的:0000000049454E44。由于数据块结构的定义,IEND数据块的长度总是0(00000000,除非人为加入信息),数据标识总是IEND(49454E44)。所述第二密文标书验证模块,用于验证密文标书的文件结构和签名数据,将密文标书里的加密规则文件与招投标服务器产生的加密规则文件进行匹配,并显示验证结果,如果验证成功,则显示密文标书验证码,该模块在加密完成后,对密文标书可以选择验证;所述第二日志模块,用于记录投标器的工作日志和用户操作流程信息;所述第二配置模块,用于配置网络代理,以及加密规则文件的url等。如图2~图4所示,本实施例的电子招投标方法,包括以下步骤:步骤一、招投标服务器产生加密规则文件;步骤二、根据招投标服务器产生的加密规则文件,投标器基于Shamir门限对明文标书进行加密,得到密文标书;步骤三、投标器将得到的密文标书上传到招投标服务器;步骤四、在开标时间,招投标服务器对密文标书进行解密。上述步骤二是密文标书的获取与上传过程,具体包括:步骤1、输入标书原文、密文标书路径、项目编号以及配置加密规则文件的url;步骤2、根据项目编号和配置的加密规则文件的url,向招投标服务器获取加密规则文件;步骤3、添加投标人的签名证书并确认投标人的信息;步骤4、根据加密规则文件中的门限相关参数,设开标人有N个,最小开标的人数为t个,使用Shamir门限,将共享信息M分割n份:M1、M2…Mn,针对分割的每一份信息,对应一个开标人的加密证书,并使用对应的加密证书对随机产生的子密钥各自进行加密,而子密钥对对应的分割的每一份信息进行加密;使用共享信息产生的密钥对明文标书进行加密,而加密过的子密钥、加密过的信息块以及开标人的证书,都以一定的格式存储在密文标书里;步骤5、打开得到的密文标书,验证密文标书的文件结构和签名数据,并显示密文标书验证码和验证结果;其中,验证密文标书的文件结构和签名数据,具体为:读取密文标书里的加密规则文件,验证密文标书的文件结构;获取投标人的签名证书和信息,从而获取密文标书的验证码。上述步骤四是开标流程,具体包括:步骤1、打开密文标书;步骤2、获取当前的时间戳时间;步骤3、获取开标时间;步骤4、验证密文标书的文件结构和签名数据,具体为:读取密文标书里的加密规则文件,验证密文标书的文件结构;获取投标人的签名证书和信息,从而获取密文标书的验证码。步骤4、将招投标服务器产生的加密规则文件与密文标书里的加密规则文件进行匹配;步骤5、读取开标人信息,尝试开标,即当开标人的证书达到开标门限,组合出共享信息,并通过共享信息恢复密钥;步骤6、使用恢复的密钥对密文标书进行解密。从上述实施例中可以看出,本发明关键在于使用Shamir门限,只有达到门限之后才可以进行开标;根据门限和特定的加密规则,对明文标书进行加密,使得密文标书的安全性更高;与现有招投标技术方案相比,本发明产生的对明文标书进行加密的对称密钥的方式不同,对称密钥是根据共享信息导出来的,在开标时,不仅要先使用投标人的签名证书对密文标书进行验证,而且得到加密标书的对称密钥之前,必须组合出共享信息;共享信息是一段随机的数据,在加密时,根据开标人的人数,将共享信息分割成若干份子共享信息,针对每一份子共享信息,各自产生随机的密钥并使用该随机密钥对子共享信息进行加密,然后再使用开标人的加密证书对各自产生的随机密钥进行加密,将加密后的子共享信息和加密后的随机密钥以一定的方式存储在密文标书文件里;要想在解密时组合出共享信息,则必须先使用每个开标人的加密证书对加密的随机密钥进行解密,然后使用随机密钥对加密的子共享信息块进行解密;等达到开标的最少人数,并且分别解密成功对应的信息块,才能组合出整块共享信息,进而恢复密钥,使用恢复的对称密钥对密文标书进行解密;此外,开标人中可以指定某些人开标的时候是否必须在场,如果指定了某个人,则在开标时该人必须到场,这样会有更好的灵活性。由于密文标书的文件格式是特定的,所以支持大文件标书加密,并且支持多个标书文件同时加密或者同时解密。与现有招投标技术方案相同的一点,本发明也是使用公钥进行加密,私钥进行解密,但本发明不仅支持RSA算法也支持SM2椭圆曲线算法。综上所述,本发明利用招投标服务器产生特定格式加密规则文件,并且基于Shamir门限对明文标书进行加密,得到密文标书,使得密文标书的安全性更高,也有更好的灵活性,不仅支持大文件电子标书加密,并且支持多个电子标书同时加密或解密,在签名和加密的过程使用的数字证书支持RSA和SM2两种公钥算法。以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1