APP下载

基于智能卡的身份认证系统的应用设计与实现

2017-07-14唐晓龙孙杉朱海涛殷俊阎俊杰

电脑知识与技术 2017年16期
关键词:身份认证智能卡

唐晓龙+孙杉+朱海涛+殷俊+阎俊杰

摘要:随着我国的老龄化程度不断加重,近年来无线体域网技术成为了研究热点。无线体域网由于其可移动性,有着传统医疗系统无法比拟的优势。该文设计并实现了一种基于无线体域网的数据采集刷卡认证系统。该系统通过Android手机终端收集体征参数,在用户经过刷卡认证后,将体征参数传送到监护室,以便对收集到的参数进行下一步处理。

关键词:无线体域网;智能卡;身份认证

1概述

随着生活水平的提高,人们越来越关注医疗健康方面的问题。现如今,我国社会老龄化程度越来越严重,并且医疗资源非常紧张,传统的集中式医疗服务显然不能满足人们迫切的医疗需求。无线体域网(wireless bodv area network,简称为WBAN)的提出则有望解决如何监测老龄群体身体状况这一难题。基于无线体域网技术,通过前端传感器采集人体的体征数据,如体温、血压、血糖、心率等,传输给监护室医疗服务平台上,可以实现对疾病的预防和监测。由于无线体域网技术的高效性、实时性和低成本性,使得它在医疗方面有着巨大的发展前景。无线体域网在医疗上的应用场景如图1所示。

但是事实上,一方面由于无线信道的开放性,另一方面因为传感器节点收集到的人体数据关乎个人的敏感隐私,安全和隐私保护是阻碍体域网得到广泛应用的重要的原因之一。IEEE 802.15.6体域网标准定义了三种安全级别。引:不加密且不认证、认证但不加密、加密且认证,显然最后一种的安全级别最高。

本文设计并实现了一种基于智能卡的数据采集认证系统。第二部分介绍了本系统的功能设计;第三和第四部分分别介绍了系统设计和系统实现;第五部分进行总结。

2系统功能

基于智能卡的身份认证系统在将传感器实时采集地人体体征参数传输到Android手机终端后,用户通过IC卡刷卡通过监护室认证。各终端主要需要实现的功能如图2所示。前端生物传感器节点可以在人体体内、体表或周围放置,能实现对用户的人体体征参数,如血压、体温、血糖等进行采集的功能,通过蓝牙无线方式将收集到的体征数据传送给上层的控制节点。Android手机终端部分是无线体域网的汇聚节点,能实现汇聚体征数据、存储体征数据和远程通信的功能。认证服务端部分能对用户身份进行认证,此外还有用户注册、建立通信和存储体征数据的功能。各功能详细说明如下:

1)人体体征数据采集:主要通过一些可穿戴式的传感器实时采集人体的生理体征数据,如体温、血压和心率等。

2)体征数据传输到Android手机终端:通过对传感器的开发,实现将人体生理体征数据通过蓝牙技术短距离传输到用户手机终端。

3)Android手机终端进行数据的保存和查看:手机终端通过建立数据库,解析传感器发送的数据并保存到手机SQLite数据库中,并且可以进行分析。

4)Android手机终端传输数据到监护室服务系统:手机终端和监护室服务系统之间通过建立TCP连接,在同一个局域网内以一定的格式发送和接收人体体征数据。

5)监护室服务系统的注册:用户在使用监护室的系统时,首先需要将自己的手机号码和系统管理员分发的IC卡进行绑定注册,并将注册信息录入服务系统数据库。

6)身份认证:对于请求发送数据的手机终端,服务系统首先判断用户是否已经刷卡,如果没有,则显示认证失败,丢弃数据;否则查询服务系统数据库找到此已经刷卡的Ic卡号绑定的手机号码,和之前解析出的手机终端号码进行比对,如果比对成功,则认证成功,同时接收数据;否则认证失败,丢弃数据。

7)数据存储:通过建立服务系统的数据库,对于认证成功的手机终端发送的人体体征数据,保存到服务系统的数据库中。

8)数据分析:监护室的医疗人员可以通过服务系统,对用户存储的数据进行分析,并给出医疗建议。

3系统设计

本系统中数据采集层的传感器节点采用蓝牙技术进行无线通信。手机终端利用Android在Android studio中进行开发;认证服务端利用c#在VS2015中进行Windows窗体应用程序开发。后台Android手机终端采用SQLite数据库;认证服务端采用SQL server 2008数据库。本系统需要满足用户身份认证的高效性、实时性和低成本性,此外还需要能够方便地采集用户的体征参数,并进行存储和通信。

Android手机终端系统设计界面简洁明了,显示清晰,用户只要根据提示就能进行登录,采集汇聚、查看、传输自己的体征参数,不需要经过特殊培训。认证服务端支持IC卡数据的读取,以便对用户身份进行认证、和用户发起通信,并和数据库进行连接,以便存储用户体征数据信息。

3.1Android移动手机终端设计

用户首先进人登录界面进行登录,在这里需要注意登录的手机号需要在监护室服务系统中已注册。登录成功后,可以选择采集数据、发送数据和数据查询。框架中的存储模块将人体体征数据存储到Android端SQLite数据库中,以便查看和传输。我们在SQLite数据库中建立Data表。表Data存放从数据采集端(即传感器)采集到的用户的体征数据和采集时间。发送数据模块与监护室服务系统建立TCP连接,将各种体征数据通过局域网发送到监护室服务系统。通信基础协议为TCP/IP协议,通信技术为socket技术,需要指定模拟的服务器IP和监听的端口号。

3.2认证服务端设计

认证服务端设计分为用户注册模块、身份认证模块、建立通信模块和后台管理模块。后台管理模块主要对数据进行存储、显示和分析。设计框架结构图如图3所示。

本系统采用非接触式的智能IC卡为媒介,认证端对IC卡的数据进行读取,每个IC卡内部都保存了一个唯一卡号。IC刷卡器采用微电子的射频接收模块以及嵌入式微控制器,结合高效的解码算法和先进的数据处理技术。此读卡器能读出RFID卡内的序列号并通过PS/2输出至电脑。用户注册模块可以将手机终端的手机号码和IC卡号绑定注册,并将注册信息存储到系统数据库中。注册之后,手机终端如果想要请求发送数据,数据中首先要封装自己的手机号码信息。

身份认证模块首先判断用户有没有进行刷卡,如果没有,则认证失败,不进行数据接收;否则,通过获取的卡号信息查询服务器数据库获得注册的此IC卡号绑定的手机号码信息,然后从手机端请求发送的数据中解析出手机端的号码信息,将认证端与手机端的号码信息进行比对,如果比对成功,则认证成功,同时接收数据;否则,认证失败,不進行数据接收。

后台管理模块与数据库建立连接,将接收的人体体征数据保存在数据库中,以便医护人员进行查看分析。我们采用SQLServer关系数据库,创建用户注册信息表(ICANDPHONE)和接收的数据表(DATA)。

4系统实现

本系统实现的功能主要有对传感器节点的数据实时采集、数据传输;移动终端对数据进行实时存储、实时分析;监护认证服务器对注册用户身份进行认证,并存储大量用户数据,并给出初步诊断结果。其中身份认证是核心部分,下面对身份认证模块的实现进行详细介绍。

4.1身份认证模块的实现

基于智能卡的身份认证模块主要是移动终端配有智能卡,使用读卡器进行读取,然后与服务器端的数据库进行卡号匹配。如果匹配成功,则认证成功。否则认证失败。主要的流程图如图4所示。

其中核心函数有:

1)服务端通过移动终端请求建立连接时发送的数据解析出终端手机号

5小结

本文介绍了我们设计的一种基于智能卡的身份认证系统。此系统结合无线体域网技术,使用智能卡认证确定用户身份,并传输、存储用户体征参数。智能卡认证通过智能卡硬件不可复制来保证用户身份不会被仿冒,保证了用户身份的合法性。本系统只对用户身份进行了确认,下一步计划对认证服务端身份进行认证以实现服务端身份不被攻击者仿冒,用户敏感的医疗数据不会遭到窃取。

猜你喜欢

身份认证智能卡
东方磁卡李晓东:进击的智能卡研发巨子
基于STC89 单片机的非接触智能卡读写机设计
云电子身份管理与认证系统中的关键技术优化改进
临沂机顶盒智能卡升级方案介绍
非接触式智能卡协议测试系统的设计与实现
智能卡领域首个国家工程建设标准发布
智能卡抗DPA攻击的设计与实现