一 无线网络安全的现状
随着无线网络的普及和应用,现在无线信号几乎无时无刻不存在于我们的身边。商场、街上、餐厅几乎都可以收到无线信号,这些信号有的是商家为了吸引客户而免费提供的,有的则是为了方便办公而开设的,有的则是为了方便自己上网而仅仅限于个人使用的。对于这些网络几乎都是公开的,没有丝毫硬币性可言。于是有的人就抓住了这样的机会占用别人的网络,通过非法的手段获取商业信息。网络上出现了蹭网族之类的人群。
其实一般的人都会对自己的无线网络设置密码,不过密码是死的。对于什么都不懂的人也许还是有用的,但是对于一些专门破解别人密码的人来说就有胜于无了。
现如今流行于网络的无线网络和无线路由器密码破解软件随处可以下载。例如:BT3,BT4之类的工具使用起来也非常简单,在一些没有防范的无线路由或者无线网络中,十分轻松的就可以破解出密码来了。所以对于无线网络的安全我们应该加强防范。
二 常用的加密方式 WEP
WEP
WEP--(Wired Equivalent Privacy)加密技术,WEP安全技术源自于名为RC4的RSA数据加密技术,以满足用户更高层次的网络安全需求。
WEP作为应用得比较早的也是现在最广泛使用的一种加密方式在刚刚推出是一度受到人们的好评,并用它来作为商业机密的护航者。不过随着时间的推移,和许多新技术一样,最初设计的WEP被人们发现了许多严重的弱点如:存在的弱密钥和相关密钥攻击、不变性弱点、数据流偏向性弱点等安全问题。专家们利用这些已经发现的弱点,攻破了WEP声称具有的所有安全控制功能。WEP出现的弱点使他的安全性得不到保证。
三 WEP的加密解密原理
WEP是的核心算法是RC4算法。RC4密码技术是由Ron Rivest于1987年提出的。其以随机置换为基础,是一个面向字节操作的流密码。整个RC4算法包含2个算法:一个是密钥安排算法(Key SchedulingAlgorithm,KSA),另一个是伪随机序列生成算法(Pseudo—Random Generation Algorithm,PRGA)其加密算法如下:
int S=new int[256];
int T=new int[256];
byte b=s.getBytes();
byte K=key.getBytes();
int keylen=K.length;
for(int i=0;i<256;i++)
{
S[i]=i;
T[i]=K[i%keylen];
}
int j=0;
for(int i=0;i<256;i++)
{
j=(j+S[i]+T[i])%256;
int temp=S[i];
S[i]=S[j];
S[j]=temp;
}
int i=0;j=0;
int n=0,t=0;
byte k;
byte bb=new byte[b.length];
for(int ii=0;ii<b.length;ii++)
{
i=(i+1)%256;
j=(j+S[i])%256;
int temp=0;
temp=S[i];
S[i]=S[j];
S[j]=temp;
t=(S[i]+S[j])%256;
k=(byte)S[t];
bb[ii]=(byte)(k^b[ii]);
RC4一开始使用40bits的WEP key和24bits的乱数产生一个初始化向量(Initialization Vector)来加密每个封包的数据,然后由此产生的K与明文进行异或运算将明文变成密文然后再进行传输。由于RC4所用的加密解密 密钥都是同一把钥匙。所以其解密过程与加密过程一样。 其加/解密过程如图: