本发明涉及智能音箱技术领域,特别指一种智能音箱操作系统ota包升级方法及系统。
背景技术:
智能音箱是音箱升级的产物,是家庭消费者用语音进行上网的一个工具,比如点播歌曲、上网购物,或是了解天气预报,它也可以对智能家居设备进行控制,比如打开窗帘、设置冰箱温度、提前让热水器升温等。
随着智能音响功能的迭代升级,需要给智能音箱的操作系统发送ota包进行升级,但是,传统的ota包文件很大,往往超过1g,需要很长的传输时间,在传输过程中容易导致ota包传输出错,或者被窃取篡改,导致ota包升级失败甚至造成不可逆的损坏。
因此,如何提供一种智能音箱操作系统ota包升级方法及系统,实现提升ota包升级的速度以及安全性,成为一个亟待解决的问题。
技术实现要素:
本发明要解决的技术问题,在于提供一种智能音箱操作系统ota包升级方法及系统,实现提升ota包升级的速度以及安全性。
第一方面,本发明提供了一种智能音箱操作系统ota包升级方法,包括如下步骤:
步骤s10、服务器创建一对数字证书链和根ca证书,并将所述根ca证书发送给智能音箱;
步骤s20、服务器对升级数据进行签名;
步骤s30、服务器对签名后的升级数据进行压缩,生成压缩包;
步骤s40、服务器利用所述数字证书链对压缩包进行加密生成ota包,并将所述ota包发送给智能音箱;
步骤s50、智能音箱对所述ota包进行校验和解压,进而得到所述升级数据。
进一步地,所述步骤s20具体为:
服务器对升级数据进行摘要计算生成第一签名值,将所述第一签名值存储至升级数据中,并在所述升级数据的文件头记录第一签名值存储位置。
进一步地,所述步骤s30具体为:
服务器利用压缩算法对所述升级数据进行压缩,生成压缩包,并将所述压缩算法存储至压缩包的文件头。
进一步地,所述步骤s40具体为:
服务器将所述数字证书链存储至压缩包中,生成ota包,在所述ota包的文件头记录数字证书链存储位置,并将所述ota包发送给智能音箱。
进一步地,所述步骤s50具体包括:
步骤s51、智能音箱对所述ota包进行解析,得到所述ota包的文件头和压缩包;
步骤s52、智能音箱基于所述ota包的文件头得到数字证书链存储位置,进而基于所述数字证书链存储位置从压缩包中得到数字证书链;
步骤s53、智能音箱利用所述根ca证书对数字证书链进行校验,校验通过,则进入步骤s54;校验不通过,则结束流程;
步骤s54、智能音箱解析所述压缩包的文件头得到压缩算法,进而利用所述压缩算法对压缩包解压,得到签名后的升级数据;
步骤s55、智能音箱解析所述升级数据的文件头得到第一签名值存储位置,进而基于所述第一签名值存储位置得到第一签名值;
步骤s56、智能音箱对所述升级数据进行摘要计算生成第二签名值,判断所述第一签名值与第二签名值是否一致,若是,说明所述升级数据完整,进入升级流程;若否,说明所述升级数据不完整,结束流程。
第二方面,本发明提供了一种智能音箱操作系统ota包升级系统,包括如下模块:
证书创建模块,用于服务器创建一对数字证书链和根ca证书,并将所述根ca证书发送给智能音箱;
签名模块,用于服务器对升级数据进行签名;
压缩模块,用于服务器对签名后的升级数据进行压缩,生成压缩包;
加密模块,用于服务器利用所述数字证书链对压缩包进行加密生成ota包,并将所述ota包发送给智能音箱;
校验解压模块,用于智能音箱对所述ota包进行校验和解压,进而得到所述升级数据。
进一步地,所述签名模块具体为:
服务器对升级数据进行摘要计算生成第一签名值,将所述第一签名值存储至升级数据中,并在所述升级数据的文件头记录第一签名值存储位置。
进一步地,所述压缩模块具体为:
服务器利用压缩算法对所述升级数据进行压缩,生成压缩包,并将所述压缩算法存储至压缩包的文件头。
进一步地,所述加密模块具体为:
服务器将所述数字证书链存储至压缩包中,生成ota包,在所述ota包的文件头记录数字证书链存储位置,并将所述ota包发送给智能音箱。
进一步地,所述校验解压模块具体包括:
ota包解析单元,用于智能音箱对所述ota包进行解析,得到所述ota包的文件头和压缩包;
数字证书链获取单元,用于智能音箱基于所述ota包的文件头得到数字证书链存储位置,进而基于所述数字证书链存储位置从压缩包中得到数字证书链;
数字证书链校验单元,用于智能音箱利用所述根ca证书对数字证书链进行校验,校验通过,则进入解压单元;校验不通过,则结束流程;
解压单元,用于智能音箱解析所述压缩包的文件头得到压缩算法,进而利用所述压缩算法对压缩包解压,得到签名后的升级数据;
第一签名值获取单元,用于智能音箱解析所述升级数据的文件头得到第一签名值存储位置,进而基于所述第一签名值存储位置得到第一签名值;
签名值比对单元,用于智能音箱对所述升级数据进行摘要计算生成第二签名值,判断所述第一签名值与第二签名值是否一致,若是,说明所述升级数据完整,进入升级流程;若否,说明所述升级数据不完整,结束流程。
本发明的优点在于:
1、通过对所述升级数据进行压缩,极大的缩小的所述ota包的文件大小,加快了所述ota包的传输速度;通过对所述升级数据进行签名,并利用所述数字证书链和根ca证书对压缩后的压缩包进行加密和校验,保障了所述ota包在传输过程中的安全性和完整性,进而极大的提升了ota包升级的速度以及安全性。
2、通过在文件头记录所述第一签名值存储位置、数字证书链存储位置以及压缩算法,使得智能音箱能够快速查找所述第一签名值、数字证书链,并进行解压,进一步提升了ota包升级的速度。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明一种智能音箱操作系统ota包升级方法的流程图。
图2是本发明一种智能音箱操作系统ota包升级系统的结构示意图。
具体实施方式
本申请实施例中的技术方案,总体思路如下:通过压缩算法压缩升级数据减小ota包的文件大小,通过数字证书链和根ca证书对数据进行加解密保障安全性,通过摘要计算确保数据的完整性,进而提升ota包升级的速度以及安全性。
请参照图1至图2所示,本发明一种智能音箱操作系统ota包升级方法的较佳实施例,包括如下步骤:
步骤s10、服务器创建一对数字证书链和根ca证书,并将所述根ca证书发送给智能音箱;
步骤s20、服务器对升级数据进行签名;
步骤s30、服务器对签名后的升级数据进行压缩,生成压缩包,有效减小ota包的文件大小;
步骤s40、服务器利用所述数字证书链对压缩包进行加密生成ota包,并将所述ota包发送给智能音箱;
步骤s50、智能音箱对所述ota包进行校验和解压,进而得到所述升级数据。
所述步骤s20具体为:
服务器对升级数据进行摘要计算(哈希计算)生成第一签名值,将所述第一签名值存储至升级数据中,并在所述升级数据的文件头记录第一签名值存储位置。摘要计算能够校验数据的完整性。
所述步骤s30具体为:
服务器利用压缩算法对所述升级数据进行压缩,生成压缩包,并将所述压缩算法存储至压缩包的文件头。
所述步骤s40具体为:
服务器将所述数字证书链存储至压缩包中,生成ota包,在所述ota包的文件头记录数字证书链存储位置,并将所述ota包发送给智能音箱。
所述步骤s50具体包括:
步骤s51、智能音箱对所述ota包进行解析,得到所述ota包的文件头和压缩包;
步骤s52、智能音箱基于所述ota包的文件头得到数字证书链存储位置,进而基于所述数字证书链存储位置从压缩包中得到数字证书链;
步骤s53、智能音箱利用所述根ca证书对数字证书链进行校验,校验通过,则进入步骤s54;校验不通过,则结束流程;
数字证书链校验时,从第一个证书开始,依次向后校验,每校验一个证书,均要判断签发者(lssuer)是否在根ca证书的列表中,若在,则用对应的根ca证书校验签名;若不在,则使用下一个证书校验当前证书的签名;只要其中一个证书校验失败,则数字证书链校验失败。
步骤s54、智能音箱解析所述压缩包的文件头得到压缩算法,进而利用所述压缩算法对压缩包解压,得到签名后的升级数据;
步骤s55、智能音箱解析所述升级数据的文件头得到第一签名值存储位置,进而基于所述第一签名值存储位置得到第一签名值;
步骤s56、智能音箱对所述升级数据进行摘要计算生成第二签名值,判断所述第一签名值与第二签名值是否一致,若是,说明所述升级数据完整,进入升级流程;若否,说明所述升级数据不完整,结束流程。具体实施时,可利用所述根ca证书里的公钥对生成的第一签名值进行加密,校验时利用所述根ca证书里的公钥对生成的第二签名值进行加密,再对比加密的所述第一签名值与第二签名值是否一致,增加一层安全防护。
本发明一种智能音箱操作系统ota包升级系统的较佳实施例,包括如下模块:
证书创建模块,用于服务器创建一对数字证书链和根ca证书,并将所述根ca证书发送给智能音箱;
签名模块,用于服务器对升级数据进行签名;
压缩模块,用于服务器对签名后的升级数据进行压缩,生成压缩包,有效减小ota包的文件大小;
加密模块,用于服务器利用所述数字证书链对压缩包进行加密生成ota包,并将所述ota包发送给智能音箱;
校验解压模块,用于智能音箱对所述ota包进行校验和解压,进而得到所述升级数据。
所述签名模块具体为:
服务器对升级数据进行摘要计算(哈希计算)生成第一签名值,将所述第一签名值存储至升级数据中,并在所述升级数据的文件头记录第一签名值存储位置。摘要计算能够校验数据的完整性。
所述压缩模块具体为:
服务器利用压缩算法对所述升级数据进行压缩,生成压缩包,并将所述压缩算法存储至压缩包的文件头。
所述加密模块具体为:
服务器将所述数字证书链存储至压缩包中,生成ota包,在所述ota包的文件头记录数字证书链存储位置,并将所述ota包发送给智能音箱。
所述校验解压模块具体包括:
ota包解析单元,用于智能音箱对所述ota包进行解析,得到所述ota包的文件头和压缩包;
数字证书链获取单元,用于智能音箱基于所述ota包的文件头得到数字证书链存储位置,进而基于所述数字证书链存储位置从压缩包中得到数字证书链;
数字证书链校验单元,用于智能音箱利用所述根ca证书对数字证书链进行校验,校验通过,则进入解压单元;校验不通过,则结束流程;
数字证书链校验时,从第一个证书开始,依次向后校验,每校验一个证书,均要判断签发者(lssuer)是否在根ca证书的列表中,若在,则用对应的根ca证书校验签名;若不在,则使用下一个证书校验当前证书的签名;只要其中一个证书校验失败,则数字证书链校验失败。
解压单元,用于智能音箱解析所述压缩包的文件头得到压缩算法,进而利用所述压缩算法对压缩包解压,得到签名后的升级数据;
第一签名值获取单元,用于智能音箱解析所述升级数据的文件头得到第一签名值存储位置,进而基于所述第一签名值存储位置得到第一签名值;
签名值比对单元,用于智能音箱对所述升级数据进行摘要计算生成第二签名值,判断所述第一签名值与第二签名值是否一致,若是,说明所述升级数据完整,进入升级流程;若否,说明所述升级数据不完整,结束流程。具体实施时,可利用所述根ca证书里的公钥对生成的第一签名值进行加密,校验时利用所述根ca证书里的公钥对生成的第二签名值进行加密,再对比加密的所述第一签名值与第二签名值是否一致,增加一层安全防护。
综上所述,本发明的优点在于:
1、通过对所述升级数据进行压缩,极大的缩小的所述ota包的文件大小,加快了所述ota包的传输速度;通过对所述升级数据进行签名,并利用所述数字证书链和根ca证书对压缩后的压缩包进行加密和校验,保障了所述ota包在传输过程中的安全性和完整性,进而极大的提升了ota包升级的速度以及安全性。
2、通过在文件头记录所述第一签名值存储位置、数字证书链存储位置以及压缩算法,使得智能音箱能够快速查找所述第一签名值、数字证书链,并进行解压,进一步提升了ota包升级的速度。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
1.一种智能音箱操作系统ota包升级方法,其特征在于:包括如下步骤:
步骤s10、服务器创建一对数字证书链和根ca证书,并将所述根ca证书发送给智能音箱;
步骤s20、服务器对升级数据进行签名;
步骤s30、服务器对签名后的升级数据进行压缩,生成压缩包;
步骤s40、服务器利用所述数字证书链对压缩包进行加密生成ota包,并将所述ota包发送给智能音箱;
步骤s50、智能音箱对所述ota包进行校验和解压,进而得到所述升级数据。
2.如权利要求1所述的一种智能音箱操作系统ota包升级方法,其特征在于:所述步骤s20具体为:
服务器对升级数据进行摘要计算生成第一签名值,将所述第一签名值存储至升级数据中,并在所述升级数据的文件头记录第一签名值存储位置。
3.如权利要求1所述的一种智能音箱操作系统ota包升级方法,其特征在于:所述步骤s30具体为:
服务器利用压缩算法对所述升级数据进行压缩,生成压缩包,并将所述压缩算法存储至压缩包的文件头。
4.如权利要求1所述的一种智能音箱操作系统ota包升级方法,其特征在于:所述步骤s40具体为:
服务器将所述数字证书链存储至压缩包中,生成ota包,在所述ota包的文件头记录数字证书链存储位置,并将所述ota包发送给智能音箱。
5.如权利要求2、3或4所述的一种智能音箱操作系统ota包升级方法,其特征在于:所述步骤s50具体包括:
步骤s51、智能音箱对所述ota包进行解析,得到所述ota包的文件头和压缩包;
步骤s52、智能音箱基于所述ota包的文件头得到数字证书链存储位置,进而基于所述数字证书链存储位置从压缩包中得到数字证书链;
步骤s53、智能音箱利用所述根ca证书对数字证书链进行校验,校验通过,则进入步骤s54;校验不通过,则结束流程;
步骤s54、智能音箱解析所述压缩包的文件头得到压缩算法,进而利用所述压缩算法对压缩包解压,得到签名后的升级数据;
步骤s55、智能音箱解析所述升级数据的文件头得到第一签名值存储位置,进而基于所述第一签名值存储位置得到第一签名值;
步骤s56、智能音箱对所述升级数据进行摘要计算生成第二签名值,判断所述第一签名值与第二签名值是否一致,若是,说明所述升级数据完整,进入升级流程;若否,说明所述升级数据不完整,结束流程。
6.一种智能音箱操作系统ota包升级系统,其特征在于:包括如下模块:
证书创建模块,用于服务器创建一对数字证书链和根ca证书,并将所述根ca证书发送给智能音箱;
签名模块,用于服务器对升级数据进行签名;
压缩模块,用于服务器对签名后的升级数据进行压缩,生成压缩包;
加密模块,用于服务器利用所述数字证书链对压缩包进行加密生成ota包,并将所述ota包发送给智能音箱;
校验解压模块,用于智能音箱对所述ota包进行校验和解压,进而得到所述升级数据。
7.如权利要求6所述的一种智能音箱操作系统ota包升级系统,其特征在于:所述签名模块具体为:
服务器对升级数据进行摘要计算生成第一签名值,将所述第一签名值存储至升级数据中,并在所述升级数据的文件头记录第一签名值存储位置。
8.如权利要求6所述的一种智能音箱操作系统ota包升级系统,其特征在于:所述压缩模块具体为:
服务器利用压缩算法对所述升级数据进行压缩,生成压缩包,并将所述压缩算法存储至压缩包的文件头。
9.如权利要求6所述的一种智能音箱操作系统ota包升级系统,其特征在于:所述加密模块具体为:
服务器将所述数字证书链存储至压缩包中,生成ota包,在所述ota包的文件头记录数字证书链存储位置,并将所述ota包发送给智能音箱。
10.如权利要求7、8或9所述的一种智能音箱操作系统ota包升级系统,其特征在于:所述校验解压模块具体包括:
ota包解析单元,用于智能音箱对所述ota包进行解析,得到所述ota包的文件头和压缩包;
数字证书链获取单元,用于智能音箱基于所述ota包的文件头得到数字证书链存储位置,进而基于所述数字证书链存储位置从压缩包中得到数字证书链;
数字证书链校验单元,用于智能音箱利用所述根ca证书对数字证书链进行校验,校验通过,则进入解压单元;校验不通过,则结束流程;
解压单元,用于智能音箱解析所述压缩包的文件头得到压缩算法,进而利用所述压缩算法对压缩包解压,得到签名后的升级数据;
第一签名值获取单元,用于智能音箱解析所述升级数据的文件头得到第一签名值存储位置,进而基于所述第一签名值存储位置得到第一签名值;
签名值比对单元,用于智能音箱对所述升级数据进行摘要计算生成第二签名值,判断所述第一签名值与第二签名值是否一致,若是,说明所述升级数据完整,进入升级流程;若否,说明所述升级数据不完整,结束流程。
技术总结