The creator of systemd (Lennart Poettering) has recently created a new company dedicated to bringing hardware attestation to open source software.

What might this entail? A previous blog post could provide some clues:

So, let’s see how I would build a desktop OS. The trust chain matters, from the boot loader all the way to the apps. This means all code that is run must be cryptographically validated before it is run. This is in fact where big distributions currently fail pretty badly. This is a fault of current Linux distributions though, not of SecureBoot in general.

If this technology is successful, the end result could be that we would see our Linux laptops one day being as locked down as an Iphone or Android device.

There are lots of others who are equally concerned about this possibility: https://news.ycombinator.com/item?id=46784572

  • lazynooblet@lazysoci.al
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    17 hours ago

    Secureboot uses certificates to verify integrity. The user is able to install new certificates. So I’d say it is the user? I’m not an expert though and their may be hardware out there that doesn’t allow new certificates.

    • furry toaster@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      10 hours ago

      AFAIK, the allowing the user to install and remove certificates is a x86_64 thing only, arm will happilly fuck you over, x86_64 UEFI implementations ARE REQUIRED TO add that feature to be spec compliant, this was a intentional decision by Intel and AMD to keep x86_64 open to new OS and not locked down to Windows which could one day be a sinking ship, so that x86_64 would not be at the mercy of Microsoft’s success and attachment to the platform

      • jj4211@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        53 minutes ago

        I have seen some platforms locked to Microsoft first party keys only. They boiled the frog by starting with it being optional, able to enroll your own keys, and Microsoft signing third party bootloaders, but now there exists a Microsoft-only certificate regime that at least some vendors have selected, or at least made a selectable option. The pitch being that Windows shops that don’t trust their users can be assured they aren’t deviating from the blessed windows os their IT trusts.

    • namingthingsiseasy@programming.devOP
      link
      fedilink
      English
      arrow-up
      19
      ·
      14 hours ago

      The user is able to install new certificates.

      That’s true today, but there’s no guarantee it will be true in the future. Google is already pushing for all software running on Android to be cryptographically verified and they (Google) are the only ones that control the signing keys. This means that they intend to kill off F-droid and all other software delivered outside the Google store.

      If Google is able to pull it off on Android, everyone else will try to do it on desktop OSes too - Linux included.

      • lmmarsano@group.lt
        link
        fedilink
        English
        arrow-up
        1
        ·
        17 minutes ago

        That’s true today, but there’s no guarantee it will be true in the future.

        It’s in the specification.

        The platform key establishes a trust relationship between the platform owner and the platform firmware. The platform owner enrolls the public half of the key (PKpub) into the platform firmware. The platform owner can later use the private half of the key (PKpriv) to change platform ownership or to enroll a Key Exchange Key. See “Enrolling The Platform Key” and “Clearing The Platform Key” for more information.

        The platform owner clears the public half of the Platform Key (PKpub) by deleting the Platform Key variable using UEFI Runtime Service SetVariable(). The data buffer submitted to the SetVariable() must be signed with the current PKpriv - see Variable Services for details. The name and GUID of the Platform Key variable are specified in Globally Defined Variables. The platform key may also be cleared using a secure platform-specific method. When the platform key is cleared, the global variable SetupMode must also be updated to 1.

        It’s a matter of clearing the platform key & enrolling your own platform key. I’ve done this before.

        Typically, computers with Secure Boot let us clear the platform key from the boot menu. (You can choose to purchase only those that do.) Some computer vendors let the customer provide public keys to ship preloaded.

        Secure Boot has always been for enabling the owner to enforce integrity of the boot process through cryptographic signatures. Linus Torvalds thought the feature makes sense.

        Linus: I actually think secure boot makes a lot of sense. I think we should sign our modules. I think we should use the technology to do cryptographic signatures to add security; and at the same time inside the open source community this is so unpopular that people haven’t really worked on it.

        It’s true that secure boot can be used for horribly, horribly bad things but using that as an argument against its existence at all is I think a bit naive and not necessarily right. Because if you do things right then it’s a really good thing. I would like my own machine to have the option to not boot any kernel, or boot loader, that is not signed by this signature.

    • hayvan@piefed.world
      link
      fedilink
      English
      arrow-up
      16
      ·
      16 hours ago

      That’s right. The user (or administrator if it’s a work machine) installs or removes acceptable certificates into firmware database. Typically a device you buy in the past 15 years or so comes with Microsoft certificates preinstalled, but it doesn’t have to stay like that.

    • tabular@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      11 hours ago

      Can’t say it’s obvious how to change certificates on my motherboard. Just updated the BIOS and had to turn off SecureBoot so it could boot into my Linux install (MSI B450 Tomahawk Max).

      • lazynooblet@lazysoci.al
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 hours ago

        Every bios I’ve used has 2 sets of certificates built in. The default one is the Microsoft production certificate and the Linux bootloader doesn’t match. But their should be another certificate for open source systems that will work.