6个版本
0.1.7 | 2023年7月4日 |
---|---|
0.1.6 | 2023年7月2日 |
0.1.3 | 2023年6月25日 |
1746 在 加密学 中排名
每月下载 144 次
在 liserk-client 中使用
24KB
400 行
Liserk零知识数据库
简介
此项目是一个专为安全通信和数据存储设计的零知识数据库系统。它包含各种模块,协同工作以通过TCP在客户端和服务器之间建立安全通信,主要关注保护传输和存储的数据。
模块
证书颁发机构
证书颁发机构模块负责处理用于确保客户端和服务器之间通信完整性和真实性的证书。此模块生成、验证和管理用于安全交换的证书和密钥。
服务器
服务器模块负责监听来自客户端的传入连接。它处理客户端请求并相应地做出响应。服务器确保只有授权的客户端才能建立连接并交换数据,维护安全和数据完整性。
客户端
客户端模块用于连接到服务器。它能够向服务器发送请求并接收响应。客户端使用加密来确保传输的数据是安全的,且不会被未经授权的第三方读取。
有序保持加密(OPE)
此模块负责使用有序保持加密(OPE)加密数据。OPE是一种允许在不解密的情况下比较加密数据的加密类型。此模块对于确保数据的机密性同时允许进行某些操作(如比较)至关重要。
共享
共享模块用于在不同模块之间共享公共数据结构和实用工具。这避免了代码重复并确保了模块之间的一致性。
测试
测试模块包含集成测试,以确保系统的各个组件正确协同工作。这些测试对于确保系统的可靠性和安全性至关重要。
通信协议
在此项目中使用的通信协议简单而有效,建立在TCP之上。它不使用额外的层,因为传输的数据已经是加密的,确保了其安全性。
协议使用CBOR(简洁的二进制对象表示)进行数据序列化,允许有效地编码数据。协议使用枚举Message与serde一起进行编码和理解传输的内容。
第一个字节包含消息类型,接下来的四个字节表示消息大小,然后是实际的消息内容。
系统使用 tokio 来处理多个连接。
零知识数据库
本项目的特点之一是实现了一个零知识数据库。这意味着服务器以这种方式存储数据,以至于它不知道存储的数据内容。这是通过加密和特定的协议实现的,允许客户端与他们的数据交互,而无需将其暴露给服务器。
这种方法特别适用于保护用户隐私和确保数据安全,尤其是在数据敏感且不应暴露给服务提供商的场景中。
一些是 EPO 系统使用来源的文档
- Boldyreva, A.,Chenette, N.,Lee, Y.,& O'Neill, A.(2009)。有序加密。在年度国际密码学理论与应用会议(第 224-241 页)。斯普林格,柏林,海德堡。
- Popa, R. A.,Redfield, C. M.,Zeldovich, N.,& Balakrishnan, H.(2011 年 6 月)。通过加密查询处理保护机密性。在第二十三届 ACM 操作系统原理研讨会论文集(第 85-100 页)。
- Roche, D. S.,Aviv, A. J.,& Choi, S. G.(2017)。针对 WPA 企业身份验证的实用、针对性攻击。在 NDSS。
- Naveed, M.,Kamara, S.,& Wright, C. V.(2015 年 10 月)。针对属性保留加密数据库的推理攻击。在第二十二届 ACM SIGSAC 计算机与通信安全会议论文集(第 644-655 页)。
- Kerschbaum, F.(2007 年 4 月)。频率隐藏有序加密。在 2007 年 ACM 工作坊隐私电子社会论文集(第 47-51 页)。
- Boneh, D.,Lewi, K.,& Wu, D. J.(2015)。从格有序加密。在年度国际密码学理论与应用会议(第 172-193 页)。斯普林格,柏林,海德堡。
依赖项
~2.4–3.5MB
~68K SLoC