<?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 [Security] Problems using SDK CSEC Driver in S32K</title>
    <link>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1849608#M34338</link>
    <description>&lt;P&gt;Dear NXPs：&lt;/P&gt;&lt;P&gt;SDK CSEC Driver&lt;BR /&gt;csec_driver.h&lt;BR /&gt;csec_driver.c&lt;BR /&gt;csec_hw_access.c&lt;BR /&gt;csec_hw_access.h&lt;BR /&gt;I transplanted the SDK CSEC Driver to the normal project (without free RTOS) for use. The chip objects are S32K142 and S32K146. I found that the SDK CSEC Driver only used the OS timer for timeout processing, so my solution was to delete the OS part of the CSEC Driver C file, which met my needs.&lt;BR /&gt;The interface I plan to use is:&lt;BR /&gt;void CSEC_DRV_Init(csec_state_t *state);&lt;BR /&gt;void CSEC_DRV_Deinit(void);&lt;BR /&gt;status_t CSEC_DRV_EncryptCBC(csec_key_id_t keyId,&lt;BR /&gt;const uint8_t *plainText, uint32_t length,&lt;BR /&gt;const uint8_t *iv, uint8_t *cipherText, uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_DecryptCBC(csec_key_id_t keyId, const uint8_t *cipherText,&lt;BR /&gt;uint32_t length, const uint8_t* iv, uint8_t *plainText, uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_GenerateMAC(csec_key_id_t keyId, const uint8_t *msg,&lt;BR /&gt;uint32_t msgLen, uint8_t *cmac, uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_GenerateMACAddrMode(csec_key_id_t keyId,&lt;BR /&gt;const uint8_t *msg, uint32_t msgLen, uint8_t *cmac);&lt;BR /&gt;status_t CSEC_DRV_VerifyMAC(csec_key_id_t keyId, const uint8_t *msg,&lt;BR /&gt;uint32_t msgLen, const uint8_t *mac, uint16_t macLen, bool *verifStatus,&lt;BR /&gt;uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_VerifyMACAddrMode(csec_key_id_t keyId, const uint8_t *msg,&lt;BR /&gt;uint32_t msgLen, const uint8_t *mac, uint16_t macLen, bool *verifStatus);&lt;BR /&gt;status_t CSEC_DRV_LoadKey(csec_key_id_t keyId, const uint8_t *m1,&lt;BR /&gt;const uint8_t *m2, const uint8_t *m3, uint8_t *m4, uint8_t *m5);&lt;BR /&gt;status_t CSEC_DRV_BootFailure(void);&lt;BR /&gt;status_t CSEC_DRV_BootOK(void);&lt;BR /&gt;status_t CSEC_DRV_BootDefine(uint32_t bootSize, csec_boot_flavor_t bootFlavor);&lt;BR /&gt;static inline csec_status_t CSEC_DRV_GetStatus(void);&lt;BR /&gt;status_t CSEC_DRV_MPCompress(const uint8_t *msg, uint16_t msgLen,&lt;BR /&gt;uint8_t *mpCompress, uint32_t timeout);&lt;BR /&gt;Q：What I want to inquire about is transplanting the SDK CSEC Driver to the Normal project (142/146, no OS). Are there any potential risks? ?&lt;/P&gt;</description>
    <pubDate>Thu, 18 Apr 2024 07:20:09 GMT</pubDate>
    <dc:creator>Gideon</dc:creator>
    <dc:date>2024-04-18T07:20:09Z</dc:date>
    <item>
      <title>[Security] Problems using SDK CSEC Driver</title>
      <link>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1849608#M34338</link>
      <description>&lt;P&gt;Dear NXPs：&lt;/P&gt;&lt;P&gt;SDK CSEC Driver&lt;BR /&gt;csec_driver.h&lt;BR /&gt;csec_driver.c&lt;BR /&gt;csec_hw_access.c&lt;BR /&gt;csec_hw_access.h&lt;BR /&gt;I transplanted the SDK CSEC Driver to the normal project (without free RTOS) for use. The chip objects are S32K142 and S32K146. I found that the SDK CSEC Driver only used the OS timer for timeout processing, so my solution was to delete the OS part of the CSEC Driver C file, which met my needs.&lt;BR /&gt;The interface I plan to use is:&lt;BR /&gt;void CSEC_DRV_Init(csec_state_t *state);&lt;BR /&gt;void CSEC_DRV_Deinit(void);&lt;BR /&gt;status_t CSEC_DRV_EncryptCBC(csec_key_id_t keyId,&lt;BR /&gt;const uint8_t *plainText, uint32_t length,&lt;BR /&gt;const uint8_t *iv, uint8_t *cipherText, uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_DecryptCBC(csec_key_id_t keyId, const uint8_t *cipherText,&lt;BR /&gt;uint32_t length, const uint8_t* iv, uint8_t *plainText, uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_GenerateMAC(csec_key_id_t keyId, const uint8_t *msg,&lt;BR /&gt;uint32_t msgLen, uint8_t *cmac, uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_GenerateMACAddrMode(csec_key_id_t keyId,&lt;BR /&gt;const uint8_t *msg, uint32_t msgLen, uint8_t *cmac);&lt;BR /&gt;status_t CSEC_DRV_VerifyMAC(csec_key_id_t keyId, const uint8_t *msg,&lt;BR /&gt;uint32_t msgLen, const uint8_t *mac, uint16_t macLen, bool *verifStatus,&lt;BR /&gt;uint32_t timeout);&lt;BR /&gt;status_t CSEC_DRV_VerifyMACAddrMode(csec_key_id_t keyId, const uint8_t *msg,&lt;BR /&gt;uint32_t msgLen, const uint8_t *mac, uint16_t macLen, bool *verifStatus);&lt;BR /&gt;status_t CSEC_DRV_LoadKey(csec_key_id_t keyId, const uint8_t *m1,&lt;BR /&gt;const uint8_t *m2, const uint8_t *m3, uint8_t *m4, uint8_t *m5);&lt;BR /&gt;status_t CSEC_DRV_BootFailure(void);&lt;BR /&gt;status_t CSEC_DRV_BootOK(void);&lt;BR /&gt;status_t CSEC_DRV_BootDefine(uint32_t bootSize, csec_boot_flavor_t bootFlavor);&lt;BR /&gt;static inline csec_status_t CSEC_DRV_GetStatus(void);&lt;BR /&gt;status_t CSEC_DRV_MPCompress(const uint8_t *msg, uint16_t msgLen,&lt;BR /&gt;uint8_t *mpCompress, uint32_t timeout);&lt;BR /&gt;Q：What I want to inquire about is transplanting the SDK CSEC Driver to the Normal project (142/146, no OS). Are there any potential risks? ?&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2024 07:20:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1849608#M34338</guid>
      <dc:creator>Gideon</dc:creator>
      <dc:date>2024-04-18T07:20:09Z</dc:date>
    </item>
    <item>
      <title>Re: [Security] Problems using SDK CSEC Driver</title>
      <link>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1850943#M34429</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/218898"&gt;@Gideon&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;there's implementation of OSIF for both FreeRTOS and baremetal configuration. So, there's no problem even if you don't use FreeRTOS. Take a look at section "OS Interface (OSIF)" in SDK user manual.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_0-1713559726522.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/274794i593B225734045E9F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_0-1713559726522.png" alt="lukaszadrapa_0-1713559726522.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I can't see a reason to do such changes.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And if SDK is not used ever, it's better to use code from AN5401.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Lukas&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Apr 2024 20:51:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1850943#M34429</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2024-04-19T20:51:13Z</dc:date>
    </item>
    <item>
      <title>Re: [Security] Problems using SDK CSEC Driver</title>
      <link>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1851122#M34444</link>
      <description>&lt;P&gt;Dear NXPs:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Q1:Where can I view the document you sent a screenshot of?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Q2:Could you provide me with a baremetal configuration S32K14x CSEC driver?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Apr 2024 10:23:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1851122#M34444</guid>
      <dc:creator>Gideon</dc:creator>
      <dc:date>2024-04-22T10:23:03Z</dc:date>
    </item>
    <item>
      <title>Re: [Security] Problems using SDK CSEC Driver</title>
      <link>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1852097#M34523</link>
      <description>&lt;P&gt;You can find the manual here:&lt;BR /&gt;c:\NXP\S32DS.3.4\S32DS\software\S32SDK_S32K1XX_RTM_4.0.3\doc\S32SDK_S32K144_UserManual.pdf&lt;/P&gt;
&lt;P&gt;No configuration is needed. If you have a project without FreeRTOS then baremetal version is selected automatically.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Apr 2024 05:26:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Security-Problems-using-SDK-CSEC-Driver/m-p/1852097#M34523</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2024-04-23T05:26:04Z</dc:date>
    </item>
  </channel>
</rss>

