Avatara

Криптография и шифриране

„Изкуството на измамата е обвързано с необходимостта да споделяме истината без да бъдем разбрани ... ”

 

Из „Методика на дезинформацията”

 

УВОД

 

През последните десетилетия информацията се превърна в една от най-ценните стоки в съвременният свят. Развитието на телекомуникациите и системите за пренос и съхраняване на данни улесниха достъпът до различни по обем и характер информационни масиви както на отделни лица така и на големи групи от потребители. Упростените процедури, прилагани широко в различните мрежи, доведоха до значителни усложнения, свързани с гарантиране сигурността на данните при отсъствие на мерки за тяхната защита.

 

Някои от най-често срещаните прояви на посегателство върху информацията са:

 

§         Неоторизиран достъп.

§         Неоторизирано изменение на информацията.

§         Неоторизирано използване на сервизни функции.

§         Отклоняване на транзакции и отказ от обслужване.

 

 

Криптография и шифриране

 

Определение: Криптографията е наука, чиято задача е да гарантира обезпечаване сигурността на различни като съдържание и обем информационни масиви. Основната задача на криптографията е намиране на решения в четири основни области както следва:

 

 §         Конфиденциалност на информацията

 

§         Идентефикация на участниците в процеса на обмен на информация

 

§         Съхраняване целостта на информационните масиви

 

§         Контрол върху лицата, участващи непосредствено в процеса на обмен на информация  Един от основните процеси е този на шифроване на информацията.  Определение: Шифроването е процес, при който данните се преобразуват по начин, който не позволява те да бъдат разчитани независимо дали става дума за текстова, аудио, видео или друг тип информация. В процеса на шифроване могат да се използват ключове, чието предназначение е да кодират и декодират информацията, гарантиращи по този начин нейната конфеденциалност.Конфиденциалността е процес, при който посредством шифриране или друг тип процедури се запазва в тайна съдържанието на дадено послание от всички онези, за които то не е предназначено.

 

 

Системи за криптиране

 

Системите за криптиране (криптосистеми), работят по определена методика (процедура), Тя се състои от един или повече алгоритми за шифроване (математически формули); ключове, използвани от същите алгоритми, системи за управление на ключовете, незашифрован текст и зашифрован (кодиран текст или шифрограма).

 

 

 

 

 

Фиг.1 Последователност на криптиране на текст  

 

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

 

Методика при използване на ключове  

 

При тази методика алгоритъмът на шифроване е обвързан с криптиращ ключ, посредством който се генерира шифрограмата. Безопасността на шифровани по този начин данни зависи изцяло от конфиденциалността на ключа, използван в процеса на шифроване, а не от съхраняване тайната на използвания алгоритъм. Много алгоритми са общодостъпни именно благодарение на тази особенност (например DES).  Друг важен момент е идентификацията на съставителя, съответно получателя. В този случай са налице два сериозни проблема:  

 

§         Информацията се кодира от някой, който притежава достъп до ключа в даден момент. Редно е това да бъде притежателя на ключа, но ако системата е компрометирана, това може да се окаже друг човек.

 

§         Когато участниците в процеса на обмен на информация получат ключовете, те не получават гаранции, че тези ключове са генерирани и изпратени от упълномощени за това лица. Съществуват две основни методики при използване на ключ – симетрична (със секретен ключ) и асиметрична (с открит ключ). Всяка от тези методики използва свои собствени процедури, както и способи за разпределение на ключовете, типовете на шифриране и дешифриране на информацията и др. Тъй като терминологията е специфична се налага да бъде дадено пояснение за някои основни термини.

 

Таблица 1 

 

 

Термин Тълкувание Забележка
Симетрична  При нея се използва един ключ, с помощта на  който се извършва както шифроването така и разшифроването на информацията при прилагане на един и същи алгоритъм за двата процеса. Ключът се предава на двамата учасници в процеса при установени правила за сигурност преди обмена на информация. В практиката се означава като методология със секретен ключ. 
Асиметрична Използва алгоритми за асиметрично шифроване, както и асиметрични ключове за генериране на симертичен ключ.Създават се два взаимосвързани асиметрични ключа. Симетричния ключ, генериран с помощта на асиметричен ключ и съответния алгоритъм за асиметрично шифроване, се разшифрова посредством използване на друг ключ и същия шифриращ алгоритъм.Единият от асиметричните ключове се съхранява при ползвателя, а другият при лицето (организацията), която носи отговорност за тяхното съхранение (СА-сертификационен център), до началото на тяхното практическо приложение. В практиката е известна като методология с открит ключ.
Секретен ключ(1) Симетричен метод Използва се един ключ, с помощта на който се извършва шифрирането и дешифрирането на информацията
Секретен ключ (2) Секретен ключ за симетрично шифроване Симетричен секретен ключ
Секретен ключ (3) Секретен ключ за асиметрично шифроване Асиметричен секретен ключАсиметричните ключове се генерират по двойки. Изразът «секретен ключ» се използва само за този от двойката ключове, който е абсолютно секретен.Реално асиметричния секретен ключ няма ниюо общо със симетричния такъв.
Открит (публичен) ключ (1) Асиметрична методология Използва се двойка шифровъчни ключове като това, което е зашифровано с единият може да бъде разшифровано само и единствено с другия ключ от двойката.
Открит (публичен) ключ (2) Публичен ключ за асиметрична методология Асиметричните ключове се генерират по двойки.Изразът «публичен ключ» (открит ключ) се използва за този от двата ключа, който подлежи на оповестяване.
Сеансов ключ Симетричен (секретен) шифрираш ключ Използва се при симетрична методология за кодиране на данните, с помощта на симетрични алгоритми. На практика това е просто симетричен, секретен ключ.
Шифровъчен алгоритъм Математическа формула Симетричните алгоритми използват симетрични ключове.Асиметричните алгоритми използват асиметртични ключове.Не е възможно да се използват симетрични ключове за асиметрични алгоритми и обратното.
Секретни криптосистеми Използват симетрични алгоритми и симетрични (секретни) ключове за шифроване на данни.  
Открити (публични) криптосистеми Използва асиметрични алгоритми и асиметрични ключове за генериране на сеансови ключове. Използват симетрични алгоритми и симетрични (секретни) ключове за шифроване на данни.  

 

 

Симетрична (секретна) методика  

 

При тази методология за шифриране и дешифриране на изнформацията, подателят и получателят разполагат с един и същи шифрираш ключ, за използването на който са се договорили преди началото на взаимодействието между тях. Ако ключът не е компрометиран, то при декодирането на зашифрованата информация автоматично се извършва идентефикация на подателя, тъй като само той освен получателят разполага със съответния ключ. Тъй като подателят и получателят са единствените физически лица, които имат достъп до секретните ключове, при компрометиране на системата те са единствените, които търпят последствията от това. Проблемът, който е актуален и при други криптосистеми е въпросът свързан с безопасното разпространение на симетричният (секретен) ключ.  Алгоритмите за симетрично криптиране използват ключове с малка дължина и позволяват бързото шифроване на относително големи по обем информационни масиви.  

 

Последователността на ползване на системи със симетричен ключ е:   

 

·         При съблюдаване на правилата за сигурност се генерира, разпространява и съхранява симетричния, секретен ключ.

 

·         Подателят създава електронен подпис с помощта на хеш-функция за конкретния, информационен масив, след което го добавя към пакета информация, която подлежи на шифриране.

 

·         Полученият пакет (съдържание и електронен подпис) се криптира с помощта на симетричен, пифроващ алгоритъм и секретен ключ. По този начин се извършва неявна идентефикация на подателя, тъй като само той разполага с алгоритъма и ключа за шифриране.

 

·         Подателят изпраща шифрограмата към получателя. Симетричният, секретен ключ никога не се предава по незащитен канал за връзка.

 

·         Получателят с помощта на асиметричния клю (идентичен с този на подателя) декодира получената шифрограма, като при това възстановява информационният масив и придружаващият го електронен подпис.

 

·         Електронният подпис се отделя от останалата информация.

 

·         Създава се нов електронен подпис на база получената информация при използване на хеш-функция, идентична с тази на подателя.

 

·         Двата електронни подписа се сравняват за да бъде гарантирана целостта на получената информация (липса на изкривяване).  

 

Някои от достъпните и в момента средства, при които се използва симетрична методология са:   ·         Kerbeosразработен първоначално за контрол (идентефикация) на достъпа до мрежови ресурси. Използва централна база данни, в която се съхраняват копия от секретните ключове на всички ползватели.

 

·         Банкоматите (ATM Banking Networks) – Тези системи са оригинални разработки (custom design) на самите банки и не се продават. При тях също се използва симетричен метод.     

 

Асиметрична (публична) методика   

 

При тази методика на криптиране ключовете за шифриране и дешифриране на информацията са различни, макар и да се генерират на едно и също място. Един от ключовете е общодостъпен (публичен), а другият се съхранява в съответствие с условия, гарантиращи неговата конфеденциалност.

 

Макар и двата ключа да позволяват шифриране и дешифриране на информацията, криптираната с единият от тях информация може да бъде декодирана само с другия.Всяка асиметрична криптосистема се явява обект на атака по метода на пробите и грешките, затова при тях се използват ключове с по-голяма дължина, от тези в симетричните, при гарантиране на еквивалентно ниво на защита. Това неминуемо довежда до повишаване на изискванията към използвания изчислителен ресурс. За разрешаване на този проблем се използват различни видове алгоритми, като например този на елиптичните криви.В своята книга «Приложна криптография», Брус Шнайер, привежда следната сравнителна таблица при еквивалентна дължина на ключа.  

 

Таблица 2

 

Дължина на симетричния ключ Дължина на публичния ключ
56 Bit 384 Bit
64 Bitа 512 Bit
80 Bit 768 Bit
112 Bit 1792 Bit
128 Bit 2304 Bit

 

 

За да се разреши проблемът с ниската скорост на обработка при използване на асиметрични алгоритми за криптиране на информация, се генерира временен симетричен ключ за всяка една от предаваните шифрограми, като самият ключ се кодира посредством асиметричен алгоритъм. Информацията, съдържаща се в шифрограмата се кодира с помощта на сеансовия ключ. Сеансовият ключ се шифрова с открития, аиметричен ключ на получателя и асиметричен алгоритъм за шифроване. Зашифрованият сеансов ключ заедно с шифрограмата се предава на получателя. Получателят използва асиметричният алгоритъм и своя секретен ключ за дешифриране на сеансовия ключ, а получения сеансов ключ за декодиране на шифрограмата.При асиметричните криптографски системи е важно сеансовите и асиметричните ключове да бъдат съпоставими по отношение на нивото на безопасност, което осигуряват. Ако се използва сеансов ключ с малка дължина (например 40-Bit DES), няма значение кaкъв е размерът на асиметричните ключове. Хакерите ще атакуват не тях, а сеансните ключове.

 

Асиметричните, публични ключове са уязвими за атаки и поради факта, че са трудно заменими. Ако атакуващият получи достъп до секретен асиметричен ключ, то ще бъде компрометирана не само текущата, но и всички последващи транзакции. Редът на използване на асиметричен ключ е както следва: ·          В съответствие с изискванията за конфеденциалност се създават и разпространяват асиметрични, публични и секретни ключове. Секретния асиметричен ключ се предава на ползвателите. Публичният асиметричен ключ се съхранява в база данни X.500 и се администрира от сертифициран център (Certification Authority  Center CAC).

 

Важно е потребителите да вярват, че центърът им гарантира безопасно генериране разпределение и администриране на ключовете. Когато създателят на ключа и лицето или организацията, които го администрират не са едно и също е нужно крайният потребител да е убеден, че създателят на ключа е унищожил всички налични копия.

 

·         С помощта на хеш-функция се генерира електронен подпис за конкретния, информационен масив. Резултатът се криптира при използване на асиметричния, секретен ключ на подателя, след което се добавя към основното съобщение (формира се пакет). Важно е да се знае, че в този случай само подателят формира електронен подпис.

 

·         Генерира се секретен симетричен ключ, който ще бъде използван само при конкретната транзакция или сеанс на взаимодействие (сеансов ключ), след което с помощта на симетричен алгоритъм за кодиране/декодиране и този ключ се шифрова изходното съобщение, заедно с донбавеният електронен подпис (формира се шифрограма).·         Избира се стратегия за преодоляване на проблемите, съпътстващи предаването на сеансовия ключ на получателя.

 

·         Подателят трябва да разполага с асиметричен публичен ключ генериран в САС. Прихващането на некодирани транзакции, съпътстващи процеса на получаването на този ключ е изключително разпространена форма на атаки. Възможно е да се разработят множество системи за получаване на публични ключове и потвърждаване на тяхната автентичност. Стандартът X.509 описва множество такива методики, но нито една от тях не е в състояние да гарантира, че ще бъде избегната подмяната на публичният ключ, издаден от САС.

 

·         Подателят изисква САС да предостави публичен ключ на получателя. Този процес също е изключително уязвим за нежелателни действия, тъй като в хода на процедурата е възможно трафикът да бъде модифициран. Поради тази причина асиметричният ключ на получателят се подписва от САС. На практика това означава, че САС използват свой асиметричен, секретен ключ за шифроването на асиметричния секретен ключ на получателя.

 

·         След като е получил асиметричния, публичен ключ от САС, получателят го дешифрира с помощта на асиметричния си ключ и алгоритъма за асиметрично криптиране. Предполага се, че до този момент САС не са били компрометирани. Ако това не е вярно, то мрежата  от потребители на САС е дискредитирана като цяло.

 

Остава открит въпросът, какво следва ако получателят, използващ система за асиметрично шифроване е дискредитиран?

 

·         Сеансовият ключ се шифрова при използването на асиметричен алгоритъм и асиметричен ключ, получен от СА и декодиран.

 

·         Зашифрованият сеансов ключ се добавя към информационният масив, който включва в себе си и електронният подпис на подателя.

 

·         Получената шифрограма се предава на получателя. Тъй като зашифрования сеансен ключ се предава по незащитен канал, той се явява поредният обект за различни по характер и форми атаки.

 

·         Получателят отделя зашифрования сеансен ключ от получения пакет.

 

·         Избира се стратегия за решаване на проблемите съпътстващи разшифровката на сеансния ключ.

 

·         Получателят трябва да разполага с публичен ключ, предоставен му от САС.

 

·         Използвайки симетричен алгоритъм и симетричния сеансов ключ, получателят декодита получената шифрограма, като отделя електронният подпис от съдържанието.

 

·         Получателят изисква от САС асиметричният публичен ключ на подателя.

 

·         Използвайки публичният ключ на подателя и асиметричния криптиращ алгоритъм, получателят генерира хеш-функция.

 

·         Извършва се преизчисляване на хеш-функцията за съдържанието на шифриограмата.

 

·         Двете хеш-функции се сравняват за да бъде гарантирана достоверността на получените данни.

 

 

Коментар

kr_bozhinov's blog said:

Привет на всички. През последната седмица непрекъснато чувам за този „свински грип” Днес прочетох и новината

# Октомври 30, 2009 7:32