应用安全卡有效保障远程访问安全


现在很多人都在使用网上银行。为了保障网上银行交易的安全性,银行往往会给你一个U盘。在交易的时候,需要同时插入U盘和输入密码才能够交易。密码与U盘缺一不可。其实,这个U盘起的作用跟安全卡类似。通过某些手段,可以让安全卡种包含有用户的特定信息。而每个用户又会有一个唯一的个人识别码。在进行远程访问的时候,根据这个唯一的个人识别码与安全卡中的个人身份信息,会生成一个唯一口令。用户就根据这个口令来访问远程网络。可以说,到目前为止,这个方案是最安全的认证方案之一。

这说起来简单,但是若要在企业中应用,还是具有一定的难度。笔者今天就结合一个实际的案例,谈谈安全卡在企业中如何部署,以及部署过程中的注意点。

一、 安全卡的基本操作步骤

安全卡与唯一个人识别码结合会生成一个唯一的安全密钥。这个密钥会有专门的安全卡服务器(有些人喜欢把它叫做令牌服务器)进行确认。其具体的操作步骤如下。

第一步:如果用户要进行远程连接,则必须先在自己的主机上发起一个远程连接的请求。如果用户采用安全卡来保障远程连接安全性的话,则远程用户必须先插入安全卡。否则的话,在认证过程中,客户端会提示找不到安全卡。

第二步:生成一次性口令。当用户插入安全卡之后,客户端会自动读取安全卡中的用户信息,并结合只有用户知道的个人识别码生成一个一次性口令。这个一次性口令的安全性如何,就要看不同厂商所采用的算法了。企业网络管理员需要了解各种算法的优缺点,并根据企业对于安全程度的要求不同,选择合适的算法。

第三步:进行身份验证。当远程连接客户端提示用户输入口令后,远程用户需要把这个一次性口令复制到口令对话框中。然后客户端就会跟远程的服务器端进行身份验证。这里要注意,有些商业解决方案,把这个用户输入口令的步骤省掉了。客户端会自动把这个口令复制到密码对话框中,以减少用户输入的步骤。这就好像在登陆邮箱是是否需要保存用户名与密码一样。虽然节省了操作时间,但是降低了安全保障。是否需要这个自动化操作,用户与网络管理员可以自行抉择。

第四步:网络接入服务器在收到口令之后,往往会把这个口令转发给专业的安全卡服务器进行身份验证。安全服务器在收到网络接入服务器转发过来的口令之后,会使用客户端相同的算法来验证收到的口令。如果验证通过,则安全卡服务器会告诉网络接入服务器,其身份合法。并且会把这个账户所对应的一些访问权限等安全策略一并告知网络接入服务器,以方便其对该用户进行访问权限的控制。

这就是利用安全卡进行身份验证的四个基本步骤。从这个几个步骤中,我们可以看到,网络管理员基本上不用对这个过程进行干预。网络管理员的工作主要是事先的配置,如安全算法的选择等等。

二、如何保障安全卡本身的安全

虽然说利用安全卡进行身份验证是到目前为止,最安全的认证机制之一。但是,就安全卡本身来说,并不是很安全。现在市场上常见的安全卡都是 EEPROM(电可擦可编程只读存储器)芯片制成的,它断电后数据不会丢失。EEPROM可以在电脑上或者专用设备上擦除已有信息,并进行重新编程。这无疑使得安全卡可以被重复使用,降低企业安全卡应用成本。但是,其也带来了一些安全隐患。

电可擦可编程只读存储器是用户可更改的只读存储器。用户可以通过高于普通电压的作用来擦除和重写;而且,电可擦可编程只读存储器不需要从计算机中取出即可修改。也就是说,当计算机在使用这个电可擦可编程只读存储器的时候,就可以进行频繁的重编程。所以,电可擦可编程只读存储器跟可重复刻录光盘一样,使用寿命是一个很重要的设计考虑参数。由于其可以重复使用,无疑减低了企业安全卡的硬件投资成本。但是,因为安全卡的内容可以被读取,并可以重新编程。为此,只要入侵者有这个设备,就可以复制安全卡中的信息。所以,虽然说安全卡信息拷贝需要有专业的工具,增加了一定的难度。可是,仍然有可能会泄露。另外就是安全卡也不能够避免监守自盗的情况。如网络管理员在把用户信息录制到安全卡中,完全可多录制几张。若网络管理员对这个用户有仇想陷害他,或者以后离职了,就可以利用手中复制的安全卡来进行未经授权的访问。因为获取用户唯一识别码难度不大,再加上可以轻易取得安全卡的备份,那么一切就会变得很简单了。

这就是安全卡机制中的一个最大的安全漏洞。也可以说是一个唯一可以被攻击的漏洞。

应对措施:出于安全的需要,远程用户需要对安全卡加强保护,特别是不能够外借给其他人。同时,网络管理员也要加强对这些用户的监控。若发现用户有试图访问未经授权的资源时,就需要分析是否是因为安全卡信息泄露所造成的恶意访问。另外,当网络管理员新上任之后,最好能够对原有的安全卡与用户识别码等信息进行整理。在必要的时候,进行一次更新,以防止上一任网络管理员监守自盗的行为。这些措施都可以有效的解决安全卡带来的安全隐患。让安全卡真正的安全起来。

三、 选择合适的服务提供商

安全卡解决方案需要专业的软件与服务器支持,所以,企业若想要采用安全卡来提高远程访问安全性的话,往往需要购买其他公司的软件与解决方案。故网络管理员还需要根据自己公司的应用背景,来选一个合适的解决方案。

在选型过程中,除了价格方面的考虑因素外,笔者认为最重要的是要考虑一次性口令的生成机制。因为不同的生成机制其一次性口令的安全性是不同的。所以网络管理员需要根据自己企业对于安全性的要求来进行选型。常见的一次性口令算法有如下几种,供网络管理员选择。

一是基于挑战响应的算法。若采用这种算法,在客户端与服务器建立起会话之后,安全服务器会随机生成一个字符串,并把这个字符串传递给客户端。安全卡会根据存储的信心以及收到的字符串根据某个函数进行计算,并发计算结果返回给安全服务器。然后服务器会根据受到的结果进行反向运算。如果运算的结果跟存储在安全数据库中的结果相同,则远程客户的身份验证将被通过,从而允许其进行远程访问。

二是基于时间算法。利用这种算法也可以生成一次性口令,并跟安全服务器同步。此时的安全卡往往会有一个LCD,用来显示最新的口令。通常情况下,每隔几分钟安全卡就会重新计算一次口令;同时安全服务器也会重新进行计算。这个口令是根据当前的时间与安全卡中的信息结合进行计算的。若要实现这个算法,其关键就是安全卡中的时间信息要跟安全服务器中的时间信息同步,否则的话,口令就无法与安全服务器同步。

三是一些基于生物特征的算法。一次性口令是根据安全卡中的用户信息结合用户唯一识别码进行计算的。所以提高用户唯一识别码的安全性,也可以提高这个解决方案的安全性。如果远程访问也能够向指纹锁那样,那么无疑其安全性就会很有保障。其实在基于安全卡的解决方案中,也可以利用指纹等生物特征来作为用户唯一识别码。然后结合安全卡中的用户信息来结算一次性口令。

在以上三种一次性口令计算方法中,第三种安全性最高。但是,企业若要采用这个方法的话,则必须要增添收集指纹等信息的设备。在终端,也需要增添相关的设备。为此,企业要增加不少的成本。所以没有特别的需要,这种方法不是很经济。

笔者现在采用的是基于时间的算法。若安全卡频繁的在电脑上插拔,会降低安全卡的寿命。而基于时间的算法,在安全卡上直接带有LCD显示屏可以显示一次性口令。如此可以避免在电脑上插拔,可以提高使用寿命。

所以,网络管理员需要根据自己企业的安全要求、投资成本等因素综合考虑,然后选择一个合理的解决方案。

  1. 分析:除VPN外其他远程网络访问
  2. 应用XAUTH技术部署企业VPN远程访问

相关内容