You are on page 1of 58

Project Stage – II (CS802PC)

on

“OPTIMAL PERFORMANCE AND SECURITY IN CLOUD USING


DIVISION AND REPLICATION OF DATA”
Submitted
in the partial fulfillment of the requirements for
the award of the degree of

Bachelor of Technology
in
Computer Science and Engineering
by

Ms. AMULYA REDDY P (19261A05C2)


Mr. S DEEPAK (19261A05G7)
Under the Guidance of

Dr. D. KOTESWARA RAO

(Assistant Professor)

Ms. A. SWAPNA
(Assistant Professor)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


MAHATMA GANDHI INSTITUTE OF TECHNOLOGY GANDIPET,
HYDERABAD -500 075, INDIA
2022-2023
MAHATMA GANDHI INSTITUTE OF TECHNOLOGY
(Affiliated to Jawaharlal Nehru Technological University Hyderabad)
GANDIPET, HYDERABAD – 500 075, Telangana

CERTIFICATE

This is to certify that the Project Stage - II (CS706PC) entitled “OPTIMAL PERFORMANCE AND
SECURITY IN CLOUD USING DIVISION AND REPLICATION OF DATA” is being submitted
by AMULYA REDDY P bearing Roll No.: 19261A05C2 and S DEEPAK bearing Roll No.:
19261A05G7 in partial fulfillment for the award of B. Tech in Computer Science and Engineering
to Jawaharlal Nehru Technological University Hyderabad is a record of bonafide work carried
out under the supervision of Dr. D. Koteswar Rao , Assistant Professor, Department of CSE
and A. SWAPNA, Assistant Professor, Department of CSE.

The results embodied in this project have not been submitted to any other University or
Institute for the award of any degree or diploma.

Project Guide Project Guide Head of the Department

Dr. D. Koteswara Rao Ms. A. Swapna Dr. C. R. K. Reddy

Assistant Professor Assistant Professor Professor, Dept. of CSE

External Examiner

i
DECLARATION

This is to certify that the work reported in this project titled “OPTIMAL PERFORMANCE AND
SECURITY IN CLOUD USING DIVISION AND REPLICATION OF DATA” is a record of work
done by us in the Department of Computer Science and Engineering, Mahatma Gandhi Institute of
Technology, Hyderabad.

No part of the work is copied from books/journals/internet and wherever the portion is taken, the
same has been duly referred to in the text. The report is based on the work done entirely by us and not
copied from any other source.

AMULYA REDDY P (19261A05C2)


S DEEPAK (19261A05G7)

ii
ACKNOWLEDGEMENT
The satisfaction that accompanies the successful completion of any task would be incomplete
without introducing the people who made it possible and whose constant guidance and
encouragement crowns all the effort with success. They have been a guiding light and source of
inspiration towards the completion of the project.

We would like to express our sincere thanks to Dr. G. Chandramohan Reddy, Principal MGIT,
for providing the work facilities in the college.

We are also thankful to Dr. C R K Reddy, Professor & Head of Department, Dept. of Computer
Science and Engineering for providing excellent infrastructure and a conducive atmosphere for
completing this project successfully.

We are also extremely thankful to our Project Coordinators, Dr. K. Sreevani, Associate Professor,
Dept. of CSE and Dr. K. Mahesh Kumar, Associate Professor, Dept. of CSE for their valuable
suggestions and interest throughout the course of this project.

We would like to express our sincere gratitude and indebtedness to our Project Guides Ms. A.
Swapna, Assistant Professor, Dept. of CSE and Dr. D. Koteswara Rao, Assistant Professor,
Dept. of CSE who have supported us throughout the project with patience and knowledge.

We convey our heartfelt thanks to the lab staff for allowing us to use the required equipment
whenever needed.

Finally, we would like to thank all the faculty and staff of the CSE Department who helped us directly
or indirectly, for completing this project.

AMULYA REDDY P (19261A05C2)


S DEEPAK (19261A05G7)

iii
TABLE OF CONTENTS

CERTIFICATE i

DECLARATION ii

ACKNOWLEDGEMENT iii

LIST OF FIGURES vi

LIST OF TABLES vii

ABSTRACT viii

1. INTRODUCTION 1

1.1 Problem Definition 2

1.2 Objectives 2

1.3 Existing System 3

1.4 Proposed System 4

1.5 Requirement Specification 5

1.5.1 Software Requirements 5

1.5.2 Hardware Requirements 5

1.6 Software Environment 6


1.6.1 Java Technology 6
1.6.2 Database Connectivity 7

iv
2. LITERATURE SURVEY 9

3. DESIGN AND METHODOLOGY 13

3.1 System Architecture 14

3.2 Modules 15

3.3 UML Models 17


3.3.1 Use Case Diagram 17
3.3.2 Class Diagram 18
3.3.3 Sequence Diagrams 19
3.3.4 State Chart Diagram 20
3.3.5 Component Diagram 21

4. TESTING AND RESULTS

4.1 Testing 22

4.2 Results 24

5. CONCLUSION AND FUTURE SCOPE

5.1 Conclusion 29

5.2 Future Scope 29

BIBLIOGRAPHY 30

APPENDIX 32

v
LIST OF FIGURES

Figure Page No.

Figure 3.1.1 System Architecture Decision making and Implementation 14

Figure 3.3.1 Use Case Diagram 17

Figure 3.3.2 Class Diagram 18

Figure 3.3.3 Sequence Diagram for User 19

Figure 3.3.4 State Chart Diagram 20

Figure 3.3.5 Component Diagram 21

Figure 4.2.1 Home Page 24

Figure 4.2.2 Admin Login 24

Figure 4.2.3 Server Login 25

Figure 4.2.4 User Registration 25

Figure 4.2.5 User Login 26

Figure 4.2.6 User Operations 26

Figure 4.2.7 Uploading Files 27

Figure 4.2.8 Downloading File 27

Figure 4.2.9 Encrypted Data 28

Figure 4.2.10 Replication 28

vi
LIST OF TABLES

Table Page No.

Table 2.1 Literature Survey Table 11

Table 4.1 Testing Table 22

vii
ABSTRACT

Security issues arise when data is delegated to an administrative control by a third party, as is the
case with cloud computing. Attacks from other users and cloud nodes could lead to the compromise
of the data. Therefore, to protect data in the cloud, strict security measures are needed. The
optimization of the data retrieval time, however, must also be considered in the security technique
being used. In this work, we developed the division and replication of data in the cloud for optimal
performance and security (DROPS), which addresses the performance and security challenges. In the
DROPS process, we separate a file into pieces and duplicate the pieced-together data across cloud
nodes. The fact that each node only keeps a single piece of a certain data file ensures. Each node only
keeps a single piece of a specific data file, preventing the attacker from learning any useful
information even in the event of a successful attack.

In addition, the nodes that store the fragments are spaced out by a predetermined amount using graph
T-coloring to prevent an attacker from speculating where the fragments reside. Additionally, the
DROPS methodology frees the system from computationally expensive procedures by not relying on
conventional cryptographic techniques for data protection. We demonstrate how unlikely it is to find
and compromise every node holding a single file's pieces. We contrast the DROPS methodology's
performance with that of several other techniques as well. It was noted that there was a minor
performance overhead with the increased level of protection.

viii
1. INTRODUCTION

Cloud computing is the use of computing resources (hardware and software) that are delivered
as a service over a network (typically the Internet). The name comes from the common use of
a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system
diagrams. Cloud computing entrusts remote services with a user's data, software and
computation. Cloud computing consists of hardware and software resources made available on
the Internet as managed third-party services. These services typically provide access to
advanced software applications and high-end networks of server computers.

The goal of cloud computing is to apply traditional supercomputing, or high-performance


computing power, normally used by military and research facilities, to perform tens of trillions
of computations per second, in consumer-oriented applications such as financial portfolios, to
deliver personalized information, to provide data storage or to power large, immersive computer
games.

The cloud computing uses networks of large groups of servers typically running low-cost
consumer PC technology with specialized connections to spread data-processing chores across
them. This shared IT infrastructure contains large pools of systems that are linked together.
Often, virtualization techniques are used to maximize the power of cloud computing.

Cloud Computing comprises three different service models, namely Infrastructure-as-a- Service
(IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS). The three service
models or layer are completed by an end user layer that encapsulates the end user perspective
on cloud services. The model is shown in figure below. If a cloud user accesses services on the
infrastructure layer, for instance, she can run her own applications on the resources of a cloud
infrastructure and remain responsible for the support, maintenance, and security of these
applications herself. If she accesses a service on the application layer, these tasks are normally
taken care of by the cloud service provider.

1
1.1 Problem Definition

The problem of dividing and replicating data using the cloud involves finding a way to store and manage
large amounts of data in a distributed manner across multiple cloud-based servers. This can be useful for
a variety of reasons, including improving the availability and reliability of the data, reducing the risk of
data loss due to hardware failures, and increasing the scalability and performance of applications that
rely on the data. There are several challenges involved in dividing and replicating data in the cloud,
including:

Determining the appropriate level of replication: The more times data is replicated, the higher the cost
and the more complex the system becomes. It is important to find a balance between the level of
replication needed to ensure data availability and the cost and complexity of the system.

Maintaining consistency: When data is divided and replicated across multiple servers, it is important to
ensure that all copies of the data remain consistent with one another. This can be challenging, especially
when multiple users are updating the data simultaneously.

Managing data placement: In order to maximize the performance and availability of the data, it is
important to carefully consider where data is stored and how it is accessed. This can be a complex
process, especially in large-scale systems.

Ensuring data security: When data is divided and replicated across multiple servers, it is important to
ensure that the data is protected from unauthorized access and tampering. This can be challenging, as
data may be stored on servers that are not under the control of the organization.

1.2Objectives
• Achieve economies of scale – increase volume output or productivity with fewer people. Your
cost per unit, project or product plummets.
• Reduce spending on technology infrastructure- Maintain easy access to your information with
minimal upfront spending. Pay as you go (weekly, quarterly or yearly), based on demand.
• Globalize your workforce on the cheap- People worldwide can access the cloud, provided they
have an Internet connection.
• Streamline processes- Get more work done in less time with less people.
2
• Reduce capital costs- There’s no need to spend big money on hardware, software or licensing
fees.
• Improve accessibility- You have access anytime, anywhere, making your life so much easier!

1.3 Existing System

Dany Harnik presented a technique to ensure the integrity, freshness, and availability of data in a cloud.
The data migration to the cloud is performed by the Iris file system. A gateway application is designed and
employed in the organization that ensures the integrity and freshness of the data using a Merkle tree. The
file blocks, MAC codes, and version numbers are stored at various levels of the tree.
Data outsourcing relieves cloud users of the heavy burden of infrastructure management and maintenance.
However, the handover of data control to untrusted cloud servers significantly complicates the security
issues. Conventional signature verification widely adopted in cryptographic storage systems only
guarantees the integrity of retrieved data, for those rarely or never accessed data, it does not work. This
paper integrates proof of storage technique with data dynamics support into cryptographic storage design
to provide full integrity for outsourced data. Besides, we provide instantaneously freshness check for
retrieved data to defend against potential replay attacks. We achieve these goals by designing flexible block
structures and combining broadcast encryption, key regression, Merkle hash tree and proof of storage
together to provide a secure storage service for outsourced data. Experimental evaluation of our prototype
shows that the cryptographic cost and throughput are reasonable and acceptable.

D. Zissis approached the virtualized and multi-tenancy related issues in the cloud storage by utilizing the
consolidated storage and native access control. The Dike authorization architecture is proposed that
combines the native access control and the tenant name space isolation.
In a virtualization environment that serves multiple tenants, storage consolidation at the filesystem level is
desirable because it enables data sharing, administration efficiency, and performance optimizations. The
scalable deployment of filesystems in such environments is challenging due to intermediate translation
layers required for networked file access or identity management. First we present several security
requirements in multitenant filesystems. Then we introduce the design of the Dike authorization
architecture. It combines native access control with tenant namespace isolation and compatibility to object-
based filesystems. We use a public cloud to experimentally evaluate a prototype implementation of Dike

3
that we developed. At several thousand tenants, our prototype incurs limited performance overhead up to
16%, unlike an existing solution whose multitenancy overhead approaches 84% in some cases.

Some of the drawbacks of the existing system are represented below:

• The leakage of critical information in case of improper sanitization and malicious VM is not
handled.
• Such schemes do not protect the data files against tempering and loss due to issues arising from
virtualization and multi-tenancy.
The data files are not fragmented and are handled as a single file.

1.4 Proposed System

• In this project, we collectively approach the issue of security and performance as a secure data replication
problem. We present Division and Replication of Data in the Cloud for Optimal Performance and
Security (DROPS) that judicially fragments user files into pieces and replicates them at strategic locations
within the cloud.

• The division of a file into fragments is performed based on a given user criteria such that the individual
fragments do not contain any meaningful information. Each of the cloud nodes (we use the term node to
represent computing, storage, physical, and virtual machines) contains a distinct fragment to increase the
data security.

• We develop a scheme for outsourced data that considers both the security and performance. The proposed
scheme fragments and replicates the data file over cloud nodes.

Our major contributions in this project are as follows:

We develop a scheme for outsourced data that considers both the security and performance. The proposed
scheme fragments and replicates the datafile over cloud nodes. The proposed DROPS scheme ensures that
even in the case of a successful attack, no meaningful information is revealed to the attacker. We do not rely
on traditional cryptographic techniques for data security. The non-cryptographic nature of the proposed
scheme makes it faster to perform the required operations on the data. We ensure a controlled replication of
the file fragments, where each of the fragments is replicated only once for the purpose of improved security.
4
There are many advantages of the proposed system:

• The proposed DROPS scheme ensures that even in the case of a successful attack, no meaningful
information is revealed to the attacker.

• We do not rely on traditional cryptographic techniques for data security. The non-cryptographic nature
of the proposed scheme makes it faster to perform the required operations (placement and retrieval) on
the data.

• We ensure a controlled replication of the file fragments, where each of the fragments is replicated only
once for the purpose of improved security.

1.5 Requirement Specification

1.5.1 Software Requirements


The Software Requirements required for the optimal performance and security of data using cloud
computing is :
• Operating system: Windows XP.

• Coding Language: J2EE

• Data Base: MYSQL

1.5.2 Hardware Requirements

The Hardware Requirements required for the optimal performance and security of data using cloud
computing is :
• System: Pentium IV 2.4 GHz.

• Hard Disk: 40 GB.

• Ram: 512 Mb.

5
1.6 Software Environment

1.6.1 Java Technology

Java technology is both a programming language and a platform.

The Java Programming Language

The Java programming language is a high-level language that can be characterized by all of
the following buzzwords:
▪ Simple

▪ Architecture neutral

▪ Object oriented

▪ Portable

▪ Distributed

▪ High performance

▪ Interpreted

▪ Multithreaded

▪ Robust

▪ Dynamic

▪ Secure

With most programming languages, you either compile or interpret 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. The following figure illustrates how this
works.

6
Java byte codes 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. You can compile your
program into byte codes on any platform that has a Java compiler. The byte codes can then be run on
any implementation of the Java VM. That means that as long as a computer has a Java VM, the same
program written in the Java programming language can run on Windows 2000, a Solaris workstation, or
on an iMac.

1.6.2 Database Connectivity

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, you can specify the particular database that is
associated with a data source that an ODBC application program is written to use. Think of an ODBC
data source as a door with a name on it. Each door will lead you to a particular database. For example,
the data source named Sales Figures might be a SQL Server

database, whereas the Accounts Payable data source could refer to an Access database. The physical
database referred to by a data source can reside anywhere on the LAN.

The ODBC system files are not installed on your system by Windows 95. Rather, they are installed
when you setup a separate database application, such as SQL Server Client or Visual Basic 4.0. When
the ODBC icon is installed in Control Panel, it uses a file called ODBCINST.DLL. It is also possible to
administer your ODBC data sources through a stand- alone program called ODBCADM.EXE. There is
a 16-bit and a 32-bit version of this program and each maintains a separate list of ODBC
7
data sources. From a programming perspective, the beauty of ODBC is that the application can be
written to use the same set of function calls to interface with any data source, regardless of the database
vendor. The source code of the application doesn’t change whether it talks to Oracle or SQL Server.
We only mention these two as an example. There are ODBC drivers available for several dozen popular
database systems. Even Excel spreadsheets and plain text files can be turned into data sources. The
operating system uses the Registry information written by ODBC Administrator to determine which
low-level ODBC drivers are needed to talk to the data source (such as the interface to Oracle or SQL
Server). The loading of the ODBC drivers is transparent to the ODBC application program. In a
client/server environment, the ODBC API even handles many of the network issues for the application
programmer.

The advantages of this scheme are so numerous that you are probably thinking there must be some
catch. The only disadvantage of ODBC is that it isn’t as efficient as talking directly to the native
database interface. ODBC has had many detractors make the charge that it is too slow. Microsoft has
always claimed that the critical factor in performance is the quality of the driver software that is used.
In our humble opinion, this is true. The availability of good ODBC drivers has improved a great deal
recently. And anyway, the criticism about performance is somewhat analogous to those who said that
compilers would never match the speed of pure assembly language. Maybe not, but the compiler (or
ODBC) gives you the opportunity to write cleaner programs, which means you finish sooner.
Meanwhile, computers get faster every year.

JDBC

In an effort to set an independent database standard API for Java; Sun Microsystems developed Java
Database Connectivity, or JDBC. 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 run on.

8
2. LITERATURE SURVEY
This section discusses several existing methodologies for division and replication of data using
various technologies. Various techniques and cloud computing approaches are employed in the
existing methodologies. These are the few papers that discuss division and replication of data.

1. Mazhar Ali, Student Member, IEEE, Kashif Bilal, Student Member, IEEE, Samee U. Khan
in " Division and Replication of Data in the Cloud for Optimal Performance and Security "
[1] In this methodology, a cloud storage security scheme that collectively deals with the security
and performance in terms of retrieval time. The data file was fragmented, and the fragments are
dispersed over multiple nodes. The nodes were separated by means of T-coloring. The
fragmentation and dispersal ensured that no significant information was obtainable by an adversary
in case of a successful attack. No node in the cloud, stored more than a single fragment of the same
file. The performance of the DROPS methodology was compared with full-scale replication
techniques. The results of the simulations revealed that the simultaneous focus on the security and
performance, resulted in increased security level of data accompanied by a slight performance
drop. Currently with the DROPS methodology, a user must download the file, update the contents,
and upload it again. It is strategic to develop an automatic update mechanism that can identify and
update the required fragments only. Moreover, the implications of TCP in cast over the DROPS
methodology need to be studied that is relevant to distributed data storage and access.

2. Keshav Kori, Journal of Network Communications and Emerging Technologies (JNCET)


in " Optimal Performance and Security in Cloud Using Division and Replication of Data "
[2]. In three-tier and fat tree architectures, the DROPS methodology produced similar results.
However, it is clear from the D cell architecture that the DROPS methodology with eccentricity
centrality maintains the superiority over the other two centralities. The fragments are spread across
multiple nodes. T-coloring was used to separate the nodes. The fragmentation and dispersal
ensured that no significant storage capacity constraints were violated. We proposed the DROPS
methodology, a cloud storage security scheme that addresses both security and retrieval
performance. The capacity limits may be lifted because of the data file being one of the best nodes
to choose for replication node storage. logically, a decrease.

9
3. Dany Harnik, Elloit K. Kolodner, Shahar Ronen, Julain Satran, Alexandra Shulman-
Peleg, and Sivan Tal in " Secure access mechanism for cloud storage " [3] Emerging storage
cloud systems provide continuously available and highly scalable storage services to millions
of geographically distributed clients. A secure access control mechanism is a crucial prerequisite
for allowing clients to entrust their data to such cloud services. The seamlessly unlimited scale
of the cloud and the new usage scenarios that accompany it pose new challenges in the design
of such access control systems. In this there is a presentation of a capability-based access control
model and architecture appropriate for cloud storage systems that is secure, flexible, and
scalable. We introduce new functionalities such as a flexible and dynamic description of
resources, an advanced delegation mechanism and support for auditability, accountability and
access confinement. The paper details the secure access model, shows how it fits in a scalable
storage cloud architecture, and analyzes its security and performance.

4. D. Zissis, Yu-Hsin Hung in " Addressing cloud computing security issues [4] proposed that
the Internet of Things (IoT) transforms many fields, including the educational, logistics, and
manufacturing industries. The IoT is an internet framework whereby many devices or equipment
are connected and synchronized using gateways, third-party technologies, and software in
machine-to machine and cloud computing networks. With the flourishing development of IoT,
cloud computing plays an essential role in its application layer. Cloud computing technology
has been widely applied in various industries and developed as particular cloud computing
types: education as a service (EaaS), logistics as a service (LaaS), and manufacturing as a service
(Maas). The applicability of cloud computing in various industries has attracted significant
attention from researchers and professionals. The findings indicate that intelligence and
automation are the core issues that drive research on cloud computing. The main types of
research are critical review, system design, and systematic analysis. Cloud computing services
are related to big data, analytical technologies, service orientation, and IoT. This study applied
machine-learning algorithms to analyse educational, logistic, and manufacturing data and
yielded results with more than 90% accuracy and AUC.

10
Table 2.1 Literature Survey Table

S. No YEAR AUTHOR AND TECHNIQUES ADVANTAGES DISADVANTAGES


TITLE

1. 2015 Mazhar Ali, Data Data file was Larger file sizes must
Student Fragmentation, fragmented, and the also be checked.
Member, IEEE, T- Colouring fragments were Can use better platform
Kashif Bilal, techniques are distributed across for study.
Student used. multiple nodes.
Member, IEEE, Nodes were then
Samee U. Khan, separated using T-
Senior Member, coloring. The nodes
IEEE, are selected based on
Bharadwaj centrality measures
Veeravalli, that ensure an
improved access
Division and time.
Replication of
Data in the
Cloud for
Optimal
Performance and
Security
2. 2017 Keshav Kori, The encryption The threshold secret Data files are not
Journal of key is divided, sharing scheme pays fragmented and are
Network and division is attention to the handled as a single file.
Communication done through replication problem Mainly focuses on
s and Emerging threshold secret with security and encryption key security
Technologies sharing scheme. access time unlike our methodology.
(JNCET), improvement, pays
attention to the
Optimal replication problem
Performance and with security and
Security in access time
Cloud Using improvement.
Division and
Replication of
Data
11
S. No YEAR AUTHOR AND TECHNIQUES ADVANTAGES DISADVANTAGES
TITLE

3. 2014 Dany Harnik, capability-based Addresses virtualized But in this system, there
Elloit K. access control and multitenancy might be leakage of
Kolodner, model, advanced related problems. critical information due
Shahar Ronen, delegation This architecture to inadequate
Julain Satran, mechanism works by combining sanitization or improper
Alexandra the native access VM. DRDC
Shulman-Peleg, control and the methodology.
and Sivan Tal, tenant's name space
Conference: isolation.
IEEE
International
Conference on
Massive Storage
Systems and
Technology,

Secure access
mechanism for
cloud storage
4. 2019 D. Zissis, Yu- Use public key Use public key Do not use PKI
Hsin Hung, infrastructure, infrastructure, so that infrastructure.
smart card for the level of trust is Tampering and loss due
Addressing cloud storage of key increased in the to virtualization and
computing communication multitenancy are not
security between the involved prevented.
issues(IEEE parties. Use of smart
2019) card was advised for
the storage of the key
at the user level.

Table 2.1 shows the techniques/methods, merits, and demerits for a few research papers which helps in
improving the proposed system for the division and replication of data.

12
3. DESIGN AND METHODOLOGY

We develop a scheme for outsourced data that considers both the security and performance. The
proposed scheme fragments and replicates the datafile over cloud nodes. The proposed DROPS scheme
ensures that even in the case of a successful attack, no meaningful information is revealed to the
attacker. We do not rely on traditional cryptographic techniques for data security. The non-
cryptographic nature of the proposed scheme makes it faster to perform the required operations
(placement and retrieval) on the data. We ensure a controlled replication of the file fragments, where
each of the fragments is replicated only once for the purpose of improved security.

• In this project, we collectively approach the issue of security and performance as a secure data
replication problem. We present Division and Replication of Data in the Cloud for Optimal
Performance and Security (DROPS) that judicially fragments user files into pieces and replicates them
at strategic locations within the cloud.

• The division of a file into fragments is performed based on a given user criteria such that the individual
fragments do not contain any meaningful information. Each of the cloud nodes (we use the term node
to represent computing, storage, physical, and virtual machines) contains a distinct fragment to increase
the data security.

• We develop a scheme for outsourced data that considers both the security and performance. The
proposed scheme fragments and replicates the data file over cloud nodes.

Our major contributions in this project are as follows:

13
3.1 System Architecture

Dividing and replicating data using the cloud refers to the process of storing and managing large
amounts of data in a distributed manner across multiple servers in the cloud. This can be useful
for a variety of reasons, including improving the availability and reliability of the data, reducing
the risk of data loss due to hardware failures, and increasing the scalability and performance of
applications that rely on the data. There are several approaches that can be used for dividing and
replicating data in the cloud, including sharing, replication, erasure coding, consistent hashing,
and using a distributed file system. The specific approach that is used will depend on the specific
requirements and constraints of the system, such as the amount of data, the expected load on the
system, and the desired level of availability and performance.

Figure 3.1.1 System Architecture Decision making and Implementation.

14
Figure 3.1.1 shows an overview of how the proposed system is built for the division and
replication of data for optimal performance and security. There are several potential uses for
dividing and replicating data using the cloud:
1. Improved availability and reliability: By replicating data across multiple servers, the system can
continue to operate even if one of the servers fails. This can improve the availability and reliability
of the system.
2. Increased scalability: By dividing the data into smaller chunks and storing them on multiple
servers, the system can handle a larger volume of requests and a larger amount of data.
3. Improved performance: By storing data on multiple servers and using a load balancer to distribute
requests evenly, the system can improve the performance of applications that rely on the data.
4. Data backup and recovery: By replicating data across multiple servers, the system can provide a
backup of the data in case of data loss or corruption. This can be useful for disaster recovery
purposes.
5. Compliance: In some cases, regulations may require that data be stored in a certain way, such as
by replicating the data across multiple servers or by storing the data in a specific geographic
location. Dividing and replicating data using the cloud can help organizations to meet these
requirements.
3.2 Modules

i)Cloud Servers
ii) Data Users Module
iii) Auditor
iv) Secure De-duplication System

Cloud Servers
• In this module, we develop Cloud Service Provider module. This is an entity that provides a data
storage service in public cloud.
• The CS provides the data outsourcing service and stores data on behalf of the users.
• To reduce the storage cost, the CS eliminates the storage of redundant data via deduplication and
keeps only unique data.
• In this project, we assume that CS is always online and has abundant storage capacity and
computation power.
15
Data Users Module
• A user is an entity that wants to outsource data storage to the S-CSP and access the data later.
• In a storage system supporting deduplication, the user only uploads unique data but does not
upload any duplicate data to save the upload bandwidth, which may be owned by the same user
or different users.
• In the authorized deduplication system, each user is issued a set of privileges in the setup of the
system. Each file is protected with the convergent encryption key and privilege keys to realize
the authorized deduplication with differential privileges.

Auditor
Auditor which helps clients upload and audit their outsourced data maintains a MapReduce cloud
and acts like a certificate authority. This assumption presumes that the auditor is associated with
a pair of public and private keys. Its public key is made available to the other entities in the
system. The first design goal of this work is to provide the capability of verifying correctness of
the remotely stored data. public verification, which allows anyone, not just the clients originally
stored the file, to perform verification.

Secure Replication System


• We consider several types of privacy we need protect, that is, i) unforgeability of duplicate-check
token: There are two types of adversaries, that is, external adversary and internal adversary.
• As shown below, the external adversary can be viewed as an internal adversary without any
privilege.
• If a user has privilege p, it requires that the adversary cannot forge and output a valid duplicate
token with any other privilege p′ on any file F, where p does not match p′. Furthermore, it also
requires that if the adversary does not make a request of token with its own privilege from private
cloud server, it cannot forge and output a valid duplicate token with p on any F that has been
queried.

16
3.3 UML Models

3.3.1 Use Case Diagram

Figure 3.3.1 Use Case Diagram

Figure 3.4.1 describes the simplest representation of a user and admin's interaction with the system
that shows the relationship between the user and admin with the different use cases in which the
user and admin is involved. A use case diagram can identify the different types of users of a system
and the different use cases and will often be accompanied by other types of diagrams as well. The
use cases are represented by either circles or ellipses. The main purpose of a use case diagram is
to show what system functions are performed for which actor. Roles of the actors in the system
can be depicted.

17
3.3.2 Class Diagram

Figure 3.3.2 Class Diagram

Figure 3.4.2 describes the class diagram of the system. A class defines the methods or operations
and variables or attributes in an object, which is a specific entity in a program or the unit of code
representing that entity. The above class diagram represents a blueprint of the system that is being
developed. The relationships among the objects in a class diagram describe the flow of operations
performed and attributes defined in developing the system. The classes in a class diagram represent
both the main elements, interactions in the application, and the classes to be programmed.

18
3.3.3 Sequence Diagrams

Figure 3.3.3 Sequence Diagram for User

Figure 3.4.3 describes the sequence of tasks performed in execution of the system. The user first
signup on the website, registers himself and then signs in. After the user authentication done by
the web application. shows, as parallel vertical lines (lifelines), different processes or objects that
live simultaneously, and as horizontal arrows, the messages exchanged between them, in the order
in which they occur.
19
3.3.4 State chart Diagram

Figure 3.3.4 State Chart Diagram

Figure 3.4.4 describes a state machine. State machine can be defined as a machine which defines
different states of an object, and these states are controlled by external or internal events. The
name of the diagram itself clarifies the purpose of the diagram and other details. It describes
different states of a component in a system. The states are specific to a component/object of a
system.

20
3.3.5 Component Diagram

Figure 3.3.5 Component Diagram

Figure 3.4.5 visualizes the relationships as well as the organization between the components
present in the system. It helps in forming an executable system. A component is a single unit of
the system, which is replaceable and executable. The implementation details of a component
are hidden, and it necessitates an interface to execute a function. It is like a black box whose
behavior is explained by the provided and required interfaces. This diagram is used to break
down a large object-oriented system into the smaller components, to make them more
manageable. It models the physical view of a system such as executables, files, libraries, etc.
that resides within the node.

21
4. TESTING AND RESULTS
4.1 Testing

Table 4.1 represents the testing of optimal performance and security of the
demonstrated project.

22
Integration Testing

Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.

The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company level
– interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

Acceptance Testing

User Acceptance Testing is a critical phase of any project and requires significant participation
by the end user. It also ensures that the system meets the functional requirements.

Test Results: All the test cases mentioned above passed successfully. No defects encountered.

23
4.2 Results

Figure 4.2.1 Home Page


Figure 4.2.1 represents initially home is presented where different kinds of
fields are represented such as admin login, cloud server login, and user login.

Figure 4.2.2 Admin Login

Figure 4.2.2 represents the admin login where the admin can enter the
password for his login

24
Figure 4.2.3 Server Login
Figure 4.2.3 shows the server login is used to divide the data into fragments in the
cloud, where the different fragments can be stored in different nodes of server.

Figure 4.2.4 User Registration


Figure 4.2.4 represents that the user must register to upload or download the
files in the cloud, where he must create password and enter some details.

25
Figure 4.2.5 User Login
In Figure 4.2.5 the registered user must login into the cloud server so that they can
download or upload the file.

Figure 4.2.6 User Operations


In figure 4.2.6 there are some of the user operations which he/she can perform in the
cloud server.
26
Figure 4.2.7 Uploading Files
Figure 4.2.7 shows that the files can be uploaded by the user who logged in to the
cloud server.

