Hi Marco, I do not know enough the Noise protocol. But from what I understand, you are trying to perform mutual authentication and encryption.
In gRPC-Go, you can provide your own implementation of the TransportCredentials interface: https://godoc.org/google.golang.org/grpc/credentials#TransportCredentials which implements the Noise protocol. There should be corresponding APIs in the other languages supported by gRPC as well. Using this approach lets your application deal with application level data instead of transport level data. Thanks Easwar On Monday, August 17, 2020 at 3:27:37 PM UTC-7 Marco Argentieri wrote: > Hello! I want to be able to use the Noise Protocol > <https://noiseprotocol.org/> to securely perform mutual authentication > and end to end encrypt the messages exchanged. > > The naive way of doing this at the application layer would be to have all > the methods to have the same message containing a bytes field with the > serialized actual protobuf message, like: > > ``` > service Trade { > rpc SecureMethod(SignedMessage) returns(SignedMessage) > } > > message SignedMessage { > uint32 lenght = 1; > bytes payload = 2: > } > ``` > > Then grpc server would decrypt the given payload and deserialize the bytes > to a defines protobuf message. (Just not sure if this naive method could > work with streaming replys) > > But, would be way nicer if a three act ECDH key exchnage for subsequent > symmetric encryption could be done at grpc level (maybe using Credentials > plugin API?) > I would like to keep using existing protobuf definition and do not do any > additional encrypting/decrypting and subsequent > serialization/deserialization at application level. > > Any help on where/what to touch would be much appreciated. > > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/02f5fb23-3931-4ac0-9bb4-c51f5ffedaa0n%40googlegroups.com.
