Professional Documents
Culture Documents
Love
Love
Love
DATA IN CLOUD
A project report submitted in partial fulfilment of the requirement
for the award of degree of
BACHELOR OF TECHNOLOGY
In
INFORMATION TECHNOLOGY
Submitted by
L. HANUMAN SAI
(16341A1227)
Mr. V.S.K.Chaitanya
Assistant Professor, Dept. of IT
BONAFIDE CERTIFICATE
i
INTERNSHIP CERTIFICATE
iii
ACKNOWLEDGEMENT
I would like to sincerely thank internal supervisor, Mr.V.S.K.Chaitanya, Assistant Professor,
Department of Information Technology for whole hearted and valuable guidance throughout the program.
I would like to sincerely thank Mr. Sateesh Vavilapalli, Managing Director India and Mr. U.
Naidu, Project Lead of RISE Corp Pvt Ltd. for providing all the necessary facilities that led to the
successful completion of our Internship.
It gives me an immense pleasure to express deep sense of gratitude to the Central Internship team
Dr. Surya Narayan Dash, Hod & Professor, Department of Chemical Engineering, I would sincerely
thank our department coordinator Mrs. P. Akhila, Assistant Professor, Department of Information
Technology for their great support.
I would like to take this opportunity to thank our beloved Principal Dr. C.L.V.R.S.V. Prasad,
beloved Vice Principal Dr. J. Raja Murugudoss and Head of the Department Dr. Ajit Kumar Rout,
Professor, Department of Information Technology for providing a great support in completing the full
semester Internship.
We would like to thank all the faculty members and the non-teaching staff of the Department of
Information Technology for their direct or indirect support for helping us in completion of this project
work.
Finally, we would like to thank all of our friends and family members for their continuous help
and encouragement.
iv
ABSTRACT
In cloud outsourcing data for storage turns into an appealing pattern, which benefits in saving
endeavors on overwhelming data maintenance and management. Outsourcing data in cloud
distributed storage isn't completely reliable, it raises security concerns on the best way to
acknowledge information deduplicated within the cloud while achieving integrity scrutinizing.
Even if data deduplication brings plenty of advantages in security and privacy concerns occur
because the user's confidential data are prone to both attacks insider and outsider. A convergent
encryption technique imposes data privacy while making deduplication feasible. Traditional
deduplication systems based on convergent encryption even though they offer confidentiality but
don't maintain the duplicate check on basis of differential rights. This work explicitly, targeting to
achieve both data integrity and deduplication planned to guard data security by visualizing
discrepancy privileges of users within the duplicate check. Deduplication systems, clients with
differential privileges are incorporated assessed in copy check other than the data itself. To keep
up greater security the documents are encoded with differential benefit keys. Clients are permitted
to carry out the copy check for files marked with the matching decode privileges to access. The
client can confirm their occasion of an archive after deduplication within the cloud with the help
of a 3rd party scrutinizer. Scrutinizer investigates the data and affirms the transferred record on a
schedule. As a result, this system generates advantages to both the storage provider and user by
the deduplication system and scrutinizing method correspondingly.
Keywords: Cloud Server, Client Data Security, Integrity, Deduplication and Scrutinizing.
v
SCRUTINIZING AND DEDUPLICATION OF
DATA IN CLOUD
TABLE OF CONTENTS
CHAPTER TITLE PAGE
NO. NO.
Bonafied Certificate ii
Acknowledgement iv
Abstract v
List of Figures x
1 Introduction 1
1.0 Introduction 1
1.2 Ethics 3
1.3 Values 3
2.1 Services 5
2.2 Team 5
vi
3 Tasks Taken Up and Problem Definition 6
3.0 Introduction 6
3.3.1 Disadvantages 17
3.4.1 Advantages 18
3.4.2 Scope 18
vii
4.0 Feasibility Study 28
4.1.1 Introduction 29
4.2.1 Introduction 32
5 System Design 37
6 Coding 50
viii
6.0 Sample Source Code 50
7 Results 57
7.1 Observations 66
8.0 Conclusion 67
Reference 68
Copy Right 69
ix
LIST OF FIGURES
4.3 Deduplication 32
x
4.7 Data Owner Side(Encryption) 36
xi
7.11 Wolke’s Scrutinizer Login Page 62
xii
LIST OF ABBREVIATION
xiii
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
1. INTRODUCTION
1.0 Introduction
Students learn how their course of study applies to the real world and build valuable
experience that makes them stronger candidates for jobs after graduation.
Internship at a start-up will benefit in improving team spirit, adapting to flexible
working times and client services.
You can get serious work experience, build a portfolio and establish a network of
professional contacts which can help you after you graduate.
The main advantage is to have practical knowledge. In our college we can have
theoretical knowledge which doesn’t help much. Working on a project gives the
practical experience.
Confidence can be increased when we were involved in solving problems and were
succeeded in solving it.
If you are willing to show initiative, enthusiasm and work hard, you will be given
further opportunities to develop.
Learning by doing.
Employer Branding.
Dept of IT,GMRIT
2
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
1.2 Ethics
Improve their understanding of the software and related documents on which they
work and of the environment in which they will be used.
Accept full responsibility for their own work.
Not promote their own interest at the expense of the profession, client or employer.
Strive to fully understand the specifications for software on which they work.
Improve their knowledge of the Code, its interpretation, and its application to their
work.
1.3 Values
Professional communications.
Being able to work independently with little guidance is very important in the
working world.
Always work hard even the task is small and seems unimportant.
Make an effort during the course of the internship to build relationships with people
around the office.
Dept of IT,GMRIT
3
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
4
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
2.1 Services
Data Services
Mobile Applications
Cloud Services
Web Portals
Industry Applications
SAP on Demand
Business Intelligence
Remote Service.
2.2 Team
Dept of IT,GMRIT
5
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
3.0 Introduction
In recent days, the speeding growth associated with digital contents is gearing up
to lift the demand for new storage and network capacities, together with an increasing need
for more cost- effective use of storage and network bandwidth for data transfer. As of now,
the utilization of computer memory systems is gaining an expanding interest, namely the
cloud storage based services, since it provides cost efficient architectures. The above
mentioned architectures take part in supporting the transmission, storing in an exceedingly
multi-tenant environment, and intensive computation of outsourced data in a pay per use
model and additionally to avoid wasting resources consumption in both, network
bandwidth and storage capacities. Many cloud services, apply client side deduplication this
idea ignores the storage of redundant data in cloud servers and reduces network bandwidth
consumption associated to transmitting the identical contents several times.
Cloud storage service providers perform deduplication to avoid wasting space by
only storing one copy of every file uploaded. Should clients conventionally encrypt their
files, however, savings are lost. Message-locked encryption (the most prominent
manifestation of which is convergent encryption) resolves this tension. However it's
inherently subject to brute-force attacks which will recover files falling into a known set.
But customers might want their data encrypted, for reasons starting from personal privacy
to corporate policy to legal regulations. A client could encrypt its file, under a user’s key,
before storing it. But common encryption modes are randomized, making deduplication
impossible since the Storage Service effectively always sees different cipher texts no matter
the information. If a client’s encryption is deterministic (so that the identical file will
always map to the identical cipher text) deduplication is feasible, but just for that user.
Cross-user deduplication, which allows more storage savings, isn't possible because
encryptions of various clients, being under different keys, are usually different. Sharing one
key across a group of users makes the system brittle within the face of client terms.
Dept of IT,GMRIT
6
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
7
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
8
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
9
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
application and
The various applications users use.
3.2.4.2 Private Cloud
It is a cloud infrastructure that is solely used by one organization.
It gives organizations greater control over security and data which is
safeguarded by a firewall and managed internally.
It can be hosted internally or externally.
Private clouds are great for organizations that have high security demands,
high management demands and uptime requirements.
3.2.4.3 Hybrid Cloud
It uses both private and public clouds, but can remain separate entities.
Resources are managed and can be provided either internally or by
external providers.
A hybrid cloud is great for scalability, flexibility and security.
An example of this is an organization can use public cloud to interact with
customers, while keeping their data secured through a private cloud.
3.2.4.4 Community Cloud
It is an infrastructure that is mutually shared between organizations that belong to a
particular community.
The community members generally share similar privacy, performance
and security concerns.
An example of this is a community cloud at banks, government in a
country, or trading firms.
A community cloud can be managed and hosted internally or by a third
party provider.
A community cloud is good for organizations that work on joint ventures
that need centralized cloud computing ability for managing, building and
executing their projects.
Dept of IT,GMRIT
11
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Cloud service models focus on providing some type of offering to their clients.
3.2.5.1 Cloud Software as a Service
It is a type of cloud that offers an application to customer or organizations through a
web browser.
The data for the app runs on a server on the network, not through an app on the
user’s computer.
Software is usually sold via subscription.
Examples of SaaS are Salesforce, Google Docs, Office 365, Basecamp etc.
Dept of IT,GMRIT
12
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
environments.
Deploying your app in this environment, you can take advantage of dynamic
scalability, automated database backups without need to specifically code for it.
PaaS are billed as an additional cost on top of the IaaS charges.
Examples of PaaS are Google App Engine, Cloud Foundry, Engine Yard Etc.
i. ResourcesPooling
It means that the Cloud provider pulled the computing resources to provide
services to multiple customers with the help of a multi-tenant model. There are
different physical and virtual resources assigned and reassigned which depends on
the demand of the customer. The customer generally has no control or information
over the location of the provided resources but is able to specify location at a higher
level of abstraction.
ii. On-DemandSelf-Service
It is one of the important and valuable features of Cloud Computing as the user
can continuously monitor the server uptime, capabilities, and allotted network storage.
With this feature, the user can also monitor the computing capabilities.
iii. EasyMaintenance
The servers are easily maintained and the downtime is very low and even in
some cases, there is no downtime. Cloud Computing comes up with an update every
time by gradually making it better. The updates are more compatible with the devices
and perform faster than older ones along with the bugs which are fixed.
Dept of IT,GMRIT
13
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
The user can access the data of the cloud or upload the data to the cloud from
anywhere just with the help of a device and an internet connection. These capabilities
are available all over the network and accessed with the help of internet.
v. Availability
The capabilities of the Cloud can be modified as per the use and can be
extended a lot. It analyzes the storage usage and allows the user to buy extra Cloud
storage if needed for a very small amount.
vi. . Economical
It is the one-time investment as the company (host) has to buy the storage and
a small part of it can be provided to the many companies which save the host from
monthly or yearly costs. Only the amount which is spent is on the basic maintenance
and a few more expenses which are very less.
vii. . Security
Dept of IT,GMRIT
14
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
In cloud computing, the user has to pay only for the service or the space they
have utilized. There is no hidden or extra charge which is to be paid. The service is
economical and most of the time some space is allotted for free.
x. MeasuredService
Cloud Computing resources used to monitor and the company uses it for
recording. This resource utilization is analyzed by supporting charge-per-use
capabilities. This means that the resource usages which can be either virtual server
instances that are running in the cloud are getting monitored measured and reported
by the service provider. The model pay as you go is variable based on actual
consumption of the manufacturing organization.
Dept of IT,GMRIT
15
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
16
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
3.3.1 Disadvantages
i. The first problem is integrity scrutinizing. The cloud server is able to relieve clients
from the heavy burden of storage management and maintenance. The most
difference of cloud storage from traditional in-house storage is that the data is
transferred via Internet and stored in an uncertain domain, not under control of the
clients at all, which inevitably raises clients great concerns on the integrity of their.
ii. The second problem is Client deduplication. The rapid adoption of cloud services is
accompanied by increasing volumes of data stored at remote cloud servers. Among
these remote stored files, most of them are deduplicated: according to a recent
survey by EMC, 75% of recent digital data is duplicated copies.
iii. Data reliability is actually a critical issue in deduplication storage systems because
there is only one copy for each file stored in the server shared by all the Owners.
Dept of IT,GMRIT
17
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
3.4.1 Advantages
i. This design fixes the issue of previous work that the computational load at user or
auditor is too huge for tag generation. For completeness of fine-grained, the
functionality of scrutiny designed in SecCoud is supported on both block level and
sector level. In addition, SecCoud also enables EnCloud.
ii. The challenge of deduplication on encrypted is the prevention of dictionary attack.
iii. Our proposed system has achieved both integrity auditing and file deduplication.
3.4.2 Scope
Despite these significant advantages in saving resources, client data deduplication
brings many security issues, considerably due to the multi-owner data possession
challenges. For instance, several attacks target either the bandwidth consumption or the
confidentiality and the privacy of legitimate cloud users. For example, a user may check
whether another user has already uploaded a file, by trying to outsource the same file to
the cloud. Recently, to mitigate these concerns, many efforts have been proposed under
different security models. These schemes are called Proof of Ownership systems (PoW).
They allow the storage server check a user data ownership, based on a static and short
value.
Dept of IT,GMRIT
18
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
i. Reliability
ii. Usability
iii. Responsive
iv. Performance
v. Error handling
Dept of IT,GMRIT
19
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
20
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
1) Simple
2) Architecture neutral
3) Object oriented
4) Portable
5) Distributed
6) High performance
7) Interpreted
8) Multithreaded
9) Robust
10) Dynamic
11) Secure
With most programming languages, it is either to be compiled or interpreted a
program so that you can run it on your computer. The Java programming language is
unusual in that a program is both compiled and interpreted. With the compiler, first you
translate a program into an intermediate language called Java byte codes the platform
independent codes interpreted by the interpreter on the Java platform. The interpreter
parses and runs each Java byte code instruction on the computer. Compilation happens
just once; interpretation occurs each time the program is executed.
Dept of IT,GMRIT
21
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Java byte codes can be as the machine code instructions for the Java Virtual
Machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web
browser that can run applets, is an implementation of the Java VM. Java byte codes help
make “write once, run anywhere” possible. Program can be compiled into byte code on
any platform that has a Java compiler.
3.6.2 The Java Platform
A platform is the hardware or software environment in which a program runs.It is already
mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and
MacOS. Most platforms can be described as a combination of the operating system and
hardware. The Java platform differs from most other platforms in that it’s a software-only
platform that runs on top of other hardware-based platforms. The Java platform has two
components:
3.6.3 ODBC
Microsoft Open Database Connectivity (ODBC) is a standard programming interface for
application developers and database systems providers. Before ODBC became a de facto
standard for Windows programs to interface with database systems, programmers had to
use proprietary languages for each database they wanted to connect to. Now, ODBC has
made the choice of the database system almost irrelevant from a coding perspective,
which is as it should be. Application developers have much more important things to
worry about than the syntax that is needed to port their program from one database to
another when business needs suddenly change. Through the ODBC Administrator in
Control Panel, it can be specified the particular database that is associated with a data
source that an ODBC application program is written to use.
3.6.4 JDBC
Java Database Connectivity (JDBC) is an application programming interface (API) for the
programming language Java, which defines how a client may access a database.JDBC
offers a generic SQL database access mechanism that provides a consistent interface to a variety of
RDBMSs. This consistent interface is achieved through the use of “plug-in” database connectivity
modules, or drivers. If a database vendor wishes to have JDBC support, he or she must provide the
driver for each platform that the database and Java runon.
Dept of IT,GMRIT
23
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
3) Allows users to define the data in a database and manipulate that data.
4) Allows to embed within other languages using SQL modules, libraries &
pre-compilers.
Dept of IT,GMRIT
24
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
3.6.6 Networking
Networking is the practice of transporting and exchanging data between nodes over a
shared medium in an information system. Networking comprises not only the design,
construction and use of a network, but also the management, maintenance and operation
of the network infrastructure, software and policies.
A. TCP/IP stack
B. IP Datagram
Dept of IT,GMRIT
25
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
D. Internet Addresses
In order to use a service, you must be able to find it. The Internet
uses an address scheme for machines so that they can be located. The address is
a 32 bit integer which gives the IP address. This encodes a network ID and more
addressing.
Class A uses 8 bits for the network address with 24 bits left over for other addressing.
Class B uses 16 bit network addressing. Class C uses 24 bit network addressing and class
D uses all 32.
a) Subnet address
Internally, the UNIX network is divided into sub networks. Building 11 is
currently on one sub network and uses 10-bit addressing, allowing 1024
different hosts.
b) Host address
8 bits are finally used for host addresses within our subnet. This places a limit of
256 machines that can be on the subnet.
c) Total address
It is the total address and the 32 bit address is usually written as 4 integers
separated by dots.
Dept of IT,GMRIT
26
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
d) Port addresses
A service exists on a host, and is identified by its port. This is a 16 bit number.
To send a message to a server, it is sended to the port for that service of the host
that it is running on. This is not location transparency! Certain of these ports are
"well known".
e) Socket
A socket is a data structure maintained by the system to handle network
connections. A socket is created using the call socket. It returns Read File and
Write File functions.
3.6.7 NetBeans
NetBeans is an open-source integrated development environment (IDE) for developing
with Java, PHP, C++, and other programming languages. NetBeans is also referred to as a
platform of modular components used for developing Java desktop applications.
Dept of IT,GMRIT
27
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
28
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
29
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
30
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
5. Bob computes (( g a mod p ) b mod p). Both Alice and Bob can use this
number as their key. Notice that p and g need not be protected.
Dept of IT,GMRIT
31
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
4.2.1 Introduction
Secure Deduplication provides data confidentiality in deduplication. A user
derives a convergent key from the data content and encrypts the data copy with the
convergent key. if two data copies are the same, then their tags are not.
Fig-4.3: Deduplication
In proposed system, we develop the architecture of LDSS. The proposed system involves
the scheme and the algorithms used.
(i) We propose a Lightweight Data Sharing Scheme (LDSS) for mobile cloud
computing environment.
(iii) We use proxy servers for encryption and decryption operations. In our approach,
computational intensive operations in ABE are conducted on proxy servers, which
greatly reduce the computational overhead on client side mobile devices.
Meanwhile, in LDSS-CP-ABE, in order to maintain data privacy, a version
attribute is also added to the access structure. The decryption key format is
modified so that it can be sent to the proxy servers in a secure way.
(iv) We introduce lazy re-encryption and description field of attributes to reduce the
revocation overhead when dealing with the user revocation problem.
Dept of IT,GMRIT
32
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
33
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Recombine and
Dept of IT,GMRIT
34
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
35
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
36
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
5. SYSTEM DESIGN
Dept of IT,GMRIT
37
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
b. Data User
In Data User module, Initially Data Users must have to register their detail and
after login he/she has to verify their login through secret key. Data Users can
search all the files upload by data owners. He/she can send request to the files
and then request will send to the data owners. If data owner approve the request
then he/she will receive verification object and decryption key in registered mail.
c. Scrutinizer
Scrutinizer is an entity which facilitates interactions between two parties who
both trust the third party. It is responsible for generating public and private keys,
and distributing attribute keys to users. With this mechanism, users can share
and access data without being aware of the encryption and decryption operations.
Dept of IT,GMRIT
38
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
CSP stores the data for DO. It faithfully executes the operations requested by
DO, while it may peek over data that DO has stored in the cloud. Cloud can
edit the files and update and also cloud server can view the download history.
requesting of data user of some kind of data from cloud, data owner select the role for data
user and also after approval of users request he send the public key to data user through
the email then data user can retrieve the information from cloud by entering the key on
website but this information it in the form of encryption so to decrypt that data .Data
owner provide the private key to data user from mail. Then by using this key Data User
can decrypt that data.
To relieve the overhead on the client side mobile devices, encryption
service provider (ESP) and decryption service provider (DSP) are used. Both the
encryption service provider and the decryption service provider are also semi-trusted. We
modify the traditional CP-ABE algorithm and design an LDSS-CP-ABE algorithm to
ensure the data privacy when outsourcing computational tasks to ESP and DSP, also we
used the AES (Advanced Encryption Standard) algorithm to encrypt and decrypt the
overall data which are uploaded on mobile cloud by data owner.
a) Phase 1 (cloud client → cloud server): Client takes the duplicate check
with the cloud server to confirm if such a file is stored in cloud storage or
not before uploading a file. If there is a duplicate, another protocol called
Proof of Ownership will be run between the client and the cloud storage
server. Otherwise, the following protocols (including phase 2 and phase 3)
are run between these two entities.
b) Phase 2 (cloud client → scrutinizer): Client uploads files to the scrutinizer,
and receives a receipt from scrutinizer.
c) Phase 3 ( scrutinizer → cloud server): scrutinizer helps generate a set of
tags for the uploading file, and send them along with this file to cloud server.
Dept of IT,GMRIT
40
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
41
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
The first design goal of this work is to provide the capability of verifying
correctness of the remotely stored data. The integrity verification further
requires two features those are public verification and stateless verification.
To to protect data in public cloud servers from unauthorized entities, the client
has to ensure that only authorized users are able to obtain the decrypting keys.
As such, the data owner has to encrypt the data deciphering key, using the
public key of the recipient user.
This key is, then, integrated by the data owner in user metadata, ensuring data
confidentiality against malicious users, as well as flexible access control policies.
i. public verification, which allows anyone, not just the clients originally
stored the file, to perform verification.
ii. Stateless verification , which is able to eliminate the need for state
information maintenance at the verifier side between the actions of
auditing and data storage.
b. Cost-Effective
The computational overhead for providing integrity scrutinizing and secure
deduplication should not show a major additional cost to traditional cloud
storage, nor should they alter the way either uploading or downloading
operation
c. .Secure Deduplication
The second design goal of this work is secure deduplication. In other words, it
requires that the cloud server is able to decrease the storage space by keeping
only one copy of the same file.
Dept of IT,GMRIT
42
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
d. File Confidentiality
The design goal of file confident accessing the content of files. Specially, we
require that the goal of file confidentiality needs to be resistant to “dictionary
attack”. That is, even the adversaries have pre-knowledge of the “dictionary”
which includes all the possible files, they still cannot recover the target file.
Dept of IT,GMRIT
43
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Fig-5.4: DFD for Data User Fig-5.5: DFD for Cloud Server
Dept of IT,GMRIT
44
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
45
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
46
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
47
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
48
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
49
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
6. CODING
6.0 Sample Source Code
Coding (or programming) is the construction of software. Coding involves writing a
'recipe', in a so called programming language that a computer can understand.
6.0.1 Login Servlet
public class LoginServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("loging servlet");
HttpSession hs = request.getSession();
String url="";
String user = request.getParameter("uname");
String pwd = request.getParameter("pwd");
try {
Connection con = DatabaseConnection.getconnection();
PreparedStatement pst = con.prepareStatement("select * from userregister
where username=? and password=?");
pst.setString(1, user);
pst.setString(2, pwd);
ResultSet rs = pst.executeQuery();
if (rs.next()) {
System.out.println("if block");
String username = rs.getString(2);
hs.setAttribute("uname", username);
url="userkey.jsp";
RequestDispatcher rd=request.getRequestDispatcher(url);
rd.forward(request, response);
} else {
url="userlogin.jsp";
RequestDispatcher rd=request.getRequestDispatcher(url);
Dept of IT,GMRIT
50
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
rd.forward(request, response);
}
} catch (Exception e) {
}
//System.out.println("hello");}}
6.0.2 NewUserRegister
public class NewUserRegister extends HttpServlet
{ private static final long serialVersionUID = 1L;
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
String UPLOAD_DIR = "images";
ServletContext context = getServletContext();
String dirName = context.getRealPath("\\") + File.separator
+ UPLOAD_DIR;
File save = new File(dirName);
if (!save.exists()) {
save.mkdir();
}
MultipartRequest multi = new MultipartRequest(request, dirName,
10 * 1024 * 1024); // 10MB
String username = multi.getParameter("uname");
String password = multi.getParameter("pwd");
String gender = multi.getParameter("gnd");
String email = multi.getParameter("email");
String mobile = multi.getParameter("mobile");
File f = multi.getFile("image");
System.out.println("File name is :"+f.getName());
System.out.println("File path is :"+f.getAbsolutePath());
String path = UPLOAD_DIR + "\\" + f.getName();
FileInputStream fs = new FileInputStream(f);
Dept of IT,GMRIT
51
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
try {
Connection con = DatabaseConnection.getconnection();
System.out.println("call connection " + con);
PreparedStatement pst = con
PrepareStatement("insertinto
userregister(username,password,gender,email,mobile,path,filedata,status)
values(?,?,?,?,?,?,?,?)");
pst.setString(1, username);pst.setString(2, password);
pst.setString(3, gender);pst.setString(4, email);
pst.setString(5, mobile);pst.setString(6, path);
pst.setBinaryStream(7, fs, fs.available());
pst.setString(8, "waiting");
int i = pst.executeUpdate();
if (i >= 0) {
//System.out.println("if block ok");
out.write("<script type='text/javascript'>\n");
out.write("alert('Saved Successfully !...');\n");
out.write("setTimeout(function(){window.location.href='userlogin.jsp'},100);");
out.write("</script>\n");
} else {
out.write("<script type='text/javascript'>\n");
out.write("alert('Details are not saved !...');\n");
out.write("setTimeout(function(){window.location.href='newuserregister.jsp'},100);");
out.write("</script>\n");
}
} catch (Exception e)
{ e.printStackTrace();
}
}}
Dept of IT,GMRIT
52
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
6.0.3 Encryption
public class encryption
{
//public static void main(String args[])
//{
// Scanner s=new Scanner(System.in);
// System.out.println("Enter text for encrypt");
// String t=s.next();
// new encryption().encrypt(t);
//}
public String encrypt(String text,SecretKey secretkey)
{
String plainData=null,cipherText=null;
try
{ plainData=text;
//secretkey generating
// KeyGenerator keyGen = KeyGenerator.getInstance("AES");
// keyGen.init(128);
// SecretKey secretKey = keyGen.generateKey();
// System.out.println("secret key:"+secretKey);
// //converting secretkey to String
// byte[] b=secretKey.getEncoded();//encoding secretkey
// String skey=Base64.encode(b);
// System.out.println("converted secretkey to string:"+skey);
// //converting string to secretkey
// byte[] bs=Base64.decode(skey);
// SecretKey sec=new SecretKeySpec(bs, "AES");
// System.out.println("converted string to seretkey:"+sec);
Cipher aesCipher = Cipher.getInstance("AES");//getting AES
instance
aesCipher.init(Cipher.ENCRYPT_MODE,secretkey);//initiating ciper encryption using
Dept of IT,GMRIT
53
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
secretke
byte[] byteDataToEncrypt = plainData.getBytes();
byte[] byteCipherText = aesCipher.doFinal(byteDataToEncrypt);//encrypting data
// System.out.println("ciper text:"+byteCipherText
cipherText = new BASE64Encoder().encode(byteCipherText);//converting
encrypted data to string
System.out.println("\n Given text : "+plainData+" \n Cipher Data :
"+cipherText);
}
catch(Exception e)
{ System.out.println(e);
} return cipherText;
}}
6.0.4 Decryption
public class decryption
{
//public static void main(String args[])
//{ Scanner s=new Scanner(System.in);
// System.out.println("Enter encrypted Text and key");
// String text=s.next();
// String key=s.next();
// new decryption().decrypt(text,key);
//}
public String decrypt(String txt,String skey)
{
String decryptedtext = null;
try
{ //converting string to secretkey
byte[] bs=Base64.decode(skey);
SecretKey sec=new SecretKeySpec(bs, "AES");
System.out.println("converted string to seretkey:"+sec);
Dept of IT,GMRIT
54
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
System.out.println("secret key:"+sec);
Cipher aesCipher = Cipher.getInstance("AES");//getting AES instance
aesCipher.init(Cipher.ENCRYPT_MODE,sec);//initiating ciper encryption
using secretkey
byte[] byteCipherText =new BASE64Decoder().decodeBuffer(txt);
//encrypting data
// System.out.println("ciper text:"+byteCipherText);
aesCipher.init(Cipher.DECRYPT_MODE,sec,aesCipher.getParameters());//initiating
ciper decryption
byte[] byteDecryptedText = aesCipher.doFinal(byteCipherText);
decryptedtext = new String(byteDecryptedText);
System.out.println("Decrypted Text:"+decryptedtext);
}
catch(Exception e)
{
System.out.println(e);
}
return decryptedtext;
}
}
6.0.5 Key Validate
public class KeyValid extends HttpServlet
{ @Override
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
HttpSession hs=request.getSession();
String username=(String)hs.getAttribute("uname");
System.out.println("key servlet...");
Dept of IT,GMRIT
55
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
}catch(Exception e)
{
e.printStackTrace();
}
}
}
Dept of IT,GMRIT
56
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
7. RESULTS
7.0 Output Screenshots
Fig-7.1:Wolke’s HomePage
Dept of IT,GMRIT
57
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
58
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
59
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
60
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
61
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
62
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
63
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
64
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
Dept of IT,GMRIT
65
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
7.1 Observations
Dept of IT,GMRIT
66
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
8.0 Conclusion
In recent years, many studies on access control in cloud are based on attribute-based
encryption algorithm (ABE). However, traditional ABE is not suitable for mobile cloud
because it is computationally intensive and mobile devices only have limited resources. In
this project, we proposed LDSS to address this issue. It introduces a novel LDSS-CP-ABE
algorithm to migrate major computation overhead from mobile devices onto proxy servers,
thus it solved the secure data sharing problem in mobile cloud. The experimental results
show that LDSS can ensure data privacy in mobile cloud and reduce the overhead on users’
side in mobile cloud. In the future work, new approaches are to be designed to ensure data
integrity. To further tap the potential of mobile cloud, we will also study how to do
ciphertext retrieval over existing data sharing schemes.
Dept of IT,GMRIT
67
SCRUTINIZING AND DEDUPLICATION OF
2019-20
DATA IN CLOUD
REFERENCES
2. J. Yuan and S. Yu, “Secure and constant cost public cloud storage auditing with
deduplication,” in IEEE Conference on Communications and Network Security (CNS),
2013, pp. 145–153.
4. Q. Wang, C. Wang, J. Li, K. Ren, and W. Lou, “Enabling public verifiability and data
dynamics for storage security in cloud computing,” in Computer Security – ESORICS
2009, M. Backes and P. Ning, Eds., vol. 5789. Springer Berlin Heidelberg, 2009, pp.
355–370.
6. E. Stefanov, M. van Dijk, A. Juels, and A. Oprea, “Iris: A scalable cloud file system
with efficient integrity checks,” in Proceedings of the 28th Annual Computer Security
Applications Conference, ser. ACSAC ’12. New York, NY, USA: ACM, 2012, pp. 229–
238.
Dept of IT,GMRIT
68
SCRUTINIZING AND DEDUPLICATION OF 2019-20
DATA IN CLOUD
COPYRIGHT NOTICE
Copyrights © 2020 Wolke All rights reserved
All rights reserved.No part of this report may be reproduced or used in any manner
without written permission of the copy right owner.The report is done as a part of
Full Semester Intership at RISE Corp Pvt. Ltd.,Visakhapatnam under
Department of Information Technology,GMR Institute of
Technology,Rajam.The results embodied in this report has not submitted to any
other university or institution for the award of any degree or diploma.
B. Devaki -16341A1208
G. Supraja - 16341A1216
M. Nihitha -16341A1230
Supported By :
Year : April,2020.
69