Hacker News new | ask | show | jobs
by underpantsgnome 4209 days ago
I'll bite.

Cut power to the heat source/declaw the perforator/plug up the ink jet. I have physical access, after all.

Keurig is in the position that they can attach a number to each one of their coffee cups, and the machine will refuse to brew if the number doesn't prove the cup is authentic. If they give all the cups the same number, as they apparently have chosen here, than all anyone has to do is present that number again, and voila, the coffeemaker will execute whatever cup they feed it.

Maybe they get smart and give each and every cup a different password. Of course the machines have to recognize these passwords, so they have to start with a known list of length N, where N is the total number coffee cups they ever expect to sell for this line of machines. They put all these passwords through their favorite one-way function, stuff the hashes in a newline-delimited text file, and hope it fits in a few gigabytes. Now once the machine encounters a matching password, it brews one cup, but "crosses off" that password and won't brew for it again.

2 comments

Instead of starting with each machine having the entire list of numbers, wouldn't it just be easier to read each number it encounters, store it and then check future numbers against the stored list? There are sooo many more numbers my machine will never see. Why keep them all stored in all machines? And if they are concerned about running out of numbers and repeating them, there could be a timestamp attached to each locally stored number and have them expire from the list after X months. The chances that a person would save a bunch of K-cup tops to use to bypass the DRM 6 months later is pretty slim.
AFAIK, the original reason for the DRM was to prevent other companies from selling K-cups, so it would need a way to validate each cup, not just prevent reuse.
Doh! I totally forgot about that part. LOL
Nice, this should work. Although you missed the part where it uploads the crossed off password to the cloud so you can't give your used cups to your buddy.
Then it checks the number as you go to brew it. "Can't brew my coffee because the internet is down."