iButtons are small computer chips contained in stainless steel cases, a finish which looks very much like your average coin sized power cell. There's no limit to the possible usage areas.
You can communicate with these "buttons" using a 1-wire bus. They each contain a unique ID, as well as optionally some other payload. The simplest buttons with only the ID can be used to unlock doors, access control to your computer, or to identify a object it's attached to.
The IDs are unique on a global basis, so you're safe from duplicate IDs.
The case itself is very though, and people have tried putting them through dish washers, industrial strength dryers, driving over them and a whole bunch of other torture tests, and they usually survive :)
On to the various kinds of payload:
- Memory iButton
Offering 64bit to 64K bit of non volatile RAM or ROM, as well as special versions like password protected ones.
- Thermocron iButton
Contains a real time clock, as well as a temperature sensor, and 512k RAM. It is able to operate on it's own power, which is charged by "stealing" power on the data bus when connected to a 1-wire bus. Records up to 2048 samples
- Java iButton
Perhaps the most fun of all. This button actually runs Java Bytecode, has up to 128k storage and hardware accelerated 1024 cryptography. Just imagine the possibilities :)
There's a whole host of potential applications for these. Thermocron buttons for example, and be used to log temperature for food or medical supplies, for quality control.
The memory iButtons can be used to store encrypted information like pass-phrases, or cryptographic keys.
The Java buttons can be used to not only contain the cryptographic keys, but also do the actual math, so that your keys never leave it.
Further information can be found at:
I've only just started this node, and I'll update it within this weekend.
Please feel free to drop by if you want more information.
Update (20020103): Not had the time to update this yet, more will follow as soon as I can find a spare moment.