Articles

Security to wireless sensor networks against malicious attacks using Hamming residue method

In digitale communicatie worden Hamming codes gebruikt om fouten op te sporen en te corrigeren; als gevolg daarvan zijn alle communicatiesystemen zich bewust van deze codes. WSN’s zijn autonoom en vereisen minder energieverbruik, en dergelijke codes kunnen worden gebruikt om WSN-systeem te beveiligen zonder enige extra infrastructuur. In de voorgestelde aanpak worden initiële beveiligingsbits (door de gebruikers gedefinieerd) gebruikt en wordt een reeks aanvullende beveiligingscontrolebits toegevoegd om het beveiligingscodewoord te genereren. Afhankelijk van de lengte van het veiligheidscodewoord “n” en het aantal initiële veiligheidsbits “k”, kunnen Hamming-codes (n, k) (zoals (6, 3) en (7, 4) codes) worden gebruikt of nog veel meer. Het veiligheidscodewoord “W” wordt verkregen door n – k veiligheidscontrolebits “SC” aan de aanvankelijke veiligheidsbits “S” toe te voegen (zie Eq. 1)

$$ W={W}_1..{W}_2..{W}_3={W}_n={S}_1..{S}_2..{S}_3= {S}_k{SC}_1..{SC}_2…{SC}_3}}_p $$
(1)

waar p = n – k

“Si” is de i-de bit van “S,” i = 1, 2, 3…. k

“SCj” is de j-de bit van “SC”, j = 1, 2, 3… p

“Wm” is de m-de bit van “W”, m = 1, 2, 3… n

Als het aantal initiële beveiligingsbits k is, dan wordt het mogelijke initiële beveiligingsbits matrix blok “SB” voorgesteld als

$$ {\mathrm{S}}_{mathrm{B}}=[\left(\begin{array}{c}{\mathrm{S}}_{11}\kern1em {\mathrm{S}}_{12}}}{c}{\mathrm{S}}_{11}}\kern1em {\mathrm{S}}_{21}}_{22}}{c}} \{\mathrm{S}}_{2k}} {\mathrm{S}}_{2k}}} {) $$
(2)

waar Sab het element van ath rij en bth kolom voorstelt, q = 2k = totaal aantal rijen, en k = totaal aantal kolommen in SB.

In deze benadering wordt een (7, 4) Hamming-code gebruikt om het beveiligingscodewoord “W” te genereren. De Hamming-code kan echter worden gekozen op basis van de gewenste aanvankelijke beveiligingsbits en de lengte van het beveiligingscodewoord. Hier zijn de initiële beveiligingsbits 4 en de mogelijke initiële beveiligingsbits matrixblok is (d.w.z, 0-15 voorgesteld in binaire bits)

$$ {\mathrm{S}}_{\mathrm{B}}=-links(\begin{array}{c}0{kern0..\1}1\kern0.5em 1\kern0.5em 11$
(3)

Hier, in de gepresenteerde aanpak, zijn de initiële beveiligingsbits bij bron node 0 0 0 0 (d.w.z, hop 0), dus bij hop 1, zijn de beveiligingsbits 0 0 0 1 enzovoort tot hop 15, aangezien de voorgestelde aanpak slechts tot 15 hops is ontworpen. Dus, eenvoudig kan men zeggen dat de aanvankelijke veiligheidsbits binair equivalent van hopnummer zijn.

$$ \mathrm{Initiële} \mathrm{Beveiliging} \mathrm{bits}= \mathrm{hop} \mathrm{nummer} \left(\mathrm{vertegenwoordigd} \$$

Na het verkrijgen van de initiële beveiligingsbits, worden de beveiligingscontrolebits toegevoegd. Deze controlebits worden gegenereerd door de initiële beveiligingsbits te vermenigvuldigen met de beveiligingsmatrix die in Eq. wordt voorgesteld en modulo 2 optellingen uit te voeren. 4

$$ SC=S\times {SP}_m $$
(4)

waar SPm een (k × p) beveiligingsmatrix is, voorgesteld als

$$ {SP}_m=(\begin{array}{c}{l}_{11}}}}kern1em {l}_{12}}}kern0.5em {l}_{1p} {l}_{21}}kern1em {l}_{22} {l}_{2p} {l}_{21}}kern1em {l}_{22}}} {l}_{k2}}kern1em {k}_{kp}}}$
(5)

waar “lrf” staat voor het element van de r-de rij en f-de kolom.

De beveiligingsmatrix is de pariteitsmatrix van (7, 4) Hamming code, die ofwel verkregen wordt uit de pariteitscontrolematrix ofwel uit de generatormatrix. Deze twee matrices zijn reeds gedefinieerd voor de Hamming-codes. In het voorgestelde model is de SPm gemeenschappelijk voor alle bronnodes in het netwerk en is gedefinieerd als

$$ {SP}_m=-links(\begin{array}{c}1\kern0.62em 1\kern1em 0\ {}0\kern1em 1\kern1em 1\kern0.62em 1\kern1em 1\kern0.62em 1\kern1em 1\kern1.62em 1\kern1.62em 1\kern1.62em 1\kern1.62em 1\kern1.62em 1\kern1.62em 1\kern1.62em 162em 1}1}0kern1em 0}1}eind{array}rechts) $$

Bijv. bij het bronknooppunt zijn de initiële beveiligingsbits (0 0 0 0); dus de veiligheidsbits zijn

$$ {SC}_{h0}={S}_{h0}} maal {SP}_m=(\begin{array}{c}1}1}kern1em 1}kern1em 0}0}kern1em 1}kern0.24em 1}1\kern0.24em 1\kern0.24em 1}1\kern0.24em 0\kern0.24em 1eind{array}rechts)=links(0\kern0.62em 0\kern0.24em 0rechts) $$

waar SChr de controlebits zijn op de rde hop

Shr de beveiligingsbits zijn op de rde hop, r = 0, 1, 2, 3 ….

Hieruit volgt dat het beveiligingscodewoord op het bronknooppunt wordt verkregen door SCℎ0 toe te voegen aan de beveiligingsbits van het bronknooppunt en kan worden voorgesteld als

$$ {W}_{h0}={S}_1\kern0.5em {S}_2\kern0.5em {S}_3\kern0.5em {S}_4\kern0.5em {C}_1\kern0.5em {S}_3\kern0.5em {S}_4\kern0.5em {S}_2.5em {S}_3.5em5em {C}_1\kern0.5em {C}_2\kern0.5em {S}_3=0\kern0.5em 0\kern0.5em 0 $$

waar Wℎr het beveiligingscodewoord op hop r, r = 0, 1, 2,…. is.

Na evaluatie van het veiligheidscodewoord wordt het kwadratisch residu gebruikt om extra veiligheid te bieden, aangezien alleen Hamming-codes wellicht niet efficiënt zijn om WSN’s de gewenste veiligheid te bieden. Kwadratische residuen zijn door de gebruiker te definiëren, veilig, gemakkelijk te implementeren, en gemakkelijk verkrijgbaar. In deze aanpak wordt het residu van 7 gebruikt, aangezien de lengte van het verkregen veiligheidscodewoord 7 is en het maximale aantal bits in het veiligheidscodewoord bestrijkt om de veiligheid te verbeteren. Residuen van 7 zijn 1, 2 en 4; in de voorgestelde aanpak worden deze bitposities (d.w.z. 1, 2 en 4) in het codewoord aangevuld. Het gegenereerde beveiligingscodewoord kan dus worden weergegeven als

$$ {R}_{w0}=1\kern1em 1\kern0.24em 0\kern0.62em 1\kern0.62em 0\kern0.62em 0\kern0.24em 0 $$

waarbij “Rw0” het uiteindelijke beveiligingscodewoord is (na complementering van de residu-posities in Wℎ0) op de r-de hop. Afgezien van de synchronisatie van het definitieve beveiligingscodewoord, wordt de pakket-afleveringsratio (PDR) (zie Eq. 6) van de knooppunten voortdurend gecontroleerd. Als de PDR-waarde aanvaardbaar is, worden alleen die gegevens doorgegeven, en als de PDR-waarde de aanvaardbare grens overschrijdt, worden de gegevens niet verder doorgegeven. Op dezelfde manier gaat dit proces door tot het bestemmingsknooppunt.

$$ \mathrm{PDR}=\mathrm{No}.\mathrm{R}.\mathrm{P}/\mathrm{No}.\mathrm{T}.\mathrm{P} $$
(6)

waar R.P de ontvangen pakketten is en T.P de verzonden pakketten

Node matching process

Figuur 1 geeft een multi-hop netwerk weer waarin het bronknooppunt communiceert met het bestemmingsknooppunt via tussenliggende knooppunten. Het bronknooppunt zendt Rw0 naar al zijn naburige knooppunten die één hop verwijderd zijn van het bronknooppunt. De vereiste werking op verschillende hops wordt besproken in de paragrafen 4.1.1 en 4.1.2.

Fig. 1
figure1

Multi-hop netwerk met rivaliserende node

Aan hop 1

De initiële beveiligingsbits zijn 0 0 0 1; de controlebits worden gegenereerd door deze bits te vermenigvuldigen met 푆푃푚

$$ {C}_{h1}{\begin{array}{c}={S}_{h1}}} keer {SP}_m\ {}=left(1}kern1.12em 0kern1.5em 1rechts)}} $

En het codewoord op hop 1 kan als volgt geëvalueerd worden

$$ {W}_{h1}=0\kern1em 0\kern0.62em 0\kern0.24em 1\kern0.62em 1\kern0.5em 0\kern0.24em 1 $

Het complementeren van de residu (van 7) posities (d.w.z, eerste, tweede en vierde positie) in Wℎ1, wordt het uiteindelijke beveiligingscodewoord op hop 1 weergegeven als

$$ {R}_{w1}=1\kern1em 1\kern1em 0\kern1em 1\kern1em 0\kern1em 1 $$

Als het naburige knooppunt Rw1 als ontvangstbevestiging naar het bronknooppunt stuurt en zijn PDR waarde is acceptabel, dan zal het bronknooppunt de originele gegevens aan dat buurknooppunt overdragen. De bevestiging mag de voorziene time to live (TTL) niet overschrijden. Nu wordt dit naburige knooppunt het bronknooppunt voor andere knooppunten in het netwerk en zendt Rw1 naar zijn naburige knooppunten.

Aan hop 2

De beveiligingsbits zijn 0 0 1 0, en de controlebits zijn

$$ {\displaystyle \begin{array}{l}{C}_{h2}={S}_{h2}}times {SP}_m} {}kern2.5em = links(1kern1em 1kern0.62em 1kernrechts)}} $$
$$ {W}_{h2}=0\kern1em 0\kern0.62em 1\kern0.62em 0\kern1em 1\kern1em 1\kern1em 1 $$

Door de residu-posities in Wℎ2 te complementeren, kan het uiteindelijke veiligheidscodewoord in hop 2 worden berekend als

$$ {R}_{w2}=1\kern0.5em 1\kern0.5em 1\kern0.5em 1\kern0.5em 1$

Als het bronknooppunt een bevestiging krijgt met Rw2, dan zal het de gegevens doorgeven aan het knooppunt waarvan het de bevestiging heeft ontvangen. Zo niet, dan wordt het knooppunt beschouwd als een rivaliserend knooppunt en worden de gegevens niet naar dat knooppunt verzonden. Dit proces wordt voortgezet tot de informatie of de gegevens door het bestemmingsknooppunt worden ontvangen. Dit proces kan gemakkelijk worden begrepen aan de hand van het protocoldiagram (zie Fig. 2). Aangezien het beveiligingscodewoord bij elke hop wordt gewijzigd en het voor rivaliserende knooppunten zeer moeilijk wordt om het actieve knooppunt in het netwerk te misleiden, verbetert de voorgestelde aanpak niet alleen de authenticatie van het actieve knooppunt, maar geeft het ook meer vertrouwelijkheid aan eindknooppunten door meerdere codewoorden in het netwerk te ontwerpen. Uit Fig. 2 blijkt dat de gegevens worden overgedragen naar intermediair knooppunt 1 (IN1) vanaf het bronknooppunt als het de positieve bevestiging (+ACK) geeft, d.w.z., 푅푤1, aan het bronknooppunt. Zodra de gegevens door IN1 zijn ontvangen, gedraagt het zich als het bronknooppunt voor zijn naburige knooppunten en zendt 푅푤1 naar hen. De gegevens worden niet doorgegeven aan intermediair knooppunt 2 (IN 2), aangezien dit een negatieve ontvangstbevestiging (-ACK) geeft aan IN1, dat daarom wordt beschouwd als een rivaliserend knooppunt.

Fig. 2
figure2

Protocoldiagram