Encrypt signal Message body (sProto.Message) #3

Closed
opened 2025-11-20 05:04:43 -05:00 by saavagebueno · 0 comments
Owner

Originally created by @braginini on GitHub (Apr 18, 2021).

Originally assigned to: @braginini on GitHub.

What?
Encrypt the body of a message being sent to a remote peer through signal

Why?
Peers exchange credentials and external addresses (e.g. open UDP ports) via signal.
Even if introducing TLS between a peer and a signal server the owner of a signal server might be able to see the body of the message. To hide sensitive info the message body has to be encrypted so that only the remote peer could decrypt it.

How?

  1. change signal protocol (message body string -> byte[])
  2. Use signal.EncryptMessage function to create encrypted message body

Optional: Consider using Wireguard public key fingerprint to identify peer on a signal server instead of plain Wireguard public key

Originally created by @braginini on GitHub (Apr 18, 2021). Originally assigned to: @braginini on GitHub. **What?** Encrypt the body of a message being sent to a remote peer through signal **Why?** Peers exchange credentials and external addresses (e.g. open UDP ports) via signal. Even if introducing TLS between a peer and a signal server the owner of a signal server might be able to see the body of the message. To hide sensitive info the message body has to be encrypted so that only the remote peer could decrypt it. **How?** 1. change signal protocol (message body string -> byte[]) 2. Use signal.EncryptMessage function to create encrypted message body Optional: Consider using Wireguard public key fingerprint to identify peer on a signal server instead of plain Wireguard public key
saavagebueno added the enhancement label 2025-11-20 05:04:43 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#3