АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Система S/MIME

Читайте также:
  1. A) прогрессивная система налогообложения.
  2. C) Систематическими
  3. ERP и CRM система OpenERP
  4. I Понятие об информационных системах
  5. I СИСТЕМА, ИСТОЧНИКИ, ИСТОРИЧЕСКАЯ ТРАДИЦИЯ РИМСКОГО ПРАВА
  6. I. ОСНОВНЫЕ ТРЕБОВАНИЯ К СИСТЕМАМ ЭЛЕКТРОСНАБЖЕНИЯ
  7. I. Суспільство як соціальна система.
  8. I.2. Система римского права
  9. II. Органы и системы эмбриона: нервная система и сердце
  10. III. Органы и системы эмбриона: пищеварительная система
  11. NDS і файлова система
  12. SCАDA-системы: основные блоки. Архивирование в SCADA-системах. Архитектура системы архивирования.

Система S/MIME (Secure/Multipurpose Internet Mail Extension – защищённые многоцелевые расширения электронной почты) является усовершенствованием с точки зрения защиты стандарта формата MIME электронной почты в Internet, базирующимся на использовании технологии RSA Data Security.Существуют основания полагать, что S/MIME станет стандартом коммерческого и промышленного использования, в то время как PGP останется альтернативой для защиты личной электронной почты большинства индивидуальных пользователей[22].

Secure MIME (S/MIME) - решение безопасности, реализованное в большинстве современных почтовых программ, которое поможет сохранить конфиденциальность, целостность почтовых сообщений и проверить подлинность данных. S/MIME обеспечивает сквозную защиту - не только в процессе пересылки сообщений, но и при хранении в базе данных почтового сервера.

До появления S/MIME администраторы использовали для передачи сообщений электронной почты широко применявшийся протокол SMTP, изначально обладавший меньшим уровнем защищенности. Кроме этого, администраторы применяли более безопасные, но самостоятельно разработанные и, следовательно, специфичные решения. В сущности, перед ними стоял выбор между безопасностью и совместимостью. С появлением стандарта S/MIME администраторы получили альтернативу, обеспечивающую более высокий уровень безопасности, чем протокол SMTP, а также широкую совместимость и безопасность обмена сообщениями электронной почты.

Стандарт S/MIME включает в себя две службы безопасности:

· цифровые подписи;

· шифрование сообщений.

Эти две службы являются главными компонентами системы безопасности, основанной на стандарте S/MIME. Все остальные понятия, относящиеся к защите сообщений, предназначены для поддержки этих двух служб. Несмотря на то, что вся система защиты сообщений может показаться сложной для понимания, две указанные службы являются основой обеспечения безопасности сообщений.

Цифровые подписи и шифрование сообщений не являются взаимоисключающими службами. Каждая из них направлена на решение определенных задач обеспечения безопасности. Цифровые подписи предназначены для решения задач проверки подлинности и предотвращения отказа от авторства, а шифрование сообщений направлено на обеспечение конфиденциальности. Поскольку каждая из этих служб выполняет только свою задачу, стратегия защиты сообщений требует работы обеих служб, причем зачастую одновременно. Обе службы разработаны с учетом возможности их совместного использования, так как каждая в отдельности обслуживает одну из сторон взаимоотношений отправителя и получателя. Служба цифровых подписей занимается вопросами безопасности, относящимися к отправителям, а служба шифрования — вопросами, связанными с получателями[23].

При совместном использовании цифровых подписей и шифрования сотрудники предприятия извлекают пользу их обеих служб. При совместном применении ни одна из них не влияет на использование и работу другой.

Цифровые подписи

Служба цифровых подписей является более широко используемой службой S/MIME. Как следует из названия, цифровые подписи являются электронным аналогом традиционных подписей на печатных документах, имеющих законную силу. Как и подписи на печатных документах, цифровые подписи обеспечивают следующие возможности защиты:

1) Проверка подлинности Подпись служит для подтверждения личности. Служба проверяет ответ на вопрос «Кто вы?» с помощью средств проверки личности, а также путем получения подтверждения из надежного с точки зрения обеих сторон источника. Поскольку протокол SMTP не поддерживает проверку подлинности, он не дает возможности определить реального отправителя сообщения. Проверка подлинности с помощью цифровой подписи помогает в решении данной проблемы, предоставляя получателю возможность определить, действительно ли сообщение отправлено указанным в нем адресатом.

2) Невозможность отказа от авторства Уникальность подписи помогает доказать ее принадлежность при отказе владельца от своей подписи. Эта функция называется невозможностью отказа от авторства. Таким образом проверка подлинности, которую обеспечивает подпись, является средством реализации невозможности отказа от авторства. Понятие невозможности отказа от авторства наиболее часто используется в контексте договоров на бумажных носителях. Подписанный договор является документом, налагающим ответственность по закону. При этом отказаться от подтвержденной подписи очень трудно. Цифровые подписи служат той же цели и в некоторых областях все чаще принимают на себя функции подписей на бумаге, налагая ответственность по закону. Поскольку протокол SMTP не обеспечивает проверку подлинности, он не может предоставить функции невозможности отказа от авторства. Для отправителя не представляет сложности отказаться от авторства сообщения электронной почты, переданного по протоколу SMTP.

3) Целостность данных Дополнительной функцией защиты, которую обеспечивает служба цифровых подписей, является целостность данных. Проверка целостности данных становится возможной благодаря специальным операциям, необходимым для использования цифровых подписей. При использовании служб сохранения целостности данных получатель сообщения с цифровой подписью проверяет подлинность подписи и при этом удостоверяется, что получено действительно исходное сообщение, и оно не было изменено после его подписания и отправки. Любое изменение, внесенное при передаче сообщения после его подписания, делает подпись недействительной. Таким образом цифровые подписи дают гарантии, которые не могут дать подписи на бумаге, так как документ на бумажном носителе можно изменить после его подписания.

Шифрование сообщений

Шифрование сообщений — это решение, обеспечивающее неразглашение информации. Службы электронной почты в Интернете на основе протокола SMTP не обеспечивают безопасность сообщений. Сообщение электронной почты, отправленное через Интернет по протоколу SMTP, может прочитать любой человек, обнаруживший его при передаче или в месте его хранения. Стандарт S/MIME помогает в решении этих проблем при помощи шифрования.

Шифрование — это метод, при помощи которого данные изменяются таким образом, что их невозможно прочитать и понять, если не вернуть их в доступную для восприятия исходную форму[24].

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

· Конфиденциальность. Шифрование сообщений помогает защитить содержимое сообщения электронной почты. Просматривать содержимое может только предполагаемый получатель, при этом содержимое остается конфиденциальным и недоступным для любого другого лица, имеющего возможность получить или просмотреть сообщение. Шифрование обеспечивает конфиденциальность сообщения при его передаче и хранении

· Целостность данных. Как и цифровые подписи, шифрование сообщений обеспечивает проверку целостности данных благодаря специальным операциям, делающим шифрование возможным.

Требования S/MIME

Для обеспечения конфиденциальности электронной почты требуется наличие в рабочей среде особых компонентов. Перечислены эти компоненты.

1) Инфраструктура открытых ключей (PKI)

Инфраструктура PKI необходима решениям S/MIME, чтобы предоставлять цифровым сертификатам пары открытых или частных ключей и сопоставлять сертификаты в службе Active Directory®. Согласно стандарту S/MIME цифровые сертификаты, использующиеся в S/MIME, соответствуют стандарту X.509 Международного Союза Телекоммуникаций (ITU). Согласно версии 3 стандарта S/MIME цифровые сертификаты должны соответствовать версии 3 стандарта X.509. Поскольку S/MIME основан на установленном общепринятом стандарте структуры цифровых сертификатов, стандарт S/MIME строится на его основе и способствует его признанию.

Инфраструктуру PKI для поддержки стандарта S/MIME можно реализовать одним из следующих двух способов: путем предоставления внешней организации инфраструктуры внутреннего сертификата либо путем использования служб сертификации в составе операционной системы Microsoft Windows Server™ 2003

Инфраструктура открытых ключей должна иметь механизм отзыва сертификата. Отзыв сертификата необходим при истечении срока действия сертификата или при возможном нарушении безопасности сертификата злоумышленником. Отзывая сертификат, администратор запрещает доступ любым пользователям, работающим с этим сертификатом. Каждый сертификат содержит данные о местоположении списка аннулированных сертификатов (CRL).

2) Шаблоны сертификатов

Система Windows Server 2003 предоставляет определенные шаблоны сертификатов, чтобы выпускать цифровые сертификаты для использования со стандартом S/MIME. Для выдачи сертификатов безопасного обмена сообщениями электронной почты можно использовать три многофункциональных шаблона сертификатов.

· Администратор. Позволяет администратору использовать сертификат для авторизации, шифрования в файловой системе EFS, безопасного обмена сообщениями электронной почты и подписывания списка надежных сертификатов.

· Пользователь. Позволяет пользователю применять сертификат для авторизации, шифрования EFS и безопасного обмена сообщениями электронной почты.

· Пользователь смарт-карты. Позволяет пользователю входить в систему при помощи смарт-карты и подписывать сообщения электронной почты. Кроме того, этот сертификат обеспечивает проверку подлинности клиента.

3) Active Directory

Служба Active Directory является ключевым компонентом для реализации сертификатов S/MIME. Для развертывания сертификатов пользователям с целью использования в службах электронной почты администратор может использовать такую функцию групповой политики, как автоматическая подача заявок на сертификаты. Кроме того, служба Active Directory в составе Windows Server 2003 включает в себя встроенную поддержку для нескольких клиентов электронной почты корпорации Майкрософт, в том числе приложений Microsoft Outlook и Outlook Express, а также веб-клиента Outlook (OWA) с S/MIME, в качестве каталога PKI и возможность отображать учетные записи пользователей в сертификаты[25]

4) Exchange Server 2003

Обеспечивая поддержку ряду клиентов электронной почты, администраторы сервера Exchange Server 2003 могут настраивать развертывание клиентов для соответствия конкретным условиям. Поддержка сервером Exchange Server 2003 стандарта S/MIME для клиентов сходна с общей поддержкой клиентов в том аспекте, что пользователь может одновременно работать с любыми клиентами. Таким образом, основанное на S/MIME решение в составе сервера Exchange Server 2003 может поддерживать клиенты Microsoft Outlook, клиенты OWA и клиенты Outlook Express одновременно, используя протокол POP3. Между тем, поскольку клиент электронной почты должен поддерживать S/MIME версии 3 и поддерживаться сервером Exchange Server, не все клиенты могут являться клиентами S/MIME.

Поддержка стандарта S/MIME также обеспечивается серверами Exchange Server 2000 и Exchange Server 2007.

Клиенты электронной почты

Сервер Exchange Server 2003 поддерживает клиентов S/MIME посредством существующей поддержки протоколов клиентов. Если поддерживаемый клиент также обеспечивает поддержку S/MIME, то такой клиент можно использовать совместно с сервером Exchange Server 2003. Если клиент не поддерживает версию 3 стандарта S/MIME, то такой клиент, тем не менее, можно использовать для прочтения четко подписанных сообщений.

1) Microsoft Outlook 2003

