ASP.NET Web 服务 API 安全性

标签 asp.net iphone security web-services

我有一个 iPhone 应用程序访问 ASP.NET Web 服务以获取数据。由于我正在构建应用程序的 ASP.NET 端和 iPhone 部分,并且我们很快就会在 Appstore 中发布它,因此我想知道我需要进行哪些安全检查。

程序的基本流程(不透露太多信息)如下 -

。登录(输入用户名,传递应用程序)
。从网络服务加载数据并呈现的主屏幕
。并在用户进行几次更新后发回数据

我使用 POST 通过 HTTPS 将数据发送到 Web 服务。我正在清理输入,检查输入的长度,但就安全性而言,这是我的知识限制 去。任何其他提示将不胜感激!

编辑:我可能应该补充一点,我们的服务需要单独订阅,并且它的 iPhone 组件不能单独使用。所以普通用户不会有登录凭据。而且该应用程序本身包含医疗保健数据,因此我不希望任何人尝试从我的登录页面进行攻击。

谢谢,
泰贾。

最佳答案

您需要研究很多事情。您控制客户端和服务器端,因此您必须采取一系列缓解措施。看起来您正在采取正确的方法,但您需要关注风险/威胁并制定缓解措施。

示例:

  1. 使用用户名和密码进行身份验证。这里可能会出现什么问题?主要威胁似乎是线路上凭证的拦截或设备的丢失(或对其的访问)。这些会将凭据暴露给攻击者。如果您使用 SSL 来加密有线流量,那么在网络上嗅探这些流量就会变得困难。但是,如果您将凭据存储在设备上,SSL 就无法在这里为您提供保护。您可能需要考虑的是 OAuth (委托(delegate)身份验证)或存储具有某种到期时间的凭据的哈希版本。 OAuth将推荐路线并避免用户在您的应用程序中输入和存储凭据。相反,设备存储一个独立于用户名和密码的“ key ”。然后,他们可以登录 Web 应用程序并撤销该应用程序。存储带有过期时间的哈希凭据并不安全,但在短期内可能更容易实现,因为 OAuth 需要服务器和客户端更改。
  2. iPhone 等设备可能会提供一定程度的加密和本地攻击保护,但您应该考虑对应用程序存储的数据进行加密。您还应该将存储的数据量保持在最低限度。实现起来可能是一个挑战,但您需要与用户和管理层进行权衡。

有一些resources out您可能想阅读其中的内容。适用于 Android 或其他移动平台的 Material 也可能有用。

保护 ASP.NET Web 服务

微软发布了一些guidance (以及相关的 WCF security ),但重点往往是 Web 服务方面。您需要考虑更全面的安全方法。由于该应用程序与其他应用程序一样都是 ASP.NET 应用程序,因此您应该查看常规 ASP.NET 安全资源,例如 Beginning ASP.NET SecurityP&P Security Guidelines: ASP.NET 。您可能还想做一些more searching在 StackOverflow 上。

关于ASP.NET Web 服务 API 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2846270/

相关文章:

javascript - 在特殊情况下禁用来自 javascript 的 ddl 更改事件

asp.net - Asp.net 中的下拉列表验证使用必填字段验证器

iphone - 为什么我的电影不能使用 MPMoviePlayerController 播放?

php - 是否有与 Java URL 过滤器/拦截器等效的 PHP?

security - ubuntu 将文件从 windows 复制到/var/www 风险

c# - 在输入 Umbraco 站点的 URL 时添加正斜杠

没有 App_Code 的 ASP.Net WCF 服务

iphone - 如何从条形码获取食品数据

iphone - cocos2dx中CCTexture2D的使用

c# - C :\Windows\System32\GroupPolicyUsers created with Directory. 下的文件夹创建不显示