文/刘欢 刘畅 沈富可
电子校园卡:“以动制静”让安全相随
文/刘欢 刘畅 沈富可
2016年9月,华东师大国内首个推出电子校园卡,“去卡化”的校园卡安全策略是怎么做的?
众所周知,过去十年间高校信息化建设的主要内容之一就是校园卡建设,其目标是“一张卡打通所有服务”。以华东师范大学为例,校园卡不仅能够用于基本的图书馆入闸、食堂就餐,还能够用于沐浴、门禁、考勤、签到、宿舍充电等多种多样的校园生活场景。校园卡不仅是一项便利的信息化服务,在使用的过程中它还逐渐成为了一种校园文化,大部分学生毕业后都仍然希望保留一张实体校园卡,以作为一种情感的寄托和身份的象征,在此需求下,高校中还出现了“校友卡”等新的校园卡形态。经过了多年的建设,这样的校园卡体系已经逐渐定型、成熟,成为高校信息化整体拼图中不可或缺的一块。
图1 华东师范大学校园卡
而同时,实体校园卡的一些缺陷也逐渐暴露出来,如容易遗失,易被盗刷等。此外,在移动互联网浪潮的冲击下,师生对于信息化服务的诉求也在发生着变化,实体校园卡只能完成单向的信息输出,并不具备信息交互功能,充值和支付方式较为落后,不能较好支持移动支付,这些因素都对高校进一步推进“智慧校园”建设形成了制约。因此,在新的信息化建设阶段,我们有必要对校园卡的未来发展进行深入思考,尝试对校园卡的未来模式和形态进行新的描绘。
根据这样的需求,华东师范大学开展了相关探索,通过与微信团队的合作,于2016年9月推出了新型的电子校园卡——
“微信校园卡”。该电子卡模式是借助微信这一成熟的移动化载体,在实物校园卡之外,创造出一套独立的虚拟卡体系,将身份识别和消费支付这两大功能在实物卡和电子卡之间分离开来,使电子卡跳出实物卡的桎梏,实现“实物卡能做到的,在移动设备上也能实现”。目前,该微信校园卡提供了食堂就餐、图书馆入闸、校园卡查询、校园卡充值、消费查询、借阅查询、通知公告查询等诸多功能,如图2所示。
图2 华东师范大学微信校园卡
在微信校园卡的研发过程中,研发团队所面临的最大的问题即是安全问题。问题又主要聚焦在两个方面,一是如何确保电子校园卡身份识别的唯一性,二是如何确保将身份识别整合到电子校园卡消费支付的过程之中。这两方面的关键问题是否能够顺利解决,将决定电子校园卡是否能够真正落地并“存活”。
图3 动态二维码的生成时序
身份识别
电子校园卡的身份识别场景主要包括图书馆闸机出入、实验室门禁刷卡、自助考勤等,其目标是在刷卡的过程中确定用户身份,并尽可能确保使用者即持卡者本人。
目前常见的电子卡身份识别技术为静态二维码,如屈臣氏、家乐福等商家在微信上发放的各种会员卡。但这一技术路径在高校校园环境中存在严重的安全隐患。首先,学工号作为判断身份的重要依据,实际上处于半公开状态,同一个班级的同学都能够知悉彼此的学号,在工作中教师的工号也是公开信息,由此生成的静态二维码容易被仿造;其次,一旦持有者的静态二维码被他人仿造或拍照,则获取者可以在任何时间、任何地点使用该二维码进行身份识别,相当于拥有了一张永不过期的身份凭证拷贝;再次,若电子校园卡持有者的手机被木马感染,二维码详情页面被截图,或卡数据被盗,二维码被通过多种方式还原,则该码也可在任何时间和地点被使用。
为保证电子校园卡的身份认证安全,防止卡片被盗用,则必须采用安全性更高的方案,即动态二维码。在微信校园卡中,这一动态二维码体系是以原生方式在微信APP中实现的,其服务的稳定性和前后台运行环境的安全性均得到了强有力的保障,学校在这方面并不需要投入额外的精力。用户在微信中打开校园卡详情时,触发动态二维码的更新,其生成过程如图3所示。
为了保证动态二维码在用户使用过程中的安全性,每个码的有效时间均被加以限制,时间越短二维码的安全性越高(默认为1分钟变动一次)。此外,每个动态二维码都是唯一的,其最大长度为18位,其中一部分位数为分类号、版本编号和保留区域,另一部分位数为随机码。借助以上机制生成的动态二维码,其运行界面如图4所示。
在使用过程中,每个动态二维码只能识别一次,一旦识别后立即失效。为了增加安全性,我们还对闸机和后台验证系统进行设置,制定多种安全策略,如一段时间内实体卡和电子卡不能先后使用,一段时间内同一个学工号不能多次进入图书馆等,以尽可能避免用户将实体卡和电子卡主动出借给他人使用。以图书馆闸机为例,动态二维码的使用过程如图5所示。
图4 动态二维码界面
图5 动态二维码的使用时序
消费支付
基于电子校园卡的消费支付实际上属于移动支付的范畴,这一环节由于涉及到用户资金,较之身份识别而言更为敏感,安全性尤为重要。其中的安全问题主要包含两个方面,一是支付本身的安全性,一是支付过程中身份识别的安全性。
由于电子校园卡本身就以微信作为载体,其支付环节是通过调起原生的微信支付能力来实现的,因此,支付的安全性是由微信来加以保障的,高校并不需要在这个环节的安全问题上投入精力。
而对于支付过程中的身份识别而言,这一安全性问题才是制约移动支付在高校各个场景中推行的关键因素。由于高校存在学生食堂补贴政策,餐厅等消费场所往往是不对外营业的,仅限校内用户消费,因此高校餐厅的消费支付需要建立在身份识别的基础之上,而微信、支付宝等社会化移动支付方式默认是不能对支付用户进行区分的,这就产生了电子校园卡在支付中的巨大障碍。
为解决这一问题,我们采取了两项措施。首先,以微信企业号作为基本框架,将电子卡的用户体系与企业号平台紧密衔接,实现用户在企业号与卡券平台服务之间的无缝配对;然后,通过在原生的微信支付中引入电子卡接口,使得支付发起过程中,后台可以通过用户的OpenId实时获取到电子校园卡状态,继而对用户是否为校内人员进行判断。
以食堂窗口消费为例,用户在付餐费时,可以打开微信校园卡,在其中调出支付界面,或是直接打开原生的微信支付,即可发起带有身份识别功能的支付行为。食堂窗口工作人员在支付机器中输入消费金额后,用户再进行支付二维码扫码,此时系统将判断用户的微信校园卡状态,若存在卡片则表明该用户为校内人员,此时继续完成支付操作,若不存在卡片则表明该用户当前身份并不明确,系统将中止支付,如图6所示。在支付过程中,经定制的系统还将显示消费者的公共数据库照片,以便于窗口工作人员进行相貌比对。
微信校园卡在上线后的短短三个月内,领取总量达到25000张,仅中山北路校区的图书馆闸机刷卡数据就达1.5万条,用户活跃度达到100%,在师生中得到了普遍好评。在我们开展的随机校园调查中,一些学生认为,“从口袋里拿出手机,还是要比从书包里翻出校园卡、钱包方便”,还有一些学生认为,校园卡是一件“神经大条”同学们特别容易忘带或者遗失的东西,以前如果没带校园卡的话,还要和同学“前胸贴后背”刷一张卡进去,现在有了微信校园卡,就完全不用担心这个问题了。
此外,微信校园卡也为师生提供了另一种消费支付方式,同学们不用像使用实体卡那样担心卡上的余额够不够吃一顿饭,或是被迫长期在实体卡钱包中预存“冻结”一部分资金,而是即用即付,整个过程方便快捷。
然而,需要注意的是,微信校园卡在安全性上仍然存在着一些瑕疵。一是即使将动态二维码的有效期设置得再短,或是增加截屏即失效功能,用户还是可能通过拍照后快速发送给他人等方式,将该码出借使用;二是虽然操作风险颇高,但理论上用户也可能将支付二维码界面拍照后发送给他人,供校外人员扫码就餐。
要解决以上潜在问题,一种方法是在图书馆闸机和食堂窗口支付机器中增加显示屏(后者目前已经实现),让工作人员进行相貌比对,这一方式的缺点是会产生较高的人力负荷;另一种方法是在微信校园卡中不断增加功能,使得用户通过动态二维码能够实现更多基于身份的服务,以无形中增加其出借成本。如我们后续推出了基于微信校园卡的图书馆借书服务,用户在出借二维码给他人时,就要自己承担被他人使用该码借书的风险。
目前,电子校园卡仍然处于摸索、起步阶段,相关案例还较少,相信随着更多高校的重视和跟进,未来电子校园卡会得到更加广泛的应用,其安全体系将更为成熟和稳固。
(责编:王左利)
图6 微信校园卡消费支付流程
图7 微信校园卡图书馆入闸场景
图8 微信校园卡食堂消费场景
(作者单位为华东师范大学信息化办公室)