Bitcoin Forum

Local => Кодеры => Topic started by: SolidBit on September 29, 2017, 08:13:44 PM



Title: Как защищать приватные ключи на сервере?
Post by: SolidBit on September 29, 2017, 08:13:44 PM
Привет всем.

Интересует такой вопрос. Как надежно защищать приватные ключи на сервере некого сервиса, допустим web кошелек? С одной стороны нужно хорошо их зашифровать, а с другой стороны их нужно использовать часто и, что важнее, оперативно по запросу.

Какие технические решения можно и/или нужно использовать? Best practices?


Title: Re: Как защищать приватные ключи на сервере?
Post by: fruit on September 29, 2017, 09:25:55 PM


Кто будет сторожить сторожей?


Title: Re: Как защищать приватные ключи на сервере?
Post by: Coin-1 on September 30, 2017, 10:16:41 PM
От кого защищать-то?


Title: Re: Как защищать приватные ключи на сервере?
Post by: Tyrion.L on October 04, 2017, 08:31:16 PM
Привет всем.

Интересует такой вопрос. Как надежно защищать приватные ключи на сервере некого сервиса, допустим web кошелек? С одной стороны нужно хорошо их зашифровать, а с другой стороны их нужно использовать часто и, что важнее, оперативно по запросу.

Какие технические решения можно и/или нужно использовать? Best practices?
winrar архив под паролем???












Title: Re: Как защищать приватные ключи на сервере?
Post by: Uniex on October 09, 2017, 04:14:57 PM
Приватные ключи смысла шифровать я не вижу - нужно построить грамотно веб-приложение без дыр и закрыть все ненужные порты,
сюда же закрыть порт на сервисы криптовалютных кошельков.
Следить за обновлениями софта.

Как вариант - можно вообще биткоин кошелек вынести на отдельный сервак и построить АПИ, которое будет контролировать
нетипичные запросы, например вывод всей суммы баланса на какой-то из криптоадресов.

Вести полный или максимальный аудит запросов, холдить вывод крипты на первых порах или в зависимости от сумм.


Title: Re: Как защищать приватные ключи на сервере?
Post by: Jaga-Jaga on October 09, 2017, 11:28:22 PM
Мне не понятно зачем вы хотите приватные ключи от кошельков держать на веб сервере?
Я бы для кошельков завел другой выделенный сервер во внутренней сети. Но и это надо лишь в том случае если вы делаете биржу или обменник, а для простого интернет магазина можно обойтись сторонним API, например с http://blockchain.info/ и через него узнавать о поступлении средств на ваш счет.


Title: Re: Как защищать приватные ключи на сервере?
Post by: kzv on October 10, 2017, 05:50:40 AM
Я худею над каментами... рар архив, блокчейниефо... Даж не знаю смеяться или плакать над такой бестпрактикс в ветке русских кодеров?


Title: Re: Как защищать приватные ключи на сервере?
Post by: websalamander on October 10, 2017, 08:24:10 AM
Я худею над каментами... рар архив, блокчейниефо... Даж не знаю смеяться или плакать над такой бестпрактикс в ветке русских кодеров?
Что скажите о таком https://bitcore.io/guides/wallet-service/


Title: Re: Как защищать приватные ключи на сервере?
Post by: kzv on October 10, 2017, 08:53:03 AM
Я худею над каментами... рар архив, блокчейниефо... Даж не знаю смеяться или плакать над такой бестпрактикс в ветке русских кодеров?
Что скажите о таком https://bitcore.io/guides/wallet-service/

Не знаю. Меня стандартная кора устраивает.


Title: Re: Как защищать приватные ключи на сервере?
Post by: TwinTURBO2 on November 17, 2017, 01:25:36 PM
Я худею над каментами... рар архив, блокчейниефо... Даж не знаю смеяться или плакать над такой бестпрактикс в ветке русских кодеров?
Просто из тех кто реально разбираются в вопросе - никто не счёл нужным зайти и отписаться здесь на этот вопрос. Вот потому и пишут те кто реально слабо представляю себе как решить проблему. Тут половина форума таких комментариев.


