无线应用通信协议中WTLS的安全性分析以及改进

来源 :科学时代·上半月 | 被引量 : 0次 | 上传用户:xiaodehuwei12
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】通过阅读了大量国内外文献,本文试针对无线环境的特点,对WAP(无线应用通信协议)中的WTLS(无线传输安全协议)的安全性做了深入分析,指出了其中存在的安全隐患问题,并提出了切实可行的改进建议。
  【关键词】WAP;WTLS;安全
  随着无线通信技术的发展和无线应用的普及,无线电子商务、定位系统、移动银行、移动数据库查询等受到了广泛关注。在有线通信中,电子商务交易的一个重要安全保障是PKI(公钥基础设施)。在保证信息安全、身份证明、信息完整性和不可抵赖性等方面,PKI得到了普遍的认同,起着不可替代的作用。PKI的系统概念、安全操作流程、密钥、证书等同样也适用于解决无线通信中的安全问题。考虑到无线通信环境的特点,WPKI(wireless PKI) 技术对PKI技术进行了改进。
  在无线世界里,由于空中接口的开放,人们对于进行商务活动的安全性的关注远超过有线环境。早在2001年发布的WAP2.0,使WPKI成为移动因特安全的基石。将来的趋势是使移动因特网能够充分利用有线环境中的安全机制,WPKI将成为其中的核心技术,并在证书、签名算法等方面研究适应无线环境的特点,以此为移动因特网提供足够的安全保障,促进各类移动业务的发展。
  无线传输安全协议WTLS是WAP中最重要的协议之一,它对于WAP的安全性起着举足轻重的作用。目前,对WTLS协议的研究还在继续中,对其的探讨也处于开始阶段,相关的研究也较少。本文主要从加密、密钥交换、鉴别、完整性等方面对WTLS协议进行了详细深入的分析和探讨,并提出了相应的改进建议。
  一、WAP体系结构
  WAP(Wireless Application Protocol,无线应用协议)是移动通信设备接入Internet的一个全球开放的标准应用协议。与Internet上的协议分层相似,WAP定义了一个分层的体系结构,为移动通信设备上的应用开发提供了一个可伸缩和可扩充的环境,下图表示了该分层结构,并给出了它与Internet上协议体系结构之间的比较。
  如图1所示, WTLS协议所处位置在WDP层与WTP层之间,其功能等价于TCP/IP协议栈中的TLS-SSL层,是为实现传输数据的安全服务的。此安全功能层是可选的,即可以在WAP协议栈中暂时屏蔽掉其
  中的安全功能。此时WDP层直接与WTP层进行通信。目前国内外正式开通的WAP网关大多还不支持WTLS层功能,只有一些实验性的WAP网关(如 Ericsson开通的WAP调试网关)具备了WTLS层的功能,所以对WTLS层实现的研究当前国内外各研究机构还正在逐步深入。
  二、WTLS提供的主要服务
  客户方和服务器的合法性认证
  使得通信双方能够确信数据将被送到正确的客户方或服务器上。客户方和服务器都有各自的数字证书。为了达到验证用户的目的,WTLS要求通信双方交换各自的数字证书以进行身份认证,并可由此可靠地获取对方的公钥。
  对数据进行加密
  WTLS协议使用的加密技术将对称加密算法和非对称加密算法相结合,灵活的实现了数据传输的安全性,也提高了通信效率。
  保证数据的完整性
  WTLS协议采用消息摘要函数提供数据的完整性服务,同时也节省了通信带宽。
  三、WTLS的安全及改进
  WTLS协议使用的加密技术既有对称加密算法,也有非对称加密算法。具体地说,在安全的通信连接建立起来之前,双方先使用非对称加密算法加密握手过程中的报文信息和进行双方的数字签名及验证等。安全的通信连接建立起之后,双方使用对称加密算法加密实际的通信内容,以达到提高通信效率的目的。
  (一)加密
  采用简单的DES 加密算法存在着安全隐患,因为40bit DES 加密算法采用5字节的加密密钥,但是每个字节都有一个校验位,所以实际密钥就只有5 x 7 = 35 个有效字节。固然,加密算法越复杂密钥越长则安全性越高,但执行运算所需的时间也越长(或需要计算能力更强的芯片)。所以,如果采用其他譬如RSA算法,则支持RSA算法的智能卡通常需要高性能的具有协处理器的芯片。为了解决这一矛盾,椭圆曲线加密体制(ECC)使用较短的密钥就可以达到和RSA算法相同的加密强度。(ECC于1985年由NealKoblitz和VieterMiller提出,它的数论基础是有限域上的椭圆曲线离散对数问题,而现在还没有针对这个难题的亚指数时间算法。)因而,在当今公钥密码体制中,椭圆曲线密码体制(ECC)具有每比特最高的安全强度。在无线领域,由于智能卡在CPU处理能力和RAM大小的限制,因而采用一种运算量小同时能提供高加密强度的公钥密码体制对在智能卡上实现数字签名应用是至关重要的。椭圆曲线密码体制(ECC)在这方面具有很大的优势。RSA算法与ECC算法的比较如表1所示。
  因此,ECC算法在无线领域具有广阔的应用前景。
  (二)密钥交换
  WTLS的保密性依靠加密通信通道来实现,所使用的加密方法和计算共享密钥所需的值在握手的时候进行交换。在这个交换过程中,首先,客户端和服务器交换Hello消息,此后,客户端和服务器交换Pre-MasterSecret,这个值用于计算MasterSecret。计算所使用的加密算法在服务器的Hello消息中进行选择。在这条Hello消息中,服务器通知客户端已经选择了一个密码组,客户端向服务器提供一个密码组列表。如果服务器未发现合适的密码组,则握手失败,连接关闭。
  为了保证安全的联系通道,加密密钥或计算密钥的初始值必须以安全方式进行交换。WTLS的密钥交换机制提供了一种匿名交换密钥的方法。在密钥交换过程中,服务器发送包含服务器公钥的服务器密钥交换消息。采用的密钥交换算法可能是RSA、Diffie-Hellman 或 Elliptic Curve DiffieHellman。在RSA和匿名RSA中,客户端用服务器的公钥加密Pre-MasterSecret,并在客户密钥交换消息中将其返回给服务器。在基于Diffie-Hellman的算法中,客户端和服务器在一个私钥和相应的公钥基础上计算Pre-MasterSecret。   在这三种算法中,Diffie-Hellman是最容易的密钥交换算法,软件实现速度最快,安全性仅稍低于RSA。根据无线环境的特点,选择Diffie-Hellman是较为理想的做法。
  容易忽略的一点是:在WTLS中,采用record_type这一记录类型来标识消息类型,在数据传输中,它是用明文传送的。如果该明文暗示着什么,那么可能被黑客利用。假设有一明文record_type类型为Change Password Type,被黑客获取后,他就会知道下面密钥会发生改变,于是在这里就留下了攻击隐患。这里也不是完全不能避免,我们只要将该记录类型也用共享密钥加密即可。
  (三)鉴别
  WTLS的身份鉴别依靠证书实现。身份鉴别可以在客户端和服务器之间进行,也可以在服务器允许的情况下,只由客户端鉴别服务器;服务器还可以要求客户端向服务器证明自己。
  在WPKI机制下,数字证书非常重要,但是由于无线信道和移动终端的限制,如何安全、便捷地交换用户的数字证书,是WPKI所必须解决的问题。 目前,提出了以下两种改进的解决办法:
  WTLS证书
  WTLS证书使用Elliptic Curve Cryptography (ECC)算法减少字节数,并限制了标准PKI证书中某些域的大小。功能与X.509证书相同,但更小、更简化,以利于在资源受限的手持终端中处理。 WPKI证书是标准PKI证书的子集,它可与标准PKI交互。所有证书必须含有与密钥交换算法相一致的密钥。除非特别指定,签名算法必须与证书中密钥的算法相同。必须明确的是,由于WTLS证书是一种新的证书类型,所以必须对CA系统进行升级,才能支持该类证书。
  移动证书标识
  将标准的一个X.509证书与移动证书标识唯一对应,并且在移动终端中嵌入移动证书标识,用户每次只需要将自己的移动证书标识与签名数据一起提交给对方,对方再根据移动证书标识检索相应的数字证书即可。移动证书标识一般只有几个字节,远小于WTLS证书,并且不需要对标准的X.509证书做任何改动。
  其实,在WTLS规范中,身份鉴别是可选的。并且,目前大多数的WAP移动终端均不支持身份鉴别,因此很多网关在实现时,也就没有选择身份鉴别。
  (四)完整性
  WTLS的数据完整性通过使用消息鉴别编码(Message Authority Code, MAC)而得到保证,MAC算法同时也被认为是加密算法。客户端发送一列所支持的MAC算法,服务器在返回的Hello消息中标出所选的算法。XOR MAC 是WTLS中验证数据完整性的一个算法, 该算法是专门为CPU资源有线的情况设计的,很适合无线应用,但是它的安全性不佳。尤其在流加密中,它的漏洞更加明显,几乎无法完成完整性检验。在比特流中,数据是按0或1二进制传输的,如果黑客反转了密文流中的第N比特,同时反转了MAC中的第M(其中M=N mod 40)比特,对端就发现不了数据被修改。基于这一漏洞,WTLS必须选择更好的算法,譬如SHA和MD5。这两种算法均有不同的版本,SHA有0、40、80、160位的MAC长度。同样,MD5也有不同长度的算法。
  MD5产生128位的散列值,有如下等式存在:
  MD5=MD4+改进的位散列运算+附加轮+更好的雪崩效应
  SHA产生160位的散列值,有如下等式存在:
  SHA=MD4+扩展转换+附加轮+更好的雪崩效应
  对SHA目前还没有已知的密码攻击,并且由于它产生160位的散列,它的安全性比128位散列函数MD5更能抵抗穷举攻击(包括生日攻击)。
  从以上分析不难看出, 实际应用中应该改进选择SHA算法。
  (五)WAP网关可能造成的安全漏洞
  参照“图1 WAP的分层结构”,如同TLS对于Internet作用一样,多数情况下WTLS已足以确保WAP的安全。但是对于WAP有一个不安全的例外,该例外只发生在WAP会话中,而且与WAP网关有关。WAP需要将WML与WMLScript翻译为二进制代码,以适合与在低带宽的网络上传输,并且使得资源贫乏的终端设备易于处理。WAP网关负责这种转换,这里存在两点暗示:
  WTLS安全会话建立在手机与WAP网关之间,而与终端服务器无关。这意味着数据只在WAP手机与网关之间加密,网关将数据解密后,利用其它方法将数据再次加密,然后经过TLS连接发送给终端服务器。
  WAP网关可以看见所有的数据明文,而该WAP网关可能并不为服务器所有者所拥有,这样,潜在的第3方可能获得所有的传输数据,而该数据却被认为是安全传输的。
  了解了这一问题的关键,改进这一潜在的安全性问题就需要杜绝网关泄密的可能性。安全的WAP网关才是数据安全传输的保障。
  四、结束语
  在无线应用业务中,仅当所有的用户确信,通过无线方式所进行的交易不会发生欺诈或篡改,进行的交易受到法律的承认和隐私信息被适当的保护,无线应用业务才有可能成功和推广。无线传输安全协议WTLS是当前最好的无线端到端的安全解决方案之一。如前文所述,无论在加密、密钥交换、身份鉴别、完整性,还是在它在整个体系结构上,都充分保证了数据的安全传输,但瑕不掩瑜,协议中的确还存在着部分的安全隐患。目前对于WTLS的研究还在继续,估计更新版本的协议会解决这些安全隐患。届时,安全问题就不会再成为无线应用发展的瓶颈,人们也能更加放心的享受无线应用带来的便利。
  参考文献:
  [1]肖田元等.《系统仿真导论》,清华大学出版社.
  [2]《计算机网络和计算机系统的性能评价》,林闯,清华大学出版社《椭圆曲线加密算法:Elliptic Curve Cryptography》,http://www.secg.org.
  [3]《椭圆曲线加密算法:Recommended Elliptic Curve Domain Parameters》,http://www.Secg.org .
  [4]《Wireless Application Environment Overview: WAP-195-WAE Overview》:http://www.wapforum.org.
  [5]《WAP Architecture》http://www.wapforum.org.
  [6]《WAP Certificate and CRL Profiles: WAP-211-X.509》:http://www.wapforum.org.
  [7]《WAP Identity Module: WAP-198-WIM》.Defines:http://www.wapforum.org.
  [8]《WAP Public Key Infrastructure: WAP-217-WPKI》:http://www.wapforum.org.
  [9]《WAPWhite_Paper1.pdf》:http://www.wapforum.org.
  [10]《WAP-211-WAPCert-20010522-a》:http://www.wapforum.org.
其他文献
6月初,3个名为《手机爆玉米花》的视频突然风行网上。画面中,4只手机同时来电,围在中间的玉米粒瞬间变身爆米花。此后12天内,视频点击率仅在YouTube上便达400万,观者无不联想起自己大脑的安全性,并为手机辐射的威力唏嘘不已。    为探究真相,笔者特意调动了8只手机,当众实验。一阵噼哩叭啦的手机铃声响过,5颗玉米却纹丝不动。一周后,美国CNN电视台果然郑重辟谣,原来视频的始作俑者竟是一家蓝牙销