Articles

Segurança para redes de sensores sem fio contra ataques maliciosos usando o método de resíduos de Hamming

Na comunicação digital, os códigos de Hamming são usados para detectar e corrigir os erros; como resultado, todos os sistemas de comunicação estão cientes desses códigos. As RSSFs são autônomas e requerem menos consumo de energia, e tais códigos podem ser usados para proteger o sistema de RSSFs sem qualquer infra-estrutura adicional. Na abordagem apresentada, são utilizados bits de segurança iniciais (definidos pelos usuários) e um conjunto de bits adicionais de verificação de segurança é anexado a ele para gerar a palavra-chave de segurança. Dependendo do comprimento do código de segurança “n” e um número de bits de segurança iniciais “k”, códigos de Hamming (n, k) (tais como (6, 3) e (7, 4) códigos) podem ser usados ou muitos mais. A palavra de código de segurança “W” é obtida anexando n – k bits de verificação de segurança “SC” aos bits de segurança iniciais “S” (ver Eq. 1)

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

where p = n – k

“Si” é ith bit de “S,” i = 1, 2, 3…. k

“SCj” é jth bit de “SC”,” j = 1, 2, 3… p

“Wm” é mth bit de “W,” m = 1, 2, 3… n

Se o número de bits de segurança inicial for k, então o possível bloco de matriz de bits de segurança inicial “SB” é representado como

$$ {\mathrm{S}}_{\\\B}=esquerda(begin{array}{c}{\\Begin{\S}_{\S}_{11}{\S}_Kern1em “mathrm” “12 pontos” “pontos” “1k” “1k” “1em” “21 k” “kern1em” “22 pontos” “22 k” “22 k” “22 k \Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos Pontos (2)

onde Sab representa o elemento de uma quarta linha e bth coluna, q = 2k = número total de filas, e k = número total de colunas no SB.

Nesta abordagem, (7, 4) O código de Hamming é usado para gerar a palavra de código de segurança “W”. No entanto, pode-se selecionar o código de Hamming de acordo com os bits de segurança iniciais desejados e o comprimento da palavra de código de segurança. Aqui, os bits de segurança iniciais são 4 e o possível bloco de matriz de bits de segurança inicial é (i.e, 0-15 representado em bits binários)

$$ {\mathrm{S}}_{\mathrm{B}}=esquerda(\begin{array}{c}0kern0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 1em 0.5em 0.1kern0.5em 0.5em 0.1kern0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 0.5em 0.5em.{\i1}dots {\i1}kern0.5em 1{\i1}kern0.5em 11{\i1}end{\i1}end{\i1}right) $$
(3)

Aqui, na abordagem apresentada, os bits de segurança iniciais no nó de origem são 0 0 0 0 0 (ou seja hop 0), assim no hop 1, os bits de segurança são 0 0 0 1 até o hop 15, já que a aproximação proposta é projetada para até 15 lúpulos apenas. Assim, pode-se simplesmente dizer que os bits de segurança iniciais são o equivalente binário do número de lúpulo.

$$$mathrm{\i1}mathrm{\i}{\i1}segurança{\i}=mathrm{\i}{\i1}mathrm{\i}}número de matemathrm{\i}{\i1}esquerda(mathrm{\i}representado) \mathrm (em) $$

Após a obtenção dos bits iniciais de segurança, os bits de verificação de segurança são adicionados a eles. Estes bits de verificação são gerados através da multiplicação e execução do módulo 2 de adições dos bits de segurança iniciais com a matriz de segurança, conforme representado em Eq. 4

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

onde SPm é (k × p) a matriz de segurança representada como

$$ {SP}_m===esquerda(\begin{array}{c}{l}_{11}\kern1em {l}_{12}\kern0.5em cdot 1 pdots 1 pdots 21 kern1em 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots 2 pdots $$
(5)

onde “lrf” representa o elemento de rrf linha e fth coluna.

A matriz de segurança é a matriz de paridade de (7, 4) código de Hamming que é obtido ou da sua matriz de verificação de paridade ou da sua matriz geradora. Estas duas matrizes já estão definidas para os códigos de Hamming. No modelo apresentado, o SPm é comum a todos os nós de origem na rede e é definido como

$$ {SP}_m==esquerda(begin{array}{c}1\kern0.62em 1\kern1em 0\ {}0\kern1em 1\kern1em 1\kern0. portanto, os bits de verificação de segurança são

$$ {SC}_{h0}={S}_{h0}{S}_{h0}}_por vezes {SP}_m==esquerda_esquerda(begin{array}{c}1}kern1em 1{kern1em 0{{}0kern1em 1{kern0}.24em 0{\i1}direita) $$

onde SChr são os bits de verificação em rth hop

Shr são os bits de segurança em rth hop, r = 0, 1, 2, 3 ….

Hence, a palavra-chave de segurança no nó de origem é obtida anexando SCℎ0 aos bits de segurança do nó de origem e pode ser representada como

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

onde Wℎr é a palavra de código de segurança em hop r, r = 0, 1, 2,….

Após avaliar a palavra de código de segurança, o resíduo quadrático é usado para fornecer segurança adicional, uma vez que apenas os códigos Hamming podem não ser eficientes para fornecer a segurança desejada para as RSSFs. Os resíduos quadráticos são definidos pelo usuário, seguros, fáceis de implementar e estão prontamente disponíveis. Nesta abordagem, o resíduo de 7 é considerado, pois o comprimento da palavra-chave de segurança obtida é 7 e cobre o máximo de bits na palavra-chave de segurança para aumentar a segurança. Os resíduos de 7 são 1, 2 e 4; aqui, na abordagem apresentada, estas posições de bits (ou seja, 1, 2 e 4) são complementadas na palavra de código. Assim, a palavra de código de segurança final gerada pode ser representada como

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

onde “Rw0” é a palavra de código de segurança final (depois de complementar as posições de resíduos em Wℎ0) no rth hop. Além da sincronização do codeword final de segurança, a taxa de entrega de pacotes (PDR) (ver Eq. 6) dos nós está sendo continuamente monitorada. Se o valor PDR for aceitável, somente então que os dados sejam transferidos, e se estiver além do limite aceitável, os dados não são passados adiante. De forma semelhante, este processo continua até o nó de destino.

$$ \mathrm{PDR}=\mathrm{No}.\Mathrmm (de).{R}.{R}.{P}/ /mathrm (Não).{\an8}.{\an8}.mathrm (de).{T}.{P} $$
(6)

where R.P são os pacotes recebidos e T.P são os pacotes transmitidos

Processo de correspondência de nó

Figure 1 representa uma rede multi-hop na qual o nó de origem se comunica com o nó de destino através de nós intermediários. O nó de origem envia Rw0 para todos os seus nós vizinhos que estão a um salto do nó de origem. A operação requerida em vários saltos é discutida nas seções 4.1.1 e 4.1.2.

Fig. 1
figure1

Multi-hop rede com nó rival

>

No hop 1

Os bits iniciais de segurança são 0 0 0 1; os bits de verificação de segurança são gerados multiplicando estes bits com 푆푃푚

$$ {C}_{h1}{\i1}{\i1}{\i1}{\i1}{\i1}{\i1}{\i1}_s vezes {\i}{\i1}{\i1}{\i1}esquerda(1\i1}}}}-.12em 0ern1.5em 1{\i1}direita){\i1}end{rray} $$

E a palavra de código no hop 1 pode ser avaliada como abaixo

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

Completando os resíduos (de 7) posições (i.e, primeira, segunda e quarta posições) em Wℎ1, o código final de segurança no hop 1 é representado como

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

Se o nó vizinho enviar Rw1 como um reconhecimento ao nó fonte e o seu valor PDR for aceitável, então o nó de origem irá transferir os dados originais para aquele nó vizinho. O reconhecimento não deve exceder o tempo de vida (TTL) fornecido. Agora, esse nó vizinho torna-se o nó de origem para outros nós da rede e transmite Rw1 para seus nós vizinhos.

No hop 2

Os bits de segurança são 0 0 1 0, e os bits de verificação são

$$ {\i1}{\i1}{\i1}{\i}{\i}{\i}{\i}{\i}{\i1}{\i}_mn2}.5em = esquerda(1) kern1em 1kern0.62em 1kern0.62em 1right)end{array}} $$
$$ {W}_{h2}=0\kern1em 0\kern0,62em 1\kern0.62em 0\kern1em 1\kern1em 1\kern1em 1 $$

>Completando as posições dos resíduos em Wℎ2, a palavra-chave final de segurança no hop 2 pode ser calculada como

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

Se o nó de origem for reconhecido com Rw2, então ele passará os dados para o nó do qual recebeu o reconhecimento. Caso contrário, o nó é considerado como um nó rival e os dados não são transmitidos a esse nó. Esse processo continua até que a informação ou os dados sejam recebidos pelo nó de destino. Esse processo pode ser facilmente compreendido através do diagrama de protocolo (vide Fig. 2). Como a palavra de código de segurança é alterada a cada salto e torna-se muito difícil para os nós rivais enganar o nó ativo na rede, a abordagem apresentada não só melhora a autenticação do nó ativo, mas também dá mais confidencialidade aos nós finais ao projetar várias palavras de código na rede. A partir da Fig. 2, observa-se que os dados são transferidos para o nó intermediário 1 (IN1) a partir do nó de origem, uma vez que ele dá o reconhecimento positivo (+ACK), ou seja, 푅푤1, para o nó de origem. Uma vez que os dados são recebidos por IN1, ele atua como o nó fonte para seus nós vizinhos e transmite 푅푤1 para eles. Os dados não são transferidos para o nó intermediário 2 (IN 2) pois ele dá reconhecimento negativo (-ACK) para IN1, portanto considerado como um nó rival.

>

Fig. 2
>figure2

Diagrama do protocolo

>

>