摘要
随着安全性需求不断渗透到电子系统设计的各个环节,制造商和电路设计人员面临着前所未有的挑战。问题的核心在于在新的应用中增加前所未有的安全及防篡改措施,还需避免在现有的安全电路中过多引入新的设计更改。新一代安全标准的出现加速了对认证体系的需求,而设计中对尺寸、成本的苛刻要求进一步增大了设计难度。为了应对这一挑战,Maxim根据新的安全标准对控制、分层管理体系的要求推出了一系列极具创新性的器件。而且,这些新器件能够以最低成本、最低设计风险改善传统设计的安全性,本文针对这一点进行讨论。
本文还发表于Maxim工程期刊,第59期(PDF, 876kB)。
随着安全性需求不断渗透到电子系统设计的各个环节,制造商和电路设计人员面临着前所未有的挑战。过去,只有少量的电子设备用户才会考虑安全性问题,而且主要集中在金融行业、军用产品、门禁控制市场等,大多采用相关的软件技术或专用硬件实现。而这种状况在最近几年发生了巨大变化,工程师需要面对层出不穷的安全标准、需要获得相关的产品认证,即便是很有经验的嵌入式系统设计人员,也要不断学习掌握这项新技术。了解这一技术趋势以及相关的设计、制造成本对于嵌入式系统制造商非常关键。
由于通过软件/固件设计很难保证全面的系统安全性,这就需要借助硬件保证系统的安全性,降低设计的复杂度(见附录1—等级分类)。新推出的标准体系,例如:Trusted Computing Group™及各种数字版权管理(DRM),涉及到消费类电子、多媒体、工业、医疗、汽车、电信等各个领域。当然,这一问题还涉及到政府、国家安全系统升级和不断发展的电子银行、电子商务系统。
为了获得更有效的安全体系,系统必须具备防物理篡改功能。即便是最老道的安全微处理器、FPGA、智能卡或其它安全设施,都会存在一些易受攻击的薄弱环节。这就需要系统有一个适当的有源保护电路,该电路即使在系统关断的情况下也能处于有效工作状态,监测可能发生的窃取敏感信息或知识产权的操作。为了完成这项任务,器件必须具备极低的功耗,并将防篡改响应电路与适合不同传感器的接口电路相结合,为敏感数据提供一道有效的防护网。
应该注意到,加密算法已不再是防范攻击的重点。攻击者会通过各种途径窃取密钥。因此,设计人员已经不在加密算法上投入过多精力,而是将注意力转向硬件保护方案的设计。
新的安全标准
新推出的安全标准大多参考了美国国家标准局(NIST)和英国通信电子安全组(CEG)建立的安全规范。这两个组织提供的标准分别是FIPS 140-1和ITSEC。
随着对安全水平要求的提高,以及众多新标准不断涌现,负责制定标准的跨国组织正采纳一个新的、统一的标准,称为“公共标准”,它组合了这些标准的优点(见附录2—通用认证/标准)。例如,NIST最近将其FIPS规范更新为140-2版,并且很快会统一到公共标准。
此外,随着金融领域对安全设备需求量的增多,其它标准也开始变得活跃起来。公认的有MasterCard®和Visa®制定的EMV (欧洲MasterCard Visa)和PCI PED (支付卡行业,PIN输入设备)。这些标准与DRM相融合,能够使移动平台具备处理金融交易的能力,并可保护用户及系统的身份。政府也制定了新的法案,如FIPS 201身份验证(PIV)等。由此可见,安全认证标准的要求会越来越严格。
上述标准都论述了对物理安全性的要求,以满足不同终端产品范畴的规范。通常,这些安全性要求被划分到多个层次,从处理器开始到最终封装,包括处理器、涉及敏感数据或算法的存储器及数据通道。终端产品要取得认证,必须通过认证机构的全面测试,并提供一份安全文档,说明产品如何防范各种物理威胁。要通过某些标准认证(例如PCI),制造商必须说明新产品在安全方面比现有产品有哪些改进,以满足新升级的标准。许多情况下,制造商和设计部门之前并没有面临类似要求,因此不清楚需要在产品中实现怎样的安全性。
不同应用对安全等级的要求千差万别,但是,对物理篡改保护功能的要求越来越严格。随着一些用于窃取数据的高端分析工具和专业技术的出现,越来越多的应用要求具有物理篡改保护功能。
DeepCover安全管理器系列产品介绍
为了帮助设计人员以小尺寸、低成本、低功耗满足严格的物理保护功能的需求,Maxim推出了新一代安全控制器产品,用于保护硬件设备。DeepCover®安全管理器(DS3600)作为该系列的首款产品,能够为嵌入式系统提供可靠的安全保证,满足现有标准和新标准的要求。
这些器件具备精心设计的温度监视(利用具有超低漏电流的比较器)、低温攻击保护、计时和篡改记录功能,以及密码子系统(图1)需要的众多其它功能。这些功能的核心是独特的存储单元结构,可进一步保护顶层密钥和认证信息。传统的存储单元都存在数据印迹现象,即存储单元会残留先前保存的信息。可以通过多种攻击手段提取这些残留信息。DS3600内部的无印迹存储器是第一款具备该功能的器件,可有效防范这种常见的攻击方式。此外,使用一条硬件命令可迅速擦除整个存储器阵列。这种组合多种功能的安全控制器可极大地降低功耗,并且密钥存储器保护无需主处理器介入。
图1. DS3600防篡改控制器具有超高性能的比较器,可连续监控低功耗系统,符合最高级别的公共标准要求。
大多数情况下,该系列控制器的高集成度可替换40个以上的分离元器件。DS3600系列不仅具有小尺寸、低成本和低功耗的特点,还可省掉其它价格昂贵的器件,如安全微处理器。因此,嵌入式系统制造商不必采用安全处理器架构即可通过认证,并获得丰富的软件资产。由于这些产品专为满足认证要求而设计,当设计人员必须提供必要文档以取得产品认证时,它们可提供最有力的帮助。
附录1—等级分类
为确定系统需要的安全等级,10多年前IBM®给出了一种等级分类方法,用来说明潜在的攻击等级,并且沿用至今。
等级I (聪明的外行)
- 通常很聪明
- 系统知识匮乏
- 可能使用过适度复杂的设备
- 通常会攻击系统的薄弱环节,而不会构建一个新系统
- 具备扎实的专业技术教育背景和工作经验
- 具备一些系统知识,可能接触过系统的大部分模块
- 经常使用高端工具和分析仪器
- 拥有大量资金
- 能够组建专家队伍
- 能够获取或使用大部分高端分析工具
- 能够深入分析并设计复杂的攻击行为
- 可能招募等级II中知识丰富的行家,以扩充其攻击队伍
物理攻击
- 侵入封装
- 切割、蚀刻以及离子或激光钻孔
- 反向工程(需要若干器件样品)
- 生成电路原理图
- 提取ROM码
- 识别关键电路单元(即存储器)的物理位置
- 探测存储器
- 通过FIB工作站更改电路
- 通过致电离辐射改变某些特定晶体管的状态
- 微探针测试
- 对存储单元氧化物进行先进的光谱分析
- 致电离辐射和热/冷侵袭
- 引入电压波动和时钟扰动
- 差分能量分析
附录2—通用认证/标准
NIST FIPS 140-2,第1级至第4级
- CSEG ITSEC E1至E6
- 公共标准EAL1至EAL7
- EMV 4.1第1级和第2级(主要用于银行/POS)
- ZKA (主要用于银行/POS)
- PCI PED (主要用于银行/POS PIN输入)
- 存在不同的保护要求、安全目标和方案
- UK EN45011:1998
- ISO-15408
- 可信赖计算联盟提出额外的保护要求
- IBM可信赖移动平台安全要求
NIST FIPS 140-2
FIPS 140-2定义了4个安全保证等级,从最低级到最高级,每一级构建于前一级基础之上。
第1级:要求产品正确实现NIST标准加密算法,包括数据加密标准(DES)、3DES和高级加密标准(AES)。
第2级:产品具有防篡改保护屏障,确保器件的任何毁坏都是可知的。
第3级:适用于密码模块,当模块侦测到物理攻击电路元件时,应清除密钥。符合第3级标准的产品要求访问必须通过授权。
第4级:当篡改者试图阻挠物理访问控制功能时(如通过冷却方式),提供相应保护。
大多数安全产品采用FIPS 140-2第2级或第3级认证规范,只要模块安装在受控的环境内,两者都可提供足够的安全性能。
公共标准
公共标准采用评估保证级别(EAL)分级标准。该标准要求产品满足安全目标和保护要求文档给出的功能需求。这些文档由供货商提供,并由公共标准评估机构评估。EAL的级别分为EAL1至EAL7,大多数产品采用EAL4或更低级别的公共标准认证。
EAL1:产品满足基本的安全要求。
EAL7:产品满足极为安全的要求。
EAL5、6和7的认证要求极为严格,需要评估产品的开发过程和理论框架,并且需要进行功能测试。
首先需要评估安全目标和保护要求文档,这样EAL评估才有意义。
类似文章发表在2006年10月出版的Embedded Systems Europe上。
关联至此文章
产品
DeepCover安全管理器采用AES加密技术提供防篡改密码节点控制
DeepCover安全管理器,带有64B无痕迹、电池备份的加密SRAM
DeepCover安全管理器,带有I²C接口和1KB无痕迹、电池备份的加密SRAM
DeepCover安全管理器,用于带有RTC和热敏篡改检测的NV SRAM控制
DeepCover安全管理器,带有1KB安全存储器,支持可编程篡改分级侦测和低压工作
DeepCover安全管理器,具有热敏篡改检测功能
DeepCover安全管理器,具有超低功耗篡改检测电路和无痕迹存储器
DeepCover安全管理器,带有4KB安全存储器和防篡改保护功能
DeepCover安全管理器,具有128字节无痕迹存储器
DeepCover安全管理器,带有1KB安全存储器,支持可编程篡改分级侦测
DeepCover安全管理器,带有SPI™接口和1KB无痕迹密钥存储器
产品分类
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}