• Aucun résultat trouvé

A New Secure Distributed Storage Scheme for Cloud -

N/A
N/A
Protected

Academic year: 2022

Partager "A New Secure Distributed Storage Scheme for Cloud -"

Copied!
52
0
0

Texte intégral

(1)

A New Secure Distributed Storage Scheme for Cloud -

Mathematical Designs and Implementation

Cheong, Hou Teng and Tan, Chih Wei Pui Ching Middle School, Macau

Supervisor: Mr. Wong, Chan Lam

Abstract

In this report, we have mainly developed an abstract framework of k bit (t,n) secret sharing framework for cloud storage. Such framework is clean and it can be implemented. A successful implementation of the framework would provide users with protection when the system is under the attack on its confidentiality, integrity and reliability. Furthermore, such system has its own encryption by using permutations and tailor made error detection, location and data rescue.

We make use of Lagrange polynomials and take the advantages of the algebraic property “t distinct points on the plane can uniquely determine a polynomial function of degree t-1” to design a k bit (t,n) -secret sharing distributed storage. We employ the set with unique factorization property (UFP) so that we simply need to calculate the y intercept of a Lagrange polynomial and then use a look up table to recover a secret.

Moreover, the set which has minimum UFP would help us to design storage with smallest containers.

In addition to the algebraic methods, we can utilize the geometric facts that three non collinear points determine a unique circle and four non coplanar points determine a unique sphere to construct k bit (3,n) and k bit (4,n) secret sharing storage respectively. To generalize to arbitrary case, it is straight forward if we have defined the Haar measure on the higher dimensional unit sphere.

The last method is an application of Chinese Remainder Theorem (CRT) and we have designed k bit (t,n) secret sharing distributed storage and one of the designs can produce containers with the half size of the original secret. However, such k is no longer unrestricted and it has to be chosen from an interval.

We have developed a C program for implementing both algebraic, geometric k bit (3,n) secret sharing distributed storages as well as the CRT method. The performances of both algebraic and geometric designs are satisfactory in term of processing time and compressed container size. The container size is even half of the size of the original secret in the CRT case and it is also very speedy.

1. Introduction

The world keeps evolving, so as our life. Alvin Toffler, an America futurist, described in his famous book The Third Wave [1], that human progress could be divided into three

‘waves’: The Agricultural Revolution constitutes the First wave; the Industrial

Revolution, the Second Wave and the Third Wave, which is a different world we have just entered, comprises the Information Age based on the revolution brought by

Computer Technology. To review from the past, IBM developed the mainframe computer

(2)

in the follow serve accor Wave becom from cloud Acco and E addre and F expec

In spi cloud can s servic 2013 conce

e 60s of the 2 wed immedi ers and users rding to diffe e society wh me increasin performing d computing ording to SM Edge Strateg essed by paid File/Storage

cted to be in

Figure

ite of the rap ds. A survey ee that up to ce which is t (Ref. Figure ern but also

20th century;

iately by info exist everyw erent enquire hich represen ngly importa

calculation require muc ME (Small an gies in 2011 ( d cloud serv

and back up creased alm

e 1. SME cloud

pid growth o by HKPC (H o 50 % of the

the major co e 3) [4], secu

draws more

; personal co ormation exp where in our es. Now, in t nted as the C ant owing to and providin ch lesser cos nd medium e (Ref. Figure ice in three y p. Especially

ost double in

d adoption stud

of demands o Hong Kong e samples sh oncern in the urity not onl user attentio

omputer (PC plosion brou r world, perf the early 21s Cloud Compu the continuo ng storage at st compared enterprises) c

1 ) [2], it in years are acc , and File/St n 2014.

dy by Microsof

of cloud serv Productivity how their con e survey. Als

y occupies t on on the ma

C) become po ught by inter

form various

st century, w uting Era. Cl ous economi t supercomp to the superc cloud adopti ndicated that counting & p torage and b

ft and Edge Str

vice, people y Council) (R ncerns about so, from an I the position o atter.

opular in the rnet. Nowada s calculation we are living loud comput ic developm puter-level at computers.

on study by t top three w payroll, coll

ack up work

rategies in 201

still hesitate Ref. Figure 2 t the security InformationW

of the top cl

e 90s which ays, network n tasks

in the Third ting has ment. Apart

t any time, Microsoft workloads

aboration kload is

11

e to use 2) [3], we y of cloud Week survey loud storage k d

y

(3)

Curre docum when of the give a serve sold o of pe

Fig

ently, there a ments easily n we upload

e file but als an opportun er to steal all or distribute ople and inn

Figure 2.

gure 3. Survey

are many clo y online. How

a file to clou o right to rea ity to malici kinds of do d illegally as nocent victim

. Survey by HK

by Infromation

oud storage p wever, we ar ud storage, th

ad, duplicate ious attacker

cuments. Su s well as imm ms themselve

KPC on Not Us

nWeek on Clou

providers tha re lack of co he service pr e and even tr rs. Besides, a uch personal morally. It h es.

sing Cloud in 2

ud Storage Con

at let users s ontrol of our rovider has n ransfer the fi attackers wil information hurts benefits

2012

ncern in 2013

hare and sto r documents.

not only the file to anywh ll attack clou n or documen

s of compan ore

. For exampl total detail here. It will

ud storage nts might be nies, privacy

le,

e

(4)

Usua nodes -The -The -The In thi which woul quite we w proce 4)

