СКУД (система контроля и управления доступом, Physical Access Control System, PACS) — это набор программно-аппаратных средств контроля и управления физическим доступом к дверям, воротам, турникетам и другим технологическим отверстиями. В систему входит множество датчиков, замков, камер и другое оборудование, но в данной статье меня будут интересовать только физические электронные ключи доступа, их типы, особенности, характеристики, проблемы и недостатки.
Эта статья — нечто вроде инструкции по использованию USB криптотокенов в терминале (консоли) линукса и макоси. Ориентирована она прежде всего на российские реалии и рассматривает доступные у нас устройства и программное обеспечение.
Здесь не рассматриваются подробно детали устройства сертификатов и ключей, для этого я рекомендую прочитать статью Ещё больше и лучше о цифровых сертификатах: X.509, PKI, PKCS, где я подробно рассматриваю прикладную криптографию, сертификаты, ключи, а также консольные инструменты для работы с ними.
Базовая операционная система: ubuntu/debian на архитектуре amd64, однако многие сценарии также применимы к макоси версии Catalina или выше (только intel, на arm не проверял), а также для линуксов на другой архитектуре, если для неё существуют подходящие драйверы устройств.
Для работы в макоси вам необходимо сначала поставить homebrew.
❈ ❈ ❈
В рамках этой статьи я рассматриваю прежде всего штатные инструменты, которые применимы к любым токенам, поэтому все проприетарные криптопровайдеры типа Криптопро тут не описаны. Я настоятельно рекомендую сначала прочитать статью, прежде чем покупать криптотокен, для экспериментов вы можете использовать программный эмулятор SoftHSM (он описан ниже). К сожалению, на российском рынке очень много откровенно мусорных устройств, которые я советую игнорировать, про это я тоже отдельно напишу, поэтому экспериментируйте только с SoftHSM, для понимания принципов работы инфраструктуры он подходит идеально.
В Google Chrome переключение между табами по Ctrl+Tab всегда происходит по порядку следования табов. То есть нажатие на Ctrl+Tab всегда переключает на следующий по порядку таб, а Ctrl+Shift+Tab — на предыдущий. Это чрезвычайно неудобно, если приходится быстро и часто переключаться между несколькими табами, которые находятся в разных местах. Такая фича называется Most recently used switch (MRU Switch). В других браузерах такое поведение включается штатным образом через настройки, но не в chrome. Есть даже очень старая задача из трекера на эту тему, но она была без всяких комментариев закрыта гуглом несмотря на сотни комментариев.
Раньше было можно изменить поведение через расширения, но Google и эту возможность заблокировал, причём именно для сочетания Ctrl+Tab, внятного объяснения тоже не последовало.
Однако пользователи нашли способ. В chrome web store есть расширение QuicKey и в нём описана возможность включить MRU Switch через хак девелоперской консоли.
В этом тексте описаны полезные вещи, которые можно делать с Android через adb shell. И часто их можно сделать только так.
Чтобы выполнить инструкции из этой статьи, нужно сначала включить режим разработчика на телефоне:
- зайти в раздел Настройки/Settings → О телефоне/About Phone;
- найдите пункт с номером сборки (Build number) и нажимайте его быстро до тех пор, пока не появится надпись типа «Теперь вы стали разработчиком»
- в телефонах с MIUI нужно нажимать по пункту MIUI Version
Я много работаю с текстом и активно пользуюсь клавиатурными сочетаниями (keyboard shortcuts). На макбуке и в макоси в целом писать текст очень удобно из-за мощной и эргономичной системы клавиатурных сочетаний, они предсказуемо и одинаково работают в разных приложениях. Однако много людей такой полезной функциональностью не пользуются или даже не знают про её существование, а ведь иначе работа с компактной клавиатурой макбука сильно тормозится.
Клавиатура в мак-устройствах отличается от привычной ПК-клавиатуры набором модальных клавиш. Вместо привычных Shift, Alt, Control, Win там другие клавиши: Shift, Option, Control, Command и Fn. Только Shift (и частично Fn) работает одинаково на обоих системах, но остальные клавиши — нет, например, для сохранения документа стандартное сочетание в маке Command-S вместо Ctrl-S в винде.
В этом тексте я ограничусь только командами редактирования и навигации по документам, они применимы везде, где можно печатать текст: текстовые редакторы, поля ввода в формах, браузер и так далее. Большой (но не полный) список доступных можно найти на сайте apple: https://support.apple.com/en-gb/HT201236.
Apple использует специальные символы для обозначения этих клавиш:
- Shift — ⇧
- Option/Alt — ⌥
- Control/Ctrl — ^
- Command — ⌘
Однако в этом тексте у меня только обычные осмысленные названия клавиш типа Ctrl-A. Также все они исключительно для латинской раскладки, то есть никаких Ctrl-Ф вместо Ctrl-A.
Иногда нужно выполнить простые операции над видеофайлами без установки специализированного GUI-софта. Для некоторых из них есть альтернативы из командной строки.
Чаще всего мы будем использовать ffmpeg.
Рисование буллетов и других маркеров¶
► ● • ∙ ◆ ◇ ◈ ◉ ○ ∘ ◦ ◼ ◻ ▪ ∙ ▫ ★ ☆ ♦ ♢ ✓ ☑ ☒ ∗
▶ ▼ ◀ ▲ △ ▷ ▽ ◁
← ↑ → ↓ ↖ ↗ ↘ ↙
Рисование блоков¶
Тонкие одинарные линии: ┌ ┐ └ ┘ ─ │ ┬ ┴ ┤ ├ ┼ И пример блока из них: ┌─┬┐ ├─┼┤ ├─┴┤ └──┘ ┌ ─ ┬ ┐ │ ─ ┼ ┤ ├ ─ ┴ ┤ └ ─ ─ ┘
Рисование отбивок¶
Звёздочки по центру:
❈ ❈ ❈
Линии по центру:
──────────────────
══════════════════
Брошюра — это маленькая книжка. Если вы распечатаете PDF-файл, то получите просто набор страниц, и даже если распечатать по две страницы на лист, то получится всё равно набор страниц. Однако можно документ напечатать в виде брошюры, когда страницы располагаются на листе так, что вы можете каждый сложить пополам, вложить их друг в друга и прошить/скрепить по линии сгиба. На выходе получится полноценная маленькая книжка.
В линуксе есть очень удобная программа pdfbook, которая конвертирует обычный PDF в брошюру, которую вы можете распечатать как обычный документ на обычном принтере и потом скрепить вместе по линии сгиба. Запускается она просто:
[[email protected]]% pdfbook --a4paper input.pdf
На выходе получается файл input-book.pdf, который можно отправлять на печать.
pdfbook входит в состав пакета texlive-extra-utils
(в debian/ubuntu ставится стандартной командой sudo apt install texlive-extra-utils
), также вы можете поставить в макоси через brew, но для этого требуется установленный mactex.
Четыре года назад я написал статью Человеческим языком о цифровых сертификатах: ASN.1, X.509, PKI, в которой постарался максимально понятно рассказать о цифровых сертификатах с примерами их использования через консоль и openssl. С того времени многое изменилось: openssl версии 1 ушёл в массы, появились и стали активно использоваться его форки (libressl и boringssl), появилась (типа) поддержка гостовских алгоритмов. Плюс я получил неожиданно много обратной связи, чего совершенно не ожидал, и в итоге появился этот полностью переработанный и актуализированный текст.
*Целевая аудитория этой статьи — айтишники, поверхностно знакомые с понятием цифрового сертификата и сопутствующими понятиями и техническими стандартами (X.509, PKI, PKCS). Текст не является пересказом документации или сборником рецептов, воспринимайте его как короткий учебник, рассказывающий о базовых концептах криптографии и сложившейся вокруг стандарта X.509 инфраструктуры.
Чаще всего цифровой сертификат ассоциируется с браузером, веб-сайтом и шифрованием трафика в HTTPS-соединении. И обычно на самом факте существования сертификата у большинства айтишников понимание темы заканчивается. Многие статьи на эту тему с самого начала топят читателя в абстрактных и несущественных деталях (например, раз, два, три). Между тем, базовые концепции системы сертификатов очень простые и я о них расскажу.
В центре внимания у меня именно сертификат, так как именно вокруг него крутятся все остальные концепты.
Текст состоит из двух частей: достаточно подробная теоретическая основа (включая несколько базовых понятий из криптографии) и практическая часть с конкретными примерами на openssl. Все новые понятия в тексте вводятся последовательно, а примеры из практической части используют файлы, созданные в предшествующих разделах. Я старался пользоваться официальной русской терминологией, принятой в стандартах и литературе.
В жизненном цикле сертификата участвует несколько организаций или персон, исполняющих различные роли, в течение статьи я буду переключаться между ними, чтобы продемонстрировать аспекты каждой.
Для полноценной работы вам понадобится linux с терминалом и установленным openssl версии 1.0 или выше. С некоторым оговорками подойдёт macos с терминалом (в macos последних версий установлен форк openssl под названием libressl).
Аутентификация в информационной системе обычно происходит через логин и пароль. Логин служит для идентификации пользователя, а пароль — для подтверждения логина. Такая схема использовалась годами, однако со временем проблема кражи личности приобрела такие масштабы, что потребовался дополнительный уровень защиты — многофакторная аутентификация (multi-factor authentication, MFA).
Смысл MFA в том, что идентификация пользователя происходит по нескольким независимым каналам (факторам) и когда результат по всем положительный, система успешно завершает процесс аутентификации.