Приложение Microsoft Outlook поддерживает соединение с сервером Exchange Server 2003 через интерфейс MAPI. Кроме того, клиент Outlook может подключаться к серверу посредством протоколов POP3 и IMAP4. Сервер Exchange Server 2003 S/MIME можно использовать с любой версией Outlook, поддерживающей цифровые сертификаты стандарта X.509 (версия 3). Полная поддержка приложением Outlook сертификатов стандарта X.509 (версии 3) была впервые введена в Outlook 2000 с набором исправлений 1 (SR-1).

2) Клиенты POP3 и IMAP4

Если клиент электронной почты поддерживает версию 2 или 3 стандарта S/MIME, то сервер Exchange Server 2003 обеспечивает полную поддержку клиентов S/MIME с помощью стандартных протоколов POP3 и IMAP4. Любой клиент с поддержкой версии 2 или 3 стандарта S/MIME и поддержкой протокола POP3 или IMAP4 может использоваться в качестве клиента электронной почты в системе защиты сообщений в составе сервера Exchange Server 2003. Поскольку любой клиент с поддержкой стандарта S/MIME обеспечивает полную поддержку всех служб защиты сообщений, такие клиенты могут использоваться в качестве полноценных клиентов электронной почты. Майкрософт обеспечивает поддержку версии 3 стандарта S/MIME в клиентах POP3 и IMAP4 в Outlook Express версии 5.5 и выше и Outlook 2000 с набором исправлений SR-1a или более поздней версии[26].

Препятствия при практическом использовании S/MIME

· Не все приложения электронной почты могут обрабатывать S/MIME, что приводит к письмам с приложенным файлом «smime.p7m», что может привести к недоразумению.

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

Многие различают закрытые ключи для расшифровки и для цифровой подписи. Тех, кто готов предоставить некоторому агенту первый гораздо больше, чем тех, кто готов предоставить второй. Если необходимо безопасное подтверждение авторства (как и обеспечение отсутствия ложного подтверждения), то второй ключ должен быть под строгим контролем владельца, и только его, в течение всего цикла его жизни, от создания, до уничтожения.

· S/MIME специально предназначено для обеспечения безопасности на пути от отправителя до получателя. Вредоносное ПО, попавшее письмо, без препятствий дойдет до получателя, так как нет средств обнаружить его в этом промежутке. Следовательно, необходимо обеспечивать безопасность на оконечном устройстве.

Стоимость S/MIME

Основное отличие S/MIME от PGP в том, что здесь понятие «сеть доверия» несколько сужено. Хотя пользователь должен, как и в PGP, иметь два ключа (приватный и публичный), метод получения их несколько иной. Ключи получают вместе с так называемым сертификатом, то есть некой информацией о пользователе, позволяющей определить, что он - тот, за кого себя выдает. Пользуясь аналогией, можно сказать, что сертификат - нечто вроде паспорта, удостоверения личности в цифровом мире. Сертификат содержит в себе открытый ключ пользователя как одно из полей (наряду с его именем, почтовым адресом и т.д.), и для его получения необходимо обратиться в какой-либо центр сертификации, публичный (оказывающий услуги сертификации в Итернете) или корпоративный.

Существует множество центров сертификации, в которых можно получить за деньги (евро или доллары) сертификат работы с электронной почтой (стандартного формата Х.509). Самым известным центром сертификации является, видимо, Verisign. Однако совсем не обязательно пользоваться услугами именно этой компании. Также существует еще центр GlobalSign, созданный для выдачи сертификатов жителям Западной Европы. Поскольку для получения сертификата необходимо предоставить центру копию удостоверения личности (например, отправить экспресс-почтой), это обстоятельство может иметь немаловажное значение. Годовой сертификат для электронной почты стоит здесь 16 евро.

3.2 Протоколы SSL и TLS

 

SSL (англ. Secure Sockets Layer — протокол защищённых сокетов) - криптографический протокол был разработан в 1996 году компанией Netscape и вскоре стал наиболее популярным методом обеспечения защищенного обмена данными через Интернет. Этот протокол интегрирован в большинство браузеров и веб серверов и использует ассиметричную криптосистему с открытым ключом, разработанную компанией RSA.

Протокол SSL предназначен для решения традиционных задач обеспечения защиты информационного взаимодействия, которые в среде клиент/сервер интерпретируются следующим образом:

- пользователь, подключаясь к серверу, должен быть уверен, что он обменивается информацией не с подставным сервером, а именно с тем, который ему нужен (в противном случае это может привести к курьезным, если не к печальным, последствиям). Во многих приложениях необходимо также, чтобы и сервер мог надежно идентифицировать клиента, не ограничиваясь защитой паролем;

- после установления соединения между сервером и клиентом весь информационный поток между ними должен быть защищен от несанкционированного доступа;

- при обмене информацией стороны должны быть уверены в отсутствии случайных или умышленных искажений при ее передаче.

Безопасный SSL протокол размещается между двумя протоколами: протоколом, который использует программа-клиент (HTTP, FTP, IMAP, LDAP, Telnet и т.д.) и транспортным протоколом TCP/IP. Создавая своего рода заслонки с обеих сторон, он защищает и передает данные на транспортный уровень. Благодаря работе по многослойному принципу, SSL протокол может поддерживать много разных протоколов программ-клиентов[27].

Работу протокол SSL можно разделить на два уровня. Первый уровень – слой протокола подтверждения подключения (Handshake Protocol Layer). Он состоит из трех подпротоколов: протокол подтверждения подключения (Handshake Protocol), протокол изменения параметров шифра (Change Cipher Spec Protocol) и предупредительный протокол (Alert protocol). Второй уровень – это слой протокола записи. На рис.3.1 схематически изображены уровни слоев SSL

Рис.3.1 Уровни слоев SCC

 

Уровень подтверждения подключения состоит из трех под протоколов:

1) Подтверждение подключения. Этот подпротокол используется для согласования данных сессии между клиентом и сервером. В данные сессии входят:

· идентификационный номер сессии;

· сертификаты обеих сторон;

· параметры алгоритма шифрования, который будет использован;

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

· «общий секрет», применён для создания ключей; открытый ключ

2) Изменения параметров шифрования. Этот подпротокол используется для изменения данных ключа (keyingmaterial), который используется для шифрования данных между клиентом и сервером. Данные ключа – это информация, которая используется для создания ключей шифрования. Подпротокол изменения параметров шифрования состоит из одного единственного сообщения. В этом сообщении сервер говорит, что отправитель хочет изменить набор ключей. Дальше, ключ вычисляется из информации, которой обменялись стороны на уровне подпротокола подтверждения подключения.

3) Предупреждение. Предупредительное сообщение показывает сторонам изменение статуса или о возможной ошибке. Существует множество предупредительных сообщений, которые извещают стороны, как при нормальном функционировании, так и при возникновении ошибок. Как правило, предупреждение отсылаются тогда, когда подключение закрыто и получено неправильное сообщение, сообщение невозможно расшифровать или пользователь отменяет операцию.

Подпротокол подтверждения подключения обеспечивает реализацию многих функций безопасности. Он производит цепочку обмена данными, что в свою очередь начинает проверку подлинности сторон и согласовывает шифрование, алгоритмы хеширования и сжатия.

Установление подлинности участников

Для определения подлинности участников обмена данных, протокол подтверждения подключения использует сертификат стандарта Х.509. Это является доказательством для одной стороны, так как помогает подтвердить подлинность другой стороны, которая владеет сертификатом и секретным ключом. Сертификат – это цифровой способ идентификации, который выпускает центр сертификации. В сертификате содержится идентификационная информация, период действия, публичный ключ, серийный номер, и цифровые подписи эмитента[28].

Сертификационный центр – это третья сторона, которой по умолчанию доверяют обе стороны. При попытке установить подключение в режиме SSL сессии, сертификационный центр проверяет инициатора (обычно в этой роли выступает пользователь, компьютер клиента), а затем выдает ему сертификат. Если необходимо, сертификационный центр обновляет или конфискует сертификаты. Проверка подлинности проходит по схеме:

· клиенту предоставлен сертификат сервера;

· компьютер клиента пытается сопоставить эмитента сертификата сервера со списком доверительных сертификационных центров;

· если эмитент сертификата – доверительный сертификационный центр, то клиент связывается и этим центром и проверяет, является ли сертификат настоящим, а не подделанным;

· после проверки сертификата у сертификационного центра, клиент принимает сертификат как свидетельство

Шифрование данных

Существует два основных способа шифрования данных: симметричный ключ (еще называется «общий секретный ключ») и ассиметричный ключ (второе название «открытый ключ» или «схема открытый-секретный ключ»). Протокол SSL использует как симметричные, так и ассиметричные ключи для шифрования данных.

SSL-ключ – это зашифрованные данные, которые используются для определения схемы шифрования данных во время сессии. Чем длиннее ключ, тем труднее его взломать. Как правило, алгоритмы ассиметричных ключей более стойкие их практически невозможно взломать.

Симметричный ключ. При шифровании симметричным ключом, используется один и тот же ключ для шифрования данных. Если две стороны хотят обмениваться зашифрованными сообщениями в безопасном режиме, то обе стороны должны иметь одинаковые симметричные ключи. Шифрование симметричным ключом обычно используется для шифрования большого объема данных, так как это процесс проходит быстрее, чем при ассиметричном шифровании. Обычно используются алгоритмы DES (Data Encryption Standard – стандарт шифрования данных), 3-DES (тройной DES), RC2, RC4, и AES (Advanced Encryption Standard – современный стандарт шифрования)[29].

Ассиметричный ключ. Шифрование с применением ассиметричного (открытого) ключа использует пару ключей, которые оба были получены, пройдя целый комплекс математических вычислений. Один из ключей используется в качестве открытого, как правило, сертификационный центр публикует открытый ключ в самом сертификате владельца (обычно это является заголовком (subject)). Секретный ключ держится в тайне и никогда никому не окрывается. Эти ключи работают в паре: один ключ используется для запуска противоположных функций второго ключа. Так, если открытый ключ используется чтоб шифровать данные, то расшифровать их можно только секретным ключом. Если данные шифруются секретным ключом, то открытый ключ должен это расшифровывать. Такая взаимосвязь позволяет, используя схему шифрования открытым ключом, делать две важные вещи. Во-первых, любой пользователь может получить открытый ключ по назначению и использовать его для шифрования данных, расшифровать которые может только пользователь, у которого есть секретный ключ. Во-вторых, если заголовок шифрует данные, используя свой секретный ключ, каждый может расшифровать данные, используя соответствующий открытый ключ. Именно это является основой для цифровых подписей. Самый распространенный алгоритм, который используется при шифровании с ассиметричными ключами – RSA (назван в честь разработчиков Rivest, Shamir, Adleman).

Протокол SSL использует шифрование с открытым ключом для того, чтоб подтвердить клиенту подлинность сервера, и наоборот. Шифрование открытым ключом также используется для определения ключа сессии. Ключ сессии используется симметричными алгоритмами для шифровки большого объема данных. Это объединяет ассиметричное шифрование (для проверки подлинности) и быстрое симметричное шифрование объемных данных (что не требует больших вычислительных ресурсов и больших затрат времени)[30].

Хэширование

