Bootstrap

POS机安全电路设计

PCI设计经验总结

1       物理安全保护................................................................................................................................................ 2

1.1        最小系统保护........................................................................................................................................ 2

1.2        PIN输入保护......................................................................................................................................... 3

1.2.1                  键盘内部放置窃听器..................................................................... 3

1.2.2                  键盘覆盖Overlay........................................................................... 4

1.2.3                  PIN输入监测................................................................................ 5

1.3        ICC卡座................................................................................................................................................. 6

1.4        磁头的保护............................................................................................................................................. 8

1.5        LCD保护................................................................................................................................................ 8

1.6        非接保护................................................................................................................................................. 9

1.7        环境适应性............................................................................................................................................. 9

1.8        设备防拆................................................................................................................................................. 9

2       路径保护....................................................................................................................................................... 11

2.1        敏感信号走线...................................................................................................................................... 11

2.2        敏感信号过孔的保护......................................................................................................................... 12

2.3        敏感信号上被动器件的保护............................................................................................................ 13

2.4        敏感信号焊盘的保护......................................................................................................................... 14

3       保护机制自身安全.................................................................................................................................... 16


 

1            物理安全保护

按PCI规范要求,POS需要保护的有最小系统(26分)、PIN输入(26分)、ICC卡座(20分)、磁头(16分)、LCD(18分)、非接(18分)、环境适应性、设备防拆、保护机制自身安全。下面按照这几部分分别介绍保护方式

1.1           最小系统保护

一般的,如果是采用物理按键作为PIN输入方式的POS,最小系统和IC卡座放在主板的背面。

1.      如果CPU不具有DDR总线加密机制,那么最小系统可以用保护墙和保护板构造一个封闭的空间来保护。

保护板

 

保护墙

 

最小系统

 

Figure.1  封闭空间保护最小系统

2.      如果CPU具有DDR总线加密机制,最小系统可以不用封闭空间保护,原因如下:

1.      CPU的壳体具有MESH层保护,存储在CPU RAM的秘钥受到保护;

2.      DDR中的程序和数据都是经过CPU加密的;

3.      Flash中的程序和敏感信息都是经过签名和加密的,签名可以防止程序被替换,CPU加载程序时会对其进行签名校验。

如果是采用TP作为PIN输入方式的POS,且没有物理按键, ICC卡座和最小系统就可以放在主板正面,利用面壳形成的墙壁作为保护墙、屏幕形成的正面保护、主板内部的MESH充当传统POS盖板的作用,可以简化保护方式,如A70X最小系统和IC卡座保护省掉了保护框和盖板。

斑马条挡板

 

斑马条

 

主板

 

FPC MESH

 

面壳

 

TP和LCD

 

Figure.2  A70X 核心区域示意图

1.2           PIN输入保护

PIN输入要保护的有:

1.      PIN输入的整个路径,包括路径上的过孔、电阻电容等器件;

2.      防止PIN输入区域放置窃听装置;

3.      防止用Overlay覆盖按键表面以记录痕迹,包括在键盘表面和键盘内部。

1.2.1       键盘内部放置窃听器

采用物理按键作为PIN输入方式的POS,硅胶按键设计成一整块,从内部安装,内置Bug需要更换硅胶按键,但硅胶按键有Tamper  switch,所以更换硅胶按键是比较困难的。

硅胶按键

 

Figure.3  键盘内部

1.2.2       键盘覆盖Overlay

面壳按键区域表面应做成光滑的,没有明显的台阶,这样在面壳按键面上放置一个记录材料极易被发现。

内部有Tamper  switch和Keymesh的保护,很难覆盖Overlay。

表面光滑无台阶

 

Figure.4  物理按键表面

表面光滑无台阶

 

Figure.5  TP表面

1.2.3       PIN输入监测

对于PIN输入监测:

1.      结构设计上,每一个数字按键都应用相同的设计、材料以保证每一个按键按下和松开时产生的机械声音一致;

2.      硬件设计上,用在按键信号线上的滤波器件要用相同的型号及厂家,PCB上的各按键信号线走在同一层;

3.      台式机的按键周围应加防窥罩,防止他人窥视。

按下按键时功耗在时域和频域都无明显区别

 

Figure.6  按键产生的功耗变化

按下按键时CPU产生的电磁辐射在时域和频域都无明显区别

 

Figure.7  按键产生的CPU电磁辐射变化

防窥罩

 

Figure.8  防窥罩

1.3           ICC卡座

ICC卡座需要保护的是ICC的I/O信号线、ICC卡座。

1.      I/O信号线包括接口芯片与CPU的I/O线、接口芯片与卡座的I/O线,I/O线、接口芯片、卡座及连接在I/O线的被动器件都要用Tamper  mesh或保护区域保护;

安全区

 

ICC接口芯片

 

ICC卡座

 

Figure.9  IC卡座保护

2.      卡座宜用PIN脚全在卡座后面的类型,应放置在用保护墙、主板、盖板组成的保护区域,卡座与各PCB的间隙尽可能小,卡口尽可能的与面壳或底壳贴近。

卡座与底板有缝隙,用立板封闭

 

保护墙与卡座严丝合缝

 

Figure.10           卡座围墙

引脚在卡座后面

 

Figure.11           IC卡座

1.4           磁头的保护

磁头需要保护的是信号线及防止双磁头,保护方式:

1.        如果采用的是加密磁头,那么与CPU连接的信号线不需保护,但磁头线圈的6个PIN脚和加密芯片应用环氧树脂封闭;

2.        如果是非加密磁头,那么信号线、连接器、磁头解码芯片和磁头线圈的6个PIN脚都要用Tamper  mesh来保护;

3.        磁头的安装位置旁边最好是主板或背板的边缘,便于在靠近磁头的PCB边缘上绕Tamper  mesh,这样要加装磁头必须先失效 mesh,从而达到阻止加装磁头的目的

Figure.12           防止双磁头示例

1.5           LCD保护

LCD部分需要保护的是LCD数据总线及连接在I/O上的各种被动器件(电阻电容、滤波器)、LCD防拆。

1.      数据总线路径及过孔一般用Tamper  mesh保护;

2.      被动器件放在安全区域内,LCD连接器放在LCD正下方;

3.      用LCD或者TP压住两个斜对角放置的Tamper  switch来防拆

4.      LCD的镜片最好是从设备内部安装,不要从面壳上面贴上去;

5.      LCD与PCB的高度不宜过高,这样LCD下方的空间对于LCD的组件是安全的,可以将一些滤波器、电阻电容放在这里。不过这个高度一般不宜超过4mm(V37的经验),过高需要另加保护墙保护LCD连接器。不同的实验室可能要求不一样,像UL就要插座也要用保护墙围起来,而Brightsight要求相对比较松。

镜框

 

LCD

 

LCD支架

 

主板

 

LCD防拆开关

 

Figure.13           LCD分解图

1.6           非接保护

非接接口芯片位于保护区、信号线受到保护即可。

1.7           环境适应性

设备的安全性不应受到以下影响:

1.        环境变化,主要指温度;

2.        操作条件变化,主要指电压。

一般的,POS机操作的温度范围是0℃~50℃,存储的温度范围是-70℃~-20℃,在这两个温度范围保证设备不触发即可。

安全CPU都会有RTC电压和核心电压监测,超出范围会导致设备触发。

1.8           设备防拆

一般用Tamper  switch或斑马条来实现防拆:

1.  采用物理按键的POS,面壳有按键区的Tamper  switch和LCD 的Tamper  switch来防拆;

2.  采用TP的POS,TP与面壳紧贴,TP压着一个斑马条;

3.  底壳一般放置4个(数量不是关键,两个或3个也是可以的)Tamper  switch,位置尽量靠近螺丝孔。

防拆开关

 

Figure.14           具有物理按键的POS面壳防拆

斑马条挡板

 

斑马条

 

FPC MESH

 

面壳

 

TP

 

Figure.15           具有TP的POS面壳防拆

 

  

Figure.16           底壳防拆

2            路径保护

2.1         敏感信号走线

敏感信号一般包括PIN、ICC I/O、MSR、LCD 数据线、非接的SPI。采用Tamper  mesh的方式保护信号线,要求信号线所在PCB层的上下一层各覆盖Tamper  mesh。以一块8层板为例,信号线在PCB的第4层,则在PCB的第2/3层选一层走Tamper  mesh,第5/6/7层选一层走Tamper  mesh,Tamper  mesh的范围只需覆盖第4层的敏感信号全路径。如下图 ,信号线在第四层,绿色标示,第二层和第七层为Tamper  mesh,将信号线包在中间,从正反两面去探测信号线都要先失效Tamper  mesh。

Figure.17           信号线路径保护

如果敏感线路有插座,如A70X采用TP作为PIN输入方式,需要保护TP的排线和连接座。 A70X的TP排线采用一层MESH包住TP排线,连接座位于一个插座保护区内。

Figure.18           TP排线

主板

 

保护板

 

斑马条

 

磁头插座

 

TP插座

 

LCD插座

 

Figure.19           敏感插座区域爆炸图

2.2         敏感信号过孔的保护

敏感信号的过孔两面也要用Tamper  mesh覆盖,以8层板为例,3-6的埋孔信号必须用第二层和第七层的Tamper  mesh覆盖这个过孔,而不能用过孔经过的层的Tamper  mesh,例如第6层的Tamper  mesh。如下图3-6的过孔,被第二层和第七层的Tamper  mesh覆盖。

Figure.20           过孔保护

2.3         敏感信号上被动器件的保护

连接到敏感信号的电阻电容等被动器件应放置在一个有Tamper  mesh包围的保护区域,实际中一般的做法是放置在由墙板、盖板和主板围成的空间里。

保护区域

 

Figure.21           保护区域

2.4         敏感信号焊盘的保护

一般的,安全CPU采用BGA的封装,CPU的壳体上有Tamper  mesh从正面保护CPU的焊盘,如果是焊盘裸露的封装则需一个保护空间,焊盘的另一面则需Tamper  mesh覆盖焊盘。以8层板为例,CPU放在底层,PCB的2/3/4/5/6/7的任一层的Mesh覆盖焊盘即可,一般用第二层覆盖,3/4/5/6/7用来走线或布电源层。下图黄色的焊盘是按键信号的焊盘,PCB的第2层Mesh覆盖了这几个焊盘。

Figure.22           按键信号的CPU焊盘

特殊的,采用物理按键作为PIN输入方式的POS,焊盘保护一般采用Keymesh 的方式:

1.      Keymesh用一对动态Tamper 信号绕一层,阻止从机器正面攻击焊盘获取PIN输入信号;

2.      至少放置三个相互独立的Tamper  switch,且Tamper  switch应在Keymesh的边缘,阻止揭开Keymesh。

Keymsh

 

Tamper switch在边缘

 

Figure.23           焊盘用Keymesh覆盖

 

错误示例——V60SE POS安全,Keymesh四个角没有用Tamper  switch压住,未通过测试。

四个Tamper switch没有压住Keymesh的四个角, Keymesh易被揭开

 

Keymsh

 

Figure.24           Keymesh错误示例

3            保护机制自身安全

目前实际中用到的保护机制是Tamper  mesh和Tamper  switch。

1.      按键及核心保护区的Tamper  mesh的线宽线距要求最大是6mil,且要用两组动态的Tamper 信号绕线;

2.      Tamper 信号的过孔也要保护,一般用Tamper  mesh或Tamper  switch的方式;

Figure.25           Tamper 信号过孔用Tamper  mesh保护

Figure.26           Tamper 信号过孔用Tamper  switch保护

3.      所有连接到Tamper 信号上的焊盘、电阻电容及之间的走线都不能暴露在非保护区域;

4.      Tamper  mesh应尽量完整覆盖保护区域,不宜留有大片未覆盖mesh的区域,如下图白色框的区域,mesh覆盖较完整;

Figure.27           保护区域mesh完整覆盖

5.      Tamper 信号上接的若干个Tamper switch要用串行的方式连接,不能使用并行的方式,因为并行的失效一路并不会导致设备触发;

 

Figure.28           Tamper switch串行&并行连接

6.      Tamper  switch要防止导电油墨的攻击,动态& 静态低触发Tamper 信号的Tamper  switch采用外环接地的方式,静态高触发Tamper  信号的Tamper  switch采用外环上拉到纽扣电池电源的方式。外环离Tamper  switch的距离要适中,太远容易导致使用导电油墨攻击的难度下降,太近容易使Tamper信号与外环短路,不利于生产组装。

Figure.29           常用的Tamper  switch封装

7.      保护墙目前有两种走线方式,一种是走平面线,一种是打“缝纫机”孔。平面线要求层数多,每层之间的间距小于0.5mm,如2mm的板做4层,“缝纫机”式的走线要求过孔尽可能的靠近,从侧面看就像形成了一排竖直的栅栏,这样留出的侧攻击缝隙就小,难度就大。

过孔

 

Figure.30           缝纫机式走线侧面图

Figure.31           缝纫机式走线正面图

8.      MESH路径上,最难攻击的点靠近CPU的管脚,容易攻击的点放MESH路径的中间,一般的,后壳的几个触发点是比较容易失效的,如果MESH路径上一头一尾正好是后壳的触发点,就可以失效这两个点后,将这一路MESH攻破。

Figure.32           Tamper失效示意

;