Secure Tech Cloud
Secure Tech Cloud
ABSTRACT
Benefited from cloud computing, users can achieve an effective and economical approach for data
sharing among group members in the cloud with the characters of low maintenance and little
management cost. Meanwhile, we must provide security guarantees for the sharing data files since
they are out-sourced. Unfortunately, because of the frequent change of the membership, sharing
data while providing privacy-preserving is still a challenging issue, especially for an untrusted
cloud due to the collusion attack. Moreover, for existing schemes, the security of key distribution
is based on the secure communication channel, however, to have such channel is a strong
assumption and is difficult for practice. In this paper, we propose a secure data sharing scheme for
dynamic members. Firstly, we propose a secure way for key distribution without any secure
communication channels, and the users can securely obtain their private keys from group manager.
Secondly, our scheme can achieve fine-grained access control, any user in the group can use the
source in the cloud and revoked users cannot access the cloud again after they are revoked.
Thirdly, we can protect the scheme from collusion attack, which means that revoked users cannot
get the original data file even if they conspire with the untrusted cloud. In our approach, by
leveraging polynomial function, we can achieve a secure user revocation scheme. Finally, our
scheme can achieve fine efficiency, which means previous users need not to update their private
keys for the situation either a new user joins in the group or a user is revoked from the group.
CHAPTER TITLE PAGE NO.
ACKNOWLEDGEMENT.........................................................................II
ABSTRACT……………………………………………………………..III
LIST OF FIGURES……………………………………………………...VI
LIST OF TABLES………………………………………………………VII
CHAPTER- I
1. INTRODUCTION...........................................................................................
......1
1.1 EXISTING SYSTEM………………………………………………..……….….1
1.2 PROPOSED SYSTEM……………………………………………………….….2
1.3 LIMITATIONS……………………………………………………………….…3
1.4 SCOPE…………………………………………………………………………..4
1.5 OUTLINE….........................................................................................................4
CHAPTER- II
2. LITERATURE
SURVEY..................................................................................... 5
2.1 BACKGROUND..........................................................................................5
2.2 PREVIOUS SYSTEM.................................................................................7
2.3 APPROACHES OF DEDUPLICATION…………………………………8
2.4 METHODOLOGIES……………………………………………………...11
CHAPTER- III
3. SYSTEM ANALYSIS
3.1 INTRODUCTION CUM EXISTING STATEMENT…………………………9
3.2 OVER ALL DESCRIPTION…………………………………………………..10
3.3 EXTERNAL INTERFACE REQUIREMENTS……………………………….12
3.4 SYSTEM FEATURES………………………………………………………….13
3.5 NON FUNCTIONAL REQUIREMENTS……………………………………..14
3.6 SYSTEM ARCHITECTURE…………………………………………………...16
CHAPTER- IV
4. DESIGN
4.1 IMPORTANCE OF DESIGN…………………………………………………17
4.2 UML DIAGRAMS……………………………………………………………19
4.2.1 USE CASE DIAGRAM…………………………………...………......20
4.2.2 CLASS DIAGRAM…………………………………………………...22
4.2.3 SEQUENCE DIAGRAM……………………………………………...23
4.2.4 ACTIVITY DIAGRAM ………………………………………………24
4.2.5 STATECHART DIAGRAM…………………………………………..25
4.3 DATA FLOW DIAGRAM…………………………………………………….26
4.4 DATA DICTIONARY………………………………………………………...28
CHAPTER- V
5. IMPLEMENTATION
5.1 MODULE DESCRIPTION………………………………………………30
5.1.1 CLOUD MODULE…………….………………………………...30
5.1.2 GROUP MANAGER MODULE………………………………...30
5.1.3 GROUP MEMBER MODULE….……………………………….31
5.1.4 FILE SECURITY MODULE………………..…………………..31
5.1.5 GROUP SIGNATURE MODULE…………..…………………..31
5.1.6 USER REVOCATION MODULE…………..…………………..31
CHAPTER- VI
6. TESTING
6.1 IMPORTANCE OF TESTING…………………………………………..39
6.2 TYPES OF TESTING……………………………………………………39
6.3 TEST CASES…………………………………………………………………..41
6.4 SCREEN SHOTS…………………………………………………………45
CHAPTER- VII
7. CONCLUSION AND FUTURE
SCOPE………………………………………59
CHAPTER- VIII
8. BIBLIOGRAPHY………………………………………………………………………60
List of Figures:
List of Tables:
S.NO NAME OF TABLE PAGE NO
6.3.1 HOME PAGE 42
VERIFICATION LINKS
6.3.2 ADMIN LOGIN PAGE 42
6.3.3 PRIVATE CLOUD 43
6.3.4 USER REGISTRATION 48
List of Screenshots:
S NO FIGURE PAGE NO
6.4.1 HOME PAGE 45
GROUP MANAGER LOGIN
6.4.2 46
PAGE
GROUP MEMBER LOGIN
6.4.3 47
PAGE
GROUP MEMBER
6.4.4 48
REGISTRATION PAGE
6.4.5 MANAGER HOME PAGE 49
MANAGER VIEW GROUP
6.4.6 50
PAGE
MANAGER VIEW LOG
6.4.7 51
DETAILS PAGE
MANAGER VIEW FILE
6.4.8 52
DETAILS PAGE
6.4.9 GROUP MEMBER LOGIN 53
6.4.10 SIGNATURE SENT TO MAIL 54
SIGNATURE
6.4.11 55
AUTHENTICATION
GROUP MEMBER HOME
6.4.12 56
PAGE
GROUP MEMBER FILE
6.4.13 57
UPLOAD PAGE
GROUP MEMBER FILE
6.4.14 58
DOWNLOAD PAGE
CHAPTER- I
1. INTRODUCTION
Benefited from cloud computing, users can achieve an effective and economical approach for data
sharing among group members in the cloud with the characters of low maintenance and little
management cost. Meanwhile, we must provide security guarantees for the sharing data files since
they are outsourced. Unfortunately, because of the frequent change of the membership, sharing data
while providing privacy-preserving is still a challenging issue, especially for an untrusted cloud due
to the collusion attack. Moreover, for existing schemes, the security of key distribution is based on
the secure communication channel, however, to have such channel is a strong assumption and is
difficult for practice. In this paper, we propose a secure data sharing scheme for dynamic members.
Firstly, we propose a secure way for key distribution without any secure communication channels,
and the users can securely obtain their private keys from group manager. Secondly, our scheme can
achieve fine-grained access control, any user in the group can use the source in the cloud and
revoked users cannot access the cloud again after they are revoked. Thirdly, we can protect the
scheme from collusion attack, which means that revoked users cannot get the original data file even
if they conspire with the untrusted cloud. In our approach, by leveraging polynomial function, we
can achieve a secure user revocation scheme. Finally, our scheme can achieve fine efficiency, which
means previous users need not to update their private keys for the situation either a new user joins in
the group or a user is revoked from the group.
▪ Kallahalla et al presented a cryptographic storage system that enables secure data sharing on
untrustworthy servers based on the techniques that dividing files into file groups and
encrypting each file group with a file-block key.
▪ Yu et al exploited and combined techniques of key policy attribute-based encryption, proxy
re-encryption and lazy re-encryption to achieve fine-grained data access control without
disclosing data contents.
1
DISADVANTAGES OF EXISTING SYSTEM:
● The file-block keys need to be updated and distributed for a user revocation; therefore,
the system had a heavy key distribution overhead.
● The complexities of user participation and revocation in these schemes are linearly
increasing with the number of data owners and the revoked users.
● The single-owner manner may hinder the implementation of applications, where any
member in the group can use the cloud service to store and share data files with others.
● In this paper, we propose a secure data sharing scheme, which can achieve secure key
distribution and data sharing for dynamic group.
● We provide a secure way for key distribution without any secure communication
channels. The users can securely obtain their private keys from group manager without
any Certificate Authorities due to the verification for the public key of the user.
● Our scheme can achieve fine-grained access control, with the help of the group user list,
any user in the group can use the source in the cloud and revoked users cannot access the
cloud again after they are revoked.
● We propose a secure data sharing scheme which can be protected from collusion attack.
The revoked users can not be able to get the original data files once they are revoked
even if they conspire with the untrusted cloud. Our scheme can achieve secure user
revocation with the help of polynomial function.
● Our scheme is able to support dynamic groups efficiently, when a new user joins in the
group or a user is revoked from the group, the private keys of the other users do not need
to be recomputed and updated.
● We provide security analysis to prove the security of our scheme.
2
● The computation cost is irrelevant to the number of revoked users in RBAC scheme. The
reason is that no matter how many users are revoked, the operations for members to
decrypt the data files almost remain the same.
● The cost is irrelevant to the number of the revoked users. The reason is that the
computation cost of the cloud for file upload in our scheme consists of two verifications
for signature, which is irrelevant to the number of the revoked users. The reason for the
small computation cost of the cloud in the phase of file upload in RBAC scheme is that
the verifications between communication entities are not concerned in this scheme.
● In our scheme, the users can securely obtain their private keys from group manager
Certificate Authorities and secure communication channels. Also, our scheme is able to
support dynamic groups efficiently, when a new user joins in the group or a user is
revoked from the group, the private keys of the other users do not need to be recomputed
and updated.
1.3 Limitations:
● The user is only allowed to perform the duplicate check for files marked with the
corresponding privileges.
● This project works only under the access of internet.
● To enhance the security of data and protect the data confidentiality.
1.4 Scope:
This will be developed using IDE NetBeans, written in Java and is a reusable framework for
simplifying the development of Java Swing desktop applications. The database used is MYSQL. We
provide a secure way for key distribution without any secure communication channels. The users can
3
securely obtain their private keys from group manager without any Certificate Authorities due to the
verification for the public key of the user.
1.5 Outline:
The Proposed system does deduplication techniques that is it eliminates the repeating copies of
data present in the files. Users must register and the details are securely stored into the database. All
the files being uploaded by the data user are kept on the cloud in the encrypted form and uploading
is done by using the respective token id. Thus, more security is provided to the files present on the
server.
CHAPTER- II
2. LITERATURE SURVEY
4
AUTHORS: B. Wang, B. Li, and H. Li,
With cloud data services, it is commonplace for data to be not only stored in the cloud, but also
shared across multiple users. Unfortunately, the integrity of cloud data is subject to skepticism due to
the existence of hardware/software failures and human errors. Several mechanisms have been
designed to allow both data owners and public verifiers to efficiently audit cloud data integrity
without retrieving the entire data from the cloud server. However, public auditing on the integrity of
shared data with these existing mechanisms will inevitably reveal confidential information-identity
privacy-to public verifiers. In this paper, we propose a novel privacy-preserving mechanism that
supports public auditing on shared data stored in the cloud. In particular, we exploit ring signatures
to compute verification metadata needed to audit the correctness of shared data. With our
mechanism, the identity of the signer on each block in shared data is kept private from public
verifiers, who are able to efficiently verify shared data integrity without retrieving the entire file. In
addition, our mechanism is able to perform multiple auditing tasks simultaneously instead of
verifying them one by one. Our experimental results demonstrate the effectiveness and efficiency of
our mechanism when auditing shared data integrity.
5
storage outsourcing security in cloud computing and describe both our technical approaches and
security & performance evaluations.
6
AUTHORS: B. Wang, M. Li, S.S. Chow, and H. Li,
The emergence of cloud computing brings users abundant opportunities to utilize the power of cloud
to perform computation on data contributed by multiple users. These cloud data should be encrypted
under multiple keys due to privacy concerns. However, existing secure computation techniques are
either limited to single key or still far from practical. In this paper, we design two efficient schemes
for secure outsourced computation over cloud data encrypted under multiple keys. Our schemes
employ two non-colluding cloud servers to jointly compute polynomial functions over multiple
users' encrypted cloud data without learning the inputs, intermediate or final results, and require only
minimal interactions between the two cloud servers but not the users. We demonstrate our schemes'
efficiency experimentally via applications in machine learning. Our schemes are also applicable to
privacy-preserving data aggregation such as in smart metering.
7
involved in fine-grained data access control to untrusted cloud servers without disclosing the
underlying data contents. We achieve this goal by exploiting and uniquely combining techniques of
attribute-based encryption (ABE), proxy re-encryption, and lazy re-encryption. Our proposed
scheme also has salient properties of user access privilege confidentiality and user secret key
accountability. Extensive analysis shows that our proposed scheme is highly efficient and provably
secure under existing security models.
CHAPTER- III
3. SYSTEM ANALYSIS
8
3.1 Introduction:
Benefited from cloud computing, users can achieve an effective and economical approach for
data sharing among group members in the cloud with the characters of low maintenance and little
management cost. Meanwhile, we must provide security guarantees for the sharing data files since
they are outsourced.
3.1.1 Purpose:
The purpose of this document is to provide the software requirement specification report for
a secure data sharing scheme for dynamic members and a secure way for key distribution without
any secure communication channels.
Conventions Meaning
⮚ DB Database
⮚ JS Java Script
⮚ JSP Java Server Pages
⮚ SQL Structured Query Language
⮚ CSS Cascading Style sheets
9
3.1.4 Reference:
Zhongma Zhu, Rui Jiang, “A Secure Anti-Collusion Data Sharing Scheme for Dynamic Groups in
the Cloud”, IEEE Transactions on Parallel and Distributed Systems, 2015.
Group Member
● These user utilize the service more frequently than the others.
● They have lesser privileges.
● Basic knowledge to use computer and internet is enough.
● They are the primary users.
10
3.2.4 Operating Environment:
Let us look into the software and hardware requirements of the software.
Software Requirements:
● Operating System : Windows 7 or above
● Background Software : Java 7
● Database : SQL
Hardware Requirements:
● Processor :Pentium Processor or above
● RAM : 1GB RAM
● Hard Disk: 80GB.
11
Browser
3.3.2 Hardware Interfaces
Not applicable.
3.3.3 Software Interfaces
● SQL
● Windows 7 or above
● Netbeans IDE
● Java 7
● Chrome
3.3.4 Communications Interfaces
The Hypertext transfer protocol is an application protocol distributed, collaborative, hypermedia
information systems. HTTP is the foundation of data communication for the World Wide Web. It is
a structured text that uses logical links between nodes containing text. It is a protocol to exchange of
transfer hypertext.
12
3.4.2 Group Manager Module
Functional Requirements
Login for group managers for accessing the cloud. Group account activation for group
members file uploading and downloading.
REQ-1: Username, email id and password for registration.
REQ-2: Username and password for Login.
The group membership is dynamically changed, due to the staff resignation and new employee
participation in the company. The group member has the ownership of changing the files in the
group.
13
Login for group members for accessing the cloud. Group signature verification for group
members file uploading and downloading.
REQ-1: Username, email id and password for registration.
REQ-2: Username and password for Login.
14
Availability – What percentage of time does the cloud vendor guarantee cloud services will be
available.
Elasticity (Scalability) – How easy is it to bring on line or take down compute resources (CPU,
memory, network) as workload increases or decreases.
15
fig 3.6.1 System Architecture
There are three entities defined in our system that is cloud, group manager and group manager as
shown here. First group manager is given a login and then he permits the group member module for
accessing the files for that to process from group manager a verification mail is sent to the registered
group member. Now group member will access the signature which is auto generated while registering
that particular signature need to be copied for the access and the same process continues for file
accessing too. And all these information are stored with the help of cloud as shown in the system
architecture the above process describe proceeds.
CHAPTER- IV
4. DESIGN
16
4.1 IMPORTANCE OF DESIGN:
● INPUT DESIGN:
The input design is the link between the information system and the user. It comprises the
developing specification and procedures for data preparation and those steps are necessary to put
transaction data in to a usable form for processing can be achieved by inspecting the computer to
read data from a written or printed document or it can occur by having people keying the data
directly into the system. The design of input focuses on controlling the amount of input required,
controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The input
is designed in such a way so that it provides security and ease of use with retaining the privacy. Input
Design considered the following things:
OBJECTIVES:
1. Input Design is the process of converting a user-oriented description of the input into a computer-
based system. This design is important to avoid errors in the data input process and show the correct
direction to the management for getting correct information from the computerized system.
2. It is achieved by creating user-friendly screens for the data entry to handle large volume of data.
The goal of designing input is to make data entry easier and to be free from errors. The data entry
screen is designed in such a way that all the data manipulates can be performed. It also provides
record viewing facilities.
3. When the data is entered it will check for its validity. Data can be entered with the help of screens.
Appropriate messages are provided as when needed so that the user will not be in maize of instant.
Thus the objective of input design is to create an input layout that is easy to follow
17
OUTPUT DESIGN:
A quality output is one, which meets the requirements of the end user and presents the information
clearly. In any system results of processing are communicated to the users and to other system
through outputs. In output design it is determined how the information is to be displaced for
immediate need and also the hard copy output. It is the most important and direct source information
to the user. Efficient and intelligent output design improves the system’s relationship to help user
decision-making.
1. Designing computer output should proceed in an organized, well thought out manner; the right
output must be developed while ensuring that each output element is designed so that people will
find the system can use easily and effectively. When analysis design computer output, they should
Identify the specific output that is needed to meet the requirements.
3. Create document, report, or other formats that contain information produced by the system.
The output form of an information system should accomplish one or more of the following
objectives.
Data flow diagram is a structure analysis tool that is used for graphical representation of
Data processes through any organization. The data flow approach emphasizes on the logic
underlying the system, by using combination of four symbols. It follows a top down approach. A full
description of a system actually consists of set of DFD’s, which comprises of various levels. An
18
initial overview model is exploded further in lower level diagrams that show additional feature of the
system. Further each process can be broken down into a more detailed DFD’s. This occurs
repeatedly until sufficient details are described.
GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they can develop and
exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
19
6. Support higher level development concepts such as collaborations, frameworks, patterns and
components.
7. Integrate best practices.
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases. 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.
20
4.1.2.1 Use Case diagram
21
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type
of static structure diagram that describes the structure of a system by showing the system's classes,
their attributes, operations (or methods), and the relationships among the classes. It explains which
class contains information.
22
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that
shows how processes operate with one another and in what order. It is a construct of a Message
Sequence Chart. Sequence diagrams are sometimes called event diagrams, event scenarios, and
timing diagrams.
23
Activity diagrams are graphical representations of workflows of stepwise activities and actions with
support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams
can be used to describe the business and operational step-by-step workflows of components in a
system. An activity diagram shows the overall flow of control.
24
A state diagram resembles a flowchart in which the initial state is represented by a large
black dot and subsequent states are portrayed as boxes with rounded corners. There may be one or
two horizontal lines through a box, dividing it into stacked sections. In that case, the upper section
contains the name of the state, the middle section (if any) contains the state variables and the lower
section contains the actions performed in that state.
25
DFD symbols
Square
Arrow
Circle or Bubble
It represents a process that transforms incoming data flow(s) to outgoing data flow(s).
Open Rectangle
26
CLOUD
error error
Login Login
Group Member
Group Signature error
Account Activate
Verification
Signature failed
success
Group details
File Upload
File Details
File Download
File Delete
File Edit and Save
Account Revoke
End
27
4.4 DATA DICTIONARY:
4.4.1 MYSQL:
The designers felt that their main goal was to define a SQL interface for Java. Although not the
lowest database interface level possible, it is at a low enough level for higher-level tools and APIs to
be created. Conversely, it is at a high enough level for application programmers to use it confidently.
Attaining this goal allows for future tool vendors to “generate” JDBC code and to hide many of
JDBC’s complexities from the end user.
● Keep it simple
This goal probably appears in all software design goal listings. JDBC is no exception. Sun
felt that the design of JDBC should be very simple, allowing for only one method of completing
a task per mechanism. Allowing duplicate functionality only serves to confuse the users of the
API.
28
Java Interpreter
Program
Compilers My Program
CHAPTER- V
29
5. IMPLEMENTATION
5.1 MODULE DESCRIPTION
The following the core modules essential for the project:
2. User registration
3. User revocation
Therefore, we assume that the group manager is fully trusted by the other parties. The Group
manager is the admin. The group manager has the logs of each and every process in the cloud. The
group manager is responsible for user registration and also user revocation too.
30
Group members are a set of registered users that will
Note that, the group membership is dynamically changed, due to the staff resignation and new
employee participation in the company. The group member has the ownership of changing the files
in the group. Whoever in the group can view the files which are uploaded in their group and also
modify it.
5.2 ALGORITHMS/PRINCIPLE:
31
must be known by only the entities authorized to apply, remove or verify the protection, and are
commonly known as secret keys. A secret key is often known by multiple entities that are said to
share or own the secret key, although it is not uncommon for a key to be generated, owned and used
by a single entity (e.g., for secure storage). A secret key shall be generated by:
● A Trusted Party that provides the key to the intended sharing entities in a secure manner. The
Trusted Party must be trusted by all entities that will share the key not to disclose the key to
unauthorized parties or otherwise misuse the key.
● A symmetric key kpi for each pi ∈ P will be selected and the set of keys {kpi }pi∈P will be
sent to the private cloud. An identification protocol II=( proof, verify) is also defined, where proof
and verify are the proof and verification algorithm respectively.
A user of RSA creates and then publishes a public key based on two large prime numbers, along
with an auxiliary value. The prime numbers must be kept secret. Anyone can use the public key to
encrypt a message, but with currently published methods, if the public key is large enough, only
someone with knowledge of the prime numbers can feasibly decode the message. Breaking RSA
encryption is known as the RSA problem; whether it is as hard as the factoring problem remains an
open question.
RSA is a relatively slow algorithm, and because of this it is less commonly used to directly encrypt
user data. More often, RSA passes encrypted shared keys for symmetric key cryptography which in
turn can perform bulk encryption-decryption operations at much higher speed.
RSA is a cryptosystem for public-key encryption, and is widely used for securing sensitive data,
particularly when being sent over an insecure network such as the Internet.
32
5.3 SAMPLE CODE:
<!DOCTYPE HTML>
<HTML LANG="EN">
<HEAD>
<TITLE>ANTI-COLLISION_DATA_SHARING</TITLE>
<META CHARSET="UTF-8">
<META NAME="DESCRIPTION" CONTENT="YOUR DESCRIPTION">
<META NAME="KEYWORDS" CONTENT="YOUR KEYWORDS">
33
<META NAME="AUTHOR" CONTENT="YOUR NAME">
<SCRIPT SRC="JS/JQUERY.JS"></SCRIPT>
<SCRIPT SRC="JS/JQUERY-MIGRATE-1.1.1.JS"></SCRIPT>
<SCRIPT SRC="JS/JQUERY.EASING.1.3.JS"></SCRIPT>
<SCRIPT SRC="JS/SUPERFISH.JS"></SCRIPT>
<SCRIPT SRC="JS/JQUERY.MOBILEMENU.JS"></SCRIPT>
<SCRIPT SRC="JS/JQUERY.COOKIE.JS"></SCRIPT>
<SCRIPT SRC="JS/JQUERY.UI.TOTOP.JS"></SCRIPT>
34
<!-- -->
<BODY>
<DIV STYLE="HEIGHT: 600PX;BACKGROUND-COLOR: WHITE">
<!-- HEADER -->
<HEADER>
<DIV CLASS="WRAP EXTRABG2">
<DIV CLASS="CONTAINER">
<H1 CLASS="BRAND"><A HREF="#" CLASS="LOGO">A SECURE ANTI-
COLLUSION DATA SHARING SCHEME FOR DYNAMIC GROUPS IN THE
CLOUD</A></H1>
</DIV>
</DIV>
<DIV CLASS="EXTRABG3">
<DIV CLASS="CONTAINER">
<!--MENU-->
<DIV CLASS="NAVBAR">
<DIV CLASS="NAVBAR-INNER">
<DIV CLASS="NAV-COLLAPSE NAV-COLLAPSE_ COLLAPSE"
STYLE="MARGIN-LEFT: 200PX">
<UL CLASS="SF-MENU">
<LI CLASS="ACTIVE"><A HREF="INDEX.HTML"><DIV
CLASS="BASE_TEXT">HOME</DIV><DIV CLASS="OVER"></DIV></A></LI>
<LI><A HREF="GROUPMANAGER.JSP"><DIV
CLASS="BASE_TEXT">GROUP MANAGER</DIV><DIV
CLASS="OVER"></DIV></A></LI>
<LI><A HREF="MEMBER_LOGIN.JSP"><DIV
CLASS="BASE_TEXT">GROUP MEMBERS</DIV><DIV
CLASS="OVER"></DIV></A></LI>
<LI><A HREF="REGISTER.JSP"><DIV
CLASS="BASE_TEXT">MEMBER REGISTER</DIV><DIV
CLASS="OVER"></DIV></A></LI>
35
</UL>
</DIV>
</DIV>
</DIV>
</DIV>
</DIV>
</HEADER>
<!-- CONTENT -->
<DIV STYLE="WIDTH: 100%; HEIGHT: 500PX;BACKGROUND-IMAGE:
URL('IMG/BANHM.JPG')">
<BR><BR><H2 STYLE="COLOR: WHITE;FONT-FAMILY: CURSIVE">ABSTRACT:
</H2>
<P STYLE="COLOR: WHITE;TEXT-ALIGN: JUSTIFY;PADDING: 20PX;FONT-
FAMILY: CURSIVE; FONT-SIZE: 15PX">BENEFITED FROM CLOUD COMPUTING,
USERS CAN ACHIEVE AN EFFECTIVE AND
ECONOMICAL APPROACH FOR DATA SHARING AMONG GROUP MEMBERS
IN THE CLOUD
WITH THE CHARACTERS OF LOW MAINTENANCE AND LITTLE
MANAGEMENT COST. MEANWHILE,
WE MUST PROVIDE SECURITY GUARANTEES FOR THE SHARING DATA
FILES SINCE THEY ARE
OUT-SOURCED. UNFORTUNATELY, BECAUSE OF THE FREQUENT CHANGE
OF THE MEMBERSHIP,
SHARING DATA WHILE PROVIDING PRIVACY-PRESERVING IS STILL A
CHALLENGING ISSUE,
ESPECIALLY FOR AN UNTRUSTED CLOUD DUE TO THE COLLUSION
ATTACK. MOREOVER, FOR
EXISTING SCHEMES, THE SECURITY OF KEY DISTRIBUTION IS BASED ON
THE SECURE
COMMUNICATION CHANNEL, HOWEVER, TO HAVE SUCH CHANNEL IS A
STRONG ASSUMPTION AND
36
IS DIFFICULT FOR PRACTICE. IN THIS PAPER, WE PROPOSE A SECURE DATA
SHARING SCHEME
FOR DYNAMIC MEMBERS. FIRSTLY, WE PROPOSE A SECURE WAY FOR KEY
DISTRIBUTION WITHOUT
ANY SECURE COMMUNICATION CHANNELS, AND THE USERS CAN
SECURELY OBTAIN THEIR PRIVATE
KEYS FROM GROUP MANAGER. SECONDLY, OUR SCHEME CAN ACHIEVE
FINE-GRAINED ACCESS CONTROL,
ANY USER IN THE GROUP CAN USE THE SOURCE IN THE CLOUD AND
REVOKED USERS CANNOT ACCESS
THE CLOUD AGAIN AFTER THEY ARE REVOKED. THIRDLY, WE CAN
PROTECT THE SCHEME FROM COLLUSION
ATTACK, WHICH MEANS THAT REVOKED USERS CANNOT GET THE
ORIGINAL DATA FILE EVEN IF THEY CONSPIRE
WITH THE UNTRUSTED CLOUD. IN OUR APPROACH, BY LEVERAGING
POLYNOMIAL FUNCTION, WE CAN ACHIEVE A
SECURE USER REVOCATION SCHEME. FINALLY, OUR SCHEME CAN
ACHIEVE FINE EFFICIENCY, WHICH MEANS PREVIOUS
USERS NEED NOT TO UPDATE THEIR PRIVATE KEYS FOR THE SITUATION
EITHER A NEW USER JOINS IN THE GROUP OR
A USER IS REVOKED FROM THE GROUP.</P>
</DIV>
</DIV>
37
CHAPTER- VI
6. TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality of
components, sub assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific testing
requirement.
38
6.2.1 Unit Testing:
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program input produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately to
the documented specifications and contains clearly defined inputs and expected results.
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic outcome
of screens or fields. Integration tests demonstrate that although the components were individually
satisfaction, as shown by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that arise from the
combination of components.
Functional tests provide a systematic demonstrations that functions tested are available as specified
by the business and technical requirements, system documentation, and user manuals.
39
Organization and preparation of functional tests is focused on requirements, key functions,
or special test cases. In addition, systematic coverage pertaining to identify
Business process flows; data fields, predefined processes, and successive processes must be
considered for testing. Before functional testing is complete, additional tests are identified and the
effective value of current tests is determined.
Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests, must
be written from a definitive source document, such as specification or requirements document, such
as specification or requirements document. It is a testing in which the software under test is treated,
as a black box .you cannot “see” into it. The test provides inputs and responds to outputs without
considering how the software works
Test Test Test case Test data Expected Actual Res Remarks
40
Case Descriptio Steps output output ult
ID # n
Test Case Test Test case Test data Expected Actual Resul Remarks
ID # Description Steps output output t
3. Click on
login
button.
41
Test Scenario for Private Cloud:
Test Case ID Test Test case Test data Expected Actual Result Remarks
# Description Steps output output
Test Case Test Test case Test data Expected Actual Resu Remarks
ID # Description Steps output output lt
42
button. Mail ID :
xxxxx
Phone
Number :
xxxxxxx
43
Fig 6.3.4: Test Scenario for User Registration
44
CHAPTER- VII
45
CHAPTER- VIII
8. BIBLIOGRAPHY
[1] M.Armbrust, A.Fox, R.Griffith, A.D.Joseph, R.Katz,A.Konwinski, G. Lee, D.Patterson,
A.Rabkin, I.Stoica, andM.Zaharia. “A View of Cloud Computing,”Comm. ACM, vol. 53,no.4,
pp.50-58, Apr.2010.
[3] M. Kallahalla, E. Riedel, R. Swaminathan, Q. Wang, and K.Fu,“Plutus: Scalable Secure File
Sharing on Untrusted Storage,” Proc.USENIX Conf. File and Storage Technologies, pp. 29-42,
2003.
[4] E.Goh, H. Shacham, N. Modadugu, and D. Boneh, “Sirius: Securing Remote Untrusted Storage,”
Proc. Network and DistributedSystems Security Symp. (NDSS), pp. 131-145, 2003.
[6] Shucheng Yu, Cong Wang, Kui Ren, and Weijing Lou, “Achieving Secure, Scalable, and Fine-
grained Data Access Control in Cloud Computing,” Proc. ACM Symp. Information, Computer and
Comm. Security, pp. 282-292, 2010.
46
[7] V. Goyal, O. Pandey, A. Sahai, and B. Waters, “Attribute-Based Encryption for Fine-Grained
Access Control of Encrypted Data,” Proc. ACM Conf. Computer and Comm. Security (CCS), pp.
89-98, 2006
[8] R. Lu, X. Lin, X. Liang, and X. Shen, “Secure Provenance: The Essential of Bread and Butter of
Data Forensics in Cloud Computing,” Proc. ACM Symp. Information, Computer and Comm.
Security, pp. 282-292, 2010.
[10] Xuefeng Liu, Yuqing Zhang, Boyang Wang, and Jingbo Yang, “Mona: Secure Multi-Owner
Data Sharing for Dynamic Groups in the Cloud,” IEEE Transactions on Parallel and Distributed
Systems, vol. 24, no. 6, pp. 1182-1191, June 2013.
[11] D.Boneh, X. Boyen, and E. Goh, “Hierarchical IdentityBasedEncryption with Constant Size
Ciphertext,” Proc. Ann. Int’l Conf.Theory and Applications of Cryptographic Techniques
(EUROCRYPT),pp. 440-456, 2005.
[13] Zhongma Zhu, Zemin Jiang, Rui Jiang, “The Attack on Mona: Secure Multi-Owner Data
Sharing for Dynamic Groups in the Cloud,”Proceedings of2013 International Conference on
Information Science and Cloud Computing (ISCC 2013 ), Guangzhou,Dec.7,2013,pp. 185-189.
[14] Lan Zhou, Vijay Varadharajan, and Michael Hitchens, “Achieving Secure Role-Based Access
Control on Encrypted Data in Cloud Storage,”IEEE Transactions on Information Forensics and
Security, vol. 8, no. 12, pp. 1947-1960, December 2013.
47
[15]Xukai Zou, Yuan-shunDai, and ElisaBertino, “A practical and flexible keymanagement
mechanism for trusted collaborative computing,”INFOCOM 2008, pp. 1211-1219.
[16] M. Nabeel, N. Shang, and E. Bertino, “Privacy preserving policybased content sharing in public
clouds,”IEEE Trans. on Know. andData Eng., vol. 25, no. 11, pp. 2602-2614, 2013.
[17] Dolev,D.,Yao A. C.,"On the security of public key protocols",IEEE trans. on Information
Theory,vol. IT-29, no. 2, pp.198–208, 1983
[19] B. den Boer,Diffie–Hellman is as strong as discrete log for certain primesin Advances in
Cryptology–CRYPTO88, Lecture Notes in Computer Science 403, Springer, p.530, 1988.
[20] D. Boneh, X. Boyen, H. shacham, “Short group signature,” Proc. Int’l Cryptology Conf.
Advances in Cryptology, pp.41-55, 2004.
48