基于区块链的证据验证的方法、装置、电子设备
技术领域
本申请一个或多个实施例涉及区块链技术领域,尤其涉及基于区块链的证据验证的方法、装置、电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
本申请提供一种基于区块链的证据验证的方法,所述方法应用于证据服务器,所述方法包括:
接收客户端发起的针对本地存储的目标证据文件的验证请求;其中,所述目标证据文件的摘要信息预先在区块链中进行了存证;
响应于所述验证请求,读取本地存储的与所述目标证据文件对应的证据索引文件;其中,所述证据索引文件包括所述区块链中存证所述目标证据文件的摘要信息的目标交易的交易标识;以及,所述目标证据文件的摘要信息;
将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息,并验证所述证据索引文件中的所述目标证据文件的摘要信息,和区块链中存证的所述目标证据文件的摘要信息是否匹配;如果是,生成所述目标证据文件为合法证据文件的验证证书,并将所述验证证书返回至所述客户端。
本申请还提供一种基于区块链的证据验证的装置,所述装置应用于证据服务器,所述装置包括:
接收模块,接收客户端发起的针对本地存储的目标证据文件的验证请求;其中,所述目标证据文件的摘要信息预先在区块链中进行了存证;
读取模块,响应于所述验证请求,读取本地存储的与所述目标证据文件对应的证据索引文件;其中,所述证据索引文件包括所述区块链中存证所述目标证据文件的摘要信息的目标交易的交易标识;以及,所述目标证据文件的摘要信息;
验证模块,将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息,并验证所述证据索引文件中的所述目标证据文件的摘要信息,和区块链中存证的所述目标证据文件的摘要信息是否匹配;如果是,生成所述目标证据文件为合法证据文件的验证证书,并将所述验证证书返回至所述客户端。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
通过以上实施例,通过在区块链上存证证据文件的摘要信息,在证据服务器本地存储与区块链上存证的证据文件的摘要信息对应的索引文件和证据文件的原始内容,使得证据服务器可以基于本地存储的证据索引文件,来快速查询在区块链上存证的证据文件的摘要信息,将其与本地存储的证据文件的摘要信息进行匹配,来对本地存储的证据文件进行合法性验证,从而可以实现证据文件的快速验真。
附图说明
图1是一示例性实施例提供的一种基于区块链的证据验证的方法的流程图。
图2是一示例性实施例提供的目标证据文件为合法证据文件的验证证书的示意图。
图3是一示例性实施例提供的web客户端的用户界面的示意图。
图4是一示例性实施例提供的一种基于区块链的证据验证的装置的框图。
图5是一示例性实施例提供的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的基于区块链的证据验证的相关技术,进行简要说明。
由于在区块链存储的数据具有不可篡改的特性,因此将数据存储在区块链上来做数据存证,是业界目前的主流趋势。在司法存证的场景下,对于一些需要作为司法证据的数据文件;比如,通过执法记录仪或者行车记录仪采集到的视频流、音频流、图片、录音、笔录等数据,通常采集的存证方式是,将这些证据文件的摘要信息在区块链上进行存证,将这些证据文件的原始内容在公检法等部门部署在私有网络(简称私网)内的本地服务器上进行本地存储。
当公检法等部门需要提取本地存储的证据文件时,可以计算提取的证据文件的摘要信息,将其与区块链上存证的该证据文件的摘要信息进行匹配,来确认提取的该证据文件的合法性;如果二者相匹配,表明本地存储的该证据文件为合法证据文件;相反,表明本地存储的该证据文件为非法证据文件。
而本说明书旨在提出一种,基于本地存储的与链上存证的证据文件对应证据索引文件,来快速对本地存储的证据文件进行合法性验证的技术方案。
在实现时,当目标证据文件的摘要信息在区块链上完成上链后,证据服务器可以基于上链结果在本地创建与在区块链上存证的目标证据文件的摘要信息对应的证据索引文件。在该证据索引文件中,可以包括在区块链中存证该目标证据文件的摘要信息的目标交易的交易标识;以及,该目标证据文件的摘要信息;
当证据服务器在接收到客户端发起的针对本地存储的目标证据文件的验证请求时,可以响应该验证请求,读取本地存储的与该目标证据文件对应的证据索引文件,将证据索引文件中的交易标识作为查询索引,查询区块链中存证的该目标证据文件的摘要信息,并计算本地存储的该目标证据文件的摘要信息,然后验证证据索引文件中的目标证据文件的摘要信息,和区块链中存证的改目标证据文件的摘要信息是否匹配;如果匹配,则生成该目标证据文件为合法证据文件的验证证书,并将所述验证证书返回至该客户端。
在以上方案中,通过在区块链上存证证据文件的摘要信息,在证据服务器本地存储与区块链上存证的证据文件的摘要信息对应的索引文件和证据文件的原始内容,使得证据服务器可以基于本地存储的证据索引文件,来快速查询在区块链上存证的证据文件的摘要信息,将其与本地存储的证据文件的摘要信息进行匹配,来对本地存储的证据文件进行合法性验证,从而可以实现证据文件的快速验真。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的一种基于区块链的证据验证的方法,所述方法应用于证据服务器,上述方法执行以下步骤:
步骤102、接收客户端发起的针对本地存储的目标证据文件的验证请求;其中,所述目标证据文件的摘要信息预先在区块链中进行了存证。
步骤104、响应于所述验证请求,读取本地存储的与所述目标证据文件对应的证据索引文件;其中,所述证据索引文件包括所述区块链中存证所述目标证据文件的摘要信息的目标交易的交易标识;以及,所述目标证据文件的摘要信息。
步骤106、将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息,并验证所述证据索引文件中的所述目标证据文件的摘要信息,和区块链中存证的所述目标证据文件的摘要信息是否匹配;如果是,生成所述目标证据文件为合法证据文件的验证证书,并将所述验证证书返回至所述客户端。
以下通过具体的实施例,并结合“证据上链”、“证据索引生成”、“证据验证”,对本申请的技术方案进行详细描述。
1)证据上链
在本说明书中,上述证据文件,可以包括通过证据采集设备采集到的,可以作为证据的任意形式的数据文件。
而上述证据采集设备,可以包括可以作为节点设备加入区块链,并将采集到的数据在区块链上进行存证的任意形式的终端设备;
例如,在实际应用中,上述终端设备具体可以包括执法记录仪或者行车记录仪等。执法记录仪或者行车记录仪可以作为节点加入区块链,并将采集到的诸如视频数据、音频数据等流数据,作为证据文件在区块链上进行存证。
在本说明书中,上述采集设备在进行证据文件采集的同时,还可以保存上述采集设备的系统环境文件。上述系统环境文件用于记录采集设备在采集上述证据文件时的系统环境信息;
其中,上述系统环境文件中所包含的具体的系统环境信息,在本说明书中不进行特别限定,在实际应用中,任意可以真实反映采集设备在采集证据文件时的系统环境的信息,均可以记录在上述系统环境文件中。
例如,上述系统环境信息,具体可以包括上述采集设备的设备编号,设备型号,证据文件的采集时间,采集设备的状态参数(比如,采集设备的经纬度位置,采集设备的速度、采集设备的固件信息等)等信息。
当上述证据文件完成采集后,一方面,由于采集设备可以作为区块链上的节点设备,因此上述采集设备在采集到证据文件后,可以计算该证据文件的摘要信息;比如,计算该证据文件的hash值;然后将采集到的证据文件的摘要信息发布至区块链中进行存证。
在实现时,在采集设备中可以搭载安全运算环境,在安全运算环境中维护该采集设备的私钥等信息;对于采集到的证据文件,采集设备可以在安全运算环境中计算该证据文件的摘要数据,并基于安全运算环境中维护的私钥对该摘要数据进行签名处理,然后基于签名处理后的该证据文件的摘要数据构建一笔交易(Transaction),在区块链中进行广播扩散。当其它节点设备收到该交易后,可以基于上述私钥对应的公钥,对该交易的签名进行验证;如果签名验证通过,可以在区块链中发起对该证据文件的数据摘要的共识处理,并共识处理通过后,将该数据摘要打包进区块在区块链中进行存储,以完成针对该数据摘要的数据存证。
另一方面,采集设备还可以将采集到的证据文件,以及在采集证据文件时保存的的系统环境文件,上传保存至证据服务器,由证据服务器进行存储和维护。
其中,上述证据服务器可以是被部署在私有网络内的一台或多台服务器,上述证据服务器用于存储、管理和维护上述证据文件及上述系统环境文件。
需要说明的是,在实际应用中,上述证据服务器也可以作为区块链上的节点设备。在这种情况下,以上描述的将上述证据文件的摘要信息发布至区块链进行存证的过程,也可以由证据服务器来完成。也即,采集设备在采集到证据文件后,可以直接将采集到的证据文件上传给证据服务器,由证据服务器在搭载的安全运算环境中计算证据文件的摘要信息,基于维护的私钥对摘要信息进行签名构建交易,然后将该交易在区块链中进行发布,来完成该证据文件的摘要信息的上链存证。
2)证据索引生成
在本说明书中,在上述证据文件的摘要信息在区块链存证成功之后,上述证据服务器可以获取该证据文件的摘要信息的上链结果;例如,在上链结果中,可以包括区块链中存证该证据文件的摘要信息的交易的交易标识(比如交易编号),以及该交易所在的区块号等信息。
进一步,证据服务器可以基于上述上链结果中的信息,来创建与上述证据文件对应的证据索引文件。在证据索引文件中,可以包括存证该证据文件的摘要信息的交易的交易标识,和本地存储的上述证据文件的摘要信息。
其中,上述证据索引文件中,除了可以包括存证该证据文件的摘要信息的交易的交易标识,和该证据文件的摘要信息以外,也可以基于实际的需求,引入其它形式的信息。
在示出的一种实施方式中,上述证据所对应的证据索引文件所包括的具体字段定义,请参见表1所示例:
表1
上述Tx_Hash字段,用于指示上述证据文件的摘要信息的对应保存至区块链的交易的交易标识;比如,该交易标识可以是交易的hash值。
Evid_Hash字段,用于指示上述证据文件的摘要信息,其中,上述证据文件的摘要信息为证据文件基于预设哈希算法的哈希值,比如:上述预设哈希算法为SHA-256(SecureHash Algorithm,哈希值为256位的安全散列算法);Evid_Name字段,用于指示上述证据文件的文件名;Evid_Path字段,用于指示上述证据文件在证据服务器本地的存储路径。
与上述系统环境文件相关的具体字段,包括:Env_Hash字段,用于指示上述系统环境文件的摘要信息为上述系统环境文件基于预设哈希算法的哈希值;Env_Name字段,用于指示与上述证据对应的上述系统环境文件的文件名;Env_Path字段,用于指示与上述证据文件对应的上述系统环境文件在证据服务器本地的存储路径。
与上述采集设备相关的具体字段,包括:Evid_DevCertChain字段,用于指示上述采集设备的设备证书链;Evid_UserCertChain字段,用于指示上述采集设备的用户证书链;Evid_DevSig字段,用于指示对应于上述采集设备的设备私钥签名,后续简称设备私钥;Evid_UserSig字段,用于指示对应于上述采集设备的使用用户的用户私钥签名,后续简称用户私钥。
3)证据文件的合法性验证
在上述证据文件的摘要在区块链存证成功,以及与上述证据文件对应的证据索引文件在上述证据服务器创建成功之后,当证据服务器收到客户端发起的针对目标证据文件的合法性验证请求后,可以响应该合法性验证请求,对上述目标证据文件进行合法性验证。
其中,在示出的一种实施方式中,针对上述目标证据文件的合法性验证,包括:证据索引文件的本地合法性验证、证据文件的采集环境的合法性验证、以及证据文件的内容合法性验证三个部分。
a)证据索引文件的本地合法性验证。
在示出的一种实施方式中,上述证据服务器在收到上述客户端发起的针对目标证据文件的合法性验证请求后,可以读取本地存储的与上述目标证据文件对应的证据索引文件;
例如,在实现时,上述合法性验证请求可以包括上述目标证据文件的文件名,证据服务器可以从上述合法性验证请求中读取上述目标证据文件的文件名,将该文件名作为查询索引,查询本地存储的与该目标证据文件对应的证据索引文件。
当查询到与上述目标证据文件对应的证据索引文件后,证据服务器首先可以基于本地存储的设备根证书,对上述证据索引文件中的设备证书链Evid_DevCertChain进行验证;以及,基于本地本地存储的用户根证书对上述上述证据索引文件中的用于证书链Evid_UserCertChain进行验证;
其中,基于本地存储的根证书对证书链进行验证的具体过程,在本说明书中不再进行详细描述,本领域技术人员可以参考相关技术中的记载。
在示出的一种实施方式中,若对上述设备证书链和上述用户证书链均验证通过,可以从上述设备证书链Evid_DevCertChain中,进一步读取与上述设备私钥Evid_DevSig对应的设备公钥,以及从上述用户证书链Evid_UserCertChain中,读取与上述用户私钥Evid_UserSig对应的用户公钥;然后基于读取到的设备公钥对上述证据索引文件中的设备私钥签名进行验证;以及,基于读取到的上述用户公钥对上述证据索引文件中的用户私钥签名进行验证。
在示出的一种实施方式中,若上述设备私钥签名和上述用户私钥签名均验证不通过,此时针对上述证据索引文件的本地验证失败,可以给出相关的告警以及记录日志。
若上述设备私钥签名和上述用户私钥签名均验证通过,则上述证据服务器可以进一步执行针对上述目标证据文件以及其对应的上述系统环境文件的完整性验证。
在示出的一种实施方式中,上述证据服务器可以从上述目标证据文件对应的证据索引文件中进一步读取上述目标证据文件和上述系统环境文件的文件名;以及,上述目标证据文件的存储路径Evid_Path和上述系统环境文件的存储路径Env_Path;
其中,上述Evid_Path及Env_Path的具体值为上述证据服务器的存储路径;例如:Evid_Path=path1,Env_Path=path2。
在查询到上述目标证据文件的存储路径Evid_Path和上述系统环境文件的存储路径Env_Path之后,可以进一步将上述目标证据文件和上述系统环境文件的文件名作为查询索引,在上述Evid_Path及Env_Path的存储路径下,查询对应的目标证据文件和系统环境文件的文件内容;
然后,可以对查询到的上述文件内容执行预设的哈希算法,计算并获得上述目标证据文件的摘要信息Dest_Evid_Hash和上述系统环境文件的摘要信息Dest_Env_Hash。
在获得上述目标证据文件的摘要信息Dest_Evid_Hash和上述系统环境文件的摘要信息Dest_Env_Hash之后,可以进一步验证上述目标证据文件的摘要信息Dest_Evid_Hash与上述证据索引文件中的上述目标证据文件的摘要信息Evid_Hash与上述证据索引文件中的上述目标证据文件的摘要信息Evid_Hash是否匹配。
若匹配,此时针对证据索引文件的本地合法性验证通过;如果不匹配,此时上述目标证据文件以及上述系统环境文件的完整性验证失败,可以给出相关的告警以及记录日志。
b)证据文件的采集环境的合法性验证
针对上述目标证据文件的合法性验证请求,若上述步骤,即“本地合法性验证”验证通过,还可以进一步对上述目标证据文件的采集设备的采集环境进行合法性验证。
具体地,证据服务器可以将上述目标证据文件对应的系统环境文件发送至风险分析服务端;其中,上述风险分析服务端用于基于上述系统环境文件分析上述目标证据文件被采集时的系统环境是否存在风险;而证据服务器可以基于上述风险分析服务端返回的分析结果,来确定所述采集设备的系统环境是否安全验证通过。
例如,在示出的一种实施方式中,上述风险分析服务端具体可以是一台云服务器或一个云服务器集群,还可以是第三方安全权威验证服务提供商,在本说明书中不作特别限定。
上述风险分析服务端可以基于搭载的分析策略,对上述系统环境文件执行进一步的安全威胁分析;
其中,上述分析策略的具体分析逻辑,在本说明书中不进行特别限定;例如,上述分析策略具体可以是,根据上述系统环境文件所包含的采集设备的设备编码、采集证据文件时的地理位置信息、用户信息等进一步进行大数据分析,采集设备是否被冒用;比如,如果通过大数据分析,确定采集设备的实际地理位置信息与系统环境文件中的地理位置信息不符,则表明上述采集设备具有被冒用的风险。
而证据服务器可以获取上述风险分析服务器返回的分析结果,然后基于上述风险分析服务端返回的分析结果,来确定所述采集设备的系统环境是否存在安全风险。
例如,在示出的一种实施方式中,上述风险分析服务端返回的上述分析结果,为不大于1的评估参数,若上述评估参数小于0.1,则标识上述分析结果为安全验证通过,若上述评估参数大于0.9,则标识上述分析结果为安全验证不通过,若上述评估参数大于0.1且小于0.9,则标识上述分析结果为安全验证存疑状态,需要报告对应的告警提示,用于提醒用户进行人工确认及干预。
当然,在实际应用中,以上描述的针对上述目标证据文件的采集设备的采集环境的合法性验证的过程,具体也可以由证据服务器来完成;也即,在实际应用中,证据服务器除了可以通过调用部署在云端的风险分析服务器上的分析服务,来完成上述目标证据文件的采集设备的采集环境进行合法性验证以外,也将上述分析服务部署在证据服务器本地,使得证据服务器可以通过调用本地部署的分析服务,就可以完成以上描述的,针对上述目标证据文件的采集设备的采集环境进行合法性验证的过程,在本说明书中不进行特别限定。
c)证据文件的内容合法性验证
针对上述目标证据文件的合法性验证请求,若上述步骤b、c示出的验证过程都通过,证据服务器还可以基于区块链上存证的上述目标证据文件的摘要信息,来进一步验证上述目标证据文件的内容是否合法性。
具体地,在示出的一种实施方式中,上述证据服务器可以获取上述证据索引文件中的交易标识Tx_Hash,进一步将上述交易标识作为查询索引,查询并获得区块链中存证的上述目标证据文件的摘要信息Block_Evid_Hash,并验证上述证据索引文件中的上述目标证据文件的摘要信息Evid_Hash,和区块链中存证的上述目标证据文件的摘要信息Block_Evid_Hash是否匹配;
若匹配,表明该目标证据文件的内容合法,此时可以生成上述目标证据文件为合法证据文件的验证证书,并将上述验证证书返回至上述客户端;
其中,上述验证证据的具体内容格式,在本说明书中不进行特别限定;
例如,请参见图2,图2为本说明书示出的一种证据文件的验证证书的示意图。
如图2所示,在上述验证证书中,可以包括区块链中存证上述目标证据文件的交易的交易标识、上述目标证据文件的摘要信息、区块链中存证上述目标证据文件的交易所在的区块高度、区块链的名称、以及上述证据服务器的电子签名;比如,附图2中示出的“蚂蚁区块链”的电子图章即为上述证据服务器的电子签名。
在本说明书中,用户具体可以通过上述客户端与上述证据服务器进行交互,来实现针对上述目标证据的提取以及验证的业务流程。
具体地,在示出的一种优选的实施方式中,上述客户端可以为web客户端。在上述web客户端的用户界面中,可以向用户提供对应于本地存储的证据文件的提取入口选项和验证入口选项。
请参见附图3,图3为示出的一种上述web客户端的用户界面的示意图。
在上述web客户端的用户界面中可以包括“提取证据”按钮和“证据验证”按钮。
一方面,用户可以通过诸如点击等触发方式,触发附图3中的“提取证据”按钮;而上述web客户端可以响应用户针对该“提取证据”按钮的触发操作,向用户展示对应于上述证据服务器上存证的证据文件的证据文件列表,供用户从中选择待提取的目标证据文件。
当用户从中选择了待提取的目标证据文件之后,可以由上述证据服务器执行如上述“证据验证”中步骤a所述的“本地合法性验证”,在本地合法性验证通过后,并生成上述目标证据文件的提取记录,由上述web客户端通过报表的方式,将上述提取记录展现给用户。
其中,在上述提取记录中,可以包括上述目标证据文件的证据编号、文件名、文件类型及文件大小,采集时间及采集地点,采集设备的编号及型号、采集机构信息及使用采集设备执行采集的用户账号,上述目标证据文件的摘要信息以及区块链上存证该摘要信息的交易的交易标识(比如Tx_Hash)、上述目标证据文件的摘要信息对应的上链时间等信息。
需要说明的是,上述提取记录仅为示例性,在实际应用中,可以基于具体的需求,在上述提取记录中引入其它形式的信息,在本申请不作具体限定。
另一方面,用户可以通过诸如点击等触发方式,触发附图3中的“验证证据”按钮;而上述web客户端可以响应用户针对该“验证证据”按钮的触发操作,向上述证据服务器发起针对上述目标证据文件的验证请求,由上述证据服务器执行如上述的“证据索引文件的本地合法性验证”、“证据文件的采集环境的合法性验证”、“证据文件的内容合法性验证”,在上述三个合法性验证都通过后,并生成上述目标证据文件为合法证据文件的验证证书,由上述web客户端将上述验证证书展现给用户。
在以上技术方案中,通过在区块链上存证证据文件的摘要信息,在证据服务器本地存储与区块链上存证的证据文件的摘要信息对应的索引文件和证据文件的原始内容,使得证据服务器可以基于本地存储的证据索引文件,来快速查询在区块链上存证的证据文件的摘要信息,将其与本地存储的证据文件的摘要信息进行匹配,来对本地存储的证据文件进行合法性验证,从而可以实现证据文件的快速验真。
图4是本申请一示例性实施例提供的一种基于区块链的证据验证的装置的框图。与上述方法实施例相对应,本申请还提供了一种基于区块链的证据验证的装置的实施例,所述装置应用于证据服务器,请参考图4所示例的一种基于区块链的证据验证的装置40,所述装置包括:
接收模块401,接收客户端发起的针对本地存储的目标证据文件的验证请求;其中,所述目标证据文件的摘要信息预先在区块链中进行了存证;
读取模块402,响应于所述验证请求,读取本地存储的与所述目标证据文件对应的证据索引文件;其中,所述证据索引文件包括所述区块链中存证所述目标证据文件的摘要信息的目标交易的交易标识;以及,所述目标证据文件的摘要信息;
验证模块403,将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息,并验证所述证据索引文件中的所述目标证据文件的摘要信息,和区块链中存证的所述目标证据文件的摘要信息是否匹配;如果是,生成所述目标证据文件为合法证据文件的验证证书,并将所述验证证书返回至所述客户端。
在本申请实施例中,所述证据索引文件还包括:采集所述目标证据文件的采集设备的系统环境文件;
所述验证模块403进一步,包括:
基于所述证据索引文件中的所述系统环境文件,针对所述采集设备的系统环境进行安全验证;如果安全验证通过,进一步将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息。
在本申请实施例中,所述验证模块403进一步:
将所述系统环境文件发送至风险分析服务端;其中,所述风险分析服务端用于基于所述系统环境文件分析所述目标证据文件被采集时的系统环境是否存在风险;
基于所述风险分析服务端返回的分析结果确定所述采集设备的系统环境是否安全验证通过。
在本申请实施例中,所述证据索引文件还包括所述采集设备的设备证书链和用户证书链;以及,对应于所述采集设备的设备私钥签名和对应于所述采集设备的使用用户的用户私钥签名;
所述验证模块403进一步:
在将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息之前,从所述证据索引文件中的设备证书链和用户证书链中读取与所述设备私钥对应的设备公钥,以及与所述用户私钥对应的用户公钥;
基于读取到的设备公钥对所述设备私钥签名进行验证;以及,基于读取到的所述用户公钥对所述用户私钥签名进行验证;
如果所述设备私钥签名和所述用户私钥签名均验证通过,进一步将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息。
在本申请实施例中,所述验证模块403进一步:
基于本地存储的设备根证书对所述设备证书链进行验证;以及,基于本地存储的用户根证书对所述用户证书链进行验证;
如果对所述设备证书链和所述用户证书链均验证通过,进一步从所述证据索引文件中的设备证书链和用户证书链中读取与所述设备私钥对应的设备公钥,以及与所述用户私钥对应的用户公钥。
在本申请实施例中,所述证据索引文件还包括所述目标证据文件和所述系统环境文件的文件名;以及,所述系统环境文件的摘要信息;
所述验证模块403进一步:
如果所述设备私钥签名和所述用户私钥签名均验证通过,将所述目标证据文件和所述系统环境文件的文件名作为查询索引,查询本地存储的所述目标证据文件和所述系统环境文件;
计算本地存储的所述目标证据文件和所述系统环境文件的摘要信息,并验证本地存储的所述目标证据文件的摘要信息与所述证据索引文件中的所述目标证据文件的摘要信息;以及,本地存储的所述系统环境文件的摘要信息与所述证据索引文件中的所述系统环境文件的摘要信息是否均匹配;
如果是,进一步将所述交易标识作为查询索引,查询区块链中存证的所述目标证据文件的摘要信息。
在本申请实施例中,所述证据索引文件中还包括所述目标证据文件和所述系统环境文件在本地的存储路径;
所述验证模块403进一步:
将所述目标证据文件和所述系统环境文件的文件名作为查询索引,在所述证据索引文件中的所述目标证据文件和所述系统环境文件的存储路径下,查询所述目标证据文件和所述系统环境文件。
在本申请实施例中,所述客户端为web客户端;所述客户端向用户提供对应于本地存储的证据文件的提取入口选项和验证入口选项。
在本申请实施例中,所述摘要信息为哈希值。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本申请的基于区块链的证据验证的装置的实施例可以应用在图5所示的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将机器可读存储介质中对应的计算机程序指令读取后运行形成的机器可执行指令。从硬件层面而言,如图5所示,为本申请的基于区块链的证据验证的装置所在电子设备的一种硬件结构图,除了图5所示的处理器、通信接口、总线以及机器可读存储介质之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
对应地,本申请实施例还提供了图4所示装置的一种电子设备的硬件结构,请参见图5,图5为本申请实施例提供的一种电子设备的硬件结构示意图。该设备包含:通信接口501、处理器502、机器可读存储介质503和总线504;其中,通信接口501、处理器502、机器可读存储介质503通过总线504完成相互间的通信。其中,通信接口501,用于进行网络通信。处理器502可以是一个中央处理器(CPU),处理器502可以执行机器可读存储介质503中存储的机器可读指令,以实现以上描述的方法。
本文中提到的机器可读存储介质503可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质503可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。