Besid detec

ally the cloud s. Such distr

attack on co attack on in attack on re is report, we h can ensure d like to sav different fro want to restor

essed a recov

des, we will ction, locatio

d storage pro ributed stora onfidentiality

tegrity modi liability mak will propos e its confiden ve a file. Wha om the origin re the file, w very program

Fi

be expected on and correc

ovider will st ge will be un y reveals sto

ifies data in kes storage s e a ( , )t n sec ntiality, integ at we will do nal file. The we need to ha m. The outpu

igure 4. The id

d to have mor ction.

tore files ove nder three m

red server co victim stora server unava cret sharing grity as well o is creating

se container ave at least t ut of the prog

dea of the propo

re features su

er networks major kinds o ontents to at age servers w

ailable to leg secure distri l as reliabilit g n files call rs will be sto t containers.

gram is the o

osed system

uch as unaut

in more than of attacks. [5

ttackers;

without being gitimate user

ibuted storag ty. Basically led container ore in distinc These conta original file.

thorized mo

n one storag 5]

g noticed;

rs.

ge system y, suppose we

rs which are ct storages. I

ainers will b (ref. Figure

dification ge

e f be

e

(5)

Reference

1. Toffler, A. “The third wave.” Bantam Books, 1989.

2. http://www.microsoft.com , http://www.edgestrategies.com/

3. HKPC, “Cloud guide book for HK SME”, 《香港中小企业云端方案应指南》

ISBN 9789881-200617, HKPC, 2012.

4. http://reports.informationweek.com/abstract/24/9898/Storage

5. Lan, T., Lee, R.B., Chiang, M. Reliable and Secure Distributed Storage of Critical Information, Princeton University Department of Electrical Engineering Technical Report CE-L2008-017, 2008.

(6)

2. Literature Revision of (t,n)-Secret Sharing

Secret sharing [1] is currently a very popular topic which is a method of distributing a secret, among a group of users, requiring a cooperative effort to determine the secret.

Secret sharing schemes are designed with specific parameters that determine the number of shares needed to uncover the secret, and the overall number of shares in the scheme.

The ultimate goal of the scheme is to divide the secret being hidden into n shares, but any subset of t shares can be used together to solve for the value of the secret.

Additionally, any subset of t−1 shares will prevent the secret from being reconstructed [2]. This is defined as a ( , )t n threshold scheme, meaning that the secret is dispersed into

n overall pieces, with any t pieces being able to recreate the original secret. We are interested in (3, )n -threshold scheme in this research.

As in [3], we would like to consider the following problem:

4 scientists are working on a secret project. They wish to lock up the documents in a cabinet so that the cabinet can be opened if and only if 3 or more of the scientists are present. What is the smallest number of locks needed? What is the smallest number of keys to the locks each scientist must carry?

It is not hard to show that the minimal solution for this (3, 4) problem uses 4 locks and 2 keys per scientist. However, if we increase the number of scientist to 11 and at least 6 of the scientists have to present in order to open the cabinet. We can show that the minimal solution 462 locks and 252 keys per scientist. It is clearly not practical. Moreover, the numbers will increase exponentially as the number of scientist increases. Therefore, other schemes which are more innovative have been proposed.

2.1 Shamir's Scheme

In the Shamir’s scheme [3], [4], any t out of n shares may be used to recover the secret.

The method is based on the fact that you can fit a unique polynomial of degree (t−1) to any set of t points that lie on the polynomial. The method is to create a polynomial of degree t−1 with the secret as the first coefficient and the remaining coefficients picked at random. Next find n points on the curve of the polynomial and give one to each of the shares. When at least t out of the n shares reveal their points, there is sufficient

information to fit a (t−1) th degree polynomial to them, the first coefficient being the secret.

(7)

Example 2.1.1 (A (3,6)-Shamir’s scheme)

Suppose that our secret S =1234. We obtain 2 numbers 166 and 94 randomly. Define a quadratic function

2 2

( ) 166 94 1234 166 94 .

f x = +S x+ x = + x+ x We construct 6 points form f as below:

(1,1494), (2,1942), (3, 2578), (4,3402), (5, 4414), (6,5614).

In order to reconstruct the secret S, any three of the above points will be enough. Let us consider ( , ) (2,1942), ( , ) (4,3402)x y0 0 = x y1 1 = and ( , ) (5, 4414).x y2 2 = We will compute Lagrange basis polynomials:

1 1 2

0

0 1 0 1

0 2 2

1

1 0 1 2

0 1 2

2

2 0 2 1

1 3 10

6 2 3

1 7

2 2 5 .

1 8

3 2 3

x x x x

L x x

x x x x x x x x

L x x

x x x x x x x x

L x x

x x x x

− −

= = − +

− −

− − −

= = + −

− −

− −

= = − +

− −

Therefore, 2 2

0

( ) j j( ) 1234 166 94

j

f x y L x x x

=

=

= + + . HenceS= f(0).

2.2 Blakley's Scheme

Blakley's secret sharing scheme [5] is geometric in nature. For a ( , )t n secret sharing, we use the fact that any t nonparallel (t−1)-dimensional hyperplanes intersect at a specific point. So suppose the secret S is a point in the t dimensional space. Just create n

nonparallel (t−1)-dimensional hyperplanes as keys. Then any t of them will uniquely determine a point which is the secret point.

Example 2.2.1 (A (2,6) Blakley's secret sharing scheme)

Let S=(0,0). We can create a (2,6) Blakley's secret sharing. Make 6 keys for each share as below:

1 , 2 2 , 3 3 , 4 4 , 5 5 , 6 6

K =x K = x K = x K = x K = x K = x

(8)

For any Ki and Kj, we are able to solve the intercept point out which is the secret point (0, 0).

2.3 Using the Chinese Remainder Theorem

We would like to only illustrate the idea by an example. It is based on the Asmuth- Bloom's Scheme [6]. Let t=3 and n=4. Let m0 =3,m1=11,m2 =13,m3 =17 and

4 19

m = . Let the secret S =2 . Pick α =51 according to Asmuth-Bloom's Scheme. Then 2 51 3 155+ × = . Assign

(

mi,155(modmi)

)

to the i th share for i=1, 2,3, 4. To recover the secret, we have one possible 3 of the shares for example, (11,1), (13,12) and (17, 2). Then apply to solve the system of equations

( )

( )

( )

1 mod11

12 mod13

2 mod17

x x x

=

=

=

.

[i.e. Consider the solutions of the following systems of equations

( )

( )

( )

( )

( )

( )

( )

( )

( )

1 mod11 0 mod11 0 mod11

0 mod13 , 1 mod13 , 0 mod13

0 mod17 0 mod17 1 mod17

x x x

x x x

x x x

= = =

= = =

= = =

which are 221, 1496 and 715 respectively]. So the solution is

1 221 12 1496 2 715 19603× + × + × = and 19603 155(mod11 13 17)= × × . Finally, 2 155(mod 3)

S = = .

It is worthy to note that the above method normally cannot be applied directly to practical problems. Further development, modification and design are needed to be made so that a real world problem can be solved.

Reference

1. Martin, R., Introduction to secret sharing, [Online]. Available:

http://www.cs.rit.edu/~rfm6038/Paper.pdf

2. Stinson, D. R. , “Cryptography: Theory and Practice”, 2nd ed. CRC Press, 2006.

(9)

3. Shamir, Adi , "How to share a secret", Communications of the ACM 22 (11):

612–613, 1979

4. Wikipedia: Shamir's Secret Sharing

5. Blakley, G. R. , "Safeguarding cryptographic keys". Proceedings of the National Computer Conference 48: 313–317. 1979

6. Wikipedia: Secret sharing using the Chinese remainder theorem

(10)

3. Framework of k bit t Secret Sharing Distributed Storage

In this Chapter, we will introduce the various notions related to proposed framework.

Besides, we will give simplified examples in order to illustrate the ideas. The algorithms of generating containers and recovering the original secret are also given. A tailor made encryption for container is given by the end of the chapter.

3.1 Secret Shareable Pairs

Let k be the set of all binary strings with length k, i.e.

{1 2 : 0 or 1, 1, 2, , }

k = ε ε ε εk i = i= k

Definition 3.1.1: Let t≥3 be an integer and letΛ be a family of subsets of d such that if

a) C C1, 2∈Λ and C1C2t, then C1=C2; b) t is the smallest integer which has property a).

c) Let p p1, , ,2 ptC and C∈Λ. There is a method Ψ (or an algorithm) enable us to obtain C from the given t points.

Then Λ is t-secret shareable.

Notation: We would like to denote the set of all the graphs of polynomials of degree t−1 by Λt. Hence, Λ3 is the set of all the graphs of quadratic functions.

Example 3.1.2: Recall that a classical algebra result, two quadratic functions agree with each other at three distinct points if and only if they are equal. Then Λ3 has properties a) and b) in the definition 3.1.1. Assume that ( , )x y1 1 , ( , )x y2 2 and ( , )x y3 3 . Let

2 3 1 3 1 2

1 2 3

1 2 1 3 2 1 2 3 3 1 3 2

( )( ) ( )( ) ( )( )

( ) ( )( ) ( )( ) ( )( )

x x x x x x x x x x x x

L x y y y

x x x x x x x x x x x x

− − − − − −

= + +

− − − − − − .

Then L x( )1 =y L x1, ( )2 = y2 and L x( )3 = y3. Hence, ( , )x y1 1 , ( , )x y2 2 and ( , )x y3 3 belong to the graph of L x( ) and Λ3 is 3-secret shareable.

Let :Φ k → Λ be an one to one onto function from k to Λ. Then it is called an encoding function and the ordered pair ( , )Λ Φ is called a k bit t-secret shareable pair.

(11)

Exam funct We w Exam theor figure

Henc

wher

Then

mple 3.1.3: F tion (x+2 )ε1 would like to mple 3.1.4: L rem, three po

e.

ce, Λ3 is 3 s

e Cxy is a ci

n ( , )Λ Φ3 is a

For any ε ε1 2∈ )(x+3 )ε2 . Th o give anothe Let Λ3 be the oints which a

Figure 5: Th

secret sharea

rcle such tha

Figure 6: Th

a 2 bit 3 se

2, we def hen (Λ Φ3, Λ3 er example o e set of all ci are not collin

hree non-collin able. Now w Φ Φ Φ Φ at its center i

he function Φ m ecret shareab

fine

3(1 2

ΦΛ ε ε ) is a 2 bit of secret shar ircles in 2 near determi

ear points dete e define a fu

( ) ( ) ( ) ( )

00 01 10 11

00 01 10 11

C C C C

=

=

=

Φ =

is (x,y) and i

maps two bits ble pair as we

2) to be the g 3 secret sha reable pair.

. Then by th ine a unique

ermine a uniqu unction Φ fr

its radius is

ε1 ε2 to a circle ell.

graph of the areable pair.

he elementar circle as in

ue circle.

rom 2 to Λ

1/ 3 . (Ref. F

e C ε1 ε2.

quadratic .

ry Geometry the below

Λ3 by

Figure 6) y

(12)

3.2 k bit (t,n) Secret Sharing Distributed Storage framework

Assume that the ordered pair ( , )Λ Φ is a k bit t-secret shareable pair and nt is an integer.

Definition 3.2.1: Let π π1, , ,2 πn be a sequence of functions from Λ to d such that for , ' 1, 2, ,j j = n and C∈Λ,

1. πj( )CC;

2. πj( )Cj'( )C if and only if j= j'.

Then π π1, , ,2 πn is said to be a sequence of choice functions of Λ.

Example 3.2.2: Consider ΛkandC∈Λ such that C is a graph of a polynomial ( )P x . We define

( ) ( , ( ))

j C j P j

π =

for 1, 2, ,j= n.

Let =Mk for some positive integer M . Then we call s is a secret if s=ε ε1 2 ε ∈ . Therefore, s can also be written as

1 2 M

s=s s s where si( 1)i k+1 ( 1)εi k+2 εik and i=1, 2, ,M. Note that it is sometime useful if we index si as below

1 2

i i i

k

si =ε ε ε . and so

1 21 1 1 2 21

2 2 1 1

2 M 2 .

i i i

k k

M M

k k

s=ε ε ε ε ε ε ε ε ε ε ε ε

3.2.1 Creating Containers from a Secret

Given a secret s=s s1 2 sM ∈ , a container array [ ]s is an M by n array of points in

d such that

(13)

[ ]s ijj( ( ))Φ si

for 1, 2, ,i= M and j=1, 2, ,n. The jth container [ ]s j of the secret s is the j column of the container array [ ]s where j=1, 2, ,n.

Example 3.2.3: if s=100111, then s1=10,s2 =01,s3 =11. Then

( ( ) ) ( ( ) ) ( ) ( ( ) ) ( ( ) ) ( ) ( ( ) ) ( ( ) ) ( )

1 2 3

10 ,( 2)( 1)

01 ,( 1)( 3)

11 ,( 2)( 3)

j j

j j

j j

s j j j

s j j j

s j j j

π π

π π

π π

Φ = Φ = − −

Φ = Φ = − −

Φ = Φ = − −

where j=1, 2,3. So the container array of the secret s is

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

1,0 2,0 3, 2 4,6 5,12

[ ] 1,0 2,3 3,0 4,3 5,8

1, 2 2,0 3,0 4, 2 5,6

s

⎡ ⎤

⎢ ⎥

= ⎢ ⎥

⎢ ⎥

⎣ ⎦.

Finally, we can obtain 5 containers

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

1 2 3 4 5

1,0 2,0 3, 2 4,6 5,12

[ ] 1,0 ,[ ] 2,3 ,[ ] 3,0 ,[ ] 4,3 ,[ ] 5,8

1, 2 2,0 3,0 4, 2 5,6

s s s s s

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

=⎢ ⎥ =⎢ ⎥ =⎢ ⎥ =⎢ ⎥ =⎢ ⎥

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦.

Remark: The size of containers depends on the parameter k. However, it is not always the case that the bigger k, the smaller the size of containers would be theatrically.

3.2.2 Recover the Secret from t Containers

To recover the secret s=ε ε1 2 ε =s s1 2 sM, we have to have at least t distinct containers. By the property c) of definition 3.3.1, without loss of generality, we can assume that they are [ ] ,[ ] , ,[ ]s1 s 2 s t. First of all, we form the M by t collector array

[ ]

s12 t =

[

[ ] ,[ ] ,s1 s 2 ,[ ]s t

]

=[ ]pij .

The ith row of the collector array consists of t distinct points p p1i, 2i, ,pti of ( )Φ si . By the properties a) and c) of Definition 3.1.1, we have

(14)

1 2

( )si ( ,p pi i, , )pti Φ = Ψ

and

1

1 2

( , , , )

(

i i i

)

i t

s = Φ Ψ p p p for 1, 2, ,i= M.

Finally, we recover the secret

1 2

1 1 1 1 1 2 2 2 1

1 2 1 2 1 2

( ( , , , )) ( ( , , , )) ( ( , , , )).

M

n n n

t t t

s s s s

p p p p p p p p p

=

=Φ Ψ Φ Ψ Φ Ψ

Moreover, from property b) of Definition 3.1.1, the number of distinct containers needed to recover the secret s should be at least t.

3.2.3 Algorithms of k bit (t,n) Secret Sharing Distributed Storage

Assume a ( , )Λ Φ is a k bit t-secret shareable pair, nt is an integer and π π1, , ,2 πn is a sequence of choice functions of Λ.

Algorithm for Distributed Storage

Step 1. Input a secret s=s s1 2 sM ∈ .

// =Mk//

Step 2. Form the container array [ ]s by

[ ]s ijj( ( ))Φ si where i=1, 2, ,M and j=1, 2, ,n.

Step 3. Store the ith container [ ]s i into the ith storage.

Step 4. End

Algorithm for (t,n) Secret Sharing Recovery Step 1. Get t containers [ ] ,[ ] , ,[ ]1 2

j j jt

s s s from t distinct storages Step 2 Form the collector array

[ ]

2

2

1 [ ] ,[ ] , ,[ ]1

t j j jt

j j

j s s

s = ⎣⎡ s ⎤⎦.

(15)

Step 3. For i=1, 2, ,M, recover si from the ith row of the collector array as in section 3.2.2

Step 4 Output s=s1 2s sM . Step 5 END

3.3 Permutations and encryptions

Definition 3.3.1: Let σ be an one to one onto function from {1, 2,3, , }n . Then we call the function σ a permutation. The set of all the permutations on {1, 2,3, , }n is denoted by Sn. Let id be a permutation in Snsuch that id maps every element of {1, 2,3, , }n to itself. For any σ∈Sn, we define σ0 =id and σjj1 σ .

Given a permutation σ∈Sn and M×n container array

[ ]

s of a secret s, we define σ encrypted container array [ ]s σ to be M×n array of points in d such that

[ ] [ ]

s ijσ = s iσ( )j

for 1, 2, ,i= M and j=1, 2, ,n. The i th column of [ ]sσ is said to be the ith σ encrypted container denoted by [ ]sσi .

Let 2≤ ≤m n. A permutation σ' in Sn, denoted by ( , , ,n n1 2 nm), is called a cycle if there exist n n1, , ,2 nm are distinct numbers in {1, 2,3, , }n such that

mod ( 1)

( )nr n mr

σ′ = +

for 1, 2, ,r= m and σ' maps other element to itself. The number m is the length of σ' denoted by σ' .

Example 3.3.2: Let σ' (2,5,1)= ∈S5. Then '(2) 5, '(5) 1, '(1) 2, '(3) 3σ = σ = σ = σ = and '(4) 4

σ = . The length of (2,5,1) is now equal to3.

The period of a permutation σ is the smallest positive integer T such thatσT =σ. Obviously, the period of a circle σ' ( , , ,= n n1 2 nm) is its lengthσ'=m. Since a

permutation σ can be factorized uniquely into a product of cycles, we have the period of σ is the L. C. M. of the lengths of the cycles in the product. It is also known as Ruffini

(16)

Theorem (1799) [1]. We would like to use a permutation with biggest period for encryption for highest complexity of containers.

Example 3.3.3: Consider S10. Since 10 5 3 2= + + , the pattern of permutations in S10 with maximum period 30 5 3 2= × × is (*****)(***)(**) . There are 120960 of them in total and and we list some of them below:

(0, 8, 6, 7, 2)(1, 4, 9)(3, 5), (2, 4, 7, 6, 9)(0, 8, 5)(1, 3), (0, 3, 7, 9, 2)(4, 5, 8)(1, 6) (1, 6, 9, 4, 5)(0, 2, 8)(3, 7), (0, 1, 8, 9, 4)(2, 5, 6)(3, 7), (0, 2, 8, 4, 9)(1, 6, 5)(3, 7) (0, 8, 9, 5, 4)(1, 6, 7)(2, 3), (0, 2, 7, 8, 9)(1, 4, 3)(5, 6), (0, 9, 5, 4, 7)(1, 8, 3)(2, 6) (0, 2, 9, 5, 3)(1, 8, 4)(6, 7).

Example 3.3.4: Let

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

1,0 2,0 3, 2 4,6 5,12

[ ] 1,0 2,3 3,0 4,3 5,8

1, 2 2,0 3,0 4, 2 5,6

s

⎡ ⎤

⎢ ⎥

= ⎢ ⎥

⎢ ⎥

⎣ ⎦

and (1, 2,3)(4,5)σ = . Then σ2 =(1,3, 2)(5, 4) and σ3 =(4,5) . Hence,

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

3, 2 1,0 2,0 5,12 4,6

[ ] 2,3 3,0 1,0 4,3 5,8

1, 2 2,0 3,0 5,6 4, 2

s σ

⎡ ⎤

⎢ ⎥

= ⎢ ⎥

⎢ ⎥

⎣ ⎦

and the σ encrypted containers are

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( )

1 2 3 4 5

( )

3, 2 1,0 2,0 5,12 4,6

[ ] 2,3 ,[ ] 3,0 ,[ ] 1,0 ,[ ] 4,3 ,[ ] 5,8

1, 2 2,0 3,0 5,6 4, 2

sσ s σ sσ s σ s σ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

=⎢ ⎥ =⎢ ⎥ =⎢ ⎥ =⎢ ⎥ =⎢ ⎥

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

.

