• 5 posts
  • 183 comments
Joined 2 years ago
Cake day: April 27th, 2024
  • Huh - you’re right. I went back to Signal’s X3DH spec because I was sure I was right, but it seems I misremembered how the “prekey bundles” work: Users publish these to the server, allowing (in my original assumption) for the server to just swap them out for a server/attacker-controlled key bundle for each Alice and Bob.

    However, when Alice wants to send Bob an initial message and she gets a forged prekey bundle, Bob will simply not be able to derive the same key and communication will fail, because Bob knows what his SPK private key is, while the server only knows the public key.

  • A compromised server would allow the server to man-in-the-middle all new connections (as in, if Alice and Bob have never talked to each other before, the Server/Eva can MITM the x3dh key exchange and all subsequent communication). That’s why verifying your contact’s signatures out-of-band is so important.

    (And if you did verify signatures in this case, then the issue would immediately be apparent, yes.)

    Edit: I was wrong. See below.

  • I mean, how can we feel superior if we are not wasting huge amounts of time setting things up!?

    Why, by boasting that it’s so easy, just look at that, it is only two options you need to set thanks to the 80 custom modules I’ve written to abstract the abstractions from nixpkgs!

    I WISH I could put an /s here, but I cannot.

  • Ehm… I’m also on Nixos and I’d say it’s super trivial.

    services.openssh = {
      enable = true;
      settings = {
        PasswordAuthentication = false;
        PermitRootLogin = "no";
      };
    };
    
    users.users.<name>.openssh.authorizedKeys.keys = [ list of pubkeys ideally read from file in repo ];
    
  • The nice thing about SSH key-based access is, I either have the key and login succeeds, or I have no business trying to log in.

    That’s why my remote root server bans via fail2ban after a single failed login.

    Yes I’ve had to write support to get a KVM. Yes it’s still configured like this.

  • Eh… Not really. Qemu does a really good job with VM virtualizarion.

    I believe I could easily build containers instead of VMs from the nix config, but I actually do like having a full VM: since it’s running a full OS instead of an app, all the usual nix tooling just works on it.

    Also: In my day job, I actually have to deal quite a bit with containers (and kubernetes), and I just… don’t like it.