【发布时间】:2012-02-20 14:33:40
【问题描述】:
我正在草拟一个解决方案,其中一个 Android 应用程序连接到网络上的 REST API。用户应该能够创建配置文件,然后对该配置文件执行某些请求(更改名称、电子邮件等)。搜索类似的问题后,从大部分答案中得出了关于私钥/公钥解决方案的建议。
这个人很好地解释了这个过程: http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
此过程完全取决于私钥确实是私有的前提条件。我没有找到任何解决这个问题的答案。但是如果服务器和客户端必须拥有相同的私钥,那么它就必须在某个时候在双方之间传输,这将不可避免地将它暴露给监视流量的人。那么有没有一种安全的方式来在双方之间建立相同的私钥呢?
另外一个问题,当客户端(安全地)获取到私钥时,应该如何存储呢?像 Shared Preferences 这样的东西是否足够安全?我担心的是具有根访问权限的人可以轻松访问它。
【问题讨论】:
-
使用 SSL + 基本/摘要式身份验证。