Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Безопасность на прикладном уровне: PGP и S/MIME
PGP-пакеты
Сообщение в PGP состоит из одного или более пакетов. В течение эволюции PGP формат и число типов пакета изменились. Подобно другим протоколам, известным до сих пор, PGP имеет типовой заголовок, который применяется к каждому пакету. Типовой заголовок нынешней версии имеет только два поля, как показано на рис. 6.12.
- Метка (тег). Нынешний формат для этого поля определяет метку как флажок на 8 битов; первый бит (самый старший) - всегда 1. Второй бит - 1, если мы используем последнюю версию. Остающиеся шесть бит могут определить до 64 различных типов пакетов, как показано в табл. 6.12.
- Длина. Поле длины определяет длину полного пакета в байтах. Размер этого поля является переменным; он может быть 1, 2 или 5 байтов.
Приемник может определить число байтов поля длины, на основании значения байта, идущего сразу после поля метки.
- Если значение байта после поля метки меньше, чем 192, то поле длины - только один байт. Длина текстового блока (пакет минус заголовок) вычисляется как
длина текстового блока = первый байт
- Если значение байта после поля метки между 192 и 223 (включая крайние значения), то поле длины - два байта. Длина текстового блока может быть вычислена как
длина текстового блока = (первый байт - 192) << 8 + второй байт + 192
- Если значение байта после поля метки между 224 и 254 (включая крайние значения), то поле длины - один байт. Этот тип поля длины определяет только длину части текстового блока (частичная длина текстового блока). Частичная длина текстового блока может быть вычислена как
Длина текстового блока = второй байт <<24 | третий байт << 16| четвертый байт << 8 |пятый байт
Обратите внимание, что формула означает 1 2 (первый байт & 0x1F). Степень - это фактически значение пяти самых правых битов. Поскольку поле - между 224 и 254 включительно значение пяти самых правых битов - между 0 и 30 включительно. Другими словами, частичная длина текстового блока может быть между единицей ( 20 ) и 1 073 741 824 ( 230 ). Когда пакет представлен несколькими частичными текстовыми блоками, применима частичная длина текстового блока. Каждая частичная длина текстового блока определяет одну часть длины. Последнее поле длины не может быть частичной длиной текстового блока созданного сообщения. Например, если пакет имеет четыре части, он может иметь три частичных поля длины и одно поле длины другого типа.
- Если значение байта после поля метки - 255, то поле длины состоит из пяти байтов. Длина текстового блока вычисляется как
Пакет литеральных данных. Пакет буквенных данных переносит или содержит текущие данные, которые передаются или сохраняются. Этот пакет - самый элементарный тип сообщения; то есть, он не может нести никакой другой пакет. Формат пакета показан на рис. 6.13.
Режим. Это однобайтовое поле определяет, как данные написаны в пакете. Значение этого поля может быть "b" для двоичных данных, "t" - для текста, или любое другое значение, определенное для собственных целей.
Длина следующего поля. Это однобайтовое поле определяет длину следующего поля (поля имени файла).
Имя файла. Это поле переменной длины определяет название файла или сообщения в виде строки ASCII.
Метка времени. Это четырехбайтовое поле определяет время создания или последней модификации сообщения. Значение может быть 0 - это означает, что пользователь выбирает опцию "не определять время".
Литеральные данные. Это поле переменной длины, переносящее фактические данные (файл или сообщение) в тексте или двоичном виде (в зависимости от значения поля режима).
Сжатый пакет данных. Этот пакет, переносящий пакеты сжатых данных. рис. 6.14 показывает формат пакет сжатых данных.
- Метка (метод сжатия). Это однобайтовое поле определяет метод сжатия, используемый для сжатия данных (следующее поле). Значения, определенные для этого поля, пока 1 (ZIP) и 2 (ZLIP). Также реализация может применять другие экспериментальные методы сжатия. Метод ZIP обсуждается в приложении М.
- Сжатые данные. Это поле переменной длины переносит данные после сжатия. Обратите внимание, что в этом поле может быть один пакет данных или последовательное соединение двух или более пакетов. Общая ситуация - единственный пакет литеральных данных или комбинация пакета подписи, сопровождаемого пакетом литеральных данных.
Пакет данных, зашифрованных ключом засекречивания. Этот пакет переносит данные от одного пакета или комбинации пакетов, которые были зашифрованы, с использованием обычного алгоритма с симметричными ключами. Обратите внимание, что пакет, несущий одноразовый ключ сеанса, передается перед этим пакетом. рис. 6.15 показывает формат пакета зашифрованных данных.
Пакет подписи.Пакет подписи мы уже обсуждали раньше, когда рассматривали защиту целостности данных. рис. 6.16 показывает формату пакета подписи.
Значение | Подпись |
---|---|
0x00 | Подпись двоичного документа (сообщение или файл) |
0x01 | Подпись текстового документа (сообщение или файл) |
0x10 | Общий сертификат пользовательского ID и пакета открытого ключа. Подписывающее лицо не указывает никаких данных о владельце ключа |
0x11 | Персональный сертификат пользовательского ID и пакет открытого ключа. Не проводится верификация владельца ключа |
0x12 | Случайный сертификат пользовательского ID и пакет открытого ключа. Некоторая случайная верификация владельца ключа |
0x13 | Положительный сертификат пользовательского ID и пакет открытого ключа. Делается существенная верификация |
0x30 | Подпись аннулирования сертификата. Она удаляет более ранний сертификат (от Ox10 до Ox13) |
- Версия. Это однобайтовое поле определяет используемую версию PGP.
- Длина. Это поле сначала было выделено для того, чтобы показать длину следующих двух полей, но теперь размер этих полей установлен, поэтому значение этого поля равно 5.
- Тип подписи. Это однобайтовое поле определяет цель подписи. Оно документирует подпись. табл. 6.13 показывает некоторые типы подписи.
- Метка времени. Это четырехбайтовое поле, которое определяет время, когда подпись была вычислена.
- Ключ ID. Это восьмибайтовое поле определяет ID открытого ключа подписывающего лица. Оно указывает верификатору, какой открытый ключ подписывающего лица должен быть использован, чтобы расшифровать дайджест.
- Алгоритм открытого ключа. Это однобайтовое поле дает код для алгоритма открытого ключа, который применялся для шифрования дайджеста. Верификатор использует тот же самый алгоритм, чтобы расшифровать дайджест.
- Алгоритм хэширования. Это однобайтовое поле дает код для алгоритма хэширования, обычно создает дайджест.
- Первые два байта дайджеста сообщения. Эти два байта используются как своего рода контрольная сумма. Они гарантируют, что приемник использует правильный ключ ID, чтобы расшифровать дайджест.
- Подпись. Это поле переменной длины. Оно содержит зашифрованный дайджест, подписанный передатчиком.
Пакет ключа сеанса, зашифрованный открытым ключом.
Этот пакет используется, чтобы передать ключ сеанса, зашифрованный открытым ключом приемника. Формат пакета показан на рис. 6.17.
- Версия. Это однобайтовое поле определяет используемую версию PGP.
- Ключ ID. Это восьмибайтовое поле определяет ID общедоступного ключа передатчика. Он указывает приемнику, какой общедоступный ключ передатчика должен использоваться, чтобы расшифровать ключ сеанса.
- Алгоритм открытого ключа. Это однобайтовое поле дает код для алгоритма открытого ключа, использованного для шифрования ключа сеанса. Приемник применяет тот же самый алгоритм, чтобы расшифровать ключ сеанса.
- Сеанс шифрования. Это область переменной длины, которая содержит зашифрованное значение ключа сеанса, созданного отправителем и посланного приемнику. Шифрование основано на следующих средствах:
Пакет открытого ключа.Этот пакет содержит общедоступный ключ отправителя. Формат пакета показан на рис. 6.18.
- Версия. Эта однобайтовая область определяет используемую версию PGP.
- Метка времени. Эта четырехбайтовая область определяет время, когда был создан ключ.
- Законность. Эта двухбайтовая область показывает число дней, в продолжении которых ключ является действительным. Если значение равно 0, это означает, что действие ключ не заканчивается.
- Алгоритм открытого ключа. Эта однобайтовая область дает код для алгоритма общедоступного ключа.
- Открытый ключ. Эта область переменной длины содержит общедоступный ключ. Его содержание зависит от алгоритма общедоступного ключа.
Пакет пользовательского ID.Этот пакет идентифицирует пользователя и обычно связывает пользователя и содержание с открытым ключом передатчика. рис. 6.19 показывает формат пакет пользовательского ID. Обратите внимание, что поле длины общего заголовка - только один байт.