<?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>How does the nRF52840 Access Control List (ACL) work exactly?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39736/how-does-the-nrf52840-access-control-list-acl-work-exactly</link><description>Hi, 
 In a project I am working on with the nRF52840 I will need the ACL to protect a private key in the flash memory. With help from another post here I put together the following code: 
 #define PROTECTED_REGION_START *(uint32_t *) (START_ADDRESS) #define</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 14 Dec 2020 09:10:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39736/how-does-the-nrf52840-access-control-list-acl-work-exactly" /><item><title>RE: How does the nRF52840 Access Control List (ACL) work exactly?</title><link>https://devzone.nordicsemi.com/thread/284710?ContentTypeID=1</link><pubDate>Mon, 14 Dec 2020 09:10:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffad2cc3-515e-4e0c-a5dc-71971500c53a</guid><dc:creator>Nikos Karamolegkos</dc:creator><description>&lt;p&gt;Hello &lt;a href="https://devzone.nordicsemi.com/members/haakonsh"&gt;haakonsh&lt;/a&gt;, nice details. Therefore, the difference with the APPROTECT register which protects the entire flash from reading is that the ACL blocks the access to CPU and not only to an external debugger? If yes, how the device can be compromised from the CPU if using only the APPROTECT register. Sorry for my unawareness am not a security expert.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does the nRF52840 Access Control List (ACL) work exactly?</title><link>https://devzone.nordicsemi.com/thread/154275?ContentTypeID=1</link><pubDate>Wed, 24 Oct 2018 11:45:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd9bc9df-ec6d-4646-9b47-cd16befb1b66</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Jupp. The CPU is completely blocked from reading or executing code from that region without exceptions, until the system resets and the ACL is cleared. Also note that you can only write to the ACL registers once, you will have to reset the system in order to re-write&amp;nbsp;an ACL register.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does the nRF52840 Access Control List (ACL) work exactly?</title><link>https://devzone.nordicsemi.com/thread/154238?ContentTypeID=1</link><pubDate>Wed, 24 Oct 2018 09:44:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:790c11cb-2f98-4032-b260-f95b51dcb220</guid><dc:creator>Thomas Peter</dc:creator><description>&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;So after a flash region is protected, no application code, no matter where in the flash it is located, can read the protected flash region?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does the nRF52840 Access Control List (ACL) work exactly?</title><link>https://devzone.nordicsemi.com/thread/154229?ContentTypeID=1</link><pubDate>Wed, 24 Oct 2018 09:05:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b63b1a76-6015-4c23-b001-25245ddbfa76</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;By blocking read access you will prevent the CPU from being able to read from that region of flash. Once set you will have to reset the device in order to read that region again.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The most common use-case is to protect a cryptographic key from being read by an application. The scenario is that a secure bootloader uses this key during boot to verify a FW image and then enables the ACL read protection to prevent the application from reading this key, or alternatively executing instructions inside the ACL protected area.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How does the nRF52840 Access Control List (ACL) work exactly?</title><link>https://devzone.nordicsemi.com/thread/154038?ContentTypeID=1</link><pubDate>Tue, 23 Oct 2018 10:05:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05434423-b2ad-44e4-94f8-2e37deebe67e</guid><dc:creator>Thomas Peter</dc:creator><description>&lt;p&gt;Of course I meant this code, with a &amp;#39;0&amp;#39;, not an &amp;#39;n&amp;#39; in ACL[...]:&lt;/p&gt;
&lt;p&gt;#define PROTECTED_REGION_START *(uint32_t *) (START_ADDRESS)&lt;br /&gt;#define PROTECTED_REGION_LENGHT 0x0000????&lt;/p&gt;
&lt;p&gt;NRF_ACL-&amp;gt;ACL[0].ADDR = PROTECTED_REGION_START;&lt;br /&gt;NRF_ACL-&amp;gt;ACL[0].PERM = ACL_ACL_PERM_READ_Disable;&lt;br /&gt;NRF_ACL-&amp;gt;ACL[0].SIZE = PROTECTED_REGION_LENGHT;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>