Pull to refresh

Comments 19

Совершенно бесполезная в реальных условиях VDS'ок схема. Я-то надеялся, что кто-то придумал как использовать секрет, не помещая его plaintext'ом в память и не тыкая спецжелезо.
С тем же успехом можно было эту функциональность реализовать как обычный сетевой сервис, никак не связанный с OpenVZ, без модулей ядра и прочей избыточной сложности.
Обычный сетевой сервис надо дополнительно закрывать от внешнего мира (вот смеху-то будет, если хакер скопирует к себе контейнер и будет работать с ним локально, обращаясь за криптографией к этому самому сервису через инет).

Кроме того, сетевой трафик можно перехватить — то есть его придется шифровать дополнительно.
Разрешить доступ к этому сервису для конкретного юзера только с определённого IP — на много порядков проще, чем реализовывать всё, описанное в статье.

Но я не вижу особой разницы в том, будет хакер после взлома контейнера работать прямо в нём, или запустит копию контейнера у себя — «палится» он в обоих случаях примерно одинаково. Более того, во втором случае сервис автоматически отследит активность с незнакомого IP, даже если не будет её блокировать, а в первом — кто знает, есть ли вообще хоть какая-то IDS в этом контейнере, или, как обычно, хакера никто не будет замечать месяцами.
Т.е. теперь в контейнере хранится не приватный ключ, а пара логин/пароль для доступа к VHSM? Чем это отличается от хищения приватного ключа? Даже если логин/пароль нужно будет физически вводить, допустим, при каждой перезагрузке контейнера, всё равно угон контейнера с содержимым памяти равнозначен хищению ключа.

В общем, неясно, чем это может помочь в реальной жизни.
С содержимым физической памяти сервера? Это да. Но это обычно сложнее, чем угнать один контейнер.
Но контейнер при этом нельзя будет скопировать куда-нибудь к себе — взломанный контейнер придется использовать на месте. Больше шансов, что заметят.

Плюс логин с паролем можно поменять не меняя приватный ключ — и не получая на него все сертификаты заново.
Зачем? После того как выяснится, что произошел взлом, шатдаунится VPS и вы не теряете свой приватный ключ.
Если добавить сюда многофакторную аутентификацию, то будет еще больше похоже на реальный HSM с физическим вводом PIN. Понадобится еще какой-то UI, работа с телефоном пользователя (если по смс, например).
Хранение в общей физической памяти ключей плейн текстом — не круто, да. И как написал powerman, можно было действительно обойтись без модулей ядра.

Если всю VHSM на отдельный сервер перенести и сделать двухфакторную аутентификацию, норм будет? Можно из этого сервис попробовать сделать?
После того, как произошел взлом, вы уже потеряли свой приватный ключ.
Если произошел взлом и получен root от машины, у которой есть доступ к [v]hsm этот рут может не угоняя ключа натворить достаточно.
Зря потратил время на чтение.
Еще одна software реализация функционала HSM.

Фактически HSM это комп. с фиксированным внешним интерфейсом. Старый Racal RG8000 вообще на Z80 собран…
Но деньги производители дерут за то что их железки прошли сертификацию и есть хотя бы какая то гарантия, что дыр нет.

Строго сертифицированные дыры. ))
Это какой-то SSM. Слово Hardware означает все-таки, что должен быть аппаратный модуль. Вся суть в том, что в аппаратном модуле есть защиты от вторжений, в том числе, от аппаратных вторжений. Вы не сможете, например, считать содержимое оперативной памяти HSM. При попытке практически любого внешнего несанкционированного воздействия содержимое HSM просто сотрется.
… коммуникация… при помощи средств IPC запрещена. Обычно она осуществляется с помощью сетевых соединений.


Сетевые соединения (сокеты) — это тоже один из видов IPC.
А VHSM может заменить реальные HSM-ы, например, на этапе разработки? Т.е. нужен заказчику HSM, но для разработки\прототипирования используем VHSM, а потом уже подключаем реальный HSM. Собственно вопрос в том насколько этот VHSM совместим с реальными HSM :)
А как собрать? Мне вот интересен транспорт по netlink из доверенной машины до ВПСок на ноде. Где взять модули под это дело и насколько это оттестировано?
Хочу сам реализовать софтварно HSM. Не нашёл ни где аналогов, кроме этого.
Думал попробовать уже имеющие API SafeNet и/или Thales. В итоге сейчас получается для Thales отвечать на эхо. :-)
С запросами балуюсь через такую тулзу как BP HSM Commander, в качестве эмулятора сейчас использую Hercules с уже заготовленными ответами.

Можно где ни будь найти то что отвечает HSM(существующие реальные железки) на те или иные команды? Не хотелось бы реализовывать свой протокол клиент-сервер.
Sign up to leave a comment.