AC规则-4-规则和冲突解决

news2025/1/18 20:21:52

3.3 Introduction to Access Control Rule Conflict Resolution
 

3.3 访问控制规则冲突解决简介

本节从高层次讨论访问控制规则冲突解决。 本文档稍后会提供更多详细信息。 规则的优先级不是基于它在其他规则中的阅读顺序。 管理冲突规则的策略基于三个基本原则(按顺序):
1、具体规则优先。
2. 与终端实体证书关联的规则具有优先权(在证书链的情况下)。
3.限制性规则优先

3.3.1 具体规则优先

特定规则是关联以下内容的规则:
• 一个安全元件应用程序,通过指定其 AID 或通过指定隐式选择的应用程序和
• 通过指定其 DeviceAppID 的设备应用程序

所有其他规则都被视为通用规则。 通用规则是适用于:
• 安全元件应用程序,通过指定其 AID 或通过为未明确指定的设备应用程序指定隐式选择的应用程序(即规则中未指定 DeviceAppID)或
• 设备应用程序通过为未明确指定的安全元件应用程序指定其 DeviceAppID(即规则中未指定 AID)或
• 具有未定义设备应用程序的未定义安全元件应用程序(即,当 AID 和 DeviceAppID 都不存在于任何其他规则中时,将应用此规则)

注意:一般情况下,在考虑规则时,隐式选择的应用程序被视为“具有未知 AID 的特定应用程序”。 安全警告:在支持每个逻辑通道隐式选择不同应用程序概念的 GlobalPlatform 2.2 安全元件上,无论逻辑通道如何,“隐式选择的应用程序”都将适用。 规则按表 3-1 中定义的最具体到最不具体进行评估。

明确引用了安全元素应用程序?

明确引用了设备应用程序?

3.3.2 终端实体证书优先


如果设备应用程序使用证书链中的证书进行签名,则在搜索最具体的规则时,搜索首先基于用于对应用程序进行签名的证书(最终实体证书),然后是下一个证书 链,依此类推,直到找到具有适当特定级别的证书,或者确定链中没有证书具有该级别。 只有这样,搜索才会继续进行到下一个较低的特异性级别。

3.3.3 限制性规则优先


最严格的规则是那些禁止访问设备应用程序以访问 SE 应用程序的规则。 限制较少的规则允许访问,但仅限于使用特定 APDU 时。 限制最少的规则总是允许设备应用程序访问 SE 应用程序。 最严格的规则优先

 3.4 访问控制规则组合与冲突解决

 

当多个规则应用于同一访问请求时,聚合和冲突解决应由 ARA-M 或访问控制执行器执行:
• 如果访问控制执行器使用GET DATA [All] 从安全元件获取所有规则,则访问控制执行器负责合并和解决冲突(如果有)。
  • 如果访问控制执行器使用GET DATA [Specific](不推荐)获取特定访问请求的访问规则,则ARA-M 有责任合并并解决潜在的冲突。 ARA-M 应确定是否存在适用于定义的引用(由特定或通用设备应用程序标识符和特定或通用 SE 应用程序标识符组成)的多个规则(例如,在 SE 内的不同存储位置)。 然后 ARA-M 将解决冲突(如果有的话),并返回如下所述合并的访问规则数据。

可能会发生规则冲突,尤其是当规则存储在不同位置(ARA-C、ARA-M 或 ARF)时。 ARA 实施应尽可能避免潜在的冲突:
如果同一目标(AID 和 DeviceAppID)的规则已经存在于 SE 的另一个 ARA 中,则任何 ARA 都应拒绝提供规则。 服务提供商将被告知专用状态字“6A 89”。
ARA 将无法检测到与 ARF 中存储的规则的冲突。

但是,在以下情况下,SE 中可能存在适用于同一目标(AID 和 DeviceAppID)的规则:
• 如果规则预先安装在ARA 中并且在ARA 实例化或注册到ARA-M 之后立即可用。
注意:在 ARA 中预先安装访问规则未在本规范中指定,并且可能不会由 ARA 实施。
• 如果ARA-M 从ARF 读取规则。
注意:ARA-M 从 ARF 读取访问规则是一项可选功能。
• 如果ARA-C 被锁定并稍后再次解锁,同时更新了ARA-M 或另一个ARA-C。

如果 ARA-M/ARA-C 实现保证同一目标(AID、DeviceAppID)在 SE 中只存在一个规则,那么 ARA-M 不需要考虑以下算法来解决冲突或合并规则。

如第 3.3.1 节所述,特定规则优先于通用规则。 这种严格的优先级应由访问控制执行器强制执行。 因此,访问控制执行器应首先查找适用于目标 SE 应用程序和目标设备应用程序的规则,并且仅当未找到特定规则时才查找通用规则。2 如果多个规则适用于同一目标(即相同的 REF-DO),然后这些规则被聚合并且更严格的规则优先于更宽松的规则。 如果多个规则适用于同一目标,则应适用以下逻辑:

• 如果访问规则发生冲突,则根据以下优先级顺序,仅应用具有最高优先级的规则:
从不 (APDU) > APDU 过滤器 > 总是 (APDU)
从不(NFC)> 总是(NFC)
• 如果访问规则属于不同类型(即 NFC 许可、APDU 许可),则两个规则组合在一起,因此两个规则都适用。
• 如果多个访问规则包含APDU 过滤器,那么这些应该在每个OR 操作中组合。 这意味着如果以下过滤器之一匹配,则允许 APDU:

AR1-APDU filter || AR2-APDU filter || AR3-APDU filter || AR4-APDU filte
 

表 3-2 总结了当两个规则(R1、R2)发生冲突时应用哪个规则。 另见附件 D,其中提供了详细示例。 在此表中,“R1+R2”指的是两个规则的组合,其中合并了 APDU 策略(从不允许、APDU 过滤器或始终允许)和 NFC 事件策略(从不允许、始终允许)。

如果规则适用于特定 SE 应用程序,则应应用以下逻辑: • 如果仅存在一个将设备应用程序的 DeviceAppID 与特定 SE 应用程序的 AID 相关联的规则,则拒绝从所有其他设备应用程序访问该 SE 应用程序 .(1vs1)

• 如果存在多个特定规则,每个规则都将不同设备应用程序的 DeviceAppID 与同一 SE 应用程序的 AID 相关联,则拒绝不存在此类规则的所有设备应用程序访问该 SE 应用程序(多对1)

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

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

相关文章

linux中 list_entry 设计背景及原理解析

Linux 2.4.22 在这一版本中的 list_entry的宏定义实现如下: #define list_entry(ptr, type, member) \((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))乍一看,会觉得特别复杂,其实分析之后,会发现清晰…

LeetCode高频算法刷题记录8

文章目录 1. 零钱兑换【中等】1.1 题目描述1.2 解题思路1.3 代码实现 2. 最小栈【最小栈】2.1 题目描述2.2 解题思路2.3 代码实现 3. 最长有效括号【困难】3.1 题目描述3.2 解题思路3.3 代码实现 4. 从前序与中序遍历序列构造二叉树【中等】4.1 题目描述4.2 解题思路4.3 代码实…

day8 域名解析与http服务器实现原理

域名解析gethostbyname函数 主机结构在 <netdb.h> 中定义如下 结构的成员包括&#xff1a; h_name &#xff1a;主机的正式名称 h_aliases&#xff1a;主机的备用名称数组&#xff0c;以 NULL 结尾指针 h_addrtype&#xff1a;地址类型;&#xff08;AF_INET或AF_INET…

基础知识6

知乎上的面试题&#xff1a;https://zhuanlan.zhihu.com/p/546032003 一、Topk问题以及变种&#xff0c;各种解法 微博的热门排行就属于 TopK 问题 TopK 一般是要求在 N 个数的集合中找到最小或者最大的 K 个值&#xff0c;通常 N 都非常得大。 算法的优点是不用在内存中读入全…

经典组件知识(kafka,ngix)

消息队列的作用 解耦、削峰、 异步&#xff08;非必要逻辑异步运行&#xff0c;加快响应速度&#xff09; kafka 首先有个topic的概念&#xff0c;类似于表。 Partition 分区&#xff1a;一个topic下面有多个分区&#xff0c;这些分区会存储到不同的服务器上面&#xff0c;或者…

如何使用 Django 进行测试驱动开发,我来告诉你

所谓测试驱动开发(TDD)&#xff0c;就是先编写测试用例&#xff0c;然后编写代码来满足测试用例&#xff0c;具体包含以下步骤&#xff1a; 编写测试用例。编写代码满足测试用例中的需求。运行测试用例。如果通过&#xff0c;说明代码满足了测试用例所定义的需求。如果未通过&…

armday2

.text .global _start _start: bl LED1_INITbl LED1_ONbl delay_1sbl LED1_OFFbl LED2_INITbl LED2_ONbl delay_1sbl LED2_OFFbl LED3_INITbl LED3_ONbl delay_1sbl LED3_OFFbl _start/**********LED1点灯PE10**************/ LED1_INIT:1.通过RCC_HB4_ENSETR寄存器设置GPIOE组…

PoseiSwap:为何青睐 Layer3?又为何选择 Celestia 作为技术伙伴?

自 PoseiSwap 在 Nautilus Chain 上线后&#xff0c;该 DEX 的整体市场进展十分顺利。我们看到&#xff0c;其不仅在 4 月&#xff0c;以 1000万美元的估值&#xff0c; 获得了来自于 Zebec Labs 的首轮 150 万美元的融资。而在本月&#xff0c;在 Zebec 生态的帮助下&#xff…

利用prusa 3d打印地形模型 如何合理切片并提高打印速度

如上图&#xff0c;我们选择打印一个宽10cm 的地形模型&#xff0c;通过prusa切片&#xff0c;显示时间为22小时31分钟。这个速度大概一天&#xff0c;确实不是我们要的速度&#xff0c;如何提高速度又不失去打印细节且不增加失败风险呢。 1.减少填充 10%的填充对于创想三维en…

RK3568平台开发系列讲解(驱动基础篇)RK平台UART的使用

🚀返回专栏总目录 文章目录 一、引脚定义1.1 UART91.2 RS232和RS485二、设备树配置三、调试3.1 连接硬件3.2 打开主机的串口终端3.3 板子发送数据3.4 板子接收数据3.5 主机退出kermit串口连接四、UART2普通串口配置沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇…

C++——模板初阶

文章目录 一.泛型编程二.函数模板1.函数模板的概念2.函数模板的格式3.函数模板的原理4.函数模板的实例化&#xff08;1&#xff09;隐式实例化&#xff08;2&#xff09;显式实例化 5.模板参数的匹配原 三.类模板1.类模板的定义格式2.类模板的实例化 前言&#xff1a; 本章我们…

Flutter问题记录 - Text组件设置不限行数无效

文章目录 前言开发环境问题描述问题分析解决方案最后 前言 梳理Flutter项目的过程中发现还有一些遗留的TODO没处理&#xff0c;其中有一个和Text组件相关。 开发环境 Flutter: 3.7.12Dart: 2.19.6 问题描述 Text组件设置maxLines: null不限制行数&#xff1a; Text(The […

gradio入门示例

随着chat-gpt等机器人对话框架的流行&#xff0c;让一个名为gradio的框架也火热起来&#xff0c;这个框架可以开启一个http服务&#xff0c;并且带输入输出界面&#xff0c;可以让对话类的人工智能项目快速运行。 gradio号称可以快速部署ai可视化项目。 下面通过两个示例来感受…

C++学习记录——이십사 位图、布隆过滤器、哈希切割

文章目录 1、位图位图应用优缺点 2、布隆过滤器1、哈希函数2、删除 3、哈希切割应用 本篇gitee 1、位图 先看一个题目&#xff1a; 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个树是否在这40亿个数中&#xff1f; 这里可能…

《面试1v1》线程池

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 面试官&#xff1a; 你好&#xff0c;很高兴见到你。请问你对线程池有什么了解&#xff1f; 候选人&#xff1a; 你好&#xff0c;我对线程池非常了解。线程池是一种…

前后端联调统一校验规则

文章目录 统一校验实现1.什么是统一校验2.统一校验的实现&#xff08;1&#xff09;引入依赖&#xff08;2&#xff09;基于注解&#xff08;3&#xff09;使用案例【1】定义校验规则【2】开启校验【3】统一异常处理器捕获校验产生的异常 3.分组校验(1)定义公共的校验分组(2)定…

完全自主研发,聚芯微发布3D dToF图像传感器芯片!

日前&#xff0c;由中国半导体行业协会IC设计分会&#xff08;ICCAD&#xff09;、芯原股份、松山湖管委会主办的主题为“AR/VR/XR元宇宙”的“2023松山湖中国IC创新高峰论坛”正式在广东东莞松山湖召开。武汉市聚芯微电子有限责任公司发布了完全自主知识产权的3D dToF图像传感…

Spring面试整理

什么是Spring&#xff1f; Spring的优缺点&#xff1f; Spring的模块组成 Spring框架中使用了哪些设计模式&#xff1f; 详细讲解下核心容器&#xff08;Spring context&#xff09;模块 Spring框架中有哪些不同类型的组件 Spring控制反转&#xff08;IOC&#xff09; 什…

由浅入深Dubbo核心源码剖析SPI机制

目录 1 SPI的概述1.1 SPI的主要作用1.2 入门案例1.3 总结 2 Dubbo中的SPI2.1 概述2.2 入门案例2.3 源码分析 3 SPI中的IOC和AOP3.1 依赖注入3.2 动态增强 4 动态编译4.1 SPI中的自适应4.2 javassist入门4.3 源码分析 1 SPI的概述 在 Dubbo 中&#xff0c;SPI 是一个非常重要的模…

Spring Boot 3.x 系列【35】服务监控 | 健康信息

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.0.5 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 1. 配置2. 基本原理3. 自动配置4. 自定义健康指标5. 分组6. 数据源1. 配置 Health是健康的意思,该端点用来检查正在运行…