GAE Channel API是否安全?什么是底层实施?

时间:2012-04-18 00:59:43

标签: python security google-app-engine https channel-api

我正在使用GAE + Python创建一个需要向客户端发送敏感数据实时更新的应用程序,我想知道App Engine Channel API是否安全。使用HTTPS是否足够或渠道是否需要自己的安全协议?

此外,App Engine Channel API的基础实施是什么? Websockets,SSE?看起来它实际上只提供从服务器到客户端通过通道的单向通信,然后客户端使用标准HTTP请求与服务器通信。

2 个答案:

答案 0 :(得分:5)

通道API的连接是通过HTTPS进行的,无论页面的加载方式如何,因此无法窃听通道API连接的内容。只要您保密频道密钥,您的频道就是您的应用与客户之间的安全通信渠道。

使用长轮询(彗星)实现频道。

答案 1 :(得分:0)

由于频道是服务器和客户端之间的长期连接,因此在许多情况下,由于性能考虑,不允许频道使用资源消耗安全方法。正如在official manual中声明的那样,服务器仅通过HTTP请求从客户端接收更新消息。据我所知,即使是Dropbox也会通过HTTP发送其长期通知消息,只使用非常短的通知来判断是否有新内容。

幸运的是,有两种方法可以确保您的安全。

  1. 仅在某些状态发生变化时通过HTTP通道通知您的客户端。之后,让客户决定是否应该进行另一个可以是安全通信的请求。这是渠道最常用的方式。

  2. 虽然这不是我个人推荐的方式,但您可以自己加密数据并将这些加密数据运行在不安全的HTTP通道上。