基于开源数据库源码的安全应用定制

32 篇文章 1 订阅
26 篇文章 0 订阅

本文由 @lonelyrains 出品,转载请注明出处。 
文章链接: http://blog.csdn.net/lonelyrains/article/details/22919927


以sqlite为例,sqlite商用版本才自带有安全相关的功能。想做基于开源免费sqlite的安全软件定制

基本框架:在代码中添加openssl的那一套,使需要颁发证书、签名、验签才能增删查改sqlite的数据库,而且存放的数据全是加工的密文。


1、问题:基于密文数据库的增删查改怎么做?

解决方案:直接搜密文很复杂,现在有直接基于密文增删改查的数据库,拥有很高的效率,还有各种专利一般安全应用,基本原理就是全同态加解密,不过目前还不成熟。这里为了方便实现,使用映射表。敏感字段分别加解密。基于映射表的增删查改映射到实际表中的解密、增删查改、加密。修改sqlite的源码使这个过程对实际应用是透明的。只不过就不支持简单的基于敏感字段值的匹配来增删查改。实际应用中应该也不需要。


2、漏洞:映射表被修改,导致映射关系被修改,导致连接到不同的字段。

解决方案:hash完整性校验:每次经过合法修改表之后,修改映射表的hash值,然后使用证书加密hash值。即使hash加密值被修改,会导致完整性校验失败,数据认证无法通过。


3、完善和优化:

1)如果被攻击,仅hash加密值被修改,数据其实没有丢失。可以实现一个认证机制,获取比一般的增删查改更高的授权之后,重新修复被修改的hash值。

2)不用每次修改表都重新计算hash,而是一条语句执行完或者一个存储过程执行完再计算表的hash,或者一次加载sqlite失效之前才更新映射表的hash值。


4、基于sqlite源码的实现工程文件结构模块说明、源码链接地址

待完成


5、参考CryptDB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值