网络即时通讯中的密钥管理

减小字体 增大字体 作者:秦 杰  来源:www.zhonghualunwen.com  发布时间:2009-09-13 01:56:52

  一、研究背景
  
  随着顾客行为、沟通方式的转变,单一通道的电话客服已不再能满足网络时代的需求,网页聊天作为一种高效、内容丰富,成本低廉的新兴客户服务方式,正被广泛应用于企业客户服务领域。目前,越来越多的企业门户网站出现“在线支持”的链接,您只需轻点鼠标,就可以和相关的客服人员进行即时通讯。数据资料显示,这种通讯方式有效地降低投入及运营费用达到30%,并且可有效增加25%的新客户。但是,通讯内容往往包括一些私密的信息,尤其是在提供金融、医疗等方面的咨询服务时,信息的安全问题成为了客户使用的最大的顾虑。
  目前,国内外一些知名产品,如Live Person,Sight Max等都是采用基于安全套接字层协议(SSL)的解决方案,具有如下优点:
  1.安全性高:SSL协议第3版作为业界使用一般标准,提供可靠的端到端安全服务,保障了消息的保密性和完整性。
  2.实现方便:主流Web服务器如Netscape、IE浏览器均实现了SSL协议。
  同时又存在着以下缺点:
  1.SSL使用复杂的数学公式进行数据加密和解密,随着秘钥位数的增加,高强度的计算给服务器CPU造成了沉重负担并产生了严重的性能瓶颈。
  2.需要权威的第三方认证机构颁发证书,增加了成本开销。
  3.SSL提供了端到端的安全服务,对于有多方参与的会话来说,会增加加密解密的次数,增加了性能开销。
  即时通讯在应用上首先考虑的是信息的即时性,其次才考虑到安全性。本文旨在寻找一种高效且相对安全的密钥管理策略。
  
  二、原理分析
  
  (一)SSL握手协议。此协议允许客户端和服务器端相互认证、协商加密和MAC算法,保护数据使用的密钥通过SSL记录传送。握手协议在传递应用数据之前使用。握手协议由客户端和服务器间交换的一系列消息组成,此交换由四个阶段组成:
  阶段1:建立安全能力,包括协议版本、会话标识、密码组、压缩方法和初始随机数。
  阶段2:服务器发送证书,交换密钥,证书请求,完成消息。
  阶段3:如果接收到请求,客户端发送其证书;发送交换密钥,也可以发送证书验证消息。
  阶段4:改变密码组,结束握手协议。
  (二)SSL会话。SSL会话是一个客户端和服务器间的关联,会话是通过握手协议创建的,定义了一组多个连接共享的密码安全参数。
  
  三、系统设计
  
  模拟SSL握手协议,即时通讯双方在传递应用数据之前,通过密钥分配中心交换公钥,完成握手,并生成共享的密钥,作为以后通信的会话密钥。
  首先我们来看由Merkle提出的一种简单的秘密钥分配方法。
  (一)简单秘密钥分配
  若A要与B通信,则执行下列操作:
  1.A产生公/私钥对{PUa,PRa},并将含有PUa和其标识IDA的消息发送给B。
  2.B产生秘密钥KS,并用A的公钥对KS加密后发送给A。
  3.A计算D(PRa,E(PUa,KS))得出秘密钥KS。因为只有A能解密该消息,所以只有A和B知道KS。
  4.A丢掉PUa和PRa,B丢掉PUa。
  这样,A和B就可利用传统密码和会话密钥KS安全地通信。密钥交换完成后,A和B均丢弃KS。上述协议尽管简单,但却很诱人。由于在通信前和通信完成后都没有密钥存在,所以密钥泄密的可能性最小,同时这种通信还可以抗窃听攻击。
  但是,此协议是不安全的,因为对手可以截获消息,然后可以重放截获的消息或者对消息进行替换。这样的攻击称为中间人攻击[RIVE84]。此时,如果攻击者E能够控制通信信道,那么他可用下列方式对通信造成危害但又不被发现:
  1.A产生公/私钥对{PUa,PRa},并将含有PUa和其标识IDA的消息发送给B。
  2.E截获消息,产生其公/私钥对{PUe,PRe},并将PUe||IDA发送给B。
  3.B产生秘密钥KS,并发送E(PUe,KS)。
  4.E截获该消息,并通过计算D(PRe,E(PUe,KS))得出秘密钥KS。
  5.E发送E(PUa,KS)给A。
  结果是,A和B均已知KS,但他们不知道E也已知道KS。A和B用KS来交换消息;E不再主动干扰通信信道而只需窃听即可。由于E也已知KS,所以E可解密任何消息,但是A和B却毫无察觉,因此上述简单协议只能用于仅有窃听攻击的环境中。
  (二)增加数字签名的密钥分配中心
  如果A能确认接收到的秘密钥是来自B,就能有效防止中间人攻击。由此引入数字签名的概念:数字签名是一种认证机制,它使得消息的产生者可以添加一个起签名作用的码字。通过计算消息的散列值并用产生者的私钥加密散列值来生成签名。签名保证了消息的来源和完整性。
  结合客户服务行业特点,建立如下模型:
  KDC:简单的密钥分配中心,负责会话双方的公钥管理及会话秘密钥的生成及分派。

[1] [2]  下一页

Tags:

作者:秦 杰
  • 好的评价 如果您觉得此文章好,就请您
      100%(1)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论