CN111771366A - 具有可协商和自适应的加密级别的用于加密数据流的方法 - Google Patents

具有可协商和自适应的加密级别的用于加密数据流的方法 Download PDF

Info

Publication number
CN111771366A
CN111771366A CN201980015755.XA CN201980015755A CN111771366A CN 111771366 A CN111771366 A CN 111771366A CN 201980015755 A CN201980015755 A CN 201980015755A CN 111771366 A CN111771366 A CN 111771366A
Authority
CN
China
Prior art keywords
server
data
level
client
encryption
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
CN201980015755.XA
Other languages
English (en)
Other versions
CN111771366B (zh
Inventor
M·A·迪皮特罗
T·迪沙泰尔
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems 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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN111771366A publication Critical patent/CN111771366A/zh
Application granted granted Critical
Publication of CN111771366B publication Critical patent/CN111771366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

所描述的实施例提供了用于数据加密的系统和方法。与客户机通信数据的服务器可以根据服务器的可用资源,确定对该服务器能够处理的数据的数据加密级别。数据加密级别可以包括加密类型和数据加密类型的强度。服务器可以接收根据客户机的可用资源对客户机能够处理的数据的数据加密级别。服务器可以根据所确定的数据加密级别和接收到的数据加密级别,识别服务器和客户机同意以其继续进行的数据加密级别。按照预定义的间隔,服务器可以识别服务器和客户机同意以其继续进行的更新的数据加密级别。

Description

具有可协商和自适应的加密级别的用于加密数据流的方法
相关申请的交叉引用
本申请要求于2018年1月10日提交的名称为“METHOD FOR ENCRYPTING DATASTREAMS WITH NEGOTIABLE AND ADAPTABLE ENCRYPTION LEVELS”的美国专利申请No.15/867,353的优先权和权益,其全部内容通过引用合并于此以用于所有目的。
技术领域
本申请总体上涉及到数据加密,包括但不限于用于数据流的自适应加密的系统和方法。
背景技术
将视频流式传输到装置的服务器可以基于服务器和装置之间可用的网络带宽资源来提高或降低视频的质量。在装置上显示或渲染的结果视频可以反映从低清晰度到高清晰度的变化的质量水平,并且还可以指示丢弃或延迟的分组或帧。
发明内容
提供本发明内容以简化形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容既不旨在标识关键特征或必要特征,也不旨在限制随附的权利要求的范围。
本公开涉及用于加密数据流的系统和方法的实施例。数据流可以包括在两个装置之间传送的任意数量的分组或帧,例如音频、视频和/或多媒体数据,并且可以是用户之间的通信会话的一部分、或应用传送流(例如,远程应用或桌面配置会话)。为了保密这样的数据流(例如,经由编码或加密),本系统和方法的一些实施例可以调节应用于数据流的部分上的加密的级别(例如,强度和/或类型)。
在客户机-服务器关系内,装置可以进行彼此间互操作、通信或协商,以动态地修改或更新要对装置之间传输的数据施加的加密的级别、和/或当接收时对数据执行的解密的级别。可以例如根据可用资源以特定的间隔调整加密级别,并且可以独立于或依赖于数据流的质量来选择加密级别。
在一个方面,本公开涉及加密方法。该方法可以包括:由与客户机通信数据的服务器,根据该服务器的可用资源,确定该服务器能够处理的数据的数据加密级别。数据加密级别可以包括加密类型和数据加密类型的强度。服务器可以接收根据客户机的可用资源对客户机能够处理的数据的数据加密级别。与客户机通信的服务器根据所确定的数据加密级别和接收到的数据加密级别,可以识别该服务器和客户机同意以其继续进行的数据加密级别。按照预定义的间隔与客户机通信的服务器可以识别该服务器和客户机同意以其继续进行的更新的数据加密级别。
在一些实施例中,服务器确定服务器可用的资源。服务器可用的资源可以包括以下中至少一项:网络带宽、处理器或计算能力、存储器或电池电量或消耗率。预定义的间隔可以包括预定义的时间间隔或预定义的通信或加密的数据的量。服务器和/或客户机可以将服务器和客户机同意以其继续进行的数据加密级别识别为高于预定义的最低加密级别。服务器和/或客户机可以将服务器和客户机同意以其继续进行的数据加密级别识别为能够支持针对数据传送的预定义的服务级别协议。
服务器和/或客户机可以通过对视频或音频数据的每个全帧和更新帧进行加密,来根据服务器和客户机同意以其继续进行的数据加密级别来对数据进行加密。服务器和/或客户机可以通过对视频或音频数据的每个全帧进行加密,来根据服务器和客户机同意以其继续进行的数据加密级别来对数据进行加密。服务器和/或客户机可以通过对视频或音频数据的每个第N个全帧进行加密,根据服务器和客户机同意以其继续进行的数据加密级别对数据进行加密。N可以是预定义的整数值。服务器和客户机同意以其继续进行的数据加密级别可对应于多个数据加密级别中的一个。
在一个方面,本公开涉及加密系统。该系统可以包括在与客户机通信数据的服务器上可执行的基准引擎。该基准引擎可以根据服务器的可用资源,确定该服务器能够处理的数据的数据加密级别。数据加密级别可以包括加密类型和数据加密类型的强度。协商引擎可在服务器上执行,并且可以与客户机通信。该协商引擎可以接收根据客户机的可用资源对客户机能够处理的数据的数据加密级别。该协商引擎可以根据所确定的数据加密级别和接收到的数据加密级别,识别服务器和客户机同意以其继续进行的数据加密级别。该协商引擎可以按照预定义的间隔,识别该服务器和客户机同意以其继续进行的更新的数据加密级别。
在某些实施例中,基准引擎可以确定服务器的可用资源。服务器的可用资源可以包括以下中至少一项:网络带宽、处理器或计算能力、存储器或电池电量或消耗率。预定义的间隔可以包括预定义的时间间隔或预定义的通信或加密的数据的量。协商引擎可以将服务器能够处理的数据的数据加密级别识别为高于预定义的最低加密级别。协商引擎可以将服务器能够处理的数据加密级别识别为能够支持针对数据传送的预定义的服务级别协议。
在一些实施例中,服务器的至少一个处理器可以通过对视频或音频数据的每个全帧和更新帧进行加密,根据服务器和客户机同意以其继续进行的数据加密级别来对数据进行加密。服务器的至少一个处理器可以通过对视频或音频数据的每个全帧进行加密,根据服务器和客户机同意以其继续进行的数据加密级别来对数据进行加密。服务器的至少一个处理器可以通过对视频或音频数据的每个第N个全帧进行加密,根据服务器和客户机同意以其继续进行的数据加密级别来对数据进行加密,其中N是预定义的整数值。该服务器和客户机同意以其继续进行的数据加密级别可以对应于多个数据加密级别中的一个。
附图说明
通过参考以下结合附图的描述,本解决方案的前述和其他目的、方面、特征和优点将变得更加明显和更好地理解,其中:
图1是根据示意性实施例的网络计算系统的框图;
图2是根据示意性实施例的用于经由设备将计算环境从服务器传递到客户机的网络计算系统的框图;
图3是根据示意性实施例的计算装置的框图;
图4是数据加密的系统的实施例的框图;
图5A和5B是可以应用于数据流的可能的加密级别的示例表示;以及
图6是数据加密的方法的实施例的流程图。
当结合附图时,根据下面阐述的详细描述,本解决方案的特征和优点将变得更加明显,在附图中,相似的附图标记字符始终标识相应的元件。在附图中,相似的附图标记数字通常表示相同、功能相似和/或结构相似的元件。
具体实施方式
为了阅读下面的各个实施例的描述,本说明书的各部分的以下描述及其各自的内容可能是有帮助的:
部分A描述了可用于实践本文描述的实施例的计算环境;
部分B描述了用于加密数据流的系统和方法。
A.计算环境
在讨论用于加密数据流的本系统和方法的细节之前,讨论实施例可以被部署的计算环境可能是有帮助的。
参考图1,描绘了示意性网络环境100。网络环境100可以包括经由一个或多个网络104(1)-104(n)(通常称为网络104)与一个或多个服务器106(1)-106(n)(通常也称为远程机器106或服务器106)通信的一个或多个客户机102(1)-102(n)(通常也称为本地机器102或客户机102)。在一些实施例中,客户机102可以经由一个或多个设备200(1)-200n(通常称为设备200或网关200)与服务器106通信。
尽管图1所示的实施例示出了客户机102和服务器106之间的一个或多个网络104,但在其他实施例中,客户机102和服务器106可以在同一网络104上。各种网络104可以是相同类型的网络或不同类型的网络。例如,在一些实施例中,网络104(1)可以是诸如局域网(LAN)或公司内联网的专用网络,而网络104(2)和/或网络104(n)可以是诸如广域网(WAN)或互联网的公共网络。在其他实施例中,网络104(1)和网络104(n)都可以是专用网络。网络104可以采用一种或多种类型的物理网络和/或网络拓扑,例如有线和/或无线网络,并且可以采用一种或多种通信传输协议,例如传输控制协议(TCP)、互联网协议(IP)、用户数据报协议(UDP)或其他类似协议。
如图1所示,一个或多个设备200可以位于网络环境100的各个点处或各个通信路径中。例如,设备200可以部署在两个网络104(1)和104(2)之间,并且设备200可以彼此通信以协同工作,例如加速客户机102和服务器106之间的网络流量。在其他实施例中,设备200可以位于网络104上。例如,设备200可以被实现为客户机102和/或服务器106之一的一部分。在一个实施例中,设备200可以实现为网络装置,例如佛罗里达州劳德代尔堡的思杰系统有限公司销售的
Figure BDA0002652801350000052
产品。
如图1所示,一个或多个服务器106可以作为服务器群38来操作。服务器群38的服务器106可以被逻辑分组,并且可以与客户机102和/或其他服务器106在地理上位于同一地点(例如,在本地)或在地理上分散(例如,基于云)。在一个实施例中,服务器群38(例如,作为应用服务器)代表一个或多个客户机102执行一个或多个应用,但是其他用途也是可能的,例如文件服务器、网关服务器、代理服务器或其他类似服务器用途。客户机102可以寻求对服务器106上托管的应用的访问。
如图1所示,在一些实施例中,设备200可以包括一个或多个附加设备、由其替换或与之通信,附加设备例如是WAN优化设备205(1)-205(n),通常称为WAN优化设备205。例如,WAN优化设备205可以加速、高速缓存、压缩或以其他方式优化或改善网络流量(例如去往和/或来自WAN连接的流量)的性能、操作、流控制或服务质量,例如优化广域文件服务(WAFS)、加速服务器消息块(SMB)或公共互联网文件系统(CIFS)。在一些实施例中,设备205可以是性能增强代理或WAN优化控制器。在一个实施例中,设备205可以被实现为佛罗里达州劳德代尔堡的思杰系统有限公司销售的
Figure BDA0002652801350000051
产品。
参考图2,示出了用于传送和/或操作客户机102上的计算网络环境的示例网络环境100'。如图2所示,服务器106可以包括用于向一个或多个客户机102传送计算环境、应用和/或数据文件的应用传送系统190。客户机102可以包括客户机代理120和计算环境15。计算环境15可以执行或操作应用16,所述应用16访问、处理或使用数据文件17。可以经由设备200和/或服务器106传送计算环境15、应用16和/或数据文件17。
设备200例如可以通过应用传送系统190加速传送计算环境15的全部或一部分到客户机102。例如,设备200可以通过加速客户机102和服务器106之间的传输层流量,来将流应用及该应用可处理的数据文件从数据中心加速传送到远程用户位置。可以通过下列一种或多种技术来提供这样的加速,例如:1)传输层连接池化,2)传输层连接多路复用,3)传输控制协议缓冲,4)压缩,5)高速缓存或其他技术。设备200还可以提供服务器106的负载均衡以处理来自客户机102的请求,充当代理或访问服务器以提供对一个或多个服务器106的访问,提供安全性和/或充当客户机102与服务器106之间的防火墙,提供域名服务(DNS)解析,提供一个或多个虚拟服务器或虚拟互联网协议服务器,和/或提供从客户机102到服务器106的安全虚拟专用网络(VPN)连接,例如安全套接字层(SSL)VPN连接和/或提供加密和解密操作。
应用传送管理系统190可以基于策略引擎195所应用的身份验证和授权策略,以远程或其他方式向用户(例如,客户机102)传送计算环境15。远程用户可以获取计算环境并从任何网络连接的装置(例如客户机102)访问服务器存储的应用和数据文件。例如,设备200可以从服务器106请求应用和数据文件。响应于该请求,应用传送系统190和/或服务器106可以向客户机102传送该应用和数据文件,例如经由应用流以在客户机102上的计算环境15中进行操作,或者经由远程显示协议或以其他方式经由基于远程或基于服务器的计算。在一个实施例中,应用传送系统190可以被实现为思杰系统有限公司的Citrix WorkspaceSuiteTM的任何部分,例如
Figure BDA0002652801350000061
Figure BDA0002652801350000062
策略引擎195可以控制和管理对应用的访问、执行和传送。例如,策略引擎195可以确定用户或客户机102可以访问的一个或多个应用和/或应该如何向用户或客户机102传送应用,例如基于服务器的计算、流式传输或传送应用到客户机120本地以供本地执行。
例如,在操作中,客户机102可以请求执行应用(例如,应用16'),并且服务器106的应用传送系统190确定如何执行应用16',例如基于从客户机102接收到的证书以及由与该证书相关联的策略引擎195所应用的用户策略。例如,应用传送系统190可以使客户机102能够接收通过在服务器106上执行应用而生成的应用输出数据,可以使客户机102能够在从服务器106接收到应用之后本地地执行该应用,或者可以经由网络104将应用流式传输到客户机102。例如,在一些实施例中,该应用可以是代表客户机102在服务器106上执行的基于服务器或基于远程的应用。服务器106可以使用瘦客户端或诸如佛罗里达州劳德代尔堡的思杰系统有限公司的独立计算体系结构(ICA)协议之类的远程显示协议向客户机102显示输出。该应用可以是与实时数据通信相关的任何应用,例如用于流式传输图形、流式传输视频和/或音频或其他数据、传送远程桌面或工作空间或托管的服务或应用(例如基础设施即服务(IaaS)、工作空间即服务(WaaS)、软件即服务(SaaS)或平台即服务(PaaS))的应用。
服务器106中的一个或多个可以包括性能监控服务或代理197。在一些实施例中,可以采用专用的一个或多个服务器106来执行性能监控。例如,可以通过软件、硬件或其组合使用数据收集、聚集、分析、管理和报告来执行性能监控。性能监控可以包括一个或多个代理,用于在客户机102(例如,客户机代理120)、服务器106(例如,代理197)或者设备200和/或205(未示出的代理)上执行监控、测量和数据收集活动。通常,监控代理(例如120和/或197)对装置的任一应用和/或用户透明地(例如在后台)执行。在一些实施例中,监控代理197包括佛罗里达州劳德代尔堡的思杰系统有限公司的称为EdgeSight的任何产品实施例。
监控代理可以基于给定事件的发生或者在网络环境100的操作期间实时地以预定频率监控、测量、收集和/或分析数据。监控代理可以监控硬件、软件的资源消耗和/或性能,和/或客户机102、网络104、设备200和/或205、和/或服务器106的通信资源。例如,诸如传输层连接之类的网络连接、网络延迟、带宽利用率、终端用户响应时间、应用使用和性能、与应用的会话连接、高速缓存使用、存储器使用、处理器使用、存储使用、数据库事务、客户机和/或服务器利用率、活跃用户、用户活动的持续时间、应用崩溃、错误、或挂起、登录到应用、服务器或应用传送系统所需的时间、和/或其他性能条件和指标都可以被监控。
监控代理可以为应用传送系统190提供应用性能管理。例如,基于一个或多个监控的性能条件或指标,可以动态地(例如,周期性地或实时地)调整应用传送系统190以基于网络环境性能和条件来优化服务器106到客户机102的应用传送。
在所描述的实施例中,客户机102、服务器106以及设备200和205可以被部署为任何类型和形式的计算装置,和/或在任何类型和形式的计算装置上执行,计算装置例如是能够通过至少一个网络通信并执行本文所述的操作的任何台式计算机、膝上型计算机或移动装置。例如,客户机102、服务器106和/或设备200和205可各自对应于一个计算机、多个计算机或诸如图3所示的计算机101的分布式计算机的网络。
如图3所示,计算机101可以包括一个或多个处理器103、易失性存储器122(例如,RAM)、非易失性存储器128(例如,一个或多个硬盘驱动器(HDD)或其他磁性或光学存储介质、一个或多个固态驱动器(SSD)(例如闪存驱动器或其他固态存储介质)、一个或多个混合磁性和固态驱动器、和/或一个或多个虚拟存储卷(例如云存储)、或这种物理存储卷和虚拟存储卷或其阵列的组合)、用户接口(UI)123、一个或多个通信接口118和通信总线150。用户接口123可包括图形用户接口(GUI)124(例如,触摸屏、显示器等)和一个或多个输入/输出(I/O)装置126(例如,鼠标、键盘等)。非易失性存储器128存储操作系统115、一个或多个应用116和数据117,从而例如由处理器103从易失性存储器122中执行操作系统115和/或应用116的计算机指令。可以使用GUI 124的输入装置来输入数据,或者可以从I/O装置126接收数据。计算机101的各种元件可以经由通信总线150进行通信。图3所示的计算机101仅作为示例示出,因为可以通过任何计算或处理环境以及使用可具有能够如本文所述地操作的合适的硬件和/或软件的任何类型的机器或机器组来实现客户机102、服务器106和/或设备200和205。
处理器103可以由执行一个或多个计算机程序的一个或多个可编程处理器来实现,用以执行系统的功能。如本文所使用的,术语“处理器”描述了执行功能、操作或操作序列的电子电路。功能、操作或操作序列可以被硬编码到电子电路中,或者通过存储在存储器装置中的指令被软编码。“处理器”可以使用数字值或使用模拟信号执行功能、操作或操作序列。在一些实施例中,“处理器”可以以一个或多个专用集成电路(ASIC)、微处理器、数字信号处理器、微控制器、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、多核处理器、或具有关联存储器的通用计算机来实现。“处理器”可以是模拟、数字或混合信号。在一些实施例中,“处理器”可以是一个或多个物理处理器或一个或多个“虚拟”(例如,位于远程的或“云”)处理器。
通信接口118可以包括一个或多个接口,以使计算机101能够通过各种有线和/或无线或蜂窝连接来访问诸如LAN、WAN或互联网的计算机网络。
在所描述的实施例中,第一计算装置101可以代表客户机计算装置(例如,客户机102)的用户执行应用,可以执行虚拟机,该虚拟机提供执行会话,在该执行会话(例如托管的桌面会话)内应用代表用户或客户机计算装置(例如客户机102)执行,可以执行终端服务会话以提供托管的桌面环境,或者可以提供对包括以下中的一个或多个的计算环境的访问:一个或多个应用、一个或多个桌面应用以及可以在其中执行一个或多个应用的一个或多个桌面会话。
网络环境、计算机101、以及客户机和服务器计算机的实现和操作的其他详细信息可以如2017年1月3日授予佛罗里达州劳德代尔堡的思杰系统有限公司的美国专利No.9,538,345中所描述,其教导通过引用并入本文。
B.加密数据流
本公开涉及用于加密数据流的系统和方法的实施例。数据流可以包括在两个装置之间通信的任意数量的分组或帧,例如音频、视频和/或多媒体数据,并且可以是通信会话或应用传送流(例如,远程应用或桌面配置会话)的一部分。数据流可以包括基于Web或基于云的会话,例如软件即服务(SaaS)会话、或者数据或内容(例如,软件或发布者内容)下载会话。为了经由编码或加密以密码方式保密这种数据流,本系统和方法的一些实施例可以适应或调整应用于数据流的部分上的加密级别(例如,强度和/或类型)。
对装置之间的数据进行密码处理或加密操作的计算成本可能很大。因此,例如,某些类型的数据(例如,视频数据)通常不加密,而包含敏感或机密信息的数据流类型可以被识别以例如进行消耗服务器的大量资源的加密。然而,通过允许一个或多个装置确定或跟踪可用资源(例如,用于密码操作),可以例如根据可用资源来配置和/或协调这些装置以执行各种级别的加密处理。
例如,在客户机-服务器关系内,装置可以彼此进行互操作、通信或协商,以动态地修改或更新在装置之间传递的数据上应用的加密级别、和/或在接收时对数据执行的解密级别。可以例如根据这些装置中的一个或多个的可用资源以特定的间隔调整加密级别,并且可以独立于或依赖于数据流的质量来选择加密级别。加密级别可以根据或依赖于对数据流执行的其它类型的处理的量、以及被消耗的和/或可用的相应资源进行调整。例如,根据本解决方案的某些实施例,数据流的部分可以被允许为未加密的,或以降低的一个或多个级别加密,以确保该数据的流是未中断的或落入特定的服务级别,同时为传输的数据提供足够或可接受的保护级别。
现在参考图4,描绘了用于加密数据流的系统500的实施例。总的来说,系统500可以包括与至少另一个装置通信的装置(例如,装置A、和装置B)。装置A和装置B可以例如在至少某个时间段之内在它们之间单向或双向地传输数据。装置A和B中的每一个都可以包括客户机、服务器或中间装置(或设备)。装置A和B中的每一个可以例如包含如上面结合图1-3所讨论的计算装置101、客户机102、服务器106和/或设备200的实施例的元件。
在一些实施例中,装置A和装置B可以各自是网络模块/部件的一部分,或者可以跨多于一个网络模块/部件被分布。例如,在一些实施例中,如图1所示,装置A可以包括一个或多个服务器106(例如,服务器群),并且可以将数据流式传输或传输到装置B(其可以包括一个或多个客户机102)。装置A和装置B可以经由网络104通信地连接,并且网络104可以包括一个或多个网络节点,诸如设备200,例如如图1所示。
装置A和/或装置B可以各自包括以下中至少之一:监控代理201、基准引擎203、协商引擎207或密码引擎211。装置A和/或装置B可以访问资源204和/或多个加密级别209,以用于处理或加工在它们自己之间和/或与其他装置之间传送的数据。在一个或多个实施例中,以硬件、或者硬件和软件的组合来实现上述元件或实体中的每一个。例如,这些元件或实体中的每一个可以包括在装置的硬件上执行的任何应用、程序、库、脚本、任务、服务、进程或任何类型和形式的可执行指令。例如,在一个或多个实施例中,如以上结合至少图3所述,硬件包括诸如一个或多个处理器的电路。
本解决方案的系统和方法可以以包括客户机、服务器和/或设备的任何类型和形式的装置来实现。如本文所引用的,“服务器”有时可以指客户机-服务器关系中的任何装置,例如与客户机装置通信的设备。本系统和方法可以在任何中间装置或网关中实现,诸如本文描述的设备或装置200的任何实施例。例如,本系统和方法的某些部分可以被实现为设备的分组处理引擎和/或虚拟服务器的一部分。该系统和方法可以在任何类型和形式的环境中实现,包括例如多核设备、虚拟化环境和/或群集环境。
再次参考图4,装置A和/或B可以访问多个可用加密级别209。每个加密级别可以包括或指定一个或多个密码操作,该操作可以包括解密、加密和/或相关操作,但不限于加密本身。特定的加密级别可以指定或包括加密强度和/或加密类型。加密类型的示例可以包括数据加密标准(DES)、三重DES、Rivest–Shamir–Adleman(RSA)、Blowfish、Twofish和高级加密标准(AES)。加密类型的示例可以包括秘密密钥(或对称密钥)、公共密钥和哈希函数密码。加密类型的示例可以包括使用密码算法,例如联邦信息处理标准(FIPS)、IP安全协议(IPsec)、安全超文本传输协议(S-HTTP)、安全套接字层(SSL)、传输层安全协议(TLS)、优良保密协议(PGP)和TrueCrypt。(一种类型的)加密的强度的示例可以包括或对应于各种密钥长度,诸如56位密钥、256位密钥、512位密钥以及各种其他长度的密钥。(一种类型的)加密的强度的示例可以包括或对应于所使用的各种密码,诸如RSA密码和对称密钥加密密码。(一种类型的)加密的强度的示例可以包括或对应于所使用的密钥长度和/或密码的各种组合。
在一些实施例中,装置A和/或B可以包括监控代理201。监控代理201可以包括监控代理197和/或客户机代理120的实施例的某些特征,如以上结合至少图2所讨论的。监控代理201可以被实现和/或设计为确定、识别、监控和/或跟踪可用于装置A和/或装置B或可用于执行数据加密和/或解密的资源204。资源204可以包括装置A和/或装置B中固有的或包括在装置A和/或装置B中的资源,诸如计算或处理资源、存储器、存储空间、总线或连接带宽或数据传输容量、电源或电池电量和/或I/O和通信接口的可用性。资源204可以包括装置A和/或装置B可访问的资源,诸如网络带宽、外围/支持装置中的资源、云资源(例如,云计算和/或存储)、外部电源和/或其他网络资源。在一些实施例中,资源204可以包括能够执行一个或多个级别的加密或密码操作的软件和/或硬件。
在一些实施例中,装置A和/或B可以包括或托管基准引擎203。基准引擎可以被实现和/或设计为根据可用资源确定、计算或识别对相应装置能够处理的数据流的一个或多个数据加密级别。即使发送方装置(例如,装置A)和接收方装置(例如,装置B)可能没有足够的资源来加密全部数据流,但这些装置可能具有足够的计算资源来部分地和/或智能地加密数据流。因此,基准引擎可以确定或选择可以在相应装置上被支持的一个或多个适当的数据加密级别。在某些实施例中,基准引擎包括监控代理201,并且被配置为确定可用于相应装置的资源。
基准引擎203可以在相应的装置上运行基准测试程序、测试、预测和/或仿真以确定可用的资源或能力。例如,基准引擎203可以对测试数据或数据流的一部分执行一个或多个级别的加密,并且可以确定是否有足够的资源来支持一个或多个级别的加密。该基准引擎203可以基准测试、发现和/或测量特定资源或一定数量的资源。服务器和客户机从而可以运行对可用资源的基准测试程序,以确定以当前的可用计算资源它们能够执行什么级别的加密。
在一些实施例中,装置A和/或B可以包括或托管协商引擎207。协商引擎207可以确定、识别和/或管理在相应装置处的一个或多个级别的数据加密的使用。一个装置(例如,装置A)的协商引擎207A可以与另一装置(例如,装置B)的协商引擎207B通信。例如,协商引擎207A可以从协商引擎207B接收根据装置B的可用资源对装置B能够处理的数据流的一个或多个数据加密级别的标识。
在一些实施例中,协商引擎可以选择一个加密级别,该加密级别可以在所确定的数据加密级别以及接收到的数据加密级别中找到。所选择的加密级别可以是使用最少、最多或平衡级别的可用资源的一个加密级别,和/或由一个或两个装置提供对数据流的最高、最强或最可持续的级别/程度的加密的一个加密级别。协商引擎可以选择或识别装置能够处理的数据加密级别,该级别高于预定义的或商定一致的最低加密级别。协商引擎可以选择或识别装置能够处理的数据加密级别,该数据加密级别能够支持针对传送数据流的预定义的服务级别协议。预定义的服务级别协议可以已经在装置A和B之间和/或针对网络104进行了协商。
根据由基准引擎确定的数据加密级别,以及接收到的数据加密级别,协商引擎可以协商、识别、选择、提议、请求和/或确定装置A和装置B可以支持或可以同意以其继续进行的数据加密级别。协商引擎可以主动与另一个协商引擎协商以达成商定一致的加密级别,或者可以被动地从另一个协商引擎接收指令以使用指定的加密级别。在某些实施例中,协商引擎可以单方面或双方面地决定要在其相应装置和/或其他装置上使用的加密级别,例如可以在相应装置和/或其他装置上支持的加密级别。例如,基于服务器和客户机的基准测试程序,服务器和客户机可以协商它们能够支持的最合适的加密机制/类型和强度级别。
在一些实施例中,装置A和/或B可以包括或托管密码引擎211。密码引擎211被实现和/或设计为对数据流执行数据加密和/或解密。数据加密和/或解密可以包括用于保密或保护被传输的数据的任何密码相关操作,并且可以包括诸如编码/解码、数据加扰/解扰、哈希、密码功能、加密-密钥操作/管理、压缩、和/或消息验证之类的操作。密码引擎211可以合并或包括资源204的任何部分(例如,软件算法、硬件和/或哈希表),这些资源可以用于执行所选择的或已识别的加密或密码操作级别。密码引擎211可以根据装置可以支持或同意以其继续进行的数据加密级别来加密/处理数据。可以使用由装置协商的加密机制和强度级别对数据流进行加密,然后传输加密的数据流。例如,密码引擎211可加密视频或音频数据的每个全帧和更新帧,或加密视频或音频数据的每个全帧,或加密视频或音频数据的每个第N个全帧。N可以是预定义的整数值(例如2、5、10或其他数字)。
按照预定义的间隔,协商引擎可以识别和/或选择该装置可以支持的更新的数据加密级别,或维持当前的数据加密级别,或确定停止加密(例如,暂时地,至少在预定的间隔长度内)。预定义的间隔可以对应于或包含预定义的时间间隔(例如5秒、20秒、1分钟或其他持续时间),或预定义的通信或加密的数据的量(例如,1千字节、500千字节、10兆字节或其他数据量)。
例如,在X数据量或Y时间量之后,服务器和客户机可以再次执行基准测试程序,并重新协商加密机制/类型和级别,以适应两端上的可用资源的当前级别。基准引擎可以针对每个基准测试过的资源设置或定义(资源级别)阈值或规则。基准测试过的资源可以包括,但不限于网络带宽、中央处理单元(CPU)使用率、随机存取存储器(RAM)使用率、电池消耗量等。基准引擎可以例如设置或定义规则,规定“如果CPU使用率高于80%的阈值,则降低加密级别”。如果基准测试结果指示该加密级别应该降低(或增加),则该基准引擎可以例如识别可以确保可靠通信的加密级别。
因此,按照预定义的间隔或响应于预定义的间隔,监控代理可以在该时刻确定可用的资源,基准引擎可以响应于可用资源(在此时刻)确定候选加密级别,协商引擎可以响应于候选加密级别识别或选择装置可以支持的更新的数据加密级别。通过说明的方式,从候选加密级别之中,协商的(或重新协商的)加密级别可以包括,但不限于:(ⅰ)非常强的加密(例如,加密视频流的每一帧);(ⅱ)中等强度加密(例如,仅加密视频流的每一个全视频帧);(ⅲ)弱加密(例如,加密视频流的每个第N个全视频帧);(iv)无加密(例如,确定以当前资源无法进行加密)。
图5A和5B描绘了视频流上的协商的(或重新协商的)加密级别的示例。视频流可以按照全帧和更新帧的序列进行编码。从高层次上讲,视频压缩/编码方案可以每N帧有一个全帧,其中包括了用于显示视频的整个图像的数据,而其他更新帧只是与前一(全或更新)帧的差量(差异)。因此,通过加密或保密关键帧(例如,全帧),则未加密的差量或更新帧只能对未经授权的用户提供不完整的图片。没有全帧,就没有可以理解差量帧的“基准”或参考。应当注意的是,尽管在本文中讨论了视频帧和流,但这些仅仅是用作示例,并不意在以任何方式进行限制。其他类型的数据流和传输(例如,音频通信、或屏幕共享会话的内容)可以被自适应地加密,以提供合适的保护级别。
在一些实施例中,装置或协商引擎可以就最低加密级别达成一致。例如,客户机和服务器都可以具有规定最低加密级别应该是什么的自有的设置(或策略)。当服务器和客户机执行初始握手或通信交换时,装置可以比较它们的最低加密级别,并且可以选择两者中的最高级别作为视频流可以发送的最低加密级别。如果稍后或进一步的协商指示两个装置都可以继续进行更高的加密级别,则两个装置都可以同步或同意继续使用该更高的加密级别。例如如果资源级别阈值指示,甚至商定一致的最低加密级别也无法被遵守或满足,那么数据流可能会被停止并不被传送。
这样,本系统的实施例可以例如根据执行这种操作的成本,选择性地和自适应地应用对数据流的加密。取决于可用的资源,数据流的发送方和接收方装置可以协商适合于两端上的可用资源的可调整的加密级别,从而在不损害(或显著损害)通信可靠性的情况下,获得更安全的数据传输。诸如服务器和客户机的装置,可以协商一个或多个数据流的加密的方法或级别,其可以基于可用资源调整。系统可以基于服务器和客户机之间的协商来调整对数据流执行的加密强度/级别,这需要考虑两端的可用资源。本解决方案的实施例可以提供有利于增强的加密级别而降低传输可靠性的方式(例如,自适应地或动态地),并且相反地提供降低加密级别以允许更可靠的传输的方式。在一些实施例中,系统或每个装置可以设置策略以确保满足期望的最低加密级别。
现在参考图6,示出了描绘用于数据加密的方法的一个实施例中的步骤或操作的流程图。简言之,该方法可以包括由服务器确定服务器的可用资源(301)。服务器可以确定该服务器能够处理的数据加密级别(303)。服务器可以接收客户机能够处理的数据加密级别(305)。服务器和/或客户机可以识别服务器和客户机同意以其继续进行的数据加密级别(307)。服务器和/或客户机可以根据服务器和客户机同意以其继续进行的数据加密级别来对数据进行加密(309)。服务器可以按照预定义的间隔来识别更新的数据加密级别(311)。
现在参考(301),并且在一些实施例中,服务器可以确定该服务器可用的一个或多个资源。在服务器上执行的监控代理可以确定服务器和/或客户机可用的一个或多个资源。可用资源可以包括以下中至少一项:网络带宽、I/O或接口带宽、处理器或计算能力、装置内的总线/连接带宽、存储器、存储容量、网络/云资源、或电池/电源电量(例如,根据能耗率)。可用资源可以包括用于执行数据加密和/或解密的资源,诸如能够执行一个或多个级别的数据加密的软件和/或硬件。
现在参考(303),并且在一些实施例中,服务器可以确定服务器能够处理的数据加密级别。服务器的基准引擎可以确定服务器能够处理的数据加密级别。该基准引擎可以根据服务器可用的或可访问的资源确定数据加密级别。数据加密级别可以包括加密类型和/或数据加密类型的强度。该基准引擎可以确定或选择服务器上可以支持的一个或多个合适的数据加密级别。在某些实施例中,基准引擎合并了监控代理,并且被配置为确定服务器的可用资源。该基准引擎可以在服务器上运行基准测试程序、测试、预测和/或仿真,以确定可用的资源或能力。例如,基准引擎可以对测试数据或数据流的一部分执行一个或多个级别的加密,并且可以确定是否有足够的资源来支持一个或多个级别的加密。
现在参考(305),并且在一些实施例中,服务器可以接收客户机能够处理的数据加密级别。服务器的协商引擎可以接收根据客户机的可用资源、客户机能够处理的一个或多个加密级别的指示。该服务器的协商引擎可以与客户机的协商引擎和/或基准引擎通信。例如,服务器的协商引擎可以从客户机的协商引擎和/或基准引擎请求有关支持的加密级别的信息。在一些实施例中,协商引擎可以将有关可在服务器上支持的一个或多个数据加密级别的信息共享给或发送到客户机。
现在参考(307),并且在一些实施例中,服务器和/或客户机可以识别服务器和客户机同意以其继续进行的数据加密级别。例如,与客户机通信的服务器可以根据针对服务器所确定的数据加密级别以及从客户机接收到的数据加密级别,识别该服务器和客户机可以同意以其继续进行的或可以支持的数据加密级别。服务器的协商引擎可以确定、识别和/或管理服务器处的一个或多个级别的数据加密的使用。
在一些实施例中,协商引擎可以选择在所确定的数据加密级别和接收到的数据加密级别中都可以找到的加密级别。所选择的加密级别可以是使用最少、最多或平衡级别的可用资源的一个加密级别,和/或由服务器和客户机中的一个或两者都在数据流上提供最高、最强或最可持续级别的加密的一个加密级别。协商引擎可以选择或识别服务器和/或客户机能够处理的、并且服务器和客户机同意以其继续进行的数据加密级别,该级别高于预定义的最低加密级别。协商引擎可以选择或识别该装置能够处理的并且服务器和客户机同意以其继续进行的数据加密级别,以使得数据加密级别能够支持针对传送数据流的预定义的服务级别协议。
协商引擎可以根据由基准引擎确定的数据加密级别以及接收到的数据加密级别,来协商、识别、选择、提议、请求和/或确定服务器和客户机可以支持或可以同意以其继续进行的数据加密级别。服务器的协商引擎可以主动与客户机的协商引擎协商,以达成商定一致的加密级别,或者可以被动地从客户机的协商引擎接收指令以使用指定的加密级别。
现在参考(309),并且在一些实施例中,服务器和/或客户机可以根据服务器和客户机同意以其继续进行的数据加密级别来加密数据。服务器的密码引擎和/或客户机的密码引擎可以根据该数据加密级别执行数据加密和/或解密。数据加密和/或解密可以包括用于保密或保护正在传输的数据的任何密码相关操作,并且可以包括诸如编码/解码、数据加扰/解扰、哈希、密码功能、加密-密钥操作/管理、压缩、和/或消息验证的操作。服务器可以使用由服务器和客户机协商的加密机制和强度级别来加密数据流。例如,服务器的密码引擎可以对视频或音频数据的每个全帧和更新帧进行加密,或者对视频或音频数据的每个全帧进行加密,或者对视频或音频数据的每个第N个全帧进行加密。N可以是预定义的整数值(例如,2、5、10或其他数字)。
现在参考(311),并且在一些实施例中,服务器可以按照预定义的间隔,识别更新的数据加密级别。按照预定义的间隔与客户机通信的服务器,可以识别服务器和客户机应当以其继续进行的更新的数据加密级别。预定义的间隔可以对应于或包括预定义的时间间隔(例如5秒、20秒、1分钟或其他持续时间)、或预定义的通信或加密的数据的量(例如1千字节、500千字节、10兆字节、或其他的数据量)。按照预定义的间隔,协商引擎中的一者或两者都可以识别和/或选择服务器和客户机可以支持的更新的数据加密级别,或维持当前的数据加密级别,或确定停止加密(例如,暂时地,至少在预定义的间隔长度内)。
按照预定义的间隔或响应于预定义的间隔,监控代理可以在该时刻确定可用的资源,基准引擎可以响应于可用资源(在此时刻)确定候选加密级别,协商引擎可以响应于候选加密级别识别或选择装置可以支持的更新的数据加密级别。通过说明的方式,从候选加密级别之中,协商的(或重新协商的)加密级别可以包括,但不限于:(ⅰ)非常强的加密(例如,加密视频流的每一帧);(ⅱ)中等强度加密(例如,仅加密视频流的每一个全视频帧);(ⅲ)弱加密(例如,加密视频流的每个第N个全视频帧);(iv)无加密(例如,确定以当前资源无法进行加密)。
在一些实施例中,服务器或客户机可以就最低加密级别达成一致。例如,客户机和服务器都可以具有规定最低加密级别应该是什么的自有的设置(或策略)。当服务器和客户机执行初始握手或通信交换时,装置可以比较它们的最低加密级别,并且可以选择两者中的最高级别作为数据流可以发送的最低加密级别。如果稍后或进一步的协商指示两个装置都可以继续进行更高的加密级别,则两个装置都可以同步以继续使用该更高的加密级别。例如如果资源级别阈值指示,甚至商定一致的最低加密级别也无法被遵守或满足,那么数据流可能会被停止并不被传送。因此,根据用于执行这样的操作的可用资源,本系统的实施例可以选择性地并且自适应地对数据流应用加密。
应当理解,上述系统可以提供那些组件中的任意的多个组件或那些组件中的每一个组件,并且这些组件可以在独立的机器上或者在一些实施例中在分布式系统中的多个机器上提供。可以使用编程和/或工程技术来生产软件、固件、硬件或其任何组合的方式,将上述系统和方法实现为方法、设备或制造产品。另外,可以将上述系统和方法作为嵌入在一个或多个制造产品之上或之中的一个或多个计算机可读程序来提供。本文所使用的术语“制造产品”旨在包括可从一个或多个计算机可读装置、固件、可编程逻辑、存储装置(例如EEPROM、ROM、PROM、RAM、SRAM等)、硬件(例如集成电路芯片、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)、电子装置、计算机可读非易失性存储单元(例如CD-ROM、USB闪存、硬盘驱动器等)可访问的或嵌入其中的代码或逻辑。可以从文件服务器访问该制造产品,该文件服务器经由网络传输线、无线传输介质、在空间传播的信号、无线电波、红外信号等提供对计算机可读程序的访问。该制造产品可以是闪存卡或磁带。该制造产品包括硬件逻辑以及嵌入在计算机可读介质中的由处理器执行的软件或可编程代码。通常,计算机可读程序可以以任何编程语言(例如LISP、PERL、C、C++、C#、PROLOG)或任何字节代码语言(例如JAVA)实现。软件程序可以作为目标代码存储在一个或多个制造产品之上或之中。
尽管已经描述了方法和系统的各种实施例,但是这些实施例是示意性的,并且绝不限制所描述的方法或系统的范围。相关领域的技术人员可以在不脱离所描述的方法和系统的最广泛范围的情况下,对所描述的方法和系统的形式和细节进行改变。因此,本文描述的方法和系统的范围不应受到任何示意性实施例的限制,而应根据所附权利要求及其等同物来定义。

Claims (20)

1.一种加密的方法,所述方法包括:
由服务器根据所述服务器的可用资源,确定所述服务器对要与客户机进行通信的数据能够处理的数据加密级别,其中,数据加密级别包括加密的类型和数据加密类型的强度;
由所述服务器接收根据所述客户机的可用资源对所述客户机能够处理的数据的数据加密级别;
由所述服务器根据所确定的数据加密级别和接收到的数据加密级别识别所述服务器和所述客户机同意以其继续进行的数据加密级别;以及
由按照预定义的间隔与所述客户机进行通信的服务器识别所述服务器和所述客户机同意以其继续进行的更新的数据加密级别。
2.根据权利要求1所述的方法,还包括由所述服务器确定所述服务器的可用资源。
3.根据权利要求1所述的方法,其中,所述服务器的可用资源包括以下中至少之一:网络带宽、处理器或计算能力、存储器、或电池电量或消耗率。
4.根据权利要求1所述的方法,其中,所述预定义的间隔包括预定义的时间间隔或预定义的通信或加密的数据的量。
5.根据权利要求1所述的方法,还包括将所述服务器和所述客户机同意以其继续进行的数据加密级别识别为高于预定义的最低加密级别。
6.根据权利要求1所述的方法,还包括将所述服务器和所述客户机同意以其继续进行的数据加密级别识别为能够支持针对数据传送的预定义的服务级别协议。
7.根据权利要求1所述的方法,还包括通过对视频或音频数据的每个全帧和更新帧进行加密,根据所述服务器和所述客户机同意以其继续进行的数据加密级别来对所述数据进行加密。
8.根据权利要求1所述的方法,还包括通过对视频或音频数据的每个全帧进行加密,根据所述服务器和所述客户机同意以其继续进行的数据加密级别来对所述数据进行加密。
9.根据权利要求1所述的方法,还包括通过对视频或音频数据的每个第N个全帧进行加密,根据所述服务器和所述客户机同意以其继续进行的数据加密级别来对所述数据进行加密,其中N是预定义的整数值。
10.根据权利要求1所述的方法,其中,所述服务器和所述客户机同意以其继续进行的数据加密级别对应于多个数据加密级别之一。
11.一种加密的系统,所述系统包括:
能够在服务器上执行的基准引擎,所述基准引擎被配置为根据所述服务器的可用资源确定所述服务器对要与客户机进行通信的数据能够处理的数据加密级别,其中数据加密级别包括加密的类型和数据加密类型的强度;
能够在所述服务器上执行并与所述客户机通信的协商引擎,所述协商引擎被配置为:
接收根据所述客户机的可用资源对所述客户机能够处理的数据的数据加密级别;
根据所确定的数据加密级别和接收到的数据加密级别,识别所述服务器和所述客户机同意以其继续进行的数据加密级别;以及
按照预定义的间隔,识别所述服务器和所述客户机同意以其继续进行的更新的数据加密级别。
12.根据权利要求11所述的系统,其中,所述基准引擎还被配置为确定所述服务器的可用资源。
13.根据权利要求11所述的系统,其中,所述服务器的可用资源包括以下中至少之一:网络带宽、处理器或计算能力、存储器、或电池电量或消耗率。
14.根据权利要求11所述的系统,其中,所述预定义的间隔包括预定义的时间间隔或预定义的通信或加密的数据的量。
15.根据权利要求11所述的系统,其中,所述协商引擎被配置为将对所述服务器能够处理的数据的数据加密级别识别为高于预定义的最低加密级别。
16.根据权利要求11所述的系统,其中,所述协商引擎被配置为将所述服务器能够处理的数据加密级别识别为能够支持针对数据传送的预定义的服务级别协议。
17.根据权利要求11所述的系统,还包括所述服务器的至少一个处理器,其被配置为通过对视频或音频数据的每个全帧和更新帧进行加密,来根据所述服务器和所述客户机同意以其继续进行的数据加密级别来对所述数据进行加密。
18.根据权利要求11所述的系统,还包括所述服务器的至少一个处理器,其被配置为通过对视频或音频数据的每个全帧进行加密,来根据所述服务器和所述客户机同意以其继续进行的数据加密级别来对所述数据进行加密。
19.根据权利要求11所述的系统,还包括所述服务器的至少一个处理器,其被配置为通过对视频或音频数据的每个第N个全帧进行加密,根据所述服务器和所述客户机同意以其继续进行的数据加密级别来对所述数据进行加密,其中N是预定义的整数值。
20.根据权利要求11所述的系统,其中,所述服务器和所述客户机同意以其继续进行的数据加密级别对应于多个数据加密级别之一。
CN201980015755.XA 2018-01-10 2019-01-02 具有可协商和自适应的加密级别的用于加密数据流的方法 Active CN111771366B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/867,353 US10972770B2 (en) 2018-01-10 2018-01-10 Method for encrypting data streams with negotiable and adaptable encryption levels
US15/867353 2018-01-10
PCT/US2019/012061 WO2019139798A1 (en) 2018-01-10 2019-01-02 Method for encrypting data streams with negotiable and adaptable encryption levels

Publications (2)

Publication Number Publication Date
CN111771366A true CN111771366A (zh) 2020-10-13
CN111771366B CN111771366B (zh) 2022-10-14

Family

ID=65234690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980015755.XA Active CN111771366B (zh) 2018-01-10 2019-01-02 具有可协商和自适应的加密级别的用于加密数据流的方法

Country Status (5)

Country Link
US (2) US10972770B2 (zh)
EP (1) EP3738288B1 (zh)
CN (1) CN111771366B (zh)
AU (1) AU2019206298B2 (zh)
WO (1) WO2019139798A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726760A (zh) * 2021-08-27 2021-11-30 珠海市鸿瑞信息技术股份有限公司 一种基于负载均衡的工业控制通信加密系统及方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11622264B2 (en) * 2020-05-27 2023-04-04 Verizon Patent And Licensing Inc. Systems and methods for dynamic cryptography for small cells
US11523145B2 (en) * 2021-01-04 2022-12-06 Western Digital Technologies, Inc. Data storage device and method for real-time data locking in surveillance storage
CN113704780B (zh) * 2021-07-16 2024-02-06 国网浙江省电力有限公司杭州供电公司 一种基于模型驱动的配电网用户侧信息自适应加密方法
US20230350603A1 (en) * 2022-04-28 2023-11-02 Rambus Inc. Securing dynamic random access memory (dram) contents to non-volatile in a persistent memory module
US20240056488A1 (en) * 2022-08-11 2024-02-15 Cisco Technology, Inc. Classification-based data privacy and security management

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225880A1 (en) * 2002-02-22 2003-12-04 Rahul Srivastava Method for automatic monitoring of managed server health
US7151832B1 (en) * 1999-11-18 2006-12-19 International Business Machines Corporation Dynamic encryption and decryption of a stream of data
CN101895882A (zh) * 2009-05-21 2010-11-24 中兴通讯股份有限公司 一种WiMAX系统中的数据传输方法、系统及装置
CN102084663A (zh) * 2008-07-01 2011-06-01 斯灵媒体公司 用于安全地对媒体内容进行地点移位的系统及方法
CN102833253A (zh) * 2012-08-29 2012-12-19 五八同城信息技术有限公司 建立客户端与服务器安全连接的方法及服务器
CN104735058A (zh) * 2015-03-04 2015-06-24 深信服网络科技(深圳)有限公司 一种基于安全协议ssl的加密方法及系统
CN105391723A (zh) * 2015-11-24 2016-03-09 无锡江南计算技术研究所 一种基于硬件的多级密钥协商方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4267008B2 (ja) * 2006-07-28 2009-05-27 Necインフロンティア株式会社 クライアント・サーバ分散システム、サーバ装置、クライアント装置及びそれらに用いるクライアント間rtp暗号方法
US9538345B2 (en) 2015-01-28 2017-01-03 Citrix Systems, Inc. Systems and methods for performing load balancing and message routing for short message peer to peer protocol
US11622264B2 (en) * 2020-05-27 2023-04-04 Verizon Patent And Licensing Inc. Systems and methods for dynamic cryptography for small cells

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7151832B1 (en) * 1999-11-18 2006-12-19 International Business Machines Corporation Dynamic encryption and decryption of a stream of data
US20030225880A1 (en) * 2002-02-22 2003-12-04 Rahul Srivastava Method for automatic monitoring of managed server health
CN102084663A (zh) * 2008-07-01 2011-06-01 斯灵媒体公司 用于安全地对媒体内容进行地点移位的系统及方法
CN101895882A (zh) * 2009-05-21 2010-11-24 中兴通讯股份有限公司 一种WiMAX系统中的数据传输方法、系统及装置
CN102833253A (zh) * 2012-08-29 2012-12-19 五八同城信息技术有限公司 建立客户端与服务器安全连接的方法及服务器
CN104735058A (zh) * 2015-03-04 2015-06-24 深信服网络科技(深圳)有限公司 一种基于安全协议ssl的加密方法及系统
CN105391723A (zh) * 2015-11-24 2016-03-09 无锡江南计算技术研究所 一种基于硬件的多级密钥协商方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726760A (zh) * 2021-08-27 2021-11-30 珠海市鸿瑞信息技术股份有限公司 一种基于负载均衡的工业控制通信加密系统及方法
CN113726760B (zh) * 2021-08-27 2022-04-01 珠海市鸿瑞信息技术股份有限公司 一种基于负载均衡的工业控制通信加密系统及方法

Also Published As

Publication number Publication date
AU2019206298A1 (en) 2020-07-16
WO2019139798A1 (en) 2019-07-18
AU2019206298B2 (en) 2021-03-11
US10972770B2 (en) 2021-04-06
CN111771366B (zh) 2022-10-14
EP3738288A1 (en) 2020-11-18
US20210227268A1 (en) 2021-07-22
US20190215541A1 (en) 2019-07-11
EP3738288B1 (en) 2022-03-23

Similar Documents

Publication Publication Date Title
CN111771366B (zh) 具有可协商和自适应的加密级别的用于加密数据流的方法
US11991268B2 (en) Sharing cryptographic session keys among a cluster of network security platforms monitoring network traffic flows
CA3123369C (en) Secure connection established with the use of routing tokens
US20240195785A1 (en) Data stream replication using staggered encryption
US20200045028A1 (en) Virtual cryptographic module with load balancer and cryptographic module fleet
US11539677B2 (en) Message-based database replication
AU2020232181A1 (en) Methods and systems for preauthenticating tokens issued by a client
US11483295B2 (en) Method for securely negotiating end-to-end cryptographic context using inline messages through multiple proxies in cloud and customer environment
US11956219B2 (en) Systems and methods to detect and prevent bots from random access by randomized HTTP URLs in real time in distributed systems
US11811760B2 (en) Sessionless validation of client connections while mitigating cookie hijack attacks
US20230004668A1 (en) Systems and methods for enforcing forceful browsing in distributed systems in real time
US20230336360A1 (en) Server to synchronize a digital avatar with a device based on items of information wrapped together

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