UPnP认证和授权的制作方法

文档序号:7679477阅读:403来源:国知局
专利名称:UPnP认证和授权的制作方法
UPnP认证和授权
扭旦 冃尔
UPnP (通用即插即用)体系结构提供诸如电器设备、无线设备、电子 设备、便携式媒体设备和个人计算机等消费电子设备的网络连通性。UPnP 是分布式、开放的网络体系结构,其利用TCP/IP和web技术来启用邻近连 网和控制在家庭、办公室和公共空间的联网的设备之间的数据传输。UPnP 被设计为支持对来自各种厂商的大量设备类别的零配置、"不可见"连网 和自动发现。设备可以动态地加入网络,获得IP地址,传送其能力,并获 知其它设备的在场和能力。同样,UPnP设备可以离开网络而不留下任何不 想要的状态。
在UPnP模型中,所有设备都被假定为被隐式地授权来做出任何可能 的请求,以启用所谓的"不可见"连网。然而,没有认证,则从另一UPnP 设备接收UPnP请求的设备不知道发送该请求的设备是否被授权来做出这 种请求。因为UPnP是为其中所有设备被假定是可信的家庭网络等设计的, 所以设备的认证和授权是不必要的。然而,即使在家庭网络中,在UPnP 中缺少对授权和认证的支持也可能是有问题的。例如,假定共享网络在大 学宿舍中或利用无线技术(例如,Wi-Fi)的环境中实现。在这种情况下, 基于UPnP的文件服务器的所有者可能不想授予对存储在网络的服务器上 的文件的不受限访问,因为该所有者可能不能够信任能够访问该网络的所 有其它UPnP设备。
在另一示例中,假定能够流传输高分辨率视频的基于UPnP的媒体服 务器的制造商可能希望将对该高分辨率视频内容的访问限制到得到许可的 并且能够呈现该高分辨率视频内容的设备上,同时将该视频内容的标准分 辨率版本流传输到其它设备。换言之,UPnP设备的制造商可能希望准许访 问UPnP设备的子集,如由同一制造商生产的设备。
对认证和授权问题的现有解决方案或者是不完整的、不充分安全的, 或者被绑定到数字权限管理(DRM)系统上。例如,对认证问题的常见解
6决方案是在一个或多个UPnP消息中寻找公知的人类可读的串。该串可以 在用户-代理协议头部中,或其可以嵌入在设备描述文档(可以从所有UPnP 设备下载的XML格式文档)中。想要认证第二UPnP设备的第一UPnP设 备检查这些串的一个的存在。如果找至U,则第一UPnP设备将认为第二UPnP 设备得到认证。然而,该解决方案是不安全的,因为该串是以人类可读的 明文形式来传输的,而复制这种形式是很平常的。
在另一现有解决方案中,接收该请求的UPnP设备在经授权的设备的 地址的表中查找UPnP请求的以太网MAC (媒体访问控制)地址。如果找 到请求设备的MAC地址,则该设备被认为是经授权的。否则,则向接收设 备的用户给出向请求设备授予访问并将其地址添加到该表的选项。然而, 该解决方案是不安全的,因为以太网MAC地址相对容易"欺骗"或伪造。
此外,在其中UPnP设备想要将访问限制到只有特定的得到许可的或 被批准的设备的场景中,该解决方案是不切实际的。因为以太网MAC地址 通常存储在与UPnP软件分开制造的硬件芯片中。所以,让软件制造商创 建经授权的以太网MAC地址的表通常是不切实际的,因为被批准的设备的 MAC地址在创建软件时是不知道的。另外,在该场景中,提示用户向经授 权的MAC地址的表中添加MAC地址是不合需要的,因为用户可以向未经 许可的或未批准的设备授予访问。
第三种解决方案由常规DRM系统来提供。虽然DRM系统允许两个设 备相互认证以及以加密的形式传输音频/视频内容,但该特别专用的解决方 案并不适用于所有场景。例如,如DRM系统所要求的加密被传输的内容可 能并不总是合乎需要的。同样,在传输音频/视频内容期间,某些DRM系 统具有安全的(基于加密的)消息交换,但该内容的发现(通过UPnP内 容目录服务)并不被该安全消息交换所覆盖。因此,第一设备可以在第二 设备的内容目录服务中发现内容,而不知道该第一设备是否被授权来流传 输所发现的内容。
概述
本发明的各实施例通过向UPnP设备提供安全服务以认证和授权彼此和其它UPnP端点,来克服公知UPnP协议中的一个或多个不足。根据本发 明的各方面,UPnP发起者设备向UPnP响应者设备发送包括来自可信授权 机构的标识信息的请求。该响应者经由该可信授权机构来认证发起者设备 的身份,并根据该标识信息来授权该设备。
在另一方面,本发明在认证和授权过程期间建立会话标识符。该会话 标识符包括在对发起者的响应中,以将来自该发起者的后续UPnP或HTTP 请求与先前成功完成的授权和认证进行匹配。
具有用于联网的便携式媒体设备的安全认证和授权服务的计算机可执 行指令的计算机可读介质实施本发明的其它方面。或者,本发明的各实施 例包括各种其它方法和装置。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的 一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征, 也不旨在用于帮助确定所要求保护的主题的范围。
其它特征的一部分将是显而易见的, 一部分将在下文中指出。
附图简述


图1是示出根据本发明的实施例的用于认证和授权服务的计算系统环 境的框图。
图2是示出根据本发明的实施例的发起者消息的创建的示例性流程图。
图3是示出根据本发明的实施例的响应者消息的创建的示例性流程图。
图4是示出根据本发明的实施例的确认消息的创建的示例性流程图。 图5是根据本发明的实施例的发起消息的框图。 图6是根据本发明的实施例的响应消息的框图。
图7示出具有用于供媒体服务器授权和认证媒体呈现器的计算机可执 行组件的计算机可读介质。
相应的参考标号在全部附图中指示相应的部分。
8详细描述
参考附图,图1示出根据本发明的各方面的用于认证和授权服务的系
统。有利的是,本发明的各实施例允许一个UPnP (通用即插即用)设备通 过例如以可扩展的方式向UPnP协议添加新的安全服务而不改变UPnP协议 本身来认证和授权另一个UPnP设备。
在一实施例中,UPnP设备响应于来自UPnP端点的请求实现一个或多 个UPnP服务。应当理解,该UPnP端点也可以是UPnP设备。例如,如果 第一设备实现UPnP服务,则根据定义其就是UPnP设备。如果该同一设备 请求在第二 UPnP设备上实现的UPnP服务,则该第一设备也用作UPnP端 点。在所示实施例中,诸如发起者102等UPnP端点和诸如响应者104等 UPnP设备都是同一 UPnP网络的成员。UPnP体系结构允许设备动态地加 入网络,获得IP地址,传送其能力,并获知其它设备的在场和能力。UPnP 设备、端点等包括实现UPnP网络协议的任何设备,如消费电子设备、计 算设备、家庭自动化设备、家庭安全设备、电器设备、便携式媒体设备、 打印设备、数码相机、扫描仪、计算机网络设备、移动设备等等。
本发明的一个方面实现允许UPnP端点(例如,发起者102)和UPnP 设备(例如,响应者104)认证一个或另一个或彼此(即以安全的方式建立 彼此的身份)的新的UPnP握手服务。 一经认证,每一设备则可以确定另 一设备是否被授权来与之通信。
在一实施例中,响应者104是向诸如网络上的发起者102等UPnP媒 体呈现器设备提供媒体内容的通用媒体服务器设备。例如,媒体服务器包 括各种设备,如便携式媒体设备、VCR、 CD播放器、DVD播放器、录音 磁带播放器、静止图像照相机、摄录像一体机、收音机、电视调谐器、和 机顶盒、MP3服务器、PVR (个人视频记录器)和诸如个人计算机等家庭 媒体服务器。在操作中,发起者102和响应者104执行诸如在各附图中所 示出的计算机可执行指令来实现本发明的各方面。
发起者102和响应者104通常拥有至少某种形式的计算机可读介质。 计算机可读介质包括易失性与非易失性介质、可移动与不可移动介质,其 可以是可由发起者102和响应者104访问的任何可用介质。作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质 包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的 信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。
例如,计算机存储介质包括RAM、 ROM、 EEPROM、闪存或其它存储器技 术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、 磁盘存储或其它磁存储设备、或可以用于存储所需信息并可由发起者102 和响应者104访问的任何其它介质。通信介质一般以诸如载波或其它传输 机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其 它数据,并且包括任何信息传递介质。本领域技术人员熟悉已调制数据信 号,其一个或多个特征以将信息编码在该信号中的方式来设置与改变。诸 如有线网络或直接线连接等有线介质,以及如声学、RF、红外线及其它无 线介质等无线介质都是通信介质的示例。以上的任一种的组合也包括在计 算机可读介质的范围之内。
媒体服务器经由UPNP内容目录服务来展示其内容。媒体服务器可以 处理任何特定类型的媒体、任何数据格式、和传输协议。媒体内容的示例 包括MPEG2视频、CD音频、MP3音频、WMA音频和JEPG图像。
UPnP服务由统一资源名(URN)来标识。URN在设备搜索其它设备 所主存的服务时,或在设备通告其自身主存的服务的可用性时使用。用于 握手服务的URN可以任意选择。在本发明的一实施例中, "urn:schemas-microsoft-com:service:Handshake:l"是握手月艮务的URN。
安全UPnP设备只接受来自其它经认证的和经授权的UPnP设备和端点 的通信。因此,在安全UPnP设备允许第二设备访问该安全设备所实现的 任何其它UPnP设备之前,该安全UPnP设备要求握手服务成功地认证和授 权该第二设备。
在一实施例中,请求另一 UPnP设备所主存的服务的UPnP端点被称为 发起者102。例如,如果媒体呈现器设备请求媒体服务器设备所提供的可用 内容的列表,则该媒体呈现器向该媒体服务器设备所主存的UPnP内容目 录服务发送请求。在该示例中,媒体呈现器在其与内容目录服务通信时是 发起者102,而媒体服务器设备被称为响应者104。然而,同一媒体呈现器设备还可以主存其自身的UPnP服务。在这种 情况下,该媒体呈现器用作UPnP设备以及UPnP端点。如果媒体服务器决 定使用这些服务的任何一个,则角色反转,且媒体服务器是发起者102而 媒体呈现器是响应者104。在一实施例中,媒体呈现器向媒体服务器发起的 握手和媒体服务器向媒体呈现器发起的握手被认为是两个完全独立的操作。
UPnP协议向发起者102提供两个标准方式来寻找其想要与之通信的设 备。首先,发起者102广播M-SEARCH (搜索)请求,该请求向网络上的、 支持该M-SEARCH请求中的URN所标识的UPnP服务的所有UPnP设备 请求响应。其次,发起者102监听NOTIFY (通知)消息。所有UPnP设备 周期性地发送通告其主存的服务的可用性的NOTIFY消息。
在一实施例中,搜索实现内容目录服务的UPnP设备的媒体呈现器设 备将使用M-SEARCH和/或NOTIFY消息来寻找该内容目录服务。该媒体 呈现器还使用M-SEARCH和/或NOTIFY消息来寻找该服务的URN所标识 的握手服务。在该实施例中,如果同一 UPnP设备主存握手服务和内容目 录服务,则该媒体呈现器将只与内容目录服务通信。同样,如果握手服务 已经成功,则该媒体呈现器将只使用内容目录服务。内容目录服务是用于 说明性的目的的,握手服务可以在诸如连接管理器服务或AV传输服务等 任何其它UPnP服务之前实现。
在一替换实施例中,握手服务建立共享秘密和对称加密密钥。该共享 秘密被用来生成可在后续UPnP或HTTP请求中使用的安全令牌702,来确 定该请求起源于已经被认证和授权的设备。安全令牌702可以根据每一请 求而改变,使欺诈设备更难以试图伪装为经授权的设备。另选地,可以使 用设备的以太网MAC地址或IP地址来标识来自已被认证的设备的请求; 然而,如上所述,该实现较不安全。
图3-5示出的方法所建立的对称加密密钥可被用来加密在设备被授权 之后所发送的内容。这提供附加的安全层,因为其防止未授权的设备窃听 两个相互授权的设备之间的通信。例如,上述高分辨率视频流可以使用该 对称加密密钥来加密。在一实施例中,除握手服务之外,在执行了初始握手后的后续HTTP
和UPnP请求中使用新的HTTP和UPnP头部。在替换实施例中,使用基于 XML的句法来代替UPnP头部。
UPnP服务具有动作和事件。握手服务包括两个动作而不包括事件。一 个动作类似于具有输入和输出参数的远程过程调用。在一实施例中,为开 始握手服务,发起者102调用进行握手(DoHandshake)动作106。该动作 的名称没有意义且可以是不同的,只要XML格式的UPnP服务描述正确地 描述该名称。
在一实施例中,进行握手动作具有一个输入参数和两个输出参数。在 本发明的该实施例中,输入参数是发起者消息500,第一输出参数是响应者 消息600,而第二输出参数是请求标识符。在一替换实施例中,发起者消息 500、响应者消息600是同一格式的。另外,由于UPnP是基于文本的协议, 所以在其通过UPnP传输时,发起者和响应者消息都是64基编码的。
发起者消息500的目的是允许响应者104认证发起者102。进行握手 动作106从发起者102向响应者104发送发起者消息500。在图5示出的实 施例中,发起者消息500将包括证书502,且使用公钥密码来认证。证书使 用数字签名来将公钥504与发起者102的诸如设备型号和序列号等标识信 息506绑定在一起。该证书可被用来验证公钥504属于发起者102。在典型 的公钥基础结构方案中,该签名是可信授权机构的。响应者104可以验证 该签名并査明该证书是真实的。有利的是,响应者104可以区别不同的发 起者102,并能够通过使用包括在证书502中的信息来个别地授权每一发起 者102。例如,假定响应者104只能够流传输高分辨率视频内容。响应者 104从证书502中査找设备型号来确定发起者102是否能够呈现高分辨率视 频内容。如果发起者102能够呈现高分辨率视频内容,则响应者104授权 发起者102。
在一替换实施例中,该证书包括发起者的公钥504。用公钥504加密 的消息只可以使用只有发起者102知道的匹配的私钥来解密。在该实施例 中,发起者消息500不仅包括证书502,而且包括每次调用进行握手动作时 都不相同的随机数508。随机数508被响应者104用来生成共享秘密。另选
12地,随机数508是数字和字符的任何生成的组合。
在一实施例中,响应者消息600是响应者104能够认证发起者消息500 中的证书502的指示。在图6示出的替换实施例中,响应者消息600包括 允许发起者102认证响应者104的、响应者104的证书602。证书602还包 括响应者104的标识信息606以及响应者的公钥604。进行握手动作响应 108从发起者102向响应者104发送响应者消息600和请求标识符。
如上所述,证书602由可信授权机构或直接或间接地数字地签名。并 且,通过验证该签名,发起者102可以认证响应者104。另外,响应者的证 书602以使用发起者的公钥的方式来加密。在替换实施例中,响应者消息 600的经加密的部分包括每次调用进行握手动作时都不相同的随机数608。 另选地,随机数608是数字和字符的任何生成的组合。
在一实施例中,第二输出参数,即请求标识符被用来将后续UPnP或 HTTP请求与先前成功完成的进行握手动作相匹配。在响应者104记录己经 成功完成进行握手动作的发起者设备的以太网MAC地址的实施例中,不使 用请求标识符,因为进一步的请求只基于该以太网MAC地址来接受或拒 绝。在利用请求标识符的实施例中,请求标识符由响应者104来生成。在 一实施例中,请求标识符是随机数。另选地,请求标识符是数字和字符的 任何生成的组合。然而,在该实施例中,响应者104将不知道发起者102 实际上是否能够解密响应者消息600中的加密的证书。不能够查明这一点, 则发起者102可能使用实际上是发放给一不同的设备的证书。
UPnP握手服务中的第二个动作被称为确认(Confirm)动作,其允许 响应者104确认发起者102能够解密响应者消息600中的证书。确认动作 110从发起者102向响应者104发送确认消息700。
确认动作IIO具有两个输入参数且不具有输出参数(除成功/失败指示 112之外)。第一输入参数是响应者104在进行握手动作响应108中提供给 发起者102的请求标识符。在一实施例中,该请求标识符只在一段有限的 时间内有效。尝试用已经期满的请求标识符调用确认动作使得该动作返回 失败指示。
在图7中,确认消息700包含第二个输入参数。在该实施例中,确认
13消息700包括安全令牌702。在一实施例中,安全令牌702是共享秘密702 的摘要。在一替换实施例中,安全令牌702是响应者104和发起者102所 知道的数字,且使用例如从该共享秘密中导出的加密密钥来加密。在一实 施例中,确认消息700以二进制格式来存储。该共享秘密是使用发起者消 息500中的随机数508和响应者消息600中的随机数608来导出的。因为 响应者消息600中的随机数608被加密,所以如果发起者102在确认消息 700中包括正确的安全令牌702,则证明发起者102能够解密响应者消息600 的经加密的部分。从响应者104向发起者102发送成功或失败的指示112。
安全令牌702在确认消息700中不是以明文发送的。在一实施例中, 安全令牌702是响应者和发起者都知道的数字,且使用例如从共享秘密中 导出的加密密钥来加密。另选地,安全令牌702是该共享秘密的摘要(散 列)。在期望最小化CPU资源的实施例中,实现了散列,因为散列通常比 加密算法需要更少的CPU资源来计算。
在一替换实施例中,两个随机数508、 608还可以被用来导出对称加密 密钥。该密钥可以与某一合适的加密算法一起使用,如AES (高级加密标 准),以加密在握手操作完成之后所发送的UPnP和/或HTTP业务。例如, 使用该加密密钥来加密正在从媒体服务器下载或流传输的内容可能是合乎 需要的。
在一实施例中,响应者104可以记录发起者102设备的以太网MAC 地址,并将其添加到已通过握手的设备的表中,和/或将其添加到已被授权 的设备(假定该设备也被成功授权)的表中。后续UPnP和HTTP请求将基 于该MAC地址是否在经授权的设备的表中而被接受或拒绝。
在本发明的另一实施例中,请求标识符参数担任会话标识符的角色。 在该实施例中,会话标识符在后续UPnP和HTTP请求中使用,以允许响应 者104 了解该请求起源于已完成握手操作的设备。
在一实施例中,会话标识符参数与先前描述的请求标识符相同。另选 地,会话标识符参数包括会话令牌。会话令牌根据第一和第二随机数来生 成,以使第一个生成的会话令牌不等于第二个生成的会话令牌。在另一替 换中,用一个输出参数来扩展确认动作。该新的输出参数是会话标识符,其只在确认动作成功的情况下才提供。
在本发明的一替换实施例中,会话标识符和安全令牌702被包括在
UPnP和HTTP请求中。在另一实施例中,安全令牌702在每一请求中都是 不相同的。在一替换中,安全令牌702是从一数字中导出的,且发起者102 和响应者104两者在每一 UPnP或HTTP请求时都递增该数字。另选地,安 全令牌702保持相同且在该摘要中计算附加数字(例如,当前时间);该 附加数字在每一 UPnP或HTTP请求时递增或是不同的。
在UPnP中,协议头部使用与HTTP头部相同的句法,所以定义对两 协议都有效的单个协议头部是可能的。在一实施例中,会话标识符和秘密 的摘要被包括在利用ABNF(扩充的巴克斯-诺尔范式(Backus-Naurform)) 句法的UPnP/HTTP头部中
"X-握手-Id:" <会话"(1> ":" <秘密的64基编码的摘要>
<会话"(1>字段是前述会话标识符参数,而<秘密的64基编码的摘要〉 字段是在应用64基编码来将共享秘密转换为ASCII表示之后,在其上计算 的摘要(散列)。
示例
X-Handshake-Id: 12345 : ab0fl2cd45eefl
(64基编码的摘要在此处是出于说明性的目的示出的,且在实践中将 更大)。在本发明的另一变型中,如以上定义的"X-Handshake-Id"头部等 头部只用于HTTP请求。
另选地,对于UPnP请求,该信息嵌入在UPnP请求消息内部。以下是 以XML句法的示例
<formula>formula see original document page 15</formula>
现在参考图2,该附图示出根据本发明的实施例的发起者消息的创建。 在202处,第一便携式媒体设备经由网络来广播消息,通告所主存的UPnP 服务的可用性。在替换实施例中,该网络是对等网络。在另一实施例中,第一便携式媒体设备包括UPnP控制点而第二便携式媒体设备包括UPnP媒 体呈现器。另选地,第一便携式媒体设备包括UPnP媒体呈现器而第二便 携式媒体设备包括UPnP控制点。该服务包括握手服务和诸如内容目录服 务等至少一个附加UPnP服务。在一实施例中,该第一便携式媒体设备周 期性地广播UPnP NOTIFY消息,通告其所主存的服务的可用性。在一替换 实施例中,第二便携式媒体设备广播对握手服务的UPnP M-SEARCH请求, 该请求向网络上的、支持该M-SEARCH请求中的URN所标识的握手服务 的所有UPnP设备请求响应。在204处,第二便携式媒体设备生成第一随机数。在该替换中,该随 机数可以是字母和数字的任何组合。在一实施例中,该第一便携式媒体设 备是诸如响应者等UPnP设备,而第二便携式媒体设备是诸如图1所示的 发起者等UPnP端点。在一替换实施例中,第二便携式媒体设备也是UPnP 设备。在另一实施例中,该随机数将被包括在对第一便携式媒体设备的请 求中,并被用来生成可用于设备之间的进一步通信的对称加密的共享秘密。 另选地,该随机数被用来建立包括在设备之间的进一步通信中的会话标识 符。在206处,第二便携式媒体设备将标识信息和数字签名格式化到对第 一便携式媒体设备的请求中。在一实施例中,第二便携式媒体设备使用公 钥-私钥对中的私钥来签署来自可信授权机构的证书和第一随机数。该证书 包括第二便携式媒体设备的标识信息,该标识信息包括以下各项的至少一 个设备的设备型号、设备的序列号、和设备所支持的媒体格式的列表。 在一替换实施例中,包括在该请求中的数据被格式化到图5所示的二进制 发起者消息中。在208处,第二便携式媒体设备经由网络向主存握手服务的第一便携 式媒体设备发送该请求。当在局域网络环境中使用时,第一和第二便携式 媒体设备通过网络接口或适配器连接到LAN。当在广域网络环境中使用时, 第一和第二便携式媒体设备通常包括网卡或用于通过诸如因特网等WAN 建立通信的其它装置。网络环境中的连接可以是有线网络或直接线连接和 无线介质,如Wi-Fi、声学、RF、红外、和其它无线介质。所示的网络连接是示例性的,并且可以使用在第一和第二便携式媒体设备之间建立通信 链路的其它手段。现在参考图3,第一便携式媒体设备从第二便携式媒体设备接收该请求。下一步,在302-309处,第一便携式媒体设备根据第二便携式媒体设备的数字签名来认证第二便携式媒体设备。该认证建立第二便携式媒体设 备的身份。在302处,第一便携式媒体设备验证该数字签名是来自第二便携式媒 体设备的。在一实施例中,包括在发起者消息中的经签署的证书由可信授 权机构来验证。如果该数字签名未被验证,则第一便携式媒体设备在304 处丢弃该会话,并在306处关闭与第二便携式媒体设备的连接。在308处, 第一便携式媒体设备检査包括在该发起者消息中的证书是否是来自可信授 权机构的。如果该证书不是来自可信授权机构的,则第一便携式媒体设备 在304处丢弃该会话,并在306处关闭与第二便携式媒体设备的连接。一旦该设备得到认证,则在309处,第一便携式媒体设备根据证书的 标识信息来授权第二便携式媒体设备。在一替换实施例中,第一便携式媒 体查询第二便携式媒体设备来获得该第二便携式媒体设备所支持的媒体格 式的列表。在该实施例中,如果第二便携式媒体设备支持至少一个兼容格 式,则第一便携式媒体设备授权该第二设备。如果第二便携式媒体设备未 被授权,则第一便携式媒体设备在304处丢弃该会话,并在306处关闭与 第二便携式媒体设备的连接。有利的是,第一便携式媒体可以通过授权来将对其服务的访问限制到 得到许可的或批准的设备。例如,假定第一便携式媒体设备主存只流传输 高分辨率视频的服务。该第一便携式媒体设备将只授权能够呈现该高分辨 率视频内容的第二便携式媒体设备。第一便携式媒体设备通过第二便携式 媒体设备的标识信息(例如,型号、序列号和所支持的媒体格式)来确定 第二便携式媒体设备是否能够呈现该高分辨率视频内容。在一实施例中,第一便携式媒体设备将经授权的和经认证的第二便携 式媒体设备的MAC以太网地址记录在表中。在该实施例中,第一便携式媒 体设备只接受来自其以太网MAC地址已被记录的设备的对所主存的服务17的请求,且该方法终止。另选地,再次参考图3,在310处,第一便携式媒体设备生成第一随机数。在该替换中,该随机数可以是字母和数字的任何组合。在312处, 第一便携式媒体设备生成安全令牌702。在一实施例中,安全令牌702是从 第一和第二随机数生成的共享秘密的散列,该两个随机数可用于设备之间 的进一步通信的对称加密(例如,AES)或用来建立包括在设备之间的进 一步通信中的会话标识符。在314处,第一便携式媒体设备将证书、数字签名和第二随机数格式 化到对第二便携式媒体设备的响应中。在一实施例中,第一便携式媒体设 备签署来自可信授权机构的证书,而第二便携式媒体设备可以使用该证书 和签名来认证第一便携式媒体设备。在一替换实施例中,包括在该请求中 的数据被格式化到图6所示的响应者消息中。在316处,第一便携式媒体设备选择对称加密密钥(例如,AES密钥) 并在318处使用所选择的密钥来加密所签署的证书、第二随机数和安全令 牌702。在320处,第一便携式媒体设备用第二便携式媒体设备的公钥来加 密所选择的AES密钥。有利的是,人类可读的认证串未被包括在该响应中, 因为AES密钥是使用第二便携式媒体设备的公钥来加密的。因此,只有具 有第二便携式媒体设备的私钥的设备才能够解密第一便携式媒体设备的证 书和该散列。在320处,第一便携式媒体设备经由网络向第二便携式媒体设备发送 响应消息。在一替换实施例中,请求标识符被包括在该响应中。该请求标 识符由第一便携式媒体设备用来将来自第二便携式媒体设备的后续UPnP 或HTTP请求与先前成功完成的授权和认证进行匹配。在另一实施例中, 该请求标识符被用来确认第二便携式媒体设备能够解密该响应消息中的证 书。在该实施例中,会话标识符被包括在该响应中,以将来自第二便携式 媒体设备的后续UPnP或HTTP请求与先前成功完成的授权和认证进行匹 配。现在参考图4,第二便携式媒体设备从第一便携式媒体设备接收该响 应。下一步,在402-412处,第二便携式媒体设备根据第一便携式媒体设18备的数字签名来认证该第一便携式媒体设备。该认证建立第一便携式媒体 设备的身份。在一实施例中,包括在响应消息中的经签署的证书由可信授 权机构来验证。在402处,第二便携式媒体设备使用其私钥来解密该响应消息中的 AES密钥。在404处,第二便携式媒体设备使用经解密的AES密钥来解密 第一便携式媒体设备的证书。在406处,第二便携式媒体设备验证该数字 签名是来自第一便携式媒体设备的。如果该数字签名未得到验证,则第二 便携式媒体设备在408处丢弃该会话,并在410处关闭与第一便携式媒体 设备的连接。在412处,第二便携式媒体设备检查包括在该响应消息中的 证书是否是来自可信授权机构的。如果该证书不是来自可信授权机构的, 则第二便携式媒体设备在408处丢弃该会话,并在410处关闭与第一便携 式媒体设备的连接。一旦第一便携式媒体设备得到认证,则在414处,第二便携式媒体设 备生成包括所接收到的请求标识符和经解密的散列的确认。在一替换实施 例中,包括在该确认中的数据被格式化到图7所示的确认消息中。在一实 施例中,用第一便携式媒体设备的公钥加密该确认的至少一部分。在一替 换实施例中,该请求标识符只在一段有限的时间内(例如,10秒)有效。 如果第二便携式媒体设备在该请求标识符期满之前不向第一便携式媒体设 备发送该确认,则认证和授权失败且第二便携式媒体设备必须再次在步骤 302处开始该过程。在416处,第二便携式媒体设备向第一便携式媒体设备 发送该确认。在418处,第一便携式媒体设备使用该第一便携式媒体设备的私钥来 解密从第二便携式媒体设备接收到的确认消息。在420处,第一便携式媒 体设备从第一和第二随机数计算安全令牌702。在422处,第一便携式媒体 设备将所计算的安全令牌与该确认消息的经解密的安全令牌702进行比较。 如果两个安全令牌不相等,则该确认失败且第一便携式媒体设备在408处 丢弃该会话,并在410处关闭与第二便携式媒体设备的连接。在424处,第一便携式媒体设备生成会话标识符。该会话标识符由第 一便携式媒体设备用来将来自第二便携式媒体设备的后续UPnP或HTTP请求与先前成功完成的授权和认证进行匹配。在一实施例中,该会话标识符等于请求标识符。在一替换实施例中,该会话标识符是与请求标识符不
相同的随机值。在426处,第一便携式媒体设备向第二便携式媒体设备返
回会话标识符,以指示该第二便携式媒体设备的认证和授权完成。
图8示出具有用于供媒体服务器授权和认证媒体呈现器的计算机可执行组件的计算机可读介质。在一实施例中,媒体呈现器和媒体服务器都是UPnP设备。另选地,媒体呈现器和媒体服务器都是便携式媒体设备。在第三替换方案中,媒体呈现器是UPnP端点而媒体服务器是UPnP设备。媒体服务器在开放网络中实现一个或多个UPnP服务。在一替换实施例中,该网络是对等网络。各组件包括接口组件802、验证组件804和安全组件806。
接口组件802经由网络从媒体呈现器接收请求。该请求与包括媒体呈现器的标识信息和数字签名的发起消息相关联。另外,接口组件802经由网络向媒体呈现器设备发送响应,指示该媒体呈现器是否已被媒体服务器认证和授权。
验证组件804根据该请求的数字签名来认证媒体呈现器。在一实施例中,该数字签名由可信授权机构来验证。另外,验证组件804根据该请求的标识信息来授权媒体呈现器设备。在一替换实施例中,查询媒体呈现器设备来获得所支持的媒体格式的列表。在该实施例中,如果媒体呈现器设备支持至少一个兼容的格式,则其被授权。
安全组件806在媒体呈现器被验证组件授权和认证的情况下向媒体呈现器授予对媒体服务器所实现的一个或多个服务的访问,并在媒体呈现器未被验证组件授权和认证的情况下向媒体呈现器拒绝访问。
出于说明的目的,诸如接口组件802、验证组件804和安全组件806等程序和其它可执行程序组件在此处作为分立的块来示出。然而,可以认
识到,这样的程序和组件在不同时间驻留在UPnP设备的不同存储组件中,并由该设备的数据处理器执行。
除非另有指定,否则此处所示和所述的本发明各实施例的操作的执行
或进行的次序不是必需的。即,除非另有指明,否则各操作可按照任何次序执行,且本发明的实施例可以包括比本文所公开的更多或更少的操作。
20例如,构想了在另一操作之前、同时或之后执行或进行某一操作是在本发明各方面的范围之内的。
本发明的各实施例可以用计算机可执行指令来实现。计算机可执行指令可以被组织为一个或多个计算机可执行组件或模块。本发明的各方面可以用任何数量的这些组件或模块及其任何组织来实现。例如,本发明的各方面不限于在各附图和本文中示出的特定的计算机可执行指令或者特定的组件或模块。本发明的其他实施例可以包括具有比在本文中示出和描述的更多或更少的功能的不同计算机可执行指令或组件。
当介绍本发明或其实施例的各方面的各元素时,冠词"一"、"一个"、"该"和"所述"指的是存在该元素的一个或多个。术语"包括"、"包含"、"具有"旨在是包括性的并且指的是可以有除所列元素之外的其它元素。
在不背离本发明各方面的范围的情况下,可对以上构造、产品和方法进行各种改变,以上描述中所包含的以及在附图中所示出的所有一切旨在应被解释为说明性并且没有限制意义。
权利要求
1. 一种用于在开放网络中的UPnP(通用即插即用)设备(104)和UPnP端点(102)之间建立安全连接的方法,其中所述UPnP设备(104)和UPnP端点(102)可以动态地加入和离开所述网络,所述方法包括UPnP设备(104)接收对UPnP服务的请求(500),所述请求是经由所述网络从UPnP端点(102)接收的,所述请求(500)包括与所述UPnP端点(102)相关联的标识信息(506)和数字签名;所述UPnP设备(104)根据所接收到的所述UPnP端点(102)的数字签名来认证所述UPnP端点(102),以验证所述UPnP端点(102)的身份;所述UPnP设备(104)根据所接收到的标识信息(506)来授权所述UPnP端点(102),以准许对所述UPnP设备(104)所实现的一个或多个服务的访问;从所述UPnP设备(104)向所述UPnP端点(102)发送响应,指示所述UPnP端点(102)是否已被所述UPnP设备(104)认证和授权。
2. 如权利要求1所述的方法,其特征在于,所述标识信息包括可信授权机构所提供的证书,所述可信授权机构提供所述请求的数字签名。
3. 如权利要求2所述的方法,其特征在于,所述证书包括所述UPnP端点的公钥,且所述方法还包括用所述UPnP端点的公钥来加密所述UPnP设备所提供的响应的至少一部分。
4. 如权利要求1所述的方法,其特征在于,所述标识信息包括以下各项的一个或多个所述UPnP端点的设备型号、所述UPnP端点的序列号、和所述UPnP端点所支持的媒体格式的列表。
5. 如权利要求1所述的方法,其特征在于,所述响应包括所述UPnP设备的证书,且所述方法还包括所述UPnP端点用所述UPnP设备的证书来认证所述UPnP设备。
6. 如权利要求1所述的方法,其特征在于,所述响应包括会话标识符,所述会话标识符被包括在后续请求中。
7. 如权利要求1所述的方法,其特征在于,所述请求包括所述UPnP端点所生成的第一随机数,且所述响应包括所述UPnP设备所生成的第二随机数,所述响应用所述UPnP端点的公钥来加密,且所述方法还包括所述UPnP设备从所述UPnP端点接收确认,所述确认包括所述UPnP端点根据所述第一随机数和经解密的第二随机数生成的安全令牌,所述第二随机数用所述UPnP端点的私钥来解密,所述UPnP端点的私钥对应于所述UPnP端点的公钥;以及响应于接收到所述确认,所述UPnP设备根据所述安全令牌来确认所述UPnP端点的认证和授权。
8. 如权利要求7所述的方法,其特征在于,还包括所述UPnP端点根据所述第一和第二随机数来生成共享秘密;以及所述UPnP端点根据所述共享秘密来生成所述安全令牌。
9. 如权利要求8所述的方法,其特征在于,所述安全令牌包括以下各项的一个或多个所述共享秘密的摘要;和所述UPnP端点和所述UPnP设备知道的、使用从所述共享秘密导出的加密密钥来加密的值。
10. 如权利要求7所述的方法,其特征在于,还包括所述UPnP设备生成会话标识符,所述会话标识符被包括在对所述UPnP端点的响应中,所述会话标识符还被包括在来自所述UPnP端点的后续请求和来自所述UPnP设备的后续响应中。
11. 如权利要求IO所述的方法,其特征在于,所述会话标识符包括会话令牌,且所述方法还包括根据所述第一和第二随机数来生成所述会话标识符,以便第一个生成的会话令牌不等于第二个生成的会话令牌。
12. 如权利要求11所述的方法,其特征在于,所述会话标识符和会话令牌被嵌入在以下各项的至少一个中XML请求和UPnP请求的HTTP头部。
13. 如权利要求l所述的方法,其特征在于,还包括所述UPnP设备根据所述UPnP端点的授权和认证来记录与所述UPnP端点相关联的地址,所述地址由所述UPnP设备用来标识来自所述UPnP端点的后续请求。
14. 如权利要求1所述的方法,其特征在于, 一个或多个计算机可读介质具有用于执行如权利要求1所述的方法的计算机可执行指令。
15. —种用于在开放网络中在多个UPnP (通用即插即用)便携式媒 体设备之间建立新的安全握手服务的方法,其中一个或多个所述UPriP便携式媒体设备可以动态地加入和离开所述网络,所述方法包括经由所述网络发送消息(202),所述消息通告第一便携式媒体设备所 主存的UPnP服务的可用性,所述服务包括所述握手服务和至少一个附加 UPnP服务;所述第一便携式媒体设备经由所述网络从第二便携式媒体设备接收发 起所述握手服务的第一请求(208),所述请求包括发起消息,所述发起消 息包括所述第二便携式媒体设备的标识信息和数字签名;所述第一便携式媒体设备根据所述第二便携式媒体设备的数字签名来 认证(302)所述第二便携式媒体设备,所述认证建立所述第二便携式媒体 设备的身份;所述第一便携式媒体设备根据所述请求的标识信息来授权(309)所述 第二便携式媒体设备,所述授权确定所述第二便携式媒体设备是否被准许 与所述第一便携式媒体设备通信;所述第一便携式媒体设备经由所述网络向所述第二便携式媒体设备发 送响应(322),所述响应指示所述第二便携式媒体设备是否已被所述第一 便携式媒体设备认证和授权;所述第一便携式媒体设备经由所述网络从所述第二便携式媒体设备接 收对所述第一便携式所主存的所述至少一个附加UPnP服务的第二请求 (416);其中如果所述第二便携式媒体设备被所述第一便携式媒体设备认证和授 权,则所述第二便携式媒体设备被允许访问主存在所述第一便携式媒体设 备上的所述至少一个附加UPnP服务;以及如果所述第二便携式媒体设备未被所述第一便携式媒体设备认证和授 权,则所述第二便携式媒体设备不被允许访问主存在所述第一便携式媒体 设备上的所述至少一个附加UPnP服务。
16. 如权利要求15所述的方法,其特征在于,所述第一便携式媒体 设备包括UPnP控制点而所述第二便携式媒体设备包括UPnP媒体呈现器。
17. 如权利要求15所述的系统,其特征在于,所述第一便携式媒体 设备包括UPnP媒体呈现器而所述第二便携式媒体设备包括UPnP控制点。
18. —个或多个具有用于供媒体服务器授权和认证媒体呈现器的计 算机可执行指令的计算机可读介质,其中所述媒体服务器在开放网络中实 现一个或多个UPnP服务,所述介质包括接口组件(802),用于经由所述网络从所述媒体呈现器接收请求,所述请求包括发起消息, 所述发起消息包括所述媒体呈现器的标识信息和数字签名;以及经由所述网络向媒体呈现器设备发送响应,所述响应指示所述媒体 呈现器是否已被所述媒体服务器认证和授权; 验证组件(804),用于根据所述媒体呈现器的数字签名来认证所述媒体呈现器,所述认证 建立所述媒体呈现器的身份;以及根据所述请求的标识信息来授权所述媒体呈现器,所述授权确定所 述媒体呈现器是否被准许与所述媒体服务器通信;以及 安全组件(806),用于如果所述媒体呈现器被所述验证组件授权和认证,则向所述媒体呈 现器授予对所述媒体服务器所实现的一个或多个服务的访问;以及如果所述媒体呈现器未被所述验证组件授权和认证,则向所述媒体 呈现器拒绝对所述媒体服务器所实现的一个或多个服务的访问。
19. 如权利要求18所述的计算机可读介质,其特征在于,还包括用 于供所述媒体呈现器响应于所述媒体服务器所发送的请求来认证和授权所 述媒体服务器的计算机可执行指令。
20. 如权利要求18所述的计算机可读介质,其特征在于,所述媒体 服务器和所述媒体呈现器是便携式媒体设备。
全文摘要
在主存一个或多个UPnP服务的开放网络中,在多个UPnP(通用即插即用)便携式媒体设备和端点之间实现安全握手服务。第一便携式媒体设备经由网络从第二便携式媒体设备接收对所主存的服务的第一请求。第一便携式媒体设备根据该请求的证书来认证授权第二便携式媒体设备。如果第二便携式媒体设备被第一便携式媒体设备认证和授权,则该第二便携式媒体设备被允许访问所请求的主存在该第一便携式媒体设备上的服务。
文档编号H04L9/32GK101523801SQ200780037857
公开日2009年9月2日 申请日期2007年10月10日 优先权日2006年10月13日
发明者A·凯尔门茨, B·K·达克斯塔, J·T·小沃尔特, K·斯瑞尼瓦斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1