Secure erasure code based cloud storage system with secure data forwarding

5,805 views

Published on

2013 IEEE Paper ppt for Secure Erasure code based cloud storage system with secure data forwarding

Published in: Education, Technology, Business
14 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total views
5,805
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
373
Comments
14
Likes
7
Embeds 0
No embeds

No notes for slide

Secure erasure code based cloud storage system with secure data forwarding

  1. 1. Presentation ByRupera Priyank Anilkumar 1AM09IS052Vineet Kumar 1AM09IS074Ajay Kumar Yadav 1AM09IS004Krishna Kumar 1AM06IS029Under the Guidance ofMrs. V . Rose PriyankaAsst.Prof, Dept of ISE
  2. 2. Content Abstract Existing System Demerits Proposed System Architecture Merits Functional Requirements Non Functional Requirements System Design Screen Shots References
  3. 3. Abstract Implementing threshold proxy re-encryption and decentralizederasure code. Distributed storage System used for distribution purpose, and itdepends on the secure storage system. Storage server and key server are used. Parameters are more flexible adjustment betweenservers(storage and key).
  4. 4. Existing System General encryption scheme for storing data. DES algorithm is used for key generation. For the storage data ,user has to manage his keys . Single storage server for whole file.
  5. 5. Demerits Communication traffic between the user and storage servers. User’s device of storing the keys is lost. Storing and retrieving, it is hard for storage servers . Only one time encryption using general encryption schemes.
  6. 6. Proposed System The method of threshold proxy re-encryption. Decentralized erasure code method can be used for distributedstorage system. Distributed storage system depends on the secure cloudstorage. Storage server and key server those two systems used forstorage system. Encryption using Blowfish algorithm.
  7. 7. Architecture
  8. 8. Merits Data is more confidential. Highly protected by an security mechanism of the Server Easy distribution and data forwarding. Less Time consuming.
  9. 9. Functional Requirement Encryption Re-encryption Storage Decryption
  10. 10. Non Functional Requirement Privacy Reliability Scalability Performance Security
  11. 11. System Design Workflow DiagramA workflow diagram visually represents the movement and transfer ofresources, documents, data and tasks through the entire work process for agiven product or service. Use case DiagramUse case diagrams are used to describe a set of actions use cases thatsome system or systems subject should or can perform in collaboration withone or more external users of the system actors. Sequence DiagramA sequence diagram is a kind of interaction diagram that shows howprocesses operate with one another and in what order.
  12. 12. Workflow Diagram
  13. 13. Use Case Diagram
  14. 14. Sequence DiagramLogin Register Home File selectjButtonActionPerformedRegister to cloudjButtonActionPerformedSelect file for encryptionEncryptionjButtonActionPerformedjButtonActionPerformedjButtonActionPerformed
  15. 15. Continue…Re-encryptionSplittingSelect No. of tokensjButtonActionPerformedUpload filejButtonActionPerformedSelect VM1 and VM2RetrievejButtonActionPerformedReceiving fromVM1 and VM2DecryptionjButtonActionPerformed
  16. 16. Modules Process Encryption Threshold-Proxy Function Secure Cloud Storage Data Forwarding
  17. 17. Login and Registration
  18. 18. Encryption Process
  19. 19. // Creation of Secret keybyte key[] = "HUFEdcba".getBytes();String k = key.toString();SecretKeySpec secretKey = new SecretKeySpec(key, "Blowfish");// Creation of Cipher objectsCipher encrypt = Cipher.getInstance("Blowfish");encrypt.init(Cipher.ENCRYPT_MODE, secretKey);// Open the Plaintext filecis = new CipherInputStream(fis, encrypt);// Write to the Encrypted filebyte[] b = new byte[1024];int i = cis.read(b);while (i != -1) {fos.write(b, 0, i);i = cis.read(b); }fos.flush();fos.close();cis.close();fis.close();String fenc = " File Encrypted ";JOptionPane.showMessageDialog(null, fenc);count++;Coding
  20. 20. Splitting Process
  21. 21. Threshold Proxy Re-encryption Scheme// Creation of Secret keybyte key[] = "abcdEFUH".getBytes();SecretKeySpec secretKey = newSecretKeySpec(key,"Blowfish");// Creation of Cipher objectsCipher encrypt = Cipher.getInstance("Blowfish");encrypt.init(Cipher.ENCRYPT_MODE,secretKey);
  22. 22. Selecting Servers For Files
  23. 23. Secure Cloud Storage
  24. 24. Server Side File Receiving
  25. 25. int bytesRead;int current = 0;ServerSocket serverSocket = null;serverSocket = new ServerSocket(7777);while(true) {Socket clientSocket = null;clientSocket = serverSocket.accept();InputStream in = clientSocket.getInputStream();OutputStream output = newFileOutputStream("C:/"+filename+".zip");byte[] buffer = new byte[1024];while ((bytesRead = in.read(buffer)) != -1) {output.write(buffer, 0, bytesRead);}Coding
  26. 26. try{Socket sock1 = new Socket("192.168.0.154", 7777);// sendfileFile myFile = zipFile1;System.out.println(zipFile1);byte[] mybytearray = new byte[(int) myFile.length()];FileInputStream fis = new FileInputStream(myFile);BufferedInputStream bis = new BufferedInputStream(fis);bis.read(mybytearray, 0, mybytearray.length);OutputStream os = sock1.getOutputStream();os.write(mybytearray, 0, mybytearray.length);os.flush();sock1.close();String sen="Files are forwarded to cloud Storage server 1 !!!";JOptionPane.showMessageDialog(null,sen);jTextArea1.append("Sending File:"+z1);jTextArea1.append("Files are forwarded to cloud Storage server 1 !!!");}catch(Exception e){System.out.println("Exception : "+e);}Coding
  27. 27. File Retrieval Process
  28. 28. try{int bytesRead;int current = 0;ServerSocket serverSocket1 = new ServerSocket(4000);while(true) {Socket clientSocket = serverSocket1.accept();InputStream in = clientSocket.getInputStream();String op="D:/secure/server1/server1.zip";OutputStream output = new FileOutputStream(op);//jTextArea1.append("Received File Location fromServer1:"+output);byte[] buffer = new byte[1024];while ((bytesRead = in.read(buffer)) != -1) {output.write(buffer, 0, bytesRead);}in.close();output.close();String ip2="192.168.1.2";jTextArea1.append(" Server1 IP Address:"+ip2);jTextArea1.append("Received File Location from Server2:"+op);String fr=" File can be Received from Server1.";JOptionPane.showConfirmDialog(null,fr);serverSocket1.close();}Client Sending FilenameCipher
  29. 29. Cipher Cipher
  30. 30. try{Socket sock = new Socket("192.168.1.2",4000); //client IP addressjTextArea1.append("n Client IP :"+sock);// sendfileString fn= "D:"+reqfile1+".zip";File myFile = new File(fn);jTextArea1.append("n File location :"+myFile);byte[] mybytearray = new byte[(int) myFile.length()];jTextArea1.append("n File Length :"+mybytearray);FileInputStream fis = new FileInputStream(myFile);BufferedInputStream bis = new BufferedInputStream(fis);bis.read(mybytearray, 0, mybytearray.length);OutputStream os = sock.getOutputStream();os.write(mybytearray, 0, mybytearray.length);os.flush();String sen="Files are forwarded to Client !!!";JOptionPane.showMessageDialog(null,sen);os.close();sock.close();}Coding
  31. 31. CipherServer Sending Files to Client
  32. 32. try{ Socket sock = new Socket("192.168.1.2",4000); //client IP addressjTextArea1.append("n Client IP :"+sock);// sendfileString fn= "D:"+reqfile1+".zip";File myFile = new File(fn);jTextArea1.append("n File location :"+myFile);byte[] mybytearray = new byte[(int) myFile.length()];jTextArea1.append("n File Length :"+mybytearray);FileInputStream fis = new FileInputStream(myFile);BufferedInputStream bis = new BufferedInputStream(fis);bis.read(mybytearray, 0, mybytearray.length);OutputStream os = sock.getOutputStream();os.write(mybytearray, 0, mybytearray.length);os.flush();String sen="Files are forwarded to Client !!!";JOptionPane.showMessageDialog(null,sen);os.close();sock.close();}catch(Exception e){System.out.println("Exception : "+e);}Coding
  33. 33. try {String sourcefile = "D:/secure/server1/server1.zip";File sf=new File(sourcefile);if (!sourcefile.endsWith(".zip")) {System.out.println("Invalid file name!");System.exit(0);} else if (!new File(sourcefile).exists()) {System.out.println("File not exist!");System.exit(0);}ZipInputStream in =new ZipInputStream(new FileInputStream(sourcefile));ZipFile zf = new ZipFile(sourcefile);int a = 0;for (Enumeration em = zf.entries(); em.hasMoreElements();) {String targetfile = em.nextElement().toString();ZipEntry ze = in.getNextEntry();out = new FileOutputStream("D:/secure/EXTRACT/" + targetfile);byte[] buf = new byte[1024];int len;while ((len = in.read(buf)) > 0) {out.write(buf, 0, len);} a = a + 1;}if (a > 0) {JOptionPane.showMessageDialog(null, "Files are unzipped, click NEXT");jTextArea1.append("nServer1 Files can be Extractedn");jTextArea1.append("ZipFile Name:"+sf.getName()+"n");jTextArea1.append("ZipFile size :"+sf.length()+"n");String fol="D:/secure/EXTRACT";File folder=new File(fol);jTextArea1.append("n Files in the Path:n"+folder.getAbsolutePath());}out.close();in.close();}
  34. 34. try { String p=a;String s11="plaintxt"+l;String s12="des"+l;String key1 ="AbCd124"+l;l++;File kkk=new File(p);BufferedReader br=new BufferedReader(new FileReader(kkk));jTextArea1.append("nnGiven File Name is:"+kkk.getName()+"n");System.out.println("Given File Name is:"+kkk.getName()+"n");jTextArea1.append("Given File size is:"+kkk.length()+"n");System.out.println("Given File size is:"+kkk.length()+"n");File dec= new File("D:/secure/firstDEcryption/"+s11+".txt");FileInputStream fis = new FileInputStream(p);FileOutputStream fos = new FileOutputStream(dec);CipherOutputStream cos = null;jTextArea1.append("Decrypted File Name is:"+dec.getName()+"n");System.out.println("Decrypted File Name is:"+dec.getName()+"n");jTextArea1.append("Decrypted File Path is:"+dec.getAbsolutePath()+"n");jTextArea1.append("Key To Decrypt the cipher Text:"+key1);System.out.println("Decrypted File Path is:"+dec.getAbsolutePath()+"n");// Creation of Secret keybyte key[] = "abcdEFUH".getBytes();SecretKeySpec secretKey = new SecretKeySpec(key,”Blowfish");// Creation of plain objectsCipher decrypt = Cipher.getInstance("DES");decrypt.init(Cipher.DECRYPT_MODE, secretKey);// Open the ciphert fileCipherInputStream cis=new CipherInputStream(fis, decrypt);// Write to the decrypted filebyte[] b = new byte[1024];int i = cis.read(b);while (i != -1) {fos.write(b, 0, i);i = cis.read(b);}fos.flush();fos.close();cos.close();fis.close();}
  35. 35. try{int j;/** Takes all files in a specified directory and merge themtogether...*/File firstDEcryption = new File("D:/secure/firstDEcryption/");listOfFiles = firstDEcryption.listFiles();for( j=0; j<listOfFiles.length; j++){String lines;String srcFile = listOfFiles[j].getPath();outFile = "D:/secure/merging.txt";of=new File(outFile);BufferedReader inFile=new BufferedReader(new FileReader(newFile(srcFile)));BufferedWriter outPut=new BufferedWriter(newFileWriter(outFile, true));String fil=listOfFiles.toString();jTextArea1.append("Files to be Merged:"+fil);jTextArea1.append("Merged File Path:"+outFile);while((lines=inFile.readLine()) != null) {outPut.write(lines);outPut.newLine();}String fenc=" Files can be Merged ";JOptionPane.showMessageDialog(null, fenc);outPut.flush();outPut.close();inFile.close();} }
  36. 36. Re-Decryption Process
  37. 37.  Integrated a newly proposed threshold proxy re-encryptionscheme and erasure codes over exponents. The threshold proxy Re-encryption scheme supports encoding,forwarding, and partial decryption operations in a distributedway. By using the threshold proxy re-encryption scheme, wepresent a secure cloud storage system that provides secure datastorage and secure data forwarding functionality in adecentralized structure. key servers act as access nodes for providing a front-end layersuch as a traditional file system interface.Conclusion
  38. 38. References IEEE 2012 paper on Distributed and Parallel systems, “A secureErasure code based Cloud storage System with Secure Dataforwarding”. Swings (second Edition) By Matthew robinson and Pavelvorobiev. www.youtube.com Fast Software Encryption, Cambridge Security WorkshopProceedings (December 1993), Springer-Verlag, 1994, pp. 191-204. IEEE Paper.

×