Assume a ( , )Λ Φ is a k bit t-secret shareable pair, nt is an integer, σ∈Sn and

1, , ,2 n

π π π is a sequence of choice functions of Λ. Algorithm for Encrypted Distributed Storage

Step 1. Input a secret s=s s1 2 sM ∈ .

// =Mk//

(17)

Step 2. Form the container array [ ]s by

[ ]s ijj( ( ))Φ si where i=1, 2, ,M and j=1, 2, ,n.

Step 3. Obtain the σ encrypted container array [ ]sσ from [ ]s . Step 4. Store the ith encrypted container [ ]s i into the ith storage.

Step 5. End

Note that the property c) of definition 3.1.1 is true regardless the order of the points

1, , ,2 t

p p p . Therefore, it is no need to modify the recovery algorithm in subsection 3.2.3 and it also works well with encrypted containers.

3.4 Features of k bit (t,n) Secret Sharing Distributed Storage

In this section, we will mention some theoretical features of the framework of k bit (t,n) Secret Sharing Distributed Storage.

Recall that in Chapter 1, we mention that distributed storages will be under three major kinds of attacks:

-The attack on confidentiality reveals stored server contents to attackers;

-The attack on integrity modifies data in victim storage servers without being noticed;

-The attack on reliability makes storage server unavailable to legitimate users.

The propose framework will provide the following protections.

a) Ensuring confidentiality

The original secret is a binary string. However, a container is a column of points in d which carries only partial information of the secret. Even attackers successfully obtain less than t containers. They are not able to extract any information of the secret.

b) Ensuring integrity

Before the discussion, we would like to mention first that practically t will not be a large number and it is very likely less than 5 and n is much larger then t. Now assume that the storage system is under attack and the content of container is modified without notification and authorization. We are able to detect such modification and correct it

(18)

when a defected container is used for recovery. For example, we have t containers of a secret s, namely [ ]s1, [ ]s 2, , [ ]s t such that the first entry of the first container has been modified illegally. When we recover s from [ ] [ ]s1, s 2, , [ ]s t, the first row of collector array will determine an element in Λ which is not in the range of Φ. It is because the size of Λ is very much larger than the size of the range of Φ. Besides, in practice, we would like to make the elements of the range of Φ “away from each other”.

So we are able to know that the first row of [ ] [ ]s 1, s 2, , [ ]s t has been modified illegally.

To identify the location and correct the illegal modification, we need another t good containers. Check the containers one by one with t−1 good containers. Then [ ]s1 is the bad container. So we conclude that the first entry of the first container has been modified illegally. To correct this, firstly we use the first row of the t good containers to recover s1 and then by using the choice function, we can recover the bad entry on [ ]s 1(i.e. the first entry in this case.).

c) Ensuring reliability

Assume attackers have damaged a container. Administrators have no problem to restore the impaired container. First of all, we obtain t containers from non-compromised

storages. Secondly, we recover the original secret s from those containers and finally, we can utilize the secret s to generate the damaged container again. Furthermore, we should note that getting t good containers is possible since n is much larger than t. For

example, we choose n=10 and t=3 in this project. Therefore, we have 9!

6!3!=84 many of combinations of three good containers ready for recovering the damaged container.

Besides, with big n, the framework provides user with more access availability for t containers and hence the secret. Even, because of the fact that it is ( , )t n secret sharing, it still maintains the good confidentiality while the number of containers or storages

increases.

Reference

1. Gallian, J. “Contemporary Abstract Algebra.” Brooks Cole, 6 edition, 2004.

(19)

4 Algebraic Methods

Let Λt be the set of the graphs of all the polynomials of degree t−1. By the elementary algebra result [1]:

Assume that functions f and g are polynomial functions of degreet−1 and they agree with each other on t distinct points, then f =g and their coefficients are also equal.

Therefore, Λt satisfies properties a) and b) of definition of 3.1.1. To show that Λt also satisfies property c) of the definition, we need Lagrange polynomials.

4.1 Lagrange Polynomials.

Given ( , )x y1 1 , ( , ),x y2 2 ,( , )x yt t such that their x coordinates are distinct, let

1

1

( )

( )

( )

t

i i

i j

j t

j i

i i j

x x L x

x x

=

=

=

where j=1, 2,3, . So L xj( ) is a polynomial of degree t−1 such that ( ) 1

j i 0

i j

L x i j

⎧ =

= ⎨⎩ ≠

where ,i j=1, 2,3, ,t and they are called Lagrange basis functions. Hence, the Lagrange polynomial [2]

1 1 2 2 3 3

( ) ( ) ( ) ( )

L x = y L x +y L x + +y L x will pass through all the given points.

Note that the y intercept of ( )L x , (0)L , can be evaluated by

1 1(0) 2 2(0) 3 3(0)

y L +y L + +y L where

(20)

1

1 1

1 1

(0 ) ( 1)

(0)

( ) ( )

t t

t

i i

i i

i j i j

j t t

j i j i

i i

i j i j

x x

L

x x x x

= =

= =

− −

= =

− −

∏ ∏

∏ ∏

for 1, 2,3,j= .

Therefore, Λt is t secret shareable if Ψ maps ( , )x y1 1 , ( , ),x y2 2 ,( , )x yt t to the graph of the Lagrange polynomial y L x1 1( )+y L x2 2( )+ + y L x3 3( ).

