Tamperproofing
Tamperproofing, conceptually, is a methodology used to hinder, deter or detect unauthorised access to a device or circumvention of a security system. Since any device or system can be foiled by a person with sufficient knowledge, equipment, and time, the term "tamperproof" is a misnomer unless some limitations on the tampering party's resources is explicit or assumed.
Tamper resistance is resistance to by either the normal users of a product, package, or system or others with physical access to it.
Tamper resistance ranges from simple features like screws with special drives, more complex devices that render themselves inoperable or encrypt all data transmissions between individual chips, or use of materials needing special tools and knowledge. Tamper-resistant devices or features are common on packages to deter package or product tampering.
Anti-tamper devices have one or more components: tamper resistance, tamper detection, tamper response, and tamper evidence. In some applications, devices are only tamper-evident rather than tamper-resistant.
Tampering
Tampering involves the deliberate altering or adulteration of a product, package, or system. Solutions may involve all phases of product production, packaging, distribution, logistics, sale, and use. No single solution can be considered as "tamper-proof". Often multiple levels of security need to be addressed to reduce the risk of tampering.Some considerations might include:
- Identify who a potential tamperer might be: average user, child, psychopath, misguided joker, saboteur, organized criminals, terrorists, corrupt government. What level of knowledge, materials, tools, etc. might they have?
- Identify all feasible methods of unauthorized access into a product, package, or system. In addition to the primary means of entry, also consider secondary or "back door" methods.
- Control or limit access to products or systems of interest.
- Improve the tamper resistance to make tampering more difficult, time-consuming, etc.
- Add tamper-evident features to help indicate the existence of tampering.
- Educate people to watch for evidence of tampering.
Methods
Mechanical
Some devices contain non-standard screws or bolts in an attempt to deter access. Examples are telephone switching cabinets, or bolts with 5-sided heads used to secure doors to outdoor electrical distribution transformers. A standard Torx screw head can be made in a tamper-resistant form with a pin in the center, which excludes standard Torx drivers. Various other security screw heads have been devised to discourage casual access to the interior of such devices as consumer electronics.Electrical
This style of tamper resistance is most commonly found in burglar alarms. Most trip devices use two signal wires that, depending on configuration, are normally open or normally closed. The sensors sometimes need power, so to simplify cable runs, multi-core cable is used. While 4 cores is normally enough for devices that require power, cable with additional cores can be used. These additional cores can be wired into a special so-called "tamper circuit" in the alarm system. Tamper circuits are monitored by the system to give an alarm if a disturbance to devices or wiring is detected. Enclosures for devices and control panels may be fitted with anti-tamper switches. Would-be intruders run the risk of triggering the alarm by attempting to circumvent a given device.Sensors such as movement detectors, tilt detectors, air-pressure sensors, light sensors, etc., which might be employed in some burglar alarms, might also be used in a bomb to hinder defusing.
Safety
Nearly all appliances and accessories can only be opened with the use of a screwdriver. This prevents children and others who are careless or unaware of the dangers of opening the equipment from doing so and hurting themselves or damaging the equipment. Sometimes, manufacturers go further and use tamper-resistant screws, which cannot be unfastened with standard equipment. Tamper-resistant screws are also used on electrical fittings in many public buildings primarily to reduce tampering or vandalism that may cause a danger to others.Warranties and support
A user who breaks equipment by modifying it in a way not intended by the manufacturer might deny they did it, in order to claim the warranty or call the helpdesk for help in fixing it. Tamper-evident seals may be enough to deal with this. However, they cannot easily be checked remotely, and many countries have statutory warranty terms that mean manufacturers may still have to service the equipment. Tamper proof screws will stop most casual users from tampering in the first place. In the US, the Magnuson-Moss Warranty Act prevents manufacturers from voiding warranties solely due to tampering. A warranty may be dishonored only if the tampering actually affected the part that has failed, and could have caused the failure.Chips
Tamper-resistant microprocessors are used to store and process private or sensitive information, such as private keys or electronic money credit. To prevent an attacker from retrieving or modifying the information, the chips are designed so that the information is not accessible through external means and can be accessed only by the embedded software, which should contain the appropriate security measures.Examples of tamper-resistant chips include all secure cryptoprocessors, such as the IBM 4758 and chips used in smartcards, as well as the Clipper chip.
It has been argued that it is very difficult to make simple electronic devices secure against tampering, because numerous attacks are possible, including:
- physical attack of various forms
- freezing the device
- applying out-of-spec voltages or power surges
- applying unusual clock signals
- inducing software errors using radiation
- measuring the precise time and power requirements of certain operations
Nevertheless, the fact that an attacker may have the device in his possession for as long as they like, and perhaps obtain numerous other samples for testing and practice, means that it is impossible to totally eliminate tampering by a sufficiently motivated opponent. Because of this, one of the most important elements in protecting a system is overall system design. In particular, tamper-resistant systems should "fail gracefully" by ensuring that compromise of one device does not compromise the entire system. In this manner, the attacker can be practically restricted to attacks that cost less than the expected return from compromising a single device. Since the most sophisticated attacks have been estimated to cost several hundred thousand dollars to carry out, carefully designed systems may be invulnerable in practice.
Military
Anti-tamper is required in all new military programs in the U.S.DRM
Tamper resistance finds application in smart cards, set-top boxes and other devices that use digital rights management. In this case, the issue is not about stopping the user from breaking the equipment or hurting themselves, but about either stopping them from extracting codes, or acquiring and saving the decoded bitstream. This is usually done by having many subsystem features buried within each chip and by making sure the buses between chips are encrypted.DRM mechanisms also use certificates and asymmetric key cryptography in many cases. In all such cases, tamper resistance means not allowing the device user access to the valid device certificates or public-private keys of the device. The process of making software robust against tampering attacks is referred to as "software anti-tamper".
Packaging
Tamper resistance is sometimes needed in packaging, for example:- Regulations for some pharmaceuticals require it.
- High value products may be subject to theft.
- Evidence needs to remain unaltered for possible legal proceedings.
Examples include:
- Extra layers of packaging
- Packaging that requires tools to enter
- Extra-strong and secure packaging
- Packages that cannot be resealed
- Tamper-evident seals, security tapes, and features
Software
Software is also said to be tamper-resistant when it contains measures to make reverse engineering harder, or to prevent a user from modifying it against the manufacturer's wishes. One commonly used method is code obfuscation.However, effective tamper resistance in software is much harder than in hardware, as the software environment can be manipulated to near-arbitrary extent by the use of emulation.
If implemented, trusted computing would make software tampering of protected programs at least as difficult as hardware tampering, as the user would have to hack the trust chip to give false certifications in order to bypass remote attestation and sealed storage. However, the current specification makes it clear that the chip is not expected to be tamper-proof against any reasonably sophisticated physical attack; that is, it is not intended to be as secure as a tamper-resistant device.
A side effect of this is that software maintenance gets more complex, because software updates need to be validated and errors in the upgrade process may lead to a false-positive triggering of the protection mechanism.