LINUX.ORG.RU

В OpenSSH добавлена двухфакторная аутентификация

 


6

3

Новая возможность пока имеет статус «экспериментальная». Она позволяет использовать для аутентификации очень дешевые аппаратные ключи, подключаемые через USB, Bluetooth и NFC. Например YubiKey Security Key или Thetis FIDO U2F Security Key with Bluetooth стоят около 100 евро.

Руководство по включению данной аутентификации по ссылке.

>>> Подробности



Проверено: a1batross ()
Последнее исправление: cetjs2 (всего исправлений: 5)
Ответ на: комментарий от ncrmnt

А это как сделать?

«уникальный защищенный чип, который, по прикосновению к кнопке, выполняет криптографические функции. Данное устройство не является биометрическим. Ключ использует емкостной сенсор, который активируется малыми электрическими зарядами вырабатываемыми человеческим телом.»

anonymous
()
Ответ на: комментарий от anonymous

Перевожу с маркетинго-буллшитского на инженерный: Микроконтроллер с зашитыми от ридбэка прошивки фьюзами, который шифрует таймстемп и номер сессии AES’ом при нажатии на кнопку и выплёвывает результат в комп прикидываясь клавиатурой.

ncrmnt ★★★★★
()
Ответ на: комментарий от anonymous

Элементарно. Там два таймера в еепром. Номер сессии (инкремент, когда подали очередной раз питание) и сколько оно уже включено в рамках данной сессии. Номер сессии в еепром сохраняется.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

От твоего поста где-то в горах плачет Эдик (известный avr-ненавистник).

anonymous
()
Ответ на: комментарий от ncrmnt

случаем ссылкой не поделишься? как вариант для вечернего рукоблудия весьма интересно

anonymous
()
Ответ на: комментарий от Iron_Bug

Потому что сделать устройство, которое носишь в кармане и оно не ломается и выглядит не как груда элементов на куске макетной платы не так то просто?

А еще потому что это ответственность. Банку безопаснее и дешевле продать лицензию на криптопро и рутокен, чем ваять тоже самое на колене…

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

да, но оно, по сути, ничего не стоит. потому что кто-то другой может сделать аналог твоего ключа на макетной плате. и в чём тогда смысл?

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Трудно сказать. Я бы некроманта позвал. Сам в этой технологии плаваю, как они добиваются уникальности каждого стика и насколько легко его перехватить и подделать.

AVL2 ★★★★★
()
Ответ на: комментарий от ncrmnt

А изначальные данные какие (дефолтное значение счётчика, AES ключ) и откуда они берутся?

Harald ★★★★★
()
Ответ на: комментарий от AVL2

Потому что сделать устройство, которое носишь в кармане и оно не ломается и выглядит не как груда элементов на куске макетной платы не так то просто?

это просто. Заводская плата, заводской корпус, заводская пайка, заводская мега – даже при мелкой серии это обойдется в 10 американских рублей

pihter ★★★★★
()
Ответ на: комментарий от Iron_Bug

потому что кто-то другой может сделать аналог твоего ключа на макетной плате. и в чём тогда смысл?

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

pihter ★★★★★
()
Ответ на: комментарий от AVL2

Сам в этой технологии плаваю, как они добиваются уникальности каждого стика и насколько легко его перехватить и подделать.

записываемая память, защищенная от чтения, в которой алгоритм шифрования + уникальные данные

насколько легко его перехватить и подделать

ну перехвати/подделай сим-карту или банковскокартный чип

pihter ★★★★★
()
Ответ на: комментарий от pihter

ну перехвати/подделай сим-карту или банковскокартный чип

Одно время симкарты клонировали. И весьма просто.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Одно время симкарты клонировали. И весьма просто.

ну тут уже я не специалист: я так понимаю, в стародавние времена на ней просто номер хранился по которому опсос отличал одного абонента от другого, в таком случае ее действительно легко скопировать. А теперь это ж полноценный компьютер с шифрованным хранилищем и аутентификацией – чет я не вижу копирований.

pihter ★★★★★
()
Ответ на: комментарий от AVL2

