Security Analysis of Logic Obfuscation
摘要
由于现在存在对电路的敏华攻击,故本文提出一种逻辑混淆方法对此进行防范。
介绍
逻辑混淆是指在正常IC中插入额外的门对IC功能进行混淆,插入的门称为Key-gates(关键门),只有当关键门的输入均正确时,IC功能才会正常。(存疑:本篇论文关键门均是异或门、异或非门,为什么?)
比如上图中K1、K2门均是关键门,只有当输入k1、k2均正确时,输出才会正确。
敏化(Sensitization)是指控制电路的部分输入,使得某个(某些)门输入输出产生关联。比如,在上图中,令I1=1,I2=0,I3=0,则G3输出为0,K1的输出和k1一致,攻击者便可以得到k1的值。
攻击策略
Runs of key-gates
Runs of key-gates,两个关键门是前后连接的,这种类型的关键门非常容易进行破解,因为其实际上就相当于单个关键门的作用。
Isolated key-gates
电路图如介绍中的电路图所示,当关键门之间没有任何连接时,就称为isolated key-gates。由于关键门之间没有任何干扰,攻击者可以每个门进行单独攻击。
Dominating key-gates
Dominating key-gates,如果关键门K1的输出在如何线路上必流经关键门K2时,则称K2为dominating key-gate。
攻击者通过屏蔽的关键门K1来确定输入k2的值。如上图,令A=1,B=1,C=0即可对K1进行屏蔽。
Convergent key-gates
1)Concurrently mutable convergent key-gates
当两个关键门收敛于其他的门,且可以互相屏蔽时,则称两者为Concurrently mutable convergent key-gates。如图(a)所示,攻击者确定一个关键门的输入时可以屏蔽另一个关键门。
2)Sequentially mutable convergent key-gates
当两个关键门收敛于其他的门,但是只能单向屏蔽时,则称两者为Sequentially mutable convergent key-gates。如图(b)所示,攻击者确定一个关键门的输入时屏蔽另一个关键门,在暴力破解另一个关键门。
3)Non-mutable convergent key-gates
两个关键门皆不可屏蔽对方,则称为Non-mutable convergent key-gates。
攻击者只能暴力破解。
STRONG LOGIC OBFUSCATION
Imterference graph
根据电路图中关键门的两两之间的类型,作出interference graph。其中,节点之间两条实线代表两者不可屏蔽;两条虚线代表两者可以互相屏蔽;一实一虚代表仅能一者屏蔽另一者,虚线源于可被屏蔽的关键门,实线源于不可屏蔽的关键门。