CN101534196A - 用于安全调用rest api的方法和装置 - Google Patents
用于安全调用rest api的方法和装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 36
- 238000004891 communication Methods 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 101000896740 Solanum tuberosum Cysteine protease inhibitor 9 Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000344 soap Substances 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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/3213—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施方式提供了一种使得用户能够安全地调用应用服务器处的REST(表象化状态转移)API(应用编程接口)的系统。客户端可以建立与应用服务器的安全通信信道,并且可以向应用服务器发送请求以调用REST API。客户端继而可以响应于通过认证系统来认证用户,从该认证系统接收安全令牌。接着,客户端可以从应用服务器接收随机数和时间戳。继而,客户端可以使用安全令牌、随机数和时间戳来确定安全令牌摘要。接着,客户端可以再次向应用服务器发送请求以利用安全令牌摘要调用REST API。如果安全令牌摘要是有效的,则应用服务器可以调用REST API。
Description
技术领域
本发明一般地涉及用于提供安全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所述的计算机可读存储介质,其中所述方法还包括:
向所述客户端发送重定向消息,其中所述重定向消息使得所述客户端:
建立与所述认证系统的第二安全通信信道;以及
使用所述第二安全通信信道、通过所述认证系统来认证所述用户。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/046,579 US8621598B2 (en) | 2008-03-12 | 2008-03-12 | Method and apparatus for securely invoking a rest API |
US12/046,579 | 2008-03-12 |
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)
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 (126)
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 |
CA2720398C (en) | 2008-04-02 | 2016-08-16 | Twilio Inc. | System and method for processing telephony sessions |
US8837465B2 (en) | 2008-04-02 | 2014-09-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 |
WO2010040010A1 (en) | 2008-10-01 | 2010-04-08 | 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 |
EP2404412B1 (en) | 2009-03-02 | 2019-05-01 | Twilio Inc. | Method and system for a multitenancy telephone network |
US9134987B2 (en) | 2009-05-29 | 2015-09-15 | Red Hat, Inc. | Retiring target machines by a provisioning server |
WO2011030221A2 (en) * | 2009-09-08 | 2011-03-17 | 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 |
US9338064B2 (en) | 2010-06-23 | 2016-05-10 | 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 |
US9459925B2 (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 |
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 |
US20140044123A1 (en) | 2011-05-23 | 2014-02-13 | Twilio, Inc. | System and method for real time communicating with a client application |
US9648006B2 (en) | 2011-05-23 | 2017-05-09 | Twilio, Inc. | System and method for communicating with a client application |
US9398622B2 (en) | 2011-05-23 | 2016-07-19 | Twilio, Inc. | System and method for connecting a communication to a client |
US8745641B1 (en) * | 2011-07-14 | 2014-06-03 | Google Inc. | Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface |
US9336500B2 (en) | 2011-09-21 | 2016-05-10 | Twilio, Inc. | System and method for authorizing and connecting application developers and users |
US10182147B2 (en) | 2011-09-21 | 2019-01-15 | Twilio Inc. | System and method for determining and communicating presence information |
US9128764B2 (en) * | 2011-09-27 | 2015-09-08 | Oracle International Corporation | System and method for providing flexibility in configuring HTTP load balancing in a traffic director environment |
US9495533B2 (en) * | 2011-09-29 | 2016-11-15 | Oracle International Corporation | Mobile application, identity relationship management |
US8955084B2 (en) * | 2011-11-10 | 2015-02-10 | Blackberry Limited | Timestamp-based token revocation |
WO2013095573A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure |
US9185079B2 (en) | 2011-12-22 | 2015-11-10 | Intel Corporation | Method and apparatus to tunnel messages to storage devices by overloading read/write commands |
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 |
US20130304928A1 (en) | 2012-05-09 | 2013-11-14 | Twilio, Inc. | System and method for managing latency in a distributed telephony network |
US9240941B2 (en) | 2012-05-09 | 2016-01-19 | Twilio, Inc. | System and method for managing media in a distributed communication 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 |
EP2717539B1 (en) * | 2012-10-02 | 2015-04-01 | BlackBerry Limited | Method and system for hypertext transfer protocol digest authentication |
US8938053B2 (en) | 2012-10-15 | 2015-01-20 | Twilio, Inc. | System and method for triggering on platform usage |
US8948356B2 (en) | 2012-10-15 | 2015-02-03 | Twilio, Inc. | System and method for routing communications |
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 |
US9549000B2 (en) | 2013-03-15 | 2017-01-17 | Arris Enterprises, Inc. | Streaming media from a server delivering individualized content streams to clients |
US9001666B2 (en) | 2013-03-15 | 2015-04-07 | Twilio, Inc. | System and method for improving routing in a distributed communication platform |
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 |
US9240966B2 (en) | 2013-06-19 | 2016-01-19 | Twilio, Inc. | System and method for transmitting and receiving media messages |
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 |
US9137127B2 (en) | 2013-09-17 | 2015-09-15 | Twilio, Inc. | System and method for providing communication platform metadata |
US9338018B2 (en) | 2013-09-17 | 2016-05-10 | Twilio, Inc. | System and method for pricing communication of a telecommunication platform |
US9274858B2 (en) | 2013-09-17 | 2016-03-01 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US10200508B2 (en) | 2013-09-17 | 2019-02-05 | Nvidia Corporation | System and method for sharing special-purpose processing resources |
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 |
US9846771B2 (en) * | 2014-03-18 | 2017-12-19 | 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 |
US9251371B2 (en) | 2014-07-07 | 2016-02-02 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US9516101B2 (en) | 2014-07-07 | 2016-12-06 | Twilio, Inc. | System and method for collecting feedback in a multi-tenant communication platform |
US9774687B2 (en) | 2014-07-07 | 2017-09-26 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US9246694B1 (en) | 2014-07-07 | 2016-01-26 | Twilio, Inc. | System and method for managing conferencing in a distributed communication network |
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 |
US10862690B2 (en) | 2014-09-30 | 2020-12-08 | 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 |
EP3210350B1 (en) | 2014-10-21 | 2020-05-20 | Twilio, Inc. | Method for providing a miro-services communication platform |
EP3213223A4 (en) | 2014-10-30 | 2018-05-02 | 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 |
US10447479B2 (en) | 2015-02-20 | 2019-10-15 | 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 |
US10419891B2 (en) | 2015-05-14 | 2019-09-17 | Twilio, Inc. | System and method for communicating through multiple endpoints |
US9948703B2 (en) | 2015-05-14 | 2018-04-17 | Twilio, Inc. | System and method for signaling through data storage |
CN104980449B (zh) * | 2015-08-03 | 2018-05-08 | 上海携程商务有限公司 | 网络请求的安全认证方法及系统 |
US9509684B1 (en) * | 2015-10-14 | 2016-11-29 | FullArmor Corporation | System and method for resource access with identity impersonation |
US9762563B2 (en) | 2015-10-14 | 2017-09-12 | FullArmor Corporation | Resource access system and method |
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 |
US10686902B2 (en) | 2016-05-23 | 2020-06-16 | Twilio Inc. | System and method for a multi-channel notification service |
US10063713B2 (en) | 2016-05-23 | 2018-08-28 | Twilio Inc. | System and method for programmatic device connectivity |
US10990642B2 (en) * | 2016-12-21 | 2021-04-27 | Aon Global Operations Se, Singapore Branch | Methods and systems for securely embedding dashboards into a content management system |
US11537272B2 (en) | 2016-12-21 | 2022-12-27 | Aon Global Operations Se, Singapore Branch | Content management system extensions |
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 |
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 |
CN112438041B (zh) * | 2018-04-06 | 2024-07-19 | 三星电子株式会社 | 用于执行接入的方法与装置 |
CN110362412A (zh) | 2018-04-09 | 2019-10-22 | 华为技术有限公司 | 一种服务api调用方法和相关装置 |
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 |
JP7226457B2 (ja) * | 2019-02-15 | 2023-02-21 | 日本電気株式会社 | トークン保護方法、認可システム、装置、及び、プログラム記録媒体 |
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 |
WO2024184611A1 (en) * | 2023-03-09 | 2024-09-12 | Sita Information Networking Computing Uk Limited | Secure communication system and method |
Citations (3)
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)
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 |
US7231663B2 (en) * | 2002-02-04 | 2007-06-12 | General Instrument Corporation | System and method for providing key management protocol with client verification of authorization |
US7818792B2 (en) * | 2002-02-04 | 2010-10-19 | General Instrument Corporation | Method and system for providing third party authentication 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 |
-
2008
- 2008-03-12 US US12/046,579 patent/US8621598B2/en active Active
-
2009
- 2009-02-11 DE DE102009008319A patent/DE102009008319A1/de active Pending
- 2009-02-17 AU AU2009200629A patent/AU2009200629B2/en active Active
- 2009-03-04 CN CN200910004472.3A patent/CN101534196B/zh active Active
- 2009-03-06 GB GB0903944.7A patent/GB2458365B/en active Active
Patent Citations (3)
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)
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 |
---|---|
US20090235349A1 (en) | 2009-09-17 |
GB2458365A (en) | 2009-09-23 |
DE102009008319A1 (de) | 2009-10-01 |
GB0903944D0 (en) | 2009-04-22 |
CN101534196B (zh) | 2014-09-03 |
AU2009200629A1 (en) | 2009-10-01 |
AU2009200629B2 (en) | 2014-04-17 |
US8621598B2 (en) | 2013-12-31 |
GB2458365B (en) | 2012-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101534196B (zh) | 用于安全调用rest api的方法和装置 | |
JP5579872B2 (ja) | 安全な複数uim認証および鍵交換 | |
JP5688087B2 (ja) | 信頼できる認証およびログオンのための方法および装置 | |
RU2297037C2 (ru) | Управление защищенной линией связи в динамических сетях | |
US6993652B2 (en) | Method and system for providing client privacy when requesting content from a public server | |
KR101434769B1 (ko) | 신뢰적인 연합 아이덴티티 관리 및 데이터 액세스 인가를 위한 방법 및 장치 | |
EP1577736A2 (en) | Efficient and secure authentication of computing systems | |
EP2932428B1 (en) | Method of allowing establishment of a secure session between a device and a server | |
JP2014531163A5 (zh) | ||
US20060281442A1 (en) | Method for inclusive authentication and management of service provider, terminal and user identity module, and system and terminal device using the method | |
US20140245417A1 (en) | Centralized secure management method of third-party application, system and corresponding communication system | |
CN109510802B (zh) | 鉴权方法、装置及系统 | |
CN101507233A (zh) | 用于提供对于应用程序和基于互联网的服务的可信单点登录访问的方法和设备 | |
US20070192480A1 (en) | Method of measuring round trip time and proximity checking method using the same | |
KR20190114434A (ko) | 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버 | |
KR20130109322A (ko) | 통신 시스템에서 사용자 인증을 대행하는 장치 및 방법 | |
KR20190114432A (ko) | 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버 | |
KR100993333B1 (ko) | 인터넷 접속 도구를 고려한 사용자 인증 방법 및 시스템 | |
JP2017139026A (ja) | 信頼できる認証およびログオンのための方法および装置 | |
EP2530618B1 (en) | Sign-On system with distributed access | |
JP2015111440A (ja) | 信頼できる認証およびログオンのための方法および装置 | |
EP2741461A1 (en) | Method of allowing communication between a secure element and a server | |
KR20190114435A (ko) | 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버 |
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 |