Протоколи за разпределение на ключове с помощта на цикъл. Управление на ключове

Протоколи за разпределение на ключове с помощта на цикъл.  Управление на ключове
Протоколи за разпределение на ключове с помощта на цикъл. Управление на ключове

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

съдържание

Постановка на проблема с информационната сигурност

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

Схемата за разпределение на публичните ключове, предложена от Уитфийлд Дифи и Мартин Хелман, направи истинска революция в света на криптирането, тъй като премахна основния проблем на класическата криптография - проблема с разпределението на ключовете. Същата статия представи и основите на асиметричната криптография.

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

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

Теоретични основи за решаване на проблема

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

Общата схема на протокола е следната:

предварителен етап

  • get p - голямо просто число;
  • получавате пълно разлагане на числото (p -1) на множители;
  • изчислете примитивния корен r по модул p (r mod p).

Съставно число се разлага на прости множители (на прости числа или техните положителни цели числа, евентуално нула), където p i са прости числа; b i са степени на прости числа.

За да се изчисли примитивният корен е необходимо за всяко число от интервала условието . При това условие всяко число може да бъде представено като , където x е някакво положително цяло число от интервала . Като публичен ключ се използва двойка числа (p,r).

работен етап

Нека и са двама абонати, които трябва да получат споделен таен ключ. Тогава:

1. генерира елемент , изчислява и изпратете резултата

2. генерира елемент , изчислява и изпратете резултата

3. изчислява стойността

4. изчислява стойността

След получаване на стойността и трябва да бъдат унищожени.

В резултат на изпълнението на протокола всеки от абонатите получава общ ключ, който може да се използва в симетрични системи за криптиране. В същото време противник, който знае публичния ключ (p, r), няма да може да изчисли стойността на . При прихващане на числа врагът също няма да може да получи стойността.

Основни криптографски конструкции и тяхната сигурност

Протокол за разпространение на публичен ключ Diffie-Hellman

Този протокол е предложен през 1976 г. и е първият протокол от този вид. Може да се нарече и един от най-известните протоколи за разпространение на публичен ключ.

Протоколът Diffie-Hellman не осигурява нито удостоверяване, нито валидиране на ключове, нито удостоверяване на участниците в протокола. Активен противник може да изгради атака върху протокола чрез вмъкване в канал (атака Man-in-the-Middle).

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

Предимството на метода Diffie-Hellman в сравнение с метода RSA е, че формирането на споделен секретен ключ е стотици пъти по-бързо. В системата RSA генерирането на нови частни и публични ключове се основава на генерирането на нови прости числа, което отнема много време.

Схема на ElGamal

Тази криптосистема е предложена през 1985 г. ElGamal предложи тази схема, базирана на степенуване по модул на голямо просто число. Той подобри системата Diffie-Hellman и получи два алгоритъма, които бяха използвани за криптиране и за удостоверяване.

Практическо приложение на криптографски структури, особености на тяхното прилагане

Първото практическо приложение на криптосистемите с публичен ключ– организиране на обмен на ключове между отдалечени потребители чрез отворени комуникационни канали

IKE (Internet Key Exchange)

IKE е стандартен IPsec протокол, използван за защита на комуникация във виртуални частни мрежи. Протоколът IKE позволява договаряне на алгоритми и математически структури за процедурата за обмен на ключове Diffie-Hellman, както и процеси на удостоверяване.

IPsec (IP Security) - набор от протоколи за осигуряване на защита на данните, предавани по интернет протокол IP. Позволява автентификация (автентификация), проверка на целостта и/или криптиране на IP пакети. IPsec включва също протоколи за защитен обмен на ключове Diffie-Hellman през Интернет.

IKE протоколите служат за три цели:

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

Управлявайте параметрите на връзката и защитата срещу определени видове атаки, контролирайте изпълнението на всички постигнати договорености;

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

PGP (Доста добра поверителност)

PGP е популярна програма за криптиране, декриптиране и цифров подписсъобщения електронна поща, файлове и друга информация, предоставена в електронен вид. Работи на принципа на асиметричното криптиране, което позволява обмен на публични ключове през несигурни комуникационни канали. Частни ключовене се предават, така че програмата е организирана по такъв начин, че всички команди за изпращане и обмен на ключове работят само с публични ключове.

Натрупване на ключове

Генериране на ключове

Управление на ключове

Ключовата информация се разбира като съвкупността от всички активни ключове в ИС.

Управлението на ключовете е информационен процес, който включва 3 елемента:

генериране на ключове;

натрупване на ключове;

раздаване на ключове.

Известно е, че не трябва да използвате неслучайни ключове. Сериозните интегрални схеми използват специален софтуер и хардуерни методи за генериране на произволни ключове. Като правило се използват сензори за произволни и псевдослучайни числа. Степента на произволност трябва да е висока. Идеалните генератори са устройства, базирани на естествени случайни процеси. Физическият генератор на случайни числа е вграден в ядрото на процесора Pentium 3.

Математически произволните числа могат да бъдат получени с помощта на десетичните знаци на трансценденталните числа, като π или e, които се изчисляват с помощта на стандартни математически методи. ИС със средни изисквания за сигурност използва софтуер за получаване на случайни числа.

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

Ключът, който криптира информацията за ключа, се нарича главен ключ.

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

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

Разпределението на ключове е най-критичният процес в управлението на ключове. Има две изисквания:

· Ефективност и точност на разпределението.

· Тайна на разпространение на ключове.

Потребителите в симетрични криптосистеми трябва да обменят споделен таен ключ, който ще се използва както за криптиране, така и за декриптиране.

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

1) възможно е ключът да се достави чрез куриер, но тъй като ключовете трябва да се актуализират, доставката е скъпа и неефективна

2) получаване от двама потребители на общ ключ от централния орган (Център за разпределение на ключове - CDC). Предаваният ключ е шифрован с CRC ключа. Недостатък: нападател може да се появи в CRC. Възможно е да се организира съхранението на ключове в КРС под формата на дърво.

3) Третият метод е предложен от учените Дифи и Хелман – протокол за обмен на ключове с отворен канал. Протоколът е поредица от стъпки, които 2 или повече страни предприемат за съвместно решаване на проблем. Всички стъпки следват по ред на приоритет.



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

Протокол за обмен на ключове за публичен канал Diffie-Hellman.

Цел: двама потребители A и B получават споделен таен ключ.

1. Потребител A генерира произволно число X.

2. Потребител B генерира произволно число Y.

3. A изчислява: La=a^x mod m

4. B изчислява: Lb=b^y mod m

5. A изпраща потребител B La.

6. B изпраща Lb на потребител A.

7. A изчислява Kab =(Lb)^x mod m=(a^y mod m)^x mod m=a^xy mod m.

8. B изчислява Kab =(La)^y mod m=(a^x mod m)^y mod m=a^xy mod m.

Така и двамата потребители вече имат един и същ частен ключ на Kab.

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

Във всички случаи на обмен на ключове трябва да се гарантира автентичността на комуникационната сесия, което се осигурява чрез:

1. механизъм "заявка-отговор" (процедура "handshake" = настройка на виртуален канал);

2. механизъм за щамповане на времето.

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

1. Взаимно удостоверяване на участниците в сесията.

2. Валидиране на сесията чрез механизъм предизвикателство-отговор или времеви клейма.

3. Използване на минималния брой съобщения в обмена на ключове.

4. Възможност за изключване на злоупотреба от КРС (до отказ от нейните услуги).

Препоръчително е да се отдели процедурата за проверка на самоличността на партньорите от самата процедура за разпределяне на ключовете.

Метод за постигане както на автентичност, така и на цялостност при разпространението на публични ключове е чрез използването на сертификати.

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

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

Например: сертификат за публичен ключ за потребител A, обозначен като C A, съдържа времева клеймо T, идентификатор Id A, публичен ключ K A, криптиран със секретния ключ CRK K crc:

C A \u003d E K crk (T, Id A, K A)

