Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 确保网站和RESTful web服务之间的通信安全_Java_Json_Rest_Tomcat_Restful Authentication - Fatal编程技术网

Java 确保网站和RESTful web服务之间的通信安全

Java 确保网站和RESTful web服务之间的通信安全,java,json,rest,tomcat,restful-authentication,Java,Json,Rest,Tomcat,Restful Authentication,我们将有一个由外包公司创建的网站,该网站将以JSON有效载荷的形式向我们的RESTful web服务发送一些信息。用户将在该网站上进行登录和身份验证,因此我们不想知道用户的用户名和密码。我们需要的是确保发送的JSON是可信的网站,然后我们会发回另一个JSON负载,包括我们的一些信息 我在安全领域是个新手,所以我在谷歌上搜索了一下,发现我们可以使用认证来加密/解密信息。但是,如果我们能够首先识别黑客请求并拒绝该请求,那么解决方案将是什么呢 保护restful服务的一种简单方法是基本身份验证。进行r

我们将有一个由外包公司创建的网站,该网站将以JSON有效载荷的形式向我们的RESTful web服务发送一些信息。用户将在该网站上进行登录和身份验证,因此我们不想知道用户的用户名和密码。我们需要的是确保发送的JSON是可信的网站,然后我们会发回另一个JSON负载,包括我们的一些信息


我在安全领域是个新手,所以我在谷歌上搜索了一下,发现我们可以使用认证来加密/解密信息。但是,如果我们能够首先识别黑客请求并拒绝该请求,那么解决方案将是什么呢

保护restful服务的一种简单方法是基本身份验证。进行rest调用的应用程序将提供如下请求头

Authorization: Basic ZWx1c3VhcmlvOnlsYWNsYXZlde
这不是一个基于用户的解决方案,而是一个webapp到webapp的解决方案。所有其他请求都是未经授权的


根据你的描述,我马上想到两件事:

  • 使用SSL证书。这已经确保了您的 网站正在通过互联网进行加密传输
  • 使用令牌系统。例如,代币广泛应用于支付解决方案中,因为信用卡数据永远不应该接触您自己的服务器。所有令牌都包含一些用于证明身份的秘密信息
  • 使用HTTP请求头,例如基本身份验证
  • 当然,您应该拥有SSL证书。这已经为您的站点增加了很多安全性

    但是,如果我们能够首先识别黑客请求并拒绝该请求,那么解决方案将是什么呢


    嗯,你自己回答了。如果你能检测到它,就拒绝它。

    简单,使用HTTPS。因此Http头基本身份验证+SSL认证来加密有效负载对于我们的案例来说似乎是一个很好的组合。只是想知道http基本身份验证使用Base64对用户名和密码进行编码,这样安全吗?我的意思是黑客仍然可以劫持请求并解码它。不一定。基本身份验证通常使用Base64编码完成。但是如果你想,你可以随意加密。例如,MD5或任何你想到的东西。您可以将所有内容都放在请求头中。你越是做自己的事情,攻击者就越难劫持你的队伍。希望有帮助:汉克斯·安德烈亚斯,这很有帮助。