Во время подтверждения подключения согласовывается также и хэш-алгоритм. Хэш–функция – это односторонняя математическая функция, которая принимает на входе сообщение произвольной длинны и вычисляет из него строку фиксированной длины. Хеш-значение играет роль идентификационной отметки, «отпечаток сообщения». Как и отпечатки пальцев уникальны для каждого человека, хеш-значения тоже уникальны. Кроме того, как отпечатки пальцев значительно меньше, чем сам человек, так и хеш-значение намного меньше оригинального сообщения. Хэширование используется для обеспечения целостности передачи данных. Самыми популярными хэш-алгоритмами являются MD5 (Message Digest 5 – дайджест сообщения, 5 версия) и SHA-1 (Standard Hash Algorithm – стандартный алгоритм хэширования). MD5 создает 128 битное хэш-значение, а SHA-1 создает 160 битное хэш-значение. Есть также новые, более устойчивые алгоритмы хэширования: WHIRLPOOL, SHA-512, SHA-384, HAVAL, Tiger(2).

Результатом работы хэш-алгоритма выступает значение, которое используется для проверки целостности переданных данных. Это значение создается с использованием либо MAC либо HMAC. MAC - Message Authentication Code – код проверки сообщения. Он использует отображающую функцию и предоставляет данные в виде значений фиксированного размера, а затем - хэширует само сообщение. MAC гарантирует, что данные не были изменены во время передачи. Разница между MAC и цифровой подписью состоит в том, что цифровая подпись это также способ подтверждения подлинности. SSL использует MAC.

HMAC - Hashed Message Authentication Code – хэшированный код проверки сообщения. HMAC похож на MAC, но при этом используется хэш-алгоритм вместе с общим секретным ключом. Общий секретный ключ прикрепляется к данным, которые хэшируются. Это позволяет сделать хэширование более безопасным, так как обе стороны должны иметь одинаковые секретные ключи для подтверждения подлинности данных. HMAC используется только протоколом TLC[31].

Уровень записи

Протокол на уровне слоя записи получает зашифрованные данные от программы-клиента и передает его на транспортный слой. Протокол записи берет данные, разбивает на блоки размером, который подходит криптографическому алгоритму, использует MAC (или HMAC) и потом шифрует (расшифровывает) данные. При этом используется информация, которая была согласованна во время протокола подтверждения данных. В некоторых случая на этом уровне проходит сжатие (распаковка) данных.

В зависимости от уровня доверия SSL сертификаты бывают:

· Trusted (доверительные)

· Self-Signed (недоверительные)

Trusted SSL сертификаты (доверительные сертификаты) – цифровые документы выданные, специальными центрами сертификации. При установке подключения с использованием доверительного SSL сертификата программные приложения (например, браузер) доверяет подлинность сертификата автоматически. Как правило, эмитент сертификата является независимой третьей стороной, которая не участвует в процессе обмена данными. Центр сертификации выписывает сертификат на сертифицированное доменное имя, указывает срок действия сертификата (1-5 лет), ставит цифровые печати и подписи. Таким образом, подтверждается гарантированный уровень безопасности установленного подключения. В случае взлома доверительного сертификата ответственность ложиться только на центр сертификации, который давал гарантию своего продукта.

При использовании доверительного сертификата используется два ключа: открытый и секретный (или приватный). Открытый ключ доступный любому пользователю в сети, в то время как секретный – только серверу-владельцу. Такая схема позволяет сохранять секретность передачи информации[32].

Self-Signed SSL сертификат (недоверительный, созданный самостоятельно сертификаты) можно сгенерировать самостоятельно, при этом, подлинность сертификата подтверждается его создателем; т.е. подписан он недоверительным лицом. По этому, программные приложения не доверяют Self-Signed сертификатам и выдают предупреждение, что во время сессии будет использован недоверительный сертификат. Так, при взломе Self-Signed SSL сертификата никто возмещать Вам ущерб не будет. Кроме того, может возникнуть ситуации, при которой к Вам будут применены штрафные санкции, о размерах которых лучше даже не знать.

Схема использования недоверительного сертификата предполагает, что подпись сертификата можно проверить, только используя публичный ключ, часть которого находится в самом сертификате. Т.е. сертификат подтверждается, публичным ключом который является частью самого сертификата (сертификат подтверждает сам себя). Именно по этой причине браузеры не доверяют таким сертификатам.

TLS

Основная функция протокола TLS состоит в обеспечении защиты и целостности данных между двумя взаимодействующими приложениями, одно из которых является клиентом, а другое – сервером.

Протокол TLS (Transport Layer Security) разрабатывался на основе спецификации протокола SSL 3.0 (Secure Socket Layer), опубликованного корпорацией Netscape. Различия между данным протоколом и SSL 3.0 несущественны, но важно заметить, что TLS 1.0 и SSL 3.0 несовместимы, хотя в TLS 1.0 предусмотрен механизм, который позволяет реализациям TLS иметь обратную совместимость с SSL 3.0[33].

Целями протокола TLS в порядке приоритетности являются:

1) Криптографическая безопасность: TLS должен использоваться для установления безопасного соединения между двумя участниками.

2) Интероперабельность: независимые разработчики могут создавать приложения, которые будут взаимодействовать по протоколу TLS, что позволит устанавливать безопасные соединения.

3) Расширяемость: TLS формирует общий каркас, в который могут быть встроены новые алгоритмы открытого ключа и симметричного шифрования. Это также избавляет от необходимости создавать новый протокол, что сопряжено с опасностью появления новых слабых мест, и предотвращает необходимость полностью реализовывать новую библиотеку безопасности.

4) Относительная эффективность: криптографические операции интенсивно используют ЦП, особенно операции с открытым ключом. Для этого вводится понятие сессии, для которой определяются алгоритмы и их параметры. В рамках одной сессии может быть создано несколько соединений (например, ТСР). TLS позволяет кэшировать сессии для уменьшения количества выполняемых действий при установлении соединения. Это снижает нагрузку как на ЦП, так и на трафик.

Протокол состоит из двух уровней. Нижним уровнем, расположенным выше некоторого надежного протокола (а именно, протокола ТСР) является протокол Записи. Протокол Записи обеспечивает безопасность соединения, которая основана на следующих двух свойствах:

1) Конфиденциальность соединения. Для защиты данных используется один из алгоритмов симметричного шифрования. Ключ для этого алгоритма создается для каждой сессии и основан на секрете, о котором договариваются в протоколе Рукопожатия. Протокол Записи также может использоваться без шифрования.

2) Целостность соединения. Обеспечивается проверка целостности сообщения с помощью МАС с ключом. Для вычисления МАС используются безопасные хэш-функции SHA-1 и MD5. Протокол Записи может выполняться без вычисления МАС, но обычно функционирует в этом режиме.

Протокол записи используется для инкапсуляции различных протоколов более высокого уровня. Одним из протоколов более высокого уровня является протокол Рукопожатия, который использует протокол Записи в качестве транспорта для ведения переговоров о параметрах безопасности. Протокол Рукопожатия позволяет серверу и клиенту аутентифицировать друг друга и договориться об алгоритмах шифрования и криптографических ключах до того, как прикладной протокол, выполняющийся на том же уровне, начнет передавать или принимать первые байты данных[34].

Протокол Рукопожатия обеспечивает безопасность соединения, которая основана на следующих свойствах:

1) Участники аутентифицированы с использованием криптографии с открытым ключом (т.е. с использованием алгоритмов RSA, DSS и т.д.). Эта аутентификация может быть необязательной, но обычно требуется по крайней мере для сервера.

2) Переговоры о разделяемом секрете безопасны, т.е. этот общий секрет невозможно подсмотреть.

3) Переговоры о разделяемом секрете надежны, если выполнена аутентификация хотя бы одной из сторон. В таком случае атакующий, расположенный в середине соединения, не может модифицировать передаваемый секрет незаметно для участников соединения.

Одно из преимуществ TLS состоит в том, что он независим от прикладного протокола. Протоколы более высокого уровня могут прозрачно располагаться выше протокола TLS.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.018 сек.)