I have a chip that needs to send arbitrary data to a server that I do not control. We're using mbed TLS at the moment, however the binary is quite large. So, we introduced a dedicated cryptographic chip on the PCB.
This means that encryption and key management is offloaded to this chip. However, all communication now needs to go through this chip, which has exposed contact points on the PCB. This means that an attacker can read everything by reading out the right I²C pins.
Of course, it is important to have a threat model defined. Our threat model does not include attackers who have specialized equipment and weeks on end, luckily. However, if somebody can read out two pins on the PCB and have all data in hand, this is not ideal.
What is the correct way to use this cryptographic chip (ATECC508A)?
I must be seeing something wrong, because otherwise it would be better to use the mbed TLS-defined functions than the dedicated chip's functionality.