tampers with two or more MACs. Lu et al. proposed the
novel bandwidth-efficient cooperative authentication
(BECAN) scheme that filters injected false data
[11]
through
the use of the random graph characteristics of sensor node
deployment and the cooperative bit-compressed
authentication technique. The scheme considers a multi-path
routing scenario.
The aforementioned solutions have a predefined
threshold (t). When the number of malicious nodes is below
this threshold, the false data injected by malicious nodes can
be successfully filtered on the way to the station. M. Ma et al.
[8]
assumed the existence of a cluster to complete data
aggregation; this type of node is much more capable than the
ordinary one and is not limited by threshold t. However, the
assumption in this scheme is too great. References [14–17]
introduced public key technology into this field to enhance
network security. References [18, 19] proposed false
data-filtering strategies appropriate for different network
topologies and routing mechanisms.
As a branch of security research, digital watermarking
technology has special features, such as being difficult to
extract, modify, and fabricate. Watermarking techniques are
extensively studied in the multi-media domain
[21]
,
particularly in digital rights management. These techniques
are used in WSNs
[22]
. In [22], digital watermarking was
utilized in WSNs in conjunction with nonlinear programming;
additional constraints were used to embed watermarks. This
solution can be utilized in certain applications, such as
localization. However, its special formulation limits its
application to other domains. By contrast, our work directly
applies watermarking in false data filtering. Such an
application broadens the utilization scope of watermarking
technology.
3. MCWs
In this section, we introduce an MCW algorithm to filter
false data in WSN.
3.1. Assumptions
Certain assumptions regarding sensor networks are
established before the proposed scheme is discussed in detail.
We suppose that WSN is deployed in a hostile
environment, such as a battlefield, to monitor the enemy’s
tanks and troops. The Mica2 series sensor node, which is
highly representative and equipped with 8 MHz Atmel
ATMEGA128L processing chips, has sufficient buffer space
to store data, keys, and so on. We assume that nodes are
deployed by an aircraft, and nodes in the same cluster are
deployed all at once; thus, their physical locations are close
to one another, most of the nodes can communicate directly,
and the sensory data of nodes in the same cluster have high
temporal and spatial correlations
[23]
. We also assume that the
base station is directly conditioned by the users or is in a safe
place and cannot be compromised by an attacker
[6–19]
;
therefore, the base station is away from the monitoring area.
The cluster head collects sensory readings or votes from
cluster nodes (including itself) and then reports the result to
the base station in multiple hops. The cluster head role
rotates among the cluster nodes according to appropriate
criteria, such as remaining energy
[24]
.
3.2. Key Pre-distribution for MCWs
Each node is preset with the following four classes of
information before sensor networks are deployed.
(1) Unique identity information ID.
(2)
and
are the two private keys shared by the base
station, and
is composed of two parts, namely,
and
, where
is used to generate watermarks, and
is
used to embed and extract watermarks.
(3) Each node is assigned a vector
,
which is shared among all nodes and used to embed and
extract watermarks.
(4) Each node is preset with a one-way function f(*) that
is shared among all nodes and a one-way function g(*) that is
shared only with the base station.
3.3. Witness Node Selection and Watermark Generation
In contrast to traditional watermark technology, MCW
needs to select t witness nodes with the following selection
method.
(1) The basic information packet BIP = (IDE, POS, EN,
ER) for each node needs to be defined. IDE is the node ID
number, POS indicates the geographical location of the node,
and EN indicates the target signal strength of the node; ER
indicates the current residual energy of the node.
(2) When the internal cluster nodes receive the collecting
command, they will send their sensory data with the BIPs to
the cluster head. After collecting the BIP package of each
node, the cluster head selects t witness nodes and should
satisfy the following conditions: (a) EN
; (b) distributes
in the cluster evenly; (c) has sufficient residual energy. If the
number of the node with EN
is less than t, i.e., the
energy of emergency is low, then all nodes with EN
are
the witness nodes. If the number of the node with EN
remains less than t, we then have to select the nodes closer to
the event source as witness nodes.
After the cluster head selects t witness nodes, it uses its
own private key
and the hash function to calculate the
“fingerprint sensor”
( , , , )g ID time POS
. The ID is the
cluster head ID number;
is the cluster head location;
is the current time stamp. The cluster head then sends
the “sensor fingerprint” confirmation message
to the base station, and
is recorded by
intermediate nodes. The base station checks the
correctness. If the result is correct, the base station sends a
receipt message to the cluster head; otherwise, it sends the
message of elimination to the cluster head and then
re-collects.
When the cluster heads receive the receipt message from
the base station, it performs three-level Haar wavelet
decomposition (the present method is not limited to wavelet
decomposition and can be for other mathematical
transformations, such as discrete cosine transform, etc.) on
the aggregation data D and obtains the following wavelet
coefficients
.
refers to the low-frequency coefficients of three-level
wavelet decomposition and the most important information
of D. The
of the cluster head and
, which is regarded
as the summary information of D, are broadcasted to t
witness nodes.
After the witness nodes receive
from the cluster
head,
is sent back to the cluster head, modulated, and
embedded in as a watermark according to the following
method. The witness node first checks its own BIP package. If