漏斗型考量防护需求层级IoT终端装置安全有保障
作者:新唐科技股份有限公司 微控制器应用事业群 凌立民技术经理
随着近年来物联网 (Internet of Things) 相关应用兴起,有关物联网的议题如雨后春笋般浮上台面,这当中有关资安的议题正是被广泛讨论的其中一项。虽然资安问题看起来非常庞大与复杂,但实际上有些做法与规范可以参考过去的互联网经验,并以其为基础进而发展成完善的管理机制;笔者认为要实现完整的物联网安全要考虑的是一个从端到端 (end-to-end) 的整体系统问题,如以这样的观点出发,物联网的资安问题就可稍微收敛为「针对物联网节点装置的完善资安考量」。本文将从物联网节点装置端出发,分析并探讨物联网环境中端点装置所采用的微控制器 (MCU) 晶片架构设计该如何因应日益严峻的连网环境的安全需求。
安全基础 一般来说,资讯传输过程的安全考虑是为了满足三项需求,分别是隐密性 (Confidentiality)、完整性 (Integrity) 与正当性 (Authenticity)。兹将其所代表的需求意义说明如下表:
表一:资讯传输的安全需求主要项目说明
表一中的三项安全需求必须同时满足,无论任何一项有缺失都将造成资安问题。当然这些年来,许多资安技术发展目的在促进达成上述目标,其中有些技术已发展成熟,有些则持续演进中。密码学应用是最常被提到的例子,「密码演算法」 (Cryptography Algorithms) 是现代资讯与通讯科技的安全基石,以其为基础开发而成的各项加解密功能在资通领域中扮演了非常重要的角色。「加密」与「解密」 (Encryption/Decryption) 演算**能是建构「隐密性」的重要元件,如:对称式加解密的AES、DES/3DES,非对称式的RSA、ECC等演算法,这些技术衍生的应用让资讯在传递过程免于被轻易地或原封不动地被拦截与解读。杂凑 (Hashing) 功能则是为了实现资讯的「完整性」,如SHA、MDx等杂凑函式,可以确保资料的任何更动都能被辨识出;因为当资料发生变动,即非原始资料型态,则其根据原始资料所计算出的检查码也就会不一样。「正当性」的达成,则是结合了加解密演算与杂凑函式方法,配合以密钥 (Secret Key) 服务加解密过程的方式实现,例如以PKI (Public Key Infrastructure) 为基础的标准。至此,我们大致说明了以密码学为基础达成资通讯安全的基本做法,然随着产业的发展,建构在这些基础之上的产业安全标准逐渐产生,如:secure http connections (https)、secure payment transactions (EMV based standards)、secure over-the-air software upgrade等协定,各协定代表各产业所关心的资通讯安全规范,订定符合个别产业要求的标准,以促进个别产业的安全发展。
平台安全 介绍至此,我们可以了解既有的互联网与物联网产业发展已经非常重视资通讯的安全议题;因此笔者认为物联网安全议题重点很可能会落在越来越多的联网装置上,当这些装置被广泛设置完成后,将不会需要太多人为操作,其对于安全性的要求,包括资通讯安全、功能运作安全等都将会面临新的挑战;试想一个家庭的电、水与瓦斯等设备装设了可受远端管理的连网装置,如果能轻易被骇客窃取控制权,轻则导致中断能源供应,重则可能引起人身安全或重大公安意外。因此,讨论物联网安全相关议题时,我们必须从系统架构探讨起,亦即包含了资通讯的安全基础实施做法与装置的整体设计是否称得上是一个安全平台等问题。
本文所要重点探讨的是MCU安全平台,其所涵盖范围甚广,如有关MCU本身实体的资讯安全防护能力、MCU内部**体的封闭性、密钥储存的隐密性与对抗电磁分析窃取资讯的有效做法,更甚者如智慧型手持装置的软体保护都需要考虑。因此,我们可依照物联网之系统特性,将前述MCU安全风险议题分类成以下三个面向:
甲、 发起安全攻击的连网与否:攻击时必须实际接触到装置或是可透过网路发起攻击 乙、 发起安全攻击的成本高低:攻击发起端的配备为一台带Wi-Fi的Notebook或实验室的精良设备 丙、 遭受攻击后的结果:只会影响到单个节点装置或是影响整个网路
因此当我们要设计一个安全的物联网系统节点装置时,上述的三个面向可以帮助我们评估要投入多少资源及所能达成的安全防护等级。
威胁与攻击 经由前述的说明,我们可以知道在选用MCU做产品设计阶段时,对于资讯安全防护的考量可以是根据终端产品应用需求的不同,制订不同层级的晶片安全防护要求标准。若以现今商业市场上的应用来说,金融行业的相关卡类应用可以说是对晶片安全防护要求等级最高,而传统上的连网装置,诸如手机、桌上电脑、笔记型电脑与平板等上网装置,对于晶片之安全防护要求则因使用者操作环境、作业系统的复杂度,还有必须兼顾处理器的效能表现,所以主要仰赖以软体层级的技术达成安全防护的需求。因此,也许我们可以把新兴的物联网晶片安全防护需求定义在上述的两者之间,那么将可分析出实际上的安全防护需求涵盖内容。如果我们根据OWASP (Open Web Application Security Project) 组织所整理的内容做研判,物联网最可能引起资安与实体安全防护问题的疑虑之前十项为: Ø Insecure Web Interface (不安全的网络界面) Ø Insufficient Authentication/Authorization (认证/授权不足) Ø Insecure Network Services (不安全的网络服务) Ø Lack of Transport Encryption (传输加密机制的缺乏) Ø Privacy Concerns (隐私权防护不足) Ø Insecure Cloud Interface (不安全的云接口) Ø Insecure Mobile Interface (不安全的移动设备接口) Ø Insufficient Security Configurability (安全配置不足) Ø Insecure Software/Firmware (不安全的软体/韧体) Ø Poor Physical Security (不安全的硬体设备)
我们可看出,上述的观点仍将物联网安全议题着重在连网议题上,因此列举互联网装置相关的资安问题,主要的原因在于多数的物联网装置,特别是终端节点,大部分只配备了简单的资源来进行简单的感测与资料传输工作,而伴随着云端运算与大数据的兴起,许多关键性的资料储存与计算都会回到云端,故终端节点的安全防护需求程度,是建构物联网系统需要审慎考量的议题。
晶片架构 就在2016年10月份 Arm 公司年度的开发商大会 -- Arm TechCon 2016,该公司发表了新一代的基于Cortex®-M架构的处理器Cortex®-M23和Cortex®-M33。这两款处理器都是基于ARMv8-M架构的新型CPU,最大的特色亮点便是把过去在Cortex-A系列才有配备的TrustZone® 技术整合进来,此技术较现行通用MCU更能建构深层的安全运算架构,若以Arm公司官方的分类,嵌入式系统 (Embedded System) 安全等级的考量如下表:
表二:Arm Embedded System Security Requirement Table
(甲) Application Level Security (应用级防护) 若我们检视现今市场上的处理器 (CPU、MPU、MCU等) ,几乎所有的处理器皆可以支援此等级的安全需求,因其本质上为软体所提供的安全机制,只要系统开发者订好在撰写程式时本地系统 (local processor system) 与远端系统 (remote/cloud system) 的安全机制,便能实现此一安全等级。 (乙) Privilege Level Security (进阶型防护) 这个等级将系统程式 (如OS kernel)与应用程式在执行时分类成Privileged和un-privileged 状态,如此一来程式在执行的时候处理器便有了不同的状态,藉此可以让处理器所附的**体管理单元 (MMU) 或**体保护单元 (MPU) 发挥作用,防止错误程式或恶意程式找到系统设计上的漏洞,进而引发MCU误动作或恶意破坏系统的正常运行。这种做法很像是开了一份黑名单给管理单元来预防破坏的恶意程式,只要符合黑名单条件的状况,保护单元会发出警告,甚至强制停止系统运行以免造成不必要的困扰。 (丙)TrustZone Security (TrustZone防护) 此等级防护目标为终极上将软体运行在不同的处理器区域上,如此便预告了程式设计时需考虑到最终会在哪个处理器区域 (Zone)运作,最常用的分类是安全区 (Secure) 和非安全区 (non-Secure) ,相较前述(乙)类的等级,增加了对系统更多的保护,由于实际上切割运行处理器,使安全区和非安全区的软体间互动受到严格控管,像是开了一份白名单,唯有符合白名单条件才能让两区软体互动,是更严谨的系统安全规则。尽管实际上的做法未必都有实体的不同处理器区域,但TrustZone可视为实践了系统安全设计上运用白名单规则来防范恶意程式的一种方式。 (丁)Anit-tampering Security (防窜改防护) 这一类的安全晶片大部分实际上是针对特定用途所设计的晶片,考量的是MCU本身对实体攻击 (Physical Attack) 的防护,其考量的出发点是因为设计者无法控管MCU产品的使用环境,且所要保护的机密资料量(如个资)不大,所以进行实体防护,诸如MCU线路布局设计、管脚讯号不可侦测性、整体软件运行速度调整防止比对……等,由于多种电子攻击防范技术的考虑,MCU设计的复杂度无法太高,否则容易产生更多漏洞,但安全防护技术对物联网产品来说还是有其必须性,但是否兼顾现实功能设计多样化的需求,且远端联网的控制,本地端是否需要有如此重要机密资料而需要到如此等级的安全防护,尚有进一步的探讨空间。
漏斗型的设计思维 综观上述的说明,新唐科技提出了一个可应用于物联网系统安全设计的「漏斗型安全设计思维」,让系统设计者思考自己的MCU应用系统需要提供的安全防护等级,除能保证自身产品设计上的安全品质,藉由利用ARMv8-M架构下的Arm Cortext-M23、Cortex-M33处理器,更可在MCU应用系统领域里实现由TrustZonew所支持的更加安全的二次开发(Multiple Libraries/Multiple Parities Development),同时兼顾连网装置在设计功能上多样性需求的弹性。我们期望看到未来在更多的应用中运用ARMv8-M之TrustZone的优势,结合新唐增强安全防护措施的MCU,能打造一个安全、便利与真正能够广泛被应用的智慧联网生活环境。
图一:物联网环境MCU应用系统安全设计思维
图二:Arm Cortex-M23 Processor System Block Diagram
参考资料
Arm公司网站
OWASP网站
Synopsys公司网站
|