电子文书验证方法、设备及系统与流程

文档序号:11388771阅读:232来源:国知局
电子文书验证方法、设备及系统与流程
本申请涉及信息
技术领域
,尤其涉及一种电子文书验证的方案。
背景技术
:随着电子商务的发展,交易主体之间的合同、协议等商务文书越来越多的以电子形式出现,由于电子文书的修改相较于传统的纸制文书更加便捷,因此交易的其中一方实际拿到的电子文书有可能是被恶意篡改过内容的电子文书,也有可能是第三方冒用交易另一方的名义所签署的电子文书,因此如何对电子文书进行验证,判断电子文书是否真实有效已经成为一个电子商务领域亟待解决的问题。申请内容本申请的一个目的是提供一种电子文书验证的方案,用以解决如何对电子文书进行验证的问题。为实现上述目的,本申请提供了一种在验证设备的电子文书验证方法,所述验证设备存储有电子文书相关用户的公钥,该方法包括:从查询设备获取待验证的电子文书及待验证的电子签名;根据获取到的所述待验证的电子文书计算其hash摘要,根据所述hash摘要和所述电子签名计算待验公钥;在存储的公钥中查询所述待验公钥,并在查询到所述待验公钥时,确定所述电子文书通过验证。进一步地,所述验证端设备还存储有电子文书相关用户的身份信息,其中,所述身份信息与所述电子文书相关用户的公钥存在映射关系;该方法还包括:在查询到所述待验公钥时,根据所述映射关系确定所述电子文书相关用户的身份信息。本申请实施例提供了一种在查询设备的电子文书验证方法,所述方法包括:获取查询信息,其中,查询信息包括待验证的电子文书的电子签名;向存储设备查询所述待验证的电子文书,并从所述存储设备接收查询到的所述待验证的电子文书;向验证设备发送所述待验证的电子文书及待验证的电子签名,以使所述验证设备根据获取到的所述待验证的电子文书及待验证的电子签名,确定验证结果。进一步地,所述查询信息还包括其它索引信息;向存储设备查询所述待验证的电子文书,包括:根据所述其他索引信息确定所述待验证的电子文书的存储地址,基于所述存储地址向存储设备查询所述待验证的电子文书。进一步地,所述查询信息还包括密码信息;接收存储设备返回的所述待验证的电子文书,包括:接收存储设备返回的所述待验证的加密电子文书,根据所述密码信息对所述加密电子文书进行解密,获取所述待验证的电子文书。进一步地,所述查询信息还包括权限信息,其中,所述权限信息表示所述查询设备的用户获取数据的限制信息。进一步地,获取查询信息,包括:通过扫描二维码的方式获取所述查询信息。本申请实施例还提供一种在存储设备的电子文书验证方法,所述存储设备存储有电子签名对应的电子文书,所述方法包括:基于查询设备的查询请求,确定所述待验证的电子文书,其中,所述查询请求包括待验证的电子签名;向所述查询设备发送所述待验证的电子文书。基于本申请的另一方面,还提供了一种用于电子文书验证的验证设备,所述设备包括:存储模块,用于存储电子文书相关用户的公钥,通信模块,用于从查询设备获取待验证的电子文书及待验证的电子签名;验证处理模块,用于根据获取到的所述待验证的电子文书计算其hash摘要,根据所述hash摘要和所述电子签名计算待验公钥,以及在存储的公钥中查询所述待验公钥,并在查询到所述待验公钥时,确定所述电子文书通过验证。进一步地,所述存储模块,还用于存储电子文书相关用户的身份信息,其中,所述身份信息与所述电子文书相关用户的公钥存在映射关系;所述验证处理模块,还用于在查询到所述待验公钥时,根据所述映射关系确定所述电子文书相关用户的身份信息。本申请还提供了一种用于电子文书验证的查询设备,所述设备包括:输入模块,用于获取查询信息,其中,查询信息包括待验证的电子文书的电子签名;通信模块,用于向存储设备查询所述待验证的电子文书,并从所述存储设备接收查询到的所述待验证的电子文书,以及向验证设备发送所述待验证的电子文书及待验证的电子签名,以使所述验证设备根据获取到的所述待验证的电子文书及待验证的电子签名,确定验证结果。进一步地,所述查询信息还包括其他索引信息;所述通信模块,用于根据所述其他索引信息确定所述待验证的电子文书的存储地址,基于所述存储地址向存储设备查询所述待验证的电子文书。进一步地,所述查询信息还包括密码信息;所述通信模块,用于接收存储设备返回的所述待验证的加密电子文书,根据所述密码信息对所述加密电子文书进行解密,获取所述待验证的电子文书。进一步地,所述查询信息还包括权限信息,其中,所述权限信息表示所述查询设备的用户获取数据的限制信息。进一步地,所述输入模块,用于通过扫描二维码的方式获取所述查询信息。本申请还提供了一种用于电子文书验证的存储设备,所述设备包括:存储模块,用于存储电子签名对应的电子文书;通信模块,用于接收查询设备的查询请求,以及向所述查询设备发送所述待验证的电子文书,其中,所述查询请求包括待验证的电子签名;查询处理模块,用于基于查询设备的查询请求确定所述待验证的电子文书。此外,本申请还提供了一种用于电子文书验证的系统,该系统包括前述的验证设备、查询设备和存储设备。与现有技术相比,本申请提供了一种电子文书验证的方案,该方案中查询设备获取至少包含待验证的电子文书的查询信息,然后向存储有待验证的电子文书原文的存储设备进行查询,确定待验证的电子文书,然后将待验证的电子文书和待验证的电子签名发送给验证设备进行验证,验证设备根据获取到的所述待验证的电子文书计算其hash摘要,根据所述hash摘要和所述电子签名计算待验公钥,然后在存储的公钥中查询所述待验公钥,若查询到,则可以确定所述电子文书通过验证,表示该电子文书与该电子签名相互对应,该电子文书是真实有效且未经篡改的。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例提供的一种电子文书验证系统的示意图;图2为本申请实施例实现电子文书验证时的处理流程图;图3为本申请实施例实现电子文书验证的原理示意图;图4为本申请实施例提供的一种电子文书验证系统中各个设备的示意图;图5为本申请实施例提供的另一种实现电子文书验证的设备的示意图;附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。图1示出了本申请实施例提供的一种电子文书验证系统的示意图,该系统包括了验证设备110、存储设备120和查询设备130。在实际场景中,所述验证设备和存储设备可以作为服务端,其具体实现可以是多个物理设备,例如验证设备和存储设备可以是单独部署的服务器或者服务器集群,或者验证设备和存储设备也可以通过一台物理设备实现,例如部署在同一服务器或者服务器集群中。查询设备130作为客户端,其具体实现可以是各类用户终端,例如手机、平板电脑、pc等。该系统能够实现电子文书的验证,其验证方法的处理流程如图2所示,包括以下处理步骤:步骤s201,查询设备获取查询信息。由于在实际场景中,电子文书的原文可能会涉及一些保密的信息,而不宜直接公开给查询者,例如商业合同由于涉及合同双方的商业秘密而不适合对外公开,由于电子文书的电子签名中是基于电子文书的hash摘要加密计算得到,因此不会包含这些需要保密的信息,因此可以将电子文书的电子签名公开给查询者,以供查询验证。查询信息至少包含了待验证的电子文书的电子签名,查询设备根据用户的输入操作能够获取到电子文书的原文。在实际场景中,可以利用扫描二维码的方式获取待验证的电子文书,即将电子文书的原文生成二维码,用户通过手机或者其它终端设备扫描该二维码之后,即可解析出待验证的电子文书的原文内容。此外,本申请实施例中所述的二维码包括但不限于矩形的黑白二维码、彩色二维码或者其它任意能够用于携带信息的异形码,例如指纹码、圆形码、扇形码等。步骤s202,查询设备向存储设备查询待验证的电子文书。由于存储设备中存储有电子文书,查询设备发送的查询请求中可以直接包含待验证的电子签名,并以电子签名作为一种索引信息来进行查询,由此可以查询到该待验证的电子文书。此外,所述查询信息可以还包括其它索引信息。此时,查询设备在向存储设备查询所述待验证的电子文书时,可以先根据所述其它索引信息确定所述待验证的电子文书的存储地址,然后基于所述存储地址向存储设备查询所述待验证的电子文书。例如,该其它索引信息可以为寻址信息或索引号码等信息,寻址信息表示能够查询到待验证电子文书的存储地址,在不同的应用场景下,该存储地址可以是不同的内容,例如在如下场景中,若实际部署的作为存储设备的服务器数量仅有一个,那么所有的电子文书都存储在这个服务器中,那么可以在查询设备中预先配置该存储设备的地址(例如ip地址、端口号等),当查询设备需要进行查询时,则可以直接读取该地址,即可确定存储设备的地址,此时电子文书的存储地址是在该存储设备中的存储路径,基于该存储路径,存储设备可以快速定位电子文书,读取并反馈给查询设备。而在另一种场景下,实际部署的作为存储设备的服务器数量可能会有多个,需要查询到待验证的电子文书有可能存在于任意一个服务器中,若每个服务器都具有不同的地址,那么查询设备需要在发送之前获取待验证的电子文书所在的服务器的地址,才可以顺利完成查询。由此,电子文书的存储地址的内容可以是该电子文书在整个系统中的全局地址,即同时包括存储设备的地址和电子文书在该存储设备中的存储路径。而且,上述寻址信息还可以为在去中心化的分布式网络系统的寻址方式,如区块链中的去中心化寻址方式。步骤s203,存储设备从查询设备接收查询请求。步骤s204,存储设备基于所述查询请求,确定所述待验证的电子文书。由于存储设备中存储了与查询请求中的电子签名对应的电子文书,那么将待验证的电子签名作为检索条件,可以查询到待验证电子签名对应的电子文书。或者,基于其它检索信息也可以查询到需要的待验证电子文书。步骤s205,存储设备向查询设备发送所述待验证的电子文书。在实际场景中,存储设备向所述查询设备发送查询到的电子文书时,可以先对电子文书进行加密,向查询设备发送加密后的电子文书,从而使得电子文书的发送过程更加安全。步骤s206,查询设备接收存储设备返回的所述待验证的电子文书。若存储设备对电子文书进行了加密,则此时接收到的是加密电子文书,若需要得到正常的电子文书,则需要对该加密电子文书进行解密。在此过程中,需要使用到用于解密的密码信息,在本申请的一种实施例中,该密码信息可以携带于查询设备获取到的查询信息中,当查询设备接收到加密电子文书时,可以用其进行解密,进一步增加安全性。在本申请的另一实施例中,查询信息中还可以进一步包含权限信息。所述权限信息能够表示所述查询设备的用户获取数据的限制信息,查询设备的用户是指当前使用查询设备进行电子文书验证的查询者,可以通过该用户的帐号、用户名等信息进行区分。限制信息是指对于查询设备的用户从存储设备或者验证设备获取数据时的一些限制条件,包括查询次数、查询时间、可以获取到的数据的内容等限制条件的其中一种或者多种的组合。例如,可以是“同一账号只能获取3次电子文书的相关信息”、“只能在每天9:00~17:00工作时段获取数据”、或“只能够获取到电子文书的电子签名”等。步骤s207,查询设备向验证设备发送所述待验证的电子文书及待验证的电子签名,以使所述验证设备根据获取到的所述待验证的电子文书及该待验证的电子签名,确定验证结果。步骤s208,验证设备从查询设备获取待验证的电子文书及待验证的电子签名。步骤s209,验证设备根据获取到的所述待验证的电子文书计算其hash摘要,根据所述hash摘要和所述电子签名计算待验公钥。验证设备通过hash(哈希)算法可以从待验证的电子文书中计算出hash摘要,其中,hash算法应采用与生成电子签名的hash报文摘要相同的算法,如任意一种现有的算法,例如md5、sha1等。在计算出hash摘要之后,可以进一步结合接收到的待验证电子文书的电子签名计算出待验公钥。步骤s210,验证设备在存储的公钥中查询所述待验公钥,由于公钥可被认定为唯一且不具重复性的,在查询到所述待验公钥时,即可确定所述电子文书通过验证。验证设备中至少存储有电子文书相关用户的公钥,这些存储的公钥作为查询的数据库可以用于查询计算得到的待验公钥,若在存储的所有公钥中,查询到了待验公钥,则可以确定所述电子文书通过验证,表示该电子文书是真实有效的,即查询信息中待验证的电子文书未被篡改。该验证设备需保存有签署电子文书的个人或法人的公钥信息,如现有的ca认证机构。在实际场景中,出于保密原因的考虑,电子文书的原文中可能没有签署方的具体身份信息,若查询者在商务活动中需要得知某些电子文书的实际签署者,由此本申请实施例进一步提供了如下方案,即验证端设备还可以存储有电子文书相关用户的身份信息,其中,所述身份信息与所述电子文书相关用户的公钥存在映射关系。由此,在查询到所述待验公钥时,根据所述映射关系确定所述电子文书相关用户的身份信息。例如,在前述场景中,电子文书可以是多方签署的合同,其电子文书相关用户可以是该合同的其中一方签署者,由此用户可以在验证的电子文书的同时,通过计算出的公钥查询到电子文书的签署者。步骤s211,验证设备将验证结果反馈给查询设备。在实际场景中,反馈至查询设备的验证结果中包含的内容可以根据实际应用场景的需求来预先设置,例如表示验证通过的验证结果可以是“通过验证”的信息、也可以是查询到了对应的公钥,或者还可以是查询到了对应的签署者身份信息等。此外,验证结果包含的内容可以在每次接收到查询信息后时,根据查询信息中的权限信息来确定。例如,权限信息中若规定“只能够获取到是否通过验证的提示”,则查询设备只能够获取到验证是否通过的判断结果,若权限信息中若规定“只能够获取到电子文书签署者的身份信息”,则查询设备获取到的验证结果是“该电子文书的签署者为xxx”(验证通过),或者“该电子文书无对应信息”(验证未通过)。图3示出了本申请实施例中电子文书验证方案的验证原理,该图表明了本申请实施例提供的验证方案在技术原理上实现的可能性。在非对称加密算法中,需要两个密钥来进行加密和解密,这两个密钥是公钥(即publickey,公开密钥)和私钥(即privatekey,私有密钥),每个用户都具有各自的公钥和私钥。实际场景中可以利用rsa、dsa、ecdsa等算法生成密钥。而对电子文书进行hash计算可以得到该电子文书的hash摘要,使用电子文书相关用户的私钥对该hash摘要进行加密之后,可以得到该电子文书的电子签名。基于hash算法的特性,若对电子文书的原文进行篡改后,再重新进行hash计算将无法得到相同的hash摘要,无法得到相同的电子签名。而本申请实施例中存储设备存储有原始的电子文书(即未被篡改的电子文书)及电子签名,如下表所示:索引编号电子文书电子签名1document1signature1(hash1+私钥1)2document2signature2(hash2+私钥2)3document3signature3(hash3+私钥3)4document4signature4(hash4+私钥4)用户可以在查询设备中输入待验证的电子签名,来判断该待验证的电子签名是否与存储设备中的电子文书相对应。查询设备可以使用其他索引信息如索引编号3或者电子签名signature3在存储设备中进行查询,可以查询到待验证的电子文书的原文为document3,然后存储设备向查询设备返回查询结果document3。在实际场景中,若存储设备中没有存储document3的相关记录,则可以返回未找到的查询结果。查询设备将待验证的电子文书document3和查询结果signature3发送至验证设备中进行验证,验证过程为:采用相同的算法对document3进行hash计算得到其hash摘要,若用户可以在查询设备中输入待验证的电子文书未被修改过,则其计算出的hash摘要一定是hash3,然后通过signature3和hash3可以计算出正确的公钥3,进而在验证设备中查找是否存储有公钥3,则可以确定查询设备发来的待验证的电子文书是否被篡改。若待验证的电子文书被篡改过,那么其计算出的hash摘要必然不会是hash3,因此通过signature3和该hash摘要也无法计算出正确的公钥3,在验证设备存储的公钥中找不到此时计算出的公钥,因此可以确定待验证的电子文书被篡改过。以ecdsa算法生成的密钥为例,其生成签名的过程如下:1、选择一条椭圆曲线ep(a,b),和椭圆曲线的基点g;2、选择私有密钥da(da<n,n为g的阶),利用基点g计算公开密钥=dag;3、产生一个随机整数k(k<n),k×g=(x1,y1);4、r=x1,s=(hash+r·da)/k,在此处hash为与电子文书的hash摘要的相关值;5、r和s做为电子签名,如果r和s其中一个为0,重新从第3步开始执行。由此可知,电子签名可以标识为如下形式:本申请实施例中,验证设备可以利用ecdsa算法上述原理,通过电子签名和hash摘要计算待验证电子文书相关用户的公钥时,具体计算过程如下:s·kg=hash·g+r·dag若在验证设备中存储了电子文书相关用户的身份信息,例如合同的签署者名称,身份信息与合同签署者的公钥存在映射关系,如下表所示:由此,通过查找在验证设备中查询计算出的公钥,还可以确定电子文书相关用户的身份信息,验证设备可向查询设备返回“验证通过”、公钥或电子文书签署方身份等信息。本申请实施例提供的电子文书验证系统中,验证设备110、存储设备120和查询设备130的结构如图4所示。验证设备110包括存储模块111、通信模块112和验证处理模块113。存储模块111用于存储电子文书相关用户的公钥,通信模块112用于从查询设备获取待验证的电子文书及待验证的电子签名,验证处理模块113用于根据获取到的所述待验证的电子文书计算其hash摘要,根据所述hash摘要和所述电子签名计算待验公钥,以及在存储的公钥中查询所述待验公钥,并在查询到所述待验公钥时,确定所述电子文书通过验证。进一步地,存储模块111还用于存储电子文书相关用户的身份信息,其中,所述身份信息与所述电子文书相关用户的公钥存在映射关系;而所述验证处理模块113还用于在查询到所述待验公钥时,根据所述映射关系确定所述电子文书相关用户的身份信息。存储设备120包括存储模块121、通信模块122和查询处理模块123,其中,存储模块121用于存储电子签名对应的电子文书,通信模块122用于从查询设备接收待验证的电子文书,以及向所述查询设备发送所述待验证的电子文书,其中,所述查询信息包括待验证的电子签名。查询处理模块123用于在所述存储的电子文书中查询所述待验证的电子文书,确定所述待验证的电子文书。查询设备130包括输入模块131和通信模块132,其中,输入模块131用于获取至少包含待验证的电子文书的查询信息,通信模块132用于向存储设备查询所述待验证的电子文书,并接收存储设备返回的所述待验证的电子文书,以及向验证设备发送所述待验证的电子文书及待验证的电子签名,以使所述验证设备根据获取到的所述待验证的电子文书及待验证的电子签名,确定验证结果。在本申请的一个实施例中,所述查询信息还可以包括其他索引信息,此时,所述通信模块132可以用于根据所述其他索引信息确定所述存储端设备的地址,并根据所述地址向存储端设备发送所述待验证的电子文书。在本申请的另一实施例中,所述查询信息还包括密码信息,此时,所述通信模块132用于接收存储设备返回的所述待验证的加密电子文书,根据所述密码信息对所述加密电子文书进行解密,获取所述待验证的电子文书。此外,所述查询信息还可以包括权限信息,其中,所述权限信息表示所述查询设备的用户获取数据的限制信息。进一步地,所述输入模块在获取查询信息时,可以通过扫描二维码的方式获取。综上所述,该方案中查询设备获取至少包含待验证的电子文书的查询信息,然后向存储有待验证的电子文书原文的存储设备进行查询,确定待验证的电子文书,然后将待验证的电子文书和待验证的电子签名发送给验证设备进行验证,验证设备根据获取到的所述待验证的电子文书计算其hash摘要,根据所述hash摘要和所述电子签名计算待验公钥,然后在存储的公钥中查询所述待验公钥,若查询到,则可以确定所述电子文书通过验证,表示该电子文书与该电子签名相互对应,该电子文书是真实有效且未经篡改的。另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,本申请的一个实施例包括一个如图5所示的设备,该设备包括用于存储计算机程序指令的存储器510和用于执行程序指令的处理器520,其中,当该计算机程序指令被该处理器执行时,触发该设备运行基于前述根据本申请的多个实施例的方法和/或技术方案,从而实现查询设备、存储设备或者验证设备的功能。需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1