Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was struck when we incorporated our company and raised financing how much we still use ink and paper to keep track of things like corporate ownership. When signing so many documents I wanted to seal them with paraffin wax and send them to our lawyers via carrier pigeon.

In the case of Facebook, a multi-billion dollar company, it seems amazing that someone can come out of the woodwork and with a little effort in document tampering cause such a hullabaloo. It seems like too important of an issue to be inpart determined by "spacing, columns, and margins of page one of the Alleged Contract."

Of course, I don't know of a better system, just that the current system seems archaic. (You probably couldn't create a centralized "contract bureau" in the federal government, because many contracts are private, until someone sues.)



Of course, I don't know of a better system, just that the current system seems archaic. (You probably couldn't create a centralized "contract bureau" in the federal government, because many contracts are private, until someone sues.)

Of course you can! Only submit a short cryptographic hash (summary), instead of the plaintext. Along with the digital public-key signatures of the signing parties.

https://en.wikipedia.org/wiki/Cryptographic_hash_function

https://en.wikipedia.org/wiki/Digital_signature

You could even privatize it. There was at least one startup/concept like this on HN, but I forgot where.

(edit): Here's one discussion:

http://news.ycombinator.com/item?id=4618362


I used to write software for print manufacturing. Paper is high tech. It's also appropriate tech for many use cases.

In addition to privacy, paper is durable. Being physical, it's possible to safe guard the chain of custody. Paper is also largely tamper evident.

I'm still weirded out by digital signatures, both the crypto and fax kind. How are they challenged, verified, revoked? Electronic mediated transactions make sense when systems are double entry (credits and debits) so that each party has their own audit trail. But they seem rather virtual to me for things like transfer of ownership and voting.

Learning about the legalities of digital signatures is on my to do list.


I always wondered if there was a need for a cheaper, worldwide document certification system.

Of course you can get a notary to stamp a document or file it with the county clerk in your jurisdiction. But what about taking an MD5 of a PDF and printing it in the newspaper? Would that work?


A long time ago I posed md5's to usenet test groups when I wanted to prove I wrote something.

You have to worry about people breaking things. Raw MD5 is considered useless today, since there are tools that make two documents with the same MD5.

This would not necessarily invalidate all prior MD5s; if you published like that 10 years before people starting breaking MD5, that would be pretty good evidence you really did do it, unless your idea is so amazingly valuable that it was more worthwhile to try to forge documents instead of publicizing your research.

Using a few different HMACs in parallel would probably give you good proof.


Spoofed MD5s are a vulnerability when you execute software blindly, but the padding is obvious if you examine the source data.


That's no reason not to use a better algorithm. Weaknesses in MD5 are already well enough understood to make it useless for many applications, and weak crypto algorithms only get weaker, as new attacks are discovered and as technology progresses to make a broader range of things feasible.


Simpler: include in the contract a clause that says "the version of this text that counts is in a PDF with SHA1 23afb87c...".

You still need a way to prove that the other side really signed the document you hold, and willingly. Notaries work.

But this system is not forced - so it protects the side holding a real contract form the other side denying they signed, but does not protect you from a fraud turning up with a contract that you didn't really sign and claiming that you did, you just didn't bother to go to a notary with him.

If there were a way to publicly claim "from now on, only contracts signed by my private key count as really signed by me... But it's not easy to implement such a measure. Every one you sign contracts with needs a really easy way to check if you declared this in the past, otherwise you can fraud them by signing a contract only with a pen. And they need to be aware of this new law.



There's no technological problem with creating a "contract bureau" - just demand contracts to be in a somehow-digital format (scanned handwritten document counts) and have everyone send [SHA1(document) + names of entities signed on the document] to the bureau.

Only problem with demanding this is that you /want/ people to be able to sell their car without access to a computer. That, and authentication.


Ok, I've now seen reference to both MD5 and SHA1 w.r.t. digests which would have long shelf lives. Please either talk in generic terms, or suggest the use of an algorithm that doesn't have known collisions and/or suspected weakness.

I do understand that people are using these as a mental shorthand for "A one-way cryptographic hash", but when your instinctive exemplar of a digest algorithm is in the "not-recommended" category, it worries me that, in a context that matters (code or spec), you might accidentally type MD5 when you meant to type SHA3 or SHA-256


While I agree that stronger is better (and thus someone founding a contracts bureau for this should use the latest/greatest hash), I'm not sure collisions are a real risk here, since my understanding is that a collision is going to include a lot of junk to make the collision work. So any collision-based forgery is going to include large instances of complete gobbledegook so that it'll be really obvious in court that there was tampering.


Would collisions in MD5 really matter in case of legal documents? How would you use it to forge a contract? Take original, make alterations, then add data to the non-visible part of the file until hashes match? Wouldn't that be easy to detect? "What is that 15 Kb of stuff doing there? It is not normally part of pdf that any sane program would write."

Or are there some more sophisticated methods?


I can imagine (and therefore we should assume that the attacker can imagine with far more craftiness) several ways of hiding junk in a PDF.

E.g. How about in any binary content - embedded fonts, images etc.

My big concern is that in this scenario an attacker may have years to create an attack. One small part of designing a security protocol is understanding timeliness constraints.


So just use plain text.


The wordiness of legalese may actually be a place to pad. Also, extraneous terms and clauses that might sound plausible and have no bearing on what's actually being claimed.

Collision attacks are mitigated by careful examination coupled with a forbidding of extraneous data and a skepticism about possibly extraneous data - but I am not comfortable assuming they are defeated by it.


It is called escrow, and it is a longstanding industry.


That doesn't help in cases like these.

In order for it to help, a company or individual would need a way to say, "only contracts held in escrow are valid from the period from x to y" and have it hold up in court.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: