关于“可信计算是否可以改善企业级安全问题”以及“密码学是否好找工作”

关于“可信计算是否可以改善企业级安全问题”以及“密码学是否好找工作”

这几天我回答了两个问题。

一个是 将可信计算用于大型企业级服务器可以改善安全问题吗? - 黑客 (Hacker) ,我的回答是

一个问题是 研究生导师的研究方向是分组密码,这个研究方向硕士毕业后好就业吗? - 密码学 ,我的回答是

然后就有人提了一个问题,怎么看待我这个民科。这个问题,我特地留了一个坑,但是没有回答,想今天来看看大家是怎么说的。很遗憾,看了之后很伤心,既伤心且笑,既笑且伤心。

我希望在讨论专业问题的时候,参与者有一点专业的知识,至少,有一点逻辑方面的能力。比如下面这个回复,

我都惊呆了,这个推论是哪里来的?语文老师死得早,阅读理解从来不过关?



关于可信计算,就我的判断这确实是一个理想中的东西,解决的是真空中的球形鸡的问题,对于真实的环境毫无用处,对于其它理论的推进也毫无帮助,研究者是有意无意的骗子。做这个结论,是因为我很懂安全攻防,同时懂一点点可信计算理论。

从浅显易懂的角度来说,SDN是2006年学术界提出的理论,到2014年全球主要的公司都在搞,不仅仅包括亚马逊、微软、谷歌、facebook、阿里、腾讯、百度,也包括思科、华为、IBM等等数不清楚的互联网公司、传统设备公司。

Map/Reduce是谷歌2004年提出的,2005年就有了hadoop,至今全球无数的公司在使用,包括由此理论发展出来的storm等等实时计算的东西。

可信计算的历史呢?大哥,80年代提出来的,现在30年了。有谁在用?基于可信计算发展出来的其它理论,有谁在用?计算机的历史才多长啊?70年啊,大哥。西晋发明的一个理论,到现在还没在企业用上,这个理论有多可靠?能改善企业级的安全问题?

打个粗俗的比喻,我现在拉一堆大便,我告诉你说50年之后有大用,你信吗?

回到技术的角度,我假设你可以在计算机里面搞个芯片,对所有的进程作签名,没签名的进程不许启动(其实这步在企业中已经是不可实现的了,假设在某些特殊特殊再特殊的部门可以实现),有用?SQL注入是怎么做的?恶意代码在数据库的进程内部直接执行了。溢出攻击怎么做的?恶意代码在攻击目标的进程内部直接执行了。XSS怎么做的?CSRF怎么做的?恶意代码是你自己在浏览器里面执行的。

why?这是冯诺伊曼计算机结构决定的,数据和指令没有分开啊大哥。可信计算通过进程级别的签名能够解决的了?你能够对CPU的每一条指令签名么?(且不说还有无数的网络攻击,ARP攻击怎么做的?交换机端口劫持怎么做的?BGP劫持怎么做的?)

你说用TPM芯片作计算机认证,OK,这个没问题。但是这对于企业安全来说,是细枝末节的细枝末节。每年有多少入侵是因为员工PC非法授权入侵的?沧海一粟。员工都是上网看了几个网站,然后就有恶意代码在浏览器里面执行了就上线了好么?用TPM作全盘加密比如微软的BitLocker,但是别人根本不依赖TPM,有没有这东西无所谓啊,而且全盘加密对企业安全重要么?有多少企业实施了?

不要想着从最底层,从BIOS层解决问题。越到底层,丢失的上下文越多,数据越失去意义。可信计算在企业中无法实施,而且即使实施了,在实质性的提升企业安全能力上面,解决不了任何问题。现在不能,将来也不能。我就是死黑可信计算,如果谁拿出可信计算在企业中的成功案例,我立马道歉。




第二个话题,关于“密码学是否好找工作”。我再强调一次阅读理解能力。我认为密码学重要不重要,和密码学毕业好不好找工作完全是两回事好么?


我说的是密码学好不好找工作的问题!

我说的是密码学好不好找工作的问题!

我说的是密码学好不好找工作的问题!


那些批判我是民科的人,你们真的看了我在讨论什么吗?

我在安全行业做了10年,认识的朋友遍布各大公司。有多少企业招过密码学的人?几乎没有,也许华为之类的设备厂商会招,但是他们招你们做什么?主要是在一些没有标准库的环境下实现标准的加密算法吧?看中的是开发能力好么?

为什么企业不招密码学的人,是不是企业不重视加密?恰恰相反,我们不招密码学的人,是因为我们敬畏密码学。

密码学我虽然没有学过,但也略懂, icylife.net/yunshu/atta ,这是我2010年写的一篇分析文章。 Understanding MD5 Length Extension Attack ,这是我同事、朋友道哥的一篇分析文章,都是密码学方面的。

我深知,密码学的第一准则,“不要自己去实现加密算法”。因此,在企业里我们牢记这一点,我们根据合适的场景,使用RSA2048,使用AES256,使用SHA-3,我也不止一次赞叹SSL协议将非对称加密和对称加密结合在不安全的网络上安全的传输数据且坚固效率是多么的巧妙(在知乎上我就不止膜拜过一次),我也赞叹过cloudflare将ssl写上分为两步实现keyless的ssl cdn加速(虽然可能引入了别的风险,我跟段海新交流过这一点)。

so,我们企业招你们密码学的人做什么?指望你们在有生之年实现一个比肩RSA的算法?比肩SHA-3的算法?或者实现一个AES的算法?实现不了?穷你们10辈子之力能实现么?或者说,指望你们去挖掘这些标准算法的漏洞?全球每年直接入侵系统的漏洞千千万万,标准加密算法的漏洞几年了才那么3-4个可能导致信息泄漏的,而且这种漏洞我们这种民科就消化了,你说让企业怎么选?

简单啊,我们了解这些加密算法的优缺点,直接使用标准库提供的算法实现加密解密,偶尔标准算法出了个小漏洞,稍微看看就有方案摆平了啊。

密码学毕业,多半去国家机构、交换设备嵌入式设备厂商或者少量的加密设备生产商吧。总的来说,这叫好找工作?去了这些机构,也多半是做开发工作,提高加密解密的性能,或者在特殊环境下实现标准算法而已。你自己研究出新算法,客户还不敢买好么?就算你证明你算法的NB客户也看不懂啊。就算王小云,确实是牛人,高山仰止,但是她去企业能够做出多大贡献?还是在研究机构更合适啊。

基于我看到的很多事实,我坚决认为,可信计算就是有意无意的骗子,在工业上无法实施,实施了也没什么卵用。密码学很高深,以至于高深到不好在企业中找工作(密码学在国家中很重要,但是我们谈的是企业,况且在国家单位有多少人能发现标准算法的问题?)。你们可以不信,那么请拿统计数据来打脸,甚至,可以拿你的一生跟我赌一赌,去读这两个专业试试看?

编辑于 2016-01-28 13:26

文章被以下专栏收录