Опубликован: 19.01.2010 | Доступ: свободный | Студентов: 1443 / 200 | Оценка: 4.33 / 4.00 | Длительность: 18:53:00
Лекция 6:

Безопасность на прикладном уровне: PGP и S/MIME

MIME-версия

Этот заголовок определяет версию используемого MIME. Текущая версия имеет номер 1.1.

Version MIME: 1.1

Content-Type

Этот заголовок определяет тип данных, используемых в текстовом блоке сообщения (в "теле" сообщения), и подтип содержания, отделенный наклонной чертой. В зависимости от подтипа заголовок может содержать другие параметры.

Content - Type: <type/ subtype; parameters>

MIME позволяет семь различных типов данных. Они перечислены в табл. 6.14 и ниже описаны более подробно.

  • Текст. Первоначальное сообщение находится в формате ASCII на 7 битов, и преобразование MIME не требуется. Есть два подтипа, в настоящее время используемые: исходное и HTML.
  • Многоэлементный. Текстовый блок содержит множественные независимые части. Многоэлементный заголовок должен определить границу между каждой частью. Для этой цели используется параметр. Параметр - строковый символ, который ставится перед каждой частью, для отдельной линии и с предшествующими двумя дефисами. Текстовый блок использует граничный символ, которому также предшествуют два дефиса.

    Для этого типа определены четыре подтипа: смешанный, параллельный, дайджест и альтернатива.

    В смешанном подтипе части должны быть представлены получателю точно в том же порядке, как и в сообщении.

    Таблица 6.14. Типы и подтипы данных в MIME
    Тип Подтип Описание
    Обычный (Plain) Неформатированный
    HTML Формат HTML ;
    Многоэлементный (Multipart) Смешанный (Mixed) Блок содержит упорядоченные части данных различного типа.
    Параллельный (Parallel) То же самое, что выше, но неупорядоченное.
    Дайджест (Digest) Тот же самый, что смешанный, но по умолчанию тип- Message /RFC822 RFC822.
    Альтернативный (Alternative) Части различных версий одного и того же сообщения.
    Сообщение (Message) RFC822 В блоке инкапсулировано сообщение.
    Частичное (Partial) Блок - это фрагмент другого - большего сообщения.
    Внешний текст (External-Body) Блок - это ссылка на другое сообщение.
    Изображение (Image) JPEG Изображение в формате JPEG .
    GIF Изображение в формате GIF .
    Видео (Video) MPEG Видео в формате MPEG.
    Аудио (Audio) Основное (Basic) Одиночный канал голосового сообщения в полосе 8 КГц.
    Приложение (Application) Язык описание (PostScript) Язык описания - Adobe PostScript.
    Поток октетов (Octet-stream) Обычные двоичные данные (восьми - битовые байты).

    Каждая часть имеет различный тип и определяет границы. Параллельный подтип подобен смешанному подтипу, за исключением того, что порядок следования частей не играет роли. Подтип дайджеста также подобен смешанному подтипу за исключением того, что по умолчанию тип/подтип ( type/subtype ) имеет значение сообщение ( message )/RFC822, как это определено ниже. В альтернативном подтипе то же самое сообщение повторено, используя различные форматы. Далее - пример многоэлементного сообщения, использует смешанный подтип:

    Content-Type: multipart/mixed; boundary=xxxx
    --xxxx
    Content -Type: text/plain;
    --xxxx
    Content -Type: image/gif;
    ...............................
    --xxxx--
  • Сообщение. В типе сообщения содержание - полное самостоятельное сообщение почты, либо часть сообщения почты, либо указатель на сообщение. В настоящее время используются три подтипа ( RFC822, частичные (partial) и внешнее тело (external-body)). Подтип RFC822 применяется, если в содержание включено сообщение, формирующее другое сообщение (включая заголовок и тело). Частичный подтип используется, если первоначальное сообщение было фрагментировано в несколько различных почтовых сообщений и данное сообщение почты - это один из фрагментов. Фрагменты должны быть повторно собраны в пункте назначения MIME. К сообщению добавляются три параметра: ID, номер и общее количество. ID идентифицирует сообщение и присутствует во всех фрагментах. Номер определяет порядок и число фрагментов, которые включает в себя первоначальное сообщение. Ниже приводится пример сообщения с тремя фрагментами:
    Content-Type: message/partial;
    id="forouzan@challenger.atc.flida.edu";
    number=1;
    total=3;
    ............
    ............

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

    Content- Type: message/ external-body; name="report.text";
    site="fhda.edu";
    access-type="ftp";
    ..............
    ...............
  • Изображение. Первоначальное сообщение - неподвижное изображение - указывает на то, что нет никакой мультипликации. В настоящее время используется два подтипа: Объединенная Экспертная группа по фотографии (JPEG - Joint Photographic Expert Group), который позволяет сжать изображение, и Формат Обмена Графическими Файлами (GIF - Graphics Interchange Format).
  • Видео. Первоначальное сообщение - изменяющееся по времени изображение (мультипликация). Единственный подтип - Группа экспертов по движущимся изображениям (MPEG - Moving Picture Experts Group). Если движущееся изображение сопровождается звуковым рядом, его нужно послать отдельно, используя звуковой (audio) заголовок "содержание - тип".
  • Аудио. Первоначальное сообщение является звуковым. Основным является единственный подтип, который использует стандартный аудиоканал на 8 кГц.
  • Приложение. Первоначальное сообщение - тип данных, не определенных предварительно. В настоящее время применяется только два подтипа: PostScript и поток октетов. PostScript (язык описания страниц) используется, когда данные находятся в формате Adobe PostScript. Поток октетов нужен, когда данные должны интерпретироваться как последовательность байтов по 8 битов (двоичный файл).

Content - Transfer - Encoding (Содержание - Передача - Кодирование)

Этот заголовок определяет метод, используемый для кодирования сообщения в виде нулей и единиц для транспортировки через сеть.

Content - Transfer - Encoding: <type>

Пять типов методов шифрования приведены в табл. 6.15.

Таблица 6.15. Content - Transfer - Encoding (Содержание - Передача - Шифрование)
Тип Описание
7 бит NVT ASCII символы и короткие строки
8 бит Символы, не отображаемые в ASCII (Non-ASCII); символы и короткие линейки
Двоичный Символы, не отображаемые в ASCII (Non-ASCII); символы и нелимитированные линейки
Radix-64 6-битовые блоки, зашифрованные по 8 бит, в символы ASCII, использующие преобразование Radix-64 conversion
Ограниченная печатная строка Символы, не отображаемые в ASCII (Non-ASCII) и зашифрованные как эквивалентные знаки кода ASCII
  • 7bit. Это 7 бит, закодированные в NVT ASCII. Хотя никакого специального преобразования здесь не требуется, но необходимо, чтобы длина линейки не превышала 1000 символов.
  • 8bit. Это закодированные по 8 битов символы не-ASCII, которые можно передать по каналу, но длина линейки не должна превышать 1000 символов. MIME в этом случае ничего не кодирует; основной SMTP позволяет передачу 8-битовых символов не-ASCII . Поэтому этот тип не рекомендуется. Предпочтительней применять типы Radix 64 и "приспособленный для печати".
  • Двоичный. Это закодированные по 8 битов символы не-ASCII, которые можно передать по каналу, но разрешается длина линейки более 1000 символов. MIME в этом случае ничего не кодирует; основной протокол SMTP позволяет передачу двоичных данных. Поэтому этот тип не рекомендуется. Предпочтительней применять типы Radix 64 и "ограниченную печатную строку".
  • RADIX 64. Этот тип позволяет передавать данные, состоящие из байтов, когда самый высокий разрядный бит - не обязательно равный нулю. Корень 64 преобразовывает этот тип данных к символам типа "пригодный для печатания", которые можно тогда послать как символы ASCII или любой тип символов, поддерживаемый основными алгоритмами передачи почты.

    RADIX-64 разделяет двоичные (потоки бит) в блоки по 24 бита. Каждый блок затем разделяется на четыре секции, каждая состоит из 6 бит (см. рис. 6.25). Каждая секция на 6 битов интерпретируется как один символ согласно табл. 6.16.

    Преобразование Radix-64

    Рис. 6.25. Преобразование Radix-64
  • Ограниченная печатная строка (Quoted-printable). Radix-64 - избыточная схема кодирования: то есть 24 бита преобразуются в четыре символа и в конечном счете посылаются как 32 бита. Мы имеем избыточность 25 процентов. Если данные состоят главным образом из символов ASCII с небольшой маленькой частью не-ASCII, мы можем использовать кодирование типа Quoted-printable (" ограниченная печатная строка "). Если это символ ASCII, то его посылают без преобразования. Если символ - не ASCII, его посылают как три символа. Первый символ - знак равенства (=). Следующие два символа - шестнадцатеричное представление байта. На рис. 6.26 показан пример.
Ограниченная печатная строка (Quoted printable)

Рис. 6.26. Ограниченная печатная строка (Quoted printable)
Таблица 6.16. Таблица кодирования Radix-64
Значение Код Значение Код Значение Код Значение Код Значение Код Значение Код
0 A 11 L 22 W 33 h 44 S 55 3
1 B 12 M 23 X 34 i 45 t 56 4
2 C 13 N 24 Y 35 J 46 u 57 5
3 D 14 0 25 Z 36 k 47 V 58 6
4 E 15 P 26 a 37 1 48 W 59 7
5 F 16 Q 27 b 38 m 49 x 60 8
6 G 17 R 28 c 39 n 50 y 61 9
7 H 18 S 29 d 40 0 51 Z 62 +
8 I 19 T 30 e 41 P 52 0 63 /
9 J 20 U 31 f 42 q 53 1
10 K 21 V 32 g 43 r 54 2

Content-Id (Содержание-Id)

Этот заголовок уникально идентифицирует целое сообщение среди многих сообщений

Content-Id : id = <content-id> (содержание id)

Content-Description (Содержание-Описание)

Этот заголовок определяет, является ли блок информации неподвижным изображением, аудио или видео.

Content - Description : < описание >
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова