将数据从一个服务器发送到浏览器到另一个服务器



我有2台服务器,让它们命名为serverAserverFirebase

serverA没有互联网访问,只能在本地网络中访问,它承载了一个。net应用程序

serverFirebase是google firebase服务器

我需要从serverA发送请求到serverFirebase,但我不能,因为serverA没有互联网访问

我想到的解决方案是,由于浏览器(显示来自serverA的web应用程序)有互联网访问,我可以使用他的浏览器代理我的请求

就像这样

serverA->默认浏览器环境;serverFirebase

现在我想这样做:

1 -创建rsa密钥对,私钥在serverA,公钥在serverFirebase

2 -在serverA中创建请求有效载荷的sha256哈希,并添加它并使用私钥签名(注意请求有效载荷有一个只能使用一次的订单号)

3 -发送有效载荷和签名哈希到浏览器

4 -发送有效载荷和签名哈希从浏览器到serverFirebase

5 -在serverFirebase中使用公钥解密签名哈希,并将其与有效负载的哈希进行比较,并检查订单号之前没有使用过

我的问题是,这种方法是否足够安全?如果已经有任何协议来处理这种情况。

感谢

我认为这取决于你的威胁模型,你预期的攻击者是谁,以及你对环境的假设。

不让这个变得太复杂,我想到的一种攻击途径是在浏览器和serverFirebase之间的中间人。攻击者可能只是读取您在serverA上生成的消息并存储它。由于他可以读取您的消息(您只对摘要签名,而使有效负载本身未加密),因此他知道它们在说什么,并以他想要的顺序和随时发送他想要的消息。

例如,您的第一个消息是buy 200 shares of Penny Stock,下一个消息是sell 100 shares of Penny Stock。攻击者可能只能转发第一条消息而不能转发第二条消息。

相关内容

  • 没有找到相关文章

最新更新