Надо Знать

добавить знаний



Криптография



План:


Введение

Немецкий шифровальная машина Лоренца, использовавшаяся при Второй мировой войны для шифрование сообщений для высшего военного руководства.

Криптография (от греческого krypt?s - скрытый и gr?phein - писать) - наука о математических методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства) информации. Развилась практической необходимости передавать важные сведения надежным образом. Для математического анализа криптография использует инструментарий абстрактной алгебры.

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

Во многих странах приняты национальные стандарты шифрования. В 2001 году в США принят стандарт симметричного шифрования AES на основе алгоритма Rijndael с длиной ключа 128, 192 и 256 бит. Алгоритм AES пришел на смену прежнему алгоритму DES, который теперь рекомендуется использовать только в режиме Triple-DES (3DES).


1. Терминология

Длительное время под криптографией понималось только шифрование - процесс превращения обычной информации ( открытого текста) в непонятное "мусора" (т.е. шифротекст). [1] Дешифровка - это обратный процесс воспроизведения информации из шифротекста. Шифром называется пара алгоритмов шифрования / дешифрования. Действие шифра управляется как алгоритмами, и, в любом случае, ключом. Ключ - это секретный параметр (в идеале, известен лишь двум сторонам) для отдельного контекста при передаче сообщения. Ключи имеют большую важность, поскольку без переменных ключей алгоритмы шифрования легко взламываются и непригодны для использования в большинстве случаев. Исторически сложилось так, что шифры часто используются для шифрования и дешифрования, без выполнения дополнительных процедур, таких как аутенификация или проверка целостности.

В английском языке слова криптографии и криптологии иногда имеют одинаковое значение, в то время, как порой под криптографией может пониматься использования и исследования технологий шифрования, а под криптологии - исследование криптографии и криптологии. [2] [3]

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


2. История криптографии

На фото показано современную реконструкцию шифра "Скиталу", который использовался в Древней Греции, вероятно был первым устройством для шифрования.

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

Самые формы тайнописи требовали не более чем аналог карандаша и бумаги, поскольку в те времена большинство людей не могли читать. Распространение письменности, или письменности среди врагов, вызвало потребность именно в криптографии. Основными типами классических шифров является перестановочных шифры, которые изменяют порядок букв в сообщении, и подстановочные шифры, которые систематически заменяют буквы или группы букв другими буквами или группами букв. Простые варианты обоих типов предлагали слабая защита от опытных противников. Одним из ранних подстановочных шифров был шифр Цезаря, в котором каждая буква в сообщении заменялась буквой через несколько позиций с азбуки. Этот шифр получил имя Юлия Цезаря, который его использовал, со смещением в 3 позиции, для общения с генералами во время военных кампаний, подобно кода EXCESS-3 в булевой алгебре.

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

Шифротекста, полученные от классических шифров (и некоторых современных), всегда выдают некоторую статистическую информацию о текст сообщения, которое может быть использовано для взлома. После открытия частотного анализа (возможно, арабским ученым аль-Кинди) в 9-том веке, почти все такие шифры стали более-менее легко переломным опытным специалистом. Классические шифры сохранили популярность, в основном, в виде головоломок (см. криптограмма). Почти все шифры оставались беззащитными перед криптоанализа с использованием частотного анализа до изобретения полиалфавитного шифра, скорее всего, Альберта Леоном-Баттиста примерно в 1467 году (хотя, существуют свидетельства того, что знания о таких шифры существовали среди арабских ученых). Изобретение Альберти заключался в том, чтобы использовать различные шифры (например, алфавиты подстановки) для различных частей сообщения. Ему также принадлежит изобретение того, что может считаться первым шифровальным прибором: колесо, частично реализовывало его изобретение (см. шифровальных диск Альберти). В полиалфавитному шифре Виженер ( англ. Vigen?re cipher ), Алгоритм шифрования использует ключевое слово, которое управляет подстановкой букв в зависимости от того, какая буква ключевого слова используется. В середине 1800-тех, Чарльз Бэббидж показал, что полиалфавитни шифры этого типа остались часто в беззащитными перед частотным анализом. [1]

Загадка, автомат, варианты которого использовались немецкими военными начиная со второй половины 1920-тех и до конца Второй мировой войны. Этот автомат реализовывал сложный электро-механический полиафавитний шифр для защиты секретных сообщений. Взлом шифра Энигмы в Бюро шифров (Biuro Szyfr?w), и, вслед за этим, дешифровки сообщений в Блетчи Парк ( англ. Bletchley Park ), Было важным фактором победы союзников в войне. [1]

Хотя частотный анализ является мощным и общей техникой, шифрования, на практике, часто было эффективным; многие из криптоаналитиков не знали эту технику. Дешифровки сообщений без частотного анализа практически означало необходимость знания использованного шифра, побуждая, таким образом, к шпионажу, подкупа, краж, измен и т.п. для получения алгоритма. Впоследствии, в 19-том веке, было признано, что сохранение алгоритма шифрования в тайне не обеспечивает защиту от взлома; самом деле, было установлено, что любая адекватная криптографическая схема остается в безопасности, даже при условии доступа посторонних. Сохранение в тайне ключа должен быть достаточным условием защиты информации нормальным шифром. Этот фундаментальный принцип впервые провозглашена в 1883 Огюстом Керкгофсом, и общеизвестен как принцип Керкгоффза; резкий вариант озвучил Клод Шеннон как максиму Шеннона - враг знает систему.

Были созданы различные механические приборы и инструменты для помощи в шифровании. Одним из первых является скиталу в древней Греции, палка, что, как считается, использовалась спартанцев в качестве перестановочного шифра. В средние, было изобретено другие средства, такие как дирочний шифр, также использовался для частичной стеганографии. Вместе с изобретением полиалфавитних шифров, был разработан совершенные средства, такие как собственное изобретение Альберти шифрования диск, табула ректа Иоганна Тритемиуса, и мультицилиндр Томаса Джефферсона (повторно изобретен Базериесом примерно в 1900 году). Несколько механических шифровальных / дешифрующего приборов была создана в начале 20-го века и многие запатентовано, среди них роторные машины - самой известной среди них является Загадка, автомат, использовался Германией с конца 20-х и до конца Второй мировой войны. [5] Шифры, реализованные примерами улучшенных вариантов этих схем привели к существенному повышению криптоаналитических сложности после Второй мировой войны .. [6] Появление цифровых компьютеров и электроники после Второй мировой войны сделало возможным появление сложных шифров. Более того, компьютеры позволяли шифровать любые данные, которые можно представить в компьютере в двоичном виде, в отличие от классических шифров, которые разрабатывались для шифрования письменных текстов. Это сделало непригодными для применения лингвистические подходы в криптоанализа. Многие компьютерные шифров можно характеризовать за их работой с последовательностями бинарных битов (иногда в блоках или группах), в отличие от классических и механических схем, которые обычно работают непосредственно с буквами. Однако, компьютеры также нашли применение в криптоанализа, что, в определенной мере, компенсировало повышение сложности шифров. Тем не менее, хорошие современные шифры залшались впереди криптоанализа; как правило, использование качественных шифров очень эффективно (т.е. быстрое и требует немного ресурсов), в то время как слом этих шифров требует гораздо больших усилий чем раньше, что делает криптоанализ настолько неэффективным и непрактичным, что взлом становится практически невозможным.

Кредитная карта с возможностями смарт-карты. Встроенный чип размером 3 на 5 мм показано в увеличенном виде на вставке. Смарт-карты пытаются совместить портативность с достаточной мощностью для вычисления современных криптографических алгоритмов.

Широкие академические исследования криптографии появились сравнительно недавно - начиная с середины 1970-х, вместе с появлением открытой спецификации стандарта DES ( Data Encryption Standard) Национального Бюро Стандартов США, публикаций Диффи-Хеллмана [7] и обнародованием алгоритма RSA. С тех пор, криптография превратилась в общераспространенный инструмент для передачи данных, в компьютерных сетях, и защите информации вообще. Современный уровень безопасности многих криптографических методов базируется на сложности некоторых вычислительных проблем, таких как расписание целых чисел, или проблемы с дискретными логарифмами. Во многих случаях, существуют доказательства безопасности криптографических методов при условии невозможности эффективного решения определенной вычислительной проблемы. [2] По одним существенным исключением - схема одноразовых блокнотов.

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

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


3. Современная криптография

3.1. Симметричное шифрование

Один из циклов (с 8.5) запатентованного блочного шифра IDEA, который используется в некоторых версиях PGP для высокоскоростного шифрования, в частности, электронной почты.

К алгоритмов симметричного шифрования относятся методы шифрования, в которых и отправитель, и получатель сообщения имеют одинаковый ключ (или, менее распространено, ключи разные но родственные и легко вычисляются). Эти алгоритмы шифрования были единственными обще известными до июля 1976. [7]

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

Шифры Data Encryption Standard (DES) и Advanced Encryption Standard (AES) являются стандартами блочных шифров утвержденных правительством США (однако, стандартизации DES был отменен после принятия стандарта AES). [9] Несмотря на то, что стандарт DES был признан устаревшим, он (и особенно его все еще ​​действителен вариант triple-DES) остается довольно популярным, он используется во многих случаях, от шифрования в банкоматах [10] к обеспечению конфиденциальности электронной переписки [11] и безопасном доступе к удаленных терминалов. [12] Было также разработано много других шифров разного качества. Многие из них были сломаны. [8] [13]

Потоковые шифры, в отличие от блочных, создают ключ произвольной длины, накладывается на открытый текст побитового ИЛИ Побуквенный, в чем-то подобно одноразовой доски. В потоковых шифрах, поток шифротекста вычисляется на основе внутреннего состояния алгоритма, который в течение его действия. Изменение состояния руководствуется ключом, и, в некоторых алгоритмах, еще и потоком открытого текста. RC4 является примером хорошо известного и широко распространенного потокового шифра. [8]

Криптографические хешувальни функции ( англ. cryptographic hash functions , Или англ. message digest functions ) Не обязательно используют ключи, но часто используются и являются важным классом криптографических алгоритмов. Эти функции получают данные (часто, целое сообщение), и вычисляют короткое, фиксированного размера число ( хеш). Хорошие хешувальни функции созданы таким образом, что очень трудно найти коллизии (два открытых тексты, имеющие одинаковое значение хэш).

Коды аутентификации сообщений ( англ. Message authentication code , MAC) подобные криптографических хешувальних функций, за исключением того, что они используют секретный ключ для аутентификации значение хеша [8] при получении сообщения. Эти функции предлагают защиту против атак на простые хешувальни функции.


3.2. Асимметричное шифрование

В отличие от симметричных, асимметричные алгоритмы шифрования используют пару родственных ключей - открытый и секретный. [14] При этом, несмотря на связь открытого и секретного ключа в паре, вычисления секретного ключа на основе открытого считается технически невозможным.

Уитфилд Диффи и Мартин Хелман, авторы первого доклада о асимметричные алгоритмы шифрования.

В асимметричных криптосистемах, открытый ключ может свободно распространяться, в то время как частный ключ должен храниться в тайне. Обычно открытый ключ используется для шифрования, в то время как частный (закрытый) ключ используется для расшифровки. Диффи и Хелман показали, что криптография с открытым ключом возможна при использовании протокола обмена ключами Диффи-Хеллмана. [7]

Иконка с замком в браузере Firefox, должен показывать, что страница была отправлена ​​через канал защищен SSL или TLS. Однако подобная иконка не является гарантией безопасности; любой сломанный браузер может заводить пользователей в заблуждение показывая такую ​​иконку в то время, как страница передается защиты SSL или TLS.

4. Шифрование и расшифровка

Информация, которая может быть прочитана, осмыслена и понята без каких-либо специальных мероприятий, называется открытым текстом (plaintext, clear text). Метод искажения открытого текста таким образом, чтобы скрыть его суть, называется шифрованием (encryption или enciphering). Шифрования открытого текста приводит к его превращению в непонятную абракадабру, именуемую шифртекста (ciphertext). Шифрование позволяет скрыть информацию от тех, для кого она не назначается, несмотря на то, что они могут видеть сам шифртекст. Противоположный процесс преобразования шифртекста в его исходный вид называется расшифровкой (decryption или deciphering).


5. Стойкая криптография

"В мире различают два типа критографии: криптография, что помешает вашей младшей сестре читать ваши файлы, и криптография, что помешает читать ваши файлы правительствам крупных стран. Мы будем рассматривать криптографию второго типа."

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

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


6. Действие криптографии

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

В традиционной криптографии, также называемой шифрованием тайным, или симметричным, тот же ключ используется как для шифрования, так и для расшифровки данных. Data Encryption Standart (DES) - пример симметричного алгоритма, широко применявшийся на Западе с 70-х годов в банковской и коммерческих сферах. В наше время ( 2002) его сменяет Advanced Encryption Standard (AES). Рисунок 2 иллюстрирует процесс симметричного шифрования.


7. Шифр Цезаря

Юлий Цезарь не доверял гонцам. Поэтому, отправляя письма своим генералам, он заменял каждую букву A в своем сообщении на D, каждую B на E, и т.д. Только тот, кто знал правило "сдвига на 3? мог расшифровать его послание.

Крайне простой пример симметричного шифрования - это подставной шифр. Подставной шифр заменяет каждую часть информации другой информацией. Чаще всего это достигается смещением букв алфавита. Пару примеров - это Секретное кольцо-декодер капитана Миднайт, что могло быть у вас в детстве, и шифр Юлия Цезаря. В обоих случаях алгоритм состоит в том, чтобы сдвинуть алфавит, а ключ - это число букв, на которое сделан сдвиг. Допустим, если мы решим зашифровать слово "SECRET", используя ключ Цезаря, равный 3, то сдвинем латинский алфавит так, чтобы он начинался с третьей буквы (D).

Итак, принимая оригинал

ABCDEFGHIJKLMNOPQRSTUVWXYZ,

и смещая все на 3, получаем

DEFGHIJKLMNOPQRSTUVWXYZABC,

где D = A, E = B, F = C, и т. д.

Используя эту схему, открытый текст "SECRET" превращается в "VHFUHW". Чтобы кто-то мог восстановить исходный текст, вы сообщаете ему, что ключ - 3. Очевидно, что по сегодняшним меркам это чрезвычайно слабый алгоритм, однако, даже он помогал Цезарю. И прекрасно демонстрирует, как действует симметричное шифрование.


8. Симметричное шифрование и управление ключами

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

Вспомните персонажа из вашего любимого шпионского фильма: человек с запечатанным кейсом, пристегнутым наручниками к руке. Как вы считаете, что в этом кейсе? Вряд ли в нем коды запуска ракет / формула химического оружия / планы вторжения. Вероятнее, там - ключ расшифрует секретную информацию. Для установления криптографической связи с помощью симметричного алгоритма, отправителю и получателю нужно предварительно согласовать ключ и держать его в секрете. Если они находятся в географически удаленных местах, то должны прибегнуть к помощи доверенного посредника, например, надежного курьера, чтобы избежать компрометации ключа в ходе транспортировки. Злоумышленник, перехватил ключ на пути, сможет позднее читать, изменять и подрабатывать любую информацию, зашифрованную или заверенную этим ключом. Глобальная проблема симметричных шифров (от Кольца-декодера капитана Миднайт в DES и AES) состоит в сложности управления ключами: как вы доставите ключ получателю без риска, что его перехватят?


9. PGP

PGP объединяет в себе лучшие стороны симметричной криптографии и криптографии с открытым ключом. PGP - это гибридная криптосистема.

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

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

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

Таким образом, комбинация этих двух криптографических методов объединяет удобство шифрования открытым ключом со скоростью работы симметричного алгоритма. Симметричное шифрование в тысячи раз быстрее асимметричного. Шифрование открытым ключом, в свою очередь, предоставляет простое решение проблемы управления ключами и передачи данных. При используемые их совместно, скорость выполнения и управления ключами взаимно дополняются и улучшаются без какого-либо ущерба безопасности.


10. Ключи

Ключ - это некоторая величина, что, работая в сочетании с криптоалгоритмом, оказывает определенное шифртекст. Ключи, как правило, - это очень большие числа. Размер ключа измеряется в битах; число, представляющее 2048 - битный ключ, бешено велико. В асимметричной криптографии, чем больше ключ, тем защищен полученный шифртекст. Однако, размер асимметричного ключа и размер симметричного секретного ключа, абсолютно несопоставимы. Симметричный 80-битный ключ эквивалентен в устойчивости 1024-битном открытом ключевые. Симметричный 128-битный ключ примерно равен 3000-битном открытом. Опять же, больше ключ - высокая надежность, но механизмы, лежащие в основе каждого из типов криптографии совершенно разные, и сравнивать их ключи в абсолютных величинах недопустимо.

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

Большие ключи будут криптографически защищены за больший промежуток времени. Если то, что нужно зашифровать, должно храниться в тайне долгие-долгие годы, может быть, стоит воспользоваться очень большим ключом. Кто знает, сколько потребуется времени, чтобы раскрыть ключ, используя завтрашние быстрее, эффективнее компьютеры? Были времена, когда 56-битный симметричный ключ DES считался крайне надежным.

По современным представлениям 128-битные симметричные ключи совсем надежны и не подвержены взлому, по крайней мере сегодня, пока кто-то не построит функционирующий квантовый суперкомпьютер. 256-битные ключи по оценкам криптологов не могут быть взломаны даже теоретически и даже на гипотетическом квантовом компьютере. Именно по этой причине алгоритм AES поддерживает ключи длиной 128 и 256 бит. Однако история учит нас тому, что все эти заверения протяжении десятилетий могут оказаться пустой болтовней.

PGP хранит ключи в зашифрованном виде. Они содержатся в двух файлах на жестком диске, один файл для открытых ключей, другой - для закрытых. Эти файлы называются соединительными (keyrings). Используя PGP, Вы, время от времени, будете добавлять открытые ключи своей корреспонденции на связывание открытых. Ваши закрытые ключи находятся на связке закрытых. Если вы потеряете (удалите) связывание закрытых ключей, то уже никак не сможете расшифровать информацию, зашифрованную для ключей с этого связывания. Следовательно, сохранение пары резервных копий файла необходима.


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

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

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

Некоторые люди используют цифровую подпись гораздо чаще шифрования. Например, вы можете не волноваться, если кто-то узнает, что вы только что поместили $ 1000 на свой банковский счет, но вы должны быть уверены, что делали транзакцию через банковского кассира. Простой способ генерации цифровых подписей показан на рисунке 6. Вместо Шифрование информации чужим открытым ключом, вы шифруете ее своим собственным закрытым. Если информация может быть расшифрована вашим открытым ключом, значит ее источником являетесь вы.


12. Хэш-функция

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

В процессе цифровой подписи PGP обрабатывает сообщения криптографически стойким односторонним хэш-алгоритму. Эта операция приводит к генерации строки ограниченной длины, называемой дайджестом сообщения (message digest). (Опять же, любое изменение прообраза приведет к абсолютно другому дайджеста.) Затем PGP зашифровывает полученный дайджест закрытым ключом отправителя, создавая ?электронная подпись?, и прикрепляет ее к прообразу. PGP передает ЭЦП вместе с исходным сообщением. После получения сообщения, адресат с помощью PGP заново вычисляет дайджест подписанных данных, расшифровывает ЭЦП открытым ключом отправителя, тем самым сверяя, соответственно, целостность данных и их источник; если исчисленный адресатом и полученный сообщению дайджесты совпадают, значит информация после подписания не была изменена. PGP может как зашифровать само сообщение, которое подписывается, так и не делать этого; подписания открытого текста без шифрования полезно в том случае, если кто-либо из получателей не заинтересован или не имеет возможности сверить подпись (допустим, не имеет PGP).

Если в механизме формирования ЭЦП применяется стойка односторонняя хэш-функция, нет никакого способа взять или подпись одного документа и прикрепить ее к другой, или же любой каким-то образом изменить подписанное сообщение. Малейшее изменение в подписанном документе будут выявлены в процессе сверки ЭЦП.

ЭЦП играют важнейшую роль в удостоверении и заверения ключей других пользователей PGP.


13. Цифровые сертификаты

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

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

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

Цифровой сертификат состоит из трех компонентов:

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

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

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


14. Распространение сертификатов

Сертификаты применяются, когда нужно обменяться с кем-нибудь ключами. Небольшим группам людей, нуждается в защищенном связи, не составит труда просто передать друг другу дискеты или отправить электронные письма, содержащие копии их ключей. Это - ручное распространение открытых ключей, и оно эффективно только до определенного этапа. Дальнейшее - за пределами возможностей данного метода, и тогда возникает необходимость развертывания системы, которая бы обеспечивала достаточную надежность и безопасность, предоставляла возможности сохранения и обмена ключами, так что коллеги, бизнес-партнеры или незнакомцы смогли бы отправлять друг другу зашифрованные сообщения, если в том возникнет необходимость. Такая система может реализоваться в форме простого хранилища-депозитария, называемого сервером сертификатов, сервером-депозитарием открытых ключей, или иметь сложную и комплексную структуру, предполагает дополнительные возможности администрирования ключей, и называемую инфраструктурой открытых ключей (Public Key Infrastructure, PKI).


15. Серверы-депозитарии

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

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

PKI, как и простой сервер-депозитарий, имеет базу данных для хранения сертификатов, но, в то же время, предоставляет сервисы и протоколы для управления открытыми ключами. В них входят возможности выпуска (издания), отзыва (аннулирования) и системы доверия сертификатов. Главной же особенностью PKI является наличие компонентов, известных как Центр сертификации (Certification Authority, CA) и Центр регистрации (Registration Authority, RA). Центр сертификации (ЦС) выдает цифровые сертификаты и подписывает их своим закрытым ключом. Ввиду важности своей роли, ЦС является главным компонентом инфраструктуры PKI. Используя открытый ключ ЦС, любой пользователь, желающий проверить подлинность конкретного сертификата, сверяет подпись Центра сертификации и, следовательно, удостоверяется в целостности информации, содержащейся в сертификате, и, что важнее, во взаимосвязи сведений сертификата и открытого ключа.

Как правило, Центром регистрации (ЦР) называется система людей, механизмов и процессов, служащих целям зачисления новых пользователей в структуру PKI и дальнейшего администрирования постоянных пользователей системы. Также ЦР может делать "веттинг" - процедуру проверки того, принадлежит конкретный открытый ключ предполагаемому владельцу.

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

  • Сертификаты OpenPGP (чаще называемые просто ключами PGP)
  • Сертификаты X.509

16.1. Формат сертификата PGP

