Використання OpenSSL

Використання OpenSSL

 

Хочу спочатку запропонувати вам подивитися на Использования OpenSS
OpenSSL вміє симетрично шифрованть файли. Я спробував зашифрувати файл шифром 3des

 

 

 

Файл зашифровался, але його обсяг не став меншим, а зберігся практично один в один (це файл word, який архіватором 7z стиснувся приблизно в 3 рази-з 50 до 15 кБ). Хоча перед шифруванням належить стиснути файли.

 

1. У чому переваги шифрування при використанні OpenSSL?
2. При наявності GnuPG є сенс займатися шифруванням за допомогою OpenSSL?
3. Якщо відповідь на п. 2 від’ємний, то в яких областях OpenSSL поза конкуренцією?

 

 

Коментарі

 

SATtva (04/01/2014 11:06)   профіль/зв’язок   <#>
коментарів: 11478 документів: 1034 редакцій: 3989
відбиток ключа: …FAEB26F78443620A

Файл зашифровался, але його обсяг не став меншим, а зберігся практично один в один

Так і повинно бути.

Хоча перед шифруванням належить стиснути файли.

Ким належить? Кому належить? Стиснення не здатне підвищити стійкість надійних алгоритмів шифрування і не призначений для цього. (Останні срачі на цю тему тут та тут.)

У чому переваги шифрування при використанні OpenSSL?

Як у будь криптобиблиотеки: гнучкість, швидкість операцій.

При наявності GnuPG є сенс займатися шифруванням за допомогою OpenSSL?

В яких цілях? Який use-case? Звичайному користувачеві, як правило, ручне використання OpenSSL ні до чого.

 

Slon (04/01/2014 11:51)   <#>

В яких цілях? Який use-case? Звичайному користувачеві, як правило, ручне використання OpenSSL ні до чого.

Звичайне шифрування окремого файлу, для його захисту від перегляду та зберігання наприклад на віддаленому сховищі. Так зазвичай використовую gpg, але думаю раптом openssl має якісь переваги.

Прочитав тут про створення самоподпісного сертифіката. Виникли питання:

1. У якій папці слід шукати створювані файли, якщо почати виконувати команди з статті (система Linux)?

2. Для того, що б створити свій сертифікат х509 для обміну зашифрованими e-mail повідомленнями обов’язково спочатку робити власний самоподписной сертифікат, а після клієнтський сертифікат, який вже буде використовуватися? Чи можна відразу однією командою зробити потрібний сертифікат?

3. Чи обов’язково створювати конфігураційний файл і де він повинен лежати?

ps прошу вибачення за питання «початкового рівня», з openssl ніколи справи не мав.

 

SATtva (04/01/2014 12:44)   профіль/зв’язок   <#>
коментарів: 11478 документів: 1034 редакцій: 3989
відбиток ключа: …FAEB26F78443620A

Звичайне шифрування окремого файлу, для його захисту від перегляду та зберігання наприклад на віддаленому сховищі. Так зазвичай використовую gpg, але думаю раптом openssl має якісь переваги.

Для даного випадку — ніяких, якщо файл не на кілька гігабайт, і при цьому дуже дорого час. OpenSSL шифрує бессигнатурно, що має як плюси, так і мінуси: Вам доведеться запам’ятати, яким алгоритмом, в якому режимі і з якими параметрами виконувалося зашифрування, щоб успішно розшифрувати файл. GnuPG, в свою чергу, не дає користувачеві з легкістю вистрілити собі в ногу, тому що вся інформація про параметри зберігається у форматі OpenPGP.

 

Гість (04/01/2014 15:08)   <#>

Ressa викладав тут скрипт для шифрування файлів засобами OpenSSL, мотивуючи тим, що сабж де-факто підтримує будь-яку довжину ключів. На виході виходив автономний виконуваний .sh скрипт.

 

Гість (12/01/2014 04:39)   <#>
> Хоча перед шифруванням належить стиснути файли.

На додаток до вищесказаного: це питання зручності. Якщо хочеться зменшити обсяг шифртекста, то спочатку заархівуйте, а тільки потім зашифруйте дані.

> 1. У чому переваги шифрування при використанні OpenSSL?

Крім вищесказаного:

  1. OpenSSL — як правило, частину системи. Наприклад, на сирій свіжовстановленому голою BSD немає GnuPG, а OpenSSL є, тому якщо хочеться особливо повної портируемости між системами, можна скористатися OpenSSL.
  2. Основний use case OpenSSL — робота з SSL-сертифікатами (GnuPG цього всього просто не вміє), які потрібні, наприклад, для сайтів на HTTPS, SSL в XMPP-протоколі і т. д. Те, що при цьому за допомогою OpenSSL можна просто шифрувати файли або листування — лише, швидше, misuse, а не фіча.
  3. Іноді потрібно бессигнатурное шифрування для отрицаемости. У GnuPG з цим погано [1], [2]. У OpenSSL начебто трохи краще, але гарантій ніхто не дасть. Крім OpenSSL і GnuPG можна згадати про mcrypt і cryptsetup/LUKS, якими теж в принципі можна шифрувати файли, причому з допомогою LUKS в plain mode (а також, напевно, в truecrypt mode) з потрібними параметрами і правильно сгенеренным паролем ніби як це буде надійно бессигнатурно. Головна відмінність від GnuPG тут в тому, що немає захисту від дурня: GnuPG — це все в одному, де є надійна KDF, вектор ініціалізації та ін. У деяких інших тулзах цього може не бути (наприклад, в mcrypt), тому можна ненароком дуже сильно послабити шифр.Загалом, це для тих людей, які розуміють, навіщо це потрібно, для всіх інших випадків є GnuPG.
  4. Іноді потрібно отримати потік псевдовипадкових чисел з хорошою продуктивністю. У OpenSSL така можливість є, чого не скажеш про багато інших тулзы. Для заполенения диска рандомом, правда, краще використовувати шифрування нулів cryptsetup/LUKS’ом, але, в принципі, у OpenSSL PRNG можуть бути і інші застосування, де LUKS не підійде.

 

> 2. При наявності GnuPG є сенс займатися шифруванням за допомогою OpenSSL?

Якщо у вас не якийсь особливий випадок (див. вище), то ні.

> 3. Якщо відповідь на п. 2 від’ємний, то в яких областях OpenSSL поза конкуренцією?

Робота з сертифікатами, але і тут у нього, в принципі, є GNU-конкурент — GnuTLS. Правда, в силу тотального поширення OpenSSL і відносної молодості проекту GnuTLS довіри до першого більше, ніж до останнього. Це не означає, що OpenSSL менше гівно паталогически дыряв по суті; це лише означає, що в OpenSSL самі тривіальні діри вже вичистили завдяки великій кількості його користувачів.

> Прочитав тут про створення самоподпісного сертифіката. Виникли запитання

Навіщо вам сертифікатів для шифрування e-mail? Ви піднімаєте власний mail-сервер, юзерские комунікації з яким повинні бути захищені за допомогою SSL/TLS? Для end-to-end шифрування листів суворо рекомендовано GnuPG.

> В якій папці слід шукати створювані файли, якщо почати виконувати команди з статті (система Linux)?

За замовчуванням всі файли в поточній директорії. Це те, що виводиться командою pwd. Визначаючи шлях до файлів, їх можна створювати в будь-якій іншій директорії. Читайте, що саме написано в командах.

> Для того, що б створити свій сертифікат х509 для обміну зашифрованими e-mail повідомленнями обов’язково спочатку робити власний самоподписной сертифікат, а після клієнтський сертифікат, який вже буде використовуватися? Чи можна відразу однією командою зробити потрібний сертифікат?

Якщо мова йде про створення сертифіката mail-сервера, то не має значення. Важливо тільки, щоб клієнтський сертифікат після пізніше був підписаний тим, чим ви хочете. Я не дуже добре розбираюся в сертифікатах, але начебто самоподписной сертифікат не вимагає створення якогось особливого додаткового, яким він буде підписуватися. В деяких випадках все ж роблять, щоб, імпортувавши потрібний сертифікат в браузери клієнтів (наприклад, всередині компанії), потім вибудувати довіру до всіх інших сертифікатів, які будуть підписані першим.Це так зване створення свого Certification Authority (CA). Зазвичай люди цим не займаються, а отримують підпис від того сертифіката, який вже є в браузері — це або платні послуги від одного із сотень можливих постачальників (CA), або безкоштовні від StartCom. У будь-якому випадку, це досить просунуті речі, і без розуміння азів краще туди не лізти.

> OpenSSL шифрує бессигнатурно, що має як плюси, так і мінуси: Вам доведеться запам’ятати, яким алгоритмом, в якому режимі і з якими параметрами виконувалося зашифрування, щоб успішно розшифрувати файл.

Бессигнатурно, але тільки в сенсі неповноти сигнатур для розшифрування/зашифрування за замовчуванням, а не в сенсі заперечення шифрування.Сигнатури, що вказують на те, що це саме OpenSSL, є (принаймні, якщо будете зашифрувати правильно, вказуючи потрібні опції).

> Ressa викладав тут скрипт для шифрування файлів засобами OpenSSL

Було від нього приблизно три схожих за змістом топіка:

  1. Pyrite – фронтенд GnuPG\OpenSSL
  2. Скрипт шифрування файлів відкритим ключем OpenSSL
  3. NBStego.sh

 

Гість (13/04/2014 01:25)   <#>
> в яких областях OpenSSL поза конкуренцією?

В області бекдорів. Він настільки эпичен, що легко порве будь-який інший софт за масштабами світових наслідків [1], [2].

 

Гість (13/04/2014 01:40)   <#>
>В області бекдорів

Це не доведено. Люди помиляються, а computer science місцями суцільне мистецтво і ніякої науки. Сидять макаки за маками.

 

Гість (13/04/2014 08:04)   <#>
> computer science місцями суцільне мистецтво і ніякої науки7

Ту частину діяльності не приємно називати CS. CS — це FOCS, STOC, CRYPTO, QIP, IEEE, SIAM J і т. п. Макак не особливо. Решта тупо кодери.