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

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

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

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

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

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

46 ответов

160 просмотров

так 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 заюзать?

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

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

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

Ребят в СИ можно реализовать ООП?
Николай
32
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
15
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Кстати, что за тип булеана, который в памяти как 00 для фолса и 01 для тру отображается? Однобайтовый
Serjone
8
ребят подскажите почему матрица не транспонируется? #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> #include <locale.h> #define N 7 int main() { int...
† C E †
1
Карта сайта