<?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>topic RW612 - secure provisioning in Wireless MCU</title>
    <link>https://community.nxp.com/t5/Wireless-MCU/RW612-secure-provisioning/m-p/2037348#M19478</link>
    <description>&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Hi everyone! &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;I started working with RW612 and I think I read all documentation related to RW612 (User manual, User guides, Application Notes, Videos, etc...). There is at least one area that it is very hard for me to understand, could You explain to me how it works? &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;When I want to securely provision device, I can use MCUXpresso Provisioning Tool or nxpdevhsm from SPSDK tools to generate secure software package (SB packages). To generate secure image I have to use one, random board with RW612 (i.e. frdm_rw612). That secure image is authenticated (signed with private key bonded with RoT keys hash burned in OTP memory) and encrypted (it is done using CUST_MK_SK fuses). All of this infos are mentioned here &lt;A href="https://www.nxp.com/company/about-nxp/smarter-world-videos/IMP-DEV-HSM-VID" target="_blank" rel="noopener"&gt;https://www.nxp.com/company/about-nxp/smarter-world-videos/IMP-DEV-HSM-VID&lt;/A&gt; and here &lt;A href="https://www.youtube.com/watch?v=UrUsczq19Iw" target="_blank" rel="noopener"&gt;https://www.youtube.com/watch?v=UrUsczq19Iw&lt;/A&gt; .&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;That secure software then can be send to my manufacturer who flashes devices. Then I can securely provision &lt;STRONG&gt;ANY&lt;/STRONG&gt; of my custom RW612 boards. Tbh, I don't understand how it is handled, that using just one eval board, I can then provision any RW612 and there is no vector for man-in-the-middle attack. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Every RW612 has its own PUF, all its keys are uniqually wrapped depending on PUF and its CKDF, but still I am able to securerly pass OEM keys to device and manufacturer can't modify it. What is common ingredient X for every RW612 that I can provision any board using just one software package? &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Is NXP loading symmetric key during NXP provisioning process that allows to decode my secure software package? If yes, what will happen if that key will be breached? If there is any option to flash my 'generic' devices using my own, custom solution or I have to rely on NXP solution?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 03 Feb 2025 17:32:11 GMT</pubDate>
    <dc:creator>Maciej_Jj</dc:creator>
    <dc:date>2025-02-03T17:32:11Z</dc:date>
    <item>
      <title>RW612 - secure provisioning</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/RW612-secure-provisioning/m-p/2037348#M19478</link>
      <description>&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Hi everyone! &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;I started working with RW612 and I think I read all documentation related to RW612 (User manual, User guides, Application Notes, Videos, etc...). There is at least one area that it is very hard for me to understand, could You explain to me how it works? &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;When I want to securely provision device, I can use MCUXpresso Provisioning Tool or nxpdevhsm from SPSDK tools to generate secure software package (SB packages). To generate secure image I have to use one, random board with RW612 (i.e. frdm_rw612). That secure image is authenticated (signed with private key bonded with RoT keys hash burned in OTP memory) and encrypted (it is done using CUST_MK_SK fuses). All of this infos are mentioned here &lt;A href="https://www.nxp.com/company/about-nxp/smarter-world-videos/IMP-DEV-HSM-VID" target="_blank" rel="noopener"&gt;https://www.nxp.com/company/about-nxp/smarter-world-videos/IMP-DEV-HSM-VID&lt;/A&gt; and here &lt;A href="https://www.youtube.com/watch?v=UrUsczq19Iw" target="_blank" rel="noopener"&gt;https://www.youtube.com/watch?v=UrUsczq19Iw&lt;/A&gt; .&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;That secure software then can be send to my manufacturer who flashes devices. Then I can securely provision &lt;STRONG&gt;ANY&lt;/STRONG&gt; of my custom RW612 boards. Tbh, I don't understand how it is handled, that using just one eval board, I can then provision any RW612 and there is no vector for man-in-the-middle attack. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Every RW612 has its own PUF, all its keys are uniqually wrapped depending on PUF and its CKDF, but still I am able to securerly pass OEM keys to device and manufacturer can't modify it. What is common ingredient X for every RW612 that I can provision any board using just one software package? &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;Is NXP loading symmetric key during NXP provisioning process that allows to decode my secure software package? If yes, what will happen if that key will be breached? If there is any option to flash my 'generic' devices using my own, custom solution or I have to rely on NXP solution?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Feb 2025 17:32:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/RW612-secure-provisioning/m-p/2037348#M19478</guid>
      <dc:creator>Maciej_Jj</dc:creator>
      <dc:date>2025-02-03T17:32:11Z</dc:date>
    </item>
    <item>
      <title>Re: RW612 - secure provisioning</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/RW612-secure-provisioning/m-p/2037352#M19479</link>
      <description>&lt;P&gt;Also I understand that we for SB images encryption we use CUST_MK_SK, but how this symmetric key is distributed securely on every device? Using SB provisioning image? Is provisioning image using different symmetric key (i.e. NXP provisioning key)? Or devices we burn CUST_MK_SK fuses for each MCU manually?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be appreciated!&lt;/P&gt;</description>
      <pubDate>Mon, 03 Feb 2025 17:38:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/RW612-secure-provisioning/m-p/2037352#M19479</guid>
      <dc:creator>Maciej_Jj</dc:creator>
      <dc:date>2025-02-03T17:38:51Z</dc:date>
    </item>
    <item>
      <title>Re: RW612 - secure provisioning</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/RW612-secure-provisioning/m-p/2037919#M19486</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope you are doing well. The feature of device HSM and provisioning is described on the "MCUXpresso Secure Provisioning Tool User Guide v.10".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please check this information?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please refer to sections 5.1.8.1, 6.9.4.4 and 6.9.4.5.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Ricardo&lt;/P&gt;</description>
      <pubDate>Tue, 04 Feb 2025 18:28:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/RW612-secure-provisioning/m-p/2037919#M19486</guid>
      <dc:creator>Ricardo_Zamora</dc:creator>
      <dc:date>2025-02-04T18:28:53Z</dc:date>
    </item>
  </channel>
</rss>

