当前,数字安全是电子设计领域最热门的话题之一。对于许多工程师,当提到安全性时,脑海中闪现出的第一个词可能就是加密。可能只有极少数人会想到安全认证。
然而,安全认证是安全器件或交易的基础功能。我们以家庭银行为例。显然,您希望余额和账号等保密信息能够加密,此时,您的网络浏览器上会显示一个小锁标识以及“https://”。也就是说,网络浏览器在建立安全连接时,第一件事情就是检查银行站点的真实性;换句话说,就是要对银行站点进行安全认证。实际上,如果将登录和密码信息发送到钓鱼网站,危害性非常大,因为这些凭据可被进一步重用,以银行账户持有人的名义执行未经授权的交易,而实际持有人却毫不知情。通过TLS/SSL协议,一般能够实现安全的互联网浏览,确保真实性和保密性。
安全认证对于物联网(IoT)应用也非常重要:不可信的终端可能会将整个基础设施置于危险之中。我们以连接到配电系统的智能电表为例。对于要破坏电网的攻击者,一种简单方法是将病毒或恶意软件加载到智能电表。然后被干扰的电表会向基础设施发送假消息,反应出的功耗与实际功耗相差非常大。电网将会出现不平衡;更坏情况下,攻击可能触发全网断电。为了避免这种情况,必须检验电表硬件和固件的真实性。对固件进行安全认证的过程称为安全引导。
1实施有效的安全认证方法
现在我们已经理解了安全认证的重要性,接下来我们讨论如何实施。最简单的安全认证方法是使用密码。在智能电表的例子中,设备可向电网控制系统发送密码。服务器验证密码,然后再授权执行下一步。虽然这种方法非常容易理解,但并不是最好的方法。攻击者很容易监听通信、记录密码,然后用其来对非真实的设备进行安全认证。所以,我们认为基于密码的安全认证方法比较薄弱。
数字领域执行安全认证的更好方法是质询-应答方法。我们来看看两种方式的质询-应答方法:一种基于对称加密,另一种基于非对称加密。
对称加密安全认证依赖于共享密钥。主机和被认证设备持有相同的密钥。主机向设备发送一个随机数,即质询。设备计算一个数字签名,该签名是密钥和质询的函数,并发送回主机。主机执行相同的运算并对结果进行比较。如果两项计算结果一致,则设备通过安全认证(图1)。为了确保结果不被模仿,必须使用数学属性足够的函数;例如必须保证不可能通过计算结果获得密钥。SHA-256等安全散列函数满足这些要求。对于质询-应答方法,设备在不泄露密钥的情况下证明自己知道密钥。即使攻击者拦截通信,也无法接触到密钥。
图1. 基于对称加密的安全认证依赖
于主机和设备之间的共享密钥
基于非对称加密的安全认证依赖于两个密钥:私钥和公钥。只有被认证的设备知道私钥,而公钥可透露给希望对设备进行安全认证的任何一方。与上文中讨论的方法一样,主机向设备发送质询。设备根据质询和私钥计算数字签名,并将其发送给主机(图2)。但此时,主机使用公钥对数字签名进行验证。用于计算数字签名的函数拥有特定数学属性至关重要。非对称方法中最常用的函数是RSA和ECDSA。同样,设备也在不泄露密钥情况下提交了自己知道密钥的证明,即私钥。
图2. 非对称密钥安全认证依赖于公钥和私钥。
2为什么安全IC有益于安全认证
质询-应答安全认证始终要求被认证的对象持有密钥。对称加密方法中,该密钥为主机和设备之间的共享密钥;对于非对称加密方法,该密钥为私钥。无论哪种情况,一旦密码泄露,质询-应答式安全认证就失效了。安全IC有助于防范这种情况。安全IC的一项基本特性是为密钥和密码提供强保护。
ADI提供三种支持安全认证的解决方案。
安全认证IC:IC是可配置但固定功能的器件,为实施质询-应答安全认证提供最经济的途径,并且具有基本的加密操作。
安全微控制器:在支持质询-应答安全认证的基础上,提供全面的密码学功能,包括加密。
低功耗微处理器:尽管这些产品并非专用于加密,但拥有支持强安全认证所需的电路模块。
安全认证IC中,基于SHA-256的产品支持基于共享密钥的安全认证(图3),而基于ECDSA的IC使用私钥/公钥对(图4)。除加密引擎外,这些产品拥有板载EEPROM存储器。该存储器是可配置的,可用于储存经过安全认证的用户数据,例如传感器的校准信息。
基于SHA-256的产品是最经济的方案。尽管支持相互认证,但共享密钥的分发要求采取一定的防范措施,保证设备制造和配置期间不会泄露密钥。为克服该缺点,可在工厂对密钥进行编程。
图3. SHA-256密钥安全认证基于共享密钥。
ADI的DS28E15/22/25 IC基于SHA-256技术,拥有不同的内部存储器容量。由于主机和设备侧储存有相同的密钥,我们建议主机侧使用协处理器,例如DS2465。
DS28C36和DS28E35等基于非对称加密的产品提供更灵活的方法,因为主机侧不需要防止密钥被泄露。然而,为降低公钥算法负荷并且提供附加安全操作,可利用DS2476 (DS28C36的配套IC)等主机侧协处理器简化系统方案的开发。
图4. 基于ECDSA的安全认证算法依赖于私钥/公钥对。
3支持对称和非对称加密的安全微控制器
ADI提供各种各样的安全微控制器,包括从MAX32590 (ARM9,工作频率384MHz)应用级处理器(支持Linux等高级操作系统)到MAX32555或MAXQ1061等小尺寸协处理器。
这些微控制器支持对称和非对称加密,适用于数字签名和安全认证,以及加密算法。器件拥有支持SHA、RSA、ECDSA和AES的硬件加速器,以及完整的加密算法库,提供符合标准的整体API方案。器件内置安全引导,所以能够保证固件可靠性。得益于齐全的加密功能,器件能够支持多种安全认证方法。
MAXQ1061协处理器不仅支持安全认证,而且也支持使用IP的TLS/SSL标准安全通信协议的大多数关键步骤。在芯片内实现TLS协议可提高安全水平并减轻主处理器执行计算密集型任务的负荷。这对于资源受限的嵌入式系统非常宝贵。
MAX32626等低功耗微控制器的目标应用为可穿戴设备,所以不是“安全为中心”的IC。然而,随着攻击现象日益频繁,产品的设计也充分考虑了未来的安全挑战。所以,MAX32626具有支持安全认证的硬件信赖保护单元,以及用于加密的硬件AES和内置安全引导。
4总结
本文中,我们探讨了什么是安全认证及其重要性。同时我们也看到,得益于已有基于硅的方案,不需要是加密专家,也完全能够实现安全认证。
原文转自亚德诺半导体