roboforum.ru

Технический форум по робототехнике.

Аппаратный сторадж паролей

Аппаратный сторадж паролей

hudbrog » 05 фев 2016, 19:35

Собственно, все чаще задумываюсь о том, что мне хочется аппаратной хранилки паролей. Причин тому много, в основном:
1) До недавнего времени (и иногда все еще), я использовал небольшой набор паролей разной секурности. Типа был пароль для всяких мусорных ресурсов, пароль для тех, которые мне могут быть нужны и которым я чуть-чуть доверяю, ну и т.д. вплоть до платежного пароля. В целом, схема работала.
Но все чаще выясняется, что ресурсы пишут уникумы, пароли хранят в открытом виде (а даже если и нет, то rainbow таблицы никто не отменял). И, например, проверка через ресурсик типа https://haveibeenpwned.com/ (не реклама) показывает, что мои пароли есть как минимум в 3х публичных базах уже. Да, два самых несекурных, но все равно.
2) В жизни все больше вещей оказываются завязаны на доступы к каким-то ресурсам. Потерять основную почту - это будет прям серьезная трагедия, заметно сильнее усложняющая жизнь, чем, например, потерять паспорт.
3) Все больше ресурсов вводит очень жесткие требования к паролям. Да я доменный пароль на работе уже не могу запомнить с той частотой смены и сложностью, что они требуют.

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

Поискал, что есть в мире:
1) Лично мне очень понравился менеджер, который сделали hackaday (https://www.indiegogo.com/projects/mool ... ord-keeper). Основной недостаток - цена. Их концепция: ридер + смарт-карта. Ридер большой, таскать его с собой не прикольно. Значит надо иметь минимум три: один на работе, один дома, один в рюкзаке. Каждый ридер 100 баксов =(
2) Тоже достаточно интересная модель: https://hackaday.io/project/5588-hardwa ... d-manager/
3) Ну и средненький вариант с интересным решением по управлению: http://finalkey.net/

Собственно, все они обладают рядом сходных моментов:
1) Умеют делать вид, что они клавиатура, и, соответственно, по нажатию кнопки заполнять логин-пароль.
2) Умеют генерировать псевдо-рандомные пароли (разные механизмы реализации рандомности, у 2го интересный)

Есть различия:
1) Выбор что за софт им управляет, как выбирать пароли. У мультипаса есть плагин для хрома и собственный интерфейс, второй вариант - управляется кнопками, третий поднимает ком-порт помимо клавиатуры и умеет управляться с него.
2) Как они хранят пароли. Мультипас - шифрует и блокирует карточку после трех неправильных пинов, остальные, как я понял, не шифруют
3) TODO: еще надо подумать

Лично для себя я думаю, что:
а) Мне не нужно шифрование паролей внутри. Я не параноик, просто xor'а от мастер пароля более чем достаточно. Если кто-то достаточно хочет мои пароли, чтоб узнать про эту штуку, украсть девайс, выпаять память, считать ее, придумать как расшифровать.. то я при всем желании ему не помешаю )
б) Размер устройства должен быть такой, чтобы его можно было положить в кошелек или повесить брелком на ключ. (usb-разъем как часть платы и в термоусадку/эпоксидку?)
в) Выдача данных как от клавиатуры + отдельный канал для управления звучит хорошим вариантом.
г) Надо подумать об объеме памяти. Скорее в формате - достаточно ли просто хранить пары логин-пароль, или все же еще и дополнительную информацию, типа что за ресурс и т.п. С одной стороны для простого хранения встроенного флеша/еепрома большинства МК хватит.. для метаданных может уже и не хватить..

Смущает что не понятно как быть, когда хочешь пароль на мобиле ввести. OTG кабель - плохой вариант. Экран на устройстве - слишком увеличивает размер.. Может сделать его синезубным/вайфайным? esp там или че..

В общем это я так, пока просто мысли вслух и ссылки в одном месте собрать. Еще не факт что делать буду даже =)

Re: Аппаратный сторадж паролей

Madf » 05 фев 2016, 19:55

Это всё ужасно и так памяти нет, потому как всё гоняем через копипаст, так тут и родное не будешь помнить. Если посеешь данный девайс/мобилу - всё, никуда не попадешь.
Впрочем, для любителей не заморачиваться давно выпускают всякие электронные ЮСБ-ключи или аутентификацию электронную. В первом случае, нужно физически втыкать аля флешку в разъём (видимо надо нечто подобное иметь, но чтобы работало во всём, универсально), в втором случае - уже всё есть, надо только чтобы ресурсы/ПО это поддерживало...
Так же проблема с автономностью, видимо такая штука должна быть в часах...

Re: Аппаратный сторадж паролей

hudbrog » 05 фев 2016, 20:38

Собственно, тут пара мыслей:
1) покажи что за ключи, о которых речь, я чета подходящего сходу не нашел. не склонен изобретать велосипеды, когда есть готовое... я активно работаю под виндой, маком и линуксами, мне надо чтобы оно одинаково просто и без настройки работало на любой из.
2) про потеряем: бекапить. в тот же keepassx, и из него синхронизировать раз в сутки, например. ну поэтому еще требования по размеру. я давно не терял ключи и кошелек, соответственно надо привязывать к одному из них.
3) про автономность не понял.

Re: Аппаратный сторадж паролей

slom » 05 фев 2016, 21:13

может блокнот купить?

его плюсы неоспоримы:

1. дешево и сердито
2. понятный и простой интерфейс.
3. энергонезависим
4. высокая надежность, не боится не электромагнитный импульсов ни прочего от чего выходит из строя электроника.
5. долгота хранения данных. в хороших условиях и через 1000 лет можно считать информацию, чего не скажешь о современных электронных устройствах. кондеры сохнут, дифузия в полупроводниках и прочие негативные процессы постепенно убивают электронику.

Re: Аппаратный сторадж паролей

Angel71 » 05 фев 2016, 21:17

под виндой есть keepass, удачи с таблицами, особенно если многопроходное шафрование (для ленивых есть плюшка "шифруй n сек", а даже за одну секунду не на калькуляторе там столько проходов будет...). отличия от аппаратного хранения в каком брелке конечно есть - допустим что всю базу не стыбрить. если профи нацелится именно на вас, а вы не параноик и в теме не особо, так что аппаратное, что софтовое будет единообразно. банально перехват апи вызовов, внедрение в память конкретных софтин и прочие шалости. толку от вашего брелка, если у вас не будет, допустим даже простенкой защиты и кто-то начнёт подбираться начиная от декомпиляции + в лоб сделает дампилку памяти и вызовов? как поближе подобраться? да теми же методами, как и до текстового файлика с не зашифрованными паролями - социальная инженерия и прочее.
хотите железку запилить, есть криптопамять (на фрам пока не видел, хотя и не искал). есть вспомогательные крипточипы и мк (те же армы) с различными плюшками для криптографии - генераторы, аппаратное шифрование и т.д. уникальный айди то само собой. :) только если не для себя или не от левых чайников, то стоит более детально проработать всю концепцию - сценарии использования, требования/параметры,...
Последний раз редактировалось Angel71 05 фев 2016, 21:50, всего редактировалось 1 раз.

Re: Аппаратный сторадж паролей

ALS » 05 фев 2016, 21:47

Я бы творчески переработал то, что есть во второй ссылке.
Вместо 2455(2550) - 14K50, кнопки - какие-нибудь совсем микро.
Получилось бы раза в 2 меньше.
Если вдруг мало своей памяти, всегда можно добавить какую-нибудь SPI, а это минимум 128 кБайт.

Re: Аппаратный сторадж паролей

Angel71 » 05 фев 2016, 21:56

