15.2 Common Criteria合规

目录

    • 1. Common Criteria简介
      • 1.1 CC评估要素
      • 1.2 CC与TF-A的关系
    • 2. TF-A的CC合规要求
      • 2.1 安全功能需求
      • 2.2 开发过程要求
    • 3. TF-A的CC合规实现
      • 3.1 关键安全机制
      • 3.2 开发流程控制
    • 4. CC认证实践指南
      • 4.1 认证准备步骤
      • 4.2 典型挑战与解决方案
      • 4.3 已认证案例参考
    • 5. 持续合规建议

在这里插入图片描述

1. Common Criteria简介

Common Criteria (CC, ISO/IEC 15408) 是信息技术安全评估的国际标准,用于评估和认证IT产品的安全性。TF-A作为安全关键固件,其CC合规性对高安全要求的应用场景(如政府、金融、军事等领域)至关重要。

1.1 CC评估要素

  • 保护轮廓(PP):定义一类产品的安全需求模板
  • 安全目标(ST):具体产品的安全规范
  • 评估保证级别(EAL):分1-7级,TF-A通常目标为EAL4+

1.2 CC与TF-A的关系

  • TF-A作为可信执行环境的基础组件
  • 需满足以下CC安全功能类:
    • 安全审计(FAU)
    • 密码支持(FCS)
    • 用户数据保护(FDP)
    • 安全管理(FMT)

2. TF-A的CC合规要求

2.1 安全功能需求

功能类别具体实现示例
身份鉴别镜像签名验证、安全启动链
访问控制异常级别切换控制、内存保护机制
安全审计启动日志、安全异常记录
数据保护安全存储、加密服务

2.2 开发过程要求

安全策略定义
威胁模型分析
安全架构设计
形式化验证
渗透测试
认证文档准备

3. TF-A的CC合规实现

3.1 关键安全机制

  1. 可信启动链(Chain of Trust)

    • BL1/BL2/BL31的逐级验证
    • 基于RSA/ECDSA的签名验证
    • 防回滚计数器实现
  2. 运行时保护

    // 示例:BL31中的访问控制检查
    if (caller_el < TARGET_EL) {return SMCCC_DENIED;
    }
    
  3. 安全审计功能

    • 通过LOG_LEVEL配置审计粒度
    • 安全关键操作日志存储到受保护内存

3.2 开发流程控制

  • 配置管理:使用Gerrit代码审查+Signed-off-by机制
  • 漏洞管理:遵循CVE披露流程(PSA漏洞奖励计划)
  • 测试要求
    • 100% MC/DC覆盖率(针对安全关键代码)
    • 模糊测试(特别是SMC处理接口)

4. CC认证实践指南

4.1 认证准备步骤

  1. 确定评估范围(通常为BL1/BL2/BL31)
  2. 选择认证实验室(如UL, atsec等)
  3. 准备安全目标文档(ST)
  4. 实施必要的增强措施

4.2 典型挑战与解决方案

挑战类型解决方案建议
形式化验证缺口使用SPARK或Coq验证关键算法
多核同步问题增加锁状态审计功能
时序侧信道风险实现恒定时间密码算法

4.3 已认证案例参考

  • STM32MP1:通过CC EAL+认证(基于TF-A v2.0)
  • NXP i.MX8QM:达到EAL5级别
  • 关键经验:最小化TCB(Trusted Computing Base)规模

5. 持续合规建议

  1. 变更影响分析:任何代码修改需评估CC影响
  2. 自动化合规检查
    # 示例:构建时检查安全配置
    check_cc:@grep -r "AUDIT_CRITICAL" ./plat/ | wc -l
    
  3. 年度复审:应对CC维护期要求

:最新CC版本(3.1 R5)对固件提出额外要求,建议参考《CC for IoT Devices Supplement》进行扩展评估。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914446.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端:Typst】--let关键字的用法

