网址提取服务 - 是否安全?

时间:2010-07-13 02:16:39

标签: google-app-engine

我想将app fetch服务用于app engine(java)。我只是从一个servlet向我自己的一个服务器发送一个POST。

  

AppEngine - > post-to:https://www.myotherserver.com/scripts/log.php

我正在阅读网址获取文档:

  

安全连接和HTTPS
  应用程序可以使用HTTPS方法获取URL以连接到安全服务器。请求和响应数据以加密形式通过网络传输。

  URL提取服务使用的代理无法验证它正在联系的主机。由于没有证书信任链,代理接受所有证书,包括自签名证书。使用HTTPS时,代理服务器无法检测App Engine与远程主机之间的“中间人”攻击。

我不明白 - 第一段听起来像是应用程序引擎上的servlet,到我的php脚本,如果我使用https,那将是安全的。第二段听起来恰恰相反,它实际上并不安全。这是什么?

由于

2 个答案:

答案 0 :(得分:2)

HTTPS为您做了两件事。一种是加密您的数据,以便当它通过互联网,通过各种路由器和交换机传播时,没有人可以窥视它。 HTTPS所做的第二件事是验证您实际上正在与某个服务器通信。这是App Engine无法做到的部分。如果您尝试连接到www.myotherserver.com,可能会有一个名为bob的坏人拦截您的连接,并假装是www.myotherserver.com。你发送到bob的所有内容都会在bob上加密,但bob本人可以获得未加密的数据。

在您的情况下,听起来您可以控制发送服务器和目标服务器,因此您可以使用共享密钥加密数据,以防止这种可能性。

答案 1 :(得分:1)

UrlFetch到https已fixed,允许证书服务器验证。

  

<强> validate_certificate
  值为True指示应用程序向其发送请求   只有证书是的服务器   由受信任的CA有效并签名,并且   还包括匹配的主机名   证书。值为False   指示应用程序执行   没有证书验证。价值   无默认为底层证券   URL提取的实现。该   目前的基础实施   默认为False,但默认为   在不久的将来是真的。