hudbrog, кстати спасибки за напоминание идеи. если повезёт, на днях привезут мои олед экранчики - будут очень кстати. :) оки доки. ведроид? если есть экран и кнопки на брелке - блюпуп (смарт пока не у всех на смарте есть), режим клавы (есть модули spp/hid/... 2.0/3.0 блютузов), выбрал на экране от чего данные нужны - тыц, логин улетел. тыц и в догонку пароль. второй вариант это писать софтину для ведроида - конект с брелком, протокол обмена данными. для винды из какой опенсорс софтины можно выдрать код заполнения полей. с софтинами под ведроидид не возился, но возможно чего подобного и для ведроида можно найти.

Re: Аппаратный сторадж паролей

elmot » 05 фев 2016, 22:41

я б тоже из смарта сделал. дальше либо БТ, либо usb-hid, на выбор

Re: Аппаратный сторадж паролей

Madf » 06 фев 2016, 00:44

hudbrog писал(а):покажи что за ключи

http://www.aladdin-rd.ru/catalog/etoken/

hudbrog писал(а):про автономность не понял.

это если пытаться городить нечто своего независимого огорода (железо+софт), но это уже целое дело (только хозяин знает, что ему надо получить)

Re: Аппаратный сторадж паролей

hudbrog » 06 фев 2016, 08:38

slom писал(а):может блокнот купить?

медленно вбивать пароли и не удовлетворяет требованиям по размерам =)

Angel71 писал(а):под виндой есть keepass, удачи с таблицами,

не понял на счет таблиц мысли..

Angel71 писал(а): если профи нацелится именно на вас

Если профи нацелица на меня - мне капец. Тут можно даже не обсуждать дальше, я достаточно долго занимался ИБ в боевых условиях, насмотрелся.
Вопрос в том, что надо убирать большую дыру в виду одинаковых паролей максимально удобным образом. Программным паролехранилкам я не очень верю (тот же LastPass полгода назад ломали), да и не очень удобны они.

ALS писал(а):Я бы творчески переработал то, что есть во второй ссылке.

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

Angel71 писал(а): если есть экран и кнопки на брелке - блюпуп (смарт пока не у всех на смарте есть)

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

Madf писал(а):http://www.aladdin-rd.ru/catalog/etoken/

ну это совсем в другую степь..

Re: Аппаратный сторадж паролей

Angel71 » 06 фев 2016, 19:43

всё очень просто. есть пароль из него по какому-то алгоритму получают ключ шифрования. варианты корявой реализации в расчёт не берём. допустим вы исходите из предположения, что можно составить/генерировать на лету какой списочек паролей из небольшого набора символов (цифры, буквы,...) и не генерировать ключ, а из какой базы быстренько дёргать готовые ключи. ещё раз, детские реализации в расчёт не берём, т.е. с алгоритмом, длиной ключа, генерацией и прочим жутких косяков нет. у вас во-первых в зависимости от длины ключа сама база может быть гиганских размеров, что даже на уровне перелопачивания байтиков уже значительно может замедлить перебор из-за времени выборки (дисковая подсистема, пропускная памяти). это только выборка, ещё потом дешифровка, а это смотря какой алгоритм, какой длины ключ, есть ли поддержка нужных алгоритмов в проце, насколько оно чудно параллелится,... т.е. на сколько шустро на данном железе дешифруется один проход. пардонс, но если злобно сделано, у вас даже на очень модном компе, с распараллеливанием на обычные ядра проца + на его криптоблоки + на модные видюхи, уже легко может быть быть не десятки миллионов переборов в секунду, а тысячи или сотни. даже с десятками миллионов переборов в секунду это может быть недели или месяцы, а при тысичах... ладно, допустим слабенько сделано и потирая ручки уже предвкушаем, что на всё про всё неделя-две уйдёт. но... редиски при шифровании проходятся не 1 раз, а тысячу или 100 тысяч или 10 млн раз. в некоторых софтинах можно указывать сколько раз пройтись, в некоторых можно ещё задать время шифрования и он вычислит нужное количество проходов на данном железе. задали секунду и у вас на список из 100тыс паролей условно уйдёт 27 дней. только 100 тыс в реальности не будет, числа на кучу порядков больше. даже если учитывать, что при шифровани не использовались криптоблоки, видеокарта и распараллеливание, то всё-равно при хорошо продуманном шифровании, времени на дешифровку понадобится астрономически много. вариантов реализации очень много и у каждого свои +-. поверьте, есть далеко не один и не два опенсорс проекта, где очень неплохо кучей народа всё прорабатывалось и тестировалось, т.е. если не наделать глупостей, то можно позаимствовать из из проекта какие-то вещи и при этом уровень защиты будет достаточно высоким что бы вумные дядьки с модным железом достаточно долго тужились. :ROFL: хотя да, тоже обходится - так сказать утюг в розетку включил и все нужные парольки вам сообщат.
есть обратная сторона. можно запилить модную шифровалку, которую хоть семипядный дядько вломать утомиться на кластехар, но это может банально и в лоб обходится. зачем что-то перебирать, тужиться дешифровать и прочее, если можно элементарно декомпилировать, сдампить память или перехватить апи вызовы? в той же винде обойти uac элементарно - запустили, винда ничего даже не спросила, а у софтины права админа. при чём это очень старый косяк, про который неоднократно мелким писали, но похоже это специально незамеченная дырка с висты и до текущих версий 10ки.
про "ломали" это не совсем корректно. любое шифрование, доступное на обычных компах/видюхах/смартах/мк/... теоретически элементарно нивелируется кластерами суперкомпов или какими дивными квантовыми и прочими штуковинами. через хз сколько скорей всего и всякое квантовое или ещё какое перспективное шифрование будут обходить. в защите/шифровании цель - это сделать так, что бы обход был или слишком долгим или что бы стоимость/затраты на получение информации были значительно больше, чем ценность этой информации. есть куча вариантов как можно относительно неплохо защититься от переборов на модном жезеле, от дампа/перехвата вызовов ф-ий, деобфускации/декомпиляции и прочего. но нужно прорабатывать сценарии использования, как могут пытаться обойти защиту, сколько это займёт сил и средств, на сколько смышлёными они должны быть.
:) для ble сильно муторных проблем ни с питанием, ни с размерами нет и быть не может. в любом случае нужно будет прорабатывать сценарии использования, сопоставляя с хотелками и возможностями. у вас юсиби хост будет? хорошо. нет? или беспроводные варианты (блютуз, вайфай, nfc, да хоть qr коды на экране брелка отображайте) или ввод вручную данных на смартфоне или никак. хотите нечто мелкое на ble с экраном, акумом, зарядкой и прочим, но не хотите железо делать? ble очень часто является основой всевозможных смарт часов, фитнес трекеров и прочих гаджтов. и не фат, что нужно будет с нуля свою прошивку писать. вполне возможно что для некоторых можно будет как-то или в фирменом софте что-то на подобии плагинов создавать или есть исходники порошивки, которую можно под себя модифицировать.

Re: Аппаратный сторадж паролей

ALS » 07 фев 2016, 18:42


Re: Аппаратный сторадж паролей

Dmitry__ » 07 фев 2016, 18:54

вах-вах-вах, последняя ссылка с PIC18F14K50.
Засунуть штоле в MOD-USB-RS232?

Re: Аппаратный сторадж паролей

AndreW82 » 25 фев 2016, 21:37

Вот на хабре выложили https://habrahabr.ru/post/276967/

Re: Аппаратный сторадж паролей

elmot » 25 фев 2016, 22:52

Dmitry__ писал(а):вах-вах-вах, последняя ссылка с PIC18F14K50.
Засунуть штоле в MOD-USB-RS232?

лучше в какой-нить stm32l082. чип+лдо, больше не надо ничо, даже кварец не нужен. памяти много, у кого-то из них даже аппаратное шифрование было, если совсем параноик.
а если уж совсем выеживаться, touch sensing тоже в наличии.


Rambler\'s Top100 Mail.ru counter