Если между отправителем и получателем нет конфиденциальной схемы передачи асимметричных ключей, то возникает серьезная опасность появления злоумышленника-посредника.
Открытый ключ, подписанный какой-либо третьей стороной, называется заверенным с помощью сертификата.
Сертификатом открытого ключа называется информационный пакет, содержащий какой-либо объект (обычно ключ) и электронную подпись, подтверждающую этот объект от имени чьего-либо лица.
Сертификат ключа подписи содержит:
- уникальный регистрационный номер сертификата ключа подписи;
- даты начала и окончания срока действия сертификата ключа подписи, находящегося в реестре удостоверяющего центра;
- фамилию, имя и отчество владельца сертификата ключа подписи или псевдоним владельца (в случае использования псевдонима удостоверяющим центром вносится запись об этом в сертификат);
- открытый ключ ЭЦП;
- наименование средств электронной цифровой подписи, с которыми используется данный открытый ключ ЭЦП;
- наименование и место нахождения удостоверяющего центра, выдавшего сертификат ключа подписи;
- сведения об отношениях, при осуществлении которых электронный документ с электронной цифровой подписью будет иметь юридическое значение;
- имя, адрес проживания и др.
<p>Кроме того, ключ должен быть подписан доверенным лицом или организацией, обычно называемой бюро сертификации (БС или Certification Authority). БС подписывает как сам ключ, так и информацию о его владельце, тем самым, заверяя, что идентификация лица, предъявившего сертификат, подлинна, и открытый ключ принадлежит именно этому лицу. Любой пользователь сертифицированного ключа перед его применением может проверить подлинность подписи БС.
В Российском законодательстве для обозначения бюро сертификации используется термин «удостоверяющий центр».
Удостоверяющий центр – это юридическое лицо, которое:
- изготавливает сертификаты ключей подписей;
- создает ключи ЭЦП по обращению участников информационной системы с гарантией сохранения в тайне закрытого ключа ЭЦП;
- приостанавливает и возобновляет действие сертификатов ключей подписей, а также аннулирует их;
- ведет реестр сертификатов ключей подписей, обеспечивает его актуальность и возможность свободного доступа к нему участников информационных систем;
- проверяет уникальность открытых ключей ЭЦП в реестре сертификатов ключей подписей и архиве удостоверяющего центра;
- выдает сертификаты ключей подписей в форме документов на бумажных носителях и (или) в форме электронных документов с информацией об их действии;
- осуществляет по обращениям пользователей сертификатов ключей подписей подтверждение подлинности ЭЦП в электронном документе в отношении выданных им сертификатов ключей подписей;
- может предоставлять участникам информационных систем иные связанные с использованием ЭЦП услуги.
Удостоверяющий центр должен обладать необходимыми материальными и финансовыми возможностями, позволяющими ему нести гражданскую ответственность перед пользователями сертификатов ключей подписей за убытки, которые могут быть понесены ими вследствие недостоверности сведений, содержащихся в сертификатах ключей подписей.
Сжатие данных без потерь. Алгоритмы Хаффмана и Лемпеля-Зива.
Сжатие данных
В современном криптоанализе доказано, что вероятность взлома криптосхемы при наличии корреляции между блоками входной информации значительно выше, чем при отсутствии таковой. Основной задачей алгоритмов сжатия данных и является устранение избыточности, то есть корреляций между данными во входном тексте. Все современные криптоалгоритмы перед шифрованием информации производят ее сжатие, что повышает их криптостойкость. Необходимо подчеркнуть, что сжатие идет до шифрования, а не наоборот, так как после шифрования сжимать будет нечего.
Все алгоритмы сжатия данных качественно делятся на алгоритмы сжатия без потерь и с потерями исходной информации. При использовании первых алгоритмов данные восстанавливаются без изменений. Вторые ? удаляют из потока данных информацию, незначительно влияющую на их суть, либо вообще не воспринимаемую человеком. Эти алгоритмы широко используются для сжатия аудио- и видеоизображений. В криптосистемах, естественно, используется только первая группа алгоритмов.
Существует ряд методов сжатия без потерь, наиболее известными из них являются:
- алгоритм Хаффмана (Huffman), ориентированный на сжатие любой последовательности байт, не связанных между собой;
- алгоритм Лемпеля-Зива (создатели Lempel и Ziv), ориентированный на сжатие текстов, в которых есть неоднократно повторяющиеся «слова» ? последовательности байт или бит;
- алгоритм Уэлча (Welch) как модифицированный алгоритм Лемпеля-Зива ? LZW.
- Практически все популярные программы архивации без потерь (RAR, ARJ, ZIP) используют эти методы.
Алгоритм Хаффмана
Кодирование Хаффмана основывается на предпосылке, что некоторые символы используются в представлении данных чаще, чем другие. Наиболее общее представление – алфавит ASCII – использует 8 бит для каждого символа. В английском языке буква ‘a’ чаще встречается, чем буква ‘q’, а в русском – буква ‘и’ чаще чем ‘ж’ хотя мы используем для их представления одинаковое количество бит. Если мы, например, используем только 4 бита для кодирования буквы ‘и’ и 12 бит для ‘ж’, то исходный русский текст можно записать меньшим число бит без потери информации.
Кодирование Хаффмана использует идею связи длины символа с вероятностью появления символов. Статическое кодирование Хаффмана требует, чтобы таблица вероятностей была известной, прежде чем начать сжимать данные. Эта таблица может быть взята из результатов статистических исследований, или система сжатия может просканировать входные данные для определения вероятностей символов, прежде чем начать сжимать данные.
С помощью этой информации о вероятностях компрессор и декомпрессор могут сконструировать кодирующее дерево. Это двоичное дерево с одним листом для каждого символа. Построение дерева компрессором начинается с двух символов, имеющих наименьшую вероятность. Эти листы помещаются на одну ветку, которой назначается сумма вероятностей. Компрессор затем рассматривает эту ветку вместе с оставшимися символами в списке вероятностей, и снова выбирает два наименее вероятных элемента. Он продолжает строить и объединять ветки, пока не получит единое дерево с вероятностью корня, равной 1.
Полученное дерево имеет листья с различным расстоянием от корня. Листья, которые представляют символы с наивысшей вероятностью, самые близкие к корню, тогда как символы с наименьшей вероятностью находятся дальше от корня. Для кодировки символа записывается путь от корня дерева к листу, где располагается этот символ, причем каждая ветка кодируется 0 или 1.
Алгоритм Лемпеля-Зива
Алгоритм LZ77 (опубликован в 1977 г) формулируется следующим образом: «если в прошедшем ранее выходном потоке уже встречалась подобная последовательность байт, причем запись о ее длине и смещении от текущей позиции короче, чем сама эта последовательность, то в выходной файл записывается ссылка (смещение, длина), а не сама последовательность».
Например, фраза:
КОЛОКОЛ_ОКОЛО_КОЛОКОЛЬНИ
Закодируется как:
КОЛО(-4,3)_(-5,4)О_(-14,7)ЬНИ
Статьи к прочтению:
Основные понятия. Часть 1: Сертификат и ключи электронной подписи
Похожие статьи:
-
Алгоритм создания открытого и секретного ключей
RSA-ключи генерируются следующим образом:[14] 1. Выбираются два различных случайных простых числа и заданного размера (например, 1024 бита каждое). 2….
-
Аутентификация по сертификатам
Сертификат — это набор данных, определяющих какую-либо сущность (пользователя или устройство) в привязке к открытому ключу ключевой пары…