Key fob security systems consist of a small radio device that transmits a code when a button is pressed, providing authorization for the system to turn off alarms or disengage electronic locks. Early systems typically used a static code that never changed between transmissions, but modern systems generate a new, secure code after every press of the button.
The chief danger of a static-code key fob is that the same code is broadcast every time the device is used, so someone can intercept the transmission and replicate it. A rolling-code system uses an algorithm to generate a fresh code each time, and that algorithm is programmed into the key fob as well as the security system. However, both types of systems can be defeated by someone stealing the fob, which is a vulnerability in any key fob security system.
Key fobs are sometimes used in a two-factor authentication system. For instance, accessing a secure online site requires both a password and code generated from a key fob device. When the user presses the button, a temporary code is displayed, which is only good for a brief period of time. This prevents an outside user from being able to access the system without gaining access to both the password and security key fob device.