I am working on a project now that will be performing ssl based http or websocket connections to a server.
I have looked around a little and seen some documentation and under the impression that certificates need to first be uploaded into the nRF9160.
I have a few questions that I would like to ask.
I am considering running a SSL library on the SAM51 host MCU at this time as well, but the SAM51 (Adafruit M4 Grand Central) is not really optimized for cryptography as I know and will consume a number of CPU cycles to handle the handshaking and encryption.
How does the nRF9160 compare, does it have some hardware to accelerate cryptography to some degree?
In order to connect to an arbitrary HTTPS server the nRF9160 would need to have knowledge of the common use root certificates, is it possible to create this root CA store in the nRF9160 to handle the CA verification? Quite a few of the WiFi modules out today appear to have a root CA certificate store in them (which can be updated) for use with built in TLS support. I have yet to work with one of these WiFI modules, but may obtain one in the near future for use in a project.
Currently I am working with the "serial lte modem" example and would prefer if there was TLS support in this project, but it appears it is either limited or does not exist presently.
I guess what I am getting at here is that I am considering doing the cryptography on the SAM51 MCU and just using forwarding the already encrypted packets to the nRF9160 through the "serial lte modem" application running on it. Is there a better path to go with adding the cryptography support to the "serial lte modem" application and offloading the cryptography to the nRF9160? This would mean the nRF9160 would need to a root CA store, which might not have the flash to do so.
With the SAM51 I would store the root CAs on an SD card. Attaching an SD card to the nRF9160 through SPI I guess would not be impossible, but then the necessary code would have to be written to handle the implementation.
Since the nRF9160 is still new I am having difficulty finding a lot of information about this topic. Any thoughts or advice about this?