ЗАШТИТА ПОДАТАКА Шифровање јавним кључем и хеш функције Diffie-Hellman размена кључева
Преглед Биће објашњено: Diffie-Hellman размена кључева 2/13
Diffie-Hellman размена кључева први алгоритам са јавним кључем предложили су га Diffie и Hellman 1976. године заједно са концептима о јавним кључевима познато је данас да је James Ellis (UK CESG) предложио исти концепт у тајности 1970. године ово је практична метода за јавну размену тајних кључева искоришћен је у великом броју комерцијалних производа 3/13
Diffie-Hellman размена кључева(2) алгоритам за дистрибуцију кључева са јавним кључем не може се користити за размену порука уместо тога може се користити да се успостави заједнички тајни кључ који знају само учесници у комуникацији вредност кључа зависи од учесника (и њихових информација о јавном и тајном кључу) заснован је на експонентизацији у коначном (Galois) пољу (по модулу примарног броја или полинома) сигурност се ослања на тежину израчунавања дискретних логаритама (слично као факторизација) 4/13
Diffie-Hellman алгоритам 5/13
Diffie-Hellman алгоритам (2) За овај алгоритам постоје 2 јавно позната броја: примарни број q и цео број који је примитивни корен од q. Рецимо да корисници A и B желе да размене кључ. Корисник A бира случајан цео број X A < q и израчунава Y A = α X A mod q. Слично томе, корисник B независно бира случајан цео број X B < q и израчунава Y B = α X B mod q. Сваки корисник задржава X вредност као приватну и поставља Y вредност јавно доступном, како би и други корисник имао. Корисник A израчунава кључ као K = (Y B ) X A mod q. q Корисник B израчунава кључ као K = (Y A ) X B mod q. Последња два прорачуна дају идентичан резултат. 6/13
Diffie-Hellman алгоритам (3) K =(Y B ) X A mod q = (α( X B mod q) X A mod q = (α( X B) X A mod q - по правилу модуларне аритметике = α X B X A mod q = (α( X A) X B mod q = (α( X A mod q) X B mod q - по правилу модуларне аритметике = (Y A ) X B mod q Резултат је тај да су две стране замениле тајну вредност. 7/13
Diffie-Hellman алгоритам (4) Чак, шта више, како су X A и X B приватни, противник има на располагању само следеће вредности: : q, α,, Y A и Y B. Те је стога, противник принуђен да користи дискретне логаритме да би пронашао кључ. Нпр. ако хоће да нађе тајну вредност за B мора да користи X B = dlog α,q (Y B ) Затим може да искористи добијену вредност да нађе кључ на исти начин као и корисник B. Сигурност Diffie-Hellman размене кључева лежи у чињеници да иако је релативно лако наћи експоненте по модулу примарног броја, јако је тешко наћи дискретне логаритме. За велике примарне бројеве, ово друго постаје незамисливо. 8/13
Diffie-Hellman пример Изабрани примарни број је q = 353 Примитивни корен за 353 је α = 3. Корисници A и B бирају тајне кључеве X A =97 и X B =233, респективно. Сваки од њих израчунава јавни кључ: Корисник A израчунава Y A = 3 97 mod 353= 40 Корисник B израчунава Y B = 3 233 mod 353= 248. Након што размене јавне кључеве, свако од њих може да израчуна тајни кључ. Корисник A израчунава K= (Y B ) X A mod 353= 248 97 mod 353=160. Корисник B израчунава K= (Y A ) X B mod 353= 40 233 mod 353=160. 9/13
Diffie-Hellman пример (2) Претпоставимо да нападач има на располагању следеће информације: q = 353; α = 3; Y A = 40; Y B = 248 У овом једноставном примеру, могло би се brute force методом доћи до тајног кључа 160. Нападач може да открије заједнички кључ решавањем или једначине 3 a mod 353 = 40 или једначине 3 b mod 353 = 248. brute force метод би подразумевао да се ради степеновање 3-ке по модулу 353, док резултат не буде 40 или 248. Жељени резултат се постиже када се дође до експонента 97, који даје 3 97 mod 353 = 40. Са великим бројевима, овакво разбијање алгоритма постаје непрактично. 10/13
Diffie-Hellman протокол 11/13
Man-in-the-Middle напад пример Ана и Пера желе да размене кључеве, али ту је Тома њихов противник. 1. Тома припрема два случајна приватна кључа X D1 и X D2 и израчунава коресподентне јавне кључеве Y D1 и Y D2. 2. Aна шаље Y A за Перу. 3. Тома пресреће Y A и шаље Y D1 Пери. Тома такође израчунава K2 = (Y A ) X D2 mod q. 4. Пера прима Y D1 и израчунава K1 = (Y D1 ) X B mod q. 5. Пера шаље Y B за Aну. 6. Тома пресреће Y B и шаље Y D2 Ани. Тома такође израчунава K1 = (Y B ) X D1 mod q. 7. Ана прима Y D2 и израчунава K2 = (Y D2 ) X A mod q. 12/13
Man-in-the-Middle напад пример(2) У овом тренутку Ана и Пера мисле да имају заједнички тајни кључ, а уместо тога Пера и Тома имају један заједнички тајни кључ и Ана и Тома имају други заједнички тајни кључ. Свака комуникација између Ане и Пере нарушена је на следећи начин: 1. Ана шаље шифровану поруку M: E(K2, M). 2. Тома пресреће пифровану поруку и депифрује је, да би добио оригиналну поруку M. 3. Тома шаље Пери E(K1, M) или E(K1, M'), где је M' било која порука. У првом случају Тома само прислушкује комуникацију, док се у другом случају меша у комуникацију. Протокол за размену кључева рањив је, јер не постоји аутентификација учесника у комуникацији. 13/13