CN101983379B - 盘驱动器数据加密 - Google Patents
盘驱动器数据加密 Download PDFInfo
- Publication number
- CN101983379B CN101983379B CN200880128467.7A CN200880128467A CN101983379B CN 101983379 B CN101983379 B CN 101983379B CN 200880128467 A CN200880128467 A CN 200880128467A CN 101983379 B CN101983379 B CN 101983379B
- Authority
- CN
- China
- Prior art keywords
- blob
- key
- memory device
- stored
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/40—Combinations of multiple record carriers
- G11B2220/41—Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
- G11B2220/415—Redundant array of inexpensive disks [RAID] systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
实施例包括用于存储设备数据加密的方法、装置和系统。一种方法包括用密钥对存储设备上的数据进行加密并然后将该密钥传输到密码模块,该密码模块对密钥进行加密以形成二进制大对象(BLOB)。该BLOB被传输到被耦合到存储设备的阵列控制器,所述存储设备存储BLOB。
Description
背景技术
在许多存储系统中,盘驱动器从主机计算机接收读和写请求。为了安全起见,需要对存储在盘驱动器上的数据进行加密。为了保证数据安全,出现关于如何保证所存储的数据的安全和将密码密钥(cryptographic key)存储在哪里的重要问题。
在某些存储系统中,所述主机计算机将密码密钥和数据两者发送到驱动器。在此操作中,主机控制密码密钥和数据流两者。
在其它存储系统中,将密码密钥存储在中央密钥服务器上。及时且安全地管理单个服务器中的大量密码密钥是困难的任务。例如,可能由于需要在服务器处认证许多不同的用户或主机以便访问密码密钥而出现问题。此外,如果密码密钥被存储在服务器内,则支持相应的盘阵列控制器的服务器必须知道与存储每个密码密钥相关的特定要求。
在其它存储系统中,密码密钥被存储在盘阵列控制器中。然而,如果该阵列控制器出现故障,则所存储的密码密钥被困在出现故障的控制器内且存储在盘上的相关数据是不可访问的。
附图说明
图1A是依照本发明的示例性实施例的用于将密码密钥存储在盘驱动器中的流程图。
图1B是依照本发明的示例性实施例的用于将密码密钥存储在盘驱动器中的系统的方框图。
图2A是依照本发明的示例性实施例的用于从盘驱动器检索密码密钥的流程图。
图2B是依照本发明的示例性实施例的用于从盘驱动器检索密码密钥的系统的方框图。
图3A是依照本发明的示例性实施例的用于将密码密钥存储在盘驱动器中的流程图的另一示例。
图3B是依照本发明的示例性实施例的用于将密码密钥存储在盘驱动器中的系统的方框图。
图4A是依照本发明的示例性实施例的用于从盘驱动器检索密码密钥的流程图的另一示例。
图4B是依照本发明的示例性实施例的用于从盘驱动器检索密码密钥的系统的方框图。
图5是依照本发明的示例性实施例的使用加密的存储系统。
图6是依照本发明的示例性实施例的使用加密的计算机或存储系统。
具体实施方式
依照本发明的实施例针对用于使存储系统中的密码密钥管理自动化的装置、系统和方法。一个示例性实施例安全地获取、递送和存储用来对诸如盘驱动器的存储设备中的数据进行加密和解密的密码密钥。此外,示例性实施例保护可移除介质(诸如硬盘驱动器)在该可移除介质被移动或放置在未授权装置中时不被未授权访问。
在一个示例性实施例中,从盘控制器向密钥服务器提供密码密钥。该密码密钥用来对盘驱动器上的数据进行加密和解密。在接收到密码密钥后,密钥服务器向密码密钥添加数据并对其加密以形成二进制大对象(BLOB)。现在被密封或加密的BLOB然后被送回控制器,该控制器将BLOB引导到盘驱动器以便存储。
为了将BLOB解封,盘控制器将密封的BLOB传输到密钥服务器。在接收到BLOB后,密钥服务器将BLOB解封并将原始密码密钥返回到控制器和盘驱动器。现在可以使用该密码密钥从盘驱动器读取并向盘驱动器写入数据。
由于盘驱动器实际上存储BLOB,所以盘驱动器可以在仍提供对存储数据的访问的同时从一个控制器迁移到另一控制器。在迁移之后,盘驱动器将BLOB提供回密钥服务器,并且该密钥服务器向盘驱动器返回原始密码密钥。
在一个实施例中,密钥服务器包括密码模块(诸如可信平台模块,TPM)以生成BLOB。密钥服务器不永久性地存储BLOB,而是将其发送到盘驱动器以便存储。同样地,密钥服务器不负担存储用于许多盘驱动器的状态信息(诸如密钥和BLOB)。作为替代,在各个盘驱动器上进行BLOB的存储,同时一旦接收到BLOB,使用密钥服务器进行转换以对BLOB进行密封和解封。
每个密钥服务器具有唯一的身份或标识。在一个实施例中,使用此唯一身份来对从阵列控制器接收到的密码密钥进行密封和解封。由于身份是特定密钥服务器所独有的,所以只有密封BLOB的密钥服务器稍后可以对该BLOB进行解封并提取原始密钥。作为示例,每个密钥服务器可以存储用来对特定存储设备的数据进行密封和解封的各种唯一密钥(例如,每个客户端或主机具有一个或多个唯一密钥)。
一个实施例将计算节点密钥BLOB或密钥服务器密钥BLOB存储在盘驱动器的元数据区域中。例如,用于使用服务器TPM对RAID(独立/廉价盘冗余阵列)控制器计算节点密钥进行绑定或密封的BLOB被存储在盘驱动器的非用户可访问元数据区域中。盘驱动器的元数据区域是与应用数据分离且用户不可访问的盘驱动器的区段。
图1A示出用于将密码密钥存储/密封在存储设备中的流程图,并且图1B示出依照本发明的示例性实施例的用于将密码密钥存储/密封在存储设备中的系统150的方框图。为了说明,存储设备被示为盘驱动器,并且密码密钥被示为计算节点密钥。
在一个实施例中,卷访问策略定义用于访问盘驱动器的一组规则或策略。如果卷访问策略被设置为包括计算节点,则只有当RAID控制器在适当服务器中时,才能适当地对加密盘数据进行解密。如果卷访问策略被设置为包括计算节点配置,则只有当RAID控制器在适当服务器中且该服务器被适当配置时,才能适当地对加密盘数据进行解密。利用可信平台模块BLOB密封机制来验证服务器和服务器配置。每个RAID控制器可以存在一个或多个计算节点密钥(例如,在刀片环境中存在多个计算节点密钥)。该设计实现允许每个存储卷有不同的计算节点密钥。
在一个实施例中,计算节点密钥不离开纯文本中的密码边界且其未被存储在非易失性存储器中。作为替代,密钥在离开密码边界之前被加密。由服务器可信平台模块在每个上电初始化过程重新生成计算节点密钥。
根据方框100,管理工具180生成计算节点密钥。例如,管理工具(以硬件和/或软件实现)使用随机数发生器来生成256位计算节点密钥。
根据方框105,管理工具180向阵列控制器170发送计算节点密钥。一旦接收到,则阵列控制器170将计算节点密钥添加到卷访问策略。
根据方框110,管理工具180然后将计算节点密钥发送到服务器190以便密封。举例来说,管理工具180将计算节点密钥传送到服务器190中的密码模块(诸如可信平台模块)并请求将计算节点密钥密封以创建BLOB。
根据方框115,服务器190使用密码模块来对计算节点密钥进行密封或加密以创建BLOB。密封的计算节点密钥(现在为加密BLOB)被返回到管理工具180。举例来说,TPM将计算节点密钥密封并将结果得到的BLOB返回到管理工具。
根据方框120,管理工具180将BLOB发送到阵列控制器170。在一个实施例中,此交换不需要被加密,因为BLOB本身不暴露任何密码机密。
根据方框125,阵列控制器170将BLOB提供给盘驱动器160,BLOB被存储在盘驱动器160。例如,阵列控制器170将密封的计算节点密钥存储在(一个或多个)适当卷的元数据区域卷特有信息区域中。
图2A示出用于对存储设备中的密码密钥进行检索/解封的流程图,并且图2B示出依照本发明的示例性实施例的用于对存储设备中的密码密钥进行检索/解封的系统250的方框图。图2B与图1B共享相同的参考标号。
根据方框200,在主机上执行的软件代码260向阵列控制器170请求密封的计算节点密钥(即BLOB)。为了说明,所述代码被示为执行选项ROM代码。
根据方框205,阵列控制器170从盘驱动器160检索BLOB并将其返回主机。例如,RAID控制器从盘驱动器检索适当的密封的计算节点密钥并将其从RAID控制器NVRAM返回。
根据方框210,执行选项ROM代码260将BLOB呈现给服务器190中的密码模块以便解封。例如,执行选项ROM代码将BLOB传输到服务器可信平台模块,请求对计算节点密钥进行解封。
根据方框215,密码模块对BLOB进行解封并将原始计算节点密钥返回到执行选项ROM代码。如果RAID控制器170在适当的服务器中(服务器被适当配置),服务器可信平台模块将向执行选项ROM代码返回原始计算节点密钥。
根据方框220,执行选项ROM代码260将计算节点发送到阵列控制器170。现在可以对去往和来自盘驱动器的数据进行加密或解密。
示例性实施例还可以与密钥服务器和相应的密钥服务器密钥一起使用。例如,如果卷访问策略被设置为包括密钥服务器密钥(诸如256位密钥),则只有当阵列控制器能够与密钥服务器通信(即在适当网络上)时才能对加密的盘数据进行解密。在一个实施例中,每卷存在一个密钥服务器密钥,并且该密钥服务器密钥由密钥服务器生成。根据密钥服务器策略,所有卷可以使用相同的密钥服务器密钥,或者每个卷的密钥服务器密钥可以是唯一的。
密钥服务器密钥基于卷LUN(逻辑单元号)标识符被关联到特定的卷。在一个实施例中,即使在卷迁移到外部控制器之后,卷LUN标识符仍是持久不变的,保证即使在驱动器迁移之后,加密卷仍将是可访问的(假设控制器访问策略不包括不同服务器的计算节点密钥)。
除了在密钥服务器上,密钥服务器密钥被存储在易失性存储器中,在密钥服务器上该密钥被存储在非易失性存储器中。当密钥服务器密钥穿过密码边界时,首先用诸如传送密钥的另一密钥对其进行加密。举例来说,用阵列控制器与管理工具之间的未认证Diffie-Hellman交换(IKEv2-SCSI)来创建传送密钥。
响应于跨越密码边界发送密钥的需要来创建传送密钥。一旦已经建立传送密钥,则将其存储在阵列控制器上的易失性存储器中。可以对穿过密码边界的多个密钥或口令多次使用传送密钥。可以由管理工具在任何时间请求新传送密钥的生成(以替换现有的传送密钥)。
在一个实施例中,阵列控制器不直接与密钥服务器通信。作为替代,阵列控制器与管理工具通信,管理工具又与密钥服务器通信。在通信交换期间,阵列控制器(故意地)不对本身进行认证。如果卷访问局限于特定阵列控制器,则控制器访问策略被设置为包括本地密钥。
如果阵列控制器(借助于管理工具)向密钥服务器请求密钥服务器密钥且密钥服务器在一定的合理超时和重试次数之后拒绝,则与该密钥相关的卷被禁用。
如果卷访问策略被设置为包括密钥服务器密钥,则只有当阵列控制器能够与密钥服务器通信(即在适当网络上)时才能对加密的盘数据进行解密。在一个实施例中,每卷存在一个密钥服务器密钥,并且该密钥服务器密钥由密钥服务器生成。根据密钥服务器策略,所有卷可以使用相同的密钥服务器密钥,或者每个卷的密钥服务器密钥可以是唯一的。
在一个实施例中,密钥服务器密钥不离开纯文本中的密码边界且不被存储在非易失性存储器中(在离开密码边界之前对其进行加密)。由密钥服务器在每个上电初始化过程重新生成密钥服务器密钥。
根据方框300,管理工具380生成密钥服务器密钥。例如,管理工具(以硬件和/或软件实现)使用随机数发生器来生成256位密钥服务器密钥。
根据方框305,管理工具380将密钥服务器密钥发送到阵列控制器370。一旦接收到,则阵列控制器370将密钥服务器密钥添加到卷访问策略。
根据方框310,管理工具380然后将密钥服务器密钥发送到服务器390以便密封。举例来说,管理工具380将密钥服务器密钥传送到服务器390中的密码模块(诸如可信平台模块)并请求将密钥服务器密钥密封以创建BLOB。
根据方框315,服务器390使用密码模块来对密钥服务器密钥进行密封或加密以创建BLOB。密封的密钥服务器密钥(现在为加密BLOB)被返回到管理工具380。举例来说,TPM将密钥服务器密钥密封并将结果得到的BLOB返回到管理工具。
根据方框320,管理工具380将BLOB发送到阵列控制器370。在一个实施例中,此交换不需要被加密,因为BLOB本身不暴露任何密码机密。
根据方框325,阵列控制器370将BLOB提供给盘驱动器360,BLOB被存储在盘驱动器360。例如,阵列控制器370将密封的密钥服务器密钥存储在(一个或多个)适当卷的卷特有信息区域的元数据区域中。
图4A示出用于对存储设备中的密码密钥进行检索/解封的流程图,并且图4B示出依照本发明的示例性实施例的用于对存储设备中的密码密钥进行检索/解封的系统450的方框图。图4B与图3B共享相同的参考标号。
根据方框400,在主机上执行的软件代码460向阵列控制器370请求密封的密钥服务器密钥(即BLOB)。为了说明,所述代码被示为执行选项ROM代码。
根据方框405,阵列控制器370从盘驱动器360检索BLOB并将其返回主机。例如,RAID控制器从盘驱动器检索适当的密封的密钥服务器密钥并将其从RAID控制器NVRAM返回。
根据方框410,执行选项ROM代码460将BLOB呈现给服务器390中的密码模块以便解封。例如,执行选项ROM代码将BLOB传输到服务器可信平台模块,请求对密钥服务器密钥进行解封。
根据方框415,密码模块对BLOB进行解封并将原始密钥服务器密钥返回到执行选项ROM代码。如果RAID控制器370在适当的服务器中(服务器被适当配置),服务器可信平台模块将向执行选项ROM代码返回原始密钥服务器密钥。
根据方框420,执行选项ROM代码460将密钥服务器发送到阵列控制器370。现在可以对去往和来自盘驱动器的数据加密或解密。
在多种系统、方法和装置中利用依照本发明的实施例。为了说明,结合硬盘驱动器存储系统来讨论示例性实施例。然而,示例性实施例可适用于其它类型的存储系统,诸如使用带盒的存储设备、光盘、或可移动介质。
图5是依照本发明的示例性实施例的示例性分布式文件或存储系统500的方框图。举例来说,所述系统是包括多个主机计算机502和包含一个或多个存储控制器504(举例来说示为阵列控制器)的一个或多个存储设备或阵列503A、503B、以及多个存储设备506(举例来说示为盘阵列1至盘阵列N)的存储网络和/或存储区域网络(SAN)。
主机计算机502(示为主机1至主机N)通过一个或多个结构或网络510耦合到阵列控制器504,并且存储设备或阵列503通过一个或多个结构或网络511耦合到存储设备506。管理工具517耦合到网络510以便与阵列控制器504和诸如密钥服务器的一个或多个服务器519通信。例如,主机通过光纤信道(FC)使用小型计算机系统接口(SCSI)或其它接口/命令与阵列控制器通信。举例来说,网络510和511包括以太网、光纤信道(FC)、串行连接SCSI(SAS)、iSCSI、互联网、局域网(LAN)、广域网(WAN)、公共和/或私用网络等中的一个或多个。在图中示出通信链路512以表示主机、控制器、存储设备、管理工具、与服务器之间的通信路径或耦合。
在一个示例性实施例中,阵列控制器504和盘阵列506是网络附接设备,用于提供随机存取存储器(RAM)和/或盘空间(用于存储和作为虚拟RAM)和/或某种其它形式的存储装置,举例来说,诸如磁存储器(例如磁带)、微机械系统(MEMS)、或光盘。通常,阵列控制器和盘阵列包括较大量的RAM和/或盘空间以及一个或多个专用设备,诸如网络盘驱动器或盘驱动器阵列(例如独立盘冗余阵列(RAID))、高速带、磁性随机存取存储器(MRAM)系统或其它设备、及其组合。在一个示例性实施例中,阵列控制器504和盘阵列506是包括一个或多个服务器的存储器节点。
存储控制器504管理各种数据存储和检索操作。存储控制器504从主机计算机502接收I/O请求或命令,诸如数据读请求、数据写请求、维护请求等。存储控制器504处理多个盘阵列506和盘群组上的数据的存储和检索。在一个示例性实施例中,存储控制器504是单独的设备,或者可以是诸如服务器的计算机系统的一部分。另外,存储控制器504可以定位成与盘阵列506或相互之间接近、或相距大的地理距离。
阵列控制器504包括许多电子设备、电路板、电子组件等等。举例来说,阵列控制器504包括固件520、输入/输出(I/O)调度器522、缓冲器或队列524(例如,用来在所有权转移期间临时存储元数据结构)、一个或多个接口526、一个或多个处理器528(举例来说示为CPU,中央处理单元)、以及存储器530(包括读和写高速缓冲存储器)。CPU 528执行管理从主机计算机502接收到的各种数据存储和数据检索请求所需的操作和任务。例如,处理器528被耦合到主机接口526A,主机接口526A向一个或多个主机计算机502提供双向数据通信。处理器528还被耦合到向盘阵列506提供双向数据通信的阵列接口526B。
存储器530还被耦合到处理器528并存储处理器在执行其任务时所使用的各种信息。举例来说,存储器530包括易失性存储器、非易失性存储器、或易失性和非易失性存储器的组合中的一个或多个。存储器530例如存储应用、数据、控制程序、算法(包括实现或帮助实现依照本发明的实施例的软件)、和与存储设备相关的其它数据(例如,诸如映射元数据、配置元数据、和缓存的用户数据的状态数据)。处理器528经由一个或多个总线532与存储器530、接口526、和其他组件通信。
在至少一个实施例中,存储设备通过使用现有的复制、盘日志、和盘镜像系统及包括但不限于一级或多级廉价盘冗余陈列(RAID)的其它方法而成为容错的。当一个或多个盘阵列崩溃或以其他方式出现故障时,复制提供高可用性。此外,在一个示例性实施例中,存储设备以盘或盘阵列的形式提供存储器,其中,作为盘中存储的单独块(例如,每个512、1024、4096等字节)或条碎片(stripe fragment)(每个4K、16K、32K等等)访问要寻址的数据项目。
在一个实施例中,存储设备503A、503B是盘阵列。每个盘阵列可以具有一个或多个控制器。例如,阵列具有两个控制器以用于冗余。此外,如本文所讨论的,存储设备包括生产(production)盘和备用盘。
在一个实施例中,存储设备503A、503B在物理上位于同一数据中心中。在另一实施例中,存储设备位于单独数据中心中,相隔大的地理距离。此外,虽然仅示出两个存储设备,但SAN可以包括几百个或几千个此类存储设备。
图6示出计算机或存储系统600的示例性实施例。该系统包括使用密码模块620的计算机602(诸如密钥服务器)。计算机602经由网络652耦合到至少一个远程实体654。计算机602可以是例如服务器、台式计算机、膝上型计算机或移动设备。计算机602包括耦合到至少一个本地实体650的处理器640。本文所使用的“本地实体”指的是在计算机602内部的硬件/固件/软件实体且“远程实体”指的是在计算机602外部的硬件/固件/软件实体。本地实体的示例包括但不限于操作系统和外围设备,诸如智能卡读取器、硬盘驱动器、网络控制器、和图形控制器。远程实体的示例包括但不限于各种便携式和非便携式计算机和/或电子设备,诸如主机、盘阵列、控制器、服务器、大型计算机、分布式计算设备、膝上型计算机、及其它电子设备和系统,无论此类设备和系统是便携式还是非便携式的。
处理器640还耦合到网络接口648和存储用于计算机602的操作系统(OS)644的存储器642。如所示,存储器642还可以存储可信平台模块软件栈646(TSS),其处理被发送到耦合到处理器640的可信平台模块(TPM)620的请求。
TPM 620被配置为提供密码功能,诸如用于数字签名和用于加密的RSA非对称算法、SHA-I散列、基于散列的消息认证代码(HMAC)函数、安全存储、随机数生成、或其它功能。使用软件、固件和/或硬件来实现TPM 620。图6所示的TPM组件已被一般化且不是包括一切的。并且,TPM架构和功能可能根据可信计算组(TCG)的授权随时间而变。
如图6所示,TPM 620包括与处理器640通信的输入/输出(I/O)接口622。I/O接口622耦合到诸如密码服务624、随机数源626、非对称算法628、存储装置630和平台配置寄存器(PCR)632等其它TPM组件。密码服务624支持诸如散列、数字签名、加密和解密等功能。随机数源626生成用于密码服务624的随机数。例如,在某些实施例中,密码服务624使用随机数来生成密码密钥。非对称算法628使得TPM 620能够执行非对称密钥操作。存储装置630安全地存储受TPM 620保护的秘密(例如密码密钥或其它数据)。PCR 632存储关于计算机602的当前状态的信息。例如,在某些实施例中,PCR 632存储关于计算机602的单独完整性测量结果以及完整性测量结果的序列。
示例性实施例提供了一种独立于容纳TPM的服务器(不需要服务器特有支持)来存储TPM生成的BLOB的方法。照此,即使对数据进行加密的RAID控制器出现故障且被另一加密RAID控制器取代,实施例也保证对盘数据的访问(即BLOB未被困在或存储在出现故障的RAID控制器中,而是存储在驱动器中)。此外,示例性实施例不要求人为干预以执行计算机节点密钥备份操作,因为BLOB被RAID控制器存储在多驱动器RAID组的每个驱动器上。在TPM从一个服务器迁移到另一个的情况下,还可以在不涉及密码主管的情况下将相关盘驱动器迁移到新的服务器。
示例性实施例保护阵列控制器(基于硬件和软件两者)不受其它RAID控制器影响。由于特定控制器将提供的特征组(即迁移驱动器的困难)和密码应用通常公开其密钥管理架构这一事实,RAID控制器BLOB被存储在哪里是显而易见的。此外,由于BLOB被存储在驱动器的元数据部分中,所以认证的证据是BLOB本身,而不是证书或私钥。
定义:
如本文和权利要求书中所使用的,以下词语具有以下定义:
本文所使用的“BLOB”是由诸如TPM的密码模块或处理器生成的加密数据(供在受保护存储装置中使用,或用于将上下文保存在TPM外面)。
本文所使用的术语“存储设备”意指能够存储数据的任何数据存储设备,包括但不限于盘阵列、盘驱动器、带驱动器、固态驱动器、光学驱动器、SCSI设备、或光纤信道设备中的一个或多个。本文所使用的“盘阵列”或“阵列”是包括多个盘驱动器、高速缓冲存储器、和控制器的存储系统。阵列包括但不限于网络附接存储(NAS)阵列、模块化SAN阵列、单片SAN阵列、实用(utility)SAN阵列、和存储虚拟化。
本文所使用的“TPM”或“可信平台模块”是依照在TCG可信平台模块规范中定义的规范所实现的密码处理器。TPM提供各种功能,诸如密码密钥的安全生成、远程证明、密封存储、绑定、和硬件随机数发生器。
在一个示例性实施例中,使流程图中的一个或多个方框自动化。换言之,装置、系统和方法自动地发生。本文所使用的术语“自动化”或“自动地”(及其类似变体)意指不需要人为干预、观察、努力和/或判定的使用计算机和/或机械/电气设备控制装置、系统和/或过程的操作。
依照本发明的示例性实施例的流程图被作为示例提供且不应将其理解为限制本发明的范围内的其它实施例。例如,不应将方框理解为必须按照特定顺序进行的步骤。可以添加附加方框/步骤、去除某些方框/步骤、或修改方框/步骤的顺序,并且仍在本发明的范围内。此外,可以将不同图内的方框添加到其它图中的其它方框或与之交换。此外,应将特定数字数据值(诸如特定数量、数目、类别等)或其它特定信息解释为说明性的,用于讨论示例性实施例。提供此类特定信息不是为了限制本发明。
在依照本发明的各种实施例中,实施例被实现为方法、系统、和/或装置。作为一个示例,示例性实施例被实现为一个或多个计算机软件程序以实现本文所述的方法。该软件被实现为一个或多个模块(也称为代码子例程或面向对象编程中的“对象”)。软件的位置对于各种替换实施例而言将不同。例如,软件编程代码被计算机或服务器的处理器从诸如CD-ROM驱动器、闪速存储器、或硬盘驱动器等某种类型的长期存储介质访问。软件编程代码被包含或存储在多种已知介质中的任何一种上以供数据处理系统使用或在诸如半导体、磁性和光学设备等任何存储设备中使用,所述存储设备包括盘、硬盘驱动器、CD-ROM、ROM、闪速存储器等。代码被分布在此类介质上,或通过某种类型的网络从一个计算机系统的存储器或存储装置分发到其它计算机系统的用户以供此类其它系统的用户使用。或者,编程代码包含在存储器中并由处理器使用总线访问。用于在存储器中、在物理介质上包含软件编程代码、和/或经由网络分发软件代码的技术和方法是众所周知的,并且在本文中将不再讨论。
以上讨论意图说明本发明的原理和各种实施例。一旦完全理解本公开,许多变更和修改将变得对于本领域的技术人员来说显而易见。意图在于将以下权利要求解释为涵盖所有此类变更和修改。
Claims (19)
1.一种用于存储密码密钥的方法,包括:
用密码密钥对存储设备上的数据进行加密;
将所述密码密钥传输到密码模块,所述密码模块对该密钥进行加密以形成二进制大对象BLOB;
将所述BLOB传输到被耦合到所述存储设备的阵列控制器;以及
由所述阵列控制器将所述BLOB存储在与应用数据分开且不能被用户访问的存储设备的安全区段中。
2.权利要求1的方法,还包括:
接收请求以对所述存储设备上的数据进行解密;
响应于所述请求,将BLOB从所述存储设备传输到所述密码模块,所述密码模块从BLOB中提取密码密钥;
将从所述BLOB提取的所述密码密钥发送到所述阵列控制器;
用所述密码密钥对所述存储设备上的数据进行解密。
3.权利要求1的方法,还包括将所述BLOB存储在所述存储设备的可访问元数据部分中。
4.权利要求1的方法,还包括用可信平台模块(TPM)来加密所述密码密钥。
5.权利要求1的方法,还包括在所述存储设备的每个上电初始化过程重新生成密码密钥。
6.权利要求1的方法,其中所述存储设备是盘驱动器。
7.权利要求1的方法,还包括:
移动所述存储设备以耦合到另一阵列控制器;
允许在所述BLOB在服务器处被解密之后从所述存储设备读取数据。
8.一种用于检索密码密钥的方法,所述方法包括:
将二进制大对象BLOB存储在与应用数据分开且不能被用户访问的存储设备的安全区段中;
将所述BLOB从所述存储设备传输到密码模块,所述密码模块从该BLOB中提取加密的密钥;
将所述密码密钥传输到被耦合到所述存储设备的控制器;以及
使用所述密码密钥来对存储在所述存储设备上的数据进行加密或解密。
9.权利要求8的方法,还包括用随机数发生器来生成密钥。
10.权利要求8的方法,还包括:
在所述密钥被用来对存储在所述存储设备上的数据进行加密或解密之后将所述密钥发送回服务器;
在所述服务器处使用密码模块来形成BLOB;
将所述BLOB传输到所述存储设备以进行存储。
11.权利要求8的方法,还包括永久性地将BLOB仅存储在所述存储设备中且不存储在服务器或控制器中。
12.权利要求8的方法,还包括由控制器将所述BLOB存储在多驱动器独立/廉价盘冗余阵列(RAID)组中的每个存储设备上。
13.权利要求8的方法,还包括在不要求服务器存储所述BLOB的情况下使用所述控制器来设置并实行用于所述存储设备的认证策略。
14.权利要求8的方法,还包括使用为服务器所独有的身份来加密所述密钥并形成所述BLOB。
15.一种存储系统,包括:
密码模块,其加密密钥以形成二进制大对象BLOB;
阵列控制器,其与所述密码模块通信;以及
存储设备,其存储所述BLOB并连接到所述阵列控制器,其中所述存储设备将所述BLOB传输到所述密码模块,该密码模块提取所述密钥并将该密钥发送到所述阵列控制器以对存储在所述存储设备上的数据进行加密或解密,其中所述BLOB被存储在与应用数据分开且不能被用户访问的存储设备的安全区段中。
16.权利要求15的存储系统,其中所述密码模块是位于服务器中的可信平台模块(TPM)。
17.权利要求15的存储系统,还包括:用随机数发生器来生成密钥的软件管理工具。
18.权利要求15的存储系统,其中所述BLOB仅被存储在所述存储设备中。
19.权利要求15的存储系统,其中存储在所述存储设备上的数据在所述阵列控制器出现故障之后是可访问的,因为所述BLOB未被存储在阵列控制器中而是存储在所述存储设备中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2008/059072 WO2009123630A1 (en) | 2008-04-02 | 2008-04-02 | Disk drive data encryption |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101983379A CN101983379A (zh) | 2011-03-02 |
CN101983379B true CN101983379B (zh) | 2014-04-02 |
Family
ID=41135867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880128467.7A Active CN101983379B (zh) | 2008-04-02 | 2008-04-02 | 盘驱动器数据加密 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8417967B2 (zh) |
EP (1) | EP2260397A4 (zh) |
JP (1) | JP5230797B2 (zh) |
KR (1) | KR101379172B1 (zh) |
CN (1) | CN101983379B (zh) |
WO (1) | WO2009123630A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2260397A4 (en) * | 2008-04-02 | 2013-05-29 | Hewlett Packard Development Co | CHANGING DISK DRIVE DATA |
US8332604B2 (en) * | 2008-09-30 | 2012-12-11 | Intel Corporation | Methods to securely bind an encryption key to a storage device |
US8266290B2 (en) * | 2009-10-26 | 2012-09-11 | Microsoft Corporation | Scalable queues on a scalable structured storage system |
US8516137B2 (en) | 2009-11-16 | 2013-08-20 | Microsoft Corporation | Managing virtual hard drives as blobs |
US8390805B2 (en) | 2010-07-29 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Surface enhanced raman spectroscopy system |
WO2012023050A2 (en) | 2010-08-20 | 2012-02-23 | Overtis Group Limited | Secure cloud computing system and method |
WO2014091535A1 (ja) * | 2012-12-10 | 2014-06-19 | 株式会社日立製作所 | 計算機システム及び記憶部の暗号化方法 |
US9369445B2 (en) * | 2013-11-08 | 2016-06-14 | MustBin Inc. | Bin enabled data object encryption and storage apparatuses, methods and systems |
US9864874B1 (en) | 2014-05-21 | 2018-01-09 | Amazon Technologies, Inc. | Management of encrypted data storage |
US9565250B2 (en) | 2014-05-30 | 2017-02-07 | Microsoft Technology Licensing, Llc | Data transfer service |
US9684608B2 (en) * | 2014-10-28 | 2017-06-20 | Intel Corporation | Maintaining a secure processing environment across power cycles |
US10025932B2 (en) | 2015-01-30 | 2018-07-17 | Microsoft Technology Licensing, Llc | Portable security device |
JP6492731B2 (ja) * | 2015-02-16 | 2019-04-03 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及びストレージ制御プログラム |
CN105119719B (zh) * | 2015-10-16 | 2018-05-04 | 成都卫士通信息产业股份有限公司 | 一种安全存储系统的密钥管理方法 |
CN105243344B (zh) * | 2015-11-02 | 2020-09-01 | 上海兆芯集成电路有限公司 | 具有硬盘加密功能的芯片组以及主机控制器 |
US10868805B2 (en) | 2016-06-16 | 2020-12-15 | Microsoft Technology Licensing, Llc | Enhanced management of passwords for printing applications and services |
CN109033849A (zh) * | 2018-06-29 | 2018-12-18 | 无锡艾立德智能科技有限公司 | 对存入磁盘阵列数据进行加密的加密方法及装置 |
JP2020119298A (ja) | 2019-01-24 | 2020-08-06 | キオクシア株式会社 | メモリシステム |
CN111367505A (zh) * | 2020-03-02 | 2020-07-03 | 广州致远电子有限公司 | 一种JavaScript源代码保密方法、装置、设备及存储介质 |
CN111881461A (zh) * | 2020-06-12 | 2020-11-03 | 福建亿能达信息技术股份有限公司 | 一种设备维修工分核算方法、系统、设备及介质 |
CN112601219A (zh) * | 2021-03-03 | 2021-04-02 | 四川微巨芯科技有限公司 | 数据加解密的方法及系统、服务器、存储设备和移动设备 |
US11989300B2 (en) * | 2021-07-19 | 2024-05-21 | Dell Products L.P. | Firmware secure boot customization extensions |
JP2024536924A (ja) * | 2021-08-27 | 2024-10-08 | タレス ディアイエス シーピーエル ユーエスエー インク. | 実行プラットフォームに接続されたディスク装置へのアクセスを制御する方法及びディスク装置へのアクセスを制御するための実行プラットフォーム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574761A (zh) * | 2003-05-29 | 2005-02-02 | 国际商业机器公司 | 在存储区域网络上执行启动、维护和安装操作的方法和设备 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638445A (en) * | 1995-09-19 | 1997-06-10 | Microsoft Corporation | Blind encryption |
US20030028664A1 (en) * | 2001-08-02 | 2003-02-06 | Kaijun Tan | Method and system for secure distribution and utilization of data over a network |
US7502754B2 (en) * | 2002-01-08 | 2009-03-10 | Bottomline Technologies (De), Inc. | Secure web server system for unattended remote file and message transfer |
US7095859B2 (en) * | 2002-03-18 | 2006-08-22 | Lenovo (Singapore) Pte. Ltd. | Managing private keys in a free seating environment |
US7318235B2 (en) * | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token |
WO2005013797A2 (en) * | 2003-04-23 | 2005-02-17 | Hemchandra Shertukde | Apparatus and method for non-invasive diagnosing of coronary artery disease |
US8145898B2 (en) | 2003-12-23 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Encryption/decryption pay per use web service |
US20050246529A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US7526805B2 (en) * | 2004-06-12 | 2009-04-28 | Microsoft Corporation | Thread protection |
US7640593B2 (en) * | 2005-04-21 | 2009-12-29 | Nokia Corporation | User-controlled management of TPM identities |
US7613921B2 (en) * | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US8839450B2 (en) * | 2007-08-02 | 2014-09-16 | Intel Corporation | Secure vault service for software components within an execution environment |
US7940934B2 (en) * | 2005-09-21 | 2011-05-10 | Broadcom Corporation | System and method for securing computing management functions |
JP4643427B2 (ja) * | 2005-12-08 | 2011-03-02 | 株式会社日立製作所 | 暗号化機能内蔵ストレージシステム |
US20080022412A1 (en) * | 2006-06-28 | 2008-01-24 | David Carroll Challener | System and method for TPM key security based on use count |
US20080063198A1 (en) | 2006-09-07 | 2008-03-13 | Jaquette Glen A | Storing EEDKS to tape outside of user data area |
US8259948B2 (en) * | 2007-12-29 | 2012-09-04 | Intel Corporation | Virtual TPM key migration using hardware keys |
JP4991592B2 (ja) * | 2008-02-18 | 2012-08-01 | 株式会社リコー | ソフトウェア改ざん検知方法、ソフトウェア改ざん検知プログラム及び機器 |
EP2260397A4 (en) * | 2008-04-02 | 2013-05-29 | Hewlett Packard Development Co | CHANGING DISK DRIVE DATA |
JP5369502B2 (ja) * | 2008-06-04 | 2013-12-18 | 株式会社リコー | 機器、管理装置、機器管理システム、及びプログラム |
US8127146B2 (en) * | 2008-09-30 | 2012-02-28 | Microsoft Corporation | Transparent trust validation of an unknown platform |
US8204228B2 (en) * | 2008-12-09 | 2012-06-19 | Cisco Technology, Inc. | Group key management re-registration method |
US8213618B2 (en) * | 2008-12-30 | 2012-07-03 | Intel Corporation | Protecting content on client platforms |
JP5493946B2 (ja) * | 2010-02-08 | 2014-05-14 | 株式会社リコー | 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体 |
US8375437B2 (en) * | 2010-03-30 | 2013-02-12 | Microsoft Corporation | Hardware supported virtualized cryptographic service |
-
2008
- 2008-04-02 EP EP08744892.4A patent/EP2260397A4/en not_active Withdrawn
- 2008-04-02 CN CN200880128467.7A patent/CN101983379B/zh active Active
- 2008-04-02 WO PCT/US2008/059072 patent/WO2009123630A1/en active Application Filing
- 2008-04-02 US US12/935,715 patent/US8417967B2/en active Active
- 2008-04-02 KR KR1020107024453A patent/KR101379172B1/ko not_active IP Right Cessation
- 2008-04-02 JP JP2011502919A patent/JP5230797B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1574761A (zh) * | 2003-05-29 | 2005-02-02 | 国际商业机器公司 | 在存储区域网络上执行启动、维护和安装操作的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20110029785A1 (en) | 2011-02-03 |
US8417967B2 (en) | 2013-04-09 |
EP2260397A4 (en) | 2013-05-29 |
EP2260397A1 (en) | 2010-12-15 |
KR20110008202A (ko) | 2011-01-26 |
CN101983379A (zh) | 2011-03-02 |
WO2009123630A1 (en) | 2009-10-08 |
KR101379172B1 (ko) | 2014-03-28 |
JP2011517205A (ja) | 2011-05-26 |
JP5230797B2 (ja) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101983379B (zh) | 盘驱动器数据加密 | |
US10887086B1 (en) | Protecting data in a storage system | |
US20170277898A1 (en) | Key management for secure memory address spaces | |
US8392682B2 (en) | Storage security using cryptographic splitting | |
AU2016203740B2 (en) | Simultaneous state-based cryptographic splitting in a secure storage appliance | |
US8190921B1 (en) | Methodology for vaulting data encryption keys with encrypted storage | |
US10007807B2 (en) | Simultaneous state-based cryptographic splitting in a secure storage appliance | |
US20100125730A1 (en) | Block-level data storage security system | |
US20090046858A1 (en) | System and Method of Data Encryption and Data Access of a Set of Storage Devices via a Hardware Key | |
US20100150341A1 (en) | Storage security using cryptographic splitting | |
US20140164790A1 (en) | Storage security using cryptographic splitting | |
US9384149B2 (en) | Block-level data storage security system | |
US20100153703A1 (en) | Storage security using cryptographic splitting | |
JP2017537381A (ja) | 複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステムおよびその方法 | |
CN101246530A (zh) | 对一组存储设备进行数据加密和数据访问的系统和方法 | |
US20100162001A1 (en) | Secure network attached storage device using cryptographic settings | |
JP2008219871A (ja) | ハードウェア鍵を介するストレージデバイスのセットのデータ暗号化およびデータアクセスのシステムおよび方法 | |
US20100169662A1 (en) | Simultaneous state-based cryptographic splitting in a secure storage appliance | |
US11163459B2 (en) | Rekeying information on storage devices using a proactive copy service | |
EP2359297A2 (en) | Storage security using cryptographic splitting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170113 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: Hewlett Packard Development Co. |