• tias@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 months ago

    Surely some smart key exchange algorithm could be used for that, e.g. the CPU provides a public key to the TPM and the TPM encrypts the symmetric disk key with that public key. Similar to how TLS works.

    • xradeon@lemmy.one
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 months ago

      The private key would have to stored in clear text somewhere. Potentially if you had non volatile space on cpu that to store the private key, that might work. But if you’re going to do that, might as well just use an ftpm.

      • jet@hackertalks.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        Right and not to mention pairing the cpu and tpm for key exchange to avoid mitm attacks…

      • Lojcs@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        Just generate one anew. You don’t need to use the same one each time

        • xradeon@lemmy.one
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          What do you mean by that? Generate a new private/public key pair every time you setup a new TPM? Or when you boot the system or something?

          • Lojcs@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            9 months ago

            On each connection. Or boot. Whenever you need

            Edit: to be clear, this would still be vulnerable to mitm attacks without a user entered password on top but at least you can’t just read the secrets from the bus. E2: And having a password wouldn’t be fully secure without such a scheme neither

        • xradeon@lemmy.one
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          You can’t do that since vulnerability is the connection between the TPM and the CPU, you need to encrypt that path.

          • Lojcs@lemm.ee
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 months ago

            Pretty sure they meant if you need to keep a persistent public/private pair you can keep them in the tpm and initiate the exchange from there

            • laughterlaughter@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              9 months ago

              That’s correct. I’m guessing if it hasn’t been implemented yet, then there is some technical roadblock I’m currently missing.

          • laughterlaughter@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 months ago

            The TPM comes out from the factory with a private key stored in it. The CPU has the public key.

            You turn on the laptop for the first time, and the communication between the CPU and the TPM is encrypted from the start.

            That’s what I’m referring to. Can’t this be done? I’m guessing it’s not that easy because I’m sure computer designers have already considered this idea.