我正在创建一个使用Node Js服务器API的Flutter应用程序。为了获得授权,我决定将JWT与私钥/公钥一起使用。服务器与移动客户端之间的通信使用HTTPS。 Flutter应用程序将令牌存储在钥匙串(ios)或密钥库(android)中。我的问题与其他安全措施实施的需求有关。我想知道是否需要以下几点:
为了避免人处于中间攻击力,真的需要这些吗?我的异议与每次通信的签名/验证令牌的性能有关。
谢谢
答案 0 :(得分:0)
我已经使用JWT我们的移动应用程序来确保安全,并且这些应用程序已通过了安全测试(3.party公司)。该公司说:秘密存储您存储的令牌或任何密钥。
我们知道,仅JWT安全性还不够。我们编写了一个自定义的加密算法来隐藏JWT(例如sha-1),因此我们对此进行了加密。(您必须编写客户端和后端的加密代码) 普通jwt:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOixMjM0NTY3ODkwiiwibmFtZSI6IkpvaG4gRG9liiwiaWF0IjoxNTE2MjM5MDIyQQ。
加密后:xxs {4 = -23dasdxe3(示例)
我们通过此解决方案通过了安全规则。