CN101534196A - 用于安全调用rest api的方法和装置 - Google Patents

用于安全调用rest api的方法和装置 Download PDF

Info

Publication number
CN101534196A
CN101534196A CN200910004472A CN200910004472A CN101534196A CN 101534196 A CN101534196 A CN 101534196A CN 200910004472 A CN200910004472 A CN 200910004472A CN 200910004472 A CN200910004472 A CN 200910004472A CN 101534196 A CN101534196 A CN 101534196A
Authority
CN
China
Prior art keywords
security token
application server
client
communication channel
secure communication
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
CN200910004472A
Other languages
English (en)
Other versions
CN101534196B (zh
Inventor
R·Y·莱
K·F·钱
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.)
Intuit Inc
Original Assignee
Intuit Inc
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 Intuit Inc filed Critical Intuit Inc
Publication of CN101534196A publication Critical patent/CN101534196A/zh
Application granted granted Critical
Publication of CN101534196B publication Critical patent/CN101534196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Abstract

本发明实施方式提供了一种使得用户能够安全地调用应用服务器处的REST(表象化状态转移)API(应用编程接口)的系统。客户端可以建立与应用服务器的安全通信信道,并且可以向应用服务器发送请求以调用REST API。客户端继而可以响应于通过认证系统来认证用户,从该认证系统接收安全令牌。接着,客户端可以从应用服务器接收随机数和时间戳。继而,客户端可以使用安全令牌、随机数和时间戳来确定安全令牌摘要。接着,客户端可以再次向应用服务器发送请求以利用安全令牌摘要调用REST API。如果安全令牌摘要是有效的,则应用服务器可以调用REST API。

Description

用于安全调用REST API的方法和装置
技术领域
本发明一般地涉及用于提供安全web服务的技术。
背景技术
万维网(WWW),或简称“web”,几乎已经渗透我们生活的方方面面——从购买照相机到购买不动产,从阅读报纸到观看电影。不幸的是,web也可以是非常危险的场所,在该场所中,即使精明的用户也可能泄露高度敏感的信息或者遭受实质财产损失。
因此,提供对web服务的安全访问是重要的安全问题。不过,此问题由于至少两个原因而特别地具有挑战性。第一,互联网本质上是不安全的,因为它是公共网络。结果,通过互联网提供对web服务的安全访问的系统和技术需要解决各种各样的安全问题。第二,web大部分的非凡成就归因于其高度可扩展架构以及其用户友好接口,例如web浏览器。因此,重要的是要确保安全解决方案既可扩展又用户友好。换言之,创建提供对web服务的安全访问的系统和技术可能是极具挑战的,因为这些系统和技术需要高度安全、可扩展和用户友好。
发明内容
本发明的一个实施方式提供了一种系统,其使得用户能够安全地调用应用服务器处的REST(表象化状态转移)API(应用编程接口)。
在操作期间,客户端可以建立与应用服务器的安全通信信道。接着,客户端可以使用该安全通信信道来向应用服务器发送请求以调用REST API。响应于通过认证系统来认证用户,客户端继而可以从认证系统接收安全令牌。具体地,安全令牌可以是SAML(安全性断言标记语言)令牌、UniAuth令牌、非对称密钥或者Kerberos凭证(ticket)。接下来,客户端可以从应用服务器接收随机数(nonce)和时间戳。客户端继而可以使用安全令牌、随机数和时间戳来确定安全令牌摘要。具体地,客户端可以通过对安全令牌、随机数和时间戳应用加密哈希函数来确定安全令牌摘要。接着,客户端可以向应用服务器发送另一请求以利用安全令牌摘要调用REST API。如果安全令牌摘要被应用服务器成功验证,则客户端继而可以从与此REST API调用相关联的应用服务器接收数据。接下来,客户端可以存储该数据并且可以向用户显示该数据。
在一些实施方式中,安全通信信道可以是HTTPS(通过安全套接层的超文本传输协议)会话,并且REST API可以使用URL(统一资源定位符)来指定
在一些实施方式中,客户端可以从应用服务器接收重定向消息。该重定向消息可以使得客户端建立与认证系统的安全通信信道,并通过认证系统来认证用户。
在一种实施方式中,客户端可以建立与应用服务器的安全通信会话。接着,应用服务器可以从客户端接收调用REST API的请求。应用服务器继而可以向客户端发送随机数和时间戳。接下来,应用服务器可以从客户端接收安全令牌摘要。应用服务器继而可以验证该安全令牌摘要。如果安全令牌摘要是有效的,则应用服务器可以调用RESTAPI,并且将得到的输出数据发送给客户端。
附图说明
图1示出了根据本发明的实施方式的网络。
图2提供了示出根据本发明的实施方式的流程图,其中示出了用户可以如何安全地调用应用服务器处的REST API。
图3提供了示出根据本发明的实施方式的流程图,其中示出了应用服务器可以如何使得用户能够安全地调用REST API。
图4示出了根据本发明的实施方式、用于安全调用REST API的系统。
具体实施方式
提供以下描述使得本领域技术人员能够制造和使用本发明,此描述在特定应用及其需求的环境中给出。对于本领域技术人员来说,对所公开的实施方式的各种修改将变得非常明显,并且此处所限定的一般原理可以应用于其他实施方式和应用,而不偏离本发明的精神和范围。因此,本发明不限于所示出的实施方式,而是按照与此处所公开的原理和特征一致的最宽的范围。
在此具体描述中所描述的数据结构和代码通常存储在计算机可读存储介质上,计算机可读存储介质可以是能够存储代码和/或数据以便由计算机系统使用的任何设备或介质。计算机可读存储介质包括但不限于,易失性存储器、非易失性存储器、磁的和光的存储设备(诸如盘驱动器)、磁带、CD(压缩盘)、DVD(数字多功能光盘或数字视频盘)或目前已知的或以后开发的能够存储计算机可读媒体的其他介质。
在此具体描述部分所描述的方法和过程可以实现为代码和/或数据,其可以存储在上述计算机可读存储介质中。当计算机系统读取和执行存储在计算机可读存储介质上的代码和/或数据时,该计算机系统执行实现为存储在计算机可读存储介质内的数据结构和代码的方法和过程。
而且,下文描述的方法和过程可以包括在硬件模块中。例如,硬件模块可以包括但不限于,专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及目前已知的或以后开发的其他可编程逻辑设备。当硬件模块被激活时,硬件模块执行包括在此硬件模块内的方法和过程。
REST(表象化状态转移)
本发明的一种实施方式保证了REST web服务中的机密性、完整性和不可否认性,并且避免了用于提供REST API的传统技术的安全漏洞。
REST web服务模型通常在web应用中使用,因为其更容易通过在HTTP(超文本传输协议)请求或响应中传递参数和业务数据来实现和使用。SOAP是一种用于交换基于XML(可扩展标记语言)的消息的协议,其拥有安全标准。与SOAP不同,REST没有现成的安全标准,并且大部分实现是通过不具有安全性的HTTP来完成。有些服务提供商通过使用私有的安全令牌,向通过HTTP的REST web服务调用添加认证。不过,由于每个服务提供商有其自己的令牌、自己的密钥管理分发机制以及自己的私有安全处理逻辑,用户必须了解用于访问web服务的多个应用。
而且,传统的方式易受攻击,因为它们将安全令牌嵌入在HTTP请求中。特别地,通过HTTP的REST API调用完全没有安全性。通过HTTPS(通过安全套接层的超文本传输协议)的REST API调用仍然易受消息重放和欺骗攻击的伤害。而且,通过HTTP的REST API调用可能不支持完整性和不可否认性。
例如,使用网络嗅探器或安全测试工具可以很容易地拦截诸如“http://rest.api.intuit.com/restapi?CallName=GetAccountBalance&SecurityToken=3A68...EF07&UserId=johndoe”的REST API调用,并且黑客(hacker)可以通过修改或猜测客户数据来执行重放。这对于客户和服务提供商来说都可能是重要的安全问题,因为没有认证、完整性和不可否认性,敏感性的商业交易将不会受到充分的保护。
REST安全令牌赋予器(tokenizer)
本发明的一种实施方式提供了用于REST web服务的系统和技术,其能够保证机密性(例如经由认证)、完整性(例如数据不能被纂改)和不可否认性(例如,各方不能否认商业交易的发生)。具体地,实施方式包括创建安全令牌赋予器以及确保机密性、完整性和不可否认性的安全处理机制。
安全令牌赋予器封装安全证书。取决于商业交易的安全需求,安全令牌赋予器可以封装不同类型的令牌。例如,安全令牌赋予器可以封装通常在SSO(单点登录(Sign-On))过程中使用的SAML令牌。SAML令牌可以确保认证和完整性。在SSO过程期间,通常由身份提供者创建和传递SAML令牌。由于SAML令牌不存储在客户端本地,因此SAML令牌可以避免密钥管理问题。
可选地,安全令牌赋予器可以封装由某些Intuit(因特韦特)应用使用的Intuit的UniAuth凭证。UniAuth凭证可以确保在预定义的时间期间内的认证。凭证通常由UniAuth服务器在用户登入时创建,并且其有效时间通常不到一个小时。
在另一实施方式中,安全令牌赋予器可以将用于生成数字证书的非对称密钥作为令牌。此方法能够确保认证、完整性和不可否认性。这些属性对于与第三方交换数据以及确保高级别的保护而言可以是非常重要的。
安全处理机制创建安全令牌的摘要,并且在通过安全信道(例如通过HTTPS会话)调用REST web服务时发送此摘要。具体地,安全处理机制可以使用加密哈希函数(例如SHA-1)来生成摘要。
在一种实施方式中,当客户端应用调用REST API时,服务器返回随机数。随机数是由服务器创建的一个唯一的随机值,以用于创建消息摘要。继而,客户端获得base-64编码的安全令牌赋予器并且创建消息摘要。例如,系统可以使用标准SHA-1哈希算法,根据安全令牌、随机数和系统时间戳来创建摘要。客户端继而可以利用该摘要重新提交通过HTTPS的REST服务请求。
由于本发明的实施方式使用通过HTTPS的安全令牌赋予器摘要,因此该实施方式能够确保商业交易和服务请求的完整性。进一步地,如果该实施方式使用非对称密钥,则安全令牌赋予器(其封装此非对称密钥)也可以对REST API调用请求进行数字化签名。此方式可以增加提供不可否认性能力的优势。
具体地,由于如下原因,本发明的实施方式使得REST API调用请求安全。第一,实施方式使用HTTPS来确保客户端和服务器之间的通信是加密的。第二,安全令牌赋予器摘要确保了机密性,并且防止受到消息重放、欺骗和暴力攻击。第三,实施方式可以使用数字化签名以确保不可否认性。
除了上述安全特征之外,当相比于用于提供REST服务的传统方式时,本发明的实施方式具有额外的优势。由于安全令牌赋予器可以封装不同类型的令牌,因此当从一种安全令牌类型切换到另一种时,不需要重写或改变应用。而且,安全令牌赋予器不用“重新从头做”,因为它重用了安全基础设施,例如用于SAML令牌的单点登录基础设施、用于数字证书的PKI(公钥基础设施)等等。此外,由于可以动态管理安全令牌,因此令牌不必在本地存储。另外,本发明的实施方式可以使用web浏览器客户端或台式客户端来实现。由于SAML令牌可以包括能够从身份提供者基础设施接收的访问权简档,因此本发明的实施方式可以使用该访问权简档来为用户确定访问权。
网络
图1示出了根据本发明的实施方式的网络。
计算机102包括处理器104、存储器106以及存储装置108。计算机102可以与显示器114、键盘110和指示设备112相耦合。存储装置108可以存储web浏览器116、应用118以及操作系统120。在操作期间,计算机102可以将操作系统120加载到存储器106中。接着,用户122可以将web浏览器116加载到存储器106中,并且使用该web浏览器来浏览万维网。
计算机102可以与网络130耦合,网络130使得计算机102能够与应用服务器126和认证系统128通信。网络130通常可以包括能够将网络节点耦合到一起的任意类型的有线或无线通信信道。这包括但不限于,局域网、广域网、网络的组合或支持两个或多个计算系统之间的通信的其他网络。在本发明的一种实施方式中,网络130包括因特网。
用户122可以使用web浏览器116来与应用服务器126通信,该应用服务器126可以支持在线应用。设备124也可以用于web浏览或者用于调用REST API。设备124可以经由有线或无线通信信道与网络130耦合。例如,设备124可以经由Wi-Fi信道(使用实线示出)与网络130相耦合。此外,设备124也可以经由有线或无线通信信道(使用虚线示出)直接与计算机102相耦合。例如,设备124可以经由USB(通用串行总线)和/或蓝牙与计算机102耦合。
用于安全调用REST API的过程
图2提供了示出根据本发明的实施方式的流程图,其中示出了用户可以如何安全地调用应用服务器处的REST API。
响应于通过认证系统来认证用户,客户端可以从认证系统接收安全令牌(步骤202)。认证系统可以包括针对认证目的而使用的一个或多个计算机。例如,认证系统可以是身份提供者服务器,并且安全令牌可以是在单点登录过程期间生成的SAML令牌。可选地,认证系统可以包括Kerberos认证服务器和Kerberos凭证许可服务器,并且安全令牌可以是Kerberos凭证。
接下来,客户端可以建立与应用服务器的安全通信信道(步骤204)。例如,客户端可以与服务器建立HTTPS会话。注意,不是所有的SSL(安全套接层)实现都检查服务器的数字证书,因此,它们容易遭受中间人(man-in-the-middle)攻击。
客户端继而可以向应用服务器发送请求以调用REST API,其中该请求使用安全通信信道进行发送(步骤206)。例如,可以使用URL来调用REST API,并且请求可以通过HTTPS会话、作为HTTP“GET(得到)”消息来发送。
接着,客户端可以从应用服务器接收随机数和时间戳(步骤208)。随机数可以是由应用服务器生成的伪随机数,时间戳可以是应用服务器的系统时间。
客户端继而可以使用安全令牌、随机数和时间戳来确定安全令牌摘要(步骤210)。具体地,系统可以通过对安全令牌、随机数和时间戳应用加密哈希函数来生成安全令牌摘要。在一种实施方式中,加密哈希函数可以是SHA-1。
接着,客户端可以向应用服务器发送另一请求以调用REST API,其中该请求包括安全令牌摘要,并且其中该请求使用安全通信信道来发送(步骤212)。
客户端继而可以从与此REST API调用相关联的应用服务器接收数据(步骤214)。例如,数据可以包括在通过HTTPS会话接收的HTTP响应消息中。
接着,客户端可以存储数据(步骤216)。例如,客户端可以将数据存储在存储器中或存储在另一计算机可读存储介质中。
图3提供了示出根据本发明的实施方式的流程图,其中示出了应用服务器可以如何使得用户能够安全地调用REST API。
应用服务器可以建立与客户端的安全通信信道(步骤302)。接着,应用服务器可以从客户端接收调用REST API的请求,其中该请求使用此安全通信信道来接收(步骤304)。
应用服务器继而可以向客户端发送随机数和时间戳(步骤306)。接着,应用服务器可以从客户端接收安全令牌摘要(步骤308)。
应用服务器继而可以确定安全令牌摘要是否有效(步骤310)。具体地,应用服务器可以使用安全令牌、随机数和时间戳来验证该安全令牌摘要。
如果安全令牌摘要是有效的,则应用服务器可以将数据发送给与此REST API调用相关联的客户端(步骤312)。
否则,如果安全令牌摘要是无效的,则应用服务器可以向客户端发送错误消息(步骤314)。
出于示例和说明的目的,已经提供这些描述,并且其不旨在于将本发明限制在所公开的形式。相应地,对于本领域技术人员来说很多修改和变形是显而易见的。例如,在一个实施方式中,响应于接收调用REST API的请求,应用服务器可以向客户端发送重定向消息,以将客户端重定向到认证系统。该重定向消息可以使得客户端建立与认证系统的安全通信信道。接着,客户端可以使用该安全通信信道,通过认证系统来认证用户,以及接收安全令牌。客户端继而可以生成安全令牌摘要,并且使用该摘要来安全地调用REST API。在用户通过认证系统认证之后,认证系统可以向客户端发送重定向消息以将客户端重定向到应用服务器。在一个实施方式中,重定向消息可以使得客户端向应用服务器发送安全令牌。
示例性实施方式
图4示出了根据本发明实施方式的用于安全地调用REST API的系统。
客户端402、认证系统404以及应用服务器406可以使用网络来相互通信。在一种实施方式中,认证服务器406可以是身份提供者服务器。
过程可以从用户使用客户端402、通过认证服务器404来认证并且接收安全令牌410时开始(步骤408)。
接着,客户端402可以调用应用服务器406处的REST API(步骤412)。例如,客户端402可以通过向应用服务器406发送HTTP“GET”请求来调用REST API。
应用服务器406继而可以向客户端402发送随机数和时间戳(步骤414)。在此实施方式的一种变形中,应用服务器406可以仅向客户端402发送时间戳。接着,客户端402可以通过向安全令牌410、随机数和时间戳应用加密哈希函数来生成安全令牌摘要416。
接着,客户端402可以使用安全令牌摘要416来调用应用服务器406处的REST API(步骤418)。
应用服务器406继而可以通过认证服务器404核实安全令牌摘要416(步骤420)。在一种实施方式中,应用服务器406可以使用JAAS(JavaTM认证和授权服务)来核实安全令牌摘要416。(JavaTM是Sun微系统公司的商标,该商标可以在美国和/或其他国家注册。)
一旦核实了安全令牌摘要416,应用服务器406就可以处理RESTAPI调用以生成输出数据422。例如,应用服务器406可以执行数据库查询以生成输出数据422。
接着,应用服务器406可以将输出数据422发送给客户端402(步骤424)。客户端402继而可以向用户显示输出数据422。
仅出于示例性和描述的目的,已经提供了本发明实施方式的上述描述。这些描述不旨在于穷举本发明或将本发明限制于所公开的形式。相应地,对于本领域技术人员来说很多变形和修改是显而易见的。而且,上述公开内容不旨在限制本发明。本发明的范围由所附权利要求书限定。

Claims (20)

1.一种用于使得用户能够安全地调用应用服务器处的REST(表象化状态转移)API(应用编程接口)的方法,所述方法包括:
建立与应用服务器的第一安全通信信道;
向所述应用服务器发送第一请求以调用所述REST API,其中使用所述第一安全通信信道来发送所述第一请求;
响应于通过认证系统来认证所述用户,从所述认证系统接收安全令牌;
从所述应用服务器接收随机数和时间戳;
使用所述安全令牌、随机数和时间戳来确定安全令牌摘要;
向所述应用服务器发送第二请求以调用所述REST API,其中所述第二请求包括所述安全令牌摘要,并且其中使用所述第一安全通信信道来发送所述第二请求;
从与调用所述REST API的请求相关联的所述应用服务器接收数据;以及
存储所述数据。
2.根据权利要求1所述的方法,其中所述安全通信信道是HTTPS(通过安全套接层的超文本传输协议)会话,并且其中使用URL(统一资源定位符)来指定所述REST API。
3.根据权利要求1所述的方法,其中所述安全令牌是下列之一:
SAML(安全性断言标记语言)令牌;
UniAuth令牌;
非对称密钥;或
Kerberos凭证。
4.根据权利要求1所述的方法,其中确定所述安全令牌摘要包括:对所述安全令牌、随机数和时间戳应用加密哈希函数。
5.根据权利要求1所述的方法,其中在从所述认证系统接收所述安全令牌之前,所述方法包括:
从所述应用服务器接收重定向消息,其中所述重定向消息使得所述客户端建立与所述认证系统的第二安全通信信道;以及
使用所述第二安全通信信道、通过所述认证系统来认证所述用户。
6.一种存储指令的计算机可读存储介质,当所述指令由计算机执行时,其使得计算机执行用于使得用户能够安全地调用应用服务器处的REST(表象化状态转移)API(应用编程接口)的方法,所述方法包括:
建立与应用服务器的第一安全通信信道;
向所述应用服务器发送第一请求以调用所述REST API,其中使用所述第一安全通信信道来发送所述第一请求;
响应于通过认证系统来认证所述用户,从所述认证系统接收安全令牌;
从所述应用服务器接收随机数和时间戳;
使用所述安全令牌、随机数和时间戳来确定安全令牌摘要;
向所述应用服务器发送第二请求以调用所述REST API,其中所述第二请求包括所述安全令牌摘要,并且其中使用所述第一安全通信信道来发送所述第二请求;
从与调用所述REST API的请求相关联的所述应用服务器接收数据;以及
存储所述数据。
7.根据权利要求6所述的计算机可读存储介质,其中所述安全通信信道是HTTPS(通过安全套接层的超文本传输协议)会话,并且其中使用URL(统一资源定位符)来指定所述REST API。
8.根据权利要求6所述的计算机可读存储介质,其中所述安全令牌是下列之一:
SAML(安全性断言标记语言)令牌;
UniAuth令牌;
非对称密钥;或
Kerberos凭证。
9.根据权利要求6所述的计算机可读存储介质,其中确定所述安全令牌摘要包括:对所述安全令牌、随机数和时间戳应用加密哈希函数。
10.根据权利要求6所述的计算机可读存储介质,其中在从所述认证系统接收所述安全令牌之前,所述方法包括:
从所述应用服务器接收重定向消息,其中所述重定向消息使得客户端建立与所述认证系统的第二安全通信信道;以及
使用所述第二安全通信信道、通过所述认证系统来认证所述用户。
11.一种用于使得用户能够安全地调用应用服务器处的REST(表象化状态转移)API(应用编程接口)的方法,所述方法包括:
建立与客户端的第一安全通信信道;
从所述客户端接收调用所述REST API的第一请求,其中使用所述第一安全通信信道来接收所述第一请求;
向所述客户端发送随机数和时间戳;
从所述客户端接收安全令牌摘要;
验证所述安全令牌摘要;
响应于确定所述安全令牌摘要是有效的,通过调用所述RESTAPI来生成输出数据;以及
将所述输出数据发送给所述客户端。
12.根据权利要求11所述的方法,其中所述安全通信信道是HTTPS(通过安全套接层的超文本传输协议)会话,并且其中使用URL(统一资源定位符)来指定所述REST API。
13.根据权利要求11所述的方法,其中所述安全令牌是下列之一:
ML(安全性断言标记语言)令牌;
UniAuth令牌;
非对称密钥;或
Kerberos凭证。
14.根据权利要求11所述的方法,其中验证所述安全令牌摘要包括:对所述安全令牌、随机数和时间戳应用加密哈希函数。
15.根据权利要求11所述的方法,其中所述方法还包括:
向所述客户端发送重定向消息,其中所述重定向消息使得所述客户端:
建立与所述认证系统的第二安全通信信道;以及
使用所述第二安全通信信道、通过所述认证系统来认证所述用户。
16.一种存储指令的计算机可读存储介质,当所述指令由计算机执行时,其使得计算机执行用于使得用户能够安全地调用应用服务器处的REST(表象化状态转移)API(应用编程接口)的方法,所述方法包括:
建立与客户端的第一安全通信信道;
从所述客户端接收调用所述REST API的第一请求,其中使用所述第一安全通信信道来接收所述第一请求;
向所述客户端发送随机数和时间戳;
从所述客户端接收安全令牌摘要;
验证所述安全令牌摘要;
响应于确定所述安全令牌摘要是有效的,通过调用所述RESTAPI来生成输出数据;以及
将所述输出数据发送给所述客户端。
17.根据权利要求16所述的计算机可读存储介质,其中所述安全通信信道是HTTPS(通过安全套接层的超文本传输协议)会话,并且其中使用URL(统一资源定位符)来指定所述REST API。
18.根据权利要求16所述的计算机可读存储介质,其中所述安全令牌是下列之一:
SAML(安全性断言标记语言)令牌;
UniAuth令牌;
非对称密钥;或
Kerberos凭证。
19.根据权利要求16所述的计算机可读存储介质,其中验证所述安全令牌摘要包括:对所述安全令牌、随机数和时间戳应用加密哈希函数。
20.根据权利要求16所述的计算机可读存储介质,其中所述方法还包括:
向所述客户端发送重定向消息,其中所述重定向消息使得所述客户端:
建立与所述认证系统的第二安全通信信道;以及
使用所述第二安全通信信道、通过所述认证系统来认证所述用户。
CN200910004472.3A 2008-03-12 2009-03-04 用于安全调用rest api的方法和装置 Active CN101534196B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/046,579 2008-03-12
US12/046,579 US8621598B2 (en) 2008-03-12 2008-03-12 Method and apparatus for securely invoking a rest API

