Транспортный синтаксис ASN.1 определяет однозначный способ преобразования значений переменных допустимых типов в последовательность байт для передачи по сети. В ASN.1 он называется базовыми правилами кодирования (Basic Encoding Rules, BER). Правила являются рекурсивными, так что кодирование составных объектов представляет собой составление в цепочку закодированных последовательностей составляющих объектов. Протокол ASN.1 описывает структуру данных простым и понятным языком.
Читать полностью »
Рубрика «public key»
Простой 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Не ждем, а готовимся к переходу на новые стандарты криптографической защиты информации
2017-11-02 в 8:15, admin, рубрики: digital security, digital signature, java, open source, public key, public key infrastructure, Блог компании «Альфа-Банк», гост, ГОСТ 34.10-2012, ГОСТ 34.11-2012, информационная безопасность, криптография, криптопро, криптопровайдер, электронная подпись, электронные сертификатыВ информационном мире и Digital-Банке само собой разумеется – Digital Security и Digital Signature.
Криптография позволяет нам защитить информацию от подмены и однозначно установить ее правообладателя посредством усиленной электронной подписи.
Криптография дает возможность закрыть для посторонних глаз информацию конфиденциального характера с помощью шифрования.
Как применять криптографию в соответствии с законодательством и ладу с регуляторами?
Речь пойдет о правовых аспектах и об организационно-технических мероприятиях в рамках официального перехода на национальные стандарты в области криптографической защиты информации ГОСТ Р 34.11-2012 «Функция хэширования» и ГОСТ Р 34.10-2012 «Процессы формирования и проверки электронной цифровой подписи».
Переход осуществляется в средствах электронной подписи, применяемых для информации, не содержащей сведений, составляющих государственную тайну, в случаях, подлежащих регулированию со стороны ФСБ России в соответствии с действующей нормативной правовой базой.
Читать полностью »
Настройка двусторонней RSA и GOST аутентификации в приложении на JBoss EAP 7
2017-10-13 в 11:17, admin, рубрики: authentication, digital security, etoken, gost2001, JaCarta, jacarta гост, java, jboss, jboss eap, mutual authentication, open source, public key, public key infrastructure, rsa, rsa security, TLS, tls 1.0, tls 1.2, аутентификация, Блог компании «Альфа-Банк», информационная безопасность, криптография, криптопро, криптопровайдерБезопасности в современной деловой информационной среде отводится одна из первостепенных ролей. Нужно ли говорить, что в Банке, где большая часть продуктов строится на Digital-технологиях, а на кону доверие, спокойствие и благосостояние клиентов, информационная безопасность ставится в авангард.
В этой статье расскажу, как мы в своей деятельности применяем один из инструментов обеспечения информационной безопасности.
Читать полностью »
Реализация Elliptic curve Menezes-Vanstone cryptosystem на базе OpenSSL API
2017-07-12 в 11:29, admin, рубрики: elliptic curve cryptography, openssl, public key, криптография, Программирование, метки: elliptic curve cryptographyЗдравствуйте, уважаемыее! По мере моего посильного занятия криптографией для своих скромных нужд, в попытках поддержать достойный уровень безопасности данных (я ориентируюсь на уровни, указанные в разделе ecrypt тут) меня начало беспокоить падение производительности при использовании криптоалгоритма RSA.
К сожалению, этот алгоритм оказался единственным в openssl, который допускает шифрование/дешифровку маленьких блоков данных (предполагается по смыслу статьи — ключей для алгоритмов симметричного шифрования) с помощью асимметричных криптоалгоритмов.
Прогулявшись по просторам интернета, удалось выяснить, что:
1. El-Gamal может успешно шифровать/расшифровывать, но эти операции не реализованы в openssl (есть реализация в libgcrypt). В плане быстродействия El-Gamal раза в 3 быстрее RSA
при той-же длине ключа и той-же криптостойкости на 1 бит ключа.
2. Elliptic Curve cryptosystem (ECC) приятно удивили скоростью и криптостойкостью на 1 бит ключа, но операции шифрования/дешифрования на основе ECC не реализованы в openssl.
Реализация ECC шифрования в libgcrypt есть, но очень специфична. Если коротко, то шифруемое сообщение m отображается на точку эллиптической кривой mG, из которой исходное сообщение m не может быть получено иначе, как взломом ECC или перебором всех возможных значений m.
3. В литературе [1] описана Menezes-Vanstone ECC, но есть уведомления о ее «уязвимости» [2]
Разберем этот вопрос подробнее.
Читать полностью »
А ты хто такой? Эволюция протоколов аутентификации MySQL и MariaDB в лицах
2017-03-14 в 14:44, admin, рубрики: Ed25519, mysql, public key, sha1, sha2, информационная безопасность, криптографияВ далекие времена, до фейсбука и гугла, когда 32 мегабайта RAM было дофига как много, security была тоже… немножко наивной. Вирусы выдвигали лоток CD-ROM-а и играли Янки Дудль. Статья «Smashing the stack for fun and profit» уже была задумана, но еще не написана. Все пользовались telnet и ftp, и только особо продвинутые параноики знали про ssh.
Вот примерно в это время, плюс-минус год, родился MySQL и были в нем юзеры, которых надо было не пускать к чужим данным, но пускать к своим.
Michael Widenius (или просто Monty) явно был знаком с параноидальными безопасниками не понаслышке, чего стоит один такой момент (из исходников, global.h
):
/* Paranoid settings. Define I_AM_PARANOID if you are paranoid */
#ifdef I_AM_PARANOID
#define DONT_ALLOW_USER_CHANGE 1
#define DONT_USE_MYSQL_PWD 1
#endif
Так что неудивительно, что пароли в MySQL открытым текстом не передавались никогда. Передавались случайные строки на основе хешей. А конкретно, первый протокол аутентификации (цитируется по mysql-3.20, 1996) работал так:
Читать полностью »
Bitcoin in a nutshell — Cryptography
2017-01-18 в 13:41, admin, рубрики: bitcoin, blockchain, cryptography, ecdsa, private key, public key, python, биллинговые системы, криптография, ПрограммированиеОдна из причин, почему Bitcoin продолжает привлекать столько внимания — это его исключительная «математичность». Сатоши Накамото удалось создать систему, которая способна функционировать при полном отсутствии доверия между ее участниками. Все взаимодействия основаны на строгой математике, никакого человеческого фактора — вот в чем была революционность идеи, а не в одноранговой сети, как многие думают. Поэтому первую главу я решил посвятить именно математическим основам Bitcoin.
Ниже я постараюсь объяснить вам самые базовые вещи — эллиптические кривые, ECC, приватные / публичные ключи и так далее. По возможности я буду иллюстрировать свои слова примерами кода, преимущественно на Python 2.7, если что-то непонятно — спрашивайте в комментариях.