Использование OpenSSL
OpenSSL умеет симметрично шифрованть файлы. Я попытался зашифровать файл шифром 3des
[code]openssl des3 -in ABC.doc -out ABC.des3[/code]
Файл зашифровался, но его объем не стал меньше, а сохранился практически один в один (это файл word, который архиватором 7z сжался примерно в 3 раза, с 50 до 15 кБ). Хотя перед шифрованием положено файлы сжать.
1. В чем преимущества шифрования при использовании OpenSSL?
2. При наличии GnuPG есть ли смысл заниматься шифрованием с помощью OpenSSL?
3. Если ответ на п.2 отрицательный, то в каких областях OpenSSL вне конкуренции?
Ссылки
[link1] https://www.pgpru.com/forum/tehnicheskievoprosy/chemluchsheszhimatjdiskirassuzhdenijaobinfteorbezopasnosti
[link2] https://www.pgpru.com/comment70566
[link3] http://www.opennet.ru/base/sec/ssl_cert.txt.html
[link4] https://www.pgpru.com/comment57496
[link5] https://www.pgpru.com/comment57518
[link6] https://www.pgpru.com/comment39520
[link7] https://www.pgpru.com/comment39331
[link8] https://www.pgpru.com/comment73503
[link9] https://www.pgpru.com/comment39692
[link10] https://www.pgpru.com/forum/unixlike/pyritefrontendgnupgopenssl
[link11] https://www.pgpru.com/forum/unixlike/skriptshifrovanijafajjlovopenssl
[link12] https://www.pgpru.com/forum/unixlike/nbstegosh
[link13] https://www.pgpru.com/novosti/2008/predskazuemyjjgschinebezopasnyekljuchivdebianubuntu
[link14] https://www.pgpru.com/novosti/2014/ujazvimostjvopensslmozhetpodvergatjopasnostipoljzovatelejjtoridrugihprogramm
Так и должно быть.
Кем положено? Кому положено? Сжатие не способно повысить стойкость надёжных алгоритмов шифрования и не предназначено для этого. (Последние срачи на эту тему здесь[link1] и здесь[link2].)
Как у любой криптобиблиотеки: гибкость, скорость операций.
В каких целях? Какой use-case? Обычному пользователю, как правило, ручное использование OpenSSL ни к чему.
Обычное шифрование отдельного файла, для его защиты от просмотра и хранения например на удаленном хранилище. Так обычно использую gpg, но думаю вдруг openssl имеет какие-то преимущества.
Прочитал здесь[link3] о создании самоподписного сертификата. Возникли вопросы:
1. В какой папке следует искать создаваемые файлы, если начать выполнять команды из статьи (система Linux)?
2. Для того, что бы создать свой сертификат х509 для обмена зашифрованным e-mail сообщениями обязательно ли сначала делать собственный самоподписной сертификат, а после клиентский сертификат, который уже будет использоваться? Или можно сразу одной командой сделать нужный сертификат?
3. Обязательно ли создавать конфигурационный файл и где он должен лежать?
ps прошу прощения за вопросы "начального уровня", с openssl никогда дела не имел.
Для данного случая — никаких, если только файл не на несколько гигабайт, и при этом очень дорого время. OpenSSL шифрует бессигнатурно, что имеет как плюсы, так и минусы: Вам придётся запомнить, каким алгоритмом, в каком режиме и с какими параметрами выполнялось зашифрование, чтобы успешно расшифровать файл. GnuPG, в свою очередь, не даёт пользователю с лёгкостью выстрелить себе в ногу, т.к. вся информация о параметрах сохраняется в формате OpenPGP.
Ressa выкладывал здесь скрипт для шифрования файлов средствами OpenSSL, мотивируя тем, что сабж де-факто поддерживает любую длину ключей. На выходе получался исполняемый автономный .sh скрипт.
В дополнение к уже вышесказанному: это вопрос удобства. Если хочется уменьшить объём шифртекста, то сначала заархивируйте, а только потом зашифруйте данные.
Помимо вышесказанного:
Если у вас не какой-то особый случай (см. выше), то нет.
Работа с сертификатами, но и тут у него, в принципе, есть GNU-конкурент — GnuTLS. Правда, в силу тотального распространения OpenSSL и относительной молодости проекта GnuTLS доверия к первому больше, чем к последнему. Это не значит, что OpenSSL менее
говно[link6]паталогически дыряв по сути; это лишь значит, что в OpenSSL самые тривиальные дыры уже вычистили благодаря большому количеству его пользователей.Зачем вам сертификаты для шифрования e-mail? Вы поднимаете собственный mail-сервер, юзерские коммуникации с которым должны быть защищены посредством SSL/TLS? Для end-to-end шифрования писем строго рекомендовано GnuPG.
По умолчанию все файлы в текущей директории. Это то, что выводится командой pwd. Определяя путь к файлам, их можно создавать в любой другой директории. Читайте, что именно написано в командах.
Если речь идёт о создании сертификата для mail-сервера, то не имеет значения. Важно только, чтобы клиентский сертификат после был позже подписан тем, чем вы хотите. Я не очень хорошо разбираюсь в сертификатах, но вроде бы самоподписной сертификат не требует создания какого-то особого дополнительного, которым он будет подписываться. В некоторых случаях так всё же делают, чтобы, импортировав нужный сертификат в браузеры клиентов (например, внутри компании), потом выстроить доверие ко всем другим сертификатам, которые будут подписаны первым. Это так называемое создание своего Certification Authority (CA). Обычно люди этим не занимаются, а получают подпись от того сертификата, который уже есть в браузере — это либо платные услуги от одного из сотен возможных поставщиков (CA), либо бесплатные от StartCom. В любом случае, это достаточно продвинутые вещи, и без понимания азов лучше туда не лезть.
Бессигнатурно, но только в смысле неполноты сигнатур для расшифрования/зашифрования по умолчанию, а не в смысле отрицания шифрования. Сигнатуры, указывающие на то, что это именно OpenSSL, имеются[link6] (по крайней мере, если будете шифровать правильно, указывая нужные опции).
Было от него примерно три похожих по смыслу топика:
В области бэкдоров. Он настолько эпичен, что легко порвёт любой другой софт по масштабам мировых последствий [1][link13], [2][link14].
Это не доказано. Люди ошибаются, а computer science местами сплошное искусство и никакой науки. Сидят макаки за маками.
Ту часть деятельности не приятно называть CS. CS — это FOCS, STOC, CRYPTO, QIP, IEEE, SIAM J и т.п. Макак там не особо. Остальные тупо кодеры.