道路千万条,安全只三条

用户头像
石君
关注
发布于: 2020 年 07 月 06 日
道路千万条,安全只三条

在程序开发、产品设计的过程中,经常会听到安全方面不知道如何下手的问题。



对于如何把程序设计得更安全这一问题,推荐三条黄金准则:

1、不要自己设计安全算法;

2、不要自己设计安全算法;

3、不要自己设计安全算法;



我们所要纠结的应该局限于办公准入认证用AD还是搭建802.1x、radius等认证服务器,而非自建准入算法;我们所要考虑的是用哪种模式、哪个版本的https协议,而非自建三次、四次握手,如果你还知道sslv3.0、tlsv1.1存在安全问题,GCM模式更安全,那就更好了;我们所要考虑的是用RSA还是SM2、AES还是SM1/SM4,SHA256还是SM3,而非自创加解密算法,你在算法中设计多少次握手也不行。



我们应该做的,就是从一开始头一次就把安全设计的问题考虑好:在实践中,能够把已经有的安全技术、安全产品用好用对,就至少能实现60%的信息安全目标。



自公钥算法问世以来,“就喜欢你看不惯我又干不掉我的样子”成为现实。不用我赘述,就能想象无数能人志士想要攻克公钥算法的样子,这就是它的能力所在,相当于集结了设计者和攻击者对立双方的智慧。

后来的开源软件也是这个思路,虽然看起来爆出来很多cve漏洞,但比没人用过的、自己设计的、漏洞藏着掖着的软件,不知道要安全多少倍。



沿着这个思路,我们在采购、使用商业化软件的时候,究竟是使用标准版的好,还是提很多要求让厂商给定制化的好?我个人倾向于前者,标准版用的人多,遇到的问题就多,填过的坑也多,反观定制化,都是个性需求,遇到悬而未决问题的可能性就会大很多。



这本文一开头提出的问题上,安全架构师通常通过提供默认安全能力、选取适用于业务场景的成熟安全产品、使用当前稳定无漏洞的安全技术,融入到产品设计、开发中去。能做好这一点,架构师功力已经不可谓不深厚了。



发布于: 2020 年 07 月 06 日 阅读数: 60
用户头像

石君

关注

与其更好,不如不同 2020.03.26 加入

分享孤独,成为故事,分享思考,成为思想。 做信息安全领域的探险家。

评论 (2 条评论)

发布
用户头像
今天这篇好简洁呀
2020 年 07 月 06 日 14:12
回复
侧面反应出工作与输出能力还没结合好
2020 年 07 月 06 日 14:24
回复
没有更多了
道路千万条,安全只三条