系统架构中安全性思考
第一部分安全性
1、 安全威胁
窃听:未经授权的用户获得了对一项服务或数据的访问情况
中断:指服务或者数据变得难以获得、不能使用
修改:未经授权纂改数据和服务
伪造:产生不存在的数据和服务
2、 安全机制
加密:将数据转换成攻击者不能理解的形式
身份验证:用于验证客户、用户、服务器等所申明的身份
授权:给与权限
审计:追踪访问内容和形式
3、 安全设计
任何系统都要考虑安全问题。实现安全服务需要考虑下面三个设计问题:控制焦点、安全机制分层和简洁性
4、 控制焦点
焦点一:对应用程序相关数据的保护
焦点二:要访问特定数据或者资源时,通过指定可以调用的操作,以及操作由谁来完成而进行保护
焦点三:通过限定特定人才能访问该应用程序
5、 安全机制分层
安全设计的一个重要问题是解决将安全机制放在哪一层。
6、 安全机制分部
将安全控制和本地操作系统分离
7、 简单性
有助于最终用户对应用程序的信任,而且使设计者确信系统没有安全问题
8、 加密
加密防止窃听
加密防止修改
加密防止伪造
对称加密和非对称加密
9、 安全通道
第一:分布系统需要保持客户和服务器之间的通信安全,安全通道需要对通信各方进行身份验证,另外要保证消息的完整性和机密性;第二:分布系统需要解决授权问题,服务器一旦接受来自客户的请求,它将如何查明该客户是否得到授权使用请求得以执行
10、 身份验证
使用共享密钥的身份认证
使用密钥分发中心的身份认证
使用公共加密的身份认证
11、 消息完整性和机密性
数字签名
会话密钥
12、 安全组通信
在分布系统中可能建立多方通信的安全通道
机密组通信
安全的复制服务器
13、 访问控制
检验访问权限称为访问控制
访问控制矩阵:设置一个权限表,记录可以访问某个数据或者服务的所有对象
保护域:分层组织访问控制矩阵
防火墙
保护移动代码
14、 安全管理
密钥管理:密钥建立、分发、证书生成
安全组管理:
授权管理:权能、属性证书、委派
第二部分安全架构
1、 描述系统
对系统功能、安全要求进行描述,对系统部署和技术需求进行描述
2、 确定系统安全级别
3、 对网络安全进行设计
4、 对数据库安全进行设计
5、 对文档安全进行设计
6、 设计访问控制矩阵
7、 设计访问控制组
8、 设计委派
9、 设计访问控制
10、 设计加密和数字签名策略
11、 设计安全管理
12、 解决安全系统得易用性
13、 解决安全系统简单和可维护性
14、 解决安全系统独立性