SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Firma Dixhitale
Firma Dixhitale
Konceptet Teorike dhe Përdorimi Praktik
Dashamir Hoxha (dashohoxha@gmail.com)
Synimi: Pas prezantimit dëgjuesit të kenë të qartë se ç'është
firma dixhitale, si funksionon, dhe çfarë duhet bërë dhe si
duhet bërë për ta përdorur atë në punët e përditshme.
Çështjet që do të trajtohen
 Ç'është firma dixhitale
 Konceptet e funksionimit të firmës dixhitale
 Enkriptimi me çelësat publikë dhe privatë
 Autentifikimi me çertifikatat dixhitale
 Përdorimi praktik i firmës dixhitale
 Njohja ligjore e firmës dixhitale
 Problemet e sigurisë për çelësat dhe çertifikatat
dixhitale
Firmë Elektronike apo Dixhitale?
 Firma Elektronike:
 Një dokument i firmosur me dorë dhe i skanuar.
 Një dokument i firmosur dhe i dërguar me faks.
 Firma e dorës e skanuar dhe e futur në dokument si
imazh.
 Firma e dorës e skanuar dhe e bashkangjitur në email.
 Firma Dixhitale:
 Të dhëna dixhitale që i bashkangjiten një dokumenti
dixhital, të cilat janë të pa-fallsifikueshme dhe
garantojnë identitetin e autorit dhe integritetin e
dokumentit.
Disa nga Veçoritë e Firmës Dixhitale
 Përdoret për shkëmbimin e të dhënave përmes
një kanali të pasigurtë (email, dokument,
kontratë, etj.).
 Garanton autorësinë e dokumentit.
 Garanton që dokumenti nuk ka ndryshuar
(gabimisht ose me qëllim) pas firmosjes.
 Autori nuk mund të pretendojë që nuk është
firma e tij.
 Bazohet në konceptet e kriptografisë dixhitale.
Firma e Dorës dhe Firma Digitale
 Firma e dorës është e njëjtë në çdo dokument,
kurse firma dixhitale është e veçantë për çdo
dokument, kështu që nuk mund të kopjohet nga
një dokument në tjetrin.
 Firma e dorës duhet hedhur në çdo faqe të
dokumentit, kurse firma dixhitale e përfshin të
gjithë dokumentin.
 Firma dixhitale garanton siguri më të lartë se
firma e dorës.
 Firma dixhitale kërkon kujdes më të madh për
ruajtjen e sigurisë.
Si Funksionon Firmosja Dixhitale
Firmosja e Një Mesazhi
1.Mesazhi bluhet me një funksion dhe nxirret një
koncentrat i tij.
2.Koncentrati i mesazhit enkriptohet.
3.Koncentrati i enkriptuar i bashkangjitet
mesazhit.
Verifikimi i Firmës
1.Mesazhi bluhet me të njëjtin funksion dhe
nxirret koncentrati i tij.
2.Koncentrati i bashkangjitur dekriptohet.
3.Krahasohen të dy koncentratet nëse janë
njëlloj.
Koncentrati i Mesazhit
 Koncentrati i mesazhit është një informacion
me madhësi të caktuar i cili del nga bluarja e
mesazhit.
 Funksioni që bluan mesazhin nxjerr gjithmonë
të njëjtin koncentrat për të njëjtin mesazh.
 Nëse mesazhi ka ndryshuar qoftë edhe me një
bit, koncentrati del i ndryshëm.
 Ka të njëjtin parim si checksum, p.sh. 2571(5),
17036(7), 120205(0), etj.
 Garanton që mesazhi nuk ka ndryshuar.
Enkriptimi/Dekriptimi i Koncentratit
 Garanton vërtetësinë e dërguesit të mesazhit.
 Nëse Alisa i dërgon një mesazh Bobit, atere Bobi
është i sigurtë që mesazhin e ka dërguar Alisa,
sepse askush tjetër nuk mund ta enkriptojë
mesazhin në të njëjtën mënyrë si Alisa.
 Mund të bëhet duke përdorur çelësa enkriptimi
të përbashkët.
 Mund të bëhet me anë të çelësave publikë dhe
privatë.
 Çelësat publikë dhe privatë janë më praktikë.
Çelësat Publikë dhe Privatë
 Çdo person ka një çift binjak çelësash: një privat dhe një
publik.
 Çdo mesazh i enkriptuar me çelësin publik, mund të
dekriptohet vetëm me çelësin përkatës privat. Dhe
anasjelltas, çdo mesazh i enkriptuar me çelësin privat
mund të dekriptohet vetëm me çelësin përkatës publik.
 Çelësin privat e di vetëm personi, kurse çelësin publik të tij
e dinë të gjithë.
 Njohja e çelësit publik nuk mundëson gjetjen e çelësit
privat.
 Gjenerimi i çelësave bëhet nga algoritme që bazohen në
teorinë e numrave dhe që garantojnë plotësimin e veçorive
të mësipërme.
Algoritmi Diffie-Hellman (key exchange)
 First public key algorithm published (1976)
 Whitfield Diffie and Martin Hellman
 Alice and Bob chose a large prime n and
another number g.
 Alice chooses a random large integer a and
sends Bob X = ga
mod n.
 Bob chooses a random large integer b and
sends Alice Y = gb
mod n.
 Alice computes k = Ya
mod n.
 Bob computes k’ = Xb
mod n.
 k and k’ are equal (gab
mod n) and cannot be
computed by someone watching the exchange!
Algoritmi RSA i Çelësave Publikë
(Rivest, Shamir, and Adleman) [1977]
 Choose two random large prime numbers p and
q.
 Compute n = pq.
 Choose a number e such that e is between 1 and
pq and e is relatively prime to (p – 1)(q – 1).
 Compute d from e (d = e-1
mod ((p-1)(q-1)))
 Multiplicative inverse
 To encrypt, calculate c = me
mod n.
 To decrypt, calculate m = cd
