CN103649950B - 为由外部存储提供者进行的文件存储提供多个安全性层 - Google Patents

为由外部存储提供者进行的文件存储提供多个安全性层 Download PDF

Info

Publication number
CN103649950B
CN103649950B CN201280024482.3A CN201280024482A CN103649950B CN 103649950 B CN103649950 B CN 103649950B CN 201280024482 A CN201280024482 A CN 201280024482A CN 103649950 B CN103649950 B CN 103649950B
Authority
CN
China
Prior art keywords
file
network
encrypted
access
external storage
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
CN201280024482.3A
Other languages
English (en)
Other versions
CN103649950A (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.)
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 CN103649950A publication Critical patent/CN103649950A/zh
Application granted granted Critical
Publication of CN103649950B publication Critical patent/CN103649950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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/045Network 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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/2121Chip on media, e.g. a disk or tape with a chip embedded in its case
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

本发明涉及一种方法,其可包含由计算装置的处理器检测关于文件到外部存储提供者的发射的网络通信。所述方法可包含致使加密所述文件以获得经加密文件,并使授权信息与所述经加密文件相关联。所述授权信息可包含对存取所述经加密文件的一个或一个以上限制。所述方法可包含将所述经加密文件发射到所述外部存储提供者,并截取对存取所述文件的请求。所述方法可包含识别关于与所述请求相关联的请求者的请求者信息,并使用所述请求者信息及所述授权信息的一部分确定所述请求者被授权存取所述经加密文件。所述方法可包含致使解密所述经加密文件以获得所述原始文件,并由所述处理器将对所述原始文件的存取提供到所述请求者。

Description

为由外部存储提供者进行的文件存储提供多个安全性层
相关申请案
本申请案主张标题为“用于为由外部存储提供者进行的文件存储提供多个安全性层的系统及方法(Systems and Methods for Providing Multiple Layers of Securityto File Storage by an External Storage Provider)”且于2011年5月20日提出申请的第61/488,598号美国临时申请案的优先权,所述临时申请案特此以全文引用的方式并入本文。
背景技术
用于文件存储的软件即服务解决方案(SaaS)(也称为在“云”中提供的存储解决方案)可用于为用户、公司或其它实体(例如,云存储客户)提供存储服务,而不需要所述云存储客户购买存储硬件。举例来说,公司或其它企业可为用以提供可由所述公司或其它企业的连接到因特网的任何成员(例如,员工)存取的灵活存储容量的基于云的文件存储解决方案而向外部存储提供者支付。
发明内容
本发明的特征可普遍适用于其中跨越若干个计算实体(例如,计算装置、存储媒体元件等)需要多个安全性层的任何情形。特定来说,本发明可在其中需要跨越两个或两个以上计算实体管理多个安全性层的任何情形中提供企业网络内的益处。在某些所描述的实施例中,本发明提供借以可实施一个安全性层以管理及加密数据文件而不同安全性层可管理及加密用于所述数据文件的存储位置的系统及方法的实例。
在一个方面中,本发明描述一种方法,其可包含由计算装置的处理器检测关于文件到外部存储提供者的发射的网络通信。所述方法可包含由所述处理器致使加密所述文件以获得经加密文件,并由所述处理器使授权信息与所述经加密文件相关联。所述授权信息可包含对存取所述经加密文件的一个或一个以上限制。所述方法可包含将所述经加密文件发射到所述外部存储提供者,并由所述处理器截取对存取所述文件的请求。所述方法可包含由所述处理器识别关于与所述请求相关联的请求者的请求者信息,并由所述处理器使用所述请求者信息及所述授权信息的一部分确定所述请求者被授权存取所述经加密文件。所述方法可包含由所述处理器致使解密所述经加密文件以获得所述原始文件,并由所述处理器将对所述原始文件的存取提供到所述请求者。
所述授权信息可包含观众类别。所述授权信息可包含存取列表。所述方法可包含在将所述经加密文件发射到所述外部存储提供者之前,致使加密加密密钥以获得经加密的加密密钥,其中将所述经加密的加密密钥发射到所述外部存储提供者。致使解密所述经加密文件可包含由所述处理器致使解密所述经加密的加密密钥以获得所述原始加密密钥并由所述处理器致使使用所述原始加密密钥来解密所述经加密文件。
使授权信息与所述经加密文件相关联可包含将授权信息添加到所述经加密文件的元数据部分。确定所述请求者被授权存取所述经加密文件可包含存取在所述经加密文件的所述元数据部分中的所述授权信息并将所述请求者信息与所述授权信息进行参考。所述方法可包含将存取所述文件的所述请求发射到所述外部存储提供者。确定所述请求者被授权存取所述经加密文件可在发射存取所述文件的所述请求之前发生。
检测关于所述文件的发射的所述网络通信可包含截取在企业网络内始发的所述网络通信,其中所述计算装置形成所述企业网络的一部分,且所述企业网络相对于第二网络为私用的。发射所述经加密文件可包含跨越所述第二网络将所述经加密文件发射到所述外部存储提供者。所述方法可包含由所述处理器监视所述企业网络内的业务。
所述方法可包含由所述处理器确定所述经加密文件的存储位置,其中所述存储位置可包含由所述外部存储提供者管理的位置。所述方法可包含由所述处理器致使加密所述存储位置。致使加密所述存储位置可包含指令在第二计算装置上执行的进程加密所述存储位置,其中所述外部存储提供者包含所述第二计算装置。
提供对所述原始文件的存取可包含将文件指示符提供到所述请求者,其中所述文件指示符可包含所述原始文件的位置。所述方法可包含由所述处理器安装虚拟磁盘卷,其中所述原始文件的所述位置包含所述虚拟磁盘卷上的位置。
在一个方面中,本发明描述一种系统,其包含处理器及上面存储指令的存储器,其中所述指令在执行时可致使所述处理器检测关于文件到外部存储提供者的发射的网络通信并致使加密所述文件以获得经加密文件。所述指令在执行时可致使所述处理器使授权信息与所述经加密文件相关联。所述授权信息可包含对存取所述经加密文件的一个或一个以上限制。所述指令在执行时可致使所述处理器将所述经加密文件发射到所述外部存储提供者并截取对存取所述文件的请求。所述指令在执行时可致使所述处理器识别关于与所述请求相关联的请求者的请求者信息并由使用所述请求者信息及所述授权信息的一部分确定所述请求者被授权存取所述经加密文件。所述指令在执行时可致使所述处理器解密所述经加密文件以获得所述原始文件并将对所述原始文件的存取提供到所述请求者。
在一个方面中,本发明描述一种上面存储有指令的非暂时计算机可读媒体,所述指令在执行时可致使处理器检测关于文件到外部存储提供者的发射的网络通信并致使加密所述文件以获得经加密文件。所述指令在执行时可致使所述处理器使授权信息与所述经加密文件相关联。所述授权信息可包含对存取所述经加密文件的一个或一个以上限制。所述指令在执行时可致使所述处理器将所述经加密文件发射到所述外部存储提供者并截取对存取所述文件的请求。所述指令在执行时可致使所述处理器识别关于与所述请求相关联的请求者的请求者信息并由使用所述请求者信息及所述授权信息的一部分确定所述请求者被授权存取所述经加密文件。所述指令在执行时可致使所述处理器解密所述经加密文件以获得所述原始文件并将对所述原始文件的存取提供到所述请求者。
在一个方面中,本发明描述一种方法,其可包含由计算装置的处理器在私用网络内检测关于文件的发射的网络通信。所述网络通信可能是已在所述私用网络内始发的。所述网络通信可包含外部存储提供者的目的地地址,其中第二网络包含所述外部存储提供者,且所述第二网络在所述私用网络之外。所述方法可包含由所述处理器致使加密所述文件以获得经加密文件,由所述处理器确定待与所述经加密文件相关联的加密密钥密,并将所述经加密文件及所述加密密钥发射到所述外部存储提供者。
在一个方面中,本发明描述一种系统,其包含处理器及上面存储指令的存储器,其中所述指令在执行时可致使所述处理器在私用网络内检测关于文件的发射的网络通信。所述网络通信可能是已在所述私用网络内始发的。所述网络通信可包含外部存储提供者的目的地地址,其中第二网络包含所述外部存储提供者,且所述第二网络在所述私用网络之外。所述指令在执行时可致使所述处理器加密所述文件以获得经加密文件,确定待与所述经加密文件相关联的加密密钥密,并将所述经加密文件及所述加密密钥发射到所述外部存储提供者。
所述指令在执行时可进一步致使所述处理器在发射所述经加密文件及所述加密密钥之前使用共享密钥来加密所述加密密钥。所述指令在执行时可进一步致使所述处理器使授权信息与所述经加密文件相关联,其中所述授权信息包含对存取所述经加密文件的一个或一个以上限制。
在一个方面中,本发明描述一种上面存储有指令的非暂时计算机可读媒体,所述指令在执行时可致使处理器在私用网络内检测关于文件的发射的网络通信。所述网络通信可能是已在所述私用网络内始发的。所述网络通信可包含外部存储提供者的目的地地址,其中第二网络包含所述外部存储提供者,且所述第二网络在所述私用网络之外。所述指令在执行时可致使所述处理器加密所述文件以获得经加密文件,确定待与所述经加密文件相关联的加密密钥密,并将所述经加密文件及所述加密密钥发射到所述外部存储提供者。
在一个方面中,本发明描述一种方法,其可包含由计算装置的处理器从与外部存储提供者相关联的进程截取对存取文件的请求。所述文件可存储于私用网络内,且在所述私用网络之外的第二网络可包含所述外部存储提供者。所述方法可包含由所述处理器将请求者识别为具有对所述文件的仅加密存取。所述方法可包含由所述处理器将验证信息指派给所述文件,其中所述验证信息可包含对存取所述文件的一个或一个以上限制。所述方法可包含由所述处理器致使加密所述文件以获得经加密文件,其中所述文件是使用第一加密密钥加密的。所述方法可包含由所述处理器将所述验证信息的指示添加到所述经加密文件。所述方法可包含由所述处理器致使加密第二加密密钥以获得经加密的加密密钥,其中所述第二加密密钥是使用共享密钥加密的。所述方法可包含由所述处理器将所述经加密文件及所述经加密的加密密钥提供到所述请求者。
在一个方面中,本发明描述一种系统,其包含处理器及上面存储指令的存储器,其中所述指令在执行时可致使所述处理器从与外部存储提供者相关联的进程截取对存取文件的请求。所述文件可存储于私用网络内,且在所述私用网络之外的第二网络可包含所述外部存储提供者。所述指令在执行时可致使所述处理器将请求者识别为具有对所述文件的仅加密存取。所述指令在执行时可致使所述处理器将验证信息指派给所述文件,其中所述验证信息可包含对存取所述文件的一个或一个以上限制。所述指令在执行时可致使所述处理器致使加密所述文件以获得经加密文件,其中所述文件是使用第一加密密钥加密的。所述指令在执行时可致使所述处理器将所述验证信息的指示添加到所述经加密文件。所述指令在执行时可致使所述处理器致使加密第二加密密钥以获得经加密的加密密钥,其中所述第二加密密钥是使用共享密钥加密的。所述指令在执行时可致使所述处理器将所述经加密文件及所述经加密的加密密钥提供到所述请求者。
在一个方面中,本发明描述一种上面存储有指令的非暂时计算机可读媒体,所述指令在执行时可致使处理器从与外部存储提供者相关联的进程截取对存取文件的请求。所述文件可存储于私用网络内,且在所述私用网络之外的第二网络可包含所述外部存储提供者。所述指令在执行时可致使所述处理器将请求者识别为具有对所述文件的仅加密存取。所述指令在执行时可致使所述处理器将验证信息指派给所述文件,其中所述验证信息可包含对存取所述文件的一个或一个以上限制。所述指令在执行时可致使所述处理器致使加密所述文件以获得经加密文件,其中所述文件是使用第一加密密钥加密的。所述指令在执行时可致使所述处理器将所述验证信息的指示添加到所述经加密文件。所述指令在执行时可致使所述处理器致使加密第二加密密钥以获得经加密的加密密钥,其中所述第二加密密钥是使用共享密钥加密的。所述指令在执行时可致使所述处理器将所述经加密文件及所述经加密的加密密钥提供到所述请求者。所述第一加密密钥可为所述第二加密密钥。
附图说明
通过参考结合附图进行的以下详细描述,本发明的前述及其它目标、方面、特征及优点将变得更显而易见及更好理解,附图中:
图lA到1C是描绘包含连接到外部存储提供者的企业网络中的客户端机器的网络环境的实施例的框图;
图1D是描绘网络环境的实施例的框图;
图1E到1F是描绘计算机的实施例的框图;
图2A到2F是描绘用于安全处置发射到外部存储提供者的数据的实施例的框图;
图3A到3B是描绘用于在发射之前使数据安全的方法的实施例的流程图;
图3C到3D是描绘用于在发射之前通过一过程使数据安全的方法的实施例的过程图;
图4A到4B是描绘用于从外部存储提供者检索安全的数据的方法的实施例的流程图;
图4C到4D是描绘用于从外部存储提供者检索安全的数据的方法的实施例的过程图;
图5A是描绘加密过程的实施例的过程图;
图5B是描绘经加密数据的各种实施例的过程图;
图6A到6C是描绘加密及解密过程的过程图;
图7是描绘用于为由外部存储提供者进行的文件存储提供安全性的安全数据管理器的实施例的框图;
图8A到8B是描绘用于为由外部存储提供者进行的文件存储提供安全性的涉及加密及解密的方法的流程图;
图8C到8D是描绘用于为由外部存储提供者进行的文件存储提供安全性的涉及加密及解密的方法的过程图;
图9A是验证用户以存取由外部存储提供者存储的安全的文件的系统的实施例的过程图;
图9B是描绘用于由外部存储提供者进一步加密安全的文件的系统的实施例的过程图;
图10A到10C是描绘用于为数据存储提供多个安全性层的系统的实施例的过程图;
图11是描绘用于为数据存储提供多个安全性层的方法的流程图。
结合图式依据下文所阐述的详细描述,本发明的特征及优点将变得更显而易见,其中在通篇中相似参考字符识别对应元件。在图式中,相似参考编号一般指示相同、功能上类似的及/或结构上类似的元件。
具体实施方式
为了阅读下文对各种实施例的描述,以下对说明书的各章节及其相应内容的描述可为有帮助的:
-章节A描述对于实践本文中所描述的实施例可为有用的各种实例加密方案及标准;
-章节B描述对于实践本文中所描述的实施例可为有用的实例网络环境及计算环境;
-章节C描述用于安全处置由同步程序存取的数据的实例系统及方法;
-章节D描述用于为数据存储(包含由外部存储提供者进行的数据存储)提供多个安全性层的实例系统及方法。
A.加密方案及标准
此章节描述可与本发明的系统及方法一起使用的多种加密方案、标准、协议或功能。
在本说明书通篇中,提及“散列函数”、“散列”或“散列运算”。这些术语是指代接收数据作为输入且响应于所述输入而提供给定输出的任何程序或数学函数。所述输出可称为散列值或可称为消息摘要。散列的输出可为单一数据或整数。散列的输出可为固定大小的位串。散列函数可依赖于一个或一个以上密钥来实现所述散列运算。此项技术中已知的散列函数的实例包含MD2(消息-摘要算法)、MD4、MD5、SHA-0(安全散列算法)、SHA-1、SHA-2、GOST、HAVAL、PANAM、RadioGatun、RIPEMD、Tiger及WHIRLPOOL。
在本说明书通篇中,提及“公用密钥”及“公用密钥加密”。这些术语是指代用于将数据变换成可仅由既定接收方或观众解译的形式的任何方法。公用密钥加密方法可涉及使用其中用于加密数据的密钥不同于用于解密数据的密钥的不对称密钥算法。此允许广泛地共享借以加密所述数据的密钥,即,“公用密钥”。可维持安全性的完整性,因为借以解密经加密信息的单独密钥保持为私密的。私密密钥还可称为私用密钥,且公用密钥与对应私用密钥的组合可称为公用-私用密钥对。因此,公用密钥加密未必需要一个或一个以上私密密钥的安全初始交换。不对称密钥实施方案的实例包含DSS、RSA加密算法、PGP、因特网密钥交换、ZRTP、SSH、SSL、TLS及SILC。
应理解,在本发明通篇中,在使用或公开公用密钥或公用密钥加密的情况下,人们还可替代地使用任何其它形式的加密来成功地实施本文中所揭示的系统及方法,包含私用密钥加密或任何其它形式的加密。
在本说明书通篇中,提及加密。加密可指代用于从经解译形式变换数据并通过一过程来使其安全的任何手段,所述过程使所述数据变得无法由除具有用以解密经加密数据的手段的人以外的任何人解译。加密可指代各种各样的加密标准及技术,包含私用密钥及公用密钥加密。可经由实施口令、密钥或两者的组合的系统来实现加密及解密。加密方案可包含其中在力图加密数据的一方与力图解密数据的一方之间交换私密密钥的对称密钥加密方案。此些方案还可称为“共享私密”或“预共享”加密方案。此些加密方案的实例可包含高级加密标准、Blowfish、Twofish、Serpent、CASTS、RC4、3DES及IDEA。
应理解,在本发明通篇中,在使用或公开对称密钥、共享私密加密或任何其它形式的加密的情况下,人们还可替代地使用任何其它形式的加密来成功地实施本文中所揭示的系统及方法,包含公用密钥加密或任何其它形式的加密。
在本说明书通篇中,出于加密或解密的目的,可提及“共享密钥”或“对密钥进行共享”。共享密钥是可在特定用户群组之间共享的密钥。共享密钥可为在任何类型或形式的加密方案或标准中使用的任何类型或形式的密钥。在一些实施例中,共享密钥可对于特定文件是唯一的或可与仅单一用户、应用程序或进程加以共享。在一些实施例中,共享密钥可为不对称私用/公用密钥对。
B.网络及计算环境
现在参考图1A,描绘网络环境的实施例。简短地概述,所述网络环境可包含一个或一个以上客户端机器10及20(一般也称为本地机器、客户端、客户端节点、客户端机器、客户端计算机、客户端装置、端点或端点节点),其经由一个或一个以上网络150与一个或一个以上远程机器30、30’及30”(一般也称为服务器30或远程机器30)通信。远程机器30可共同创建服务器场38。在一些实施方案中,可将客户端机器10及20视为企业网络的一部分。在一些实施例中,远程机器30、30’、30”或38可为企业网络上的机器10、20提供外部存储。
现在参考图1B,描绘网络环境的实施例。简短地概述,所述网络环境可包含一个或一个以上客户端机器10、15及20(一般也称为本地机器、客户端、客户端节点、客户端机器、客户端计算机、客户端装置、端点或端点节点),其经由一个或一个以上网络150且通过企业网络上的机器18与一个或一个以上远程机器30、30’及30”(一般也称为服务器30或远程机器30)通信。
在一些实施方案中,机器18可为企业网络上的服务器,其提供在本发明中别处所描述的安全数据管理器。在一些实施方案中,机器18也可为几乎与客户端机器10、15或20一样的计算装置。在一些实施方案中,机器18可为媒介网络装置或服务器,例如代理服务器或防火墙服务器。
现在参考图1C,展示与图1B的网络环境类似的网络环境。在一些实施例中,机器18可与已安装到企业网络上且与远程机器30通信的虚拟磁盘卷40通信。在一个实施例中,虚拟磁盘卷40可为由外部存储提供者存储于远程机器30上的外部所存储信息的位置的识别符。举例来说,所述识别符可存储于企业网络内的任一机器(包含机器18、企业网络中的某一其它计算装置或服务器(例如,客户端机器10、15或20))上或者企业网络内的两个或两个以上服务器或计算装置上。
在一些实施例中,虚拟磁盘卷40可用于存取由外部存储提供者存储于远程机器30上的数据。在一些实施例中,虚拟磁盘卷40可位于客户端机器(例如,客户端机器10、15及20中的一者)、网络150上的节点、媒介机器18处或者企业网络上的任何其它装置或机器上。
在一些实施例中,企业网络可为例如公司内联网的局域网(LAN)或能够通过单一实体或企业使之安全并由其控制的其它网络。在一些实施方案中,局域网可横跨各种各样的地理位置且可通过此项技术中已知的若干种技术(例如,虚拟私用联网)延伸到远程用户。在一些实施例中,外部存储提供者可为在企业网络外部的针对文件、数据及通信的存储服务的任何提供者。
在一些实施例中,外部存储提供者可在控制企业网络的同一实体内。在一些实施例中,远程机器30可为企业网络的一部分。在一些实施例中,远程机器30可在物理上存在于与企业网络的其它组件相同的位置处。
在一些实施例中,网络150可为例如公用因特网或万维网的广域网(WAN)或能够连接企业网络与外部存储提供者的其它网络。在一些实施例中,网络150可为私用网络。
网络150可为任何类型及/或形式的网络且在一些实例中可包含以下各项中的任一者:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传送模式)网络、SONET(同步光学网络)网络、SDH(同步数字体系)网络、无线网络及有线网络。在一些实施例中,网络150可包含无线链路,例如红外信道或卫星频带。在一些实施例中,网络150的拓扑可为总线、星形或环形网络拓扑。网络150可为所属领域的技术人员已知的能够支持本文中所描述的操作的任何此类网络拓扑。在一些实施例中,网络150可包含利用用于在移动装置当中通信的任何协议(包含AMPS、TDMA、CDMA、GSM、GPRS或UMTS)的移动电话网络。在一些实施例中,可经由不同协议发射不同类型的数据。在其它实施例中,可经由不同协议发射相同类型的数据。
在一些实施例中,所述系统可包含多个在逻辑上分组的远程机器30。在这些实施例中的一者中,远程机器的逻辑群组可称为服务器场38。在这些实施例中的另一者中,远程机器30、30’及30”可在地理上分散。在其它实施例中,可将服务器场38作为单一实体来管理。在又一些实施例中,服务器场38可包含两个或两个以上服务器场。在一些实施例中,每一服务器场内的远程机器30可为异构的—所述远程机器中的一者或一者以上可根据一种类型的操作系统平台(例如,NT、2003、2008、7及服务器2008R2,所有这些均由华盛顿雷德蒙德的微软公司(MicrosoftCorp.of Redmond,Washington)制造)进行操作,而其它远程机器30中的一者或一者以上可根据另一类型的操作系统平台(例如,或LinuxTM)或任何其它操作系统平台进行操作。
在一些实施例中,每一服务器场38的远程机器30可不需要在物理上接近于同一服务器场38中的另一远程机器30’。因此,在一些实施例中,可使用广域网(WAN)连接或城域网(MAN)连接来互连在逻辑上分组为服务器场38的远程机器30的群组。举例来说,服务器场38可包含在物理上位于不同大陆或一大陆、国家、州、城市、校园或房间的不同区域中的远程机器30。在一些实施例中,如果使用局域网(LAN)连接或某一形式的直接连接来连接服务器场38中的远程机器30,那么可增加远程机器30之间的数据发射速度。
在一个实施例中,远程机器30在企业网络外部提供数据存储服务。在一些实例中,这些数据存储服务可包含数据存储、文件存储、通信存储、备份存储、归档存储、冗余存储或任何其它形式的存储。在一些实施例中,这些数据存储服务可使用多种不同协议(包含发射控制协议及因特网协议(TCP/IP))来发射及接收数据。在一些实施例中,远程机器30可提供例如以下各项的外部存储服务:由加利福尼亚州旧金山的Dropbox有限公司(Dropbox,Inc.of San Francisco,CA)提供的DropboxTM服务;由加利福尼亚州帕洛阿尔托的Box.net有限公司(Box.net,Inc.of Palo Alto,CA)提供的Box.net服务;由加利福尼亚州圣马特奥的Sugarsync有限公司(Sugarsync,Inc.of San Mateo,CA)提供的服务;由马萨诸塞州霍普金顿的EMC公司(EMC Co.of Hopkinton,MA)提供的服务;由马萨诸塞州波士顿的Carbonite有限公司(Carbonite,Inc.of Boston,MA)提供的服务;由加利福尼亚州伯林盖姆的Zecter有限公司(Zecter,Inc.of Burlingame,CA)提供的ZumoDrive服务;由华盛顿雷德蒙德的微软公司提供的SkyDrive服务;及由加利福尼亚州库比蒂诺的苹果有限公司(Apple Inc.of Cupertino,CA)提供的MobileMe服务。
在一些实施例中,客户端机器10、15或20可执行、操作或以其它方式提供可为任何类型及/或形式的软件、程序或可执行指令的应用程序,例如任何类型及/或形式的web浏览器、基于web的客户端、客户端-服务器应用程序、瘦型客户端计算客户端、ActiveX控件或JavaTM小应用程序或者能够在客户端机器10、15或20上执行的任何其它类型及/或形式的可执行指令。在一些实施例中,所述应用程序可为基于服务器的应用程序或代表本地机器10在特定远程机器30上执行的基于远程的应用程序。在其它实施例中,远程机器30可使用任何瘦型客户端协议、呈现层协议或远程显示协议向本地机器10显示输出,所述协议例如为由佛罗里达州劳德代尔堡的思杰系统有限公司(Citrix Systems,Inc.of Ft.Lauderdale,Florida)制造的独立计算架构协议;由华盛顿雷德蒙德的微软公司制造的远程桌面协议(RDP);X11协议;由AT&T贝尔实验室(AT&T Bell Labs)制造的虚拟网络计算(VNC)协议;由美国加利福尼亚州森尼维耳及以色列赖阿南纳的Qumranet有限公司(Qumranet,Inc.,of Sunnyvale,CA,USA,and of Raanana,Israel)制造的用于独立计算环境的简单协议(SPICE);由加利福尼亚州苗必达的VESA(VESA,of Milpitas,CA)制造的Net2Display协议;由哥伦比亚省本拿比的Teradici公司(Teradici Corporation,of Burnaby,B.C.)制造的经由IP的PC(PCoIP)协议;由加利福尼亚州圣何塞的Wyse技术有限公司(WyseTechnology,Inc.,of San Jose,CA)制造的TCX协议;由纽约州(NY)的纽约市哥伦比亚大学(Columbia University in the City of New York,of New York,NY)开发的THINC协议;或由马萨诸塞州切姆斯福德的Desktone有限公司(Desktone,Inc.,of Chelmsford,MA)制造的Virtual-DTM协议。所述应用程序可使用任何类型的协议且其可为(举例来说)超文本传送协议(HTTP)客户端、文件传送协议(FTP)客户端、纽约州纽约市的AOL的实时通信开放系统(OSCAR)客户端或远程登录(Telnet)客户端。在又一些实施例中,所述应用程序可包含与经由因特网协议的话音(VoIP)通信相关的任何类型的软件,例如软IP电话。在进一步实施例中,所述应用程序可包含与实时数据通信相关的任何应用程序,例如用于流式传输视频及/或音频的应用程序。
在一些实例中,计算装置10、15或20可为任何工作站、桌上型计算机、膝上型或笔记本型计算机、服务器、手持式计算机、移动电话或其它便携式电信装置、媒体播放装置、游戏系统、移动计算装置或者能够通信且具有充足处理器能力及存储器容量以执行本文中所描述的操作的任何其它类型及/或形式的计算、电信或媒体装置。在一些实施例中,客户端机器10可为移动计算装置,例如智能电话或平板计算机,包含例如以下各项的产品:由加利福尼亚州库比蒂诺的苹果有限公司制造的iPhoneTM或iPadTM;由加拿大安大略省滑铁卢的动态研究有限公司(Research in Motion,Ltd.of Waterloo,Ontario,Canada)制造的装置;由华盛顿雷德蒙德的微软公司制造的Windows MobileTM装置;由伊利诺斯州利伯蒂维尔的摩托罗拉有限公司(Motorolla,Inc.of Libertyville,IL)制造的能够运行由加利福尼亚州山景城的谷歌有限公司(Google,Inc.of MountainView,CA)提供的AndroidTM平台的装置;及任何其它类型的移动计算装置。
在一些实施例中,计算装置10可具有与所述装置一致的不同处理器、操作系统及输入装置。举例来说,在一个实施例中,计算装置10可为由Palm有限公司制造的TreoTM180、270、600、650、680、700p、700w/wx、750、755p、800w、CentroTM或TreoTMPro智能电话。在这些实施例中的一些实施例中,TreoTM智能电话可在Palm OS操作系统的控制下操作且可包含手写笔输入装置以及五向导航器装置。
在其它实施例中,计算装置10可为例如以下各项的移动装置:具有JavaTM能力的蜂窝式电话或个人数字助理(PDA),例如i55sr、i58sr、i85s、i88s、i90c、i95c1、i335、i365、i570、1576、i580、i615、i760、i836、i850、i870、i880、i920、i930、ic502、ic602、ic902、i776或im1100(所有这些均由伊利诺斯州绍姆堡的摩托罗拉公司制造);由日本京都京瓷公司(Kyocera of Kyoto,Japan)制造的6035或7135;或者由韩国首尔的三星电子有限公司(Samsung Electronics Co.,Ltd.,of Seoul,Korea)制造的i300或i330。在一些实施例中,计算装置10可为由芬兰的诺基亚公司(Nokia of Finland)或由瑞典隆德的索尼爱立信移动通信AB(Sony Ericsson Mobile Communications AB of Lund,Sweden)制造的移动装置。
在又一些实施例中,计算装置10可为手持式或智能电话,例如由动态研究有限公司制造的装置,包含7100系列、8700系列、7700系列、7200系列、Blackberry 7520、PearlTM8100、8700系列、8800系列、Storm、Bold、Curve 8900及PearlTMFlip。在再一些实施例中,计算装置10可为智能电话、袖珍型PC、袖珍型PC电话或支持 移动软件的其它手持式移动装置。此外,在一些实施例中,计算装置10可为任何工作站、桌上型计算机、膝上型或笔记本型计算机、服务器、手持式计算机、移动电话、任何其它计算机或能够通信且具有充足处理器能力及存储器容量以执行本文中所描述的操作的其它形式的计算或电信装置。
现在参考图1D,描绘网络环境的实施例。简短地概述,所述网络环境可包含一个或一个以上本地机器102a-102n(一般也称为本地机器102、客户端102、客户端节点102、客户端机器102、客户端计算机102、客户端装置102、端点102或端点节点102),其经由一个或一个以上网络104与一个或一个以上远程机器106a-106n(一般也称为服务器106或远程机器106)通信。在一些实施例中,本地机器102中的一者或一者以上可具有充当力图存取由服务器提供的资源的客户端节点及为其它客户端102a-102n提供对所托管资源的存取的服务器两者的能力。
虽然图1D展示本地机器102与远程机器106之间的网络104,但在一些实施例中,本地机器102及远程机器106可在同一网络104上。在一些实例中,网络104可为例如公司内联网、城域网(MAN)的局域网(LAN)或者例如因特网或万维网的广域网(WAN)。在一些实施例中,在本地机器102与远程机器106之间可存在多个网络104。在这些实施例中的一者中,第二网络(未展示)可为私用网络且网络104可为公用网络。在这些实施例中的另一者中,网络104可为私用网络且第二网络可为公用网络。在又一实施例中,网络104及第二网络两者均可为私用网络。在再一实施例中,网络104及第二网络两者均可为公用网络。
网络104可为任何类型及/或形式的网络且在一些实例中可包含以下各项中的任一者:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、异步传送模式(ATM)网络、同步光学网络(SONET)网络、同步数字体系(SDH)网络、无线网络及有线网络。在一些实施例中,网络104可包含无线链路,例如红外信道或卫星频带。网络104的拓扑可为总线、星形或环形网络拓扑。网络104可为所属领域的技术人员已知的能够支持本文中所描述的操作的任何此类网络拓扑。网络104可包含利用用于在移动装置当中通信的任何协议的移动电话网络,所述协议包含高级移动电话服务(AMPS)、时分多址(TDMA)、码分多址(CDMA)、全球移动通信系统(GSM)、通用分组无线电服务(GPRS)或通用移动电信系统(UMTS)。在一些实施例中,可经由不同协议发射不同类型的数据。在其它实施例中,可经由不同协议发射相同类型的数据。
在一些实施例中,所述系统可包含多个在逻辑上分组的远程机器106。在这些实施例中的一者中,远程机器106的逻辑群组可称为服务器场。在这些实施例中的另一者中,远程机器106可在地理上分散。在其它实施例中,可将服务器场作为单一实体来管理。在又一些实施例中,服务器场可包含若干个服务器场。在一些实施例中,每一服务器场内的远程机器106可为异构的—远程机器106中的一者或一者以上可根据一种类型的操作系统平台(例如,NT、2003、2008、7及服务器2008R2,所有这些均由华盛顿雷德蒙德的微软公司制造)进行操作,而其它远程机器106中的一者或一者以上可根据另一类型的操作系统平台(例如,或LinuxTM)进行操作。
在一些实施例中,每一服务器场的远程机器106可不需要在物理上接近于同一服务器场中的另一远程机器106。因此,在一些实例中,可使用广域网(WAN)连接或城域网(MAN)连接来互连在逻辑上分组为服务器场的远程机器106的群组。举例来说,服务器场(例如,例如相对于图1A到1C所图解说明的服务器场38)可包含在物理上位于不同大陆或一大陆、国家、州、城市、校园或房间的不同区域中的远程机器106。在一些实施例中,如果使用局域网(LAN)连接或某一形式的直接连接来连接服务器场38中的远程机器106,那么可增加远程机器106之间的数据发射速度。
在一些实例中,远程机器106中的至少一者可为文件服务器、应用程序服务器、web服务器、代理服务器、器具、网络器具、网关、应用程序网关、网关服务器、虚拟化服务器、部署服务器、安全套接层(SSL)虚拟私用网络(VPN)服务器或防火墙。在一些实施例中,远程机器106中的至少一者可提供远程验证拨入用户服务且(举例来说)可称为远程验证拨入用户服务(RADIUS)服务器。在其它实施例中,远程机器106中的至少一者可具有充当应用程序服务器或主控应用程序服务器的能力。在又一些实施例中,远程机器106中的至少一者可为刀片式服务器。在再一些实施例中,远程机器106中的至少一者可作为向用户或者客户端计算机102中的一者或一者以上提供对计算环境的存取的虚拟机器而执行。
在一个实施例中,远程机器106中的至少一者可包含活动目录。举例来说,远程机器106中的至少一者可为应用程序加速器具。对于其中远程机器106中的至少一者为应用程序加速器具的实施例,特定远程机器106可提供包含防火墙功能性、应用程序防火墙功能性或负载平衡功能性的功能性。在一些实施例中,远程机器106中的至少一者可包含例如由以下各者制造的器具系列中的一者的器具:加利福尼亚州圣何塞的思杰应用程序联网集团(Citrix Application Networking Group,of San Jose,CA),或加利福尼亚州山景城的银峰系统有限公司(Silver Peak Systems,Inc.,of Mountain View,CA),或加利福尼亚州旧金山的河床技术有限公司(Riverbed Technology,Inc.,of San Francisco,CA),或华盛顿西雅图的F5网络有限公司(F5Networks,Inc.,of Seattle,WA),或加利福尼亚州森尼维耳的杜松网络有限公司(Juniper Networks,Inc.,of Sunnyvale,CA)。
在一些实施例中,远程机器106中的至少一者可代表本地机器102中的一者的用户而执行应用程序。在其它实施例中,远程机器106中的至少一者可作为虚拟机器而执行,其提供应用程序代表本地机器102中的一者的用户在其内执行的执行会话。在这些实施例中的一者中,所述执行会话可为经托管桌面会话。在这些实施例中的另一者中,所述执行会话可提供对计算环境的存取,计算环境可包含以下各项中的一者或一者以上:一应用程序、两个或两个以上应用程序、桌面应用程序及一个或一个以上应用程序可在其中执行的桌面会话。
在一些实施例中,至少一个本地机器102可与至少一个远程机器106通信。在一个实施例中,特定本地机器102可与服务器场(例如,例如相对于图1A到1C所描述的服务器场38)中的远程机器106中的一者直接通信。在另一实施例中,特定本地机器102可执行程序邻域应用程序以与服务器场中的特定远程机器106通信。在又一实施例中,特定远程机器106可提供主控节点的功能性。在一些实施例中,特定本地机器102可通过网络104与服务器场中的特定远程机器106通信。在一些实施方案中,经由网络104,特定本地机器102可(举例来说)请求由服务器场中的远程机器106a-106n托管的各种应用程序的执行并接收应用程序执行的结果的输出以供显示。在一些实施例中,仅主控节点提供识别并提供与托管所请求应用程序的特定远程机器106b相关联的地址信息所需的功能性。
在一个实施例中,远程机器106中的至少一者可提供web服务器的功能性。在另一实施例中,远程机器106a可从本地机器102中的一者接收请求、将所述请求转发到第二远程机器106b并用来自远程机器106b的对特定本地机器102的请求的响应对所述请求做出响应。在又一实施例中,远程机器106a可获取本地机器102可用的应用程序的枚举及与托管由所述应用程序枚举识别的应用程序的远程机器106b相关联的地址信息。在再一实施例中,远程机器106a可使用web接口向特定本地机器102呈现对请求的响应。在一个实施例中,本地机器102中的至少一者可与远程机器106a直接通信以存取所识别应用程序。在另一实施例中,本地机器102中的至少一者可接收由所识别应用程序在远程机器106a上的执行产生的输出数据,例如显示数据。
在一些实施例中,远程机器106中的至少一者或包含远程机器106中的两者或两者以上的服务器场可运行一个或一个以上应用程序,例如提供瘦型客户端计算或远程显示呈现应用程序的应用程序。在一个实施例中,远程机器106中的至少一者或包含远程机器106中的两者或两者以上的服务器场可作为思杰系统有限公司的CITRIX ACCESS SUITE的任何部分的应用程序执行,例如METAFRAME或CITRIX PRESENTATION SERVER产品;由思杰系统有限公司制造的以下产品中的任一者:CITRIX XENAPP、CITRIX XENDESKTOP、CITRIX ACCESSGATEWAY;及/或由微软公司制造的终端服务中的任一者。在另一实施例中,所述应用程序可为由佛罗里达州劳德代尔堡的思杰系统有限公司开发的ICA客户端。在又一实施例中,远程机器106中的至少一者可运行应用程序,举例来说,所述至少一者可为提供电子邮件服务(例如由华盛顿雷德蒙德的微软公司制造的交换)应用程序服务器、Web或因特网服务器或桌面共享服务器或协同服务器。在再一实施例中,所述应用程序中的任一者可包含任何类型的经托管服务或产品,例如由加利福尼亚州圣巴巴拉的思杰在线部门有限公司(Citrix Online Division,Inc.of Santa Barbara,California)提供的GoToMeetingTM、由加利福尼亚州圣克拉拉的WebEx公司提供的WebExTM或由华盛顿雷德蒙德的微软公司提供的Office Live Meeting。
本地机器102中的一者或一者以上可执行、操作或以其它方式提供应用程序,所述应用程序可为任何类型及/或形式的软件、程序或可执行指令,例如任何类型及/或形式的web浏览器、基于web的客户端、客户端-服务器应用程序、瘦型客户端计算客户端、ActiveX控件或JavaTM小应用程序或者能够在本地机器102中的一者上执行的任何其它类型及/或形式的可执行指令。在一些实施例中,所述应用程序可为基于服务器的应用程序或代表特定本地机器102在特定远程机器106上执行的基于远程的应用程序。在其它实施例中,远程机器106中的至少一者可使用任何瘦型客户端协议、呈现层协议或远程显示协议向本地机器102中的一者显示输出,所述协议例如为由佛罗里达州劳德代尔堡的思杰系统有限公司制造的独立计算架构(ICA)协议;由华盛顿雷德蒙德的微软公司制造的远程桌面协议(RDP);X11协议;由AT&T贝尔实验室制造的虚拟网络计算(VNC)协议;由美国加利福尼亚州森尼维耳及以色列赖阿南纳的Qumranet有限公司制造的SPICE协议;由加利福尼亚州苗必达的VESA制造的Net2Display协议;由哥伦比亚省本拿比的Teradici公司制造的经由IP的PC协议;由加利福尼亚州圣何塞的Wyse技术有限公司制造的TCX协议;由纽约州(NY)的纽约市哥伦比亚大学开发的THINC协议;或由马萨诸塞州切姆斯福德的Desktone有限公司制造的Virtual-D协议。所述应用程序可使用任何类型的协议且其可为(举例来说)HTTP客户端、FTP客户端、Oscar客户端或远程登录客户端。在又一些实施例中,所述应用程序可包含与经由因特网协议的话音(VoIP)通信相关的任何类型的软件,例如软IP电话。在进一步实施例中,所述应用程序可包含与实时数据通信相关的任何应用程序,例如用于流式传输视频及/或音频的应用程序。
本地机器102及远程机器106可部署为任何类型及形式的计算装置及/或在任何类型及形式的计算装置上执行,例如计算机、网络装置或能够在任何类型及形式的网络上通信且执行本文中所描述的操作的器具。图1E及1F描绘对于实践本地机器102或远程机器106的实施例有用的实例计算装置100的框图。如图1E及1F中所展示,每一计算装置100可包含中央处理单元121及主存储器单元122。如图1E中所展示,计算装置100可包含存储装置128、安装装置116、网络接口118、I/O控制器123、显示装置124a-n、键盘126及指向装置127(例如鼠标、轨迹球、触摸垫或手写笔)。存储装置128可包含而不限于操作系统132、软件134及客户端代理120。如图1F中所展示,每一计算装置100还可包含额外操作元件,例如存储器端口103、桥接器170、一个或一个以上输入/输出装置130a、130b(一般使用参考编号130来指代)及与中央处理单元121通信的高速缓冲存储器140。
中央处理单元121可表示对从主存储器单元122提取的指令做出响应并处理所述指令的任何逻辑电路。在许多实施例中,中央处理单元121可由微处理器单元提供,在一些实例中例如为:由加利福尼亚州山景城的英特尔公司(Intel Corporation of MountainView,California)制造的微处理器单元;由伊利斯诺州绍姆堡的摩托罗拉公司制造的微处理器单元;由加利福尼亚州圣克拉拉的全美达公司(Transmeta Corporation of SantaClara,California)制造的微处理器单元;RS/6000处理器,即由纽约州白原市的国际商用机器公司(International Business Machines of White Plains,New York)制造的微处理器单元;或由加利福尼亚州森尼维耳的高级微型装置公司(Advanced Micro Devices ofSunnyvale,California)制造的微处理器单元。计算装置100可基于这些处理器中的任一者或能够如本文中所描述而操作的任何其它处理器。
主存储器单元122可包含能够存储数据并允许任何存储位置由微处理器121直接存取的一个或一个以上存储器芯片,在一些实例中,例如为静态随机存取存储器(SRAM)、突发式SRAM或同步突发式SRAM(BSRAM)、动态随机存取存储器(DRAM)、快速页模式DRAM(FPMDRAM)、增强型DRAM(EDRAM)、扩展数据输出RAM(EDO RAM)、扩展数据输出DRAM(EDO DRAM)、突发式扩展数据输出DRAM(BEDO DRAM)、增强型DRAM(EDRAM)、同步DRAM(SDRAM)、JEDECSRAM、PC100SDRAM、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、Direct Rambus DRAM(DRDRAM)或铁电RAM(FRAM)。主存储器122可基于上述存储器芯片中的任一者,或者能够如本文中所描述而操作的任何其它可用存储器芯片。在图1E中所展示的实施例中,处理器121可经由系统总线150(下文更详细地描述)与主存储器122通信。图1F描绘计算装置100的实施例,其中处理器121可经由存储器端口103与主存储器122直接通信。举例来说,在图1F中,主存储器122可为DRDRAM。
图1F描绘其中主处理器121可经由次级总线(有时称为背面总线)与高速缓冲存储器140直接通信的实施例。在其它实施例中,主处理器121使用系统总线150与高速缓冲存储器140通信。高速缓冲存储器140通常具有比主存储器122更快的响应时间且通常可由SRAM、BSRAM或EDRAM提供。在图1E中所展示的实施例中,处理器121可经由局部系统总线150与各种I/O装置130通信。可使用各种总线将中央处理单元121连接到I/O装置130中的任一者,包含VESA VL总线、ISA总线、EISA总线、微信道架构(MCA)总线、PCI总线、PCI-X总线、PCI-Express总线或NuBus。对于其中显示装置124中的至少一者为视频显示器124a的实施例,处理器121可使用高级图形端口(AGP)与视频显示器124a通信。如图1F中所图解说明,在一些实施例中,计算机100的主处理器121可经由HYPERTRANSPORT、RAPIDIO或INFINIBAND通信技术与I/O装置130b直接通信。图1F还描绘其中混合了局部总线与直接通信的实施例。举例来说,如图1F中所图解说明,处理器121可使用局部互连总线与I/O装置130a通信,而直接与I/O装置130b通信。
计算装置100中可存在各种各样的I/O装置130a-130n。在一些实例中,输入装置可包含键盘、鼠标、轨迹垫、轨迹球、麦克风及绘图板。在一些实例中,输出装置可包含视频显示器、扬声器、喷墨打印机、激光打印机及染料升华打印机。在一些实施例中,如图1E中所展示,I/O控制器123可控制I/O装置130。I/O控制器123可控制一个或一个以上I/O装置130,例如键盘126及指向装置127(例如,鼠标或光学笔)。此外,在一些实施方案中,I/O装置130中的至少一者可为计算装置100提供存储及/或安装媒体(例如,例如安装装置116)。在又一些实施例中,计算装置100可提供用以接纳手持式USB存储装置(例如由加利福尼亚州洛斯阿拉米托斯的双技术公司(Twintech Industry,Inc.of Los Alamitos,California)制造的通用串行总线(USB)快闪驱动器装置系列)的USB连接(未展示)。
再次参考图1E,计算装置100可支持任何适合安装装置116,在一些实例中,例如为:用于接纳软盘(例如3.5英寸、5.25英寸磁盘或ZIP磁盘)的软盘驱动器、CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB装置、硬盘驱动器或适合于安装软件及程序的任何其它装置。在一些实施例中,计算装置100可进一步包含存储装置128(例如一个或一个以上硬盘驱动器或独立磁盘冗余阵列),其用于存储操作系统132及其它相关软件134且用于存储应用软件程序(例如与客户端代理120相关的任何程序)。在一些实施例中,安装装置116中的任一者也可用作存储装置128。另外,在一些实施方案中,可从可启动媒体(举例来说,可启动CD,例如KNOPPIX、用于可作为从knoppix.net的GNU/Linux分布获得的针对GNU/Linux的可启动CD)运行操作系统132及软件134。
此外,在一些实施例中,计算装置100可包含用以介接到网络(例如相对于图1A到1D所描述的网络104)的网络接口118。在一些实施方案中,网络接口118可通过多种连接与所述网络介接,包含但不限于:标准电话线、LAN或WAN链路(例如,802.11、Ti、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如,ISDN、帧中继、ATM、千兆位以太网、经由SONET的以太网)、无线连接或以上各项中的任一者或全部的某一组合。在一些实施方案中,可使用多种通信协议(例如,TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、RS232、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、CDMA、GSM、WiMax及直接异步连接)在网络接口118与网络之间建立连接。在一个实施例中,计算装置100可经由任何类型及/或形式的网关或隧道协议(例如安全套接层(SSL)或输送层安全性(TLS)或由佛罗里达州劳德代尔堡的思杰系统有限公司制造的思杰网关协议)与其它计算装置通信。在一些实例中,网络接口118可包含内置式网络适配器、网络接口卡、PCMCIA网络卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适合于将计算装置100介接到任何类型的网络的能够通信且执行本文中所描述的操作的任何其它装置。
在一些实施例中,计算装置100可包含或连接到各自可具有相同或不同类型及/或形式的多个显示装置124a-124n。如此,I/O装置130a-130n中的任一者及/或I/O控制器123可包含任何类型及/或形式的适合硬件、软件或硬件与软件的组合来支持、实现或提供多个显示装置124a-124n的连接及计算装置100对多个显示装置124a-124n的使用。举例来说,计算装置100可包含任何类型及/或形式的视频适配器、视频卡、驱动器及/或程序库以介接、通信、连接或以其它方式使用显示装置124a-124n。在一个实施例中,视频适配器可包含用以介接到多个显示装置124a-124n的多个连接器。在其它实施例中,计算装置100可包含多个视频适配器,其中每一视频适配器连接到显示装置124a-124n中的一者或一者以上。在一些实施例中,计算装置100的操作系统132的任何部分可经配置以使用多个显示器124a-124n。在其它实施例中,显示装置124a-124n中的一者或一者以上可由(举例来说)经由网络连接到计算装置100的一个或一个以上其它计算装置提供。这些实施例可包含经设计及构造以使用另一计算机的显示装置作为计算装置100的第二显示装置的任何类型的软件。所属领域的技术人员将认识到及了解计算装置100可经配置以具有多个显示装置124a-124n的各种方式及实施例。
在进一步实施例中,I/O装置130中的一者可为系统总线150与外部通信总线之间的桥接器,所述外部通信总线例如为USB总线、苹果桌面总线、RS-232串行连接、SCSI总线、火线总线、火线800总线、以太网总线、AppleTalk总线、千兆位以太网总线、异步传送模式总线、HIPPI总线、超级HIPPI总线、SerialPlus总线、SCl/LAMP总线、光纤信道总线或串行附接小型计算机系统接口总线。
图1E及1F中所描绘的种类的计算装置100可通常在操作系统132的控制下进行操作,操作系统132控制任务的调度及对系统资源的存取。计算装置100可运行任何操作系统,在一些实例中,例如为:操作系统的各版本中的任一者、及LinuxTM操作系统的不同版本、麦金塔(Macintosh)计算机的MAC OS的任何版本、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、移动计算装置的任何操作系统或能够在计算装置100上运行且执行本文中所描述的操作的任何其它操作系统。典型的操作系统包含但不限于:3.x、95、98、2000、NT 3.51、NT 4.0、7、CE、XP及VISTA,所有这些均由华盛顿雷德蒙德的微软公司制造;由加利福尼亚州库比蒂诺的苹果公司制造的MAC OS;由纽约州阿蒙克的国际商用机器公司制造的OS/2;及Linux,由犹他州盐湖城的卡尔德拉公司(Caldera Corp.of Salt Lake City,Utah)分布的可免费获得的操作系统,或者任何类型及/或形式的操作系统以及其它操作系统。
在一些实例中,计算装置100可为任何工作站、桌上型计算机、膝上型或笔记本型计算机、服务器、手持式计算机、移动电话或其它便携式电信装置、媒体播放装置、游戏系统、移动计算装置或能够通信且具有充足处理器能力及存储器容量以执行本文中所描述的操作的任何其它类型及/或形式的计算、电信或媒体装置。举例来说,计算装置100可包含由加利福尼亚州库比蒂诺的苹果有限公司制造的IPOD装置系列中的装置、由日本东京的索尼公司制造的PLAYSTATION 2、PLAYSTATION 3或PERSONAL PLAYSTATION PORTABLE(PSP)装置、由日本京都的任天堂有线公司(Nintendo Co.,Ltd.,of Kyoto,Japan)制造的NINTENDODS、NINTENDO GAMEBOY、NINTENDO GAMEBOY ADVANCED或NINTENDO REVOLUTION装置或者由华盛顿雷德蒙德的微软公司制造的XBOX或XBOX 360装置。
在一些实施例中,计算装置100可具有与装置100一致的不同处理器、操作系统及输入装置。举例来说,在一个实施例中,计算装置100可为由Palm有限公司制造的TREO 180、270、600、650、680、700p、700w/wx、750、755p、800w、Centro或Pro智能电话。在这些实施例中的一些实施例中,TREO智能电话可在PalmOS操作系统的控制下操作且可包含手写笔输入装置以及五向导航器装置。
在其它实施例中,计算装置100可为例如以下各项的移动装置:具有JavaTM能力的蜂窝式电话或个人数字助理(PDA),例如i55sr、i58sr、i85s、i88s、i90c、i95c1、i335、i365、i570、1576、i580、i615、i760、i836、i850、i870、i880、i920、i930、ic502、ic602、ic902、i776或im1100(所有这些均由伊利诺斯州绍姆堡的摩托罗拉公司制造);由日本京都京瓷公司制造的6035或7135;或由韩国首尔的三星电子有限公司制造的i300或i330。在一些实施例中,计算装置100可为由芬兰的诺基亚公司或由瑞典隆德的索尼爱立信移动通信AB制造的移动装置。
在又一些实施例中,计算装置100可为Blackberry手持式或智能电话,例如由动态研究有限公司制造的装置,包含Blackberry 7100系列、8700系列、7700系列、7200系列、Blackberry 7520、Blackberry PEARL 8100、8700系列、8800系列、Blackberry Storm、Blackberry Bold、Blackberry Curve 8900及Blackberry Pear Flip。在又一些实施例中,计算装置100可为智能电话、袖珍型PC、袖珍型PC电话或支持Microsoft Windows移动软件的其它手持式移动装置。此外,计算装置100可为任何工作站、桌上型计算机、膝上型或笔记本型计算机、服务器、手持式计算机、移动电话、任何其它计算机或能够通信且具有充足处理器能力及存储器容量以执行本文中所描述的操作的其它形式的计算或电信装置。
在一些实施例中,计算装置100可为数字音频播放器。在这些实施例中的一者中,计算装置100可为例如由加利福尼亚州库比蒂诺的苹果公司制造的Apple IPOD、IPODTouch、IPOD NANO及IPOD SHUFFLE装置系列的数字音频播放器。在这些实施例中的另一者中,所述数字音频播放器可充当便携式媒体播放器及大容量存储装置两者。在其它实施例中,计算装置100可为例如由新泽西州里奇菲尔德帕克的美国三星电子公司(SamsungElectronics America,of Ridgefield Park,NJ)制造的DigitalAudioPlayer Select MP3播放器或由伊利斯诺州绍姆堡制造的Motorola m500或m25数字音频播放器的数字音频播放器。在又一些实施例中,计算装置100可为例如由创造技术有限公司(CreativeTechnologies Ltd)制造的Zen Vision W、Zen Vision系列、Zen Portable Media Center装置或数字MP3系列的MP3播放器的便携式媒体播放器。在再一些实施例中,计算装置100可为支持包含但不限于以下各项的文件格式的便携式媒体播放器或数字音频播放器:MP3、WAV、M4A/AAC、WMA Protected AAC、AIFF、有声读物、苹果无损音频文件格式及.mov、.m4v及.mp4MPEG-4(H.264/MPEG-4AVC)视频文件格式。
在一些实施例中,计算装置100可包含装置的组合,例如移动电话与数字音频播放器或便携式媒体播放器的组合。在这些实施例中的一者中,举例来说,计算装置100可为Motorola RAZR或Motorola ROKR系列的组合式数字音频播放器及移动电话。在这些实施例中的另一者中,计算装置100可为由加利福尼亚州库比蒂诺的苹果有限公司制造的iPhone智能电话系列中的装置。
在一个实施例中,计算装置100可向远程计算装置请求资源,同时向另一计算装置(例如,客户端)提供远程计算装置的功能性。在此实施例中,计算装置100可相对于从远程计算装置(其可称为服务器)接收的数据称为客户端,且计算装置100可相对于远程计算装置称为服务器。在另一实施例中,计算装置100可代表计算装置100的用户向远程计算装置请求资源。
任何计算装置、计算装置的组合、经联网计算装置的组合、一个或若干服务器或服务器场或其组合可称为由特定计算实体组成。
C.为文件存储同步程序提供安全性
现在参考图2A,描绘用以使由进程存取的数据的处置安全的系统的实施例。简短地概述,在一些实施例中,客户端机器10可包含进程21、安全性代理22及数据文件23。在一些实施例中,进程21可起始存取数据文件23的请求25。在一些实施例中,安全性代理22可截取请求25并加密数据文件23。在一些实施例中,安全性代理22可接着将数据文件23的经加密版本提供26到进程21。在一些实施例中,进程21可将数据文件23的经加密版本发射27到网络150以供发射到外部存储提供者30。
数据文件23可为能够存储于计算系统上的任何数据文件。在一些实例中,数据文件23可为文本文档、数据汇编、电子表格、图像、影片文件、日志文件或任何其它类型的计算机文件。在一个实施例中,数据文件23是未加密的。在一些实施例中,数据文件23可为经加密文件。
在一些实施例中,数据文件23可为文件集合。举例来说,数据文件23可为包含多个文件的目录的表示。在另一实例中,数据文件23可为包含若干个文件的归档文件,例如.zip归档文件。
在一些实施方案中,数据文件23不需要存储于客户端机器10上,而是可存储于客户端机器10可存取的任何位置中。在一些实施例中,数据文件23可存储于网络位置、外部硬盘驱动器、CD-ROM、软盘驱动器、USB快闪驱动器或可存取装置处。
在一个实施例中,安全性代理22可为在客户端机器10上运行的独立应用程序。在一些实施例中,安全性代理22可为较大应用程序的子进程。在一些实施例中,安全性代理22可与若干个其它组件(例如集中式服务24)或若干个其它数据库、密钥存储装置、网络监视设备或验证服务器通信。
在一些实施例中,安全性代理22可不在客户端机器10上运行,而是可在不同计算装置(举例来说,经由网络150连接到客户端机器10的计算装置)上运行。
在一些实施例中,安全性代理22可作为等待检测进程21对文件的请求的监听进程而操作。在一些实施例中,安全性代理22可接着触发无论是位于客户端机器10上还是网络150上别处的额外进程或子进程以实现安全性代理22的功能,包含加密。
在一些实施例中,安全性代理22可确定特定程序、进程、应用程序或用户是“可信的”还是“不可信的”。也就是说,安全性代理22可确定是否允许特定程序、进程、应用程序或用户对数据文件23的仅加密存取。举例来说,可允许可信进程在不加密的情况下对数据文件23的完全存取。举例来说,可允许不可信进程对数据文件23的仅加密存取。
进程21可为尝试存取文件23的任何进程。在一些实例中,进程21可为不可信或可信进程。在一些实例中,进程21可为在客户端机器10上运行的独立应用程序,或其可为较大进程的组件或子进程。在一些实施例中,进程21可为由外部存储提供者30提供的进程。
在一个实施例中,进程21可为由加利福尼亚州旧金山的Dropbox有限公司提供的客户端侧DropboxTM应用程序。在一些实施例中,进程21可不由外部存储提供者30提供。在其它实施例中,进程21可为由华盛顿雷德蒙德的微软公司提供的Outlook应用程序。在其它实施例中,进程21可为由加利福尼亚州旧金山的Dropbox有限公司提供的客户端应用程序;由加利福尼亚州帕洛阿尔托的Box.net有限公司提供的Box.net服务;由加利福尼亚州圣马特奥的Sugarsync有限公司提供的服务;由马萨诸塞州霍普金顿的EMC公司提供的服务;由马萨诸塞州波士顿的Carbonite有限公司提供的服务;由加利福尼亚州伯林盖姆的Zecter有限公司提供的ZumoDrive服务;由华盛顿雷德蒙德的微软公司提供的SkyDrive服务;及由加利福尼亚州库比蒂诺的苹果公司提供的MobileMe服务。在一些实施例中,进程21可为不由外部存储提供者30提供而是与外部存储提供者30通信的应用程序。
在一个实施例中,进程21可为尝试使客户端机器10可存取的文件与存储于外部存储提供者30上的文件同步的同步进程。
在一个实施例中,进程21可在客户端机器10上运行。在一些实施例中,进程21可在客户端机器10可经由网络150存取的不同机器上运行。
现在参考图2B,描绘用于存取由外部存储提供者30存储的安全的数据的实施例。简短地概述,在一些实施例中,用户35可起始对由外部存储提供者30存储的经加密文件31的请求28。在一些实施例中,进程21可代表用户35向外部存储提供者30请求29经加密文件31。在一些实施例中,安全性代理22可截取对经加密文件31的请求28。在一些实施例中,安全性代理22可确定用户35是否被授权存取经加密文件31,举例来说,通过咨询集中式服务24。如果被授权,那么在一些实施例中,安全性代理22可解密经加密文件31并将经加密文件31的经解密版本提供32到用户35。
在一个实施例中,集中式服务24可为可由客户端机器10存取的进程。举例来说,集中式服务24可为在服务器或网络150中的其它机器上运行的进程。在一些实施例中,集中式服务24可为在客户端机器10上运行的进程。在其它实施例中,集中式服务24可为在客户端机器10及网络150上的其它机器两者上运行的进程的组合。
在一些实施例中,安全性代理22可咨询集中式服务24而做出关于应用程序、进程或机器是否被授权存取经加密文件31的确定。
现在参考图2C,描绘用以使由进程存取的数据的处置安全的系统的实施例。简短地概述,在一些实施例中,进程21可做出存取数据文件23的请求25。在一些实施例中,安全性代理22可截取请求25。在一些实施例中,安全性代理22可与集中式服务24及用于观众类别信息33的存储位置36通信。在一些实施例中,安全性代理22可与存储位置36直接通信。在其它实施例中,安全性代理22可与存储位置36进行间接或外部(例如,网络)通信。在一些实施方案中,安全性代理22可存取存储位置36以获得与数据文件23相关的观众类别信息33。在一些实施例中,安全性代理22可给数据文件23指派观众类别并加密数据文件23。在一些实施方案中,安全性代理22可将数据文件23的经加密版本提供26到进程21以供经由网络150发射27到外部存储提供者30。
在一些实施方案中,观众类别可为被允许存取特定文件的用户群组的任何指示符。在一些实施方案中,可将观众类别映射到运行企业网络(例如包含客户端机器10的企业网络)的实体的组织结构。在一些实施方案中,还可根据在组织、群组中的特定职务、角色、根据地理位置或通过任何其它度量来分解观众类别。举例来说,一些观众可为“个人”、“行政人员”、“公司范围”或“公众”。在一些实施方案中,观众类别可为由一个或一个以上单独软件应用程序维持的用户群组,例如由华盛顿雷德蒙德的微软公司所提供的交换服务器维持的用户群组。在一些实施方案中,观众类别可选自若干个预定观众类别。
现在参考图2D,描绘用于存取由外部存储提供者存储的安全的数据的实施例。在一些实施方案中,用户35可经由进程21起始对经加密文件31的请求32。在一些实施方案中,安全性代理22可截取请求32并咨询集中式服务24及观众类别信息33而确定用户35是否属于指派给经加密文件31的观众类别。如果用户35属于所指派观众类别,那么在一些实施方案中可解密经加密文件31并将其提供32到用户35。在一些实施方案中,安全性代理22可解密经加密文件31。在其它实施方案中,(举例来说)经由网络150与外部存储提供者30通信的进程可解密经加密文件31。在其它实施方案中,(举例来说)经由网络150与安全性代理22通信或在与客户端机器10相同的企业网络内的进程可解密经加密文件31。举例来说,外部存储提供者30可跨越网络150将经加密文件31发射29到客户端机器10或在与客户端机器10相同的企业网络中的另一机器,且可在企业网络内解密经加密文件31。
现在参考图2E,描绘用以使由进程存取的数据的处置安全的系统的实施例。简短地概述,在一些实施方案中,安全性代理22可截取进程21对数据文件23的请求25。在一些实施方案中,安全性代理22可将数据文件23的识别符添加到存取列表。在一些实施方案中,所述存取列表可存储于存储位置36中的存取列表信息34中。在一些实施方案中,安全性代理22可与存储位置36直接通信以存取存取列表信息34。在其它实施方案中,安全性代理22可与集中式服务24协商以获得存储位置36处的存取列表信息34的一部分。在一些实施方案中,安全性代理22可加密数据文件23并将数据文件23的经加密版本提供26到进程21以供经由网络150发射27到外部存储提供者30。
现在参考图2F,描绘用于存取由外部存储提供者存储的安全的数据的实施例。在一些实施方案中,用户35可经由进程21起始对由外部存储网络30存储的经加密文件31的请求28。在一些实施方案中,安全性代理22可截取请求28并通过咨询存储位置36处的存取列表信息34来确定用户35是否被授权存取经加密文件31。如果用户35被授权,那么在一些实施方案中,安全性代理22可解密经加密文件31并将经加密文件31的经解密版本提供32到用户35。
虽然相对于图2B、2D及2F所描述的各种实施例描述了关于用户35的授权,但在一些实施方案中,安全性代理22可基于对经加密数据文件31的请求28从经辨识公司、组织、企业网络、LAN、MAN或其它可辨识实体始发而确定是否满足所述请求。在一些实例中,可通过网络地址(例如,因特网协议地址或媒体存取控制(MAC)地址等)或网络地址范围、机器安全性识别符(SID)或其它唯一识别符来辨识实体。在一些实施方案中,用户或实体可随请求28一起提供唯一识别符,且安全性代理22可部分地基于对所述唯一识别符的辨识而对用户或实体进行授权。在一些实例中,唯一识别符可包含MAC地址、网络会话识别符、电子邮件地址、用户识别符及口令或唯一安全性代码。在一些实施方案中,可将唯一识别符作为经加密信息提供到安全性代理22。
现在参考图3A,描绘用于安全处置由不可信进程存取的数据的方法301的实施例。在一些实施方案中,方法301可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法301的一个或一个以上步骤。
在一些实施方案中,方法301可以接收存取文件的请求开始(312)。在一些实施方案中,所述请求可由不可信或未知进程或代表不可信或未知请求者而提交。在一些实施例中,所述请求可由半可信进程做出。举例来说,所述请求可从可信实体始发,但在验证或检验之前始发所述请求的个别计算装置或用户可受到怀疑。在其它实施例中,不可信进程存取文件的请求25可代表用户或代表另一进程或应用程序而做出。在一些实例中,所述请求可为执行方法301的客户端计算装置的本地请求、在企业网络上的两个客户端计算装置之间的请求或由在企业网络之外的其中执行方法301的计算装置起始的请求。举例来说,所述请求可经由因特网做出。在一些实施例中,所述请求可按预定调度或根据同步协议而做出。
在一些实施例中,正请求的文件可驻留于执行方法301的计算装置可本地存取的计算装置上。举例来说,所述文件可存储于包含于执行方法301的计算装置内或直接连接到所述计算装置的存储媒体中。在一些实施例中,所述文件可存储于企业网络中的服务器上,或所述文件可存储于在企业网络外部的服务器上。在一些实施方案中,所述文件可存储于经由因特网连接到客户端机器的计算装置上。在一些实施方案中,所述文件可存储于“云”中。
在一些实施方案中,可截取存取文件的请求(314)。在一些实施方案中,安全性代理(例如相对于图2A到2F所描述的安全性代理22)可截取存取文件的请求。在一些实施例中,安全性代理可通过作为等待正做出的请求并对所述请求做出响应的监听进程操作而截取所述请求。在一些实施例中,可通过经由媒介网络器具路由所有网络业务来实现截取请求。在一些实例中,截取可在客户端计算装置处、在企业网络中的某一其它计算装置上、在企业网络中的两个或两个以上计算装置上或在经由因特网连接的两个或两个以上计算装置上发生。
在一些实施方案中,可用加密密钥来加密文件(318)。在一些实施例中,安全性代理进程(例如相对于图2A到2F所描述的安全性代理22)可用加密密钥加密所述文件。在一些实施方案中,可针对正加密的文件产生唯一加密密钥。在一些实施例中,加密密钥可由单独进程或应用程序(例如相对于图2A到2F所描述的集中式服务24)管理。在其它实施例中,加密密钥可存储于与执行方法301的计算装置相同的企业网络中的机器上。举例来说,可从管理加密密钥的本地或远程计算装置使所述加密密钥可供安全性代理进程获得。在一些实施方案中,安全性代理可咨询远程定位的密钥存储装置或密钥引擎以便针对所述文件产生唯一密钥。在一些实施例中,加密密钥可由集中式服务(例如相对于图2A到2F所描述的集中式服务24)管理。在一些实施方案中,举例来说,在安全性代理22需求后,可即刻将一个或一个以上加密密钥从集中式服务24中继到安全性代理22。
在一些实施方案中,文件的加密可由执行过程301的计算装置执行,同时可在企业网络中的某一其它计算装置上、在企业网络中的两个或两个以上计算装置上或在连接到执行方法301的计算装置的一个或一个以上计算装置上对文件应用一个或一个以上加密算法。举例来说,可在可经由因特网从执行方法301的计算装置存取的第二计算装置上对文件应用一个或一个以上加密算法。
在一些实施方案中,可用共享密钥来加密所述加密密钥(320)。在一些实施例中,安全性代理(例如相对于图2A到2F所描述的安全性代理22)可通过使用企业网络的所有用户可用的共享密钥来用共享密钥加密所述加密密钥。在一些实施例中,共享密钥可由单独进程或计算装置(例如相对于图2A到2F所描述的集中式服务24)管理。在一些实施例中,共享密钥可为私用密钥。在其它实施例中,共享密钥可为公用密钥。在一些实施例中,共享密钥可为特定组的用户或特定组的应用程序或进程已知的密钥。在一些实施例中,共享密钥可一般为企业网络上的可信进程所已知。在一些实施方案中,加密密钥的加密可在执行方法301的计算装置处发生。在其它实施方案中,加密密钥的加密可部分地在企业网络中的某一其它计算装置上、在企业网络中的两个或两个以上计算装置上或在连接到执行方法301的计算装置的一个或一个以上计算装置上发生。举例来说,加密密钥的加密可部分地在经由因特网连接到执行方法301的计算装置的计算装置上发生。
在一些实施方案中,可将经加密文件提供到请求者(322)。在一些实施例中,可通过将经加密文件从一个进程发送到同一客户端机器上的另一进程而将经加密文件提供到请求者。在其它实施例中,可经由本地企业网络或经由因特网将文件提供到请求者。在一些实施方案中,并非将文件本身发送到请求者,而是可将所述文件的识别符提供到请求者。在一些实施方案中,所述识别符可识别可获得文件的位置。
现在参考图3B,描绘用于安全处置由不可信进程存取的数据的方法302的实施例。在一些实施方案中,方法302可由安全性代理进程或应用程序执行。在一些实施例中,举例来说如相对于图2A到2F所描述的安全性代理22可执行方法302的一个或一个以上步骤。由于方法302与相对于图3A所描述的方法301共享许多相同步骤,因此下文仅详细描述未相对于图3A描述的步骤。
在一些实施方案中,方法302可以接收存取文件的请求开始(312)。在一些实施方案中,可截取存取所述文件的请求(314)。
在一些实施例中,可给文件指派观众类别(316)。在一些实施方案中,安全性代理进程(例如相对于图2A到2F所描述的安全性代理22)可给所述文件指派观众类别。在一些实施方案中,两个或两个以上观众类别可适用于同一文件。举例来说,可给特定文件指派“管理者”的观众类别及“人力资源”的观众类别两者。在一些实施方案中,可基于文件信息而导出观众类别。举例来说,可使用文件识别符或其它文件元数据来确定待指派给文件的观众类别。
在一些实施方案中,关于一个或一个以上观众类别的信息可保持于在执行方法302的计算装置本地的存储装置中。举例来说,观众类别信息可存储于执行方法302的计算装置的存储器中或直接连接到执行方法302的计算装置的存储媒体中。在其它实施方案中,含有观众类别信息的存储媒体可由执行方法302的计算装置经由本地网络、企业网络或因特网来存取。在一些实施方案中,可参考单独进程(例如集中式服务)来确定文件的观众类别。举例来说,所述单独进程可为相对于图2A到2F所描述的集中式服务24。
在一些实施方案中,可用加密密钥来加密文件(318)。在一些实施方案中,可用共享密钥来加密所述加密密钥(320)。在一些实施方案中,可将用所指派观众类别加标签的经加密文件提供到请求者(326)。举例来说,可通过将所指派观众类别的指示包含在文件元数据内而用所述观众类别给文件加标签。在一些实施方案中,可与经加密文件分开地提供观众类别识别符,举例来说,在网络响应协议标头或额外网络协议响应通信内提供。如关于相对于图3A所描述的方法301的步骤322所描述,在一些实施例中,可通过将经加密文件从一个进程发送到同一客户端机器上的另一进程而将经加密文件提供到请求者。在其它实施例中,可经由本地企业网络或经由因特网将文件提供到请求者。在一些实施方案中,并非将文件本身发送到请求者,而是可将所述文件的识别符提供到请求者。
现在参考图3C,描绘用于安全处置由不可信进程存取的数据的方法303的实施例。在一些实施方案中,方法303可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法303的一个或一个以上步骤。由于方法303与相对于图3A及3B所描述的方法301及302共享许多相同步骤,因此下文仅详细描述未相对于图3A及3B描述的步骤。
在一些实施方案中,方法303可以从接收存取文件的请求开始(312)。在一些实施方案中,可截取存取所述文件的请求(314)。在一些实施方案中,做出关于请求者是否限制于仅加密存取的确定(315)。在一些实施方案中,请求者可被允许继续进行对所请求文件的经加密存取或被拒绝对所请求文件的任何存取。在其它实施方案中,可做出关于以下各项的确定:(a)请求者是否具有无加密存取(例如,允许在不加密的情况下进行),(b)文件是否将在存取之前经历加密,或(c)请求者是否将被拒绝存取。如果确定请求者具有仅加密存取,那么在一些实施方案中,可给文件指派观众类别(316)。在一些实施方案中,可用加密密钥来加密文件(318)。在一些实施方案中,可用共享密钥来加密所述加密密钥(320)。
在一些实施方案中,可用所指派观众类别给经加密文件及/或经加密的加密密钥加标签(321)。在一些实施方案中,安全性代理进程(例如相对于图2A到2F所描述的安全性代理22)可用所指派观众类别给经加密文件及/或经加密的加密密钥加标签。
在一些实施方案中,可确定经加密文件的当前文件类型是否指示所述文件为经加密文件(323)。举例来说,文件扩展名或文件元数据可指示经加密文件类型。
如果文件类型不指示文件被加密,那么在一些实施方案中,可将文件类型改变为指示文件被加密的文件类型(325)。举例来说,可将关于文件的文件扩展名改变为指示文件被加密的文件扩展名。
如果代替地文件类型已指示文件被加密,那么在一些实施方案中,可将用所指派观众类别加标签的经加密文件提供到请求者(326)。
现在参考图3D,描绘用于安全处置由不可信进程存取的数据的方法304的实施例。在一些实施方案中,方法304可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法304的一个或一个以上步骤。由于方法304与相对于图3A到3C所描述的方法301、302及303共享许多相同步骤,因此下文仅详细描述未相对于图3A到3C描述的步骤。
在一些实施方案中,方法304可以接收存取文件的请求开始(312)。在一些实施方案中,可截取存取所述文件的请求(314)。在一些实施方案中,可做出关于请求者是否限制于仅加密存取的确定(315)。
如果请求者限制于仅加密存取,那么在一些实施方案中,可将文件的识别符添加到存取列表(317)。举例来说,安全性代理22可将文件的识别符添加到在存储媒体中维持的存取列表。在一些实施方案中,所述存储媒体可与执行方法304的计算装置直接通信。举例来说,所述存取列表可维持于计算装置的存储器中或直接连接到将识别符添加到存取列表的计算装置的存储媒体中。在其它实施方案中,所述存取列表可维持于从执行方法304的计算装置远程定位的存储媒体中。在一些实例中,所述存取列表可由执行方法304的计算装置经由本地网络、企业网络或因特网存取。在一些实施方案中,单独进程可维持所述存取列表。举例来说,相对于图2A到2F所描述的安全性代理22可与相对于图2A到2F所描述的集中式服务24协商以用文件识别符更新所述存取列表。
在一些实施方案中,可用加密密钥来加密文件(318)。在一些实施方案中,可用共享密钥来加密所述加密密钥(320)。
在一些实施方案中,可确定经加密文件的当前文件类型是否指示所述文件为经加密文件(323)。如果文件类型不指示文件被加密,那么在一些实施方案中,可将文件类型改变为指示文件被加密的文件类型(325)。在一些实施方案中,可将用所指派观众类别加标签的经加密文件提供到请求者(326)。
现在参考图4A,描绘用于存取由外部存储提供者存储的安全数据的方法401的实施例。在一些实施方案中,方法401可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法401的一个或一个以上步骤。在一些实施方案中,方法401可用于提供对由如相对于图2A到2F所描述的外部存储提供者30存储的数据的安全存取。
在一些实施方案中,方法401可以接收存取经加标签文件的请求开始(412)。在一些实施方案中,所述请求可由不可信或未知进程或代表不可信或未知请求者而提交。在一些实施例中,所述请求可由半可信进程做出。举例来说,所述请求可从可信实体始发,但在验证或检验之前始发所述请求的个别计算装置或用户可受到怀疑。在其它实施例中,不可信进程存取文件的请求可代表用户或代表另一进程或应用程序而做出。在一些实例中,所述请求可为执行方法401的客户端计算装置的本地请求、在企业网络上的两个客户端计算装置之间的请求或由在企业网络之外的其中执行方法401的计算装置起始的请求。举例来说,所述请求可经由因特网做出。在一些实施例中,所述请求可按预定调度或根据同步协议而做出。
在一些实施例中,正请求的文件可驻留于可由执行方法401的计算装置本地存取的计算装置上。举例来说,所述文件可存储于包含于执行方法401的计算装置内或直接连接到所述计算装置的存储媒体中。在一些实施例中,所述文件可存储于企业网络中的服务器上,或所述文件可存储于在企业网络外部的服务器上。在一些实施方案中,所述文件可存储于经由因特网连接到客户端机器的计算装置上。在一些实施方案中,所述文件可存储于“云”中。在一些实施方案中,可通过将所指派观众类别的指示包含在文件元数据内而用所述观众类别给文件加标签。在一些实施方案中,观众类别识别符可与文件分开存储,举例来说,作为与存储位置相关联的元数据或可在文件识别符查找中获得。举例来说,可使用散列表机制来使文件识别符与观众类别标签匹配。
在一些实施方案中,可截取存取所述文件的请求(414)。在一些实施方案中,安全性代理(例如相对于图2A到2F所描述的安全性代理22)可截取存取文件的请求。在一些实施例中,安全性代理可通过作为等待正做出的请求并对所述请求做出响应的监听进程操作而截取所述请求。在一些实施例中,可通过经由媒介网络器具路由所有网络业务来实现截取请求。在一些实例中,截取可在客户端计算装置处、在企业网络中的某一其它计算装置上、在企业网络中的两个或两个以上计算装置上或在经由因特网连接的两个或两个以上计算装置上发生。
在一些实施方案中,可确定存取文件的用户授权(416)。在一些实施例中,用户授权可涉及确定特定应用程序或进程是否被授权存取文件。在一些实施例中,可存取观众类别数据库以获得关于具有对文件的不同存取等级的用户群组的信息。在一些实施例中,可存取存取列表以获得用户或用户群组与变化的对文件的存取等级之间的关联性。在一些实施例中,可咨询集中式服务(例如相对于图2A到2F所描述的集中式服务24)以获得关于存取列表及/或观众类别的信息。在一些实施例中,执行方法401的计算装置可与观众类别数据库或存取列表直接通信。举例来说,所述观众类别数据库或存取列表可维持于在执行方法401的计算装置的直接(例如,有线)或联网存取范围的存储媒体中。在一些实施例中,执行方法401的计算装置可具有本地可用的资源的一部分(例如,存取列表信息、观众类别数据库)以确定特定用户、应用程序或进程是否具有存取特定文件的授权。举例来说,执行方法401的计算装置可将存取列表信息存储于内部或直接连接的存储器区域内。
在一些实施方案中,可使用共享密钥来解密加密密钥(418)。在一些实施方案中,可使用加密密钥来加密文件,且继而可使用共享密钥来加密所述加密密钥。举例来说,相对于图3B所描述的方法302包含针对用加密密钥来加密文件(318)及使用共享密钥来加密所述加密密钥(320)的步骤。在一些实施例中,例如安全性代理22(例如,相对于图2A到2F所描述)的安全性代理可使用共享密钥解密与文件一起存储的加密密钥。在一些实施方案中,可在执行方法401的计算装置上提供一个或一个以上解密算法。在其它实施例中,可经由企业网络或经由因特网来实现一个或一个以上解密操作。
在一些实施例中,共享密钥可为私用密钥。在一些实施例中,共享密钥可为公用密钥。在一些实施例中,共享密钥可由集中式服务(例如相对于图2A到2F所描述的集中式服务24)管理。在一些实施例中,执行方法401的计算装置可与集中式服务或其它进程、数据库或资源通信以确定使用来自若干个可用密钥中的哪一密钥来解密经加密的加密密钥。在一些实施方案中,加密密钥可为针对特定经加密文件产生的唯一密钥。在一些实施方案中,加密密钥可由集中式服务管理或存储于密钥存储装置中。在一些实施方案中,执行方法401的计算装置可与密钥存储装置直接通信。在其它实施方案中,执行方法401的计算装置可经由集中式服务与密钥存储装置通信。
在一些实施例中,可使用加密密钥来解密文件(420)。在一些实施例中,安全性代理(例如相对于图2A到2F所描述的安全性代理22)可使用加密密钥来解密文件。在一些实施方案中,可在执行方法401的计算装置上提供一个或一个以上解密算法。在其它实施例中,可经由企业网络或经由因特网来实现一个或一个以上解密操作。
现在参考图4B,描绘用于存取由外部存储提供者存储的安全的数据的方法402的实施例。在一些实施方案中,方法402可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法402的一个或一个以上步骤。由于方法402与相对于图4A所描述的方法401共享许多相同步骤,因此下文仅详细描述未相对于图4A描述的步骤。
在一些实施方案中,方法402可以接收存取经加标签文件的请求开始(412)。在一些实施方案中,可截取存取所述文件的请求(414)。
在一些实施方案中,可确定请求者是否属于指派给所请求经加标签文件的观众类别(417)。在一些实施方案中,可存取观众类别信息以确定请求者是否属于在所请求文件的标签中识别的观众类别。在一些实施方案中,观众类别信息可维持于本地存储媒体中或执行方法402的计算装置可直接存取的远程存储媒体中。在其它实施方案中,可从单独计算装置存取观众类别信息。举例来说,如相对于图2A到2F所描述的集中式服务24可存取观众类别信息33并提供关于请求者是否属于指派给经加标签文件的观众类别的信息。
在一些实施方案中,可使用共享密钥来解密加密密钥(418)。可使用加密密钥来解密文件(420)。
现在参考图4C,描绘用于存取由外部存储提供者存储的安全的数据的方法403的实施例。在一些实施方案中,方法403可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法403的一个或一个以上步骤。由于方法403与相对于图4A及4B所描述的方法401及402共享许多相同步骤,因此下文仅详细描述未相对于图4A及4B描述的步骤。
在一些实施方案中,方法403可以接收存取经加标签文件的请求开始(412)。在一些实施方案中,可截取存取所述文件的请求(414)。
在一些实施方案中,可确定文件类型是否指示文件为经加密文件(415)。如果文件类型不指示文件被加密,那么可允许或可不允许请求者存取(413)。举例来说,如果请求者与可信企业或实体相关联,那么可为请求者提供对文件的存取。相反地,如果请求者隶属于不可信企业或实体或如果请求者以其它方式未被辨识,那么可不允许请求者对文件的存取。
如果代替地文件类型指示文件被加密(415),那么在一些实施方案中,可做出关于请求者是否属于指派给所请求经加标签文件的观众类别的确定(417)。如果确定请求者不属于指派给文件的观众类别(417),那么在一些实施方案中,可不允许由用户进行的存取(419)。在一些实施例中,有可能在加密文件并将文件发射到外部存储提供者且随后从外部存储提供者检索所述文件的过程中间改变特定观众类别的成员资格。在一些实施例中,将文件发射到外部存储提供者的用户则有可能稍后发现他或她本身不能够存取所述文件,举例来说,这是因为他或她可能已被从允许存取文件的观众类别移除。
相反地,如果确定请求者确实属于指派给文件的观众类别(417),那么在一些实施方案中,可使用共享密钥来解密加密密钥(418)。可使用加密密钥来解密文件(420)。
现在参考图4D,描绘用于存取由外部存储提供者存储的安全的数据的方法404的实施例。在一些实施方案中,方法404可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法404的一个或一个以上步骤。由于方法404与相对于图4A所描述的方法401、相对于图4B所描述的方法402及相对于图4C所描述的方法403共享许多相同步骤,因此下文仅详细描述未相对于图4A到4C描述的步骤。
在一些实施方案中,方法404可以接收存取经加标签文件的请求开始(412)。在一些实施方案中,可截取存取所述文件的请求(414)。在一些实施方案中,可确定文件类型是否指示文件为经加密文件(415)。如果文件类型不指示文件被加密,那么可允许或可不允许请求者存取(413)。
如果代替地文件类型指示文件被加密(415),那么在一些实施方案中,可通过咨询存取列表来做出关于请求者是否被授权存取文件的确定(421)。在一些实施例中,可根据文件的识别符来标引存取列表。在一些实施方案中,所述存取列表可包含与所述文件相关联的被允许存取的用户或用户群组的列表。在一些实施方案中,所述存取列表可包含被明确拒绝对文件的存取的用户或用户群组的列表。
如果确定请求者未被授权存取文件(421),那么在一些实施方案中,可不允许由用户进行的存取(419)。在一些实施例中,有可能在加密文件并将文件发射到外部存储提供者且随后检索所述文件的过程中间改变存取列表。在一些实施方案中,将文件发射到外部存储提供者的用户则有可能在稍后时间不能够存取所述文件。举例来说,用户可能已被从存取列表上的与特定文件识别符相关联的所允许用户的列表移除。
相反地,如果确定请求者确实属于指派给文件的存取列表(421),那么在一些实施方案中,可使用共享密钥来解密加密密钥(418)。在一些实施方案中,可使用加密密钥来解密文件(420)。
现在参考图5A,描绘加密过程的实施例。所述加密过程以数据文件23开始。在一些实施例中,可用加密密钥来加密数据文件23(318)。在一些实施例中,加密密钥可为针对数据文件23唯一产生的密钥。在一些实施例中,可接着用共享密钥加密所述加密密钥并与用加密密钥加密的文件一起分组(320)。在一些实施方案中,可将与数据文件23相关联的未经加密观众类别识别符与经加密的加密密钥及经加密文件分组在一起或用其“加标签”(321)。可以明文形式添加观众类别识别符,或可在添加之前以能够由安全性代理解译的方式对其进行散列运算。
在一些实施例中,在应用图5A中所描绘的过程之前,数据文件23本身可为经加密文件。
在一些实施例中,可通过将观众类别识别符添加到经加密文件的元数据来实现用观众类别识别符加标签。
现在参考图5B,描绘经加密文件及密钥的各种实施例。在第一描绘(510)中,经加密文件不包含观众类别识别符且包含经加密文件及经加密的加密密钥。在第二描绘(520)中,还已用共享密钥连同加密密钥加密观众类别识别符。在第三描绘(530)中,也已连同文件一起加密观众类别识别符。所属领域的技术人员将理解,所揭示的系统及方法可使用这些加密方案中的任一者以及其任何组合。此外,本发明涵盖此项技术中已知的许多其它合理的加密方案。
D.用于为由外部存储提供者进行的文件存储提供安全性的系统及方法
现在参考图6A,描绘用于使供发射到外部存储提供者的文件安全的系统的实施例。简短地概述,数据文件23可由客户端机器10存取。在一些实施方案中,可做出通过网络150将数据文件23发射到外部存储提供者的机器的尝试。在一些实施方案中,安全数据管理器41可检测发射并将数据文件23加密45成经加密文件31。在一些实施方案中,安全数据管理器41可接着经由网络150将经加密文件31发射到外部存储提供者(未图解说明)。
在一个实施例中,安全数据管理器41可在定位于企业网络的边缘处的计算装置(例如相对于图1B及1C所描述的媒介机器18)上运行。在其它实施例中,安全数据管理器41可在客户端机器或企业网络上的任何其它机器上运行。安全数据管理器41还可作为进程的组合而在若干个服务器、机器、媒介及客户端上运行。在一些实施例中,安全数据管理器41还可称为安全性组件或安全性代理。
在一些实施例中,可将由安全数据管理器41执行的加密45视为“即时”加密或“实时”加密,因为文件可在加密之后立即解密。在一些实施例中,可通过使用TrueCryptFoundation的TrueCrypt开源程序来实施即时加密。
现在参考图6B,描绘用于从外部存储提供者存取安全的文件的系统的实施例。在一些实施例中,可做出存取由外部存储提供者41存储的经加密文件31的请求。在一些实施方案中,可跨越网络150发布所述请求。在一些实施方案中,安全数据管理器41可截取所述请求并将经加密文件31解密55成未经加密数据文件23。在一些实施方案中,安全数据管理器41可将数据文件23发射到客户端机器10。
在一些实施例中,安全数据管理器41可确定尝试存取经加密文件31的特定用户、进程或实体是否被授权存取经加密文件31。在一些实施方案中,安全数据管理器41还可确定特定应用程序是否被授权存取经加密文件31。
在一个实施例中,安全数据管理器41可指派用于安装包含所存储经加密文件31的副本或表示的虚拟磁盘卷(未图解说明)的位置。所述虚拟磁盘卷可由安全数据管理器41或外部存储提供者(未图解说明)提供。在一些实施方案中,虚拟磁盘卷可为链接到外部存储提供者处的所存储文件的位置的网络目录。在一些实施方案中,虚拟磁盘卷可为提供对外部存储提供者的存储位置的存取的应用程序或进程。
在一些实施例中,由外部存储提供者存储的经加密文件31在虚拟磁盘卷上的表示可为链接、图标、屏幕截图、图像、虚拟副本或者使得能够存取由外部存储提供者存储的经加密文件31的任何其它表示或识别符。在一些实施方案中,表示可包含整个经加密文件31的简略预览副本。在一些实施方案中,经加密文件31的表示还可包含目录、目录识别符或目录的一部分。
在一些实施例中,存储于虚拟磁盘卷处的经加密文件的副本可为由安全数据管理器做出并维持的本地副本。虚拟磁盘驱动器上的本地副本还可由外部存储提供者做出并维持。出于同步的目的,可需要将本地副本维持在虚拟磁盘卷上,特别是在外部存储提供者正用作备份服务提供者的情况下。
现在参考图6C,描绘用于代表用户从外部存储提供者存取安全的文件的系统的实施例。简短地概述,在一些实施方案中,被授权存取位置的用户35可向已安装于所述位置处的虚拟磁盘卷40起始对由外部存储提供者(未图解说明)存储的经加密文件31的请求42。在一些实施方案中,安全数据管理器41可截取请求42并解密经加密文件31。安全数据管理器41可接着将经加密文件31的经解密版本提供56到用户35。
在一些实施例中,安全数据管理器41可确定尝试存取虚拟磁盘卷40上的特定位置的特定用户是否被授权存取所述位置。在一些实施方案中,安全数据管理器可确定特定应用程序是否被授权存取虚拟磁盘卷40上的特定位置。
在一些实施例中,将安装虚拟磁盘卷40的位置为网络安装位置。在一些实施例中,将安装虚拟磁盘卷40的位置还可为安全网络安装位置。
现在参考图7,描绘安全数据管理器的实施例。在一些实施例中,安全数据管理器41可包含密钥管理器模块801、监视模块802、安装模块803、验证模块804及加密模块805。在一些实施例中,密钥管理器模块801可与密钥存储装置811通信地操作。在一些实施例中,监视模块802可与企业网络810通信地操作。在一些实施例中,安装模块803可与安装于企业网络810上的各种位置处的虚拟磁盘卷40、40’、40”(其可在本文中统称为虚拟磁盘卷40)通信地操作。在一些实施方案中,验证模块804可与验证信息812的存储位置通信地操作。在一些实施方案中,加密模块805可与未经加密数据文件及经加密数据文件(例如未经加密数据文件23及经加密文件31)通信地操作。
在一个实施例中,安全数据管理器41的每一模块801、802、803、804及805可在企业网络810的边缘处的计算装置(例如相对于图1B及1C所描述的媒介机器18)上运行。在其它实施例中,安全数据管理器41可作为单一进程或作为多个进程在单一机器上或在两个或两个以上机器上运行。
在一些实施例中,安全数据管理器41的每一模块801、802、803、804及805可作为单一进程或作为多个进程在单一机器或若干个机器上运行。
在一个实施例中,密钥管理器模块801可负责指派及保持追踪由安全数据管理器41使用的加密密钥。
在一些实施例中,密钥管理器模块801可与可产生用以加密文件的加密密钥的密钥产生单元通信地操作。
在一个实施例中,监视模块802可负责监视企业网络810以及安全数据管理器41的使用。在一些实施方案中,监视模块802可追踪安全数据管理器41的使用且可产生关于安全数据管理器41的使用及企业网络810的报告及信息。
在一些实施例中,监视模块802可与审计系统(未图解说明)通信地操作。所述审计系统可用于进行审计及符合性检查的目的。
在一个实施例中,安装模块803可负责指派用于虚拟磁盘卷40的位置。在一些实施方案中,安装模块803可与验证模块804通信地操作,以便确定特定用户或应用程序是否被授权使用虚拟磁盘卷40上的各种位置。在一些实施例中,安装模块803可产生用于虚拟磁盘卷40的新位置。
在一个实施例中,验证模块804可负责验证特定用户或应用程序是否被授权存取特定虚拟磁盘卷40上的给定位置。在一些实施方案中,验证模块804可与提供验证信息812的数据库814通信地操作。在一些实施方案中,由验证模块804使用的验证信息812可为任何形式的验证信息,无论是观众类别信息、存取列表信息、群组信息、目录结构信息等。
在一些实施例中,验证模块804可负责确定特定用户或应用程序是否被授权存取给定经加密文件。
在一个实施例中,加密模块805可负责将数据文件23加密45成经加密文件31。加密模块805可使用此项技术中已知的任何形式的加密。在一些实施方案中,加密模块805可将标签或额外信息添加到与经加密文件31相关联的元数据。
在一些实施例中,安全数据管理器41可与集中式服务(例如相对于图2A到2F所描述的集中式服务24)通信地操作。举例来说,所述集中式服务可提供用于使外部存储提供者与若干个计算装置之间的文件传送安全的服务。
现在参考图8A,描绘用于使供发射到外部存储提供者的文件安全的方法901的实施例。在一些实施方案中,方法901可部分地由安全数据管理器(例如相对于图6A到6C及图7所描述的安全数据管理器41)执行。在一些实施方案中,方法901可以检测文件到外部存储提供者的发射开始(912)。在一些实施例中,安全数据管理器可通过作为等待文件到外部存储提供者的经尝试发射并对其做出响应的监听进程操作来检测文件到外部存储提供者的发射。在一些实施例中,安全数据管理器可在媒介网络机器上操作。在一些实施例中,可将所有因特网业务路由到能够检测文件到外部存储提供者的发射的特定网络节点。在一些实施例中,可在网络防火墙或其它网络器具处实现文件到外部存储提供者的发射的检测。在一些实施例中,文件到外部存储提供者的发射的检测可在客户端计算装置、企业网络上的一个或一个以上计算装置或可由网络经由因特网存取的一个或一个以上计算装置处发射。
在一些实施方案中,可加密文件(913)。在一些实施例中,安全数据管理器可通过利用针对加密文件具体产生的唯一加密密钥来加密所述文件。在一些实施方案中,可在媒介网络装置、企业网络上的任何计算装置、两个或两个以上计算装置或可经由因特网存取的一个或一个以上计算装置处加密文件。安全数据管理器可咨询集中式服务、密钥产生器、密钥存储装置、存取列表及观众类别数据库或任何其它验证或加密服务或资源而实现加密所述文件。
在一些实施例中,可将经加密文件发射到外部存储提供者(914)。在一些实施例中,安全数据管理器可通过经由因特网发射经加密文件而将经加密文件发射到外部存储提供者。在一些实施例中,安全数据管理器可通过向外部存储提供者发送将经加密文件上载到特定位置的请求而将经加密文件发射到外部存储提供者。在一些实施例中,经加密文件可暂时存储于客户端机器或企业网络上的某处,且可根据预定调度或同步协议将经加密文件发射到外部存储提供者。
在一些实施方案中,可指派用于安装由外部存储提供者公开的虚拟磁盘卷的位置(916)。在一些实施例中,安全数据管理器可指派用于安装包含所存储经加密文件的副本或表示的虚拟磁盘卷的位置。在一些实施例中,可通过使用在两个或两个以上操作系统上可用的网络安装协议来指派用于安装虚拟磁盘的位置。在一些实施例中,特定进程或应用程序可用作用于安装虚拟磁盘的网络驱动器。在其它实施例中,进程或应用程序可将由外部存储提供者存储的经加密文件的副本或表示提供到用户。
在一些实施方案中,可将虚拟磁盘卷安装到所指派位置(918)。在一些实施例中,安全数据管理器可将虚拟磁盘卷安装到所指派位置。在一些实施例中,可使用在两个或两个以上操作系统上可用的网络安装协议来安装虚拟磁盘卷。在一些实施例中,可通过运行用作网络驱动器的特定进程或应用程序来安装虚拟磁盘卷。在其它实施例中,可通过运行将由外部存储提供者存储的文件或由外部存储提供者存储的经加密文件的副本或表示提供到用户的进程或应用程序来安装虚拟磁盘卷。在一些实施例中,安装虚拟磁盘卷可指代通过任何手段使得由外部存储提供者存储的文件的副本或表示可供用户、进程或应用程序获得。可将虚拟磁盘卷安装于网络中的任何节点处、客户端机器、用户的膝上型计算机、网络驱动器或网络上由外部存储提供者存储的文件的副本或表示可位于其处的任何其它位置上。
现在参考图8B,描绘用于经由虚拟磁盘卷存取由外部存储提供者存储的安全文件的方法902的实施例。在一些实施方案中,方法901可部分地由安全数据管理器(例如安全数据管理器41)执行。在一些实施方案中,方法901可以截取存取经加密文件的请求开始(920)。在一些实施例中,安全数据管理器可通过作为等待请求并对其做出响应的监听进程运行来截取存取经加密文件的请求。在一些实施例中,请求的截取可在客户端计算装置、一个或一个以上媒介网络计算装置、机器或器具或可跨越因特网存取的一个或一个以上计算装置处发生。在一些实施例中,可通过经由网络上能够截取存取经加密文件的请求的特定节点路由所有网络业务来实现截取请求。在一些实施例中,可通过运行监视安装到企业网络的虚拟磁盘卷的进程或应用程序来实现截取请求。在一些实施例中,可通过在一个或一个以上客户端计算装置上运行的应用程序或进程来实现截取请求。
在一些实施方案中,解密文件(922)。在一些实施例中,安全数据管理器可通过咨询集中式服务来解密文件。在一些实施例中,安全数据管理器可通过使用针对经加密文件产生的唯一密钥来解密文件。在一些实施例中,可通过咨询观众类别数据库、存取列表、密钥存储装置及密钥产生器或可用于加密及验证的任何其它应用程序或资源来解密文件。文件的解密可在媒介网络计算装置、企业网络上的任何计算装置、两个或两个以上计算装置或可经由因特网存取的一个或一个以上计算装置处发生。在一些实施例中,安全数据管理器可响应于确定用户、应用程序或进程被授权存取经加密文件或特定位置而解密文件。
现在参考图8C,描绘用于使供发射到外部存储提供者的文件安全的方法903的实施例。在一些实施方案中,方法903可由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法903的一个或一个以上步骤。由于方法903与相对于图8A所描述的方法901共享许多相同步骤,因此下文仅详细描述未相对于图8A描述的步骤。
在一些实施方案中,方法903可以开始文件到外部存储提供者的发射而开始(910)。在一些实施方案中,客户端机器、用户、应用程序或进程可开始文件从企业网络到外部存储提供者的发射。
在一些实施方案中,可检测文件到外部存储提供者的发射(912)。在一些实施方案中,可加密文件(913)。在一些实施例中,可将经加密文件发射到外部存储提供者(914)。在一些实施方案中,可指派用于安装由外部存储提供者公开的虚拟磁盘卷的位置(916)。在一些实施方案中,可将虚拟磁盘卷安装到所指派位置(918)。
现在参考图8D,描绘用于经由所安装虚拟磁盘卷存取由外部存储提供者存储的安全文件的方法904的实施例。在一些实施方案中,方法904可部分地由安全性代理进程或应用程序执行。举例来说如相对于图2A到2F所描述的安全性代理22可执行方法904的一个或一个以上步骤。由于方法904与相对于图8B所描述的方法902共享许多相同步骤,因此下文仅详细描述未相对于图8B描述的步骤。
在一些实施方案中,方法904可以从用户发布存取经加密文件的请求开始(919)。在一些实施例中,用户可经由安装于网络上的虚拟磁盘卷请求对经加密文件的存取。在一些实施例中,存取由外部存储提供者存储的经加密文件的请求可由应用程序或进程做出。
在一些实施方案中,可截取存取经加密文件的请求(920)。在一些实施方案中,可做出关于请求者是否被授权存取经加密文件的确定(921)。在一些实施方案中,安全数据管理器可确定用户、应用程序或进程是否被授权存取虚拟磁盘卷的位置。如果请求者未被授权存取给定位置(921),那么在一些实施方案中,可不允许请求者对所述位置的存取且因此不允许对文件的存取(924)。如果代替地用户被授权存取给定位置(921),那么在一些实施方案中,解密文件(922)。
在一些实施方案中,可将经解密文件提供到请求者(923)。举例来说,安全数据管理器可将经解密文件提供到发布了对经加密文件的请求的用户、应用程序或进程。
现在参考图9A,其描绘用于验证对由外部存储提供者存储的文件的存取的实施例。在一些实施例中,用户35可做出对由外部存储提供者30存储的文件的请求42。在一些实施方案中,安全数据管理器41可实施第一验证进程81以确定用户35被授权存取由外部存储提供者30存储的经加密文件31。在一些实施方案中,外部存储提供者30可实施第二验证进程82以确定用户35被授权存取经加密文件31。
在一些实施例中,第一验证进程81可涉及确定特定用户被授权存取特定位置。在一些实施方案中,第一验证进程81还可涉及确定特定用户被授权存取经加密文件31本身。
在一些实施例中,第一验证进程81可确定特定应用程序、进程或机器被授权存取特定位置或经加密文件。
在一些实施例中,第二验证进程82可确定特定应用程序、进程或机器被授权存取特定位置或经加密文件。
现在参考图9B,描绘用于在外部存储提供者处进一步加密经加密文件的系统的实施例。外部存储提供者30可从企业网络810接收经加密文件31。外部存储提供者30可将经加密文件31进一步加密65成经加密文件51。外部服务提供者30可类似地在来自企业网络810的存取文件31的请求后即刻将经加密文件51解密成经加密文件31。
在一些实施例中,外部存储提供者30可在经加密文件31离开企业网络810之前且在经由公用因特网(例如,如图9A中所展示的网络150)发射之前进一步加密65经加密文件31。在此些实施例中,外部存储提供者30可在存取文件31的请求后仅在经加密文件51已经由公用因特网发射回到企业网络810之后即刻解密经加密文件51。
现在参考图10A,展示用于为数据存储提供多个安全性层的系统的实施例。在一些实施方案中,可由安全数据管理器41将数据文件23加密为经加密文件31,且可将经加密文件31存储于存储位置71处。在一些实施方案中,第二安全数据管理器72可接着将存储位置71加密成包含经加密数据文件31的经加密存储位置73。在一些实施方案中,安全数据管理器41可在第一计算实体1002内执行。在一些实施方案中,安全数据管理器72可在第二计算实体(未展示)的控制下执行。第一计算实体1002及第二计算实体可为任何计算装置、服务器、服务器场、经联网计算装置的组合或其任何组合。在一些实施例中,第一计算实体1002可为客户端计算装置,例如相对于图1A到1C所描述的客户端机器10,且第二计算实体可为相同局域网或企业网络上的不同机器,例如相对于图1B及1C所描述的机器18。在其它实施例中,第一计算实体1002可为例如机器18的计算装置,且第二计算实体可为在企业网络外部的经由因特网存取的计算装置。第一计算实体1002及第二计算实体还可配置为计算装置、服务器、服务器场的组合、经联网计算装置、服务器、服务器场的组合或其任何组合。
现在参考图10B,展示用于为数据存储提供多个安全性层的系统的实施例。在一些实施方案中,数据文件23可由安全数据管理器41加密且存储于存储位置71处。在一些实施方案中,安全数据管理器72可接着将存储位置71加密成包含经加密数据文件31的经加密存储位置73。在一些实施方案中,安全数据管理器41可在第一计算实体1002内执行。在一些实施方案中,安全数据管理器72可在第二计算实体1004内执行。
现在参考图10C,展示用于为数据存储提供多个安全性层的系统的实施例。在一些实施方案中,数据文件23可由安全数据管理器41加密且存储于存储位置71处。在一些实施方案中,安全数据管理器72可接着将存储位置71加密成包含经加密数据文件31的经加密存储位置73。在一些实施方案中,安全数据管理器41可在第一计算实体1002内执行。在一些实施方案中,安全数据管理器72可在第二计算实体1004内执行。在一些实施例中,存储位置71可位于第二计算实体1004内。在一些实施例中,安全数据管理器72可不在第二计算实体1004内执行,而是可在别处但是在第二计算实体1004的控制下执行。在一些实施例中,可经由虚拟磁盘卷(未图解说明)来存取经加密存储位置73。
虽然图解说明为单独的安全数据管理器41及72,但在一些实施例中,安全数据管理器41及安全数据管理器72可为同一(例如,组合式)安全数据管理器。组合式安全数据管理器可在第一计算实体或第二计算实体内执行。在一些实施例中,安全数据管理器41可既在第一计算实体内且又在第二计算实体的控制下执行。
现在参考图11,展示用于为数据存储提供多个安全性层的方法500的实施例。在一些实施方案中,方法500可以使用在第一计算实体内管理的第一加密方案加密数据开始(501)。在一些实施例中,第一计算实体可为任何形式的计算装置或计算装置的组合。在一些实施例中,第一计算实体可为客户端机器(例如相对于图1A到1C所描述的客户端机器10)、企业网络上的机器(例如相对于图1B及1C所描述的机器18)、服务器、服务器场或经联网计算装置、机器或服务器的组合。在一些实施例中,可使用两个或两个以上加密方案来加密数据。在一些实施例中,安全数据管理器(例如相对于图10A到10C所描述的安全数据管理器41)可使用在第一计算实体内管理的第一加密方案来加密数据。在一些实施例中,安全数据管理器可在第一计算实体内执行。在其它实施例中,安全数据管理器可在第一计算实体的控制下但不在第一计算实体内执行。在一些实施例中,安全数据管理器可在第二计算实体内执行。
在一些实施例中,使用第一加密方案加密可进一步包含使用具有至少一个加密算法及至少一个加密密钥的第一加密方案加密。
在一些实施例中,安全数据管理器可称为安全数据管理器、安全性数据管理器或数据安全性管理器。
在一些实施方案中,可将经加密数据存储于第二计算实体的存储位置中(502)。在一些实施例中,可将经加密数据存储于可跨越网络存取的第二计算实体的存储位置中。在一些实施例中,存储位置不需要在第二计算实体内。在一些实施例中,存储位置可仅仅在第二计算实体的控制下,而非在第二计算实体内。在一些实施例中,存储位置可为安全的存储位置。在一些实施例中,存储位置可为由外部存储提供者提供的存储位置。在一些实施例中,存储位置可通过由第二计算实体提供的应用程序或进程来存取。在一些实施例中,可经由虚拟磁盘卷(例如相对于图6C及图7所描述的虚拟磁盘卷40)来存取存储位置。
在一些实施方案中,可使用第二加密方案来加密存储位置(503)。在一些实施例中,安全数据管理器可使用第二加密方案来加密存储位置。在一些实施例中,可使用两个或两个以上加密方案来加密存储位置。在一些实施例中,第二加密方案可与第一加密方案相同。在其它实施例中,第二加密方案可不同于第一加密方案。在一些实施例中,可通过在第一计算实体的控制下执行的第一安全数据管理器而非在第二计算实体的控制下执行的第二安全数据管理器来加密存储位置。在一些实施例中,外部存储提供者可加密存储位置。在其它实施例中,企业网络内的计算装置(例如相对于图1A及1B所描述的机器18)可加密存储位置。
在一些实施例中,使用第二加密方案加密可包含使用具有至少一个加密算法及至少一个加密密钥的第二加密方案加密。
在一些实施方案中,可确定用于安装包含经加密数据的虚拟磁盘的安装位置(504)。在一些实施例中,在第一计算实体内执行的安全数据管理器可确定用于虚拟磁盘卷的安装位置。在一些实施方案中,所确定位置可提供到安全存储位置的链接。在一些实例中,所确定位置可为计算装置、机器或服务器上的位置。在一些实施例中,所确定位置可为用户可跨越企业网络存取的任何位置。在一些实施例中,所确定位置还可为可由用户跨越WAN或因特网存取的任何位置。在一些实施例中,在第二计算实体的控制下执行的第二安全数据管理器可确定用于虚拟磁盘卷的安装位置。
在一些实施方案中,可将虚拟磁盘安装到所确定安装位置(505)。在一些实施例中,在第一计算实体内执行的第一安全数据管理器可将虚拟磁盘卷安装到所确定位置。在一些实施例中,在第二计算实体的控制下执行的第二安全数据管理器可将虚拟磁盘卷安装到所确定位置。在一些实施例中,虚拟磁盘卷可提供到存储位置的链接。举例来说,虚拟磁盘卷可采取此项技术中通常已知或本文中所描述的虚拟磁盘卷的任何形式。
在一些实施例中,第一安全数据管理器及第二安全数据管理器可为同一安全数据管理器。组合式安全数据管理器可在第一计算实体内或在第二计算实体内执行。在一些实施例中,第一安全数据管理器可既在第一计算实体内又在第二计算实体的控制下执行。
在一些实施例中,在存储位置中存储可进一步包含在第二计算实体内的存储位置中存储。在一些实施例中,例如存储位置可跨越LAN、WAN、因特网或LAN、WAN或因特网的组合来存取。在一些实施例中,第二计算实体可由外部存储提供者提供。
在一些实施例中,方法500可进一步包含响应于不再需要对安全数据的存取的指示而卸载虚拟磁盘。在一些实施例中,虚拟磁盘卷可由安全数据管理器卸载。在一些实施例中,可根据先前调度的时间将虚拟磁盘卷设定为期满。在其它实施例中,用户可命令虚拟磁盘卷的卸载。
在一些实施例中,方法500可进一步包含解密经加密存储位置。举例来说,在第二计算实体的控制下执行的安全数据管理器可解密经加密存储位置。在一些实施例中,在第一计算实体内执行的安全数据管理器可执行解密经加密存储位置的步骤。
在一些实施例中,方法500可进一步包含解密经加密数据。举例来说,在第一计算实体内执行的第一安全数据管理器可解密经加密数据。在一些实施例中,在第二计算实体的控制下执行的第二安全数据管理器可解密经加密数据。
在一些实施例中,第一安全数据管理器可在第二计算实体的控制下执行同时在第一计算实体内执行。
在一些实施例中,方法500可进一步包含指派用于安装虚拟磁盘卷的安全的网络安装位置。在一些实施例中,可通过安全数据管理器来使安全网络安装位置安全。在一些实施例中,可通过基础操作系统或专用于使安装位置安全的独立安全性进程来使安全网络安装位置安全。
在一些实施例中,方法500可进一步包含至少实质上实时地执行至少一个加密操作。在一些实施例中,方法500可进一步包含至少实质上实时地执行至少一个解密操作。在一些实施例中,实时加密可由一个或一个以上安全数据管理器执行。
已描述了用于多个安全性层的系统及方法的某些实施例,所属领域的技术人员现在将明了可使用并入有本发明的概念的其它实施例。

Claims (19)

1.一种用于文件存储的方法,其包括:
由计算装置的处理器检测关于将用于存储的文件发射到在外部存储提供者网络内的外部存储提供者的网络通信,其中将所述文件从第一私用网络进行发射,所述外部存储提供者网络位于所述第一私用网络的外部;
由所述处理器致使加密所述文件以获得经加密文件;
由所述处理器使授权信息与所述经加密文件相关联,其中所述授权信息包括对存取所述经加密文件的一个或一个以上限制;
将用于存储的经加密文件发射到所述外部存储提供者网络内的外部存储提供者;
在发射后,由所述处理器截取发射到所述外部存储提供者的对存取所述文件的请求;
由所述处理器识别关于与所述请求相关联的请求者的请求者信息,其中在所述第一私用网络内发起存取请求,以及所述外部存储提供者网络位于所述第一私用网络的外部;
由所述处理器使用所述请求者信息及所述授权信息的一部分确定所述请求者是否被授权以存取所述文件;及
由所述处理器将对所述文件的存取提供到所述请求者,
其中所述存取为对经加密文件的仅加密存取或在不加密情况下对所述文件的完全存取,且
其中如果所述存取是完全存取,由所述处理器致使解密经加密文件以获得原始文件。
2.根据权利要求1所述的方法,其中所述授权信息包括观众类别。
3.根据权利要求1所述的方法,其中所述授权信息包括存取列表。
4.根据权利要求1所述的方法,其进一步包括:
在将用于存储的经加密文件发射到所述外部存储提供者之前,致使加密加密密钥以获得经加密的加密密钥;其中
将所述经加密的加密密钥发射到所述外部存储提供者以用于存储。
5.根据权利要求4所述的方法,其中致使解密所述经加密文件包括:
由所述处理器致使解密所述经加密的加密密钥以获得所述原始加密密钥;及
由所述处理器致使使用所述原始加密密钥来解密所述经加密文件。
6.根据权利要求1所述的方法,其中使授权信息与所述经加密文件相关联包括将授权信息添加到所述经加密文件的元数据部分。
7.根据权利要求6所述的方法,其中确定所述请求者被授权存取所述经加密文件包括:
存取所述经加密文件的所述元数据部分中的所述授权信息;及
将所述请求者信息与所述授权信息进行参考。
8.根据权利要求7所述的方法,其进一步包括将存取所述文件的所述请求发射到所述外部存储提供者。
9.根据权利要求8所述的方法,其中确定所述请求者被授权存取所述经加密文件在发射存取所述文件的所述请求之前发生。
10.根据权利要求1所述的方法,其中:
检测关于所述文件的发射的所述网络通信包括截取在所述第一私用网络内始发的所述网络通信,其中所述计算装置形成所述第一私用网络的一部分,且所述第一私用网络相对于公用网络为私用的;且
发射所述经加密文件包括跨越所述公用网络将所述经加密文件发射到所述外部存储提供者。
11.根据权利要求10所述的方法,其进一步包括由所述处理器监视所述第一私用网络内的业务。
12.根据权利要求1所述的方法,其进一步包括:
由所述处理器确定所述经加密文件的存储位置,其中所述存储位置包括由所述外部存储提供者管理的位置;及
由所述处理器致使加密所述存储位置。
13.根据权利要求12所述的方法,其中致使加密所述存储位置包括指令在第二计算装置上执行的进程加密所述存储位置,其中所述外部存储提供者包括所述第二计算装置。
14.根据权利要求1所述的方法,其中提供对所述原始文件的存取包括将文件指示符提供到所述请求者,其中所述文件指示符包括所述原始文件的位置。
15.根据权利要求14所述的方法,其进一步包括:
由所述处理器安装虚拟磁盘卷;
其中所述原始文件的所述位置包括所述虚拟磁盘卷上的位置。
16.一种用于文件存储的系统,其包括:
处理器;及
存储器,其上面存储指令,其中所述指令在执行时致使所述处理器:
在私用网络内截取关于文件的发射的网络通信,其中
所述网络通信是在所述私用网络内始发的,且
所述网络通信包括外部存储提供者的目的地地址,其中
第二网络包括所述外部存储提供者,且
所述第二网络在所述私用网络之外;
响应所述网络通信的截取,致使加密所述文件以获得经加密文件;
确定待与所述经加密文件相关联的加密密钥;及
将所述经加密文件及所述加密密钥提供给所述外部存储提供者以用于存储。
17.根据权利要求16所述的系统,其中所述指令在执行时进一步致使所述处理器在发射所述经加密文件及所述加密密钥之前使用共享密钥来加密所述加密密钥。
18.一种用于文件存储的方法,其包括:
从与外部存储提供者相关联的进程截取对存取文件的请求,其中
所述文件存储于私用网络内,且
在所述私用网络之外的第二网络包括所述外部存储提供者;
将请求者识别为具有对所述文件的仅加密存取,其中所述请求者与所述请求相关联;
将验证信息指派给所述文件,其中所述验证信息包括对存取所述文件的一个或一个以上限制;
致使加密所述文件以获得经加密文件,其中所述文件是使用第一加密密钥加密的;
将所述验证信息的指示添加到所述经加密文件;
致使加密第二加密密钥以获得经加密的加密密钥,其中所述第二加密密钥是使用共享密钥加密的;及
允许所述请求者存取所述文件,其中对所述文件的存取为对经加密文件的仅加密存取或在不加密情况下对所述文件的完全存取,且
其中如果所述存取是完全存取,所述经加密文件经解密以获得原始文件。
19.根据权利要求18所述的方法,其中所述第一加密密钥为所述第二加密密钥。
CN201280024482.3A 2011-05-20 2012-05-10 为由外部存储提供者进行的文件存储提供多个安全性层 Active CN103649950B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161488598P 2011-05-20 2011-05-20
US61/488,598 2011-05-20
PCT/US2012/037307 WO2012161980A1 (en) 2011-05-20 2012-05-10 Providing multiple layers of security to file storage by an external storage provider

Publications (2)

Publication Number Publication Date
CN103649950A CN103649950A (zh) 2014-03-19
CN103649950B true CN103649950B (zh) 2017-10-31

Family

ID=47175856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280024482.3A Active CN103649950B (zh) 2011-05-20 2012-05-10 为由外部存储提供者进行的文件存储提供多个安全性层

Country Status (4)

Country Link
US (1) US8443456B2 (zh)
EP (1) EP2710500B1 (zh)
CN (1) CN103649950B (zh)
WO (1) WO2012161980A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417578B1 (en) 2011-03-17 2013-04-09 Amazon Technologies, Inc. Customizing component configurations for utility computing
US20130039488A1 (en) * 2011-08-10 2013-02-14 Simon Keith Smith Device and method for providing portable and secure internet-based IT services
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9529996B2 (en) 2011-10-11 2016-12-27 Citrix Systems, Inc. Controlling mobile device access to enterprise resources
TW201351194A (zh) * 2012-06-07 2013-12-16 Askey Computer Corp 可攜式電子裝置的資料保護方法及其電腦程式產品
US9251114B1 (en) * 2012-10-12 2016-02-02 Egnyte, Inc. Systems and methods for facilitating access to private files using a cloud storage system
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
EP2909715B1 (en) 2012-10-16 2022-12-14 Citrix Systems, Inc. Application wrapping for application management framework
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US9239727B1 (en) 2012-10-17 2016-01-19 Amazon Technologies, Inc. Configurable virtual machines
US8997197B2 (en) * 2012-12-12 2015-03-31 Citrix Systems, Inc. Encryption-based data access management
WO2014098653A1 (en) * 2012-12-19 2014-06-26 Volvo Truck Corporation Method and arrangement for determining the speed behaviour of a leading vehicle
US9165151B2 (en) * 2013-03-13 2015-10-20 Fred Federspiel Systems, methods, and devices for encrypted data management
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US10541980B2 (en) 2013-04-18 2020-01-21 Facecon Co., Ltd. File security method and apparatus for same
MY155817A (en) * 2013-05-23 2015-12-02 Mimos Berhad A system and method for delivering sensitive contents with synchronization feature in an unsecure infrastructure
US9420017B2 (en) * 2014-01-10 2016-08-16 Kuhoo Edson Information organization, management, and processing system and methods
US9304941B2 (en) * 2014-02-27 2016-04-05 Mangstor, Inc. Self-encrypting flash drive
US9076004B1 (en) * 2014-05-07 2015-07-07 Symantec Corporation Systems and methods for secure hybrid third-party data storage
US9967319B2 (en) * 2014-10-07 2018-05-08 Microsoft Technology Licensing, Llc Security context management in multi-tenant environments
US9934395B2 (en) * 2015-09-11 2018-04-03 International Business Machines Corporation Enabling secure big data analytics in the cloud
US9992175B2 (en) * 2016-01-08 2018-06-05 Moneygram International, Inc. Systems and method for providing a data security service
CN105915520B (zh) * 2016-04-18 2019-02-12 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储系统
AU2017296055A1 (en) * 2016-07-15 2019-02-07 Cardinalcommerce Corporation Authentication to authorization bridge using enriched messages
US10826875B1 (en) * 2016-07-22 2020-11-03 Servicenow, Inc. System and method for securely communicating requests
US10447670B2 (en) 2016-07-28 2019-10-15 Red Hat Israel, Ltd. Secret keys management in a virtualized data-center
US11528142B2 (en) 2016-10-11 2022-12-13 BicDroid Inc. Methods, systems and computer program products for data protection by policing processes accessing encrypted data
US10560263B2 (en) * 2017-03-24 2020-02-11 Micron Technology, Inc. Secure memory arrangements
US10664574B1 (en) * 2017-09-15 2020-05-26 Architecture Technology Corporation Distributed data storage and sharing in a peer-to-peer network
US11005829B1 (en) * 2017-10-16 2021-05-11 Fuze, Inc. Providing secure end-to-end data encryption between devices
US11038698B2 (en) * 2018-09-04 2021-06-15 International Business Machines Corporation Securing a path at a selected node
WO2021189306A1 (en) * 2020-03-25 2021-09-30 Beijing Didi Infinity Technology And Development Co., Ltd. Write operation in object storage system using enhanced meta structure

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656434A (zh) * 2002-08-01 2005-08-17 松下电器产业株式会社 用于解密已加密数据并在存储器空间中定位用于执行的解密数据的方法和设备
CN101588575A (zh) * 2009-04-29 2009-11-25 候万春 为集团客户提供互联网信息加密传输服务的系统和方法
CN102055730A (zh) * 2009-11-02 2011-05-11 华为终端有限公司 云处理系统、云处理方法和云计算代理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912856B2 (en) * 1998-06-29 2011-03-22 Sonicwall, Inc. Adaptive encryption
US9172709B2 (en) * 2008-06-24 2015-10-27 Raytheon Company Secure network portal
US8458451B2 (en) * 2009-01-20 2013-06-04 New York University Database outsourcing with access privacy
US8171337B2 (en) * 2009-03-30 2012-05-01 The Boeing Company Computer architectures using shared storage
US8799322B2 (en) * 2009-07-24 2014-08-05 Cisco Technology, Inc. Policy driven cloud storage management and cloud storage policy router
US20110289310A1 (en) * 2010-05-20 2011-11-24 Selgas Thomas D Cloud computing appliance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656434A (zh) * 2002-08-01 2005-08-17 松下电器产业株式会社 用于解密已加密数据并在存储器空间中定位用于执行的解密数据的方法和设备
CN101588575A (zh) * 2009-04-29 2009-11-25 候万春 为集团客户提供互联网信息加密传输服务的系统和方法
CN102055730A (zh) * 2009-11-02 2011-05-11 华为终端有限公司 云处理系统、云处理方法和云计算代理装置

Also Published As

Publication number Publication date
US8443456B2 (en) 2013-05-14
CN103649950A (zh) 2014-03-19
EP2710500A4 (en) 2014-11-05
EP2710500A1 (en) 2014-03-26
WO2012161980A1 (en) 2012-11-29
US20120297188A1 (en) 2012-11-22
EP2710500B1 (en) 2019-09-18

Similar Documents

Publication Publication Date Title
CN103649950B (zh) 为由外部存储提供者进行的文件存储提供多个安全性层
US11443062B2 (en) Selectively verifying personal data
CN103688485A (zh) 用于对数据进行安全处理的系统和方法
EP3180768B1 (en) A zero-knowledge environment based social networking engine
CN102971722B (zh) 用于创建和传送加密的虚拟盘的系统和方法
EP3598336B1 (en) Information processing device and information processing method
US10063372B1 (en) Generating pre-encrypted keys
CN103842958B (zh) 支持系统中的安全通信的实施
CN104137466B (zh) 操作计算设备的方法及计算设备
CN108293045A (zh) 本地和远程系统之间的单点登录身份管理
CN103563278B (zh) 保护加密的虚拟硬盘
JP2021536698A (ja) 利用者識別認証データを管理する方法および装置
CN104715187B (zh) 用于认证电子通信系统中的节点的方法和装置
CN107003815A (zh) 云环境中机密数据的自动化管理
CN103959706B (zh) 朝向内容消费者迁移经过认证的内容
CN107295002A (zh) 一种云端存储数据的方法及服务器
US20140282840A1 (en) Managing data handling policies
EP4236203A2 (en) Data security using request-supplied keys
CN104025544B (zh) 机密信息泄露防止系统和机密信息泄露防止方法
CN101484927A (zh) 共享加密文件的加密、解密处理方法
US11456872B2 (en) Offline protection of secrets
CN108429638A (zh) 一种服务器运维方法、装置、系统及电子设备
US20200266971A1 (en) Re-encrypting data on a hash chain
US10990692B2 (en) Managing data handling policies
TWI552015B (zh) 用於複合文件之方法、電腦系統及非暫時性電腦可讀儲存媒體

Legal Events

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