BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

端到端的加密数据库ZeroDB开源

| 作者 孙镜涛 关注 2 他的粉丝 发布于 2015年12月11日. 估计阅读时间: 2 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

ZeroDB是一个端到端的加密数据库,它是基于ZODB使用Python实现的,在设计时大量借鉴了Django ORMSQLAlchemy的经验。ZeroDB让应用程序能够查询加密的数据,让开发人员能够更容易地开发安全性更好、更能保证隐私的应用程序。最近,该数据库宣布开源,代码托管到了GitHub上,目前开源的是Python实现,后续还会开源一个JavaScript客户端。

对于ZeroDB,数据能被存储到不受信任、甚至是没有暴露加密密钥的数据库服务器上。客户端负责数据库逻辑,数据的加密、解密和压缩都发生在客户端,服务器端对数据一无所知,无论是结构还是顺序。客户端能够对加密数据执行远程查询,不需要下载它们,也没有过多的性能损失。另外,客户端还有一个可调节的缓存,它存储了数据结构中最常用的那部分,极大地提高了查询的速度。

ZeroDB提供了一个Python egg包zerodb-0.91.1-py2.7.egg,用户能够使用easy_install命令安装它。在server目录下,ZeroDB提供了运行服务器和管理用户的Python脚本,其目录结构如下:

conf/
    authdb.conf
    server.zcml
db/
manage.py
mkpub.py
runserver.py

其中,authdb.conf配置文件包含了数据库默认的管理用户,这些管理用户能够创建、删除其他用户,或者更改其他用户的公共密钥。server.zcml脚本用于设置服务器的参数,manage.py脚本用于用户管理,mkpub.py脚本用于创建安全密钥,runserver.py脚本用于启动服务器。

另外,ZeroDB还提供了一个API服务器,要启动它,只要导航到api_server目录并运行python api_server.py命令即可。如果想要了解更多与ZeroDB相关的信息,请查看项目博客


感谢魏星对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT