导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Windows Phone 8 的安全性

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

Windows Phone 可提供一种出色的体验,使用户可以对来自受信任的安全来源的大量应用进行自定义。在开发应用时应考虑安全性,以便最终用户感觉舒适并拥有最佳的手机体验,这一点非常重要。

本主题包括以下部分。

Windows Phone 应用平台 集成了多种技术,旨在帮助用户在 Windows Phone 上下载和使用第三方应用时保持高质量的最终用户体验。这些技术所解决的问题可以划分为三大类:

  • 手机体验的质量。最终用户希望所获得的应用不会负面影响他们的手机体验,如使手机响应速度变慢或做出影响其他应用或手机本身的更改。此外,出于某种原因用户的手机不再需要特定的应用时,可以轻松且完全地卸载应用,这一点很重要。

  • 用户信息访问。最终用户希望他们所获得的应用不会在他们不知情的情况下访问某些信息。这包括他们的个人数据、联系人、地理位置和照片等信息。

  • 收费事件。最终用户希望应用不会在未经他们允许的情况下执行产生额外费用的操作。例如,拨打 1-900 电话号码的应用。

Windows Phone 应用平台 包含了多种措施,旨在解决这些问题并打造用户能够尝试各种应用的健康系统。

Windows Phone 应用平台 的目标之一是逐步打造设计安全和默认安全的应用。实现此目标最重要的一个层面就是将多个安全防护措施集成到开发环境和生命周期中。批准在 Windows Phone 应用商店 中销售的应用的强制自动数字签名就是一个很好的示例。

为了简化保护用户利益的安全措施,应用开发人员需要遵循以下步骤:

  1. 以 Windows Phone 开发人员登录,提供 ISV 个人信息(可能需要验证)并支付相关费用。

  2. 获取建议的开发环境(提供免费版本)。

  3. 根据 Windows Phone 应用开发专用的标准做法开发 Windows Phone 应用。为了简化测试,开发人员可以将一个或多个 Windows Phone 注册为开发设备,从而使这些设备可以在开发期间以及在应用提交和认证期间进行数字签名之前运行应用。

  4. 提交 Windows Phone 应用以包含在 Windows Phone 应用商店 中。此过程将对应用进行各种公开编档的认证测试,如 Windows Phone 的应用认证要求所述。如果应用通过了所有测试,则将以开发人员的名义对其进行数字签名并提交至 Windows Phone 应用商店,以供销售。

通过遵循该结构化开发环境和进程,开发人员应尽自己的职责,营造激发最终用户信心的 Windows Phone 应用环境。

该结构化的开发平台和执行环境还包含旨在保护开发人员知识产权的保护措施。对于在 Windows Phone 上运行的应用,手机中必须存在由 Windows Phone 应用商店 颁发的有效许可证。这意味着即使技术精湛的最终用户知道如何避开 Windows Phone 应用商店 并以某种其他方式将应用加载到手机,在没有许可证的情况下,Windows Phone 也不会允许应用运行,从而保护了开发人员的劳动成果。

Windows Phone 应用平台 采用了多种技术,旨在帮助保护 Windows Phone 最终用户,避免受到存在某些不需要行为的应用的侵扰。

  • 结构化应用提交和认证过程包括一系列应用测试,以鉴定某些可能有问题的行为,防止在 Windows Phone 应用商店 中提供这类应用。

  • Windows Phone 应用商店 是应用获取、强制代码签名和应用许可证的唯一合法来源。此方法将有利于维持一套一致的 Windows Phone 应用标准。

  • Windows Phone 应用在沙盒进程中运行。这意味着它们之间相互独立,将以严格的结构化方式与手机功能交互。如果应用需要保存数据或配置信息,将使用可防止其他应用访问的独立存储执行保存操作。应用只能通过受控机制互相通信。有关独立存储的更多信息,请参见 Windows Phone 的数据

  • Windows Phone 应用在执行管理器的监督下运行。执行管理器将按某些已定义约定的要求度量应用行为。例如,执行管理器监视非前台运行应用使用的资源,并在需要时终止非前台应用,以便使前台应用可以更快速的响应用户。

  • 运行特定应用的沙盒进程具有一套自定义的安全功能。Windows Phone 应用平台 旨在通过仅向每个应用授予运行所需的功能来最小化对其的攻击面范围。例如,如果应用不需要使用媒体库,则 Windows Phone 应用平台 将寻求在没有媒体库访问权限的沙盒进程中执行该应用程序。

    应用可能需要的某些功能直接影响着信息访问或成本。在此类情况下,Windows Phone 应用商店 将在最终用户购买应用之前向其公开该信息。在首次使用预安装的应用时,应用也需要向最终用户公开该信息。

