Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ ответы.docx
Скачиваний:
5
Добавлен:
22.04.2019
Размер:
833.31 Кб
Скачать
  1. Шифрование данных

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

Наиболее распространенные – это программа cr (crypt).

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

Данные утилиты выбирают данные для шифрования из входного потока и выдают результат в стандартный вывод. Это позволяет в командной строке включать данные утилиты шифрования в конвейер обработки. “|”

Например: ls | grep *.h > file1.txt

Фунция crypt – это функция шифрования основанная на стандартном алгоритме шифрования данный. По этой команде файлу присваивается ключ (пароль) шифрования. Тот же самый ключ используется для дешифровки данных.

char *crypt(const char *key, const char *salt);

key – строка для шифрования

salt - [a-zA-Z0-9./] – задает режим шифрования (один из 4096)

crypt < старый файл > новый файл - - кодирование

crypt < закодированный файл > новый файл -- декодирование

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

Представляет собой криптографическую библиотеку с набором функций:

  • зашифровать

  • расшифровать

  • сгенерировать ключ

  • изготовить сертификаты

  • подписать данные

  • проверить цифровую подпись

  • выполнить свертку файла

Данная библиотека включает большое количество алгоритмов шифрования (DES, 3DES, RC2, RC4, and Blowfish, MD2, MD5).

27. Защита информации в ОС UNIX. Защита файлов.

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

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

Маска доступа содержит 9 бит. Из них 9 бит разбиты на тройки по 3 бита, показывающие какими правами по отношению к данному файлу обладает конкретный процесс.

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

U G

r

w

x

r

w

x

r

w

x

suid,sgid owner group other

r – чтение. (0- запрещено, 1 – разрешено)

w- запись

x - запуск (выполнение)

Каждый процесс работает в своем собственном контексте и имеет UID и GID.

При попытке доступа к объекту процесс выдает запрос (системный вызов open) на открытие (т.е. сделать его доступным для обработки). ОС выполняет сравнение UID и GID процесса с UID и GID и на основе этого определяет принадлежность процесса к владельцу файла или группе владельца. В зависимости от этого выбирается одна из трех групп прав и в дескриптор открытого файла заносится набор разрешенных операций.

Если в выбранной тройке все права равны 0, то возвращается ошибка – «Файл закрыт» и выполнение любых операций с ним запрещено.

!!! Если разрешено выполнение, но запрещены чтение/запись, то команду Open может выполнить только ядро ОС в момент построения процесса, причем программный запрос должен быть только на запуск exec().

С использованием битов U и G возможно создание так называемых доверенных объектов.

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