著录项信息
专利名称 | 一种提高云计算数据安全的方法及系统 |
申请号 | CN201210393824.0 | 申请日期 | 2012-10-17 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2013-01-16 | 公开/公告号 | CN102882885A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 北京卓微天成科技咨询有限公司 | 申请人地址 | 北京市海淀区东北旺西路8号院25号楼立思辰大厦一层西区
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 即云天下(北京)数据科技有限公司 | 当前权利人 | 即云天下(北京)数据科技有限公司 |
发明人 | 赵乃岩 |
代理机构 | 北京华沛德权律师事务所 | 代理人 | 刘丽君 |
摘要
本发明公开了一种提高云计算数据安全的方法及系统,属于数据安全技术领域。所述方法包括:用户为云计算服务应用实例可用的物理LUN设备建立索引信息表,根据索引信息表,设置虚拟LUN设备的虚拟LBA地址空间与实际数据存储LBA地址空间的对应规则;用户根据对应规则,建立并保存虚拟LBA地址空间与实际数据存储LBA地址空间的对应关系;根据对应关系,获取读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向。所述系统包括建立模块、设置模块、建立保存模块和重定向模块。本发明使数据所有者掌控元数据的生成方法、保存方法及位置,使用户数据所在的LUN设备不会被非法挂载,保障了用户数据的安全。
1.一种提高云计算数据安全的方法,其特征在于,所述方法包括:
用户为云计算服务应用实例可用的物理LUN设备建立索引信息表;
用户建立一个虚拟LUN设备,根据所述索引信息表,设置所述虚拟LUN设备的虚拟LBA地址空间与实际数据存储LBA地址空间的对应规则;
用户根据所述对应规则,建立并保存数据访问虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系,具体包括:选择多个LBA地址作为虚拟LBA地址空间和实际LBA地址空间的最小分割单元;根据所述最小分割单元,将所述虚拟LBA地址空间和实际数据存储LBA地址空间,分割成数量相等的虚拟LBA地址段和实际LBA地址段;用户根据所述对应规则,将所述虚拟LBA地址段与实际LBA地址段一一对应,以及将所述虚拟LBA地址段中的虚拟LBA地址与其对应的实际LBA地址段中的实际LBA地址进行一一对应,并根据以上对应结果建立且保存虚拟LBA地址空间与实际数据存储LBA地址空间的对应关系;
根据所述对应关系,获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向。
2.如权利要求1所述的提高云计算数据安全的方法,其特征在于,所述索引信息表的内容包括LUN设备全局ID、云计算数据中心ID和LUN设备局部ID;所述云计算服务应用实例包括软件即服务、基础架构即服务和平台即服务。
3.如权利要求2所述的提高云计算数据安全的方法,其特征在于,所述虚拟LUN设备放置在用户端或用户信赖的第三方托管端。
4.如权利要求3所述的提高云计算数据安全的方法,其特征在于,所述根据所述对应关系,获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向的步骤具体包括:
根据外部数据读写请求指定的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系,查询并获取虚拟LBA地址空间中每个虚拟LBA地址对应的实际数据存储的LBA地址;
根据所述索引信息表中的LUN设备全局ID,查询并获取每个实际LBA地址所对应的云计算数据中心和其对应的LUN设备局部ID;
根据每个实际LBA地址对应的云计算数据中心和LUN设备局部ID,将外部数据读写请求转发到实际数据存储LBA地址空间上,完成数据I/O请求的重定向。
5.如权利要求4所述的提高云计算数据安全的方法,其特征在于,所述方法还包括:用户按照预置的频率更新所述对应关系。
6.一种提高云计算数据安全的系统,其特征在于,包括:
建立模块,用于用户为云计算服务应用实例可用的物理LUN设备建立索引信息表;
设置模块,用于用户建立一个虚拟LUN设备,根据所述索引信息表,设置所述虚拟LUN设备的虚拟LBA地址空间与实际数据存储LBA地址空间的对应规则;
建立保存模块,用于用户根据所述对应规则,建立并保存数据访问虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系;
重定向模块,用于根据所述对应关系,获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向;
所述建立保存模块包括:
选择单元,用于选择多个LBA地址作为虚拟LBA地址空间和实际LBA地址空间的最小分割单元;
分割单元,用于根据所述最小分割单元,将所述虚拟LBA地址空间和实际数据存储LBA地址空间,分割成数量相等的虚拟LBA地址段和实际LBA地址段;
对应关系建立单元,用于用户根据所述对应规则,将所述虚拟LBA地址段与实际LBA地址段一一对应,以及将所述虚拟LBA地址段中的虚拟LBA地址与其对应的实际LBA地址段中的实际LBA地址进行一一对应,并根据以上对应结果建立且保存虚拟LBA地址空间与实际数据存储LBA地址空间的对应关系。
7.如权利要求6所述的提高云计算数据安全的系统,其特征在于,所述重定向模块包括:
第一获取单元,用于根据外部数据读写请求指定的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系,查询并获取虚拟LBA地址空间中每个虚拟LBA地址对应的实际数据存储的LBA地址;
第二获取单元,用于根据所述索引信息表中的LUN设备全局ID,查询并获取每个实际LBA地址所对应的云计算数据中心和其对应的LUN设备局部ID;
定向单元,用于根据每个实际LBA地址对应的云计算数据中心和LUN设备局部ID,将外部数据读写请求转发到实际数据存储LBA地址空间上,完成数据I/O请求的重定向。
8.如权利要求7所述的提高云计算数据安全的系统,其特征在于,所述系统还包括更新模块,用于用户按照预置的频率更新所述对应关系。
一种提高云计算数据安全的方法及系统\n技术领域\n[0001] 本发明涉及数据安全技术领域,特别涉及一种提高云计算数据安全的方法及系统。\n背景技术\n[0002] 云计算通过将IT(Information Technology)资源转化为服务(IT as a Service),以按需付费的商业模式交付给终端用户使用,从而极大地降低了用户IT使用成本,加速了IT资源的交付周期,提高了运营效率。云计算推动了IT资源的集中和共享,按照其部署和服务范畴划分,云计算可以分为私有云计算、公有云计算和混合云计算,由于其提供的IT服务种类的不同,云计算又以以下模式体现:基础架构即服务(IaaS,Infrastructure as a Service),平台即服务(PaaS,Platform as a Service),软件即服务(SaaS,Software as a Service),存储即服务(cloud storage,Storage as a Service)等。\n[0003] 通过云计算,虽然用户的IT成本可以得到降低,但是也使数据安全风险更多地集中在云计算数据中心端,具体表现在以下几个方面:1)多租户模式下的数据隔离和安全问题;公有云计算数据中心,处在多租户模式下,多个租户特别是彼此为竞争对手的租户的数据存储在一起会导致一定的安全风险,私有云计算数据中心也需要为各个职能部门之间的数据提供有效的数据隔离;2)黑客的非法入侵会导致重要数据的泄漏;3)云计算数据中心管理员特别是超级管理员的人为错误或者职业操守问题可能导致用户数据的泄露等等。\n[0004] 目前,云计算数据安全的解决方案大致可以分为两类:\n[0005] 一类是针对存储即服务(即云存储),通过逻辑级别多租户的数据隔离,依赖数据加密技术保护用户的数据安全。所谓逻辑级别的隔离,主要通过云计算数据中心端保存的元数据信息实现的,例如基于对象的存储系统(Object Storage Device,OSD),典型的实施有EMC Atmos,Amazon S3存储服务等;还有基于策略多租户数据安全管理方法和系统,如美国专利US 2011/0022642 Policy Driven Cloud Storage Management and Cloud Storage Policy Router所记述。逻辑级别隔离的情况下,虽然不同用户登录后所见到的数据仅为其所授权的数据,但是为了保护数据安全,用户通常需要将数据加密后传输到云计算数据中心。\n[0006] 另一类是针对存储即服务之外的云计算模式,例如软件即服务(SaaS)、基础架构即服务(IaaS)、平台即服务(PaaS)等。对于这些云计算模式,存储即服务的数据安全解决方案并不适用,这是因为,存储即服务大多是基于Restful协议而不是基于SCSI协议,以数据对象或者文件为单位存取数据,数据安全性具有较高优先级(数据通常需要加密),对数据访问延迟、I/O性能和可靠性的要求较低;而对于其他云计算模式(即SaaS,IaaS,PaaS等)而言,数据访问主要是基于SCSI协议的,因此数据访问延迟性、I/O性能及可靠性,与数据的安全性同样具有相同甚至更高的优先级,同时为了保证数据访问I/O性能,数据通常不能被加密,从而使得云计算的租户的数据安全完全依赖于云计算服务提供商的职业操守和其对数据安全性保护的技术能力。对于该类云计算模式,目前的解决方案主要是通过云计算数据中心端的多租户数据物理级别隔离加之云计算服务提供商与用户签订的SLA(Service Level Agreement,服务水平协议)保障。所谓多租户数据物理级别的隔离主要通过云计算数据中心端划分不同LUN实现的。每个用户在数据中心端被分配了一个或多个独占的物理LUN设备,其数据仅保存在该物理LUN设备上,从而实现了不同用户数据之间的物理级别隔离,典型的解决方案为Netapp MultiStore。物理级别隔离,可以在一定程度上保证数据访问的性能及可靠性,但是,考虑到为了保证性能,数据在云计算端很难加密,由此带来的数据安全的风险则是云计算租户所不能不顾虑的。虽然与云计算服务商之间的服务合同可以在一定程度上降低以上风险,但是也无法避免,非法入侵用户或者云计算数据中心管理员仍可以在数据所有者未授权的情况下,将用户数据保存的LUN设备非法挂载到其他终端上,进而获取数据的情况。\n[0007] 综上所述,现有的云计算数据安全解决方案技术还无法解决除存储即服务之外的云计算模式(特别是IaaS、PaaS和SaaS)的数据安全问题,即在保证数据安全的同时,兼顾数据访问性能、可靠性等企业级云计算应用的要求。\n发明内容\n[0008] 为了解决现有云计算数据安全解决方案不适用于云存储之外的云计算模式,以及易被非法获取等问题,本发明提供了一种提高云计算数据安全的方法,所述方法包括:\n[0009] 用户为云计算服务应用实例可用的物理LUN设备建立索引信息表;\n[0010] 用户建立一个虚拟LUN设备,根据所述索引信息表,设置所述虚拟LUN设备的虚拟LBA地址空间与实际数据存储LBA地址空间的对应规则;\n[0011] 用户根据所述对应规则,建立并保存数据访问虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系,具体包括:选择多个LBA地址作为虚拟LBA地址空间和实际LBA地址空间的最小分割单元;根据所述最小分割单元,将所述虚拟LBA地址空间和实际数据存储LBA地址空间,分割成数量相等的虚拟LBA地址段和实际LBA地址段;用户根据所述对应规则,将所述虚拟LBA地址段与实际LBA地址段一一对应,以及将所述虚拟LBA地址段中的虚拟LBA地址与其对应的实际LBA地址段中的实际LBA地址进行一一对应,并根据以上对应结果建立且保存虚拟LBA地址空间与实际数据存储LBA地址空间的对应关系;\n[0012] 根据所述对应关系,获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向。\n[0013] 所述索引信息表的内容包括LUN设备全局ID、云计算数据中心ID和LUN设备局部ID;所述云计算服务应用实例包括软件即服务、基础架构即服务和平台即服务。\n[0014] 所述虚拟LUN设备放置在用户端或用户信赖的第三方托管端。\n[0015] 所述根据所述对应关系,获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向的步骤具体包括:\n[0016] 根据外部数据读写请求指定的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系,查询并获取虚拟LBA地址空间中每个虚拟LBA地址对应的实际数据存储的LBA地址;\n[0017] 根据所述索引信息表中的LUN设备全局ID,查询并获取每个实际LBA地址所对应的云计算数据中心和其对应的LUN设备局部ID;\n[0018] 根据每个实际LBA地址对应的云计算数据中心和LUN设备局部ID,将外部数据读写请求转发到实际数据存储LBA地址空间上,完成数据I/O请求的重定向。\n[0019] 所述方法还包括:用户按照预置的频率更新所述对应关系。\n[0020] 本发明还提供了一种提高云计算数据安全的系统,包括:\n[0021] 建立模块,用于用户为云计算服务应用实例可用的物理LUN设备建立索引信息表;\n[0022] 设置模块,用于用户建立一个虚拟LUN设备,根据所述索引信息表,设置所述虚拟LUN设备的虚拟LBA地址空间与实际数据存储LBA地址空间的对应规则;\n[0023] 建立保存模块,用于用户根据所述对应规则,建立并保存数据访问虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系;\n[0024] 重定向模块,用于根据所述对应关系,获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向;\n[0025] 所述建立保存模块包括:\n[0026] 选择单元,用于选择多个LBA地址作为虚拟LBA地址空间和实际LBA地址空间的最小分割单元;\n[0027] 分割单元,用于根据所述最小分割单元,将所述虚拟LBA地址空间和实际数据存储LBA地址空间,分割成数量相等的虚拟LBA地址段和实际LBA地址段;\n[0028] 对应关系建立单元,用于用户根据所述对应规则,将所述虚拟LBA地址段与实际LBA地址段一一对应,以及将所述虚拟LBA地址段中的虚拟LBA地址与其对应的实际LBA地址段中的实际LBA地址进行一一对应,并根据以上对应结果建立且保存虚拟LBA地址空间与实际数据存储LBA地址空间的对应关系。\n[0029] 所述重定向模块包括:\n[0030] 第一获取单元,用于根据外部数据读写请求指定的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系,查询并获取虚拟LBA地址空间中每个虚拟LBA地址对应的实际数据存储的LBA地址;\n[0031] 第二获取单元,用于根据所述索引信息表中的LUN设备全局ID,查询并获取每个实际LBA地址所对应的云计算数据中心和其对应的LUN设备局部ID;\n[0032] 定向单元,用于根据每个实际LBA地址对应的云计算数据中心和LUN设备局部ID,将外部数据读写请求转发到实际数据存储LBA地址空间上,完成数据I/O请求的重定向。\n[0033] 所述系统还包括更新模块,用于用户按照预置的频率更新所述对应关系。\n[0034] 本发明实现了用户数据在云计算数据中心端物理级别隔离的同时,使数据所有者可以掌控元数据的生成方法、保存方法及位置信息,并且兼顾了企业级云计算服务计算对I/O性能和可靠性的要求,从而使得即便云计算数据中心被非法入侵,用户数据所在物理LUN设备也不会被非法挂载,用户数据也不会泄露,保障了用户数据的安全。\n附图说明\n[0035] 图1是本发明实施例虚拟LBA地址空间到实际数据存储LBA地址空间的对应关系示意图;\n[0036] 图2是本发明实施例第三方云计算服务对虚拟LUN设备的访问实例一;\n[0037] 图3是本发明实施例第三方云计算服务对虚拟LUN设备的访问实例二;\n[0038] 图4是本发明实施例的提高云计算数据安全的方法流程图;\n[0039] 图5是本发明实施例的提高云计算数据安全的系统结构示意图。\n具体实施方式\n[0040] 下面结合附图和实施例,对本发明技术方案作进一步描述。\n[0041] 为了更加完善地解决云计算数据安全问题,本发明实施例提供了一种提高云计算数据安全的方法,该方法是由用户建立并在用户端(或用户信任的第三方托管端)保存云计算服务应用实例数据访问虚拟LUN设备的虚拟LBA地址空间和指定云计算数据中心的实际数据存储LBA地址空间的对应关系;根据该对应关系获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,进而完成用户数据访问的I/O重定向。通过上述方法可以实现多租户数据在云计算数据中心端的物理隔离,同时在数据不加密的情况下,如果数据所有者不授权I/O请求的虚拟LBA地址空间和指定云计算数据中心的实际数据存储LBA地址空间的对应关系信息,数据实际内容很难被非法获取,大大地增强了用户数据的安全性。\n[0042] 需要说明的是,本发明实施例所指云计算及云计算服务应用实例,仅适用于除了存储即服务(或称云存储)之外的云计算模式,包括软件即服务(SaaS)、基础架构即服务(IaaS)和平台即服务(PaaS)等。\n[0043] 参见图4,本发明实施例提供了一种提高云计算数据安全的方法,包括如下步骤:\n[0044] 步骤101:用户为云计算服务应用实例可用的物理LUN设备建立索引信息表。\n[0045] 首先,用户需要为其所拥有的或所租用的云计算服务应用实例,规划用来存储实际数据的物理LUN设备。这些物理LUN设备可以来源于云计算服务提供商(位于其指定的云计算数据中心中),或者来源于第三方存储服务提供商(为了保证数据访问性能,它们需要与云计算服务提供商构建较好的网络连接),或者来源于用户本地的数据中心。在具体应用中,第三方存储服务提供商可以包括存储即服务提供商(即云存储服务提供商),例如Amazon S3存储服务;需要说明的是,目前的公有云存储服务多数是基于Restful协议的以数据对象或者文件为单位的存取,而不是基于SCSI协议的数据块的存取,为了使本发明实施例的云计算服务应用实例可以访问其数据,需要进行协议转换,即将Restful协议转换为基于块的数据访问协议(block based protocol),这种协议转换已经有成功的实践,典型的有StorSimple,TwinStrata的云存储产品与解决方案,具体细节这里不再赘述。\n[0046] 其次,用户需要为云计算服务应用实例所使用到的物理LUN设备建立一张全局物理LUN设备的索引信息表,如表1所示。该索引信息表包括LUN设备全局ID、云计算数据中心ID和LUN设备局部ID;其中,LUN设备全局ID是建立未来虚拟LUN设备上虚拟LBA地址空间与实际数据保存位置对应关系的主要依据之一;同时,LUN设备全局ID和所分配的云计算数据中心ID都是局部变量,其作用范围仅限于该用户的该虚拟LUN设备。对于不同的用户甚至同一用户的不同(如下面步骤102所述)虚拟LUN设备,索引信息表所中的信息都可以不同,例如:同一云计算数据中心ID在用户A处可以被分配为0,在用户B处可以被分配为1等等,这种分配方法对于保护数据所有者数据的隐私性有好处。另外,从数据安全性的考虑,该索引信息表通常保存在用户端或者用户信赖的第三方托管端。\n[0047] 表1\n[0048] \nLUN设备全局ID 所分配的云计算数据中心ID LUN设备局部ID\n00 0 0\n01 0 1\n14 1 4\n[0049] \n25 2 5\n… … …\n[0050] 表1中,LUN设备全局ID指的是,该云计算数据中心端LUN设备在建立LBA地址空间对应关系过程中所使用的唯一标识,包含其对应的云计算数据中心ID(可以是云计算服务提供商的数据中心、或者是第三方云存储服务提供商、或者是用户本地的数据中心)和该LUN设备在该云计算数据中心端的局部ID。LUN设备局部ID指的是,该LUN设备在指定云计算数据中心范畴被分配唯一的标识,如指定存储池中指定的LUN单元号。需要指出的是,云计算数据中心端LUN设备,可以有不同的实现方式,可以是真实的LUN设备,或者是通过存储虚拟化技术实现的虚拟LUN设备,或者是第三方云存储服务提供商提供的存储空间经过Restful到SCSI协议转换后展示给云计算服务应用实例的LUN设备,但是无论哪种实现方式,展现出来的都是用于数据存储的物理LUN设备,对于本发明实施例的实现步骤没有影响。\n[0051] 步骤102:用户建立一个虚拟LUN设备,根据全局物理LUN设备索引信息表,设置该虚拟LUN设备的虚拟LBA地址空间与实际数据存储的LBA地址空间的对应规则;用户根据该对应规则,建立并保存数据访问虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系。\n[0052] 用户需要建立一个虚拟LUN设备用于云计算服务应用实例对数据的访问。该虚拟LUN设备可以放置在用户端,或者其信赖的第三方托管端(如果云计算服务提供商获得了用户的授权,则云计算服务提供商也可以作为第三方托管端)。\n[0053] 为了保障数据的安全性,用户需要根据其实际数据安全性要求,设置LBA地址空间对应规则,该LBA地址空间对应规则可以人为手动来设置或通过LBA地址空间对应规则设定引擎来设置。具体而言,用户在建立LBA地址空间的对应关系过程中,可以根据虚拟LUN设备上所保存数据的安全性要求,进行定制和选择对应规则,例如:对于安全性要求较低的数据,可以采用有规律的运算法则作为对应规则,例如:在实际LBA地址集合(即所有可供选择的实际LBA地址组成的集合)建立起来以后,第i个虚拟LBA地址,对应于实际LBA地址集合排在第(i+1)位置的实际LBA地址,如此类推;对于安全性要求较高的数据,需要使LBA地址空间对应规则和数据访问协议转换规则唯一,并且难以被破解。在极端情况下,为了最大限度地保证元数据的安全性,可以采用虚拟LBA地址和实际数据存储LBA地址的真随机对应规则,将二者对应起来。以下列举一个方法以证明这种真随机对应规则方法的可行性。\n[0054] 假定虚拟LUN设备上有n个虚拟LBA地址,需要与多个云计算数据中心存储的n个实际数据存储LBA地址对应起来,那么,\n[0055] 步骤1.1,设定i=1(i是自然数,i<=n),生成真随机数Ri;\n[0056] 步骤1.2,将剩余所有实际LBA地址进行随机排序,产生一个长度为(n+1-i)的实际LBA地址集合lbaSet;\n[0057] 步骤1.3,对应于第i个虚拟LBA地址的实际LBA地址,需要通过下面的运算:\n[0058] Xi=Ri mod(n+1-i)(其中mod是取模运算)\n[0059] 获取lbaSet第Xi个实际LBA地址;\n[0060] 步骤1.4,设定i=i+1,重复步骤1.1到步骤1.3,循环执行直到i=n,所有虚拟LBA地址与实际LBA地址对应起来。\n[0061] 需要说明的是,步骤1.1中生成真随机数的方法已经很成熟,具体实现中可以采用Applied Cryptography Protocols,Algorithms and C Source Code issued by the Machinery Industry Press,第301页中给出的产生真随机数的方法,例如使用随机噪声、使用计算机时钟、CPU负载或网络数据包到达次数等方法来产生真随机数。\n[0062] LBA地址空间对应规则建立以后,需要建立虚拟LBA地址空间与云计算数据中心的实际数据存储LBA地址空间的对应关系。需要说明的是,云计算数据中心的实际数据存储LBA地址空间,可能来源于多个云计算数据中心的多个物理LUN设备,且这些云计算数据中心不限于云计算服务提供商的本地数据中心,或者远程的第三方云计算服务提供商的数据中心。\n[0063] 图1示出了在LBA地址空间对应规则建立后,云计算服务应用实例所访问虚拟LUN设备的虚拟LBA地址空间和云计算数据中心的实际数据存储LBA地址空间的对应关系。\n[0064] 表2\n[0065] \n[0066] 表2中示出了云计算服务应用实例所访问虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系信息,在本发明实施例中这种对应关系信息被称为元数据信息。在具体应用中,该元数据信息可以选择保存在用户端或者其信赖的第三方托管端。\n[0067] 需要说明的是,虚拟LUN设备的虚拟LBA地址空间和实际数据存储LBA地址空间的对应关系信息(即元数据信息)可能因用户使用不同的对应规则,而占用不同的存储空间,如果为了减小元数据信息量进而达到节省存储空间和提高性能的目的,可以采用如下方法建立并保存元数据信息:\n[0068] 选择多个LBA地址(可以是连续的LBA地址,例如0x00000000、0x00000001、\n0x00000002、0x00000003;或者是有规律的不连续的LBA地址,例如:0x00000000、\n0x0000000A、0x00000014、0x0000001E;或者是无规律、不连续的、随机的LBA地址)作为虚拟LBA地址空间和实际LBA地址空间的最小分割单元;根据最小分割单元,将虚拟LBA地址空间和实际数据存储LBA地址空间,分割成数量相等的虚拟LBA地址段和实际LBA地址段;\n用户根据对应规则,将虚拟LBA地址段与实际LBA地址段一一对应起来,以及将虚拟LBA地址段中的虚拟LBA地址与其对应的实际LBA地址段中的实际LBA地址进行一一对应,并根据以上对应结果建立且保存虚拟LBA地址空间与实际数据存储LBA地址空间的对应关系。\n[0069] 步骤103:当外部数据读写的请求到达虚拟LUN设备指定的虚拟LBA地址空间时,根据LBA地址空间的对应关系信息,将该请求所申请的虚拟LBA地址空间转换到实际数据存储位置,进而完成用户数据访问I/O重定向。\n[0070] 在完成步骤102后,虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系就建立起来了,进而所有到达虚拟LUN设备的指定虚拟LBA地址空间的读写I/O请求可以被重定向到其对应的实际数据存储LBA地址空间。\n[0071] 具体而言,假设有读写I/O请求到达虚拟LUN设备,需要经过以下步骤完成I/O重定向:\n[0072] 步骤2.1,外部(读或者写)I/O请求到达虚拟LUN设备的指定虚拟LBA地址空间,该虚拟LBA地址空间包含至少一个虚拟LBA地址;\n[0073] 步骤2.2,根据已建立的LBA地址空间对应信息表(如表2),查询并获取虚拟LBA地址空间中每个虚拟LBA地址对应的实际数据存储的LBA地址;\n[0074] 步骤2.3,根据云计算数据中心端的全局物理LUN设备的索引信息表(如表1),根据步骤2.2所获得的每个实际LBA地址所对应的LUN设备全局ID信息,查询并获取每个实际LBA地址所对应的云计算数据中心ID和其对应的LUN设备局部ID;\n[0075] 步骤2.4,依据步骤2.2和2.3所获取的每个实际LBA地址对应的云计算数据中心ID、LUN设备局部ID,将该I/O请求转发到步骤2.2所获取的实际数据存储LBA地址空间上,进而完成数据I/O请求的重定向。\n[0076] 需要说明的是,到达虚拟LUN设备的I/O请求发起者,可以是终端用户;也可以是非云计算服务应用实例,例如本地或远程的应用实例;还可以是本地(即私有云服务)或者远端的公有云计算服务应用实例。因为,本发明实施例的可行性决定于如何处理到达虚拟LUN设备上的I/O请求,而与I/O请求的发起者无关,所以下面仅以本地或远端的云计算服务应用实例发起I/O请求为例进一步讨论本发明的可行性。\n[0077] 另外,上述步骤2.4中,如果采用了第三方公有云存储服务,那么可能还需要通过第三方公有云存储的身份认证、计费等过程,才能完成数据I/O请求的重定向。\n[0078] 在本发明实施例中,本地或者远端的云计算服务应用实例,包括软件即服务(Software as a Service)、基础架构即服务(Infrastructure as a Service)和平台即服务(Platform as a Service)等模式下的云计算服务应用实例。本地云计算服务应用实例发生在内部可控私有网络(intranet)中,即私有云计算服务;而远端的云计算服务应用实例发生在外部不可控公共网络(internet)中,即公有云计算服务。\n[0079] 对于本发明实施例,虚拟LUN设备的访问有两种典型拓扑结构:1)带内架构(in-band architecture),统一了数据和元数据访问路径,即数据流和控制流在同一条线路上传输,如图2所示;2)带外架构,分离了数据和元数据访问路径,即数据流和控制流以不同线路分开传输,如图3所示。用户可以根据数据访问的安全性和数据存取性能的要求,进行选择。\n[0080] 本发明实施例中,无论哪种拓扑结构,都需要在云计算服务应用实例端构建一个代理程序,它可以将所创建的虚拟LUN设备展现给云计算服务应用实例,使云计算服务应用实例对数据的访问是透明的,同时该代理程序也可以实时访问元数据信息服务器获取每个虚拟LBA地址对应的元数据信息,还可以转发虚拟LUN设备接收的I/O请求到实际数据存储的LBA地址空间。以下分别阐述两种拓扑结构下数据读写I/O重定向的实现流程。\n[0081] 1、带内架构,参见图2:\n[0082] 步骤3.1,虚拟LUN通过代理程序挂载以后,云计算服务应用实例读写I/O请求到达虚拟LUN设备的指定虚拟LBA地址空间(如果是写I/O请求,则该请求中还应包含待写入的数据),该虚拟LBA地址空间包含至少一个虚拟LBA地址;\n[0083] 步骤3.2,代理程序将到达虚拟LUN上的该虚拟LBA地址空间的I/O请求转发给用户端(或者可信赖第三方托管端)的元数据信息服务器;\n[0084] 步骤3.3,用户端(或者可信赖第三方托管端)的元数据信息服务器,获取该虚拟LBA地址空间对应的实际数据存储LBA地址集合;并进一步根据所获取的数据访问实际LBA地址空间信息,将数据读写I/O请求发送到指定云计算数据中心的实际数据存储LBA地址空间上,完成I/O重定向,并将数据读写结果通过代理程序,返回给云计算服务应用实例(如果是读I/O,那么需要将所读数据一并返回给云计算服务应用实例)。\n[0085] 步骤3.3中的云计算数据中心可以是云计算服务提供商端所管理的数据中心,或者是用户本地数据中心,或者是其他存储服务提供商(比如云存储服务提供商)的数据中心。\n[0086] 2、带外架构,参见图3:\n[0087] 步骤4.1,虚拟LUN通过代理程序挂载以后,第三方云计算服务读写I/O请求到达虚拟LUN设备的指定虚拟LBA地址空间,该虚拟LBA地址空间包含至少一个虚拟LBA地址;\n[0088] 步骤4.2,与该虚拟LUN设备关联的代理程序,访问用户端(或者可信赖第三方托管端)的元数据信息服务器,获取该虚拟LBA地址空间对应的实际数据存储的LBA地址集合;\n[0089] 步骤4.3,依据步骤4.2所获取的数据访问实际LBA地址空间信息,与该虚拟LUN设备关联的代理程序将虚拟LUN设备接收到的数据读写I/O请求发送到指定云计算数据中心的实际数据存储LBA地址空间上,完成I/O重定向,并将数据读写结果返回给云计算服务应用实例(如果是读I/O,那么需要将所读数据一并返回给云计算服务应用实例)。\n[0090] 如果以上实施例(包括带内和带外架构)的云计算数据中心不是云计算服务提供商端管理的数据中心或者用户本地数据中心,即其他云计算服务提供商(如云存储服务提供商)的数据中心,那么在步骤3.3和4.3之前,还需要根据已保存的数据服务访问设定(如认证付费等),访问该数据中心。\n[0091] 另外,带外架构下,云计算服务应用实例与虚拟LUN设备交互的信息主要是元数据信息,信息数据量较小,相对于带内架构,具有更好的性能。\n[0092] 为了进一步提高安全性,无论是带内或者带外架构,用户均可以按照预置的频率更新虚拟LUN设备的元数据信息(仅对未读写的LBA地址有效)。极端情况下,可以每次访问元数据信息后,变换对应规则,更新一次元数据信息。\n[0093] 需要说明的是,以上发明实施例中,云计算服务应用实例所访问的虚拟LUN设备被放置在云计算服务提供商端,如上所述,如果云计算服务应用实例端到用户端的数据访问网络速度可以满足要求(比如8Gbps光纤或者万兆以太网),或者用户为了数据的安全性愿意牺牲一部分数据访问性能和可靠性等其他指标,该虚拟LUN设备还可以放置在用户端。鉴于实现方式基本相同,这里不再赘述细节。\n[0094] 总之,虚拟LUN设备的访问对象无论是用户端的用户,抑或本地或者远程的应用实例(非云计算服务应用实例),抑或本地或者远程的云计算服务应用实例;在云计算服务应用实例访问模式下,无论虚拟LUN设备放置在用户端或者是第三方云计算服务端;数据读写I/O重定向的实现模式无论是带内架构,还是带外架构,本发明实施例都是可行的。\n[0095] 参见图5,本发明实施例还提供了一种提高云计算数据安全的系统,包括:\n[0096] 建立模块,用于用户为云计算服务应用实例可用的物理LUN设备建立索引信息表;\n[0097] 设置模块,用于用户建立一个虚拟LUN设备,根据索引信息表,设置虚拟LUN设备的虚拟LBA地址空间与实际数据存储LBA地址空间的对应规则;\n[0098] 建立保存模块,用于用户根据对应规则,建立并保存数据访问虚拟LUN设备的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系;\n[0099] 重定向模块,用于根据对应关系,获取外部数据读写请求指向的虚拟LBA地址空间对应的实际数据的存储位置信息,完成I/O重定向。\n[0100] 在本实施例中,建立保存模块包括:\n[0101] 选择单元,用于选择多个LBA地址作为虚拟LBA地址空间和实际LBA地址空间的最小分割单元;\n[0102] 分割单元,用于根据最小分割单元,将虚拟LBA地址空间和实际数据存储LBA地址空间,分割成数量相等的虚拟LBA地址段和实际LBA地址段;\n[0103] 对应关系建立单元,用于用户根据对应规则,将虚拟LBA地址段与实际LBA地址段一一对应,以及将虚拟LBA地址段中的虚拟LBA地址与其对应的实际LBA地址段中的实际LBA地址进行一一对应,并根据以上对应结果建立且保存虚拟LBA地址空间与实际数据存储LBA地址空间的对应关系。\n[0104] 在本实施例中,重定向模块包括:\n[0105] 第一获取单元,用于根据外部数据读写请求指定的虚拟LBA地址空间与指定云计算数据中心的实际数据存储LBA地址空间的对应关系,查询并获取虚拟LBA地址空间中每个虚拟LBA地址对应的实际数据存储的LBA地址;\n[0106] 第二获取单元,用于根据索引信息表中的LUN设备全局ID,查询并获取每个实际LBA地址所对应的云计算数据中心和其对应的LUN设备局部ID;\n[0107] 定向单元,用于根据每个实际LBA地址对应的云计算数据中心和LUN设备局部ID,将外部数据读写请求转发到实际数据存储LBA地址空间上,完成数据I/O请求的重定向。\n[0108] 本实施例的提高云计算数据安全的系统还包括更新模块,用于用户按照预置的频率更新对应关系。\n[0109] 本发明实施例的方法与美国专利US 7171453Virtual Private Volume Method and System中所记述的方法和系统不同。美国专利通过在中间层保存一份LUN对应关系表保护存储服务使用方(consumer)和提供方(provider)的隐私性,即双方互不可见,并不是用于解决云计算数据安全的问题,与本发明实施例的技术方案不同。\n[0110] 本发明实施例提供的提高云计算数据安全的方法与传统的存储虚拟化方法之间也存在着明显的区别。本发明实施例的目的是为了解决云计算数据中心端的数据安全问题,其前提条件是使用存储服务的消费方(用户)之间,以及他们与存储服务提供方之间,不存在信任关系(特别是公有云计算数据中心)。数据的访问与传输可能处于一个易受到非法攻击的公有网络环境中(公有云计算服务),虚拟LUN设备与云计算数据中心的物理LUN设备之间的LBA地址对应关系信息由终端用户以指定方法生成并保存到用户指定的位置。传统的存储虚拟化方法实现的是在一个彼此信任的私有网络环境中,用户无法干预和保存用户端虚拟LUN设备与物理LUN设备之间的LBA地址对应关系信息,正因为如此,基于传统的存储虚拟化技术,无论是基于主机的存储虚拟化(host based storage virtualization),还是基于交换机的存储虚拟化(Switch based storage virtualization),或者基于存储设备的存储虚拟化(Storage device based storage virtualization),所创建的虚拟LUN设备可以被(非法)挂载到其他主机,访问其上的数据。\n[0111] 与已有的云计算数据中心端数据安全解决方案相比,本发明实施例提供的提高云计算数据安全的方法具有如下优点:\n[0112] 1.实现了用户数据在云计算数据中心端物理级别隔离的同时,使数据所有者可以掌控元数据(即虚拟LUN设备和云计算数据中心端物理LUN设备之间的LBA地址对应关系信息)的生成方法、保存方法及位置(本地或者可信赖的第三方托管端),从而使得即便云计算数据中心被非法入侵,用户数据所在LUN设备也不会被非法挂载,用户数据也不会泄露,保障了用户数据的安全。\n[0113] 2.在元数据以真随机方法生成的情况下,用户对应的LUN设备在云计算数据中心端,即便被非法挂载,也无法获得其内容,保障了用户数据的安全性。\n[0114] 在实际应用中,本实施例中所涉及的各个功能模块及单元,均可以由运行在计算机硬件上的计算机程序实现,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的硬件指的是包含一个或者多个处理器和存储介质的服务器或者台式计算机、笔记本电脑等;所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等;所述计算机程序由不限于C、C++等计算机语言实现。\n[0115] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2018-12-04
专利权的转移
登记生效日: 2018.11.15
专利权人由北京卓微天成科技咨询有限公司变更为即云天下(北京)数据科技有限公司
地址由100085 北京市海淀区上地信息产业基地北区5号地上地辉煌国际中心B座1808号变更为100193 北京市海淀区东北旺西路8号院25号楼立思辰大厦一层西区
- 2015-07-01
- 2013-02-27
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201210393824.0
申请日: 2012.10.17
- 2013-01-16
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-01-18
|
2011-09-07
| | |
2
| |
2011-03-30
|
2010-11-29
| | |
3
| |
2011-06-08
|
2011-02-01
| | |
4
| |
2009-07-08
|
2008-12-29
| | |
5
| |
2012-06-13
|
2011-12-13
| | |
6
| |
2012-03-28
|
2011-10-27
| | |
7
| |
2011-05-11
|
2010-11-29
| | |
8
| |
2011-10-19
|
2011-06-13
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |