用于提供单一服务签入的方法、设备和计算机程序产品的制作方法

文档序号:7733903阅读:135来源:国知局
专利名称:用于提供单一服务签入的方法、设备和计算机程序产品的制作方法
技术领域
本发明的实施方式总体地涉及移动通信技术,并且更具体地,涉及用于为web 和移动设备用户提供单一服务签入的方法、设备和计算机程序产品。
背景技术
现代通信时代已经带来了有线和无线网络的极大发展。计算机网络、电视网络 和电话网络正在经历由消费者需求驱动的空前技术发展。在提供更具灵活性和即时性的 信息传输的同时,无线和移动联网技术已经解决了相关的消费者需求。当前和未来的联网技术继续便于向用户提供便利的信息传输和方便。其中需要 进一步改进向用户提供便利的信息传输和方便的领域涉及通过网络认证用户对服务的 接入。这些服务中的某些对于个人计算机和其他计算设备的用户而言一般已经可用了一 段时间;然而最近,由于无线和移动联网技术以及处理能力的持续发展以及移动计算设 备中使用的高功率处理器和组件的小型化,这些服务中的某些已经对于移动终端用户变 得可用。这些服务的示例包括电子邮件、即时消息收发、多玩家游戏、端对端文件传 输、web浏览、社交网络以及照片托管(hosting)等。这些服务可能要求移动终端和其他计算设备的用户建立用户账户,并且在每次 使用服务时使用唯一的签入来对每个服务进行认证。例如,用户可能不得不对照片托管 服务进行认证,以便管理用户的在线相册。在使用照片托管服务时,用户可能希望向存 储服务上传照片或者访问存储服务中存储的照片以用于与照片托管服务相组合地使用。 这些存储服务可能要求用户在使用服务之前单独签入存储服务。由此,用户可能经历这 样的挫折必须记忆多个用户名和密码,以及在每次使用服务时单独签入每个服务。尽管某些现有服务已经尝试解决这种服务签入问题,诸如通过在互联网门户 (该互联网门户为经由web浏览器接入服务的用户提供对多个服务的接入)处提供单一签 入,但是现有的单一签入方案不能解决如下事实计算设备用户可以使用各种通信协议 在各种计算设备上通过各种应用用户接口来接入服务。这些服务中的某些它们自己可以 在用户服务会话期间代表用户接入其他服务。除了通过提供单一服务签入可以适于用户的益处以外,服务提供者也可以认识 到一些益处,其中认证职责可以通过公共服务认证接口而委派给单一管理实体。此外, 此类公共服务认证接口可以允许在应用和服务的公共库中使用,其可以流线化服务开发 和开发成本以及提供增强的安全性。由此,有利的是向用户提供一种提供单一签入的系统,其允许通过使用在使用 多个通信协议的多个设备上实现的多个应用接口,来调用多个服务。此类系统由此可以 解决至少上述某些缺点。

发明内容
由此,一种方法、设备和计算机程序产品提供用于支持向计算设备的用户提供单一服务签入。尤其是,一种方法、设备和计算机程序产品被提供用于支持例如设备的 用户签入一次,并且对于他所登录或者另外被授权使用的多个服务进行接入,而无需该 用户为使用其他服务而输入另外的签入信息。由于账户管理提供者可以接收并响应以多 个不同协议接收的请求,所提供的单一服务签入设备是设备和应用独立的。在一个示例性实施方式中,提供了一种方法,其可以包括接收来自远程实体 的对接入令牌的请求,其中该请求包括所请求服务的指示。该方法可以进一步包括确 定请求类型,其中该请求类型可以是用户标识和密码的组合、请求令牌交换或者接入令 牌交换。该方法可以进一步包括基于所确定的请求类型来提取包含在该请求中的一个 或者多个参数;以及至少部分地基于所提取的该一个或者多个参数来执行一个或者多个 安全性检查。该方法还可以包括至少部分地基于该一个或者多个安全性检查的结果来 创建接入令牌;以及向该远程实体提供上述接入令牌。在另一示例性实施方式中,提供了一种计算机程序产品。该计算机程序产品包 括至少一个计算机可读存储介质,其中该计算机可读存储介质具有存储于其中的计算机 可读程序代码部分。该计算机可读程序代码部分包括第一、第二、第三、第四、第五 和第六程序代码部分。第一程序代码部分用于接收来自远程实体的对接入令牌的请求, 其中该请求包括所请求服务的指示。第二可执行部分用于确定请求类型,其中该请求类 型可以是用户标识和密码的组合、请求令牌交换或者接入令牌交换。第三可执行部分用 于基于所确定的请求类型,提取在该请求中包括的一个或者多个参数。第四可执行部分 用于至少部分地基于所提取的该一个或者多个参数,执行一个或者多个安全性检查。第 五可执行部分用于至少部分地基于该一个或者多个安全性检查的结果,创建接入令牌。 第六可执行部分用于向该远程实体提供该接入令牌。在另一示例性实施方式中,提供一种设备,该设备可以包括处理器。处理器可 以被配置用于接收来自远程实体的对接入令牌的请求,其中该请求包括所请求服务的 指示。处理器可以进一步配置用于确定请求类型,其中该请求类型可以是用户标识和 密码的组合、请求令牌交换或者接入令牌交换。处理器还可以配置用于基于所确定的 请求类型来提取包含在该请求中的一个或者多个参数;以及至少部分地基于所提取的该 一个或者多个参数来执行一个或者多个安全性检查。处理器还可以配置用于至少部分 地基于该一个或者多个安全性检查的结果来创建接入令牌;以及向该远程实体提供该接 入令牌。在另一示例性实施方式中,提供了一种设备。该设备可以包括用于接收来 自远程实体的对接入令牌的请求的装置,其中该请求包括所请求服务的指示。该设备可 以进一步包括用于确定请求类型的装置,其中该请求类型可以是用户标识和密码的组 合、请求令牌交换或者接入令牌交换。该设备还可以包括用于基于所确定的请求类型 来提取包含在该请求中的一个或者多个参数的装置。该设备可以进一步包括用于至少 部分地基于所提取的该一个或者多个参数来执行一个或者多个安全性检查的装置。该设 备还可以包括用于至少部分地基于该一个或者多个安全性检查的结果来创建接入令牌 的装置。该设备还可以包括用于向该远程实体提供该接入令牌的装置。


