Sunteți pe pagina 1din 58

A Secure and Performant Data Repository on Public Clouds

INTRODUCTION
Cloud computing has gained immense following in the business and scientific
communities due to the ease of access and management, combined with a pay-as-
you-go model for elastic on-demand resource usage. Of the diverse Cloud

service offerings, Cloud storage is by far the more popular, whether used as an
IaaS like file or BLOB store, PaaS like SQL Azure or SaaS like DropBox1. These
storage services are used for online content distribution, synchronization across
devices, and for document sharing by enterprises and scientific collaborations.
Despite its success, there is heightened concern about the security and
privacy of Cloud-hosted data to many eBusiness and eSciences that are considering
shifting to Clouds. These arise from reasons: shared Cloud infrastructure for
storing data from different organizations, co-location of multi-tenant applications
with the storage services, and malicious insiders at Cloud providers getting access
to data. These do not presuppose ill-intentions by Cloud providers, who make a
best effort (but not guarantees) of data security, but are rather the consequence of
the “shared infrastructure managed by third party providers” model of Clouds.

Consider the following scenario to motivate our work. Smart Power Grids are
giving utilities unprecedented access to real time power consumption data on
individual customers. Managing and analyzing this data requires large-scale
compute and storage resources such as offered by Clouds[3]. As part of the Los
Angeles Smart Grid Demonstration project, the University of Southern California
(USC) campus is serving as a test bed to research Smart Grid software
technologies and human behavior to study power usage. This multi-disciplinary
research has several departments and researchers involved, and data is collected on
buildings, occupants, campus events, classroom schedules, and weather, in

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 1


A Secure and Performant Data Repository on Public Clouds

addition to Smart Meter and sensor data. A Cloud-hosted data repository to hold
personally identifiable information for scientific and operational needs should
enforce this single owner/multiple writers/multiple readers permission on
individual data files with low management overhead, while ensuring that plaintext
data is not stored in the Cloud.

OBJECTIVE

The main objective of the project is, The main objective of the project is,
Emerging needs of secure data storage and sharing for domains like Smart Power
Grids, hich deal with sensitive consumer data, require the persistence and
availability of Cloud storage but with client-controlled security and encryption,
low key management overhead, and minimal performance costs.Cryptoniteis a
secure Cloud storage repository that addresses these requirements using a
Strongbox model for shared key management.

PROBLEM STATEMENT

The use of cloud computing has increased rapidly in many organizations. Cloud
computing provides many benefits in terms of low cost and accessibility of data.
Ensuring the security of cloud computing is a major factor in the cloud computing
environment, Existing Cloud storage services only provide basic access control
mechanisms 2 , and the limited research on secure, shared Cloud repositories often
require extensive deployment of infrastructure services that undermines their
manageability. Specifically, there are two classes of current solutions. One uses
simple file en/decryption on the client side, managed through shared keys, such
that only encrypted files are hosted in Clouds

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 2


A Secure and Performant Data Repository on Public Clouds

SYSTEM ARCHITECTURE:

EXISTING SYSTEM:

Cloud storage has become immensely popular for maintaining synchronized copies
of files and for sharing documents with collaborators. However, there is heightened
concern about the security and privacy of Cloud-hosted data due to the shared
infrastructure model and an implicit trust in the service providers. Emerging needs
of secure data storage and sharing for domains like Smart Power Grids, which deal
with sensitive consumer data, require the persistence and availability of Cloud
storage but with client-controlled security and
encryption, low key management overhead, and minimal performance costs.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 3


A Secure and Performant Data Repository on Public Clouds

DISADVANTAGES OF EXISTING SYSTEM:


1. Cloud storage has become immensely popular for maintaining synchronized
copies of files and for sharing documents with collaborators. However, there is
heightened concern about the security and privacy of Cloud-hosted data due to the
shared infrastructure model and an implicit trust in the service providers.

2. Emerging needs of secure data storage and sharing for domains like Smart
Power Grids, which deal with sensitive consumer data, require the persistence and
availability of Cloud storage but with client-controlled security and encryption,
low key management overhead, and minimal performance costs.

PROPOSED SYSTEM:
This paper focuses on the issues related to the data security aspect of cloud
computing. Cryptoniteis a secure Cloud storage repository that addresses these
requirements using a StrongBoxmodel for shared key management. We describe
theCryptoniteservice and desktop client, discuss performance optimizations, and
provide an empirical analysis of the improvements. Our experiments shows that
Cryptonite clients achieve a 40% improvement in file upload bandwidth over
plaintext storage using the Azure Storage Client API despite the added security
benefits, while our file download performance is 5 times faster than the baseline
for files greater than 100MB

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 4


A Secure and Performant Data Repository on Public Clouds

ADVANTAGES OF PROPOSED SYSTEM:

1. We implement Cryptonite, a secure data repository that runs within Azure and
provides service APIs compatible with existing Cloud storage services.
2. We present pipelined and data parallel performance optimizations to reduce the
security overhead caused through encryption and key management.

2.SYSTEM ANALYSIS

Literature survey

The Theoretical background of the mainly used to know how to get interacted with
user and to know the updates and to obtain the solutions to our problems.

PHP

PHP, one of the Web’ s most popular programming languages. According to Net
craft ( www.netcraft.com ), PHP was running on more than 20 million Web servers
in July 2007 ( http://www.php.net/usage.php ). At the time of writing, it ’ s the
fourth most popular programming language in the world according to TIOBE (
http://www.tiobe.com/index.php/ content/paper info/topic/ ), beaten only by Java,
C, and C++. With the introduction of version 5.3, there’s never been a better time
to learn PHP.

PHP is a programming language for building dynamic, interactive Web sites. As a


general rule, PHP programs run on a Web server, and serve Web pages to visitors
on request. One of the key features of PHP is that you can embed PHP code within
HTML Web pages, making it very easy for you to create dynamic content quickly.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 5


A Secure and Performant Data Repository on Public Clouds

What exactly does the phrase “dynamic, interactive Websites ” mean? A dynamic
Web page is a page whose contents can change automatically each time the page is
viewed. Contrast this with a static Web page, such as a simple HTML file, which
looks the same each time it’ s displayed (at least until the page is next edited).
Meanwhile, an = interactive Web site is a site that responds to input from its
visitors. A Web forum is a good example users can post new messages to the
forum, which are then displayed on the site for all to see. Another simple example
is a “ contact us ” form, where visitors interact with the page by filling out and
sending a form, which is then emailed to the Webmaster.

FEATURES OF PHP:

 Simple
 Secure
 Portable

SIMPLE:

It is simple for professional programmer to learn & they can use it effectively. If
we already know structure oriented programming, then learning php is very easy.

SECURE:

As we know many people are effected by viral infection when they download an
executable file or program. Rather than, virus programs we have malicious
programs that can gather private information, such as credit card number, bank

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 6


A Secure and Performant Data Repository on Public Clouds

account balances & passwords by searching the contents of your computers local
file system.

PORTABLE:
As already we have discussed about compatibility of operating system, computers,
chips. In Internet the programs have to be dynamically downloaded to all the
various types of platforms like windows for wamp ,linux for lamp and support all
platforms using xampp.
Database Management System (DBMS):

A Database is an integrated collection of user related data stored with minimum


redundancy, serves many users/applications quickly and efficiently .A database
system is basically a computerized record keeping system, i.e. it is a computerized
system whose overall purpose is to maintain information and make that
information available on demand.
.Database Management System is divided into 4 main components
 Database.
 Hardware.
 Software.
 User.

Database: It consists of collection of persistent data that is used by the application


system.

Hardware: The processor(s) and associated main memory that are used to support
the execution of database system software..

Software: The layer between the physical database and the users that handles all
requests from the user for access to the database.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 7


A Secure and Performant Data Repository on Public Clouds

User: There are three types of users

 Application Programmers
 End User
 Database Administrator (DBA)

TYPES OF DBMS
There are four major categories of DBMS data models.

 Hierarchical
 Network
 Inverted
 Relational

RELATIONAL DATABASE MANAGEMENT SYSTEMS

Database Management System has evolved from hierarchical to network to


relational models. Today, the most widely accepted database model is the
relational model. The relational database management system uses only its
relational capabilities to manage the information stored in the database. The
relational model has three different aspects.

 Structures.
 Operation.
 Integrity rules.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 8


A Secure and Performant Data Repository on Public Clouds

Structures:

They are well-defined objects that store the data of a database structure and the
data contained within them can be manipulated by operations.

Operations:

They are clearly defined actions that allow users to manipulate the data and
structures of a database. The operations on a database must adhere to a predefined
set of integrity rules.

ARCHITECTURE:

Client-Server Architecture Figure shows a typical PHP/MySQL client-server


architecture along with the development platform used to build and test it.

Two processes (or tasks) are of concern on the server: the database (MySQL, for
us) and the web server (usually Apache or Microsoft IIS). The PHP processor runs

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 9


A Secure and Performant Data Repository on Public Clouds

under control of the web server and executes the PHP files that compose the
application. The four labels in the server box correspond to the elements of the so-
called LAMP stack: operating system (Linux), web server (Apache), database
(MySQL), and language (PHP). As I’ll explain, the first doesn’t have to be Linux
and the second doesn’t have to be Apache. Generally, the last two don’t have to be
MySQL and PHP, but they are in this book, since that’s our focus. There are
usually lots of applications running on the client, but only the browser that’s
connected to the web server running the PHP application is of concern to us. Since
you’re a developer, you also care about the development platform, which consists
of two essential applications, at least: an editor that can create and modify PHP
files and a transfer utility that can copy those files to the web server, typically an
FTP (File Transfer Protocol) or SFTP (Secure File Transfer Protocol) utility,
sometimes built into the editor. It’s convenient to reproduce the whole server
platform on the development system so the PHP files can be accessed directly by
the editor, and so you can run the application locally. Fig illustrates this process.
When the application is ready to deploy, an FTP utility copies the PHP files to the
remote server, as figure shows

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 10


A Secure and Performant Data Repository on Public Clouds

Client-Server Architecture
The server platform runs on an operating system, naturally, and on that runs the
web server and the database system,MySQL. For us, the web server is programmed
in PHP, and I’ll give my reasons why that’s almost always my choice, and that of
lots of other people, too.
The LAMP Stack “LAMP” is a clever term for the Linux-Apache-MySQL-PHP
stack, but it’s not strictly speaking a stack, because, while the web server certainly
runs under the operating system, and PHP runs on the web server, the database
runs directly on the operating system, independently of the web server. (Two other
popular languages also begin with the letter: PERL and Python, so sometimes the P
in LAMP refers to one of them.)
All of my examples will be for UNIX-like operating systems and Apache, and I’ll
make sure I’m clear about that when it matters. So, in essence, it’s the MP part of

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 11


A Secure and Performant Data Repository on Public Clouds

LAMP that we care about, with P standing for PHP. Some 99% of everything in
Server Operating System
According to w3techs.com, 65% of web sites run on some form of UNIX and the
other 35% run on Windows. There’s really nothing else out there. (They list Mac
OS separately, but it’s UNIX as far as PHP/MySQL development is concerned.)
There are four areas of Windows differences at the PHP level.
1. Path and file name differences.
2. Different line endings in text files.
3. API (application program interface) differences that affect a few PHP functions.
They’re
clearly noted in the PHP documentation.
4. Command lines executed from a PHP program or directly from the shell or
command
processor.
The chief path and file name differences are as follows:
Windows accepts forward slashes in paths in most PHP functions, but you might
get a backslash in a path supplied by a user interactively or when you read one
from a file. I usually convert backslashes to forward ones whenever I input a path
on Windows. Native However, both formats are common on both systems, so this
isn’t really a I’ve dealt with Mac OS and Windows differences a lot in my native
applications that run on those systems, but never in my PHP/MySQL applications,
because I’ve managed to avoid ever running on a Windows server. Your life may
not be so simple, however.
Web Server You’ll almost always use Apache as the web server on systems and
IIS on Window systems, although Apache also runs on Windows.
Apache configuration is hard to learn, but there are two saving graces for
PHP/MySQL programmers. You rarely have to do much with Apache directly,
MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 12
A Secure and Performant Data Repository on Public Clouds

aside from occasionally editing an.htaccess file to establish options for a


directory.Apache is so widely used that if you Google whatever issue you’re
wrestling with, you’ll usually Usability issues aside, Apache is efficient, reliable,
cheap, well-documented, and ubiquitous, so it’s my web server of choice, by a
wide margin. Your primary interface with Apache is with the file system that it
uses. Every web site has a document root on the server, and your PHP files need to
go under that root directory, or in a subdirectory of it.
In the past, MySQL supported such a limited form of SQL that it was annoying to
use for a database professional spoiled by a more complete system like Oracle or
PostgreSQL. But recent versions have changed that, and I now find that it has
everything I want except for check conditions. My reason for preferring MySQL
is simply that I find life easier if I use just one set of platform technologies, and
because MySQL is always there and works extremely well, it’s always my first
choice.
Sun Microsystems bought MySQL in 2008, and Oracle bought Sun about two
years later, so now, somewhat ironically, Oracle owns MySQL. Despite some
concern that Oracle might neglect MySQL development and/or support in order
not to cannibalize Oracle sales, it hasn’t done so, and MySQL remains just as
viable as ever. Nonetheless,
there’s some unease with that situation, so the MySQL original authors have taken
the open source MySQL code and produced a compatible system called MariaDB,
which aims to be binary compatible with it. As MySQL is still the version most
widely supported by hosting companies and cloud servers, that’s the one I use.
Do what you can to make sure you’re using at least Version 5.5 of MySQL, as
that’s the version I’m going to assume you have in this book.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 13


A Secure and Performant Data Repository on Public Clouds

Server Programming Language:


PHP is always there. I’ve never found a hosting company that didn’t offer it. Java
is sometimes an extra-cost option, if it’s available at all, and Python and Ruby are
often unavailable. PERL is as common as PHP, but it’s an even worse language.
It’s fast. It’s so widely used that there’s lots of optimization for it, especially when
used with Apache.
So, the answer to why PHP, since I can and have used almost every language that
ever existed, is that it’s pleasant enough to use, always available, extremely well
supported, and nearly always has a function to There are three other languages
you’ll be using, as web application developers always use at least four languages.
The three others are:
a. HTML (including CSS),
b. JavaScript, and
c. SQL, to talk to the database
HTML and JavaScript run in the browser; never on the server. SQL is passed to the
database from your PHP program, or sometimes used directly on the database, so
it’s a server language.
Design is the first step in moving from problem domain to the solution domain.
Design is essentially the bridge between requirements specification and the final
solution.

The goal of design process is to produce a model or representation of a system,


which can be used later to build that system. The produced model is called the
“Design of the System”. It is a plan for a solution for the system.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 14


A Secure and Performant Data Repository on Public Clouds

HTML:

HTML is a hypertext mark-up language which is in reality a backbone of any


website. Every website can’t be structured without the knowledge of html. If we
make our web page only with the help of html, than we can’t add many of the
effective features in a web page, for making a web page more effective we use
various platforms such as CSS. So here we are using this language to make our
web pages more effective as well as efficient. And to make our web pages dynamic
we are using Java script.

CSS :

CSS Stands for "Cascading Style Sheet." Cascading style sheets are used to format
the layout of Web pages. They can be used to define text styles, table sizes, and
other aspects of Web pages that previously could only be defined in a page's
HTML. The basic purpose of CSS is to separate the content of a web document
(written in any mark up language) from its presentation (that is written using
Cascading Style SheetsCSS gives the option of selecting various style schemes and
rules according to the requirements and it also allows the same HTML document to
be presented in more than one varying style.

JAVA SCRIPT

JavaScript is considered to be one of the most famous scripting languages of all


time. JavaScript, by definition, is a Scripting Language of the World Wide Web.
The main usage of JavaScript is to add various Web functionalities, Web form
validations, browser detections, creation of cookies and so on. JavaScript is one of

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 15


A Secure and Performant Data Repository on Public Clouds

the most popular scripting languages and that is why it is supported by almost all
web browsers available today like Firefox,

We used the browser Opera or Internet Explorer. JavaScript is considered to be one


of the most powerful scripting languages in use today. It is often used for the
development of client-side web development. JavaScript is used to make web
pages more interactive and dynamic. JavaScript is a light weight programming
language and it is embedded directly into the HTML code. JavaScript, as the name
suggests, was influenced by many languages, especially Java.

PHP

Precisely, PHP is a very powerful server-side scripting language for developing


dynamic web applications. Using PHP, one can build interactive and dynamic
websites with ease. PHP script can be embedded straight into the heart of html
code. PHP is compatible with various web servers like Apache and the
Microsoft’s IIS as well. All the PHP scripts are executed on the server and it
supports various databases like MySQL, Oracle, Solid, Generic ODBC etc;
however, it is mostly used with MySQL.

SQL

SQL stands for Structured Query Language. SQL lets us access and manipulate
databases. SQL is an ANSI (American National Standards Institute) standard. SQL
can execute queries against a database ,retrieve data from a database, insert records
in a database, update records in a database, delete records from a database, create
new databases , create new tables in a database , create stored procedures in a
database, create views in a database, set permissions on tables, procedures, and
views.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 16


A Secure and Performant Data Repository on Public Clouds

Functional Requirements:

1. Functional requirements are associated with specific functions, tasks or


behaviours the system must support. The functional requirements address
the quality characteristic of functionality while the other quality
characteristics are concerned with various kinds of non-functional
requirements. Because non-functional requirements tend to be stated in
terms of constraints on the results of tasks which are given as functional
requirements (e.g., constraints on the speed or efficiency of a given task), a
task-based functional requirements statement is a useful skeleton upon
which to construct a complete requirements statement.

MODULES:
1.Admin
2.User
3.Tpa
MODULE DESCRIPTION:
Admin
Admin control the user and tp.a It maintain the data about user and tpa.Its duty is
to upload files ,view files,and view users.
User:
User request the key for the encrypted data. And the user download the key and get
the required data.

TPA

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 17


A Secure and Performant Data Repository on Public Clouds

Tpa is used to support the admin. It contains the encrypted files and view the
users.

Non-Functional Requirements

Non-functional requirements are requirements that specify criteria that can be used
to judge the operation of a system, rather than specific behaviors. This should be
contrasted with functional requirements that specify specific behavior or functions.
In general, functional requirements define what a system is supposed to do whereas
non-functional requirements define how a system is supposed to be. Non-
functional requirements are often called qualities of a system. Other terms for non-
functional requirements are "constraints", "quality attributes", "quality goals" and
"quality of service requirements". Qualities, aka. Non-functional requirements, can
be divided into two main categories.

1. Execution qualities, such as security and usability, are observable at run


time.
2. Evolution qualities, such as testability, maintainability, extensibility and
scalability, are embodied in the static structure of the software system.

Scalability:

The network-deployment cost for scaling up these systems must be manageable


merely having the technology to provide a user service is not sufficient. The
service-provider involvement requires that different infrastructure services be
available. This information helps service providers to determine where to invest
next. The data-collection facility is that service want to integrate into their service
and system.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 18


A Secure and Performant Data Repository on Public Clouds

Interoperability:

It is important that the interface is simple and intuitive Instead of making products
and services ever more sophisticated, they must be made intuitive, simple, and
useful in solving problems.

Reliability:

In order to be more reliable JainSIP is used. It enhances the performance as well as


the reliability of the system and communicate with more number of people at a
time. It is imperative that the service reaches thousands of people, and that it is
absolutely reliable.

Portability:

In order to be more portable we use Application server Tomcat5.0 and even the
voice server is independent of the platform.

Extensibility:

The application should be widely extensible, where we can include many services
like fax can be added in to UMS server. Also many call routing mechanism can be
included.

Efficiency:

The system should function in an efficient manner with proper acknowledgements


and responses at high speed.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 19


A Secure and Performant Data Repository on Public Clouds

2.2System Requirements Specifications

2.2 System Requirements

Hardware specifications:-

Processor : Any Processor Speed 1.1 GHz (min)

RAM : 256 MB (min)

Hard Disk Capacity : 40 GB (min)

Monitor : Any Monitor

Keyboard : Standard Keyboard

Mouse : Two or Three Button Mouse

Software requirements:-

Operating System : Windows XP/7/8.

Scripting Language : PHP

Technology : PHP

Front End : HTML, CSS and JavaScript

Database : MYSQL

Web Server : Apache server

Tool : Notepad++.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 20


A Secure and Performant Data Repository on Public Clouds

SYSTEM STUDY

FEASIBILITY STUDY:

The feasibility of the project is analyzed in this phase and business proposal is
put forth with a very general plan for the project and some cost estimates.
During system analysis the feasibility study of the proposed system is to be
carried out. This is to ensure that the proposed system is not a burden to the
company.
Three key considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY
 TECHNICAL FEASIBILITY
 SOCIAL FEASIBILITY

ECONOMICAL FEASIBILITY

This study is carried out to check the economic impact that the system will have on
the organization. The amount of fund that the company can pour into the research
and development of the system is limited. The expenditures must be justified.

TECHNICAL FEASIBILITY

This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand
on the available technical resources. This will lead to high demands on the
available technical resources.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 21


A Secure and Performant Data Repository on Public Clouds

SOCIAL FEASIBILITY

The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The user
must not feel threatened by the system, instead must accept it as a necessity
confidence must be raised so that he is also able to make some constructive
criticism, which is welcomed, as he is the final user of the system.

System design

DATA FLOW DIAGRAMS

A data flow diagram is graphical tool used to describe and analyze movement of
data through a system. These are the central tool and the basis from which the
other components are developed. The transformation of data from input to output,
through processed, may be described logically and independently of physical
components associated with the system. These is known as the logical data flow
diagrams. The physical data flow diagrams show the actual implements and
movement of data between people, departments and workstations. Each component
in a DFD is labeled with a descriptive name. Process is further identified with a
number that will be used for identification purpose. Each process in lower level
diagrams can be broken down into a more detailed DFD in the next level. The top-
level diagram is often called a “context diagram”.

Context Diagram:

It contains a single process, but it plays a very important role in studying the
current system. The context diagram defines the system that will be studied in the
sense that it determines the boundaries. Anything that is not inside the process
identified in the context diagram will not be part of the system study. It represents
MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 22
A Secure and Performant Data Repository on Public Clouds

the entire software element as a single bubble with input and output data indicated
by incoming and outgoing arrows respectively.
A DFD is also known as a “bubble chart” has the purpose of clarifying system
requirements and identifying major transformations that will become programs in
system design. So it is the starting point of the design to the lowest level of detail.
A DFD consists of a series of bubbles joined by data flows in the system.

DFD SYMBOLS:

In the DFD, there are four symbols

 A square defines a source(originator) or destination of system data


 An arrow identifies data flow. It is the pipeline through which the
information flows. Data move in a specific direction from an origin to a
destination.
 A circle or a bubble represents a process that transforms incoming data flow
into outgoing data flows.
 An open rectangle is a data store, data at rest or a temporary repository of
data

Symbols Elementary references

Process that transforms data flow

Data Flow

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 23


A Secure and Performant Data Repository on Public Clouds

Source or Destination of data

Data Store

CONSTRUCTING A DFD:

Several rules of thumb are used in drawing DFD’S:

 Process should be named and numbered for an easy interface. Each name
should be representative of the process.

 The direction of flow is from top to bottom and from left to right. Data
traditionally flow from source to the destination although they may flow back to
the source. One way to indicate this is to draw long flow line back to a source. An
alternative way is to repeat the source symbol as a destination. Since it is used
more than once in the DFD it is marked with a short diagonal.
 When a process is exploded into lower level details, they are numbered.
 The names of data stores and destinations are written in capital letters.
Process and dataflow names have the first letter of each work capitalized.

A DFD typically shows the minimum contents of data store. Each data store should
contain all the data elements that flow in and out.

Questionnaires should contain all the data elements that flow in and out. Missing
interfaces redundancies and like is then accounted for often through interviews.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 24


A Secure and Performant Data Repository on Public Clouds

Salient features of DFD’S:

1. The DFD shows flow of data, not of control loops and decision are
controlled considerations do not appear on a DFD.
2. The DFD does not indicate the time factor involved in any process whether
the data flow take place daily, weekly, monthly or yearly.
3. The sequence of events is not brought out on the DFD.

Types of data flow diagrams

DFD’s are of two types


a) Physical DFD.
b) Logical DFD.

Physical DFD:

Structured analysis states that the current system should be first understand
correctly. The physical DFD is the model of the current system and is used to
ensure that the current system has been clearly understood. Physical DFDs
shows actual devices, departments, and people etc., involved in the current
system.

Logical DFD:

Logical DFDs are the model of the proposed system. They clearly should show
the requirements on which the new system should be built. Later during design
activity this is taken as the basis for drawing the system’s structure charts.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 25


A Secure and Performant Data Repository on Public Clouds

RULES GOVERNING THE DFD’S:

PROCESS

 No process can have only outputs.


 No process can have only inputs. If an object has only inputs than it must be
a sink.
 A process has a verb phrase level.

DATA STORE

 Data cannot move directly from one data store to another data store, a
process must move data.

 Data cannot move directly from an outside source to a data store, a process,
which retrieves, must move data from the source and place the data into data store.

 A data store has a noun phrase level.

4.3 UNIFIED MODELING LANGUAGE:

UML stands for Unified Modelling Language are a third generation method for
specifying, visualizing and documenting the artefacts of an object oriented system
under development. Object modelling is the process by which the logical objects in
the real world (problem space) are represented (mapped) by the actual objects in
the program (logical or a mini world).

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 26


A Secure and Performant Data Repository on Public Clouds

The goal from this is to produce a model of the entities involved in the project
which later need to be built. The representations of the entities that are to be used
in the product being developed need to be designed.

The Unified Modeling Language encompasses a number of models.


 Use case diagrams
 Class diagrams
 Sequence diagrams

USECASE DIAGRAM

Use case diagram consists of use cases and actors and shows the interaction
between them. The key points are:

 The main purpose is to show the interaction between the use cases and
the actor.
 To represent the system requirement from user’s perspective.
 use cases are the functions that are to be performed in the module.
 An actor could be the end-user of the system or an external system.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 27


A Secure and Performant Data Repository on Public Clouds

Admin UseCaseDiagram

User UseCaseDiagram

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 28


A Secure and Performant Data Repository on Public Clouds

TPA UseCaseDiagram

CLASS DIAGRAM

Class Diagram consists of the classes and the objects and the interaction between
them. It mainly deals with the interaction between classes in the system, their
behavior and properties of the system. Apart from classes this also provides
inheritance relationships in the project. Class diagrams consist of basically two
parts: first one is the member variables and class variables and the second part
consists of the total number of methods available in the class.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 29


A Secure and Performant Data Repository on Public Clouds

Class Diagram

SEQUENCE DIAGRAM

The purpose of sequence diagram is to show the flow of functionality through a


use case. In other words, we call it a mapping process in terms of data transfers
from the actor through the corresponding objects.

The key points are:

 The main purpose is to represent the logical flow of data with respect to a
process

 A sequence diagram displays the objects and not the classes.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 30


A Secure and Performant Data Repository on Public Clouds

Sequence Diagram

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 31


A Secure and Performant Data Repository on Public Clouds

Collaboration:

A collaboration diagram describes interactions among objects in terms of


sequenced messages. Collaboration diagrams represent a combination of
information taken from class, sequence, and use case diagrams describing both the
static structure and dynamic behavior of a system.

Collabaration

Activity Diagram:

An Activity Diagram is a behavioral diagram that shows the flow or sequence of


activities through a system. The terms activity diagram and process flow are often
used interchangeably. However, the term activity diagram is typically more
restrictive as it refers to one of thirteen standard Unified Model Language (UML)
diagrams. Activity Diagrams are one of the most commonly used diagrams since
its notation and origin are based on the widely known flowchart notation.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 32


A Secure and Performant Data Repository on Public Clouds

Admin ActivityDiagram

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 33


A Secure and Performant Data Repository on Public Clouds

User ActivityDiagram

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 34


A Secure and Performant Data Repository on Public Clouds

TPA ActivityDiagram

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 35


A Secure and Performant Data Repository on Public Clouds

IMPLEMENTATION & RESULT

User Registration.php

<form method="post" name="f" action="">

<table align="center">

<tr>

<td><b>User Id:</b></td><td><input type="text" name="f1" value="<?php echo


rand($a,$b);?>" style="height:20px;" required></td>

</tr>

<tr>

<td><b>First Name:</b></td><td><input type="text" name="f2" onBlur="ff()"


style="height:20px;" required></td>

</tr>

<tr>

<td><b>Last Name:</td></b><td><input type="text" name="f3" onBlur="fl()"


style="height:20px;" required></td>

</tr>

<tr>

<td><b>User Name:</td></b><td><input type="text" name="f4"


onBlur='firstname()' style="height:20px;" required></td>

</tr>

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 36


A Secure and Performant Data Repository on Public Clouds

<tr>

<td><b>Password:</td></b><td><input type="password" name="f5"


onBlur="validate5()" style="height:20px;" required></td>

</tr>

<tr>

<td><b>Email-id:</td></b><td><input type="text" name="f6" onBlur="email()"


style="height:20px;" required></td>

</tr>

<tr>

<td><b>Mobile No:</td></b><td><input type="text" name="f7" onBlur="mob()"


style="height:20px;" required></td>

</tr>

<tr>

<td><b>Date of Birth:</td></b><td><input type="date" name="f8"


style="height:20px;" required></td>

</tr>

<tr>

<td><b>Age:</td></b><td><input type="text" name="f9" style="height:20px;"


required></td>

</tr>

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 37


A Secure and Performant Data Repository on Public Clouds

<tr>

<td><b>Gender:</td><td><input name="f10" type="radio" value="m">

<b>Male:</b><b><input name="f10" type="radio" value="f10">Female</b></td>

</tr>

<tr>

<td><b>Address:</td></b><td><textarea rows="4" cols="20"


name="f11"></textarea></td>

</tr>

<tr>

<tr>

<td>

<div align="center">

<td><input type="submit" name="sub" value="submit">

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" name="can"


value="Clear" />

</td>

</div></td>

</tr>
MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 38
A Secure and Performant Data Repository on Public Clouds

</table>

<?php

if(isset($_POST['sub']))

$a=$_POST['f1'];

$b=$_POST['f2'];

$c=$_POST['f3'];

$d=$_POST['f4'];

$e=$_POST['f5'];

$f=$_POST['f6'];

$g=$_POST['f7'];

$h=$_POST['f8'];

$i=$_POST['f9'];

$j=$_POST['f10'];

$k=$_POST['f11'];

mysql_connect("localhost","root","");

mysql_select_db("secure");

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 39


A Secure and Performant Data Repository on Public Clouds

$sql="INSERT INTO `userreg`(`uid`, `fname`, `lname`, `uname`, `pwd`,


`email`,`phone`,`dob`,`age`,`gender`,`add`) VALUES
('$a','$b','$c','$d','$e','$f','$g','$h','$i','$j','$k')";

