Cum sa pastram secrete digitale ?

Monday, 12 March, Year 4 d.Tr. | Author: Mircea Popescu

Articolul asta se construieste pe ideea ca rulati linux, ca de exemplu ubuntu (da' pentru nevoile articolului de fata cam oricare alta varianta e la fel de buna).

Daca nu rulati linux e din capul locului cert, garantat si indiscutabil ca nu veti putea folosi nici Internetul nici computerul proprietate personala. Ca regula generala vorbim, sigur ca pe ici-pe colo puteti gasi exceptii si eventual cu foarte mult efort aproape ca reusiti sa le folositi la cite ceva. Da-n general si per total vorbind, nu. Asa ca, daca nu rulati linux... ce pot sa spun, poate ca exista un paleativ palid si aproximativ si pentru cvasi-sistemul dumneavoastra. Nu bag mina in foc si mi-i lene sa caut, da' poate daca aveti noroc gasiti ceva, cine stie.

Revenind la subiect : in practica pastrarea secretului digital incepe si se sfirseste cu o chestie numita GNU PG (Privacy Guard), care-i o implementare a PGP (Pretty Good Privacy). Modelul matematic pe care se bazeaza ea e tot criptografia cu chei asimetrice de care-am mai discutat cu ocazia bitcoinilor, asa ca nu mai revenim, ne focalizam pe chestii practice azi.

Prima miscare pe care aveti a o face este

gpg --gen-key

Asta va genera o noua cheie (care va fi probabil si prima dumneavoastra cheie digitala - felicitari!). Principala decizie pe care o aveti in fata cu aceasta ocazie e daca sa folositi o cheie permanenta sau una care expira intr-un an. Avantajul de-a folosi o cheie care expira intr-un an este ca daca faceti timpenii ca incepator nu le veti regreta peste un deceniu-doua, si ca puteti folosi o cheie mai scurta (rezultind mesaje si semnaturi mai scurte de asemenea). Dezavantajul e bineinteles ca expira. Cum preferati si va convine mai bine. Daca faceti cheia sa expire intr-un an setati-o de 1024 octeti, daca o faceti permanenta setati-o de 4096. In toate cazurile doriti o pereche RSA and RSA (deci optiunea #1, cea oricum selectata din oficiu).

Aici programul va lua o scurta pauza, in care va incerca sa colecteze entropie. Chestia asta poate dura si-un sfert de ceas, nu-l bagati in seama, vedeti-va de treburi pina-i gata.

De departe cea mai importanta chestiune in toata afacerea e ceea ce gpg numeste "passphrase", adica parola care va ingaduie sa va accesati cheia secreta. E o idee buna sa folositi ceva cu litere mari si mici, cifre si simboluri. G6kel{v!Qr0 e un exemplu de parola buna. Ana9are0mere e un exemplu de parola idioata.

Si-acum sunteti gata. Ce puteti face cu aceasta noua jucarie ?

I. Puteti semna si verifica semnaturi. Daca dati comanda

gpg --clearsign

gpg va cere parola. O introduceti, apasati enter, apoi scrieti un mesaj (nu va lasati confuzati de faptul ca "nu se intimpla nimic" - se intimpla). Cind ati terminat apasati ctrl-d (de doua ori). Asta-i tot, obtineti astfel un text semnat, imprejurare pe care oricine o poate verifica, indiscutabil si neunivoc. Stiti toate povestile alea cu vai, semnatura falsa, plastografie, etc ? Ei, sunt trecut din colb de cronici, de cind cu gpg nu se mai poate asa ceva.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Salut! Asta e un mesaj semnat. Oricine doreste poate sa se asigure ca intr-adevar a fost scris de mine.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iQIcBAEBAgAGBQJPXeNkAAoJEIpzbw4vt7RSqT4QALKRTfdtudigsZjjc+dc2RG+
u0fFQp6ZDx1iuDmgfB+VvEiu19c/ivdmoJpN73B95bz2IMbXGD4lslwkkM9WNNKI
SU/XrvTMSg7CvIbBqAEJDpKOwfz0SMFucjgotBX6dQ+ydc9cTFX0veBj6pRmn02D
D+aQM27DTwV2clm3v72vKi+GpsXRFEGueB+zD1CnIQB5obHNRbFqEVfIVTpfWUaV
/46wLoIC8XJq+QhM/DLN/kAdb+vIAAVwriG4rNWP8BDAk22kGLIHy4DXe1+W5cSg
JJc/F8qh0yQIByUXpEvdkqvKFGo2j7QN4iA7dP0wNzBqIRvz+QMt7PERNpuanNjV
M+NqP/MbGtL9odlyInPA6t/w6ZG2AtlEriqehKssJ63tDLaJPcIKM0wfpzd/7W1e
U5gHZSvXlbRzkdK91GXma1idsdGs6zN6jeFCm0pDy3ruUnwojwCvS/8w7KM5dsxK
OZNuJQqpLtOQqFUbrJm4/nGhKthdnGG2Lqf6WyrivmRt7CocThdFWeoMQYYC9G25
wxCbezxgwuLOsgjBj6vt3hv+6T2XiqxkGkbIBoWhrsFrX26Dhwu0AcU08rixIjUt
Rg8dhDm9RdHUgZbLIiPax35Em2cY/rtAu2ZYnFT8Cj4HNsdWCD0GH1LpKOrakgRe
MRU4U8IsbftPIAxqXce2
=1RGY
-----END PGP SIGNATURE-----

Daca doriti sa verificati ca intr-adevar textul a fost semnat de mine luati bucata de mai sus cu copy-paste (toata) si apoi rulati

gpg --verify

Dati paste, apasati ctrl-d si gpg va raspunde :

gpg: Signature made Mon 12 Mar 2012 01:52:04 PM EET using RSA key ID 2FB7B452
gpg: Good signature from "Mircea Popescu [...]

Aceasta functionalitate e deja suficient cistig cit sa justifice tot efortul : faptul ca puteti semna si verifica semnaturi e extrem de important. De fapt aceasta abilitate face distinctia intre om si animal in ce priveste sfera comertului : cei care au autoritatea sa semneze si discernamintul sa recunoasca semnaturile valide sunt negustorii. Restul sunt iobagii.

Asta nu inseamna ca ne oprim aici.

II. Puteti cripta si decripta. Ce ? Orice. Daca aveti cheia publica a cuiva, puteti cripta un text asa incit doar el (sau ma rog, oricine are cheia privata) sa poata decripta. Daca cineva va cunoaste cheia publica va poate trimite mesaje pe care nu le poate citi nimeni altcineva.

Chestia asta are aplicatii foarte adinci, sa zicem ca un tip locuieste intr-o casa cu sase fete (minim, am zis!) : Ioana, Elena, Marina, Sorina, Simina si Corina. Daca vrea sa mearga Luni cu Ioana in parc si Joi cu Simina la film cum procedeaza ?

O solutie ar fi sa cripteze "Hai Luni in parc" cu cheia Ioanei si "Hai Joi la film" cu cheia Siminei, dupa care sa puna rezultatele pe masa din bucatarie. Pentru ca numai Simina va fi capabila sa decripteze mesajul cu "Hai Joi la film". Ioana nu. Ioana va fi capabila sa decripteze ala cu hai Luni in parc si doar atit. Iar Corina, sarmana, nu va putea citi nimic din toate astea, lipsindu-i cheile.

Este ca-i o idee promitatoare ? Noa dara.

Category: Trilenciclopedia
Comments feed : RSS 2.0. Leave your own comment below, or send a trackback.

26 Responses

  1. Daca nu rulati linux e din capul locului cert, garantat si indiscutabil ca nu veti putea folosi nici Internetul nici computerul proprietate personala. Ca regula generala vorbim, sigur ca pe ici-pe colo puteti gasi exceptii si eventual cu foarte mult efort aproape ca reusiti sa le folositi la cite ceva.

    Moamă câta hateru' pe Micro$$oft și succesul lor. GPG se poate folosi destul de lejer și pe Windows, asta ca să nu mai vorbim de FreeBSD, OpenBSD și alte comunități de cururi deștepte care se cred numărul unu în materie de securitate.

    În plus există extensie GPG pentru Firefox (FireGPG îi zice), iar eu de exemplu folosesc GPG pentru autentificare pe e-mail folosind mutt și aș putea să-l folosesc și pentru semnături da' îmi e lene. Și mi se pare o idee mult mai bună decât tot sistemul cu CA-uri și PKI, da' cumva nu e prea adoptat pe site-uri web.

  2. Mircea Popescu`s avatar
    2
    Mircea Popescu 
    Monday, 12 March 2012

    Hatesc, deci traiesc!

    Apropo de ultima fraza : si mie, si respectiv ia vezi urmatoru' articol ca ti-a pica falca.

  3. Un hater adevarat nu foloseste el saas, gnome, chestii. Wget si citim interneti pe mail, uploadam fisiere pe blog prin ftp, eventual ssh cu 7 proxiuri, chestii.

  4. Lasand la o parte hatereala pe Microsoft si Apple, am un laptop mai hodorogit pe care l-am trecut pe ultimul Ubuntu (in sfarsit interfata Gnome a reusit sa nu ma mai enerveze). It bred new life into the little guy!

  5. Mircea Popescu`s avatar
    5
    Mircea Popescu 
    Monday, 12 March 2012

    @Freud Asa ?

    @krossfire :)

  6. Le păstrăm pe partiții criptate cu sistemul LUKS. Permite utilizarea atât a mai multor algoritmi: AES, blowfish, twofish etc, cât și a mai multor moduri: ECB (criptare chioară), CBC (înlănțuită) etc.

    Cei care-s pe Windows pot utiliza FreeOTFE. inb4 TrueCrypt e dubios.

  7. Mircea Popescu`s avatar
    7
    Mircea Popescu 
    Monday, 12 March 2012

    Bun da' astea-s probleme de criptarea stocarii. Noi discutam de criptarea comunicarii.

  8. In calculatorul meu se ascunde e multe secrete, asa ca am sa-mi bag inb4 truecrypt sa fac o partitie daia ascunsa z:// sa nu-mi fure ungurii manelele.

  9. Mircea Popescu`s avatar
    9
    Mircea Popescu 
    Monday, 12 March 2012

    Sa moara dujmaniiiiii tau.

  10. Mdeci ma bajeti haxori am si gio ho nelamurire. Deci futut-am o partitie cu fedora pe ea, pentru ca am instalat windows, ramanand fara grub.

    Faza e ca nu vreau sa o formatez ca am acolo niste bookmarks si alte chestii, la care jewdos nu monteaza ext4 ca de ce sa puna ei support pentru competenta.

    Deci cum fac eu sa-mi booteze iar aia de fedora, partitia(sgd nu-mi merge)?

  11. Mircea Popescu`s avatar
    11
    Mircea Popescu 
    Monday, 12 March 2012

    Pai repui grub.

  12. Garfield`s avatar
    12
    Garfield 
    Monday, 12 March 2012

    Windows XP ii cunoscut ca nu recunoaste partitiile de linux si nu ofera suport pt. ele. Tu ce ai incercat sa pui?

  13. Mircea Popescu`s avatar
    13
    Mircea Popescu 
    Monday, 12 March 2012

    Mda.

  14. Balaurul`s avatar
    14
    Balaurul 
    Monday, 12 March 2012

    Bun articolul, da' sincer o sa astept cu interes sa iasa si (aplauze) articolul pentru Osx, ca altceva nu mi-am permis si simt ca o sa am mare nevoie sa pitesc diverse

  15. Mircea Popescu`s avatar
    15
    Mircea Popescu 
    Monday, 12 March 2012

    Da' cum adica nu ti-ai permis ca n-am pricipit ? Asta-i gratis.

  16. Ho ca nici vista, 7, cacat8, etc. Meh mai lunga povestea. Aveam xp pe triple-boot cu fedora si mandriva pwp si am zis sa pun si eu consumer preview 8 ala sa vad ce stie sa faca, si s-a gandit el sa-mi scrie mbr fara sa anunte, ca uitasem ca are boala asta.

    Da' am rezolvat cu supergrubdisk pana la urma, cu meniul ala de cacat.

  17. Mircea Popescu`s avatar
    17
    Mircea Popescu 
    Monday, 12 March 2012

    Lmao sa nu uiti sa instalezi si-un CP/M pe undeva. Sa fie.

  18. Ba sa stii ca-s jeleu ca n-am avut si eu o dracie daia e 8 biti si 512 kb memorie sau cat venea. Star Trek, Star Wars, comics, apar atare, sega, etc.

  19. Mircea Popescu`s avatar
    19
    Mircea Popescu 
    Monday, 12 March 2012

    64kb, infidelule. Din care 48k accesibili pentru programe, infidelule. Sa vezi acolo optimizari de date, infidelule.

  20. 48k e beton. Eu acum vreo doi ani programam un microcontroller cu 16k memorie de program și 1k RAM (arhitectură Harvard, deh). Să vezi acolo optimizări statice să bagi cât mai multe rahaturi în cod și distracție mare când se dădea peste cap stiva.

    Also, circuitul era home-made, deci de multe ori n-aveam cum să-mi dau seama dacă-i bug hardware sau am scris eu cod greșit. Și când te gândești că există sisteme de operare pentru drăciile alea.

  21. Mircea Popescu`s avatar
    21
    Mircea Popescu 
    Monday, 12 March 2012

    Apuca-te de facut asic-uri pentru minerit apropo. E o meserie de viitor. Foarte de viitor.

  22. Este, dar momentan văd că se obțin performanțe destul de bune în domeniu și cu plăci video, în principiu pentru că GPU-urile sunt de fapt mașini masiv paralele de calcul. Deci asta-i soluția ieftină cum ar veni.

  23. Mircea Popescu`s avatar
    23
    Mircea Popescu 
    Monday, 12 March 2012

    Asta era solutia ieftina, din 2010 pina vara trecuta. Asculta-ma ce-ti zic ca nu vorbesc prostii, BFL vinde niste cacaturi cu 600 de dolari bucata si 6-12 saptamini liste de asteptare. Am impresia ca daca-ti pui mintea ai putea face de-alea si tu.

  1. [...] SWIFT ati auzit da' de FIX n-ati auzit ? Pai daca nu aveti bani... [↩]Vedeti articolul despre secrete digitale daca toate astea seamana a chineza [↩] Category: MPEx Comments feed : RSS 2.0. Leave [...]

  2. [...] Verificarea semnaturii nu functioneaza, bineinteles, pentru ca retardatii mintali de la "code is poetry"i au ei asa impresia ca-i o idee buna nu doar sa inlocuiasca diverse caractere cu diverse alte caractere, da' si s-o faca in asa fel incit sa n-ai ce-i face daca nu esti dispus sa le rescrii tot codul (cel prost scris). Ca solutie paleativa puteti vedea originalul si verifica acolo. [...]

  3. [...] ca iata noua economie in toata splendoarea ei. Avem gpg deci putem semna, avem bitcoin deci putem tranzactiona. Astea doua elemente impreuna rezolva complet problema, si-s [...]

Add your cents! »
    If this is your first comment, it will wait to be approved. This usually takes a few hours. Subsequent comments are not delayed.