随着互联网的快速发展,公交调度系统也进入到了网络通讯时代。但在公交调度系统的网络通信平台中,无线局域网是其中最薄弱的一个环节,它一方面要应对调度中心与车辆的营运调度指令的刷新和交互,另一个还要应对流媒体管理中心对车载机流媒体信息的更新。另一方面,在整个公交调度系统的各个环节中,WLAN主要安装在公交站场、停车场、加油站等公共场所,周边环境、人员构成都很复杂。攻击者在该区域的某个角落进行操作也很容易,这些显著的弱点,会吸引攻击者的恶意攻击,蓄意攻击的可能性由此增大。那么如何保证公交调度系统数据传输的安全性就相当的重要了,为此我们设计了一套加密算法来保障公交调度系统数据的安全传输。
一、加密系统与加密算法
1、加密系统
数据加密是在不安全的环境中实现信息安全传输的重要方法。加密前的数据和信息为明文,经加密算法处理后的信息称为密文。明文和密文总称为报文,加密和解密过程组成加密系统,任何加密系统,主要包括以下4个组成部分:待加密的报文、加密后的报文、加密算法、用于加密和解密的密钥。
2、加密算法
根据密钥类型不同可以将现代密码技术分为两类。对称加密算法和非对称加密算法。
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。
非对称加密算法就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难不把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。最常用的加密算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
二、公交调度系统数据传输中加密算法的设计
公交调度系统无线局域网的安全方案中可以应用密码技术,重点解决WLAN数据传输过程中的数据加密问题。针对公交调度系统使用环境和需求,此方案采用RSA改进算法进行通信数据的加密。这种RSA改进算法是基于SMM算法、改进的滑动窗口算法、二进制冗余算法、NAF算法及中国剩余定理H1形成的组合算法。
组合算法的具体实现过程如下:以ge(mod n)为例,将指数e表示为二进制形式:e=(et,et-1,...,e1eo)2,利用二进制冗余算法将e化为二进制冗余数,这里选用NAF算法进行实现。
过程1:Binary to NAF
Input:e=(et,et-1,...,e1eo)2
Oritput:二进制冗余数S=(st,st-1…S1So)2,sj∈{-1,O,l}。
(l)co→o;
(2)对j从O依次到t,执行:
1)ci+1→(ej+ej十l+cj)/21,ei =O,i>t;
2)sj→ej +Cj - 2cj十l。
(3)返回(st,St-1...Si So)。
在此基础上保证了转换后表示式s的汉明重量最小。
再设定窗口大小为k,利用滑动窗口法进行幂模运算。于是幂模运算ge(mod n)可表示为:
(((((((((gwh.1)2k)210b.1×gwh.2)2“)210h_2 ×…×gw2) 2k) 21021 ><gwl)Zk) 21011 XgwO).2|ool
取变量h= n/2,用以判断使用SMM算法化简乘数的值。计算上式可以分两步进行:
第一步:生成线性表X,L,T,其中X中保存二进制冗余数中的非O码,L保存线性表X中的元素i比i-1多做的幂次数,T用于存放(g,93,95,…,92k。)(mod n)的值。其中X,L,T可利用过程2和过程3进行实现;U用于存放(g-1,g-3,g-5…,g (2k-1’)(mod n)的值,其值可用欧几里得算法进行实现。
过程2:计算T
//生成线性表T
A=g★g%n;
T[0]=g;
i=l;
while(i< =2<<(k-1)-1)
{T[i]=T[i]★A%n;
i++;)
过程3:计算L和X
//生成线性表L和X
i=O;
d=0;
m= -1:
while(i<n)
{if(e[i]==0)
d++:
else
{m++;
if (i+k-1<n)
i =fun2tolO(b[i+k-1],b[i]);
//将二进制b[i+k-1]一b[i]化为十进制
else
j =fun2tolO(b[n -1],b[i]);
//将二进制b[n-1]一b[i]化为十进制
X[M]=j;
L[M]=d;
d=k:
i=i+k-1;}
i++;)
第二步:模幂运算,利用线性表X,L,T,U,计算c=ge(mod n),利用过程4进行实现。
过程4:模幂运算
//利用线性表X,L,T,U,计算c=ge(mod n)
i= (X[M] -1)/2;
c=T[i];
s=U[i];
i=m;
d=0;
while(l)
while(j < =L[i])
j=l;
while(j < =U[i])
i-- ;
if (i< c) break ; d= (X[i] - 1)/2; c=c★T[d]%n;) if(c>=n)
c=c-n;
return c ;
这就是我们设计的公交调度系统数据传输加密算法,按照目前的需求,基本可以满足公交调度系统无线局域网数据传输的安全要求。
小知识之中国剩余定理
中国剩余定理是数论中的一个关于一元线性"同余" ,同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法,也称为孙子定理。