<?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>understanding of PSA and ITS</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/124389/understanding-of-psa-and-its</link><description>Hi, I am working on storing data in the Trusted Zone using the PSA APIs. 
 I tried the Protected Storage (PS) example. When I store data using psa_ps_set() and then read the flash memory with nrfjprog , I see some data that looks encrypted (random bytes</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 17 Sep 2025 12:54:18 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/124389/understanding-of-psa-and-its" /><item><title>RE: understanding of PSA and ITS</title><link>https://devzone.nordicsemi.com/thread/549034?ContentTypeID=1</link><pubDate>Wed, 17 Sep 2025 12:54:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4483569b-7959-443f-8962-ef6b13789f6d</guid><dc:creator>dejans</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Hari_haran"]&lt;span&gt;Is there any scenario where&amp;nbsp;&lt;/span&gt;&lt;code&gt;psa_its_set()&lt;/code&gt;&lt;span&gt;&amp;nbsp;would use this&amp;nbsp;&lt;/span&gt;&lt;code&gt;settings_storage&lt;/code&gt;&lt;span&gt;&amp;nbsp;partition instead of the TF-M ITS partition?&lt;/span&gt;[/quote]
&lt;p&gt;No.&lt;/p&gt;
[quote user="Hari_haran"]is setting storage is the secure partition ?[/quote]
&lt;p&gt;No, it is non-secure. It is allocated using&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-3.1.0/page/kconfig/index.html#CONFIG_TFM_NRF_NS_STORAGE"&gt;CONFIG_TFM_NRF_NS_STORAGE&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Dejan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: understanding of PSA and ITS</title><link>https://devzone.nordicsemi.com/thread/548962?ContentTypeID=1</link><pubDate>Wed, 17 Sep 2025 05:37:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ec643ea-6341-4dcd-8613-31edd34cef4a</guid><dc:creator>Hari_haran</dc:creator><description>&lt;p data-start="290" data-end="301"&gt;Hi Dejan,&lt;/p&gt;
&lt;p data-start="303" data-end="455"&gt;Thank you for the detailed explanation. It helped me understand the&amp;nbsp;concept much better.&lt;br /&gt;&lt;br /&gt;i have one more doubt, i see that&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;I am using PSA ITS (&lt;/span&gt;&lt;code data-start="344" data-end="359"&gt;psa_its_set()&lt;/code&gt;&lt;span&gt;). My understanding is that ITS should always store in the TF-M ITS partition (&lt;/span&gt;&lt;code data-start="466" data-end="475"&gt;tfm_its&lt;/code&gt;&lt;span&gt;).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Is there any scenario where&amp;nbsp;&lt;/span&gt;&lt;code data-start="764" data-end="779"&gt;psa_its_set()&lt;/code&gt;&lt;span&gt;&amp;nbsp;would use this&amp;nbsp;&lt;/span&gt;&lt;code data-start="795" data-end="813"&gt;settings_storage&lt;/code&gt;&lt;span&gt;&amp;nbsp;partition instead of the TF-M ITS partition? If yes, what configuration or Kconfig options control this behavior?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;settings_storage:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;address: 0x78000&lt;/span&gt;&lt;br /&gt;&lt;span&gt;end_address: 0x7c000&lt;/span&gt;&lt;br /&gt;&lt;span&gt;placement:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;align:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;start: 0x4000&lt;/span&gt;&lt;br /&gt;&lt;span&gt;before:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- end&lt;/span&gt;&lt;br /&gt;&lt;span&gt;region: flash_primary&lt;/span&gt;&lt;br /&gt;&lt;span&gt;size: 0x4000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;is setting storage is the secure partition ? because i see the keys but value is not readable.(used &lt;span&gt;psa_its_set() that stores the data in setting storage&lt;/span&gt;)&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1758108995340v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: understanding of PSA and ITS</title><link>https://devzone.nordicsemi.com/thread/548896?ContentTypeID=1</link><pubDate>Tue, 16 Sep 2025 13:07:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:808ebf58-afb6-4a59-aa2e-a47013a1c033</guid><dc:creator>dejans</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
[quote user=""]&lt;p&gt;Why does this happen?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Is encryption automatically enabled for Protected Storage (PS)?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Do I need to enable encryption for Internal Trusted Storage (ITS) separately?&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;[/quote]
&lt;p&gt;In the&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/security/psa_certified_api_overview.html#psa_secure_storage_api"&gt;PSA Secure Storage API&lt;/a&gt;&amp;nbsp;documentation, you can find the following table&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/5822.pastedimage1758025292690v1.png" alt=" " /&gt;&lt;br /&gt;Note: Internal Trusted Storage has experimental support for encryption with the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a title="(in Kconfig reference v&amp;amp;nbsp;)" href="https://docs.nordicsemi.com/bundle/ncs-latest/page/kconfig/index.html#CONFIG_PSA_ITS_ENCRYPTED"&gt;&lt;code&gt;&lt;span&gt;CONFIG_PSA_ITS_ENCRYPTED&lt;/span&gt;&lt;/code&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Kconfig option set.&lt;/p&gt;
[quote user=""]I also noticed that when I use &lt;code&gt;psa_ps_set()&lt;/code&gt;, the memory region starts from &lt;code&gt;0xFC00&lt;/code&gt;, but the data is not written exactly at the beginning of that region. Could you explain how TF-M organizes storage in flash?[/quote]
&lt;p&gt;You can look at&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/security/tfm/tfm_services.html"&gt;TF-M Services&lt;/a&gt;. There you can find information on sizing ITS and PS partitions.&lt;/p&gt;
[quote user=""]I want to store sensitive data (like key pairs, possibly larger than small strings) in the trusted zone. Which method should I use — &lt;code&gt;psa_ps_set()&lt;/code&gt; or &lt;code&gt;psa_its_set()are any other method&lt;/code&gt;?[/quote]
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/libraries/security/trusted_storage.html"&gt;Trusted Storage&lt;/a&gt;&amp;nbsp;library&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/libraries/security/trusted_storage.html#interfaces"&gt;interfaces&lt;/a&gt;&amp;nbsp;provide this information&lt;br /&gt;&lt;br /&gt;&lt;span&gt;The trusted storage library provides two storage interfaces for use with device-protected storage:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;PSA internal trusted storage, designed to store critical data that must be placed inside internal non-volatile memory. The size of the storage available by the internal trusted storage API is expected to be limited, and therefore should be used for small, security-critical values. Examples of assets that require this kind of storage are replay protection values for external storage and keys for use by components of the PSA Root of Trust.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PSA protected storage, designed to store all other critical data that do not need to be stored inside internal non-volatile memory.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Documentation also describes when to use&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/data_storage.html#when_to_use_psa_protected_storage"&gt;PSA Protected Storage&lt;/a&gt;.&lt;/p&gt;
[quote user="Hari_haran"]Also noticed that when i trying to write hex (&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TEST_STRING_1&lt;/span&gt;&lt;span&gt;&amp;nbsp;0x012345&amp;nbsp;&lt;/span&gt;) instead of string (&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TEST_STRING_1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;quot;The quick brown fox jumps over the lazy dog&amp;quot;&lt;/span&gt;)&amp;nbsp; board resets.&lt;br /&gt;why this happens?[/quote]
&lt;p&gt;Can you provide more details about this? What are you trying to test and how?&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Dejan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: understanding of PSA and ITS</title><link>https://devzone.nordicsemi.com/thread/548868?ContentTypeID=1</link><pubDate>Tue, 16 Sep 2025 11:51:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3bd2723-0403-431e-8340-7cff530f41b8</guid><dc:creator>Hari_haran</dc:creator><description>&lt;p&gt;Also noticed that when i trying to write hex (&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TEST_STRING_1&lt;/span&gt;&lt;span&gt;&amp;nbsp;0x012345&amp;nbsp;&lt;/span&gt;) instead of string (&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;TEST_STRING_1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;quot;The quick brown fox jumps over the lazy dog&amp;quot;&lt;/span&gt;)&amp;nbsp; board resets.&lt;br /&gt;why this happens?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>