SSL/TLS -- 网络通信的马奇诺防线?


** 版权声明:版权为Lenx Wei (http://lenx.100871.net​)所有,转发务必保留此声明
** Jun 23, 2013

SSL及其后继TLS一直以来肩负着应用层通信安全性的重任,也是Internet上应用最广泛的安全协议。很多人认为通信只要用SSL保护住了,就一切无忧。但实际上对它的攻击研究从来没有中断过,也不断的有问题被发现。

最容易想到的就是在证书上做手脚。在中间人位置上替换证书,从而获得对SSL通信的完整控制权。这种模式也被称为"海关"模式,在某著名网络安全产品中获得应用。除了“海关”模式外,近年来研究者发现了SSL/TLS在各个层面上有很多严重问题。

首先是MSR陈硕在oakland'09上发表的pretty bad proxy问题,所有浏览器的https都可以被攻破。此问题因为过于严重,在微软内部审批了很久很久才许可发表,文章见  
http://research.microsoft.com/apps/pubs/default.aspx?id=79323
时隔一年,陈硕和王晓峰组又再次发威,在oakland'10上发表了针对SSL通信的side-channel攻击,可以准确的获得很多SSL保护下的通信隐私信息。文章见 
http://research.microsoft.com/apps/pubs/default.aspx?id=119060
陈硕强项是在应用层的攻击,而SSL在密码层一样存在不少问题。著名的crypto学者Paterson组(http://www.isg.rhul.ac.uk/~kp/​ )持续的对SSL及相关密码协议进行分析研究,发现了一系列的问题。他们最新的成果发表在oakland'13上,展示了针对CBC模式的攻击,在特定环境(你懂的)下可以有效恢复明文,工作见 http://www.isg.rhul.ac.uk/tls/Lucky13.html;
他们在ndss'13上发表了one bad apple攻击,采用CBC作为oracle对GCM模式发动攻击,工作见 http://www.isg.rhul.ac.uk/~kp/BackwardsCompatibilityAttacks.pdf​ 。
Paterson组同样发现了TLS中用RC4一样存在着泄密问题。RC4之前虽然在wep中被发现IV有问题,但大家并不认为在TLS中有问题,到今天gmail的https加密中用的还是RC4! 此工作见 http://www.isg.rhul.ac.uk/tls/index.html 

此外,在很多嵌入式设备(比如家用路由,小无线AP)中,由于随机数根本不随机,因此其上的SSL通信所用到的随机数可以有效预测,从而得以攻破。J. Alex Halderman在Usenix Security'12上获得了best paper的一篇文章就是讨论众多的嵌入式网络设备由于缺乏足够的随机源,特别是linux的/dev/urandom在嵌入式环境下几乎失效,因此其RSA/DSA的密钥生成存在严重缺陷,Internet上有数以万计的网络设备的私钥可以被轻松的算出。文章见
https://www.usenix.org/conference/usenixsecurity12/mining-your-ps-and-qs-detection-widespread-weak-keys-embedded-devices
​​
结语:SSL/TLS提供了很多Internet服务赖以生存的通信安全保障。但实施者并不能认为这一切是固若金汤,牢不可破的;而是应该仔细审查实现,特别是随机数发生器的选择;并且密切关注安全研究进展,及时采取防护措施,不要让SSL/TLS成为马奇诺防线。

** 版权声明:版权为Lenx Wei (http://lenx.100871.net​)所有,转发务必保留此声明
** Jun 23, 2013

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在信号处理领域,DOA(Direction of Arrival)估计是一项关键技术,主要用于确定多个信号源到达接收阵列的方向。本文将详细探讨三种ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)算法在DOA估计中的实现,以及它们在MATLAB环境中的具体应用。 ESPRIT算法是由Paul Kailath等人于1986年提出的,其核心思想是利用阵列数据的旋转不变性来估计信号源的角度。这种算法相比传统的 MUSIC(Multiple Signal Classification)算法具有较低的计算复杂度,且无需进行特征值分解,因此在实际应用中颇具优势。 1. 普通ESPRIT算法 普通ESPRIT算法分为两个主要步骤:构造等效旋转不变系统和估计角度。通过空间平移(如延时)构建两个子阵列,使得它们之间的关系具有旋转不变性。然后,通过对子阵列数据进行最小二乘拟合,可以得到信号源的角频率估计,进一步转换为DOA估计。 2. 常规ESPRIT算法实现 在描述中提到的`common_esprit_method1.m`和`common_esprit_method2.m`是两种不同的普通ESPRIT算法实现。它们可能在实现细节上略有差异,比如选择子阵列的方式、参数估计的策略等。MATLAB代码通常会包含预处理步骤(如数据归一化)、子阵列构造、旋转不变性矩阵的建立、最小二乘估计等部分。通过运行这两个文件,可以比较它们在估计精度和计算效率上的异同。 3. TLS_ESPRIT算法 TLS(Total Least Squares)ESPRIT是对普通ESPRIT的优化,它考虑了数据噪声的影响,提高了估计的稳健性。在TLS_ESPRIT算法中,不假设数据噪声是高斯白噪声,而是采用总最小二乘准则来拟合数据。这使得算法在噪声环境下表现更优。`TLS_esprit.m`文件应该包含了TLS_ESPRIT算法的完整实现,包括TLS估计的步骤和旋转不变性矩阵的改进处理。 在实际应用中,选择合适的ESPRIT变体取决于系统条件,例如噪声水平、信号质量以及计算资源。通过MATLAB实现,研究者和工程师可以方便地比较不同算法的效果,并根据需要进行调整和优化。同时,这些代码也为教学和学习DOA估计提供了一个直观的平台,有助于深入理解ESPRIT算法的工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值