дада. а заводская плата, корпус и пайка в одном экземпляре так и стоят 600 руб? Это где такие цены?

[url=https://ru.aliexpress.com/item/32847860915.html?spm=a2g0v.search0302.3.68.b8652222LwC66p&ws_ab_test=searchweb0_0,searchweb201602_0,searchweb201603_0,ppcSwitch_0&algo_pvid=c0a26005-a813-458f-ac0b-acc0a1250632&algo_expid=c0a26005-a813-458f-ac0b-acc0a1250632-9]корпус 77 руб[/url]

[url=https://jlcpcb.com/]например тут[/url] делают 100х100 плату за 2$, нам нужна (исходя из размера указанного выше корпуса) 50х20мм, то есть 10 штук влазит, то есть 20 центов = 12 руб.

Мега + кварц + usb разъем пусть еще 100 руб. Итого осталось найти человека, который за 400 руб штука согласится на плату припаять мегу, кварц и юсб разъем и вставить в корпус. Мегу предватительно приложить на 10 сек к программатору надо.

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

pihter ★★★★★
()
Ответ на: комментарий от pihter
Ответ на: комментарий от AVL2

а вот еще придумал: купить готовый usb-isp программатор за 81 руб

https://ru.aliexpress.com/item/32808512179.html?spm=a2g0o.productlist.0.0.fdf4f670oetQU8&algo_pvid=8fbd8bde-d85d-4503-ae4c-fb3483c37625&algo_expid=8fbd8bde-d85d-4503-ae4c-fb3483c37625-8&btsid=77f2c3f1-d880-435e-92f0-0515b9b88d41&ws_ab_test=searchweb0_0,searchweb201602_9,searchweb201603_52

там уже готовая мега8+кварц+обвес+усбшник. Перепрошить через жопу в нужный нам юсб-мегатокен, отпаять жопу, вставить в корпус за 77 руб. Наклеить лейбл ООО «Рога и копыта» и продавать за 100 долларов всем желающим получить высокие технологии.

pihter ★★★★★
()
Ответ на: комментарий от Iron_Bug

да, но оно, по сути, ничего не стоит. потому что кто-то другой может сделать аналог твоего ключа на макетной плате. и в чём тогда смысл?

сделай. посмотри, во сколько обойдётся.

ivlad ★★★★★
()
Ответ на: комментарий от ncrmnt

Микроконтроллер с зашитыми от ридбэка прошивки фьюзами, который шифрует таймстемп и номер сессии AES’ом при нажатии на кнопку и выплёвывает результат в комп прикидываясь клавиатурой.

нет, U2F не так работает.

ivlad ★★★★★
()
Ответ на: комментарий от pihter

там уже готовая мега8+кварц+обвес+усбшник. Перепрошить через жопу в нужный нам юсб-мегатокен, отпаять жопу, вставить в корпус за 77 руб. Наклеить лейбл ООО «Рога и копыта» и продавать за 100 долларов всем желающим получить высокие технологии.

а что ты туда прошивать собираешься?

ivlad ★★★★★
()
Ответ на: комментарий от ivlad

а что ты туда прошивать собираешься?

любой алгоритм который с данными влезет в 8кб памяти. Все что пожелаешь.

pihter ★★★★★
()
Ответ на: комментарий от pihter

[s]выдумал переговоры[/s]

Н — необучаемость %)

Nervous ★★★★★
()
Ответ на: комментарий от pihter

Да нет, там с самого начала ключевая пара была. Просто из за нескольких технологических упрощений количество переборов было сокращено с миллиардов до десятков тысяч. И сим-карту брутфорсили.

AVL2 ★★★★★
()
Ответ на: комментарий от pihter

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

это к тому, что такие ключи что-то защищают только пока это никому не нужно взломать.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

Под клоном вы имеете в виду дубликат или просто аппаратную реализацию без копирования ключевой информации?

A-234 ★★★★★
()
Ответ на: комментарий от Iron_Bug

если взлом ключа стоит дороже какой-то чипушки - считай, не вопрос.

как ты предлагаешь его взламывать? читать свою память он не даст бай дизайн. Забрутфорсить не получится: в 8кб можно длинный ключ всадить. Прочитать память разобрав микросхему тунельномикроскопосканером?

это к тому, что такие ключи что-то защищают только пока это никому не нужно взломать.

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

pihter ★★★★★
()
Ответ на: комментарий от pihter

ЗЫ дьявол забери тех кто [s]выдумал переговоры[/s] поломал разметку Ахаха.

anonymous
()
Ответ на: комментарий от pihter

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

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

бугога! добавить нечего. блажен, кто верует. копию карты сделать недорого. собственно, спасает эту систему только пароль - он в голове у юзера. ну и пароли/карты надо периодически менять, для безопасности.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от A-234

Клон йубикея, со своим железом и своей прошивкой. Я это дело делал пару или тройку лет назад, валяются токены. Соответственно ключи надо свои зашивать и свой сервер yubi разворачивать, если используется их реализация. FIDO/U2F я в прошивку не добавлял, не дошли руки.

ncrmnt ★★★★★
()
Ответ на: комментарий от Iron_Bug

копию карты сделать недорого

И ты снова обделалась публично. Сделать копию чиповой карты практически невозможно.

anonymous
()
Ответ на: комментарий от Iron_Bug

всё, что как-либо втыкается в комп и передаёт данные, можно отсканировать

и че что ты ее отсканируешь? запрос каждый раз разный и ответ каждый раз разный и второй раз не подойдет — хоть засканируйся. Банковские терминалы транзакцию вообще по радиоканалу обрабатывают. И авторизацию и аутентификацию. Поставь рядом приемник, отсканируй, создай копию моей карты и забери всю мою зарплату, если такая «умная»

и если кому-то сильно надо, он это сделает.

если кому-то сильно надо, он и до Луны допрыгнет, отличный аргумент

и зачем тогда «двухфакторная» аутентификация? от чего она спасёт? простой ключ с паролем куда надёжнее выходит.

ну наверное потому что все вокруг тупые, а ты умная: других объяснений нет

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

бугога! добавить нечего. блажен, кто верует. копию карты сделать недорого

сама ты — блаженная. Ты как, веруешь что до Луны нельзя допрыгнуть?

Сделай копию моей карты, недорого, тогда уверую что это возможно, а иначе — говорить можно все что угодно.

pihter ★★★★★
()
Ответ на: комментарий от DonkeyHot

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

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Факт прикосновения всего лишь старт на генерацию последовательности. Замени на кнопку и ничего не поменяется.

h4tr3d ★★★★★
()
Ответ на: комментарий от DonkeyHot

Зачем?! Они миллионами с конвейера вылазят => карта не существенна.

ты мне что пытаешься доказать? что возможно сделать копию банковской карты не обладая инсайдерской информацией банка или что-то другое?

pihter ★★★★★
()
Ответ на: комментарий от ncrmnt

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

A-234 ★★★★★
()
Ответ на: комментарий от A-234

То есть вот раньше вопроса не было и серьезные конторы используют указанные в тексте ключи для доступа к коммерческим вещам, а сейчас вопрос появился потому что пять фриков в LOR’а узнали о такой возможности :-D

anonymous
()
Ответ на: комментарий от anonymous

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

A-234 ★★★★★
()
Ответ на: комментарий от A-234

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

ncrmnt ★★★★★
()
Ответ на: комментарий от A-234

Удобство же. Плюс все таки о том, что такой ключ клонируется на раз-два обычно становится известно.

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

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

копию карты моей преподавательницы пытались использовать за границей

физическую копию или же данные карты (номер, cvc/cvv, имя/фамилия, дата окончания действия)?

таких случаев - тьма

пруфца бы

anonymous
()
Ответ на: комментарий от Iron_Bug

Ты где-то спалила данные карты, но виноваты триллиарды нелегально выпускаемых, да :-D

Случаев с доказательствами за последние годы НЕТ. Вот вообще нет. Твое вранье не доказательство.

anonymous
()
Ответ на: комментарий от pihter

что возможно сделать копию банковской карты не обладая инсайдерской информацией банка

Естественно. Большую часть процесса производства карты идентичны. Должно быть легко купить у китайских производителей вагон-другой. Та, что ты получил, отличается максимум ключом внутри чипа Последний должно быть сложно скопировать. Впрочем, это не обязательно – опять, доклад про только обнаруженные только некоторыми только «хорошими парнями» способами пролома в ютубах бесплатно.

DonkeyHot ★★★★★
()
Ответ на: комментарий от ncrmnt

Я не знаю на каком контроллере он построен но уверен, что до хранилища ключей вы доберетесь только послойным сканированием чипа.

A-234 ★★★★★
()
Ответ на: комментарий от DonkeyHot

отличается максимум ключом внутри чипа Последний должно быть сложно скопировать

ну блин. Разумеется я говорил не о сложности изготовления карты, а о сложности вытаскивания из готовой карты ключа

доклад про только обнаруженные только некоторыми только «хорошими парнями» способами пролома в ютубах бесплатно

в ютубе есть описание как извечь ключ из банковской карты, да не просто серийник, а КЛЮЧ, позволяющий сделать копию? ссылку в студию

pihter ★★★★★
()
Ответ на: комментарий от Iron_Bug

делают, причём массово

покажи, если массово — то не составит труда

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

это копия карты или кто-то ее сфотал с двух сторон?

а копии карт делаются без проблем.

до луны допрыгивают — без проблем

pihter ★★★★★
()
Ответ на: комментарий от A-234

Еще раз, такая «защита» есть в любом нормальном мк, даже в китайских STC и nuvoton. Ничего инновационного и необычного тут нет.

ncrmnt ★★★★★
()
Ответ на: комментарий от pihter

это была копия. её засунули в банкомат где-то в Германии и сняли деньги со счёта. таких случаев навалом.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Смысл аппаратных ключей в том что без физического доступа к ключу нет шансов на его копирование.

Кроме того в нормальном ключе хардварном ключе не просто сохраняется криптографический ключ, но и соответствующие ему криптографические алгоритмы.

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

cvv ★★★★★
()
Ответ на: комментарий от Iron_Bug

это была копия. её засунули в банкомат где-то в Германии и сняли деньги со счёта

ну это с твоих слов, а тебе рассказали

таких случаев навалом.

не слышал ни одного. пруфов тоже не увидел. рабочего способа снять копию с карты без инсайдерской информации банка тоже не увидел. не уверую пока персты не вложу

pihter ★★★★★
()
Ответ на: комментарий от ncrmnt

Термин «нормальный» применительно к микроконтроллерам мне не знаком. Но вы явно не в курсе того о чем рассуждать пытаетесь. Вам не только нужно иметь память которая не считывается извне, вам нужно уметь отключать загрузку контроллера с внешней шины, запрещать jtag и т.п. Вы хоть один контроллер толком изучали?

A-234 ★★★★★
()
Ответ на: комментарий от A-234

Термин «нормальный» применительно к микроконтроллерам мне не знаком.

Тот, который выпущен партией больше 500 штук на MPW и продается.

Защита прошивки от копирования для мк сейчас это базовый функционал, который есть везде: avr, msp430, stm32, 8051 (stc, at89, nuvoton). Это из того, что ковырял. При этом у STC вообще возможности ридбэка не заложено принципиально. Загрузку с внешней шины памяти практически никто не делает, только мамонты в LON-устройствах для автоматизации (Только там видел, больше нигде). ESP8266 разве что одно время грузился с внешней SPI, но теперь есть вариант с SPI в одном корпусе с ESP8266. Но там не критично, ибо все конечные устройства привязаны по серийнику к облаку. Можно копировать прошивку сколько угодно, без облака оно бесполезно. Во всех остальных случаях, если нет защиты от ридбэка китайский клон появится не через 3-4 месяца после запуска устройства, а через неделю.

Вам не только нужно иметь память которая не считывается извне, вам нужно уметь отключать загрузку контроллера с внешней шины, запрещать jtag и т.п

Разупорись, как правило это делается либо одним фьюз битом, для удобства, либо несколькими. И включенный JTAG не гарантирует возможности чтения прошивки. См. nrf51822

Вы хоть один контроллер толком изучали?

Нет, это по ходу Вы, батенька вообще от индустрии далеко живете.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

Когда тебе надо тысячу и раздать работникам - проще заплатить чем пилить самому.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от AVL2

Там Ki был короткий и без проверок на подбор. Пофикшено лет десять назад.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от ncrmnt

Плохой перевод. Не шифрует и не AES и не номер сессии.

Генерирует на основе закрытого ключа для эллиптической кривой, идентификатора Relying Party (сервера на который идентифицируешься, для браузера - fqdn), подписывает челлендж от сервера для аутентификации.

zink ★★
()
Ответ на: комментарий от pihter

как извечь ключ из банковской карты

Зачем ломиться в запертую дверь, если окно открыто?

DonkeyHot ★★★★★
()
Ответ на: комментарий от zink

Это что-то новое. Последняя реализация, которую я имплементил выглядела как-то так:

#include <arch/antares.h>
#include <avr/eeprom.h>
#include <string.h>
#include <util/crc16.h>
#include <skeleton.h>
#include "aes.h"


/* 8hz timer is recommended */
uint16_t g_timestamp_low;
uint8_t g_timestamp_high;

static uint8_t otps_generated;

#define YUBIKEY_MODHEX_MAP "cbdefghijklnrtuv"
const char trans[] = YUBIKEY_MODHEX_MAP;

void yubikey_modhex_encode (char *dst, const char *src, size_t srcSize)
{
  while (srcSize--)
    {
      *dst++ = trans[(*src >> 4) & 0xf];
      *dst++ = trans[*src++ & 0xf];
    }

  *dst = '\0';
}


inline uint16_t yubi_crc16_update(uint16_t crc, uint8_t a)
{
    int i;

    crc ^= a;
    for (i = 0; i < 8; ++i)
    {
        if (crc & 1)
            crc = (crc >> 1) ^ 0x8408;
        else
            crc = (crc >> 1);
    }

    return crc;
}


void skeleton_send_yubi_token(struct key_yubikey *conf)
{
	int len, i;
	char buf[64];
	struct yubikey_secret_token tok;
	char *ptr;
	uint16_t crc = 0x5af0;
	aes128_ctx_t ctx;


	len = min_t(int, 2 * YUBIKEY_ID_LEN, strlen(conf->pub_string));
	memcpy(buf, conf->pub_string, len);
	memcpy(tok.secret, conf->secret, YUBIKEY_ID_LEN);

	cli();
	tok.timestamp_high = g_timestamp_high;
	tok.timestamp_low  = g_timestamp_low;
	sei();

	tok.insert_count = g_eeprom_conf.insertcount;
	tok.otps = otps_generated++;

	tok.random = rand(); //Fair dice roll

	ptr = (char *) &tok;
	for (i=0; i < sizeof(struct yubikey_secret_token) - sizeof(uint16_t); i++) {
		crc = yubi_crc16_update(crc, ptr[i]);
	}

	tok.crc = crc;

	aes128_init(conf->aes_key, &ctx);
	aes128_enc(&tok, &ctx);

	yubikey_modhex_encode(&buf[len], &tok, sizeof(tok));
	skeleton_type_message(buf);
}

void update_rgb();
ISR(TIMER1_OVF_vect)
{
	if (++g_timestamp_low == 0) {
		g_timestamp_high++;
	}
	//update_rgb();

}

ANTARES_INIT_LOW(timer_init)
{
	TCCR1A = 0;
	TCCR1B = 0;
	ICR1 = 1470; /* ~8Hz at 12Mhz clock */
	TCCR1A = (1<<WGM11);
	TCCR1B = (1 << WGM13) | (1<<WGM12) | 0x5; // /1024
#ifdef TIMSK
	TIMSK = 1<<TOIE1;
#else
	TIMSK1 = 1<<TOIE1;
#endif

}

По сути берем секретную строку, количество втыканий, значение таймера, шифруем AES одним блоком, потом транслируем в modhex и печатаем имитируя клавиатуру.

Кому надо, вот моя старая реализация этих токенов: https://git.ncrmnt.org/firmwares/SkeletonKey/

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

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

Это смотря что на нем висит. А если кошелек с битками на миллиард?

AVL2 ★★★★★
()
Ответ на: комментарий от ncrmnt

Охрана может помешать. А так ключик на пять минут тиснул и вернул.

AVL2 ★★★★★
()
Ответ на: комментарий от ncrmnt

Ну я смотрю вы теоретик, в реальной жизни куча «нормальных» контроллеров ничего этого не имеют. Почитайте что такое защита памяти в смарт картах и как она организована, ну просто чтобы потом больших глаз не делать когда из ваших «защищенных» контроллеров начинают данные копировать. А «ковырять» можете что угодно, как на опыт только ссылаться не стоит.

A-234 ★★★★★
()
Ответ на: комментарий от ncrmnt

Ты об этом?

Мой клон YubiKey с блэкджеком: SkeletonKey-R1

Как только отлажу фирмварю - выложу все в опенсорс и сделаю детальное описание.

Получил ли проект развитие? Мне было бы интересно поковыряться.

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

Он самый. Просто запилил себе несколько токенов, и пользуюсь для своих нужд. В массы выводить не думаю. Ну, еще корпус на 3д-принтере распечатал под него. Если обитаешь в мск, могу отсыпать тебе токен в обмен за годный кофеин и патчи ;)

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

