я там описывал что я в принципе хочу на этом построить. в итоге верификатор-сервис должен иметь возможность прочитать все, и в такой схеме с шифрованием нет никакого значимого отличия от подписей с симметричным ключом при сильном усложнении коммуникаций
Я хочу сделать что-то вроде Capabilities-Based Access Control для распределенных систем. Т.е. сервис при создании ресурса генерирует (forge) некий рутовые токены (capabilities), которые и должны использоваться при операциях с этим ресурсом. Обладание таким токеном само по себе означает право (authority) на совершение этих действий. Обладатель токена может его свободно передавать другим агентам (delegation). Кроме того, любой обладатель токена может "обернуть" его, т.е. сузить возможности токена. Добавив к нему слой и подписав его.
Для того чтобы как-то решить проблему возможности отзыва (и не только, на этом же строится аудит и квоты) токенов при каждом таком оборачивании в токен добавляется key. Верификатор проверяет, что все такие key валидны и не были отозваны.
Структурно это такой JWT с возможность наслаивания. И если с имплементацией симметричных подписей у меня проблем нет (верификатор по key вытаскивает соответсвующие secrets), то вот асимметричная криптография поставила в тупик.
я там описывал что я в принципе хочу на этом построить. в итоге верификатор-сервис должен иметь возможность прочитать все, и в такой схеме с шифрованием нет никакого значимого отличия от подписей с симметричным ключом при сильном усложнении коммуникаций
ну так верификатор и сможет прочитать все, если все узлы будут шифровать публичным ключом верификатора.
почему же? если узел отсылает верикатору сообщение зашифрованное публичным ключом верификатора, то только верификатор и сможет его прочитать, и только своим приватным ключом
Это про шифрование, понятно. А что есть подпись симметричным ключём? Подпись это же не шифрование, насколько я понимаю
все то же самое. в симметричном для создания подписи и проверки подписи нужен один ключ. в асимметричном для создания подписи нужен приватный, для проверки — публичный
которая принимает вектор и 2 индекса и возвращает вектор с реверснутым диапазоном между этими индексами (оба включительно), тот молодец ) Хоть через джава-интероп