4.2 Unique Factorization Property (UFP)

Let A={ ,m m1 2, ,mk} be a set of positive integers bigger than 1 and we always assume that they are in increasing order i.e. m1 <m2 < <mk. The set A (or the finite increasing sequence m m1, 2, ,mk) has unique factorization property (UFP) if for any binary strings

1 2 k

ε ε ε and ε ε1 2 εk ,

1 2 1 2

1 2 kk 1 2 kk

m mε ε mε =m mε ε mε , implies εii for all i=1, 2, ,k.

Also, the span of an UFP set A denoted by A is defined to be

1 2

1 2 1 2

{ : kk for some binary string k}

A= m m=m mε ε mε ε ε ε .

Suppose now A= ≤{1 m1m2 ≤ ≤mk ≤ }is an infinite set of integers. For any 1, 2,3,

k= , a kth segment Ak of A is defined to be the set of the first k elements of A. We call the set A has UFP if for any k=1, 2,3, , Ak has UFP. The span of A, denoted by A, is the union of the span of all the segments of A.

Example 4.2.1: The sets {2,3, }p and {2,3, 4} are of UFP where p is a prime which is larger than 3.

Lemma 4.2.2: Let k be a positive integer. For any integer 0≤ <m 2k, there is a unique binary string ε ε1 2 εk such that

1

11 22 k2k

m=ε +ε + ε .

Conversely, for any binary string ε ε1 2 εk,we have 0≤ε11+ε22+ εk2k−1<2k.

(21)

Example 4.2.3: Let p be a prime number and let k be a positive integer. Define

2 3 1

1 2 2 2 2

( ) { , , , , , k }.

Xk p = p p p p p Assume that

2 3 1 2 3 1

3 3

11 22 2 42 k2k 11 22 2 42 k2k

p pε ε pε pε pε = p pε ε pε pε pε . So

2 3 1 2 3 1

3 3

11 22 2 42 k2k 11 22 2 42 k2k

pε +ε +ε +ε + +ε = pε +ε +ε +ε + +ε .

By the Lemma 4.2.2, we have εii for all i=1, 2, ,k. So Xk( )p has UFP.

From the lemma again, the span of Xk( )p is the set { , ,p0 p p1 2, ,p2k2,p2 1k}. Therefore, X p( ) { ,= p p1 2,p22,p23, ,p2k1,p2k, }has UFP and its span is

0 1 2 3

{ , ,p p p ,p , }.

Example 4.2.4: Let X =

{ ( ) : is a prime}X p p .We arrange and index the elements of A in increasing order and

1 2 3

{ , , , } {2,3, 4,5,7,9,11,13,16,17,19, 23, }

X = m m m =

from now on.

Let Xk ={ ,m m m1 2, 3 ,mk} be the set of first k elements of X where k=1, 2,3, . We claim that Xk has UFP. Assume that Xk consist of the powers of primes p p1, , ,2 pr. Hence, Xk can be written as below:

11 21 1

2 2 2 2 2 2

1 1 1 2 2 2

{ , , , k , , , , k , , , , , kr }

k p p p p p p p pr r pr

X = .

where k1+ + + =k2 kr k. Let

1 2

1 1 2 2

1 1 1 r

r r

k k k

ε ε ε ε ε ε and

1 2

1 1 2 2

1 1 1 r

r r

k k k

ε ε ε ε ε ε

such that

1 1 1

1 1 2 2

1 1 2 2

11 22 12 11 22 22 11 22 2

1 1 1 2 2 2

k k r r r kr

k k kr

r r r

p p p p p p p p p

ε ε ε

ε ε ε ε ε ε

1 1 1

1 1 2 2

1 1 2 2

11 22 12 11 22 22 11 22 2

1 1 1 2 2 2

k k r r r kr

k k kr

r r r

p p p p p p p p p

= ε ε ε ε ε ε ε ε ε .

So

1 1 1

1 1 2 2

1 1 2 2

11 22 12 11 22 22 11 22 2

1 2

k k r r r kr

k k kr

p p pr

+ + +ε + + +ε + + +ε

ε ε ε ε ε ε

(22)

1 1 1

1 1 2 2

1 1 2 2

11 22 12 11 22 22 11 22 2

1 2

k k r r r kr

k k kr

p p pr

+ + + + + + + + +

= ε ε ε ε ε ε ε ε ε .

Since such factorization is unique and ( )

ki i

X p has UFP for all i=1, 2, ,r, we conclude that

i i

j = j

ε ε

for all ,i j and hence Xk has UFP and hence X has UFP.

Theorem 4.2.5 : Let Xk be the same as the one in above example and let m be a positive integer less than mk. Then m is in the span of Xk.

Proof: Assume that m= p p1α1 2α2 prαr. Since m<xk, we have p1α1,p2α2, ,prαr <mk and hencep p1, , ,2 prXk. For any i=1, 2,3, ,r, there is a positive integer ki such that

2ki1 2ki

i xk i

p < ≤ p . Since ( )

i i

k p k

XX and piαi < pi2ki is in its span, piαi p pi1i1 i2i2pi3i22,pi4i23 ,piiki2ki1

= ε ε ε ε ε for

some binary string 1 2