Сертификат PGP содержит

  • Открытый ключ владельца сертификата - открытая часть ключевой пары и ее алгоритм: RSA v4, RSA Legacy v3, DH или DSA.
  • Сведения о владельце сертификата - информация, которая идентифицирует личность пользователя: его имя, адрес электронной почты, номер ICQ, фотография и т. д.
  • ЭЦП владельца сертификата - подпись ключевой пары, связанной с сертификатом (т.н. автоподписи).
  • Период действия сертификата - дата начала действия сертификата и дата окончания его действия; указывает на то, что сертификат станет недействительным (аналогично срока действия удостоверения водителя). Если ключевая пара содержит дополнительные подключи шифрования, то будет указан период действия каждого из них.
  • Лучший алгоритм шифрования - указывает на то, зашифрованную какому алгоритму информацию предпочитает получать владелец сертификата. Поддерживаются: CAST, AES, IDEA, Triple-DES и Twofish.

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

Уникальный аспект формата сертификатов PGP в том, что каждый сертификат может содержать множество подписей. Любой человек может подписать идентификационно-ключевую пару, чтобы заверить, полагаясь на свое личное убеждение, что открытый ключ принадлежит именно указанному в ID пользователю. Если поиск на общественных серверах-депозитариях, то можете найти некоторые ключи, как, например, принадлежит автору PGP Филу Циммерман, содержащие огромное количество подписей. Некоторые PGP-сертификаты состоят из открытого ключа с несколькими "бирками", каждая из которых содержит собственные сведения, идентифицирующие владельца ключа (например, имя владельца и его рабочий e-mail, прозвище владельца и его домашний e-mail, фотография владельца - все на одном сертификате). Список подписей в каждой из "бирок" может быть различным; подписи указывают на вероятность определенной "бирки" и ее принадлежность открытых ключей, а не на то, что все "бирки" достоверные. (Учтите, что "вероятность" зависит от встоновленого нее: подписи - это мысли, и разные люди уделяют разную степень внимания проверке подлинности перед подписанием ключа.)


17. Формат сертификата Х.509

Х.509 - это другой очень распространенный формат. Все сертификаты Х.509 соответствуют международному стандарту ITU-T X.509; таким образом (теоретически), сертификат Х.509, созданный для одного приложения, может быть использован в любом другом, поддерживающий этот стандарт. На практике, однако, сложилась ситуация, что различные компании создают собственные расширения для Х.509, не все из которых совместимые. Всякий сертификат требует, чтобы кто-то заверил взаимосвязь открытого ключа и идентифицирующего владельца ключа информации. Имея дело с PGP-сертификатом, каждый может выступать как заверителя сведений, содержащихся в нем, (за исключением случаев, когда эта возможность намеренно ограничена политикой безопасности). Но в случае сертификатов Х.509 заверителя может быть только Центр сертификации или кто-то, специально уполномоченный им на эту роль. (Имейте в виду, что PGP-сертификаты также в полной мере поддерживают иерархическое структурирование системы доверия, использует ЦС для удостоверения сертификатов.) Сертификат Х.509 - это набор стандартных полей, содержащих сведения о пользователе или устройство, и их соответствующий открытый ключ. Стандарт Х.509 определяет, какие сведения входят в сертификат и как они кодируются (формат данных).

Сертификат Х.509 содержит следующие сведения:

  • Версия Х.509 - указывает, на основе какой версии стандарта Х.509 построен данный сертификат, определяющий, какая информация может в нем содержаться.
  • Открытый ключ владельца сертификата - открытый ключ рядом с идентификатором используемого алгоритма (указывающим криптосистему, к которой принадлежит данный ключ) и другая информация о параметрах ключа.
  • Серийный номер сертификата - организация-издатель сертификата обязан присвоить ему уникальный серийный (порядковый) номер для его опознания среди других сертификатов, выданных данной организацией. Эта информация применяется в ряде случаев: например, при аннулировании сертификата, его серийный номер содержится в реестр аннулированных сертификатов (Certificate Revocation List, CRL).
  • Уникальный установщик владельца ключа (или DN, distinguished name - уникальное имя) - это имя должно быть уникальным и единственным во всем Интернете. DN состоит из нескольких подпунктов и может выглядеть примерно так:

CN = Bob Davis, EMAI = bdavis@pgp.com, OU = PGP Engineering, O = PGP Corporation, C = US

(Что обозначает Понятно имя субъекта, Электронную почту, Подразделение организации, организации и страны соответственно.)

  • Период действия сертификата - дата начала действия сертификата и дата окончания его действия; указывает на то, что сертификат станет недействительным.
  • Уникальное имя издателя - уникальное имя организации, подписал сертификат. Конечно, это наименование Центра сертификации. Использование сертификата подразумевает доверие организации, его подписала. (В случаях с корневыми сертификатами организация, выдавшая - это же ЦС - подписывает его сама.)
  • ЭЦП издателя - электронная подпись, созданный закрытым ключом организации, выдавшего сертификат.
  • Идентификатор алгоритма - указывает алгоритм, использованный ЦС для подписания сертификата.

Существует ряд фундаментальных различий между форматами сертификатов Х.509 и PGP:

  • вы можете лично создать собственный сертификат PGP; вы должны запросить и получить сертификат Х.509 от Центра сертификации;
  • сертификаты Х.509 содержат только одно имя владельца сертификата;
  • сертификаты Х.509 содержат только одну ЭЦП, подтверждающую подлинность сертификата.

Чтобы получить сертификат Х.509, вы должны попросить ЦС выдать его вам. Вы предоставляете системе свой открытый ключ, чем доказываете, что обладаете соответствии закрытым, а также некоторые идентифицирующие ваши сведения. Затем вы электронно подписываете эти сведения и отправляете весь пакет - запрос сертификата - в Центр сертификации. ЦС выполняет определенный процесс проверки подлинности предоставленной информации и, если все сходится, создает сертификат, подписывает и возвращает вам. Вы можете представить сертификат Х.509, как обычный бумажный сертификат или аттестат с приклеенным к нему открытым ключом. На нем указано ваше имя, а также некоторые сведения о вас, плюс подпись издателя сертификата.

Вероятно, самая большая польза от сертификатов Х.509, это их применения в Веб-браузерах.


18. Действительность и доверие

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

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

Некоторые компании уполномочивают один или несколько центров сертификации (ЦС) на проверку подлинности сертификатов. В организации, использующей PKI с сертификатами Х.509, задача Центров регистрации состоит в приеме запросов на сертификаты, а задача Центров сертификации - в выдаче сертификатов конечным пользователям процесс ответа на запрос пользователя на получение сертификата. В организации, использующей сертификаты PGP без PKI, задача ЦС - в проверке достоверности всех PGP сертификатов и подписании настоящих. Как правило, основная цель ЦС - собственной подписью "связать" открытый ключ с идентификационной информацией, содержащейся в сертификате, чем заверить третьих лиц, которые были приняты определенные меры для установления связи между ключом и идентификационными сведениями.

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


19. Проверка подлинности

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

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

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

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


20. Установка доверия

Вы сами подтверждаете сертификаты. Но вы также доверяете людям. Поэтому вы можете доверить людям и право удостоверять сертификаты. Как правило, если только владелец сам не вручил вам копию ключа, вы должны положиться на чью-то чужую мысль о его действительность.

20.1. Мета-поручители и доверенные поручители

В большинстве случаев пользователи целиком полагаются на ЦС в проверке подлинности сертификатов. Другими словами, пользователи убеждены, что ЦС провел всю механическую процедуру проверки за них, и уверены в его поручительство за действительность заверенных им сертификатов. Такая схема работает только до некоторого предела в количестве пользователей PKI, перейдя который ЦС не сможет соблюдать прежнего уровня тщательности процедуры проверки. В этом случае становится необходимым добавления в систему дополнительных "поручителей".

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

"Мета-поручитель" и "доверенный поручитель" - это термины PGP. В среде Х.509 мета-поручитель называется корневым центром сертификации (root CA), а доверенные поручители - подчиненными, или промежуточными, Центрами сертификации (subordinate CAs, intermediate CAs).

Корневой ЦС для подписания ключей использует закрытый ключ, связанный с особым типом сертификата, называемым корневым сертификатом ЦС. Любой сертификат, подписанный корневым ключом ЦС, становится достоверным любом другом сертификату, подписанном корневым. Такой процесс удостоверение действует даже для сертификатов, подписанных другим ЦС в [связанной] системе - если ключ промежуточного ЦС подписан ключом корневого ЦС, любой сертификат подписанный первым расценивается верным в пределах иерархии. Этот процесс отслеживания вдоль отраслей иерархии того, кто подписал какие сертификаты, называется отслеживанием пути, или цепи, сертификатов.


21. Модели отношений доверия

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

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

  • Прямая доверие
  • Иерархическая доверие
  • Сеть доверия (Web of Trust)

22. Прямая доверие

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


23. Иерархическая доверие

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


24. Сеть доверия

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

Возможно, вам знакомо понятие "шесть степеней разделения", что означает, что любой индивид может установить некоторый цепочку до любого другого индивида на планете, используя шесть или менее человек как посредников. Это - сеть представителей.

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

В среде PGP любой пользователь может выступать как центр сертификации. Каждый пользователь может заверить открытый ключ другого пользователя. Однако, такой сертификат будет расценен настоящим другим пользователем только тогда, когда последний признает заверителя своим доверенным поручителем. (Другими словами, вы доверяете моему мнению о действительности других ключей, только если считаете меня своим доверенного поручителем. В противном случае, моя субъективная оценка действительности чужих ключей для вас менее неоднозначна.) На связке открытых ключей каждого пользователя содержатся такие показатели :

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

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


