探究IGRS与UPnP设备互连的安全机制
摘 要:对IGRS的安全机制、UPnP的安全机制以及IGRS与UPnP基于非安全管道上的互连方
法进行了探讨研究,提出了一种IGRS与UPnP互连的安全机制,保障它们之间互连的安全性,
有效防止网络中针对非安全互连漏洞的各种攻击。
关键词:信息设备资源共享协同服务协议;通用即插即用协议;协议机制;管道;安全
互连
Survey on IGRS and UPnP devices security interconnection mechanism
TAN Jue??1,2,HE Zhe?1,CHEN Yuan-fei?1,ZHU Zhen-min1
(1.Research Center for Pervasive Computing, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100080, China;?2.College of Information Technology, Xiangtan University, Xiangtan Hunan 411105,
China)?Abstract:Through the analysis of IGRS and UPnP security mechanism, this paper put forward a new security mechanism built on the basis of non-security pipes to
protect the interconnections of heterogeneous devices.This method successfully
protected interconnection from all kinds of network attacks.
Key words:IGRS; UPnP; protocol mechanism; pipe; security interconnection
随着计算机技术与通信技术的飞速发展,众多的信息设备生产商在市场驱动下,开
发出了功能多样和强大的设备和仪器,实现这些异构而多样化的信息设备互连互通成为信息
技术产品的发展趋势,国际上已有许多
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
化组织和企业联盟在进行相关的技术标准制定工
作。其中最具代表性的是信息设备资源共享协同服务(IGRS)和通用即插即用(UPnP)两大主流
信息设备互连互通协议。IGRS组织有会员100多家,UPnP组织的成员达到890家之多,都拥
有非常广泛的末端用户群。IGRS和UPnP的应用范围也非常广泛,在家庭自动化、打印、图
片处理、音频/视频娱乐、厨房设备、汽车网络和公共集会场所等类似网络中都有应用。实现
支持不同标准的设备间的相互识别和互连互通是用户的一致愿望。IGRS设备工作组在制定
IGRS基础协议时,已经对IGRS设备与UPnP设备的基础互连提出了解决办法,对于分别支持
IGRS协议和UPnP协议的信息设备,可以通过扩展访问接口描述实现它们之间的互连互通。
但是,这两类设备的互连互通是建立在非安全管道上,存在一定的安全隐患,须寻求一种安
全机制保障互连的安全性。本文通过对IGRS和UPnP在非安全管道互连互通机制的分析,提
出了一种IGRS和UPnP互连的安全机制。
1、IGRS和UPnP简介
1.1 IGRS
IGRS是为了实现信息技术设备智能互连、资源共享、协同服务而制定的标准,基于
“闪联”标准的设备不仅能够连接,而且可以使不同的设备共享信息资源和功能
资源,并充分地组合利用每个设备的功能,创造出更多更丰富的应用服务。为了便于对网络
中资源的共享使用,IGRS在传输层和网络层也制定了相应的协议标准。“闪联”
标准框架[1]如图1所示。
IGRS安全
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
定义了其上各个协议中的安全交互机制,包括基于服务的访问控制机制和相应的身份认证、授权等机制。IGRS定义了两个不同层次的安全,一层是设备间的安全,即协议中所谓的“管道”;另一层是用户与服务间的安全,即协议中所谓的“会话”。
1.2 UPnP
UPnP是由微软推出的新一代网络中间件技术,现在由通用即插即用论坛维护升级,其目标是使家庭网络(数据共享、通信和娱乐)和公司网络中的各种设备能通过简单无缝连接实现广播网、互联网、移动设备之间的互连。
UPnP标准框架[2]如图2所示。UPnP论坛定义了UPnP设备和控制点的安全准则[3,4]。在发现阶段,定义了安全设备和安全控制台相互发现的过程和所需要的安全操作。在描述阶段设备生产商可以为设备定义和编写相关的安全控制台和安全设备描述文件。在控制、事件、展现三个阶段,设置安全会话的密钥,对交互消息进行加密、解密、执行等操作来确保UPnP控制点与设备的交互安全。如果用户或者生产厂商需要实施自己的安全扩展,可以在UPnP厂商层次上由生产商自定义和实现。
1.3 UPnP与IGRS的互连
“闪联”在IGRS制定之初就考虑到了IGRS设备与UPnP设备的互连问题并进行了可行性分析[5]。
1)设备间寻址机制 UPnP网络基于IP寻址,而IGRS协议中设备间的寻址可以由IGRS协议以外的机制来实现。两个协议均可以共同使用静态IP、动态DHCP或Auto-IP的寻址方式。
2)设备/服务发现机制 UPnP的设备/服务发现机制采用SSDP,IGRS的设备/服务发现机制同样建立在SSDP基础上。通过SSDP可以实现IGRS与UPnP设备/服务的相互发现。
3)设备/服务描述机制 UPnP使用XML语法,IGRS也使用XML语法。虽然实现模板不同,但是在IGRS服务描述中加入UPnP描述扩展,使得UPnP设备可以识别IGRS服务;对UPnP服务消息进行解析实现IGRS设备对UPnP服务的识别。
4)服务访问控制和调用机制 UPnP的服务调用机制采用SOAP(简单对象访问协议)传送消息,IGRS则定义了基于会话的服务调用机制,同样支持SOAP。通过各自的标准消息解析和改写可以实现服务调用。
5)服务事件与通知机制 UPnP采用GENA(通用事件通知架构)机制实现服务事件与通知机制;IGRS则采用基于管道(安全/非安全)的机制实现,通过不同机制的分析与转换可以实现事件通知。
2、IGRS和UPnP各自的安全互连
2.1 UPnP设备间互连安全机制
UPnP安全文档中定义了安全相关的函数和数据结构及相关策略[3,4,6]。其过程分为初始化和安全运行两个阶段。
初始化阶段如图3(a)[7]所示,主要工作包括:a)安全控制台获取设备公钥并通过散列算法对公钥求取散列值并与设备的安全ID比对,进行身份认证;b)安全控制台与设备双方协商,设置安全会话密钥进行会话,控制点获得设备的所有权;c)对网络中的可以访问和拥有设备的控制点进行指定,编辑设备的访问控制列表等,通过这些操作对设备指定不同用户(控制点)的访问权限。执行了这些操作以后,进入安全运行阶段。
安全运行阶段如图3(b)[7]所示,主要工作包括当初始化阶段通过身份验证及设备权限设置完成以后,进入安全运行阶段。安全阶段的任务是防止黑客的重放攻击,双方进行会话密钥的协商,协商完成后进行通信和服务调用。
2.2 IGRS设备间互连安全机制
IGRS设备间的互连较UPnP复杂,IGRS设备间的安全互连过程如图4所示。
在互连的IGRS设备之间,通过组播宣告其在网络中的存在后,比较双方都支持的安全机制算法,根据需要选择其一作为双方交互的安全机制。在安全机制选择中,IGRS支持四种安全机制[8]。IGRS设备1和2的安全身份认证为双向挑战/应答过程,需交互的IGRS设备1和2在完成前期相关步骤成功后,相互发送管道创建成功的确认消息;管道成功创建以后,建立IGRS用户与服务间的会话关系。
3、IGRS与UPnP之间存在的互连安全问题分析
传统的IGRS设备与UPnP设备在非安全管道上基础互连,未采用任何安全机制,存在严重的安全隐患。其中存在的安全问题如表1所示。
表1 非安全通道互连安全问题
存在问题问题描述解决方法
设备冒充无认证,身份冒充加入身份认证机制
消息窃听攻击者窃听互连中通信消息对通信消息进行加密
消息完整攻击者对通信消息进行窜改采用数字签名机制
拒绝服务网络中设备无法正常工作多次身份认证失败后对设备请求不再响应
重放攻击者实施重放攻击对网络中的通信消息的序列号更新
1)安全互连的可行性分析 IGRS与UPnP有互操作的基础,可以在非安全管道上进行互操作。同样,改造相关的通信消息模板并对相应的消息和服务调用消息进行扩展,可以实现安全互操作。
2)安全互连的原则 IGRS和UPnP设备有各自的标准和接口,遵循它们各自的功能和属性的基础,对接口进行扩展,避免相同标准下的设备经过扩展和改造以后不能相互识别及访问的问题。
3)安全互连的切入点 根据两个标准的不同定义,找出定义部分的灵活性接口,最大限度地在不改变标准的前提下实现互连的高安全。