SDL 是一个针对软件开发的安全保证过程。它是强制安全活动的集合,可按传统软件开发生命周期的阶段来分组。如果单独实施,其中许多安全活动都可以提供一定程度的安全好处。但是,Microsoft 的实际经验表明,按时间顺序并作为重复进程一部分执行的安全活动相对于即席实施,可以产生更大的安全收益。SDL 合并了全面的实际方法,同时还在开发过程的所有阶段引入了安全和隐私,以便实现保护最终用户的目标。有关 SDL 的更多信息,请参阅 SDL 进程指南

Microsoft 为开发人员提供了多种可与其应用一起使用的 SDL 工具。作为 Windows Phone 开发人员,有多种可能有所帮助的工具:

SDL 工具

信息

Microsoft SDL 威胁建模工具

SDL 威胁建模工具使得非安全主题事务专家能够通过交流系统的安全设计、使用经实践检验的方法分析这些设计的潜在安全问题,以及建议和管理安全问题的缓解措施,创建和分析威胁模型。

FxCop

FxCop 是一个静态分析器。它分析托管代码程序集,并报告程序集的相关信息(如在设计、本地化、性能和安全方面可能的改进)。

BinScope

BinScope 二进制文件分析器是一个验证工具,它分析二进制文件以确保它们的生成符合 SDL 要求和建议。BinScope 检查 SDL 要求的编译器/链接器标记是否正在设置、强名称程序集是否正在使用、最新生成工具是否已实施以及是否正在使用状态良好的最新 ATL 标头。BinScope 还报告 SDL 禁止的危险构造。

MiniFuzz

MiniFuzz File Fuzzer 是一个基本的测试工具,用来帮助检测文件处理代码中可能暴露安全漏洞的问题。该工具对于在应用程序中解析文件的 Windows Phone 开发人员来说很有帮助。

Banned.h

banned.h 头文件是一个整理资源,支持将禁止使用的功能从代码中移除的 SDL 要求。它将列出所有禁止的 API,并允许开发人员在代码中查找这些 API。该工具对于生成 Web 服务的开发人员来说很有帮助。

只要服务器的 SSL 证书由受信任的机构颁发且对目标网站有效,即可使用 SSL 连接来连接到 Web 服务。在测试应用中的 SSL 连接之前,可以尝试使用 Windows Phone Internet Explorer 导航到网站。在使用浏览器时,若证书导致警告或错误,则应用中的连接可能也会失败。

若要查看随 Windows Phone 提供的 SSL 根证书的列表,请参见 Windows Phone OS 7.1 的 SSL 根证书

您可以将证书颁发机构添加到受信任的机构,但不支持添加客户端 SSL 证书。

您可以使用 ProtectedData 类通过数据保护 API (DPAPI) 轻松加密和解密数据。有关更多信息,请参阅如何加密 Windows Phone 应用程序中的数据

有关如何处理 Web 服务安全的更多信息,请参阅 Windows Phone 的 Web 服务安全

有关 Windows Phone 功能的更多信息,请参见 Windows Phone 应用的功能和硬件要求

Windows Phone 支持下列加密算法:

  • AES

  • HMACSHA1

  • HMACSHA256

  • Rfc2898DeriveBytes

  • RSA

  • SHA1

  • SHA256

显示:
© 2014 Microsoft