Figure 4.2.8 Downloading File


Figure 4.2.8 demonstrates the user logged in can download the files.

27
Figure 4.2.9 Encrypted Data

In the Figure 4.2.9 the data will be in encrypted form which can only be opened by the
verified user, who gets the private key to his/her’s email given during the registration.

Figure 4.2.10 Replication


In Figure 4.2.10 the data is replicated using the private key.

28
5. CONCLUSION AND FUTURE SCOPE

5.1 Conclusion

We proposed the DROPS methodology, a cloud storage security scheme that collectively deals with the
security and performance in terms of retrieval time. The data file was fragmented, and the fragments are
dispersed over multiple nodes. The fragmentation and dispersion ensured that no vital data was get able
by an opposer just in case of a made attack. Fragmentation used to protect data from unity point in time
disaster. No node within the cloud, stored more than a single fragment of the same file. The performance
of the DROPS methodology was compared with full-scale replication techniques. The results of the
simulations unconcealed that the coincidental concentrate on the protection and performance, resulted
in increased security level of data accompanied by a slight performance drop. Currently with the DROPS
methodology, a user has to download the file, update the contents, and upload it again. It is strategic to
develop an automatic update mechanism which will establish and update the specified fragments solely.

5.2 Future Scope

• Several it saves the time and resources utilized in downloading, up- dating, and uploading the file
again. Moreover, the implications of TCP in-cast over the DROPS methodology need to be studied
that is relevant to distributed data storage and access. More data cleaning and Image pre-
processing can be done to reduce the validation loss.

• In further development we can work on different files to store in the cloud server. So, the system
is developed to enhance the change by the requirements of the user, therefore these are
opportunities and scope for future enhancement and upgrading are possible in this project. The
project is flexible to adapt the changes efficiently without affecting the present system. The model
training over large fundus image datasets to build a much more accurate detection model could be
efficient when the system is connected to a GPU, allowing it to run smoothly and reduce the model
training time.

29
BIBLIOGRAPHY

[1]. Mazhar Ali, Student Member, IEEE, Kashif Bilal, Student Member, IEEE, Samee U. Khan
" Division and Replication of Data in the Cloud for Optimal Performance and Security "
http://www.cs.newpaltz.edu/~lik/publications/Mazhar-Ali-IEEE-TCC-2015.pdf

[2]. Keshav Kori, Journal of Network Communications and Emerging Technologies (JNCET) "
Optimal Performance and Security in Cloud Using Division and Replication of Data
"https://www.jncet.org/Manuscripts/Volume-7/Issue-5/Vol-7-issue-5-M-05.pdf.

[3]. Dany Harnik, Elloit K. Kolodner, Shahar Ronen, Julain Satran, Alexandra Shulman-Peleg, and
Sivan Tal " Secure access mechanism for cloud storage”
https://www.researchgate.net/publication/266208389_Virtualization-
aware_Access_Control_for_Multitenant_Filesystems
.

[4]. D. Zissis, Yu-Hsin Hung " Addressing cloud computing security issues”
https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8932508.

[5]. ] K. Bilal, S. U. Khan, L. Zhang, H. Li, K. Hayat, S. A. Madani, N. Min-Allah, L. Wang, D. Chen,
M. Iqbal, C. Z. Xu, and A. Y. Zomaya, “Quantitative comparisons of the state of the art
knowledge center architectures,”
Concurrency and Computation: observe and skill, Vol. 25, No. 12, 2013, pp. 1771-1783.

[6]. G. Kappes, A. Hatzieleftheriou, and S. V. Anastasiadis, “Dike: Virtualization-aware Access


Control for Multitenant Filesys- tems,” University of Ioannina, Greece, Technical Report No.
DCS2013-1, 2013.

[7] Y. Tang, P. P. Lee, J. C. S. Lui, and R. Perlman, “Secure overlay cloud storage with access
management and warranted deletion,” IEEE Transactions on Dependable and Secure Computing,
Vol. 9, No. 6, Nov. 2012, pp. 903-916.

30
[8] D.Boru, D.Kliazovich , F.Granelli, P.Bouvry,andA. Y.Zomaya, “Energy-efficient data replication in
cloud computing datacen- ters,” In IEEE Globecom Workshops, 2013, pp. 446-451.

[9] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A.


Rabkin, I. Stoica, and M. Zaharia, ―A view of cloud computing,‖ Communication of the
ACM, vol. 53, no. 4, pp. 50–58, 2010.

[10]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.

[11]S. Halevi, D. Harnik, B. Pinkas, and A. Shulman-Peleg, ―Proofs of ownership in remote storage
systems,‖ in Proceedings of the 18th ACM Conference on Computer andCommunications Security.
ACM, 2011, pp. 491–500.

[12]S. Keelveedhi, M. Bellare, and T. Ristenpart, ―Dupless: Serveraided encryption for


deduplicated storage,‖ in Proceedings of the 22Nd USENIX Conference on Security, ser.SEC’13.
Washington, D.C.: USENIX Association, 2013, pp. 179–194. [Online]. Available:
https://www.usenix.org/conference/usenixsecurity13/technicalsessions/presentation/bellare

[13]G. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner, Z. Peterson, and D. Song,

―Provable data possession at untrusted stores,‖ in Proceedings of the 14th ACM Conference on
Computer and Communications Security, ser. CCS ’07. New York, NY, USA: ACM, 2007, pp.
598–609.

[14]G. Ateniese, R. Burns, R. Curtmola, J. Herring, O. Khan, L. Kissner, Z. Peterson, and D. Song,
―Remote data checking using provable data possession,‖ ACM Trans. Inf. Syst. Secur., vol. 14, no. 1,
pp. 12:1–12:34, 2011.

31
APPENDIX

Web.xml
<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-
app_3_0.xsd">

<servlet>

<servlet-name>admin_login</servlet-name>

<servlet-class>action.admin_login</servlet-class>

</servlet>

<servlet>

<servlet-name>user_login</servlet-name>

<servlet-class>action.user_login</servlet-class>

</servlet>

<servlet>

<servlet-name>registration</servlet-name>

<servlet-class>action.registration</servlet-class>

</servlet>

<servlet>

<servlet-name>pcloud_login</servlet-name>

<servlet-class>action.pcloud_login</servlet-class>

</servlet>

<servlet>

<servlet-name>rights</servlet-name>

<servlet-class>action.rights</servlet-class>
32
</servlet>

<servlet>

<servlet-name>upload</servlet-name>

<servlet-class>action.upload</servlet-class>

</servlet>

<servlet>

<servlet-name>NewServlet</servlet-name>

<servlet-class>action.NewServlet</servlet-class>

</servlet>

<servlet>

<servlet-name>updating</servlet-name>

<servlet-class>action.updating</servlet-class>

</servlet>

<servlet>

<servlet-name>download</servlet-name>

<servlet-class>action.download</servlet-class>

</servlet>

<servlet>

<servlet-name>request</servlet-name>

<servlet-class>action.request</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>admin_login</servlet-name>

<url-pattern>/admin_login</url-pattern>

</servlet-mapping>

33
<servlet-mapping>

<servlet-name>user_login</servlet-name>

<url-pattern>/user_login</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>registration</servlet-name>

<url-pattern>/registration</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>pcloud_login</servlet-name>

<url-pattern>/pcloud_login</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>rights</servlet-name>

<url-pattern>/rights</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>upload</servlet-name>

<url-pattern>/upload</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>NewServlet</servlet-name>

<url-pattern>/NewServlet</url-pattern>

</servlet-mapping>

<servlet-mapping>
34
<servlet-name>updating</servlet-name>

<url-pattern>/updating</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>download</servlet-name>

<url-pattern>/download</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>request</servlet-name>

<url-pattern>/request</url-pattern>

</servlet-mapping>

<session-config>

<session-timeout>30

</session-timeout>

</session-config>

</web-app>

Admin.jsp

<html>

<head>

<title>Secure Auditing</title>

<meta name="description" content="website description" />

<meta name="keywords" content="website keywords, website keywords" />

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

35
<link rel="shortcut icon" type="image/x-icon"
href="images/brainstorming_alternative.png"/>

<link rel="stylesheet" type="text/css" href="css/style.css" />

<!--modernizr enables HTML5 elements and feature detects -->

<script type="text/javascript" src="js/modernizr-1.5.min.js"></script>

<style>
#id{

width: 200px;

height: 25px;

background-color: #D3F2F7;

#but{

width: 60px;

height: 25px;

</style>

<script>

