企业专用身份认证设备的研究

2014-04-29 03:02汤亿则徐志强黄红兵
电子世界 2014年19期

汤亿则 徐志强 黄红兵

【摘要】设计了一款应用于移动设备音频口的企业内部专用身份认证设备,该设备可以通过移动设备经过安全网闸访问身份数据库,实现生产用户群的动态安全接入。独立设备在生产时预置了绑定密钥,确保一机一密的特性。身份认证设备经过音频口采用中断的方式来交互移动设备的数据,通过密文传输实现手机客户端与服务器间的数据安全,采用双向认证的方式实现相互信任且保证了认证码的动态安全。

【关键词】身份认证设备;动态口令;安全传输

1.引言

当今社会,很多身份认证设备都被大家所熟悉和使用。自带存储空间,内置安全芯片的USBKEY被广泛地应用于网上银行等场景的身份认证设备中,通过USB接口进行通信,用户可以将私钥和数字证书存储在内置的存储空间中,USB Key还内置了标准的公钥算法来实现对用户身份的认证[1]。近期,用于互联网的身份认证模型也被设计与应用[2]。随着生物测定技术的发展,用于身份认证设备的生物识别技术除指纹识别这一技术外,还有虹膜识别、签名的动作等等基于身份特诊的生物识别技术被广泛应用[3]。随着移动设备和通信技术的发展,应用于手机的身份认证设备也应运而生,例如腾讯公司的手机令牌、卡拉卡手机刷卡器等等,这些身份认证设备一般通过互联网链接,一般很少见有链接到专网的身份认证设备。

目前,各个企业内部的营销、ERP、PMS、协同办公、电子邮件、视频会议等应用系统全面上线,整体信息化程度不断提高。为了满足专业工作者的实际业务需求,本文设计了一款应用于移动设备音频口的企业内部专用身份认证设备,该设备可以通过移动设备进行身份认证动作来实现专业工作者用户的动态安全接入。

2.系统介绍

整个业务系统的框图如图1所示,该系统由移动设备、服务器、身份认证设备组成,各个部分之间的通信都是双向的。整个系统是在移动设备上安装定制的APP软件,在手机音频口插上身份认证设备后,设备给手机发送生产时预录的绑定密钥,手机把密钥和用户编号发到身份认证数据库进行身份匹配,匹配成功后手机再发应答给移动设备,移动设备收到正确的应答后通知移动设备允许连接。其中身份认证是整个通信过程的安全保障。

图1 系统框图

身份认证的过程是通信安全的重要保障,指的是对拥有特定身份的个体提供的验证信息进行判断的过程。为了保证操作者的信息不被非法用户获得和服务器内数据库中数据的安全,必须对每一位操作者的身份进行验证,通过了安全的验证,才能连接成功,才能拥有访问的权限。而身份认证机制是整个系统的安全性的第一个保障,可以成功避免攻击者的主动攻击[4],确保了安全机制和访问控制的有效性。在本文描述的身份认证设备设计中,如何实现绑定、如何实现动态码、如何解决传输过程中加密是要重点解决的问题。

3.设计与结果

在硬件设计部分,采用的是MCU是如图2所示的MSP430G系列的芯片,它自带有模拟信号比较功能或者斜率模数(A/D)转换的片载比较器,16位精简指令集(RISC) 架构,从待机模式唤醒所需要的时间小于1μs,62.5ns 指令周期时间。芯片MSP430G2755在串行板上编程,内部频率高达16MHz,具有四种校准频率。由于手机音频口输出的是模拟信号,经过芯片的片载比较器即可转换为数字信号,然后对其进行编码。

图2 单片机芯片图

要实现动态码,就要有实时的时钟芯片,在本设备中,采用的实时日历时钟芯片是PCF8563,它是具有低功耗、自带CMOS实时时钟等特点的日历型芯片,内置一个掉电检测器、一个中断输出以及可编程时钟,地址和数据通过总线接口传递,额定工作电流和工作电压分别为0.25uA、1.0~5.5V。PCF8563芯片的使用,有效确保了该设备在不插设备使用时也可以保持时钟的准确性,是该设备实现时钟同步的保障。

图3 设备绑定过程图

设备和操作者的一次绑定过程如图3所示,身份认证设备第一次插入移动设备时,激活了移动设备中的客户端APP,将设备RAM中的设备编码和绑定密钥KEY发到移动设备中的APP客户端。这时APP会根据操作者的登入信息生成一个用户编号USER_NO,客户端把设备编码、KEY和USER_NO一起发给服务器,服务器先判断设备编码是否有效,同时判断KEY是否第一次发送,判断成功后服务器将设备与用户绑定,绑定成功后通知身份认证设备已和客户端的用户绑定成功。其中USER_NO与移动设备无关,只有操作者的信息有关,如果操作者更换移动设备,使用的身份认证设备也已经成功绑定到服务器,这样实现了设备的一次性绑定,由于没有设定解绑定的密钥,所以设备不能二次绑定。

图4所示的是绑定成功之后用户登入到客户端是动态码匹配的过程图。当用户登录在APP客户端登入时,设备会根据客户的操作时间与基础的时间差生成一个身份认证码1,同时客户端给服务器发送客户登入的命令和认证码1,在服务器也会根据命令的产生时间与基础的时间差生成一个身份认证码2,之后服务器检查认证码1和2是否匹配,成功匹配则通知客户端登入成功且更新设备和服务器的时间差,否则就退出客户端。而设备也需要在一定的时间内登入一次,这样出现密码匹配的错误率就可以控制在合理的范围内。由于客户端发送命令到服务器的时间非常短,不会影响密码的匹配,忽略不计。在这里也解释了为什么需要设备和服务端之间需要进行时间的同步,时间越精确密码匹配的错误率就越低。

图4 动态码匹配过程

图5所示的是该设备的外观图。从图中可以看出,外观较简洁明了,预留了一个音频口,不占用移动设备的音频口。

图5 产品外观图

图6 Manchester编码构成图

为解决APP传输数据到认证服务器过程中的安全传输问题,我们设计了一套自定义加解密的安全算法。由于在设备中基础编码采用的是Manchester编码,编码的具体方法如图6所示,前9位是数据头,由9个1构成,中间是10行数据区,数据由4位二进制数加1位行校验位组成。密文传输就是指将Manchester编码里的数据区在提交到APP设备之前通过自定义算法加密产生密文,传输过程中保持密文传输,在身份认证服务器用相同自定义算法进行解密的过程,这里采用的是自定义对称加密算法。具体生成密文的算法如下,把数据区视为一个50个byte的字符串,依次对字符串中各字节进行加密操作,各字节与秘钥进行移位和异或来形成中间密文,然后把中间密文进行二次编码,实际上将每一个中间密文按高低位字节再次拆开为2或4个随机乱码字符,此时形成最终密文。解码的过程就是根据最终密文进行密文组合,还原为中间密文,然后按同样的密钥移位后才能得到原文。

通过以上的设计,该设备实现了绑定操作者身份且不可二次绑定、动态码的验证、传输过程全程密文,同时利用实时的低功耗时钟芯片确保了设备的时间准确,进一步确保了动态码的准确性。这样就在整个密码认证过程中基本保障了接入者的信息安全。

4.结束语

本文采用动态口令技术实现身份验证,为提高系统的安全性,将用户密钥内置于身份认证设备的RAM中,在身份认证设备中通过自定义加密算法产生密文,传输过程中保持密文传输。此外,在该系统中动态口令技术对服务端与客户端之间的时钟同步有很高的要求,若是时钟芯片无法做到精确同步,则会出现登录不稳定的情况,目前采用的是钮扣电池,这方面还有待做进一步的研究。

参考文献

[1]郑松杰.“网上银行身份认证设备问题及防范措施”[N].企业导报,2011.05.15.

[2]郝辉,钱华林.“网络服务系统统一身份认证模型的研究与设计”[J].计算机科学,2005.10.23.

[3]Wilson CL,Canela GT,Watson Cl.Neural network and fingerpint classification[J].Artific Neural Networks,2003:45-50.

[4]Gaskell G,Looi M. Integrating smart cards into authentication systems[A].Advances in Cryptology -EUROCRYPT.1995 Proceedings[C].Berlin:Spring Verlag,1995:271-281.

[5]王宏健,邵佩英,张籍.“一次性口令身份验证系统的设计与实现”[J].计算机应用研究,2001.

作者简介:汤亿则,浙江杭州人,高级工程师,长期从事电力系统通信运维工作。