CN114329567A - 投标文件生成方法、校验方法、电子设备及介质 - Google Patents

投标文件生成方法、校验方法、电子设备及介质 Download PDF

Info

Publication number
CN114329567A
CN114329567A CN202111670504.0A CN202111670504A CN114329567A CN 114329567 A CN114329567 A CN 114329567A CN 202111670504 A CN202111670504 A CN 202111670504A CN 114329567 A CN114329567 A CN 114329567A
Authority
CN
China
Prior art keywords
data
encryption lock
file
bid
document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111670504.0A
Other languages
English (en)
Inventor
孙吉平
赵亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Weibai Technology Co ltd
Original Assignee
Shanghai Weibai Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Weibai Technology Co ltd filed Critical Shanghai Weibai Technology Co ltd
Priority to CN202111670504.0A priority Critical patent/CN114329567A/zh
Publication of CN114329567A publication Critical patent/CN114329567A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开一种投标文件的生成方法和校验方法。该生成方法应用于第一终端,第一终端与第一加密锁通信连接。该方法包括:基于第一加密锁中的设备私钥,处理第一文件以及第一加密锁的序列号,得到第一数据;其中,第一文件包括至少一条操作记录数据,每一条操作记录数据用于描述一次基于指定加密锁对第一文件执行预设操作的行为,操作记录数据包括基于指定加密锁的设备私钥处理指定加密锁的序列号而生成的第二数据;生成投标文件,投标文件包括:第一文件、第一数据以及用于指示证书链的证书链标识信息。采用上述方案可以将投标文件的操作历史以及验证数据都记录在最终的投标文件中,从而为解决现有电子招投标流程中的漏洞提供实现的基础。

Description

投标文件生成方法、校验方法、电子设备及介质
技术领域
本申请涉及投标文件处理技术领域,特别涉及一种投标文件的生成方法以及一种投标文件的校验方法。此外本申请还涉及一种电子设备,以及一种计算机可读存储介质。
背景技术
电子招投标,也即电子招标投标,主要是指招标投标主体按照国家有关法律法规的规定,以数据电文为主要载体,运用电子化手段完成的全部或者部分招标投标活动。
为了防止一家投标公司提供或制作多份投标文件,防止招投标出现围标和串标等情况,目前已有很多电子招投标活动要求利用加密锁加密功能和方案实现对电子招投标文件进行实名制。也就是说,将加密锁与投标人的真实身份关联。
电子招投标通常需要通过电子招投标交易系统来实现。在投标时,该交易系统将投标人所使用的加密锁序列号和电子投标文件做单一关系的关联,或者使用电子签章方式对投标人的合法身份做识别。然而,采用加密锁序列号和电子投标文件单一关联的方式,使得部分投标人的串标、围标等行为难以被识别出来。
发明内容
本申请的其中一个目的在于提供一种投标文件的生成方法以及一种投标文件的校验方法。采用本申请实施例中提供的方式可以基于加密锁的设备密钥,将投标文件制作过程中的操作历史和验证所需的数据都记录在投标文件中,从而有助于在校验投标文件时识别是否存在可能的串标、围标等违规行为。
本申请的第一方面提供一种投标文件的生成方法,应用于第一终端,所述第一终端与第一加密锁通信连接,所述方法包括:
基于所述第一加密锁中的设备私钥,处理第一文件以及所述第一加密锁的序列号,得到第一数据;其中,所述第一文件包括至少一条操作记录数据,每一条所述操作记录数据用于描述一次基于指定加密锁对第一文件执行预设操作的行为,所述操作记录数据包括基于指定加密锁的设备私钥处理所述指定加密锁的序列号而生成的第二数据;
生成投标文件,所述投标文件包括:所述第一文件、所述第一数据以及用于指示证书链的证书链标识信息;其中,所述证书链用于验证所述第一数据以及所述第二数据。
结合第一方面,在一种可能的实现方式中,所述操作记录数据还包括对应的次序标识,所述次序标识用于唯一标识对第一文件执行的一次预设操作的次序。
结合第一方面,在一种可能的实现方式中,所述操作记录数据还包括对应的终端标识,所述终端标识用于唯一标识对第一文件执行一次预设操作所基于的终端设备。
结合第一方面,在一种可能的实现方式中,所述第一加密锁中记录有第一操作次数,所述第一操作次数用于描述基于所述第一加密锁对第一文件执行预设操作的次数;所述投标文件中的至少一条操作记录数据还用于指示第二操作次数。
本申请的第二方面提供一种投标文件的校验方法,应用于服务器,包括:
获取投标文件,所述投标文件包括:第一文件、第一数据以及用于指示证书链的证书链标识信息;其中,所述第一文件包括至少一条操作记录数据,每一条所述操作记录数据用于描述一次基于指定加密锁对第一文件执行预设操作的行为,所述操作记录数据包括基于指定加密锁的设备私钥处理所述指定加密锁的序列号而生成的第二数据;
在基于所述证书链验证所述第一数据通过的情况下,确定用于形成所述第二数据所基于的指定加密锁的序列号;
基于所述指定加密锁的序列号以及所述投标文件的投标人预先绑定的加密锁序列号,校验所述投标文件。
结合第二方面,在一种可能的实现方式中,该方法还包括:
在基于所述证书链验证所述第二数据和所述第一数据通过的情况下,确定所述至少一条操作记录中各自包含的次序标识;
基于所述次序标识,校验所述投标文件。
结合第二方面,在一种可能的实现方式中,该方法还包括:
确定用于形成所述第二数据所基于的终端标识,所述终端标识用于唯一标识对第一文件执行一次预设操作所基于的终端设备;
基于所述终端标识,以及从其他投标文件中确定的终端标识,校验所述投标文件。
结合第二方面,在一种可能的实现方式中,该方法还包括:
在基于所述证书链验证所述第一数据通过的情况下,确定第一操作次数,所述第一操作次数用于描述基于所述第一加密锁对第一文件执行预设操作的次数;
基于所述至少一条操作记录数据,确定第二操作次数,所述第二操作次数用于指示基于指定加密锁对第一文件执行预设操作的次数;
基于所述第一操作次数和所述第二操作次数,校验所述投标文件。
本申请的第三方面提供一种电子设备,包括:
存储器,配置为存储预定的计算机指令;
处理器,配置为运行所述预定的计算机指令,以实现第一方面或者第二方面的任一种方法的全部或部分步骤。
本申请的第四方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行第一方面或第二方面的任一种方法。
附图说明
图1为本申请实施例的方法的一个示例性应用场景的系统架构示意图。
图2为本申请的一个示例性的投标文件的生成方法的流程示意图。
图3为本申请的另一个示例性的投标文件的生成方法的流程示意图。
图4为本申请的一个示例性的投标文件的校验方法的流程示意图。
图5为本申请的一个示例性的电子设备的结构示意图。
具体实施方式
为清楚、完整地描述本申请的技术方案,下面将结合实施例和附图作进一步说明。为便于理解本方案,以下将首先对本方案所涉及的招标投标相关术语做简要介绍,然后介绍一个示例性的系统架构,再分别对加密锁与投标人的绑定过程、投标文件的生成过程和校验过程作示例性说明。
串标,主要指的是投标人之间或投标人与招标人(或中介机构)相互串通,以骗取中标的行为。
围标,也称为串通投标,主要是指几个投标人之间相互约定,一致抬高或压低投标报价进行投标,通过限制竞争,排挤其他投标人,使某个利益相关者中标,从而谋取利益的手段和行为。
废标,主要是指招标投标活动中出现报名参加或实质性响应的供应商不足三家、存在影响采购公正的违法违规行为、投标报价均超过预算、因重大变故采购任务取消等情形时,招标人作出来的全部投标无效的处理。
一般地,制作投标文件往往需要依赖前期的大量工作成果。例如,在建筑行业中,一个工程项目的投标文件需要依赖相应的工程文件,比如专业的计价软件生成的计价文件等。计价文件中包含巨大的数据表,数据量很大,并且计算这些数据所需要耗费的资源也较多。假如有多个投标人想要串标或围标,为了节约成本,这多个投标人的投标文件往往是通过复制同一份基础的投标文件或者计价文件等,再稍加修改而成,甚至是使用同一台计算机制作而成。例如,有的投标人可能仅仅是出让参与投标的资质,其投标文件都是由主导围标的一家公司来制作的,这种情况就很可能出现前述的问题。最后,各个投标人或者一个投标人再用与各个投标人的真实身份关联的加密锁制作最终的投标文件,以此参与招标投标活动。
电子招投标交易系统可以获取到投标人预先登记的投标人身份信息,以及关联的加密锁序列号。在某个投标人通过该交易系统,基于前述的投标文件和加密锁来参与投标的时候,交易系统可以获取该投标人投标时使用的加密锁的序列号。然后将该序列号与该投标人预先登记的加密锁序列号比对,如果一致则可以认为校验通过。
从上述过程可以看出,单一的使用加密锁序列号和投标文件做关联(以下也称为单一关联方式),无法识别投标文件在制作过程中出现的问题,从而难以识别出串标、围标等情况,或者导致出现废标、投标文件被篡改等问题,进而使得招投标流程存在漏洞。
例如,假设在前期使用一把加密锁同时制作和编辑多份投标文件,仅在生成最终的投标文件或者通过交易系统参与投标的阶段使用各个投标人自己的加密锁,对于这样的行为,交易系统或者招标人难以识别。
又例如,在有些情况下,个别恶意的投标人会使用盗版加密锁来生成最终的投标文件或者参与投标。盗版加密锁的序列号可能会模仿正版加密锁的序列号,即与某一个合规的投标人的正版加密锁的序列号一样。这会导致参与投标的投标文件中多个文件关联的加密锁序列号出现多次。对于这种情况,在开标验证的时候,由于不能明确地分辨出哪个投标人是合规的投标人,哪个是恶意的投标人,或者无法确定这些投标人之间是否存在其他不合规的行为,因此交易系统或者招标人可能会作出统一作废的决定,即导致出现废标的情况。可见,在面临这样的情况时,单一关联方式难以保障合规投标人的合法权益。近年来,在工程招标领域因加密锁序列号一致而被认定为围标串标的事件被频频披露,涉事企业均受到相关监督管理部门的严厉惩处,这也反映了合规投标人对于其他识别方式的迫切需求。
还例如,如果一份投标文件中关键的商务数据或者技术数据被篡改了,由于采用单一关联的方式仅能够提供基于加密锁序列号的简单的校验,因此对于投标文件是否被篡改的情况也难以识别。
本申请实施例提供一种投标文件生成方法以及一种投标文件校验方法。在生成投标文件时,基于加密锁的设备密钥,将投标文件的操作历史以及验证数据都记录在最终的投标文件中。这样,在校验投标文件时,就可以基于投标文件的操作历史和验证数据,来识别可能存在的问题,从而为解决现有电子招投标流程中的漏洞提供实现的基础。
参见图1,图1为本申请实施例的方法的一个示例性应用场景的系统架构示意图。该系统包括服务器、终端设备以及加密锁。
本申请实施例中的服务器可以用于实现一些需要在服务器上实现的、与招投标交易相关的业务或者服务等。示例性地,服务器可以被用于作为招投标交易平台的服务器等。
应理解,本申请实施例中的服务器可以是独立的物理服务器,可以是多个物理服务器构成的服务器集群,也可以是云服务器或者云计算服务中心,还可以是物理服务器和云服务器的结合等,本申请对于服务器的具体产品形态不作限定。
服务器还可以包括交易平台数据库,或者交易平台数据库通信连接,以便将用户上传的数据,例如投标人的身份信息、加密锁序列号、投标文件等,存储到交易平台数据库中。
本申请实施例中的终端设备,可以包括但不限于诸如手机、平板电脑、个人计算机(Personal Computer,PC)、可穿戴设备、物联网设备、车联网设备、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、个人数字助理(Personal DigitalAssistant,PDA)等设备,本申请对于电子设备的具体产品形态/类型不作限定。
为便于区分,本申请实施例将某一个投标人所使用的终端设备称为第一终端。应理解,在实际应用场景中,第一终端可以包括一台或者多台终端。这是因为,在制作投标文件的过程中可能会涉及到多个用户,例如涉及一个企业/组织中的多个员工。这多个用户可以使用同一台终端来完成自己负责的工作,也可以使用多台终端来完成,本申请对此不作限定。
第一终端与服务器通信连接。第一终端的用户可以在第一终端上访问招投标交易平台,参与招投标活动。第一终端的用户也可以在第一终端上生成最终的投标文件。
第一终端上可以安装有特定的软件。在很多行业中,准备投标文件所需要的一些数据可能会需要使用到一些专业的软件。例如,在建筑行业中的工程造价软件、计价软件、算量软件等。这些软件可以输出特定的文件,例如造价工程文件、计价工程文件等。这些文件中包含了制作投标文件所需要的数据。应理解,这些特定软件可以被配置为在某些条件下需要获得软件开发商的许可才能合法使用。这些软件所输出的文件,可以是私有化格式文件,具有自己特有的扩展名。在一些应用场景中,生成投标文件也可能需要使用某个特定的软件,例如招标人所指定的软件。可以理解的是,生成投标文件的功能,以及准备某些所需数据的功能,可以被集成在一个软件中,也可以通过多个软件来实现。在另一些应用场景中,生成投标文件可能是通过招投标交易平台来实现的。
应理解,在该示例性的系统架构中还可以包括其他可能的设备终端,例如其他投标人也可以使用自己的终端设备(如第二终端、第三终端等),通过招投标交易平台来与服务器交互数据。
本申请实施例中的加密锁,是一种信息安全装置。广义的加密锁可以包括硬件加密锁、云锁、软锁等。硬件加密锁可以通过USB、并口等方式与终端设备物理连接,从而传输数据。例如,终端设备或者安装在终端设备上的特定软件可以通过USB口访问硬件加密锁,如图1所示。软锁主要是指存储在计算机等终端设备上的一种加密容器,终端设备或者终端设备上的某些软件等可以通过驱动访问本地的加密容器。云锁主要是指运行在服务器上的加密锁云服务,也可以理解为一种运行在服务端的加密锁实体。终端设备或者终端设备上的某些软件可以通过互联网或者局域网等网络来访问云锁。本申请实施例中对加密锁的具体产品形态不作限定。
每一把加密锁中可以存储有加密锁序列号(Serial Number,SN),用于在一定范围内标识一把加密锁。可以理解的是,对于正规的加密锁生产商通常会为加密锁分配加密锁序列号,其序列号通常在一定范围内是唯一的,以便用于验证产品的合法身份。而对于另一些加密锁,例如盗版加密锁而言,其序列号可能并不是唯一的,例如可能与某一个正版加密锁的序列号相同,以此来冒充正版加密锁。
加密锁中还可以存储设备密钥。该设备密钥可以被用于生成投标文件,后续将对其使用方式作更详细的说明。在一些实现实现方式中,设备密钥与投标人关联。不同的投标人具有不同的设备密钥,来表示该投标人的身份。当设备密钥采用非对称密钥时,设备密钥包括设备私钥和对应的设备公钥,设备私钥可以被存储在加密锁中。为便于理解,本申请实施例中将以非对称密钥的形式为例,来对本申请实施例的方案作说明。
应理解,一个投标人可以具有一个或多个不同的设备密钥,也可以具有多把加密锁。这多把加密锁可以被分配给不同的用户来使用。不同加密锁中存储的设备密钥可以相同,也可以不同。示例性地,针对同一个投标项目,该项目组所拥有的一把或多把加密锁中可以存储有相同的设备密钥;针对不同投标项目,不同项目组所拥有的加密锁中则可以存储有不同的设备密钥。
在一些实现方式中,加密锁中存储的设备密钥,尤其是设备私钥可以在锁内生成,且可以被设置为不能被导出到加密锁外部,从而加强了设备密钥的安全性。也就是说,加密锁内存储的密钥只能在符合条件的情况下被使用,而不能被导出或读取。
在本申请实施例的方案中,在用户需要对投标文件做某些特定操作时,例如想要打开、编辑、存储投标文件时,需要使用加密锁,例如需要使用到加密锁中的加密锁序列号、设备密钥等。
为便于描述,本申请实施例中将与第一终端通信连接的、生成投标文件所使用的加密锁,称为第一加密锁。本申请实施例以第一终端、第一加密锁以及服务器之间处理过程为例,来描述绑定、生成投标文件和校验投标文件的过程。
投标人首先需要在交易平台将投标人的身份信息和对应加密锁序列号绑定。
本申请实施例中的投标人示例性地可以是企业/公司等法人、非法人组织、自然人等。投标人的身份信息可以包括投标人的合法资质信息,示例性地可以是企业/公司的营业执照、统一信用代码,非法人组织的组织机构代码,自然人的身份证号等。
本申请实施例中的加密锁序列号可以参考前文的相关描述。一般地,投标人购买正版的加密锁,其加密锁序列号通常在一定范围内是唯一的。投标人购买正版的加密锁时,加密锁厂商可以针对该投标人生成设备密钥,将该设备密钥存储到加密锁中。如前所述,该设备密钥与投标人关联,可以被用来表示该投标人的身份。在颁发包含设备密钥的数字证书的时候,可以由颁发机构利用自己的私钥(例如加密锁厂商的自建CA的私钥)签名。这样,其他主体例如服务器等就可以通过验证该签名来判断与一把加密锁的设备密钥(例如与设备私钥对应的设备公钥)的合法性。
投标人在所使用的终端设备上连接加密锁。终端设备可以读取该加密锁的序列号。并将其与投标人的身份信息提交给交易平台的服务器。交易平台的服务器在获取到投标人的身份信息和加密锁序列号之后,可以将二者关联存储在交易平台数据库中,以便后续校验投标文件的时候使用。
本申请实施例提供一种投标文件的生成方法,该方法可以由第一终端,或者第一终端和第一加密锁来执行。为便于理解,以下以某一个文件(第一文件)为例,描述生成方法的步骤。
参见图2和图3,图2为本申请的一个示例性的投标文件的生成方法的流程示意图,图3为本申请的另一个示例性的投标文件的生成方法的流程示意图。该方法可以包括S101至S102的步骤。
S101:第一终端基于第一加密锁中的设备私钥,处理第一文件以及第一加密锁的序列号,得到第一数据。
第一文件可以是一个投标文件制作过程中的一个过程文件。例如,第一文件可以是某个造价工程文件、计价工程文件等。终端设备(可能是第一终端,也可能是其他终端)上安装有与第一文件对应的软件,例如工程造价软件、工程计价软件等。第一文件可以被对应的软件打开、编辑、保存等。应理解,在生成最终的投标文件之前,该文件可能被多次操作过。
本申请实施例中的第一文件可以是私有化格式文件。私有化格式文件是可以由某个开发商所开发的特定格式的文件。在一般情况下,私有化格式文件可以被设定为只有该软件开发商所开发的特定软件(即对应的软件)才能够打开该私有化格式文件。即,该私有化格式文件可以被设定为只有与该私有化格式文件关联的特定软件的开发商所开发的软件才能够打开。当然,应理解的是,在有些情况下,其他的软件开发商也有可能会开发出其他能够兼容打开这些私有化格式文件的软件。这样的情况有时候是该特定软件的开发商所不能完全控制的。
预设操作可以用于指示对第一文件进行打开、编辑、存储等。示例性地,用户在终端设备上的特定的软件中编辑,然后点击该特定软件中的“保存”等按钮,从而输入预设操作给终端设备,以指示终端设备存储编辑后的文件。
在一些实现方式中,当该文件被执行预设操作时,可以触发终端设备利用指定加密锁来处理该文件,从而将对该文件的操作历史相关的信息存储到该文件中,形成操作记录数据。应理解,在终端设备存储该操作记录数据的时候,终端设备需要与指定加密锁连接。这里的指定加密锁,可能是前述的第一加密锁,也可能是其他加密锁。还应理解,由于该文件可能经历多次预设操作,因而该文件中可能存储有一条或多条操作记录数据。每一条操作记录数据用于描述一次基于指定加密锁对该文件执行预设操作的行为。不同的操作记录数据中描述的指定加密锁,可能是相同的,也可能是不同的。
在一些实现方式中,操作记录数据可以包括基于指定加密锁的设备私钥处理指定加密锁的序列号而生成的第二数据。示例性地,当终端设备接收到需要对第一文件执行存储操作的操作指令的时候,其可以从确定与之连接的一把指定加密锁,然后调用该指定加密锁利用锁中存储的设备私钥来对该指定加密锁的序列号做处理,例如签名或者加密等,然后将处理结果返回给终端设备,终端设备再基于该处理结果来形成第二数据。
在一些实现方式中,终端设备可以直接将前述处理结果作为第二数据,来形成操作记录数据。在另一些实现方式中,终端设备可以将区块链技术应用到操作记录数据的形成中,或者,终端设备可以为该处理结果生成对应的次序标识,用于唯一标识本次操作的次序,从而使得经历多次操作的第一文本中包含的多条操作记录数据的先后顺序是明确的,能够形成一个操作行为链。
示例性地,终端设备可以获取本次操作的时间戳,来作为次序标识。终端设备再基于时间戳和前述处理结果来形成第二数据,例如将二者拼接形成一个字符串,从而保证每次形成的第二数据能够不重复。该时间戳可以用于指示本次操作第一文件的时间。应理解,这里的时间戳可以是由加密锁生成并传输给终端设备的,也可以由终端设备自行生成,本申请对此不作限定。
又示例性地,终端设备也可以按照预设规则来生成一个序号,作为次序标识。这些操作记录数据中的次序标识,后续可以被用来校验投标文件,例如判断投标文件是否存在异常的操作情况,或者操作行为链中的操作记录数据是否存在缺失等。
在一些实现方式中,操作记录数据可以包括对应的终端标识,终端标识用于唯一标识对第一文件执行一次预设操作所基于的终端设备。示例性地,终端设备可以获取本次操作所基于的终端设备的MAC地址等,来作为终端标识。终端设备再基于MAC地址和前述处理结果来形成第二数据,例如将二者拼接形成一个字符串。当然,终端设备也可以基于MAC地址、前述次序标识和前述处理结果来形成第二数据,例如将三者拼接形成一个字符串。这些操作记录数据中的终端标识,后续可以被用于校验投标文件,例如判断一个投标文件是否存在被多台终端设备操作的情况,多个投标文件是否存在被一台终端设备操作的情况等。
应理解,除了前述的第二数据、次序标识和/或终端标识以外,操作记录数据中还可以包含其他可能的信息,本申请对此不作限定。
还应理解,对于盗版加密锁而言,由于其不具备合法的设备密钥,因而基于盗版加密锁可能无法形成操作记录数据,或者,即便能够形成与正版加密锁类似的操作记录数据,这些操作记录数据中的第二数据在校验投标文件的阶段也无法通过校验。
第一加密锁中的设备私钥,用于证明第一加密锁的合法身份。设备私钥或者设备密钥可以参考前述相关描述,此处不再赘述。应理解,对于正版的加密锁而言,其具有可被验证的设备密钥,而对于盗版的加密锁而言,其不具备可被验证的设备密钥。常规的盗版加密锁仅能够模仿加密锁的序列号,而无法获取到合法的设备密钥。
基于第一加密锁中的设备私钥,处理第一文件以及第一加密锁的序列号,得到第一数据,并将第一数据携带在最终生成的投标文件中,可以使得服务器能够验证该投标文件的内容是否被篡改过。该步骤可以采用多种不同的实现方式,以下示例性地对其中部分实现方式作说明。
在一些实现方式中,第一加密锁可以利用设备私钥对第一文件中的部分或者全部内容进行处理。为便于描述,本申请实施例中将这些数据称为第三数据。
在一些实现方式中,第一终端可以将整个第一文件视为第三数据,利用第一加密锁来处理,以得到处理结果。在一些情况下,第一文件或者其中需要处理的内容的数据量可能较大。因此,在又一些实现方式中,第一终端可以将需要处理的内容视为数据流,分次利用第一加密锁来处理,那么,该数据流或者每一次处理的这部分数据流可以被视为第三数据。
在另一些实现方式中,第一终端可以将第一文件中的一些关键数据(例如投标价格、施工面积、成本单价等)提取出来,作为第三数据。然后,第一终端利用第一加密锁来处理第三数据,得到处理结果。
在另一些实现方式中,第一终端可以将第一文件中的关键数据以及当前连接的加密锁(即第一加密锁)的序列号一起作为第三数据。
在又一些实现方式中,第一终端可以将第一文件中的关键数据以及第一加密锁的序列号一起进行变换处理,例如进行了哈希运算,将该哈希运算结果视为第三数据。示例性地,第一终端可以使用sha256等算法对关键数据和第一加密锁的序列号进行运算,生成一个64位的运算结果,将其作为第三数据传输给第一加密锁。当然,该变换处理的过程也可以由第一加密锁来执行。与由第一加密锁执行处理的方式相比而言,由第一终端执行变换处理的方式可以降低对第一加密锁的计算能力的要求。
在一些实现方式中,第一加密锁可以利用设备私钥对第三数据进行处理,例如加密或者签名,并将处理结果,例如加密结果或者签名结果,返回给第一终端。由第一终端基于前述处理结果来形成第一数据。示例性地,第一终端可以直接将前述处理结果作为第一数据。又示例性地,第一终端也可以将前述处理结果和第一加密锁的序列号拼接,得到第一数据。
应理解,如果第三数据中并不包含第一加密锁的序列号,则可以基于该处理结果和第一加密锁的序列号来形成第一数据;如果第三数据中包含第一加密锁的序列号,则可以至少基于该处理结果来形成第一数据。这样,最终生成的投标文件中就会包含该第一加密锁的序列号的信息。
S102:第一终端生成投标文件,投标文件包括:第一文件、第一数据以及证书链标识信息。
其中,证书链标识信息用于指示证书链,该证书链可被用于验证投标文件中的第一数据和第二数据。
证书链可以包括用于校验投标文件的设备密钥的密钥信息。为便于说明,后续将以一对设备密钥(设备私钥和设备公钥)为例作说明。应理解,证书链中可以包括与设备私钥对应的设备公钥的信息(为便于区分,下文也称之为第一公钥信息)。第一公钥信息可以是设备公钥本身,也可以是用于指示设备公钥的信息,本申请对其具体形式不作限定,只要负责校验投标文件的服务器在需要使用该设备公钥的时候能够根据该第一公钥信息获取到相应的设备公钥即可。
在一些实现方式中,前述设备密钥可以是某一个CA(例如加密锁厂商的自建CA)签发的,包含设备公钥的设备公钥证书(为便于区分,下文也称之为第一公钥证书)可以是经过该CA的私钥签过名的。因此,证书链中还可以包括该CA的公钥信息(为便于区分,下文也称之为第二公钥信息)。也就是说,在这种情况下,证书链中包括了第一公钥信息,以及对应的第二公钥信息。
在一些实现方式中,在上述CA还具有上一级CA的情况下,包含该CA的公钥的公钥证书(为便于区分,下文也称之为第二公钥证书)可以是经上一级CA的私钥签过名的。因此,证书链中还可以包括其上一级CA的公钥信息(为便于区分,下文也称之为第三公钥信息)。以此类推,证书链中还可以包括上上一级CA的公钥信息(即第四公钥信息)、再上一级CA的公钥信息(即第五公钥信息)等,直到根CA的公钥信息。上一级公钥信息所指示的公钥,可以用于验证下一级公钥证书的签名。通过一级一级验证,可以保障设备公钥的合法性,进而保障对于投标文件的校验结果的可靠性。
在一些实现方式中,第一加密锁可以将用于校验投标文件的证书链的标识信息发送给第一终端,以便第一终端将其存储在最终生成的投标文件中,在后续需要的时候(例如校验投标文件的时候)可以用来验证其中存储的第一数据和第二数据。
前述的证书链可以来自第一加密锁,也可以来自其他可能的设备,只要负责验证的服务器在需要的时候能够根据证书链的标识信息获取到该证书链即可。示例性地,交易平台还可以提供加密锁证书链上传功能,在投标人将自己的加密锁序列号与身份信息绑定的阶段,终端设备可以从要绑定的加密锁中读取对应的证书链,将其也上传给交易平台的服务器。这样,在验证投标文件的阶段,服务器就可以根据投标文件中的证书链标识信息,从已上传的证书链中去查找匹配的证书链,并将该证书链用来校验第一数据和第二数据。
应理解,在一般情况下,投标人在生成最终的投标文件的时候会使用已经绑定过的正版的加密锁。因此,服务器在校验投标文件的时候,往往能够查找到与投标文件中的证书链标识信息匹配的证书链。在这种情况下,第一数据往往能够通过基于证书链的校验。但是,如果投标人在制作投标文件的过程中使用了盗版加密锁,或者使用了其他的正版加密锁,则可能至少一部分操作记录数据中包含的第二数据难以通过基于证书链的校验。
在另一些情况下,投标人如果采用盗版加密锁(其加密锁序列号可能与某个正版加密锁序列号相同,以仿冒该正版加密锁)来绑定和生成最终的投标文件,那么该投标文件也难以通过服务器的校验。这主要是因为,盗版加密锁中并不具有正版加密锁所具有的合法的设备密钥,因而难以生成第一数据和第二数据,或者,即便生成了类似的第一数据和第二数据,这些数据实际上也难以通过基于证书链的验证。
还应理解,投标文件中还可以包括其他可能的数据,本申请对此不作限定。
在一些实现方式中,加密锁中可以记录有操作次数。这里的操作次数用于描述基于该加密锁对第一文件执行预设操作的次数。
对于一个投标人的一个投标项目而言,通常其在制作投标文件的过程中会使用同一把加密锁(例如已经绑定过的第一加密锁)。每一次对于投标用的文件的预设操作,终端设备就需要利用该加密锁将操作记录数据存储在该文件中,相应地,终端设备也可以使用该加密锁的次数记录在加密锁中。示例性地,终端设备可以通过调用加密锁行为记录接口,通过锁内代码记录该操作次数。
应理解,加密锁可以针对不同的投标用的文件,分别记录不同文件对应的操作次数。本申请实施例中以第一文件为例,将基于第一加密锁对该文件的操作次数称为第一操作次数。每一次对于该文件执行预设操作,就在第一加密锁内对相应的操作次数的计数值进行更新。该第一操作次数可以在后续被用于校验投标文件,例如判断投标文件中的至少一条操作记录数据所指示的操作次数(为便于区分,本申请实施例中称之为第二操作次数)与第一加密锁内记录的操作次数是否匹配。
在一些实现方式中,每一条操作记录数据可以被存储为固定长度的字符串。通过所有操作记录数据存储的数据长度,除以前述每一条操作记录数据的固定长度,即可确定前述的第二操作次数。在另一些实现方式中,可以通过操作记录数据中的次序标识的数量来确定前述的第二操作次数。此外,还可以采用其他可能的方式来确定第二操作次数。
本申请实施例提供一种投标文件的校验方法,该方法可以由交易平台的服务器,或者与该服务器连接的其他电子设备来执行。在本申请实施例中将其统称为服务器。为便于理解,以下以前述的投标文件为例,描述服务器校验该投标文件的方法的步骤。
参见图4,图4为本申请的一个示例性的投标文件校验方法的流程示意图。该方法可以包括S201至S204的步骤。
S201:服务器获取投标文件,投标文件包括:第一文件、第一数据以及用于指示证书链的证书链标识信息。
其中,第一文件包括至少一条操作记录数据,每一条操作记录数据用于描述一次基于指定加密锁对第一文件执行预设操作的行为,操作记录数据包括基于指定加密锁的设备私钥处理指定加密锁的序列号而生成的第二数据。
上述第一文件、操作记录数据、指定加密锁、第二数据、第一数据、证书链标识信息以及证书链,可以参考前文的相关描述,此处不再赘述。
S202:服务器基于证书链验证投标文件中的第一数据。
服务器可以基于证书链标识信息,去已绑定的投标人所对应的加密锁的证书链中查找匹配的证书链。
应理解,对于合规的投标人所生成的投标文书,服务器应当可以查找到匹配的证书链。而如果生成最终的投标文件时所基于的加密锁是盗版加密锁,则有可能查找不到匹配的证书链,或者,尽管能够查找到匹配的证书链,但是第一数据无法通过基于该证书链的校验。在一些实现方式中,如果服务器查找不到匹配的证书链,则确定投标文件校验失败。
在一些实现方式中,服务器可以利用证书链所指示的设备公钥对第一数据解密或验签。示例性地,在第一加密锁利用设备私钥对第三数据签名的情况下,第一数据包含了签名结果,则相应地,服务器可以对该签名结果进行验签。示例性地,在验签时,服务器可以基于第一文件确定第四数据(可以与第一终端确定第三数据的方式一致)。然后服务器计算第四数据的哈希值,并利用对应的设备公钥解密前述签名结果,得到第五数据。将第五数据与第四数据的哈希值比对,确定二者是否匹配。如果不匹配,则可以认为第一数据不能通过该基于证书链的验证。
在一些实现方式中,设备公钥来自设备公钥证书(即前述的第一公钥证书)。除了基于该设备公钥确定第四数据的哈希值和第五数据是否匹配之外,还可以用其上一级CA的公钥证书(即前述的第二公钥证书)所包含的第二公钥来验证第一公钥证书的签名。在第一公钥证书的签名验证通过的基础上,还可以用其再上一级CA的公钥证书(即第三公钥证书)所包含的第三公钥来验证第二公钥证书的签名。以此类推,一级一级验证,直到利用根CA的公钥证书验证了根证书的自签名为止。如果所有的验证都通过,则可以认为第一数据能够通过基于证书链的验证。如果有任意一级验证不能通过,都可以认为第一数据不能通过该验证。上述每一级验证所使用的公钥的信息都可以由证书链来指示。
在一些实现方式中,服务器可以基于证书链验证设备公钥的合法性。其验证方法与前述的一级一级的验证类似,此处不再赘述。在验证了设备公钥合法的情况下,服务器再利用设备公钥和第三数据来验证第一数据。验证方式可以采用与前述实现方式类似的方式。
采用上述方式,可以验证投标文件的内容,尤其是第一文件中的第三数据(例如关键数据),是否被篡改过,从而解决投标文件被篡改却难以识别的问题。此外,在生成投标文件时第一终端可以将第一文件中的关键数据以及第一加密锁的序列号一起作为第三数据,而在校验投标文件时,确定第三数据并未被篡改,在这样的情况下再基于第一加密锁的序列号来校验投标文件,使得投标文件的校验力度更高,更有助于识别出投标流程中可能存在的问题。
可以理解的是,在第一数据能够通过验证的情况下,证书链所指示的设备公钥与第一加密锁中的设备私钥必然是对应的,第一加密锁可以被认为是该投标人预先绑定的加密锁。
在一些实现方式中,在第一数据通过验证的情况下,确定用于形成第一数据所基于的第一加密锁的序列号。在一些情况下,服务器可以直接从经验证的第一数据中提取出第一加密锁的序列号;在另一些实现方式中,服务器可能无法直接从经验证的第一数据中提取出第一加密锁的序列号,而只能提取出其哈希值或者其与关键信息等拼接后计算得到的哈希值等。可以理解的是,由于服务器上存储有已经绑定的加密锁的序列号,服务器也能够获取到第一文件的关键信息等,因而依据这些信息也可以间接地确定出第一加密锁的序列号。
S203:在基于证书链验证第二数据通过的情况下,服务器确定用于形成第二数据所基于的指定加密锁的序列号。
在一些情况下,服务器可以直接从操作记录数据中提取出指定加密锁的序列号;在另一些实现方式中,服务器可能无法直接从操作记录数据中提取出指定加密锁的序列号,而只能提取出其哈希值或者其与其他信息拼接后计算得到的哈希值等。可以理解的是,由于服务器上存储有已经绑定的加密锁的序列号,服务器在有的情况下也能够获取到操作记录数据中的其他信息,因而依据这些信息也可以间接地确定指定加密锁的序列号,进而利用二者来校验投标文件。
在一些实现方式中,服务器可以利用第一加密锁的设备公钥分别解密至少一条操作记录数据中的第二数据,得到解密结果。如果某一条操作记录数据中的第二数据是基于第一加密锁以外的其他加密锁来生成的,则利用第一加密锁的设备公钥可能无法成功解密第二数据,或者,即便能够得到解密结果,从中提取出的指定加密锁的序列号(在校验的过程中认为其是指定加密锁的序列号,但实际上其值可能与形成操作记录数据时真正采用的指定加密锁的序列号是不相同的)也与预先绑定的加密锁序列号不一致。
S204:服务器基于指定加密锁的序列号以及投标文件的投标人预先绑定的加密锁序列号,校验投标文件。
在一些实现方式中,如果前述步骤中提取出的指定加密锁的序列号与预先绑定的加密锁序列号,服务器可以认为该投标文件的校验不通过。
在另一些实现方式中,如前所述,服务器可能无法直接从操作记录数据中提取出指定加密锁的序列号,而只能提取出其哈希值或者其与其他信息拼接后计算得到的哈希值等,在这种情况下,服务器可以不直接比较这两个序列号,而是通过比对两个序列号被运算之后的值,来校验投标文件。示例性地,服务器可以从操作记录数据中提取出指定加密锁的序列号的哈希值,服务器对预先绑定的加密锁序列号做哈希运算,得到运算值。然后服务器通过比对二者是否一致,来判断操作记录数据中是否存在除绑定的加密锁之外的其他加密锁的操作记录,进而确定投标文件是否通过校验。
当至少一条操作记录数据还包含了其他信息的时候,服务器还可以利用其包含的其他信息来执行其他可能的验证。
在一些实现方式中,在操作记录数据还包括对应的次序标识的情况下,服务器可以根据次序标识校验投标文件。示例性地,在整个操作行为链中,每一条操作记录数据可以是不同的,并且先后顺序是明确的。基于次序标识可以判断投标文件是否存在异常的操作情况,或者操作行为链中的操作记录数据是否存在缺失等。这也在一定程度上提高了投标文件中的操作记录数据的篡改难度。
例如,对于前述的围标的问题,假设在前期使用一把加密锁(加密锁A)同时制作和编辑多份投标文件,在后期使用各个投标人自己的加密锁(加密锁B等)编辑和生成最终的投标文件,则按理说这样得到的投标文件中可能会包括基于多把加密锁形成的操作记录数据。一般这种情况在基于证书链验证第二数据的时候是可以被识别出来的。但是,如果第一文件中的基于加密锁A生成的操作记录数据被人为删除了,则这样生成的投标文件仍然可以通过交易平台的服务器的校验,导致这种围标的问题无法被交易平台识别出来。而如果服务器还需要基于次序标识来校验投标文件,则服务器可以识别出操作行为链存在缺失,从而识别出上述围标的问题。
在一些实现方式中,在操作记录数据包括对应的终端标识的情况下,服务器可以根据终端标识来校验投标文件,从而识别多个投标文件在一台终端设备上制作的情况,进一步防止围标串标等问题。
可选地,服务器执行的方法还包括:
确定用于形成所述第二数据所基于的终端标识,所述终端标识用于唯一标识对第一文件执行一次预设操作所基于的终端设备;或者,确定用于形成所述第一数据所基于的终端标识,所述终端标识用于唯一标识生成投标文件所基于的终端设备;
基于所述终端标识,以及从其他投标文件中确定的终端标识,校验所述投标文件。
以终端标识为MAC地址的情况为例,假设多个投标人的投标文件尽管是基于各自的加密锁来生成的,并且其中的第一数据和第二数据也都能够顺利通过基于证书链的验证,但是如果他们各自的投标文件中用于形成第一数据或者第二数据的MAC地址是相同的,则这多个投标人涉及串标围标的问题的可能性较大。即,采用上述实现方式可以更好地识别出可能的围标串标等问题。
在一些实现方式中,加密锁中可以记录有操作次数。服务器可以判断当前参与投标活动所基于的加密锁(一般为第一加密锁)中所记录的操作次数,与投标文件的操作记录数据所指示的操作次数是否匹配。
可选地,在基于所述证书链验证所述第一数据通过的情况下,确定第一操作次数,所述第一操作次数用于描述基于所述第一加密锁对第一文件执行预设操作的次数;
基于所述至少一条操作记录数据,确定第二操作次数,所述第二操作次数用于指示基于指定加密锁对第一文件执行预设操作的次数;
基于所述第一操作次数和所述第二操作次数,校验所述投标文件。
对于合规的投标人而言,其始终采用绑定过的加密锁来操作第一文件或者生成投标文件,因而绑定过的加密锁中记录的操作次数,与第一文件中记录的操作次数应当是匹配的。如果存在二者不一致或者相差较大的情况,则该投标文件的制作过程中可能存在问题。
示例性地,如果第二操作次数大于或者远大于第一操作次数,说明该投标文件还存在过基于其他加密锁执行预设操作的行为。又示例性地,如果第二操作次数小于或者远小于第一操作次数,说明该投标文件中的操作记录数据可能存在部分被删除的情况。
应理解,本申请实施例中两个操作次数是否匹配,可以根据设定的规则来判断,并不一定非要二者相等才被确定为匹配。在一些情况下,二者不相等也可以被确定为匹配。在不同应用场景中可以设定不同的判断规则。
以下通过两个示例性的实施方式对本申请的方案作说明。
示例一
1)投标文件制作
步骤1:将当前操作文件的加密锁SN在加密锁内使用设备私钥签名,生成签名数据D1。
步骤2:签名数据D1+当前时间戳拼接成字符串D2,存储在该文件内。
每一次对投标文件编辑操作,例如打开、修改、保存等,都重复步骤1和步骤2,生成的数据依次存储在文件内,形成完整的操作行为链。
步骤3:投标文件编辑完成,进行文件存盘,需获取当前文件的N个关键数据(投标价格、施工面积、成本单价等),生成数据D3。
步骤4:将数据D3和当前加密锁SN,使用sha256算法生成一个64位结果数据D4。
步骤5:在加密锁内锁内对D4使用设备私钥签名,生成签名后的数据D5。
步骤6:将数据D5+时间戳+验证签名数据使用的公钥P1一起存放在最终投标文件内。
2)招投标交易平台校验
步骤1:平台使用投标企业提供的加密锁设备证书链验证,对投标文件内所包含的用于验证的设备公钥(P1)进行合法性校验,保证文件内的P1公钥是合法被信任的。
步骤2:经验证的公钥P1将对投标文件内签名的数据进行验签(解密)。
步骤3:使用公钥P1对文件内的数据D5进行验签(解密),获取关键数据D3的hash值。
步骤4:对投标文件原数据中关键值计算hash,将该值与步骤3获取的数据D3值做比对,保证数据一致不被篡改。
步骤5:使用P1对文件内的D2进行验签(解密),获取制作投标文件的加密锁SN号。
步骤6:将获取到的加密锁SN号和交易平台数据库内存储的投标企业登记信息(包括已绑定的加密锁SN号)进行校验。
示例二
1)投标文件制作
步骤1:将当前操作文件的加密锁SN在加密锁内使用设备私钥签名,生成签名数据D1。
步骤2:签名数据D1+当前时间戳+电脑MAC地址接成字符串D2,存储在文件内,
加入时间戳可以保证每次数据生成都具有唯一性。加入电脑MAC地址可以防止多个投标文件在一个电脑上进行制作的行为。
每一次对投标文件编辑操作,都重复步骤1和步骤2,生成数据依次存储在文件内,形成完整的操作行为链。
步骤3:投标文件的每一次操作(文件打开和保存)操作行为进行计数,通过调用加密锁行为记录接口,通过锁内代码记录该操作计数。每次投标文件操作都重复以上操作,将锁内的计数进行累加。
步骤4:投标文件编辑完成发布成最终的投标使用的文件,需获取当前文件N个关键数据(投标价格、施工面积、成本单价等)生成数据D3。
步骤5:将数据D3和当前加密锁SN,使用sha256算法生成一个64位结果数据D4。
步骤6:将数据D4调用加密锁接口,在加密锁内锁内对D4+锁内存储的投标文件操作计数,使用设备私钥签名,生成签名后的数据D5并从加密锁内传出。
步骤7:将数据D5+时间戳+验证签名数据使用的公钥P1一起存放在最终投标文件内。
2)招投标交易平台校验
步骤1:平台使用投标企业提供的加密锁设备证书链验证,对投标文件内所包含的验证使用公钥(P1)进行合法性校验,保证文件内的P1公钥是合法被信任的。
步骤2:经验证的公钥P1将对投标文件内签名的数据进行验签(解密)。
步骤3:使用公钥P1对文件内的数据D5进行验签(解密),获取关键数据D3的hash值和锁内记录的投标文件操作计数值。
步骤4:对投标文件原数据中关键值计算hash,将该值与步骤3获取的验签数据D3值做比对,保证数据一致不被篡改。
步骤5:对投标文件内存储的操作记录数据,使用除法获取到投标文件内的操作次数原值,将该原值和步骤4获取锁内记录的投标文件操作计数值进行对比,防止投标文件操作记录被篡改。
投标文件内的操作次数原值是以固定长度数据存储的。通过计算所有操作记录存储的数据长度除以固定数据长度,可以获取到投标文件操作的次数。
步骤6:使用公钥P1对文件内的D2进行验签(解密),获取制作标书文件加密锁SN号、电脑MAC地址。
步骤6:将获取到的加密锁SN号和数据库内存储的投标企业登记信息进行校验,并将MAC地址同其他投标企业的投标文件内存储的MAC地址进行比对,筛查是否有不同投标文件内MAC地址相同的情况。
请结合图5,本申请实施例中还提供一种终端设备,该电子设备300可以包括:
存储器301,配置为存储预定的计算机指令;
处理器302,配置为运行预定的计算机指令以实现前述任一种实现方式中第一终端所实现的部分或全部步骤。
本申请实施例中还提供一种加密锁,该加密锁可以包括:
存储器,配置为存储预定的计算机指令;
处理器,配置为运行预定的计算机指令以实现前述任一种实现方式中加密锁所实现的部分或全部步骤。
本申请实施例中还提供一种服务器,该服务器可以包括:
存储器,配置为存储预定的计算机指令;
处理器,配置为运行预定的计算机指令以实现前述任一种实现方式中服务器所实现的部分或全部步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、设备、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例,或结合软件和硬件的实施例的形式。
本申请还可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质上实施的计算机程序产品的形式。即,本申请实施例中还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行前述任一种实现方式中第一电子设备或者第二电子设备所实现的部分或全部步骤。当然,在有些情况下,该存储介质也可能存储有两个电子设备的执行的计算机程序。
当通过软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所描述的产品实施例仅仅是示意性的。例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,比如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或者不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。本领域技术人员可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案对现有技术做出贡献的部分,或者该技术方案的部分,可以以软件产品的形式体现出来。该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序的介质。
应理解,在本申请的各种实施例中,各步骤的执行顺序应以其功能和内在逻辑确定,各步骤序号的大小并不意味着执行顺序的先后,不对实施例的实施过程构成任何限定。例如,前述步骤S102和步骤S103可以同时进行,也可以以任意的先后顺序执行,本申请对此不作限定,但步骤S104需要在步骤S102和S103之后执行。
还应理解,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项,或者存在一定差异的概念进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
本说明书中各个实施例之间相同、相似的部分相互参见即可。只要逻辑上不矛盾,不同实施例之间可以相互结合。

Claims (10)

1.一种投标文件的生成方法,其特征在于,应用于第一终端,所述第一终端与第一加密锁通信连接,所述方法包括:
基于所述第一加密锁中的设备私钥,处理第一文件以及所述第一加密锁的序列号,得到第一数据;其中,所述第一文件包括至少一条操作记录数据,每一条所述操作记录数据用于描述一次基于指定加密锁对第一文件执行预设操作的行为,所述操作记录数据包括基于指定加密锁的设备私钥处理所述指定加密锁的序列号而生成的第二数据;
生成投标文件,所述投标文件包括:所述第一文件、所述第一数据以及用于指示证书链的证书链标识信息;其中,所述证书链用于验证所述第一数据以及所述第二数据。
2.根据权利要求1所述的方法,其特征在于,所述操作记录数据还包括对应的次序标识,所述次序标识用于唯一标识对第一文件执行的一次预设操作的次序。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述操作记录数据还包括对应的终端标识,所述终端标识用于唯一标识对第一文件执行一次预设操作所基于的终端设备。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一加密锁中记录有第一操作次数,所述第一操作次数用于描述基于所述第一加密锁对第一文件执行预设操作的次数;所述投标文件中的至少一条操作记录数据还用于指示第二操作次数。
5.一种投标文件的校验方法,其特征在于,应用于服务器,包括:
获取投标文件,所述投标文件包括:第一文件、第一数据以及用于指示证书链的证书链标识信息;其中,所述第一文件包括至少一条操作记录数据,每一条所述操作记录数据用于描述一次基于指定加密锁对第一文件执行预设操作的行为,所述操作记录数据包括基于指定加密锁的设备私钥处理所述指定加密锁的序列号而生成的第二数据;
在基于所述证书链验证所述第一数据通过的情况下,确定用于形成所述第二数据所基于的指定加密锁的序列号;
基于所述指定加密锁的序列号以及所述投标文件的投标人预先绑定的加密锁序列号,校验所述投标文件。
6.根据权利要求5所述的方法,其特征在于,还包括:
在基于所述证书链验证所述第二数据和所述第一数据通过的情况下,确定所述至少一条操作记录中各自包含的次序标识;
基于所述次序标识,校验所述投标文件。
7.根据权利要求5至6任一项所述的方法,其特征在于,还包括:
确定用于形成所述第二数据所基于的终端标识,所述终端标识用于唯一标识对第一文件执行一次预设操作所基于的终端设备;
基于所述终端标识,以及从其他投标文件中确定的终端标识,校验所述投标文件。
8.根据权利要求5至7任一项所述的方法,其特征在于,还包括:
在基于所述证书链验证所述第一数据通过的情况下,确定第一操作次数,所述第一操作次数用于描述基于所述第一加密锁对第一文件执行预设操作的次数;
基于所述至少一条操作记录数据,确定第二操作次数,所述第二操作次数用于指示基于指定加密锁对第一文件执行预设操作的次数;
基于所述第一操作次数和所述第二操作次数,校验所述投标文件。
9.一种电子设备,其特征在于,包括:
存储器,配置为存储预定的计算机指令;
处理器,配置为运行所述预定的计算机指令,以实现权利要求1至4任一项所述的应用于第一终端的方法,或者,以实现权利要求5至8任一项所述的应用于服务器的方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至4任一项所述的应用于第一终端的方法,或者权利要求5至8任一项所述的应用于服务器的方法。
CN202111670504.0A 2021-12-31 2021-12-31 投标文件生成方法、校验方法、电子设备及介质 Pending CN114329567A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111670504.0A CN114329567A (zh) 2021-12-31 2021-12-31 投标文件生成方法、校验方法、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111670504.0A CN114329567A (zh) 2021-12-31 2021-12-31 投标文件生成方法、校验方法、电子设备及介质

Publications (1)

Publication Number Publication Date
CN114329567A true CN114329567A (zh) 2022-04-12

Family

ID=81021569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111670504.0A Pending CN114329567A (zh) 2021-12-31 2021-12-31 投标文件生成方法、校验方法、电子设备及介质

Country Status (1)

Country Link
CN (1) CN114329567A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116720774A (zh) * 2023-06-06 2023-09-08 陕西华春网络科技股份有限公司 基于时间验证的招标方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116720774A (zh) * 2023-06-06 2023-09-08 陕西华春网络科技股份有限公司 基于时间验证的招标方法和装置
CN116720774B (zh) * 2023-06-06 2024-02-13 陕西华春网络科技股份有限公司 基于时间验证的招标方法和装置

Similar Documents

Publication Publication Date Title
US20200272619A1 (en) Method and system for audit and payment clearing of electronic trading systems using blockchain database
TWI723658B (zh) 基於區塊鏈中智慧合約保護交易活動敏感資料的方法和設備
CN111144881B (zh) 对资产转移数据的选择性访问
CN110620810B (zh) 在区块链上的连续资产转移的非链接所有权
Nizamuddin et al. Blockchain-based framework for protecting author royalty of digital assets
US20170243193A1 (en) Hybrid blockchain
US11562451B1 (en) Apparatus for proportional calculation regarding non-fungible tokens
CN114365116A (zh) 来自私有区块链的更新的链外通知
US11790427B2 (en) Distributed database structures for anonymous information exchange
CN110932859B (zh) 用户信息的处理方法、装置、设备及可读存储介质
CN111414434B (zh) 基于区块链的数据交易管理网络、交易设备和存储介质
US11818266B2 (en) Methods and systems for distributed cryptographically secured data validation
JP2023520632A (ja) データの保護のためのノイズ・トランザクション
CN115705571A (zh) 保护可审计的帐户的隐私
CN112052474A (zh) 蓝光拷贝服务
US11570005B2 (en) Systems and methods for proving immutability of blockchains
JP2023530594A (ja) 分散型データベースにおける許可されたイベント処理
CN114329567A (zh) 投标文件生成方法、校验方法、电子设备及介质
CN111797426B (zh) 一种用于去信任通知服务的方法和系统
CN115913734A (zh) 应用于联盟链的用户权限管理方法、装置及设备
US20230070625A1 (en) Graph-based analysis and visualization of digital tokens
CN112400298A (zh) 验证交易系统和方法用于加至电子区块链
US11887146B2 (en) Product exploration-based promotion
JP2023520634A (ja) 文脈完全性の維持
CN115577382A (zh) 基于区块链的智能合约部署方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination