Java 程序 A 和 B 都部署在公网中,二者需要频率不高的通信,使用 REST 的话,安全机制一般怎么保证的

2021-08-30 12:18:48 +08:00
 timi
比如 A 生成一个 token, 手动同步到 B,B 请求 A 的时候带着 token,A 的网关进行校验这样的?
1650 次点击
所在节点    问与答
12 条回复
dzdh
2021-08-30 12:22:08 +08:00
证书+ip 白名单
lshero
2021-08-30 12:24:55 +08:00
简单对参数做个签名验证就行了
dqzcwxb
2021-08-30 12:26:17 +08:00
ip 白名单最安全最省事
Rocketer
2021-08-30 12:31:41 +08:00
各种支付的接入就是这么个场景啊,常用的方法是客户端(购物商城之类的)把要传输的数据按一定规则组成字符串,然后接上一段密文,再求 md5 作为签名一起传过去。服务端(支付宝、PayPal 之类的)用同样的算法检查签名是否正确,就知道是不是真正的客户端传过来的了。

加密不用考虑,https 就行了。
chinvo
2021-08-30 13:37:17 +08:00
最简单是做个 mtls
Puteulanus
2021-08-30 13:41:59 +08:00
不是非要走公网 IP 访问的话,可以两边建个隧道之类的,像 wireguard 这种,以后方便也不用自己维护安全性
Veneris
2021-08-30 13:42:42 +08:00
api 验签吧,可以扩展

https://github.com/viticis/API-Signed
yannxia
2021-08-30 13:50:23 +08:00
简单的不就是加个 Token,为了防止嗅探加个 Https 了事。
XiLingHost
2021-08-30 13:56:02 +08:00
直接互相保存公钥,做客户端证书认证不就好了
akira
2021-08-30 14:05:58 +08:00
签名 + ssl + ip 白名单
hushao
2021-08-30 16:27:47 +08:00
@akira 这个在理
xilou31
2021-08-31 11:43:52 +08:00
https 加 ip 白名单就好了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX