2012年大型银行纷纷遭受伊朗黑客的DDoS攻击,专门提供分散式域名服务器(DNS)及内容传递网络服务(CDN)的CloudFlare公司帮助客户解决相关问题时发现,虽然云端服务是为这些银行缓解DDoS攻击的良好对策,但基于政策银行无法交出密钥,因此CloudFlare开始研究如何让客户无需分享出密钥也可享受安全服务。
经过两年的研究,CloudFlare宣布加入一种新型态的加密传输技术Keyless SSL。Keyless SSL并不要求用户提交用来确认网站身份的密钥给云端用户,可以保障私钥的安全性,CloudFlare并将Keyless SSL的主要部份将以开放源码的方式发布。目前,CloudFlare已发布Keyless SSL主要部份的原始代码,有些被并至NGINX反向代理服务器开放源码项目中,有些则开放在GitHub上。
TLS/SSL协定主要用来保障网络传输的安全,连线时要求网站向浏览器证明自己的身份,并通过加密来保障资料的交换。网站使用凭证来向浏览器证明自己的身份时除了需要公开密钥,还得证明它拥有相关的私钥,才能断定它是该凭证的持有者。此外,浏览器必须评估该凭证是否来自可靠的凭证机构,且凭证必须含有该站的网域名称。由于私钥是用来确认网站的身份之用,因此一旦遭窃,就有可能出现伪造的网站,进而导致使用者受骇。
简而言之,浏览器与网站之间的保密与认证是通过建立一个共享的密钥以及验证凭证的持有者而达成,这一系列的讯息交换程序称为handshake,中文译为“握手”或“交握”。
CloudFlare说明,标准的CloudFlare SSL服务要求客户分享该站的SSL密钥,虽然CloudFlare会尽力保护客户的密钥安全,但有些客户因政策或技术障碍而无法分享密钥。然而,全新的Keyless SSL允许客户保留密钥控制权,同时能够通过CloudFlare网络引导加密流量。
CloudFlare表示将发展此一技术起源于2012年的秋天,当时有多家大型银行遭受伊朗黑客的DDoS攻击,某家银行高层请他们协助解决问题,随后即发现银行的硬件设备已不足以承受人为的流量攻击,而云端服务是降低DDoS攻击的良方之一,只是,银行无法将私有密钥交给第三方,因为遗失密钥对银行而言是非常严重的事,甚至必须向美国联邦储备银行报告。
CloudFlare安全工程团队负责人Nick Sullivan说明,该公司的作法是在握手程序中仅需存取一次的私钥,这允许它们拆开SSL握手程序的地理位置,让大多数的握手程序发生在CloudFlare,并将私钥的运作转移到远端密钥服务器上,此一服务器可以被放置在网站客户的架构中,让网站握有私钥的独家存取权。
Sullivan指出,iSEC Partners与Matasano Security等信息安全用户的核查发现,Keyless SSL的安全性相当于就地部署的SSL,目前学术界也正就Keyless SSL的安全性与效能进行研究。
Sullivan说,该技术初期将会应用在采用大型企业方案的CloudFlare客户上,这代表全球组织不必将SSL的密钥交给第三方的云端供应商,还可利用类似CloudFlare等弹性且可无限扩充的服务享受诸如减缓DDoS攻击、平衡负载或WAN最佳化等云端服务的好处。
密钥服务器可放在Linux、UNIX或Windows Server等平台上,未来也可望被整并到硬件安全模组供应商的产品或是密钥解决方案中,以方便客户于自己的架构中管理密钥。至于Keyless SSL则支持不同的密钥服务器,通过相互验证的SSL来进行CloudFlare与密钥服务器之间的安全连结。
由于Keyless SSL必须额外连结一次密钥服务器,因此理论上启用Keyless SSL的传输会慢一些,不过,Sullivan说明,由于CloudFlare的资料中心遍及全球20个国家,而且皆座落在可覆盖95%网络活跃人口的地区,让网站访问者可就近连结CloudFlare服务器,唯一较远的连结只有密钥服务器,几乎感觉不到延迟。
原文出自【比特网】,转载请保留原文链接:http://sec.chinabyte.com/115/13089115.shtml
(责任编辑:冬天的宇)