Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка OPENSSL for WIN_2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
746.5 Кб
Скачать

22

Введение

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

Механизмы защиты компьютерных сетей строятся на основе современных криптографических алгоритмов и протоколов.

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

Все лабораторные работы выполняются с использованием программы openssl for WINDOWS. Программа openssl, являясь консольным приложением, позволяет использовать и тестировать все возможности библиотеки OpenSSL. В этой библиотеке реализовано большинство современных криптографических алгоритмов, а также поддерживается функционирование протокола SSL/TLS.

1Лабораторная работа №1 «Симметричные алгоритмы шифрования»

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

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

Симметричные системы шифрования делятся на два класса: блочные (например, DES, AES, DES, RC2, CAST, BlowFish) и потоковые (например, RC4). Надежность криптографического алгоритма напрямую зависит от длины ключа. В настоящее время надежным является алгоритм с длиной ключа более 128 бит.

Симметричные блочные алгоритмы используются в различных режимах (ECB, CBC, OFB, CFB).

Цель работы: Научиться шифровать информацию симметричными алгоритмами, используя команду enc программы openssl.

Краткое описание команды enc

openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-A] [-k password] [-kfile filename] [-K key ] [-iv IV] [-p] [-P] [-bufsize number] [-nopad] [-debug]

Параметр

Назначение параметра

-in filename

имя входного файла. Стандартный ввод по умолчанию.

-out filename

имя выходного файла. Стандартный вывод по умолчанию.

-e

шифровать исходные данные. Эта опция установлена по умолчанию.

-d

расшифровывать исходные данные.

-k password

пароль для образования ключа. Опция введена для совместимости с предыдущими версиями OpenSSL.

-kfile filename

читать пароль для образования ключа из первой строки файла filename. Опция введена для совместимости с предыдущими версиями OpenSSL

-K key

ключ шифрования. Ключ должен быть представлен строкой 16-х цифр. Дополнительно надо указать входной вектор (IV), в опции iv. Если же заданы одновременно ключ и пароль, то будет использоваться ключ их опции K и IV будет сгенерирован по паролю.

-iv IV

IV будет использован. Он должен быть представлен строкой 16-х цифр. Как только ключ определен опцией K, IV надо обязательно определить. Если же указан пароль, IV определяется по паролю.

-S salt

Вектор подмешивания («соль»), который использовался при создании ключа шифрования и начального вектора IV.

-p

печатать ключ шифрования и используемый IV.

-P

печатать ключ, IV и завершить выполнение, не производя шифрования или расшифрования.

Команда вызывается двумя способами:

openssl ciphername или openssl enc -ciphername.

Пароль может быть указан для образования ключа и входного вектора (IV) если это необходимо.

Опция -salt должна ВСЕГДА использоваться, когда ключ создается по паролю, если только вы не стремитесь к совместимости с предыдущими версиями OpenSSL и SSLeay.

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

Все блочные алгоритмы используют стандарт PKCS#5 для создания ключа по паролю.

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

Таблица 1. Симметричные алгоритмы шифрования и режимы их использования.

Опция

Алгоритм

Опция

Алгоритм

bf-cbc

Blowfish in CBC mode

desx

DESX algorithm

bf

Alias for bf-cbc

des-cbc

DES algorithm in CBC mode

bf-cfb

Blowfish in CFB mode

des

same as des-cbc

bf-ecb

Blowfish in ECB mode

des-cfb

DES in CFB mode

bf-ofb

Blowfish in OFB mode

des-ecb

DES in ECB mode

cast-cbc

CAST in CBC mode

des-ofb

DES in OFB mode

cast

Alias for cast-cbc

rc2-cbc

128 bit RC2 in CBC mode

cast5-cbc

CAST5 in CBC mode

rc2

Alias for rc2-cbc

cast5-cfb

CAST5 in CFB mode

rc2-cfb

128 bit RC2 in CBC mode

cast5-ecb

CAST5 in ECB mode

rc2-ecb

128 bit RC2 in CBC mode

cast5-ofb

CAST5 in OFB mode

rc2-ofb

128 bit RC2 in CBC mode

des-cbc

DES in CBC mode

rc2-64-cbc

64 bit RC2 in CBC mode

des

Alias for des-cbc

rc2-40-cbc

40 bit RC2 in CBC mode

des-cfb

DES in CBC mode

rc4

128 bit RC4

des-ofb

DES in OFB mode

rc4-64

64 bit RC4

des-ecb

DES in ECB mode

rc4-40

40 bit RC4

des-ede-cbc

Two key triple DES EDE in CBC mode

rc5-cbc

RC5 cipher in CBC mode

des-ede

Alias for des-ede-cbc

rc5

Alias for rc5-cbc

des-ede-cfb

Two key triple DES EDE in CFB mode

rc5-cfb

RC5 cipher in CBC mode

des-ede-ofb

Two key triple DES EDE in OFB mode

rc5-ecb

RC5 cipher in CBC mode

des-ede3-cbc

Three key triple DES EDE in CBC mode

rc5-ofb

RC5 cipher in CBC mode

des-ede3

Alias for des-ede3-cbc

des3

Alias for des-ede3-cbc

des-ede3-cfb

Three key triple DES EDE CFB mode

des-ede3-ofb

Three key triple DES EDE in OFB mode