概述
开发安全相关系统时,ISO/SAE 21434:2021建议遵循安全领域的设计原则。
ISO/SAE 21434:2021 Clause 10.4 [RC-10-06] Established and trusted design and implementation principles should be applied to avoid or minimize the introduction of weaknesses.
本文参考如下标准,介绍设计原则的第1部分: Security Architecture and Design
Systems Security Engineering: Considerations for a Multidisciplinary Approach in the Engineering of Trustworthy Secure Systems, NIST, 2018
本部分内容与系统的架构和设计相关,包括了将系统分解成系统元素,以及设计系统元素间的交互和接口时的一些设计原则。
1. Clear Abstractions /清晰的抽象
清晰的抽象原则是指:模块接口和功能应做到简单、清晰、最小必要性、充分满足、准确。
遵循本原则,可以使系统的结构和关系简单,这样就更容易进行分析、测试和使用。
设计时可以采用避免冗余(avoidance of redundant)、避免未使用接口(unused interfaces)、信息隐藏(information hiding)、避免接口或参数语义过载(avoidance of sematic overloading)等方式。
说明:
信息隐藏(information hiding)示例:A模块调用B模块接口时,B模块的内部信息对A模块是不可见的。(注:这也是低耦合、或imp