kriptografia - 3 -...

29
KRIPTOGRAFIA - 3 Siguria në TI Universiteti i Prizrenit Ligjërues: Ilir Bytyçi Nëntor 2012

Upload: haminh

Post on 23-Mar-2019

254 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

KRIPTOGRAFIA - 3 Siguria në TI

Universiteti i Prizrenit

Ligjërues: Ilir Bytyçi

Nëntor 2012

Page 2: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Përsëritje

• Çka është plaintext?

• Po ciphertext?

• Çka është algoritmi i enkriptimit?

• Po „key‟?

• Definoni faktorin mund (work factor)

• Definoni kuptimin e Key factor

• Çka thotë parimi i Kirkhofit për kriptografinë?

• Çka është karakteristike te enkriptimi simetrik?

Page 3: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Mekanizmat e enkriptimit

• I mbrojnë të dhënat në tranzit (mediume si kabllo apo pa tel)

• I mbrojnë informatat e ruajtura në „storage‟ (RAM, HDD, etj)

• Parandalon disa sulme të strukturuara apo të pastrukturuara

• Ndihmon në verifikimin e integritetit, dhe origjinës së informacionit

• Është aspekt shumë i rëndësishëm, por i anashkalueshëm (p.sh. DES është i dobët)

• Në disa shtete ka ligje mbi enkriptimin

Page 4: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Mekanizmat e enkriptimit

• Konfidencialiteti – enkriptim

• Disa lloje të algoritmeve të enkriptimit: • DES (çelës me gjatësi 56 bit)

• 3DES (çelës me gjatësi 56, 112, dhe 168 bit)

• AES – Përdoret dhe nga qeveria amerikane. Përdor çelës 256 bit,

blloqe 128 bitëshe

• Serpent (një algoritëm që ka qenë në garë me AES, poashtu me

çelës 256 bit)

• Twofish poashtu finalist në garë me AES, çelës 256 bit.

• Mund të bëhen edhe kombinime të këtyre 3 të

fundit, dukë i lidhur zinxhir, dhe të varur njëri nga

tjetri.

Page 5: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Mbrojtja e integritetit të të dhënave

• Si mund ta dimë nëse një e dhënë është

ndryshuar nga dikush? Dëmtim në integritet.

• E lexojmë?

• E krahasojmë madhësinë (në bajtë)?

• I besojmë mediumit transmetues?

• I besojmë dërguesit?

• JO! E vërtetojmë në nivel të bitave, për çdo

ndryshim eventual!

Page 6: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Message digest - hash

• Digest – nga anglishtja, përtypje, tretje.

• Një vlerë fikse e shprehur në bite për një përmbajtje apo e dhënë me madhësi jofikse.

• Disa nga llojet e message digest, apo ndryshe si quhen HMAC – Hashed Method Authentication Code: • MD5

• SHA1 (Secure Hash Algorithm)

• SHA2

Page 7: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Message digest - hash

• Digest – na shërben të krahasojmë vlerën e hash

në fillim dhe në fund të transmetimit.

• Nëse ka ndryshuar një bit i vetëm ndryshon

komplet vlera e hash.

• Shohim shembujt në praktikë në vijim…

Page 8: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

GPG

• Duhet të keni instaluar programin gpg4win që t‟i bëjmë

ushtrimet e sotme.

• http://www.gpg4win.org/

• Versioni i fundit deri sot gpg4win-2.1.0.exe ~38MB

• Për ushtrimet mbi hash mund të përdorim edhe disa

komanda në Linux. Nëse e keni VM dhe Linux të

instaluar, hapeni programin Terminal (ku shkruhen

komandat)

Page 9: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (linux&MD5)

• Në Linux: Hapeni VM, dhe krijoni një fajl tekstual, dhe shkruani përmbajtjen “Hello World” brenda saj. Emertojeni fajlin hello.txt

• Në terminal shkruani komanden:

md5sum hello.txt

Pastaj shihni vlerën që nxirret. Pastaj hyni në fajlin e mësipërm dhe ndryshoni përmbajtjen, dhe bëjeni “Hello World “ (leni një hapësirë shtesë). Shihni a ka ndryshuar përmbajtja, duke ekzekutuar komandën përsëri.

Page 10: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (linux&MD5)

Page 11: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (linux&SHA1&SHA2)

Përsëriteni ushtrimin e kaluar, tani me algoritmin tjetër më

të sigurt, dhe duke përdorur komandën:

shasum hello.txt

Pastaj shihni vlerën që nxirret. Përmbajtja është më e gjatë

Provoni komandat sha224sum , sha256sum, sha384sum,

sha512sum në fajlin e fundit. Vini re gjatësinë e vlerës së

hash.

Page 12: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (linux&SHA1&SHA2)

Page 13: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (linux&SHA2) Në Linux passwordet ruhen në një fajl special ku ka qasje

vetëm administratori, dhe fajli quhet /etc/shadow

Nëse e vëreni, formati i fajlit ka disa fusha, ku më kryesoret

janë:

$id$salt$hash….etj

id=6=SHA-512

Salt = VI

Page 14: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (windows)

• Në Windows, pasi keni instaluar gpg4win-

2.1.0.exe ~38MB

• Hapeni programin Kleopatra. Shkoni në File,

pastaj „Create Checksum Files…‟ pastaj zgjidhni

fajlin “hello.txt” të cilin e keni krijuar, dhe e keni

shkruar tekstin “Hello World”.

• Ju prodhohet fajli sha1sum.txt me përmbajtjen e

krijuar.

Page 15: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (windows&SHA1)

Page 16: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Ushtrime (windows&SHA1)

Mënyra e dytë:

Page 17: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik

• Për dallim nga enkriptimi simetrik, ku ekziston një çelës, i

përdorur në rast enkriptimi e dekriptimi, kemi edhe

enkriptim asimetrik.

• Te enkriptimi asimetrik kemi dy lloje çelësash:

• Privat

• Publik

• Secila palë që dëshiron të komunikojë duhet të ketë këtë

krijuar një çelës privat/sekret dhe ta dërgojë atë publik te

pala me te cilën do të komunikojë, dhe ta pranojë çelësin

publik të pranuesit të mesazhit të enkriptuar

Page 18: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik

• Pala pranuese duhet ta pranojë çelësin publik nga

dërguesi, ta importojë në listën e çelësave, ta vërtetojë se

është çelës i besueshëm.

• Pala dërguese e përdor çelësin e tij privat, dhe atë publik

të pranuesit për të enkriptuar një informatë.

• Me çelësin e tij privat, pranuesi përdor çelësin publik të

dërguesit për ta dekriptuar një informacion.

Page 19: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – shembull Cezari e përdor çelësin publik të komandantit dhe e enkripton, dhe ia dërgon

me e-mail.

Komandanti me çelësin e tij privat e pranon dhe e dekripton mesazhin.

Page 20: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – praktikë Cezari e hap programin Kleopatra (pjese e gpg4win) në

Windows, shkon te menyja File dhe shtyp New Certificate…

dhe krijon një certifikatë personale, dhe jep shënimet e tij dhe

shtyp “Create Key” dhe e jep një password kompleks dy herë

dhe shtyp “Finish”

Page 21: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – praktikë Cezari e me butonin e djathtë e shtyp çelësin e sapokrijuar, e

kopjon çelësin publik me funksionin “Export certificate”. E

ruan diku atë fajl edhe ia jep komandantit me USB, ose ia

dërgon me e-mail.

Page 22: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – praktikë Komandanti e importon certifikaten/çelësin publik të Cezarit

në listën e tij të çelësave, duke shtypur “Import certificate…”

Pasi e importon, e vërteton që është çelës i besueshëm, dhe

shtyp “Change Owner Trust…” Nëse i besoni dërguesit,

shtypet opsioni në vijim:

Page 23: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – praktikë Pasi i besojmë certifikatës, e nënshkruajmë atë, si të

besueshme, me opsionin “Certify certificate…”. Pasi e vendos

passwordin e tij komandanti, dhe i beson certificata, ajo

vërtetohet.

Page 24: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – praktikë Pasi i shkëmbejnë certifikatat publike, tani mund të dërgojnë

mesazhe të enkriptuara te njëri tjetri. P.sh. nëse komandanti

dëshiron t‟i dërgojë një mesazh të enkriptuar Cezarit ai

vepron si vijon:

1. Hap programin Kleopatra

2. File – Sign/Encrypt Files…

3. E zgjedh fajlin e dëshiruar, p.sh. mesazh urgjent.txt

4. Zgjedh “Encrypt”

5. Zgjedh për kë po enkriptohet mesazhi, (në këtë rast

Cezari) dhe shtyp “Add”

6. Shtyp “Encrypt”

7. Gjenerohet fajli i enkriptuar mesazh urgjent.txt.gpg

8. I niset me email Cezarit, dhe ky fajl mund të hapet vetëm

nga Cezari

Page 25: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – praktikë Pasi e pranon fajlin e enkriptuar, Cezari e hap me

programin Kleopatra, duke shkuar në

File – Decrypt/Verify Files…

Dhe vendos passwordin e tij te çelësit tij privat.

Page 26: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – praktikë A mund ta dekriptojë një fajl dikush që përdor Linux,

nëse ne i dërgojmë një fajl të enkriptuar në

Windows?

Patjetër që po. Mjafton të jenë shkëmbyer çelësat

publikë, dhe të jenë verifikuar nga të dy palët.

Në Linux Mint e keni programin KGpg

Page 27: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik – Linux

Page 28: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Enkriptimi asimetrik Detyrë shtëpie:

1) Krijoni një çift çelësash, privat dhe publik

2) Dërgomani çelësin publik me email

3) Dergomani në të njejtin email edhe vlerën hash të

çelësit tuaj publik me algoritmet: md5, sha1,

sha224, sha512, sha384

4) Dërgomëni me email detajet e çelësit tuaj

“Certificate details” (bëni një screenshot, fotografi)

Page 29: KRIPTOGRAFIA - 3 - naserkastrati.weebly.comnaserkastrati.weebly.com/uploads/3/...siguria_ne_ti-kriptografia_3.pdf · Ushtrime (linux&MD5) •Në Linux: Hapeni VM, dhe krijoni një

Referenca

• http://www.axantum.com/axcrypt/

• http://sourceforge.net/projects/passwordsafe/

• http://www.rot13.com/index.php