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

Всем привет! Подскажите пожалуйста, как хранить пользовательские сикреты/апи ключи/приватники? Ситуация: у

нас в проекте есть интеграция с другими сервисами по api key (например со Stripe). То есть у каждого пользователя свои ключи, мы потом с ними с сервера обращаемся к сервисам

Что не работает:
* env файлы с шифрованием, infiscal и hashicorp/vault (потому что нужно для каждого пользователя хранить ключи и часто использовать)
* хеширование - ключ нужен в первоначальном виде чтобы обращаться к другим сервисам
* шифровать ключи другим ключом и этот другой ключ хранить у пользователя (у сервера должны быть возможность в любой момент воспользоваться ключом от другого сервиса)

на стаковерфлоу советуют что-то типо:
Ну можно hmac'ом зашифровать, но это конечно не надежно, и вообще лучше так не делать, а если и делать то надейтесь чтобы все сработало, но лучше так не делать!

Такой неуверенный ответ меня немного напрягает) Что делают в таких ситуациях?

46 ответов

164 просмотра

так vault, больше вариантов не придумано (придумано, но они все одинаковые, как под копирку) https://www.vaultproject.io/

Daniil-P Автор вопроса
Daniel Podolsky
так vault, больше вариантов не придумано (придуман...

Спасибо! Там есть такой use case, но вроде vault не для этого создавался (как я понимаю он изначально был нужен чтобы на сервере безопасно хранить credentials) и поэтму он громоздкий. Возможно есть более легкие решения (не в плане интерфейса/апи, для этого есть infiscal) в плане архитектуры и интеграции

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

Daniil P
Да!

все ли у вас там в порядке? не нужно скорую вызвать?

Daniil P
Да!

а зачем?

Daniil-P Автор вопроса
The Zazaeil
все ли у вас там в порядке? не нужно скорую вызват...

Ясно, я давно здесь не был, не думал что до такого скатилось комьюнити

Daniil P
Ясно, я давно здесь не был, не думал что до такого...

та причем тут. шутки юмора же. просто ты приходишь с вопросам как из дробовика лучше стрелять в голову себе и в скобочках пишешь, что это не будет ошибкой.

Daniil-P Автор вопроса
Roman Sharkov
а зачем?

мы постараемся этого избежать, но есть сервисы которые интегрируются только по апи с обращением к ключу

Daniil P
мы постараемся этого избежать, но есть сервисы кот...

т.е. некие сервисы ваших клиентов работают на вашей инфраструктуре?

Daniil-P Автор вопроса
The Zazaeil
та причем тут. шутки юмора же. просто ты приходишь...

Я попросил вариант решения, а не копаться с моим подходом

Daniil P
Я попросил вариант решения, а не копаться с моим п...

вариант решения прям хорошее - сделать себе свою пару ключей на стотыщ битов, хранить в сверхсекретном месте и шифровать это все отдельным сервисом или как-то так, чтобы приватный ключ не расплющило равномерно по всему датацентру. а потом дешифровать. заплатите вы за это дорого, пушто алгоритмы CPU интенсивные и куча работы это в общем и целом. если так делать, то далее все упирается в то, насколько надежно вы запрячите вот тот самый главный верховный всемогущий приватный ключ.

https://en.wikipedia.org/wiki/Shamir%27s_secret_sharing не забыть

Daniil-P Автор вопроса
Pro Logic 🍓
зачем ключи на сто тыщ битов

шоб наверняка (с) на деле на 4к битов хватит, чоб нет.

The Zazaeil
симметрично шифровать?

ассиметричные алгоритмы не ограничиваются одним RSA, но зачем тут ассиметричные алгоритмы я тоже не совсем понял

The Zazaeil
шоб наверняка (с) на деле на 4к битов хватит, чоб ...

Вместо rsa 4096 лучше уж тогда взять ecdsa 256

Alexander
Вместо rsa 4096 лучше уж тогда взять ecdsa 256

ecdsa не шифрует, но эллептические кривые будут поменьше весить, это да

Pro Logic 🍓
ассиметричные алгоритмы не ограничиваются одним RS...

я хз зачем ассиметричными алгоритмами меряться. ты знаешь какое-то хорошее ассиметричное шифрование, которое НЕ бьет по ЦПУ?

The Zazaeil
шоб наверняка (с) на деле на 4к битов хватит, чоб ...

Вообще, с ростом длины ключа rsa защищенность растет намного быстрее этой самой длины.

The Zazaeil
не знаю ничего про ecdsa

Ну и зря. Пора бы уже узнать.

Alexander
Ну и зря. Пора бы уже узнать.

ну все, есть план на вечер

The Zazaeil
я хз зачем ассиметричными алгоритмами меряться. ты...

по cpu бьет не шифрование, а генерация ключей EC - в разы дешевле (но прямо для шифрования не могут использоваться)

The Zazaeil
я хз зачем ассиметричными алгоритмами меряться. ты...

я честно говоря в целом не знаю про нагрузку от этих операций, но тут вероятно важно что и как часто мы шифруем

А когда хмак стал шифрованием?

Daniel Podolsky
по cpu бьет не шифрование, а генерация ключей EC ...

Шифрование тоже бьет и EC всё равно дорогой по CPU. Потому никто напрямую асимметричной криптой данные не шифрует

Daniel Podolsky
по cpu бьет не шифрование, а генерация ключей EC ...

Для шифрования, кстати, использоваться могут

Daniel Podolsky
не напрямую

Напрямую тоже.

Pro Logic 🍓
я честно говоря в целом не знаю про нагрузку от эт...

нагрузка этих операций такова, что надо шесть с половиной раз подумать прежде чем это внедрять в систему, где этот механизм планируется использоваться много. понятное дело, что слово "много" тут не определено.

https://en.m.wikipedia.org/wiki/RSA_(cryptosystem)#Encryption

Hashicorp как раз работает. Причём, в случае приватных ключей можно, вроде, даже не выгружать их из vault-а, а вместо этого прогонять через него данные для шифрования/дешифрования. В любом случае так или иначе вам нужно либо взять готовое решение типа волта, либо писать свой аналог хранилища секретов. Ну либо переработать архитектуру так, чтобы не хранить секреты вообще.

Daniil P
Да!

а если все же vault заюзать?

Daniil-P Автор вопроса
Максим Федоров
а если все же vault заюзать?

Ага, думаю все таки его использовать

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта