|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
Объясните пожалуйста кое что. Немного не догоняю. Есть ли смысл использовать JWT токен, подписанный симметричным алгоритмом ? Для чего он вообще нужен ? Чтобы клиент мог проверить полученный от сервера токен, ему необходимо отдать ключ симметричного шифрования, и что тогда помешает злоумышленникам подделывать токен, зная этот ключ ? А если не отдавать ключ, то тогда клиент не сможет проверить его получается. В чем смысл существования симметричного алгоритма, если у него такая проблема ? Могу предположить лишь, что единственным выходом является не давать клиенту секретный ключ, давая возможность проверять валидность ключа. Но это наверное не очень удобно и красиво. И другой вопрос. имея на руках итоговый текст, зная алгоритм шифрования - разве нельзя вычислить симметричный ключ, которым подписан JWT токен? Если же использовать асимметричный алгоритм. То как нужно передавать клиенту открытый ключ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 10:33 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCoreЕсть ли смысл использовать JWT токен, подписанный симметричным алгоритмом ? Для чего он вообще нужен ? Вы о чём вообще? Какой ещё симметричный алгоритм? WaspNewCoreИ другой вопрос. имея на руках итоговый текст, зная алгоритм шифрования - разве нельзя вычислить симметричный ключ, которым подписан JWT токен? Если же использовать асимметричный алгоритм. То как нужно передавать клиенту открытый ключ? Идите ещё раз почитайте про устройство JWT. Нет там шифрования. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 10:47 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
hVostt, RS256 - ассиметричный алгоритм HS256 - симметричный алгоритм Соответственно вопрос был - зачем существует HS256, если мы должны либо открыть ключ (и рисковать тем, что токен смогут свободно подделывать), либо не открывать, но тогда у клиента не будет возможности проверить подпись. Да речь о подписи а не шифровании в данном случае. PS. Шифрование в JWT токене тоже, по моему, есть. Но сейчас это меня не интересует. Сейчас мне нужно понять насчет подписи. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 11:07 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
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. Т.е. предлагается не открывать симметричный ключ ? Вообще нужно ли клиенту иметь возможность проверять, что токен не подделан ? Может и не нужно... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 11:09 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
hVostt разве ? там ж есть тем каким алгоритмом обработать строку что лежит в клаймзах к примеру. ну вот ту можно поглять что будет https://jwt.io/ или вон https://www.example-code.com/csharp/jwt_rsa_create.asp WaspNewCore клиент авторизируется и ему в ответ дается токен чтоб он его потом подцеплял к запросу. клиенту не надо валидировать токен уже. он его использует, по поводу симметричного ключа вы не понимаете что есть публичный ключ а есть приватный, вообще у вас каша в голове. просто отдохните и почитай литературу снова. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 11:25 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCoreОбъясните пожалуйста кое что. Немного не догоняю. Есть ли смысл использовать JWT токен, подписанный симметричным алгоритмом ? Для чего он вообще нужен ? Чтобы клиент мог проверить полученный от сервера токен, ему необходимо отдать ключ симметричного шифрования, и что тогда помешает злоумышленникам подделывать токен, зная этот ключ ? А если не отдавать ключ, то тогда клиент не сможет проверить его получается. В чем смысл существования симметричного алгоритма, если у него такая проблема ? Могу предположить лишь, что единственным выходом является не давать клиенту секретный ключ, давая возможность проверять валидность ключа. Но это наверное не очень удобно и красиво. И другой вопрос. имея на руках итоговый текст, зная алгоритм шифрования - разве нельзя вычислить симметричный ключ, которым подписан JWT токен? JSON Web Token - используется ассиметричный алгоритм WaspNewCoreЕсли же использовать асимметричный алгоритм. То как нужно передавать клиенту открытый ключ?я так понимаю, что предполагается использование защищённого канала каждый ответ от сервера может быть проверен этим ключом для отправки запроса клиент просто вычисляет хэш от параметров с солью в виде этого ключа и прикладывает его к каждому своему запросу, так сервер может убедиться что клиент именно тот кому выдали открытый ключ вопрос достоверности открытого ключа на клиенте, я так понимаю не учитывается ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 11:41 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
handmadeFromRu, Я знаю как это работает. "клиенту не надо валидировать токен уже" - вот в этом и был вопрос. Нужно ли клиенту убеждаться, что токен не подделан ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 11:56 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCore, клиент не сможет это сделать в любом случае(тогда клиент будет знать и хранить лишнее у себя), да и зачем если он клиент и смог авторизоваться? хотите защиту от снипинга то ssl сервак по этому токену потом будет валидировать ответ от клиента и ему уже надо будет либ посылать в пешее клиента либ работать с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 12:40 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCorePS. Шифрование в JWT токене тоже, по моему, есть. Но сейчас это меня не интересует. Сейчас мне нужно понять насчет подписи. Но ваш вопрос не относится к JWT, а к вопросам криптографии и защиты информации в целом. JWT не отвечает на вопросы, как вы будете обмениваться ключами, секретами, но действует в рамках стандартов и рекомендаций. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 12:47 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
handmadeFromRuhVostt разве ? там ж есть тем каким алгоритмом обработать строку что лежит в клаймзах к примеру. ну вот ту можно поглять что будет https://jwt.io/ или вон https://www.example-code.com/csharp/jwt_rsa_create.asp Можно. Но нафига? Обмен токеном идёт по зашифрованному каналу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 13:01 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
kealon(Ruslan) JSON Web Token - используется ассиметричный алгоритм Там дофига алгоритмов используется, но обязательный - это обычная хеш функция hmac sha-256. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 13:07 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
hVostt, к этому я пытался вывести ТС) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 14:40 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCoreНужно ли клиенту убеждаться, что токен не подделан ? Зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 22:16 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Если токен выдается одним сервером, а используются другими, то должно быть доверие к токену. Иначе может получится, что Сервер1 отправит Серверу2 запрос "а переведи-ка на этот счет пару миллиардов долларов. Вот токен подтверждающий мое право". Соответственно доверие к токену у клиента должно быть. Возможно, что стандартном подходе Клиент-Сервер, может и не нужно особое доверие к токену. Но тоже спорно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 11:36 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCoreСоответственно доверие к токену у клиента должно быть. Это сомнительное удовольствие, валидировать токен на клиенте. Вам когда паспорт выдают, вы как его проверяете? :) Доверие должно быть со стороны сервера, а клиент просто получил бумажку для получения доступа к ресурсам. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 12:11 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCore, Да и не сможете вы проверить валидность токена на клиенте, так как секрет клиенту не известен. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 12:14 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
hVostt, есть способы, в принципе https на этом пострено в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 15:29 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
kealon(Ruslan)есть способы, в принципе https на этом пострено в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты Ну так и клиент получает токен у сервера авторизации. Благодаря HTTPS, можно сказать, что напрямую. Зачем его ещё валидировать? При чём, это невозможно, так как валидировать может только сервер, куда клиент получает доступ с помощью токена. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 15:32 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
kealon(Ruslan)hVostt, есть способы, в принципе https на этом пострено в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты Не понимаю, почему тут не принято давать ссылки на документацию? авторJSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на JSON формате. Как правило, используется для передачи данных авторизации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности. Иными словами, токен это заменитель куки и он для сервера а не для клиента. Т.е. чтобы сервер тебя узнал при повторном входе. Если клиент сам стал сервером, тогда другой разговор. А так, ни куки, ни токены валидировать не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 15:59 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
hVosttWaspNewCore, Да и не сможете вы проверить валидность токена на клиенте, так как секрет клиенту не известен. Ассиметричные алгоритмы работают так, что проверить можно. Т.к. шифруется все секретным ключем, а проверяется открытым ключем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 16:01 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCore, Все можно написать, только это уже не стандарт и с сервером надо договорится. Можно отпечатки пальцев слать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 16:05 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
Petro123kealon(Ruslan)hVostt, есть способы, в принципе https на этом пострено в частности с паспортом, его же не по почте присылают, валидацией выступает работник паспортной службы у которого его получаешь и знаки защиты Не понимаю, почему тут не принято давать ссылки на документацию? авторJSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на JSON формате. Как правило, используется для передачи данных авторизации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности. Иными словами, токен это заменитель куки и он для сервера а не для клиента. Т.е. чтобы сервер тебя узнал при повторном входе. Если клиент сам стал сервером, тогда другой разговор. А так, ни куки, ни токены валидировать не надо. Нет. Это не просто кука. А некий "паспорт" где прописаны права доступа предоставленные юзеру (к примеру). Токен нужен не только самому серверу - проверить, что токен не подделали, но и возможной третьей стороне. В яндексе на этом многое построено, вот почитайте https://tech.yandex.ru/oauth/ Юзер логинится в свой акк только раз, а уже сотни приложений могут использовать яндексовый токен как тот самый паспорт юзера. Соответственно встает необходимость убеждатся, что токен не подделан. Что его сгенерировал Яндекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 16:07 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
Petro123WaspNewCore, Все можно написать, только это уже не стандарт и с сервером надо договорится. Можно отпечатки пальцев слать. Это именно что стандарт. Обычно как раз таки JWT Токен (или OAth токен) может генерится сервером авторизации. А использоватся уже на других серверах. Достаточно стандартный подход. Вон целая компания только этим и живет, что предоставляет свои сервера для генерации токенов. https://auth0.com/ Хотя все это можно сделать и самому и бесплатно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 16:09 |
|
JWT токен с симметричным алгоритмом.
|
|||
---|---|---|---|
#18+
WaspNewCoreНет. Это не просто кука. А некий "паспорт" где прописаны права доступа предоставленные юзеру (к примеру).ну дак сервер их читает т.к. забыл этот список при переходе по страничкам. WaspNewCoreВ яндексе на Тогда тему на oauth надо менять. И стандарт его как раз приводить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 16:59 |
|
|
start [/forum/topic.php?fid=18&fpage=19&tid=1355161]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 165ms |
0 / 0 |