U hebt wellicht de term KeeLoq rolling code of hopping code gezien in verband met zenders en ontvangers. Maar wat betekent het en hoe werkt het?
Przewiń, aby dowiedzieć się więcej
KeeLoq rolling code, soms ook bekend als hopping code, wordt gewoonlijk gebruikt als een beveiligingsmaatregel voor het versleutelen van radiofrequentieoverdracht. Het kan worden gevonden in een brede context zoals garagedeur openers, toegangscontrole systemen, keyless car entry, automatische poort triggers, …
De rolling code voorkomt dat de transmissie wordt opgenomen en opgeslagen en later opnieuw wordt afgespeeld om de ontvanger te foppen om een deur of hek te ontgrendelen.
De verzonden code werkt als een wachtwoord. Bij activering genereert en verzendt een zender een signaal met het wachtwoord naar de gekoppelde ontvanger. De ontvanger analyseert het wachtwoord om te zien of het aanvaardbaar is. Indien aanvaard, activeert de ontvanger een relais, waardoor de deur of het hek kan worden ontgrendeld en geopend.
Bij een systeem met een vaste code verandert het wachtwoord nooit. Dit maakt het systeem kwetsbaar voor aanvallen, want als iemand het wachtwoord te weten komt, kan hij het gebruiken om zonder toestemming toegang te krijgen. Een wisselcode vermindert het risico op ongeoorloofde toegang aanzienlijk, omdat het wachtwoord bij elk gebruik verandert.
De door Rolling Code versleutelde radiotransmissie systemen zorgen ervoor dat zender en ontvanger versleutelde gegevens kunnen delen met behulp van een wachtwoord. Dit wachtwoord maakt het ontdekken van codes uiterst moeilijk voor personen met malafide bedoelingen. KeeLoq® is daarmee dé gepatenteerde bloksleutel en is dé meest gebruikte versleutelingsmethoden voor radiofrequentietransmissie.
KeeLoq hopping code maakt gebruik van een 66-bits transmissiecode, waarvan 32 bits zijn gecodeerd. Alleen al in het versleutelde gedeelte zijn er bijna 4 miljard mogelijke codecombinaties, waardoor het ongeveer 17 jaar zou duren om deze volledig te scannen. De verzonden wachtwoorden kunnen niet regelmatig opnieuw worden gebruikt, om onderschepping en onrechtmatige toegang te voorkomen. Als een wachtwoord eenmaal is gebruikt, is het pas weer geldig nadat ongeveer 65.000 andere geldige codes zijn gebruikt. Bij normaal gebruik zou het meer dan 20 jaar duren voordat een code weer geldig is.
Opdat rolling code zou werken, moeten de zender en de ontvanger hun codegeneratie synchroniseren. Doen ze dat niet, dan komt het willekeurige wachtwoord dat van de zender wordt verzonden niet overeen met het willekeurige wachtwoord dat de ontvanger verwacht. Daarom is de term willekeurig hier enigszins misleidend. In werkelijkheid gebruiken de zender en de ontvanger Pseudo Random Number Generators (PRNG’s) om een reeks passcodes te produceren die schijnbaar willekeurig zijn voor buitenstaanders en dus onvoorspelbaar voor aanvallers.
De PRNG is een algoritme dat ervoor zorgt dat de reeks door de zender en de ontvanger gegenereerde nummers identiek is. Op die manier zal elke keer dat de zender een wachtwoord genereert, dit overeenkomen met het door de ontvanger gegenereerde wachtwoord en toegang verlenen. De reeks codes is dus niet echt willekeurig; zowel de zender als de ontvanger moeten uitgaan van dezelfde startcode om goed te kunnen synchroniseren.
Telkens wanneer de knop van de zender wordt ingedrukt, wordt een toegangscode gegenereerd, zelfs wanneer deze zich buiten het bereik van de ontvanger bevindt. Als hij buiten bereik is, genereert de ontvanger geen code – waardoor zender en ontvanger niet gesynchroniseerd zijn.
Om deze beperking op te heffen, slaat de ontvanger een lijst op van de komende wachtwoorden die vooraf door de PRNG zijn bepaald. In KeeLoq hopping code is de lijst maximaal 1000 toekomstige wachtwoorden. Zodra de zender weer binnen het bereik van de ontvanger komt en de knop wordt ingedrukt, kan de ontvanger de code nog steeds identificeren als een van de komende wachtwoorden en toegang verlenen. De ‘gemiste’ codes die door de zender werden gegenereerd terwijl hij buiten bereik was, worden gewoon ongeldig gemaakt en de codes worden opnieuw gesynchroniseerd.
KeeLoq profiteert ook van extra synchronisatiebeveiligingen. Als de zenderknop 16 of meer keren wordt ingedrukt terwijl de ontvanger buiten bereik is, zal de ontvanger de deur of slagboom niet ontgrendelen bij de eerste druk op de knop zodra deze weer binnen bereik is. Re-synchronisatie vindt alleen plaats wanneer de ontvanger twee opeenvolgende overeenkomende codes uit de lijst van geldige toekomstige codes ontvangt. In een typisch systeem, als de zenderknop een paar duizend keer wordt ingedrukt terwijl hij buiten bereik is, wordt de ontvanger permanent geblokkeerd en moet hij handmatig opnieuw worden gesynchroniseerd.