加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

设计安全的账号系统的正确姿势

发布时间:2016-09-06 13:59:08 所属栏目:安全 来源:简书
导读:最近有个虚拟练习项目,涉及到系统安全保障的设计,于是对安全保障这块做了一些更深入的了解。发现了很多有趣的东西,开阔了眼界。中间查了一些资料,于是我打算重新整理,

ECDH 就是基于上面原理设计的密钥交换算法:

设计安全的账号系统的正确姿势

密钥协商好后,双方就可以使用该密钥进行加密传输了,比如使用 AES 、 DES。

由于 ECDH 密钥交换协议不验证公钥发送者的身份,因此无法阻止中间人攻击。如果监听者 Mallory 截获了 Alice 的公钥,就可以替换为他自己的公钥,并将其发送给 Bob。Mallory 还可以截获 Bob 的公钥,替换为他自己的公钥,并将其发送给 Alice。这样,Mallory 就可以轻松地对 Alice 与 Bob 之间发送的任何消息进行解密。他可以更改消息,用他自己的密钥对消息重新加密,然后将消息发送给接收者。

解决方法是,Alice 和 Bob 可以在交换公钥之前使用数字签名对公钥进行签名。

即使攻击者不能解密传输的内容,但仍可以使用重放攻击尝试身份验证或用于欺骗系统。重放攻击是指攻击者将数据包截取后,向目标主机重新发送一遍数据包。

防御重放攻击的方法主要有:

使用时间戳。数据包在一定时间范围内才是有效的。 使用递增的序号。收到重复的数据包时可以轻易的发现。 使用提问应答方式。收到数据包时可以判断出来是否应答过。

HTTPS 正是使用了上述的原理,保证了通信的安全。所以,任何对安全有需求的系统都应该使用 HTTPS。如果是使用自有协议开发,比如 APP 或游戏,应该使用上述的方法保障通信的安全。

用正确的姿势加密敏感信息

我们都知道,用户的密码不能明文保存,而且要使用不可逆的加密算法,只保存最终的 hash 结果用来验证是否正确。那用户其他的敏感信息呢?比如身份证、银行卡、信用卡等信息,该如何加密保存而不被泄露呢?

对于身份证信息,可以像密码一样只保存 hash 的结果,可以用于用户输入身份证号后进行验证。假如需要给用户显示身份证信息,只需要保存抹掉了几位数字的身份证号。

假如你的系统涉及到支付,需要用户的银行卡,信用卡(卡号,CVV码)等信息时,必须遵循 PCI DSS (第三方支付行业数据安全标准)标准。PCI DSS 是由 PCI 安全标准委员会的创始成员(visa、mastercard、American Express、Discover Financial Services、JCB等)制定,力在使国际上采用一致的数据安全措施,包括安全管理、策略、过程、网络体系结构、软件设计的要求的列表等,全面保障交易安全。

如果只是银行卡,还需要遵循 ADSS (银联卡收单机构账户信息安全管理标准) 标准。

2014年3月携程泄露用户银行卡信息就是因为没有遵循 PCI DSS 标准。

用正确的姿势对数据进行备份和监控

2015年5月的携程数据被删事件,就是数据备份没有做好的例子。数据备份是为了防止由于硬盘损坏或人为破坏导致的数据丢失。主要措施有:磁盘 raid,物理备份(磁带库),异地的逻辑备份。同时做好权限控制,并对访问记录做好监控,及时发现问题,保留现场证据。

总结

本文总结了设计一个安全系统的基本原理和方法,并没有举出一个特定具体的方案,因为不同的系统对安全性的要求各有不同,设计者应该根据自身系统的特点进行具体设计。比如加盐 hash 的具体实施方法,salt 值如何构成等等。

本文所述内容如有不实之处或者有争议的部分,欢迎交流指出。

附录

常用的加密算法:

  1. 对称加密:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES。 
  2. 非对称加密:RSA、ECC(椭圆曲线加密算法)、Diffie-Hellman、El Gamal、DSA(数字签名用)
  3. Hash 算法:MD2、MD4、MD5、HAVAL、SHA-1、SHA256、SHA512、RipeMD、WHIRLPOOL、SHA3、HMAC

DES、3DES、AES 区别:

  1. DES:1976年由美国联邦政府的国家标准局颁布,密钥为 56 位。
  2. 3DES:DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。
  3. AES:高级加密标准,是下一代的加密算法标准,速度快,安全级别高,用来替代原先的DES。密钥长度可以是128,192或256比特。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读