Вы находитесь на странице: 1из 3

Лабораторная работа.

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


с помощью OpenSSL
Задачи
Часть 1. Шифрование сообщений с помощью OpenSSL
Часть 2. Расшифровка сообщений с помощью OpenSSL

Общие сведения и сценарий


OpenSSL ― проект с открытым исходным кодом, который обеспечивает надежный
и полнофункциональный набор коммерческих инструментов для протоколов TLS и SSL. Это также
криптографическая библиотека общего назначения. В этой лабораторной работе вы будете
использовать OpenSSL для шифрования и расшифровки текста сообщений.
Примечание. Хотя в настоящее время OpenSSL является фактически стандартной
криптографической библиотекой, пример использования, представленный в этой лабораторной
работе, не рекомендуется, если требуется надежная защита. Ниже представлены две проблемы
безопасности, свойственные этой лабораторной работе.
1) В методе, описанном в этой лабораторной работе, используется слабая функция
формирования ключа. ЕДИНСТВЕННОЕ средство обеспечения безопасности ― это очень
надежный пароль.
2) Метод, описанный в этой лабораторной работе, не гарантирует целостности текстового файла.
Эту лабораторную работу следует использовать только в учебных целях. Методы, представленные
здесь, НЕ должны использоваться для защиты действительно конфиденциальных данных.

Необходимые ресурсы
• Виртуальная машина рабочей станции CyberOps
• Доступ к Интернету

Часть 1: Шифрование сообщений с помощью OpenSSL


OpenSSL можно использовать как автономное средство для шифрования. Можно использовать
множество алгоритмов шифрования, но в этой лабораторной работы выбран AES. Для того чтобы
использовать AES для шифрования текстового файла непосредственно из командной строки
с помощью OpenSSL, выполните следующие действия.

Шаг 1: Шифрование текстового файла


a. Выполните вход в виртуальную машину рабочей станции CyberOps
b. Откройте окно терминала.
c. Шифруемый текстовый файл находится в каталоге /home/analyst/lab.support.files/, поэтому
перейдите в этот каталог.
[analyst@secOps ~]$ cd ./lab.support.files/
[analyst@secOps lab.support.files]$

Стр. 1 из 3
Лабораторная работа. Шифрование и расшифровка данных с помощью OpenSSL

d. Введите приведенную ниже команду для отображения содержимого зашифрованного текстового


файла letter_to_grandma.txt на экране.
[analyst@secOps lab.support.files]$ cat letter_to_grandma.txt
Hi Grandma, (Привет, бабушка!)
I am writing this letter to thank you for the chocolate chip cookies you sent
me. (Я пишу это письмо, чтобы поблагодарить тебя за шоколадное печенье,
которое ты мне прислала.) I got them this morning and I have already eaten
half of the box! (Я получил их утром и уже съел половину коробки!) They are
absolutely delicious! (Они очень вкусные!)

I wish you all the best. (Желаю тебе всего наилучшего.) Love, (С любовью,)
Your cookie-eater grandchild. (твой внук, который очень любит печенье.)
[analyst@secOps lab.support.files]$
e. Из того же окна терминала выполните приведенную ниже команду для шифрования текстового
файла. В команде будет использован алгоритм AES-256 для шифрования текстового файла,
зашифрованная версия сохраняется в файле message.enc. OpenSSL запросит пароль
и подтверждение пароля. Введите затребованный пароль и обязательно запомните пароль.
[analyst@secOps lab.support.files]$ openssl aes-256-cbc -in
letter_to_grandma.txt -out message.enc
Введите пароль шифрования aes-256-cbc.
Проверка — введите пароль шифрования aes-256-cbc.
[analyst@secOps lab.support.files]$

Сохраните пароль.
4565
____________________________________________________________________________________

f. После завершения процесса, чтобы отобразить содержимое файла message.enc, снова


используйте команду cat.
[analyst@secOps lab.support.files]$ cat message.enc
Правильно ли отображается содержимое файла message.enc? Как оно выглядит? Дайте пояснение.
____________________________________________________________________________________
Нет, содержимое письма зашифрованно, на экране не читаемые символы.
____________________________________________________________________________________
g. Для того чтобы сделать файл пригодным для чтения, выполните команду OpenSSL повторно, но
на этот раз добавьте параметр -а. Параметр -a сообщает OpenSSL, что нужно закодировать
зашифрованное сообщение с помощью другого способа кодирования Base64 перед сохранением
результатов в файле.
Примечание. Base64 представляет собой группу схожих схем преобразования в текст двоичных
данных, используемых для представления двоичных данных в формате строк ASCII.
[analyst@secOps lab.support.files]$ openssl aes-256-cbc -a -in
letter_to_grandma.txt -out message.enc
Введите пароль шифрования aes-256-cbc.
Проверка — введите пароль шифрования aes-256-cbc.
h. Вновь используйте команду cat для отображения содержимого вновь созданного файла message.enc.
Примечание. Содержимое message.enc будет различным.
[analyst@secOps lab.support.files]$ cat message.enc

Стр. 2 из 3
Лабораторная работа. Шифрование и расшифровка данных с помощью OpenSSL

U2FsdGVkX19ApWyrn8RD5zNp0RPCuMGZ98wDc26u/vmj1zyDXobGQhm/dDRZasG7
rfnth5Q8NHValEw8vipKGM66dNFyyr9/hJUzCoqhFpRHgNn+Xs5+TOtz/QCPN1bi
08LGTSzOpfkg76XDCk8uPy1hl/+Ng92sM5rgMzLXfEXtaYe5UgwOD42U/U6q73pj
a1ksQrTWsv5mtN7y6mh02Wobo3A1ooHrM7niOwK1a3YKrSp+ZhYzVTrtksWDl6Ci
XMufkv+FOGn+SoEEuh7l4fk0LIPEfGsExVFB4TGdTiZQApRw74rTAZaE/dopaJn0
sJmR3+3C+dmgzZIKEHWsJ2pgLvj2Sme79J/XxwQVNpw=
[analyst@secOps lab.support.files]$
Отображается ли message.enc правильно теперь? Дайте пояснение.
____________________________________________________________________________________
Содержимое сообщение зашифрованно. На экране много различных символов, которые
невозможно прочесть.
____________________________________________________________________________________
Какие преимущества кодировки файла message.enc с использованием Base64 вы можете назвать?
сути Base64 и AES-256 схожие системы кодировки, Но Base64 использует ASCII
____________________________________________________________________________________
По
____________________________________________________________________________________

Часть 2: Расшифровка сообщений с помощью OpenSSL


С помощью похожей команды OpenSSL можно расшифровать файл message.enc.
a. Для расшифровки message.enc используйте приведенную ниже команду.
[analyst@secOps lab.support.files]$ openssl aes-256-cbc –a -d -in message.enc
-out decrypted_letter.txt
b. OpenSSL запросит пароль, который использовался для шифрования. Введите пароль еще раз.
c. После расшифровки с помощью OpenSSL файла message.enc расшифрованное сообщение
сохраняется в текстовом файле с именем decrypted_letter.txt. Используйте cat для показа
содержимого decrypted_letter.txt.
[analyst@secOps lab.support.files]$ cat decrypted_letter.txt
Правильно ли расшифровано письмо?
____________________________________________________________________________________
Да, сообщение читаемое
____________________________________________________________________________________
Команда, которая используется для расшифровки, также содержит параметр -a. Объясните почему.
____________________________________________________________________________________
____________________________________________________________________________________

Стр. 3 из 3

Вам также может понравиться