gpt4 book ai didi

spring - 我怎样才能使移动/网络客户端和后端之间的通信完全可信?

转载 作者:太空宇宙 更新时间:2023-11-03 14:48:47 26 4
gpt4 key购买 nike

我有一个用于流式传输音乐的移动和网络应用程序。这是我的实际架构:

  • RESTful 服务(Spring Boot)
  • Spring 安全
  • OAuth2
  • 通过 CA 认证域的 HTTPS

问题是:我怎样才能在我的移动客户端和后端之间进行专门的通信?(在网络客户端和后端之间也是如此)

我的建议是将问题分成两部分 - 创建两个网络服务:

  1. 一个带有用户证书的移动应用程序后端(无 CRSF 保护)。
  2. 网络播放器的一个后端(具有 CRSF 保护)只接受来自网络播放器域的请求。

对于移动问题,

我能够使用 Fiddler 通过代理拦截我的移动请求,解密 HTTPS 并获取 URL、 header 、 token 等重要信息。

但我知道有一种方法可以避免它在被另一个 CA 拦截时拒绝请求,就像后端和移动应用程序之间的完全信任的通信一样。我如何为移动解决方案做到这一点?


对于网络播放器问题,

问题更大,因为浏览器会向任何人显示 header 、URL 和标记。

因为我无法像移动应用程序那样隐藏这些信息,所以我可以让我的后端只接受来自网络播放器域的请求。这种情况的最佳解决方案是什么?


已更新

反编译手机客户端比想象中简单。由于我无法保护/混淆 key 、 token 和 URL,我的建议是在后端限制每个用户 token 的请求。但是我怎样才能在网络播放器上做到这一点呢?我对任何人都有相同的 token (没有用户的身份验证)。

我找到了这篇关于反编译移动客户端的文档。 http://pt.slideshare.net/denimgroup/developing-secure-mobile-applications-17732256

最佳答案

我建议您使用 asymmetric cryptography .您从服务器请求一个公钥,并加密所有与它的后续通信。而且只有您的后端才能理解您发送给它的内容,因为只有它有一个私钥来解密消息。

Note that your users still will be able to extract unencrypted datadirectly from client memory. And you have no real way to disallow this!

关于spring - 我怎样才能使移动/网络客户端和后端之间的通信完全可信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com