PRoC BLE Encrypted Image OTA Update

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi, 

I would like to have a secure BLE OTA bootloader, with upgradable BLE stack. The update image (binary) is totally encrypted, the user should at no point be able to get an un-encrypted binary image file. This is to avoid my product to be copied to easily, obviously. 

   


I have worked with such problems before so I am not looking for the encryption side of the things, but for the PSoC 4 / PRoC BLE specifics only. 
So far I could only find the example using an external memory, but external memory is expensive and doesn't seem necessary so I would like to use only the internal memory. 
Have you done something like this? 

I don't mind implementing it but I would like some directions, I'm quite new with Cypress. Packets could be decrypted on the fly as they arrive and before writing them to the flash. But at the moment everything is encapsulated in the provided "bootloader component" from the standard library. Is it possible to modify this component? Is this Bootloader Open Source or is this totally Cypress proprietary ? 

I would appreciate any help on this. 

Thank you! 
Jerome

0 Likes
1 Solution
himam_31
Employee
Employee
50 likes received 25 likes received 10 likes received

Hello Jerome,

   

 

   

I assume that you need to send an encrypted .cyacd file. We do not have an example project for this. However you can go ahead and modify the bootloader component.Bootloader component source code can be seen in the Bootloader.c files. You can import the bootloader component ,modify it and use the modified component in the project.

   

 

   

Thanks,

   

Hima

View solution in original post

0 Likes
2 Replies
himam_31
Employee
Employee
50 likes received 25 likes received 10 likes received

Hello Jerome,

   

 

   

I assume that you need to send an encrypted .cyacd file. We do not have an example project for this. However you can go ahead and modify the bootloader component.Bootloader component source code can be seen in the Bootloader.c files. You can import the bootloader component ,modify it and use the modified component in the project.

   

 

   

Thanks,

   

Hima

0 Likes
Anonymous
Not applicable

Hi Hima,

   

Thank you for your reply, yes this is exactly what I would like to do. I'll look into this and let you know 🙂

   

Thank you,

   

Jerome

0 Likes