CN111431917A - 升级包加密方法及装置,升级包解密方法及装置 - Google Patents

升级包加密方法及装置,升级包解密方法及装置 Download PDF

Info

Publication number
CN111431917A
CN111431917A CN202010242711.5A CN202010242711A CN111431917A CN 111431917 A CN111431917 A CN 111431917A CN 202010242711 A CN202010242711 A CN 202010242711A CN 111431917 A CN111431917 A CN 111431917A
Authority
CN
China
Prior art keywords
key
data packet
data
abstract
original
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
CN202010242711.5A
Other languages
English (en)
Other versions
CN111431917B (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.)
Shanghai Hanrun Automotive Electronics Co ltd
Original Assignee
Shanghai Hanrun Automotive Electronics 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 Shanghai Hanrun Automotive Electronics Co ltd filed Critical Shanghai Hanrun Automotive Electronics Co ltd
Priority to CN202010242711.5A priority Critical patent/CN111431917B/zh
Publication of CN111431917A publication Critical patent/CN111431917A/zh
Application granted granted Critical
Publication of CN111431917B publication Critical patent/CN111431917B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]

Abstract

本发明实施例提供升级包加密方法、装置、升级包解密方法、装置。加密方法包括:使用刷新数据生成原始数据包(随机数据和刷新数据);随机产生第一密钥;采用预设对称加密算法和第一密钥对原始数据包进行加密,得到第一数据包;在第一密钥后填加随机数据、刷新数据的长度信息以及在原始数据包中的启始位信息,得到第二密钥;使用第一非对称加密算法和第一公钥对第二密钥进行加密,得到第三密钥;生成包括第三密钥和第一数据包的第二数据包。在本发明实施例中,用相对简单的对称算法加密数据量大的原始数据包,用相对复杂的非对称算法加密数据量少的密钥(例如第二密钥),相对效率较高。并且,多重加密、大量填充随机数,即使被拦截也难于破解。

Description

升级包加密方法及装置,升级包解密方法及装置
技术领域
本发明涉及加解密领域,特别涉及升级包加密方法及装置,升级包解密方法及装置。
背景技术
在汽车控制器的软件升级的过程中,携带刷新数据的升级包可以通过无线网络(Wifi、4G、蓝牙)或有线网络(Ethernet、CAN、LIN)等方式进行传输,中间涉及到的环节众多,因此面临被拦截破解的风险。亟需提高安全性。
发明内容
有鉴于此,本发明实施例提供升级包加密方法、装置、升级包解密方法、装置,以提高升级包的在传输过程中的安全性。
为实现上述目的,本发明实施例提供如下技术方案:
一种升级包加密方法,包括:
使用刷新数据生成原始数据包;所述原始数据包包括随机数据和所述刷新数据;
生成刷新数据的长度信息以及在原始数据包中的启始位信息;
随机产生第一密钥;
采用预设对称加密算法和所述第一密钥对所述原始数据包进行加密,得到第一数据包;
在所述第一密钥后面填加随机数据、所述启始位信息和所述长度信息,得到第二密钥;
使用预设的第一非对称加密算法和第一公钥对所述第二密钥进行加密,得到第三密钥;
生成包括所述第三密钥和第一数据包的第二数据包。
可选的,还包括:对所述第二数据包进行摘要提取,得到原始摘要,对所述原始摘要进行随机数据填充,得到第一摘要;使用预设的第二非对称加密算法和第二私钥对所述第一摘要进行加密,得到第二摘要;生成包含所述第二摘要、所述第二数据包的第三加密数据包。
可选的,所述刷新数据长度为M;所述使用刷新数据生成原始数据包包括:在所述刷新数据前面填充长度为k-1的随机数据;k为不大于M的正整数;在所述刷新数据后面填充长度为k1的随机数据;其中,k-1,M和k1的和等于预设长度值N。
可选的,所述生成刷新数据的长度信息以及在原始数据包中的启始位信息包括:将所述M扩充为固定长度的长度信息;将所述k扩充为固定长度的启始位信息。
一种升级包解密方法,包括:
获取目标数据包;所述目标数据包包括第三密钥和第一数据包;其中,所述第三密钥是使用预设的第一非对称加密算法和第一公钥对第二密钥进行加密得到的;所述第一数据包是采用预设对称加密算法和第一密钥对原始数据包进行加密得到的;所述原始数据包包括刷新数据和随机数据;所述第二密钥是在所述第一密钥后面填加随机数据、刷新数据的长度信息以及启始位信息后得到的;所述启始位信息是所述刷新数据在原始数据包中的启始位信息;
从所述目标数据包中提取第三密钥,并使用第一非对称加密算法和第一私钥对所述第三密钥进行解密,得到所述第二密钥;
提取所述第二密钥中的第一密钥;
从所述目标数据包中提取所述第一数据包;
使用预设的对称算法和所述第一密钥对所述第一数据包进行解密,得到原始数据包;
从第二密钥中提取刷新数据的启始位信息和长度信息M;
从所述启始位开始,截取所述原始数据包中长度为M字节的数据,得到解密后的刷新数据。
可选的,所述获取目标数据包包括:获取升级包;所述升级包中包含加密摘要;从所述升级包中提取出加密摘要;使用预设的第二非对称加密算法和第二公钥对所述加密摘要进行解密,得到第三摘要;去除所述第三摘要中的随机数据,得到第四摘要;对所述升级包中除加密摘要外的剩余内容进行摘要提取,得到第五摘要;对比第四摘要和第五摘要;若第四摘要与第五摘要不相等,丢弃所述升级包;若第四摘要与第五摘要相等,所述升级包中除加密摘要外的剩余内容为所述目标数据包。
一种升级包加密装置,包括:
原始数据生成单元,用于:
使用刷新数据生成原始数据包;所述原始数据包包括随机数据和所述刷新数据;
生成刷新数据的长度信息以及在原始数据包中的启始位信息;
随机产生第一密钥;
第一加密单元,用于:
采用预设对称加密算法和所述第一密钥对所述原始数据包进行加密,得到第一数据包;
在所述第一密钥后面填加随机数据、启始位信息和长度信息,得到第二密钥;
使用预设的第一非对称加密算法和第一公钥对所述第二密钥进行加密,得到第三密钥;
生成包括所述第三密钥和第一数据包的第二数据包。
可选的,还包括:第二加密单元,用于:对所述第二数据包进行摘要提取,得到原始摘要,对所述原始摘要进行随机数据填充,得到第一摘要;使用预设的第二非对称加密算法和第二私钥对所述第一摘要进行加密,得到第二摘要;生成包含所述第二摘要、所述第二数据包的第三加密数据包。
一种升级包解密装置,包括:
解密单元,用于:
获取目标数据包;所述目标数据包包括第三密钥和第一数据包;其中,所述第三密钥是使用预设的第一非对称加密算法和第一公钥对第二密钥进行加密得到的;所述第一数据包是采用预设对称加密算法和第一密钥对原始数据包进行加密得到的;所述原始数据包包括刷新数据和随机数据;所述第二密钥是在所述第一密钥后面填加随机数据、刷新数据的长度信息以及启始位信息后得到的;所述启始位信息是所述刷新数据在原始数据包中的启始位信息;
从目标数据包中提取第三密钥,并使用第一非对称加密算法和第一私钥对所述第三密钥进行解密,得到所述第二密钥;
提取所述第二密钥中的第一密钥;
从所述目标数据包中提取所述第一数据包;
使用预设的对称算法和所述第一密钥对所述第一数据包进行解密,得到原始数据包;
刷新数据获取单元,用于:
从所述第二密钥中提取刷新数据的启始位信息和长度信息M;
从所述启始位开始,截取所述原始数据包中长度为M字节的数据,得到解密后的刷新数据。
可选的,在所述获取目标数据包的方面,所述解密单元具体用于:获取升级包;所述升级包中包含加密摘要;从所述升级包中提取出加密摘要;使用预设的第二非对称加密算法和第二公钥对所述加密摘要进行解密,得到第三摘要;去除所述第三摘要中的随机数据,得到第四摘要;对所述升级包中除加密摘要外的剩余内容进行摘要提取,得到第五摘要;对比第四摘要和第五摘要;若第四摘要与第五摘要不相等,丢弃所述升级包;若第四摘要与第五摘要相等,所述升级包中除加密摘要外的剩余内容为所述目标数据包。
可见,在本发明实施例中,用相对简单的对称算法加密数据量大的明文(原始数据包),用相对复杂的非对称算法加密数据量少的密钥(例如第二密钥),相对效率较高。并且,本发明实施例采用了多重加密,在加密处理过程中大量填充随机数(例如在原始数据包中填充、在第二密钥中填充等),即使被拦截也难于破解,提高了安全性。
附图说明
图1为本发明实施例提供的升级包加密方法的一种示例性流程;
图2为本发明实施例提供的解密方法的一种示例性流程;
图3a为本发明实施例提供的原始数据包的示意图;
图3b至图3d为本发明实施例提供的原始数据包的加密过程示意图;
图4为本发明实施例提供的解密过程示意图;
图5a、图5b为本发明实施例提供的升级包加密方法的另一种示例性流程;
图5c为本发明实施例提供的第一公钥、第一私钥、第二公钥、第二私钥之间的关系示意图;
图6为本发明实施例提供的获取目标数据包的示例性的流程;
图7为本发明实施例提供的升级包加密装置的示例性结构;
图8为本发明实施例提供的升级包解密装置的示例性结构。
具体实施方式
本发明实施例提供了升级包加密方法及装置,升级包解密方法及装置,以提高升级包在传输过程中的安全性。
上述加密方法是由升级包制作方(例如主机厂)的加密装置所执行,而解密方法是由控制器制造方(例如控制器供应商)的解密装置所执行。
图1示出了上述升级包加密方法的一种示例性流程,包括:
S11:使用刷新数据生成原始数据包C。
原始数据包包括随机数据和刷新数据。
具体的,刷新数据可为hex文件或S19文件,其中的数据是16进制的数据流,按字节排列,可使用M表示刷新数据的长度。
在一个示例中,请参见图3a,可在刷新数据前面填充长度为k-1字节的随机数据X1,在刷新数据后面填充长度为k1字节的随机数据X2。
上述k为不大于M的随机正整数,并且k-1+M+k1=N(预设长度值)。
在另一示例中,N为可被64整除的正整数,可通过调节K1大小以保证N可被64整除。
随机数据的生成方法包括但不限于现有任意的随机数据的生成方法。
S12:生成刷新数据的长度信息以及在原始数据包中的启始位信息。
在一个示例中,刷新数据的长度记为M(单位是字节),可将数值M扩充为固定长度(例如4字节)的长度信息。
前述提及了,在刷新数据前面填充k-1字节的随机数,则k为刷新数据在原始数据包C里的启始位置。
在一个示例中,可将k扩充为固定长度(例如4字节)的启始位信息。可将启始位信息在前,长度信息在后,组成一个8字节的数据,记为长度及启始位信息L。
S13:随机产生第一密钥AES_Key。
在一个示例中,可由随机数发生器产生一个固定字节(例如64字节)的第一密钥。
S14:采用预设对称加密算法和第一密钥对原始数据包进行加密,得到第一数据包C'。
在一个示例中,请参见图3b,可采用AES512算法(对称加密算法)和第一密钥AES_Key对刷新包C进行加密,得到第一数据包C'(或称为加密数据包C')。
S15:在第一密钥AES_Key后面填加随机数据、启始位信息和长度信息(即L),得到第二密钥AES_Key'。
在一个示例中,可在第一密钥AES_Key后面填充184字节的随机数据,然后加上8字节的刷新数据长度及启始位信息L,组成256字节的第二密钥AES_Key'。
需要说明的是,填充随机数据可以增加干扰,加强破解难度。
而之所以填充随机数据至256字节,是因为后续会使用RAS2048算法加密,该算法要求数据长度必须是256字节。若采用其他加密算法,可根据其他加密算法对数据的长度要求进行相应的填充。
S16:使用预设的第一非对称加密算法和第一公钥对第二密钥进行加密AES_Key',得到第三密钥AES_Key"。
在一个示例中,请参见图3c,预设的第一非对称加密算法可为RAS2048算法,RAS2048所使用的密钥为第一公钥,第三密钥AES_Key"长度为256字节。
在后续解密过程中,会使用到与第一公钥对应的第一私钥。
第一公钥(可称为公钥1)和第一私钥(可称为私钥1)由控制器制造方生成。
“私钥1”和“公钥1”是一对完全不同又完全匹配的密钥,“私钥1”由控制器制造方保存,“公钥1”发送给升级包制作方,用于加密。
S17:生成包括第三密钥和第一数据包C'的第二数据包D。
在一个示例中,请参见图3d,可将第三密钥AES_Key"和第一数据包C'组成一个新的数据包D(称为第二数据包),其中AES_Key"在前,C'在后。
将第二数据包作为升级包传输。升级包可以通过Wifi、4G、蓝牙、Ethernet、CAN、LIN等方式,传递到目标控制器。
与之相应的,由目标控制器(解密装置)执行的解密方法的示例性流程请参见图2和图4,包括:
S21:获取目标数据包D*;
目标数据包D*对应前述的第二数据包D。
目标数据包D*包括前述提及的第三密钥AES_Key"和第一数据包C'。
第三密钥AES_Key"和第一数据包C'的生成过程请参见前述记载,在此不作赘述。
S22:从目标数据包D*中提取第三密钥AES_Key",并使用预设的第一非对称加密算法和第一私钥(私钥1)对第三密钥进行解密,得到第二密钥AES_Key'。
在一个示例中,在加密时,是在第一密钥AES_Key后面填充184字节的随机数,然后加上8字节的刷新数据长度及启始位信息L,组成256字节的第二密钥AES_Key',然后,再使用预设的RAS2048算法和第一公钥对第二密钥进行加密,得到256字节的第三密钥AES_Key"。
与之对应,在解密过程中,可提取目标数据包D*的前256字节作为第三密钥AES_Key",使用RAS2048算法和“私钥1”对其进行解密,得到256字节的第二密钥AES_Key'。
S23:提取第二密钥AES_Key'中的第一密钥AES_Key。
沿用前例,若随机生成的第一密钥长度为64字节,可提取第二密钥AES_Key'的前64字节的数据,得到第一密钥AES_Key。
S24:从目标数据包D*中提取第一数据包C'。
具体的,若目标数据包D*中,第三密钥在前,占用256字节,则可提取目标数据包D*256字节之后的数据作为第一数据包C'。
S25:使用预设的对称算法和第一密钥AES_Key对第一数据包进行解密,得到原始数据包C。
在一个示例中,沿用前例,若加密时使用的对称算法为AES512,则在本步骤中,使用AES512算法和第一密钥AES_Key对第一数据包C'进行解密,得到原始数据包C。
S26:从第二密钥AES_Key'中提取刷新数据的启始位信息和长度信息M。
沿用前例,可提取第二密钥AES_Key'的后8字节的数据,得到长度及启始位信息L。
再根据长度及启始位信息L,得到刷新数据的启始位k和长度值M。
S27:从启始位k开始,截取原始数据包C中长度为M字节的数据,得到解密后的刷新数据A。
具体的,可截取原始数据包C的k位置之后的长度为M字节的数据,即得到解密后的刷新数据A。
控制器在提取到刷新数据A后,就可以进行控制器的升级了。
可见,在本发明实施例中,用相对简单的对称算法加密数据量大的明文(原始数据包),用相对复杂的非对称算法加密数据量少的秘钥(例如第二密钥),相对效率较高。并且,本发明实施例采用了多重加密,在加密处理过程中大量填充随机数(例如在原始数据包中填充、在第二密钥中填充等),即使被拦截也难于破解,提高了安全性。
在本发明实施例中,为了进一步提高安全性,请参见图5a和图5b,在生成第二数据包D后,还可进行如下操作:
S18:对第二数据包D进行摘要提取,得到原始摘要B。
在一个示例中,可使用SHA512算法对第二数据包D进行摘要提取,得到数据长度为64字节的原始摘要B。
S19:对原始摘要B进行随机数据填充,得到第一摘要B'。
在一个示例中,可对原始摘要B填充192字节的随机数据。
S110:使用预设的第二非对称加密算法和第二私钥对第一摘要B'进行加密,得到第二摘要B"。
第二非对称加密算法与前述的第一非对称加密算法可为同一加密算法,也可为不同的加密算法。
在一个示例中,第二非对称加密算法可为RAS2048算法,在本实施例中,RAS2048所使用的密钥为第二私钥,第二摘要B"长度为256字节。
在后续解密过程中,会使用到与第二私钥对应的第二公钥。
第二公钥(可称为公钥2)和第二私钥(可称为私钥2)由升级包制作方生成。“私钥2”由升级包制作方保存,用于加密过程,“公钥2”发送给控制器制造方,用于解密。
公钥1、私钥1、公钥2、私钥2之间的关系可参见图5c。
S111:生成包含第二摘要B"、第二数据包D的第三加密数据包E。
在一个示例中,可令第二摘要B"在前,第二数据包D在后,组成的第三加密数据包E。
将第三加密数据包E作为汽车控制器的升级包进行传输。
与之相对应,请参见图6,前述获取目标数据包示例性的可包括如下步骤:
S210:获取升级包;
升级包中包含加密摘要B*",加密摘要对应前述的第二摘要B"。需要说明的是,由于在传输过程中,升级包有可能遭受篡改,因为这里用“加密摘要”来表示升级包中的摘要。
S211:从升级包中提取出加密摘要B*"。
可根据预先设计的摘要的长度来提取加密摘要B*"。
在一个示例中,若在加密过程中,第二摘要B"在前并占用256字节,则提取出升级包最前面256字节的作为加密摘要B*"。
S212:使用预设的第二非对称加密算法和第二公钥对加密摘要B*"进行解密,得到第三摘要B*’。
在一个示例中,在加密过程中,若使用的第二非对称加密算法为RAS2048算法,则在本示例中,同样使用RAS2048算法对对加密摘要B*"进行解密,所采用的密钥为第二公钥,得到的第三摘要长度为256字节。
第三摘要B*’与加密过程中的第一摘要B’相对应。
需要说明的是,考虑到在传输过程中,升级包有可能遭受篡改,使用预设的第一非对称加密算法和第二公钥解密得到的摘要未必等于第一摘要,因此使用第三摘要B*’表示解密得到的摘要。
S213:去除第三摘要B*’中的随机数据,得到第四摘要B*。
第四摘要B*与加密过程中的原始摘要B相对应。
在一个示例中,在加密过程中,若原始摘要B的长度为64字节,填充的随机数据在后,则可提取第三摘要B*’中前64字节的数据,作为第四摘要B*。
S214:对升级包中除加密摘要外的剩余内容进行摘要提取,得到第五摘要。
在一个示例中,若在加密过程中,使用SHA512算法生成摘要,则在本示例中,同样使用SHA512算法对剩余内容进行摘要提取,得到第五摘要。
S215:对比第四摘要和第五摘要是否相等,若否,进入S216,若是,进入S217;
S216:丢弃升级包;
S217:提取升级包中除加密摘要外的剩余内容作为目标数据包D,进入S22。
也即,若第四摘要与第五摘要相等,则认为数据完整,可进行后续解密,如果不相等,则认为数据有缺陷,直接丢弃升级包。
需要说明的是,AES512、RAS2048、SHA512算法本身计算量较大,如果控制器计算能力有限或者信息安全要求稍低,可以选用计算量更小的算法,比如AES512可以用AES128、AES256代替,RAS2048可以用RAS1024代替,SHA512可以用SHA128、SHA256代替等,当然密钥长度、摘要长度等信息也会相应的变短。
综上,本发明实施例提供的加解密方法具有如下优点:
利用多重加密技术,提高数据的破解难度,增强了升级包的安全性;
使用两对完全不同又完全匹配的密钥,分别由加密方和解密方各生成一对,其中私钥由生成方保存,公钥则由对方保存,提高了密钥的安全性;
利用摘要提取技术,保证了数据的完整性,降低了被截取和篡改的风险;
在数据本身、密钥和摘要加密的过程中,均插入了大量的随机数,进一步提高了刷新数据的破解难度;
可以根据汽车控制器的计算能力和对信息安全的要求,可以灵活选用计算量不同的算法,提高了适用范围。
本发明还要求保护升级包加密装置,请参见图7,其示例性的包括:
原始数据生成单元71,用于:
使用刷新数据生成原始数据包;原始数据包包括随机数据和刷新数据;
生成刷新数据的长度信息以及在原始数据包中的启始位信息;
随机产生第一密钥;
第一加密单元72,用于:
采用预设对称加密算法和第一密钥对原始数据包进行加密,得到第一数据包;
在第一密钥后面填加随机数据、启始位信息和长度信息,得到第二密钥;
使用预设的第一非对称加密算法和第一公钥对第二密钥进行加密,得到第三密钥;
生成包括第三密钥和第一数据包的第二数据包。
具体细节请参见本文前述介绍,在此不作赘述。
在本发明其他实施例中,仍请参见图7,上述加密装置还可包括:
第二加密单元73,用于:
对第二数据包进行摘要提取,得到原始摘要,对原始摘要进行随机数据填充,得到第一摘要;
使用预设的第二非对称加密算法和第二私钥对第一摘要进行加密,得到第二摘要;
生成包含第二摘要、第二数据包的第三加密数据包。
具体细节请参见本文前述介绍,在此不作赘述。
在本发明其他实施例中,上述刷新数据长度为M;
在使用刷新数据生成原始数据包的方面,上述所有实施例中的原始数据生成单元71具体用于:
在刷新数据前面填充长度为k-1的随机数据;k为不大于M的正整数;
在刷新数据后面填充长度为k1的随机数据;
其中,k-1,M和k1的和等于预设长度值N。
具体细节请参见本文前述介绍,在此不作赘述。
在本发明其他实施例中,在生成刷新数据的长度信息以及在原始数据包中的启始位信息的方面,上述所有实施例中的原始数据生成单元71可具体用于:
将M扩充为固定长度的长度信息;
将k扩充为固定长度的启始位信息。
具体细节请参见本文前述介绍,在此不作赘述。
本发明还要求保护升级包解密装置,具体的,升级包解密装置可作为汽车控制器的组合部分。
请参见图8,升级包解密装置示例性的包括:
解密单元81,用于:
获取目标数据包;目标数据包包括第三密钥和第一数据包;其中,第三密钥是使用预设的第一非对称加密算法和第一公钥对第二密钥进行加密得到的;第一数据包是采用预设对称加密算法和第一密钥对原始数据包进行加密得到的;原始数据包包括刷新数据和随机数据;第二密钥是在第一密钥后面填加随机数据、刷新数据的长度信息以及启始位信息后得到的;启始位信息是刷新数据在原始数据包中的启始位信息;
从目标数据包中提取第三密钥,并使用第一非对称加密算法和第一私钥对第三密钥进行解密,得到第二密钥;
提取第二密钥中的第一密钥;
从目标数据包中提取第一数据包;
使用预设的对称算法和第一密钥对第一数据包进行解密,得到原始数据包;
刷新数据获取单元82,用于:
从第二密钥中提取刷新数据的启始位信息和长度信息M;
从启始位开始,截取原始数据包中长度为M字节的数据,得到解密后的刷新数据。
具体细节请参见本文前述介绍,在此不作赘述。
在本发明其他实施例中,在获取目标数据包的方面,解密单元81可具体用于:
获取升级包;升级包中包含加密摘要;
从升级包中提取出加密摘要;
使用预设的第二非对称加密算法和第二公钥对加密摘要进行解密,得到第三摘要;
去除第三摘要中的随机数据,得到第四摘要;
对升级包中除加密摘要外的剩余内容进行摘要提取,得到第五摘要;
对比第四摘要和第五摘要;
若第四摘要与第五摘要不相等,丢弃升级包;
若第四摘要与第五摘要相等,升级包中除加密摘要外的剩余内容为目标数据包。
具体细节请参见本文前述介绍,在此不作赘述。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
结合本文中所公开的实施例描述的PF或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种升级包加密方法,其特征在于,包括:
使用刷新数据生成原始数据包;所述原始数据包包括随机数据和所述刷新数据;
生成刷新数据的长度信息以及在原始数据包中的启始位信息;
随机产生第一密钥;
采用预设对称加密算法和所述第一密钥对所述原始数据包进行加密,得到第一数据包;
在所述第一密钥后面填加随机数据、所述启始位信息和所述长度信息,得到第二密钥;
使用预设的第一非对称加密算法和第一公钥对所述第二密钥进行加密,得到第三密钥;
生成包括所述第三密钥和第一数据包的第二数据包。
2.如权利要求1所述的方法,其特征在于,还包括:
对所述第二数据包进行摘要提取,得到原始摘要,对所述原始摘要进行随机数据填充,得到第一摘要;
使用预设的第二非对称加密算法和第二私钥对所述第一摘要进行加密,得到第二摘要;
生成包含所述第二摘要、所述第二数据包的第三加密数据包。
3.如权利要求1或2所述的方法,其特征在于,
所述刷新数据长度为M;
所述使用刷新数据生成原始数据包包括:
在所述刷新数据前面填充长度为k-1的随机数据;k为不大于M的正整数;
在所述刷新数据后面填充长度为k1的随机数据;
其中,k-1,M和k1的和等于预设长度值N。
4.如权利要求3所述的方法,其特征在于,所述生成刷新数据的长度信息以及在原始数据包中的启始位信息包括:
将所述M扩充为固定长度的长度信息;
将所述k扩充为固定长度的启始位信息。
5.一种升级包解密方法,其特征在于,包括:
获取目标数据包;所述目标数据包包括第三密钥和第一数据包;其中,所述第三密钥是使用预设的第一非对称加密算法和第一公钥对第二密钥进行加密得到的;所述第一数据包是采用预设对称加密算法和第一密钥对原始数据包进行加密得到的;所述原始数据包包括刷新数据和随机数据;所述第二密钥是在所述第一密钥后面填加随机数据、刷新数据的长度信息以及启始位信息后得到的;所述启始位信息是所述刷新数据在原始数据包中的启始位信息;
从所述目标数据包中提取第三密钥,并使用所述第一非对称加密算法和第一私钥对所述第三密钥进行解密,得到所述第二密钥;
提取所述第二密钥中的第一密钥;
从所述目标数据包中提取所述第一数据包;
使用预设的对称算法和所述第一密钥对所述第一数据包进行解密,得到原始数据包;
从所述第二密钥中提取刷新数据的启始位信息和长度信息M;
从所述启始位开始,截取所述原始数据包中长度为M字节的数据,得到解密后的刷新数据。
6.如权利要求5所述的方法,其特征在于,所述获取目标数据包包括:
获取升级包;所述升级包中包含加密摘要;
从所述升级包中提取出加密摘要;
使用预设的第二非对称加密算法和第二公钥对所述加密摘要进行解密,得到第三摘要;
去除所述第三摘要中的随机数据,得到第四摘要;
对所述升级包中除加密摘要外的剩余内容进行摘要提取,得到第五摘要;
对比第四摘要和第五摘要;
若第四摘要与第五摘要不相等,丢弃所述升级包;
若第四摘要与第五摘要相等,所述升级包中除加密摘要外的剩余内容为所述目标数据包。
7.一种升级包加密装置,其特征在于,包括:
原始数据生成单元,用于:
使用刷新数据生成原始数据包;所述原始数据包包括随机数据和所述刷新数据;
生成刷新数据的长度信息以及在原始数据包中的启始位信息;
随机产生第一密钥;
第一加密单元,用于:
采用预设对称加密算法和所述第一密钥对所述原始数据包进行加密,得到第一数据包;
在所述第一密钥后面填加随机数据、启始位信息和长度信息,得到第二密钥;
使用预设的第一非对称加密算法和第一公钥对所述第二密钥进行加密,得到第三密钥;
生成包括所述第三密钥和第一数据包的第二数据包。
8.如权利要求7所述的加密装置,其特征在于,还包括:
第二加密单元,用于:
对所述第二数据包进行摘要提取,得到原始摘要,对所述原始摘要进行随机数据填充,得到第一摘要;
使用预设的第二非对称加密算法和第二私钥对所述第一摘要进行加密,得到第二摘要;
生成包含所述第二摘要、所述第二数据包的第三加密数据包。
9.一种升级包解密装置,其特征在于,包括:
解密单元,用于:
获取目标数据包;所述目标数据包包括第三密钥和第一数据包;其中,所述第三密钥是使用预设的第一非对称加密算法和第一公钥对第二密钥进行加密得到的;所述第一数据包是采用预设对称加密算法和第一密钥对原始数据包进行加密得到的;所述原始数据包包括刷新数据和随机数据;所述第二密钥是在所述第一密钥后面填加随机数据、刷新数据的长度信息以及启始位信息后得到的;所述启始位信息是所述刷新数据在原始数据包中的启始位信息;
从目标数据包中提取第三密钥,并使用第一非对称加密算法和第一私钥对所述第三密钥进行解密,得到所述第二密钥;
提取所述第二密钥中的第一密钥;
从所述目标数据包中提取所述第一数据包;
使用预设的对称算法和所述第一密钥对所述第一数据包进行解密,得到原始数据包;
刷新数据获取单元,用于:
从所述第二密钥中提取刷新数据的启始位信息和长度信息M;
从所述启始位开始,截取所述原始数据包中长度为M字节的数据,得到解密后的刷新数据。
10.如权利要求9所述的解密装置,其特征在于,在所述获取目标数据包的方面,所述解密单元具体用于:
获取升级包;所述升级包中包含加密摘要;
从所述升级包中提取出加密摘要;
使用预设的第二非对称加密算法和第二公钥对所述加密摘要进行解密,得到第三摘要;
去除所述第三摘要中的随机数据,得到第四摘要;
对所述升级包中除加密摘要外的剩余内容进行摘要提取,得到第五摘要;
对比第四摘要和第五摘要;
若第四摘要与第五摘要不相等,丢弃所述升级包;
若第四摘要与第五摘要相等,所述升级包中除加密摘要外的剩余内容为所述目标数据包。
CN202010242711.5A 2020-03-31 2020-03-31 升级包加密方法及装置,升级包解密方法及装置 Active CN111431917B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010242711.5A CN111431917B (zh) 2020-03-31 2020-03-31 升级包加密方法及装置,升级包解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010242711.5A CN111431917B (zh) 2020-03-31 2020-03-31 升级包加密方法及装置,升级包解密方法及装置

Publications (2)

Publication Number Publication Date
CN111431917A true CN111431917A (zh) 2020-07-17
CN111431917B CN111431917B (zh) 2022-06-03

Family

ID=71550015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010242711.5A Active CN111431917B (zh) 2020-03-31 2020-03-31 升级包加密方法及装置,升级包解密方法及装置

Country Status (1)

Country Link
CN (1) CN111431917B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738111A (zh) * 2020-12-31 2021-04-30 西安航普电子有限责任公司 一种嵌入式终端自动升级方法
CN114520740A (zh) * 2022-02-16 2022-05-20 慕思健康睡眠股份有限公司 一种加密方法、装置、设备及存储介质
CN117609965A (zh) * 2024-01-19 2024-02-27 深圳前海深蕾半导体有限公司 智能设备的升级数据包获取方法、智能设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401678A (zh) * 2013-07-30 2013-11-20 成都卫士通信息产业股份有限公司 一种保障物联网数据传输安全的方法
CN104868996A (zh) * 2014-02-25 2015-08-26 中兴通讯股份有限公司 一种数据加密解密方法、装置以及终端
CN105591737A (zh) * 2016-01-27 2016-05-18 浪潮(北京)电子信息产业有限公司 一种数据加密方法、解密方法、传输方法及系统
CN106375306A (zh) * 2016-08-31 2017-02-01 武汉钢铁工程技术集团通信有限责任公司 手机应用数据传输加密方法及系统
CN106899607A (zh) * 2017-03-21 2017-06-27 杭州迪普科技股份有限公司 一种信息加密发送及解密接收的方法及装置
US20170244562A1 (en) * 2014-11-06 2017-08-24 Huawei Technologies Co., Ltd. Security information configuration method, security verification method, and related chip
CN107294937A (zh) * 2016-04-11 2017-10-24 平安科技(深圳)有限公司 基于网络通信的数据传输方法、客户端及服务器
CN108566381A (zh) * 2018-03-19 2018-09-21 百度在线网络技术(北京)有限公司 一种安全升级方法、装置、服务器、设备和介质
CN109005027A (zh) * 2018-08-16 2018-12-14 成都市映潮科技股份有限公司 一种随机数据加解密法、装置及系统
CN109495307A (zh) * 2018-11-27 2019-03-19 北京车和家信息技术有限公司 系统升级方法、ota升级包加密方法、终端设备及车辆
CN110661748A (zh) * 2018-06-28 2020-01-07 武汉斗鱼网络科技有限公司 一种日志的加密方法、解密方法及装置
CN110912690A (zh) * 2019-11-01 2020-03-24 中国第一汽车股份有限公司 一种数据加密和解密方法、车辆和存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401678A (zh) * 2013-07-30 2013-11-20 成都卫士通信息产业股份有限公司 一种保障物联网数据传输安全的方法
CN104868996A (zh) * 2014-02-25 2015-08-26 中兴通讯股份有限公司 一种数据加密解密方法、装置以及终端
US20170244562A1 (en) * 2014-11-06 2017-08-24 Huawei Technologies Co., Ltd. Security information configuration method, security verification method, and related chip
CN105591737A (zh) * 2016-01-27 2016-05-18 浪潮(北京)电子信息产业有限公司 一种数据加密方法、解密方法、传输方法及系统
CN107294937A (zh) * 2016-04-11 2017-10-24 平安科技(深圳)有限公司 基于网络通信的数据传输方法、客户端及服务器
CN106375306A (zh) * 2016-08-31 2017-02-01 武汉钢铁工程技术集团通信有限责任公司 手机应用数据传输加密方法及系统
CN106899607A (zh) * 2017-03-21 2017-06-27 杭州迪普科技股份有限公司 一种信息加密发送及解密接收的方法及装置
CN108566381A (zh) * 2018-03-19 2018-09-21 百度在线网络技术(北京)有限公司 一种安全升级方法、装置、服务器、设备和介质
CN110661748A (zh) * 2018-06-28 2020-01-07 武汉斗鱼网络科技有限公司 一种日志的加密方法、解密方法及装置
CN109005027A (zh) * 2018-08-16 2018-12-14 成都市映潮科技股份有限公司 一种随机数据加解密法、装置及系统
CN109495307A (zh) * 2018-11-27 2019-03-19 北京车和家信息技术有限公司 系统升级方法、ota升级包加密方法、终端设备及车辆
CN110912690A (zh) * 2019-11-01 2020-03-24 中国第一汽车股份有限公司 一种数据加密和解密方法、车辆和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738111A (zh) * 2020-12-31 2021-04-30 西安航普电子有限责任公司 一种嵌入式终端自动升级方法
CN114520740A (zh) * 2022-02-16 2022-05-20 慕思健康睡眠股份有限公司 一种加密方法、装置、设备及存储介质
CN117609965A (zh) * 2024-01-19 2024-02-27 深圳前海深蕾半导体有限公司 智能设备的升级数据包获取方法、智能设备及存储介质

Also Published As

Publication number Publication date
CN111431917B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN111431917B (zh) 升级包加密方法及装置,升级包解密方法及装置
CN105260668B (zh) 一种文件加密方法及电子设备
CN107078904B (zh) 混合密码密钥导出
CN108200028B (zh) 一种区块链安全获取服务器可信数据的方法及系统
CN112487483B (zh) 一种加密数据库流量审计方法及装置
EP3185466B1 (en) Encrypted communications method and communications terminal, and computer storage medium
EP2814199B1 (en) Method and system for downloading file
CN110059458B (zh) 一种用户口令加密认证方法、装置及系统
KR101668033B1 (ko) 시스템 온 칩 장치에서 강력하고 안전한 콘텐츠 보호를 구현하는 개선된 기법
BR102018015221B1 (pt) método para compartilhamento seguro de informações e sistema relacionado
CN102063598A (zh) 一种数据加密、解密方法及装置
CN102904712A (zh) 信息加密方法
CN110061968A (zh) 一种基于区块链的文件加解密方法、系统及存储介质
CN111404953A (zh) 一种消息加密方法、解密方法及相关装置、系统
KR20130093557A (ko) 적어도 하나의 암호화 명령어를 포함하는 소프트웨어 애플리케이션의 협력 실행을 위한 시스템, 장치, 및 방법
CN108170461B (zh) 差分升级包生成方法、差分升级方法及装置
CN113507482B (zh) 数据安全传输方法、安全交易方法、系统、介质和设备
CN111585998B (zh) 一种审计数据安全传输方法和系统
CN113326518A (zh) 一种数据处理方法及装置
US10057054B2 (en) Method and system for remotely keyed encrypting/decrypting data with prior checking a token
CN109426727B (zh) 数据加密方法、解密方法、加密系统及解密系统
CN109428720B (zh) 一种数据加密方法、解密方法、加密系统及解密系统
CN109936448A (zh) 一种数据传输方法及装置
CN115765977A (zh) 一种数据安全存储的方法及终端
US20220284112A1 (en) System and method for securely transferring data

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