Anar al contingut

Encaminada ceba

De L'Enciclopèdia, la wikipedia en valencià
Encaminada ceba

La encaminada ceba o enrutamiento ceba,[1] en anglés onion routing, va ser introduït per David M. Goldshlag, Michael Reed i Paul Syverson[2] aplicant les idees de les rets de mesclat de David Chaum als sistemes d'encaminada, per a conseguir rets que preserven la privacitat (tant del mensage en si com dels interlocutors) de forma transparent a les entitats que es comuniquen. D'esta forma podem tindre infraestructures per a comunicacions privades sobre una ret pública.

En este sistema les comunicacions poden ser bidireccionals, casi en temps real i poden ser usades per a tràfic orientat a conexió o no.

A les rets que utilisen esta forma d'encaminada li les crida rets ceba (en anglés onion networks). Eixemples d'este tipo de rets, algunes de les quals mai han segut implementades, són Freedom Network, Onion Routing, MixMaster, Babel, Mixminion, Zach Brown's Onion, PipeNet, IronKey, MorphMix, Tarzan i Tor, la més important ret que usa esta tecnologia i que actualment està desplegada en internet.

Objectiu

[editar | editar còdic]

L'objectiu principal per al que es va dissenyar l'encaminada ceba és separar l'identificació del enrutado dels mensages i per tant perseguir el enrutado anònim (en anglés anonymous routing). Per a enrutar no és necessari tindre en tot moment identificat tant l'orige com el destí de la comunicació. Quan parlem de 'identitat' nos referim a qualsevol senya que ajude identificar a un individu. Per eixemple la direcció IP ajuda a identificar ya que a través d'ella es pot obtindre informació com l'usuari particular o organisació a la que estava assignada eixa IP en eixe moment o el país des del que s'envia el mensage.[3]

Per a tindre una bona protecció de l'identitat dels interlocutors, és necessari que la ruta de nodos pels que passa el mensage per a anar des de l'orige al destí, siga impredictible a priori i s'oculte tot lo possible. Per esta raó es perseguix que cada entitat solament conega l'entitat des de la que rep el mensage i l'entitat a la que té que enviar el mensage. Açò es pot aplicar no solament als nodos enrutado sino també a les pròpies entitats que es comuniquen. El destí no té que saber l'identitat del que es vol comunicar en ell. L'orige de la comunicació pot no saber l'identitat de l'entitat en la que es vol comunicar, són els definits com a servicis amagats (en anglés hidden services). Els servicis amagats no són soportats per la majoria de sistemes d'encaminada de ceba. No obstant sí hi ha sistemes que els soporten com Tor.

Observar que per a ocultar la ruta no és necessari confiar en tots els nodos de la ruta, teòricament (si els nodos tingueren un comportament ideal) en que hi haguera un sol nodo confiable no compromés, la privacitat dels interlocutors estaria garantisada degut a que seria impossible establir correspondència entre els mensages que li apleguen i els que ixen d'ell.

Per a que siga efectiva la protecció de l'identitat és necessari que es preserve la confidencialitat de la pròpia informació que l'orige vol enviar al destí. Si no es fera, un simple anàlisis de tràfic podria identificar com és el recorregut que fa cada mensage des de l'orige al destí.


Observar que el enrutado anònim no assegura el que l'entitat orige siga desconeguda per a l'entitat destine. Açò es deu a que els protocols de nivell superior poden transmetre informació sobre l'identitat. Per eixemple un servici web pot usar cookies o simplement demanar que nos identifiquem. Quan volem un anonimat a nivell d'aplicació és bo configurar el client adequadament i protegir-nos usant proxys que modifiquen els continguts en este sentit. Per eixemple per a conseguir més privacitat quan naveguem per la web és recomanable configurar el navegador adequadament (ej. deshabilitando cookies, no permetent plugins Java o deshabilitando l'historial) i redirigir el tràfic cap a un proxy web intermig (Ej. privoxy o polipo) que nos filtre contingut que pot ser aprofitat per a violar la nostra privacitat (ej. cookies o capçaleres HTTP que puguen ser usades per a identificar).

Implementació

[editar | editar còdic]
Estructura de la transmissió de les senyes en encaminada ceba.

L'encaminada ceba aprofita l'idea de Chaum d'amagar la relació entre l'orige i el destí d'una informació encapsulando els mensages en capes de criptografia de clau pública. Aplicant esta idea per a implementar un modo d'encaminada, lo que fem és transmetre mensages en distintes capes de sifrat (per eixa llaugera semblança resultant i coincidente en eixe interior enrollado del bulbo en un diagrama de l'explicació del seu viage, a estes rets se'ls coneix com 'de ceba') sobre un camí compost per nodos de mesclat (mixes) convertits ara en routers (enrutador de ceba) a on cada enrutador del camí lo que fa és dessifrar ('pela' una capa de la ceba), transmetre i reordenar els mensages abans de transmetre al següent enrutador.

Quan un enrutador dessifra una capa obté una capçalera que pot interpretar i un fragment sifrat (següent capa de la ceba). A continuació el enrutador envia el fragment sifrat al pròxim bot d'acort al contingut de la capçalera i l'estat intern del propi enrutador.

Idea primigènia

[editar | editar còdic]

En l'encaminada ceba es perseguix que cada nodo intermig (enrutador) conega sol lo que és estrictament necessari: La direcció de l'entitat que li envia el mensage i la direcció a la que té que redirigir el mensage. Els mensages que s'intercanvien els routers no tenen que proporcionar cap informació adicional. D'esta forma cap enrutador intermig sabrà qui és l'emissor ni el destinatari de la comunicació. Per ser l'últim enrutador de la ruta el que directament es comunica en el destinatari, est serà l'únic que sabrà qui és el destinatari i el contingut del mensage original que tenia que entregar.[4]

Per a conseguir este objectiu l'idea original era seguir el següent esquema:

  • L'emissor orige de la comunicació establix una conexió d'inicialización en un proxy d'aplicació (en anglés Application Proxy) que convertix els mensages del protocol específic de l'aplicació a un format genèric que puga ser manejat pels routers.
  • A continuació el proxy d'aplicació envia els mensages a un Onion Proxy (se li sol cridar nodo OP), el qual decidix la ruta cap al destí i construïx l'estructura de senyes que es va a enviar al següent nodo i a la que es diu onion ('ceba' en anglés) o onion forward ('ceba cap a avant', per a indicar el sentit de la comunicació). L'estructura de senyes té una capa sifrada per cada enrutador que vaja a formar part del circuit.
Si EPK(datos) representa el sifrat usant la clau pública PK, DSK(datos) representa el dessifrat usant la clau privada i el onion proxy inicial decidix que es va a usar la ruta <4,3,5> de routers, llavors el paquet que s'envia al següent enrutador pot ser representat per:
EPK4(direcciónderouter3,EPK3(direcciónderouter5,EPK5(datos))).
  • L'estructura de senyes és enviada pel onion proxy al entry funnel (punt d'entrada al canal). El qual és un onion enrutador (nodo OR) usat com a punt d'entrada a la ret de encaminadores de la ret ceba. Este enrutador dessifra el paquet (pela la seua capa de la 'ceba') i obté la direcció del següent nodo OR en el camí del mensage.
  • A continuació el entry funnel agarra el restant del mensage i ho mana al següent onion router.
  • Aixina es continua fins a aplegar al onion router que actua com a nodo d'eixida al que crida exit funnel. Este nodo dessifra i obté el mensage que originalment va produir el proxy d'aplicació. Este mensage s'envia a la direcció destine especificada.
  • Quan el receptor envia una resposta a un mensage particular, el exit funnel ho convertix al protocol genèric, ho sifra en la seua clau privada i ho envia de regrés al onion router del que li va vindre el mensage original.
  • Cada onion router opera de forma similar sifrant la resposta i ho envia de regrés obtenint una estructura de senyes, a la que es diu reply onion o onion forward, que té la següent estructura:
ESK4(ESK3(ESK5(datos)))
  • El mensage aplega al onion proxy el qual dessifra usant les claus públiques dels onion routers que va triar com a camí del mensage original.

Problemes

[editar | editar còdic]

Actualment fer que els sistemes que usen encaminada ceba siguen segurs és un àrea d'investigació en actiu. S'estan desenrollant molts estudis de millores, pero se seguixen tenint punts dèbils que cal subsanar. Encara que no hi ha proposta definitiva s'han desenrollat una série de tècniques que han demostrat ser efectives per a millorar les prestacions i el grau de seguritat.

Confusió entre paquets d'entrada i d'eixida en els routers

[editar | editar còdic]

Si analisem el tràfic d'entrada i eixida de cada enrutador podem aplegar a establir una correspondència i establir qué paquet d'eixida es correspon en cert paquet d'entrada. Aplicant este anàlisis a tots els routers podem aplegar a establir qui s'està comunicant en qui. Per a evitar que es puga aplegar a este tipo de conclusions es poden prendre distintes estratègies:

  • Introduir retardos artificials en el temps de procés dels mensages en els routers
  • Introduir tràfic de farcidura, açò és, paquets que tenen informació inútil i que la seua única funció és confondre al possible atacant.

Fer que el tràfic es realise a través de mensages de tamany fix. A estos paquets se'ls sol cridar cèlules. Si els mensages que circulen per la ret no són de tamany fix nos podríem basar en este tamany per a fer conjectura sobre que paquet d'entrada es correspon en quin paquet d'eixida.[5] Fer que els paquets, en lloc de viajar en solitari, viagen agrupats i junt a ells viage informació de farcidura i informació de control (per eixemple instruccions per als retardos en els nodos). Tot això es encapsula en un paquet sifrat. A esta forma d'encaminada li la coneix com encaminada d'all. Este sistema ho usen per eixemple I2P o Perfect Dark.[6]

Proxy d'aplicació

[editar | editar còdic]

En este sistema es requerix un proxy d'aplicació per a cada protocol d'aplicació soportat. Açò comporta molt treball i provoca que alguns proxys no siguen escrits mai i per tant algunes aplicacions mai siguen soportades. Per este motiu, en posteriors dissenys de rets que usen encaminada o enrutación ceba (Ej. TOR), se sol usar un protocol com a interfaç genèric (Ej. SOCKS) de manera que tota aplicació en soport en eixe protocol genèric pot usar la ret ceba per a realisar comunicacions anònimes sense necessitat de modificacions adicionals. Eixe protocol genèric té que donar soport a distints protocols i al final els múltiples possibles protocols d'entrada es convertixen en un solament. Per eixemple el protocol SOCKS permet tindre per davall qualsevol tipo de tràfic TCP/IP.

Possible reinyección de mensages

[editar | editar còdic]

Els sistemes en encaminada de ceba són vulnerables a atacs de replay que es basen en capturar mensages i després els reinyectan en la ret en l'objectiu de sobrecarregar-la i que deixe de funcionar (atac de refús de servici). Per a evitar este tipo d'atacs és habitual que els routers detecten quan un paquet ya ha segut processat (i per tant descarten eixe paquet) i que els propis mensages tinguen un temps de validea que una volta agotat permeta que els routers eliminen eixos mensages.[5]

Publicació de senyes de configuració

[editar | editar còdic]

Observar que els nodos necessiten saber una série de valors de configuració (Ej. routers actius, direccions i claus públiques). Si eixos valors de configuració són fixos, podem decidir que, com a part de la configuració del nodo, es carregue un ficher en eixa llista de valors i a partir d'ahí s'utilisen.

No obstant en la realitat açò no és operatiu ya que els valors de configuració canvien (per eixemple caduquen les claus asimètriques), s'afigen o desapareixen nodos etc. Per això és necessari l'us d'un sistema que permeta tindre disponible per als distints nodos eixos valors de configuració necessaris per al correcte funcionament. Alguns sistemes publiquen eixa informació per mig d'un sitie Web.[7] Uns atres, com Tor o Mixminion, usen un servici de directori per a publicar eixa informació. Els servidors que proporcionen estos servicis són autoritats confiables i s'encarreguen de mantindre el servici actualisat i de distribuir l'informació, normalment de forma firmada. Esta informació firmada a voltes també pot ser distribuïda a modo de mirror per atres routers de la ret per a aixina reduir la càrrega del servici de directori.

Observar que tindre un servici per a donar valors de configuració pot ser usat per a protegir-se contra atacs basats en introduir en la ret routers malintencionats. Això és degut a que cada enrutador per a entrar efectivament en la ret (es publiquen les seues senyes de configuració) té que ser aprovat pel proveïdor del servici.

Polítiques d'entrada i eixida

[editar | editar còdic]

Alguns sistemes (Ej. Tor) permeten establir un conjunt de restriccions de funcionament del nodo en el cas de que este siga l'últim nodo d'un circuit de senyes. A açò se li sol cridar polítiques d'eixida o en anglés exit policies. Per eixemple pot definir una llista de possibles direccions IP o una série de ports als quals té que estar dispost el nodo d'eixida per a dur el tràfic. La exit-policy pot ser variable a lo llarc del temps.

Análogamente es poden establir polítiques d'entrada o entry policy. Per eixemple podríem usar-les en una organisació per a obligar a que s'use un punt d'entrada a la ret d'encaminada ceba.

Observar que les polítiques d'eixida són crítiques en infraestructures distribuïdes de voluntaris ya que cada OR pot restringir el tipo de tràfic que pot eixir del seu nodo.[8]

Control de congestió

[editar | editar còdic]

En les rets del món real és necessari balancejar la càrrega i realisar control del fluix. Açò provoca que siga necessàries comunicacions de control entre els nodos i una visió del tràfic de forma global. Per a això alguns sistemes (Ej. Tor) permet als nodos en les vores de la ret detectar congestió i enviar allí menys senyes fins que açò s'haja subsanat.[8]

Integritat extrem a extrem

[editar | editar còdic]

Molts sistemes (Ej. Tor) proveïxen integritat extrem a extrem per a evitar que algun nodo del circuit puga canviar el contingut dels mensages de senyes que passen per elles, per a per eixemple alterar el servidor web al que s'està demanant conexió o qualsevol atra utilitat. Esta integritat es verifica ans que les senyes ixquen de la ret.[8]

Compartición de circuits entre distints fluix

[editar | editar còdic]

Per a millorar l'eficiència i l'anonimat alguns sistemes (Ej. Tor) permeten que varis fluix siguen multiplexados sobre el mateix circuit de comunicació.[8]

Número de bots variable

[editar | editar còdic]

Alguns sistemes (Ej Tor) permeten als iniciadores canviar parcialment la topología del circuit. Per eixemple es pot aprofitar per a permetre l'eixida del circuit usant un nodo intermig (Leaky-pipe circuit topology) i d'esta manera frustrar atacs que es basen i detectar i atacar l'últim nodo d'un circuit.[8]

Ineficiència

[editar | editar còdic]

Utilisar exclusivament criptografia de clau pública per a sifrar cada capa de la ceba és molt costós a nivell de computació. Açò és especialment important per a aplicacions de baixa latencia. Per esta raó en molts casos és necessari l'us de criptografia simètrica la qual és, en general, molt més 'barata' computacionalment.[3]

Per a poder usar criptografia simètrica és necessari que totes les parts que es comuniquen compartixquen una clau que mantenen en secret. Es pot aprofita la criptografia de clau pública para en un primer pas establir esta clau (simètrica) compartida i que a partir d'ahí s'use esta a modo de clau de sessió. Per esta raó, en estos casos, es diu que usem la criptografia de clau pública, computacionalment més cara, per a establir un circuit (ruta) de claus simètriques compartides. Una volta establit el circuit, est pot ser utilisat per a anar transportant els mensages usant criptografia simètrica.[3] El circuit construït pot usar-se de forma bidireccional. Un eixemple d'esquema usant claus simètriques podria ser el següent:

  • S'establixen una série de claus simètriques compartides entre els routers.
  • A continuació les senyes són enviades 'envolts' en capes creades usant les claus simètriques. Cada enrutador llevarà una capa de sifrat de les senyes que li passen, usant la clau simètrica que va obtindre quan es va establir el circuit. D'esta forma les senyes original emergiran en clar al final del circuit.
  • El destinatari pot respondre en un atre mensage. Este mensage en cada nodo se li afegirà una capa de sifrat simètric i després es manarà al següent. Quan aplega al destí (el iniciador de la comunicació) aplegarà com una estructura de senyes en les distintes capes de sifrat. El iniciador de la comunicació, per a obtindre el mensage de regrés en clar, lleva les distintes capes dessifrant en les distintes claus simètriques utilisades.

Entre els enfoques que s'han anat proponent per a conseguir encaminada de ceba, s'han propost distintes formes d'establiment de circuit usant claus simètriques construïts a partir de criptografia de clau pública. No obstant els sistemes utilisats no són la panacea tenint cada u els seus propis inconvenients per lo que es considera un problema obert havent actualment noves propostes de formes d'establir els circuits, alguns usant sol criptografia asimètrica.

Us de la criptografia per a implementar l'encaminada ceba

[editar | editar còdic]

En una ret que usa encaminada ceba la decisió més important és el tipo de criptografia que s'usa i la forma en que esta s'usa. Açò es deu a que esta decisió serà crucial en l'eficiència i en la seguritat del sistema. Vejam alguns dels eixemples més representatius i les seues repercussions en la seguritat

Enfoque usant criptografia asimètrica tradicional

[editar | editar còdic]

Seria l'enfocament utilisat en l'idea primigènia.

Este sistema és vulnerable a atacs basats en capturar el tràfic. Efectivament, supongam que un atacant pot gravar totes les senyes que intercanvien els routers. Si finalment l'atacant conseguix comprometre tots els routers (accedir a les seues claus privades) llavors est pot dessifrar tot el tràfic almagasenat anteriorment. Per a acotar este problema podríem canviar periòdicament les claus (pública i privada) dels routers. Per a això establiríem un periodo de temps a la finalisació del com les claus caducarien i seria necessari establir noves claus. La clau pública caldria difondre-la i l'antiga clau privada es destruiria per a que no poguera ser obtinguda mai, assegurant aixina la persistència de la seguritat del tràfic que es va realisar usant l'antiga clau. Série bo que el canvi de claus fora freqüent ya que açò llimitaria la cantitat de temps que té A per a comprometre B i C, pero al mateix temps requeriria que els routers del sistema contactaren freqüentment en un sistema que els actualisara les noves claus lo que duria a problemes d'escalabilidad.

Enfocament usant claus simètriques de sessió establides des del primer enrutador

[editar | editar còdic]

Alguns sistemes, per eixemple Onion Routing, establixen circuit de claus simètriques, a partir de criptografia de clau pública,[3] per mig d'una estructura de senyes en capes que es poden representar pel següent esquema (suponent que estem en una camí d'encaminada en tres bots R1, R2, R3):

EPKR1,(K1,R2,EPKR2,(K2,R3,EPKR3,(K3,Pad))))))
a on
PKRi és la clau pública Ri
Ri és la direcció del nodo Ri
Ki és un material que permet establir la/s clau/s de sessió compartida (pugues haver una per a cada sentit de la comunicació) entre l'orige de la comunicació (el iniciador) i Ri (en anglés se li crida key seed material).

Observar que la capa final s'identifica perque no conté ni direcció destine, ni senyes en significat per a ser transmesos. Este sistema és el que s'usa per eixemple en Onion Routing.[9] En este sistema, en les capes de ceba, apareix lo que es diu key seed material el qual consistix en 128 bits que aplicant-li SHA produïxen les claus simètriques que després s'usen per a establir les claus simètrica. Onion Routing introduïx ademés en el seu format de mensage un camp que permet ficar com a paràmetro l'algoritme de sifrat simètric que es va a usar en cada sentit de la comunicació. El sistema soportava DES OFB i RC4. Depenent de l'algoritme que se seleccione es calcula la clau a partir del key seed material de distinta forma. En este sistema el número de mensages necessaris per a establir el circuit entre els routers de la ret és igual al número de routers que intervenen. Per eixemple si As vol comunicar en B a través de R1,R2 i R3 i en eixe orde, són necessaris els següents mensages:

  • A-R1
  • R1-R2
  • R2-R3

La principal desventaja d'este enfocament és que no proveïx de perfect forward secrecy. Supongam que un circuit es construïx des del iniciador en la seqüència de nodos A,B,C i que A és un enrutador maliciós i per tant l'atacant pot dessifrar tot lo que passa i ha passat per ell. Si A grava tot el tràfic i en l'últim moment es compromet B (el qual sap quí és l'últim nodo C), llavors es compromet C i A pot saber en qui s'està comunicant el iniciador.[10]


Una possible millora per a este problema és canviar freqüentment les claus públiques de cada nodo.[11] Açò llimita la cantitat de temps que té A per a comprometre B i C, pero requerix que els routers del sistema cotacten freqüentment en un sistema que els actualise les noves claus la qual cosa pot tindre problemes de escalabilidad.[10]

Enfocament telescòpic

[editar | editar còdic]

Atres sistemes (Ej Tor i Ceba) realisen una construcció incremental i interactiva del circuit, a la que criden enfocament telescòpic (de l'anglés telescopic approach).[3][7]

En concret Tor es recolza en el Tor Authentication Protocol (sigles TAP), la seguritat de les quals va ser provada[12] en el model d'oràcul aleatori. Tor lo que fa és realisar una eixecució seqüencial de múltiples instàncies de TAP.[13] Per a establir el circuit realisa una autenticació RSA (criptografia de clau pública) d'un sol sentit (ya que el iniciador mai s'autèntica) i s'aprofita el protocol d'establiment de claus de Diffie-Hellman per a establir una clau simètrica entre cada enrutador de la ruta i el iniciador de la comunicació. Per a això s'utilisa el circuit parcialment construït fins a eixe moment. Podem dir que en cada tram successiu del circuit es realisa una negociació interactiva de claus (protocol d'establiment de claus de Diffie-Hellman). Per eixemple, quan s'establix una clau per al primer bot, el iniciador de la conexió tunela a través d'eixa conexió per a establir una atra clau de sessió en el segon enrutador i aixina successivament. Quan el circuit ya no s'usa, les claus de sessió es destruïxen.[14]

En el TAP la clau pública del nodo solament s'utilisa per a iniciar la comunicació durant la qual s'establix la clau temporal de sessió via el protocol d'establiment de claus de Diffie-Hellman. Les claus es formen a partir de l'intercanvi de mensages en lloc de ser enviades de forma sifrada. Per tant, una volta que la sessió finalise (el circuit ha deixat d'usar-se) i es destruïxquen les claus de sessió, si es compromet un enrutador (s'obté la seua clau privada) açò no permet a l'adversari recuperar les claus de sessió eliminades i dessifrar aixina el tràfic sifrat baix eixa clau que poguera tindre almagasenat. Per tant tenim perfect forward secrecy.[7][15]

Per una atra part ya no és necessari almagasenar hashes de les estructures de senyes prèviament processades per a evitar atacs de replay. Reinyectando un dels mensages del handshake del protocol d'establiment de claus de Diffi-Hellman provoca uns resultats de clau de sessió diferents i per tant ya no és un atac efectiu.[7]

Una atra ventaja d'estos sistemes és que són més robusts front a nodos que no accepten conexions, sent l'informació que té que aportar el sistema, per eixemple per mig d'un servici de directori, menys important. Per eixemple si el tercer enrutador intermig està caigut durant l'establiment del circuit, els dos primers i el iniciador solament tenen que triar un nodo alternatiu per a substituir-ho.[10]

En este sistema el número de mensages necessaris per a establir el circuit entre els routers de la ret és de complexitat O(n2). Per eixemple si As vol comunicar en B a través de R1,R2 i R3 i en eixe orde, són necessaris els següents mensages:

  • A-R1
  • A-R1 (tunelado de conexió en R2)
  • R1-R2
  • A-R1 (tunelado de conexió en R3)
  • R1-R2 (tunelado de conexió en R3)
  • R2-R3
Observar que l'establiment de la conexió té una complexitat O(n2) per al número de mensages transmesos com per al número de sifrats/dessifrats. Esta forma de treballar en sistemes de baixa latencia sol ser sol viable si el número de nodos intermijos es manté baix. Per eixemple quan s'usa Tor se sol restringir el número de nodos intermijos a 3.

Øverlier and Syverson[15][10] milloren l'eficiència de Tor usant un protocol d'establiment de clau Diffie-Hellman mig certificada.[7] Per a això confia en paràmetros de Diffie-Hellman precalculados els components públics dels quals són publicats i actualisats regularment per cada enrutador en el servici de directori. Els clients poden llavors generar els seus propis paràmetros de Diffie-Hellman i, usant l'informació publicada pels routers, calcular les claus de sessió que es compartiran en els routers en els circuits. Estes propostes reduïxen el cost de computació pero mantenen la complexitat de comunicació en O(n2).

Enfocaments basats en criptografia asimètrica no basada en PKI

[editar | editar còdic]

S'han fet diverses propostes que perseguixen establir els circuits en un sol pas per a reduir la sobrecàrrega de cost de computació i de comunicacions que tenen els sistemes que es basen en establir circuits en varis passos (Enfocament telescòpic).

No obstant, l'enfocament telescòpic proporciona bones propietats com el secret-cap a-avant (en anglés forward-secrecy).[16][17][14] Informalmente, es diu que esta propietat és la que es dona quan es garantisa que les propietats de seguritat permaneixen inclús si l'adversari pot corromper totes les parts que intervenen i deprendre les seues claus secretes en acabant de que estes hagen caducat. Sobre la base d'esta propietat podem precisar encara més i diferenciar aixina entre dos propietats:

  • Es diu que hi ha secret-cap a-avant immediat (en anglés immediate forward-secrecy) si es manté el secret-cap a-avant de totes les sessions passades que han finalisat inclús si un adversari compromet un enrutador. Observar que el secret permaneix encara que les claus privades no hagen canviat perque estan en el seu periodo de validea. Este tipo de propietat és satisfeta per Tor usant la seua Enfocament telescòpic.
  • Es diu que hi ha secret-cap a-avant eventual (en anglés eventual eventual forward-secrecy) si es manté el secret-cap a-avant encara que un adversari puga corromper un enrutador despuix d'un específic periodo de temps (en acabant de que les claus privades dels routers hagen canviat).

S'ha demostrat[18] que és impossible obtindre secret-cap a-avant immediat usant establiment de circuit en un sol pas (d'un modo no interactiu). Per tant, lo que intentem buscar és secret-cap a-avant eventual.[16][14]


És evident que és possible conseguir secret-cap a-avant eventual canviant freqüentment les claus asimètriques dels routers (criptografia asimètrica) de manera que es minimise el periodo de temps i, per tant, l'impacte de que es comprometera la clau d'un enrutador. Una volta que es té la clau privada d'un enrutador llavors l'atacant solament pot violar la seguritat de la comunicació en el periodo de validea d'eixa clau. Implementar esta idea usant una PKI tradicional (canviant les claus privada/pública associada a cada enrutador) és molt complicat en la pràctica ya que força als enrutadores a generar noves claus, a generar el seu corresponent certificat vàlit, a publicar dit certificat i a que els usuaris repetidament obtinguen dit certificat.[16]

Per a conseguir secret-cap a-avant eventual d'una forma més eficient s'han fet vàries propostes usant criptografia asimètrica que no usa PKI: criptografia basada en identitat, criptografia sense certificat.[16]

Usant criptografia basada en identitat
[editar | editar còdic]

Aniket Kate i atres[10][18] han propost usar esquemes de criptografia basada en identitat per a construir un protocol en encaminada ceba al que han cridat PB-OR (de l'anglés pairing-based onion routing). En la criptografia basada en identitat les claus públiques i les claus privades de les parts s'obtenen a través d'un confiable Centre de Generació de Claus o KGC (de l'anglés Key Generation Center) que suministra claus en un periodo de validea determinat. PB-OR usa l'idea original de l'encaminada ceba per a sifrar mensages usant la clau pública del enrutador, en la peculiaritat de que en este cas les claus són suministrades per mig de el KGC i tenen associades el periodo de validea. Este sistema té dos problemes:

  • L'existència d'un KGC confiable fa que este puga dessifrar qualsevol mensage de la ret (key scrow problem). Açò pot ser resolt utilisant per eixemple un KGC distribuït.[19] Construir este sistema no és para res trivial i té els seus propis problemes.
  • Es requerix que els routers interactuen en el KGC per a obtindre les noves claus secretes cada volta que acaba el periodo de validea. Encara que tenen la ventaja de no tindre que gestionar i verificar certificats.[16]

Mario Catalano, Mario Vaig donar Raimondo, Dario Fiore, Rosario Gennaro i Orazio Puglisi han propost[20] un sistema, al que criden fs-ID-OR, que usa un sistema de sifrat basat en identitat segur cap a avant (sigles fs-IBE) per a les claus públiques dels routers. El circuit es forma de forma no interactiva i en un sol pas. Este sistema conseguix eventual forward secrecy sense tindre que usar KGC (com necesitabla PB-OR), ni té que comunicar cap clau pública ya que permaneix estàtica (com necessitaven PB-OR o CL-OR). Al no ser interactiu, tampoc té una complexitat quadràtica sino llineal (com tenia l'enfocament telescòpic). El problema que té este sistema és que la KGC té que ser confiable ya que pot dessifrar qualsevol mensage (key scrow problem). Per a resoldre este problema propon fer modificacions a l'esquema usant Criptografia sense certificats o PKI.

Usant criptografia sense certificats
[editar | editar còdic]

Catalano i atres[17] han sugerit usar criptografia sense certificats i han definit dos protocols en encaminada ceba (CL-OR i 2-CL-OR). No obstant, este sistema resucita els problemes de escalabilidad que tenien els sistemes que usaven PKI en claus canviants. En efecte, cada enrutador té que generar una clau asimètrica i comunicar-se en una atra entitat, per eixemple un servidor de directori, per a que publique la part pública i que puga ser descarregada pel restant d'usuaris per al seu us.[16][11]

Anonimat en la localisació de l'entitat que respon

[editar | editar còdic]

Les rets en encaminaminamiento ceba tradicionalment proporcionen anonimat en la localisació del que inicia la comunicació (el iniciador). No obstant també és interessant perseguir l'anonimat en la localisació de l'entitat que respon. Hi ha hagut algunes propostes interessants per a conseguir açò. Vejam algunes d'elles.

Reply onions

[editar | editar còdic]

La ret Onion Routing disponia de lo que cridava reply onion.[21][22] La ret Onion Routing usa un enfocament usant criptografia simètrica establida a través de les claus asimètriques per a establir una conexió. Esta conexió es pot aprofitar per a transmetre mensages en abdós sentits de la comunicació.

Si As vol comunicar en B a través dels nodos W, X, I i Z, el onion que construiria el nodo W i que enviaria a X tindria la següent estructura:

PKX(exptimeX,Y,Ffx,Kfx,Fbx,Kbx,PKY(exptimeY,Z,Ffy,Kfy,Fby,Kby,PKZ(exptimeZ,NULL,Ffz,Kfz,Fbz,Kbz,PADDING)))

a on:

  • PKX(exptimeX,Y,Ffx,Kfx,Fbx,Kbx,datos) indica sifrar en la clau pública de X un tupla formada pel temps de caducitat, el destinatari del següent bot, el parell de configuració de la comunicació cap a (forward) X (Ffx,Kfx) i el parell de configuració de la comunicació des de (backward) X (Fbx,Kbx).
  • Una comunicació unidireccional queda configurada per un parell format per (F,K) que especifiquen l'algoritme de sifrat a usar (F) i la clau (K).
  • Si el destinatari és NULL llavors vol dir que no hi ha enrutador següent.

[21]

No obstant ¿Qué passa si el iniciador espera una resposta que pot demorar-se prou temps?. Per eixemple, esta situació es pot donar per a respondre a correus electrònics anònims enviats usant la ret. Una solució òbvia és mantindre la conexió oberta per a permetre eixa resposta. No obstant açò du a un desaprovechamiento de recursos. Una atra solució és utilisar reply onions en acabant de que la conexió original haja segut terminada.[22]

Els reply onions construïxen un circuit des del destinatari fins al iniciador d'una petició anterior en la que eixe iniciador volia mantindre la seua localisació amagada. El reply onion és creat pel iniciador en la comunicació original i li l'envia al destinatari per a que puga posteriorment usar-ho. Posteriorment eixe 'reply onion' és enviat pel destinatari al enrutador que li va servir la petició per a que aplegue fins al iniciador original per a aixina establir la conexió. Una volta establida la conexió cada enrutador funciona de la mateixa forma que actua en un 'onion' normal. L'estructura de senyes del 'reply onion' és similar que la dels 'onion' normals i els routers la processen de la mateixa forma.[22]

Usant la mateixa notació que abans, el 'onion replay' per a que B responga a A usant la ruta W, Z, I i X tindria la següent estructura:

PKZ(exptimeZ,Y,Fbz,Kbz,Ffz,Kfz,PKY(exptimeY,X,Fby,Kby,Ffy,Kfy,PKX(exptimeX,W,Fbx,Kbx,Ffx,Kfx,PKW(exptimeW,NULL,NULL,NULL,NULL,NULL,(IDENTITY,Fbx,Kbx,Ffx,Kfx,Fby,Kby,Ffy,Kfy,Fbz,Kbz,Ffz,Kfz,PADDING)))))
La diferència fonamental entre les dos estructura és la capa més interna. Ara no estem davant una farcidura, sino que conté suficient informació per a permetre al enrutador del iniciador alcançar al iniciador i tota l'informació criptográfica necessària per a sifrar les senyes que recorren el circuit virtual.

[21]


Els 'reply onion' també es poden usar per a donar accés a servicis que volen mantindre la seua localisació amagada. En este cas el iniciador publica un 'reply onion' el qual pot ser obtingut i usat pel destinatari. A continuació el destinatari envia el 'reply onion' al enrutador designat per a establir el circuit fins al iniciador.[22]

Un problema obert en este tipo de configuracions és que el 'reply onion' pot no ser funcional en el moment en que el destinatari decidixca usar-ho.[3]

Punts de trobada

[editar | editar còdic]

L'idea dels punts de trobada, denominats per les sigles RP (de l'anglés Rendezvous Points), és, en lloc d'explícitament enviar un paquet a un destí, establir un punt de trobada que actue com a nivell de indirección. D'esta forma desacoplamos l'acte d'enviar de l'acte de rebre. Cada extrem de la comunicació envia els seus mensages a eixe punt de trobada i des d'ahí són enviats a a on corresponga usant circuits que amaguen la localisació del destí. Per eixemple podríem usar este sistema per a conectar-nos a un servidor de chat IRC.

Eixemples de sistemes que soporten esta funcionalitat és l'antiga Onion Routing i la seua evolució Tor.[3]

Servicis que oculten la localisació

[editar | editar còdic]

Els servicis que oculten la localisació (per eixemple, la direcció IP) de qui proveïx el servici (Ej. un servici web accessible solament des de la ret d'encaminada ceba) se'ls sol cridar servicis de localisació amagada (en anglés location-hidden services) o simplement servicis amagats (en anglés hidden services).

Per eixemple esta funcionalitat és soportada per Tor. Per a això els proveïdors de servicis generen una clau pública i privada per a identificar el seu servici. A continuació anuncien el seu servici a distints routers, fent peticions firmades en la seua clau pública, per a que servixquen com a punt de contacte. Als routers en esta funció se'ls crida punts d'introducció, en anglés introduction point. El proveïdor de servici associa al seu servici una FQDN del pseudo-TLD .onion i la publica en un servidor de directori. La FQDN té la forma <valorhash>.onion a on el valor hash és de 16 caràcters en Base32 i està generat usant una funció hash sobre la clau pública del servici. Quan un client es vol conectar a certa FQDN (per eixemple ha trobat la direcció a través d'un lloc web) consulta un servici de busca (lookup service) i est li indica un punt d'introducció (introduction point) i la clau pública del servici. Observar que per a mantindre l'anonimat és necessari que la consulta del servici de busca es realise a través de Tor. A continuació el client es conecta en un punt de trobada (açò lo podria haver fet abans) i s'establix un identificador d'eixa conexió (rendezvous cookie). A continuació el client li envia un mensage, firmat en la clau pública del servidor, al punt d'introducció indicant-li el punt de trobada a on està, l'identificador que permeta identificar al client en el punt de trobada (la rendezvous cookie) i part del protocol Diffie-Hellman ((start of a DH handshake). A continuació el punt d'introducció envia el mensage al servidor del servici el qual determina si es conecta al punt de trobada per a proveir-li el servici o no. Si determina que vol conectar-se en ell llavors es conecta al punt de trobada i li indica a est l'identificador del client en el que vol conectar-se (la rendezvous cookie), la segona part del Diffie-Hellman (the second half of the DH handshake) i un hash de la clau que compartixen. A continuació el punt de trobada conecta al client i el servidor i s'establix una comunicació normal.[8][23]

Vore també

[editar | editar còdic]

Referències

[editar | editar còdic]
  1. «Sistemes anònims en escenaris globals» (en espanyol). Universitat Complutense de Madrit. Consultat el 16 de novembre de 2015.
  2. D. Goldschlag, M. Reed i P. Syverson. "Hiding Routing Informations", In proceedings of the First International Workshop on Information Hiding, 1996, LNC vol 1174 pp. 137-150
  3. 3,0 3,1 3,2 3,3 3,4 3,5 3,6 Paul Syverson, "A peel of Onion", ACSAC'11. Orlando, Florida USA. Decembre de 2011
  4. Marc O'Morain et all,"Onion Routing for Anonymous Communications
  5. 5,0 5,1 B V V Sri Raj Dutt et all,"Implementation of Onion Routing"
  6. Bassam Zantout i Ramzi A. Haraty,"I2P Data Communication System", Lebanese American University, ICN 2011
  7. 7,0 7,1 7,2 7,3 7,4 M. Edman i B. Yener."On Anonymity in an Electronic Society: A Survey of Anonymous Communication Systems".ACM Journal Name, Vol. V, No. N, Month 2008, Paginas 1–39.
  8. 8,0 8,1 8,2 8,3 8,4 8,5 Roger Dingledine et al. "Tor: The Second-Generation Onion Router"
  9. Paul F. Syverson et all, "Anonymous Connections and Onion Routing"
  10. 10,0 10,1 10,2 10,3 10,4 Aniket Kate et al."Pairing-Based Onion Routing"
  11. 11,0 11,1 Aniket Kate i Ian Goldberg,"Using Sphinx to Improve Onion Routing Circuit Construction"
  12. Goldberg, I.,"On the security of the Tor Authentication protocol". In Danezis, G.,Golle, P., eds.: Privacy Enhancing Technologies. Volume 4258 of Lecture Notes in Computer Science., Springer (2006) 316–331
  13. Ian Goldberg,"On the Security of the Tor Authentication Protocol".David R. Cheriton School of Computer Science, University of Waterloo
  14. 14,0 14,1 14,2 M. Backes et al."Provably Secure and Practical Onion Routing"
  15. 15,0 15,1 Lasse Øverlier i Paul Syverson,"Improving efficiency and simplicity of Tor circuit establishment and hidden services"
  16. 16,0 16,1 16,2 16,3 16,4 16,5 Dario Catalano et al.,"Fully Senar-Interactive Onion Routing with Forward-Secrecy".
  17. 17,0 17,1 Dario Catalano et al."Certificateless Onion Routing"
  18. 18,0 18,1 Aniket Kate et al.,"Pairing-Based Onion Routing with Improved Forward Secrecy"
  19. A. Kate i I. Goldberg. "Distributed Private-Key Generators for Identity-Based Cryptography". In Proc 7th Conference on Security and Cryptography for Networks (SCN) pages 436-453, 2010
  20. Dario Catalano, Mario Vaig donar Raimondo, Dario Fiore, Rosario Gennaro i Orazio Puglisi,"Fully Senar-Interactive Onion Routing with Forward-Secrecy"
  21. 21,0 21,1 21,2 Paul F. Syverson et al, "Hiding Routing Information". Workshop on Information Hiding, Cambridge UK, May 1996
  22. 22,0 22,1 22,2 22,3 Michael G. Reed, Paul F. Syverson, and David M. Goldschlag. Proxies for Anonymous Routing, 12th Annual Computer Security Applications Conference, Sant Diego, CA, December 9-13, 1996
  23. Peter Wayne,"Disappearing Cryptography: Information Hiding: Steganography & Watermarking" .Third Edition. Morgan Kaufmann 2009


Referències

[editar | editar còdic]