2. 安全基础
在双通道安全输入输出设计中,安全并不是一个单一指标,而是由功能安全、信息安全、可靠性、可用性、冗余与容错等多个维度共同构成的工程属性。理解这些术语之间的边界与联系,是后续进行通道架构设计、诊断覆盖率分配和失效模式分析的前提。
一、核心概念与边界
功能安全关注的是“系统在出现故障时,能否将风险降低到可接受水平”。它针对的是随机硬件失效和系统性失效,核心目标是避免因设备失效导致人员伤害或环境破坏。功能安全通常用安全完整性等级(SIL)或性能等级(PL)来量化,衡量的是安全功能在需要时正确执行的概率。
信息安全关注的是“系统是否会被恶意攻击、篡改或未授权访问”。它针对的是人为恶意行为,包括数据窃取、指令伪造、拒绝服务等。信息安全用机密性、完整性、可用性三要素描述,在工业控制中常体现为纵深防御、安全通信和访问控制。
可靠性是系统在规定条件下、规定时间内完成规定功能的概率,常用MTBF(平均无故障时间)衡量。可靠性高意味着“不容易坏”,但它不直接回答“坏了以后是否安全”。
可用性是系统在任意时刻处于可工作状态的概率,常用A = MTBF / (MTBF + MTTR) 表示。可用性高意味着“很少停机”,但高可用系统未必是高安全系统,例如一个始终输出“安全但错误”状态的系统可用性很高,却可能不安全。
二、冗余与容错:实现安全的两大手段
冗余是通过增加额外资源来掩盖故障。常见形式包括:硬件冗余(双CPU、双电源)、时间冗余(重复执行)、信息冗余(校验码、CRC)、软件冗余(多样性编程)。双通道安全输入输出正是硬件冗余的典型应用:两个独立通道同时采集或输出,通过比较器判断一致性。
容错是系统在部分组件失效后仍能继续正确运行的能力。容错依赖冗余,但冗余不一定带来容错——如果两个通道共用同一电源或同一时钟,共因失效会使冗余失效。因此,双通道设计必须关注共因失效(CCF)的抑制,例如采用不同厂商芯片、不同电源轨、不同物理布局。
三、关键术语对照与量化关系
下表整理了本节核心术语的定义、量化指标及其在双通道安全IO中的典型体现,便于在设计和评审中快速对照。
| 术语 | 核心问题 | 量化指标 | 双通道IO中的体现 |
|---|---|---|---|
| 功能安全 | 失效时是否安全? | SIL、PL、PFH | 双通道比较、诊断覆盖率、安全状态输出 |
| 信息安全 | 是否被恶意攻击? | 加密强度、认证成功率 | 通道间安全通信、报文MAC校验 |
| 可靠性 | 是否容易坏? | MTBF、失效率λ | 元器件降额、通道独立供电 |
| 可用性 | 是否经常停机? | A = MTBF/(MTBF+MTTR) | 在线诊断、热插拔、快速恢复 |
| 冗余 | 是否有备份? | 冗余度、通道数 | 双通道采集、双通道输出 |
| 容错 | 坏了能否继续工作? | 容错时间、降级模式 | 单通道失效后降级运行或安全停机 |
四、典型场景:双通道安全输入模块
以一个双通道安全输入模块为例:两个独立通道分别采集同一传感器信号,经过各自的ADC和处理器后进入比较器。若两通道数据一致且在有效范围内,则输出正常;若不一致,则进入安全状态。
- 功能安全:通过比较器检测通道间偏差,诊断覆盖率可达90%以上,满足SIL 3要求。
- 信息安全:通道间通信采用CRC+序列号,防止重放和篡改。
- 可靠性:两个通道独立供电、独立时钟,MTBF显著提升。
- 可用性:单通道故障时,系统可降级为单通道运行并报警,避免立即停机。
- 冗余与容错:硬件冗余提供容错基础,但必须通过共因失效分析确认两通道不会同时失效。
五、常见误区与复盘
误区一:高可靠性等于高功能安全。可靠性高只说明故障率低,但如果故障模式是危险侧失效(如输出卡死在“通”状态),则可靠性再高也不安全。功能安全必须同时考虑故障率和故障模式。
误区二:有了冗余就一定容错。冗余是手段,容错是结果。如果冗余通道之间存在共因失效,或者比较器本身失效,则冗余无法转化为容错。必须进行共因失效分析和诊断电路自检。
误区三:信息安全与功能安全无关。在联网的安全IO系统中,攻击者可能通过篡改通道数据使比较器误判,从而绕过功能安全机制。因此,安全通信和访问控制是功能安全的重要补充。
误区四:可用性越高越好。可用性与安全性有时存在冲突。例如,为了不停机而忽略诊断报警,可能使系统在危险状态下继续运行。正确的做法是在安全状态和可用性之间做明确权衡,并记录在安全需求规范中。
双通道安全IO设计检查清单(节选):
[ ] 两通道是否独立供电、独立时钟?
[ ] 通道间比较器是否具备自诊断能力?
[ ] 是否分析了共因失效(CCF)并给出抑制措施?
[ ] 安全状态定义是否明确(断电、输出高阻、输出安全值)?
[ ] 诊断覆盖率是否满足目标SIL/PL?
[ ] 信息安全措施是否覆盖通道间通信和外部接口?
[ ] 可用性降级策略是否与安全需求一致?