Crypto with Epoxy Tokens, Glass Balls and Lasers
Anonymous Coward writes "Scientists from MIT and ThingMagic have collaborated and developed an innovative crypto mechanism using epoxy tokens, glass spheres and lasers. They have actually created a physical one-way function that cannot be tampered, copied or faked! The full scoop can be found at MSNBC, and also at Nature, & TOI."
Great. They use a laser to convert the 3D arrangement of glass spheres in an epoxy matrix to a 2D 'light/dark' pattern.
A crummy piece of film exposed at the sensor plane, then developed, could be used to get around this. Lay the film on the 2D sensor, and voila - the 2D pattern is duplicated!
how is stealing speckle patterns gonna be any different from stealing credit card numbers from "secure" servers?
mmm... yeah... You see, we're putting the cover sheets on all TPS reports now before they go out...
This seems like a really good system, one that for once is almost impossible to forge. However, it seems to have a major flaw: Durability. The Nature article states that "a token with a hole half a millimetre across drilled through it gives a speckle pattern clearly distinguishable from the original." So what happens when (not if!) the card gets scratched and worn? Will it immediately stop functioning? These secure cards won't be worth much if they have to be replaced every month because of wear and tear... and with the system they are using, error correction isn't an option (defeats the whole purpose of the tokens since tampering with them would then become possible).
The concpet is pretty damn cool, and simple to boot. Elegant solutions always seem so obvious once someone smart come up with them first.
How big of a problem is this with Credit cards though? Don't the problems normally arise when a card is stolen, or accuired under false pretenses? Not that there aren't other applications for it, just the one they gave seems a little weak.
...until it is tampered, copied, and faked. Never say never, especially with regards to crypto.
sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
This doesn't sound like it will be too useful to normal people. It doesn't even sound like it will necessarily be all that secure. In the end the object becomes a key and if the algorithm is known the key can be brute forced. They say that a terrabyte of information can be in such a small object, and I have no doubt of that. What I do doubt is that they use a terrabyte of information. If they go down to a small level they must be able to reproduce the exact same data each time. Because of this I'd guess they don't use anything quite near a terrabyte or even a megabyte. As computers get faster the keys will be brute forced faster. Ten years from now this style of encryption may be just as rediculous as current methods.
So we have a one way function that happens to be based on a physical object rather than being calculated by a CPU. I don't see how this makes it more secure.
I also don't see why this is any different than any other hardware based authentication (RSA tokens, smart cards, etc.) The tokens might be cheaper, but I bet the scanner is not going to be cheap.
And as with most authentication systems the big problem is going to be protocol attacks, not attacks on the cryptography itself. I don't see little glass balls changing this fact.
Yes I'm cynical. But probably with good reason.
People couldn't type. We realized: Death would eventually take care of this.
I'd imagine it'll take a little work to keep these things from getting scuffed or otherwise damaged beyond recognition through regular handling, especially if they end up on your key chain.
Of course, a really sophisitcated system might take that into account, and update the key profile to recognize each key's unique wear and tear.
The MSNBC article goes on and on about how this is great for 'Smart Cards' but in reality it doesn't make them that much more secure that credit cards because most of the theft that happens with credit cards is not breaking into computers, rather it's physical theft of the cards themselves.
/. before? It seems vaguely familiar.
A 'smart card' isn't going to stop a pick pocket from theiving your wallet so we're back to square one.
And not to be troll but has this been on
The Anti-Blog
These devices seem to be deriving all their randomness by the natural (and intentional) "imperfections" of the creation process. This means that they only become secure when the devices are first analyzed -- *after* they are made. There is an inherent benefit and weakness to creating things in this hit-and-miss way.
Because the manufacturers are not trying to create pseudo-randomness themselves (invariably according to some algorithm, like creditcard numbers), it really is much harder for blackhats to reverse the one-way function. However, because there are no rules governing what a "valid" key looks like (they're just supposed to be unique), someone could very carefully create a number of these token that are, instead of random, very similar. Because practical implementations of this scheme are likely to scan these keys from pre-determines angles, the amount of difference allowed between these similar keys may be large enough to create "duplicates".
Note that this doesn't mean that blackhats can duplicate your key, but they may be able to create a matching pair and swap yours with theirs in the middle of the night...
Drilling a small hole in the tokens changes their internal structure enough to unleash the avalanche effect, so that the outputs from the same token before and after drilling differ by roughly half of their bits. Yet the process that transforms the speckle pattern into a string of digits can be modified to ignore accidental surface scratches.
I would imagine that since it's the internal structure of the token which determines the output, surface scratches don't have as dramatic an effect.
It breaks my pluginses, my precious!
I think the correct term would be quasirandom. A quasirandom sequence is one that fills a space in a sort of random manner while observing some constraints. For example, when performing a monte carlo integration, you would rather avoid sampling data points that are very close, so a quasirandom sequence can give better convergence. On the other hand (in the case of the integration) you sacrifice the rigorous error estimation that is possible using true pseudorandom numbers.
all of these "darn near impossible to reproduce" crypto systems are just variations on a one time pad .
1. sub-space projection
2. uniqueness
Think of it as the bubble patterns is one member of a very-very large set (the "bubble" set) and the laser is a projection or mapping function of this member of the bubble set on to a much smaller "diffraction pattern" set. Since the different laser angles can be used, that's like using different mapping functions.
A verification agency isn't gonna store which member of the bubble set each token is and do a diffraction simulaton with computers everytime the token is scanned, but more likely they will store the one or two projections on to the diffraction pattern set which are created by the one or two reader devices that are marketed. Also the whole diffraction pattern isn't gonna be stored, but just the part of the pattern sampled by the device.
This seems like a much easier problem to solve for the token forgers. All they have to do is make a token that when projected to the one or two sampled diffraction sets stored by the verification agency instead the the infinite possible diffraction patterns of arbitrary precision.
Then you have the uniqueness problem. Since the verification agencies are likely only storing sub-space projections which are finitely sampled, there's the possibility of collisions between two cards. At least with a non-one-way function, you can detect collisions beforehand, now you have to make the card with bubbles and project them to you subspaces and only then discover there's a collision and you have to throw the token away. This also defeats the feature alluded to that you can always use another projection. If you don't check for collisions ahead of time, they will inevitably occur (think of the birthday paradox).
There are fundamental mathematics working against any scheme that depends on low probability of collision. You don't have to duplicate a specific thing, but you hope for a collision (which is duplicating any one of a large set). This of course is much easier to do and is the known as the birthday paradox in probability theory. This has been used as theoretical fodder to break many encryption systems (meets in the middle attacks).
Here's another way to think of it. You have a zillion digit credit card number (token) and you apply a few different hash functions (laser angles) to the number to get a "signature" (diffraction pattern). The only advantage of this technology is that it's hard to duplicate this zillion digit number where most things electronic are easily duplicated. But some of the other "features" don't seem easy to take advantage of.
It's like the phreakers of yesteryear where they just guessed long-distance calling card codes if the set is large enough, collisions are inevitable. That's when companies invented PIN numbers. What it probably means that these tokens will probably end up being only as secure as your 4 digit ATM PIN... Something to think about...
Sometimes when you think outside the box, you realize that the box was green and the grass is really dead out there too...
I think most people here are missing the point of this.
I am not an optical engineer, but the important part of this is not "you cannot duplicate this token", since that didn't appear to be in anything I read; it's "you cannot duplicate this token _by reading the interference pattern or disassembling/probing inside_", which is a different problem entirely.
I suspect that with sufficiently high-quality materials and production controls, it _is_ possible to duplicate these in the production phase, which then makes it a useful toy; make two of them that have the same interference pattern, and given identical readers, you have a one-time pad that you can use for quite a while. I don't know how they're embedding the glass spheres in the epoxy, but with a finite number of positions for each glass ball in the epoxy (small enough to be useful, large enough to be secure), you might be able to have either coded duplicates (like keys; "2488210366" == "glass balls in pattern X") or a "mold" system where you position the balls identically for a pair of tokens and then destroy the mold, making it impossible to recreate the tokens. Either way has its useful features.
--
SD
I am Chaos. I am alive, and I tell you that you are Free. -Eris