mod n.
Një Çift Çelësash RSA
[2048 bit]
Çelësi Privat
3082 010a 0282 0101 00b1 d311 e079 5543 0708 4ccb 0542 00e2 0d83 463d
e493 bab6 06d3 0d59 bd3e c1ce 4367 018a 21a8 efbc ccd0 a2cc b055 9653
8466 0500 da44 4980 d854 0aa5 2586 94ed 6356 ff70 6ca3 a119 d278 be68
2a44 5e2f cfcc 185e 47bc 3ab1 463d 1ef0 b92c 345f 8c7c 4c08 299d 4055
eb3c 7d83 deb5 f0f7 8a83 0ea1 4cb4 3aa5 b35f 5a22 97ec 199b c105 68fd
e6b7 a991 942c e478 4824 1a25 193a eb95 9c39 0a8a cf42 b2f0 1cd5 5ffb
6bed 6856 7b39 2c72 38b0 ee93 a9d3 7b77 3ceb 7103 a938 4a16 6c89 2aca
da33 1379 c255 8ced 9cbb f2cb 5b10 f82e 6135 c629 4c2a d02a 63d1 6559
b4f8 cdf9 f400 84b6 5742 859d 32a8 f92a 54fb ff78 41bc bd71 28f4 bb90
bcff 9634 04e3 459e a146 2840 8102 0301 0001
Çelësi Publik
3082 01e4 f267 0142 0f61 dd12 e089 5547 0f08 4ccb 0542 00e2 0d83 463d
e493 bab6 0673 0d59 bf3e c1ce 4367 012a 11a8 efbc ccd0 a2cc b055 9653
8466 0500 da44 4980 d8b4 0aa5 2586 94ed 6356 ff70 6ca3 a119 d278 be68
2a44 5e2f cfcc 185e 47bc 3ab1 463d 1df0 b92c 345f 8c7c 4c08 299d 4055
eb3c 7d83 deb5 f0f7 8a83 0ea1 4cb4 3aa5 b35f 5a22 97ec 199b c105 68fd
e6b7 a991 942c e478 4824 1a25 193a eb95 9c39 0a8a cf42 b250 1cd5 5ffb
6bed 6856 7b39 2c72 38b0 ee93 a9d3 7b77 3ceb 7103 a938 4a16 6c89 2aca
da33 1379 c255 8ced 9cbb f2cb 5b10 f82e 6135 c629 4c2a d02a 63d1 6559
b4f8 cdf9 f400 84b6 5742 859d 32a8 f92a 54fb ff78 41bc bd71 28f4 bb90
bcff 9634 04de 45de af46 2240 8410 02f1 0001
PGP / OpenPGP / GPG
 Pretty Good Privacy
 Program enkriptimi i shkruar nga
Phill Zimmerman më 1991, dhe I
lëshuar falas në internet.
 OpenPGP
 Një standart për mesazhet e
firmosuara/enkriptuara.
 RFC 2440, Nëntor 1998
 Gnu Privacy Guard
 Një implementim i OpenPGP.
 Nuk përdor algoritme të patentuara.
Firmosja me Çelësat Publikë
 Supozojmë se Alisa i dërgon një mesazh Bobit.
 Alisa e firmos mesazhin me çelësin e saj privat.
 Bobi e verifikon mesazhin me anë të çelësit publik të
Alisës.
 Nëse verifikimi del me sukses, Bobi është i sigurtë që
ky mesazh nuk mund të jetë firmosur veçse me
çelësin privat të Alisës.
 Pyetje: Ku mund ta gjej Bobi çelësin publik të Alisës?
 Përgjigje 1: Alisa ia ka dhënë Bobit drejtpërdrejt.
 Përgjigje 2: Alisa e ka publikuar çelësin në faqen e vet.
Serverat e Çelsave Publikë
 Një mundësi tjetër ku Bobi mund ta gjej çelësin publik
të Alisës është: në një server çelësash publikë (si
http://pgp.mit.edu).
 Këta servera janë pak a shumë si numratorë
telefonash, ku për çdo person mund të gjesh çelësin
(çelësat) e tij publikë.
 Serverat kryesorë sinkronizohen me njëri-tjetrin,
kështu që:
 Mjafton të rregjistrohesh vetëm te njëri prej tyre
(dhe në pak kohë rregjistrimi do të jetë shpërndarë
në të gjithë serverat e tjerë)
 Mjafton të kërkosh vetëm te njëri prej tyre.
Koncepti i PKS-së
 Një PKS (Public Key Server) në parim është
pak a shumë i ngjashëm me një DNS (Domain
Name Server).
 Pyetja themelore të cilës i përgjigjet një DNS
është: cila është IP-ja për këtë emër domaini.
 Pyetja themelore të cilës i përgjigjet një PKS
është: cili është çelësi publik për këtë person.
Problemi Vërtetësisë së Identitetit
 Duke përdorur çelësin publik të Alisës, Bobi vërtet u
sigurua që mesazhi është firmosur me anë të çelësit
privat të Alisës.
 Por nëse Bobi nuk e njeh personalisht Alisën dhe nuk
e ka marrë çelësin drejtpërdrejt prej saj, ai nuk mund
të jetë i sigurtë se kush është Alisa. Ka mundësi që:
1) emri Alisa të jetë veçse një pseudonim
2) dikush tjetër ta ketë publikuar çelësin dhe jo Alisa
 Në mardhënie të caktuara është e rëndësishme të
sigurohemi që identiteti i personit që ka hedhur firmën
dixhitale është i saktë.
 Si mund të zgjidhet ky problem?
Firmosja e Një Çelësi Publik
 Çelësi publik i Alisës, bashkë me emalin e saj, emrin
dhe hollësi të tjera, mund të konsiderohen si një
dokument dixhital.
 Si çdo dokument tjetër dixhital, Bobi mund ta firmos
atë me çelësin e tij privat.
 Bobi e firmos çelësin publik të Alisës vetëm nëse
është i sigurtë se identiteti i Alisës është i vërtetë dhe
se ky çelës publik i përket vërtet asaj.
 Firmosjen e çelësit publik të Alisës Bobi mund ta
publikojë në serverat e çelësave publikë (PKS).
 Duke firmosur një çelës publik, Bobi garanton veten
dhe të tjerët për saktësinë e këtij çelësi publik.
Garantimi me Anë të Ndërmjetësve
 Supozojmë se Bobi nuk e ka verifikuar saktësinë e çelësit
të Alisës, por:
1)Bobi ka verifikuar saktësinë e çelësit të Cenit, e ka firmosur
atë, dhe është i sigurtë për saktësinë e tij.
2)Bobi konstaton se Ceni ka firmosur çelësin e Alisës.
 Atëherë Bobi mund të konkludojë se çelësi i Alisës është
pak a shumë i saktë.
 Kjo mund të përgjithësohet për më shumë se një
ndërmjetës.
 Pyetje 1: Po sikur Ceni ta ketë hedhur firmën kot?
 Pyetje 2: Po sikur Bobit ti duhet të kalojë 10 ndërmjetës
deri te Alisa? A mund të konkludojë përsëri se çelësi publik
i Alisës është i saktë?
Rrjeti i Besueshmërisë (Web of Trust)
 Për të zgjidhur problemet e mësipërme, Bobi
mund të përcaktojë një shkallë besueshmërie
për çdo person çelësin e të cilit e ka verifikuar
dhe firmosur.
 Vlerat e besueshmërisë janë:
(1) Plotësisht (Bobi është i sigurtë se firmosjet e
Cenit janë të sakta)
(2) Pjesërisht (firmosjet e Cenit të sakta deri në një
farë mase)
(3) Aspak (Bobi mendon se Ceni firmos kot)
(4) Panjohur (Bobi nuk e ka idenë për saktësinë e
Cenit)
Rrjeti i Besueshmërisë (Web of Trust)
 Përveç vlerave të besueshmërisë, Bobi mund të përcaktojë
edhe disa rregulla për vlerësimin e saktësisë së çelsave
publikë.
 P.sh. Një çelës mund të konsiderohet i vlefshëm nëse plotëson
dy kushtet e mëposhtme:
1.Është firmosur nga një numër i mjaftueshëm çelësash të
vlefshëm, që do të thotë:
➔ Bobi e ka firmosur personalisht, ose
➔ është firmosur nga një person plotësisht i
besueshëm, ose
➔ është firmosur nga të paktën tre persona
pjesësisht të besueshëm
2.Largësia e çelësit nga Bobi nuk është më shumë se 5 hapa
ndërmjetës.
Rrjeti i Besueshmërisë (Web of Trust)
Shembull:
Çertifikata Dixhitale dhe PKI
 Dokumenti dixhital që përmban çelësin publik,
bashkë me identitetin dhe hollësi të tjera (emri,
emaili, etj.) quhet edhe Çertifikatë Dixhitale.
 Çertifikatat dixhitale dhe firmosja e tyre,
serverat e çelësave publikë (PKS), rrjeti i
besueshmerisë (Web of Trust), etj. të gjitha
bashkë formojnë atë që quhet Infrastruktura e
Çelësave Publikë (PKI, Public Key
Infrastructure) e llojit OpenPGP.
PKI-ja Hierarkike
 Përveç PKI-së së llojit OpenPGP, egziston edhe një lloj
tjetër infastrukture, e quajtur S/MIME, e cila bazohet në
çertifikata të llojit X.509.
 Kjo PKI është hierarkike dhe modelon me besnikëri
sistemin jo-dixhital të dokumentave identifikuese
(çertifikatë lindje, kartë identiteti, pasaportë, etj.)
 Në këtë infrastrukturë, çertifikatat dixhitale firmosen vetëm
nga një autoritet qëndror, i cili është i çertifikuar/miratuar
nga një autoritet i mësipërm, e kështu me rradhë.
 Edhe çertifikata X.509 përmban çelësin publik, emrin,
emailin etj. të zotëruesit të saj, si dhe identitetin dhe firmën
e autoritetit çertifikues, i cili duhet të jetë i njohur publikisht
dhe i besueshëm nga të gjithë.
PKI-ja Web of Trust dhe PKI-ja Hierarkike
 Njëri model i përngjan strukturës së internetit, kurse
tjetri i përngjan strukturës së organizatave
shtetërore/private.
 Këto dy PKI nuk janë të ndërveprueshme, por mund të
përdoren të dyja njëkohësisht (paralelisht).
 Modeli web mund ti përshtatet edhe strukturës
hierarkike, kurse modeli pemë nuk mund ti përshtatet
strukturës së rrjetit.
 Mendimi i specialistëve (Philip Zimmerman, krijuesi i
PGP-së) është se modeli rrjet i OpenPGP-së është më
i mirë se modeli pemë i X.509-s
(http://www.openpgp.org/technical/whybetter.shtml)
GPG: Krijimi i Çelësave Privat/Publik
$ gpg –gen-key
$ gpg --gen-revoke D8FC66D2
 Krijon një çift çelësash: publik dhe privat.
 Zgjedh algoritmin: RSA, DH/ElGamal, etj.
 Zgjedh gjatësinë e çelësit (të paktën 1024 bits)
 Jep të dhënat e përdoruesit (emri, email-i, etj.)
 Cakton parullën (pass phrase)
 Krijo një çertifikatë anullimi, pas krijimit të
çelësave. Nëse harroni parrullën, kjo të lejon të
anullosh çelësat.
GPG: Shkëmbimi i Çelësave Publikë
 Dërgimi në një PKS (Public Key Server):
$ gpg --keyserver hkp://pgp.mit.edu 
--send-key 55D59B28
 Marrja nga një PKS:
$ gpg --keyserver hkp://pgp.mit.edu 
--recv-key D2AB2220
 Exportimi në një skedar tekst:
$ gpg --export -a alice@cyb.org > alice.asc
 Importimi nga një skedar tekst:
$ gpg --import bob.asc
GPG: Firmosja e Një Dokumenti
 Firmosja binare:
$ gpg --output doc.sig --sign doc
$ gpg --output doc --decrypt doc.sig
$ gpg --verify doc.sig
 Firmosja tekst (ascii):
$ gpg --output doc.sig --clearsign doc
$ gpg --verify doc.sig
 Firmosja në skedar të veçantë:
$ gpg --output doc.sig --detach-sig doc
$ gpg --verify doc.sig doc
GPG: Administrimi i Çelësave
 Listo çelësat dhe nënshkrimet e tyre:
$ gpg --list-keys
$ gpg --list-sigs
$ gpg --fingerprint
 Modifiko çelësat:
$ gpg --edit-key alice@cyb.org
 Nënshkruaj çelësat e dikujt:
$ gpg --sign-key bob@cyb.org
 Verifiko nënshkrimet e çelësave të dikujt:
$ gpg --check-sigs bob@cyb.org
Seahorse: Hapja
System > Preferences > Passwords and Encryption Keys
Seahorse: Krijimi i Çelësave PGP
File > New...
Seahorse: Plotësimi i Detajeve të Çelësit
Njohja Ligjore e Firmës Dixhitale
 Firma dixhitale ofron nivel më të lartë sigurie se firma
me dorë.
 Në shumë vende të botës firma dixhitale ka të njëjtën
vlerë juridike si firma me dorë:
 Australi
 Shtetet e Bashkuara
 EU dhe vendet anëtare
 Edhe në Shqipëri janë miratuar ligje që i japin firmës
dixhitale të njëjtin status si firma me dorë. Kjo bën të
mundur që dokumentacioni dixhital ta zëvendësojë
plotësisht dokumentacionin fizik (letër).
Ruajtja e Sigurtë e Çelësave
 Është e rëndësishme që çelësi privat të jetë
vërtet privat dhe të ruhet me shumë kujdes.
Vjedhja e tij do të thotë vjedhje e identitetit
dixhital dhe persona të tjerë mund të
nënshkruajnë në emrin tënd.
 Po ashtu duhet patur kujdes që çelësi të mos
humbas apo të mos harrohet parrulla.
 Në rast se çelësi bëhet i papërdorshëm, duhet
anulluar, por si mund të vërtetosh që je pronari i
vërtetë i çelësit, kur çelësi është vërtetuesi i
identitetit tënd dixhital?
Referencat
 http://en.wikipedia.org/wiki/Digital_signature
 http://en.wikipedia.org/wiki/Public-key
 http://www.philzimmermann.com/
 http://www.youdzone.com/signature.html
 https://help.ubuntu.com/community/GnuPrivacyGuardHowto
 http://ubuntuforums.org/showthread.php?t=680292
 http://www.gnupg.org/gph/en/manual.html
 http://www.openpgp.org/technical/whybetter.shtml
 http://www.gpg4win.org/
 http://enigmail.mozdev.org/

Contenu connexe

Plus de Open Labs Albania

Bruno Skvorc - Open sourcing content - peer review's effect on quality
Bruno Skvorc - Open sourcing content - peer review's effect on qualityBruno Skvorc - Open sourcing content - peer review's effect on quality
Bruno Skvorc - Open sourcing content - peer review's effect on qualityOpen Labs Albania
 
Andri Xhitoni - Indexing Albanian Language
Andri Xhitoni - Indexing Albanian LanguageAndri Xhitoni - Indexing Albanian Language
Andri Xhitoni - Indexing Albanian LanguageOpen Labs Albania
 
Alex Corbi - Building 100 percent os open data platform
Alex Corbi - Building 100 percent os open data platformAlex Corbi - Building 100 percent os open data platform
Alex Corbi - Building 100 percent os open data platformOpen Labs Albania
 
Kiril Simeonovski - The value of open knowledge
Kiril Simeonovski - The value of open knowledgeKiril Simeonovski - The value of open knowledge
Kiril Simeonovski - The value of open knowledgeOpen Labs Albania
 
Gjergj Sheldija - Healthcare and Open Technology
Gjergj Sheldija - Healthcare and Open TechnologyGjergj Sheldija - Healthcare and Open Technology
Gjergj Sheldija - Healthcare and Open TechnologyOpen Labs Albania
 
Giannis Konstantinidis - The fedora community
Giannis Konstantinidis - The fedora communityGiannis Konstantinidis - The fedora community
Giannis Konstantinidis - The fedora communityOpen Labs Albania
 
Enkeleda Ibrahimi - Open source security
Enkeleda Ibrahimi - Open source securityEnkeleda Ibrahimi - Open source security
Enkeleda Ibrahimi - Open source securityOpen Labs Albania
 
Chris Heilmann - The new challenge of open
Chris Heilmann - The new challenge of openChris Heilmann - The new challenge of open
Chris Heilmann - The new challenge of openOpen Labs Albania
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceOpen Labs Albania
 
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding Blerta Thaçi & zana Idrizi - Empowering women in the community of coding
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding Open Labs Albania
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceOpen Labs Albania
 
Besfort Guri - Floss Tools for Gis
Besfort Guri - Floss Tools for GisBesfort Guri - Floss Tools for Gis
Besfort Guri - Floss Tools for GisOpen Labs Albania
 
Alex Corbi - Visualizing open data with carto_db
Alex Corbi - Visualizing open data with carto_dbAlex Corbi - Visualizing open data with carto_db
Alex Corbi - Visualizing open data with carto_dbOpen Labs Albania
 
Inva Veliu & Florian Tani - Open Atrium
Inva Veliu & Florian Tani - Open AtriumInva Veliu & Florian Tani - Open Atrium
Inva Veliu & Florian Tani - Open AtriumOpen Labs Albania
 
Greta Doçi - WikiAcademy Albania
Greta Doçi - WikiAcademy AlbaniaGreta Doçi - WikiAcademy Albania
Greta Doçi - WikiAcademy AlbaniaOpen Labs Albania
 
Altin Ukshini - WikiAcademy Kosovo
Altin Ukshini - WikiAcademy KosovoAltin Ukshini - WikiAcademy Kosovo
Altin Ukshini - WikiAcademy KosovoOpen Labs Albania
 
Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)
Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)
Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)Open Labs Albania
 
Elvin Civici - Copyright in the digital era (OSCAL2014)
   Elvin Civici - Copyright in the digital era (OSCAL2014)   Elvin Civici - Copyright in the digital era (OSCAL2014)
Elvin Civici - Copyright in the digital era (OSCAL2014)Open Labs Albania
 
Anda Bufi - When you live in tirana (OSCAL2014)
Anda Bufi - When you live in tirana (OSCAL2014)Anda Bufi - When you live in tirana (OSCAL2014)
Anda Bufi - When you live in tirana (OSCAL2014)Open Labs Albania
 

Plus de Open Labs Albania (20)

Bruno Skvorc - Open sourcing content - peer review's effect on quality
Bruno Skvorc - Open sourcing content - peer review's effect on qualityBruno Skvorc - Open sourcing content - peer review's effect on quality
Bruno Skvorc - Open sourcing content - peer review's effect on quality
 
Andri Xhitoni - Indexing Albanian Language
Andri Xhitoni - Indexing Albanian LanguageAndri Xhitoni - Indexing Albanian Language
Andri Xhitoni - Indexing Albanian Language
 
Alex Corbi - Building 100 percent os open data platform
Alex Corbi - Building 100 percent os open data platformAlex Corbi - Building 100 percent os open data platform
Alex Corbi - Building 100 percent os open data platform
 
Kiril Simeonovski - The value of open knowledge
Kiril Simeonovski - The value of open knowledgeKiril Simeonovski - The value of open knowledge
Kiril Simeonovski - The value of open knowledge
 
Gjergj Sheldija - Healthcare and Open Technology
Gjergj Sheldija - Healthcare and Open TechnologyGjergj Sheldija - Healthcare and Open Technology
Gjergj Sheldija - Healthcare and Open Technology
 
Giannis Konstantinidis - The fedora community
Giannis Konstantinidis - The fedora communityGiannis Konstantinidis - The fedora community
Giannis Konstantinidis - The fedora community
 
Enkeleda Ibrahimi - Open source security
Enkeleda Ibrahimi - Open source securityEnkeleda Ibrahimi - Open source security
Enkeleda Ibrahimi - Open source security
 
Chris Heilmann - The new challenge of open
Chris Heilmann - The new challenge of openChris Heilmann - The new challenge of open
Chris Heilmann - The new challenge of open
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open source
 
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding Blerta Thaçi & zana Idrizi - Empowering women in the community of coding
Blerta Thaçi & zana Idrizi - Empowering women in the community of coding
 
Bledar Gjocaj - Java open source
Bledar Gjocaj - Java open sourceBledar Gjocaj - Java open source
Bledar Gjocaj - Java open source
 
Besfort Guri - OS Geo Live
Besfort Guri - OS Geo LiveBesfort Guri - OS Geo Live
Besfort Guri - OS Geo Live
 
Besfort Guri - Floss Tools for Gis
Besfort Guri - Floss Tools for GisBesfort Guri - Floss Tools for Gis
Besfort Guri - Floss Tools for Gis
 
Alex Corbi - Visualizing open data with carto_db
Alex Corbi - Visualizing open data with carto_dbAlex Corbi - Visualizing open data with carto_db
Alex Corbi - Visualizing open data with carto_db
 
Inva Veliu & Florian Tani - Open Atrium
Inva Veliu & Florian Tani - Open AtriumInva Veliu & Florian Tani - Open Atrium
Inva Veliu & Florian Tani - Open Atrium
 
Greta Doçi - WikiAcademy Albania
Greta Doçi - WikiAcademy AlbaniaGreta Doçi - WikiAcademy Albania
Greta Doçi - WikiAcademy Albania
 
Altin Ukshini - WikiAcademy Kosovo
Altin Ukshini - WikiAcademy KosovoAltin Ukshini - WikiAcademy Kosovo
Altin Ukshini - WikiAcademy Kosovo
 
Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)
Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)
Rezart muco - A Web System for OpenMoko GTA02 (OSCAL2014)
 
Elvin Civici - Copyright in the digital era (OSCAL2014)
   Elvin Civici - Copyright in the digital era (OSCAL2014)   Elvin Civici - Copyright in the digital era (OSCAL2014)
Elvin Civici - Copyright in the digital era (OSCAL2014)
 
Anda Bufi - When you live in tirana (OSCAL2014)
Anda Bufi - When you live in tirana (OSCAL2014)Anda Bufi - When you live in tirana (OSCAL2014)
Anda Bufi - When you live in tirana (OSCAL2014)
 

Dashamir Hoxha - Firma dixhitale (OSCAL2014)

  • 1. Firma Dixhitale Firma Dixhitale Konceptet Teorike dhe Përdorimi Praktik Dashamir Hoxha (dashohoxha@gmail.com) Synimi: Pas prezantimit dëgjuesit të kenë të qartë se ç'është firma dixhitale, si funksionon, dhe çfarë duhet bërë dhe si duhet bërë për ta përdorur atë në punët e përditshme.
  • 2. Çështjet që do të trajtohen  Ç'është firma dixhitale  Konceptet e funksionimit të firmës dixhitale  Enkriptimi me çelësat publikë dhe privatë  Autentifikimi me çertifikatat dixhitale  Përdorimi praktik i firmës dixhitale  Njohja ligjore e firmës dixhitale  Problemet e sigurisë për çelësat dhe çertifikatat dixhitale
  • 3. Firmë Elektronike apo Dixhitale?  Firma Elektronike:  Një dokument i firmosur me dorë dhe i skanuar.  Një dokument i firmosur dhe i dërguar me faks.  Firma e dorës e skanuar dhe e futur në dokument si imazh.  Firma e dorës e skanuar dhe e bashkangjitur në email.  Firma Dixhitale:  Të dhëna dixhitale që i bashkangjiten një dokumenti dixhital, të cilat janë të pa-fallsifikueshme dhe garantojnë identitetin e autorit dhe integritetin e dokumentit.
  • 4. Disa nga Veçoritë e Firmës Dixhitale  Përdoret për shkëmbimin e të dhënave përmes një kanali të pasigurtë (email, dokument, kontratë, etj.).  Garanton autorësinë e dokumentit.  Garanton që dokumenti nuk ka ndryshuar (gabimisht ose me qëllim) pas firmosjes.  Autori nuk mund të pretendojë që nuk është firma e tij.  Bazohet në konceptet e kriptografisë dixhitale.
  • 5. Firma e Dorës dhe Firma Digitale  Firma e dorës është e njëjtë në çdo dokument, kurse firma dixhitale është e veçantë për çdo dokument, kështu që nuk mund të kopjohet nga një dokument në tjetrin.  Firma e dorës duhet hedhur në çdo faqe të dokumentit, kurse firma dixhitale e përfshin të gjithë dokumentin.  Firma dixhitale garanton siguri më të lartë se firma e dorës.  Firma dixhitale kërkon kujdes më të madh për ruajtjen e sigurisë.
  • 7. Firmosja e Një Mesazhi 1.Mesazhi bluhet me një funksion dhe nxirret një koncentrat i tij. 2.Koncentrati i mesazhit enkriptohet. 3.Koncentrati i enkriptuar i bashkangjitet mesazhit.
  • 8. Verifikimi i Firmës 1.Mesazhi bluhet me të njëjtin funksion dhe nxirret koncentrati i tij. 2.Koncentrati i bashkangjitur dekriptohet. 3.Krahasohen të dy koncentratet nëse janë njëlloj.
  • 9. Koncentrati i Mesazhit  Koncentrati i mesazhit është një informacion me madhësi të caktuar i cili del nga bluarja e mesazhit.  Funksioni që bluan mesazhin nxjerr gjithmonë të njëjtin koncentrat për të njëjtin mesazh.  Nëse mesazhi ka ndryshuar qoftë edhe me një bit, koncentrati del i ndryshëm.  Ka të njëjtin parim si checksum, p.sh. 2571(5), 17036(7), 120205(0), etj.  Garanton që mesazhi nuk ka ndryshuar.
  • 10. Enkriptimi/Dekriptimi i Koncentratit  Garanton vërtetësinë e dërguesit të mesazhit.  Nëse Alisa i dërgon një mesazh Bobit, atere Bobi është i sigurtë që mesazhin e ka dërguar Alisa, sepse askush tjetër nuk mund ta enkriptojë mesazhin në të njëjtën mënyrë si Alisa.  Mund të bëhet duke përdorur çelësa enkriptimi të përbashkët.  Mund të bëhet me anë të çelësave publikë dhe privatë.  Çelësat publikë dhe privatë janë më praktikë.
  • 11. Çelësat Publikë dhe Privatë  Çdo person ka një çift binjak çelësash: një privat dhe një publik.  Çdo mesazh i enkriptuar me çelësin publik, mund të dekriptohet vetëm me çelësin përkatës privat. Dhe anasjelltas, çdo mesazh i enkriptuar me çelësin privat mund të dekriptohet vetëm me çelësin përkatës publik.  Çelësin privat e di vetëm personi, kurse çelësin publik të tij e dinë të gjithë.  Njohja e çelësit publik nuk mundëson gjetjen e çelësit privat.  Gjenerimi i çelësave bëhet nga algoritme që bazohen në teorinë e numrave dhe që garantojnë plotësimin e veçorive të mësipërme.
  • 12. Algoritmi Diffie-Hellman (key exchange)  First public key algorithm published (1976)  Whitfield Diffie and Martin Hellman  Alice and Bob chose a large prime n and another number g.  Alice chooses a random large integer a and sends Bob X = ga mod n.  Bob chooses a random large integer b and sends Alice Y = gb mod n.  Alice computes k = Ya mod n.  Bob computes k’ = Xb mod n.  k and k’ are equal (gab mod n) and cannot be computed by someone watching the exchange!
  • 13. Algoritmi RSA i Çelësave Publikë (Rivest, Shamir, and Adleman) [1977]  Choose two random large prime numbers p and q.  Compute n = pq.  Choose a number e such that e is between 1 and pq and e is relatively prime to (p – 1)(q – 1).  Compute d from e (d = e-1 mod ((p-1)(q-1)))  Multiplicative inverse  To encrypt, calculate c = me mod n.  To decrypt, calculate m = cd mod n.
  • 14. Një Çift Çelësash RSA [2048 bit] Çelësi Privat 3082 010a 0282 0101 00b1 d311 e079 5543 0708 4ccb 0542 00e2 0d83 463d e493 bab6 06d3 0d59 bd3e c1ce 4367 018a 21a8 efbc ccd0 a2cc b055 9653 8466 0500 da44 4980 d854 0aa5 2586 94ed 6356 ff70 6ca3 a119 d278 be68 2a44 5e2f cfcc 185e 47bc 3ab1 463d 1ef0 b92c 345f 8c7c 4c08 299d 4055 eb3c 7d83 deb5 f0f7 8a83 0ea1 4cb4 3aa5 b35f 5a22 97ec 199b c105 68fd e6b7 a991 942c e478 4824 1a25 193a eb95 9c39 0a8a cf42 b2f0 1cd5 5ffb 6bed 6856 7b39 2c72 38b0 ee93 a9d3 7b77 3ceb 7103 a938 4a16 6c89 2aca da33 1379 c255 8ced 9cbb f2cb 5b10 f82e 6135 c629 4c2a d02a 63d1 6559 b4f8 cdf9 f400 84b6 5742 859d 32a8 f92a 54fb ff78 41bc bd71 28f4 bb90 bcff 9634 04e3 459e a146 2840 8102 0301 0001 Çelësi Publik 3082 01e4 f267 0142 0f61 dd12 e089 5547 0f08 4ccb 0542 00e2 0d83 463d e493 bab6 0673 0d59 bf3e c1ce 4367 012a 11a8 efbc ccd0 a2cc b055 9653 8466 0500 da44 4980 d8b4 0aa5 2586 94ed 6356 ff70 6ca3 a119 d278 be68 2a44 5e2f cfcc 185e 47bc 3ab1 463d 1df0 b92c 345f 8c7c 4c08 299d 4055 eb3c 7d83 deb5 f0f7 8a83 0ea1 4cb4 3aa5 b35f 5a22 97ec 199b c105 68fd e6b7 a991 942c e478 4824 1a25 193a eb95 9c39 0a8a cf42 b250 1cd5 5ffb 6bed 6856 7b39 2c72 38b0 ee93 a9d3 7b77 3ceb 7103 a938 4a16 6c89 2aca da33 1379 c255 8ced 9cbb f2cb 5b10 f82e 6135 c629 4c2a d02a 63d1 6559 b4f8 cdf9 f400 84b6 5742 859d 32a8 f92a 54fb ff78 41bc bd71 28f4 bb90 bcff 9634 04de 45de af46 2240 8410 02f1 0001
  • 15. PGP / OpenPGP / GPG  Pretty Good Privacy  Program enkriptimi i shkruar nga Phill Zimmerman më 1991, dhe I lëshuar falas në internet.  OpenPGP  Një standart për mesazhet e firmosuara/enkriptuara.  RFC 2440, Nëntor 1998  Gnu Privacy Guard  Një implementim i OpenPGP.  Nuk përdor algoritme të patentuara.
  • 16. Firmosja me Çelësat Publikë  Supozojmë se Alisa i dërgon një mesazh Bobit.  Alisa e firmos mesazhin me çelësin e saj privat.  Bobi e verifikon mesazhin me anë të çelësit publik të Alisës.  Nëse verifikimi del me sukses, Bobi është i sigurtë që ky mesazh nuk mund të jetë firmosur veçse me çelësin privat të Alisës.  Pyetje: Ku mund ta gjej Bobi çelësin publik të Alisës?  Përgjigje 1: Alisa ia ka dhënë Bobit drejtpërdrejt.  Përgjigje 2: Alisa e ka publikuar çelësin në faqen e vet.
  • 17. Serverat e Çelsave Publikë  Një mundësi tjetër ku Bobi mund ta gjej çelësin publik të Alisës është: në një server çelësash publikë (si http://pgp.mit.edu).  Këta servera janë pak a shumë si numratorë telefonash, ku për çdo person mund të gjesh çelësin (çelësat) e tij publikë.  Serverat kryesorë sinkronizohen me njëri-tjetrin, kështu që:  Mjafton të rregjistrohesh vetëm te njëri prej tyre (dhe në pak kohë rregjistrimi do të jetë shpërndarë në të gjithë serverat e tjerë)  Mjafton të kërkosh vetëm te njëri prej tyre.
  • 18. Koncepti i PKS-së  Një PKS (Public Key Server) në parim është pak a shumë i ngjashëm me një DNS (Domain Name Server).  Pyetja themelore të cilës i përgjigjet një DNS është: cila është IP-ja për këtë emër domaini.  Pyetja themelore të cilës i përgjigjet një PKS është: cili është çelësi publik për këtë person.
  • 19. Problemi Vërtetësisë së Identitetit  Duke përdorur çelësin publik të Alisës, Bobi vërtet u sigurua që mesazhi është firmosur me anë të çelësit privat të Alisës.  Por nëse Bobi nuk e njeh personalisht Alisën dhe nuk e ka marrë çelësin drejtpërdrejt prej saj, ai nuk mund të jetë i sigurtë se kush është Alisa. Ka mundësi që: 1) emri Alisa të jetë veçse një pseudonim 2) dikush tjetër ta ketë publikuar çelësin dhe jo Alisa  Në mardhënie të caktuara është e rëndësishme të sigurohemi që identiteti i personit që ka hedhur firmën dixhitale është i saktë.  Si mund të zgjidhet ky problem?
  • 20. Firmosja e Një Çelësi Publik  Çelësi publik i Alisës, bashkë me emalin e saj, emrin dhe hollësi të tjera, mund të konsiderohen si një dokument dixhital.  Si çdo dokument tjetër dixhital, Bobi mund ta firmos atë me çelësin e tij privat.  Bobi e firmos çelësin publik të Alisës vetëm nëse është i sigurtë se identiteti i Alisës është i vërtetë dhe se ky çelës publik i përket vërtet asaj.  Firmosjen e çelësit publik të Alisës Bobi mund ta publikojë në serverat e çelësave publikë (PKS).  Duke firmosur një çelës publik, Bobi garanton veten dhe të tjerët për saktësinë e këtij çelësi publik.
  • 21. Garantimi me Anë të Ndërmjetësve  Supozojmë se Bobi nuk e ka verifikuar saktësinë e çelësit të Alisës, por: 1)Bobi ka verifikuar saktësinë e çelësit të Cenit, e ka firmosur atë, dhe është i sigurtë për saktësinë e tij. 2)Bobi konstaton se Ceni ka firmosur çelësin e Alisës.  Atëherë Bobi mund të konkludojë se çelësi i Alisës është pak a shumë i saktë.  Kjo mund të përgjithësohet për më shumë se një ndërmjetës.  Pyetje 1: Po sikur Ceni ta ketë hedhur firmën kot?  Pyetje 2: Po sikur Bobit ti duhet të kalojë 10 ndërmjetës deri te Alisa? A mund të konkludojë përsëri se çelësi publik i Alisës është i saktë?
  • 22. Rrjeti i Besueshmërisë (Web of Trust)  Për të zgjidhur problemet e mësipërme, Bobi mund të përcaktojë një shkallë besueshmërie për çdo person çelësin e të cilit e ka verifikuar dhe firmosur.  Vlerat e besueshmërisë janë: (1) Plotësisht (Bobi është i sigurtë se firmosjet e Cenit janë të sakta) (2) Pjesërisht (firmosjet e Cenit të sakta deri në një farë mase) (3) Aspak (Bobi mendon se Ceni firmos kot) (4) Panjohur (Bobi nuk e ka idenë për saktësinë e Cenit)
  • 23. Rrjeti i Besueshmërisë (Web of Trust)  Përveç vlerave të besueshmërisë, Bobi mund të përcaktojë edhe disa rregulla për vlerësimin e saktësisë së çelsave publikë.  P.sh. Një çelës mund të konsiderohet i vlefshëm nëse plotëson dy kushtet e mëposhtme: 1.Është firmosur nga një numër i mjaftueshëm çelësash të vlefshëm, që do të thotë: ➔ Bobi e ka firmosur personalisht, ose ➔ është firmosur nga një person plotësisht i besueshëm, ose ➔ është firmosur nga të paktën tre persona pjesësisht të besueshëm 2.Largësia e çelësit nga Bobi nuk është më shumë se 5 hapa ndërmjetës.
  • 24. Rrjeti i Besueshmërisë (Web of Trust) Shembull:
  • 25. Çertifikata Dixhitale dhe PKI  Dokumenti dixhital që përmban çelësin publik, bashkë me identitetin dhe hollësi të tjera (emri, emaili, etj.) quhet edhe Çertifikatë Dixhitale.  Çertifikatat dixhitale dhe firmosja e tyre, serverat e çelësave publikë (PKS), rrjeti i besueshmerisë (Web of Trust), etj. të gjitha bashkë formojnë atë që quhet Infrastruktura e Çelësave Publikë (PKI, Public Key Infrastructure) e llojit OpenPGP.
  • 26. PKI-ja Hierarkike  Përveç PKI-së së llojit OpenPGP, egziston edhe një lloj tjetër infastrukture, e quajtur S/MIME, e cila bazohet në çertifikata të llojit X.509.  Kjo PKI është hierarkike dhe modelon me besnikëri sistemin jo-dixhital të dokumentave identifikuese (çertifikatë lindje, kartë identiteti, pasaportë, etj.)  Në këtë infrastrukturë, çertifikatat dixhitale firmosen vetëm nga një autoritet qëndror, i cili është i çertifikuar/miratuar nga një autoritet i mësipërm, e kështu me rradhë.  Edhe çertifikata X.509 përmban çelësin publik, emrin, emailin etj. të zotëruesit të saj, si dhe identitetin dhe firmën e autoritetit çertifikues, i cili duhet të jetë i njohur publikisht dhe i besueshëm nga të gjithë.
  • 27. PKI-ja Web of Trust dhe PKI-ja Hierarkike  Njëri model i përngjan strukturës së internetit, kurse tjetri i përngjan strukturës së organizatave shtetërore/private.  Këto dy PKI nuk janë të ndërveprueshme, por mund të përdoren të dyja njëkohësisht (paralelisht).  Modeli web mund ti përshtatet edhe strukturës hierarkike, kurse modeli pemë nuk mund ti përshtatet strukturës së rrjetit.  Mendimi i specialistëve (Philip Zimmerman, krijuesi i PGP-së) është se modeli rrjet i OpenPGP-së është më i mirë se modeli pemë i X.509-s (http://www.openpgp.org/technical/whybetter.shtml)
  • 28. GPG: Krijimi i Çelësave Privat/Publik $ gpg –gen-key $ gpg --gen-revoke D8FC66D2  Krijon një çift çelësash: publik dhe privat.  Zgjedh algoritmin: RSA, DH/ElGamal, etj.  Zgjedh gjatësinë e çelësit (të paktën 1024 bits)  Jep të dhënat e përdoruesit (emri, email-i, etj.)  Cakton parullën (pass phrase)  Krijo një çertifikatë anullimi, pas krijimit të çelësave. Nëse harroni parrullën, kjo të lejon të anullosh çelësat.
  • 29. GPG: Shkëmbimi i Çelësave Publikë  Dërgimi në një PKS (Public Key Server): $ gpg --keyserver hkp://pgp.mit.edu --send-key 55D59B28  Marrja nga një PKS: $ gpg --keyserver hkp://pgp.mit.edu --recv-key D2AB2220  Exportimi në një skedar tekst: $ gpg --export -a alice@cyb.org > alice.asc  Importimi nga një skedar tekst: $ gpg --import bob.asc
  • 30. GPG: Firmosja e Një Dokumenti  Firmosja binare: $ gpg --output doc.sig --sign doc $ gpg --output doc --decrypt doc.sig $ gpg --verify doc.sig  Firmosja tekst (ascii): $ gpg --output doc.sig --clearsign doc $ gpg --verify doc.sig  Firmosja në skedar të veçantë: $ gpg --output doc.sig --detach-sig doc $ gpg --verify doc.sig doc
  • 31. GPG: Administrimi i Çelësave  Listo çelësat dhe nënshkrimet e tyre: $ gpg --list-keys $ gpg --list-sigs $ gpg --fingerprint  Modifiko çelësat: $ gpg --edit-key alice@cyb.org  Nënshkruaj çelësat e dikujt: $ gpg --sign-key bob@cyb.org  Verifiko nënshkrimet e çelësave të dikujt: $ gpg --check-sigs bob@cyb.org
  • 32. Seahorse: Hapja System > Preferences > Passwords and Encryption Keys
  • 33. Seahorse: Krijimi i Çelësave PGP File > New...
  • 34. Seahorse: Plotësimi i Detajeve të Çelësit
  • 35.
  • 36. Njohja Ligjore e Firmës Dixhitale  Firma dixhitale ofron nivel më të lartë sigurie se firma me dorë.  Në shumë vende të botës firma dixhitale ka të njëjtën vlerë juridike si firma me dorë:  Australi  Shtetet e Bashkuara  EU dhe vendet anëtare  Edhe në Shqipëri janë miratuar ligje që i japin firmës dixhitale të njëjtin status si firma me dorë. Kjo bën të mundur që dokumentacioni dixhital ta zëvendësojë plotësisht dokumentacionin fizik (letër).
  • 37. Ruajtja e Sigurtë e Çelësave  Është e rëndësishme që çelësi privat të jetë vërtet privat dhe të ruhet me shumë kujdes. Vjedhja e tij do të thotë vjedhje e identitetit dixhital dhe persona të tjerë mund të nënshkruajnë në emrin tënd.  Po ashtu duhet patur kujdes që çelësi të mos humbas apo të mos harrohet parrulla.  Në rast se çelësi bëhet i papërdorshëm, duhet anulluar, por si mund të vërtetosh që je pronari i vërtetë i çelësit, kur çelësi është vërtetuesi i identitetit tënd dixhital?
  • 38. Referencat  http://en.wikipedia.org/wiki/Digital_signature  http://en.wikipedia.org/wiki/Public-key  http://www.philzimmermann.com/  http://www.youdzone.com/signature.html  https://help.ubuntu.com/community/GnuPrivacyGuardHowto  http://ubuntuforums.org/showthread.php?t=680292  http://www.gnupg.org/gph/en/manual.html  http://www.openpgp.org/technical/whybetter.shtml  http://www.gpg4win.org/  http://enigmail.mozdev.org/