是否有使用加密来加密OkHttp的HttpResponseCache所使用的磁盘缓存的例子?天真地说,我不认为这是一件非常困难的事情,但我希望有任何建议或经验,以避免安全隐患。
没有太多的细节,我想要实现的是:服务器接受用户的API键(通常为40个字符的随机字符串),并代表用户进行许多API调用。服务器不会持久化用户的api键,但一个可能的用例是,用户将定期调用服务器,每次提供api密钥。已建立的服务X使用合理的速率限制,但支持条件(ETag,如果-修改-自)请求,因此服务器端缓存是有意义的。但是,这些信息是私有的,服务器将托管在Heroku等设备上,因此我希望对HttpResponseCache缓存的文件进行加密,这样如果机器受到破坏,它们就不会产生任何信息。
我的计划是在HttpResponseCache周围创建一个包装器,它接受一个秘密密钥--这实际上是api键字符串的一半的散列。这将用于AES-加密HttpResponseCache使用的缓存内容和密钥。听起来合理吗?
发布于 2014-03-13 12:04:36
很难使用现有的缓存代码。这是一种磁盘上的日志数据结构,不是为了支持隐私而设计的,隐私也不是你可以在上面添加的功能。
一种选择是挂载加密的磁盘映像并将缓存放在其中。例如,类似于Mac的FileVault。如果你能弄清楚该怎么做,你就太棒了。
另一种选择是使用现有的缓存作为指导实现自己的缓存。公平警告: OkResponseCache可能会在下一个版本中更改!
https://stackoverflow.com/questions/22373763
复制相似问题