发明内容
本发明的目的在于提供一种安全认证方法、车载控制器、远程通信终端和存储介质,以有效防止重放攻击。
为实现上述目的,本发明提供一种安全认证方法,用于车载控制器,包括:
接收远程通信终端发送的控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法;
通过所述数字证书或者所述预定算法来验证所述远程通信终端的身份是否合法;
若验证结果为合法,则向所述远程通信终端发送一随机数,以供所述远程通信终端通过所述数字证书或所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名;
接收所述远程通信终端发送的所述随机数、所述数字签名以及所述控制指令,并通过所述数字证书或所述预定算法验证所述远程通信终端发送的所述随机数以及所述数字签名是否合法;
若验证结果为合法,则响应所述控制指令请求向所述远程通信终端发送正确应答,并执行所述控制指令。
可选的,在所述的安全认证方法中,所述预定算法为哈希算法、对称加密算法或者非对称加密算法。
可选的,在所述的安全认证方法中,所述哈希算法包括消息摘要算法、安全散列算法或循环冗余检验算法。
可选的,在所述的安全认证方法中,所述数字证书含有公钥,在接收远程通信终端发送的身份证明后,通过所述公钥验证所述数字证书是否合法以验证所述远程通信终端的身份是否合法。
基于同一发明构思,本发明还提供一种安全认证方法,用于远程通信终端,包括:
向车载控制器发送控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法,以供所述车载控制器通过所述数字证书或者所述预定算法验证所述远程通信终端的身份是否合法;
接收所述车载控制器在验证结果为合法时所发送的一随机数,并通过所述数字证书或所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名;以及,
向所述车载控制器发送所述数字签名、所述随机数以及所述控制指令,以供所述车载控制器通过所述数字证书或所述预定算法验证所述随机数以及所述数字签名是否合法。
基于同一发明构思,本发明还提供一种车载控制器,包括:
接收模块,用于接收远程通信终端发送的控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法;
第一验证模块,用于通过所述数字证书或者所述预定算法来验证所述远程通信终端的身份是否合法;
第一发送模块,用于在验证结果为合法时,向所述远程通信终端发送一随机数,以供所述远程通信终端通过所述数字证书或所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名;
第二验证模块,用于接收所述远程通信终端发送的所述随机数、所述数字签名以及所述身份证明,并通过所述数字证书或所述预定算法验证所述随机数以及所述数字签名是否合法;
第二发送模块,用于在验证结果为合法时,响应所述控制指令请求向远程通信终端发送正确应答,并执行所述控制指令。
可选的,在所述的车载控制器中,所述预定算法为哈希算法、对称加密算法或者非对称加密算法。
可选的,在所述的车载控制器中,所述哈希算法包括消息摘要算法、安全散列算法或循环冗余检验算法。
可选的,在所述的车载控制器中,所述数字证书含有公钥,所述第一验证模块通过所述公钥验证所述数字证书是否合法以验证所述远程通信终端的身份是否合法。
基于同一发明构思,本发明还提供一种远程通信终端,包括:
第三发送模块,用于向车载控制器发送控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法,以供所述车载控制器通过所述数字证书或者所述预定算法验证所述远程通信终端的身份是否合法;
计算模块,用于接收所述车载控制器在验证结果为合法时所发送的一随机数,并通过所述数字证书或所述预定算法对所述车载控制器发送的随机数和控制指令进行签名计算生成一数字签名;
第四发送模块,用于向所述车载控制器发送所述数字签名、所述随机数和所述控制指令,以供所述车载控制器通过所述数字证书或所述预定算法验证所述随机数以及所述数字签名是否合法。
基于同一发明构思,本发明还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的安全认证方法。
在本发明提供的安全认证方法、车载控制器、远程通信终端和存储介质中,车载控制器在远程通信终端的身份验证结果为合法时,向远程通信终端发送一随机数,以供远程通信终端通过数字证书或预定算法对随机数和控制指令进行签名计算生成一数字签名;并接收远程通信终端发送的随机数、数字签名以及控制指令,并通过数字证书或所述预定算法验证远程通信终端发送的随机数以及数字签名是否合法;若验证结果为合法,则响应控制指令请求向远程通信终端发送正确应答,并执行所述控制指令。即,车载控制器与远程通信终端之间采用两条双向交互指令,并且每条交互指令中带有随机数,可以有效防止重放攻击,进一步的,由于采用控制指令、随机数和数字签名的组合来进行验证,使得车载控制器可有效的识别远程通信终端的合法性,并且能够有效防止指令伪造。
具体实施方式
以下结合附图和具体实施例对本发明提出的安全认证方法、车载控制器、远程通信终端和存储介质作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
图1是本发明实施例提供的安全认证方法的流程示意图。如图1所示,本发明提供一种安全认证方法,用于车载控制器,包括:
步骤S1:接收远程通信终端发送的控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法;
步骤S2:通过所述数字证书或者所述预定算法来验证所述远程通信终端的身份是否合法;若验证结果为合法,则执行步骤S3:
步骤S3:向所述远程通信终端发送一随机数,以供所述远程通信终端通过所述数字证书或所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名;
步骤S4:接收所述远程通信终端发送的所述随机数、所述数字签名以及所述控制指令,并通过所述数字证书或所述预定算法验证所述远程通信终端发送的所述随机数以及所述数字签名是否合法;若验证结果为合法,则执行步骤S5;
步骤S5:响应所述控制指令请求向所述远程通信终端发送正确应答,并执行所述控制指令。
下文将对本实施例所提供的安全认证方法进行更详细的描述。
本实施例中,车载控制器(ECU)可以是汽车等移动机械设备上的电子设备,例如可以是挖掘机、装载机等工程机械车辆上面的车载控制器等。车载控制器可以通过CAN总线、RS232通信通道或RS485通信通道与远程通信终端(TBOX)进行通信。
在步骤S1中,接收远程通信终端向车载控制器发送的控制指令请求和身份证明,所述身份证明具体包括所述远程通信终端的数字证书或者预定算法。其中,所述数字证书含有公钥。本实施例中,车载控制器和远程通信终端中均具有公钥和私钥。
在步骤S2中,通过所述数字证书或者所述预定算法来验证所述远程通信终端的身份是否合法。具体的,车载控制器在接收到远程通信终端的身份证明后,可以通过内置的公钥验证数字证书是否合法以验证所述远程通信终端的身份是否合法。
本实施例中,预定算法为车载控制器和远程通信终端预先约定好的算法。预定算法可以为哈希算法、对称加密算法或者非对称加密算法。所述哈希算法包括消息摘要算法(MD5)、安全散列算法(SHA)或循环冗余检验算法(CRC)。例如,可以通过哈希算法来验证身份证明中的身份认证签名的哈希值实现对远程通信终端的身份验证。所述对称加密算法例如可以为AES(高级加密标准)或SM4算法等。
若验证结果为合法,则执行步骤S3,向远程通信终端发送一随机数,即向远程通信终端发送带随机数的正确应答,其中,所述随机数可以由随机数生成器或者随机数算法随机生成,由此,可以保证所述随机数的随机性,从而可以提高认证的安全性。通过向远程通信终端发送一随机数,以供所述远程通信终端通过所述数字证书或所述预定算法对所述随机数和所述控制指令进行签名计算生成一数字签名。
若验证结果为非法,则向远程通信终端发送认证失败的结果,即发送错误应答,一旦认证失败,则表明所述远程通信终端是不安全的第三方的电子设备,将产生风险,而发送错误应答则可以避免风险。
本实施例中,控制指令例如可以包括锁车、解锁、参数修改和数据读取等。
在步骤S4中,接收所述远程通信终端发送的所述随机数、所述数字签名以及所述控制指令,并通过所述数字证书或所述预定算法验证所述远程通信终端发送的所述随机数以及所述数字签名是否合法;具体的,可以通过公钥或者所述预定算法对数字签名进行解密,从而获取随机数,并通过解密获取的随机数与其发送给远程通信终端的随机数进行比较,从而验证是否合法。
若验证结果为合法,则执行步骤S5,响应所述控制指令请求向所述远程通信终端发送正确应答,并执行所述控制指令。若验证结果为非法,则向远程通信终端发送错误应答。如此一来,车载控制器与远程通信终端之间采用两条双向交互指令,且每一条交互指令都带有随机数,可以有效防止重放攻击,进而实现更加安全的锁车和控制功能;进一步的,采用控制指令、随机数和数字签名的组合来进行验证,使得车载控制器可有效的识别远程通信终端的合法性,并且能够有效防止指令伪造。
本实施例的安全认证方法可以应用于汽车电子(移动机械设备)智能控制设备的锁车功能和控制功能上,通过车载控制器与远程通信终端和之间的交互,可以有效防止命令被破解,也可以有效防止重放攻击,实现更加安全的锁车和控制功能。
图2是本发明实施例提供的另一种安全认证方法的流程示意图。如图2所示,基于同一发明构思,本发明另一实施例提供一种认证方法,用于远程通信终端,包括:
步骤S10:向车载控制器发送控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法,以供所述车载控制器通过所述数字证书或者所述预定算法验证所述远程通信终端的身份是否合法;
步骤S20:接收所述车载控制器在验证结果为合法时所发送的一随机数,并通过所述数字证书或所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名;以及,
步骤S30:向所述车载控制器发送所述数字签名、所述随机数以及所述控制指令,以供所述车载控制器通过所述数字证书或所述预定算法验证所述随机数以及所述数字签名是否合法。
本实施例中,远程通信终端(TBOX)例如可以是挖掘机、装载机等工程机械车辆上的远程通信终端等。
在步骤S10中,向车载控制器发送的数字证书含有公钥。本实施例中,车载控制器和远程通信终端中均具有公钥和私钥。
本实施例中,预定算法可以为哈希算法、对称加密算法或者非对称加密算法。所述哈希算法包括消息摘要算法(MD5)、安全散列算法(SHA)或循环冗余检验算法(CRC)。例如,远程通信终端可通过哈希算法计算出控制指令的哈希值,并对哈希值进行加密,生成身份认证签名(身份认证签名的类型可以为数字签名),并将该身份认证签名发送给车载控制器,以供车载控制器验证是否合法。
在步骤S20中,接收到所述车载控制器发送的随机数之后,通过所述数字签名或预定算法对所述随机数和所述控制指令进行签名计算生成一数字签名。
具体的,可以通过与所述数字证书中的公钥对应的私钥对所述随机数和所述控制指令进行签名计算生成一数字签名。或者,也可以通过预定算法对所述随机数和所述控制指令进行签名计算生成数字签名。
本实施例中,控制指令可以包括锁车、解锁、参数修改和数据读取等。
在步骤S30中,向所述车载控制器发送所述数字签名、所述随机数和所述控制指令,以供所述车载控制器通过所述数字证书或所述预定算法验证所述随机数以及所述数字签名是否合法。如此一来,车载控制器与远程通信终端之间采用两条双向交互指令,并且每条交互指令中带有随机数,可以有效防止重放攻击。
图3是本发明实施例提供的车载控制器的框图。基于同一发明构思,本发明另一实施例提供一种车载控制器,如图3所示,车载控制器包括:接收模块101、第一验证模块102、第一发送模块103、第二验证模块104和第二发送模块105。
接收模块101用于接收远程通信终端发送的控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法;其中,所述数字证书含有公钥。并且,车载控制器和远程通信终端均具有公钥和私钥。
第一验证模块102用于通过所述数字证书或者所述预定算法来验证所述远程通信终端的身份是否合法;具体的,第一验证模块102可以通过内置的公钥验证数字证书是否合法以验证所述远程通信终端的身份是否合法。
预定算法为车载控制器和远程通信终端预先约定好的算法。本实施例中,预定算法可以为哈希算法、对称加密算法或者非对称加密算法。所述哈希算法包括消息摘要算法(MD5)、安全散列算法(SHA)或循环冗余检验算法(CRC)。本实施例中,车载控制器可以通过哈希算法对身份证明进行验证,例如,通过哈希算法验证身份证明中的身份认证签名的哈希值来实现对远程通信终端的身份验证。
第一发送模块103用于在验证结果为合法时,向所述远程通信终端发送一随机数,以供所述远程通信终端通过所述数字签名或所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名。其中,所述随机数可以由随机数生成器或者随机数算法随机生成,由此,可以保证所述随机数的随机性,从而可以提高认证的安全性。
本实施例中,第一发送模块103还用于在验证结果为非法时,向远程通信终端发送认证失败的结果,即发送错误应答,一旦认证失败,则表明所述远程通信终端是不安全的第三方的电子设备,将产生风险,而发送错误应答则可以避免风险。
第二验证模块104用于接收所述远程通信终端发送的所述随机数、所述数字签名以及所述控制指令,并通过所述预定算法验证所述随机数以及所述数字签名是否合法。
第二发送模块105用于在验证结果为合法时,响应所述控制指令请求向远程通信终端发送正确应答,并执行所述控制指令。若验证结果为非法,则向远程通信终端发送错误应答。如此一来,车载控制器与远程通信终端之间采用两条双向交互指令,且每一条交互指令都带有随机数,可以有效防止重放攻击,进而实现更加安全的锁车和控制功能;进一步的,采用控制指令、随机数和数字签名的组合来进行验证,使得车载控制器可有效的识别远程通信终端的合法性,并且能够有效防止指令伪造。
图4是本发明实施例提供的远程通信终端的框图。基于同一发明构思,本发明另一实施例提供一种远程通信终端,如图4所示,远程通信终端包括:第三发送模块201、计算模块202和第四发送模块203。
第三发送模块201用于向车载控制器发送控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法,以供所述车载控制器通过所述数字证书或者所述预定算法验证所述远程通信终端的身份是否合法。其中,向车载控制器发送的数字证书含有公钥。并且,远程通信终端与车载控制器均具有公钥和私钥。
本实施例中,预定算法可以为哈希算法、对称加密算法或者非对称加密算法。所述哈希算法包括消息摘要算法(MD5)、安全散列算法(SHA)或循环冗余检验算法(CRC)。例如,远程通信终端可通过哈希算法计算出控制指令的哈希值,通过并对哈希值进行加密,生成身份认证签名(身份认证签名的类型可以为数字签名),并将该身份认证签名发送给车载控制器,以供车载控制器验证是否合法。
计算模块202用于接收所述车载控制器在验证结果为合法时所发送的一随机数,并通过预定算法对所述车载控制器发送的随机数和所述控制指令进行签名计算生成一数字签名。
具体的,计算模块202可以通过与所述数字证书中的公钥对应的私钥对所述随机数和所述控制指令进行签名计算生成一数字签名。或者,也可以通过预定算法对所述随机数和所述控制命令进行签名计算生成数字签名。
第四发送模块203,用于向所述车载控制器发送所述数字签名、所述随机数和所述控制指令,以供所述车载控制器通过所述数字证书或所述预定算法验证所述随机数以及所述数字签名是否合法。如此一来,车载控制器与远程通信终端之间采用两条双向交互指令,并且每条交互指令中带有随机数,可以有效防止重放攻击。
基于同一发明构思,本发明另一实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
接收远程通信终端发送的控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法;
通过所述数字证书或者所述预定算法来验证所述远程通信终端的身份是否合法;
若验证结果为合法,则向所述远程通信终端发送一随机数,以供所述远程通信终端通过所述数字证书或所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名;
接收所述远程通信终端发送的所述随机数、所述数字签名以及所述控制指令,并通过所述数字证书或所述预定算法验证所述远程通信终端发送的所述随机数以及所述数字签名是否合法;若验证结果为合法,则响应所述控制指令请求向所述远程通信终端发送正确应答。
或者实现如下步骤:
向车载控制器发送控制指令请求和身份证明,所述身份证明包括所述远程通信终端的数字证书或者预定算法,以供所述车载控制器通过所述数字证书或者所述预定算法验证所述远程通信终端的身份是否合法;
接收所述车载控制器在验证结果为合法时所发送的一随机数,并通过所述数字证书或者所述预定算法对所述随机数和控制指令进行签名计算生成一数字签名;以及,
向所述车载控制器发送所述数字签名、所述随机数以及所述控制指令,以供所述车载控制器通过所述数字证书或者所述预定算法验证所述随机数以及所述数字签名是否合法。
本实施例中,可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式计算机硬盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CDROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其组合使用。
另外,在本发明中各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
综上可见,在本发明提供的安全认证方法、车载控制器、远程通信终端和存储介质中,车载控制器通过在远程通信终端的身份验证结果为合法时,向远程通信终端发送一随机数,以供远程通信终端通过预定算法对随机数和控制指令进行签名计算生成一数字签名;并接收远程通信终端发送的随机数、数字签名以及控制指令,并通过数字证书或预定算法验证远程通信终端发送的随机数以及数字签名是否合法;若验证结果为合法,则响应控制指令请求向远程通信终端发送正确应答,并执行控制指令。即,车载控制器与远程通信终端之间采用两条双向交互指令,并且每条交互指令中带有随机数,可以有效防止重放攻击,进一步的,由于采用控制指令、随机数和数字签名的组合来进行验证,使得车载控制器可有效的识别远程通信终端的合法性,并且能够有效防止指令伪造。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。