7.1 Hardware and Software Methods …
655
7.1.4 Replication and Other Protection Methods
As demonstrated in previous chapters, development of effective hardware Trojans is
always associated with the intruder’s understanding of the attacked IC project, from
the gate level, RTL level and IC level and to the macro level of the entire designed
system. At these levels, the following general approaches can be applied to solve the
tasks of countering hardware Trojans:
• reservation, replication or duplication of the logic and/or data;
• separation or fragmentation of the logic and/or data;
• dissipation or distribution of the logic and/or data;
• accumulation and unification of logic functions and/or data, e.g., using voting.
Replication is the mechanism of synchronization between contents of several
copies of an object (e.g., a database). This process usually refers to copying data
from one source into another.
However, all these general countermeasures are only effective in three cases:
• for protection from hardware Trojans causing leakage of confidential information
by means of data separation and processing using independent logic elements;
• for protection of functional modifications of elements implemented with the help
of several copies or duplicates of logic blocks;
• for protection from already standard DoS attacks by setting the necessary level
of excess of logic elements involved in the project.
These considered measures may be implemented at different levels: gate level,
RTL, logic design, function modules, IP cores and up to the IC level, and devices
at the macro level. Protection mechanisms suggest absence of coordination between
replicated or duplicated elements in the project.
The method for dynamic assessment of equipment verification during its operation is suggested in the work [23]. It consists in detecting the hardware Trojan
during operation of the system, after which the operation continues with removal
or reduced use of suspicious elements. The authors suggest using multi-core system
of data processing and applying redundancy typical of such system, excluding nontrusted cores. Functionally equivalent versions of processes are performed in parallel
during several processors, after which their results are compared. Various versions of
identical processor treatments can be performed based on different compilations or
implementations. It is also possible to use various algorithms of data processing. If
the results of two elements differ, calculation on the third element are performed, and
the three results are compared. This process continues until correspondence between
at least two elements of data processing is achieved. Processor elements returning
contradictory (incorrect) results are dynamically fined, i.e., they are less trusted and
less frequently used.
This method can be extended by using random selection of versions of functionally
equivalent hardware means.
Précédent

- 673/839

Suivant