【问题标题】:Secure servlet calls to (free) Google App Engine Groovlets对(免费)Google App Engine Groovlets 的安全 servlet 调用
【发布时间】:2013-08-09 13:56:48
【问题描述】:

我正在使用 C# 创建一个游戏覆盖分布式应用程序,该应用程序需要将数据发送到 GAE 服务器并获取数据更新作为响应。

我将 Gaelyk 用于一个简单的 GET Groovlet,但我想知道如何确保将数据传输到我的服务。目前(本地服务器)我只是用参数进行 GET 调用。为了成功处理,我只需检查所有参数是否已随调用提交。

但是一旦我在野外,这是没有选择的。问题是,尽管黑客是一个小众应用程序,但他们对获取响应数据有浓厚的兴趣,因为这会对游戏本身产生重大影响,例如为黑客提供了巨大的优势。

由于 GAE 没有 SSL 选项 afaik,我想这样做:

  • 首次启动客户端应用程序会生成一个公钥/私钥
  • 客户端将包含我的 GAE 服务器的公钥
  • 对于每次调用,我都会使用客户端私钥/服务器公钥加密要发送的数据,并通过 PUT 发送(因为 URL 长度)
  • 只有一个参数,密钥是客户端的公钥,值是加密数据
  • 服务器现在使用客户端公钥和他的服务器私钥解密并可以更新数据
  • 对于响应,我将使用客户端公钥/服务器私钥进行加密
  • 客户端现在可以解密响应数据

这是保护我的服务的合法方式吗?有更好的选择吗?以及如何开始使用非对称加密的 C# 和 Gaelyk/Groovy?

PS:我需要使用 C#,因为对内存读取有一些要求,我需要使用 GAE,因为它对个人使用是免费的,而且我不希望有大流量。由于简化了 Servlet/Datastore 处理,我使用了 Gaelyk。

编辑:我刚刚看到Security on Google App Engine(Java) - Servlet SSL? 关于免费使用 SSL 是可能的。所以我的问题应该是

这足以进行安全通信吗?我可以在我的 c# 应用程序中使用它而不用为用户带来麻烦吗?

【问题讨论】:

    标签: c# security google-app-engine encryption gaelyk


    【解决方案1】:

    是的,应该足够了。您可以使用 <security-constraint>

    强制执行它

    the deployment descriptor configuration 中所述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      • 2017-07-07
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 2011-08-22
      相关资源
      最近更新 更多