Pull to refresh
224
0.1
Алексей @NeverWalkAloner

Пользователь

Send message
Про «новые» погорячился я конечно.
Про смысл фичи тут много вариантов. Вот vittore а своем комментарии приводит достаточно правдоподобное объяснение.
Да как то забавно выглядело согласен. Чуть чуть откоректировал заголовок. Стало еще «желтее»:)
А до версии 2.3 они об этом значит не заботились?
В любом случае, пост не об этом, а о самом протоколе SSL и одной из его множества уязвимостей.
По идеи, при добавлении хэш-функции к тому же самому Вихрю Мерсенна получится криптостойкий ГПСЧ. Скорость думаю будет повыше чем у блочного шифра, все таки хэш функции гораздо быстрее.
Просто для меня такое решение имеет один минус. Возможно, это весьма субъективно, но все же. Используя сразу два инструмента: ГПСЧ и хэш-функцию мы усложняем всю схему. Соответственно больше шансов на ошибку, меньше шансов учесть все возможные угрозы. Поэтому я как то в этом плане консервативен, чем проще тем лучше. Для меня BBS вообще идеальный генератор, с которым никакая fortuna не сравнится:)
В целом идею поддерживаю. Хотя мне тоже кажется, что лучше сделать плашку «новость» и дать возможность автору самому выбирать тип публикации.
Кстати, есть ведь еще тип топика «туториал». Можно такие топики тоже каким-нибудь образом поощрять.
Целый комплекс алгоритмов, предназначенный для создания криптографически стойкого ГПСЧ. Разработан Брюсом Шнайером и Нилом Фергюссоном. Хорошее описание есть в их совместной книге «Практическая криптография».
Для сдвигового регистра это ничего не изменит, т.к. он и так возвращает только один бит. Для Вихря Мерсенна вариант на первый взгляд выглядит интересным, но опять таки потеря скорости колосальная.
Сам генератор там вроде несложный. Похож на CTR, только вместо блочного шифра, хэш функции используются. А вот функции сбора и хранения энтропии это да. Тема для отдельного топика.
А вообще соберись уже) Очень интересно про него будет подробности почитать.
Круто!
Добавлю в пост, если вы не против.
Понятно.
Спасибо большое за уточнения и разъяснения.
Странно. Какими средствами пользуетесь? Только что проверил в браузере, выгрузил DER сертификат и PEM. Конвертнул DER в base64, все совпало. Но я на этом не успокоился и из хранилища сертификатов windows выгрузил DER сертификат в base64, тоже самое значение получилось.
Ну что касается PEM, тот тут все просто объясняется. Это действительно обычный DER сертификат в base64 кодировке.:)
Что касается использования, могу предположить, что PEM вероятно применяется в электронной почте, т.к. DER сертификат содержит бинарные данные и его нельзя отправить в теле письма.
А вот второй формат выгрузки действительно любопытен. Не встречался с такой формой записи.
Неплохо бы обзорную статью о всяких видах и целях тех или иных ключей.

Не уловил о чем вы. Вы имеете в виду назначение сертификата? Например: шифрование файлов или электронная почта. Или вы о чем то другом?
Я так понял есть еще некий вариант CER. Не могли бы вы пояснить что это такое и чем он отличается от der?
Не видел этот документ. Спасибо за ссылку. Добавил в пост.
Здравствуйте.
По первому пункту по-моему вы не совсем правы, если я вас правильно понял. То что отпечаток может вычисляться не только с помощью SHA-1 это вы верно подметили. А вот, то что алгоритм отпечатся можно задать при генерации этого я нигде не нашел. Насколько понял проверяющая программа сама выбирает хеш-функцию, а так как стандарт по умолчанию долгие годы был SHA-1, во многих реализациях используется именно эта функция.