Title: Re: Как защищать приватные ключи на сервере?
Post by: ToTheMoonClub on November 17, 2017, 07:09:06 PM
да много разных способов есть - и мультиподписи и отдельная железяка с нестандартным апи и железом (допустим не tcp-ip) да и банальное разделение на очень холодные кошельки и очень горячие


Title: Re: Как защищать приватные ключи на сервере?
Post by: olegvg on November 19, 2017, 05:37:29 PM
Железные кошельки с API и подтверждением по PIN-коду, вставляются в raspberry pi, pi в vpn до сервера обработки транзакций на котором raw транзакции, рядом мальчик с дэшбордом запрошенных транзакций подтверждает вводом пин-кода каждую транзакцию. + (дневной) лимит на железные кошельки. Такой себе обменник из 90х :) Пары хмурых ребят со стволами на входе не хватает :)


Title: Re: Как защищать приватные ключи на сервере?
Post by: amaclin1 on November 20, 2017, 08:26:55 AM
Никак вы не защитите.
Если вам надо подписывать транзакции автоматом - то приватный ключ
в какой-то момент есть в открытом виде.
Всякие разные варианты с аппаратными кошельками сводятся к тому,
что должен присутствовать живой оператор. А это, извините, уже не серверное решение.

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

Более-менее рабочим решением является просто холодный кошелек - бабки
у босса, а приватный ключ только у него (или лучше на мультисигнатурном кошельке
у трех учредителей). На сервере - только небольшая сумма, за которую отвечает админ
своей башкой. Если надо пополнить горячий кошелек сервера - учредители туда переводят.
Если на сервере скапливается много бабла - оно переводится в "холодный кошелек"


Title: Re: Как защищать приватные ключи на сервере?
Post by: direktormira on November 20, 2017, 06:01:55 PM
это бесполезно тут как бабка надвое гадала . все зависит от контроля компа .вирусы не хапайте и все будет нормик)))


Title: Re: Как защищать приватные ключи на сервере?
Post by: poddubnuy on December 24, 2017, 06:08:33 PM
Мне не понятно зачем вы хотите приватные ключи от кошельков держать на веб сервере?
Я бы для кошельков завел другой выделенный сервер во внутренней сети. Но и это надо лишь в том случае если вы делаете биржу или обменник, а для простого интернет магазина можно обойтись сторонним API, например с http://blockchain.info/ и через него узнавать о поступлении средств на ваш счет.

Поддерживаю, для всего ценного, сервер на FreeBSD, а уже за ним на винде все развернуто , если под FreeBSD не написать:) . Ибо сначала идут танки, а за ними пехота. (ну по крайней мере такая тактика была во времена ВОВ когда еще "Корнетов" не было) На FreeBSD  все серьезно, безопасность превыше всего, все порты по умолчанию закрыты.


Title: Re: Как защищать приватные ключи на сервере?
Post by: Vtools on December 24, 2017, 07:49:47 PM
Мне не понятно зачем вы хотите приватные ключи от кошельков держать на веб сервере?
Я бы для кошельков завел другой выделенный сервер во внутренней сети. Но и это надо лишь в том случае если вы делаете биржу или обменник, а для простого интернет магазина можно обойтись сторонним API, например с http://blockchain.info/ и через него узнавать о поступлении средств на ваш счет.

Поддерживаю, механика такая:
1. Во внутренней сети добавить спец компьютер, имеющий доступ к приватным ключам
2. На нем запущена специальная программа, умеющая подписывать транзакции
3. Доступ к этому компьютеру только по специальному протоколу и одному открытому порту. Программа, которая имеет к нему доступ закрытая - т е написана вами и не имеет в свободном доступе исходников

Профит: если веб сервер будет взломан, хакеры получат только закрытую программу, а не приватные ключи


Title: Re: Как защищать приватные ключи на сервере?
Post by: virtus on December 25, 2017, 07:20:53 AM
Поддерживаю, механика такая:
1. Во внутренней сети добавить спец компьютер, имеющий доступ к приватным ключам
2. На нем запущена специальная программа, умеющая подписывать транзакции
3. Доступ к этому компьютеру только по специальному протоколу и одному открытому порту. Программа, которая имеет к нему доступ закрытая - т е написана вами и не имеет в свободном доступе исходников

