Утилита для работы с зашифрованными архивамиЗачастую, для обмена файлами между UNIX системами используют архиватор
tar. Можно смело сказать, что на данный момент
tar является самым популярным архиватором для UNIX-подобных систем, опережая не только
cpio и
pax, но и
zip и другие кросс-платформенные архиваторы. Неоспоримыми преимуществами tar являются и поддержка атрибутов файлов, и возможность использования различных утилит компрессии, и удобство использования в файлах сценариев.
Иногда стоит задача передать конфиденциальную информацию по открытым или ненадёжным каналам передачи. Например, требуется опубликовать архив с исходными кодами на сайте или передать его через общую папку Dropbox. Как в этом случае защитить данные? Для решения этой задачи был разработан скрипт
tarenc.
Описание работы tarencВ своей работе сценарий использует архиватор
tar для создания архивов, при этом поддерживаются различные алгоритмы компрессии. Для шифрования архивов используется
OpenSSL.
Синтаксис вызова команды:
tarenc [-key=<key>] [-keygen] [<file>]
Перед началом работы необходимо сгенерировать при помощи опции
-keygen ключи для шифрования архивов:
Ключи также могут быть переданы по безопасному каналу (например, на флешке). Для шифрования используется ключ
key_enc.pem, для расшифровки —
key_dec.pem. Сценарий позволяет работать с несколькими наборами ключей. Для выбора набора используется опция
-key.
Скрипту
tarenc передаётся имя файла или каталога. Если имя имеет расширение
.enc, то сценарий произведёт распаковку файлов, в противном случае — сжатие. Обратите внимание, что зашифрованный архив состоит из двух файлов —
*.enc и
*.key. Такой подход позволяет ещё больше повысить безопасность, т.к. архив и ключ могут быть переданы по разным каналам. Например, можно выложить архив на сайте или в Dropbox, а ключ переслать по электронной почте или передать на USB-флешке.
Работа сценария проверялась в ЗОСРВ КПДА «Нейтрино»/QNX Neutrino, Mac OS X и Ubuntu. Буду рад отзывам и замечаниям по работе скрипта.
Загрузка и установка tarencСкачайте и распакуйте архив со сценарием по одному из путей запуска программ (например, в
/usr/bin).
tarenc-20131217.tar.gzКонтрольная сумма:
$ cksum tarenc-20131217.tar.gz
1019043647 1143 tarenc-20131217.tar.gz