本应用笔记利用基于MAXQ1850的双芯片架构的优势,探讨了高度安全的支付终端设计,分析了生产厂商在面临PCI-PED PTS产品认证时的弱点。
新终端、新趋势
金融终端已经成为支付产品公司提供的一种新型交付服务手段。金融终端不再限于简单的读卡机,而是逐步成为能够处理交易、管理库存、操作商业运营的复杂计算设备。这一角色转变的显著标志是针对终端定义的一个新术语:从销售终端(POS)设备更改为交互终端(POI)系统。POI系统必须具备快速通信能力,使用更加便捷(例如,可以连接USB、以太网、WiFi®或Bluetooth®),支持多应用的相互协调并可处理复杂的卡交易(支付卡、忠诚卡等)。
另外,使用条件也发生了变化。有时,POI必须工作在潮湿环境、室外或室内。这些设备多数情况下要求采用人性化便携式设计,并满足经销商对时尚外观的需求。由于相关技术的融合与重复利用,使得终端产品随处可见,例如:智能电话、笔记本电脑、游戏机控制台等。现代POI设备引入了类似的美学设计,采用色彩丰富的显示技术、复杂的触摸屏接口并提供便利的连通性,可以方便地集成到信息系统内。硬件技术的深入开发也带动了软件设计的重复利用,从商用化操作系统到软件栈,可以直接提取硬件电路。总而言之,软件的重复利用有助于加快开发速度、降低产品失效风险,以更低的R&D成本将产品快速推向市场。
终端安全性
POI与消费类(CE)设备的主要差别在于安全性。EMV卡的全球化开发意味着系统所要面临的威胁也是全球性的。如不采取适当对策,则有可能在瞬间遭受来自世界不同区域的攻击。另一方面,由于高投资(开发工具、时间等花费)带来的巨额回报,犯罪团伙会不惜代价地实施攻击行为,由此可见,设备安全性的最大威胁来自于这些犯罪团伙。
当前金融终端的互操作性、通信接口以及高级服务都已成为攻击者的“敲门砖”。由业内重要的支付产品公司联手创立的支付卡产业安全标准委员会(PCI SSC)—包括美国的Express、JCB、MasterCard和Visa—旨在规范整个产业的安全标准。
PCI SSC开发的PCI PIN交易安全(PCI PTS)标准定义了金融终端安全性的要求。前期的PCI PIN输入设备(PCI PED)标准(PCI PTS)主要关注应对物力和逻辑攻击,这些攻击行为试图从POI提取PIN码和加密密钥。根据现场经验和试验室研究,PCI PTS归纳了针对各种攻击(物力篡改、环境更改、软件接口攻击、密码分析破解攻击、政策威胁)的安全防护机制。PCI PTS旨在保护终端内部或智能卡连接通道普通格式的PIN码。
物理机制要求在入侵者打开终端、插入PIN记录装置,防止数据在PIN输入或发送端被捕获,并可阻止对终端操作的修改。逻辑上需要防止入侵者修改读卡器、控制终端的运行程序,从而达到他们恢复、记录或发送PIN码及其它敏感数据的目的。
其它要求包括磁条数据的有效保护。PCI PTS的每项要求对应于特定的攻击类别,与对抗等级有关,通常用16至35范围的数字表示。为了达到设计目标,支付终端必须能够将遭受篡改的风险(所谓的篡改值)降至最低。
按照ITSEC联合实验室声明(JIL)对智能卡的规定,攻击值方案基于所了解的相关知识、攻击持续时间、攻击者的资源和专业技术。对每种抗攻击能力划分成几个等级进行评测,每个等级有相应的额定值。考虑一种攻击形式时,可以由衡量每种类型的攻击强度值的加和表示。例如,文件类保护包括三个等级:公开、受限、加密。如果一个受限文件受到攻击,该等级的攻击值(受限文件)需要增加到攻击求和中。
抗攻击能力评估需要在具备资质的实验室进行,最终是否获得批准的决定权由PCI PTS成员掌控。由于攻击者可以接触到支付终端设备,PCI PTS特别规定了能够抵抗各种威胁、保护卡持有人敏感数据的安全等级。PCI PTS并不提供相应的解决方案,需要制造商想方设法满足这些条件的要求。PCI PTS 3.1已于2012年3月替代PCI PED 2.1标准,随着安全等级不断提升,终端厂商将面临更加严峻的设计挑战。
PCI PTS 3.x
PCI对支付终端的安全要求发生了重要改进,加强了对最新攻击威胁的防御。另外,其新方案的提出也促进了模块化开发,用于简化生产。这一演变的标志是将PIN输入装置(PED)变更为POI装置,反映出使用端的变化。终端装置与之前一样需要执行金融交易,但现在需要执行更多任务,新需求也说明生产厂商已经考虑了PCI SSC这种扩展能力。
从整个过程看,认证过程已经简化为对包含所有类型装置(POS、EPP、自动售货机、售货亭)的一次性评估,分为两个强制评估模块:设备的核心要求和集成要求。另外还有两个新的评估模块供厂商选择。
为确保安全性,根据现场反馈对具体要求进行了少许修改和加强。一些关键要求已经使其攻击值从1点增加到2点,尤其是与物理攻击(键盘、磁条和卡槽)相关的攻击。攻击成本值介于16至35 (PCI PED 2.1标准下为14至35)。此外,现在通过指定请求的规则更严格。较早的标准只要求攻击准备和攻击开发值之和等于一个最小值;现在,攻击开发值本身必须具有一个最小值(攻击准备为识别阶段,攻击者在此期间研究问题、设计方法,以及测试设备。在开发阶段,攻击者进入公共场所,并实际进行数据盗取)。
其它新要求明确针对新POI架构和服务。举例说明,要求B17考虑在同一终端上运行多项应用的情况,这完全反应了现代终端的软件架构。另一个例子是新可选评估模块的创建:开发协议(Open Protocol)模块处理开放/公共网络上的安全问题,通常解决来自于通过IP连接的终端安全事项,类似于PC日常面临的攻击威胁。安全读取与数据交换(SRED)模块规定对终端内持卡人账户数据的保护要求。表1列出了大多数关键的安全要求,以及对设计高效率、高性价比终端的功能性要求。
控制安全方案的成本
终端厂商为了满足严格的安全标准,在设计功能强大、外观时尚的POI设备时面临巨大挑战。终端厂商自己开发并维护安全设备可能付出巨额代价,因为这将要求终端厂商专门建立一支专家团队,从而占据相当大的R&D资源。这也成为新生力量进入安全市场的巨大障碍,但它并不代表现有厂商拥有多么明显的竞争优势,毕竟支付终端的所有安全认证条件都是强制性规定。
标准化为专业厂商的安全模块创造了巨大商机。由于认证标准是统一的,终端厂商可以选择商用化的安全方案以满足安全认证标准的要求。与自主开发安全方案相比,这些模块化设计具有几项显著优势。
它们能够减轻终端制造商的设计负担,只需关注系统增值功能。安全性虽然不是设备的特殊功能,但却是对终端产品最基本的标准化要求。通过与安全产品供应商合作,终端厂商能够将主要精力放在金融终端市场的增值服务上。
高性价比设计允许开发更加复杂的安全机制。由于多个用户共同分摊R&D成本,使得高科技开发资源不会形成一家独占的局面。随着对安全产品复杂性要求的提高,这些降低设计成本的因素也愈加重要。由此可见,金融终端市场也依赖于能够提出有效应对措施、专业的安全产品供应商。
利用获得批准的模块降低风险、加速POI认证。对商用化方案进行安全评估并获得PCI PTS批复,模块供应商能够降低终端设计人员的开发风险。从而简化安全系统集成,加快通过终端认证的步伐。
安全架构综述
目前,市场上的支付终端主要采用三种不同类型的架构,以不同形式提供安全接入服务,资产保护和其它功能集成在终端内,表1列出了相关需求。
安全管理器
最通用的架构之一是采用安全管理器,为通用微控制器(µp;C)增添安全功能。安全管理器能够有效保护敏感凭证、侦测物力或环境篡改事件(例如:改变温度或电压)。外部传感器输入允许连接安全防护罩、PCB防护网和篡改传感器(图1)。
图1. 基于安全管理器IC的支付终端
Maxim的DS3600等安全管理器引入了受专利保护的无痕迹存储器架构,利用片上NV SRAM存储加密密钥。电池备份存储器能够消除氧化应力在存储器留下的痕迹,防止对受应力作用的存储器单元的残余数据进行无源侦测。一旦检测到入侵操作,将立即、彻底地擦除NV SRAM的内容。这些安全管理器还提供随机数发生器等其它安全服务,通过通用微控制器(µC)进行系统维护和运行控制,包括加密服务和敏感接口控制。
双芯片架构(双控制器)
第二种方案是采用通用µC和安全配套芯片把计算与安全功能分隔开(图2)。通用µC执行所有与安全性无关的任务,而安全协处理器包含了另一µC,作为报警系统执行加密计算、控制敏感接口。
图2. 由通用µC和专用安全µC构成的双芯片架构
通过专用的控制接口连接两个µC,以避免敏感信息的泄漏。这种架构非常适合现代POI设计,这类产品大多在商用化方案的基础上使设计满足PCI PTS要求。终端设计人员可以选择通用µC单独完成系统的功能性、连通性任务以及计算功能;安全µC则用于处理所有安全保护操作,例如:PIN和密钥管理、电池备份存储器、篡改侦测、加密计算等。这款μC的选择只需要单纯考虑如何满足PCI PTS安全性认证的要求,因此可以选择预先通过认证的商用化解决方案。
安全配套芯片
MAXQ1850即为该系列产品的代表器件,这款32位安全µC设计用作任何通用µC的配套芯片。按照芯片安全评估报告的陈述,MAXQ1850能够满足最严格的PCI PTS标准要求:
连接到电池备份存储器的篡改响应传感器提供物力篡改保护,一旦检测到篡改事件立即执行擦除操作
强大的保护功能能够在发生故障和环境干扰(脉冲干扰、极端温度等)状况下提供可靠保护
嵌入式存储器用来保存敏感资源(例如:密钥和固件)
裸片防护网用于保护嵌入式存储器
安全加密功能支持所有算法(旁道攻击对策)
高度安全的随机数发生器用于产生密钥
直接控制敏感外设(例如:智能卡、键盘和显示器)
表1列出了MAXQ1850所满足的关键安全特性和设计要求,其高性能RISC核、较少的引脚数量以及所集成的关键电路使其非常适合POI系统设计,其中包括超小尺寸的便携设备。从图2可以看出,采用双芯片架构,MAXQ1850能够有效简化POI设计。
智能卡接口的I/O选择机制允许通过一个接口管理双卡,通过SPI™接口控制智能卡接口芯片(DS8024)。
利用GPIO作为片选,智能卡接口和LCD可以共用SPI端口。
级联MAX7317 SPI至GPIO转换器,简化GPIO/SPI端口的配置管理,用于访问并行外设。
USB链路连接安全µC和通用µC,通过安全应用编程接口API连接。
集成的安全µC
第三种方法,也是随着PCI PED认证的普及而被广泛用于安全金融终端的方法,即选择融合高集成度、高性能µC的单芯片架构(图3)。与通用微控制器一样,这些µC采用了最新的开云棋牌官网在线客服制造工艺;具有多种通信接口,例如USB、SPI和智能卡;并且支持功能丰富的操作系统,例如Linux® OS。这些微控制器嵌入了高速现代处理器,能够管理大容量外部存储器,例如NOR和NAND闪存,以及各种各样的RAM。
图3. 大多数小尺寸终端架构采用的单片µC包括了所有必要的安全功能。
与安全管理器一样,这些器件嵌入了安全NV SRAM和篡改/监测传感器。与配套芯片一样,这些器件运行安全加密算法,例如3DES、AES和RSA,抵御功率差分析(DPA)和简单的功率分析(SPA)。高集成度设计在安全保护能力和材料清单(BOM)均具备强大优势。
安全机制集成在硅片内,能够对其进行攻击手段将非常复杂。集成保证了启动的完整信任链,也适用于处理紧急事件和报警—报警信号不会被切断。由于电路功能已经集成在一个芯片中,所以降低了链路缺陷造成的不良风险。使用集成的外部存储器加密引擎时,无需额外的安全防护。
这种高集成度设计也有益于软件的安全保护,因为安全机制依赖于强大的硬件功能和标准化机制,例如,存储器管理单元(MMU)。注意,在单芯片方案中由软件区分敏感数据和非敏感数据,双芯片架构中则由硬件电路实现。软件以三种形式划分数据的安全等级,各有优缺点。第一种方法是采用“管理程序”,将敏感和非敏感数据分配到独立的存储单元;第二种方法则利用操作系统,例如Linux,直接进行划分;第三种方法利用Java®软件或Java类虚拟器处理独立的安全程序。
多合一集成减少了所需的芯片数量,缩小PCB面积,允许使用更灵活的外形规格,从而简化了终端设计。另外,由于只需要单个工具链、仅支持一个µC核,有助于加快开发进程。Maxim提供各种高集成度、16至32位安全µC,工作速率高达200MHz。
选择安全µC时,应该选择能提供PCI PTS实验室出具的安全评估报告的微控制器。该报告证明经过了完整实验室测试,测试结论表明了芯片厂家的专业水平,以及安全芯片所能达到的水平。第二项考虑是终端设计的难易程度。简单程度既依赖于µC特性,又依赖于厂家支持团队的力量。您应该寻求集成了关键功能的µC,例如存储器、时间记录和防篡改监测,因为这种高集成度简化了PCB布线,以更小尺寸支持关键的安全特性。Maxim加入了PCI SSC组织,并坚持以最先进的安全µC服务于PCI SSC市场。
采用ARM926™内核的高性能、32位安全微控制器MAX32590 (“JIBE”)就是一款这样的µC。器件的低功耗特性能够在400MHz时提供卓越的性能。安全特性包括:具有瞬间擦除能力的2KB安全存储器、安全实时时钟(RTC)、以及检测任何入侵的内部环境动态监测传感器。易失和非易失外部存储器(如:NAND、NOR和LPDDR)由新一代强大的AES-128加密/数据完整性验证功能完全保护。所提供的配套软件包括:预认证POI参考设计、安全Linux OS、加密库、EMV L1库和PCI PTS帮助工具。
通过PCI PTS 3.x认证的参考设计
Maxim的参考设计(USIPOS)能够帮助构建高度可靠的终端产品,确保通过PCI评估。通过PCI PTS 3.x测试的参考设计为您的终端提供最便捷的渠道,使其顺利通过认证。USIPOS参考设计的关键特性包括:无网格架构、获得PCI PTS 3.x批准,提供经过优化的硬件BOM、安全的Linux OS和EMV L1及加密库文件和硬件/软件设计指南。从Maxim的设计方案、电路布局和BOM入手,定制设计并集成到您的设备中,从而以最低的风险和成本将您的产品快速推向市场。
安全岛
除安全芯片及其管理的资产外,其它资产,例如PIN,也是攻击目标。作为预防措施,利用安全芯片外部的传感器提供保护,防止对终端设备的物理篡改。由此构建的安全机制既高效,又容易集成,并且任何报警都会立即触发擦除安全存储器。这些传感器往往监测的是片外环境,监测电路可以很好地保证其它物理区域的安全—例如,PIN所处的区域。最后,终端制造商必须具备足够的技能和知识,正确管理报警检测机制。由安全芯片管理报警的传播和相应的操作。
对于PIN和持卡人账户数据等文本数据可通过键盘、磁条和智能卡获取。因此,除了安全芯片本身采取措施外,这三个区域都需要各自的安全保护措施。资产管理数据只能暴露在这些设施以内,这也是我们称其为“安全岛”的原因(图4)。
图4. 支付终端中,由安全µC控制的传感器保护"安全岛"
基于商用化安全芯片的设计思路,有些厂商建议此类安全区域也采用商用化设计方案。最完备的解决方案是集成安全智能卡槽,例如C&K安全智能卡槽和磁条加密头,例如磁阻芯片组。这些产品与上述安全芯片具有相同优势—集成化设计,安全性高,降低风险和成本。
商用化终极方案
将上述商用化安全措施完全集成到单个参考设计中将对该行业的发展做出重大贡献—有助于简化终端制造商的产品开发、认证和生产(图5)。安全是制造商面临的主要问题,所以评估参考设计会增强其信心,节省资源,并降低了开发风险。它还以高效、高性价比设计兼容大多数苛刻的安全要求(PCI PTS)。
图5. JIBEPOS参考设计框图,包括所提供的各种功能
软件和应用
终端由硬件组成,但相关软件(不仅限于PIN输入操作)在近几年已经扩展到各种应用服务。有些设备提供忠诚度测试及其它相关业务的应用,复杂的软件架构也是图形界面、多接口(以太网、USB、GPRS连接)、EMV支持以及非接触卡不可缺少的工具。强大的安全防护措施使得软件设计更加复杂:终端设计必须极具吸引力,而安全应用决不允许泄露敏感数据,操作系统必须支持应用之间的通信,加密服务不得泄露密匙。商用化软件还能够为终端带来众多利益,包括节省开发时间和帮助最终产品通过认证。
作为一个示例,Maxim提议的安全Linux操作系统可用于USIP和JIBE平台,完全满足PCI PTS安全软件要求,简化开发过程并降低制造商的认证风险。可以获取完整的Linux版本,还有助于改善终端开发,包括图形界面、外设驱动和通信栈。
结论
以上讨论的三种架构都可以构建强大的支付终端,提供高度可靠的安全性。本文涉及的IC均为经过验证的商用化器件,可提高安全性,方便集成,并降低功耗。