Most web applications use TLS (Transport Layer Security), previously SSL (Secure Sockets Layer), to protect communications between their users and their server. This means the data is available to the server, but not to any observers between a user and the server.
For many applications TLS is sufficient. However, there are cases where it is not. For example, no one wants a random software company reading their message to another user when:
- Sending a banking password their spouse forgot.
- Consulting with a doctor or lawyer.
- Discussing future corporate strategies.
These are the types of cases the Forsta platform is designed to support. With end-to-end encryption, your data is encrypted on one client and never decrypted until it reaches the other client.
The Signal Protocol, designed by Open Whisper Systems, is the message transport in Forsta’s end-to-end encrypted messaging solution. This renowned cryptographic protocol was designed to prevent third parties, including Forsta, from having access to the content of user messages while "in flight."
Forsta’s solution relies on the Signal protocol for several noteworthy facets of the platform:
- All of Forsta’s messaging clients are Open Source and available for audit on GitHub.
- Users’ long-lived private identity keys are generated within and only available for use by their own messaging clients. Private keys remain strictly private.
- All message information and associated data moving between clients is encrypted with strong, short-lived message keys governed by the Signal protocol’s Double Ratchet Algorithm.
- Message keys are based on users’ private long-lived keys, but they are constantly changing to ensure that:
- Even a motivated attacker with immense resources will not be able to cryptanalyze a series of transmissions for clues to compromise a session’s keys
- Even if an attacker somehow managed to compromise a message key, the perfect forward- and backward-secrecy inherent in the double-ratchet algorithm would render that key useless for all but a single message.
- Users are able to cryptographically verify that any individual they are communicating with is indeed who they claim to be, eliminating any fear of a “man in the middle” attack where another party could pose as each end of the conversation’s expected partner, relaying messages both ways to monitor their communications.
- The customized Signal server is a central rendezvous point that facilitates flexible yet secure collaboration among messaging clients by allowing them to deposit “prekeys” for use by other clients in starting Double Ratchet messaging sessions.
- The Signal server also maintains queues of in-flight encrypted messages that are pending delivery to recipients. So clients can initiate secure conversations and safely transmit encrypted messages to others even while the recipients may be offline.
In addition to using the Signal protocol Forsta, relies on the following to protect your data:
- All ancillary client-server and server-server connections in the Forsta platform employ industry-standard SSL/TLS validated with 2048-bit RSA server certificates.
- Forsta replaced Signal's use of a mobile phone number as the basis of a user's identity with a random universally-unique identifiers (UUIDs). Users are not required to have or keep updated a phone number, allowing more privacy and flexibility in use.
- Forsta's provisioning server transparently facilitates the safe and automatic movement of a user’s private identity key material from an existing client they have already set up to one they are currently setting up.
- For video, voice and screen-sharing, Forsta uses the end-to-end encrypted WebRTC protocol for streaming, and the Signal protocol to coordinate the WebRTC connections.
Next, let's take a look at how a user interacts with the Forsta system to send messages:
|System Life Cycle|