在 Typst 中&#xff0c;#let 命令是用于定义变量和函数的核心指令&#xff0c;其用法非常灵活。以下是详细的用法说明和示例。 目录 1.基础变量定义 2.函数定义 3.默认参数 4.内容块参数&#xff08;Content Blocks&#xff09; 5.递归函数 1.基础变量定义 // 定义简单…

Qt轮廓分析设计+算法+避坑

轮廓分析拟合方面我现在只考虑矩形拟合和圆形拟合细分的话&#xff0c;椭圆拟合&#xff0c;矩形拟合&#xff0c;最小外接矩形&#xff0c;最小外接圆。对于一张图像可能有不同的图形&#xff0c;不同的圆&#xff0c;不同的矩形&#xff0c;我需要对其进行筛选&#xff0c;也…

C++中STL六大组件List的简单介绍

一、前言C非常重视效率&#xff0c;对效率有损失的代码常常是能省则省。使用list要包含的头文件是<list>&#xff0c;要包含头文件就是#iinclude <list>&#xff0c;List肯定是一种链表&#xff0c;我们不妨回忆一下那种链表插入删除效率最快也就是最简单&#xff…

第十五节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - vue前端 生产部署

Vben Admin vben5 系列文章目录 💻 基础篇 ✅ 第一节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 ✅ 第二节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - Python Flask 后端开发详解(附源码) ✅ 第三节:Vben Admin 最新 v5.0 (vben5) + Python …

背包初步(0-1背包、完全背包)

当月光洒在我的脸上 我想我就快变了模样 有一种叫做撕心裂肺的汤 喝了它有神奇的力量 动态规划初步&#xff08;完全背包&#xff09; 目录动态规划初步&#xff08;完全背包&#xff09;0-1背包简介完全背包检查数组是否存在有效划分&#xff08;前缀划分DP&#xff09;单词拆…

Linux驱动06 --- UDP

目录 一、UDP 1.1 介绍 1.2 UDP 的通信方式 1.3 单播 发送函数 接收函数 1.4 广播 1.5 组播/多播 一、UDP 1.1 介绍 传输层的另外一个协议 面向无连接&#xff0c;不稳定&#xff0c;速度快&#xff0c;可以一对多 UDP&#xff08;User Datagram Protocol&…

AJAX 投票:技术解析与应用场景

AJAX 投票:技术解析与应用场景 引言 随着互联网技术的不断发展,Web应用的用户体验越来越受到重视。AJAX(Asynchronous JavaScript and XML)作为一种重要的技术,在实现异步数据交互方面发挥着关键作用。本文将深入探讨AJAX投票系统的技术原理、应用场景以及优化策略。 A…

【字节跳动】数据挖掘面试题0017:推荐算法:双塔模型,怎么把内容精准地推送给用户

文章大纲 双塔模型:推荐算法中的“高效匹配引擎一、双塔模型的核心思想:“分而治之” 的匹配逻辑二、双塔模型的结构:从特征输入到相似度输出1. 输入层:特征的 “原材料处理”2. 塔网络层:用户与物品的“个性化编码”3. 交互层:向量相似度的“偏好打分”三、双塔模型的优…

7月14日日记

数学类今天考完最后一科英语放假回家了。有点羡慕他们。今天英语成绩出来了&#xff0c;我是89分&#xff0c;一开始有点失望&#xff0c;感觉没有上90&#xff0c;这是一个很好的冲击4.0 的机会。但是后来一想好像也没什么可惜的&#xff0c;这个分数还是很高的。舍友小林是90…

js的局部变量和全局变量

全局变量常常定义在函数外&#xff0c;具有全局定义域&#xff0c;在整个js代码的任何地方都可以使用&#xff0c;这个就叫全局变量局部变量定义在函数内部&#xff0c;只在当前函数的定义域可以被使用&#xff0c;而且不同的函数可以定义相同的局部变量&#xff0c;他们之间相…

C++ 多态详解:从概念到实现原理----《Hello C++ Wrold!》(14)--(C/C++)

文章目录前言多态的概念多态的定义和实现虚函数虚函数的重写(覆盖)多态的构成条件override 和 final&#xff08;C11提出&#xff09;finaloverride重载、覆盖(重写)、隐藏(重定义)的对比抽象类接口继承和实现继承多态的原理虚函数表(也叫做虚表)引申:虚表的打印多态的原理静态…

Node.js + Express的数据库AB View切换方案设计

方案总览数据导入过程&#xff1a; - 根据控制表判断当前活跃组&#xff08;假设当前活跃的是a&#xff0c;那么接下来要导入到b&#xff09;。 - 清空非活跃表&#xff08;即b表&#xff09;的数据&#xff0c;然后将新数据导入到b表。 - 切换控制表&#xff0c;将活…

C++_编程提升_temaplate模板_案例

类模板案例案例描述: 实现一个通用的数组类&#xff0c;要求如下&#xff1a;可以对内置数据类型以及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数中可以传入数组的容量提供对应的拷贝构造函数以及operator防止浅拷贝问题提供尾插法和尾删法对数组中的数据进…

Win11系统安装Anaconda环境极简教程

Win11系统安装Anaconda环境极简教程 &#x1f4e5; 第一步&#xff1a;下载 Anaconda 安装包 打开浏览器&#xff0c;访问 Anaconda 官网&#xff0c;选择View All Installers 选择所需版本&#xff08;此文以2024.02-1为例&#xff09;&#xff0c;点击进行下载&#xff08;…

Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛

一.赛事目标基于星火大模型Spark 4.0 Ultra&#xff0c;对视频和评论的数据进行商品识别&#xff0c;情感分析&#xff0c;归类分析&#xff0c;最终为带货效果进行评价。并通过优化模型来提高评价准确度二.赛事环境1.基础平台&#xff1a;星火大模型Spark 4.0 Ultra2.赛事数据…

如何基于FFMPEG 实现视频推拉流

文章目录 前言环境准备为什么选择 FFmpeg什么是nginx 1.7.11.3 GryphonNginx的conf配置启动nginx推流命令接收视频流Untiy播放视频流最后前言 我们经常会有在电脑上实现推拉流的需求,Unity 和Unreal 都提供了基于WebRTC 的视频流方案,效果还不错,但是当我们需要推拉整个电脑…

飞算JavaAI:从情绪价值到代码革命,智能合并项目与定制化开发新范式

目录一、飞算 JavaAI 是什么&#xff1f;二、飞算JavaAI&#xff1a;安装登录2.1 IDEA插件市场安装&#xff08;推荐&#xff09;2.2 离线安装包三、飞算JavaAI核心功能&#xff1a;一键生成完整工程代码功能背景3.1 理解需求3.2 设计接口3.3 表结构自动设计3.4 处理逻辑&#…

Python 基础语法与数据类型(十一) - 类 (class) 与对象 (实例)

文章目录1. 什么是类 (Class)&#xff1f;1.1 定义一个类2. 什么是对象 (Object) 或实例 (Instance)&#xff1f;2.1 创建对象&#xff08;实例化&#xff09;3. 访问属性和调用方法4. 类属性 vs 实例属性5. self 的重要性总结练习题练习题答案前几篇文章我们学习了变量、数据类…

精准数据检索+数据飞轮自驱优化,彩讯AI知识库助力企业知识赋能和效率创新

近两年&#xff0c;人工智能技术的精细化发展&#xff0c;让知识库概念重新成为“热门词汇”&#xff0c;腾讯ima等智能工作台产品为个人用户打造专属知识库&#xff0c;而面向B端市场&#xff0c;企业AI知识库也逐步成为企业集中存储与管理核心文档、数据、经验和流程的知识中…

打破空间边界!Nas-Cab用模块化设计重构个人存储逻辑

文章目录前言1. Windows安装Nas-Cab2. 本地局域网连接Nas-Cab3. 安装Cpolar内网穿透4. 固定Nas-Cab 公网地址"数据管理不该受制于硬件形态或地理边界。这个开源方案证明&#xff1a;当功能模块化且可扩展时&#xff0c;私有云可以像水一样渗透进所有设备——现在就去Git仓…