随着计算机技术与通信技术的飞速发展,众多的信息设备生产商在市场驱动下,开发出了功能多样和强大的设备和仪器,实现这些异构而多样化的信息设备互连互通成为信息技术产品的发展趋势,国际上已有许多标准化组织和企业联盟在进行相关的技术标准制定工作。其中最具代表性的是信息设备资源共享协同服务(IGRS)和通用即插即用(UPnP)两大主流信息设备互连互通协议。IGRS组织有会员100多家,UPnP组织的成员达到890家之多,都拥有非常广泛的末端用户群。IGRS和UPnP的应用范围也非常广泛,在家庭自动化、打印、***片处理、音频/视频娱乐、厨房设备、汽车网络和公共集会场所等类似网络中都有应用。实现支持不同标准的设备间的相互识别和互连互通是用户的一致愿望。IGRS设备工作组在制定IGRS基础协议时,已经对IGRS设备与UPnP设备的基础互连提出了解决办法,对于分别支持IGRS协议和UPnP协议的信息设备,可以通过扩展访问接口描述实现它们之间的互连互通。但是,这两类设备的互连互通是建立在非安全管道上,存在一定的安全隐患,须寻求一种安全机制保障互连的安全性。本文通过对IGRS和UPnP在非安全管道互连互通机制的分析,提出了一种IGRS和UPnP互连的安全机制。
IGRS是为了实现信息技术设备智能互连、资源共享、协同服务而制定的标准,基于“闪联”标准的设备不仅能够连接,而且可以使不同的设备共享信息资源和功能资源,并充分地组合利用每个设备的功能,创造出更多更丰富的应用服务。为了便于对网络中资源的共享使用,IGRS在传输层和网络层也制定了相应的协议标准。
UPnP论坛定义了UPnP设备和控制点的安全准则[3,4]。在发现阶段,定义了安全设备和安全控制台相互发现的过程和所需要的安全操作。在描述阶段设备生产商可以为设备定义和编写相关的安全控制台和安全设备描述文件。在控制、事件、展现三个阶段,设置安全会话的密钥,对交互消息进行加密、解密、执行等操作来确保UPnP控制点与设备的交互安全。如果用户或者生产厂商需要实施自己的安全扩展,可以在UPnP厂商层次上由生产商自定义和实现。
IGRS安全规范定义了其上各个协议中的安全交互机制,包括基于服务的访问控制机制和相应的身份认证、授权等机制。IGRS定义了两个不同层次的安全,一层是设备间的安全,即协议中所谓的“管道”;另一层是用户与服务间的安全,即协议中所谓的“会话”。
IGRS设备发送管道连接请求,虚拟IGRS设备接收到此消息,转换为内部UPnP消息,内部安全控制台调用getPublicKey()取得公钥,再将消息封装成IGRS格式以发送IGRS管道创建响应消息。在双方约定的安全算法选择过程中,此方案采用RSA公钥算法。接下来是双方的身份验证、消息加密以及消息鉴别的过程。此过程中,为了防止重放攻击,IGRS设备随机数产生函数,而虚拟UPnP设备则通过安全控制台来调用安全服务getLifteTimeSequenceBase(),按照IGRS管道身份认证的方法进行安全身份认证挑战。当验证成功后,可以发现设备上提供的服务,但是暂时不能够调用。在这个过程中,黑客可能会使用拒绝服务攻击,可以采用带流量检测的包过滤或者是XML防火墙。如果多次在较短的间隔内收到来自同一个设备请求并且在这段时间内反复认证失败,则认为是拒绝服务攻击,在较长的一段时间内不再响应该设备的任何请求。
转载请注明出处学文网 » IGRS与UPnP设备互连的安全机制探讨