如同TLS对于Internet作用一样,多数情况下WTLS已足以确保WAP的安全。但是对于WAP有一个不安全的例外,该例外只发生在WAP会话中,而且与WAP网关有关。WAP需要将WML与WMLScript翻译为二进制代码,以适合于在低带宽的网络上传输,并且使得资源贫乏的终端设备易于处理。WAP网关负责这种转换,这里存在2点暗示:
WTLS安全会话建立在手机与WAP网关之间,而与终端服务器无关。这意味着数据只在WAP手机与网关之间加密,网关将数据解密后,利用其它方法将数据再次加密,然后经过TLS连接发送给终端服务器。
WAP网关可以看见所有的数据明文,而该WAP网关可能并不为服务器所有者所拥有,这样,潜在的第3方可能获得所有的传输数据,而该数据却被认为是安全传输的。
在有线互联网世界里与WEB服务器建立安全连接,通常会假设您与Internet有一条不为第3方干预的直接连接。如果您从公司网络访问Internet,则数据包在达到Internet之前往往会经过代理服务器。这种情况下,访问Internet的安全性就依赖于所使用的代理服务器的配置情况。一些ISP提供缓存服务,其中包括了代理服务器,您可以配置浏览器以通过这些代理进行网上冲浪。另外还有一种透明的代理服务器,使您无需配置本地浏览器就可以直接使用它。这似乎与介于设备和服务器之间的WAP网关很相似,但其实它们有着本质的不同。代理服务器为SSL/TLS会话建立了"隧道",它有些像路由器,只是进行包的转发,而不会对数据进行解密进而获得数据明文。
当然,你可能会说WEB服务器会在其后方的应用程序之前先获得数据明文,但是,对于多数有较高安全需求的公司来说,他们一般拥有这些WEB服务器以及连接WEB服务器和终端应用程序的网络。这意味着他们可以控制谁有权发现WEB服务器的位置,WEB服务器对谁是可见的,谁对WEB服务器具有管理权限,何时对服务器进行维护,以及其它与服务器和网络安全相关的事项。
然而让网络运营商拥有WAP网关究竟有多大危险呢?诚实的回答是:危险很小,但仍然存在。著名的网关供应商和网络运营商都尽力确保他们的WAP网关安全。很明显,他们并不愿意他们的业务与安全灾难有任何牵连,所以他们保证数据明文不在磁盘上读写,而且加密与解密全部在内存中以最快的速度进行,这些进程使用的内存空间在释放前必须被覆盖,以确保数据是绝对安全的。
以上的所有措施都是非常可靠的,并且或许能够满足多数人的需求。然而仍有不少人持怀疑态度。我们可以考虑这个事实,尽管许多最大的软件生产商和世界上最好的编程人员都在尽力解决安全问题,但是各种产品的安全漏洞却不断地被发现。有些人认为,WAP网关的安全漏洞迟早会暴露,这或许是由于软件的脆弱,或许由于配置和管理错误,或许是由于雇员的蓄意或无意地操作。
对于那些有着较高安全需求的公司来说,一个很明显的可行的解决方案是拥有自己的WAP网关。许多著名厂商如Nokia等都推出了自己的WAP网关产品,您可以在自己的站点上安装它们。另外有一些WEB和应用程序服务器的生产商也在它们的产品中嵌入了WAP网关,如BEA的WebLogic。如果您决定运行自己的WAP网关,那么需要考虑几个问题。根据您的安全需求和环境配置情况,您可以成为自己的ISP。如果那些移动设备访问的应用程序很敏感,而您不希望它们被Internet访问,则您需要建立调制解调器堆和RAS服务器,以允许拨号访问您的网络。您应该允许您的用户连接到WAP网关及其之后的服务。除非您同意您的用户经过您的网络访问Internet,否则您必须在您的网络上配置Internet网关,这样用户就无法访问到Internet上的其它WAP服务。下图所示是一个例子。
|
根据所要提供的服务,这些可能根本不是问题。许多客户可以轻易地满足上图的配置,因为他们已经具备了大而且复杂的计算环境,以支持拨号连接。他们一般明确地表示不希望Internet能访问到他们的应用程序,而且不希望用户能通过他们的网络访问到Internet。他们通常是大型的投资银行或基金管理结构,具有迫切的安全需求和充足的资金以建设这种机构。这种方案一般不适合于小公司。
另一种配置方案可以让您具有自己的WAP网关,但是无需额外的资金来充当自己的ISP。这种配置对你是否足够安全主要依赖于你的安全需求。一旦WAP网关可以被Internet访问,那么它将更容易受到攻击,当用户访问你的系统遇到问题时,你和ISP之间的责任分界线将不如上个模型那样鲜明。但是对于那些希望向公众提供服务而又想拥有自己的WAP网关的组织来说,这个模型比较容易实现。该模型中,用户拨号到ISP,接着就可以访问Internet,然后他们使用ISP的RAS服务器,并且就如同访问Internet上的任何WEB服务器一样开始访问WAP网关。这个模型是安全的,因为在手机与WAP网关之间使用了WTLS作为"隧道"协议。
|
虽然在该图中WAP网关和WEB服务器位于同一个网段内,但在实际中并非一定如此。就如同网络运营商拥有网关时一样,WAP网关和WEB服务器可以位于不同的网段,而且WEB服务器甚至可以位于Internet可以访问的另一个网络中。由于TLS用来保证网关和WEB服务器之间的通信安全,它就同Internet上任何客户/服务器连接一样安全可靠。
值得一提的是,一些零售金融机构选择通过网络运营商的网关向用户提供服务,因为他们希望用户能够便利地访问他们的移动银行服务。由于在交易环节中存在着安全缺陷,那么用户自然会考虑是否值得使用这些服务来进行与帐户的交易。这种安全问题同样会影响用户在移动连接上使用信用卡的意愿。
考虑到需要将WML和WMLScript转化为二进制代码,如果我们要提供端到端的安全解决方案,就要求应用层支持认证和数据加密。WAP 1。2说明中的加密库只包含了一个函数,用来为文本串产生签名,但是该说明也指出,在未来版本的说明中,可能加入新的加密功能。当支持WIM(WAP Identity Module,WAP身份模块)的设备启动时,它有可能将产生签名的密钥保存在智能卡上。WAP讨论组已经意识到了端到端安全性的问题并且正在寻找解决方案,但至今仍没有书面的标准方案,因此我们只能利用现有的协议自己设计应用程序。 |