• 图纸下载
  • 专业文献
  • 行业资料
  • 教育专区
  • 应用文书
  • 生活休闲
  • 杂文文章
  • 范文大全
  • 作文大全
  • 达达文库
  • 文档下载
  • 音乐视听
  • 创业致富
  • 体裁范文
  • 当前位置: 达达文档网 > 行业资料 > 正文

    FOTA升级包安全防护

    时间:2020-10-30 15:11:58 来源:达达文档网 本文已影响 达达文档网手机站

    丁魏

    摘要:本文结合实际的项目情况,从升级包安全角度出发,探索了智能设备在进行FOTA升级的过程中,需要对升级包做哪些方面的防护,有时如何使用各种加解密技术达到安全防护效果的。

    [关键词]FOTA安全 升级包安全 文件验签 文件加密

    1 安全需求

    身份认证:认证升级包是从真正的服务器上下发下来的,并确保下载下来的文件为客户经过认证并签发的升级包。同时智能设备必须验证服务器的真实性。

    信息机密性:升级包为智能设备厂商的核心资产,因此我们需保障升级包在网络上传输过程中不被窃取,窜改;保障即使该升级包落入恶意攻击者手中,也无法通过逆向工程,反编译等手段破解程序包中的核心程序及重要的软件资产信息。

    数据防篡改:在进行FOTA升级的时候,必须保障每个字节的正确性,否则就会导致升级失败。所以在进行软件更新时,必须保证系统更新包是从真实的FOTA服务器下载下来的并没有被篡改。

    数据完整性:一个不完成的升级包是无法进行FOTA升级的。因此我们在升级包到达智能设备之后,都要进行反复的进行完整性校验,确保升级包的完整性。

    2 技术说明

    在升级包防护措施实施中,我们会用到各种加密算法。为了更能理解后面做的防护措施,我们把一些主要使用到的技术及其特点列举如下:

    HASH:中文名为哈希,该算法可以把任意长度的输入,通过散列算法变成固定长度的消息摘要函数,相当于信息指纹。常用的HASH算法包括MD5、SHA256等。在这我们使用文件的HASH值来判断文件完整性以及是否被篡改。

    AES:常用的的对称加密算法,有速度快,简单等特点。主要分为AES128,AES192,AES256三种算法。从安全性来看,AES256安全性最高,从性能来看,AES128性能最高。在这我们使用该算法对升级包进行加密处理,加密之后能够保障升级包的隐私性。

    RAS:常用非对称加密算法,公开密钥密码体制,使用了不同的加密密钥与解密密钥对。其中一个称为公钥,一个称为私钥。在这我们使用私钥对升级包的HASH值进行签名,使用私钥对升级包的HASH进行验签。

    HTTPS:HTTPS为HTTP协议,上添加了SSL安全证书,用于安全的数据传输和身份验证。在这我们使用HTTPS技术下发升级包,保障升级包传输过程的安全和下载来源的可靠性。

    KMS:秘钥管理服务器,提供秘钥的分发,秘钥管理,公私钥对的生成等功能。

    3 架构设计

    如图1所示。

    根据实际安全需求以及项目详情,构思了一套完成的升级包防护方案,该方案能有效的对升级包的身份认证,保障升级包的信息机密性,数据完整性,隐私性等要求。以下结合具体的流程步骤,阐述升级过程具体的防护措施。

    流程步骤:

    步骤1:计算获取原始升级包的HASH值,使用该HASH值作为参数去获取升级包加密需要的加密因子。文件的HASH值可以认为是文件的指纹,使用它作为获取加密因子的参数,能达到不同文件得到不同加密因子的效果。

    步驟2:使用获取到的加密因子和AES256算法对文件进行加密处理,得到加密后的升级包。

    步骤3:获取加密包的HASH值,把它作为对升级包签名的内容。

    步骤4:获取对称加解密的秘钥对,用来做文件签名使用。

    步骤5:使用获取到的秘钥对中的私钥,采用RSA加密算法对加密包的HASH值进行签名,签名后生成了一段字符串,此段字符串即为数字签名的凭证。对升级包进行签名之后,只有使用公钥进行才能验签通过,从而达到身份认证的功能。

    步骤6:把签名好的字符串和签名秘钥对中的公钥拼接在升级包后面,作为升级包的一部分,下发到智能设备中。

    步骤7:使用HTTPS加密通道,下发升级包,采用TLS1.2加密协议,保障升级包来源的可靠性,以及升级包在传输过程中不被监听和截取。

    步骤8:升级包下载到智能终端之后,程序根据预先约定的规则对升级包进行拆解。拆解后为加密包、验签公钥及签名字符串三块。

    步骤9:使用智能设备预置的根证书对拆分好的公钥进行认证,认证通过说明该公钥为合法的公钥。

    步骤10:使用认证过的公钥对签名字符串进行验签,验签过程也就是对签名字符串进行解密的过程,解密后和加密升级包的HASH值进行比较,如果一致,则代表验签通过。从而达到了认证了升级包来源的可靠性及完整性的效果。

    步骤11:验签通过后的升级包还是个加密的升级包,需要对其进行解密之后才能使用。我们再使用升级包的原始HASH值,去获取升级包的解密秘钥,并使用AES256算法对该文件进行解密,解密之后得到的文件即为原始文件。至此,我们可以使用该升级包进行对固件进行后续的升级操作。

    4 结论

    安全为FOTA升级过程中非常重要的一环,升级包的安全作为整个安全体系中的一部分至关重要。我们既要保障升级包来源的可靠性,安全性,隐密性,同时还需要考虑实际上设备的处理能力。

    我们在该实践方案中使用AES256算法保障了升级包的隐私性,使用RSA签名算法认证了升级包的身份,使用文件的HASH验证了文件的完整性,使用HTTPS技术保障了传输过程中的安全。我们从安全需求角度出发,使用了各种加解密算法及安全流程,保障了升级包的安全,可靠,机密,完整等特性。

    参考文献

    [1]刘杨。基于混沌映射的分组密码研究[D].华东理工大学,2011.

    [2]赵剑。基于Android的手机银行系统的设计与实现[D].西安电子科技大学硕士论文,2014.

    相关热词搜索: 升级包 安全防护 FOTA

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网