
# 设计原则
国际标准化组织（ISO）对计算机系统安全的定义为：确保信息资产（包括硬件、软件、网络、数据等）受到保护，以确保其机密性、完整性和可用性。计算机系统安全的目标是保护信息系统免受未经授权的访问、使用、披露、破坏、修改、中断或不可用的威胁，同时确保信息系统能够持续地提供服务。
系统安全的基本要素包括机密性、完整性、可用性、可审计、不可抵赖性等。其中最基本的三个要素是机密性（Confidentiality）、完整性 （Integrity）、可用性（Availability），简称CIA。
为实现系统安全所定义的基本要素，业界根据大量的实践，提炼出一些共性的安全设计原则：
- **零信任原则（Zero Trust）**
  - 零信任遵循"永不信任，始终验证"的安全理念，假设任何人或程序都不可信，无论是内部用户、外部用户还是网络设备。系统内的组件进行任何通信之前都将通过显式的验证，减少系统信任带来的攻击面。零信任把现有的基于实体鉴别和默认授权的静态信任模型（非黑即白），变成基于持续风险评估和逐次授权的动态信任模型。
  
  - 零信任不根据网络空间位置决定可信度，其重心在于保护资源，而不是网段。与传统安全理念对比，它将网络防御的重心从静态的、基于网络的边界转移到了用户、设备和资源上。所有的资源（如人/物/终端/应用/网络/数据/供应链）都需要进行持续身份验证和信任评估，从全局视角执行动态安全策略。零信任通过动态、持续性的实体风险评估，缩小受攻击面，保证系统安全。
   
- **纵深防御原则（Defense In Depth）**
  - 多点、多重的安全防护机制来分层保护组织的网络、资产和资源。
  
  - 不依赖单层安全防护能力，不因单一安全防护能力失效而完全暴露。
  
  - 假设系统受到攻击，系统有一定的韧性能力保持最小化系统运行，可以提供最小化服务。
   
- **最小化原则（Least Privilege）**
  - 最小化身份：尽可能减少非必要的系统管理员，定时清理过期的身份。
  
  - 最小化权限：给予用户或实体最小必要权限来执行其工作，以降低潜在的安全风险。
  
  - 最小化暴露面：对不同的访问区域和访问对象，仅暴露最小的服务端点和最少的服务应用接口。
  
  - 最小化凭证：尽量消除对长期的、静态凭证的依赖。
   
- **数据安全保护原则（Data Security）**
  - 数据分类分级，定义不同级别的数据防护措施。
  
  - 确保对数据进行适当的加密、备份和访问控制，以保护数据的机密性、完整性和可用性。
  
  - 维护个人隐私权利，保护隐私数据的机密性和完整性。
   
- **DevSecOps**
  - DevSecOps的核心理念是将安全性纳入到整个软件开发生命周期中，从需求分析、设计、开发、测试、部署、运维、运营的每个阶段都考虑安全性，以确保系统的安全性和稳定性。
  
  - 通过将安全性与DevOps的自动化流程相结合，DevSecOps可更快地检测和修复安全漏洞，并提高软件开发的效率和质量。
   
 
