El codi evolutiu o rolling code (també codi variable o hopping code) es va idear per ser utilitzat en els sistemes de clau remota, per impedir atacs de replay, on un espia extern grava la transmissió i la reprodueix en un altre moment per fer que el " receptor securitzat "desbloquegi, per exemple, el" automòbil "o obriu una porta. Aquests sistemes són típics en els comandaments de portes de garatge i en els sistemes de "control remot sense clau" per a automòbils.

Rolling code usat en un sistema de ràdio-clau integrat en una clau d'encesa. En pressionar un botó, es desbloquegen les portes de l'automòbil. Un altre botó bloqueja la interlocutòria.

Tècniques

modifica
  • Utilitza un PRNG (generador de nombres pseudoaleatoris) - preferentment 1 generador de nombres pseudoaleatoris criptogràficament segur ; en ambdós costats, transmissor i receptor
  • El transmissor envia el 'següent' codi en seqüència
  • El receptor compara aquest 'codi següent' amb el seu codi 'següent' calculat.
  • En una implementació típica es compara el codi amb els següents 256 codis per si el receptor ha perdut alguna de les pulsacions de tecla transmeses

Aplicació en comandaments RF

modifica

Un transmissor de codi evolutiu o rolling-code, és útil en un sistema de seguretat per a proporcionar una transmissió segura de radiofreqüència (RF) que comprèn un codi fix coincidir amb una codi trinario més una porció amb rolling-code. Un receptor demodula la transmissió de RF encriptada i recupera el codi fix i el rolling-code. Després de la comparació dels codis fix i el rolling-code amb els codis emmagatzemats en el receptor, es pot assegurar que el senyal ha emanat d'un transmissor autoritzat i es genera un senyal per accionar un motor electric de una porta o per alliberar o bé bloquejar un vehicle.

 
Xip HCS301 d'una clau remota o ràdio-clau d'un Audi A6, que utilitza un sistema de codi evolutiu

El Microxip HCS301 va ser un cop el sistema més utilitzat en els receptors i control remot de garatge i porta. El xip fa servir l'algoritme KeeLoq. El sistema HCS301 KeeLoq transmet 66 bits de dades.

  • 34 bits no estan encriptats: un número de sèrie de 28 bits, 4 bits d'informació de botó i 2 bits d'estat (indicadors de bateria baixa i repetició).
  • 32 bits estan encriptades (el rolling code): 4 bits d'informació de botó, 2 bits de OVR (usat per estendre el valor del comptador), 10 bits de DISC (valor de discriminació, sovint els 10 bits baixos del número de sèrie), i un 16 comptador de bits. En una situació de resincronització, per pèrdua de seqüència, els 32 bits xifrats es reemplacen per un valor inicial de 32 bits.[1]

Codi evolutiu vs. codi fix en comandaments RF

modifica

Els controls remots envien un codi mitjançant senyals que fan servir algun tipus de codificació, de major o menor complexitat. Quan el codi rebut és el mateix que el que espera el receptor, el receptor s'activa el relé, desbloqueja la porta o obre la barrera. Els controls remots amb "codi fix" sempre envien el mateix codi. Els controls remots amb "codi evolutiu" (o rolling-code) cada vegada envien un codi diferent al que es va enviar anteriorment.

Vulnerabilitats

modifica

Un codi continu transmès per un senyal de ràdio que pot ser interceptada pot ser vulnerable a la falsificació. El 2015, es va informar que Samy Kamkar havia construït un dispositiu electrònic econòmic de la mida d'una cartera que podia ocultar-se en un vehicle tancat o prop d'ell per capturar un codi únic de "entrada sense clau" que s'utilitzaria més endavant per desbloquejar el vehicle. El dispositiu transmet un senyal d'interferència per bloquejar la recepció del vehicle dels senyals de codi rodant del comandament del propietari, mentre grava aquests senyals dels seus dos intents necessaris per desbloquejar el vehicle. El primer codi gravat es remet al vehicle només quan el propietari realitza el segon intent, mentre que el segon codi registrat es reté per al seu ús futur. Kamkar va declarar que aquesta vulnerabilitat era àmpliament coneguda des de fa anys per ser present en molts tipus de vehicles, però que anteriorment no s'havia demostrat.[2] Es va fer una demostració durant la DEF AMB 23.[3]

Vegeu també

modifica

Referències

modifica

Enllaços externs

modifica