toward secure and dependable storage services in cloud computing

Upload: ajit2k5

Post on 31-Oct-2015

81 views

Category:

Documents


0 download

TRANSCRIPT

  • Toward Secure and Dependable Storage Services in Cloud ComputingSource:IEEE Transactions on Services Computing, Vol. 5, No. 2, pp. 220-232, April-June 2012Author: Cong Wang, Qian Wang, Kui Ren, Ning Cao and Wenjing LouSpeaker:Ting-Fang ChengDate: 2012/07/12

  • *IntroductionWithout the burden of local hardware managementCorrectness and availability of data in clouds?Internal attacksExternal attacks

    Single serverUseful for QoS testingData availability?Multiple serversDistributed Dynamic data?

  • *Architecture Not possess their data locallyStore/access dataPerform update/delete/insert/append operationsData auditingAuditing delegationPublic auditing

  • *Preliminary (m, k) Reed-Solomon coding in GF(2p)Using m data vectors to create k redundancy parity vectorsReconstructing original m data vectors from any n = m+k data and parity vectors(mn) Vandermonde matrixAny m out of n columns form an invertible matrix

  • *Notations F: the data file to be stored, where F = (F1, F2, , Fm), Fa = (f1a, f2a, , fla)T for a = [1, m], and fbas in GF(2p)A: the dispersal matrix derived from an m(m+k) Vandermonde matrix and used for (m, k) Reed-Solomon codingG: the encoded file matrix, where G = F.Afkey(.): a pseudorandom function (PRF), where f: {0,1}* key GF(2p)key(.): a pseudorandom permutation, where : key ver: a version number for individual blocks (initially is 0)sij: the seed for PRF which depends on the file name, block index i, the server position j, and the block version ver (optional)

  • *NoProposed scheme 1 flowchartStore/access dataPerform update/delete/insert/append operationsData auditingFile distributionChallenge token precomputationCorrectness verificationError localizationFile retrievalError recoveryGFKPRPkchalvi(j)snChallenge parametersRi(j)sYesF
  • *Proposed scheme 1 file distributionPick an m(m+k) Vandermonde matrix V, where xcs are randomly picked from GF(2p)

    Make a sequence of elementary row transformations on V for deriving the dispersal matrix ASecret parity generation matrix

  • *Proposed scheme 1 file distributionEncode F to derive the encoded file G, where G(j) = (g1(j), g2(j), , gl(j))T for j = [1, n]

    Blind parity blocks gi(j)s in by computingfor i = [1, l], where kj is the secret key for G(j)

    Disperse all n encoded vectors G(j)s across n cloud servers

  • *Proposed scheme 1 challenge token precomputationSuppose a user wants to challenge the cloud server t timesChoose the number t of tokensChoose the number r of indices per verificationGenerate master key KPRP = (i = [1, t]) and challenge key kchalFor j = [1, n] dofor round i = [1, t] doa. derive b. compute Store all the vi(j)s locally

  • *Proposed scheme 1 correctness verificationFor the ith chanllenge-response across over the n serversnChallenge parameters Compute Unblind (for j = [m+1, n]) Verify

  • *Proposed scheme 1 error localizationFor the ith chanllenge-response across over the n serversIf the verification failFor j = [1, n] doif (Ri(j) != vi(j)) thenreturn server j is misbehaving

  • *Proposed scheme 1 file retrievalnIf the first m servers are behavingRetrieve F directly from the first m servers

    If the data corruption is detected and the number of identified misbehaving servers is less than kRetrieve F using erasure decoding

  • *Proposed scheme 1 error recoverynMake error recoverya. Download r rows of blocks from behaving serversb. Regenerate the correct blocks by erasure correctionc. Redistribute the newly recovered blocks to corresponding misbehaving servers

  • *NoProposed scheme 2 flowchartStore/access dataPerform update/delete/insert/append operationsData auditingFile distributionChallenge token precomputationCorrectness verificationError localizationFile retrievalError recoveryGFKPRPkchalvi(j)snChallenge parametersRi(j)sYesF
  • *Proposed scheme 2 file distributionEncode F to derive the encoded file G, where G(j) = (g1(j), g2(j), , gl(j))T for j = [1, n]

    Blind data blocks gi(j)s in by computingfor i = [1, l], where kj is the secret key for G(j)

    Generate new k parity vectors via PDisperse all n encoded vectors G(j)s across n cloud servers

  • *Dynamic data operationUpdate Modify current fba to a new one, (fba+fba)Delete Modify current fba to a new one, (fba+(-fba))Append Concatenate corresponding rows at the bottom of the matrix

  • *Analyses detection probability against data modificationp = 16, nc = 10, k = 5; nc is the number of misbehaving serversz is the number of rows modified by the adversary

  • *Performance analyses (1/2)Performance comparison between two different parameter settings for 1GB file distribution preparation.(m, k) Reed-Solomon coding

  • *Performance analyses (2/2)Storage and computation cost of token precomputation for 1GB data file under different system settings

  • *Conclusions

    Storage correctnessFast localization of data errorDynamic data supportDependabilityLightweight

    *