<?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>Layerscape中的主题 Re: Fuse programming security on LS1028A</title>
    <link>https://community.nxp.com/t5/Layerscape/Fuse-programming-security-on-LS1028A/m-p/2257158#M16322</link>
    <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/199933"&gt;@Oswalag&lt;/a&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I would like to follow up on one of the OP’s questions. What is a minimal OTPMK? I have access to the mentioned document (QorIQ TA 3.0 User Guide), but it does not contain much information about this. Maybe I am missing something, could you point to specific section? From what I understand:&lt;/P&gt;&lt;P&gt;* If we want to perform the Secure Boot process, the processor needs to be in the Secure or Trusted state.&lt;BR /&gt;* The processor can be in the Secure or Trusted state only if the OTPMK is fused.&lt;BR /&gt;* Once the OTPMK is fused, there is no way to read it back or rewrite it, since `ERROR_OTPMK_ALREADY_BLOWN` will be thrown.&lt;/P&gt;&lt;P&gt;I also went through the ATF code where the fuse FIP can be generated. It looks like we can create one with a minimal OTPMK inside, ready to be fused, which basically sets a number of bits to 1.&lt;BR /&gt;&lt;A href="https://github.com/nxp-qoriq/atf/blob/lf_v2.10/drivers/nxp/sfp/fuse_prov.c#L162" target="_blank"&gt;https://github.com/nxp-qoriq/atf/blob/lf_v2.10/drivers/nxp/sfp/fuse_prov.c#L162&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Does this mean that we can fuse a minimal OTPMK, then reboot the platform - which should force the Secure Boot process on the next boot (if ITS or SB_EN is set) - and then fuse the final OTPMK in a verified environment (assuming that the Secure Boot process has completed successfully)?&lt;BR /&gt;&lt;BR /&gt;So basically, the minimal OTPMK is just an OTPMK value that can be overwritten?&lt;BR /&gt;&lt;BR /&gt;Looking forward to your reply.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;/P&gt;</description>
    <pubDate>Mon, 08 Dec 2025 11:34:16 GMT</pubDate>
    <dc:creator>tomzy_0</dc:creator>
    <dc:date>2025-12-08T11:34:16Z</dc:date>
    <item>
      <title>Fuse programming security on LS1028A</title>
      <link>https://community.nxp.com/t5/Layerscape/Fuse-programming-security-on-LS1028A/m-p/2142711#M15946</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I'm browsing the following document &lt;A href="https://docs.nxp.com/bundle/LLDPUG_L6.1.36_2.1.0/page/topics/fuse_programming_scenarios.html" target="_blank"&gt;https://docs.nxp.com/bundle/LLDPUG_L6.1.36_2.1.0/page/topics/fuse_programming_scenarios.html&lt;/A&gt;&amp;nbsp;and have some questions regarding fuse programming on LS1028A platform.&lt;/P&gt;&lt;P&gt;Suppose that all fuse programming will happen in remote contractor.&lt;/P&gt;&lt;P&gt;Looking at the programming scenarions:&lt;/P&gt;&lt;P&gt;- in the stage 1 I build a fip that fuses SRKH and some other non sensitive fuses, so that the next image will be validated against secure boot procedure.&lt;/P&gt;&lt;P&gt;- in the stage 2 I build another fip that fuses sensitive values like OTPMK, WP and so on&lt;/P&gt;&lt;P&gt;My questions are the following:&lt;/P&gt;&lt;P&gt;- what's Minimal OTPMK and what's its purpose on LS1028A? I thought that on this platform there is only one OTPMK that should be considered sensitive&lt;/P&gt;&lt;P&gt;- if I create "secure fip" for the stage 2, how can I prevent my contract manufacturer from extracting sensitive values from fip binary? Correct me if I'm wrong but if the contract manufacturer knows the structure of fuse programming fip, they can easily extract values like OTPMK&lt;/P&gt;</description>
      <pubDate>Tue, 29 Jul 2025 11:43:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Fuse-programming-security-on-LS1028A/m-p/2142711#M15946</guid>
      <dc:creator>pb3</dc:creator>
      <dc:date>2025-07-29T11:43:24Z</dc:date>
    </item>
    <item>
      <title>Re: Fuse programming security on LS1028A</title>
      <link>https://community.nxp.com/t5/Layerscape/Fuse-programming-security-on-LS1028A/m-p/2143213#M15951</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;The requested information is available in the document "QorIQ Trust Architecture 3.0 User&lt;BR /&gt;Guide", it is available under NDA, please let me know if you have it and I'll share it with you.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Jul 2025 05:15:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Fuse-programming-security-on-LS1028A/m-p/2143213#M15951</guid>
      <dc:creator>Oswalag</dc:creator>
      <dc:date>2025-07-30T05:15:07Z</dc:date>
    </item>
    <item>
      <title>Re: Fuse programming security on LS1028A</title>
      <link>https://community.nxp.com/t5/Layerscape/Fuse-programming-security-on-LS1028A/m-p/2257158#M16322</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/199933"&gt;@Oswalag&lt;/a&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I would like to follow up on one of the OP’s questions. What is a minimal OTPMK? I have access to the mentioned document (QorIQ TA 3.0 User Guide), but it does not contain much information about this. Maybe I am missing something, could you point to specific section? From what I understand:&lt;/P&gt;&lt;P&gt;* If we want to perform the Secure Boot process, the processor needs to be in the Secure or Trusted state.&lt;BR /&gt;* The processor can be in the Secure or Trusted state only if the OTPMK is fused.&lt;BR /&gt;* Once the OTPMK is fused, there is no way to read it back or rewrite it, since `ERROR_OTPMK_ALREADY_BLOWN` will be thrown.&lt;/P&gt;&lt;P&gt;I also went through the ATF code where the fuse FIP can be generated. It looks like we can create one with a minimal OTPMK inside, ready to be fused, which basically sets a number of bits to 1.&lt;BR /&gt;&lt;A href="https://github.com/nxp-qoriq/atf/blob/lf_v2.10/drivers/nxp/sfp/fuse_prov.c#L162" target="_blank"&gt;https://github.com/nxp-qoriq/atf/blob/lf_v2.10/drivers/nxp/sfp/fuse_prov.c#L162&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Does this mean that we can fuse a minimal OTPMK, then reboot the platform - which should force the Secure Boot process on the next boot (if ITS or SB_EN is set) - and then fuse the final OTPMK in a verified environment (assuming that the Secure Boot process has completed successfully)?&lt;BR /&gt;&lt;BR /&gt;So basically, the minimal OTPMK is just an OTPMK value that can be overwritten?&lt;BR /&gt;&lt;BR /&gt;Looking forward to your reply.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;/P&gt;</description>
      <pubDate>Mon, 08 Dec 2025 11:34:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/Fuse-programming-security-on-LS1028A/m-p/2257158#M16322</guid>
      <dc:creator>tomzy_0</dc:creator>
      <dc:date>2025-12-08T11:34:16Z</dc:date>
    </item>
  </channel>
</rss>

