JWT Token Security - PullRequest
       9

JWT Token Security

0 голосов
/ 03 июня 2018

Поскольку токены JWT отправляются через заголовки для проверки подлинности пользователей, пользователь может просто проверить веб-вызов в инструментах разработчика Chrome, скопировать, вставить токен и использовать его для доступа к открытому API.

Например,если я использую этот токен для создания записи, злонамеренный пользователь может использовать этот же токен (используя вышеупомянутый способ) для создания новой записи в базе данных.

Как я могу предотвратить это?Является ли использование Token Encryption с открытым ключом сервера способом остановить это?

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Можно выполнить несколько шагов, как указано ниже:

  1. Вы должны использовать https соединение вместо http соединения.Это зашифрует ваше сообщение, которое отправлено на сервер или получено с сервера.Поэтому, если человек посередине ловит ваш пакет, он ничего не может сделать, потому что сообщение зашифровано.

  2. Также добавьте кратковременный срок действия для jwt token в зависимости от поведения вашего приложения.

  3. Добавьте соответствующий размер ключа для проверки собственной подписи токена.AES ключи короче 128 бит или RSA ключи короче 1024 бит для устаревших приложений. 2048-битное шифрование стало популярным в наши дни.
  4. HSM (Hardware Security Module) можно ввести для подписанияи задача шифрования, в то время как ключ недоступен на уровне ОС или программного обеспечения.

Вы должны копать глубже, чтобы узнать больше здесь [шпаргалка для JWT токена OWASP].

0 голосов
/ 03 июня 2018

Токен представляет личность пользователя.Это нормально, что пользователь может просматривать свой токен.Токен проверен на сервере.Обычно нет простого способа подделать токен.Use не может сгенерировать новый токен самостоятельно.

Связь между браузером и сервером должна осуществляться через TLS.Тогда никакая третья сторона не сможет увидеть токен.

Если ваш пользователь предоставляет доступ к своему браузеру кому-то другому, то да, другой человек потенциально может получить доступ к токену и использовать его позже на другом компьютере,это токен еще не истек.Но это не относится к токену, это похоже на предоставление доступа к вашему паролю кому-то еще.

...