Publications (2)

Publication Number Publication Date
CN101534196A true CN101534196A (zh) 2009-09-16
CN101534196B CN101534196B (zh) 2014-09-03

Family

ID=40600669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910004472.3A Active CN101534196B (zh) 2008-03-12 2009-03-04 用于安全调用rest api的方法和装置

Country Status (5)

Country Link
US (1) US8621598B2 (zh)
CN (1) CN101534196B (zh)
AU (1) AU2009200629B2 (zh)
DE (1) DE102009008319A1 (zh)
GB (1) GB2458365B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN103179111A (zh) * 2013-03-11 2013-06-26 无锡中科泛在信息技术研发中心有限公司 一种防止Web 服务被非法调用的方法
CN103188344A (zh) * 2013-02-22 2013-07-03 浪潮电子信息产业股份有限公司 一种安全调用rest api的方法
CN103312665A (zh) * 2012-03-09 2013-09-18 阿尔卡特朗讯公司 用于敏感数据的安全机制
CN104335524A (zh) * 2012-06-21 2015-02-04 国际商业机器公司 用于客户端侧页面处理的公共web可访问数据存储
CN104598257A (zh) * 2013-10-30 2015-05-06 华为技术有限公司 远程应用程序运行的方法和装置
CN104683308A (zh) * 2013-12-02 2015-06-03 腾讯科技(深圳)有限公司 执行指令的方法和装置
CN104780176A (zh) * 2015-04-28 2015-07-15 中国科学院微电子研究所 安全调用表述性状态转移应用编程接口的方法和系统
CN105144659A (zh) * 2013-02-28 2015-12-09 微软技术许可有限责任公司 支持弹性和可缩放分布式应用的rest类api
CN105681470A (zh) * 2012-03-29 2016-06-15 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端
CN106130979A (zh) * 2016-06-27 2016-11-16 武汉斗鱼网络科技有限公司 基于移动端app的服务器防御系统和服务器防御方法
CN106302346A (zh) * 2015-05-27 2017-01-04 阿里巴巴集团控股有限公司 Api调用的安全认证方法、装置、系统
CN106911684A (zh) * 2017-02-17 2017-06-30 武汉斗鱼网络科技有限公司 一种鉴权方法及系统
CN107210910A (zh) * 2015-02-20 2017-09-26 瑞典爱立信有限公司 为一段数据提供散列值的方法、电子设备和计算机程序
CN107424036A (zh) * 2017-04-26 2017-12-01 北京微影时代科技有限公司 数据处理方法及装置
CN108259432A (zh) * 2016-12-29 2018-07-06 亿阳安全技术有限公司 一种api调用的管理方法、设备及系统
CN108494740A (zh) * 2018-03-01 2018-09-04 捷开通讯(深圳)有限公司 令牌生成和校验方法、智能终端及服务器
CN108900471A (zh) * 2018-05-31 2018-11-27 北京证大向上金融信息服务有限公司 用于传输数据的服务器、客户端、网络系统及方法
CN109150805A (zh) * 2017-06-19 2019-01-04 亿阳安全技术有限公司 应用程序编程接口的安全管理方法和系统
CN110089073A (zh) * 2016-12-15 2019-08-02 萨罗尼科斯贸易与服务一人有限公司 用于通过无线通信系统控制致动器的设备、系统和方法
CN110851456A (zh) * 2019-11-08 2020-02-28 北京字节跳动网络技术有限公司 一种信息处理方法、电子设备及存储介质
CN110875925A (zh) * 2018-08-30 2020-03-10 佳能株式会社 信息处理装置、授权系统及验证方法
CN112154639A (zh) * 2019-02-01 2020-12-29 甲骨文国际公司 在没有用户足迹的情况下的多因素认证
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2917323B1 (fr) * 2007-06-12 2009-10-02 Commissariat Energie Atomique Mecanisme de rotation d'avant-bras et orthese comportant un tel mecanisme
US8959199B2 (en) * 2008-03-18 2015-02-17 Reduxio Systems Ltd. Network storage system for a download intensive environment
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
CA2720398C (en) 2008-04-02 2016-08-16 Twilio Inc. System and method for processing telephony sessions
CN101567785B (zh) * 2008-04-25 2011-11-02 华为技术有限公司 网络服务中的票据认证方法、系统及实体
US8713177B2 (en) * 2008-05-30 2014-04-29 Red Hat, Inc. Remote management of networked systems using secure modular platform
US9100297B2 (en) 2008-08-20 2015-08-04 Red Hat, Inc. Registering new machines in a software provisioning environment
US9614855B2 (en) * 2009-11-05 2017-04-04 Micro Focus Software Inc. System and method for implementing a secure web application entitlement service
US8964726B2 (en) 2008-10-01 2015-02-24 Twilio, Inc. Telephony web event system and method
US8782204B2 (en) 2008-11-28 2014-07-15 Red Hat, Inc. Monitoring hardware resources in a software provisioning environment
US9558195B2 (en) 2009-02-27 2017-01-31 Red Hat, Inc. Depopulation of user data from network
US9313105B2 (en) * 2009-02-27 2016-04-12 Red Hat, Inc. Network management using secure mesh command and control framework
CN102415068B (zh) 2009-03-02 2015-09-02 特维里奥公司 用于多租户电话网络的方法和系统
US9134987B2 (en) 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
US20110088090A1 (en) * 2009-09-08 2011-04-14 Avoco Secure Ltd. Enhancements to claims based digital identities
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
KR101047017B1 (ko) * 2009-10-16 2011-07-06 (주)송도텔레콤 RESTful아키텍처를 이용한 개방형 인터페이스의 삼자 호 통신서비스 시스템 및 운영방법
US9934029B2 (en) * 2009-12-15 2018-04-03 Teradata Us, Inc. Annotation driven representational state transfer (REST) web services
US8763089B2 (en) * 2010-01-12 2014-06-24 Microsoft Corporation Flexible authentication and authorization mechanism
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US9071616B2 (en) * 2010-11-18 2015-06-30 Microsoft Technology Licensing, Llc Securing partner-enabled web service
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US9497184B2 (en) 2011-03-28 2016-11-15 International Business Machines Corporation User impersonation/delegation in a token-based authentication system
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US20130086669A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management
US8745641B1 (en) * 2011-07-14 2014-06-03 Google Inc. Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
EP2759123B1 (en) 2011-09-21 2018-08-15 Twilio, Inc. System and method for authorizing and connecting application developers and users
US8914502B2 (en) * 2011-09-27 2014-12-16 Oracle International Corporation System and method for dynamic discovery of origin servers in a traffic director environment
US8955084B2 (en) * 2011-11-10 2015-02-10 Blackberry Limited Timestamp-based token revocation
WO2013095571A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Method and apparatus to tunnel messages to storage devices by overloading read/write commands
US9270657B2 (en) 2011-12-22 2016-02-23 Intel Corporation Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9264404B1 (en) * 2012-08-15 2016-02-16 Marvell International Ltd. Encrypting data using time stamps
US8745718B1 (en) 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US9210145B2 (en) * 2012-10-02 2015-12-08 Blackberry Limited Method and system for hypertext transfer protocol digest authentication
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
WO2014065811A1 (en) * 2012-10-26 2014-05-01 Empire Technology Development Llc Securitization of developer credentials
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US8990942B2 (en) 2013-02-18 2015-03-24 Wipro Limited Methods and systems for API-level intrusion detection
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US9584557B2 (en) 2013-03-15 2017-02-28 Arris Enterprises, Inc. Proxy for facilitating streaming of media from server to client
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
WO2015001538A2 (en) * 2013-07-05 2015-01-08 Stellapps Technologies Private Limited Farm and herd management system
US9483328B2 (en) * 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US10200508B2 (en) 2013-09-17 2019-02-05 Nvidia Corporation System and method for sharing special-purpose processing resources
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US20150088957A1 (en) * 2013-09-25 2015-03-26 Sony Corporation System and methods for managing applications in multiple devices
CN104517019B (zh) * 2013-10-07 2020-09-22 涂先锋 一种简便的最近时间认证方法及实现
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9602482B1 (en) * 2013-12-12 2017-03-21 Amazon Technologies, Inc. Authentication for an API request
US9514114B2 (en) 2014-03-04 2016-12-06 International Business Machines Corporation Managing product configuration
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
EP3120501B1 (en) * 2014-03-18 2018-12-05 TWC Patent Trust LLT Low latency, high payload, high volume api gateway
US9680872B1 (en) * 2014-03-25 2017-06-13 Amazon Technologies, Inc. Trusted-code generated requests
US9226217B2 (en) * 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9860298B2 (en) 2014-09-24 2018-01-02 Oracle International Corporation Providing access via hypertext transfer protocol (HTTP) request methods to services implemented by stateless objects
EP3202103B1 (en) 2014-09-30 2021-06-16 Telefonaktiebolaget LM Ericsson (publ) Technique for handling data in a data network
US10341279B2 (en) * 2014-10-09 2019-07-02 Salesforce.Com, Inc. Action links
WO2016065080A1 (en) 2014-10-21 2016-04-28 Twilio, Inc. System and method for providing a miro-services communication platform
SG11201703549SA (en) 2014-10-30 2017-05-30 Be Bound Inc Asynchronous application data access system and method
US20160182605A1 (en) * 2014-12-19 2016-06-23 Johnson Wong Dynamic Content Aggregation
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
WO2016131559A1 (en) 2015-02-20 2016-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Method of providing a hash value for a piece of data, electronic device and computer program
US10069938B1 (en) * 2015-03-30 2018-09-04 EMC IP Holding Company LLC Returning identifiers in default query responses
WO2016162094A1 (en) 2015-04-10 2016-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Verification paths of leaves of a tree
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
CN104980449B (zh) * 2015-08-03 2018-05-08 上海携程商务有限公司 网络请求的安全认证方法及系统
US9762563B2 (en) 2015-10-14 2017-09-12 FullArmor Corporation Resource access system and method
US9509684B1 (en) * 2015-10-14 2016-11-29 FullArmor Corporation System and method for resource access with identity impersonation
US9450944B1 (en) 2015-10-14 2016-09-20 FullArmor Corporation System and method for pass-through authentication
FR3043870B1 (fr) * 2015-11-13 2019-05-17 Cassidian Cybersecurity Sas Procede de securisation et d'authentification d'une telecommunication
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10079757B2 (en) 2016-04-07 2018-09-18 Gogo Llc Systems and methods for on-board access control
US9973500B2 (en) * 2016-04-18 2018-05-15 Bank Of America Corporation Security architecture for authentication and audit
US10985997B2 (en) 2016-05-06 2021-04-20 Enterpriseweb Llc Systems and methods for domain-driven design and execution of metamodels
US10387631B2 (en) * 2016-05-06 2019-08-20 Enterpriseweb Llc Systems and methods for domain-driven design and execution of modular and dynamic services, applications and processes
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
EP3559850B1 (en) * 2016-12-21 2022-11-16 AON Global Operations PLC, Singapore Branch Methods and systems for securely embedding dashboards into a content management system
US10922306B2 (en) 2016-12-21 2021-02-16 Aon Global Operations Plc, Singapore Branch Systems and methods for automated bulk user registration spanning both a content management system and any software applications embedded therein
US11537272B2 (en) 2016-12-21 2022-12-27 Aon Global Operations Se, Singapore Branch Content management system extensions
US10511574B2 (en) * 2017-03-31 2019-12-17 Hyland Software, Inc. Methods and apparatuses for utilizing a gateway integration server to enhance application security
JP6918582B2 (ja) * 2017-06-02 2021-08-11 パナソニック株式会社 乱数性検証システム及び乱数性検証方法
US10581800B2 (en) * 2017-07-25 2020-03-03 Ca, Inc. Protecting computer servers from API attacks using coordinated varying of URL addresses in API requests
US11093585B2 (en) * 2017-08-31 2021-08-17 Wacom Co., Ltd. License and authentication management server
US20190089693A1 (en) * 2017-09-21 2019-03-21 Jing Ding Systems and methods for authenticating internet-of-things devices
EP3753234A4 (en) * 2018-04-06 2021-04-14 Samsung Electronics Co., Ltd. PROCESS AND DEVICE FOR CARRYING OUT BOARDING
US10917409B2 (en) 2018-04-19 2021-02-09 Microsoft Technology Licensing, Llc System and method to securely execute datacenter management operations remotely
CN108737525A (zh) * 2018-05-10 2018-11-02 江苏天时新材料科技有限公司 一种基于REST架构的Web服务系统
US11227041B2 (en) * 2018-08-24 2022-01-18 Baskaran Dharmarajan Identification service based authorization
US11140169B1 (en) * 2018-10-31 2021-10-05 Workday, Inc. Cloud platform access system
WO2020166066A1 (ja) * 2019-02-15 2020-08-20 日本電気株式会社 トークン保護方法、認可システム、装置、及び、プログラム記録媒体
US11551216B2 (en) 2019-05-01 2023-01-10 Sony Corporation Transaction security on distributed-ledger based MaaS platform
CN110611564B (zh) * 2019-07-30 2022-11-11 云南昆钢电子信息科技有限公司 一种基于时间戳的api重放攻击的防御系统及方法
CN111355730A (zh) * 2020-02-28 2020-06-30 政采云有限公司 一种平台登录方法、装置、设备及计算机可读存储介质
US11750600B2 (en) * 2020-10-29 2023-09-05 EMC IP Holding Company LLC Authentication token management for multiple processes and representational state transfer clients
US11516204B1 (en) 2020-12-14 2022-11-29 Express Scripts Strategic Development, Inc. System and method for secure single sign on using security assertion markup language
EP4080390A1 (en) * 2021-04-19 2022-10-26 Thales DIS France SA A method for granting a user access through a user access device hosting a client application to a service coming from a set of services of a server application hosted by a distant server
US11599456B2 (en) * 2021-05-27 2023-03-07 EMC IP Holding Company LLC Automated validation of a rest application programming interface

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666175A (zh) * 2002-06-28 2005-09-07 电子湾有限公司 用于监控用户与计算机之间交互的方法和系统
CN1956404A (zh) * 2005-10-28 2007-05-02 国际商业机器公司 使用面向消息传送的中间件动态地更新网页的系统和方法
CN101127606A (zh) * 2006-07-08 2008-02-20 国际商业机器公司 传输数据对象的方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409557B2 (en) * 1999-07-02 2008-08-05 Time Certain, Llc System and method for distributing trusted time
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7243226B2 (en) * 2001-12-12 2007-07-10 Valve Corporation Method and system for enabling content security in a distributed system
US7392390B2 (en) * 2001-12-12 2008-06-24 Valve Corporation Method and system for binding kerberos-style authenticators to single clients
US7818792B2 (en) * 2002-02-04 2010-10-19 General Instrument Corporation Method and system for providing third party authentication of authorization
US7231663B2 (en) * 2002-02-04 2007-06-12 General Instrument Corporation System and method for providing key management protocol with client verification of authorization
US8171562B2 (en) * 2003-08-26 2012-05-01 Oregon Health & Science University System and methods for protecting against denial of service attacks
US8136149B2 (en) * 2004-06-07 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology providing verified secured individual end points
US7647627B2 (en) * 2005-08-24 2010-01-12 Metasecure Corporation System and methods for secure service oriented architectures
US8599832B2 (en) * 2005-09-28 2013-12-03 Ingenio Llc Methods and apparatuses to connect people for real time communications via voice over internet protocol (VOIP)
US20070204010A1 (en) * 2005-12-12 2007-08-30 Steven Goldberg Remote Module Syndication System and Method
US7801912B2 (en) * 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
US7751428B2 (en) * 2006-07-17 2010-07-06 Dell Products, Lp System and method for accessing SMASH-CLP commands as a web service
US7797406B2 (en) * 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US7804774B2 (en) * 2006-12-01 2010-09-28 Sonus Networks, Inc. Scalable filtering and policing mechanism for protecting user traffic in a network
US9122422B2 (en) * 2008-01-17 2015-09-01 International Business Machines Corporation Representing models in systems development lifecycle (SDLC) tools using a network of internet resources
US9135321B2 (en) * 2008-02-06 2015-09-15 Microsoft Technology Licensing, Llc Synchronization infrastructure for networked devices, applications and services in a loosely coupled multi-master synchronization environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666175A (zh) * 2002-06-28 2005-09-07 电子湾有限公司 用于监控用户与计算机之间交互的方法和系统
CN1956404A (zh) * 2005-10-28 2007-05-02 国际商业机器公司 使用面向消息传送的中间件动态地更新网页的系统和方法
CN101127606A (zh) * 2006-07-08 2008-02-20 国际商业机器公司 传输数据对象的方法和装置

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312665A (zh) * 2012-03-09 2013-09-18 阿尔卡特朗讯公司 用于敏感数据的安全机制
CN102647461B (zh) * 2012-03-29 2016-05-04 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端
CN105681470B (zh) * 2012-03-29 2018-12-28 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
CN105681470A (zh) * 2012-03-29 2016-06-15 北京奇虎科技有限公司 基于超文本传输协议的通信方法、服务器、终端
CN104335524A (zh) * 2012-06-21 2015-02-04 国际商业机器公司 用于客户端侧页面处理的公共web可访问数据存储
CN104335524B (zh) * 2012-06-21 2017-10-13 国际商业机器公司 用于客户端侧页面处理的公共web可访问数据存储
CN103188344A (zh) * 2013-02-22 2013-07-03 浪潮电子信息产业股份有限公司 一种安全调用rest api的方法
CN105144659A (zh) * 2013-02-28 2015-12-09 微软技术许可有限责任公司 支持弹性和可缩放分布式应用的rest类api
CN103179111A (zh) * 2013-03-11 2013-06-26 无锡中科泛在信息技术研发中心有限公司 一种防止Web 服务被非法调用的方法
CN103179111B (zh) * 2013-03-11 2015-10-28 无锡中科泛在信息技术研发中心有限公司 一种防止Web服务被非法调用的方法
US10057364B2 (en) 2013-10-30 2018-08-21 Huawei Technologies Co., Ltd. Method and apparatus for remotely running application program
CN104598257A (zh) * 2013-10-30 2015-05-06 华为技术有限公司 远程应用程序运行的方法和装置
WO2015062339A1 (zh) * 2013-10-30 2015-05-07 华为技术有限公司 远程应用程序运行的方法和装置
CN104598257B (zh) * 2013-10-30 2019-01-18 华为技术有限公司 远程应用程序运行的方法和装置
CN104683308A (zh) * 2013-12-02 2015-06-03 腾讯科技(深圳)有限公司 执行指令的方法和装置
US10972284B2 (en) 2015-02-20 2021-04-06 Telefonaktiebolaget Lm Ericsson (Publ) Method of providing a hash value for a piece of data, electronic device and computer program
CN107210910A (zh) * 2015-02-20 2017-09-26 瑞典爱立信有限公司 为一段数据提供散列值的方法、电子设备和计算机程序
CN107210910B (zh) * 2015-02-20 2021-03-23 瑞典爱立信有限公司 为一段数据提供散列值的方法、电子设备和计算机程序
CN104780176A (zh) * 2015-04-28 2015-07-15 中国科学院微电子研究所 安全调用表述性状态转移应用编程接口的方法和系统
CN106302346A (zh) * 2015-05-27 2017-01-04 阿里巴巴集团控股有限公司 Api调用的安全认证方法、装置、系统
CN106130979A (zh) * 2016-06-27 2016-11-16 武汉斗鱼网络科技有限公司 基于移动端app的服务器防御系统和服务器防御方法
CN110089073A (zh) * 2016-12-15 2019-08-02 萨罗尼科斯贸易与服务一人有限公司 用于通过无线通信系统控制致动器的设备、系统和方法
CN108259432A (zh) * 2016-12-29 2018-07-06 亿阳安全技术有限公司 一种api调用的管理方法、设备及系统
CN106911684B (zh) * 2017-02-17 2020-06-16 武汉斗鱼网络科技有限公司 一种鉴权方法及系统
CN106911684A (zh) * 2017-02-17 2017-06-30 武汉斗鱼网络科技有限公司 一种鉴权方法及系统
CN107424036A (zh) * 2017-04-26 2017-12-01 北京微影时代科技有限公司 数据处理方法及装置
CN109150805B (zh) * 2017-06-19 2021-07-09 亿阳安全技术有限公司 应用程序编程接口的安全管理方法和系统
CN109150805A (zh) * 2017-06-19 2019-01-04 亿阳安全技术有限公司 应用程序编程接口的安全管理方法和系统
CN108494740A (zh) * 2018-03-01 2018-09-04 捷开通讯(深圳)有限公司 令牌生成和校验方法、智能终端及服务器
CN108494740B (zh) * 2018-03-01 2021-08-24 捷开通讯(深圳)有限公司 令牌生成和校验方法、智能终端及服务器
CN108900471A (zh) * 2018-05-31 2018-11-27 北京证大向上金融信息服务有限公司 用于传输数据的服务器、客户端、网络系统及方法
CN108900471B (zh) * 2018-05-31 2022-02-25 北京证大向上金融信息服务有限公司 用于传输数据的服务器、客户端、网络系统及方法
CN110875925A (zh) * 2018-08-30 2020-03-10 佳能株式会社 信息处理装置、授权系统及验证方法
US11271923B2 (en) 2018-08-30 2022-03-08 Canon Kabushiki Kaisha Information processing apparatus, authorization system, and verification method
CN112154639A (zh) * 2019-02-01 2020-12-29 甲骨文国际公司 在没有用户足迹的情况下的多因素认证
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
CN112154639B (zh) * 2019-02-01 2023-08-11 甲骨文国际公司 在没有用户足迹的情况下的多因素认证
CN110851456A (zh) * 2019-11-08 2020-02-28 北京字节跳动网络技术有限公司 一种信息处理方法、电子设备及存储介质
CN110851456B (zh) * 2019-11-08 2022-03-29 北京字节跳动网络技术有限公司 一种信息处理方法、电子设备及存储介质
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment

Also Published As

Publication number Publication date
AU2009200629A1 (en) 2009-10-01
US20090235349A1 (en) 2009-09-17
US8621598B2 (en) 2013-12-31
GB2458365B (en) 2012-05-09
DE102009008319A1 (de) 2009-10-01
AU2009200629B2 (en) 2014-04-17
GB2458365A (en) 2009-09-23
GB0903944D0 (en) 2009-04-22
CN101534196B (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN101534196B (zh) 用于安全调用rest api的方法和装置
JP5579872B2 (ja) 安全な複数uim認証および鍵交換
JP5688087B2 (ja) 信頼できる認証およびログオンのための方法および装置
CN102201915B (zh) 一种基于单点登录的终端认证方法和装置
RU2297037C2 (ru) Управление защищенной линией связи в динамических сетях
US6993652B2 (en) Method and system for providing client privacy when requesting content from a public server
US7953391B2 (en) Method for inclusive authentication and management of service provider, terminal and user identity module, and system and terminal device using the method
KR101434769B1 (ko) 신뢰적인 연합 아이덴티티 관리 및 데이터 액세스 인가를 위한 방법 및 장치
EP2932428B1 (en) Method of allowing establishment of a secure session between a device and a server
JP2014531163A5 (zh)
EP1577736A2 (en) Efficient and secure authentication of computing systems
US20140245417A1 (en) Centralized secure management method of third-party application, system and corresponding communication system
CN109510802B (zh) 鉴权方法、装置及系统
CN101507233A (zh) 用于提供对于应用程序和基于互联网的服务的可信单点登录访问的方法和设备
KR20190114434A (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
US20070192480A1 (en) Method of measuring round trip time and proximity checking method using the same
KR20130109322A (ko) 통신 시스템에서 사용자 인증을 대행하는 장치 및 방법
KR20190114432A (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
KR100993333B1 (ko) 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템
JP2017139026A (ja) 信頼できる認証およびログオンのための方法および装置
JP2015111440A (ja) 信頼できる認証およびログオンのための方法および装置
WO2014086652A1 (en) Method of allowing communication between a secure element and a server
EP2530618B1 (en) Sign-On system with distributed access

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant