一文看懂码灵半导体CFW32C7UL系列产品应用(四): 安全机制

本文主要是介绍一文看懂码灵半导体CFW32C7UL系列产品应用(四): 安全机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎再次来到“码灵半导体CFW32C7UL系列产品应用介绍”连载专题。通过前几期对CFW32C7UL系列的启动、国密算法及国际标准加解密算法的介绍,我们可以发现,CFW32C7UL系列芯片有着丰富的安全机制设计,本期我们就从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系列的其它方面的内容,如它都有哪些外设构成、基于不同外设的具体使用、芯片后期开发所需的开发环境、芯片面向哪些应用场景、硬件电路设计注意事项等等,这些我们会在日后的专题中继续为大家介绍。今天的话题就到这儿,我们下期见!
本期作者:陈绍景、梁梦雷、谢耀华、刘悦臻、谢剑杰

这篇关于一文看懂码灵半导体CFW32C7UL系列产品应用(四): 安全机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/277501

相关文章

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Redis中Stream详解及应用小结

《Redis中Stream详解及应用小结》RedisStreams是Redis5.0引入的新功能,提供了一种类似于传统消息队列的机制,但具有更高的灵活性和可扩展性,本文给大家介绍Redis中Strea... 目录1. Redis Stream 概述2. Redis Stream 的基本操作2.1. XADD

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注