一文看懂码灵半导体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

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

java中反射(Reflection)机制举例详解

《java中反射(Reflection)机制举例详解》Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,:本文主要介绍java中反射(Reflection)机制的相关资料... 目录一、什么是反射?二、反射的用途三、获取Class对象四、Class类型的对象使用场景1五、Class

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和