CN104268458A - 一种车辆程序加密验证方法及加密、验证装置 - Google Patents
一种车辆程序加密验证方法及加密、验证装置 Download PDFInfo
- Publication number
- CN104268458A CN104268458A CN201410491392.6A CN201410491392A CN104268458A CN 104268458 A CN104268458 A CN 104268458A CN 201410491392 A CN201410491392 A CN 201410491392A CN 104268458 A CN104268458 A CN 104268458A
- Authority
- CN
- China
- Prior art keywords
- key
- seed
- file destination
- file
- data
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Abstract
本发明提供一种车辆程序加密验证方法及加密、验证装置。所述程序加密方法包括:生成种子数据,根据所述种子数据生成种子密钥,根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。通过使用以上方法,可以实现在目标文件中存储相应的种子数据信息,以实现在目标文件读取时能够进行有效验证,以保证对车辆进行升级时所使用程序文件的合法性。
Description
技术领域
本发明涉及汽车自动化控制技术领域,特别涉及一种车辆程序加密验证方法及加密、验证装置。
背景技术
随着科学技术的高速发展,在越来越多的车辆设备中都使用程序来进行车辆控制,以提高用户的驾驶感受。
在现有技术中,在车辆出厂时都会完成对自动化程序的灌输和安装。若遇到车辆厂家对自动化程序的升级,则可以发布安装程序由维修人员甚至是用户自己通过设备接口对车辆进行升级。
但是在进行升级过程中,维修人员或用户都存在一定的错误操作风险。例如:维修人员或用户下载了错误的升级程序(如其它车辆厂家)的程序进行升级,或者是下载了被非法篡改过的升级程序进行升级。一旦升级完成,则会严重影响到车辆和用户的驾驶安全。因此,需要提供一定技术手段来保证车辆中程序在进行相关操作时合法性。
发明内容
本发明要解决的技术问题是提供一种车辆程序加密验证方法及加密、验证装置,提供一定技术手段来保证车辆中程序在进行相关操作时的合法性。
一种车辆程序加密方法,包括:
生成种子数据;
根据所述种子数据生成种子密钥;
根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。
优选地,在所述生成种子数据之前,还包括:
生成目标文件;
将所述目标文件中预留的所述种子数据的存储地址和所述种子密钥的存储地址存储在所述MAP文件中。
优选地,还包括:
获取目标文件中指定位置的内容作为标定数据;
根据所述标定数据生成标定密钥;
根据MAP文件中记录的标定密钥存储地址,将所述标定密钥存储在目标文件中;所述MAP文件中记录的标定密钥存储地址,是指在所述目标文件中预留的标定密钥的存储地址。
一种车辆程序验证方法,包括:
读取ECU中目标文件代码中存储的种子数据和种子密钥;
根据所述种子数据计算第一结果密钥;
判断所述第一结果密钥与所述种子密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
优选地,在所述读取ECU中目标文件代码中存储的种子数据和种子密钥之前,还包括:
将目标文件导入到所述ECU中作为所述ECU中目标文件代码。
优选地,在判断所述第一结果密钥与所述种子密钥是否相同之后,还包括:
若所述第一结果密钥与所述种子密钥相同,读取所述目标文件代码中指定位置的内容作为标定数据;
根据所述标定数据计算第二结果密钥;
判断所述第二结果密钥与存储在所述ECU的目标文件代码中的标定密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
一种车辆程序加密装置,包括:目标文件生成单元、MAP文件写入单元、种子数据生成单元、种子密钥生成单元和第一写入单元;
所述目标文件生成单元,用于生成目标文件;
所述MAP文件写入单元,用于将所述目标文件中预留的所述种子数据的存储地址和所述种子密钥的存储地址存储在所述MAP文件中;
所述种子数据生成单元,用于生成种子数据;
所述种子密钥生成单元,用于根据所述种子数据生成种子密钥;
所述第一写入单元,用于根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。
优选地,还包括:标定数据读取单元、标定密钥生成单元和第二写入单元;
所述标定数据生成单元,用于获取目标文件的内容作为标定数据;
所述标定密钥生成单元,用于根据所述标定数据生成标定密钥;
所述第二写入单元,用于根据MAP文件中记录的标定密钥存储地址,将所述标定密钥存储在目标文件中;所述MAP文件中记录的标定密钥存储地址,是指在所述目标文件中预留的标定密钥的存储地址。
一种车辆程序验证装置,包括:目标文件导入单元、种子信息获取单元、第一密钥计算单元和第一密钥判断单元;
所述目标文件导入单元,用于将目标文件导入到所述ECU中作为所述ECU中目标文件代码;
所述种子信息获取单元,用于读取ECU中目标文件代码中存储的种子数据和种子密钥;
所述第一密钥计算单元,用于根据所述种子数据计算第一结果密钥;
所述第一密钥判断单元,用于判断所述第一结果密钥与所述种子密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
优选地,还包括:标定信息获取单元、第二密钥计算单元和第二密钥判断单元;
所述标定信息获取单元,用于若所述第一结果密钥与所述种子密钥相同,读取所述目标文件代码中指定位置的内容作为标定数据,读取所述目标文件代码中的标定密钥;
所述第二密钥计算单元,用于根据所述标定数据计算第二结果密钥;
所述第二密钥判断单元,用于判断所述第二结果密钥与存储在所述ECU的目标文件代码中的标定密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
与现有技术相比,本发明具有以下优点:
在发明中,首先生成种子数据,之后根据所述种子数据生成种子密钥,最后根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。通过使用以上方法,可以实现在目标文件中存储相应的种子数据信息,以实现在目标文件读取时能够进行有效验证,以保证对车辆进行升级时所使用程序文件的合法性。
附图说明
图1是本发明提供的一种车辆程序加密方法第一实施例的流程图;
图2是本发明提供的一种车辆程序加密方法第二实施例的流程图;
图3是本发明提供的一种车辆程序验证方法第一实施例的流程图;
图4是本发明提供的一种车辆程序验证方法第二实施例的流程图;
图5是本发明提供的一种车辆程序加密装置第一实施例的原理框图;
图6是本发明提供的一种车辆程序加密装置第二实施例的原理框图;
图7是本发明提供的一种车辆程序验证装置第一实施例的原理框图;
图8是本发明提供的一种车辆程序验证装置第二实施例的原理框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
参见图1,该图为本发明提供的一种车辆程序加密方法第一实施例的流程图。
在本实施例中,包括:
S101:生成种子数据。
S102:根据所述种子数据生成种子密钥。
S103:根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。
在本实施例进行实施时,首先生成种子数据。该种子数据基于安全验证的考虑,优选使用随机产生的一串数字。当然,如果存在个性化的需要也可以使用固定的数字,如使用该种子数据来表示车辆厂家信息、车辆型号等。
之后,以种子数据为基础,使用预置的算法生成种子数据对应的种子密钥。其中,预置的算法可以为CRC16/32算法、CRCCCITT算法等。
优选地,可以在目标文件生成时在目标文件中预留一定的存储区间,该存储区间可以为连续的,也可以为不连续的。之后将种子数据和种子密钥存储在目标文件中的预留的存储区间中。优选地,可以在目标文件的读写最频繁的数据位置中预留出一定区间,之后将生成的种子数据和种子密钥存储在该区间中。
由于文件大小的不一致,以及本发明中的技术方案可能会应用在不同的目标文件上,而不同类型的目标文件的文件格式又是不一样的,如果强制将种子数据固定写在某一地址上,可能会造成该目标文件的结构受损。因此,可以为目标文件设置MAP文件,将种子数据和种子密钥在目标文件中的存储地址存储到MAP文件中。这样,在需要读取目标文件中的种子数据和种子密钥时,通过MAP文件即可查找到。
出于对目标文件中内容的安全考虑,在本实施例中,还可以包括在读取所述MAP文件中的存储的地址后,将所述MAP文件中存储的地址删除,从而有效控制目标文件的使用次数。一旦种子信息和标定信息被读取,则将MAP文件中存储的有关种子信息和标定信息的地址全部删除,使得其它第三方不能够对目标文件进行二次利用,降低了被分析、破解的风险。
在本实施例中,首先生成种子数据,之后根据所述种子数据生成种子密钥,最后根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。通过使用以上方法,可以实现在目标文件中存储相应的种子数据信息,以实现在目标文件读取时能够进行有效验证,以保证对车辆进行升级时所使用程序文件的合法性。
参见图2,该图为本发明提供的一种车辆程序加密方法第二实施例的流程图。
本实施例中的步骤S201-S203与本发明提供的一种车辆程序加密方法第一实施例中的步骤S101-S103相同,在此不再重复进行介绍。
在本实施例中,还包括:
S204:获取目标文件中指定位置的内容作为标定数据。
S205:根据所述标定数据生成标定密钥。
S206:根据MAP文件中记录的标定密钥存储地址,将所述标定密钥存储在目标文件中;所述MAP文件中记录的标定密钥存储地址,是指在所述目标文件中预留的标定密钥的存储地址。
由于程序中种子数据和计算生成的种子密钥都是按照一定的规律生成的,其中就存在一定的泄密风险。例如:种子数据为A,通过算法计算生成的种子密钥为B。在一般情况下,该种子数据A和种子密钥B是最容易被泄露的。而一旦A和B泄露,则存在恶意的第三方可以将A和B写入到任何文件中,使得写入A和B的任何文件都可以直接应用到车辆上,产生巨大的隐患。
因此,为了进一步加强对目标文件验证的安全级别。还可以根据目标文件本身的内容作为标定信息进行验证,具体为:
获取目标文件中指定位置的数据内容作为标定数据。由于每一个目标文件中在相同位置的内容都会不相同,因此使用这种方法就可以有效规避使用单一种子数据的缺陷。
之后,使用预置的算法计算生成标定密钥。其中,预置的算法可以为与计算生成种子密钥相同的算法,也可以为其它的备用算法。与种子数据和种子密钥相同,在目标文件中预留出相应的区间存储标定密钥,并在目标文件生成时将存储标定密钥的地址记录在MAP文件中。最后,通过查找MAP文件中记录的标定密钥的存储地址,将标定密钥存储在目标文件中。
在本实施例中,在计算生成种子数据和种子密钥后,再获取目标文件中指定位置的内容作为标定数据,根据所述标定数据生成标定密钥,最后根据MAP文件中记录的标定密钥存储地址,将所述标定密钥存储在目标文件中;所述MAP文件中记录的标定密钥存储地址,是指在所述目标文件中预留的标定密钥的存储地址。通过使用以上方法,可以实现对目标文件的双重验证,从而可以在种子数据和种子密钥被泄密的情况下,结合目标文件本身的特点进行验证,从而提高了对程序文件验证的安全等级,更好的保证程序文件的合法性。
参见图3,该图为本发明提供的一种车辆程序验证方法第一实施例的流程图。
在本实施例中,包括:
S301:读取ECU中目标文件代码中存储的种子数据和种子密钥。
S302:根据所述种子数据计算第一结果密钥。
S303:判断所述第一结果密钥与所述种子密钥是否相同。
S304:若不相同,认为所述ECU中的目标文件代码为非合法代码。
在本实施例进行实施时,需要事先将目标文件导入到ECU中作为目标文件代码。当然,也可以通过其它方式将目标文件写入在ECU中。
在使用按照本发明提供的车辆程序加密方法生成的目标文件已经导入到ECU后,在ECU中目标文件会以代码段的形式存在。
在进行验证时,首先读取ECU中目标文件代码中存储的种子数据和种子密钥。之后将种子数据使用本地预置的算法计算出第一结果密钥。其中,所使用的算法为与本发明提供的车辆程序加密方法相同的算法。
之后,将第一结果密钥与读取出的种子密钥进行比较,判断是否相同。如果相同,则认为ECU中的目标文件代码为合法代码,可以进行后续的操作。如果不相同,则认为ECU中的目标文件代码为非合法代码,可能存在被篡改或误使用其它文件的可能性。
另外,如果事先约定使用种子数据携带一定的信息,还可以进一步读取出该种子数据中的信息,以进一步区别或判断出可能存在的问题。例如:种子数据中的信息可以标记出车辆厂商的代码、车辆的型号等,则可以进一步向操作人员提示输入了错误品牌的文件或错误型号的文件。
在本实施例中,首先读取ECU中目标文件代码中存储的种子数据和种子密钥,之后根据种子数据计算第一结果密钥,并判断第一结果密钥与种子密钥是否相同。如果判断不相同,认为ECU中的目标文件代码为非合法代码。通过使用以上方法,可以实现对待操作的目标文件的进行有效的身份验证,还可以有效的识别出目标文件的来源,以保证进行操作文件的安全性和合法性。
参见图4,该图为本发明提供的一种车辆程序验证方法第二实施例的流程图。
本实施例中的步骤S401-S403与本发明提供的一种车辆程序加密方法第一实施例中的步骤S301-S303相同,在此不再重复进行介绍。
本实施中,在判断所述第一结果密钥与所述种子密钥是否相同之后,还包括:
S404:若所述第一结果密钥与所述种子密钥相同,读取所述目标文件代码中指定位置的内容作为标定数据。
S405:根据所述标定数据计算第二结果密钥。
S406:判断所述第二结果密钥与存储在所述ECU的目标文件代码中的标定密钥是否相同。
S407:若不相同,认为所述ECU中的目标文件代码为非合法代码。
如在本发明提供的一种车辆程序加密方法第二实施例中所介绍的,种子数据和种子密钥存在泄露的风险。
因此,事先在目标文件代码中指定位置,将该位置的内容作为标定数据。其中,这里所说的目标文件代码中指定位置的内容,应与加密时的指定位置的内容相一致。
之后,使用预置的算法对标定数据进行计算,生成第二结果密钥。
事先在目标文件中还可以设置标定信息区间来存储标定密钥。并在将目标文件导入到ECU时,一同将标定密钥导入到ECU的目标文件代码中。在确认种子数据和种子密钥合格后,从ECU中的目标文件代码中读取出相应的标定密钥。
将第二结果密钥与标定密钥进行比较,判断是否相同。如果相同,则认为ECU中的目标文件代码为法代码。如果不相同,则认为ECU中的目标文件代码为非合法代码,目标文件可能已经被篡改,不能进行后续的操作。
在本实施例中,在判断第一结果密钥与种子密钥是否相同之后,还包括:若第一结果密钥与种子密钥相同,读取目标文件代码中指定位置的内容作为标定数据,之后根据标定数据计算第二结果密钥,最后判断第二结果密钥与存储在ECU中目标文件代码中的标定密钥是否相同;若不相同,认为ECU中的目标文件代码为非合法代码。通过使用以上方法,可以实现对目标文件的双重验证,从而可以规避在种子数据和种子密钥被泄密的情况下,结合目标文件本身的特点进行验证,从而提高了对程序文件验证的安全等级,更好的保证程序文件的合法性。
基于上述一种车辆程序加密验证方法,本发明还提供了一种车辆程序加密、验证的装置,下面结合具体实施例来详细说明其组成部分。
参见图5,该图为本发明提供的一种车辆程序加密装置第一实施例的原理框图。
在本实施例中,包括:目标文件生成单元101、MAP文件写入单元102、种子数据生成单元103、种子密钥生成单元104和第一写入单元105。
所述目标文件生成单元101,用于生成目标文件。
所述MAP文件写入单元102,用于将所述目标文件中预留的所述种子数据的存储地址和所述种子密钥的存储地址存储在所述MAP文件中。
所述种子数据生成单元103,用于生成种子数据。
所述种子密钥生成单元104,用于根据所述种子数据生成种子密钥。
所述第一写入单元105,用于根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。
在本实施例进行实施时,首先由种子数据生成单元103生成种子数据。该种子数据基于安全验证的考虑,优选使用随机产生的一串数字。当然,如果存在个性化的需要也可以使用固定的数字,如使用该种子数据来表示车辆厂家信息、车辆型号等。
之后,由子密钥生成单元104以种子数据为基础,使用预置的算法生成种子数据对应的种子密钥。其中,预置的算法可以为CRC16/32算法、CRCCCITT算法等。
在目标文件生成时,由目标文件生成单元101在目标文件中预留一定的存储区间,该存储区间可以为连续的,也可以为不连续的。之后将种子数据和种子密钥存储在目标文件中的预留的存储区间中。优选地,可以在目标文件的读写最频繁的数据位置中预留出一定区间。
最后,由第一写入单元105将生成的种子数据和种子密钥存储在该区间中。
由于文件大小的不一致,以及本发明中的技术方案可能会应用在不同的目标文件上,而不同类型的目标文件的文件格式又是不一样的,如果约定将种子数据固定写在某一地址上,可能会造成该目标文件的结构受损。因此,可以为目标文件设置MAP文件,由MAP文件写入单元102将种子数据和种子密钥在目标文件中的存储地址存储到MAP文件中。这样,在需要读取目标文件中的种子数据和种子密钥时,通过MAP文件即可查找到。
出于对目标文件中内容的安全考虑,在本实施例中,还可以包括MAP地址删除单元,用于在读取所述MAP文件中的存储的地址后,将所述MAP文件中存储的地址删除,从而有效控制目标文件的使用次数。一旦种子信息和标定信息被读取,则将MAP文件中存储的有关种子信息和标定信息的地址全部删除,使得其它第三方不能够对目标文件进行二次利用,降低了被分析、破解的风险。
在本实施例中,包括:目标文件生成单元,用于生成目标文件。MAP文件写入单元,用于将目标文件中预留的种子数据的存储地址和种子密钥的存储地址存储在MAP文件中。种子数据生成单元,用于生成种子数据。种子密钥生成单元,用于根据种子数据生成种子密钥。第一写入单元,用于根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将种子数据和种子密钥存储在目标文件中。通过使用以上装置,可以实现在目标文件中存储相应的种子数据信息,以实现在目标文件读取时能够进行有效验证,以保证对车辆进行升级时所使用程序文件的合法性。
参见图6,该图为本发明提供的一种车辆程序加密装置第二实施例的原理框图。
在本实施例中,还包括:标定数据读取单元106、标定密钥生成单元107和第二写入单元108。
所述标定数据生成单元106,用于获取目标文件的内容作为标定数据。
所述标定密钥生成单元107,用于根据所述标定数据生成标定密钥。
所述第二写入单元108,用于根据MAP文件中记录的标定密钥存储地址,将所述标定密钥存储在目标文件中;所述MAP文件中记录的标定密钥存储地址,是指在所述目标文件中预留的标定密钥的存储地址。
由于程序中种子数据和计算生成的种子密钥都是按照一定的规律生成的,其中就存在一定的泄密风险。例如:种子数据为A,通过算法计算生成的种子密钥为B。在一般情况下,该种子数据A和种子密钥B是最容易被泄露的。而一旦A和B泄露,则存在恶意的第三方可以将A和B写入到任何文件中,使得写入A和B的任何文件都可以直接应用到车辆上,产生巨大的隐患。
因此,为了进一步加强对目标文件验证的安全级别。还可以根据目标文件本身的内容作为标定信息进行验证,具体为:
标定数据读取单元106获取目标文件中指定位置的数据内容作为标定数据。由于每一个目标文件中在相同位置的内容都会不相同,因此使用这种方法就可以有效规避使用单一种子数据的缺陷。
之后,标定密钥生成单元107使用预置的算法计算生成标定密钥。其中,预置的算法可以为与计算生成种子密钥相同的算法,也可以为其它的备用算法。
与种子数据和种子密钥相同,在目标文件中预留出相应的区间存储标定密钥,并在目标文件生成时将存储标定密钥的地址记录在MAP文件中。最后,第二写入单元108通过查找MAP文件中记录的标定密钥的存储地址,将标定密钥存储在目标文件中。
在本实施例中,还包括:标定数据生成单元,用于获取目标文件的内容作为标定数据。述标定密钥生成单元,用于根据标定数据生成标定密钥。第二写入单元,用于根据MAP文件中记录的标定密钥存储地址,将标定密钥存储在目标文件中,MAP文件中记录的标定密钥存储地址,是在目标文件中预留的种子密钥的存储地址。通过使用以上装置,可以实现对目标文件的双重验证,从而可以在种子数据和种子密钥被泄密的情况下,结合目标文件本身的特点进行验证,从而提高了对程序文件验证的安全等级,更好的保证程序文件的合法性。
参见图7,该图为本发明提供的一种车辆程序验证装置第一实施例的原理框图。
在本实施例中,包括:目标文件导入单元201、种子信息获取单元202、第一密钥计算单元203和第一密钥判断单元204。
所述目标文件导入单元201,用于将目标文件导入到所述ECU中作为所述ECU中目标文件代码。
所述种子信息获取单元202,用于读取ECU中目标文件代码中存储的种子数据和种子密钥。
所述第一密钥计算单元203,用于根据所述种子数据计算第一结果密钥。
所述第一密钥判断单元204,用于判断所述第一结果密钥与所述种子密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
在本实施例实施时,需要目标文件导入单元201事先将目标文件导入到所述ECU中作为目标文件代码。当然,也可以通过其它方式将目标文件写入在ECU中。
在使用按照本发明提供的车辆程序加密方法生成的目标文件已经导入到ECU后,在ECU中目标文件会以代码段的形式存在。
在进行验证时,种子信息获取单元202首先读取ECU中目标文件代码中存储的种子数据和种子密钥。之后第一密钥计算单元203将种子数据使用本地预置的算法计算出第一结果密钥。其中,所使用的算法为与本发明提供的车辆程序加密方法相同的算法。
之后,第一密钥判断单元204将第一结果密钥与读取出的种子密钥进行比较,判断是否相同。如果相同,则认为ECU中的目标文件代码为合法代码,可以进行后续的操作。如果不相同,则认为ECU中的目标文件代码为非合法代码,可能存在被篡改或误使用其它文件的可能性。
另外,如果事先约定使用种子数据携带一定的信息,还可以进一步读取出该种子数据中的信息,以进一步区别或判断出可能存在的问题。例如:种子数据中的信息可以标记出车辆厂商的代码、车辆的型号等,则可以进一步向操作人员提示输入了错误品牌的文件或错误型号的文件。
在本实施例中,包括:目标文件导入单元,用于将目标文件导入到ECU中作为ECU中目标文件代码。种子信息获取单元,用于读取ECU中目标文件代码中存储的种子数据和种子密钥。第一密钥计算单元,用于根据种子数据计算第一结果密钥。第一密钥判断单元,用于判断第一结果密钥与种子密钥是否相同。若不相同,认为ECU中的目标文件代码为非合法代码。通过使用以上装置,可以实现对待操作的目标文件的进行有效的身份验证,还可以有效的识别出目标文件的来源,以保证进行操作文件的安全性和合法性。
参见图8,该图为本发明提供的一种车辆程序验证装置第二实施例的原理框图。
在本实施例中,还包括:标定信息获取单元205、第二密钥计算单元206和第二密钥判断单元207。
所述标定信息获取单元205,用于若所述第一结果密钥与所述种子密钥相同,读取所述目标文件代码中指定位置的内容作为标定数据,读取所述目标文件代码中的标定密钥。
所述第二密钥计算单元206,用于根据所述标定数据计算第二结果密钥。
所述第二密钥判断单元207,用于判断所述第二结果密钥与存储在所述ECU的目标文件代码中的标定密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
如在本发明提供的一种车辆程序加密方法第二实施例中所介绍的,种子数据和种子密钥存在泄露的风险。
因此,事先在目标文件代码中指定位置,由标定信息获取单元205将该位置的内容作为标定数据。其中,这里所说的目标文件代码中指定位置的内容,应与加密时的指定位置的内容相一致。
之后,第二密钥计算单元206使用预置的算法对标定数据进行计算,生成第二结果密钥。
事先在目标文件中还可以设置标定信息区间来存储标定密钥。并在将目标文件导入到ECU时,一同将标定密钥导入到ECU的目标文件代码中。在确认种子数据和种子密钥合格后,从ECU中的目标文件代码中读取出相应的标定密钥。
第二密钥判断单元207将第二结果密钥与从ECU中读取出的标定密钥进行比较,判断是否相同。如果相同,则认为ECU中的目标文件代码为法代码。如果不相同,则认为ECU中的目标文件代码为非合法代码,目标文件可能已经被篡改,不能进行后续的操作。
在本实施例中,还包括:标定信息获取单元,用于若第一结果密钥与种子密钥相同,读取目标文件代码中指定位置的内容作为标定数据,读取所述目标文件代码中的标定密钥。第二密钥计算单元,用于根据标定数据计算第二结果密钥。第二密钥判断单元,用于判断第二结果密钥与存储在ECU中目标文件代码中的标定密钥是否相同,若不相同,认为ECU中的目标文件代码为非合法代码。通过使用以上装置,可以实现对目标文件的双重验证,从而可以规避在种子数据和种子密钥被泄密的情况下,结合目标文件本身的特点进行验证,从而提高了对程序文件验证的安全等级,更好的保证程序文件的合法性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (10)
1.一种车辆程序加密方法,其特征在于,包括:
生成种子数据;
根据所述种子数据生成种子密钥;
根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。
2.根据权利要求1所述的方法,其特征在于,在所述生成种子数据之前,还包括:
生成目标文件;
将所述目标文件中预留的所述种子数据的存储地址和所述种子密钥的存储地址存储在所述MAP文件中。
3.根据权利要求1所述的方法,其特征在于,还包括:
获取目标文件中指定位置的内容作为标定数据;
根据所述标定数据生成标定密钥;
根据MAP文件中记录的标定密钥存储地址,将所述标定密钥存储在目标文件中;所述MAP文件中记录的标定密钥存储地址,是指在所述目标文件中预留的标定密钥的存储地址。
4.一种车辆程序验证方法,其特征在于,包括:
读取ECU中目标文件代码中存储的种子数据和种子密钥;
根据所述种子数据计算第一结果密钥;
判断所述第一结果密钥与所述种子密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
5.根据权利要求4所述的方法,其特征在于,在所述读取ECU中目标文件代码中存储的种子数据和种子密钥之前,还包括:
将目标文件导入到所述ECU中作为所述ECU中目标文件代码。
6.根据权利要求4所述的方法,其特征在于,在判断所述第一结果密钥与所述种子密钥是否相同之后,还包括:
若所述第一结果密钥与所述种子密钥相同,读取所述目标文件代码中指定位置的内容作为标定数据;
根据所述标定数据计算第二结果密钥;
判断所述第二结果密钥与存储在所述ECU的目标文件代码中的标定密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
7.一种车辆程序加密装置,其特征在于,包括:目标文件生成单元、MAP文件写入单元、种子数据生成单元、种子密钥生成单元和第一写入单元;
所述目标文件生成单元,用于生成目标文件;
所述MAP文件写入单元,用于将所述目标文件中预留的所述种子数据的存储地址和所述种子密钥的存储地址存储在所述MAP文件中;
所述种子数据生成单元,用于生成种子数据;
所述种子密钥生成单元,用于根据所述种子数据生成种子密钥;
所述第一写入单元,用于根据MAP文件中记录的种子数据存储地址和种子密钥存储地址,将所述种子数据和种子密钥存储在目标文件中。
8.根据权利要求7所述的装置,其特征在于,还包括:标定数据读取单元、标定密钥生成单元和第二写入单元;
所述标定数据生成单元,用于获取目标文件的内容作为标定数据;
所述标定密钥生成单元,用于根据所述标定数据生成标定密钥;
所述第二写入单元,用于根据MAP文件中记录的标定密钥存储地址,将所述标定密钥存储在目标文件中;所述MAP文件中记录的标定密钥存储地址,是指在所述目标文件中预留的标定密钥的存储地址。
9.一种车辆程序验证装置,其特征在于,包括:目标文件导入单元、种子信息获取单元、第一密钥计算单元和第一密钥判断单元;
所述目标文件导入单元,用于将目标文件导入到所述ECU中作为所述ECU中目标文件代码;
所述种子信息获取单元,用于读取ECU中目标文件代码中存储的种子数据和种子密钥;
所述第一密钥计算单元,用于根据所述种子数据计算第一结果密钥;
所述第一密钥判断单元,用于判断所述第一结果密钥与所述种子密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
10.根据权利要求9所述的装置,其特征在于,还包括:标定信息获取单元、第二密钥计算单元和第二密钥判断单元;
所述标定信息获取单元,用于若所述第一结果密钥与所述种子密钥相同,读取所述目标文件代码中指定位置的内容作为标定数据,读取所述目标文件代码中的标定密钥;
所述第二密钥计算单元,用于根据所述标定数据计算第二结果密钥;
所述第二密钥判断单元,用于判断所述第二结果密钥与存储在所述ECU的目标文件代码中的标定密钥是否相同;若不相同,认为所述ECU中的目标文件代码为非合法代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410491392.6A CN104268458B (zh) | 2014-09-23 | 2014-09-23 | 一种车辆程序加密验证方法及加密、验证装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410491392.6A CN104268458B (zh) | 2014-09-23 | 2014-09-23 | 一种车辆程序加密验证方法及加密、验证装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268458A true CN104268458A (zh) | 2015-01-07 |
CN104268458B CN104268458B (zh) | 2018-01-26 |
Family
ID=52159979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410491392.6A Active CN104268458B (zh) | 2014-09-23 | 2014-09-23 | 一种车辆程序加密验证方法及加密、验证装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268458B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203062A (zh) * | 2016-08-29 | 2016-12-07 | 广州汽车集团股份有限公司 | 一种安全验证系统及方法 |
CN106611130A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN107453864A (zh) * | 2017-07-04 | 2017-12-08 | 奇瑞汽车股份有限公司 | 一种安全验证方法和系统 |
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
CN111681662A (zh) * | 2020-06-01 | 2020-09-18 | 科大讯飞股份有限公司 | 车内交互音频加密方法、装置及设备 |
CN111897545A (zh) * | 2020-06-28 | 2020-11-06 | 东风汽车集团有限公司 | 应用于ecu的安全访问方法和系统 |
WO2023039900A1 (zh) * | 2021-09-18 | 2023-03-23 | 华为技术有限公司 | 一种密钥传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070098152A1 (en) * | 1999-10-26 | 2007-05-03 | International Business Machines Corporation | Encryption/decryption of stored data using non-accessible, unique encryption key |
CN101178753A (zh) * | 2006-11-09 | 2008-05-14 | 侯方勇 | 身份验证的方法和装置 |
CN101783801A (zh) * | 2010-01-29 | 2010-07-21 | 福建星网锐捷网络有限公司 | 一种基于网络的软件保护方法、客户端及服务器 |
CN103427996A (zh) * | 2013-08-09 | 2013-12-04 | 天地融科技股份有限公司 | 一种动态口令牌身份的验证方法及系统 |
-
2014
- 2014-09-23 CN CN201410491392.6A patent/CN104268458B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070098152A1 (en) * | 1999-10-26 | 2007-05-03 | International Business Machines Corporation | Encryption/decryption of stored data using non-accessible, unique encryption key |
CN101178753A (zh) * | 2006-11-09 | 2008-05-14 | 侯方勇 | 身份验证的方法和装置 |
CN101783801A (zh) * | 2010-01-29 | 2010-07-21 | 福建星网锐捷网络有限公司 | 一种基于网络的软件保护方法、客户端及服务器 |
CN103427996A (zh) * | 2013-08-09 | 2013-12-04 | 天地融科技股份有限公司 | 一种动态口令牌身份的验证方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203062A (zh) * | 2016-08-29 | 2016-12-07 | 广州汽车集团股份有限公司 | 一种安全验证系统及方法 |
CN106203062B (zh) * | 2016-08-29 | 2019-05-03 | 广州汽车集团股份有限公司 | 一种安全验证系统及方法 |
CN106611130A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN107453864A (zh) * | 2017-07-04 | 2017-12-08 | 奇瑞汽车股份有限公司 | 一种安全验证方法和系统 |
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
CN111681662A (zh) * | 2020-06-01 | 2020-09-18 | 科大讯飞股份有限公司 | 车内交互音频加密方法、装置及设备 |
CN111897545A (zh) * | 2020-06-28 | 2020-11-06 | 东风汽车集团有限公司 | 应用于ecu的安全访问方法和系统 |
WO2023039900A1 (zh) * | 2021-09-18 | 2023-03-23 | 华为技术有限公司 | 一种密钥传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104268458B (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268458A (zh) | 一种车辆程序加密验证方法及加密、验证装置 | |
CN103946856B (zh) | 加解密处理方法、装置和设备 | |
CN111723383B (zh) | 数据存储、验证方法及装置 | |
CN101231622B (zh) | 基于闪存的数据存储方法和设备、及数据读取方法和设备 | |
CN101944170B (zh) | 一种软件版本发布方法、系统及装置 | |
CN103797488B (zh) | 使用非易失性存储设备的方法和装置 | |
CN109710315A (zh) | Bios刷写方法及bios镜像文件的处理方法 | |
CN102831079A (zh) | 一种对移动终端进行检测的方法和移动终端 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
JP5718373B2 (ja) | 不揮発性メモリのメモリブロックを検査する方法 | |
WO2017024628A1 (zh) | 加密信息的存储方法、加密信息的存储装置和终端 | |
US20140310535A1 (en) | Electronic Device with Flash Memory Component | |
CN101222698A (zh) | 一种基于硬件序列号的imei码保护方法 | |
CN104636444A (zh) | 一种数据库的加解密方法及装置 | |
US9450761B2 (en) | Memory system and method of generating management information | |
CN104537320A (zh) | 芯片自动加密方法和系统 | |
CN103995723A (zh) | 一种基于移动存储设备升级ivi系统固件的方法和装置 | |
CN106713334B (zh) | 虚拟存储卷的加密方法、解密方法、访问方法以及装置 | |
CN104836786A (zh) | 自动登录系统和自动登录方法 | |
CN106384042A (zh) | 一种电子设备以及安全系统 | |
CN107832589A (zh) | 软件版权保护方法及其系统 | |
CN105577644A (zh) | 一种加密认证方法和系统 | |
CN103297816B (zh) | 一种安全下载方法及数字电视接收终端 | |
CN102752751A (zh) | 应用的保护方法及装置 | |
CN102983969B (zh) | 一种操作系统的安全登录系统及安全登录方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |