一种嵌入式设备远程自动升级方法和系统的制作方法

文档序号:7775235阅读:201来源:国知局
一种嵌入式设备远程自动升级方法和系统的制作方法
【专利摘要】本发明公开了一种嵌入式设备远程自动升级方法和系统,属于嵌入式设备【技术领域】,该方法包括:定期与管理服务器进行通讯,检测是否需要进行升级版本;如果需要升级,则根据管理服务器指定的地址从文件服务器上下载升级压缩包;对升级压缩包并进行解压;执行升级包中的身份识别可执行程序进行身份识别以获取升级程序文件的密钥;根据密钥对升级程序文件进行解密并执行升级。采用本发明实施例,增加了两重加密方式,从而实现安全、便捷的远程自动升级。
【专利说明】一种嵌入式设备远程自动升级方法和系统
【技术领域】
[0001]本发明涉及嵌入式设备【技术领域】,尤其涉及一种嵌入式设备远程自动升级方法和系统。
【背景技术】
[0002]随着计算机技术和网络技术的不断发展,嵌入式设备在各个领域得到广泛应用,网络型嵌入式设备以其便捷性更受欢迎。各种各样嵌入式设备层出不穷,功能原来越强大,软件越来越复杂。因此,软件存在问题不可避免,对系统升级也就成为必不可少的功能。目前,嵌入式设备远程升级的实现方式有两种:
[0003]方法一:半自动式,该方式中需要人工操作后设备才会从网上获取升级包后进行升级。该方法相对安全但不够智能,需要人工干预。
[0004]方法二:自动化,由管理人员将升级包放在服务器上,由嵌入式设备自动从服务器上获取升级包后进行升级。该方法不需要人工干预,设备能自动获取升级包后进行升级,全程自动化。但该方存在以下缺点:
[0005](I)嵌入式设备不能识别错误的升级程序,升级了错误的升级程序会造成设备不能工作。
[0006](2)嵌入式设备不能识别损坏的升级程序文件,升级了损坏的升级程序文件会造成设备不能工作。
[0007]( 3 )升级程序放在服务器上存在被非法获取、拷贝后,进行产品复制而造成厂家的经济损失。

【发明内容】

[0008]有鉴于此,本发明要解决的技术问题是提供一种嵌入式设备远程自动升级方法和系统,以降低自动升级所带来的安全风险,降低维护成本,同时提高升级的便捷性。
[0009]本发明解决上述技术问题所采用的技术方案如下:
[0010]根据本发明的一个方面,提供的一种嵌入式设备远程自动升级方法,包括以下步骤:
[0011]定期与管理服务器进行通讯,检测是否需要进行升级版本;
[0012]如果需要升级,则根据管理服务器指定的地址从文件服务器上下载升级压缩包,并进行解压;
[0013]执行升级包中的身份识别可执行程序进行身份识别以获取升级程序文件的密钥;
[0014]如果身份验证成功,根据密钥对升级程序文件进行解密并执行升级,否则结束流程。
[0015]优选地,对升级压缩包并进行解压之后,执行身份识别可执行程序进行身份识别之前进一步包括:利用升级包中的MD5密钥对解压出的升级程序文件和身份识别可执行程序文件进行完整性和正确性校验,如果文件不完整或不正确,则结束流程。
[0016]优选地,执行身份识别可执行程序进行身份识别以获取升级程序文件的密钥进一步包括:
[0017]身份识别可执行程序产生一个随机数;将随机数和预设的密钥一起,通过加密算法生成加密密文;并将加密密文传递给加密芯片;
[0018]接收到加密芯片返回的解密明文后,判断解密明文是否与随机数一致,如果一致,则获取升级程序文件的密钥。
[0019]优选地,获取升级程序文件的密钥具体包括:从加密芯片中的OTP区读取升级程序文件的密钥。
[0020]优选地,该方法还包括:加密芯片接收到加密密文后,将收到的加密密文与预设的密钥一起,通过解密算法,得到解密明文;将解密明文传递给身份识别可执行程序。
[0021]根据本发明的另一个方面,提供的一种嵌入式设备远程自动升级系统包括以下模块:
[0022]升级监测模块,用于定期与管理服务器进行通讯,检测是否需要进行升级版本;
[0023]文件下载模块,用于当需要升级时,根据管理服务器指定的地址从文件服务器上下载升级压缩包;
[0024]解压模块,用于对升级压缩包进行解压;
[0025]身份识别模块,用于进行身份识别,当身份验证成功后,获取升级程序文件的密钥;
[0026]执行模块,用于根据密钥对升级程序文件进行解密并执行升级。
[0027]优选地,该系统还包括:
[0028]文件校验模块,用于利用升级包中的MD5密钥对解压出的升级程序文件和身份识别可执行程序文件进行完整性和正确性校验,当文件不完整或不正确时,结束升级。
[0029]优选地,身份识别模块进一步包括:
[0030]加密密文产生单元,用于产生一个随机数;将随机数和预设的密钥一起,通过加密算法生成加密密文;
[0031]加密密文发送单元,用于将加密密文传递给加密芯片;
[0032]解密明文接收单元,用于接收加密芯片返回的解密明文;
[0033]判断单元,用于判断解密明文是否与随机数一致;
[0034]密钥获取单元,用于当解密明文是否与随机数一致时,获取升级程序文件的密钥。
[0035]优选地,密钥获取单元具体用于:当解密明文是否与随机数一致时,从加密芯片的OTP区读取升级程序文件的密钥。
[0036]优选地,该系统还包括解密模块,用于对身份识别模块传递的加密密文进行解密,解密模块进一步包括:
[0037]加密密文接收单元,用于接收身份识别模块发送的加密密文;
[0038]加密密文解密单元,用于将收到的加密密文与预设的密钥一起,通过解密算法,得到解密明文;
[0039]解密明文发送单元,用于将解密明文传递给身份识别模块。
[0040]本发明实施例提供的嵌入式设备自动升级方法和系统,利用与升级包一起发送的身份识别可执行程序,与嵌入式设备的加密芯片进行身份识别,保证了升级的安全性;同时,对升级程序文件利用事先烧录在嵌入式设备的加密芯片的OTP区中密钥进行加密,由嵌入式设备完成解密,保证了升级程序文件不被非法获取或拷贝,减少产品被复制造成经济损失。此外,利用MD5加密算法对升级包进行加密,MD5密钥随升级包一起发送,嵌入式设备利用MD5密钥完成MD5解密校验,确保升级程序文件的完整性和正确性,避免因升级程序文件损坏或错误导致设备不能工作。本发明实施例增加了两重加密方式,从而实现安全、便捷的远程自动升级。
【专利附图】

【附图说明】
[0041]图1为本发明实施例提供的一种嵌入式设备的结构示意图。
[0042]图2为本发明实施例提供的一种嵌入式设备的自动升级方法流程图。
[0043]图3为本发明优选实施例提供的一种嵌入式设备的自动升级方法流程图。
[0044]图4为本发明优选实施例提供的一种身份识别方法流程图。
[0045]图5为本发明优选实施例提供的一种嵌入式设备远程自动升级系统的模块结构图。
[0046]图6为本发明优选实施例提供的身份识别模块和解密模块的模块结构图。
【具体实施方式】
[0047]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048]如图1所示为本发明实施例提供的一种嵌入式设备的结构示意图,该嵌入式设备包含加密芯片10和主控芯片20,其中:
[0049]加密芯片10,用于事先在其OTP区烧录对升级程序进行解密的密钥,并配合主控芯片完成身份识别。
[0050]具体来说,加密芯片10,包含一个OTP (One-time Password,动态口令)区,用于存放着用于对升级程序文件进行解密的密钥;以及解密模块,用于对主控芯片传递的加密密文进行解密。
[0051]主控芯片20,用于从文件服务器获取升级压缩包并进行解压,执行升级包中的身份识别可执行程序与加密芯片10进行身份识别,验证成功后从加密芯片10的OTP区获取升级程序文件的密钥,对升级程序文件进行解密后执行升级。
[0052]具体来说,系统包括文件服务器、嵌入式设备、管理服务器和管理客户端;由管理客户端对升级程序文件进行加密(密钥与事先烧录在嵌入式设备的加密芯片中的密钥一致),对升级包(升级包包括升级程序文件、身份识别可执行程序以及版本控制信息文件)进行MD5加密,将MD5密钥和升级包一起打包压缩后上传到文件服务器,并在管理服务器上设置升级更新。嵌入式设备检测到更新后,根据管理服务器指定的地址从文件服务器上下载升级压缩包,执行与升级压缩包一起发送的身份识别可执行程序与加密芯片进行身份识另O,验证成功后从加密芯片的OTP区获取升级程序文件的密钥,对升级程序文件进行解密后执行升级。[0053]当然,该嵌入式设备还存在其他模块,其他模块属于现有技术,这里不再重述。
[0054]本发明实施例提供的嵌入式设备,通过增加一个加密芯片,并通过软件和硬件相结合的加密方式,从而实现安全、便捷的远程自动升级。
[0055]如图2所示为本发明实施例提供的一种嵌入式设备的自动升级方法的流程图,该方法包括:
[0056]S202、定期与管理服务器进行通讯,检测是否需要进行升级版本。
[0057]S204、判断是否需要升级,如果是,则执行步骤S206,否转至步骤S214。
[0058]S206、根据管理服务器指定的地址从文件服务器上下载升级压缩包,并进行解压。
[0059]其中,升级压缩包中包括升级程序文件、身份识别可执行程序文件和版本控制信息文件。
[0060]S208、执行升级包中的身份识别可执行程序进行身份识别以获取升级程序文件的密钥。
[0061]其中,当身份验证成功时,获取升级程序文件的密钥具体包括:从加密芯片中的OTP区读取升级程序文件的密钥。
[0062]S210、判断是否身份验证成功,如果是,则执行步骤S212,否转至步骤S214。
[0063]S212、根据密钥对升级程序文件进行解密并执行升级。
[0064]具体来说,对FLASH进行擦除和写入,完成升级过程。
[0065]S214、结束流程。
[0066]如图3所示为本发明优选实施例提供的一种嵌入式设备的自动升级方法的流程图,该方法包括:
[0067]S302、定期与管理服务器进行通讯,检测是否需要进行升级版本。
[0068]S304、判断是否需要升级,如果是,则执行步骤S306,否则转至步骤S320。
[0069]S306、根据管理服务器指定的地址从文件服务器上下载升级压缩包。
[0070]S308、对升级压缩包并进行解压。
[0071]其中,升级压缩包中包括升级程序文件、身份识别可执行程序文件、版本控制信息文件和MD5密钥。
[0072]S310、利用升级包中的MD5密钥对解压出的升级程序文件和身份识别可执行程序文件进行MD5解密以校验完整性和正确性校验。
[0073]S312、判断文件校验是否成功,如果是,则执行步骤S314,否则转至步骤S320。
[0074]S314、执行身份识别可执行程序进行身份识别以获取密钥。
[0075]S316、如果身份验证成功,则执行步骤S318,否转至步骤S320。
[0076]S318、根据密钥对升级程序文件进行解密并执行升级。
[0077]S320、结束流程。
[0078]如图4所示为本发明优选实施例提供的一种身份识别方法流程图,该方法包括:
[0079]S402、身份识别可执行程序产生一个随机数A ;将随机数和预设的密钥一起,通过加密算法生成加密密文B。
[0080]其中,预设的密钥是在身份识别可执行程序内预设的16字节密钥,该密钥与解密模块预设预设的密钥一致,分别在加密与解密时使用。
[0081]S404、将加密密文B传递给加密芯片。[0082]S406、加密芯片将收到的加密密文B与预设的密钥一起,通过解密算法,得到解密明文C ;
[0083]S408、将解密明文C传递给身份识别可执行程序。
[0084]S410、身份识别可执行程序判断解密明文C是否与随机数A —致,如果一致,执行步骤S412,否则转至步骤S414。
[0085]S412、从加密芯片的OTP区获取升级程序文件的密钥。
[0086]S414、结束流程。
[0087]需要说明的是,当上述步骤中加密或者解密失败时,都认为身份识别失败结束流程。
[0088]本实施例提供的身份识别方法,是采用软硬件结合加密的方式,升级包中包含身份识别可执行程序与设备上的加密芯片进行通信实现身份识别过程;网络中的所有设备采用同一个升级包,可以自动完成不同设备的身份识别。
[0089]如图5所示是本发明优选实施例提供的一种嵌入式设备远程自动升级系统结构图,该系统包括以下模块:
[0090]升级监测模块10,用于定期与管理服务器进行通讯,检测是否需要进行升级版本。
[0091]文件下载模块20,用于当需要升级时,根据管理服务器指定的地址从文件服务器上下载升级压缩包。
[0092]解压模块30,用于对升级压缩包进行解压。
[0093]文件校验模块40,用于利用升级包中的MD5密钥对解压出的升级程序文件和身份识别可执行程序文件进行完整性和正确性校验,当文件不完整或不正确时,结束升级。
[0094]身份识别模块50,用于进行身份识别,当身份验证成功后,获取升级程序文件的密钥;
[0095]解密模块60,用于对身份识别模块传递的加密密文进行解密;
[0096]执行模块70,用于根据密钥对升级程序文件进行解密并执行升级。
[0097]请参阅图6,作为本发明实施例的一种优选方式,身份识别模块50进一步包括加密密文产生单元501、加密密文发送单元502、解密明文接收单元503、判断单元504和密钥获取单元505,其中:
[0098]加密密文产生单元501,用于产生一个随机数;将随机数和预设的密钥一起,通过加密算法生成加密密文;
[0099]加密密文发送单元502,用于将加密密文传递给加密芯片;
[0100]解密明文接收单元503,用于接收加密芯片返回的解密明文;
[0101]判断单元504,用于判断解密明文是否与随机数一致;
[0102]密钥获取单元505,用于当解密明文是否与随机数一致时,获取升级程序文件的密钥。
[0103]优选地,密钥获取单元505具体用于,当所述解密明文是否与所述随机数一致时,从加密芯片的OTP区读取升级程序文件的密钥。
[0104]请参阅图6,解密模块60进一步包括加密密文接收单元601、加密密文解密单元602和解密明文发送单元603,其中:
[0105]加密密文接收单元601,用于接收到加密密文;[0106]加密密文解密单元602,用于将收到的加密密文与预设的密钥一起,通过解密算法,得到解密明文;
[0107]解密明文发送单元603,用于将解密明文传递给身份识别模块。
[0108]需要说明的是,本实施例中的文件校验模块40是为了校验文件的完整性和正确性,在不考虑容错的情况下,该模块不是必须的。且上述方法实施例中的所有技术特征在本系统的实施例中同样适用,这里不再重述。
[0109]本发明实施例提供的嵌入式设备自动升级方法和系统,利用与升级包一起发送的身份识别可执行程序,与嵌入式设备的加密芯片进行身份识别,保证了升级的安全性;同时,对升级程序文件利用事先烧录在嵌入式设备的加密芯片的OTP区中密钥进行加密,由嵌入式设备完成解密,保证了升级程序文件不被非法获取或拷贝,减少产品被复制造成经济损失。此外,利用MD5加密算法对升级包进行加密,MD5密钥随升级包一起发送,嵌入式设备利用MD5密钥完成MD5解密校验,确保升级程序文件的完整性和正确性,避免因升级程序文件损坏或错误导致设备不能工作。本发明实施例增加了两重加密方式,从而实现安全、便捷的远程自动升级。
[0110]以上参照【专利附图】

【附图说明】了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
【权利要求】
1.一种嵌入式设备远程自动升级方法,其特征在于,该方法包括以下步骤: 定期与管理服务器进行通讯,检测是否需要进行升级版本; 如果需要升级,则根据管理服务器指定的地址从文件服务器上下载升级压缩包,并进行解压; 执行升级包中的身份识别可执行程序进行身份识别以获取升级程序文件的密钥;如果身份验证成功,根据所述密钥对所述升级程序文件进行解密并执行升级,否则结束流程。
2.根据权利要求1所述的自动升级方法,其特征在于,对所述升级压缩包并进行解压之后,执行所述身份识别可执行程序进行身份识别之前进一步包括: 利用升级包中的MD5密钥对解压出的升级程序文件和身份识别可执行程序文件进行完整性和正确性校验,如果文件不完整或不正确,则结束流程。
3.根据权利要求1或2所述的自动升级方法,其特征在于,执行所述身份识别可执行程序进行身份识别以获取升级程序文件的密钥进一步包括: 身份识别可执行程序产生一个随机数;将所述随机数和预设的密钥一起,通过加密算法生成加密密文;并将所述加密密文传递给加密芯片; 接收到所述加密芯片返回的解密明文后,判断解密明文是否与所述随机数一致,如果一致,则获取升级程序文件的密钥。
4.根据权利要求3所述的自动升级方法,其特征在于,所述获取升级程序文件的密钥具体包括:从加密芯片中的OTP区读取升级程序文件的密钥。
5.根据权 利要求4所述的自动升级方法,其特征在于,所述方法还包括: 加密芯片接收到加密密文后,将收到的加密密文与预设的密钥一起,通过解密算法,得到解密明文;将解密明文传递给身份识别可执行程序。
6.一种嵌入式设备远程自动升级系统,其特征在于,该系统包括以下模块: 升级监测模块,用于定期与管理服务器进行通讯,检测是否需要进行升级版本; 文件下载模块,用于当需要升级时,根据管理服务器指定的地址从文件服务器上下载升级压缩包; 解压模块,用于对所述升级压缩包进行解压; 身份识别模块,用于进行身份识别,当身份验证成功后,获取升级程序文件的密钥; 执行模块,用于根据所述密钥对所述升级程序文件进行解密并执行升级。
7.根据权利要求6所述的自动升级系统,其特征在于,所述系统还包括: 文件校验模块,用于利用升级包中的MD5密钥对解压出的升级程序文件和身份识别可执行程序文件进行完整性和正确性校验,当文件不完整或不正确时,结束升级。
8.根据权利要求5或6所述的自动升级系统,其特征在于,所述身份识别模块进一步包括: 加密密文产生单元,用于产生一个随机数;将所述随机数和预设的密钥一起,通过加密算法生成加密密文; 加密密文发送单元,用于将所述加密密文传递给加密芯片; 解密明文接收单元,用于接收加密芯片返回的解密明文; 判断单元,用于判断所述解密明文是否与所述随机数一致; 密钥获取单元,用于当所述解密明文是否与所述随机数一致时,获取升级程序文件的密钥。
9.根据权利要求8所述的自动升级系统,其特征在于,密钥获取单元具体用于,当所述解密明文是否与所述随机数一致时,从加密芯片的OTP区读取升级程序文件的密钥。
10.根据权利要求8所述的自动升级系统,其特征在于,所述系统还包括解密模块,用于对身份识别模块传递的加密密文进行解密,所述解密模块进一步包括: 加密密文接收单元,用于接收身份识别模块发送的加密密文; 加密密文解密单元,用于将收到的加密密文与预设的密钥一起,通过解密算法,得到解密明文; 解密明文发送单元,用于将所述解密明文传递给所述身份识别模块。
【文档编号】H04L29/08GK103546576SQ201310530754
【公开日】2014年1月29日 申请日期:2013年10月31日 优先权日:2013年10月31日
【发明者】陈兵 申请人:中安消技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1