Size: a a a

Clojure — русскоговорящее сообщество

2019 December 11

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Ivan Grishaev
Мне кажется, чтобы решить это криптографией, для начала бы упростить схему, убрав токены. Пусть у клиента будет несколько пар открытых и закрытых ключей. А дальше как я писал выше: дерево с контентом, где каждый уровень подписан  своим ключом. Уровнь выше включает в сигнатуру  подпись из нижнего уровня. На сервере все это можно проверить.
ок, вариант, "не делай так, пили полисис как все" мне известен )
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
но я хочу все же попробовать вот так
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
и это прекрасно работает с симметричной криптографией, как я сказал
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
вопрос только в том возможно ли и как достичь этих свойств асимметричной
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
я вот скинул пару папир где описываются эти методы
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
может быть есть что-то еще и с имплементацией?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Andrew Rudenko
я все описал, давай вот конкретно, где в описании не понятно?
попроблую пересказать словами
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
вот есть один данные подписанные ключом1
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
потом к ним что-то еще добавляем и подписываем ключом2
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
потом есть верификатор, который знает pubkey1 и pubkey2, который берет и это все проверяет.
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
да
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
ну вот у тебя есть все это в виде массивов байтиков и две функеции sign(), verify()
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
и я так и не понял в чем вопрос.
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну т.е. вот есть token1
ты берешь и делаешь token2 = token1 + sign(token1, privkey2)
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
так? )
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
так
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
1. либо ты никак не включаешь в подпись token2 подпись от token1 и тогда верифификация всей цепочки становится невозможна
2. либо ты плейнтекстом включаешь подпись token1 в token2 и тогда любой обладатель token2 может получить token1
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
понимаешь? )
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrew Rudenko
token1 = data1.apikey1.signature1
 where signature1 = sign(data1.apikey1, secret1)

token2 = data1.apikey1.data2.apikey2.signature2
 where signature2 = sign(data1.apikey1.signature1.data2.apikey2, secret2)
видишь что тут в подпись token2 включена signature1? но в сам токен она при этом не включается. это делает возможным проверить всю цепочку при верификации.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
то есть надо скрыть токен1, для этого пишем в цепочку не его, а хэш от него
источник