当前位置:网站首页 > Haskell函数式编程 > 正文

vbf文件(vbf文件格式)



本文转载自VBF格式文件详解---VBF格式解析_vbf文件-CSDN博客以便学习查阅,如有侵犯,联系立删!!!

1. Data段
    Data段是由多个Block组成的,Block中的Data就是有效数据,是需要被刷到Flash里面。这么多个Block中有一个Block是VBT(Verification Block Table),VBT里面存放的是其他Block的Hash数据。
        VBT的Data:
        0000
        format identifier(SHA-256)
        0002 data block的个数
        00060000 start address
        00000013 length
        D78ECD62C62C…2262 Hash
        00060100 start address
        0001EF00 length
        E6027B3F959F…4188 Hash










2. Header段
    HeadHeader段的格式是ascii,所以用notepad打开也可以看到。Headr段里面定义了VBF的属性。一些关键的属性:
2.1 sw_part_number
        零件号
2.2 sw_version
        版本号
2.3 sw_part_type
        表示此VBF包的类型,SBL,EXE,或者是DATA等
2.4 ecu_address
        ECU的物理目标地址,在诊断调查表里面会写明,一般由4个数字组成,后两个数字与诊断ID后两个数字一样。
2.5 erase
        VBF中每个Block需要擦出的Flash起始地址和长度。
2.6 call
        VBF的类型是SBL时,是必填的,就是SBL的起始地址。
2.7 verification_block_start
        VBT的起始地址
2.8 verification_block_root_hash
        root hash是很重要的,计算的是未压缩的VBT信息的Hash值。
Root hash = SHA-256 (VBT startAddress || VBT length || VBT data)
        2.9 sw_signature_dev
        后缀dev的意思是,这个值是此VBF加研发签后生成的签名值,研发签名值= RSA(root hash + dev private key)。Tier1在转换VBF的时候,使用研发私钥给VBF加签,研发私钥由OEM给出,研发私钥对应的解签用的研发公钥也是由OEM给出,研发公钥固化在MCU内部。在刷写MCU时,刷写流程中的Check Memory会附带研发签名值的明文,MCU收到签名值后,结合研发公钥 和 已经刷到Flash的数据一起,验证刷写文件的完整性和合法性。
        Tier1将加了研发签的VBF释放给OEM后,OEM会再加一个生产签 sw_signature,也就是说一个VBF文件会有两个签名值,即一个研发签名值,一个生产签名值。生产签名值=RSA(root hash + private key),其中生产私钥只有OEM自己知道。在整车下线时,对应的生产公钥会通过DID写入,MCU在收到生产公钥后,将生产公钥存到受保护的区域(例如HSM的数据区等)替换掉研发公钥。在Check Memory时,MCU不再使用研发公钥验签,而使用生产公钥验证传入的签名值。这样就可以保证在整车下线后,Tier1等其他不知道生产公私钥的相关方不能私自更新软件。





















————————————————                   
原文链接:https://blog.csdn.net/cesare20/article/details/

到此这篇vbf文件(vbf文件格式)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 动态库的两种调用方式(动态库的两种调用方式是)2025-07-17 17:09:04
  • 单片机编程入门基础知识(单片机编程入门基础知识百度网盘)2025-07-17 17:09:04
  • 汽车报文解析(汽车报文格式)2025-07-17 17:09:04
  • 多级列表样式怎么设置(多级列表样式怎么设置1.2变为2.1)2025-07-17 17:09:04
  • sigmoid函数原理(sigmoid function)2025-07-17 17:09:04
  • 工具类产品运营(工具类产品运营模式)2025-07-17 17:09:04
  • sigmoid和tanh函数图(tanh与sigmoid关系)2025-07-17 17:09:04
  • 如何关闭程序快捷键(关闭程序的快捷方式)2025-07-17 17:09:04
  • 支付方式TT和LC(支付方式TT和LC)2025-07-17 17:09:04
  • 生成范围内的随机数(生成范围内随机数的函数)2025-07-17 17:09:04
  • 全屏图片