377 похожих чатов

Господа помогите придумать как можно такое шифровать дано ------------- 0 у пользователя есть

кошелек на блокчене (по сути пара ECC ключей публичный-приватный)
1 у нас есть сервис который хранит данные пользователя (профиль итп)
для сервиса мы генерим на клиенте pgpPrivateKey,pgpPublicKeys - он хранится в профиле на бэкэнде
в зашифрованном виде - мы шифруем/расшифровываем пользовательским паролем

вопрос - как избежать этого пароля ?
-------------
раньше мы делали вот что
генерили nonce (он хранился и на клиенте и на сервере)
nonce подписывали ECC ключем
подпись и являлась этим паролем
получалось удобно т/к/ пользователю достаточно иметь только один ключ и не надо никаких паролей

теперь появилось новое поколение всяких умных кошельков у которых подписант (этот самый ECC ключ) может меняться
и получается что использовать подпись nonce как пароль для шифрования профиля уже нельзя

что можно сделать еще?

о чем уже думали
------------------
1 разбить пароль на 3 куска через shamir secret sharing с режимом 2 из 3 для восстановления ключа
один кусок хранить у нас на беке в открытом виде
второй кусок на мобилке юзера
третий в популярном сервисе под учеткой юзера

2 рековери токены на смартфоне
те используя серьюрити смартфона эппл/андроид храть одноразовые пароли для расшифровки pgpPrivateKey
полученного с бэкенда

3 TOTP - alike secret storage
в идеале хочется прикрутить что-то похожее на Time-Based One-time Password (Google Authentificator)
но они by design хранят секрет и на клиенте и на сервере и вроде как не подходят

3 ответов

69 просмотров

Ну у вас вроде как смешались аутентификация пользователя и расшифровка данных. У пользователей есть пара ECC ключей, актуальный публичный храниться у вас в беке. Можно шифровать данные симметричным шифром , а сам симметричный ключ для расшифровки шифровать публичным ключом пользователя?

Ig- Автор вопроса
Иностранный Aгент
Ну у вас вроде как смешались аутентификация пользо...

так нельзя аж по 2м причинам 1ю я объяснил но вы невнимательно читали. это то что теперь в smart contract wallets сам ключ может меняться и подпись как и зашифровка потом становится невалидной тк EOA сменился 2 блокчейны пользуют ecc криптографию а не rsa, шифровать публичным ключом на ECC - это какой-то bleeding edge который пока реально нигде никто толком не умеет (может там можно 1 число зашифровать и очень плохо по хар-кам разным)

Ig- Автор вопроса
Иностранный Aгент
Ну у вас вроде как смешались аутентификация пользо...

и еще момент фишка в том что пользователь владеет данными - потому мы храним его ключи и ими он общается в системе с другими и немного его данных - и это все шифруется обычным aes бэкэнд не имеет доступа к его данным совсем - not your keys not your data а те трюки с подписыванием nonce - просто удобный способ не забывать пароль

Похожие вопросы

Обсуждают сегодня

Карта сайта