目录
为什么要了解一点数据安全知识?
最近发生了大概2件事情。使我想了解一下,数据安全相关的东西,甚至背后涉及的密码学知识
谈谈公司的安全部门
工作有几年了,也呆过一些不同类型,大大小小的公司。有银行这种传统金融机构,传统软件公司,甚至BAT这种头部的互联网企业
银行由于专有网络问题,平时感受不到太大的数据安全,内部系统都隔离在内部网络了
传统软件公司一般是toB的,也是私有部署在客户机房,外部无法访问
理论上互联网这种企业,toC的是最具有数据安全及风险的。可惜估计当时是业务团队,或许公司安全部门做的太好了,反而在开发过程中,没有涉及太多相关的数据安全
以上,在工作中,或由于公司业务,或项目原因,对数据安全考虑涉及较少
所以,当新公司里,所有的业务或系统都要安全拍板,要按照他们的规则去设计或整改的时候,是让让我有点不适及不爽的!这是事情之一
数据库勒索
前阵子下班有个同事说,他朋友的一个云服务器上数据库被勒索了,要给比特币。当时觉得有点不敢相信,云服务器也能被黑客攻破?
结果,打脸来的太快,没过几天。在阿里云上的Mysql数据库也中招了。通过navicate连接不上,登录服务器,发现数据库也被删除了,幸好只是一个测试库。
后来分析了一下,应该是开放了默认的3306端口,让自己本地能连接,并且密码设置的太过简单,比如123456这种,被黑客的脚本攻击了!此事情之二
这也就说明,在互联网时代,云服务器的安全防护甚至比以前专有网络更弱,风险更大!因为至少内网,会通过网络及防火墙隔离绝大部分攻击风险,这种基础的网络防护是可靠的,但是云时代,不再那么可靠了!
从此,对数据安全的观点发生了一点变化。
对安全部门没那么抵触了,并且将项目进行了改造,对应用层面对数据安全进行了加强:
- 敏感数据脱敏,比如页面显示等
- 存储数据加密,比如DB存储,配置文件存储等
- 传输数据加密,比如API接口,敏感字段加密传输等
这里面用到好些知识
- 比如DB存储密码的摘要算法,比如SM3
- 敏感数据的对称加密算法,比如AES,SM4
- 密码传输加密的非对称算法,SM2等
- SM3,SM4国密算法等
当然,这些在加/解密算法中,只是很小一部分。在数据安全中,更是冰山一角
进一寸算一寸
所以,这里主要讨论加解密相关的有限几个算法,并且是实用且常见的
- 摘要算法,哈希函数
- 对称算法
- 非对称算法
及常见的应用场景
- 密码存储
- 敏感数据加/解密
- 密钥轮换
- KMS的原理
Zoom隐私安全问题
由数据安全引起的血淋淋例子,也是近在眼前,那就是Zoom隐私安全问题
其中一个核心问题就是
Zoom会议使用宣称使用256位AES密钥进行保护,但Citizen Lab研究人员证实,所使用的密钥实际上仅为128位。而且是只在 ECB 模式下使用了简单的 AES-128 密钥,这个ECB模式是AES可用模式中最差的一种
- 而其中ECB是一种填充模式padding,除了ECB还有CBC模式
- 关于ECB为什么不安全,可以看看为什么ECB模式不安全?
由此可见,安全无小事,很多时候由于业务先行,会忽略甚至刻意忽视这些问题,但欠的技术债终归是要还的,甚至有的时候往往是出其不意的袭来让人措手不及