机会性加密(OE)是指当连接到另一个系统时尝试加密通信信道的任何系统,否则会回退到未加密的通信。这种方法不需要两个系统之间的预先安排。
机会加密可以用来对抗被动窃听。它不提供强大的安全级别认证可能难以建立,并且安全通信不是强制性的。然而,它确实使得大多数互联网流量的加密容易实现,这消除了大量采用互联网流量安全的重大障碍。
简介机会性加密或伺机加密(英语:Opportunistic encryption,简称OE;有时也称非认证加密、随机加密)是一种网络通信加密机制,即当创建通信连接时,首先尝试请求加密,如果对方也支持加密连接,连接则开始加密,期间不进行身份验证;如果加密请求尝试失败,则回退到明文通信机制。这种加密不须双方进行事先配置,能够抵抗被动的流量窃听,但无法防御中间人攻击等主动攻击。因此,它不能替代完整的加密方案。使用机会性加密时,用户也不会看到任何连接安全的提示。
大多数互联网安全协议中,开始加密通信前都会进行身份验证,以防止中间人攻击,从而确保通讯安全。但是,这将涉及到身份验证与密钥管理,且须进行事先配置,否则无法开始安全通信。这使加密变成了“有或无”的一个问题,只能在“完全安全”或“完全不安全”两个极端选项之间选择,没有条件时便只能放弃加密,使用不安全的明文连接。这限制了加密连接在互联网上的大规模应用,使被动的攻击者也能够窃听大量互联网流量。
机会性加密则并不要求进行身份验证,目的是在条件允许时就尽可能使用加密通信方式。虽然机会性加密只能防止被动窃听,对攻击者的主动攻击无能为力(例如降级攻击或中间人攻击),但它使大规模加密互联网通信成为可能,从而防止互联网遭到大规模监控、“在大多数时候,提供一定程度的安全性”。1
路由器FreeS / WAN项目是OE的早期支持者之一。现在在Libreswan工作的前Freeswan开发人员继续努力。libreswan旨在支持使用IPsec进行Opportunistic Encryption的不同身份验证挂钩。2015年12月发布的版本3.16支持使用基于AUTH-NULLOpportunistic IPsec。Libreswan项目目前正在开展(前向)DNSSEC和Kerberos对Opportunistic IPsec的支持。
Openswan也被移植到OpenWrt项目中。Openswan使用反向DNS记录来促进系统之间的密钥交换。
可以使用OpenVPN和网络协议来设置动态VPN链接,这些链接的行为与特定域的OE类似。1
Unix和类Unix系统所述的FreeS / WAN和叉子如的Openswan和strongSwan提供的VPN,其还可以在OE模式下使用操作的IPsec基础的技术。混淆TCP是另一种实施OE的方法。1
Windows操作系统Windows平台默认安装了OE的实施。此方法使用IPsec来确保流量,并且是一个打开的简单程序。它通过MMC和“本地计算机上的IP安全策略”进行访问,然后编辑属性以分配“(请求安全性)”策略。这将在Kerberos环境中启用可选的IPsec。
在非Kerberos环境中,需要来自证书颁发机构(CA)的证书,该证书对于任何与您进行安全通信的系统都是通用的。
当任何一方位于NAT后面时,许多系统也有问题。NAT Traversal(NAT-T)解决了这个问题,并通过向注册表添加2的DWORD来完成:HKLM\ SYSTEM \ CurrentControlSet \ Services \ IPsec \ AssumeUDPEncapsulationContextOnSendRule使用MMC中提供的过滤选项,可以实现定制联网以要求,请求或允许通信到各种域和协议以使用加密。2
电子邮件机会性加密还可用于特定流量,如使用SMTPSTARTTLS扩展用于在Internet上中继消息的电子邮件,或用于读取电子邮件的Internet邮件访问协议(IMAP)STARTTLS扩展。通过此实施,不需要从证书颁发机构获取证书,因为可以使用自签名证书。
RFC 2595在IMAP,POP3和ACAP中使用TLS
RFC 3207SMTP Service Extension for Secure SMTP over TLS
STARTTLS和后缀
STARTTLS和Exchange
许多系统首先尝试获取加密密钥,如果不成功,则使用带有第三方附件的传统电子邮件包的变体,然后以明文形式发送电子邮件。PGP,p≡p,Hushmail和Ciphire等都可以设置为以此模式工作。
实际上,SMTP中的STARTTLS通常使用自签名证书进行部署,这代表系统管理员的最少一次性任务,并且会导致大多数电子邮件通信被机会性加密。2
VoIP一些IP语音(VoIP)解决方案尽可能为语音流量提供无痛加密。Sipura和Linksys系列模拟电话适配器(ATA)的一些版本包括SRTP的硬件实现,并且安装来自VoIP信息站点Voxilla的证书。当呼叫被放置时,尝试使用SRTP,如果成功,则将一系列音调播放到手机中,否则呼叫在没有使用加密的情况下继续。Skype和Amicima仅使用安全连接,Gizmo5尝试在其客户端之间建立安全连接。菲尔齐默尔曼,艾伦约翰斯顿和乔恩卡拉斯已经提出了一种名为ZRTP的新的VoIP加密协议。他们有一个名为Zfone的实现,它的源代码和编译后的二进制文件都可用。2
网站为了加密WWW/HTTP连接,通常使用HTTPS,这需要严格的加密,并且在网站运营商的初始设置和持续维护成本方面都具有显着的管理成本。大多数浏览器都会验证网络服务器的身份,以确保SSL证书由受信任的证书颁发机构(管理员通常必须付费)签署且尚未过期,通常要求网站运营商手动更改证书,或两年。启用某种机会主义网站加密的最简单方法是使用自签名证书,但这会导致浏览器在每次访问该网站时都会显示警告,除非用户手动将该网站的证书标记为可信。由于未加密的网站当前没有显示任何此类警告,因此使用自签名证书的情况并不普遍。
2015年,Mozilla开始在Firefox37版本中推出机会加密。由于存在严重的漏洞可能会绕过SSL证书验证,因此它迅速回滚。
像HTTPS Everywhere和HTTPSfinder这样的浏览器扩展程序可以找到并自动将连接切换到HTTPS。
有几个提议可用于对HTTP / 2协议进行真正的无缝机会性加密。这些建议后来遭到拒绝。波尔·亨宁·卡普,高级FreeBSD的内核开发者,批评了IETF为以下与HTTP / 2特定的政治议程中的标准不执行投机取巧加密。2
弱点当受到主动窃听时,经常与SMTP一起使用的STARTTLS实施容易受到STRIPTLS攻击。2
本词条内容贡献者为:
宋春霖 - 副教授 - 江南大学