• 新闻中心

    联系我们

    • 13049382818 廖先生
    • sunday.liao@cayeahs.com
    • 深圳市宝安区新安街道兴东社区71区万源商务大厦2栋316
    当前位置:首页 > 新闻中心 > 行业新闻
    行业新闻

    如何避免未经授权的用户访问目标产品的固件?

        发布时间:2018-07-28    阅览次数:2203 次  
           随着电子产品更新换代速度的加快,往往都会进行系统升级或APP功能维护升级,但是由此产生了两个主要问题。首先,由于更新过程中出现错误,该设备可能变得无用;另外一个主要问题是:如何避免未经授权的用户访问目标产品的固件?在嵌入式领域,根据嵌入式系统的MCU存储结构和更新原理,提出了通过加密方式升级设备功能的方法,其中最常用的方法为BootLoader加密升级。
           Bootloader 是在操作系统或用户应用程序运行之前执行的一小段程序,通过这一小段程序,我们可以初始化硬件设备(如 CPU、SDRAM、Flash、串口等)、建立内存空间的映射表,从而将系统的软硬件环境带到一个合适的状态,为最终调用操作系统内核或者用户应用程序准备好正确的环境。
           如何使用BootLoader加密升级可以防止竞争对手/恶意用户获得对固件代码的访问权限?
           首先是使用代码加密来保护固件。这里需要实现对称密码,以及私钥的引导加载程序中的生成和包含。在制造商方面,需要保护相同的私钥,用于加密新固件版本。一般对称加密算法流程。对于常见的AES-128加密算法,由于AES处理的单位是字节,128位的输入明文或固件P和输入的密钥K都被分为16个字节,一般我们会将明文分组用字节为单位的正方形状态矩阵来描述,在每一轮的算法中,状态矩阵的内容不断发生变化,最终的结果作为密文输出。
    为Boot Loader固件升级流程图。


    图4Boot Loader固件升级流程

    用户程序升级成功之后,可以通过函数指针的方式调用该程序。函数在编译时都会被分配一个入口地址,该地址就是函数的指针。只要用一个指针变量指向这个函数的入口地址,就可以通过指针变量调用这个函数。函数指针的本质是指针变量,只不过该指针变量指向函数,读出程序标志区的运行地址就可以通过指针变量调用新写入的程序。

    ALPU加密芯片包含AES128算法,硬件端通过AES算法加解密过程,避免未经授权的用户访问目标产品的固件


    Copyright © 2024    深圳市佳晔盛科技有限公司 保留所有权利     技术支持:博盈通网络营销专家  
    线
    咨询热线:
    13049382818 廖先生
    在线客服:
    售后服务
    技术支持
    官方微信站:
    公司官网: www.cayeahs.com

    扫描二维码关注官方微信

    确定