Network coding has been shown to optimally use bandwidth in a network, maximizing information flow but the scheme is very inherently vulnerable to pollution attacks by malicious nodes in the network. A node injecting garbage can quickly affect many receivers. The pollution of network packets spreads quickly since the output of (even an) honest node is corrupted if at least one of the incoming packets is corrupted.
An attacker can easily corrupt a packet even if it is encrypted by either forging the signature or by producing a collision under the hash function. This will give an attacker access to the packets and the ability to corrupt them. Denis Charles, Kamal Jain and Kristin Lauter designed a new homomorphic encryption signature scheme for use with network coding to prevent pollution attacks.[1]
The homomorphic property of the signatures allows nodes to sign any linear combination of the incoming packets without contacting the signing authority. In this scheme it is computationally infeasible for a node to sign a linear combination of the packets without disclosing what linear combination was used in the generation of the packet. Furthermore, we can prove that the signature scheme is secure under well known cryptographic assumptions of the hardness of the discrete logarithm problem and the computational Elliptic curve Diffie–Hellman.
Let
G=(V,E)
V
E
s\inV
D
T\subseteqV
W/Fp
d
p
w1,\ldots,wk\inW
v1,\ldots,vk
vi=(0,\ldots,0,1,\ldots,0,
w | |
i1 |
,\ldots,w{id})
w | |
ij |
j
wi
(i-1)
vi
vi
k+d | |
F | |
p |
V
e\inE
y(e)
v=in(e)
y(e)=\sumf:out(f)=v(me(f)y(f))
where
me(f)\inFp
k
k
wi
y(e)
y(e)=\sum1(gi(e)vi)
V
g(e)=(g1(e),\ldots,gk(e))
y(e)
g(e1),\ldots,g(ek)
ei
t\inT
t
Gt
Gt
y1,\ldots,yk
w1,\ldots,wk
\begin{bmatrix}y'\ y2'\ \vdots\ yk'\end{bmatrix}=Gt\begin{bmatrix}w1\ w2\ \vdots\ wk\end{bmatrix}
where the
yi'
k
yi
Each receiver,
t\inT
k
y1,\ldots,yk
vi
yi=
(\alpha | |
i1 |
,\ldots,
\alpha | |
ik |
,
a | |
i1 |
,\ldots,
a | |
id |
)
then
yi=\sum1(\alphaijvj).
Thus we can invert the linear transformation to find the
vi
Krohn, Freedman and Mazieres proposed a theory[2] in 2004 that if we have a hash function
H:V\longrightarrowG
H
x
y
H(x)=H(y)
H
H(x+y)=H(x)+H(y)
Then server can securely distribute
H(vi)
y=\sum1(\alphaivi)
we can check whether
H(y)=\sum1(\alphaiH(vi))
The problem with this method is that the server needs to transfer secure information to each of the receivers. The hash functions
H
H
H
The homomorphic property of the signatures allows nodes to sign any linear combination of the incoming packets without contacting the signing authority.
Elliptic curve cryptography over a finite field is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields.
Let
Fq
q
E
Fq
y2=x3+ax+b,
where
a,b\inFq
4a3+27b2\not=0
Let
K\supseteqFq
E(K)=\{(x,y)|y2=x3+ax+b\}cup\{O\}
forms an abelian group with O as identity. The group operations can be performed efficiently.
E
E
E/Fq
\bar{F
Fq
m
Fq
m
E[m]={P\inE(\bar{F
If
E/Fq
\gcd(m,q)=1
E[m]\cong(Z/mZ)*(Z/mZ)
There is a map
em:E[m]*E[m] → \mum(Fq)
em(P+R,Q)=em(P,Q)em(R,Q)andem(P,Q+R)=em(P,Q)em(P,R)
em(P,Q)=1
Q=O
em(P,P)=1
Also,
em
Let
p
q
V/Fp
D
E/Fq
P1,\ldots,PD\inE[p]
h:V\longrightarrowE[p]
h(u1,\ldots,uD)=\sum1(uiPi)
h
V
E[p]
The server chooses
s1,\ldots,sD
Fp
Q
ep(Pi,Q)\not=1
(Pi,siQ)
1\leqi\leqD
v=u1,\ldots,uD
\sigma(v)=\sum1(uisiPi)
Given
v=u1,\ldots,uD
\sigma
\begin{align} ep(\sigma,Q)&=ep\left(\sum1(uisiPi),Q\right)\\ &=\prodiep(uisiPi,Q)\ &=\prodiep(uiPi,siQ) \end{align}
The verification crucially uses the bilinearity of the Weil-pairing.
The server computes
\sigma(vi)
1\leqi\leqk
vi,\sigma(vi)
e
y(e)=\sumf(me(f)y(f))
\sigma(y(e))=\sumf(me(f)\sigma(y(f)))
E
The signature is a point on the elliptic curve with coordinates in
Fq
2logq
log(p)
p
q
h(e)
O(dinlogplog1+\epsilonq)
din
in(e)
O((d+k)log2+\epsilonq)
Attacker can produce a collision under the hash function.
If given
(P1,\ldots,Pr)
E[p]
a=(a1,\ldots,ar)\in
r | |
F | |
p |
b=(b1,\ldots,br)\in
r | |
F | |
p |
such that
a\not=b
\sum1(aiPi)=\sum1(bjPj).
Proposition: There is a polynomial time reduction from discrete log on the cyclic group of order
p
If
r=2
xP+yQ=uP+vQ
(x-u)P+(y-v)Q=0
x\not=u
y\not=v
x=u
(y-v)Q=0
Q
p
y-u\equiv0\bmodp
y=v
Fp
(x,y)
(u,v)
F2
Q=-(x-u)(y-v)-1P
p
If we have r > 2 then we can do one of two things. Either we can take
P1=P
P2=Q
Pi=O
i
r=2
P1=r1P
Pi=riQ
ri
Fp
Q
ar1P+\sum2(biriQ)=0.
Then as long as
\sum2biri\not\equiv0\bmodp
ri
bi
2\leqi\leqr
ri
\sum2(biri)=0
1\overp
Q
We have shown that producing hash collisions in this scheme is difficult. The other method by which an adversary can foil our system is by forging a signature. This scheme for the signature is essentially the Aggregate Signature version of the Boneh-Lynn-Shacham signature scheme.[4] Here it is shown that forging a signature is at least as hard as solving the elliptic curve Diffie–Hellman problem. The only known way to solve this problem on elliptic curves is via computing discrete-logs. Thus forging a signature is at least as hard as solving the computational co-Diffie–Hellman on elliptic curves and probably as hard as computing discrete-logs.