导航菜单

安全模型与框架

CIA三元组模型(理论+案例+常见问题)

CIA三元组是信息安全的核心模型,分别代表机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。

机密性可用性完整性

1. 机密性(Confidentiality)

机密性是指信息只能被授权用户访问,防止敏感数据泄露给未授权人员。常用技术包括对称/非对称加密(如AES、RSA)、访问控制列表(ACL)、数据脱敏与分级授权等。

  • 实际案例:银行系统通过SSL/TLS加密用户交易数据,防止中间人窃听。
  • 实际案例:企业内部文件服务器设置权限,只有特定部门能访问敏感文档。
代码示例:对敏感数据加密(Python)
from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher = Fernet(key)
token = cipher.encrypt(b'重要数据')
print(token)
常见问题: 密码泄露、弱口令攻击、未加密传输等。

2. 完整性(Integrity)

完整性保证信息在存储、传输过程中未被未授权篡改。常用技术有哈希算法(如SHA-256)、数字签名、消息认证码(MAC)等。

  • 实际案例:软件分发时提供SHA256校验码,用户下载后校验文件完整性。
  • 实际案例:金融交易系统通过数字签名防止交易数据被篡改。
代码示例:计算文件哈希值(Python)
import hashlib
with open('file.txt', 'rb') as f:
    data = f.read()
print(hashlib.sha256(data).hexdigest())
常见问题: 数据包被篡改、数据库注入攻击、文件被恶意修改。

3. 可用性(Availability)

可用性确保授权用户在需要时能及时访问信息和资源。常用技术有冗余备份、负载均衡、DDoS防护等。

  • 实际案例:大型网站部署多台服务器和CDN,防止单点故障。
  • 实际案例:银行系统定期备份数据,防止硬件损坏导致数据丢失。
代码示例:服务健康检查(Python)
import requests
try:
    r = requests.get('https://example.com', timeout=3)
    print('服务可用' if r.status_code == 200 else '服务异常')
except Exception:
    print('服务不可用')
常见问题: 拒绝服务攻击(DoS/DDoS)、硬件故障、自然灾害。