is resistance to tamper
by either the normal users of a product, package, or system or others with physical access to it. There are many reasons for employing tamper-resistance.
Tamper resistance ranges from simple features like screws with special heads to more complex devices that render themselves inoperable or encrypt all data transmissions between individual chips. Tamper resistant devices or features are also common on packages to deter package or product tampering.
In some applications, devices are only tamper-evident rather than tamper-resistant.
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: psychopath, misguided joker, saboteur, organized criminals, terrorists. 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.
- 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.
Nearly all mains appliances and accessories can only be opened with the use of a screwdriver (or a substitute item such as a nail file or kitchen knife). This prevents children and others who are careless or unaware of the dangers of opening the equipment from doing so and hurting themselves (from electrical shocks, burns or cuts, for example) or damaging the equipment. Sometimes (especially in order to avoid litigation
), 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 (mainly in the case of PCs) call the helpdesk for help in fixing it. Tamper-evident
seals may be enough to deal with this. However, they can't 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.
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 (microprobing, drills, files, solvents, etc.)
- 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 (see power analysis)
Tamper resistant chips may be designed to zeroise their sensitive data (especially cryptographic keys) if they detect penetration of their security encapsulation or out-of-specification environmental parameters. A chip may even be rated for "cold zeroisation", the ability to zeroise itself even after its power supply has been crippled.
Nevertheless, the fact that an attacker may have the device in his possession for as long as he likes, and perhaps obtain numerous other samples for testing and practice, means that it is practically 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 (plus, perhaps, a little more for kudos). 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.
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 lots of features on each chip and making sure the busses 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 access to the valid device certificates/ public-private keys of the device to the device user. The process of making software robust against tampering attacks is referred to as software anti-tamper.
In the design of nuclear reactors
, preventing the proliferation of nuclear weapons
has become rather important. Making reactors tamper-resistant, as in the SSTAR
, has become fairly important. This will probably be achieved through a combination of making it difficult to get at the nuclear material, closely tracking where the reactors are transported and having alarms if attempts at entry are detected (which can then be responded to by the military).
Resistance to tampering can be built in or added to packaging
- Extra layers of packaging (no single layer or component is "tamper-proof")
- packaging which requires tools to enter
- extra strong and secure packaging
- packages which cannot be resealed
- tamper-evident seals and features
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 (removing a restriction on how it can be used, for example). 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.