内存的安全功能并不是新概念,但因为新冠病毒肺炎疫情导致远程工作与联机需求激增,也意味着保卫资安变得更重要、甚至更具挑战性,特别是包括5G在内的跨通讯基础建设数据分享等新兴使用案例。在此同时,安全性功能会为内存设计增添复杂度。
甚至是在边缘运算、物联网(IoT)、连网车辆等市场大幅成长之前,内存内的安全功能就在逐渐增加。电气可擦除可程序化只读存储器(EEPROM)是信用卡、SIM卡与无钥门禁系统的最爱;SD卡的“S”就是代表“安全”(secure);还有以闪存为基础的固态硬盘(SSD),多年来已经内含加密功能。
安全性已经稳固地被嵌入分布在运算系统与网络环境中的内存和连网装置,但是这些基于内存的安全性还是得考虑人为错误──对于使用者开启了伪装成附加档案的病毒,或是路由器被错误配置的后果,资安专家仍需要因应。类似地,除非正确地配置、并与整个系统包括软件相互协调,安全性内存的功能无法完全发挥。
你可以说,有两种“SoC”──安全运作中心(security operations center)以及系统单芯片(systems on chip)正在融合。像是Rambus等公司提供的产品旨在保护每一个连结,以因应云端与边缘运算服务器连结带宽需求的增加。同时Infineon也扩展旗下Cypress的Semper NOR闪存,以因应每一个被链接系统必然会面临黑客窜改闪存组件内容的问题。
Infineon旗下的Semper NOR闪存扮演硬件信任根的角色,同时也执行诊断与数据校正,以确保功能安全性。(数据源:Infineon)
窜改可能会影响任何数量的不同运算平台,包括基本上就是有四个轮子之服务器的自动驾驶车辆;此外还有透过5G连网而强化的工业、医疗,物联网(IoT)应用情境。安全性不只需要被整合其中,也需要在不同装置的整个生命周期中──其中部份具备嵌入式内存的可能长达十年──被管理。高内存成份的应用对黑客来说最具吸引力。
市场分析师Thomas Coughlin表示,加密密钥管理仍然是保障系统安全的关键;随着非挥发性内存激增,将安全性放进嵌入式系统越来越重要,这是因为即使装置电源关闭,数据仍然会被永久保存。Coughlin指出,添加安全性功能不那么具挑战性,例如SSD上的数据可以加密;“问题在于用户是否能轻松使用这些功能,因为最弱的连结通常就是人。”
因为生物辨识功能取代了传统的密码,智能手机成为一种身分验证代理;但这种情境开启了未加密数据意外被曝光的可能性。Coughlin指出,风险在于实作上的缺陷或是复杂度:“让安全性简单是关键,这比加密数据并将之放进硬件还要重要。”
SSD与内存供货商Virtium营销副总裁Scott Phillips表示,加密SSD效果有限,需要多层、受管理的方法。他指出,像是Trusted Computing Group的Opal规格,能达到BIOS等级的开机前身份验证(pre-boot authentication)、配置与集中化管理等在防堵黑客方面非常关键的功能;“但就算是有相当规模的公司,也无法实现全面、完善的安全性。”
随着5G加速发展,人们正在努力实现横跨整个数据中心以及数据中心之间的数据路径保护;然而要充分发挥硬件安全性的优势,挑战仍然存在。
整合的需求
在工业应用市场,整并需要结合不同的系统;同时超大规模数据中心业者像是AWS与Microsoft Azure都在积极推动资料安全性。不过Phillips指出,这些防御措施还是需要贯彻到终端使用者。而尽管有越来越多标准与要求,安全方案的互操作性仍然是一个问题,供货商还是尝试将它们的产品与服务定位为市场领导者。
“黑客总是会领先一步,”Phillips补充:“他们知道所有那些小漏洞在何处,这就是他们在讯找的东西;确实需要集中化、超级细心的IT人员或部门全面检查并关闭这些漏洞。”
将安全性嵌入内存装置而非用螺丝将之拴上的想法不同于软件方案,“DevSecOp”(EETT编按:Development、Security与Operation三个字的结合)基本理念,是关于将安全性与隐私保护成为应用开发过程中不可或缺的一部份。
有一种被称为“机密运算”(confidential computing)的新兴框架,旨在透过将运算隔离于以硬件为基础的可信任执行环境(trusted execution environment,TEE)中,来保护使用中的数据。在处理过程中,数据于内存中、还有CPU以外的其他地方会被加密。
Intel的SGX能实现可信任运算环境,也就是主存储器的一个安全区域,确保加载之编码与数据在机密与完整性上受到保护。
软硬件业者都在推动机密运算,包括最近宣布将之运用于容器工作负载(container workload)的Google;Intel也为云端服务供货商如Microsoft Azure透过Intel Software Guard Extensions实现TEE。机密运算需要安全性责任的共同分担,然而Intel Product Assurance and Security Architecture资深首席工程师Simon Johnson,人类仍然是其中最弱的一个环节。
Johnson表示,Intel支持开发人员透过执行程序代码来保全数据,同时机密运算运动源自企业对于保护各种源数据的需求,包括敏感性的医疗保健信息、财务纪录以及智能财产(IP)。他指出,平台的供应者应该不能看到数据,“你会想尽可能让越多人远离你的个资。”
Intel SGX包括以硬件为基础的内存加密,能将特定应用程序代码与数据隔离于内存中,让用户层级程序代码能分配到专有“隔离区”,与执行在较高特权层级的处理程序隔开。这能实现更精细的控制与保护,防止诸如针对RAM的冷启动攻击(cold boot attack)。该框架也被设计成能保护软件攻击,甚至是在操作系统、驱动程序、BIOS或虚拟机管理程序受损时。
机密运算能支持不属于使用者之大型数据集分析等工作负载,以及让加密密钥在更接近工作负载的地方执行,以改善延迟。“目前我们真的只有提供保护的软件,我们在那些种类的环境中缺少硬件保护方案;”Johnson指出,透过机密运算联盟(Confidential Computing Consortium)授权的硬件与软件生态系统,机密运算能保护数据或程序代码的处理。
Virtium的Philips指出,易用性一直是提高安全性的关键,因此实现“一触即发“的内存加密会是一个目标:“全面性的安全将来自于其上的所有附加功能;”他指出,这个想法不仅是加密内存,还要保证完整的数据隔离以确保安全环境,“机密运算不只是加密内存而已。”
这也与包容一个异质整合世界有关;他表示:“当数据在使用中,你必须要提供一个访问控制层,并且能证明你在使用该软件,数据是在一个特定区域;所有这些是以阶梯式建构。”
编译:Judith Cheng 责编:Yvonne Geng
(参考原文:Memory Only a Piece of the Security Puzzle,By Gary Hilson )