Андрей @ThingCrimson
UNIX инженер
Information
- Rating
- 2,094-th
- Date of birth
- Registered
- Activity
Specialization
System Administration, Server Administrator
Middle
Linux
Bash
C
Perl
Information Security
*NIX administration
Mail servers administration
Virtualization systems
Информация по поводу моего USB устройства попроще:
(ответ на вопрос уважаемого @M_AJ) Точное название устройства — ACS PocketKey (AFD-KM v1.2.1.0) от компании Advanced Card Systems Ltd., размер 29 × 14.5 × 10.5мм, вес 4.5 г. Обошлось мне примерно $27 в оффлайн магазине.
Форм-фактор USB Type-A (USB 2.0), криптография на ECC p256, поддерживаемые стандарты аутентификации FIDO U2F, FIDO2, FIDO2 CTAP2.1; поддерживаемые браузеры Chrome, Edge, Firefox, Safari; поддерживаемые OS Android, Linux, MacOS, Windows.
После задания PIN-кода (нужно установить с сайта производителя ACS FIDO Key Manager MacOS / Windows) доступна запись на устройство Resident Credential (максимум 200 одновременно, можно удалять ненужные).
(ответ на вопрос уважаемого @leon_shtuet) Нет, как аппаратный ключ с KeePassXC (версия 2.7.7 / Win10) не работает — пишет что «аппаратный ключ не обнаружен».
(ответ на вопрос от меня самого) Да, можно использовать для хранения секретного ключа OpenSSH (не поддерживает ed25519).
Нужно подключить устройство к компьютеру и выполнить команду:
ssh-keygen -t ecdsa-sk -O resident -C "Your Comment" -f ~/.ssh/id_myacs_sk
После ввода правильного PIN устройства мигает светодиодом кнопки (нужно нажать её), генерирует ключ и записывает его на устройство, а также в файл (рекомендуется защитить его сильной парольной фразой и спрятать подальше).
После чего на произвольном компьютере с OpenSSH (и запущенным ssh-agent) подключаем устройство, загружаем данные о ключе в агент
ssh-agent -K
(требуется ввести PIN, сам секретный ключ остаётся на устройстве!), заходим на нужный хостssh host
. Мигающая синим кнопка означает, что устройство просит подтверждения, после нажатия на кнопку мы авторизованы! Очень удобно оказалось, теперь точно всюду без опаскиPasswordAuthentication no
пропишу в настройках sshd (пока оставлял парольную аутентификацию на серверах подскока).(пока нет ответа на вопрос «Работает ли устройство с GPG», там надо ещё почитать / поразбираться; как появится — напишу)
(написал кучу букв, и подумал, что возможно у нас просто разговор о разном: я о современных ключах FIDO U2F / FIDO 2 с HID-интерфейсом, а Вы о простом генераторе HOTP / TOTP с 6-8 цифрами на дисплее?)
Эх, какая была компания! До сих пор храню карточки SCSA и SCNA, в память о былом…
Если бы не покупка mySQL (в попытке уйти от Oracle как доминирущей СУБД на Sun/SPARC), может и пережили бы они 2008 год. Но надорвались, и тут уже Oracle их схарчила (в попытке получить монопольную аппаратную платформу для своей СУБД; ну и, конечно же, права на Java).
Нет. Уважаемый CaptainFlint уже написал почему — использование ассиметричного шифрования позволяет безопасно распостранять публичный ключ (которого достаточно для проверки правильности подписи секретным ключом; а также для шифрования сообщения, подлежащего расшифровке всё тем же секретным ключом).
Пока нет никаких свидетельств возможности восстановить секретный ключ по публичному, как для классичесих алгоритмов (RSA), так и для совеременных (ECC). Когда их научатся ломать, то мои деньги из банков вряд ли заинтересуют того, кто сможет все «потерянные биткоины» на себя переписать.
Позволю себе не согласиться! Чуть выше я написал, что HOTP / TOTP (как и простыни с OTP, пользовался такими в одном банке лет 15 назад) это уже вчерашний день. А современное состояние дел — использование ассиметричного шифрования, когда один токен с намертво прошитым секретным ключом ползволяет использовать множество сервисов (которые на стадии инициализации 2FA зипоминают у себя публичный ключ токена).
Скажу честно, глубоко в спецификации я не смотрел; время там каким-то образом всё же поддерживается более-менее точным; а вот что касается меню — очень может быть, что оно вообще для Одного-Единственного Самого Секретного Сервиса.
В любом случае, устройства с CTAP1 / CTAP2 делают такие аппаратные HOTP / TOTP токены устаревшими. Чем запоминать на устройстве секреты от разных сервисов, чтобы потом использовать достаточно примитивную математику для получения хэша — лучше взять за основу современное ассиметричное шифрование на эллиптических кривых; секретный ключ выжжен в устройстве, публичный сообщается сервису при регистрации и запоминается им. И всё, при аутентификации сервис посылает челлендж, токен отвечает на него и подписывает ответ своим секретным ключом; сервис проверяет ответ и подпись — бинго!
Да, возможен! В описанном Вами формате точно существовали аппартные генераторы HOTP; а впрочем вот нашёл и Feitian c200 TOTP:
Да, Вы правы, можно делать нечто вроде такого
oathtool -N $(date -ud "2 minutes 25 seconds ago")
Что касается консольных программ на смартфоне (хотя я именно от смартфона и старался уйти), то при наличии там полноценного линукса (iSH для iPhone, наверняка для Android есть аналог) — можно поставить туда кроме oathtool ещё и GPG, ну и
mytotp.sh
тогда тоже.(в сторону: делегация TLD .sh это прямо диверсия! пришлось упоминание своего скрипта как код оформлять, иначе считало это активной ссылкой)
Да, видел подобную оптимизацию при отправке OTP: поскольку ключом там является привязанный номер телефона, а собственно SMS пожалуй самый дорогой транспорт — ищут все возможные каналы доставки с тем же номером телефона.
По возможности стараюсь отказываться от такого в пользу TOTP (а теперь и FIDO U2F).
Позволю себе не согласиться (сам долго сидел на WL-500w с прошивкой от Олега, и менял электролиты в БП) — именно MikroTik mAP Lite очень перегружен по тепловыделению. Такое впечатление, что его при проектировании не рассматривали для постоянной работы (а типа такого: «пришёл на точку, примагнитил mAP Lite к шкафу, кинул провод к коммутатору и пользуешься WiFi на время работы»).
Вот MikroTik mAP (с двумя eth), там размеры побольше и он так сильно не греется.
Может и так (хотя изначально я к этой мировой знаменитости был настроен очень скептически). Возможно если бы там висела аналогичная картина студента второго курса — я бы её так и воспринял, тут уже не проверишь…
Кстати, я использовал в своём предыдущем комментарии выражение art attack, ночью вспоминал, откуда оно ко мне пришло. Вспомнил — старая VHS кассета с самопальным сборником музыкальных видео Jimi Hendrix, и вот одно из них называлось ”Art Attack” (под попурри из разных песен Джими художник в берете на стене рисует его портрет).
Решил поискать, нашёл — это работа художника Denny Dent, оригинально для Intro from ”Jimi Plays Monterey” LD, много раз переозвучена, вот это похоже оригинал.
И попробую вставить встроенным видео:
Да, но я же писал о способе с двумя полосками малярной ленты и суперклея в контексте «прикрепить наждачку на маховик передней бабки»! Для ударных нагрузок при обованивании — только в центрах, и заготовку по максимуму привести к осевой симмтрии предварительно.
Всё так; но уточню (по памяти), что к Turbo Pascal выпускалась замечательная библиотека Turbo Professional (TP), и вот TurboVision TUI во многом от неё отталкивался (эх, сколько прогамм с ”uses TpCrt;” написал… давно это было, давно)
Кстати да, если время на устройстве выставляется местное, то возможны варианты с пересчётом в UTC при устаревшем tzdata — это Вы очень верно подметили!
Да, есть такое! Почитал Ваш перевод, полезная штука — и то, в RFC 3696 уже не упоминается UUCP bang notation (RFC 976) типа system!user@domain. Хорошо, если есть проверенные библиотеки (привет, supply chain attack!); а если делать самому ab ovo — то читать всю доступную документацию, включая лютое legacy.
А надеюсь я так, pro forma… Но всегда приятно быть удивлённым!
Прошу прощения, я решил избежать подозрений в рекламе конкретного девайса; подумал что если кому-то интересно будет — спросят в комментариях.
Это изделие ACS PocketKey от компании Advanced Card Systems Ltd. Форм-фактор USB Type-A (USB 2.0), криптография на ECC p256, поддерживает стандарты FIDO U2F и FIDO2 L1.
Кстати, если у Вас часы на устройстве отстают — попробуйте
oathtool -w 10
скажем. Это сгенериует TOTP для текущего момента времени плюс 10 последующих периодов (30 секунд рекомендовано). Можно изловчиться в уме коррекцию делать: «ага, отстаём на две минуты, значит беру пятое выданное значение TOTP».А вот если спешат, тогда хуже… Ну и привязка к конкретной таймзоне остаётся — если бы в РФ была одна таймзона на всю страну, можно было бы сказать «так и задумано, чтоб только свои могли пользоваться», а так даже и не знаю.
Воистину удивительные вещи могут сотворить одарённые люди при реализации хорошо документированных стандартов! Ведь в RFC 6238 явно прописано использовать UNIX time (Определяется как количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года (четверг)); да и целый раздел посвящён проблеме синхронизации, с рекомендацией:
Разумеется прошёл бы мимо, ведь для того, чтобы случилось восприятие надо как минимум начать смотреть / слушать (а не воспринимать периферическим зрением / слухом на уровне шумов). Так что проходящие мимо люди могут доказывать и то, что они и не начинали смотреть / слушать, а не что сеттинг определяет моё восприятие.
Кстати, к вопросу о той выставке Вархола — я был настроен изначально более чем скептически, и сеттинг остальных работ (типа бананов / супов Кемпбел / Мерилин Монро) никак не влиял на то, чтобы я их воспринял. А вот с одной работой это произошло, art attack не иначе.
Вот кстати да, Вы очень верно подметили, в чём проблема статьи. Она не настоящая, то есть не на реальных примерах построена. Ну и то, что основная цель написания (копирования? рерайта?) — увеличение продаж через телеграм-канал, тоже очень выпирает.