安全的servlet调用(免费)Google App Engine Groovlets

时间:2013-08-09 13:56:48

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

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

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

但是,只要我在野外,这是不可取的。问题是黑客虽然它是一个利基应用程序会对获取响应数据有浓厚的兴趣,因为这会对游戏本身产生重大影响,例如:为黑客提供了巨大的优势。

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

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

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

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

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

这对于安全通信是否足够?我是否可以在我的c#应用程序中使用它而无需为用户提供帮助?

1 个答案:

答案 0 :(得分:0)

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

强制执行此操作

the deployment descriptor configuration中所述。