系统架构设计师-安全体系结构-数据机密性服务

638 阅读3分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

7cde1a499ffb453a9c6bafdeb666dc17_tplv-k3u1fbpfcp-watermark.png

安全体系结构

信息处理系统的安全体系结构(GB/T 9387.2—1995)中定义了五大类安全服务,分别是认证服务、访问控制服务、数据机密性服务、数据完整性服务和抗抵赖性服务。

数据机密性服务

数据机密性服务的目的是确保信息仅仅是对被授权者可用,信息的保护 可以通过确保数据被限制于授权者获得,或通过特定方式表示数据来获得。信息的机密性主要通过 以下两种方式实现:

通过禁止访问提供机密性

即可以通过访问控制,以及通过物理媒体保护和路由选择控制保证机密性。 禁止访问在我们的系统保护中很常见,比如现在的堡垒机,正式库和正式部署地址都需要用堡垒机才能访问,这样可以有效地保证只有被授权的开发人员才可以访问我们的正式环境。 现在基本上我们的系统都是部署在内网,和外网隔离,只有通过开通对应的IP和端口才可以进行通信,有效的进行系统隔离,保证机密性。

通过加密提供机密性

即防止数据泄漏在传输或存储中。加密机制包括基于对称的加密机制和基于非对称的加密机制

密码加密演变史

初始阶段

网站的安全意识还比较薄弱,此时将密码明文保存在数据库中。还记得当时CSDN将密码明文保存在数据库中,然后被脱库了,那时候天天都是撞库的操作。密码明文保存会导致用户的密码泄露,要知道很多用户都喜欢使用一个用户名一个密码登录多个网站,A网站的密码泄露会对其他网站也造成影响。

加密时代

那时候乌云还在为中国网站的安全大厦添砖加瓦(虽然后来乌云被关停了),经历了CSDN事件之后,开始使用MD5对数据库里的密码进行加密了。但是2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证(就是因为现在的运算能力开始变得越来越厉害),而且通过MD5加密后的字符串可以反推用户实际的密码,所以逐渐也开始被淘汰。

加盐时代

目前大家都开始在使用加密算法的同时使用上盐字符串,先将密码和盐字符串拼接在一起,再加密。这样就可以保证加密之后的字符串在没有拿到盐字符串的情况下无法被碰撞到,同时也可以加大计算的难度,可以保证用户的密码的最大的安全,也是现在的主流方式。