侧信道分析攻击技术有两种分类方法。第一种按照攻击手段是否物理损坏芯片,将其分为入侵、非入侵、半入侵三种。入侵式攻击需打开芯片直接接触芯片内部的模块。非入侵攻击无需解剖芯片而是通过检测芯片工作时从外部表现出的特征进行分析,包括运行时间、电流、电磁辐射等。半入侵攻击需打开芯片,不过不用打开钝化层与接触金属表面。
第二种按照是否干扰芯片正常运行分类,将其分为主动和被动两种。主动攻击的目的是使芯片的工作不正常,典型代表是故障攻击。被动攻击则并不干扰芯片的运行,典型代表是功耗分析攻击。
上述分类并不互相排斥,攻击方法的综合运用会给密码芯片的安全很大威胁。
1.非侵入式
方式包括抖动电源的电压和抖动时钟信号。欠压与过压攻击用于屏蔽保护电路,或必须使处理器误操作。安全模块通常含有电压检测电路,但电压检测电路对瞬间波动一般不起作用。
针对易失存储器数据的保持能力也是非入侵式的一种。若用低温“冰冻”存储器的内容,SRAM里的信息可保存够长的时间,使攻击者可访问芯片并读出内容。同样在非易失存储器中,攻击者可由晶体管导通的阈值电压或开关时间参数测到浮栅中的残留电子,从而获得逻辑状态。
接口信号和访问协议也有可能被非侵入式攻击。一些安全芯片上有芯片代工厂测试用的接口,若可找到此接口,攻击者则很易导出保存于芯片中的信息。一般的测试电路信息由芯片代工厂商保密,但攻击者可试着用不一样的电压与逻辑电平加至引脚,可能让芯片转到测试模式。智能卡芯片的测试电路通常会在出厂后被破坏,当然高端的攻击方法可能用聚焦离子束等工具恢复测试电路接口,但已不属于非侵入攻击范畴。
2.侵入式
侵入式攻击先是打开芯片的封装,然后进行探针检测与攻击。打开封装的芯片表面被一层钝化层保护,钝化层一般为硅氧化物或氮化物,为了保护内部电路不被环境与离子侵袭。在微探针接触顶层的铝互联线之前须除去钝化层,可用激光切出小孔,暴露单条总线。小孔也可固定住探针的位置,减少震动的影响。
除了ROM,直接从单个存储器单元中读出存储信息的情况并不常见。存储的数据可通过存储器总线访问。微探针可用来探测总线且记录探测到的逻辑值。修改地址计数器可非法访问存储器。由于程序计数器在每个指令周期均增加1,所以程序计数器适合作为地址发生器。攻击者很易由激光割开正确的金属互联。
另一种方法是进行反向工程。攻击者可手动检查与光学技术实施反向工程,然后针对基本的体系结构,利用模式识别跟踪明显模块边缘的金属线,可标定出数据和地址总线。由于处理模块一般经过总线连接,因此很易识别总线的锁存器与驱动。
未来芯片技术将使用更细的工艺线宽和更多的金属层,攻击者也需用更贵的工具修改芯片结构。
3.半侵入式
半侵入式无需用微探针、聚焦离子束、激光切割器等昂贵仪器。先进成像技术也可实施半侵入式攻击。光子成像技术可查看芯片内单个晶体管的状态。半侵入式攻击中的不足注进攻击方法可改SRAM中的内容。
和非侵入式攻击比较,半侵入式攻击需展开芯片的封装,不过设备相对侵入式便宜许多,可在较短时间内完成攻击。同时可侵入确定的范围,辅以充分的技巧与知识,攻击者可快速简易地破解。