1、 开放设计原则:设计不应该是秘密,开放设计更安全
现在更关注在 秘钥上,而不是算法上。算法很多都是开源的,公开的。
不要用“私有”的加密算法
2、 失败-默认安全原则:白名单比黑名单好
失败安全:任何一个负责熊应该有一个处理功能失效后的应急安全机制,另外对错误消息和日志要小心,防止信息泄露。比如 登录失败过多,锁定账户
默认安全:默认配置就应该是安全状态。
例子:客服发现 设备的管理端口可以通过手机来直接访问,存在安全漏洞。由于初始安装后没有进行安全设置。
3、权限分离原则:一种机制需要两把 钥匙 来解锁,这样会只比一把钥匙 更高健壮和更灵活一些。
亚里士多德三权分立: 立法,行政,司法
系统管理员, 安全管理员,安全审计员
例子:IIS6,微软将 外部网服务器请求分成两个账户执行,一个普通用户,一个高权限用户。提升了安全性。
4、最小权限原则
例子:手机手电筒软件申请了 存储,通讯录等权限
5、 经济适用原则: 设计应该尽量 简单,紧凑
比如AK47, 简单好用
双重加密: 即采用了SSL协议,又采用了对称加密算法。影响了性能
加密组件,组件化设计
6、最小公共化原则:尽量避免提供多个对象共享同一资源的场景,对资源访问的共享数量和使用应该最小化。
共享内存的最小化
7、安全仲裁原则:
对每次访问都必须经过安全检查审核
客户端少做安全机制,因为黑客会绕过他
例子: 用户通过URL可以换成日志,没有进行权限校验
DNS投毒,黑客篡改客户端HOST文件
8、心理可承受原则:
12306,下面图片谁最帅
终端软件可以记住密码。其他安全性比较高的,禁止使用。
9、纵深防御原则:保护最薄弱环节
苏联和德国之战
网友评论