Live data from Hacker News

Horcrux: Split your file into encrypted fragments

github.com

51–60 of 153 posts

Re: Horcrux: Split your file into encrypted fragments

#51
post #10

This is one of the most badass names for a project I have seen in a while!

It's inaccurate though. The whole point of horcruxes in the book is that Voldemort can always resurrect himself if one of them remains. This tool is the opposite: you need multiple parts to reconstruct the file.

He could not resurrect himself. He needed someone in not-ghost form, to collect some special items and perform a magical ritual. Some of the special items were also one-time use iirc.

Perhaps, this tool needs to additionally encrypt some of the pieces with the dna of one's father or whatever.

Re: Horcrux: Split your file into encrypted fragments

#53
post #27

Earlier quoted context omitted.

Yes, but no! Technically, horcruxes were backups, but the emotional weight of the concept came from splitting your soul, lessening your essence as you hedge against danger. Partial backups follow the spirit of the idea better. As an aside, I read the concept as an attack on promiscuity. "Whore crux". Contrast to Lord of the Rings' assault on marriage, where wearing the ring makes you invisible and slowly fade into no…

> Contrast to Lord of the Rings' assault on marriage, where wearing the ring makes you invisible and slowly fade into nothingness, "like butter being scraped over too much bread". Wait, what ? Eh...

Well, I think that's ostensible, as any reading of the author's biography can attest.

Re: Horcrux: Split your file into encrypted fragments

#54
I was just thinking about something like this problem. At $work, we use multi-signature signing to move cryptocurrency around, so that at least N of M officers of the company need to sign, to prove that "the company" actually intends a movement of funds to happen. This ensures that no single officer can embezzle funds; and it also ensures that an attacker would have to do some kind of multi-target simultaneous coordinated rubber-hose attack (rather than just waiting to kidnap one of us when we go on vacation) to get access to the funds.

I was trying to think of a way to extend that kind of security to the encryption of data — specifically the encryption of low-level root-account passwords (like an AWS account's root password). Shamir's Secret Sharing is the obvious first step... but you'd also then want two additional properties:

1. the decrypted secret should not be held even temporarily by any of the parties, but rather should be held by — and used "through" — a neutral system, so that the secret is reusable rather than needing to be burned the first time it's revealed

2. the neutral system — despite being likely owned by a third party! — should have no ability to exfiltrate the password into the hands of the third party.

I think this can be workable in the specific case of wanting to use the root password as an HMAC, by doing SSS decryption inside a single-shot non-durable abstract machine with homomorphically-encrypted memory, wrapped in a network daemon: the network daemon spins up a copy of the abstract machine; receives each SSS key split from its owner, feeding each as it receives it directly into the abstract machine; the abstract machine, after receiving sufficient key splits, signals to the daemon that it is now "empowered" to sign; and the daemon can then use the abstract machine to HMAC arbitrary plaintexts sent to it, until it exits, and the abstract machine's state is lost.

The real trick, though, would be making this work for HTTP Basic Auth over TLS, by delegating the generation of exactly one TLS frame — the one containing the Authorization header — to the abstract machine; where the network daemon would then act as an HTTP proxy, inserting this Authentication header into requests made through it. Having something like this could really improve security around the use of a lot of sensitive control-plane APIs!

---

Of course, in a corporate context, you probably have a third party you can trust with the plaintext — e.g. an Enterprise Password Manager service — so you can relax property 2. In such a case, you don't need a fancy abstract machine; you can just ask said service to build a feature allowing secrets to be configured to require N-of-M confirmations by ACLed team-members to unlock them; and to build another feature for "opaque secrets" that are never revealed to anyone, but instead are injected into an HTTP Authorization Proxy that the Enterprise Password Manager service spin up themselves on their backend.

But it's still fun to think about the case where your secret is so secret that you need to hide the plaintext from literally everyone but your co-conspiriators,

Re: Horcrux: Split your file into encrypted fragments

#55
post #43

What's the practical benefit over just sharding a decryption key and handing out multiple shards to each person?

1. You need all the shards of the key to decrypt the text instead of just reaching a threshold. 2. The full encrypted text is available to each person, making it vulnerable to a brute force attack at some point in the far future. I'm not entirely sure if this implementation actually covers that second point though. It could be including the entire encrypted text with each copy. But it would theoretically be possible…

The second point, yeah that's relevant.

On the first point, just give each person n-1 shards, each missing a different one. Then any 2 can decrypt. Or configure it for however many participants there are and they minimum number needed to encrypt.

Re: Horcrux: Split your file into encrypted fragments

#56
post #27
post #19

> Q) This isn't really in line with how horcruxes work in the harry potter universe! > A) It's pretty close! You can't allow any one horcrux to be used to resurrect the original file (and why would you that would be useless) but you can allow two horcruxes to do it (so only off by one). Checkmate HP fans. Well the whole point of hurcruxes is to have backup in several places. This tool to backup your backups in severa…

Yes, but no! Technically, horcruxes were backups, but the emotional weight of the concept came from splitting your soul, lessening your essence as you hedge against danger. Partial backups follow the spirit of the idea better. As an aside, I read the concept as an attack on promiscuity. "Whore crux". Contrast to Lord of the Rings' assault on marriage, where wearing the ring makes you invisible and slowly fade into no…

I don't recall reading anything about lessening the soul, maybe as a byproduct of the process but not something that was intentional.

Horcrux was to backup the soul and I believe any one fragment is enough to allow for recovery.

Re: Horcrux: Split your file into encrypted fragments

#57
post #40
post #27

Earlier quoted context omitted.

Yes, but no! Technically, horcruxes were backups, but the emotional weight of the concept came from splitting your soul, lessening your essence as you hedge against danger. Partial backups follow the spirit of the idea better. As an aside, I read the concept as an attack on promiscuity. "Whore crux". Contrast to Lord of the Rings' assault on marriage, where wearing the ring makes you invisible and slowly fade into no…

To be fair, the creator of HP is a crazy conservative. So, the idea of "Whore crux" being an attempt of fighting promiscuity isn't surprising.

[flagged]

Re: Horcrux: Split your file into encrypted fragments

#58
post #36

I can think of several ways to "take a password encrypted file and split it up in such a way that you can re-assemble it without all of its parts" but being able to do so without a password is where it's piqued my interest. This is one of those things that looks interesting to me as someone who enjoys security topics, algorithms and the like. I can see digging into the source code/reading about the techniques involve…

What about using it to share information with people for them to use in an emergency. Data is stored in multiple locations, but only someone with access to 3 of them would be able to read the data. The existing physical access controls would be the actual safety mechanism. A thief would have to break into 3 locations in order to get the data.

We could just encrypt the data and then split the password into three pieces and store those in different locations, but then you would have to store both the data and the password.

Re: Horcrux: Split your file into encrypted fragments

#59
post #27
post #19

> Q) This isn't really in line with how horcruxes work in the harry potter universe! > A) It's pretty close! You can't allow any one horcrux to be used to resurrect the original file (and why would you that would be useless) but you can allow two horcruxes to do it (so only off by one). Checkmate HP fans. Well the whole point of hurcruxes is to have backup in several places. This tool to backup your backups in severa…

Yes, but no! Technically, horcruxes were backups, but the emotional weight of the concept came from splitting your soul, lessening your essence as you hedge against danger. Partial backups follow the spirit of the idea better. As an aside, I read the concept as an attack on promiscuity. "Whore crux". Contrast to Lord of the Rings' assault on marriage, where wearing the ring makes you invisible and slowly fade into no…

I don't think these concepts occurred in Harry Potter or Lord of the Rings.

Is it possible you maybe you made these up?

Re: Horcrux: Split your file into encrypted fragments

#60

Earlier quoted context omitted.

> Contrast to Lord of the Rings' assault on marriage, where wearing the ring makes you invisible and slowly fade into nothingness, "like butter being scraped over too much bread". Wait, what ? Eh...

Well, I think that's ostensible, as any reading of the author's biography can attest.

I couldn't disagree more. You can easily twist his letters to his son to create this narrative. If you read it as a whole his message isn't at all anti-marriage, he was a devout Christian who believed wholeheartedly in marriage. His message was that marriage takes sacrifice, faith, and a conscious effort (in his opinion specifically on the side of the man). It's a bit Kierkegaardian.
Post reply on HN