Симетричне та асиметричне шифрування

Існують дві методології криптографічного обробки інформації з використанням ключів - симетрична і асиметрична.

Симетрична (секретна) методологія, гдеі для шифрування, і для розшифровки, відправником та одержувачем застосовується один і той же ключ, про використання якого вони домовилися до початку взаємодії (риc. 2.1). Якщо ключ не був скомпрометований, то при розшифрування автоматично виконується аутентифікація відправника, так як тільки відправник має ключ, за допомогою якого можна зашифрувати інформацію, і тільки одержувач має ключ, за допомогою якого можна розшифрувати інформацію. Так як відправник і одержувач - єдині люди, які знають цей симетричний ключ, при компрометації ключа буде скомпрометовано тільки взаємодія цих двох користувачів.

Симетричне та асиметричне шифрування

Алгоритми симетричного шифрування використовують ключі не дуже великий довжини і можуть швидко шифрувати великі обсяги даних.

Доступними сьогодні засобами, в яких використовується симетрична методологія, є, наприклад, мережі банкоматів. Ці системи є оригінальними розробками володіють ними банків і не продаються.

З симетричних алгоритмів шифрування широке використання отримав алгоритм шифрування DES (винайдений фірмою IBM), який рекомендований у відкритих секторах економіки США. Цей алгоритм був з самого початку приречений на лімітовану тривалість життя внаслідок обмеження довжини ключа до 56 бітів.

Становище ускладнюється тим, що за законодавством США до експорту в якості програмних продуктів дозволені системи шифрування з ключем не більше 128 біт. Тобто, купуючи шіфросістему з ключем 1024 або 2048 і більше біт, треба знати, що при зміні ключа активної (змінюється) частиною буде частина ключа в 128 біт. Симетричні системи шифрування мають один загальний недолік, який полягає в складності розсилки ключів. При перехопленні ключа третьою стороною така система криптозахисту буде скомпроментіровалі. Так при заміні ключа його треба конфіденційно переправити учасникам процедур шифрування. Очевидно, що цей метод не годиться в тому випадку, коли потрібно встановити захищене з'єднання із тисячами і більш абонентів Інтернет. Основна проблема полягає в тому, як згенерувати і безпечно передати ключі учасникам взаємодії. Як встановити безпечний канал передачі інформації між учасниками взаємодії для передачі ключів по незахищених каналах зв'язку? Відсутність безпечного методу обміну ключами обмежує поширення симетричною методики шифрування в Інтернет.

Цю проблему намагалися вирішити, розробивши асиметричну (відкриту) методологію шифрування. Вона шифрує документ одним ключем, а розшифровує іншим. Кожен з учасників передачі інформації самостійно генерує два випадкових числа (секретний і відкритий ключі).

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

Відправник шифрує повідомлення відкритим ключем одержувача. а розшифрувати його може тільки власник секретного ключа (рис. 2.2).

Симетричне та асиметричне шифрування

Всі асиметричні криптосистеми є об'єктом атак шляхом прямого перебору ключів, і тому в них повинні використовуватися набагато довші ключі, ніж ті, які використовуються в симетричних криптосистемах, для забезпечення еквівалентного рівня захисту. Це відразу ж позначається на обчислювальних ресурсах, необхідних для шифрування. RSA перетворився в промисловий стандарт алгоритму з асиметричними ключами, який використовується в бізнесі для цифрового підпису та шифрування.

Симетричні і асиметричні системи шифрування мають кожна свої достоїнства і недоліки. Недоліки симетричною системи шифрування полягають в складності заміни скомпрометованого ключа, а недоліки асиметричною системи - у відносно низькій швидкості роботи. За криптостойкости довжині ключа в 128 біт симетричною системи відповідає ключ у 2304 біта асиметричною.

В даний час поширення набули системи шифрування, які використовують комбінований алгоритм, що дозволяє при високій швидкості шифрування, властивою AES використовувати відкриту пересилання ключів шифрування (як в RSA).

Для того щоб уникнути низької швидкості алгоритмів асиметричного шифрування, генерується тимчасовий симетричний ключ для кожного повідомлення. Повідомлення шифрується з використанням цього тимчасового симетричного сеансового ключа. Потім цей сеансовий ключ шифрується за допомогою відкритого асиметричного ключа одержувача і асиметричного алгоритму шифрування. Оскільки сеансовий ключ набагато коротше самого повідомлення час його шифрування буде порівняно невеликим. Після цього цей зашифрований сеансовий ключ разом із зашифрованим повідомленням передається одержувачу (рис. 2.3).

Симетричне та асиметричне шифрування

Одержувач використовує той же самий асиметричний алгоритм шифрування і свій секретний ключ для розшифровки сеансового ключа, а отриманий сеансовий ключ використовується для розшифровки самого повідомлення (рис. 2.4).

Симетричне та асиметричне шифрування

Криптографічні системи з відкритим ключем в даний час широко застосовуються в різних мережевих протоколах, зокрема, в протоколах TLS і його попереднику SSL (що лежать в основі HTTPS), в SSH. Також використовується в PGP, S / MIME.

Схожі статті