Времевият печат T се използва за валидиране на валидността на сертификата и по този начин за предотвратяване на повторение на стари сертификати. Секретният ключ К на ЦРК е известен само на мениджъра на ЦРК, а публичният ключ на ЦРК е известен на всички абонати

Система, която осигурява криптиране с публичен ключ и цифров подпис, се нарича инфраструктура с публичен ключ.

Сертифициращият орган създава потребителски сертификати чрез цифров подпис, използвайки своя частен ключ и подписва следния набор от данни:

1. Пълно имепотребител (номер, парола).

2. Публичен ключ на потребителя.

3. Срок на валидност на удостоверението.

4. Специфични операции, за които може да се използва този ключ (идентификация, криптиране или и двете).

Kerberos удостоверяване

За да се реши проблемът с удостоверяването, което ще се основава на криптиране, през 1985 г. в Масачузетския технологичен институт е разработена система за сигурност. информационни системиот прониквания, със специална билетна услуга. Наречен е Керберос на името на триглавото куче Цербер, което пазеше портите към ада в гръцката митология.

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

Системата Kerberos държи секретните ключове на обслужваните субекти и им помага да изпълняват взаимно удостоверяване.

  1. получаване от потребителя на билет TGTза билети;
  2. получаване от потребителя билет за достъп до сървъра;
  3. удостоверяване на потребителя от сървъра;
  4. удостоверяване на сървъра от потребителя.

Нека разгледаме по-подробно удостоверяването в системата Kerberos ( ориз.), което се извършва в четири стъпки:

1) Сесията започва с получаване на A от потребителя билет за получаване на билет - билет за предоставяне на билет (TGT)от CRC.

2) Когато потребител иска достъп до сървър B, той първо изпраща заявка до билет за достъп до този сървързаедно с вашия билет TGT V CRC. TGTсъдържа информация за сесията за влизане на потребител A и позволява CRCработят без постоянно поддържане на информация за сесията за влизане на всеки потребител.

3) В отговор на своята заявка потребител А получава криптиран сесиен ключ S A и билет за достъп до сървъра C. Ключът на сесията е криптиран с таен ключ, известен само на потребител A и CRC. Билет за достъп до сървъра B съдържа същия сесиен ключ, но е криптиран с частен ключ, известен само на сървър B и CRC.

4) Удостоверяването се извършва, когато потребител А и сървърът докажат познаване на техния частен ключ. Потребителят криптира клеймото за време и го изпраща на сървър B. Сървърът декриптира клеймото за време, увеличава го с единица, криптира го отново и изпраща шифрования текст на потребител A. Потребител A декриптира отговора и ако съдържа увеличената стойност на клеймото , удостоверяването е успешно, в противен случай е неуспешно. След взаимно удостоверяванесесийният ключ може да се използва за криптиране на съобщения, обменяни между потребител A и сървър B. Очевидно страните трябва да се доверят CRC, тъй като съхранява копия на всички секретни ключове.

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

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

Управлението на ключовете е информационен процес, който включва три елемента:

Генериране на ключове;

Натрупване на ключове;

Разпределение на ключове.

Генериране на ключове. IN реални системиизползват се специални хардуерни и софтуерни методи за генериране на случайни ключове. По правило се използват генератори на произволни числа. Въпреки това, степента на случайност на тяхното генериране трябва да бъде достатъчно висока. Идеалните генератори са устройства, базирани на „естествени“ случайни процеси. Например генериране на ключове на базата на бял радио шум. Друг произволен математически обект са десетичните знаци на ирационални числа, като p или e, които се изчисляват с помощта на стандартни математически методи.

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

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

Тъй като ключът е най-привлекателният обект за нападателя, отваряйки му пътя към поверителна информация, трябва да се обърне специално внимание на въпросите за натрупването на ключове.

Тайните ключове никога не трябва да се записват изрично на носител, който може да се чете или копира.

В доста сложна система един потребител може да работи с голямо количество ключова информация и понякога дори става необходимо да се организират минибази данни с ключова информация. Такива бази данни отговарят за приемането, съхраняването, записването и изтриването на използваните ключове.

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

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


Въпросът за актуализирането на ключовата информация е свързан и с третия елемент от управлението на ключовете – разпространението на ключовете.

Разпределение на ключове.Разпределението на ключове е най-критичният процес в управлението на ключове. Има две изисквания:

Ефективност и точност на разпределението;

Секретност на разпределените ключове.

Напоследък се забелязва забележима промяна към използването на криптосистеми с публичен ключ, при които проблемът с разпределението на ключовете изчезва. Въпреки това разпределението на ключова информация в системата изисква нови ефективни решения.

Разпределението на ключовете между потребителите се осъществява чрез два различни подхода:

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

2 Директен обмен на ключове между системните потребители. В този случай проблемът е надеждно удостоверяване на субектите.

И в двата случая трябва да се гарантира автентичността на комуникационната сесия. Това може да се осигури по два начина:

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

2 Механизъм за времеви печат. Това предполага фиксиране на времето за всяко съобщение. В този случай всеки потребител на системата може да знае колко „старо“ е входящото съобщение.

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

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

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

Но алгоритъмът на Diffie-Hellman се оказа много ефективен, позволявайки на двама потребители да обменят ключ без посредници, който след това може да се използва за симетрично криптиране.

Алгоритъм на Дифи-Хелман.Дифи и Хелман предложиха функция за дискретно степенуване за създаване на криптографски системи с публичен ключ.

Необратимостта на трансформацията в този случай се осигурява от факта, че е доста лесно да се изчисли експоненциалната функция в крайно поле на Галоа, състоящо се от p елемента ( стре или прост, или прост на произволна степен). Изчисляването на логаритми в такива полета е много по-отнемаща време операция.

За обмен на информация първият потребител избира произволно число х 1, равновероятно на цели числа от 1 до стр– 1. Той пази този номер в тайна и го изпраща на друг потребител г 1 = , където α е фиксиран елемент от полето на Галоа GF(стр), който заедно с p е предварително разпределен между потребителите.

Вторият потребител прави същото, генерирайки х 2 и изчисляване г 2, изпращайки го на първия потребител. В резултат на това и двамата могат да изчислят споделения таен ключ к 12 = .

За да се изчисли к 12 , първият потребител рейзва г 2 на степен х 1 и намира остатъка след деление на стр. Вторият потребител прави същото, само че използва г 1 и х 2. Така и двамата потребители имат общ ключ к 12, който може да се използва за криптиране на информация с конвенционални алгоритми. За разлика от алгоритъма RSA, този алгоритъмне позволява криптиране на действителната информация.

Не знаещ х 1 и х 2, нападателят може да се опита да изчисли к 12, знаейки само прихванато г 1 и г 2. Еквивалентността на този проблем на проблема за изчисляване на дискретния логаритъм е основен и открит въпрос в системите с публичен ключ. Просто решениене е открит до днес. Така че, ако директното преобразуване на 1000-битови прости числа изисква 2000 операции, тогава обратното преобразуване (изчисляване на логаритъма в полето на Галоа) ще изисква около 1030 операции.

Както може да се види, въпреки простотата на алгоритъма на Дифи-Хелман, неговият недостатък в сравнение със системата RSA е липсата на гарантирана по-ниска оценка на сложността на разкриването на ключове.

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

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

г 2 = х 3 + брадва + b,

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

В реални криптосистеми, базирани на елиптични уравнения, се използва уравнението

г 2 = х 3 + брадва + бмод п,

Където Р- просто.

Проблемът с дискретния логаритъм на елиптична крива е както следва: дадена е точка G на елиптична крива от порядък r (броят точки на кривата) и друга точка Y на същата крива. Трябва да се намери една точка хтака че Y = х G, тоест Y е хстепен Ж.

Разпределение на публичен ключ

Досега ползите от методите за криптиране с публичен ключ не са били очевидни. Въз основа на тях обаче е лесно да се реши проблемът с разработването на общ таен ключ за комуникационна сесия на всяка двойка потребители на информационна система. През 1976 г. Diffie и Hellman предложиха протокол за разпространение на публичен ключ за това. Той включва независимо генериране от всеки от двойката комуникиращи потребители на тяхното произволно число, трансформирането му чрез определена процедура, обмен на преобразуваните числа по отворен комуникационен канал и изчисляване на общ таен ключ въз основа на информация, получена от партньора по време на комуникация. Всеки такъв ключ съществува само по време на една комуникационна сесия или дори част от нея. По този начин разпределението на отворен ключ позволява на всяка двойка системни потребители да разработи свой собствен споделен таен ключ, като по този начин опростява процедурата за разпространение на секретни ключове. Въпреки че всичко не е толкова просто - липсата на предварително разпределен общ таен ключ между абонатите преди комуникационна сесия по принцип не им позволява да проверяват автентичността един на друг чрез обмен на съобщения по отворен канал. Например, можете също да изпращате ключове, като използвате алгоритъма ElGamal, описан по-горе в модификацията на Шамир, но как можете да сте сигурни, че имате работа с партньор, а не с прихващач? За потвърждаване на самоличността всеки от участниците в тайната мрежа все още трябва да има свой собствен таен ключ, известен само на него и да го отличава от всички останали абонати. В този случай алгоритъмът на Diffie-Hellman ще осигури такава процедура за представяне на парола, че многократното му използване не намалява надеждността на доказателството за самоличността на собственика. В резултат на това двете функции на споделения таен ключ, обикновено доставян по таен канал, като защита на информацията в комуникационния канал от трета страна и проверка на самоличността на всеки от абонатите на партньора, са разделени.

Алгоритъмът за разпространение на публичен ключ на Diffie-Hellman изглежда така:

    Нека има двама абонати отворена мрежа АИ бкоито познават двойката публични ключове РИ д. Освен това при Аимат таен ключ хот интервала (1, н), докато бимат таен ключ гот същия интервал.

    Абонат Аизпраща бx mod p, и абоната бизпраща Акриптиране на вашия ключ Z"=D** y mod p.

    След това те изчисляват общия ключ Z като Z=Z"** г=Z""** х.

С помощта на специални техники времето за генериране на общ ключ в системата Diffie-Hellman може да бъде намалено 5 пъти в сравнение със системата ElGamal в модификацията Shamir и 30 пъти в сравнение с RSA при същото ниво на сигурност. Това, от гледна точка на повечето практически приложения, се оказва забележимо предимство, тъй като криптирането и декриптирането с помощта на алгоритъма RSA е около хиляда пъти по-бавно от класическите алгоритми като DES. Имайте предвид, че за много приложения на криптографски системи с публичен ключ времето за изчисление за криптографски трансформации не е от голямо значение. Например при идентифициране на потребители чрез кредитни карти няма да има разлика - дали отнема една микросекунда или една секунда. Същото важи и за избора на споделен ключ за криптиране за друга, по-бърза, но липсваща криптографска система за обмен на ключове.

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

От практически работещите комуникационни мрежи, използващи система за разпространение на публичен ключ, най-сериозно защитена е телефонната държавна мрежаСАЩ на базата на устройства STU-III. Започва да функционира през 1987 г. и сега има повече от 150 хиляди абонати. В Русия подобна мрежа, наричана още ATS-1 или "грамофон", също е надеждно защитена, но там има стотици пъти по-малко абонати. До началото на 80-те години на миналия век криптолозите са осъзнали предимствата на така наречените хибридни системи, в които процедурите за криптиране с публичен ключ се използват само за прехвърляне на ключове и цифрови подписи. А информацията, която трябва да бъде предадена, е защитена от класически алгоритъм от типа DES, ключът за който се предава чрез криптиране с публичен ключ. Първо серийно устройство от този типбеше Racal-Milgo Datacryptor, издаден през 1979 г. Апаратът за управление на ключове за шифроване Datacryptor е предназначен предимно за правителствени комуникационни мрежи и е сертифициран да отговаря на британския стандарт за защита на несекретна, но чувствителна информация. Той осигурява сигнализиране за нарушения на криптографските изисквания и известия за грешки. Това устройство използва алгоритъм за установяване на криптирана комуникация чрез генериране и предаване на споделен таен ключ с помощта на алгоритъма RSA. В бъдеще устройствата от този тип за защита на информацията бяха пуснати много. Други примери за използване на нови криптографски идеи са демонстрирани от много търговски мрежи, особено банкови, като SWIFT. В допълнение, системата за цифров подпис RSA се използва в оборудването за проверка на споразумението за ограничаване на ядрените опити, разработено от Sandia Laboratories през 1982 г., мрежата BPMIS и други системи.

Един от най предизвикателни задачиуправлението на ключове, възникващо в криптографията, е формирането на споделени секретни ключове на участниците в криптосистемите. В този раздел ще се запознаем накратко с основните методи за решаване на този проблем, ще отбележим техните предимства, недостатъци и области на възможно приложение.
2.2.1. Основни понятия и определения
Протоколът за установяване на ключ е криптографски протокол, при който споделена тайна се предоставя на две или повече страни за последващо използване за криптографски цели.
Протоколите за разпространение на ключове попадат в два класа: протоколи за транспортиране на ключове и протоколи за обмен на ключове.
Протоколите за транспортиране на ключове са протоколи за разпространение на ключове, в които една страна създава или по друг начин придобива тайна и я предава по сигурен начин на други страни.
Протоколите за споразумение за ключове (обмен на ключове) са протоколи за разпространение на ключове, при които споделена тайна се генерира от двама или повече участници като функция на информацията, предоставена от всеки от тях (или свързана с тях) по такъв начин, че (в идеалния случай) никой друг страна може да предопредели тяхната споделена тайна.
Има две допълнителни форми на протоколи за разпределение на ключове. Казва се, че протоколът извършва актуализация на ключ, ако протоколът генерира напълно нов ключ, който не зависи от ключове, генерирани в предишни сесии за изпълнение на протокола. Протоколът извършва генерирането на производни ключове (извличане на ключ J, ако новият ключ е „извлечен“ от вече съществуващите участници в криптосистемата.
Протоколите за разпространение на ключове могат да бъдат класифицирани по друг начин.
Протоколите за предварително разпределение на ключове са протоколи за разпределение на ключове, в които получените ключове са напълно определени a priori от първоначалния ключов материал. Схемите за споделяне на тайни могат да бъдат приписани на специален тип такива протоколи.
Протоколите за динамично установяване на ключове са протоколи за разпределение на ключове, в които ключовете, генерирани от фиксирана двойка (или група) участници, са различни в различните протоколни сесии. Този процес се нарича още разпределение на сесиен ключ.
Протоколите за разпределение на ключове също могат да бъдат класифицирани според това дали използват симетрични или асиметрични крипто схеми.
Класификацията на протоколите за разпределение на ключове, разгледани по-долу, според критериите, изброени по-горе, е показана в таблица. 2.1.
Таблица 2.1. Класификация на протоколи за разпределение на ключове Класове на протоколи Протоколи за разпределение на ключове Транспортиране на ключове Протоколи за обмен на ключове, базирани на симетрични крипто схеми Needham - Schroeder, Otway - Rees, Kerberos, трипосочен протокол на Shamir Sharada Merkle Bpoma схема Тайни схеми за споделяне
Класове протоколи Протоколи за разпределение на ключове Транспортиране на ключове Протоколи за обмен на ключове, базирани на асиметрични крипто схеми Needham-Schroeder, X.509, Beller-Yacobi, SSL Diffie-Hellman, ElGamal, MTl, STS, Gunther Схеми за споделяне на тайни Протоколи за динамично разпределение на ключове с предварително споделени ключове
Протоколите за разпространение на ключове могат да бъдат изградени както без участието на "трета страна", така и с нейно участие. Доверена „трета страна“ може да изпълнява различни функции: сървър за удостоверяване, център за разпространение на ключове, център за превод на ключове, център за сертифициране и др.