• No results found

Secure Network Coding via Filtered Secret Sharing

N/A
N/A
Protected

Academic year: 2021

Share "Secure Network Coding via Filtered Secret Sharing"

Copied!
49
0
0

Loading.... (view fulltext now)

Full text

(1)

Secure Network Coding via Filtered Secret

Sharing

Jon Feldman, Tal Malkin, Rocco Servedio, Cliff Stein

(Columbia University)

jonfeld@ieor, tal@cs, rocco@cs, cliff@ieor

(2)

Network Coding and Security

Network coding: new model of transmission...

...how do we make it secure?

1. Cai and Yeung[02]

wire-tap adversary: can look at any

edges.

Suff. conditions for

secure multicast code. 2. Jain[04]: More precise cond. (one terminal).

3. Ho, Leong, Koetter, Médard, Effros, Karger [04]: Byzantine modification detection.

(3)

Network Coding and Security

Network coding: new model of transmission...

...how do we make it secure?

1. Cai and Yeung[02]

wire-tap adversary: can look at any

edges.

Suff. conditions for

secure multicast code. 2. Jain[04]: More precise cond. (one terminal).

3. Ho, Leong, Koetter, Médard, Effros, Karger [04]: Byzantine modification detection.

This talk: precise analysis of wire-tap adversary, balance between security, rate, edge bandwidth. Related: robustness [Koetter Médard 02].

(4)

Making our Example Secure Use .

Less ambitious goal: Send

one symbol to both sinks. Choose randomly. Can define symbols s.t.

any single wire-tapper learns nothing about ,

(5)

Linear Multicast Network Coding (No Security) Given: Network , source , sinks . min-cut value = . Goal: get message

(6)

Linear Multicast Network Coding (No Security) Given: Network , source , sinks . min-cut value = . Goal: get message

to every sink. Network code:

Define coding vectors

for each edge.

Edge carries symbol

(7)

Linear Multicast Network Coding (No Security) Given: Network , source , sinks . min-cut value = . Goal: get message

to every sink. Network code:

Define coding vectors

for each edge.

Edge carries symbol

. Feasibility of transmission: (i) Every spanned by (or ).

(8)

Linear Multicast Network Coding (No Security) Given: Network , source , sinks . min-cut value = . Goal: get message

to every sink. Network code:

Define coding vectors

for each edge.

Edge carries symbol

. Feasibility of transmission: (i) Every spanned by (or ). Recoverability at sinks:

(ii) For all

, the vectors span .

(9)

Wire-Tap Model, Randomness at the Source Adversary has access to any set of

edges, knows symbol transmitted along edge,

knows network code, topology,

(10)

Wire-Tap Model, Randomness at the Source Adversary has access to any set of

edges, knows symbol transmitted along edge,

knows network code, topology,

has unlimited computational power.

Source allowed to generate random symbols ( ).

(11)

Wire-Tap Model, Randomness at the Source Adversary has access to any set of

edges, knows symbol transmitted along edge,

knows network code, topology,

has unlimited computational power.

Source allowed to generate random symbols ( ).

(Jain [04]: random bits at intermediate nodes) Task: design function

at source, coding vectors on edges s.t.:

Coding vectors satisfy feasibility,

Information

recoverable at each sink,

Information

(12)

Wire-Tap Model, Randomness at the Source Adversary has access to any set of

edges, knows symbol transmitted along edge,

knows network code, topology,

has unlimited computational power.

Source allowed to generate random symbols ( ).

(Jain [04]: random bits at intermediate nodes) Task: design function

at source, coding vectors on edges s.t.:

Coding vectors satisfy feasibility,

Information

recoverable at each sink,

Information

secure against adversary.

(13)

Security, Rate and Bandwidth

We study possible trade-offs between security, rate and bandwidth: Security = = # edges tapped . Rate =

= # information symbols multicast.

Edge Bandwidth =

, where symbols in

(14)

Security, Rate and Bandwidth

We study possible trade-offs between security, rate and bandwidth: Security = = # edges tapped . Rate =

= # information symbols multicast.

Edge Bandwidth = , where symbols in . Easy to show: .

(15)

Security, Rate and Bandwidth

We study possible trade-offs between security, rate and bandwidth: Security = = # edges tapped . Rate =

= # information symbols multicast.

Edge Bandwidth = , where symbols in . Easy to show: . Cai and Yeung [02]: If

, can send symbols securely. Construction time .

(16)

Our Results

If you give up a little capacity, bandwidth requirement reduced significantly:

Thm: For any , if , can send symbols securely.

Algorithm: poly-time, secure w.h.p.

If , only need .

(17)

Our Results

If you give up a little capacity, bandwidth requirement reduced significantly:

Thm: For any , if , can send symbols securely.

Algorithm: poly-time, secure w.h.p.

If , only need .

If you do not give up capacity, then bandwidth might have to be large:

Thm: If

, then there are examples where all solutions (using this method) must have .

(18)

Relation w/ Cai & Yeung

Core Lemma of Cai and Yeung: If one can

construct a matrix with certain independence

properties relative to the coding vectors, then the network code can be altered to achieve security.

(19)

Relation w/ Cai & Yeung

Core Lemma of Cai and Yeung: If one can

construct a matrix with certain independence

properties relative to the coding vectors, then the network code can be altered to achieve security. Our extensions:

Independence properties are also necessary.

Using orthogonal space, re-cast as coding theory problem.

Give up some capacity to make coding problem solvable.

Use necessary direction, covering radius, to prove negative result.

(20)

Making a Given Network Code Secure [CY02] Given a linear solution

to a network coding problem, can we use it securely?

(21)

Making a Given Network Code Secure [CY02] Given a linear solution

to a network coding problem, can we use it securely?

Set , with info , random .

(22)

Making a Given Network Code Secure [CY02] Given a linear solution

to a network coding problem, can we use it securely?

Set , with info , random . Send message

(23)

Making a Given Network Code Secure [CY02] Given a linear solution

to a network coding problem, can we use it securely?

Set , with info , random . Send message

normally using network code. Security condition: If adversary looks at any edges, can learn nothing about

. (More formally, for all sets

with , If is a random vector in

, the random variable

is independent of .)

(24)

Making a Given Network Code Secure [CY02] Given a linear solution

to a network coding problem, can we use it securely?

Set , with info , random . Send message

normally using network code. Security condition: If adversary looks at any edges, can learn nothing about

. (More formally, for all sets

with , If is a random vector in

, the random variable

is independent of .)

Recoverability, feasibility follow immediately (as long as

can be determined from

).

(25)

Making a Given Network Code Secure [CY02] Given a linear solution

to a network coding problem, can we use it securely?

Set , with info , random . Send message

normally using network code. Security condition: If adversary looks at any edges, can learn nothing about

. (More formally, for all sets

with , If is a random vector in

, the random variable

is independent of .)

Recoverability, feasibility follow immediately (as long as

can be determined from

).

(26)

Secret Sharing (Shamir)

...

Secret

Dealer has “secret”. Distribute shares s.t. Given any

shares, can recover secret.

Given any

shares, learn nothing. Computational/info-theoretic security

(27)

Connection to Secret Sharing

Simple case: single source/sink,

parallel edges, adversary has any set of

edges.

...

s

t

Modest goal

: send one symbol

(28)

Connection to Secret Sharing Suppose = .

is the “dealer” in secret sharing.

Encoding: Choose at random. Let Set message .

(29)

Connection to Secret Sharing Suppose = .

is the “dealer” in secret sharing.

Encoding: Choose at random. Let Set message .

(Encode (x,r) using a Reed-Solomon code.)

Decoding: Knowing all reveals (interpolation). Knowing or fewer

’s tells you nothing.

Works for any

(30)

Filtered Secret Sharing

“Classical” secret sharing: adversary has

(31)

Filtered Secret Sharing

“Classical” secret sharing: adversary has

shares. “Filtered” secret sharing:

“Menu” of lin. combos of all

shares

Adversary chooses

(32)

Filtered Secret Sharing

“Classical” secret sharing: adversary has

shares. “Filtered” secret sharing:

“Menu” of lin. combos of all

shares

Adversary chooses

items from the menu Secret is

(33)

Filtered Secret Sharing

“Classical” secret sharing: adversary has

shares. “Filtered” secret sharing:

“Menu” of lin. combos of all

shares

Adversary chooses

items from the menu Secret is

Given:

-by- full-rank “filter” matrix

over . Find: Function such that: For all -by- submatrices of , over random , we have indep. of ( ).

(34)

Filtered Secret Sharing

Given:

-by- full-rank “filter” matrix

over . Find: Function such that: For all -by- submatrices of , over random , we have indep. of . Classical: special case

, , .

For network coding:

, is

