CN108171018A - 一种车载解码器的软件加密和解密方法 - Google Patents

一种车载解码器的软件加密和解密方法 Download PDF

Info

Publication number
CN108171018A
CN108171018A CN201711428875.1A CN201711428875A CN108171018A CN 108171018 A CN108171018 A CN 108171018A CN 201711428875 A CN201711428875 A CN 201711428875A CN 108171018 A CN108171018 A CN 108171018A
Authority
CN
China
Prior art keywords
product
ciphertext
vehicle
encryption
activator appliance
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
Application number
CN201711428875.1A
Other languages
English (en)
Other versions
CN108171018B (zh
Inventor
黄龙茂
曾宪玮
赖志威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Lupai Liuma Technology Co ltd
Original Assignee
Guangzhou Roadpassion Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Roadpassion Electronic Technology Co Ltd filed Critical Guangzhou Roadpassion Electronic Technology Co Ltd
Priority to CN201711428875.1A priority Critical patent/CN108171018B/zh
Publication of CN108171018A publication Critical patent/CN108171018A/zh
Application granted granted Critical
Publication of CN108171018B publication Critical patent/CN108171018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种车载解码器的软件加密和解密方法,将产品端的加密算法生成的ID密文写入MCU指定存放的FLASH地址中,并将ID密文转换成明文发送给激活器端;激活器端接收到产品端发送的明文后,通过指定的加密秘钥从加密算法中得出一个密文字符串,然后激活器端将密文发给产品端,产品端接收到密文之后在MCU内部进行读写保护操作。本发明实现了车载解码器产品软件加密,无需加密芯片,节约了成本,大大减少了安全漏洞,加密效果好,不易被破解,破解难度很大,有效提高了车载解码器产品可靠性,能够有效避免产品被非法仿制和窃取,安全性能好,可以很好地满足实际应用的需要。

Description

一种车载解码器的软件加密和解密方法
技术领域
本发明涉及一种车载解码器的软件加密和解密方法。
背景技术
近年来,汽车电子行业发展迅速,汽车更新换代越来越快,相应得为了能够适配新车型解码器厂商也需要快速推出新产品,一款适配新车型的解码器的开发往往成本比较高,开发周期长,自身产品如果没有相应的加密技术则产品一旦落到不法分子手里就很有可能被抄袭,这会给解码器开发厂商带来巨大损失。
目前,产品的仿抄现象越来越频繁,在嵌入式应用领域,随着近些年黑客技术和芯片解剖技术的发展,嵌入式系统所面临的攻击也越来越多,随之而生的仿抄板技术也引起了产品设计者的重视。产品设计者目前所面临的问题主要是黑客对产品的仿制,其目的是获得产品设计技术或者降低产品设计成本,攻击手段主要是抄袭产品设计者的线路板布线图和拷贝获得产品运行程序。
如果产品带了加密的话,首先产品推广到市场后,不是随便什么人都可以拿去就能够复制。那么这把“锁”至少将大部分意图不轨的人挡在了“门”外。当然如果产品有很好的市场,肯定还有一部分人会想办法将“锁”去掉,破“门”而入。但是破解的过程也会需要花费一定的时间和成本。这样首先新产品有更长的时间独占市场,也许有复制产品出现在市场上市,又有更新的产品推出了。其次,复制者破解付出了代价,并且市场竞争者也少,那么产品的市场价格还能维持在一个可以获得不错收益的水平。所以使用加密的好处还是显而易见的。
现有技术的加密技术包括两大类:
1、软件加密锁类型
采用该类软件加密的产品内部一般只有一个比较便宜的单片机,单片机完成USB接口通讯,同时在单片机上实现一些数据的存储和简单的算法。如图1所示,软件加密类型的实现原理为上位机通过USB接口通讯协议发送验证口令及芯片ID号给加密锁,加密锁收到数据之后对数据通过特定的加密算法进行运算得出全新的一串数据之后发回给上位机,上位机接收到之后写入到FLASH当中。由于普通单片机是无法防拷贝,防复制和防剖片破解的,所以放在单片机上的数据、程序都是不安全的,可以简单被人复制、拷贝。盗版者不需要去研究上位机软件怎么解密,只需从最薄弱的软件加密锁的单片机攻击就能完成破解。这种软件加密锁的安全漏洞比较多。
2、逻辑加密芯片类型
这类加密锁,往往是两款芯片构成,一个是主控MCU,另一个是逻辑加密芯片。其中逻辑加密芯片负责数据的存储和简单的口令认证,这种逻辑加密芯片一般是由一个EEPROM加上外围逻辑电路组成,通过简单的ID号或者逻辑认证口令进行保护认证。如图2所示,逻辑芯片类加密方法的实现原理是由上位机通过USB通信协议先发送种子数据给逻辑加密芯片,然后由加密芯片内部的加密算法对接收到的明文数据进行运算得出一串口密文,然后再将此密文发回给上位机。这其中,逻辑类的大多数在密码验证或者在CPU与安全类芯片的计算机做过对比实际意义上cpu端也是做了相同的加密解密或者是逻辑处理的工作,当然如果有高手能反汇编二进制文件,找到cpu程序中调用安全芯片的入口,并绕过去,之前辛辛苦苦做的程序就被破解了。好的方案应该是硬件加软件的,但硬件加软件如果还是做对比认证,安全性能上还是很低的,而且芯片成本比较高,开发出来的产品价格优势比较低,没有竞争力。这种加密锁破解难度太低,安全性能太差,盗版商可以通过线路跟踪方式,对USB口输入输出数据做跟踪,找到认证的口令,以及存储读取的数据,完成破解。
发明内容
针对上述现有技术中存在的问题,本发明的目的在于提供一种可避免出现上述技术缺陷的车载解码器的软件加密和解密方法。
为了实现上述发明目的,本发明提供的技术方案如下:
一种车载解码器的软件加密和解密方法,将产品端的加密算法生成的ID密文写入MCU指定存放的FLASH地址中,并将ID密文转换成明文发送给激活器端;激活器端接收到产品端发送的明文后,通过指定的加密秘钥从加密算法中得出一个密文字符串,然后激活器端将密文发给产品端,产品端接收到密文之后在MCU内部进行读写保护操作。
进一步地,所述方法具体包括:
步骤1)对车载解码器产品进行激活判断,若已经激活,则执行应用程序,否则执行步骤2);
步骤2)产品端进入等待激活请求状态,激活器端发送激活请求数据,产品端接收到请求数据后直接读取MCU的设备ID号,通过指定的格式进行格式化,输出一个明文字符串发送给激活器端;
步骤3)激活器端接收到明文之后通过指定的加密秘钥经过加密算法运算得出一个密文字符串,激活器端将密文发给产品端,在发送正确的密文数据的同时在加密算法中随机生成随机密文,然后将正确的密文和随机密文混合在一起发给产品端;
步骤4)产品端接收到密文之后先将MCU内部FLASH进行解锁,解锁之后将密文写入到指定的地址中,写入成功之后重新对FLASH进行读写保护操作;
步骤5)在步骤4)完成之后执行步骤1)。
进一步地,在所述步骤2)中,激活器端发送的激活请求数据为字符串“ActiReq”。
进一步地,所述步骤1)包括:先从指定存放加密ID密文的FLASH地址中取出ID密文FlashDevID,然后经过反加密算法得出DecyptedFlashID,然后与直接读出MCU的设备ID进行比较,如果一致则说明车载解码器产品已经激活,则执行应用程序,不一致则说明产品未激活,则执行步骤2)。
进一步地,产品端和激活器端采用串口通讯,波特率为115200,数据位为8位,无奇偶校验,停止位为1。
本发明提供的车载解码器的软件加密和解密方法,简单有效,设计成本低,实现了车载解码器产品软件加密,无需加密芯片,节约了成本,大大减少了安全漏洞,加密效果好,不易被破解,破解难度很大,有效提高了车载解码器产品可靠性,能够有效避免产品被非法仿制和窃取,安全性能好,可以很好地满足实际应用的需要。
附图说明
图1为现有技术的软件加密锁的原理图;
图2为现有技术的逻辑加密芯片的原理图;
图3为本发明的产品端和激活器端的通讯接口结构图;
图4为本发明的流程图;
图5为对车载解码器产品进行激活判断的流程图;
图6为激活器端发送密文给产品端的过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种车载解码器的软件加密和解密方法,将产品端的加密算法生成的ID密文写入MCU(Microcontroller Unit,微控制单元)指定存放的FLASH地址中,并将ID密文转换成明文的方式通过串口发送给激活器端;激活器端接收到产品端发送的明文之后,通过指定的加密秘钥从加密算法中得出一个密文字符串,然后激活器端将密文通过串口发给产品端,产品端接收到密文之后在MCU内部进行读写保护操作。
产品端和激活器端采用了串口通讯,波特率为115200,数据位为8位,无奇偶校验,停止位为1。通讯接口结构图如图3所示。
本发明的方法大大加强了产品的保密强度与灵活性。激活器端采用双环形缓冲技术,在同时处理多个产品激活时能够起到保证数据接收不丢帧的作用,大大提高了产品激活的效率。加密算法加入反监听仿真功能,通过产生随机噪声数据和正确的ID密文一起发给产品端,即使通过监听软件记录了查询数据,也会被这些随机数据所迷惑,同时也无法仿真另一个软件运行产生的随机数,加密软件也就无法破解,实现了车载解码器产品软件加密,无需加密芯片,节约了成本,有效地提高了车载解码器产品的可靠性。
具体地,如图4所示,本发明的车载解码器的软件加密和解密方法,包括:
步骤1)判断车载解码器产品是否已经激活,若已激活则执行应用程序,否则执行步骤2);
本发明的加密解密处理代码是嵌入到车载解码器产品软件当中去的,一般是放在系统初始化完成之后准备开始运行APP程序的入口。当车载解码器产品通电运行到加密解密处理代码处时,首先对该车载解码器产品进行激活判断:如图5所示,先从指定存放加密ID密文的FLASH地址中取出ID密文FlashDevID,然后经过反加密算法decrypt得出DecyptedFlashID,然后与直接读出MCU的设备ID进行比较,如果一致则说明车载解码器产品已经激活,则下一步将执行APP程序,不一致则说明产品未激活,则下一步将执行步骤2);
步骤2)产品端进入等待激活请求状态,此时激活器端发送激活请求数据,这里的激活请求数据为一个字符串“ActiReq”,产品端接收到请求数据之后直接读取MCU的设备ID号,通过指定的格式进行格式化,输出一个明文字符串发送给激活器端;
步骤3)激活器端接收到明文之后通过指定的加密秘钥经过加密算法encrypt进行运算得出一个密文字符串,这里加密秘钥就可以由自己定,但是产品端和激活器端的加密秘钥必须保持一致,不然将会无法激活;然后,如图6所示,激活器端将密文字符串通过串口发给产品端,在发送正确的密文数据的同时在加密算法中随机生成一些随机密文,然后将正确的密文和随机密文混合在一起发给产品端;这么做的目的是:如果万一激活器被泄露出去被人拿去破解监听这个发送密文的一个数据的话,就会被这些随机数据所迷惑,这样就大大加大了一个破解加密算法的难度,从而提高了产品加密的安全性;
步骤4)产品端接收到密文之后先将MCU内部FLASH进行解锁,解锁之后将密文写入到指定的地址中,写入成功之后重新对FLASH进行读写保护操作,这是为了能够防止外部读取复制MCU程序进行破解加密,一旦外部强制进行解锁则MCU会自动销毁所有程序;
步骤5)在步骤4)完成之后转而执行步骤1):判断车载解码器激活是否成功,如果激活成功则接下来执行APP程序,如果激活不成功则重新执行步骤2)进入等待激活请求状态。
本发明中的产品端和激活器端是分开的两个终端,只要激活器端被保密不外泄,不法分子如果单纯只是拿到产品又没有产品秘钥和加密算法要想去破解这个软件加密的话是需要花费非常昂贵的代价的。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (5)

1.一种车载解码器的软件加密和解密方法,其特征在于,将产品端的加密算法生成的ID密文写入MCU指定存放的FLASH地址中,并将ID密文转换成明文发送给激活器端;激活器端接收到产品端发送的明文后,通过指定的加密秘钥从加密算法中得出一个密文字符串,然后激活器端将密文发给产品端,产品端接收到密文之后在MCU内部进行读写保护操作。
2.根据权利要求1所述的车载解码器的加密和解密方法,其特征在于,所述方法具体包括:
步骤1)对车载解码器产品进行激活判断,若已经激活,则执行应用程序,否则执行步骤2);
步骤2)产品端进入等待激活请求状态,激活器端发送激活请求数据,产品端接收到请求数据后直接读取MCU的设备ID号,通过指定的格式进行格式化,输出一个明文字符串发送给激活器端;
步骤3)激活器端接收到明文之后通过指定的加密秘钥经过加密算法运算得出一个密文字符串,激活器端将密文发给产品端,在发送正确的密文数据的同时在加密算法中随机生成随机密文,然后将正确的密文和随机密文混合在一起发给产品端;
步骤4)产品端接收到密文之后先将MCU内部FLASH进行解锁,解锁之后将密文写入到指定的地址中,写入成功之后重新对FLASH进行读写保护操作;
步骤5)在步骤4)完成之后执行步骤1)。
3.根据权利要求1-2所述的车载解码器的软件加密和解密方法,其特征在于,在所述步骤2中,激活器端发送的激活请求数据为字符串“ActiReq”。
4.根据权利要求1-2所述的车载解码器的软件加密和解密方法,其特征在于,所述步骤1包括:先从指定存放加密ID密文的FLASH地址中取出ID密文FlashDevID,然后经过反加密算法得出DecyptedFlashID,然后与直接读出MCU的设备ID进行比较,如果一致则说明车载解码器产品已经激活,则执行应用程序,不一致则说明产品未激活,则执行步骤2)。
5.根据权利要求1-4所述的车载解码器的软件加密和解密方法,其特征在于,产品端和激活器端采用串口通讯,波特率为115200,数据位为8位,无奇偶校验,停止位为1。
CN201711428875.1A 2017-12-26 2017-12-26 一种车载解码器的软件加密和解密方法 Active CN108171018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711428875.1A CN108171018B (zh) 2017-12-26 2017-12-26 一种车载解码器的软件加密和解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711428875.1A CN108171018B (zh) 2017-12-26 2017-12-26 一种车载解码器的软件加密和解密方法

Publications (2)

Publication Number Publication Date
CN108171018A true CN108171018A (zh) 2018-06-15
CN108171018B CN108171018B (zh) 2021-10-08

Family

ID=62520688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711428875.1A Active CN108171018B (zh) 2017-12-26 2017-12-26 一种车载解码器的软件加密和解密方法

Country Status (1)

Country Link
CN (1) CN108171018B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902453A (zh) * 2019-02-22 2019-06-18 山东欧德利电气设备有限公司 一种软件加密方法
CN116090031A (zh) * 2023-03-08 2023-05-09 上海泰矽微电子有限公司 一种基于芯片uuid的固件加密方法
CN116126753A (zh) * 2022-12-28 2023-05-16 江苏都万电子科技有限公司 一种防护存储器及存储方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588953A (zh) * 2004-08-25 2005-03-02 赵颜 一种下载及再现互联网数据的终端及下载系统和方法
US20070198795A1 (en) * 2006-02-08 2007-08-23 Toru Harada Application executing apparatus and application execution method
US20150074414A1 (en) * 2013-09-09 2015-03-12 Electronics And Telecommunications Research Institute System and method for providing digital signature based on mobile trusted module
CN106385405A (zh) * 2016-09-05 2017-02-08 上海科世达-华阳汽车电器有限公司 一种汽车激活方法
CN107391971A (zh) * 2017-06-13 2017-11-24 北京航天发射技术研究所 一种软件许可授权的保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588953A (zh) * 2004-08-25 2005-03-02 赵颜 一种下载及再现互联网数据的终端及下载系统和方法
US20070198795A1 (en) * 2006-02-08 2007-08-23 Toru Harada Application executing apparatus and application execution method
US20150074414A1 (en) * 2013-09-09 2015-03-12 Electronics And Telecommunications Research Institute System and method for providing digital signature based on mobile trusted module
CN106385405A (zh) * 2016-09-05 2017-02-08 上海科世达-华阳汽车电器有限公司 一种汽车激活方法
CN107391971A (zh) * 2017-06-13 2017-11-24 北京航天发射技术研究所 一种软件许可授权的保护方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902453A (zh) * 2019-02-22 2019-06-18 山东欧德利电气设备有限公司 一种软件加密方法
CN116126753A (zh) * 2022-12-28 2023-05-16 江苏都万电子科技有限公司 一种防护存储器及存储方法
CN116126753B (zh) * 2022-12-28 2024-02-02 江苏都万电子科技有限公司 一种防护存储器及存储方法
CN116090031A (zh) * 2023-03-08 2023-05-09 上海泰矽微电子有限公司 一种基于芯片uuid的固件加密方法

Also Published As

Publication number Publication date
CN108171018B (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
US9921978B1 (en) System and method for enhanced security of storage devices
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
CN107508679B (zh) 一种智能终端主控芯片与加密芯片的绑定及认证方法
CN101854243B (zh) 一种电路系统设计加密电路及其加密方法
CN110149209B (zh) 物联网设备及其提高数据传输安全性的方法和装置
CN101562040B (zh) 高安全性移动存储器的数据处理方法
CN103473592B (zh) 一种基于cpk体制的标签离线鉴真方法及装置
US20090080659A1 (en) Systems and methods for hardware key encryption
US20030188162A1 (en) Locking a hard drive to a host
CN101582109A (zh) 数据加密方法及装置、数据解密方法及装置、固态硬盘
CN103049681A (zh) 一种基于防复制电路的防抄板系统及方法
CN102571348A (zh) 以太网加密认证系统及加密认证方法
CN115314253B (zh) 数据处理方法、装置、系统、设备及作业机械
CN108171018A (zh) 一种车载解码器的软件加密和解密方法
CN110414248B (zh) 一种调试微处理器的方法及微处理器
CN108491724A (zh) 一种基于硬件的计算机接口加密装置及方法
CN114785503B (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN105162578B (zh) 应用于通用数字信号处理器的加密电路
CN110233729B (zh) 一种基于puf的加密固态盘密钥管理方法
CN100476844C (zh) 电子钥匙与计算机之间实现绑定功能的方法
CN112968774B (zh) 一种组态存档加密及解密方法、装置存储介质及设备
CN107589999B (zh) 一种天地一体化工程中进程通信安全通道建立方法
WO2024027301A1 (zh) 一种汽车诊断软件的加密方法
TWI222303B (en) Computer system, communications system, and method and system for identifying security violations
CN105740937A (zh) 一种高强度加密u盘、加密装置及系统

Legal Events

Date Code Title Description
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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A software encryption and decryption method of vehicle decoder

Effective date of registration: 20220323

Granted publication date: 20211008

Pledgee: Bank of China Limited Guangzhou Development Zone Branch

Pledgor: GUANGZHOU ROADPASSION ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2022980003095

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230515

Granted publication date: 20211008

Pledgee: Bank of China Limited Guangzhou Development Zone Branch

Pledgor: GUANGZHOU ROADPASSION ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2022980003095

PC01 Cancellation of the registration of the contract for pledge of patent right
TR01 Transfer of patent right

Effective date of registration: 20230714

Address after: Room 301, 3rd Floor, Building 6, No. 2 Tiantai 1st Road, Science City, Huangpu District, Guangzhou City, Guangdong Province, 510000

Patentee after: Guangzhou Lupai Liuma Technology Co.,Ltd.

Address before: 510663 room 602, building A1, 6th floor, No.19, Kehui 2nd Street, Kehui Jingu Park, No.99, middle Kexue Avenue, Luogang District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU ROADPASSION ELECTRONIC TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right