Профит: если веб сервер будет взломан, хакеры получат только закрытую программу, а не приватные ключи


разбиваю все ваши теории.
Если будет взломан веб-сервер, взломавшему ничто не будет мешать сделать кучу поддельных запросов на перевод/вывод и все... как таковые приватные ключи и не будут его интересовать.
Но направление верное - дерзайте, дерзайте )))


Title: Re: Как защищать приватные ключи на сервере?
Post by: criptoguruBEST on December 25, 2017, 09:06:21 AM
От кого зашищать и зачем, не хватает паролей, кодировки. Создавай отдельный сервер, может поможет на первое время. 


Title: Re: Как защищать приватные ключи на сервере?
Post by: amaclin1 on December 25, 2017, 09:31:48 AM
разбиваю все ваши теории.
Если будет взломан веб-сервер, взломавшему ничто не будет мешать сделать кучу поддельных запросов на перевод/вывод и все... как таковые приватные ключи и не будут его интересовать.
+1


Title: Re: Как защищать приватные ключи на сервере?
Post by: ferumflex on December 25, 2017, 09:58:40 AM
Даже если будет оператор, как оператору вычислить что этот запрос сформировал пользователь и у него есть эти деньги, либо же хакер себе накрутил в базе +1000000?


Title: Re: Как защищать приватные ключи на сервере?
Post by: Vtools on January 06, 2018, 10:26:36 AM
Поддерживаю, механика такая:
1. Во внутренней сети добавить спец компьютер, имеющий доступ к приватным ключам
2. На нем запущена специальная программа, умеющая подписывать транзакции
3. Доступ к этому компьютеру только по специальному протоколу и одному открытому порту. Программа, которая имеет к нему доступ закрытая - т е написана вами и не имеет в свободном доступе исходников

Профит: если веб сервер будет взломан, хакеры получат только закрытую программу, а не приватные ключи


разбиваю все ваши теории.
Если будет взломан веб-сервер, взломавшему ничто не будет мешать сделать кучу поддельных запросов на перевод/вывод и все... как таковые приватные ключи и не будут его интересовать.
Но направление верное - дерзайте, дерзайте )))

Пункт 3 подразумевает приватный никому неизвестный протокол, но вообще я думаю чуть изменить логику, я планирую у себя использовать такую схему:
Вообщем компьютер, на котором хранятся приватные ключи сам коннектится к вебсервису, периодически по мере надобности берет список транзакций для подписи - проверяет и подписывает. Где находится этот компьютер никто не знает, заранее неопределённо. Это может быть мобильный телефон, на котором локально сохранена веб страница с данной логикой. И территориально владелец с ним может находится в другой стране...

Покритикуйте плз, мне кажется что это максимально надежная схема. Тонкий момент это как отличить нужные транзакции от ненужных, но это за рамками этой задачи


Title: Re: Как защищать приватные ключи на сервере?
Post by: Jeex on January 12, 2018, 01:40:12 AM
Я худею над каментами... рар архив, блокчейниефо... Даж не знаю смеяться или плакать над такой бестпрактикс в ветке русских кодеров?
Вместо ответа на вопрос - вы решили похудеть... Думаете кому-то кроме вас интересно, что вам делать, смеяться, плакать, бегать ... ? ;D

Как надежно защищать приватные ключи на сервере некого сервиса, допустим web кошелек? С одной стороны нужно хорошо их зашифровать, а с другой стороны их нужно использовать часто и, что важнее, оперативно по запросу.
Какие технические решения можно и/или нужно использовать? Best practices?
Если речь про web-кошелек, смотрите в сторону АПИ, как вам писали выше. Если вам все же необходимо хранить приватные ключи на web-сервере, опишите задачу более детально и еще раз подумайте, стоит ли хранить приватные ключи на небезопасном web-сервере? На вскидку - если доступ к каждому ключу только у одного пользователя - шифруйте каждый ключ паролем(или ключем) пользователея, но это так себе вариант.


Title: Re: Как защищать приватные ключи на сервере?
Post by: c0x on January 12, 2018, 09:21:47 AM
hashicorp vault


Title: Re: Как защищать приватные ключи на сервере?
Post by: FoxyCrypsy on January 15, 2018, 07:31:57 PM
Собственно как задача подробно описано такое подробное решение автору топика и предлагаю... Может стоит добавить побольше подробностей?


Title: Re: Как защищать приватные ключи на сервере?
Post by: paramedic on January 18, 2018, 01:01:51 PM
Собственно как задача подробно описано такое подробное решение автору топика и предлагаю... Может стоит добавить побольше подробностей?
Вероятней всего он генерирует кошельки для инвесторов или пользователей сайта. А они делают переводы токенов или криптовалют. Поэтому и стоит вопрос в безопасности


Title: Re: Как защищать приватные ключи на сервере?
Post by: bomj on April 14, 2018, 06:45:30 PM
Как один из вариантов, в блокчейне эфира в зашифрованном виде
Пример -
https://etherscan.io/tx/0x190774d3eab80963fa1f9ffd11b234ddd8f53190e288483f3a38ce17bb920810
Нажми  Convert To Ascii
Можно увидеть текст и код изображения.
Сервисов подобных etherscan.io множество.
Ну а если (вдруг все разом) накроются подобные сервисы, то видимо приватные ключи, независимо от того
где они хранятся, никому уже не нужны.......
 ;)


Title: Re: Как защищать приватные ключи на сервере?
Post by: Mr1mg on April 14, 2018, 10:32:02 PM
3. Доступ к этому компьютеру только по специальному протоколу и одному открытому порту. Программа, которая имеет к нему доступ закрытая - т е написана вами и не имеет в свободном доступе исходников
Профит: если веб сервер будет взломан, хакеры получат только закрытую программу, а не приватные ключи
Отличная идея, злоумышленник получает "закрытую коробочку" которой может подписывать любые транзакции.
Может, я чего-то не понял, но ваш вариант значительно упрощает жизнь взломщика.

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

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


Title: Re: Как защищать приватные ключи на сервере?
Post by: cerespolyester on April 20, 2018, 04:20:29 PM
Если сервак взломают, то ничего не поможет...А их ломают частенько


Title: Re: Как защищать приватные ключи на сервере?
Post by: KrashAnathia on April 20, 2018, 06:19:16 PM
Привет всем.

Интересует такой вопрос. Как надежно защищать приватные ключи на сервере некого сервиса, допустим web кошелек? С одной стороны нужно хорошо их зашифровать, а с другой стороны их нужно использовать часто и, что важнее, оперативно по запросу.

Какие технические решения можно и/или нужно использовать? Best practices?

хттаксесс вам в помощь, он поможет решить эту проблему.


Title: Re: Как защищать приватные ключи на сервере?
Post by: pavka on April 23, 2018, 08:38:38 PM
Судя по периодически возникающим новостям о взломе кошельков - никакие ухищрения тут не будут панацеей. Буквально сегодня обсуждалась новость, что на одной из южнокорейских бирж хакер получил доступ к кошелькам рядя пользователей. Среди пострадавших есть человек, который в результате взлома потерял около ляма долларов, уверенна, что он использовал все возможные способы чтобы обезопаситься и это ему не помогло.


Title: Re: Как защищать приватные ключи на сервере?
Post by: KrashAnathia on April 25, 2018, 05:35:27 AM
Судя по периодически возникающим новостям о взломе кошельков - никакие ухищрения тут не будут панацеей. Буквально сегодня обсуждалась новость, что на одной из южнокорейских бирж хакер получил доступ к кошелькам рядя пользователей. Среди пострадавших есть человек, который в результате взлома потерял около ляма долларов, уверенна, что он использовал все возможные способы чтобы обезопаситься и это ему не помогло.

Судя по русской ментальности, я думаю что вопрос актуальный, но очень мало людей задумываются о информационной безопасности. Вот я знаю человека, который знает человека у которого украли деньги в размере 5 мил. руб. Украли честно заработанные на бирже деньги. Причём это было давно. прошло уже несколько лет. Я встретил этого человека по работе и я в шоке о том, что он не задумывается совершенно о информационной безопасности, хотя он и сам был жертвой взлома. Ничего не поменялось. Не готов утверждать, что за пределами нашей страны как то по другому, где то больше где то меньше.
Привет всем.

