Replies: 2 comments 7 replies
-
We plan to add communication security between federates. Secure CommunicationWe plan to encrypt messages after serializing the message using protobufs. So, in the
In the
and this will return the serialized protobuf. Key managementBefore the secure communication, we need to set up a secure connection, which is exchanging the keys to encrypt and decrypt messages. This setting up secure connection includes
There are two ways to do this.
Actual implementation for LF using SSTI am planning to use a toolkit named Secure Swarm Toolkit (SST). This framework helps handling all the setups I explained above, and also provides C API functions for the message encryption and decryption. In SST, there is a local authentication and authorization entity, Auth. It provides authentication and authorization for its locally registered entities or devices. For more details, if a However, this introduces a third-party entity, `Auth, ' and we need to discuss whether we want this. Further discussionWe need to make sure what devices do we target. SST uses PKI in the initial phase, and PKI needs some relatively strong computation power. For example, temperature sensors, motions sensors, smart light bulbs are designed to operate on a small battery for months or years without consuming too much energy. It will be inappropriate to use PKI and RSA for these devices. If we are targeting these devices, we would need further discussion. |
Beta Was this translation helpful? Give feedback.
-
Hi Dongha and Hoekun. This seems like a very cool project. I want to mention two important details that might be important for you: 1. Federates can only talk to their neighbors This seems like a critical point if we are to use PKI. 2. NetworkChannels perform the serialization. The security layer you are thinking about should likely exist between the runtime and the network channel. Thus I think we might want to rethink this and have the NetworkChannel send and receive arbitrary buffers, and perform serialization outside it. Any thoughts on this @tanneberger ? |
Beta Was this translation helpful? Give feedback.
-
TODO (@Jakio815)
Beta Was this translation helpful? Give feedback.
All reactions