知乎mysql数据加密_⼏种常见的数据库加密⽅案分析
“xxx拖库”、“xxxx数据泄露”等等层出不穷的安全事件表明,要想根本上解决这种越过⽹络防护,绕开权控体系,直接复制⽂件块并异地还原解析的“内⿁”式攻击⽅式,必须采⽤存储层的加密技术,确保敏感信息⼀旦落盘,必须密⽂存储。随着数据库加密技术在国内市场的兴起,更多数据安全企业的涌⼊,市⾯上出现了⼏种具有代表性的数据库加密技术。
⼀、前置代理及加密⽹关技术
1)技术原理
该⽅案的总体技术思路即在数据库之前增加⼀道安全代理服务,对数据库访问的⽤户都必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略。然后安全代理服务通过数据库的访问接⼝实现数据存储。安全代理服务存在于客户端应⽤与数据库存储引擎之
间,负责完成数据的加解密⼯作,加密数据存储在安全代理服务中。
2)利弊分析:前置代理及代理⽹关加密技术,迈不过去的“坎”
①由于在安全增强代理中需要存储加密数据,因此要解决与数据库存储数据的⼀致性问题,这基本不可实现。
②数据的联合检索问题:由于在数据库内外都存在数据,这些数据的联合检索将变得很困难;SQL语法的完全兼容也⾮常困难。
③开发⽆法透明问题:数据库协议虽然存在标准,但事实上每个不同的数据库版本都会进⾏若⼲变更、扩展和增强,使⽤了这些特性的⽤户必须进⾏改造。同时在安全代理中对数据库通讯协议的模拟⾮常困难。
④数据库的优化处理、事务处理、并发处理等特性都⽆法使⽤:查询分析、优化处理、事务处理、并发处理⼯作都需要在安全增强器中完成,⽆法使⽤数据库在并发处理和查询优化上的优势,系统的性能和稳定性更多地依赖于安全代理;
⑤对于对存储过程、触发器、函数等存储程序的实现⽀持也⾮常困难。
另外此种⽅案需要在安全代理服务层提供⾮常复杂的数据库管理功能,如:SQL命令解析,通讯服务,加密数据索引存储管理、事务管理等等,因此存在巨⼤的开发⼯作量及很⾼的技术复杂度,此外还有类似于存储过程、触发器等⽆法解决的技术问题。
sizeof判断字符串长度⼆、应⽤层改造加密技术
1)技术原理应⽤层
html加视频的代码加密⽅案的主要技术原理是应⽤系统通过加密API(JDBC,ODBC,CAPI等)对敏感数据进⾏加密,将加密数据存储到数据库的底层⽂件中;在进⾏数据检索时,将密⽂数据取回到客户端,再进⾏解密,应⽤系统⾃⾏管理密钥体系。
2)利弊分析:应⽤层加密技术,只是看起来很美
最主要不⾜在于:应⽤程序必须对数据进⾏加解密,增加编程复杂度,⽽且⽆法对现有系统做到透明,应⽤程序必须进⾏⼤规模改造。这种技术⽆法利⽤数据库的索引机制,加密后数据的检索性能⼤幅下降。
三、基于⽂件级的加解密技术
1)技术原理sql语句查询数据库操作日志
顾名思义,基于⽂件级的加解密技术是不与数据库⾃⾝原理融合,只是对数据存储的载体从操作系统或⽂件系统层⾯进⾏加解密的技术⼿段。
这种技术通过在操作系统中植⼊具有⼀定⼊侵性的“钩⼦”进程,在数据存储⽂件被打开的时候进⾏解密动作,在数据落地的时候执⾏加密动作,具备基础加解密能⼒的同时,能够根据操作系统⽤户或者访问⽂件的进程ID进⾏基本的访问权限控制。
2)利弊分析:跳出“体系”之外,优势与风险同在
这种技术巧妙的绕过了让各路英雄头疼的问题。对数据库⾼端特性兼容、查询检索性能保障、统计分析效率等关键技术指标均有较好的适应情况。
然⽽在这种机制下,存在的问题也会⽐较明显,包含以下⼏类:
mysql面试题 知乎①操作系统或⽂件系统级加解密,对不同平台适应性较差,⽽且与内核绑定过重,⼀旦出现程序故障,会对操作系统造成较⼤影响,容易导致业务中断。
②操作系统或⽂件级加解密的权控在系统层,因此⽆法单独完成对不同数据库账号的访问权限的设置,需要和其他产品与技术进⾏组合。
③操作系统或⽂件级的加解密针对落地⽂件进⾏操作,加解密粒度⽐较粗糙,⽆法针对列级进⾏加密。
四、基于视图及触发器的后置代理技术
1)技术原理
这种技术是使⽤“视图”+“触发器”+“扩展索引”+“外部调⽤”的⽅式实现数据加密,同时保证应⽤完全透明。核⼼思想是充分利⽤数据库⾃⾝提供的应⽤定制扩展能⼒,分别使⽤其触发器扩展能⼒、索引扩展能⼒、⾃定义函数扩展能⼒以及视图等技术来满⾜数据存储加
密,加密后数据检索,对应⽤⽆缝透明等核⼼需求。商城源码哪家公司好
2)利弊分析:后置代理,独⾃过独⽊桥
以传统的列加密为代表的后置代理加密技术,经过⼏年演进逐步被⼤家接受,这种技术拥有前置代理和应⽤改造所不具备的透明性,灵活性以及数据库⾼端技术的兼容性,可谓率先⾛过了数据库加密这⼀风险与挑战都巨⼤的“独⽊桥”。然⽽向前看,“独⽊桥”还在。
“应⽤环境下,单表亿级数据规模,加密后查询检索性能会不会受到明显影响?”“对密⽂数据的统计分析操作,如何保证速度基本不下降?”“实施加密后,对密⽂数据的运维、迁移、备份等操作,如何将改动降⾄最低”“⼤量的数据加密,会否带来更⼤量的空间膨胀”……这些⾃数据库加密技术问世以来就相伴⽽⽣的问题,不仅变成了⽤户⼼头的疑云,也成为了后置代理加密技术提供商亟待解决的当务之急。
压⼒下的技术突破——表空间加密技术
有没有⼀种加密⼿段能够满⾜如下要求呢?
1)透明性⾜够好。不影响sql语句执⾏,不需要应⽤改造已上线系统。
2)兼容性⾜够好。既能满⾜多节点,数据分区等特性,⼜满⾜该数据库常⽤的运维⼯具和⼿段。怎么看java是多少位
3)性能⾜够好。即使对密⽂字段进⾏统计分析,或批量模糊查询,也能保证其可⽤。
4)安全性⾜够好。密钥独⽴,权控独⽴,算法独⽴(国密),均纳⼊刚需。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论