• boonhet@sopuli.xyz
    link
    fedilink
    arrow-up
    6
    ·
    2 months ago

    You know, I’ve been thinking…

    Signal’s end to end encrypted, yes… But we do the key exchange process through Signal’s servers, don’t we? How do we know they don’t store copies of the keys? Does the client have a mechanism in place to make sure the man in the middle doesn’t do anything funny? I haven’t actually delved very deep into the code, but it sounds like I should.

    And… Sure, their server code may be open source too, but nobody guarantees that that’s the code actually running on their servers.

      • someone@lemmy.today
        link
        fedilink
        arrow-up
        1
        ·
        4 days ago

        A US organization can be required by law to lie when they are contacted by the government under extreme penalties if they don’t do as they are told. There is no proof that Signal is really posting their real demands. They could be actually required to post everything except certain demands marked secret.

    • KubeRoot@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      How do we know they don’t store copies of the keys?

      I don’t know how Signal is built, but you can establish a secure communication channel through a channel that’s being listened in on, meaning the server doesn’t need to ever see the keys. Look up Diffie-Hellman for an example, an algorithm that lets two actors establish a shared secret without communicating enough information to reconstruct the secret.

      So if the client uses a secure key exchange algorithm (or straight up asymmetrical encryption) the server can’t just grab your keys - you just need a secure way to verify that your keys actually match, because what they could do is a man in the middle attack where they establish a secure channel with you and the person you’re messaging, and decrypt and reencrypt messages going both ways, being able to listen in and modify messages.