CN110226317A - 数据认证方法、装置和系统 - Google Patents
数据认证方法、装置和系统 Download PDFInfo
- Publication number
- CN110226317A CN110226317A CN201880000293.XA CN201880000293A CN110226317A CN 110226317 A CN110226317 A CN 110226317A CN 201880000293 A CN201880000293 A CN 201880000293A CN 110226317 A CN110226317 A CN 110226317A
- Authority
- CN
- China
- Prior art keywords
- certification
- data
- record
- emulation
- node
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了数据认证方法、装置和系统。数据认证方法的一具体实施方式包括:响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;若验证通过,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。该实施方式实现了对无人驾驶车辆仿真测试数据的认证,能够保证认证结果的可靠性,同时减少了认证所耗费的时间和成本。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及信息传输技术领域,尤其涉及数据认证方法、装置和系统。
背景技术
在驾驶领域,通常车辆在出厂之前或召回进行问题修复后需要进行实地行驶进行测试,在安全行驶距离达到一定的里程数之后可以投入市场。
无人驾驶技术因其具有较好的安全前景和智能化路程规划而成为研究热点。无人驾驶车辆的决策和控制是由作为“车载大脑”的控制单元完成的,“车载大脑”通过算法控制车辆在各种道路场景中的驾驶行为。无人驾驶车辆在上路前也需要进行测试,目前对无人驾驶车辆的测试一般采用实地行驶记录行驶数据、机动车业务管理部门对车辆的行驶数据进行认证的方法。
发明内容
本申请实施例提出了数据认证方法、装置和系统。
第一方面,本申请实施例提供了一种数据认证方法,包括:响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;若验证通过,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。
在一些实施例中,上述认证请求是对用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,利用用户的账户对应的私钥进行签名而生成的;以及上述对认证请求进行验证,包括:获取用户的账户对应的公钥,并利用用户的公钥对认证请求进行解密;对解密得到的仿真数据进行验证。
在一些实施例中,上述仿真数据包括仿真日志;以及上述对解密得到的仿真数据进行验证,包括:对解密得出的仿真数据进行记录,并监测在记录成功之前是否接收到其他认证节点发出的记录结果;若在接收到其他认证节点发出的记录结果之前记录成功,向其他认证节点广播记录结果,以供收到记录结果的认证节点按照预设的校验规则对记录结果进行校验;若在接收到其他认证节点发出的记录结果之前未记录成功,按照预设的校验规则对接收到的记录结果进行校验;响应于校验通过的认证节点数量满足第一预设条件,确定仿真数据通过验证,根据对仿真数据进行记录的记录结果生成验证结果。
在一些实施例中,上述对解密得出的仿真数据进行记录,包括:将仿真日志与数据区块链中已存储的数据组成记录列表,执行如下认证操作:基于随机数和记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值;若是,确定对仿真日志记录成功,生成包含随机数和仿真数据的记录结果;若否,变更随机数,执行认证操作。
在一些实施例中,上述仿真数据包括二进制仿真文件;以及上述对解密得到的仿真数据进行验证,包括:运行二进制仿真文件,根据运行结果判断车辆是否通过自动驾驶测试,并向其它认证节点广播判断结果;响应于确定车辆通过自动驾驶测试的认证节点数量满足第二预设条件,生成用于指示认证请求通过验证的验证结果。
在一些实施例中,上述根据认证奖励信息生成最先完成验证的认证节点的奖励记录,包括:生成将认证奖励信息所指示的奖励与最先完成验证的认证节点对应的钱包地址相关联的记录。
在一些实施例中,数据认证方法还包括:获取用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据;向认证系统中的认证节点提交车辆通过自动驾驶场景测试的认证请求。
第二方面,本申请实施例提供了一种数据认证装置,包括:验证单元,用于响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;存储单元,用于在验证通过时,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。
第三方面,本申请实施例提供了一种数据认证系统,包括至少两个认证节点,至少两个认证节点采用分布式数据区块链对数据进行存储,认证节点用于:响应于接收到车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;若验证通过,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。
在一些实施例中,上述认证请求是对用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,利用用户的账户对应的私钥进行签名而生成的;以及上述认证节点按照如下方式对认证请求进行验证:获取用户的账户对应的公钥,并利用用户的公钥对认证请求进行解密;对解密得到的仿真数据进行验证。
在一些实施例中,上述仿真数据包括仿真日志;以及认证节点用于按照如下方式对解密得到的仿真数据进行验证:对解密得出的仿真数据进行记录,并监测在记录成功之前是否接收到其他认证节点发出的记录结果;若在接收到其他认证节点发出的记录结果之前记录成功,向其他认证节点广播记录结果,以供收到记录结果的认证节点按照预设的校验规则对记录结果进行校验;若在接收到其他认证节点发出的记录结果之前未记录成功,按照预设的校验规则对接收到的记录结果进行校验;响应于校验通过的认证节点数量满足第一预设条件,确定仿真数据通过验证,根据对仿真数据进行记录的记录结果生成验证结果。
在一些实施例中,上述认证节点用于按照如下方式对解密得出的仿真数据进行记录:将仿真日志与数据区块链中已存储的数据组成记录列表,执行如下认证操作:基于随机数和记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值;若是,确定对仿真日志记录成功,生成包含随机数和仿真数据的记录结果;若否,变更随机数,执行认证操作。
在一些实施例中,上述仿真数据包括二进制仿真文件;以及认证节点用于按照如下方式对解密得到的仿真数据进行验证:运行二进制仿真文件,根据运行结果判断车辆是否通过自动驾驶测试,并向其它认证节点广播判断结果;响应于确定车辆通过自动驾驶测试的认证节点数量满足第二预设条件,生成用于指示认证请求通过验证的验证结果。
在一些实施例中,上述认证节点用于按照如下方式生成奖励记录:生成将认证奖励信息所指示的奖励与最先完成验证的认证节点对应的钱包地址相关联的记录。
在一些实施例中,上述认证节点还用于:获取用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据;向认证系统中的其他认证节点提交车辆通过自动驾驶场景测试的认证请求。
第四方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如第一方面提供的数据认证方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面提供的数据认证方法。
本申请实施例提供的数据认证方法、装置和系统,响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,该认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息,在验证通过时,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链,实现了对无人驾驶车辆仿真测试数据的认证,能够保证认证结果的可靠性,同时减少了认证所耗费的时间和成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的数据认证方法的一个实施例的流程示意图;
图3是根据本申请的数据认证方法的另一个实施例的流程示意图;
图4是根据本申请的数据认证方法的一个应用场景示意图;
图5是根据本申请的数据认证装置的一个实施例的结构示意图;
图6是根据本申请的数据认证系统的一个结构及应用场景示意图;
图7是适于用来实现本申请实施例的数据认证系统中的各认证节点的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据认证方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端1011、1012、1013、1014等,服务器1021、1022、1023、1024等以及网络。网络用以在终端1011与服务器1021之间、终端1012与服务器1022之间、终端1013与服务器1023之间、终端1014与服务器1024之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
服务器1021、1022、1023、1024等可以是提供数据认证服务的数据认证系统中的节点,用于对提交至该数据认证系统的认证请求进行处理。服务器1021、1022、1023、1024等可以组成分布式数据存储架构,对接入该数据认证系统的数据进行存储。各服务器之间也可以通过网络连接。
终端1011、1012、1013、1014可以分别为不同用户群体所使用的终端。在本实施例的场景中,终端1011、1012、1013、1014可以分别为汽车厂商用户110、车辆管理政府机构用户120、OEM(Original Equipment Manufacturer,原始设备制造商)用户130、以及高校用户140。这些用户可以使用对应的终端接入数据认证系统,向数据认证系统提交认证请求或执行数据认证系统的认证任务。
相应地,作为认证节点的各服务器1021、1022、1023、1024等可以是为汽车厂商、车辆管理政府机构、OEM、以及高校等机构提供数据认证所需要的运算服务和存储服务的服务器,例如图1所示服务器1021、1022、1023、1024分别是为汽车厂商、车辆管理政府机构、OEM、高校提供数据认证和数据存储服务的服务器。
终端1011、1012、1013、1014等可以安装有数据认证应用,用户可以通过该数据认证应用与对应的服务器1021、1022、1023、1024等进行交互。服务器1021、1022、1023、1024等所组成的认证系统可以将数据认证结果发送给对应的终端。
需要说明的是,本申请实施例所提供数据认证方法可以由上述系统架构中的服务器1021、1022、1023、1024等执行。
应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。例如服务器可以为集群式的服务器,包括部署了不同进程的多台服务器。
请参考图2,其示出了根据本申请的数据认证方法的一个实施例的流程200。该数据认证方法包括以下步骤:
步骤201,响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证。
认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息。
认证系统可以是应用于对无人驾驶车辆的仿真驾驶数据进行认证的系统,认证系统中的认证节点可以包括由政府部门(例如车辆管理政府机构)、高校等研发机构、车厂、原始设备制造商(可以为生产车辆主机的厂商)等用户主体对应的服务器运行数据认证服务的节点,每个认证节点与一个用户账户关联,每个节点可以部署一台或多台服务器,且每个节点可以包含一个安装在终端上的认证客户端,该认证客户端可以提供用户接口,以供用户与认证系统交互。
在本实施例中,数据认证方法运行于其上的电子设备(例如图1所示的服务器)可以监测认证系统中的认证节点是否提交了认证请求,该认证请求可以是车辆通过自动驾驶场景测试的认证请求,可以包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息。
车厂可以在自动驾驶开放平台提供的模拟器中运行仿真服务,来对车辆的驾驶行为进行测试。自动驾驶开放平台中的模拟器可以提供一系列的模拟驾驶场景,这些模拟驾驶场景可以由道路场景数据构建。具体地,模拟驾驶场景可以由车载传感器采集的实际道路场景数据构建,例如可以采集路口处车道线、交通灯、行人、周边车辆的数据以及车辆在转弯时各传感器的数据来构建模拟驾驶场景;也可以由根据测试需求设定的模拟场景数据来构建,例如可以设置道路障碍物的位置、车辆在避障时的操控数据等来构建模拟驾驶场景。
可以在上述模拟驾驶场景中进行自动驾驶测试,采集车辆在该场景中行驶时产生的操控数据,根据模拟驾驶场景的场景数据以及测试过程中车辆的操控数据生成仿真数据。在生成仿真数据之后,可以将仿真数据提交至认证系统,请求认证。同时可以提交认证奖励信息,认证奖励信息用于指示对仿真数据成功认证后可获得的奖励,该奖励由发布认证请求的用户提供。在实际场景中,该认证请求可以是在车辆在模拟驾驶场景中通过了一项或多项测试后发出的,可以是声明车辆通过了某项测试的认证请求。
上述数据认证方法运行于其上的电子设备可以是认证系统中的一个认证节点,在监测到其他认证节点发布的上述认证请求时,可以对该请求执行验证操作。具体可以对仿真数据的真实性或可信度进行验证。验证的方法可以为对仿真数据进行解析,得出车辆的各项性能数据、模拟驾驶场景数据以及车辆在模拟驾驶场景中测试的操控数据,然后根据解析得出的数据判断车辆是否合格。其中车辆的性能数据可以例如包括车辆的动力性数据、制动性数据、避障性能数据、安全完成行程可靠性数据、行驶稳定性数据等,对车辆的性能数据的验证可以包括判断车辆的性能是否达到合格指标。还可以对模拟驾驶场景数据以及车辆在模拟驾驶场景中的操控数据进行分析,判断是否符合安全行驶的标准,例如判断车辆是否可以合理避障、在紧急情况下是否及时制动等。
在本实施例的一些可选的实现方式中,认证系统中的各认证节点可以同时执行上述对认证请求进行验证的操作。通常验证操作需要一定的时间,由于不同认证节点的计算能力不同,各认证节点执行验证操作所花费的时间可能不相同。可选地,认证系统中的各认证节点可以发布该节点完成验证且验证结果为“合格”的消息,当确定验证结果为“合格”的认证节点数量超过预设数量时,可以确定验证通过。
在本实施例的一些可选的实现方式中,当认证系统中的一个认证节点根据上述合格条件确定车辆通过测试时,即可以确定上述认证请求验证通过。这时,该认证节点可以在认证系统中广播验证通过的消息,以告知其他认证节点验证结果。
步骤202,若验证通过,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。
上述认证系统中的各认证节点均可以执行验证操作。在本实施例中,若上述数据认证方法运行于其上的电子设备确定上述认证请求通过验证,可以生成最先完成验证的认证节点的奖励记录,该奖励记录可以是根据发布的认证请求中所包含的认证奖励信息生成的。该认证奖励信息可以包括奖励数额、奖励方式等。每个认证节点可以具有唯一标识,例如可以与唯一的用户账户关联,可以记录该认证奖励信息与最先完成验证的认证节点的标识之间的关联关系,或者将认证奖励信息中的奖励数额记录至最先完成验证的认证节点对应的奖励信息集合中。
上述认证系统可以以分布式数据区块链的方式存储数据。数据区块链即链式数据区块,每个数据区块可以包含一次验证的相关数据。分布式数据区块链以分布式数据结构对数据区块进行链式存储。认证系统中的各认证节点可以维护相同的数据区块链。在本实施例中,如果上述电子设备是最先完成验证的认证节点,则该电子设备可以将验证结果和奖励记录打包为一个新的数据区块,在分布式数据区块链末端添加这个数据区块;如果上述电子设备不是最先完成验证的认证节点,则该电子设备可以获取其他认证节点发送的验证结果,并将生成的奖励记录与验证结果打包为一个新的数据区块,在分布式数据区块链末端添加这个数据区块。在这里,验证结果可以包括验证的结论,例如“车辆性能数据合格”、“车辆在模拟驾驶场景中的操控数据符合安全行驶的标准”等,还可以包括验证过程中所产生的数据,例如在对数据解析过程中所使用的参数,以及对仿真数据进行变换后产生的数据等。
本申请上述实施例的数据认证方法,响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,该认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息,在验证通过时,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链,实现了对无人驾驶车辆仿真测试数据的认证,能够确保认证结果可靠,同时减少了认证所耗费的时间和成本。
在一些实施例中,上述认证请求是对用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,利用用户的账户对应的私钥进行签名而生成的。这时,上述步骤201中对认证请求进行验证可以按照如下方式进行:获取用户的账户对应的公钥,并利用用户的公钥对认证请求进行解密;对解密得到的仿真数据进行验证。
具体来说,各认证节点可以获取其所服务的用户的账户标识,该标识可以为用户账户对应的私钥,也可以为与用户的账户对应的私钥和公钥相关联的用户身份信息,可以通过该标识来获取关联的用户的账户对应的私钥和公钥。在一些场景中,用户在通过客户端提交车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据时可以同时提交其账户标识,或者提交私钥和公钥,这样,与客户端连接的服务器可以利用私钥对提交的仿真数据进行签名,并将公钥广播至认证系统的各认证节点。具体地,可以对仿真数据进行哈希运算生成摘要,然后利用私钥对摘要进行加密,将加密后的摘要作为仿真数据的摘要的签名,与仿真数据合并生成认证请求。
上述数据认证方法运行于其上的电子设备可以获取提交仿真数据的用户的账户对应的公钥,利用公钥对认证请求进行解密。具体来说,解密时可以对接收到的仿真数据进行哈希运算生成摘要,然后利用公钥对接收到的签名进行解密,若解密得出的摘要与对仿真数据进行哈希运算生成摘要相同,则可以确定该仿真数据是由拥有该公钥的用户提交的,从而可以确认提交认证请求的用户的身份。
在实际场景中,各认证节点所服务的用户具有唯一的标识,该标识对应唯一的私钥和公钥对,例如某品牌汽车生产厂商标识为A,则该用户A在提交仿真数据时,可以利用其私钥对仿真数据进行签名,以便认证系统中的认证节点根据公钥解密后确认该仿真数据的提交者为用户A。这样,可以保证认证系统所认证的数据来源是可以追溯的,提升认证系统的可靠性。
在用户提交上述仿真数据时,还可以一并提交认证奖励信息,则在进行签名时可以对仿真数据和认证奖励信息一并进行哈希运算得出摘要,并对摘要进行数字签名。这样,包含上述数据认证方法运行于其上的电子设备的各认证节点可以通过解密得出仿真数据、认证奖励信息,以及确认提交者的身份。
在上述实施例中,用户提交的仿真数据可以是仿真日志,也可以是二进制仿真文件。其中仿真日志(log)可以是仿真操作的时间、使用者、详细操作内容等相关事件的描述或记录,通过仿真日志可以获取这些相关信息,但无法复现仿真过程。二进制仿真文件(binary)是可执行的文件,是由实现仿真测试的源代码编译生成的文件。通过运行二进制仿真文件可以复现仿真过程,进而观测车辆是否通过自动驾驶场景测试。
针对包含不同仿真数据的认证请求,可以采用不同的方法来进行验证。请参考图3,其示出了根据本申请的数据认证方法的另一个实施例的流程示意图。该数据认证方法的流程300,包括以下步骤:
步骤301,响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,获取提交仿真数据的用户的账户对应的公钥,并利用用户的公钥对认证请求进行解密。
用户通过客户端提交车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据和认证奖励信息之后,对应的节点可以在认证系统中广播包含仿真数据和认证奖励信息的认证请求。数据认证方法运行于其上的电子设备在接收到认证请求后可以获取提交仿真数据的用户的账户对应的公钥,利用公钥解密,从而得出仿真数据、认证奖励信息以及用户的身份验证结果。
接着,如果仿真数据包括仿真日志,则执行步骤302,对解密得出的仿真数据进行记录,并监测在记录成功之前是否接收到其他认证节点发出的记录结果。
在本实施例中,上述电子设备可以对解密得出的仿真数据进行记录,其他认证节点也可以接收认证请求并利用公钥解密得出仿真数据,并执行对仿真数据的记录操作。上述电子设备在记录仿真数据的过程中可以监测是否接收到其他认证节点发出的记录结果。
一般地,不同认证节点的算力不相同,执行记录操作所花费的时间也不相同,其中算力可以表示执行运算的速率。在本实施例中,当其中一个认证节点记录成功时,可以向其他认证节点广播记录结果,其他认证节点在接收到记录结果后,可以停止执行记录操作。也就是说,认证系统中的各认证节点可以同时执行记录操作,最先记录成功的认证节点广播其完成记录的消息后,其他节点终止记录操作,以保证生成的数据区块链的一致性。因此,在认证节点执行记录操作的同时,需要检测是否接收到其他认证节点广播的记录结果。
可选地,上述对解密得出的仿真数据进行记录的步骤可以按照如下方式实现:首先,将仿真日志与数据区块链中已存储的数据组成记录列表,执行认证操作。认证操作包括:基于随机数和记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值。若认证操作的判断结果为是,确定对仿真日志记录成功,生成包含随机数和仿真数据的记录结果;若认证操作的判断结果为否,变更随机数,执行上述认证操作。在这里,预设的目标值可以由提供模拟驾驶场景的平台的开发者设定。
具体来说,可以将数据区块链中已有的数据区块与仿真日志打包组成记录列表,通过Merkle Tree(默克尔树)算法生成Merkle Root Hash(默克尔根哈希值)。然后将Merkle Root Hash和随机数nonce与其他相关字段组成区块头。这里的相关字段可以包括上一个数据区块的哈希值、时间戳、预设的目标值等。之后对区块头做双重哈希值大小为256位的哈希运算(双重SHA256运算),比对哈希运算的结果是否与预设的目标值一致。如果哈希运算结果与预设的目标值一致,则可以确定记录成功,生成包含当前的随机数和仿真数据的记录结果;如果哈希运算结果与预设的目标值不一致,则变更随机数,返回重复执行将Merkle Root Hash、随机数nonce和相关字段组成区块头,并对区块头做双重SHA256运算,判断哈希运算结果与预设的目标值是否一致的步骤,直到哈希运算结果与预设的目标值一致或接收到其他认证节点发出的记录结果,停止认证操作。
在确定对仿真日志记录成功时,可以将由Merkle Root Hash、随机数nonce以及相关字段组成的区块头与仿真日志组合为一个新的数据区块,这个新的数据区块即为记录结果。
如果步骤302的监测结果为“否”,即在接收到其他认证节点发出的记录结果之前记录成功,执行步骤303,向其他认证节点广播记录结果,以供收到记录结果的认证节点按照预设的校验规则对记录结果进行校验。
具体来说,在接收到其他认证节点发出的记录结果之前对仿真数据记录成功,也就是上述电子设备作为最先记录成功的认证节点,可以将记录结果广播至其他认证节点,以便其他认证节点在校验后将记录结果写入数据区块链,从而保证不同认证节点所存储的数据区块链的一致性。记录结果可以包括完成记录的时间、仿真数据、记录操作中所使用的参数等。
如果步骤302的监测结果为“是”,即在接收到其他认证节点发出的记录结果之前未记录成功,执行步骤304,按照预设的校验规则对记录结果进行校验。
在接收到其他认证节点广播的记录结果之后,可以对记录结果进行校验。校验规则可以预先设定,可例如包括字节数是否小于预设的字节数,记录操作所使用的参数是否在预设范围内,利用记录操作所使用的参数对仿真数据进行变换后生成的数据是否满足预设的条件等等。
可选地,若上述记录操作是按照如下方式执行的:将仿真日志与数据区块链中已存储的数据组成记录列表,执行认证操作,认证操作包括基于随机数和记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值;若是,确定对仿真日志记录成功,生成包含随机数和仿真数据的记录结果;若否,变更随机数,执行认证操作。记录结果包括由Merkle Root Hash、随机数nonce、上述相关字段以及仿真数据组成的数据区块,则预设的校验规则可以包括与数据区块的结构、数据区块中各数据相关的规则,例如可以包括但不限于:数据区块的数据结构为预设的数据结构、由Merkle Root Hash、随机数nonce和相关字段组成的区块头的双重SHA256运算结果是否与预设的目标值一致,仿真数据的字节数是否满足预设的条件、以及与时间戳等字段相关的规则。
校验通过后,可以向其他节点广播校验结果以及上述记录结果,以便其他节点对记录结果进行校验。
在步骤303或步骤304之后,执行步骤305,响应于校验通过的认证节点数量满足第一预设条件,确定仿真数据通过验证,根据对仿真数据进行记录的记录结果生成验证结果。
认证系统中的各认证节点可以在校验通过后向其他认证节点广播校验结果和从最先完成记录操作的节点接收到的记录结果。校验结果可以包括校验通过的消息或校验未通过的消息。当接收到满足第一预设条件的数量的认证节点发送的校验通过消息时,可以确定仿真数据通过验证。这时,可以根据对仿真数据的记录结果生成验证结果,具体可以生成包含记录结果的数据区块,作为验证结果。可选地,若记录结果为由Merkle Root Hash、随机数nonce、上述相关字段组成以及仿真数据组成的数据区块,则可以将记录结果作为对仿真数据的验证结果。
上述第一预设条件可以是包括不小于第一阈值,或者可以是超过认证系统中的认证节点数量的一半。当校验通过的认证节点数量满足第一预设条件时,可以认为足够多的认证节点达成了确认仿真数据可信度和可靠性的共识,这时可以确定仿真数据通过验证,进而根据在对认证请求进行验证时得出的记录结果来生成验证结果。
在上述步骤301-步骤305的流程中,认证系统中的各认证节点均可以执行对认证请求的验证,各认证节点之间通过广播的方式进行信息共享。并且,在其中一个认证节点完成数据记录之后,其他认证节点通过校验记录结果来确保验证结果的可靠性。认证系统中的各认证节点组成区块链网络,数据记录成功的条件是找到满足条件的随机数,使得记录结果不易被篡改,实现了去中心化的数据认证系统,提升了数据认证系统的安全性。
如果步骤301的结果为仿真数据是二进制仿真文件,则可以执行步骤306,运行二进制仿真文件,根据运行结果判断车辆是否通过自动驾驶测试,并向其他认证节点广播判断结果。
二进制仿真文件是对用于实现仿真逻辑的源代码进行编译后生成的可执行文件,运行二进制仿真文件即可还原车辆在模拟驾驶场景中进行自动驾驶测试的全部数据。这些数据包括车辆的行驶状态数据、道路场景数据、操控数据等等。则可以根据运行结果判断车辆是否通过自动驾驶测试。具体来说,可以判断车辆在模拟驾驶场景中的行驶状态、操控是否可达到预设的标准。在这里,预设的标准可以包括自动驾驶的安全性、稳定性等标准。举例来说,可以判断车辆在路口是否可以正确判断交通信号灯的指示,是否可以避让行人和其他车辆、是否有违章驾驶行为、路线规划是否合理等等。在运行二进制文件之后可以向其他认证节点广播判断结果,即在认证系统中共享单个认证节点的验证结果。
接着,执行步骤307,响应于确定车辆通过自动驾驶测试的认证节点数量满足第二预设条件,生成用于指示认证请求通过验证的验证结果。
在接收到满足第二预设条件的数量的认证节点发布的确认车辆通过自动驾驶测试的判断结果之后,可以确定认证请求通过验证,并生成用于指示认证请求通过验证的验证结果。
通过上述步骤301、步骤306、以及步骤307的流程,可以实现对包含二进制仿真文件的认证请求的验证。
在上述步骤305或步骤307之后,若确定验证通过,执行步骤308,生成将认证奖励信息所指示的奖励与最先完成验证的认证节点对应的钱包地址相关联的记录并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。
在本实施例中,各认证节点具有钱包地址,该钱包地址可以是一个字符串。与这个钱包地址关联的收益可以归属于该认证节点对应的用户。可选地,钱包地址可以由用户的公钥进行哈希运算生成,各认证节点可以对最先完成验证的认证节点的公钥进行哈希运算得到最先完成验证的认证节点的钱包地址,并将认证奖励信息所指示的奖励与该钱包地址相关联、与验证结果一并记录至分布式数据区块链中。其中,最先完成验证的认证节点可以为最先完成对仿真日志的记录操作并广播记录结果的认证节点,或者最先完成对二进制仿真文件的运行及运行结果的判断的认证节点。
在实际场景中,可以设定奖励规则,设定完成验证后所能获得的奖励。针对不同类型的仿真数据所需提供的奖励的数额可以不相同。例如当用户提交的仿真数据为仿真日志时,由于仿真日志不能完整复现仿真过程,验证难度较大,可以设定需要提供的较大数额的奖励;当用户提交的仿真数据为二进制仿真文件时,由于二进制仿真文件能够复现仿真过程,验证难度较小,可以设定需要提供的较小数额的奖励。用户在提交仿真数据时需要提供仿真数据类型对应的数额的奖励。这样,通过认证奖励信息鼓励更多认证节点加入认证系统执行认证操作,提升认证系统的稳定性。
在上述各实施例的一些可选的实现方式中,上述数据认证方法还可以包括:获取用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据;向认证系统中的认证节点提交车辆通过自动驾驶场景测试的认证请求。即数据认证方法运行于其上的电子设备作为认证系统中的一个节点,可以作为请求设备,接收用户提交的仿真数据,并向认证系统中的其他认证节点提交认证请求。
具体地,认证节点在接入认证系统之后,用户可以通过该认证节点的客户端提交车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,并请求认证系统验证。客户端可以将仿真数据提交至认证节点的服务器,服务器向其他认证节点发出车辆通过自动驾驶场景测试的认证请求。在实际场景中,车厂或研究机构在自动驾驶仿真平台上对车辆完成测试之后,可以向认证系统提交一个包含仿真数据的请求,在请求中声明车辆通过了测试。这时,车厂或研究机构对应的认证节点为请求端,认证系统中的其他认证节点可以作为接收端,对接收到的认证请求进行验证。
这样,上述数据认证方法所应用的认证系统中的各认证节点可以作为请求端发出认证请求,也可以作为接收端对认证请求进行验证。各认证节点之间通过网络建立通信连接,组成了一个“去中心化”的认证系统,使得数据认证的可靠性得到保障。
图4是根据本申请实施例的数据认证方法的一个应用场景的示意图。如图4所示,服务器403可以接收服务器402广播的认证请求,该认证请求是服务器402根据终端401提交的仿真数据生成的,包含仿真数据和认证奖励信息。服务器403可以执行对认证请求的验证操作,生成验证结果和奖励记录,将验证结果和奖励记录打包为一个新的数据区块添加至分布式数据区块链中。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种数据认证装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的数据认证装置500可以包括:验证单元501和存储单元502。其中,验证单元501用于响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;存储单元502用于在验证通过时,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。
在一些实施例中,上述认证请求是对用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,利用用户的账户对应的私钥进行签名而生成的,则验证单元501可以进一步用于:获取用户的账户对应的公钥,并利用用户的公钥对认证请求进行解密;对解密得到的仿真数据进行验证。
在一些实施例中,上述仿真数据可以包括仿真日志,则验证单元501可以进一步用于按照如下方式对解密得到的仿真数据进行验证:对解密得出的仿真数据进行记录,并监测在记录成功之前是否接收到其他认证节点发出的记录结果;若在接收到其他认证节点发出的记录结果之前记录成功,向其他认证节点广播记录结果,以供收到记录结果的认证节点按照预设的校验规则对记录结果进行校验;若在接收到其他认证节点发出的记录结果之前未记录成功,按照预设的校验规则对接收到的记录结果进行校验;响应于校验通过的认证节点数量满足第一预设条件,确定仿真数据通过验证,根据对仿真数据进行记录的记录结果生成验证结果。
在进一步的实施例中,验证单元501可以按照如下方式对解密得出的仿真数据进行记录:将仿真日志与数据区块链中已存储的数据组成记录列表,执行如下认证操作:基于随机数和记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值;若是,确定对仿真日志记录成功,生成包含随机数和仿真数据的记录结果;若否,变更随机数,执行认证操作。
在一些实施例中,仿真数据可以包括二进制仿真文件,验证单元501可以进一步按照如下方式对解密得到的仿真数据进行验证:运行二进制仿真文件,根据运行结果判断车辆是否通过自动驾驶测试,并向其它认证节点广播判断结果;响应于确定车辆通过自动驾驶测试的认证节点数量满足第二预设条件,生成用于指示认证请求通过验证的验证结果。
在一些实施例中,上述存储单元502可以用于按照如下方式生成最先完成验证的认证节点的奖励记录:生成将认证奖励信息所指示的奖励与最先完成验证的认证节点对应的钱包地址相关联的记录。
在一些实施例中,数据认证装置500还可以包括:获取单元,用于获取用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据;以及提交单元,用于向认证系统中的认证节点提交车辆通过自动驾驶场景测试的认证请求。
应当理解,装置500中记载的诸单元与参考图2和图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
本申请实施例还提供了一种数据认证系统,包括至少两个认证节点,至少两个认证接节点采用分布式数据区块链对数据进行存储。该数据认证系统的结构示意如图1所示。各认证节点可以分布于不同的地理位置,与对应的用户的客户端连接。
认证系统中的认证节点用于执行以上实施例描述的数据认证方法,具体用于:响应于接收到车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证;若验证通过,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链;其中,认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息。
认证系统中的各认证节点可以作为接收端,监测其他认证节点发出的认证请求,当接收到其他任一认证节点发出的车辆通过自动驾驶场景测试的认证请求时,可以启动对该认证请求的验证。在这里,认证请求可以是由其他任一认证节点接收到用户通过客户端提交的仿真数据后发出的。具体的验证方法可以包括:解析认证请求以获取其中的仿真数据,对仿真数据的真实性进行验证,例如可以判断仿真数据是否满足预设的可靠性条件。
各接收到认证请求的认证节点可以同时对认证请求进行验证。当其中一个认证节点完成验证并确定仿真数据可信时,或者当满足预设数量的认证节点完成验证并确定仿真数据可信时,可以确定对认证请求的验证通过。在此过程中,各认证节点保持通信,可以相互传输认证结果。
认证系统中的各认证节点存储相同的数据区块链,该数据区块链记录了认证系统中所有的已被认证的数据。在确定对认证请求的验证通过之后,认证节点可以根据认证奖励信息生成对最先完成验证的认证节点进行奖励的奖励记录,将验证结果和奖励记录写入数据区块链中。
在一些实施例中,上述认证请求是对用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,利用用户的账户对应的私钥进行签名而生成的。则接收认证请求的认证节点可以用于按照如下方式对认证请求进行验证:获取用户的账户对应的公钥,并利用用户的公钥对认证请求进行解密;对解密得到的仿真数据进行验证。
在一些实施例中,仿真数据可以包括仿真日志,接收到认证请求的认证节点可以按照如下方式对解密得到的仿真数据进行验证:对解密得出的仿真数据进行记录,并监测在记录成功之前是否接收到其他认证节点发出的记录结果;若在接收到其他认证节点发出的记录结果之前记录成功,向其他认证节点广播记录结果,以供收到记录结果的认证节点按照预设的校验规则对记录结果进行校验;若在接收到其他认证节点发出的记录结果之前未记录成功,按照预设的校验规则对接收到的记录结果进行校验;响应于校验通过的认证节点数量满足第一预设条件,确定仿真数据通过验证,根据对仿真数据进行记录的记录结果生成验证结果。
进一步地,接收到认证请求的认证节点可以按照如下方式对解密得出的仿真数据进行记录:将仿真日志与数据区块链中已存储的数据组成记录列表,执行如下认证操作:基于随机数和记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值;若是,确定对仿真日志记录成功,生成包含随机数和仿真数据的记录结果;若否,变更随机数,执行认证操作。
在一些实施例中,仿真数据可以包括二进制仿真文件,则接收到认证请求的认证节点可以按照如下方式对解密得到的仿真数据进行验证:运行二进制仿真文件,根据运行结果判断车辆是否通过自动驾驶测试,并向其它认证节点广播判断结果;响应于确定车辆通过自动驾驶测试的认证节点数量满足第二预设条件,生成用于指示认证请求通过验证的验证结果。
在一些实施例中,认证节点可以在验证通过后,生成将认证奖励信息所指示的奖励与最先完成验证的认证节点对应的钱包地址相关联的记录,作为根据认证奖励信息生成的最先完成验证的认证节点的奖励记录。
在一些实施例中,认证节点可以作为请求端,可以用于获取用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据;向认证系统中的其他认证节点提交车辆通过自动驾驶场景测试的认证请求。其他认证节点作为接收端执行对请求端发出的认证请求验证的操作。
图6示意性地示出了根据本申请的数据认证系统的一个结构及应用场景。如图6所示,认证系统包括认证节点601、602、603、604、605,各认证节点之间相互连接,且每个认证节点都存储数据区块链A。认证节点601向其他认证节点广播包含仿真数据的认证请求之后,其他节点602、603、604、605执行对认证请求的验证操作。当认证节点602首先完成验证生成新的区块B之后,向其他认证节点601、603、604、605广播新的区块B,其它认证节点可以对新的区块B进行校验,校验通过后,各认证节点601、602、603、604、605将新的区块B写入区块链A的末端,形成区块链A+B。
下面参考图7,其示出了适于用来实现本申请实施例的数据认证系统中的各认证节点的计算机系统700的结构示意图。图7示出的计算机系统仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括验证单元和存储单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,验证单元还可以被描述为“响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对认证请求进行验证,认证请求包括车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;若验证通过,根据认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和奖励记录写入认证系统对应的分布式数据区块链。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (17)
1.一种数据认证方法,包括:
响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对所述认证请求进行验证,所述认证请求包括所述车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;
若验证通过,根据所述认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和所述奖励记录写入所述认证系统对应的分布式数据区块链。
2.根据权利要求1所述的方法,其中,所述认证请求是对用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,利用所述用户的账户对应的私钥进行签名而生成的;以及
所述对所述认证请求进行验证,包括:
获取所述用户的账户对应的公钥,并利用所述用户的公钥对所述认证请求进行解密;
对解密得到的仿真数据进行验证。
3.根据权利要求2所述的方法,其中,所述仿真数据包括仿真日志;以及
所述对解密得到的仿真数据进行验证,包括:
对解密得出的仿真数据进行记录,并监测在记录成功之前是否接收到其他认证节点发出的记录结果;
若在接收到其他认证节点发出的记录结果之前记录成功,向其他认证节点广播记录结果,以供收到所述记录结果的认证节点按照预设的校验规则对所述记录结果进行校验;
若在接收到其他认证节点发出的记录结果之前未记录成功,按照预设的校验规则对接收到的记录结果进行校验;
响应于校验通过的认证节点数量满足第一预设条件,确定所述仿真数据通过验证,根据对所述仿真数据进行记录的记录结果生成验证结果。
4.根据权利要求3所述的方法,其中,所述对解密得出的仿真数据进行记录,包括:
将所述仿真日志与数据区块链中已存储的数据组成记录列表,执行如下认证操作:基于随机数和所述记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值;
若是,确定对所述仿真日志记录成功,生成包含所述随机数和所述仿真数据的记录结果;
若否,变更所述随机数,执行所述认证操作。
5.根据权利要求2所述的方法,其中,所述仿真数据包括二进制仿真文件;以及
所述对解密得到的仿真数据进行验证,包括:
运行所述二进制仿真文件,根据运行结果判断所述车辆是否通过自动驾驶测试,并向其它认证节点广播判断结果;
响应于确定车辆通过自动驾驶测试的认证节点数量满足第二预设条件,生成用于指示所述认证请求通过验证的验证结果。
6.根据权利要求1所述的方法,其中,所述根据所述认证奖励信息生成最先完成验证的认证节点的奖励记录,包括:
生成将所述认证奖励信息所指示的奖励与所述最先完成验证的认证节点对应的钱包地址相关联的记录。
7.根据权利要求1所述的方法,其中,所述方法还包括:
获取用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据;
向所述认证系统中的认证节点提交车辆通过自动驾驶场景测试的认证请求。
8.一种数据认证装置,包括:
验证单元,用于响应于接收到向认证系统中的认证节点提交的车辆通过自动驾驶场景测试的认证请求,对所述认证请求进行验证,所述认证请求包括所述车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;
存储单元,用于在验证通过时,根据所述认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和所述奖励记录写入所述认证系统对应的分布式数据区块链。
9.一种数据认证系统,包括至少两个认证节点,所述至少两个认证节点采用分布式数据区块链对数据进行存储,认证节点用于:
响应于接收到车辆通过自动驾驶场景测试的认证请求,对所述认证请求进行验证,所述认证请求包括所述车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据以及认证奖励信息;
若验证通过,根据所述认证奖励信息生成最先完成验证的认证节点的奖励记录,并将验证结果和所述奖励记录写入所述认证系统对应的分布式数据区块链。
10.根据权利要求9所述的数据认证系统,其中,所述认证请求是对用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据,利用所述用户的账户对应的私钥进行签名而生成的;以及
所述认证节点按照如下方式对所述认证请求进行验证:
获取所述用户的账户对应的公钥,并利用所述用户的公钥对所述认证请求进行解密;
对解密得到的仿真数据进行验证。
11.根据权利要求10所述的数据认证系统,其中,所述仿真数据包括仿真日志;以及
所述认证节点用于按照如下方式对解密得到的仿真数据进行验证:
对解密得出的仿真数据进行记录,并监测在记录成功之前是否接收到其他认证节点发出的记录结果;
若在接收到其他认证节点发出的记录结果之前记录成功,向其他认证节点广播记录结果,以供收到所述记录结果的认证节点按照预设的校验规则对所述记录结果进行校验;
若在接收到其他认证节点发出的记录结果之前未记录成功,按照预设的校验规则对接收到的记录结果进行校验;
响应于校验通过的认证节点数量满足第一预设条件,确定所述仿真数据通过验证,根据对所述仿真数据进行记录的记录结果生成验证结果。
12.根据权利要求11所述的数据认证系统,其中,所述认证节点用于按照如下方式对解密得出的仿真数据进行记录:
将所述仿真日志与数据区块链中已存储的数据组成记录列表,执行如下认证操作:基于随机数和所述记录列表进行哈希运算,判断哈希运算结果是否满足预设的目标值;
若是,确定对所述仿真日志记录成功,生成包含所述随机数和所述仿真数据的记录结果;
若否,变更所述随机数,执行所述认证操作。
13.根据权利要求10所述的数据认证系统,其中,所述仿真数据包括二进制仿真文件;以及
所述认证节点用于按照如下方式对解密得到的仿真数据进行验证:
运行所述二进制仿真文件,根据运行结果判断所述车辆是否通过自动驾驶测试,并向其它认证节点广播判断结果;
响应于确定车辆通过自动驾驶测试的认证节点数量满足第二预设条件,生成用于指示所述认证请求通过验证的验证结果。
14.根据权利要求9所述的数据认证系统,其中,所述认证节点用于按照如下方式生成所述奖励记录:
生成将所述认证奖励信息所指示的奖励与所述最先完成验证的认证节点对应的钱包地址相关联的记录。
15.根据权利要求9所述的数据认证系统,其中,所述认证节点还用于:
获取用户提交的车辆在模拟驾驶场景中进行自动驾驶测试的仿真数据;
向所述认证系统中的其他认证节点提交车辆通过自动驾驶场景测试的认证请求。
16.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1所述的方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/012253 WO2019135745A1 (en) | 2018-01-03 | 2018-01-03 | Data authentication method, apparatus, and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110226317A true CN110226317A (zh) | 2019-09-10 |
CN110226317B CN110226317B (zh) | 2022-03-08 |
Family
ID=67143886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880000293.XA Active CN110226317B (zh) | 2018-01-03 | 2018-01-03 | 数据认证方法、装置和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10880285B2 (zh) |
CN (1) | CN110226317B (zh) |
WO (1) | WO2019135745A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100064A (zh) * | 2020-09-02 | 2020-12-18 | 中国联合网络通信集团有限公司 | 基于区块链的软件购买方法、认证节点及购买方节点 |
CN112711631A (zh) * | 2020-11-27 | 2021-04-27 | 国网山东省电力公司电力科学研究院 | 数字孪生信息同步方法、系统、可读存储介质及设备 |
CN112733192A (zh) * | 2021-01-22 | 2021-04-30 | 福州大学 | 基于联盟链和同态加密的司法电子证据系统及方法 |
CN112905477A (zh) * | 2021-03-15 | 2021-06-04 | 苏州智行众维智能科技有限公司 | 自动驾驶仿真测试数据发布系统、方法、装置及设备 |
US20230112806A1 (en) * | 2021-10-07 | 2023-04-13 | Capital One Services, Llc | Secure serverless computing framework |
CN116306041A (zh) * | 2023-05-22 | 2023-06-23 | 工业和信息化部装备工业发展中心 | 一种多场景集多引擎自动驾驶模拟仿真测试服务平台 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11146555B2 (en) * | 2018-03-02 | 2021-10-12 | BlockSafe Technologies, Inc. | Systems and methods for controlling access to a blockchain |
US11165579B2 (en) * | 2019-08-29 | 2021-11-02 | American Express Travel Related Services Company, Inc. | Decentralized data authentication |
CN110764773A (zh) * | 2019-09-03 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 一种app生成方法、装置、介质和电子设备 |
CN112255548B (zh) * | 2019-09-30 | 2023-06-13 | 蜂巢能源科技有限公司 | 电池管理系统测试方法及其系统 |
US11451973B2 (en) | 2020-09-23 | 2022-09-20 | T-Mobile Usa, Inc. | Simulating operation of a 5G wireless telecommunication network |
CN113726742B (zh) * | 2021-07-30 | 2023-07-21 | 昆山丘钛微电子科技股份有限公司 | 测试认证方法、装置、电子设备及介质 |
CN118283031B (zh) * | 2024-06-03 | 2024-08-06 | 成都赛力斯科技有限公司 | 车载控制器的升级方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649838A (zh) * | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | 数据传输方法、区块链节点及分布式数据库 |
CN106650344A (zh) * | 2016-12-07 | 2017-05-10 | 清华大学 | 一种基于区块链的有第三方认证的数据存储方法 |
US20170132118A1 (en) * | 2015-11-06 | 2017-05-11 | Ford Global Technologies, Llc | Method and apparatus for testing software for autonomous vehicles |
CN107249009A (zh) * | 2017-08-02 | 2017-10-13 | 广东工业大学 | 一种基于区块链的数据校验方法及系统 |
CN107294729A (zh) * | 2017-07-25 | 2017-10-24 | 中国联合网络通信集团有限公司 | 区块链中不同节点之间的通信方法及装置 |
US20170316127A1 (en) * | 2016-04-29 | 2017-11-02 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for constructing testing scenario for driverless vehicle |
CN107438003A (zh) * | 2016-05-27 | 2017-12-05 | 索尼公司 | 电子设备、用于电子设备的方法和信息处理系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858621B1 (en) | 2014-05-20 | 2018-01-02 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle technology effectiveness determination for insurance pricing |
US11093590B2 (en) | 2015-08-31 | 2021-08-17 | Avaya Inc. | Selection of robot operation mode from determined compliance with a security criteria |
US10496766B2 (en) * | 2015-11-05 | 2019-12-03 | Zoox, Inc. | Simulation system and methods for autonomous vehicles |
US10397019B2 (en) * | 2015-11-16 | 2019-08-27 | Polysync Technologies, Inc. | Autonomous vehicle platform and safety architecture |
US10521215B2 (en) | 2015-12-10 | 2019-12-31 | Intel Corporation | Technologies for customized crowd-sourced features, automated safety and quality assurance with a technical computing environment |
US10321291B2 (en) * | 2016-06-28 | 2019-06-11 | Veniam, Inc. | Systems and methods for the flexible access and management of monitoring applications in a network of moving things including, for example, autonomous vehicles |
US10880089B2 (en) * | 2017-03-15 | 2020-12-29 | NuID, Inc. | Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication |
-
2018
- 2018-01-03 WO PCT/US2018/012253 patent/WO2019135745A1/en active Application Filing
- 2018-01-03 US US15/769,002 patent/US10880285B2/en active Active
- 2018-01-03 CN CN201880000293.XA patent/CN110226317B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132118A1 (en) * | 2015-11-06 | 2017-05-11 | Ford Global Technologies, Llc | Method and apparatus for testing software for autonomous vehicles |
US20170316127A1 (en) * | 2016-04-29 | 2017-11-02 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for constructing testing scenario for driverless vehicle |
CN107438003A (zh) * | 2016-05-27 | 2017-12-05 | 索尼公司 | 电子设备、用于电子设备的方法和信息处理系统 |
CN106650344A (zh) * | 2016-12-07 | 2017-05-10 | 清华大学 | 一种基于区块链的有第三方认证的数据存储方法 |
CN106649838A (zh) * | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | 数据传输方法、区块链节点及分布式数据库 |
CN107294729A (zh) * | 2017-07-25 | 2017-10-24 | 中国联合网络通信集团有限公司 | 区块链中不同节点之间的通信方法及装置 |
CN107249009A (zh) * | 2017-08-02 | 2017-10-13 | 广东工业大学 | 一种基于区块链的数据校验方法及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100064A (zh) * | 2020-09-02 | 2020-12-18 | 中国联合网络通信集团有限公司 | 基于区块链的软件购买方法、认证节点及购买方节点 |
CN112100064B (zh) * | 2020-09-02 | 2023-06-02 | 中国联合网络通信集团有限公司 | 基于区块链的软件购买方法、认证节点及购买方节点 |
CN112711631A (zh) * | 2020-11-27 | 2021-04-27 | 国网山东省电力公司电力科学研究院 | 数字孪生信息同步方法、系统、可读存储介质及设备 |
CN112711631B (zh) * | 2020-11-27 | 2022-07-08 | 国网山东省电力公司营销服务中心(计量中心) | 数字孪生信息同步方法、系统、可读存储介质及设备 |
CN112733192A (zh) * | 2021-01-22 | 2021-04-30 | 福州大学 | 基于联盟链和同态加密的司法电子证据系统及方法 |
CN112733192B (zh) * | 2021-01-22 | 2023-03-31 | 福州大学 | 基于联盟链同态加密的司法电子证据系统及方法 |
CN112905477A (zh) * | 2021-03-15 | 2021-06-04 | 苏州智行众维智能科技有限公司 | 自动驾驶仿真测试数据发布系统、方法、装置及设备 |
CN112905477B (zh) * | 2021-03-15 | 2022-12-13 | 苏州智行众维智能科技有限公司 | 自动驾驶仿真测试数据发布系统、方法、装置及设备 |
US20230112806A1 (en) * | 2021-10-07 | 2023-04-13 | Capital One Services, Llc | Secure serverless computing framework |
US11962705B2 (en) * | 2021-10-07 | 2024-04-16 | Capital One Services, Llc | Secure serverless computing framework |
CN116306041A (zh) * | 2023-05-22 | 2023-06-23 | 工业和信息化部装备工业发展中心 | 一种多场景集多引擎自动驾驶模拟仿真测试服务平台 |
Also Published As
Publication number | Publication date |
---|---|
CN110226317B (zh) | 2022-03-08 |
US20200329022A1 (en) | 2020-10-15 |
US10880285B2 (en) | 2020-12-29 |
WO2019135745A1 (en) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110226317A (zh) | 数据认证方法、装置和系统 | |
US10587489B2 (en) | Electronic transmissions with intermittent network connections | |
CN111401558B (zh) | 数据处理模型训练方法、数据处理方法、装置、电子设备 | |
CN110493007A (zh) | 一种基于区块链的信息验证方法、装置、设备及存储介质 | |
CN110047168A (zh) | 车辆信息的管理方法、装置、设备及系统 | |
CN108985757A (zh) | 信息处理方法、装置及系统、存储介质、电子设备 | |
CN109299955A (zh) | 信息的记录方法、装置、设备及计算机可读存储介质 | |
CN109104311A (zh) | 基于区块链的设备管理方法、装置、介质及电子设备 | |
CN110348975A (zh) | 报关单信息校验方法及装置、电子设备和存储介质 | |
CN111199461B (zh) | 一种基于区块链的无人车载客方法及无人车 | |
CN108734018A (zh) | 认证方法、装置、系统和计算机可读存储介质 | |
CN113177670A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN109033823A (zh) | 用于在区块链网络中验证和运行智能合约的方法和装置 | |
CN111444090B (zh) | 区块链中的合约测试方法、装置、电子设备及存储介质 | |
CN110324361A (zh) | 信息认证的方法、装置、计算设备和介质 | |
CN112948866B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN109218024A (zh) | 用于控制权限的方法和装置 | |
CN110213270A (zh) | 车联网中的验证请求方法和系统 | |
CN109727121A (zh) | 基于区块链网络的借贷匹配方法、信息审核方法 | |
CN107633390A (zh) | 一种云钱包管理方法及服务器 | |
CN111598230A (zh) | 具备防伪功能的神经网络模型的训练方法及系统、防伪验证方法及电子装置 | |
CN115659313B (zh) | 账号数据处理方法、设备、存储介质及程序产品 | |
CN116939292B (zh) | 轨道交通环境下的视频文本内容监测方法及系统 | |
CN113469758B (zh) | 区块链与税务系统的开票方法、装置、设备和存储介质 | |
CN108804713A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |