颤振安全

时间:2020-09-06 21:33:56

标签: flutter dart https jwt

我正在创建一个使用Node Js服务器API的Flutter应用程序。为了获得授权,我决定将JWT与私钥/公钥一起使用。服务器与移动客户端之间的通信使用HTTPS。 Flutter应用程序将令牌存储在钥匙串(ios)或密钥库(android)中。我的问题与其他安全措施实施的需求有关。我想知道是否需要以下几点:

  1. 通过检查令牌以识别服务器来验证具有公共密钥的服务器响应
  2. 使用服务器端的私钥验证客户端请求(客户端使用公钥对令牌签名)

为了避免人处于中间攻击力,真的需要这些吗?我的异议与每次通信的签名/验证令牌的性能有关。

谢谢

1 个答案:

答案 0 :(得分:0)

我已经使用JWT我们的移动应用程序来确保安全,并且这些应用程序已通过了安全测试(3.party公司)。该公司说:秘密存储您存储的令牌或任何密钥。

我们知道,仅JWT安全性还不够。我们编写了一个自定义的加密算法来隐藏JWT(例如sha-1),因此我们对此进行了加密。(您必须编写客户端和后端的加密代码) 普通jwt:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOixMjM0NTY3ODkwiiwibmFtZSI6IkpvaG4gRG9liiwiaWF0IjoxNTE2MjM5MDIyQQ。

加密后:xxs {4 = -23dasdxe3(示例)

我们通过此解决方案通过了安全规则。