《网络信息安全实训》(pdf电子书下载)|百度网盘下载

作者:孙建国

出版社:人民邮电出版社

格式: PD

网络信息安全实训

网络信息安全实训试读:

版权信息书名:网络信息安全实训作者:孙建国排版:吱吱出版社:人民邮电出版社出版时间:2013-05-01ISBN:9787115313195本书由人民邮电出版社授权北京当当科文电子商务有限公司制作与发行。— · 版权所有 侵权必究 · —序

1.写作背景

目前,关于我国高等教育的信息安全学科和专业方向设置问题受到非常大的关注。对于信息安全专业的本科生教育而言,其基本的培养方案、课程设置和教学大纲都需要根据新的形势发生变革,保密与信息安全专业方向也在积极地进行准备。

在新形势下,对于信息安全专业人才的培养标准是:具有宽厚的理工基础,掌握信息科学和管理科学专业基础知识,系统地掌握信息安全与保密专业知识,具有良好的学习能力、分析与解决问题能力、实践与创新能力。特别是在能力方面,要求专业学生能够做到:具有设计和开发信息安全与防范系统的基本能力,具有获取信息和运用知识解决实际问题的能力,具有良好的专业实践能力和基本的科研能力。

这些实际竞赛题目不仅起到加深学生理论课所学知识的作用,还有助于培养学生建立理论与实践联系并在解决实际问题的能力。对于实现当前的高等教育改革目标,提高毕业生综合素质具有重要的意义。网络信息安全实训内容,是对计算机网络、现代密码学、信息系统安全、网络安全、软件安全、信息安全管理等专业核心课程的有效支撑。

本教材的编写思路是:从网络与信息安全竞赛题目中,遴选出重点的课题内容,针对课题背景、关键技术、设计流程以及方案进行细致阐述,既满足于日常的实验教学活动,又能够促进学生创新实践能力的培养和提高。

2.本书特点

本书兼顾高等学校理论教学需要与培养学生实践能力的需求,借鉴国外名校在信息安全专业课程设置及相关课程内容安排,组织本教程的相关理论知识及实验用例设计,力争理论详尽、用例科学、指导到位。配合高等学校的计算机网络、现代密码学、信息系统安全、网络安全、软件安全、信息安全管理等课程的实践教学环节,突出实用性,可操作性强,与实践结合紧密。

本书可作为信息安全专业及相关专业“计算机网络”、“现代密码学”、“信息系统安全”、“网络安全”、 “信息安全管理”等课程的实践教材,书中的全部示例都经过精心的设计和调试,可以放心使用。

3.内容安排

本书的内容安排如下。

第1章介绍了一个无线数据通信安全防护系统,该作品荣获 2008年全国大学生电子设计竞赛信息安全专题邀请赛二等奖和全国嵌入式设计竞赛二等奖。

第2章介绍了移动动态安防系统,该作品荣获2009年全国网络信息安全竞赛二等奖和中科杯软件应用作品二等奖。

第3章介绍了文件实时监控销毁系统,该作品荣获2010年全国大学生电子设计竞赛信息安全专题邀请赛二等奖。

第4章介绍了地理信息安全保障系统,该作品荣获2010年全国大学生电子设计竞赛信息安全专题邀请赛二等奖和全国大学生信息安全竞赛二等奖。

第5章介绍了视觉交互的ATM取款系统,该作品荣获2011年全国大学生电子设计竞赛信息安全专题邀请赛二等奖和全国大学生信息安全竞赛二等奖。

4.致谢

首先感谢哈尔滨工程大学计算机科学与技术学院计算机实验教学中心的各位老师和研究生,感谢他们的大力支持和热情帮助。董国忠、李丽、王亚卓、陈明涛、李玲、郝钟翁、周沫等同学参与了本书实验示例代码的编写和调试以及原始资料的翻译和整理工作。感谢他们付出的辛勤劳动。感谢张国印老师的热情帮助,作为本书的主审。

感谢评阅专家对本书提出的宝贵修改意见,对于完善和提高全书质量起到了关键的作用。

感谢人民邮电出版社的邢建春编辑,没有她的热情鼓励和无限耐心,本书是不可能完成的。

作者虽然从事信息安全实践教学多年,但是由于水平所限,书中难免存在缺点和错误,诚恳地感谢各位读者提出宝贵意见,作者的联系方式为:sunjianguo@hrbeu.edu.cn。作者2013年3月第1章ZigBee通信安全防护系统1.1 概述

随着社会信息产业的高速发展,网络通信、数据采集、无线通信、无线控制等技术受到了广泛的关注和应用。信息获取是信息技术应用的重要环节,同信息传输、处理和应用之间密不可分,具有标志性的作用。其中,传感器技术是信息获取的最重要和最基本的手段之一。特别地, ZigBee无线传感器网络的应用使信息的获取变得更方便、快捷和准确。

ZigBee是一种新兴的短距离、低速率无线网络技术,它拥有自己的无线电标准,得到了广泛的应用。无线传感器网络是基于IEEE 802.15.4技术标准和 ZigBee 网络协议而设计的无线数据传输网络,目前 ZigBee无线传感器网络的应用主要集中于以下几个领域。

1)军事应用。通过布置于战场敏感区域的无线传感节点回传的信息,作战人员用手持式PDA等工具接收信息,就可以实时了解战场上的各种情况,真正做到运筹帷幄。

2)环境科学。传感器网络为野外随机地研究数据采集提供了方便。

3)医疗应用。在医院病人身上安装特殊用途的传感器节点,如心率和血压监测设备,利用传感器网络,医生就可以随时了解被监护患者的病情,及时进行处理。

4)商业应用。工业监控、楼宇自动化、流量过程控制、热能数据采集等。

无线传感器网络在进行数据采集、融合和传输时,为了保证采集点的机密和数据传输的安全,与其他无线网络一样需要安全机制。由于节点单元能力的受限,以及无线传感器网络节点的协作特性,必然要权衡安全强度的问题。无线传感器网络的中心节点网关收集的信息一般都是通过有线网络方式传输至控制中心,但在这过程中信息的传输存在很大的安全隐患,很容易被人窃取和篡改,因此,对这个有线传输网络的安全性保障就显得尤为重要,同时也必须对传输网络采取有效的安全检测。

加密是一种很好的信息安全解决方案,目前成熟的加密算法有AES加密算法、混沌加密算法、RSA加密算法等。AES加密算法作为最新一代的加密标准,是一种数据块长度和密钥长度均可变的分组迭代加密算法,其数据块的长度和密钥长度可以分别为128bit、192bit、256bit。AES加密算法具有安全、性能好、效率高、实用、灵活等特点,因此在信息安全领域具有广泛的应用。加密算法可以用软件和硬件实现,软件实现较为简单和灵活,但用硬件实现能够提供更快的加解密速度和更好的安全性能。加密算法的硬件实现就是应用硬件描述语言对加密算法进行系统级设计及编码。

对网络的安全机制保障措施也较多,包括物理隔离、用户授权、防火墙技术等。目前的措施一般都是比较单一,基本的安全性能够得到保障。

针对信息通信过程中存在的信息泄露和安全隐患,结合ZigBee技术的应用领域,本文提出了可移动基于FPGA平台的高可靠通信系统的理论及模型,并对该系统进行了实现。1.2 系统结构设计1.2.1 问题的提出

在工业控制领域,利用ZigBee和传感器网络使得数据的自动采集、分析和处理变得更加容易,作为决策辅助系统的重要组成部分,ZigBee 无线传感器网络在无线数据采集及监控等领域得到了广泛应用。这种网络主要采用短距离无线系统的连接,提供通用传感器的接入,能够满足各种传感器网络的数据输出和输入控制及信息需求,使系统网络化、无线化。无线传感器网络系统具有快速配置、自动识别及组网等显著特点。无线传感器数据采集都需通过网关传输至控制中心,在这个过程中信息传输的安全性逐渐成为人们关注的焦点。因此,设计一种安全可靠的通信解决方案显得尤为重要。

信息安全的解决方案目前主要集中于采取单一的措施来保证信息的安全性,针对各种攻击手段,防范措施主要集中于信息加密技术、安全交换机技术、防火墙技术、认证技术,入侵检测技术等,这些技术从不同的方面对安全性提供了较好的保障,但各有缺点和不足,这将成为网络防护的软肋,因此,本书也尝试性地提出了一种集数据加密技术和访问控制策略于一体的信息安全解决方案。1.2.2 AES 加密算法分析

AES加密算法作为新一代的分组迭代加密算法,其采取对称密钥,数据块的分组长度和密钥长度分别可选择 128bit、192bit、256bit。AES加密算法具有安全性,灵活性等特点。

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。但RSA加密算法的缺点主要有:1)密钥的产生繁琐,受到素数产生技术的限制,因而难以做到一次一密。2)分组长度太大,为保证安全性,n 至少也要600 bit 以上,使运算代价很高,尤其是速度较慢,与对称密码算法相差多个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。

混沌加密算法一般作为数字语音信息等的加密,在实际加密应用过程中其精度和保密性方面都存在着缺陷,因此,不适合该系统的加解密算法选择。1.2.3 支撑硬件选择

鉴于AES加密算法的特点以及算法的抗攻击性能,因此,选用其作为加密应用技术。

加密算法可以通过软硬件实现,由于算法本身的灵活性以及效率高,用软件实现比较简单、方便,但同时也带来一些问题,使算法的速度、安全性等都在某种程度上受到影响。AES算法的硬件实现不仅具有快的速度而且占用的资源也将减少。因此,AES加密算法硬件实现能够提供更快的速度和安全性。

采用 Spartan 系列 FPGA 作为 AES 加密算法实现的硬件载体。Spartan-3e 开发平台采用 50 万门的 XC3S500E-4FG320C 芯片,提供了DDR SDRAM、Flash 和常用的扩展接口 10Mbit/s 的网口、两个 RS232串口、PS2键盘接口、通用扩展接口等,能够支持32位的软核MicroBlaze的运用。因此,基于Spartan-3e平台能够很好地构建一个SOC系统。1.3 系统总体设计1.3.1 无线传感器网络

ZigBee无线传感器网络是基于IEEE 802.15.4 技术标准和ZigBee 网络协议的无线数据传输网络,根据信息采集的需要,该系统采用星形网络结构。Chipcon 公司的CC2430 是真正基于ZigBee 技术的SOC CMOS解决方案,它能够满足以ZigBee 为基础的2.4GHz ISM 波段的低成本和低功耗的无线传感器网络要求。因此,选择自行设计的基于 CC2430 芯片的传感器采集终端。

ZigBee 无线传感器网络支持 ZigBee 网络协议,数据传输采用多层次握手方式,保证数据传输的准确可靠;无线传感器网络支持自动组网技术,最多可以支持多达6万多个无线采集节点,因此,根据具体的需要可以方便加入新的节点。在该系统中构建一个星形无线传感器网络,各个终端节点采集的信息通过中心节点网关上传至服务器端的Spartan-3e平台进行处理。1.3.2 系统服务器端

服务器端采用 XILINX 公司的 Spartan-3e 开发平台,根据 XILINX公司提供的设计开发工具,构建以MicroBlaze软核为处理器、Xilkernel 3.0 为操作系统的FPGA 嵌入式平台。

MicroBlaze 软核处理器拥有RISC架构和哈佛结构的32位指令和数据总线,可以全速执行存储在片上存储器和外部存储器中的程序,并和其他外设IP核一起完成可编程系统芯片(SOPC)的设计。其内核结构如图1-1所示,服务器端结构设计如图1-2所示。图1-1 MicroBlaze软核处理器结构图1-2 服务器端设计框图

将服务器端作为 ZigBee 无线传感器星形网络的数据上传网关, Spartan-3e开发平台的通用扩展接口外接CC2430无线模块,通过定制无线接口模块IP,实现无线传感器网络和服务器端的信息交互。AES加密算法具有灵活、效率高等特点,因此,AES的硬件实现能够得到更快的速度和安全性,通过编写VHDL代码,从算法级实现AES加解密算法,并且根据输入自动选择加密还是解密操作。1.3.3 系统客户端

客户端设计与服务器端相似,客户端作为该系统的主控中心,根据用户需要发送信息指令,指令包括自身唯一的 ID 和控制信息,指令经过AES加密后经网络传输至远程的服务器端。为了方便用户输入信息,该系统通过 PS2 口外接键盘,输入内容通过 LCD 显示,为用户提供了很好的人机接口。其设计框图如图 1-3 所示。由于与服务器端理论基础相似,有关问题不在此赘述。图1-3 客户端设计框图1.3.4 系统整体流程

本系统主要的目标在于“针对ZigBee无线传感器网络中,端到端控制过程中存在的安全隐患和信息泄露问题,自主设计了一套基于FPGA平台的高可靠通信系统”。该系统主要由3部分组成:ZigBee无线传感器网络、服务器端和客户端(如图1-4所示)。图1-4 系统总体设计框图

服务器端采用XILINX公司的Spartan-3e开发平台,在该平台上构建基于MicroBlaze处理器和Xilkernel操作系统的嵌入式系统。当服务器端收到经过AES加密的请求IP数据分组时,在服务器端,信息需要经过AES解密处理,根据解密后信息分析并提取请求方的ID信息和IP信息,客户端的ID信息是唯一的授权证号。

客户端同样采用XILINX公司的Spartan-3e开发平台,但该系统中只需要定制AES 加解密IP、键盘IP、LCD IP 并添加EDK 中自带的网络控制器IP。客户端作为整个系统的控制中心,当需要采集信息时,客户端通过键盘把自己的授权ID信息经MD5加密后形成自己的加密ID,指令信息和加密ID信息经过AES加密后发送至服务器端,当服务器端响应其请求后,视其身份权限做出相应处理。1.4 系统具体实现1.4.1 ZigBee 无线传感器网络的实现

ZigBee 无线传感器基于 IEEE 802.15.4 技术标准和 ZigBee 网络协议而设计的无线数据传输网络,该网络由若干个ZigBee终端节点和一个中心节点构成一个星形网络,终端节点主要负责各个传感器模块的信息采集和传送。中心节点主要用于接收各个终端节点的上传数据,并对其进行压缩处理后通过扩展接口传送至服务器端,如图1-5所示。

传感器模块采用51单片机控制,通过扩展串口与采集模块相连,其主要负责接收和处理采集数据。该系统中传感器采用的是数字温度传感器DS18b20,该传感器的精度高,使用方便,传感器的采集数据经串口ZigBee模块发送。由于扩展了2个串口,可以根据实际需要方便、快捷地扩展其他类型的传感器模块。无线传感器网络终端节点软件流程图如图1-6所示。图1-5 ZigBee无线传感器网络拓扑结构图1-6 无线传感器网络终端节点软件流程图1.4.2 系统服务器端实现

1.接口模块

服务器端采用Spartan-3e平台扩展了PS2接口、16X2的LCD显示, 3 个6 针的通用扩展接口,这些接口方便外设的连接和扩展。键盘在该系统中实现了单向通信。

LCD显示模块的控制器包括3个子模块:初始化模块、状态机模块和LCD实现模块。LCD_RW赋值为低电平,其余信号按照LCD时序进行设计。

无线接口模块通过平台通用扩展接口J1、J2、J3与CC2430模块进行信息交互,该模块作为无线传感器网络的中心网关节点,存储各终端节点的设备信息,负责终端节点的入网控制以及终端节点信息的接收。

各个接口模块通过EDK添加自定义IP的方式,添加到OPB总线中,其中,键盘、LCD、串口DTE使用中断。驱动程序在自动生成的驱动程序模板基础上完成各个模块的驱动程序。

2.监测及报警实现

服务器端通过添加EDK中网络控制器IP核,移植LwIP网络协议栈,实现基于Socket的网络通信。服务器端收到客户端请求时,对接收到的IP数据分组进行解密,对请求的IP数据分组进行分析,提取对应的ID信息和IP信息,由于该ID信息是经过MD5加密算法加密的,因此该ID作为授权客户的唯一ID,根据ID信息与授权的ID列表进行比较,若为授权ID,则根据客户请求把相应的信息加密处理后发送至客户端;若为非授权ID,则说明该网络已存在非授权ID用户,此网络已经存在不安全性,则把提取的IP信息通过GSM网络发送至指定接收端手机,达到网络的实时检测和报警功能。网络安全监测及报警的软件设计流程图如图1-7所示。图1-7 网络安全监测流程图

3.服务器端软件

服务器端构建基于MicroBlaze处理器和Xilkernel操作系统的嵌入式系统,通过扩展PS2键盘、LCD显示等设备,实现具有良好的人机交互接口的系统。Xilkernel操作系统支持多线程操作,通过配置一些参数就可以灵活应用。虽然其没有网络系统,但可以通过移植LwIP协议栈就可以实现基于Socket的网络通信。

当系统运行时,LCD显示相关信息,当出现等待键盘输入密钥时,输入16个字符密钥,同时对密钥进行密钥确认。系统调用socket()函数创建Socket,调用listen()函数开始监听。

一旦接收到用户请求时就创建 socket_process_thread 线程。在socket_process_thread线程中,提取IP数据分组的相关信息,首先检查客户端发送的ID是否在授权ID列表之内,如果ID无误,将从无线模块接收到的数据进行AES加密,发送加密过后的数据给客户端。如果ID有错误,提取其收到IP数据分组中的IP,并启用GSM模块,将提得的IP通过短信发送给指定接收端。

整个服务器端的软件设计流程图如图1-8所示。图1-8 服务器端软件流程图1.5 系统测试分析

该系统采用模块化设计,系统分为ZigBee无线传感器网路、服务器端和客户端,这样的设计为系统调试带来很大的方便性。在该系统的测试过程中,首先采用单元测试对各个模块实现封闭功能测试,随后进行集成测试,考察系统整体的平稳运行能力。1.5.1 系统单元测试

ZigBee无线传感器网络中终端节点采用的是CC2430芯片,通过该芯片扩展了1602C液晶显示屏和串口模块,传感器模块中的温度传感器DS18B20输出的是数字量,为了测试的方便,扩展了4位8段数码管,在数码管中可以实时显示采集的温度值,实验室测得室内温度值显示为30.6℃,通过人体手接触传感器,测试温度传感器的灵敏度。传感器模块通过串口把数据发送到CC2430,凭借液晶屏上的显示信息进行测试。

在ModelSim6.2上面进行AES加解密仿真,仿真测试输入加密密钥字符串“0001020304050607”,加密字符串“0011223344556677”,加密后的仿真波形如图1-9所示,由仿真波形中寄存器中的内容显示为加密后的内容(字符对应的ASCII值)。解密后的仿真波形如图1-10所示,由仿真波形可知解密后的字符串“0011223344556677”对应的ASCII值(十六进制表示)“30, 30,31,31,32,32,33,33,34,34,35,35,36,36,37,37”。图1-9 AES加密后仿真波形图1-10 AES解密后仿真波形

服务器端整体测试,通过PC机向服务器端发送测试指令,服务器端根据指令接收传感器网络的数据信息,接收的数据经过AES加密处理后发送至客户端,为了测试加解密的正确性,把加密后的数据又解密,通过串口打印出来的信息如图1-11所示。图1-11 AES加解密测试

网络安全检测及报警测试,通过PC机向服务器端发送Socket请求,并发送相应的非授权ID信息,这时服务器端将检测对应的ID信息,因为此ID为非授权ID,因此,将把提取的请求连接的IP信息通过GSM模块发送至指定手机上,手机显示信息如图1-12所示。图1-12 手机显示信息1.5.2 系统整体测试

系统整体测试指根据系统的可能应用领域进行综合测试,正常采集信息测试过程图如图1-13所示,模拟非授权用户测试过程如图1-14所示。系统初始化后,根据LCD显示的提示信息,输入加解密钥16个字符,在密钥确认信息提示后再次输入加解密密钥,在本次通信过程中将采用该密钥对信息进行加解密处理。当客户端需要采集信息时,发送采集指令,服务器端响应请求把传感器网络采集的信息加密后发送至客服端,客户端把信息解密后显示在LCD显示屏上,这一次的采集任务正确完成,当需要再次采集时,客户端只要发送指令就可以再次采集。图1-13 正常信息采集测试过程图图1-14 非授权用户测试过程图

系统分别在实验室和户外进行测试,每隔 1min 采集一次数据,表1-1记录了10次数据采集的处理情况。经过多次测试和接收数据表明:该系统具有良好的稳定性和高可靠性。表1-1 数据采样1.6 小结

ZigBee无线传感器网络集网络通信、数据采集、无线通信、无线控制等技术于一体的无线技术解决方案。在很多的应用领域中,都采用了星形网络连接,在该类网络中,中心节点到控制中心的信息传送过程中存在极大的安全隐患和信息泄露情况,对此,本文提出了一种可移动的高可靠FPGA通信系统的设计模型。基于ZigBee无线传感器的常见应用领域,对于信息通信的安全防护具有一定的重要意义。

该系统采用FPGA平台构建基于MicroBlaze软核和Xilkernel操作系统的嵌入式系统。本章主要对下述内容进行了论述和自主开发。

1)ZigBee 无线传感器网络的原理及星形网络的设计,提出基于CC2430芯片的终端设计及实现,自行开发数字温度传感器DS18B20的传感器采集模块。

2)AES加解密算法的原理介绍及基于FPGA的硬件自主实现。

3)构建基于Microblaze软核和Xilkernel操作系统的嵌入式系统,自定制外设接口IP。

4)网络安全检测的实现及通过GSM网络报警机制的设计与实现。

经过单元测试和整体评测,各模块独立运行功能良好,均达到预期设计要求。系统整体测试运行平稳,可靠性强。完全可以达到实际应用的性能及技术要求。

由于平台指定的关系,资源的使用受到了一定限制,系统只是实现了对ZigBee无线传感器网络的信息安全传输的保障,如果时间允许的情况,系统还应该在以下几方面进一步完善。

1)ZigBee无线传感器网络功能的完善,ZigBee自组网络算法的研究。

2)AES加解密算法的优化硬件实现。

3)进一步降低功耗和节约成本。

高可靠FPGA系统具有较大的研究价值和广泛的应用价值。在可以预期的将来,ZigBee无线传感器网络无论在军事上还是民用产品中都具有良好应用前景。作为确保 ZigBee 无线传感器网络安全通信的高可靠FPGA通信系统必将在信息安全领域中得到广泛的应用。参考文献[1] 杨强浩. 基于 EDK 的 FPGA 嵌入式系统开发[M]. 北京:机械工业出版社,2008.[2] 张焕国,刘玉珍. 密码学引论[M]. 武昌:武汉大学出版社,2003.[3] 赵峰,马迪铭,孙炜,梁天冀. FPGA 上的嵌入式系统设计实例[M].西安:西安电子科技大学出版社,2008.[4] 李文仲,段朝玉. ZigBee无线网络技术入门与实战[M]. 北京:北京航空航天大学出版社,2007.[5] 邢建平,曾繁泰. VHDL 程序设计教程[M]. 北京:清华大学出版社, 2005.[6] National Institute of Standards and Technology.Advanced encryption standard [ EB/ OL ] . http :// csrc.nist . gov/ publications/ fips/ fip s197/fips2197. pdf .[7] 邓江华,胡志华,牛冀平.AES加密算法的研究与实现[J]. 微型电脑应用,2005,21(7):15-19.[8] 寒雯. AES加密算法分析及其安全性研究[J]. Computer Applications of Petroleum 2008,16(2).[9] M AISTRI P. V ANHAUWAERT P. L R.Evaluation of register-level protection techniques for the advanced encryption standard by multi-level fault injections[A]. 22nd IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems[C]. 2007.[10] EL-MEDANY, WAEL M. FPGA implementation for humidity and temperature remote sensing system[A]. Mixed-Signals, Sensors, and Systems Test Workshop, 2008. IMS3TW2008. IEEE 14th International[C]. 2008. 1-4.[11] S U CP, L IN TF, H UANG CT, W U CW, A highly efficient AES cipher chip[A]. Design Automation Conference, 2003. Proceedings of the ASP-DAC 2003[C]. 2003. 561-562.[12] RAN P, SUN MH, ZOU YM. ZigBee routing selection strategy based on data services and energy-balanced ZigBee routing, services computing[A]. IEEE Asia-Pacific Conference on Dec 2006[C]. 2006. 400-404.

该作品荣获 2008 年全国大学生电子设计竞赛信息安全专题邀请赛二等奖。

该作品荣获2008年全国嵌入式设计竞赛二等奖。第2章移动动态安防系统

随着移动嵌入式设备的迅速普及,特别是 3G 网络的快速发展,个人私有电子设备日益完善,大量隐私信息存储于这些电子设备中,非法的越权访问导致了这类隐私信息的大量流失,如何利用远程监控、监督由于时间和空间阻隔而不能实时操控的电子设备的运行状况显得日益重要。个人私有电子设备间的信息融合已成为必然趋势,这不但给人们的隐私信息提供极大的保障,同时也为人们的生活工作带来极大的便利。

据美国独立研究机构波莱蒙研究所(Ponemon Institute)最新统计数据显示,2008 年来自17 个国家的43 家大型公司有4 200 条到113 000条客户记录丢失,其造成的损失约为1.5亿元人民币。波莱蒙研究显示,企业去年在数据丢失时的平均损失是,每条记录大约202美元。而2005年、2006年、2007年该公司同类性质调查的结果是每条记录损失分别是138美元、182美元、197美元,3年间每条记录损失费用增长64美元,且呈逐年递增趋势。在这种信息丢失愈演愈烈的环境中,防止企业机密、客户资料数据外泄,已经成为电信、金融、医疗、政府、教育等数据集中度较高的企事业单位亟待解决问题。

本作品实现了个人私密电子设备(PC机与手机)间的通信融合机制。通过用户随身携带的移动终端(如手机、PDA等)为非本地个人设备(如PC 机)提供实时高效的安防策略;同时,为保证 PC 机的绝对安全,监控系统获得PC机的系统运行时间,并通过Blowfish算法随机生成一套私钥作为解锁密码,此时,系统同时提供了近程蓝牙通信模式以及远程GSM通信模式,在可用距离内,系统优先采用蓝牙方式进行通信解锁,超出一定范围内,系统采用可靠的GSM通信模式与用户进行信息和指令级通信解锁;在信息传递过程中,考虑到密文被通信截获后的数据篡改或身份伪造等情况,动态密码在手机和PC间的传递周期内,始终进行着DES加密;PC 机运行过程中,监控扫描进程不断扫描,若发现任何非法设备的接入(如USB设备),监控系统会实时发送短信至用户,用户可通过手机发送短信指令控制PC机继续保持开机状态或者执行关机操作。2.1 概述

随着移动嵌入式设备的迅速普及,特别是 3G 网络的快速发展,个人私有电子设备间的信息融合已成为必然趋势,这将给人们的生活工作带来极大的便利。同时,非法的越权访问会导致这类隐私信息的大量流失,如何远程监控、监督个人电脑的运行状况显得日益重要。2.1.1 作品简介

为保证个人PC机使用过程中的安全性与专用性,特别是当用户与个人设备之间存在一定的空间或时间分离情况下,本移动动态安防系统将基于这种情况下,为用户提供实时的使用监控服务,任何非法的PC机访问及操作,都将实时发送到用户携带的掌上移动终端。系统的总体功能如图2-1所示。图 2-1 总体功能

1)本系统的初始化过程包括:设置通信端口和比特率、身份验证(如手机号码)、通信测试等,以保证系统的正常工作。

2)监控系统将随PC机同时启动,并在PC机操作系统引导程序完成前,利用 Hook 技术对键盘、鼠标等输入信息进行拦截,以特定的功能界面锁定该 PC 机,用户可利用短信或蓝牙等通信模式进行解锁。若用户选择“短信解锁”模式,PC机将发送动态密码至被绑定手机,用户输入密码或者通过GSM模式发送短信至PC,即可完成系统解锁;若用户选择“蓝牙解锁”模式,则 PC 机将启用蓝牙通过功能并与手机实现相互认证,同时若蓝牙通信中断,则PC机将自动锁屏。

3)对于任何非法设备的接入(如USB设备),监控系统会实时发送短信至用户手机。用户可通过手机发送短信指令控制 PC 机继续保持开机状态或者执行关机操作。2.1.2 相关工作

本作品开发环境主要基于微软的Windows平台,利用GSM通信模块及手机蓝牙适配器等硬件设备,采用 C#及 Java 等开发语言,实现移动设备与个人PC机间的监控及预警功能。相关工作如下。

1.监控进程自启动机制

在Windows平台下,通过对系统底层注册表的添加操作,实现了监控进行随系统的自动导入过程(如图2-2所示)。

2.桌面锁定模式

系统启动程序引导完成后,监控系统会主动进行桌面应用程序锁定服务,为避免用户非法终止该程序,该系统采用了 Hook 技术优先捕获键盘事件,在目标窗口处理函数之前过滤掉相关的恶意关闭操作。同时,为了屏蔽任务管理器,防止攻击者进行进程非法终止等行为,程序通过运行常规扫描线程,这可以及时捕获并终止任务管理器对应进程taskmagr.exe的运行。图 2-2 监控进程自启动

3.动态密码生成

当用户选择密码解锁模式时,监控获得 PC 机的系统运行时间,并通过 Blowfish 算法随机生成一套私钥,并将私钥通过 DES 算法加密后发送到手机上,手机收到密码解锁请求后对PC机发送的私钥进行解密,并将解密后的私钥显示在手机上。详情见2.3.4节。

4.通信及加密

A.信息加密

在通信过程中,系统采用DES算法对内容实施加密。PC机利用DES算法加密(信息(Ra)+时间戳(Ta))并发送到手机,手机端收到信息后利用 DES 算法解密得到 Ra 并再次利用 DES 算法加密(Ra+时间戳(Tb))且返回到PC端,PC解密得Ra后与原始Ra比较并解锁。

B.远程信息通信

在远程范围内,系统利用短信方式实现PC机和手机的通信,PC机端用C#的串口通信方式控制GSM模块,利用AT指令进行PC机和GSM的信息存取、删除、发送等操作,并利用传递线程,定时从 GSM 模块读取消息。若监控程序收到控制命令,且身份识别通过(手机号码匹配)时,则执行预定义动作;同时,手机终端读取信息后,用户可根据具体的内容发送相应指令控制PC机的运行。

C.近程信息通信

系统通过蓝牙适配器实现近距离认证工作,系统分别在电脑和手机端实现两个程序:Bluetooth for Windows 和Bluetooth for Phone。其中, Bluetooth for Windows负责监督PC机访问,并发送加密数据到用户手机;在收到返回信息后匹配并执行解锁操作。Bluetooth for Phone 接收PC 机所传递的数据,解密得到参数,并发送二次加密后的控制指令到PC机。2.2 实现方案2.2.1 整体方案

整套系统由4大模块构成,分别是蓝牙模块、系统常驻监控模块、手机模块和PC机模块(GSM模块+蓝牙适配器)。该系统基于Windows平台,利用C#和Java语言开发,结合GSM模块和蓝牙适配器等设备,由全球移动或联通通信网络来传送报警短信及基本的通信指令。

整体方案框图如图2-3所示。图 2-3 整体方案框图

为保证设备使用的安全性与专用性,用户在初次安装本系统后会被要求对系统进行初始化,其中包括:设置通信端口和比特率、验证用手机号码。设置后,用户可点击“拨号测试”进行测试GSM模块和手机是否正常连通,或者用户单击保存直接将设置保存。初始化界面如图2-4所示。图 2-4 初始化界面2.2.2 蓝牙通信

首先,手机启动Server提供服务等待PC机连接,用户选择蓝牙解锁,PC机起动蓝牙并开始搜索一定范围之内的可连接手机,用户选择自己的手机,利用DES加密算法进行安全通信。手机界面如图2-5所示。图 2-5 手机界面2.2.3 短信通信

采用西门子TC35i工业级GSM模块。插入SIM卡后接入到中国移动或联通网络,通过普通串口相连运用标准的AT指令具有普通的Mobile Phone的接打电话、收发短信等功能。利用C#的串口通信控制GSM模块,利用AT指令进行PC机和GSM的信息读取、信息删除和信息发送。2.3 实现原理2.3.1 加解密原理

DES 算法的入口参数有 3 个:Key、Data、Mode。其中 Key 为8byte共64bit,是DES算法的工作密钥;Data也为8byte共64bit,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。图 2-6 认证模型

DES 算法是这样工作的:如Mode 为加密,则用Key 去把数据Data进行加密,生成Data的密码形式(64bit)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64bit)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。

通过定期在通信网络的源端和目的端同时改用新的 Key,能更进一步提高数据的保密性。2.3.2 MD5 算法

MD5以512bit分组来处理输入的信息,且每一分组又被划分为16个32bit子分组,经过了一系列的处理后,算法的输出由4个32bit分组组成,将这4个32bit分组级联后将生成一个128bit散列值。

在 MD5 算法中,首先需要对信息进行填充,使其字节长度对 512求余的结果等于448、因此,信息的字节长度(bits length)将被扩展至N×512+448,即N×64+56个字节,N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N× 512+448+64=(N+1)×512,即长度恰好是 512 的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。

MD5 中有4个32bit 被称作链接变量(chaining variable)的整数参数,它们分别为:A=0x01234567 , B=0x89abcdef , C=0xfedcba98 , D=0x76543210。

当设置好这4个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512bit信息分组的数目。

将上面4个链接变量复制到另外4个变量中:A到a,B到b,C到c,D到d。

主循环有4轮(MD4只有3轮),每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中3个做一次非线性函数运算,然后将所得结果加上第4个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。经过4轮循环计算之后,将A、B、C、D 分别加上 a、b、c、d。然后用下一分组数据继续运行算法,最后输出是A、B、C和D的级联。2.3.3 GSM 通信

采用西门子TC35i工业级GSM模块。插入SIM卡后接入到中国移动或联通网络,通过普通串口相连运用标准的AT指令具有普通的Mobile Phone的接打电话、收发短信等功能。

GSM模块中具体设置如下。

串口正常连接后,发送At + cops? ,返回“CHINA MOBILE”,确定GSM模块硬件连接正常并已接入网络,可以进行下一步通信。

成功后开始初始化。

发送At + clip = 1,返回“OK”后来电显示设置成功,读取返回值显示相应的号码。

发送 At + cnmi = 1,1,0,0,1,返回“OK”设置成功,设置新短信提醒功能。

发送At + cmgf = 1,返回“OK”设置成功,设置文本文档模式。

以上均成功后可完成以下功能。

发短信。At + cmgs =“电话号码”回车符“〉短信内容(Ctrl+Z)。

收短信。当收到 + cmti :“me”, index(index 为整数表明当前新短信存储的位置)。

发送At + cmgr = index,读当前短信,At + cmgd = index,删除当前短信。

打电话,发送Atd“电话号码”;拨打所输入的号。2.3.4 蓝牙通信

蓝牙认证需要分别在计算机和手机端实现两个程序:Bluetooth for Windows 和Bluetooth for Phone。

1.Bluetooth for Windows 实现过程

设备和服务的查找是由DiscoveryAgent和DiscoveryListener完成的,在设备和服务查找的过程中回馈机制被广泛使用。无论是DiscoveryAgent 查找设备还是查找服务的方法,最后一个参数都是DiscoveryListener,一旦服务或者蓝牙设备被查找到,DiscoveryListener的相关方法就会被调用。

1)查找蓝牙设备

在查找设备之前首先要获得DiscoveryAgent对象,discoveryAgent=localDevice. getLocalDevice().getDiscoveryAgent(),获得DiscoveryAgent 对象后可以执行两种查询方式,第一种查询通过调用StartInquiry()方法实现;另一种查询是通过调用DiscoveryAgent的retrieveDevices()方法获得的。这里选择第一种方式,设置设备的访问方式为 GIAC。当查找到周围的蓝牙设备时,DiscoveryListener的deviceDiscoveryd的方法被调用,将所有查找到的设备都存储起来。

2)和指定手机进行连接

一旦指定要进行连接的手机,程序将会开始和手机上已安装的程序进行连接。和指定程序进行连接也是由DiscoveryAgent完成的,不同的是这次调用的是SearchServices()方法。

但查找到指定的手机端的程序后ServicesDiscoveryed的方法就会被调用,将此次蓝牙服务(用于后来的连接)记录下来,SearchServices()方法会返回一个Int值用于标记此次查找的事务ID。

3)通过手机端的程序进行匹配

电脑和手机的通信是选择通过蓝牙协议 RFCOMM 进行的。RFCOMM 协议在蓝牙设备之间提供了 RS-232 串口通信的模拟,通信方式是基于流连接的。程序通过调用 Connector.open()和services.acceptionAndopen()方法建立一个蓝牙连接,返回一个StreamConnection类的参数,通过此参数打开OutputStream开始向手机端发送密文,并打开 InputStream,等待手机端返回认证信息,并读取认证信息,确认是否匹配成功。若匹配成功则通知监控主程序打开封锁界面,用户可正常使用计算机,否者认证失败,界面保持封锁状态。

2.Bluetooth for phone实现过程

1)服务注册

在计算机端能够进行连接之前,必须将服务注册到SDDB中。首先, Connector.open()方法被调用,这将创建一个 ServiceRecord 类。当StreamConnectionNotifier.accepAndOpen()方法调用时,ServiceRecord 将被加入到SDDB中,这也完成了服务的注册。

2)接收密文并解密返回

调用conn=notifier.acceptAndOpen(),等待电脑进行连接。接收计算机上发过来的密文,解密返回认证信息。

3.信息的加密和解密过程

加密解密过程是通过Bouncy Castle加密库来实现的。加密、解密的基本步骤:进行加密、解密首先要生成一个Cipher对象,它是加密、解密的实施者 cipher=new PaddedBlockCipher(new CBCBlockCipher(new DESEngine()));然后根据密码生成一个密码参数对象;KeyParameter Key=new KeyParameter(Keybytes);然后使用该密码参数对Cipher 对象初始化:Cipher.init(true,key);这里第一个参数用 True 表示加密,用 false表示解密。然后调用Cipher的ProcessBytes()及doFinal()方法进行加解密的工作。整个手机执行过程如图2-7所示。图2-7 手机程序执行过程2.3.5 短信通信

PC机利用GSM模块实现和手机的通信,利用AT指令进行PC机和GSM的信息读取、信息删除和信息发送。2.4 硬件框图

1.PC机框图

图2-8是PC机的外围设备,GSM模块实现PC机和手机无距离限制的短信通信,蓝牙适配器实现 PC 机与手机蓝牙在一定范围内通信。图2-8 PC机框图

2.安防终端框图

安防终端框图如图2-9所示。图2-9 安防终端框图

非授权人员非授权访问PC机时,PC机通过GSM模块发送短消息告知用户登录结果,用户通过手机发送指令控制 PC 机执行关机或允许使用等指令。2.5 软件流程

1.主消息处理函数流程

主消息处理函数流程图如图2-10所示。图2-10 主消息处理函数流程图

2.主程序流程图

主程序流程图如图2-11所示。

主程序应用于 PC 机端,在用户被强制要求解锁的情况下获得消息并选择执行预定义操作。

3.蓝牙解锁流程图

蓝牙解锁时,手机端首先提供服务等待 PC 机连接,PC 端蓝牙应用程序被启动,在指定范围内搜索可连接信号,用户选择被绑定手机,PC机开始与被绑定手机实现加密通信从而确认手机(如图2-12所示)。图2-11 主程序流程图图2-12 蓝牙解锁流程图

4.短信解锁流程图

短信解锁时,程序运行得到随机数,将随机数通过 GSM 模块发到被绑定手机,手机端得到随机数,通过DES算法得到密码,用户输入密码或者直接利用短信息将密码发送至 PC 机端实现解锁,并发送消息通知用户登录结果(如图2-13所示)。图2-13 短信解锁流程图

5.功能描述

为保证设备使用的安全性与专用性,用户在初次安装本系统后会被要求对系统进行初始化,其中包括:设置通信端口、验证手机号码。设置后,系统会根据用户的设置选项进行拨号测试,以保证系统的正常工作。

用户启动被保护的计算机后,保护系统会在用户进入操作系统前通过Windows提供的Hock技术对键盘的输入进行拦截,并将操作系统界面用特定的安全登录界面覆盖,强制用户选择使用短信或蓝牙对系统进行解锁。用户选择短信解锁后系统会自动发送解锁结果至被绑定手机。

用户正常使用PC机期间,PC机蓝牙和手机蓝牙每隔30s检测一次,如果3次和手机蓝牙匹配失败,系统认为PC机主人没有在PC机可视范围之内,则PC机自动锁住屏幕,当PC机再次检测到手机蓝牙时,用户又可以正常使用PC机。

用户通过短信解锁后,如果发现有USB设备接入,则向主人手机发送短信。

当用户收到短信发现有非法用户登录或非法USB接入时,可以通过手机发送短信指令控制PC机继续保持开机状态或者执行关机操作。2.6 性能测试2.6.1 GSM 模块测试

打开测试程序,将GSM模块连接到PC机,打开串口正发送指令测试是否正常运行,再用手机发送消息到 GSM 模块,观察能否正常提取信息。

1.测试设备

GSM模块:通过USB接口连接到PC机。

PC机:显示测试结果。

手机:发送消息。

2.测试数据

AT+CMGR 读取短消息:命令格式AT+CMGR= 。

AT+CMGS 发送短消息:采用 TEXT 方式的命令格式 AT+CMGS= [ , ]。

试读结束[说明:试读内容隐藏了图片]

点击下载

阅读剩余
THE END