matrix of coding vectors.

(35)

Design of Linear Error-Correcting Codes

Code

= linear subspace generated by the rows of -by- matrix . Distance( ) = . Goal in coding theory:

For given rate

, find code with large distance.

(36)

Design of Linear Error-Correcting Codes

Code

= linear subspace generated by the rows of -by- matrix . Distance( ) = . Goal in coding theory:

For given rate

, find code with large distance.

——————————————-Generalization:

Designed code must be far from

, and some other given points.

(37)

Generalized Coding Problem For generators , , define: Note: Asymmetric Note: min-dist( )

(38)

Generalized Coding Problem For generators , , define: Note: Asymmetric Note: min-dist( )

“Span Distance Problem” (over field

):

Given an

-by- matrix , find a

-by-matrix where .

(39)

Generalized Coding Problem For generators , , define: Note: Asymmetric Note: min-dist( )

“Span Distance Problem” (over field

):

Given an

-by- matrix , find a

-by-matrix where .

Goal: Design code

with distance

to every codeword in .

(40)

Filtered Secret sharing

Span Distance

Filtered secret sharing (linear ) is a special case of the span distance problem:

(linear) f.s.s. solution with

(for all )

solution to the span distance problem with

, ( generates null space of ) , Required distance = . Parameter

for network coding application:

(41)

Positive result

Given any , choose

(42)

Positive result

Given any , choose

randomly.

Analysis like random lin. codes on G-V bound:

Each vector in has Vol

prob. of having dist.

from .

Union bound over

codewords : Random has w/ prob. Vol Vol

(43)

Positive result

Given any , choose

randomly.

Analysis like random lin. codes on G-V bound:

Each vector in has Vol

prob. of having dist.

from .

Union bound over

codewords : Random has w/ prob. Vol Vol In general, Pr if . For , need only .

(44)

Negative Result: Using the Covering Radius Covering radius( ) = .

(45)

Negative Result: Using the Covering Radius Covering radius( ) = .

If has covering radius

no

(let alone subspace

) has dist

(46)

Negative Result: Using the Covering Radius Covering radius( ) = .

If has covering radius

no

(let alone subspace

) has dist

from . Setting

, using result of [Cohen, Frankl 85]:

Thm: s.t. ( Vol ) and ( Vol ), s.t. where .

(47)

Negative Result: Using the Covering Radius Covering radius( ) = .

If has covering radius

no

(let alone subspace

) has dist

from . Setting

, using result of [Cohen, Frankl 85]:

Thm: s.t. ( Vol ) and ( Vol ), s.t. where . reasonable settings of , where s.t. if

exists. (Contrast to C/Y upper bound

(48)

Conclusions

Given a fixed linear network code, the problem of making it secure (using linear filtered secret

sharing) is a generalized [classical] code design problem.

To achieve security: trade-off between rate

and required link bandwidth

.

Sacrificing small amount of capacity allows large savings in required bandwidth.

Secret sharing can be extended from [adversary gets

shares] ,to [adversary gets

linear combinations

(from a given set) of all

(49)

Future Work

Better upper/lower bounds (

, or in general). Consider (network topology, code design, security, robustness) simultaneously.

Allow more power at nodes [Jain: random bits]. Relax notion of security [Jain: computationally bounded adversary].

Different adversaries, non-linear network codes, non-multicast?

References

Related documents

In this paper, a (k, n) visual secret sharing scheme using Boolean and shift operations that provides high security to the secret image is designed. An algorithm is proposed to

This is due to the fact that the construction of linear secret sharing schemes for a given access structure by using decomposition methods provides upper bounds on λ (Γ), and the

A secret-sharing scheme secure against a general passive adversary is said to be error decodable if it is still possible to recover the correct secret from the set of all shares even

In this section, we present our efficient and information- theoretical secure verifiable secret sharing scheme from bilinear groups.. Then we analyze the security of the newly

Many of the traditional linear secret sharing schemes are a type of secret sharing schemes where the secret to be shared is an element of a finite field F , and each share is

In fact, we show distributed secure systems using threshold secret sharing can be adjusted automatically based on the resource availability of the cloud providers.. Accordingly,

Blakely developed a different secret sharing scheme where the shares are hyperplanes and the secret is their unique intersection point (via linear algebra).. (Safeguarding

In this paper, under certain conditions, we solved the cov- ering problem for three classes of linear codes and determined the access structure of the secret sharing schemes based