CN103563278B - 保护加密的虚拟硬盘 - Google Patents

保护加密的虚拟硬盘 Download PDF

Info

Publication number
CN103563278B
CN103563278B CN201280024313.XA CN201280024313A CN103563278B CN 103563278 B CN103563278 B CN 103563278B CN 201280024313 A CN201280024313 A CN 201280024313A CN 103563278 B CN103563278 B CN 103563278B
Authority
CN
China
Prior art keywords
encryption
key
head
user
server
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
CN201280024313.XA
Other languages
English (en)
Other versions
CN103563278A (zh
Inventor
J·H·诺德
T·盖洛
B·E·塔克
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 CN103563278A publication Critical patent/CN103563278A/zh
Application granted granted Critical
Publication of CN103563278B publication Critical patent/CN103563278B/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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

保护加密的虚拟硬盘可以包括多种过程。在一个示例中,针对用户创建虚拟硬盘,并用卷密钥来加密虚拟硬盘,并且卷密钥被放置在管理员头部中。可以用保护密钥来加密管理员头部,根据对应于用户的用户标识符、对应于虚拟硬盘的卷标识符和两个密码秘密创建保护密钥。保护密钥继而可以在对管理员头部进行加密之后被销毁,并且由此可以从未离开加密引擎。两个密码秘密可以被存储至分离的存储位置,一个对用户可访问而另一个对管理员可访问。由此,保护密钥可以从未被传输或者解译,并且没有单个实体可以被妥协以获得对重新创建保护密钥所需要的全部信息的访问。

Description

保护加密的虚拟硬盘
相关申请的交叉引用
本申请要求2011年5月20日提交的、名称为“Systems and Methods for SecuringEncrypted Virtual Hard Disks”的美国临时专利申请第61/488,615号的优先权。上述申请的内容被通过引用将其全部并入本文。
技术领域
本公开内容的各方面总体上涉及虚拟磁盘和密钥(cryptographic key)管理。例如,一些方面涉及保护加密的虚拟磁盘。
背景技术
许多企业允许工作人员带他们的个人膝上型计算机或者计算机来工作,并将该膝上型计算机作为他们的公司计算机使用,在家中使用个人计算机工作于公司信息,或允许合同工在他们的工作中使用个人计算机来代替公司计算机。在一些情况下,使得雇员或合同工使用他们的个人计算机用于工作相关的计算可以导致雇员和合同工将敏感的公司文档和应用信息存储到他们的一般而言不安全的个人计算机。个人膝上型计算机上的存储器通常未受管理,并且当用户没有登录到公司网络中时可能难以强制实施安全策略。此外,在一些示例中,膝上型计算机可能比由企业安全策略和防火墙保护的公司计算机更容易被盗或遭到非法侵入。
对这一问题的一个解决方案包括为用户提供加密的虚拟硬盘,该虚拟硬盘可以好像它们是物理磁盘那样而被安装。用户可以使用只有他们知道的密码,这使他们能够解密磁盘并将其安装以用于使用。公司数据可以被存储至加密的卷从而防止恶意第三方的访问。 虽然这增加了保护性,但可能仍然存在一些风险。例如,可能实际上拥有数据的公司企业在没有用户密码的情况下可能无法访问加密的磁盘。这在加密的虚拟硬盘存储在云服务(如由加利福尼亚的旧金山的DROPBOX公司运营的、DROPBOX基于web的文件托管服务)上或在其中企业可能想要在无需用户或订约方的合作的情况下恢复数据的实例中可能特别相关。其次,如果用户忘记他们的密码,系统管理员可能不能恢复加密的数据。虽然企业可以在中央数据库中存储用户密码,从而允许他们在用户忘记他们的密码的情况下解密映像,但这需要在网络上传输密码,其中密码可能被拦截由此显著危害安全性。
因此,需要系统和方法以保护加密的虚拟硬盘以及集中管理加密密钥。
发明内容
描述了用于保护加密的虚拟硬盘的方法和系统的示例实施例、特征和其他方面。在一个实施例中,针对用户创建虚拟硬盘,并利用卷密钥来加密虚拟硬盘,并且卷密钥被放置在管理员头部中。可以利用保护密钥来加密管理员头部,根据对应于用户的用户标识符、对应于虚拟硬盘的卷标识符和两个密码秘密创建保护密钥。保护密钥可以在对管理员头部加密之后被销毁并且从未离开加密引擎。两个密码秘密被存储在分离的存储位置中,一个对用户可访问并且另一个对管理员可访问。在这些示例实施例中,为了解锁虚拟硬盘,获取密码秘密,并且使用在虚拟硬盘的明文头部中存储的卷标识符和用户标示符重新创建保护密钥。管理员头部继而可以被解密,并且卷密钥被获取,从而允许对虚拟硬盘的解密。因此,保护密钥从未被传输并且因而无法被拦截。此外,没有单个实体可以被妥协以获得对重新创建保护密钥所需要的全部信息的访问。
在附图以及下文的描述中阐明本公开内容的各种示例实施例、方面和特征的细节。
附图说明
通过参考结合附图的以下描述,前述和其他目的、方面、特征和优点将变得更加明显并且被更好理解,其中:
图1A是其图示利用与服务器通信的客户端机器的远程访问联网环境的实施例的框图;
图1B和图1C是图示用于实践在此描述的方法和系统计算机的实施例的框图;
图2A是图示解密和安装加密的虚拟硬盘的实施例的框图;
图2B是图示利用集中管理的密码密钥解密和安装加密的虚拟硬盘的实施例的框图;
图2C是集中管理的密码密钥的框图;
图2D是图示用于创建和管理加密的虚拟磁盘的系统的实施例的框图;
图3A是图示用于创建安全的加密的虚拟硬盘的方法的实施例的流程图;
图3B是图示用于提供对加密的虚拟硬盘的安全访问的方法的实施例的流程图;以及
图4是图示集中认证和访问加密的虚拟硬盘的方法的框图。
从下文阐明详细描述并结合附图,本公开内容的各方面的特征和优点将变得更加明显,其中通篇相同的参考字符标识对应的元件,同样的标号一般指示相同的、功能上相似的和/或结构上相似的元件。
具体实施方式
在具有远程或行进用户(该远程或行进用户具有移动电话或个人计算设备)的企业或公司中,可能出于安全目的期望将公司数据与所述计算设备上的用户的个人数据分离或者分开。用户可以为公司数据创建本地卷、文件夹或虚拟硬盘并且使用用户的计算设备上的软件加密这些卷、文件夹或虚拟硬盘。这允许每个用户具有独立 的加密密钥。例如,如果第一用户的计算设备受到危害,则这样的加密方法和系统可以有用。在这样的实例中,加密密钥不能被用于访问第二用户的计算设备上的第二用户的加密信息。然而,本地创建需要用户安装和许可加密软件,这可能是不可用的,尤其是在智能电话或其他移动设备上。类似地,本地创建可以是处理器密集型的并使这些设备的资源承担压力。此外,本地创建导致如果用户忘记密码或丢失密钥则加密的卷对于管理员不可访问。管理员可以通过在中央服务器上创建和加密虚拟硬盘、向请求磁盘的每个用户提供它来避免这些问题。然而,这导致每一个用户具有利用相同密钥加密的磁盘,从而增加了多个用户被相同攻击危害的可能性。
因此,在这里描述的方法和系统的一些实施例中,集中服务可以创建和加密虚拟磁盘(有时被称为虚拟硬盘或磁盘映像)以用于由客户端计算机利用针对每个用户的个体化的加密密钥来使用。客户计算机可以安装这些加密的虚拟磁盘,就好像他们是用于隔离和加密的本地存储的物理硬盘。在创建过程中,可以通过默认大小、加密密码、加密密钥和存储类型来定制虚拟磁盘。在一些实施例中,加密的虚拟磁盘可以经由加密的网络协议(诸如SSL)被递送到客户端,从而防止拦截或中间人攻击。
因为每个虚拟磁盘具有其自己的加密密钥,所以期望集中管理这些密钥以允许管理员访问和控制,以及为用户提供用于在忘记密码的情况下解锁卷的机制。然而,许多现有的解决方案要求管理员和用户具有对相同密钥的共享的知识。这降低了安全性,并且要求管理员维护用户特有的密钥数据库。
一些现有的解决方案假定用户的机器是公司资产并且是公司域的成员,并利用域名管理属性和策略。因此,这些解决方案要求用户的机器是域中的成员。例如,华盛顿雷德蒙德的微软公司的BITLOCKER为在与用户相关联的活动目录空间中的加密的磁盘卷存储卷密钥信息。由于域管理员是“受信的”,所以任何域管理员可以访问针对管理员想要访问的任何加密的卷的卷密钥。然而,许多 企业并不希望域管理员有权访问系统中的所有加密的磁盘卷。
另一种方案是由加利福尼亚的山景城的SYMANTEC公司制造的PGPDISK。PGPDISK允许在加密的虚拟磁盘中包括多个头部,每个头部为磁盘存储加密密钥或卷密钥。一个头部可以由用户密码解锁,而另一头部可以由管理员密码解锁。当被提示要求解锁密码时,用户或管理员可以通过录入字符串来解锁受保护的卷。加密系统依次通过每个头部、尝试给定的字符串,直到它成功解锁对卷密钥的访问或用完头部,在这种情况下密码被认为是不正确的并且可以提示再次录入。然而,这需要管理员密码的集中数据库,并且也可能需要通过网络传输密码以用于远程访问该卷,在网络中密码可被危害或以其他方式被拦截。
因此,在此讨论的各方面提供生成中间保护密钥,其提供由忘记其密码的管理员和用户对受保护的信息的访问,而两者从未离开客户端执行系统也从未在中央系统处被存储。另外,密钥熵跨越两个或者更多分离的系统传播,从而最小化对中央密钥存储服务器的单点攻击的机会。
在讨论创建、递送和维护加密的虚拟硬盘的细节之前,下面的描述提供了可以结合各个方面使用的示例性计算环境的概述。图1A图示了计算环境101的示例实施例,其包括一个或多个客户端机器102A-102N(在此一般地被称为“客户端机器102”),客户端机器与一个或多个服务器106A-106N(在此一般地被称为“服务器106”)通信。在客户端机器102和服务器106之间安装有网络。
在一个实施例中,计算环境101可以包括在服务器106和客户端机器102之间安装的设备。这一设备可以管理客户端/服务器连接,并且在一些情况下,可以在多个后端服务器之间负载平衡客户端连接。
在一些示例中,客户端机器102可以被称为单个客户端机器102或客户端机器102的单个组,而服务器106可以被称为单个服务器106或服务器106的单个组。在一个实施例中,单个的客户端机器 102与多于一个服务器106通信,而在另一实施例中,单个服务器106与多于一个客户端机器102通信。在又一实施例中,单个客户端机器102与单个服务器106通信。
在一些示例中,客户端机器102可以由以下术语中的任何一个引用:客户端机器102、客户端,客户端计算机、客户端设备、客户端计算设备、本地机器、远程机器、客户端节点、端点、端点节点或第二机器。在一些实施例中,服务器106可以由以下术语中的任何一个引用:服务器、本地机器、远程机器、服务器群、主机计算设备或第一机器。
在一个实施例中,客户端机器102可以是虚拟机102C。虚拟机102C可以是任何虚拟机,而在一些实施例中,虚拟机102C可以是由XENSOLUTIONS、CITRIX SYSTEMS、IBM、VMWARE开发的管理程序、者任何其他管理程序管理的任何虚拟机。在其他实施例中,虚拟机102C可以由任何管理程序管理,而在另一些实施例中,虚拟机102C可以由在服务器106上执行的管理程序或者在客户端102上执行的管理程序管理。
在一些实施例中,客户端机器102可以执行、操作或以其他方式提供应用,该应用可以是以下各项中的任何一项:软件、程序、可执行指令、虚拟机、管理程序、web浏览器、基于web的客户端、客户端-服务器应用、瘦客户端计算客户端、ActiveX控件、Java小应用程序、与网络电话(VoIP)通信有关的软件如软IP电话、用于流传输视频和/或音频的应用、用于有助于实时数据通信的应用、HTTP客户端、FTP客户端、Oscar客户端、Telnet客户端或可执行指令的任何其他集合。其他实施例可包括客户端设备102,其显示由在服务器106或其他位于远程的机器上远程执行的应用生成的应用输出。在这些实施例中,客户端设备102可以在应用窗口、浏览器或其他输出窗口中显示应用输出。在一个实施例中,应用是桌面,而在其他实施例中,应用是生成桌面的应用。桌面可以包括图形外壳,其提供用户界面以用于其中可以集成本地和/或远程应用的操作 系统的实例。如在此所用的应用是在已经加载操作系统的实例(以及,可选地,还有桌面)后执行的程序。操作系统的每个实例可以是物理的(例如,每个设备一个操作系统)或虚拟的(例如,在单个设备上运行的操作系统的多个实例)。每个应用可以在本地设备上被执行,或者在位于远程的设备(例如,远程设备)上被执行。应用可以按照多种方式位于远程。在一个示例中,应用可以按照无缝方式位于远程,其中窗口在客户端设备上被创建以使应用显示看起来好像它是在客户端设备及其桌面上本地运行。在另一示例中,远程应用可以在窗口模式中被提供,其中桌面位于客户端设备的远程并且该应用被显示作为在远程桌面中执行的应用。也可以实施或使用各种其他远程方法和技术。
在一些实施例中,服务器106可以执行远程呈现客户端或其他客户端或程序,其使用瘦客户端或远程显示协议来捕获由在服务器106上执行的应用生成的显示输出并且向远程客户端102传输应用显示输出。瘦客户端或远程显示协议可以是以下协议中的任何一个协议:由佛罗里达的劳德代尔堡的CITRIX SYSTEMS公司制造的独立计算架构(ICA)协议;或者由华盛顿的雷德蒙德的微软公司制造的远程桌面协议(RDP)。
计算环境101可以包括多于一个服务器106A-106N,从而使得服务器106A-106N被逻辑上一起分组到服务器群106中。服务器群106可以包括在地理上分散并且被逻辑上一起分组到服务器群106中的服务器106,或者相互靠近定位并且被逻辑上一起分组到服务器群106中的服务器106。在一些示例中,在服务器群106内的在地理上分散的服务器106A-106N使用WAN、MAN或者LAN通信,其中不同的地理区域可以被表征为:不同大洲、大洲的不同地区、不同国家、不同州、不同城市、不同校区、不同房间或者上述地理位置的任何组合。在一些实施例中,服务器群106可作为单个实体被管理,而在其他实施例中,服务器群106可以包括多个服务器群106。
在一些示例中,服务器群106可以包括服务器106,这些服务器 106执行实质上相似类型的操作系统平台(例如,由华盛顿的雷德蒙德的微软公司制造的Windows NT、UNIX、LINUX或者SNOW LEOPARD)。在其他实施例中,服务器群106可以包括执行第一类型的操作系统平台的第一组服务器106,以及执行第二类型的操作系统平台的第二组服务器106。在其他实施例中,服务器群106可以包括执行不同类型的操作系统平台的服务器106。
在一些示例中,服务器106可以是任何服务器类型。例如,服务器106可以是任何以下服务器类型:文件服务器、应用服务器、web服务器、代理服务器、设备、网络设备、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器、防火墙、web服务器、应用服务器或作为主应用服务器、执行活动目录的服务器106、或者执行提供防火墙功能的应用加速程序的服务器106、应用功能、或负载均衡功能。在一些实施例中,服务器106可以是包括远程认证拨入用户服务的RADIUS服务器。在其中服务器106包括设备的实施例中,服务器106可以是由以下制造商中的任何一个制造的设备:Citrix Application NetworkingGroup;Silver Peak Systems公司;Riverbed Technology公司;F5Networks公司;或者Juniper Networks公司。一些实施例包括第一服务器106A,其接收来自客户端机器102的请求,将请求转发到第二个服务器106B,以及用来自第二个服务器106B的响应来响应于由客户端机器102生成的请求。第一服务器的106A可以获得对于客户端机器102可用的应用的枚举以及与托管在应用的枚举内标识的应用的应用服务器相关联的地址信息。第一服务器106A继而可以使用web接口呈现对客户端的请求的响应,并且直接与客户端102通信以向客户端102提供对所标识应用的访问。
在一些实施例中,服务器106可执行以下应用中的任何一个应用:瘦客户端应用,其使用瘦客户端协议向客户端传输应用显示数据;远程显示呈现应用;Citrix Systems的CITRIX ACCESS SUITE的任何部分,如METAFRAME或者CITRIX PRESENTATION SERVER或者XENAPP;由微软公司制造的MICROSOFT WINDOWS终端服务;或由Citrix Systems公司开发的ICA客户端。其他示例或实施例可以包括服务器106,其是应用服务器,诸如:电子邮件服务器,其提供电子邮件服务,诸如由微软公司制造的MICROSOFT EXCHANGE;web或因特网服务器;桌面共享服务器;协作服务器;或任何其他类型的应用服务器。其他实施例或示例可以包括执行以下类型的托管服务器应用中的任何一个的服务器106:由Citrix OnlineDivision公司提供的GOTOMEETING;由加利福尼亚的圣克拉拉的WebEx公司提供的WEBEX;或者由微软公司提供的Microsoft Office LIVE MEETING。
在一些实施例中,客户端机器102可以是客户端节点,其寻求访问由服务器106提供的资源。在其他实施例中,服务器106可以向客户端102或客户端节点提供对托管的资源的访问。在一些实施例中,服务器106充当主节点,从而使得它与一个或多个客户端102或服务器106通信。在一些实施例中,主节点可以标识并向一个或多个客户端102或服务器106提供与托管所请求的应用的服务器106相关联的地址信息。在其他实施例中,主节点可以是服务器群106、客户端102、客户端节点的集群102或设备。
一个或多个客户端102和/或一个或多个服务器106可以通过在计算环境101内的机器和设备之间安装的网络104传输数据。网络104可以包括一个或多个子网,并且可以被安装在包括在计算环境101内的客户端102、服务器106、计算机器和设备的任何组合之间。在一些实施例中,网络104可以是:局域网(LAN)、城域网(MAN)、广域网(WAN)、包括位于客户端102和服务器106之间的多个子网络104的主网络104、具有私有子网104的主公共网络104;具有公共子网104的主私有网络104或具有私有子网104的主私有网络104。另外的实施例包括网络104,其可以是以下网络类型中的任何网络类型:点到点网络、广播网络、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网 络、SDH(同步数字体系)网络、无线网络、有线网络、或者网络104,其包括无线链路,该无线链路可以是红外信道或卫星频带。网络104的网络拓扑可以在不同的实施例中不同,可能的网络拓扑结构包括:总线网络的拓扑、星形网络拓扑、环形网络拓扑、基于中继器的网络的拓扑或分层星形网络拓扑。附加实施例可以包括使用协议在移动设备之间通信的移动电话网络的网络104,其中该协议可以是以下中的任意一项:AMPS、TDMA、CDMA、GSM、GPRS UMTS,或者能够在移动设备之间传输数据的任何其他的协议。
在图1B中图示了计算设备100的实施例,其中在图1A中图示的客户端机器102和服务器106可以被部署为在此图示和描述的计算设备100的任何实施例和/或在该实施例上被执行。包括在计算设备100内的是系统总线150,其与以下组件通信:中央处理单元121、主存储器122、存储存储器128、输入/输出(I/O)控制器123、显示设备124a-124n、安装设备116以及网络接口118。在一个实施例中,存储存储器128包括:操作系统、软件例程以及客户端代理120。在一些实施例中,该I/O控制器123还连接到键盘126和指点设备127。其他实施例可以包括连接到多于一个输入/输出设备130a-130n的I/O控制器123。
图1C图示了计算设备100的一个实施例,其中在图1A中图示的客户端机器102和服务器106可以被部署为在此图示和描述的计算设备100的任何实施例和/或在该实施例上被执行。计算设备100内包括的是系统总线150,其与以下组件通信:网桥170以及第一I/O设备130a。在另一实施例中,网桥170进一步与主中央处理单元121通信,其中主中央处理单元121还可以与第二I/O设备130b、主存储器122和高速缓冲存储器140通信。包括在中央处理单元121内的是I/O端口、存储器端口103和主处理器。
计算机器100的实施例可以包括中央处理单元121,其由以下组件配置中的任何一个表征:响应并处理从主存储器单元122获取的指令的逻辑电路;微处理器单元,诸如:由英特尔公司制造的微处 理器单元、由摩托罗拉公司制造的微处理器单元;由加利福尼亚的圣克拉拉的Transmeta公司制造的微处理器单元;RS/6000处理器,诸如由国际商业机器制造的RS/6000处理器;处理器,诸如由高级微设备制造的处理器;或逻辑电路的任何其他组合。主中央处理单元121的其他的实施例可以包括以下各项的任何组合:微处理器、微控制器、具有单个处理核的中央处理单元、具有两个处理核的中央处理单元或具有多于一个处理核的中央处理单元。
虽然图1C图示了包括单个中央处理单元121的计算设备100,但是在一些实施例中,计算设备100可以包括一个或多个处理单元121。在这些实施例中,计算设备100可以存储和执行固件或其他可执行指令,该固件或其他可执行指令在被执行时,指引一个或多个处理单元121同时执行指令,或对单个数据段同时执行指令。在其他实施例中,计算设备100可存储和执行固件或其他可执行指令,该固件或其他可执行指令在被执行时,指引一个或多个处理单元各自执行一组指令的一部分。例如,每个处理单元121可以被指示以执行程序的一部分或者程序内的特定模块。
在一些实施例中,处理单元121可以包括一个或多个处理核。例如,处理单元121可以具有两核、四核、八核等。在一个实施例中,处理单元121可以包括一个或多个并行处理核。在一些实施例中,处理单元121的处理核可以访问可用存储器作为全局地址空间,或在其他实施例中,计算设备100内的存储器可以被分割并被指派给处理单元121内的特定核。在一个实施例中,计算设备100中的一个或多个处理核或处理器可以各自访问本地存储器。在又一实施例中,计算设备100内的存储器可以在一个或多个处理器或处理核之间被共享,而其他的存储器可以由特定处理器或处理器的子集访问。在其中计算设备100包括多个处理单元的实施例中,多个处理单元可以被包括在单个集成电路(IC)中。在一些实施例中,这些多个处理器可以由内部的高速总线链接在一起,该总线可以被称为元件互连总线。
在其中计算设备100包括一个或多个处理单元121或处理单元121包括一个或多个处理核的实施例中,处理器可以对多个数据段同时执行单个指令(SIMD),或在其他实施例中,可以对多个数据段同时执行多个指令(MIMD)。在一些实施例中,计算设备100可以包括任何数量的SIMD和MIMD处理器。
在一些实施例中,计算设备100可以包括图形处理器或图形处理单元(未示出)。图形处理单元可以包括软件和硬件的任何组合,并且可以进一步输入图形数据和图形的指示,根据输入的数据和指令渲染图形并且输出所渲染的图形。在一些实施例中,图形处理单元可以包括在处理单元121内。在其他实施例中,计算设备100可以包括一个或多个处理单元121,其中至少有一个处理单元121专用于处理和渲染图形。
计算机器100的一个实施例包括其经由也被称作后侧总线的次级总线与高速缓冲存储器140通信的中央处理单元121,而计算机器100的另一实施例包括其经由系统总线150与高速缓冲存储器通信的中央处理单元121。在一些实施例中,本地系统总线150也可以由中央处理单元用于与多个类型的I/O设备130a-130n通信。在一些实施例中,本地系统总线150可以是以下类型的总线中的任何一个:VESA VL总线、ISA总线、EISA总线、微通道架构(MCA)总线、PCI总线、PCI-X总线、PCI-Express总线、或NuBus。计算机器100的其他实施例包括I/O设备130a-130n,其为与中央处理单元121通信的视频显示器124。其他版本的计算机器100包括经由以下连接中任何一个连接到I/O设备130a-130n的处理器 121:HyperTransport、快速I/O或InfiniBand。计算机器100的其他实施例包括使用本地互连总线与I/O设备130a通信并且使用直接连接与第二I/O设备130b通信的处理器121。
在一些实施例中,计算设备100包括主存储器单元122和高速缓冲存储器140。高速缓冲存储器140可以是任何存储器类型,并且在一些实施例中可以是以下类型的存储器中的任何一种:SRAM、 BSRAM或EDRAM。其他实施例包括高速缓冲存储器140和主存储器单元122,其可以是以下类型的存储器中的任何一种:静态随机存取存储器(SRAM)、突发SRAM或SynchBurstSRAM(BSRAM)、动态随机存取存储器(DRAM)、快速页模式DRAM(FPM DRAM)、增强DRAM(EDRAM)、扩展数据输出RAM(EDO RAM)、扩展数据输出DRAM(EDO DRAM)、突发扩展数据输出DRAM(BEDO D RAM)、增强DRAM(EDRAM)、同步DRAM(SDRAM)、JEDEC SRAM、PC100SDRAM、双倍数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、Sync Link DRAM(SLDRAM)、直接Rambus DRAM(DRDRAM)、铁电RAM(FRAM)、或任何其他类型的存储器。进一步的实施例包括中央处理单元121,其可以经由以下访问主存储器122:系统总线150、存储器端口103、或允许处理器121访问存储器122的任何其他连接、总线或端口。
计算设备100的一个实施例针对以下安装设备116中的任何一个提供支持:CD-ROM驱动、CD-R/RW驱动器、DVD-ROM驱动器、各种格式的磁带驱动、USB设备、可引导介质、用于GNU/Linux分发的可引导CD如硬盘驱动或适合于安装应用或软件的任何其他设备。在一些实施例中,应用可以包括客户端代理120或客户端代理120的任何部分。计算设备100可以进一步包括存储设备128,其可以是一个或多个硬盘驱动、或一个或多个独立磁盘的冗余阵列;其中存储设备被配置为存储操作系统、软件、程序应用或客户端代理120的至少一部分。计算设备100的再一实施例包括被用作存储设备128的安装设备116。
计算设备100还可以包括网络接口118,该网络接口118通过包括但不限于以下的各种连接对接到局域网(LAN)、广域网(WAN)或因特网:标准电话线、LAN或WAN链接(例如,802.11、T1、T3、56KB、X.25、SNA、DECNET),宽带连接(例如,ISDN、帧中继、ATM、吉比特以太网、SONET上的以太网)、无线连接或上述中的任何或者全部的一些组合。连接也可以使用多种通信协议(例 如,TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布式数据接口(FDDI)、RS232、RS485、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、CDMA、GSM、WiMax和直接异步连接)而被建立。一个版本的计算设备100包括网络接口118,其能够经由任何类型和/或形式的网关或隧道协议与附加计算设备通信100通信,该协议诸如安全套接字层(SSL)或传输层安全性(TLS)或由Citrix Systems公司制造的Citrix网关协议。网络接口118的各种版本可以包括以下中的任何一个:内置网络适配器、网络接口卡、PCMCIA网卡、卡总线网络适配器、无线网络适配器、USB网络适配器、调制解调器或适用于将计算设备100对接到能够传达并执行在此描述的方法和系统的网络的任何其他设备。
计算设备100的实施例包括如下I/O设备130a-130n中的任何一个:键盘126、指点设备127、鼠标、触控板、光笔、轨迹球、麦克风、绘图板、视频显示器、扬声器、喷墨打印机、激光打印机以及热升华打印机或能够执行在此描述的方法和系统的任何其他输入/输出设备。在一些实施例中,I/O控制器123可以连接到多个I/O设备103a-130n以控制一个或多个I/O设备。I/O设备130a-130n的一些实施例可以被配置用于提供存储或安装介质116,而其他实施例可以提供通用串行总线(USB)接口以用于接收USB存储设备,诸如由TwintechIndustry公司制造的设备的USB闪存驱动线。其他的实施例包括I/O设备130,其可以是在系统总线150和外部通信总线之间的网桥,诸如:USB总线、苹果桌面总线、RS-232串行连接、SCSI总线、火线总线、火线800总线、以太网总线、AppleTalk总线、吉比特以太网总线、异步传输模式总线、HIPPI总线、超级HIPPI总线、SerialPlus总线、SCI/LAMP总线、光纤通道总线或串行附接小型计算机系统接口总线。
在一些实施例中,计算机器100可以连接到多个显示设备124a-124n,在其他实施例中,计算设备100可以连接到显示设备124,而在另一些实施例中,计算设备100连接到相同显示器类型或 形式的显示设备124a-124n或者不同类型或形式的显示设备。显示设备124a-124n的实施例可以得到以下的支持和使能:一个或多个I/O设备130a-130n、I/O控制器123、I/O设备130a-130n和I/O控制器123的组合、能够支持显示设备124a-124n的硬件和软件的任何组合、任何类型和/或形式的视频适配器、视频卡、驱动器、和/或用于对接、传达、连接或者以其他方式使用显示设备124a-124n的库。在一些实施例中,计算设备100可以被配置用于使用一个或多个显示设备124a-124n,这些配置包括:具有对接到多个显示设备124a-124n的多个连接器;具有多个视频适配器,其中每个视频适配器连接到显示设备124a-124n中的一个或多个;具有被配置用于支持多个显示器124a-124n的操作系统;使用包括在计算设备100内的电路和软件以连接到并使用多个显示设备124a-124n;以及执行主计算设备100和多个次计算设备上的软件以支持主计算设备100使用次计算设备的显示器作为用于主计算设备100的显示装置124a-124n。计算设备100的另一些实施例可以包括由多个次计算设备提供并经由网络连接到主计算装置 100的多个显示设备124a-124n。
在一些实施例中,计算机器100可以执行任何操作系统,而在其他实施例中,计算机器100可以执行以下操作系统中的任何操作系统:各种版本的MICROSOFT WINDOWS操作系统(诸如WINDOWS 3.x、WINDOWS 95、WINDOWS 98、WINDOWS 2000、WINDOWS NT3.51、WINDOWSNT4.0、WINDOWS、WINDOWS XP和WINDOWS VISTA)、Unix和Linux操作系统的不同发布、由苹果计算机制造的任何版本的MAC OS,由国际商业机器制造的OS/2、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、用于移动计算设备的任何操作系统或任何其他操作系统。在又一实施例中,计算机器100可以执行多个操作系统。例如,计算机器100可以执行PARALLELS或另一虚拟化平台,其可以执行或管理执行第一操作系统的虚拟机,而计算机器100执行 不同于第一操作系统的第二操作系统。
计算机器100可以体现在以下计算设备中的任何一项中:计算工作站、台式计算机、膝上型计算机或笔记本计算机、服务器、手持式计算机、移动电话、便携式电信设备、媒体播放设备、游戏系统、移动计算设备、上网本、由苹果计算机制造的IPOD族设备、由Sony公司制造的PLAYSTATION族设备中的任一设备;由任天堂公司制造的任天堂族设备中的任一设备、由微软公司制造XBOX族设备中的任一设备或能够通信并具有足够的处理器能力和存储器容量以执行在此描述的方法和系统的任何其他类型和/或形式的计算、电信或媒体设备。在其他实施例中,计算机器100可以是移动设备,诸如以下移动设备中的任何一个:支持JAVA的蜂窝电话或个人数字助理(PDA),诸如全部由摩托罗拉公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl或im1100,由Kyocera制造的6035或7135;由三星电子有限公司制造的i300、i330;由Palm公司制造的TREO180、270、600、650、680、700p、700w或者750智能电话;具有不同处理器、操作系统和与该设备相一致的输入设备的任何计算设备;或能够执行在此描述的方法和系统的任何其他移动计算设备。在其他实施例中,计算设备100可以是以下移动计算设备中的任何一个:任一系列的黑莓或由Research In Motion有限公司制造的其他手持设备、由苹果计算机制造的iPhone、Palm Pre、Pocket PC、Pocket PC电话、或任何其他手持移动设备。在其他实施例中,计算设备100可以是智能电话或平板计算机,包括诸如由加利福尼亚库比蒂诺的苹果公司制造的iPhone或iPad、由加拿大安大略的滑铁卢的Research In Motion公司制造的BlackBerry设备、由华盛顿的雷德蒙德的微软公司制造的Windows移动设备、由伊利诺伊的利伯蒂维尔的摩托罗拉公司制造的Xoom、能够运行由加利福尼亚的山景城的谷歌公司提供的安卓平台的设备或任何其他类型和形式的便携式计算设备。
在此所描述的方面、特征和实施例可以利用各种加密方案和标准。贯穿本说明书中,引用了“散列函数”、“散列”,或“哈希”。这些 术语引用接收数据作为输入并响应于所述输入提供给定输出的任何过程或数学函数。所述输出可以被称为散列值,或可以被称为消息摘要。散列的输出可以是单个数据或整数。散列的输出可以是固定大小的比特串。散列函数可以依赖于一个或多个密钥来完成所述散列。本领域中已知的散列函数的示例包括:MD2(消息摘要算法)、MD4、MD5、SHA-0(安全散列算法)、SHA-1、SHA-2、GOST、HAVAL、PANAMA、RadioGatun、RIPEMD、Tiger和WHILPOOL。
贯穿本公开内容,引用“公钥”,“公共密钥”和“公共密钥加密”。这些术语广泛以用用于将数据转变成仅能由一个或者多个预期接受者、或者其他预期受众解译的形式的任何方法。公共密钥加密方法可以涉及使用非对称密钥算法,其中加密数据所必需密钥不同于解密数据所需要的密钥。这允许广泛地共享用以加密所述数据的密钥、“公钥”。因为用以解密所加密的信息的单独密钥保持秘密,所以维护了安全的完整性。密钥还可以被称作私钥,并且公钥和对应私钥的组合可以被称为公私密钥对。因此,公共密钥加密不需要一个或者多个密钥的安全初始交换。非对称密钥实现方式的示例包括DSS、RSA加密算法、PGP、因特网密钥交换、ZRTP、SSH、SSL、TLS和SILC。
应当理解,贯穿其中使用或者公开了公钥或者公钥加密的本公开内容,可以备选地或者附加地使用任何其他形式的加密以成功地实施在此公开的系统和方法,包括私钥加密或者任何其他形式的加密。
贯穿本公开内容引用了加密。加密可以广泛地指任何以用于将数据从解译的形式转换并且通过使得数据对于除了能够解密所加密的数据的人以外的任何人不可解译的过程来保护数据的任何一个或者多个各种手段、方法、系统、功能等。加密可以是指广泛多种加密标准和技术,包括私钥和公钥加密。加密和解密可以经由实施密码、密钥或者两者的组合的系统来实现。加密方案可以包括对称密钥加密方案,其中密钥在寻求加密数据的一方和寻求解密数据的一 方之间交换。此类方案还可以被称为“共享秘密”或者“预共享”加密方案。此类加密方案的示例可以包括高级加密标准、Blowfish、Twofish、Serpent、CAST5、RC4、3DES和IDEA。
应当理解,贯穿使用或者公开了对称密钥、共享秘密加密或者其他形式的加密的本公开内容,还可以备选地使用其他形式的加密以成功地实施在此公开的系统和方法,包括公钥加密或者任何其他形式的加密。
贯穿本公开内容,可以出于加密或者解密的目的引用“共享的密钥”或者“共享密钥”。共享的密钥可以广泛指可以在特定用户分组之间共享的密钥。共享的密钥可以是在任何类型或者形式的加密方案或者标准中使用的任何类型或者形式的密钥。在一些示例中,共享的密钥可以对于特定文件是唯一的或者可以仅与单个用户、应用或者过程共享。备选地或者附加地,共享的密钥可以是非对称私钥/公钥对。
现在参照图2A,图示了用于解密和安装加密的虚拟硬盘200的实施例,该虚拟硬盘包括单个加密的头部202以及加密的盘块204的净载荷。加密的盘块204可以用被存储在加密的头部202内的卷密钥206来加密。因此,为了解密盘块204,系统必须首先解密头部202以获取对卷密钥的访问。例如,可以从用户接收密码208。密码可以包括口令、密码、字符串或者任何其他类型和形式的数据。在一些示例中,密码208可以包括在认证(诸如用户登入、使用生物扫描仪、提供密钥值或者任何其他类型和形式的认证)后从代理接收的存储的解密密钥。密码208可以包括用于加密的头部202的解密密钥,从而使得数学函数210被应用于加密的头部202和密码208可以导致解密的或者清洁的头部。数学函数210可以包括可适合于如上所述使用的加密方案的任何类型和形式的解密算法。
当头部202通过使用密码208而被解密时,卷密钥206可以在212处被恢复。卷密钥可以包括被用做针对虚拟硬盘200的加密的盘块204的解密密钥的短语、密码、字符串或者任何其他类型和形式 的数据。第二数学函数214可以被应用于加密的盘块204以及卷密钥206以向操作系统、文件系统或者应用呈现盘的解密的视图。卷密钥在对虚拟硬盘进行加密和解密两者期间使用,然而从未在加密系统以外被共享。
尽管仅示出了一个头部202,但是在一些实施例中,可以包括多个头部,每个头部具有其自身的密码或者口令,并且每个头部包含卷密钥。如上所述,这允许单独的管理员头部。然而,在此类示例中,管理员的口令仍然必须存储于某处,从而提供单点故障或者安全漏洞。
现在参照图2B,图示了加密的虚拟硬盘200’进行解密和安装的实施例,虚拟硬盘200’包括多个加密的头部202和216以及加密的盘块204的净载荷。加密的用户头部202包括卷密钥206,并且以与以上结合图2A所讨论的方法相同的方法被解密。然而,虚拟硬盘200’进一步包括加密的管理员头部216,其还包括卷密钥206。管理员头部216’的解密密钥未被存储在本地系统或者中央服务器上。相反,解密密钥(下文中被称作保护密钥)在请求访问时被立即(on the fly)生成。这消除了如果虚拟硬盘被远程访问的拦截解密密钥的可能性。尽管被称作用户头部202和管理员或者管理头部216,但每个头部202和216可以由用户、管理员、代理、或者其他实体使用。因此,用户头部202可以广泛地指其由单个密码、短语、密钥、数据串或具有或者不具有添加d密码盐(cryptographic salt)的其他值来加密的典型头部,而管理员头部216可以被解译为利用从在如在此讨论的分离的位置中存储的密码秘密生成的保护密钥来加密的头部。
在一些示例中,虚拟硬盘200’的非加密头部218包括卷GUID 220。卷GUID 220可以包括虚拟硬盘200’任何全局唯一的标识符并且可以在虚拟硬盘的创建期间被生成。GUID220可以存储在数据串、字段、或者标签内而作为虚拟硬盘200’的头部218的部分。尽管出于呈现本公开内容的目的而在此被称作非加密,但在一些示例中, 头部218可以由附加系统进一步加密。例如,虚拟硬盘200’可以存储在另一盘内,该盘可以由全盘加密系统加密。因此,头部218可以被进一步加密。因此,在一些示例中,如果头部218由解密虚拟硬盘200’的解密系统或者引擎可读,则其可以被认为是非加密的或者清洁的。在一些实施例中,非加密头部218可以包括密码盐的数据串(未示出)。盐可以由各种加密方案要求,并且可以被用于对加密密码的填充输入,提供附加随机化或者用于其他类似目的。
在一些实例中,可以针对具体用户或向应用用户请求创建虚拟硬盘200’。用户可以由用户ID 222来标识,该用户ID 222可以包括用户专属标识符或者字符串。在许多实施例中,用户ID 220可以包括用户名、用户工作组、或者其他类似标识符或者标识符的组合。
当虚拟硬盘200’被创建时,还可以创建两个密码秘密即第一秘密224A和第二秘密224B(例如,密码秘密224或者秘密224,和/或第一密码秘密和第二密码秘密)。如下文更具体讨论的那样,第一秘密224A可以被存储于第一存储位置(诸如用户的网络存储空间)中或者用户的计算机的硬盘驱动上。第二秘密224B可以与第一秘密224A分开地被存储于第二存储位置(诸如服务器106、管理员数据库、认证服务器或者其他位置)中。在一个示例中,密码秘密224可以包括1024比特的密码随机数据。
数学函数226可以被应用于GUID 220、用户ID 222、第一秘密224A、第二秘密224B以及在使用盐的实施例中的存储于头部218中的盐。数学函数可以包括用于确定地计算保护密钥的一个或者多个任何类型和形式的函数,包括串接(concatenation)、散列函数或者其他确定性函数。保护密钥可以在228处被获取,并且如上所述,可以包括或者以其他方式对应于针对加密的管理员头部216的解密密钥。第二数学函数230可以类似于数学函数210被应用于保护密钥和加密的管理员头部216以解密头部并在步骤212中获取卷密钥。
因此,保护密钥可以在访问虚拟硬盘200’的机器本地立即生成,而无需通过网络传输保护密钥。另外,尽管可以通过网络获取一个 或者两个密码秘密224,但是对于一个秘密的访问不会打破或者以其他方式危害管理员头部216或者虚拟硬盘200’的加密(例如,与其中集中存储管理员密码的系统形成对照)。
简略地参照图2C,图示了集中管理的密钥的框图。如上所述,唯一卷标识符220以及在一些实施例中的密码盐可以被存储在加密的虚拟硬盘的明文头部218中。用户ID 222可以包括针对其创建盘的用户的唯一标识符盘。第一秘密224A可以被存储于第一存储位置(诸如用户网络位置232)中,而第二秘密224B可以被存储于(例如,不同于第一存储位置的)第二存储位置(诸如管理员网络存储位置234)中。卷ID、盐(如果适用)、用户ID和秘密可以被用作对于数学函数的输入以创建保护密钥236,其可以被用于加密虚拟硬盘文件的头部。保护密钥236继而可以被销毁或者删除。在特定示例中,保护密钥236可以被删除或者销毁而不允许保护密钥236的任何传输(例如,网络传输和/或其他类型的传输)。
图2D中图示了用于创建和管理加密的虚拟盘的系统的实施例的框图。在一些实施例中,系统可以包括经由网络104通信的客户端计算机102和服务器106。客户端可以包括盘空间250’,其可以包括第一秘密224A和虚拟硬盘200’。在一些实施例中,第一秘密224A可以被存储于客户端计算机102或者客户端计算机102的盘空间250’的外部,诸如在存储在服务器上的用户网络驱动(未示出)上。在客户端上执行的可以是虚拟硬盘服务260,应用递送客户端270和管理服务275。服务器可以执行一个或者多个应用240A-240N(通常被称作服务器应用240或者应用240),并且还可以执行应用递送服务器280。客户端可以执行一个或者多个应用242A-242N(通常被称作客户端应用242或者应用242),其可以是本地安装的应用,或者在附接至客户端计算机102的存储装置上安装的应用。在一些实施例中,虚拟盘创建器285可以在服务器106上执行以拦截客户端请求并且创建虚拟盘。
进一步参照图2,并且更具体地,在一个实施例中,系统可以包 括客户端计算机102和服务器106。客户端计算机102可以是在此描述的任何计算设备100并且可以是在此描述的任何客户端102。类似地,服务器106可以是在此描述的任何计算设备100并且可以是在此描述的任何服务器106。在一些实施例中,服务器106可以是包括一个或者多个服务器106的服务器群。客户端102和服务器106可以通过网络104(诸如在此描述的任何网络104)通信。
在一些实施例中,客户端102可以执行一个或者多个应用242A-242N(一般地,应用242)。在另一实施例中,服务器106可以执行一个或者多个应用240A-240N(一般地,应用240),其可以经由应用递送客户端270和应用递送服务器280被递送至客户端。在一些实施例中,在客户端102上执行的应用递送客户端270可以是可以接收来自在服务器106上执行的应用递送服务器280的应用输出(诸如图形显示输出或者其他数据输出)的应用、客户端或者程序。客户端102的应用递送客户端270可以接收应用输出并且在客户端102上的应用窗口中显示应用输出。在一些示例中,应用递送客户端270可以有助于在客户端102和服务器106之间创建虚拟通道,并且可以有助于在客户端102的应用递送系统和服务器106的应用递送系统之间通信。客户端计算机102的应用递送客户端270可以与服务器106的应用递送服务器280通信并且传输和接收文件访问请求。在一些示例中,应用递送客户端270可以是由CITRIX SYSTEMS制造的ICA客户端。在其他实施例中,应用递送客户端270可以是远程桌面客户端、桌面呈现客户端或者任何相似类型的客户端,并且可以经由呈现层协议(诸如ICA或者RDP)与服务器106通信。
服务器106的应用递送服务器280可以在服务器106上执行并且可以与在服务器106上执行的应用240对接。在一些实施例中,服务器应用递送服务器280可以拦截、获取、或者接收图形应用输出(例如,由应用240发出的、由应用240生成的绘制命令),并且可以将应用输出与相关的图像数据一起转发至客户端102的应用 递送客户端270。客户端计算机102的应用递送客户端270可以使用应用输出和图像数据来重绘应用,就如同在服务器106的显示屏上显示的那样。在一些实施例中,应用递送服务器280可以是由CITRIX SYSTEMSICA制造的ICA服务器。在一些实施例中,客户端102的应用递送客户端270可以通过一个或者多个虚拟通道以及一个或者多个传输层连接与应用递送服务器280通信。
在又一示例中,应用递送客户端270和应用递送服务器280可以包括用于从服务器106流传输应用240以用于在客户端计算机102上执行的应用。在又一实施例中,应用递送客户端270和应用递送服务器280可以包括用于将应用下载至客户端计算机102以用于联机或者脱机执行的应用、服务、代理或者其他可执行代码。因此,在不脱离本公开内容的范围的情况下,应用可以在服务器106处被执行并且其输出被传输至客户端102;可以被流传输以用于由客户端102执行;可以被下载或者以其他方式被传递至客户端102以用于本地执行;或者可以被安装在客户端102上。
应用240和242(一般地被称作服务器应用240或者客户端应用242)可以是任何应用。在一些示例中,应用240可以包括在此描述的任何应用,或者任何其他应用。在一些实施例中,在服务器106上执行的应用240可以通过向应用递送客户端270传输应用输出而与应用递送服务器280对接。在其他实施例中,如上所述,应用242可以在客户端102上执行和/或可以被流传输至客户端102以用于由客户端102执行。
在一些实施例中,客户端计算机102可以包括盘空间250’,其可以包括虚拟硬盘200’和第一密码秘密224A。尽管在客户端计算机102内被图示,但是盘空间250’可以包括在客户端计算机102中包括的物理盘、对于客户端计算机102可用的外部物理盘(包括对客户端计算机102可以的专用盘和网络盘以及虚拟盘)两者。例如,第一密码秘密224A可以被存储在用户专属网络驱动或者虚拟驱动中。尽管被称为盘,但是在一些实施例中,盘空间250’可以包括闪存存 储装置、磁盘存储装置、光学存储装置或者这些中的任何的组合,或者任何其他类型和形式的存储设备。类似地,服务器106可以包括盘空间250,或者可以维护物理、虚拟、和/或网络盘或者与它们通信,并且可以存储第二密码秘密224B。在一些实施例中,第二密码秘密224B可以被存储在管理员网络驱动或者虚拟驱动中。此外,尽管虚拟硬盘200’被图示为在盘空间250’内,但是在一些实施例中,虚拟硬盘200’可以由服务器106创建并且在被传送至客户端计算机102之前被存储在盘空间250内。
根据一些设置,虚拟硬盘服务260可以由客户端计算机102执行。虚拟硬盘服务260可以包括应用、服务、守护进程、例程、文件系统过滤驱动器或者用于安装虚拟硬盘或者盘映像并且用于呈现虚拟硬盘或者盘映像到操作系统或者应用以仿佛其为物理盘的其他可执行逻辑。虚拟硬盘服务260可以与应用递送客户端270或者在客户端上执行的其他应用242交互以拦截对从客户端计算机102上的虚拟硬盘200’读取信息或者向其写入信息的请求并且根据在此描述的方法和系统处理请求。在一些实施例中,虚拟硬盘服务260还可以在服务器上执行以用于创建和管理虚拟硬盘以用于向客户端计算机102传送。
在一些示例中,管理服务275可以在客户端102上执行并且可以与虚拟硬盘服务260和应用递送客户端270对接。在一些实施例中,管理服务275可以包括应用、服务器、服务、守护进程、例程或者其他可执行代码,并且可以在用户-模式或者内核-模式中执行。在一些实施例中,管理服务275可以充当或者包括策略引擎。管理服务器275或者管理服务的策略引擎可以管理安全性策略和其他管理策略,这些策略确定哪些应用应当被标识为受信以及哪些应用应当被标识为不可信。在一些实施例中,管理服务275可以在应用递送客户端270内作为应用递送客户端的策略引擎执行,并且可以被用于确定是否将由应用生成的数据引导至虚拟硬盘200’。例如,由受信应用生成的数据可以被认为是公司数据并且可以被写入至虚拟 硬盘,而由非受信应用生成的数据可以被写入至用户的个人存储装置。在其他实施例中,管理服务275或者管理服务275的策略引擎可以用于将在客户端上执行的应用标识为受信应用或者非受信应用。在一些实施例中,公司管理员可以设置策略以将某些应用标记为受信。附加文件夹也可以被指定为受信并且因此需要被使能以用于自动重定向。
在一个示例中,管理服务275或者策略引擎可以响应于执行应用的用户凭证将应用标识为受信应用。例如,在一个实施例中,在作为受信应用而执行应用之前,用户可以被要求登入。如果用户没有登入,则应用可以作为非受信应用被执行。在另一实施例中,应用可以由根或者管理用户执行,并且可以响应于这些用户的特权而被标识为受信应用。在又一实施例中,应用可以由服务器106提供并且通过由服务器提供而被标识为受信应用。例如,远程执行的应用或者流传输的应用,或者从公司服务器下载的应用可以被标识为受信,而由用户本地安装或者从其他地方获得的应用可以被标识为非受信。受信和非受信的其他定义还可以依赖于需求或者偏好而被使用。在一些实施例中,可以依赖于会话的执行参数来相信或不相信应用。例如,如上所述,用户可以被要求登入以将应用作为受信应用执行。取决于用户是否已经登入,应用可以作为受信应用或者非受信应用来被执行。这样做可以避免要求安装相同应用的多个实例。
在一些实施例中,虚拟盘创建器285可以在服务器106上执行以拦截对创建或者部署虚拟硬盘的客户端请求。虚拟盘创建器285可以包括用于创建、部署和管理虚拟硬盘的应用、服务、服务器、守护进程、逻辑、例程或者其他可执行代码。在一些实施例中,虚拟盘创建器285可以包括加密引擎290或者与其通信。在一个实施例中,虚拟盘创建器285可以直接与在客户端102上执行的应用递送客户端270通信。在一些实施例中,虚拟盘创建器285可以基本上持久地在服务器106上执行。在其他实施例中,虚拟盘创建器285 等待客户端请求通过安全网络连接(例如,SSL),其中请求可以包括关于请求的虚拟盘的大小、加密强度和加密的盘大小的信息。虚拟盘创建器285可以使用虚拟盘创建方法(诸如虚拟硬盘(VHD)API)来创建虚拟盘。在一些实施例中,虚拟盘创建器285可以加密创建的虚拟盘。
在一些实施例中,加密引擎290’可以在客户端计算机102上执行。加密引擎290’可以包括用于加密或者解密虚拟硬盘200’的一个或者多个头部以及虚拟硬盘200’的加密的盘块204的净载荷的应用、服务、服务器、守护进程、例程、或者其他可执行逻辑。在一些实施例中,加密引擎290’可以包括用于从一个或者多个存储位置获取密码秘密224的功能。
现在参照图3A,图示了如下流程图,该流程图图示了用于创建安全加密的虚拟硬盘的方法的实施例。在步骤302,服务器可以接收用于生成加密的虚拟硬盘的请求,该请求包括如下用户的用户标识符,将为该用户创建虚拟硬盘。在一些实施例中,请求可以由服务器执行的虚拟硬盘创建器或者虚拟硬盘创建引擎接收。备选地或者附加地,虚拟盘创建引擎可以在应用递送服务器的情境内执行,从而使得虚拟盘创建引擎可以拦截由客户端102向服务器106发出的针对加密的虚拟盘的任何请求。在其他实施例中,虚拟盘创建器可以接收来自管理服务、客户端代理或者在客户端上执行的另一应用的请求。在一些实施例中,客户端102可以响应于确定应用需要安全存储区域而发出请求。在其他实施例中,客户端102可以响应于确定在客户端102上不存在安全存储区域而发出请求。在一些实施例中,由客户端发出的请求可以包括虚拟盘信息,诸如请求的虚拟盘的大小、将使用的加密类型、将应用的加密强度、将使用的加密密码、将使用的加密密钥以及存储类型。在其他实施例中,请求可以包括用户凭证,诸如用户名、用户密码、用户标识符或者其他信息、和/或机器凭证,诸如机器标识符、操作系统类型和版本、管理服务版本或者能力、MAC地址或者任何其他类型和形式的信息。在 一些实施例中,请求可以被从客户端102传递至服务器106,并且可以通过安全网络(例如,SSL)被传输。在其他实施例中,客户端可以使用加密的网络协议递送请求。
在一些实施例中,盘创建器可以通过对请求进行排队来响应于接收请求。在此类示例中,盘创建器可以对请求进行排队直到较迟的时间点,或者直到盘创建器有能力响应于该请求。在其他实施例中,盘创建器可以对请求进行排队,并且将其重新发出至在不同服务器上执行的另一盘创建器。
在一些实施例中,在步骤304,服务器或者虚拟硬盘创建引擎可以生成用于虚拟硬盘的卷标识符。服务器或者虚拟硬盘创建引擎可以进一步创建卷密钥、第一密码秘密以及第二密码秘密。在一些实施例中,密钥和秘密可以基于请求的一个或者多个元素被生成。例如,请求可以指定针对虚拟硬盘的加密的类型或者大小,并且卷密钥可以是加密密钥的对应大小。在一些实施例中,服务器或者虚拟硬盘创建引擎可以生成密码盐以用于在用于生成保护密钥的加密函数中使用。
在步骤306,由服务器执行的加密引擎可以创建保护密钥。保护密钥可以使用用户标识符、卷标识符、盐(如果适用)以及第一和第二密码秘密而被生成。可以用来创建保护密钥的各种算法包括串接、散列、异或或者任何其他类型和形式的确定性算法。
在步骤308,服务器或者虚拟硬盘创建引擎可以创建虚拟硬盘。虚拟硬盘可以使用任何类型和形式的虚拟硬盘创建系统(诸如由微软公司提供的VHD API)而被生成。在其他实施例中,盘创建器285可以执行可以创建虚拟盘的虚拟盘创建函数。在一些实施例中,服务器或者虚拟硬盘创建引擎可以根据在请求中接收的参数(诸如指定的大小或者格式化)来创建虚拟硬盘。例如,如果客户端请求指定了盘大小和存储类型,则虚拟盘创建器可以创建具有该盘大小和存储类型的虚拟盘。在一些实施例中,可以按照最小大小或者非常小的大小创建虚拟硬盘,并且虚拟硬盘可以被创建为动态大小的盘 而不是固定大小的盘。这样做可以降低将盘传送到客户端的带宽需求。例如,非常小的盘(诸如10MB)可以在服务器处被生成和加密,并且可以被传送至客户端,其中盘可以被扩展至大得多的大小,诸如若干GB。在另一实施例中,盘可以随着客户端的用户向盘写入数据而随着时间被扩展。在一个实施例中,创建虚拟硬盘可以进一步包括创建包括一个或者多个头部,该头部包括用户头部和管理员头部(例如,逻辑上分离的头部),其中每个头部包括卷密钥。创建虚拟硬盘还可以包括创建包括卷标识符的明文或者非加密头部,并且在一些实施例中,使用密码盐来创建保护密钥。
在步骤310,由服务器执行的加密引擎可以使用卷密钥来加密虚拟硬盘或者虚拟硬盘的净载荷。加密引擎可以使用在此讨论的任何类型和形式的加密方法或者任何类似的加密方法。在一些实施例中,加密引擎可以使用诸如Bitlocker或者TruCrypt之类的加密技术来加密虚拟盘。在其他实施例中,加密引擎可以使用任何全盘加密技术来加密虚拟盘。在一些实施例中,加密引擎可以根据在客户端请求中指定的加密属性来加密虚拟盘。在其他实施例中,系统的管理员可以设置当在加密盘时使用的预定加密参数,诸如将使用的具体加密和散列算法,包括将被使用的位长度和块大小以及密码或者密钥文件。在一些实施例中,加密引擎还可以利用用户提供的或者预设的密码或者密钥来加密虚拟硬盘的用户头部。在另一实施例中,管理员可以设置策略以允许用户改变虚拟硬盘用户密码或者用户头部加密密钥。
在步骤312,加密引擎可以利用保护密钥来加密虚拟硬盘的管理员头部。管理员头部可以包括卷密钥,从而使得解密管理员头部允许解密引擎访问卷密钥,利用卷密钥可以解密净载荷。在加密虚拟硬盘头部后,加密引擎可以删除或者以其他方式销毁保护密钥。在其中加密引擎生成保护密钥并在加密管理员头部后销毁保护密钥的一些实施例中,保护密钥可以从未离开加密引擎(例如,不允许传输或者存储到可移除设备等)。
在步骤314,服务器、加密引擎或者虚拟硬盘创建引擎可以将第一密码秘密存储至第一存储位置并且将第二密码秘密存储至第二存储位置。例如,第一存储位置可以包括专属于用户的用户网络存储驱动,针对该用户创建虚拟硬盘。第二存储位置可以包括管理员或者系统可访问的管理员网络存储驱动。在一些实施例中,存储秘密可以包括建立与每个存储位置或者维护每个存储位置的服务器的安全通信信道。
一旦被创建和加密,则虚拟硬盘可以被传送至客户端计算设备、用户的网络存储装置或者用于由用户使用的其他存储位置。在一些实施例中,传送虚拟硬盘可以包括建立用于传送盘的安全通信信道。在一些示例中,加密密钥生成和其他加密过程可以由客户端计算设备或者其他设备执行。
在图3B中图示了如下流程图,该流程图图示了用于对加密的虚拟硬盘提供安全访问的方法的实施例。在步骤322,由计算设备执行的加密引擎可以接收对访问加密的虚拟硬盘的请求。在一些实施例中,加密引擎可以从应用、操作系统、服务或者由计算设备执行的其他模块接收请求,而在其他实施例中,加密引擎可以从远程计算设备的应用或者操作系统(诸如管理员服务器或者计算机)接收请求。在一些实施例中,加密引擎可以从文件系统过滤器驱动器接收请求。加密的虚拟硬盘可以包括利用卷密钥加密的加密的数据的净载荷以及包括利用保护密钥加密的卷密钥的管理员头部。在一些实施例中,虚拟硬盘还可以包括用户头部,该用户头部包括利用用户密码加密的卷密钥。在其他实施例中,虚拟硬盘还可以包括明文头部。明文头部可以包括卷标识符或者GUID,以及在一些实施例中,包括如上讨论的在创建保护密钥期间生成的密码盐。在一些实施例中,请求可以包括对应于加密的虚拟硬盘的卷标识符。在其他实施例中,请求可以包括如下用户的用户标识符,针对该用户创建虚拟硬盘。例如,尝试解锁虚拟硬盘的管理员可以包括如下用户的用户标识符,针对该用户创建虚拟硬盘。在其他实施例中,请求可以包 括如下用户的用户标识符,针对该用户创建请求。例如,由应用生成的请求可以包括如下用户的用户标识符,应用代表该用户而执行,或者当前登入的用户的用户标识符。
在步骤324,加密引擎可以响应于接收请求,从第一存储位置获取第一密码秘密以及从第二存储位置获取第二密码秘密。在一些实施例中,第一存储位置可以包括用户存储位置,诸如本地存储卷、网络存储设备上的用户目录或者其他用户专属存储装置。第二存储位置可以包括管理员存储位置,诸如管理服务器本地的存储卷、网络存储设备上的管理员目录或者其他管理员专属存储装置。在一些实施例中,加密引擎可以建立到对应的存储位置的安全连接(诸如SSL连接)以获取密码秘密。
在步骤326,加密引擎可以基于用户标识符、卷标识符、第一密码秘密和第二密码秘密生成保护密钥。创建保护密钥可以包括针对用户标识符、卷标识符、第一密码秘密以及第二密码秘密执行确定性算法以重新创建初始地在创建虚拟硬盘时创建的保密密钥。在一些实施例中,加密引擎可以进一步使保护密钥基于在虚拟硬盘的明文头部中的密码盐。
在步骤328,加密引擎可以使用生成的保护密钥解密管理员头部。解密头部可以包括使用加密的头部和保护密钥执行任何类型或者形式的解密算法。在一个实施例中,加密引擎可以尝试使用保护密钥来解密虚拟硬盘的多个头部,迭代地通过虚拟硬盘的多个头部直到耗尽头部(此时,解密失败并且加密引擎可以报告错误)或者解锁或者解密头部。这可以在如下实例中完成,其中管理员头部可以不必作为多个头部的第一头部。在一些实施例中,在解密管理员头部之后,加密引擎可以删除或者销毁保护密钥(例如,不进行保护密钥的任何传输)。因此,保护密钥从未离开加密引擎并且对于恶意第三方不可访问。
在步骤330,加密引擎可以从解密的管理员头部获取卷密钥,并且在步骤332,加密引擎可以解密虚拟硬盘的净载荷。在一些实施例 中,虚拟硬盘可以被安装至或者以其他方式提供至操作系统或者应用,从而使得可以经由诸如BitLocker或者TruCrypt之类的全盘加密方法来执行常规的读/写操作或者读/写操作。
因此,通过在此讨论的方法和系统,密钥可以按照如下形式被管理,该形式允许在未通过集中存储管理员密钥或者使用管理员口令而损害安全性的情况下,通过用户密码进行脱机用户认证和管理员访问。备选地,可以使用相同系统以允许在丢失密码情况下无需管理员辅助的,并且不需要用户作为计算机域或者活动目录组的成员情况下,进行联机用户认证和密码的用户重置。用户可以利用由管理员使用的相同机制来解锁虚拟硬盘并且恢复卷密钥。如果用户已经忘记他的或者她的密码,但是正处于联机并且可以获取两个密码秘密,则加密引擎可以解密管理员头部,恢复卷密钥并且重写包括利用新的用户密码加密的卷密钥的用户头部。这允许在没有管理员介入并且无需通过网络传输密码的情况下的自动化密码重置。
此外,如果用户联机并且可以获取两个密码秘密,则在一些实施例中,加密引擎可以利用在此讨论的方法来在不需要用户录入其用户密码的情况下访问虚拟硬盘。这样做可以是方便和有效的,并且降低当用户登入认证系统时要求录入的密码的数量。
图4是图示用于集中认证和访问加密的虚拟硬盘的方法的框图。概括地,客户端计算机102可以经由认证插件420与安全网络存储服务器430通信。在一些实施例中,认证插件420可以包括由Citrix Systems公司制造的XenVault插件。安全网络存储服务器430可以包括同样由Citrix Systems公司制造的XenVault服务器。尽管被图示为分开,但是在一些实施例中,认证插件420可以是应用递送客户端270的部分,和/或安全网络存储服务器430可以是服务器106的部分。
在402,应用递送客户端270可以向应用递送服务器280传输用户标识符和密码。这例如可以在当用户登入时完成。在404,应用递送服务器280可以利用令牌进行响应。令牌可以是密码散列、随机 数据或者对于用户登入会话而言唯一的其他数据串。令牌可以在406处被传递至认证插件420。
在408,令牌可以被传输至安全网络存储服务器430。安全网络存储服务器可以包括用于如上讨论的密码秘密中的一个密码秘密的存储位置。在一些实施例中,将令牌传输到安全网络存储服务器430可以包括建立安全通信信道,诸如SSL连接。
在410,令牌可以被传送至应用递送服务器280。在一些实施例中,安全网络存储服务器430可以建立与应用递送服务器的安全通信信道。在其他实施例中,安全网络存储服务器和应用递送服务器280可以在防火墙或者其他安全区之后,并且可以因此不需要在它们之间的附加安全性。
应用递送服务器280可以比对当前有效令牌的数据库来检查从安全网络存储服务器430接收的令牌,或者在一些实施例中,可以通过比对利用令牌传输的用户标识符通过检查令牌的散列来验证令牌。如果令牌为有效,则在412,应用递送服务器280可以向安全网络存储服务器430返回批准响应。在414,安全网络存储服务器430可以向认证插件420返回批准响应。在一些实施例中,安全网络存储服务器430可以响应于令牌验证来进一步提供对存储位置或者其他受保护资源的访问。
因此,简单签到可以被用于认证用户并且接收令牌,该令牌可以被自动提供至附加服务器并由令牌发布者验证。一旦被连接,则加密引擎可以获取密码秘密并生成保护密钥,从而在无需用户密码的情况下提供对加密的虚拟硬盘的访问。
在此讨论的系统和方法还可以被用于提供“毒药(killpill)”或者禁用加密的虚拟硬盘的用户头部,从而在不删除虚拟硬盘内存储的信息的情况下防止用户访问。例如,如果用户的膝上型计算机被恶意攻击者偷走,则攻击者可以尝试强力解密方法或者字典攻击来解码用户头部并恢复卷密钥。尽管一些系统可以响应于预定数目的失败访问尝试来提供销毁虚拟硬盘,但这导致可能有价值的虚拟硬 盘内的公司数据的永久损失,特别是在恢复膝上型计算机的情况下。在一个实施例中,虚拟硬盘的用户头部可以被删除,而仍然保留管理员头部和净载荷。如果设备被恢复或者攻击者以其他方式失败,则管理员头部可以被用于恢复卷密钥并生成新的用户头部,这类似于关于用户密码重置中所讨论的方法。
在一个实施例中,计算设备上的安全性代理可以被配置用于周期性地或者在预定间隔、只要计算设备找到新的网络连接、或者在其他时间,联系服务器、认证服务器、安全性服务器或者其他实体。安全性代理可以包括用于与服务器通信以及删除虚拟硬盘的用户头部的服务、守护进程、应用、例程或者其他可执行代码。在一些实施例中,服务器可以被配置用于递送“毒药”、令牌或者指示安全性代理应当删除用户头部的其他消息。例如,如果顾问的合约到期或者用户从公司离职或者用户通知组织他的计算设备被盗或者以其他方式被危害,则管理员可以配置服务器以向计算设备递送“毒药”以删除用户头部(例如,并不删除管理员头部)并且防止用户访问虚拟硬盘。
在另一示例中,在计算设备脱机持续一时段的情况下,安全性代理还可以充当“死人交换机(dead man’s switch)”。安全性代理可以执行定时器函数。如果定时器(表示“租用期”或者在无需与安全性服务器通信的情况下用户可以使用加密的虚拟硬盘多长时间)到期,则安全性代理可以删除用户头部。这样做可以防止攻击者在保持计算设备脱机的情况下对用户头部使用强力攻击,或者以其他方式强迫用户周期性地向服务器报到(并且顺便获取等待被递送的任何毒药)。
如上所述,如果用户头部经由毒药或者定时器到期而被删除,虚拟硬盘没有被销毁。如果用户仍然有权限或者是组织成员,则用户可以登入或者以其他方式认证服务器并获取密码秘密以生成保护密钥来解密管理员头部并获取卷密钥。用户或者加密引擎可以继而利用解密的卷密钥来生成新的用户头部并访问虚拟硬盘中的受保护 数据。在一个示例中,用户或者加密引擎可以确定用户头部已经出于各种原因而被删除。在这样的情况下,响应于确定用户头部已经被删除,用户或者加密引擎(例如,用户设备或者服务器)可以在与虚拟硬盘相关联的用户下次向服务器登录/认证时自动生成新的用户头部。在一些示例中,服务器可以要求删除用户头部所依据的条件与各种预定义或者指定的合格条件(例如,持续阈值数量时间没有登录、过多失败尝试等)相匹配的以重新生成用户头部。否则(例如,未满足指定条件),用户可以被要求执行除登入服务器以外的各种动作使得重新生成用户头部并且恢复访问,诸如将计算设备携带至组织或者服务位置中。因此,在此讨论的方法和系统在不破坏公司信息的情况下提供了附加安全性。
应当理解,上文描述的系统可以提供那些组件中的任何组件中的多个组件或者每个组件,并且这些组件可以在独立机器上被提供,或者在一些实施例中可以在分布式系统中的多个机器上被提供。上文描述的系统和方法可以被实现为方法、装置或者制造品,该制造品使用编程和/或工程技术来产生软件、固件、硬件或者其任何组合。另外,上述系统和方法可以被提供作为体现在一个或者多个制造品上或者中的一个或者多个计算机可读程序。在此使用的术语“制造品”旨在涵盖从如下可访问、或者在其中体现的代码或者逻辑:一个或者多个计算机可读设备、固件、可编程逻辑、存储器设备(例如,EEPROM、ROM、PROM、RAM、SRAM等)、硬件(例如,集成电路芯片、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)、电子设备、计算机可读非易失性存储单元(例如,CD-ROM、软盘、硬盘驱动等)。制造品可以经由如下从提供对计算机可读程序的访问的文件服务器可访问:网络传输线、无线传输介质、通过空间、无线波、红外信号等传播的信号。制造品可以是闪存卡或者磁带。制造品包括硬件逻辑以及在由处理器执行的计算机可读介质中体现的可编程代码或者软件。通常,计算机可读程序可以按照任何编程语言实现,诸如,LISP、PERL、C、C++、C#、PROLOG、 或者按照诸如JAVA的任何字节代码语言来实现。软件程序可以作为对象代码被存储在一个或者多个制造品之上或者之中。
尽管已经描述了方法和系统的各种实施例,但是这些实施例是示例性的并且绝非限制所描述的方法和系统的范围。相关领域技术人员可以针对描述的方法和系统的细节和形式进行改变,而不脱离所描述的方法和系统的最宽泛范围。因此,在此描述的方法和系统的范围并不受到任何示例性实施例的限制,而是应当根据所附权利要求书及其等同物来被定义。

Claims (18)

1.一种用于保护加密的虚拟硬盘的方法,包括:
由计算设备确定第一加密秘密和第二加密秘密;
由所述计算设备使用所述第一加密秘密和所述第二加密秘密来基于加密算法生成加密密钥;
由所述计算设备使用所述加密密钥来加密数据存储的头部,其中所述数据存储的所述头部存储用以加密所述数据存储的至少净载荷的卷密钥;
由所述计算设备在加密头部之后删除所述加密密钥;以及
由所述计算设备将所述第一加密秘密存储至第一存储位置并且将所述第二加密秘密存储至第二存储位置,其中所述第一存储位置和所述第二存储位置对应于不同的网络位置。
2.根据权利要求1所述的方法,其中所述加密密钥被删除而不允许对所述加密密钥的任何传输。
3.根据权利要求1所述的方法,其中基于所述加密算法生成所述加密密钥进一步使用所述数据存储的卷标识符。
4.根据权利要求1所述的方法,进一步包括:
使用不同于所述加密密钥的密钥加密所述数据存储的第二头部,所述第二头部不同于使用所述加密密钥而加密的所述头部,其中所述第二头部存储所述卷密钥。
5.根据权利要求4所述的方法,进一步包括:
确定所述第二头部已经被删除;
响应于确定所述第二头部已经被删除,确定与所述数据存储相关联的用户是否已经被认证;以及
响应于确定与所述数据存储相关联的所述用户已经被认证,重新生成所述第二头部。
6.根据权利要求4所述的方法,进一步包括:
确定至少一个预定义的条件已经被满足;以及
响应于确定所述至少一个预定义的条件已经被满足,传输用以删除所述第二头部而不删除使用所述加密密钥加密的所述头部的命令。
7.根据权利要求6所述的方法,其中所述至少一个预定义的条件包括时间段过期。
8.根据权利要求6所述的方法,其中所述至少一个预定义的条件包括多个失败的认证尝试。
9.一种用于保护加密的虚拟硬盘的方法,包括:
由计算设备接收请求,所述请求用以解密使用第一密钥加密的数据存储的至少净载荷,其中所述数据存储是可安装至用户的计算设备的虚拟硬盘;
由所述计算设备获取来自第一网络位置的第一加密秘密和来自第二网络位置的第二加密秘密;
由所述计算设备使用所述第一加密秘密和所述第二加密秘密并且进一步使用所述数据存储的卷标识符来生成第二密钥;
由所述计算设备使用所述第二密钥解密所述数据存储的头部;
由所述计算设备获取来自解密的所述头部的所述第一密钥;以及
由所述计算设备解密所述数据存储的所述至少净载荷。
10.根据权利要求9所述的方法,进一步包括:在解密所述数据存储的所述头部之后删除生成的所述第二密钥而没有对生成的所述第二密钥的任何传输。
11.根据权利要求9所述的方法,其中所述第一网络位置是用户存储位置而所述第二网络位置是管理员存储位置。
12.根据权利要求9所述的方法,其中进一步使用存储在所述数据存储的明文头部中的密码销售来执行生成所述第二密钥。
13.一种用于保护加密的虚拟硬盘的系统,所述系统包括:
用于确定第一加密秘密和第二加密秘密的装置;
用于使用所述第一加密秘密和所述第二加密秘密来基于加密算法生成加密密钥的装置;
用于使用所述加密密钥来加密数据存储的头部的装置,其中所述数据存储的所述头部存储用以加密所述数据存储的至少净载荷的卷密钥;
用于在加密头部之后删除所述加密密钥的装置;以及
用于将所述第一加密秘密存储至第一存储位置并且将所述第二加密秘密存储至第二存储位置的装置,其中所述第一存储位置和所述第二存储位置对应于不同的网络位置。
14.根据权利要求13所述的系统,其中所述加密密钥在对所述加密密钥的任何传输之前被删除。
15.根据权利要求13所述的系统,其中基于所述加密算法生成所述加密密钥进一步使用所述数据存储的卷标识符。
16.根据权利要求13所述的系统,进一步包括:
用于使用不同于所述加密密钥的密钥加密所述数据存储的第二头部的装置,所述第二头部不同于使用所述加密密钥加密的所述头部,其中所述第二头部还存储所述卷密钥。
17.根据权利要求16所述的系统,进一步包括:
用于确定所述第二头部已经被删除的装置;
用于响应于确定所述第二头部已经被删除来确定与所述数据存储相关联的用户是否已经被认证的装置;以及
用于响应于确定与所述数据存储相关联的所述用户已经被认证来重新生成所述第二头部的装置。
18.根据权利要求17所述的系统,其中所述数据存储是安装至所述用户的计算设备的虚拟存储盘,并且其中所述第二头部被重新生成至所述用户的计算设备。
CN201280024313.XA 2011-05-20 2012-05-18 保护加密的虚拟硬盘 Active CN103563278B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161488615P 2011-05-20 2011-05-20
US61/488,615 2011-05-20
PCT/US2012/038521 WO2012162128A1 (en) 2011-05-20 2012-05-18 Securing encrypted virtual hard disks

Publications (2)

Publication Number Publication Date
CN103563278A CN103563278A (zh) 2014-02-05
CN103563278B true CN103563278B (zh) 2017-02-08

Family

ID=47175864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280024313.XA Active CN103563278B (zh) 2011-05-20 2012-05-18 保护加密的虚拟硬盘

Country Status (4)

Country Link
US (3) US8687814B2 (zh)
EP (1) EP2710755B1 (zh)
CN (1) CN103563278B (zh)
WO (1) WO2012162128A1 (zh)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311509B2 (en) * 2010-05-09 2016-04-12 Citrix Systems, Inc. Creation and delivery of encrypted virtual disks
JP5827518B2 (ja) * 2011-08-17 2015-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報管理システム、方法及びプログラム
US9286471B2 (en) 2011-10-11 2016-03-15 Citrix Systems, Inc. Rules based detection and correction of problems on mobile devices of enterprise users
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
DE102011054842A1 (de) * 2011-10-27 2013-05-02 Wincor Nixdorf International Gmbh Vorrichtung zur Handhabung von Wertscheinen und/oder Münzen sowie Verfahren zur Initialisierung und zum Betrieb einer solchen Vorrichtung
JP2013131158A (ja) * 2011-12-22 2013-07-04 Fujitsu Ltd 自動仮想化プログラム、自動仮想化方法及び情報処理装置
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US9170800B2 (en) 2012-10-16 2015-10-27 Citrix Systems, Inc. Application wrapping for application management framework
US8997197B2 (en) * 2012-12-12 2015-03-31 Citrix Systems, Inc. Encryption-based data access management
CN102984273B (zh) * 2012-12-13 2015-01-07 华为技术有限公司 虚拟磁盘加密方法、解密方法、装置及云服务器
US20140245025A1 (en) * 2013-02-22 2014-08-28 Spideroak Inc. System and method for storing data securely
US9165151B2 (en) * 2013-03-13 2015-10-20 Fred Federspiel Systems, methods, and devices for encrypted data management
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
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
MX2015014636A (es) 2013-04-18 2016-05-31 Facecon Co Ltd Metodo de seguridad para archivos y aparatos para el mismo.
US10078754B1 (en) * 2013-09-24 2018-09-18 Amazon Technologies, Inc. Volume cryptographic key management
US9798561B2 (en) * 2013-10-31 2017-10-24 Vmware, Inc. Guarded virtual machines
EP3089091B1 (en) * 2014-05-02 2020-03-11 Barclays Execution Services Limited Transaction authentication
US9864874B1 (en) * 2014-05-21 2018-01-09 Amazon Technologies, Inc. Management of encrypted data storage
WO2016106566A1 (zh) * 2014-12-30 2016-07-07 华为技术有限公司 虚拟化系统中加解密的方法、装置和系统
US9954837B2 (en) * 2015-01-07 2018-04-24 Cyph, Inc. Method of multi-factor authenication during encrypted communications
US20220360573A1 (en) * 2015-01-07 2022-11-10 Cyph Inc. Encrypted group communication method
JP6478800B2 (ja) * 2015-05-18 2019-03-06 三菱電機株式会社 デジタルコンテンツ編集装置、デジタルコンテンツ再生装置、デジタルコンテンツ復号装置、デジタルコンテンツ暗号化復号システムおよびデジタルコンテンツ暗号化復号方法
US9736122B2 (en) 2015-09-02 2017-08-15 International Business Machines Corporation Bluesalt security
CA2999343C (en) 2015-09-25 2018-12-11 Genetec Inc. Secure enrolment of security device for communication with security server
KR102428461B1 (ko) 2015-10-19 2022-08-03 삼성전자주식회사 선택적 암호화 방법 및 그를 이용한 전자 장치
US10033704B2 (en) * 2015-11-29 2018-07-24 International Business Machines Corporation Securing enterprise data on mobile devices
US10038551B2 (en) * 2015-11-29 2018-07-31 International Business Machines Corporation Securing enterprise data on mobile devices
US10778435B1 (en) * 2015-12-30 2020-09-15 Jpmorgan Chase Bank, N.A. Systems and methods for enhanced mobile device authentication
US11210406B2 (en) * 2016-07-15 2021-12-28 Seagate Technology Llc Encrypting system level data structures
US10516528B2 (en) * 2016-08-31 2019-12-24 Nicira, Inc. System and method for managing secret information using virtualization
CN106713334B (zh) * 2016-12-31 2020-11-17 云宏信息科技股份有限公司 虚拟存储卷的加密方法、解密方法、访问方法以及装置
US10387661B2 (en) * 2017-01-09 2019-08-20 Pure Storage, Inc. Data reduction with end-to-end security
US9817675B1 (en) 2017-01-31 2017-11-14 Hytrust, Inc. Methods and systems for attaching an encrypted data partition during the startup of an operating system
CN108632021A (zh) 2017-03-15 2018-10-09 阿里巴巴集团控股有限公司 一种密钥加密方法、装置和系统
EP3379445B1 (en) * 2017-03-22 2024-06-12 Diebold Nixdorf Systems GmbH System and method to generate encryption keys based on information of peripheral devices
CN106845261A (zh) * 2017-04-18 2017-06-13 广东浪潮大数据研究有限公司 一种销毁ssd硬盘数据的方法及装置
US10728025B2 (en) 2018-04-13 2020-07-28 Amazon Technologies, Inc. Encryption by default in an elastic computing system
WO2020112208A2 (en) * 2018-09-14 2020-06-04 SeaPort, Inc. Methods and systems for encoding and decoding communications
US10867052B1 (en) * 2018-09-25 2020-12-15 Amazon Technologies, Inc. Encryption intermediary for volume creation
EP3629214A1 (en) * 2018-09-27 2020-04-01 Thales Dis France SA Method for building a predefined secret value
US10860500B2 (en) * 2019-01-28 2020-12-08 Intel Corporation System, apparatus and method for replay protection for a platform component
US11340797B2 (en) * 2019-10-04 2022-05-24 Zettaset, Inc. Dedicated encrypted container storage
US10742414B1 (en) * 2019-10-18 2020-08-11 Capital One Services, Llc Systems and methods for data access control of secure memory using a short-range transceiver
US10985921B1 (en) * 2019-11-05 2021-04-20 Capital One Services, Llc Systems and methods for out-of-band authenticity verification of mobile applications
CN112784263B (zh) * 2019-11-08 2024-03-08 精品科技股份有限公司 位元锁磁盘处理程序管理系统与方法
TWI736012B (zh) * 2019-11-08 2021-08-11 精品科技股份有限公司 位元鎖磁碟處理程序管理系統與方法
KR102325986B1 (ko) * 2020-01-22 2021-11-12 네이버클라우드 주식회사 스토리지 암호화의 동적 적용을 위한 방법 및 시스템
US11501026B2 (en) * 2020-07-13 2022-11-15 Avaya Management L.P. Method to encrypt the data at rest for data residing on Kubernetes persistent volumes
US11995223B2 (en) 2020-10-19 2024-05-28 Western Digital Technologies, Inc. Data storage device encryption
US12058259B2 (en) 2020-10-19 2024-08-06 SanDisk Technologies, Inc. Data storage device encryption
US12034845B2 (en) 2020-11-30 2024-07-09 Citrix Systems, Inc. Smart card and associated methods for initiating virtual sessions at kiosk device
CN112231779B (zh) * 2020-12-11 2021-02-19 成都艾勃科技有限公司 一种兼容BitLocker加密磁盘的跨平台数据安全保护方法
US11803398B2 (en) 2021-02-16 2023-10-31 Citrix Systems, Inc. Computing device and associated methods providing browser launching of virtual sessions in an application
US11556659B1 (en) 2021-03-03 2023-01-17 Amazon Technologies, Inc. Partially encrypted snapshots
US11474840B1 (en) 2021-05-17 2022-10-18 Citrix Systems, Inc. Computing device and related methods providing virtual session launching from previously cached assets
CN113239378B (zh) * 2021-05-17 2022-03-18 中国电子科技集团公司第三十研究所 BitLocker加密卷的口令恢复方法、设备及介质
CN113312149B (zh) * 2021-06-18 2023-03-31 浪潮云信息技术股份公司 一种密码重置方法
CN114006695B (zh) * 2021-10-28 2024-02-02 杭州海康威视数字技术股份有限公司 硬盘数据保护方法、装置、可信平台芯片及电子设备
CN114553478B (zh) * 2022-01-13 2024-10-01 成都储迅科技有限责任公司 一种基于国密的云服务器访问固态硬盘的安全系统和方法
US12026123B2 (en) 2022-01-13 2024-07-02 Cyera, Ltd. System and method for data discovery in cloud environments
CN115146318B (zh) * 2022-09-02 2022-11-29 麒麟软件有限公司 虚拟磁盘安全存储方法
CN116451263B (zh) * 2023-06-16 2023-08-22 深圳市彦胜科技有限公司 硬盘数据的储存方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4238854A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic file security for single domain networks
CN1465159A (zh) * 2000-07-14 2003-12-31 耶德托存取公司 基于安全分组的数据广播结构
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19629856A1 (de) * 1996-07-24 1998-01-29 Ibm Verfahren und System zum sicheren Übertragen und Speichern von schützbaren Informationen
US7325127B2 (en) * 2000-04-25 2008-01-29 Secure Data In Motion, Inc. Security server system
US7020779B1 (en) * 2000-08-22 2006-03-28 Sun Microsystems, Inc. Secure, distributed e-mail system
JP3784635B2 (ja) * 2000-11-10 2006-06-14 富士通株式会社 データ運用方法
US7496767B2 (en) * 2001-01-19 2009-02-24 Xerox Corporation Secure content objects
US7120792B1 (en) * 2001-07-26 2006-10-10 Packet Design, Inc. System and method for secure communication of routing messages
US7107459B2 (en) * 2002-01-16 2006-09-12 Sun Microsystems, Inc. Secure CPU and memory management unit with cryptographic extensions
ATE321412T1 (de) * 2002-07-26 2006-04-15 Green Border Technologies Wasserzeicheneinbettung auf der paketebene
KR100568233B1 (ko) * 2003-10-17 2006-04-07 삼성전자주식회사 인증서를 이용한 기기 인증 방법 및 상기 방법을 이용하여기기 인증을 수행하는 디지털 컨텐츠 처리 기기
KR100670010B1 (ko) * 2005-02-03 2007-01-19 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
US7831833B2 (en) 2005-04-22 2010-11-09 Citrix Systems, Inc. System and method for key recovery
CN101479984B (zh) * 2006-04-25 2011-06-08 斯蒂芬·L.·博伦 用于身份管理、验证服务器、数据安全和防止中间人攻击的动态分发密钥系统和方法
US7793110B2 (en) * 2006-05-24 2010-09-07 Palo Alto Research Center Incorporated Posture-based data protection
US8037319B1 (en) * 2006-06-30 2011-10-11 Symantec Operating Corporation System and method for securely storing cryptographic keys with encrypted data
US7912223B2 (en) * 2006-09-29 2011-03-22 Hitachi, Ltd. Method and apparatus for data protection
JP2008103936A (ja) * 2006-10-18 2008-05-01 Toshiba Corp 秘密情報管理装置および秘密情報管理システム
US8111828B2 (en) * 2007-07-31 2012-02-07 Hewlett-Packard Development Company, L.P. Management of cryptographic keys for securing stored data
EP2088732A1 (en) * 2008-02-06 2009-08-12 Micronas GmbH Apparatus and method for secure data processing
US8462954B2 (en) * 2008-05-30 2013-06-11 Motorola Mobility Llc Content encryption using at least one content pre-key
US20100153703A1 (en) * 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
US20110154023A1 (en) * 2009-12-21 2011-06-23 Smith Ned M Protected device management
US9742564B2 (en) * 2010-05-14 2017-08-22 Oracle International Corporation Method and system for encrypting data
US8675875B2 (en) * 2010-05-18 2014-03-18 International Business Machines Corporation Optimizing use of hardware security modules
US8745386B2 (en) * 2010-06-21 2014-06-03 Microsoft Corporation Single-use authentication methods for accessing encrypted data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4238854A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic file security for single domain networks
CN1465159A (zh) * 2000-07-14 2003-12-31 耶德托存取公司 基于安全分组的数据广播结构
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment

Also Published As

Publication number Publication date
WO2012162128A1 (en) 2012-11-29
US20140164792A1 (en) 2014-06-12
US8687814B2 (en) 2014-04-01
US9690954B2 (en) 2017-06-27
US20160004885A1 (en) 2016-01-07
EP2710755A4 (en) 2015-02-25
US20120297206A1 (en) 2012-11-22
CN103563278A (zh) 2014-02-05
US9166787B2 (en) 2015-10-20
EP2710755B1 (en) 2018-08-01
EP2710755A1 (en) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103563278B (zh) 保护加密的虚拟硬盘
CN110892691B (zh) 安全执行平台群集
US9805210B2 (en) Encryption-based data access management
EP3565174B1 (en) Access management system, access management method, and program
TWI601405B (zh) 用於雲端輔助式密碼術之方法及設備
US9311509B2 (en) Creation and delivery of encrypted virtual disks
CN104520805B (zh) 根据企业信息控制策略的带有密钥和数据交换的安全应用程序生态系统
CN104618096B (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
US20220006621A1 (en) Multi-factor-protected private key distribution
WO2021129003A1 (zh) 一种密码管理方法及相关装置
WO2013008351A1 (ja) データ分散保管システム
US11290277B2 (en) Data processing system
Anitha et al. Secure virtual machine migration in virtualized environment
Song et al. A private walk in the clouds: Using end-to-end encryption between cloud applications in a personal domain
CN113574837A (zh) 跟踪客户端设备上的图像发送者
US20220006795A1 (en) Secure message passing using semi-trusted intermediaries
US20070234033A1 (en) Method for establishing secure distributed cryptographic objects
CA3104787C (en) Secure message passing using semi-trusted intermediaries
Balamurugan et al. Data Security and Cryptography in Cloud Environment
Yadav et al. Fingerprinting Based Recursive Information Hiding Strategy in Cloud Computing Environment

Legal Events

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