连网设备的普及加剧了隐私泄漏的风险。幸运的是,已经有许多现成的芯片和服务可以帮助设计抵御入侵,并防止隐私数据未经授权被访问,关键在于识别出需要排解的特定威胁。
概括地说,隐私意味着未经信息所有者授权无法访问指定信息。隐私涉及安全,如果不能确保信息安全,就无法保证信息保密。但它们并不是一回事,信息安全还涉及防止恶意修改或破坏。从这个意义上讲,信息可以在不保密的情况下保证安全。
保持信息私密性的原因很多,其中一个主要原因就是全球范围的许多政府法律法规要求维护个人相关信息的隐私,即个人身份信息(PII)的保密。PII的大部分构成内容是显而易见的,诸如个人姓名、地址、帐号、位置、健康状况、照片和参与的活动等,大多数人都能意识到这些是应该要保护的隐私信息。
但是,还有一些其他类型的信息可能也需要保证安全但显然不属于隐私信息,因为通过这些信息本身是无法识别个体的。如果与第二条信息配对后,第一条信息变得可识别,那这类信息也是需要保密的。例如,连网的恒温器温度设置似乎并不需要隐私保护,如某处的恒温器设置为55度;但是,将该设置与恒温器当前的位置信息配对之后,马上变得与个人信息相关。如果某所房屋的恒温器设置为55度,别有用心的人可能推断出房主正在度假,入室盗窃会比较容易。
在电子设备中保证信息或数据安全非常重要。静态数据(即内存或存储器中的数据)和动态数据(在网络中通过电线和电路传输的数据)都需要保护。如果保护涉及加密(通常都会涉及),那么加密密钥也必须受到保护。除了呈现出来或被传输的个人数据和密钥以外,设计人员可能还需要确保系统软件和固件不被篡改,以免别有用心者更改系统行为,泄漏隐私信息。
电子数据安全受到攻击的方式有很多,而且方式还在不断增加。例如,远程攻击者可以窃听网络通信。一个“中间人”也可能拦截传输中的信息,并假扮为预期的接收者,在通讯的双方之间传递信息并掩盖行迹。远程攻击者还可以发送消息,触发系统漏洞,在配置或在线升级期间植入恶意软件,或利用其它代码漏洞。
图1:危害数据安全的攻击形式多种多样,需要多种不同的应对策略。(图片来源:ARM)
如果攻击者对系统具有物理访问权限,甚至只是接近系统,那么就会打开额外的攻击通道,包括侵入性和非侵入性攻击。比如,探测信号总线可以在信号流经系统时泄露隐私信息;监测电源线或电磁辐射可以获取信息并通过加密密钥进行恢复。物理访问还可以更改信息内容甚至替换代码存储设备,就像剥离包装暴露裸片以进行探测和分析一样。
对数据安全的物理攻击也可能在设备部署之后发生。例如,别有用心者可以在制造和组装过程中复制加密密钥,甚至克隆整个系统。这样,设备的克隆体可以就像在系统中一样地运行,通过“内部”活动绕过几乎所有形式的安保措施。而且,一旦设备退役并被丢弃后,攻击者也可以获取并随意提取信息。
没有什么单一的方法可以应对多种可能的攻击来保证安全性,而实现所有可能的安全性方法,其成本一定非常高。而且,攻击的时机和风险也因应用的不同而不同。因此,开发人员必须谨慎选择应对方法。在开始详细设计之前就考虑对策,建立威胁模型。这个模型不仅应考虑设备本身,还应考虑与其连接的系统。它还应检查设备正常运行设置的环境以及整个生命周期。
开发人员应采取以下步骤来开发威胁模型:
●确定需要保护的资产(数据)。为保护隐私,资产应包括通过该设备呈现或传输的任何PII信息。还必须包括加密密钥(如果有使用的话),并且可能需要包括系统固件、身份代码、消息元数据等。
●确定这些资产可能遭受的攻击类型,估计遭受攻击的可能性并评估被攻击之后的影响。确保评估涵盖了设备的整个生命周期,包括制造、部署和最后的处置。这将有助于确定哪些威胁足够严重,需要采取措施来缓解。
●根据设计时间、性能和物料清单,确定需要采取的对策及其实施成本。
以此建立的威胁模型将有助于规范保护数据隐私所需的软硬件设计属性。幸运的是,半导体行业已经开发出很多设备与服务,可以应对大多数的威胁,并为开发人员提供支持,以帮助他们确定合适的应对之策。
大多数情况下,保障静态或动态隐私数据的安全性最后都归结为适当使用加密。否则,如通过使用专有格式、数据结构或数据解释来编码数据,都太简单而容易被入侵。这些“含糊的安全”(security by obscurity),几乎不堪一击,一次成功的攻击就可使系统处理或处理过的所有信息都变得透明。
然而通过加密,用密钥值以数学方式对数据进行加密后,只能使用密钥来逆转。这与编码不同,编码会保留数据可能拥有的任何结构(以利于解码),而加密会打破所有数据结构。根据加密的类型和加密密钥大小的不同,通过检查加密数据来提取密钥要比使用当前的计算资源来获取要麻烦得多。因此,如果能保证基础密钥本身的安全,那么加密就是所有数据安全的基础。
目前流行的两种加密算法为对称加密和非对称加密。在对称加密中,相同的密钥被用于加密和解密,需要的处理能力相对较低。AES(高级加密标准)和3DES(三重数据加密标准)是常用的对称加密算法。这种加密方法对存储数据(静态数据)相对容易,但对传输中的数据(动态数据)来说,需要数据传输的各方都拥有加密密钥,而要确保多个密钥副本的安全性迅速成了一个麻烦事。
非对称加密算法,如RSA(公钥算法)和ECC(椭圆曲线密码学),均涉及两个密钥,只有其中一个需要保密。公钥可用于加密数据,而只有私钥(保密)可以解密数据,并且只有使用私钥加密的数据才能被公钥解密。这样可确保数据仅在一个方向上传输:从公钥持有者到私钥持有者。而任何持有公钥的人都可以恢复通过私钥加密后传输的数据,尽管数据是真实的(即它只能有一个来源)。与对称加密相比,非对称加密还有一个缺点,就是计算更加密集。
为了避免在限制计算复杂性的同时要求共享密钥,安全的网络通信通常在建立链接时将公钥算法与密钥交换算法结合使用。两个通信方交换其公钥,使用公钥加密的消息相互进行身份验证,并相互确定用于对称加密的共享密钥,随后将其用于其余的通信会话。 之后,共享密钥将被丢弃,从而有助于确保其它通信会话的安全。
最初,无论有无硬件加密加速器,微处理器和微控制器都完全在其主固件中执行加密算法。这意味着,在系统中的某个位置,加密密钥以纯文本形式保存在内存中,即使网络通信进行了加密,它们也很容易受到各种远程软件和物理硬件的攻击。另外,配置机制或最初向处理器提供其密钥,也打开了可能暴露密钥的其它攻击媒介。
图2:加密器件为主机处理器提供安全的密钥存储以及身份验证服务,而不会暴露保密信息。(来源:Microchip)
而芯片供应商现在提供了一系列硬件和软件产品及服务,为日益多样化的攻击环境提供了应对之策。最简单的方法之一是使用带有安全密钥存储的加密器件。这些器件(例如Microchip ATECC508A及其系列产品)为主处理器存储加密密钥,并在公钥交换期间提供身份验证服务和密钥创建,而不会暴露其私钥。许多产品还提供篡改检测功能,可在受到侵入式物理攻击时擦除存储的密钥。
某些加密器件,例如Maxim Integrated的DS28E38,甚至不存储其私钥。Maxim的ChipDNA技术利用其芯片独有的32位序列号和片上物理特性,重复创建私钥,该私钥从未被存储,而且即时创建,用后即弃。正常的生产差异确保了每个芯片使用的物理参数值都是唯一的。而侵入式探测将改变这些值,从而使攻击者几乎不可能重建密钥。这种方法具备另一个特性,即物理不可克隆功能(PUF)。因为克隆器件时其序列号也被复制,而加密器件的物理参数不可能与之匹配。
加密器件旨在用作主机处理器的附件。加密协处理器也是如此,但它们不仅仅提供安全的密钥存储和身份验证服务,例如恩智浦C29x系列加密协处理器还可以从主机处理器上卸载所有加密任务。
图3:保证数据安全的硬件现在已可以集成到各种处理器中,包括FPGA。(来源:Lattice Semiconductor)
随着处理器变得越来越强大,供应商开始将该功能迁移到主机中,从而将安全密钥存储和加密加速功能与处理器内核集成在一起。同时,供应商采取了一些措施来缓解那些对系统造成威胁的远程攻击,在这些系统中,加密是系统固件的一部分。通过将安全功能从应用处理器隔离出来,处理器供应商创建了一种硬件“信任根(root of trust)”,这是外部力量无法影响的。这种信任根提供的安全策略包括:安全启动(Secure boot)、固件及其升级的身份认证,以及网络通信期间的安全身份认证和识别。
目前已经有许多信任根解决方案,例如ARM的TrustZone硬件安全模块,已经有很多ARM授权客户(包括NXP和STMicroelectronics)将之集成到其处理器设计和SoC中。还有诸如Secure-IC等供应商提供的其它信任根IP。Cypress在其pSoC-6架构中集成了硬件信任根,而Lattice在其MachXO3D FPGA中搭配了硬件信任根。NXP也提供了A71CH安全器件,用来在传统处理器中增加“即插即用”的信任根。
但是,正如威胁建模应明确指出的那样,仅仅这类硬件并不是确保数据隐私的解决方案,而只是基石。从系统软件到制造过程中的所有内容都需要成为数据安全工作的一部分。因此,处理器供应商已经通过软件和服务增强了其芯片性能,以帮助开发人员确保从设计到生产和部署的数据安全性。例如,ARM Trust Zone及其关联的平台安全体系结构可为开发人员提供设计及其认证方面的支持。Microchip为开发人员提供了一个安全配置套件,可以将设计链接到亚马逊网络服务(Amazon Web Service)平台。其它一些处理器供应商为其大客户提供安全配置服务,而分销商(诸如Arrow Electronics)则为较小规模客户提供安全配置支持。
通过了解连网设备所面临的威胁和应对策略的复杂性,我们应该清晰地认识到,数据隐私的保障不应是设计之后要实现的功能。产品的硬件、软件、制造、操作环境、甚至产品停止服务之后,都可能为蓄意或无意的数据隐私损害提供机会。而且,这种威胁还在不断扩大。数据隐私需要成为一项设计功能,长久发挥作用。
(参考原文:Designing hardware for data privacy)
责编:Amy Guan
本文为《电子工程专辑》2020年3月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