欢迎再次来到“系列产品应用介绍”连载专题。通过前几期对系列的启动、国密算法及国际标准加解密算法的介绍,我们可以发现,系列芯片有着丰富的安全机制设计,本期我们就从CFW32C7UL系列的综合安全方面来展开介绍。
本文引用地址:针对基于CFW32C7UL系列所设计的系统设备,在安全方面可以从以下四个层次来描述:设备安全、数据安全、知识产权安全、行为安全,并可通过芯片上集成的不同模块来实现。它们具体有哪些?如何综合使用来加强设备整体安全性的?让我们带着这些问题从下文中寻找答案吧。
一、设备安全(防入侵-Temper)
CFW32C7UL系列芯片支持temper入侵检测功能。通过支持temper的硬件电路设计,即便在设备断电的情况下,仍可通过对temper引脚的检测来确定是否有外部的入侵事件发生,若检测到入侵,可在第一时间对芯片关键数据区的内容(如密钥等或关键程序数据等)进行清除,从而达到保护重要信息的目的。
▲Tamper 单路检测点示意图
二、数据安全(内容和传输-UAC/CIPHER)
数据安全通常指数据的秘密性、完整性和可用性。很多情况下,即使设备没有受到损坏,但其数据安全也可能已经受到危害,如数据泄露、数据篡改等。由于危害数据安全的行为具有较高的隐蔽性,数据应用用户往往并不知情,因此,危害性很高。
数据秘密性方面,通过前几期的国密算法和国际标准加解密算法介绍中对数据加解密应用的阐述,我们知道通过使用这些商用密码对数据的加密可保证数据传输过程中的数据私性。应用程序本身的秘密性和完整性方面,在芯片启动专题中有详细的介绍,即芯片可以启动经过国密SM4或国际AES算法加密后的二进制应用程序,可防止应用程序被非法窃取后进反汇编破译。在实际应用中,还可以通过多种加密手段组合及其它防护手段的结合使用,来进一步增强数据的安全级别。
三、知识产权安全(可执行程序防复制-EFUSE/CHIP ID)
内容安全在网络中常指安全在政治、法律、道德层次上的要求,广义的内容安全还包括信息内容保密、知识产权保护、信息隐藏和隐私保护等诸多方面。在CFW32C7UL系列芯片中,我们主要针对的是应用程序知识产权的安全保护。因为现实中,总有一些不法厂商通过直接复制盗取其它厂家的设备(直接复制PCB板、设备元件及可执行程序),以短期获取暴利,严重扰乱行业市场秩序,给设备原厂的生产经营造成极大的不良影响。因硬件防复制比较困难,目前行业内为防止设备被复制,常通采用保护设备的可执行程来完成产品防复制,这包括前面提到的防止程序的反编译和防止程序直接使用。
防程序反编译,通过应用程序的执行文件进行加密,即使当设备上的可执行程被非法取出后,也因加密的原因无法进行破解修改,不被泄密。防程序被直接使用,通过使用CFW32C7UL系列的硬件CHIP ID和应用程序进行唯一配对绑定,即使某个设备程序被复制且被用到同款CFW32C7UL系列上去,因CHIP ID的唯一特性,它也无法识别被复制的程序,从实现对可执行程序的唯一性保护。在CFW32C7UL系列中除了CHIP ID(96bits)外,还有128bits的可供开发者使用的一次性烧录密钥的Efuse区域,开发者可以自定义密钥或独家“CHIP ID”来保护自己的可执行文件。
四、行为安全(数据访问防越权-TPZ)
前面提到的数据安全和知识产权安全本质上是一种静态的安全,而行为安全是一种动态安全。行为安全要求设备的行为的过程和结果不能危害数据的秘密性、行为的过程和结果不能危害数据的完整性、行为的过程和结果是预期的,当行为的过程出现偏离预期时,能够发现、控制或纠正。行为安全强调的是过程的安全,体现硬件设备、软件设备和应用程序的执行序列符合设计预期,符合设备“安全可控”要求。
针对行为安全方面需求,CFW32C7UL系列中设计了TPZ安全控制模块。它可在DDR中配置4个以MB为基本单位的安全区域,这些区域可设读安全、写安全或硬件安全等不同属性的访问权限,对访问行为进行安全限定;通过对TPZ模块中越权访问默认地址寄存器内容的配置,可在有非安全设备越权访问DDR安全区域时,将访问地址跳转到越权访问默认寄存器定义的地址处,并产生越权访问中断通知。通过该机制能对有效保护设定区内的数据安全。
五、CFW32C7UL系列安全机制小结
通过以上描述我们可知,基于CFW32C7UL系列芯片设计的设备从外到内的安全机制为:设备安全(Temper)、知识产权安全(CHIP ID/Efuse)、行为安全(TPZ)、数据安全(UAC/CIPHER)。与此同时由于DDR(和部分型号的FLASH)已合封到芯片内部,也减少了数据通过芯片外部管脚或连线引起的数据外泄的风险。CFW32C7UL系列通过多重安全机制的设计,能有效满足通用设备的大部分的安全性问题。
▲CFW32C7UL系列多重安全机制并用
通过这本期与前几期对CFW32C7UL系列在安全设计方面的介绍,相信您已对其安全方面有了较全面的了解,或许您更想进行一步了解CFW32C7UL系列的其它方面的内容,如它都有哪些外设构成、基于不同外设的具体使用、芯片后期开发所需的开发环境、芯片面向哪些应用场景、硬件电路设计注意事项等等,这些我们会在日后的专题中继续为大家介绍。今天的话题就到这儿,我们下期见!
本期作者:陈绍景、梁梦雷、谢耀华、刘悦臻、谢剑杰
相关文章