Решил купить себе Pastild(у) ревизии r1.1. Любопытное устройство. Мне очень понравилось то, что этот хранитель паролей одновременно и USB Flash(ка). Также понравилась возможность съёмной SD карты. Я всегда подсознательно мечтал о чем-то таком. Да и название тоже отличное. Идея аппаратного менеджера паролей, который не требует отдельного USB просто великолепная!
Итак, внешний вид устройства такой
А это блок-схема схемотехники
Устройство OpenSource вот сорцы.
https://bitbucket.org/thirdpin_team/pastilda/src/master/
Я выполнил своё beta-тестирование Пастильды. Вот, что я могу написать:
Аппаратные пожелания:
1—Добавить разъем с UART с консолью для отображения логов работы устройства (версия CRC FLASH памяти, дата компиляции, время непрерывной работы, количество стартов прошивки и прочее), для запуска юнит-тестов, управления и диагностики устройства.
2—Добавить часы реального времени для анализа даты и времени нажатий на кнопки. Увеличение габаритов тут не особо страшно, зато полезно для отслеживания времени проведенного за компьютером. Можно будет включить тревожное мигание при переработке (4 часа непрерывной печати) предупреждать о том что надо делать перерывы и прочее.
3—Добавить разъём для программирования с шагом 2,54мм. Тогда его смогли бы программировать более широкий круг людей. Так как сейчас надо подпаиваться под микроскопом, что далеко не у всех есть.
4—Конструктив такой, что приходится разворачивать USB разъем на 180 градусов при установке клавиатуры в устройство по отношению к изначальной ориентации разъема USB-A. Это тоже не эргономично, так как тратит человеко-часы. Получается как со спичечным коробком. Открываешь рисунков вверх и спички вываливаются на пол.
Программные пожелания:
Base
1—Убрать разноцветное мигание. Оно сильно отвлекает внимание от работы. Приходится загораживать устройство подручными предметами, чтобы периферийное зрение не мешало сосредоточиться на мониторе. Лучше оставить классическое одноцветное heartВeat мигание с периодом в 2 секунды и скважностью 5%. Чисто для обратной связи, что прошивка исполняется и не зависла.
2—После ввода мастер пароля стрелка вверх не работает и упирается в первый пароль! Чтобы выбрать последний пароль надо пролистывать до самого конца (75 записей). Это крайне неудобно. Надо в прошивке реализовать перебор паролей по кругу в циклическом массиве, чтобы сэкономить время пользователя.
3—Добавить вставку только пароля, а не логин, TAB, пароль. Очень многие сайты требуют только пароль. Например, чтобы зайти в Windows, потом, та же почта в google. Крайне неудобно сначала вставлять логин пароль в блокнот, а потом копипастой вставлять пароль в браузере. Весь смысл безопасности и конфиденциальности рушится как карточный домик.
4—Оказывается если в *.kdbx файле на SD карте Пастильды есть запись с пустым паролем, то при вставке этой ноды вместо пустого пароля вставляется пароль от предыдущей записи в db.kdbx файле. Из-за этого не получается сделать записи для полей, где надо ввести только пароль. Вход в Windows, например.
5—Добавить специфическую индикацию при отключении клавиатуры от устройства
6—Добавить особую индикацию при отключении SD карты от устройства.
7—Переключать состояние LED при каждом нажатии на кнопку, чтобы была обратная связь, что устройство в самом деле получает символы с клавиатуры и работает, а не живет своей жизнью.
8—Добавить выход из пастильда-режима (вход Ctrl+~/ выход Esc) по таймауту бездействия. Если человек наберет правильный мастер пароль и войдет в пастильда-режим а затем отлучится, то злоумышленник сможет забрать какой-то один пароль или вообще все расшифрованные пароли через отладчик ST linkV2, просто просмотрев RAM память.
9—Pastilda режим и обычный режим никак не отличаются на RGB светодиоде.
Зачем устройство тогда мигает всегда однообразно? Это как-то скучно. Надо как можно больше обратной связи пользователю. Сделать частое мигание в пастильда-режиме и мигание при приеме символов в обычном режиме. Это интуитивно ожидаемо.
10—Если вытащить SD карту, то устройство не сможет пробрасывать нажатие кнопок. Это в высшей степени странно, так как SD карта не являются частью подсистемы USB. Это выглядит как программный баг. Тем более, что устройства продаются без SD карты и проверить на месте работоспособность не получится.
11—Интуитивно мне как пользователю хочется, чтобы прошивка Pas~ хранила ID учёток в виде Splay-дерева. А отображать entry в виде обхода дерева Level-order. Проще говоря, пароли, что чаще всего используются будут в перечислении первыми. И чтобы это работало полностью адаптивно на лету.
Advanced:
12—Для нормальной работы устройства надо постоянно отчищать историю базы данных kdbx перед сохранением и отменять сжатие. Хотелось бы чтобы устройство могло на уровне прошивки корректно обрабатывать *.kdbx файлы с историей и сжатием.
13—Железо не раскрыто полностью. Кода окружающие впервые видят у меня Pastild(у), то они спрашиваю: «зачем тебе keyloger?». Однако функции или режима keyloger(а) в Pastild(е) нет. Поэтому было бы здорово, если бы устройство создавало отдельный текстовый файл с логами нажатий на кнопки (естественно в обычном режиме). Это может пригодится для анализа скорости печати, для анализа продолжительности работы за PC, восстановления хронологии событий.
14—Добавить отслеживание аналитики: количество прошедших через устройство байт, гистограмму распределения нажатий на кнопки, количество вставок паролей, определения «почерка» конкретного пользователя и прочее. Отображать аналитику на SD карте в текстовом файлике. Своего рода metadata.
Вывод
В целом устройство добротное. За 2 года ни разу не зависало, быстрая latancy расшифровки базы данных паролей. Лично мне помогает сэкономить 2…3 часа в неделю на наборы всяческих разнообразных паролей. Моя оценка 4+. Просто чудо, что этот гаджет разработали, причем в такой стране как Россия. Очень рекомендую.
Links
https://www.crowdsupply.com/third-pin/pastilda
https://habr.com/ru/post/305594/
ссылка на оригинал статьи https://habr.com/ru/post/694970/
Добавить комментарий