i

i i i

ε ε εk . Therefore, m is in the span of Xk.

Let k be a positive integer and let A be an UFP set with A =k. Define ΠA to be the product of all its elements. A is minimum if for any UFP set A′ with A′ =k, we have

A A′

Π ≤ Π . A is completely minimum if every segment of A has minimum UFP.

Example 4.2.6: The first eight minimum UFP sets are: X1={2}, X2 ={2,3},

3 {2,3, 4}

X = , X4 ={2,3, 4,5}, X5 ={2,3, 4,5,7}, X6 ={2,3, 4,5,7,9},

7 {2,3, 4,5,7,9,11}

X = and X8 ={2,3, 4,5,7,9,11,13}. Also, Π =X1 2, ΠX2 =6,

3 24

ΠX = and ΠX4 =120. Note that

X4 is useful in this project since it has minimum UFP and ΠX4 =120 is smaller than 127, the absolute limit of a character type variables.

We conclude the section by two interesting conjectures: For, k =1, 2,3, , Conjecture 1) Xk is the unique set which has completely minimum UFP ; Conjecture 2) Xk is the unique set which has minimum UFP.

(23)

4.3 Proposed Encoding Function ΦΛt

Recall that Λt is the set of the graphs of all the polynomials of degree t−1. For k bits

1 2 k

ε ε ε and k k1, , ,2 kt1≥1such that k1+ + +k2 kt1 =k, (1 2 )

t k

ΦΛ ε ε ε is the graph of

1 2

1 2 1 1

1 2 1 1 1 2

1 1 1 2 1 1

1 2 1 2 1 2

( k )( k k k ) ( kt kt k).

t t

k k k k k k k

x m mε ε mε x mε++mε++ mε x mε++mε++ mε Since Xk is of UFP, we have the function

Λt

Φ is one to one. Hence,

(

Λ Φt, Λt

)

is k bit t secret sharing pair.

Example 4.3.1: Let X4 ={2,3, 4,5} and k1 =k2 =2. Therefore, k=4. Let Λ3 be the set of the graphs of all the quadratic polynomials. For any 4 bits ε ε ε ε1 2 3 4, Φ maps ε ε ε ε1 2 3 4 to the graph of the quadratic polynomial (x−2 3 )(ε1 ε2 x−4 5 )ε3 ε4 . For convenience, we would like to identify the graph of Φ(ε ε ε ε1 2 3 4) with the polynomial Φ(ε ε ε ε1 2 3 4)in this case.

So the y intercepts of Φ(ε ε ε ε1 2 3 4) , Φ(ε ε ε ε1 2 3 4) 0

( )

,can be summarized in the table below:

1 2 3 4

ε ε ε ε Φ(ε ε ε ε1 2 3 4) Φ(ε ε ε ε1 2 3 4) 0

( )

ε ε ε ε1 2 3 4 Φ(ε ε ε ε1 2 3 4) Φ(ε ε ε ε1 2 3 4) 0

( )

0000 (x-2030) (x-4050) 1 0110 (x-2031) (x-4150) 12 1000 (x-2130) (x-4050) 2 0101 (x-2031) (x-4051) 15 0100 (x-2031) (x-4050) 3 0011 (x-2030) (x-4151) 20 0010 (x-2030) (x-4150) 4 1110 (x-2131) (x-4150) 24 0001 (x-2030) (x-4051) 5 1101 (x-2131) (x-4051) 30 1100 (x-2131) (x-4050) 6 1011 (x-2130) (x-4151) 40 1010 (x-2130) (x-4150) 8 0111 (x-2031) (x-4151) 60 1001 (x-2130) (x-4051) 10 1111 (x-2131) (x-4151) 120 Then ( , )Λ Φ3 is a 4 bit 3-secret sharing pair.

Remark: We would like to choose a encoding pair in order to making the size of

containers to be as small as possible. In the example 4.3.1, the size of resulted containers is double of the size of origin secret.

4.4 Choice functions of Λ and the Calculation of Φ Λt

-1(Ψ)

Let

(

Λ Φt, Λt

)

be the k bit t secret sharing pair as above and nt. For any C∈Λ such that C is a graph of a polynomial P x( ) in Λt. We define

Références

Documents relatifs

We introduce a family of DG methods for (1.1)–(1.3) based on the coupling of a DG approximation to the Vlasov equation (transport equation) with several mixed finite element methods

A procedure is defined in Milner and Ochieng (2011) with the maximum integrity risk as the worst case to calculate the ideal VPL, which can be applied to HPL as well, and referred

When the transcription rates were slowed by diluting both UTP and rNTPs, there was still a slight preference towards the WRC hotspot motifs but activity also peaked at

Other indicators to measure the impact of the communication: to the farmers, could be the diversity of planted material in the fields; to the research community would be the number

Make the six digit number N by writing your three digit number twice. Try

Using her mind power to zoom in, Maria saw that the object was actually a tennis shoe, and a little more zooming revealed that the shoe was well worn and the laces were tucked under

They showed that the problem is NP -complete in the strong sense even if each product appears in at most three shops and each shop sells exactly three products, as well as in the

- Nikos Koutsiaras, Department of Political Science and Public Administration, University of Athens [European integration, Employment and Labour Market Policy, Social