由此,已经以概括形式描述了本发明的实施方式,现在将参考附图,该附图不 必按比例绘制,并且在附图中图1是根据本发明示例性实施方式的移动终端的示意性框图;图2是示出根据本发明的示例性实施方式的无线通信系统的示例性框图;图3示出了根据本发明示例性实施方式的用于提供单一服务签入的系统的框 图;图4示出了根据本发明另一示例性实施方式的用于提供单一服务签入的系统的 框图;图5是根据本发明示例性实施方式的用于提供单一服务签入的示例性方法的流 程图;以及图6是根据本发明示例性实施方式的用于提供单一服务签入的示例性方法的流 程图。
具体实施例方式在下文中,现在将参考附图更全面地描述本发明的实施方式,在附图中示出了 本发明的某些但并非全部实施方式。实际上,本发明可以以各种不同形式实现,而其并 不旨在构成对在此阐明的实施方式的限制;而是,提供这些实施方式以便本公开满足适 用的法律要求。贯穿全文,类似的参考数字表示类似的元件。图1示出了可以受益于本发明实施方式的移动终端10的框图。然而,应当理 解,所示出以及在此后描述的移动终端仅仅是受益于本发明实施方式的一种类型电子设 备的示范,因此,不应用来限制本发明实施方式的范围。尽管出于示例目的而示出并在 此后描述了电子设备的多个实施方式,但是其他类型的电子设备也可以采用本发明,其 中电子设备诸如便携式数字助理(PDA)、寻呼机、膝上型计算机、台式计算机、游戏设 备、电视以及其他类型的电子系统。如图所示,移动终端10可以包括天线12,其与发射机14和接收机16进行通 信。移动终端还可以包括控制器20或者其他处理器,其分别提供去往发射机的信号和 接收来自接收机的信号。这些信号可以包括按照适用蜂窝系统的空中接口标准和/或 任意数量的不同的无线联网技术的信令信息,包括但不限于无线保真(Wi-Fi)、无线 LAN(WLAN)技术,诸如IEEE 802.11,等等。另外,这些信号可以包括语音数据、用 户生成的数据、用户请求的数据,等等。就此,移动终端能够利用一个或多个空中接口 标准、通信协议、调制类型以及接入类型等来进行操作。更具体地,移动终端能够根据 各种第一代(IG)、第二代(2G)、2.5G、第三代(3G)通信协议、第四代(4G)通信协议 等来进行操作。例如,移动终端能够按照2G无线通信协议IS-136 (TDMA)、GSM和 IS-95 (CDMA)来进行操作。另外例如,移动终端能够按照2.5G无线通信协议GPRS、 EDGE等进行操作。此外,例如移动终端能够按照3G无线通信协议(诸如UMTS、 CDMA2000、WCDMA和TD-SCDMA)进行操作。另外,移动终端还能够按照3.9G无 线通信协议(诸如,LTE或者E-UTRAN)进行操作。另外,例如移动终端还能够按照第 四代(4G)无线通信协议等以及在未来开发的类似无线通信协议来进行操作。
一些NAMPS以及TACS移动终端还可以受益于本发明的实施方式,双模或者更 高模式的电话(例如,数字/模拟或者TDMA/CDMA/模拟电话)也是如此。另外,移 动终端10能够根据无线保真(Wi-Fi)协议操作。应该理解,控制器20可以包括实现移动终端10的音频和逻辑功能所需的电路。 例如,控制器20可以是数字信号处理器设备、微处理器设备、模数转换器、数模转换器 等。移动终端的控制和信号处理功能可以按照这些设备各自的能力在其间分配。控制器 可以另外包括内部语音编码器(VC) 20a、内部数字调制解调器(DM) 20b等。此外,控制 器可以包括对可以存储在存储器中的一个或多个软件程序进行操作的功能。例如,控制 器20能够操作连接程序,诸如Web浏览器。连接程序可以允许移动终端10按照例如无 线应用协议(WAP)、超文本传输协议(HTTP)等的协议,来发射和接收Web内容(诸如 基于位置的内容)。移动终端10能够使用传输控制协议/因特网协议(TCP/IP)来跨越 因特网50发射和接收Web内容。移动终端10还可以包括用户接口,其包括例如耦合至控制器20的传统耳机或者 扬声器24、振铃器22、麦克风26、显示器28以及用户输入接口等。尽管未示出,移动 终端可以包括电池用于对与移动终端相关的各种电路(例如,提供作为可检测输出的机 械振动的电路)进行供电。用户输入接口可以包括允许移动终端接收数据的设备,例如 小键盘30、触摸显示器(未示出)、控制杆(未示出)和/或其他输入设备。在包括小 键盘的实施方式中,小键盘可以包括传统的数字键(0-9)和相关键(#、*),和/或用于 操作移动终端的其他键。如图1所示,移动终端10还可以包括一个或者多个用于共享和/或获取数据的 装置。例如,移动终端可以包括近程射频(RF)收发机和/或询问机64,从而可以根据 RF技术与电子设备共享数据,和/或从电子设备获取数据。移动终端可以包括其他近 程收发机,例如红外(IR)收发机66、蓝牙(Bluetooth ) (BT)收发机68,其使用由蓝牙 (Bluetooth )特别兴趣组开发的蓝牙(Bluetooth )品牌无线技术等操作。蓝牙收发机68 能够根据Wibree 无线电标准操作。就此,移动终端10以及特别是近程收发机能够向 在移动终端附近(诸如,在10米内)的电子设备发射数据,和/或从该电子设备接收数 据。尽管未示出,但是移动终端能够根据各种无线联网技术向电子设备发射数据,和/ 或从电子设备接收数据,该无线联网技术包括无线保真(Wi-Fi)、诸如IEEE 802.11技术 的WLAN技术,和/或其他。移动终端10可以包括存储器,诸如用户身份模块(SIM) 38、可移除用户身份模 块(R-UIM)等,其可以存储关于移动用户的信元。除了 SIM之外,移动终端还可以包括 其他可移除和/或固定存储器。就此,移动终端可以包括易失性存储器40,例如易失性 随机存取存储器(RAM),其可以包括用于数据临时存储的高速缓存区域。移动终端可以 包括其他非易失性存储器42,其可以是嵌入式的和/或可移除的。非易失性存储器42可 以包括EEPROM、闪存等。存储器可以存储一个或者多个软件程序、指令、多条信息、 数据等,其可以由移动终端所使用而用于执行移动终端的功能。例如,存储器可以包括 能够唯一标识移动终端10的标识符,诸如全球移动设备标识(IMEI)码。现在参见图2,借助于示例而并非限制性地提供了一种类型的可以支持往来于电 子设备(诸如,图1的移动终端)进行通信的系统的示例。如图所示,一个或多个移动终端10每个都可以包括天线12,以用于将信号发射至基地或基站(BS)44以及用于从其 接收信号。基站44可以是一个或多个蜂窝或移动网络的一部分,每个网络可以包括操作 该网络所需的元件,例如移动交换中心(MSC)46。如本领域技术人员公知的,移动网络 还可以被称为基站/MSC/互联功能(BMI)。在操作中,当移动终端10进行和接收呼叫 时,MSC 46能够路由去往和来自移动终端10的呼叫。当呼叫涉及移动终端10时,MSC 46还可以提供到陆地线主干的连接。此外,MSC 46能够控制去往和来自移动终端10的 消息的转发,并且还能够控制去往和来自消息收发中心的、针对移动终端10的消息的转 发。应当注意,尽管在图2的系统中示出了 MSC 46,但是MSC 46仅仅是示例性网络设 备,并且本发明不限于在采用MSC的网络中使用。MSC 46可以耦合至数据网络,诸如局域网(LAN)、城域网(MAN)和/或广域 网(WAN)。MSC 46可以直接耦合至数据网络。然而,在一个典型实施方式中,MSC 46耦合至GTW 48,而GTW 48可以耦合至例如因特网50的WAN。继而,诸如处理元件 (例如,个人计算机、服务器计算机等)的设备可以经由因特网50耦合至移动终端10。 例如,如下所述,处理元件可以包括与下文描述的计算系统52(图2中示出了两个)、源 服务器54 (图2中示出了一个)等相关联的一个或多个处理元件。如图2所示,BS 44还可以耦合至信令GPRS(通用分组无线服务)支持节点 (SGSN)56。如本领域技术人员公知的,SGSN 56能够执行类似于MSC 46的功能,以 用于分组交换服务。与MSC 46类似,SGSN 56可以耦合至诸如因特网50的数据网络。 SGSN 56可以直接耦合至数据网络。备选的是,SGSN 56可以耦合至分组交换核心网, 诸如GPRS核心网58。分组交换核心网继而可以耦合至另一 GTW 48,诸如GTW GPRS 支持节点(GGSN)60,而GGSN 60可以耦合至因特网50。除了 GGSN 60之外,分组交 换核心网还可以耦合至GTW 48。另外,GGSN 60可以耦合至消息收发中心。就此,类 似于MSC 46,GGSN 60和SGSN 56能够控制消息(诸如MMS消息)的转发。GGSN 60和SGSN 56还能够控制去往和来自消息收发中心的、针对移动终端10的消息的转发。此外,通过将SGSN 56耦合至GPRS核心网58和GGSN 60,诸如计算系统52 和/或源服务器54的设备可以经由因特网50、SGSN 56以及GGSN 60耦合至移动终端 10。就此,诸如计算系统52和/或源服务器54的设备可以跨越SGSN 56、GPRS核心 网58以及GGSN 60来与移动终端10通信。通过将移动终端10以及其他设备(例如, 计算系统52、源服务器54等)直接或者间接地连接至因特网50,移动终端10例如可以 按照超文本传输协议(HTTP)等来与其他设备通信以及相互之间彼此通信,由此执行移 动终端10的各种功能。尽管在图2中没有示出,以及在此没有描述每个可能的移动网络的每个元件, 但是应当意识到,诸如移动终端10的电子设备可以通过BS 44耦合至多个不同网络中的 任意的一个或多个。就此,网络能够支持按照多个第一代(1G)、第二代(2G)、2.5G、 第三代(3G)、第四代(4G)和/或未来的移动通信协议等中的任意一个或多个协议的通 信。例如,一个或多个网络能够支持按照2G无线通信协议IS-136 (TDMA)、GSM和 IS-95 (CDMA)的通信。而且,例如,一个或多个网络能够支持按照2.5G无线通信协议 GPRS、增强数据GSM环境(EDGE)等的通信。此外,例如,一个或多个网络能够支持 按照3G无线通信协议的通信,其中3G无线通信协议诸如E-UTRAN或者使用宽带码分多址(WCDMA)无线接入技术的通用移动电信系统(UMTS)网络。一些窄带模拟移动电 话服务(NAMPS)网络以及TACS网络以及双模或者更多模的移动台(例如,数字/模拟 或者TDMA/CDMA/模拟电话)也可以得益于本发明的实施方式。如图2所示,移动终端10还可以耦合至一个或多个无线接入点(AP) 62。AP 62 可以包括被配置为按照诸如以下技术来与移动终端10进行通信的接入点射频(RF)、 蓝牙(Bluetooth ) (BT)、红外(IrDA)或者多种不同的无线网络互联技术中的任意技 术,其中无线网络互联技术包括诸如IEEE 802.11 (例如,802.11a、802.11b、802.llg、 801.11η 等)的无线 LAN(WLAN)技术、Wibree 技术、诸如 IEEE 802.16 的 WiMAX 技 术、无线保真(Wi-Fi)技术和/或诸如IEEE 802.15的超宽带(UWB)技术等。AP 62可 以耦合至因特网50。类似于MSC 46,AP 62可以直接耦合至因特网50。然而,在一个 实施方式中,AP 62经由GTW 48间接耦合至因特网50。此外,在一个实施方式中,可 以将BS 44视作另一 AP 62。将会意识到,通过将移动终端10和计算系统52、源服务器 54和/或多个其他设备中的任意设备直接或者间接地连接至因特网50,移动终端10可以 彼此进行通信,与计算系统进行通信,等等,由此来执行移动终端10的各种功能,例如 将数据、内容等发射至计算系统52和/或从计算系统52接收内容、数据等。这里使用 的术语“数据”、“内容”、“信息”以及类似术语可以互换使用,用来表示能够根据 本发明的实施方式而被发射、接收和/或存储的数据。由此,不应将任何这种术语的使 用作为对本发明实施方式的精神以及范围的限制。尽管未在图2中示出,除了跨越因特网50将移动终端10耦合至计算系统52和 /或源服务器54之外或者作为替代,还可以按照例如RF、BT、IrDA或者多种不同的有 线或无线通信技术(包括LAN、WLAN> WiMAX>无线保真(Wi_Fi)、Wibree 和/或 UWB技术)中的任意技术,来将移动终端10、计算系统52和源服务器54彼此耦合和通 信。一个或多个计算系统52可以附加地或者备选地包括可移除存储器,其能够存储随后 可以传送给移动终端10的内容。此外,移动终端10可以耦合至一个或多个电子设备, 诸如打印机、数字投影仪和/或其他多媒体捕获、产生和/或存储设备(例如,其他终 端)。类似于计算系统52,移动终端10可以被配置为按照例如RF、BT、IrDA或者多种 不同的有线或无线通信技术(包括USB、LAN、Wibree > Wi-Fi> WLAN、WiMAX和 /或UWB技术)中的任意技术来与便携式电子设备进行通信。就此,移动终端10能够 经由近程通信技术与其他设备通信。例如,移动终端10可以与装备有近程通信收发机80 的一个或者多个设备51进行无线近程通信。电子设备51可以包括多个不同设备和变换器 中的任意一个,其能够根据多个不同近程通信技术(包括但不限于Bluetooth 、RFID、 IR、WLAN、红外数据协会(IrDA)等)中的任意一个,来发射和/或接收数据。电子设 备51可以包括多个不同的移动或者静止设备中的任意一个,包括其他移动终端、无线附 件、应用、便携式数字助理(PDA)、寻呼机、膝上型计算机、运动传感器、轻型交换机 和其他类型的电子设备。图3示出了根据本发明一个示例性实施方式的提供单一服务签入的系统300的框 图。如在此使用,“示例性”只意味着示例,且由此表示本发明的一个示例实施方式, 而不应认为以任何方式缩窄本发明的范围或者精神。应当注意,除了在此示出和描述的 那些以外,本发明的范围涵盖多种潜在的实施方式。将出于示例目的,组合图1的移动终端10以及图2的系统47来描述系统300。然而,应当注意,图3的系统还可以与各种 其他设备(移动的或者固定的)相组合来使用,并且由此,本发明的实施方式不应限制于 诸如图1的移动终端10的设备上的应用。此外,应当注意,图3的系统可以与各种网络 配置或者协议中的任一项相组合使用,而不限于使用图2的系统47方面的实施方式。还 应当注意,尽管图3示出了提供单一服务签入的系统的配置的一个示例,多个其他配置 还可以用于实现本发明的实施方式。现在参考图3,系统300可以包括服务提供者302、账户管理提供者304以及客户 端设备306。服务提供者302和账户管理提供者304可以各自实现为任何计算设备或者多 个计算设备的组合。就此,服务提供者302和账户管理提供者304例如可以各自实现为服 务器或者服务器集群。系统300的实体可以通过通信链路308彼此进行通信。这些通信 链路可以是任何计算机网络结构,诸如图2的系统47,并且可以使用任何通信协议或者通 信协议的组合,该协议或者其组合可以促进服务提供者302、账户管理提供者304以及客户 端设备306之间的设备间通信。此外,尽管系统300出于示例目的仅示出一个服务提供者 302和客户端设备306,但是系统300可以包括多个服务提供者302和客户端设备306。服务提供者302可以向远程用户提供服务。如在此所述,“服务”可以包括数 据或者其他内容以及服务,诸如,电子邮件、即时消息收发、多玩家游戏、端对端文件 传输、web浏览、社交网络、照片托管、视频托管、以及可以通过网络或者通信链路(诸 如通信链路308)而由远程计算设备接入和/或向远程计算设备提供的其他多媒体托管服 务。就此,服务向用户提供某些功能。在一个示例性实施方式中,服务提供者302可以 包括处理器310、服务用户接口 312、客户端认证单元314、存储器316和通信接口 318。处理器310可以多种不同方式实现。例如,处理器310可以实现为微处理器、 协处理器、控制器或者各种其他处理装置或者元件,包括集成电路,例如ASIC(专用集 成电路)或者FPGA(现场可编程门阵列)。在一个示例性实施方式中,处理器310可以 配置用于执行在处理器316中存储或者另外对处理器310可访问的指令。服务用户接口 312可以与处理器310通信,以便接收由通信接口 318接收的请求 或者用户输入的指示,和/或经由通信接口 318向用户提供可听、可视、机械的或者其他 输出。这些输出可以便于用户使用由服务提供者302提供的服务或者与其交互。由此, 服务用户接口 312可以通过通信链路308向诸如向客户端设备306的用户设备提供例如可 以经由通信接口 318被传送的web页面、GUI或者其他交互装置。就此,服务用户接口 312可以被配置用于处理所提供的服务供应,该服务供应是由服务提供者302向经认证的 客户端设备306的用户、以及向可以调取由服务提供者302提供的服务的其他服务提供者 提供的。客户端认证单元314可以实现为硬件、软件、固件或者其中的某些组合,并且 可以实现为或者另外由处理器310控制。在客户端认证单元314分离于处理器310实现 的实施方式中,客户端认证单元314可以与处理器310通信。客户端认证单元310可以 被配置用于接收来自客户端设备306或者来自另一服务提供者(合称为“请求客户端”) 的服务接入请求。客户端认证单元310可以进一步被配置用于构造并向另一服务提供者 发送服务接入请求消息。在一个示例性实施方式中,客户端认证单元310可以被配置用 于确定请求客户端的类型以及用于做出请求的客户端应用的类型。另外,客户端认证单元314可以被配置用于确定是否存在用于请求客户端和/或其用户的现有签入会话,诸如 如下情况请求客户端或者用户先前已经被客户端认证单元314认证用于一个尚未过期 的使用会话。“服务接入请求消息”可以是指示或者请求使用或者接入由服务提供者302提供 的服务的、来自任何远程设备的任何消息或者其他指示。就此,服务接入请求消息可以 包括一个或者多个参数。如在此使用,“参数”可以包括一位标记指示符、包括多位的 值或者指示、以及可以附加到或者包括于消息体中的文件或者对象。就此,参数可以包 括在消息体、签名或者消息头中。服务接入请求消息例如可以包括一个或者多个以下参 数接入令牌、请求令牌、用户标识、密码、密码的哈希、客户端密钥、客户端秘密、 令牌秘密、服务秘密和服务密钥。另外,这些参数中的一个或者多个可以用于对这些信 息进行标记。在某些实施方式中,包括在服务请求消息中的参数可以符合OAuth协议。如在此使用,术语“接入令牌”是指具有信息的元组,其可以由账户管理提供 者304以在此进一步描述的方式创建。就此,诸如基于账户管理提供者304关于接入由 服务提供者302提供的服务的确定,“接入令牌”可以与服务的特定用户或者消费者相 关联并且用作用户已经允许的指示。接入令牌可以进一步指示或者另外与信息相关联, 该信息指示诸如用户的接入权限的时间或者范围的程度。由此,接入令牌可以在使用时 间、使用范围和/或服务的使用数量方面受到限制。如在此使用,术语“请求令牌”是指将服务绑定至经认证用户会话的元组。请 求令牌可以例如在服务接入请求消息中被提供至服务提供者302。客户端认证单元310继 而可以被配置用于从消息中取回请求令牌,并将其提供至账户管理提供者以交换接入令 牌。如在此使用,“秘密”是指诸如唯一字母数字值之类的秘密,其与客户端、服务或 者令牌(也即,“客户端秘密”、“服务秘密”或者“令牌秘密”)相关联。尽管有时 出于示出目的而被单独称为“客户端密钥”和“服务密钥”,但是该术语是可互换的并 且可以统称为“客户端密钥”。此外,尽管有时出于示出目的而被单独称为“客户端秘 密”和“服务秘密”,该术语是互换的并且可以统称为“客户端秘密”。客户端认证单元310可以进一步被配置用于从服务接入请求消息中取回或者提 取(诸如,通过解析)参数。就此,客户端认证单元可以被配置用于使用从服务接入请求 消息提取的参数,以构造并发送令牌信息请求消息和/或创建接入令牌请求消息。令牌信 息请求消息是指这样的消息,其可以针对于账户管理提供者304,请求有关接入令牌的信 息,而该信息已经诸如在服务接入请求消息中由服务提供者302接收。创建接入令牌请求 消息是指这样的消息,其诸如在针对先前提交的接入令牌的交换中或者在针对请求令牌的 交换中被引导至请求创建和提交接入令牌的账户管理提供者304。由此,客户端认证单元 310可以进一步被配置用于接收来自账户管理提供者304的接入令牌的以及令牌信息消息。客户端认证单元314可以进一步被配置用于认证已接收的接入令牌。就此,客 户端认证单元314可以被配置用于验证已接收的接入令牌与用户、客户端设备306和/ 或进行服务接入请求的服务提供者相关联,并且验证接入令牌仍然有效。验证接入令牌 的有效性可以包括例如验证接入令牌尚未过期,诸如由于超出时间限制或者被授予的使 用次数用尽。客户端认证单元314可以被配置用于通过任意数量的装置执行此验证,诸 如,将服务接入请求中所接收的参数与在令牌信息消息中所接收的参数进行比较。附加地或者备选地,客户端认证单元314可以被配置用于通过计算安全性密钥和/或哈希来认 证接入令牌。这些计算可以基于在服务接入请求和/或令牌信息消息中接收的参数。此 外,为了认证的目的,可以将经计算的值与在服务接入请求和/或令牌信息消息中接收 的参数进行比较。客户端认证单元314可以进一步被配置用于基于接入令牌认证的结果 来确定用户接入的级别。客户端认证单元314因此可以被配置用于与服务用户接口 312 通信,以便提供指示对所请求服务的用户接入级别的指令。在某些实施方式中,客户端认证单元314可以根据适当的认证协议,经由在客 户端设备306上执行的web浏览器应用(也称作“客户端web浏览器应用”),向接入 由服务提供者302提供的服务的用户提供用户认证。在某些实施方式中,使用的认证 协议可以根据安全声明标记语言(SAML)标准。然而,本发明的实施方式不限于使用 SAML,并且应当注意,在此讨论中使用SAML之处,可以使用另一适当的web协议、语 言或者标准。就此,客户端认证单元314可以被配置用于比如经由web页面接口接收用 户登录(也称作“登入”或者“签入”)信息,以及被配置用于利用编码为参数的认证 请求,将web浏览器应用重定向至账户管理提供者304。客户端认证单元314可以进一 步被配置用于接收来自账户管理提供者304的web浏览器应用重定向,其可以包括SAML 伪像(artifact)。在某些实施方式中,客户端认证单元314可以被配置用于向账户管理提 供者304发送包括SAML伪像的消息,请求账户管理提供者304解析伪像,并且响应于 该请求而接收来自账户管理提供者304的SAML声明。SAML声明可以包括对于服务提 供者302已知的客户端的账户标识或者其指示和请求令牌。客户端认证单元314可以进 一步被配置用于指令服务用户接口 312 根据由客户端认证单元314确定的用户的接入许 可,向客户端的web浏览器应用提供经认证的用户的服务主页。存储器316可以包括例如易失性存储器和/或非易失性存储器。存储器316可 以被配置用于存储信息、数据、应用、指令等,用于支持设备执行根据本发明示例性实 施方式的各种功能。例如,存储器316可以被配置用于缓存由处理器310处理的输入数 据。附加地或者备选地,存储器316可以被配置用于存储由处理器316执行的指令。另 外,另一备选是,存储器316可以是存储静态和/或动态信息形式的信息的多个数据库之 一,所述信息例如与移动终端上下文信息、互联网服务上下文信息、用户状态指示符、 用户活动等相关联。就此,存储器316可以存储例如所接收消息、从所接收消息提取的 参数、关于已注册服务用户的信息、和/或关于已注册客户端设备304的信息。所存储 的信息可以由服务用户接口 312和/或客户端认证单元314使用用于执行其相应功能。通信接口 318可以实现为以硬件、软件、固件或者其组合形式实现的任何设备 或者装置,被配置用于从网络和/或与服务提供者302通信的任何其他设备或者模块接收 数据,或者用于向其发送数据。通信接口 318可以实现为或者由处理器310控制。就 此,通信接口 318可以包括例如天线、发射机、接收机、收发机和/或用于经由通信链路 308支持与系统300的其他实体进行通信的支持硬件或者软件。由此,经由通信接口 318 和通信链路308,服务提供者302可以与账户管理提供者304和/或客户端设备306进行 通信。就此,通信接口 318可以与服务用户接口 312、客户端认证单元314和存储器进行 通信。通信接口 318可以被配置用于使用任何联网协议与系统300的远程设备进行通信。 在示例性实施方式中,通信接口 318可以被配置用于使用超文本传输协议(HTTP)安全扩展(诸如,传输层安全(TLS)或者安全套接层(SSL))进行通信。通信接口 318可以进 一步被配置用于传输和接收根据各种web协议制定格式的请求、数据和消息,该各种web 协议诸如超文本标记语言(HTML)、可扩展标记语言(XML)和/或其安全性扩展,诸如 安全声明标记语言(SAML)。现在参考图3的账户管理提供者304,账户管理提供者304可以用作关于已注册 服务用户的数据的仓库,并且由此可以包括与已注册服务的用户相关联的多个存储的账 户标识和密码,其例如可以存储在存储器326中。就此,账户管理提供者304可以存储 关于多个已注册服务的用户的数据,以及每个已注册服务用户可以与多个账户标识(诸 如,用户名称和密码组合,与不同服务相关联的每个组合)相关联。账户管理提供者可 以管理或者另外与多个服务提供者302通信,以便提供单一服务签入和中央化的用户认 证管理器。在示例性实施方式中,账户管理提供者304可以包括处理器320;用于确定 请求类型的装置,用于基于确定的请求类型而提取包含在请求中的一个或者多个参数的 装置,用于执行一个或者多个安全性检查的装置,以及用于创建接入令牌的装置,诸如 令牌创建单元322 ;令牌验证单元324 ;存储器326 ;以及用于接收对于接入令牌的请求 的装置,以及用于向远程实体提供接入令牌的装置,诸如通信接口 328。处理器320可以多种不同方式实现。例如,处理器320可以实现为微处理器、 协处理器、控制器或者包括集成电路的种其他处理装置或者元件,例如ASIC (专用集成 电路)或者FPGA(现场可编程门阵列)。在一个示例性实施方式中,处理器320可以被 配置用于执行存储在处理器326中的或者对处理器320可访问的指令。令牌创建单元可以实现为以软件、硬件、固件或者其组合实现的任何设备或者 装置,并且可以实现为由处理器320或者由其控制。令牌创建单元322可以被配置用于创 建接入令牌和/或请求令牌,诸如响应于令牌请求(称为“创建接入令牌请求消息”)。 就此,令牌创建单元322可以被配置用于接收创建接入令牌请求消息,该消息诸如来自 服务提供者302或者客户端设备306。令牌创建单元322可以被配置用于诸如基于在创建 接入令牌请求中包括的参数来确定创建接入令牌请求的类型。创建接入令牌请求类型可 以包括例如用户标识和密码组合,其中接入令牌可以基于所接收的用户标识和/或密码 而创建;请求令牌交换,其中接入令牌可以基于所接收请求令牌而创建;以及接入令牌 交换,其中接入令牌可以基于所接收的接入令牌而创建,该接入令牌可以是先前创建的 或者由令牌创建单元322发布。由此,令牌创建单元322可以被配置用于基于所确定的 请求类型来提取在创建接入令牌请求中包括的一个或者多个参数。这些参数例如可以包 括,一个或者多个用户标识、密码的哈希、客户端密钥、客户端秘密、先前发布的接入 令牌以及请求令牌。令牌创建单元322可以被配置用于使用提取的参数来执行一个或者多个安全性 检查,以便认证请求用户或者客户端。例如,令牌创建单元322可以将已提取的参数与 存储器326中存储的用户数据进行比较。就此,令牌创建单元322可以验证所提取的用 户标识以及密码是已知的,并且彼此相对应。附加地或者备选地,令牌创建单元322可 以被配置用于,验证客户端标识(诸如请求服务提供者302或者客户端设备30的标识)、 用户标识和所请求的服务之间的关联。附加地或者备选地,令牌创建单元322可以被配 置用于验证在创建接入令牌请求消息中包括的签名。附加的或者备选地,令牌创建单元322可以进一步被配置用于验证在已提取请求令牌、客户端密钥、客户端秘密以及所请求 服务之间的关联。另外,附加地或者备选地,令牌创建单元322可以被配置用于验证在 已提取的先前发布的接入令牌、相关令牌秘密、客户端秘密和所请求服务之间的关联。 此外,令牌创建单元322可以被配置用于基于存储在存储器326中的数据执行安全性检 查,其中该数据可以指示与请求用户或者客户端相关联的预定义的许可级别。基于所执行的安全性检查,令牌创建单元322可以被配置用于基于与请求相关 联的用户、与创建接入令牌请求相关联的所请求服务和/或请求客户端设备306来创建具 有限定的服务接入权限的接入令牌,诸如对于特定内容或者服务供给的接入的程度、使 用权限或者限制、期满时间、多个允许使用、多个许可的用户和/或相关联许可用户的 指示、一个或者多个相关联服务(对于所述服务,接入令牌可以被使用)的指示、和/或 其他类似权限或者约束。就此,某些请求用户或者客户端可以比其他用户或者客户端更 为“可信”,这在于,可信的用户或者可信的客户端可以比常规用户或者客户端具有更 多服务使用或者接入权限。例如,如果照片托管服务和音乐托管服务各自作为尝试使用 存储设备的客户端,照片托管服务可以比音乐托管服务更为可信,并且被赋予对存储设 备的更高使用权限,诸如,基于所需存储空间或者另外基于各自请求服务请求的存储空 间,或基于知识产权权限方面的考虑,该考虑是由在存储服务上存储潜在侵权音乐文件 而由音乐托管服务提高。令牌创建单元322可以进一步被配置用于响应于接收用于解析(resolve) SAML伪 像的请求而创建请求令牌。另外,令牌创建单元322可以被配置用于向请求服务提供者 302或者客户端设备306提供所创建的接入令牌或者请求令牌。由此,令牌创建单元322 例如可以将创建的接入令牌或者请求令牌作为消息中的参数而向请求实体发送,或者提 供用于远程实体接入或者下载存储在账户管理提供者304(诸如存储器326中)上的已创 建令牌的装置。令牌验证单元324可以实现为由硬件、软件、固件或者其组合实现的任 何设备或者装置,并且可以实现为处理器320或者由处理器320进行控制。令牌验证单 元324可以被配置用于从服务提供者302接收令牌信息请求消息。令牌信息请求消息可 以包括接入令牌,以及在某些实施方式中,令牌信息请求消息可以进一步包括服务密钥 和与服务提供者相关联的服务秘密,其中从该服务提供者接收令牌信息请求消息。在某 些实施方式中,令牌信息请求消息包括服务密钥和服务秘密,服务密钥和服务秘密可以 包括在签名中,令牌信息请求者消息利用该签名而被标记。令牌验证单元324由此被配 置用于验证在接入令牌、服务密钥和服务秘密之间的关联。此验证可以基于例如已发布 接入密钥或者可以存储在存储器326中的其他接入密钥的数据库。由此,令牌验证单元324可以被配置为确定用户标识、令牌秘密和与接入令牌 相关联的客户端秘密中的一个或者多个。用户标识、令牌秘密以及客户端秘密例如可以 与接入令牌的指示相关联地存储在存储器326中。就此,令牌验证单元324确定的用户标 识是对于服务提供者302已知的用户或者客户端的用户标识,从该服务提供者302接收令 牌信息请求。此用户标识可以与用户或者客户端对于账目管理提供者304已知的账户标 识不同,并且还可以不同于请求服务提供者302以外的服务提供者已知的用户标识。由 此,令牌验证单元324可以进一步被配置用于,响应于令牌信息请求消息而向服务提供 者302发送消息,该消息包括已确定的用户标识、客户端密钥以及令牌秘密中的一个或者多个。存储器326可以包括例如易失性存储器和/或非易失性存储器。存储器326可以 被配置用于存储信息、数据、应用、指令等,用于支持设备来执行根据本发明的示例性 实施方式的各种功能。例如,存储器326可以被配置用于缓存用于由处理器320处理的 数据。附加地或者备选地,存储器326可以被配置用于存储由处理器326执行的指令。 就此,存储器326可以存储例如所接收的消息、从所接收消息提取的参数、关于已注册 账户用户的信息、已注册服务提供者、和/或关于已注册客户端设备304的信息。所存 储的信息可以由令牌创建单元322使用,和/或由令牌验证单元324使用用于执行其相应 的功能。通信接口 328可以实现为以硬件、软件、固件或者其组合形式实现的任何设备 或者装置,被配置用于从网络和/或与账户管理提供者304通信的任何其他设备或者模块 接收数据,或者用于向其发送数据。通信接口 328可以实现为处理器320或者由处理器 320控制。就此,通信接口 328可以包括例如天线、发射机、接收机、收发机和/或用于 经由通信链路308支持与系统300的其他实体进行通信的支持硬件或者软件。由此,经 由通信接口 328和通信链路308,账户管理提供者304可以与服务提供者302和/或客户 端设备306进行通信。就此,通信接口 328可以与令牌创建单元322、令牌验证单元324 和存储器326进行通信。通信接口 328可以被配置用于使用任何联网协议与系统300的 远程设备进行通信。在示例性实施方式中,通信接口 328可以被配置用于使用超文本传 输协议(HTTP)安全扩展(诸如,传输层安全(TLS)或者安全套接层(SSL))进行通信。 通信接口 328可以进一步被配置用于传输和接收根据各种web协议制定格式的请求、数据 和消息,该各种web协议诸如超文本标记语言(HTML)、可扩展标记语言(XML)和/或 其安全性扩展,诸如安全声明标记语言(SAML)。现在参考图3的客户端设备306,客户端设备306可以是任何计算设备,用户可 以接入该计算设备或者使用由服务提供者302提供的服务。在某些实施方式中,客户端 设备306可以是图1的移动终端10。然而,客户端设备306不限于该范围,并且还可以 实现为例如台式计算设备、膝上型计算设备和个人数字助理。此外,应当注意,尽管在 图3中仅示出了单个客户端设备306,但是在系统300中可以包括多个客户端设备306。 在一个示例性实施方式中,客户端设备306可以包括处理器330、应用用户接口 332、通 信接口 334和存储器336。处理器330可以由多种不同方式实现。例如,处理器330可以实现为微处理器、 协处理器、控制器或者包括集成电路的各种其他处理装置或者元件,例如ASIC(专用集 成电路)或者FPGA(现场可编程门阵列)。在一个示例性实施方式中,处理器330可以 配置用于执行在存储器336中存储的或者对处理器330可访问的指令。在客户端设备306 是移动终端10的实施方式中,处理器330可以实现为控制器20。应用用户接口 332可以实现为软件、硬件、固件或者其组合,以及可以实现为 或者由处理器330控制。应用用户接口 332可以实现为或者包括任何应用,该应用便于 接入和/或使用由服务提供者302提供的服务。就此,应用用户接口 332可以例如是专 用应用,诸如照片客户端上传器、电子邮件应用、游戏应用、多媒体播放器应用等。附 加地或者备选地,应用用户接口 332可以实现为或者包括通用应用,诸如支持通过网络访问和/或使用服务提供者302提供的服务的web浏览器应用。应用用户接口 332还可 以实现为或者包括web浏览器应用插件、脚本和/或可以通过网络以分布式方式部署的 应用。应用用户接口 332可以进一步被配置用于接收对于应用用户接口 332进行的用户 输入的指示,诸如通过键盘、鼠标、控制杆、触摸屏显示器、传统显示器、麦克风、扬 声器或者其他输入/输出机构进行。例如,应用用户接口 332可以被配置用于接收请求 的输入,该请求是用于使用服务、与服务进行交互、以及诸如用户名称和密码的潜入信 息。另外,应用用户接口 332可以被配置用于向客户端设备306的用户提供音频/可视 输出。就此,输出可以包括数据、服务、内容、消息和/或从服务提供者302和账户管 理提供者304接收的请求。通信接口 334可以实现为由硬件、软件、固件或者其组合形式实现的任何设备 或者装置,被配置用于从网络和/或与客户端设备306通信的任何其他设备或者模块接收 数据,或者用于向其发送数据。通信接口 334可以实现为处理器330控制或者由处理器 330控制。就此,通信接口 334可以包括例如天线、发射机、接收机、收发机和/或用于 经由通信链路308支持与系统300的其他实体进行通信的支持硬件或者软件。由此,经由 通信接口 334和通信链路308,客户端设备306可以与服务提供者302和/或账户管理提 供者304进行通信。就此,通信接口 334可以与应用用户接口 332和存储器336进行通 信。通信接口 334可以被配置用于使用任何联网协议与系统300的远程设备进行通信。 在示例性实施方式中,通信接口 334可以被配置用于使用超文本传输协议(HTTP)安全扩 展(诸如,传输层安全(TLS)或者安全套接层(SSL))进行通信。通信接口 334可以进 一步被配置用于传输和接收根据各种web协议制定格式的请求、数据和消息,该各种web 协议诸如超文本标记语言(HTML)、可扩展标记语言(XML)和/或其安全性扩展,诸如 安全声明标记语言(SAML)。存储器336可以包括例如易失性存储器和/或非易失性存储器(例如,在客户端 设备306是移动终端10的实施方式中,是易失性存储器40和非易失性存储器42)。存储 器336可以被配置用于存储信息、数据、应用、指令等,用于支持设备执行根据本发明 示例性实施方式的各种功能。例如,存储器336可以被配置用于缓存由处理器330处理 的输入数据。附加地或者备选地,存储器336可以被配置用于存储由处理器330执行的 指令。就此,存储器336例如可以存储用户账户信息,诸如用户标识和供账户管理提供 者304和/或多个服务提供者302使用的任何相关联的密码。在某些实施方式中,此账 户管理信息中的某些或者全部可以以cookie的形式存储,其可以由应用用户接口 332中包 括的web浏览器应用访问或者使用。存储器可以进一步存储从账户管理提供者304接收 的接入令牌。所存储的信息可以由应用用户接口 332使用。现在参考图4,示出了系统300的更具体的实施方式。图4的系统包括客户端 web浏览器应用400、照片服务402、账户管理提供者304、存储服务406、以及照片客户 端应用408,其可以经由示出的网络互联。就此,照片服务402和存储服务406表示服务 提供者302的具体实施方式
,其分别提供照片托管和接入服务和照片存储服务。客户端 web浏览器应用400和照片客户端应用408是应用用户接口 332的示例性实施方式,并且 可以在相同客户端设备306中或者在分离的客户端设备306中实现。现在参考图4的系 统以及系统300的实体描述一种用例情况。该用例情况仅提供用于示出目的,而不应当认为以任何方式针对如下进行限制实体、服务、通信协议或者在用例情况中描述的操 作顺序。使用照片客户端应用408的用户可能希望接入照片服务402处的相册。照片客户 端应用408需要接入令牌以便接入相册服务402,并且可以获取来自账户管理提供者304 的接入令牌。照片客户端应用408由此可以构造创建接入令牌请求消息。此消息可以设 置为XML格式,并且可以包括对于账户管理提供者304已知的用户标识和用户密码。照 片客户端应用408可以从存储器(诸如,存储器336)取回用户标识和密码,或者可以提 示用户输入用户标识和密码。照片客户端应用继而可以使用客户端密钥和客户端秘密来 对创建接入令牌请求消息进行标记。密钥和签名可以在HTTP报头中传输。创建接入令 牌请求消息继而可以通过TLS HTTP连接(https)向账户管理提供者304发送。账户管理提供者304的令牌创建单元322继而可以确定,所接收接入令牌请求消 息的请求类型是用户标识和密码组合,并且从创建接入令牌请求消息提取用户标识、密 码、客户端密钥和客户端秘密。在基于所提取参数执行安全性检查过程期间,令牌创建 单元322则可以验证用户标识和密码以及客户端密钥;创建接入令牌请求消息的签名、 以及在客户端标识、用户标识和照片服务之间的关联。假定令牌创建单元322正确地验 证创建接入令牌请求消息,令牌创建单元322可以创建接入令牌,并且将其与请求用户 的认证会话、照片服务402和令牌秘密相关联。令牌创建单元322继而可以向照片客户 端应用408发送包括接入令牌和令牌秘密的消息。照片客户端应用408现在可以使用所 接收的接入令牌来接入照片服务402。响应于来自用户的请求,照片客户端应用408继而可以构造向照片服务402上传 照片的消息。由照片客户端应用408使用以与照片服务402交互的接口和通信协议可以基 于任何接口和通信协议,照片服务402和照片客户端应用408被配置用于使用该接口和通 信协议,并且由此并不以任何方式受到本发明的实施方式的限制。然而通常,照片客户 端应用408例如可以构造消息,该消息包括接入令牌、一个或者多个照片文件、相册标 识符以及诸如与照片文件相关联的题目的任何相关联数据。照片客户端应用408可以利 用其客户端秘密和令牌秘密的组合来对消息签名,并且将签名、接入令牌和客户端密钥 置入消息头。就此,接入令牌既可以用作消息体中的令牌又可以用作发送者密钥中的一 部分,以便对消息进行标记。由此,接入令牌可以用于克服与客户端应用密钥相关联的 安全性弱点,而长寿命的客户端密钥和客户端秘密可以从客户端设备306以黑客手段获 取,令牌密钥和令牌秘密是由账户管理提供者304随机生成并发布,并且是相对短寿命 的。照片客户端应用继而可以例如通过使用HTTP向照片服务402发送照片上传消息。照片服务402继而可以从照片客户端应用接收照片上传消息,并且取回包含在 消息中的接入令牌。此时,照片服务402可以不知晓与接入令牌相关联的照片服务的用 户,并且由此可以构造令牌信息请求消息,并且将其发送至账户管理提供者304。照片服 务402可以利用其自身的服务密钥和服务秘密对消息进行标记。消息可以根据TLS而发 送。一旦接收到令牌信息请求消息,账户管理提供者304可以执行多个验证步骤,诸如 验证接入令牌、服务密钥和令牌信息请求消息中包括的服务秘密之间的关联。账户管理 提供者304的令牌验证单元324继而可以确定用于用户标识(其对于照片服务402已知, 与接入令牌、令牌秘密和客户端密钥相关联,以用于获取接入令牌),并且构造令牌信息消息(包括用户标识、令牌秘密和客户端密钥),并向照片服务402发送令牌信息消息。一旦接收到令牌消息,照片服务402的客户端认证单元314可以提取包含在令牌 信息消息中的参数,并且验证在令牌信息消息中所接收的客户端密钥匹配于来自照片客 户端应用408的照片上传消息中接收的客户端密钥。照片服务402继而可以验证照片上传 消息上的签名,并且还可以验证与接入令牌相关联的哪个用户仍然具有上传照片的接入 许可。照片服务402可以使用存储服务406用于存储已上传照片。对于照片服务402, 为了调取存储服务406,照片服务402需要适当的接入令牌。由此,照片服务402可以构 造创建接入令牌请求消息,该接入令牌请求消息包括从照片客户端应用408接收的接入 令牌和存储服务406的指示,诸如存储服务406的DNS名称。照片服务402可以利用服 务秘密和接入令牌秘密,对创建接入令牌请求消息进行标记,并且向账户管理提供者发 送创建接入令牌请求消息。该消息例如可以根据TLS协议发送。一旦接收到创建接入令牌请求消息,则账户管理提供者304的令牌创建单元322 可以确定请求类型是接入令牌交换,并且从消息提取先前发布的接入令牌、服务秘密和 令牌秘密。令牌创建单元322继而可以验证在接入令牌、令牌密钥和服务秘密之间的关 联。令牌创建单元322可以进一步验证与所接收接入令牌相关联的用户或者客户端和/或 照片服务402具有对接入存储服务406的许可。假定令牌创建单元322正确地验证了创建 接入令牌请求消息和对接入存储服务406的许可,如从前,令牌创建单元322可以创建接 入令牌,并且将其与请求用户的认证会话、与存储服务406以及与令牌秘密相关联。令 牌创建单元322继而可以向照片服务发送包括新创建的接入令牌和令牌秘密的消息。一旦接收到来自包括新创建的接入令牌的消息的账户管理提供者304的消息, 则照片服务402可以创建包括新接入令牌和照片文件的保存文件消息。照片服务402可 以利用其自身的服务秘密和新的令牌秘密的组合,对保存文件消息进行标记,照片服务 402例如可以将其服务密钥、新的接入令牌和签名置入HTTP授权报头,并且向存储服务 406发送保存文件消息。存储服务406的客户端认证单元314继而可以从所接收的保存文 件消息解析出接入令牌,并且构造包括所解析接入令牌的令牌信息请求消息。存储服务 406的客户端认证单元314继而利用存储服务密钥和存储服务秘密对令牌信息请求消息进 行签名,并且使用例如TLS向账户管理提供者304发送令牌信息请求消息。一旦接收到令牌信息请求消息,则账户管理提供者304例如可以如从前那样执 行多个验证步骤,诸如,验证包含在令牌信息请求消息中的接入令牌、服务密钥以及服 务秘密之间的关联。照片管理提供者304的令牌验证单元324继而可以确定对存储服务 406已知的用户标识与接入令牌、令牌秘密和照片服务密钥相关联(注意,在此情况下, 一个服务提供者正在调用第二服务提供者,例如照片服务的第一服务提供者正在担任客 户端,并且尤其是照片服务密钥等同于客户端密钥),该照片服务密钥被用于获取接入令 牌;并构造令牌信息消息(包括用户标识、令牌秘密和照片服务密钥),并且向存储服务 406发送令牌信息消息。存储服务406的客户端认证单元314继而可以通过将包含在保存文件消息中的 照片服务密钥与来自账户管理提供者304的令牌信息消息中接收的照片服务密钥进行比 较,来对其进行验证。存储服务406的客户端认证单元314可以通过使用令牌秘密和照片 服务秘密,来验证保存文件消息上的签名。如果存储服务正确地验证了保存文件消息,则存储服务406可以使用用户标识,来确定哪个账户存储空间中用于存储包含于保存文 件消息中的照片数据。—段时间之后,用户可能希望组织其在线相册,并且由此可以通过使用客户端 web浏览器应用400来浏览照片服务402的web接口(诸如可以由照片服务402的服务用 户接口 312来提供)。如果不存在用户会话(诸如在如下情况下客户端web浏览器应用 400在不同于照片客户端应用408的客户端设备上实现,或者先前登录会话已经过期), 照片服务402的服务用户接口 312可以向客户端web浏览器应用400提供登录表格。用 户继而可以输入适当的登录信息,并且照片服务402的客户端认证单元314可以利用编码 为URL参数的认证请求,将web浏览器应用400重定向至账户管理提供者304的认证请 求端点。账户管理提供者304继而可以验证用户登录信息,以及利用SAML伪像作为参 数,来将客户端web浏览器应用重定向至照片服务402。客户端认证单元314继而可以 向账户管理提供者304发送请求处理SAML伪像的消息。账户管理提供者304继而可以 利用SAML声明以及请求令牌进行响应,该SAML声明包括对于照片服务402已知的用 户账户标识。照片服务402的服务用户接口 312现在可以向客户端web浏览器应用400 提供用户的主页,该主页例如可以包括去往用户的相册的链接。用户继而可以点击链接以接入其相册之一。照片服务402现在可能需要从存储 服务402取回多个照片文件。照片服务402由此需要接入令牌,并且构造创建接入令牌 请求消息(包括在SAML声明中接收的请求令牌以及存储服务406的指示,诸如存储服 务406的DNS名称)。照片服务402可以利用照片服务密钥和照片服务秘密对创建接入 令牌请求消息进行标记,并且通过TLS向账户管理提供者304发送该消息。账户管理提供者304的令牌创建单元322继而可以确定创建接入令牌请求消息 的请求类型是请求令牌交换,并且提取请求令牌、照片服务密钥(等同于用于调取存储 服务目的的客户端密钥)、以及照片服务秘密(等同于用于调取存储服务目的的客户端秘 密)。令牌创建单元322继而可以基于所提取的参数,来验证创建接入令牌请求消息的 签名,并且验证请求令牌照片服务密钥和照片服务秘密之间的关联。假定令牌创建单元 322正确地验证了创建接入令牌请求消息,则令牌创建单元322可以创建接入令牌,并将 其与用于请求用户的认证会话、与存储服务406以及与令牌秘密相关联。令牌创建单元 322继而可以向照片服务402发送包括接入令牌和令牌秘密的消息。照片服务402继而可以构造获取文件消息,包括所接收接入令牌、所请求的文 件名称以及照片服务密钥。照片服务402可以利用其照片服务秘密和令牌秘密对获取文 件消息进行标记,并向存储服务406发送该消息。如从前那样,存储服务406可以从消 息提取参数,并且构造令牌信息请求消息,并向账户管理提供者304发送该令牌信息请 求消息。再次,如从前那样,账户管理提供者304可以验证接入令牌,并且利用令牌信 息消息响应存储服务406。如从前那样,存储服务406可以使用包括在令牌信息消息中的 参数,而验证获取文件消息,并确定如何通过使用在令牌信息消息中接收的用户标识而 适当地接入用户文件。图5和图6是根据本发明一个示例性实施方式的系统、方法和计算机程序产品的 流程图。应当理解,流程图中的每个框图或者步骤以及流程图中框图的组合可以由各种 装置实现,诸如硬件、固件和/或包括一个或者多个计算机程序指令的软件。例如,在此描述的一个或者多个过程可以由计算机程序指令实现。就此,实现上述过程的计算机 程序指令可以由移动终端、服务器或者其他计算设备的存储器设备存储,并且可以由计 算设备中内建的处理器执行。应当理解,任何此类计算机程序指令可以加载至计算机或 者其他可编程装置(也即,硬件)上以便生成机器,从而在计算机或者其他可编程装置 上执行的指令创建用于执行在流程框图或者步骤中执行的功能。这些计算机程序指令还 可以存储在计算机可读存储器中,其可以指引计算机或者其他可编程装置以特定方式操 作,从而存储于计算机可读存储器中的指令生成一种产品,其中包括实现在流程图框图 或者步骤中指定的功能的指令装置。计算机程序指令还可以加载至计算机或者其他可编 程装置,以使得在计算机或者其他可编程装置上执行一系列操作步骤,以便产生计算机 实现的过程,从而在计算机或者其他可编程装置上执行的指令提供用于实现流程图框图 或者步骤中指定功能的步骤。由此,流程图的框图或者步骤支持执行指定功能的装置的组合、执行指定功能 的步骤的组合、以及执行指定功能的计算机指令装置的组合。还应当注意,流程图的一 个或者多个框图或者步骤、以及流程图中的框图或者步骤的组合,可以通过专用的基于 硬件的计算机系统(该计算机系统执行指定功能或者步骤)或者专用硬件和计算机指令的 组合来实现。就此,在图5中示出了根据本发明的一个示例性实施方式,其从账户管理提供 者的角度示出了提供单一服务签入的一个示例性方法。该方法可以包括在操作500处从 远程实体接收创建接入令牌请求消息,其具有所请求服务的指示。操作510可以包括, 账户管理提供者确定请求的类型。就此,请求类型可以是用户标识和密码的组合、请求 令牌交换或者接入令牌交换。在操作520,账户管理提供者继而可以基于所确定的请求 类型,来从创建接入令牌请求消息提取一个或者多个参数。操作530可以包括,账户管 理提供者至少部分地基于一个或者多个所提取的参数,来执行一个或者多个安全检查。 在操作540,账户管理提供者继而可以基于一个或者多个安全检查的结果,来创建接入令 牌。操作550可以包括,账户管理提供者对请求远程实体提供接入令牌。图6根据本发明的一个示例性实施方式从服务提供者角度示出了用于提供单一 服务签入的示例性方法。首先参考图6a,操作600可以包括接收服务接入请求,诸如从 用户设备或者从另一服务提供者接收。操作605可以包括,确定服务接入请求是否从web 浏览器应用接收。如果请求不是从web浏览器应用获得,则方法可以前进至图6b的操作 620。操作620可以包括,从服务接入请求消息取回接入令牌。服务提供者继而可以在操 作625处构造令牌信息请求消息,并且在操作630处向账户管理提供者发送令牌信息请求 消息。操作635可以包括服务提供者从账户管理提供者接收令牌信息消息。操作635 可以包括服务提供者接收来自账户管理提供者的令牌信息消息。在操作640处,服务 提供者继而可以基于令牌信息消息中所获得的信息,来验证服务接入请求消息的签名和 客户端密钥。如果服务提供者正确地验证了服务接入请求消息,则方法可以前进至图6a 的操作615,其中服务提供者可以基于请求客户端的认证级别和接入协议能力,来提供所 请求的服务。再次参考图6a,如果在操作605处,服务提供者确定服务接入请求消息是从web 浏览器应用接收,则在操作610处,服务提供者可以确定是否存在用于请求客户端的单一签入会话。如果存在单一签入会话,则在操作615处,服务提供者可以基于客户端的 认证级别和接入协议能力,提供所请求的服务。如果不存在签入会话,则该方法可以前 进至图6c的操作645。就此,操作645可以包括接收用户登录信息,并利用编码为参 数的认证请求,将客户端web浏览器应用重定向至账户管理提供者。在操作650处,服务 提供者继而可以接收来自账户管理提供者的客户端web浏览器应用重定向,其中SAML 伪像包括在重定向中。操作655可以包括服务提供者向账户管理提供者发送消息,请 求账户管理提供者解析该SAML伪像。在操作660处,服务提供者继而可以接收来自账 户管理提供者的SAML声明,其包括请求客户端的账户标识和请求令牌。服务提供者继 而可以在操作665处,向客户端web浏览器应用提供用户的服务主页。现在参考图6d,在用户与服务进行交互期间,在操作670处,服务提供者可以 接收来自客户端web浏览器应用的、要求调取第二服务的请求。在操作675处,服务提 供者继而可以构造包括请求令牌的创建接入令牌请求消息,并且在操作680处向账户管 理提供者发送创建接入令牌请求消息。服务提供者继而可以在操作685接收来自账户管 理提供者的接入令牌,并且接着在操作690处向第二服务提供者发送包括接入令牌的服 务接入请求消息。第二服务提供者继而可以从图6a的操作600 (针对作为请求客户端的 第一服务提供者已经在前文对其进行了描述)出发。上述功能可以以各种方式实现。例如,可以使用用于执行上述功能之一的任何 适用装置,以便实现本发明的实施方式。在一个实施方式中,通常全部或者部分元件在 计算机程序产品的控制下操作。用于执行本发明的实施方式的方法的计算机程序产品包 括计算机可读存储介质(诸如,非易失性存储介质),以及计算机可读程序代码部分(诸 如,在计算机可读存储介质中实现的一系列计算机指令)。由此,本发明的实施方式可以向计算设备(诸如,移动终端10)的用户提供多个 优点。例如,可以向用户设备的用户提供单一服务签入,其允许用户使用各种服务,而 仅要求对单一服务签入。就此,账户管理提供者可以管理和便于在用户和多个服务之间 的交互。本发明的实施方式进一步向服务提供者以公共应用库和接口的形式提供便利, 其可以用于认证目的,同时对于多个服务提供者的认证可以由中央账户管理提供者进行 处理。此外,本发明的实施方式可以提供设备和应用独立的单一服务签入,而账户管理 提供者可以接收并且响应于多个不同协议中接收的请求,而将全部单一签入与请求用户 相关联,以便可以维持或者关联签入会话,即使用户使用另一应用或者计算设备来执行 后续服务请求,也是如此。另外,本发明的实施方式可以提供增强安全性,以便通过使 用短寿命的接入令牌,来保护由服务提供者提供的数据和内容以及用户账户。在具有以上说明书和相关附图中呈现出的教导的受益下,对于本领域技术人员 而言,可以想到本发明的各种修改和其他实施方式。由此应当注意,本发明的实施方式 不限于所公开的具体实施方式
,以及修改和其他实施方式旨在包括于所附权利要求书的 范围内。此外,尽管以上说明书和相关附图在元件和/或功能的特定示例性组合的上下 文中描述了示例性实施方式,应当理解,可以由备选实施方式提供元件和/或功能的不 同组合,而并不脱离所附权利要求书的范围。就此,例如,所附权利要求书的某些内容 也旨在阐明除上述明示的元件和/或功能以外的不同组合。尽管在此使用了特定术语, 其仅出于一般性和描述性方式使用而并非用于限制目的。
权利要求
1.一种方法,包括接收来自远程实体的对接入令牌的请求,其中所述请求包括所请求服务的指示; 确定请求类型,其中所述请求类型可以是用户标识和密码的组合、请求令牌交换或 者接入令牌交换;基于所确定的请求类型来提取包含在所述请求中的一个或者多个参数; 至少部分地基于所提取的所述一个或者多个参数来执行一个或者多个安全性检查; 至少部分地基于所述一个或者多个安全性检查的结果来创建接入令牌;以及 向所述远程实体提供所述接入令牌。
2.根据权利要求1所述的方法,其中基于所确定的请求类型来提取包含在所述请求中 的一个或者多个参数包括如果所确定的请求类型是用户标识和密码的组合,则提取用户标识、密码的哈希以 及包括客户端密钥和客户端秘密的签名;如果所确定的请求类型是请求令牌交换,则提取请求令牌和包括客户端密钥和客户 端秘密的签名;或者如果所确定的请求类型是接入令牌交换,则提取先前发布的接入令牌和包括客户端 秘密和令牌秘密的签名。
3.根据权利要求2所述的方法,其中至少部分地基于所提取的所述一个或者多个参数 来执行一个或者多个安全性检查包括如果所确定的请求类型是用户标识和密码的组合,则验证所述用户标识和所述密码 的哈希是已知的并且相对于彼此对应;验证所述签名;以及验证在客户端标识、用户标 识和所请求服务之间的关联;如果所确定的请求类型是请求令牌交换,则验证所述签名,以及验证在所述请求令 牌、客户端密钥和客户端秘密之间的关联;或者如果所述确定的请求类型是接入令牌交换,则验证所述签名,以及验证在所述先前 发布的接入令牌、令牌秘密和客户端秘密之间的关联。
4.根据权利要求1至3中的任一项所述的方法,其中至少部分地基于所提取的所述一 个或者多个参数来执行一个或者多个安全性检查进一步包括验证所述远程实体具有对 接入所述请求的服务的授权。
5.根据权利要求1至4中的任一项所述的方法,其中至少部分地基于所述一个或者 多个安全性检查的结果来创建接入令牌包括创建与用户和所请求服务相关联的接入令 牌,以及创建与所述接入令牌相关联的令牌秘密。
6.根据权利要求1至5中的任一项所述的方法,其中至少部分地基于所述一个或者多 个安全性检查的结果来创建接入令牌包括创建具有已定义接入许可的接入令牌,其中 所述已定义接入许可包括以下中的一个或者多个所述接入令牌可以使用来用于接入的 一个或者多个相关联服务、一个或者多个相关联的用户、所述接入令牌有效的使用期以 及所述接入令牌对其有效的使用次数。
7.根据权利要求1至6中的任一项所述的方法,其中所述远程实体是客户端设备或者 服务提供者中的一个。
8.根据权利要求1至7中的任一项所述的方法,进一步包括从服务提供者接收令牌信息请求消息,其中所述令牌信息消息包括接入令牌,以及 其中所述令牌信息消息利用服务密钥和服务秘密而被标记;验证所述接入令牌、所述服务密钥和所述服务秘密之间的关联; 确定与所述接入令牌相关联的用户标识、令牌秘密和客户端秘密;以及 向所述服务发送包括所确定的用户标识、客户端密钥和令牌秘密的消息。
9.一种包括至少一个计算机可读存储介质的计算机程序产品,其中所述计算机可读 存储介质具有存储于其中的计算机可读程序代码部分,所述计算机可读程序代码部分包 括用于接收来自远程实体的对接入令牌的请求的第一程序代码部分,其中所述请求包 括所请求服务的指示;用于确定请求类型的第二程序代码部分,其中所述请求类型可以是用户标识和密码 的组合、请求令牌交换或者接入令牌交换;用于基于所确定的请求类型来提取包含在所述请求中的一个或者多个参数的第三程 序代码部分;用于至少部分地基于所提取的所述一个或者多个参数来执行一个或者多个安全性检 查的第四程序代码部分;用于至少部分地基于所述一个或者多个安全性检查的结果来创建接入令牌的第五程 序代码部分;以及用于向所述远程实体提供所述接入令牌的第六程序代码部分。
10.根据权利要求9所述的计算机程序产品,其中所述第三程序代码部分包括用于如 下的指令如果所确定的请求类型是用户标识和密码的组合,则提取用户标识、密码的哈希以 及包括客户端密钥和客户端秘密的签名;如果所确定的请求类型是请求令牌交换,则提取请求令牌和包括客户端密钥和客户 端秘密的签名;或者如果所确定的请求类型是接入令牌交换,则提取先前发布的接入令牌和包括客户端 秘密和令牌秘密的签名。
11.根据权利要求10所述的计算机程序产品,其中所述第四程序代码部分包括用于如 下的指令如果所确定的请求类型是用户标识和密码的组合,则验证所述用户标识和所述密码 的哈希是已知的并且相对于彼此对应;验证所述签名;以及验证在客户端标识、用户标 识和所请求服务之间的关联;如果所确定的请求类型是请求令牌交换,则验证所述签名,以及验证在所述请求令 牌、客户端密钥和客户端秘密之间的关联;或者如果所述确定的请求类型是接入令牌交换,则验证所述签名,以及验证在所述先前 发布的接入令牌、令牌秘密和客户端秘密之间的关联。
12.根据权利要求9所述的计算机程序产品,其中所述第四程序代码部分包括用于如 下的指令验证所述远程实体具有对接入所述请求的服务的授权。
13.根据权利要求9所述的计算机程序产品,其中所述第五程序指令部分包括用于如下的指令创建与用户和所请求服务相关联的接入令牌,以及创建与所述接入令牌相关 联的令牌秘密。
14.根据权利要求9所述的计算机程序产品,其中所述第五程序代码部分包括用于如 下的指令创建具有已定义接入许可的接入令牌,其中所述已定义接入许可包括以下中 的一个或者多个所述接入令牌可以使用来用于接入的一个或者多个相关联服务、一个 或者多个相关联的用户、所述接入令牌有效的使用期以及所述接入令牌对其有效的使用 次数。
15.根据权利要求9所述的计算机程序产品,其中所述远程实体是客户端设备或者服 务提供者中的一个。
16.根据权利要求9所述的计算机程序产品,进一步包括用于从服务提供者接收令牌信息请求消息的第七程序代码部分,其中所述令牌信息 消息包括接入令牌,以及其中所述令牌信息消息利用服务密钥和服务秘密而被标记;用于验证所述接入令牌、所述服务密钥和所述服务秘密之间的关联的第八程序代码 部分;用于确定与所述接入令牌相关联的用户标识、令牌秘密和客户端秘密的第九程序代 码部分;以及用于向所述服务发送包括所确定的用户标识、客户端密钥和令牌秘密的消息的第十 程序代码部分。
17.—种包括处理器的设备,所述处理器被配置用于接收来自远程实体的对接入令牌的请求,其中所述请求包括所请求服务的指示;确定请求类型,其中所述请求类型可以是用户标识和密码的组合、请求令牌交换或 者接入令牌交换;基于所确定的请求类型来提取包含在所述请求中的一个或者多个参数;至少部分地基于所提取的所述一个或者多个参数来执行一个或者多个安全性检查;至少部分地基于所述一个或者多个安全性检查的结果来创建接入令牌;以及向所述远程实体提供所述接入令牌。
18.根据权利要求17所述的设备,其中所述处理器进一步被配置用于通过以下执行, 以便基于所确定的请求类型来提取在所述请求中包括的一个或者多个参数如果所确定的请求类型是用户标识和密码的组合,则提取用户标识、密码的哈希以 及包括客户端密钥和客户端秘密的签名;如果所确定的请求类型是请求令牌交换,则提取请求令牌和包括客户端秘密和客户 端秘密的签名;或者如果所确定的请求类型是接入令牌交换,则提取先前发布的接入令牌和包括客户端 密钥和令牌秘密的签名。
19.根据权利要求17至18中的任一项所述的设备,其中所述处理器进一步被配置用 于通过以下执行,以便至少部分地基于所提取的所述一个或者多个参数来执行一个或者 多个安全性检查如果所确定的请求类型是用户标识和密码的组合,则验证所述用户标识和所述密码 的哈希是已知的并且相对于彼此对应;验证所述签名;以及验证在客户端标识、用户标识和所请求服务之间的关联;如果所确定的请求类型是请求令牌交换,则验证所述签名,以及验证在所述请求令 牌、客户端密钥和客户端秘密之间的关联;或者如果所述确定的请求类型是接入令牌交换,则验证所述签名,以及验证在所述先前 发布的接入令牌、令牌秘密和客户端秘密之间的关联。
20.根据权利要求17至19中的任一项所述的设备,其中所述处理器进一步被配置用 于通过验证所述远程实体具有对接入所述请求的服务的授权,以便至少部分地基于所 提取的所述一个或者多个参数来执行一个或者多个安全性检查。
21.根据权利要求17至20中的任一项所述的设备,其中所述处理器进一步被配置用 于创建与用户和所请求服务相关联的接入令牌,以及创建与所述接入令牌相关联的令 牌秘密。
22.根据权利要求17至21中的任一项所述的设备,其中所述处理器进一步配置用 于创建具有已定义接入许可的接入令牌,其中所述已定义接入许可包括以下中的一个 或者多个所述接入令牌可以使用来用于接入的一个或者多个相关联服务、一个或者多 个相关联的用户、所述接入令牌有效的使用期以及所述接入令牌对其有效的使用次数。
23.根据权利要求17至22中的任一项所述的设备,其中所述远程实体是客户端设备 或者服务提供者中的一个。
24.根据权利要求17至23中的任一项所述的设备,其中所述处理器进一步配置用于从服务提供者接收令牌信息请求消息,其中所述令牌信息消息包括接入令牌,以及 其中所述令牌信息消息利用服务密钥和服务秘密而被标记;验证所述接入令牌、所述服务密钥和所述服务秘密之间的关联; 确定与所述接入令牌相关联的用户标识、令牌秘密和客户端秘密;以及 向所述服务发送包括所确定的用户标识、客户端密钥和令牌秘密的消息。
25.—种设备,包括用于接收来自远程实体的对接入令牌的请求的装置,其中所述请求包括所请求服务 的指示;用于确定请求类型的装置,其中所述请求类型可以是用户标识和密码的组合、请求 令牌交换或者接入令牌交换;用于基于所确定的请求类型来提取包含在所述请求中的一个或者多个参数的装置; 用于至少部分地基于所提取的所述一个或者多个参数来执行一个或者多个安全性检 查的装置;用于至少部分地基于所述一个或者多个安全性检查的结果来创建接入令牌的装置;以及用于向所述远程实体提供所述接入令牌的装置。
全文摘要
提供一种包括处理器的设备,所述处理器被配置用于接收来自远程实体的对接入令牌的请求(500),其中该请求包括所请求服务的指示。处理器可以进一步被配置用于确定请求类型(510),其中该请求类型可以是用户标识和密码的组合、请求令牌交换或者接入令牌交换。处理器还可以被配置用于基于所确定的请求类型来提取包含在请求中的一个或者多个参数(520);以及至少部分地基于所提取的一个或者多个参数来执行一个或者多个安全性检查(530)。处理器还可以被配置用于至少部分地基于一个或者多个安全性检查的结果来创建接入令牌(540);以及向远程实体提供接入令牌(550)。
文档编号H04L29/06GK102017572SQ200980114680
公开日2011年4月13日 申请日期2009年3月10日 优先权日2008年4月25日
发明者A·维普萨莱南, J·卡尔雅拉, J·玛基 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1