Хранилище паролей
Зачем и почему:
Некоторое время я делал пароли так: у меня была пара шаблонов (10-12 знаков), и я только их и использовал, прибавляя к концу или к начала пару знаков из URL.
После недавних огромных утечек паролей убедился что это не работает, обошлось без крупных неприятностей, но пришлось поменять все пароли на уникальные, которые генерирует огнелис.
И где их хранить?
Софтверные менеджеры паролей работают по одному принципу — мастер-пароль, под которым открываются все остальные пароли.
По-моему это в корне неправильно, мастер-пароль имеет ту же стойкость, что и хранимые под ним пароли, крякнули мастер — получили доступ вообще ко всему.
Хранить пароли в каком-то «облаке» это еще хуже. Типо, отдать ключ от сейфа соседу, он его положит под подушку, так надёжнее.
Другой подход — хранение паролей на отдельном устройстве. Но выбор таких устройств удручающе мизерный, и те что есть — неудобные.
Мой подход:
пароли хранить без всякого шифрования на внешнем устройстве, устройство подключается к компьютеру/телефону ТОЛЬКО через USB (без всяких Wifi, голозубьев и пр) по необходимости.
Шифровать пароли на устройстве не вижу смысла. Если вы держите ключи от сейфа у себя дома в надёжном месте (например, в шифонере на полке с носками), нет смысла класть их в другой сейф, а ключ от этого сейфа в другой сейф и так до самого конца.
Просто держите этот ключ у себя и не теряйте и никому не давайте. Потеряли — ваша проблема.
Также и с паролями.
Только не заводите параноидальные дискуссии про безопасность и терморектальный криптоанализ.
Меня этот уровень «безопасности» устраивает, кто может пусть сделает лучше, только приветствую.
Итак, предлагается простое устройство на ардуинке. Устройство включается при подключении к USB, внутри батареи нету.
Устройство имеет дисплей с перечнем названий(имя сайта и пр) — это меню первого уровня. Навигация по этому меню по крутилке (энкодеру).
Как работает: открыли на PC страницу с Login, поставили курсор на поле с именем пользователя или паролем.
Поключили устройство кабелем к USB, крутилкой выбрали имя для этой страницы, кликнули на крутилку — открывается меню второго уровня с полями URL, имя пользователя, пароль.
Так же навигация по крутилке. Выбрали поле (например, имя пользователя), кликнули на крутилку — текст из этого поля вставляется в то место, где стоит ваш курсор на компьютере. Устройство при этом притворяется клавиатурой.
Кстати так же работает и с андроид-телефоном.
Пароли загружаются/обновляются с простого csv файла на micro-SD. Если карта не вставлена, устройство читает пароли хранящиеся в памяти. Если при включении обнаружена карта — устройство считывает с нее файл с паролями и кладет его в постоянную память как обновление.
Кнопка снизу просто перезагружает Teensy, на случай если вставили карту «на ходу» и хотите обновить данные не перетыкая USB кабель. Ну или если зависнет (пока не было).
Если нужно редактировать/добавлять-убавлять пароли — открываете карту SD у себя на компьютере, в любом редакторе редактируете хранящийся на ней файл. Само устройство функций редактирования не имеет, это буквально — хранилище. Предельно простое.
Карту храните там же, в шифонере. Ну или в какой-нибудь книжке в шкафу если у вас есть книги.
Я храню две. В шифонере и на книжной полке;)
Не буду спорить про безопасность, пользуюсь уже пол-года, меня все устраивает, если бы такие имелись в продаже — с удовольствием бы купил, нет — так сделал сам.
Из чего состоит:
1. модуль дисплея 320x240, с энкодером, драйвер ST7789, SPI (вверху)
2. микропроцессор плата Teensy 3.1 (можно и новее, какая была в закромах) — внизу слева
3. плата с микро-SD от Adafruit, справа
Всё смонтировано на макетке, провода снизу (печатной платы не делал), дисплей сверху в виде бутерброда:
Был заказан online простенький корпус 3D печать, крышку вырезал сам своим старых лазерным каттером:
В сборе:
видео работы:
youtu.be/3J7BR-akjx8
соединение проводов:
плата дисплея -> Teensy 3.1
SCL => D13
SDA => D11
RES => D8
DC => D9
CS => D10
BLK => 3.3V
A => A9(D23)
B => A6(D20)
PUSH=> A3(D17)
K0 => A7(D21)
SD board — Teensy 3.1
CLK => D13
SO => D12
SI => D11
CS => D6
файл данных на SD для загрузки паролей:
имя файла data.txt, просто набор строк, каждая строка содержит 3 поля разделенных запятой:
account name, user name, password. После password нужна запятая, дальше может быть четвертое поле comment (а может и не быть)
Пример содержания файла:
AMAZON,ADamS,3rHRBjyl
ALIEXPRES,allen,mExTOejD
CRAIGSLIST,BLAKE,M3J4eVCC
EBAY,CLaRk,BOp3XanC
FACEBOOK,ForD,df3leICL
INSTAGRAM,jaMes,16q4Cp5A
MARIANOS,JOnEs,oJ5uhsC7
REDDIT,KiNG,tnScCe1o
SPARKFUN,MaRTiN,jImUNqfe
XFINITY,MiLLEr,3pfETY5r
код:
парсинг csv файла — из сообщения пользователя fat16lib с форума arduino.cc:
многоуровневое меню для ардуино — библиотека GEM Александра Спиридонова(Spirik) с небольшими изменениями.
Подробно всё на моей странице проектов сайта Hackaday.io
PS заглавная картинка по мотивам чудесного мультфильма «Сундук»
И поцелуйчик означает девиз этого проекта —
K.I.S.S. — keep it simple, stupid!
Некоторое время я делал пароли так: у меня была пара шаблонов (10-12 знаков), и я только их и использовал, прибавляя к концу или к начала пару знаков из URL.
После недавних огромных утечек паролей убедился что это не работает, обошлось без крупных неприятностей, но пришлось поменять все пароли на уникальные, которые генерирует огнелис.
И где их хранить?
Софтверные менеджеры паролей работают по одному принципу — мастер-пароль, под которым открываются все остальные пароли.
По-моему это в корне неправильно, мастер-пароль имеет ту же стойкость, что и хранимые под ним пароли, крякнули мастер — получили доступ вообще ко всему.
Хранить пароли в каком-то «облаке» это еще хуже. Типо, отдать ключ от сейфа соседу, он его положит под подушку, так надёжнее.
Другой подход — хранение паролей на отдельном устройстве. Но выбор таких устройств удручающе мизерный, и те что есть — неудобные.
Мой подход:
пароли хранить без всякого шифрования на внешнем устройстве, устройство подключается к компьютеру/телефону ТОЛЬКО через USB (без всяких Wifi, голозубьев и пр) по необходимости.
Шифровать пароли на устройстве не вижу смысла. Если вы держите ключи от сейфа у себя дома в надёжном месте (например, в шифонере на полке с носками), нет смысла класть их в другой сейф, а ключ от этого сейфа в другой сейф и так до самого конца.
Просто держите этот ключ у себя и не теряйте и никому не давайте. Потеряли — ваша проблема.
Также и с паролями.
Только не заводите параноидальные дискуссии про безопасность и терморектальный криптоанализ.
Меня этот уровень «безопасности» устраивает, кто может пусть сделает лучше, только приветствую.
Итак, предлагается простое устройство на ардуинке. Устройство включается при подключении к USB, внутри батареи нету.
Устройство имеет дисплей с перечнем названий(имя сайта и пр) — это меню первого уровня. Навигация по этому меню по крутилке (энкодеру).
Как работает: открыли на PC страницу с Login, поставили курсор на поле с именем пользователя или паролем.
Поключили устройство кабелем к USB, крутилкой выбрали имя для этой страницы, кликнули на крутилку — открывается меню второго уровня с полями URL, имя пользователя, пароль.
Так же навигация по крутилке. Выбрали поле (например, имя пользователя), кликнули на крутилку — текст из этого поля вставляется в то место, где стоит ваш курсор на компьютере. Устройство при этом притворяется клавиатурой.
Кстати так же работает и с андроид-телефоном.
Пароли загружаются/обновляются с простого csv файла на micro-SD. Если карта не вставлена, устройство читает пароли хранящиеся в памяти. Если при включении обнаружена карта — устройство считывает с нее файл с паролями и кладет его в постоянную память как обновление.
Кнопка снизу просто перезагружает Teensy, на случай если вставили карту «на ходу» и хотите обновить данные не перетыкая USB кабель. Ну или если зависнет (пока не было).
Если нужно редактировать/добавлять-убавлять пароли — открываете карту SD у себя на компьютере, в любом редакторе редактируете хранящийся на ней файл. Само устройство функций редактирования не имеет, это буквально — хранилище. Предельно простое.
Карту храните там же, в шифонере. Ну или в какой-нибудь книжке в шкафу если у вас есть книги.
Я храню две. В шифонере и на книжной полке;)
Не буду спорить про безопасность, пользуюсь уже пол-года, меня все устраивает, если бы такие имелись в продаже — с удовольствием бы купил, нет — так сделал сам.
Из чего состоит:
1. модуль дисплея 320x240, с энкодером, драйвер ST7789, SPI (вверху)2. микропроцессор плата Teensy 3.1 (можно и новее, какая была в закромах) — внизу слева
3. плата с микро-SD от Adafruit, справа
Всё смонтировано на макетке, провода снизу (печатной платы не делал), дисплей сверху в виде бутерброда:
Был заказан online простенький корпус 3D печать, крышку вырезал сам своим старых лазерным каттером:
В сборе:
видео работы:youtu.be/3J7BR-akjx8
соединение проводов:
плата дисплея -> Teensy 3.1
SCL => D13
SDA => D11
RES => D8
DC => D9
CS => D10
BLK => 3.3V
A => A9(D23)
B => A6(D20)
PUSH=> A3(D17)
K0 => A7(D21)
SD board — Teensy 3.1
CLK => D13
SO => D12
SI => D11
CS => D6
файл данных на SD для загрузки паролей:
имя файла data.txt, просто набор строк, каждая строка содержит 3 поля разделенных запятой:
account name, user name, password. После password нужна запятая, дальше может быть четвертое поле comment (а может и не быть)
Пример содержания файла:
AMAZON,ADamS,3rHRBjyl
ALIEXPRES,allen,mExTOejD
CRAIGSLIST,BLAKE,M3J4eVCC
EBAY,CLaRk,BOp3XanC
FACEBOOK,ForD,df3leICL
INSTAGRAM,jaMes,16q4Cp5A
MARIANOS,JOnEs,oJ5uhsC7
REDDIT,KiNG,tnScCe1o
SPARKFUN,MaRTiN,jImUNqfe
XFINITY,MiLLEr,3pfETY5r
код:
парсинг csv файла — из сообщения пользователя fat16lib с форума arduino.cc:
многоуровневое меню для ардуино — библиотека GEM Александра Спиридонова(Spirik) с небольшими изменениями.
Подробно всё на моей странице проектов сайта Hackaday.io
PS заглавная картинка по мотивам чудесного мультфильма «Сундук»
И поцелуйчик означает девиз этого проекта —
K.I.S.S. — keep it simple, stupid!
Самые обсуждаемые обзоры
| +39 |
1681
44
|
| +45 |
4058
117
|
— такой пароль уже есть
Обычная флешка с текстовым файлом будет гораздо проще :)
А то будет обидно в один момент получить нечитаемую карту
Возможность утери устройства, возможность повреждения памяти устройства, необходимость носить с собой если есть необходимость логиниться вне дома.
Когда уже хотя бы в смартах все эти книгоморды, контакты, почты сделают хотя бы опционально возможность заменить пароль отпечатком пальца?
А так — от задач отталкиваться надо. Кому-то надо логинаться вне дома, кому-то — нет…
Л — логика!
А так… ну, штука имеет место быть, но всякие fido, которые много где подерживаются и не требуют вручную выбирать урл, а просто просят подтверждение — интереснее. И реализуемы самостоятельно, хоть и с морокой — но как проект на будущее, мне кажется, заслуживает внимания.
1. взломать мозг владельца (узнать логин и пароль от хранилища)
2. обойти защиту при смены устройства (которая не даёт вход даже имея мастер пароль
без подтверждения через (емеел\код фраза\флешка)
И это если ещё не включена двухфакторная идентификация к этому всему
И да система не даёт перебирать пароли ставя на блок по таймеру (проверено и не раз)
p/s
все пароли на серверах шифрованы (если и забрать автономно без всего выше их не открыть)
По-моему это в корне неправильно, мастер-пароль имеет ту же стойкость, что и хранимые под ним пароли, крякнули мастер — получили доступ вообще ко всему.»
Начнем с того, что непонятно, что такое «крякнули мастер» — в софтовых файл-менеджерах никаких кряков нет — есть
криптоконтейнер, который шифруется мастер паролем. соответственно либо этот пароль как-то подобрать(если он достаточно сложный, то это очень долго), либо (что как раз маловероятно) изобрести способ дешифрации с очень быстрым подбором.
Если не хочеться часто набирать длиннющий мастер — можно использовать связку мастер пароль + файл-ключ = криптостойкость такой связки увеличивается в разы даже с небольшим паролем.
Для пущщей секурности необходимо добавлять OTP коды, либо FIDO crypto ключи.
При таком подходе криптоконтейнер с паролями можно выложить где угодно, хоть в открытом доступе!
Ну а ваше суровое DYI с plain text паролями — это только просто потешить свое самомнение и только…
Потерял эту вашу коробочку — и потерял все свои аккаунты
Извините, высказал свое мнение.
Короче, непонятно, в чем удобство, кроме того, что «нажал кнопку — и оно само вставилось». Все остальное в данном концепте заменяет флешка + txt-файл.
Ну и логика
поэтому
выглядит спорно