为了保证用户在 GitCafe 的数据安全,我们将不再支持 SSL 中的 RC4 协议。移除 RC4 支持只会影响 Windows XP 上的 IE 6 等陈旧的浏览器访问 GitCafe.com,不会影响现代浏览器,也不会影响 Git repo 访问。Firefox 的特定新版本不会再看到关于 RC4 的警告。我们强烈推荐 Windows XP 用户升级到更高版本的系统或者使用 Chrome 或 Firefox 来访问 GitCafe。
在 2011 年的时候,各大主流浏览器都支持 TLS 1.0 协议并且广泛的采用了 AES-CBC 的加密方式。9 月份 Thai Duong 和 Juliano Rizzo 发现了一个称之为 BEAST attack 的漏洞,这个漏洞专门针对 TLS ,当一个用户采用了 CBC-based 加密方式后,攻击者可以让用户跳转到一个恶意的网站。当时采用的一个解决办法是用了唯一一个支持 non-CBC 并且好用的 RC4 协议。
今天包括 Firefox 和 Chrome 在内的主流浏览器都已经不再像当年那样依靠系统层的 TLS 加密方式了,大多主流浏览器都已经支持 TLS 1.2 协议,对 BEAST 攻击免疫且还没有发现任何已知的可能的威胁。
RC4 当初提出的目的是解决 BEAST 攻击,但现在已经越来越显得有些鸡肋了。而且 RC4 算法采用的用 xor 的一种对称流加密。这种加密方式在弱密钥的情况下有可能被破解(一个失败的例子就是 WEP 网络传输协议)。所以采用 RC4 加密方式可能会危害你的数据安全。
异或加密时基于逻辑运算中的异或操作:
A^0 = A
A^A = 0
(A^B)^C = A^(B^C)
(B^A)^A = B^0 = B
** Talk is cheap , show me the code **
data,key=1,2
data=data^key # data 的值等于 3 data=data^key # data 的值等于 1
采用异或的流加密是一种对称加密,客户端和服务器之间使用同一个密钥来加密解密。
流加密时对称加密方式,加密和解密双方使用相同的伪随机加密数据流作为密钥,明文数据顺次加密并得到秘文。实践中通常是对一个位做异或操作。这种做法在密钥太弱或者其它一些错误操作的情况下会被破解。 流加密一个典型的例子就是 WEP 加密无线网络,我们经常通过抓取握手包来破解密码。
RC4 加密算法是一种密钥长度可变的流加密算法,由伪随机数生成器和异或运算组成。