Не, я от Москвы далеко обитаю. Давай лучше обещанное

выложу все в опенсорс и сделаю детальное описание

пользуюсь для своих нужд

Причем желательно с описанием сценариев использования :)

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

Собственно, сырцы валяются выше по ссылке: https://git.ncrmnt.org/firmwares/SkeletonKey

Шьется в любую авр с v-usb. На кнопки можно повесить на выбор: yubikey token, реплей длинного пароля, генератор прикольных хостнеймов по тупому алгоритму.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

Ты же понимаешь, что для человека, который никогда не программировал микроконтроллеры, эти исходники без хотя-бы минимального README абсолютно бесполезны.

yubikey token

Меня больше интересует именно это, т.к. его, вроде, можно с Linux PAM интегрировать.

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

Вот с этим большая проблема была, от чего я и не допилил до логического завершения тот проект, а так и оставил в минимальном виде.

  1. В том виде, в котором я тогда ковырял, надо было поднимать сервер авторизации с пыхпыхом. Сейчас, как я понимаю, тоже. Если у тебя официальный ключ, то, как я понимаю, ты можешь использовать облако yubi. Причем то, как опенсурс тулы были написаны уверенности не вселяли совершенно, и несколько раз отваливались на моем тестовом сетапе.

  2. Вытекает из пункта 1. Где держать сервера авторизации? Малейший отвал интернета или сети, и мы уже не сможем залогиниться в PAM. А это неприятно даже на моем минимальном сетами (дача и дом с бриджем по впн)

  3. Интеграция с LDAP. Вот это ад и израиль. Я больше занимался любовью с LDAP’ом, чем разводил плату, паял и прогал мк. Уже не помню деталей, но для того, чтобы она взлетела надо было на тот момент либо очень здорово уродовать схему, от чего iRedMail’у плохело, либо патчить OpenLDAP. Я хотел, добавив yubi в LDAP сразу фактически сделать авторизацию через OTP для всех приложений, работающих с LDAP. Не выгорело. Один из примеров - почтовый сервер и nextcloud/rainloop. nextcloud реюзает введенный пароль для логина уже по IMAP, но если пароль протухает при его использовании. В итоге у каждого приложения были свои загоны. Ну и плюс постоянные отвали этой системы-ниппель при обновлении.

Возможно сейчас это дело немного улучшили и отполировали, но тогда это был орочий ад. В общем я тогда и решил отложить это дело до лучших времен. Возможно если появится время, освежу в памяти и поковыряю еще. Ну или подкину тебе ключик, а ты расскажешь о приключениях. Аппаратура тут самая самая простая штука, как оказалось ;)

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

надо было поднимать сервер авторизации

Погоди, так ключ не автономный значит?

Может тогда лучше посмотреть в сторону чего-то другого, что можеть работать с PAM без проблем?

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

В этом то и прикол. приложение, получающее одноразовый пароль должно отправить на сервер авторизации запрос по REST, там в mysql хранятся таймстемпы протухших ключей и инфа для расшифровки. Фактически эти два костыля надо разворачивать.

https://github.com/Yubico/yubikey-val

https://github.com/Yubico/yubikey-ksm

Может тогда лучше посмотреть в сторону чего-то другого, что можеть работать с PAM без проблем?

PAM для меня было некритично, хотелось добавить двухфакторку к веб-сервисам типа nextcloud, gitlab и прочим. Но по ходу везде нужна поддержка OTP самим приложением. Печаль, в общем.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 3)
Ответ на: комментарий от aquadon

У меня валялось пара рутокенов старых, вроде поддерживаются через opensc, но определяется через opensc только один, и 3/4 команд не работают. Периодически когда обновляю систему тыкаю, не заработали ли, но пока ощущение, что с opensc все печально.

Отдельная проблема это дрова. Плюс йубика - если надо залогиниться в вебморду с потенциально протрояненного компа чужого, и не спалить пароль. А с opensc надо накатывать дрова для pkcs11, а в Винде это вообще пляски с бубном в виде криптопро.

В общем, все печально.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от ivlad

Тогда что-то не сходится. Возможно U2F и OTP добавили сильно позже, уже после того, как я их ковырял. Для OTP надо точно переделывать схематику, т.к. нужна батарейка и RTC.

ncrmnt ★★★★★
()
Ответ на: комментарий от ivlad

напишешь реализацию FIDO2 CTAP в 8 килобайтах?

микроконтроллеры и побогаче бывают. А еще к ним память приделывается. Ничего сложного не вижу, при желании

pihter ★★★★★
()
Ответ на: комментарий от pihter

Особые извращенцы могут конечно в усб стик и Линукс зашифрованный и с секурьбутом запихнуть, хехе. Было бы желание.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

Все что вы тут перечислили может быть прочитано. Я не просто так про смарт карты написал. Ваш ширпотреб прочтут и ключи сольют. А совсем без защиты есть например миландр, с фьюзами у них контроллеров пока не видел. Да и китайчатина без защиты попадается. То что вы считаете защитой основано на вашей вере в точность спецификаций.

A-234 ★★★★★
()
Ответ на: комментарий от A-234

Давай я возьму с полки ближайшую самую голимую китайщину, например nuvoton 8051, зашью туда /dev/urandom с защитой от ридбэка и предложу тебе считать. Например, можем такой спор провести на хорошие кофейные зерна. Результаты реверса в опенсорс.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

Особые извращенцы могут конечно в усб стик и Линукс зашифрованный и с секурьбутом запихнуть, хехе. Было бы желание.

почему сразу извращенцы? мож люди так развлекаются? у нас ведь как: если твое хобби — марки или монеты собирать — нормально, если в филармонию ходить скрипку слушать — вообще замечательно, а если человек по горам лазает или там перса качает — ну дурак дураком же...

я к чему — многие находят удовольствие в том, чтоб запихнуть самописного супермарио в 8кб атмеги, на мой взгляд — хобби не хуже других

pihter ★★★★★
()
Ответ на: комментарий от pihter

Ну, вот это всё уже есть в юбике за какие-то небольшие деньги.

ivlad ★★★★★
()
Ответ на: комментарий от ncrmnt

Это реализация HMAC-ов, поддерживается на обычных Yubikeys, так же как и HOTPs, OpenGPG и PIV. Но с U2F и FIDO2 ничего общего не имеет кроме того, что это ещё один протокол в который умеют yubikey.

Вообще протокол - неплохая коллеция хороших практик по аутентификации. Практически аутентификация по сертификатам + автоматическая генерация сертификатов для каждого сайта в отдельности.

zink ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.