确保在iPhone上访问RESTful API的最佳方法是什么?

时间:2010-01-10 13:42:42

标签: iphone http cryptography security

我正在寻找一些关于如何保护对最初由iPhone应用程序使用的RESTful API的访问的建议,但将来会有其他客户端。此API公开的数据必须保持安全,因为它可能包含健康信息。所有访问都将通过HTTPS完成。

我想我想在安装时要求预先注册iphone,然后在每次请求时也要求某种类型的PIN /密码。因此,只需在不预先注册电话/客户端的情况下了解密码就无法提供访问权限。如果可能的话,我正在考虑以某种方式将它绑定到iPhone标识符,但不确定它是否会提供任何额外的安全性。 iPhone标识符只是另一条信息,甚至可能不是那么秘密。

所以,有些要求是:

  • 在iPhone上使用某种类型的基于引脚的解决方案,但需要更高的安全性,然后可以提供简单的4-6位数引脚。
  • 无法以明文形式发送密码。
  • 不受回复攻击
  • 设置客户端时,必须在客户端和服务器之间预交换一些数据。

2 个答案:

答案 0 :(得分:1)

我认为,如果应用程序包含医疗记录,您可能希望每次使用应用程序时让用户进行身份验证,或者至少有一些方法可以按下禁用消息,导致应用程序无效丢失或被盗的情况。如果HIPAA适用,那么4-6字符密码(pin)也会引起我的关注。

您可能希望从服务器角度将其视为标准Web应用程序,并使用会话超时(可能是在很长一段时间后)进行基于会话的身份验证和访问,并在超时时重新进行身份验证。

答案 1 :(得分:0)

您可以将SSL用于客户端身份验证。如果设备丢失,您可以删除服务器上的证书。但是有一些障碍:

  • 目前还不完全清楚是否/如何在iPhone上进行客户端身份验证的SSL不幸的是,没有太多关于它的文档。看看Certificate, Key, and Trust Services Reference
  • 您必须为每个设备创建一个私钥
  • 您还必须找到一种将私钥传输到设备的安全方法