Рубрика «asn.1»
Как мы теряли игроков из-за того, что они платили за игру
2022-05-02 в 10:54, admin, рубрики: asn.1, C#, in-app purchases, unity, unity iap, баги, отладка, парсинг, разработка игр
Представьте, каково это — найти серьёзный баг в продакшене сразу после выпуска игры. Представьте, что этот баг вредит только платным пользователям. Представьте, что игра зависает сразу после того, как игроки завершают внутриигровую покупку. Представьте, что когда игрок перезапускает игру, она зависает при запуске. Представьте, что игроку так и не удаётся запустить игру и приходится её удалять. Представьте, что ваше приложение в этот момент находится в рекомендованных Apple Store. Эта статья — рассказ о таком баге, худшем из всех, что я видел за тридцать лет программирования. Это история о том, как мы его выявили и совместно с разработчиками Unity работали над его устранением.
Читать полностью »
Кратко о форматах TLV, BER, CER, DER, PER
2022-04-10 в 10:59, admin, рубрики: asn.1, data formats, der, encoding/decoding, IT-стандарты, Smart Card, smart cards, TLV, информационная безопасность, сотовая связьЯ хотел бы рассказать о форматах данных, распространенных в ИТ-индустрии, в том числе в области инфраструктур открытых ключей (ИОК), смарт-картах, включая документы нового поколения на базе смарт-карт, в мобильной связи. Хотя рассматриваемые форматы и связаны с ASN.1, но некоторые из них ушли далеко за пределы этой области. О некоторых из них многие знают, но не все знают настолько, чтобы, допустим, уметь отличать BER от DER, а некоторые варианты типа PER вообще являются экзотикой.
PyDERASN: как я добавил big-data поддержку
2020-04-19 в 17:00, admin, рубрики: asn.1, python, библиотека, информационная безопасность, ПрограммированиеПродолжаю прошлую статью о PyDERASN — свободном ASN.1 DER/CER/BER кодеке на Python. За прошедший год, с момента её написания, кроме всяких мелочей, небольших исправлений, ещё более строгой проверки данных (хотя и прежде он был уже самым строгим из известных мне свободных кодеков), в этой библиотеке появился функционал для работы с большими объёмами данных — не влезающих в оперативную память. Об этом и хочу рассказать в данной статье.
GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией
2019-05-16 в 15:30, admin, рубрики: asn.1, asyncio, IM, pyderasn, pygost, python, suckless, децентрализованные сети, информационная безопасность, криптография, ПрограммированиеБудучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() вызова у блочного шифра будет достаточно для безопасной отсылки по каналу связи. Другие же считают, что прикладная криптография — удел немногих, и приемлемо, что богатые компании типа Telegram с олимпиадниками-математиками не могут реализовать безопасный протокол.
Всё это побудило меня написать данную статью, чтобы показать, что реализация криптографических протоколов и безопасного IM-а не такая сложная задача. Однако, изобретать собственные протоколы аутентификации и согласования ключей не стоит.
В статье будет написан peer-to-peer, friend-to-friend, end-to-end зашифрованный instant messenger с SIGMA-I протоколом аутентификации и согласования ключей (на базе которого реализован IPsec IKE), используя исключительно ГОСТовые криптографические алгоритмы PyGOST библиотеки и ASN.1 кодирование сообщений библиотекой PyDERASN (про которую я уже писал раньше). Необходимое условие: он должен быть настолько прост, чтобы его можно было написать с нуля за один вечер (или рабочий день), иначе это уже не простая программа. В ней наверняка есть ошибки, излишние сложности, недочёты, плюс это моя первая программа с использованием asyncio библиотеки.
Читать полностью »
Простой ASN1-кодек на базе sprintf
2019-03-31 в 18:37, admin, рубрики: asn.1, C, CRL, csr, IT-стандарты, PKCS#10, PKCS#11, PKCS#7, public key, x509 v3, криптография, Программирование, Разработка под LinuxТранспортный синтаксис ASN.1 определяет однозначный способ преобразования значений переменных допустимых типов в последовательность байт для передачи по сети. В ASN.1 он называется базовыми правилами кодирования (Basic Encoding Rules, BER). Правила являются рекурсивными, так что кодирование составных объектов представляет собой составление в цепочку закодированных последовательностей составляющих объектов. Протокол ASN.1 описывает структуру данных простым и понятным языком.
Читать полностью »
PyDERASN: как я написал ASN.1 библиотеку с slots and blobs
2019-03-18 в 15:15, admin, рубрики: asn.1, python, библиотека, информационная безопасность, ПрограммированиеASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распространён в нашей обычной жизни, и с ним многие сталкиваются: в сотовой, телефонной, VoIP связи (UMTS, LTE, WiMAX, SS7, H.323), в сетевых протоколах (LDAP, SNMP, Kerberos), во всём, что касается криптографии (X.509, CMS, PKCS-стандарты), в банковских картах и биометрических паспортах, и много где ещё.
В этой статье рассматривается PyDERASN: Python ASN.1 библиотека активно применяющаяся в проектах связанных с криптографией в Атласе.
Англоязычная кроссплатформенная утилита для просмотра российских квалифицированных сертификатов x509
2019-02-18 в 14:25, admin, рубрики: asn.1, certificate, IT-стандарты, python, signature, x509 v3, ГОСТ 34.10-2012, ГОСТ 34.11-2012, криптография, Разработка под Linux, Разработка под MacOS Сегодня использование цифровых сертификатов X509 v.3 стало обыденным делом. Все больше людей используют их для доступа на сайт Госуслуги, ФНС, электронные торги и т.д. И все больше людей хотят знать что же находится в этом «сундуке» под названием сертификат. И если сертификат является аналогом паспорта, то как его можно прочитать/просмотреть. Да, в операционных системах присутствуют различные утилиты для просмотра. Но рядовому гражданину они мало что дадут. Возьмем для примера утилиту gcr-viewer, которая по сути является стандартным средством для просмотра в Linux-системах, а значит и в отечественных ОС:
Читать полностью »
Инфраструктура открытых ключей. Цепочка корневых сертификатов X509 v.3
2019-01-16 в 17:05, admin, рубрики: asn.1, base64, certificate, ocsp, python, tcl/tk, x509, информационная безопасность, Оболочки, удостоверяющий центр
Неумолимо приближается час «Ч»: «использование схемы подписи ГОСТ Р 34.10-2001 для формирования подписи после 31 декабря 2018 года не допускается!».