探索中国CIO人才现状 | 第四季调研报告
基于网络加密认证的软件租赁技术
2014-03-04  作者:万方数据 

  应用服务提供商(applicationserviceprovider,ASP)是国际上1999年推出的电子商务新模式。该模式允许供应商通过计算机网络为客户提供各种应用技术服务,并按服务的具体情况收取费用。该模式的推广为那些想实施信息化技术改造而又存在资金不足、IT人才匮乏等问题的中小企业,提供了切实可行的解决方案。


  ASP以租赁模式实现应用程序的配置、管理和远程应用。对于第三方应用软件,多采用基于终端服务或网格应用工具(如Globus)的软件租赁或共享技术。这类在线式应用方案允许用户通过网络连接服务器并认证后,向应用程序发送命令,应用程序在服务器端运算后将结果返回给用户,因而对客户端的要求低,资源计量方便,适用于任何软件,但数据流量较大,在现有Internet环境下,很难满足高实时性的软件应用需求,如计算机辅助软件(CAD)。


  一种可行的解决方案是采用离线式软件共享与租赁方式,应用软件运行于客户端,而由服务器对用户的使用权限、使用时长等进行监控。一些网络版应用软件(如三维CAD)往往采用硬件加密狗等认证方式以用户点数的形式提供给用户使用,但这类认证并不记录用户身份、使用时间等信息,不能满足软件租赁应用的要求,需要额外的授权。针对这类软件的特点,提出了一种基于网络封包加密认证的软件租赁技术。


  目前,围绕封包加密、网络认证已有相关研究:文献提出了一种基于公钥加密体制的密码认证机制,使用密码和登人时间组合后产生的动态密码防止重放攻击,但该机制不支持网络封包认证,也不适合多用户共用一个密钥;文献探讨了基于Windows平台的各种包捕获技术;文献介绍了利用NDIS中间驱动程序实现包过滤的方法及NDIS工作机制和相关关键技术;文献提出一种基于NDIS的网络链路加密方案,能够实现局域网范围内点到点的加密传输,但该方案不易在广域网实现,灵活性也不高。


  1网络加密认证技术


  对于CAXA、UG这类网络版应用软件,用户在启动软件时,会自动向特定服务器发出认证信息,服务器确认后才能正常使用。认证这些信息的身份,是实现基于网络认证的软件租赁技术的关键。目前常用的IP地址认证技术,很难解决NAT、IP欺骗等问题。通过对捕获的网络封包进行加密与解密处理,可有效确认网络封包的来源。


  1.1实现原理


  基于网络封包加密认证的授权方式的实现原理如图1所示。图中:Q1为用户管理客户端,Q2为用户管理服务器,Q3为网络封包截获与加密模块,Q4为网络封包截获与解密模块,Q5为应用软件身份认证客户端,Q6为应用软件身份认证服务器,Q7为应用软件。其中,Q1、Q3、Q5Q7安装在客户端;Q2、Q4、Q6安装在服务器端,且总处于运行状态;Q5Q6、Q7由应用软件生产商提供。


  图1基于网络认证的授权方案


  用户要使用应用软件,需要经过如下几个步骤:


  (1)用户启动Q1程序,与Q2通信,以验证用产费。


  (2)若通过了身份验证,则激活Q3。


  (3)由Q2启动应用软件Q7,Q7激活Q5,并与Q6建立连接,网络封包在客户端被Q3加密,传到服务器后再被Q4解密。


  (4)通过认证后,Q7被激活,用户能够正常使用。


  (5)在使用过程中,Q2负责进行计时、客户状态报告等操作,并在需要时关闭Q3。若用户强行关闭Q1,则由Q1强制关闭Q7。可见,用户要使用应用软件,必须先启动Q1,故可以通过Q1记录用户的身份、使用时间等信息。而网络封包截获技术、加密算法与方案的选择,是影响该方案安全性、稳定性、可操作性的重要因素。


  1.2网络封包截获技术


  为实现网络封包的加解密认证,需要截获特定的网络数据封包。Windows环境下网络封包的截获可以在两个层面进行:用户态和核心态。用户态典型的有Winsock分层服务提供者(1ayeredserviceprovider,LSP)、Windows包过滤接口;核心态典型的有TDI(transportdriverinterface)过滤驱动程序、NDIS(networkdriverinterfacestandard)中间驱动程序。总的来说,用户态截包以DLL形式存在,工作在应用层,与硬件无关,可支持各种Windo。平台,编程、调试方便,但只能在Winsock层次上进行,不能处理底层协议;核心态下可完成较为底层的操作,速度较快,也更加安全,但与硬件和平台有关,安装调试困难。


  网络版应用软件通常使用Socket,适合使用Winsoek2SPI(serviceproviderinterface)截包,但测试结果表明,SPI只能截获客户端的网络封包。根据各种封包截获技术的特点,在服务器端使用NDIS中间驱动程序(intermediatedrivers,IMD),可以获取较快的速度、较好的稳定性和安全性;在客户使用SPI分层服务提供者(LSP),可以降低对用户操作系统平台的限制和安装维护难度。