基于SQLServerMobile与RFID的身份认证设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SQL Server
Mobile与RFID的身份认证设计与实现
杜 丰,韩 博,杨 洁,李一鸣
(西安交通大学网络中心,陕西西安 710049
)摘 要:基于移动终端的校园卡身份认证不但扩展了校园卡的使用范围,而且为一卡通系统与学校各应用系统的对接提供了良好手段。
利用微软SQL Server Mobile数据库的RDA(remote data access)技术建立远程访问模型,通过移动设备的无线网络和RFID(radio frequency identification)识别功能实现身份认证。
关键词:身份认证;SQL Server
Mobile;RDA;RFID中图分类号:TP31 文献标志码:A 文章编号:1002-
4956(2011)05-0260-02Design and implementation of authentication basedon SQL Server Mobile and
RFIDDu Feng,Han Bo,Yang
Jie,Li Yiming(Network Center,Xi’an Jiaotong
University,Xi’an 710049,China)Abstract:Campus card authentication,based on mobile terminal,not only expanded the use of campus card,but also provided a good means for the docking of card system and other application systems of the university.Using RDA technology of Microsoft SQL Server Mobile database can establish the remote access model,andthrough wireless networks of mobile devices and RFID recognition can realize authentication.Key
words:authentication;SQL Server Mobile;RDA;RFID收稿日期:2010-12-27
作者简介:杜丰(1981—)
,男,陕西西安,工学学士,工程师,研究方向为网络编程.
近几年各高校开展建设的数字化校园已初具规
模,校园卡系统作为数字化校园的重要组成部分已经与越来越多的部门实现对接,为各应用系统提供了基础信息,
实现了身份认证。
目前,移动终端已经拥有强大的处理能力、内存、固化存储介质以及操作系统,可以完成复杂的处理任务。
移动终端也拥有非常丰富的通信方式,既可以通过GSM等无线运营网通信,也可以通过无线局域网、蓝牙和红外进行通信。
如何利用便捷的移动终端,实现随时随地的身份认证是本文深入探讨的问题。
1 移动终端与相关技术
1.1 移动终端
广义上讲,移动终端是指可以在移动中使用的计
算机设备,包括手机、POS机、PDA、
车载电脑等[1]。
随着集成电路技术的飞速发展,移动终端正在从功能
简单的工具变为一个综合信息处理平台。
今天的移动终端不仅可以通话、
拍照、听音乐、玩游戏,而且可以实现包括定位、信息处理、指纹扫描、身份证扫描、条码扫描、RFID扫描等丰富的功能,
成为移动办公、移动商务的重要工具[
2]。
1.2 SQ
L Server Mobile及数据同步技术1.2.1 SQL Server
MobileSQL Server Mobile(见图1)是一种压缩数据库,可以将企业数据管理能力延伸到移动设备。
它提供多用户支持,提供RDA和Rep
lication两种方法与SQLServer数据库交互,
提供行和列级跟踪,可反馈同步进度,支持SSL加密等,
可与其他微软产品集成[3]。
1.2.2 RDA和Rep
licationRDA(remote data access,远程数据访问)使移动应用程序能够访问远程SQL Server数据库表中的数据,并将这些数据存储在本地SQL Server Mobile数据库表中。
应用程序可以读取和更新本地数据库表,并跟踪对本地数据库表所做的更改,将更改过的记录更新回SQL
Server数据库表。
Rep
lication只SQL Server 2000配合使用。
ISSN
1002-4956CN11-2034T 实 验 技 术 与 管 理Experimental Technology and Management 第28卷 第5期 2011年5月Vol.28 No.5 May
.2011
图1 SQL Server Mobile架构图
它在服务器端多了一个SQL Server Mobile复制提供程序。
也就是说SQL Server Mobile服务器端代理通过调用复制提供程序,从SQL Server数据库中选取一个“快照”返回给SQL Server Mobile客户端代理,客户端代理在设备上建立订阅数据库。
对订阅数据库的任何修改都会被SQL Server Mobile数据库引擎记录下来,在调用同步方法时,可以把这些修改应用到后台SQL Server数据库中[4]。
1.3 RFID技术
RFID(radio frequency identification,射频识别)俗称电子标签,是一种非接触式的自动识别技术,它利用射频微波信号自动识别目标对象,并获取相关数据从而实现相互通信。
该技术具有非接触、可读写、可重复使用、数据存储量大、可识别高速运动物体,并可同时识别多个标签、无需人工干预、抗恶劣环境等诸多优点[5]。
目前,国内主流校园卡都采用了这种识别技术。
2 身份认证实现模型
2.1 设计思路
通过以上分析,可以利用SQL Server Mobile的RDA方式将用户身份信息从远程SQL Server数据库表中下载到本地数据库表中,然后通过移动终端加载RFID扫描功能获取校园卡的RFID,在数据库表中查询此RFID对应的用户身份信息,判断用户信息一致性、卡片状态、有效期等认证信息,实现身份认证。
2.2 实现方式
前面已经介绍SQL Server Mobile从远程SQLServer数据库表中获取用户身份信息的2种方式:RDA和只能与SQL Server 2000配合使用的Replica-tion,由于SQL Server 2000已不是主流数据库产品,因此本方案只考虑使用RDA方式实现。
RDA方式实现数据同步有两个重要的方法:Pull方法和Push方法。
在SQL Server Mobile中,将数据从SQL Server表传至本地SQL Server Mobile表的过程称为“”,Pull。
SQL Server
Mobile表中所做的更改传回SQL Server表的过程称为“推”数据,即Push方法。
2.3 实现模型
移动终端向远程SQL Server数据库请求数据时,SQL Server Mobile客户端代理会通过HTTP向SQL Server Mobile服务器代理发送一个请求,该服务器代理程序运行在Internet的IIS下。
数据会通过OLE DB从SQL Server数据库检索得到,再由SQLServer Mobile服务器代理传递送回客户端。
在移动终端方面,数据由SQL Server Mobile客户端代理接收并存储在本地的数据库文件中;随后,移动终端加载RFID扫描模块,扫描采用RFID识别技术的校园卡,此时移动终端的应用程序就可以访问本地数据库,查询此卡的用户身份信息,实现身份认证。
具体实现步骤如下:①在远程SQL Server数据库服务器上安装IIS服务;②在远程SQL Server服务器上安装SQLServer Mobile服务器代理;③在本地创建SQL ServerMobile的数据库文件并进行数据同步;④模拟移动终端加载RFID扫描模块并进行校园卡识别;⑤将应用程序部署到移动终端并进行测试。
代码样例:
样例1 以RDA方式从远程SQL Server数据库表中获取用户身份信息。
//以RDA方式同步数据
public void rdaSyncData()
{
//获取移动终端的工作路径
string appPath=Path.GetDirectoryName(As-sembly.GetExecutingAssembly().GetName().CodeBase.ToString());
string remoteDataSource=″Provider=sqloledb;Data Source=192.168.1.10;Initial Catalog=
userinfo;User Id=sa;Password=sa″;
SqlCeRemoteDataAccess rda=new SqlCeRe-moteDataAccess();
//由于虚拟目录设置的访问方式为匿名,所以登录名和密码可以忽略
rda.InternetLogin=″″;
rda.InternetPassword=″″;
rda.InternetUrl=″http://192.168.1.10/sqlce30/sqlcesa30.dll″;
rda.LocalConnectionString=″Data Source=″+this.appPath+@″\userinfo.sdf;Password=sa″;
//执行同步,Sql Server同步到Sqlce
rda.Pull(″userinfo″,″Select*from userinfo″,remoteDataSource,RdaTrackOption.TrackingOn);
}
(下转第267页)
1
6
2
杜 丰,等:基于SQL Server Mobile与RFID的身份认证设计与实现
[4]吴彬.高校毕业生党员管理问题及对策研究[J].南昌教育学院学报,2010(4):8-9.
[5]姬爱军.离退休党员管理存在的问题及对策[J].中国高新技术企业,2010(19):101-102.
[6]陈飞.对新时期高校离退休党员管理工作的思考[J].凯里学院学报,2010,28(5):128-129.
[7]李淑侠.加强党组织网络化建设的探索[J].新长征:党建版,2010
(2):25-26.
[8]谭新辉宋剑杰.基于WEB的党员信息系统的设计与实现[J].电脑开发与应用,2010,23(1):65-67.
[9]朱文增,苏鸿根.SOA架构在高校党员管理系统中的应用[J].科技信息,2010(4):259-260.
[10]王映雪,蒋东兴,罗念龙,等.信息资源规划的方法与实践[J].教育信息化,2006(增刊1):
櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍櫍
13-15.
(上接第261页)
样例2 移动终端加载RFID扫描模块。
private void MainForm_Load(object sender,EventArgse)
{
//获取RFID扫描模块加载端口号
int portNo=(int)Registry.GetValue(″HKEY_LO-
CAL_MACHINE\\SOFTWARE\\ComParam\\″,″RFIDConfig″,0);
//为对应的加载端口加电并初始化
if(portNo==2)
{
CRfid.GPB6OUTH();//COM2
CRfid.ZLG522Init((byte)portNo);
}
}
样例3 通过RFID获取用户认证信息并进行身份认证。
private void MainForm_KeyDown(object sender,KeyEventArgs e)
{
string rfid=″″;
switch(e.KeyCode)
{
case Keys.ControlKey:
byte Req_Code=0x52;
byte[]Atq=new byte[2];
byte[]Ats=new byte[1];
byte[]PiccSnrLen=new byte[1];
byte[]PiccSnr=new byte[10];
CRfid.PiccActiveTypeA(0,Req_Code,
Atq,Ats,PiccSnrLen,PiccSnr)
//将获取的RFID排序并转化为十进制数
字字符串
for(int i=3;i>=0;i--)
{
int j=Convert.ToInt32(PiccSnr[i]+
256);
string s=Convert.ToString(j,16).
Substring(1);
rfid+=s;
}
//根据RFID获取用户身份信息
UserInfoDto userInfo=UserInfoDB.getU-
serInfoByRfid(rfid);
//进行身份认证
bool auth=UserAuth.getResult(userIn-
fo);
if(auth)
{
CommonApi.KDT_Beep(100);
CommonApi.KDT_Open_BackLight
(1);
}
break;
}
}
3 结束语
当校园卡系统逐渐与各部门实现对接后,如何利用校园卡实现身份识别变得更加重要。
移动终端无疑是解决问题的一个良好手段,但由于身份信息的重要性,其安全性需要更多的考量。
SQL Server Mobile企业级的特性,以及支持SSL加密、支持多用户,为此身份认证方案的实现提供了保障,还可以结合移动终端丰富的通信方式实现与远程数据库进行数据同步。
这些特性都促使移动终端与校园卡相结合实现身份认证。
参考文献(References)
[1]常兴烨.嵌入式移动终端应用软件的设计与实现[D].大连:大连海事大学,2009.
[2]杨少辉.移动终端的系统软件研究和实现[D].西安:西安电子科技大学,2010.
[3]徐宝磊,何先波,鄢德英,等.基于SQL Server Mobile的移动物流系统设计与实现[J].西南民族大学学报,2009,35(3):663-665.[4]苏伟,陈敏,李紧.SQL Server CE中RDA与Replication的研究[J].现代计算机,2010(2):108-112.
[5]Zeng L,Lei H,Koyanagi T,et al.Model Analysis for Business E-vent Processing[J].IBM Systems Journal,2007,46(40):817-831.
7
6
2
苗 季,等:高校党员业务信息化管理系统的实现。