Copying login keychains between Macs fails on Secure Enclave Macs with Tahoe

(derflounder.wordpress.com)

48 points | by zdw 20 hours ago

9 comments

  • xmddmx 1 hour ago
    Disturbing if true, as it suggests my "everything" backups aren't really full backups at all.

    I wonder, if you have enabled iCloud keychain, does that provide another way to get your passwords back?

    Suppose my MacBook is stolen, but I still have my iPhone. Could I use the passwords app on the iPhone to retrieve my passwords. Would that include all of them or only a subset?

    • orbital-decay 20 minutes ago
      You don't have backups at all if you never tried restoring them
    • lapcat 47 minutes ago
      The iCloud keychain is separate from the login keychain. The Passwords app doesn't use the login keychain.
  • shenenee 3 hours ago
    This is pretty much how it's suppose to work...
    • lapcat 2 minutes ago
      > This is pretty much how it's suppose to work...

      No, it's not, and that's not how it ever worked in macOS 26.3 and earlier.

      This change was introduced in 26.4 for some reason.

    • winstonwinston 2 hours ago
      Maybe but this is unexpected if you need to restore from a backup..
      • ryandrake 2 hours ago
        It's unexpected to anyone with intuition about how a computer traditionally is supposed to work. As a general principle, as a user, I expect a file on one computer to be usable on another computer. Or, at the very least, if I need to obtain some other thing from the original computer to "unlock" that file, I should be able to do it. The idea of a file that is only usable on a particular computer feels weird.
        • GeekyBear 1 hour ago
          > As a general principle, as a user, I expect a file on one computer to be usable on another computer.

          As a general rule, I expect a file on an encrypted disk to be unreadable for anyone who lacks the encryption key(s).

          > if I need to obtain some other thing from the original computer to "unlock" that file, I should be able to do it.

          You can export your passwords to a plain text CSV from the original computer.

          • shaky-carrousel 1 hour ago
            As a general rule, I expect a file on an encrypted disk to be encrypted with a key derived from a password I provide.
            • wtallis 11 minutes ago
              I think it's time to update your expectations. Hardware security modules have been around for quite a while. You shouldn't assume that your chosen password is the only input to the key derivation, or even that the raw key itself will always be obtainable.
          • ftchd 1 hour ago
            As a general rule, if I'm the user of both disks I expect to have the encryption key(s).
          • josephcsible 53 minutes ago
            The right way to do that is FDE, where you can't even mount the filesystem to see the files without having the decryption key.
      • petronic 2 hours ago
        I've done Tahoe-to-Tahoe migration assistant moves between machines in recent months. No issues with login keychain migration.
        • winstonwinston 2 hours ago
          But that’s not backup restore? I’m thinking Time Machine restore on a new Mac when old one is no longer working. Or when the old one had to be wiped and restored.
        • lapcat 1 hour ago
          Migration Assistant uses the old Mac, which can unlock its login keychain and allow the keychain items to be copied.
          • pmontra 47 minutes ago
            What if the old Mac is dead, stolen, lost? Those are the scenarios in which one recovers on a new machine from a backup.
            • awakeasleep 11 minutes ago
              What information from your login keychain do you expect to need on your new computer?

              There's not really a plausible answer to that question, because the login keychain data is almost entirely specific to that host.

              To iron-man your argument: Apps that store account credentials to third party services will need to be signed in again.

              If you were using http basic auth for a website and saving that, then it was probably in there.

              Private keys and certificates you manually imported, or that were created by an application for your host. This is the closest to a plausible answer, imo.

            • lapcat 38 minutes ago
              Then you're in trouble.
      • __MatrixMan__ 2 hours ago
        Don't backup keys, rotate them.
        • gavinsyancey 2 hours ago
          I can't rotate my keys if I lose access to accounts because my computer died and my backup is useless.
          • __MatrixMan__ 1 hour ago
            Yeah, that's why secure enclaves embedded in complex devices are a bad idea.

            Hardware keys are the way:

            - Less likely to fail in the first place

            - Cheap enough to have several of so you can use one to log in and manage the others in the event of loss

            - Easy to move between devices

            - Less likely to use the auth handshake as a side channel for things you didn't consent to

            • pmontra 41 minutes ago
              Can you clone or sync hardware keys? Maybe they don't fail as much as computers do but they can be lost or stolen like the keys that we use to open (dumb) doors.

              My non hardware key is a keypass file that I update only on my laptop and I sync to my other devices. I have plenty of backups. It does also the TOTP required to login into some customers servers.

    • Retr0id 2 hours ago
      I'm more interested by the fact that it apparently didn't work this way before Tahoe.
      • pram 2 hours ago
        IIRC there are options for exportable and un-exportable private keys when you make one in the secure enclave. Going to guess Tahoe made them un-exportable by default.
        • what 1 hour ago
          As far as I know, you have never been able to import or export keys from the Secure Enclave. It’s more likely that previously keys were stored in the keychain and now they are generated in the SE by default.
          • pram 30 minutes ago
            Yes you can make private keys that are encrypted by the secure enclave, rather than stored inside it. The "sc_auth" tool on macos has a "ssh-exportable" variant
  • ok_dad 31 minutes ago
    It sounds like they are using envelope encryption and using the Secure Enclave to derive the row keys each time. Not really any easy way around that except they should provide a tool to export it, TBH. I am guessing they weren’t using envelope encryption before or they were deriving the row keys from the password. This is a secure design but more security usually means less usability these days.
  • dfabulich 2 hours ago
    Does the macoOS login keychain get backed up by Time Machine backups in a way that could restore the keychain if the original machine's Secure Enclave is lost or destroyed?
    • lapcat 1 hour ago
      Does the macoOS login keychain get backed up by Time Machine backups

      Yes

      > in a way that could restore the keychain if the original machine's Secure Enclave is lost or destroyed?

      Apparently not

      • dfabulich 1 hour ago
        "Apparently"? Is this something that can be tested with VMs?
        • lapcat 46 minutes ago
          I've tested with VMs. However, I'm unclear about the relationship if any between VMs and the secure enclave.
  • tencentshill 56 minutes ago
    It's always a good idea to plan to hang on to your old machine for a few weeks to ensure everything works properly on the new one. Apple makes that much easier to forget.
  • lapcat 45 minutes ago
    This was introduced, unannounced, in macOS 26.4! See my blog post for more information: https://lapcatsoftware.com/articles/2026/9/4.html
  • flyingshelf 2 hours ago
    And yet if you click export it will gladly print out a plaintext csv with your whole life in passwords. Doesn't even attempt to zip it with password or something.
    • ImPostingOnHN 2 hours ago
      that seems reasonable, as it is the lowest common denominator for interoperability

      what would be unfortunate is if it was in some format that couldn't be used by most other systems without extra work, and if the user wasn't able to use their own property to export their own passwords in a different format.

  • cute_boi 2 hours ago
    This is good.