function validation() {

varuname = document.ulogin.username.value;var

pass = document.ulogin.password.value;

if (uname == 0) { alert("Enter

ADMIN ID");

document.ulogin.username.focus();

return false;

}
36
if (pass == 0) { alert("Enter

password");

document.ulogin.password.focus();

return false;

</script>
</head>

<body>

<div id="main">

<header>

<div id="logo">

<div id="logo_text">

<!-- class="logo_colour", allows you to change the colour of the text -->

<pre><h1><a href="#"></a></h1></pre>

</div>

</div>

<nav>

<ul class="sf-menu" id="nav">

<li><a href="index.html">Home</a></li>

<li class="selected"><a href="admin.jsp">Auditor</a></li>

<li><a href="p_cloud.jsp">Cloud Server</a></li>

<li><a href="#">User</a>

<ul>

<li><a href="user.jsp">Login</a></li>

37
<li><a href="register.jsp">Register</a></li>

</ul>

</li>

<li><a href="">Contact Us</a></li>

</ul>

</nav>

</header>

<div id="site_content">

<div id="sidebar_container">
<div class="gallery">

<ul class="images">

<li class="show"><img width="450" height="450" src="images/model.png" alt="photo_one"


/></li>

<li><img width="450" height="450" src="images/c2.jpg" alt="photo_two" /></li>

<li><img width="450" height="450" src="images/c3.jpg" alt="photo_three" /></li>

<li><img width="450" height="450" src="images/c4.jpg" alt="photo_four" /></li>

<li><img width="450" height="450" src="images/c5.jpg" alt="photo_five" /></li>

</ul>

</div>

</div>

<div id="content">

<fieldset style="background-color: lightblue;border-radius: 9px;height: 350px;margin-top:


40px;background-image: url('images/audit.jpg')">

<center>

<h1 style="font: monospace;font-size: 35px;font-weight: bold;color: darkslateblue">Auditor


Login</h1><br>

<form action="admin_login" name="ulogin" method="post" onsubmit="return validation()">


38
<!-- USERNAME:<br>-->

<input type="text" id="id" name="username" placeholder="Enter Auditor


ID"/><br></br><br>

<!-- PASSWORD:<br>-->

<input type="password" id="id"name="password" placeholder="Enter


password"/><br></br><br>

<input type="submit" id="but" value=""style="border-radius: 12px;height: 38px;width:


93px;background-image: url('images/submit.png')"/>

&nbsp;&nbsp;

<input type="reset"id="but" value="" style="border-radius: 12px;height: 38px;width:


83px;background-image: url('images/reset.png')"></input><br></br>
</form>
</center>

</fieldset>

</div>

</div>

<footer>

<p>.</p>

</footer>

</div>

<p>&nbsp;</p>

<!--javascript at the bottom for fast page loading -->

<script type="text/javascript" src="js/jquery.js"></script>

<script type="text/javascript" src="js/jquery.easing-sooper.js"></script>

<script type="text/javascript" src="js/jquery.sooperfish.js"></script>

<script type="text/javascript" src="js/image_fade.js"></script>

<script type="text/javascript">
39
$(document).ready(function() {

$('ul.sf-menu').sooperfish();

});

</script>

</body>

</html>

Cloud.jsp

<html>

<head>

<title>Secure Auditing</title>

<meta name="description" content="website description" />

<meta name="keywords" content="website keywords, website keywords" />


<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<link rel="shortcut icon" type="image/x-icon"


href="images/brainstorming_alternative.png"/>

<link rel="stylesheet" type="text/css" href="css/style.css" />

<!--modernizr enables HTML5 elements and feature detects -->

<script type="text/javascript" src="js/modernizr-1.5.min.js"></script>

<style>

#id{

width: 200px;

height: 25px;

background-color: #D3F2F7;

#but{ width:

40
60px;height:

25px;

</style>

<script>

function validation(){

varuname=document.ulogin.username.value;var

pass=document.ulogin.password.value;

if(uname==0){

alert("Enter ID");

document.ulogin.username.focus();

return false;

if(pass==0){
alert("Enter password");

document.ulogin.password.focus();

return false;

</script>

</head>

<body>

<div id="main">

<header>

<div id="logo">

41
<div id="logo_text">

<!-- class="logo_colour", allows you to change the colour of the text -->

<pre><h1><a href="#"></a></h1></pre>

</div>

</div>

<nav>

<ul class="sf-menu" id="nav">

<li><a href="index.html">Home</a></li>

<li><a href="admin.jsp">Auditor</a></li>

<li class="selected"><a href="p_cloud.jsp">Cloud Server</a></li>

<li><a href="#">User</a>

<ul>

<li><a href="user.jsp">Login</a></li>

<li><a href="register.jsp">Register</a></li>

</ul>

</li>
</ul>

</nav>

</header>

<div id="site_content">

<div id="sidebar_container">

<div class="gallery">

<ul class="images">

<li class="show"><img width="450" height="450" src="images/c1.jpg" alt="photo_one"


/></li>

<li><img width="450" height="450" src="images/c2.jpg" alt="photo_two" /></li>


42
<li><img width="450" height="450" src="images/c3.jpg" alt="photo_three" /></li>

<li><img width="450" height="450" src="images/c4.jpg" alt="photo_four" /></li>

<li><img width="450" height="450" src="images/c5.jpg" alt="photo_five" /></li>

</ul>

</div>

</div>

<div id="content">

<fieldset style="background-color: lightblue;border-radius: 9px;height: 430px;margin-top:


10px;background-image: url('images/audit.jpg')">

<center>

<h1 style="font: monospace;font-size: 35px;font-weight: bold;color: darkslateblue">Cloud


Server Login</h1><br>

<form action="pcloud_login" name="ulogin" method="post" onsubmit="return


validation()">

<!-- USERNAME:<br>-->

<input type="text" id="id" name="username" placeholder="Enter Cloud


ID"/><br></br><br><br>

<!-- PASSWORD:<br>-->
<input type="password" id="id"name="password" placeholder="Enter
password"/><br></br><br><br>

<input type="submit" id="but" value=""style="border-radius: 12px;height: 38px;width:


93px;background-image: url('images/submit.png')"/>

&nbsp;&nbsp;

<input type="reset"id="but" value="" style="border-radius: 12px;height: 38px;width:


83px;background-image: url('images/reset.png')"></input><br></br>

</form>

</center>

</fieldset>
43
</div>

</div>

<footer>

<p>.</p>

</footer>

</div>

<p>&nbsp;</p>

<!--javascript at the bottom for fast page loading -->

<script type="text/javascript" src="js/jquery.js"></script>

<script type="text/javascript" src="js/jquery.easing-sooper.js"></script>

<script type="text/javascript" src="js/jquery.sooperfish.js"></script>

<script type="text/javascript" src="js/image_fade.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('ul.sf-menu').sooperfish();

});

</script>

</body>
</html>

User.jsp

<html>

<head>

<title>Secure Auditing</title>

<meta name="description" content="website description" />

<meta name="keywords" content="website keywords, website keywords" />


44
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<link rel="shortcut icon" type="image/x-icon"


href="images/brainstorming_alternative.png"/>

<link rel="stylesheet" type="text/css" href="css/style.css" />

<!--modernizr enables HTML5 elements and feature detects -->

<script type="text/javascript" src="js/modernizr-1.5.min.js"></script>

<script>

function validation(){

varuname=document.ulogin.username.value;var

pass=document.ulogin.password.value;

if(uname==0){

alert("Enter username");

document.ulogin.username.focus();

return false;

if(pass==0){ alert("Enter

password");

document.ulogin.password.focus();

return false;

}
}

</script>

<style>

#id{

width: 200px;

45
height: 25px;

background-color: #D5D5D5;

#but{ width:

60px;height:

25px;

</style>

</head>

<body>

<%

if(request.getParameter("status")!=null){

out.println("<script>alert('Registered')</script>");

%>

<div id="main">

<header>

<div id="logo">

<div id="logo_text">

<!-- class="logo_colour", allows you to change the colour of the text -->

<<pre><h1><a href="#"></a></h1></pre>

</div>

</div>

<nav>
46
<ul class="sf-menu" id="nav">

<li><a href="index.html">Home</a></li>

<li><a href="admin.jsp">Auditor</a></li>

<li><a href="p_cloud.jsp">Cloud Server</a></li>

<li class="selected"><a href="#">User</a>

<ul>

<li class="selected"><a href="user.jsp">Login</a></li>

<li><a href="register.jsp">Register</a></li>

</ul>

</li>

</ul>

</nav>

</header>

<div id="site_content">

<div id="sidebar_container">

<div class="gallery">

<ul class="images">

<li class="show"><img width="450" height="450" src="images/c1.jpg" alt="photo_one"


/></li>

<li><img width="450" height="450" src="images/c2.jpg" alt="photo_two" /></li>

<li><img width="450" height="450" src="images/c3.jpg" alt="photo_three" /></li>

<li><img width="450" height="450" src="images/c4.jpg" alt="photo_four" /></li>

<li><img width="450" height="450" src="images/c5.jpg" alt="photo_five" /></li>

</ul>
</div>

47
</div>

<div id="content">

<fieldset style="background-color: lightblue;border-radius: 9px;height: 430px;margin-top:


10px;background-image: url('images/user.jpg')">

<center>

<h1 style="font: monospace;font-size: 35px;font-weight: bold;color: darkslateblue">Cloud


User Login</h1><br>

<form action="user_login" name="ulogin" method="post" onsubmit="return validation()">

<!-- USERNAME:<br>-->

<input type="text" id="id" name="username" placeholder="Enter


username"/><br></br><br>

<!-- PASSWORD:<br>-->

<input type="password" id="id"name="password" placeholder="Enter


password"/><br></br><br>

<input type="submit" id="but" value=""style="border-radius: 12px;height: 38px;width:


93px;background-image: url('images/submit.png')"/>

&nbsp;&nbsp; <input type="reset"id="but" value="" style="border-radius: 12px;height:


38px;width: 83px;background-image: url('images/reset.png')"></input><br></br>

<font style="font-size: 17px;"><label style="font: monospace;color: darkslateblue">New


User</label><a href="register.jsp" style="font: monospace;color: darkslateblue">Register
here</a></font>

</form>

</center>

</fieldset>

</div>

</div>

<footer>

<p>.</p>

48
</footer>
</div>

<p>&nbsp;</p>

<!--javascript at the bottom for fast page loading -->

<script type="text/javascript" src="js/jquery.js"></script>

<script type="text/javascript" src="js/jquery.easing-sooper.js"></script>

<script type="text/javascript" src="js/jquery.sooperfish.js"></script>

<script type="text/javascript" src="js/image_fade.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('ul.sf-menu').sooperfish();

});

</script>

</body>

</html>

49

You might also like