Как стать автором
Обновить

eSSL — SSL сертификаты для встраиваемых систем

Время на прочтение 11 мин
Количество просмотров 11K
Информационная безопасность *
Из песочницы
В наше время сетевые технологии развиваются столь стремительно что еще недавно казавшийся бредовым лозунг "интернет в каждом холодильнике" уже не кажется фантастикой. Но вместе с тем начинают становиться актуальными вопросы безопасности встраиваемых устройств имеющих WEB интерфейс с выходом в локальную и, не дай бог, в глобальную сеть. SSL технология призвана помочь этому позволяя работать с WEB интерфейсом по протоколу HTTPS, но встраиваемые системы имеют здесь свои особенности.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 2

Tcl/Tk – создание расширений/пакетов на базе динамических библиотек

Время на прочтение 9 мин
Количество просмотров 3.4K
Криптография *Open source *Графические оболочки *Интерфейсы *C *
В одной из наших заметок было высказано намерение написать графические оболочки для пакетов OpenSSL и NSS (Network Security Services). GUI для NSS было написано:
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 4

XCA – удостоверяющий центр уровня предприятия или сага о русских и немецких программистах

Время на прочтение 9 мин
Количество просмотров 22K
Криптография *Программирование *Графические оболочки *IT-стандарты *Разработка под Linux *
I think noone ever looked at the code as deeply as you did.
Christian Hohnstädt, Programming, Translation and Testing XCA
Перевод:
Я думаю, что еще никто так глубоко не заглядывал в мой код, как вы.
Christian Hohnstädt, разработчик XCA
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 8

Хранилище сертификатов в офисном пакете LibreOffice

Время на прочтение 4 мин
Количество просмотров 13K
Программирование *
image LibreOffice — мощный офисный пакет. LibreOffice бесплатен и имеет открытый исходный код.

Офисный пакет содержит в себе текстовый и табличный процессор, программу для подготовки и просмотра презентаций, векторный графический редактор, систему управления базами данных и редактор формул:

image
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 17

Токены PKCS#11: генерация ключевой пары и неизвлекаемость приватного ключа (Продолжение)

Время на прочтение 7 мин
Количество просмотров 19K
Информационная безопасность *Криптография *Программирование *IT-стандарты *Компьютерное железо
Туториал
imageВ предыдущей статье «Токены PKCS#11: сертификаты и закрытые ключи» мы рассмотрели как можно однозначно связать тройку Сертификат x ПубличныйКлюч x ПриватныйКлюч, хранимую на токене/смаркарте с интерфейсом PKCS#11 v.2.40. В данной статье мы поговорим о генерации ключевой пары. Опираться мы будем, как и прошлый раз, на «ГОСТ Р 34.10-2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 26

Пакет Network Security Services и утилита Pretty-print

Время на прочтение 3 мин
Количество просмотров 6.2K
Программирование *Отладка *C# *Разработка под Linux *Искусственный интеллект
Пакет Network Security Services (NSS) представляет собой набор библиотек, используемых при кроссплатформенной разработке защищенных клиентских и серверных приложений.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 8

Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509

Время на прочтение 8 мин
Количество просмотров 8.5K
Криптография *Python *IT-стандарты *Разработка под MacOS *Разработка под Linux *
Из песочницы
image Сегодня использование цифровых сертификатов X509 v.3 стало обыденным делом. Все больше людей используют их для доступа на сайт Госуслуги, ФНС, электронные торги и т.д. И все больше людей хотят знать, что же находится в этом «сундуке» под названием сертификат. И если сертификат является аналогом паспорта, то как его можно прочитать/просмотреть. Да, в операционных системах присутствуют различные утилиты для просмотра. Но рядовому гражданину они мало что дадут. Возьмем для примера утилиту gcr-viewer, которая, по сути, является стандартным средством для просмотра в Linux-системах, а значит и в отечественных ОС:
Читать дальше →
Всего голосов 24: ↑21 и ↓3 +18
Комментарии 40

Криптографические токены PKCS#11: просмотр и экспорт сертификатов, проверка их валидности

Время на прочтение 11 мин
Количество просмотров 6.8K
Информационная безопасность *Python *Графические оболочки *IT-стандарты *Разработка под Linux *
image В комментариях к статье «Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509» было пожелание от пользователя Pas иметь не только «парсинг сертификатов», но и получать «цепочки корневых сертификатов и проводить PKI-валидацию, хотя бы для сертификатов на токенах с неизвлекаемым ключом». О получении цепочки сертификатов рассказывалось в одной из предыдущих статей. Правда там речь шла о сертификатах, хранящихся в файлах, но мы обещали добавить механизмы для работы с сертификатами, хранящимися на токенах PKCS#11. И вот что в итоге получилось.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 0

Простой ASN1-кодек на базе sprintf

Время на прочтение 13 мин
Количество просмотров 6.3K
Криптография *Программирование *IT-стандарты *C *Разработка под Linux *
imageТранспортный синтаксис ASN.1 определяет однозначный способ преобразования значений переменных допустимых типов в последовательность байт для передачи по сети. В ASN.1 он называется базовыми правилами кодирования (Basic Encoding Rules, BER). Правила являются рекурсивными, так что кодирование составных объектов представляет собой составление в цепочку закодированных последовательностей составляющих объектов. Протокол ASN.1 описывает структуру данных простым и понятным языком.
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Комментарии 21

Использование механизмов криптографических токенов PKCS#11 в скриптовых языках

Время на прочтение 12 мин
Количество просмотров 4.9K
Криптография *Python *Графические оболочки *IT-стандарты *Разработка под Linux *
В своих комментариях к статье «Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509» пользователь Pas очень правильно заметил про токены PKCS#11, что они «сами все умеют считать». Да, токены фактически являются криптографическими компьютерами. И естественным является желанием использовать эти компьютеры в скриптовых языках будь то Python, Perl или Ruby. Мы уже так или иначе рассматривали использование токенов PKCS#11 с поддержкой российской криптографии в Python для подписания и шифрования документов, для создания запроса на сертификат:
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 3

Криптографический АРМ на базе контейнера PKCS#12. Создание электронной подписи CadES-X Long Type 1. Часть 3

Время на прочтение 39 мин
Количество просмотров 4.7K
Информационная безопасность *Криптография *Графические оболочки *Разработка под Linux *Разработка под Windows *
image Прошло время и утилита, начатая как просмотрщик сертификатов, дополненная функциями работы с криптографическими токенами PKCS#11 и создания запросов (PKCS#10) на квалифицированный сертификат, пополнилась, как и было заявлено, функциями работы с контейнерами PKCS#12.

Итак, для работы с контейнерами PKCS#12 потребуется утилита cryptoarmpkcs :

Загружаем, запускаем утилиту cryptoarmpkcs и нажимаем кнопку «PKCS12»:
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 6

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог

Время на прочтение 4 мин
Количество просмотров 5.6K
Информационная безопасность *Разработка веб-сайтов *Криптография *Графические оболочки *IT-стандарты *
Вот мы и добрались до создания самоподписанных сертификатов.
Где применяются самоподписанные сертификаты? Конечно, с самоподписанным сертификатом вы не сможете зарегистрироваться на сайте Госуслуг или подать подписанную декларацию в ФНС. Но для внутрикорпоративного документооборота их вполне можно использовать. Можно также использовать их для защиты личной почтовой переписки, в VPN-сетях и т.п. Но наиболее часто используют самоподписанные SSL-сертификаты для обеспечения защищенного доступа по https-протоколу к Web-приложениям. Самым популярным средством для создания самоподписанных сертификатов остается OpenSSL. Процедура получения SSL-сертификатов с помощью того же OpenSSL хороша описана здесь. Но там вы не найдете упоминая о ГОСТ-овых сертификатах, о токенах PKCS#11 и т.п. Здесь мы рассмотрим простой графический интерфейс, который позволяет получать сертификаты на базе ГОСТ Р 34.10-2012 и без всякого использования OpenSSL.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 4

Криптографический АРМ на базе стандартов с открытым ключом. Функции разбора и просмотра ASN1-структуры

Время на прочтение 4 мин
Количество просмотров 2K
Криптография *Python *Графические оболочки *IT-стандарты *Разработка под Linux *
Основной работой при создании утилиты cryptoarmpkcs было не разработка кода или графического интерфейса, а работа с ASN1-структурами. Именно в этих структурах хранятся сертификаты x509v3, электронные подписи документов (PKCS#7, CMS), запросы на сертификаты (PKCS#10, CSR), открытые и закрытые ключи, защищенные контейнеры PKCS#12/PFX, списки отозванных сертификатов CRL и штампы времени для электронной подписи, запросы и ответы OCSP и так далее и тому подобное. Постоянно приходилось просматривать уже имеющиеся структуры для понимания того как это делали другие, просматривать только что собранные самим AN1-структуры. Процесс понятен. Но поскольку я работаю на Linux (сейчас это Mageia, и код для Windows тоже готовлю на Linux), то под рукой из доступных средств разбора ASN1-структур были утилиты openssl и derdump из пакета NSS. Лично мои предпочтения были на стороне derdump. Именно она и стала прототипом рассматриваемой здесь утилиты derdump.tcl/tclderdump для просмотра ASN1-структур. И если вы сравните вывод утилиты derdump из пакета NSS и утилиты derdump.tcl, то вы практически не увидите различий:
Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 10

Криптографический АРМ на базе стандартов с открытым ключом. Конфигурирование токенов PKCS#11

Время на прочтение 4 мин
Количество просмотров 1.8K
Информационная безопасность *Графические оболочки *IT-стандарты *C *Разработка под Linux *
Еще раз просмотрев функционал утилиты cryptoarmpkcs, обратил внимание на то, что она, в основном работая с криптографическими токенами/смаркартами PKCS#11, не имеет встроенного функционала для их конфирурирования. Речь идет об инициализации токенов, установки PIN-кодов и т.п. И было решено добавить этот функционал. Первым делом для этого пришлось расширить функционал пакета TclPKCS11, библиотека которого написана на языке Си.

Новые функции пакета TclPKCS11


В пакете появились три новые функции:

::pki::pkcs11::inittoken <handle> <slotId> <SO-pin> <label for token>

::pki::pkcs11::inituserpin <handle> <slotId> <SO-pin> <USER-pin>

::pki::pkcs11::setpin <handle> <slotId> <so | user> <oldpin> <newpin>
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 0

Криптографический АРМ на базе стандартов с открытым ключом для платформы Android

Время на прочтение 17 мин
Количество просмотров 3.2K
Информационная безопасность *Графические оболочки *Разработка под Android *IT-стандарты *Разработка под Linux *
🔥 Технотекст 2020
imageПришло время продемонстрировать как криптографический АРМ на базе стандартов с открытым ключом cryptoarmpkcs работает на одной из мобильных платформ, а именно Android.

Концепция, которая закладывалась при разработке утилиты cryptoarmpkcs, состоит в том, что пользователь должен испытывать минимум неудобств при создании и проверке электронной подписи. Именно поэтому мы предлагаем в качестве ключевого носителя для личного сертификата использовать криптографические токены PKCS#11 и/или защищенные контейнеры PKCS#12. Надо сказать, что использование PKCS#12 во многих случаях оказывается чуть ли не единственно возможным, например, когда у тех же токенов PKCS#11 не оказывается поддержки для тех или иных платформах.
Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 8

Использование механизмов криптографических токенов PKCS#11 на платформе Android

Время на прочтение 3 мин
Количество просмотров 2.8K
Криптография *Графические оболочки *Разработка мобильных приложений *Разработка под Android *IT-стандарты *
Подошло время задействовать криптографические механизмы PKCS#11 и на платформе Android. Кто-то может сказать, что нет аппаратных токенов для Android. Но, если это и так, то это только временное явление. Но уже сегодня можно поставить программный токен или использовать облачный токен. Поскольку утилита cryptoarmpkcs-A разрабатывается для платформы Android с использованием Androwish на скриптовом языке Tcl/Tk, то для подключения токенов используется пакет TclPKCS11 версии 1.0.1.

При этом никакой переработки пакета не потребовалось. Все что было сделано, это был добавлены в проект скрипт для сборки библиотеки пакета, написанной на языке Си, под Android и сам дистрибутив библиотеки. В этот же проект было решено добавить и библиотеки программного ls11sw2016 и облачного ls11cloud токенов для различных платформ.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 4

Использование облачного токена с поддержкой российской криптографии на платформе Android

Время на прочтение 2 мин
Количество просмотров 2.5K
Информационная безопасность *Криптография *Графические оболочки *Разработка под Android *Облачные сервисы *
С точки зрения PKCS#11 интерфейса, использование облачного токена не отличается от использования аппаратного токена. Для использования токена на компьютере (а у нас пойдет речь о платформе Android) необходимо иметь библиотеку для работы с токеном и собственно подключенный токен. Для облачного токена нужно тоже самое — библиотеку и подключение к облаку. В качестве такого подключения выступает некий конфигурационный файл, в которой прописывается адрес облака, в котором хранятся токены пользователей.

Проверка статуса криптографического токена


Итак, скачиваем обновленную версию утилиты cryptoarmpkcs-A. Устанавливаем и запускаем приложение и переходим в основное меню. Для дальнейшей работы необходимо выбрать токен, криптографические механизмы которого будут задействованы (напомним, что при работе с PKCS12 токен не нужен):



Скриншот наглядно показывает, что происходит при нажатии на ту или иную кнопку. Если нажать на кнопку «другой токен», то будет предложено выбрать библиотеку PKCS#11 для вашего токена. В двух других случаях выдается информация о статусе выбранного токена. Как подключается программный токен говорилось в предыдущей статье. Сегодня нас интересует облачный токен.

Регистрация облачного токена


Переходим на вкладу «Подключение Токенов PKCS#11», находим пункт «Создание облачного токена» и скачиваем приложение LS11CloudToken-A
Читать дальше →
Всего голосов 12: ↑3 и ↓9 -6
Комментарии 17

Инфраструктура Открытых Ключей. Выпуск сертификатов в условиях самоизоляции

Время на прочтение 4 мин
Количество просмотров 5.9K
Информационная безопасность *Графические оболочки *IT-инфраструктура *Разработка под Linux *Разработка под Windows *

Как все начиналось


В самом начале периода самоизоляции мне на почту пришло письмо:



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


Читать дальше →
Всего голосов 13: ↑8 и ↓5 +3
Комментарии 42

Конструктор Lego и объектно-ориентированное программирование в Tcl. Разбор сертификата x509.v3

Время на прочтение 31 мин
Количество просмотров 2.6K
Информационная безопасность *Python *API *ООП *Функциональное программирование *
imageЧасто приходится слышать, что скриптовому языку Tcl не хватает поддержки объектно-ориентированного стиля программирования. Сам я до последнего времени мало прибегал к объектно-ориентированному программированию (ООП), тем более в среде Tcl. Но за Tcl стало обидно. Я решил разобраться. И оказалось, что практически с момента появления Tcl, появилась и возможность объектно-ориентированного программирования в его среде. Всё «неудобство» заключалось в необходимости подключить пакет с поддержкой ООП. А таких пакетом было и есть несколько, как говорится на любой вкус. Это и Incr Tcl, Snit и XoTcl.

Программисты, привыкшие к языку C++, чувствуют себя как дома, программируя в среде Incr Tcl. Это было одним из первых широко используемых расширений для OOП на основе Tcl.

Пакет Snit в основном используется при построении Tk-виджетов, а XoTcl и его преемник nx предназначались для исследования динамического объектно-ориентированного программирования.

Обобщение опыта, полученного при использовании этих систем, позволило внедрить ООП в ядро Tcl начиная с версии 8.6. Так появился TclOO — Tcl Object Oriented.

Сразу отметим, что Tcl не просто поддерживает объектно-ориентированное программирование, а в полном смысле динамическое объектно-ориентированное программирование.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Поддержка токенов PKCS#11 с ГОСТ-криптографией в Python. Часть I

Время на прочтение 26 мин
Количество просмотров 6.2K
Информационная безопасность *Криптография *Python *Графические оболочки *C *
imageПоддержка криптографических токенов PKCS#11 с российской криптографией в скриптовых языках (Python, Tcl) давно находится в моём поле зрения. Это, прежде всего, пакет TclPKCS11 и реализованная на его базе кроссплатформенная утилита cryptoarmpkcs. Утилита cryptoarmpkcs написана на tcl/tk и функционирует на различных платформах, включая Android. Пакет TclPKCS11 версии 1.0.0 заточен на работу именно с токенами, поддерживающими ГОСТ Р 34.11-2012 и ГОСТ Р 34.10-2012. Он позволяет генерировать ключевые пары по ГОСТ Р 34.10-2012 с длиной закрытого ключа 256 и 512 бит, формировать и проверять электронную подпись. Все это можно наглядно видеть в утилите cryptoarmpkcs, в которой в качестве криптодвижка используется именно этот пакет:
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 2
1