diff --git a/ar/contact/index.html b/ar/contact/index.html index d591993be3..eed2b5f148 100644 --- a/ar/contact/index.html +++ b/ar/contact/index.html @@ -795,7 +795,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ar/fdroid/index.html b/ar/fdroid/index.html index 96cfa3fc27..8b65b0ded4 100644 --- a/ar/fdroid/index.html +++ b/ar/fdroid/index.html @@ -634,7 +634,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ar/index.html b/ar/index.html index 8d1dca99b9..eb7d97b9d1 100644 --- a/ar/index.html +++ b/ar/index.html @@ -2057,7 +2057,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ar/invitation/index.html b/ar/invitation/index.html index 9a70651bf3..29201d6e23 100644 --- a/ar/invitation/index.html +++ b/ar/invitation/index.html @@ -795,7 +795,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/bg/contact/index.html b/bg/contact/index.html index 69753868ed..6893eaeccd 100644 --- a/bg/contact/index.html +++ b/bg/contact/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/bg/fdroid/index.html b/bg/fdroid/index.html index 1d7a648aa4..a405949191 100644 --- a/bg/fdroid/index.html +++ b/bg/fdroid/index.html @@ -624,7 +624,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/bg/index.html b/bg/index.html index 893842747e..f99febe72c 100644 --- a/bg/index.html +++ b/bg/index.html @@ -1689,7 +1689,7 @@ window.addEventListener('scroll',changeHeaderBg); SimpleX design, unlike most P2P networks, has no global user identifiers of any kind, even temporary, and only uses temporary pairwise identifiers, providing better anonymity and metadata protection.
  • - P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange. + P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange.
  • P2P implementations can be blocked by some Internet providers (like BitTorrent). SimpleX is transport agnostic - it can work over standard web protocols, e.g. WebSockets. @@ -2047,7 +2047,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    +

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    MITM attack

    The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    diff --git a/bg/invitation/index.html b/bg/invitation/index.html index 134bf9772b..44b67a7ecf 100644 --- a/bg/invitation/index.html +++ b/bg/invitation/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html b/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html index ed315b56fe..68d296462c 100644 --- a/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html +++ b/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html @@ -45,7 +45,7 @@ - + @@ -380,8 +380,104 @@ window.addEventListener('scroll',changeHeaderBg);

    SimpleX network: private message routing, v5.8 released with IP address protection and chat themes

    Published: June 4, 2024

    -

    TODO

    -

    This is a permalink for release announcement.

    +

    What's new in v5.8:

    + +

    Also, we added Persian interface language to the Android and desktop apps, thanks to our users and Weblate.

    +

    Private message routing

    +

    What's the problem?

    + +

    SimpleX network design has always been focussed on protecting user identity on the messaging protocol level - there is no user profile identifiers of any kind in the protocol design, not even random numbers or cryptographic keys.

    +

    Until this release though, SimpleX network had no built-in protection of user transport identities - IP addresses. As previously the users could only choose which messaging relays to use to receive messages, these relays could observe the IP addresses of the senders, and if these relays were controlled by the recipients, the recipients themselves could observe them too - either by modifying server code or simply by tracking all connecting IP addresses.

    +

    To work around this limitation, many users connected to SimpleX network relays via Tor or VPN - so that the recipients' relays could not observe IP addresses of the users when they send messages. Still, it was the most important and the most criticized limitation of SimpleX network for the users.

    +

    Why didn't we just embed Tor in the app?

    +

    Tor is the best transport overlay network in existence, and it provides network anonymity for millions of Internet users.

    +

    SimpleX Chat has many integration points with Tor:

    +
      +
    • it allows dual server addresses, when the same messaging relay can be reached both via Tor and via clearnet.
    • +
    • it utilises Tor's SOCKS proxy "isolate-by-auth" feature to create a new Tor circuit for each user profile, and with an additional option - for each contact. Per-contact transport isolation is still experimental, as it doesn't work if you connect to groups with many members, and it's only available if you enable developer tools.
    • +
    +

    Many SimpleX network design ideas are borrowed from Tor network design:

    +
      +
    • mitigation of MITM attack on client-server connection is done in the same way as Tor relays do it - the fingerprint of offline certificate is included in server address and validated by the client.
    • +
    • the private routing itself uses the approach similar to onion routing, by adding encryption layers on each hop.
    • +
    • we are also considering to implement Tor's Proof-of-work DoS defence mechanism.
    • +
    +

    So why didn't we just embed Tor into the messaging clients to provide IP address protection?

    +

    We believe that Tor may be the wrong solution for some users for one of the reasons:

    +
      +
    • much higher latency, error rate and resource usage.
    • +
    • people who want to use Tor are better served by specialized apps, such as Orbot.
    • +
    • Tor usage is restricted in some networks, so it would require complex configuration in the app UI.
    • +
    • some countries have legislative restrictions on Tor usage, so embedding Tor would require supporting multiple app versions, and it would leave the original problem unsolved in these countries.
    • +
    +

    Also, while Tor solves the problem of IP address protection, it doesn't solve the problem of meta-data correlation by user's transport session. When the client connects to the messaging relays via Tor, the relays can still observe which messaging queues a user sends messages to via a single TCP connection. The client can mitigate it with per-contact transport isolation, but it uses too much traffic and battery for most users.

    +

    So we believed we would create more value to the users of SimpleX network with private message routing. This new message routing protocol provides IP address and transport session protection out of the box, once released. It can also be extended to support delayed delivery and other functions, improving both usability and transport privacy in the future.

    +

    At the same time, we plan to continue supporting Tor and other overlay networks. Any overlay network that supports SOCKS proxy with "isolate-by-auth" feature will work with SimpleX Chat app.

    +

    What is private message routing and how does it work?

    +

    Private message routing is a major milestone for SimpleX network evolution. It is a new message routing protocol that protects both users' IP addresses and transport sessions from the messaging relays chosen by their contacts. Private message routing is, effectively, a 2-hop onion routing protocol inspired by Tor design, but with one important difference - the first (forwarding) relay is always chosen by message sender and the second (destination) - by the message recipient. In this way, neither side of the conversation can observe IP address or transport session of another.

    +

    At the same time, the relays chosen by the sending clients to forward the messages cannot observe to which connections (messaging queues) the messages are sent, because of the additional layer of end-to-end encryption between the sender and the destination relay, similar to how onion routing works in Tor network, and also thanks to the protocol design that avoids any repeated or non-random identifiers associated with the messages, that would otherwise allow correlating the messages sent to different connections as sent by the same user. Each message forwarded to the destination relay is additionally encrypted with one-time ephemeral key, to be independent of messages sent to different connections.

    +

    The routing protocol also prevents the possibility of MITM attack by the forwarding relay, which provides the certificate the session keys of the destination server to the sending client that are cryptographically signed by the same certificate that is included in destination server address, so the client can verify that the messages are sent to the intended destination, and not intercepted.

    +

    The diagram below shows all the encryption layers used in private message routing:

    +
    -----------------             -----------------  -- TLS --  -----------------             -----------------
    +|               |  -- TLS --  |               |  -- f2d --  |               |  -- TLS --  |               |
    +|               |  -- s2d --  |               |  -- s2d --  |               |  -- d2r --  |               |
    +|    Sending    |  -- e2e --  |    sender's   |  -- e2e --  |  recipient's  |  -- e2e --  |   Receiving   |
    +|    client     |  message -> |  Forwarding   |  message -> |  Destination  |  message -> |    client     |
    +|               |  -- e2e --  |     relay     |  -- e2e --  |     relay     |  -- e2e --  |               |
    +|               |  -- s2d --  |               |  -- s2d --  |               |  -- d2r --  |               |
    +|               |  -- TLS --  |               |  -- f2d --  |               |  -- TLS --  |               |
    +-----------------             -----------------  -- TLS --  -----------------             -----------------
    +
    +

    e2e - two end-to-end encryption layers between sending and receiving clients, one of which uses double ratchet algorithm. These encryption layers are present in the previous version of message routing protocol too.

    +

    s2d - encryption between the sending client and recipient's destination relay. This new encryption layer hides the message metadata (destination connection address and message notification flag) from the forwarding relay.

    +

    f2d - additional new encryption layer between forwarding and destination relays, protecting from traffic correlation in case TLS is compromised - there are no identifiers or cyphertext in common between incoming and outgoing traffic of both relays inside TLS connection.

    +

    d2r - additional encryption layer between destination relay and the recipient, also protecting from traffic correlation in case TLS is compromised.

    +

    TLS - TLS 1.3 transport encryption.

    +

    For private routing to work, both the forwardig and the destination relays should support the updated messaging protocol - it is supported from v5.8 of the messaging relays. It is already released to all relays preset in the app, and available as a self-hosted server. We updated the guide about how to host your own messaging relays.

    +

    Because many self-hosted relays did not upgrade yet, private routing is not enabled by default. To enable it, you can open Network & servers settings in the app and change the settings in Private message routing section. We recommend setting Private routing option to Unprotected (to use it only with unknown relays and when not connecting via Tor) and Allow downgrade to Yes (so messages can still be delivered to the messaging relays that didn't upgrade yet) or to When IP hidden (in which case the messages will fail to deliver to unknown relays that didn't upgrade yet unless you connect to them via Tor).

    +

    Read more about the technical design of the private message routing in this document.

    +

    Server transparency

    + +

    Even with very limited information available to the messaging relays, there are several things that would reduce users' privacy that a compromised relay can do.

    +

    We wrote previously that it is important that server operators commit to running unmodified server code or disclose any code modifications, and also disclose server ownership and any other relevant information.

    +

    While we cannot require the operators of self-hosted and private servers to disclose any information about them (apart from which server code they use - this is the requirement of the AGPLv3 license to share this information with users connecting to the server), as we add other server operators to the app, it is important for the users to have all important information about these operators and servers location.

    +

    This server release adds server information page where all this information can be made available to the users. For example, this is the information about one of the servers preset in the app.

    +

    The updated server guide also includes the instruction about how to host this page for your server. It is generated as a static page when the server starts. We recommend using Caddy webserver to serve it.

    +

    More new things in v5.8

    +

    Protect IP address when downloading files & media

    +

    This version added the protection of your IP address when receiving files from unknown file servers without Tor. Images and voice messages won't automatically download from unknown servers too until you tap them, and confirm that you trust the file server where they were uploaded.

    +

    Chat themes

    +

    +

    In Android and desktop app you can now customize how the app looks by choosing wallpapers with one of the preset themes or choose your own image as a wallpaper.

    +

    But this feature is not only about customization - it allows to set different colors and wallpaper for different user profiles and even specific conversations. You can also choose different themes for different chat profiles.

    +

    In case you use different identities for different conversations, it helps avoiding mistakes.

    +

    Group improvements

    +

    This version adds additional group configuration options to allow sending images, files and media, and also SimpleX links only to group administrators and owners. So with this release group owners can have more control over content shared in the groups.

    +

    We also stopped unnecessary traffic caused by the members who became inactive without leaving the groups - it should substantially reduce traffic and battery consumption to the users who send messages in large groups.

    +

    SimpleX network

    +

    Some links to answer the most common questions:

    +

    How can SimpleX deliver messages without user identifiers.

    +

    What are the risks to have identifiers assigned to the users.

    +

    Technical details and limitations.

    +

    Frequently asked questions.

    +

    Please also see our website.

    +

    Help us with donations

    +

    Huge thank you to everybody who donates to SimpleX Chat!

    +

    We are planning a 3rd party security audit for the protocols and cryptography design in July 2024, and also the security audit for an implementation in December 2024/January 2025, and it would hugely help us if some part of this $50,000+ expense is covered with donations.

    +

    We are prioritizing users privacy and security - it would be impossible without your support.

    +

    Our pledge to our users is that SimpleX protocols are and will remain open, and in public domain, - so anybody can build the future implementations of the clients and the servers. We are building SimpleX network based on the same principles as email and web, but much more private and secure.

    +

    Your donations help us raise more funds – any amount, even the price of the cup of coffee, makes a big difference for us.

    +

    See this section for the ways to donate.

    +

    Thank you,

    +

    Evgeny

    +

    SimpleX Chat founder

    diff --git a/blog/images/20240604-server.png b/blog/images/20240604-server.png new file mode 100644 index 0000000000..4ab610f3b9 Binary files /dev/null and b/blog/images/20240604-server.png differ diff --git a/blog/images/20240604-theme1.png b/blog/images/20240604-theme1.png new file mode 100644 index 0000000000..e9a1422a71 Binary files /dev/null and b/blog/images/20240604-theme1.png differ diff --git a/blog/images/20240604-theme2.png b/blog/images/20240604-theme2.png new file mode 100644 index 0000000000..e7972f6e05 Binary files /dev/null and b/blog/images/20240604-theme2.png differ diff --git a/blog/images/20240604-theme3.png b/blog/images/20240604-theme3.png new file mode 100644 index 0000000000..cb1763f380 Binary files /dev/null and b/blog/images/20240604-theme3.png differ diff --git a/blog/index.html b/blog/index.html index abf4a3e663..38cf2a3bea 100644 --- a/blog/index.html +++ b/blog/index.html @@ -409,6 +409,47 @@ window.addEventListener('scroll',changeHeaderBg); +
    +
    +
    + + + + + +
    +
    +
    +
    +

    + SimpleX network: private message routing, v5.8 released with IP address protection and chat themes +

    +

    + 04 Jun 2024 +

    + +
    +

    v5.8 is released:

    + +
      +
    • private message routing.
    • +
    • server transparency.
    • +
    • protect IP address when downloading files & media.
    • +
    • chat themes* for better conversation privacy.
    • +
    • group improvements - reduced traffic and additional preferences.
    • +
    • improved networking, message and file delivery.
    • +
    + +

    Also, we added Persian interface language*, thanks to our users and Weblate.

    + +

    * Android and desktop apps only.

    +
    + +
    + Read More +
    +
    +
    @@ -1740,7 +1781,7 @@ and why this move feels like an essential learning opportunity.

  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    Double ratchet algorithm

    It is used by two parties to exchange end-to-end encrypted messages. The parties will use some key agreement protocol to agree on the initial shared secret key.

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    +

    Wikipedia

    Double ratchet algorithm

    It is used by two parties to exchange end-to-end encrypted messages. The parties will use some key agreement protocol to agree on the initial shared secret key.

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    diff --git a/contact/index.html b/contact/index.html index a57e7778e9..0c8003d135 100644 --- a/contact/index.html +++ b/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/cs/contact/index.html b/cs/contact/index.html index 448d064dd5..bcf6e4a71f 100644 --- a/cs/contact/index.html +++ b/cs/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/cs/fdroid/index.html b/cs/fdroid/index.html index 108095ede1..fe2d084a39 100644 --- a/cs/fdroid/index.html +++ b/cs/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/cs/index.html b/cs/index.html index edfc919446..1323469cb7 100644 --- a/cs/index.html +++ b/cs/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/cs/invitation/index.html b/cs/invitation/index.html index 247e32fb3b..a58eedf58c 100644 --- a/cs/invitation/index.html +++ b/cs/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/de/contact/index.html b/de/contact/index.html index 39f4e84b59..4142def9b6 100644 --- a/de/contact/index.html +++ b/de/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/de/fdroid/index.html b/de/fdroid/index.html index 9c4a5cbf15..93241c32c8 100644 --- a/de/fdroid/index.html +++ b/de/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/de/index.html b/de/index.html index 9002594c78..2aafc2e5a8 100644 --- a/de/index.html +++ b/de/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Peer-to-peer

    Peer-to-peer (P2P) is the network architecture when participants have equal rights and communicate directly via a general purpose transport or overlay network. Unlike client-server architecture, all peers in a P2P network both provide and consume the resources. In the context of messaging, P2P architecture usually means that the messages are sent between peers, without user accounts or messages being stored on any servers. Examples are Tox, Briar, Cwtch and many others.

    +

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Peer-to-peer

    Peer-to-peer (P2P) is the network architecture when participants have equal rights and communicate directly via a general purpose transport or overlay network. Unlike client-server architecture, all peers in a P2P network both provide and consume the resources. In the context of messaging, P2P architecture usually means that the messages are sent between peers, without user accounts or messages being stored on any servers. Examples are Tox, Briar, Cwtch and many others.

    diff --git a/de/invitation/index.html b/de/invitation/index.html index 987f90c307..45fea9a905 100644 --- a/de/invitation/index.html +++ b/de/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/en/contact/index.html b/en/contact/index.html index a57e7778e9..0c8003d135 100644 --- a/en/contact/index.html +++ b/en/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/en/fdroid/index.html b/en/fdroid/index.html index f68050d62d..af9ce71424 100644 --- a/en/fdroid/index.html +++ b/en/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/en/index.html b/en/index.html index f5faa6b14c..3391f4c065 100644 --- a/en/index.html +++ b/en/index.html @@ -1697,7 +1697,7 @@ window.addEventListener('scroll',changeHeaderBg); SimpleX design, unlike most P2P networks, has no global user identifiers of any kind, even temporary, and only uses temporary pairwise identifiers, providing better anonymity and metadata protection.
  • - P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange. + P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange.
  • P2P implementations can be blocked by some Internet providers (like BitTorrent). SimpleX is transport agnostic - it can work over standard web protocols, e.g. WebSockets. @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    +

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    MITM attack

    The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    diff --git a/en/invitation/index.html b/en/invitation/index.html index e2aa2520e9..ad74f73d00 100644 --- a/en/invitation/index.html +++ b/en/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/es/contact/index.html b/es/contact/index.html index d642840fee..48afeac81a 100644 --- a/es/contact/index.html +++ b/es/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/es/fdroid/index.html b/es/fdroid/index.html index 6523e96e06..cf94d18e91 100644 --- a/es/fdroid/index.html +++ b/es/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/es/index.html b/es/index.html index 92ede9d7d3..3fa60adfb0 100644 --- a/es/index.html +++ b/es/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/es/invitation/index.html b/es/invitation/index.html index c56cdb60f5..0dcf163b9a 100644 --- a/es/invitation/index.html +++ b/es/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fdroid/index.html b/fdroid/index.html index f68050d62d..af9ce71424 100644 --- a/fdroid/index.html +++ b/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/feed.atom b/feed.atom index 431fd66f0d..6a942bad2f 100644 --- a/feed.atom +++ b/feed.atom @@ -2445,6 +2445,115 @@ file ---&gt; | XFTP | ------&gt; XFTP ----& <p>Rather than undermining privacy, to achieve child safety online users should be empowered with high standards for encryption and data control. For example, adopting a model where children (and users in general) cannot be discovered or approached on networks unless they or their parents permit it, similar to the SimpleX network privacy model. Intelligent multi-device synchronization could enable this oversight without compromising end-to-end encryption overall. It’s always possible to protect children without opening everyone, especially children themselves, to greater vulnerabilities due to such proposals.</p> <p>However, some recent legislative efforts have bizarrely moved in the opposite direction by seeking to limit parental access. The chilling truth is that the least private platforms have been major enablers of child exploitation. Eroding privacy protections on other services will only aid criminals further, not protect children. Preserving strong encryption and user privacy must be the foundation for any credible effort to combat online child exploitation. Initiatives trading privacy for supposed safety are not just technically flawed, but would achieve the exact opposite of their stated intent. We must avoid being gaslighted by narratives that defy logic, and instead provide users with the highest possible standards for privacy protections as a core principle.</p> <p>Protecting end-to-end encryption without carving out backdoors or vulnerabilities should be non-negotiable for children's and everyone’s safety. It is critical to redirect the discourse to focus on taking genuine privacy further by protecting against <a href="https://simplex.chat/blog/20240416-dangers-of-metadata-in-messengers.html">metadata hoarding</a> and other means by which people’s data can be abused or subjected to surveillance.</p> + + + + + SimpleX network: private message routing, v5.8 released with IP address protection and chat themes + + + 04 Jun 2024 + https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html + <h1 id="simplex-network-private-message-routing-v58-released-with-ip-address-protection-and-chat-themes" tabindex="-1">SimpleX network: private message routing, v5.8 released with IP address protection and chat themes</h1> +<p><strong>Published:</strong> June 4, 2024</p> +<p>What's new in v5.8:</p> +<ul> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#private-message-routing">private message routing</a>.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#server-transparency">server transparency</a>.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#protect-ip-address-when-downloading-files--media">protect IP address when downloading files &amp; media</a>.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#chat-themes">chat themes</a> for better conversation privacy - in Android and desktop apps.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#group-improvements">group improvements</a> - reduced traffic and additional preferences.</li> +<li>improved networking, message and file delivery.</li> +</ul> +<p>Also, we added Persian interface language to the Android and desktop apps, thanks to <a href="https://github.com/simplex-chat/simplex-chat#help-translating-simplex-chat">our users and Weblate</a>.</p> +<h2 id="private-message-routing" tabindex="-1">Private message routing</h2> +<h3 id="whats-the-problem" tabindex="-1">What's the problem?</h3> +<img src="https://simplex.chat/blog/images/simplex-explained.svg" width="37%" class="float-right" /> +<p>SimpleX network design has always been focussed on protecting user identity on the messaging protocol level - there is no user profile identifiers of any kind in the protocol design, not even random numbers or cryptographic keys.</p> +<p>Until this release though, SimpleX network had no built-in protection of user transport identities - IP addresses. As previously the users could only choose which messaging relays to use to receive messages, these relays could observe the IP addresses of the senders, and if these relays were controlled by the recipients, the recipients themselves could observe them too - either by modifying server code or simply by tracking all connecting IP addresses.</p> +<p>To work around this limitation, many users connected to SimpleX network relays via Tor or VPN - so that the recipients' relays could not observe IP addresses of the users when they send messages. Still, it was the most important and the most criticized limitation of SimpleX network for the users.</p> +<h3 id="why-didnt-we-just-embed-tor-in-the-app" tabindex="-1">Why didn't we just embed Tor in the app?</h3> +<p>Tor is the best transport overlay network in existence, and it provides network anonymity for millions of Internet users.</p> +<p>SimpleX Chat has many integration points with Tor:</p> +<ul> +<li>it allows <a href="https://simplex.chat/blog/20220901-simplex-chat-v3.2-incognito-mode.html#using-onion-server-addresses-with-tor">dual server addresses</a>, when the same messaging relay can be reached both via Tor and via clearnet.</li> +<li>it utilises Tor's SOCKS proxy &quot;isolate-by-auth&quot; feature to create a new Tor circuit for each user profile, and with an additional option - for each contact. Per-contact <a href="https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation">transport isolation</a> is still experimental, as it doesn't work if you connect to groups with many members, and it's only available if you enable developer tools.</li> +</ul> +<p>Many SimpleX network design ideas are borrowed from Tor network design:</p> +<ul> +<li>mitigation of <a href="https://simplex.chat/docs/glossary.html#man-in-the-middle-attack">MITM attack</a> on client-server connection is done in the same way as Tor relays do it - the fingerprint of offline certificate is included in server address and validated by the client.</li> +<li>the private routing itself uses the approach similar to onion routing, by adding encryption layers on each hop.</li> +<li>we are also considering to implement Tor's <a href="https://blog.torproject.org/introducing-proof-of-work-defense-for-onion-services/">Proof-of-work DoS defence</a> mechanism.</li> +</ul> +<p>So why didn't we just embed Tor into the messaging clients to provide IP address protection?</p> +<p>We believe that Tor may be the wrong solution for some users for one of the reasons:</p> +<ul> +<li>much higher latency, error rate and resource usage.</li> +<li>people who want to use Tor are better served by specialized apps, such as <a href="https://guardianproject.info/apps/org.torproject.android/">Orbot</a>.</li> +<li>Tor usage is restricted in some networks, so it would require complex configuration in the app UI.</li> +<li>some countries have legislative restrictions on Tor usage, so embedding Tor would require supporting multiple app versions, and it would leave the original problem unsolved in these countries.</li> +</ul> +<p>Also, while Tor solves the problem of IP address protection, it doesn't solve the problem of meta-data correlation by user's transport session. When the client connects to the messaging relays via Tor, the relays can still observe which messaging queues a user sends messages to via a single TCP connection. The client can mitigate it with per-contact transport isolation, but it uses too much traffic and battery for most users.</p> +<p>So we believed we would create more value to the users of SimpleX network with private message routing. This new message routing protocol provides IP address and transport session protection out of the box, once released. It can also be extended to support delayed delivery and other functions, improving both usability and transport privacy in the future.</p> +<p>At the same time, we plan to continue supporting Tor and other overlay networks. Any overlay network that supports SOCKS proxy with &quot;isolate-by-auth&quot; feature will work with SimpleX Chat app.</p> +<h3 id="what-is-private-message-routing-and-how-does-it-work" tabindex="-1">What is private message routing and how does it work?</h3> +<p>Private message routing is a major milestone for SimpleX network evolution. It is a new message routing protocol that protects both users' IP addresses and transport sessions from the messaging relays chosen by their contacts. Private message routing is, effectively, a 2-hop onion routing protocol inspired by Tor design, but with one important difference - the first (forwarding) relay is always chosen by message sender and the second (destination) - by the message recipient. In this way, neither side of the conversation can observe IP address or transport session of another.</p> +<p>At the same time, the relays chosen by the sending clients to forward the messages cannot observe to which connections (messaging queues) the messages are sent, because of the additional layer of end-to-end encryption between the sender and the destination relay, similar to how onion routing works in Tor network, and also thanks to the protocol design that avoids any repeated or non-random identifiers associated with the messages, that would otherwise allow correlating the messages sent to different connections as sent by the same user. Each message forwarded to the destination relay is additionally encrypted with one-time ephemeral key, to be independent of messages sent to different connections.</p> +<p>The routing protocol also prevents the possibility of MITM attack by the forwarding relay, which provides the certificate the session keys of the destination server to the sending client that are cryptographically signed by the same certificate that is included in destination server address, so the client can verify that the messages are sent to the intended destination, and not intercepted.</p> +<p>The diagram below shows all the encryption layers used in private message routing:</p> +<pre><code>----------------- ----------------- -- TLS -- ----------------- ----------------- +| | -- TLS -- | | -- f2d -- | | -- TLS -- | | +| | -- s2d -- | | -- s2d -- | | -- d2r -- | | +| Sending | -- e2e -- | sender's | -- e2e -- | recipient's | -- e2e -- | Receiving | +| client | message -&gt; | Forwarding | message -&gt; | Destination | message -&gt; | client | +| | -- e2e -- | relay | -- e2e -- | relay | -- e2e -- | | +| | -- s2d -- | | -- s2d -- | | -- d2r -- | | +| | -- TLS -- | | -- f2d -- | | -- TLS -- | | +----------------- ----------------- -- TLS -- ----------------- ----------------- +</code></pre> +<p><strong>e2e</strong> - two end-to-end encryption layers between <strong>sending</strong> and <strong>receiving</strong> clients, one of which uses double ratchet algorithm. These encryption layers are present in the previous version of message routing protocol too.</p> +<p><strong>s2d</strong> - encryption between the <strong>sending</strong> client and recipient's <strong>destination</strong> relay. This new encryption layer hides the message metadata (destination connection address and message notification flag) from the forwarding relay.</p> +<p><strong>f2d</strong> - additional new encryption layer between <strong>forwarding</strong> and <strong>destination</strong> relays, protecting from traffic correlation in case TLS is compromised - there are no identifiers or cyphertext in common between incoming and outgoing traffic of both relays inside TLS connection.</p> +<p><strong>d2r</strong> - additional encryption layer between destination relay and the recipient, also protecting from traffic correlation in case TLS is compromised.</p> +<p><strong>TLS</strong> - TLS 1.3 transport encryption.</p> +<p>For private routing to work, both the forwardig and the destination relays should support the updated messaging protocol - it is supported from v5.8 of the messaging relays. It is already released to all relays preset in the app, and available as a self-hosted server. We updated <a href="https://simplex.chat/docs/server.html">the guide</a> about how to host your own messaging relays.</p> +<p>Because many self-hosted relays did not upgrade yet, private routing is not enabled by default. To enable it, you can open <em>Network &amp; servers</em> settings in the app and change the settings in <em>Private message routing</em> section. We recommend setting <em>Private routing</em> option to <em>Unprotected</em> (to use it only with unknown relays and when not connecting via Tor) and <em>Allow downgrade</em> to <em>Yes</em> (so messages can still be delivered to the messaging relays that didn't upgrade yet) or to <em>When IP hidden</em> (in which case the messages will fail to deliver to unknown relays that didn't upgrade yet unless you connect to them via Tor).</p> +<p>Read more about the technical design of the private message routing in <a href="https://github.com/simplex-chat/simplexmq/blob/stable/rfcs/2023-09-12-second-relays.md">this document</a>.</p> +<h2 id="server-transparency" tabindex="-1">Server transparency</h2> +<img src="https://simplex.chat/blog/images/20240604-server.png" width="40%" class="float-to-right" /> +<p>Even with very limited information available to the messaging relays, there are <a href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md#simplex-messaging-protocol-server">several things</a> that would reduce users' privacy that a compromised relay can do.</p> +<p>We <a href="https://github.com/simplex-chat/simplexmq/blob/master/rfcs/2024-03-20-server-metadata.md">wrote previously</a> that it is important that server operators commit to running unmodified server code or disclose any code modifications, and also disclose server ownership and any other relevant information.</p> +<p>While we cannot require the operators of self-hosted and private servers to disclose any information about them (apart from which server code they use - this is the requirement of the AGPLv3 license to share this information with users connecting to the server), as we add other server operators to the app, it is important for the users to have all important information about these operators and servers location.</p> +<p>This server release adds server information page where all this information can be made available to the users. For example, this is <a href="https://smp8.simplex.im/" target="_blank">the information</a> about one of the servers preset in the app.</p> +<p>The updated server guide also includes <a href="https://simplex.chat/docs/server.html#">the instruction</a> about how to host this page for your server. It is generated as a static page when the server starts. We recommend using Caddy webserver to serve it.</p> +<h2 id="more-new-things-in-v58" tabindex="-1">More new things in v5.8</h2> +<h3 id="protect-ip-address-when-downloading-files-and-media" tabindex="-1">Protect IP address when downloading files &amp; media</h3> +<p>This version added the protection of your IP address when receiving files from unknown file servers without Tor. Images and voice messages won't automatically download from unknown servers too until you tap them, and confirm that you trust the file server where they were uploaded.</p> +<h3 id="chat-themes" tabindex="-1">Chat themes</h3> +<p><img src="https://simplex.chat/blog/images/20240604-theme1.png" width="244" class="float-to-right" /> <img src="https://simplex.chat/blog/images/20240604-theme2.png" width="244" class="float-to-right" /></p> +<p>In Android and desktop app you can now customize how the app looks by choosing wallpapers with one of the preset themes or choose your own image as a wallpaper.</p> +<p>But this feature is not only about customization - it allows to set different colors and wallpaper for different user profiles and even specific conversations. You can also choose different themes for different chat profiles.</p> +<p>In case you use different identities for different conversations, it helps avoiding mistakes.</p> +<h3 id="group-improvements" tabindex="-1">Group improvements</h3> +<p>This version adds additional group configuration options to allow sending images, files and media, and also SimpleX links only to group administrators and owners. So with this release group owners can have more control over content shared in the groups.</p> +<p>We also stopped unnecessary traffic caused by the members who became inactive without leaving the groups - it should substantially reduce traffic and battery consumption to the users who send messages in large groups.</p> +<h2 id="simplex-network" tabindex="-1">SimpleX network</h2> +<p>Some links to answer the most common questions:</p> +<p><a href="https://simplex.chat/blog/20220511-simplex-chat-v2-images-files.html#the-first-messaging-platform-without-user-identifiers">How can SimpleX deliver messages without user identifiers</a>.</p> +<p><a href="https://simplex.chat/blog/20220711-simplex-chat-v3-released-ios-notifications-audio-video-calls-database-export-import-protocol-improvements.html#why-having-users-identifiers-is-bad-for-the-users">What are the risks to have identifiers assigned to the users</a>.</p> +<p><a href="https://github.com/simplex-chat/simplex-chat#privacy-technical-details-and-limitations">Technical details and limitations</a>.</p> +<p><a href="https://simplex.chat/faq/index.html">Frequently asked questions</a>.</p> +<p>Please also see our <a href="https://simplex.chat/">website</a>.</p> +<h2 id="help-us-with-donations" tabindex="-1">Help us with donations</h2> +<p>Huge thank you to everybody who donates to SimpleX Chat!</p> +<p>We are planning a 3rd party security audit for the protocols and cryptography design in July 2024, and also the security audit for an implementation in December 2024/January 2025, and it would hugely help us if some part of this $50,000+ expense is covered with donations.</p> +<p>We are prioritizing users privacy and security - it would be impossible without your support.</p> +<p>Our pledge to our users is that SimpleX protocols are and will remain open, and in public domain, - so anybody can build the future implementations of the clients and the servers. We are building SimpleX network based on the same principles as email and web, but much more private and secure.</p> +<p>Your donations help us raise more funds – any amount, even the price of the cup of coffee, makes a big difference for us.</p> +<p>See <a href="https://github.com/simplex-chat/simplex-chat/tree/master#help-us-with-donations">this section</a> for the ways to donate.</p> +<p>Thank you,</p> +<p>Evgeny</p> +<p>SimpleX Chat founder</p> diff --git a/feed.rss b/feed.rss index 3fbf08c33b..b1dd70ec06 100644 --- a/feed.rss +++ b/feed.rss @@ -6,6 +6,116 @@ It allows you to stay up to date with the latest Blogs from SimpleX Chat. en + + SimpleX network: private message routing, v5.8 released with IP address protection and chat themes + https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html + <h1 id="simplex-network-private-message-routing-v58-released-with-ip-address-protection-and-chat-themes" tabindex="-1">SimpleX network: private message routing, v5.8 released with IP address protection and chat themes</h1> +<p><strong>Published:</strong> June 4, 2024</p> +<p>What's new in v5.8:</p> +<ul> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#private-message-routing">private message routing</a>.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#server-transparency">server transparency</a>.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#protect-ip-address-when-downloading-files--media">protect IP address when downloading files &amp; media</a>.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#chat-themes">chat themes</a> for better conversation privacy - in Android and desktop apps.</li> +<li><a href="https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html#group-improvements">group improvements</a> - reduced traffic and additional preferences.</li> +<li>improved networking, message and file delivery.</li> +</ul> +<p>Also, we added Persian interface language to the Android and desktop apps, thanks to <a href="https://github.com/simplex-chat/simplex-chat#help-translating-simplex-chat">our users and Weblate</a>.</p> +<h2 id="private-message-routing" tabindex="-1">Private message routing</h2> +<h3 id="whats-the-problem" tabindex="-1">What's the problem?</h3> +<img src="https://simplex.chat/blog/images/simplex-explained.svg" width="37%" class="float-right" /> +<p>SimpleX network design has always been focussed on protecting user identity on the messaging protocol level - there is no user profile identifiers of any kind in the protocol design, not even random numbers or cryptographic keys.</p> +<p>Until this release though, SimpleX network had no built-in protection of user transport identities - IP addresses. As previously the users could only choose which messaging relays to use to receive messages, these relays could observe the IP addresses of the senders, and if these relays were controlled by the recipients, the recipients themselves could observe them too - either by modifying server code or simply by tracking all connecting IP addresses.</p> +<p>To work around this limitation, many users connected to SimpleX network relays via Tor or VPN - so that the recipients' relays could not observe IP addresses of the users when they send messages. Still, it was the most important and the most criticized limitation of SimpleX network for the users.</p> +<h3 id="why-didnt-we-just-embed-tor-in-the-app" tabindex="-1">Why didn't we just embed Tor in the app?</h3> +<p>Tor is the best transport overlay network in existence, and it provides network anonymity for millions of Internet users.</p> +<p>SimpleX Chat has many integration points with Tor:</p> +<ul> +<li>it allows <a href="https://simplex.chat/blog/20220901-simplex-chat-v3.2-incognito-mode.html#using-onion-server-addresses-with-tor">dual server addresses</a>, when the same messaging relay can be reached both via Tor and via clearnet.</li> +<li>it utilises Tor's SOCKS proxy &quot;isolate-by-auth&quot; feature to create a new Tor circuit for each user profile, and with an additional option - for each contact. Per-contact <a href="https://simplex.chat/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html#transport-isolation">transport isolation</a> is still experimental, as it doesn't work if you connect to groups with many members, and it's only available if you enable developer tools.</li> +</ul> +<p>Many SimpleX network design ideas are borrowed from Tor network design:</p> +<ul> +<li>mitigation of <a href="https://simplex.chat/docs/glossary.html#man-in-the-middle-attack">MITM attack</a> on client-server connection is done in the same way as Tor relays do it - the fingerprint of offline certificate is included in server address and validated by the client.</li> +<li>the private routing itself uses the approach similar to onion routing, by adding encryption layers on each hop.</li> +<li>we are also considering to implement Tor's <a href="https://blog.torproject.org/introducing-proof-of-work-defense-for-onion-services/">Proof-of-work DoS defence</a> mechanism.</li> +</ul> +<p>So why didn't we just embed Tor into the messaging clients to provide IP address protection?</p> +<p>We believe that Tor may be the wrong solution for some users for one of the reasons:</p> +<ul> +<li>much higher latency, error rate and resource usage.</li> +<li>people who want to use Tor are better served by specialized apps, such as <a href="https://guardianproject.info/apps/org.torproject.android/">Orbot</a>.</li> +<li>Tor usage is restricted in some networks, so it would require complex configuration in the app UI.</li> +<li>some countries have legislative restrictions on Tor usage, so embedding Tor would require supporting multiple app versions, and it would leave the original problem unsolved in these countries.</li> +</ul> +<p>Also, while Tor solves the problem of IP address protection, it doesn't solve the problem of meta-data correlation by user's transport session. When the client connects to the messaging relays via Tor, the relays can still observe which messaging queues a user sends messages to via a single TCP connection. The client can mitigate it with per-contact transport isolation, but it uses too much traffic and battery for most users.</p> +<p>So we believed we would create more value to the users of SimpleX network with private message routing. This new message routing protocol provides IP address and transport session protection out of the box, once released. It can also be extended to support delayed delivery and other functions, improving both usability and transport privacy in the future.</p> +<p>At the same time, we plan to continue supporting Tor and other overlay networks. Any overlay network that supports SOCKS proxy with &quot;isolate-by-auth&quot; feature will work with SimpleX Chat app.</p> +<h3 id="what-is-private-message-routing-and-how-does-it-work" tabindex="-1">What is private message routing and how does it work?</h3> +<p>Private message routing is a major milestone for SimpleX network evolution. It is a new message routing protocol that protects both users' IP addresses and transport sessions from the messaging relays chosen by their contacts. Private message routing is, effectively, a 2-hop onion routing protocol inspired by Tor design, but with one important difference - the first (forwarding) relay is always chosen by message sender and the second (destination) - by the message recipient. In this way, neither side of the conversation can observe IP address or transport session of another.</p> +<p>At the same time, the relays chosen by the sending clients to forward the messages cannot observe to which connections (messaging queues) the messages are sent, because of the additional layer of end-to-end encryption between the sender and the destination relay, similar to how onion routing works in Tor network, and also thanks to the protocol design that avoids any repeated or non-random identifiers associated with the messages, that would otherwise allow correlating the messages sent to different connections as sent by the same user. Each message forwarded to the destination relay is additionally encrypted with one-time ephemeral key, to be independent of messages sent to different connections.</p> +<p>The routing protocol also prevents the possibility of MITM attack by the forwarding relay, which provides the certificate the session keys of the destination server to the sending client that are cryptographically signed by the same certificate that is included in destination server address, so the client can verify that the messages are sent to the intended destination, and not intercepted.</p> +<p>The diagram below shows all the encryption layers used in private message routing:</p> +<pre><code>----------------- ----------------- -- TLS -- ----------------- ----------------- +| | -- TLS -- | | -- f2d -- | | -- TLS -- | | +| | -- s2d -- | | -- s2d -- | | -- d2r -- | | +| Sending | -- e2e -- | sender's | -- e2e -- | recipient's | -- e2e -- | Receiving | +| client | message -&gt; | Forwarding | message -&gt; | Destination | message -&gt; | client | +| | -- e2e -- | relay | -- e2e -- | relay | -- e2e -- | | +| | -- s2d -- | | -- s2d -- | | -- d2r -- | | +| | -- TLS -- | | -- f2d -- | | -- TLS -- | | +----------------- ----------------- -- TLS -- ----------------- ----------------- +</code></pre> +<p><strong>e2e</strong> - two end-to-end encryption layers between <strong>sending</strong> and <strong>receiving</strong> clients, one of which uses double ratchet algorithm. These encryption layers are present in the previous version of message routing protocol too.</p> +<p><strong>s2d</strong> - encryption between the <strong>sending</strong> client and recipient's <strong>destination</strong> relay. This new encryption layer hides the message metadata (destination connection address and message notification flag) from the forwarding relay.</p> +<p><strong>f2d</strong> - additional new encryption layer between <strong>forwarding</strong> and <strong>destination</strong> relays, protecting from traffic correlation in case TLS is compromised - there are no identifiers or cyphertext in common between incoming and outgoing traffic of both relays inside TLS connection.</p> +<p><strong>d2r</strong> - additional encryption layer between destination relay and the recipient, also protecting from traffic correlation in case TLS is compromised.</p> +<p><strong>TLS</strong> - TLS 1.3 transport encryption.</p> +<p>For private routing to work, both the forwardig and the destination relays should support the updated messaging protocol - it is supported from v5.8 of the messaging relays. It is already released to all relays preset in the app, and available as a self-hosted server. We updated <a href="https://simplex.chat/docs/server.html">the guide</a> about how to host your own messaging relays.</p> +<p>Because many self-hosted relays did not upgrade yet, private routing is not enabled by default. To enable it, you can open <em>Network &amp; servers</em> settings in the app and change the settings in <em>Private message routing</em> section. We recommend setting <em>Private routing</em> option to <em>Unprotected</em> (to use it only with unknown relays and when not connecting via Tor) and <em>Allow downgrade</em> to <em>Yes</em> (so messages can still be delivered to the messaging relays that didn't upgrade yet) or to <em>When IP hidden</em> (in which case the messages will fail to deliver to unknown relays that didn't upgrade yet unless you connect to them via Tor).</p> +<p>Read more about the technical design of the private message routing in <a href="https://github.com/simplex-chat/simplexmq/blob/stable/rfcs/2023-09-12-second-relays.md">this document</a>.</p> +<h2 id="server-transparency" tabindex="-1">Server transparency</h2> +<img src="https://simplex.chat/blog/images/20240604-server.png" width="40%" class="float-to-right" /> +<p>Even with very limited information available to the messaging relays, there are <a href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md#simplex-messaging-protocol-server">several things</a> that would reduce users' privacy that a compromised relay can do.</p> +<p>We <a href="https://github.com/simplex-chat/simplexmq/blob/master/rfcs/2024-03-20-server-metadata.md">wrote previously</a> that it is important that server operators commit to running unmodified server code or disclose any code modifications, and also disclose server ownership and any other relevant information.</p> +<p>While we cannot require the operators of self-hosted and private servers to disclose any information about them (apart from which server code they use - this is the requirement of the AGPLv3 license to share this information with users connecting to the server), as we add other server operators to the app, it is important for the users to have all important information about these operators and servers location.</p> +<p>This server release adds server information page where all this information can be made available to the users. For example, this is <a href="https://smp8.simplex.im/" target="_blank">the information</a> about one of the servers preset in the app.</p> +<p>The updated server guide also includes <a href="https://simplex.chat/docs/server.html#">the instruction</a> about how to host this page for your server. It is generated as a static page when the server starts. We recommend using Caddy webserver to serve it.</p> +<h2 id="more-new-things-in-v58" tabindex="-1">More new things in v5.8</h2> +<h3 id="protect-ip-address-when-downloading-files-and-media" tabindex="-1">Protect IP address when downloading files &amp; media</h3> +<p>This version added the protection of your IP address when receiving files from unknown file servers without Tor. Images and voice messages won't automatically download from unknown servers too until you tap them, and confirm that you trust the file server where they were uploaded.</p> +<h3 id="chat-themes" tabindex="-1">Chat themes</h3> +<p><img src="https://simplex.chat/blog/images/20240604-theme1.png" width="244" class="float-to-right" /> <img src="https://simplex.chat/blog/images/20240604-theme2.png" width="244" class="float-to-right" /></p> +<p>In Android and desktop app you can now customize how the app looks by choosing wallpapers with one of the preset themes or choose your own image as a wallpaper.</p> +<p>But this feature is not only about customization - it allows to set different colors and wallpaper for different user profiles and even specific conversations. You can also choose different themes for different chat profiles.</p> +<p>In case you use different identities for different conversations, it helps avoiding mistakes.</p> +<h3 id="group-improvements" tabindex="-1">Group improvements</h3> +<p>This version adds additional group configuration options to allow sending images, files and media, and also SimpleX links only to group administrators and owners. So with this release group owners can have more control over content shared in the groups.</p> +<p>We also stopped unnecessary traffic caused by the members who became inactive without leaving the groups - it should substantially reduce traffic and battery consumption to the users who send messages in large groups.</p> +<h2 id="simplex-network" tabindex="-1">SimpleX network</h2> +<p>Some links to answer the most common questions:</p> +<p><a href="https://simplex.chat/blog/20220511-simplex-chat-v2-images-files.html#the-first-messaging-platform-without-user-identifiers">How can SimpleX deliver messages without user identifiers</a>.</p> +<p><a href="https://simplex.chat/blog/20220711-simplex-chat-v3-released-ios-notifications-audio-video-calls-database-export-import-protocol-improvements.html#why-having-users-identifiers-is-bad-for-the-users">What are the risks to have identifiers assigned to the users</a>.</p> +<p><a href="https://github.com/simplex-chat/simplex-chat#privacy-technical-details-and-limitations">Technical details and limitations</a>.</p> +<p><a href="https://simplex.chat/faq/index.html">Frequently asked questions</a>.</p> +<p>Please also see our <a href="https://simplex.chat/">website</a>.</p> +<h2 id="help-us-with-donations" tabindex="-1">Help us with donations</h2> +<p>Huge thank you to everybody who donates to SimpleX Chat!</p> +<p>We are planning a 3rd party security audit for the protocols and cryptography design in July 2024, and also the security audit for an implementation in December 2024/January 2025, and it would hugely help us if some part of this $50,000+ expense is covered with donations.</p> +<p>We are prioritizing users privacy and security - it would be impossible without your support.</p> +<p>Our pledge to our users is that SimpleX protocols are and will remain open, and in public domain, - so anybody can build the future implementations of the clients and the servers. We are building SimpleX network based on the same principles as email and web, but much more private and secure.</p> +<p>Your donations help us raise more funds – any amount, even the price of the cup of coffee, makes a big difference for us.</p> +<p>See <a href="https://github.com/simplex-chat/simplex-chat/tree/master#help-us-with-donations">this section</a> for the ways to donate.</p> +<p>Thank you,</p> +<p>Evgeny</p> +<p>SimpleX Chat founder</p> + + + + 04 Jun 2024 + SimpleX Chat + https://simplex.chat/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html + Protecting Children's Safety Requires End-to-End Encryption https://simplex.chat/blog/20240601-protecting-children-safety-requires-e2e-encryption.html diff --git a/fi/contact/index.html b/fi/contact/index.html index 73506ac2fa..1de99e0d8e 100644 --- a/fi/contact/index.html +++ b/fi/contact/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fi/fdroid/index.html b/fi/fdroid/index.html index 51204bf567..7cfe0cd61d 100644 --- a/fi/fdroid/index.html +++ b/fi/fdroid/index.html @@ -624,7 +624,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fi/index.html b/fi/index.html index 73a23ac010..3e0f9f9217 100644 --- a/fi/index.html +++ b/fi/index.html @@ -2047,7 +2047,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fi/invitation/index.html b/fi/invitation/index.html index 797406e573..a5dc6fe6c8 100644 --- a/fi/invitation/index.html +++ b/fi/invitation/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fr/contact/index.html b/fr/contact/index.html index 0ef6d2a2d3..3b7d42e469 100644 --- a/fr/contact/index.html +++ b/fr/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fr/fdroid/index.html b/fr/fdroid/index.html index f1e20201b3..f6ff098f0c 100644 --- a/fr/fdroid/index.html +++ b/fr/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fr/index.html b/fr/index.html index 309317650e..e2c186f8df 100644 --- a/fr/index.html +++ b/fr/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/fr/invitation/index.html b/fr/invitation/index.html index 8d5f6e5552..3190b23073 100644 --- a/fr/invitation/index.html +++ b/fr/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/he/contact/index.html b/he/contact/index.html index d9e107d476..5fb680124e 100644 --- a/he/contact/index.html +++ b/he/contact/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/he/fdroid/index.html b/he/fdroid/index.html index a47ea53200..d52a65d457 100644 --- a/he/fdroid/index.html +++ b/he/fdroid/index.html @@ -624,7 +624,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/he/index.html b/he/index.html index a9258c7199..a280834e88 100644 --- a/he/index.html +++ b/he/index.html @@ -2047,7 +2047,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/he/invitation/index.html b/he/invitation/index.html index e8b1ecabac..9982cd377b 100644 --- a/he/invitation/index.html +++ b/he/invitation/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/hu/contact/index.html b/hu/contact/index.html index bc1cf472b3..4ee2ad340f 100644 --- a/hu/contact/index.html +++ b/hu/contact/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/hu/fdroid/index.html b/hu/fdroid/index.html index c92177e621..16bf7d1c61 100644 --- a/hu/fdroid/index.html +++ b/hu/fdroid/index.html @@ -624,7 +624,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/hu/index.html b/hu/index.html index cc2b1f0262..dc04d197de 100644 --- a/hu/index.html +++ b/hu/index.html @@ -2047,7 +2047,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/hu/invitation/index.html b/hu/invitation/index.html index ec36450508..26b6e526fa 100644 --- a/hu/invitation/index.html +++ b/hu/invitation/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/index.html b/index.html index f5faa6b14c..3391f4c065 100644 --- a/index.html +++ b/index.html @@ -1697,7 +1697,7 @@ window.addEventListener('scroll',changeHeaderBg); SimpleX design, unlike most P2P networks, has no global user identifiers of any kind, even temporary, and only uses temporary pairwise identifiers, providing better anonymity and metadata protection.
  • - P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange. + P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange.
  • P2P implementations can be blocked by some Internet providers (like BitTorrent). SimpleX is transport agnostic - it can work over standard web protocols, e.g. WebSockets. @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    +

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    MITM attack

    The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    diff --git a/invitation/index.html b/invitation/index.html index e2aa2520e9..ad74f73d00 100644 --- a/invitation/index.html +++ b/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/it/contact/index.html b/it/contact/index.html index fe434e12d7..8c44051674 100644 --- a/it/contact/index.html +++ b/it/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/it/fdroid/index.html b/it/fdroid/index.html index 43308e723c..cc1632caee 100644 --- a/it/fdroid/index.html +++ b/it/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/it/index.html b/it/index.html index feb50512ea..50617018d3 100644 --- a/it/index.html +++ b/it/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    +

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    diff --git a/it/invitation/index.html b/it/invitation/index.html index e74e89c6db..c3900ffb81 100644 --- a/it/invitation/index.html +++ b/it/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ja/contact/index.html b/ja/contact/index.html index 1ab2d60225..0b0bf58278 100644 --- a/ja/contact/index.html +++ b/ja/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ja/fdroid/index.html b/ja/fdroid/index.html index 57faf09504..ac66ea346c 100644 --- a/ja/fdroid/index.html +++ b/ja/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ja/index.html b/ja/index.html index 3cf48b41b0..e707da971e 100644 --- a/ja/index.html +++ b/ja/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ja/invitation/index.html b/ja/invitation/index.html index 4e4e6704e2..a6fab4df1b 100644 --- a/ja/invitation/index.html +++ b/ja/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/nl/contact/index.html b/nl/contact/index.html index aae16ead73..54ea212d5b 100644 --- a/nl/contact/index.html +++ b/nl/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/nl/fdroid/index.html b/nl/fdroid/index.html index f2eb55ef38..4413af8901 100644 --- a/nl/fdroid/index.html +++ b/nl/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/nl/index.html b/nl/index.html index 5a176c49ef..52969db83b 100644 --- a/nl/index.html +++ b/nl/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/nl/invitation/index.html b/nl/invitation/index.html index 38a92692eb..48be098fa6 100644 --- a/nl/invitation/index.html +++ b/nl/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/pl/contact/index.html b/pl/contact/index.html index dc3b79662e..1dc23993d7 100644 --- a/pl/contact/index.html +++ b/pl/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/pl/fdroid/index.html b/pl/fdroid/index.html index e422657ebc..74210e53cb 100644 --- a/pl/fdroid/index.html +++ b/pl/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/pl/index.html b/pl/index.html index 6f5470d2b2..5de343413c 100644 --- a/pl/index.html +++ b/pl/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    +

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    diff --git a/pl/invitation/index.html b/pl/invitation/index.html index 1c3fa29c1e..cb81b3cce3 100644 --- a/pl/invitation/index.html +++ b/pl/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/pt_BR/contact/index.html b/pt_BR/contact/index.html index fee34c528b..d616c0ec23 100644 --- a/pt_BR/contact/index.html +++ b/pt_BR/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/pt_BR/fdroid/index.html b/pt_BR/fdroid/index.html index b9175e1eba..374556c05a 100644 --- a/pt_BR/fdroid/index.html +++ b/pt_BR/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/pt_BR/index.html b/pt_BR/index.html index d0b0086cbd..331a20eee9 100644 --- a/pt_BR/index.html +++ b/pt_BR/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    +

    Wikipedia

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    diff --git a/pt_BR/invitation/index.html b/pt_BR/invitation/index.html index f9b8e26b48..10cc1e601d 100644 --- a/pt_BR/invitation/index.html +++ b/pt_BR/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ru/contact/index.html b/ru/contact/index.html index 0d7e7f9732..f79370848c 100644 --- a/ru/contact/index.html +++ b/ru/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ru/fdroid/index.html b/ru/fdroid/index.html index d8f25428ce..e2a4106d80 100644 --- a/ru/fdroid/index.html +++ b/ru/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ru/index.html b/ru/index.html index e2f2fd79ca..6dfa44708b 100644 --- a/ru/index.html +++ b/ru/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/ru/invitation/index.html b/ru/invitation/index.html index d4d5fa31f4..b08d9ab4ef 100644 --- a/ru/invitation/index.html +++ b/ru/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/uk/contact/index.html b/uk/contact/index.html index 6cb49a2ef6..af72b8ac2d 100644 --- a/uk/contact/index.html +++ b/uk/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/uk/fdroid/index.html b/uk/fdroid/index.html index 7c14dd3179..b6fe6e83fb 100644 --- a/uk/fdroid/index.html +++ b/uk/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/uk/index.html b/uk/index.html index 22ec2516a7..64517741df 100644 --- a/uk/index.html +++ b/uk/index.html @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/uk/invitation/index.html b/uk/invitation/index.html index 5d509c9250..e9123131bf 100644 --- a/uk/invitation/index.html +++ b/uk/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/zh_Hans/contact/index.html b/zh_Hans/contact/index.html index 6d0f0c7e5a..7d142fd063 100644 --- a/zh_Hans/contact/index.html +++ b/zh_Hans/contact/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/zh_Hans/fdroid/index.html b/zh_Hans/fdroid/index.html index 1f965b95a9..6f44e7f465 100644 --- a/zh_Hans/fdroid/index.html +++ b/zh_Hans/fdroid/index.html @@ -632,7 +632,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/zh_Hans/index.html b/zh_Hans/index.html index 3817b1d67f..d927a597de 100644 --- a/zh_Hans/index.html +++ b/zh_Hans/index.html @@ -1697,7 +1697,7 @@ window.addEventListener('scroll',changeHeaderBg); 与大多数 P2P 网络不同,SimpleX 在设计上没有任何类型的全局用户标识符,甚至临时的也没有。SimpleX 仅使用临时的成对标识符,提供更好的匿名性和元数据保护。
  • - P2P 并未解决中间人攻击(MITM Attack) 问题。大多数现有的 P2P 实现没有使用带外通讯来进行初始密钥的交换,而 SimpleX 使用带外通讯,或者在某些情况下,使用预先存在的安全和可信连接来进行初始密钥交换。 + P2P 并未解决中间人攻击(MITM attack) 问题。大多数现有的 P2P 实现没有使用带外通讯来进行初始密钥的交换,而 SimpleX 使用带外通讯,或者在某些情况下,使用预先存在的安全和可信连接来进行初始密钥交换。
  • P2P 实现(如 BitTorrent)可能会被某些互联网提供商阻止。 SimpleX 与传输协议无关——它可以在标准网络协议上工作,例如 WebSockets。 @@ -2055,7 +2055,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    MITM attack

    The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.

    diff --git a/zh_Hans/invitation/index.html b/zh_Hans/invitation/index.html index fe71d2eac9..7202582f24 100644 --- a/zh_Hans/invitation/index.html +++ b/zh_Hans/invitation/index.html @@ -793,7 +793,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/zh_Hant/contact/index.html b/zh_Hant/contact/index.html index 9961b4960a..4d95796cd6 100644 --- a/zh_Hant/contact/index.html +++ b/zh_Hant/contact/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/zh_Hant/fdroid/index.html b/zh_Hant/fdroid/index.html index 6ae9983d50..d42ed4cfcf 100644 --- a/zh_Hant/fdroid/index.html +++ b/zh_Hant/fdroid/index.html @@ -624,7 +624,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia

    diff --git a/zh_Hant/index.html b/zh_Hant/index.html index 394c130246..ea7717e15e 100644 --- a/zh_Hant/index.html +++ b/zh_Hant/index.html @@ -1689,7 +1689,7 @@ window.addEventListener('scroll',changeHeaderBg); SimpleX design, unlike most P2P networks, has no global user identifiers of any kind, even temporary, and only uses temporary pairwise identifiers, providing better anonymity and metadata protection.
  • - P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange. + P2P does not solve MITM attack problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange.
  • P2P implementations can be blocked by some Internet providers (like BitTorrent). SimpleX is transport agnostic - it can work over standard web protocols, e.g. WebSockets. @@ -2047,7 +2047,7 @@ window.addEventListener("load", function () {
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    +

    Wikipedia

    End-to-end encryption

    A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers – telecom and Internet providers, malicious actors, and also the provider of the communication service.

    Forward secrecy

    Also known as perfect forward secrecy, it is a feature of a key agreement protocol that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.

    Key exchange

    Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for end-to-end encryption to work.

    MITM attack

    The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.

    Overlay network

    Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.

    diff --git a/zh_Hant/invitation/index.html b/zh_Hant/invitation/index.html index 2b7db52f65..74d56811e8 100644 --- a/zh_Hant/invitation/index.html +++ b/zh_Hant/invitation/index.html @@ -785,7 +785,7 @@ window.addEventListener('scroll',changeHeaderBg);
  • mitigation of man-in-the-middle attack on client-client out-of-band channel when sending the invitation,
  • rotation of delivery queues to reduce efficiency of traffic analysis,
  • etc.
  • -

    Wikipedia

    +

    Wikipedia