<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Using MCUboot with secure private key</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/123846/using-mcuboot-with-secure-private-key</link><description>The current default and only recommended way to use MCUboot is to make the private key available as part of the build process. 
 There have been several questions about this previously, asking whether the private key can be kept private, and the answer</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 22 Aug 2025 15:08:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/123846/using-mcuboot-with-secure-private-key" /><item><title>RE: Using MCUboot with secure private key</title><link>https://devzone.nordicsemi.com/thread/546490?ContentTypeID=1</link><pubDate>Fri, 22 Aug 2025 15:08:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9ac437b1-54fe-4d5c-81de-21668e4fc5f4</guid><dc:creator>simonhwm</dc:creator><description>&lt;p&gt;Alas we are using the nRF52840. We would have picked from the nRF54L range, but at the time we started the project it was not yet available to buy.&lt;/p&gt;
&lt;p&gt;Provisioning the public key manually is absolutely fine, so it seems it&amp;#39;s just a problem for the older device family.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using MCUboot with secure private key</title><link>https://devzone.nordicsemi.com/thread/546413?ContentTypeID=1</link><pubDate>Fri, 22 Aug 2025 07:37:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35d42301-ad9b-4d30-939e-36a95c091fd1</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="simonhwm"]My biggest concern was making the bootloader build without requiring the private cert, which I think relates to the way Zephyr/NCS builds MCUboot rather than being a problem with MCUboot itself.[/quote]
&lt;p&gt;If you only mean the bootloader and not the signing of the application, the nRF54L15 uses the KMU to store the public key, which you must &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf54l/kmu_basics.html"&gt;provision&lt;/a&gt;&amp;nbsp;manually. So for this, MCUboot builds without a private key.&lt;/p&gt;
[quote user="simonhwm"]We are working with a consultant on RED DA so most of this comes from his recommendations.[/quote]
&lt;p&gt;One more thing here that I came to think of. A logical argument is as follows:&lt;/p&gt;
&lt;p&gt;If Nordic Semiconductor cannot sell SoC to products sold in the EU, the loss of revenue would be way too large to accept.&lt;br /&gt;=&amp;gt; Nordic Semiconductor must make sure that our SoCs meet requirements for RED DA and eventually CRA.&lt;/p&gt;
&lt;p&gt;So&amp;nbsp; while you say &amp;quot;Having the private key exposed in this way definitely does not meet these requirements.&amp;quot;, I would argue that following the above logic, I would think that the way we use the private key should be good enough for RED DA.&lt;/p&gt;
&lt;p&gt;(PS: The above are logical arguments made by me personally, and not promises from Nordic Semiconductor)&lt;/p&gt;
&lt;p&gt;If you (or anyone else) experience that you cannot achieve RED DA because of the nRF Connect SDK key handling, we would be interested in knowing that!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using MCUboot with secure private key</title><link>https://devzone.nordicsemi.com/thread/546349?ContentTypeID=1</link><pubDate>Thu, 21 Aug 2025 13:35:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:afd944f6-76b5-4264-8f2a-8cf9a691d908</guid><dc:creator>simonhwm</dc:creator><description>&lt;p&gt;Hi Sigurd,&lt;/p&gt;
&lt;p&gt;Good to see that MCUboot has something in the works, albeit moving very slowly. I appreciate that you are dependent on a 3rd party for this.&lt;/p&gt;
&lt;p&gt;We are working with a consultant on RED DA so most of this comes from his recommendations.&lt;/p&gt;
&lt;p&gt;My biggest concern was making the bootloader build without requiring the private cert, which I think relates to the way Zephyr/NCS builds MCUboot rather than being a problem with MCUboot itself.&lt;/p&gt;
&lt;p&gt;Thanks for your answers, I will be interested to hear of any developments.&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using MCUboot with secure private key</title><link>https://devzone.nordicsemi.com/thread/546339?ContentTypeID=1</link><pubDate>Thu, 21 Aug 2025 12:29:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3f481f2d-8419-40ea-b47f-2b1ec0f51e7a</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;You make some good points on this.&lt;/p&gt;
&lt;p&gt;Here is what I got as answers:&lt;/p&gt;
&lt;p&gt;1. As you can see at&amp;nbsp;&lt;a href="https://github.com/mcu-tools/mcuboot/issues/599"&gt;https://github.com/mcu-tools/mcuboot/issues/599&amp;nbsp;&lt;/a&gt;(Issue name:&amp;nbsp;Add HSM support to imgtool ), it looks like MCUboot upstream is working towards a solution for this. When that is ready, it will eventually be available in the nRF Connect SDK as well.&lt;/p&gt;
&lt;p&gt;2. You can read more on what we do with RED DA at&amp;nbsp;&lt;a href="https://www.nordicsemi.com/Products/Technologies/Security/Regulations?lang=en#infotabs"&gt;What is the RED Delegated Act and associated standard&lt;/a&gt;&amp;nbsp;(our page on this). Maybe this answers your question on if this will be good enough for RED DA?&lt;/p&gt;
&lt;p&gt;3. I will forward your messages to our Bootloader team, as I think this will be good input for them.&lt;br /&gt;Of course, I cannot promise you anything on this front, but know that you are heard. If learn anything from them that I can share, I will let you know.&lt;/p&gt;
&lt;p&gt;Are these the answers you were looking for?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using MCUboot with secure private key</title><link>https://devzone.nordicsemi.com/thread/546234?ContentTypeID=1</link><pubDate>Wed, 20 Aug 2025 15:39:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c949565a-c371-4dd8-afc6-8e59319c9957</guid><dc:creator>simonhwm</dc:creator><description>&lt;p&gt;The first problem is that in order to do what you suggest, I cannot use the supported build process. I will need to hack something together based on sample code which you (i.e. support agents in other threads) say is&amp;nbsp;outdated and not maintained to the current NCS.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/117995/build-with-mcuboot-and-only-provide-public-key/518181"&gt;devzone.nordicsemi.com/.../518181&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And it&amp;#39;s not something that&amp;#39;s easy to automate as it relies on doing a partial build, changing a key file and then making sure not to do a pristine build.&lt;/p&gt;
&lt;p&gt;Keys locked in a vault might seem stupid - I thought that too when I first started out on this process - but the signing key must remain private for the lifetime of the product, maybe 20 years, and if it&amp;#39;s compromised then the security of all those products is also compromised. Best practice is that the private key is stored securely in an HSM, key vault (server, not a steel box) or other secure storage. You can never export or see the private key; all you can do is log in to the secure store and request a signature for a file, or for a hash you&amp;#39;ve already taken. Imgtool always wants to create the signature itself, so it needs direct access to the private key.&lt;/p&gt;
&lt;p&gt;This part I can probably deal with. The signed file format is pretty simple, just the unsigned binary sandwiched between a fixed format header and a TLV trailer containing the signature, so it&amp;#39;s not too hard to re-create.&lt;/p&gt;
&lt;p&gt;But the point is it shouldn&amp;#39;t need hackery and reverse engineering to do this. There should be an easy way to build the bootloader with only the public key file. There should be a way to generate the signed binary with the signature coming from an external source. RED has just landed and everyone is trying to catch up. The Cyber Resilience Act is not far away and that will be even more stringent. All the individual parts are there to make this work, just not very well joined up at the moment.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using MCUboot with secure private key</title><link>https://devzone.nordicsemi.com/thread/546223?ContentTypeID=1</link><pubDate>Wed, 20 Aug 2025 14:20:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ca9268c5-6956-4db1-b16e-88052687d73f</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;What is the problem? Just have the secure machine generate/run the imgtool stuff that generates the signature for the &amp;quot;release&amp;quot; MCUboot.&lt;/p&gt;
&lt;p&gt;Devs will work with a &amp;quot;devel&amp;quot; MCUBoot key that only work with the different dev/testing MCUBoot image.&lt;/p&gt;
&lt;p&gt;Locked away in a vault seems stupid, you have to&amp;nbsp;&lt;em&gt;use&lt;/em&gt; it in order to generate the required firmware signatures. It has to have a method for you to put the hex to sign in and the finished image out. So its usually just another PC but one that is locked away physically when don&amp;#39;t need to sign stuff.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>