我正在寻找一种协议来保护移动设备和Web服务之间的连接。我想确保只有移动设备才能对Web服务执行操作,反之亦然。数据不需要加密。
我知道Oauth,但是当您拥有3个不同的实体(服务器,消费者和身份验证)时,它似乎更用于保护连接。在这里,消费者和用户将是同一个人。
是否有一个简单的协议可以做到这一点(不需要用户登录,然后像Oauth那样授权访问令牌)?
我需要在不同的平台上使用它,因此该协议至少需要在iPhone和PHP上可用。
您需要澄清“安全”的含义。确保不受什么影响?你在担心什么
也就是说,https(基于SSL的HTTP)是一个很好的起点,这将使您可以通过设备(或浏览器)对网站进行身份验证,并且无处不在。
如果您想对设备进行身份验证,那会比较棘手。您可以生成并存储共享密钥(随机数),并且在首次连接到站点时,请在GET / POST中提供它。...有很多变体,但是简单的变体都源于建立共享密钥和其他任何事情可能都是过分杀伤力的。这将使您认识到同一设备在下次连接时再次连接。可以将其视为用于登录设备的密码(但是,无需输入任何文字,也可能不需要输入密码)。
这样做的困难在于,如果删除该程序,该秘密将丢失,并且取决于您要确切执行的操作,这可能是下一次在同一设备上运行该程序时需要建立的问题。一个新的秘密。在这种情况下,您将无法知道这次连接的设备与之前连接的设备相同。如果需要,您将需要使用某种重置机制,这种重置机制很难做到,并且相当于对用户而非设备进行身份验证。
请注意,iphone具有唯一的标识符,但这并不是真正的秘密,并且只要它没有真正提供给定设备正在连接的任何证据即可。同样提供它也没有什么害处,但是它更像是一个断言“我是设备foo”,而不是身份证明。将其视为登录名的用户名部分-您仍然需要一些共享机密。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。