首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保护WP7应用程序中的身份验证数据

保护WP7应用程序中的身份验证数据
EN

Stack Overflow用户
提问于 2012-05-13 05:08:45
回答 1查看 210关注 0票数 2

我正在写一个WP7应用程序,并希望包括功能,以分享高分数据使用亚马逊的亚马逊网络服务作为存储服务。

据我所知,XAP文件(目前)是安全加密的,目前还不存在WP7越狱的情况。然而,考虑到这样的“安全”加密可能是暂时的,我想知道这是否/如何违反最佳实践。

亚马逊网络服务的dynamoDB使用临时访问令牌,可以使用给定的账户数据生成,有效期为36小时。任何请求都必须使用签名进行验证。

我正在考虑将所有访问数据存储在XAP文件中,该文件还将生成临时访问令牌和签名。该信息将通过https请求在手机和AWS之间传递。

我正在尝试制定替代流程,包括将临时令牌计算的生成传递给外部way服务,然而,我想不出一种方法来保护这些数据,如果XAP文件是可访问的,它将不会受到类似的危害。

我是完全错过了最佳实践方法,还是过于谨慎了?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-13 16:54:22

你永远无法阻止用户发送虚假分数,这与每个流行游戏都存在非官方作弊应用程序的原因是一样的。你能做的最好的事情就是让它变得更难。

通过一种简单的方法,客户端直接将分数发送到服务器,而不需要任何加密。有人可以通过在模拟器上运行应用程序并捕获传出的数据包,然后在他的桌面浏览器上打开相同的URL来作弊。估计时间:不到10分钟,任何知道可以直接从市场下载XAP、删除清单并将其部署到仿真器上的人都可以完成。

然后,您可以在客户端上添加加密密钥。现在有人必须了解C#和Reflector才能提取它,但对于拥有这些技能的人来说,这仍然很容易。

下一级,您可以添加加密密钥并对程序集进行模糊处理。需要CIL和Relector的知识才能提取密钥。对于一个高技能的开发人员来说,提取密钥需要30分钟到一个小时,而对于大多数开发人员来说,则需要数小时。

最后,您可以添加多个步骤来迷惑入侵者(例如,从服务器下载一个临时令牌并以某种方式在分数发送过程中使用它)。此外,您可以设计评分系统,使某些分数是非法的(愚蠢的示例:如果最小的评分操作获得2分,那么如果有人发送一个奇数作为分数,您就知道他作弊了。这个很容易理解,但你可以制定更复杂的规则)。

无论如何,要记住你的系统总是脆弱的,这只是一个攻击者需要多长时间才能攻破它的问题。如果一个高技能的开发人员需要几个小时或几天的时间,那么除非你给最好的玩家提供一些有价值的奖励,否则你可以有把握地认为没有人会费心这么做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10567425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档