$data=mysql_query($sql)or die(mysql_error());

if($data)

echo "<script>alert('Admin Registration


success');window.location='user.php';</script>";

//echo "<br>";

//echo "<center>";

//echo "<h1>data is inserted sucessfully</h1>";

else

echo "error";

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 40


A Secure and Performant Data Repository on Public Clouds

//header('location:login.php');

//echo "</center>";

?>

</form>

TESTING

Testing is a process, which reveals errors in the program. It is the major quality
measure employed during software development. During testing, the program is
executed with a set of conditions known as test cases and the output is evaluated to
determine whether the program is performing as expected.

Software testing is the process of testing the functionality and correctness of


software by running it. Process of executing a program with the intent of finding an
error.

 Defect detection

 Reliability estimation

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 41


A Secure and Performant Data Repository on Public Clouds

6.1 TESTING OBJECTIVES

 Testing is a process of executing a program with the intent of finding an


error.
 A good test case is one that has a high probability of finding an as yet
undiscovered.
 A successful test is one that uncovers an as yet undiscovered error.

6.2 TESTING PRINCIPLES:

 All tests should be traceable to customer requirements.


 Tests should be planned large before testing begins.
 Testing should begin “In the Small” and progress towards “In the Large”.

6.3 TYPES OF TESTING:

