I am trying to figure out what encryption/security strategy to adopt for IoT based solution. Here's my assessment.
The fundamental assumption of any security system is that the algorithm can be cracked, hence the key has to protected.
TLS will act as a protective layer for packets sent over the air. This is mostly taken care by the wireless device. This is not enough & data has to be protected further.
The data that has to be encrypted we can use various encryption algorithms. Out of that AES seems to be the most reliable one. I am not able to confirm if AES is a public - private key algorithm or symmetric key (single key for encode-decode) algorithm. Please shed more light on this.
Has anyone come across a strategy wherein:
Every device / node has a different encryption key. This is very important because a hacker can simulate certain periodic data without understanding the underlying encryption. So if the hacker is able to figure out that xyz packet produces certain behaviour in the device, encryption is of little consequence.
Can we change the secret key on the fly, so something like for each session created, the server will update the key for the next connection ?
Are my assumptions right ? Also it would be great if you can suggest me best practices for security in an IoT environment.
Regards,
Chaitannya