Key management protocol for end-to-end security on Advanced Metering Infrastructure I am currently working on a research on end-to-end security implementation for Advanced Metering Infrastructure (AMI). Pardon me if I a bit off topic or not asking the right question as I am relatively new in the cryptography field and hope to get more information.

So basically I am to research on implementing security for smart grid system ensuring data integrity, authenticity as well as confidentiality for AMI when message is passed from the smart meters, to a concentrator where it computes and aggregate data received and finally sent to the utility end. One important consideration is that smart meters have limited processing power. As such, the cryptography algorithm should not have a large processing overhead in this case. 

So right now I have this in mind after some research and reading relevant literature:


A shared master key across all the devices.
Smart meters authenticate themselves using this master key together with their unique ID.
After which this master key will be used to generate a session key for secure transmission.
Using HMAC and related algorithm to sign data and transmit to concentrator. Concentrator perform checking base on the HMAC received. If integrity is verified, it is then send to the utility.


The usage of a symmetric key (master key) is to ensure that there will be lesser computation as compared to any asymmetric design.
In distributed systems it is often bad practice to have "Shared Master Key". If a bad guy breaks in one of your devices he has the most important crypto piece of the system, and you're pretty much done. Rather have one key per device, and these keys are signed by an Authority I would say.