25. Степени доверия в PGP

Высокий уровень доверия - безусловное доверие (Implicit Trust) - это доверие вашей собственной ключевой паре. PGP думает, что если вы обладаете закрытым ключом, то должны доверять и действиям соответствующего открытого. Все ключи, подписанные вашим доверием безусловно, для вас верные и настоящие. Существует три степени доверия, вы можете присвоить чужой открытом ключевые:

  • Полное доверие
  • Частичная доверие
  • Нет доверия

Чтобы еще больше все запутать, существует также три уровня действительности:

  • Настоящий
  • Быть настоящий
  • Общепринятая

Чтобы дать другому ключевые полномочия поручительства, вы:

  1. Берете настоящий ключ, или подписанный вами, или другим доверенным поручителем.
  2. Устанавливаете уровень доверия, который, по вашему мнению, заслуживает владелец.

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

PGP требует одну доверие Вполне или две доверии частично, чтобы установить ключ как настоящий. Метод PGP приравнивания двух частично к одной Полного аналогичный тому, как иногда от вас требуют два вида документов, удостоверяющих личность. Вы можете посчитать Олесю частично надежной, также посчитать Александра, частично заслуживает доверия. Есть риск, что каждый из них в отдельности может случайно подписать липовый ключ, так что вы, вероятно, не станете предоставлять Полной доверия одном. Однако, вероятность того, что оба они подпишут тот же липовый ключ, достаточно мала.


26. Аннулирование сертификата

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

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

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

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

Только владелец сертификата (владелец соотвествующего закрытого ключа) или кто-то, специально уполномоченный владельцем (т.н. "доверенный видминювач", designated revoker), может аннулировать PGP-сертификат. (Доверенное третье лицо функции аннулирования весьма полезно, потому что потеря пароля к закрытому ключу, что зачастую и является поводом к аннулированию, делает выполнение этой процедуры самим владельцем сертификата невозможной.) Сертификат Х.509 может быть отозван только издателем - ЦС - по запросу владельца.


27. Уведомление об аннулировании сертификата

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

В среде PKI уведомления об аннулировании сертификатов осуществляется с помощью специального механизма, называемого реестром аннулированных сертификатов (Certificate Revocation List, CRL), публикуя Центром сертификации. CRL содержит датированный, заверенный список всех аннулированных непросроченных сертификатов системы. Аннулированы сертификаты остаются в списке только до момента своего фактического истечения, после чего удаляются оттуда - это предотвращает бесконечном разрастанию списка. ЦС обновляет CRL через регулярные промежутки времени. Теоретически, это должно свести к минимуму риск непреднамеренного использования аннулированного сертификата. Хотя, все же остается вероятность случайного применения скомпрометированного сертификата во временном промежутке между публикациями CRL.


28. Ключевая фраза

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

PGP использует ключевую фразу для шифрования ваш закрытый ключ. Закрытый ключ хранится на диске, зашифрованный хэш-значением ключевой фразы как симметричным секретным ключом. Вы используете ключевую фразу, чтобы расшифровать и применять закрытый ключ. Ключевая фраза должна быть такой, чтобы вам было ее трудно забыть, а другим - догадаться. Она должна быть чем-то, уже давно и надежно сохраняется в долговременной памяти вашего мозга, а не придуманным с нуля. Почему? Потому что если вы забудете ключевую фразу - вы в большой беде. Закрытый ключ абсолютно и совершенно бесполезен без его ключевой фразы, и с этим ничего нельзя поделать. Помните цитату в начале? PGP - это криптография, что не позволит правительствам могущественных государств читать ваши файлы. И тем более она не позволит читать их вам. Учтите это, если вдруг решите изменить ключевую фразу отрывок из анекдота, который никогда не могли толком запомнить.


29. Разделение ключа

Говорят, что секрет - это уже не секрет, когда его знают два человека. Разделение закрытого ключа опровергает такое мнение. Хотя это и практика, не рекомендуется, разделение закрытого ключа в определенных ситуациях бывает необходимо. Например, корпоративные ключи подписания (Corporate Signing Keys, CSK) - это особо важные закрытые ключи, используемые организацией, например, для заверения правовых документов, личной информации сотрудников или пресс-релизов для удостоверения авторства. В этом случае полезно, чтобы несколько членов компании имело доступ к закрытому ключу. Но это будет означать, что каждый из членов команды сможет свободно и в полной мере выступать от имени компании.

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

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


30. Понятие криптологии

31. Алгоритмы криптографии


код для вставки
Данный текст может содержать ошибки.

скачать

© Надо Знать
написать нам