<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: HAB EVENT: HAB_INV_ASSERTION</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/HAB-EVENT-HAB-INV-ASSERTION/m-p/767615#M119219</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Yuri,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 问题已经解决，谢谢！&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;Yonghe.Luo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 11 Jun 2018 09:49:13 GMT</pubDate>
    <dc:creator>yongheluo_hotma</dc:creator>
    <dc:date>2018-06-11T09:49:13Z</dc:date>
    <item>
      <title>HAB EVENT: HAB_INV_ASSERTION</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/HAB-EVENT-HAB-INV-ASSERTION/m-p/767614#M119218</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Yuri,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;在Secure boot的验证中，uboot运行过程中得到如下log：&amp;nbsp;（详见附件）&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;Authenticate uImage from DDR location 0x12000000...&lt;/P&gt;&lt;P&gt;ivt_offset = 0x4fe000, ivt addr = 0x124fe000&lt;BR /&gt; Dumping IVT&lt;BR /&gt; 0x412000d1 0x12001000 0x00000000 0x00000000&lt;BR /&gt; 0x00000000 0x124fe000 0x124fe020 0x00000000&lt;BR /&gt; Dumping CSF Header&lt;BR /&gt; 0x415000d4 0x000c00be 0x00001703 0x50000000&lt;BR /&gt; 0x020c00be 0x01000009 0x90040000 0x000c00ca&lt;BR /&gt; 0x0000c501 0xe4070000 0x1d0800b2 0x02000000&lt;BR /&gt; 0x000c00be 0x02000009 0xe8090000 0x001400ca&lt;/P&gt;&lt;P&gt;HAB Configuration: 0xf0, HAB State: 0x66&lt;/P&gt;&lt;P&gt;--------- HAB Event 1 -----------------&lt;BR /&gt; event data:&lt;BR /&gt; 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x00 0x18 0x00 0xc0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x20&lt;/P&gt;&lt;P&gt;--------- HAB Event 2 -----------------&lt;BR /&gt; event data:&lt;BR /&gt; 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x00 0x13 0x40 0x00 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x20&lt;/P&gt;&lt;P&gt;Calling authenticate_image in ROM&lt;BR /&gt; ivt_offset = 0x4fe000&lt;BR /&gt; start = 0x12000000&lt;BR /&gt; bytes = 0x500020&lt;/P&gt;&lt;P&gt;HAB Configuration: 0xf0, HAB State: 0x66&lt;/P&gt;&lt;P&gt;--------- HAB Event 1 -----------------&lt;BR /&gt; event data:&lt;BR /&gt; 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x00 0x18 0x00 0xc0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x20&lt;/P&gt;&lt;P&gt;--------- HAB Event 2 -----------------&lt;BR /&gt; event data:&lt;BR /&gt; 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x00 0x13 0x40 0x00 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x20&lt;/P&gt;&lt;P&gt;--------- HAB Event 3 -----------------&lt;BR /&gt; event data:&lt;BR /&gt; 0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x00 0x12 0x4f 0xe0 0x00&lt;BR /&gt; 0x00 0x00 0x00 0x20&lt;/P&gt;&lt;P&gt;&amp;nbsp;========================&lt;/P&gt;&lt;P&gt;&amp;nbsp;从上述log看，应该是属于&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;HAB_INV_ASSERTION (0x0C)，即：&lt;SPAN&gt;&amp;nbsp;an invalid key。&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;但我尝试了各种方法，均无法解决这个问题，现在需要重新梳理一下：&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;1）硬件平台：i.mx6 solo&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;2）软件版本： u-boot 2013.04; linux 3.10.31&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;3）CST工具：CST 2.3.1 和CST 3.0.1均试过。&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;4）Key的生成：&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd keys&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;./hab4_pki_tree.sh (n,2048,10,4，y)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd ../crts&lt;/P&gt;&lt;P&gt;5）CSF的文件详见附件。&lt;/P&gt;&lt;P&gt;6）出现这个问题，不知是否与CST工具版本与uboot版本不一致有关？在workshop中，CST工具为cst 2.2 。&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 在“Authenticating Yocto 3.10.17-1.0.2-GA BSP Images”中，csf有如下定义：&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Authenticate Data]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;Verification index = 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blocks = 0x12000000 0x0 0x505020 "uImage-pad-ivt.bin", \&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x18000000 0x0 0xB84B "uImage-imx6q-sabresd.dtb"&lt;/P&gt;&lt;P&gt;&amp;nbsp;这个定义，在CST2.3及其之后的版本是会出现错误的，因为blocks size要求0x1000对齐，但上述的&amp;nbsp;0x505020并没有对齐，在运行CST工具是，就会出现错误。&lt;/P&gt;&lt;P&gt;7）因此，我想问的问题是：&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;A、出现&lt;SPAN&gt;0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00是什么原因造成的？&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; B、对软件版本、CST工具等是否有匹配性的要求，如：针对u-boot 2013.04是否必须为CST2.2 ？&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;该问题比较急迫，望尽快帮忙分析一下，谢谢！&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; Yonghe.Luo&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px 0px 0px 30px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px 0px 0px 30px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px 0px 0px 30px;"&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jun 2018 01:38:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/HAB-EVENT-HAB-INV-ASSERTION/m-p/767614#M119218</guid>
      <dc:creator>yongheluo_hotma</dc:creator>
      <dc:date>2018-06-11T01:38:31Z</dc:date>
    </item>
    <item>
      <title>Re: HAB EVENT: HAB_INV_ASSERTION</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/HAB-EVENT-HAB-INV-ASSERTION/m-p/767615#M119219</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Yuri,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; 问题已经解决，谢谢！&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;Yonghe.Luo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jun 2018 09:49:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/HAB-EVENT-HAB-INV-ASSERTION/m-p/767615#M119219</guid>
      <dc:creator>yongheluo_hotma</dc:creator>
      <dc:date>2018-06-11T09:49:13Z</dc:date>
    </item>
    <item>
      <title>Re: HAB EVENT: HAB_INV_ASSERTION</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/HAB-EVENT-HAB-INV-ASSERTION/m-p/767616#M119220</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;From “Appendix A: Interpreting HAB Event Data from Report_Event() API”&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;of “HAB4_API.pdf”: “An assertion event means that one of the following required areas &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;is not signed as documented in the Operation section for authenticate_image() API:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• IVT;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• DCD (if provided);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• Boot Data (initial byte - if provided);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• Entry point (initial word).”&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; For Your case, below is the data block that do not have a required valid signature: &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Address Event 1 is 0x1800_C000&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Length Event 1 is 0x20 &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; As for CST release - it makes sense to use the recent one.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;The CST 2 was critical for i.MX28. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Have a great day,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: If this post answers your question, please click the Correct Answer &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2018 07:03:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/HAB-EVENT-HAB-INV-ASSERTION/m-p/767616#M119220</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-06-13T07:03:14Z</dc:date>
    </item>
  </channel>
</rss>

