You are on page 1of 60

Криптологија 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 применом симетричног кључа 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лиса}Чарли

Алиса Боб Чарли

 Чарли мисли да је Алиса њему упутила поруку!


 Питање: У чему је проблем?
 Одговор: Чарли не разуме криптографију јавног кључа!
8
Шифруј па потпиши
 Алиса шаље поруку Бобу M = „Мој нови изум....”
 Чарли је љут на Алису и Боба, пресреће поруку, дешифрује
Алисиним јавним кључем, потписује својим тајним кључем и
шаље Бобу

[{ M }Боб]Aлиса [{M }Боб]Чарли

Алиса Чарли Боб

 Боб мисли да је поруку послао Чарли!


 Напомена: Чарли не може да дешифрује M
 Питање: У чему је проблем?
 Одговор: Боб не разуме криптографију јавног кључа!
9
Безбедност
• Не треба заборавити да је јавни кључ свима
доступан. Свако може да израчуна {M }Alisa
• Приватни кључ је тајан. Само Алиса може да
израчуна [C ]Alisa или [M] Alisa
• Свако може да шифрује поруку за Алису, али
само она може да је дешифрује.
• Само Алиса може да дигитално потпише поруку
својим приватним кључем, али сви могу да
провере исправност потписа уколико знају/имају
јавни кључ

10
ИНФРАСТРУКТУРА ЈАВНИХ
КЉУЧЕВА

11
Сертификати јавних кључева
• Проблем са јавним кључевима
– Бобов јавни кључ може бити на veb-у, хард диску, смарт
картици, може се добити мејлом итд.
– Бобов кључ може да буде нападнут и измењен
– Алиса мора да буде сигурна да је добијени кључ Бобов,
без измена
• Трећа страна од поверења
– Потврђује да кључ није измењен и зна се коме припада
– Веза између идентитета стране у комуникацији и њеног
јавног кључа
– Сертификационо тело (CA)
12
Сертификати јавних кључева
• Сертификат садржи идентификационе податке о
кориснику (име, ...) и његов јавни кључ
– Може да садржи и друге информације
• Издавалац сертификата (СА*) дигитално потписује
сертификат
– Тиме се обезбеђује интегритет података
• Потпис на сертификату се може проверити помоћу
јавног кључа издаваоца сертификата - СА

*СА -Certification Authority (Сертификационо тело)


13
Сертификати јавних кључева
Sertifikat za
Marka Markovića

Ime: Marko Marković Privatni ključ


Organizacija: Singidunum sertifikacionog tela (CA) Ime: Marko Marković
Adresa: Danijelova, 32 Organizacija: Singidunum
Grad: Beograd Adresa: Danijelova, 32
Država: Srbija Grad: Beograd
………………. Država: Srbija
……………….
Sertifikaciono telo tvrdi da javni ključ
Javni ključ pripada Marku Markoviću
Marka Markovića Javni ključ
Marka Markovića

Digitalni potpis
od strane
sertifikacionog tela

14
Сертификационо тело
• Сертификационо тело – CA је трећа страна од
поверења (TTP) која издаје и потписује
сертификате
– Провером потписа на сертификату се истовремено
утврђује и идентитет власника одговарајућег јавног
кључа
– Међутим, на овај начин се не може утврдити идентитет
издаваоца сертификата!
– Сертификати су јавни!
– Шта ако СА направи грешку?
(CA изда неком другом већ издати сертификат)
– Заједнички формат за сертификате је X.509
15
Центар за дистрибуцију JK
• Сценарио за рад центра
– Треба да ради 24 часа
– Шаље јавне кључеве на захтев
– Представљао би уско грло на Интернету
– Квар оваквог центра би био катастрофалан
• Овлашћена организација за издавање сертификата
(Certification Authority)
– Не мора да буде на мрежи
– Издаје сертификате корисницима (нпр. на дискети,
CD-у, ...)
– Потписује сертификат након хешовања својим
приватним кључем
– Наплаћује своје услуге 16
Сертификат

Potvrdjujem da javni ključ


123A9BC0267FF7654DAB88231FE100BC4E6D7E987654EEE33...
pripada
Marko Marković
Danijelova 32, Beograd
Br. LK. 1237795
Izdata od MUP Beograd
Rođen 08.09.1999. godine
Email: mmarkovic@singidunum.ac.rs

HASH вредност горње потврде шифрован са приватним кључем CA tela

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

• X.509 ver3: Standardni sertifikat, odobren od strane ITU


– Verzija Verzija standarda X.509
– Serijski broj Dodeljuje CA u trenutku kreiranja dig. sertifikata
– Algoritam potpisivanja Algoritam kojim je izvršeno potpisivanje
– 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

21
Дигитални сертификати

• Дигитални сертификати могу бити


– Самопотписани
– Квалификовани
• Самопотписане дигиталне сертификате може да изда
„било ко”, па чак и сам корисник. Углавном се користе
интерно, а „правна снага” добија се потписивањем
посебног уговора са корисником (e-banking системи)
• Квалификоване дигиталне сертификате може да изда
само CA које испуњава одређене законске услове и има
дозволу за рад, што је дефинисано законом о
дигиталном потпису и другим законским актима

22
PKI

• PKI – Public Key Infrastructure


(Инфраструктура система са јавним кључевима)
• PKI инфраструктура се састоји од:
– Корисника,
– Овлашћених CA организација
– Сертификата,
– Каталога,
– Листи повучених (опозваних) сертификата

23
CA

• Хијерархијска организација
– Нижи ниво је сертификован од стране вишег нивоа
– Може бити више поднивоа
Root CA
Врховни
CA Intermediate CA

RA1 RA2

CA1 CA2 CA3 CA4 CA5

24
CA

• Када Боб шаље свој сертификат ка Алиси, шаље и све друге


сертификате
• Алиса не мора да ступа у везу ни са ким (никог не оптерећује) да би
извршила проверу сертификата
• Узастопно сертификовање до највишег нивоа
– Ланaц поверeњa (chain of trust)
– Хијерархијски низ сертификата (certification path)
• Где је врховни CA?
– На пример, фaбрички јe уграђен у Web читач
• Савремени Web читачи се испоручују са више стотина врховних CA
– поуздана полазишта (trust anchors)
– Корисник oдбацује сертификате у које нема поеверења

25
Каталози

• Где се смештају сертификати


– Код корисника – није погодно
– На DNS серверу
• Када се тражи IP адреса могао би се слати и цео
ланац поверења
– На наменским серверима каталога

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
Поверљивост у пракси
• Хибридни шифарски системи
– Установљавање симетричног кључа помоћу
система јавних кључева
– Шифровање података симетричним кључем
– Размотримо следећу шему

• Да ли је Боб сигуран да комуницира са Алисом?


Поверљивост у пракси
• Унапређен хибридни шифарски системи
– Установљавање симетричног кључа помоћу
система јавних кључева
– Шифровање података симетричним кључем
– Размотримо следећу шему

• Обављена је обострана аутентификација?


Безбедност е-поште
• E-пошта је један од најчешће коришћених мрежних
сервиса
• Без додатних механизама, нису обезбеђени:
тајност, непорецивост и интегритет
– Садржај може бити предмет напада
• у преносу или
• на одредишту (mailbox, администратори и сл.)

38
Апликације које користе PKI

Digital Smart Card


Signatures Logon
Encrypting
File System

Internet Secure
Authentication E-mail
Windows 2008
Certificate Services

Software
Software Code Signing
Restriction Policy

802.1x IP Security
Безбедност е-поште: захтеви
• Е-пошта: једна од најкоришћенијих
дистрибуираних апликација
• Поверљивост
– Тајност садржаја поруке за трећу страну
• Аутентификација
– Пошиљаоца поруке
• Интегритет поруке
– Заштита од измене садржаја
• Немогућност порицања слања
– Пошиљалац не може накнадно да тврди да поруку
није послао
40
Pretty Good Privacy (PGP)

• Користи се за испуњење наведених захтева


• Развио: Phil Zimmermann
• Интегрисани, најбољи, доступни криптографски
алгоритми, у један програм
• Може да се користи на различитим оперативним
системима, мали скуп команди, лако за
коришћење
• Оригинално бесплатан, али сада постоје и
комерцијалне верзије

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, iv

{М}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
Сертификациона тела у Србији

• Јавно предузеће ПТТ саобраћаја „Србија” РЈ


за електронско пословање – CEPP

• Привредна комора Србије - PKS CA

• Сертификационо тело МУП РС - MUP RS

• Привредно друштво Halcom а.д. Београд -


HALCOM BG CA
Сертификационо тело Поште
 PKI систем према решењу Entrust

Сертификат Дужина РСА кључа


Сертификат сертификационог тела
2048 бита
CEPP
Сертификат за кориснике 2048 бита (од 27.01.2010.)

Тип сертификата Важење


Сертификат сертификационог тела
20 година
CEPP
Сертификат за кориснике 5 година
Сертификационо тело ПКС CA
 PKI систем према решењу компаније NetSeT.

Сертификат Дужина RSA кључа


PKS Root CA 4096 бита
Intermediate CA 2048 бита

Тип сертификата Валидност Период издавања


PKS Root CA 20 година 10 година
Intermediate CA 10 година 5 година
Сертификационо тело МУП РС
 PKI систем према решењу компаније NetSeT.

Сертификат Дужина RSA кључа


MUP CA Root 4096 bita
Intermediate CA 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 20 година
Intermediate sertifikat HALCOM BG CA PL 10 година
Intermediate sertifikat HALCOM BG CA FL 10 година
Sertifikati za korisnike - pravna lica 3 године
Mobilni sertifikati za korisnike -fizička lica 3 године
Хвала на пажњи

60

You might also like