Jump to content
pyth0n3

Semnatura digitala GPG

Recommended Posts

Semnatura digitala GPG

______________________________________________________________________

Aici voi incerca sa explic intrun mod foarte simplu ceea ce inseamna o

semnatura digitala ,de ce este important sa facem asa ceva , cum vine

facuta, cum vine verificata ,

Un document semnat digital vine certificat , ii vin aplicate anumite

amprente

In cazul in care acest document vine modificat , verificarea semnaturii va

esua

In cazul in care vine folosit GPG semnatura vine facuta in urmatorul fel:

Un document vine semnat de catre proprietar cu cheia lui privata dupa care

vine trimis in retea catre un user pe care il vom chema destinatar

Destinatarul, (userul care a primit acest document) poate verifica aceasta

semnatura folosind cheia publica a proprietarului

Stim ca proprietarul are doua chei 1 privata si una publica (la cheia

publica poate avea acces oricine)

Importanta pt care vin facute aceste semnaturi digitale

Majoritatea din useri trimit email-uri fara sa isi dea seama ca pot fi

citite, modificate de catre oricine in retea

O firma poate asigura ca un anumit document a fost modificat sau nu ,

bineinteles nu garanteaza ca acel document nu poate fi citit (pt acest

lucru exista optiunea de criptare)

Cum vine facuta o semnatura?

In urmatoarele exemple voi folosi un document pe care il voi semna in

diverse moduri cu cheia mea privata

Pt a vedea daca acest document este intradevar semnat de catre mine si nu

a fost modificat puteti folosi cheia mea publica

Voi crea si un document pe care dupa ce il voi semna il voi modifica pe

parcurs , il voi chema bad document (acest document a fost modificat de

catre altcineva deci va avea urmatorul atribut Bad signature)

Cu urmatorul exemplu poate fi creata o semnatura digitala pt un fisier pe

care l-am chemat document

gpg --output document.sig --sign document

Vom avea un output binariu , va fi creat un fisier document.sig

Pt a putea citi si verifica acest document vom folosi urmatorul comand

gpg --output document --decrypt document.sig

In cazul in care vrem doar sa il verificam vom folosi urmatorul comand

gpg --verify document.sig

Un simplu output pt acet comand ar trebui sa fie urmatorul in cazul in

care totul este ok

gpg: Signature made Thu 06 Jan 2011 12:28:08 GMT using DSA 
key ID 2072D16D
gpg: Good signature from "pyth0n3 <python3aka@gmail.com>"

Deci un output de tipul Good signature ar trebui sa apara pt a ne convinge

ca documentul nu a fost modificat

Alte tipuri de semnaturi:

Un document poate fi semnat in clar text

Vom folosi optiunea --clearsign

gpg --clearsign document

Va fi creat un alt fisier de tipul document.asc de tipul ASCII-armored

La randul lui pt a fi verificat se va folosi optiunea --verify urmata de

numele documentului.asc

In acest document mesajul va fi in cleartext

In aceste exemple am folosit urmatorul mesaj " This is a sample document"

Un alt mod poate fi un document care contine o semnatura detasata

Ce se intampla aici ?

Va fi creat un alt fisier care va contine semnatura pt fisierul document

gpg --output semnatura.sig --detach-sig document 

Acum pt a verifica documentul vom folosi optiunea --verify la care vom

adauga cele doua fisiere ,unul care contine semnatura semnatura.sig urmat

de fisierul care a fost semnat document

gpg --verify semnatura.sig document 

Ce se intampla in cazul in care vine modificat fisierul document dupa ce a

fost semnat ?

Ok pt a face acest lucru voi face o copie a acestui fisier pe care o voi

modifica , il voi chema document.bad

cp document document.bad 

Am zis ca fisierul document contine urmatoarele cuvinte "This is a sample

document "

Ok , vom modifica fisierul document.bad in care vom adauga urmatoarele

cuvinte "This sample has been modified "

Deci acum avem urmatorul continut:

This is a sample
This sample has been modified

Acum vom verifica daca semnatura corespunde

gpg --verify semnatura.sig document.bad

Vom avea urmatorul output

gpg: Signature made Thu 06 Jan 2011 12:39:53 GMT using DSA 
key ID 2072D16D
gpg: BAD signature from "pyth0n3 <python3aka@gmail.com>"

BAD signature ne spune ca documentul a fost modificat de catre cineva

Documentul original are urmatorul output

gpg: Signature made Thu 06 Jan 2011 12:39:53 GMT using DSA 
key ID 2072D16D
gpg: Good signature from "pyth0n3 <python3aka@gmail.com>"

Fisierele pe care le-am creat pot fi gasite la urmatoarea adresa si pot fi

controlate daca sunt modificate sau nu folosind cheia mea publica

http://tinyurl.com/32tly7x

Cheia mea publica poate fi descarcata de la urmatorul url:

http://tinyurl.com/336fl87

Download paper :

wget  http://sprunge.us/TUMh -O gpg_sign_ro.txt

Edited by pyth0n3
  • Upvote 2
Link to comment
Share on other sites

@adi003user

Pt a crea o pereche de chei se poate folosi comandul

gpg --gen-key 

Va trebui bineîn?eles sa fie instalat OpenGPG

Intrun ambient Windows se poate folosi Gpg4win - Secure E-Mail and File Encryption using GnuPG for Windows

Aceste tool iti vor permite sa creezi un key pairs , sunt destule altele care folosesc o interfata grafica

Ok , presupun ca vrei sa imi scrii un email , ce trebuie sa faci?

step1 descarci cheia mea publica la tine in calculator

step2 descarci FireGPG - Welcome to the official website of FireGPG! , e un plugin pt firefox

step3 incarci cheia mea pe care ai descarcato in firegpg , din menu optiunea import

step4 firegpg are un editor unde scrii mesajele uite aici

step5 criptezi mesajul dupa ce l-ai scris uite aici

step6 copy si trimiti textul criptat la destinatar uite aici

Note: mesajul il poate citi doar destinatarul care are cheia privata ,daca criptezi cu cheia mea publica pot citi doar eu mesajul si nimeni altul folosind cheia mea privata

A fost doar un exemplu , deoarece sunt multe alte tool-uri care fac acest lucru in automat cum ar fi Thunderbird - It?s All Yours

Un alt client pe care il folosesc eu este MUTT

mutt screenshot

La randul meu ca sa iti raspund tie voi folosi aceea?i procedura , dar voi avea nevoie de cheia ta publica

Aici si chestia cu doua chei

Tu generezi 2 chei , una o tii pt tine si una o publici

Eu iau cheia ta publica si criptez mesajul pe care vreau sa til trimit

Tu poti sa decriptezi mesajul pe care ti l-am trimis doar cu cheia ta privata

Nimeni altul nu poate decripta mesajul daca nu are cheia privata

Link to comment
Share on other sites

fain. si intr-un mediu linux (debian mai exact) ce utilitar/addon folosesti pentru a trimite mailurile?

LE. ok mutt il am si eu dar cum criptez mailurile?

LE2. gpg --armor --export unbaiat@mailpemail.ro imi arata cheia mea publica?

LE3 gpg --import python.gpg ca sa adaug cheia ta?

Presupun ca cheile publice sunt deja incarcate in gpg

1.deschizi mutt

2. m pt a scrie un email

3.iti apare un editor de default unde poti scrie mesajul

4.dupa ce termini de scris , salvezi mesajul

5.apesi litera p de pe tastiera uite aici

6. iti apar niste optiuni jos in care poti alege ceea ce vrei sa faci uite aici

7. dupa ce ai ales ceea ce vrei sa faci poti trimite mesajul folosind litera y uite aici

Pt a exporta o cheie publica intrun file poti folosi comandul

gpg --armor --export unbaiat@mailpemail.ro > file.key 

Pt a adauga o cheie publica

gpg --import keyfile 

Pt a face un list la cheile publice

gpg --list-keys

Note:

daca vrei sa trimiti un email cu mutt la o adresa la care nu ai incarcat intai cheia publica in gpg nu o poti cripta deoarece nu ai cheia publica , oricum mutt iti va cere un key id

Link to comment
Share on other sites

E ceva gen DigiSign ?

Poate fi folosita pentru declaratii ANAF?

Nu poate fii folosit la declaratii ANAF. Este partial ceva de genul, insa ce este aici, doar cripteaza un document/corespondenta.

Ceaa ce utilizeaza ANAF, lucreaza putin mai altfel, cheile sunt stocate pe un token usb, ceea ce impiedica oarecum copierea lor(nu te poti duce cu un stick usb, sa copiezi/multiplici cheia, ca aici, fiinca aceea este pe tokenul usb, care pentru a fii accesat, are nevoie de un pin, este mai complicat), iar documentele au si marca temporala (Prin procesul de marcare temporala, unui document electronic ii este asociat un pachet de informatii care garanteaza ca acesta a existat intr-o anumita forma la un anumit moment de timp, astfel putandu-se evita eventuale posibile litigii.

Marcile temporale sunt calculate prin criptarea datelor, iar utilizatorii pot folosi aceasta oportunitate prin intermediul unui browser web.

Elementele marcii temporale sunt:

- amprenta atasata documentului electronic supus marcarii;

- data si momentul de timp aferente documentului supus marcarii, exprimate in timp universal;

- informatii care identifica in mod unic furnizorul de servicii de marcare temporala;

- numarul de ordine din registrul furnizorului de servicii de marcare temporala.)

Edited by firewind
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...