Опубликован: 19.01.2010 | Уровень: специалист | Доступ: платный
Лекция 6:

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

S/MIME

S/MIME добавляет некоторые новые типы заголовков-содержания, чтобы включить службы безопасности в MIME. Все эти новые типы включают параметр "application/pkcsP-mime", в котором "pkcs (Public Key Cryptography Specification)" определяет "Спецификацию криптографии открытого ключа".

Синтаксис криптографического сообщения

Чтобы определять услуги безопасности, такие как конфиденциальность или целостность, можно добавить к типам содержания MIME, S/MIME определитель Криптографический синтаксис сообщения (СМS -Cryptographic Message Syntax). Синтаксис в каждом случае определяет точную схему кодирования каждого типа содержания. Ниже рассматриваются типы сообщения и различные подтипы, которые могут быть созданы из этих сообщений.

Тип содержания данных - произвольная строка. Созданный объект называется Данными.

Signed - Data Content Type (Тип содержания - подписанные данные).Этот тип обеспечивает только целостность данных. Он содержит любой тип и нулевое или большее количество подписей. Кодируемый результат - объект, называемый signedData. рис. 6.27 показывает процесс создания объекта этого типа. В процессе используются следующие шаги:

 Содержание типа "подписанные данные"

увеличить изображение
Рис. 6.27. Содержание типа "подписанные данные"
  1. Для каждого подписывающего лица дайджест сообщения создает заголовок-содержание, используя заданный алгоритм хэширования, который выбирается некоторым подписывающим лицом.
  2. Каждый дайджест сообщения подписывается секретным ключом подписывающего лица.
  3. Содержание, значения подписи и сертификата, а также алгоритмы затем собираются для создания объекта signedData.

Enveloped - Data Content Type (Тип содержания - конверт данных).Этот тип используется, чтобы обеспечить секретность сообщения. Он содержит любой тип от нуля и далее зашифрованных ключей и сертификатов. Кодируемый результат - объект, называемый envelopedData. рис. 6.28 показывает процесс создания объекта этого типа.

Содержание типа "конверт данных"

увеличить изображение
Рис. 6.28. Содержание типа "конверт данных"
  1. Создается псевдослучайный ключ сеанса для алгоритмов с симметричными ключами.
  2. Для каждого получателя копия ключа сеанса зашифрована с открытым ключом каждого получателя.
  3. Содержание зашифровано, используя определенный алгоритм и созданный ключ сеанса.
  4. Зашифрованное содержание, зашифрованный ключ сеанса. Использованный алгоритм и сертификаты кодируются с использованием RADIX-64.

Digest-Data Content Type ( Содержание типа "дайджест данных" ).Этот тип используется, чтобы обеспечить целостность сообщения. Результат обычно используется как содержание типа "конверт данных". Кодируемый результат - объект, называемый digestedDate. рис. 6.29 показывает процесс создания объекта этого типа.

Содержание типа дайджест данных

увеличить изображение
Рис. 6.29. Содержание типа дайджест данных
  1. Дайджест сообщения вычислен на основании содержания.
  2. Дайджест сообщения, алгоритм и содержание добавляются вместе, чтобы создать digestData.

Encrypted-Data Content Type (Тип содержания "зашифрованные данные").Этот тип используется, чтобы создать зашифрованную версию содержания любого типа. Хотя он похож на тип содержания "конверт данных", но не имеет информации о получателе. Он может использоваться, чтобы хранить зашифрованные данные, вместо того, чтобы передавать их. Процесс очень прост: пользователь использует любой ключ (нормально, исходя из пароля) и любой алгоритм, чтобы зашифровать содержание. Зашифрованное содержание сохраняется без записи ключа или алгоритма. Созданный объект называется encryptedData.

Authenticated-Data Content Type (Тип содержания - подтверждение подлинности данных). Этот тип используется, чтобы обеспечить установление подлинности данных. Объект называется authenticatedData. Рис. 6.30 показывает процесс.

Содержание типа "подтверждение подлинности"

увеличить изображение
Рис. 6.30. Содержание типа "подтверждение подлинности"
  1. С применением псевдослучайного генератора для каждого получателя генерируется ключ кода, подтверждающий подлинность сообщения (MAC - Message Authentication Code).
  2. Ключ кода, подтверждающего подлинность сообщения, зашифрован открытым ключом получателя.
  3. Код, подтверждающий подлинность сообщения, создан для содержания.
  4. Содержание, код, подтверждающий подлинность сообщения, алгоритм и другие данные собраны вместе в формате объекта с именем authenticatedData.

Управление ключами

Управление ключами в S/MIME - это комбинация управления ключами, используемого в X.509 и PGP. S/MIME использует сертификат открытого ключа, который подписан удостоверяющей администрацией, определенной X.509. Однако пользователь несет ответственность по поддержке сети доверия для проверки подписи, как это определено PGP.

Криптографические алгоритмы

S/MIME определяет несколько криптографических алгоритмов, как это показано в табл. 6.17. Термин "должен" означает абсолютное требование; термин "может" означает рекомендацию.

Таблица 6.17. Криптографические алгоритмы для S/MIME
Алгоритм Передатчик должен поддерживать Приемник должен поддерживать Передатчик может поддерживать Приемник может поддерживать
Алгоритм зашифрованного содержания Triple DES Triple DES l. AES 2. RC2/40
Алгоритм шифрования ключа сеанса RSA RSA Diffie-Hellman (Диффи-Хеллман) Diffie-Hellman (Диффи-Хеллман)
Хэш-алгоритм SHA-1 SHA-1 MD5
Алгоритм шифрования дайджеста DSS DSS RSA RSA
Алгоритм определения подлинности HMAC с SHA-1

Ниже показан пример конверта данных, в котором маленькое сообщение зашифровано с использованием трехкратного DES.

Content-Type: application/pkcs7-imme; mime-type==enveloped-data 
Content-Transfer-Encoding: Radix-64 
Content-Description: attachment 
Name= "report.txt";
cb32ut67f4bhijHU21oi87eryb0287hmnklsgFDoY8bc659GhIGfH6543mhjkdsaH23YjBnmN 
ybmlkzjhgfdyhGe23Kjk34XiuD678Esl6se09jy76jHuytTMDcbnmlkjgfFdiuyu67.S543mOn3ti 
G34un12P2454Hoi87e2rybOH2MjN6KuyrlsgFDoY897fk923jljk1301 XiuD6gh78EsUyT23y

Приложения S/MIME

Предполагается, что S/MIME будет выбран промышленностью для обеспечения безопасности коммерческой электронной почты.

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Наталья Шульга
Наталья Шульга

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

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

алексей оглы
алексей оглы
Россия
рафич Салахиев
рафич Салахиев
Россия