In order to make sure that the system does not have errors, the different levels of
testing strategies that are applied at differing phases of software development are:

Unit Testing:

Unit Testing is done on individual modules as they are completed and become
executable. It is confined only to the designer's requirements.

Each module can be tested using the following two strategies:

i) Black Box Testing:

In this strategy some test cases are generated as input conditions that fully
execute all functional requirements for the program. This testing has been uses
to find errors in the following categories:

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 42


A Secure and Performant Data Repository on Public Clouds

 Incorrect or missing functions


 Interface errors
 Errors in data structure or external database access
 Performance errors
 Initialization and termination errors.
 In this testing only the output is checked for correctness. The logical flow of
the data is not checked.

ii) White Box testing:

In this the test cases are generated on the logic of each module by drawing flow
graphs of that module and logical decisions are tested on all the cases.

It has been uses to generate the test cases in the following cases:

a) Guarantee that all independent paths have been executed.


b) Execute all logical decisions on their true and false sides.
c) Execute all loops at their boundaries and within their
operational bounds.
a) Execute internal data structures to ensure their valid

2. Integrating Testing:

Integration testing ensures that software and subsystems work together as a whole.
It tests the interface of all the modules to make sure that the modules behave
properly when integrated together.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 43


A Secure and Performant Data Repository on Public Clouds

