数据存储加密之计划与难点

作者:fun88com

时间:
2022-12-29 19:17:43

  跟着云核算、大数据的快速开展,政府越来越意识到网络、数据安全的重要性。相应的法律法规不断完善,这其间包含《网络安全法》、《网络安全等级维护》、《重要数据出境安全评价攻略》、《个人信息安全规范、大数据安全规范白皮书》、《大数据服务安全才干要求》等等。作为数据安全的重要组成部分,数据存储安满是安全的根底之一。本文,将描绘数据存储加密的干流计划并进行比照,一起针对痛点难点问题进行阐明。

  要对数据进行维护之前,首要要确认哪些数据需求维护和为什么要维护这些数据。这其本质是一个数据分级的问题。数据分级从概念上讲是依据数据的灵敏程度和数据遭到篡改、损坏、走漏或不合法运用后对受害者的影响程度,依照必定的准则和办法进行界说。另一方面也需求重视的便是法规遵照性需求。例如《数据安全法》第二十一条就规则,”国家树立数据分类分级维护准则,依据数据在经济社会开展中的重要程度,以及一旦遭到篡改、损坏、走漏或许不合法获取、不合法运用,对国家安全、公共利益或许个人、安排合法权益构成的损害程度,对数据施行分类分级维护”。下图便是便是按数据灵敏程度做的一个区分示例

  作为数据防护是否能够成功施行的要害,企业需求在要害数据的安全性、坚持运用体系的功用可用性,和体系可维护性方面归纳考虑,来确认合适企业需求的加密维护的技能计划。下表罗列常用加密技能及应对的安全危险。

  磁盘选用的块等级加密技能,例如AWS的EBS,阿里云的ECS等都支撑磁盘加密。这种加密最大的优点在于,它对操作体系是通明的。功用在加密后较加密前有所下降,依据上层运用的不同功用下降起伏各异。

  经过堆叠在其它文件体系之上(如 Ext2, Ext3, ReiserFS, JFS 等),为运用程序供给通明、动态、高效和安全的加密功用。典型的是用于加密指定的目录。需求重视的是这种加密方法或许会发生较大的功用丢失。

  通明数据加密TDE,是数据库供给的一种加密技能,即对数据文件履行实时I/O加密和解密。数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会添加数据文件的巨细,开发人员无需更改任何运用程序。其对应密钥办理也是由数据库供给的API或组件完结,运用通明。在某些场景下磁盘或体系无法对用户敞开(如云环境)的条件下,这种方法就比较合适。

  数据库加密还有种方法是选用对数据库进行三方加固的方法,行将第三方专业数据库加密厂商的产品内置在数据库之中,供给通明数据加密才干。所谓通明是指,用户运用体系不需求做改造即可运用,且具有权限的用户看到的是明文数据,彻底无感。此外,还能够增强原有数据库的安全才干,如供给三权分立、脱敏展现等。

  运用层加密,能够说是一种终极计划,其可保证在数据抵达数据库之前,就现已做了数据加密,可实时维护用户灵敏数据。这儿要害需求供给运用通明性,保证运用无需改造或仅需少数改造。这种方法彻底由用户自己操控,无需信赖任何三方厂商供给的数据安全保证,得到充沛的自由度和灵敏性。例如能够跨多数据库供给一致安全加密战略等。

  为了维护好加密数据,不会被不合法盗取,需求维护好数据的加密密钥。防止第三方厂商或个人接触到明文数据,最好做法便是将密文数据的密钥操控在用户自己手中。密钥办理包含了密钥的创立、存储、生命期办理、维护。密钥的安全性直接决议了加密数据的安全性。主张密钥独立存储,并选用根密钥维护,根密钥受硬件加密卡维护,或许被KMS服务的暗码维护。所谓KMS密钥办理,是经过用户的口令维护主密钥,口令正确主密钥解密;主密钥对密钥文件进行维护,只有主密钥成功解密后,密钥文件才干运用,最终经过密钥文件生成可用的密钥。

  尽管采纳了必要的数据加密办法,但并不能彻底处理来自运用体系环境和运维环境的安全要挟,典型的如来自运用体系的SQL注入进犯、后门程序、运用数据库缝隙的进犯行为、第三方运维人员的误操作等。因此需求选用数据库防火墙这样的数据鸿沟防护技能,运用其细粒度的拜访操控、防进犯、防批量数据下载等特性,完结有用的防数据走漏。

  一方面,黑客进犯行为千变万化,另一方面,体系的杂乱性带来的数据正常维护和办理行为往往也是不行预期的。因此,需求对重要数据的拜访行为采纳继续、及时的监控和审计,构成有用的危险陈述供给给用户发现新的危险,协助用户更好地进行数据维护。

  除了出产环境的数据防护外,企业内部测验环境也是一个重要信息走漏源,特别是需求“抽取”源端出产数据用于测验体系时;运用数据主动脱敏技能能够在有用地维护出产数据的一起,为测验环境供给可用的契合用户预期的测验数据。

  在数据存储安全的一起,怎么供给如未加密前的运用体会十分重要。这儿可总结为对运用的通明性。运用者或运用体系不需求关怀体系进行了哪些维护,可彻底无感地运用数据。这样的通明性首要体现在以下方面:

  SQL 句子通明:如惯例的SELECT、UPDATE、INSERT、DELETE 等句子可进行操作,运用程序不用作修正即可具有安全特性。

  库内核算通明:关于运用通明支撑的含义还包含库内的核算(如存储进程和函数通明的支撑等)。

  开发接口通明:供给对运用开发接口的全面通明支撑,包含:JDBC、ODBC等。

  如上面说到的几种加密方法中,存储层加密、文件层加密会存在彻底依赖于底层根底设施厂商(或云厂商)的问题,数据库加密也要部分依赖于数据库厂商或三方安全厂商;上述几种方法都会存在厂商绑定危险。比照而言,运用层加密相对灵敏度最大,可彻底从用户视点考虑加密问题,但这一方法必定存在较大投入,怎么能做到运用无感是比较头疼的问题。现在干流有经过数据中间层的方法处理,即在运用与数据库之间构建拜访层,将数据加密、解密、脱敏等功用完结其间。对上面的运用供给规范化、通明的数据拜访接口,对下数据库供给规范规范的安全战略,可不绑定详细产品。

  如前面谈到的运用层加密,也许是个不错的挑选。对运用来讲,最好的通明运用方法是供给出规范的数据库接口服务。当时干流是选用Proxy形式,能够让运用彻底无感地运用。但想做到无感,是需求从数据库协议层面仿真模仿,但受限于商业数据库协议的关闭,是存在必定限制的。尽管能够经过如JDBC/Client的方法去做,但这种方法一是无法彻底无感,二是会存在更新客户端困难等问题。

  数据存储安全所触及的数据加密、解密、脱敏等,势必会影响到运用运用功率。尽管许多产品都声称功率很高,但这个功用瓶颈是客观存在的。这儿首要需求的是正视功率问题,能客观评价功率差异;此外怎么能经过某些方法去扩展核算才干,部分处理功率低下问题也是一种思路。相对而言,选用存储层、文件层方法,可在必定程度上处理此问题。

  针对数据加密,存在一个存量的问题。如果是新建项目,彻底能够选用全新的数据安全战略,但关于已有项目且存在数据,是需求处理数据清洗及搬迁问题。针对前者,难点在于怎么完结动态清洗,在体系在线的一起,运用可同步处理新旧数据,逐渐完结清洗动作。清洗后的处理还需处理数据校验等,保证清洗是精确的。针对后者,在清洗结束后,需求做运用层面搬迁,彻底切换回去;这儿需处理滑润过度问题及或许呈现的回退问题。针对上述难点,运用层计划,无疑是比较好能够处理此问题的。

  数据最终是要参加到核算中的,不能因安全需求而影响到核算。关于数据安全核算,取决于其所在的方位在何处。关于存储层、文件层,其坐落数据库之下,作为数据核算主体的数据库是可不感知的,但关于数据库层和运用层是要处理这一问题。数据经过加密后,会失掉其数据特征,这会影响到优化器、履行器的作业。运用层加密也是相同的。现在存在一些密态核算技能,能在必定程度上处理这一问题。

  国密算法,即国家商用暗码算法。是由国家暗码办理局确定和发布的暗码算法规范及其运用规范,其间部分暗码算法现已成为国际规范。如SM系列暗码,SM代表商密,即商业暗码,是指用于商业的、不触及国家秘密的暗码技能。之前许多的安全产品(特别是国外产品)是不支撑国密算法的,这点是企业在做安全战略时需考虑的问题,特别是重监管的企业。

  数据散落在企业遍地,供给一致、大局、细粒度的安全管控,包含杂乱条件授权等是很有含义的。关于企业可选用一致的数据视角处理安全问题。现在一般的做法是根据不同数据库自己来完结各自安全战略,对客户不甚友爱,如能统 处理,十分具有商业含义。针对这点,是需求站在单一产品之上,从数据运用生态规范视点去考虑。

  数据加密是存在危险的,或许存在加密后无法复原的危险。一般的做法是运用明文与密文并存方法处理。但因为明文的存在,必定会导致安全危险。现在针对这一问题没有很好的解法,惯例的做法便是并存+阻隔、小步快跑的战略。

  这是一个终极问题,因为数据存储安全需求带来的各种问题,势必会影响用户对数据的运用且会存在较大的本钱投入及面对危险。因此导致用户全体志愿不高,更多是方针层面的驱动。针对这一问题,一方面要看到数据安全已遭到国家层面的重视,是必需要处理的问题;一方面经过技能上的不断完善老练,加快安稳落地。