您当前的位置:五五电子网电子知识电子知识资料抄表系统-计费技术基于GSM的无线抄表系统安全性的设计 正文
基于GSM的无线抄表系统安全性的设计

基于GSM的无线抄表系统安全性的设计

点击数:7736 次   录入时间:03-04 11:49:30   整理:http://www.55dianzi.com   抄表系统-计费技术

摘要:将GSM移动通信技术和Meter-Bus总线协议用于远程无线水表抄表系统,可以对用户用水量进行有效的实时监控,减少人力物力,简化布线,实现数据和能量共同传输。为了实现远程无线抄表,采用光电直读技术计量水表数据,Meter-Bus总线读取水表数据,GSM通信网络发送水表数据三者结合的方法,通过微控制器的综合管理,得到稳定可靠的远程无线抄表系统;对数据短信采用对称加密算法,CRC校验、插入随机数、异或、字节置换和映射的方法实施加密操作,提高了系统安全性,适合以MCU为核心的远程抄表系统。
关键词:无线抄表系统;光电直读技术;GSM;Meter-Bus;对称加密

0 引言
    随着电子技术,通信技术和传感技术的不断综合发展,远程自动抄表系统应运而生,尤其在近几年发展十分迅猛。但目前国内远程抄表系统一般采用有线方式,有线抄表系统供电困难,尤其在环境恶劣的水表窖井中更为不便。其功耗较大,检修困难,一旦组网,维护成本较高,这将对今后智能化、节约化小区的建设带来极大不便,影响用户正常生活。
    针对上述问题,利用GSM通信网络进行远程抄表,将用户用水量以短信的形式发送到自来水公司,不但可以解决普通用户水表的抄表问题,还可以对用水大户进行实时监控,防止偷水和管道泄漏的发生。但是GSM网络并没有启用A5对语音数据和信令进行加密,现有的GSM网络无法保障端到端之间的应用层安全,在这种非定向的无线传输环境下传送明文信息,很容易被人监听、冒用和篡改。用水大户用水量较大,准确的水表数据对自来水公司和用户都非常重要,万一在数据传送过程中被人截获篡改,将会给双方造成很大的经济损失,因此很有必要对数据消息进行加密,提高系统的安全性,确保数据传送无误。
    针对上述问题,设计了基于GSM网络的无线远程抄表系统,给出了一套针对该系统数据加密的方法,提高了数据消息的可靠性。该方法简单实用,占用CPU资源较少,适合在以MCU为核心的嵌入式系统中使用,对嵌入式在通信网络中的应用与普及具有参考意义。

1 无线抄表系统的基础和总体设计
    整个无线抄表系统包括光电直读式水表表头,Meter-Bus总线接口电路,GSM模块,微控制器和自来水公司计算机终控端五大部分,如图1所示。为了降低功耗,本设计中所有的模块不是一直处于工作状态,各个模块应在微控制器的指挥下定时工作。即抄表系统的所有模块的工作方式为“长时间休眠,短时间工作”。其中,休眠周期(小时、天、周、月)和加密密码由管理员用计算机终控端通过GSM模块发布。微控制器接收GSM模块收的指令后,修改抄表周期和加密密码。同时根据设定的抄表周期通过Meter-Bus接口电路控制光电直读水表表头读取当前的水量值,然后再以短信的形式用GSM通信网络发给计算机终端,实现定时自动抄表。

a.JPG


1.1 Meter-Bus总线
    目前大部分光电直读水表通过Meter-Bus通信协议(欧洲标准)实现组网。Meter-Bus是专为“三表”抄表系统设计的总线协议,采用一主多从的结构。所有的从机并联在总线上,通过总线实现主从间的通信,并获得工作的电能。总线仅由一对双绞线构成,工作电压为24 V,由Meter-Bus主机提供。下行通信采用电压调制方式,上行通信采用电流调制的方法。
1.2 光电直读表头
    光电直读技术是水表自动抄表系统中的一项重要突破。基于该技术水表的水量计量仍由传统的流量计式测量装置构成,读数也仍然可以采用人工方式完成。但它在传统的阿拉伯数字读数装置之外,增加了用黑白条印制的格雷码。格雷码和阿拉伯数字被印制在同一个桶装字轮上,且具有一一对应关系,读出格雷码所表示的数量就相当于读出了阿拉伯数字的大小,也就是读出了水量计量装置输出的水量值。因此可以采用单片机通过光电技术来读取黑白条表示的格雷码,从而实现自动抄表。该设计采用了单片机,并具有Meter-Bus接口光电直读水表表头模块,将水表数据以ASCII码读出,给GSM模块对信息的传输和MCU对数据的加密提供方便。
1.3 GSM通信网络
    GSM(Global System of Mobile CommunICation,全球移动通讯系统)网络覆盖范围广、不需建立新基站、通信质量高。采用GSM短信抄表不占用语音信道,费用低,投资小,简单可靠,且不受距离限制。因此,该设计使用内核为TC35i(Siemens)的GSM MODEM,微控制器通过AT指令与其通信,利用GSM短信进行收发数据,实现远程抄表。

www.55dianzi.com
1.4 关于微控制器的考虑
    系统的所有模块的工作方式为“长时间休眠,短时间工作”。经过斟酌,选择NXP公司的ARM7内核的LPC2132作为主控器。原因如下:集成了实时时钟功能(RTC),能在CPU休眠时保持计时的功能,并能在设定的时刻通过中断唤醒CPU;功耗甚小,休眠时电流仅10μA左右;工作电流仅在1 mA/MIPS以下;含有足够控制GSM模块和存储历史数据所需的RAM。

2 系统加密算法和分析
2.1 数据加密算法
    GSM通信网络的安全保障离不开加密理论的支持。从应用角度看,信息的安全需要保密、防篡改、防伪造等保障目标。而对应到数据加密理论,这些目标可由对称加密、非对称加密、散列等算法结合应用来实现。
    对称加密算法的加密和解密使用同一个密钥,相对非对称加密算法密码长度较短(56 b,64 b或128 b)、加密速度快。最为普及和典型的是DES算法;非对称加密算法有两个密钥,一个公开,一个保密,因此一个做公钥,一个做密钥,该算法运算量大,与对称加密算法相比,加解密速度慢,不适合大量数据加解密,只适合小量数据加解密。典型的算法有RSA算法、椭圆函数加密算法等;散列函数是对明文运算后,可以生成一个定长的摘要,明文发生改变后摘要值变化很大,该函数是一个单向函数,从明文计算出摘要是很容易的,但从摘要计算出明文是不可能的。典型的算法有MD5,SHA等。
2.2 系统加密分析
    上面提到的几种算法已经得到了广泛应用,但是在以微控制器为处理器的系统中,他们就显得很复杂,CPU运算速度不能满足其要求,占用ROM和RAM的资源较多,影响系统的响应速度。因此,针对以ARM7为控制器,数据发送时间短,安全性要求不是很高的系统,很有必要设计一种简单适用的加密方法提高系统的安全性。根据系统要求,考虑用对称加密的方法来实现对数据短信的加密。它的两个基本要素为加密算法和加密密钥。加密算法主要由插入随机数、字符置换、字符映射和异或等组成。加密密钥由计算机终控端生成,而且密钥可以随时改变,通过GSM模块发送。

3 系统加密过程
    该设计对短信加密的思路为:首先根据短信原始内容计算出16位CRC校验码,16位校验码用其十六进制值对应的四字节ASCII表示,放在原始内容末尾,然后对包含原始内容和校验码的字符串再进行加密,根据生成的密文再次生成CRC校验码,置于密文末尾,最后发送出去。主要包括插人随机数、字节置换、异或和字节映射四个过程。
3.1 密钥
    该系统使用对称加密的方法,加密算法和密钥只需保密其一即可使密文无法解读。但由于加密算法需要精心设计并经过大量分析验证,因此实际应用中优秀的算法并不多,而且越是大量应用且公开的加密算法,越能表明更高的安全性。因此只要妥善保密好有限长度的密钥,就能使无限长度的通信数据得到保密。对称加密双方使用同一个密钥加密解密,此密钥由计算机终端通过GSM模块发送。对于本来就存在安全隐患的GSM网络来说,最好的方法就是随时改变密钥。因此考虑用32 B随机数作为密钥,此密钥可以由计算机管理员随机输入或者用PC机采用随机数生成算法生成。
3.2 加密算法
    (1)CRC校验码
    CRC循环校验码主要用来校验发送的数据是否可靠,如果不可靠就丢弃重发或修复。CRC校验码主要由信息码和校验码组成。如果CRC校验码长度为nb,信息码长为kb,就称(n,k)码。它的编码规则为:首先将信息码左移(n-k)位,然后用一个生成多项式g(x)(二进制数)用模2除移位后的式子,余数就作为校验码。该设计中GSM模块的一条短信最长为160个ASCII字符,加上短信明文的长度,考虑到长度太长延时较为严重,因此选择标准CRC生成算法CRC-CCITT,其多项式为:CRC-CCITT=X16+X12+X5+1。
    (2)插入随机数
    从原始明文中依次取出一个字节,若该字节的ASCII值模3余0,则在该字节后插入3个随机数;若该字节的ASCII值模3余2,则在该字节后插入2个随机数;若该字节的ASCII值模3余1,则在该字节后插入1个随机数,随机数种子选取各种与当前系统状态相关的数值。插入的随机数对应的ASCII的平均值应尽量与原明文内容的平均值相近,以增加破解的难度。根据系统短信的格式,如前缀、读表数据、读表时间、CRC校验码等,长度为20 B,那么经过这一步操作之后,字符串最短长度为40 B,最长为80 B,这样字符串的长度在40~80 B之间,不确定性大大增加。
    (3)字节置换
    将上一步生成的字符串第一个字节的高四位和最后一个字节的低四位交换,第二字节高四位和倒数第二字节低四位交换,依次类推,生成字符串;此时,若字符串长度为偶数,将相邻两字节高四位与高四位交换,低四位与低四位交换,生成新字符串。若字符串为奇数,将第一个字节的高四位、低四位和最后一个字节高四位,低四位对应交换,将第二个字节的高四位、低四位和倒数第二个高四位、低四位对应交换,依次类推,最中间一个高四位与低四位交换,生成字符串,此时字符串长度不变。

[1] [2]  下一页


本文关键字:无线  安全性  抄表系统-计费技术电子知识资料 - 抄表系统-计费技术