安全边界
ALL 的安全控制分为两层:- FSP 根据请求分类、参数、对象状态、前置条件和系统安全围栏校验技能请求;
- 设备本地控制器保留最终硬件保护权。
分类安全规则
执行前校验顺序
write 和 invoke 请求应当依次检查:
状态与并发
- 改变状态的调用必须携带
expected_revision; - 同一对象或同一互斥设备资源的冲突操作不得并发执行;
- 只有设备确认完成后才能提交成功状态;
- 任务进入
unknown后不得以计划状态覆盖实际状态; - 并行函数必须声明汇合条件和写集合,冲突写入必须在执行前被拒绝。
安全围栏
每项技能的系统维度必须公开调用方需要知道的安全限制,例如允许运行状态、联锁条件、可用性、禁止条件和紧急停止状态。围栏只公开执行判断所需信息,不暴露内部控制秘密。取消与急停
取消任务是请求,不等同于动作已经停止。服务端必须返回真实任务状态;不能安全取消时返回unsafe_cancellation。紧急停止由设备本地安全机制实施,ALL 只能读取其状态并遵守其结果。
最小暴露
- 设备发现只返回最小设备元数据,技能详情仅按调用方请求披露;
- 日志不记录设备密码或未脱敏样品秘密;
- 诊断不返回内部堆栈和驱动密钥;
- 研究对象扩展字段不得用于携带设备秘密。
审计
write 和 invoke 调用至少记录调用方名称、设备、技能、请求分类、请求标识、时间、参数摘要、输入修订号、任务标识、验证结果、最终状态和诊断编码。审计记录不能代替研究对象的实验来源与证据。