Size: a a a

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

2019 December 11

AR

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

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
почему не можешь получить? она же не заишфрованная - ее и Вася видел и я.
или надо зашифровать ее?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
это условие говорит о том, что не можешь, а у тебя как раз можешь )
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrew Rudenko
вот тут по линку это тоже все описано https://eprint.iacr.org/2005/335.pdf
вот тут все описано, если я как-то не понятно объясняю
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
в смысле мимо меня хрень должна проходить шифрованной?
источник

AR

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

AR

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

MP

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

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
а зачем вообще в token2 класть токен1?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrew Rudenko
Ну ок, пойдем этим путем )

Я хочу сделать что-то вроде Capabilities-Based Access Control для распределенных систем. Т.е. сервис при создании ресурса генерирует (forge) некий рутовые токены (capabilities), которые и должны использоваться при операциях с этим ресурсом. Обладание таким токеном само по себе означает право (authority) на совершение этих действий. Обладатель токена может его свободно передавать другим агентам (delegation). Кроме того, любой обладатель токена может "обернуть" его, т.е. сузить возможности токена. Добавив к нему слой и подписав его.

Для того чтобы как-то решить проблему возможности отзыва (и не только, на этом же строится аудит и квоты) токенов при каждом таком оборачивании в токен добавляется key. Верификатор проверяет, что все такие key валидны и не были отозваны.

Структурно это такой JWT с возможность наслаивания. И если с имплементацией симметричных подписей у меня проблем нет (верификатор по key вытаскивает соответсвующие secrets), то вот асимметричная криптография поставила в тупик.
.
источник

AR

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

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
вообще, вот тут есть реализация каскадной мультиподписи M из N
https://github.com/nemtech/catapult-server
источник

MP

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

MP

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

AR

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

AR

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

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
то есть в token2 должен быть token1 в каком-то виде, но чтобы его не все могли видеть?
источник

AR

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

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
не "не все могли видеть", а "должно быть криптографически невозможно получить token1 обладая token2"
источник

AR

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