密钥是系统安全的基础 一个安全系统的基础,在与其所拥有的密钥,用以提供系统身分的真实性与确保系统数据的机密性,其最基本需要具备的密钥,包括了: 为了确保系统的安全,无论HUK或ROTPK,都必须不能被修改。 除此之外,因应各种应用,在系统中还可能存在各种不同功能的密钥,包括加、解密用的AES Key,验证签章用的RSA Key或ECC Key等等。 这些密钥架构在密码学的基础上,提供系统身分认证,数据保护,传输加密等等功能,是系统中,所有安全的基础,因此对密钥本身的储存与保护,更是整个系统中,最重要的一环,这里我们将储存密钥的地方,称之为Key Store。
Key Store 的特点 为了确保密钥的安全,Key Store密需要具备几个特点: 1. 所储存的秘钥,必须是一个不可分割整体 2. 根据密钥的种类,提供不同的储存类型,包括: 静态储存的密钥,必须具有不可更改的特性,这通常会使用ROM或Fuse的特性来达成。然而,虽然静态储存的密钥无法被更改,却仍必须可以被撤销,撤销后的密钥,将不再能够存取或利用,以确保密钥使用上的安全。 短期储存的密钥,有较短的寿命,这可以是只存在当次联机期间,也可以只存在当次的上电周期,或是只存续在装置当次的注册期间内,这些特性,通常可透过使用Flash或SRAM为储存媒体来达成。
3. 设定密钥属性,以限制密钥的使用范围 (a) 限制CPU对密钥的读取,可避免因软件漏洞造成密钥的暴露。 (b) 限制密钥的使用范围,可以降低当密钥被**时,损失波及的范围。 (c) 一把密钥使用于不同的算法,将增加被攻击的危险。 (d) 一把密钥使用于不同的用途,可能造成密钥存续期间长短的冲突,因而需要延长其存续时间,造成密钥存续时间超过实务上最佳的存续期限。
4. 防止物理攻击 Key Store 实例 以 Nuvoton M2354 为例,其中包含 Key Store 硬件单元,提供密钥储存的功能,能够储存由128 bits 到 4096 bits长度的密钥,以完整的key为单位,进行写key、删除与注销(Revoke),并具备完整性检测,只要密钥有任意的位出错,那么这把密钥,就会失效,无法使用。 Key Store 提供OTP、Flash与SRAM三种储存媒体,可因应不同密钥存续时间的需求,其中OTP可用来储存不可更改的密钥,例如HUK、ROTPK,而Flash可用来储存云端联机认证用的密钥等,而SRAM则可用来储存云端联机时,所使用的随机加密密钥。 此外,Key Store在建立密钥时,可以指定相关属性,限制秘钥只能由CPU或特定的加密引擎使用,进一步限制密钥的使用,以加强密钥的安全性。 针对旁道攻击, Key Store支持Silent Access功能,可以降低储存操作时,因为物理特性造成的信息泄露。而针对打开芯片封装,利用物理量测储存内容的攻击,则提供Data Scrambling来防护。更近一步,也可以设定Key Store在系统攻击侦测(Tamper Detection)触发时,直接硬件连动,清除、注销所有Key Store中的密钥,确保密钥不被泄露。
总结 现代的安全系统,仰赖密码学的保护,而再好密码学算法,还是要依靠密钥的安全储存,才能真正达到效果,一旦密钥暴露出来,所有架构于该密钥的秘密将不再安全,因此具备一个足够安全的Key Store来存放密钥,对整个系统而言,是一件相当重要事。
填写新唐在线表格与我们联系。
|