【发布时间】:2013-12-23 23:42:13
【问题描述】:
我正在处理不受信任的外部存储,需要确保存储提供者不会在查询中保留任何记录。
例子:
我有两个受信任的实体 TA 和 TB,这些实体应该能够更改存储在云/不受信任的存储中的数据,但不能更改其他实体。 所以我的解决方案是为 TA 和 TB 配备公钥,并且我有一个可以与带有版本的表进行比较的数据结构说
Ver | Data | Signature | Signee
4 | ... | (AAAAAAAAA)_TA | TA
3 | ... | (ZZZZZZZZZ)_TB | TB
2 | ... | (YYYYYYYYY)_TA | TA
1 | ... | (XXXXXXXXX)_TA | TA
所以当我从存储提供者那里检索到这样一个表时,我可以很容易地验证 签名并检查签名是否正确,是否允许签名者更改表。
不过,我还想检查记录的完整性。假设 TA 上传了第 4 版,但 TB 只知道到第 3 版的所有记录。现在,当 TB 查询时,存储提供商可能会完全保留第 4 版。
由于 TA 和 TB 之间没有直接的侧通道,因此无法交换当前版本。有没有办法绕过这个?
我正在考虑定期插入虚拟记录以至少有一些时间确定性。但是,这种方法缺乏可扩展性,并且会导致大量存储和签名开销。 我正在寻找的实际系统属性是什么(很难找到你不知道名称的研究)?
【问题讨论】:
标签: security encryption cloud public-key-encryption verification