> Незачем предвычислять амплитуды отсчетов на весь семпл.
Это был скорее комментарий к приведенному в статье коду. Если нужно сгенерировать 1000 периодов синусоиды, совершенно незачем повторять цикл 1000 раз, достаточно обсчитать один период. Нет, даже четверть периода, а потом периодически менять знак результата и переворачивать порядок отсчетов.
Если генерим что-то посложнее синусоиды, этот трюк может не сработать.
А за подход с решением (точнее, аппроксимацией, так?) дифура на ходу — отдельное спасибо!
Ближе всего к описанной ситуации повсеместного введения токенов — использование Sim-карт для мобильной связи.
1) Стоимость снижена до минимума, за счет массовости. Часто карта бесплатна для пользователя, за нее платит поставщик услуг.
2) Потеряли-украли? Не беда. Двухфакторная аутентификация не даст воспользоваться вашей картой никому кроме вас.
3) Восстановление тоже довольно просто: генерируется новый ключ, а старый аннулируется. Естественно, после того, как вы подтвердите, что вы — это вы.
4) Смысл защиты не в том, чтобы ее нельзя было преодолеть, а в том, чтобы это было нерентабельно. И в sim-картах это на сегодняшний день достигнуто: затраты на извлечение ключа (нес-ко десятков тысяч $) не окупятся при использовании этого ключа злоумышленником.
Чтобы ускорение (которе измеряет акселерометр) преобразовать в координаты, нужно дважды проинтегрировать. Но тут проблема в том, что из-за погрешностей координаты будут «плыть»: акселерометр неподвижен, а система думает, что он медленно куда-то едет.
Если интегрировать один раз, получим скорость. С ней уже проще, ошибки не так сильно накапливаются, но все равно накапливаются.
Наклоны хорошо обрабатываются акселерометром, но только когда перчатка неподвижна. Если мы хотим измерять угловое ускорение, нужен гироскоп (три — по трем осям). Но у гироскопа та же проблема: данные с него нужно интегрировать, а значит углы наклона тоже будут «плыть». Для контроля неподвижности по осям крена и тангажа достаточно использовать акселерометр (куда смотрит вектор g, там низ). А вот для задания нуля по оси рыскания это не поможет, и обычно используют магнитный компас (и пусть он показывает не на север, а на ближайшую батарею, главное, что все время в одну и ту же сторону).
Если хотите все это реализовать, ищите материалы по ключевым словам «фильтр Калмана», на хабре тоже полно статей на эту тему.
Я слышал, что ключевая дискета — это не просто дискета, на которой лежит ключ, но еще определенным образом поцарапанная, чтобы ее нельзя было скопировать, т.к. конфигурация бэд-блоков от царапины — часть ключевой информации. Это правда?
Под DOS на PC динамик тоже разговаривал. Была прога-заподлянка, произносившая фразу «здравствуй, жопа!». Технически это было реализовано как прямое обращение к порту динамика и формирование ШИМ-сигнала. Несущая частота в районе десятка кГц была не слышна, а огибающая давала как раз речевой сигнал.
Пианино — это основная частота (синус) + несколько гармоник. Проше всего снять спектр настоящего рояля и по нему выставить амплитуды гармоник. Да, еще нужно обеспечить резкую атаку и плавное затухание семпла, иначе орган получится.
Хм… Как бы вам объяснить. Тут возможны 2 варианта:
1) Вы не понимаете, в чем смысл токена, зачем он имеет свой процессор и т.д. Перечитайте статью и купите USB-хаб, ибо ответ: «Нет, такого софта не существует». Или не используйте токен, а авторизуйтесь по паролю, если вам все равно.
2) Вы все это прекрасно понимаете, но решили всех обхитрить, т.к. без токена банк-клиент не работает, а лишних портов нет. Ответ все равно: «Нет, такого софта не существует», поскольку никто не заинтересован в снижении защищенности системы, которое неизбежно наступит, когда пользователи начнут использовать эмуляторы вместо токенов.
Запароленный .rar упомянут как пример совсем уж колхозного решения. Если цель — аутентификация, обычно используют менеджеры паролей, которые ничего лишнего на диск не пишут. Основное преимущество токенов — не защита от логгеров (пин достаточно легко перехватить, выше в комментах как раз сейчас это обсуждают), а защита от брутфорса, так как дается всего несколько попыток на ввод пин-кода. А к запароленному архиву или базе какого-нибудь KeePass'а можно подбирать пароль до победного конца.
Все алгоритмы шифрования открыты и общедоступны. Существуют ли open-source реализации токенов? Имеется в виду не код библиотеки и драйверов (хотя куда же без них?), а прошивка самого USB-«свистка».
Канал ПЭМИН отличная штука, но для его использования нужна дополнительная аппаратура, часто очень сложная. Здесь использован встроенный гироскоп, вся обработка данных программная, а внедрить программную закладку на порядок легче, чем аппаратный жучок.
А спасибо не мне, а тем двум китайцам, которые до такого додумались. Это перевод.
Незачем предвычислять амплитуды отсчетов на весь семпл. Достаточно вычислить один период и повторить нужное число раз.
Если код выполняется на микроконтроллере, например, то даже вычисление синуса — часто непозволительная роскошь. Используют один раз вычисленную таблицу синусов, которая хранится в EEPROM.
Сегодня утром вспомнил, что впервые встретил упоминания об этих атаках у Бёрда Киви (книга «Гигабайты власти»).
Это был скорее комментарий к приведенному в статье коду. Если нужно сгенерировать 1000 периодов синусоиды, совершенно незачем повторять цикл 1000 раз, достаточно обсчитать один период. Нет, даже четверть периода, а потом периодически менять знак результата и переворачивать порядок отсчетов.
Если генерим что-то посложнее синусоиды, этот трюк может не сработать.
А за подход с решением (точнее, аппроксимацией, так?) дифура на ходу — отдельное спасибо!
1) Стоимость снижена до минимума, за счет массовости. Часто карта бесплатна для пользователя, за нее платит поставщик услуг.
2) Потеряли-украли? Не беда. Двухфакторная аутентификация не даст воспользоваться вашей картой никому кроме вас.
3) Восстановление тоже довольно просто: генерируется новый ключ, а старый аннулируется. Естественно, после того, как вы подтвердите, что вы — это вы.
4) Смысл защиты не в том, чтобы ее нельзя было преодолеть, а в том, чтобы это было нерентабельно. И в sim-картах это на сегодняшний день достигнуто: затраты на извлечение ключа (нес-ко десятков тысяч $) не окупятся при использовании этого ключа злоумышленником.
Если интегрировать один раз, получим скорость. С ней уже проще, ошибки не так сильно накапливаются, но все равно накапливаются.
Наклоны хорошо обрабатываются акселерометром, но только когда перчатка неподвижна. Если мы хотим измерять угловое ускорение, нужен гироскоп (три — по трем осям). Но у гироскопа та же проблема: данные с него нужно интегрировать, а значит углы наклона тоже будут «плыть». Для контроля неподвижности по осям крена и тангажа достаточно использовать акселерометр (куда смотрит вектор g, там низ). А вот для задания нуля по оси рыскания это не поможет, и обычно используют магнитный компас (и пусть он показывает не на север, а на ближайшую батарею, главное, что все время в одну и ту же сторону).
Если хотите все это реализовать, ищите материалы по ключевым словам «фильтр Калмана», на хабре тоже полно статей на эту тему.
1) Вы не понимаете, в чем смысл токена, зачем он имеет свой процессор и т.д. Перечитайте статью и купите USB-хаб, ибо ответ: «Нет, такого софта не существует». Или не используйте токен, а авторизуйтесь по паролю, если вам все равно.
2) Вы все это прекрасно понимаете, но решили всех обхитрить, т.к. без токена банк-клиент не работает, а лишних портов нет. Ответ все равно: «Нет, такого софта не существует», поскольку никто не заинтересован в снижении защищенности системы, которое неизбежно наступит, когда пользователи начнут использовать эмуляторы вместо токенов.
safetok.com/solutions/biometric.html
www.ftsafe.com/products/biopass.html
www.softlock.net/default.aspx?DocSN=eSign-Smart-Token
Таким образом, самые отъявленные параноики могут организовать трехфакторную аутентификацию: токен + пин-код + биометрия.
А спасибо не мне, а тем двум китайцам, которые до такого додумались. Это перевод.
А noise + saw будет, наверное, вдох Вейдера.
(Источник: www.rutoken.ru/products/rutoken/capability/)
Если код выполняется на микроконтроллере, например, то даже вычисление синуса — часто непозволительная роскошь. Используют один раз вычисленную таблицу синусов, которая хранится в EEPROM.