Rullande kod
En rullande kod (eller ibland kallad en hoppkod ) används i nyckellösa inträdessystem för att förhindra reprisattacker , där en avlyssnare spelar in sändningen och spelar upp den vid ett senare tillfälle för att få mottagaren att "låsa upp". Sådana system är typiska i garageportöppnare och nyckelfria bilinfartssystem.
Tekniker
- Gemensam PRNG ( pseudorandom number generator ) – helst kryptografiskt säker – i både sändare och mottagare
- Sändaren skickar "nästa" kod i följd
- Mottagaren jämför "nästa" med sin beräknade "nästa"-kod.
- En typisk implementering jämför inom de kommande 256 koderna om mottagaren missade några sända knapptryckningar.
HMAC-baserat engångslösenord som används allmänt i multifaktorautentisering använder liknande tillvägagångssätt, men med fördelad hemlig nyckel och HMAC istället för PRNG och fördelat slumpmässigt utsäde .
Applikation i RF-fjärrkontroll
En rullande kodsändare är användbar i ett säkerhetssystem för att tillhandahålla säker krypterad radiofrekvenssändning (RF) innefattande en interfolierad trinär bit fast kod och rullande kod. En mottagare demodulerar den krypterade RF-överföringen och återställer den fasta koden och rullande koden. Vid jämförelse av de fasta och rullande koderna med lagrade koder och fastställande av att signalen har kommit från en auktoriserad sändare, genereras en signal för att aktivera en elektrisk motor för att öppna eller stänga en rörlig komponent.
Rullande kod kontra fast kod RF-fjärrkontroll
Fjärrkontroller skickar ett digitalt kodord till mottagaren. Om mottagaren fastställer att kodordet är acceptabelt, kommer mottagaren att aktivera reläet, låsa upp dörren eller öppna barriären. Enkla fjärrkontrollsystem använder ett fast kodord; kodordet som öppnar porten idag kommer också att öppna porten imorgon. En angripare med en lämplig mottagare kan upptäcka kodordet och använda det för att få åtkomst någon gång senare. Mer sofistikerade fjärrkontrollsystem använder en rullande kod (eller hoppkod) som ändras för varje användning. En angripare kanske kan lära sig kodordet som öppnade dörren just nu, men mottagaren kommer inte att acceptera det kodordet under överskådlig framtid. Ett rullande kodsystem använder krypteringsmetoder som låter fjärrkontrollen och mottagaren dela kodord men gör det svårt för en angripare att bryta krypteringen.
KeeLoq
Microchip HCS301 var en gång det mest använda systemet på garage- och grindfjärrkontroller och mottagare. Chipet använder KeeLoq-algoritmen. HCS301 KeeLoq-systemet sänder 66 databitar.
- 34 bitar är inte krypterade: ett 28-bitars serienummer, 4 bitar med knappinformation och 2 statusbitar (repeterande och svagt batteri).
- 32 bitar är krypterade (den rullande koden): 4 bitar knappinformation, 2 bitar OVR (används för att utöka räknarvärdet), 10 bitar DISC (diskrimineringsvärde; ofta de låga 10 bitarna i serienumret) och en 16 bitar -biträknare. I en omsynkroniseringssituation ersätts de krypterade 32 bitarna med ett 32-bitars startvärde.
Rolljam sårbarhet
En rullande kod som sänds med radiosignal som kan avlyssnas kan vara sårbar för förfalskning. År 2015 rapporterades det att Samy Kamkar hade byggt en billig elektronisk enhet ungefär lika stor som en plånbok som kunde döljas på eller nära ett låst fordon för att fånga en enda nyckelfri inträdeskod för att användas vid ett senare tillfälle för att låsa upp fordonet. Enheten sänder en störningssignal för att blockera fordonets mottagning av rullande kodsignaler från ägarens fob, samtidigt som de registrerar dessa signaler från båda hans två försök som krävs för att låsa upp fordonet. Den registrerade första koden vidarebefordras till fordonet endast när ägaren gör det andra försöket, medan den registrerade andra koden behålls för framtida bruk. Kamkar uppgav att denna sårbarhet hade varit allmänt känd i flera år för att finnas i många fordonstyper, men att den tidigare inte var påvisad. En demonstration gjordes under DEF CON 23.
externa länkar
- Hur fjärrinträde fungerar ; citerar framgångsrik attack mot KeeLoq.
- Atmel Inc.s ansökningsnota AVR411