2018年1月17日,由中关村可信计算产业联盟主办的第四届中国可信计算产业发展论坛,将以“贯彻《网络安全法》 、用可信计算 3.0 构筑主动免疫的网络安全生态圈”为主题,汇聚全国二百余家产学研单位,共同对网络信息安全相关问题进行讲解、探讨。来自网信办等政府主管部门领导和专家学者、企业高管、工程技术人员约五百余人将参加本次会议,黄河连线受邀报道会议。会上,方滨兴院士做了主题为《关于安全与可信的思考》的演讲,以下为现场版演讲内容的整理:

只有理论可行,方法的出现只是时间问题

一件事情,如果在理论上是行不通的,在实际中就更不会出现。而如果在理论上行的通,那在实际中迟早会得到应用。

我们以键盘为例,键盘容易受到木马控制,一旦受到控制通过键盘输入的口令就容易泄露,从而出现问题。有的人说可以利用软键盘,但是软键盘的目标、位置是固定的。因为位置固定,木马只要知道你敲击的坐标,通过坐标就可以换算出这个口令,这个在理论上是可以实现的。也许现在还没有这种软件,但是因为理论上行的通,它迟早是会被开发出来。

为了克服这个缺点,于是有人研制出了动态验证码,每输入一次就会改变一次键盘,这个是随机的,因此不会通过固定的坐标计算出口令内容。这个办法看起来很好,但是我们假定“恶人”是不所不能的,有的人想出了办法:每敲一次键盘截一次图,通过截图又可以知道每次敲击的坐标从而推算出口令。

所以从“恶人假定”的角度来说,动态验证码是不行的,因为只要我们能想出一个理论方法,实践中就会有人做的。我们再想,同一个口令、不同的人敲的坐标值序列是不一样的,这样就算大数据挖掘也是挖掘不出来的。这个就是一个可行的方法了,因此想问题就是要有这样的思路。

再比如说,在做原始输入时,需要一个通行码进行确认,看这个操作是人还是木马在控制。有的通行码是图像,需要做图像分析。人在分析的时候是十分容易的,机器有很大的难度,尤其是动态图像。但我们假定木马是无所不能的,它可以截图识别,那我们就要改变动图片频率,变成随机的。因为木马截图的频率是一定的,因此木马的操作就可能有误差。但我们再假定,无所不能的木马可以视频截图,可以像人一样跟随动态验证码频率,那怎么办呢?

通行码是第一通道,于是有的人加了第二通道:手机短信验证码,没有短信验证码是通不过的。

那么我们做一个最坏的假定:人工智能被利用之后,在同一个通道上,人所知道的信息终有一天也会被木马所知。这么坏的假定下,手机也可能中木马病毒的。手机中毒后,木马可以理解相关的操作动向。要想手机不中毒,只有把手机与网络隔绝开来,这样病毒就没法找到控制通道,但实际上这样是不可能的。手机上网后,事先已经入侵的木马会知道你与某网站有过关联,这样就会导致验证码被窃取。那这时候我们就需要继续想办法了,再增加通道保障安全。

所以说当你想一个解决办法的时候要全面,如果理论上已有攻克你这个屏障的方法,那么这个方法迟早有一天是会被研发出来的,不要说还没有人这么做,要从理论上检验你方法的可行性

可信最终依赖于人,有人就有安全保障

可信最后依赖的还会是人,不能完全依赖机器,一旦完全依赖机器,规则都是它指定的,那是不可想象的。一但有人参与进去了,这个事情才有安全保障。

我们还是以验证码为例,如果在验证码输入中不经过人操作,那么木马可能会更容易地操控这一过程,把人“踢”出去。怎么能保证人不被“踢出去”呢?我们可以用U盾,它不存在于计算机内部,可以移动使用,这个想法非常好。但是我们知道,U盾插进电脑里的时间一般不会很短,假定木马无所不能,它就可以远程操控U盾。所以你只要忘记拔下来,就可能收到攻击。 

有的人想在U盾上加按键,出发点是只要加入人的操作就可以保证安全。对于这个问题,我在2005年就说到过,当银行给你发送验证码后,你需要通过U盾输入验证码直接反馈给银行,之后银行会发送验证成功或验证失败的提示,木马可以在银行发送验证结果提示的时候进行拦截,诱导你重新输入一次验证码,我相信绝大多数的人都会再输入一次,这样木马就可以获取你的验证码。

这个木马在2008年真的出现了,手法和我说的有点差别,这个木马现在已经被消灭了。后来有的人在U盾上加了屏幕,让人写签名,这个方法使人更深入地参与进去了。我目前还没有想到新的攻击方法,我认为就是可信的安全方法。

可信计算的研究路径就应该是这样。可信计算需要人参与,而人参与方法的就是免疫方法,这是一个成功的主动防御方法。中国电子已经在这方面做出了很多努力,有很多产品体系,如“白细胞”可信免疫产品、“白细胞”操作系统、“白细胞”服务器等,成功拦截了勒索病毒。

安全与可用、可信与可用的矛盾 

我们要解决安全与可用、可信与可用的矛盾,其中,我觉得安全与可用的矛盾会更大些。

安全就是“恶人假定”,为了安全考虑,看谁都是“恶人”,越是涉及到安全领域越是这样,越是VIP,越是审查严格。现在很多安全领域也使用物理隔离,但是物理隔离好不好用就不一定了。有的国家甚至在奉行“极端安全主义”,用极端的手段证明你是安全的,才可以进行工作。想要绝对安全,完全没人工作就可以实现,但这个是不现实的。所以说,要掌握好可接受的代价,不可接受的代价是不能使用的,要有动态的调节。 

可信和可用也有矛盾。可信是以已知为前提的,有的时候会把错的认为是对的,但更多时候会把对的认为是错的,这就需要人的参与。如果一个系统根本到不了已知环境,任何人都不可信。我们要把一个系统推行到一个已知环境中,然后利用可信,这才是真正安全。如果一个系统达不到已知,这是谁都不能操作的。我们现在很多的努力,就是要把社会环境塑造成可信。没有万能的安全,只有最适用的安全。所以说一个环境完全陌生,就需要安全;当环境是已知的,就需要可信,不能冒险。

总结

总结一下安全、可信、可靠、可控的关系,可靠和可控在这里没有具体说,我这里把它们做一下简单的对比。

安全的前提是“恶人假定”可信是“好人假定”可靠是“上帝”视角,比如消费者在购物时不会考虑生产过程,只会考虑使用性能。而可控是“监管人”视角,一个系统设定好规则后,可控会监督这个系统运行。

类比一下,安全就像养猛兽,你可以把狮子当做自己的宠物,但是你打个发蜡、换个造型他就不认识你了,是有危险性的,而可信就像是养宠物,它一直是温和的;可靠就像养牲畜,他它不会伤害你,但是不会像小猫、小狗那样和你亲近;可控就是养孩子,你会控制孩子的行为。

行为类比上,安全就是闯红灯,在有坏人的时候一个红灯是不具有保护性的;可信是绿灯行,可靠是黄灯不能动,而可控是红灯停,不让做的就不会做。

应用原则上,安全是监狱、可信是办公室、可靠是猪圈、可控是居家。在立足点上,安全是事前保护、可信是事后打击、可靠是经济平衡、可控是规管制。应用点上,安全是未知身份、可信是已知身份、可靠是随机因素、可控是自有系统。在目标上,安全是不受伤害、可信是确是好人、可靠是不受损失、可控是掌控一切。

声明:本文来自黄河连线,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。