Интересует такой вопрос. Как надежно защищать приватные ключи на сервере некого сервиса, допустим web кошелек? С одной стороны нужно хорошо их зашифровать, а с другой стороны их нужно использовать часто и, что важнее, оперативно по запросу.

Какие технические решения можно и/или нужно использовать? Best practices?
Безопасность это очень сложный вопрос, если нужно что-то сохранить действительно важное, для этого есть специальные организации берущие на себя ответственность, которые днями и ночами сидят и охраняют ваши данные. Но и нет абсолютно никакой гарантии что они смогут Вас защитить, но они будут нести ответственность и в любом случае возместят Вам убытки, это уже юридическая сторона вопроса.

P.S. Один мой товарищ, всё свою крипту и ключи хранит исключительно на жестком диске, он использует его только в момент нужды, а потом сразу отключает. Но и по такой схеме можно взломать тремя разными способами. Самый первый это BruteForce...

P.S.S. То что Вы вообще написали этот пост ставит Вас под угрозу)


Title: Re: Как защищать приватные ключи на сервере?
Post by: #Cryptoman on May 02, 2018, 02:46:51 PM
P.S. Один мой товарищ, всё свою крипту и ключи хранит исключительно на жестком диске, он использует его только в момент нужды, а потом сразу отключает. Но и по такой схеме можно взломать тремя разными способами. Самый первый это BruteForce...
Это если есть возможность прямого доступа к компу, если вашего товарища никто не знает, он нигде не светит свой комп, достать с такого компа, что-либо невозможно.

Quote
это бесполезно тут как бабка надвое гадала . все зависит от контроля компа .вирусы не хапайте и все будет нормик)))

На такие компы, лучше вообще ничего лишнего не ставить.


Title: Re: Как защищать приватные ключи на сервере?
Post by: PolyFlower on May 03, 2018, 12:16:49 AM
P.S. Один мой товарищ, всё свою крипту и ключи хранит исключительно на жестком диске, он использует его только в момент нужды, а потом сразу отключает. Но и по такой схеме можно взломать тремя разными способами. Самый первый это BruteForce...
У жесткого диска циклы жизни ограниченны, от частых операций чтения/записи он конечно не накроется, но а в чем проблема печати оффлайн QR кода приват ключа на бумагу и ее ламинирование дабы избежать повреждений и окисления. Вот тебе и один из вариантов который падение, короткое замыкание, и все беды - причины смерти диска не страшны. Дома положить в сейф и юзать когда тебе надо.


Title: Re: Как защищать приватные ключи на сервере?
Post by: ikar33 on May 05, 2018, 03:10:12 AM
Привет всем.

Интересует такой вопрос. Как надежно защищать приватные ключи на сервере некого сервиса, допустим web кошелек? С одной стороны нужно хорошо их зашифровать, а с другой стороны их нужно использовать часто и, что важнее, оперативно по запросу.

Какие технические решения можно и/или нужно использовать? Best practices?
winrar архив под паролем???


Какой винрар ребята? Там человек сервис делает под задачи хранения коинов с доступом к ним, и винрар 100% не момо! Преставьте рашифровывать и зашифровывать через распаковывание на серваке.. Кодеры или приколисты? =)









Title: Re: Как защищать приватные ключи на сервере?
Post by: KsaAZaks on May 22, 2018, 05:18:20 PM
Если весь алгоритм шифрования/дешифрования находиться на том же сервере то нет смысла заморачиваться так как если злоумышленник получит доступ к серверу то сможет всё равно дешифровать всю инфу


Title: Re: Как защищать приватные ключи на сервере?
Post by: SoftBlocks on May 24, 2018, 07:15:52 PM

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


красиво. странно но вроде еще никем не реализовано


Title: Re: Как защищать приватные ключи на сервере?
Post by: lapitsky on May 25, 2018, 01:14:48 AM
два сервера, один с  приватными, второй с солями от него.
1. взламывают один, без соли приватный не приватный
2. влазмывают второй, одна соль кругом
3. и для психов, можно третий сервер, который знает какая соль к какому приватному
4. дальше защищать запрос к этим серверам


Title: Re: Как защищать приватные ключи на сервере?
Post by: lapitsky on May 25, 2018, 01:24:16 AM

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


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