Masking Circuit Faults and Trojan Circuit Injections Using Sat Solvers

A. Yu. МаtrosovaA. Yu. Маtrosova, V. А. ProvkinV. А. Provkin, V. Z. TychinskiyV. Z. Tychinskiy, Е. А. NikolaevaЕ. А. Nikolaeva, G. G. GoshinG. G. Goshin
Российский физический журнал
Abstract / Full Text

Combinational circuit C composed of gates and its sub-circuit with set V of output nodes and set U of input nodes are considered. The set V consists of output nodes of fault gates of the circuit C (only logical faults are examined) and fault free gates, the inputs of which are at the same time lines in that Trojan circuit payloads are injected. A procedure of forming the set U, as a rule, depends on circuit C fabrication technology and is out of our consideration. We suggest recovering the circuit C behavior by using as much as possible simple masking circuits (patch circuits). Masking circuit inputs are connected with nodes from the set U, and outputs are united either with nodes that are fed by nodes from the set V or directly with nodes from the set V. The conventional way of recovering the circuit C behavior (in the frame of Engineering Change Order (ECO) technologies) is based on using results of circuit C simulation. This way guarantees correct circuit C behavior only on a set of Boolean vectors applied during simulation. We suggest using incompletely specified Boolean functions of nodes from V in the frame of ECO technologies, which allows guaranteeing correct behavior of the circuit C among all its input Boolean vectors. Deriving the incompletely specified Boolean functions is connected with applying SAT solvers. Having got these functions, we then obtain the masking circuit (patch circuit) using ESPRESSO and ABC systems.

Author information
  • National Research Tomsk State University, Tomsk, RussiaA. Yu. Маtrosova, V. А. Provkin, V. Z. Tychinskiy & Е. А. Nikolaeva
  • Tomsk State University of Control Systems and Radioelectronics, Tomsk, RussiaG. G. Goshin
  1. S. Krishnavami, H. Ren, N. Modi, and R. Puri, in: Proc. Asia and South Pacific Design Automation Conference, Yokohama (2009), pp. 789–796.
  2. A.-C. Cheng, H.-R. Jiang, and J.-Y. Jou, in: Proc. DATE, Dresden (2016), pp. 1036–1041.
  3. A.Q. Dao, N.-Z. Lee, L.-C. Chen, et al., in: Proc. DAC’18, San Francisco (2018), Article No. 51, pp. 1–6.
  4. A. Yu. Matrosova, S. A. Ostanin, and I. E. Kirienko, Russ. Phys. J., 57, No. 6, 847–852 (2014).
  5. A. Matrosova, V. Provkinand E. Nikolaeva, in: Proc. IEEE East-West Design & Test Symposium (EWDTS), Batumi (2019), pp. 416-419.
  6. G. S. Tseitin, Zap. Nauchn. Semin. LOMI AN SSSR, 8, 234-259 (1968).
  7. Logic Minimization Software (http://ramos.elo.utfsm.cl/~lsb/elo211/aplicaciones/aplicaciones/ espresso/
  8. ESPRESSO Logic Minimization Software.htm).
  9. ABC: A System for Sequential Synthesis and Verification (https://people.eecs. berkeley.edu/~alanmi/abc/).
  10. A. Petkovska, A. Mishchenko, D. Novo, et al., in: Advanced Logic Systems, Springer (2008), pp. 169–188.
  11. O. Matrosova, S. Goloubeva, and S. Tsurikov, in: Proc. of the 6th Biennal Conf. on Electronics and Microsystems Technology, Tallinn (1998, pp. 183–186.