Криптологија 1 10. Употреба криптографије са јавним кључем
Употреба Примена крриптографије са јавним кључем: Поверљивост Пренос података преко небезбедних веза Складиштење података на небезбедним медијима Аутентификацијa Дигитални потпис, који обезбеђује интегритет и непорецивост (non-repudiation). Нема сервиса непорецивости у системима са симетричним кључем! 2
RSAдигитални потпис Јавни кључ је (N, e), приватни је d Дигитално потписивање порукем: Ѕ = М d (mod N ) Ѕ је дигитални потпис Код RSA: дешифровање и потписивање су исте операције За рачунање S користи се приватни (тајни) кључ d Потврда исправности дигиталног потписа на поруци М: Ѕ e (mod N ) =(М d ) e (mod N )= М Операција иста као и код шифровања Свако ко зна јавни кључ (N, e)може да потврди исправност дигиталног потписа 3
Непорецивост: систем са симетр. кључем Алиса издаје налог за куповину 100 акција свом брокеру Бобу Алиса израчуна MAC применом симетричног кључа K AB (обезбеђен је сервис интегритета) Вредност акција се смањила за 80%, Алиса тврди да није издала налог за куповуну Може ли Боб да докаже да је Алиса издала налог за куповину акција? Не!Како Боб зна симетрични кључ K AB он је могао сам да напише поруку! Проблем:Боб не може да докаже да је Алиса издала налог за куповину 4
Непорецивост: систем са јавним кључем Алиса издаје налог за куповину 100 акција свом брокеру Бобу Алиса дигитално потписује налогсвојим приватним кључем (обезбеђен је сервис интегритета) Вредност акција се смањује за 80%, Алиса тврди да није издала налог за куповуну Може ли Боб да докаже да је Алиса издала налог за куповину акција? Да!Само неко ко поседује Алисин приватни кључ је могао да дигитално потпише налог Подразумева се да Алисин приватни кључ није украден 5
Означавање операција (Б) Шифрује поруке M,са Алисиним jавним кључем: C ={M } Alisa (А) Дешифрује шифрат, са Алисинимприватним кључем: М=[С ] Alisa (А) Дигитално потписује поруке М, са Алисиним приватним кључем: Ѕ =[M ] Alisa Ѕ је дигитално потписана порука формално се поклапа са дешифровањем Следи: { [M ] Alisa } Alisa = M [ { M } Alisa ] Alisa = M 6
Тајност и непорецивост Претпоставимо да је потребно да се истовремено остваре сервиси тајности и непорецивости Да ли системи са јавним кључевима обезбеђују оба захтева? Алиса шаље поруку Бобу: Потпише је, потом шифрује {[ M ] Aлиса } Боб или Шифрује је, потом потпише [{M } Боб ] Aлиса Да ли је редослед битан? 7
Потпиши па шифруј Алиса шаље поруку Бобу M = Волим те... Боб се касније наљутио, дешифрује поруку да би добио [ M ] Алиса и шифрује је са Чарлијевим јавним кључем {[ M ] Алиса } Боб {[ M ] Aлиса } Чарли Алиса Боб Чарли Чарли мисли да је Алиса њему упутила поруку! Питање: У чему је проблем? Одговор:Чарли не разуме криптографију јавног кључа! 8
Шифруј па потпиши Алиса шаље поруку Бобу M = Мој нови изум... Чарли је љут на Алису и Боба, пресреће поруку, дешифрује Алисиним јавним кључем, потписује својим тајним кључем и шаље Бобу [{ M } Боб ] Aлиса [{M } Боб ] Чарли Алиса Чарли Боб Боб мисли да је поруку послао Чарли! Напомена: Чарли не може да дешифрује M Питање: У чему је проблем? Одговор:Боб не разуме криптографију јавног кључа! 9
Безбедност Не треба заборавити да је јавни кључ свима доступан. Свако може да израчуна {M } Alisa Приватни кључ је тајан. Само Алиса може да израчуна [C ] Alisa или [M] Alisa Свако може да шифрује поруку за Алису, али само она може да је дешифрује. Само Алиса може да дигитално потпише поруку својим приватним кључем, али сви могу да провере исправност потписа уколико знају јавни кључ 10
ИНФРАСТРУКТУРА ЈАВНИХ КЉУЧЕВА 11
Сертификати јавних кључева Сертификат садржи податке о кориснику (име,...) и његов јавни кључ Може да садржи и друге информације Издавалац сертификата (СА*) дигитално потписује сертификат Тиме се обезбеђује интегритет података Потпис на сертификату се може проверити помоћу јавног кључа издаваоца сертификата - СА *СА -Certification Authority (Сертификационо тело) 12
Сертификационо тело Сертификационо тело CA је трећа страна од поверења (TTP) која издаје и потписује сертификате Провером потписа на сертификату се истовремено утврђује и идентитет власника одговарајућег јавног кључа Међутим, на овај начин се не можеутврдити идентитет издаваоца сертификата! Сертификати су јавни! Шта ако САнаправи грешку? (CA изда неком другом већ издати сертификат) Заједнички формат за сертификате је X.509 13
Центарзадистрибуцију J K Сценарио за рад центра Требадаради 24 часа Шаљејавнекључевеназахтев Представљао би уско грло на Интернету Квар оваквог центра би био катастрофалан Овлашћена организација за издавање сертификата (Certification Authority) Неморадабуденамрежи Издајесертификатекорисницима (нпр. надискети, CD-у,...) Потписује сертификат након хешовања својим ЈК Наплаћује своје услуге 14
Сертификат Potvrdjujem da javni ključ 123A9BC0267FF7654DAB88231FE100BC4E6D7E987654EEE33... pripada Marko Marković Danijelova 32, Beograd Br. LK. 1237795 Izdata od MUP Beograd Rođen 08.09.1990. godine Email: mmarkovic@singidunum.ac.rs HASH вредност горње потврде шифр. са приватним кључем CA tela 15
Формирање дигиталног сертификата podaci o korisniku + javni ključ heš algoritam heš šifrovanje privatni ključ CA digitalni potpis sertifikat
Провера исправности дигиталног сертификата sertifikat digitalni potpis dešifrovan je heš podaci iz sertifikata heš algoritam heš? javni ključ CA
CA Основни задатак сертификата: ПовезујеЈКсаименомпринципала (појединац, предузеће, универзитет итд.) Сертификати нису тајни Нпр. Боб може да на својој матичној страни направи хипервезу ка свом сертификату Шта може Труди: Може да замени Бобов сертификат са својим Алиси је јасноданеразговарасабобом МожедазаменисамосвојЈК Алисијејасноданиједобар потпис 18
X.509 X.509 ver3: Standardni sertifikat, odobren od strane ITU Verzija Verzija standarda X.509 Serijski broj Uz ime CA jedinst. identifikuje sertifikat Algoritam potpisivanja Koji je algoritam Davalac sertifikata Ime CA po X.500 Period važenja Početak i kraj Ime korisnika sertif. Korisnik za čiji ključ se garantuje Javni ključ Identifikator davaoca s. Neobavezno Identifikator korisnika s. Neobavezno Proširenja Potpis Urađen sa privatnim ključem CA 19
PKI PKI Public Key Infrastructure (Инфраструктура система са јавним кључевима) PKI инфраструктура се састоји од: Корисника, Овлашћених CA организација Сертификата, Каталога, Листи повучених сертификата 20
CA Хијерархијска организација Нижи ниво је сертификован од стране вишег нивоа Може бити више поднивоа Врховни CA Ovlašćenje za RA2 Njen javni ključ Potpis vrhovnog CA RA1 RA2 CA1 CA2 CA3 CA4 CA5 21
CA Када Боб шаље свој сертификат ка Алиси, шаље и све друге сертификате Алисанеморадаступаувезунисаким (никогнеоптерећује) даби извршила проверу сертификата Узастопно сертификовање до највишег нивоа Ланaц поверeњa (chain of trust) Хијерархијски низ сертификата (certification path) Где је врховни CA? На пример, фaбрички јe уграђен у Web читач Савремени Web читачисеиспоручују са више стотина врховних CA поуздана полазишта (trust anchors) Корисник oдбацује сертификате у које нема поеверења 22
Каталози Где се смештају сертификати Код корисника није погодно На DNS серверу Кадасетражи IPадресамогаобисеслатиицео ланац поверења На наменским серверима каталога 23
Повлачење сертификата Повлачење сертификата Због истека рока важења Злоупотребе Деконспирација приватног кључа или приватног кључа CA Листаповученихсертификата (Certificate Revocation List CRL) CRL листа је потписани дoкумeнат Величина CRLлисте је у директној вези са временом важења сертификата 24
PKI (Public Key Infrastructure) Инфраструктура јавног кључа састоји се од свих подсистема који су неопходни за безбедну употребу криптографије са јавним кључевима: Генерисање и управљање кључевима Сертификациона тела (CA) Повлачење сертификата (CRLs), итд. Не постоји општи стандард за PKI Размотрићемо неколико модела поверења 25
PKIмодели поверења Монополски модел Јединствена организација од поверења је једно САза све кориснике Модел је предложила VeriSign (из разумљивих разлога јер је највеће комерцијално CA) Велики проблем настаје ако се такво CAбило када компромитује Великипроблeм јe акo сe тaквoм CAнe вeруje? 26
PKIмодели поверења наставак Олигархијски модел Постоји више сертификационих тела Корисник може сам да одлучи којим сертификационим телима ће указати поверење а којима не Овај приступ се користи код савремених Интернет претраживача (браузера) Они могу да имају 80и више различитих сертификата само да би се верификовао један дигитални потпис! 27
PKIмодели поверења наставак Анархијски модел Свако може да буде CA Корисник сам одлучује коме ће веровати Овај приступ се користи у PGP Зашто се овај модел назива анархијски? Претпоставимо да је сертификат потписао Френк, и да га не познајемо, али верујемо Бобу који каже да је Алиса од поверења и да она гарантује за Френка Да ли треба да верујемо Френку? 28
PKIмодели поверења наставак Постоје многи други модели поверења на бази архитектуре модула PKIсистема: Хијерархијски модел: Архитектура PKIса једним рутсаи два или три нивоа СА по дубини којима рутсаиздаје сертификате за рад Сви СА и корисници му верују Једносмеран пут поверења Решеткасти: Више равноправних СА који верују један другоме Двосмеран пут поверења Транзициони bridge CA: Једно СА које представља (више административно) PKI систем (државу) Организација СА PKI система испод може бити рeшеткаст 29
Предности криптографије са јавним кључем Поверљивост без дељења тајни Веома корисно у комерцијалном свету Нема проблема са разменом кључева као код симетричних шифарских система Аутентификација може да се обави без дељења тајни Користи се дигитални потпис као доказ о пореклу поруке Нема потребе да се сакрива јавни кључ Потребно је да се зна да је Алисин јавни кључ стварно њен јавни кључ 30
Предности симетричне криптографије Брзина Није потребна PKI (инфраструктура) 31
Недостатци криптог. са јавним кључем Алгоритми су за 2-3 реда величине спорији Модуларна (експоненцијална) аритметика је рачунарски захтевна Типична употреба: системи са јавним кључем се користе за размену симетричног кључа, а потом се прелази на симетричну криптографију -хибридни системи. IPsecиSSL Кључеви су дужи 1024бита (RSA) према 128бита (AES ) Безбедност се заснива на претпоставкама које нису доказане Шта ако се реши проблем факторизације? 32
Поверљивост упракси Хибридни шифарски системи Установљавање симетричног кључа помоћу система јавних кључева Шифровање података симетричним кључем Размотримо следећу шему ДалијеБобсигурандакомуницирасаАлисом?
Поверљивост упракси Унапређен хибридни шифарски системи Установљавање симетричног кључа помоћу система јавних кључева Шифровање података симетричним кључем Размотримо следећу шему Обављена је обострана аутентификација?
Безбедност е-поште E-пошта је један од најчешће коришћених мрежних сервиса Без додатних механизама, нису обезбеђени: тајност, непорецивост и интегритет Садржај може бити предмет напада у преносу или на одредишту (mailbox, администратори и сл.) 35
Апликације које користе PKI Encrypting File System Digital Signatures Smart Card Logon Internet Authentication Windows 2008 Certificate Services Secure E-mail Software Restriction Policy 802.1x IP Security Software Code Signing
Безбедност е-поште: захтеви Поверљивост Тајност садржаја поруке за трећу страну Аутентификација Пошиљаоца поруке Интегритет поруке Заштита од измене садржаја Немогућност порицања слања Пошиљалац не може накнадно да тврди да поруку није послао 37
Pretty Good Privacy (PGP) Користи се за испуњење наведених захтева Развио: Phil Zimmermann Интегрисани, најбољи, доступни криптографски алгоритми, у један програм Може да се користи на: Unix, PC, Macintosh платформама Оригинално бесплатан, али сада постоје и комерцијалне верзије 38
Поруке аутентификација поверљивот компресија PGPсервиси компатибилност са програмима за е-пошту Дистрибуција кључа генерисање/дистрибуција и повлачење јавних/тајних кључева генерисање и пренос сесијских кључева и IV 39
Аутентификација поруке Заснована на дигиталном потпису подржани алгоритми: RSA/SHA K private и DSS/SHA Alisa М h σ hash [h] Alisa М h h σ compare hash {h} Alisa Bob accept / reject K public 40
PGP аутентификација Алиса креира поруку Креира се хеш вредност поруке Хеш вредност се дигитално потписује користећи RSA (Алисин тајни кључ) Боб користи RSAи Алисин јавни кључ да добије (верификује) послату хеш вредност Боб рачуна хеш вредност из добијене поруке и пореди је са добијеном Ако се слажу, Боб закључује да једино онај који има приватни кључ може да генерише поруку 41
Поверљивост поруке Шифровање симетричним кључем у CFB моду уз генерисање случајног кључа и IV Симетрични кључ и IV се шифрују са јавним кључем примаоца Подржани алгоритми: Симетрични: CAST, IDEA, 3DES Асиметрични: RSA, ElGamal М prng K примаоца {k, iv} K примаоца Алиса симетр. шиф. k, iv асиметр. шифр. {М} k 42
PGP операције поверљивост На предаји се генерише случајни број који се користи као симетрични кључ само за слање прве поруке Порука се шифрује користећи неки од симетричних блоковских алгоритама Симетрични кључ се шифрује користећи RSA и јавни кључ примаоца и добијена вредност се спаја са шифрованом поруком Пријемна страна користи RSA и тајни кључ да би дошла до симетричног кључа Симетрични кључ се користи за дешифровање поруке 43
PGP операције поверљивост и аутентификација Примена оба сервиса на истој поруци Креира дигитални потпис и придружи поруци Креира тајни Kи IV Шифрује поруку и потпис Придружи са RSA шифровани симетрични кључ 44
PGPкомпресија Порука се компримује после потписивања али пре шифровања Разлог: омогућити да се сачува некомпримована порука са потписом ради касније верификације Користи се ZIP компресија 45
Сертификациона тела у Србији Јавно предузеће ПТТ саобраћаја Србија РЈ за електронско пословање CEPP Привредна комора Србије - PKS CA Сертификационо тело МУП РС - MUP RS Привредно друштво Halcom а.д. Београд - HALCOM BG CA
Сертификационо тело Поште PKI систем према решењу Entrust Сертификат Сертификат сертификационог тела CEPP Дужина РСА кључа 2048бита Сертификат за кориснике 2048 бита (од 27.01.2010.) Тип сертификата Сертификат сертификационог тела CEPP Сертификат за кориснике Важење 20 година 5 година
Сертификационо тело ПКС CA PKI систем према решењу компаније NetSeT. Сертификат PKS Root CA Intermediate CA Дужина RSA кључа 4096 бита 2048 бита Тип сертификата Валидност Период издавања PKS Root CA 20 година 10 година Intermediate CA 10 година 5 година
Сертификационо тело МУП РС PKI систем према решењу компаније NetSeT. Сертификат MUP CA Root Intermediate CA Дужина RSA кључа 4096 bita 2048 bita Тип сертификата Валидност Период издавања PKS Root CA 20 година 10 година Intermediate CA 10 година 5 година
Сертиф. тело HALCOM BG CA PKI систем према решењу компаније Nexus. Сертификат Дужина RSA кључа Sertifikat sertfikacionog tela HALCOM BG CA 2048 Sertifikati za korisnike - pravna lica 2048 (од 01.03.2011.) Mobilni sertifikati za korisnike fizička lica 1024 Тип сертификата Root sertifikat HALCOM BG CA Intermediate sertifikat HALCOM BG CA PL Intermediate sertifikat HALCOM BG CA FL Sertifikati za korisnike - pravna lica Mobilni sertifikati za korisnike -fizička lica Важење 20 година 10 година 10 година 3године 3године
Хвала на пажњи 51