3. System Testing:

Involves in-house testing of the entire system before delivery to the user. Its aim is
to satisfy the user the system meets all requirements of the client's specifications.

4. Acceptance Testing:

It is a pre-delivery testing in which entire system is tested at client's site on real


world data to find errors.

Validation:

The system has been tested and implemented successfully and thus ensured that all
the requirements as listed in the software requirements specification are completely
fulfilled. In case of erroneous input corresponding error messages are displayed.

COMPILING TEST

It was a good idea to do our stress testing early on, because it gave us time to fix
some of the unexpected deadlocks and stability problems that only occurred when
components were exposed to very high transaction volumes.

EXECUTION TEST

This program was successfully loaded and executed. Because of good


programming there were no execution errors.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 44


A Secure and Performant Data Repository on Public Clouds

OUTPUT TEST
The successful output screens are placed in the output screens section above.

Test case 1:check data Priority (H, L): High

Test Objective: To check whether the user inserted data is available or not.

Test Description:When user click on Report url in new window view uploaded data
in all clouds.

Requirements Verified: Yes

Test Environment: Apache Server.

Test Setup/Pre-Conditions: Server should be in on state

Actions Expected Results

The user user view data stored in clouds See all clouds have same data or not.
through this form

Pass: Yes Conditions pass: No Fail: No

