CN109327431B - 处理移动设备上的资源请求 - Google Patents

处理移动设备上的资源请求 Download PDF

Info

Publication number
CN109327431B
CN109327431B CN201810869096.3A CN201810869096A CN109327431B CN 109327431 B CN109327431 B CN 109327431B CN 201810869096 A CN201810869096 A CN 201810869096A CN 109327431 B CN109327431 B CN 109327431B
Authority
CN
China
Prior art keywords
server
encrypted
application
request
mobile device
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.)
Active
Application number
CN201810869096.3A
Other languages
English (en)
Other versions
CN109327431A (zh
Inventor
西亚瓦什·詹姆斯·约拉卜基安·霍金斯
伊恩·哈维
马克·伍丁
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.)
BlackBerry Ltd
Original Assignee
BlackBerry Ltd
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 BlackBerry Ltd filed Critical BlackBerry Ltd
Publication of CN109327431A publication Critical patent/CN109327431A/zh
Application granted granted Critical
Publication of CN109327431B publication Critical patent/CN109327431B/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

系统、方法和软件可以用于处理资源请求。在一些方面中,所述方法包括:从移动设备向代理服务器发送经加密的请求,其中所述经加密的请求包括超文本传输协议(HTTP)请求,所述HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器,且所述经加密的请求是使用与该应用关联的应用专用凭证来进行加密的;以及在移动设备处接收响应于所述经加密的请求的经加密的响应,其中经加密的响应包括由应用服务器生成的HTTP响应。

Description

处理移动设备上的资源请求
技术领域
本公开涉及处理移动设备上的资源请求。
背景技术
在一些情况下,在移动设备上执行的应用可以向应用服务器请求资源来完成操作。在一个示例中,电子邮件应用可以向电子邮件服务器请求更新的电子邮件信息以完成同步应用。在另一示例中,文件传输应用可以向远程文件系统请求文件以完成文件传输协议(FTP)操作。在一些情况下,可以根据超文本传输协议(HTTP)格式来格式化资源请求和资源响应。
发明内容
在一些方面中,提供一种方法,包括:从移动设备向代理服务器发送经加密的请求,其中所述经加密的请求包括超文本传输协议(HTTP)请求,所述HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器,且所述经加密的请求是使用与该应用关联的应用专用凭证来进行加密的;以及在移动设备处接收响应于所述经加密的请求的经加密的响应,其中经加密的响应包括由应用服务器生成的HTTP响应。
在一些方面中,提供了一种移动设备,包括:至少一个硬件处理器;以及非暂时性计算机可读存储介质,耦接到所述至少一个硬件处理器并存储用于由所述至少一个硬件处理器执行的编程指令,其中所述编程指令在被执行时使所述至少一个硬件处理器执行包括如下各项的操作:从移动设备向代理服务器发送经加密的请求,其中所述经加密的请求包括超文本传输协议HTTP请求,所述HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器,且所述经加密的请求是使用与所述应用关联的应用专用凭证来进行加密的;以及在移动设备处接收响应于所述经加密的请求的经加密的响应,其中所述经加密的响应包括由所述应用服务器生成的HTTP响应。
在一些方面中,提供了一种存储指令的非暂时性计算机可读介质,所述指令在执行时使计算设备执行如下操作,包括:从移动设备向代理服务器发送经加密的请求,其中所述经加密的请求包括超文本传输协议HTTP请求,所述HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器,且所述经加密的请求是使用与所述应用关联的应用专用凭证来进行加密的;以及在移动设备处接收响应于所述经加密的请求的经加密的响应,其中所述经加密的响应包括由所述应用服务器生成的HTTP响应。
附图说明
图1是示出根据一种实施方式的处理资源请求的示例通信系统的示意图。
图2是示出根据一种实施方式的生成资源请求的示例移动设备的示意图。
图3是示出根据一种实施方式的与网络耦接的服务器的高级架构框图。
图4是示出根据一种实施方式的用于处理资源请求的示例过程的流程图。
图5是示出根据一种实施方式的用于处理资源请求的示例方法的流程图。
各附图中相似的附图标记和标号表示相似的元件。
具体实施方式
在一些情况下,应用可以生成资源请求并向提供服务的应用服务器发送所述资源请求。在一些实施方式中,移动设备上的系统进程可以用于管理外部消息的发送和接收。例如,在移动设备上实现的系统进程可以代表正在移动设备上执行的应用来管理HTTP请求和响应。在一些情况下,当应用在前台执行时,应用可以管理外部消息,例如HTTP请求和响应。当应用在后台执行时,该应用可以使用系统进程来管理这些外部消息的发送和接收。在系统进程管理请求和响应期间,可以暂停该应用。系统进程可以调度该系统进程管理的应用的HTTP请求和响应的数据通信。系统进程可以管理来自不同应用的HTTP请求和响应,当HTTP请求或响应处于待处理状态时,可以暂停所述不同应用中的一部分或全部应用。当HTTP响应准备就绪时,系统进程可以使应用恢复。系统进程可以使每个应用在不同时间恢复处理。系统进程处理的外部消息的其他示例包括FTP消息。这种方法提高了多个应用的后台进程的效率。在一些实施方式中,系统进程可以实现为移动设备上的操作系统的一部分。
由于系统进程处理多个应用的后台消息,并且可能没有强大的安全保护,因此对于这些被发送给系统进程的资源请求和资源响应而言存在安全风险。对于可能在资源请求和资源响应中包括敏感信息的企业应用来说,安全风险的担忧可能更高。此外,资源请求的目标地址(例如,提供服务的应用服务器)可能在资源请求中被暴露,并且可能被潜在的恶意攻击使用。
在一些情况下,移动设备上的应用可以与管理服务器建立应用专用的凭证和传输路径标识符。加密凭证可以用于在向系统进程发送资源请求以进行处理之前对资源请求进行加密。此外,传输路径标识符可以用于代理服务器以将经加密的资源请求发送到加密服务器。加密服务器可以对经加密的资源请求进行解密并将经解密的资源请求转发给应用服务器。类似地,资源响应也可以由加密服务器进行加密,并通过代理服务器被发送至系统进程。图1-5以及关联的描述提供了这些实施方式的附加细节。这些方法提供了一种用于发送、接收和处理资源请求与响应的安全实施方式。资源请求与响应的内容是加密的,且在没有应用专用的凭证的情况下,系统进程或其他应用将无法访问这些内容。此外,应用服务器的地址是通过使用代理服务器而被屏蔽,并且也不能被系统进程或移动设备上的其他应用访问。
图1是示出根据一种实施方式的处理资源请求的示例通信系统100的示意图。在高级层面上,示例通信系统100包括通过网络110与管理服务器150通信耦接的移动设备102。通信系统100还包括与网络110通信耦接的代理服务器120、加密服务器130、代理主机140和应用服务器160。
应用服务器160表示可以被配置为为移动设备102上执行的应用提供资源的应用、应用集、软件、软件模块、硬件或其任何组合。在一些情况下,应用可以是企业应用,例如电子邮件、消息传递、文件共享或其他企业应用。应用服务器160提供的资源可以包括企业资源,例如文件系统、网站、门户。备选地,应用服务器160可以为在移动设备102上执行的个人应用提供资源。在一些情况下,可以向已认证的用户授予对资源的访问权。在一些情况下,应用服务器160可以接收资源请求(例如,HTTP请求),并用资源响应(例如,HTTP响应)进行响应。图2-5以及关联的描述提供了这些实施方式的附加细节。
管理服务器150表示可被配置为管理移动设备102的应用和设备的应用、应用集、软件、软件模块、硬件或其任何组合。在一个示例中,管理服务器150可以实现为企业移动性管理(EMM)服务器的一部分。EMM服务器可以安装、更新和管理企业应用的许可。在一些情况下,管理服务器150可以位于企业的经营场所、防火墙后面或其组合。在一些情况下,管理服务器150可以被配置为在云中供应企业服务。在一些实施方式中,管理服务器150可以与移动设备102建立加密凭证和传输路径,以便传输资源请求。图2-5以及关联的描述提供了这些实施方式的附加细节。
加密服务器130表示对资源请求进行解密并将经解密的资源请求发送给应用服务器160的应用、应用集、软件、软件模块、硬件或其任何组合。加密服务器130还可以对从应用服务器160接收的资源响应进行加密,并将经加密的资源响应转发到代理服务器120。在一些情况下,加密服务器130可以位于企业的经营场所、防火墙后面或其组合。在一些情况下,加密服务器130可以和管理服务器150实现在相同的平台上。备选地或附加地,加密服务器130可以在云计算平台中实现。图2-5以及关联的描述提供了这些实施方式的附加细节。
代理服务器120表示可以被配置为提供代理服务的应用、应用集、软件、软件模块、硬件或其任何组合。在一些情况下,代理服务器120可以用于将从移动设备102接收的资源请求转发到加密服务器130,并将从加密服务器130接收的资源响应转发到移动设备102。在一些情况下,代理服务器120还在转发资源请求和资源响应之前认证移动设备102和加密服务器130。图2-5以及关联的描述提供了这些实施方式的附加细节。
代理主机140表示可以被配置为提供代理服务120的应用、应用集、软件、软件模块、硬件或其任何组合。在一些情况下,管理服务器150可以向代理主机140发送代理请求,并且代理主机140可以根据代理请求提供代理服务器120并且向管理服务器150返回代理响应。在一些情况下,代理主机140可以实现为与企业或企业服务相关联的网络运营中心(NOC)的一部分。
示例通信系统100包括网络110。网络110表示可以被配置为在系统100中的实体之间传输数据消息的应用、应用集、软件、软件模块、硬件或其组合。网络110包括无线网络、有线网络或其组合。例如,网络110可以包括一个或多个无线电接入网络(RAN)、核心网络(CN)和外部网络。RAN可以包括一个或多个无线电接入技术。在一些实施方式中,无线电接入技术可以是全球移动通信系统(GSM)、过渡标准95(IS-95)、通用移动电信系统(UMTS)、CDMA2000(码分多址)、演进通用移动电信系统(E-UMTS)、长期演进(LTE)、LTE-高级、5G或任何其他无线电访问技术。在一些情况下,核心网络可以是演进分组核心(EPC)。
RAN是实现诸如UMTS、CDMA2000、3GPP LTE和3GPP LTE-A之类的无线电接入技术的无线电信系统的一部分。在许多应用中,RAN包括至少一个基站。基站可以是可以控制系统的固定部分中的全部或至少一些无线电相关功能的无线电基站。基站可以在其覆盖区域或小区内提供无线电接口用于移动设备进行通信。基站可以分布在整个蜂窝网络中以提供广泛的覆盖范围。基站直接与一个或多个移动设备、其它基站以及一个或多个核心网络节点通信。
在操作中,移动设备102可以与管理服务器150建立应用专用的凭证和传输路径标识符。加密凭证可以用于对从移动设备102发送的资源请求进行加密。代理服务器120用于基于由传输路径标识符指示的映射关系将经加密的资源请求转发到加密服务器130。加密服务器130对资源请求进行解密并将经解密的资源请求转发给应用服务器160。沿相反方向,应用服务器160将资源响应发送到加密服务器130。加密服务器130使用加密凭证对资源响应进行加密,并将经加密的资源响应发送到代理服务器120,代理服务器120将经加密的资源响应转发到移动设备102。图2-5以及关联的描述提供了这些实施方式的附加细节。
尽管将图1的要素示出为包括实现各种特征和功能的各种组件部件、部分或模块,然而这些要素可以代之以酌情包括多个子模块、第三方服务、组件、库等。此外,可以酌情将各组件的特征和功能合并到较少的组件中。
图2是示出根据一种实施方式的生成资源请求的示例通信设备102的示意图200。移动设备102包括处理单元262、通信子系统266、用户接口268以及存储器264。移动设备可以视情况包括其他的、不同的或更少的特征。
示例处理单元262可以包括一个或更多处理组件(备选地可以称为“处理器”或“中央处理单元”(CPU)),被配置为执行与以上结合这里公开的一个或更多个实现方式描述的一个或更多个处理、步骤或动作相关的指令。在一些实施方式中,处理单元262可以被配置为生成控制信息(例如,测量报告),或者对接收到信息(例如,来自网络节点的控制信息)作出响应。处理单元262还可以包括如随机存取存储器(RAM)和只读存储器(ROM)的其它辅助组件。
示例性通信子系统266可以被配置为提供用于处理单元262提供的数据或控制信息的无线或有线通信。通信子系统266可以包括例如:一个或多个天线、接收机、发射机、本地振荡器、混频器、数字信号处理(DSP)单元。在一些实施方式中,通信子系统266可以支持多输入多输出(MIMO)发送。在一些实施方式中,通信子系统166中的接收机可以是高级接收机或基准接收机。两个接收机可以利用相同、相似或不同的接收机处理算法实现。
示例用户接口268可以包括例如以下项中的一个或多个:显示器或触摸屏显示器(例如,液晶显示器(LCD)、发光二极管(LED)、有机发光二极管(OLED)或微机电系统(MEMS)显示器)、键盘或键区、轨迹球、扬声器或麦克风。在一些情况下,用户界面268可以用于接收针对认证凭证的用户输入.图4以及相关联的描述提供了这些实施方式的附加细节。用户接口268还可以包括例如通用串行总线(USB)接口的I/O接口。
示例存储器264可以是移动设备102上的计算机可读存储介质。存储器264的示例包括易失性存储器和非易失性存储器、磁性介质、光学介质、随机存取存储器(RAM)、只读存储器(ROM)、可拆卸介质等。存储器264可以存储用户设备102的操作系统(OS)和用于执行上述一个或多个过程、步骤或动作的各种其他计算机可执行软件程序。
存储器264可以存储用于移动设备102的应用、数据、操作系统和扩展。如图所示,存储器264存储应用210和系统进程220。
应用(例如,应用210)可以包括程序、模块、脚本、进程或可以执行、改变、删除、生成或处理应用数据的其他对象。例如,应用可被实现为企业Java组件(Enterprise JavaBean,EJB)。设计时组件可以有能力将运行时实现生成到不同的平台中,这些平台例如是J2EE(Java 2平台,企业版)、ABAP(高级商业应用编程)对象、安卓、iOS或微软的.NET。此外,虽然被示出为在移动设备102之内,但是可以在远程地存储、引用或执行与应用相关联的一个或多个过程。例如,应用的一部分可以是针对在远程执行的网站服务的接口。此外,应用可以是另一软件模块(未示出)的次模块或子模块。
应用210包括资源模块212和加密模块214。资源模块212包括可以被配置为生成资源请求并处理资源响应的程序、模块、脚本、进程或其他对象。在一些情况下,资源请求和资源响应可以分别是HTTP请求和HTTP响应。资源请求被寻址到应用服务器,例如,如图1中所示的应用服务器160,以请求资源。响应于资源请求,可以从应用服务器160生成资源响应。
在一个示例中,应用210可以是电子邮件应用。电子邮件应用可以在后台执行资源访问操作,例如,同步操作。电子邮件应用可以生成HTTP请求以进行同步更新。HTTP请求可以由电子邮件服务器进行处理。作为响应,电子邮件服务器可以将包括最新接收的电子邮件的HTTP响应发送到电子邮件应用。在其他示例中,应用210可以是生成FTP消息的文件传输应用。
加密模块214包括可以被配置为对资源请求进行加密然后将经加密的资源请求转发给系统进程220并且对从系统进程220接收的经加密的资源响应进行解密然后将其转发给资源模块212以供进一步处理的程序、模块、脚本、进程或其他对象。在一些情况下,加密模块214可以与管理服务器(例如,图1中所示的管理服务器150)建立一个或多个加密凭证,并将所述一个或多个加密凭证用于加密和解密操作。在一些情况下,加密模块214还可以与管理服务器建立传输路径标识符。传输路径标识符可以由代理服务器使用,以便将经加密的请求转发到加密服务器。图4-5以及关联的描述提供了这些实施方式的附加细节。
系统进程220包括可以被配置为针对在移动设备102的后台中执行的应用发送外部请求(例如,HTTP请求)并接收外部响应(例如,HTTP响应)的程序、模块、脚本、进程或其他对象。在一些情况下,系统进程220可以是移动设备102的操作系统的一部分。在一个示例中,系统进程220可以是统一资源定位符(URL)会话。
转到总体描述,移动设备(例如,移动设备102)可以包括但不限于以下任何内容:计算设备、移动设备、移动电子设备、用户设备、移动台、用户台、便携式电子设备、移动通信设备、无线调制解调器、无线终端、电视、打印机或其他外围设备、车辆或能够发送并接收数据的任何其他电子设备。移动设备的示例可以包括但不限于蜂窝电话、个人数字助理(PDA)、智能电话、膝上型计算机、平板、个人计算机(PC)、寻呼机、便携式计算机、便携式游戏设备、可戴电子设备、健康/医疗/保健设备、相机或具有用于经由无线通信网络传送语音或数据的组件的其他移动通信设备。无线通信网络可以包括在许可频谱和非许可频谱中至少一个上的无线链路。术语“移动设备”还可以指可以终止用户的通信会话的任何硬件或软件组件。此外,术语“用户装备”、“UE”、“用户装备设备”、“用户代理”、“UA”、“用户设备”和“移动设备”在本文中可以作为同义词使用。
尽管将图2的要素示出为包括实现各种特征和功能的各种组件部件、部分或模块,然而这些要素可以代之以酌情包括多个子模块、第三方服务、组件、库等。此外,可以酌情将各组件的特征和功能合并到较少的组件中。
图3是示出根据一种实施方式的与网络350耦接的服务器302的高级架构框图。所描述的图示仅是所描述的主题的一种可能的实施方式,并且不旨在将本公开限制于该单个描述的实施方式。本领域普通技术人员将理解,根据本公开,所描述的组件可以以替代的方式连接、组合或使用。
网络350促进服务器302和其他设备之间的通信。网络350可以是无线或有线网络、存储器管道、硬件连接、或组件之间的任何内部或外部通信路径。
服务器302包括计算系统,该计算系统被配置为执行本公开中描述的算法以处理资源请求。例如,服务器302可以用于实现图1所示的代理服务器120、加密服务器130、代理主机140、管理服务器150、应用服务器160或其任何组合。在一些情况下,算法可以用可执行计算代码来实现,例如C/C++可执行代码。备选地或组合地,算法可以在例如EXCEL的应用中实现。在一些情况下,服务器302可以包括运行批量应用的独立Linux系统。在一些情况下,服务器302可以包括运行应用的移动或个人计算机。
服务器302可以包括能够接受用户信息的输入设备(例如,键区、键盘、触摸屏、麦克风、语音识别设备或其他设备)以及传达与服务器302的操作相关联的信息(包括数字数据、视觉和/或音频信息或GUI)的输出设备。
服务器302可以用作客户端、网络组件、服务器、数据库或其他持久性设备等。在一些实施方式中,服务器302的一个或多个组件可以被配置为在基于云计算的环境中操作。
从高层吗来看,服务器302是可操作为接收、发送、处理、存储或管理数据和信息的电子计算设备。根据一些实施方式,服务器302还可以包括或通信地耦接到应用服务器、电子邮件服务器、网络服务器、缓存服务器、流传输数据服务器、商业智能(BI)服务器和/或其他服务器。
服务器302可以通过网络350从客户端应用(例如,在用户设备上执行的应用)接收请求,并通过在适当的软件应用中处理所述请求来对接收到的请求进行响应。另外,还可以从内部用户(例如,从命令控制台或通过其他适当的访问方法)、外部或第三方、其他自动化应用以及任何其他适当的实体、个人、计算机、系统或计算机向服务器302发送请求。
服务器302的每个部件可以使用系统总线303进行通信。在一些实施方式中,服务器302的任意和/或所有组件(不论硬件和/或软件)可以使用应用编程接口(API)312和/或服务层313通过系统总线303与彼此和/或接口304进行接口连接。API 312可以包括针对例程、数据结构和对象类的规范。API 312可以是独立于或依赖于计算机语言的,并且指的是完整的接口、单个功能或甚至是一组API。服务层313向服务器302提供软件服务。使用该服务层的所有服务消费者可以访问服务器302的功能。软件服务(例如由服务层313提供的软件服务)通过定义的接口提供可重用的、定义的业务功能。例如,接口可以是以JAVA、C++或以可扩展标记语言(XML)格式或其它合适格式提供数据的其它合适语言所编写的软件。虽然被示为服务器302的集成组件,但是备选实施方式可以将API 312和/或服务层313示为作为相对于服务器302的其他组件独立的组件。此外,在不脱离本公开的范围的情况下,API312和/或服务层313的任意或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块或副模块。
服务器302包括接口304。虽然在图3中被示为单个接口304,但是可以根据服务器302的特定需要、期望或特定实施方式而使用两个或更多个接口304。接口304由服务器302用于与连接到网络350的分布式环境中的其它系统(无论是否示出)通信。通常,接口304包括以合适的组合以软件和/或硬件编码的逻辑,并且可操作为与网络350通信。更具体地,接口304可以包括支持与通信相关联的一个或多个通信协议的软件,使得网络350或接口的硬件可操作以传送物理信号。
服务器302包括处理器305。虽然在图3中被示为单个处理器305,但是可以根据服务器302的特定需要、期望或特定实施方式而使用两个或更多个处理器。通常,处理器305执行指令并操纵数据以执行服务器302的操作。具体地,处理器305执行用于供应企业服务所需的功能。在一些情况下,处理器305可以包括数据处理装置。
服务器302还包括保存服务器302的数据的存储器306。虽然在图3中被示为单个存储器306,但是可以根据服务器302的特定需要、期望或特定实施方式而使用两个或更多个存储器。虽然存储器306被示为服务器302的集成组件,但是在备选实施方式中,存储器306可以在服务器302的外部。
应用307是根据服务器302的特定需要、期望或特定实施方式提供功能(尤其是关于用于供应企业服务所需的功能)的算法软件引擎。尽管被示为单个应用307,但是应用307可以被实现为服务器302上的多个应用307。另外,虽然被示出为与服务器302集成,但是在备选实施方式中,应用307可以在服务器302的外部。
此外,在不脱离本公开的范围的情况下,术语“客户端”、“用户”和其他适当的术语可以适当地互换使用。此外,本公开包含许多用户可以使用一个服务器302,或者一个用户可以使用多个服务器302。
图4是示出根据一种实施方式的用于处理资源请求的示例过程400的流程图。该过程400可以由图1所示的移动设备102、管理服务器150、代理主机140、代理服务器120、加密服务器130和应用服务器160实现。图4中所示的过程400也可以使用附加的、更少的或不同的实体来实现。此外,图4所示的过程400也可以使用附加的、更少的或不同的操作来实现,所述操作可以按照所示的顺序或以不同的顺序执行。在一些情况下,例如可以将所述操作的一个或一组操作迭代或重复指定迭代次数或直到达到终止条件为止。
示例过程400开始于410,其中应用210和管理服务器150建立安全通信信道。在一些情况下,可以根据安全通信协议(例如,Diffie-Hellman方法)来建立安全通信信道。应用210和管理服务器150可以建立用于在应用210和管理服务器150之间的通信的共享秘密和导出密钥。
在420处,应用210向应用服务器160进行认证。在一些情况下,当正在移动设备102的前台上执行应用210时,执行认证。可以通过验证一个或多个登录凭证来执行身份认证。在一个示例中,用户可以使用移动设备102的用户接口来输入登录名、密码或其组合。登录凭证可以是一个或多个字母数字符号、一个或多个用户界面手势(诸如轻扫、触摸、轻击、双击、轻弹、滑动、捏合)或其任何组合。应用210可以接收登录凭证,验证登录凭证,并将认证令牌发送到应用服务器160、与应用服务器160相关联的身份服务器或其组合以进行认证。如果认证成功,则应用210可以从应用服务器160接收服务,包括例如当正在移动设备102的前台上执行应用210时发送资源请求。
在430处,应用210移动到移动设备102上的后台执行。可以通过移动设备102的操作系统、移动设备102的用户或其组合来确定向后台执行的移动。在一个示例中,用户可以选择从应用服务器160下载一批文件并切换到另一应用,以便在移动设备102的前台上执行该应用同时在后台执行下载。在另一示例中,如果应用210已经空闲(例如,没有接收到用户输入)了一段配置的时间段,则操作系统可以在后台切换应用210。还可以通过中断(例如,通过呼入电话呼叫)将应用210移动到后台。在一些情况下,步骤430可以在步骤432之前、之后或与步骤432同时执行。例如,在建立加密凭证和传输路径标识符之后,应用210可以移动到后台。
在432处,应用210与管理服务器150建立一个或多个加密凭证和传输路径标识符。一个或多个加密凭证可以包括加密密钥,其用于对由应用210生成的资源请求和由应用210接收的资源响应进行加密。在一些情况下,可以使用相同的加密密钥来对资源请求和资源响应进行加密。备选地,一个或多个加密凭证可以包括用于对由应用210生成的资源请求进行加密的第一加密密钥以及用于对由应用210接收的资源响应进行加密的第二加密密钥。在一些情况下,可以使用非对称密码技术,其中接收者的公钥用于对资源请求或资源响应进行加密,且接收者的私钥用于对资源请求或资源响应进行解密。备选地或组合地,对称密钥可以用于对资源请求或资源响应进行加密和解密。在一些情况下,非对称密码技术可以用于保护对称密钥的传输。例如,接收者的公钥可用于对对称密钥进行加密,接收者的私钥可以用于对对称密钥进行解密。可以使用在先前讨论的步骤410中建立的安全通信信道来交换应用210和管理服务器150之间的通信。
在所示的示例中,加密服务器130处理对资源请求的解密和对资源响应的加密。因此,在434处,管理服务器150与加密服务器130进行通信以提供加密凭证。在一些情况下,步骤434和432可以在组合过程中执行,其中加密服务器130和应用210通过管理服务器150交换加密凭证。例如,安全通信协议(例如,Diffie-Hellman协议)可以用于分发加密服务器130和应用210的公钥和私钥。备选地或组合地,管理服务器150可以利用应用210设置加密凭证,并将加密凭证发送到加密服务器130。在一些情况下,管理服务器150和加密服务器130已经建立了用于管理服务器150和加密服务器130之间的通信的安全通信信道,并且管理服务器150和加密服务器130之间的交换是经加密的。在一些情况下,加密凭证是专用于应用210的,其中在移动设备102上执行的不同应用可以使用不同的加密凭证。
传输路径标识符指示用于转发经加密的请求的传输路径。在一些实施方式中,传输路径标识符可以是随机数。备选地或组合地,传输路径标识符可以是应用服务器160的经加密的地址。代理服务器120可以使用传输路径标识符来建立接收自移动设备102上的应用210的经加密的请求与加密服务器130之间的映射关系。例如,应用210可以在发送到代理服务器120的经加密的请求中包括传输路径标识符。在一些情况下,传输路径标识符可以包括在经加密的请求的PATH字段中。代理服务器120可以检测到所接收的经加密的请求包括特定传输路径标识符,并将接收到的经加密的请求转发到与该特定传输路径标识符具有映射关系的特定加密服务器,例如,加密服务器130。备选地或组合地,传输路径标识符可以用于建立用于请求-响应交换的配对关系。例如,代理服务器120可以从应用210接收经加密的请求。经加密的请求可以包括特定传输路径标识符。代理服务器120可以从加密服务器130接收经加密的响应。加密响应具有相同的传输路径标识符。代理服务器120可以基于该传输路径标识符对所述请求和响应进行配对,并将经加密的响应转发给应用210以作为对经加密的请求的响应。稍后将讨论这些实施方式的其他细节。
在一些情况下,可以在供应过程期间建立传输路径标识符。在一个示例中,在440处,管理服务器150将代理请求发送到代理主机140。代理请求指示用于建立应用210和加密服务器130之间的通信的请求。在442处,代理主机140在代理服务器120处供应代理。在444处,代理主机140向管理服务器150发送代理响应。代理响应包括代理服务器120的地址信息。在一些实施方式中,管理服务器150可以生成传输路径标识符,并且例如在440或在不同步骤处将所述传输路径标识符发送到代理服务器120。备选地或组合地,加密服务器130可以生成传输路径标识符并发送到管理服务器150。管理服务器150可以将地址信息和传输路径标识符发送到应用210。管理服务器150、代理主机140和代理服务器120之间的其他消息交换序列也可以用于在代理服务器120处供应代理并将代理服务器120的地址发送到应用210。
在一些情况下,在供应过程期间,应用210和加密服务器130之间的映射关系可以存储在代理服务器120处。在一些情况下,如先前所讨论地,映射关系可以基于传输路径标识符。在操作期间,代理服务器120可以从应用210接收经加密的请求,基于映射关系确定对应的加密服务器130,并将经加密的请求发送到加密服务器130。在一些情况下,映射关系可以专用于应用210,其中可以通过使用不同的传输路径标识符将在相同移动设备上执行的不同应用映射到不同的加密服务器。备选地或附加地,映射关系可以专用于移动设备102,其中可以通过使用相同的传输路径标识符来将在相同移动设备上执行的不同应用映射到相同的加密服务器130。备选地或组合地,可以供应代理服务器120以使用其他信息(例如,应用210、移动设备102的标识符或其组合)来建立与加密服务器的映射关系。在一些情况下,管理服务器150可以通过指示代理服务器120使用更新后的供应消息改变映射关系,来更新供应。
类似于先前讨论的加密凭证建立,步骤432的传输路径标识符交换部分可以在步骤440、442和444之前、期间或之后执行。在一个示例中,管理服务器150单独地或与应用210一起生成加密凭证和传输路径标识符,并向加密服务器130和代理服务器120提供该信息。在该示例中,步骤432的传输路径标识符交换部分可以在步骤434以及440-444之前执行。在另一示例中,管理服务器150供应代理服务器120,并在将传输路径标识符发送到应用210以完成步骤432之前执行步骤440-444。
在450,应用210生成资源请求并将资源请求发送到系统进程220。在一些情况下,资源请求可以是HTTP GET、HTTP PUT、HTTP POST或其他HTTP消息。应用210使用在步骤432建立的一个或多个加密凭证(例如,加密密钥)对资源请求进行加密。资源请求的最终目标地址(即,应用服务器160的地址)也被加密并被包括在经加密的资源请求中。应用210在加密请求(例如,在HTTP消息的PATH字段中)中包括传输路径标识符。在一些情况下,经加密的资源请求可以被格式化为HTTP POST消息。
在一些情况下,应用210可以生成资源请求,并且响应于资源请求的生成,发起加密凭证和传输路径标识符的建立,例如,如先前所讨论的步骤432。然后,应用210可以使用所建立的加密凭证来对资源请求进行加密,并将经加密的资源请求发送到系统进程220。
在452处,系统进程220将经加密的资源请求发送到代理服务器120。在454处,代理服务器120基于在步骤442中建立的映射关系,确定应将经加密的资源请求转发到加密服务器130。代理服务器120将经加密的资源请求转发到加密服务器130。在456处,加密服务器130使用在434处建立的加密凭证来对经加密的资源请求进行解密。加密服务器130基于经解密的资源请求确定资源请求的最终目标地址,并将经解密的资源请求发送到应用服务器160。
在460处,应用服务器160响应于资源请求而生成资源响应。在一些情况下,资源响应可以是超文本标记语言(HTML)文件、由HTML文件引用的叠层样式表(CSS)或JavaScript(JS)文件、由HTML或CSS文件引用的图像文件或应用210请求的其他资源信息。资源响应可以包括来自企业文件存储库的文件,例如,文字处理器文件、演示文件、电子表格、工作流数据库记录或其他企业数据。在一些情况下,资源响应可以是对数据发布的正确(OK)回复。应用服务器160向加密服务器130发送资源响应。在462处,加密服务器130使用在434处建立的加密凭证来对资源响应进行加密,并向代理服务器120发送经加密的资源响应。在464处,代理服务器120向系统进程220发送经加密的资源响应。在一些情况下,加密服务器130可以包括移动设备102的地址作为经加密的资源响应的目标地址,以通知代理服务器120向移动设备102发送经加密的资源响应。
在466处,系统进程220向应用210转发经加密的响应。在470处,应用210使用加密凭证来对经加密的响应进行解密并访问资源。在一些情况下,在可以访问资源之前执行类似于先前关于步骤420讨论的认证过程。备选地或组合地,可以执行不同的认证过程。在一些示例中,请求加密凭证在移动设备102上被存储为受保护文件。可以通过使用密钥进行加密来获得保护,所述密钥是从移动设备102处的终端用户设置的密码导出的,例如解锁密码。当接收到经加密的响应时,恢复应用210。应用210可以提示用户输入密码。密钥是从输入的密码导出的,并且可以使用导出的密钥来从受保护文件中取回请求加密凭证。
在一些实施方式中,管理服务器150可以用作证书颁发机构(CA)并且签署可以用于根据安全套接字层(SSL)或传输层安全(TLS)协议来建立安全通信信道的电子证书。在步骤432期间,管理服务器150可以向应用210发送客户端证书。管理服务器150还可以在步骤434期间向加密服务器130发送服务器证书。代理服务器120可以在认证应用210和加密服务器130之间,在转发经加密的请求和响应之前验证认证应用210、加密服务器130或两者。在这些情况下,可以使用虚拟机实例来实现加密服务器130或代理服务器120。
在一些实施方式中,代替使用代理服务器120将经加密的请求推送到加密服务器130,例如,如先前在步骤452中所讨论的,可以针对加密服务器130使用注册过程以取回经加密的请求。在一个示例中,加密服务器130可以通过向代理服务器120发送注册请求来发起注册过程。注册请求可以包括传输路径标识符。在一些情况下,注册请求可以是HTTP消息。代理服务器120可以接收经加密的请求,例如,在步骤450,从而确定经加密的请求中包括的传输路径标识符,并且向加密服务器130发送经加密的请求,作为对注册请求的响应,例如,在HTTP信息中。在一些情况下,可以发送多于一个的响应(例如,源自应用210的多个经加密的请求)来作为对一个注册请求的响应。在一些情况下,加密服务器130可以在企业的防火墙后面实现,并且代理服务器120可以在防火墙外部实现。该注册方法为加密服务器130提供了一种机制,以通过启动从防火墙后面到防火墙外部的网络节点的出站通信来启动与代理服务器120的穿过防火墙通信,从而提供更好安全性的企业网络防火墙保护。
图5是示出根据一种实施方式的用于处理资源请求的示例方法500的流程图。方法500可以由图1中所示的实体实现,包括例如移动设备102、代理服务器120、加密服务器130和应用服务器160。图5中所示的方法500也可以使用附加的、更少的或不同的实体来实现。此外,图5所示的方法500可以使用附加的、更少的或不同的操作来实现,所述操作可以按照所示的顺序或以不同的顺序执行。在一些情况下,例如可以将所述操作的一个或一组操作迭代或重复指定迭代次数或直到达到终止条件为止。
在502处,移动设备向代理服务器发送经加密的请求。经加密的请求包括超文本传输协议(HTTP)请求。HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器。使用与应用相关联的应用专用凭证对经加密的请求进行加密。在一些情况下,经加密的请求由在移动设备上操作的系统进程来发送,并且系统进程被配置为发送针对移动设备上的多个应用的HTTP请求。系统进程被配置为针对在后台执行的多个应用发送HTTP请求。在一些情况下,在应用和加密服务器之间共享应用专用凭证。
在504处,代理服务器向加密服务器发送经加密的请求。在506处,加密服务器对经加密的请求进行解密以获得HTTP请求。在508处,加密服务器向应用服务器发送HTTP请求。
在510处,响应于接收到资源请求,应用服务器向加密服务器发送资源响应。在512处,加密服务器对资源响应进行加密并向代理服务器发送资源响应。在514处,移动设备从代理服务器接收经加密的响应。经加密的响应包括由应用服务器生成的HTTP响应。
本公开中描述的主题和操作中的一些可以在数字电子电路中或在计算机软件、固件或硬件中实现,包括在本公开中描述的结构及其结构等效物、或其一个或多个的组合。本公开中描述的一些主题可以被实现为编码在计算机存储介质上、用于由数据处理装置执行或控制数据处理装置的操作的一个或多个计算机程序,即,计算机程序指令的一个或多个模块。备选地或另外地,程序指令可以编码在人工产生的传播信号(例如,机器产生的电、光或电磁信号)上,所述信号被产生以对信息进行编码以传输给合适的接收机装置,供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或计算机存储介质的任何组合。
术语“数据处理装置”、“计算机”或“电子计算设备”包括用于处理数据的所有种类的装置、设备和机器,例如包括一个或多个可编程处理器、计算机、芯片上系统,或前述项的组合。所述装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。在一些实施方式中,数据处理装置或专用逻辑电路(或数据处理装置或专用逻辑电路的组合)可以基于硬件或基于软件(或基于硬件和软件的组合)。可选地,装置可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者执行环境的组合的代码。本公开考虑具有或不具有常规操作系统(例如LINUX、UNIX、WINDOWS、MAC OS、ANDROID、IOS或任意其它合适的常规操作系统)的数据处理装置的使用。
可以以任何形式的编程语言来写计算机程序(也可以称作或描述为程序、软件、软件应用程序、模块、软件模块、脚本或代码),所述编程语言包括:编译或解释语言、或者声明或程序语言,并且可以以任何形式来部署计算机程序,包括部署为单独的程序或者部署为适合于用于计算环境的模块、组件、子例程、或者其它单元。计算机程序可以(但不是必须)与文件系统中的文件相对应。程序可以存储在保持其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨论的程序的单个文件中、或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或者在位于一个站点或分布在多个站点并且通过通信网络互连的多个计算机上执行。尽管各图中所示的程序的部分被示为通过各种对象、方法或其他处理实现各种特征和功能的单独模块,但是视情况处理可以替代地包括多个子模块、第三方服务、组件、库等。相反,各种组件的特征和功能可以视情况组合成单个组件。
本公开中描述的一些过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并产生输出来执行动作。所述过程和逻辑流程也可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以实现为该专用逻辑电路。
适用于执行计算机程序的处理器包括例如通用和专用微处理器以及任何类型的数字计算机的处理器。通常,处理器将从只读存储器或随机存取存储器或者这二者接收指令和数据。处理器可以示例性地包括可编程处理器、计算机、片上系统或多个处理器,或前述的组合。处理器可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的计算机可以基于通用或专用微处理器、这两者或任何其它类型的CPU。通常,CPU将从只读存储器(ROM)或随机存取存储器(RAM)或者这二者接收指令和数据。计算机的必不可少的元件是用于执行指令的CPU和用于存储指令和数据的一个或更多个存储器设备。通常,计算机还将包括用于存储数据的一个和或更多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作耦接以便从所述一个或更多个大容量存储设备接收或向其发送数据。然而,计算机不需要具有这些设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收机或者便携式存储设备(例如,通用串行总线(USB)闪存驱动器),这仅是举几个例子。
适合于存储计算机程序指令和数据的计算机可读介质(暂时或非暂时的)包括所有形式的非易失性存储器、介质和存储器设备,其包括例如半导体存储器设备、例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘(例如内部硬盘或可移动盘);磁光盘;以及CD ROM、DVD+/-R、DVD-RAM和DVD-ROM盘。存储器可以存储各种对象或数据,包括:高速缓存区、类(class)、框架、应用、备份数据、工作、网页、网页模板、数据库表格、存储动态信息的知识库、以及包括任意参数、变量、算法、指令、规则、约束、对其的引用在内的任意其它适当的信息。另外,存储器可以包括任何其他适当的数据,诸如日志、策略、安全或访问数据、报告文件以及其他。处理器和存储器可以由专用逻辑电路来补充或者并入到专用逻辑电路中。在一些情况下,计算机存储介质可以是暂时性的、非暂时性的或其组合。
为了提供与用户的交互,本公开中描述的主题可以实现在计算机上,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)、LED(发光二极管)或等离子监视器)和用户可以向计算机提供输入的键盘和指点设备(例如,鼠标、轨迹球或轨迹板)。还可以使用触摸屏(诸如具有压敏性的平板计算机表面、使用电容或电感测的多点触摸屏或其它类型的触摸屏)向计算机提供输入。其它类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及可以以任意形式(包括声音、语音或触觉输入)来接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档或者从该设备接收文档来与用户交互;例如,通过响应于从用户客户端设备上的web浏览器接收到的请求而向所述web浏览器发送网页,来与用户交互。
术语“图形用户界面”或GUI可以以单数或复数形式使用,以描述一个或更多个图形用户界面以及特定图形用户界面的每一次显示。因此,GUI可以表示任意图形用户界面,包括但不限于web浏览器、触摸屏或处理信息并且有效地向用户呈现信息结果的命令行界面(CLI)。通常,GUI可以包括多个用户界面(UI)元素,其中一些或全部与web浏览器相关联,诸如可由商业套件用户操作的交互式字段、下拉列表和按钮。这些和其他UI元素可以与web浏览器的功能相关或表示web浏览器的功能。
本公开中描述的主题的实施方式可以实现在计算系统中,该计算系统包括后端组件(例如,数据服务器)、或包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有用户通过其可以与本公开中描述的主题的实现进行交互的图形用户界面或者web浏览器的客户端计算机)、或者一个或更多个此类后端组件、中间件组件或前端组件的任意组合。系统的组件可以通过有线或无线数字数据通信(或数据通信的组合)的介质或任意形式(例如通信网络)互相连接。通信网络的示例包括局域网(LAN)、无线电接入网络(RAN)、城域网(MAN)、广域网(WAN)、全球微波接入互操作性(WIMAX)、使用例如802.11a/b/g/n或802.20(或802.11x和802.20的组合或与本公开一致的其它协议)的网络(WLAN)、互联网的全部或一部分、或一个或多个位置处的任意其它通信系统(或通信网络的组合)。网络可以在网络地址之间传输例如互联网协议(IP)分组、帧中继帧、异步传输模式(ATM)小区、语音、视频、数据或其它合适信息(或通信类型的组合)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。
在一些实施方式中,计算系统的任意或所有组件(硬件或软件(或硬件和软件的组合))可以使用应用编程接口(API)或服务层(或API和服务层的组合)来彼此进行交互,或接口交互。API可以包括例程、数据结构和对象类的规范。API可以是独立于或依赖于计算机语言,并且指的是完整的接口、单个功能或甚至是一组API。服务层向计算系统提供软件服务。计算系统的各种组件的功能对于使用该服务层的所有服务消费者可以是可访问的。软件服务通过定义的接口提供可重用的、定义的业务功能。例如,接口可以是以JAVA、C++或以可扩展标记语言(XML)格式或其它合适格式提供数据的其它合适语言所编写的软件。API或服务层(或API和服务层的组合)可以是与计算系统的其他组件相关的集成组件或独立组件。此外,在不脱离本公开的范围的情况下,服务层的任意或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块或副模块。
尽管本公开包含许多特定的实施方式的细节,然而这些细节不应被解释为对要求保护的范围或任何发明的范围构成限制,而是用于描述特定于具体发明的具体实施方式的特征。在单个实施方式中,还可以组合实现本公开中在独立实施方式的上下文中描述的特定特征。反之,在单个实现的上下文中描述的不同特征也可在多个实现中各自实现,或以适当的子组合来实现。此外,虽然特征可以在上面描述为在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
描述了本主题的具体实现。对于本领域技术人员明显是,所描述的实施方式的其他实施方式、改变和置换在所附权利要求的范围内。尽管在附图和权利要求中以特定顺序描述了操作,这不应被理解为:为了实现期望的结果,要求按所示的特定次序或按顺序次序来执行这些操作,或者要求执行所有图示的操作(一些操作可以看作是可选的)。在一些情况下,多任务或并行处理(或者多任务和并行处理的组合)可以是优选地并且视情况来执行。
此外,在上述的实施方式的各种系统模块和组件的分离或集成不应被理解为在所有实施方式中要求这样的分离或集成,并且应该理解的是,所描述的程序组件和系统一般可以一起集成在单个软件产品中或封装为多个软件产品。
因此,上述对示例实施方式的描述不限定或限制本公开。在不脱离本公开的精神和范围的情况下,还可以存在其他改变、替换和变化。
此外,以下任何要求保护的实施方式被视为适用于至少计算机实现的方法;存储计算机可读指令以执行所述计算机实现的方法的非瞬时性计算机可读介质;以及计算机系统,该计算机系统包括与硬件处理器可操作地耦接的计算机存储器,所述硬件处理器被配置为执行所述计算机实现的方法或存储在所述计算机可读介质上的指令。

Claims (20)

1.一种用于处理移动设备上的资源请求的方法,包括:
在移动设备处接收来自管理服务器的传输路径标识符;
从移动设备向代理服务器发送经加密的请求,其中所述经加密的请求包括超文本传输协议HTTP请求,所述HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器,且所述经加密的请求是使用与所述应用关联的应用专用凭证来进行加密的,并且其中,所述经加密的请求还包括所述传输路径标识符,并且所述传输路径标识符指示所述经加密的请求与加密服务器之间的映射关系,所述加密服务器对所述经加密的请求进行解密,并且其中,所述加密服务器不同于所述代理服务器;以及
在移动设备处从所述代理服务器接收响应于所述经加密的请求的经加密的响应,其中所述代理服务器从所述加密服务器接收所述经加密的响应,并且所述经加密的响应包括由所述应用服务器生成的HTTP响应。
2.根据权利要求1所述的方法,其中,所述经加密的请求由在移动设备上操作的系统进程发送,并且所述系统进程被配置为发送针对移动设备上的多个应用的HTTP请求。
3.根据权利要求2所述的方法,其中,所述系统进程被配置为发送针对在后台执行的多个应用的HTTP请求。
4.根据权利要求1所述的方法,其中,所述应用专用凭证在所述应用和所述加密服务器之间共享。
5.根据权利要求1所述的方法,还包括:对所述经加密的响应进行解密。
6.根据权利要求1所述的方法,其中,所述代理服务器向所述加密服务器发送经加密的请求,所述加密服务器对所述经加密的请求进行解密以获得所述HTTP请求,所述加密服务器向所述应用服务器发送所述HTTP请求,且所述经加密的响应是由所述加密服务器进行加密的。
7.根据权利要求1所述的方法,其中,所述应用是电子邮件应用。
8.一种移动设备,包括:
至少一个硬件处理器;以及
非暂时性计算机可读存储介质,耦接到所述至少一个硬件处理器并存储用于由所述至少一个硬件处理器执行的编程指令,其中所述编程指令在被执行时使所述至少一个硬件处理器执行包括如下各项的操作:
在移动设备处接收来自管理服务器的传输路径标识符;
从移动设备向代理服务器发送经加密的请求,其中所述经加密的请求包括超文本传输协议HTTP请求,所述HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器,且所述经加密的请求是使用与所述应用关联的应用专用凭证来进行加密的,并且其中,所述经加密的请求还包括所述传输路径标识符,并且所述传输路径标识符指示所述经加密的请求与加密服务器之间的映射关系,所述加密服务器对所述经加密的请求进行解密,并且其中,所述加密服务器不同于所述代理服务器;以及
在移动设备处从所述代理服务器接收响应于所述经加密的请求的经加密的响应,其中所述代理服务器从所述加密服务器接收所述经加密的响应,并且所述经加密的响应包括由所述应用服务器生成的HTTP响应。
9.根据权利要求8所述的移动设备,其中,所述经加密的请求由在移动设备上操作的系统进程发送,并且所述系统进程被配置为发送针对移动设备上的多个应用的HTTP请求。
10.根据权利要求9所述的移动设备,其中,所述系统进程被配置为发送针对在后台执行的多个应用的HTTP请求。
11.根据权利要求8所述的移动设备,其中,所述应用专用凭证在所述应用和所述加密服务器之间共享。
12.根据权利要求8所述的移动设备,所述操作还包括:对所述经加密的响应进行解密。
13.根据权利要求8所述的移动设备,其中,所述代理服务器向所述加密服务器发送经加密的请求,所述加密服务器对所述经加密的请求进行解密以获得所述HTTP请求,所述加密服务器向所述应用服务器发送所述HTTP请求,且所述经加密的响应是由所述加密服务器进行加密的。
14.根据权利要求8所述的移动设备,其中,所述应用是电子邮件应用。
15.一种存储指令的非暂时性计算机可读介质,所述指令在执行时使计算设备执行如下操作,包括:
在移动设备处接收来自管理服务器的传输路径标识符;
从移动设备向代理服务器发送经加密的请求,其中所述经加密的请求包括超文本传输协议HTTP请求,所述HTTP请求被寻址到向移动设备上的应用提供服务的应用服务器,且所述经加密的请求是使用与所述应用关联的应用专用凭证来进行加密的,并且其中,所述经加密的请求还包括所述传输路径标识符,并且所述传输路径标识符指示所述经加密的请求与加密服务器之间的映射关系,所述加密服务器对所述经加密的请求进行解密,并且其中,所述加密服务器不同于所述代理服务器;以及
在移动设备处从所述代理服务器接收响应于所述经加密的请求的经加密的响应,其中所述代理服务器从所述加密服务器接收所述经加密的响应,并且所述经加密的响应包括由所述应用服务器生成的HTTP响应。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,所述经加密的请求由在移动设备上操作的系统进程发送,并且所述系统进程被配置为发送针对移动设备上的多个应用的HTTP请求。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述系统进程被配置为发送针对在后台执行的多个应用的HTTP请求。
18.根据权利要求15所述的非暂时性计算机可读介质,其中,所述应用专用凭证在所述应用和所述加密服务器之间共享。
19.根据权利要求15所述的非暂时性计算机可读介质,所述操作还包括:对所述经加密的响应进行解密。
20.根据权利要求15所述的非暂时性计算机可读介质,其中,所述代理服务器向所述加密服务器发送经加密的请求,所述加密服务器对所述经加密的请求进行解密以获得所述HTTP请求,所述加密服务器向所述应用服务器发送所述HTTP请求,且所述经加密的响应是由所述加密服务器进行加密的。
CN201810869096.3A 2017-08-01 2018-08-01 处理移动设备上的资源请求 Active CN109327431B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/666,068 US10616193B2 (en) 2017-08-01 2017-08-01 Processing resource requests on a mobile device
US15/666,068 2017-08-01

Publications (2)

Publication Number Publication Date
CN109327431A CN109327431A (zh) 2019-02-12
CN109327431B true CN109327431B (zh) 2022-07-26

Family

ID=63259399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810869096.3A Active CN109327431B (zh) 2017-08-01 2018-08-01 处理移动设备上的资源请求

Country Status (3)

Country Link
US (1) US10616193B2 (zh)
EP (1) EP3439266B1 (zh)
CN (1) CN109327431B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477217B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Intruder detection for a network
US11223622B2 (en) 2018-09-18 2022-01-11 Cyral Inc. Federated identity management for data repositories
US11477197B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Sidecar architecture for stateless proxying to databases
CN112770104B (zh) * 2019-11-05 2022-11-15 中盈优创资讯科技有限公司 用于qoe测试的网络视频源的提取系统及方法
CN111797417A (zh) * 2020-07-06 2020-10-20 上海明略人工智能(集团)有限公司 文件的上传方法和装置、存储介质及电子装置
US11979395B2 (en) * 2020-09-28 2024-05-07 Sap Se Application security through deceptive authentication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139185A (zh) * 2011-12-02 2013-06-05 中科信息安全共性技术国家工程研究中心有限公司 一种实现安全反向代理服务的方法
WO2016111968A1 (en) * 2015-01-05 2016-07-14 Citrix Systems, Inc. Securing network activity managed by operating systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1798019A (zh) * 2004-12-29 2006-07-05 国际商业机器公司 用于在私有网络中共享媒体内容的方法、系统和装置
US9154488B2 (en) 2013-05-03 2015-10-06 Citrix Systems, Inc. Secured access to resources using a proxy
US10122714B2 (en) 2013-08-01 2018-11-06 Bitglass, Inc. Secure user credential access system
US9843563B2 (en) * 2014-09-29 2017-12-12 Airwatch Llc Securing relayed email communication
CN106850549B (zh) * 2016-12-16 2020-08-21 北京江南博仁科技有限公司 一种分布式加密服务网关及实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139185A (zh) * 2011-12-02 2013-06-05 中科信息安全共性技术国家工程研究中心有限公司 一种实现安全反向代理服务的方法
WO2016111968A1 (en) * 2015-01-05 2016-07-14 Citrix Systems, Inc. Securing network activity managed by operating systems

Also Published As

Publication number Publication date
US10616193B2 (en) 2020-04-07
US20190044925A1 (en) 2019-02-07
EP3439266B1 (en) 2020-11-18
EP3439266A1 (en) 2019-02-06
CN109327431A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN109327431B (zh) 处理移动设备上的资源请求
WO2022206349A1 (zh) 一种信息验证的方法、相关装置、设备以及存储介质
US8732462B2 (en) Methods and apparatus for secure data sharing
EP3333749B1 (en) Providing a secure communication path for receiving a software update
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
US20180375648A1 (en) Systems and methods for data encryption for cloud services
EP3531658B1 (en) Providing inter-enterprise data communications between enterprise applications on an electronic device
CN109981576B (zh) 密钥迁移方法和装置
CN111954879B (zh) 互不信任的飞地
EP3291482A1 (en) Encrypting and decrypting data on an electronic device
US10630665B2 (en) Authenticating messages
US10897458B1 (en) Enhancing secure client experience through selective encryption of cookies
US11182494B2 (en) Processing data on an electronic device
US20210377239A1 (en) Method for distributed application segmentation through authorization
US10110582B2 (en) Dual token based authentication and transport mechanism
JP2023532976A (ja) ユーザの身元の検証のための方法およびシステム
EP3367609B1 (en) Recovering a key in a secure manner
EP3232695B1 (en) Provisioning enterprise services
CN111970281B (zh) 基于验证服务器的路由设备远程控制方法、系统及电子设备
US11888823B2 (en) Secured in-tunnel messages and access control
US20240020684A1 (en) Multi-Factor Authentication (MFA) for Smart Contract Wallets
US10567416B2 (en) Monitoring the security strength of a connection

Legal Events

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