远程实时健康监护系统中数据传输及安全性研究.docx
- 文档编号:27540547
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:14
- 大小:76.19KB
远程实时健康监护系统中数据传输及安全性研究.docx
《远程实时健康监护系统中数据传输及安全性研究.docx》由会员分享,可在线阅读,更多相关《远程实时健康监护系统中数据传输及安全性研究.docx(14页珍藏版)》请在冰豆网上搜索。
远程实时健康监护系统中数据传输及安全性研究
远程实时健康监护系统中数据传输及安全
性研究
陈苏蓉,朱晓辉★,王杰华,石振国
(南通大学计算机科学与技术学院,江苏南通226019
摘要:
随着医疗检测技术的微型化和计算机网络技术的发展,利用微型传感器对人体健康状况进行远程实时监护已成为医学诊疗仪器领域研究的重点。
受限于微型传感器体积、功耗、电池、内存、计算能力等限制,如何实现传感器和数据中心间的双向数据传输及保证数据传输过程的可靠性和安全性成为需要重点解决的问题。
提出了利用蓝牙、GPRS(WCDMA技术并以智能手机为媒介来实现数据的双向传输,并利用IOCP协议、动态密钥、数据正确性验证、防恶意攻击等多种方法来解决数据传输过程中的可靠性及安全性问题。
通过实验模拟及在实际项目中的应用表明,该方法是有效的。
关键词:
健康监护;数据传输;数据验证;数据安全
ResearchofDataTransmissionandSecurityforRemote
Real-timeHealthMonitorSystem
CHENSu-rong,ZHUXiao-hui,WANGJie-hua,SHIZheng-guo
(CollegeofComputerScienceandTechnology,NantongUniversity,NantongJiangSu226019,China【Abstract】Withthedevelopmentoftheminiaturizationofmedicaltestingtechnologyandcomputernetworktechnology,monitoringhumanhealthbymicrosensorremotelyandreal-timelyarebecomingthemostimportantresearchfield.However,limitedbymicrosensor’svolume,power,battery,memoryandcomputingability,itisimportanttosolvetheproblemofreliabilityandsecurityforthetwo-waydatatransmissionbetweensensoranddatacenter.ThispaperpresentsasolutionforthereliabilityandsecurityindatatransmissionbyusingIOCPprotocol,dynamicencryptionkey,datavalidation,anti-malwareattacksandsmartphoneasmedium.Theexperimentandtheapplicationshowthatthesolutioniseffective.
【Keywords】healthmonitor;datatransmission;datavalidation;datasecurity
0引言
传统的健康监护系统主要包括两种[1][2][4]:
一是24小时记录心电数据的Holter系统,它可以让病人随身携带,但无法进行实时诊断;另一种是病房使用的床边监护系统,可以进行实时诊断,但只能在医院固定地点使用。
随着计算机技术、传感器技术及医疗器械技术的发展,利用微型传感器来对人体进行健康监护成为目前医疗仪器领域研究的重点。
美国麻省理工学院研发了指环传感器,可监测心脏活动数据,并利用无线传输数据。
但由于其功能单一、造价昂贵,目前还处于实验室阶段。
日本东芝公司研发了手表式可穿戴的传感器LifeMinder,可以采集用户生理信号并识别使用者运动状态,通过蓝牙技术把数据传输到PDA来显示和分析数据。
但不具有远程数据传输功能,在紧急状态无法向外部报警,请求医疗救护。
日本的WINHumanRecorder公司研制了一种只有7g重量的体征信号采集系统HRS-I[3],包含两电极心电采集,体温信号采集以及一个三轴加速度信号采集,以2.4G射频将健康数据发送至Smartphone或PC,采用纽扣电池供电,该系统能够通过两个按扣式电极固定在胸部,十分轻便。
但也存在采集数据单一,当生理数据异常时无法自动报警等问题。
这些系统目前还处于实验研究阶段,因此,针对生理数据采集后数据远程传输过程中的可靠性及安全性等问题都没有做深入研
基金项目:
南通市基础应用研究项目(K2010067、江苏省“六大人才高峰”项目(2010-WLW-006、南通市重大科技创新专项计划项目(XA2008004作者简介:
陈苏蓉(1977-,女,讲师、硕士,主要研究方向为计算机应用;朱晓辉,讲师、硕士;王杰华,副教授、硕士;石振国,副教授、博士E-mail:
ntuzxh@
究,目前还没有一套成熟有效并可真正投入商业运营的生理健康数据远程传输的解决方案。
目前国内外都在加紧研发更具有智能化、微型化、网络化并具有商业应用前景的远程实时健康监护系统。
由希盟(中国科技有限公司与加拿大滑铁卢大学及南通大学经过四年多合作,利用光学传感、光谱分析及微型传感器等技术成功研发了便携式远程实时健康监护系统,较好的解决了设备微型化、多生理参数采集、实时监控、远程数据传输、智能报警等问题。
本文重点研究如何实现生理数据的远程传输及传输过程中的可靠性和安全性问题。
论文首先给出系统的整体架构,对主要设备做了简要说明;其次针对数据传输中的可靠性及安全性问题,设计和实现了数据传输系统,最后给出了实验测试结果并做了总结。
1.系统整体架构
系统主要由微型生理信息采集器、数据传输系统和实时服务支撑平台三大部分组成,其架构如图1所示。
图1系统架构
系统基本工作流程为:
微型生理信息采集器(以下简称Device佩戴于用户耳朵上并采集生理健康数据;数据通过蓝牙发送到用户智能手机(以下简称Unit;Unit通过GPRS或WCDMA(由手机所在的移动网络决定把数据远程传输到Center服务器;Center服务器对数据进行必要的验证后存入数据库;用户及经过授权的医生、家人和朋友可以通过Web来查询个人生理健康数据;当用户生理健康数据异常时,Center端通过数据库服务器向呼叫中心报警,呼叫中心按照一定的优先级别自动依次向用户本人、经授权的家人及朋友甚至用户当前所在当地的120联系,请求及时的帮助和医疗救助。
系统中各主要设备功能如下:
(1Device:
是一个便携式微型传感器,佩戴于用
户耳朵上,内部集成了光电传感模块、数据采集与处理模块、蓝牙模块、驱动电池模块及运动传感模块。
其中光电传感模块和数据采集与处理模块负责人体生理参数的采集和计算,共
有心率、血氧饱和度、体温、呼吸率等20个参
数;蓝牙模块负责与智能手机(Unit双向传输数
据;驱动电池模块负责为其它模块供电;运动
传感模块用于获取人体运动信息并对获得的生
理参数做一定修正从而能做出更智能可靠的生
理健康状况判断。
比如判断人体心率是否正常,除了心率指标外还和该用户的运动状态密切相
关。
(2Unit:
是一个安装有专用数据传输程序的智能
手机。
考虑到Device是佩戴在人体耳朵上来采
集生理参数的,因此必须要尽可能做到微型化
和轻型化。
所以系统采用智能手机作为媒介来
完成数据的发送和接收。
首先,Device通过蓝
牙和智能手机互联,然后智能手机再通过
GPRS(或WCDMA与Center服务器相连,
从而建立双向数据传输通道。
(3Center服务器:
接受Unit传输来的数据,完成
对数据的合法性验证后保存到数据库服务器,
也可以向Unit发送指令,并由Unit向Device
通过蓝牙转发,从而实现双向数据通信。
(4数据库服务器:
存储Center端接收到的生理参
数数据。
(5WEB服务器:
用户及其经过授权的医生、家人
及朋友可以通过访问WEB站点来查看用户生
理健康数据信息。
(6呼叫中心服务器:
当用户生理健康数据发生异
常时,Center服务器自动截获并通过数据库服
务器向呼叫中心发送报警,呼叫中心自动响应
并以一定的优先级别依次与用户本人、用户授
权的家人及朋友甚至用户当前所在地的120联
系。
2.数据传输系统设计
整个数据传输系统包括两部分:
一是Device与Unit间的双向数据传输,二是Unit与Center服务程序间的双向数据传输。
由于蓝牙芯片具有微型化、低功耗、短距离通信等特点,非常符合传感器微型化、轻量化的要求,并能有效提升Device的电池续航时间,同时大部分智能手机都具有蓝牙功能,而且智能手机已越来越普及,价格也越来越低廉。
因此系统中引入了智能手机作为数据传输的媒介,通过为不同类型的智能手机开发不同类型的专用数据传输程序来实现Device与Unit间的蓝牙数据通信,从而建立Device到Unit端的双向数据通信。
同时利用手机GPRS(WCDMA技术来现实Unit
到Center数据中心间的双向数据通信。
2.1数据包格式
由于涉及到Device、Unit和Center三方的双向数据通信,因此需要制定统一的数据包格式,数据包分为包头和包体两个部分,包头结构如表1所示。
表1包头结构
ByteDescriptionValue
1-3StartMarker0XFF00FF
4-7DeviceIDDependonDevice
8Chuncktype
9-12TimeStampYY:
MT:
TT:
TT
13TotallengthofDataChunks
14-15EncrptionNum
16-19Checksum
前三字节是固定掩码,值为OXFF00FF,表示包头的开始;字节4-7表示Device蓝牙设备号,用来唯一表示一个Device;第8字节表示数据包流向及具体功能;字节9-12记录生理参数采集的时间,其中第9字节的值加上2000后表示年份(范围为2000年-2225年;第10字节前四位表示月份,后四位及后面的11、12两字节表示该日期所在时间点的秒数,这种设计的目的是为了适应Device设备中的时钟芯片的计时规则,减少Device端的计算量,降低电量消耗;第13字节表示包体长度;14-15字节是一个动态产生的随机数,用于对包体数据加密;16-19字节是包头校验位。
考虑到Device端有限的计算能力和降低能耗,在蓝牙传输过程中采用简单的累加校验方法,即把1-15字节内容进行值累加后存入Checksum字段。
当Unit获取Device传输来的数据包后即可以通过校验位对包头进行验证。
由于Unit具有较强计算能力和更大电池容量,为了能更好的验证数据包的正确性,Unit端在把数据包向Center转发时,需要重新对包头进行Hash运算,最后把Hash运算结果保存到Checksum字段,这样可以进一步提高数据验证能力,提高数据传输的可靠性。
包体结构主要包括掩码起始位、数据位及校验位构成,其结构如表2所示:
表2包体结构
ByteDescriptionValue
1-3StartMarker0XFF00FF
4Heartrate
5BodyTempture
6SpO2……
24-27Checksum
其中1-3字节是掩码字段,表示包体开始;4-23字节每个字节分别记录心率、体温、血氧饱和度等不同生理参数,共计20个;24-27字节是校验位,其作用与包头中的检验位类似,在Device和Unit间蓝牙数据传输时采用简单的累加计和方法生成校验位,在Unit和Center间进行数据传输时用Hash算法生成校验位。
2.2数据传输协议
由于Device与Unit之间是近距离的一对一通讯,同时考虑到Device的功耗及计算性能的限制,因此采用蓝牙技术来实现数据传输。
而Unit与Center间的通讯需要经过GPRS(WCDMA、Internet等多个网络的传递,因此需要重点考虑数据传输的可靠性和安全性问题,同时还需要尽可能提升Center端服务程序的并发性能,使单个Center端服务程序能接受尽可能多的Unit的并发连接,从而减少服务器物理数量,降低硬件成本。
常用的网络传输协议有三种:
WINSOCK套接字、重叠端口和IOCP模型。
WINSOCK套接字编程实现简单,但需要为每个连接指定连接端口,而且并发性能较低。
重叠端口能支持较高的并发,但需要为每个连接都创建一个新线程,当并发连接数越来越多时,导致系统花费大量的时间进行不同线程上下文切换,从而大大降低系统性能。
IOCP模型(I/OCompletationPort也叫完成端口,是一种高效的I/0模型,它允许服务器程序仅用少量工作线程来处理大量的异步I/O请求[6]。
其最大优点在于用很少的服务器端线程就可以并发处理大量的网络连接和数据传输,大大减少服务器端的线程数和CPU进行线程切换的工作,因此极大地提高了网络数据传输的并发性[7]。
因此项目中选用IOCP协议来实现Unit和Center间的双向数据传输。
3.数据传输系统实现
由于数据从Device端采集到传输到Center端接收过的程中需经过蓝牙、GPRS(WCDMA、Internet等多种不同的通信网络,因此数据传输过程中的可靠性和安全性显得尤为重要。
这里通过对数据包进行必要的验证来确保数据传输过程中的可靠性,当验证没有通过时,要求发送方重新发送数据包;同时还采用蓝牙地址确认、动态随机数、生理参数加密等方式来保证通信双方的合法性和数据传输过程中的安全性。
3.1Device与Unit间数据完整性验证
受Device计算性能及电池容量限制,在Device端不适宜做大量的复杂计算。
但由于Device与Unit间采用了近距离的蓝牙通信协议,考虑到蓝牙通信本身的不稳定性和易受干扰性,因此需要通信双方对数据包做基本的数据完整性验证。
这里采用对数据包进行累加计和方法来生成校验码,这样既可兼顾数据完整性要求,也充分考虑了Device端的计算性能的限制。
Device向Unit发送数据包时的数据完整性验证步骤如下:
(1Device采集生理参数,形成数据包,利用累加
计方法分别计算包头和包体校验码并填入到各
自的Checksum字段,然后向Unit发送数据包。
(2Unit接收到数据包后分解成包头和包体,并分
别重新计算校验码。
(3若新校验码和数据包中原来的校验码一致,则
数据在传输过程中没有改变,数据完整性验证
结束,否则Unit丢弃该数据包并向Device发
送一个请求消息包,请求Device重发数据包。
(4若连续三次重发数据包都验证失败,则Unit向
用户报警显示错误信息,并把该信息发送到
Center,由Center记录到日志文件中。
(5重复步骤(1。
同理,Unit向Device发送数据包时的验证方法类似,这里不再累述。
3.2Unit与Center间数据完整性验证
Unit与Center间的远程数据传输需经过GPRS(WCDMA、Internet等多个网络,因此需进行更严格的数据完整性验证。
考虑到智能手机有更强的计算能力和电池续航能力,因此系统采用了Hash算法来实现更严格的数据完整性验证。
从Unit向Center发送数据包时的数据完整性验证步骤如下:
(1Unit对Device传递来的数据包完成完整性验
证。
(2Unit利用Hash算法重新生成包头和包体验证
码,并分别填入到各自的Checksum字段。
(3Unit向Center发送数据包。
(4Center接收到数据包后拆解成包头和包体两个
部分,并用相同的Hash算法重新计算新校验
码。
(5若新校验码和数据包中原来的校验码一致,则
说明数据在传输过程中没有改变,数据完整性
验证结束,否则Center丢弃该数据包并向Unit
发送一请求消息包,请求Unit重发该数据包。
(6若连续三次重发数据包都验证失败,则在Unit
端向用户报警显示错误信息,并把该信息发送
到Center,由Center记录到日志文件中。
(7重复步骤(1。
Hash算法描述如下:
(1定义4字节HASH密码位H=1,整型变量r=4;
(2依次取数据包中一个字节B;
(3H^=((H&63+r*((uintB+(H<<8;//HASH
运算
(4返回步骤(2直到取完包中所有字节;
(5把H保存到校验位字段;
(6结束;
同理,Center向Unit发送数据包时的验证方法类似,这里不再累述。
3.3数据加密保护
为防止恶意用户窃取数据,必须对用户生理健康数据进行加密保护。
由于受Device端计算性能及电池容量等限制,因此不适合在Device端做复杂的加密运算。
但由于Device与Unit间采用了近距离的蓝牙通信协议,Device端的数据只能在近距离范围内被捕获,因此本身具有一定的安全性。
但Unit与Center间的数据需要经过多种网络远距离传输,因此必须对数据进行加密。
这里采用了AES对称加密算法,同时为了进一步增加数据包被破译的难度,系统采用了动态密钥技术。
当Device开机后与Unit及Center三者间首先建立连接,并由Center进行设备合法性验证,然后由Center动态产生一个2字节随机数保存到包头中的Encrptionnum字段并发送给Unit。
当连接建立后,Unit即以该随机数作为加密密钥,用AES加密算法对包体中的生理健康数据进行加密,当Center接收到Unit传输过来的数据包时,利用同样的密钥对数据进行解密。
这样使得用户每次开机时,加密密钥都是动态随机产生的,从而大大增加了破译难度,增强了数据在传输过程中的安全性。
3.4数据防篡改验证
数据加密只能限制非法用户获取数据包中内容,但无法限制非法用户截获数据包并对数据包内容做修改后再转发给Center端服务程序,从而形成大量垃圾信息,导致Center端服务器程序因处理这些非法数据而引起系统瘫痪。
因此必须在Center端建立鉴别机制来判别数据是否被篡改。
在数据完整性验证中,系统采用了Hash算法,因此本质上在对数据完成完整性验证的同时也相应
完成了数据的防篡改验证。
因为当非法用户篡改数据包中的某个信息时,必然导致在验证过程中新生成的Hash结果和数据包中原来的Hash结果不一致。
因此Hash验证算法在实现了数据完整性验证的同时也实现了数据防篡改的验证。
3.5恶意攻击处理
由于数据远程传输的特性,因此很难避免数据包被恶意窃取。
当恶意用户窃取数据包后,一方面可以利用多线程技术复制并向Center端服务器程序大量发送相同内容的数据包,从而导致Center服务器程序大量接收重复数据。
另一方面也可以对数据包做恶意修改后再大量发送非法数据包,从而导致Center端服务器因需要对大量非法数据包进行验证而影响正常数据包的接收,甚至引起Center端服务器程序崩溃,这也是DDoS攻击常用的手段[5]。
因此,需要在Center端服务器程序设立相应的防范机制。
针对第一种情况,首先在Center服务器内存中保存所有Device的ID编号以及该Device最后一次发送数据包的时间戳,并设定允许Device连续传送数据的最小时间间隔,同时在内存中保存以前进行过攻击的Device黑名单信息。
为最大程度提高Center程序对恶意攻击的处理效率,采用HashTable形式在内存中存放Device的ID号以及该Device最后一次发送数据包的时间戳信息。
采用HashTable结构的好处在于当Center接收到数据包并获得Device的ID编号时,无需循环遍历整个HashTable列表就可以直接获得对应的时间戳信息,查找时间戳的时间复杂度为O(1,即查找所耗费的时间与HashTable中数据量无关,因此可以大大提高数据查找的速度。
当前后两个数据包的时间差小于系统允许的最小时间时,则可认为该数据包是一个恶意数据包,系统把该恶意包丢弃,并把该Device的ID编号记录到系统黑名单中,最后主动断开与该传感器的网络连接,从而不再接收该ID所发送过来的数据包。
算法流程如图2所示。
图2恶意攻击处理算法流程
第二种情况的处理与第一种情况类似,当连续三次判断到同一个Device的数据包验证错误时,把该Device列入到黑名单中并主动断开与该Device的连接。
以上可以看出,通过这两种方法可以有效阻止恶意用户的攻击,防止大量重复的垃圾信息进入数据库,确保Center端服务器程序能稳定可靠地运行。
4.应用实例分析
本系统中开发的Unit数据传输程序基于J2ME平台,Center服务器程序采用C++及IOCP模型。
实验测试环境如下:
Center服务器的硬件配臵为CPU:
Xeon5420/内存:
8G/硬盘:
RAID5800G/网络带宽:
千兆/操作系统:
WindowsServer2003R2;客户端机器硬件配臵为CPU:
Intel酷睿2/内存:
4G/硬盘:
ATA640G/网络带宽:
千兆/操作系统:
WindowsXP。
为了在实验环境中模拟Unit向Center高并发的数据传输,开发了基于多线程的客户端测试程序,每个线程模拟一个Unit向Center服务器程序发送数据包,并设定数据包发送的最小时间间隔为2秒。
图3显示了在发送正常数据包情况下并发连接数和CPU及内存的之间的关系。
图3正常数据测试结果
从图3看出,随着发送数据包的并发连接数从
100逐渐增加到3000,由于程序需要开辟额外内存空间来为每个连接请求缓存并处理数据,因此内存从542MB线性增长到了1259MB,同时CPU资源占用率也从12%线性增长到88%。
以上可以看出,Center端服务器程序具有较高的并发性能,一台Center服务器即可支持3000个左右的Unit进行并发数据的传输。
为了测试Center端服务器程序遭受恶意攻击情况下的系统性能,在两组客户端机器上利用测试程序分别模拟2000个Unit发送正常数据包进行正常数据传输和3000个Unit发送非法数据包进行恶意攻击。
首先运行正常的模拟程序10秒钟,系统处于稳定的状态后,再向Center端发送非法数据包,测试情况如图4所示。
模型来提升Center端服务程序的并发性,并利用动态密钥、数据加密、Hash算法、防恶意攻击等多种技术来解决数据传输过程中的可靠性及安全性问题。
从实验分析可以看出,本文提出的方法很好的解决了数据传输过程中的可靠性、安全性问题,并能有效阻止恶意用户对Center的攻击。
下一步需要重点研究在Center受到恶意攻击时如何能减小数据丢包率,从而进一步提升系统的稳定性和可靠性。
参考文献:
[1]Zhang,Y.,andXiao,H.Bluetooth-BasedSensorNetworksforRemotelyMonitoringthePhysiologicalSignalsofaPatient.IEEETransactionsonInformationTechnologyinBiomedicine,2009,13(6:
1040-1048.[2]Cao,H.,V.Le
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 远程 实时 健康 监护 系统 数据传输 安全性 研究