【AUTOSAR】【信息安全】CSM

2023-05-16

目录

一、概述

二、依赖模块

三、功能描述

3.1 基本体系结构

3.2 通用行为

3.2.1 正常操作

3.2.2 设计说明

3.3 错误分类

3.3.1 开发错误

3.3.2 运行时错误

四、API接口

4.1 通用接口

4.2 加密接口

4.3 秘钥接口

4.4 Job接口

4.5 回调接口

4.6 调度接口


一、概述

        该规范规定了软件模块加密服务管理器(CSM)的功能、API和配置。

        CSM应提供同步或异步服务,以实现对所有软件模块的基本加密功能的唯一访问。CSM应提供一个抽象层,为更高级软件层提供标准化接口以访问这些功能。

        软件模块所需的功能可能与其他软件模块所需的功能不同。因此,应该有可能为每个软件模块分别配置和初始化CSM提供的服务。该配置还包括选择CSM服务的同步或异步处理。

二、依赖模块

【规范】CSM应能够访问根据加密接口规范实现的加密接口(CRYIF)。

【规范】CSM模块应使用CRYIF与底层加密驱动程序(加密驱动程序)的接口来计算加密服务的结果。

三、功能描述

3.1 基本体系结构

        下图描述了CSM模块AUTOSAR分层软件体系结构。基于AUTOSAR分层软件架构的CSM模块架构的描述将有助于理解以下章节中CSM模块的接口和功能的规范。

        CSM是一种提供加密功能的服务,它基于依赖于软件库或硬件模块的加密驱动程序。此外,使用多个加密驱动程序的混合设置也是可能的。CSM通过CRYIF访问不同的加密驱动程序。

        CSM作为一个服务层,为加密操作提供了SW-C或BSW的接口。CSM的主要任务是调度服务和优先级,并调用加密接口(CryIf)进行进一步操作。CryIf将请求调度到静态分配给此服务的加密驱动程序及其加密驱动程序对象。

        CSM、CryIf和Crypto的的API有两类,分为基于作业的API和直接API。如下图所示:

 

3.2 通用行为

【规范】Job 是已配置的加密原语的实例。

【规范】对于每个作业,CSM每次只需处理一个实例。

【规范】CSM模块应允许并行处理不同的作业。

【规范】如果请求CSM模块的服务,并且相应的作业处于“ACTIVE”状态,则作业请求应调用CryIf_ProcessJob()并传递返回值。

【规范】如果请求了CSM模块的服务,且CSM作业需要排队,且队列已满,则应使用返回值CRYPTO_E_BUSY拒绝该作业请求。

【规范】如果配置了异步接口,CSM模块应提供一个主功能Csm_MainFunction(),它被循环地称为通过状态机控制作业的处理。

3.2.1 正常操作

【规范】为了统一单个调用函数和加密服务的流媒体方法,有一个模式参数,它决定了操作模式。此服务操作是一个标志字段,指示操作模式“START”、“UPDATE”或“FINISH”。它明确地声明应执行什么操作。这些操作模式可以混合使用,并同时执行多个操作。

        下图表显示了此设计的一个作业的状态机:

 

【规范】CSM加密服务应支持用一次呼叫处理多个操作模式的输入。

【规范】如果设置了CRYPTO_OPERATIONMODE_START和CRYPTO_OPERATIONMODE_FINISH位,而没有设置Csm_Csm_() 函数将返回E_NOT_OK。

(1)同步作业处理

【规范】当使用同步接口时,接口功能应立即借助底层的加密堆栈模块来计算结果。

【规范】如果发出了同步作业,且优先级大于队列中可用的最高优先级,则CSM将禁用处理队列中的新作业,直到当前处理的作业完成后,主函数的下一次调用完成。

【规范】如果发出了一个同步作业,且该优先级小于队列中可用的最高优先级,则CSM应返回CRYPTO_E_BUSY。

(2)异步作业处理

【规范】如果使用异步接口,接口功能只能将必要的信息移交给底层加密堆栈模块。

【规范】当请求的加密服务通过从作业原语配置调用的回调函数被处理时,应通知CSM的用户。

3.2.2 设计说明

CSM提供两种服务:

  • 加密服务本身
  • 密钥管理。

(1)CSM模块启动

Csm_Init()请求不负责触发底层CRYIF的初始化。假定底层的CRYIF将由任何适当的实体初始化。

(2)加密服务

【规范】CSM crypto services shall provide a Csm_() API。

【规范】该应用程序应能够使用操作模式CRYPTO_OPERATIONMODE_START调用Csm_() 来初始化加密计算。

【规范】应用程序应能够任意调用操作模式CRYPTO_OPERATIONMODE_UPDATE的 Csm_(),但至少一次,以将输入数据提供作业的加密原语。

【规范】应用程序应能够使用操作模式CRYPTO_OPERATIONMODE_FINISH调用Csm_()来完成加密计算。

【规范】只有 HASH, MACGENERATE, MACVERIFY, ENCRYPT, DECRYPT, AEAD_ENCRYPT, AEAD_DECRYPT, SIGNATUREGENERATE, SIGNATUREVERIFY等服务操作才能支持API规定的启动、更新和完成操作模式。对于所有其他的服务操作,CSM应将操作模式设置为CRYPTO_OPERATIONMODE_SINGLECALL,即使API没有提供一个操作模式。

【规范】如果CSM向加密接口发出服务CRYPTO_MACGENERATE,CRYPTO_MACVERIFY,CRYPTO_ENCRYPT,CRYPTO_DECRYPT,CRYPTO_AEADENCRYPT,CRYPTO_AEADDECRYPT,CRYPTO_RANDOMGENERATE,CRYPTO_SIGNATUREGENERATE或CRYPTO_SIGNATUREVERIFY,它需要确保Crypto_JobType引用的jobPrimitiveInfo->cryIfKeyId。

队列实现

        CSM可能有多个队列,其中作业根据其优先级排列,以处理多个加密请求。从CSM队列通过CryIf到加密驱动程序对象的路径称为通道。CSM的每个队列都被映射到一个通道,以访问加密驱动程序对象的加密原语。队列的大小可可配置。

        加密驱动程序对象表示独立的加密“设备”(硬件或软件,例如AES加速器)的实例。在HSM上可能有一个快速AES和CMAC计算的通道,该通道以加密驱动程序中的本地AES计算服务结束。但也有可能,加密驱动程序对象是一种软件,例如用于RSA计算,用户可以加密、解密、签名或验证数据。

【规范】应该可以在CSM中配置的CsmQueues中对CSM作业进行排队。

【规范】CsmQueues应根据所配置的作业的优先级对作业进行排序。

【规范】只有在保证作业结构数据一致性的情况下,才能添加服务操作。当将具有相同jobID的服务添加到队列时(例如,在进行对Csm_SignatureVerify()和Csm_SaveContextJob()的后续调用时),应特别考虑到这一点。如果不能保证,则服务运行将随E_BUSY返回。

【规范】如果可以将具有相同JobID的服务添加到队列中,则这些服务的执行顺序应与传入服务操作请求的顺序对应(“先入先出”)。

        队列功能实现状态如下:

 

(3)密钥管理

【规范】属于密钥管理的服务应仅提供Csm_() 功能。

【规范】一个秘钥由一个或多个秘钥元素组成。

秘钥元素的例子有秘钥材料本身、初始化向量、随机数生成的种子,或SHE标准的证明。

【规范】密钥,即具有由配置给出的符号名称与相应的密钥id。加密堆栈API使用CSM模块中的以下关键元素索引定义:

 

【规范】对于包含加密密钥材料的每个密钥元素,所提供的密钥的格式应在用于数据交换的配置中指定,例如,对于Csm_KeyElementGet()或Csm_KeyElementSet()。特定加密驱动程序支持的密钥格式是加密驱动程序附带的预配置信息的一部分。

(4)重定向加密作业的输入和/或输出

【规范】一个作业的输入和/或输出数据可以被重定向到一个秘钥元素,秘钥及其秘钥元素被重定向到的输入和输出值应在编译时进行静态配置,在运行时不得更改。

【规范】如果作业的输入或输出值被重定向到秘钥元素,并且相应的输入或输出长度值没有设置为0,则不处理作业,返回E_NOT_OK。

【规范】如果作业元素不使用输入或输出重定向,则 jobRedirectionInfoRe f应设置为NULL_PTR。如果使用重定向元件,则 jobRedirectionInfoRef 应指向Crypto_JobRedirectionInfoType的结构。

(5)作业上下文接口

【规范】在调用Csm_SaveContextJob()或Csm_RestoreContextJob()时,CSM应检查相关作业当前是否处于活动状态。如果是这样,则应按规定继续进行操作。否则(作业处于IDLE状态),该功能应立即随E_NOT_OK返回。

【规范】在调用Csm_SaveContextJob()或Csm_RestoreContextJob()时,CSM应检查相关作业当前是否正在积极处理数据,这意味着CSM已向司机安排了与该作业相关的操作,并正在等待响应。在这种情况下,该功能应立即随E_NOT_OK一起返回。

【规范】在调用Csm_RestoreContextJob()或Csm_SaveContextJob()时,CSM应检查作业是否引用原始数据、加密、加密、解密、生成、验证、签名生成或签名验证。如果是这样,则应按规定继续进行操作。否则,当CSM_E_SERVICE_TYPE检测结果正确时,不得进行操作,并向DET报告CSM_E_SERVICE_TYPE。

3.3 错误分类

3.3.1 开发错误

 

3.3.2 运行时错误

 

四、API接口

4.1 通用接口

  • Csm_Init
  • Csm_GetVersionInfo

4.2 加密接口

  • Csm_Hash
  • Csm_MacGenerate
  • Csm_MacVerify
  • Csm_Encrypt
  • Csm_Decrypt
  • Csm_AEADEncrypt
  • Csm_AEADDecrypt
  • Csm_SignatureGenerate
  • Csm_SignatureVerify
  • Csm_RandomGenerate

4.3 秘钥接口

  • Csm_KeyElementSet
  • Csm_KeySetValid
  • Csm_KeySetInvalid
  • Csm_KeyGetStatus
  • Csm_KeyElementGet
  • Csm_KeyElementCopy
  • Csm_KeyCopy
  • Csm_KeyElementCopyPartial
  • Csm_RandomSeed
  • Csm_KeyGenerate
  • Csm_KeyDerive
  • Csm_KeyExchangeCalcPubVal
  • Csm_KeyExchangeCalcSecret

4.4 Job接口

  • Csm_JobKeySetValid
  • Csm_JobKeySetInvalid
  • Csm_JobRandomSeed
  • Csm_JobKeyGenerate
  • Csm_JobKeyDerive
  • Csm_JobKeyExchangeCalcPubVal
  • Csm_JobKeyExchangeCalcSecret
  • Csm_SaveContextJob
  • Csm_RestoreContextJob
  • Csm_CancelJob

4.5 回调接口

  • Csm_CallbackNotification

4.6 调度接口

  • Csm_MainFunction
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【AUTOSAR】【信息安全】CSM 的相关文章

  • 从程序员到等保测评师,多亏这个决定看到了希望

    做程序员的一年后 加班成隐 头秃了不说 感觉没有奔头 女朋友也不知道在哪里 一不小心公司后台被攻击崩溃了整夜加班是常事 解决不了少不了挨批 总之程序员太难了 我丧失了对未来的希望 后来因为公司一次攻击事件 有幸和测评机构的等保测评师探讨了一
  • 信息隐藏——DCT隐写

    DCT隐写 实验目的 了解DCT的系数隐写 实验内容 Jepg 压缩算法的回顾 用MATLAB实现图像DCT相关操作 完成基于图像DCT的信息隐藏实验 两点法的嵌入和提取 三点法的嵌入和提取 1 Jpeg压缩算法 一 色彩空间转换 RGB空
  • 大数据环境下的“隐形隐私”保护问题

    导语 隐形隐私 泄漏问题一直我们乃至全球最难解决的问题 数据安全不止是一个企业发展的核心关键 更关系到企业单位的生死存亡 企业单位重要客户信息泄露并在市面上大肆流通发生之后我们在想尽各种方法亡羊补牢 可是我们数据安全难道不是要从最一开始就做
  • BadUSB制作教程_BadUSB简单示例(初学)_程序编写工具

    说明 本文章仅供学习交流 请勿用于非法用途 我用的是CJMCU Beetle arduino Leonardo USB ATMEGA32U4 Mini Size Development Board 程序编写工具 https download
  • 25个恶意JavaScript 库通过NPM官方包仓库分发

    聚焦源代码安全 网罗国内外最新资讯 编译 代码卫士 专栏 供应链安全 数字化时代 软件无处不在 软件如同社会中的 虚拟人 已经成为支撑社会正常运转的最基本元素之一 软件的安全性问题也正在成为当今社会的根本性 基础性问题 随着软件产业的快速发
  • 恶意软件的检测和攻击 文献整理

    本文按照时间顺序整理了恶意软件攻防对抗 或更进一步是机器学习 深度学习的安全 近些年来的文献发表情况 希望能和对该领域感兴趣的研究人员做一个分享 有些文献我只是大概地浏览了一下 如下文有错误 请为我指出来 感激不尽 感兴趣的朋友可以在评论里
  • 色字当头一把刀,看我如何用Python针对裸聊渗透测试

    本篇文章由知柯 信息安全 CSDN博主鸿渐之翼联合发布 转载请标明出处 深圳市狩猎者网络安全技术有限公司旗下安全团队 CSDN 知柯信息安全 知柯信息安全 用心呵护您的安全 Professional in Software Security
  • SQL注入基础 sql注入详细解释 小白学习笔记

    sql注入作为安全攻防中最重要的一个部分 可以说是所有渗透测试注入中最为重要的一个注入 不管是预防还是测试 都需要扎实的基础才能明白sql注入 温馨提示 此文章仅限于学习记录与讨论 不得随意测试或者注入 互联网不是法外之地 任何除学习之外的
  • ctfshow CRYPTO RSA

    ctfshow CRYPTO RSA babyrsa easyrsa1 easyrsa2 easyrsa3 easyrsa4 easyrsa5 easyrsa6 easyrsa7 easyrsa8 babyrsa 先看txt 直接上脚本 i
  • 密码学之哈希算法

    1 哈希算法 哈希算法是将任意长度的二进制值映射为较短的固定长度的二进制值 这个小的二进制值称为哈希值 哈希值是一段数据唯一且极其紧凑的数值表示形式 如果散列一段明文而且哪怕只更改该段落的一个字母 随后的哈希都将产生不同的值 要找到散列为同
  • 记录渗透靶场实战【网络安全】

    第一次写靶场实战的文章 有不足之处还请多多指教 本次实战的靶场是红日安全vulnstack系列的第二个靶场 靶场地址 http vulnstack qiyuanxuetang net vuln detail 3 环境搭建 网络环境 网卡配置
  • 信息安全技术之9软件保护技术测试卷1

    信息安全技术之9软件保护技术测试卷2 一 多选题 二 判断题 叮嘟 这里是小啊呜的学习课程资料整理 好记性不如烂笔头 今天也是努力进步的一天 一起加油进阶吧 一 多选题 1 此题归属第9讲 下列工具哪些不属于静态分析工具 A OllyDbg
  • 网络安全-跨站请求伪造(CSRF)的原理、攻击及防御

    目录 简介 原理 举例 漏洞发现 链接及请求伪造 CSRF攻击 不同浏览器 未登录状态 登录状态 代码查看 工具 防御 用户 程序员 简介 跨站请求伪造 Cross site request forgery 也被称为 one click a
  • 常见挖矿病毒处理方法(qW3xT/Ddgs.3011/S01wipefs/acpidtd/MSFC)

    常见挖矿病毒处理方法 1 常见病毒 病毒名称 qW3xT 现象 占用超高CPU 进程查杀之后自启动 中毒案例 2 病毒名称 Ddgs 3011 现象 占用超高CPU 进程查杀之后自启动 中毒案例 3 病毒名称 S01wipefs 现象 占用
  • Autosar软件架构

    软件架构 应用层通过 Simulink模型实现 模型的代码生成使用统一配置脚本 底层软件模块满足AUTOSAR 4 2 1标准要求 其软件架构如下图所示 软件架构 2 2 2 Com通信模块配置 BCU通过唤醒信号控制相应CAN消息的通信使
  • 反序列化漏洞原理详解

    Apache shiro简介 Apache Shiro是一个强大且易用的Java安全框架 执行身份验证 授权 密码和会话管理 使用Shiro的易于理解的API 您可以快速 轻松地获得任何应用程序 从最小的移动应用程序到最大的网络和企业应用程
  • 信息安全中常用术语介绍

    转自 https www hi linux com posts 56503 html 我们在一些重大的安全事件发生后 经常会在相关新闻或文档中看到一些相关的安全术语 比如 VUL CVE Exp PoC 等 今天我们就来对这些常用术语的具体
  • 攻防 & 渗透 & Kali笔记(持续更新)

    0x00 写在前面 本来是记录kali用法的一篇文章 后来就慢慢变成了记录攻防 渗透测试 Kali用法的文章了 本来信息安全就涉及到方方面面就是个大杂烩 0x01 John the Ripper john爆破需要一个shadow文件 推荐使
  • Upload-labs 1-21关 靶场通关攻略(全网最全最完整)

    Pass 01 前端验证 因为是进行前端JS校验 因此可以直接在浏览器检查代码把checkFile 函数 即如下图红色框选中的函数 删了或者也可以把红色框改成true 并按回车 即可成功上传php文件 复制图片地址并用蚁剑进行连接 Pass
  • 2024 信息安全专业毕业设计(论文)选题合集 最新版

    目录 前言 信息安全选题 选题迷茫 选题的重要性 更多选题指导 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研

随机推荐