Android手机上的OAuth安全问题?
我正在编写一个客户端应用程序,它将在Android手机上运行,并代表用户与OAuth服务器交互。我在web服务器上运行OAuth服务器端代码,用于在与远程OAuth服务器握手时维护OAuth会话详细信息。现在,我正在争论如何最好地处理智能手机客户端的问题 对于这个问题,我们假设在过去,在远程OAuth服务器登录用户并授予我的应用程序访问权限之后,我收到了一个由远程OAuth服务器授予我的访问令牌。我们还假设它是一个“撤销前有效”的访问令牌 当然,主要关注的是实现一些不会让用户处于风险中的东西。最简单的方法是让我的web服务器以加密的形式将访问令牌返回到智能手机上的客户端代码,然后将加密令牌存储在用户的本地存储器中。或者为了更严格的安全性,返回我自己的加密唯一标识符,我的客户端代码在智能手机上随每个请求传入。然后,我的web服务器可以解密接收到的ID,并在本地数据库中查找最新的访问令牌。这似乎相当安全,除了用户丢失手机的情况。我想我可以在浏览器上实现类似“记住我”的选项,因此如果用户不检查它,那么每个会话都会触发一个新的重新授权会话 如果我的应用程序是处理财务信息,那么我甚至不会考虑“记住我”选项,但是远程OAuthServer后面的应用程序更是在推特或Flickr的敏感级别。 我的问题是:Android手机上的OAuth安全问题?,android,security,mobile,oauth,token,Android,Security,Mobile,Oauth,Token,我正在编写一个客户端应用程序,它将在Android手机上运行,并代表用户与OAuth服务器交互。我在web服务器上运行OAuth服务器端代码,用于在与远程OAuth服务器握手时维护OAuth会话详细信息。现在,我正在争论如何最好地处理智能手机客户端的问题 对于这个问题,我们假设在过去,在远程OAuth服务器登录用户并授予我的应用程序访问权限之后,我收到了一个由远程OAuth服务器授予我的访问令牌。我们还假设它是一个“撤销前有效”的访问令牌 当然,主要关注的是实现一些不会让用户处于风险中的东西。最
- 我提议的访问令牌管理和OAuth处理方案对于我描述的应用程序是否足够可靠和安全
- 有更好的方法吗?如果是,什么
- 您对OAuth和移动电话还有其他想法或意见吗
--roschler我有一些使用Yandex(排名第一的俄罗斯搜索引擎)OAuth服务器的经验。他们就是这样做的 仅通过HTTPS访问OAurh服务器。因此,令牌由网络以加密方式传输。正如HTTPS一样,客户端可以通过证书检查来检查服务器的有效性 此外,他们建议以加密方式存储收到的访问令牌。至于我,我有自己的存储实现,它以3DES加密方式将访问令牌存储在SharedReferences中。3DES加密的密钥是用户选择的“PIN码”。每次应用程序启动时,它都会请求一个PIN,然后尝试解密令牌
您可以实现对Yandex服务之一的访问(使用OAuth授予访问权)。Olegas,您是验证PIN然后在Android手机上解密访问令牌,还是将加密的访问令牌和PIN传递给服务器进行解密和验证?谢谢。我正在尝试在客户端解密令牌,如果成功,我将通过HTTPS将令牌和我的请求一起传输到服务器