外媒解读Web安全核心PKI的四大致命问题
Web安全的立足根基在于复杂的PKI部署体系,但实际生活中得到正确部署的比例却非常有限,而且这一切都将随着摩尔定律的滚滚洪流灰飞烟灭。
我个人算是PKI(即公共密钥基础设施)的忠实拥护者。我热爱数学与密码学之美,也热爱它广泛的用途与适用场景。
过去二十多年当中,我曾经为众多私营及上市公司安装过PKI。原先那曾是我个人工作中的重要组成部分,但最近一段时间我发现这已经成了工作的全部内容。企业对于安全的要求已经达到前所未有的高度,而且越来越多的客户要么首次安装自己的PKI、要么打算对现有PKI进行升级以实现更理想的安全性与弹性。
但坦白地讲——而且作为一名经验丰富的从业者,大家可能会惊讶于我的结论——PKI可能已经无法帮助大家解决最主要的安全问题了。此外,PKI甚至很有可能在未来彻底被历史所淘汰。
下面我们来看PKI不再合适作为安全解决方案的四大核心理由:
1. PKI拥有太多活动组件
复杂性始终是理想计算机安全体系的最大天敌。活动组件越多,我们的业务体系就越可能存在安全漏洞,实现流程也会更加复杂。需要强调的是,即使是经过妥善设置的PKI,其活动组件数量也远超绝大多数计算机安全防御方案。
大家首先需要一套离线根证书机构(简称CA)。它必须切实离线,否则很容易受到攻击。接下来,大家需要两套或者更多CA来执行具体的证书分发工作。大家的CA需要受到HSM机制(即硬件安全模块)的保护,而这类硬件正好是PKI核心私有密钥的主要保护者。通常情况下,以上必要方案的总体成本会轻松突破10万美元。
另外,大家还需要两个甚至更多网站来存储CA自身的证书及CRL(即证书吊销列表)。在网络环境下,我们通常需要两个内部站点再加上两个外部站点实现配合。就目前的情况看,大部分PKI设计者都建议使用两台或者更多OCSP(即在线证书状态协议)服务器,其负责减少往来于客户端与CA服务器之间的CRL流量。
大多数PKI还包含有两台或者更多SCEP(即简单计算机注册协议)服务器,这样网络与移动设备也能够同样获得证书。此外PKI方案还涉及数十种其它组件,包括对象识别器以及签名等等。设计师与管理员需要了解每条密钥能够拥有怎样的长度,并考虑其可以在每款应用程序当中使用多长时间。
在以上工作结束之后,管理员还需要找到可行的办法为计算机及用户分发证书。他们该如何进行注册以获取证书?需要利用哪些因素来证明他们的身份?由谁来核准这些证书?证书要如何分发?每一款应用程序、设备以及操作系统都需要以彼此不同的方式加以处理。
而这种夸张的复杂性不仅意味着用户会被弄得一头雾水,就连大部分PKI管理员自己往往也弄不清状况。在我过去二十年的从业经历中,大概有5%的PKI并没能得到正确设置,而且大部分存在着多种错误。这些错误中相当比例属于关键性错误——而如果企业利用PKI作为安全策略的构建基础,那么问题就更为严重了。
2.即使PKI得到完美设置,效果仍然不够理想
更糟糕的是,即使大家已经对PKI进行了完美设置——其中不存在任何错误,它的实际效果仍然未必与预期相符……甚至根本不起作用!好吧,这么说也许有些偏激,但我要强调的是,用户以及应用程序往往倾向于忽略各类PKI错误。
大家都很清楚,浏览器地址栏左端的小锁头图标代表着该网站连接受到PKI的安全保护。
但是PKI离谱的复杂性意味着很多网站及应用程序当中都存在着PKI错误,这有可能导致小锁头图标消失或者处于未锁定状态。多数情况下浏览器会提醒大家当前网站的数字证书无效,并建议用户不要访问该网站。
但人们的通常反应是什么?忽略警告,继续访问该网站。
在检测到证书错误时,大多数应用程序都将无法正常“打开”。这种处理方式绝对必要。但如果浏览器也在发现PKI错误时强制阻止用户的访问,那么整个互联网体系将变得令人无法容忍。
3. PKI并不能解决最严峻的各类安全问题
尽管存在着第一点与第二点中的诸多状况,我仍然热爱PKI。如果用户、设备以及应用程序能够重视其警告内容,那么PKI的实际效果还是相当不错的。不过PKI目前面临的最大问题并非来自其自身。具体来讲,PKI能够解决的大部分问题并不是当下攻击者们的主要侵袭手段。
大多数攻击活动指向的是未安装修复补丁的软件,其次则是社交工程类木马。在大部分网络环境中,这两类因素造成了大约99%的成功攻击案例,而PKI对于解决此类问题完全束手无策。
如果大家无法在自己的网络体系上解决这两个问题,那么PKI根本帮不上什么忙。我就曾经向客户提供过这样的建议:“拥有完美PKI设置但仍然遭受攻击的客户比例,跟没能正确设置PKI但同样遭受攻击的客户几乎一样多。”这并不是PKI的错,毕竟如果用户不解决那么更大的问题,PKI完全是有心无力。
4.终有一天,PKI将彻底失去作用
这才是最重要的一点。终有一天,所有受到PKI保护的机密信息都会遭到泄露。没错,大家没看错,都会泄露。
终有一天,包含大量质数的密钥内容不再难以破解。公共密钥加密机制之所以能够起效,正是由于数学计算难度的存在。但当计算设备随着时间推移而愈发强大之后,加密机制将不再值得信赖。
举例来说,量子计算作出的最大承诺——无论其最终目标是什么——就是能够立即解开PKI保护之下的机密信息。也许在不久或者更远的未来,我们可以利用量子计算机轻松查看受保护内容。而当这一天来到时,大部分公共加密机制都将土崩瓦解。
任何拥有量子计算机的攻击者都能窥探到他的人机密。而且与大家担心的一样,世界上规模最庞大的间谍组织已经掌握着大量加密信息,因此在量子计算设备走向成熟(部分原型机甚至已经存在于实验室当中)后,他们将能够破解具体内容并将其公诸于众。
据称,当量子计算机成为现实之后,惟一可行的加密机制就是使用量子密码。到时候一切将成为钱的问题——没错,就是钱的问题。大家需要投入大量资金来购置足够的量子加密计算设置实现量子级别的信息保护。目前几乎任何一种设备,无论其价格多么低廉、体积多么小巧,都能够运行现存的全部加密算法及程序。而量子计算的出现将彻底改变这一切。
我们将再次进入第二次世界大战的时代,那时只有部分政府才能够控制足够的计算资源,进而挖掘到其他人保存在计算设备中的秘密。而其他人则只能“身如柳絮随风飘”,直到量子加密机制便宜到“飞入寻常百姓家”。
作者:核子可乐
来源:51CTO
外媒解读Web安全核心PKI的四大致命问题的更多相关文章
- 外媒速递:十大最佳心理学概念助你提升Web设计效果
外媒速递是核子可乐精选的近日国外媒体的精彩文章推荐,希望大家喜欢! 本期给大家推荐的是帮助你提升Web设计效果的十大最佳心理学概念.改善企业云环境协作效率的九款卓越工具.选择移动应用开发工具时要考虑的 ...
- 解读Web Page Diagnostics网页细分图
解读Web Page Diagnostics网页细分图 http://blog.sina.com.cn/s/blog_62b8fc330100red5.html Web Page Diagnostic ...
- 外媒评李开复的《AI·未来》:四大浪潮正在席卷全球
外媒评李开复的<AI·未来>:四大浪潮正在席卷全球 https://mp.weixin.qq.com/s/oElub0QOYjOROhqN3ULUkg [网易智能讯 9月17日消息]李开复 ...
- 外媒速递:系统管理员必须掌握的20条Linux命令
[51CTO.com原创稿件]外媒速递是核子可乐精选的近日国外媒体的精彩文章推荐,希望大家喜欢! 今天推荐的内容包括:系统管理员必须掌握的20条Linux命令.五款最佳Linux屏幕记录应用.MySQ ...
- 外媒分析:iPhone销量低于预期是中国市场疲软影响的
根据外媒AppleInsider的报道,来自摩根士丹利(Morgan Stanley)的Katy Huberty是最新一位下调苹果目标股价的分析师,她在报告中写道,iPhone的销量低于预期,主要是因 ...
- 外媒:Apple面临着印度iPhone的停用
据外媒报道:印度电信管理局(TRAI)制定遏制令人讨厌的消息的新规则可能导致印度数百万部iPhone的停用. 该监管机构本周早些时候宣布了“2018年电信商业通信客户偏好规定”,根据该规定,它已提议“ ...
- Python核心编程的四大神兽:迭代器、生成器、闭包以及装饰器
生成器 生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数后续的代码,并且返回一个值:在下一次调用该函数执行时,程 ...
- 2013Esri全球用户大会之解读Web GIS
1 什么是Web GIS,它跟我有什么关系? Web GIS是传递GIS功能的一种新方式,在Esri把GIS作为平台进行实现的战略方向中位于中心位置.Web GIS为用户随时随地访问和使用地理信息提供 ...
- 【初学者必读】能让你月薪过万的5大web前端核心技能
前言Web前端开发所涉及的内容主要包括W3C标准中的结构.行为和表现,那么这三项中我们需要掌握的核心技能是什么呢?看小编来为你揭开谜底的. 1.开发语言 HTML发展历史有二十多年,历经多次版本更新, ...
随机推荐
- 浅谈头文件(.h)和源文件(.cpp)的区别
浅谈头文件(.h)和源文件(.cpp)的区别 本人原来在大一写C的时候,都是所有代码写在一个文件里一锅乱煮.经过自己开始写程序之后,发现一个工程只有一定是由多个不同功能.分门别类展开的文件构成的.一锅 ...
- uni-app在线引入阿里字体图标库
第一步 在app.vue中引入阿里字体图标库 第二步 在任意页面使用就可以了 <view class="item" v-for="(value,index) in ...
- C语言学生管理系统(C语言课程设计/精简版)
#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<conio.h>typed ...
- javascript入门 之 ztree(五 自定义字体)
<!--<!DOCTYPE html>--> <!--<HTML>--> <!--<HEAD>--> <!--<TI ...
- Python 编程环境搭建(Windows 系统中)
由于大家普遍使用 Windows 系统,所以本文只介绍 Windows 系统中 Python 环境的安装. 在 Windows 中安装 Python 与安装普通软件没什么差别,下载所需版本的安装包后, ...
- stand up meeting 1/14/2016
part 组员 工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 主要对生词本卡片的整体设计做修改:协助主程序完成popup部分 ...
- 详解 File类
在讲解File类之前,本人先要讲解下 路径,因为我们对于文件的操作是离不开路径的: 目录 路径: File类 文件名称过滤器: 路径: 请观看本人博文 -- <详解 绝对路径与 相对路径> ...
- 10.添加script标签,判断onload是否完成
class Tools { static loadScript(url, callback) { let old_script = document.getElementById(url); if ( ...
- weblogic漏洞(一)----CVE-2017-10271
WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271) 0x01 漏洞原因: Weblogic的WLS Security组件对外提供webservice服务,其中使用了XM ...
- NGINX 类漏洞 整理记录
简单介绍NGINX: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行. 其特点是占有内存少,并发能力强,nginx的并 ...