Professional Documents
Culture Documents
2
RSA дигитални потпис
• Јавни кључ је (N, e), приватни је d
• Дигитално потписивање поруке М:
Ѕ = Мd (mod N ) Ѕ је дигитални потпис
– Код RSA: дешифровање и потписивање су исте операције
– За рачунање S користи се приватни (тајни) кључ d
• Потврда исправности дигиталног потписа на поруци М:
Ѕ e (mod N ) =(Мd )e (mod N )= М
3
Непорецивост: систем са симетр. кључем
• Алиса издаје налог за куповину 100 акција свом брокеру
Бобу
• Алиса израчуна MAC применом симетричног кључа KAB
(обезбеђен је сервис интегритета)
• Вредност акција се смањила за 80%, Алиса тврди да није
издала налог за куповуну
• Може ли Боб да докаже да је Алиса издала налог за
куповину акција?
• Не! Пошто Боб “зна” симетрични кључ KAB он је могао сам
да напише поруку!
• Проблем: Боб не може да докаже да је Алиса издала налог
за куповину
Нема сервиса непорецивости код симетричне криптографије
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лиса}Чарли
10
ИНФРАСТРУКТУРА ЈАВНИХ
КЉУЧЕВА
11
Сертификати јавних кључева
• Проблем са јавним кључевима
– Бобов јавни кључ може бити на veb-у, хард диску, смарт
картици, може се добити мејлом итд.
– Бобов кључ може да буде нападнут и измењен
– Алиса мора да буде сигурна да је добијени кључ Бобов,
без измена
• Трећа страна од поверења
– Потврђује да кључ није измењен и зна се коме припада
– Веза између идентитета стране у комуникацији и њеног
јавног кључа
– Сертификационо тело (CA)
12
Сертификати јавних кључева
• Сертификат садржи идентификационе податке о
кориснику (име, ...) и његов јавни кључ
– Може да садржи и друге информације
• Издавалац сертификата (СА*) дигитално потписује
сертификат
– Тиме се обезбеђује интегритет података
• Потпис на сертификату се може проверити помоћу
јавног кључа издаваоца сертификата - СА
Digitalni potpis
od strane
sertifikacionog tela
14
Сертификационо тело
• Сертификационо тело – CA је трећа страна од
поверења (TTP) која издаје и потписује
сертификате
– Провером потписа на сертификату се истовремено
утврђује и идентитет власника одговарајућег јавног
кључа
– Међутим, на овај начин се не може утврдити идентитет
издаваоца сертификата!
– Сертификати су јавни!
– Шта ако СА направи грешку?
(CA изда неком другом већ издати сертификат)
– Заједнички формат за сертификате је X.509
15
Центар за дистрибуцију JK
• Сценарио за рад центра
– Треба да ради 24 часа
– Шаље јавне кључеве на захтев
– Представљао би уско грло на Интернету
– Квар оваквог центра би био катастрофалан
• Овлашћена организација за издавање сертификата
(Certification Authority)
– Не мора да буде на мрежи
– Издаје сертификате корисницима (нпр. на дискети,
CD-у, ...)
– Потписује сертификат након хешовања својим
приватним кључем
– Наплаћује своје услуге 16
Сертификат
17
Формирање дигиталног сертификата
podaci o korisniku
+ heš algoritam
javni ključ
heš
privatni
šifrovanje
ključ CA
digitalni
potpis
sertifikat
Провера исправности дигиталног
сертификата
podaci iz
sertifikat
sertifikata
heš algoritam
digitalni
potpis
heš
dešifrovanje heš ?
javni
ključ CA
CA
20
X.509
21
Дигитални сертификати
22
PKI
23
CA
• Хијерархијска организација
– Нижи ниво је сертификован од стране вишег нивоа
– Може бити више поднивоа
Root CA
Врховни
CA Intermediate CA
RA1 RA2
24
CA
25
Каталози
26
Повлачење сертификата
• Повлачење сертификата
– Због истека рока важења
– Злоупотребе
– Деконспирација приватног кључа или приватног кључа
CA
• Листа повучених сертификата
(Certificate Revocation List – CRL)
• CRL листа је потписани дoкумeнат
• Величина CRL листе је у директној вези са временом
важења сертификата
27
PKI (Public Key Infrastructure)
• Инфраструктура јавног кључа састоји се од свих
подсистема који су неопходни за безбедну
употребу криптографије са јавним кључевима:
– Генерисање и управљање кључевима
– Сертификациона тела (CA)
– Повлачење сертификата (CRLs), итд.
• Не постоји општи стандард за PKI
• Размотрићемо неколико „модела поверења”
28
PKI модели поверења
• Монополски модел
– Јединствена организација од поверења је једно СА за
све кориснике
– Модел је предложила VeriSign (из разумљивих разлога
јер је највеће комерцијално CA)
– Велики проблем настаје ако се такво CA било када
компромитује
– Велики проблeм јe акo сe тaквoм CA нe вeруje?
29
PKI модели поверења наставак
• Олигархијски модел
– Постоји више сертификационих тела
– Корисник може сам да одлучи којим сертификационим
телима ће указати поверење а којима не
– Овај приступ се користи код савремених Интернет
претраживача (браузера)
– Они могу да имају 80 и више различитих сертификата
само да би се верификовао један дигитални потпис!
30
PKI модели поверења наставак
• Анархијски модел
– Свако може да буде CA
– Корисник сам одлучује коме ће веровати
– Овај приступ се користи у PGP
– Зашто се овај модел назива „анархијски″?
31
PKI модели поверења наставак
• Постоје многи други модели поверења на бази архитектуре
модула PKI система:
– Хијерархијски модел:
• Архитектура PKI са једним рут СА и два или три нивоа СА по
дубини којима рут СА издаје сертификате за рад
• Сви СА и корисници му верују
• Једносмеран пут поверења
– Решеткасти:
• Више равноправних СА који верују један другоме
• Двосмеран пут поверења
– Транзициони “bridge” CA:
• Једно СА које представља (више административно) PKI систем
(државу)
• Организација СА PKI система испод може бити рeшеткаст
32
Предности криптографије са јавним кључем
33
Предности симетричне криптографије
• Брзина
• Није потребна PKI (инфраструктура)
34
Недостатци криптог. са јавним кључем
• Алгоритми су за 2-3 реда величине спорији
– Модуларна (експоненцијална) аритметика је рачунарски
захтевна
– Типична употреба: системи са јавним кључем се
користе за размену симетричног кључа, а потом се
прелази на симетричну криптографију - хибридни
системи.
• IPsec и SSL
• Кључеви су дужи
– 1024 бита (RSA) према 128 бита (AES )
• Безбедност се заснива на претпоставкама које нису
доказане
– Шта ако се реши проблем факторизације? 35
Поверљивост у пракси
• Хибридни шифарски системи
– Установљавање симетричног кључа помоћу
система јавних кључева
– Шифровање података симетричним кључем
– Размотримо следећу шему
38
Апликације које користе PKI
Internet Secure
Authentication E-mail
Windows 2008
Certificate Services
Software
Software Code Signing
Restriction Policy
802.1x IP Security
Безбедност е-поште: захтеви
• Е-пошта: једна од најкоришћенијих
дистрибуираних апликација
• Поверљивост
– Тајност садржаја поруке за трећу страну
• Аутентификација
– Пошиљаоца поруке
• Интегритет поруке
– Заштита од измене садржаја
• Немогућност порицања слања
– Пошиљалац не може накнадно да тврди да поруку
није послао
40
Pretty Good Privacy (PGP)
41
PGP сервиси
• Поруке
– Аутентификација; DSS/SHA или RSA/SHA
– Поверљивост (тајност); CAST, IDEA, 3DES, DH, RSA
– Компресија - ZIP
– Компатибилност са програмима за е-пошту
(Radix 64 conversation)
– Сегментација – избегавање максималне величине
поруке
• Дистрибуција кључа
– генерисање/дистрибуција и повлачење јавних/тајних
кључева
– генерисање и пренос сесијских кључева и IV
42
Аутентификација поруке
• Заснована на дигиталном потпису
• Подржани алгоритми: RSA/SHA и DSS/SHA
Kprivate
М h s
Alisa
hash [h]Alisa
М h h s
hash compare {h}Alisa
Bob
Kpublic
accept / reject
43
PGP аутентификација
• Алиса креира поруку
• Креира се хеш вредност поруке
• Хеш вредност се дигитално потписује
користећи RSA (Алисин тајни кључ)
• Боб користи RSA и Алисин јавни кључ да добије
(верификује) послату хеш вредност
• Боб рачуна хеш вредност из добијене поруке и
пореди је са добијеном
• Ако се слажу, Боб закључује да једино онај који
има приватни кључ може да генерише поруку
44
Поверљивост поруке
• Шифровање симетричним кључем у CFB моду уз
генерисање случајног кључа и IV
• Симетрични кључ и IV се шифрују са јавним кључем
примаоца
• Подржани алгоритми:
– Симетрични: CAST, IDEA, 3DES
– Асиметрични: RSA, ElGamal (верзија DH)
М
prng Kпримаоца
{k, iv}Kпримаоца
Алиса
{М}k
45
PGP операције – поверљивост
• На предаји се генерише случајни број који се
користи као симетрични кључ само за слање
прве поруке
• Порука се шифрује користећи неки од
симетричних блоковских алгоритама
• Симетрични кључ се шифрује користећи RSA и
јавни кључ примаоца и добијена вредност се
спаја са шифрованом поруком
• Пријемна страна користи RSA и тајни кључ да
би дошла до симетричног кључа
• Симетрични кључ се користи за дешифровање
поруке
46
PGP операције – поверљивост и
аутентификација
Примена оба сервиса на истој поруци
• Креира дигитални потпис и придружи поруци
• Креира тајни K и IV
• Шифрује поруку и потпис
• Придружи са RSA шифровани симетрични кључ
47
PGP компресија
• Порука се компримује после потписивања
али пре шифровања
– Разлог: омогућити да се сачува некомпримована
порука са потписом ради касније верификације
• Користи се ZIP компресија
48
PGP мејл компатибилност
• Многи системи епоште могу да преносе само
ASCII карактере
• У шифрату се могу појавити блокови који не
одговарају ASCII карактерима
• Наведени проблем се превазилази са
Radix-64 conversation
49
PGP мејл компатибилност
• Нека је текст: new
– ASCII format: 01101110 01100101 01110111
– Шифрат: 10010001 10011010 10001000
• Проблем:
– Бајтови шифрата не одговарају ни једном ASCII
карактеру са тастатуре
– Велики број мејл система не може да пренесе и
обради такве блокове
• Radix 64 conversation: мапирање у тзв.
printable каракетере
50
PGP мејл компатибилност
51
PGP мејл компатибилност
52
PGP мејл компатибилност
• Пример:
• Нека је текст: new
– ASCII format: 01101110 01100101 01110111
– Шифрат: 10010001 10011010 10001000
• Radix 64:
– 24 битни блок: 01101110 01100101 01110111
– Сетови по 6: 100100 011001 101010 001000
– Integer вредности: 36 25 38 8
– Добијени карактери: k Z m I
53
PGP сегментација
• Код епоште често постоји ограничење
максималне дужине поруке
– Често ограничење: 50000 бајтова
– Свака дужа порука се разбија
• PGP аутоматски дели поруку
– Сегментација се врши након што се заврше сви
процеси са поруком (укључујући и Radix 64)
– Кључ сесије и потпис се појављују само једанпут
(на почетку првог сегмента)
54
Сертификациона тела у Србији
60