Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / JWT токен с симметричным алгоритмом. / 25 сообщений из 30, страница 1 из 2
09.08.2018, 10:33
    #39685277
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
Объясните пожалуйста кое что. Немного не догоняю.

Есть ли смысл использовать JWT токен, подписанный симметричным алгоритмом ? Для чего он вообще нужен ?
Чтобы клиент мог проверить полученный от сервера токен, ему необходимо отдать ключ симметричного шифрования, и что тогда помешает злоумышленникам подделывать токен, зная этот ключ ? А если не отдавать ключ, то тогда клиент не сможет проверить его получается.
В чем смысл существования симметричного алгоритма, если у него такая проблема ? Могу предположить лишь, что единственным выходом является не давать клиенту секретный ключ, давая возможность проверять валидность ключа. Но это наверное не очень удобно и красиво.
И другой вопрос. имея на руках итоговый текст, зная алгоритм шифрования - разве нельзя вычислить симметричный ключ, которым подписан JWT токен?

Если же использовать асимметричный алгоритм. То как нужно передавать клиенту открытый ключ?
...
Рейтинг: 0 / 0
09.08.2018, 10:47
    #39685291
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCoreЕсть ли смысл использовать JWT токен, подписанный симметричным алгоритмом ? Для чего он вообще нужен ?

Вы о чём вообще? Какой ещё симметричный алгоритм?


WaspNewCoreИ другой вопрос. имея на руках итоговый текст, зная алгоритм шифрования - разве нельзя вычислить симметричный ключ, которым подписан JWT токен?
Если же использовать асимметричный алгоритм. То как нужно передавать клиенту открытый ключ?

Идите ещё раз почитайте про устройство JWT. Нет там шифрования.
...
Рейтинг: 0 / 0
09.08.2018, 11:07
    #39685310
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
hVostt,

RS256 - ассиметричный алгоритм
HS256 - симметричный алгоритм

Соответственно вопрос был - зачем существует HS256, если мы должны либо открыть ключ (и рисковать тем, что токен смогут свободно подделывать), либо не открывать, но тогда у клиента не будет возможности проверить подпись.

Да речь о подписи а не шифровании в данном случае.
PS. Шифрование в JWT токене тоже, по моему, есть. Но сейчас это меня не интересует. Сейчас мне нужно понять насчет подписи.
...
Рейтинг: 0 / 0
09.08.2018, 11:09
    #39685311
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
RS256 (RSA Signature with SHA-256) is an asymmetric algorithm, and it uses a public/private key pair: the identity provider has a private (secret) key used to generate the signature, and the consumer of the JWT gets a public key to validate the signature. Since the public key, as opposed to the private key, doesn't need to be kept secured, most identity providers make it easily available for consumers to obtain and use (usually through a metadata URL).

HS256 (HMAC with SHA-256), on the other hand, is a symmetric algorithm, with only one (secret) key that is shared between the two parties. Since the same key is used both to generate the signature and to validate it, care must be taken to ensure that the key is not compromised.

Т.е. предлагается не открывать симметричный ключ ?
Вообще нужно ли клиенту иметь возможность проверять, что токен не подделан ? Может и не нужно...
...
Рейтинг: 0 / 0
09.08.2018, 11:25
    #39685337
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
hVostt разве ? там ж есть тем каким алгоритмом обработать строку что лежит в клаймзах к примеру. ну вот ту можно поглять что будет https://jwt.io/
или вон https://www.example-code.com/csharp/jwt_rsa_create.asp

WaspNewCore
клиент авторизируется и ему в ответ дается токен чтоб он его потом подцеплял к запросу. клиенту не надо валидировать токен уже. он его использует, по поводу симметричного ключа вы не понимаете что есть публичный ключ а есть приватный, вообще у вас каша в голове. просто отдохните и почитай литературу снова.
...
Рейтинг: 0 / 0
09.08.2018, 11:41
    #39685361
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCoreОбъясните пожалуйста кое что. Немного не догоняю.

Есть ли смысл использовать JWT токен, подписанный симметричным алгоритмом ? Для чего он вообще нужен ?
Чтобы клиент мог проверить полученный от сервера токен, ему необходимо отдать ключ симметричного шифрования, и что тогда помешает злоумышленникам подделывать токен, зная этот ключ ? А если не отдавать ключ, то тогда клиент не сможет проверить его получается.
В чем смысл существования симметричного алгоритма, если у него такая проблема ? Могу предположить лишь, что единственным выходом является не давать клиенту секретный ключ, давая возможность проверять валидность ключа. Но это наверное не очень удобно и красиво.
И другой вопрос. имея на руках итоговый текст, зная алгоритм шифрования - разве нельзя вычислить симметричный ключ, которым подписан JWT токен? JSON Web Token - используется ассиметричный алгоритм

WaspNewCoreЕсли же использовать асимметричный алгоритм. То как нужно передавать клиенту открытый ключ?я так понимаю, что предполагается использование защищённого канала
каждый ответ от сервера может быть проверен этим ключом

для отправки запроса клиент просто вычисляет хэш от параметров с солью в виде этого ключа и прикладывает его к каждому своему запросу, так сервер может убедиться что клиент именно тот кому выдали открытый ключ
вопрос достоверности открытого ключа на клиенте, я так понимаю не учитывается
...
Рейтинг: 0 / 0
09.08.2018, 11:56
    #39685377
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
handmadeFromRu,

Я знаю как это работает.
"клиенту не надо валидировать токен уже" - вот в этом и был вопрос. Нужно ли клиенту убеждаться, что токен не подделан ?
...
Рейтинг: 0 / 0
09.08.2018, 12:40
    #39685451
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCore,
клиент не сможет это сделать в любом случае(тогда клиент будет знать и хранить лишнее у себя), да и зачем если он клиент и смог авторизоваться?
хотите защиту от снипинга то ssl
сервак по этому токену потом будет валидировать ответ от клиента и ему уже надо будет либ посылать в пешее клиента либ работать с ним.
...
Рейтинг: 0 / 0
09.08.2018, 12:47
    #39685470
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCorePS. Шифрование в JWT токене тоже, по моему, есть. Но сейчас это меня не интересует. Сейчас мне нужно понять насчет подписи.

Но ваш вопрос не относится к JWT, а к вопросам криптографии и защиты информации в целом. JWT не отвечает на вопросы, как вы будете обмениваться ключами, секретами, но действует в рамках стандартов и рекомендаций.
...
Рейтинг: 0 / 0
09.08.2018, 13:01
    #39685486
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
handmadeFromRuhVostt разве ? там ж есть тем каким алгоритмом обработать строку что лежит в клаймзах к примеру. ну вот ту можно поглять что будет https://jwt.io/
или вон https://www.example-code.com/csharp/jwt_rsa_create.asp

Можно. Но нафига? Обмен токеном идёт по зашифрованному каналу.
...
Рейтинг: 0 / 0
09.08.2018, 13:07
    #39685494
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
kealon(Ruslan) JSON Web Token - используется ассиметричный алгоритм

Там дофига алгоритмов используется, но обязательный - это обычная хеш функция hmac sha-256.
...
Рейтинг: 0 / 0
09.08.2018, 14:40
    #39685594
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
hVostt,

к этому я пытался вывести ТС)
...
Рейтинг: 0 / 0
09.08.2018, 22:16
    #39685780
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCoreНужно ли клиенту убеждаться, что токен не подделан ?

Зачем?
...
Рейтинг: 0 / 0
10.08.2018, 11:36
    #39685957
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
Агнец за бортом,

Если токен выдается одним сервером, а используются другими, то должно быть доверие к токену. Иначе может получится, что Сервер1 отправит Серверу2 запрос "а переведи-ка на этот счет пару миллиардов долларов. Вот токен подтверждающий мое право".
Соответственно доверие к токену у клиента должно быть.

Возможно, что стандартном подходе Клиент-Сервер, может и не нужно особое доверие к токену. Но тоже спорно.
...
Рейтинг: 0 / 0
10.08.2018, 12:11
    #39685994
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCoreСоответственно доверие к токену у клиента должно быть.

Это сомнительное удовольствие, валидировать токен на клиенте.
Вам когда паспорт выдают, вы как его проверяете? :)

Доверие должно быть со стороны сервера, а клиент просто получил бумажку для получения доступа к ресурсам.
...
Рейтинг: 0 / 0
10.08.2018, 12:14
    #39685997
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCore,

Да и не сможете вы проверить валидность токена на клиенте, так как секрет клиенту не известен.
...
Рейтинг: 0 / 0
10.08.2018, 15:29
    #39686132
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
hVostt,

есть способы, в принципе https на этом пострено
в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты
...
Рейтинг: 0 / 0
10.08.2018, 15:32
    #39686138
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
kealon(Ruslan)есть способы, в принципе https на этом пострено
в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты

Ну так и клиент получает токен у сервера авторизации. Благодаря HTTPS, можно сказать, что напрямую. Зачем его ещё валидировать?

При чём, это невозможно, так как валидировать может только сервер, куда клиент получает доступ с помощью токена.
...
Рейтинг: 0 / 0
10.08.2018, 15:59
    #39686159
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
kealon(Ruslan)hVostt,

есть способы, в принципе https на этом пострено
в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты
Не понимаю, почему тут не принято давать ссылки на документацию?
авторJSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на JSON формате. Как правило, используется для передачи данных авторизации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности.
Иными словами, токен это заменитель куки и он для сервера а не для клиента.
Т.е. чтобы сервер тебя узнал при повторном входе.
Если клиент сам стал сервером, тогда другой разговор.
А так, ни куки, ни токены валидировать не надо.
...
Рейтинг: 0 / 0
10.08.2018, 16:01
    #39686165
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
hVosttWaspNewCore,

Да и не сможете вы проверить валидность токена на клиенте, так как секрет клиенту не известен.

Ассиметричные алгоритмы работают так, что проверить можно. Т.к. шифруется все секретным ключем, а проверяется открытым ключем.
...
Рейтинг: 0 / 0
10.08.2018, 16:05
    #39686170
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCore,
Все можно написать, только это уже не стандарт и с сервером надо договорится.
Можно отпечатки пальцев слать.
...
Рейтинг: 0 / 0
10.08.2018, 16:07
    #39686172
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
Petro123kealon(Ruslan)hVostt,

есть способы, в принципе https на этом пострено
в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты
Не понимаю, почему тут не принято давать ссылки на документацию?
авторJSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на JSON формате. Как правило, используется для передачи данных авторизации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности.
Иными словами, токен это заменитель куки и он для сервера а не для клиента.
Т.е. чтобы сервер тебя узнал при повторном входе.
Если клиент сам стал сервером, тогда другой разговор.
А так, ни куки, ни токены валидировать не надо.


Нет. Это не просто кука. А некий "паспорт" где прописаны права доступа предоставленные юзеру (к примеру).
Токен нужен не только самому серверу - проверить, что токен не подделали, но и возможной третьей стороне.

В яндексе на этом многое построено, вот почитайте
https://tech.yandex.ru/oauth/

Юзер логинится в свой акк только раз, а уже сотни приложений могут использовать яндексовый токен как тот самый паспорт юзера.
Соответственно встает необходимость убеждатся, что токен не подделан. Что его сгенерировал Яндекс.
...
Рейтинг: 0 / 0
10.08.2018, 16:09
    #39686174
WaspNewCore
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
Petro123WaspNewCore,
Все можно написать, только это уже не стандарт и с сервером надо договорится.
Можно отпечатки пальцев слать.

Это именно что стандарт.
Обычно как раз таки JWT Токен (или OAth токен) может генерится сервером авторизации. А использоватся уже на других серверах. Достаточно стандартный подход.

Вон целая компания только этим и живет, что предоставляет свои сервера для генерации токенов.
https://auth0.com/

Хотя все это можно сделать и самому и бесплатно :)
...
Рейтинг: 0 / 0
10.08.2018, 16:59
    #39686202
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCoreНет. Это не просто кука. А некий "паспорт" где прописаны права доступа предоставленные юзеру (к примеру).ну дак сервер их читает т.к. забыл этот список при переходе по страничкам.

WaspNewCoreВ яндексе на
Тогда тему на oauth надо менять.
И стандарт его как раз приводить.
...
Рейтинг: 0 / 0
10.08.2018, 17:01
    #39686203
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT токен с симметричным алгоритмом.
WaspNewCore,
Я к тому что jwt не должен валидироваться и согласен с hWostt.
А ТС пусть уточняет про oauth.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / JWT токен с симметричным алгоритмом. / 25 сообщений из 30, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]