Articles

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

デジタル通信において、ハミング符号は誤り検出と訂正に用いられており、結果としてすべての通信システムはこの符号を認識していることになる。 WSNは自律的で消費電力が少ないため、このような符号を使用すれば、追加のインフラなしでWSNシステムを保護することが可能である。 本アプローチでは、ユーザが定義した初期セキュリティビットを使用し、それにセキュリティチェックビットのセットを付加してセキュリティコード語を生成する。 セキュリティコード長「n」と初期セキュリティビット数「k」に応じて、ハミングコード(n、k)((6、3)、(7、4)コードなど)またはそれ以上を使用することができる。 セキュリティコード語「W」は、初期セキュリティビット「S」にn-k個のセキュリティチェックビット「SC」を付加して得られる(式1参照)<7348><5648>$$ W={W}_1..{W}_2..{W}_3dots {W}_n={S}_1..{S}_2..{S}_3dots {S}_k{SC}_1..{SC}_2…{W}_3dots {W}_n={S}_1.{SC}_3dots {SC}_p $$

(1)

where p = n – k

“Si” is the i = 1, 2, 3・・・・ “S” bit of “S”. k

“SCj” は “SC” のjビット目、j=1、2、3・・・ p

“Wm” は “W” のmビット目、m=1、2、3・・・ p=1、2、3・・・ p=1、2、3・・・ p=1、2、3・・・ p=1、2、3・・・ p=1. n

初期セキュリティビットの数がkである場合。 とすると、可能な初期セキュリティビット行列ブロック “SB “は、

$$ {{mathrm{S}}_{mathrm{B}}=Centaleft(\begin{array}{c}{mathrm{S}}_{11}kern1em) となる。 {mathrm{S}_{12} } } {}{mathrm{S}}_{1k} {}{mathrm{S}}_{21}kern1em {mathrm{S}}_{22} } {} {mathrm{S}}_{22} {docdots {mathrm{S}} {docdot \Όταμμα για για για για για για για για για για για για για για για για για για για για για γιβή γιβή γιβή σσσσ σσσ σσσ σσσ σσ σσ σσσ σσσ σσσσ {end) $$
(2)

ここで、Sabはath行、b列目の要素を表す。 q = 2k = SBの行の総数、k = 列の総数。

このアプローチでは、セキュリティコードワード “W “を生成するために(7、4)ハミングコードが使用される。 しかし、所望の初期セキュリティビットとセキュリティコードワード長に応じてハミングコードを選択することができる。 ここでは、初期セキュリティビットを4とし、可能な初期セキュリティビットの行列ブロックは、(すなわち。 0-15を2進数で表現)

$$ {{mathrm{S}}_{mathrm{B}}=㊤(\begin{array}{c}0㊤)㊤。5em 0kern0.5em 0kern0.5em 0;0kern0.5em 1.\dots ゙ {}1}kern0.5em 1}kern0.5em 11}end{array}end{array}right) $$
(3)

ここで、本手法では、送信元ノードの初期セキュリティビットは0 0 0 0(すなわち, ホップ0)であるため、ホップ1ではセキュリティビットは0 0 0 1となり、提案されたアプローチは15ホップまでしか設計されていないため、ホップ15まで続きます。 従って、簡単に言うと、最初のセキュリティビットはホップ番号の2進数に相当します。

$$ \mathrm{Initial} \mathrm{Security}\ \mathrm{bits}=\mathrm{hop} \mathrm{number} (\mathrm{numbers}) {pept (\mathrm{represented}) {pept (|pept (|pept (|pept (|pept (|pept (|pept))) }) セキュリティ・チェック・ビットを追加する。 これらのチェックビットは、式(1)で表されるセキュリティ行列と初期セキュリティビットの乗算とモジュロ2の加算を行うことで生成される。 4

$$ SC=Stimes {SP}_m $$
(4)

ここでSPmは、

$$ {SP}_m=Three(\begin{array}{c}{l}_{11}} kern1em {l}{12} PSIkern0.M} $$$ (k × p) Security matrix represented as the following.5em {l}_{1p} {}{l}_{21} {l}_{22} {l}_{2p} {}{dots} {}{L}_{k1} {}{Kern1em {}{dots} {}{dots} {}{l}_{2p} {} {} {dots} {} {dots} {} {L}_{k1} {}{Kern1em {l}_{k2} ◇ {k}_{kp} ◇end{array} ◇right) $$
(5)

ここで、lrfはr行、f列目の要素を表します。

セキュリティ行列は、(7,4)ハミングコードのパリティ行列で、そのパリティ検査行列またはその生成行列から得られます。 この2つの行列は、ハミングコードに対して既に定義されている。 本モデルでは、SPmはネットワーク内の全てのソースノードに共通であり、以下のように定義される

$ {SP}_m=texleft(\begin{array}{c}1kern0.62em 1}kern1em 0}0kern1em 1}kern1em 1}1}kern0.62em 1}1kern1em 0kern1em 1end{array}right) $$

例えば、ソースノードにおいて、初期セキュリティビットは(0 0 0 0)である。 したがって、セキュリティチェックビットは

$ {SC}_{h0}={S}_{h0}times {SP}_m=lefttimes \left(\begin{array}{c}1} 1}kern1em 0}0}kern1em 1}kern0.0.24em 1}1kern0.24em 1}0kern0.24em 1}0kern0.24em 1}end{array}right)=■ Left(0}kern0.62em 0}kern0.24em 1}0kern0.24em 0}right) $$

where SChr are check bits at rth hop

Shr are the security bits at rth hop, r = 0, 1, 2, 3 …但し、SChrはrthホップのチェックビットである。

したがって、ソースノードにおけるセキュリティコード語は、ソースノードのセキュリティビットにSCℎ0を付加することによって得られ、

$ {W}_{h0}={S}_1kern0.5em {S}_2 kern0.5em {S}_3 kern0.5em {S}_4 kern0.5emと表現されることがある。5em {C}_1kern0.5em {C}_2kern0.5em {S}_3=0} 0kern0.5em 0;0} 0kern0.5em 0 $$

where Wℎr is the security codeword at hop r, r = 0, 1, 2, ……All rights reserved.

セキュリティコードワードを評価した後、ハミングコードだけではWSNに望ましいセキュリティを提供するために効率的でない場合があるので、二次残基は追加のセキュリティを提供するために使用される。 2次残基は、ユーザ定義可能で安全性が高く、実装が容易であり、容易に入手できる。 本アプローチでは、セキュリティコードワードの長さが7であり、セキュリティコードワードの最大ビットをカバーするため、7の残基を考慮し、セキュリティを強化することにしました。 7の残基は1、2、4であり、本アプローチでは、これらのビット位置(すなわち、1、2、4)はコードワード内で補完される。 したがって、生成された最終セキュリティコード語は、

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

ここで、Rw0はr番目のホップの最終セキュリティコード語(Wℎ0の残留位置を補完したもの)である。 最終セキュリティコードワードの同期とは別に、ノードのパケット配送率(PDR)(式6参照)が継続的に監視される。 PDRの値が許容範囲内であれば、そのときだけデータが転送され、許容範囲を超えていれば、それ以上データは転送されません。 同様に、このプロセスは宛先ノードまで続けられる。Pは受信パケット、T.Pは送信パケット

ノードマッチング処理

図1は、送信元ノードが中間ノードを介して宛先ノードと通信するマルチホップネットワークを表している。 送信元ノードは、送信元ノードから1ホップ離れたすべての隣接ノードにRw0を送信する。 様々なホップにおける必要な動作は、セクション4.1.1および4.1.2で説明する。

Fig. 1
figure1

Multi-hop network with rival node

At hop 1

The initial security bits are 0 0 0 1.0.0.0.1; を乗算することで生成される。12em 0kern1.5em 1right)\end{array}} {}のようになります。 $$

そして、ホップ1でのコードワードは以下のように評価できる

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

残留(7)ポジション(つまり、。 Wℎ1の第1、第2、第4ポジション)を補完すると、ホップ1における最終的なセキュリティコード語は、

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

近隣ノードがソースノードに対して肯定応答としてRw1を送り、そのPDR値が許容できるならば、その値は次のように表される。 の場合、送信元ノードはその隣接ノードにオリジナルデータを転送します。 確認応答は提供されたTTL(time to live)を超えないようにする必要があります。 さて、この隣接ノードはネットワーク内の他のノードのソースノードとなり、Rw1をその隣接ノードに送信します。

At hop 2

The security bits are 0 0 1 0, and the check bits are

$ {displaystyle \begin{array}{l}{C}_{h2}={S}_{h2}times {SP}_mц {} kern2.0 {} {} {5648>$ {5648}{5648]{displaystyle #25em =↵left(1kern1em 1kern0.62em 1right)\end{array}}. $$
$ {W}_{h2}=0} 0}kern1em 0}kern0.62em 1}kern0.62em 0\kern1em 1\kern1em 1 $$

Wℎ2の残留位置を補完すると、ホップ2での最終セキュリティコード語は

$ {R}_{w2}=1èmekern0.5em 1↩kern0.5em 1↩kern0.5em 1↩;1↩;1 $$

ソースノードがRw2で確認されると、確認応答を受信したノードにデータを渡すことになります。 そうでない場合、そのノードはライバルノードと見なされ、そのノードにデータは送信されません。 このプロセスは、情報またはデータが宛先ノードで受信されるまで継続されます。 このプロセスは、プロトコル図(図2参照)を使用することで容易に理解することができます。 セキュリティコードワードはホップごとに変更され、ライバルノードがネットワーク内のアクティブノードを欺くことが非常に難しくなるため、本アプローチはアクティブノードの認証を改善するだけでなく、ネットワーク内で複数のコードワードを設計することでエンドノードにさらなる機密性を提供します。 図 2 から、データはソースノードから中間ノード 1(IN1)に転送され、IN1 はソースノードに肯定応答(+ACK)、すなわち 푅푤 1 を与えることが確認される。 IN1がデータを受信すると、IN1は隣接するノードに対してソースノードとして機能し、푅푤1を送信する。 中間ノード2(IN2)はIN1に否定応答(-ACK)を与えるため、データは転送されず、したがってライバルノードとみなされる。

図2
figure2

プロトコル図