А вот по второму пункту тут я с вами целиком согласен. Действительно, если сгенерировать сертификат 2-го уровня и не указать в нем дополнительные сведения об издателе сертификат все-равно найдет правильного издателя по наименованию. Я внес небольшие поправки в пост, чтобы не вводить читателей в заблуждение.
Я просто хотел немного вас дополнить и сказать, что такого рода поля, содержащие, например, сведения об издателеи называются расширениями. И возможность добавлять расширения доступна только для сертификатов версии 3.
Знаю, читал. Очень помогла кстати. Спасибо.
Теперь про ваш вопрос, или это не вопрос?) Я бы не стал называть это громким словом «статья», обычный пост в блоге. Было интересно поковырять собственноручно сгенерированный сертификат, нашел пару прикольных вещей, описал процесс в коллективном блоге.
Кому-то это покажется поверхностным, а кому-то (таким людям типа меня, которым было просто любопытно узнать что же это за зверь такой x.509) поможет удовлетворить любопытство.
Конечно, есть еще очень много всего, что в топик просто не уместилось. Если кому-то станут интересны подробности постараюсь ответить в комментариях. А не получится у меня, помогут умные люди типа вас, за это мы хабр и любим.)
Смотрите, вот наш сертификат целиком:
Сертификат
SEQUENCE(3 elem)
    <TBS>SEQUENCE(7 elem)
        [0](1 elem)
            INTEGER 2
        INTEGER 1
        SEQUENCE(2 elem)
            OBJECT IDENTIFIER 1.2.840.113549.1.1.5
            NULL
        SEQUENCE(1 elem)
            SET(1 elem)
                SEQUENCE(2 elem)
                    OBJECT IDENTIFIER 2.5.4.3
                    UTF8String CA
        SEQUENCE(2 elem)
            UTCTime 13-09-15 15:35:02 UTC
            GeneralizedTime 2113-09-22 15:35:02 UTC
        SEQUENCE(1 elem)
            SET(1 elem)
                SEQUENCE(2 elem)
                    OBJECT IDENTIFIER 2.5.4.3
                    UTF8String CA
        SEQUENCE(2 elem)
            SEQUENCE(2 elem)
                OBJECT IDENTIFIER 1.2.840.113549.1.1.1
                NULL
            BIT STRING(1 elem)
                SEQUENCE(2 elem)
                    INTEGER 00: 8D 80 B5 8E 80 8E 94 D1 04 03 6A 45 1A 54 5E 7E
                                EE 6D 0C CB 0B 82 03 F1 7D C9 6F ED 52 02 B2 08
                                C3 48 D1 24 70 C3 50 C2 1C 40 BC B5 9D F8 E8 A8
                                41 16 7B 0B 34 1F 27 8D 32 2D 38 BA 18 A5 31 A9
                                E3 15 20 3D E4 0A DC D8 CD 42 B0 E3 66 53 85 21
                                7C 90 13 E9 F9 C9 26 5A F3 FF 8C A8 92 25 CD 23
                                08 69 F4 A2 F8 7B BF CD 45 E8 19 33 F1 AA E0 2B
                                92 31 22 34 60 27 2E D7 56 04 8B 1B 59 64 77 5F
                    INTEGER 65537</TBS>
        SEQUENCE(2 elem)
            OBJECT IDENTIFIER 1.2.840.113549.1.1.5
            NULL
    BIT STRING 00: 0A 1C ED 77 F4 79 D5 EC 73 51 32 25 09 61 F7 00
                   C4 64 74 29 86 5B 67 F2 3D A9 39 34 6B 3C A9 92
                   B8 BF 07 13 0B A0 9B DF 41 E2 8A F6 D3 17 53 E1
                   BA 7F C0 D0 BC 10 B7 9B 63 4F 06 D0 7B AC C6 FB
                   CE 95 F7 8A 72 AA 10 EA B0 D1 6D 74 69 5E 20 68
                   5D 1A 66 28 C5 59 33 43 DB EE DA 00 80 99 5E DD
                   17 AC 43 36 1E D0 5B 06 0F 8C 6C 82 D3 BB 3E 2B
                   A5 F1 94 FB 53 7B B0 54 22 6F F6 4C 18 1B 72 1C


Отступы в тексте описывают уровень вложения, т.е. SEQUENCE(3 elem) первый уровень вложения, все элементы сертификата входят в этот блок.
SEQUENCE(7 elem) — второй уровень вложения, и т.д.
Собственно элементы этого самого SEQUENCE(7 elem) и будут входить в TSB-сертификат. В блоке <source> тэги не работают, выделил часть TBS-сертификата «тэгом» <TBS>.
Спасибо за перевод. Очень правильная и главное мотивирующая мысль.
Как то мимо меня прошли переводы предыдущих глав, пойду наверстывать упущенное.
Всех с наступившим/наступающим праздником!

Information

Rating
3,098-th
Registered
Activity

Specialization

Backend Developer
Senior
Python
Docker
PostgreSQL
Git
OOP
English
Django
RabbitMQ
Fastapi
asyncio