Film askotan Bigarren Mundu Gerran Alemaniak komunikazioak zifratzeko erabilitako “Enigma” makinak agertzen dira. Enbaxadek, urpeko ontziek, espioiek… irrati uhinak erabiltzen zituzten komunikatzeko, eta gure inguruan barreiatzen direnez, zifratuta bidaltzen ziren sekretua bermatzeko asmoz. Ondorioz, estatuek deszifratzera dedikatzen ziren sailak zituzten eta, adibidez, Erresuma Batuan Alan Turing matematikaria eta bere Hut-8 taldeko emakume eta gizonezkoek “Enigma” mezuak deszifratzen jardun zuten. Horretarako, matematika berriak eta lehenengo konputagailuak garatu zituzten.
Guk ere beste batzuen eskura dauden kable, WiFi, bluetooth zein telefono bidezko komunikazio sistemak erabiltzen ditugu gure mezu, argazki, zein bideoak konpartitzeko. Orduan, horrelako makinarik erabili ezean edonoren esku uzten ditugu?
“FRPPHQYDVMM GH EHOOR KDOOMFR”
Suetoniok bere “Julio Zesarren bizitza”n, politikari eta militar ospetsuak bere jeneralekin komunikatzeko mezuak zifratu egiten zituela dio. Horretarako hizki bakoitzari hiru kokapen gehitzen zizkion laukian ikusten den bezala. Hori dela eta, sistema mota hauei, letra bakoitzari kokapen kopuru bat gehitzeari alegia, bere izenaz ezagutzen zaie, Zesar zifratuak:
Horrela bada, goiburuko testu ulertezina, latineko klasean askotan aipatutako liburu baten tituluan bihurtuko da:
“COMMENTARII DE BELLO GALLICO”
Hau da dokumentatuta dagoen kriptografiaren lehenengo erabilera, nahiz eta jakin badakigun aurretik ere Grezian, Mesopotamian eta Egipton adibidez erabilia izan zela maila baten edo bestean. Egun, kriptografia matematika, informatika eta ingeniaritza elkartzen dituen jakintza-arloa da, ezinbestekoa mundu digitalean segurtasuna, anonimotasuna eta pribatutasuna bermatzeko.
Julio Zesarren garaian mezua lortu behar zen mezularia harrapatuz. Baina lortuta ere, gutxi ziren irakurtzen zekitenek, are gutxiago mezuak deszifratzen jantzitakoak… Eta hor dago koska. Lehenengo mezua lortu behar dugu. Gero ze zifratze metodologia, ze algoritmo erabiltzen den asmatu. Eta, bukatzeko, erabiltzen den kodea, mezua algoritmo horrekin deszifratzeko.
Internet bidezko komunikazioan mezua lortzea ez da arazoa. Sare txartelak (WiFi, Ethernet, GPRS edo dena delakoa), berarentzat diren mezuak bakarrik jasotzeko konfiguratuta egoten dira, baina erreza da gure txartelari egoera hori aldatzeko agintzea, eta iristen zaizkion mezu denak hartzen hasiko da. Informazio larregi izango denez, gailuz inguratuta bizi baikara, software bat erabili daiteke interesatzen zaiguna bakarrik gordetzeko, telefono zein ordenagailu jakin batetik bidalitako bideoak bakarrik, adibidez.
Kodetzeko erabiltzen diren algoritmoak, berriz, ezagunak dira gehienetan beraz kodean dago gakoa.
Kode simetrikoa, asimetrikoa eta hibridoa
Unaik Uxueri mezu bat bidali nahi dio, baina ez duenez beste inork irakurtzea nahi, kode eta algoritmo seguruak erabili ditu. Baina… Zelan bidaliko dio kodea Uxueri? Zelan deszifratuko du Uxuek mezua koderik ez badio bidaltzen?
Zifratze sistemek kode simetrikoa erabiltzen dutela esaten da, kode berdina zifratu eta deszifratzeko gaitzen denean. Honen arazo nagusia da, hain zuzen ere, kodea, nola edo hala bidali behar dela. Zifratuta bidaltzen bada Uxuek ezingo du erabili (zifratuta baitago), eta zifratu barik bidaltzen badu, edonork ikusi eta mezua deszifratu ahal izango du.
Horregatik hain zuzen ere garatu zen kriptografia asimetrikoa.
Sistema asimetrikoak
Kriptografia asimetrikoan kode bi sortzen dira, bat publikoa eta bestea pribatua. Kode publikoa mezua zifratzeko erabiltzen da eta pribatua mezua deszifratzeko. Beraz, Unaik mezua zifratzeko, Uxueren kode publikoa erabiliko du, eta Uxuek mezua jasotzen duenean deszifratzeko bere kode pribatua erabiliko du. Uxueren kode publikoa, izenak dion bezala, publikoa da, edonork mezu bat zifratzeko erabili dezake, baina bakarrik Uxueren kode pribatuak deszifra dezake.
Kode publikoa eta pribatua matematikoki elkarlotuta daude, baina erabiltzen diren algoritmoen konplexutasuna dela eta, zenbaki oso handien faktorizazioa adibidez, ia ezinezkoa da publikotik pribatua lortzea.
Zifratze asimetrikoaren arazo nagusia zera da, denbora asko ematen duela zifratze-deszifratze prozesuetan, eta horregatik sortu ziren sistema hibridoak.
Sistema hibridoak
Sistema hibridoetan, beste biak erabiltzen dira. Ulergarriagoa egiteko, nabigatzaileetan erabiltzen den HTTPS protokoloa adibide moduan erabiliko dugu.
Gure bankura konektatu nahi dugu, eta horretarako nabigatzailea zabaldu eta “https://”ekin hasten den, banketxeko zerbitzariaren helbidea jarriko dugu (nabigatzaileetan HTTPS erabiltzen dugunean, itxita dagoen giltzarrapo bat agertu ohi da).
Nabigatzailean jaso eta bidaltzen ditugun datuak enkriptatzeko kode bat behar dugu, gure nabigatzaileak eta zerbitzariak ezagutu beharrekoa. HTTPSk SSL/TLS protokoloak erabiltzen ditu mezuak zifratzeko. Prozesuak honako pausuak jarraituko ditu:
- Nabigatzaileak, banketxearen zerbitzariaren kode publikoa erabiliz komunikazio horretarako, eta horretarako bakarrik erabiliko den prekode bat sortu eta zifratzen du (hurrengo komunikazio baten beste kode bat erabiliko du).
- Zerbitzariak kode publikoarekin deszifratu eta prekodea lortu egingo du.
- Bukatzeko, algoritmo jakin bat erabilita, bai gure nabigatzaileak bai banketxearen zerbitzariak , hortik aurrerako mezuak zifratzeko erabiliko den kode simetrikoa lortzen dute.
Beste inork kode hori ez duenez, gure komunikazioak seguruak dira, eta gure dirua babestuta dago. Ikusten den bezala, zertxobait sinplifikatuta, sistema hibridoek sistema asimetrikoa erabiltzen dute sistema simetrikoan erabiliko den kodea partekatzeko, besterik ez.
Listo beraz?
Ez. HTTPS protokoloaren arazo nagusia, zerbitzariaren fidagarritasunean datza. Zelan berma dezakegu lehenengoz komunikatzen garenean zerbitzaria benetan esaten duena dela? Hau da, zelan dakigu benetan gure bankuko zerbitzarira, gmailera edo kontaktatu nahi dugun zerbitzari zehatzera konektatu garela, eta ez iruzurretan dabilen norbaitek simulatzen duen batera?
Iruzur egiteko teknika honi “man in the middle” deritzo, baina gai hori beste baterako utziko dugu.
Erreferentzia bibliografikoak
- David Kahn, (1967). “The Codebreakers – The Story of Secret Writing”, ISBN 0-684-83130-9
- Singh, Simon, (2000). The Code Book. New York: Anchor Books. pp. 14–20.ISBN 9780385495325
- Bruce Schneier, (1996). Applied Cryptography, 2nd edition, Wiley, ISBN 0-471-11709-9
Egileaz: Xabier Díaz Silvestre (@xa2), BTEK-Teknologiaren Interpretazio Zentroko zuzendaria da.
“Sarrera honek #KulturaZientifikoa 3. Jaialdian parte hartzen du.”
4 iruzkinak
Julio Zesarren kodean oinarrituta abentura liburua haurrentzat egin zuen iaz Josu Waliñok, eta berak esan zigun moduan, gaia gustatu zaie haurrei ere. “Arrano beltzak beti garaile” izenburua du eta protagonistek misterioz eta umorez betetako abentura zirraragarria biziko dute mezu misteriotsu batzuk deszifratuz.
Artikuluaren egileak, Xabier Díazek azaltzen duen moduak, kriptografia eta matematika elkarlotuta daude. Honen bueltan, Raúl Ibáñez matematikariak gaia lantzen du Lehen Mundu Gerrako kode sekretuak artikuluan. Testuan, besteak beste, Julio Zesarren garaiko “Zesar zifratuak” kodearen adibideak ere jartzen ditu.
[…] (gehienetan, batzuetan apur bat jantzita egon behar zara ondo ulertzeko). Azken honen inguruko artikulu bat idatzi nuen orain hilabete […]
[…] Bueno…. baina, demagun, badaukazula fitxategi bat guztiz isilpean eduki nahi duzuna baina lagun batekin elkarbanatu nahi duzuna, beste inork, fitxategia lortuta ere, ez ikusteko moduan. Horretarako onena, mezua zifratzea da. Gure kasuan erabiliko dugun zifratze modua “asimetrikoa” deitzen da […]