内存的设计早就考虑了安全性,但是由于网络连接性的增加,又因为疫情引起了远程办公需求的激增,使数据保护更重要且更具挑战。在最新的应用中,当数据在5G等通信基础设施之间共享时,安全性面临着更严峻的挑战。
而兼顾安全性会使存储器的设计更加复杂。
在边缘计算、物联网(IoT)和网联汽车的爆炸式发展之前,内存中的安全功能就在不断增强。电可擦可编程只读存储器(EEPROM)尤其适用于信用卡、SIM卡和无钥匙进入系统。SD卡中的“S”代表“安全”,闪存固态硬盘(flash-based SSD)多年来也一直具有加密功能。
安全保护功能已牢牢地嵌入内存和网络设备中,分布在整个计算系统和网络环境里。但是这些通过内存提供的安全保护还需要解决人为错误。例如用户打开了虚假附件或路由器配置了错误信息,专业的安全人员必须能够处理这些人为错误带来的不良后果。
内存安全功能必须正确配置,并且还要与同样包含软件的系统协调一致,才能完全发挥其优势。
你会说双SoC(安全运营中心和片上系统)已逐渐合二为一。
图1:英飞凌的Semper Secure NOR闪存可作为硬件的信任根(root-of-trust),同时还可执行诊断和数据校正,以确保功能安全。(图片来源:英飞凌)
Rambus等公司提供的产品可以确保每个连接的安全,以满足云计算和边缘计算中不断增长的服务器连接带宽要求。 如图1所示,英飞凌扩展了赛普拉斯半导体Semper或非闪存(Semper NOR flash memory),说明每个系统联网后必须面对的现实——黑客篡改闪存设备中的内容不可避免。
这种篡改会影响不计其数的计算平台,包括自动驾驶汽车,自动驾驶汽车实质上就是带轮子的服务器。再加上5G网络拓宽了工业、医疗和物联网的使用场景,许多设备不仅需要增加安全性,还需要在使用寿命期内维持安全性。一些使用嵌入式内存的设备也许会运行十年。内存占用大的应用仍然最容易引起黑客攻击。
分析师Thomas Coughlin表示,密钥管理对于确保系统安全仍然至关重要。随着非易失性存储技术的发展,将安全性置入嵌入式系统中变得越来越重要,因为即使关闭设备电源,数据也会保留。
Coughlin说:“面临的挑战不是增加安全功能,比如说将固态硬盘(SSD)上的数据加密,最大问题是用户能否轻松地使用这些功能,因为数据防护里最薄弱的环节通常是人为因素。”
智能手机充当了身份验证工具,生物识别技术取代了传统密码,这些可能引起未加密数据的意外泄露。Coughlin称,在实施中出现纰漏或者复杂性太高容易导致危险。重中之重是让安全保障变得容易,而不是仅仅加密数据然后将其放入硬件中。”
SSD和内存供应商Virtium的营销副总裁Scott Phillips表示,加密SSD这一技术是有局限的,它需要一种多层管理的方法。Phillips说,尽管存储规范(比如Trusted Computing Group 的Opal规范)可以完成基本输入输出系统(BIOS)级别的预引导身份验证,但配置和集中管理对于防范黑客攻击至关重要。
他补充说:“即使一家规模像样的公司也无法提供全面、完善的安全保障。”
随着5G的加速发展,人们正在努力实现对整个数据中心以及数据中心之间的数据路径进行保护,但是要利用硬件来获得安全保障仍然存在挑战。
在半导体市场中,整合需要集成不同的系统。Phillips说,与此同时,Amazon Web Services和Microsoft Azure等超大规模云平台正在提升数据的安全性。尽管如此,这些防御措施仍须贯彻实施到终端用户。
尽管有越来越多的标准和要求,但安全方法的兼容性问题仍然存在。Phillips说,供应商仍努力将他们自己定位为安全产品和服务的领导者。
“黑客总是领先一步,”他补充说,“他们知道所有小漏洞的位置,小漏洞就是他们要找的东西。这就需要非常细致的IT人员或中心部门来检查和解决所有这些漏洞。”
将安全功能嵌入到内存设备中,而不是直接加到设备上,这与软件安装方式并无二致。“DevSecOps”将使安全和隐私保障成为应用程序开发过程中不可或缺的一部分。
利用一种被称为“机密计算”的新兴框架,通过将计算隔离在可信执行环境(TEE)中,可以保护使用中的数据。在处理数据时,数据会在内存中以及CPU外的其他地方进行加密。
图2:英特尔SGX支持创建可信执行环境,该环境是主处理器的一块安全区域,可确保内部加载的代码和数据的机密性和完整性得到保护。
包括谷歌在内的软件和硬件供应商都在推广机密计算,谷歌最近宣布可以将其应用于容器工作负载。英特尔还通过他们的英特尔软件保护扩展(Intel Software Guard Extensions)为Microsoft Azure等云服务提供商提供TEE。
机密计算需要共同承担安全责任。英特尔产品保证和安全架构首席高级工程师Simon Johnson表示,人仍然是最薄弱的环节。
Johnson说,英特尔支持开发人员通过执行代码来保护数据。与此同时,机密计算是源于企业要求处理数据而不考虑数据来源这一要求而发展的,这样的数据包括敏感的医疗保健信息、财务记录和知识产权。
Johnson说,平台提供商应该看不到数据。“你的信息知道的人越少越好。”
如图2所示,英特尔SGX包括基于硬件的内存加密,该功能可以隔离内存中特定的应用程序代码和数据,允许用户代码分配私有内存“隔离区”,设计这些隔离区是为了与运行在更高权限级别的进程进行隔离。这是为了进行更精细的控制和保护,防止攻击,例如针对随机存取存储器(RAM)中内存的冷启动攻击。
英特尔框架还有助于阻止软件类型的攻击,即使在操作系统、驱动程序、BIOS或虚拟机管理程序受到威胁的情况下。
机密计算将启用工作负载,例如对不属于用户的大数据集进行分析。它还使密钥的执行更接近工作负载,从而改善了延迟。Johnson说:“如今实际上只有软件能提供保护,在这类环境中我们并没有硬件保护。”
Johnson说,由机密计算联盟授权,机密计算将通过硬件和软件生态系统来保护数据或代码处理。
Virtium公司的Phillips指出,“易用性”几乎总是可以提高安全性。他补充说:“按钮式存储器加密是我们的目标,全面的安全性是由基于此的附加功能保证的。”
他说,这种方式不仅仅是加密内存,还为了保证全面的数据隔离,以确保安全的网络环境。机密计算技术远不止加密内存。
这也是为了适应多样化的世界。“使用数据时,你必须提供访问控制层,还要能够证明是你在使用软件,并且数据要处于特定区域内。所有这一切都像梯子一样一层层搭建起来。”
(原文刊登于Aspencore旗下EETimes网站,参考链接:Memory Only a Piece of the Security Puzzle,由Jenny Liao编译。)
本文为《电子技术设计》2021年5月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。
责编:Jenny Liao