Problems / Issues: NIL

Notes: Successfully Executed

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 45


A Secure and Performant Data Repository on Public Clouds

Test case 2:Login without UserID. Priority (H, L): High

Test Objective: To check whether the user/administrator can login without his userid

Test Description: when a user or administrator clicks the link, a login form will be
displayed. In this form if user wants to login he has to enter userid and password. If he
doesn’t enter and then tries to login, he will get a message indicating “user id is
mandatory”

Requirements Verified: Yes

Test Environment: Apache Server.

Test Setup/Pre-Conditions: Server should be in on state

Actions Expected Results

The user/administrator will login through A relevant message should appear.


the login form

Pass: Yes Conditions pass: No Fail: No

Problems / Issues: NIL

Notes: Successfully Executed

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 46


A Secure and Performant Data Repository on Public Clouds

Test case 3:change password Priority (H, L):High

Test Objective: To check whether the user can change his password when desired

Test Description: when a user or administrator clicks the link to change the password,
then a window appears to reset password. In that a new password is given and then
updated.

Requirements Verified: Yes

Test Environment: Apache Server.

Test Setup/Pre-Conditions: Server should be in on state

Actions Expected Results

The user/administrator will login through When user logins with new password then
the login form he should be allowed to login

Pass: Yes Conditions pass: No Fail: No

Problems / Issues: NIL

Notes: Successfully Executed

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 47


A Secure and Performant Data Repository on Public Clouds

RESULTS:

Home page

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 48


A Secure and Performant Data Repository on Public Clouds

Admin login page:

Admin home page:

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 49


A Secure and Performant Data Repository on Public Clouds

Admin Upload Files:

Admin View Users page:

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 50


A Secure and Performant Data Repository on Public Clouds

Admin View Files page:

User Home Page:

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 51


A Secure and Performant Data Repository on Public Clouds

Requesting Key Page:

Download Page:

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 52


A Secure and Performant Data Repository on Public Clouds

TPA Login Page:

Encrypted Files Page:

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 53


A Secure and Performant Data Repository on Public Clouds

TPA View Users Page:

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 54


A Secure and Performant Data Repository on Public Clouds

CONCLUSION

We have described the design and implementation of Cryptonite, a secure,


performant data repository for Cloud platforms that offers sustainable key
management features. Our empirical analysis shows that the optimizations that we
propose do not have significant overhead and even perform better than the Azure
.PHP APIs for plaintext operations. It provides service compatibility with Azure’s
BLOB store and allows easy migration for Cloud data storage clients to
incorporate security

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 55


A Secure and Performant Data Repository on Public Clouds

FUTURE ENHANCEMENT:

Our empirical analysis shows that the optimizations that we


propose do not have significant overhead and even perform better than
the Azure PHP APIs for plaintext operations. It provides service
compatibility with Azure’s BLOB store and allows easy migration for
Cloud data storage clients to incorporate security.

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 56


A Secure and Performant Data Repository on Public Clouds

REFERENCES:

[1] Cloud Security Alliance, “Security Guidance for Critical Areas of Focus in
Cloud Computing V2.1,” Tech. Rep., 2009.

[2] W. Itani, A. Kayssi, and A. Chehab, “Privacy as a service: Privacy-aware data


storage and processing in cloud computing architectures,”DASC, 2009.

[3] Y. Simmhan, M. Giakkoupis, B. Cao, and V. K. Prasanna, “On using cloud


platforms in a software architecture for smart energy grids,” inCloudCom, 2010.

[4] Y. Simmhan, A. G. Kumbhare, B. Cao, and V. Prasanna, “An analysis of


security and privacy issues in smart grid software architectures on clouds,” inIEEE
CLOUD, 2011.

[5] A. G. Kumbhare, Y. Simmhan, and V. K. Prasanna, “Designing a secure


storage repository for sharing scientific datasets using public clouds,” inWorkshop
on Data Intensive Computing in the Clouds, 2011.

[7] M. Kallahalla, E. Riedel, R. Swaminathan, Q. Wang, and K. Fu, “Plutus:


Scalable secure file sharing on untrusted storage,” inUSENIX FAST, 2003.

[8] E.-J. Goh, H. Shacham, N. Modadugu, and D. Boneh, “SiRiUS: Securing


remote untrusted storage,” in Network and Distributed System Security
Conference (NDSS), 2003.

[9] M. Jensen, J. Schwenk, N. Gruschka, and L. Iacono, “On technical security


issues in cloud computing,” Cloud ’09

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 57


A Secure and Performant Data Repository on Public Clouds

MOTHER TERESA INSTITUTE SCIENCE AND TECHNOLOGY Page 58

S-ar putea să vă placă și