CN108551438A - 为不同服务器间的单一登录使用x.509验证 - Google Patents

为不同服务器间的单一登录使用x.509验证 Download PDF

Info

Publication number
CN108551438A
CN108551438A CN201810244653.2A CN201810244653A CN108551438A CN 108551438 A CN108551438 A CN 108551438A CN 201810244653 A CN201810244653 A CN 201810244653A CN 108551438 A CN108551438 A CN 108551438A
Authority
CN
China
Prior art keywords
server
user
certificate
data
servers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810244653.2A
Other languages
English (en)
Other versions
CN108551438B (zh
Inventor
A·古普塔
S·拉斯托奇
S·S·贾亚桑卡
D·曼塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108551438A publication Critical patent/CN108551438A/zh
Application granted granted Critical
Publication of CN108551438B publication Critical patent/CN108551438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种可用于服务器间的单次登录操作的验证方案。一个或多个服务器(例如,SHAREPOINT服务器)接收指向一个不同服务器(例如,SAP服务器)的数据请求。加载根证书(例如,X.509根证书)用于访问该不同服务器。动态地生成用户证书以标识已登录的用户。用户证书用根证书来签名并且被发送至该不同服务器以用于与数据请求绑定。数据请求被发送至该不同服务器以用于使用用户证书来验证。该不同服务器访问映射表以映射用户证书中的主题名称。当在映射表中找到已登录用户的条目时,在服务器之间启用数据操作。然后从该不同服务器接收到包含所请求的数据的开放式web协议响应。

Description

为不同服务器间的单一登录使用X.509验证
本申请是申请日为2013年11月1日、申请号为201380069110.7的发明专利申请“为不同服务器间的单一登录使用X.509验证”的分案申请。
背景技术
当前,许多商业和政府组织使用用于执行各种商业功能并提供服务的企业软件。商业功能可以包括预订处理、采购、生产调度、客户信息管理、能量管理以及会计。企业软件所提供的服务一般是面向商业的工具,诸如在线购物和在线支付处理、交互式产品目录、自动化记账系统、安全性、企业内容管理、IT服务管理、客户关系管理、企业资源计划、商业智能、项目管理、合作、人力资源管理、制造、企业应用集成以及企业表单自动化。企业软件一般托管于服务器上,并且一般通过计算网络向大量用户提供同时服务。这与单用户应用相反,单用户应用执行于用户的个人计算机上并且一次仅服务于一个用户。由许多商业和政府组织使用的企业软件包括来自德国沃尔多夫的SAP AG公司的SAP应用。
企业软件通常与单独服务器托管的web应用平台集成,以使用户能通过发起自web应用平台服务器至企业软件服务器的“登录”操作(即,用户名登录),远程地访问企业软件服务器所托管的数据。一种这样的web应用平台可以包括来自华盛顿州雷德蒙市的微软公司的SHAREPOINT服务器。与访问web应用平台服务器和企业软件服务器之间的数据相关联的一个已知问题是与验证相关联,该验证是执行单一登录操作以允许访问企业软件服务器上的数据所需的全部各种安全性设置和数据访问特权。以前用于解决上述问题的方案包括使用具有开放式数据协议(“OData”)的安全性断言标记语言(“SAML”)令牌验证。OData由一些web应用平台软件和企业应用软件应用使用,用于通过超文本传输协议(“HTTP”)查询和更新数据,包括SHAREPOINT服务器应用软件和SAP应用软件。然而,OData不规定与SAML一起使用时的任何验证方法。针对这些及其他考虑因素,作出本发明的各个实施例。
发明内容
提供该概述以便以简化形式引入概念的选集,概念将在以下详细描述中进一步描述。该概述不意图标识所要求保护的主题的关键特征或基本特征,也不意图帮助确定所要求保护的主题的范围。
提供多个实施例以使用验证方案来便于不同服务器间的单一登录操作。一个或多个服务器(例如,SHAREPOINT服务器)接收指向不同服务器(例如,SAP服务器)的数据请求。加载根证书(例如,X.509根证书)以经由单一登录操作访问该不同服务器。动态地生成用户证书以标识已登录的用户。然而应当理解,在替代实施例中,用户证书可以在配置期间预先生成,并且被存储于安全存储服务中。在用户证书生成之后,用户证书用根证书来签名,并且被发送至该不同服务器以与数据请求绑定。数据请求被发送至该不同服务器以便使用用户证书来验证。该不同服务器访问映射表以映射用户证书中的主题名。当在映射表中找到已登录用户的条目时,在多个服务器间启用数据操作。然后从该不同服务器接收包含所请求的数据的开放式web协议响应。
这些及其他特征和优点将从阅读以下详细描述及浏览相关附图后显而易见。应当理解,以上概述及以下详细描述都仅仅是说明性的,而不限制所要求保护的发明。
附图说明
图1是图示按照各个实施例、为不同服务器间的单一登录使用验证方案的网络体系结构的框图;
图2是图示按照各个实施例、在执行不同服务器间的单一登录时使用的用户映射表的框图;
图3是图示按照各个实施例、为不同服务器间的单一登录使用验证方案的例程的流程图;
图4是可用其实现各个实施例的计算设备的简化框图;
图5A是可用其实现各个实施例的移动计算设备的简化框图;
图5B是可用其实现各个实施例的移动计算设备的简化框图;以及
图6是可用其实现各个实施例的分布式计算设备的简化框图。
具体实施方式
提供了使用验证方案来便于不同服务器间的单一登录操作的实施例。一个或多个服务器(例如,SHAREPOINT服务器)接收指向不同服务器(例如,SAP服务器)的数据请求。加载根证书(例如,X.509根证书)以经由单一登录操作访问该不同服务器。动态地生成用户证书以标识已登录的用户。然后,用户证书用根证书来签名,并且被发送至该不同服务器以与数据请求绑定。数据请求被发送至该不同服务器以便使用用户证书来验证。该不同服务器访问映射表以映射用户证书中的主题名。应当理解,在咨询映射表之前,该不同服务器可以确认用户证书是有效的。由于该不同服务器之前被配置以知晓根证书,因此该不同服务器可以使用该知识来验证该数据请求来自于受信任的始发服务器。当在映射表中找到已登录用户的条目时,在服务器之间启用数据操作。然后,从该不同服务器接收包含所请求的数据的开放式web协议响应。
在以下详细描述中,参照形成详细描述一部分的附图,附图中通过图示示出具体的实施例或示例。这些实施例可以被组合,其他实施例可被使用,且可以作出结构上的变化,而不背离本发明的精神或范围。因此,以下详细描述并非是限制性的,本发明的范围由所附权利要求及其等价物限定。
现在参照附图,其中相同的数字表示几个附图中的相同元件,将描述本发明的各个方面。图1是图示按照各个实施例、为不同服务器间的单一登录使用验证方案的网络体系结构的框图。网络体系结构包括与服务器30通信的一个或多个服务器10(下文中称为“服务器10”)。按照一实施例,服务器10可以包括被配置成执行来自华盛顿州雷德蒙市的微软公司的SHAREPOINT服务器的一个或多个计算机。应当理解,按照实施例,服务器10可包括多个计算机(即,服务器场),其中每个服务器被配置成执行上述的SHAREPOINT服务器应用。然而应当理解,按照此处描述的各种实施例,可以使用来自其他制造商的其他服务器应用。按照一实施例,服务器30可以包括SAP网关,SAP网关被配置成执行来自德国沃尔多夫的SAP AG公司的SAP应用。如本领域技术人员已知的,SAP应用可由企业用来执行各种商业功能并提供服务。商业功能可以包括预订处理、采购、生产调度、客户信息管理、能量管理以及会计。服务可以包括面向商业的工具,诸如在线购物和在线支付处理、交互式产品目录、自动化记账系统、安全性、企业内容管理、IT服务管理、客户关系管理、企业资源计划、商业智能、项目管理、合作、人力资源管理、制造、企业应用集成以及企业表单自动化。然而应当理解,按照此处描述的各种实施例,可以使用来自其他制造商的其他企业软件。
按照一实施例,服务器10和30可各由管理员2和4(例如,SHAREPOINT管理员和SAP管理员)使用。特别是,管理员2可以使用应用12来发起根证书6的创建以及根证书6到管理员4的传送。管理员4可以发起将根证书6存储于服务器30上的证书信任存储32中。按照一实施例,根证书6可以包括X.509根证书。如本领域技术人员已知的,X.509是用于公钥架构(“PKI”)和特权管理架构(“PMI”)的ITU-T标准。此外,X.509可以指定公钥证书的标准格式、证书撤销列表、属性证书以及证书路径确认算法。在X.509系统中,证书机构可以发布一证书,该证书将公钥绑定至特定区别名称或绑定至诸如电子邮件地址或DNS条目这样的替代名称。应当理解,服务器10也可由终端用户70用来检索所请求的数据。例如,按照一实施例,终端用户70可以使用浏览器应用72来登录至SHAREPOINT服务器来进行数据检索。
服务器10可以包括应用12、应用配置应用程序接口(“API”)14、安全存储服务16、应用开放式数据协议(“Odata”)扩展提供者18以及商业连接服务(“BCS”)/混合遥控者20。按照一实施例,应用12可以包括由微软公司和SAP AG公司联合开发的DUET ENTERPRISE软件,微软公司位于华盛顿州雷德蒙市,SAP AG公司位于德国沃尔多夫。如本领域技术人员已知的,DUET ENTERPRISE软件通过将协作和生产与商业数据和过程组合,混合了SAP和SHAREPOINT功能。如以下参照图3进一步详述,应用12可以被配置成使用根证书6来动态地创建用于启用与服务器30的单一登录操作的用户证书。
应用配置API 14可被用于接收应用12所创建的根证书6,并且用于将根证书6存储于安全存储服务16中。应用OData推广者18是用于BCS/混合遥控者20的软件插件。应用OData扩展提供者18可以被配置成从除域用户以外的安全存储服务16接收根证书6。OData扩展提供者18也可以被配置成输出动态创建的用户证书8以启用与服务器30的单一登录操作(其细节将在以下参照图3详述)以及用户证书主题名称,该用户证书主题名称的格式在服务器10和服务器30之间是一致的且达成协议。按照一实施例,用户证书8可以包括X.509用户证书。如本领域技术人员已知的,OData是用于查询和更新数据的开放式web协议。该协议允许通过HTTP协议来查询数据源并且接收以多种格式的任一种的返回的结果,多种格式包括但不限于:普通可扩展标记语言(“XML”)、Atom(web种子所使用的XML语言)以及JavaScript对象表示(“JSON”)。结果可以包括数据的分页、排序或过滤。然而应当理解,此处所述的实施例不限于OData协议,也可以使用用于查询和更新数据的其他web协议,包括例如来自加利福尼亚州山景城的GOOGLE公司的GOOGLE数据协议(“Gdata”)。
BCS/混合遥控者20可用于调用应用OData扩展提供者18来检索动态创建的用户证书8和用户证书主题名称,供发送至服务器30。应当理解,按照一实施例,服务器10和服务器30之间的所有验证和数据交换(包括调用)都通过安全超文本传输协议(“HTTPS”)而发生。
服务器30可以包括证书信任存储32、用户映射表34、OData 36和活动目录(“AD”)导入工具38。如以上讨论的,证书信任存储32可用于存储自服务器10接收到的根证书6。用户映射表34可以包括服务器10的用户的用户映射。用户映射可以包括服务器10的用户的用户证书8主题名称(以及相关联的域)的列表(即,外部ID)以及用户名的相应列表(即,SAPID),用户名的相应列表的格式兼容于访问服务器30所提供的各种功能和服务。应当理解,上述用户映射可以使用AD导入工具38被导入到映射表34中,该AD导入工具进而可检索来自活动目录40的用户映射。以下将参照图2更详细地描述用户映射表34。服务器30中的OData36表示服务器协议服务(例如,SAP OData协议服务),该服务器协议服务用于接受来自服务器10上的BCS/混合遥控者20的动态生成的用户证书8,以使得能够在服务器10和服务器30之间进行单一登录。
图2是图示按照各个实施例、用于执行不同服务器间的单一登录的用户映射表34的框图。按照一实施例,用户映射表34可以包括服务器10的用户的外部ID 50的列表以及为在服务器30上使用来格式化的ID 60(例如,SAP ID)的列表。特别是,外部ID 50的列表可以包括ID 52、54、56和58,每个ID都根据用户名以及或场所内(on-premises)域或在线域而格式化。例如,Joe和Jack是Contoso公司的雇员,他们想要经由来自场所内域公司服务器(即,服务器10)上的单一登录操作来访问远程地托管于SAP服务器(即,服务器30)上的公司人力资源数据。在为上述雇员设置访问时,公司管理员确定Joe和Jack两人都是公司服务器的混合域用户。也就是说,有时Joe和Jack经由SHAREPOINT场所内在公司本地(例如,Contoso公司总部)访问公司服务器,而其他时候Joe和Jack经由SHAREPOINT在线从基于家庭的客户端计算机访问公司服务器。结果,用户映射表34可以用每个用户的两个外部ID来填充。具体而言,ID 52和56可以表示对应于场所内域的用户名(例如,CN=域/用户名),ID 54和58可以表示对应于在线域的用户名(例如,CN=用户名@域.com)。ID 60(例如,SAP ID)的列表可以包括ID 62、64、66和68并且与相应的外部ID 50相关联。因此,例如,Joe的ID 52和54(即,CN=Contoso/Joe和CN=Joe@Contoso.com)会被映射为ID 62和64(即,SAP-Joe),而Jack的ID56和58(即,CN=Contoso/Jack和CN=Jack@Contoso.com)会被映射为ID 66和68。
图3是图示按照各个实施例、为不同服务器间的单一登录使用验证方案的例程300的流程图。当阅读对在此提供的例程的讨论时,应当理解,本发明的各种实施例的逻辑操作被实现为(1)运行于计算系统上的一系列计算机实现的动作或程序模块,和/或(2)计算系统内互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,图3中所例示的并且构成在此所描述的各实施例的逻辑操作被不同地称为操作、结构性设备、动作或模块。本领域的技术人员将认识到,这些操作、结构设备、动作和模块可以在软件中、在固件中、在专用数字逻辑中、以及它们的任意组合中实现,而不背离此处提出的权利要求书内记载的本发明的精神和范围。
例程300开始于操作305,其中服务器10接收指向服务器30的数据请求。例如,SHAREPOINT服务器的用户可能想要访问存储于SAP网关服务器上的公司人力资源数据。在接收到数据请求之际,服务器10可以准备将该请求转发至服务器30作为以下将详述的单一登录操作的一部分。
例程300自操作305继续至操作310,其中服务器10可以加载根证书以经由单一登录操作来访问服务器30。具体而言,X.509根证书6可以从服务器10上的安全存储服务16被取回。应当理解,根证书被服务器和服务器30两者所信任。
例程300自操作310继续至操作315,其中服务器10可以动态地生成用户证书以标识当前已登录的用户。具体而言,应用12可以使用应用OData扩展提供者18来生成X.509用户证书8,该X.509用户证书8用于将用户标识为服务器10的当前已登录的场所内用户和/或服务器10的当前已登录的在线用户。因此,应当理解,服务器10可以为多个域用户和混合模式环境(例如,SHAREPOINT场所内和SHAREPOINT在线)两者提供支持。例如,在动态生成用户证书8时,当前已登录的场所内用户的主题名称可以用固定格式来指定(例如,CN=域/用户名或者CN=用户名@域.com)。
例程300自操作315继续至操作320,其中服务器10可以用根证书对动态生成的用户证书签名。例如,X.509用户证书8可由X.509根证书6来签名。
例程300自操作320继续至操作325,其中服务器10可以将动态用户证书发送至服务器30,用于与在操作305接收到的数据请求绑定。具体而言,应用OData扩展提供者18可以将X.509用户证书8发送至BCS/混合遥控者20以用于将X.509用户证书8绑定至指向服务器30上的OData 36的外发的HTTPS请求。
例程300自操作325继续至操作330,其中服务器10可以使用动态生成的用户证书来发送对验证的数据请求。具体而言,BCS/混合遥控者20可以将从OData扩展提供者18接收到的X.509用户证书8绑定至指向服务器30上的OData 36的外发的HTTPS请求。应当理解,一旦OData 36接收到上述HTTPS请求,则可由访问映射表34的服务器30来验证X.509用户证书的信任链。具体而言,服务器30可以访问映射表34以便将X.509用户证书8中的主题名称映射至SAP用户。应当理解,若X.509根证书6已到期或未被信任,则验证可能失败。在这些情况下,可以返回错误代码(例如,HTTP 403“被禁用”错误代码)作为来自服务器30的HTTP响应。
例程300自操作330继续至操作335,其中在映射表中找到当前已登录的用户的条目之际,服务器10可以启用当前已登录的用户与服务器30的单次登录。具体而言,在找到条目之际,在服务器30上创建用于当前已登录的用户的安全性上下文,并且将对上述的用户上下文发生后续的数据操作(例如,SAP数据操作)。因此,例如,为SAP用户配置的所有SAP授权都将应用。应当理解,如果未找到条目,则可以返回错误代码(例如,HTTP 403“被禁用”错误代码)作为来自服务器30的HTTP响应。
例程300自操作335继续至操作340,其中服务器10可以从服务器30接收包含所请求的数据的响应。具体而言,服务器10可以从服务器30接收包含所请求的SAP数据的OData响应。应当理解,如果数据请求原始从在线SHAREPOINT用户作出,则可以经由BCS/混合遥控者20将OData响应传送回SHAREPOINT在线。自操作340,例程300于是结束。
图4是图示可实现各个实施例的计算设备400的示例物理组件的框图。在基本配置中,计算设备400可包括至少一个处理单元402和系统存储器404。取决于计算设备的配置和类型,系统存储器404可以包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储器404可包括操作系统405和应用407。操作系统405例如可适用于控制计算设备400的操作,并且根据一实施例操作系统405可包括来自华盛顿州雷蒙德市的微软公司的WINDOWS操作系统。例如,应用407可以包括用于执行以上参照图3所述的例程300中的一个或多个操作的功能。然而,应当理解,在此描述的各实施例也可结合其它操作系统和应用程序来实现,并进一步不被限定为任何特定的应用或系统。
计算设备400可具有附加的特征或功能。例如,计算设备400也可以包括附加的数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘、固态存储设备(“SSD”)、闪存或磁带。这种附加存储器在图4中由可移动存储器409和不可移动存储器410图示。计算设备400也可以具有(诸)输入设备412,诸如键盘、鼠标、笔、用于接收语音输入的声音输入设备(例如,麦克风)、用于接收手势的触摸输入设备、等等。也可以包括诸如显示器、扬声器、打印机等这样的(诸)输出设备414。上述设备是示例,可以使用其他设备。
一般而言,根据各个实施例,可以提供的程序模块包括可执行特定任务或可实现特定抽象数据类型的例程、程序、组件、数据结构以及其他类型的结构。此外,各实施例可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电子产品、小型机、大型计算机、汽车计算系统等。各个实施例也可以在分布式计算环境中实现,在分布式计算环境中,多个任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
而且,各个实施例可以在电路中实现,所述电路包括离散电子元件、包含逻辑门的封装或集成电子芯片、使用微处理器的电路、或者在包含电子元件或微处理器的单芯片上。例如,实施例可以经由片上系统(“SOC”)实现,图4所示的每一个或许多组件可以被集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能性,所有这些都作为单个集成电路被集成到(或“烧录到”)芯片基板上。在经由SOC操作时,此处描述的功能可以经由与单个集成电路(芯片)上的计算设备/系统400的其他组件集成的专用逻辑来操作。也可以使用能执行逻辑运算的其他技术来实现实施例,逻辑运算诸如例如与(AND)、或(OR)和非(NOT),所述其他技术包括但不限于机械的、光学的、流体的和量子的技术。此外,实施例可以在通用计算机或在任何其他电路或系统内实现。
例如,各个实施例可以被实现为计算机进程(方法)、计算系统、或者作为制品,诸如计算机程序产品或计算机可读介质。计算机程序产品可以是计算机系统可读并对用于执行计算机过程的指令的计算机程序编码的计算机存储介质。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用硬件存储信息(诸如计算机可读指令、数据结构、程序模块、或其他数据等)的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。系统存储器404、可移动存储器409以及不可移动存储器410全都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算机设备400访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备400的一部分。
本文所使用的术语计算机可读介质还可包括通信介质。通信介质可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
图5A和5B图示可对其实现各个实施例的适当移动计算环境,例如移动计算设备500,该移动计算设备500可以包括但不限制智能电话、平板个人计算机、膝上型计算机等等。参照图5A,图示用于实现各个实施例的示例移动计算设备550。在一基本配置中,移动计算设备550是既有输入元件又有输出元件的手持式计算机。输入元件可以包括触摸屏显示器525和输入按钮510,它们允许用户将信息输入至移动计算设备550。移动计算设备550也可以结合允许进一步用户输入的任选的侧输入元件520。任选的侧输入元件520可以是旋转开关、按钮或者任何其他类型的手工输入元件。在替代实施例中,移动计算设备550可以结合更多或更少的输入元件。例如,显示器525可能在一些实施例中不是触摸屏。在还有另一替代实施例中,移动计算设备是便携式电话系统,诸如具有显示器525和输入按钮510的蜂窝电话。移动计算设备550也可以包括任选的键区594。任选的键区594可以是物理键区或者在触摸屏显示器上生成的“软”键区。
移动计算设备550结合可以显示图形用户界面(GUI)的输出元件,诸如显示器590。其他输出元件包括扬声器530和LED光580。此外,移动计算设备550可以结合振动模块(未示出),该振动模块使移动计算设备550振动以向用户通知事件。在还有另一实施例中,移动计算设备550可以结合耳机插孔(未示出),用于提供另一种提供输出信号的手段。
尽管此处结合移动计算设备550描述,但在替代实施例中可以结合任何数量的计算机系统来使用,诸如在台式环境中、膝上型或笔记本计算机系统、微处理器系统、基于微处理器的或可编程的消费者电子设备、网络PC、小型计算机、大型计算机、等等。各个实施例也可以在分布式计算环境中实现,其中多个任务由通过分布式计算环境中的通信网络链接的远程处理设备来执行;程序可位于本地和远程的存储器存储设备中。概言之,任何具有多个环境传感器、多个输出元件和多个通知事件类型的计算机系统可结合此处描述的各个实施例,所述多个输出元件用于向用户提供通知。
图5B是图示用于一实施例中的移动计算设备的组件的框图,该移动计算设备诸如图5A所示的移动计算设备550。也就是说,移动计算设备550可以结合系统502以实现一些实施例。例如,系统502可用于实现“智能电话”或“平板计算机”,该“智能电话”或“平板计算机”可以运行与台式计算机或笔记本计算机的一个或多个应用类似的一个或多个应用。在一些实施例中,系统502被集成作为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
应用567可以被加载至存储器562中并且在操作系统(“OS”)564上运行或者与操作系统564关联地运行。系统502也包括存储器562内的非易失性存储器568。非易失性存储568可被用于存储在系统502断电时不会丢失的持久信息。应用567可使用信息并将其存储在非易失性存储568中。同步应用(未示出)也驻留在系统502上并且被编程以与主机计算机上驻留的相应同步应用交互,以便使非易失性存储器568中存储的信息与主机计算机处存储的相应信息同步。应当理解,其他应用也可以被加载到存储器562中并且在移动计算设备550上运行。
系统502具有电源570,电源570可以被实现为一个或多个电池。电源570还可以包括外部功率源,诸如对电池进行补充或充电的AC适配器或加电的对接支架。
系统502也可以包括无线电572(即,无线电接口层),无线电572执行发射和接收射频通信的功能。无线电572便于经由通信载波或服务提供者在系统502和“外部世界”之间的无线连接。去往和来自无线电572的传输在操作系统(OS)564的控制下实施。换言之,通过无线电572接收的通信可通过操作系统564传播到应用567,反之亦然。
无线电572允许系统502例如通过网络与其他计算设备通信。无线电572是通信介质的一个示例。系统502的实施例被示出有两类通知输出设备:可用于提供视觉通知的LED580和可用于与扬声器530一起提供音频通知的音频接口574。这些设备可以被直接耦合至电源570,使得在被激活时,即使处理器560及其他组件可能为节约电池电力而关闭,这些设备也保持开启达一段时期,该时期由通知机制规定。LED 580可以被编程以保持无限期开启,直到用户采取行动以指示设备的开启状态。音频接口574用于向用户提供听觉信号并从用户接收听觉信号。例如,除了与扬声器530耦合以外,音频接口574也可以耦合至麦克风(未示出)以接收可听输入,诸如便于电话通话。按照多个实施例,麦克风也可用作音频传感器以便控制通知。系统502还可以包括视频接口576,该视频接口576启用机载照相机540(图5A中示出)的操作以记录静止图像、视频流等等。
实现系统502的移动计算设备可能有附加的特征或功能。例如,设备也可以包括附加的数据存储设备(可移动和/或不可移动),诸如,磁盘、光盘或磁带。这种附加存储器在图5B中由存储器568示出。
由移动计算设备550生成或捕捉并且经由系统502存储的数据/信息可以被本地存储于移动计算设备550上,如上所述,或者该数据可以被存储于可由设备经无线电572或经由移动计算设备550和与移动计算设备550相关的分开计算设备间的有线连接存取的任何数量的存储介质上,该分开计算设备例如诸如互联网这样的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经移动计算设备550、经无线电572或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图6是可在其中实现各实施例的分布式计算系统的简单框图。分布式计算系统可包括多个客户机设备,诸如计算设备603、平板计算设备605和移动计算设备610。客户机设备603、605和610可与分布式计算网络615(例如,因特网)进行通信。服务器620是通过网络615与客户机设备603、605和610进行通信的。服务器620可以存储应用600,应用600可以执行多个例程,多个例程包括在以上参照图3所述的例程300中的一个或多个操作。
各个实施例参照方法、系统和计算机程序产品的框图和/或操作图示来描述。方框中注明的功能/动作可以以与任一流程图中示出的次序不同的次序发生。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
尽管已经描述了特定实施例,但是可能存在其他实施例。而且,尽管各个实施例已经被描述为与存储器及其他存储介质中存储的数据相关联,但是数据可以被存储在其他类型的计算机可读介质上或者从其他类型的计算机可读介质被读取,其他类型的计算机可读介质诸如次级存储设备(即,硬盘、软盘或CD-ROM)、来自互联网的载波、或者其他形式的RAM或ROM。此外,所公开的例程的各操作可以任何方式修改,包括通过对各操作重新排序和/或插入或删除操作,而不背离本文描述的实施例。
对于本领域技术人员显而易见的是,可以作出各种修改或变体,而不背离此处描述的实施例的范围或精神。在考虑此处描述的实施例的说明和实现后,其他实施例将对于本领域技术人员显而易见。

Claims (20)

1.一种利用验证方案来进行不同服务器之间的单次登录的计算机实现的方法,包括:
由第一服务器,从所述第一服务器的当前已登录的用户,接收对存储在第二服务器上的数据的请求;
由所述第一服务器,取回用于经由单次登录操作访问所述第二服务器的根证书;
由所述第一服务器,动态地生成用于标识所述当前已登录的用户的用户证书;
由所述第一服务器,利用所述根证书对所述用户证书进行签名;
由所述第一服务器,将对数据的所述请求发送至所述第二服务器以使用所述用户证书进行验证;以及
由所述第一服务器,从所述第二服务器接收包含所请求的数据的响应。
2.根据权利要求1所述的计算机实现的方法,进一步包括将所述用户证书绑定到对数据的所述请求。
3.根据权利要求1所述的计算机实现的方法,其中,由所述第一服务器从所述第二服务器接收包含所请求的数据的响应包括:接收来自所述第二服务器的开放式协议数据(OData)响应。
4.根据权利要求1所述的计算机实现的方法,其中,由所述第一服务器接收对存储在所述第二服务器上的数据的请求包括:由SHAREPOINT服务器接收对存储在SAP服务器上的数据的请求。
5.根据权利要求1所述的计算机实现的方法,其中,由所述第一服务器取回用于经由单次登录操作访问所述第二服务器的根证书包括:加载被所述第一服务器和所述第二服务器两者信任的根证书。
6.根据权利要求1所述的计算机实现的方法,其中,由所述第一服务器取回用于经由单次登录操作访问所述第二服务器的根证书包括:取回X.509根证书。
7.根据权利要求1所述的计算机实现的方法,其中,由所述第一服务器动态地生成用于标识所述第一服务器上的当前已登录的用户的用户证书包括:动态地生成用于标识所述第一服务器上的当前已登录的场所内用户的用户证书。
8.根据权利要求7所述的计算机实现的方法,其中,动态地生成用于标识所述第一服务器上的当前已登录的场所内用户的用户证书包括:以固定格式指定所述当前已登录的场所内用户的主题名称,其中,所述固定格式被定义以使得支持多个域用户。
9.根据权利要求1所述的计算机实现的方法,其中,由所述第一服务器动态地生成用于标识所述第一服务器上的当前已登录的用户的用户证书包括:生成用于标识所述第一服务器上的当前已登录的在线用户的用户证书。
10.根据权利要求9所述的计算机实现的方法,其中,动态地生成用于标识所述第一服务器上的当前已登录的在线用户的用户证书包括:以固定格式指定所述当前已登录的在线用户的主题名称,其中,所述固定格式被定义以使得支持多个域用户。
11.一种利用X.509验证来进行不同服务器之间的单次登录的系统,包括:
SAP服务器,所述SAP服务器至少包括存储器存储设备和处理器;以及
与所述SAP服务器通信的多个SHAREPOINT服务器,所述多个SHAREPOINT服务器中的至少一个能够操作用于:
接收对存储在所述SAP服务器上的数据的请求;
取回用于经由单次登录操作访问所述SAP服务器的X.509根证书;
动态地生成用于标识所述SHAREPOINT服务器的当前已登录的用户的用户证书;
利用所述X.509根证书对所述用户证书进行签名;
将对数据的所述请求发送至所述SAP服务器以使用所述用户证书进行验证,所述验证包括访问映射表,所述映射表用于将所述用户证书中的主题名称映射至所述SAP服务器的用户;以及
从所述SAP服务器接收包含所请求的数据的响应。
12.根据权利要求11所述的系统,其中,所述SAP服务器能够操作用于使得能够在所述多个SHAREPOINT服务器和所述SAP服务器之间进行所述单次登录,当在所述映射表中找到针对所述当前已登录的用户的条目时,所找到的条目使得数据操作能够在所述当前已登录的用户和所述SAP服务器之间发生。
13.根据权利要求12所述的系统,其中,所述SAP服务器进一步能够操作用于当在所述映射表中找到所述条目时,创建用于所述当前已登录的用户的安全性上下文,所述安全性上下文能够用于来自所述当前已登录的用户的后续的数据操作。
14.根据权利要求11所述的系统,其中,包含所请求的数据的所述响应是开放式协议数据(OData)响应。
15.根据权利要求11所述的系统,其中,所述多个SHAREPOINT服务器进一步能够操作用于将所述用户证书发送至所述SAP服务器以用于与对数据的所述请求绑定。
16.一种利用验证方案来进行不同服务器之间的单次登录的系统,包括:
至少一个处理器;以及
存储器,能够操作地连接到所述至少一个处理器,并且存储指令,所述指令当由所述至少一个处理器执行时,使得所述至少一个处理器执行一种利用验证方案来进行不同服务器之间的单次登录的方法,所述方法包括:
由第一服务器,从所述第一服务器的当前已登录的用户,接收对存储在第二服务器上的数据的请求;
由所述第一服务器,取回用于经由单次登录操作访问所述第二服务器的根证书;
由所述第一服务器,动态地生成用于标识所述当前已登录的用户的用户证书;
由所述第一服务器,利用所述根证书对所述用户证书进行签名;
由所述第一服务器,将对数据的所述请求发送至所述第二服务器以使用所述用户证书进行验证;以及
由所述第一服务器,从所述第二服务器接收包含所请求的数据的响应。
17.根据权利要求16所述的系统,其中,所述方法进一步包括将所述用户证书绑定到对数据的所述请求。
18.根据权利要求16所述的系统,其中,由所述第一服务器从所述第二服务器接收包含所请求的数据的响应包括:接收来自所述第二服务器的开放式协议数据(OData)响应。
19.根据权利要求16所述的系统,其中,由所述第一服务器接收对存储在所述第二服务器上的数据的请求包括:由SHAREPOINT服务器接收对存储在SAP服务器上的数据的请求。
20.根据权利要求16所述的系统,其中,由所述第一服务器取回用于经由单次登录操作访问所述第二服务器的根证书包括:取回X.509根证书。
CN201810244653.2A 2012-11-01 2013-11-01 为不同服务器间的单一登录使用x.509验证 Active CN108551438B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/666,397 2012-11-01
US13/666,397 US9270667B2 (en) 2012-11-01 2012-11-01 Utilizing X.509 authentication for single sign-on between disparate servers
CN201380069110.7A CN105052105A (zh) 2012-11-01 2013-11-01 为不同服务器间的单一登录使用x.509验证

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380069110.7A Division CN105052105A (zh) 2012-11-01 2013-11-01 为不同服务器间的单一登录使用x.509验证

Publications (2)

Publication Number Publication Date
CN108551438A true CN108551438A (zh) 2018-09-18
CN108551438B CN108551438B (zh) 2021-06-22

Family

ID=49627059

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380069110.7A Pending CN105052105A (zh) 2012-11-01 2013-11-01 为不同服务器间的单一登录使用x.509验证
CN201810244653.2A Active CN108551438B (zh) 2012-11-01 2013-11-01 为不同服务器间的单一登录使用x.509验证

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380069110.7A Pending CN105052105A (zh) 2012-11-01 2013-11-01 为不同服务器间的单一登录使用x.509验证

Country Status (4)

Country Link
US (2) US9270667B2 (zh)
EP (1) EP2915309B1 (zh)
CN (2) CN105052105A (zh)
WO (1) WO2014071098A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270667B2 (en) 2012-11-01 2016-02-23 Microsoft Technology Licensing, Llc Utilizing X.509 authentication for single sign-on between disparate servers
US10305912B2 (en) * 2015-02-26 2019-05-28 Smart Social Media, Inc. Methods of enabling inter-organizational and public social collaboration
US10749854B2 (en) 2015-11-12 2020-08-18 Microsoft Technology Licensing, Llc Single sign-on identity management between local and remote systems
CN108632241B (zh) * 2018-03-07 2021-05-25 湖南小步科技有限公司 一种多应用系统统一登录方法和装置
US11196735B2 (en) * 2019-07-17 2021-12-07 Microsoft Technology Licensing, Llc Certificate management in segregated computer networks
EP3836489B1 (de) * 2019-12-09 2023-09-27 Siemens Aktiengesellschaft Dynamische zuordnung von automatisierungseinheiten zu automatisierungsservern

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275941B1 (en) * 1997-03-28 2001-08-14 Hiatchi, Ltd. Security management method for network system
CN1745356A (zh) * 2002-03-18 2006-03-08 特伦诺有限公司 单一签名安全服务访问
CN101136916A (zh) * 2007-06-11 2008-03-05 夏莹杰 基于角色和信誉访问控制机制的p2p传输方法
EP2107757A1 (en) * 2008-03-31 2009-10-07 British Telecommunications Public Limited Company Identity management
CN101783800A (zh) * 2010-01-27 2010-07-21 华为终端有限公司 一种嵌入式系统安全通信方法、装置及系统
CN102255969A (zh) * 2011-07-14 2011-11-23 南京邮电大学 一种基于表述性状态转移的网络服务安全模型

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047404B1 (en) * 2000-05-16 2006-05-16 Surety Llc Method and apparatus for self-authenticating digital records
WO2003001413A1 (en) * 2001-06-22 2003-01-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
WO2004075466A2 (en) * 2003-02-14 2004-09-02 Nervana, Inc. Semantic knowledge retrieval management and presentation
US20030196108A1 (en) * 2002-04-12 2003-10-16 Kung Kenneth C. System and techniques to bind information objects to security labels
US7574738B2 (en) * 2002-11-06 2009-08-11 At&T Intellectual Property Ii, L.P. Virtual private network crossovers based on certificates
US8528058B2 (en) 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
US8438383B2 (en) * 2010-04-05 2013-05-07 White Sky, Inc. User authentication system
US9270667B2 (en) 2012-11-01 2016-02-23 Microsoft Technology Licensing, Llc Utilizing X.509 authentication for single sign-on between disparate servers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275941B1 (en) * 1997-03-28 2001-08-14 Hiatchi, Ltd. Security management method for network system
CN1745356A (zh) * 2002-03-18 2006-03-08 特伦诺有限公司 单一签名安全服务访问
CN101136916A (zh) * 2007-06-11 2008-03-05 夏莹杰 基于角色和信誉访问控制机制的p2p传输方法
EP2107757A1 (en) * 2008-03-31 2009-10-07 British Telecommunications Public Limited Company Identity management
CN101783800A (zh) * 2010-01-27 2010-07-21 华为终端有限公司 一种嵌入式系统安全通信方法、装置及系统
CN102255969A (zh) * 2011-07-14 2011-11-23 南京邮电大学 一种基于表述性状态转移的网络服务安全模型

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VON WELCH等: "X.509 Proxy Certificates for Dynamic Delegation", 《URL:HTTP://GLOBUSTOOLKIT.NET/ALLIANCE/PUBLICATIONS/PAPERS/PKI04-WELCH-PROXY-CERT-FINAL.PDF》 *

Also Published As

Publication number Publication date
WO2014071098A1 (en) 2014-05-08
US20140122870A1 (en) 2014-05-01
EP2915309A1 (en) 2015-09-09
US20160205092A1 (en) 2016-07-14
US9270667B2 (en) 2016-02-23
CN105052105A (zh) 2015-11-11
CN108551438B (zh) 2021-06-22
EP2915309B1 (en) 2019-03-20
US9686266B2 (en) 2017-06-20

Similar Documents

Publication Publication Date Title
US11750609B2 (en) Dynamic computing resource access authorization
CN108293045A (zh) 本地和远程系统之间的单点登录身份管理
CN105359486B (zh) 使用代理安全访问资源
CN104838630B (zh) 基于策略的应用程序管理
CN105659558B (zh) 计算机实现的方法、授权服务器以及计算机可读存储器
Hogan et al. Nist cloud computing standards roadmap
US10171455B2 (en) Protection of application passwords using a secure proxy
CN105024865B (zh) 云联合即服务
CN107924411A (zh) 事务系统中ui状态的恢复
CN109656686A (zh) OpenStack上部署容器云方法、存储介质、电子设备及系统
CN109478149A (zh) 混合云计算系统中的访问服务
CN109479062B (zh) 混合云计算系统中的使用跟踪
CN108551438A (zh) 为不同服务器间的单一登录使用x.509验证
CN109691057A (zh) 经由私人内容分发网络可交换地取回敏感内容
CN107408042A (zh) 用于移动应用的高效和直观的数据绑定
CN107113302A (zh) 多租户计算系统中的安全性和许可架构
JP6064636B2 (ja) 情報処理システム、情報処理装置、認証方法及びプログラム
CN105940657A (zh) 基于租户的签名验证
US10609082B2 (en) Identity experience framework
CN110636057B (zh) 一种应用访问方法、装置和计算机可读存储介质
CN115299011B (zh) 云环境中的隐私中心数据安全
CN109565518A (zh) 可互换的内容取回
CN103778379B (zh) 管理设备上的应用执行和数据访问
CN114157448A (zh) 密码服务平台的搭建部署方法、装置、终端及存储介质
Constandache et al. Policy based dynamic negotiation for grid services authorization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant