Возможно вы искали: 'Glacier 3: The Meltdown'

May 15 2025 17:56:59
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Шифрование отдельных директорий с помощью OpenSSL (crypt ssl fs)

Шифрование отдельных директорий с помощью OpenSSL (crypt ssl fs)

Ключевые слова: crypt, ssl, fs, (найти похожие документы)

From: Денис Каледин <hannibal at nline ru>
Date: Mon, 24 Jul 2003 14:31:37 +0000 (UTC)
Subject: Шифрование отдельных директорий с помощью OpenSSL


Шифрование отдельных директорий с помощью OpenSSL
- -------------------------------------------------

Рано или поздно перед многими из нас встает проблема конфидециальности
данных. Причины и обстоятельства бывают самыми разными - одним домашним
компьютером пользуются несколько человек, тогда хочется максимально
обезопасить личные данные. Однако чаще всего о криптографической защите
данных мы начинаем задумываться в том случае, когда сами эти данные
представляют огромный интерес для ваших конкурентов или же
правоохранительных органов. Как говорится, когда в ваш дом врывается ФСБ или
ФАПСИ, уже можно пожалеть о том, что единственной защитой ваших данных были
права доступа "600". ;)

Однако это все лирика. Современные криптографические средства для *NIX
платформ зачастую предлагают нам шифрование единичных файлов, либо партиций.
В последнем случае все осложняется необходимостью пропатчивания и пересборки
ядра, для поддержки всевозможных EFS/EVFS (Encrypted FileSystem / Encrypted
Virtual FileSystem). Часто данные решения подходят только для определенной
официальной версии исходников ядра, т.е. пропатчить ядро от Alan Cox,
например, может не получиться. Шифрование единичных файлов не совсем удобно,
однако, за основу я беру именно этот путь.

Я столкнулся с необходимостью шифрования отдельных директорий, к примеру
/home/user/stuff, без значительных на это временных затрат, т.е. выполнение
простенького скрипта, как для шифровки, так и для дешифровки данных. В
идеале - шифрование директории /home/user, например, при выходе пользователя
из системы, однако, об этом в следующий раз.

Убедитесь, что у вас установлен пакет OpenSSL, и можем начинать. Я пошел
простым путем: для шифрования, пользователь вводит команду: sslenc
<директория> <шифр>
ВНИМАНИЕ! Необходимо указывать путь к директории полностью, т.к.
дальнейшая работа ведется в каталоге /tmp.Скрипт sslenc с помощью
команды tar сжимает директорию, затем командой openssl шифрует полученный
файл заданным шифром. Если все ОК, содержимое исходной директории очищается
и туда помещается зашифрованный tarball. Незашифрованный tarball рекомендуется
удалять вручную, однако, если вы уверены в своих действиях, эту команду
можно включить в скрипт (в моем скрипте она включена). Помнить необходимо
две вещи - использованный шифр и пароль, который попросит задать команда
openssl. Ниже приведен мой вариант скрипта sslenc:

<--------start script--------->

#!/bin/bash
# OpenSSL directory encryption script.
# 2003 Denis A. Kaledin, <hannibal at nline dot ru>

cd /tmp

if [ ! -e "$1" ]; then
echo "Directory not found!"
exit 1
else
echo "Preparing to encrypt directory "$1"..."
fi

if [ "$2" = "base64" ] || [ "$2" = "bf-cbc" ] || [ "$2" = "bf" ] ||
[ "$2" = "bf-cfb" ] || [ "$2" = "bf-ecb" ] || [ "$2" = "bf-ofb" ] ||
[ "$2" = "cast-cbc" ] || [ "$2" = "cast" ] || [ "$2" = "cast5-cbc" ] ||
[ "$2" = "cast5-cfb" ] || [ "$2" = "cast5-ecb" ] || [ "$2" = "cast5-ofb" ] ||
[ "$2" = "des-cbc" ] || [ "$2" = "des" ] || [ "$2" = "des-cfb" ] ||
[ "$2" = "des-ofb" ] || [ "$2" = "des-ecb" ] || [ "$2" = "des-ede-cbc" ] ||
[ "$2" = "des-ede" ] || [ "$2" = "des-ede-cfb" ] || [ "$2" = "des-ede-ofb" ] ||
[ "$2" = "des-ede3-cbc" ] || [ "$2" = "des-ede3" ] || [ "$2" = "des3" ] ||
[ "$2" = "des-ede3-cfb" ] || [ "$2" = "des-ede3-ofb" ] || [ "$2" = "desx" ] ||
[ "$2" = "rc2-cbc" ] || [ "$2" = "rc2" ] || [ "$2" = "rc2-cfb" ] ||
[ "$2" = "rc2-ecb" ] || [ "$2" = "rc2-ofb" ] || [ "$2" = "rc2-64-cbc" ] ||
[ "$2" = "rc2-40-cbc" ] || [ "$2" = "rc4" ] || [ "$2" = "rc4-40" ] ||
[ "$2" = "aes-128-cbc" ] || [ "$2" = "aes-128-ecb" ] || [ "$2" = "aes-192-cbc" ] ||
[ "$2" = "aes-192-ecb" ] || [ "$2" = "idea" ] || [ "$2" = "aes-256-cbc" ] ||
[ "$2" = "aes-256-ecb" ] || [ "$2" = "rc5" ]; then
echo "Good...loading "$2" algorithm"
else
echo "Cipher "$2" is not supported by OpenSSL!"
exit 1
fi

echo "Encrypting "$1" directory with "$2" cipher..."
tar -cvvf encrypted.tar "$1"/ -P
/usr/bin/openssl "$2" -salt -in encrypted.tar -out encrypted.tar.sec

if [ ! -e encrypted.tar.sec ]; then
echo "Incorrect password!"
exit 1
else
rm -Rf "$1"/
mkdir "$1"
mv encrypted.tar.sec "$1"/
rm encrypted.tar
echo "Directory "$1" has been encrypted with "$2" cipher!"
fi

<-------end script-------->

Итак, теперь в /home/user/stuff у нас лежит зашифрованный tarball. Для его
расшифровки пользователь вводит команду: ssldec <директория> <шифр>, вводит
пароль. Опять же, путь к директории должен быть полным! Программа openssl
расшифрует файл, затем команда tar расворачивает его в исходной директории.
Зашифрованный tarball, опять же, можно удалять руками, а можно с помощью
скрипта.
Вот мой вариант скрипта ssldec:

<------start script------->
#!/bin/bash
# OpenSSL directory decryption.
# 2003 Denis A. Kaledin <hannibal at nline dot ru>

cd /tmp

if [ "$2" = "base64" ] || [ "$2" = "bf-cbc" ] || [ "$2" = "bf" ] ||
[ "$2" = "bf-cfb" ] || [ "$2" = "bf-ecb" ] || [ "$2" = "bf-ofb" ] ||
[ "$2" = "cast-cbc" ] || [ "$2" = "cast" ] || [ "$2" = "cast5-cbc" ] ||
[ "$2" = "cast5-cfb" ] || [ "$2" = "cast5-ecb" ] || [ "$2" = "cast5-ofb" ] ||
[ "$2" = "des-cbc" ] || [ "$2" = "des" ] || [ "$2" = "des-cfb" ] ||
[ "$2" = "des-ofb" ] || [ "$2" = "des-ecb" ] || [ "$2" = "des-ede-cbc" ] ||
[ "$2" = "des-ede" ] || [ "$2" = "des-ede-cfb" ] || [ "$2" = "des-ede-ofb" ] ||
[ "$2" = "des-ede3-cbc" ] || [ "$2" = "des-ede3" ] || [ "$2" = "des3" ] ||
[ "$2" = "des-ede3-cfb" ] || [ "$2" = "des-ede3-ofb" ] || [ "$2" = "desx" ] ||
[ "$2" = "rc2-cbc" ] || [ "$2" = "rc2" ] || [ "$2" = "rc2-cfb" ] ||
[ "$2" = "rc2-ecb" ] || [ "$2" = "rc2-ofb" ] || [ "$2" = "rc2-64-cbc" ] ||
[ "$2" = "rc2-40-cbc" ] || [ "$2" = "rc4" ] || [ "$2" = "rc4-40" ] ||
[ "$2" = "aes-128-cbc" ] || [ "$2" = "aes-128-ecb" ] || [ "$2" = "aes-192-cbc" ]||
[ "$2" = "aes-192-ecb" ] || [ "$2" = "idea" ] || [ "$2" = "aes-256-cbc" ] ||
[ "$2" = "aes-256-ecb" ] || [ "$2" = "rc5" ]; then
echo "Muy bien....preparing to decrypt"
else
echo "Cipher "$2" is not supported by OpenSSL!"
exit 1
fi

if [ ! -e "$1"/encrypted.tar.sec ]; then
echo "There is nothing to decrypt!"
exit 1
else
echo "Decrypting encrypted.tar.sec..."
cp "$1"/encrypted.tar.sec /tmp
/usr/bin/openssl "$2" -d -salt -in "$1"/encrypted.tar.sec -out encrypted.tar
rm -Rf "$1"/
tar -xvvf encrypted.tar -P
if [ ! -e "$1"/ ]; then
echo "Invalid password!"
mkdir "$1"
cp encrypted.tar.sec "$1"/encrypted.tar.sec
exit 1
else
rm encrypted.tar
echo "Directory "$1" has been successfully decrypted."
fi
fi


<------end script-------->

Вот, собственно, и все. Скрипты можно положить в /usr/bin или /usr/local/bin
и начинать экспериментировать.

P.S. Конфидециальную информацию имеет смысл хранить на партиции с
журналируемой файловой системой, т.к. это сводит к нулю шансы злоумышленника
воспользоваться утилитами типа undelete. ReiserFS в этом плане оптимальна,
можно Ext3. По поводу XFS и JFS ничего сказать не могу, не в курсе. Параноики
после процесса зашифровки могут произвести какие-либо действия на диске,
например покопировать или постирать файлы, это сделает восстановление
невозможным.

P.P.S. Список доступных алгоритмов шифрования - команда 'openssl help' . По
умолчанию, бинарные пакеты OpenSSL не включают в себя достаточно мощные
шифры - IDEA и RC5. Если вы не страдаете помешательством на почве соблюдения
патентов, доставайте исходники с http://www.openssl.org/ и пересобирайте
руками с теми алгоритмами, которые считаете необходимыми.

Хотелось бы получить feedback по поводу скриптов, экспериментируйте! =)

Денис Каледин, 23.07.2003
hannibal at nline ru
599 Прочтений •  [Шифрование отдельных директорий с помощью OpenSSL (crypt ssl fs)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Шифрование отдельных директорий с п... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка